changeset 4:edbb6c5028f5 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/nanoplot/ commit 6692949aa694102abb64c67d46196a822fcb61bf"
author iuc
date Sun, 19 Jan 2020 19:03:02 -0500
parents 645159bcee2d
children a3c4fe6f49ab
files nanoplot.xml test-data/HistogramReadlength.png test-data/NanoPlot-report.html test-data/bam-LogTransformed_HistogramReadlength.svg test-data/bam-report.html
diffstat 5 files changed, 426 insertions(+), 296 deletions(-) [+]
line wrap: on
line diff
--- a/nanoplot.xml	Fri Jun 21 19:13:55 2019 -0400
+++ b/nanoplot.xml	Sun Jan 19 19:03:02 2020 -0500
@@ -1,7 +1,7 @@
 <tool id="nanoplot" name="NanoPlot" version="@TOOL_VERSION@+galaxy1">
     <description>Plotting suite for Oxford Nanopore sequencing data and alignments</description>
     <macros>
-        <token name="@TOOL_VERSION@">1.25.0</token>
+        <token name="@TOOL_VERSION@">1.28.2</token>
     </macros>
     <requirements>
         <requirement type="package" version="@TOOL_VERSION@">nanoplot</requirement>
@@ -63,7 +63,6 @@
     $filter.percentqual
     $filter.alength
     $filter.barcoded
-    $customization.noN50
     $customization.N50
     -o '.'
     ]]></command>
@@ -386,12 +385,6 @@
             </param>
             <param
                 type="boolean"
-                name="noN50"
-                truevalue="--no-N50"
-                falsevalue=""
-                label="Hide the N50 mark in the read length histogram."/>
-            <param
-                type="boolean"
                 argument="--N50"
                 truevalue="--N50"
                 falsevalue=""
@@ -427,9 +420,8 @@
             </section>
             <section name="customization">
                 <param name="plots" value="hex,kde"/>
-                <param name="title" value="My Plot"/>
             </section>
-            <output name="output_html" file="NanoPlot-report.html" ftype="html"/>
+            <output name="output_html" file="NanoPlot-report.html" ftype="html" lines_diff="8" />
             <output name="nanostats_post_filtering" file="NanoStats_post_filtering.txt" ftype="txt"/>
             <output name="read_length" file="HistogramReadlength.png" ftype="png" compare="sim_size" delta="3000"/>
         </test>
@@ -448,9 +440,8 @@
             <section name="customization">
                 <param name="color" value="yellow"/>
                 <param name="format" value="svg"/>
-                <param name="noN50" value="True"/>
             </section>
-            <output name="output_html" file="bam-report.html" ftype="html">
+            <output name="output_html" file="bam-report.html" ftype="html" lines_diff="16">
                 <assert_contents>
                     <has_text text="html"/>
                     <has_text text="Aligned read length vs Percent identity plot using dots"/> <!-- bam report specific -->
Binary file test-data/HistogramReadlength.png has changed
--- a/test-data/NanoPlot-report.html	Fri Jun 21 19:13:55 2019 -0400
+++ b/test-data/NanoPlot-report.html	Sun Jan 19 19:03:02 2020 -0500
@@ -39,6 +39,7 @@
 <p style="margin-left:20px"><a href="#Histogram_of_read_lengths_after_log_transformation">Histogram of read lengths after log transformation</a></p>
 <p style="margin-left:20px"><a href="#Weighted_Histogram_of_read_lengths">Weighted Histogram of read lengths</a></p>
 <p style="margin-left:20px"><a href="#Weighted_Histogram_of_read_lengths_after_log_transformation">Weighted Histogram of read lengths after log transformation</a></p>
+<p style="margin-left:20px"><a href="#Dynamic_histogram_of_Read_length">Dynamic histogram of Read length</a></p>
 <p style="margin-left:20px"><a href="#Yield_by_length">Yield by length</a></p>
 <p style="margin-left:20px"><a href="#Read_lengths_vs_Average_read_quality_plot_using_hexagonal_bins">Read lengths vs Average read quality plot using hexagonal bins</a></p>
 <p style="margin-left:20px"><a href="#Read_lengths_vs_Average_read_quality_plot_using_a_kernel_density_estimation">Read lengths vs Average read quality plot using a kernel density estimation</a></p>
@@ -292,7 +293,7 @@
 <h2 id="plots">Plots</h2>
 
 <h3 id="Histogram_of_read_lengths">Histogram of read lengths</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkcAAAHKCAYAAAAJhe9sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeXxU9b3/8ffMhJBACIsEFBDLYiKBAEEkoCyCRbQJIouFWnBDlB0Rq2j5UURkUaooqxC1gOCCLFcpKIKCWoVaA4IC1rDLooEQkpAwWeb8/sBMz2SBmTCTSSav533kAXPOd77n8zlnrrx7zskZi2EYhgAAACBJsvq7AAAAgPKEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBLhpzZo1ioqK0p49e4pd/%2Bijj6pHjx4uy3r06KGJEyd6tJ2kpCTNnTtX6enppa61stmwYYPi4%2BPVunVrRUVFad%2B%2Bff4u6ZKioqI0d%2B7cS475%2BeefFRUVpTVr1pRRVZf2yy%2B/aO7cucXu24kTJyo2NtYPVQG%2BEeTvAoBANm/ePIWFhXn0np07d2revHnq27evwsPDfVRZ4EhNTdWTTz6pzp07629/%2B5uCg4P1u9/9zt9lBZxff/1V8%2BbNU8OGDdWiRQt/lwP4FOEI8KHo6Gh/l%2BCx3NxcWSwWBQVVjP88HDp0SLm5ubrrrrvUoUMHj99/4cIFVa1aVRaLxQfVAaiIuKwG%2BFDhy2oOh0MLFixQr1691Lp1a7Vv3169e/fW0qVLJUlz587VCy%2B8IEm67bbbFBUVpaioKO3YscP5/iVLluiOO%2B5Qq1at1KlTJz355JM6deqUy3YNw9CiRYvUvXt3xcTEqF%2B/fvrXv/6lIUOGaMiQIc5xO3bsUFRUlNatW6eZM2eqS5cuiomJ0ZEjR5SamqopU6boD3/4g2JjY9WpUyfdd999%2Bs9//uOyrYLLP4mJiVq8eLF69Oih1q1ba8iQIc7gMnv2bHXu3Fk33nijRo0apTNnzri1/7Zs2aKBAweqTZs2io2N1YMPPqidO3c610%2BcOFH33nuvJGn8%2BPGKiopy6a%2BwgkujX375pZ5%2B%2Bml17NhRbdq0UU5OjiTp8OHDmjBhgjp16qRWrVrpzjvv1IoVK1zmsNvtmjlzpvr06aMbb7xRHTp00MCBA7V58%2BYi28vMzNSkSZMUFxen2NhYDR06VIcOHXKr95K4U2PBcV2/fr1efvllde7cWe3atdMDDzyggwcPuox157OyY8cODRgwQJL09NNPOz%2BXhS8NHjlyRMOGDVNsbKy6deummTNnOvdtgZUrV%2Bquu%2B5SbGysYmNjdccdd%2Bill166on0CeFvF%2BJ%2BGQDnicDiUl5dXZLlhGJd9b2JioubNm6cRI0aoffv2ysvL08GDB5WRkSFJuueee3Tu3DktX75c8%2BbNU0REhCSpefPmkqQpU6bo3Xff1eDBg3Xrrbfq%2BPHjeuWVV/Tvf/9ba9asUZ06dSRJL7/8sl577TUNHDhQPXv21KlTpzRp0iTl5uaqSZMmRep66aWX1LZtWz377LOyWq266qqrlJqaKkkaPXq06tatq6ysLH3yyScaMmSI/vGPfyguLs5ljpUrVyoyMlKTJ09Wenq6Zs2apeHDh6tNmzYKCgrS9OnTdeLECc2aNUt//etftWjRokvuqw8//FBPPPGEOnfurL///e/KyclRYmKic/vt27fXyJEjFRMTo6lTp%2Brxxx9XXFycW5cxn3nmGd1666164YUXlJ2draCgICUnJ2vQoEG65ppr9NRTTykiIkJffvmlpk2bprNnz2r06NGSpJycHJ07d04PPfSQ6tevr9zcXH311VcaM2aMZsyYobvvvlvSxc/DyJEjtXPnTo0aNUoxMTFKSkrSsGHDLltfSdytscBLL72kdu3a6fnnn1dmZqZmz56tESNGaMOGDbLZbJLc%2B6y0bNlSM2bM0NNPP60RI0bo1ltvlSRdffXVzm3l5uZqxIgRGjBggB566CF98803WrBggcLCwpx1/fOf/9Szzz6rIUOG6KmnnpLVatWRI0eUnJxc6n0C%2BIQBwC2rV682IiMjL/nTvXt3l/d0797deOqpp5yvH330UaNPnz6X3E5iYqIRGRlpHDt2zGV5cnKyERkZaUyZMsVl%2BXfffWdERkYaL730kmEYhpGWlma0atXKeOyxx1zG7dy504iMjDQGDx7sXLZ9%2B3YjMjLS%2BPOf/3zZ/vPy8ozc3Fzj/vvvN0aNGuVcfuzYMSMyMtK46667jPz8fOfyf/zjH0ZkZKQxfPhwl3mef/55IzIy0sjIyChxW/n5%2BUbnzp2NhIQElzkzMzONTp06GQMHDizSw8aNGy/bQ8ExfPLJJ4use%2Bihh4yuXbsWqWvq1KlGTEyMkZaWVuycBfvlmWeeMe6%2B%2B27n8m3bthmRkZHG0qVLXcYvXLjQiIyMNF599dVL1lqwX1evXu1xjQX7ZNiwYS7jNmzYYERGRho7d%2B40DMOzz8ru3buL1FPgqaeeMiIjI40NGza4LB82bJjRq1cvlzrbt29/yb6B8oDLaoCHZs2apffff7/Iz4033njZ98bExGj//v2aMmWKvvjiC2VmZrq93YJLa3379nVZ3rp1azVr1kxff/21JGnXrl3KycnRnXfe6TKubdu2atiwYbFz33777cUuf/vtt9W3b1/FxMQoOjpaLVu21Ndff60DBw4UGdutWzdZrf/7T0qzZs0kyXmWofDyEydOlNSqDh06pF9//VV9%2BvRxmbN69eq6/fbb9d133yk7O7vE919O4X7tdru2b9%2Bunj17KiQkRHl5ec6frl27ym63a9euXc7xGzdu1KBBgxQbG%2BvcL%2B%2B//77Lfik4Xr1793bZVkJCQqlq9rRGSUV%2BezIqKkrS//Z9aT4rJbFYLMVuz3ycY2JilJ6erscff1ybN292np0EyhsuqwEeatasmWJiYoosr1GjRpF7fwp79NFHVa1aNX3wwQd65513ZLPZ1L59ez3xxBPFzmmWlpYmSapXr16RdfXq1XP%2BI1Qw7qqrrioyrm7dusXOXXD5zuzNN9/UzJkzNWjQII0bN061a9eW1WrVK6%2B8UuS%2BFUmqWbOmy%2BsqVapccrndbi%2B2Fkk6e/ZsiXXVq1dPDodD6enpCg0NLXGOSyk8b1pamvLy8rR8%2BXItX778kjVt2rRJjz32mO644w49/PDDqlu3rmw2m95%2B%2B22tXr3aZc6goCDVrl37ktt2lyc1FqhVq5bL6%2BDgYEkXb0IvmFPy7LNSktDQUFWtWrXI9szH%2Be6771Z%2Bfr5WrVqlsWPHyuFwKCYmRo899phuueUWj7YH%2BBLhCChDQUFBevDBB/Xggw8qPT1dX331lV5%2B%2BWU9/PDD2rp16yX/sS/4h%2B7XX391udejYFnBP8IF44q76fn06dPFnhEo7je1PvjgA3Xo0EHPPvusy/Lz589fpssrV9BLSkpKkXW//vqrrFbrFT3moHC/4eHhstls6tOnj/MG78IaNWok6eJ%2BadSokebMmeMyT8FN9QVq1aqlvLw8nT171iUgFdeTOzyp0V2l%2Baxcqf79%2B6t///7KysrSN998o7lz5%2BrRRx/Vxx9/7JPtAaXBZTXAT8LDw3XHHXfo3nvvVVpamo4fPy7pf//rvvCZlY4dO0q6%2BI%2Bz2e7du3XgwAHn%2BjZt2ig4OFgbNmxwGbdr1y7nNtxhsVictRTYv39/kUs3vtCkSRPVr19f69evd7nRPSsrS5s2bVLbtm1LfdaoOKGhoYqLi9PevXsVFRWlmJiYIj8FAcdisahKlSouwSglJUVbtmxxmbPghvUPP/zQZfn69et9XqO7PPmsFD7rdKWqVaumbt26afjw4crNzeWmbJQrnDkCytDw4cN1/fXXq1WrVqpTp46OHz%2BupUuXqmHDhrruuuskSZGRkZIunono27evgoKC1KRJEzVt2lQDBw7UW2%2B9JavVqq5duzp/W%2B2aa67RAw88IOni2YAHH3xQr732msLDw52/gTR//nxFRES4/TyfW2%2B9VQsWLNCrr76qm266SYcOHdKCBQvUqFEj5efn%2B2T/FLBarfrLX/6iJ554Qo8%2B%2BqgGDhyonJwcvf7660pPT9eECRO8vs2//vWvuvfee/XnP/9Zf/rTn9SwYUOdP39eR48e1aeffqply5ZJurhfNm3apClTpqhXr146deqUFixYoHr16unw4cPO%2BTp37qybbrpJL774orKzs9WqVSslJSXp//7v/3xeo7s8%2Baw0btxYISEh%2BvDDD9WsWTNVq1ZN9erVU/369d3e3qRJkxQSEqJ27dopIiJCKSkpWrx4sWrUqHHZy8pAWSIcAWUoLi5OH3/8sVatWqXMzExFRETo5ptv1siRI5334sTFxenRRx/V2rVrtWrVKjkcDi1btkxxcXGaMmWKrr32Wr3//vtauXKlwsLC1KVLF02YMMHlrMH48eMVGhqqd955R2vWrFHTpk01ZcoUvfzyy25fjho%2BfLiys7P1/vvvKzExUc2bN9eUKVO0efNm/fvf//bJ/jHr3bu3QkNDtXjxYo0fP142m01t2rTRsmXL1K5dO69vr3nz5lqzZo0WLFigOXPmKDU1VTVq1NB1112nbt26Ocf1799fZ86c0TvvvKPVq1fr2muv1SOPPKJTp05p3rx5znFWq1ULFy7UjBkzlJiYqNzcXLVr106LFy8ucgO0t2v0hLufldDQUE2fPl3z5s3T0KFDlZubq9GjR2vMmDFub6t9%2B/Zas2aNNm7cqHPnzql27dq68cYbNWvWLOdjKIDywGIYbjycBUCFd%2BzYMd15550aPXq0hg8f7u9yUI7xWUFlx5kjIADt379f69evV2xsrMLCwnTo0CElJiYqLCzM%2BaRjQOKzAhSHcAQEoNDQUH3//fd6//33lZGRobCwMMXFxemxxx7z%2BFe0Edj4rABFcVkNAADAhF/lBwAAMCEcAQAAmBCOAAAATAhHAAAAJpX6t9UMw5DD4Zv70a1Wi8/mLi/oMXBUhj7pMXBUhj7p8dLvc/dJ/6VVqcORw2EoNdX7X6IZFGRV7drVlZ6epbw8h9fnLw/oMXBUhj7pMXBUhj7p8dLq1Kkum8234YjLagAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI586Iw9U6n2TH%2BXAQAAPEA4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmPg9HG3cuFEjR45Ut27d1LZtW/Xu3VsrV66Uw%2BFwGbdt2zbdfffdiomJUc%2BePbVixQo/VQwAAAJZkL8LePPNN9WgQQM9%2BeSTuuqqq7Rjxw49//zzOnbsmJ566ilJ0s6dOzVy5Ej16dNHEydOVFJSkqZNm6bg4GDdc889fu4AAAAEEr%2BHo0WLFqlOnTrO1x07dlRWVpZWrFih8ePHKzg4WPPnz1d0dLSmT5/uHHPy5Em98sor6t%2B/v6xWv58AAwAAAcLvqcIcjAq0aNFCdrtdaWlpysnJ0fbt2xUfH%2B8ypnfv3kpJSdHevXvLqlQAAFAJ%2BP3MUXG%2B/fZb1apVS1dddZUOHTqk3NxcNW3a1GVM8%2BbNJUkHDhxQq1atSr2toCDv50Ob7eKcNqtVCvLNNvzN2aMt8HorUBl6lCpHn/QYOCpDn/Tof%2BUuHO3Zs0dr1qzRqFGjZLPZdO7cOUlSeHi4y7iC1wXrS8Nqtah27eqlL/YywmqESJJqh/puG/4WHh7q7xJ8rjL0KFWOPukxcFSGPunRf8pVOEpJSdHYsWMVExOjYcOGuayzWCzFvqek5e5wOAylp2eV%2Bv0lsdmsCg8PVWbGBeU7HAq6UD6T8ZUo6DE9PVv5%2BY7Lv6ECqgw9SpWjT3oMHJWhT3q8tPDwUJ%2BfcSo34SgjI0PDhg1TSEiIFi5cqCpVqkiSatasKanoGaL09HRJRc8oeSovz3cfvHyHQ/l5DuXZAvPDLUn5%2BQ6f7sPyoDL0KFWOPukxcFSGPunRf8rFKQ273a4RI0bo9OnTSkxMVO3atZ3rGjdurCpVqujgwYMu70lOTpYkNWvWrExrBQAAgc3v4SgvL0/jxo3T/v37lZiYqIYNG7qsDw4OVseOHbVx40aX5evXr1dERISio6PLslwAABDg/H5ZberUqfrss8/0l7/8RRcuXNCuXbuc65o3b66wsDCNGjVKgwcP1qRJk9S7d28lJSVp1apVmjp1Ks84AgAAXuX3cPTll19Kkl588cUi65YtW6a4uDjFxsZqwYIFeumll7Ru3TpdffXVmjRpEk/HBgAAXuf3cPTpp5%2B6Na5bt27q1q2bj6sBAACVHdekAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI7KQKo9U6n2TH%2BXAQAA3EA4AgAAMCEcAQAAmHglHJ08eVKff/65zp49643pAAAA/CbI0ze8/PLLys7O1jPPPCNJ%2BuqrrzR8%2BHDl5uYqPDxcb731lq6//nqvFwoAAFAWPD5ztGnTJjVv3tz5es6cOYqKitK8efPUoEEDLVy40KsFAgAAlCWPzxz98ssvaty4sSTp7Nmz2rNnjxYvXqwuXbrIbrdr1qxZXi8SAACgrHh85sgwDBmGIUlKSkqSzWbTTTfdJEmqV68e9x0BAIAKzeNw1LhxY3322WeSpA0bNigmJkYhISGSpF9//VXh4eHerRAAAKAMeRyOBg4cqGXLlikuLk4bNmzQH//4R%2Be6pKQkl/uRAAAAKhqP7zm69957VbNmTe3cuVMxMTHq06ePc53dblffvn29WiAAAEBZ8jgcSVJ8fLzi4%2BOLLH/uuec8nuvIkSN6/fXX9d133%2Bmnn35S06ZNtX79epcxEydO1Nq1a4u8d8mSJeratavH2wQAAChJqcKRN/3000/atm2b2rRpI4fD4bzZu7Brr71Ws2fPdlnWrFmzsigRAABUIm6Fox49eshisbg96ZYtW9we26NHD/3%2B97%2BXdPEM0ffff1/suJCQELVt29bteQEAAErDrXDUoUMHl3C0fft2paSkKDY2VhEREUpJSdHOnTtVr149xcXFeVSA1crXuwEAgPLDrXA0c%2BZM59/XrVunpKQkbdq0SQ0aNHAuP378uB566CF16NDB%2B1VKOnr0qNq3b68LFy4oMjJSI0eOdJ5xuhJBQd4PZzbbxTltVqvLHvbFtvzF2aMtcHoqrDL0KFWOPukxcFSGPunR/zy%2B52jJkiUaM2aMSzCSpIYNG2rUqFFauHCh139jrUWLFoqJiVHz5s2VkZGht99%2BW6NGjdIrr7yiO%2B64o9TzWq0W1a5d3YuVXpSSnaGU7AyF1QhR6oVMSVKdkDDVDvX%2BtvwtPDzU3yX4XGXoUaocfdJj4KgMfdKj/3gcjo4ePaoaNWoUu65mzZo6fvz4FRdV2P333%2B/yukePHho0aJBeffXVKwpHDoeh9PSsKy2viMzcCwqrEaLMjAtKv3BBkmSzWxV0oXwm5NKw2awKDw9Venq28vMd/i7HJypDj1Ll6JMeA0dl6JMeLy08PNTnZ5w8DkcNGzbU%2B%2B%2B/r27duhVZ99577xU5o%2BQLVqtVt99%2Bu1588UVduHDB%2BYTu0sjL8/4HL9/hcP7p%2BG3%2BfKtDebbA%2B5Dn5zt8sg/Lk8rQo1Q5%2BqTHwFEZ%2BqRH//E4HD3yyCN65plnNGDAACUkJKhu3bo6ffq01q9frx9%2B%2BEHTpk3zRZ1FlPQr/wAAAFfC43DUr18/SdKcOXNcbtSOiIjQc889p/79%2B3uvuhI4HA59/PHHuv7666/orBEAAEBhpXoIZL9%2B/dS3b18dPHhQaWlpqlWrlpo2berRs5AKZGdna9u2bZIu/sZbZmamPvroI0kXHyGQnZ2tiRMnKiEhQY0bN9a5c%2Bf09ttv6/vvv9fcuXNLUz4AAECJSv2EbIvF4pUnVJ85c0bjxo1zWVbwetmyZYqKilJYWJjmz5%2Bv1NRUValSRa1atdKSJUvUpUuXK94%2BAACAWanD0X//%2B18dOHBAdru9yLq7777b7XkaNWqkH3/88ZJjFi5c6HF9AAAApeFxOMrOztaIESO0fft2WSwW543R5ktqnoQjAACA8sTjBwUsWLBAx48f11tvvSXDMDRv3jy9%2Beab6tmzp6677jqtXbvWF3UCAACUCY/D0ZYtWzRs2DDFxsZKkq655hp16tRJr776qlq2bKmVK1d6vUgAAICy4nE4On78uJo2bSqbzSaLxaLs7Gznut69e2vLli1eLRAAAKAseRyOatSooaysi1%2B5cdVVV%2BnIkSPOdXl5ec51AAAAFZHH4SgqKkqHDx%2BWJMXFxem1117Tf/7zH%2B3evVvz58/XDTfc4O0aAQAAyozHv63Wv39/59mixx57TPfee6%2BGDBkiSQoPD9fixYu9WyEAAEAZ8jgc/eEPf3D%2B/dprr9XHH3/s/LX%2B2NhY1apVy6sFAgAAlKVSPwSyQLVq1dSjRw9v1AIAAOB3Ht9zJEk5OTl655139Pjjj%2BvBBx903oO0efNmHTt2zJv1AQAAlCmPzxylpqbq/vvv108//aS6devqzJkzOn/%2BvKSLz0D68ssvNWXKFG/XCQAAUCY8PnP04osvKj09XatXr9bWrVudXx8iXfzttW%2B%2B%2BcarBQIAAJQlj8PR1q1bNXbsWLVs2dLl%2B9QkqX79%2Bjp16pTXigMAAChrHoejzMxMNWjQoNh1eXl5ys/Pv%2BKiAAAA/MXjcNSoUSPt2rWr2HW7d%2B9WkyZNrrgoAAAAf/E4HPXu3VtLlizR5s2bnfcbWSwW7d69W8uWLVOfPn28XiQAAEBZ8fi31YYNG6akpCSNHj1aNWvWlCQNHTpUaWlp6tKli%2B677z6vFwkAAFBWPA5HVapU0ZIlS7RhwwZt3bpVZ86cUe3atXXrrbcqPj5eVmupHp0EAABQLngUjux2u9atW6f27dsrPj5e8fHxvqoLAADALzw6zVO1alVNmzZNZ86c8VU9AAAAfuXxNbBrr71Wp0%2Bf9kUtAAAAfudxOLrvvvu0ePFiZWZm%2BqIeAAAAv/L4huzk5GSdPXtWPXr0UMeOHRUREVHkSdmTJk3yWoEAAABlyeNw9NZbbzn/vmnTpiLrLRYL4eg3DsPQudxs1QgK9XcpAADATR6Ho/379/uijoB0Ljdbyw9/rSG/66Q6Vasp1X7xUmSdqmF%2BrgwAAJSEhxL5mJVdDABAhcK/3AAAACaEIwAAABPCEQAAgAnhCAAAwMStcDRjxgydPHlSknTixAnl5ub6tCgAAAB/cSscLV26VCkpKZKk2267Tfv27fNpUQAAAP7iVjiqWbOm8/vUDMPwaUEAAAD%2B5NZDINu0aaO//vWvat26tSRp1qxZqlGjRrFjLRaLFi5c6L0KAQAAypBb4ehvf/ubpk%2BfruTkZFksFh05ckTBwcHFji38PWsAAAAViVvhqGHDhpo/f74k6YYbbtCCBQucZ5EAAAACice/yr9s2TI1a9bMF7UAAAD4ncdfPNuhQwdJ0pEjR7R9%2B3alpaWpdu3aiouL03XXXef1AgEAAMqSx%2BHIMAw999xzeuedd%2BRwOJzLrVar7r33Xk2aNMmrBQIAAJQlj8PRP/7xD61cuVJ/%2BtOf1LdvX9WvX1%2B//PKL1q1bp5UrV6pRo0Z64IEHfFBqxWQYhjJyL8hhSFbuVQcAoNzzOBytWrVKgwcPdjlDVL9%2BfbVu3VpWq1Xvvfce4cjEIUNrf05So2q1VSu4mr/LAQAAl%2BHxDdnHjh1T9%2B7di13XvXt3HTt27IqLCjQ83gAAgIrD43BUo0YNnThxoth1J06cUFhY2BUXBQAA4C8eh6Obb75Zc%2BbM0ffff%2B%2ByfN%2B%2BfXr11VfVuXNnrxUHAABQ1jy%2B52jChAkaOHCg7rnnHjVv3lwRERFKSUlRcnKy6tWrpwkTJviiTgAAgDLh8Zmja665RuvWrdPDDz%2Bs0NBQ/fzzzwoNDdUjjzyitWvX6uqrr/ZFnQAAAGXC4zNHklSnTh3OEAEAgIDk8ZkjAACAQEY4AgAAMCEcAQAAmBCOAAAATDwORzk5OTIMwxe1AAAA%2BJ1H4chut6tNmzbavHmzr%2BoBAADwK4/CUdWqVVWrVi2Fhob6qh4AAAC/8viyWvfu3fXJJ5/4ohYAAAC/8/ghkPHx8frrX/%2Bqp59%2BWrfffrsiIiKKfOt8y5YtvVYgAABAWfI4HA0dOlSStHbtWq1bt85lnWEYslgs2rdvn3eqAwAAKGMeh6MZM2b4og4AAIByweNw1LdvX1/UAQAAUC5c0UMgDx48qG%2B//VZZWVneqgcAAMCvShWO1q1bp65duyo%2BPl6DBw/WoUOHJEnjxo3Te%2B%2B959UCAQAAypLH4Wjjxo2aOHGioqOj9f/%2B3/9zeVp2y5YttXHjRq8WCAAAUJY8DkeLFy9Wv379tGjRIg0cONBlXdOmTZWcnOy14gAAAMqax%2BHowIEDio%2BPL3ZdrVq1lJaWdsVFAQAA%2BIvH4Sg0NFQZGRnFrvvll19Us2bNKy4KAADAXzwORwi2JkYAACAASURBVLGxsVqxYoXLvUYF1qxZow4dOnilMAAAAH/wOByNGjVKu3bt0oABA7R8%2BXJZLBZt2rRJw4cP13/%2B8x8NHz7cF3UCAACUCY/DUUxMjJYsWaKsrCzNnDlThmHotdde06FDh7R48WJFRkZ6NN%2BRI0c0efJk9enTR9HR0UpISCh23LZt23T33XcrJiZGPXv21IoVKzwtHQAA4LI8fkK2JHXs2FEbN27U0aNHdfr0adWuXVtNmjQpVQE//fSTtm3bpjZt2sjhcBR7uW7nzp0aOXKk%2BvTpo4kTJyopKUnTpk1TcHCw7rnnnlJtFwAAoDilCkcFGjdurMaNG19RAT169NDvf/97SdLEiRP1/fffFxkzf/58RUdHa/r06ZIuhrOTJ0/qlVdeUf/%2B/WW1XtGDvgEAAJxKlSp%2B/vlnTZ48Wb169VJcXJx69eqlyZMn69ixY54XcJlgk5OTo%2B3btxd5fEDv3r2VkpKivXv3erxNAACAknh85mjfvn267777lJ2drdjYWLVs2VIpKSlas2aNNmzYoOXLl6tFixZeK/Do0aPKzc1V06ZNXZY3b95c0sXnLrVq1arU8wcFef%2Bsk8VhUeqFTFkskiwXl1mDrLL9ti1fbLOs2WxWlz8DUWXoUaocfdJj4KgMfdKj/3kcjqZPn646derozTffVIMGDZzLjx8/roceekjTp0/X8uXLvVbguXPnJEnh4eEuywteF6wvDavVotq1q5e%2BuBL8ejZds5I%2B0qMtu8pqtcgii8JrhKhmSDVJUu1Q72/TX8LDQ/1dgs9Vhh6lytEnPQaOytAnPfqPx%2BFo9%2B7dev75512CkSQ1bNhQo0eP1qRJk7xWnJnFYvFouTscDkPp6Vmlfn9JzmfaZbVYlHU%2BRw6HIYsMpWdckM3%2B25mjC%2BUzKXvCZrMqPDxU6enZys93%2BLscn6gMPUqVo096DByVoU96vLTw8FCfn3HyOBzVqFFDNWrUKHZdeHi4wsLCrrgos4Inbhc%2BQ5Senu7c5pXIy/P%2BBy//t9%2B4yzcMyZBkkRx5DuVbL24rzxY4H/b8fIdP9mF5Uhl6lCpHn/QYOCpDn/ToPx5Hr4SEBK1atarYde%2B9916J37tWWo0bN1aVKlV08OBBl%2BUFX3DbrFkzr24PAABUbm6dOdq0aZPz7y1bttTHH3%2BsAQMGKCEhQXXr1tXp06e1fv16paam6o477vBqgcHBwc7nKj3wwAPO5evXr1dERISio6O9uj0AAFC5uRWOxo4dK4vFIsMwnH%2BePHmy2GcSPfnkk%2Brdu7fbBWRnZ2vbtm2SLt7UnZmZqY8%2B%2BkiS1KFDB9WpU0ejRo3S4MGDNWnSJPXu3VtJSUlatWqVpk6dyjOOAACAV7kVjpYtW%2BazAs6cOaNx48a5LCt4vWzZMsXFxSk2NlYLFizQSy%2B9pHXr1unqq6/WpEmTeDo2AADwOrfCUYcOHXxWQKNGjfTjjz9edly3bt3UrVs3n9UBAAAglfIJ2QAAAIGqVN%2BttnnzZn3wwQc6ceKE7Ha7yzqLxaIPPvjAK8UBAACUNY/DUWJiombPnq06deqocePGCg0tn0%2B3BAAAKA2Pw9HKlSvVv39/TZ06VTabzRc1AQAA%2BI3H9xylpaUpISGBYAQAAAKSx%2BGoXbt2RZ5WDQAAECg8DkfPPPOMVqxYoS1btignJ8cXNQEAAPiNx/ccXXfddbr55ps1evRoWSwWhYSEuKy3WCz69ttvvVZgRWUYhjJyL7i8TsvJUniVaiW%2Bx2EYSss5r1rB1WW1WMqiTAAAUIjH4ejFF1/UW2%2B9pRYtWqhp06YKDg72RV0VnsMw9P6RbyRJFlmVnndBK47s0Mjmt6puSFix70nLOa9Z%2Bz7SUy3uUJ2qxY8BAAC%2B5XE4Wrt2rYYNG6YJEyb4op6AYrFYZRgO52t3zgZxxggAAP/y%2BJ6j/Px83Xzzzb6oBQAAwO88Dke33HKLvvvuO1/UAgAA4HceX1YbOXKkxo8fr9DQUN16662qWbNmkTG1atXySnEAAABlzeNw1KdPH0nSzJkzNXPmzGLH7Nu378qqAgAA8BOPw9GoUaNk4aZhAAAQoDwOR2PGjPFFHQAAAOWCxzdkAwAABDKPzxzNmzfvkustFotGjRpV6oIAAAD8iXAEAABg4nE42r9/f5FlaWlp2rx5s5YuXarFixd7pTAAAAB/8Mo9R7Vq1dKAAQPUu3dvTZs2zRtTAgAA%2BIVXb8iOiYnR119/7c0pAQAAypRXw9GPP/6oatWqeXNKAACAMuXxPUfr1q0rsiwnJ0c//vijVq9erbvuussrhQUSwzCUkXtBhsPQudxsOQxDVh6kCQBAueRxOJo4cWKxy6tWraq77rpLTz755BUXFWgMGVr7c5Iki5Yd%2BkpjqoSqaY16/i4LAAAUw%2BNwtGXLliLLqlatqrp163qloEBlsVhkGOKrVwAAKOc8DkcNGzb0RR0AAADlAl8fAgAAYOLWmaPevXu7PaHFYtEHH3xQ6oIAAAD8ya1wVKtWrcuOycrK0g8//MA9NQAAoEJzKxwtX768xHV5eXl69913tWDBAlksFiUkJHitOAAAgLLm8Q3ZZhs3btScOXN09OhR3XzzzXriiSfUokULb9UGAABQ5koVjnbs2KHZs2drz549io6O1htvvKFOnTp5uzYAAIAy51E4%2BvHHHzV79mx9%2BeWXatSokf7%2B978rPj7eV7UBAACUObfC0cmTJzVnzhytX79eNWvW1DPPPKNBgwapSpUqvq4PAACgTLkVjnr16qXc3Fx16dJFDz/8sKpXr67//ve/JY5v2bKl1woEAAAoS26Fo5ycHEnS559/ri%2B%2B%2BKLEcYZhyGKxaN%2B%2Bfd6pDgAAoIy5FY5mzJjh6zoAAADKBbfCUd%2B%2BfX1dBwAAQLnAd6uVMcMwdC43Ww7DcFnuMAyl5WRJRglvBAAAZYJwVMYMGVp26CsdzkxxLku1Z%2BpwZooWJG8tEpoAAEDZIhz5QUnfP2fle%2BkAAPA7whEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIBJhQhHa9asUVRUVJGf2bNn%2B7s0AAAQYIL8XYAnEhMTVaNGDefr%2BvXr%2B7EaAAAQiCpUOGrZsqXq1Knj7zIAAEAAqxCX1QAAAMpKhTpzlJCQoLNnz6pBgwb64x//qIcfflg2m%2B2K5gwK8n4%2BtFkskiSLJMO84rcFhmEoPf%2BCzuRmSpLO5WdLNossskgWyRZkveK6HIahsznnVTu4uqy/1eNNNpvV5c9AVBl6lCpHn/QYOCpDn/TofxUiHEVERGjMmDFq06aNLBaLPv30U82ZM0e//PKLJk%2BeXOp5rVaLateu7sVKL/pV6ZIki9Uii3HxwFstVhky5Pjt9bJDX8lq%2Bd%2BHYmTMrTIkWSxSzZrVVDv0Yl0p2RmSpIjQGvJESnaGXtj1kZ7v1E9XhYZdaUslCg8P9dnc5UVl6FGqHH3SY%2BCoDH3So/9UiHDUpUsXdenSxfm6c%2BfOqlq1qpYuXarhw4erXr16pZrX4TCUnp7lrTKdzmfaJUmGw5BhOC5uy3LxLFLBa4vFNS1nZNrlMByyGNK5c1kKunBx/Tn7xfoKXrvrnD1LhsN1Lm%2By2awKDw9Venq28vMdXp%2B/PKgMPUqVo096DByVoU96vLTw8FCfn3GqEOGoOHfeeafeeOMN7du3r9ThSJLy8rz/wcs3Ll5MMwqvKLzA9NqR75AhQxZZlJ/nUJ7tYl35v9VX8NrtGvIuzmeeyxfy8x0%2B2YflSWXoUaocfdJj4KgMfdKj/5TPi30AAAB%2BUmHD0YYNG2Sz2RQdHe3vUgAAQACpEJfVhg4dqo4dOyoyMlKStGXLFr333nu67777FBER4efqAABAIKkQ4ahJkyZ6//33derUKTkcDv3ud7/TM888oyFDhvi7NAAAEGAqRDiaNGmSv0sAAACVRIW95wgAAMAXCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJhUiIdABrJ8wyGLxf3xqfZMSVKdqmE%2BqggAgMqNM0cAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEclUMOw1CqPVMOwyiyPC0nS3mO4te7vresqgUAILAQjvwo33DIkKPIsr3nTmjG3g1KyzkvSUrLyVKqPVNpOee1IHmrjmenata%2Bj5zrU%2B2Zzp/DmSmavneDjmWdKfN%2BilNQFwAAFQXhqJyylnBorBaLy5%2BXGgMAADxHOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8JROWMYhs7n2WX89tphGErLyVKqPUsO4%2BL6jNwLMhyGztrP6/SFTDmMkuf63xjXQQ7DUKq96HJfKc32yrpGAAAkwlG5Y8jQRye/lyGH0nKydCwrVcsOf6WFyZ/pWNYZ5TkcWn3sW%2BUYeZqf/Jlm7dug9NysYudyyHCOScs571yeas/U4cwUzdr3kcvyS0m1ZyrVnlnqvg5npmjG3g1ub0%2BS0nLOe1QjAADeQDgqhyyWQq9lldW0sOCv1t/%2B71IuNcZaeEM%2Bdrlai31PGdcIAADhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEflgGEYysi9IBmuy9JyspSec8F1TDHvTcvJ0pkL55Vqz5LDKDpfwZg8h0Op9kzlOQydy82WDMlhGL8tc%2Bj0hQz9mp2h0xcy5TAM57qCv6flZMlhGC7bN7%2B/YKzr8oL3Fe3bYRg6feF/2yu8Li0ny2WfFPd%2Bc33m7fvSlWzLnfdebkxxfRfe/ygfyvJziSvn6%2BNVmT4PFb1XwlE5YMjQ2p%2BTXD5EDhladvgrrfn5WxlyyCHD%2BfcC%2BYZDOUaulh76SguSP9WC5E91Ivus8hwOl/kcMrQweauOnj%2Bt6Xs3aH/6CS0//LVyHfk6lpWqWfs%2B0tHzpzVz30ZN3/uhZuz9p9Jyzist57ym792gw5kpSs/N1ryfPtXhzBRJ0hl7plKyM3Q257xm7ftIe9KOacZvY1PtmTqcmaIZezfoeHaqFiZvVUZedpG%2B03LOa%2Ba%2BjZq17%2BL7Dmb8qlR7pnPdguStynXkKy0nS6n2TOc68/sL6kv7rY60nPPO9an2TOecxb2/MPO4gxm/6sxv488Uem9x27qcgnndee/lxpjXF/z96PnTHtcUiNw5zmW57dJ8VuA/vj5elenzUNF7JRyVExaLpegyWWVebCnhcFksF99vNa0vPF/BOutvy81jncssFllkdb42ryv8Hpe5i5nTZZuX%2BJhZC9Vd3LyXUlKtvnYl2/K0r8utNx8/lD8cl4rF18erMn0eKnKvhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAAJMKE44OHTqkoUOHqm3bturUqZOmTZumCxeKftcYAADAlQjydwHuSE9P1/33368GDRro1VdfVWpqqmbMmKG0tDTNnj3b3%2BUBAIAAUiHC0TvvvKP09HStW7dOderUkSTZbDY98cQTGjFihJo1a%2BbnCgEAQKCoEJfVPv/8c3Xq1MkZjCSpV69eCg4O1rZt2/xYGQAACDQWwzAMfxdxOZ06dVL//v31xBNPuCyPj49X27Zt9fzzz5dqXsMw5HB4v/08I1/ncrK9Pq87QoOClZ2XU%2By6sCohysy94DKmelBVZeXlqHqVqsrM/d89XOHBoZKk9JxshVUJkSRl5l5QWJUQVbFY5ZAhi8UiwzCUnnNB1YKCdT7PrrAqIbJaLHIYhjJzL6h6UFWdz7M7/wwPDpVNF7%2BpOV%2BG0n/bTwXbsFossslSZF3BtzsXvNf8/oL1GTkXVCM4xGV%2Bh2G4fDO0%2Bf2F5et/nwWHYchmsSjIalOe4%2BIa87yFt3U55rkv997LzW9eXzBf9SpVdT7X7lFNThaL85ip/P/n4JIK9nORfVAGPRa37dJ8VkotgI7jJfmwT18fL7fnD4BjWdBrreBQWS1Fz8NYLJLVapXD4fC4RavVIovFt///VCEuq6Wnpys8PLzI8vDwcJ07d67U81osFtls3t/BNllVL6iK1%2Bd1V8E/msWpViW4yJjqwVVd1pmFmPoobr0kRfw2pmCewuMLlhdeX6XQ/O6uK2lM4fGeHoGSxtus1iLjLlfbpeb2tK/LrS/4e0nHx122K3p3%2BXC5o%2BLLHovbdmk%2BK1cqEI6jO3zRp6%2BPl6fzV%2BRj6W6vVmv5vIBVPqtyk2EYPk%2BPAACgcqkQ4Sg8PFzp6elFlmdkZBR7RgkAAKC0KkQ4atasmQ4cOOCyLCcnR0ePHuU31QAAgFdViHDUtWtXbd%2B%2BXWfPnnUu%2B%2BSTT5STk6Nu3br5sTIAABBoKsRvq6WnpyshIUENGzbUyJEjdebMGc2cOVOdO3fmIZAAAMCrKkQ4ki5%2Bfci0adP07bffKiQkRAkJCXriiScUElLyb2YBAAB4qsKEIwAAgLJQIe45AgAAKCuEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcedGhQ4c0dOhQtW3bVp06ddK0adN04cIFv9a0Zs0aRUVFFfkp/PDMbdu26e6771ZMTIx69uypFStWFDvf66%2B/rh49eigmJkb9%2B/fXjh07iozJzMzU5MmTFRcXp9jYWA0fPlzHjx8vMq60%2B%2BvIkSOaPHmy%2BvTpo%2BjoaCUkJBQ7rjz3dLna3Olx4sSJxR7bzz//vEL0uHHjRo0cOVLdunVT27Zt1bt3b61cuVIOh8OjeSp6jxX9OErSF198ocGDB6tjx45q1aqVbrvtNs2YMUMZGRkez1Ve%2B3Snx0A4lmbnz59X165dFRUVpT179pRqrorQZ7EMeMW5c%2BeMLl26GAMHDjS2bdtmrF271ujQoYMxYcIEv9a1evVqIzIy0vj888%2BNnTt3On9OnDjhHJOUlGRER0cbTz/9tPH1118b8%2BfPN2644Qbjvffec5krMTHRaNmypZGYmGh89dVXxvjx442YmBhj//79LuMeeeQR45ZbbjE%2B/PBD47PPPjP69u1r9OzZ08jOznaOuZL99cknnxhdu3Y1xowZYyQkJBjx8fFFxpTnntypzZ0en3rqKeO2225zOa47d%2B400tPTK0SP99xzjzFu3Dhj/fr1xtdff23MmTPHiI6ONmbOnBkwx9GdHiv6cTQMw/jwww%2BN2bNnG5s2bTK2b99uLF%2B%2B3OjQoYPx4IMPBsyxdKfHQDiWZi%2B88IJx8803G5GRkcbu3bsD5li6g3DkJa%2B99prRpk0b48yZM85lH3zwgREZGWkkJyf7ra6CcGSuq7ChQ4caAwYMcFk2adIk45ZbbjHy8/MNwzAMu91u3HjjjcasWbOcY/Ly8ow777zTeOyxx5zLdu3aZURGRhpbt251Ljt%2B/LgRHR1trFy50rnsSvZXQU2GcfE/RsUFh/Lckzu1udNjScvNynOPxX0mp0%2BfbsTExBh2u93teSp6jxX9OJbk3XffNSIjI41Tp065PVdF67Nwj4F0LJOTk422bdsab7/9dpFwFIjHsjAuq3nJ559/rk6dOqlOnTrOZb169VJwcLC2bdvmx8ouLScnR9u3b1d8fLzL8t69eyslJUV79%2B6VJCUlJSkjI8Pl8o7NZtMf/vAHbdu2TcZvD1rftm2bwsPD1bVrV%2Be4Bg0aqF27di774Ur2l9V66Y9tee7J3dou16O7ynOP5jkKtGjRQna7XWlpaQFxHC/Xo7vKc48lqVWrliQpLy8vII7l5Xp0V0Xp8fnnn9egQYPUpEkTl%2BWBeiwLIxx5yYEDB9SsWTOXZcHBwWrcuLEOHDjgp6r%2BJyEhQS1atNBtt92m1157Tfn5%2BZKko0ePKjc3V02bNnUZ37x5c0ly1l7wZ%2BFxzZo10/nz5/XLL784xzVp0kQWi6XIfOb94Mv9VZ57crc2T3pt3769WrVqpX79%2Bmnz5s0u6ytaj99%2B%2B61q1aqlq666KmCPo7nHAoFyHPPz82W32/XDDz9o/vz56t69uxo2bBhQx7KkHgsEwrH86KOPtH//fo0aNUqFBdKxvJQgt0fiktLT0xUeHl5keXh4uM6dO%2BeHii6KiIjQmDFj1KZNG1ksFn366aeaM2eOfvnlF02ePNlZW%2BHaC14XrE9PT1dwcHCRL/qtWbOmJCktLU1XX3210tPTVaNGjSJ1FN4Pvtxf5bknd2tzR4sWLRQTE6PmzZsrIyNDb7/9tkaNGqVXXnlFd9xxR4Xrcc%2BePVqzZo1GjRolm80WkMexcI9SYB3H7t27O//R69Kli1566SWP5qoIfZbUoxQYxzI7O1szZ87U448/rrCwsCLzBtKxvBTCkY8ZhlEkEZelLl26qEuXLs7XnTt3VtWqVbV06VINHz7cubykGs3LixtTcGr0cuMutbzwfN7aX%2BW5pyuZr8D999/v8rpHjx4aNGiQXn31Ved/iEuas7z1mJKSorFjxyomJkbDhg3zeJ6K3GMgHcfFixcrKytLycnJWrBggYYPH64333zTo7nKe58l9Wiz2QLiWC5cuFBXXXWV%2BvXrd8n5A%2BFYXgqX1bwkPDxc6enpRZZnZGQUm3b96c4771R%2Bfr727dvnTPGFE3VBLwW1h4eHy263y263FzuuYJ6S9kPh1O/L/VWee3K3ttKwWq26/fbbdeDAAeevt1aEHjMyMjRs2DCFhIRo4cKFqlKlikfzVOQei1NRj6Mk3XDDDWrXrp3%2B%2BMc/at68edqxY4c%2B%2BeSTgDqWJfVYnIp2LI8fP6433nhDY8eOVWZmptLT05WVlSVJysrK0vnz5wPqWF4K4chLmjVrVuR6Zk5Ojo4ePVrkOml50rhxY1WpUkUHDx50WZ6cnCxJztoL/izc44EDB1S9enXVr1/fOe7QoUPO/3Vgns%2B8H3y5v8pzT%2B7WVlqFayzvPdrtdo0YMUKnT59WYmKiateu7VwXKMfxUj2WpKIdx%2BK0aNFCNptNR48eDZhjeakeS1KRjuXPP/%2Bs3NxcPfLII7rpppt00003Oa8w3HfffXrwwQcD9lgWRjjykq5du2r79u06e/asc9knn3yinJwcdevWzY%2BVFbVhwwbZbDZFR0crODhYHTt21MaNG13GrF%2B/XhEREYqOjpYktWvXTjVq1NCGDRucY/Lz87Vx40Z169bNebqyW7duSk9P1xdffOEcd/LkSSUlJbnsB1/ur/Lck7u1lYbD4dDHH3%2Bs66%2B/3nmdvzz3mJeXp3Hjxmn//v1KTEx0uanVk3kqco/FqWjHsSQ7d%2B5Ufn6%2BGjVqFBDH8nI9FqeiHcsWLVpo2bJlLj9PP/20JOnZZ5/V3/72t4A9loXZpkyZMsXt0SjR9ddfr9WrV%2BuLL75Q/fr1tXPnTk2fPl09e/bUoEGD/FbX0KFD9euvvyozM1NHjhzRG2%2B8oRUrVmjIkCHOa%2BDXXnutFi1apJMnT6p69er68MMP9eabb%2Brpp59Wq1atJF38FUybzaZFixYpJCREdrtdr7zyinbu3KkXXnhBdevWlSRdffXV%2Bv777/Xuu%2B%2Bqfv36OnnypCZPnqyQkBBNnTpVQUEXb3O7kv2VnZ2tLVu2KDk5Wf/61790%2BvRpXX311UpOTladOnUUGhparntyp7bL9ZiamqpRo0YpNzdXGRkZ%2BuGHHzRt2jTt3LlTzz77rPN/IZXnHqdMmaL169dr3Lhxqlevnk6dOuX8CQsLU3BwcIU/jpfrMSUlpcIfR0kaPXq0jh49qoyMDJ06dUqbN2/W9OnTde2112rixImy2WwV/lhersdTp05V%2BGNZtWpVNWrUyOXHbrdr7dq1Gj16tHNcRT%2BWbnH7iUi4rIMHDxoPPfSQ0aZNGyMuLs547rnnXJ7w6Q/PPfeccfvttxutW7c2WrVqZSQkJBhLly41HA6Hy7itW7cad911l9GyZUvjtttuM956660iczkcDmPJkiXGrbfearRq1cro16%2Bf8fXXXxcZl5GRYUyaNMm46aabjLZt2xqPPvqo8fPPPxcZV9r9dezYMSMyMrLYn%2B3bt1eIni5X2%2BV6PHv2rDF8%2BHCjS5cuRsuWLY22bdsagwcPNj7//PMK02P37t0D/jhersdAOI6GcfEBfX369DFiY2ONtm3bGvHx8cacOXOMjIwMj%2Bcqr31ersdAOZaFbd%2B%2BvchDIN2dqyL1WZjFMApd6AMAAKjEuOcIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QhAEWvWrFFUVJTzJzo6Wp07d9b48eN1%2BPBhv9f1888/X3Lc3LlzFRUVVUZVXd62bds0d%2B7cYtdFRUVp6tSpZVwRgEsJ8ncBAMqvGTNmqGnTprLb7UpKStKiRYu0Y8cObdy4UTVr1vR3eRXGtm3btGLFCo0ZM8bfpQBwA%2BEIQImuv/56xcTESJLi4uKUn5%2BvuXPnavPmzerfv7%2BfqwMA3%2BCyGgC3FQSlM2fOFFm3YcMGDRw4UG3btlVsbKyGDh2qvXv3uozZs2ePxo8frx49eqh169bq0aOHHn/8cR0/frzIfLt27dKgQYMUExOjzp076%2B9//7vy8vKuqH53apw4caJiY2N15MgRDRs2TLGxserWrZtmzpypnJwcl7GnTp3S2LFjFRsbq/bt22vChAnavXu3oqKiWqd52QAABe1JREFUtGbNGud8K1askCSXS5WFLw2uW7dOd955p9q0aaO77rpLn3322RX1CqD0OHMEwG0F/6D/7ne/c1m%2BaNEizZkzR/369dOIESOUm5ur119/XX/%2B85%2B1atUqNW/eXJJ0/PhxNWnSRPHx8apZs6ZSUlL09ttva8CAAfrnP/%2BpOnXqSJKSk5P1wAMPqGHDhpo5c6ZCQkK0cuVKrV%2B/vtS1u1ujJOXm5mrEiBEaMGCAHnroIX3zzTdasGCBwsLCNHr0aElSVlaW7rvvPp07d05PPPGErrvuOn3xxRcaP368y3ZHjhyprKwsffzxx3r33Xedy%2BvVq%2Bf8%2B9atW7Vnzx6NHTtW1apVU2JiokaPHq2PPvpI/7%2Bd%2Bwlpuo/jAP7eEp06bTIPpkbg4LsIFC9LTZngQSUkCawOER3Cif/FyJ1UxJPMwIYMREWGKwjzFK3wICoepl6iugbhv8DtoOjQnPrt8NCv/VJj2/P42PPwfp38ffbZ7/v%2BXuTD7/tjly9fjnnPRBQjSUT0i8nJSSmEkO/fv5ehUEju7OzIubk5WVxcLO/fvy9DoZDSu76%2BLq9duyZ7e3tV99jZ2ZHFxcWytbX11HUODg5kMBiU%2Bfn50u12K/W2tjaZl5cn/X6/qreyslIKIeTKyspv8zudTimEiCmj3W6XQgjp9XpVvbW1tbKiokK59ng8UgghZ2dnVX2dnZ1SCCEnJyeVWk9PjypPOCGEvHHjhtze3lZqfr9fXr16VQ4NDf12n0R0NvjkiIhOdffuXdW1yWSCy%2BVCXNzPfx3z8/M4ODhAdXW16tgrISEBFosFCwsLSi0YDMLlcmFqagpra2s4PDxUPvv8%2BbPy98LCAoqKipCenq7ULly4gJs3b2JwcDDqfUSTEQA0Gg3KyspUNbPZDJ/Pp1wvLS0hOTkZVqtV1VdVVaV6QhSJgoIC6PV65To9PR1Go/HE40YiOnscjojoVH19fTCZTAgGg/B6vXj58iXa29sxMjKi9AQCAQBATU3NiffQan%2B%2B2vj48WP4fD40NDQgNzcXycnJ0Gg0sNls%2BPbtm9K3ubmpGox%2BOKkWiWgyAkBiYiISEhJUtfj4%2BIgyGo3GqPMZDIZjtV/XI6J/D4cjIjqVyWRSXsIuLCzE0dERJiYm8O7dO1RWVgIA0tLSAABOpxOZmZmn3mt7exszMzNoamqCzWZT6vv7%2B9ja2lL1GgwGZaAJd1ItEpFmjIbBYMCHDx%2BO1WPNSER/Dg5HRBSxJ0%2BeYGpqCk6nE%2BXl5dBqtSgpKUFcXByWl5dRUVFx6nc1Gg2klIiPj1fVJyYmVMdrwF/HTNPT0wgEAsrTmcPDQ3i93phyR5oxGhaLBW/fvsXs7CxKS0uV%2Bps3b471/tjz3t4edDrdP7I%2BEZ0dDkdEFLGLFy/CZrPB4XDg9evXqK6uRnZ2NlpaWjAwMICVlRVYrVakpqYiEAjg48ePSExMREtLC/R6PSwWC0ZHR5GWloasrCwsLi7i1atXSE1NVa1TX1%2BP6elpPHz4EI2NjdDpdHj%2B/Dl2d3djyh1pxmjcvn0bbrcbHR0daG1txZUrVzA3N4f5%2BXkA6qM6IQQAYHh4GFarFVqtFmaz%2BdigSER/Bv7OERFF5cGDB8jMzITL5VKe%2BNTV1eHZs2f48uUL7HY7Hj16hP7%2BfqytrcFisSjfffr0KQoKCuBwONDU1IRPnz5hbGwMKSkpqjWEEBgbG4Ner4fdbkdXVxfMZjMaGhpizh1pxkglJSXB7Xbj%2BvXrcDgcaG5uxtevX9Hd3Q0Aqj1VVVXhzp07ePHiBe7du4eamhpsbGzEvBciOlsaKaU87xBERP8XP35PaWZmBhkZGecdh4hiwGM1IqIYeTweAEBOTg5CoRB8Ph/Gx8dx69YtDkZE/2EcjoiIYqTT6eB2u7G6uopQKIRLly6htrYW9fX15x2NiP4GHqsRERERheEL2URERERhOBwRERERheFwRERERBSGwxERERFRGA5HRERERGE4HBERERGF4XBEREREFIbDEREREVGY76Q5Ds2gPmumAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkcAAAHKCAYAAAAJhe9sAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeXxU9b3/8ffMhJBACIsEFBDLYiKBAEEkoCyCRbQJIouFWnBDlB0Rq2j5UURkUaooqxC1gOCCLFcpKIKCWoVaA4IC1rDLooEQkpAwWeb8/sBMz2SBmTCTSSav533kAXPOd77n8zlnrrx7zskZi2EYhgAAACBJsvq7AAAAgPKEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBLhpzZo1ioqK0p49e4pd/%2Bijj6pHjx4uy3r06KGJEyd6tJ2kpCTNnTtX6enppa61stmwYYPi4%2BPVunVrRUVFad%2B%2Bff4u6ZKioqI0d%2B7cS475%2BeefFRUVpTVr1pRRVZf2yy%2B/aO7cucXu24kTJyo2NtYPVQG%2BEeTvAoBANm/ePIWFhXn0np07d2revHnq27evwsPDfVRZ4EhNTdWTTz6pzp07629/%2B5uCg4P1u9/9zt9lBZxff/1V8%2BbNU8OGDdWiRQt/lwP4FOEI8KHo6Gh/l%2BCx3NxcWSwWBQVVjP88HDp0SLm5ubrrrrvUoUMHj99/4cIFVa1aVRaLxQfVAaiIuKwG%2BFDhy2oOh0MLFixQr1691Lp1a7Vv3169e/fW0qVLJUlz587VCy%2B8IEm67bbbFBUVpaioKO3YscP5/iVLluiOO%2B5Qq1at1KlTJz355JM6deqUy3YNw9CiRYvUvXt3xcTEqF%2B/fvrXv/6lIUOGaMiQIc5xO3bsUFRUlNatW6eZM2eqS5cuiomJ0ZEjR5SamqopU6boD3/4g2JjY9WpUyfdd999%2Bs9//uOyrYLLP4mJiVq8eLF69Oih1q1ba8iQIc7gMnv2bHXu3Fk33nijRo0apTNnzri1/7Zs2aKBAweqTZs2io2N1YMPPqidO3c610%2BcOFH33nuvJGn8%2BPGKiopy6a%2BwgkujX375pZ5%2B%2Bml17NhRbdq0UU5OjiTp8OHDmjBhgjp16qRWrVrpzjvv1IoVK1zmsNvtmjlzpvr06aMbb7xRHTp00MCBA7V58%2BYi28vMzNSkSZMUFxen2NhYDR06VIcOHXKr95K4U2PBcV2/fr1efvllde7cWe3atdMDDzyggwcPuox157OyY8cODRgwQJL09NNPOz%2BXhS8NHjlyRMOGDVNsbKy6deummTNnOvdtgZUrV%2Bquu%2B5SbGysYmNjdccdd%2Bill166on0CeFvF%2BJ%2BGQDnicDiUl5dXZLlhGJd9b2JioubNm6cRI0aoffv2ysvL08GDB5WRkSFJuueee3Tu3DktX75c8%2BbNU0REhCSpefPmkqQpU6bo3Xff1eDBg3Xrrbfq%2BPHjeuWVV/Tvf/9ba9asUZ06dSRJL7/8sl577TUNHDhQPXv21KlTpzRp0iTl5uaqSZMmRep66aWX1LZtWz377LOyWq266qqrlJqaKkkaPXq06tatq6ysLH3yyScaMmSI/vGPfyguLs5ljpUrVyoyMlKTJ09Wenq6Zs2apeHDh6tNmzYKCgrS9OnTdeLECc2aNUt//etftWjRokvuqw8//FBPPPGEOnfurL///e/KyclRYmKic/vt27fXyJEjFRMTo6lTp%2Brxxx9XXFycW5cxn3nmGd1666164YUXlJ2draCgICUnJ2vQoEG65ppr9NRTTykiIkJffvmlpk2bprNnz2r06NGSpJycHJ07d04PPfSQ6tevr9zcXH311VcaM2aMZsyYobvvvlvSxc/DyJEjtXPnTo0aNUoxMTFKSkrSsGHDLltfSdytscBLL72kdu3a6fnnn1dmZqZmz56tESNGaMOGDbLZbJLc%2B6y0bNlSM2bM0NNPP60RI0bo1ltvlSRdffXVzm3l5uZqxIgRGjBggB566CF98803WrBggcLCwpx1/fOf/9Szzz6rIUOG6KmnnpLVatWRI0eUnJxc6n0C%2BIQBwC2rV682IiMjL/nTvXt3l/d0797deOqpp5yvH330UaNPnz6X3E5iYqIRGRlpHDt2zGV5cnKyERkZaUyZMsVl%2BXfffWdERkYaL730kmEYhpGWlma0atXKeOyxx1zG7dy504iMjDQGDx7sXLZ9%2B3YjMjLS%2BPOf/3zZ/vPy8ozc3Fzj/vvvN0aNGuVcfuzYMSMyMtK46667jPz8fOfyf/zjH0ZkZKQxfPhwl3mef/55IzIy0sjIyChxW/n5%2BUbnzp2NhIQElzkzMzONTp06GQMHDizSw8aNGy/bQ8ExfPLJJ4use%2Bihh4yuXbsWqWvq1KlGTEyMkZaWVuycBfvlmWeeMe6%2B%2B27n8m3bthmRkZHG0qVLXcYvXLjQiIyMNF599dVL1lqwX1evXu1xjQX7ZNiwYS7jNmzYYERGRho7d%2B40DMOzz8ru3buL1FPgqaeeMiIjI40NGza4LB82bJjRq1cvlzrbt29/yb6B8oDLaoCHZs2apffff7/Iz4033njZ98bExGj//v2aMmWKvvjiC2VmZrq93YJLa3379nVZ3rp1azVr1kxff/21JGnXrl3KycnRnXfe6TKubdu2atiwYbFz33777cUuf/vtt9W3b1/FxMQoOjpaLVu21Ndff60DBw4UGdutWzdZrf/7T0qzZs0kyXmWofDyEydOlNSqDh06pF9//VV9%2BvRxmbN69eq6/fbb9d133yk7O7vE919O4X7tdru2b9%2Bunj17KiQkRHl5ec6frl27ym63a9euXc7xGzdu1KBBgxQbG%2BvcL%2B%2B//77Lfik4Xr1793bZVkJCQqlq9rRGSUV%2BezIqKkrS//Z9aT4rJbFYLMVuz3ycY2JilJ6erscff1ybN292np0EyhsuqwEeatasmWJiYoosr1GjRpF7fwp79NFHVa1aNX3wwQd65513ZLPZ1L59ez3xxBPFzmmWlpYmSapXr16RdfXq1XP%2BI1Qw7qqrrioyrm7dusXOXXD5zuzNN9/UzJkzNWjQII0bN061a9eW1WrVK6%2B8UuS%2BFUmqWbOmy%2BsqVapccrndbi%2B2Fkk6e/ZsiXXVq1dPDodD6enpCg0NLXGOSyk8b1pamvLy8rR8%2BXItX778kjVt2rRJjz32mO644w49/PDDqlu3rmw2m95%2B%2B22tXr3aZc6goCDVrl37ktt2lyc1FqhVq5bL6%2BDgYEkXb0IvmFPy7LNSktDQUFWtWrXI9szH%2Be6771Z%2Bfr5WrVqlsWPHyuFwKCYmRo899phuueUWj7YH%2BBLhCChDQUFBevDBB/Xggw8qPT1dX331lV5%2B%2BWU9/PDD2rp16yX/sS/4h%2B7XX391udejYFnBP8IF44q76fn06dPFnhEo7je1PvjgA3Xo0EHPPvusy/Lz589fpssrV9BLSkpKkXW//vqrrFbrFT3moHC/4eHhstls6tOnj/MG78IaNWok6eJ%2BadSokebMmeMyT8FN9QVq1aqlvLw8nT171iUgFdeTOzyp0V2l%2Baxcqf79%2B6t///7KysrSN998o7lz5%2BrRRx/Vxx9/7JPtAaXBZTXAT8LDw3XHHXfo3nvvVVpamo4fPy7pf//rvvCZlY4dO0q6%2BI%2Bz2e7du3XgwAHn%2BjZt2ig4OFgbNmxwGbdr1y7nNtxhsVictRTYv39/kUs3vtCkSRPVr19f69evd7nRPSsrS5s2bVLbtm1LfdaoOKGhoYqLi9PevXsVFRWlmJiYIj8FAcdisahKlSouwSglJUVbtmxxmbPghvUPP/zQZfn69et9XqO7PPmsFD7rdKWqVaumbt26afjw4crNzeWmbJQrnDkCytDw4cN1/fXXq1WrVqpTp46OHz%2BupUuXqmHDhrruuuskSZGRkZIunono27evgoKC1KRJEzVt2lQDBw7UW2%2B9JavVqq5duzp/W%2B2aa67RAw88IOni2YAHH3xQr732msLDw52/gTR//nxFRES4/TyfW2%2B9VQsWLNCrr76qm266SYcOHdKCBQvUqFEj5efn%2B2T/FLBarfrLX/6iJ554Qo8%2B%2BqgGDhyonJwcvf7660pPT9eECRO8vs2//vWvuvfee/XnP/9Zf/rTn9SwYUOdP39eR48e1aeffqply5ZJurhfNm3apClTpqhXr146deqUFixYoHr16unw4cPO%2BTp37qybbrpJL774orKzs9WqVSslJSXp//7v/3xeo7s8%2Baw0btxYISEh%2BvDDD9WsWTNVq1ZN9erVU/369d3e3qRJkxQSEqJ27dopIiJCKSkpWrx4sWrUqHHZy8pAWSIcAWUoLi5OH3/8sVatWqXMzExFRETo5ptv1siRI5334sTFxenRRx/V2rVrtWrVKjkcDi1btkxxcXGaMmWKrr32Wr3//vtauXKlwsLC1KVLF02YMMHlrMH48eMVGhqqd955R2vWrFHTpk01ZcoUvfzyy25fjho%2BfLiys7P1/vvvKzExUc2bN9eUKVO0efNm/fvf//bJ/jHr3bu3QkNDtXjxYo0fP142m01t2rTRsmXL1K5dO69vr3nz5lqzZo0WLFigOXPmKDU1VTVq1NB1112nbt26Ocf1799fZ86c0TvvvKPVq1fr2muv1SOPPKJTp05p3rx5znFWq1ULFy7UjBkzlJiYqNzcXLVr106LFy8ucgO0t2v0hLufldDQUE2fPl3z5s3T0KFDlZubq9GjR2vMmDFub6t9%2B/Zas2aNNm7cqHPnzql27dq68cYbNWvWLOdjKIDywGIYbjycBUCFd%2BzYMd15550aPXq0hg8f7u9yUI7xWUFlx5kjIADt379f69evV2xsrMLCwnTo0CElJiYqLCzM%2BaRjQOKzAhSHcAQEoNDQUH3//fd6//33lZGRobCwMMXFxemxxx7z%2BFe0Edj4rABFcVkNAADAhF/lBwAAMCEcAQAAmBCOAAAATAhHAAAAJpX6t9UMw5DD4Zv70a1Wi8/mLi/oMXBUhj7pMXBUhj7p8dLvc/dJ/6VVqcORw2EoNdX7X6IZFGRV7drVlZ6epbw8h9fnLw/oMXBUhj7pMXBUhj7p8dLq1Kkum8234YjLagAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI586Iw9U6n2TH%2BXAQAAPEA4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmPg9HG3cuFEjR45Ut27d1LZtW/Xu3VsrV66Uw%2BFwGbdt2zbdfffdiomJUc%2BePbVixQo/VQwAAAJZkL8LePPNN9WgQQM9%2BeSTuuqqq7Rjxw49//zzOnbsmJ566ilJ0s6dOzVy5Ej16dNHEydOVFJSkqZNm6bg4GDdc889fu4AAAAEEr%2BHo0WLFqlOnTrO1x07dlRWVpZWrFih8ePHKzg4WPPnz1d0dLSmT5/uHHPy5Em98sor6t%2B/v6xWv58AAwAAAcLvqcIcjAq0aNFCdrtdaWlpysnJ0fbt2xUfH%2B8ypnfv3kpJSdHevXvLqlQAAFAJ%2BP3MUXG%2B/fZb1apVS1dddZUOHTqk3NxcNW3a1GVM8%2BbNJUkHDhxQq1atSr2toCDv50Ob7eKcNqtVCvLNNvzN2aMt8HorUBl6lCpHn/QYOCpDn/Tof%2BUuHO3Zs0dr1qzRqFGjZLPZdO7cOUlSeHi4y7iC1wXrS8Nqtah27eqlL/YywmqESJJqh/puG/4WHh7q7xJ8rjL0KFWOPukxcFSGPunRf8pVOEpJSdHYsWMVExOjYcOGuayzWCzFvqek5e5wOAylp2eV%2Bv0lsdmsCg8PVWbGBeU7HAq6UD6T8ZUo6DE9PVv5%2BY7Lv6ECqgw9SpWjT3oMHJWhT3q8tPDwUJ%2BfcSo34SgjI0PDhg1TSEiIFi5cqCpVqkiSatasKanoGaL09HRJRc8oeSovz3cfvHyHQ/l5DuXZAvPDLUn5%2BQ6f7sPyoDL0KFWOPukxcFSGPunRf8rFKQ273a4RI0bo9OnTSkxMVO3atZ3rGjdurCpVqujgwYMu70lOTpYkNWvWrExrBQAAgc3v4SgvL0/jxo3T/v37lZiYqIYNG7qsDw4OVseOHbVx40aX5evXr1dERISio6PLslwAABDg/H5ZberUqfrss8/0l7/8RRcuXNCuXbuc65o3b66wsDCNGjVKgwcP1qRJk9S7d28lJSVp1apVmjp1Ks84AgAAXuX3cPTll19Kkl588cUi65YtW6a4uDjFxsZqwYIFeumll7Ru3TpdffXVmjRpEk/HBgAAXuf3cPTpp5%2B6Na5bt27q1q2bj6sBAACVHdekAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI7KQKo9U6n2TH%2BXAQAA3EA4AgAAMCEcAQAAmHglHJ08eVKff/65zp49643pAAAA/CbI0ze8/PLLys7O1jPPPCNJ%2BuqrrzR8%2BHDl5uYqPDxcb731lq6//nqvFwoAAFAWPD5ztGnTJjVv3tz5es6cOYqKitK8efPUoEEDLVy40KsFAgAAlCWPzxz98ssvaty4sSTp7Nmz2rNnjxYvXqwuXbrIbrdr1qxZXi8SAACgrHh85sgwDBmGIUlKSkqSzWbTTTfdJEmqV68e9x0BAIAKzeNw1LhxY3322WeSpA0bNigmJkYhISGSpF9//VXh4eHerRAAAKAMeRyOBg4cqGXLlikuLk4bNmzQH//4R%2Be6pKQkl/uRAAAAKhqP7zm69957VbNmTe3cuVMxMTHq06ePc53dblffvn29WiAAAEBZ8jgcSVJ8fLzi4%2BOLLH/uuec8nuvIkSN6/fXX9d133%2Bmnn35S06ZNtX79epcxEydO1Nq1a4u8d8mSJeratavH2wQAAChJqcKRN/3000/atm2b2rRpI4fD4bzZu7Brr71Ws2fPdlnWrFmzsigRAABUIm6Fox49eshisbg96ZYtW9we26NHD/3%2B97%2BXdPEM0ffff1/suJCQELVt29bteQEAAErDrXDUoUMHl3C0fft2paSkKDY2VhEREUpJSdHOnTtVr149xcXFeVSA1crXuwEAgPLDrXA0c%2BZM59/XrVunpKQkbdq0SQ0aNHAuP378uB566CF16NDB%2B1VKOnr0qNq3b68LFy4oMjJSI0eOdJ5xuhJBQd4PZzbbxTltVqvLHvbFtvzF2aMtcHoqrDL0KFWOPukxcFSGPunR/zy%2B52jJkiUaM2aMSzCSpIYNG2rUqFFauHCh139jrUWLFoqJiVHz5s2VkZGht99%2BW6NGjdIrr7yiO%2B64o9TzWq0W1a5d3YuVXpSSnaGU7AyF1QhR6oVMSVKdkDDVDvX%2BtvwtPDzU3yX4XGXoUaocfdJj4KgMfdKj/3gcjo4ePaoaNWoUu65mzZo6fvz4FRdV2P333%2B/yukePHho0aJBeffXVKwpHDoeh9PSsKy2viMzcCwqrEaLMjAtKv3BBkmSzWxV0oXwm5NKw2awKDw9Venq28vMd/i7HJypDj1Ll6JMeA0dl6JMeLy08PNTnZ5w8DkcNGzbU%2B%2B%2B/r27duhVZ99577xU5o%2BQLVqtVt99%2Bu1588UVduHDB%2BYTu0sjL8/4HL9/hcP7p%2BG3%2BfKtDebbA%2B5Dn5zt8sg/Lk8rQo1Q5%2BqTHwFEZ%2BqRH//E4HD3yyCN65plnNGDAACUkJKhu3bo6ffq01q9frx9%2B%2BEHTpk3zRZ1FlPQr/wAAAFfC43DUr18/SdKcOXNcbtSOiIjQc889p/79%2B3uvuhI4HA59/PHHuv7666/orBEAAEBhpXoIZL9%2B/dS3b18dPHhQaWlpqlWrlpo2berRs5AKZGdna9u2bZIu/sZbZmamPvroI0kXHyGQnZ2tiRMnKiEhQY0bN9a5c%2Bf09ttv6/vvv9fcuXNLUz4AAECJSv2EbIvF4pUnVJ85c0bjxo1zWVbwetmyZYqKilJYWJjmz5%2Bv1NRUValSRa1atdKSJUvUpUuXK94%2BAACAWanD0X//%2B18dOHBAdru9yLq7777b7XkaNWqkH3/88ZJjFi5c6HF9AAAApeFxOMrOztaIESO0fft2WSwW543R5ktqnoQjAACA8sTjBwUsWLBAx48f11tvvSXDMDRv3jy9%2Beab6tmzp6677jqtXbvWF3UCAACUCY/D0ZYtWzRs2DDFxsZKkq655hp16tRJr776qlq2bKmVK1d6vUgAAICy4nE4On78uJo2bSqbzSaLxaLs7Gznut69e2vLli1eLRAAAKAseRyOatSooaysi1%2B5cdVVV%2BnIkSPOdXl5ec51AAAAFZHH4SgqKkqHDx%2BWJMXFxem1117Tf/7zH%2B3evVvz58/XDTfc4O0aAQAAyozHv63Wv39/59mixx57TPfee6%2BGDBkiSQoPD9fixYu9WyEAAEAZ8jgc/eEPf3D%2B/dprr9XHH3/s/LX%2B2NhY1apVy6sFAgAAlKVSPwSyQLVq1dSjRw9v1AIAAOB3Ht9zJEk5OTl655139Pjjj%2BvBBx903oO0efNmHTt2zJv1AQAAlCmPzxylpqbq/vvv108//aS6devqzJkzOn/%2BvKSLz0D68ssvNWXKFG/XCQAAUCY8PnP04osvKj09XatXr9bWrVudXx8iXfzttW%2B%2B%2BcarBQIAAJQlj8PR1q1bNXbsWLVs2dLl%2B9QkqX79%2Bjp16pTXigMAAChrHoejzMxMNWjQoNh1eXl5ys/Pv%2BKiAAAA/MXjcNSoUSPt2rWr2HW7d%2B9WkyZNrrgoAAAAf/E4HPXu3VtLlizR5s2bnfcbWSwW7d69W8uWLVOfPn28XiQAAEBZ8fi31YYNG6akpCSNHj1aNWvWlCQNHTpUaWlp6tKli%2B677z6vFwkAAFBWPA5HVapU0ZIlS7RhwwZt3bpVZ86cUe3atXXrrbcqPj5eVmupHp0EAABQLngUjux2u9atW6f27dsrPj5e8fHxvqoLAADALzw6zVO1alVNmzZNZ86c8VU9AAAAfuXxNbBrr71Wp0%2Bf9kUtAAAAfudxOLrvvvu0ePFiZWZm%2BqIeAAAAv/L4huzk5GSdPXtWPXr0UMeOHRUREVHkSdmTJk3yWoEAAABlyeNw9NZbbzn/vmnTpiLrLRYL4eg3DsPQudxs1QgK9XcpAADATR6Ho/379/uijoB0Ljdbyw9/rSG/66Q6Vasp1X7xUmSdqmF%2BrgwAAJSEhxL5mJVdDABAhcK/3AAAACaEIwAAABPCEQAAgAnhCAAAwMStcDRjxgydPHlSknTixAnl5ub6tCgAAAB/cSscLV26VCkpKZKk2267Tfv27fNpUQAAAP7iVjiqWbOm8/vUDMPwaUEAAAD%2B5NZDINu0aaO//vWvat26tSRp1qxZqlGjRrFjLRaLFi5c6L0KAQAAypBb4ehvf/ubpk%2BfruTkZFksFh05ckTBwcHFji38PWsAAAAViVvhqGHDhpo/f74k6YYbbtCCBQucZ5EAAAACice/yr9s2TI1a9bMF7UAAAD4ncdfPNuhQwdJ0pEjR7R9%2B3alpaWpdu3aiouL03XXXef1AgEAAMqSx%2BHIMAw999xzeuedd%2BRwOJzLrVar7r33Xk2aNMmrBQIAAJQlj8PRP/7xD61cuVJ/%2BtOf1LdvX9WvX1%2B//PKL1q1bp5UrV6pRo0Z64IEHfFBqxWQYhjJyL8hhSFbuVQcAoNzzOBytWrVKgwcPdjlDVL9%2BfbVu3VpWq1Xvvfce4cjEIUNrf05So2q1VSu4mr/LAQAAl%2BHxDdnHjh1T9%2B7di13XvXt3HTt27IqLCjQ83gAAgIrD43BUo0YNnThxoth1J06cUFhY2BUXBQAA4C8eh6Obb75Zc%2BbM0ffff%2B%2ByfN%2B%2BfXr11VfVuXNnrxUHAABQ1jy%2B52jChAkaOHCg7rnnHjVv3lwRERFKSUlRcnKy6tWrpwkTJviiTgAAgDLh8Zmja665RuvWrdPDDz%2Bs0NBQ/fzzzwoNDdUjjzyitWvX6uqrr/ZFnQAAAGXC4zNHklSnTh3OEAEAgIDk8ZkjAACAQEY4AgAAMCEcAQAAmBCOAAAATDwORzk5OTIMwxe1AAAA%2BJ1H4chut6tNmzbavHmzr%2BoBAADwK4/CUdWqVVWrVi2Fhob6qh4AAAC/8viyWvfu3fXJJ5/4ohYAAAC/8/ghkPHx8frrX/%2Bqp59%2BWrfffrsiIiKKfOt8y5YtvVYgAABAWfI4HA0dOlSStHbtWq1bt85lnWEYslgs2rdvn3eqAwAAKGMeh6MZM2b4og4AAIByweNw1LdvX1/UAQAAUC5c0UMgDx48qG%2B//VZZWVneqgcAAMCvShWO1q1bp65duyo%2BPl6DBw/WoUOHJEnjxo3Te%2B%2B959UCAQAAypLH4Wjjxo2aOHGioqOj9f/%2B3/9zeVp2y5YttXHjRq8WCAAAUJY8DkeLFy9Wv379tGjRIg0cONBlXdOmTZWcnOy14gAAAMqax%2BHowIEDio%2BPL3ZdrVq1lJaWdsVFAQAA%2BIvH4Sg0NFQZGRnFrvvll19Us2bNKy4KAADAXzwORwi2JkYAACAASURBVLGxsVqxYoXLvUYF1qxZow4dOnilMAAAAH/wOByNGjVKu3bt0oABA7R8%2BXJZLBZt2rRJw4cP13/%2B8x8NHz7cF3UCAACUCY/DUUxMjJYsWaKsrCzNnDlThmHotdde06FDh7R48WJFRkZ6NN%2BRI0c0efJk9enTR9HR0UpISCh23LZt23T33XcrJiZGPXv21IoVKzwtHQAA4LI8fkK2JHXs2FEbN27U0aNHdfr0adWuXVtNmjQpVQE//fSTtm3bpjZt2sjhcBR7uW7nzp0aOXKk%2BvTpo4kTJyopKUnTpk1TcHCw7rnnnlJtFwAAoDilCkcFGjdurMaNG19RAT169NDvf/97SdLEiRP1/fffFxkzf/58RUdHa/r06ZIuhrOTJ0/qlVdeUf/%2B/WW1XtGDvgEAAJxKlSp%2B/vlnTZ48Wb169VJcXJx69eqlyZMn69ixY54XcJlgk5OTo%2B3btxd5fEDv3r2VkpKivXv3erxNAACAknh85mjfvn267777lJ2drdjYWLVs2VIpKSlas2aNNmzYoOXLl6tFixZeK/Do0aPKzc1V06ZNXZY3b95c0sXnLrVq1arU8wcFef%2Bsk8VhUeqFTFkskiwXl1mDrLL9ti1fbLOs2WxWlz8DUWXoUaocfdJj4KgMfdKj/3kcjqZPn646derozTffVIMGDZzLjx8/roceekjTp0/X8uXLvVbguXPnJEnh4eEuywteF6wvDavVotq1q5e%2BuBL8ejZds5I%2B0qMtu8pqtcgii8JrhKhmSDVJUu1Q72/TX8LDQ/1dgs9Vhh6lytEnPQaOytAnPfqPx%2BFo9%2B7dev75512CkSQ1bNhQo0eP1qRJk7xWnJnFYvFouTscDkPp6Vmlfn9JzmfaZbVYlHU%2BRw6HIYsMpWdckM3%2B25mjC%2BUzKXvCZrMqPDxU6enZys93%2BLscn6gMPUqVo096DByVoU96vLTw8FCfn3HyOBzVqFFDNWrUKHZdeHi4wsLCrrgos4Inbhc%2BQ5Senu7c5pXIy/P%2BBy//t9%2B4yzcMyZBkkRx5DuVbL24rzxY4H/b8fIdP9mF5Uhl6lCpHn/QYOCpDn/ToPx5Hr4SEBK1atarYde%2B9916J37tWWo0bN1aVKlV08OBBl%2BUFX3DbrFkzr24PAABUbm6dOdq0aZPz7y1bttTHH3%2BsAQMGKCEhQXXr1tXp06e1fv16paam6o477vBqgcHBwc7nKj3wwAPO5evXr1dERISio6O9uj0AAFC5uRWOxo4dK4vFIsMwnH%2BePHmy2GcSPfnkk%2Brdu7fbBWRnZ2vbtm2SLt7UnZmZqY8%2B%2BkiS1KFDB9WpU0ejRo3S4MGDNWnSJPXu3VtJSUlatWqVpk6dyjOOAACAV7kVjpYtW%2BazAs6cOaNx48a5LCt4vWzZMsXFxSk2NlYLFizQSy%2B9pHXr1unqq6/WpEmTeDo2AADwOrfCUYcOHXxWQKNGjfTjjz9edly3bt3UrVs3n9UBAAAglfIJ2QAAAIGqVN%2BttnnzZn3wwQc6ceKE7Ha7yzqLxaIPPvjAK8UBAACUNY/DUWJiombPnq06deqocePGCg0tn0%2B3BAAAKA2Pw9HKlSvVv39/TZ06VTabzRc1AQAA%2BI3H9xylpaUpISGBYAQAAAKSx%2BGoXbt2RZ5WDQAAECg8DkfPPPOMVqxYoS1btignJ8cXNQEAAPiNx/ccXXfddbr55ps1evRoWSwWhYSEuKy3WCz69ttvvVZgRWUYhjJyL7i8TsvJUniVaiW%2Bx2EYSss5r1rB1WW1WMqiTAAAUIjH4ejFF1/UW2%2B9pRYtWqhp06YKDg72RV0VnsMw9P6RbyRJFlmVnndBK47s0Mjmt6puSFix70nLOa9Z%2Bz7SUy3uUJ2qxY8BAAC%2B5XE4Wrt2rYYNG6YJEyb4op6AYrFYZRgO52t3zgZxxggAAP/y%2BJ6j/Px83Xzzzb6oBQAAwO88Dke33HKLvvvuO1/UAgAA4HceX1YbOXKkxo8fr9DQUN16662qWbNmkTG1atXySnEAAABlzeNw1KdPH0nSzJkzNXPmzGLH7Nu378qqAgAA8BOPw9GoUaNk4aZhAAAQoDwOR2PGjPFFHQAAAOWCxzdkAwAABDKPzxzNmzfvkustFotGjRpV6oIAAAD8iXAEAABg4nE42r9/f5FlaWlp2rx5s5YuXarFixd7pTAAAAB/8Mo9R7Vq1dKAAQPUu3dvTZs2zRtTAgAA%2BIVXb8iOiYnR119/7c0pAQAAypRXw9GPP/6oatWqeXNKAACAMuXxPUfr1q0rsiwnJ0c//vijVq9erbvuussrhQUSwzCUkXtBhsPQudxsOQxDVh6kCQBAueRxOJo4cWKxy6tWraq77rpLTz755BUXFWgMGVr7c5Iki5Yd%2BkpjqoSqaY16/i4LAAAUw%2BNwtGXLliLLqlatqrp163qloEBlsVhkGOKrVwAAKOc8DkcNGzb0RR0AAADlAl8fAgAAYOLWmaPevXu7PaHFYtEHH3xQ6oIAAAD8ya1wVKtWrcuOycrK0g8//MA9NQAAoEJzKxwtX768xHV5eXl69913tWDBAlksFiUkJHitOAAAgLLm8Q3ZZhs3btScOXN09OhR3XzzzXriiSfUokULb9UGAABQ5koVjnbs2KHZs2drz549io6O1htvvKFOnTp5uzYAAIAy51E4%2BvHHHzV79mx9%2BeWXatSokf7%2B978rPj7eV7UBAACUObfC0cmTJzVnzhytX79eNWvW1DPPPKNBgwapSpUqvq4PAACgTLkVjnr16qXc3Fx16dJFDz/8sKpXr67//ve/JY5v2bKl1woEAAAoS26Fo5ycHEnS559/ri%2B%2B%2BKLEcYZhyGKxaN%2B%2Bfd6pDgAAoIy5FY5mzJjh6zoAAADKBbfCUd%2B%2BfX1dBwAAQLnAd6uVMcMwdC43Ww7DcFnuMAyl5WRJRglvBAAAZYJwVMYMGVp26CsdzkxxLku1Z%2BpwZooWJG8tEpoAAEDZIhz5QUnfP2fle%2BkAAPA7whEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIBJhQhHa9asUVRUVJGf2bNn%2B7s0AAAQYIL8XYAnEhMTVaNGDefr%2BvXr%2B7EaAAAQiCpUOGrZsqXq1Knj7zIAAEAAqxCX1QAAAMpKhTpzlJCQoLNnz6pBgwb64x//qIcfflg2m%2B2K5gwK8n4%2BtFkskiSLJMO84rcFhmEoPf%2BCzuRmSpLO5WdLNossskgWyRZkveK6HIahsznnVTu4uqy/1eNNNpvV5c9AVBl6lCpHn/QYOCpDn/TofxUiHEVERGjMmDFq06aNLBaLPv30U82ZM0e//PKLJk%2BeXOp5rVaLateu7sVKL/pV6ZIki9Uii3HxwFstVhky5Pjt9bJDX8lq%2Bd%2BHYmTMrTIkWSxSzZrVVDv0Yl0p2RmSpIjQGvJESnaGXtj1kZ7v1E9XhYZdaUslCg8P9dnc5UVl6FGqHH3SY%2BCoDH3So/9UiHDUpUsXdenSxfm6c%2BfOqlq1qpYuXarhw4erXr16pZrX4TCUnp7lrTKdzmfaJUmGw5BhOC5uy3LxLFLBa4vFNS1nZNrlMByyGNK5c1kKunBx/Tn7xfoKXrvrnD1LhsN1Lm%2By2awKDw9Venq28vMdXp%2B/PKgMPUqVo096DByVoU96vLTw8FCfn3GqEOGoOHfeeafeeOMN7du3r9ThSJLy8rz/wcs3Ll5MMwqvKLzA9NqR75AhQxZZlJ/nUJ7tYl35v9VX8NrtGvIuzmeeyxfy8x0%2B2YflSWXoUaocfdJj4KgMfdKj/5TPi30AAAB%2BUmHD0YYNG2Sz2RQdHe3vUgAAQACpEJfVhg4dqo4dOyoyMlKStGXLFr333nu67777FBER4efqAABAIKkQ4ahJkyZ6//33derUKTkcDv3ud7/TM888oyFDhvi7NAAAEGAqRDiaNGmSv0sAAACVRIW95wgAAMAXCEcAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJhUiIdABrJ8wyGLxf3xqfZMSVKdqmE%2BqggAgMqNM0cAAAAmhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEclUMOw1CqPVMOwyiyPC0nS3mO4te7vresqgUAILAQjvwo33DIkKPIsr3nTmjG3g1KyzkvSUrLyVKqPVNpOee1IHmrjmenata%2Bj5zrU%2B2Zzp/DmSmavneDjmWdKfN%2BilNQFwAAFQXhqJyylnBorBaLy5%2BXGgMAADxHOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8JROWMYhs7n2WX89tphGErLyVKqPUsO4%2BL6jNwLMhyGztrP6/SFTDmMkuf63xjXQQ7DUKq96HJfKc32yrpGAAAkwlG5Y8jQRye/lyGH0nKydCwrVcsOf6WFyZ/pWNYZ5TkcWn3sW%2BUYeZqf/Jlm7dug9NysYudyyHCOScs571yeas/U4cwUzdr3kcvyS0m1ZyrVnlnqvg5npmjG3g1ub0%2BS0nLOe1QjAADeQDgqhyyWQq9lldW0sOCv1t/%2B71IuNcZaeEM%2Bdrlai31PGdcIAADhCAAAwIRwBAAAYEI4AgAAMCEcAQAAmBCOAAAATAhHAAAAJoQjAAAAE8IRAACACeEIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEflgGEYysi9IBmuy9JyspSec8F1TDHvTcvJ0pkL55Vqz5LDKDpfwZg8h0Op9kzlOQydy82WDMlhGL8tc%2Bj0hQz9mp2h0xcy5TAM57qCv6flZMlhGC7bN7%2B/YKzr8oL3Fe3bYRg6feF/2yu8Li0ny2WfFPd%2Bc33m7fvSlWzLnfdebkxxfRfe/ygfyvJziSvn6%2BNVmT4PFb1XwlE5YMjQ2p%2BTXD5EDhladvgrrfn5WxlyyCHD%2BfcC%2BYZDOUaulh76SguSP9WC5E91Ivus8hwOl/kcMrQweauOnj%2Bt6Xs3aH/6CS0//LVyHfk6lpWqWfs%2B0tHzpzVz30ZN3/uhZuz9p9Jyzist57ym792gw5kpSs/N1ryfPtXhzBRJ0hl7plKyM3Q257xm7ftIe9KOacZvY1PtmTqcmaIZezfoeHaqFiZvVUZedpG%2B03LOa%2Ba%2BjZq17%2BL7Dmb8qlR7pnPdguStynXkKy0nS6n2TOc68/sL6kv7rY60nPPO9an2TOecxb2/MPO4gxm/6sxv488Uem9x27qcgnndee/lxpjXF/z96PnTHtcUiNw5zmW57dJ8VuA/vj5elenzUNF7JRyVExaLpegyWWVebCnhcFksF99vNa0vPF/BOutvy81jncssFllkdb42ryv8Hpe5i5nTZZuX%2BJhZC9Vd3LyXUlKtvnYl2/K0r8utNx8/lD8cl4rF18erMn0eKnKvhCMAAAATwhEAAIAJ4QgAAMCEcAQAAGBCOAIAADAhHAEAAJgQjgAAAEwIRwAAACaEIwAAAJMKE44OHTqkoUOHqm3bturUqZOmTZumCxeKftcYAADAlQjydwHuSE9P1/33368GDRro1VdfVWpqqmbMmKG0tDTNnj3b3%2BUBAIAAUiHC0TvvvKP09HStW7dOderUkSTZbDY98cQTGjFihJo1a%2BbnCgEAQKCoEJfVPv/8c3Xq1MkZjCSpV69eCg4O1rZt2/xYGQAACDQWwzAMfxdxOZ06dVL//v31xBNPuCyPj49X27Zt9fzzz5dqXsMw5HB4v/08I1/ncrK9Pq87QoOClZ2XU%2By6sCohysy94DKmelBVZeXlqHqVqsrM/d89XOHBoZKk9JxshVUJkSRl5l5QWJUQVbFY5ZAhi8UiwzCUnnNB1YKCdT7PrrAqIbJaLHIYhjJzL6h6UFWdz7M7/wwPDpVNF7%2BpOV%2BG0n/bTwXbsFossslSZF3BtzsXvNf8/oL1GTkXVCM4xGV%2Bh2G4fDO0%2Bf2F5et/nwWHYchmsSjIalOe4%2BIa87yFt3U55rkv997LzW9eXzBf9SpVdT7X7lFNThaL85ip/P/n4JIK9nORfVAGPRa37dJ8VkotgI7jJfmwT18fL7fnD4BjWdBrreBQWS1Fz8NYLJLVapXD4fC4RavVIovFt///VCEuq6Wnpys8PLzI8vDwcJ07d67U81osFtls3t/BNllVL6iK1%2Bd1V8E/msWpViW4yJjqwVVd1pmFmPoobr0kRfw2pmCewuMLlhdeX6XQ/O6uK2lM4fGeHoGSxtus1iLjLlfbpeb2tK/LrS/4e0nHx122K3p3%2BXC5o%2BLLHovbdmk%2BK1cqEI6jO3zRp6%2BPl6fzV%2BRj6W6vVmv5vIBVPqtyk2EYPk%2BPAACgcqkQ4Sg8PFzp6elFlmdkZBR7RgkAAKC0KkQ4atasmQ4cOOCyLCcnR0ePHuU31QAAgFdViHDUtWtXbd%2B%2BXWfPnnUu%2B%2BSTT5STk6Nu3br5sTIAABBoKsRvq6WnpyshIUENGzbUyJEjdebMGc2cOVOdO3fmIZAAAMCrKkQ4ki5%2Bfci0adP07bffKiQkRAkJCXriiScUElLyb2YBAAB4qsKEIwAAgLJQIe45AgAAKCuEIwAAABPCEQAAgAnhCAAAwIRwBAAAYEI4AgAAMCEcedGhQ4c0dOhQtW3bVp06ddK0adN04cIFv9a0Zs0aRUVFFfkp/PDMbdu26e6771ZMTIx69uypFStWFDvf66%2B/rh49eigmJkb9%2B/fXjh07iozJzMzU5MmTFRcXp9jYWA0fPlzHjx8vMq60%2B%2BvIkSOaPHmy%2BvTpo%2BjoaCUkJBQ7rjz3dLna3Olx4sSJxR7bzz//vEL0uHHjRo0cOVLdunVT27Zt1bt3b61cuVIOh8OjeSp6jxX9OErSF198ocGDB6tjx45q1aqVbrvtNs2YMUMZGRkez1Ve%2B3Snx0A4lmbnz59X165dFRUVpT179pRqrorQZ7EMeMW5c%2BeMLl26GAMHDjS2bdtmrF271ujQoYMxYcIEv9a1evVqIzIy0vj888%2BNnTt3On9OnDjhHJOUlGRER0cbTz/9tPH1118b8%2BfPN2644Qbjvffec5krMTHRaNmypZGYmGh89dVXxvjx442YmBhj//79LuMeeeQR45ZbbjE%2B/PBD47PPPjP69u1r9OzZ08jOznaOuZL99cknnxhdu3Y1xowZYyQkJBjx8fFFxpTnntypzZ0en3rqKeO2225zOa47d%2B400tPTK0SP99xzjzFu3Dhj/fr1xtdff23MmTPHiI6ONmbOnBkwx9GdHiv6cTQMw/jwww%2BN2bNnG5s2bTK2b99uLF%2B%2B3OjQoYPx4IMPBsyxdKfHQDiWZi%2B88IJx8803G5GRkcbu3bsD5li6g3DkJa%2B99prRpk0b48yZM85lH3zwgREZGWkkJyf7ra6CcGSuq7ChQ4caAwYMcFk2adIk45ZbbjHy8/MNwzAMu91u3HjjjcasWbOcY/Ly8ow777zTeOyxx5zLdu3aZURGRhpbt251Ljt%2B/LgRHR1trFy50rnsSvZXQU2GcfE/RsUFh/Lckzu1udNjScvNynOPxX0mp0%2BfbsTExBh2u93teSp6jxX9OJbk3XffNSIjI41Tp065PVdF67Nwj4F0LJOTk422bdsab7/9dpFwFIjHsjAuq3nJ559/rk6dOqlOnTrOZb169VJwcLC2bdvmx8ouLScnR9u3b1d8fLzL8t69eyslJUV79%2B6VJCUlJSkjI8Pl8o7NZtMf/vAHbdu2TcZvD1rftm2bwsPD1bVrV%2Be4Bg0aqF27di774Ur2l9V66Y9tee7J3dou16O7ynOP5jkKtGjRQna7XWlpaQFxHC/Xo7vKc48lqVWrliQpLy8vII7l5Xp0V0Xp8fnnn9egQYPUpEkTl%2BWBeiwLIxx5yYEDB9SsWTOXZcHBwWrcuLEOHDjgp6r%2BJyEhQS1atNBtt92m1157Tfn5%2BZKko0ePKjc3V02bNnUZ37x5c0ly1l7wZ%2BFxzZo10/nz5/XLL784xzVp0kQWi6XIfOb94Mv9VZ57crc2T3pt3769WrVqpX79%2Bmnz5s0u6ytaj99%2B%2B61q1aqlq666KmCPo7nHAoFyHPPz82W32/XDDz9o/vz56t69uxo2bBhQx7KkHgsEwrH86KOPtH//fo0aNUqFBdKxvJQgt0fiktLT0xUeHl5keXh4uM6dO%2BeHii6KiIjQmDFj1KZNG1ksFn366aeaM2eOfvnlF02ePNlZW%2BHaC14XrE9PT1dwcHCRL/qtWbOmJCktLU1XX3210tPTVaNGjSJ1FN4Pvtxf5bknd2tzR4sWLRQTE6PmzZsrIyNDb7/9tkaNGqVXXnlFd9xxR4Xrcc%2BePVqzZo1GjRolm80WkMexcI9SYB3H7t27O//R69Kli1566SWP5qoIfZbUoxQYxzI7O1szZ87U448/rrCwsCLzBtKxvBTCkY8ZhlEkEZelLl26qEuXLs7XnTt3VtWqVbV06VINHz7cubykGs3LixtTcGr0cuMutbzwfN7aX%2BW5pyuZr8D999/v8rpHjx4aNGiQXn31Ved/iEuas7z1mJKSorFjxyomJkbDhg3zeJ6K3GMgHcfFixcrKytLycnJWrBggYYPH64333zTo7nKe58l9Wiz2QLiWC5cuFBXXXWV%2BvXrd8n5A%2BFYXgqX1bwkPDxc6enpRZZnZGQUm3b96c4771R%2Bfr727dvnTPGFE3VBLwW1h4eHy263y263FzuuYJ6S9kPh1O/L/VWee3K3ttKwWq26/fbbdeDAAeevt1aEHjMyMjRs2DCFhIRo4cKFqlKlikfzVOQei1NRj6Mk3XDDDWrXrp3%2B%2BMc/at68edqxY4c%2B%2BeSTgDqWJfVYnIp2LI8fP6433nhDY8eOVWZmptLT05WVlSVJysrK0vnz5wPqWF4K4chLmjVrVuR6Zk5Ojo4ePVrkOml50rhxY1WpUkUHDx50WZ6cnCxJztoL/izc44EDB1S9enXVr1/fOe7QoUPO/3Vgns%2B8H3y5v8pzT%2B7WVlqFayzvPdrtdo0YMUKnT59WYmKiateu7VwXKMfxUj2WpKIdx%2BK0aNFCNptNR48eDZhjeakeS1KRjuXPP/%2Bs3NxcPfLII7rpppt00003Oa8w3HfffXrwwQcD9lgWRjjykq5du2r79u06e/asc9knn3yinJwcdevWzY%2BVFbVhwwbZbDZFR0crODhYHTt21MaNG13GrF%2B/XhEREYqOjpYktWvXTjVq1NCGDRucY/Lz87Vx40Z169bNebqyW7duSk9P1xdffOEcd/LkSSUlJbnsB1/ur/Lck7u1lYbD4dDHH3%2Bs66%2B/3nmdvzz3mJeXp3Hjxmn//v1KTEx0uanVk3kqco/FqWjHsSQ7d%2B5Ufn6%2BGjVqFBDH8nI9FqeiHcsWLVpo2bJlLj9PP/20JOnZZ5/V3/72t4A9loXZpkyZMsXt0SjR9ddfr9WrV%2BuLL75Q/fr1tXPnTk2fPl09e/bUoEGD/FbX0KFD9euvvyozM1NHjhzRG2%2B8oRUrVmjIkCHOa%2BDXXnutFi1apJMnT6p69er68MMP9eabb%2Brpp59Wq1atJF38FUybzaZFixYpJCREdrtdr7zyinbu3KkXXnhBdevWlSRdffXV%2Bv777/Xuu%2B%2Bqfv36OnnypCZPnqyQkBBNnTpVQUEXb3O7kv2VnZ2tLVu2KDk5Wf/61790%2BvRpXX311UpOTladOnUUGhparntyp7bL9ZiamqpRo0YpNzdXGRkZ%2BuGHHzRt2jTt3LlTzz77rPN/IZXnHqdMmaL169dr3Lhxqlevnk6dOuX8CQsLU3BwcIU/jpfrMSUlpcIfR0kaPXq0jh49qoyMDJ06dUqbN2/W9OnTde2112rixImy2WwV/lhersdTp05V%2BGNZtWpVNWrUyOXHbrdr7dq1Gj16tHNcRT%2BWbnH7iUi4rIMHDxoPPfSQ0aZNGyMuLs547rnnXJ7w6Q/PPfeccfvttxutW7c2WrVqZSQkJBhLly41HA6Hy7itW7cad911l9GyZUvjtttuM956660iczkcDmPJkiXGrbfearRq1cro16%2Bf8fXXXxcZl5GRYUyaNMm46aabjLZt2xqPPvqo8fPPPxcZV9r9dezYMSMyMrLYn%2B3bt1eIni5X2%2BV6PHv2rDF8%2BHCjS5cuRsuWLY22bdsagwcPNj7//PMK02P37t0D/jhersdAOI6GcfEBfX369DFiY2ONtm3bGvHx8cacOXOMjIwMj%2Bcqr31ersdAOZaFbd%2B%2BvchDIN2dqyL1WZjFMApd6AMAAKjEuOcIAADAhHAEAABgQjgCAAAwIRwBAACYEI4AAABMCEcAAAAmhCMAAAATwhEAAIAJ4QhAEWvWrFFUVJTzJzo6Wp07d9b48eN1%2BPBhv9f1888/X3Lc3LlzFRUVVUZVXd62bds0d%2B7cYtdFRUVp6tSpZVwRgEsJ8ncBAMqvGTNmqGnTprLb7UpKStKiRYu0Y8cObdy4UTVr1vR3eRXGtm3btGLFCo0ZM8bfpQBwA%2BEIQImuv/56xcTESJLi4uKUn5%2BvuXPnavPmzerfv7%2BfqwMA3%2BCyGgC3FQSlM2fOFFm3YcMGDRw4UG3btlVsbKyGDh2qvXv3uozZs2ePxo8frx49eqh169bq0aOHHn/8cR0/frzIfLt27dKgQYMUExOjzp076%2B9//7vy8vKuqH53apw4caJiY2N15MgRDRs2TLGxserWrZtmzpypnJwcl7GnTp3S2LFjFRsbq/bt22vChAnavXu3oqKiWqd52QAABe1JREFUtGbNGud8K1askCSXS5WFLw2uW7dOd955p9q0aaO77rpLn3322RX1CqD0OHMEwG0F/6D/7ne/c1m%2BaNEizZkzR/369dOIESOUm5ur119/XX/%2B85%2B1atUqNW/eXJJ0/PhxNWnSRPHx8apZs6ZSUlL09ttva8CAAfrnP/%2BpOnXqSJKSk5P1wAMPqGHDhpo5c6ZCQkK0cuVKrV%2B/vtS1u1ujJOXm5mrEiBEaMGCAHnroIX3zzTdasGCBwsLCNHr0aElSVlaW7rvvPp07d05PPPGErrvuOn3xxRcaP368y3ZHjhyprKwsffzxx3r33Xedy%2BvVq%2Bf8%2B9atW7Vnzx6NHTtW1apVU2JiokaPHq2PPvpI/7%2Bd%2Bwlpuo/jAP7eEp06bTIPpkbg4LsIFC9LTZngQSUkCawOER3Cif/FyJ1UxJPMwIYMREWGKwjzFK3wICoepl6iugbhv8DtoOjQnPrt8NCv/VJj2/P42PPwfp38ffbZ7/v%2BXuTD7/tjly9fjnnPRBQjSUT0i8nJSSmEkO/fv5ehUEju7OzIubk5WVxcLO/fvy9DoZDSu76%2BLq9duyZ7e3tV99jZ2ZHFxcWytbX11HUODg5kMBiU%2Bfn50u12K/W2tjaZl5cn/X6/qreyslIKIeTKyspv8zudTimEiCmj3W6XQgjp9XpVvbW1tbKiokK59ng8UgghZ2dnVX2dnZ1SCCEnJyeVWk9PjypPOCGEvHHjhtze3lZqfr9fXr16VQ4NDf12n0R0NvjkiIhOdffuXdW1yWSCy%2BVCXNzPfx3z8/M4ODhAdXW16tgrISEBFosFCwsLSi0YDMLlcmFqagpra2s4PDxUPvv8%2BbPy98LCAoqKipCenq7ULly4gJs3b2JwcDDqfUSTEQA0Gg3KyspUNbPZDJ/Pp1wvLS0hOTkZVqtV1VdVVaV6QhSJgoIC6PV65To9PR1Go/HE40YiOnscjojoVH19fTCZTAgGg/B6vXj58iXa29sxMjKi9AQCAQBATU3NiffQan%2B%2B2vj48WP4fD40NDQgNzcXycnJ0Gg0sNls%2BPbtm9K3ubmpGox%2BOKkWiWgyAkBiYiISEhJUtfj4%2BIgyGo3GqPMZDIZjtV/XI6J/D4cjIjqVyWRSXsIuLCzE0dERJiYm8O7dO1RWVgIA0tLSAABOpxOZmZmn3mt7exszMzNoamqCzWZT6vv7%2B9ja2lL1GgwGZaAJd1ItEpFmjIbBYMCHDx%2BO1WPNSER/Dg5HRBSxJ0%2BeYGpqCk6nE%2BXl5dBqtSgpKUFcXByWl5dRUVFx6nc1Gg2klIiPj1fVJyYmVMdrwF/HTNPT0wgEAsrTmcPDQ3i93phyR5oxGhaLBW/fvsXs7CxKS0uV%2Bps3b471/tjz3t4edDrdP7I%2BEZ0dDkdEFLGLFy/CZrPB4XDg9evXqK6uRnZ2NlpaWjAwMICVlRVYrVakpqYiEAjg48ePSExMREtLC/R6PSwWC0ZHR5GWloasrCwsLi7i1atXSE1NVa1TX1%2BP6elpPHz4EI2NjdDpdHj%2B/Dl2d3djyh1pxmjcvn0bbrcbHR0daG1txZUrVzA3N4f5%2BXkA6qM6IQQAYHh4GFarFVqtFmaz%2BdigSER/Bv7OERFF5cGDB8jMzITL5VKe%2BNTV1eHZs2f48uUL7HY7Hj16hP7%2BfqytrcFisSjfffr0KQoKCuBwONDU1IRPnz5hbGwMKSkpqjWEEBgbG4Ner4fdbkdXVxfMZjMaGhpizh1pxkglJSXB7Xbj%2BvXrcDgcaG5uxtevX9Hd3Q0Aqj1VVVXhzp07ePHiBe7du4eamhpsbGzEvBciOlsaKaU87xBERP8XP35PaWZmBhkZGecdh4hiwGM1IqIYeTweAEBOTg5CoRB8Ph/Gx8dx69YtDkZE/2EcjoiIYqTT6eB2u7G6uopQKIRLly6htrYW9fX15x2NiP4GHqsRERERheEL2URERERhOBwRERERheFwRERERBSGwxERERFRGA5HRERERGE4HBERERGF4XBEREREFIbDEREREVGY76Q5Ds2gPmumAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -300,7 +301,7 @@
 <br>
 
 <h3 id="Histogram_of_read_lengths_after_log_transformation">Histogram of read lengths after log transformation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlsAAAHKCAYAAAA0F44KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdfXzN9f/H8efnnBlzsaGGELn4bhnDurAp19VXxWIuonIVKaFLKmmVJBffhFyMRhcuI5Jv%2BfJN6kv1K7qgdEEZohQptsWwnXM%2Bvz%2B0U8c2ztk5H2dnHvdxY5/P57w/r8/7fD6fPfe5OoZpmqYAAABgCVuwCwAAACjNCFsAAAAWImwBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWyXQypUrFRsbq6%2B%2B%2BqrQ8XfddZc6dOjgMaxDhw4aNWqUT/PZsmWLZsyYoezs7GLXer5Zs2aNOnXqpKZNmyo2Nlbbt28PdklnFBsbqxkzZpxxmp9%2B%2BkmxsbFauXLlOarqzA4ePKgZM2YU2rejRo1SQkJCEKoqKDc3V0888YRatWqlRo0aqUuXLpKkOXPmaP369ee0luJs/4GQkZGhGTNm6Keffjrn8y6Ojz/%2BWN26dVPz5s0VGxt7zt%2BnQChq/dq8ebNiY2O1efPmIFSFswkLdgEIjJkzZ6pixYo%2BvWbr1q2aOXOmUlJSFBkZaVFlpcfhw4f18MMPq1WrVnryyScVHh6uSy65JNhllTq//vqrZs6cqVq1aqlRo0bBLqdIr776qpYtW6bHH39cjRs3Vvny5SVJL7zwgjp27Khrr702yBVaLyMjQzNnzlSLFi1Uu3btYJdzRqZp6v7779cll1yi2bNnKyIiQvXq1Qt2WT4rav1q3Lixli1bpoYNGwapMpwJYauUiIuLC3YJPsvLy5NhGAoLC43VcM%2BePcrLy9NNN92kFi1a%2BPz6EydOqGzZsjIMw4LqcK7t3LlT5cqVU58%2BfSyfl9PplNPpVHh4uOXzstLx48cVERERlHn/%2BuuvyszM1LXXXquWLVsGpM2StE1XrFhRzZs3D3YZKAKnEUuJ008juFwupaWlqWPHjmratKmuuOIKJScna/78%2BZKkGTNm6F//%2Bpck6ZprrlFsbKzHIWiXy6W5c%2Bfq%2BuuvV5MmTdSyZUs9/PDDOnDggMd8TdPUnDlz1L59e8XHx6tbt276v//7P/Xt21d9%2B/Z1T5d/iHvVqlWaOHGiWrdurfj4eO3du1eHDx/WmDFjdOONNyohIUEtW7ZUv3799Nlnn3nMK/9017x585Senq4OHTqoadOm6tu3rzsITZ48Wa1atdLll1%2BuYcOG6ffff/eq/95991316tVLzZo1U0JCgm6//XZt3brVPX7UqFG69dZbJUkPPPCAYmNjPZbvdPmngj/88EM9%2BuijSkpKUrNmzZSbmytJ%2BuGHHzRixAi1bNlSTZo00Q033KDFixd7tHHy5ElNnDhRXbp00eWXX64WLVqoV69ehZ5COHr0qFJTU5WYmKiEhAQNGjRIe/bs8WrZi%2BJNjfnv6%2BrVqzV16lS1atVKl112mQYMGKDdu3d7TOvNurJ582b16NFDkvToo4%2B618vTT4Xu3btXgwcPVkJCgtq2bauJEye6%2BzbfkiVLdNNNNykhIUEJCQm6/vrrNWXKlLMu98yZM9WzZ0%2B1aNFCl112mVJSUrR8%2BXKZpumeJjY2VsuXL9eJEyfcNea/5zk5OXrjjTfcw/%2B%2Bnhw6dEhPPPGE2rRpoyZNmqhDhw6aOXOmHA6He5r89Xzu3LlKS0tThw4dFB8fr02bNp219r/7%2BeefNXLkSI/376WXXpLL5fKY7sCBA7r33nuVkJCgK664QiNGjNC2bdvOemp55cqVuu%2B%2B%2ByRJ/fr18%2BgHSerbt686d%2B6sTz/9VL1791azZs00evRoSadOxw8cOFCtWrVS06ZNdcMNN2jy5MnKycnxmEf%2BaWN/3%2B8ZM2aoTZs2kqTJkycrNjbW41KMzz77TP3791dCQoKaNWum3r17a8OGDQWWt6htesaMGYqNjdWOHTt07733urfXCRMmyOFwaPfu3Ro0aJASEhLUoUMHzZ0716Ntb7f1M61fRZ1GPNu%2BLb9/YmNjtXPnTj344IO6/PLLddVVV%2BnRRx/VH3/8UeQ6AO%2BFxiGF85TL5fLYCef7%2B06/KPPmzdPMmTN1991364orrnBv8PkbTs%2BePZWVlaWFCxdq5syZio6OliT3IegxY8Zo2bJl6tOnj9q1a6f9%2B/fr%2Beef1yeffKKVK1eqatWqkqSpU6fqhRdeUK9evXTdddfpwIEDSk1NVV5eXqGH6KdMmaLmzZvrqaeeks1m0wUXXKDDhw9LkoYPH64LL7xQOTk5euedd9S3b1%2B98sorSkxM9GhjyZIliomJ0RNPPKHs7GxNmjRJQ4YMUbNmzRQWFqbx48fr559/1qRJk/TYY49pzpw5Z%2Byrt956SyNHjlSrVq303HPPKTc3V/PmzXPP/4orrtDQoUMVHx%2BvsWPH6sEHH1RiYqJXp21Hjx6tdu3a6V//%2BpeOHz%2BusLAwZWRkqHfv3rrooov0yCOPKDo6Wh9%2B%2BKHGjRunI0eOaPjw4ZJOXROUlZWlgQMHqnr16srLy9NHH32ke%2B65RxMmTFDXrl0lnVofhg4dqq1bt2rYsGGKj4/Xli1bNHjw4LPWVxRva8w3ZcoUXXbZZXrmmWd09OhRTZ48WXfffbfWrFkju90uybt1pXHjxpowYYIeffRR3X333WrXrp0kqUaNGu555eXl6e6771aPHj00cOBAffrpp0pLS1PFihXddf3nP//RU089pb59%2B%2BqRRx6RzWbT3r17lZGRcdZl379/v3r16qWaNWtKkr744guNGzdOBw8edLe/bNkypaWlafPmze5fYOrUqaNly5apf//%2BSkxM1NChQyXJvZ4cOnRIPXv2lM1m07Bhw1SnTh1t3bpVs2fP1v79%2BzVhwgSPOhYuXKhLLrlEjzzyiCpWrKi6det6/f4dPnxYvXv3Vl5enu677z7VqlVLGzZs0KRJk7Rv3z6NGTNGkpSTk6N%2B/fopKytLI0eOVN26dfXBBx/ogQceOOs82rVrpwcffFBTpkzRE088ocaNG7v7Id%2BhQ4f00EMP6Y477tADDzwgm%2B3U7/c//PCD2rRpo/79%2BysiIkK7d%2B/W3LlztW3bNi1YsMBjPoF4v3v27KlLL71Uw4cPd4fA/KOEn3zyiQYOHKiYmBg988wzCg8P16uvvqohQ4ZoypQpuvHGGz3qKWybznf//ffrpptuUu/evfV///d/mjdvnhwOhz766CPdeuutGjRokN566y1NnjxZdevW1T//%2BU9J3m/rZ1q/CuPNvu3v7rnnHt14443q0aOHvv/%2Bez333HOSVGDdRDGYKHFef/11MyYm5ox/27dv7/Ga9u3bm4888oj7%2B7vuusvs0qXLGeczb948MyYmxvzxxx89hmdkZJgxMTHmmDFjPIZ/%2BeWXZkxMjDllyhTTNE0zMzPTbNKkiXn//fd7TLd161YzJibG7NOnj3vYpk2bzJiYGPO222476/I7HA4zLy/P7N%2B/vzls2DD38B9//NGMiYkxb7rpJtPpdLqHv/LKK2ZMTIw5ZMgQj3aeeeYZMyYmxvzjjz%2BKnJfT6TRbtWpldu7c2aPNo0ePmi1btjR79epVYBnWrl171mXIfw8ffvjhAuMGDhxotmnTpkBdY8eONePj483MzMxC28zvl9GjR5tdu3Z1D9%2B4caMZExNjzp8/32P62bNnmzExMeb06dPPWGt%2Bv77%2B%2Bus%2B15jfJ4MHD/aYbs2aNWZMTIy5detW0zR9W1e2bdtWoJ58jzzyiBkTE2OuWbPGY/jgwYPNjh07etR5xRVXnHG5veF0Os28vDxz5syZZosWLUyXy%2BVRS/PmzQu8pnnz5h7bYr7HH3/cbN68ubl//36P4S%2B%2B%2BKIZExNj7ty50zTNv96Pa6%2B91szNzfWqztO3/8mTJ5sxMTHml19%2B6THdk08%2BacbGxpq7d%2B82TdM0Fy1aZMbExJgbN24sUGtR78HfrV271oyJiTE3bdpUYFyfPn3MmJgY86OPPjpjGy6Xy8zLyzM/%2BeQTMyYmxty%2Bfbt7XCDf7/x%2BnTdvnsfwm2%2B%2B2WzZsqV59OhR9zCHw2F27tzZbNOmjfs9P9M2PX36dDMmJsZ86aWXPIZ36dLFjImJMdetW%2BcelpeXZyYlJZnDhw8vstaitnXTLHr9yt8W898LX/Zt%2BfXPnTvXo80xY8aY8fHxHus9iofTiCXYpEmTtGLFigJ/L7/88rO%2BNj4%2BXjt27NCYMWP0wQcf6OjRo17PN/8wdEpKisfwpk2bqkGDBvr4448lnfqNPzc3VzfccIPHdM2bN1etWrUKbTv/N7nTvfrqq0pJSVF8fLzi4uLUuHFjffzxx9q1a1eBadu2bev%2BDVmSGjRoIEnuoyCnD//555%2BLWlTt2bNHv/76q7p06eLRZoUKFfTPf/5TX375pY4fP17k68/m9OU9efKkNm3apOuuu07lypWTw%2BFw/23Tpo1OnjypL774wj392rVr1bt3byUkJLj7ZcWKFR79kv9%2BJScne8yrc%2BfOxarZ1xolFbg7NjY2VtJffV%2BcdaUohmEUOr%2B/v8/x8fHKzs7Wgw8%2BqPXr17uPnnrj448/1oABA3T55ZerUaNGaty4saZPn67MzEyvT0sXZsOGDUpMTFS1atUK9Kl06gjL33Xo0EFlypQp1rw2bdqkhg0bqmnTph7Du3XrJtM03ackP/30U1WoUMFdQ77irjuni4qKKvT6qB9//FEjRozQ1Vdf7e7j/GvfTj/9bOX7nZOToy%2B//FIdO3ZUhQoV3MPtdrtuuukmHThwoEA9Re3DpML3QYZhePRvWFiY6tatq/3793tM68227ovi7NsK6%2BeTJ0/6td7jFE4jlmANGjRQfHx8geGVKlUqcO3U6e666y6VL19eb775ppYuXSq73a4rrrhCI0eOLLTNv8vMzJQkVatWrcC4atWquXdy%2BdNdcMEFBaa78MILC207/3Tl37388suaOHGievfurfvuu09VqlSRzWbT888/X2BHJ53agf9d/g%2BkooafPHmy0Fok6ciRI0XWVa1aNblcLmVnZxf7ot7T283MzJTD4dDChQu1cOHCM9a0bt063X///br%2B%2But1xx136MILL5Tdbterr76q119/3aPNsLAwValS5Yzz9pYvNearXLmyx/f5p2hOnDjhblPybV0pSkREhMqWLVtgfn9/n7t27Sqn06nly5fr3nvvlcvlUnx8vO6//35dffXVRba9bds2DRo0SC1atNDTTz%2BtGjVqqEyZMlq/fr3mzJnjXp7i%2BP333/W///3PfbrtdKf3aXHfP%2BlUfxcWYvO36fz3IzMzs9D%2BL%2Bx9Ko7CluHYsWO69dZbVbZsWffdgeXKldOBAwc0fPjwAn1s5fudnZ0t0zSL3P6lv/rqTMuUr7B9UGH1lylTxuMXYG%2B3dV8UZ992tu0YxUfYKqXCwsJ0%2B%2B236/bbb1d2drY%2B%2BugjTZ06VXfccYc2bNhwxvCQv8H9%2BuuvHtfK5A/L/6GeP11hv/X89ttvhe7sC7tr580331SLFi301FNPeQw/duzYWZbSf/nLcujQoQLjfv31V9lsNr8ei3H68kZGRsput6tLly7uC%2B5Pl38L/ZtvvqnatWtr2rRpHu3kXyOUr3LlynI4HDpy5IhH4CpsmbzhS43eKs664q/u3bure/fuysnJ0aeffqoZM2borrvu0ttvv13k/P7zn/8oLCxML7zwgscPyEA8j6lKlSqKjY3V/fffX%2Bj403%2B58ecOt8qVKxe5TufXkj/dtm3bCkz322%2B/FXvef1fYMmzatEm//vqrFi5c6HFXr78XYhfn/Y6MjJTNZvOqr/JZceeht9u6L6zet8E3nEY8D0RGRur666/XrbfeqszMTPfh6/zfWk4/8pOUlCTp1A7g77Zt26Zdu3a5xzdr1kzh4eFas2aNx3RffPFFgUPkZ2IYRoFb2nfs2FHgVJUV6tWrp%2BrVq2v16tUeNx7k5ORo3bp1at68eUBvVY%2BIiFBiYqK%2B/fZbxcbGKj4%2BvsDf/J2kYRgqU6aMx8730KFDevfddz3azL%2BB4K233vIYvnr1astr9JYv60qgf5suX7682rZtqyFDhigvL%2B%2BMF8kbhiG73e5x2uXEiRMFtoUzCQ8PL7T2du3a6fvvv1edOnUK7dPq1av7tmBn0LJlS2VkZOibb77xGL5q1SoZhuFeZ6688kodO3ZMGzdu9JjuP//5j1fzKc57lb8%2Bn77NL1261Os2zsSX97t8%2BfJq1qyZ3nnnHY9lcLlcevPNN1WjRo1z8iwub7d1qej163Tnet%2BGM%2BPIVik1ZMgQ/eMf/1CTJk1UtWpV7d%2B/X/Pnz1etWrXcdzXFxMRIOvXbU0pKisLCwlSvXj3Vr19fvXr10qJFi2Sz2dSmTRv33YgXXXSRBgwYIOnUb8W33367XnjhBUVGRrrvMJs1a5aio6O9/g2wXbt2SktL0/Tp03XllVdqz549SktLU%2B3ateV0Oi3pn3w2m00PPfSQRo4cqbvuuku9evVSbm6uXnzxRWVnZ2vEiBEBn%2Bdjjz2mW2%2B9VbfddptuueUW1apVS8eOHdO%2Bffv03nvvue/GateundatW6cxY8aoY8eOOnDggNLS0lStWjX98MMP7vZatWqlK6%2B8Us8%2B%2B6yOHz%2BuJk2aaMuWLfr3v/9teY3e8mVdqVOnjsqVK6e33npLDRo0UPny5VWtWjWfwkhqaqrKlSunyy67TNHR0Tp06JDS09NVqVKlM55Gb9u2rV5%2B%2BWWNGDFCvXr1UmZmpl588UWfnm8VExOjTz75RO%2B9956io6NVoUIF1a9fX/fee68%2B%2Bugj9e7dW3379lW9evWUm5urn376Se%2B//76eeuqpAkeSi2vAgAFatWqV7rrrLt17772qWbOmNmzYoCVLluiWW25xB4iUlBTNnz9fDz/8sO677z7VrVtX77//vj788ENJ8gidhfnHP/4hSXrttddUoUIFlS1bVrVr1z5jGE9ISFBUVJSefPJJDR8%2BXGFhYXrrrbf03XffFXt5i/t%2BS9KDDz6ogQMHql%2B/fho4cKDKlCmjJUuWaOfOnZoyZco5eYaWt9u6VPT6dbpg7NtQNMJWKZWYmKi3335by5cv19GjRxUdHa2rrrpKQ4cOdV/LlJiYqLvuuktvvPGGli9fLpfLpQULFigxMVFjxozRxRdfrBUrVmjJkiWqWLGiWrdurREjRnjsSB944AFFRERo6dKlWrlyperXr68xY8Zo6tSpXh%2BiHjJkiI4fP64VK1Zo3rx5atiwocaMGaP169cXuGjYCsnJyYqIiFB6eroeeOAB2e12NWvWTAsWLNBll10W8Pk1bNhQK1euVFpamqZNm6bDhw%2BrUqVKqlu3rtq2beuernv37vr999%2B1dOlSvf7667r44ot155136sCBA5o5c6Z7OpvNptmzZ2vChAmaN2%2Be8vLydNlllyk9Pb3ABemBrtEX3q4rERERGj9%2BvGbOnKlBgwYpLy9Pw4cP1z333OP1vK644gqtXLlSa9euVVZWlqpUqaLLL79ckyZNcj%2B2pDAtW7bU%2BPHjNXfuXA0ZMkTVq1fXzTffrKpVq%2Bqxxx7zat6PPfaYnnrqKT344IM6fvy4WrRooYULF6patWpasWKF0tLS9OKLL%2BrgwYOqUKGCatWqpdatWwf0lE7VqlW1dOlSPffcc3ruued07Ngx1a5dWw899JBuv/1293Tly5fX/PnzNX78eD377LMyDMP9CQl33nmnKlWqdMb5XHzxxRo9erQWLFigfv36yel0asKECerWrVuRr6lSpYpeeOEFTZo0SQ899JAiIiJ0zTXXaOrUqQVuyvFWcd9vSWrRooVeeeUVzZgxQ48%2B%2BqhcLpcuvfRSzZ49W%2B3bty9WPb7ydluXil6/CnOu920ommGaXjy0CfDBjz/%2BqBtuuEHDhw/XkCFDgl0OSjDWlZJpzpw5mjZtmjZs2BCwo23A%2BYwjW/DLjh07tHr1aiUkJKhixYras2eP5s2bp4oVK7qfBA5IrCsl1aJFiyRJ9evXV15enjZt2qSFCxfqpptuImgBAULYgl8iIiL09ddfa8WKFfrjjz9UsWJFJSYm6v777/f5ln6UbqwrJVO5cuU0f/58/fTTT8rLy9NFF12kwYMH6%2B677w52aUCpwWlEAAAAC/HoBwAAAAsRtgAAACxE2AIAALAQYQsAAMBC5/XdiKZpyuXi/oBAsNkM%2BjJA6MvAoB8Dh74MHPrSfzabcU6e7B9I53XYMgxD2dk5cjhcwS4lpIWF2VSlSgX6MgDoy8CgHwOHvgwc%2BjIwqlatILs9tMIWpxEBAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwUFiwCwAAnJ3LNJWZeywgbVUOryCbYQSkLQBnR9gCgBCQmXtMk3e8Lbvh3wkJp%2BnSyEs7qmrZigGqDMDZELYAIETYDZvCbHb/GnEFphYA3gv6NVsrV65UbGxsgb%2BTJ0/2mG7jxo3q2rWr4uPjdd1112nx4sVBqhgAAMB7JebI1rx581SpUiX399WrV3f/f%2BvWrRo6dKi6dOmiUaNGacuWLRo3bpzCw8PVs2fPYJQLAADglRITtho3bqyqVasWOm7WrFmKi4vT%2BPHjJUlJSUn65Zdf9Pzzz6t79%2B6y2YJ%2BgA4AAKBQJT6l5ObmatOmTerUqZPH8OTkZB06dEjffvttkCoDAAA4uxJzZKtz5846cuSIatasqZtvvll33HGH7Ha79u3bp7y8PNWvX99j%2BoYNG0qSdu3apSZNmhR7vnZ7ic%2BbJV5%2BH9KX/qMvA6M09qPdaZPx55c/DBmyh9kUFuZd3xTVly7T1JEAPYqiynnyKIrSuF4GQyiuKkEPW9HR0brnnnvUrFkzGYah9957T9OmTdPBgwf1xBNPKCsrS5IUGRnp8br87/PHF1dkZIRfr8df6MvAoS8DozT1o%2BO461RI8vOyCdNlKiqqvKpEVPDpdaf35aHjf%2Bi5L9fJ7mc9TpdLY5O66oKI8%2BdRFKVpvYR3gh62WrdurdatW7u/b9WqlcqWLav58%2BdryJAh7uFGEVG2qOHeys4%2BLqeTe6H9YbfbFBkZQV8GAH0ZGKWxH7NO5sjpcMmw%2BbfPc7pcysrKUdgJ749sFdaXWSdzJJf8PtIml3yqJ5SVxvUyGKKiIkLuWu2gh63C3HDDDXrppZe0fft21apVS1LBI1jZ2dmSCh7x8pXT6ZLDwUofCPRl4NCXgVGa%2BtHpcMn888sfpkw5HS457L71y%2Bl9Gex6QllpWi%2BDwfRvlQuKEh8N69SpozJlymj37t0ewzMyMiRJDRo0CEZZAAAAXimRYWvNmjWy2%2B2Ki4tTeHi4kpKStHbtWo9pVq9erejoaMXFxQWpSgAAgLML%2BmnEQYMGKSkpSTExMZKkd999V6%2B99pr69eun6OhoSdKwYcPUp08fpaamKjk5WVu2bNHy5cs1duzYkDtvCwAAzi9BD1v16tXTihUrdODAAblcLl1yySUaPXq0%2Bvbt654mISFBaWlpmjJlilatWqUaNWooNTWVp8cDAIASL%2BhhKzU11avp2rZtq7Zt21pcDQAAQGBxDg4AAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALBQ0D%2BIGgBw/jJNU5m5OQFpq3J4BdkMIyBtAYFE2AIABI3TNJW%2B632Vsdn9bMelkZd2VNWyFQNUGRA4hC0AQFDZZFOYn2FLrsDUAliBa7YAAAAsRNgCAACwEGELAADAQoQtAAAAC3GBPABYyGWaysw95nc7mbk5khmAggCcc4QtALBQZu4xTd7xtuyGfycScl0O2WVnpw2EILZbALCY3fD/0QYOF882AEIV12wBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWwAAABYibAEAAFiIsAUAAGAhwhYAAICFCFsAAAAWImwBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWCgs2AUAAM4d0zSVmZvj9fR2p02O4y5lncyR0%2BFyD8/MzZFMKyoESh/CFgCcR5ymqfRd76uMze7V9IYM2cNscjpcMv%2BWrnJdDtll54cI4AW2EwA4z9hkU5gPYSvMZpNhMzzClsPlOsOrAPwd12wBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWwAAABYibAEAAFiIsAUAAGAhwhYAAICFCFsAAAAWImwBAABYiLAFAABgoRIVto4dO6Y2bdooNjZWX331lce4jRs3qmvXroqPj9d1112nxYsXB6lKAAAA75WosJWWlian01lg%2BNatWzV06FDFxcVp7ty5SklJ0bhx47R8%2BfIgVAkAAOC9EhO2du3apSVLluiee%2B4pMG7WrFmKi4vT%2BPHjlZSUpKFDh6pHjx56/vnn5XK5glAtAACAd0pM2HrmmWfUu3dv1atXz2N4bm6uNm3apE6dOnkMT05O1qFDh/Ttt9%2BeyzIBAAB8EhbsAiTpv//9r3bs2KHp06frm2%2B%2B8Ri3b98%2B5eXlqX79%2Bh7DGzZsKOnUEbEmTZoUe952e4nJmyErvw/pS//Rl4FRkvrR7rTJ%2BPPLH4YMnfpzbtsxjL/9a/71mmDVc6Z27GE2hYUF/z0vSklaL0OZ4d%2BqEhRBD1vHjx/XxIkT9eCDD6pixYoFxmdlZUmSIiMjPYbnf58/vrgiIyP8ej3%2BQl8GDn0ZGCWhHx3HXadCgM2/H7D2P8OIv2GiuO2cHhCCXc/pTJepqKjyqhJRwa92zoWSsF7i3Ap62Jo9e7YuuOACdevW7YzTGUVE2aKGeys7%2B7icTq778ofdblNkZAR9GQD0ZWCUpH7MOpkjp8Mlw%2BbfvsrpMCVDcsi/5fG1HcM41Z9Op0umGfx6imzH5VJWVo7CTpTco0YlaTOjeywAACAASURBVL0MZVFREbL5%2BcvLuRbUsLV//3699NJLmjVrlo4ePSpJysnJcf977NgxRUVFSSp4BCs7O1tSwSNevnI6XXI4WOkDgb4MHPoyMEpCPzodLpl/fvnDlCnDNM59O3%2BeOjRNebwmaPWcoR2nwyWHveRvNyVhvQxlpn%2BrSlAENWz99NNPysvL05133llgXL9%2B/dSsWTMtWrRIZcqU0e7du9WmTRv3%2BIyMDElSgwYNzlm9AAAAvgpq2GrUqJEWLFjgMWz79u2aMGGCnnrqKcXHxys8PFxJSUlau3atBgwY4J5u9erVio6OVlxc3DmuGgAAwHtBDVuRkZFKTEwsdFzjxo3VuHFjSdKwYcPUp08fpaamKjk5WVu2bNHy5cs1duzYkDtvCwAAzi9Bv0DeGwkJCUpLS9OUKVO0atUq1ahRQ6mpqerZs2ewSwMAADijEhe2EhMT9d133xUY3rZtW7Vt2zYIFQEAABQf5%2BAAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQgEJW7/88ovef/99HTlyJBDNAQAAlBphvr5g6tSpOn78uEaPHi1J%2BuijjzRkyBDl5eUpMjJSixYt0j/%2B8Y%2BAFwoAABCKfD6ytW7dOjVs2ND9/bRp0xQbG6uZM2eqZs2amj17dkALBAAACGU%2BH9k6ePCg6tSpI0k6cuSIvvrqK6Wnp6t169Y6efKkJk2aFPAiAQAAQpXPYcs0TZmmKUnasmWL7Ha7rrzySklStWrVuG4LQKngMk1l5h7zu53M3BzJDEBBAEKWz2GrTp06%2Bt///qeWLVtqzZo1io%2BPV7ly5SRJv/76qyIjIwNeJACca5m5xzR5x9uyG/7dR5Trcsguu%2B87WwClhs/bf69evTR27Fj9%2B9//VnZ2tsaPH%2B8et2XLFo/ruQAglNkNm8Jsdr/acLhcAaoGQKjyOWzdeuutioqK0tatWxUfH68uXbq4x508eVIpKSkBLRAAACCUFevIdqdOndSpU6cCw59%2B%2Bmm/CwIAAChNeII8AACAhbw6stWhQwcZhuF1o%2B%2B%2B%2B26xCwIAAChNvApbLVq08AhbmzZt0qFDh5SQkKDo6GgdOnRIW7duVbVq1ZSYmGhZsQAAAKHGq7A1ceJE9/9XrVqlLVu2aN26dapZs6Z7%2BP79%2BzVw4EC1aNEi8FUCAACEKJ%2Bv2Zo7d67uuecej6AlSbVq1dKwYcOUnp4esOIAAABCnc9ha9%2B%2BfapUqVKh46KiorR//36/iwIAACgtfA5btWrV0ooVKwod99prrxU44gUAAHA%2B8/k5W3feeadGjx6tHj16qHPnzrrwwgv122%2B/afXq1frmm280btw4K%2BoEAAAIST6HrW7dukmSpk2b5nHhfHR0tJ5%2B%2Bml17949cNUBAACEuGI9Qb5bt25KSUnR7t27lZmZqcqVK6t%2B/fo%2BPYsLAADgfFDsD6I3DEMNGjQIZC0AAAClTrHD1vfff69du3bp5MmTBcZ17drVr6IAAABKC5/D1vHjx3X33Xdr06ZNMgxDpmlKkscpRMIWAADAKT4/%2BiEtLU379%2B/XokWLZJqmZs6cqZdfflnXXXed6tatqzfeeMOKOgEAAEKSz2Hr3Xff1eDBg5WQkCBJuuiii9SyZUtNnz5djRs31pIlSwJeJAAAQKjyOWzt379f9evXl91ul2EYOn78uHtccnKy3n333YAWCAAAEMp8DluVKlVSTk6OJOmCCy7Q3r173eMcDod7HAAAAIoRtmJjY/XDDz9IkhITE/XCCy/os88%2B07Zt2zRr1ixdeumlga4RAAAgZPl8N2L37t3dR7Puv/9%2B3Xrrrerbt68kKTIyUunp6YGtEAAAIIT5HLZuvPFG9/8vvvhivf322%2B7HQCQkJKhy5coBLRAAACCUFfuhpvnKly%2BvDh06BKIWAACAUsfna7YkKTc3V0uXLtWDDz6o22%2B/3X0N1/r16/Xjjz8Gsj4AAICQ5vORrcOHD6t///7auXOnLrzwQv3%2B%2B%2B86duyYpFPP4Prwww81ZsyYQNcJAAAQknw%2BsvXss88qOztbr7/%2BujZs2OD%2BuB7p1N2Jn376aUALBAAACGU%2Bh60NGzbo3nvvVePGjT0%2BD1GSqlevrgMHDgSsOAAAgFDnc9g6evSoatasWeg4h8Mhp9Ppd1EAAAClhc9hq3bt2vriiy8KHbdt2zbVq1fP76IAAABKC5/DVnJysubOnav169e7r9cyDEPbtm3TggUL1KVLl4AXCQAAEKp8vhtx8ODB2rJli4YPH66oqChJ0qBBg5SZmanWrVurX79%2BAS8SAAAgVPkctsqUKaO5c%2BdqzZo12rBhg37//XdVqVJF7dq1U6dOnWSzFevRXQAAAKWST2Hr5MmTWrVqla644gp16tRJnTp1sqouAACAUsGnw1Bly5bVuHHj9Pvvv1tVDwAAQKni8zm/iy%2B%2BWL/99lvACvjggw/Up08fJSUlqUmTJrrmmms0YcIE/fHHHx7Tbdy4UV27dlV8fLyuu%2B46LV68OGA1AAAAWMXna7b69eun9PR0tWnTRhUrVvS7gKysLCUkJKh///6KjIzUzp07NWPGDO3cuVMvvfSSJGnr1q0aOnSounTpolGjRmnLli0aN26cwsPD1bNnT79rAAAAsIrPYSsjI0NHjhxRhw4dlJSUpOjo6AJPkk9NTfW6vc6dO6tz587u7xMTExUeHq7HH39cBw8eVPXq1TVr1izFxcVp/PjxkqSkpCT98ssvev7559W9e3cuygcAACWWz2Fr0aJF7v%2BvW7euwHjDMHwKW4WpXLmypFNPpM/NzdWmTZs0cuRIj2mSk5P12muv6dtvv1WTJk38mh8AAIBVfA5bO3bssKIOOZ1OORwOZWRkaNasWWrfvr1q1aqljIwM5eXlqX79%2Bh7TN2zYUJK0a9cuv8KW3c5RMX/l9yF96T/6MjAC0Y92p03Gn1/%2BMGTo1J/QbCf/xIVhSDL/ek1JXC57mE1hYSV322H7DgzDv1UlKHwOW1Zp3769Dh48KElq3bq1pkyZIunUNV2SFBkZ6TF9/vf544srMjLCr9fjL/Rl4NCXgeFPPzqOu0798PbzMgX7nyHC3xAQ7HZODwjBrud0pstUVFR5VYmo4Fc75wLb9/mnxISt9PR05eTkKCMjQ2lpaRoyZIhefvll9/jTrws723BvZWcfl9Pp8quN853dblNkZAR9GQD0ZWAEoh%2BzTubI6XDJsPm3j3E6TMmQHPLv/QxWO4Zxqj%2BdTpf%2B/IS2oNZTZDsul7KychR2ouQeNWL7DoyoqIiQu1a7xIStSy%2B9VJJ02WWXKS4uTt27d9c777zjPl14%2BhGs7OxsSQWPePnK6XTJ4WClDwT6MnDoy8Dwpx%2BdDpfMP7/8YcqUYRqh286fpw5NUx6vKYnL5XS45LCX/O2G7ds/pn%2BrSlCUyGjYqFEj2e127du3T3Xq1FGZMmW0e/duj2kyMjIkSQ0aNAhGiQAAAF4pkWFr69atcjqdql27tsLDw5WUlKS1a9d6TLN69WpFR0crLi4uSFUCAACcnVenESdMmKABAwbooosu0s8//6zo6GiVKVMmIAUMHz5cTZo0UWxsrMqVK6cdO3Zo3rx5io2N1bXXXitJGjZsmPr06aPU1FQlJydry5YtWr58ucaOHRty520BAMD5xauwNX/%2BfHXq1EkXXXSRrrnmGi1btkxNmzYNSAFNmzbVmjVrlJ6eLtM0VatWLd18880aNGiQwsPDJUkJCQlKS0vTlClTtGrVKtWoUUOpqak8PR4AAJR4XoWtqKgo9%2BchmgG%2BMu3OO%2B/UnXfeedbp2rZtq7Zt2wZ03gAAAFbzKmw1a9ZMjz32mPto1qRJk1SpUqVCpzUMQ7Nnzw5chQAAACHMq7D15JNPavz48crIyJBhGNq7d6/7FN/p/H3uFQAAQGniVdiqVauWZs2aJenU87DS0tICds0WAABAaebzrXwLFizg2VYAAABe8vkJ8i1atJAk7d27V5s2bVJmZqaqVKmixMRE1a1bN%2BAFAgAAhDKfw5Zpmnr66ae1dOlSuVx/fdyAzWbTrbfeqtTU1IAWCAAAEMp8DluvvPKKlixZoltuuUUpKSmqXr26Dh48qFWrVmnJkiWqXbu2BgwYYEGpAAAAocfnsLV8%2BXL309zzVa9eXU2bNpXNZtNrr71G2AIAAPiTzxfI//jjj2rfvn2h49q3b68ff/zR76IAAABKC5/DVqVKlfTzzz8XOu7nn39WxYoV/S4KAACgtPA5bF111VWaNm2avv76a4/h27dv1/Tp09WqVauAFQcAABDqfL5ma8SIEerVq5d69uyphg0bKjo6WocOHVJGRoaqVaumESNGWFEnAABASPI5bF100UVatWqVXn75ZW3evFk//fSTKleurDvvvFP9%2B/dX1apVragTAADLuUxTmbnHAtJW5fAKsvERdlAxwpYkVa1alSNYAIBSJzP3mCbveFt2w%2BerbDw4TZdGXtpRVctyHTOKGbYAACit7IZNYTa7f424zj4Jzh/%2BRXcAAACcEWELAADAQoQtAAAAC/kctnJzc2WaphW1AAAAlDo%2Bha2TJ0%2BqWbNmWr9%2BvVX1AAAAlCo%2Bha2yZcuqcuXKioiIsKoeAACAUsXn04jt27fXO%2B%2B8Y0UtAAAApY7Pz9nq1KmTHnvsMT366KP65z//qejoaBmnPSG3cePGASsQAAAglPkctgYNGiRJeuONN7Rq1SqPcaZpyjAMbd%2B%2BPTDVAQAAhDifw9aECROsqAMAAKBU8jlspaSkWFEHAABAqeTXQ013796tzz//XDk5OYGqBwAAoFQpVthatWqV2rRpo06dOqlPnz7as2ePJOm%2B%2B%2B7Ta6%2B9FtACAQAAQpnPYWvt2rUaNWqU4uLi9Pjjj3s8Tb5x48Zau3ZtQAsEAAAIZT6HrfT0dHXr1k1z5sxRr169PMbVr19fGRkZASsOAAAg1Pkctnbt2qVOnToVOq5y5crKzMz0uygAAIDSwuewFRERoT/%2B%2BKPQcQcPHlRUVJTfRQEAAJQWPoethIQELV682ONarXwrV65UixYtAlIYAABAaeBz2Bo2bJi%2B%2BOIL9ejRQwsXLpRhGFq3bp2GDBmizz77TEOGDLGiTgAAgJDkc9iKj4/X3LlzlZOTo4kTJ8o0Tb3wwgvas2eP0tPTFRMTY0WdAAAAIcnnJ8hLUlJSktauXat9%2B/bpt99%2BU5UqVVSvXr1A1wYAABDyihW28tWpU0d16tQJVC0AAAClTrHC1k8//aT09HRt3rxZmZmZqly5shITEzV48GBdfPHFga4RAAAgZPl8zdb27duVkpKilStXqlq1arr66qtVrVo1rVy5UikpKdq%2BfbsVdQIAAIQkn49sjR8/XlWrVtXLL7%2BsmjVruofv379fAwcO1Pjx47Vw4cKAFgkAABCqfD6ytW3bNt1zzz0eQUuSatWqpeHDh2vbtm0BKw4AACDU%2BRy2KlWqpEqVKhU6LjIyUhUrVvS7KAAAgNLC57DVuXNnLV%2B%2BvNBxr732WpGfmwgAAHA%2B8uqarXXr1rn/37hxY7399tvq0aOHOnfurAsvvFC//fabVq9ercOHD%2Bv666%2B3rFgAAIBQ41XYuvfee2UYhkzTdP/7yy%2B/6Ouvvy4w7cMPP6zk5OSAFwoAABCKvApbCxYssLoOAACAUsmrsNWiRQur6wAAoNhM01Rmbo7f7WTm5khmAAoC/savj%2BsBAKAkcJqm0ne9rzI2u1/t5LocssvOD0cEVLHWp/Xr1%2BvNN9/Uzz//rJMnT3qMMwxDb775ZkCKAwDAWzbZFOZn2HK4XAGqBviLz2Fr3rx5mjx5sqpWrao6deooIiLCiroAAABKBZ/D1pIlS9S9e3eNHTtWdrt/v0EAAACUdj4/1DQzM1OdO3cmaAEAAHjB57B12WWXaffu3VbUAgAAUOr4HLZGjx6txYsX691331Vubq4VNQEAAJQaPl%2BzVbduXV111VUaPny4DMNQuXLlPMYbhqHPP/88YAUCAACEMp/D1rPPPqtFixapUaNGql%2B/vsLDw62oCwAAoFTwOWy98cYbGjx4sEaMGBGQAtauXau33npL33zzjbKysnTxxRfrlltuUe/evWWz/XWWc%2BPGjZo6dap27dqlGjVqaMCAAbrtttsCUgMAAIBVfA5bTqdTV111VcAKePnll1WzZk09/PDDuuCCC7R582Y988wz%2BvHHH/XII49IkrZu3aqhQ4eqS5cuGjVqlLZs2aJx48YpPDxcPXv2DFgtAAAAgeZz2Lr66qv15ZdfqmXLlgEpYM6cOapatar7%2B6SkJOXk5Gjx4sV64IEHFB4erlmzZikuLk7jx493T/PLL7/o%2BeefV/fu3T2OgAEAAJQkPqeUoUOH6s0339T8%2BfO1d%2B9eZWZmFvjri78HrXyNGjXSyZMnlZmZqdzcXG3atEmdOnXymCY5OVmHDh3St99%2B6%2BsiAAAAnDM%2BH9nq0qWLJGnixImaOHFiodNs377dr6I%2B//xzVa5cWRdccIH27NmjvLw81a9f32Oahg0bSpJ27dqlJk2aFHtedjtHxfyV34f0pf/oy8AIRD/anTYZf375w5ChU39Csx3D%2BNu/5l%2BvCfXlOhft2MNsCgv7ax1k%2Bw4Mw7%2B3Jih8DlvDhg2TYeGSfvXVV1q5cqWGDRsmu92urKwsSVJkZKTHdPnf548vrshIPtsxUOjLwKEvA8OffnQcd536YennZQr2P39o//2Hbii2c3pACHY9Jb0d02UqKqq8qkRUKDCO7fv843PYuueee6yoQ5J06NAh3XvvvYqPj9fgwYM9xhUV8PwNftnZx%2BV08inv/rDbbYqMjKAvA4C%2BDIxA9GPWyRw5HS4ZNv/2MU6HKRmSQ/69n8FqxzBO9afT6ZJpBr%2BekGnH5VJWVo7CTnge2WL79l9UVETIXavtc9iyyh9//KHBgwerXLlymj17tsqUKSNJioqKklTwCFZ2drakgke8fOV0uuRwsNIHAn0ZOPRlYPjTj06HS%2BafX/4wZcowjdBt589Th6Ypj9eE/HKdg3acDpcc9oLrH9u3f0z/3pqg8DlszZw584zjDcPQsGHDfGrz5MmTuvvuu/Xbb79p2bJlqlKlintcnTp1VKZMGe3evVtt2rRxD8/IyJAkNWjQwKd5AQAAnEtBD1sOh0P33XefduzYoUWLFqlWrVoe48PDw5WUlKS1a9dqwIAB7uGrV69WdHS04uLifKofAADgXPI5bO3YsaPAsMzMTK1fv17z589Xenq6T%2B2NHTtW//vf//TQQw/pxIkT%2BuKLL9zjGjZsqIoVK2rYsGHq06ePUlNTlZycrC1btmj58uUaO3ZsyJ23BQAA55eAXLNVuXJl9ejRQ4cPH9a4ceM0a9Ysr1/74YcfSjr1mYunW7BggRITE5WQkKC0tDRNmTJFq1atUo0aNZSamsrT4wEAQIkX0Avk4%2BPjNWfOHJ9e895773k1Xdu2bdW2bdvilAUAABA0AT0H991336l8%2BfKBbBIAACCk%2BXxka9WqVQWG5ebm6rvvvtPrr7%2Bum266KSCFAQAAlAY%2Bh61Ro0YVOrxs2bK66aab9PDDD/tdFAAAQGnhc9h69913CwwrW7asLrzwwoAUBAAAUJr4HLZOfw4WAAAAisZDqgAAACzk1ZGt5ORkrxs0DENvvvlmsQsCAAAoTbwKW5UrVz7rNDk5Ofrmm29kGIbfRQEAAJQWXoWthQsXFjnO4XBo2bJlSktLk2EY6ty5c8CKAwAACHV%2BPUF%2B7dq1mjZtmvbt26errrpKI0eOVKNGjQJVGwAAQMgrVtjavHmzJk%2BerK%2B%2B%2BkpxcXF66aWX1LJly0DXBgAAEPJ8ClvfffedJk%2BerA8//FC1a9fWc889p06dOllVGwAAQMjzKmz98ssvmjZtmlavXq2oqCiNHj1avXv3VpkyZayuDwAAIKR5FbY6duyovLw8tW7dWnfccYcqVKig77//vsjpGzduHLACAQAAQplXYSs3N1eS9P777%2BuDDz4ocjrTNGUYhrZv3x6Y6gAAAEKcV2FrwoQJVtcBAABQKnkVtlJSUqyuAwAAoFTisxEBAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALBQW7AIAAChtTNNUZm6OxzC70ybHcZeyTubI6XB53Vbl8AqyGUagS8Q5RNgCACDAnKap9F3vq4zN7h5myJA9zCanwyVTppftuDTy0o6qWraiVaXiHCBsAQBgAZtsCjstbIXZbDJshtdhS94fAEMJxjVbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIW4QB5AieAyTWXmHgtIWxfaKwWkHQAIBMIWgBIhM/eYJu94W3bDvwPuTtOlR5rcoAvErfIASgbCFoASw2543ipfLNwqD6CECfo1W3v37tUTTzyhLl26KC4uTp07dy50uo0bN6pr166Kj4/Xddddp8WLF5/jSgEAAHwX9LC1c%2BdObdy4UXXr1lWDBg0KnWbr1q0aOnSo4uLiNHfuXKWkpGjcuHFavnz5Oa4WAADAN0E/jdihQwdde%2B21kqRRo0bp66%2B/LjDNrFmzFBcXp/Hjx0uSkpKS9Msvv%2Bj5559X9%2B7dZbMFPTMCAAAUKugp5WxBKTc3V5s2bVKnTp08hicnJ%2BvQoUP69ttvrSwPAADAL0E/snU2%2B/btU15enurXr%2B8xvGHDhpKkXbt2qUmTJsVu324Pet4Mefl9SF/673zuS7vTJuPPL38YMmS3%2Bd%2BPgazn1J/QbMcw/vav%2BddrQn25gtFOUX15tnbsYTaFhZ1/%2B4SiGP69NUFR4sNWVlaWJCkyMtJjeP73%2BeOLKzIywq/X4y/0ZeCcj33pOO469UPFz8sCTJepipXKSfKvHwNVj/3PH7b%2B/rAMdjunB9dg1xPK7fjyS4DpMhUVVV5VIir4VQ%2BCq8SHrXxGEVG2qOHeys4%2BLqeTe8X9YbfbFBkZQV8GwPncl1knc%2BR0uGTY/NumnS6Xjv5xQtERlfzqx4DV4zAlQ3L4%2BUyKYLVjGKfWS6fTJdMMfj2h3E5RfXnGdlwuZWXlKOwER7byRUVFhNy12iU%2BbEVFRUkqeAQrOztbUsEjXr5yOl1yOM6vH2pWoS8D53zsS6fDJfPPL3%2BYMuV0neo7f/oxkPUYphG67fx5uss05fGakF%2BuYLRTRF%2BerR2nwyWH/fzaH5yJt0G1JCnx0bBOnToqU6aMdu/e7TE8IyNDkop8XAQAAEBJUOLDVnh4uJKSkrR27VqP4atXr1Z0dLTi4uKCVBkAAMDZBf004vHjx7Vx40ZJ0v79%2B3X06FH997//lSS1aNFCVatW1bBhw9SnTx%2BlpqYqOTlZW7Zs0fLlyzV27NiQO28LAADOL0EPW7///rvuu%2B8%2Bj2H53y9YsECJiYlKSEhQWlqapkyZolWrVqlGjRpKTU1Vz549g1EygBLMNE0dyc3RoeN/uC9yL47M3Bz5edkOAEgqAWGrdu3a%2Bu677846Xdu2bdW2bdtzUBGAUOY0Tc35boMi9oS7L3IvjlyXQ3bZg7%2BTBBDy2I8AKHVshk1lbHYZtuLfVeZwcfcXgMDggicAAAALEbYAAAAsRNgCAACwEGELAADAQlwgD8AvLtNUZu4xv9vhUQsASivCFgC/ZOYe0%2BQdb8tu%2BHegnEctACit2K8B8JvdsCnMZverDR61AKC04potAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBCYcEuAEBwuExTmbnH/G4nMzdHMgNQEIACTNM8tY35yWWakgzZDP9rqhxeQTYjAA2dRwhbwHkqM/eYJu94W3bDvwPcuS6H7LKzMwEs4DRNpe96X2Vsdr/ayXU5ZMjwux2n6dLISzuqatmKfrVzvmH/CJzH7IZNYX7ufB0uV4CqAVAYmwKznRoy/G5HbO7FwjVbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWwAAABYibAEAAFiIsAUAAGAhwhYAAICFCFsAAAAWImwBAABYiLAFAABgIcIWAACAhQhbAAAAFgqZsLVnzx4NGjRIzZs3V8uWLTVu3DidOHEi2GUBAACcUViwC/BGdna2%2Bvfvr5o1a2r69Ok6fPiwJkyYoMzMTE2ePDnY5QEAABQpJMLW0qVLlZ2drVWrVqlq1aqSJLvdrpEjR%2Bruu%2B9WgwYNglwhAABA4ULiNOL777%2Bvli1buoOWJHXs2FHh4eHauHFjECsDAAA4s5A4srVr1y51797dY1h4eLjq1KmjXbt2%2BdV2VFSETNOvJs57hnHqX/rSf%2BeyLyubEXq6aop7nsWVXyft0A7tnB/tVA6PkM0I3rEam83PhQiCkAhb2dnZioyMLDA8MjJSWVlZfrVts4XEwb2QQF8GzrnoS7tsig6rZPl8AOB8F9I/HU3TlOFvTAcAALBQSIStyMhIZWdnFxj%2Bxx9/FHrECwAAoKQIibDVoEGDAtdm5ebmat%2B%2BfdyJCAAASrSQCFtt2rTRpk2bdOTImdUFIwAADdhJREFUEfewd955R7m5uWrbtm0QKwMAADgzwzRL/v1j2dnZ6ty5s2rVqqWhQ4fq999/18SJE9WqVSseagoAAEq0kAhb0qmP6xk3bpw%2B//xzlStXTp07d9bIkSNVrly5YJcGAABQpJAJWwAAAKEoJK7ZAgAACFWELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALnXdha%2B/evXriiSfUpUsXxcXFqXPnzsEuKSR4228bN25U165dFR8fr%2Buuu06LFy8%2Bx5WWLIHutxdffFEdOnRQfHy8unfvrs2bN1tZflAEo8%2BOHj2qJ554QomJiUpISNCQIUO0f//%2BgC6X1Upyv%2B3Zs0eDBg1S8%2BbN1bJlS40bN04nTpzwb4EDpDT0WzD2u%2BdTvwViv3veha2dO3dq48aNqlu3Lp%2Br6ANv%2Bm3r1q0aOnSo4uLiNHfuXKWkpGjcuHFavnz5Oa625Ahkv7344ouaOnWqbrvtNqWnp6tu3boaPHiwvvvuu3OxKOdMMPpsxIgReu%2B99/T4449r6tSp%2BvXXX3X77beXmEDgjZLab9nZ2erfv7%2BOHTum6dOn65FHHtFbb72l1NTUwHdCMYR6vwVrv/v/7d1/TNT1HwfwJz86D4EDkYIwNTn9XCMRsAgNBo1WqBguo3Rz/ZgMHIQoWlGbmelWGrkpNIZTx1hAY4RrqWBWxoGtIzdk4vzrMONHVOASEOk48P39o/HpewJ10Oe4z8HzsTG49735fF7v527vvfh8bsdsyU2xfVfMMiMjI/LPeXl5Ijk52YnVuA57cktLSxOpqak2Y3v27BGxsbE2vz%2BbKJWbxWIRjz32mDh06JA8Z3h4WKxdu1bs3LnTQdU7x3Rn1tzcLCRJEnV1dfJYZ2enCAsLExUVFYqty9HUmtuxY8dERESEuHnzpjz25ZdfCkmShNls/g8rVoar5%2BasfXc25Kbkvjvrrmy5u8%2B6JSvi33IbGhqCyWRCcnKyzfhzzz2H7u5uXLt2zZHlqZZSuTU1NaG/v9/mUr2HhwfWrVsHo9EIMYP%2BEcR0Z2Y0GqHT6RAfHy/PCwkJwcqVK2E0GpValsOpNbf6%2BnqsXr0aAQEB8lhSUhI0Go0q8nXl3Jy5786G3JTcd9l5kCLa2tpgtVoRGhpqM7506VIAQGtrqzPKUj17cxv9fu88vV6PgYEB/Pbbb9NQrToonVlrayuWLFkCNze3McebSa9bZ%2BXW2to65jaTRqPBokWLXCJfNeem5n13JuSm5L7LZosU0dvbCwDQ6XQ246OPR58nW/bm1tfXB41GM%2BYfr/v5%2BQEAbt265ehSVUPpzPr6%2BuDr6zvmPDqdbka9bp2VW19f35hzjjdPrdScm5r33ZmQm5L7LpstUtS9f3X82zj9xZ7cxpszehl7NuarZGaz6XWrltyEEC6Vr5pzU/Pr19VzU2rfZbNFihjt9O/9S6qvrw/A2L8g6C/25qbT6WCxWGCxWMadN3qc2UDpzHQ6nTx277yZ9Lp1Vm4Tzevv73eJfNWcm5r33ZmQm5L7LpstUsSiRYtw33334fr16zbjZrMZAPgxGxOwN7fR7/e%2BB6O1tRXe3t4ICgqahmrVQenM9Ho9fvrppzFvdjWbzTPqdeus3PR6/ZhjDQ0Noa2tzSXyVXNuat53Z0JuSu67bLZIERqNBqtWrUJtba3N%2BJkzZ3D//fcjLCzMSZWpm725rVy5Er6%2BvqipqZHnjIyMoLa2FgkJCaq4XTBdlM4sISEBfX19aGhokOd1dXWhqakJCQkJ07Ci6eGs3OLj42EymfDHH3/IY19//TWGhoZcIl8156bmfXcm5Kbkvuuxb9%2B%2BfXbPngEGBwfx7bffwmw24/vvv0dPTw%2BCg4NhNpsREBAALy8vZ5eoSvbktnDhQhQXF6Orqwve3t44ffo0SkpK8M4772D58uXOXoJTKJWbh4cHPDw8UFxcDK1WC4vFgqNHj%2BLy5cv46KOPEBgY6OSVKme6MwsODsbVq1dRWVmJoKAgdHV1Ye/evdBqtdi/fz88PT2dGYfd1JrbsmXLUF1djYaGBgQFBeHy5cv44IMP8Mwzz2Dz5s1Oy2uUq%2BfmrH13NuSm6L47qU/lmgHa29uFJEnjfplMJmeXp1r25lZXVydSUlLEo48%2BKp5%2B%2BmlRVlbmxKqdT8nc7t69K44fPy6eeuopsXz5crFx40bxww8/TOdypoUzMuvv7xd79uwR0dHRIjIyUmzbtk10dHQ4dJ1KU3Nu169fF1u3bhUREREiJiZGHDhwQAwODiobwBTNhNycse/OltyU2nfdhJhBn4ZIREREpDJ8zxYRERGRA7HZIiIiInIgNltEREREDsRmi4iIiMiB2GwRERERORCbLSIiIiIHYrNFRERE5EBstoiIiIgciM0WEY1x6tQpGAwG%2BSssLAxxcXHIzc3FjRs3nF5XR0fHP84rLCyEwWCYpqr%2BndFoRGFh4bjPGQwG7N%2B/f5orIqLp5Br/9IuInOLDDz9EaGgoLBYLmpqaUFxcjMbGRtTW1sLPz8/Z5bkMo9GI8vJybN%2B%2B3dmlEJETsNkiogktW7YM4eHhAICYmBiMjIygsLAQ33zzDV544QUnV0dE5Bp4G5GI7DbaeN28eXPMczU1Ndi0aRMiIyMRFRWFtLQ0XLt2zWZOS0sLcnNzkZiYiBUrViAxMRG7du1CZ2fnmOM1Nzdj8%2BbNCA8PR1xcHA4fPozh4eH/VL89Nb799tuIiorCzz//jPT0dERFRSEhIQEHDx7E0NCQzdxff/0VOTk5iIqKwuOPP47du3fjypUrMBgMOHXqlHy88vJyALC5NXvvrdAvvvgCa9euRUREBFJSUvDdd9/9p7USkXrwyhYR2W20QXj44YdtxouLi3HkyBFs3LgRmZmZsFqtOHnyJLZs2YKqqiosXboUANDZ2YklS5YgOTkZfn5%2B6O7uxmeffYbU1FScPXsWAQEBAACz2YzXXnsNCxYswMGDB6HValFRUYEzZ85MuXZ7awQAq9WKzMxMpKamYuvWrbh06RKKiorg4%2BOD7OxsAMCdO3fwyiuvoLe3F2%2B88QYWL16MhoYG5Obm2pw3KysLd%2B7cwVdffYXKykp5/IEHHpB/rqurQ0tLC3JycjB37lycOHEC2dnZOHfuHBYuXDjlNRORSggiontUV1cLSZJEc3OzsFqt4vbt26K%2Bvl7ExsaKLVu2CKvVKs/95ZdfRFhYmDhw4IDNMW7fvi1iY2PFjh07JjzP8PCwGBgYEJGRkaK0tFQe37lzp1ixYoXo7u62mbtmzRohSZJob2//x/oLCgqEJElTqjEvL09IkiRqamps5qanp4ukpCT5cVlZmZAkSRiNRpt57777rpAkSVRXV8tj77//vk09/0%2BSJPHkk0%2BK/v5%2Beay7u1s88sgj4tixY/%2B4TiJyDbyyRUQTeumll2we6/V6FBUVwdPz763j4sWLGB4exoYNG2xu882ZMwfR0dFobGyUxwYGBlBUVITz58%2Bjs7MTIyMj8nOtra3yz42NjVi9ejUCAwPlMQ8PD6xbtw6ffPLJpNcxmRoBwM3NDYmJiTZjBoMBJpNJfnzp0iV4e3sjPj7eZt769ettrmDZIyYmBj4%2BPvLjwMBAzJ8/f9zbq0TkethsEdGEDh06BL1ej4GBAdTU1KCyshK7du3CiRMn5Dk9PT0AgNTU1HGP4e7%2B91tDd%2B/eDZPJhKysLISHh8Pb2xtubm7IyMiAxWKR5926dcum0Ro13pg9JlMjAHh5eWHOnDk2YxqNxq4a58%2BfP%2Bn6/P39x4zdez4icl1stohoQnq9Xn5T/KpVq3D37l1UVVXh3LlzWLNmDQBg3rx5AICCggKEhIRMeKz%2B/n7U1dUhOzsbGRkZ8vjQ0BB6e3tt5vr7%2B8sN0v8bb8we9tY4Gf7%2B/rhy5cqY8anWSEQzF5stIrLbm2%2B%2BifPnz6OgoADPPvss3N3dERcXB09PT7S1tSEpKWnC33Vzc4MQAhqNxma8qqrK5nYi8NdttQsXLqCnp0e%2BejQyMoKampop1W1vjZMRHR2N2tpaGI1GJCQkyONnz54dM3d0zX/%2B%2BSe0Wq0i5yci18Fmi4js5ufnh4yMDOTn5%2BP06dPYsGEDHnroIeTk5ODIkSNob29HfHw8dDodenp60NLSAi8vL%2BTk5MDHxwfR0dE4efIk5s2bhwULFuDHH3/E559/Dp1OZ3OezMxMXLhwAa%2B%2B%2Bipef/11aLValJeXY3BwcEp121vjZDz//PMoLS3FW2%2B9hR07dmDx4sWor6/HxYsXAdjempQkCQBw/PhxxMfHw93dHQaDYUzjSUQzEz9ni4gm5eWXX0ZISAiKiorkK1Lbtm3D0aNHcePGDeTl5SEtLQ0ff/wxOjs7ER0dLf/u4cOHERMTg/z8fGRnZ%2BPq1asoKSmBr6%2BvzTkkSUJJSQl8fHyQl5eHvXv3wmAwICsra8p121ujvebOnYvS0lI88cQTyM/Px/bt29HV1YX33nsPAGzWtH79erz44ouoqKjApk2bkJqait9//33KayEi1%2BImhBDOLoKIaKYY/Tyvuro6BAcHO7scIlIB3kYkIpqisrIyAEBoaCisVitMJhM%2B/fRTpKSksNEiIhmbLSKiKdJqtSgtLUVHRwesVisefPBBpKenIzMz09mlEZGK8DYiERERkQPxDfJEREREDsRmi4iIiMiB2GwRERERORCbLSIiIiIHYrNFRERE5EBstoiIiIgciM0WERERkQOx2SIiIiJyoP8Bd8MmncdN3zUAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlsAAAHKCAYAAAA0F44KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdfXzN9f/H8efnnBlzsaGGELn4bhnDurAp19VXxWIuonIVKaFLKmmVJBffhFyMRhcuI5Jv%2BfJN6kv1K7qgdEEZohQptsWwnXM%2Bvz%2B0U8c2ztk5H2dnHvdxY5/P57w/r8/7fD6fPfe5OoZpmqYAAABgCVuwCwAAACjNCFsAAAAWImwBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWyXQypUrFRsbq6%2B%2B%2BqrQ8XfddZc6dOjgMaxDhw4aNWqUT/PZsmWLZsyYoezs7GLXer5Zs2aNOnXqpKZNmyo2Nlbbt28PdklnFBsbqxkzZpxxmp9%2B%2BkmxsbFauXLlOarqzA4ePKgZM2YU2rejRo1SQkJCEKoqKDc3V0888YRatWqlRo0aqUuXLpKkOXPmaP369ee0luJs/4GQkZGhGTNm6Keffjrn8y6Ojz/%2BWN26dVPz5s0VGxt7zt%2BnQChq/dq8ebNiY2O1efPmIFSFswkLdgEIjJkzZ6pixYo%2BvWbr1q2aOXOmUlJSFBkZaVFlpcfhw4f18MMPq1WrVnryyScVHh6uSy65JNhllTq//vqrZs6cqVq1aqlRo0bBLqdIr776qpYtW6bHH39cjRs3Vvny5SVJL7zwgjp27Khrr702yBVaLyMjQzNnzlSLFi1Uu3btYJdzRqZp6v7779cll1yi2bNnKyIiQvXq1Qt2WT4rav1q3Lixli1bpoYNGwapMpwJYauUiIuLC3YJPsvLy5NhGAoLC43VcM%2BePcrLy9NNN92kFi1a%2BPz6EydOqGzZsjIMw4LqcK7t3LlT5cqVU58%2BfSyfl9PplNPpVHh4uOXzstLx48cVERERlHn/%2BuuvyszM1LXXXquWLVsGpM2StE1XrFhRzZs3D3YZKAKnEUuJ008juFwupaWlqWPHjmratKmuuOIKJScna/78%2BZKkGTNm6F//%2Bpck6ZprrlFsbKzHIWiXy6W5c%2Bfq%2BuuvV5MmTdSyZUs9/PDDOnDggMd8TdPUnDlz1L59e8XHx6tbt276v//7P/Xt21d9%2B/Z1T5d/iHvVqlWaOHGiWrdurfj4eO3du1eHDx/WmDFjdOONNyohIUEtW7ZUv3799Nlnn3nMK/9017x585Senq4OHTqoadOm6tu3rzsITZ48Wa1atdLll1%2BuYcOG6ffff/eq/95991316tVLzZo1U0JCgm6//XZt3brVPX7UqFG69dZbJUkPPPCAYmNjPZbvdPmngj/88EM9%2BuijSkpKUrNmzZSbmytJ%2BuGHHzRixAi1bNlSTZo00Q033KDFixd7tHHy5ElNnDhRXbp00eWXX64WLVqoV69ehZ5COHr0qFJTU5WYmKiEhAQNGjRIe/bs8WrZi%2BJNjfnv6%2BrVqzV16lS1atVKl112mQYMGKDdu3d7TOvNurJ582b16NFDkvToo4%2B618vTT4Xu3btXgwcPVkJCgtq2bauJEye6%2BzbfkiVLdNNNNykhIUEJCQm6/vrrNWXKlLMu98yZM9WzZ0%2B1aNFCl112mVJSUrR8%2BXKZpumeJjY2VsuXL9eJEyfcNea/5zk5OXrjjTfcw/%2B%2Bnhw6dEhPPPGE2rRpoyZNmqhDhw6aOXOmHA6He5r89Xzu3LlKS0tThw4dFB8fr02bNp219r/7%2BeefNXLkSI/376WXXpLL5fKY7sCBA7r33nuVkJCgK664QiNGjNC2bdvOemp55cqVuu%2B%2B%2ByRJ/fr18%2BgHSerbt686d%2B6sTz/9VL1791azZs00evRoSadOxw8cOFCtWrVS06ZNdcMNN2jy5MnKycnxmEf%2BaWN/3%2B8ZM2aoTZs2kqTJkycrNjbW41KMzz77TP3791dCQoKaNWum3r17a8OGDQWWt6htesaMGYqNjdWOHTt07733urfXCRMmyOFwaPfu3Ro0aJASEhLUoUMHzZ0716Ntb7f1M61fRZ1GPNu%2BLb9/YmNjtXPnTj344IO6/PLLddVVV%2BnRRx/VH3/8UeQ6AO%2BFxiGF85TL5fLYCef7%2B06/KPPmzdPMmTN1991364orrnBv8PkbTs%2BePZWVlaWFCxdq5syZio6OliT3IegxY8Zo2bJl6tOnj9q1a6f9%2B/fr%2Beef1yeffKKVK1eqatWqkqSpU6fqhRdeUK9evXTdddfpwIEDSk1NVV5eXqGH6KdMmaLmzZvrqaeeks1m0wUXXKDDhw9LkoYPH64LL7xQOTk5euedd9S3b1%2B98sorSkxM9GhjyZIliomJ0RNPPKHs7GxNmjRJQ4YMUbNmzRQWFqbx48fr559/1qRJk/TYY49pzpw5Z%2Byrt956SyNHjlSrVq303HPPKTc3V/PmzXPP/4orrtDQoUMVHx%2BvsWPH6sEHH1RiYqJXp21Hjx6tdu3a6V//%2BpeOHz%2BusLAwZWRkqHfv3rrooov0yCOPKDo6Wh9%2B%2BKHGjRunI0eOaPjw4ZJOXROUlZWlgQMHqnr16srLy9NHH32ke%2B65RxMmTFDXrl0lnVofhg4dqq1bt2rYsGGKj4/Xli1bNHjw4LPWVxRva8w3ZcoUXXbZZXrmmWd09OhRTZ48WXfffbfWrFkju90uybt1pXHjxpowYYIeffRR3X333WrXrp0kqUaNGu555eXl6e6771aPHj00cOBAffrpp0pLS1PFihXddf3nP//RU089pb59%2B%2BqRRx6RzWbT3r17lZGRcdZl379/v3r16qWaNWtKkr744guNGzdOBw8edLe/bNkypaWlafPmze5fYOrUqaNly5apf//%2BSkxM1NChQyXJvZ4cOnRIPXv2lM1m07Bhw1SnTh1t3bpVs2fP1v79%2BzVhwgSPOhYuXKhLLrlEjzzyiCpWrKi6det6/f4dPnxYvXv3Vl5enu677z7VqlVLGzZs0KRJk7Rv3z6NGTNGkpSTk6N%2B/fopKytLI0eOVN26dfXBBx/ogQceOOs82rVrpwcffFBTpkzRE088ocaNG7v7Id%2BhQ4f00EMP6Y477tADDzwgm%2B3U7/c//PCD2rRpo/79%2BysiIkK7d%2B/W3LlztW3bNi1YsMBjPoF4v3v27KlLL71Uw4cPd4fA/KOEn3zyiQYOHKiYmBg988wzCg8P16uvvqohQ4ZoypQpuvHGGz3qKWybznf//ffrpptuUu/evfV///d/mjdvnhwOhz766CPdeuutGjRokN566y1NnjxZdevW1T//%2BU9J3m/rZ1q/CuPNvu3v7rnnHt14443q0aOHvv/%2Bez333HOSVGDdRDGYKHFef/11MyYm5ox/27dv7/Ga9u3bm4888oj7%2B7vuusvs0qXLGeczb948MyYmxvzxxx89hmdkZJgxMTHmmDFjPIZ/%2BeWXZkxMjDllyhTTNE0zMzPTbNKkiXn//fd7TLd161YzJibG7NOnj3vYpk2bzJiYGPO222476/I7HA4zLy/P7N%2B/vzls2DD38B9//NGMiYkxb7rpJtPpdLqHv/LKK2ZMTIw5ZMgQj3aeeeYZMyYmxvzjjz%2BKnJfT6TRbtWpldu7c2aPNo0ePmi1btjR79epVYBnWrl171mXIfw8ffvjhAuMGDhxotmnTpkBdY8eONePj483MzMxC28zvl9GjR5tdu3Z1D9%2B4caMZExNjzp8/32P62bNnmzExMeb06dPPWGt%2Bv77%2B%2Bus%2B15jfJ4MHD/aYbs2aNWZMTIy5detW0zR9W1e2bdtWoJ58jzzyiBkTE2OuWbPGY/jgwYPNjh07etR5xRVXnHG5veF0Os28vDxz5syZZosWLUyXy%2BVRS/PmzQu8pnnz5h7bYr7HH3/cbN68ubl//36P4S%2B%2B%2BKIZExNj7ty50zTNv96Pa6%2B91szNzfWqztO3/8mTJ5sxMTHml19%2B6THdk08%2BacbGxpq7d%2B82TdM0Fy1aZMbExJgbN24sUGtR78HfrV271oyJiTE3bdpUYFyfPn3MmJgY86OPPjpjGy6Xy8zLyzM/%2BeQTMyYmxty%2Bfbt7XCDf7/x%2BnTdvnsfwm2%2B%2B2WzZsqV59OhR9zCHw2F27tzZbNOmjfs9P9M2PX36dDMmJsZ86aWXPIZ36dLFjImJMdetW%2BcelpeXZyYlJZnDhw8vstaitnXTLHr9yt8W898LX/Zt%2BfXPnTvXo80xY8aY8fHxHus9iofTiCXYpEmTtGLFigJ/L7/88rO%2BNj4%2BXjt27NCYMWP0wQcf6OjRo17PN/8wdEpKisfwpk2bqkGDBvr4448lnfqNPzc3VzfccIPHdM2bN1etWrUKbTv/N7nTvfrqq0pJSVF8fLzi4uLUuHFjffzxx9q1a1eBadu2bev%2BDVmSGjRoIEnuoyCnD//555%2BLWlTt2bNHv/76q7p06eLRZoUKFfTPf/5TX375pY4fP17k68/m9OU9efKkNm3apOuuu07lypWTw%2BFw/23Tpo1OnjypL774wj392rVr1bt3byUkJLj7ZcWKFR79kv9%2BJScne8yrc%2BfOxarZ1xolFbg7NjY2VtJffV%2BcdaUohmEUOr%2B/v8/x8fHKzs7Wgw8%2BqPXr17uPnnrj448/1oABA3T55ZerUaNGaty4saZPn67MzEyvT0sXZsOGDUpMTFS1atUK9Kl06gjL33Xo0EFlypQp1rw2bdqkhg0bqmnTph7Du3XrJtM03ackP/30U1WoUMFdQ77irjuni4qKKvT6qB9//FEjRozQ1Vdf7e7j/GvfTj/9bOX7nZOToy%2B//FIdO3ZUhQoV3MPtdrtuuukmHThwoEA9Re3DpML3QYZhePRvWFiY6tatq/3793tM68227ovi7NsK6%2BeTJ0/6td7jFE4jlmANGjRQfHx8geGVKlUqcO3U6e666y6VL19eb775ppYuXSq73a4rrrhCI0eOLLTNv8vMzJQkVatWrcC4atWquXdy%2BdNdcMEFBaa78MILC207/3Tl37388suaOHGievfurfvuu09VqlSRzWbT888/X2BHJ53agf9d/g%2BkooafPHmy0Fok6ciRI0XWVa1aNblcLmVnZxf7ot7T283MzJTD4dDChQu1cOHCM9a0bt063X///br%2B%2But1xx136MILL5Tdbterr76q119/3aPNsLAwValS5Yzz9pYvNearXLmyx/f5p2hOnDjhblPybV0pSkREhMqWLVtgfn9/n7t27Sqn06nly5fr3nvvlcvlUnx8vO6//35dffXVRba9bds2DRo0SC1atNDTTz%2BtGjVqqEyZMlq/fr3mzJnjXp7i%2BP333/W///3PfbrtdKf3aXHfP%2BlUfxcWYvO36fz3IzMzs9D%2BL%2Bx9Ko7CluHYsWO69dZbVbZsWffdgeXKldOBAwc0fPjwAn1s5fudnZ0t0zSL3P6lv/rqTMuUr7B9UGH1lylTxuMXYG%2B3dV8UZ992tu0YxUfYKqXCwsJ0%2B%2B236/bbb1d2drY%2B%2BugjTZ06VXfccYc2bNhwxvCQv8H9%2BuuvHtfK5A/L/6GeP11hv/X89ttvhe7sC7tr580331SLFi301FNPeQw/duzYWZbSf/nLcujQoQLjfv31V9lsNr8ei3H68kZGRsput6tLly7uC%2B5Pl38L/ZtvvqnatWtr2rRpHu3kXyOUr3LlynI4HDpy5IhH4CpsmbzhS43eKs664q/u3bure/fuysnJ0aeffqoZM2borrvu0ttvv13k/P7zn/8oLCxML7zwgscPyEA8j6lKlSqKjY3V/fffX%2Bj403%2B58ecOt8qVKxe5TufXkj/dtm3bCkz322%2B/FXvef1fYMmzatEm//vqrFi5c6HFXr78XYhfn/Y6MjJTNZvOqr/JZceeht9u6L6zet8E3nEY8D0RGRur666/XrbfeqszMTPfh6/zfWk4/8pOUlCTp1A7g77Zt26Zdu3a5xzdr1kzh4eFas2aNx3RffPFFgUPkZ2IYRoFb2nfs2FHgVJUV6tWrp%2BrVq2v16tUeNx7k5ORo3bp1at68eUBvVY%2BIiFBiYqK%2B/fZbxcbGKj4%2BvsDf/J2kYRgqU6aMx8730KFDevfddz3azL%2BB4K233vIYvnr1astr9JYv60qgf5suX7682rZtqyFDhigvL%2B%2BMF8kbhiG73e5x2uXEiRMFtoUzCQ8PL7T2du3a6fvvv1edOnUK7dPq1av7tmBn0LJlS2VkZOibb77xGL5q1SoZhuFeZ6688kodO3ZMGzdu9JjuP//5j1fzKc57lb8%2Bn77NL1261Os2zsSX97t8%2BfJq1qyZ3nnnHY9lcLlcevPNN1WjRo1z8iwub7d1qej163Tnet%2BGM%2BPIVik1ZMgQ/eMf/1CTJk1UtWpV7d%2B/X/Pnz1etWrXcdzXFxMRIOvXbU0pKisLCwlSvXj3Vr19fvXr10qJFi2Sz2dSmTRv33YgXXXSRBgwYIOnUb8W33367XnjhBUVGRrrvMJs1a5aio6O9/g2wXbt2SktL0/Tp03XllVdqz549SktLU%2B3ateV0Oi3pn3w2m00PPfSQRo4cqbvuuku9evVSbm6uXnzxRWVnZ2vEiBEBn%2Bdjjz2mW2%2B9VbfddptuueUW1apVS8eOHdO%2Bffv03nvvue/GateundatW6cxY8aoY8eOOnDggNLS0lStWjX98MMP7vZatWqlK6%2B8Us8%2B%2B6yOHz%2BuJk2aaMuWLfr3v/9teY3e8mVdqVOnjsqVK6e33npLDRo0UPny5VWtWjWfwkhqaqrKlSunyy67TNHR0Tp06JDS09NVqVKlM55Gb9u2rV5%2B%2BWWNGDFCvXr1UmZmpl588UWfnm8VExOjTz75RO%2B9956io6NVoUIF1a9fX/fee68%2B%2Bugj9e7dW3379lW9evWUm5urn376Se%2B//76eeuqpAkeSi2vAgAFatWqV7rrrLt17772qWbOmNmzYoCVLluiWW25xB4iUlBTNnz9fDz/8sO677z7VrVtX77//vj788ENJ8gidhfnHP/4hSXrttddUoUIFlS1bVrVr1z5jGE9ISFBUVJSefPJJDR8%2BXGFhYXrrrbf03XffFXt5i/t%2BS9KDDz6ogQMHql%2B/fho4cKDKlCmjJUuWaOfOnZoyZco5eYaWt9u6VPT6dbpg7NtQNMJWKZWYmKi3335by5cv19GjRxUdHa2rrrpKQ4cOdV/LlJiYqLvuuktvvPGGli9fLpfLpQULFigxMVFjxozRxRdfrBUrVmjJkiWqWLGiWrdurREjRnjsSB944AFFRERo6dKlWrlyperXr68xY8Zo6tSpXh%2BiHjJkiI4fP64VK1Zo3rx5atiwocaMGaP169cXuGjYCsnJyYqIiFB6eroeeOAB2e12NWvWTAsWLNBll10W8Pk1bNhQK1euVFpamqZNm6bDhw%2BrUqVKqlu3rtq2beuernv37vr999%2B1dOlSvf7667r44ot155136sCBA5o5c6Z7OpvNptmzZ2vChAmaN2%2Be8vLydNlllyk9Pb3ABemBrtEX3q4rERERGj9%2BvGbOnKlBgwYpLy9Pw4cP1z333OP1vK644gqtXLlSa9euVVZWlqpUqaLLL79ckyZNcj%2B2pDAtW7bU%2BPHjNXfuXA0ZMkTVq1fXzTffrKpVq%2Bqxxx7zat6PPfaYnnrqKT344IM6fvy4WrRooYULF6patWpasWKF0tLS9OKLL%2BrgwYOqUKGCatWqpdatWwf0lE7VqlW1dOlSPffcc3ruued07Ngx1a5dWw899JBuv/1293Tly5fX/PnzNX78eD377LMyDMP9CQl33nmnKlWqdMb5XHzxxRo9erQWLFigfv36yel0asKECerWrVuRr6lSpYpeeOEFTZo0SQ899JAiIiJ0zTXXaOrUqQVuyvFWcd9vSWrRooVeeeUVzZgxQ48%2B%2BqhcLpcuvfRSzZ49W%2B3bty9WPb7ydluXil6/CnOu920ommGaXjy0CfDBjz/%2BqBtuuEHDhw/XkCFDgl0OSjDWlZJpzpw5mjZtmjZs2BCwo23A%2BYwjW/DLjh07tHr1aiUkJKhixYras2eP5s2bp4oVK7qfBA5IrCsl1aJFiyRJ9evXV15enjZt2qSFCxfqpptuImgBAULYgl8iIiL09ddfa8WKFfrjjz9UsWJFJSYm6v777/f5ln6UbqwrJVO5cuU0f/58/fTTT8rLy9NFF12kwYMH6%2B677w52aUCpwWlEAAAAC/HoBwAAAAsRtgAAACxE2AIAALAQYQsAAMBC5/XdiKZpyuXi/oBAsNkM%2BjJA6MvAoB8Dh74MHPrSfzabcU6e7B9I53XYMgxD2dk5cjhcwS4lpIWF2VSlSgX6MgDoy8CgHwOHvgwc%2BjIwqlatILs9tMIWpxEBAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwUFiwCwAAnJ3LNJWZeywgbVUOryCbYQSkLQBnR9gCgBCQmXtMk3e8Lbvh3wkJp%2BnSyEs7qmrZigGqDMDZELYAIETYDZvCbHb/GnEFphYA3gv6NVsrV65UbGxsgb%2BTJ0/2mG7jxo3q2rWr4uPjdd1112nx4sVBqhgAAMB7JebI1rx581SpUiX399WrV3f/f%2BvWrRo6dKi6dOmiUaNGacuWLRo3bpzCw8PVs2fPYJQLAADglRITtho3bqyqVasWOm7WrFmKi4vT%2BPHjJUlJSUn65Zdf9Pzzz6t79%2B6y2YJ%2BgA4AAKBQJT6l5ObmatOmTerUqZPH8OTkZB06dEjffvttkCoDAAA4uxJzZKtz5846cuSIatasqZtvvll33HGH7Ha79u3bp7y8PNWvX99j%2BoYNG0qSdu3apSZNmhR7vnZ7ic%2BbJV5%2BH9KX/qMvA6M09qPdaZPx55c/DBmyh9kUFuZd3xTVly7T1JEAPYqiynnyKIrSuF4GQyiuKkEPW9HR0brnnnvUrFkzGYah9957T9OmTdPBgwf1xBNPKCsrS5IUGRnp8br87/PHF1dkZIRfr8df6MvAoS8DozT1o%2BO461RI8vOyCdNlKiqqvKpEVPDpdaf35aHjf%2Bi5L9fJ7mc9TpdLY5O66oKI8%2BdRFKVpvYR3gh62WrdurdatW7u/b9WqlcqWLav58%2BdryJAh7uFGEVG2qOHeys4%2BLqeTe6H9YbfbFBkZQV8GAH0ZGKWxH7NO5sjpcMmw%2BbfPc7pcysrKUdgJ749sFdaXWSdzJJf8PtIml3yqJ5SVxvUyGKKiIkLuWu2gh63C3HDDDXrppZe0fft21apVS1LBI1jZ2dmSCh7x8pXT6ZLDwUofCPRl4NCXgVGa%2BtHpcMn888sfpkw5HS457L71y%2Bl9Gex6QllpWi%2BDwfRvlQuKEh8N69SpozJlymj37t0ewzMyMiRJDRo0CEZZAAAAXimRYWvNmjWy2%2B2Ki4tTeHi4kpKStHbtWo9pVq9erejoaMXFxQWpSgAAgLML%2BmnEQYMGKSkpSTExMZKkd999V6%2B99pr69eun6OhoSdKwYcPUp08fpaamKjk5WVu2bNHy5cs1duzYkDtvCwAAzi9BD1v16tXTihUrdODAAblcLl1yySUaPXq0%2Bvbt654mISFBaWlpmjJlilatWqUaNWooNTWVp8cDAIASL%2BhhKzU11avp2rZtq7Zt21pcDQAAQGBxDg4AAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALBQ0D%2BIGgBw/jJNU5m5OQFpq3J4BdkMIyBtAYFE2AIABI3TNJW%2B632Vsdn9bMelkZd2VNWyFQNUGRA4hC0AQFDZZFOYn2FLrsDUAliBa7YAAAAsRNgCAACwEGELAADAQoQtAAAAC3GBPABYyGWaysw95nc7mbk5khmAggCcc4QtALBQZu4xTd7xtuyGfycScl0O2WVnpw2EILZbALCY3fD/0QYOF882AEIV12wBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWwAAABYibAEAAFiIsAUAAGAhwhYAAICFCFsAAAAWImwBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWCgs2AUAAM4d0zSVmZvj9fR2p02O4y5lncyR0%2BFyD8/MzZFMKyoESh/CFgCcR5ymqfRd76uMze7V9IYM2cNscjpcMv%2BWrnJdDtll54cI4AW2EwA4z9hkU5gPYSvMZpNhMzzClsPlOsOrAPwd12wBAABYiLAFAABgIcIWAACAhQhbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWwAAABYibAEAAFiIsAUAAGAhwhYAAICFCFsAAAAWImwBAABYiLAFAABgoRIVto4dO6Y2bdooNjZWX331lce4jRs3qmvXroqPj9d1112nxYsXB6lKAAAA75WosJWWlian01lg%2BNatWzV06FDFxcVp7ty5SklJ0bhx47R8%2BfIgVAkAAOC9EhO2du3apSVLluiee%2B4pMG7WrFmKi4vT%2BPHjlZSUpKFDh6pHjx56/vnn5XK5glAtAACAd0pM2HrmmWfUu3dv1atXz2N4bm6uNm3apE6dOnkMT05O1qFDh/Ttt9%2BeyzIBAAB8EhbsAiTpv//9r3bs2KHp06frm2%2B%2B8Ri3b98%2B5eXlqX79%2Bh7DGzZsKOnUEbEmTZoUe952e4nJmyErvw/pS//Rl4FRkvrR7rTJ%2BPPLH4YMnfpzbtsxjL/9a/71mmDVc6Z27GE2hYUF/z0vSklaL0OZ4d%2BqEhRBD1vHjx/XxIkT9eCDD6pixYoFxmdlZUmSIiMjPYbnf58/vrgiIyP8ej3%2BQl8GDn0ZGCWhHx3HXadCgM2/H7D2P8OIv2GiuO2cHhCCXc/pTJepqKjyqhJRwa92zoWSsF7i3Ap62Jo9e7YuuOACdevW7YzTGUVE2aKGeys7%2B7icTq778ofdblNkZAR9GQD0ZWCUpH7MOpkjp8Mlw%2BbfvsrpMCVDcsi/5fG1HcM41Z9Op0umGfx6imzH5VJWVo7CTpTco0YlaTOjeywAACAASURBVL0MZVFREbL5%2BcvLuRbUsLV//3699NJLmjVrlo4ePSpJysnJcf977NgxRUVFSSp4BCs7O1tSwSNevnI6XXI4WOkDgb4MHPoyMEpCPzodLpl/fvnDlCnDNM59O3%2BeOjRNebwmaPWcoR2nwyWHveRvNyVhvQxlpn%2BrSlAENWz99NNPysvL05133llgXL9%2B/dSsWTMtWrRIZcqU0e7du9WmTRv3%2BIyMDElSgwYNzlm9AAAAvgpq2GrUqJEWLFjgMWz79u2aMGGCnnrqKcXHxys8PFxJSUlau3atBgwY4J5u9erVio6OVlxc3DmuGgAAwHtBDVuRkZFKTEwsdFzjxo3VuHFjSdKwYcPUp08fpaamKjk5WVu2bNHy5cs1duzYkDtvCwAAzi9Bv0DeGwkJCUpLS9OUKVO0atUq1ahRQ6mpqerZs2ewSwMAADijEhe2EhMT9d133xUY3rZtW7Vt2zYIFQEAABQf5%2BAAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQgEJW7/88ovef/99HTlyJBDNAQAAlBphvr5g6tSpOn78uEaPHi1J%2BuijjzRkyBDl5eUpMjJSixYt0j/%2B8Y%2BAFwoAABCKfD6ytW7dOjVs2ND9/bRp0xQbG6uZM2eqZs2amj17dkALBAAACGU%2BH9k6ePCg6tSpI0k6cuSIvvrqK6Wnp6t169Y6efKkJk2aFPAiAQAAQpXPYcs0TZmmKUnasmWL7Ha7rrzySklStWrVuG4LQKngMk1l5h7zu53M3BzJDEBBAEKWz2GrTp06%2Bt///qeWLVtqzZo1io%2BPV7ly5SRJv/76qyIjIwNeJACca5m5xzR5x9uyG/7dR5Trcsguu%2B87WwClhs/bf69evTR27Fj9%2B9//VnZ2tsaPH%2B8et2XLFo/ruQAglNkNm8Jsdr/acLhcAaoGQKjyOWzdeuutioqK0tatWxUfH68uXbq4x508eVIpKSkBLRAAACCUFevIdqdOndSpU6cCw59%2B%2Bmm/CwIAAChNeII8AACAhbw6stWhQwcZhuF1o%2B%2B%2B%2B26xCwIAAChNvApbLVq08AhbmzZt0qFDh5SQkKDo6GgdOnRIW7duVbVq1ZSYmGhZsQAAAKHGq7A1ceJE9/9XrVqlLVu2aN26dapZs6Z7%2BP79%2BzVw4EC1aNEi8FUCAACEKJ%2Bv2Zo7d67uuecej6AlSbVq1dKwYcOUnp4esOIAAABCnc9ha9%2B%2BfapUqVKh46KiorR//36/iwIAACgtfA5btWrV0ooVKwod99prrxU44gUAAHA%2B8/k5W3feeadGjx6tHj16qHPnzrrwwgv122%2B/afXq1frmm280btw4K%2BoEAAAIST6HrW7dukmSpk2b5nHhfHR0tJ5%2B%2Bml17949cNUBAACEuGI9Qb5bt25KSUnR7t27lZmZqcqVK6t%2B/fo%2BPYsLAADgfFDsD6I3DEMNGjQIZC0AAAClTrHD1vfff69du3bp5MmTBcZ17drVr6IAAABKC5/D1vHjx3X33Xdr06ZNMgxDpmlKkscpRMIWAADAKT4/%2BiEtLU379%2B/XokWLZJqmZs6cqZdfflnXXXed6tatqzfeeMOKOgEAAEKSz2Hr3Xff1eDBg5WQkCBJuuiii9SyZUtNnz5djRs31pIlSwJeJAAAQKjyOWzt379f9evXl91ul2EYOn78uHtccnKy3n333YAWCAAAEMp8DluVKlVSTk6OJOmCCy7Q3r173eMcDod7HAAAAIoRtmJjY/XDDz9IkhITE/XCCy/os88%2B07Zt2zRr1ixdeumlga4RAAAgZPl8N2L37t3dR7Puv/9%2B3Xrrrerbt68kKTIyUunp6YGtEAAAIIT5HLZuvPFG9/8vvvhivf322%2B7HQCQkJKhy5coBLRAAACCUFfuhpvnKly%2BvDh06BKIWAACAUsfna7YkKTc3V0uXLtWDDz6o22%2B/3X0N1/r16/Xjjz8Gsj4AAICQ5vORrcOHD6t///7auXOnLrzwQv3%2B%2B%2B86duyYpFPP4Prwww81ZsyYQNcJAAAQknw%2BsvXss88qOztbr7/%2BujZs2OD%2BuB7p1N2Jn376aUALBAAACGU%2Bh60NGzbo3nvvVePGjT0%2BD1GSqlevrgMHDgSsOAAAgFDnc9g6evSoatasWeg4h8Mhp9Ppd1EAAAClhc9hq3bt2vriiy8KHbdt2zbVq1fP76IAAABKC5/DVnJysubOnav169e7r9cyDEPbtm3TggUL1KVLl4AXCQAAEKp8vhtx8ODB2rJli4YPH66oqChJ0qBBg5SZmanWrVurX79%2BAS8SAAAgVPkctsqUKaO5c%2BdqzZo12rBhg37//XdVqVJF7dq1U6dOnWSzFevRXQAAAKWST2Hr5MmTWrVqla644gp16tRJnTp1sqouAACAUsGnw1Bly5bVuHHj9Pvvv1tVDwAAQKni8zm/iy%2B%2BWL/99lvACvjggw/Up08fJSUlqUmTJrrmmms0YcIE/fHHHx7Tbdy4UV27dlV8fLyuu%2B46LV68OGA1AAAAWMXna7b69eun9PR0tWnTRhUrVvS7gKysLCUkJKh///6KjIzUzp07NWPGDO3cuVMvvfSSJGnr1q0aOnSounTpolGjRmnLli0aN26cwsPD1bNnT79rAAAAsIrPYSsjI0NHjhxRhw4dlJSUpOjo6AJPkk9NTfW6vc6dO6tz587u7xMTExUeHq7HH39cBw8eVPXq1TVr1izFxcVp/PjxkqSkpCT98ssvev7559W9e3cuygcAACWWz2Fr0aJF7v%2BvW7euwHjDMHwKW4WpXLmypFNPpM/NzdWmTZs0cuRIj2mSk5P12muv6dtvv1WTJk38mh8AAIBVfA5bO3bssKIOOZ1OORwOZWRkaNasWWrfvr1q1aqljIwM5eXlqX79%2Bh7TN2zYUJK0a9cuv8KW3c5RMX/l9yF96T/6MjAC0Y92p03Gn1/%2BMGTo1J/QbCf/xIVhSDL/ek1JXC57mE1hYSV322H7DgzDv1UlKHwOW1Zp3769Dh48KElq3bq1pkyZIunUNV2SFBkZ6TF9/vf544srMjLCr9fjL/Rl4NCXgeFPPzqOu0798PbzMgX7nyHC3xAQ7HZODwjBrud0pstUVFR5VYmo4Fc75wLb9/mnxISt9PR05eTkKCMjQ2lpaRoyZIhefvll9/jTrws723BvZWcfl9Pp8quN853dblNkZAR9GQD0ZWAEoh%2BzTubI6XDJsPm3j3E6TMmQHPLv/QxWO4Zxqj%2BdTpf%2B/IS2oNZTZDsul7KychR2ouQeNWL7DoyoqIiQu1a7xIStSy%2B9VJJ02WWXKS4uTt27d9c777zjPl14%2BhGs7OxsSQWPePnK6XTJ4WClDwT6MnDoy8Dwpx%2BdDpfMP7/8YcqUYRqh286fpw5NUx6vKYnL5XS45LCX/O2G7ds/pn%2BrSlCUyGjYqFEj2e127du3T3Xq1FGZMmW0e/duj2kyMjIkSQ0aNAhGiQAAAF4pkWFr69atcjqdql27tsLDw5WUlKS1a9d6TLN69WpFR0crLi4uSFUCAACcnVenESdMmKABAwbooosu0s8//6zo6GiVKVMmIAUMHz5cTZo0UWxsrMqVK6cdO3Zo3rx5io2N1bXXXitJGjZsmPr06aPU1FQlJydry5YtWr58ucaOHRty520BAMD5xauwNX/%2BfHXq1EkXXXSRrrnmGi1btkxNmzYNSAFNmzbVmjVrlJ6eLtM0VatWLd18880aNGiQwsPDJUkJCQlKS0vTlClTtGrVKtWoUUOpqak8PR4AAJR4XoWtqKgo9%2BchmgG%2BMu3OO%2B/UnXfeedbp2rZtq7Zt2wZ03gAAAFbzKmw1a9ZMjz32mPto1qRJk1SpUqVCpzUMQ7Nnzw5chQAAACHMq7D15JNPavz48crIyJBhGNq7d6/7FN/p/H3uFQAAQGniVdiqVauWZs2aJenU87DS0tICds0WAABAaebzrXwLFizg2VYAAABe8vkJ8i1atJAk7d27V5s2bVJmZqaqVKmixMRE1a1bN%2BAFAgAAhDKfw5Zpmnr66ae1dOlSuVx/fdyAzWbTrbfeqtTU1IAWCAAAEMp8DluvvPKKlixZoltuuUUpKSmqXr26Dh48qFWrVmnJkiWqXbu2BgwYYEGpAAAAocfnsLV8%2BXL309zzVa9eXU2bNpXNZtNrr71G2AIAAPiTzxfI//jjj2rfvn2h49q3b68ff/zR76IAAABKC5/DVqVKlfTzzz8XOu7nn39WxYoV/S4KAACgtPA5bF111VWaNm2avv76a4/h27dv1/Tp09WqVauAFQcAABDqfL5ma8SIEerVq5d69uyphg0bKjo6WocOHVJGRoaqVaumESNGWFEnAABASPI5bF100UVatWqVXn75ZW3evFk//fSTKleurDvvvFP9%2B/dX1apVragTAADLuUxTmbnHAtJW5fAKsvERdlAxwpYkVa1alSNYAIBSJzP3mCbveFt2w%2BerbDw4TZdGXtpRVctyHTOKGbYAACit7IZNYTa7f424zj4Jzh/%2BRXcAAACcEWELAADAQoQtAAAAC/kctnJzc2WaphW1AAAAlDo%2Bha2TJ0%2BqWbNmWr9%2BvVX1AAAAlCo%2Bha2yZcuqcuXKioiIsKoeAACAUsXn04jt27fXO%2B%2B8Y0UtAAAApY7Pz9nq1KmTHnvsMT366KP65z//qejoaBmnPSG3cePGASsQAAAglPkctgYNGiRJeuONN7Rq1SqPcaZpyjAMbd%2B%2BPTDVAQAAhDifw9aECROsqAMAAKBU8jlspaSkWFEHAABAqeTXQ013796tzz//XDk5OYGqBwAAoFQpVthatWqV2rRpo06dOqlPnz7as2ePJOm%2B%2B%2B7Ta6%2B9FtACAQAAQpnPYWvt2rUaNWqU4uLi9Pjjj3s8Tb5x48Zau3ZtQAsEAAAIZT6HrfT0dHXr1k1z5sxRr169PMbVr19fGRkZASsOAAAg1Pkctnbt2qVOnToVOq5y5crKzMz0uygAAIDSwuewFRERoT/%2B%2BKPQcQcPHlRUVJTfRQEAAJQWPoethIQELV682ONarXwrV65UixYtAlIYAABAaeBz2Bo2bJi%2B%2BOIL9ejRQwsXLpRhGFq3bp2GDBmizz77TEOGDLGiTgAAgJDkc9iKj4/X3LlzlZOTo4kTJ8o0Tb3wwgvas2eP0tPTFRMTY0WdAAAAIcnnJ8hLUlJSktauXat9%2B/bpt99%2BU5UqVVSvXr1A1wYAABDyihW28tWpU0d16tQJVC0AAAClTrHC1k8//aT09HRt3rxZmZmZqly5shITEzV48GBdfPHFga4RAAAgZPl8zdb27duVkpKilStXqlq1arr66qtVrVo1rVy5UikpKdq%2BfbsVdQIAAIQkn49sjR8/XlWrVtXLL7%2BsmjVruofv379fAwcO1Pjx47Vw4cKAFgkAABCqfD6ytW3bNt1zzz0eQUuSatWqpeHDh2vbtm0BKw4AACDU%2BRy2KlWqpEqVKhU6LjIyUhUrVvS7KAAAgNLC57DVuXNnLV%2B%2BvNBxr732WpGfmwgAAHA%2B8uqarXXr1rn/37hxY7399tvq0aOHOnfurAsvvFC//fabVq9ercOHD%2Bv666%2B3rFgAAIBQ41XYuvfee2UYhkzTdP/7yy%2B/6Ouvvy4w7cMPP6zk5OSAFwoAABCKvApbCxYssLoOAACAUsmrsNWiRQur6wAAoNhM01Rmbo7f7WTm5khmAAoC/savj%2BsBAKAkcJqm0ne9rzI2u1/t5LocssvOD0cEVLHWp/Xr1%2BvNN9/Uzz//rJMnT3qMMwxDb775ZkCKAwDAWzbZFOZn2HK4XAGqBviLz2Fr3rx5mjx5sqpWrao6deooIiLCiroAAABKBZ/D1pIlS9S9e3eNHTtWdrt/v0EAAACUdj4/1DQzM1OdO3cmaAEAAHjB57B12WWXaffu3VbUAgAAUOr4HLZGjx6txYsX691331Vubq4VNQEAAJQaPl%2BzVbduXV111VUaPny4DMNQuXLlPMYbhqHPP/88YAUCAACEMp/D1rPPPqtFixapUaNGql%2B/vsLDw62oCwAAoFTwOWy98cYbGjx4sEaMGBGQAtauXau33npL33zzjbKysnTxxRfrlltuUe/evWWz/XWWc%2BPGjZo6dap27dqlGjVqaMCAAbrtttsCUgMAAIBVfA5bTqdTV111VcAKePnll1WzZk09/PDDuuCCC7R582Y988wz%2BvHHH/XII49IkrZu3aqhQ4eqS5cuGjVqlLZs2aJx48YpPDxcPXv2DFgtAAAAgeZz2Lr66qv15ZdfqmXLlgEpYM6cOapatar7%2B6SkJOXk5Gjx4sV64IEHFB4erlmzZikuLk7jx493T/PLL7/o%2BeefV/fu3T2OgAEAAJQkPqeUoUOH6s0339T8%2BfO1d%2B9eZWZmFvjri78HrXyNGjXSyZMnlZmZqdzcXG3atEmdOnXymCY5OVmHDh3St99%2B6%2BsiAAAAnDM%2BH9nq0qWLJGnixImaOHFiodNs377dr6I%2B//xzVa5cWRdccIH27NmjvLw81a9f32Oahg0bSpJ27dqlJk2aFHtedjtHxfyV34f0pf/oy8AIRD/anTYZf375w5ChU39Csx3D%2BNu/5l%2BvCfXlOhft2MNsCgv7ax1k%2Bw4Mw7%2B3Jih8DlvDhg2TYeGSfvXVV1q5cqWGDRsmu92urKwsSVJkZKTHdPnf548vrshIPtsxUOjLwKEvA8OffnQcd536YennZQr2P39o//2Hbii2c3pACHY9Jb0d02UqKqq8qkRUKDCO7fv843PYuueee6yoQ5J06NAh3XvvvYqPj9fgwYM9xhUV8PwNftnZx%2BV08inv/rDbbYqMjKAvA4C%2BDIxA9GPWyRw5HS4ZNv/2MU6HKRmSQ/69n8FqxzBO9afT6ZJpBr%2BekGnH5VJWVo7CTnge2WL79l9UVETIXavtc9iyyh9//KHBgwerXLlymj17tsqUKSNJioqKklTwCFZ2drakgke8fOV0uuRwsNIHAn0ZOPRlYPjTj06HS%2BafX/4wZcowjdBt589Th6Ypj9eE/HKdg3acDpcc9oLrH9u3f0z/3pqg8DlszZw584zjDcPQsGHDfGrz5MmTuvvuu/Xbb79p2bJlqlKlintcnTp1VKZMGe3evVtt2rRxD8/IyJAkNWjQwKd5AQAAnEtBD1sOh0P33XefduzYoUWLFqlWrVoe48PDw5WUlKS1a9dqwIAB7uGrV69WdHS04uLifKofAADgXPI5bO3YsaPAsMzMTK1fv17z589Xenq6T%2B2NHTtW//vf//TQQw/pxIkT%2BuKLL9zjGjZsqIoVK2rYsGHq06ePUlNTlZycrC1btmj58uUaO3ZsyJ23BQAA55eAXLNVuXJl9ejRQ4cPH9a4ceM0a9Ysr1/74YcfSjr1mYunW7BggRITE5WQkKC0tDRNmTJFq1atUo0aNZSamsrT4wEAQIkX0Avk4%2BPjNWfOHJ9e895773k1Xdu2bdW2bdvilAUAABA0AT0H991336l8%2BfKBbBIAACCk%2BXxka9WqVQWG5ebm6rvvvtPrr7%2Bum266KSCFAQAAlAY%2Bh61Ro0YVOrxs2bK66aab9PDDD/tdFAAAQGnhc9h69913CwwrW7asLrzwwoAUBAAAUJr4HLZOfw4WAAAAisZDqgAAACzk1ZGt5ORkrxs0DENvvvlmsQsCAAAoTbwKW5UrVz7rNDk5Ofrmm29kGIbfRQEAAJQWXoWthQsXFjnO4XBo2bJlSktLk2EY6ty5c8CKAwAACHV%2BPUF%2B7dq1mjZtmvbt26errrpKI0eOVKNGjQJVGwAAQMgrVtjavHmzJk%2BerK%2B%2B%2BkpxcXF66aWX1LJly0DXBgAAEPJ8ClvfffedJk%2BerA8//FC1a9fWc889p06dOllVGwAAQMjzKmz98ssvmjZtmlavXq2oqCiNHj1avXv3VpkyZayuDwAAIKR5FbY6duyovLw8tW7dWnfccYcqVKig77//vsjpGzduHLACAQAAQplXYSs3N1eS9P777%2BuDDz4ocjrTNGUYhrZv3x6Y6gAAAEKcV2FrwoQJVtcBAABQKnkVtlJSUqyuAwAAoFTisxEBAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALBQW7AIAAChtTNNUZm6OxzC70ybHcZeyTubI6XB53Vbl8AqyGUagS8Q5RNgCACDAnKap9F3vq4zN7h5myJA9zCanwyVTppftuDTy0o6qWraiVaXiHCBsAQBgAZtsCjstbIXZbDJshtdhS94fAEMJxjVbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIW4QB5AieAyTWXmHgtIWxfaKwWkHQAIBMIWgBIhM/eYJu94W3bDvwPuTtOlR5rcoAvErfIASgbCFoASw2543ipfLNwqD6CECfo1W3v37tUTTzyhLl26KC4uTp07dy50uo0bN6pr166Kj4/Xddddp8WLF5/jSgEAAHwX9LC1c%2BdObdy4UXXr1lWDBg0KnWbr1q0aOnSo4uLiNHfuXKWkpGjcuHFavnz5Oa4WAADAN0E/jdihQwdde%2B21kqRRo0bp66%2B/LjDNrFmzFBcXp/Hjx0uSkpKS9Msvv%2Bj5559X9%2B7dZbMFPTMCAAAUKugp5WxBKTc3V5s2bVKnTp08hicnJ%2BvQoUP69ttvrSwPAADAL0E/snU2%2B/btU15enurXr%2B8xvGHDhpKkXbt2qUmTJsVu324Pet4Mefl9SF/673zuS7vTJuPPL38YMmS3%2Bd%2BPgazn1J/QbMcw/vav%2BddrQn25gtFOUX15tnbsYTaFhZ1/%2B4SiGP69NUFR4sNWVlaWJCkyMtJjeP73%2BeOLKzIywq/X4y/0ZeCcj33pOO469UPFz8sCTJepipXKSfKvHwNVj/3PH7b%2B/rAMdjunB9dg1xPK7fjyS4DpMhUVVV5VIir4VQ%2BCq8SHrXxGEVG2qOHeys4%2BLqeTe8X9YbfbFBkZQV8GwPncl1knc%2BR0uGTY/NumnS6Xjv5xQtERlfzqx4DV4zAlQ3L4%2BUyKYLVjGKfWS6fTJdMMfj2h3E5RfXnGdlwuZWXlKOwER7byRUVFhNy12iU%2BbEVFRUkqeAQrOztbUsEjXr5yOl1yOM6vH2pWoS8D53zsS6fDJfPPL3%2BYMuV0neo7f/oxkPUYphG67fx5uss05fGakF%2BuYLRTRF%2BerR2nwyWH/fzaH5yJt0G1JCnx0bBOnToqU6aMdu/e7TE8IyNDkop8XAQAAEBJUOLDVnh4uJKSkrR27VqP4atXr1Z0dLTi4uKCVBkAAMDZBf004vHjx7Vx40ZJ0v79%2B3X06FH997//lSS1aNFCVatW1bBhw9SnTx%2BlpqYqOTlZW7Zs0fLlyzV27NiQO28LAADOL0EPW7///rvuu%2B8%2Bj2H53y9YsECJiYlKSEhQWlqapkyZolWrVqlGjRpKTU1Vz549g1EygBLMNE0dyc3RoeN/uC9yL47M3Bz5edkOAEgqAWGrdu3a%2Bu677846Xdu2bdW2bdtzUBGAUOY0Tc35boMi9oS7L3IvjlyXQ3bZg7%2BTBBDy2I8AKHVshk1lbHYZtuLfVeZwcfcXgMDggicAAAALEbYAAAAsRNgCAACwEGELAADAQlwgD8AvLtNUZu4xv9vhUQsASivCFgC/ZOYe0%2BQdb8tu%2BHegnEctACit2K8B8JvdsCnMZverDR61AKC04potAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALEbYAAAAsRNgCAACwEGELAADAQoQtAAAACxG2AAAALETYAgAAsBBhCwAAwEKELQAAAAsRtgAAACxE2AIAALAQYQsAAMBCYcEuAEBwuExTmbnH/G4nMzdHMgNQEIACTNM8tY35yWWakgzZDP9rqhxeQTYjAA2dRwhbwHkqM/eYJu94W3bDvwPcuS6H7LKzMwEs4DRNpe96X2Vsdr/ayXU5ZMjwux2n6dLISzuqatmKfrVzvmH/CJzH7IZNYX7ufB0uV4CqAVAYmwKznRoy/G5HbO7FwjVbAAAAFiJsAQAAWIiwBQAAYCHCFgAAgIUIWwAAABYibAEAAFiIsAUAAGAhwhYAAICFCFsAAAAWImwBAABYiLAFAABgIcIWAACAhQhbAAAAFgqZsLVnzx4NGjRIzZs3V8uWLTVu3DidOHEi2GUBAACcUViwC/BGdna2%2Bvfvr5o1a2r69Ok6fPiwJkyYoMzMTE2ePDnY5QEAABQpJMLW0qVLlZ2drVWrVqlq1aqSJLvdrpEjR%2Bruu%2B9WgwYNglwhAABA4ULiNOL777%2Bvli1buoOWJHXs2FHh4eHauHFjECsDAAA4s5A4srVr1y51797dY1h4eLjq1KmjXbt2%2BdV2VFSETNOvJs57hnHqX/rSf%2BeyLyubEXq6aop7nsWVXyft0A7tnB/tVA6PkM0I3rEam83PhQiCkAhb2dnZioyMLDA8MjJSWVlZfrVts4XEwb2QQF8GzrnoS7tsig6rZPl8AOB8F9I/HU3TlOFvTAcAALBQSIStyMhIZWdnFxj%2Bxx9/FHrECwAAoKQIibDVoEGDAtdm5ebmat%2B%2BfdyJCAAASrSQCFtt2rTRpk2bdOTImdUFIwAADdhJREFUEfewd955R7m5uWrbtm0QKwMAADgzwzRL/v1j2dnZ6ty5s2rVqqWhQ4fq999/18SJE9WqVSseagoAAEq0kAhb0qmP6xk3bpw%2B//xzlStXTp07d9bIkSNVrly5YJcGAABQpJAJWwAAAKEoJK7ZAgAACFWELQAAAAsRtgAAACxE2AIAALAQYQsAAMBChC0AAAALnXdha%2B/evXriiSfUpUsXxcXFqXPnzsEuKSR4228bN25U165dFR8fr%2Buuu06LFy8%2Bx5WWLIHutxdffFEdOnRQfHy8unfvrs2bN1tZflAEo8%2BOHj2qJ554QomJiUpISNCQIUO0f//%2BgC6X1Upyv%2B3Zs0eDBg1S8%2BbN1bJlS40bN04nTpzwb4EDpDT0WzD2u%2BdTvwViv3veha2dO3dq48aNqlu3Lp%2Br6ANv%2Bm3r1q0aOnSo4uLiNHfuXKWkpGjcuHFavnz5Oa625Ahkv7344ouaOnWqbrvtNqWnp6tu3boaPHiwvvvuu3OxKOdMMPpsxIgReu%2B99/T4449r6tSp%2BvXXX3X77beXmEDgjZLab9nZ2erfv7%2BOHTum6dOn65FHHtFbb72l1NTUwHdCMYR6vwVrv/v/7d1/TNT1HwfwJz86D4EDkYIwNTn9XCMRsAgNBo1WqBguo3Rz/ZgMHIQoWlGbmelWGrkpNIZTx1hAY4RrqWBWxoGtIzdk4vzrMONHVOASEOk48P39o/HpewJ10Oe4z8HzsTG49735fF7v527vvfh8bsdsyU2xfVfMMiMjI/LPeXl5Ijk52YnVuA57cktLSxOpqak2Y3v27BGxsbE2vz%2BbKJWbxWIRjz32mDh06JA8Z3h4WKxdu1bs3LnTQdU7x3Rn1tzcLCRJEnV1dfJYZ2enCAsLExUVFYqty9HUmtuxY8dERESEuHnzpjz25ZdfCkmShNls/g8rVoar5%2BasfXc25Kbkvjvrrmy5u8%2B6JSvi33IbGhqCyWRCcnKyzfhzzz2H7u5uXLt2zZHlqZZSuTU1NaG/v9/mUr2HhwfWrVsHo9EIMYP%2BEcR0Z2Y0GqHT6RAfHy/PCwkJwcqVK2E0GpValsOpNbf6%2BnqsXr0aAQEB8lhSUhI0Go0q8nXl3Jy5786G3JTcd9l5kCLa2tpgtVoRGhpqM7506VIAQGtrqzPKUj17cxv9fu88vV6PgYEB/Pbbb9NQrToonVlrayuWLFkCNze3McebSa9bZ%2BXW2to65jaTRqPBokWLXCJfNeem5n13JuSm5L7LZosU0dvbCwDQ6XQ246OPR58nW/bm1tfXB41GM%2BYfr/v5%2BQEAbt265ehSVUPpzPr6%2BuDr6zvmPDqdbka9bp2VW19f35hzjjdPrdScm5r33ZmQm5L7LpstUtS9f3X82zj9xZ7cxpszehl7NuarZGaz6XWrltyEEC6Vr5pzU/Pr19VzU2rfZbNFihjt9O/9S6qvrw/A2L8g6C/25qbT6WCxWGCxWMadN3qc2UDpzHQ6nTx277yZ9Lp1Vm4Tzevv73eJfNWcm5r33ZmQm5L7LpstUsSiRYtw33334fr16zbjZrMZAPgxGxOwN7fR7/e%2BB6O1tRXe3t4ICgqahmrVQenM9Ho9fvrppzFvdjWbzTPqdeus3PR6/ZhjDQ0Noa2tzSXyVXNuat53Z0JuSu67bLZIERqNBqtWrUJtba3N%2BJkzZ3D//fcjLCzMSZWpm725rVy5Er6%2BvqipqZHnjIyMoLa2FgkJCaq4XTBdlM4sISEBfX19aGhokOd1dXWhqakJCQkJ07Ci6eGs3OLj42EymfDHH3/IY19//TWGhoZcIl8156bmfXcm5Kbkvuuxb9%2B%2BfXbPngEGBwfx7bffwmw24/vvv0dPTw%2BCg4NhNpsREBAALy8vZ5eoSvbktnDhQhQXF6Orqwve3t44ffo0SkpK8M4772D58uXOXoJTKJWbh4cHPDw8UFxcDK1WC4vFgqNHj%2BLy5cv46KOPEBgY6OSVKme6MwsODsbVq1dRWVmJoKAgdHV1Ye/evdBqtdi/fz88PT2dGYfd1JrbsmXLUF1djYaGBgQFBeHy5cv44IMP8Mwzz2Dz5s1Oy2uUq%2BfmrH13NuSm6L47qU/lmgHa29uFJEnjfplMJmeXp1r25lZXVydSUlLEo48%2BKp5%2B%2BmlRVlbmxKqdT8nc7t69K44fPy6eeuopsXz5crFx40bxww8/TOdypoUzMuvv7xd79uwR0dHRIjIyUmzbtk10dHQ4dJ1KU3Nu169fF1u3bhUREREiJiZGHDhwQAwODiobwBTNhNycse/OltyU2nfdhJhBn4ZIREREpDJ8zxYRERGRA7HZIiIiInIgNltEREREDsRmi4iIiMiB2GwRERERORCbLSIiIiIHYrNFRERE5EBstoiIiIgciM0WEY1x6tQpGAwG%2BSssLAxxcXHIzc3FjRs3nF5XR0fHP84rLCyEwWCYpqr%2BndFoRGFh4bjPGQwG7N%2B/f5orIqLp5Br/9IuInOLDDz9EaGgoLBYLmpqaUFxcjMbGRtTW1sLPz8/Z5bkMo9GI8vJybN%2B%2B3dmlEJETsNkiogktW7YM4eHhAICYmBiMjIygsLAQ33zzDV544QUnV0dE5Bp4G5GI7DbaeN28eXPMczU1Ndi0aRMiIyMRFRWFtLQ0XLt2zWZOS0sLcnNzkZiYiBUrViAxMRG7du1CZ2fnmOM1Nzdj8%2BbNCA8PR1xcHA4fPozh4eH/VL89Nb799tuIiorCzz//jPT0dERFRSEhIQEHDx7E0NCQzdxff/0VOTk5iIqKwuOPP47du3fjypUrMBgMOHXqlHy88vJyALC5NXvvrdAvvvgCa9euRUREBFJSUvDdd9/9p7USkXrwyhYR2W20QXj44YdtxouLi3HkyBFs3LgRmZmZsFqtOHnyJLZs2YKqqiosXboUANDZ2YklS5YgOTkZfn5%2B6O7uxmeffYbU1FScPXsWAQEBAACz2YzXXnsNCxYswMGDB6HValFRUYEzZ85MuXZ7awQAq9WKzMxMpKamYuvWrbh06RKKiorg4%2BOD7OxsAMCdO3fwyiuvoLe3F2%2B88QYWL16MhoYG5Obm2pw3KysLd%2B7cwVdffYXKykp5/IEHHpB/rqurQ0tLC3JycjB37lycOHEC2dnZOHfuHBYuXDjlNRORSggiontUV1cLSZJEc3OzsFqt4vbt26K%2Bvl7ExsaKLVu2CKvVKs/95ZdfRFhYmDhw4IDNMW7fvi1iY2PFjh07JjzP8PCwGBgYEJGRkaK0tFQe37lzp1ixYoXo7u62mbtmzRohSZJob2//x/oLCgqEJElTqjEvL09IkiRqamps5qanp4ukpCT5cVlZmZAkSRiNRpt57777rpAkSVRXV8tj77//vk09/0%2BSJPHkk0%2BK/v5%2Beay7u1s88sgj4tixY/%2B4TiJyDbyyRUQTeumll2we6/V6FBUVwdPz763j4sWLGB4exoYNG2xu882ZMwfR0dFobGyUxwYGBlBUVITz58%2Bjs7MTIyMj8nOtra3yz42NjVi9ejUCAwPlMQ8PD6xbtw6ffPLJpNcxmRoBwM3NDYmJiTZjBoMBJpNJfnzp0iV4e3sjPj7eZt769ettrmDZIyYmBj4%2BPvLjwMBAzJ8/f9zbq0TkethsEdGEDh06BL1ej4GBAdTU1KCyshK7du3CiRMn5Dk9PT0AgNTU1HGP4e7%2B91tDd%2B/eDZPJhKysLISHh8Pb2xtubm7IyMiAxWKR5926dcum0Ro13pg9JlMjAHh5eWHOnDk2YxqNxq4a58%2BfP%2Bn6/P39x4zdez4icl1stohoQnq9Xn5T/KpVq3D37l1UVVXh3LlzWLNmDQBg3rx5AICCggKEhIRMeKz%2B/n7U1dUhOzsbGRkZ8vjQ0BB6e3tt5vr7%2B8sN0v8bb8we9tY4Gf7%2B/rhy5cqY8anWSEQzF5stIrLbm2%2B%2BifPnz6OgoADPPvss3N3dERcXB09PT7S1tSEpKWnC33Vzc4MQAhqNxma8qqrK5nYi8NdttQsXLqCnp0e%2BejQyMoKampop1W1vjZMRHR2N2tpaGI1GJCQkyONnz54dM3d0zX/%2B%2BSe0Wq0i5yci18Fmi4js5ufnh4yMDOTn5%2BP06dPYsGEDHnroIeTk5ODIkSNob29HfHw8dDodenp60NLSAi8vL%2BTk5MDHxwfR0dE4efIk5s2bhwULFuDHH3/E559/Dp1OZ3OezMxMXLhwAa%2B%2B%2Bipef/11aLValJeXY3BwcEp121vjZDz//PMoLS3FW2%2B9hR07dmDx4sWor6/HxYsXAdjempQkCQBw/PhxxMfHw93dHQaDYUzjSUQzEz9ni4gm5eWXX0ZISAiKiorkK1Lbtm3D0aNHcePGDeTl5SEtLQ0ff/wxOjs7ER0dLf/u4cOHERMTg/z8fGRnZ%2BPq1asoKSmBr6%2BvzTkkSUJJSQl8fHyQl5eHvXv3wmAwICsra8p121ujvebOnYvS0lI88cQTyM/Px/bt29HV1YX33nsPAGzWtH79erz44ouoqKjApk2bkJqait9//33KayEi1%2BImhBDOLoKIaKYY/Tyvuro6BAcHO7scIlIB3kYkIpqisrIyAEBoaCisVitMJhM%2B/fRTpKSksNEiIhmbLSKiKdJqtSgtLUVHRwesVisefPBBpKenIzMz09mlEZGK8DYiERERkQPxDfJEREREDsRmi4iIiMiB2GwRERERORCbLSIiIiIHYrNFRERE5EBstoiIiIgciM0WERERkQOx2SIiIiJyoP8Bd8MmncdN3zUAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -308,7 +309,7 @@
 <br>
 
 <h3 id="Weighted_Histogram_of_read_lengths">Weighted Histogram of read lengths</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm4AAAHKCAYAAAC6zcd2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzde1hU5do/8C8zMEDAcEiFPFAKDoGgQMnhLUFN0hQqRRPLV/NUgJqZlpRopeQhSwJFCDXzmEU72emGykrRdluzsJNlO0beMGUjymEQhYFh/f7wNysXgziDw4aB7%2Be6vLhmrXs9675nDXH3rMNYCYIggIiIiIg6PVlHJ0BERERExmHjRkRERGQh2LgRERERWQg2bkREREQWgo0bERERkYVg40ZERERkIdi4EREREVkINm5EREREFoKNGxEREZGFYONGdAOffPIJfHx8kJeXZ7Du4Ycfho%2BPD44ePWqwbtSoURg/frzJ%2B1u8eDGioqLalGtqaip8fHyg0WhuGrtp0yZ88cUXbdpPa/744w/4%2BPjg73//e6txX3/9NXx8fPD555%2B3uH758uXw8/OTLJsyZQqefPJJk/L597//jQ0bNuD8%2BfMmbded/fOf/8SECRMQGBgIHx8fHDp0qKNTalVERASWLl3aakxjYyN8fHywadOm/1JWrautrcWGDRtw4sQJg3Wm/B5T98XGjegGQkJCYGVlhWPHjkmWV1VV4d///jduu%2B02HD9%2BXLLuP//5D86ePYvQ0FCT9/fMM88gPT39lnI2RmZmJr788st23485rVy5EsuWLTNpm99//x0bN25k42YknU6HBQsWwNbWFpmZmXj//fdxzz33dHRaXc6VK1ewcePGFhs3ImNYd3QCRJ2Vm5sbBg4ciG%2B%2B%2BUay/MSJE7C2tkZsbKxB46Zv8trSuHl6erY92S7O29u7o1MwmU6ng06ng0Kh6OhUjPKf//wHNTU1ePDBBxEeHm7y9lqtFjKZDNbW/LNC1J4440bUitDQUBQXF%2BPChQvisuPHj8Pf3x%2BRkZE4deoULl%2B%2BLK775ptvIJfLce%2B994rLBEHArl278PDDDyMgIABDhw7FM888g7Nnz0r21dKp0qqqKrz44osYOnQogoKCEB8fj//7v/%2B74amf8vJyPPvsswgODsZ9992HpUuXivnpTxlptVp8%2BOGH8PHxgY%2BPj%2BQUZFlZGZKTkzFs2DD4%2B/tj1KhR2LRpE3Q6nWQ/ZWVleOaZZxAUFIR7770XixYtwqVLl0x/g43U0qnS3bt3IyYmBkFBQQgKCsKYMWPw1ltvAQBycnLw3HPPAQCeeOIJsdbrT%2BN%2B8MEHiImJQUBAAEJCQjBv3jycOXPGYN979%2B7Fgw8%2BiICAAERHRyMvL8/gWOlPE7/zzjvYuHEjRo4ciYCAAHz77beoq6vD6tWr8fDDD%2BOee%2B5BSEgI4uLiDGY99cfntddeQ05ODkaPHo3BgwcjNjYWP/74IwRBQHZ2NkaOHImgoCA8%2BeSTBp%2BhGzlx4gSmTZuGoKAgDBkyBHFxcSgoKBDXp6amYuTIkQCANWvWwMfHp9XT9vrT3fv378eqVatw//33Y/DgwTh37hwA4z9HaWlpmDhxIkJCQhAcHIwJEybgo48%2BgiAIkjitVou1a9fivvvuw5AhQ/D444/jp59%2BMqr2GzEmR/1xfffdd7FlyxbxvY%2BLi8OPP/5oMObNPit//PEH7r//frF2/eey%2Bene1n6P9fLy8jBx4kTcc889CAwMxKhRo5CcnHxL7wlZBv6vEVErwsLCsHPnTnzzzTeIjo4GcK1xGzFiBIKDg2FlZYXvvvsOkZGR4jo/Pz84OTmJY7z00kvYv38/pk2bhueffx5VVVXIyMjAlClT8PHHH8PNza3Ffet0Ojz99NM4ffo05s%2BfD19fXxQWFuKpp566Yb7z5s3DuHHj8Nhjj%2BH06dNITU2FTCbDypUrYW1tjffffx9Tp07FsGHD8PTTTwOAmGtZWRkmTZoEGxsbzJ8/H/369cN3332HTZs24fz580hJSQEAXL16FdOmTUNFRQUWL14MT09PHD58GIsWLTLpvW1qakJjY6NJ2%2Bj9/e9/x4oVKzBt2jQMHz4cVlZW%2BOOPP1BcXAwAeOCBB1BeXo60tDSsWLECPj4%2BAP6a1czIyEB6ejpiYmKwePFiVFZWYsOGDZg8eTL%2B9re/iXG7d%2B/GihUrMGbMGCxduhTV1dVIS0uDVqttcWbp3XffxYABA5CUlAQHBwfcddddqKurg0ajwezZs9GrVy9otVp8/fXXmDt3Ll5//XXExMRIxvjiiy9w6tQpLF68GACwbt06PPXUU4iJiUFpaSmWL1%2BO6upqrF27FgsWLMBHH33U6nv1r3/9C7Nnz4afnx9WrVoFGxsb7Nq1C08//TTeeustjBkzBlOmTIGvry8WLFiA6dOnY%2BzYsbC1tb3pcVi3bh2Cg4OxcuVKAICLi4vRnyMAOH/%2BPKZMmYI77rgDgiDg%2B%2B%2B/xyuvvIILFy4gPj5ejHvppZfwj3/8A7NmzUJ4eDh%2B%2B%2B03zJ0716CZMZYpOQLAjh074O3tjZdeegkA8NZbb2HOnDn44osv4OjoCMC4z8odd9yB7OxsPPXUU5g8eTImTJgAALj99tsl%2B2vt9xgAvv32Wzz33HOIjo7G/PnzYWtri3PnzvH0a3chENENVVVVCXfffbewbNkyQRAEoaKiQvDx8RGOHDkiCIIgTJw4UVizZo0gCIJw/vx5QaVSCa%2B//rq4/YkTJwSVSiVs375dMu6ff/4p%2BPv7C%2BvXrxeXLVq0SBg1apT4%2BvPPPxdUKpXwwQcfSLbNyMgQVCqVkJGRIS5bv369oFKphG3btklily1bJgQGBkqW%2Bfv7Cy%2B99JJBrS%2B99JIQHBwslJaWSpa//fbbgo%2BPj3DmzBlBEARh586dgkqlEg4fPiyJS0pKElQqlZCbm2sw9vX%2B%2Bc9/CiqVqtV/vr6%2Bkm3i4uKE6dOni6%2BXL18uhIaGtrqfAwcOCCqVSjhx4oRkeUVFheDv7y/Ex8dLlp89e1YYNGiQ8MILLwiCIAgNDQ1CWFiYEBcXJ4krKSkR/Pz8JMfq//7v/wSVSiU8%2BOCDQkNDQ6t5NTY2Cg0NDcKSJUuE2NhYcXlDQ4OgUqmE%2B%2B%2B/X7hy5Yq4/JNPPhFUKpUwfvx4oampSVy%2BdetWQaVSCUVFRa3ub8KECcJ9990nGbOxsVF46KGHhBEjRhjU0Pwz1BL9MZw2bZrBOmM/R83pdDqhoaFBSEtLE8LDw8Xlv/32m6BSqYS1a9dK4vft2yeoVKoWP8vX07%2Bv1/%2B%2BGJuj/j155JFHBJ1OJ8YVFhYKKpVKyM/PF/dh7GflwoULBvnoGft7/PbbbwsqlUqora1ttXbqmniqlKgVzs7OuPvuu8Vr2U6cOAG5XI7g4GAAwNChQ8V1%2Bp/XX992%2BPBhyGQyxMTEoLGxUfzn7u4OlUplcI3c9fT/9/zQQw9Jlutn/lqiP92l5%2BPjgytXrqCysvKmtR4%2BfBjh4eHo0aOHJNeIiAgIgiDmc/z4cSiVSnGWUa/5zNHNLFmyBB9%2B%2BKHBvwcffPCm2w4ePBiVlZVYtGgRvvjiC6Pq0zt58iS0Wq0426HXt29fhISE4F//%2BhcAQK1Wo6KiwuD979evH4YMGdLi2A888ECLM3F5eXmIi4tDYGAg/Pz8MGjQIOzbtw9qtdogNjw8HPb29uJrLy8vAEBkZCSsrKwMlutPT7bk8uXLOHXqFMaMGSMZUy6X4%2BGHH8a5c%2Bfwxx9/3HD7m2npWBn7OQKunXKdPn067rnnHvj6%2BmLQoEHIyMjApUuXxGOq/x15%2BOGHJfsZO3YsZLK2/QkzJUcAGD58uGRf%2Bhlc/Y0vbfmstOZmv8eDBw8GcO2Gpry8PJSVlZm8D7JcPFVKdBOhoaHYtm0bysrKcPz4cQwaNAgODg4Art15um3bNtTU1OD48eOwtraW3Il36dIlNDU1ISwsrMWx77rrrhvut6qqCra2tuKpGL3mp1Wu5%2BLiInmtvzC%2Bvr6%2B1Rr1uR48eBCDBg1qcb3%2Bj0ZVVRV69OhhsL6lZa3x9PREQECAwXJXV9ebbjthwgQ0NTXhww8/xPz58yEIAgICArBw4cKbXlhfVVUFAOjZs6fBul69euHbb7%2BVxN2o1vLy8ha3by4vLw8LFy7E2LFjMXv2bPTo0QNyuRy7du3C/v37DeKdnZ0lr21sbFpdrtVqDYv8/6qqqiAIQot56ZdVVVXhzjvvvOEYrWlpXGM/RydPnsTs2bMRFhaGlJQUeHh4wNraGp999hmys7PFz%2ByNjoNCoYBSqWxT3sbmqHej36u6urpWc9Qva%2Bmz0pqb/R6HhYVh48aN2LlzJ1544QU0NDRApVIhISEBY8eONWlfZHnYuBHdhL5x%2B%2Babb/DNN98gIiJCXKdv0k6cOIHjx48jICBAbOqAa/8Blslk2LNnT4szMa1dR%2BTi4oL6%2BnrU1NRIrpm7ePGiOcpqcX%2BDBw/G/PnzW1zv7u4uxp0%2BfdpgfXvl1RIrKytMmjQJkyZNQm1tLU6cOIH09HQ8/fTT%2BOyzz%2BDh4XHDbfV/FFv6Y3rhwgWxcdTHtVSXKX%2BIP/74Y9x1111Yv369ZMastYbLXFxcXGBlZSW5uUZPv8yYRvlGrq/n%2Bn0a8zn6xz/%2BAYVCgaysLMmdt59%2B%2BqnBeMC143B9Y6TVatv8vDNjczRlPH2OzZnatBkrKioKUVFR0Gq1KCwsRHZ2Np577jn07dtXnJGjromnSoluYujQoZDL5fj000/x%2B%2B%2B/IyQkRFzn5OQEX19f5Obm4ty5cwaPARkxYgSamppQXl6OgIAAg38qlarV/QJAfn6%2BZPk//vGPW6pHoVCIMwXNc/3tt99w1113tZirfnYlNDQUGo1GclcigBZnj/4bHBwcMHz4cDz99NOor69HUVERgBvPNgYHB0OhUODjjz%2BWLD9//jy%2B%2BeYbccbOy8sLbm5uBu//2bNnW7yj8EasrKxgY2MjaXLKyspw%2BPBho8doK0dHR/j7%2B%2BOzzz6TvA86nQ779%2B9Hnz59zP4YGmM/RwBgbW0tOQV59epVg%2BOi/51qvjwvLw9NTU3tnqMxTPmsmDILbgyFQoGwsDA899xzEAQBv/76q1nGpc6LM25EN%2BHo6Ag/Pz98/vnnkMlkBg8lHTp0KLZv3w7A8PltISEhiI2NxZIlS/DDDz9g6NChsLOzQ3l5Ob799lv4%2Bflh8uTJLe53%2BPDhCAwMxGuvvQaNRgM/Pz8UFhaKf8Daen2P/tq6Q4cOoUePHnB0dET//v3x7LPP4l//%2Bhfi4uIwdepU9O/fH/X19fjzzz9x%2BPBhrFq1Cj179sSECROwY8cOPP/881iwYAHuvPNOHDp0yOBBxe3pxRdfhIODA4KDg9GzZ0%2BUl5cjKysLzs7O4umvgQMHAgDef/992NrawtbWFv369YOLiwvi4%2BORnp6OF198EQ899BAqKiqwceNG2NvbIzExEcC1pmLevHlYsWIFnn32WYwfPx7V1dXIyMhAr169jH7/R4wYgWXLlmHlypUYNWoUSktLxTGMfZzHrVi0aBFmz56N6dOnY8aMGZDL5dizZw/UajXS0tLMvj9jP0fDhw/Hzp078fzzz2PSpEmorKzEli1bJNfiAdc%2Br%2BPGjcO2bdsgl8sRFhaGf//739i2bZtkdrs9cjSWKZ8VZ2dnuLu74%2BDBgwgJCYFSqYSbmxv69Olj9P7Wr1%2BPixcvIjw8HO7u7tBoNNi%2BfTtsbGwkjyKiromNG5ERQkND8dNPP8HX19fgmrOhQ4fi3XffhY2NDYKCggy2fe211xAUFIQPPvgAu3fvhiAIcHd3R3BwcIvXeOnJ5XK8/fbbWLNmDbKystDY2Ih77rkHa9euRVxcnOT0qSmSk5OxcuVKPPvss6irq0N4eDjeffdduLu7429/%2BxsyMzOxefNmXLhwAQ4ODujbty%2BGDRsm7u%2B2227D9u3bsWrVKrzxxhuQyWS4//778cYbb%2BDxxx9vU06muvfee/H3v/8d%2Bfn5qK6uhqurK4YOHYo333xTPPV31113ISkpCTt37sS0adOg0%2Bnw%2Buuv45FHHsHcuXPRo0cP8Toze3t7hISE4LnnnpPMQD3xxBOQyWR455138Pnnn6Nv375ISEhAfn6%2B0c%2BtmzRpEioqKvDBBx/ggw8%2BgKenJxISEnD27Fls3ry5Xd6f64WHh2Pbtm3YuHEjkpKS0NTUBF9fX7z99tsGN5iYg7Gfo/vvvx8pKSnYsmULnn76abi7u2Py5MlQKpVYvny5ZMw1a9agZ8%2Be%2BPDDD7F9%2B3b4%2Bflh48aNmDdvXrvmaApTPiurV6/G66%2B/jvj4eGi1WkycOBGvvfaa0fsKDAzEnj178Prrr6OyshJKpRKDBw/Gjh07xJtWqOuyEoRmTzokok4tNzcXS5YsQU5ODq9l6QDV1dV48MEH8dBDD%2BGVV17p6HSoE%2BNnhdoDZ9yIOrGPP/4YFy9exMCBA2FlZYXvv/8eW7duRWhoKJu2/4KysjJs3rwZISEhcHFxwblz57Bt2zbU1dXhf//3fzs6PepE%2BFmh/xY2bkSd2G233YYDBw7gjz/%2BQF1dHXr16oWJEydiwYIFHZ1at6BQKHD27Fnk5eWhuroa9vb2CAwMREpKCk9JkQQ/K/TfwlOlRERERBaCjwMhIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQvCu0k5KEAQ0NbXPfSMymVW7jd1ZsMauozvUyRq7ju5QJ2tsfbuWvsPXnNi4dVJNTQIqKmrNPq61tQyurg7QaK6gsbFt3/PX2bHGrqM71Mkau47uUCdrbJ2bmwPk8vZt3HiqlIiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvRqRq32tpaREREwMfHBz/99JNkXUFBAR599FEEBAQgKioKu3fvbnGMrVu3YuTIkQgICEBsbCyOHz9uEHP58mUsX74coaGhCAoKQnx8PM6dO2cQV1xcjFmzZiEwMBDh4eFISUlBXV2dQZyxuRERERHdik7VuG3atAk6nc5g%2BcmTJ5GYmAg/Pz9s3rwZ48ePR0pKCnJyciRxW7duRWpqKp544glkZ2fjzjvvxJw5c/Dbb79J4hYtWoQvv/wSy5YtQ2pqKi5cuIAZM2ZImjKNRoPp06ejtrYW6enpWLJkCfbv34/k5OQ25UZERER0qzrN40DUajX27NmDJUuW4OWXX5asy8jIgJ%2BfH1atWgUACAsLQ2lpKdLS0hAbGwuZTAatVovMzExMmzYNs2bNAgCEhIQgJiYGWVlZSE1NBQD88MMPOHz4MLKzsxEZGQkAUKlUiIqKwr59%2BzBlyhQAwN69e6HRaJCbmws3NzcAgFwux%2BLFi5GQkAAvLy%2BjcyMiIiIyh07TVbz22muIi4tD//79Jcu1Wi2OHTuGcePGSZbHxMSgvLwcv/zyCwCgsLAQNTU1iI6OFmPkcjnGjh2LgoICCMK1B%2BkVFBRAqVQiIiJCjOvduzeCg4NRUFAgLjty5AjCw8PFpg0ARo8eDYVCIcYZmxsRERGROXSKGbdPPvkEp0%2BfRnp6Ok6dOiVZV1JSgoaGBgwYMECy3NvbG8C1mTp/f3%2Bo1WoAMIjz8vJCbW0tysrK4OHhAbVajf79%2Bxs82djb2xtfffWV%2BFqtViM2NlYSo1Ao4OnpKe7L2Nzaytra/H21XC6T/OyKWGPX0R3qZI1dR3eokzV2vA5v3K5evYo1a9bgueeeg6Ojo8H66upqAIBSqZQs17/Wr9doNFAoFLCzs5PEOTs7AwCqqqrg4eEBjUYDJycng/0olUpxLP14zffZPM7Y3NpCJrOCq6tDm7e/GaXSvt3G7ixYY9fRHepkjV1Hd6iTNXacDm/cMjMzcfvtt2PChAmtxt3ou7%2BuX95SjP4U6c3iWlvefLzmcbcy3o00NQnQaK60efsbkctlUCrtodFchU7XNb%2BuhDV2Hd2hTtbYdXSHOllj65RK%2B3afqevQxu3cuXN45513kJGRgcuXLwMArly5Iv6sra0VZ8yaz15pNBoAf81uKZVK1NfXo76%2BHra2tgZx%2BnGUSiVKS0sNcmk%2Bw6ZUKsVtr1dTUyPemGBsbm3Vnt8Dp9M1ddnvmdNjjV1Hd6iTNXYd3aFO1thxOvQE7p9//omGhgY89dRTGDp0KIYOHYr4%2BHgAwLRp0zBjxgx4enrCxsYGZ86ckWxbVFQEAGITpf%2Bpv/5MT61Ww8HBAe7u7mJccXGxOBN3/Xj6MfRxzcfSarUoKSkR44zNjYiIiMgcOrRx8/X1xY4dOyT/XnzxRQDAq6%2B%2BipdffhkKhQJhYWHIz8%2BXbHvgwAH07NkTfn5%2BAIDg4GA4OTkhLy9PjNHpdMjPz0dkZKR42jIyMhIajQZHjx4V40pLS1FYWCg%2BHgQAIiIicOzYMVRWVorLDh48CK1WK8YZmxsRERGROchfeeWVVzpq57a2tujbt6/kX319Pfbt24d58%2BaJd2T269cPWVlZKC0thYODA/bv349t27bhxRdfFGPkcjnkcjmysrJgZ2eH%2Bvp6pKWl4eTJk3j99dfRo0cPAICHhwd%2B/vlnvP/%2B%2B3B3d0dpaSmWL18OOzs7rFixAtbW184eDxw4EH/7299w9OhRuLu74%2BTJk1i1ahWioqIQFxcn1mBMbm0hCAKuXm1o8/Y3IpNZwd5egbq6BjQ1CTffwAKxxq6jO9TJGruO7lBnV6ixSRBQqa2FrdymxWvRb6VGe3sFZLK2X99ujA6/OcEYQUFB2LRpE9avX4/c3Fx4eHggOTkZkyZNksTNnDkTgiBg586duHjxIlQqFbKzs%2BHj4yOJe/PNN7F27Vq8%2BuqraGhoQGhoKDZs2CC5I1WpVGL79u1ISUnB/PnzYWdnh%2BjoaCxevLhNuREREVHHq9LWYu2vn2CJ7xi42Ro%2BzaKzsxKaX%2BxFnYJO14SKilqzj2ttLYOrqwMqK2s75UWX5sAau47uUCdr7Dq6Q51docaK%2BstYd/pTPH/36BYbt1up0c3Nod3vKu2cT5cjIiIiIgNs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEKwcSMiIiKyEGzciIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEKwcSMiIiKyEGzciIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEJ0eON29OhRTJ06FWFhYfD398cDDzyA1atXo6amRoxJSkqCj4%2BPwb8jR44YjLd161aMHDkSAQEBiI2NxfHjxw1iLl%2B%2BjOXLlyM0NBRBQUGIj4/HuXPnDOKKi4sxa9YsBAYGIjw8HCkpKairqzOIKygowKOPPoqAgABERUVh9%2B7dt/iuEBERERmy7ugEqqurERQUhOnTp0OpVOL333/Hhg0b8Pvvv%2BOdd94R4/r164c33nhDsq2Xl5fk9datW5GamoqFCxfCz88POTk5mDNnDnJycuDj4yPGLVq0CKdOncKyZcvg6OiI9PR0zJgxAx9//DHs7OwAABqNBtOnT0fv3r2Rnp6OiooKrF69GlVVVZI8Tp48icTERDzyyCNISkpCYWEhUlJSoFAoMGnSpPZ4y4iIiKib6vDGLTo6GtHR0eLr0NBQKBQKLFu2DGVlZXB3dwcA2NnZITAw8IbjaLVaZGZmYtq0aZg1axYAICQkBDExMcjKykJqaioA4IcffsDhw4eRnZ2NyMhIAIBKpUJUVBT27duHKVOmAAD27t0LjUaD3NxcuLm5AQDkcjkWL16MhIQEsWnMyMiAn58fVq1aBQAICwtDaWkp0tLSEBsbC5mswyc1iYiIqIvolF2Fi4sLAKCxsdHobQoLC1FTUyNpAuVyOcaOHYuCggIIggDg2mlNpVKJiIgIMa53794IDg5GQUGBuOzIkSMIDw8XmzYAGD16NBQKhRin1Wpx7NgxjBs3TpJLTEwMysvL8csvv5hQNREREVHrOnzGTU%2Bn06GxsRFFRUXIyMjAiBEj0KdPH3F9SUkJ7r33XtTV1UGlUiExMRGjRo0S16vVagDAgAEDJON6eXmhtrYWZWVl8PDwgFqtRv/%2B/WFlZSWJ8/b2xldffSUZLzY2VhKjUCjg6ekp7qukpAQNDQ0G%2B/T29hbH8Pf3b%2BtbAmtr8/fVcrlM8rMrYo1dR3eokzV2Hd2hzq5Qo1wngxWsILeWtfh3trPX2GkatxEjRqCsrAwAMGzYMKxfv15c5%2Bvri4CAAHh7e6Ompgbvvfce5s6di7S0NIwZMwbAtWvSFAqFeI2anrOzMwCgqqoKHh4e0Gg0cHJyMti/UqlEdXW1%2BFqj0UCpVLYap//ZPE7/%2BvrxTCWTWcHV1aHN29%2BMUmnfbmN3Fqyx6%2BgOdbLGrqM71GnJNTZebYJcLoOz821wtb/x39nOWmOnadyys7Nx5coVFBUVYdOmTYiPj8e2bdsgl8sxffp0SezIkSMRFxeH9PR0sXEDYDCLBkA8RXr9upbiWlvefLzmcbcy3o00NQnQaK60efsbkctlUCrtodFchU7XZPbxOwPW2HV0hzpZY9fRHersCjVW11%2BBTteE6uorsK5recatrTUqlfbtPlPXaRq3u%2B%2B%2BGwAQHBwMPz8/xMbG4uDBg5LGTE8mk%2BHBBx/EunXrUFdXBzs7OyiVStTX16O%2Bvh62trZirEajAfDXzJtSqURpaanBmM1n2JRKpbjt9WpqasQbE/RjNp9Z02/X0oydKRob2%2B%2BXQqdratfxOwPW2HV0hzpZY9fRHeq05Bp1jU0QIEDX2IRG%2BY1r6Kw1dsoTuL6%2BvpDL5SgpKblhjH4mTU/fTOmvP9NTq9VwcHAQ70718vJCcXGxwfZFRUWSx4t4eXkZjKXValFSUiLGeXp6wsbGBmfOnDEY6/qciIiIiMyhUzZuJ0%2BehE6nQ9%2B%2BfVtc39TUhE8//RQDBw4Ur2kLDg6Gk5MT8vLyxDidTof8/HxERkaKpy0jIyOh0Whw9OhRMQOl6AoAACAASURBVK60tBSFhYXi40EAICIiAseOHUNlZaW47ODBg9BqtWKcQqFAWFgY8vPzJfkdOHAAPXv2hJ%2Bf3y2%2BE0RERER/6fBTpfPmzYO/vz98fHxgZ2eH06dPY8uWLfDx8cGoUaNw7tw5JCUlITo6Gp6enqiursZ7772Hn3/%2BGRs2bBDHUSgUSEhIQGpqKtzc3MQH8J49e1Zyo8OQIUMwfPhwLF26FElJSXB0dERaWhr69OmD8ePHi3FxcXHYtWsXEhMTkZiYiEuXLmHNmjWIiYmRzKTNnTsXU6dORXJyMmJiYlBYWIicnBysWLGCz3AjIiIis%2Brwxm3w4MHIy8tDdnY2BEFAnz598Nhjj2HWrFlQKBRwcHCAo6MjMjIyUFFRARsbG/j7%2B2Pz5s0YNmyYZKyZM2dCEATs3LkTFy9ehEqlQnZ2tuRbEwDgzTffxNq1a/Hqq6%2BioaEBoaGh2LBhg%2BSOVKVSie3btyMlJQXz58%2BHnZ0doqOjsXjxYslYQUFB2LRpE9avX4/c3Fx4eHggOTmZ35pAREREZmclNL/YizoFna4JFRW1Zh/X2loGV1cHVFbWdsqLLs2BNXYd3aFO1th1WHKdTYKAKm0tXBQOkLXyRARLrlGvov4y1p3%2BFM/fPRputo4G62%2BlRjc3h3a/q5Tn8oiIiLq5Km0t1v76Caq05p8wIPNi40ZEREStzrRR58HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEKwcSMiIiKyEGzciIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiKiTq5JEFBRfxlNgtDRqVAHY%2BNGRETUyVVpa7H2109Qpa3t6FSog7FxIyIisgAyK6uOToE6ATZuRERERBaCjRsRERGRhWDjRkRERGQh2LgRERERWQg2bkREREQWgo0bERERkYVg40ZERERkIdi4EREREVkINm5EREREFoKNGxEREZGFYONGREREZCHYuBERERFZiA5v3I4ePYqpU6ciLCwM/v7%2BeOCBB7B69WrU1NRI4goKCvDoo48iICAAUVFR2L17d4vjbd26FSNHjkRAQABiY2Nx/Phxg5jLly9j%2BfLlCA0NRVBQEOLj43Hu3DmDuOLiYsyaNQuBgYEIDw9HSkoK6urqDOKMzY2IiIjoVnR441ZdXY2goCCsXLkSW7duxYwZM5Cbm4sFCxaIMSdPnkRiYiL8/PywefNmjB8/HikpKcjJyZGMtXXrVqSmpuKJJ55AdnY27rzzTsyZMwe//fabJG7RokX48ssvsWzZMqSmpuLChQuYMWOGpCnTaDSYPn06amtrkZ6ejiVLlmD//v1ITk6WjGVsbkRERES3yrqjE4iOjkZ0dLT4OjQ0FAqFAsuWLUNZWRnc3d2RkZEBPz8/rFq1CgAQFhaG0tJSpKWlITY2FjKZDFqtFpmZmZg2bRpmzZoFAAgJCUFMTAyysrKQmpoKAPjhhx9w%2BPBhZGdnIzIyEgCgUqkQFRWFffv2YcqUKQCAvXv3QqPRIDc3F25ubgAAuVyOxYsXIyEhAV5eXgBgVG5ERERE5tApuwoXFxcAQGNjI7RaLY4dO4Zx48ZJYmJiYlBeXo5ffvkFAFBYWIiamhpJEyiXyzF27FgUFBRAEAQA105rKpVKREREiHG9e/dGcHAwCgoKxGVHjhxBeHi42LQBwOjRo6FQKMQ4Y3MjIiIiMocOn3HT0%2Bl0aGxsRFFRETIyMjBixAj06dMHRUVFaGhowIABAyTx3t7eAAC1Wg1/f3%2Bo1WoAMIjz8vJCbW0tysrK4OHhAbVajf79%2B8PKyspgvK%2B%2B%2Bkp8rVarERsbK4lRKBTw9PQU91VSUmJUbm1lbW3%2Bvloul0l%2BdkWssevoDnWyxq6jPeuU62SwghXk1rL2%2Bdtg5Phd4VjerNbOXmOnadxGjBiBsrIyAMCwYcOwfv16ANeugQMApVIpide/1q/XaDRQKBSws7OTxDk7OwMAqqqq4OHhAY1GAycnJ4P9K5VKcSz9eM332TzO2NzaQiazgqurQ5u3vxml0r7dxu4sWGPX0R3qZI1dR3vU2Xi1CXK5DM7Ot8HV3vx/G0wd35KPpbG1dtYaO03jlp2djStXrqCoqAibNm1CfHw8tm3bJq5vPkPW0vKWYvSnSG8W19ry5uM1j7uV8W6kqUmARnOlzdvfiFwug1JpD43mKnS6JrOP3xmwxq6jO9TJGruO9qyzuv4KdLomVFdfgXWd%2BWeCjB2/KxzLm9V6KzUqlfbtPlPXaRq3u%2B%2B%2BGwAQHBwMPz8/xMbG4uDBg%2BJpx%2BazVxqNBsBfs1tKpRL19fWor6%2BHra2tQZx%2B5k2pVKK0tNRg/81n2JRKpbjt9WpqasQbE/Rj3iy3tmpsbL9fCp2uqV3H7wxYY9fRHepkjV1He9Spa2yCAAG6xiY0ys3/Hpo6viUfS2Nr7aw1dsoTuL6%2BvpDL5SgpKYGnpydsbGxw5swZSUxRUREAiE2U/qf%2B%2BjM9tVoNBwcHuLu7i3HFxcXiTNz14%2BnH0Mc1H0ur1aKkpESMMzY3IiIiInPolI3byZMnodPp0LdvXygUCoSFhSE/P18Sc%2BDAAfTs2RN%2Bfn4Ars3UOTk5IS8vT4zR6XTIz89HZGSkeNoyMjISGo0GR48eFeNKS0tRWFgoPh4EACIiInDs2DFUVlaKyw4ePAitVivGGZsbERERkTl0%2BKnSefPmwd/fHz4%2BPrCzs8Pp06exZcsW%2BPj4YNSoUQCAuXPnYurUqUhOTkZMTAwKCwuRk5ODFStWiM9JUygUSEhIQGpqKtzc3ODn54ecnBycPXtWvNEBAIYMGYLhw4dj6dKlSEpKgqOjI9LS0tCnTx%2BMHz9ejIuLi8OuXbuQmJiIxMREXLp0CWvWrEFMTIxkJs2Y3IiIiIjMocMbt8GDByMvLw/Z2dkQBAF9%2BvTBY489hlmzZkGhUAAAgoKCsGnTJqxfvx65ubnw8PBAcnIyJk2aJBlr5syZEAQBO3fuxMWLF6FSqZCdnQ0fHx9J3Jtvvom1a9fi1VdfRUNDA0JDQ7FhwwbJHalKpRLbt29HSkoK5s%2BfDzs7O0RHR2Px4sWSsYzNjYiIiOhWWQnNL/aiTkGna0JFRa3Zx7W2lsHV1QGVlbWd8qJLc2CNXUd3qJM1dh3tWWdF/WWsO/0pnr97NNxsHc06tinjd4VjebNab6VGNzeHdr%2BrlOfyiIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgthlsattLQUR44ckXzLABERERGZl8kP4E1NTcXVq1fx0ksvAQC%2B/vprxMfHo6GhAUqlErt27cLAgQPNnigRERFRd2fyjNtnn30Gb29v8fVbb70FHx8fbNy4Eb1790ZmZqZZEyQiIiKia0yecSsrK4OnpycAoLKyEj/99BOys7MxbNgw1NfXY%2B3atWZPkoiIiIjaMOMmCAL035JVWFgIuVyOoUOHAgB69erF69yIiIiI2onJjZunpycOHToEAMjLy0NAQID45ewXLlyAUqk0b4ZEREREBKANjdvkyZOxY8cOhIaGIi8vD4899pi4rrCwUHL9GxERERGZj8nXuD3%2B%2BONwdnbGyZMnERAQgEceeURcV19fj/Hjx5s1QSIiIiK6xuTGDQDGjRuHcePGGSxfuXLlLSdERERERC1rU%2BMGAGq1GidOnEBlZSUmTpyInj17oqysDM7OzuI1b0RERERkPiY3bjqdDsuWLcO%2BffsgCAKsrKwQERGBnj174uWXX4avry8WLFjQHrkSERERdWsm35yQmZmJAwcO4IUXXsCBAwfER4MAwLBhw3D06FGzJkhERERE15g847Zv3z4kJiZixowZ0Ol0knV9%2B/bFn3/%2BabbkiIiIiOgvJs%2B4lZWVITAwsMV1tra2qK2tveWkiIiIiMiQyY3b7bffjrNnz7a4rri4GB4eHrecFBEREREZMrlxi4yMRFZWFsrKysRlVlZWqKmpwc6dOzFixAizJkhERERE15h8jdszzzyDI0eOYOzYsQgNDYWVlRXWr1%2BP33//HdbW1khMTGyPPImIiIi6PZNn3Hr06IEPP/wQ48aNw6lTpyCXy3H69GlERERg7969cHFxaY88iYiIiLq9Nj2At0ePHlixYoW5cyEiIiKiVpg849aS0tJSHDlyBJWVleYYjoiIiIhaYPKMW2pqKq5evYqXXnoJAPD1118jPj4eWq0Wzs7O2LVrFwYOHGj2RImIiIi6O5Nn3D777DN4e3uLr9966y34%2BPggIyMDvXv3RmZmplkTJCIiIqJrTJ5xKysrg6enJwCgsrISP/30E7KzszFs2DDU19dj7dq1Zk%2BSiIiIiNow4yYIgvj9pIWFhZDL5Rg6dCgAoFevXrzOjYiIiKidmNy4eXp64tChQwCAvLw8BAQEwM7ODgBw4cIFKJVK82ZIRERERADa0LhNnjwZO3bsQGhoKPLy8vDYY4%2BJ6woLCyXXvxkjPz8fiYmJiIyMRGBgIGJiYrBnzx40NTWJMUlJSfDx8TH4d%2BTIEYPxtm7dipEjRyIgIACxsbE4fvy4Qczly5exfPlyhIaGIigoCPHx8Th37pxBXHFxMWbNmoXAwECEh4cjJSUFdXV1BnEFBQV49NFHERAQgKioKOzevduk94CIiIjIGCZf4/b444/D2dkZJ0%2BeREBAAB555BFxXX19PcaPH2/SeNu2bUPv3r3xwgsv4Pbbb8fx48fx2muv4ezZs1iyZIkY169fP7zxxhuSbb28vCSvt27ditTUVCxcuBB%2Bfn7IycnBnDlzkJOTAx8fHzFu0aJFOHXqFJYtWwZHR0ekp6djxowZ%2BPjjj8XZQ41Gg%2BnTp6N3795IT09HRUUFVq9ejaqqKkkeJ0%2BeRGJiIh555BEkJSWhsLAQKSkpUCgUmDRpkknvBREREVFr2vQA3nHjxmHcuHEGy1euXGnyWFlZWXBzcxNfh4WF4cqVK9i9ezcWLlwIhUIBALCzs0NgYOANx9FqtcjMzMS0adMwa9YsAEBISAhiYmKQlZWF1NRUAMAPP/yAw4cPIzs7G5GRkQAAlUqFqKgo7Nu3D1OmTAEA7N27FxqNBrm5uWJ%2BcrkcixcvRkJCgtg0ZmRkwM/PD6tWrRLzLy0tRVpaGmJjYyGTmeVReURERETmeQDvrbi%2BadPz9fVFfX09qqqqjB6nsLAQNTU1iI6OFpfJ5XKMHTsWBQUF4g0VBQUFUCqViIiIEON69%2B6N4OBgFBQUiMuOHDmC8PBwSX6jR4%2BGQqEQ47RaLY4dO2bQxMbExKC8vBy//PKL0fkTERER3UybZtxOnDiBnTt3Qq1Wt3jN1xdffHFLSX333XdwcXHB7bffLi4rKSnBvffei7q6OqhUKiQmJmLUqFHierVaDQAYMGCAZCwvLy/U1tairKwMHh4eUKvV6N%2B/P6ysrCRx3t7e%2BOqrryTjxcbGSmIUCgU8PT3FfZWUlKChocFgn/rr/NRqNfz9/dv6NhARERFJmNy4ffvtt3jyyScREhICtVqNYcOGoba2Ft9//z369euH4ODgW0rop59%2BwkcffYS5c%2BdCLpcDuDYDFxAQAG9vb9TU1OC9997D3LlzkZaWhjFjxgC4dk2aQqEQr1HTc3Z2BgBUVVXBw8MDGo0GTk5OBvtVKpWorq4WX2s0mhbvkL0%2BTv%2BzeZz%2B9fXjtYW1tfknROVymeRnV8Qau47uUCdr7Dras065TgYrWEFuLWufvw1Gjt8VjuXNau3sNZrcuG3YsAETJkzAK6%2B8gkGDBuHZZ5/FoEGDcPr0acyePRtRUVFtTqa8vBzPPPMMAgICMGfOHHH59OnTJXEjR45EXFwc0tPTxcYNgMEsGgDxFOn161qKa2158/Gax93KeDcik1nB1dWhzdvfjFJp325jdxassevoDnWyxq6jPepsvNoEuVwGZ%2Bfb4Gpv/r8Npo5vycfS2Fo7a40mN26///47Zs6cKTYlOp0OAHD33XcjMTERGRkZGDlypMmJ1NTUYM6cObCzs0NmZiZsbGxuGCuTyfDggw9i3bp1qKurg52dHZRKJerr61FfXw9bW1sxVqPRAPhr5k2pVKK0tNRgzOYzbEqlUty2eZ76GxP0YzafWdNvdyvPtGtqEqDRXGnz9jcil8ugVNpDo7kKna7p5htYINbYdXSHOllj19GedVbXX4FO14Tq6iuwrjP/TJCx43eFY3mzWm%2BlRqXSvt1n6kxu3K5evQoHBwfIZDIoFArJNyUMGDBAvP7LFPX19UhISMDFixfx/vvvw9XV9abb6GfS9PTNlFqthp%2Bfn7hcrVbDwcEB7u7uYtzXX39tMHNWVFQkebyIl5eXQS1arRYlJSXitW%2Benp6wsbHBmTNnJDc7FBUVSXJqq8bG9vul0Oma2nX8zoA1dh3doU7W2HW0R526xiYIEKBrbEKj3PzvoanjW/KxNLbWzlqjyW1h7969cfHiRQDXLsK//k7MEydOwMXFxaTxGhsbsWDBApw%2BfRpbtmxBnz59brpNU1MTPv30UwwcOFC8pi04OBhOTk7Iy8sT43Q6HfLz8xEZGSk2aZGRkdBoNDh69KgYV1paisLCQvHxIAAQERGBY8eOSRrTgwcPQqvVinEKhQJhYWHIz8%2BX5HfgwAH07NlT0kASERER3SqTZ9xCQkLwzTffYMyYMZg0aRJeffVVqNVqKBQK/POf/8SMGTNMGm/FihU4dOgQnn/%2BedTV1eH7778X13l7e6O6uhpJSUmIjo6Gp6cnqqur8d577%2BHnn3/Ghg0bxFiFQoGEhASkpqbCzc1NfADv2bNnsX79ejFuyJAhGD58OJYuXYqkpCQ4OjoiLS0Nffr0kTw8OC4uDrt27UJiYiISExNx6dIlrFmzBjExMZKZtLlz52Lq1KlITk5GTEwMCgsLkZOTgxUrVvAZbkRERGRWJjdu8%2BfPF6/pmjJlCurq6rB//34AQEJCAuLj400aT/8IjnXr1hms27FjB3x8fODo6IiMjAxUVFTAxsYG/v7%2B2Lx5M4YNGyaJnzlzJgRBwM6dO3Hx4kWoVCpkZ2dLvjUBAN58802sXbsWr776KhoaGhAaGooNGzZI7khVKpXYvn07UlJSMH/%2BfNjZ2SE6OhqLFy%2BWjBUUFIRNmzZh/fr1yM3NhYeHB5KTk/mtCURERGR2VkLzi8WoU9DpmlBRUWv2ca2tZXB1dUBlZW2nPHdvDqyx6%2BgOdbLGrqM966yov4x1pz/F83ePhputo1nHNmX8rnAsb1brrdTo5ubQ%2BW5OuF5ZWRmqqqrg4uIiXvxPRERERO2jTY3bZ599hjfffBMlJSXiMk9PTyxcuFDyXDUiIiIiMh%2BTG7e8vDw899xzGDBgAObOnYsePXqgvLwceXl5WLhwIZqamjB27Nj2yJWIiIioWzO5ccvIyEBERASysrIkd03OnTsXTz31FDIyMti4EREREbUDk6%2BgKykpweOPP27wqAuZTIbHH39ccvqUiIiIiMynTQ/gvXr1aovr6urqcMcdd9xyUkRERERkyOTGbebMmdi0aRMqKiokyy9duoTMzEzMnDnTbMkRERER0V%2BMusYtJSVF8vry5ct44IEHEBYWhp49e6K8vBzHjh2Dq6ur%2BD2dRERERGReRjVuu3btanH5oUOHJK%2BvXr2K3bt3Izk5%2BdYzIyIiIiIJoxq306dPt3ceRERERHQT/BZ0IiIiIgvBxo2IiIjIQrBxIyLqhpoEARX1l9EkCB2dChGZgI0bEVE3VKWtxdpfP0GVtrajUyEiE7BxIyLqpmRWVh2dAhGZyKjGbfXq1SgtLQUAnD9/Hg0NDe2aFBEREREZMqpx2759O8rLywEADzzwAH799dd2TYqIiIiIDBnVuDk7O%2BPixYsAAIEXshIRERF1CKMewDtkyBAsXboUgwcPBgCsXbsWTk5OLcZaWVkhMzPTfBkSEdEtqai/DABws3Xs4EyI6FYZ1bi9/PLLWLVqFYqKimBlZYU//vgDCoWixVgrXuxKRERE1C6Matz69OmDjIwMAMDdd9%2BNTZs2ibNvRERERPTfYfLjQHbs2AEvL6/2yIWIiIiIWmHUjNv1QkJCAAB//PEHjh07hqqqKri6uiI0NBR33nmn2RMkIiIiomtMbtwEQcDKlSuxd%2B9eNDU1ictlMhkef/xxJCcnmzVBIiIiIrrG5Mbt3XffxZ49ezBlyhSMHz8e7u7uKCsrQ25uLvbs2YO%2BffviySefbIdUiYiIiLo3kxu3nJwcTJ06VTKz5u7ujsGDB0Mmk%2BGDDz5g40ZERETUDky%2BOeHs2bMYMWJEi%2BtGjBiBs2fP3nJSRERERGTI5MbNyckJ58%2Bfb3Hd%2BfPn4ejIBzwSERERtQeTG7f/%2BZ//wVtvvYWff/5ZsvzXX39Feno67r//frMlR0RERER/Mfkat0WLFmHy5MmYNGkSvL290bNnT5SXl6OoqAi9evXCokWL2iNPIiIiom7P5Bm3O%2B64A7m5uZg9ezbs7e3x559/wt7eHk899RT27dsHDw%2BP9siTiIiIqNszecYNANzc3DizRkRERPRfZvKMm7nl5%2BcjMTERkZGRCAwMRExMDPbs2SN5uC8AFBQU4NFHH0VAQACioqKwe/fuFsfbunUrRo4ciYCAAMTGxuL48eMGMZcvX8by5csRGhqKoKAgxMfH49y5cwZxxcXFmDVrFgIDAxEeHo6UlBTU1dUZxBmbGxEREdGt6PDGbdu2bVAoFHjhhReQlZWFUaNG4bXXXsO6devEmJMnTyIxMRF%2Bfn7YvHkzxo8fj5SUFOTk5EjG2rp1K1JTU/HEE08gOzsbd955J%2BbMmYPffvtNErdo0SJ8%2BeWXWLZsGVJTU3HhwgXMmDFD0pRpNBpMnz4dtbW1SE9Px5IlS7B//36Db4YwNjciIiKiW9WmU6XmlJWVBTc3N/F1WFgYrly5gt27d2PhwoVQKBTIyMiAn58fVq1aJcaUlpYiLS0NsbGxkMlk0Gq1yMzMxLRp0zBr1iwA175XNSYmBllZWUhNTQUA/PDDDzh8%2BDCys7MRGRkJAFCpVIiKisK%2BffswZcoUAMDevXuh0WiQm5sr5ieXy7F48WIkJCTAy8sLAIzKjYiIiMgcOryruL5p0/P19UV9fT2qqqqg1Wpx7NgxjBs3ThITExOD8vJy/PLLLwCAwsJC1NTUIDo6WoyRy%2BUYO3YsCgoKIAgCgGunNZVKJSIiIsS43r17Izg4GAUFBeKyI0eOIDw8XJLf6NGjoVAoxDhjcyMiIiIyB5Nn3LRaLWxsbGBlZdUe%2BQAAvvvuO7i4uOD2229HcXExGhoaMGDAAEmMt7c3AECtVsPf3x9qtRoADOK8vLxQW1uLsrIyeHh4QK1Wo3///gb5e3t746uvvhJfq9VqxMbGSmIUCgU8PT3FfZWUlBiVW1tZW5u/r5bLZZKfXRFr7Dq6Q53/jRrlumtjX//fFLlOBitYQW4ta5f/1kj23w2OI9C%2Bdbb38TJ2/K5wLG9Wa2ev0aTGrb6%2BHoGBgUhPT0dUVFS7JPTTTz/ho48%2Bwty5cyGXy1FdXQ0AUCqVkjj9a/16jUYDhUIBOzs7SZyzszMAoKqqCh4eHtBoNHBycjLYr1KpFMfSj9d8n83jjM2tLWQyK7i6OrR5%2B5tRKu3bbezOgjV2Hd2hzvassfHqtZu9XO0dJMvkchmcnW%2BTLG9P3eE4Au1TZ3sfL1PHt%2BRjaWytnbVGkxo3W1tbuLi4wN6%2BfYopLy/HM888g4CAAMyZM0ey7kYzfNcvbylGf4r0ZnGtLW8%2BXvO4WxnvRpqaBGg0V9q8/Y3I5TIolfbQaK5Cp2u6%2BQYWiDV2Hd2hzv9GjdX11/5bYl0nkyzT6ZpQXX1Fsrw9dIfjCLRvne19vIwdvyscy5vVeis1KpX27T5TZ/Kp0hEjRuDgwYNm/2qrmpoazJkzB3Z2dsjMzISNjQ2Av2bMms9eaTQaAH/NbimVStTX16O%2Bvh62trYGcfpxlEolSktLDfbffIZNqVSK2zbPU39jgrG5tVVjY/v9Uuh0Te06fmfAGruO7lBne9ao%2B//jNsqbJMsECNA1NkmWt6fucByB9qmzvY%2BXqeNb8rE0ttbOWqPJbeG4ceNQUFCAF198EYcOHcLPP/%2BMU6dOSf6Zqr6%2BHgkJCbh48SK2bNkCV1dXcZ2npydsbGxw5swZyTZFRUUAIDZR%2Bp/668/01Go1HBwc4O7uLsYVFxeLM3HXj6cfQx/XfCytVouSkhIxztjciIiIiMzB5MZt1qxZ%2BM9//oN9%2B/YhMTERkyZNwsSJEzFx4kTExsZi4sSJJo3X2NiIBQsW4PTp09iyZQv69OkjWa9QKBAWFob8/HzJ8gMHDqBnz57w8/MDAAQHB8PJyQl5eXlijE6nQ35%2BPiIjI8XTlpGRkdBoNDh69KgYV1paisLCQvHxIAAQERGBY8eOobKyUlx28OBBaLVaMc7Y3IiIiIjMweRTpatXrzZrAitWrMChQ4fw/PPPo66uDt9//724ztvbG46Ojpg7dy6mTp2K5ORkxMTEoLCwEDk5OVixYoX4nDSFQoGEhASkpqbCzc0Nfn5%2ByMnJwdmzZ7F%2B/XpxzCFDhmD48OFYunQpkpKS4OjoiLS0NPTp0wfjx48X4%2BLi4rBr1y4kJiYiMTERly5dwpo1axATEyOZSTMmNyKiivrLAAA3W8cOzoSILJnJjdv1zY056B/Bcf03Jejt2LFD/FqqTZs2Yf369cjNzYWHhweSk5MxadIkSfzMmTMhCAJ27tyJixcvQqVSITs7Gz4%2BPpK4N998E2vXrsWrr76KhoYGhIaGYsOGDZI7UpVKJbZv346UlBTMnz8fdnZ2iI6OxuLFiyVjGZsbERER0a26pW9OOHPmDCorK%2BHr64vbbrutTWN8%2BeWXRsVFRkZKTmW2y3wSrAAAIABJREFUxMrKCrNnz8bs2bNbjXN0dMTKlSuxcuXKVuP69%2B%2BPrVu3miU3IiIiolvVpnN5ubm5iIiIwLhx4zB16lQUFxcDABYsWIAPPvjArAkSERER0TUmN275%2BflISkqCn58fli1bJrk7c9CgQQYX6hMRERGReZjcuGVnZ2PChAnIysrC5MmTJesGDBggPgqDiIiIiMzL5MZNrVYbfKm6nouLC6qqqm45KSIiIiIyZHLjZm9vj5qamhbXlZWVid8mQERERETmZXLjFhQUhN27dxt88wAAfPTRRwgJCTFLYkREREQkZXLjNnfuXHz//feYOHEidu7cCSsrK3z22WeIj4/Ht99%2Bi/j4%2BPbIk4iIiKjbM7lxCwgIwObNm3HlyhWsWbMGgiDg7bffRnFxMbKzs6FSqdojTyIiIqJur00P4NV/P2dJSQkuXrwIV1dX9O/f39y5EREREdF1bumbEzw9PeHp6WmuXIiIiIioFW1q3P78809kZ2fj%2BPHjqKqqgouLC0JDQzFnzhz069fP3DkSEREREdpwjduvv/6K8ePH46OPPkKvXr1w3333oVevXvjoo48wfvx4/Prrr%2B2RJxEREVG3Z/KM26pVq%2BDm5oZt27ahd%2B/e4vJz585h5syZWLVqFXbu3GnWJImIiIioDTNuP/74I%2BbPny9p2gCgT58%2BmDdvHn788UezJUfUnirqL6Oi/nJHp0FERGQ0kxs3JycnODk5tbhOqVTC8f%2B1d%2B9hUZX7HsC/M4MDCoxKmR4124oNiZLoyQulULZNS8gM29lT6Sm0BG/b9BSVubfK9rLzbl4yqYfUbuzSx9xiWW0HO4VnP2GlWZ1AEyM0bzDDbWaY9Z4/cFbMBWYGZpwL38/z%2BCBrvetdv996R/nxrltUVJuDIiIiIiJHHhduqampyM/Pd7ruvffea/Y9pkRERETUNm5d4/bxxx/Lfx84cCA%2B%2BugjTJ48Gampqbj%2B%2Butx8eJF7N%2B/H5cvX8b48eN9FiwRERFRe%2BZW4TZ37lwoFAoIIeSvFRUVOHHihEPbZ599FmlpaV4PlIiIiKi9c6twe/PNN30dBxERERG54FbhNnz4cF/HQUREREQueHxzAhERERH5R6teefXJJ59g3759%2BPXXX2E0Gm3WKRQK7Nu3zyvBEREREdHvPC7cduzYgdWrVyMmJgZ9%2BvRBx44dfREXEREREdnxuHB76623kJ6ejqVLl0KlUvkiJiIiIiJywuNr3CorK5GamsqijYiIiOga87hwGzp0KE6dOuWLWIiIiIioBR4Xbi%2B88AJ2796NTz/9FCaTyRcxEREREZETHl/jdtNNN%2BH222/H7NmzoVAoEBERYbNeoVDgq6%2B%2B8lqARERERNTI48Lt5Zdfxq5duzBgwAD069cParXaF3ERERERkR2PC7c9e/ZgxowZWLBggS/iISIiIqJmeHyNm8Viwe233%2B6LWIiIiIioBR4XbnfccQe%2B%2BeYbX8RCRERERC3wuHDLysrCvn37kJeXhzNnzqCystLhjyfOnDmDxYsXY%2BLEiYiPj0dqaqpDm%2BzsbMTFxTn8KSwsdGibm5uLMWPGICEhAenp6Th69KhDm%2BrqaixevBgjRozAkCFDMHPmTJSXlzu0O336NDIyMpCYmIikpCTk5OSgvr7eoZ1Op8MDDzyAhIQEjB07Frt37/boGBARERG5w%2BNr3CZOnAgAWLlyJVauXOm0zffff%2B92fz/99BN0Oh0GDx4MSZIghHDa7sYbb8Tq1attlsXGxtp8n5ubi3Xr1mH%2B/PmIj49Hfn4%2BZsyYgfz8fMTFxcntFixYgO%2B%2B%2Bw4vvfQSoqKisHHjRjzxxBPYt2%2BffJesXq/HtGnT0LNnT2zcuBGXL1/GihUrUFlZaRPHsWPHkJWVhYkTJyI7OxvFxcXIycmBWq3GQw895PZxICIiInLF48Jt1qxZUCgUXgtgzJgx%2BOMf/wigcWbtxIkTTttFREQgMTGx2X5MJhO2bt2KqVOnIiMjAwAwfPhwpKWlYdu2bVi3bh0A4JtvvsHhw4exfft2pKSkAAC0Wi3Gjh2LPXv24JFHHgEAvPPOO9Dr9di7dy9iYmIAACqVCgsXLkRmZqZcNG7evBnx8fFYvnw5AGDkyJGoqKjAhg0bkJ6eDqXS40lNIiIiIqc8LtzmzJnj1QC8VdgUFxfDYDDYnGpVqVS477778Prrr0MIAYVCAZ1OB41Gg%2BTkZLldz549MXToUOh0OrlwKywsRFJSkly0AcC4cePwwgsvQKfTITY2FiaTCUVFRVi4cKFNLGlpaXjvvfdw8uRJDBo0yCv5EREREXlcuPlLWVkZbrvtNtTX10Or1SIrK0ueqQOA0tJSAEC/fv1stouNjUVNTQ3Onz%2BPHj16oLS0FH379nWYNezfvz8%2B//xzm/7S09Nt2qjVavTp00feV1lZGcxms8M%2B%2B/fvL/fRlsItLMz7s3UqldLmayhyN0eVpXG9L46zr7WHcQRCK8/mPm/XIkdn%2B1ZZlFBAAVWY0uf/BkJpHFviyzx9PV7u9h8KY%2Bkq10DP0ePC7ZVXXmlxvUKhwKxZs1odkDMDBgxAQkIC%2BvfvD4PBgLfffhuzZs3Chg0bMH78eACN16Sp1WqHNzl07twZAFBZWYkePXpAr9cjOjraYR8ajQZVVVXy93q9HhqNpsV21q/27azfN%2B3PU0qlAl27RrZ6e1c0mo4%2B6ztQuMqxoU4CAHTt6Lvj7GvtYRyB0MjT1efNlzk623dDnQSVSonOnTtds38DoTCO7vBFnr4eL0/7D%2BaxdDfXQM0xKAq3adOm2Xw/ZswYTJkyBRs3bpQLN%2Bu%2B7Vlvdmi6rrlr9Ny5ds96ytWd7dpyLaAkCej1ta3evjkqlRIaTUfo9XWwWCSv9x8I3M2xyth4fMPqA/O3qpa0h3EEQivP5j5v1yJHZ/uuMtbCYpFQVVXr838DoTSOLfFlnr4eL3f7D4WxdJVrW3LUaDr6fKbO48Lthx9%2BcFhWWVmJTz75BHl5edi%2BfbtXAmuJUqnEPffcg5dffhn19fWIiIiARqOB0WiE0WhEeHi43Fav1wP4feZNo9GgoqLCoU/7GTaNRiNv25TBYJBvTLD2aT%2BzZt3O2YydJxoafPePwmKRfNp/SyQhUGmqQRd1JJRevNHFnqscLVfXNaiC8z8fwL/jeC2FQp6uPm%2B%2BzNHZvi0NEgQELA3SNfs3EArj6A5f5Onr8fK0/2AeS3dzDdQcvVIWdunSBZMnT0ZaWhpycnK80aVL9o8NsRZT1uvPrEpLSxEZGYnu3bvL7U6fPu2wfUlJic3jRWJjYx36MplMKCsrk9v16dMHHTp0wKlTpxz6ahoT2ao01WDV9wdRaarxdyhERERBxavzeQkJCfjyyy%2B92aVTkiTho48%2Bws033yxf0zZ06FBER0fjwIEDcjuLxYKCggKkpKTIpy1TUlKg1%2Btx5MgRuV1FRQWKi4vlx4MAQHJyMoqKinDlyhV52aFDh2AymeR2arUaI0eOREFBgU18%2B/fvR7du3RAfH%2B/95EOEL2fargVJCFw2VkNq5rmDREREvuDVu0p//PFHdOrUyaNt6urqoNPpAADl5eWorq7GwYMHATQ%2Bh62urg7Z2dlITU1Fnz59UFVVhbfffhsnTpzApk2b5H7UajUyMzOxbt06xMTEyA/gPXv2LNauXSu3Gzx4MO688068%2BOKLyM7ORlRUFDZs2IBevXph0qRJcrspU6Zg165dyMrKQlZWFi5duoSVK1ciLS3NZiZt1qxZeOyxx7Bo0SKkpaWhuLgY%2Bfn5WLp0KZ/hFsKss4bPDRiPmPAof4dDRETthMeF2969ex2WmUwm/Pjjj3j//fdx//33e9TfpUuXMG/ePJtl1u/ffPNNxMXFISoqCps3b8bly5fRoUMHDBo0CK%2B99hpGjx5ts92TTz4JIQR27tyJixcvQqvVYvv27TZvTQCANWvWYNWqVViyZAnMZjNGjBiBTZs22dyRqtFokJeXh5ycHMyZMwcRERFITU11eGbbkCFDsGXLFqxduxZ79%2B5Fjx49sGjRIr41oR0I9llDIiIKPh4XbtnZ2U6Xh4eH4/7778ezzz7rUX%2B9e/fGjz/%2B2GKbrVu3utWXQqHA9OnTMX369BbbRUVFYdmyZVi2bFmL7fr27Yvc3FyX%2B01JSbE5zUpERETkCx4Xbp9%2B%2BqnDsvDwcFx//fVeCYiIiIiInPO4cOvVq5cv4iAiIiIiF3j1PBH5FO/AJSLyHrdm3NLS0tzuUKFQYN%2B%2Bfa0OiIhCC%2B/AJSLyHrcKty5durhsU1tbi%2B%2B%2B%2B65Nr3kiotBhfUOGJHgHLhGRt7hVuO3cubPZdQ0NDXj33XexZcsWKBQKpKamei04Igpe1pm2p2OT/R0KEVHIaNMDeAsKCrB%2B/XqUlZXh9ttvx8KFCzFgwABvxUZEQabpe2gBzrQREXlbqwq3o0ePYvXq1Th%2B/Dji4%2BPx%2BuuvIykpyduxEVGQaXo9GxEReZ9HhduPP/6I1atX4/PPP0fv3r2xZs0aTJgwwVexEVEQ4iwbEZHvuFW4VVRUYP369di/fz86d%2B6MF154AVOmTEGHDh18HR8RERERXeVW4TZu3DiYzWaMHj0a06dPR2RkJP7v//6v2fYDBw70WoBERERE1Mitws1kMgEACgsLceTIkWbbCSGgUCjw/fffeyc6IiIiIpK5VbitWLHC13EQURBoetcor2UjIrr23CrcJk2a5Os4iCgI8C0IRET%2BxXeVEpFHONNGROQ/LNyIiIiIggQLN2r3JCFw2VgNSQh/h0JERNQiFm7U7lmv26o01fg7FCIiohaxcKN2r9JUC3CyjYiIggALNyICwFPGRETBgIUbEQHgKWMiomDAwo3cwtmY9oGP%2BiAiCmws3MgtnI0JXZeN1bhsrPZ3GERE5AYWbuQ2zsYQERH5Fws3IiIioiDBwo2IiIgoSLBwIyIiIgoSLNyIiIiIggQLNyIiIqIgwcKNiIiIKEiwcCMiIiIKEn4v3M6cOYPFixdj4sSJiI%2BPR2pqqtN2Op0ODzzwABISEjB27Fjs3r3babvc3FyMGTMGCQkJSE9Px9GjRx3aVFdXY/HixRgxYgSGDBmCmTNnory83KHd6dOnkZGRgcTERCQlJSEnJwf19fWtjo3I1/iGCyKi0Ob3wu2nn36CTqfDTTfdhNjYWKdtjh07hqysLMTHx%2BO1117DpEmTkJOTg/z8fJt2ubm5WLduHR599FFs374dN910E2bMmIEff/zRpt2CBQvw2Wef4aWXXsK6devw22%2B/4YknnrApyvR6PaZNm4aamhps3LgRzz33HD788EMsWrSoVbERXQt8wwURUWgL83cAY8aMwR//%2BEcAQHZ2Nk6cOOHQZvPmzYiPj8fy5csBACNHjkRFRQU2bNiA9PR0KJVKmEwmbN26FVOnTkVGRgYAYPjw4UhLS8O2bduwbt06AMA333yDw4cPY/v27UhJSQEAaLVajB07Fnv27MEjjzwCAHjnnXeg1%2Buxd%2B9exMTEAABUKhUWLlyIzMxMuch0Jzaia4lvuCAiCl1%2BrypcFTYmkwlFRUWYMGGCzfK0tDRcuHABJ0%2BeBAAUFxfDYDDYnGpVqVS47777oNPpIK6eOtLpdNBoNEhOTpbb9ezZE0OHDoVOp5OXFRYWIikpSS7aAGDcuHFQq9VyO3djIyIiIvIGvxdurpSVlcFsNqNfv342y/v37w8AKC0ttflq3y42NhY1NTU4f/683K5v375Q2M1K9O/fX%2B7D2s7%2B1K1arUafPn3kdu7GRkREROQNfj9V6kpVVRUAQKPR2Cy3fm9dr9froVarERERYdOuc%2BfOAIDKykr06NEDer0e0dHRDvvRaDRyX9b%2B7Pdp387d2ForLMz7dbVKpbT56vZ2FiUUUEAVpmxzXN7sy2n/buaosjSuV0pKQAGP4vF1Di73fzW3SnMtLJKE68KjWh2X9TgAcLmtq/6brrf2pwxr/bFq7ec1EFmPs/0xuBY5Otv3tfwMh9I4tsSXefr8/003%2Bw%2BFsXT5/1iA5xjwhZuV/QyZs%2BXO2lhPkbpq19Jy%2B/7s27Wlv%2BYolQp07RrZ6u1d0Wg6etS%2BoU6CSqVE586d0LVj2%2BLyZl8tcZVjQ50EALDUS1CqFB7Fc61ycCUquvEXFWsMrYnLehwAuNzWVf9N11v700RHtPlYefp5DUTW49zcMfBljs727Y/PcCiMozt8kaevx8vT/oN5LN3NNVBzDPjCzTpjZj97pdfrAfw%2Bu6XRaGA0GmE0GhEeHu7QztqPRqNBRUWFw37sZ9g0Go28bVMGg0E%2BhepubK0hSQJ6fW2rt2%2BOSqWERtMRen0dLBbJ9QZXVRlrYbFIqKqqRVh9234L8WZfzribY5Wx8fjqTfWQLMKjeHydQ0suGauhUirR94ZuqDbUwyJJcgytict6HAC43NZV/03XW/vTG%2Bpbfaxa%2B3kNRNbjbH8MrkWOzvZ9LT/DoTSOLfFlnr4eL3f7D4WxdJVrW3LUaDr6fKYu4Au3Pn36oEOHDjh16pTNDQUlJSUAIBdR1q%2BlpaWIj4%2BX25WWliIyMhLdu3eX233xxRcOM2clJSU217TFxsY6XKNmMplQVlaG9PR0j2JrrYYG3/2jsFgkj/q3NEgQELA0SGhQtS0ub/bV4n5c5Gi5uk5qkAABj%2BK5VjnYu2ysRqWpFtd1ajw1apEkmxhaE5elyTFyta2r/puut/YneeFYefp5DUTWY9LssfVhjs727Y/PcCiMozt8kaevx8vT/oN5LN3NNVBzDMwTuE2o1WqMHDkSBQUFNsv379%2BPbt26yUXa0KFDER0djQMHDshtLBYLCgoKkJKSIhdpKSkp0Ov1OHLkiNyuoqICxcXF8uNBACA5ORlFRUW4cuWKvOzQoUMwmUxyO3djI2qry8ZqXDZW%2BzsMIiLyM7/PuNXV1cmP1ygvL0d1dTUOHjwIoPE5bDExMZg1axYee%2BwxLFq0CGlpaSguLkZ%2Bfj6WLl0qP05ErVYjMzMT69atQ0xMDOLj45Gfn4%2BzZ89i7dq18v4GDx6MO%2B%2B8Ey%2B%2B%2BCKys7MRFRWFDRs2oFevXpg0aZLcbsqUKdi1axeysrKQlZWFS5cuYeXKlUhLS7OZSXMnNiIiIiJv8HvhdunSJcybN89mmfX7N998U34t1ZYtW7B27Vrs3bsXPXr0wKJFi/DQQw/ZbPfkk09CCIGdO3fi4sWL0Gq12L59O%2BLi4mzarVmzBqtWrcKSJUtgNpsxYsQIbNq0yeaOVI1Gg7y8POTk5GDOnDmIiIhAamoqFi5caNOXu7ERERERtZXfC7fevXs7vJLKmZSUFJtTmc4oFApMnz4d06dPb7FdVFQUli1bhmXLlrXYrm/fvsjNzfVKbOQ71lOIMVcfiUFERBSqeC6PiIiIKEiwcCMiIiIKEizciIiIiIIECzciP%2BOjPoiIyF1%2BvzmBqL1isUZERJ7ijBuRH1jfgEBEROQJzriRS5IQjUWGaHs/P1dfgNTGfoiIiNorzriRS5WmGmwpOQxJ2FZcnl6bZe3H0FDn7RCJiIjaBRZu5Bbl1Xe9Bko/wUQSApeN1Q6FLxERkadYuJHX8O5I5ypNNVj1/UFUmmr8HQoREQU5Fm5EPmA/y9YeZxqJiMj7WLjRNdHe7qKsNNVg%2BckD%2BLn6gr9DISKiEMLCjchHOMtGRETexsKNWtTeZsqIiIgCGQs3IiIioiDBB/CST/EuUyIiIu/hjBsFnGB77hkfg0JERNcKCzcKOIH%2B3DPrK8AsksTr/4iI6JriqVIC8PspzZjwKD9H0iiQ78i0vrqrre9uJSIi8hRn3CigBMtdrIFcWBIRUehi4UZEREQUJFi4EbmBNyAQEVEgYOFGXhVsd4S2xJrLxfrgOH1LREShj4UbeZXeXBfQd4S6SxICP1dfwKqTB6E3s2gjIqLAwMKNvC4ULtyX7xwlIiIKIHwcSDvnz%2Bu2rKciu6gjA7LYUyoUfOQHEREFFM64kd%2BEymlVIiKia4UzbuQWi5CghPdmxYQQqDLXebVPIiKiUMcZN/IK62ugJDdPLUoQ2Pnzl369%2B9TTmImIiPyNhRt5hfVifkNDndvbKP388dOb67DVw5iJiIj8iadKyWsC8QYDZxpn2mogCf8Xj0RERJ7gTy1qd36uvoAVJw9wpo2IiIJOUBRuH3zwAeLi4hz%2BrF692qadTqfDAw88gISEBIwdOxa7d%2B922l9ubi7GjBmDhIQEpKen4%2BjRow5tqqursXjxYowYMQJDhgzBzJkzUV5e7tDu9OnTyMjIQGJiIpKSkpCTk4P6%2BnrvJE4%2Bw5k2IiIKRkF1qnTHjh2Ijo6Wv%2B/evbv892PHjiErKwsTJ05EdnY2iouLkZOTA7VajYceekhul5ubi3Xr1mH%2B/PmIj49Hfn4%2BZsyYgfz8fMTFxcntFixYgO%2B%2B%2Bw4vvfQSoqKisHHjRjzxxBPYt28fIiIiAAB6vR7Tpk1Dz549sXHjRly%2BfBkrVqxAZWWlQ1FJ/mNzajQ4zuYSERE5FVSF28CBAxETE%2BN03ebNmxEfH4/ly5cDAEaOHImKigps2LAB6enpUCqVMJlM2Lp1K6ZOnYqMjAwAwPDhw5GWloZt27Zh3bp1AIBvvvkGhw8fxvbt25GSkgIA0Gq1GDt2LPbs2YNHHnkEAPDOO%2B9Ar9dj7969clwqlQoLFy5EZmYmYmNjfXo8fM2duy4D%2BR2ev783FXj5h4N4OjYZXdSd/B0WERFRq4XE%2BSKTyYSioiJMmDDBZnlaWhouXLiAkydPAgCKi4thMBiQmpoqt1GpVLjvvvug0%2Bkgrj6aQqfTQaPRIDk5WW7Xs2dPDB06FDqdTl5WWFiIpKQkm2Jy3LhxUKvVNu2CyWVjtfw2hdbcKRpIrphqsOr7gzhbe4lvQCAiopAQVIVbamoqBgwYgLvvvhuvvvoqLBYLAKCsrAxmsxn9%2BvWzad%2B/f38AQGlpqc1X%2B3axsbGoqanB%2BfPn5XZ9%2B/aFwu4uyf79%2B8t9WNvZz6qp1Wr06dPHpl2wqDTVOsygBcudos0J9viJiIiaCopTpd26dcOcOXMwePBgKBQKfPbZZ1i/fj3Onz%2BPxYsXo6qqCgCg0WhstrN%2Bb12v1%2BuhVqvla9SsOnfuDACorKxEjx49oNfrba6la9qftS9rf/b7dNautcLCvF9Xq1RK26%2BW3/ehlK4uC1MiLEwJlUUJBRRQqhq/Nl1n3VYpKaG6%2Bn3Ttk37aNq/TX8KASic99m0D5c5Xd2HtW2luRYNdRJUyt/3BwWgDGuMVSld/V5l%2B9U%2BjsYYG7dzdlygEHKfTfffdHvrevt87I%2Bd/fbN5Wg9jirl1X6USiAMDnG7e%2Bzs%2B3a1rav%2Bm6639qd0kr%2B77D%2Bvwcz%2BcyovvwY5Ott3az4rrd5/CI1jS3yZp6/Hy93%2BQ2EsXf4/FuA5BkXhNnr0aIwePVr%2BftSoUQgPD0deXh5mzpwpL7efIXO23Fkb6ylSV%2B1aWm7fnzvtWqJUKtC1a2Sb%2BmiJRtMRANBQJwFovB7sYpUBAgpEazqia6dINNRJUCqViI4Kh1KhhEIBdO7cCV07RsrbWuoldI7odDXmxrYqlVJuZ%2B0fACz1TfpTKiGEgFKpcNpn0z5cse6jaR8AEBUdAZXq6v5UCmiiI9A5olNjHCqFvNz61T4OpVIJKAQ00Y2FfueI33Oyxm/ts%2Bn%2Bm25vXW%2Bfj/2xs9%2B%2BuRytxzHq6i8fUVdja9qvJ8fOvm9X27rqv%2Bl6a3%2Baq%2BPgSUz2rJ/XYGb/ObXnyxyd7bs1n5W2CoVxdIcv8vT1eHnafzCPpbu5BmqOQVG4OXPvvffi9ddfx/fff49evXoBgMMsl16vB/D7zJtGo4HRaITRaER4eLhDO%2BvMm0ajQUVFhcM%2B7WfYNBqNvG1TBoOhzTcmSJKAXu/9C/9VKiU0mo7Q6%2BtgsUioMjbu44qpFptOfgqFQoF5A8YiLEqJn6svQpIsMFQbIQkJCgFUVdUirL7xt5AqYy30pnqojMqrMUswVBthsUi4UlmDqqpaSELIpyv1pnq5jSRJkISAQginfVosks3yllypr2l872mUAkqFAtXmekRFR6Da0NiPodoIySKgNzTGqjfVQ7IIebn1q30cktT4w05vaHy8i8qoRFi9Ul4nid/7BGATq7WNdb19PvbHzn57e9Zxsh5HtTkM3TpGN%2BYoSTb9enLs7Pt2ta2r/puut/anN3g2nk3Zf16DmfU42x%2BDa5Gjs3235rPSWqE0ji3xZZ6%2BHi93%2Bw%2BFsXSVa1ty1Gg6%2BnymLmgLt6b69OmDDh064NSpUzY3FJSUlACAXERZv5aWliI%2BPl5uV1paisjISPnxIrGxsfjiiy8cZs5KSkpsCrLY2FiHa9lMJhPKysqQnp7e5rwaGnz3j8JikdDQIMFydR9SgwTF1Ve%2BSw0SLtYa8MoPnwECkCwSBAQUUMDSIKFB1biNpUGC1CDBomz8XkDIba/U1eDV0kKbOzmlBsmmjfWGAWd9Cgib5S25UleDV376DLNvHoN%2B0TfAcrXgski/7w8CcqxSgyTn1fSrfRwCAgqhaGwPwKJsXG9d17RPADaxWttY19vnY3/s7Ld3GK8mnwWpQbLJ0Vnc7h47%2B75dbeuq/6brrf15Op5O93v18xrMrMek2WPrwxyd7bs1n5U2xxEC4%2BgOX%2BTp6/HytP9gHkt3cw3UHAPzBK4bDhw4AJVKhfj4eKjVaowcORIFBQU2bfbv349u3brJRdrQoUMRHR2NAwcOyG0sFgsKCgqQkpIiF2kpKSnQ6/U4cuSI3K6iogLFxcXy40EAIDk5GUVFRbhy5Yq87NChQzCZTDbtAp0kBKrMjneOOruw//dHbDR/m6a42p8SvrsxwD4OPlCXiIjag6CYccvIyMDIkSOh1WoBAJ9%2B%2Binee%2B89TJ06Fd26dQMAzJo1C4899hgWLVqEtLQ0FBcXIz8/H0uXLm28VgmNd3xmZmZi3bp1iImJkR/Ae/YTpJ9IAAAZUElEQVTsWaxdu1be3%2BDBg3HnnXfixRdfRHZ2NqKiorBhwwb06tULkyZNkttNmTIFu3btQlZWFrKysnDp0iWsXLkSaWlpQfEMt8vGavku0jd//hICjbNuLdGb6/BqaSGeGzC%2B2TYSBHb%2B/CU6KHz38ao01WD5yQPI6n%2Bnz/ZBREQUaIKicOvbty/%2B8Y9/4Ny5c5AkCX/4wx/wwgsv4PHHH5fbDBkyBFu2bMHatWuxd%2B9e9OjRA4sWLbJ5awIAPPnkkxBCYOfOnbh48SK0Wi22b99u89YEAFizZg1WrVqFJUuWwGw2Y8SIEdi0aZPNHakajQZ5eXnIycnBnDlzEBERgdTUVCxcuNC3B8QHlAoFLG4866zKXOfWM9GuxQwYH/VBRETtTVAUbosWLXKrXUpKistTlAqFAtOnT8f06dNbbBcVFYVly5Zh2bJlLbbr27cvcnNz3YovkFwyVuOKsQb6hnpEh9neOSOuvjHB04fWCiFwrq4KFkn45CSp9dVVXdTX5g44IiKiQMMLg9oxfUM9dv78pc2bEYQQKK%2BrxJafDrd4HZszEgQOVpyAgHcv5pSEwMV6A76%2BXIblJw%2Bg0lTj1f6JiIiCRVDMuJHv2J/SFBDY80sxVAqVQ1uLkGAw17fYny/OXlaaarDy%2BwI0SA3ooORHloiI2i/%2BFCQH1rtrLUJyuxCrNNVCault9K3Q9CXxSoXC5Y0TREREoY4/CalNrNfDeblmA9B4B%2Buq7w9Cb/b%2Bg4iJiIiCEQu3dk4I0Xj6s5WFl76hHltLDttcJ9cW1mfKWSSp8VlwvHOUiIhIxlOl7Zx09Zo2tOI%2BUOlq0efNU5h6cx12/vwlH6hLRETkBH86ks1rvTyhN9fhg1%2B%2B8spdpJIQOGX4DZWmOhZtREREzeBPSGqTts62Wa%2BRu2yswZaSw6huaPmuVSIiovaMhVs7ZT3N6W8SBLaWHIbeXMvr2YiIiFxg4dZOVbXxNGelqdbpi%2Blbg6dGiYiI3MOfmO2YP56L1ta7WImIiNozFm50TVnvYvX0dVpERETEwo08IIRATYOxzZNlrb2LlYiIqL1j4UZOWYTkcP2baOVL5KWrd45Wmuq8/losIiKi9oSFG3nEk8ky66M%2BymouY8tPfNQHERFRW/HNCeQzEgTe/PkLKKCASqHydzhERERBjzNu5DMW0XhKlde0EREReQcLN/IJZ9fIERERUduwcCMiIiIKEizcqM1EgLw%2Bi4iIKNTx5gRqMwkCH/zylb/DICIiCnmccaNWsZ9l88frs4iIiNob/rSlVtE31LfpJfVERETkORZu5DHrbBtn2YiIiK4tXuNGHuM1bURERP7BKZN2SBICVaa6NvXB2TYiIqJrjz9926FL9dXIK/0ft65Pk29C4LvhiYiI/I6FWzulVLg39AICe34phiRYuREREfkbC7d2RhICl%2Bur4ckUGt81SkREFBh4c0I7c8VUg7%2BfOAgLZ9CIiIiCDmfc2iGFm6dJiYiIKLDwJ3g7c8VUC4uw%2BDsMIiIiagUWbl5w%2BvRpZGRkIDExEUlJScjJyUF9PV%2B6TkRERN7Fa9zaSK/XY9q0aejZsyc2btyIy5cvY8WKFaisrMTq1av9HR4RERGFEBZubfTOO%2B9Ar9dj7969iImJAQCoVCosXLgQmZmZiI2N9XOEREREFCp4qrSNCgsLkZSUJBdtADBu3Dio1WrodDo/RkZEREShRiEEnwvRFklJSUhPT8fChQttlk%2BYMAGJiYn429/%2B1qp%2BhRCQJO8PTYOwtPl1V63VMUyNugaT03VRHSJQba63aRMZFo7aBhMiO4Sj2vz7NYMadUcAgN5Uh6gOEQCAanM9ojpEoINCCQkCCoUCQgjoTfXoFKZGTYMRUR0ioFQoIAmBanM9IsPCUdNglL9q1B2hQuMz6ywQ0F89TtZ9KBUKqKBwWKe8%2Bpw767ZNt7euN5jqEa2OsOlfEkLe1n57e5Ymz92ThIBKoUCYUoUGqXFN037t9%2BVK075dbeuq/6brrf1FdghHjdnoUUwyhUIeMwT5f1XW4%2BxwDK5Bjs723ZrPSquF0Di2yId5%2Bnq83O4/BMbSmmsXdUenD6NXKAClUglJkjxOUalU%2BPzZpzxV2kZ6vR4ajcZhuUajQVVVVav7VSgUUKm8P/gqKHFDWAev9%2Bsu6w90Zzp1UDu0iVSH26xrKqJJHs7WA0C3q22s/di3ty63X9/Brn931zXXxr69pyPQXHuVUunQzlVsLfXtaV6u1lv/3tz4uEvVpq0Dg6tR8WWOzvbdms9KW4XCOLrDF3n6erw87T%2BYx9LdXJXKwDwpGZhRhQAhBN84QERERF7Fwq2NNBoN9Hq9w3KDweB0Jo6IiIiotVi4tVFsbCxKS0ttlplMJpSVlfGOUiIiIvIqFm5tlJycjKKiIly5ckVedujQIZhMJqSkpPgxMiIiIgo1vKu0jfR6PVJTU9GrVy9kZWXh0qVLWLlyJUaNGsUH8BIREZFXsXDzgtOnTyMnJwdfffUVIiIikJqaioULFyIiovk7KImIiIg8xcKNiIiIKEjwGjciIiKiIMHCjYiIiChIsHAjIiIiChIs3IiIiIiCBAs3IiIioiDBwo2IiIgoSLBwaydOnz6NjIwMJCYmIikpCTk5Oaivr/drTB988AHi4uIc/tg/uFin0%2BGBBx5AQkICxo4di927dzvtLzc3F2PGjEFCQgLS09Nx9OhRhzbV1dVYvHgxRowYgSFDhmDmzJkoLy93aNfa43XmzBksXrwYEydORHx8PFJTU522C%2BScXMXmTo7Z2dlOx7awsDAociwoKEBWVhZSUlKQmJiItLQ0vPXWW5AkyaN%2Bgj3HYB9HADhy5Agee%2BwxjBw5EoMGDcLdd9%2BNFStWwGAweNxXoObpTo6hMJZN1dTUIDk5GXFxcTh%2B/Hir%2BgqGPJ0SFPKqqqrE6NGjxcMPPyx0Op3Ys2ePGD58uFiwYIFf43r//feFVqsVhYWF4tixY/KfX3/9VW5TXFws4uPjxfPPPy%2B%2B/PJLsXnzZnHLLbeI9957z6avHTt2iIEDB4odO3aIL774QsyfP18kJCSIH374wabdU089Je644w7x4Ycfin/9619i0qRJYuzYsaKurk5u05bjdejQIZGcnCzmzJkjUlNTxYQJExzaBHJO7sTmTo7PPfecuPvuu23G9dixY0Kv1wdFjg899JCYN2%2Be2L9/v/jyyy/F%2BvXrRXx8vFi5cmXIjKM7OQb7OAohxIcffihWr14tPv74Y1FUVCR27twphg8fLp544omQGUt3cgyFsWzq73//u7j99tuFVqsV3377bciMpTtYuLUDr776qhg8eLC4dOmSvGzfvn1Cq9WKkpISv8VlLdyaxmUvIyNDTJ482WbZokWLxB133CEsFosQQgij0Sj%2B8z//U6xatUpu09DQIO69917x5z//WV729ddfC61WKw4fPiwvKy8vF/Hx8eKtt96Sl7XleFljEqLxP0pnRU0g5%2BRObO7k2NzypgI5R2efyeXLl4uEhARhNBrd7ifYcwz2cWzOu%2B%2B%2BK7RarTh37pzbfQVbnvY5htJYlpSUiMTERPH22287FG6hOJb2eKq0HSgsLERSUhJiYmLkZePGjYNarYZOp/NjZC0zmUwoKirChAkTbJanpaXhwoULOHnyJACguLgYBoPB5pSdSqXCfffdB51OB3H15SA6nQ4ajQbJyclyu549e2Lo0KE2x6Etx0upbPmfVCDn5G5srnJ0VyDn2LQPqwEDBsBoNKKysjIkxtFVju4K5Byb06VLFwBAQ0NDSIylqxzdFSw5/u1vf8OUKVPQt29fm%2BWhOpb2WLi1A6WlpYiNjbVZplar0adPH5SWlvopqt%2BlpqZiwIABuPvuu/Hqq6/CYrEAAMrKymA2m9GvXz%2Bb9v379wcAOXbrV/t2sbGxqKmpwfnz5%2BV2ffv2hUKhcOiv6XHw5fEK5Jzcjc2TXG%2B77TYMGjQIDz74ID755BOb9cGW41dffYUuXbrguuuuC9lxbJqjVaiMo8VigdFoxHfffYfNmzfjrrvuQq9evUJqLJvL0SoUxvLgwYP44YcfMGvWLNgLpbFsSZjbLSlo6fV6aDQah%2BUajQZVVVV%2BiKhRt27dMGfOHAwePBgKhQKfffYZ1q9fj/Pnz2Px4sVybPaxW7%2B3rtfr9VCr1YiIiLBp17lzZwBAZWUlevToAb1ej%2BjoaIc47I%2BDL49XIOfkbmzuGDBgABISEtC/f38YDAa8/fbbmDVrFjZs2IDx48cHXY7Hjx/HBx98gFmzZkGlUoXkONrnCITWON51113yD%2BTRo0dj7dq1HvUVDHk2lyMQGmNZV1eHlStX4plnnkFUVJRDv6E0li1h4daOCSEcfpO4lkaPHo3Ro0fL348aNQrh4eHIy8vDzJkz5eXNxdh0ubM21uluV%2B1aWm7fn7eOVyDn1Jb%2BrKZNm2bz/ZgxYzBlyhRs3LhR/iHRXJ%2BBluOFCxcwd%2B5cJCQkYMaMGR73E8w5htI4bt%2B%2BHbW1tSgpKcGWLVswc%2BZMvPHGGx71Feh5NpejSqUKibHcunUrrrvuOjz44IMt9h8KY9kSniptBzQaDfR6vcNyg8Hg9LcEf7r33nthsVjw/fffy7/92P8mYs3FGrtGo4HRaITRaHTaztpPc8fB/rclXx6vQM7J3dhaQ6lU4p577kFpaal8i3ww5GgwGDBjxgxERERg69at6NChg0f9BHOOzgTrOALALbfcgqFDh%2BJPf/oTXnnlFRw9ehSHDh0KqbFsLkdngm0sy8vL8frrr2Pu3Lmorq6GXq9HbW0tAKC2thY1NTUhNZYtYeHWDsTGxjqcPzeZTCgrK3M4Lx9I%2BvTpgw4dOuDUqVM2y0tKSgBAjt361T7H0tJSREZGonv37nK706dPy79VNe2v6XHw5fEK5Jzcja217GMM9ByNRiMyMzNx8eJF7NixA127dpXXhco4tpRjc4JtHJ0ZMGAAVCoVysrKQmYsW8qxOcE0lr/88gvMZjOeeuopDBs2DMOGDZPPzEydOhVPPPFEyI6lPRZu7UBycjKKiopw5coVedmhQ4dgMpmQkpLix8gcHThwACqVCvHx8VCr1Rg5ciQKCgps2uzfvx/dunVDfHw8AGDo0KGIjo7GgQMH5DYWiwUFBQVISUmRp6BTUlKg1%2Btx5MgRuV1FRQWKi4ttjoMvj1cg5%2BRubK0hSRI%2B%2Bugj3HzzzfJ1JYGcY0NDA%2BbNm4cffvgBO3bssLnA25N%2BgjlHZ4JtHJtz7NgxWCwW9O7dOyTG0lWOzgTbWA4YMABvvvmmzZ/nn38eALBkyRL85S9/CdmxtKf661//%2Ble3W1NQuvnmm/H%2B%2B%2B/jyJEj6N69O44dO4bly5dj7NixmDJlit/iysjIwG%2B//Ybq6mqcOXMGr7/%2BOnbv3o3HH39cvubixhtvxLZt21BRUYHIyEh8%2BOGHeOONN/D8889j0KBBABpv41apVNi2bRsiIiJgNBqxYcMGHDt2DH//%2B99x/fXXAwB69OiBEydO4N1330X37t1RUVGBxYsXIyIiAkuXLkVYWOMln205XnV1dfj0009RUlKC//mf/8HFixfRo0cPlJSUICYmBh07dgzonNyJzVWOly9fxqxZs2A2m2EwGPDdd98hJycHx44dw5IlS%2BTfLAM5x7/%2B9a/Yv38/5s2bhxtuuAHnzp2T/0RFRUGtVgf9OLrK8cKFC0E/jgAwe/ZslJWVwWAw4Ny5c/jkk0%2BwfPly3HjjjcjOzoZKpQr6sXSV47lz54J%2BLMPDw9G7d2%2BbP0ajEXv27MHs2bPldsE%2Blm5x%2B4lvFNROnTolnnzySTF48GAxYsQIsWzZMpsnP/vDsmXLxD333CNuvfVWMWjQIJGamiry8vKEJEk27Q4fPizuv/9%2BMXDgQHH33XeLXbt2OfQlSZJ47bXXxJ133ikGDRokHnzwQfHll186tDMYDGLRokVi2LBhIjExUTz99NPil19%2BcWjX2uN19uxZodVqnf4pKioKipxcxeYqxytXroiZM2eK0aNHi4EDB4rExETx2GOPicLCwqDJ8a677gr5cXSVYyiMoxCND0edOHGiGDJkiEhMTBQTJkwQ69evFwaDweO%2BAjVPVzmGyljaKyoqcngAr7t9BVOe9hRC2J28JSIiIqKAxGvciIiIiIIECzciIiKiIMHCjYiIiChIsHAjIiIiChIs3IiIiIiCBAs3IiIioiDBwo2IiIgoSLBwIyIiIgoSLNyIKKh88MEHiIuLk//Ex8dj1KhRmD9/Pn7%2B%2BWe/x/XLL7%2B02G7Tpk2Ii4u7RlG5ptPpsGnTJqfr4uLisHTp0mscERG1JMzfARARtcaKFSvQr18/GI1GFBcXY9u2bTh69CgKCgrQuXNnf4cXNHQ6HXbv3o05c%2Bb4OxQicgMLNyIKSjfffDMSEhIAACNGjIDFYsGmTZvwySefID093c/RERH5Bk%2BVElFIsBZxly5dclh34MABPPzww0hMTMSQIUOQkZGBkydP2rQ5fvw45s%2BfjzFjxuDWW2/FmDFj8Mwzz6C8vNyhv6%2B//hpTpkxBQkICRo0ahTVr1qChoaFN8bsTY3Z2NoYMGYIzZ85gxowZGDJkCFJSUrBy5UqYTCabtufOncPcuXMxZMgQ3HbbbViwYAG%2B/fZbxMXF4YMPPpD72717NwDYnH62P927d%2B9e3HvvvRg8eDDuv/9%2B/Otf/2pTrkTUepxxI6KQYC02/vCHP9gs37ZtG9avX48HH3wQmZmZMJvNyM3NxaOPPor8/Hz0798fAFBeXo6%2BfftiwoQJ6Ny5My5cuIC3334bkydPxj//%2BU/ExMQAAEpKSvBf//Vf6NWrF1auXImIiAi89dZb2L9/f6tjdzdGADCbzcjMzMTkyZPx5JNP4t///je2bNmCqKgozJ49GwBQW1uLqVOnoqqqCgsXLsRNN92EI0eOYP78%2BTb7zcrKQm1tLT766CO8%2B%2B678vIbbrhB/vvhw4dx/PhxzJ07F506dcKOHTswe/ZsHDx4EDfeeGOrcyaiVhJEREHk/fffF1qtVnz99dfCbDaL6upqUVhYKO644w7x6KOPCrPZLLf99ddfRXx8vFi2bJlNH9XV1eKOO%2B4Q8%2BbNa3Y/DQ0NoqamRiQmJoq8vDx5%2BZ///Gdx6623igsXLti0HT9%2BvNBqteLs2bMtxr9x40ah1WpbFeNzzz0ntFqtOHDggE3bGTNmiHHjxsnf79q1S2i1WqHT6WzavfTSS0Kr1Yr3339fXrZkyRKbeJrSarXi9ttvFwaDQV524cIFccstt4hXX321xTyJyDc440ZEQelPf/qTzfexsbHYsmULwsJ%2B/2/t888/R0NDAyZOnGhzKjM8PBzDhg3D0aNH5WU1NTXYsmULPv74Y5SXl8NiscjrSktL5b8fPXoUSUlJuP766%2BVlKpUK9913H1555RWP8/AkRgBQKBQYM2aMzbK4uDgUFRXJ3//73/9GZGQkkpOTbdqlpqbazKy5Y8SIEYiKipK/v/7663Hdddc5PYVMRL7Hwo2IgtKqVasQGxuLmpoaHDhwAO%2B%2B%2By6eeeYZ7NixQ25z8eJFAMDkyZOd9qFU/n6Z74IFC1BUVISsrCwkJCQgMjISCoUCTz31FIxGo9yusrLSpmizcrbMHZ7ECAAdO3ZEeHi4zTK1Wu1WjNddd53H8XXp0sVhmf3%2BiOjaYeFGREEpNjZWviFh5MiRkCQJ%2Bfn5OHjwIMaPHw8A6Nq1KwBg48aN6NmzZ7N9GQwGHD58GLNnz8ZTTz0lLzeZTKiqqrJp26VLF7nYasrZMne4G6MnunTpgm%2B//dZheWtjJKLAwcKNiELCf//3f%2BPjjz/Gxo0bcc8990CpVGLUqFEICwtDWVkZxo0b1%2By2CoUCQgio1Wqb5fn5%2BTanTIHGU4efffYZLl68KM9qWSwWHDhwoFVxuxujJ4YNG4aCggLodDqkpKTIy//5z386tLXmXF9fj4iICK/sn4h8h4UbEYWEzp0746mnnsLLL7%2BMDz/8EBMnTkTv3r0xd%2B5crF%2B/HmfPnkVycjI0Gg0uXryI48ePo2PHjpg7dy6ioqIwbNgw5ObmomvXrujVqxf%2B93//F//4xz%2Bg0Whs9pOZmYnPPvsM06ZNw6xZsxAREYHdu3ejrq6uVXG7G6MnJk2ahLy8PDz77LOYN28ebrrpJhQWFuLzzz8HYHv6VavVAgBee%2B01JCcnQ6lUIi4uzqGIJaLAwOe4EVHIePzxx9GzZ09s2bJFnil7%2BumnsWHDBvz888947rnnkJGRgdWrV6O8vBzDhg2Tt12zZg1GjBiBl19%2BGbNnz8aJEyfwxhtvIDo62mYfWq0Wb7zxBqKiovDcc89h8eLFiIuLQ1ZWVqvjdjdGd3Xq1Al5eXkYPnw4Xn75ZcyZMwcVFRX4y1/%2BAgA2OaWmpuKhhx7CW2%2B9hYcffhiTJ0/Gb7/91upciMi3FEII4e8giIjI96zPizt8%2BDB69Ojh73CIqBV4qpSIKATt2rULANCvXz%2BYzWYUFRVh586duP/%2B%2B1m0EQUxFm5ERCEoIiICeXl5%2BOWXX2A2m/Ef//EfmDFjBjIzM/0dGhG1AU%2BVEhEREQUJ3pxAREREFCRYuBEREREFCRZuREREREGChRsRERFRkGDhRkRERBQkWLgRERERBQkWbkRERERBgoUbERERUZD4f0cOKo3IX/tiAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm4AAAHKCAYAAAC6zcd2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1hU5do/8C8zMEDAcEiFPFAKDoGgQMnhLUFN0hQqRRPLV/NUgJqZlpRopeQhSwJFCDXzmEU72emGykrRdluzsJNlO0beMGUjymEQhYFh/f7wNysXgziDw4aB7%2Be6vLhmrXs9675nDXH3rMNYCYIggIiIiIg6PVlHJ0BERERExmHjRkRERGQh2LgRERERWQg2bkREREQWgo0bERERkYVg40ZERERkIdi4EREREVkINm5EREREFoKNGxEREZGFYONGdAOffPIJfHx8kJeXZ7Du4Ycfho%2BPD44ePWqwbtSoURg/frzJ%2B1u8eDGioqLalGtqaip8fHyg0WhuGrtp0yZ88cUXbdpPa/744w/4%2BPjg73//e6txX3/9NXx8fPD555%2B3uH758uXw8/OTLJsyZQqefPJJk/L597//jQ0bNuD8%2BfMmbded/fOf/8SECRMQGBgIHx8fHDp0qKNTalVERASWLl3aakxjYyN8fHywadOm/1JWrautrcWGDRtw4sQJg3Wm/B5T98XGjegGQkJCYGVlhWPHjkmWV1VV4d///jduu%2B02HD9%2BXLLuP//5D86ePYvQ0FCT9/fMM88gPT39lnI2RmZmJr788st23485rVy5EsuWLTNpm99//x0bN25k42YknU6HBQsWwNbWFpmZmXj//fdxzz33dHRaXc6VK1ewcePGFhs3ImNYd3QCRJ2Vm5sbBg4ciG%2B%2B%2BUay/MSJE7C2tkZsbKxB46Zv8trSuHl6erY92S7O29u7o1MwmU6ng06ng0Kh6OhUjPKf//wHNTU1ePDBBxEeHm7y9lqtFjKZDNbW/LNC1J4440bUitDQUBQXF%2BPChQvisuPHj8Pf3x%2BRkZE4deoULl%2B%2BLK775ptvIJfLce%2B994rLBEHArl278PDDDyMgIABDhw7FM888g7Nnz0r21dKp0qqqKrz44osYOnQogoKCEB8fj//7v/%2B74amf8vJyPPvsswgODsZ9992HpUuXivnpTxlptVp8%2BOGH8PHxgY%2BPj%2BQUZFlZGZKTkzFs2DD4%2B/tj1KhR2LRpE3Q6nWQ/ZWVleOaZZxAUFIR7770XixYtwqVLl0x/g43U0qnS3bt3IyYmBkFBQQgKCsKYMWPw1ltvAQBycnLw3HPPAQCeeOIJsdbrT%2BN%2B8MEHiImJQUBAAEJCQjBv3jycOXPGYN979%2B7Fgw8%2BiICAAERHRyMvL8/gWOlPE7/zzjvYuHEjRo4ciYCAAHz77beoq6vD6tWr8fDDD%2BOee%2B5BSEgI4uLiDGY99cfntddeQ05ODkaPHo3BgwcjNjYWP/74IwRBQHZ2NkaOHImgoCA8%2BeSTBp%2BhGzlx4gSmTZuGoKAgDBkyBHFxcSgoKBDXp6amYuTIkQCANWvWwMfHp9XT9vrT3fv378eqVatw//33Y/DgwTh37hwA4z9HaWlpmDhxIkJCQhAcHIwJEybgo48%2BgiAIkjitVou1a9fivvvuw5AhQ/D444/jp59%2BMqr2GzEmR/1xfffdd7FlyxbxvY%2BLi8OPP/5oMObNPit//PEH7r//frF2/eey%2Bene1n6P9fLy8jBx4kTcc889CAwMxKhRo5CcnHxL7wlZBv6vEVErwsLCsHPnTnzzzTeIjo4GcK1xGzFiBIKDg2FlZYXvvvsOkZGR4jo/Pz84OTmJY7z00kvYv38/pk2bhueffx5VVVXIyMjAlClT8PHHH8PNza3Ffet0Ojz99NM4ffo05s%2BfD19fXxQWFuKpp566Yb7z5s3DuHHj8Nhjj%2BH06dNITU2FTCbDypUrYW1tjffffx9Tp07FsGHD8PTTTwOAmGtZWRkmTZoEGxsbzJ8/H/369cN3332HTZs24fz580hJSQEAXL16FdOmTUNFRQUWL14MT09PHD58GIsWLTLpvW1qakJjY6NJ2%2Bj9/e9/x4oVKzBt2jQMHz4cVlZW%2BOOPP1BcXAwAeOCBB1BeXo60tDSsWLECPj4%2BAP6a1czIyEB6ejpiYmKwePFiVFZWYsOGDZg8eTL%2B9re/iXG7d%2B/GihUrMGbMGCxduhTV1dVIS0uDVqttcWbp3XffxYABA5CUlAQHBwfcddddqKurg0ajwezZs9GrVy9otVp8/fXXmDt3Ll5//XXExMRIxvjiiy9w6tQpLF68GACwbt06PPXUU4iJiUFpaSmWL1%2BO6upqrF27FgsWLMBHH33U6nv1r3/9C7Nnz4afnx9WrVoFGxsb7Nq1C08//TTeeustjBkzBlOmTIGvry8WLFiA6dOnY%2BzYsbC1tb3pcVi3bh2Cg4OxcuVKAICLi4vRnyMAOH/%2BPKZMmYI77rgDgiDg%2B%2B%2B/xyuvvIILFy4gPj5ejHvppZfwj3/8A7NmzUJ4eDh%2B%2B%2B03zJ0716CZMZYpOQLAjh074O3tjZdeegkA8NZbb2HOnDn44osv4OjoCMC4z8odd9yB7OxsPPXUU5g8eTImTJgAALj99tsl%2B2vt9xgAvv32Wzz33HOIjo7G/PnzYWtri3PnzvH0a3chENENVVVVCXfffbewbNkyQRAEoaKiQvDx8RGOHDkiCIIgTJw4UVizZo0gCIJw/vx5QaVSCa%2B//rq4/YkTJwSVSiVs375dMu6ff/4p%2BPv7C%2BvXrxeXLVq0SBg1apT4%2BvPPPxdUKpXwwQcfSLbNyMgQVCqVkJGRIS5bv369oFKphG3btklily1bJgQGBkqW%2Bfv7Cy%2B99JJBrS%2B99JIQHBwslJaWSpa//fbbgo%2BPj3DmzBlBEARh586dgkqlEg4fPiyJS0pKElQqlZCbm2sw9vX%2B%2Bc9/CiqVqtV/vr6%2Bkm3i4uKE6dOni6%2BXL18uhIaGtrqfAwcOCCqVSjhx4oRkeUVFheDv7y/Ex8dLlp89e1YYNGiQ8MILLwiCIAgNDQ1CWFiYEBcXJ4krKSkR/Pz8JMfq//7v/wSVSiU8%2BOCDQkNDQ6t5NTY2Cg0NDcKSJUuE2NhYcXlDQ4OgUqmE%2B%2B%2B/X7hy5Yq4/JNPPhFUKpUwfvx4oampSVy%2BdetWQaVSCUVFRa3ub8KECcJ9990nGbOxsVF46KGHhBEjRhjU0Pwz1BL9MZw2bZrBOmM/R83pdDqhoaFBSEtLE8LDw8Xlv/32m6BSqYS1a9dK4vft2yeoVKoWP8vX07%2Bv1/%2B%2BGJuj/j155JFHBJ1OJ8YVFhYKKpVKyM/PF/dh7GflwoULBvnoGft7/PbbbwsqlUqora1ttXbqmniqlKgVzs7OuPvuu8Vr2U6cOAG5XI7g4GAAwNChQ8V1%2Bp/XX992%2BPBhyGQyxMTEoLGxUfzn7u4OlUplcI3c9fT/9/zQQw9Jlutn/lqiP92l5%2BPjgytXrqCysvKmtR4%2BfBjh4eHo0aOHJNeIiAgIgiDmc/z4cSiVSnGWUa/5zNHNLFmyBB9%2B%2BKHBvwcffPCm2w4ePBiVlZVYtGgRvvjiC6Pq0zt58iS0Wq0426HXt29fhISE4F//%2BhcAQK1Wo6KiwuD979evH4YMGdLi2A888ECLM3F5eXmIi4tDYGAg/Pz8MGjQIOzbtw9qtdogNjw8HPb29uJrLy8vAEBkZCSsrKwMlutPT7bk8uXLOHXqFMaMGSMZUy6X4%2BGHH8a5c%2Bfwxx9/3HD7m2npWBn7OQKunXKdPn067rnnHvj6%2BmLQoEHIyMjApUuXxGOq/x15%2BOGHJfsZO3YsZLK2/QkzJUcAGD58uGRf%2Bhlc/Y0vbfmstOZmv8eDBw8GcO2Gpry8PJSVlZm8D7JcPFVKdBOhoaHYtm0bysrKcPz4cQwaNAgODg4Art15um3bNtTU1OD48eOwtraW3Il36dIlNDU1ISwsrMWx77rrrhvut6qqCra2tuKpGL3mp1Wu5%2BLiInmtvzC%2Bvr6%2B1Rr1uR48eBCDBg1qcb3%2Bj0ZVVRV69OhhsL6lZa3x9PREQECAwXJXV9ebbjthwgQ0NTXhww8/xPz58yEIAgICArBw4cKbXlhfVVUFAOjZs6fBul69euHbb7%2BVxN2o1vLy8ha3by4vLw8LFy7E2LFjMXv2bPTo0QNyuRy7du3C/v37DeKdnZ0lr21sbFpdrtVqDYv8/6qqqiAIQot56ZdVVVXhzjvvvOEYrWlpXGM/RydPnsTs2bMRFhaGlJQUeHh4wNraGp999hmys7PFz%2ByNjoNCoYBSqWxT3sbmqHej36u6urpWc9Qva%2Bmz0pqb/R6HhYVh48aN2LlzJ1544QU0NDRApVIhISEBY8eONWlfZHnYuBHdhL5x%2B%2Babb/DNN98gIiJCXKdv0k6cOIHjx48jICBAbOqAa/8Blslk2LNnT4szMa1dR%2BTi4oL6%2BnrU1NRIrpm7ePGiOcpqcX%2BDBw/G/PnzW1zv7u4uxp0%2BfdpgfXvl1RIrKytMmjQJkyZNQm1tLU6cOIH09HQ8/fTT%2BOyzz%2BDh4XHDbfV/FFv6Y3rhwgWxcdTHtVSXKX%2BIP/74Y9x1111Yv369ZMastYbLXFxcXGBlZSW5uUZPv8yYRvlGrq/n%2Bn0a8zn6xz/%2BAYVCgaysLMmdt59%2B%2BqnBeMC143B9Y6TVatv8vDNjczRlPH2OzZnatBkrKioKUVFR0Gq1KCwsRHZ2Np577jn07dtXnJGjromnSoluYujQoZDL5fj000/x%2B%2B%2B/IyQkRFzn5OQEX19f5Obm4ty5cwaPARkxYgSamppQXl6OgIAAg38qlarV/QJAfn6%2BZPk//vGPW6pHoVCIMwXNc/3tt99w1113tZirfnYlNDQUGo1GclcigBZnj/4bHBwcMHz4cDz99NOor69HUVERgBvPNgYHB0OhUODjjz%2BWLD9//jy%2B%2BeYbccbOy8sLbm5uBu//2bNnW7yj8EasrKxgY2MjaXLKyspw%2BPBho8doK0dHR/j7%2B%2BOzzz6TvA86nQ779%2B9Hnz59zP4YGmM/RwBgbW0tOQV59epVg%2BOi/51qvjwvLw9NTU3tnqMxTPmsmDILbgyFQoGwsDA899xzEAQBv/76q1nGpc6LM25EN%2BHo6Ag/Pz98/vnnkMlkBg8lHTp0KLZv3w7A8PltISEhiI2NxZIlS/DDDz9g6NChsLOzQ3l5Ob799lv4%2Bflh8uTJLe53%2BPDhCAwMxGuvvQaNRgM/Pz8UFhaKf8Daen2P/tq6Q4cOoUePHnB0dET//v3x7LPP4l//%2Bhfi4uIwdepU9O/fH/X19fjzzz9x%2BPBhrFq1Cj179sSECROwY8cOPP/881iwYAHuvPNOHDp0yOBBxe3pxRdfhIODA4KDg9GzZ0%2BUl5cjKysLzs7O4umvgQMHAgDef/992NrawtbWFv369YOLiwvi4%2BORnp6OF198EQ899BAqKiqwceNG2NvbIzExEcC1pmLevHlYsWIFnn32WYwfPx7V1dXIyMhAr169jH7/R4wYgWXLlmHlypUYNWoUSktLxTGMfZzHrVi0aBFmz56N6dOnY8aMGZDL5dizZw/UajXS0tLMvj9jP0fDhw/Hzp078fzzz2PSpEmorKzEli1bJNfiAdc%2Br%2BPGjcO2bdsgl8sRFhaGf//739i2bZtkdrs9cjSWKZ8VZ2dnuLu74%2BDBgwgJCYFSqYSbmxv69Olj9P7Wr1%2BPixcvIjw8HO7u7tBoNNi%2BfTtsbGwkjyKiromNG5ERQkND8dNPP8HX19fgmrOhQ4fi3XffhY2NDYKCggy2fe211xAUFIQPPvgAu3fvhiAIcHd3R3BwcIvXeOnJ5XK8/fbbWLNmDbKystDY2Ih77rkHa9euRVxcnOT0qSmSk5OxcuVKPPvss6irq0N4eDjeffdduLu7429/%2BxsyMzOxefNmXLhwAQ4ODujbty%2BGDRsm7u%2B2227D9u3bsWrVKrzxxhuQyWS4//778cYbb%2BDxxx9vU06muvfee/H3v/8d%2Bfn5qK6uhqurK4YOHYo333xTPPV31113ISkpCTt37sS0adOg0%2Bnw%2Buuv45FHHsHcuXPRo0cP8Toze3t7hISE4LnnnpPMQD3xxBOQyWR455138Pnnn6Nv375ISEhAfn6%2B0c%2BtmzRpEioqKvDBBx/ggw8%2BgKenJxISEnD27Fls3ry5Xd6f64WHh2Pbtm3YuHEjkpKS0NTUBF9fX7z99tsGN5iYg7Gfo/vvvx8pKSnYsmULnn76abi7u2Py5MlQKpVYvny5ZMw1a9agZ8%2Be%2BPDDD7F9%2B3b4%2Bflh48aNmDdvXrvmaApTPiurV6/G66%2B/jvj4eGi1WkycOBGvvfaa0fsKDAzEnj178Prrr6OyshJKpRKDBw/Gjh07xJtWqOuyEoRmTzokok4tNzcXS5YsQU5ODq9l6QDV1dV48MEH8dBDD%2BGVV17p6HSoE%2BNnhdoDZ9yIOrGPP/4YFy9exMCBA2FlZYXvv/8eW7duRWhoKJu2/4KysjJs3rwZISEhcHFxwblz57Bt2zbU1dXhf//3fzs6PepE%2BFmh/xY2bkSd2G233YYDBw7gjz/%2BQF1dHXr16oWJEydiwYIFHZ1at6BQKHD27Fnk5eWhuroa9vb2CAwMREpKCk9JkQQ/K/TfwlOlRERERBaCjwMhIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQvCu0k5KEAQ0NbXPfSMymVW7jd1ZsMauozvUyRq7ju5QJ2tsfbuWvsPXnNi4dVJNTQIqKmrNPq61tQyurg7QaK6gsbFt3/PX2bHGrqM71Mkau47uUCdrbJ2bmwPk8vZt3HiqlIiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvRqRq32tpaREREwMfHBz/99JNkXUFBAR599FEEBAQgKioKu3fvbnGMrVu3YuTIkQgICEBsbCyOHz9uEHP58mUsX74coaGhCAoKQnx8PM6dO2cQV1xcjFmzZiEwMBDh4eFISUlBXV2dQZyxuRERERHdik7VuG3atAk6nc5g%2BcmTJ5GYmAg/Pz9s3rwZ48ePR0pKCnJyciRxW7duRWpqKp544glkZ2fjzjvvxJw5c/Dbb79J4hYtWoQvv/wSy5YtQ2pqKi5cuIAZM2ZImjKNRoPp06ejtrYW6enpWLJkCfbv34/k5OQ25UZERER0qzrN40DUajX27NmDJUuW4OWXX5asy8jIgJ%2BfH1atWgUACAsLQ2lpKdLS0hAbGwuZTAatVovMzExMmzYNs2bNAgCEhIQgJiYGWVlZSE1NBQD88MMPOHz4MLKzsxEZGQkAUKlUiIqKwr59%2BzBlyhQAwN69e6HRaJCbmws3NzcAgFwux%2BLFi5GQkAAvLy%2BjcyMiIiIyh07TVbz22muIi4tD//79Jcu1Wi2OHTuGcePGSZbHxMSgvLwcv/zyCwCgsLAQNTU1iI6OFmPkcjnGjh2LgoICCMK1B%2BkVFBRAqVQiIiJCjOvduzeCg4NRUFAgLjty5AjCw8PFpg0ARo8eDYVCIcYZmxsRERGROXSKGbdPPvkEp0%2BfRnp6Ok6dOiVZV1JSgoaGBgwYMECy3NvbG8C1mTp/f3%2Bo1WoAMIjz8vJCbW0tysrK4OHhAbVajf79%2Bxs82djb2xtfffWV%2BFqtViM2NlYSo1Ao4OnpKe7L2Nzaytra/H21XC6T/OyKWGPX0R3qZI1dR3eokzV2vA5v3K5evYo1a9bgueeeg6Ojo8H66upqAIBSqZQs17/Wr9doNFAoFLCzs5PEOTs7AwCqqqrg4eEBjUYDJycng/0olUpxLP14zffZPM7Y3NpCJrOCq6tDm7e/GaXSvt3G7ixYY9fRHepkjV1Hd6iTNXacDm/cMjMzcfvtt2PChAmtxt3ou7%2BuX95SjP4U6c3iWlvefLzmcbcy3o00NQnQaK60efsbkctlUCrtodFchU7XNb%2BuhDV2Hd2hTtbYdXSHOllj65RK%2B3afqevQxu3cuXN45513kJGRgcuXLwMArly5Iv6sra0VZ8yaz15pNBoAf81uKZVK1NfXo76%2BHra2tgZx%2BnGUSiVKS0sNcmk%2Bw6ZUKsVtr1dTUyPemGBsbm3Vnt8Dp9M1ddnvmdNjjV1Hd6iTNXYd3aFO1thxOvQE7p9//omGhgY89dRTGDp0KIYOHYr4%2BHgAwLRp0zBjxgx4enrCxsYGZ86ckWxbVFQEAGITpf%2Bpv/5MT61Ww8HBAe7u7mJccXGxOBN3/Xj6MfRxzcfSarUoKSkR44zNjYiIiMgcOrRx8/X1xY4dOyT/XnzxRQDAq6%2B%2BipdffhkKhQJhYWHIz8%2BXbHvgwAH07NkTfn5%2BAIDg4GA4OTkhLy9PjNHpdMjPz0dkZKR42jIyMhIajQZHjx4V40pLS1FYWCg%2BHgQAIiIicOzYMVRWVorLDh48CK1WK8YZmxsRERGROchfeeWVVzpq57a2tujbt6/kX319Pfbt24d58%2BaJd2T269cPWVlZKC0thYODA/bv349t27bhxRdfFGPkcjnkcjmysrJgZ2eH%2Bvp6pKWl4eTJk3j99dfRo0cPAICHhwd%2B/vlnvP/%2B%2B3B3d0dpaSmWL18OOzs7rFixAtbW184eDxw4EH/7299w9OhRuLu74%2BTJk1i1ahWioqIQFxcn1mBMbm0hCAKuXm1o8/Y3IpNZwd5egbq6BjQ1CTffwAKxxq6jO9TJGruO7lBnV6ixSRBQqa2FrdymxWvRb6VGe3sFZLK2X99ujA6/OcEYQUFB2LRpE9avX4/c3Fx4eHggOTkZkyZNksTNnDkTgiBg586duHjxIlQqFbKzs%2BHj4yOJe/PNN7F27Vq8%2BuqraGhoQGhoKDZs2CC5I1WpVGL79u1ISUnB/PnzYWdnh%2BjoaCxevLhNuREREVHHq9LWYu2vn2CJ7xi42Ro%2BzaKzsxKaX%2BxFnYJO14SKilqzj2ttLYOrqwMqK2s75UWX5sAau47uUCdr7Dq6Q51docaK%2BstYd/pTPH/36BYbt1up0c3Nod3vKu2cT5cjIiIiIgNs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEKwcSMiIiKyEGzciIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEKwcSMiIiKyEGzciIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEJ0eON29OhRTJ06FWFhYfD398cDDzyA1atXo6amRoxJSkqCj4%2BPwb8jR44YjLd161aMHDkSAQEBiI2NxfHjxw1iLl%2B%2BjOXLlyM0NBRBQUGIj4/HuXPnDOKKi4sxa9YsBAYGIjw8HCkpKairqzOIKygowKOPPoqAgABERUVh9%2B7dt/iuEBERERmy7ugEqqurERQUhOnTp0OpVOL333/Hhg0b8Pvvv%2BOdd94R4/r164c33nhDsq2Xl5fk9datW5GamoqFCxfCz88POTk5mDNnDnJycuDj4yPGLVq0CKdOncKyZcvg6OiI9PR0zJgxAx9//DHs7OwAABqNBtOnT0fv3r2Rnp6OiooKrF69GlVVVZI8Tp48icTERDzyyCNISkpCYWEhUlJSoFAoMGnSpPZ4y4iIiKib6vDGLTo6GtHR0eLr0NBQKBQKLFu2DGVlZXB3dwcA2NnZITAw8IbjaLVaZGZmYtq0aZg1axYAICQkBDExMcjKykJqaioA4IcffsDhw4eRnZ2NyMhIAIBKpUJUVBT27duHKVOmAAD27t0LjUaD3NxcuLm5AQDkcjkWL16MhIQEsWnMyMiAn58fVq1aBQAICwtDaWkp0tLSEBsbC5mswyc1iYiIqIvolF2Fi4sLAKCxsdHobQoLC1FTUyNpAuVyOcaOHYuCggIIggDg2mlNpVKJiIgIMa53794IDg5GQUGBuOzIkSMIDw8XmzYAGD16NBQKhRin1Wpx7NgxjBs3TpJLTEwMysvL8csvv5hQNREREVHrOnzGTU%2Bn06GxsRFFRUXIyMjAiBEj0KdPH3F9SUkJ7r33XtTV1UGlUiExMRGjRo0S16vVagDAgAEDJON6eXmhtrYWZWVl8PDwgFqtRv/%2B/WFlZSWJ8/b2xldffSUZLzY2VhKjUCjg6ekp7qukpAQNDQ0G%2B/T29hbH8Pf3b%2BtbAmtr8/fVcrlM8rMrYo1dR3eokzV2Hd2hzq5Qo1wngxWsILeWtfh3trPX2GkatxEjRqCsrAwAMGzYMKxfv15c5%2Bvri4CAAHh7e6Ompgbvvfce5s6di7S0NIwZMwbAtWvSFAqFeI2anrOzMwCgqqoKHh4e0Gg0cHJyMti/UqlEdXW1%2BFqj0UCpVLYap//ZPE7/%2BvrxTCWTWcHV1aHN29%2BMUmnfbmN3Fqyx6%2BgOdbLGrqM71GnJNTZebYJcLoOz821wtb/x39nOWmOnadyys7Nx5coVFBUVYdOmTYiPj8e2bdsgl8sxffp0SezIkSMRFxeH9PR0sXEDYDCLBkA8RXr9upbiWlvefLzmcbcy3o00NQnQaK60efsbkctlUCrtodFchU7XZPbxOwPW2HV0hzpZY9fRHersCjVW11%2BBTteE6uorsK5recatrTUqlfbtPlPXaRq3u%2B%2B%2BGwAQHBwMPz8/xMbG4uDBg5LGTE8mk%2BHBBx/EunXrUFdXBzs7OyiVStTX16O%2Bvh62trZirEajAfDXzJtSqURpaanBmM1n2JRKpbjt9WpqasQbE/RjNp9Z02/X0oydKRob2%2B%2BXQqdratfxOwPW2HV0hzpZY9fRHeq05Bp1jU0QIEDX2IRG%2BY1r6Kw1dsoTuL6%2BvpDL5SgpKblhjH4mTU/fTOmvP9NTq9VwcHAQ70718vJCcXGxwfZFRUWSx4t4eXkZjKXValFSUiLGeXp6wsbGBmfOnDEY6/qciIiIiMyhUzZuJ0%2BehE6nQ9%2B%2BfVtc39TUhE8//RQDBw4Ur2kLDg6Gk5MT8vLyxDidTof8/HxERkaKpy0jIyOh0Whw9OhRMQOl6AoAACAASURBVK60tBSFhYXi40EAICIiAseOHUNlZaW47ODBg9BqtWKcQqFAWFgY8vPzJfkdOHAAPXv2hJ%2Bf3y2%2BE0RERER/6fBTpfPmzYO/vz98fHxgZ2eH06dPY8uWLfDx8cGoUaNw7tw5JCUlITo6Gp6enqiursZ7772Hn3/%2BGRs2bBDHUSgUSEhIQGpqKtzc3MQH8J49e1Zyo8OQIUMwfPhwLF26FElJSXB0dERaWhr69OmD8ePHi3FxcXHYtWsXEhMTkZiYiEuXLmHNmjWIiYmRzKTNnTsXU6dORXJyMmJiYlBYWIicnBysWLGCz3AjIiIis%2Brwxm3w4MHIy8tDdnY2BEFAnz598Nhjj2HWrFlQKBRwcHCAo6MjMjIyUFFRARsbG/j7%2B2Pz5s0YNmyYZKyZM2dCEATs3LkTFy9ehEqlQnZ2tuRbEwDgzTffxNq1a/Hqq6%2BioaEBoaGh2LBhg%2BSOVKVSie3btyMlJQXz58%2BHnZ0doqOjsXjxYslYQUFB2LRpE9avX4/c3Fx4eHggOTmZ35pAREREZmclNL/YizoFna4JFRW1Zh/X2loGV1cHVFbWdsqLLs2BNXYd3aFO1th1WHKdTYKAKm0tXBQOkLXyRARLrlGvov4y1p3%2BFM/fPRputo4G62%2BlRjc3h3a/q5Tn8oiIiLq5Km0t1v76Caq05p8wIPNi40ZEREStzrRR58HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgvBxo2IiIjIQrBxIyIiIrIQbNyIiIiILAQbNyIiIiILwcaNiIiIyEKwcSMiIiKyEGzciIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiKiTq5JEFBRfxlNgtDRqVAHY%2BNGRETUyVVpa7H2109Qpa3t6FSog7FxIyIisgAyK6uOToE6ATZuRERERBaCjRsRERGRhWDjRkRERGQh2LgRERERWQg2bkREREQWgo0bERERkYVg40ZERERkIdi4EREREVkINm5EREREFoKNGxEREZGFYONGREREZCHYuBERERFZiA5v3I4ePYqpU6ciLCwM/v7%2BeOCBB7B69WrU1NRI4goKCvDoo48iICAAUVFR2L17d4vjbd26FSNHjkRAQABiY2Nx/Phxg5jLly9j%2BfLlCA0NRVBQEOLj43Hu3DmDuOLiYsyaNQuBgYEIDw9HSkoK6urqDOKMzY2IiIjoVnR441ZdXY2goCCsXLkSW7duxYwZM5Cbm4sFCxaIMSdPnkRiYiL8/PywefNmjB8/HikpKcjJyZGMtXXrVqSmpuKJJ55AdnY27rzzTsyZMwe//fabJG7RokX48ssvsWzZMqSmpuLChQuYMWOGpCnTaDSYPn06amtrkZ6ejiVLlmD//v1ITk6WjGVsbkRERES3yrqjE4iOjkZ0dLT4OjQ0FAqFAsuWLUNZWRnc3d2RkZEBPz8/rFq1CgAQFhaG0tJSpKWlITY2FjKZDFqtFpmZmZg2bRpmzZoFAAgJCUFMTAyysrKQmpoKAPjhhx9w%2BPBhZGdnIzIyEgCgUqkQFRWFffv2YcqUKQCAvXv3QqPRIDc3F25ubgAAuVyOxYsXIyEhAV5eXgBgVG5ERERE5tApuwoXFxcAQGNjI7RaLY4dO4Zx48ZJYmJiYlBeXo5ffvkFAFBYWIiamhpJEyiXyzF27FgUFBRAEAQA105rKpVKREREiHG9e/dGcHAwCgoKxGVHjhxBeHi42LQBwOjRo6FQKMQ4Y3MjIiIiMocOn3HT0%2Bl0aGxsRFFRETIyMjBixAj06dMHRUVFaGhowIABAyTx3t7eAAC1Wg1/f3%2Bo1WoAMIjz8vJCbW0tysrK4OHhAbVajf79%2B8PKyspgvK%2B%2B%2Bkp8rVarERsbK4lRKBTw9PQU91VSUmJUbm1lbW3%2Bvloul0l%2BdkWssevoDnWyxq6jPeuU62SwghXk1rL2%2Bdtg5Phd4VjerNbOXmOnadxGjBiBsrIyAMCwYcOwfv16ANeugQMApVIpide/1q/XaDRQKBSws7OTxDk7OwMAqqqq4OHhAY1GAycnJ4P9K5VKcSz9eM332TzO2NzaQiazgqurQ5u3vxml0r7dxu4sWGPX0R3qZI1dR3vU2Xi1CXK5DM7Ot8HV3vx/G0wd35KPpbG1dtYaO03jlp2djStXrqCoqAibNm1CfHw8tm3bJq5vPkPW0vKWYvSnSG8W19ry5uM1j7uV8W6kqUmARnOlzdvfiFwug1JpD43mKnS6JrOP3xmwxq6jO9TJGruO9qyzuv4KdLomVFdfgXWd%2BWeCjB2/KxzLm9V6KzUqlfbtPlPXaRq3u%2B%2B%2BGwAQHBwMPz8/xMbG4uDBg%2BJpx%2BazVxqNBsBfs1tKpRL19fWor6%2BHra2tQZx%2B5k2pVKK0tNRg/81n2JRKpbjt9WpqasQbE/Rj3iy3tmpsbL9fCp2uqV3H7wxYY9fRHepkjV1He9Spa2yCAAG6xiY0ys3/Hpo6viUfS2Nr7aw1dsoTuL6%2BvpDL5SgpKYGnpydsbGxw5swZSUxRUREAiE2U/qf%2B%2BjM9tVoNBwcHuLu7i3HFxcXiTNz14%2BnH0Mc1H0ur1aKkpESMMzY3IiIiInPolI3byZMnodPp0LdvXygUCoSFhSE/P18Sc%2BDAAfTs2RN%2Bfn4Ars3UOTk5IS8vT4zR6XTIz89HZGSkeNoyMjISGo0GR48eFeNKS0tRWFgoPh4EACIiInDs2DFUVlaKyw4ePAitVivGGZsbERERkTl0%2BKnSefPmwd/fHz4%2BPrCzs8Pp06exZcsW%2BPj4YNSoUQCAuXPnYurUqUhOTkZMTAwKCwuRk5ODFStWiM9JUygUSEhIQGpqKtzc3ODn54ecnBycPXtWvNEBAIYMGYLhw4dj6dKlSEpKgqOjI9LS0tCnTx%2BMHz9ejIuLi8OuXbuQmJiIxMREXLp0CWvWrEFMTIxkJs2Y3IiIiIjMocMbt8GDByMvLw/Z2dkQBAF9%2BvTBY489hlmzZkGhUAAAgoKCsGnTJqxfvx65ubnw8PBAcnIyJk2aJBlr5syZEAQBO3fuxMWLF6FSqZCdnQ0fHx9J3Jtvvom1a9fi1VdfRUNDA0JDQ7FhwwbJHalKpRLbt29HSkoK5s%2BfDzs7O0RHR2Px4sWSsYzNjYiIiOhWWQnNL/aiTkGna0JFRa3Zx7W2lsHV1QGVlbWd8qJLc2CNXUd3qJM1dh3tWWdF/WWsO/0pnr97NNxsHc06tinjd4VjebNab6VGNzeHdr%2BrlOfyiIiIiCwEGzciIiIiC8HGjYiIiMhCsHEjIiIishBs3IiIiIgsBBs3IiIiIgthlsattLQUR44ckXzLABERERGZl8kP4E1NTcXVq1fx0ksvAQC%2B/vprxMfHo6GhAUqlErt27cLAgQPNnigRERFRd2fyjNtnn30Gb29v8fVbb70FHx8fbNy4Eb1790ZmZqZZEyQiIiKia0yecSsrK4OnpycAoLKyEj/99BOys7MxbNgw1NfXY%2B3atWZPkoiIiIjaMOMmCAL035JVWFgIuVyOoUOHAgB69erF69yIiIiI2onJjZunpycOHToEAMjLy0NAQID45ewXLlyAUqk0b4ZEREREBKANjdvkyZOxY8cOhIaGIi8vD4899pi4rrCwUHL9GxERERGZj8nXuD3%2B%2BONwdnbGyZMnERAQgEceeURcV19fj/Hjx5s1QSIiIiK6xuTGDQDGjRuHcePGGSxfuXLlLSdERERERC1rU%2BMGAGq1GidOnEBlZSUmTpyInj17oqysDM7OzuI1b0RERERkPiY3bjqdDsuWLcO%2BffsgCAKsrKwQERGBnj174uWXX4avry8WLFjQHrkSERERdWsm35yQmZmJAwcO4IUXXsCBAwfER4MAwLBhw3D06FGzJkhERERE15g847Zv3z4kJiZixowZ0Ol0knV9%2B/bFn3/%2BabbkiIiIiOgvJs%2B4lZWVITAwsMV1tra2qK2tveWkiIiIiMiQyY3b7bffjrNnz7a4rri4GB4eHrecFBEREREZMrlxi4yMRFZWFsrKysRlVlZWqKmpwc6dOzFixAizJkhERERE15h8jdszzzyDI0eOYOzYsQgNDYWVlRXWr1%2BP33//HdbW1khMTGyPPImIiIi6PZNn3Hr06IEPP/wQ48aNw6lTpyCXy3H69GlERERg7969cHFxaY88iYiIiLq9Nj2At0ePHlixYoW5cyEiIiKiVpg849aS0tJSHDlyBJWVleYYjoiIiIhaYPKMW2pqKq5evYqXXnoJAPD1118jPj4eWq0Wzs7O2LVrFwYOHGj2RImIiIi6O5Nn3D777DN4e3uLr9966y34%2BPggIyMDvXv3RmZmplkTJCIiIqJrTJ5xKysrg6enJwCgsrISP/30E7KzszFs2DDU19dj7dq1Zk%2BSiIiIiNow4yYIgvj9pIWFhZDL5Rg6dCgAoFevXrzOjYiIiKidmNy4eXp64tChQwCAvLw8BAQEwM7ODgBw4cIFKJVK82ZIRERERADa0LhNnjwZO3bsQGhoKPLy8vDYY4%2BJ6woLCyXXvxkjPz8fiYmJiIyMRGBgIGJiYrBnzx40NTWJMUlJSfDx8TH4d%2BTIEYPxtm7dipEjRyIgIACxsbE4fvy4Qczly5exfPlyhIaGIigoCPHx8Th37pxBXHFxMWbNmoXAwECEh4cjJSUFdXV1BnEFBQV49NFHERAQgKioKOzevduk94CIiIjIGCZf4/b444/D2dkZJ0%2BeREBAAB555BFxXX19PcaPH2/SeNu2bUPv3r3xwgsv4Pbbb8fx48fx2muv4ezZs1iyZIkY169fP7zxxhuSbb28vCSvt27ditTUVCxcuBB%2Bfn7IycnBnDlzkJOTAx8fHzFu0aJFOHXqFJYtWwZHR0ekp6djxowZ%2BPjjj8XZQ41Gg%2BnTp6N3795IT09HRUUFVq9ejaqqKkkeJ0%2BeRGJiIh555BEkJSWhsLAQKSkpUCgUmDRpkknvBREREVFr2vQA3nHjxmHcuHEGy1euXGnyWFlZWXBzcxNfh4WF4cqVK9i9ezcWLlwIhUIBALCzs0NgYOANx9FqtcjMzMS0adMwa9YsAEBISAhiYmKQlZWF1NRUAMAPP/yAw4cPIzs7G5GRkQAAlUqFqKgo7Nu3D1OmTAEA7N27FxqNBrm5uWJ%2BcrkcixcvRkJCgtg0ZmRkwM/PD6tWrRLzLy0tRVpaGmJjYyGTmeVReURERETmeQDvrbi%2BadPz9fVFfX09qqqqjB6nsLAQNTU1iI6OFpfJ5XKMHTsWBQUF4g0VBQUFUCqViIiIEON69%2B6N4OBgFBQUiMuOHDmC8PBwSX6jR4%2BGQqEQ47RaLY4dO2bQxMbExKC8vBy//PKL0fkTERER3UybZtxOnDiBnTt3Qq1Wt3jN1xdffHFLSX333XdwcXHB7bffLi4rKSnBvffei7q6OqhUKiQmJmLUqFHierVaDQAYMGCAZCwvLy/U1tairKwMHh4eUKvV6N%2B/P6ysrCRx3t7e%2BOqrryTjxcbGSmIUCgU8PT3FfZWUlKChocFgn/rr/NRqNfz9/dv6NhARERFJmNy4ffvtt3jyyScREhICtVqNYcOGoba2Ft9//z369euH4ODgW0rop59%2BwkcffYS5c%2BdCLpcDuDYDFxAQAG9vb9TU1OC9997D3LlzkZaWhjFjxgC4dk2aQqEQr1HTc3Z2BgBUVVXBw8MDGo0GTk5OBvtVKpWorq4WX2s0mhbvkL0%2BTv%2BzeZz%2B9fXjtYW1tfknROVymeRnV8Qau47uUCdr7Dras065TgYrWEFuLWufvw1Gjt8VjuXNau3sNZrcuG3YsAETJkzAK6%2B8gkGDBuHZZ5/FoEGDcPr0acyePRtRUVFtTqa8vBzPPPMMAgICMGfOHHH59OnTJXEjR45EXFwc0tPTxcYNgMEsGgDxFOn161qKa2158/Gax93KeDcik1nB1dWhzdvfjFJp325jdxassevoDnWyxq6jPepsvNoEuVwGZ%2Bfb4Gpv/r8Npo5vycfS2Fo7a40mN26///47Zs6cKTYlOp0OAHD33XcjMTERGRkZGDlypMmJ1NTUYM6cObCzs0NmZiZsbGxuGCuTyfDggw9i3bp1qKurg52dHZRKJerr61FfXw9bW1sxVqPRAPhr5k2pVKK0tNRgzOYzbEqlUty2eZ76GxP0YzafWdNvdyvPtGtqEqDRXGnz9jcil8ugVNpDo7kKna7p5htYINbYdXSHOllj19GedVbXX4FO14Tq6iuwrjP/TJCx43eFY3mzWm%2BlRqXSvt1n6kxu3K5evQoHBwfIZDIoFArJNyUMGDBAvP7LFPX19UhISMDFixfx/vvvw9XV9abb6GfS9PTNlFqthp%2Bfn7hcrVbDwcEB7u7uYtzXX39tMHNWVFQkebyIl5eXQS1arRYlJSXitW%2Benp6wsbHBmTNnJDc7FBUVSXJqq8bG9vul0Oma2nX8zoA1dh3doU7W2HW0R526xiYIEKBrbEKj3PzvoanjW/KxNLbWzlqjyW1h7969cfHiRQDXLsK//k7MEydOwMXFxaTxGhsbsWDBApw%2BfRpbtmxBnz59brpNU1MTPv30UwwcOFC8pi04OBhOTk7Iy8sT43Q6HfLz8xEZGSk2aZGRkdBoNDh69KgYV1paisLCQvHxIAAQERGBY8eOSRrTgwcPQqvVinEKhQJhYWHIz8%2BX5HfgwAH07NlT0kASERER3SqTZ9xCQkLwzTffYMyYMZg0aRJeffVVqNVqKBQK/POf/8SMGTNMGm/FihU4dOgQnn/%2BedTV1eH7778X13l7e6O6uhpJSUmIjo6Gp6cnqqur8d577%2BHnn3/Ghg0bxFiFQoGEhASkpqbCzc1NfADv2bNnsX79ejFuyJAhGD58OJYuXYqkpCQ4OjoiLS0Nffr0kTw8OC4uDrt27UJiYiISExNx6dIlrFmzBjExMZKZtLlz52Lq1KlITk5GTEwMCgsLkZOTgxUrVvAZbkRERGRWJjdu8%2BfPF6/pmjJlCurq6rB//34AQEJCAuLj400aT/8IjnXr1hms27FjB3x8fODo6IiMjAxUVFTAxsYG/v7%2B2Lx5M4YNGyaJnzlzJgRBwM6dO3Hx4kWoVCpkZ2dLvjUBAN58802sXbsWr776KhoaGhAaGooNGzZI7khVKpXYvn07UlJSMH/%2BfNjZ2SE6OhqLFy%2BWjBUUFIRNmzZh/fr1yM3NhYeHB5KTk/mtCURERGR2VkLzi8WoU9DpmlBRUWv2ca2tZXB1dUBlZW2nPHdvDqyx6%2BgOdbLGrqM966yov4x1pz/F83ePhputo1nHNmX8rnAsb1brrdTo5ubQ%2BW5OuF5ZWRmqqqrg4uIiXvxPRERERO2jTY3bZ599hjfffBMlJSXiMk9PTyxcuFDyXDUiIiIiMh%2BTG7e8vDw899xzGDBgAObOnYsePXqgvLwceXl5WLhwIZqamjB27Nj2yJWIiIioWzO5ccvIyEBERASysrIkd03OnTsXTz31FDIyMti4EREREbUDk6%2BgKykpweOPP27wqAuZTIbHH39ccvqUiIiIiMynTQ/gvXr1aovr6urqcMcdd9xyUkRERERkyOTGbebMmdi0aRMqKiokyy9duoTMzEzMnDnTbMkRERER0V%2BMusYtJSVF8vry5ct44IEHEBYWhp49e6K8vBzHjh2Dq6ur%2BD2dRERERGReRjVuu3btanH5oUOHJK%2BvXr2K3bt3Izk5%2BdYzIyIiIiIJoxq306dPt3ceRERERHQT/BZ0IiIiIgvBxo2IiIjIQrBxIyLqhpoEARX1l9EkCB2dChGZgI0bEVE3VKWtxdpfP0GVtrajUyEiE7BxIyLqpmRWVh2dAhGZyKjGbfXq1SgtLQUAnD9/Hg0NDe2aFBEREREZMqpx2759O8rLywEADzzwAH799dd2TYqIiIiIDBnVuDk7O%2BPixYsAAIEXshIRERF1CKMewDtkyBAsXboUgwcPBgCsXbsWTk5OLcZaWVkhMzPTfBkSEdEtqai/DABws3Xs4EyI6FYZ1bi9/PLLWLVqFYqKimBlZYU//vgDCoWixVgrXuxKRERE1C6Matz69OmDjIwMAMDdd9%2BNTZs2ibNvRERERPTfYfLjQHbs2AEvL6/2yIWIiIiIWmHUjNv1QkJCAAB//PEHjh07hqqqKri6uiI0NBR33nmn2RMkIiIiomtMbtwEQcDKlSuxd%2B9eNDU1ictlMhkef/xxJCcnmzVBIiIiIrrG5Mbt3XffxZ49ezBlyhSMHz8e7u7uKCsrQ25uLvbs2YO%2BffviySefbIdUiYiIiLo3kxu3nJwcTJ06VTKz5u7ujsGDB0Mmk%2BGDDz5g40ZERETUDky%2BOeHs2bMYMWJEi%2BtGjBiBs2fP3nJSRERERGTI5MbNyckJ58%2Bfb3Hd%2BfPn4ejIBzwSERERtQeTG7f/%2BZ//wVtvvYWff/5ZsvzXX39Feno67r//frMlR0RERER/Mfkat0WLFmHy5MmYNGkSvL290bNnT5SXl6OoqAi9evXCokWL2iNPIiIiom7P5Bm3O%2B64A7m5uZg9ezbs7e3x559/wt7eHk899RT27dsHDw%2BP9siTiIiIqNszecYNANzc3DizRkRERPRfZvKMm7nl5%2BcjMTERkZGRCAwMRExMDPbs2SN5uC8AFBQU4NFHH0VAQACioqKwe/fuFsfbunUrRo4ciYCAAMTGxuL48eMGMZcvX8by5csRGhqKoKAgxMfH49y5cwZxxcXFmDVrFgIDAxEeHo6UlBTU1dUZxBmbGxEREdGt6PDGbdu2bVAoFHjhhReQlZWFUaNG4bXXXsO6devEmJMnTyIxMRF%2Bfn7YvHkzxo8fj5SUFOTk5EjG2rp1K1JTU/HEE08gOzsbd955J%2BbMmYPffvtNErdo0SJ8%2BeWXWLZsGVJTU3HhwgXMmDFD0pRpNBpMnz4dtbW1SE9Px5IlS7B//36Db4YwNjciIiKiW9WmU6XmlJWVBTc3N/F1WFgYrly5gt27d2PhwoVQKBTIyMiAn58fVq1aJcaUlpYiLS0NsbGxkMlk0Gq1yMzMxLRp0zBr1iwA175XNSYmBllZWUhNTQUA/PDDDzh8%2BDCys7MRGRkJAFCpVIiKisK%2BffswZcoUAMDevXuh0WiQm5sr5ieXy7F48WIkJCTAy8sLAIzKjYiIiMgcOryruL5p0/P19UV9fT2qqqqg1Wpx7NgxjBs3ThITExOD8vJy/PLLLwCAwsJC1NTUIDo6WoyRy%2BUYO3YsCgoKIAgCgGunNZVKJSIiIsS43r17Izg4GAUFBeKyI0eOIDw8XJLf6NGjoVAoxDhjcyMiIiIyB5Nn3LRaLWxsbGBlZdUe%2BQAAvvvuO7i4uOD2229HcXExGhoaMGDAAEmMt7c3AECtVsPf3x9qtRoADOK8vLxQW1uLsrIyeHh4QK1Wo3///gb5e3t746uvvhJfq9VqxMbGSmIUCgU8PT3FfZWUlBiVW1tZW5u/r5bLZZKfXRFr7Dq6Q53/jRrlumtjX//fFLlOBitYQW4ta5f/1kj23w2OI9C%2Bdbb38TJ2/K5wLG9Wa2ev0aTGrb6%2BHoGBgUhPT0dUVFS7JPTTTz/ho48%2Bwty5cyGXy1FdXQ0AUCqVkjj9a/16jUYDhUIBOzs7SZyzszMAoKqqCh4eHtBoNHBycjLYr1KpFMfSj9d8n83jjM2tLWQyK7i6OrR5%2B5tRKu3bbezOgjV2Hd2hzvassfHqtZu9XO0dJMvkchmcnW%2BTLG9P3eE4Au1TZ3sfL1PHt%2BRjaWytnbVGkxo3W1tbuLi4wN6%2BfYopLy/HM888g4CAAMyZM0ey7kYzfNcvbylGf4r0ZnGtLW8%2BXvO4WxnvRpqaBGg0V9q8/Y3I5TIolfbQaK5Cp2u6%2BQYWiDV2Hd2hzv9GjdX11/5bYl0nkyzT6ZpQXX1Fsrw9dIfjCLRvne19vIwdvyscy5vVeis1KpX27T5TZ/Kp0hEjRuDgwYNm/2qrmpoazJkzB3Z2dsjMzISNjQ2Av2bMms9eaTQaAH/NbimVStTX16O%2Bvh62trYGcfpxlEolSktLDfbffIZNqVSK2zbPU39jgrG5tVVjY/v9Uuh0Te06fmfAGruO7lBne9ao%2B//jNsqbJMsECNA1NkmWt6fucByB9qmzvY%2BXqeNb8rE0ttbOWqPJbeG4ceNQUFCAF198EYcOHcLPP/%2BMU6dOSf6Zqr6%2BHgkJCbh48SK2bNkCV1dXcZ2npydsbGxw5swZyTZFRUUAIDZR%2Bp/668/01Go1HBwc4O7uLsYVFxeLM3HXj6cfQx/XfCytVouSkhIxztjciIiIiMzB5MZt1qxZ%2BM9//oN9%2B/YhMTERkyZNwsSJEzFx4kTExsZi4sSJJo3X2NiIBQsW4PTp09iyZQv69OkjWa9QKBAWFob8/HzJ8gMHDqBnz57w8/MDAAQHB8PJyQl5eXlijE6nQ35%2BPiIjI8XTlpGRkdBoNDh69KgYV1paisLCQvHxIAAQERGBY8eOobKyUlx28OBBaLVaMc7Y3IiIiIjMweRTpatXrzZrAitWrMChQ4fw/PPPo66uDt9//724ztvbG46Ojpg7dy6mTp2K5ORkxMTEoLCwEDk5OVixYoX4nDSFQoGEhASkpqbCzc0Nfn5%2ByMnJwdmzZ7F%2B/XpxzCFDhmD48OFYunQpkpKS4OjoiLS0NPTp0wfjx48X4%2BLi4rBr1y4kJiYiMTERly5dwpo1axATEyOZSTMmNyKiivrLAAA3W8cOzoSILJnJjdv1zY056B/Bcf03Jejt2LFD/FqqTZs2Yf369cjNzYWHhweSk5MxadIkSfzMmTMhCAJ27tyJixcvQqVSITs7Gz4%2BPpK4N998E2vXrsWrr76KhoYGhIaGYsOGDZI7UpVKJbZv346UlBTMnz8fdnZ2iI6OxuLFiyVjGZsbERER0a26pW9OOHPmDCorK%2BHr64vbbrutTWN8%2BeWXRsVFRkZKTmW2y3wSrAAAIABJREFUxMrKCrNnz8bs2bNbjXN0dMTKlSuxcuXKVuP69%2B%2BPrVu3miU3IiIiolvVpnN5ubm5iIiIwLhx4zB16lQUFxcDABYsWIAPPvjArAkSERER0TUmN275%2BflISkqCn58fli1bJrk7c9CgQQYX6hMRERGReZjcuGVnZ2PChAnIysrC5MmTJesGDBggPgqDiIiIiMzL5MZNrVYbfKm6nouLC6qqqm45KSIiIiIyZHLjZm9vj5qamhbXlZWVid8mQERERETmZXLjFhQUhN27dxt88wAAfPTRRwgJCTFLYkREREQkZXLjNnfuXHz//feYOHEidu7cCSsrK3z22WeIj4/Ht99%2Bi/j4%2BPbIk4iIiKjbM7lxCwgIwObNm3HlyhWsWbMGgiDg7bffRnFxMbKzs6FSqdojTyIiIqJur00P4NV/P2dJSQkuXrwIV1dX9O/f39y5EREREdF1bumbEzw9PeHp6WmuXIiIiIioFW1q3P78809kZ2fj%2BPHjqKqqgouLC0JDQzFnzhz069fP3DkSEREREdpwjduvv/6K8ePH46OPPkKvXr1w3333oVevXvjoo48wfvx4/Prrr%2B2RJxEREVG3Z/KM26pVq%2BDm5oZt27ahd%2B/e4vJz585h5syZWLVqFXbu3GnWJImIiIioDTNuP/74I%2BbPny9p2gCgT58%2BmDdvHn788UezJUfUnirqL6Oi/nJHp0FERGQ0kxs3JycnODk5tbhOqVTC8f%2B1d%2B9hUZX7HsC/M4MDCoxKmR4124oNiZLoyQulULZNS8gM29lT6Sm0BG/b9BSVubfK9rLzbl4yqYfUbuzSx9xiWW0HO4VnP2GlWZ1AEyM0bzDDbWaY9Z4/cFbMBWYGZpwL38/z%2BCBrvetdv996R/nxrltUVJuDIiIiIiJHHhduqampyM/Pd7ruvffea/Y9pkRERETUNm5d4/bxxx/Lfx84cCA%2B%2BugjTJ48Gampqbj%2B%2Butx8eJF7N%2B/H5cvX8b48eN9FiwRERFRe%2BZW4TZ37lwoFAoIIeSvFRUVOHHihEPbZ599FmlpaV4PlIiIiKi9c6twe/PNN30dBxERERG54FbhNnz4cF/HQUREREQueHxzAhERERH5R6teefXJJ59g3759%2BPXXX2E0Gm3WKRQK7Nu3zyvBEREREdHvPC7cduzYgdWrVyMmJgZ9%2BvRBx44dfREXEREREdnxuHB76623kJ6ejqVLl0KlUvkiJiIiIiJywuNr3CorK5GamsqijYiIiOga87hwGzp0KE6dOuWLWIiIiIioBR4Xbi%2B88AJ2796NTz/9FCaTyRcxEREREZETHl/jdtNNN%2BH222/H7NmzoVAoEBERYbNeoVDgq6%2B%2B8lqARERERNTI48Lt5Zdfxq5duzBgwAD069cParXaF3ERERERkR2PC7c9e/ZgxowZWLBggS/iISIiIqJmeHyNm8Viwe233%2B6LWIiIiIioBR4XbnfccQe%2B%2BeYbX8RCRERERC3wuHDLysrCvn37kJeXhzNnzqCystLhjyfOnDmDxYsXY%2BLEiYiPj0dqaqpDm%2BzsbMTFxTn8KSwsdGibm5uLMWPGICEhAenp6Th69KhDm%2BrqaixevBgjRozAkCFDMHPmTJSXlzu0O336NDIyMpCYmIikpCTk5OSgvr7eoZ1Op8MDDzyAhIQEjB07Frt37/boGBARERG5w%2BNr3CZOnAgAWLlyJVauXOm0zffff%2B92fz/99BN0Oh0GDx4MSZIghHDa7sYbb8Tq1attlsXGxtp8n5ubi3Xr1mH%2B/PmIj49Hfn4%2BZsyYgfz8fMTFxcntFixYgO%2B%2B%2Bw4vvfQSoqKisHHjRjzxxBPYt2%2BffJesXq/HtGnT0LNnT2zcuBGXL1/GihUrUFlZaRPHsWPHkJWVhYkTJyI7OxvFxcXIycmBWq3GQw895PZxICIiInLF48Jt1qxZUCgUXgtgzJgx%2BOMf/wigcWbtxIkTTttFREQgMTGx2X5MJhO2bt2KqVOnIiMjAwAwfPhwpKWlYdu2bVi3bh0A4JtvvsHhw4exfft2pKSkAAC0Wi3Gjh2LPXv24JFHHgEAvPPOO9Dr9di7dy9iYmIAACqVCgsXLkRmZqZcNG7evBnx8fFYvnw5AGDkyJGoqKjAhg0bkJ6eDqXS40lNIiIiIqc8LtzmzJnj1QC8VdgUFxfDYDDYnGpVqVS477778Prrr0MIAYVCAZ1OB41Gg%2BTkZLldz549MXToUOh0OrlwKywsRFJSkly0AcC4cePwwgsvQKfTITY2FiaTCUVFRVi4cKFNLGlpaXjvvfdw8uRJDBo0yCv5EREREXlcuPlLWVkZbrvtNtTX10Or1SIrK0ueqQOA0tJSAEC/fv1stouNjUVNTQ3Onz%2BPHj16oLS0FH379nWYNezfvz8%2B//xzm/7S09Nt2qjVavTp00feV1lZGcxms8M%2B%2B/fvL/fRlsItLMz7s3UqldLmayhyN0eVpXG9L46zr7WHcQRCK8/mPm/XIkdn%2B1ZZlFBAAVWY0uf/BkJpHFviyzx9PV7u9h8KY%2Bkq10DP0ePC7ZVXXmlxvUKhwKxZs1odkDMDBgxAQkIC%2BvfvD4PBgLfffhuzZs3Chg0bMH78eACN16Sp1WqHNzl07twZAFBZWYkePXpAr9cjOjraYR8ajQZVVVXy93q9HhqNpsV21q/27azfN%2B3PU0qlAl27RrZ6e1c0mo4%2B6ztQuMqxoU4CAHTt6Lvj7GvtYRyB0MjT1efNlzk623dDnQSVSonOnTtds38DoTCO7vBFnr4eL0/7D%2BaxdDfXQM0xKAq3adOm2Xw/ZswYTJkyBRs3bpQLN%2Bu%2B7Vlvdmi6rrlr9Ny5ds96ytWd7dpyLaAkCej1ta3evjkqlRIaTUfo9XWwWCSv9x8I3M2xyth4fMPqA/O3qpa0h3EEQivP5j5v1yJHZ/uuMtbCYpFQVVXr838DoTSOLfFlnr4eL3f7D4WxdJVrW3LUaDr6fKbO48Lthx9%2BcFhWWVmJTz75BHl5edi%2BfbtXAmuJUqnEPffcg5dffhn19fWIiIiARqOB0WiE0WhEeHi43Fav1wP4feZNo9GgoqLCoU/7GTaNRiNv25TBYJBvTLD2aT%2BzZt3O2YydJxoafPePwmKRfNp/SyQhUGmqQRd1JJRevNHFnqscLVfXNaiC8z8fwL/jeC2FQp6uPm%2B%2BzNHZvi0NEgQELA3SNfs3EArj6A5f5Onr8fK0/2AeS3dzDdQcvVIWdunSBZMnT0ZaWhpycnK80aVL9o8NsRZT1uvPrEpLSxEZGYnu3bvL7U6fPu2wfUlJic3jRWJjYx36MplMKCsrk9v16dMHHTp0wKlTpxz6ahoT2ao01WDV9wdRaarxdyhERERBxavzeQkJCfjyyy%2B92aVTkiTho48%2Bws033yxf0zZ06FBER0fjwIEDcjuLxYKCggKkpKTIpy1TUlKg1%2Btx5MgRuV1FRQWKi4vlx4MAQHJyMoqKinDlyhV52aFDh2AymeR2arUaI0eOREFBgU18%2B/fvR7du3RAfH%2B/95EOEL2fargVJCFw2VkNq5rmDREREvuDVu0p//PFHdOrUyaNt6urqoNPpAADl5eWorq7GwYMHATQ%2Bh62urg7Z2dlITU1Fnz59UFVVhbfffhsnTpzApk2b5H7UajUyMzOxbt06xMTEyA/gPXv2LNauXSu3Gzx4MO688068%2BOKLyM7ORlRUFDZs2IBevXph0qRJcrspU6Zg165dyMrKQlZWFi5duoSVK1ciLS3NZiZt1qxZeOyxx7Bo0SKkpaWhuLgY%2Bfn5WLp0KZ/hFsKss4bPDRiPmPAof4dDRETthMeF2969ex2WmUwm/Pjjj3j//fdx//33e9TfpUuXMG/ePJtl1u/ffPNNxMXFISoqCps3b8bly5fRoUMHDBo0CK%2B99hpGjx5ts92TTz4JIQR27tyJixcvQqvVYvv27TZvTQCANWvWYNWqVViyZAnMZjNGjBiBTZs22dyRqtFokJeXh5ycHMyZMwcRERFITU11eGbbkCFDsGXLFqxduxZ79%2B5Fjx49sGjRIr41oR0I9llDIiIKPh4XbtnZ2U6Xh4eH4/7778ezzz7rUX%2B9e/fGjz/%2B2GKbrVu3utWXQqHA9OnTMX369BbbRUVFYdmyZVi2bFmL7fr27Yvc3FyX%2B01JSbE5zUpERETkCx4Xbp9%2B%2BqnDsvDwcFx//fVeCYiIiIiInPO4cOvVq5cv4iAiIiIiF3j1PBH5FO/AJSLyHrdm3NLS0tzuUKFQYN%2B%2Bfa0OiIhCC%2B/AJSLyHrcKty5durhsU1tbi%2B%2B%2B%2B65Nr3kiotBhfUOGJHgHLhGRt7hVuO3cubPZdQ0NDXj33XexZcsWKBQKpKamei04Igpe1pm2p2OT/R0KEVHIaNMDeAsKCrB%2B/XqUlZXh9ttvx8KFCzFgwABvxUZEQabpe2gBzrQREXlbqwq3o0ePYvXq1Th%2B/Dji4%2BPx%2BuuvIykpyduxEVGQaXo9GxEReZ9HhduPP/6I1atX4/PPP0fv3r2xZs0aTJgwwVexEVEQ4iwbEZHvuFW4VVRUYP369di/fz86d%2B6MF154AVOmTEGHDh18HR8RERERXeVW4TZu3DiYzWaMHj0a06dPR2RkJP7v//6v2fYDBw70WoBERERE1Mitws1kMgEACgsLceTIkWbbCSGgUCjw/fffeyc6IiIiIpK5VbitWLHC13EQURBoetcor2UjIrr23CrcJk2a5Os4iCgI8C0IRET%2BxXeVEpFHONNGROQ/LNyIiIiIggQLN2r3JCFw2VgNSQh/h0JERNQiFm7U7lmv26o01fg7FCIiohaxcKN2r9JUC3CyjYiIggALNyICwFPGRETBgIUbEQHgKWMiomDAwo3cwtmY9oGP%2BiAiCmws3MgtnI0JXZeN1bhsrPZ3GERE5AYWbuQ2zsYQERH5Fws3IiIioiDBwo2IiIgoSLBwIyIiIgoSLNyIiIiIggQLNyIiIqIgwcKNiIiIKEiwcCMiIiIKEn4v3M6cOYPFixdj4sSJiI%2BPR2pqqtN2Op0ODzzwABISEjB27Fjs3r3babvc3FyMGTMGCQkJSE9Px9GjRx3aVFdXY/HixRgxYgSGDBmCmTNnory83KHd6dOnkZGRgcTERCQlJSEnJwf19fWtjo3I1/iGCyKi0Ob3wu2nn36CTqfDTTfdhNjYWKdtjh07hqysLMTHx%2BO1117DpEmTkJOTg/z8fJt2ubm5WLduHR599FFs374dN910E2bMmIEff/zRpt2CBQvw2Wef4aWXXsK6devw22%2B/4YknnrApyvR6PaZNm4aamhps3LgRzz33HD788EMsWrSoVbERXQt8wwURUWgL83cAY8aMwR//%2BEcAQHZ2Nk6cOOHQZvPmzYiPj8fy5csBACNHjkRFRQU2bNiA9PR0KJVKmEwmbN26FVOnTkVGRgYAYPjw4UhLS8O2bduwbt06AMA333yDw4cPY/v27UhJSQEAaLVajB07Fnv27MEjjzwCAHjnnXeg1%2Buxd%2B9exMTEAABUKhUWLlyIzMxMuch0Jzaia4lvuCAiCl1%2BrypcFTYmkwlFRUWYMGGCzfK0tDRcuHABJ0%2BeBAAUFxfDYDDYnGpVqVS47777oNPpIK6eOtLpdNBoNEhOTpbb9ezZE0OHDoVOp5OXFRYWIikpSS7aAGDcuHFQq9VyO3djIyIiIvIGvxdurpSVlcFsNqNfv342y/v37w8AKC0ttflq3y42NhY1NTU4f/683K5v375Q2M1K9O/fX%2B7D2s7%2B1K1arUafPn3kdu7GRkREROQNfj9V6kpVVRUAQKPR2Cy3fm9dr9froVarERERYdOuc%2BfOAIDKykr06NEDer0e0dHRDvvRaDRyX9b%2B7Pdp387d2ForLMz7dbVKpbT56vZ2FiUUUEAVpmxzXN7sy2n/buaosjSuV0pKQAGP4vF1Di73fzW3SnMtLJKE68KjWh2X9TgAcLmtq/6brrf2pwxr/bFq7ec1EFmPs/0xuBY5Otv3tfwMh9I4tsSXefr8/003%2Bw%2BFsXT5/1iA5xjwhZuV/QyZs%2BXO2lhPkbpq19Jy%2B/7s27Wlv%2BYolQp07RrZ6u1d0Wg6etS%2BoU6CSqVE586d0LVj2%2BLyZl8tcZVjQ50EALDUS1CqFB7Fc61ycCUquvEXFWsMrYnLehwAuNzWVf9N11v700RHtPlYefp5DUTW49zcMfBljs727Y/PcCiMozt8kaevx8vT/oN5LN3NNVBzDPjCzTpjZj97pdfrAfw%2Bu6XRaGA0GmE0GhEeHu7QztqPRqNBRUWFw37sZ9g0Go28bVMGg0E%2BhepubK0hSQJ6fW2rt2%2BOSqWERtMRen0dLBbJ9QZXVRlrYbFIqKqqRVh9234L8WZfzribY5Wx8fjqTfWQLMKjeHydQ0suGauhUirR94ZuqDbUwyJJcgytict6HAC43NZV/03XW/vTG%2Bpbfaxa%2B3kNRNbjbH8MrkWOzvZ9LT/DoTSOLfFlnr4eL3f7D4WxdJVrW3LUaDr6fKYu4Au3Pn36oEOHDjh16pTNDQUlJSUAIBdR1q%2BlpaWIj4%2BX25WWliIyMhLdu3eX233xxRcOM2clJSU217TFxsY6XKNmMplQVlaG9PR0j2JrrYYG3/2jsFgkj/q3NEgQELA0SGhQtS0ub/bV4n5c5Gi5uk5qkAABj%2BK5VjnYu2ysRqWpFtd1ajw1apEkmxhaE5elyTFyta2r/puut/YneeFYefp5DUTWY9LssfVhjs727Y/PcCiMozt8kaevx8vT/oN5LN3NNVBzDMwTuE2o1WqMHDkSBQUFNsv379%2BPbt26yUXa0KFDER0djQMHDshtLBYLCgoKkJKSIhdpKSkp0Ov1OHLkiNyuoqICxcXF8uNBACA5ORlFRUW4cuWKvOzQoUMwmUxyO3djI2qry8ZqXDZW%2BzsMIiLyM7/PuNXV1cmP1ygvL0d1dTUOHjwIoPE5bDExMZg1axYee%2BwxLFq0CGlpaSguLkZ%2Bfj6WLl0qP05ErVYjMzMT69atQ0xMDOLj45Gfn4%2BzZ89i7dq18v4GDx6MO%2B%2B8Ey%2B%2B%2BCKys7MRFRWFDRs2oFevXpg0aZLcbsqUKdi1axeysrKQlZWFS5cuYeXKlUhLS7OZSXMnNiIiIiJv8HvhdunSJcybN89mmfX7N998U34t1ZYtW7B27Vrs3bsXPXr0wKJFi/DQQw/ZbPfkk09CCIGdO3fi4sWL0Gq12L59O%2BLi4mzarVmzBqtWrcKSJUtgNpsxYsQIbNq0yeaOVI1Gg7y8POTk5GDOnDmIiIhAamoqFi5caNOXu7ERERERtZXfC7fevXs7vJLKmZSUFJtTmc4oFApMnz4d06dPb7FdVFQUli1bhmXLlrXYrm/fvsjNzfVKbOQ71lOIMVcfiUFERBSqeC6PiIiIKEiwcCMiIiIKEizciIiIiIIECzciP%2BOjPoiIyF1%2BvzmBqL1isUZERJ7ijBuRH1jfgEBEROQJzriRS5IQjUWGaHs/P1dfgNTGfoiIiNorzriRS5WmGmwpOQxJ2FZcnl6bZe3H0FDn7RCJiIjaBRZu5Bbl1Xe9Bko/wUQSApeN1Q6FLxERkadYuJHX8O5I5ypNNVj1/UFUmmr8HQoREQU5Fm5EPmA/y9YeZxqJiMj7WLjRNdHe7qKsNNVg%2BckD%2BLn6gr9DISKiEMLCjchHOMtGRETexsKNWtTeZsqIiIgCGQs3IiIioiDBB/CST/EuUyIiIu/hjBsFnGB77hkfg0JERNcKCzcKOIH%2B3DPrK8AsksTr/4iI6JriqVIC8PspzZjwKD9H0iiQ78i0vrqrre9uJSIi8hRn3CigBMtdrIFcWBIRUehi4UZEREQUJFi4EbmBNyAQEVEgYOFGXhVsd4S2xJrLxfrgOH1LREShj4UbeZXeXBfQd4S6SxICP1dfwKqTB6E3s2gjIqLAwMKNvC4ULtyX7xwlIiIKIHwcSDvnz%2Bu2rKciu6gjA7LYUyoUfOQHEREFFM64kd%2BEymlVIiKia4UzbuQWi5CghPdmxYQQqDLXebVPIiKiUMcZN/IK62ugJDdPLUoQ2Pnzl369%2B9TTmImIiPyNhRt5hfVifkNDndvbKP388dOb67DVw5iJiIj8iadKyWsC8QYDZxpn2mogCf8Xj0RERJ7gTy1qd36uvoAVJw9wpo2IiIJOUBRuH3zwAeLi4hz%2BrF692qadTqfDAw88gISEBIwdOxa7d%2B922l9ubi7GjBmDhIQEpKen4%2BjRow5tqqursXjxYowYMQJDhgzBzJkzUV5e7tDu9OnTyMjIQGJiIpKSkpCTk4P6%2BnrvJE4%2Bw5k2IiIKRkF1qnTHjh2Ijo6Wv%2B/evbv892PHjiErKwsTJ05EdnY2iouLkZOTA7VajYceekhul5ubi3Xr1mH%2B/PmIj49Hfn4%2BZsyYgfz8fMTFxcntFixYgO%2B%2B%2Bw4vvfQSoqKisHHjRjzxxBPYt28fIiIiAAB6vR7Tpk1Dz549sXHjRly%2BfBkrVqxAZWWlQ1FJ/mNzajQ4zuYSERE5FVSF28CBAxETE%2BN03ebNmxEfH4/ly5cDAEaOHImKigps2LAB6enpUCqVMJlM2Lp1K6ZOnYqMjAwAwPDhw5GWloZt27Zh3bp1AIBvvvkGhw8fxvbt25GSkgIA0Gq1GDt2LPbs2YNHHnkEAPDOO%2B9Ar9dj7969clwqlQoLFy5EZmYmYmNjfXo8fM2duy4D%2BR2ev783FXj5h4N4OjYZXdSd/B0WERFRq4XE%2BSKTyYSioiJMmDDBZnlaWhouXLiAkydPAgCKi4thMBiQmpoqt1GpVLjvvvug0%2Bkgrj6aQqfTQaPRIDk5WW7Xs2dPDB06FDqdTl5WWFiIpKQkm2Jy3LhxUKvVNu2CyWVjtfw2hdbcKRpIrphqsOr7gzhbe4lvQCAiopAQVIVbamoqBgwYgLvvvhuvvvoqLBYLAKCsrAxmsxn9%2BvWzad%2B/f38AQGlpqc1X%2B3axsbGoqanB%2BfPn5XZ9%2B/aFwu4uyf79%2B8t9WNvZz6qp1Wr06dPHpl2wqDTVOsygBcudos0J9viJiIiaCopTpd26dcOcOXMwePBgKBQKfPbZZ1i/fj3Onz%2BPxYsXo6qqCgCg0WhstrN%2Bb12v1%2BuhVqvla9SsOnfuDACorKxEjx49oNfrba6la9qftS9rf/b7dNautcLCvF9Xq1RK26%2BW3/ehlK4uC1MiLEwJlUUJBRRQqhq/Nl1n3VYpKaG6%2Bn3Ttk37aNq/TX8KASic99m0D5c5Xd2HtW2luRYNdRJUyt/3BwWgDGuMVSld/V5l%2B9U%2BjsYYG7dzdlygEHKfTfffdHvrevt87I%2Bd/fbN5Wg9jirl1X6USiAMDnG7e%2Bzs%2B3a1rav%2Bm6639qd0kr%2B77D%2Bvwcz%2BcyovvwY5Ott3az4rrd5/CI1jS3yZp6/Hy93%2BQ2EsXf4/FuA5BkXhNnr0aIwePVr%2BftSoUQgPD0deXh5mzpwpL7efIXO23Fkb6ylSV%2B1aWm7fnzvtWqJUKtC1a2Sb%2BmiJRtMRANBQJwFovB7sYpUBAgpEazqia6dINNRJUCqViI4Kh1KhhEIBdO7cCV07RsrbWuoldI7odDXmxrYqlVJuZ%2B0fACz1TfpTKiGEgFKpcNpn0z5cse6jaR8AEBUdAZXq6v5UCmiiI9A5olNjHCqFvNz61T4OpVIJKAQ00Y2FfueI33Oyxm/ts%2Bn%2Bm25vXW%2Bfj/2xs9%2B%2BuRytxzHq6i8fUVdja9qvJ8fOvm9X27rqv%2Bl6a3%2Baq%2BPgSUz2rJ/XYGb/ObXnyxyd7bs1n5W2CoVxdIcv8vT1eHnafzCPpbu5BmqOQVG4OXPvvffi9ddfx/fff49evXoBgMMsl16vB/D7zJtGo4HRaITRaER4eLhDO%2BvMm0ajQUVFhcM%2B7WfYNBqNvG1TBoOhzTcmSJKAXu/9C/9VKiU0mo7Q6%2BtgsUioMjbu44qpFptOfgqFQoF5A8YiLEqJn6svQpIsMFQbIQkJCgFUVdUirL7xt5AqYy30pnqojMqrMUswVBthsUi4UlmDqqpaSELIpyv1pnq5jSRJkISAQginfVosks3yllypr2l872mUAkqFAtXmekRFR6Da0NiPodoIySKgNzTGqjfVQ7IIebn1q30cktT4w05vaHy8i8qoRFi9Ul4nid/7BGATq7WNdb19PvbHzn57e9Zxsh5HtTkM3TpGN%2BYoSTb9enLs7Pt2ta2r/puut/anN3g2nk3Zf16DmfU42x%2BDa5Gjs3235rPSWqE0ji3xZZ6%2BHi93%2Bw%2BFsXSVa1ty1Gg6%2BnymLmgLt6b69OmDDh064NSpUzY3FJSUlACAXERZv5aWliI%2BPl5uV1paisjISPnxIrGxsfjiiy8cZs5KSkpsCrLY2FiHa9lMJhPKysqQnp7e5rwaGnz3j8JikdDQIMFydR9SgwTF1Ve%2BSw0SLtYa8MoPnwECkCwSBAQUUMDSIKFB1biNpUGC1CDBomz8XkDIba/U1eDV0kKbOzmlBsmmjfWGAWd9Cgib5S25UleDV376DLNvHoN%2B0TfAcrXgski/7w8CcqxSgyTn1fSrfRwCAgqhaGwPwKJsXG9d17RPADaxWttY19vnY3/s7Ld3GK8mnwWpQbLJ0Vnc7h47%2B75dbeuq/6brrf15Op5O93v18xrMrMek2WPrwxyd7bs1n5U2xxEC4%2BgOX%2BTp6/HytP9gHkt3cw3UHAPzBK4bDhw4AJVKhfj4eKjVaowcORIFBQU2bfbv349u3brJRdrQoUMRHR2NAwcOyG0sFgsKCgqQkpIiF2kpKSnQ6/U4cuSI3K6iogLFxcXy40EAIDk5GUVFRbhy5Yq87NChQzCZTDbtAp0kBKrMjneOOruw//dHbDR/m6a42p8SvrsxwD4OPlCXiIjag6CYccvIyMDIkSOh1WoBAJ9%2B%2Binee%2B89TJ06Fd26dQMAzJo1C4899hgWLVqEtLQ0FBcXIz8/H0uXLm28VgmNd3xmZmZi3bp1iImJkR/Ae/YTpJ9IAAAZUElEQVTsWaxdu1be3%2BDBg3HnnXfixRdfRHZ2NqKiorBhwwb06tULkyZNkttNmTIFu3btQlZWFrKysnDp0iWsXLkSaWlpQfEMt8vGavku0jd//hICjbNuLdGb6/BqaSGeGzC%2B2TYSBHb%2B/CU6KHz38ao01WD5yQPI6n%2Bnz/ZBREQUaIKicOvbty/%2B8Y9/4Ny5c5AkCX/4wx/wwgsv4PHHH5fbDBkyBFu2bMHatWuxd%2B9e9OjRA4sWLbJ5awIAPPnkkxBCYOfOnbh48SK0Wi22b99u89YEAFizZg1WrVqFJUuWwGw2Y8SIEdi0aZPNHakajQZ5eXnIycnBnDlzEBERgdTUVCxcuNC3B8QHlAoFLG4866zKXOfWM9GuxQwYH/VBRETtTVAUbosWLXKrXUpKistTlAqFAtOnT8f06dNbbBcVFYVly5Zh2bJlLbbr27cvcnNz3YovkFwyVuOKsQb6hnpEh9neOSOuvjHB04fWCiFwrq4KFkn45CSp9dVVXdTX5g44IiKiQMMLg9oxfUM9dv78pc2bEYQQKK%2BrxJafDrd4HZszEgQOVpyAgHcv5pSEwMV6A76%2BXIblJw%2Bg0lTj1f6JiIiCRVDMuJHv2J/SFBDY80sxVAqVQ1uLkGAw17fYny/OXlaaarDy%2BwI0SA3ooORHloiI2i/%2BFCQH1rtrLUJyuxCrNNVCault9K3Q9CXxSoXC5Y0TREREoY4/CalNrNfDeblmA9B4B%2Buq7w9Cb/b%2Bg4iJiIiCEQu3dk4I0Xj6s5WFl76hHltLDttcJ9cW1mfKWSSp8VlwvHOUiIhIxlOl7Zx09Zo2tOI%2BUOlq0efNU5h6cx12/vwlH6hLRETkBH86ks1rvTyhN9fhg1%2B%2B8spdpJIQOGX4DZWmOhZtREREzeBPSGqTts62Wa%2BRu2yswZaSw6huaPmuVSIiovaMhVs7ZT3N6W8SBLaWHIbeXMvr2YiIiFxg4dZOVbXxNGelqdbpi%2Blbg6dGiYiI3MOfmO2YP56L1ta7WImIiNozFm50TVnvYvX0dVpERETEwo08IIRATYOxzZNlrb2LlYiIqL1j4UZOWYTkcP2baOVL5KWrd45Wmuq8/losIiKi9oSFG3nEk8ky66M%2BymouY8tPfNQHERFRW/HNCeQzEgTe/PkLKKCASqHydzhERERBjzNu5DMW0XhKlde0EREReQcLN/IJZ9fIERERUduwcCMiIiIKEizcqM1EgLw%2Bi4iIKNTx5gRqMwkCH/zylb/DICIiCnmccaNWsZ9l88frs4iIiNob/rSlVtE31LfpJfVERETkORZu5DHrbBtn2YiIiK4tXuNGHuM1bURERP7BKZN2SBICVaa6NvXB2TYiIqJrjz9926FL9dXIK/0ft65Pk29C4LvhiYiI/I6FWzulVLg39AICe34phiRYuREREfkbC7d2RhICl%2Bur4ckUGt81SkREFBh4c0I7c8VUg7%2BfOAgLZ9CIiIiCDmfc2iGFm6dJiYiIKLDwJ3g7c8VUC4uw%2BDsMIiIiagUWbl5w%2BvRpZGRkIDExEUlJScjJyUF9PV%2B6TkRERN7Fa9zaSK/XY9q0aejZsyc2btyIy5cvY8WKFaisrMTq1av9HR4RERGFEBZubfTOO%2B9Ar9dj7969iImJAQCoVCosXLgQmZmZiI2N9XOEREREFCp4qrSNCgsLkZSUJBdtADBu3Dio1WrodDo/RkZEREShRiEEnwvRFklJSUhPT8fChQttlk%2BYMAGJiYn429/%2B1qp%2BhRCQJO8PTYOwtPl1V63VMUyNugaT03VRHSJQba63aRMZFo7aBhMiO4Sj2vz7NYMadUcAgN5Uh6gOEQCAanM9ojpEoINCCQkCCoUCQgjoTfXoFKZGTYMRUR0ioFQoIAmBanM9IsPCUdNglL9q1B2hQuMz6ywQ0F89TtZ9KBUKqKBwWKe8%2Bpw767ZNt7euN5jqEa2OsOlfEkLe1n57e5Ymz92ThIBKoUCYUoUGqXFN037t9%2BVK075dbeuq/6brrf1FdghHjdnoUUwyhUIeMwT5f1XW4%2BxwDK5Bjs723ZrPSquF0Di2yId5%2Bnq83O4/BMbSmmsXdUenD6NXKAClUglJkjxOUalU%2BPzZpzxV2kZ6vR4ajcZhuUajQVVVVav7VSgUUKm8P/gqKHFDWAev9%2Bsu6w90Zzp1UDu0iVSH26xrKqJJHs7WA0C3q22s/di3ty63X9/Brn931zXXxr69pyPQXHuVUunQzlVsLfXtaV6u1lv/3tz4uEvVpq0Dg6tR8WWOzvbdms9KW4XCOLrDF3n6erw87T%2BYx9LdXJXKwDwpGZhRhQAhBN84QERERF7Fwq2NNBoN9Hq9w3KDweB0Jo6IiIiotVi4tVFsbCxKS0ttlplMJpSVlfGOUiIiIvIqFm5tlJycjKKiIly5ckVedujQIZhMJqSkpPgxMiIiIgo1vKu0jfR6PVJTU9GrVy9kZWXh0qVLWLlyJUaNGsUH8BIREZFXsXDzgtOnTyMnJwdfffUVIiIikJqaioULFyIiovk7KImIiIg8xcKNiIiIKEjwGjciIiKiIMHCjYiIiChIsHAjIiIiChIs3IiIiIiCBAs3IiIioiDBwo2IiIgoSLBwaydOnz6NjIwMJCYmIikpCTk5Oaivr/drTB988AHi4uIc/tg/uFin0%2BGBBx5AQkICxo4di927dzvtLzc3F2PGjEFCQgLS09Nx9OhRhzbV1dVYvHgxRowYgSFDhmDmzJkoLy93aNfa43XmzBksXrwYEydORHx8PFJTU522C%2BScXMXmTo7Z2dlOx7awsDAociwoKEBWVhZSUlKQmJiItLQ0vPXWW5AkyaN%2Bgj3HYB9HADhy5Agee%2BwxjBw5EoMGDcLdd9%2BNFStWwGAweNxXoObpTo6hMJZN1dTUIDk5GXFxcTh%2B/Hir%2BgqGPJ0SFPKqqqrE6NGjxcMPPyx0Op3Ys2ePGD58uFiwYIFf43r//feFVqsVhYWF4tixY/KfX3/9VW5TXFws4uPjxfPPPy%2B%2B/PJLsXnzZnHLLbeI9957z6avHTt2iIEDB4odO3aIL774QsyfP18kJCSIH374wabdU089Je644w7x4Ycfin/9619i0qRJYuzYsaKurk5u05bjdejQIZGcnCzmzJkjUlNTxYQJExzaBHJO7sTmTo7PPfecuPvuu23G9dixY0Kv1wdFjg899JCYN2%2Be2L9/v/jyyy/F%2BvXrRXx8vFi5cmXIjKM7OQb7OAohxIcffihWr14tPv74Y1FUVCR27twphg8fLp544omQGUt3cgyFsWzq73//u7j99tuFVqsV3377bciMpTtYuLUDr776qhg8eLC4dOmSvGzfvn1Cq9WKkpISv8VlLdyaxmUvIyNDTJ482WbZokWLxB133CEsFosQQgij0Sj%2B8z//U6xatUpu09DQIO69917x5z//WV729ddfC61WKw4fPiwvKy8vF/Hx8eKtt96Sl7XleFljEqLxP0pnRU0g5%2BRObO7k2NzypgI5R2efyeXLl4uEhARhNBrd7ifYcwz2cWzOu%2B%2B%2BK7RarTh37pzbfQVbnvY5htJYlpSUiMTERPH22287FG6hOJb2eKq0HSgsLERSUhJiYmLkZePGjYNarYZOp/NjZC0zmUwoKirChAkTbJanpaXhwoULOHnyJACguLgYBoPB5pSdSqXCfffdB51OB3H15SA6nQ4ajQbJyclyu549e2Lo0KE2x6Etx0upbPmfVCDn5G5srnJ0VyDn2LQPqwEDBsBoNKKysjIkxtFVju4K5Byb06VLFwBAQ0NDSIylqxzdFSw5/u1vf8OUKVPQt29fm%2BWhOpb2WLi1A6WlpYiNjbVZplar0adPH5SWlvopqt%2BlpqZiwIABuPvuu/Hqq6/CYrEAAMrKymA2m9GvXz%2Bb9v379wcAOXbrV/t2sbGxqKmpwfnz5%2BV2ffv2hUKhcOiv6XHw5fEK5Jzcjc2TXG%2B77TYMGjQIDz74ID755BOb9cGW41dffYUuXbrguuuuC9lxbJqjVaiMo8VigdFoxHfffYfNmzfjrrvuQq9evUJqLJvL0SoUxvLgwYP44YcfMGvWLNgLpbFsSZjbLSlo6fV6aDQah%2BUajQZVVVV%2BiKhRt27dMGfOHAwePBgKhQKfffYZ1q9fj/Pnz2Px4sVybPaxW7%2B3rtfr9VCr1YiIiLBp17lzZwBAZWUlevToAb1ej%2BjoaIc47I%2BDL49XIOfkbmzuGDBgABISEtC/f38YDAa8/fbbmDVrFjZs2IDx48cHXY7Hjx/HBx98gFmzZkGlUoXkONrnCITWON51113yD%2BTRo0dj7dq1HvUVDHk2lyMQGmNZV1eHlStX4plnnkFUVJRDv6E0li1h4daOCSEcfpO4lkaPHo3Ro0fL348aNQrh4eHIy8vDzJkz5eXNxdh0ubM21uluV%2B1aWm7fn7eOVyDn1Jb%2BrKZNm2bz/ZgxYzBlyhRs3LhR/iHRXJ%2BBluOFCxcwd%2B5cJCQkYMaMGR73E8w5htI4bt%2B%2BHbW1tSgpKcGWLVswc%2BZMvPHGGx71Feh5NpejSqUKibHcunUrrrvuOjz44IMt9h8KY9kSniptBzQaDfR6vcNyg8Hg9LcEf7r33nthsVjw/fffy7/92P8mYs3FGrtGo4HRaITRaHTaztpPc8fB/rclXx6vQM7J3dhaQ6lU4p577kFpaal8i3ww5GgwGDBjxgxERERg69at6NChg0f9BHOOzgTrOALALbfcgqFDh%2BJPf/oTXnnlFRw9ehSHDh0KqbFsLkdngm0sy8vL8frrr2Pu3Lmorq6GXq9HbW0tAKC2thY1NTUhNZYtYeHWDsTGxjqcPzeZTCgrK3M4Lx9I%2BvTpgw4dOuDUqVM2y0tKSgBAjt361T7H0tJSREZGonv37nK706dPy79VNe2v6XHw5fEK5Jzcja217GMM9ByNRiMyMzNx8eJF7NixA127dpXXhco4tpRjc4JtHJ0ZMGAAVCoVysrKQmYsW8qxOcE0lr/88gvMZjOeeuopDBs2DMOGDZPPzEydOhVPPPFEyI6lPRZu7UBycjKKiopw5coVedmhQ4dgMpmQkpLix8gcHThwACqVCvHx8VCr1Rg5ciQKCgps2uzfvx/dunVDfHw8AGDo0KGIjo7GgQMH5DYWiwUFBQVISUmRp6BTUlKg1%2Btx5MgRuV1FRQWKi4ttjoMvj1cg5%2BRubK0hSRI%2B%2Bugj3HzzzfJ1JYGcY0NDA%2BbNm4cffvgBO3bssLnA25N%2BgjlHZ4JtHJtz7NgxWCwW9O7dOyTG0lWOzgTbWA4YMABvvvmmzZ/nn38eALBkyRL85S9/CdmxtKf661//%2Ble3W1NQuvnmm/H%2B%2B%2B/jyJEj6N69O44dO4bly5dj7NixmDJlit/iysjIwG%2B//Ybq6mqcOXMGr7/%2BOnbv3o3HH39cvubixhtvxLZt21BRUYHIyEh8%2BOGHeOONN/D8889j0KBBABpv41apVNi2bRsiIiJgNBqxYcMGHDt2DH//%2B99x/fXXAwB69OiBEydO4N1330X37t1RUVGBxYsXIyIiAkuXLkVYWOMln205XnV1dfj0009RUlKC//mf/8HFixfRo0cPlJSUICYmBh07dgzonNyJzVWOly9fxqxZs2A2m2EwGPDdd98hJycHx44dw5IlS%2BTfLAM5x7/%2B9a/Yv38/5s2bhxtuuAHnzp2T/0RFRUGtVgf9OLrK8cKFC0E/jgAwe/ZslJWVwWAw4Ny5c/jkk0%2BwfPly3HjjjcjOzoZKpQr6sXSV47lz54J%2BLMPDw9G7d2%2BbP0ajEXv27MHs2bPldsE%2Blm5x%2B4lvFNROnTolnnzySTF48GAxYsQIsWzZMpsnP/vDsmXLxD333CNuvfVWMWjQIJGamiry8vKEJEk27Q4fPizuv/9%2BMXDgQHH33XeLXbt2OfQlSZJ47bXXxJ133ikGDRokHnzwQfHll186tDMYDGLRokVi2LBhIjExUTz99NPil19%2BcWjX2uN19uxZodVqnf4pKioKipxcxeYqxytXroiZM2eK0aNHi4EDB4rExETx2GOPicLCwqDJ8a677gr5cXSVYyiMoxCND0edOHGiGDJkiEhMTBQTJkwQ69evFwaDweO%2BAjVPVzmGyljaKyoqcngAr7t9BVOe9hRC2J28JSIiIqKAxGvciIiIiIIECzciIiKiIMHCjYiIiChIsHAjIiIiChIs3IiIiIiCBAs3IiIioiDBwo2IiIgoSLBwIyIiIgoSLNyIKKh88MEHiIuLk//Ex8dj1KhRmD9/Pn7%2B%2BWe/x/XLL7%2B02G7Tpk2Ii4u7RlG5ptPpsGnTJqfr4uLisHTp0mscERG1JMzfARARtcaKFSvQr18/GI1GFBcXY9u2bTh69CgKCgrQuXNnf4cXNHQ6HXbv3o05c%2Bb4OxQicgMLNyIKSjfffDMSEhIAACNGjIDFYsGmTZvwySefID093c/RERH5Bk%2BVElFIsBZxly5dclh34MABPPzww0hMTMSQIUOQkZGBkydP2rQ5fvw45s%2BfjzFjxuDWW2/FmDFj8Mwzz6C8vNyhv6%2B//hpTpkxBQkICRo0ahTVr1qChoaFN8bsTY3Z2NoYMGYIzZ85gxowZGDJkCFJSUrBy5UqYTCabtufOncPcuXMxZMgQ3HbbbViwYAG%2B/fZbxMXF4YMPPpD72717NwDYnH62P927d%2B9e3HvvvRg8eDDuv/9%2B/Otf/2pTrkTUepxxI6KQYC02/vCHP9gs37ZtG9avX48HH3wQmZmZMJvNyM3NxaOPPor8/Hz0798fAFBeXo6%2BfftiwoQJ6Ny5My5cuIC3334bkydPxj//%2BU/ExMQAAEpKSvBf//Vf6NWrF1auXImIiAi89dZb2L9/f6tjdzdGADCbzcjMzMTkyZPx5JNP4t///je2bNmCqKgozJ49GwBQW1uLqVOnoqqqCgsXLsRNN92EI0eOYP78%2BTb7zcrKQm1tLT766CO8%2B%2B678vIbbrhB/vvhw4dx/PhxzJ07F506dcKOHTswe/ZsHDx4EDfeeGOrcyaiVhJEREHk/fffF1qtVnz99dfCbDaL6upqUVhYKO644w7x6KOPCrPZLLf99ddfRXx8vFi2bJlNH9XV1eKOO%2B4Q8%2BbNa3Y/DQ0NoqamRiQmJoq8vDx5%2BZ///Gdx6623igsXLti0HT9%2BvNBqteLs2bMtxr9x40ah1WpbFeNzzz0ntFqtOHDggE3bGTNmiHHjxsnf79q1S2i1WqHT6WzavfTSS0Kr1Yr3339fXrZkyRKbeJrSarXi9ttvFwaDQV524cIFccstt4hXX321xTyJyDc440ZEQelPf/qTzfexsbHYsmULwsJ%2B/2/t888/R0NDAyZOnGhzKjM8PBzDhg3D0aNH5WU1NTXYsmULPv74Y5SXl8NiscjrSktL5b8fPXoUSUlJuP766%2BVlKpUK9913H1555RWP8/AkRgBQKBQYM2aMzbK4uDgUFRXJ3//73/9GZGQkkpOTbdqlpqbazKy5Y8SIEYiKipK/v/7663Hdddc5PYVMRL7Hwo2IgtKqVasQGxuLmpoaHDhwAO%2B%2B%2By6eeeYZ7NixQ25z8eJFAMDkyZOd9qFU/n6Z74IFC1BUVISsrCwkJCQgMjISCoUCTz31FIxGo9yusrLSpmizcrbMHZ7ECAAdO3ZEeHi4zTK1Wu1WjNddd53H8XXp0sVhmf3%2BiOjaYeFGREEpNjZWviFh5MiRkCQJ%2Bfn5OHjwIMaPHw8A6Nq1KwBg48aN6NmzZ7N9GQwGHD58GLNnz8ZTTz0lLzeZTKiqqrJp26VLF7nYasrZMne4G6MnunTpgm%2B//dZheWtjJKLAwcKNiELCf//3f%2BPjjz/Gxo0bcc8990CpVGLUqFEICwtDWVkZxo0b1%2By2CoUCQgio1Wqb5fn5%2BTanTIHGU4efffYZLl68KM9qWSwWHDhwoFVxuxujJ4YNG4aCggLodDqkpKTIy//5z386tLXmXF9fj4iICK/sn4h8h4UbEYWEzp0746mnnsLLL7%2BMDz/8EBMnTkTv3r0xd%2B5crF%2B/HmfPnkVycjI0Gg0uXryI48ePo2PHjpg7dy6ioqIwbNgw5ObmomvXrujVqxf%2B93//F//4xz%2Bg0Whs9pOZmYnPPvsM06ZNw6xZsxAREYHdu3ejrq6uVXG7G6MnJk2ahLy8PDz77LOYN28ebrrpJhQWFuLzzz8HYHv6VavVAgBee%2B01JCcnQ6lUIi4uzqGIJaLAwOe4EVHIePzxx9GzZ09s2bJFnil7%2BumnsWHDBvz888947rnnkJGRgdWrV6O8vBzDhg2Tt12zZg1GjBiBl19%2BGbNnz8aJEyfwxhtvIDo62mYfWq0Wb7zxBqKiovDcc89h8eLFiIuLQ1ZWVqvjdjdGd3Xq1Al5eXkYPnw4Xn75ZcyZMwcVFRX4y1/%2BAgA2OaWmpuKhhx7CW2%2B9hYcffhiTJ0/Gb7/91upciMi3FEII4e8giIjI96zPizt8%2BDB69Ojh73CIqBV4qpSIKATt2rULANCvXz%2BYzWYUFRVh586duP/%2B%2B1m0EQUxFm5ERCEoIiICeXl5%2BOWXX2A2m/Ef//EfmDFjBjIzM/0dGhG1AU%2BVEhEREQUJ3pxAREREFCRYuBEREREFCRZuREREREGChRsRERFRkGDhRkRERBQkWLgRERERBQkWbkRERERBgoUbERERUZD4f0cOKo3IX/tiAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -316,7 +317,40 @@
 <br>
 
 <h3 id="Weighted_Histogram_of_read_lengths_after_log_transformation">Weighted Histogram of read lengths after log transformation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAHKCAYAAACJ2ho6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzde1yTdf8/8Nc2mCAwlERIjUp0KIEiKoefCorHVLJEbxH9aqgZYmomFnm6Tck8lIiKEEXm8Tap1DRMrTtRy1Ph3Z12a0qkqIQohyECg%2B36/WG7cgznBkMgX0/zYftcn3323nvXdfHmcx0mEQRBABERERHRfUgbOgAiIiIiatxYMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMDYRX331FTw8PJCenm6w7LnnnoOHhweOHj1qsGzAgAF44YUXzH69mJgYDBw4sFaxxsfHw8PDAyqV6oF9N2zYgG%2B%2B%2BaZWr2PM5cuX4eHhgT179hjt9/3338PDwwNff/11jcsXLVoET09PvbaxY8fixRdfNCueX3/9FevWrcP169fNet6j7LvvvsPIkSPh4%2BMDDw8PfPvttw0dklFBQUGYP3%2B%2B0T5VVVXw8PDAhg0bHlJUxpWWlmLdunU4ffq0wTJztuP6JggC3nvvPQQHB8PT0xP%2B/v4AgK1bt2L37t0PNZbabP%2BW8Mcff2DdunU4f/78Q3/t2jh79iwiIiLg6%2BsLDw8PbN26taFDMtv91i9Tf7783Vg1dABkGj8/P0gkEpw4cQJDhw4V24uKivDrr7%2BiefPmOHnyJPr06SMu%2B%2BOPP5CTk4PIyEizX2/mzJkoLS21SOzGJCUl4bnnnkP//v3r/bUsZenSpZBIJGY95%2BLFi1i/fj0CAwPRpk2beors70Oj0WDWrFno2LEjkpKSYGtri/bt2zd0WH87d%2B7cwfr16yGTydCzZ8%2BGDue%2BDh48iJSUFEyfPh29evVCs2bNANz9ge7q6ornn3%2B%2BgSOsf3/88QfWr18PNzc3dOrUqaHDeaA333wTlZWVWLNmDRQKBdq1a9fQIZntfuvX448/jk8%2B%2BQRubm4NFFnDYMHYRDg5OaFjx444deqUXvvp06dhZWWFsLAwnDx5Um/ZiRMnAED8bdwcj9qGYI4OHTo0dAhm02g00Gg0kMvlDR2KSf744w%2BUlJRg0KBBCAwMNPv5arUaUqkUVlbcxf0dXLx4EQAwYcIEtGjRol5fSxAEqNVqsShtqsrKymBra9sgr63VanHp0iWMGzcOQUFBFhmzMW3TcrkcPj4%2BDR3GQ8dD0k2Iv78/srOzcePGDbHt5MmT8PLyQnBwMM6dO4fbt2%2BLy06dOgWZTIYePXqIbYIgYOvWrXjuuefg7e2Nnj17YubMmcjJydF7rZoOSRcVFeHNN99Ez5490a1bN0RFReH333%2B/7yG2/Px8vPrqq/D19UWvXr0wf/58MT7doTm1Wo1PP/0UHh4e8PDw0DvUk5eXhwULFqBPnz7w8vLCgAEDsGHDBmg0Gr3XycvLw8yZM9GtWzf06NEDc%2BbMwa1bt8xPsIlqOiS1bds2hIaGolu3bujWrRuGDBmCNWvWAADS0tLw2muvAQDGjRsnvtd7D2fs3LkToaGh8Pb2hp%2BfH1555RX89ttvBq%2B9Y8cODBo0CN7e3hg%2BfDjS09MNPivd4ZKPPvoI69evR0hICLy9vfHDDz%2BgvLwc77zzDp577jl0794dfn5%2BCA8Px7///W%2B919F9Pm%2B//TbS0tIwePBgdOnSBWFhYfjvf/8LQRCQkpKCkJAQdOvWDS%2B%2B%2BKLBOnQ/p0%2BfxoQJE9CtWzd07doV4eHhyMjIEJfHx8cjJCQEALB8%2BXJ4eHgYPT1Cd1rB3r17sWzZMvTu3RtdunTBtWvXAJi%2BHiUkJGDUqFHw8/ODr68vRo4cic8//xyCIOj1U6vVWLFiBXr16oWuXbsiIiICP//8s0nv/X5MiVH3uX788cf48MMPxdyHh4fjv//9r8GYD1pXLl%2B%2BjN69e4vvXbdeVj%2Bsbmw71klPT8eoUaPQvXt3%2BPj4YMCAAViwYMED3/eWLVsQERGBgIAA%2BPj4IDQ0FKmpqaiqqhL7BAUFYd26dQDu7gN1%2B5ugoCBkZ2fj%2BPHjYuz3riclJSVYvnw5QkJC4OXlhaCgILzzzjsoKysT%2B9y7nm/btg1DhgyBl5cXvvjiiwfGfq/CwkIsWrQIvXv3hpeXF/r37481a9ZArVbr9TN3H6rz/fffY8yYMQCA119/XXy/uufExMSgR48eOH/%2BPCIjI9GtWzdMmjQJAHD06FFERUUhKCgIXbp0waBBg7B48WIUFhbqvYbuFISsrKw6fd5paWno3LkztFottmzZAg8PD73Tei5cuICoqCj06NED3t7eeP755w0O%2BxrbptPS0uDh4YGTJ09i3rx58PPzQ/fu3REbG4uysjLx50H37t3Ru3dvrFq1Sm99Akzb1o2tX/c7JP2gfZsuPx4eHjh9%2BjQWLVoEf39/%2BPv7Y%2BbMmcjPz7/vOtAYNHypTiYLCAjAli1bcOrUKQwfPhzA3YKxX79%2B8PX1hUQiwY8//ojg4GBxmaenJxwcHMQx5s2bh71792LChAmYO3cuioqKkJiYiLFjx%2BKLL76Ak5NTja%2Bt0Wjw8ssv4/z585gxYwY6d%2B6MzMxMTJ069b7xvvLKKxg2bBj%2B8Y9/4Pz584iPj4dUKsXSpUthZWWFTz75BOPHj0efPn3w8ssvA4AYa15eHkaPHg1ra2vMmDEDTzzxBH788Uds2LAB169fR1xcHIC7v0VPmDABBQUFiImJgZubGw4fPow5c%2BaYlVutVmuwUzHVnj17sGTJEkyYMAF9%2B/aFRCLB5cuXkZ2dDQDo378/8vPzkZCQgCVLlsDDwwPAX7O4iYmJWLt2LUJDQxETE4PCwkKsW7cOY8aMwWeffSb227ZtG5YsWYIhQ4Zg/vz5KC4uRkJCAtRqdY2/dX/88cdo3749YmNjYWdnh6eeegrl5eVQqVSYMmUKWrduDbVaje%2B//x7Tp0/HypUrERoaqjfGN998g3PnziEmJgYAsGrVKkydOhWhoaHIzc3FokWLUFxcjBUrVmDWrFn4/PPPjebq%2BPHjmDJlCjw9PbFs2TJYW1tj69atePnll7FmzRoMGTIEY8eORefOnTFr1ixMnDgRQ4cONWm2Z9WqVfD19cXSpUsBAC1atDB5PQKA69evY%2BzYsXj88cchCAL%2B85//YPHixbhx4waioqLEfvPmzcOXX36JyZMnIzAwEBcuXMD06dMNfqiaypwYAWDz5s3o0KED5s2bBwBYs2YNXnrpJXzzzTewt7cHYNq68vjjjyMlJQVTp07FmDFjMHLkSADAY489pvd6xrZjAPjhhx/w2muvYfjw4ZgxYwaaNWuGa9eu1XheZHVXrlxBaGgo2rVrBysrK5w/fx7Jycn4/fffxfGTk5OxZcsWfP7559i4cSOaN2%2BOxx9/HH379sUrr7wCJycnsVjRrSelpaWIiIjAzZs3ERUVBaVSiQsXLmDdunW4ePEiUlNT9U4rOXDgAB577DHMmDEDjz32GFq1amXy56fbB129ehUzZ86EUqnEqVOnkJKSggsXLiApKQlA7fahOl26dEFcXBwWLFiAGTNmiIX%2B448/LvapqKhAdHQ0wsPDMXXqVGi1WjHHvr6%2B%2BMc//gEHBwdcvXoVH330EcaPH489e/YY7Dvq%2Bnn3798f7du3R0REBIYOHYqJEyeKub506RLCw8Ph7OyMhQsXwtHREbt378Ybb7yBwsJCg9OnatqmdebPn49BgwYhPj4e586dw5o1a6DRaHDx4kU8%2B%2ByzCA8Px9GjR/Hhhx/CxcUFEyZMEJ9ryraenJx83/WrJqbs2%2B41b9489OvXD%2B%2B99x6uX7%2BOVatW4Y033sBHH31kdF1oUAI1GUVFRUKnTp2EhQsXCoIgCAUFBYKHh4dw5MgRQRAEYdSoUcLy5csFQRCE69evC0qlUli5cqX4/NOnTwtKpVLYtGmT3rhXr14VvLy8hNWrV4ttc%2BbMEQYMGCA%2B/vrrrwWlUins3LlT77mJiYmCUqkUEhMTxbbVq1cLSqVS2Lhxo17fhQsXCj4%2BPnptXl5ewrx58wze67x58wRfX18hNzdXr/39998XPDw8hN9%2B%2B00QBEHYsmWLoFQqhcOHD%2Bv1i42NFZRKpbB7926Dse/13XffCUql0ujfzp076z0nPDxcmDhxovh40aJFgr%2B/v9HX2bdvn6BUKoXTp0/rtRcUFAheXl5CVFSUXntOTo7wzDPPCK%2B//rogCIJQWVkpBAQECOHh4Xr9rly5Inh6eup9Vr///rugVCqFQYMGCZWVlUbjqqqqEiorK4U33nhDCAsLE9srKysFpVIp9O7dW7hz547Y/tVXXwlKpVJ44YUXBK1WK7anpqYKSqVSuHTpktHXGzlypNCrVy%2B9MauqqoRnn31W6Nevn8F7qL4O1UT3GU6YMMFgmanrUXUajUaorKwUEhIShMDAQLH9woULglKpFFasWKHXf9euXYJSqaxxXb6XLq/3bi%2BmxqjLyYgRIwSNRiP2y8zMFJRKpbB//37xNUxdV27cuGEQj46p2/H7778vKJVKobS01Oh7fxBdzj/99FPB09NTKCkpMYiluLhY7zmDBw/W2xZ1EhMThc6dOwvnzp3Ta//yyy8FpVIpHDt2TBCEvz6Pnj17CiqVyqQ4q2//W7duFZRKpXDw4EG9fklJSYJSqRSOHz8uCIJ5%2B9CanDlz5r77tDlz5ghKpVLYtWuX0TG0Wq1QWVkpXLlyxWC/acnPW5fXuLg4vfYZM2YI3t7ewh9//KHXPmnSJMHHx0f8zI1t0zt37hSUSqWwbNkyvfaXX35ZUCqVwubNm/Xahw8fLowaNeq%2Bsd5vWxeE%2B69fum3x3s/C1H2bLv6lS5fqjZmcnCwolUrh1q1b9421ofGQdBPi6OiITp06iecqnj59GjKZDL6%2BvgCAnj17ist0/957/uLhw4chlUoRGhqKqqoq8a%2BLiwuUSqXBOZD30v32%2BOyzz%2Bq162Y6a6I7rKjj4eGBO3fuGBwKqcnhw4cRGBiIVq1a6cUaFBQEQRDEeE6ePAmFQiHOqupUnyl7kDfeeAOffvqpwd9BgwY98LldunRBYWEh5syZg2%2B%2B%2Bcak96dz5swZqNVqcXZHp127dvDz88Px48cBAFlZWSgoKDDI/xNPPIGuXbvWOHb//v1rnHlMT09HeHg4fHx84OnpiWeeeQa7du1CVlaWQd/AwEC986Dc3d0BAMHBwXozNLp23WHgmty%2BfRvnzp3DkCFD9MaUyWR47rnncO3aNVy%2BfPm%2Bz3%2BQmj4rU9cj4O5hsIkTJ6J79%2B7o3LkznnnmGSQmJuLWrVviZ6rbRp577jm91xk6dCik0trtTs2JEQD69u2r91q6GWvdFfi1WVeMedB23KVLFwB3L5RLT09HXl6eyWOfPXsWUVFR8Pf3F3M%2Bb948VFVV4ffffzc7Vp3Dhw%2BjU6dOUCqVejnVXRRY/VzwwMBAvSMx5jhx4gTs7e0NTpvQ3Z1Ctw3XZh9qrpq2gZs3b2LhwoUICgoSt/cBAwYAQI3bfH1%2B3idPnkSvXr3g4uKi1/7888/jzp07BqdWGNv/9u3bV%2B%2Bx7qK4mtqr353ClG3dHLXZt1W/0LP6dtwY8ZB0E%2BPv74%2BNGzciLy8PJ0%2BexDPPPAM7OzsAd6%2Bk3rhxI0pKSnDy5ElYWVmhe/fu4nNv3boFrVaLgICAGsd%2B6qmn7vu6RUVFaNasmXjIS6f64at7VT85XXfBRUVFhdH3qIv10KFDeOaZZ2pcrtuoi4qKajx8ZM4hJeDu4WFvb2%2BD9pYtWz7wuSNHjoRWq8Wnn36KGTNmQBAEeHt7Y/bs2Q%2B8YKOoqAgA4OzsbLCsdevW%2BOGHH/T63e%2B91nTuS%2BvWrQ3a0tPTMXv2bAwdOhRTpkxBq1atIJPJsHXrVuzdu9egv6Ojo95ja2tro%2B3Vz9m6V1FREQRBqDEuXVtRURGefPLJ%2B45hTE3jmroenTlzBlOmTEFAQADi4uLg6uoKKysr8epc3Tp7v89BLpdDoVDUKm5TY9S533ZVXl5uNEZdm7nnST1oOw4ICMD69euxZcsWvP7666isrIRSqcS0adP07uhQXU5ODsaPHw93d3fMmzcP7dq1g1wux5kzZ/D222%2BL76c2bt68iWvXrpmc05q2P1MVFRXV%2BHxnZ2dIJBLx86jNPtQc9vb2aN68uV6bRqNBZGQkCgoKMG3aNHTs2BG2traorKxEREREjTmur88bAIqLi%2B%2B7rwP%2BWnert9ekepzG9k33/swxdVs3R232bQ/ajhsjFoxNjK5gPHXqFE6dOqV3BZquODx9%2BjROnjwJb29vsZgE7q6gUqkU27dvr3Hmydj5GS1atEBFRQVKSkr0fhO/efOmJd5Wja/XpUsXzJgxo8blut9QW7RoUeN9yeorrppIJBKMHj0ao0ePRmlpKU6fPo21a9fi5ZdfxsGDB%2BHq6nrf5%2Bp2GjX9EL9x44ZYsOr61fS%2BzCkAvvjiCzz11FNYvXq13gyhsULPUlq0aAGJRKJ30ZaOrs2UAv1%2BarrVkanr0Zdffgm5XI7k5GS9K8kPHDhgMB5w93O4tyBTq9W1vl%2BhqTGaM54uxurq66T6gQMHYuDAgVCr1cjMzERKSgpee%2B01tGvXTpyRqu7rr79GWVkZEhMT9baRs2fP1jmeli1bQqFQiOe%2BVVf9XG1zb5N1rxYtWuB///ufQXt%2Bfj4EQdDbhutzH1rTezh//jx%2B/fVXrFq1Sm9WvKaZRXPU5vMG7hZz99vXAYbbf10%2Bl/sxdVs3R33v2xoLHpJuYnr27AmZTIYDBw7g4sWL8PPzE5c5ODigc%2BfO2L17N65du2ZwO51%2B/fpBq9UiPz8f3t7eBn%2BVSqXR1wWA/fv367V/%2BeWXdXo/crm8xt%2Bo%2BvXrhwsXLuCpp56qMVbdb23%2B/v5QqVQGV6LVNFv2MNjZ2aFv3754%2BeWXUVFRgUuXLgG4/%2Byqr68v5HK5wVWZ169fx6lTp8QZSnd3dzg5ORnkPycnp8YrZO9HIpHA2tpab0ecl5eHw4cPmzxGbdnb28PLywsHDx7Uy4NGo8HevXvRtm1bi9/OydT1CACsrKz0DvWWlZUZfC66bap6e3p6uniRQX3GaApz1hVzZv1NIZfLERAQgNdeew2CINRYSOno1sF7f2hrtVqkpaWZ9Xr3239cvnwZTk5ONea0bdu2Zrwr4wICAlBSUmJwpwHdFbS6bbiu%2B9DafFY15RgAPvnkE5PHeFBMpn7ewN1cHT9%2B3KBI3r17N5o3b17jUZ76YMq2Dtx//aquIfZtDYEzjE2Mvb09PD098fXXX0Mqleodcgbu7pQ2bdoEwPD%2Bi35%2BfggLC8Mbb7yBn376CT179oSNjQ3y8/Pxww8/wNPTU7x1Q3V9%2B/aFj48P3n77bahUKnh6eiIzM1PcyGp7/pbu3Mlvv/0WrVq1gr29PZ5%2B%2Bmm8%2BuqrOH78OMLDwzF%2B/Hg8/fTTqKiowNWrV3H48GEsW7YMzs7OGDlyJDZv3oy5c%2Bdi1qxZePLJJ/Htt9%2BK96B8GN58803Y2dnB19cXzs7OyM/PR3JyMhwdHcVDYh07dgRwd0fdrFkzNGvWDE888QRatGiBqKgorF27Fm%2B%2B%2BSaeffZZFBQUYP369bC1tUV0dDSAuzu4V155BUuWLMGrr76KF154AcXFxUhMTETr1q1Nzn%2B/fv2wcOFCLF26FAMGDEBubq44hqm3xamLOXPmYMqUKZg4cSIiIyMhk8mwfft2ZGVlISEhweKvZ%2Bp61LdvX2zZsgVz587F6NGjUVhYiA8//NDgPnZKpRLDhg3Dxo0bIZPJEBAQgF9//RUbN27Um82vjxhNZc664ujoCBcXFxw6dAh%2Bfn5QKBRwcnIyq6BavXo1bt68icDAQLi4uEClUmHTpk2wtrbWu6VXdb169YK1tTVee%2B01REZGoqKiAtu3bzfrCwOUSiUOHjyI9PR0tGvXDjY2NlAqlXjxxRdx6NAhjB8/HhMnToRSqYRGo0Fubi6OHTuGl156yWLFyciRI7Fjxw7MnTsXM2fORIcOHfDDDz%2BIt53S7Yfrug998skn0axZM%2BzZswdPPfUUbG1t4eLiYvQXig4dOqBt27ZYtWoVNBoNHBwc8O9//1s8r7I2avt5A8CMGTNw5MgR/N///R%2Bio6OhUCiwZ88eHDt2DLGxsQaH6%2BuDqds6cP/1qyYPe9/WEFgwNkH%2B/v74%2Beef0blzZ4MNrGfPnvj4449hbW2Nbt26GTz37bffRrdu3bBz505s27YNgiDAxcUFvr6%2BRnegMpkM77//PpYvX47k5GRUVVWhe/fuWLFiBcLDw2t9wviCBQuwdOlSvPrqqygvL0dgYCA%2B/vhjuLi44LPPPkNSUhI%2B%2BOAD3LhxA3Z2dmjXrh369Okjvl7z5s2xadMmLFu2DO%2B%2B%2By6kUil69%2B6Nd999FxEREbWKyVw9evTAnj17sH//fhQXF6Nly5bo2bMn3nvvPfEwxFNPPYXY2Fhs2bIFEyZMgEajwcqVKzFixAhMnz4drVq1Es8jtLW1hZ%2BfH1577TW930rHjRsHqVSKjz76CF9//TXatWuHadOmYf/%2B/Sbfd3L06NEoKCjAzp07sXPnTri5uWHatGnIycnBBx98UC/5uVdgYCA2btyI9evXIzY2FlqtFp07d8b7779vcOGSJZi6HvXu3RtxcXH48MMP8fLLL8PFxQVjxoyBQqHAokWL9MZcvnw5nJ2d8emnn2LTpk3w9PTE%2BvXr8corr9RrjOYwZ1155513sHLlSkRFRUGtVmPUqFF4%2B%2B23TX4tHx8fbN%2B%2BHStXrkRhYSEUCgW6dOmCzZs3ixdD1aRjx45ISEhAQkICZsyYgZYtWyI0NBQvvviieJutB5k1axYKCgowf/583LlzB25ubjh06BDs7e2xfft2pKSkYMeOHbh69SpsbGzQpk0b/L//9/8sOsNoa2uLzZs3Iz4%2BHh988AEKCwvh4uKCKVOmYPr06WK/uu5D7ezsEBcXhw0bNmDSpEmorKzErFmzxF8qayKXy/H%2B%2B%2B9j2bJlWLhwIaysrNCrVy989NFHBhe3mKq2nzdwt4D917/%2BhTVr1mDx4sVQq9Vwd3fHihUrHtq39Zizrd9v/arJw963NQSJIFS7Ky2RGXT30EpLSzN67grVj%2BLiYgwaNAjPPvssFi9e3NDhUCPGdaVx4j6UmgrOMJLJvvjiC9y8eRMdO3aERCLBf/7zH6SmpsLf3587uocgLy8PH3zwAfz8/NCiRQtcu3YNGzduRHl5Of7v//6vocOjRoTrSuPEfSg1ZSwYyWTNmzfHvn37cPnyZZSXl6N169YYNWoUZs2a1dChPRLkcjlycnKQnp6O4uJi2NrawsfHB3FxcQ88FESPFq4rjRP3odSU8ZA0ERERERnF2%2BoQERERkVEsGImIiIjIKBaMRERERGQUC0YiIiIiMopXSTdxgiBAq%2BV1S5YglUqYSwtgHi2HubQc5tIymEfLkEol9fJd2fWJBWMTJ5FIoFLdQVVV7b7Hlu6yspKiZUs75rKOmEfLYS4th7m0DObRcpyc7CCTNa2CkYekiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGWTV0AERERGQZWkFAkbrUImO1kNtBKpFYZCxq%2BlgwEhER/U0UqUvx7vkDkEnqdgBRI2gR02kwnJrZWygyaupYMBIREf2NyCRSWElldRtEa5lY6O%2BD5zASERERkVEsGImIiIjIKBaMRERERGRUg5/DePnyZaSmpuKnn37CxYsX0b59e%2Bzbt0%2Bvj4eHx32ff/ToUbRu3RoAEBISgmvXrhn0%2Be9//4tmzZqJj2/fvo2VK1fiwIEDUKvV8Pf3x8KFC9G2bVu952VnZyMuLg4//vgjbG1tMWzYMMTExMDGxkavX0ZGBuLj45GVlQVXV1e8%2BOKLGDdunEEcqamp2LZtG/Lz86FUKvH666/D39//wUkiIiIiakANXjBevHgRGRkZ6Nq1K7RaLQRBMOjzySefGLS98cYbsLW1FYtFncGDB2PSpEl6bXK5XO/xnDlzcO7cOSxcuBD29vZYu3YtIiMj8cUXX4jFoEqlwsSJE9GmTRusXbsWBQUFeOedd1BUVIR3331XHOvMmTOIjo7GiBEjEBsbi8zMTMTFxUEul2P06NFiv9TUVMTHx2P27Nnw9PREWloaXnrpJaSlpRktiImIiIgaWoMXjCEhIRgwYAAAIDY2FmfPnjXo4%2BPjo/f46tWr%2BP333zF37lyDvq1atTLof6%2BffvoJhw8fRkpKCoKDgwEASqUSAwcOxK5duzB27FgAwI4dO6BSqbB79244OTkBAGQyGWJiYjBt2jS4u7sDABITE%2BHp6Ylly5YBAAICApCbm4uEhASEhYVBKpVCrVYjKSkJEyZMwOTJkwEAfn5%2BCA0NRXJyMuLj483KGREREdHD1ODnMEql5oewb98%2BSCQSDB8%2B3OznZmRkQKFQICgoSGxr06YNfH19kZGRIbYdOXIEgYGBYrEI3J29lMvlYj%2B1Wo0TJ05g2LBheq8RGhqK/Px8/PLLLwCAzMxMlJSU6MUrk8kwdOhQZGRk1DirSkRERNRYNPgMY218%2BeWX6NmzJ1xdXQ2W7d27Fzt37oS1tTV69OiBmJgYvUO%2BWVlZePrppyGpdvf6Dh064NixY3r9wsLC9PrI5XK4ubkhKysLAHDlyhVUVlaiffv2BmPpxvDy8hL7V%2B/n7u6O0tJS5OXl1fheTCWTNXjd3%2BTpcshc1g3zaDnMpeU8SrmUaaSQ/PmnLiSQQGYlhZXVXzl7lPJY35riF%2Bg0uYLx/Pnz%2BPXXX7FkyRKDZSEhIejSpQvatGmDnJwcJCcnIyIiArt378YTTzwB4O65iQ4ODgbPVSgUKC4uFh%2BrVCooFAqj/XT/Vu%2Bne6xbrlKpIJfLDS6WcXR0BAAUFRXVqWu5XV0AACAASURBVGBUKGxr/VzSx1xaBvNoOcyl5TwKuawq094t9Gpx9O5eglaAo2NztLS1M1j2KOSRDDW5gnHv3r2wtrbG4MGDDZYtWLBA/P8ePXqgV69eePbZZ5GamorFixeLy6rPLj6o/V6CIBj0M2W8mvroDkWb8rrGqFRl0Gh4W/66kMmkUChsmcs6Yh4th7m0nEcpl8UVd6Cp0kIirdvPFY1Wi%2BLiO7Aq159hfFTyWN8cHW1rdUpeQ2pSBaMgCEhPT0efPn3QokWLB/Zv3bo1unfvjnPnzoltCoUCubm5Bn2rzygqFAqoVCqDfiUlJeIFL7oZwntnJnVj6cbQ/VtRUYGKigq92/vo%2BunGqS2NRouqKm68lsBcWgbzaDnMpeU8CrnUVGkh/PmnLgQI0FRpUSUzzNejkMf61hQvXWhS5e2PP/6I69evIzQ01OTnVL%2BgxN3dHdnZ2Qbtly5dEgtBXT/duYc6arUaV65cEfu5ubnB2toav/32m8FYujHu/bf6eFlZWbCzs4OLi4vJ74eIiIjoYWtSBePevXvRvHlz9OvXz6T%2BeXl5yMzMhLe3t9gWHBwMlUqFo0ePim25ubnIzMwUb7MDAEFBQThx4gQKCwvFtkOHDkGtVov95HI5AgICsH//fr3X3bdvH5ydneHp6QkA8PX1hYODA9LT08U%2BGo0G%2B/fvR3BwcJ0PSRMRERHVpwY/JF1WVibepubatWu4ffs2vvrqKwB371Wou61NVVUVDhw4gAEDBsDW1vCE23379uHw4cMICgpC69atkZOTg5SUFMhkMkRGRor9unbtir59%2B2L%2B/PmIjY2Fvb09EhIS0LZtW7zwwgtiv/DwcGzduhXR0dGIjo7GrVu3sHz5coSGhurNRE6fPh3jx4/HggULEBoaiszMTKSlpWHJkiXi%2BQlyuRzTpk1DfHw8nJycxBt35%2BTkYPXq1ZZPKhEREZEFNXjBeOvWLcyaNUuvTfd48%2BbN4lfnHTt2DIWFhfe992K7du2Ql5eHZcuWoaSkBA4ODggICMDMmTPFK6R13nvvPaxYsQJvvfUWKisr4e/vj3Xr1uldxaxQKLBp0ybExcVhxowZsLGxwfDhwxETE6M3Vrdu3bBhwwasXr0au3fvhqurKxYsWKD3LS8AMGnSJAiCgC1btuDmzZtQKpVISUnht7wQERFRoycReNfoJq%2BwsJQnINeRlZUULVvaMZd1xDxaDnNpOY9SLgsqbiP%2BwiFYSWV1GqdKq8Fsj4FwamYvtj1KeaxvTk52Te5%2Blk0rWiIiIiJ66FgwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkVIMXjJcvX8aiRYswYsQIeHp6Yvjw4QZ9YmNj4eHhYfD3yJEjBn1TU1MREhICb29vhIWF4eTJkwZ9bt%2B%2BjUWLFsHf3x/dunVDVFQUrl27ZtAvOzsbkydPho%2BPDwIDAxEXF4fy8nKDfhkZGXj%2B%2Befh7e2NgQMHYtu2bTW%2BV1NiIyIiImpsrBo6gIsXLyIjIwNdu3aFVquFIAg19nviiSfw7rvv6rW5u7vrPU5NTUV8fDxmz54NT09PpKWl4aWXXkJaWho8PDzEfnPmzMG5c%2BewcOFC2NvbY%2B3atYiMjMQXX3wBGxsbAIBKpcLEiRPRpk0brF27FgUFBXjnnXdQVFSkF8eZM2cQHR2NESNGIDY2FpmZmYiLi4NcLsfo0aPNjo2IiIiosWnwgjEkJAQDBgwAcHcm8ezZszX2s7GxgY%2BPz33HUavVSEpKwoQJEzB58mQAgJ%2BfH0JDQ5GcnIz4%2BHgAwE8//YTDhw8jJSUFwcHBAAClUomBAwdi165dGDt2LABgx44dUKlU2L17N5ycnAAAMpkMMTExmDZtmlisJiYmwtPTE8uWLQMABAQEIDc3FwkJCQgLC4NUKjU5NiIiIqLGqMEPSUullgkhMzMTJSUleoe0ZTIZhg4dioyMDHHmMiMjAwqFAkFBQWK/Nm3awNfXFxkZGWLbkSNHEBgYKBaLADB48GDI5XKxn1qtxokTJzBs2DC9WEJDQ5Gfn49ffvnFrNiIiIiIGqMGn2E01ZUrV9CjRw%2BUl5dDqVQiOjpanJkEgKysLABA%2B/bt9Z7n7u6O0tJS5OXlwdXVFVlZWXj66achkUj0%2BnXo0AHHjh3TGy8sLEyvj1wuh5ubm/haV65cQWVlpcFrdujQQRzDy8vL5NhqSyZr8Lq/ydPlkLmsG%2BbRcphLy3mUcinTSCH5809dSCCBzEoKK6u/cvYo5bG%2BSer28TSIJlEwdu7cGd7e3ujQoQNKSkrwr3/9C9OnT0dCQgKGDBkC4O45h3K5XDwHUcfR0REAUFRUBFdXV6hUKjg4OBi8hkKhQHFxsfhYpVJBoVAY7af7t3o/3WPdclNjqy2FwrbWzyV9zKVlMI%2BWw1xazqOQy6oy7d1Cr45H7wStAEfH5mhpa2ew7FHIIxlqEgXjxIkT9R6HhIQgPDwca9euFQtGAAazhgDEw733Lqupn7H26uNV72fKeKbGVhsqVRk0Gm2dxnjUyWRSKBS2zGUdMY%2BWw1xazqOUy%2BKKO9BUaSGR1u3nikarRXHxHViV688wPip5rG%2BOjrYWOyXvYWkSBWN1UqkUgwYNwqpVq1BeXg4bGxsoFApUVFSgoqICzZo1E/uqVCoAf83mKRQK5ObmGoxZfUZRoVCIz71XSUmJeMGLbsx7ZybvfU3deKbGVlsajRZVVdx4LYG5tAzm0XKYS8t5FHKpqdJC%2BPNPXQgQoKnSokpmmK9HIY/1rSleutC0ytt7VL9QRFfE6c4X1MnKyoKdnR1cXFzEftnZ2QbPv3Tpkt5tetzd3Q3GUqvVuHLlitjPzc0N1tbW%2BO233wzGujcmU2MjIiIiaoyaZMGo1Wpx4MABdOzYUTwv0NfXFw4ODkhPTxf7aTQa7N%2B/H8HBweJh3%2BDgYKhUKhw9elTsl5ubi8zMTPE2OwAQFBSEEydOoLCwUGw7dOgQ1Gq12E8ulyMgIAD79%2B/Xi2/fvn1wdnaGp6enWbERERERNUayxYsXL27IAMrKyvDNN9/g0qVL%2BO6773Dz5k24urri0qVLcHJyQkFBAaZPn47KykqUlJTg3LlziIuLw5kzZ/DWW2%2BJs3cymQwymQzJycmwsbFBRUUFEhIScObMGaxcuRKtWrUCALi6uuLs2bP45JNP4OLigtzcXCxatAg2NjZYsmQJrKzuHqXv2LEjPvvsMxw9ehQuLi44c%2BYMli1bhoEDByI8PFyM/4knnkBycjJyc3NhZ2eHvXv3YuPGjXjzzTfh5eVlVmy1VV5eCa22Cc5vNyJSqQS2tnLmso6YR8thLi3nUcplmUaNE7d%2Bg1RSt/kgrSAgsJU7bK3kYtujlMf6Zmsrh7SO55k%2BbBKhgW8CePXqVfTv37/GZZs3b4aHhwfefPNNnDt3DgUFBbC2toaXlxemTp2KPn366PUXBAGpqanYtm0bbt68CaVSiblz5yIgIECv3%2B3bt7FixQocOHAAlZWV8Pf3x8KFC9G2bVu9ftnZ2YiLi8OPP/4IGxsbDB8%2BHDExMQZXO2dkZGD16tXIysqCq6srIiMjMW7cuFrFVhuFhaU8n6SOrKykaNnSjrmsI%2BbRcphLy3mUcllQcRvxFw7BSiqr0zhVWg1mewyEUzN7se1RymN9c3Kya3K3J2rwgpHqjhtv3XFHaBnMo%2BUwl5bzKOWSBWPT0BQLxqYVLRERERE9dCwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRUSwYiYiIiMgoFoxEREREZJRVQwdAREREjYsgCChS39Frk2mkqCrTorjiDjRVWpPHaiG3g1QisXSI9JCxYCQiIiI9GkFAStYRWEtlYpsEEsispNBUaSFAMHEcLWI6DYZTM/v6CpUeEhaMREREZEAKKayqFYxWUikkUonJBSNMn4ikRo7nMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRURYpGHNzc3HkyBEUFhZaYjgiIiIiakTM/mrA%2BPh4lJWVYd68eQCA77//HlFRUaisrIRCocDWrVvRsWNHiwdKRERERA3D7BnGgwcPokOHDuLjNWvWwMPDA%2BvXr0ebNm2QlJRk0QCJiIiIqGGZPcOYl5cHNzc3AEBhYSF%2B/vlnpKSkoE%2BfPqioqMCKFSssHiQRERERNRyzZxgFQYAgCACAzMxMyGQy9OzZEwDQunVrnsdIRERE9DdjdsHo5uaGb7/9FgCQnp4Ob29v2NjYAABu3LgBhUJh1niXL1/GokWLMGLECHh6emL48OF6yzUaDT744AOMHz8eAQEB6NmzJ8aNG4fjx48bjBUSEgIPDw%2BDvxUVFXr9bt%2B%2BjUWLFsHf3x/dunVDVFQUrl27ZjBednY2Jk%2BeDB8fHwQGBiIuLg7l5eUG/TIyMvD888/D29sbAwcOxLZt22p8r6mpqQgJCYG3tzfCwsJw8uRJc1JFRERE1CDMPiQ9ZswYLFmyBHv27IFKpcKyZcvEZZmZmXrnN5ri4sWLyMjIQNeuXaHVasXZS53y8nK8//77eP755zF58mRYWVlh165diIyMRFJSEvr166fXf/DgwZg0aZJem1wu13s8Z84cnDt3DgsXLoS9vT3Wrl2LyMhIfPHFF2Lxq1KpMHHiRLRp0wZr165FQUEB3nnnHRQVFeHdd98Vxzpz5gyio6MxYsQIxMbGIjMzE3FxcZDL5Rg9erTYLzU1FfHx8Zg9ezY8PT2RlpaGl156CWlpafDw8DArZ0REREQPk9kFY0REBBwdHXHmzBl4e3tjxIgR4rKKigq88MILZo0XEhKCAQMGAABiY2Nx9uxZveU2Njb45ptv4OjoKLb17t0bv//%2BOz766CODgrFVq1bw8fG57%2Bv99NNPOHz4MFJSUhAcHAwAUCqVGDhwIHbt2oWxY8cCAHbs2AGVSoXdu3fDyckJACCTyRATE4Np06bB3d0dAJCYmAhPT0%2BxcA4ICEBubi4SEhIQFhYGqVQKtVqNpKQkTJgwAZMnTwYA%2BPn5ITQ0FMnJyYiPjzcrZ0REREQPU63uwzhs2DAsWLBAr1gEgKVLlxq0PTAAqfEQZDKZXrEIABKJBJ06dcKNGzfMei3g7uFjhUKBoKAgsa1Nmzbw9fVFRkaG2HbkyBEEBgaKxSJwd/ZSLpeL/dRqNU6cOIFhw4bpvUZoaCjy8/Pxyy%2B/ALg781pSUqJ3uF0mk2Ho0KHIyMgwmFUlIiIiakzMnmHUycrKwunTp1FYWIhRo0bB2dkZeXl5cHR0FA/r1hetVoszZ86Is3z32rt3L3bu3Alra2v06NEDMTExeod8s7Ky8PTTT0Mikeg9r0OHDjh27Jhev7CwML0%2Bcrkcbm5uyMrKAgBcuXIFlZWVaN%2B%2BvcFYujG8vLzE/tX7ubu7o7S0FHl5eXB1dTU3DSKZjF/YU1e6HDKXdcM8Wg5zaTmPUi5lGikkf/6pCwkkuPvfX%2BPofmxKJAAE08aXQAKZlRRWVn//3JtDUrePp0GYXTBqNBosXLgQu3btgiAIkEgkCAoKgrOzM/75z3%2Bic%2BfOmDVrVn3EKtqyZQuys7OxZMkSvfaQkBB06dIFbdq0QU5ODpKTkxEREYHdu3fjiSeeAHD33EQHBweDMRUKBYqLi8XHKpWqxgt47u2n%2B7d6P91j3XKVSgW5XG5QSOtmTouKiupUMCoUtrV%2BLuljLi2DebQc5tJyHoVcVpVp7xZoDzh69yCyPwvFmgo9cwpvQSvA0bE5Wtra1SkeanhmF4xJSUnYt28fXn/9dfTp00fvMGufPn2wa9euei0YT506hVWrVmHSpEni7Xx0FixYIP5/jx490KtXLzz77LNITU3F4sWLxWXVZxcf1H4vXZFsyvPuba%2Bpj%2B5QtCmva4xKVQaNRlunMR51MpkUCoUtc1lHzKPlMJeW8yjlsrjiDjRVWkikdfu5oqkSAAlQhb/yJZHczaVGo4WpZ1JptFoUF9%2BBVTlnGO/l6Gj7wFPyGhuzC8Zdu3YhOjoakZGR0Gg0esvatWuHq1evWiy46s6fP4/o6GgMGDAAc%2BfOfWD/1q1bo3v37jh37pzYplAokJuba9C3%2BoyiQqGASqUy6FdSUiIeCtfNEN47M6kbSzeG7t%2BKigpUVFSgWbNmBv2qn6NpLo1Gi6qqv/dO8GFhLi2DebQc5tJyHoVcaqq0EP78UxcCBEgEif44fx6GFgSYPL4AAZoqLapkf%2B%2B8m6spXrpgdnmbl5d336uQmzVrhtLS0joHVZMrV65gypQp8PT0xMqVK02elat%2BQYm7uzuys7MN2i9duqR3TqS7u7t47qGOWq3GlStXxH5ubm6wtrbGb7/9ZjCWbox7/60%2BXlZWFuzs7ODi4mLSeyEiIiJqCGYXjI899hhycnJqXJadnV2nc/HuJz8/H5MmTUKrVq2wYcMGg/sq3k9eXh4yMzPh7e0ttgUHB0OlUuHo0aNiW25uLjIzM8Xb7ABAUFAQTpw4offNNYcOHYJarRb7yeVyBAQEYP/%2B/Xqvu2/fPjg7O8PT0xMA4OvrCwcHB6Snp4t9NBoN9u/fj%2BDg4DofkiYiIiKqT2Yfkg4ODkZycjKCgoLQqlUrAHfPwSspKcGWLVsM7ov4IGVlZeJtaq5du4bbt2/jq6%2B%2BAnD3XoXNmzfHlClTcOvWLcTGxoqzdzq62c59%2B/bh8OHDCAoKQuvWrZGTk4OUlBTIZDJERkaK/bt27Yq%2Bffti/vz5iI2Nhb29PRISEtC2bVu9e0iGh4dj69atiI6ORnR0NG7duoXly5cjNDRUbyZy%2BvTpGD9%2BPBYsWIDQ0FBkZmYiLS0NS5YsEc9PkMvlmDZtGuLj4%2BHk5CTeuDsnJwerV682K19ERERED5tEMPMmgDdv3sSoUaNQUlICf39/fPvtt%2BjVqxcuXrwIKysrfPbZZ2jRooXJ4129ehX9%2B/evcdnmzZvRtm3b%2By4HgAsXLgAA/vOf/%2BC9997DxYsXUVJSAgcHBwQEBGDmzJkGt7O5ffs2VqxYgQMHDqCyshL%2B/v5YuHAh2rZtq9cvOzsbcXFx%2BPHHH2FjY4Phw4cjJibG4GrnjIwMrF69GllZWXB1dUVkZCTGjRun10cQBKSmpmLbtm24efMmlEol5s6di4CAAJNzdT%2BFhaV/%2B/Ny6puVlRQtW9oxl3XEPFoOc2k5j1IuCypuI/7CIVhJZXUap7yqEhJI0Mzqr3klCSSwspKi6s/zJE1RpdVgtsdAODWzr1M8fzdOTnZN7jZPZheMwN2ice3atcjIyMCtW7fQokUL9OvXDzNnzoSzs3N9xElGPAo7wfr2KP1AqU/Mo%2BUwl5bzKOWSBWPT0BQLxlrduLtVq1YG90AkIiIior8ni5S3ubm5OHLkiN4FIkRERET092D2DGN8fDzKysowb948AMD333%2BPqKgoqNVqODo6YuvWrejYsaPFAyUiIiKihmH2DOPBgwfF70oGgDVr1sDDwwOJiYlo06YNkpKSLBogERERETUss2cY8/Ly4ObmBgAoLCzEzz//jJSUFPTp0wcVFRVYsWKFxYMkIiIiooZjdsEoCIL4LSmZmZmQyWTidzq3bt2a5zESEdEjQysIKFJb5hvOWsjtIOUXOVAjZXbB6Obmhm%2B//RaBgYFIT0%2BHt7e3eF/CGzdu6H0fMxER0d9ZkboU754/AJmkbteQagQtYjoN5u1nqNEyu2AcM2YMlixZgj179kClUmHZsmXisszMTL3zG4mIiP7uZBJpne97iL/37SHpb8DsgjEiIgKOjo44c%2BYMvL29MWLECHFZRUWF3tfrEREREVHTV6sbdw8bNgzDhg0zaF%2B6dGmdAyIiIiKixqVpfS8NERERET10tZphPH36NLZs2YKsrCyUl5cbLP/mm2/qHBgRERERNQ5mzzD%2B8MMPePHFF1FSUoKsrCy0b98eLi4uyM3NhZWVFfz8/OojTiIiIiJqIGYXjOvWrcPIkSPx4YcfAgBeffVVbN%2B%2BHZ9//jlKS0sxcOBAiwdJRERERA3H7ILx4sWLGDBgACR/3lxUo9EAADp16oTo6GgkJiZaNkIiIiIialBmF4xlZWWws7ODVCqFXC7X%2B2aX9u3bIysry6IBEhEREVHDMrtgbNOmDW7evAkA6NChAzIyMsRlp0%2BfRosWLSwXHRERERE1OLOvkvbz88OpU6cwZMgQjB49Gm%2B99RaysrIgl8vx3XffITIysj7iJCIiIqIGYnbBOGPGDBQXFwMAxo4di/LycuzduxcAMG3aNERFRVk2QiIiIiJqUGYXjE5OTnBychIfR0ZGclaRiIiI6G%2BsVjfu1snLy0NRURFatGgBFxcXS8VERERERI1IrQrGgwcP4r333sOVK1fENjc3N8yePRtDhgyxWHBERERE1PDMLhjT09Px2muvoX379pg%2BfTpatWqF/Px8pKenY/bs2dBqtRg6dGh9xEpEREREDcDsgjExMRFBQUFITk6GVPrXXXmmT5%2BOqVOnIjExkQUjERER0d%2BI2fdhvHLlCiIiIvSKRQCQSqWIiIjQO0xNRERERE1frW7cXVZWVuOy8vJyPP7443UOioiIiIgaD7MLxkmTJmHDhg0oKCjQa7916xaSkpIwadIkiwVHRERERA3PpHMY4%2BLi9B7fvn0b/fv3R0BAAJydnZGfn48TJ06gZcuWuHTpUr0ESkREREQNw6SCcevWrTW2f/vtt3qPy8rKsG3bNixYsKDukRERERFRo2BSwXj%2B/Pn6joOIiIioRlpBQJG61GLjtZDbQSqRWGy8R0GdvumFiIiIqL4VqUvx7vkDkEnMvvTCgEbQIqbTYDg1s7dAZI8OFoxERETU6MkkUlhJZXUfSFv3IR5FdS/ViYiIiOhvjQUjERERERnFgpGIiIiIjDKpYHznnXeQm5sLALh%2B/ToqKyvrNSgiIiIiajxMKhg3bdqE/Px8AED//v3xv//9z2IBXL58GYsWLcKIESPg6emJ4cOH19gvIyMDzz//PLy9vTFw4EBs27atxn6pqakICQmBt7c3wsLCcPLkSYM%2Bt2/fxqJFi%2BDv749u3bohKioK165dM%2BiXnZ2NyZMnw8fHB4GBgYiLi0N5eXm9xkZERETU2JhUMDo6OuLmzZsAAEEQLBrAxYsXkZGRgSeffBLu7u419jlz5gyio6Ph6emJDz74AC%2B88ALi4uKQlpam1y81NRXx8fEYN24cUlJS8OSTT%2BKll17ChQsX9PrNmTMH//73v7Fw4ULEx8fjxo0biIyM1CsGVSoVJk6ciNLSUqxduxZvvPEG9u7da3BTckvHRkRERNTYmHRbna5du2L%2B/Pno0qULAGDFihVwcHCosa9EIkFSUpLJAYSEhGDAgAEAgNjYWJw9e9agT2JiIjw9PbFs2TIAQEBAAHJzc5GQkICwsDBIpVKo1WokJSVhwoQJmDx5MgDAz88PoaGhSE5ORnx8PADgp59%2BwuHDh5GSkoLg4GAAgFKpxMCBA7Fr1y6MHTsWALBjxw6oVCrs3r0bTk5OAACZTIaYmBhMmzZNLG4tGRsRERFRY2TSDOM///lP%2BPr64vfff4dEIsHly5fx66%2B/3vevWQFIjYegVqtx4sQJDBs2TK89NDQU%2Bfn5%2BOWXXwAAmZmZKCkp0TukLZPJMHToUGRkZIgzoxkZGVAoFAgKChL7tWnTBr6%2BvsjIyBDbjhw5gsDAQLFYBIDBgwdDLpeL/SwdGxEREVFjZNIMY9u2bZGYmAgA6NSpEzZs2CDONta3K1euoLKyEu3bt9dr79ChAwAgKysLXl5eyMrKAgCDfu7u7igtLUVeXh5cXV2RlZWFp59%2BGpJqXwnUoUMHHDt2THyclZWFsLAwvT5yuRxubm7ia1k6ttqSyXixe13pcshc1g3zaDnMpeXUZy5lGikkf/6pCwkkkFlJYWVVtxgtGc/d//4aR/djUyIBIJg2fmN7X5aMqU4xNMFvJTT7m142b95833MN60NxcTEAQKFQ6LXrHuuWq1QqyOVy2NjY6PVzdHQEABQVFcHV1RUqlarGw%2BkKhUIcSzde9des3s/SsdWWQmFb6%2BeSPubSMphHy2EuLac%2BcllVpr1bfDzgaNmDCFoBjo7N0dLWrlHEI/uzMKupqDKn8G5s78uSMT1qzC4Y/fz8ANy9uvnEiRMoKipCy5Yt4e/vjyeffNLiAepUnxGsqb2mPrrDvQ/qZ6y9%2BnjV%2B1kyttpQqcqg0fC7jupCJpNCobBlLuuIebQc5tJy6jOXxRV3oKnSQiKt235co9WiuPgOrMrrVhBZLJ4qAZAAVfd8j55EcjeXGo0Wpp5J1djelyVjqgtHR9sHnpLX2JhdMAqCgKVLl2LHjh3Qav9akaRSKSIiIgyuIq4r3SzcvbN/wN1ZO%2BCv2TyFQoGKigpUVFSgWbNmBv104ygUCvGektXHu3emUKFQiM%2B9V0lJiTjDaunYakuj0aKqij9QLIG5tAzm0XKYS8upyNJOlwAAIABJREFUj1xqqrQQ/vxTFwIEaKq0qJLVLT5LxiMRJPrj/HkYWhBg8viN7X1ZMqY6xdAEL10wu7z9%2BOOPsX37dowZMwY7d%2B5ERkYGdu7cifDwcGzfvh0ff/yxRQN0c3ODtbU1fvvtN732S5cuAYBYvOn%2B1Z0vqJOVlQU7Ozu4uLiI/bKzsw0uNLl06ZLeoXZ3d3eDsdRqNa5cuSL2s3RsRERERI2R2QVjWloaxo8fj3/%2B85/o0qULXFxc0KVLFyxatAgRERHYuXOnRQOUy%2BUICAjA/v379dr37dsHZ2dneHp6AgB8fX3h4OCA9PR0sY9Go8H%2B/fsRHBwsHvYNDg6GSqXC0aNHxX65ubnIzMwUb7MDAEFBQThx4gQKCwvFtkOHDkGtVov9LB0bERERUWNk9iHpnJwc9OvXr8Zl/fr1wyeffGLWeGVlZeJtaq5du4bbt2/jq6%2B%2BAnD3fEknJydMnz4d48ePx4IFCxAaGorMzEykpaVhyZIl4jkAcrkc06ZNQ3x8PJycnODp6Ym0tDTk5ORg9erV4ut17doVffv2xfz58xEbGwt7e3skJCSgbdu2eOGFF8R%2B4eHh2Lp1K6KjoxEdHY1bt25h%2BfLlCA0N1ZuJtGRsRERERI2R2QWjg4MDrl%2B/XuOy69evw97e3qzxbt26hVmzZum16R5v3rxZ/Pq%2BDRs2YPXq1di9ezdcXV2xYMECjB49Wu95kyZNgiAI2LJlC27evAmlUomUlBR4eHjo9XvvvfewYsUKvPXWW6isrIS/vz/WrVundxWzQqHApk2bEBcXhxkzZsDGxgbDhw9HTEyM3liWjo2IiIiosZEIZt41OiYmBsePH8f7778PLy8vsf1///sfpk6dioCAAKxatcrigdL9FRaW8qT4OrKykqJlSzvmso6YR8thLi2nPnNZUHEb8RcOwUoqq9M4VVoNZnsMhFMz8yZd6iue8qpKSCBBM6u/5pUkkMDKSoqqPy9AMUVje1%2BWjKkunJzsmtw9Vs2eYZwzZw7GjBmD0aNHo0OHDnB2dkZ%2Bfj4uXbqE1q1bY86cOfURJxERERE1ELPL28cffxy7d%2B/GlClTYGtri6tXr8LW1hZTp07Frl276nQDaiIiIiJqfMyeYQQAJycnziQSERERPSKa1gF0IiIiInroWDASERERkVEsGImIiIjIKBaMRPT/27v7uKbuew/gn5NACAUCUi1cnDhFwxVlomtFWoVeO6stoLXorX11ra1cOsGnOZnaTp11zIdqi%2BK0FKW%2BnGLruD681Emtba%2BRbsNtQlttbe8lsqKOWp9CECQhybl/KGcGaEzIgST4eVtfml9%2B%2BeWbb/Hw4ZyTHCIiIodcDoxms7nddZiJiIiIqOdyKTCaTCYMHz4cH374YVfVQ0RERERexqXAGBAQgLCwMAQGBnZVPURERETkZVz%2BHMb/%2BI//wLFjxzBmzJiuqIeIiOieI4oiDOYmt9cxmJvg5FX7iFzicmBMTU3Fr371K7zyyit4/PHH0adPHwiCYDdn6NChshVIRETU01lFEUX6E/B381rJZpsFSig7d1UOIgdc/prKzMwEAOzfvx8HDhywu08URQiCgLNnz8pTHRER0T1CAQX83AyMFptNpmqI7LkcGFevXt0VdRARERGRl3I5ME6ZMqUr6iAiIiIiL%2BXWB3efO3cOp06dQlOT%2ByfqEhEREZF36lRgPHDgAJKTk5Gamoqf/vSnqKmpAQDMnz8ff/jDH2QtkIiIiIg8y%2BXAWFZWhiVLliAuLg7Lli2zu%2BrL0KFDUVZWJmuBRERERORZLgfGoqIiPP300ygsLMQzzzxjd9/AgQNRXV0tW3FERERE5HkuB0a9Xo/U1NQO7wsLC4PBYHC7KCIiIiLyHi4HxsDAQDQ0NHR436VLlxAaGup2UURERETkPVwOjCNGjEBJSYnduYut9u3bh1GjRslSGBERERF5B5cD4%2BzZs/Hpp59i6tSp2LlzJwRBwAcffIBZs2bh73//O2bNmtUVdRIRERGRh7gcGOPj47F161Y0NTVhzZo1EEURb7/9NmpqalBUVAStVtsVdRIRERGRh3Tq%2BuSjR49GWVkZamtrceXKFfTq1QsDBgyQuzYiIiIi8gKdCoytoqOjER0dLVctREREROSFOhUYL1y4gKKiIpw8eRIGgwFhYWFITExEVlYW%2BvXrJ3eNRERERORBLp/DePbsWUyZMgX79u3DAw88gEceeQQPPPAA9u3bhylTpuDs2bNdUScREREReYjLexhXrVqF8PBwbN%2B%2BHVFRUdL4xYsXMXPmTKxatQo7d%2B6UtUgiIiIi8hyX9zB%2B/vnnmDt3rl1YBIC%2Bfftizpw5%2BPzzz2UrjoiIiIg8z%2BXAGBISgpCQkA7v02g0CA4OdrsoIiIiIvIeLgfGtLQ0lJaWdnjfH/7wh%2B%2B9zjQRERER%2BSanzmH84IMPpL8PHToUR48exdSpU5GWlobevXvjypUrOHz4MK5du4aJEyd2WbFERERE1P2cCozz5s2DIAgQRVH6s66uDmfOnGk3d9GiRUhPT5e9UCIiIiLyDKcC4%2B9///uuroOIiIiIvJRTgXHUqFFdXcddPf/88/jrX//a4X1vvvkmUlNTsWTJEuzfv7/d/Vu3bkVycrLdWHFxMUpKSnD58mVotVosWrQIiYmJdnNu3LiB119/HUePHoXZbEZiYiKWLVuGvn372s2rqalBXl4eTp06hcDAQKSmpiI3Nxdqtdpunk6nQ35%2BPvR6PSIjI/Hiiy/iueee60w7iIiIiLqNW5cG7E6//vWvcePGDbuxHTt24IMPPkBSUpI01q9fP6xfv95uXkxMjN3t4uJi5OfnY8GCBYiLi0NpaSmysrJQWlqK2NhYad7ChQvxxRdfYNmyZQgODkZBQQFeeuklHDx4UAqDRqMRM2bMQFRUFAoKCnDt2jWsXr0aBoPBro6qqirk5ORg8uTJWLJkCSorK5GXlweVSoVp06bJ1iciIiIiuXUqMH744Yc4ePAg/vnPf8JkMtndJwgCDh48KEtxdxo0aFC7sYULF%2BKRRx5BeHi4NKZWq5GQkPC965jNZrz11lt44YUXkJmZCeDWHtT09HQUFhYiPz8fAPDZZ5/h%2BPHjKCoqQkpKCgBAq9Vi/Pjx2L9/P5599lkAwHvvvQej0YgDBw5IdSiVSuTm5iI7O1sKq5s3b0ZcXBxWrVoFABg9ejTq6uqwceNGZGRkQKFw%2BQ3rRERERN3C5ZSybds2zJkzB3//%2B9/h5%2BeHsLAwu9%2BhoaFdUWc7lZWVuHDhgstvsKmsrERDQwPS0tKkMaVSiSeffBI6nQ6iKAK4dfhYo9HYHcqOiorCyJEjodPppLETJ04gKSnJLrROmDABKpVKmmc2m1FRUdHuI4fS09Nx%2BfJlfPnlly69BiIiIqLu5PIext27dyMjIwMrV66EUqnsipqccvjwYQQGBuKxxx6zG6%2BtrcWDDz6I5uZmaLVa5OTk4Cc/%2BYl0v16vBwAMHDjQ7nExMTFobGzEpUuXEBkZCb1ejwEDBkAQBLt5gwYNwieffGK3XkZGht0clUqF6Oho6blqa2vR0tLS7jlb95rq9XoMGzasM20gIiIi6nIuB0aDwYC0tDSPhkWLxYL3338fjz32GO677z5pfMiQIYiPj8egQYPQ0NCAd999F7Nnz8bGjRulz4c0Go1QqVTt3pDSumfUYDAgMjISRqOxwyvaaDQa1NfXS7eNRiM0Go3Dea1/tp3XevvO9TpDqeThbHe19pC9dA/7KB/2Uj5d2UulVQHh9i93CBBw6z/vXad1/4kgABCdW1%2BAAKWfAn5%2B7vVerj7LWZNbNbj/Mrqdy4Fx5MiROHfunN0bTbrbn/70J1y9etXusDIAzJgxw%2B72uHHjMH36dBQUFNh9oHjbvYYApEPRd97X0TxH423XazvPnfUc0WgC3Xo8/Qt7KQ/2UT7spXy6opeWm7Zb4cPN89CVt4OQ28GqG9ZxJXiLNhGhofehV2CQW/XI1Wc5a7rXuBwYX331VcyZMweRkZEYO3YsVCpVV9Tl0OHDhxEWFoYxY8Y4nKdQKPD4449j3bp1aG5uhlqthkajgclkgslkQkBAgDTXaDQC%2BNeeRo1Gg7q6unZrtt2jqNFopMfeqaGhQXrDS%2Buabfcktj6uoz2UrjAab8Jqtbm1xr1OqVRAowlkL93EPsqHvZRPV/ay3tQEq8UGQeHeD/5WiwgIgAXu1deV6wjCrV5arTbc3sdy93VsNtTXN8Gv2b2gJ1ef5azJHaGhgT73ZleXA2P//v3x8MMPY86cORAEod2hXUEQcOrUKdkKbKu5uRkfffQR0tPT4e/vf9f5Ypuv6tYQp9frERcXJ43r9XoEBQUhIiJCmvfnP/%2B53Z7C6upqu4/piYmJkc5VbGU2m1FbWyud2xgdHQ1/f3%2BcO3fO7k001dXVdjV1ltVqg8XCbyhyYC/lwT7Kh72UT1f00mqxQbz9yx0iRAii4N3r3D4MLYpwen0RIqwWGyxKdwOsPH2Wsya3anD/ZXQ7lwPjunXrsGvXLgwZMgQDBw7s9j2MH3/8MRobG516d7TNZsPRo0cxePBgKdiOHDkSISEhOHLkiBQYrVYrysrKkJKSIoXDlJQUbN68GeXl5VLIq6urQ2VlJZYuXSo9R3JyMt566y1cv34dvXr1AgAcO3YMZrNZ%2BjgelUqF0aNHo6ysDC%2B%2B%2BKL02MOHD6NPnz52wZWIiLqeTRRhMDe6vY7B3AQZMgyR13M5MO7fvx9ZWVlYuHBhV9RzV4cOHUJUVBR%2B/OMf241fvHgRS5YsQVpaGqKjo1FfX493330XZ86cwaZNm6R5KpUK2dnZyM/PR3h4uPTB3efPn8ebb74pzRs%2BfDgeffRR/OpXv8KSJUsQHByMjRs3om/fvpgyZYo0b/r06di1axdycnKQk5ODq1evYs2aNUhPT7fbczh79mz89Kc/xdKlS5Geno7KykqUlpZi5cqVPrdbmojI1xnMjVj/1VEoBfe2v2abBUoofecqGESd5PLXuNVqxcMPP9wVtdxVfX09ysvLMWPGjHZvFAkKCkJwcDA2b96Ma9euwd/fH8OGDcPWrVsxduxYu7kzZ86EKIrYuXMnrly5Aq1Wi6KiIrurvADAG2%2B8gbVr1%2BK1115DS0sLEhMTsWnTJrvD8BqNBjt27EBeXh7mzp0LtVqNtLQ05Obm2q01YsQIbNmyBW%2B%2B%2BSYOHDiAyMhILF26lFd5ISLyEKWggJ/CvU/8sNh4ugDdGwSx7Ul%2BdzF//nwMGTIEs2bN6qqayEXXrzfyHCc3%2Bfkp0KtXEHvpJvZRPuylfDrq5TXTDeR/fcztwNhsaYEAAQF%2B7u1j9IV1BAjw81PAcvt8QmdYbFYsiB2P8IBgt%2BqR6/%2BXnDW5Izw8yOc%2BMsvlr6icnBwsWLAAgYGBePTRRzu8sktYWJgsxRERERGR57kcGCdPngwAWLNmDdasWdPhnLNnz7pXFRERERF5DZcD4%2BzZs93%2BoGkiIiIi8h0uB8a5c%2Bd2RR1ERERE5KV864xLIiIiIup2Lu9h/N3vfufwfkEQMHv27E4XRERERETehYGRiIiIiBxyOTB%2B9dVX7cYMBgM%2B/PBD7NixA0VFRbIURkRERETeQZZzGMPCwjB16lSkp6cjLy9PjiWJiIiIyEvI%2BqaX%2BPh4/OUvf5FzSSIiIiLyMFkD49dff4377rtPziWJiIiIyMNcPofxwIED7cbMZjO%2B/vpr7N27F5MmTZKlMCIiIiLyDi4HxiVLlnQ4HhAQgEmTJmHRokVuF0VERERE3sPlwPjRRx%2B1GwsICEDv3r1lKYiIiIh6BlEUYTA3ub2OwdwEiDIURJ3mcmDs27dvV9RBREREPYxVFFGkPwF/hdKtdcw2C5RQuh5aSDbsPREREXUZBRTwczMwWmw2maqhznIqMKanpzu9oCAIOHjwYKcLIiIiIiLv4lRgDAsLu%2BucpqYmfPHFFxAEwe2iiIiIiMh7OBUYd%2B7c%2Bb33WSwW7NmzB1u2bIEgCEhLS5OtOCIiIiLyPLfOYSwrK8OGDRtQW1uLhx9%2BGLm5uRgyZIhctRERERGRF%2BhUYDx58iTWr1%2BP06dPIy4uDu%2B88w6SkpLkro2IiIiIvIBLgfHrr7/G%2BvXr8cknn%2BAHP/gB3njjDaSmpnZVbURERETkBZwKjHV1ddiwYQMOHz6M0NBQvPrqq5g%2BfTr8/f27uj4iIiIi8jCnAuOECRPQ0tKCsWPH4r/%2B678QFBSE//3f//3e%2BUOHDpWtQCIiIiLyLKcCo9lsBgCcOHEC5eXl3ztPFEUIgoCzZ8/KUx0REREReZxTgXH16tVdXQcREREReSmnAuOUKVO6ug4iIiIi8lIKTxdARERERN6NgZGIiIiIHGJgJCIiIiKHGBiJiIiIyCEGRiIiIiJyiIGRiIiIiBxiYCQiIiIihxgYiYiIiMghBkYiIiIicsgnAuO%2BffsQGxvb7vf69evt5ul0Ojz11FOIj4/H%2BPHjUVJS0uF6xcXFGDduHOLj45GRkYGTJ0%2B2m3Pjxg0sX74ciYmJGDFiBGbNmoWLFy%2B2m1dTU4PMzEwkJCQgKSkJeXl5aG5ubjfP2dqIiIiIvI1Tlwb0Ftu2bUNISIh0OyIiQvp7VVUVcnJyMHnyZCxZsgSVlZXIy8uDSqXCtGnTpHnFxcXIz8/HggULEBcXh9LSUmRlZaG0tBSxsbHSvIULF%2BKLL77AsmXLEBwcjIKCArz00ks4ePAg1Go1AMBoNGLGjBmIiopCQUEBrl27htWrV8NgMNiFWWdrIyIiIvJGPhUYhw4divDw8A7v27x5M%2BLi4rBq1SoAwOjRo1FXV4eNGzciIyMDCoUCZrMZb731Fl544QVkZmYCAEaNGoX09HQUFhYiPz8fAPDZZ5/h%2BPHjKCoqQkpKCgBAq9Vi/Pjx2L9/P5599lkAwHvvvQej0YgDBw5IdSmVSuTm5iI7OxsxMTFO10ZERETkrXpEUjGbzaioqEBqaqrdeHp6Oi5fvowvv/wSAFBZWYmGhgakpaVJc5RKJZ588knodDqIogjg1uFjjUaD5ORkaV5UVBRGjhwJnU4njZ04cQJJSUl2IXbChAlQqVTSPGdrIyIiIvJWPhUY09LSMGTIEDz22GN4%2B%2B23YbVaAQC1tbVoaWnBwIED7eYPGjQIAKDX6%2B3%2BbDsvJiYGjY2NuHTpkjRvwIABEASh3Xqta7TOa92L2EqlUiE6Olqa52xtRERERN7KJw5J9%2BnTB3PnzsXw4cMhCAI%2B/vhjbNiwAZcuXcLy5ctRX18PANBoNHaPa73der/RaIRKpZLOQWwVGhoKADAYDIiMjITRaLQ7V/LO9VrXal2v7XO2nedsbe5QKn0q93ul1h6yl%2B5hH%2BXDXsqno14qrQoIt3%2B5Q4CAW//1/HVa96EIAgDRufW97XW1rqX0U8DPz3P/tgT3X0a384nAOHbsWIwdO1a6PWbMGAQEBGDHjh2YNWuWNN52j2BH4x3NaT0Ufbd5jsbbrtd2njvr3Y1GE%2Bj2GnQLeykP9lE%2B7KV87uyl5abtVmhw8xxy5e0A42748KV1XPkhxtteFwCINhGhofehV2CQ22vdS3wiMHbkiSeewDvvvIOzZ8%2Bib9%2B%2BANrvrTMajQD%2BtTdPo9HAZDLBZDIhICCg3bzWPY0ajQZ1dXXtnrPtHkWNRiM99k4NDQ3SoerWNe9WmzuMxpuwWm1ur3MvUyoV0GgC2Us3sY/yYS/l01Ev601NsFpsEBTu/dButYiAAFjg3v8jX1hHEG710mq14fZ%2BFo/W0%2Bm1bDbU1zfBr9lzexhDQwN97g2vPhsY7xQdHQ1/f3%2BcO3fO7o0q1dXVACCFt9Y/9Xo94uLipHl6vR5BQUHSx/TExMTgz3/%2Bc7s9hdXV1XbnLMbExLQ7B9FsNqO2thYZGRku1eYOq9UGi4XfUOTAXsqDfZQPeymfO3tptdgg3v7lDhEiBFG4N9a5fRhaFOH0%2Bt72ulrXslpssCg99%2B/K2cDtTXwr3t7hyJEjUCqViIuLg0qlwujRo1FWVmY35/Dhw%2BjTp48UDkeOHImQkBAcOXJEmmO1WlFWVoaUlBQpHKakpMBoNKK8vFyaV1dXh8rKSuljdgAgOTkZFRUVuH79ujR27NgxmM1maZ6ztRERERF5K%2BWKFStWeLqIu8nMzMR3332HGzdu4JtvvsE777yDkpISPP/885g4cSIAoF%2B/figsLERdXR2CgoJw6NAhbN%2B%2BHa%2B88gqGDRsG4NZH6CiVShQWFkKtVsNkMmHjxo2oqqrC66%2B/jt69ewMAIiMjcebMGezZswcRERGoq6vD8uXLoVarsXLlSvj53doxO3jwYOzduxfl5eWIiIhAVVUVVq1ahfHjx2P69OlS/c7U5o7m5hbYbD7444oXUSgEBAaq2Es3sY/yYS/l01Evb1rNqLh6DgrBvf0mFpsNAgS3z4X0hXUECFAoBJe%2BHr3tdQGATRSR1DsGgX4qt9fqrMBAFRRung7R3QRR9P4do3l5eSgvL8e3334Lm82GH/7wh5g2bRqef/55u0PGOp0Ob775JvR6PSIjI/HSSy/hueees1tLFEUUFxejpKQEV65cgVarxS9/%2BUuMHj3abt6NGzewdu1aHD16FC0tLUhMTMSyZcuk8yVb1dTUIC8vD6dOnYJarUZaWhpyc3PbvRPbmdo66/r1Rh6ycpOfnwK9egWxl25iH%2BXDXsqno15eM91A/tfH4KdQurV2s6UFAgQE%2BLl3hpcvrCNAgJ%2BfApbbh/M9XU9nWWxWLIgdj/CAYLfX6qzw8CCf%2BwQEnwiM5Bi/obiP35zlwT7Kh72UDwOjPOswMMrHFwOjb1VLRERERN2OgZGIiIiIHGJgJCIiIiKHGBiJiIiIyCEGRiIiIiJyiIGRiIiIiBxiYCQiIiIihxgYiYiIiMghBkYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIfev4k1ERNRNbKIIg7nRpccorQpYbtpQb2qC1WIDABjMTYDYFRUS9UwMjERE5DMM5kas/%2BoolILzB8gECFD6KWC12CDeTolmmwVKKPlNkMhJ/LdCREQ%2BRSko4KdQOj1fgAA/hQKCQpACo8Vm66ryiHoknsNIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUMMjERERETkEAMjERERETnEwEhEREREDjEwEhEREZFDDIxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUN%2Bni6AiIh6PpsowmBudHsdg7kJEGUoiIhcwsBIRERdzmBuxPqvjkIpuHdgy2yzQAklv3kRdTP%2BmyMiom6hFBTwUyjdWsNis8lUDRG5wifOYSwrK0NOTg5SUlKQkJCA9PR07N69G7Y7NhxLlixBbGxsu98nTpxot15xcTHGjRuH%2BPh4ZGRk4OTJk%2B3m3LhxA8uXL0diYiJGjBiBWbNm4eLFi%2B3m1dTUIDMzEwkJCUhKSkJeXh6am5vbzdPpdHjqqacQHx%2BP8ePHo6SkxM2uEBEREXUPn9jDuH37dkRFRWHRokW4//77cfLkSfz2t7/F%2BfPnsXjxYmlev379sH79ervHxsTE2N0uLi5Gfn4%2BFixYgLi4OJSWliIrKwulpaWIjY2V5i1cuBBffPEFli1bhuDgYBQUFOCll17CwYMHoVarAQBGoxEzZsxAVFQUCgoKcO3aNaxevRoGg8GujqqqKuTk5GDy5MlYsmQJKisrkZeXB5VKhWnTpnVFy4iIiIhk4xOBsbCwEOHh4dLt0aNHo6mpCSUlJViwYAFUKhUAQK1WIyEh4XvXMZvNeOutt/DCCy8gMzMTADBq1Cikp6ejsLAQ%2Bfn5AIDPPvsMx48fR1FREVJSUgAAWq0W48ePx/79%2B/Hss88CAN577z0YjUYcOHBAqk%2BpVCI3NxfZ2dlSWN28eTPi4uKwatUqqf66ujps3LgRGRkZUCh8YkcvERER3aN8IqncGRZbDRkyBCaTCQaDwel1Kisr0dDQgLS0NGlMqVTiySefhE6ngyjeeuudTqeDRqNBcnKyNC8qKgojR46ETqeTxk6cOIGkpCS7%2BiZMmACVSiXNM5vNqKioQGpqql0t6enpuHz5Mr788kun6yciIiLyBJ/Yw9iRU6dOISwsDPfff780VltbiwcffBDNzc3QarXIycnBT37yE%2Bl%2BvV4PABg4cKDdWjExMWhsbMSlS5cQGRkJvV6PAQMGQBAEu3mDBg3CJ598YrdeRkaG3RyVSoXo6GjpuWpra9HS0tLuOQcNGiStMWzYsM62AQCgVPpE7vdqrT1kL93DPsqnp/VSaVVAuP3LHQIE3PrP%2BXVaN%2BWCAEAUOr2OXPX46jod9dGT9bizltJPAT8/z/3bEtx/Gd3OJwPj6dOnsW/fPsyePRtK5a133A0ZMgTx8fEYNGgQGhoa8O6772L27NnYuHEjJk6cCODWOYcqlUo6B7FVaGgoAMBgMCAyMhJGoxEhISHtnlej0aC%2Bvl66bTQaodFoHM5r/bPtvNbbd67XWRpNoNtr0C3spTzYR/n0lF5abtpufZN28xQc5e3A0Jlv9neGb3fWkaseX13HlR9ivO11AYBoExEaeh96BQa5vda9xOcC4%2BXLlzFv3jzEx8cjKytLGp8xY4bdvHHjxmH69OkoKCiQAiOAdnsNAUiHou%2B8r6N5jsbbrtd2njvr3Y3ReBNWKz9qwh1KpQIaTSB76Sb2UT49rZf1piZYLTYICve2eVaLCAiABc73RBBu9dNqteH25r5T68hVj6%2Bu01EfPVlPp9ey2VBf3wS/Zs/tYQwNDfS59y/4VGBsaGhAVlYW1Go13nrrLfj7%2B3/vXIVCgccffxzr1q1Dc3Mz1Go1NBoNTCYTTCYTAgICpLlGoxHAv/Y0ajQa1NXVtVuz7R5FjUYjPbbDiWmqAAAULElEQVRtna1veGlds%2B2exNbHdbSH0lVWqw0Wi%2B9/Q/EG7KU82Ef59JReWi02iLd/uUOECEEUXFvn9uFTUYT0uE6tI1c9vrpOB330aD1urGW12GBReu7flbOB25v4TLw1mUzIzs7GlStXsG3bNvTq1euujxHb/B9pDXGt5xe20uv1CAoKQkREhDSvpqam3eOrq6vtPqYnJiam3Vpmsxm1tbXSvOjoaPj7%2B%2BPcuXPt1rqzJiIiIiJv5ROB0WKxYP78%2Bfjqq6%2Bwbds29O3b966PsdlsOHr0KAYPHiydszhy5EiEhITgyJEj0jyr1YqysjKkpKRIh4dTUlJgNBpRXl4uzaurq0NlZaX0MTsAkJycjIqKCly/fl0aO3bsGMxmszRPpVJh9OjRKCsrs6vv8OHD6NOnD%2BLi4jrRESIiIqLuo1yxYsUKTxdxNytWrMDhw4cxf/58PPDAA/j222%2Bl38HBwbh8%2BTJmz56NlpYWNDQ04IsvvkBeXh6qqqrw2muvSXvxlEollEolCgsLoVarYTKZsHHjRlRVVeH1119H7969AQCRkZE4c%2BYM9uzZg4iICNTV1WH58uVQq9VYuXIl/PxuHckfPHgw9u7di/LyckRERKCqqgqrVq3C%2BPHjMX36dKn%2Bfv36obCwEHV1dQgKCsKhQ4ewfft2vPLKK26/QxoAmptbYLP54P5tL6JQCAgMVLGXbmIf5dPTennTakbF1XNQuHktaYvNBgGCS2%2BeESBAoRDs%2BtiZdeSqx1fX6aiPnqyns2yiiKTeMQj0U7m9VmcFBqqgcPN83u7mE%2Bcwtn6Uzbp169rd9/vf/x6xsbEIDg7G5s2bce3aNfj7%2B2PYsGHYunUrxo4dazd/5syZEEURO3fuxJUrV6DValFUVGR3lRcAeOONN7B27Vq89tpraGlpQWJiIjZt2mT3DmuNRoMdO3YgLy8Pc%2BfOhVqtRlpaGnJzc%2B3WGjFiBLZs2YI333wTBw4cQGRkJJYuXcqrvBAREZFPEMS2J%2BqRz7l%2BvbFHnBTvSX5%2BCvTqFcReuol9lE9P6%2BU10w3kf30MfgqlW%2Bs0W1ogQECAn/P7OwQI8PNTwHL7jTedXUeuenx1nY766Ml6Ostis2JB7HiEBwS7vVZnhYcH%2BdxnrPpWtURERETU7RgYiYiIiMghBkYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIQZGIiIiInKIgZGIiIiIHGJgJCIiIiKHfOLSgERE5Bk2UYTB3Oj2OgZzE5y8OAgReSEGRiIi%2Bl4GcyPWf3UUSsG9A1JmmwVKKPlNh8hH8d8uERE5pBQUbl8D2mLz/ethE93LeA4jERERETnEwEhEREREDjEwEhEREZFDDIxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUMMjERERETkEAMjERERETnEwEhEREREDvl5ugAiIpKfTRRhMDe6vY7B3ASIMhRERD6NgZGIqAcymBux/qujUAruHUgy2yxQQslvFkT3OG4DiIh6KKWggJ9C6dYaFptNpmqIyJfxHEYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIQZGIiIiInKIgZGIiIiIHGJgJCIiIiKHGBi7UU1NDTIzM5GQkICkpCTk5eWhubnZ02UREREROcQP7u4mRqMRM2bMQFRUFAoKCnDt2jWsXr0aBoMB69ev93R5RERERN%2BLgbGbvPfeezAajThw4ADCw8MBAEqlErm5ucjOzkZMTIyHKyQib9B6DWilVQHLTRvqTU2wWly/2gqvAU1EcmJg7CYnTpxAUlKSFBYBYMKECXj11Veh0%2BkYGIl8XGvQc5fB3IRt%2BnL4KZRQ%2BilgtdggdiL58RrQRCQnbku6iV6vR0ZGht2YSqVCdHQ09Hq9W2uHhgZC5J4EtwjCrT/ZS/d0dx9tovdc59gKEQqz4PY6vRCEVZEZUi87q7X/XIfrcJ32a4WpAqEQPPc2DoVChhfSzRgYu4nRaIRGo2k3rtFoUF9f79baCgXfuyQX9lIe3dVHpRe9b88fgNrP39NlEBF1Ce/Z2t6jRFGEIMePTERERERdhIGxm2g0GhiNxnbjDQ0NHe55JCIiIvIWDIzdJCYmpt25imazGbW1tXzDCxEREXk1BsZukpycjIqKCly/fl0aO3bsGMxmM1JSUjxYGREREZFjgijyPaHdwWg0Ii0tDX379kVOTg6uXr2KNWvWYMyYMfzgbiIiIvJqDIzdqKamBnl5eTh16hTUajXS0tKQm5sLtVrt6dKIiIiIvhcDIxERERE5xHMYiYiIiMghBkYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIQZGIiIiInKIgdEHffPNN1i%2BfDkmT56MuLg4pKWlebokn%2BBs33Q6HZ566inEx8dj/PjxKCkp6eZKvYfcPSsuLsa4ceMQHx%2BPjIwMnDx5sivL9xhP9O3GjRtYvnw5EhMTMWLECMyaNQsXL16U9XV1NW/uW01NDTIzM5GQkICkpCTk5eWhubnZvRcsk57QN09sd%2B%2Blvsmx7WVg9EH/93//B51Oh/79%2B/M61C5wpm9VVVXIyclBXFwctm7diilTpiAvLw%2BlpaXdXK13kLNnxcXFyM/Px3PPPYeioiL0798fWVlZ%2BPrrr7vjpXQrT/Rt4cKF%2BPjjj7Fs2TLk5%2Bfju%2B%2B%2Bw0svveQ1ocYZ3to3o9GIGTNmoLGxEQUFBVi8eDEOHTqEpUuXyt%2BETvD1vnlqu3uv9E22ba9IPsdqtUp/X7x4sZiamurBanyHM33LzMwUp06daje2dOlS8ZFHHrF7/L1Crp6ZTCbxxz/%2Bsbh27VppjsViEZ944gnx5z//eRdV7znd3bdPP/1U1Gq14vHjx6WxixcvinFxceLu3btle11dzVv79vbbb4vDhw8Xr169Ko0dPHhQ1Gq1YnV1tRuvWB6%2B3jdPbXfvhb7Jue3lHkYfpFDwf1tn3K1vZrMZFRUVSE1NtRtPT0/H5cuX8eWXX3ZleV5Jrp5VVlaioaHB7pCPUqnEk08%2BCZ1OB7GHXXCqu/um0%2Bmg0WiQnJwszYuKisLIkSOh0%2Bnkelldzlv7duLECSQlJSE8PFwamzBhAlQqlVf015f75snt7r3QNzm3vUweRLfV1taipaUFAwcOtBsfNGgQAECv13uiLK/mbM9a/2w7LyYmBo2Njbh06VI3VOs95O6bXq/HgAEDIAhCu/V60tetp/qm1%2BvbHbJUqVSIjo72if56c9%2B8ebvbE/om57aXgZHotvr6egCARqOxG2%2B93Xo//YuzPTMajVCpVFCr1XbzQkNDAQAGg6GrS/UqcvfNaDQiJCSk3fNoNJoe9XXrqb4ZjcZ2z9nRPG/lzX3z5u1uT%2BibnNteBkaiNtr%2B9He3cXKuZx3NaT0ccq/2Vs6%2B3Utft97SN1EUfaq/3tw3b/769fW%2BybXtZWAkuq31J662P9EajUYA7X%2BSI%2Bd7ptFoYDKZYDKZOpzXus69Qu6%2BaTQaaaztvJ70deupvn3fvIaGBp/orzf3zZu3uz2hb3JuexkYiW6Ljo6Gv78/zp07ZzdeXV0NAPwIow4427PWP9uej6TX6xEUFISIiIhuqNZ7yN23mJgY1NTUtDuBvbq6ukd93XqqbzExMe3WMpvNqK2t9Yn%2BenPfvHm72xP6Jue2l4GR6DaVSoXRo0ejrKzMbvzw4cPo06cP4uLiPFSZ93K2ZyNHjkRISAiOHDkizbFarSgrK0NKSopXHHbqTnL3LSUlBUajEeXl5dK8uro6VFZWIiUlpRteUffwVN%2BSk5NRUVGB69evS2PHjh2D2Wz2if56c9%2B8ebvbE/om57ZXuWLFihVOzyavcPPmTXz00Ueorq7Gn/70J1y5cgWRkZGorq5GeHg4AgMDPV2iV3Kmb/369UNhYSHq6uoQFBSEQ4cOYfv27XjllVcwbNgwT7%2BEbidXz5RKJZRKJQoLC6FWq2EymbBx40ZUVVXh9ddfR%2B/evT38SuXV3X2LjIzEmTNnsGfPHkRERKCurg7Lly%2BHWq3GypUr4efn58l2OM1b%2BzZ48GDs3bsX5eXliIiIQFVVFVatWoXx48dj%2BvTpHutXK1/vm6e2u/dC32Td9rr0qY3kFc6fPy9qtdoOf1dUVHi6PK/lbN%2BOHz8uTpo0SRw6dKj42GOPibt27fJg1Z4lZ89sNpu4detW8dFHHxWHDRsmPv300%2BJf/vKX7nw53cYTfWtoaBCXLl0qPvTQQ2JCQoL4s5/9TLxw4UKXvk65eXPfzp07J86cOVMcPny4mJiYKP7mN78Rb968KW8DOqkn9M0T2917pW9ybXsFUexhn5hLRERERLLiOYxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUMMjETUI%2B3btw%2BxsbHS77i4OIwZMwYLFizAP/7xD4/XdeHCBYfzNm3ahNjY2G6q6u50Oh02bdrU4X2xsbFYuXJlN1dERN3JNy4wSkTUSatXr8bAgQNhMplQWVmJwsJCnDx5EmVlZQgNDfV0eT5Dp9OhpKQEc%2BfO9XQpROQBDIxE1KMNHjwY8fHxAIDExERYrVZs2rQJH374ITIyMjxcHRGRb%2BAhaSK6p7SGx6tXr7a778iRI3jmmWeQkJCAESNGIDMzE19%2B%2BaXdnNOnT2PBggUYN24cfvSjH2HcuHH4xS9%2BgYsXL7Zb79NPP8X06dMRHx%2BPMWPG4I033oDFYnGrfmdqXLJkCUaMGIFvvvkGWVlZGDFiBFJSUrBmzRqYzWa7ud9%2B%2By3mzZuHESNG4MEHH8TChQvx%2BeefIzY2Fvv27ZPWKykpAQC7w/xtD6sfOHAATzzxBIYPH45Jkybhf/7nf9x6rUTkPbiHkYjuKa0h54c//KHdeGFhITZs2ICnn34a2dnZaGlpQXFxMZ577jmUlpZi0KBBAICLFy9iwIABSE1NRWhoKC5fvox3330XU6dOxR//%2BEeEh4cDAKqrq/Hiiy%2Bib9%2B%2BWLNmDdRqNXbv3o3Dhw93unZnawSAlpYWZGdnY%2BrUqZg5cyb%2B9re/YcuWLQgODsacOXMAAE1NTXjhhRdQX1%2BP3Nxc9O/fH%2BXl5ViwYIHd8%2Bbk5KCpqQlHjx7Fnj17pPEHHnhA%2Bvvx48dx%2BvRpzJs3D/fddx%2B2bduGOXPm4P3330e/fv06/ZqJyEuIREQ90N69e0WtVit%2B%2BumnYktLi3jjxg3xxIkT4iOPPCI%2B99xzYktLizT3n//8pxgXFyf%2B5je/sVvjxo0b4iOPPCLOnz//e5/HYrGIjY2NYkJCgrhjxw5p/Oc//7n4ox/9SLx8%2BbLd3IkTJ4parVY8f/68w/oLCgpErVbbqRoXL14sarVa8ciRI3Zzs7KyxAkTJki3d%2B3aJWq1WlGn09nNW7ZsmajVasW9e/dKY6%2B99ppdPXfSarXiww8/LDY0NEhjly9fFv/93/9dfPvttx2%2BTiLyDdzDSEQ92n/%2B53/a3Y6JicGWLVvg5/evzd8nn3wCi8WCyZMn2x0yDggIwEMPPYSTJ09KY42NjdiyZQs%2B%2BOADXLx4EVarVbpPr9dLfz958iSSkpLQu3dvaUypVOLJJ5/E7373O5dfhys1AoAgCBg3bpzdWGxsLCoqKqTbf/vb3xAUFITk5GS7eWlpaXZ7Ep2RmJiI4OBg6Xbv3r1x//33d3ionoh8DwMjEfVoa9euRUxMDBobG3HkyBHs2bMHv/jFL7Bt2zZpzpUrVwAAU6dO7XANheJfp3svXLgQFRUVyMnJQXx8PIKCgiAIAl5%2B%2BWWYTCZpnsFgsAuLrToac4YrNQJAYGAgAgIC7MZUKpVTNd5///0u1xcWFtZurO3zEZHvYmAkoh4tJiZGeqPL6NGjYbPZUFpaivfffx8TJ04EAPTq1QsAUFBQgKioqO9dq6GhAcePH8ecOXPw8ssvS%2BNmsxn19fV2c8PCwqSQd6eOxpzhbI2uCAsLw%2Beff95uvLM1ElHPxcBIRPeUX/7yl/jggw9QUFCAxx9/HAqFAmPGjIGfnx9qa2sxYcKE732sIAgQRREqlcpuvLS01O7QNHDrEO3HH3%2BMK1euSHvxrFYrjhw50qm6na3RFQ899BDKysqg0%2BmQkpIijf/xj39sN7f1NTc3N0OtVsvy/ETkOxgYieieEhoaipdffhnr1q3DoUOHMHnyZPzgBz/AvHnzsGHDBpw/fx7JycnQaDS4cuUKTp8%2BjcDAQMybNw/BwcF46KGHUFxcjF69eqFv377461//iv/%2B7/%2BGRqOxe57s7Gx8/PHHmDFjBmbPng21Wo2SkhLcvHmzU3U7W6MrpkyZgh07dmDRokWYP38%2B%2BvfvjxMnTuCTTz4BYH%2BYW6vVAgC2bt2K5ORkKBQKxMbGtgvPRNQz8XMYieie8/zzzyMqKgpbtmyR9gz%2B7Gc/w8aNG/GPf/wDixcvRmZmJtavX4%2BLFy/ioYcekh77xhtvIDExEevWrcOcOXNw5swZbN%2B%2BHSEhIXbPodVqsX37dgQHB2Px4sVYvnw5YmNjkZOT0%2Bm6na3RWffddx927NiBUaNGYd26dZg7dy7q6urw61//GgDsXlNaWhqmTZuG3bt345lnnsHUqVPx3Xffdfq1EJFvEURRFD1dBBEReY/Wz3s8fvw4IiMjPV0OEXkBHpImIrqH7dq1CwAwcOBAtLS0oKKiAjt37sSkSZMYFolIwsBIRHQPU6vV2LFjBy5cuICWlhb827/9G7KyspCdne3p0ojIi/CQNBERERE5xDe9EBEREZFDDIxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQO/T%2BowK6pS/bXEAAAAABJRU5ErkJggg%3D%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAHKCAYAAACJ2ho6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1yTdf8/8Nc2mCAwlERIjUp0KIEiKoefCorHVLJEbxH9aqgZYmomFnm6Tck8lIiKEEXm8Tap1DRMrTtRy1Ph3Z12a0qkqIQohyECg%2B36/WG7cgznBkMgX0/zYftcn3323nvXdfHmcx0mEQRBABERERHRfUgbOgAiIiIiatxYMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMDYRX331FTw8PJCenm6w7LnnnoOHhweOHj1qsGzAgAF44YUXzH69mJgYDBw4sFaxxsfHw8PDAyqV6oF9N2zYgG%2B%2B%2BaZWr2PM5cuX4eHhgT179hjt9/3338PDwwNff/11jcsXLVoET09PvbaxY8fixRdfNCueX3/9FevWrcP169fNet6j7LvvvsPIkSPh4%2BMDDw8PfPvttw0dklFBQUGYP3%2B%2B0T5VVVXw8PDAhg0bHlJUxpWWlmLdunU4ffq0wTJztuP6JggC3nvvPQQHB8PT0xP%2B/v4AgK1bt2L37t0PNZbabP%2BW8Mcff2DdunU4f/78Q3/t2jh79iwiIiLg6%2BsLDw8PbN26taFDMtv91i9Tf7783Vg1dABkGj8/P0gkEpw4cQJDhw4V24uKivDrr7%2BiefPmOHnyJPr06SMu%2B%2BOPP5CTk4PIyEizX2/mzJkoLS21SOzGJCUl4bnnnkP//v3r/bUsZenSpZBIJGY95%2BLFi1i/fj0CAwPRpk2beors70Oj0WDWrFno2LEjkpKSYGtri/bt2zd0WH87d%2B7cwfr16yGTydCzZ8%2BGDue%2BDh48iJSUFEyfPh29evVCs2bNANz9ge7q6ornn3%2B%2BgSOsf3/88QfWr18PNzc3dOrUqaHDeaA333wTlZWVWLNmDRQKBdq1a9fQIZntfuvX448/jk8%2B%2BQRubm4NFFnDYMHYRDg5OaFjx444deqUXvvp06dhZWWFsLAwnDx5Um/ZiRMnAED8bdwcj9qGYI4OHTo0dAhm02g00Gg0kMvlDR2KSf744w%2BUlJRg0KBBCAwMNPv5arUaUqkUVlbcxf0dXLx4EQAwYcIEtGjRol5fSxAEqNVqsShtqsrKymBra9sgr63VanHp0iWMGzcOQUFBFhmzMW3TcrkcPj4%2BDR3GQ8dD0k2Iv78/srOzcePGDbHt5MmT8PLyQnBwMM6dO4fbt2%2BLy06dOgWZTIYePXqIbYIgYOvWrXjuuefg7e2Nnj17YubMmcjJydF7rZoOSRcVFeHNN99Ez5490a1bN0RFReH333%2B/7yG2/Px8vPrqq/D19UWvXr0wf/58MT7doTm1Wo1PP/0UHh4e8PDw0DvUk5eXhwULFqBPnz7w8vLCgAEDsGHDBmg0Gr3XycvLw8yZM9GtWzf06NEDc%2BbMwa1bt8xPsIlqOiS1bds2hIaGolu3bujWrRuGDBmCNWvWAADS0tLw2muvAQDGjRsnvtd7D2fs3LkToaGh8Pb2hp%2BfH1555RX89ttvBq%2B9Y8cODBo0CN7e3hg%2BfDjS09MNPivd4ZKPPvoI69evR0hICLy9vfHDDz%2BgvLwc77zzDp577jl0794dfn5%2BCA8Px7///W%2B919F9Pm%2B//TbS0tIwePBgdOnSBWFhYfjvf/8LQRCQkpKCkJAQdOvWDS%2B%2B%2BKLBOnQ/p0%2BfxoQJE9CtWzd07doV4eHhyMjIEJfHx8cjJCQEALB8%2BXJ4eHgYPT1Cd1rB3r17sWzZMvTu3RtdunTBtWvXAJi%2BHiUkJGDUqFHw8/ODr68vRo4cic8//xyCIOj1U6vVWLFiBXr16oWuXbsiIiICP//8s0nv/X5MiVH3uX788cf48MMPxdyHh4fjv//9r8GYD1pXLl%2B%2BjN69e4vvXbdeVj%2Bsbmw71klPT8eoUaPQvXt3%2BPj4YMCAAViwYMED3/eWLVsQERGBgIAA%2BPj4IDQ0FKmpqaiqqhL7BAUFYd26dQDu7gN1%2B5ugoCBkZ2fj%2BPHjYuz3riclJSVYvnw5QkJC4OXlhaCgILzzzjsoKysT%2B9y7nm/btg1DhgyBl5cXvvjiiwfGfq/CwkIsWrQIvXv3hpeXF/r37481a9ZArVbr9TN3H6rz/fffY8yYMQCA119/XXy/uufExMSgR48eOH/%2BPCIjI9GtWzdMmjQJAHD06FFERUUhKCgIXbp0waBBg7B48WIUFhbqvYbuFISsrKw6fd5paWno3LkztFottmzZAg8PD73Tei5cuICoqCj06NED3t7eeP755w0O%2BxrbptPS0uDh4YGTJ09i3rx58PPzQ/fu3REbG4uysjLx50H37t3Ru3dvrFq1Sm99Akzb1o2tX/c7JP2gfZsuPx4eHjh9%2BjQWLVoEf39/%2BPv7Y%2BbMmcjPz7/vOtAYNHypTiYLCAjAli1bcOrUKQwfPhzA3YKxX79%2B8PX1hUQiwY8//ojg4GBxmaenJxwcHMQx5s2bh71792LChAmYO3cuioqKkJiYiLFjx%2BKLL76Ak5NTja%2Bt0Wjw8ssv4/z585gxYwY6d%2B6MzMxMTJ069b7xvvLKKxg2bBj%2B8Y9/4Pz584iPj4dUKsXSpUthZWWFTz75BOPHj0efPn3w8ssvA4AYa15eHkaPHg1ra2vMmDEDTzzxBH788Uds2LAB169fR1xcHIC7v0VPmDABBQUFiImJgZubGw4fPow5c%2BaYlVutVmuwUzHVnj17sGTJEkyYMAF9%2B/aFRCLB5cuXkZ2dDQDo378/8vPzkZCQgCVLlsDDwwPAX7O4iYmJWLt2LUJDQxETE4PCwkKsW7cOY8aMwWeffSb227ZtG5YsWYIhQ4Zg/vz5KC4uRkJCAtRqdY2/dX/88cdo3749YmNjYWdnh6eeegrl5eVQqVSYMmUKWrduDbVaje%2B//x7Tp0/HypUrERoaqjfGN998g3PnziEmJgYAsGrVKkydOhWhoaHIzc3FokWLUFxcjBUrVmDWrFn4/PPPjebq%2BPHjmDJlCjw9PbFs2TJYW1tj69atePnll7FmzRoMGTIEY8eORefOnTFr1ixMnDgRQ4cONWm2Z9WqVfD19cXSpUsBAC1atDB5PQKA69evY%2BzYsXj88cchCAL%2B85//YPHixbhx4waioqLEfvPmzcOXX36JyZMnIzAwEBcuXMD06dMNfqiaypwYAWDz5s3o0KED5s2bBwBYs2YNXnrpJXzzzTewt7cHYNq68vjjjyMlJQVTp07FmDFjMHLkSADAY489pvd6xrZjAPjhhx/w2muvYfjw4ZgxYwaaNWuGa9eu1XheZHVXrlxBaGgo2rVrBysrK5w/fx7Jycn4/fffxfGTk5OxZcsWfP7559i4cSOaN2%2BOxx9/HH379sUrr7wCJycnsVjRrSelpaWIiIjAzZs3ERUVBaVSiQsXLmDdunW4ePEiUlNT9U4rOXDgAB577DHMmDEDjz32GFq1amXy56fbB129ehUzZ86EUqnEqVOnkJKSggsXLiApKQlA7fahOl26dEFcXBwWLFiAGTNmiIX%2B448/LvapqKhAdHQ0wsPDMXXqVGi1WjHHvr6%2B%2BMc//gEHBwdcvXoVH330EcaPH489e/YY7Dvq%2Bnn3798f7du3R0REBIYOHYqJEyeKub506RLCw8Ph7OyMhQsXwtHREbt378Ybb7yBwsJCg9OnatqmdebPn49BgwYhPj4e586dw5o1a6DRaHDx4kU8%2B%2ByzCA8Px9GjR/Hhhx/CxcUFEyZMEJ9ryraenJx83/WrJqbs2%2B41b9489OvXD%2B%2B99x6uX7%2BOVatW4Y033sBHH31kdF1oUAI1GUVFRUKnTp2EhQsXCoIgCAUFBYKHh4dw5MgRQRAEYdSoUcLy5csFQRCE69evC0qlUli5cqX4/NOnTwtKpVLYtGmT3rhXr14VvLy8hNWrV4ttc%2BbMEQYMGCA%2B/vrrrwWlUins3LlT77mJiYmCUqkUEhMTxbbVq1cLSqVS2Lhxo17fhQsXCj4%2BPnptXl5ewrx58wze67x58wRfX18hNzdXr/39998XPDw8hN9%2B%2B00QBEHYsmWLoFQqhcOHD%2Bv1i42NFZRKpbB7926Dse/13XffCUql0ujfzp076z0nPDxcmDhxovh40aJFgr%2B/v9HX2bdvn6BUKoXTp0/rtRcUFAheXl5CVFSUXntOTo7wzDPPCK%2B//rogCIJQWVkpBAQECOHh4Xr9rly5Inh6eup9Vr///rugVCqFQYMGCZWVlUbjqqqqEiorK4U33nhDCAsLE9srKysFpVIp9O7dW7hz547Y/tVXXwlKpVJ44YUXBK1WK7anpqYKSqVSuHTpktHXGzlypNCrVy%2B9MauqqoRnn31W6Nevn8F7qL4O1UT3GU6YMMFgmanrUXUajUaorKwUEhIShMDAQLH9woULglKpFFasWKHXf9euXYJSqaxxXb6XLq/3bi%2BmxqjLyYgRIwSNRiP2y8zMFJRKpbB//37xNUxdV27cuGEQj46p2/H7778vKJVKobS01Oh7fxBdzj/99FPB09NTKCkpMYiluLhY7zmDBw/W2xZ1EhMThc6dOwvnzp3Ta//yyy8FpVIpHDt2TBCEvz6Pnj17CiqVyqQ4q2//W7duFZRKpXDw4EG9fklJSYJSqRSOHz8uCIJ5%2B9CanDlz5r77tDlz5ghKpVLYtWuX0TG0Wq1QWVkpXLlyxWC/acnPW5fXuLg4vfYZM2YI3t7ewh9//KHXPmnSJMHHx0f8zI1t0zt37hSUSqWwbNkyvfaXX35ZUCqVwubNm/Xahw8fLowaNeq%2Bsd5vWxeE%2B69fum3x3s/C1H2bLv6lS5fqjZmcnCwolUrh1q1b9421ofGQdBPi6OiITp06iecqnj59GjKZDL6%2BvgCAnj17ist0/957/uLhw4chlUoRGhqKqqoq8a%2BLiwuUSqXBOZD30v32%2BOyzz%2Bq162Y6a6I7rKjj4eGBO3fuGBwKqcnhw4cRGBiIVq1a6cUaFBQEQRDEeE6ePAmFQiHOqupUnyl7kDfeeAOffvqpwd9BgwY98LldunRBYWEh5syZg2%2B%2B%2Bcak96dz5swZqNVqcXZHp127dvDz88Px48cBAFlZWSgoKDDI/xNPPIGuXbvWOHb//v1rnHlMT09HeHg4fHx84OnpiWeeeQa7du1CVlaWQd/AwEC986Dc3d0BAMHBwXozNLp23WHgmty%2BfRvnzp3DkCFD9MaUyWR47rnncO3aNVy%2BfPm%2Bz3%2BQmj4rU9cj4O5hsIkTJ6J79%2B7o3LkznnnmGSQmJuLWrVviZ6rbRp577jm91xk6dCik0trtTs2JEQD69u2r91q6GWvdFfi1WVeMedB23KVLFwB3L5RLT09HXl6eyWOfPXsWUVFR8Pf3F3M%2Bb948VFVV4ffffzc7Vp3Dhw%2BjU6dOUCqVejnVXRRY/VzwwMBAvSMx5jhx4gTs7e0NTpvQ3Z1Ctw3XZh9qrpq2gZs3b2LhwoUICgoSt/cBAwYAQI3bfH1%2B3idPnkSvXr3g4uKi1/7888/jzp07BqdWGNv/9u3bV%2B%2Bx7qK4mtqr353ClG3dHLXZt1W/0LP6dtwY8ZB0E%2BPv74%2BNGzciLy8PJ0%2BexDPPPAM7OzsAd6%2Bk3rhxI0pKSnDy5ElYWVmhe/fu4nNv3boFrVaLgICAGsd%2B6qmn7vu6RUVFaNasmXjIS6f64at7VT85XXfBRUVFhdH3qIv10KFDeOaZZ2pcrtuoi4qKajx8ZM4hJeDu4WFvb2%2BD9pYtWz7wuSNHjoRWq8Wnn36KGTNmQBAEeHt7Y/bs2Q%2B8YKOoqAgA4OzsbLCsdevW%2BOGHH/T63e%2B91nTuS%2BvWrQ3a0tPTMXv2bAwdOhRTpkxBq1atIJPJsHXrVuzdu9egv6Ojo95ja2tro%2B3Vz9m6V1FREQRBqDEuXVtRURGefPLJ%2B45hTE3jmroenTlzBlOmTEFAQADi4uLg6uoKKysr8epc3Tp7v89BLpdDoVDUKm5TY9S533ZVXl5uNEZdm7nnST1oOw4ICMD69euxZcsWvP7666isrIRSqcS0adP07uhQXU5ODsaPHw93d3fMmzcP7dq1g1wux5kzZ/D222%2BL76c2bt68iWvXrpmc05q2P1MVFRXV%2BHxnZ2dIJBLx86jNPtQc9vb2aN68uV6bRqNBZGQkCgoKMG3aNHTs2BG2traorKxEREREjTmur88bAIqLi%2B%2B7rwP%2BWnert9ekepzG9k33/swxdVs3R232bQ/ajhsjFoxNjK5gPHXqFE6dOqV3BZquODx9%2BjROnjwJb29vsZgE7q6gUqkU27dvr3Hmydj5GS1atEBFRQVKSkr0fhO/efOmJd5Wja/XpUsXzJgxo8blut9QW7RoUeN9yeorrppIJBKMHj0ao0ePRmlpKU6fPo21a9fi5ZdfxsGDB%2BHq6nrf5%2Bp2GjX9EL9x44ZYsOr61fS%2BzCkAvvjiCzz11FNYvXq13gyhsULPUlq0aAGJRKJ30ZaOrs2UAv1%2BarrVkanr0Zdffgm5XI7k5GS9K8kPHDhgMB5w93O4tyBTq9W1vl%2BhqTGaM54uxurq66T6gQMHYuDAgVCr1cjMzERKSgpee%2B01tGvXTpyRqu7rr79GWVkZEhMT9baRs2fP1jmeli1bQqFQiOe%2BVVf9XG1zb5N1rxYtWuB///ufQXt%2Bfj4EQdDbhutzH1rTezh//jx%2B/fVXrFq1Sm9WvKaZRXPU5vMG7hZz99vXAYbbf10%2Bl/sxdVs3R33v2xoLHpJuYnr27AmZTIYDBw7g4sWL8PPzE5c5ODigc%2BfO2L17N65du2ZwO51%2B/fpBq9UiPz8f3t7eBn%2BVSqXR1wWA/fv367V/%2BeWXdXo/crm8xt%2Bo%2BvXrhwsXLuCpp56qMVbdb23%2B/v5QqVQGV6LVNFv2MNjZ2aFv3754%2BeWXUVFRgUuXLgG4/%2Byqr68v5HK5wVWZ169fx6lTp8QZSnd3dzg5ORnkPycnp8YrZO9HIpHA2tpab0ecl5eHw4cPmzxGbdnb28PLywsHDx7Uy4NGo8HevXvRtm1bi9/OydT1CACsrKz0DvWWlZUZfC66bap6e3p6uniRQX3GaApz1hVzZv1NIZfLERAQgNdeew2CINRYSOno1sF7f2hrtVqkpaWZ9Xr3239cvnwZTk5ONea0bdu2Zrwr4wICAlBSUmJwpwHdFbS6bbiu%2B9DafFY15RgAPvnkE5PHeFBMpn7ewN1cHT9%2B3KBI3r17N5o3b17jUZ76YMq2Dtx//aquIfZtDYEzjE2Mvb09PD098fXXX0Mqleodcgbu7pQ2bdoEwPD%2Bi35%2BfggLC8Mbb7yBn376CT179oSNjQ3y8/Pxww8/wNPTU7x1Q3V9%2B/aFj48P3n77bahUKnh6eiIzM1PcyGp7/pbu3Mlvv/0WrVq1gr29PZ5%2B%2Bmm8%2BuqrOH78OMLDwzF%2B/Hg8/fTTqKiowNWrV3H48GEsW7YMzs7OGDlyJDZv3oy5c%2Bdi1qxZePLJJ/Htt9%2BK96B8GN58803Y2dnB19cXzs7OyM/PR3JyMhwdHcVDYh07dgRwd0fdrFkzNGvWDE888QRatGiBqKgorF27Fm%2B%2B%2BSaeffZZFBQUYP369bC1tUV0dDSAuzu4V155BUuWLMGrr76KF154AcXFxUhMTETr1q1Nzn%2B/fv2wcOFCLF26FAMGDEBubq44hqm3xamLOXPmYMqUKZg4cSIiIyMhk8mwfft2ZGVlISEhweKvZ%2Bp61LdvX2zZsgVz587F6NGjUVhYiA8//NDgPnZKpRLDhg3Dxo0bIZPJEBAQgF9//RUbN27Um82vjxhNZc664ujoCBcXFxw6dAh%2Bfn5QKBRwcnIyq6BavXo1bt68icDAQLi4uEClUmHTpk2wtrbWu6VXdb169YK1tTVee%2B01REZGoqKiAtu3bzfrCwOUSiUOHjyI9PR0tGvXDjY2NlAqlXjxxRdx6NAhjB8/HhMnToRSqYRGo0Fubi6OHTuGl156yWLFyciRI7Fjxw7MnTsXM2fORIcOHfDDDz%2BIt53S7Yfrug998skn0axZM%2BzZswdPPfUUbG1t4eLiYvQXig4dOqBt27ZYtWoVNBoNHBwc8O9//1s8r7I2avt5A8CMGTNw5MgR/N///R%2Bio6OhUCiwZ88eHDt2DLGxsQaH6%2BuDqds6cP/1qyYPe9/WEFgwNkH%2B/v74%2Beef0blzZ4MNrGfPnvj4449hbW2Nbt26GTz37bffRrdu3bBz505s27YNgiDAxcUFvr6%2BRnegMpkM77//PpYvX47k5GRUVVWhe/fuWLFiBcLDw2t9wviCBQuwdOlSvPrqqygvL0dgYCA%2B/vhjuLi44LPPPkNSUhI%2B%2BOAD3LhxA3Z2dmjXrh369Okjvl7z5s2xadMmLFu2DO%2B%2B%2By6kUil69%2B6Nd999FxEREbWKyVw9evTAnj17sH//fhQXF6Nly5bo2bMn3nvvPfEwxFNPPYXY2Fhs2bIFEyZMgEajwcqVKzFixAhMnz4drVq1Es8jtLW1hZ%2BfH1577TW930rHjRsHqVSKjz76CF9//TXatWuHadOmYf/%2B/Sbfd3L06NEoKCjAzp07sXPnTri5uWHatGnIycnBBx98UC/5uVdgYCA2btyI9evXIzY2FlqtFp07d8b7779vcOGSJZi6HvXu3RtxcXH48MMP8fLLL8PFxQVjxoyBQqHAokWL9MZcvnw5nJ2d8emnn2LTpk3w9PTE%2BvXr8corr9RrjOYwZ1155513sHLlSkRFRUGtVmPUqFF4%2B%2B23TX4tHx8fbN%2B%2BHStXrkRhYSEUCgW6dOmCzZs3ixdD1aRjx45ISEhAQkICZsyYgZYtWyI0NBQvvviieJutB5k1axYKCgowf/583LlzB25ubjh06BDs7e2xfft2pKSkYMeOHbh69SpsbGzQpk0b/L//9/8sOsNoa2uLzZs3Iz4%2BHh988AEKCwvh4uKCKVOmYPr06WK/uu5D7ezsEBcXhw0bNmDSpEmorKzErFmzxF8qayKXy/H%2B%2B%2B9j2bJlWLhwIaysrNCrVy989NFHBhe3mKq2nzdwt4D917/%2BhTVr1mDx4sVQq9Vwd3fHihUrHtq39Zizrd9v/arJw963NQSJIFS7Ky2RGXT30EpLSzN67grVj%2BLiYgwaNAjPPvssFi9e3NDhUCPGdaVx4j6UmgrOMJLJvvjiC9y8eRMdO3aERCLBf/7zH6SmpsLf3587uocgLy8PH3zwAfz8/NCiRQtcu3YNGzduRHl5Of7v//6vocOjRoTrSuPEfSg1ZSwYyWTNmzfHvn37cPnyZZSXl6N169YYNWoUZs2a1dChPRLkcjlycnKQnp6O4uJi2NrawsfHB3FxcQ88FESPFq4rjRP3odSU8ZA0ERERERnF2%2BoQERERkVEsGImIiIjIKBaMRERERGQUC0YiIiIiMopXSTdxgiBAq%2BV1S5YglUqYSwtgHi2HubQc5tIymEfLkEol9fJd2fWJBWMTJ5FIoFLdQVVV7b7Hlu6yspKiZUs75rKOmEfLYS4th7m0DObRcpyc7CCTNa2CkYekiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGWTV0AERERGQZWkFAkbrUImO1kNtBKpFYZCxq%2BlgwEhER/U0UqUvx7vkDkEnqdgBRI2gR02kwnJrZWygyaupYMBIREf2NyCRSWElldRtEa5lY6O%2BD5zASERERkVEsGImIiIjIKBaMRERERGRUg5/DePnyZaSmpuKnn37CxYsX0b59e%2Bzbt0%2Bvj4eHx32ff/ToUbRu3RoAEBISgmvXrhn0%2Be9//4tmzZqJj2/fvo2VK1fiwIEDUKvV8Pf3x8KFC9G2bVu952VnZyMuLg4//vgjbG1tMWzYMMTExMDGxkavX0ZGBuLj45GVlQVXV1e8%2BOKLGDdunEEcqamp2LZtG/Lz86FUKvH666/D39//wUkiIiIiakANXjBevHgRGRkZ6Nq1K7RaLQRBMOjzySefGLS98cYbsLW1FYtFncGDB2PSpEl6bXK5XO/xnDlzcO7cOSxcuBD29vZYu3YtIiMj8cUXX4jFoEqlwsSJE9GmTRusXbsWBQUFeOedd1BUVIR3331XHOvMmTOIjo7GiBEjEBsbi8zMTMTFxUEul2P06NFiv9TUVMTHx2P27Nnw9PREWloaXnrpJaSlpRktiImIiIgaWoMXjCEhIRgwYAAAIDY2FmfPnjXo4%2BPjo/f46tWr%2BP333zF37lyDvq1atTLof6%2BffvoJhw8fRkpKCoKDgwEASqUSAwcOxK5duzB27FgAwI4dO6BSqbB79244OTkBAGQyGWJiYjBt2jS4u7sDABITE%2BHp6Ylly5YBAAICApCbm4uEhASEhYVBKpVCrVYjKSkJEyZMwOTJkwEAfn5%2BCA0NRXJyMuLj483KGREREdHD1ODnMEql5oewb98%2BSCQSDB8%2B3OznZmRkQKFQICgoSGxr06YNfH19kZGRIbYdOXIEgYGBYrEI3J29lMvlYj%2B1Wo0TJ05g2LBheq8RGhqK/Px8/PLLLwCAzMxMlJSU6MUrk8kwdOhQZGRk1DirSkRERNRYNPgMY218%2BeWX6NmzJ1xdXQ2W7d27Fzt37oS1tTV69OiBmJgYvUO%2BWVlZePrppyGpdvf6Dh064NixY3r9wsLC9PrI5XK4ubkhKysLAHDlyhVUVlaiffv2BmPpxvDy8hL7V%2B/n7u6O0tJS5OXl1fheTCWTNXjd3%2BTpcshc1g3zaDnMpeU8SrmUaaSQ/PmnLiSQQGYlhZXVXzl7lPJY35riF%2Bg0uYLx/Pnz%2BPXXX7FkyRKDZSEhIejSpQvatGmDnJwcJCcnIyIiArt378YTTzwB4O65iQ4ODgbPVSgUKC4uFh%2BrVCooFAqj/XT/Vu%2Bne6xbrlKpIJfLDS6WcXR0BAAUFRXVqWu5XV0AACAASURBVGBUKGxr/VzSx1xaBvNoOcyl5TwKuawq094t9Gpx9O5eglaAo2NztLS1M1j2KOSRDDW5gnHv3r2wtrbG4MGDDZYtWLBA/P8ePXqgV69eePbZZ5GamorFixeLy6rPLj6o/V6CIBj0M2W8mvroDkWb8rrGqFRl0Gh4W/66kMmkUChsmcs6Yh4th7m0nEcpl8UVd6Cp0kIirdvPFY1Wi%2BLiO7Aq159hfFTyWN8cHW1rdUpeQ2pSBaMgCEhPT0efPn3QokWLB/Zv3bo1unfvjnPnzoltCoUCubm5Bn2rzygqFAqoVCqDfiUlJeIFL7oZwntnJnVj6cbQ/VtRUYGKigq92/vo%2BunGqS2NRouqKm68lsBcWgbzaDnMpeU8CrnUVGkh/PmnLgQI0FRpUSUzzNejkMf61hQvXWhS5e2PP/6I69evIzQ01OTnVL%2BgxN3dHdnZ2Qbtly5dEgtBXT/duYc6arUaV65cEfu5ubnB2toav/32m8FYujHu/bf6eFlZWbCzs4OLi4vJ74eIiIjoYWtSBePevXvRvHlz9OvXz6T%2BeXl5yMzMhLe3t9gWHBwMlUqFo0ePim25ubnIzMwUb7MDAEFBQThx4gQKCwvFtkOHDkGtVov95HI5AgICsH//fr3X3bdvH5ydneHp6QkA8PX1hYODA9LT08U%2BGo0G%2B/fvR3BwcJ0PSRMRERHVpwY/JF1WVibepubatWu4ffs2vvrqKwB371Wou61NVVUVDhw4gAEDBsDW1vCE23379uHw4cMICgpC69atkZOTg5SUFMhkMkRGRor9unbtir59%2B2L%2B/PmIjY2Fvb09EhIS0LZtW7zwwgtiv/DwcGzduhXR0dGIjo7GrVu3sHz5coSGhurNRE6fPh3jx4/HggULEBoaiszMTKSlpWHJkiXi%2BQlyuRzTpk1DfHw8nJycxBt35%2BTkYPXq1ZZPKhEREZEFNXjBeOvWLcyaNUuvTfd48%2BbN4lfnHTt2DIWFhfe992K7du2Ql5eHZcuWoaSkBA4ODggICMDMmTPFK6R13nvvPaxYsQJvvfUWKisr4e/vj3Xr1uldxaxQKLBp0ybExcVhxowZsLGxwfDhwxETE6M3Vrdu3bBhwwasXr0au3fvhqurKxYsWKD3LS8AMGnSJAiCgC1btuDmzZtQKpVISUnht7wQERFRoycReNfoJq%2BwsJQnINeRlZUULVvaMZd1xDxaDnNpOY9SLgsqbiP%2BwiFYSWV1GqdKq8Fsj4FwamYvtj1KeaxvTk52Te5%2Blk0rWiIiIiJ66FgwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkFAtGIiIiIjKKBSMRERERGcWCkYiIiIiMYsFIREREREaxYCQiIiIio1gwEhEREZFRLBiJiIiIyCgWjERERERkVIMXjJcvX8aiRYswYsQIeHp6Yvjw4QZ9YmNj4eHhYfD3yJEjBn1TU1MREhICb29vhIWF4eTJkwZ9bt%2B%2BjUWLFsHf3x/dunVDVFQUrl27ZtAvOzsbkydPho%2BPDwIDAxEXF4fy8nKDfhkZGXj%2B%2Befh7e2NgQMHYtu2bTW%2BV1NiIyIiImpsrBo6gIsXLyIjIwNdu3aFVquFIAg19nviiSfw7rvv6rW5u7vrPU5NTUV8fDxmz54NT09PpKWl4aWXXkJaWho8PDzEfnPmzMG5c%2BewcOFC2NvbY%2B3atYiMjMQXX3wBGxsbAIBKpcLEiRPRpk0brF27FgUFBXjnnXdQVFSkF8eZM2cQHR2NESNGIDY2FpmZmYiLi4NcLsfo0aPNjo2IiIiosWnwgjEkJAQDBgwAcHcm8ezZszX2s7GxgY%2BPz33HUavVSEpKwoQJEzB58mQAgJ%2BfH0JDQ5GcnIz4%2BHgAwE8//YTDhw8jJSUFwcHBAAClUomBAwdi165dGDt2LABgx44dUKlU2L17N5ycnAAAMpkMMTExmDZtmlisJiYmwtPTE8uWLQMABAQEIDc3FwkJCQgLC4NUKjU5NiIiIqLGqMEPSUullgkhMzMTJSUleoe0ZTIZhg4dioyMDHHmMiMjAwqFAkFBQWK/Nm3awNfXFxkZGWLbkSNHEBgYKBaLADB48GDI5XKxn1qtxokTJzBs2DC9WEJDQ5Gfn49ffvnFrNiIiIiIGqMGn2E01ZUrV9CjRw%2BUl5dDqVQiOjpanJkEgKysLABA%2B/bt9Z7n7u6O0tJS5OXlwdXVFVlZWXj66achkUj0%2BnXo0AHHjh3TGy8sLEyvj1wuh5ubm/haV65cQWVlpcFrdujQQRzDy8vL5NhqSyZr8Lq/ydPlkLmsG%2BbRcphLy3mUcinTSCH5809dSCCBzEoKK6u/cvYo5bG%2BSer28TSIJlEwdu7cGd7e3ujQoQNKSkrwr3/9C9OnT0dCQgKGDBkC4O45h3K5XDwHUcfR0REAUFRUBFdXV6hUKjg4OBi8hkKhQHFxsfhYpVJBoVAY7af7t3o/3WPdclNjqy2FwrbWzyV9zKVlMI%2BWw1xazqOQy6oy7d1Cr45H7wStAEfH5mhpa2ew7FHIIxlqEgXjxIkT9R6HhIQgPDwca9euFQtGAAazhgDEw733Lqupn7H26uNV72fKeKbGVhsqVRk0Gm2dxnjUyWRSKBS2zGUdMY%2BWw1xazqOUy%2BKKO9BUaSGR1u3nikarRXHxHViV688wPip5rG%2BOjrYWOyXvYWkSBWN1UqkUgwYNwqpVq1BeXg4bGxsoFApUVFSgoqICzZo1E/uqVCoAf83mKRQK5ObmGoxZfUZRoVCIz71XSUmJeMGLbsx7ZybvfU3deKbGVlsajRZVVdx4LYG5tAzm0XKYS8t5FHKpqdJC%2BPNPXQgQoKnSokpmmK9HIY/1rSleutC0ytt7VL9QRFfE6c4X1MnKyoKdnR1cXFzEftnZ2QbPv3Tpkt5tetzd3Q3GUqvVuHLlitjPzc0N1tbW%2BO233wzGujcmU2MjIiIiaoyaZMGo1Wpx4MABdOzYUTwv0NfXFw4ODkhPTxf7aTQa7N%2B/H8HBweJh3%2BDgYKhUKhw9elTsl5ubi8zMTPE2OwAQFBSEEydOoLCwUGw7dOgQ1Gq12E8ulyMgIAD79%2B/Xi2/fvn1wdnaGp6enWbERERERNUayxYsXL27IAMrKyvDNN9/g0qVL%2BO6773Dz5k24urri0qVLcHJyQkFBAaZPn47KykqUlJTg3LlziIuLw5kzZ/DWW2%2BJs3cymQwymQzJycmwsbFBRUUFEhIScObMGaxcuRKtWrUCALi6uuLs2bP45JNP4OLigtzcXCxatAg2NjZYsmQJrKzuHqXv2LEjPvvsMxw9ehQuLi44c%2BYMli1bhoEDByI8PFyM/4knnkBycjJyc3NhZ2eHvXv3YuPGjXjzzTfh5eVlVmy1VV5eCa22Cc5vNyJSqQS2tnLmso6YR8thLi3nUcplmUaNE7d%2Bg1RSt/kgrSAgsJU7bK3kYtujlMf6Zmsrh7SO55k%2BbBKhgW8CePXqVfTv37/GZZs3b4aHhwfefPNNnDt3DgUFBbC2toaXlxemTp2KPn366PUXBAGpqanYtm0bbt68CaVSiblz5yIgIECv3%2B3bt7FixQocOHAAlZWV8Pf3x8KFC9G2bVu9ftnZ2YiLi8OPP/4IGxsbDB8%2BHDExMQZXO2dkZGD16tXIysqCq6srIiMjMW7cuFrFVhuFhaU8n6SOrKykaNnSjrmsI%2BbRcphLy3mUcllQcRvxFw7BSiqr0zhVWg1mewyEUzN7se1RymN9c3Kya3K3J2rwgpHqjhtv3XFHaBnMo%2BUwl5bzKOWSBWPT0BQLxqYVLRERERE9dCwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRUSwYiYiIiMgoFoxEREREZJRVQwdAREREjYsgCChS39Frk2mkqCrTorjiDjRVWpPHaiG3g1QisXSI9JCxYCQiIiI9GkFAStYRWEtlYpsEEsispNBUaSFAMHEcLWI6DYZTM/v6CpUeEhaMREREZEAKKayqFYxWUikkUonJBSNMn4ikRo7nMBIRERGRUSwYiYiIiMgoFoxEREREZBQLRiIiIiIyigUjERERERnFgpGIiIiIjGLBSERERERGsWAkIiIiIqNYMBIRERGRURYpGHNzc3HkyBEUFhZaYjgiIiIiakTM/mrA%2BPh4lJWVYd68eQCA77//HlFRUaisrIRCocDWrVvRsWNHiwdKRERERA3D7BnGgwcPokOHDuLjNWvWwMPDA%2BvXr0ebNm2QlJRk0QCJiIiIqGGZPcOYl5cHNzc3AEBhYSF%2B/vlnpKSkoE%2BfPqioqMCKFSssHiQRERERNRyzZxgFQYAgCACAzMxMyGQy9OzZEwDQunVrnsdIRERE9DdjdsHo5uaGb7/9FgCQnp4Ob29v2NjYAABu3LgBhUJh1niXL1/GokWLMGLECHh6emL48OF6yzUaDT744AOMHz8eAQEB6NmzJ8aNG4fjx48bjBUSEgIPDw%2BDvxUVFXr9bt%2B%2BjUWLFsHf3x/dunVDVFQUrl27ZjBednY2Jk%2BeDB8fHwQGBiIuLg7l5eUG/TIyMvD888/D29sbAwcOxLZt22p8r6mpqQgJCYG3tzfCwsJw8uRJc1JFRERE1CDMPiQ9ZswYLFmyBHv27IFKpcKyZcvEZZmZmXrnN5ri4sWLyMjIQNeuXaHVasXZS53y8nK8//77eP755zF58mRYWVlh165diIyMRFJSEvr166fXf/DgwZg0aZJem1wu13s8Z84cnDt3DgsXLoS9vT3Wrl2LyMhIfPHFF2Lxq1KpMHHiRLRp0wZr165FQUEB3nnnHRQVFeHdd98Vxzpz5gyio6MxYsQIxMbGIjMzE3FxcZDL5Rg9erTYLzU1FfHx8Zg9ezY8PT2RlpaGl156CWlpafDw8DArZ0REREQPk9kFY0REBBwdHXHmzBl4e3tjxIgR4rKKigq88MILZo0XEhKCAQMGAABiY2Nx9uxZveU2Njb45ptv4OjoKLb17t0bv//%2BOz766CODgrFVq1bw8fG57%2Bv99NNPOHz4MFJSUhAcHAwAUCqVGDhwIHbt2oWxY8cCAHbs2AGVSoXdu3fDyckJACCTyRATE4Np06bB3d0dAJCYmAhPT0%2BxcA4ICEBubi4SEhIQFhYGqVQKtVqNpKQkTJgwAZMnTwYA%2BPn5ITQ0FMnJyYiPjzcrZ0REREQPU63uwzhs2DAsWLBAr1gEgKVLlxq0PTAAqfEQZDKZXrEIABKJBJ06dcKNGzfMei3g7uFjhUKBoKAgsa1Nmzbw9fVFRkaG2HbkyBEEBgaKxSJwd/ZSLpeL/dRqNU6cOIFhw4bpvUZoaCjy8/Pxyy%2B/ALg781pSUqJ3uF0mk2Ho0KHIyMgwmFUlIiIiakzMnmHUycrKwunTp1FYWIhRo0bB2dkZeXl5cHR0FA/r1hetVoszZ86Is3z32rt3L3bu3Alra2v06NEDMTExeod8s7Ky8PTTT0Mikeg9r0OHDjh27Jhev7CwML0%2Bcrkcbm5uyMrKAgBcuXIFlZWVaN%2B%2BvcFYujG8vLzE/tX7ubu7o7S0FHl5eXB1dTU3DSKZjF/YU1e6HDKXdcM8Wg5zaTmPUi5lGikkf/6pCwkkuPvfX%2BPofmxKJAAE08aXQAKZlRRWVn//3JtDUrePp0GYXTBqNBosXLgQu3btgiAIkEgkCAoKgrOzM/75z3%2Bic%2BfOmDVrVn3EKtqyZQuys7OxZMkSvfaQkBB06dIFbdq0QU5ODpKTkxEREYHdu3fjiSeeAHD33EQHBweDMRUKBYqLi8XHKpWqxgt47u2n%2B7d6P91j3XKVSgW5XG5QSOtmTouKiupUMCoUtrV%2BLuljLi2DebQc5tJyHoVcVpVp7xZoDzh69yCyPwvFmgo9cwpvQSvA0bE5Wtra1SkeanhmF4xJSUnYt28fXn/9dfTp00fvMGufPn2wa9euei0YT506hVWrVmHSpEni7Xx0FixYIP5/jx490KtXLzz77LNITU3F4sWLxWXVZxcf1H4vXZFsyvPuba%2Bpj%2B5QtCmva4xKVQaNRlunMR51MpkUCoUtc1lHzKPlMJeW8yjlsrjiDjRVWkikdfu5oqkSAAlQhb/yJZHczaVGo4WpZ1JptFoUF9%2BBVTlnGO/l6Gj7wFPyGhuzC8Zdu3YhOjoakZGR0Gg0esvatWuHq1evWiy46s6fP4/o6GgMGDAAc%2BfOfWD/1q1bo3v37jh37pzYplAokJuba9C3%2BoyiQqGASqUy6FdSUiIeCtfNEN47M6kbSzeG7t%2BKigpUVFSgWbNmBv2qn6NpLo1Gi6qqv/dO8GFhLi2DebQc5tJyHoVcaqq0EP78UxcCBEgEif44fx6GFgSYPL4AAZoqLapkf%2B%2B8m6spXrpgdnmbl5d336uQmzVrhtLS0joHVZMrV65gypQp8PT0xMqVK02elat%2BQYm7uzuys7MN2i9duqR3TqS7u7t47qGOWq3GlStXxH5ubm6wtrbGb7/9ZjCWbox7/60%2BXlZWFuzs7ODi4mLSeyEiIiJqCGYXjI899hhycnJqXJadnV2nc/HuJz8/H5MmTUKrVq2wYcMGg/sq3k9eXh4yMzPh7e0ttgUHB0OlUuHo0aNiW25uLjIzM8Xb7ABAUFAQTpw4offNNYcOHYJarRb7yeVyBAQEYP/%2B/Xqvu2/fPjg7O8PT0xMA4OvrCwcHB6Snp4t9NBoN9u/fj%2BDg4DofkiYiIiKqT2Yfkg4ODkZycjKCgoLQqlUrAHfPwSspKcGWLVsM7ov4IGVlZeJtaq5du4bbt2/jq6%2B%2BAnD3XoXNmzfHlClTcOvWLcTGxoqzdzq62c59%2B/bh8OHDCAoKQuvWrZGTk4OUlBTIZDJERkaK/bt27Yq%2Bffti/vz5iI2Nhb29PRISEtC2bVu9e0iGh4dj69atiI6ORnR0NG7duoXly5cjNDRUbyZy%2BvTpGD9%2BPBYsWIDQ0FBkZmYiLS0NS5YsEc9PkMvlmDZtGuLj4%2BHk5CTeuDsnJwerV682K19ERERED5tEMPMmgDdv3sSoUaNQUlICf39/fPvtt%2BjVqxcuXrwIKysrfPbZZ2jRooXJ4129ehX9%2B/evcdnmzZvRtm3b%2By4HgAsXLgAA/vOf/%2BC9997DxYsXUVJSAgcHBwQEBGDmzJkGt7O5ffs2VqxYgQMHDqCyshL%2B/v5YuHAh2rZtq9cvOzsbcXFx%2BPHHH2FjY4Phw4cjJibG4GrnjIwMrF69GllZWXB1dUVkZCTGjRun10cQBKSmpmLbtm24efMmlEol5s6di4CAAJNzdT%2BFhaV/%2B/Ny6puVlRQtW9oxl3XEPFoOc2k5j1IuCypuI/7CIVhJZXUap7yqEhJI0Mzqr3klCSSwspKi6s/zJE1RpdVgtsdAODWzr1M8fzdOTnZN7jZPZheMwN2ice3atcjIyMCtW7fQokUL9OvXDzNnzoSzs3N9xElGPAo7wfr2KP1AqU/Mo%2BUwl5bzKOWSBWPT0BQLxlrduLtVq1YG90AkIiIior8ni5S3ubm5OHLkiN4FIkRERET092D2DGN8fDzKysowb948AMD333%2BPqKgoqNVqODo6YuvWrejYsaPFAyUiIiKihmH2DOPBgwfF70oGgDVr1sDDwwOJiYlo06YNkpKSLBogERERETUss2cY8/Ly4ObmBgAoLCzEzz//jJSUFPTp0wcVFRVYsWKFxYMkIiIiooZjdsEoCIL4LSmZmZmQyWTidzq3bt2a5zESEdEjQysIKFJb5hvOWsjtIOUXOVAjZXbB6Obmhm%2B//RaBgYFIT0%2BHt7e3eF/CGzdu6H0fMxER0d9ZkboU754/AJmkbteQagQtYjoN5u1nqNEyu2AcM2YMlixZgj179kClUmHZsmXisszMTL3zG4mIiP7uZBJpne97iL/37SHpb8DsgjEiIgKOjo44c%2BYMvL29MWLECHFZRUWF3tfrEREREVHTV6sbdw8bNgzDhg0zaF%2B6dGmdAyIiIiKixqVpfS8NERERET10tZphPH36NLZs2YKsrCyUl5cbLP/mm2/qHBgRERERNQ5mzzD%2B8MMPePHFF1FSUoKsrCy0b98eLi4uyM3NhZWVFfz8/OojTiIiIiJqIGYXjOvWrcPIkSPx4YcfAgBeffVVbN%2B%2BHZ9//jlKS0sxcOBAiwdJRERERA3H7ILx4sWLGDBgACR/3lxUo9EAADp16oTo6GgkJiZaNkIiIiIialBmF4xlZWWws7ODVCqFXC7X%2B2aX9u3bIysry6IBEhEREVHDMrtgbNOmDW7evAkA6NChAzIyMsRlp0%2BfRosWLSwXHRERERE1OLOvkvbz88OpU6cwZMgQjB49Gm%2B99RaysrIgl8vx3XffITIysj7iJCIiIqIGYnbBOGPGDBQXFwMAxo4di/LycuzduxcAMG3aNERFRVk2QiIiIiJqUGYXjE5OTnBychIfR0ZGclaRiIiI6G%2BsVjfu1snLy0NRURFatGgBFxcXS8VERERERI1IrQrGgwcP4r333sOVK1fENjc3N8yePRtDhgyxWHBERERE1PDMLhjT09Px2muvoX379pg%2BfTpatWqF/Px8pKenY/bs2dBqtRg6dGh9xEpEREREDcDsgjExMRFBQUFITk6GVPrXXXmmT5%2BOqVOnIjExkQUjERER0d%2BI2fdhvHLlCiIiIvSKRQCQSqWIiIjQO0xNRERERE1frW7cXVZWVuOy8vJyPP7443UOioiIiIgaD7MLxkmTJmHDhg0oKCjQa7916xaSkpIwadIkiwVHRERERA3PpHMY4%2BLi9B7fvn0b/fv3R0BAAJydnZGfn48TJ06gZcuWuHTpUr0ESkREREQNw6SCcevWrTW2f/vtt3qPy8rKsG3bNixYsKDukRERERFRo2BSwXj%2B/Pn6joOIiIioRlpBQJG61GLjtZDbQSqRWGy8R0GdvumFiIiIqL4VqUvx7vkDkEnMvvTCgEbQIqbTYDg1s7dAZI8OFoxERETU6MkkUlhJZXUfSFv3IR5FdS/ViYiIiOhvjQUjERERERnFgpGIiIiIjDKpYHznnXeQm5sLALh%2B/ToqKyvrNSgiIiIiajxMKhg3bdqE/Px8AED//v3xv//9z2IBXL58GYsWLcKIESPg6emJ4cOH19gvIyMDzz//PLy9vTFw4EBs27atxn6pqakICQmBt7c3wsLCcPLkSYM%2Bt2/fxqJFi%2BDv749u3bohKioK165dM%2BiXnZ2NyZMnw8fHB4GBgYiLi0N5eXm9xkZERETU2JhUMDo6OuLmzZsAAEEQLBrAxYsXkZGRgSeffBLu7u419jlz5gyio6Ph6emJDz74AC%2B88ALi4uKQlpam1y81NRXx8fEYN24cUlJS8OSTT%2BKll17ChQsX9PrNmTMH//73v7Fw4ULEx8fjxo0biIyM1CsGVSoVJk6ciNLSUqxduxZvvPEG9u7da3BTckvHRkRERNTYmHRbna5du2L%2B/Pno0qULAGDFihVwcHCosa9EIkFSUpLJAYSEhGDAgAEAgNjYWJw9e9agT2JiIjw9PbFs2TIAQEBAAHJzc5GQkICwsDBIpVKo1WokJSVhwoQJmDx5MgDAz88PoaGhSE5ORnx8PADgp59%2BwuHDh5GSkoLg4GAAgFKpxMCBA7Fr1y6MHTsWALBjxw6oVCrs3r0bTk5OAACZTIaYmBhMmzZNLG4tGRsRERFRY2TSDOM///lP%2BPr64vfff4dEIsHly5fx66%2B/3vevWQFIjYegVqtx4sQJDBs2TK89NDQU%2Bfn5%2BOWXXwAAmZmZKCkp0TukLZPJMHToUGRkZIgzoxkZGVAoFAgKChL7tWnTBr6%2BvsjIyBDbjhw5gsDAQLFYBIDBgwdDLpeL/SwdGxEREVFjZNIMY9u2bZGYmAgA6NSpEzZs2CDONta3K1euoLKyEu3bt9dr79ChAwAgKysLXl5eyMrKAgCDfu7u7igtLUVeXh5cXV2RlZWFp59%2BGpJqXwnUoUMHHDt2THyclZWFsLAwvT5yuRxubm7ia1k6ttqSyXixe13pcshc1g3zaDnMpeXUZy5lGikkf/6pCwkkkFlJYWVVtxgtGc/d//4aR/djUyIBIJg2fmN7X5aMqU4xNMFvJTT7m142b95833MN60NxcTEAQKFQ6LXrHuuWq1QqyOVy2NjY6PVzdHQEABQVFcHV1RUqlarGw%2BkKhUIcSzde9des3s/SsdWWQmFb6%2BeSPubSMphHy2EuLac%2BcllVpr1bfDzgaNmDCFoBjo7N0dLWrlHEI/uzMKupqDKn8G5s78uSMT1qzC4Y/fz8ANy9uvnEiRMoKipCy5Yt4e/vjyeffNLiAepUnxGsqb2mPrrDvQ/qZ6y9%2BnjV%2B1kyttpQqcqg0fC7jupCJpNCobBlLuuIebQc5tJy6jOXxRV3oKnSQiKt235co9WiuPgOrMrrVhBZLJ4qAZAAVfd8j55EcjeXGo0Wpp5J1djelyVjqgtHR9sHnpLX2JhdMAqCgKVLl2LHjh3Qav9akaRSKSIiIgyuIq4r3SzcvbN/wN1ZO%2BCv2TyFQoGKigpUVFSgWbNmBv104ygUCvGektXHu3emUKFQiM%2B9V0lJiTjDaunYakuj0aKqij9QLIG5tAzm0XKYS8upyNJOlwAAIABJREFUj1xqqrQQ/vxTFwIEaKq0qJLVLT5LxiMRJPrj/HkYWhBg8viN7X1ZMqY6xdAEL10wu7z9%2BOOPsX37dowZMwY7d%2B5ERkYGdu7cifDwcGzfvh0ff/yxRQN0c3ODtbU1fvvtN732S5cuAYBYvOn%2B1Z0vqJOVlQU7Ozu4uLiI/bKzsw0uNLl06ZLeoXZ3d3eDsdRqNa5cuSL2s3RsRERERI2R2QVjWloaxo8fj3/%2B85/o0qULXFxc0KVLFyxatAgRERHYuXOnRQOUy%2BUICAjA/v379dr37dsHZ2dneHp6AgB8fX3h4OCA9PR0sY9Go8H%2B/fsRHBwsHvYNDg6GSqXC0aNHxX65ubnIzMwUb7MDAEFBQThx4gQKCwvFtkOHDkGtVov9LB0bERERUWNk9iHpnJwc9OvXr8Zl/fr1wyeffGLWeGVlZeJtaq5du4bbt2/jq6%2B%2BAnD3fEknJydMnz4d48ePx4IFCxAaGorMzEykpaVhyZIl4jkAcrkc06ZNQ3x8PJycnODp6Ym0tDTk5ORg9erV4ut17doVffv2xfz58xEbGwt7e3skJCSgbdu2eOGFF8R%2B4eHh2Lp1K6KjoxEdHY1bt25h%2BfLlCA0N1ZuJtGRsRERERI2R2QWjg4MDrl%2B/XuOy69evw97e3qzxbt26hVmzZum16R5v3rxZ/Pq%2BDRs2YPXq1di9ezdcXV2xYMECjB49Wu95kyZNgiAI2LJlC27evAmlUomUlBR4eHjo9XvvvfewYsUKvPXWW6isrIS/vz/WrVundxWzQqHApk2bEBcXhxkzZsDGxgbDhw9HTEyM3liWjo2IiIiosZEIZt41OiYmBsePH8f7778PLy8vsf1///sfpk6dioCAAKxatcrigdL9FRaW8qT4OrKykqJlSzvmso6YR8thLi2nPnNZUHEb8RcOwUoqq9M4VVoNZnsMhFMz8yZd6iue8qpKSCBBM6u/5pUkkMDKSoqqPy9AMUVje1%2BWjKkunJzsmtw9Vs2eYZwzZw7GjBmD0aNHo0OHDnB2dkZ%2Bfj4uXbqE1q1bY86cOfURJxERERE1ELPL28cffxy7d%2B/GlClTYGtri6tXr8LW1hZTp07Frl276nQDaiIiIiJqfMyeYQQAJycnziQSERERPSKa1gF0IiIiInroWDASERERkVEsGImIiIjIKBaMRPT/27v7uKbuew/gn5NACAUCUi1cnDhFwxVlomtFWoVeO6stoLXorX11ra1cOsGnOZnaTp11zIdqi%2BK0FKW%2BnGLruD681Emtba%2BRbsNtQlttbe8lsqKOWp9CECQhybl/KGcGaEzIgST4eVtfml9%2B%2BeWbb/Hw4ZyTHCIiIodcDoxms7nddZiJiIiIqOdyKTCaTCYMHz4cH374YVfVQ0RERERexqXAGBAQgLCwMAQGBnZVPURERETkZVz%2BHMb/%2BI//wLFjxzBmzJiuqIeIiOieI4oiDOYmt9cxmJvg5FX7iFzicmBMTU3Fr371K7zyyit4/PHH0adPHwiCYDdn6NChshVIRETU01lFEUX6E/B381rJZpsFSig7d1UOIgdc/prKzMwEAOzfvx8HDhywu08URQiCgLNnz8pTHRER0T1CAQX83AyMFptNpmqI7LkcGFevXt0VdRARERGRl3I5ME6ZMqUr6iAiIiIiL%2BXWB3efO3cOp06dQlOT%2ByfqEhEREZF36lRgPHDgAJKTk5Gamoqf/vSnqKmpAQDMnz8ff/jDH2QtkIiIiIg8y%2BXAWFZWhiVLliAuLg7Lli2zu%2BrL0KFDUVZWJmuBRERERORZLgfGoqIiPP300ygsLMQzzzxjd9/AgQNRXV0tW3FERERE5HkuB0a9Xo/U1NQO7wsLC4PBYHC7KCIiIiLyHi4HxsDAQDQ0NHR436VLlxAaGup2UURERETkPVwOjCNGjEBJSYnduYut9u3bh1GjRslSGBERERF5B5cD4%2BzZs/Hpp59i6tSp2LlzJwRBwAcffIBZs2bh73//O2bNmtUVdRIRERGRh7gcGOPj47F161Y0NTVhzZo1EEURb7/9NmpqalBUVAStVtsVdRIRERGRh3Tq%2BuSjR49GWVkZamtrceXKFfTq1QsDBgyQuzYiIiIi8gKdCoytoqOjER0dLVctREREROSFOhUYL1y4gKKiIpw8eRIGgwFhYWFITExEVlYW%2BvXrJ3eNRERERORBLp/DePbsWUyZMgX79u3DAw88gEceeQQPPPAA9u3bhylTpuDs2bNdUScREREReYjLexhXrVqF8PBwbN%2B%2BHVFRUdL4xYsXMXPmTKxatQo7d%2B6UtUgiIiIi8hyX9zB%2B/vnnmDt3rl1YBIC%2Bfftizpw5%2BPzzz2UrjoiIiIg8z%2BXAGBISgpCQkA7v02g0CA4OdrsoIiIiIvIeLgfGtLQ0lJaWdnjfH/7wh%2B%2B9zjQRERER%2BSanzmH84IMPpL8PHToUR48exdSpU5GWlobevXvjypUrOHz4MK5du4aJEyd2WbFERERE1P2cCozz5s2DIAgQRVH6s66uDmfOnGk3d9GiRUhPT5e9UCIiIiLyDKcC4%2B9///uuroOIiIiIvJRTgXHUqFFdXcddPf/88/jrX//a4X1vvvkmUlNTsWTJEuzfv7/d/Vu3bkVycrLdWHFxMUpKSnD58mVotVosWrQIiYmJdnNu3LiB119/HUePHoXZbEZiYiKWLVuGvn372s2rqalBXl4eTp06hcDAQKSmpiI3Nxdqtdpunk6nQ35%2BPvR6PSIjI/Hiiy/iueee60w7iIiIiLqNW5cG7E6//vWvcePGDbuxHTt24IMPPkBSUpI01q9fP6xfv95uXkxMjN3t4uJi5OfnY8GCBYiLi0NpaSmysrJQWlqK2NhYad7ChQvxxRdfYNmyZQgODkZBQQFeeuklHDx4UAqDRqMRM2bMQFRUFAoKCnDt2jWsXr0aBoPBro6qqirk5ORg8uTJWLJkCSorK5GXlweVSoVp06bJ1iciIiIiuXUqMH744Yc4ePAg/vnPf8JkMtndJwgCDh48KEtxdxo0aFC7sYULF%2BKRRx5BeHi4NKZWq5GQkPC965jNZrz11lt44YUXkJmZCeDWHtT09HQUFhYiPz8fAPDZZ5/h%2BPHjKCoqQkpKCgBAq9Vi/Pjx2L9/P5599lkAwHvvvQej0YgDBw5IdSiVSuTm5iI7O1sKq5s3b0ZcXBxWrVoFABg9ejTq6uqwceNGZGRkQKFw%2BQ3rRERERN3C5ZSybds2zJkzB3//%2B9/h5%2BeHsLAwu9%2BhoaFdUWc7lZWVuHDhgstvsKmsrERDQwPS0tKkMaVSiSeffBI6nQ6iKAK4dfhYo9HYHcqOiorCyJEjodPppLETJ04gKSnJLrROmDABKpVKmmc2m1FRUdHuI4fS09Nx%2BfJlfPnlly69BiIiIqLu5PIext27dyMjIwMrV66EUqnsipqccvjwYQQGBuKxxx6zG6%2BtrcWDDz6I5uZmaLVa5OTk4Cc/%2BYl0v16vBwAMHDjQ7nExMTFobGzEpUuXEBkZCb1ejwEDBkAQBLt5gwYNwieffGK3XkZGht0clUqF6Oho6blqa2vR0tLS7jlb95rq9XoMGzasM20gIiIi6nIuB0aDwYC0tDSPhkWLxYL3338fjz32GO677z5pfMiQIYiPj8egQYPQ0NCAd999F7Nnz8bGjRulz4c0Go1QqVTt3pDSumfUYDAgMjISRqOxwyvaaDQa1NfXS7eNRiM0Go3Dea1/tp3XevvO9TpDqeThbHe19pC9dA/7KB/2Uj5d2UulVQHh9i93CBBw6z/vXad1/4kgABCdW1%2BAAKWfAn5%2B7vVerj7LWZNbNbj/Mrqdy4Fx5MiROHfunN0bTbrbn/70J1y9etXusDIAzJgxw%2B72uHHjMH36dBQUFNh9oHjbvYYApEPRd97X0TxH423XazvPnfUc0WgC3Xo8/Qt7KQ/2UT7spXy6opeWm7Zb4cPN89CVt4OQ28GqG9ZxJXiLNhGhofehV2CQW/XI1Wc5a7rXuBwYX331VcyZMweRkZEYO3YsVCpVV9Tl0OHDhxEWFoYxY8Y4nKdQKPD4449j3bp1aG5uhlqthkajgclkgslkQkBAgDTXaDQC%2BNeeRo1Gg7q6unZrtt2jqNFopMfeqaGhQXrDS%2Buabfcktj6uoz2UrjAab8Jqtbm1xr1OqVRAowlkL93EPsqHvZRPV/ay3tQEq8UGQeHeD/5WiwgIgAXu1deV6wjCrV5arTbc3sdy93VsNtTXN8Gv2b2gJ1ef5azJHaGhgT73ZleXA2P//v3x8MMPY86cORAEod2hXUEQcOrUKdkKbKu5uRkfffQR0tPT4e/vf9f5Ypuv6tYQp9frERcXJ43r9XoEBQUhIiJCmvfnP/%2B53Z7C6upqu4/piYmJkc5VbGU2m1FbWyud2xgdHQ1/f3%2BcO3fO7k001dXVdjV1ltVqg8XCbyhyYC/lwT7Kh72UT1f00mqxQbz9yx0iRAii4N3r3D4MLYpwen0RIqwWGyxKdwOsPH2Wsya3anD/ZXQ7lwPjunXrsGvXLgwZMgQDBw7s9j2MH3/8MRobG516d7TNZsPRo0cxePBgKdiOHDkSISEhOHLkiBQYrVYrysrKkJKSIoXDlJQUbN68GeXl5VLIq6urQ2VlJZYuXSo9R3JyMt566y1cv34dvXr1AgAcO3YMZrNZ%2BjgelUqF0aNHo6ysDC%2B%2B%2BKL02MOHD6NPnz52wZWIiLqeTRRhMDe6vY7B3AQZMgyR13M5MO7fvx9ZWVlYuHBhV9RzV4cOHUJUVBR%2B/OMf241fvHgRS5YsQVpaGqKjo1FfX493330XZ86cwaZNm6R5KpUK2dnZyM/PR3h4uPTB3efPn8ebb74pzRs%2BfDgeffRR/OpXv8KSJUsQHByMjRs3om/fvpgyZYo0b/r06di1axdycnKQk5ODq1evYs2aNUhPT7fbczh79mz89Kc/xdKlS5Geno7KykqUlpZi5cqVPrdbmojI1xnMjVj/1VEoBfe2v2abBUoofecqGESd5PLXuNVqxcMPP9wVtdxVfX09ysvLMWPGjHZvFAkKCkJwcDA2b96Ma9euwd/fH8OGDcPWrVsxduxYu7kzZ86EKIrYuXMnrly5Aq1Wi6KiIrurvADAG2%2B8gbVr1%2BK1115DS0sLEhMTsWnTJrvD8BqNBjt27EBeXh7mzp0LtVqNtLQ05Obm2q01YsQIbNmyBW%2B%2B%2BSYOHDiAyMhILF26lFd5ISLyEKWggJ/CvU/8sNh4ugDdGwSx7Ul%2BdzF//nwMGTIEs2bN6qqayEXXrzfyHCc3%2Bfkp0KtXEHvpJvZRPuylfDrq5TXTDeR/fcztwNhsaYEAAQF%2B7u1j9IV1BAjw81PAcvt8QmdYbFYsiB2P8IBgt%2BqR6/%2BXnDW5Izw8yOc%2BMsvlr6icnBwsWLAAgYGBePTRRzu8sktYWJgsxRERERGR57kcGCdPngwAWLNmDdasWdPhnLNnz7pXFRERERF5DZcD4%2BzZs93%2BoGkiIiIi8h0uB8a5c%2Bd2RR1ERERE5KV864xLIiIiIup2Lu9h/N3vfufwfkEQMHv27E4XRERERETehYGRiIiIiBxyOTB%2B9dVX7cYMBgM%2B/PBD7NixA0VFRbIURkRERETeQZZzGMPCwjB16lSkp6cjLy9PjiWJiIiIyEvI%2BqaX%2BPh4/OUvf5FzSSIiIiLyMFkD49dff4377rtPziWJiIiIyMNcPofxwIED7cbMZjO%2B/vpr7N27F5MmTZKlMCIiIiLyDi4HxiVLlnQ4HhAQgEmTJmHRokVuF0VERERE3sPlwPjRRx%2B1GwsICEDv3r1lKYiIiIh6BlEUYTA3ub2OwdwEiDIURJ3mcmDs27dvV9RBREREPYxVFFGkPwF/hdKtdcw2C5RQuh5aSDbsPREREXUZBRTwczMwWmw2maqhznIqMKanpzu9oCAIOHjwYKcLIiIiIiLv4lRgDAsLu%2BucpqYmfPHFFxAEwe2iiIiIiMh7OBUYd%2B7c%2Bb33WSwW7NmzB1u2bIEgCEhLS5OtOCIiIiLyPLfOYSwrK8OGDRtQW1uLhx9%2BGLm5uRgyZIhctRERERGRF%2BhUYDx58iTWr1%2BP06dPIy4uDu%2B88w6SkpLkro2IiIiIvIBLgfHrr7/G%2BvXr8cknn%2BAHP/gB3njjDaSmpnZVbURERETkBZwKjHV1ddiwYQMOHz6M0NBQvPrqq5g%2BfTr8/f27uj4iIiIi8jCnAuOECRPQ0tKCsWPH4r/%2B678QFBSE//3f//3e%2BUOHDpWtQCIiIiLyLKcCo9lsBgCcOHEC5eXl3ztPFEUIgoCzZ8/KUx0REREReZxTgXH16tVdXQcREREReSmnAuOUKVO6ug4iIiIi8lIKTxdARERERN6NgZGIiIiIHGJgJCIiIiKHGBiJiIiIyCEGRiIiIiJyiIGRiIiIiBxiYCQiIiIihxgYiYiIiMghBkYiIiIicsgnAuO%2BffsQGxvb7vf69evt5ul0Ojz11FOIj4/H%2BPHjUVJS0uF6xcXFGDduHOLj45GRkYGTJ0%2B2m3Pjxg0sX74ciYmJGDFiBGbNmoWLFy%2B2m1dTU4PMzEwkJCQgKSkJeXl5aG5ubjfP2dqIiIiIvI1Tlwb0Ftu2bUNISIh0OyIiQvp7VVUVcnJyMHnyZCxZsgSVlZXIy8uDSqXCtGnTpHnFxcXIz8/HggULEBcXh9LSUmRlZaG0tBSxsbHSvIULF%2BKLL77AsmXLEBwcjIKCArz00ks4ePAg1Go1AMBoNGLGjBmIiopCQUEBrl27htWrV8NgMNiFWWdrIyIiIvJGPhUYhw4divDw8A7v27x5M%2BLi4rBq1SoAwOjRo1FXV4eNGzciIyMDCoUCZrMZb731Fl544QVkZmYCAEaNGoX09HQUFhYiPz8fAPDZZ5/h%2BPHjKCoqQkpKCgBAq9Vi/Pjx2L9/P5599lkAwHvvvQej0YgDBw5IdSmVSuTm5iI7OxsxMTFO10ZERETkrXpEUjGbzaioqEBqaqrdeHp6Oi5fvowvv/wSAFBZWYmGhgakpaVJc5RKJZ588knodDqIogjg1uFjjUaD5ORkaV5UVBRGjhwJnU4njZ04cQJJSUl2IXbChAlQqVTSPGdrIyIiIvJWPhUY09LSMGTIEDz22GN4%2B%2B23YbVaAQC1tbVoaWnBwIED7eYPGjQIAKDX6%2B3%2BbDsvJiYGjY2NuHTpkjRvwIABEASh3Xqta7TOa92L2EqlUiE6Olqa52xtRERERN7KJw5J9%2BnTB3PnzsXw4cMhCAI%2B/vhjbNiwAZcuXcLy5ctRX18PANBoNHaPa73der/RaIRKpZLOQWwVGhoKADAYDIiMjITRaLQ7V/LO9VrXal2v7XO2nedsbe5QKn0q93ul1h6yl%2B5hH%2BXDXsqno14qrQoIt3%2B5Q4CAW//1/HVa96EIAgDRufW97XW1rqX0U8DPz3P/tgT3X0a384nAOHbsWIwdO1a6PWbMGAQEBGDHjh2YNWuWNN52j2BH4x3NaT0Ufbd5jsbbrtd2njvr3Y1GE%2Bj2GnQLeykP9lE%2B7KV87uyl5abtVmhw8xxy5e0A42748KV1XPkhxtteFwCINhGhofehV2CQ22vdS3wiMHbkiSeewDvvvIOzZ8%2Bib9%2B%2BANrvrTMajQD%2BtTdPo9HAZDLBZDIhICCg3bzWPY0ajQZ1dXXtnrPtHkWNRiM99k4NDQ3SoerWNe9WmzuMxpuwWm1ur3MvUyoV0GgC2Us3sY/yYS/l01Ev601NsFpsEBTu/dButYiAAFjg3v8jX1hHEG710mq14fZ%2BFo/W0%2Bm1bDbU1zfBr9lzexhDQwN97g2vPhsY7xQdHQ1/f3%2BcO3fO7o0q1dXVACCFt9Y/9Xo94uLipHl6vR5BQUHSx/TExMTgz3/%2Bc7s9hdXV1XbnLMbExLQ7B9FsNqO2thYZGRku1eYOq9UGi4XfUOTAXsqDfZQPeymfO3tptdgg3v7lDhEiBFG4N9a5fRhaFOH0%2Bt72ulrXslpssCg99%2B/K2cDtTXwr3t7hyJEjUCqViIuLg0qlwujRo1FWVmY35/Dhw%2BjTp48UDkeOHImQkBAcOXJEmmO1WlFWVoaUlBQpHKakpMBoNKK8vFyaV1dXh8rKSuljdgAgOTkZFRUVuH79ujR27NgxmM1maZ6ztRERERF5K%2BWKFStWeLqIu8nMzMR3332HGzdu4JtvvsE777yDkpISPP/885g4cSIAoF%2B/figsLERdXR2CgoJw6NAhbN%2B%2BHa%2B88gqGDRsG4NZH6CiVShQWFkKtVsNkMmHjxo2oqqrC66%2B/jt69ewMAIiMjcebMGezZswcRERGoq6vD8uXLoVarsXLlSvj53doxO3jwYOzduxfl5eWIiIhAVVUVVq1ahfHjx2P69OlS/c7U5o7m5hbYbD7444oXUSgEBAaq2Es3sY/yYS/l01Evb1rNqLh6DgrBvf0mFpsNAgS3z4X0hXUECFAoBJe%2BHr3tdQGATRSR1DsGgX4qt9fqrMBAFRRung7R3QRR9P4do3l5eSgvL8e3334Lm82GH/7wh5g2bRqef/55u0PGOp0Ob775JvR6PSIjI/HSSy/hueees1tLFEUUFxejpKQEV65cgVarxS9/%2BUuMHj3abt6NGzewdu1aHD16FC0tLUhMTMSyZcuk8yVb1dTUIC8vD6dOnYJarUZaWhpyc3PbvRPbmdo66/r1Rh6ycpOfnwK9egWxl25iH%2BXDXsqno15eM91A/tfH4KdQurV2s6UFAgQE%2BLl3hpcvrCNAgJ%2BfApbbh/M9XU9nWWxWLIgdj/CAYLfX6qzw8CCf%2BwQEnwiM5Bi/obiP35zlwT7Kh72UDwOjPOswMMrHFwOjb1VLRERERN2OgZGIiIiIHGJgJCIiIiKHGBiJiIiIyCEGRiIiIiJyiIGRiIiIiBxiYCQiIiIihxgYiYiIiMghBkYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIfev4k1ERNRNbKIIg7nRpccorQpYbtpQb2qC1WIDABjMTYDYFRUS9UwMjERE5DMM5kas/%2BoolILzB8gECFD6KWC12CDeTolmmwVKKPlNkMhJ/LdCREQ%2BRSko4KdQOj1fgAA/hQKCQpACo8Vm66ryiHoknsNIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUMMjERERETkEAMjERERETnEwEhEREREDjEwEhEREZFDDIxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUN%2Bni6AiIh6PpsowmBudHsdg7kJEGUoiIhcwsBIRERdzmBuxPqvjkIpuHdgy2yzQAklv3kRdTP%2BmyMiom6hFBTwUyjdWsNis8lUDRG5wifOYSwrK0NOTg5SUlKQkJCA9PR07N69G7Y7NhxLlixBbGxsu98nTpxot15xcTHGjRuH%2BPh4ZGRk4OTJk%2B3m3LhxA8uXL0diYiJGjBiBWbNm4eLFi%2B3m1dTUIDMzEwkJCUhKSkJeXh6am5vbzdPpdHjqqacQHx%2BP8ePHo6SkxM2uEBEREXUPn9jDuH37dkRFRWHRokW4//77cfLkSfz2t7/F%2BfPnsXjxYmlev379sH79ervHxsTE2N0uLi5Gfn4%2BFixYgLi4OJSWliIrKwulpaWIjY2V5i1cuBBffPEFli1bhuDgYBQUFOCll17CwYMHoVarAQBGoxEzZsxAVFQUCgoKcO3aNaxevRoGg8GujqqqKuTk5GDy5MlYsmQJKisrkZeXB5VKhWnTpnVFy4iIiIhk4xOBsbCwEOHh4dLt0aNHo6mpCSUlJViwYAFUKhUAQK1WIyEh4XvXMZvNeOutt/DCCy8gMzMTADBq1Cikp6ejsLAQ%2Bfn5AIDPPvsMx48fR1FREVJSUgAAWq0W48ePx/79%2B/Hss88CAN577z0YjUYcOHBAqk%2BpVCI3NxfZ2dlSWN28eTPi4uKwatUqqf66ujps3LgRGRkZUCh8YkcvERER3aN8IqncGRZbDRkyBCaTCQaDwel1Kisr0dDQgLS0NGlMqVTiySefhE6ngyjeeuudTqeDRqNBcnKyNC8qKgojR46ETqeTxk6cOIGkpCS7%2BiZMmACVSiXNM5vNqKioQGpqql0t6enpuHz5Mr788kun6yciIiLyBJ/Yw9iRU6dOISwsDPfff780VltbiwcffBDNzc3QarXIycnBT37yE%2Bl%2BvV4PABg4cKDdWjExMWhsbMSlS5cQGRkJvV6PAQMGQBAEu3mDBg3CJ598YrdeRkaG3RyVSoXo6GjpuWpra9HS0tLuOQcNGiStMWzYsM62AQCgVPpE7vdqrT1kL93DPsqnp/VSaVVAuP3LHQIE3PrP%2BXVaN%2BWCAEAUOr2OXPX46jod9dGT9bizltJPAT8/z/3bEtx/Gd3OJwPj6dOnsW/fPsyePRtK5a133A0ZMgTx8fEYNGgQGhoa8O6772L27NnYuHEjJk6cCODWOYcqlUo6B7FVaGgoAMBgMCAyMhJGoxEhISHtnlej0aC%2Bvl66bTQaodFoHM5r/bPtvNbbd67XWRpNoNtr0C3spTzYR/n0lF5abtpufZN28xQc5e3A0Jlv9neGb3fWkaseX13HlR9ivO11AYBoExEaeh96BQa5vda9xOcC4%2BXLlzFv3jzEx8cjKytLGp8xY4bdvHHjxmH69OkoKCiQAiOAdnsNAUiHou%2B8r6N5jsbbrtd2njvr3Y3ReBNWKz9qwh1KpQIaTSB76Sb2UT49rZf1piZYLTYICve2eVaLCAiABc73RBBu9dNqteH25r5T68hVj6%2Bu01EfPVlPp9ey2VBf3wS/Zs/tYQwNDfS59y/4VGBsaGhAVlYW1Go13nrrLfj7%2B3/vXIVCgccffxzr1q1Dc3Mz1Go1NBoNTCYTTCYTAgICpLlGoxHAv/Y0ajQa1NXVtVuz7R5FjUYjPbbDiWmqAAAULElEQVRtna1veGlds%2B2exNbHdbSH0lVWqw0Wi%2B9/Q/EG7KU82Ef59JReWi02iLd/uUOECEEUXFvn9uFTUYT0uE6tI1c9vrpOB330aD1urGW12GBReu7flbOB25v4TLw1mUzIzs7GlStXsG3bNvTq1euujxHb/B9pDXGt5xe20uv1CAoKQkREhDSvpqam3eOrq6vtPqYnJiam3Vpmsxm1tbXSvOjoaPj7%2B%2BPcuXPt1rqzJiIiIiJv5ROB0WKxYP78%2Bfjqq6%2Bwbds29O3b966PsdlsOHr0KAYPHiydszhy5EiEhITgyJEj0jyr1YqysjKkpKRIh4dTUlJgNBpRXl4uzaurq0NlZaX0MTsAkJycjIqKCly/fl0aO3bsGMxmszRPpVJh9OjRKCsrs6vv8OHD6NOnD%2BLi4jrRESIiIqLuo1yxYsUKTxdxNytWrMDhw4cxf/58PPDAA/j222%2Bl38HBwbh8%2BTJmz56NlpYWNDQ04IsvvkBeXh6qqqrw2muvSXvxlEollEolCgsLoVarYTKZsHHjRlRVVeH1119H7969AQCRkZE4c%2BYM9uzZg4iICNTV1WH58uVQq9VYuXIl/PxuHckfPHgw9u7di/LyckRERKCqqgqrVq3C%2BPHjMX36dKn%2Bfv36obCwEHV1dQgKCsKhQ4ewfft2vPLKK26/QxoAmptbYLP54P5tL6JQCAgMVLGXbmIf5dPTennTakbF1XNQuHktaYvNBgGCS2%2BeESBAoRDs%2BtiZdeSqx1fX6aiPnqyns2yiiKTeMQj0U7m9VmcFBqqgcPN83u7mE%2Bcwtn6Uzbp169rd9/vf/x6xsbEIDg7G5s2bce3aNfj7%2B2PYsGHYunUrxo4dazd/5syZEEURO3fuxJUrV6DValFUVGR3lRcAeOONN7B27Vq89tpraGlpQWJiIjZt2mT3DmuNRoMdO3YgLy8Pc%2BfOhVqtRlpaGnJzc%2B3WGjFiBLZs2YI333wTBw4cQGRkJJYuXcqrvBAREZFPEMS2J%2BqRz7l%2BvbFHnBTvSX5%2BCvTqFcReuol9lE9P6%2BU10w3kf30MfgqlW%2Bs0W1ogQECAn/P7OwQI8PNTwHL7jTedXUeuenx1nY766Ml6Ostis2JB7HiEBwS7vVZnhYcH%2BdxnrPpWtURERETU7RgYiYiIiMghBkYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIQZGIiIiInKIgZGIiIiIHGJgJCIiIiKHfOLSgERE5Bk2UYTB3Oj2OgZzE5y8OAgReSEGRiIi%2Bl4GcyPWf3UUSsG9A1JmmwVKKPlNh8hH8d8uERE5pBQUbl8D2mLz/ethE93LeA4jERERETnEwEhEREREDjEwEhEREZFDDIxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUMMjERERETkEAMjERERETnEwEhEREREDvl5ugAiIpKfTRRhMDe6vY7B3ASIMhRERD6NgZGIqAcymBux/qujUAruHUgy2yxQQslvFkT3OG4DiIh6KKWggJ9C6dYaFptNpmqIyJfxHEYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIQZGIiIiInKIgZGIiIiIHGJgJCIiIiKHGBi7UU1NDTIzM5GQkICkpCTk5eWhubnZ02UREREROcQP7u4mRqMRM2bMQFRUFAoKCnDt2jWsXr0aBoMB69ev93R5RERERN%2BLgbGbvPfeezAajThw4ADCw8MBAEqlErm5ucjOzkZMTIyHKyQib9B6DWilVQHLTRvqTU2wWly/2gqvAU1EcmJg7CYnTpxAUlKSFBYBYMKECXj11Veh0%2BkYGIl8XGvQc5fB3IRt%2BnL4KZRQ%2BilgtdggdiL58RrQRCQnbku6iV6vR0ZGht2YSqVCdHQ09Hq9W2uHhgZC5J4EtwjCrT/ZS/d0dx9tovdc59gKEQqz4PY6vRCEVZEZUi87q7X/XIfrcJ32a4WpAqEQPPc2DoVChhfSzRgYu4nRaIRGo2k3rtFoUF9f79baCgXfuyQX9lIe3dVHpRe9b88fgNrP39NlEBF1Ce/Z2t6jRFGEIMePTERERERdhIGxm2g0GhiNxnbjDQ0NHe55JCIiIvIWDIzdJCYmpt25imazGbW1tXzDCxEREXk1BsZukpycjIqKCly/fl0aO3bsGMxmM1JSUjxYGREREZFjgijyPaHdwWg0Ii0tDX379kVOTg6uXr2KNWvWYMyYMfzgbiIiIvJqDIzdqKamBnl5eTh16hTUajXS0tKQm5sLtVrt6dKIiIiIvhcDIxERERE5xHMYiYiIiMghBkYiIiIicoiBkYiIiIgcYmAkIiIiIocYGImIiIjIIQZGIiIiInKIgdEHffPNN1i%2BfDkmT56MuLg4pKWlebokn%2BBs33Q6HZ566inEx8dj/PjxKCkp6eZKvYfcPSsuLsa4ceMQHx%2BPjIwMnDx5sivL9xhP9O3GjRtYvnw5EhMTMWLECMyaNQsXL16U9XV1NW/uW01NDTIzM5GQkICkpCTk5eWhubnZvRcsk57QN09sd%2B%2Blvsmx7WVg9EH/93//B51Oh/79%2B/M61C5wpm9VVVXIyclBXFwctm7diilTpiAvLw%2BlpaXdXK13kLNnxcXFyM/Px3PPPYeioiL0798fWVlZ%2BPrrr7vjpXQrT/Rt4cKF%2BPjjj7Fs2TLk5%2Bfju%2B%2B%2Bw0svveQ1ocYZ3to3o9GIGTNmoLGxEQUFBVi8eDEOHTqEpUuXyt%2BETvD1vnlqu3uv9E22ba9IPsdqtUp/X7x4sZiamurBanyHM33LzMwUp06daje2dOlS8ZFHHrF7/L1Crp6ZTCbxxz/%2Bsbh27VppjsViEZ944gnx5z//eRdV7znd3bdPP/1U1Gq14vHjx6WxixcvinFxceLu3btle11dzVv79vbbb4vDhw8Xr169Ko0dPHhQ1Gq1YnV1tRuvWB6%2B3jdPbXfvhb7Jue3lHkYfpFDwf1tn3K1vZrMZFRUVSE1NtRtPT0/H5cuX8eWXX3ZleV5Jrp5VVlaioaHB7pCPUqnEk08%2BCZ1OB7GHXXCqu/um0%2Bmg0WiQnJwszYuKisLIkSOh0%2Bnkelldzlv7duLECSQlJSE8PFwamzBhAlQqlVf015f75snt7r3QNzm3vUweRLfV1taipaUFAwcOtBsfNGgQAECv13uiLK/mbM9a/2w7LyYmBo2Njbh06VI3VOs95O6bXq/HgAEDIAhCu/V60tetp/qm1%2BvbHbJUqVSIjo72if56c9%2B8ebvbE/om57aXgZHotvr6egCARqOxG2%2B93Xo//YuzPTMajVCpVFCr1XbzQkNDAQAGg6GrS/UqcvfNaDQiJCSk3fNoNJoe9XXrqb4ZjcZ2z9nRPG/lzX3z5u1uT%2BibnNteBkaiNtr%2B9He3cXKuZx3NaT0ccq/2Vs6%2B3Utft97SN1EUfaq/3tw3b/769fW%2BybXtZWAkuq31J662P9EajUYA7X%2BSI%2Bd7ptFoYDKZYDKZOpzXus69Qu6%2BaTQaaaztvJ70deupvn3fvIaGBp/orzf3zZu3uz2hb3JuexkYiW6Ljo6Gv78/zp07ZzdeXV0NAPwIow4427PWP9uej6TX6xEUFISIiIhuqNZ7yN23mJgY1NTUtDuBvbq6ukd93XqqbzExMe3WMpvNqK2t9Yn%2BenPfvHm72xP6Jue2l4GR6DaVSoXRo0ejrKzMbvzw4cPo06cP4uLiPFSZ93K2ZyNHjkRISAiOHDkizbFarSgrK0NKSopXHHbqTnL3LSUlBUajEeXl5dK8uro6VFZWIiUlpRteUffwVN%2BSk5NRUVGB69evS2PHjh2D2Wz2if56c9%2B8ebvbE/om57ZXuWLFihVOzyavcPPmTXz00Ueorq7Gn/70J1y5cgWRkZGorq5GeHg4AgMDPV2iV3Kmb/369UNhYSHq6uoQFBSEQ4cOYfv27XjllVcwbNgwT7%2BEbidXz5RKJZRKJQoLC6FWq2EymbBx40ZUVVXh9ddfR%2B/evT38SuXV3X2LjIzEmTNnsGfPHkRERKCurg7Lly%2BHWq3GypUr4efn58l2OM1b%2BzZ48GDs3bsX5eXliIiIQFVVFVatWoXx48dj%2BvTpHutXK1/vm6e2u/dC32Td9rr0qY3kFc6fPy9qtdoOf1dUVHi6PK/lbN%2BOHz8uTpo0SRw6dKj42GOPibt27fJg1Z4lZ89sNpu4detW8dFHHxWHDRsmPv300%2BJf/vKX7nw53cYTfWtoaBCXLl0qPvTQQ2JCQoL4s5/9TLxw4UKXvk65eXPfzp07J86cOVMcPny4mJiYKP7mN78Rb968KW8DOqkn9M0T2917pW9ybXsFUexhn5hLRERERLLiOYxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQOMTASERERkUMMjETUI%2B3btw%2BxsbHS77i4OIwZMwYLFizAP/7xD4/XdeHCBYfzNm3ahNjY2G6q6u50Oh02bdrU4X2xsbFYuXJlN1dERN3JNy4wSkTUSatXr8bAgQNhMplQWVmJwsJCnDx5EmVlZQgNDfV0eT5Dp9OhpKQEc%2BfO9XQpROQBDIxE1KMNHjwY8fHxAIDExERYrVZs2rQJH374ITIyMjxcHRGRb%2BAhaSK6p7SGx6tXr7a778iRI3jmmWeQkJCAESNGIDMzE19%2B%2BaXdnNOnT2PBggUYN24cfvSjH2HcuHH4xS9%2BgYsXL7Zb79NPP8X06dMRHx%2BPMWPG4I033oDFYnGrfmdqXLJkCUaMGIFvvvkGWVlZGDFiBFJSUrBmzRqYzWa7ud9%2B%2By3mzZuHESNG4MEHH8TChQvx%2BeefIzY2Fvv27ZPWKykpAQC7w/xtD6sfOHAATzzxBIYPH45Jkybhf/7nf9x6rUTkPbiHkYjuKa0h54c//KHdeGFhITZs2ICnn34a2dnZaGlpQXFxMZ577jmUlpZi0KBBAICLFy9iwIABSE1NRWhoKC5fvox3330XU6dOxR//%2BEeEh4cDAKqrq/Hiiy%2Bib9%2B%2BWLNmDdRqNXbv3o3Dhw93unZnawSAlpYWZGdnY%2BrUqZg5cyb%2B9re/YcuWLQgODsacOXMAAE1NTXjhhRdQX1%2BP3Nxc9O/fH%2BXl5ViwYIHd8%2Bbk5KCpqQlHjx7Fnj17pPEHHnhA%2Bvvx48dx%2BvRpzJs3D/fddx%2B2bduGOXPm4P3330e/fv06/ZqJyEuIREQ90N69e0WtVit%2B%2BumnYktLi3jjxg3xxIkT4iOPPCI%2B99xzYktLizT3n//8pxgXFyf%2B5je/sVvjxo0b4iOPPCLOnz//e5/HYrGIjY2NYkJCgrhjxw5p/Oc//7n4ox/9SLx8%2BbLd3IkTJ4parVY8f/68w/oLCgpErVbbqRoXL14sarVa8ciRI3Zzs7KyxAkTJki3d%2B3aJWq1WlGn09nNW7ZsmajVasW9e/dKY6%2B99ppdPXfSarXiww8/LDY0NEhjly9fFv/93/9dfPvttx2%2BTiLyDdzDSEQ92n/%2B53/a3Y6JicGWLVvg5/evzd8nn3wCi8WCyZMn2x0yDggIwEMPPYSTJ09KY42NjdiyZQs%2B%2BOADXLx4EVarVbpPr9dLfz958iSSkpLQu3dvaUypVOLJJ5/E7373O5dfhys1AoAgCBg3bpzdWGxsLCoqKqTbf/vb3xAUFITk5GS7eWlpaXZ7Ep2RmJiI4OBg6Xbv3r1x//33d3ionoh8DwMjEfVoa9euRUxMDBobG3HkyBHs2bMHv/jFL7Bt2zZpzpUrVwAAU6dO7XANheJfp3svXLgQFRUVyMnJQXx8PIKCgiAIAl5%2B%2BWWYTCZpnsFgsAuLrToac4YrNQJAYGAgAgIC7MZUKpVTNd5///0u1xcWFtZurO3zEZHvYmAkoh4tJiZGeqPL6NGjYbPZUFpaivfffx8TJ04EAPTq1QsAUFBQgKioqO9dq6GhAcePH8ecOXPw8ssvS%2BNmsxn19fV2c8PCwqSQd6eOxpzhbI2uCAsLw%2Beff95uvLM1ElHPxcBIRPeUX/7yl/jggw9QUFCAxx9/HAqFAmPGjIGfnx9qa2sxYcKE732sIAgQRREqlcpuvLS01O7QNHDrEO3HH3%2BMK1euSHvxrFYrjhw50qm6na3RFQ899BDKysqg0%2BmQkpIijf/xj39sN7f1NTc3N0OtVsvy/ETkOxgYieieEhoaipdffhnr1q3DoUOHMHnyZPzgBz/AvHnzsGHDBpw/fx7JycnQaDS4cuUKTp8%2BjcDAQMybNw/BwcF46KGHUFxcjF69eqFv377461//iv/%2B7/%2BGRqOxe57s7Gx8/PHHmDFjBmbPng21Wo2SkhLcvHmzU3U7W6MrpkyZgh07dmDRokWYP38%2B%2BvfvjxMnTuCTTz4BYH%2BYW6vVAgC2bt2K5ORkKBQKxMbGtgvPRNQz8XMYieie8/zzzyMqKgpbtmyR9gz%2B7Gc/w8aNG/GPf/wDixcvRmZmJtavX4%2BLFy/ioYcekh77xhtvIDExEevWrcOcOXNw5swZbN%2B%2BHSEhIXbPodVqsX37dgQHB2Px4sVYvnw5YmNjkZOT0%2Bm6na3RWffddx927NiBUaNGYd26dZg7dy7q6urw61//GgDsXlNaWhqmTZuG3bt345lnnsHUqVPx3Xffdfq1EJFvEURRFD1dBBEReY/Wz3s8fvw4IiMjPV0OEXkBHpImIrqH7dq1CwAwcOBAtLS0oKKiAjt37sSkSZMYFolIwsBIRHQPU6vV2LFjBy5cuICWlhb827/9G7KyspCdne3p0ojIi/CQNBERERE5xDe9EBEREZFDDIxERERE5BADIxERERE5xMBIRERERA4xMBIRERGRQwyMREREROQQAyMREREROcTASEREREQO/T%2BowK6pS/bXEAAAAABJRU5ErkJggg%3D%3D">
+
+<br>
+<br>
+<br>
+<br>
+
+<h3 id="Dynamic_histogram_of_Read_length">Dynamic histogram of Read length</h3>
+<div>
+        
+                <script type="text/javascript">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>
+        <script type="text/javascript">/**
+* plotly.js v1.51.2
+* Copyright 2012-2019, Plotly, Inc.
+* All rights reserved.
+* Licensed under the MIT license
+*/
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return a(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o<n.length;o++)a(n[o]);return a}}()({1:[function(t,e,r){"use strict";var n=t("../src/lib"),a={"X,X div":"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;","X input,X button":"font-family:'Open Sans', verdana, arial, sans-serif;","X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;","Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var i in a){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,a[i])}},{"../src/lib":716}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1294}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":863}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":875}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":885}],6:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":589}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":894}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":913}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":927}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":934}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":940}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":955}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":966}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":694}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":974}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1295}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnel")},{"../src/traces/funnel":984}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnelarea")},{"../src/traces/funnelarea":993}],19:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1296}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":1006}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1015}],22:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":1027}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":1033}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1037}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/image")},{"../src/traces/image":1044}],26:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./contour"),t("./scatterternary"),t("./violin"),t("./funnel"),t("./waterfall"),t("./image"),t("./pie"),t("./sunburst"),t("./treemap"),t("./funnelarea"),t("./scatter3d"),t("./surface"),t("./isosurface"),t("./volume"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./parcats"),t("./scattermapbox"),t("./choroplethmapbox"),t("./densitymapbox"),t("./sankey"),t("./indicator"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./image":25,"./indicator":27,"./isosurface":28,"./mesh3d":29,"./ohlc":30,"./parcats":31,"./parcoords":32,"./pie":33,"./pointcloud":34,"./sankey":35,"./scatter3d":36,"./scattercarpet":37,"./scattergeo":38,"./scattergl":39,"./scattermapbox":40,"./scatterpolar":41,"./scatterpolargl":42,"./scatterternary":43,"./sort":44,"./splom":45,"./streamtube":46,"./sunburst":47,"./surface":48,"./table":49,"./treemap":50,"./violin":51,"./volume":52,"./waterfall":53}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/indicator")},{"../src/traces/indicator":1052}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":1058}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":1063}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":1068}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1077}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1087}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1098}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1107}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1113}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1150}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1157}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1165}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1177}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1187}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1195}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1202}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1210}],44:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1298}],45:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1219}],46:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1227}],47:[function(t,e,r){"use strict";e.exports=t("../src/traces/sunburst")},{"../src/traces/sunburst":1235}],48:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1244}],49:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1252}],50:[function(t,e,r){"use strict";e.exports=t("../src/traces/treemap")},{"../src/traces/treemap":1261}],51:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1273}],52:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":1281}],53:[function(t,e,r){"use strict";e.exports=t("../src/traces/waterfall")},{"../src/traces/waterfall":1289}],54:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t("turntable-camera-controller"),a=t("orbit-camera-controller"),i=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push("a"+n);var a="var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i]."+t[0]+"("+r.join()+")}";s[e]=Function.apply(null,r.concat(a))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],a=Math.max(r.lastT(),n.lastT());r.recalcMatrix(a),n.setMatrix(a,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{"matrix-camera-controller":434,"orbit-camera-controller":457,"turntable-camera-controller":540}],55:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){"use strict";function i(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}a=a&&a.hasOwnProperty("default")?a.default:a;var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function c(t,e){return h(t.source,e.source)||t.index-e.index}function u(t,e){return h(t.target,e.target)||t.index-e.index}function h(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function f(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function v(t){return t.index}function m(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function b(t,e){return e(t)}var _=25,w=10,k=.3;function T(t,e){var r=0,n=0;t.links.forEach(function(a){a.circular&&(a.source.circularLinkType||a.target.circularLinkType?a.circularLinkType=a.source.circularLinkType?a.source.circularLinkType:a.target.circularLinkType:a.circularLinkType=r<n?"top":"bottom","top"==a.circularLinkType?r+=1:n+=1,t.nodes.forEach(function(t){b(t,e)!=b(a.source,e)&&b(t,e)!=b(a.target,e)||(t.circularLinkType=a.circularLinkType)}))}),t.links.forEach(function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),Y(t,e)&&(t.circularLinkType=t.source.circularLinkType))})}function A(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function M(t,e){var r=0;t.sourceLinks.forEach(function(t){r=t.circular&&!Y(t,e)?r+1:r});var n=0;return t.targetLinks.forEach(function(t){n=t.circular&&!Y(t,e)?n+1:n}),r+n}function S(t){var e=t.source.sourceLinks,r=0;e.forEach(function(t){r=t.circular?r+1:r});var n=t.target.targetLinks,a=0;return n.forEach(function(t){a=t.circular?a+1:a}),!(r>1||a>1)}function E(t,e,r){return t.sort(C),t.forEach(function(n,a){var i,o,s=0;if(Y(n,r)&&S(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<a;l++)if(i=t[a],o=t[l],!(i.source.column<o.target.column||i.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}}),t}function L(t,r,a,i){var o=e.min(t.links,function(t){return t.source.y0});t.links.forEach(function(t){t.circular&&(t.circularPathData={})}),E(t.links.filter(function(t){return"top"==t.circularLinkType}),r,i),E(t.links.filter(function(t){return"bottom"==t.circularLinkType}),r,i),t.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+w,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,Y(e,i)&&S(e))e.circularPathData.leftSmallArcRadius=w+e.width/2,e.circularPathData.leftLargeArcRadius=w+e.width/2,e.circularPathData.rightSmallArcRadius=w+e.width/2,e.circularPathData.rightLargeArcRadius=w+e.width/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});"bottom"==e.circularLinkType?c.sort(O):c.sort(P);var u=0;c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=w+e.width/2+u,e.circularPathData.leftLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),s=e.target.column,c=t.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l}),"bottom"==e.circularLinkType?c.sort(I):c.sort(z),u=0,c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=w+e.width/2+u,e.circularPathData.rightLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e="";e="top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY;return e}(e);else{var h=n.linkHorizontal().source(function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]}).target(function(t){return[t.target.x0,t.y1]});e.path=h(e)}})}function C(t,e){return D(t)==D(e)?"bottom"==t.circularLinkType?O(t,e):P(t,e):D(e)-D(t)}function P(t,e){return t.y0-e.y0}function O(t,e){return e.y0-t.y0}function z(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function D(t){return t.target.column-t.source.column}function R(t){return t.target.x0-t.source.x1}function F(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1+n:t.y1-n}function B(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1-n:t.y1+n}function N(t,e,r,n){t.links.forEach(function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach(function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,v=g-a.width/2,m=g+a.width/2;v>o.y0&&v<o.y1?(c=o.y1-v+10,c="bottom"==o.circularLinkType?c:-c,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&j(o,t)&&V(t,c,e,r)})):m>o.y0&&m<o.y1?(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)})):v<o.y0&&m>o.y1&&(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)}))}})}})}function j(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function V(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach(function(t){t.y1=t.y1+e}),t.sourceLinks.forEach(function(t){t.y0=t.y0+e})),t}function U(t,e,r,n){t.nodes.forEach(function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter(function(t){return b(t.source,r)==b(a,r)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!H(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=B(e,t);return t.y1-r}if(e.target.column>t.target.column)return B(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0});var s=a.y0;i.forEach(function(t){t.y0=s+t.width/2,s+=t.width}),i.forEach(function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=i[r].width;t.y0=a.y1-n-t.width/2}})})}function q(t,e,r){t.nodes.forEach(function(e){var n=t.links.filter(function(t){return b(t.target,r)==b(e,r)}),a=n.length;a>1&&n.sort(function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!H(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=F(e,t);return t.y0-r}if(t.source.column<e.source.column)return F(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(t){t.y1=i+t.width/2,i+=t.width}),n.forEach(function(t,r){if("bottom"==t.circularLinkType){for(var i=r+1,o=0;i<a;i++)o+=n[i].width;t.y1=e.y1-o-t.width/2}})})}function H(t,e){return G(t)==G(e)}function G(t){return t.y0-t.y1>0?"up":"down"}function Y(t,e){return b(t.source,e)==b(t.target,e)}t.sankeyCircular=function(){var t,n,i=0,b=0,A=1,S=1,E=24,C=v,P=o,O=m,z=y,I=32,D=2,R=null;function F(){var o={nodes:O.apply(null,arguments),links:z.apply(null,arguments)};!function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,C);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;"object"!==("undefined"==typeof n?"undefined":l(n))&&(n=t.source=x(e,n)),"object"!==("undefined"==typeof a?"undefined":l(a))&&(a=t.target=x(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(o),function(t,e,r){var n=0;if(null===r){for(var i=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;i[l]||(i[l]=[]),i[c]||(i[c]=[]),-1===i[l].indexOf(c)&&i[l].push(c)}var u=a(i);u.sort(function(t,e){return t.length-e.length});var h={};for(o=0;o<u.length;o++){var f=u[o],p=f.slice(-2);h[p[0]]||(h[p[0]]={}),h[p[0]][p[1]]=!0}t.links.forEach(function(t){var e=t.target.index,r=t.source.index;e===r||h[r]&&h[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1})}else t.links.forEach(function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)})}(o,0,R),function(t){t.nodes.forEach(function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f)),t.sourceLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}),t.targetLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})})}(o),function(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.depth=n,t.sourceLinks.forEach(function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)})});for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.height=n,t.targetLinks.forEach(function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)})});t.nodes.forEach(function(t){t.column=Math.floor(P.call(null,t,n))})}(o),T(o,C),function(a,o,s){var l=r.nest().key(function(t){return t.column}).sortKeys(e.ascending).entries(a.nodes).map(function(t){return t.values});(function(r){if(n){var o=1/0;l.forEach(function(t){var e=S*n/(t.length+1);o=e<o?e:o}),t=o}var s=e.min(l,function(r){return(S-b-(r.length-1)*t)/e.sum(r,f)});s*=k,a.links.forEach(function(t){t.width=t.value*s});var c=function(t){var r=0,n=0,a=0,i=0,o=e.max(t.nodes,function(t){return t.column});return t.links.forEach(function(t){t.circular&&("top"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(i+=t.width),t.source.column==o&&(a+=t.width))}),{top:r=r>0?r+_+w:r,bottom:n=n>0?n+_+w:n,left:i=i>0?i+_+w:i,right:a=a>0?a+_+w:a}}(a),u=function(t,r){var n=e.max(t.nodes,function(t){return t.column}),a=A-i,o=S-b,s=a+r.right+r.left,l=o+r.top+r.bottom,c=a/s,u=o/l;return i=i*c+r.left,A=0==r.right?A:A*c,b=b*u+r.top,S*=u,t.nodes.forEach(function(t){t.x0=i+t.column*((A-i-E)/n),t.x1=t.x0+E}),u}(a,c);s*=u,a.links.forEach(function(t){t.width=t.value*s}),l.forEach(function(t){var e=t.length;t.forEach(function(t,n){t.depth==l.length-1&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):0==t.depth&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):t.partOfCycle?0==M(t,r)?(t.y0=S/2+n,t.y1=t.y0+t.value*s):"top"==t.circularLinkType?(t.y0=b+n,t.y1=t.y0+t.value*s):(t.y0=S-t.value*s-n,t.y1=t.y0+t.value*s):0==c.top||0==c.bottom?(t.y0=(S-b)/e*n,t.y1=t.y0+t.value*s):(t.y0=(S-b)/2-e/2+n,t.y1=t.y0+t.value*s)})})})(s),m();for(var c=1,u=o;u>0;--u)v(c*=.99,s),m();function v(t,r){var n=l.length;l.forEach(function(a){var i=a.length,o=a[0].depth;a.forEach(function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&M(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}})})}function m(){l.forEach(function(e){var r,n,a,i=b,o=e.length;for(e.sort(h),a=0;a<o;++a)r=e[a],(n=i-r.y0)>0&&(r.y0+=n,r.y1+=n),i=r.y1+t;if((n=i-t-S)>0)for(i=r.y0-=n,r.y1-=n,a=o-2;a>=0;--a)r=e[a],(n=r.y1+t-i)>0&&(r.y0-=n,r.y1-=n),i=r.y0})}}(o,I,C),B(o);for(var s=0;s<4;s++)U(o,S,C),q(o,0,C),N(o,b,S,C),U(o,S,C),q(o,0,C);return function(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach(function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)}),0==o||0==s){var l=e.min(a,function(t){return t.y0}),c=e.max(a,function(t){return t.y1}),u=c-l,h=n-r,f=h/u;a.forEach(function(t){var e=(t.y1-t.y0)*f;t.y0=(t.y0-l)*f,t.y1=t.y0+e}),i.forEach(function(t){t.y0=(t.y0-l)*f,t.y1=(t.y1-l)*f,t.width=t.width*f})}}(o,b,S),L(o,D,S,C),o}function B(t){t.nodes.forEach(function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)}),t.nodes.forEach(function(t){var e=t.y0,r=e,n=t.y1,a=n;t.sourceLinks.forEach(function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)}),t.targetLinks.forEach(function(t){t.circular?(t.y1=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)})})}return F.nodeId=function(t){return arguments.length?(C="function"==typeof t?t:s(t),F):C},F.nodeAlign=function(t){return arguments.length?(P="function"==typeof t?t:s(t),F):P},F.nodeWidth=function(t){return arguments.length?(E=+t,F):E},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(O="function"==typeof t?t:s(t),F):O},F.links=function(t){return arguments.length?(z="function"==typeof t?t:s(t),F):z},F.size=function(t){return arguments.length?(i=b=0,A=+t[0],S=+t[1],F):[A-i,S-b]},F.extent=function(t){return arguments.length?(i=+t[0][0],A=+t[1][0],b=+t[0][1],S=+t[1][1],F):[[i,b],[A,S]]},F.iterations=function(t){return arguments.length?(I=+t,F):I},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(n=+t,F):n},F.sortNodes=function(t){return arguments.length?(R=t,F):R},F.update=function(t){return T(t,C),B(t),t.links.forEach(function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<S?"top":"bottom",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)}),U(t,S,C,!1),q(t,0,C),L(t,D,S,C),t},F},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-array"),t("d3-collection"),t("d3-shape"),t("elementary-circuits-directed-graph")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)},{"d3-array":153,"d3-collection":154,"d3-shape":162,"elementary-circuits-directed-graph":174}],56:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n){"use strict";function a(t){return t.target.depth}function i(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function h(t){return(t.y0+t.y1)/2}function f(t){return h(t.source)*t.value}function p(t){return h(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function v(t){return t.links}function m(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,a=1,y=1,x=24,b=8,_=d,w=i,k=g,T=v,A=32,M=2/3;function S(){var i={nodes:k.apply(null,arguments),links:T.apply(null,arguments)};return function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,_);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;"object"!=typeof n&&(n=t.source=m(e,n)),"object"!=typeof a&&(a=t.target=m(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(i),function(t){t.nodes.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))})}(i),function(e){var r,n,i;for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.depth=i,t.sourceLinks.forEach(function(t){n.indexOf(t.target)<0&&n.push(t.target)})});for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.height=i,t.targetLinks.forEach(function(t){n.indexOf(t.source)<0&&n.push(t.source)})});var o=(a-t-x)/(i-1);e.nodes.forEach(function(e){e.x1=(e.x0=t+Math.max(0,Math.min(i-1,Math.floor(w.call(null,e,i))))*o)+x})}(i),function(t){var a=r.nest().key(function(t){return t.x0}).sortKeys(e.ascending).entries(t.nodes).map(function(t){return t.values});(function(){var r=e.max(a,function(t){return t.length}),i=M*(y-n)/(r-1);b>i&&(b=i);var o=e.min(a,function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)});a.forEach(function(t){t.forEach(function(t,e){t.y1=(t.y0=e)+t.value*o})}),t.links.forEach(function(t){t.width=t.value*o})})(),d();for(var i=1,o=A;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach(function(r){r.forEach(function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function l(t){a.slice().reverse().forEach(function(r){r.forEach(function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function d(){a.forEach(function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a<o;++a)e=t[a],(r=i-e.y0)>0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)e=t[a],(r=e.y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0})}}(i),E(i),i}function E(t){t.nodes.forEach(function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)}),t.nodes.forEach(function(t){var e=t.y0,r=e;t.sourceLinks.forEach(function(t){t.y0=e+t.width/2,e+=t.width}),t.targetLinks.forEach(function(t){t.y1=r+t.width/2,r+=t.width})})}return S.update=function(t){return E(t),t},S.nodeId=function(t){return arguments.length?(_="function"==typeof t?t:o(t),S):_},S.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:o(t),S):w},S.nodeWidth=function(t){return arguments.length?(x=+t,S):x},S.nodePadding=function(t){return arguments.length?(b=+t,S):b},S.nodes=function(t){return arguments.length?(k="function"==typeof t?t:o(t),S):k},S.links=function(t){return arguments.length?(T="function"==typeof t?t:o(t),S):T},S.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],S):[a-t,y-n]},S.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],S):[[t,n],[a,y]]},S.iterations=function(t){return arguments.length?(A=+t,S):A},S},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-array"),t("d3-collection"),t("d3-shape")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":153,"d3-collection":154,"d3-shape":162}],57:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),a=6378137;function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(o(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(o(t[r]))}return e}function o(t){var e,r,n,i,o,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(n=u-2,i=u-1,o=0):l===u-1?(n=u-1,i=0,o=1):(n=l,i=l+1,o=l+2),e=t[n],r=t[i],c+=(s(t[o][0])-s(e[0]))*Math.sin(s(r[1]));c=c*a*a/2}return c}function s(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,function(t,e){return t+function(t){var e,r=0;switch(t.type){case"Polygon":return i(t.coordinates);case"MultiPolygon":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(e)},0)}},{"@turf/meta":60}],58:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),a=t("@turf/helpers");r.default=function(t,e){void 0===e&&(e={});var r=0,i=0,o=0;return n.coordEach(t,function(t){r+=t[0],i+=t[1],o++}),a.point([r/o,i/o],e.properties)}},{"@turf/helpers":59,"@turf/meta":60}],59:[function(t,e,r){"use strict";function n(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function a(t,e,r){return void 0===r&&(r={}),n({type:"Point",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var a=0,i=t;a<i.length;a++){var o=i[a];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:"MultiLineString",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:"MultiPoint",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:"MultiPolygon",coordinates:t},e,r)}function h(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t*n}function f(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\s*$/.test(t)}Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:3.86e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return a(e).geometry;case"LineString":return o(e).geometry;case"Polygon":return i(e).geometry;case"MultiPoint":return c(e).geometry;case"MultiLineString":return l(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},r.point=a,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return a(t,e)}),r)},r.polygon=i,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return i(t,e)}),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return o(t,e)}),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:"GeometryCollection",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var a=r.areaFactors[e];if(!a)throw new Error("invalid original units");var i=r.areaFactors[n];if(!i)throw new Error("invalid final units");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach(function(t){if(!d(t))throw new Error("bbox must only contain numbers")})},r.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},r.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},r.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},r.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},r.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},r.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},r.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},r.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},{}],60:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/helpers");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g="FeatureCollection"===d,v="Feature"===d,m=g?t.features.length:1,y=0;y<m;y++){l=(h=!!(u=g?t.features[y].geometry:v?t.geometry:t)&&"GeometryCollection"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=h?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(f=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<c.length;n++){for(i=0;i<c[n].length-f;i++){if(!1===e(c[n][i],p,y,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<c.length;n++){for(_=0,i=0;i<c[n].length;i++){for(o=0;o<c[n][i].length-f;o++){if(!1===e(c[n][i][o],p,y,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===a(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function i(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,a,i,o,s,l,c,u,h,f=0,p="FeatureCollection"===t.type,d="Feature"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,h=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,a=0;a<o;a++)if(null!==(i=l?s.geometries[a]:s))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(i,f,c,u,h))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===e(i.geometries[n],f,c,u,h))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,f,c,u,h))return!1;f++}}function l(t,e){s(t,function(t,r,a,i,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,a,{bbox:i,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,a),r,c))return!1}})}function c(t,e){l(t,function(t,r,i){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,c=0,u=0,h=0;return!1!==a(t,function(a,s,f,p,d){if(void 0===l||r>c||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a})&&void 0}}})}function u(t,e){if(!t)throw new Error("geojson is required");l(t,function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case"LineString":if(!1===e(t,r,a,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,a,s))return!1}}})}r.coordEach=a,r.coordReduce=function(t,e,r,n){var i=r;return a(t,function(t,n,a,o,s){i=0===n&&void 0===r?t:e(i,t,n,a,o,s)},n),i},r.propEach=i,r.propReduce=function(t,e,r){var n=r;return i(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.coordAll=function(t){var e=[];return a(t,function(t){e.push(t)}),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,function(t,a,i,o,s){n=0===a&&void 0===r?t:e(n,t,a,i,o,s)}),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,function(t,a,i){n=0===a&&0===i&&void 0===r?t:e(n,t,a,i)}),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,a=!1;return c(t,function(t,i,o,s,l){n=!1===a&&void 0===r?t:e(n,t,i,o,s,l),a=!0}),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,function(t,a,i,o){n=0===a&&void 0===r?t:e(n,t,a,i,o)}),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s-1),n.lineString([c[i][s],c[i][s+1]],l,e);case"MultiPolygon":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s-1),n.lineString([c[i][o][s],c[i][o][s+1]],l,e)}throw new Error("geojson is invalid")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":return n.point(c,l,e);case"MultiPoint":return i<0&&(i=c.length+i),n.point(c[i],l,e);case"LineString":return s<0&&(s=c.length+s),n.point(c[s],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s),n.point(c[i][s],l,e);case"MultiPolygon":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s),n.point(c[i][o][s],l,e)}throw new Error("geojson is invalid")}},{"@turf/helpers":59}],61:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,a=t("gl-buffer"),i=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=i(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":243,"gl-vao":328,"weak-map":550}],62:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,a=0;return t.map(function(t){var i=(t=t.slice())[0],o=i.toUpperCase();if(i!=o)switch(t[0]=o,i){case"a":t[6]+=n,t[7]+=a;break;case"v":t[1]+=a;break;case"h":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=a}switch(o){case"Z":n=e,a=r;break;case"H":n=t[1];break;case"V":a=t[1];break;case"M":n=e=t[1],a=r=t[2];break;default:n=t[t.length-2],a=t[t.length-1]}return t})}},{}],63:[function(t,e,r){var n=t("pad-left");e.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var a=t.split(/\r?\n/),i=String(a.length+e-1).length;return a.map(function(t,a){var o=a+e,s=String(o).length,l=n(o,i-s);return l+r+t}).join("\n")}},{"pad-left":458}],64:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],o=1;o<e;++o)if(n.push(t[o]),a(n,r)){if(i.push(o),i.length===r+1)return i}else n.pop();return i};var n=t("robust-orientation");function a(t,e){for(var r=new Array(e+1),a=0;a<t.length;++a)r[a]=t[a];for(a=0;a<=t.length;++a){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-a,s);r[i]=o}if(n.apply(void 0,r))return!0}return!1}},{"robust-orientation":508}],65:[function(t,e,r){"use strict";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1})};var n=t("delaunay-triangulate"),a=t("circumradius")},{circumradius:115,"delaunay-triangulate":166}],66:[function(t,e,r){e.exports=function(t,e){return a(n(t,e))};var n=t("alpha-complex"),a=t("simplicial-complex-boundary")},{"alpha-complex":65,"simplicial-complex-boundary":515}],67:[function(t,e,r){"use strict";e.exports=function(t,e){if(!t||null==t.length)throw Error("Argument should be an array");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var a=-1/0,i=1/0,o=n,s=t.length;o<s;o+=e)t[o]>a&&(a=t[o]),t[o]<i&&(i=t[o]);r[n]=i,r[e+n]=a}return r}},{}],68:[function(t,e,r){e.exports=function(t,e){var r="number"==typeof t,n="number"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var a=(e|=0)-(t|=0);if(a<0)throw new Error("array length must be positive");for(var i=new Array(a),o=0,s=t;o<a;o++,s++)i[o]=s;return i}},{}],69:[function(t,e,r){(function(r){"use strict";var n=t("object-assign");function a(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a<i;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t("util/"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c="foo"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function h(t){return!i(t)&&("function"==typeof r.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=y,p=/\s*function\s+([^\(\s]*)\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function v(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return"[Function"+(e?": "+e:"")+"]"}function m(t,e,r,n,a){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:a})}function y(t,e){t||m(t,!0,e,"==",f.ok)}function x(t,e,r,n){if(t===e)return!0;if(i(t)&&i(e))return 0===a(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(h(t)&&h(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===a(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=b(t),i=b(e);if(a&&!i||!a&&i)return!1;if(a)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=k(t),h=k(e);if(u.length!==h.length)return!1;for(u.sort(),h.sort(),c=u.length-1;c>=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!a&&m(a,r,"Missing expected exception"+n);var i="string"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&m(a,r,"Got unwanted exception"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=g(v((e=this).actual),128)+" "+e.operator+" "+g(v(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var a=n.stack,i=d(r),o=a.indexOf("\n"+i);if(o>=0){var s=a.indexOf("\n",o+1);a=a.substring(s+1)}this.stack=a}}},o.inherits(f.AssertionError,Error),f.fail=m,f.ok=y,f.equal=function(t,e,r){t!=e&&m(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||m(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||m(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&m(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&m(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n(function t(e,r){e||m(e,!0,r,"==",t)},f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":455,"util/":72}],70:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],71:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],72:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!m(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,i=n.length,o=String(t).replace(a,function(t){if("%%"===t)return"%";if(r>=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),l=n[r];r<i;l=n[++r])g(l)||!b(l)?o+=" "+l:o+=" "+s(l);return o},r.deprecate=function(t,a){if(y(n.process))return function(){return r.deprecate(t,a).apply(this,arguments)};if(!0===e.noDeprecation)return t;var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(a);e.traceDeprecation?console.trace(a):console.error(a),i=!0}return t.apply(this,arguments)}};var i,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return m(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(e);if(0===o.length){if(k(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return h(e)}var c,b="",T=!1,A=["{","}"];(p(e)&&(T=!0,A=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+h(e)),0!==o.length||T&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=T?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o<s;++o)S(e,String(o))?i.push(f(t,e,r,n,String(o),!0)):i.push("");return a.forEach(function(a){a.match(/^\d+$/)||i.push(f(t,e,r,n,a,!0))}),i}(t,e,n,s,o):o.map(function(r){return f(t,e,n,s,r,T)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n  ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),S(n,a)||(o="["+a+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map(function(t){return"  "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return"   "+t}).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(i&&a.match(/^\d+$/))return s;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function v(t){return"number"==typeof t}function m(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===T(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===T(t)}function w(t){return b(t)&&("[object Error]"===T(t)||t instanceof Error)}function k(t){return"function"==typeof t}function T(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=v,r.isString=m,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":71,_process:483,inherits:70}],73:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],74:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(var o=0;o<=r;++o)i[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(i,c),h=a(u[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=a(u[o])/h;return f};var n=t("robust-linear-solve");function a(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{"robust-linear-solve":507}],75:[function(t,e,r){"use strict";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,h=s>0?o-4:o;for(r=0;r<h;r+=4)e=a[t.charCodeAt(r)]<<18|a[t.charCodeAt(r+1)]<<12|a[t.charCodeAt(r+2)]<<6|a[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;o<s;o+=16383)i.push(u(t,o,o+16383>s?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return i.join("")};for(var n=[],a=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)n[s]=o[s],a[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,i,o=[],s=e;s<r;s+=3)a=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(i=a)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},{}],76:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],77:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],78:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":86}],79:[function(t,e,r){"use strict";var n=t("./is-rat"),a=t("./lib/is-bn"),i=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,h;if(a(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))u=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=i(e)}}if(n(r))u.mul(r[1]),h=r[0].clone();else if(a(r))h=r.clone();else if("string"==typeof r)h=o(r);else if(r)if(r===Math.floor(r))h=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;h=i(r)}else h=i(1);c>0?u=u.ushln(c):c<0&&(h=h.ushln(-c));return s(u,h)}},{"./div":78,"./is-rat":80,"./lib/is-bn":84,"./lib/num-to-bn":85,"./lib/rationalize":86,"./lib/str-to-bn":87}],80:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":84}],81:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":95}],82:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var o=r[i];a+=o*Math.pow(67108864,i)}return n(t)*a}},{"./bn-sign":81}],83:[function(t,e,r){"use strict";var n=t("double-bits"),a=t("bit-twiddle").countTrailingZeros;e.exports=function(t){var e=a(n.lo(t));if(e<32)return e;var r=a(n.hi(t));if(r>20)return 52;return r+32}},{"bit-twiddle":93,"double-bits":168}],84:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":95}],85:[function(t,e,r){"use strict";var n=t("bn.js"),a=t("double-bits");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":95,"double-bits":168}],86:[function(t,e,r){"use strict";var n=t("./num-to-bn"),a=t("./bn-sign");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":81,"./num-to-bn":85}],87:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":95}],88:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":86}],89:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":81}],90:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],91:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),a=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{"./lib/bn-to-num":82,"./lib/ctz":83}],92:[function(t,e,r){"use strict";function n(t,e,r,n,a,i){var o=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",a?".get(m)":"[m]"];return i?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),i?o.push("return -1};"):o.push("return i};"),o.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],!1,a),n("B","x"+t+"y",e,["y"],!0,a),n("P","c(x,y)"+t+"0",e,["y","c"],!1,a),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,a),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],93:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<<a&255}}(a),r.reverse=function(t){return a[255&t]<<24|a[t>>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],94:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,v=null==e.cutoff?.25:e.cutoff,m=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext("2d"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),T=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?a:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?a:0===A?0:Math.pow(Math.max(0,A-.5),2)}i(x,r,o,_,w,T,k),i(b,r,o,_,w,T,k);var M=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)M[d]=n(1-((x[d]-b[d])/m+v),0,1);return M};var a=1e20;function i(t,e,r,n,a,i,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,a,i,s,r),c=0;c<r;c++)t[c*e+l]=a[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,a,i,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(a[l])}}function o(t,e,r,n,i){r[0]=0,n[0]=-a,n[1]=+a;for(var o=1,s=0;o<i;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+a}for(o=0,s=0;o<i;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:116}],95:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function a(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,a=Math.min(t.length,r),i=e;i<a;i++){var o=t.charCodeAt(i)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;a*=n,a+=s>=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a<this.length;a++)this.words[a]=0;var i,o,s=0;if("be"===r)for(a=t.length-1,i=0;a>=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(a=0,i=0;a<t.length;a+=3)o=t[a]|t[a+1]<<8|t[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,a,i=0;for(r=t.length-6,n=0;r>=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(a),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var h=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var a=0,i=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<a|i)).toString(16);r=0!==(i=s>>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<i;s++)c[s]=0}else{for(s=0;s<i-a;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[i-s-1]=o}return c},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a<e;a++)this.words[a]=67108863&~this.words[a];return r>0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<a:this.words[r]&~(1<<a),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i<n.length;i++)e=(0|r.words[i])+(0|n.words[i])+a,this.words[i]=67108863&e,a=e>>>26;for(;0!==a&&i<r.length;i++)e=(0|r.words[i])+a,this.words[i]=67108863&e,a=e>>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)i=(e=(0|r.words[o])-(0|n.words[o])+i)>>26,this.words[o]=67108863&e;for(;0!==i&&o<r.length;o++)i=(e=(0|r.words[o])+i)>>26,this.words[o]=67108863&e;if(0===i&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,a,i,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,T=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,z=P>>>13,I=0|o[8],D=8191&I,R=I>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var mt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),a=(a=Math.imul(m,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,X)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,X)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(m,H)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,X)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),a=(a=Math.imul(k,U))+Math.imul(T,V)|0,i=Math.imul(T,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,X)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,V),a=(a=Math.imul(M,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(k,H)|0,a=(a=a+Math.imul(k,G)|0)+Math.imul(T,H)|0,i=i+Math.imul(T,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,X)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,a=(a=a+Math.imul(m,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,V),a=(a=Math.imul(L,U))+Math.imul(C,V)|0,i=Math.imul(C,U),n=n+Math.imul(M,H)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(k,W)|0,a=(a=a+Math.imul(k,X)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,X)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,a=(a=a+Math.imul(m,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,V),a=(a=Math.imul(O,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(L,H)|0,a=(a=a+Math.imul(L,G)|0)+Math.imul(C,H)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,X)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,a=(a=a+Math.imul(k,K)|0)+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,a=(a=a+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(O,H)|0,a=(a=a+Math.imul(O,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(L,W)|0,a=(a=a+Math.imul(L,X)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,X)|0,n=n+Math.imul(M,J)|0,a=(a=a+Math.imul(M,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,a=(a=a+Math.imul(k,tt)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(m,it)|0,a=(a=a+Math.imul(m,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var Tt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(O,W)|0,a=(a=a+Math.imul(O,X)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,X)|0,n=n+Math.imul(L,J)|0,a=(a=a+Math.imul(L,K)|0)+Math.imul(C,J)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(M,$)|0,a=(a=a+Math.imul(M,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,a=(a=a+Math.imul(k,nt)|0)+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,a=(a=a+Math.imul(m,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,X)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,X)|0,n=n+Math.imul(O,J)|0,a=(a=a+Math.imul(O,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(L,$)|0,a=(a=a+Math.imul(L,tt)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,a=(a=a+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(k,it)|0,a=(a=a+Math.imul(k,ot)|0)+Math.imul(T,it)|0,i=i+Math.imul(T,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(m,ht)|0,a=(a=a+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,X))+Math.imul(N,W)|0,i=Math.imul(N,X),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(O,$)|0,a=(a=a+Math.imul(O,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(L,rt)|0,a=(a=a+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,i=i+Math.imul(C,nt)|0,n=n+Math.imul(M,it)|0,a=(a=a+Math.imul(M,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,a=(a=a+Math.imul(k,ct)|0)+Math.imul(T,lt)|0,i=i+Math.imul(T,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(m,dt)|0)|0)+((8191&(a=(a=a+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,a=(a=a+Math.imul(O,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(L,it)|0,a=(a=a+Math.imul(L,ot)|0)+Math.imul(C,it)|0,i=i+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,a=(a=a+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(k,ht)|0,a=(a=a+Math.imul(k,ft)|0)+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(O,it)|0,a=(a=a+Math.imul(O,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(L,lt)|0,a=(a=a+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,i=i+Math.imul(C,ct)|0,n=n+Math.imul(M,ht)|0,a=(a=a+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Lt=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(a=(a=a+Math.imul(k,gt)|0)+Math.imul(T,dt)|0))<<13)|0;c=((i=i+Math.imul(T,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,a=(a=a+Math.imul(O,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(L,ht)|0,a=(a=a+Math.imul(L,ft)|0)+Math.imul(C,ht)|0,i=i+Math.imul(C,ft)|0;var Ct=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(a=(a=a+Math.imul(M,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(O,ht)|0,a=(a=a+Math.imul(O,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(a=(a=a+Math.imul(L,gt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((i=i+Math.imul(C,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var Ot=(c+(n=n+Math.imul(O,dt)|0)|0)+((8191&(a=(a=a+Math.imul(O,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var It=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Tt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=zt,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i<r.length-1;i++){var o=a;a=0;for(var s=67108863&n,l=Math.min(i,e.length-1),c=Math.max(0,i-t.length+1);c<=l;c++){var u=i-c,h=(0|t.words[u])*(0|e.words[c]),f=67108863&h;s=67108863&(f=f+s|0),a+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,a=0;a<e;a++)n|=(1&t)<<e-a-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o<i;o++)n[o]=e[t[o]],a[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,a,i){this.permute(i,t,e,r,n,a);for(var o=1;o<a;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<a;u+=s)for(var h=l,f=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],v=r[u+p+o],m=n[u+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[u+p]=d+v,n[u+p]=g+m,r[u+p+o]=d-v,n[u+p+o]=g-m,p!==s&&(y=l*h-c*f,f=l*f+c*h,h=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,a=0;for(r=r/2|0;r;r>>>=1)a++;return 1<<a+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var a=t[n];t[n]=t[r-n-1],t[r-n-1]=a,a=e[n],e[n]=-e[r-n-1],e[r-n-1]=-a}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var a=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&a,r=a<67108864?0:a/67108864|0}return t},g.prototype.convert13b=function(t,e,r,a){for(var i=0,o=0;o<e;o++)i+=0|t[o],r[2*o]=8191&i,i>>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o<a;++o)r[o]=0;n(0===i),n(0==(-8192&i))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),a=this.makeRBT(n),i=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,i,s,l,n,a),this.transform(c,i,u,h,n,a);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,i,n,a),this.conjugate(f,i,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),d(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var a=(0|this.words[r])*t,i=(67108863&a)+(67108863&e);e>>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,a=r%26;e[r]=(t.words[n]&1<<a)>>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&i,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e<a;e++)this.words[e]=0;this.length+=a}return this.strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var a;n("number"==typeof t&&t>=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<<i,l=r;if(a-=o,a=Math.max(0,a),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<<e;return!(this.length<=r)&&!!(this.words[r]&a)},i.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<<e;this.words[this.length-1]&=a}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var a,i,o=t.length+r;this._expand(o);var s=0;for(a=0;a<t.length;a++){i=(0|this.words[a+r])+s;var l=(0|t.words[a])*e;s=((i-=67108863&l)>>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a<this.length-r;a++)s=(i=(0|this.words[a+r])+s)>>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a<this.length;a++)s=(i=-(0|this.words[a])+s)>>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if("mod"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(a,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(a=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,a=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=a,this;for(var i=a,o=r;0!==i&&o<this.length;o++){var s=0|this.words[o];i=(s+=i)>>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var a=0|this.words[0];e=a===t?0:a<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){n<a?e=-1:n>a&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},a(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];for(e.words[e.length++]=4194303&a,n=10;n<t.length;n++){var i=0|t.words[n];t.words[n-10]=(4194303&i)<<4|a>>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},a(x,m),a(b,m),a(_,m),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,a=67108863&n;n>>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},a(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:104}],96:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e<a;++e)i+=t[e].length;var o=new Array(i),s=0;for(e=0;e<a;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),h=0;for(n=0;n<c;++n)n!==r&&(u[h++]=l[n]);if(1&r){var f=u[1];u[1]=u[0],u[0]=f}}}return o}},{}],97:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(a=t,a,u,!0),n;case 2:return"function"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error("box-intersect: Invalid arguments")}var a};var n,a=t("typedarray-pool"),i=t("./lib/sweep"),o=t("./lib/intersect");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var a=0,i=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[a++]=c[u];n[i++]=o}}return i}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}},{"./lib/intersect":99,"./lib/sweep":103,"typedarray-pool":543}],98:[function(t,e,r){"use strict";var n="d",a="ax",i="vv",o="fp",s="es",l="rs",c="re",u="rb",h="ri",f="rp",p="bs",d="be",g="bb",v="bi",m="bp",y="rv",x="Q",b=[n,a,i,l,c,u,h,p,d,g,v];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+f+"="+s+"*"+l+";i<"+c+";++i,"+f+"+="+s+"){var x0="+u+"["+a+"+"+f+"],x1="+u+"["+a+"+"+f+"+"+n+"],xi="+h+"[i];",k="for(var j="+p+","+m+"="+s+"*"+p+";j<"+d+";++j,"+m+"+="+s+"){var y0="+g+"["+a+"+"+m+"],"+(r?"y1="+g+"["+a+"+"+m+"+"+n+"],":"")+"yi="+v+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1<x0||x1<y0)continue;"):e?_.push("if(y0<=x0||x1<y0)continue;"):_.push("if(y0<x0||x1<y0)continue;"),_.push("for(var k="+a+"+1;k<"+n+";++k){var r0="+u+"[k+"+f+"],r1="+u+"[k+"+n+"+"+f+"],b0="+g+"[k+"+m+"],b1="+g+"[k+"+n+"+"+m+"];if(r1<b0||b1<r0)continue "+x+";}var "+y+"="+i+"("),e?_.push("yi,xi"):_.push("xi,yi"),_.push(");if("+y+"!==void 0)return "+y+";}}}"),{name:o,code:_.join("")}}(e,o,t);r.push(_.code),w.push("return "+_.name+"("+b.join()+");")}w.push("if("+c+"-"+l+">"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var T=r.join("")+w.join("");return new Function(T)()}r.partial=_(!1),r.full=_(!0)},{}],99:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,u,S,E,L,C){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(b*r);w.length<i&&(n.free(w),w=n.mallocInt32(i));var o=a.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,i+E);var P,O=0,z=2*t;T(O++,0,0,i,0,E,r?16:0,-1/0,1/0),r||T(O++,0,0,E,0,i,1,-1/0,1/0);for(;O>0;){var I=(O-=1)*b,D=w[I],R=w[I+1],F=w[I+2],B=w[I+3],N=w[I+4],j=w[I+5],V=O*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),Y=u,W=S,X=L,Z=C;if(H&&(Y=L,W=C,X=u,Z=S),!(2&j&&(F=v(t,D,R,F,Y,W,q),R>=F)||4&j&&(R=m(t,D,R,F,Y,W,U))>=F)){var J=F-R,K=N-B;if(G){if(t*J*(J+K)<p){if(void 0!==(P=l.scanComplete(t,D,e,R,F,Y,W,B,N,X,Z)))return P;continue}}else{if(t*Math.min(J,K)<h){if(void 0!==(P=o(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}if(t*J*K<f){if(void 0!==(P=l.scanBipartite(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}}var Q=d(t,D,R,F,Y,W,U,q);if(R<Q)if(t*(Q-R)<h){if(void 0!==(P=s(t,D+1,e,R,Q,Y,W,B,N,X,Z)))return P}else if(D===t-2){if(void 0!==(P=H?l.sweepBipartite(t,e,B,N,X,Z,R,Q,Y,W):l.sweepBipartite(t,e,R,Q,Y,W,B,N,X,Z)))return P}else T(O++,D+1,R,Q,B,N,H,-1/0,1/0),T(O++,D+1,B,N,R,Q,1^H,-1/0,1/0);if(Q<F){var $=c(t,D,B,N,X,Z),tt=X[z*$+D],et=g(t,D,$,N,X,Z,tt);if(et<N&&T(O++,D,Q,F,et,N,(4|H)+(G?16:0),tt,q),B<$&&T(O++,D,Q,F,B,$,(2|H)+(G?16:0),U,tt),$+1===et){if(void 0!==(P=G?M(t,D,e,Q,F,Y,W,$,X,Z[$]):A(t,D,e,H,Q,F,Y,W,$,X,Z[$])))return P}else if($<et){var rt;if(G){if(rt=y(t,D,Q,F,Y,W,tt),Q<rt){var nt=g(t,D,Q,rt,Y,W,tt);if(D===t-2){if(Q<nt&&void 0!==(P=l.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return P;if(nt<rt&&void 0!==(P=l.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return P}else Q<nt&&T(O++,D+1,Q,nt,$,et,16,-1/0,1/0),nt<rt&&(T(O++,D+1,nt,rt,$,et,0,-1/0,1/0),T(O++,D+1,$,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,Q,F,Y,W,tt):y(t,D,Q,F,Y,W,tt),Q<rt&&(D===t-2?P=H?l.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):l.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(T(O++,D+1,Q,rt,$,et,H,-1/0,1/0),T(O++,D+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var n=t("typedarray-pool"),a=t("bit-twiddle"),i=t("./brute"),o=i.partial,s=i.full,l=t("./sweep"),c=t("./median"),u=t("./partition"),h=128,f=1<<22,p=1<<22,d=u("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),v=u("lo<p0",["p0"]),m=u("hi<=p0",["p0"]),y=u("lo<=p0&&p0<=hi",["p0"]),x=u("lo<p0&&p0<=hi",["p0"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function T(t,e,r,n,a,i,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=a,w[c+4]=i,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,a,i,o,s,l,c,u){var h=2*t,f=l*h,p=c[f+e];t:for(var d=a,g=a*h;d<i;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=c[f+b],w=c[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function M(t,e,r,n,a,i,o,s,l,c){var u=2*t,h=s*u,f=l[h+e];t:for(var p=n,d=n*u;p<a;++p,d+=u){var g=o[p];if(g!==c){var v=i[d+e],m=i[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=i[d+y],m=i[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{"./brute":98,"./median":100,"./partition":101,"./sweep":103,"bit-twiddle":93,"typedarray-pool":543}],100:[function(t,e,r){"use strict";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,h=o+r>>>1,f=2*t,p=h,d=s[f*h+e];for(;c<u;){if(u-c<a){i(t,e,c,u,s,l),d=s[f*h+e];break}var g=u-c,v=Math.random()*g+c|0,m=s[f*v+e],y=Math.random()*g+c|0,x=s[f*y+e],b=Math.random()*g+c|0,_=s[f*b+e];m<=x?_>=x?(p=y,d=x):m>=_?(p=v,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=v,d=m):(p=b,d=_);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var M=l[u-1];l[u-1]=l[p],l[p]=M,p=n(t,e,c,u-1,s,l,d);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var M=l[u-1];if(l[u-1]=l[p],l[p]=M,h<p){for(u=p-1;c<u&&s[f*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<h))break;for(c=p+1;c<u&&s[f*c+e]===d;)c+=1}}return n(t,e,r,h,s,l,s[f*h+e])};var n=t("./partition")("lo<p0",["p0"]),a=8;function i(t,e,r,n,a,i){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=a[s],u=l,h=o*(l-1);u>r&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=a[f];a[f]=a[p],a[p]=g}var v=i[u];i[u]=i[u-1],i[u-1]=v}}},{"./partition":101}],101:[function(t,e,r){"use strict";e.exports=function(t,e){var r="abcdef".split("").concat(e),a=[];t.indexOf("lo")>=0&&a.push("lo=e[k+n]");t.indexOf("hi")>=0&&a.push("hi=e[k+o]");return r.push(n.replace("_",a.join()).replace("$",t)),Function.apply(void 0,r)};var n="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"},{}],102:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?a(0,e-1,t):function t(e,r,h){var f=(r-e+1)/6|0,p=e+f,d=r-f,g=e+r>>1,v=g-f,m=g+f,y=p,x=v,b=g,_=m,w=d,k=e+1,T=r-1,A=0;c(y,x,h)&&(A=y,y=x,x=A);c(_,w,h)&&(A=_,_=w,w=A);c(y,b,h)&&(A=y,y=b,b=A);c(x,b,h)&&(A=x,x=b,b=A);c(y,_,h)&&(A=y,y=_,_=A);c(b,_,h)&&(A=b,b=_,_=A);c(x,w,h)&&(A=x,x=w,w=A);c(x,b,h)&&(A=x,x=b,b=A);c(_,w,h)&&(A=_,_=w,w=A);var M=h[2*x];var S=h[2*x+1];var E=h[2*_];var L=h[2*_+1];var C=2*y;var P=2*b;var O=2*w;var z=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var F=h[C+R],B=h[P+R],N=h[O+R];h[z+R]=F,h[I+R]=B,h[D+R]=N}o(v,e,h);o(m,r,h);for(var j=k;j<=T;++j)if(u(j,M,S,h))j!==k&&i(j,k,h),++k;else if(!u(j,E,L,h))for(;;){if(u(T,E,L,h)){u(T,M,S,h)?(s(j,k,T,h),++k,--T):(i(j,T,h),--T);break}if(--T<j)break}l(e,k-1,M,S,h);l(r,T+1,E,L,h);k-2-e<=n?a(e,k-2,h):t(e,k-2,h);r-(T+2)<=n?a(T+2,r,h):t(T+2,r,h);T-k<=n?a(k,T,h):t(k,T,h)}(0,e-1,t)};var n=32;function a(t,e,r){for(var n=2*(t+1),a=t+1;a<=e;++a){for(var i=r[n++],o=r[n++],s=a,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<i)break;if(c===i&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=i,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],a=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=a}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var a=n[t*=2],i=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=a,n[r+1]=i}function l(t,e,r,n,a){e*=2,a[t*=2]=a[e],a[e]=r,a[t+1]=a[e+1],a[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],a=r[e];return!(n<a)&&(n!==a||r[t+1]>r[e+1])}function u(t,e,r,n){var a=n[t*=2];return a<e||a===e&&n[t+1]<r}},{}],103:[function(t,e,r){"use strict";e.exports={init:function(t){var e=a.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,a,h,f,v,m,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var T=h[k],A=b*k;p[x++]=a[A+_],p[x++]=-(T+1),p[x++]=a[A+w],p[x++]=T}for(var k=f;k<v;++k){var T=y[k]+o,M=b*k;p[x++]=m[M+_],p[x++]=-T,p[x++]=m[M+w],p[x++]=T}var S=x>>>1;i(p,S);for(var E=0,L=0,k=0;k<S;++k){var C=0|p[2*k+1];if(C>=o)d(c,u,L--,C=C-o|0);else if(C>=0)d(s,l,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P<E;++P){var O=e(s[P],C);if(void 0!==O)return O}g(c,u,L++,C)}else{C=-C-1|0;for(var P=0;P<L;++P){var O=e(C,c[P]);if(void 0!==O)return O}g(s,l,E++,C)}}},sweepComplete:function(t,e,r,n,a,o,v,m,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,T=r;T<n;++T){var A=o[T]+1<<1,M=_*T;p[b++]=a[M+w],p[b++]=-A,p[b++]=a[M+k],p[b++]=A}for(var T=v;T<m;++T){var A=x[T]+1<<1,S=_*T;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var E=b>>>1;i(p,E);for(var L=0,C=0,P=0,T=0;T<E;++T){var O=0|p[2*T+1],z=1&O;if(T<E-1&&O>>1==p[2*T+3]>>1&&(z=2,T+=1),O<0){for(var I=-(O>>1)-1,D=0;D<P;++D){var R=e(h[D],I);if(void 0!==R)return R}if(0!==z)for(var D=0;D<L;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==z)for(var D=0;D<C;++D){var R=e(c[D],I);if(void 0!==R)return R}0===z?g(s,l,L++,I):1===z?g(c,u,C++,I):2===z&&g(h,f,P++,I)}else{var I=(O>>1)-1;0===z?d(s,l,L--,I):1===z?d(c,u,C--,I):2===z&&d(h,f,P--,I)}}},scanBipartite:function(t,e,r,n,a,c,u,h,f,v,m,y){var x=0,b=2*t,_=e,w=e+t,k=1,T=1;n?T=o:k=o;for(var A=a;A<c;++A){var M=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-M,p[x++]=u[S+w],p[x++]=M}for(var A=f;A<v;++A){var M=A+T,E=b*A;p[x++]=m[E+_],p[x++]=-M}var L=x>>>1;i(p,L);for(var C=0,A=0;A<L;++A){var P=0|p[2*A+1];if(P<0){var M=-P,O=!1;if(M>=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(s,l,C++,M);else{var z=y[M],I=b*M,D=m[I+e+1],R=m[I+e+1+t];t:for(var F=0;F<C;++F){var B=s[F],N=b*B;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(m[I+j+t]<u[N+j]||u[N+j+t]<m[I+j])continue t;var V,U=h[B];if(void 0!==(V=n?r(z,U):r(U,z)))return V}}}}else d(s,l,C--,P-k)}},scanComplete:function(t,e,r,n,a,l,c,u,h,f,d){for(var g=0,v=2*t,m=e,y=e+t,x=n;x<a;++x){var b=x+o,_=v*x;p[g++]=l[_+m],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<h;++x){var b=x+1,w=v*x;p[g++]=f[w+m],p[g++]=-b}var k=g>>>1;i(p,k);for(var T=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[T++]=b-o;else{var M=d[b-=1],S=v*b,E=f[S+e+1],L=f[S+e+1+t];t:for(var C=0;C<T;++C){var P=s[C],O=c[P];if(O===M)break;var z=v*P;if(!(L<l[z+e+1]||l[z+e+1+t]<E)){for(var I=e+2;I<t;++I)if(f[S+I+t]<l[z+I]||l[z+I+t]<f[S+I])continue t;var D=r(O,M);if(void 0!==D)return D}}}}else{for(var b=A-o,C=T-1;C>=0;--C)if(s[C]===b){for(var I=C+1;I<T;++I)s[I-1]=s[I];break}--T}}}};var n=t("typedarray-pool"),a=t("bit-twiddle"),i=t("./sort"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),h=n.mallocInt32(1024),f=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var a=e[n],i=t[r-1];t[a]=i,e[i]=a}function g(t,e,r,n){t[r]=n,e[n]=r}},{"./sort":102,"bit-twiddle":93,"typedarray-pool":543}],104:[function(t,e,r){},{}],105:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},a=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function h(t,e,r,a){var i,o,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if("function"==typeof s?s=o[e]=a?[r,s]:[s,r]:a?s.unshift(r):s.push(r),!s.warned&&(i=u(t))&&i>0&&s.length>i){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=i.call(f,n);return a.listener=r,n.wrapFn=a,a}function d(t,e,r){var n=t._events;if(!n)return[];var a=n[e];return a?"function"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(a):v(a,a.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if("function"==typeof r)return 1;if(r)return r.length}return 0}function v(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||t!=t)throw new TypeError('"defaultMaxListeners" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,a,i,o,s="error"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled "error" event. ('+e+")");throw l.context=e,l}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,a=v(t,n),i=0;i<n;++i)a[i].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,a){if(e)t.call(r,n,a);else for(var i=t.length,o=v(t,i),s=0;s<i;++s)o[s].call(r,n,a)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,a,i){if(e)t.call(r,n,a,i);else for(var o=t.length,s=v(t,o),l=0;l<o;++l)s[l].call(r,n,a,i)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),i=1;i<n;i++)a[i-1]=arguments[i];!function(t,e,r,n){if(e)t.apply(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].apply(r,n)}(r,c,this,a)}return!0},o.prototype.addListener=function(t,e){return h(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return h(this,t,e,!0)},o.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,a,i,o,s;if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');if(!(a=this._events))return this;if(!(r=a[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete a[t],a.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n<a;r+=1,n+=1)t[r]=t[n];t.pop()}(r,i),1===r.length&&(a[t]=r[0]),a.removeListener&&this.emit("removeListener",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,i;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=a(r);for(i=0;i<s.length;++i)"removeListener"!==(o=s[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=n(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],106:[function(t,e,r){(function(e){"use strict";var n=t("base64-js"),a=t("ieee754"),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;var o=2147483647;function s(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var r=new Uint8Array(t);return Object.setPrototypeOf(r,e.prototype),r}function e(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,r,n){if("string"==typeof t)return function(t,r){"string"==typeof r&&""!==r||(r="utf8");if(!e.isEncoding(r))throw new TypeError("Unknown encoding: "+r);var n=0|p(t,r),a=s(n),i=a.write(t,r);i!==n&&(a=a.slice(0,i));return a}(t,r);if(ArrayBuffer.isView(t))return h(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength<r)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<r+(n||0))throw new RangeError('"length" is outside of buffer bounds');var a;a=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);return Object.setPrototypeOf(a,e.prototype),a}(t,r,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var a=t.valueOf&&t.valueOf();if(null!=a&&a!==t)return e.from(a,r,n);var i=function(t){if(e.isBuffer(t)){var r=0|f(t.length),n=s(r);return 0===n.length?n:(t.copy(n,0,0,r),n)}if(void 0!==t.length)return"number"!=typeof t.length||V(t.length)?s(0):h(t);if("Buffer"===t.type&&Array.isArray(t.data))return h(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return e.from(t[Symbol.toPrimitive]("string"),r,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return c(t),s(t<0?0:0|f(t))}function h(t){for(var e=t.length<0?0:0|f(t.length),r=s(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function f(t){if(t>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function p(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return F(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(t).length;default:if(i)return a?-1:F(t).length;r=(""+r).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,r,n,a,i){if(0===t.length)return-1;if("string"==typeof n?(a=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof r&&(r=e.from(r,a)),e.isBuffer(r))return 0===r.length?-1:v(t,r,n,a,i);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):v(t,[r],n,a,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,n,a){var i,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var u=-1;for(i=r;i<s;i++)if(c(t,i)===c(e,-1===u?0:i-u)){if(-1===u&&(u=i),i-u+1===l)return u*o}else-1!==u&&(i-=i-u),u=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;f<l;f++)if(c(t,i+f)!==c(e,f)){h=!1;break}if(h)return i}return-1}function m(t,e,r,n){r=Number(r)||0;var a=t.length-r;n?(n=Number(n))>a&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(F(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(B(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,a,i=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a<r;){var i,o,s,l,c=t[a],u=null,h=c>239?4:c>223?3:c>191?2:1;if(a+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=h}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=o,e.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),e.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(e.prototype,"parent",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.buffer}}),Object.defineProperty(e.prototype,"offset",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),e.poolSize=8192,e.from=function(t,e,r){return l(t,e,r)},Object.setPrototypeOf(e.prototype,Uint8Array.prototype),Object.setPrototypeOf(e,Uint8Array),e.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?s(t):void 0!==e?"string"==typeof r?s(t).fill(e,r):s(t).fill(e):s(t)}(t,e,r)},e.allocUnsafe=function(t){return u(t)},e.allocUnsafeSlow=function(t){return u(t)},e.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==e.prototype},e.compare=function(t,r){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),j(r,Uint8Array)&&(r=e.from(r,r.offset,r.byteLength)),!e.isBuffer(t)||!e.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;for(var n=t.length,a=r.length,i=0,o=Math.min(n,a);i<o;++i)if(t[i]!==r[i]){n=t[i],a=r[i];break}return n<a?-1:a<n?1:0},e.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},e.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return e.alloc(0);var n;if(void 0===r)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var a=e.allocUnsafe(r),i=0;for(n=0;n<t.length;++n){var o=t[n];if(j(o,Uint8Array)&&(o=e.from(o)),!e.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(a,i),i+=o.length}return a},e.byteLength=p,e.prototype._isBuffer=!0,e.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},e.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},e.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},e.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?T(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return E(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return M(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},e.prototype.toLocaleString=e.prototype.toString,e.prototype.equals=function(t){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===e.compare(this,t)},e.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},i&&(e.prototype[i]=e.prototype.inspect),e.prototype.compare=function(t,r,n,a,i){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===a&&(a=0),void 0===i&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError("out of range index");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(a>>>=0),s=(n>>>=0)-(r>>>=0),l=Math.min(o,s),c=this.slice(a,i),u=t.slice(r,n),h=0;h<l;++h)if(c[h]!==u[h]){o=c[h],s=u[h];break}return o<s?-1:s<o?1:0},e.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},e.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},e.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},e.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function M(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(127&t[a]);return n}function S(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(t[a]);return n}function E(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var a="",i=e;i<r;++i)a+=R(t[i]);return a}function L(t,e,r){for(var n=t.slice(e,r),a="",i=0;i<n.length;i+=2)a+=String.fromCharCode(n[i]+256*n[i+1]);return a}function C(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function P(t,r,n,a,i,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||r<o)throw new RangeError('"value" argument is out of bounds');if(n+a>t.length)throw new RangeError("Index out of range")}function O(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function z(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,8),a.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r<t&&(r=t);var a=this.subarray(t,r);return Object.setPrototypeOf(a,e.prototype),a},e.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n},e.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n>=(a*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},e.prototype.readInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i<r&&(a*=256);)this[e+i]=t/a&255;return e+r},e.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeFloatLE=function(t,e,r){return z(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return z(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,a){if(!e.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),a||0===a||(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a<n&&(a=n),a===n)return 0;if(0===t.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),t.length-r<a-n&&(a=t.length-r+n);var i=a-n;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(r,n,a);else if(this===t&&n<r&&r<a)for(var o=i-1;o>=0;--o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,a),r);return i},e.prototype.fill=function(t,r,n,a){if("string"==typeof t){if("string"==typeof r?(a=r,r=0,n=this.length):"string"==typeof n&&(a=n,n=this.length),void 0!==a&&"string"!=typeof a)throw new TypeError("encoding must be a string");if("string"==typeof a&&!e.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(1===t.length){var i=t.charCodeAt(0);("utf8"===a&&i<128||"latin1"===a)&&(t=i)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;var o;if(r>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=r;o<n;++o)this[o]=t;else{var s=e.isBuffer(t)?t:e.from(t,a),l=s.length;if(0===l)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<n-r;++o)this[o+r]=s[o%l]}return this};var D=/[^+/0-9A-Za-z-_]/g;function R(t){return t<16?"0"+t.toString(16):t.toString(16)}function F(t,e){var r;e=e||1/0;for(var n=t.length,a=null,i=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function B(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var a=0;a<n&&!(a+r>=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this,t("buffer").Buffer)},{"base64-js":75,buffer:106,ieee754:413}],107:[function(t,e,r){"use strict";var n=t("./lib/monotone"),a=t("./lib/triangulation"),i=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),h=!!c(r,"interior",!0),f=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!h&&!f||0===t.length)return[];var d=n(t,e);if(u||h!==f||p){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),v=0;v<d.length;++v){var m=d[v];g.addTriangle(m[0],m[1],m[2])}return u&&i(t,g),f?h?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{"./lib/delaunay":108,"./lib/filter":109,"./lib/monotone":110,"./lib/triangulation":111}],108:[function(t,e,r){"use strict";var n=t("robust-in-sphere")[4];t("binary-search-bounds");function a(t,e,r,a,i,o){var s=e.opposite(a,i);if(!(s<0)){if(i<a){var l=a;a=i,i=l,l=o,o=s,s=l}e.isConstraint(a,i)||n(t[a],t[i],t[o],t[s])<0&&r.push(a,i)}}e.exports=function(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var h=l[c-1],f=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){f=l[p];break}f<0||n(t[s],t[u],t[h],t[f])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],v=l[d];g===u?f=v:v===u&&(h=g)}h<0||f<0||(n(t[s],t[u],t[h],t[f])>=0||(e.flip(s,u),a(t,e,r,h,s,f),a(t,e,r,s,f,h),a(t,e,r,f,u,h),a(t,e,r,u,h,f)))}}},{"binary-search-bounds":112,"robust-in-sphere":506}],109:[function(t,e,r){"use strict";var n,a=t("binary-search-bounds");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a<n;++a){var s=r[a],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var h=new Array(n),a=0;a<h.length;++a)h[a]=0;var f=[],p=[],d=new Array(3*n),g=new Array(3*n),v=null;e&&(v=[]);for(var m=new i(r,d,g,h,f,p,v),a=0;a<n;++a)for(var s=r[a],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*a+y]=m.locate(c,l,t.opposite(c,l)),b=g[3*a+y]=t.isConstraint(l,c);x<0&&(b?p.push(a):(f.push(a),h[a]=1),e&&v.push([c,l,-1]))}return m}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var a=1,s=n.active,l=n.next,c=n.flags,u=n.cells,h=n.constraint,f=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-a){c[p]=a;u[p];for(var d=0;d<3;++d){var g=f[3*p+d];g>=0&&0===c[g]&&(h[3*p+d]?l.push(g):(s.push(g),c[g]=a))}}}var v=l;l=s,s=v,l.length=0,a=-a}var m=function(t,e,r){for(var n=0,a=0;a<t.length;++a)e[a]===r&&(t[n++]=t[a]);return t.length=n,t}(u,c,e);if(r)return m.concat(n.boundary);return m},i.prototype.locate=(n=[0,0,0],function(t,e,r){var i=t,s=e,l=r;return e<r?e<t&&(i=e,s=r,l=t):r<t&&(i=r,s=t,l=e),i<0?-1:(n[0]=i,n[1]=s,n[2]=l,a.eq(this.cells,n,o))})},{"binary-search-bounds":112}],110:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("robust-orientation")[3],i=0,o=1,s=2;function l(t,e,r,n,a){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=a}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==i&&(r=a(t.a,t.b,e.b))?r:t.idx-e.idx)}function h(t,e){return a(t.a,t.b,e)}function f(t,e,r,i,o){for(var s=n.lt(e,i,h),l=n.gt(e,i,h),c=s;c<l;++c){for(var u=e[c],f=u.lowerIds,p=f.length;p>1&&a(r[f[p-2]],r[f[p-1]],i)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=u.upperIds;for(p=d.length;p>1&&a(r[d[p-2]],r[d[p-1]],i)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?a(t.a,t.b,e.a):a(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?a(t.a,t.b,e.b):a(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var a=n.le(t,r,p),i=t[a],o=i.upperIds,s=o[o.length-1];i.upperIds=[s],t.splice(a+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var a=r.a;r.a=r.b,r.b=a;var i=n.eq(t,r,p),o=t[i];t[i-1].upperIds=o.upperIds,t.splice(i,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,a=[],h=0;h<r;++h)a.push(new c(t[h],null,i,h));for(var h=0;h<n;++h){var p=e[h],v=t[p[0]],m=t[p[1]];v[0]<m[0]?a.push(new c(v,m,s,h),new c(m,v,o,h)):v[0]>m[0]&&a.push(new c(m,v,s,h),new c(v,m,o,h))}a.sort(u);for(var y=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],h=0,_=a.length;h<_;++h){var w=a[h],k=w.type;k===i?f(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":112,"robust-orientation":508}],111:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function a(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new a(r,e)};var i=a.prototype;function o(t,e,r){for(var n=1,a=t.length;n<a;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[a-2],t[n]=t[a-1],void(t.length=a-2)}i.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,a){return t[0]=Math.min(r,a),t[1]=Math.max(r,a),n.eq(this.edges,t,e)>=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;n<a;n+=2)if(r[n]===t)return r[n-1];return-1},i.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},i.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2)e.push([a[i],a[i+1]]);return e},i.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2){var s=a[i],l=a[i+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{"binary-search-bounds":112}],112:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return a?e.indexOf("c")<0?i.push(";if(x===y){return m}else if(x<=y){"):i.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):i.push(";if(",e,"){i=m;"),r?i.push("l=m+1}else{h=m-1}"):i.push("h=m-1}else{l=m+1}"),i.push("}"),a?i.push("return -1};"):i.push("return i};"),i.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],a),n("P","c(x,y)"+t+"0",e,["y","c"],a),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],113:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],114:[function(t,e,r){"use strict";var n=t("dup"),a=t("robust-linear-solve");function i(t,e){for(var r=0,n=t.length,a=0;a<n;++a)r+=t[a]*e[a];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*i(t[s],t[l]);o[s]=i(t[s],t[s])}var c=a(r,o),u=0,h=c[e+1];for(s=0;s<h.length;++s)u+=h[s];var f=new Array(e);for(s=0;s<e;++s){h=c[s];var p=0;for(l=0;l<h.length;++l)p+=h[l];f[s]=p/u}return f}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),a=o(t),i=0;i<t.length;++i)for(var s=0;s<e;++s)r[s]+=t[i][s]*a[i];return r}s.barycenetric=o,e.exports=s},{dup:171,"robust-linear-solve":507}],115:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,a=0;a<t.length;++a)for(var i=t[a],o=0;o<e.length;++o)r+=Math.pow(i[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t("circumcenter")},{circumcenter:114}],116:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],117:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;i<e.length;++i){var o=e[i];a[i]=[o[0],o[1],r[i]]}e=a}var s=function(t,e,r){var n=d(t,[],p(t));return m(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var i=0;i<e.length;++i){var o=e[i];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t("union-find"),a=t("box-intersect"),i=t("robust-segment-intersect"),o=t("big-rat"),s=t("big-rat/cmp"),l=t("big-rat/to-float"),c=t("rat-vec"),u=t("nextafter"),h=t("./lib/rat-seg-intersect");function f(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var i=e.length,o=new n(i),s=[],l=0;l<e.length;++l){var c=e[l],h=f(c[0]),p=f(c[1]);s.push([u(h[0],-1/0),u(p[0],-1/0),u(h[1],1/0),u(p[1],1/0)])}a(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(i);for(l=0;l<i;++l){(m=o.find(l))!==l&&(d=!1,t[m]=[Math.min(t[l][0],t[m][0]),Math.min(t[l][1],t[m][1])])}if(d)return null;var v=0;for(l=0;l<i;++l){var m;(m=o.find(l))===l?(g[l]=v,t[v++]=t[l]):g[l]=-1}t.length=v;for(l=0;l<i;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function v(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var a=e[(o=t[n])[0]],i=e[o[1]];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}else for(n=0;n<t.length;++n){var o;a=(o=t[n])[0],i=o[1];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}r?t.sort(v):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var a=e[n],i=t[a[0]],o=t[a[1]];r[n]=[u(Math.min(i[0],o[0]),-1/0),u(Math.min(i[1],o[1]),-1/0),u(Math.max(i[0],o[0]),1/0),u(Math.max(i[1],o[1]),1/0)]}return r}(t,e),f=function(t,e,r){var n=[];return a(r,function(r,a){var o=e[r],s=e[a];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],h=t[s[1]];i(l,c,u,h)&&n.push([r,a])}}),n}(t,e,n),g=p(t),v=function(t,e,r,n){var o=[];return a(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var s=t[n],l=t[a[0]],c=t[a[1]];i(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,a){var i,u,f=t.map(function(t){return[o(t[0]),o(t[1])]});for(i=0;i<r.length;++i){var p=r[i];u=p[0];var d=p[1],g=e[u],v=e[d],m=h(c(t[g[0]]),c(t[g[1]]),c(t[v[0]]),c(t[v[1]]));if(m){var y=t.length;t.push([l(m[0]),l(m[1])]),f.push(m),n.push([u,y],[d,y])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=f[t[1]],n=f[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),i=n.length-1;i>=0;--i){var x=e[u=(S=n[i])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var T=b;b=_,_=T}x[0]=b;var A,M=x[1]=S[1];for(a&&(A=x[2]);i>0&&n[i-1][0]===u;){var S,E=(S=n[--i])[1];a?e.push([M,E,A]):e.push([M,E]),M=E}a?e.push([M,_,A]):e.push([M,_])}return f}(t,e,f,v,r));return m(e,y,r),!!y||(f.length>0||v.length>0)}},{"./lib/rat-seg-intersect":118,"big-rat":79,"big-rat/cmp":77,"big-rat/to-float":91,"box-intersect":97,nextafter:452,"rat-vec":487,"robust-segment-intersect":511,"union-find":544}],118:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=s(e,t),h=s(n,r),f=u(i,h);if(0===o(f))return null;var p=s(t,r),d=u(h,p),g=a(d,f),v=c(i,g);return l(t,v)};var n=t("big-rat/mul"),a=t("big-rat/div"),i=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":78,"big-rat/mul":88,"big-rat/sign":89,"big-rat/sub":90,"rat-vec/add":486,"rat-vec/muls":488,"rat-vec/sub":489}],119:[function(t,e,r){"use strict";var n=t("clamp");function a(t,e){null==e&&(e=!0);var r=t[0],a=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,a*=255,i*=255,o*=255),16777216*(r=255&n(r,0,255))+((a=255&n(a,0,255))<<16)+((i=255&n(i,0,255))<<8)+(o=255&n(o,0,255))}e.exports=a,e.exports.to=a,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,a=(65280&t)>>>8,i=255&t;return!1===e?[r,n,a,i]:[r/255,n/255,a/255,i/255]}},{clamp:116}],120:[function(t,e,r){"use strict";e.exports={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]}},{}],121:[function(t,e,r){"use strict";var n=t("color-rgba"),a=t("clamp"),i=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(i(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:116,"color-rgba":123,dtype:170}],122:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),a=t("is-plain-obj"),i=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),h=u.length,f=h<=4;c=1,f?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var p=e[1],d="rgb"===p,u=p.replace(/a$/,"");s=u;var h="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=d?1:void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(a(t)){var g=i(t.r,t.red,t.R,null);null!==g?(s="rgb",l=[g,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s="hsl",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),c=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":120,defined:165,"is-plain-obj":423}],123:[function(t,e,r){"use strict";var n=t("color-parse"),a=t("color-space/hsl"),i=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),"h"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:116,"color-parse":122,"color-space/hsl":124}],124:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[c]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":125}],125:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],126:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],127:[function(t,e,r){"use strict";var n=t("./colorScale"),a=t("lerp");function i(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,h,f,p,d,g;t||(t={});p=(t.nshades||72)-1,f=t.format||"hex",(h=t.colormap)||(h="jet");if("string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var v=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),m=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=v[g],l=v[g+1];for(var y=0;y<c;y++){var x=y/c;m.push([Math.round(a(r[0],l[0],x)),Math.round(a(r[1],l[1],x)),Math.round(a(r[2],l[2],x)),a(r[3],l[3],x)])}}m.push(u[u.length-1].rgb.concat(d[1])),"hex"===f?m=m.map(o):"rgbaString"===f?m=m.map(s):"float"===f&&(m=m.map(i));return m}},{"./colorScale":126,lerp:426}],128:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){var o=n(e,r,i);if(0===o){var s=a(n(t,e,r)),c=a(n(t,e,i));if(s===c){if(0===s){var u=l(t,e,r),h=l(t,e,i);return u===h?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,i)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:a(c-s)}var f=n(t,e,r);if(f>0)return o>0&&n(t,e,i)>0?1:-1;if(f<0)return o>0||n(t,e,i)>0?1:-1;var p=n(t,e,i);return p>0?1:l(t,e,r)?1:-1};var n=t("robust-orientation"),a=t("signum"),i=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),c=i(r[1],-e[1]),u=s(o(n,l),o(a,c));return u[u.length-1]>=0}},{"robust-orientation":508,"robust-product":509,"robust-sum":513,signum:514,"two-sum":542}],129:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=e[0],g=e[1],v=e[2],m=e[3];return u+h+f+p-(d+g+v+m)||n(u,h,f,p)-n(d,g,v,m,d)||n(u+h,u+f,u+p,h+f,h+p,f+p)-n(d+g,d+v,d+m,g+v,g+m,v+m)||n(u+h+f,u+h+p,u+f+p,h+f+p)-n(d+g+v,d+g+m,d+v+m,g+v+m);default:for(var y=t.slice().sort(a),x=e.slice().sort(a),b=0;b<r;++b)if(i=y[b]-x[b])return i;return 0}};var n=Math.min;function a(t,e){return t-e}},{}],130:[function(t,e,r){"use strict";var n=t("compare-cell"),a=t("cell-orientation");e.exports=function(t,e){return n(t,e)||a(t)-a(e)}},{"cell-orientation":113,"compare-cell":129}],131:[function(t,e,r){"use strict";var n=t("./lib/ch1d"),a=t("./lib/ch2d"),i=t("./lib/chnd");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return a(t);return i(t,r)}},{"./lib/ch1d":132,"./lib/ch2d":133,"./lib/chnd":134}],132:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],133:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o<r;++o){var s=e[o];a[o]=[i,s],i=s}return a};var n=t("monotone-convex-hull-2d")},{"monotone-convex-hull-2d":435}],134:[function(t,e,r){"use strict";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=a(t);if(r.length<=e)return[];var i=function(t,e){for(var r=t.length,n=new Array(r),a=0;a<e.length;++a)n[a]=t[e[a]];for(var i=e.length,a=0;a<r;++a)e.indexOf(a)<0&&(n[i++]=t[a]);return n}(t,r),o=n(i,!0);return function(t,e){for(var r=t.length,n=e.length,a=0;a<r;++a)for(var i=t[a],o=0;o<i.length;++o){var s=i[o];if(s<n)i[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);i[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),a=t("affine-hull")},{"affine-hull":64,"incremental-convex-hull":414}],135:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],136:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],137:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],138:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],139:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],140:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":142,"./stringify":143}],141:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":136}],142:[function(t,e,r){"use strict";var n=t("unquote"),a=t("css-global-keywords"),i=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=f;var h=f.cache={};function f(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(h[t])return h[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==i.indexOf(t))return h[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},f=c(t,/\s+/);e=f.shift();){if(-1!==a.indexOf(e))return["style","variant","weight","stretch"].forEach(function(t){r[t]=e}),h[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error("Missing required font-family.");return r.family=c(f.join(" "),/\s*,\s*/).map(n),h[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{"./lib/util":141,"css-font-stretch-keywords":137,"css-font-style-keywords":138,"css-font-weight-keywords":139,"css-global-keywords":144,"css-system-font-keywords":145,"string-split-by":527,unquote:546}],143:[function(t,e,r){"use strict";var n=t("pick-by-alias"),a=t("./lib/util").isSize,i=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},h={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!i[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=f),"number"==typeof t.size&&(t.size+="px"),!a)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map(function(t){return h[t]?t:'"'+t+'"'}).join(", "));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||"normal"===t.lineHeight||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(" ")}},{"./lib/util":141,"css-font-stretch-keywords":137,"css-font-style-keywords":138,"css-font-weight-keywords":139,"css-global-keywords":144,"css-system-font-keywords":145,"pick-by-alias":466}],144:[function(t,e,r){e.exports=["inherit","initial","unset"]},{}],145:[function(t,e,r){e.exports=["caption","icon","menu","message-box","small-caption","status-bar"]},{}],146:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i){var o=a-1,s=a*a,l=o*o,c=(1+2*a)*l,u=a*l,h=s*(3-2*a),f=s*o;if(t.length){i||(i=new Array(t.length));for(var p=t.length-1;p>=0;--p)i[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return i}return c*t+u*e+h*r+f*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,c=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var u=t.length-1;u>=0;--u)i[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return i}return o*t+s*e+l*r[u]+c*n}},{}],147:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if("array"===o||"object"==typeof o&&o.blockIndices){if(e.argTypes[i]="array",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push("array"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array args");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array index");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array index");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array shape");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+r[i]);e.argTypes[i]="offset",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(e.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":149}],148:[function(t,e,r){"use strict";var n=t("uniq");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,h=0;for(n=0;n<i;++n)c.push(["i",n,"=0"].join(""));for(a=0;a<o;++a)for(n=0;n<i;++n)h=u,u=t[n],0===n?c.push(["d",a,"s",n,"=t",a,"p",u].join("")):c.push(["d",a,"s",n,"=(t",a,"p",u,"-s",h,"*t",a,"p",h,")"].join(""));for(c.length>0&&l.push("var "+c.join(",")),n=i-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"<s",u,";++i",n,"){"].join(""));for(l.push(r),n=0;n<i;++n){for(h=u,u=t[n],a=0;a<o;++a)l.push(["p",a,"+=d",a,"s",n].join(""));s&&(n>0&&l.push(["index[",h,"]-=s",h].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,"g"),c="",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case"offset":var h=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[h].array,c="+q"+h;case"array":c="p"+u+c;var f="l"+o,p="a"+u;if(0===e.arrayBlockIndices[u])1===s.count?"generic"===r[u]?s.lvalue?(a.push(["var ",f,"=",p,".get(",c,")"].join("")),n=n.replace(l,f),i.push([p,".set(",c,",",f,")"].join(""))):n=n.replace(l,[p,".get(",c,")"].join("")):n=n.replace(l,[p,"[",c,"]"].join("")):"generic"===r[u]?(a.push(["var ",f,"=",p,".get(",c,")"].join("")),n=n.replace(l,f),s.lvalue&&i.push([p,".set(",c,",",f,")"].join(""))):(a.push(["var ",f,"=",p,"[",c,"]"].join("")),n=n.replace(l,f),s.lvalue&&i.push([p,"[",c,"]=",f].join("")));else{for(var d=[s.name],g=[c],v=0;v<Math.abs(e.arrayBlockIndices[u]);v++)d.push("\\s*\\[([^\\]]+)\\]"),g.push("$"+(v+1)+"*t"+u+"b"+v);if(l=new RegExp(d.join(""),"g"),c=g.join("+"),"generic"===r[u])throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(l,[p,"[",c,"]"].join(""))}break;case"scalar":n=n.replace(l,"Y"+e.scalarArgs.indexOf(o));break;case"index":n=n.replace(l,"index");break;case"shape":n=n.replace(l,"shape")}}}return[a.join("\n"),n,i.join("\n")].join("\n").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],h=[],f=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(h.push(0),f.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(h.push(t.arrayBlockIndices[l]),f.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)h[l]<=o[l][g]&&o[l][g]<f[l]&&d.push(o[l][g]-h[l]);p.push(d)}var v=["SS"],m=["'use strict'"],y=[];for(g=0;g<r;++g)y.push(["s",g,"=SS[",g,"]"].join(""));for(l=0;l<t.arrayArgs.length;++l){for(v.push("a"+l),v.push("t"+l),v.push("p"+l),g=0;g<r;++g)y.push(["t",l,"p",g,"=t",l,"[",h[l]+g,"]"].join(""));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push(["t",l,"b",g,"=t",l,"[",c[l]+g,"]"].join(""))}for(l=0;l<t.scalarArgs.length;++l)v.push("Y"+l);if(t.shapeArgs.length>0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]="0";y.push(["index=[",x.join(","),"]"].join(""))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push(["t",b.array,"p",g].join("")):_.push([b.offset[g],"*t",b.array,"p",g].join("")));0===_.length?y.push("q"+l+"=0"):y.push(["q",l,"=",_.join("+")].join(""))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&m.push("var "+y.join(",")),l=0;l<t.arrayArgs.length;++l)m.push("p"+l+"|=0");t.pre.body.length>3&&m.push(i(t.pre,t,s));var k=i(t.body,t,s),T=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(p);T<r?m.push(function(t,e,r,n){for(var i=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push(["var offset",u,"=p",u].join(""));for(u=t;u<i;++u)c.push(["for(var j"+u+"=SS[",e[u],"]|0;j",u,">0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u<o;++u){for(var h=["offset"+u],f=t;f<i;++f)h.push(["j",f,"*t",u,"p",e[f]].join(""));c.push(["p",u,"=(",h.join("+"),")"].join(""))}for(c.push(a(e,r,n)),u=t;u<i;++u)c.push("}");return c.join("\n")}(T,p[0],t,k)):m.push(a(p[0],t,k)),t.post.body.length>3&&m.push(i(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+m.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",T,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var a=t[n],i=a.match(/\d+/);i=i?i[0]:"",0===a.charAt(0)?e[n]="u"+a.charAt(1)+i:e[n]=a.charAt(0)+i,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",A,"(",v.join(","),"){",m.join("\n"),"} return ",A].join(""))()}},{uniq:545}],149:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],a=t.funcName+"_cwise_thunk";e.push(["return function ",a,"(",t.shimArgs.join(","),"){"].join(""));for(var i=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var h=t.arrayArgs[u];r.push(["t",h,"=array",h,".dtype,","r",h,"=array",h,".order"].join("")),i.push("t"+h),i.push("r"+h),o.push("t"+h),o.push("r"+h+".join()"),s.push("array"+h+".data"),s.push("array"+h+".stride"),s.push("array"+h+".offset|0"),u>0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+h+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+h+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;u<t.scalarArgs.length;++u)s.push("scalar"+t.scalarArgs[u]);return r.push(["type=[",o.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),e.push("var "+r.join(",")),e.push(["if(!proc){","CACHED[type]=proc=compile([",i.join(","),"])}","return proc(",s.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+e.join("\n")+"\n----------"),new Function("compile",e.join("\n"))(n.bind(void 0,t))}},{"./compile.js":148}],150:[function(t,e,r){e.exports=t("cwise-compiler")},{"cwise-compiler":147}],151:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/copy"),i=t("es5-ext/object/normalize-options"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/map"),l=t("es5-ext/object/valid-callable"),c=t("es5-ext/object/valid-value"),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=c(e)&&l(e.value);return delete(n=a(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&f.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),h(this,t,e),this[t])},n},e.exports=function(t){var e=i(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{"es5-ext/object/copy":191,"es5-ext/object/map":200,"es5-ext/object/normalize-options":201,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207}],152:[function(t,e,r){"use strict";var n=t("es5-ext/object/assign"),a=t("es5-ext/object/normalize-options"),i=t("es5-ext/object/is-callable"),o=t("es5-ext/string/#/contains");(e.exports=function(t,e){var r,i,s,l,c;return arguments.length<2||"string"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,i=!1):(r=o.call(t,"c"),i=o.call(t,"e"),s=o.call(t,"w")),c={value:e,configurable:r,enumerable:i,writable:s},l?n(a(l),c):c}).gs=function(t,e,r){var s,l,c,u;return"string"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:i(e)?null==r?r=void 0:i(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,"c"),l=o.call(t,"e")),u={get:e,set:r,configurable:s,enumerable:l},c?n(a(c),u):u}},{"es5-ext/object/assign":188,"es5-ext/object/is-callable":194,"es5-ext/object/normalize-options":201,"es5-ext/string/#/contains":208}],153:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}var n=r(e),a=n.right,i=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,a=t.length,i=0,o=-1,l=0,c=0;if(null==e)for(;++o<a;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++i)));else for(;++o<a;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++i)));if(i>1)return c/(i-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,a,i=t.length,o=-1;if(null==e){for(;++o<i;)if(null!=(r=t[o])&&r>=r)for(n=a=r;++o<i;)null!=(r=t[o])&&(n>r&&(n=r),a<r&&(a=r))}else for(;++o<i;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=a=r;++o<i;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),a<r&&(a=r));return[n,a]}var h=Array.prototype,f=h.slice,p=h.map;function d(t){return function(){return t}}function g(t){return t}function v(t,e,r){t=+t,e=+e,r=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+r;for(var n=-1,a=0|Math.max(0,Math.ceil((e-t)/r)),i=new Array(a);++n<a;)i[n]=t+n*r;return i}var m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),a=Math.floor(Math.log(n)/Math.LN10),i=n/Math.pow(10,a);return a>=0?(i>=m?10:i>=y?5:i>=x?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=m?10:i>=y?5:i>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),a=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/a;return i>=m?a*=10:i>=y?a*=5:i>=x&&(a*=2),e<t?-a:a}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function k(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,a=(n-1)*e,i=Math.floor(a),o=+r(t[i],i,t);return o+(+r(t[i+1],i+1,t)-o)*(a-i)}}function T(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&n>r&&(n=r);return n}function A(t){if(!(a=t.length))return[];for(var e=-1,r=T(t,M),n=new Array(r);++e<r;)for(var a,i=-1,o=n[e]=new Array(a);++i<a;)o[i]=t[i][e];return n}function M(t){return t.length}t.bisect=a,t.bisectRight=a,t.bisectLeft=i,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,a,i,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=i=0;n<l;++n)for(s=t[n],a=0;a<c;++a,++i)u[i]=r(s,e[a]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var i,o,s=n.length,l=new Array(s);for(i=0;i<s;++i)l[i]=t(n[i],i,n);var c=e(l),u=c[0],h=c[1],f=r(l,u,h);Array.isArray(f)||(f=_(u,h,f),f=v(Math.ceil(u/f)*f,h,f));for(var p=f.length;f[0]<=u;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(i=0;i<=p;++i)(d=g[i]=[]).x0=i>0?f[i-1]:u,d.x1=i<p?f[i]:h;for(i=0;i<s;++i)u<=(o=l[i])&&o<=h&&g[a(f,o,0,p)].push(n[i]);return g}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e="function"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:Array.isArray(t)?d(f.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,a=n,i=-1,o=0;if(null==e)for(;++i<n;)isNaN(r=s(t[i]))?--a:o+=r;else for(;++i<n;)isNaN(r=s(e(t[i],i,t)))?--a:o+=r;if(a)return o/a},t.median=function(t,r){var n,a=t.length,i=-1,o=[];if(null==r)for(;++i<a;)isNaN(n=s(t[i]))||o.push(n);else for(;++i<a;)isNaN(n=s(r(t[i],i,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r},t.min=T,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r<n;)i[r]=e(a,a=t[++r]);return i},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=v,t.scan=function(t,r){if(n=t.length){var n,a,i=0,o=0,s=t[o];for(null==r&&(r=e);++i<n;)(r(a=t[i],s)<0||0!==r(s,s))&&(s=a,o=i);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,a,i=(null==r?t.length:r)-(e=null==e?0:+e);i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.sum=function(t,e){var r,n=t.length,a=-1,i=0;if(null==e)for(;++a<n;)(r=+t[a])&&(i+=r);else for(;++a<n;)(r=+e(t[a],a,t))&&(i+=r);return i},t.ticks=function(t,e,r){var n,a,i,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(a=t,t=e,e=a),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),i=new Array(a=Math.ceil(e-t+1));++s<a;)i[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),i=new Array(a=Math.ceil(t-e+1));++s<a;)i[s]=(t-s)/o;return n&&i.reverse(),i},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],154:[function(t,e,r){var n;n=this,function(t){"use strict";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var a,i=-1,o=t.length;if(null==r)for(;++i<o;)n.set(i,t[i]);else for(;++i<o;)n.set(r(a=t[i],i,t),a)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function a(t,e,r){t[e]=r}function i(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,a=t.length;if(null==e)for(;++n<a;)r.add(t[n]);else for(;++n<a;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this["$"+(t+="")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],c=[];function u(n,a,i,o){if(a>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,h,f=-1,p=n.length,d=l[a++],g=r(),v=i();++f<p;)(h=g.get(s=d(c=n[f])+""))?h.push(c):g.set(s,[c]);return g.each(function(t,e){o(v,e,u(t,a,i,o))}),v}return s={object:function(t){return u(t,0,n,a)},map:function(t){return u(t,0,i,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var a,i=c[n-1];return null!=e&&n>=l.length?a=r.entries():(a=[],r.each(function(e,r){a.push({key:r,values:t(e,n)})})),null!=i?a.sort(function(t,e){return i(t.key,e.key)}):a}(u(t,0,i,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],155:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var a="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[a,a,a]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),h=new RegExp("^rgba\\("+[a,a,a,i]+"\\)$"),f=new RegExp("^rgba\\("+[o,o,o,i]+"\\)$"),p=new RegExp("^hsl\\("+[i,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[i,o,o,i]+"\\)$"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function v(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function T(t,e,r,a){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,a=t.b/255,i=Math.min(e,r,a),o=Math.max(e,r,a),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-a)/l+6*(r<a):r===o?(a-e)/l+2:(e-r)/l+4,l/=c<.5?o+i:2-o-i,s*=60):l=c>0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==a?1:a)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function M(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(A,T,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,a=2*r-n;return new _(M(t>=240?t-240:t+120,a,n),M(t,a,n),M(t<120?t+240:t-120,a,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var S=Math.PI/180,E=180/Math.PI,L=.96422,C=1,P=.82521,O=4/29,z=6/29,I=3*z*z,D=z*z*z;function R(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new B(t.l,0,0,t.opacity);var e=t.h*S;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,a=U(t.r),i=U(t.g),o=U(t.b),s=N((.2225045*a+.7168786*i+.0606169*o)/C);return a===i&&i===o?r=n=s:(r=N((.4360747*a+.3850649*i+.1430804*o)/L),n=N((.0139322*a+.0971045*i+.7141733*o)/P)),new B(116*s-16,500*(r-s),200*(s-n),t.opacity)}function F(t,e,r,n){return 1===arguments.length?R(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>D?Math.pow(t,1/3):t/I+O}function j(t){return t>z?t*t*t:I*(t-O)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof B||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,F,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=L*j(e))-1.6168667*(t=C*j(t))-.4906146*(r=P*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,J=1.97294,K=J*Z,Q=J*W,$=W*X-Z*Y;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,a=($*n+K*e-Q*r)/($+K-Q),i=n-a,o=(J*(r-a)-X*i)/Z,s=Math.sqrt(o*o+i*i)/(J*a*(1-a)),l=s?Math.atan2(o,i)*E-120:NaN;return new et(l<0?l+360:l,s,a,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),a=Math.sin(t);return new _(255*(e+r*(Y*n+W*a)),255*(e+r*(X*n+Z*a)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=T,t.lab=F,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new B(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],156:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,a={};e<r;++e){if(!(t=arguments[e]+"")||t in a)throw new Error("illegal type: "+t);a[t]=[]}return new n(a)}function n(t){this._=t}function a(t,e){for(var r,n=0,a=t.length;n<a;++n)if((r=t[n]).name===e)return r.value}function i(t,r,n){for(var a=0,i=t.length;a<i;++a)if(t[a].name===r){t[a]=e,t=t.slice(0,a).concat(t.slice(a+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l<c;)if(r=(t=s[l]).type)o[r]=i(o[r],t.name,e);else if(null==e)for(r in o)o[r]=i(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=a(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,a=new Array(r),i=0;i<r;++i)a[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=0,r=(n=this._[t]).length;i<r;++i)n[i].value.apply(e,a)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],a=0,i=n.length;a<i;++a)n[a].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],157:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){"use strict";var i=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function h(t){return t.x}function f(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,a,i=r.length,o=0,s=0;for(n=0;n<i;++n)o+=(a=r[n]).x,s+=a.y;for(o=o/i-t,s=s/i-e,n=0;n<i;++n)(a=r[n]).x-=o,a.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,a=1,c=1;function u(){for(var t,i,u,f,p,d,g,v=r.length,m=0;m<c;++m)for(i=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)u=r[t],d=n[u.index],g=d*d,f=u.x+u.vx,p=u.y+u.vy,i.visit(y);function y(t,e,r,n,i){var s=t.data,l=t.r,c=d+l;if(!s)return e>f+c||n<f-c||r>p+c||i<p-c;if(s.index>u.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<c*c&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(c-(m=Math.sqrt(m)))/m*a,u.vx+=(h*=m)*(c=(l*=l)/(g+l)),u.vy+=(v*=m)*c,s.vx-=h*(c=1-c),s.vy-=v*c)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function f(){if(r){var e,a,i=r.length;for(n=new Array(i),e=0;e<i;++e)a=r[e],n[a.index]=+t(a,e,r)}}return"function"!=typeof t&&(t=i(null==t?1:+t)),u.initialize=function(t){r=t,f()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(a=+t,u):a},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),f(),u):t},u},t.forceLink=function(t){var e,n,a,s,l,h=c,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=i(30),d=1;function g(r){for(var a=0,i=t.length;a<d;++a)for(var s,c,u,h,f,p,g,v=0;v<i;++v)c=(s=t[v]).source,h=(u=s.target).x+u.vx-c.x-c.vx||o(),f=u.y+u.vy-c.y-c.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,u.vx-=h*(g=l[v]),u.vy-=f*g,c.vx+=h*(g=1-g),c.vy+=f*g}function v(){if(a){var i,o,c=a.length,f=t.length,p=r.map(a,h);for(i=0,s=new Array(c);i<f;++i)(o=t[i]).index=i,"object"!=typeof o.source&&(o.source=u(p,o.source)),"object"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(i=0,l=new Array(f);i<f;++i)o=t[i],l[i]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(a)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(a)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){a=t,v()},g.links=function(e){return arguments.length?(t=e,v(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(f="function"==typeof t?t:i(+t),m(),g):f},g.distance=function(t){return arguments.length?(p="function"==typeof t?t:i(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,a,s=i(-30),l=1,c=1/0,u=.81;function p(a){var i,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=a,i=0;i<o;++i)r=t[i],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(a=new Array(n),e=0;e<n;++e)r=t[e],a[r.index]=+s(r,e,t)}}function g(t){var e,r,n,i,o,s=0,l=0;if(t.length){for(n=i=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,i+=r*e.y);t.x=n/l,t.y=i/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=a[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,i,s){if(!t.value)return!0;var h=t.x-r.x,f=t.y-r.y,p=s-e,d=h*h+f*f;if(p*p/u<d)return d<c&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)),r.vx+=h*t.value*n/d,r.vy+=f*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=a[t.data.index]*n/d,r.vx+=h*p,r.vy+=f*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s="function"==typeof t?t:i(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,a,o,s=i(.1);function l(t){for(var i=0,s=n.length;i<s;++i){var l=n[i],c=l.x-e||1e-6,u=l.y-r||1e-6,h=Math.sqrt(c*c+u*u),f=(o[i]-h)*a[i]*t/h;l.vx+=c*f,l.vy+=u*f}}function c(){if(n){var e,r=n.length;for(a=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),a[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return"function"!=typeof t&&(t=i(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:i(+t),c(),l):s},l.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,i=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),h=a.timer(g),f=n.dispatch("tick","end");function g(){v(),f.call("tick",e),i<o&&(h.stop(),f.call("end",e))}function v(){var e,r,n=t.length;for(i+=(l-i)*s,u.each(function(t){t(i)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var a=p*Math.sqrt(r),i=r*d;e.x=a*Math.cos(i),e.y=a*Math.sin(i)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),u.each(y),e):t},alpha:function(t){return arguments.length?(i=+t,e):i},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var a,i,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(a=e-(s=t[c]).x)*a+(i=r-s.y)*i)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vx+=(n[i]-a.x)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.x=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vy+=(n[i]-a.y)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.y=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-quadtree"),t("d3-collection"),t("d3-dispatch"),t("d3-timer")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{"d3-collection":154,"d3-dispatch":156,"d3-quadtree":161,"d3-timer":163}],158:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function a(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function i(t,e){var r,n,a,i,s,u=new c(t),h=+t.value&&(u.value=t.value),f=[u];for(null==e&&(e=o);r=f.pop();)if(h&&(r.value=+r.data.value),(a=e(r.data))&&(s=a.length))for(r.children=new Array(s),i=s-1;i>=0;--i)f.push(n=r.children[i]=new c(a[i])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(a)},each:function(t){var e,r,n,a,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(t(i),r=i.children)for(n=0,a=r.length;n<a;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,a=this,i=[a],o=[];a=i.pop();)if(o.push(a),e=a.children)for(r=0,n=e.length;r<n;++r)i.push(e[r]);for(;a=o.pop();)t(a);return this},eachBefore:function(t){for(var e,r,n=this,a=[n];n=a.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)a.push(e[r]);return this},sum:function(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,a=n&&n.length;--a>=0;)r+=n[a].value;e.value=r})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),a=null;for(t=r.pop(),e=n.pop();t===e;)a=t,t=r.pop(),e=n.pop();return a}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var a=n.length;t!==r;)n.splice(a,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e},copy:function(){return i(this).eachBefore(s)}};var u=Array.prototype.slice;function h(t){for(var e,r,n=0,a=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,i=[];n<a;)e=t[n],r&&d(r,e)?++n:(r=v(i=f(i,e)),n=0);return r}function f(t,e){var r,n;if(g(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&g(m(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(m(t[r],t[n]),e)&&p(m(t[r],e),t[n])&&p(m(t[n],e),t[r])&&g(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,a=e.y-t.y;return r<0||r*r<n*n+a*a}function d(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function g(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function v(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return m(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function m(t,e){var r=t.x,n=t.y,a=t.r,i=e.x,o=e.y,s=e.r,l=i-r,c=o-n,u=s-a,h=Math.sqrt(l*l+c*c);return{x:(r+i+l/h*u)/2,y:(n+o+c/h*u)/2,r:(h+a+s)/2}}function y(t,e,r){var n=t.x,a=t.y,i=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,h=r.r,f=n-o,p=n-c,d=a-s,g=a-u,v=l-i,m=h-i,y=n*n+a*a-i*i,x=y-o*o-s*s+l*l,b=y-c*c-u*u+h*h,_=p*d-f*g,w=(d*b-g*x)/(2*_)-n,k=(g*v-d*m)/_,T=(p*x-f*b)/(2*_)-a,A=(f*m-p*v)/_,M=k*k+A*A-1,S=2*(i+w*k+T*A),E=w*w+T*T-i*i,L=-(M?(S+Math.sqrt(S*S-4*M*E))/(2*M):E/S);return{x:n+w+k*L,y:a+T+A*L,r:L}}function x(t,e,r){var n,a,i,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(a=e.r+r.r,a*=a,o=t.r+r.r,a>(o*=o)?(n=(c+o-a)/(2*c),i=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-i*l,r.y=t.y-n*l+i*s):(n=(c+a-o)/(2*c),i=Math.sqrt(Math.max(0,a/c-n*n)),r.x=e.x+n*s-i*l,r.y=e.y+n*l+i*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function _(t){var e=t._,r=t.next._,n=e.r+r.r,a=(e.x*r.r+r.x*e.r)/n,i=(e.y*r.r+r.y*e.r)/n;return a*a+i*i}function w(t){this._=t,this.next=null,this.previous=null}function k(t){if(!(a=t.length))return 0;var e,r,n,a,i,o,s,l,c,u,f;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<a;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,f=e._.r;do{if(u<=f){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}f+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,i=_(e);(n=n.next)!==r;)(o=_(n))<i&&(e=n,i=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=h(e),s=0;s<a;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function T(t){if("function"!=typeof t)throw new Error;return t}function A(){return 0}function M(t){return function(){return t}}function S(t){return Math.sqrt(t.value)}function E(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function L(t,e){return function(r){if(n=r.children){var n,a,i,o=n.length,s=t(r)*e||0;if(s)for(a=0;a<o;++a)n[a].r+=s;if(i=k(n),s)for(a=0;a<o;++a)n[a].r-=s;r.r=i+s}}}function C(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function P(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function O(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(i=o[s]).y0=r,i.y1=a,i.x0=e,i.x1=e+=i.value*c}var z="$",I={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function V(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function U(t,e,r){return t.a.parent===e.parent?t.a:r}function q(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function H(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(a-r)/t.value;++s<l;)(i=o[s]).x0=e,i.x1=n,i.y0=r,i.y1=r+=i.value*c}q.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,a,i){for(var o,s,l,c,u,h,f,p,d,g,v,m=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=a-r,c=i-n;do{u=y[b++].value}while(!u&&b<_);for(h=f=u,v=u*u*(g=Math.max(c/l,l/c)/(w*t)),d=Math.max(f/v,v/h);b<_;++b){if(u+=s=y[b].value,s<h&&(h=s),s>f&&(f=s),v=u*u*g,(p=Math.max(f/v,v/h))>d){u-=s;break}d=p}m.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?O(o,r,n,a,w?n+=c*u/w:i):H(o,r,n,w?r+=l*u/w:a,i),w-=u,x=b}return m}var W=function t(e){function r(t,r,n,a,i){Y(e,t,r,n,a,i)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);var X=function t(e){function r(t,r,n,a,i){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h<f;){for(l=(s=o[h]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?O(s,r,n,a,n+=(i-n)*s.value/p):H(s,r,n,r+=(a-r)*s.value/p,i),p-=s.value}else t._squarify=o=Y(e,t,r,n,a,i),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,a=1,i=1,o=!1;function s(e){var s,l=0;e.eachAfter(function(e){var a=e.children;a?(e.x=function(t){return t.reduce(r,0)/t.length}(a),e.y=function(t){return 1+t.reduce(n,0)}(a)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)});var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),h=c.x-t(c,u)/2,f=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*a,t.y=(e.y-t.y)*i}:function(t){t.x=(t.x-h)/(f-h)*a,t.y=(1-(e.y?t.y/e.y:1))*i})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,a=+t[0],i=+t[1],s):o?null:[a,i]},s.nodeSize=function(t){return arguments.length?(o=!0,a=+t[0],i=+t[1],s):o?[a,i]:null},s},t.hierarchy=i,t.pack=function(){var t=null,e=1,r=1,n=A;function a(a){return a.x=e/2,a.y=r/2,t?a.eachBefore(E(t)).eachAfter(L(n,.5)).eachBefore(C(1)):a.eachBefore(E(S)).eachAfter(L(A,1)).eachAfter(L(n,a.r/Math.min(e,r))).eachBefore(C(Math.min(e,r)/(2*a.r))),a}return a.radius=function(e){return arguments.length?(t=null==(r=e)?null:T(r),a):t;var r},a.size=function(t){return arguments.length?(e=+t[0],r=+t[1],a):[e,r]},a.padding=function(t){return arguments.length?(n="function"==typeof t?t:M(+t),a):n},a},t.packSiblings=function(t){return k(t),t},t.packEnclose=h,t.partition=function(){var t=1,e=1,r=0,n=!1;function a(a){var i=a.height+1;return a.x0=a.y0=r,a.x1=t,a.y1=e/i,a.eachBefore(function(t,e){return function(n){n.children&&O(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var a=n.x0,i=n.y0,o=n.x1-r,s=n.y1-r;o<a&&(a=o=(a+o)/2),s<i&&(i=s=(i+s)/2),n.x0=a,n.y0=i,n.x1=o,n.y1=s}}(e,i)),n&&a.eachBefore(P),a}return a.round=function(t){return arguments.length?(n=!!t,a):n},a.size=function(r){return arguments.length?(t=+r[0],e=+r[1],a):[t,e]},a.padding=function(t){return arguments.length?(r=+t,a):r},a},t.stratify=function(){var t=R,e=F;function r(r){var n,a,i,o,s,u,h,f=r.length,p=new Array(f),d={};for(a=0;a<f;++a)n=r[a],s=p[a]=new c(n),null!=(u=t(n,a,r))&&(u+="")&&(d[h=z+(s.id=u)]=h in d?D:s);for(a=0;a<f;++a)if(s=p[a],null!=(u=e(r[a],a,r))&&(u+="")){if(!(o=d[z+u]))throw new Error("missing: "+u);if(o===D)throw new Error("ambiguous: "+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(i)throw new Error("multiple roots");i=s}if(!i)throw new Error("no root");if(i.parent=I,i.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(l),i.parent=null,f>0)throw new Error("cycle");return i}return r.id=function(e){return arguments.length?(t=T(e),r):t},r.parentId=function(t){return arguments.length?(e=T(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function a(a){var l=function(t){for(var e,r,n,a,i,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(i=n.length),a=i-1;a>=0;--a)s.push(r=e.children[a]=new q(n[a],a)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(a);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(o),n)a.eachBefore(s);else{var c=a,u=a,h=a;a.eachBefore(function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>h.depth&&(h=t)});var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),g=r/(h.depth||1);a.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*g})}return a}function i(e){var r=e.children,n=e.parent.children,a=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,a=t.children,i=a.length;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var i=(r[0].z+r[r.length-1].z)/2;a?(e.z=a.z+t(e._,a._),e.m=e.z-i):e.z=i}else a&&(e.z=a.z+t(e._,a._));e.parent.A=function(e,r,n){if(r){for(var a,i=e,o=e,s=r,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=j(s),i=N(i),s&&i;)l=N(l),(o=j(o)).a=e,(a=s.z+h-i.z-c+t(s._,i._))>0&&(V(U(s,e,n),e,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),i&&!N(l)&&(l.t=i,l.m+=c-f,n=e)}return n}(e,a,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return a.separation=function(e){return arguments.length?(t=e,a):t},a.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],a):n?null:[e,r]},a.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],a):n?[e,r]:null},a},t.treemap=function(){var t=W,e=!1,r=1,n=1,a=[0],i=A,o=A,s=A,l=A,c=A;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),a=[0],e&&t.eachBefore(P),t}function h(e){var r=a[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h<n&&(n=h=(n+h)/2),f<u&&(u=f=(u+f)/2),e.x0=n,e.y0=u,e.x1=h,e.y1=f,e.children&&(r=a[e.depth+1]=i(e)/2,n+=c(e)-r,u+=o(e)-r,(h-=s(e)-r)<n&&(n=h=(n+h)/2),(f-=l(e)-r)<u&&(u=f=(u+f)/2),t(e,n,u,h,f))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=T(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(i="function"==typeof t?t:M(+t),u):i},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:M(+t),u):o},u.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:M(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:M(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c="function"==typeof t?t:M(+t),u):c},u},t.treemapBinary=function(t,e,r,n,a){var i,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=i=0;i<l;++i)c[i+1]=o+=s[i].value;!function t(e,r,n,a,i,o,l){if(e>=r-1){var u=s[e];return u.x0=a,u.y0=i,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p<d;){var g=p+d>>>1;c[g]<f?p=g+1:d=g}f-c[p-1]<c[p]-f&&e+1<p&&--p;var v=c[p]-h,m=n-v;if(o-a>l-i){var y=(a*m+o*v)/n;t(e,p,v,a,i,y,l),t(p,r,m,y,i,o,l)}else{var x=(i*m+l*v)/n;t(e,p,v,a,i,o,x),t(p,r,m,a,x,o,l)}}(0,l,t.value,e,r,n,a)},t.treemapDice=O,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,a){(1&t.depth?H:O)(t,e,r,n,a)},t.treemapSquarify=W,t.treemapResquarify=X,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],159:[function(t,e,r){var n,a;n=this,a=function(t,e){"use strict";function r(t,e,r,n,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*r+(1+3*t+3*i-3*o)*n+o*a)/6}function n(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a<e-1?t[a+2]:2*o-i;return r((n-a/e)*e,s,i,o,l)}}function a(t){var e=t.length;return function(n){var a=Math.floor(((n%=1)<0?++n:n)*e),i=t[(a+e-1)%e],o=t[a%e],s=t[(a+1)%e],l=t[(a+2)%e];return r((n-a/e)*e,i,o,s,l)}}function i(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):i(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):i(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):i(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function a(t,r){var a=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),i=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=a(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return a.gamma=t,a}(1);function h(t){return function(r){var n,a,i=r.length,o=new Array(i),s=new Array(i),l=new Array(i);for(n=0;n<i;++n)a=e.rgb(r[n]),o[n]=a.r||0,s[n]=a.g||0,l[n]=a.b||0;return o=t(o),s=t(s),l=t(l),a.opacity=1,function(t){return a.r=o(t),a.g=s(t),a.b=l(t),a+""}}}var f=h(n),p=h(a);function d(t,e){var r,n=e?e.length:0,a=t?Math.min(n,t.length):0,i=new Array(a),o=new Array(n);for(r=0;r<a;++r)i[r]=_(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<a;++r)o[r]=i[r](t);return o}}function g(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}}function v(t,e){return e-=t=+t,function(r){return t+e*r}}function m(t,e){var r,n={},a={};for(r in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)r in t?n[r]=_(t[r],e[r]):a[r]=e[r];return function(t){for(r in n)a[r]=n[r](t);return a}}var y=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,x=new RegExp(y.source,"g");function b(t,e){var r,n,a,i=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=y.exec(t))&&(n=x.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:v(r,n)})),i=x.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}function _(t,r){var n,a=typeof r;return null==r||"boolean"===a?i(r):("number"===a?v:"string"===a?(n=e.color(r))?(r=n,u):b:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?m:v)(t,r)}var w,k,T,A,M=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function E(t,e,r,n,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*M,skewX:Math.atan(l)*M,scaleX:o,scaleY:s}}function L(t,e,r,n){function a(t){return t.length?t.pop()+" ":""}return function(i,o){var s=[],l=[];return i=t(i),o=t(o),function(t,n,a,i,o,s){if(t!==a||n!==i){var l=o.push("translate(",null,e,null,r);s.push({i:l-4,x:v(t,a)},{i:l-2,x:v(n,i)})}else(a||i)&&o.push("translate("+a+e+i+r)}(i.translateX,i.translateY,o.translateX,o.translateY,s,l),function(t,e,r,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:r.push(a(r)+"rotate(",null,n)-2,x:v(t,e)})):e&&r.push(a(r)+"rotate("+e+n)}(i.rotate,o.rotate,s,l),function(t,e,r,i){t!==e?i.push({i:r.push(a(r)+"skewX(",null,n)-2,x:v(t,e)}):e&&r.push(a(r)+"skewX("+e+n)}(i.skewX,o.skewX,s,l),function(t,e,r,n,i,o){if(t!==r||e!==n){var s=i.push(a(i)+"scale(",null,",",null,")");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||i.push(a(i)+"scale("+r+","+n+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,s,l),i=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join("")}}}var C=L(function(t){return"none"===t?S:(w||(w=document.createElement("DIV"),k=document.documentElement,T=document.defaultView),w.style.transform=t,t=T.getComputedStyle(k.appendChild(w),null).getPropertyValue("transform"),k.removeChild(w),E(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),P=L(function(t){return null==t?S:(A||(A=document.createElementNS("http://www.w3.org/2000/svg","g")),A.setAttribute("transform",t),(t=A.transform.baseVal.consolidate())?E((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):S)},", ",")",")"),O=Math.SQRT2,z=2,I=4,D=1e-12;function R(t){return((t=Math.exp(t))+1/t)/2}function F(t){return function(r,n){var a=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),i=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.s=i(t),r.l=o(t),r.opacity=s(t),r+""}}}var B=F(s),N=F(c);function j(t){return function(r,n){var a=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),i=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.c=i(t),r.l=o(t),r.opacity=s(t),r+""}}}var V=j(s),U=j(c);function q(t){return function r(n){function a(r,a){var i=t((r=e.cubehelix(r)).h,(a=e.cubehelix(a)).h),o=c(r.s,a.s),s=c(r.l,a.l),l=c(r.opacity,a.opacity);return function(t){return r.h=i(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+""}}return n=+n,a.gamma=r,a}(1)}var H=q(s),G=q(c);t.interpolate=_,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=a,t.interpolateDate=g,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateNumber=v,t.interpolateObject=m,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=b,t.interpolateTransformCss=C,t.interpolateTransformSvg=P,t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<D)n=Math.log(c/o)/O,r=function(t){return[a+t*u,i+t*h,o*Math.exp(O*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+I*f)/(2*o*z*p),g=(c*c-o*o-I*f)/(2*c*z*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/O,r=function(t){var e,r=t*n,s=R(v),l=o/(z*p)*(s*(e=O*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/R(O*r+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateHsl=B,t.interpolateHslLong=N,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),a=c(t.a,r.a),i=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=a(e),t.b=i(e),t.opacity=o(e),t+""}},t.interpolateHcl=V,t.interpolateHclLong=U,t.interpolateCubehelix=H,t.interpolateCubehelixLong=G,t.piecewise=function(t,e){for(var r=0,n=e.length-1,a=e[0],i=new Array(n<0?0:n);r<n;)i[r]=t(a,a=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return i[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-color")):a(n.d3=n.d3||{},n.d3)},{"d3-color":155}],160:[function(t,e,r){var n;n=this,function(t){"use strict";var e=Math.PI,r=2*e,n=r-1e-6;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function i(){return new a}a.prototype=i.prototype={constructor:a,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,a,i){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+a)+","+(this._y1=+i)},arcTo:function(t,r,n,a,i){t=+t,r=+r,n=+n,a=+a,i=+i;var o=this._x1,s=this._y1,l=n-t,c=a-r,u=o-t,h=s-r,f=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=r);else if(f>1e-6)if(Math.abs(h*l-c*u)>1e-6&&i){var p=n-o,d=a-s,g=l*l+c*c,v=p*p+d*d,m=Math.sqrt(g),y=Math.sqrt(f),x=i*Math.tan((e-Math.acos((g+f-v)/(2*m*y)))/2),b=x/y,_=x/m;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(r+b*h)),this._+="A"+i+","+i+",0,0,"+ +(h*p>u*d)+","+(this._x1=t+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=t)+","+(this._y1=r);else;},arc:function(t,a,i,o,s,l){t=+t,a=+a;var c=(i=+i)*Math.cos(o),u=i*Math.sin(o),h=t+c,f=a+u,p=1^l,d=l?o-s:s-o;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+h+","+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+h+","+f),i&&(d<0&&(d=d%r+r),d>n?this._+="A"+i+","+i+",0,1,"+p+","+(t-c)+","+(a-u)+"A"+i+","+i+",0,1,"+p+","+(this._x1=h)+","+(this._y1=f):d>1e-6&&(this._+="A"+i+","+i+",0,"+ +(d>=e)+","+p+","+(this._x1=t+i*Math.cos(s))+","+(this._y1=a+i*Math.sin(s))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},t.path=i,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],161:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var a,i,o,s,l,c,u,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o,a=p,!(p=p[h=u<<1|c]))return a[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,a?a[h]=d:t._root=d,t;do{a=a?a[h]=new Array(4):t._root=new Array(4),(c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=i));return a[f]=p,a[h]=d,t}var r=function(t,e,r,n,a){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=a};function n(t){return t[0]}function a(t){return t[1]}function i(t,e,r){var i=new o(null==e?n:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function o(t,e,r,n,a,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=a,this._y1=i,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=i.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var a=0;a<4;++a)(e=n.source[a])&&(e.length?t.push({source:e,target:n.target[a]=new Array(4)}):n.target[a]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,a,i,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(a=+this._x.call(null,r=t[n]))||isNaN(i=+this._y.call(null,r))||(s[n]=a,l[n]=i,a<c&&(c=a),a>h&&(h=a),i<u&&(u=i),i>f&&(f=i));for(h<c&&(c=this._x0,h=this._x1),f<u&&(u=this._y0,f=this._y1),this.cover(c,u).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,a=this._x1,i=this._y1;if(isNaN(r))a=(r=Math.floor(t))+1,i=(n=Math.floor(e))+1;else{if(!(r>t||t>a||n>e||e>i))return this;var o,s,l=a-r,c=this._root;switch(s=(e<(n+i)/2)<<1|t<(r+a)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),t>(a=r+l)||e>i);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),(r=a-l)>t||e>i);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),t>(a=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),(r=a-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=a,this._y1=i,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var a,i,o,s,l,c,u,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(v=c.node)||(i=c.x0)>p||(o=c.y0)>d||(s=c.x1)<h||(l=c.y1)<f))if(v.length){var m=(i+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],i,y,m,l),new r(v[1],m,o,s,y),new r(v[0],i,o,m,y)),(u=(e>=y)<<1|t>=m)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,a=v.data}}return a},l.remove=function(t){if(isNaN(i=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,a,i,o,s,l,c,u,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((c=i>=(s=(d+v)/2))?d=s:v=s,(u=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(a=p.next)&&delete p.next,n?(a?n.next=a:delete n.next,this):e?(a?e[h]=a:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=a,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,a,i,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,a=e.x0,i=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(a+o)/2,h=(i+s)/2;(n=c[3])&&l.push(new r(n,u,h,o,s)),(n=c[2])&&l.push(new r(n,a,h,u,s)),(n=c[1])&&l.push(new r(n,u,i,o,h)),(n=c[0])&&l.push(new r(n,a,i,u,h))}return this},l.visitAfter=function(t){var e,n=[],a=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,h=(s+c)/2,f=(l+u)/2;(o=i[0])&&n.push(new r(o,s,l,h,f)),(o=i[1])&&n.push(new r(o,h,l,c,f)),(o=i[2])&&n.push(new r(o,s,f,h,u)),(o=i[3])&&n.push(new r(o,h,f,c,u))}a.push(e)}for(;e=a.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=i,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],162:[function(t,e,r){var n,a;n=this,a=function(t,e){"use strict";function r(t){return function(){return t}}var n=Math.abs,a=Math.atan2,i=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=1e-12,h=Math.PI,f=h/2,p=2*h;function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function g(t){return t.innerRadius}function v(t){return t.outerRadius}function m(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,a,i,s){var l=t-r,u=e-n,h=(s?i:-i)/c(l*l+u*u),f=h*u,p=-h*l,d=t+f,g=e+p,v=r+f,m=n+p,y=(d+v)/2,x=(g+m)/2,b=v-d,_=m-g,w=b*b+_*_,k=a-i,T=d*m-v*g,A=(_<0?-1:1)*c(o(0,k*k*w-T*T)),M=(T*_-b*A)/w,S=(-T*b-_*A)/w,E=(T*_+b*A)/w,L=(-T*b+_*A)/w,C=M-y,P=S-x,O=E-y,z=L-x;return C*C+P*P>O*O+z*z&&(M=E,S=L),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(a/k-1),y11:S*(a/k-1)}}function _(t){this._context=t}function w(t){return new _(t)}function k(t){return t[0]}function T(t){return t[1]}function A(){var t=k,n=T,a=r(!0),i=null,o=w,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==i&&(s=o(u=e.path())),l=0;l<=h;++l)!(l<h&&a(c=r[l],l,r))===f&&((f=!f)?s.lineStart():s.lineEnd()),f&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+""||null}return l.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(a="function"==typeof t?t:r(!!t),l):a},l.curve=function(t){return arguments.length?(o=t,null!=i&&(s=o(i)),l):o},l.context=function(t){return arguments.length?(null==t?i=s=null:s=o(i=t),l):i},l}function M(){var t=k,n=null,a=r(0),i=T,o=r(!0),s=null,l=w,c=null;function u(r){var u,h,f,p,d,g=r.length,v=!1,m=new Array(g),y=new Array(g);for(null==s&&(c=l(d=e.path())),u=0;u<=g;++u){if(!(u<g&&o(p=r[u],u,r))===v)if(v=!v)h=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),f=u-1;f>=h;--f)c.point(m[f],y[f]);c.lineEnd(),c.areaEnd()}v&&(m[u]=+t(p,u,r),y[u]=+a(p,u,r),c.point(n?+n(p,u,r):m[u],i?+i(p,u,r):y[u]))}if(d)return c=null,d+""||null}function h(){return A().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i=null,u):a},u.y0=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),u):a},u.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:r(+t),u):i},u.lineX0=u.lineY0=function(){return h().x(t).y(a)},u.lineY1=function(){return h().x(t).y(i)},u.lineX1=function(){return h().x(n).y(a)},u.defined=function(t){return arguments.length?(o="function"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function S(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function E(t){return t}_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=P(w);function C(t){this._curve=t}function P(t){function e(e){return new C(t(e))}return e._curve=t,e}function O(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function z(){return O(A().curve(L))}function I(){var t=M().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return O(r())},delete t.lineX0,t.lineEndAngle=function(){return O(n())},delete t.lineX1,t.lineInnerRadius=function(){return O(a())},delete t.lineY0,t.lineOuterRadius=function(){return O(i())},delete t.lineY1,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function D(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}C.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var R=Array.prototype.slice;function F(t){return t.source}function B(t){return t.target}function N(t){var n=F,a=B,i=k,o=T,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=a.apply(this,l);if(s||(s=r=e.path()),t(s,+i.apply(this,(l[0]=c,l)),+o.apply(this,l),+i.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(a=t,l):a},l.x=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),l):i},l.y=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function j(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,a,n,a)}function V(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+a)/2,n,r,n,a)}function U(t,e,r,n,a){var i=D(e,r),o=D(e,r=(r+a)/2),s=D(n,r),l=D(n,a);t.moveTo(i[0],i[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(t,e){var r=Math.sqrt(e/h);t.moveTo(r,0),t.arc(0,0,r,0,p)}},H={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},G=Math.sqrt(1/3),Y=2*G,W={draw:function(t,e){var r=Math.sqrt(e/Y),n=r*G;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(h/10)/Math.sin(7*h/10),Z=Math.sin(p/10)*X,J=-Math.cos(p/10)*X,K={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=Z*r,a=J*r;t.moveTo(0,-r),t.lineTo(n,a);for(var i=1;i<5;++i){var o=p*i/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*a,l*n+s*a)}t.closePath()}},Q={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},$=Math.sqrt(3),tt={draw:function(t,e){var r=-Math.sqrt(e/(3*$));t.moveTo(0,2*r),t.lineTo(-$*r,-r),t.lineTo($*r,-r),t.closePath()}},et=-.5,rt=Math.sqrt(3)/2,nt=1/Math.sqrt(12),at=3*(nt/2+1),it={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,a=r*nt,i=n,o=r*nt+r,s=-i,l=o;t.moveTo(n,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(et*n-rt*a,rt*n+et*a),t.lineTo(et*i-rt*o,rt*i+et*o),t.lineTo(et*s-rt*l,rt*s+et*l),t.lineTo(et*n+rt*a,et*a-rt*n),t.lineTo(et*i+rt*o,et*o-rt*i),t.lineTo(et*s+rt*l,et*l-rt*s),t.closePath()}},ot=[q,H,W,Q,K,tt,it];function st(){}function lt(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ct(t){this._context=t}function ut(t){this._context=t}function ht(t){this._context=t}function ft(t,e){this._basis=new ct(t),this._beta=e}ct.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:lt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ut.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,a=t[0],i=e[0],o=t[r]-a,s=e[r]-i,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+n*o),this._beta*e[l]+(1-this._beta)*(i+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var pt=function t(e){function r(t){return 1===e?new ct(t):new ft(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function dt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function gt(t,e){this._context=t,this._k=(1-e)/6}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:dt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new gt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var yt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function xt(t,e){this._context=t,this._k=(1-e)/6}xt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var bt=function t(e){function r(t){return new xt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function _t(t,e,r){var n=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>u){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>u){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*c+t._x1*t._l23_2a-e*t._l12_2a)/h,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,a,i,o,t._x2,t._y2)}function wt(t,e){this._context=t,this._alpha=e}wt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new wt(t,e):new gt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var At=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Mt(t,e){this._context=t,this._alpha=e}Mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var St=function t(e){function r(t){return e?new Mt(t,e):new xt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Et(t){this._context=t}function Lt(t){return t<0?-1:1}function Ct(t,e,r){var n=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(n||a<0&&-0),o=(r-t._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(Lt(i)+Lt(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function Pt(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Ot(t,e,r){var n=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,a+s*e,i-s,o-s*r,i,o)}function zt(t){this._context=t}function It(t){this._context=new Dt(t)}function Dt(t){this._context=t}function Rt(t){this._context=t}function Ft(t){var e,r,n=t.length-1,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)a[e]=1,i[e]=4,o[e]=4*t[e]+2*t[e+1];for(a[n-1]=2,i[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=a[e]/i[e-1],i[e]-=r,o[e]-=r*o[e-1];for(a[n-1]=o[n-1]/i[n-1],e=n-2;e>=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-a[e+1];return[a,i]}function Bt(t,e){this._context=t,this._t=e}function Nt(t,e){if((a=t.length)>1)for(var r,n,a,i=1,o=t[e[0]],s=o.length;i<a;++i)for(n=o,o=t[e[i]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function jt(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ut(t){var e=t.map(qt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function qt(t){for(var e,r=-1,n=0,a=t.length,i=-1/0;++r<a;)(e=+t[r][1])>i&&(i=e,n=r);return n}function Ht(t){var e=t.map(Gt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function Gt(t){for(var e,r=0,n=-1,a=t.length;++n<a;)(e=+t[n][1])&&(r+=e);return r}Et.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Ot(this,this._t0,Pt(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Ot(this,Pt(this,r=Ct(this,t,e)),r);break;default:Ot(this,this._t0,r=Ct(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(It.prototype=Object.create(zt.prototype)).point=function(t,e){zt.prototype.point.call(this,e,t)},Dt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,a,i){this._context.bezierCurveTo(e,t,n,r,i,a)}},Rt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Ft(t),a=Ft(e),i=0,o=1;o<r;++i,++o)this._context.bezierCurveTo(n[0][i],a[0][i],n[1][i],a[1][i],t[o],e[o]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=v,_=r(0),w=null,k=m,T=y,A=x,M=null;function S(){var r,g,v,m=+t.apply(this,arguments),y=+o.apply(this,arguments),x=k.apply(this,arguments)-f,S=T.apply(this,arguments)-f,E=n(S-x),L=S>x;if(M||(M=r=e.path()),y<m&&(g=y,y=m,m=g),y>u)if(E>p-u)M.moveTo(y*i(x),y*l(x)),M.arc(0,0,y,x,S,!L),m>u&&(M.moveTo(m*i(S),m*l(S)),M.arc(0,0,m,S,x,L));else{var C,P,O=x,z=S,I=x,D=S,R=E,F=E,B=A.apply(this,arguments)/2,N=B>u&&(w?+w.apply(this,arguments):c(m*m+y*y)),j=s(n(y-m)/2,+_.apply(this,arguments)),V=j,U=j;if(N>u){var q=d(N/m*l(B)),H=d(N/y*l(B));(R-=2*q)>u?(I+=q*=L?1:-1,D-=q):(R=0,I=D=(x+S)/2),(F-=2*H)>u?(O+=H*=L?1:-1,z-=H):(F=0,O=z=(x+S)/2)}var G=y*i(O),Y=y*l(O),W=m*i(D),X=m*l(D);if(j>u){var Z,J=y*i(z),K=y*l(z),Q=m*i(I),$=m*l(I);if(E<h&&(Z=function(t,e,r,n,a,i,o,s){var l=r-t,c=n-e,h=o-a,f=s-i,p=f*l-h*c;if(!(p*p<u))return[t+(p=(h*(e-i)-f*(t-a))/p)*l,e+p*c]}(G,Y,Q,$,J,K,W,X))){var tt=G-Z[0],et=Y-Z[1],rt=J-Z[0],nt=K-Z[1],at=1/l(((v=(tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))>1?0:v<-1?h:Math.acos(v))/2),it=c(Z[0]*Z[0]+Z[1]*Z[1]);V=s(j,(m-it)/(at-1)),U=s(j,(y-it)/(at+1))}}F>u?U>u?(C=b(Q,$,G,Y,y,U,L),P=b(J,K,W,X,y,U,L),M.moveTo(C.cx+C.x01,C.cy+C.y01),U<j?M.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(P.y01,P.x01),!L):(M.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(C.y11,C.x11),!L),M.arc(0,0,y,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),!L),M.arc(P.cx,P.cy,U,a(P.y11,P.x11),a(P.y01,P.x01),!L))):(M.moveTo(G,Y),M.arc(0,0,y,O,z,!L)):M.moveTo(G,Y),m>u&&R>u?V>u?(C=b(W,X,J,K,m,-V,L),P=b(G,Y,Q,$,m,-V,L),M.lineTo(C.cx+C.x01,C.cy+C.y01),V<j?M.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(P.y01,P.x01),!L):(M.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(C.y11,C.x11),!L),M.arc(0,0,m,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),L),M.arc(P.cx,P.cy,V,a(P.y11,P.x11),a(P.y01,P.x01),!L))):M.arc(0,0,m,D,I,L):M.lineTo(W,X)}else M.moveTo(0,0);if(M.closePath(),r)return M=null,r+""||null}return S.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +T.apply(this,arguments))/2-h/2;return[i(r)*e,l(r)*e]},S.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),S):t},S.outerRadius=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),S):o},S.cornerRadius=function(t){return arguments.length?(_="function"==typeof t?t:r(+t),S):_},S.padRadius=function(t){return arguments.length?(w=null==t?null:"function"==typeof t?t:r(+t),S):w},S.startAngle=function(t){return arguments.length?(k="function"==typeof t?t:r(+t),S):k},S.endAngle=function(t){return arguments.length?(T="function"==typeof t?t:r(+t),S):T},S.padAngle=function(t){return arguments.length?(A="function"==typeof t?t:r(+t),S):A},S.context=function(t){return arguments.length?(M=null==t?null:t,S):M},S},t.area=M,t.line=A,t.pie=function(){var t=E,e=S,n=null,a=r(0),i=r(p),o=r(0);function s(r){var s,l,c,u,h,f=r.length,d=0,g=new Array(f),v=new Array(f),m=+a.apply(this,arguments),y=Math.min(p,Math.max(-p,i.apply(this,arguments)-m)),x=Math.min(Math.abs(y)/f,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<f;++s)(h=v[g[s]=s]=+t(r[s],s,r))>0&&(d+=h);for(null!=e?g.sort(function(t,r){return e(v[t],v[r])}):null!=n&&g.sort(function(t,e){return n(r[t],r[e])}),s=0,c=d?(y-f*b)/d:0;s<f;++s,m=u)l=g[s],u=m+((h=v[l])>0?h*c:0)+b,v[l]={data:r[l],index:s,value:h,startAngle:m,endAngle:u,padAngle:x};return v}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),s):a},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),s):i},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),s):o},s},t.areaRadial=I,t.radialArea=I,t.lineRadial=z,t.radialLine=z,t.pointRadial=D,t.linkHorizontal=function(){return N(j)},t.linkVertical=function(){return N(V)},t.linkRadial=function(){var t=N(U);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){var t=r(q),n=r(64),a=null;function i(){var r;if(a||(a=r=e.path()),t.apply(this,arguments).draw(a,+n.apply(this,arguments)),r)return a=null,r+""||null}return i.type=function(e){return arguments.length?(t="function"==typeof e?e:r(e),i):t},i.size=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),i):n},i.context=function(t){return arguments.length?(a=null==t?null:t,i):a},i},t.symbols=ot,t.symbolCircle=q,t.symbolCross=H,t.symbolDiamond=W,t.symbolSquare=Q,t.symbolStar=K,t.symbolTriangle=tt,t.symbolWye=it,t.curveBasisClosed=function(t){return new ut(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBasis=function(t){return new ct(t)},t.curveBundle=pt,t.curveCardinalClosed=yt,t.curveCardinalOpen=bt,t.curveCardinal=vt,t.curveCatmullRomClosed=At,t.curveCatmullRomOpen=St,t.curveCatmullRom=kt,t.curveLinearClosed=function(t){return new Et(t)},t.curveLinear=w,t.curveMonotoneX=function(t){return new zt(t)},t.curveMonotoneY=function(t){return new It(t)},t.curveNatural=function(t){return new Rt(t)},t.curveStep=function(t){return new Bt(t,.5)},t.curveStepAfter=function(t){return new Bt(t,1)},t.curveStepBefore=function(t){return new Bt(t,0)},t.stack=function(){var t=r([]),e=jt,n=Nt,a=Vt;function i(r){var i,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(i=0;i<c;++i){for(var h,f=s[i],p=u[i]=new Array(l),d=0;d<l;++d)p[d]=h=[0,+a(r[d],f,d,r)],h.data=r[d];p.key=f}for(i=0,o=e(u);i<c;++i)u[o[i]].index=i;return n(u,o),u}return i.keys=function(e){return arguments.length?(t="function"==typeof e?e:r(R.call(e)),i):t},i.value=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i):a},i.order=function(t){return arguments.length?(e=null==t?jt:"function"==typeof t?t:r(R.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?Nt:t,i):n},i},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,a,i=0,o=t[0].length;i<o;++i){for(a=r=0;r<n;++r)a+=t[r][i][1]||0;if(a)for(r=0;r<n;++r)t[r][i][1]/=a}Nt(t,e)}},t.stackOffsetDiverging=function(t,e){if((s=t.length)>1)for(var r,n,a,i,o,s,l=0,c=t[e[0]].length;l<c;++l)for(i=o=0,r=0;r<s;++r)(a=(n=t[e[r]][l])[1]-n[0])>=0?(n[0]=i,n[1]=i+=a):a<0?(n[1]=o,n[0]=o+=a):n[0]=i},t.stackOffsetNone=Nt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,a=t[e[0]],i=a.length;n<i;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;a[n][1]+=a[n][0]=-s/2}Nt(t,e)}},t.stackOffsetWiggle=function(t,e){if((a=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,a,i=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<a;++s){for(var u=t[e[s]],h=u[o][1]||0,f=(h-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];f+=(d[o][1]||0)-(d[o-1][1]||0)}l+=h,c+=f*h}r[o-1][1]+=r[o-1][0]=i,l&&(i-=c/l)}r[o-1][1]+=r[o-1][0]=i,Nt(t,e)}},t.stackOrderAppearance=Ut,t.stackOrderAscending=Ht,t.stackOrderDescending=function(t){return Ht(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,a=t.map(Gt),i=Ut(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=i[e],o<s?(o+=a[r],l.push(r)):(s+=a[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=jt,t.stackOrderReverse=function(t){return jt(t).reverse()},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-path")):a(n.d3=n.d3||{},n.d3)},{"d3-path":160}],163:[function(t,e,r){var n;n=this,function(t){"use strict";var e,r,n=0,a=0,i=0,o=1e3,s=0,l=0,c=0,u="object"==typeof performance&&performance.now?performance:Date,h="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=u.now())+c,n=a=0;try{v()}finally{n=0,function(){var t,n,a=e,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),t=a,a=a._next):(n=a._next,a._next=null,a=t?t._next=n:e=n);r=t,x(i)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(a&&(a=clearTimeout(a)),t-l>24?(t<1/0&&(a=setTimeout(m,t-u.now()-c)),i&&(i=clearInterval(i))):(i||(s=u.now(),i=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,a){if("function"!=typeof t)throw new TypeError("callback is not a function");a=(null==a?f():+a)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=a,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,a=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function i(o){o+=a,n.restart(i,a+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],164:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(a)try{n(a.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,h=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){h.call(this,t,e+"",r)}}function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=f,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(n=t[i])&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=t[i])&&(r>n&&(r=n),a<n&&(a=n))}else{for(;++i<o;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=e.call(t,t[i],i))&&(r>n&&(r=n),a<n&&(a=n))}return[r,a]},t.sum=function(t,e){var r,n=0,a=t.length,i=-1;if(1===arguments.length)for(;++i<a;)d(r=+t[i])&&(n+=r);else for(;++i<a;)d(r=+e.call(t,t[i],i))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,a=t.length,i=-1,o=a;if(1===arguments.length)for(;++i<a;)d(r=p(t[i]))?n+=r:--o;else for(;++i<a;)d(r=p(e.call(t,t[i],i)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),a=+t[n-1],i=r-n;return i?a+i*(t[n]-a):a},t.median=function(e,r){var n,a=[],i=e.length,o=-1;if(1===arguments.length)for(;++o<i;)d(n=p(e[o]))&&a.push(n);else for(;++o<i;)d(n=p(r.call(e,e[o],o)))&&a.push(n);if(a.length)return t.quantile(a.sort(f),.5)},t.variance=function(t,e){var r,n,a=t.length,i=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<a;)d(r=p(t[s]))&&(o+=(n=r-i)*(r-(i+=n/++l)));else for(;++s<a;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-i)*(r-(i+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e<r;)a[e]=[n,n=t[++e]];return a},t.transpose=function(e){if(!(i=e.length))return[];for(var r=-1,n=t.min(e,m),a=new Array(n);++r<n;)for(var i,o=-1,s=a[r]=new Array(i);++o<i;)s[o]=e[o][r];return a},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,a=[],i=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)<e;)a.push(n/i);return a},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,a=-1,i=t.length;if(1===arguments.length)for(;++a<i;)r.set(a,t[a]);else for(;++a<i;)r.set(e.call(t,n=t[a],a),n)}else for(var o in t)r.set(o,t[o]);return r};var _="__proto__",w="\0";function k(t){return(t+="")===_||t[0]===w?w+t:t}function T(t){return(t+="")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function M(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(T(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function L(){for(var t in this._)return!1;return!0}function C(){this._=Object.create(null)}function P(t){return t}function O(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function z(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=I.length;r<n;++r){var a=I[r]+e;if(a in t)return a}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:M,keys:S,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},a=[],i=[];function o(t,i,s){if(s>=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,c,u,h,f=-1,p=i.length,d=a[s++],g=new b;++f<p;)(h=g.get(l=d(c=i[f])))?h.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=a.length)return e;var n=[],o=i[r++];return e.forEach(function(e,a){n.push({key:e,values:t(a,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(C,{has:A,add:function(t){return this._[k(t+="")]=!0,t},remove:M,values:S,size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,a=arguments.length;++n<a;)t[r=arguments[n]]=O(t,e,e[r]);return t};var I=["webkit","ms","moz","Moz","o","O"];function D(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,a=-1,i=n.length;++a<i;)(r=n[a].on)&&r.apply(this,arguments);return t}return n.on=function(n,a){var i,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(n)),a&&e.push(r.set(n,{on:a})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,a=arguments.length;++n<a;)r[arguments[n]]=F(r);return r.of=function(n,a){return function(i){try{var o=i.sourceEvent=t.event;i.target=e,t.event=i,r[i.type].apply(n,a)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.prototype.on=function(t,e){var r=t.indexOf("."),n="";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,W),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},Y=function(t,e){var r=t.matches||t[z(t,"matchesSelector")];return(Y=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,Y=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var W=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}W.select=function(t){var e,r,n,a,i=[];t=X(t);for(var o=-1,s=this.length;++o<s;){i.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(a=n[l])?(e.push(r=t.call(a,a.__data__,l,o)),r&&"__data__"in a&&(r.__data__=a.__data__)):e.push(null)}return q(i)},W.selectAll=function(t){var e,r,a=[];t=Z(t);for(var i=-1,o=this.length;++i<o;)for(var s=this[i],l=-1,c=s.length;++l<c;)(r=s[l])&&(a.push(e=n(t.call(r,r.__data__,l,i))),e.parentNode=r);return q(a)};var J="http://www.w3.org/1999/xhtml",K={svg:"http://www.w3.org/2000/svg",xhtml:J,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Q(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:"function"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function $(t){return t.trim().replace(/\s+/g," ")}function tt(e){return new RegExp("(?:^|\\s+)"+t.requote(e)+"(?:\\s+|$)","g")}function et(t){return(t+"").trim().split(/^|\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return"function"==typeof e?function(){for(var n=-1,a=e.apply(this,arguments);++n<r;)t[n](this,a)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(a=r.classList)return n?a.add(t):a.remove(t);var a=r.getAttribute("class")||"";n?(e.lastIndex=0,e.test(a)||r.setAttribute("class",$(a+" "+t))):r.setAttribute("class",$(a.replace(e," ")))}}function at(t,e,r){return null==e?function(){this.style.removeProperty(t)}:"function"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function it(t,e){return null==e?function(){delete this[t]}:"function"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return"function"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return Y(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var a,i=t[r],o=0,s=i.length;o<s;o++)(a=i[o])&&e(a,o,r);return t}function ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(":"),r=t;return e>=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},W.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},W.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,a=-1;if(e=r.classList){for(;++a<n;)if(!e.contains(t[a]))return!1}else for(e=r.getAttribute("class");++a<n;)if(!tt(t[a]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},W.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.each(at(r,t[r],e));return this}if(n<2){var a=this.node();return o(a).getComputedStyle(a,null).getPropertyValue(t)}r=""}return this.each(at(t,e,r))},W.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(it(e,t[e]));return this}return this.each(it(t,e))},W.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},W.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},W.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},W.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},W.remove=function(){return this.each(st)},W.data=function(t,e){var r,n,a=-1,i=this.length;if(!arguments.length){for(t=new Array(i=(r=this[0]).length);++a<i;)(n=r[a])&&(t[a]=n.__data__);return t}function o(t,r){var n,a,i,o=t.length,u=r.length,h=Math.min(o,u),f=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(a=t[n])&&(v.has(g=e.call(a,a.__data__,n))?d[n]=a:v.set(g,a),m[n]=g);for(n=-1;++n<u;)(a=v.get(g=e.call(r,i=r[n],n)))?!0!==a&&(f[n]=a,a.__data__=i):p[n]=lt(i),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)a=t[n],i=r[n],a?(a.__data__=i,f[n]=a):p[n]=lt(i);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=f,p.parentNode=f.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(f),c.push(d)}var s=ht([]),l=q([]),c=q([]);if("function"==typeof t)for(;++a<i;)o(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<i;)o(r=this[a],t);return l.enter=function(){return s},l.exit=function(){return c},l},W.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},W.filter=function(t){var e,r,n,a=[];"function"!=typeof t&&(t=ct(t));for(var i=0,o=this.length;i<o;i++){a.push(e=[]),e.parentNode=(r=this[i]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,i)&&e.push(n)}return q(a)},W.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],a=n.length-1,i=n[a];--a>=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},W.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},W.each=function(t){return ut(this,function(e,r,n){t.call(e,e.__data__,r,n)})},W.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},W.empty=function(){return!this.node()},W.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,a=r.length;n<a;n++){var i=r[n];if(i)return i}return null},W.size=function(){var t=0;return ut(this,function(){++t}),t};var ft=[];function pt(e,r,a){var i="__on"+e,o=e.indexOf("."),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?D:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=W.append,ft.empty=W.empty,ft.node=W.node,ft.call=W.call,ft.size=W.size,ft.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s<l;){n=(a=this[s]).update,o.push(e=[]),e.parentNode=a.parentNode;for(var c=-1,u=a.length;++c<u;)(i=a[c])?(e.push(n[c]=r=t.call(a.parentNode,i.__data__,c,s)),r.__data__=i.__data__):e.push(null)}return q(o)},ft.insert=function(t,e){var r,n,a;return arguments.length<2&&(r=this,e=function(t,e,i){var o,s=r[i].update,l=s.length;for(i!=a&&(a=i,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),W.insert.call(this,t,e)},t.select=function(t){var e;return"string"==typeof t?(e=[H(t,a)]).parentNode=a.documentElement:(e=[t]).parentNode=i(t),q([e])},t.selectAll=function(t){var e;return"string"==typeof t?(e=n(G(t,a))).parentNode=a.documentElement:(e=n(t)).parentNode=null,q([e])},W.on=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()["__on"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:"mouseover",mouseleave:"mouseout"});function gt(e,r){return function(n){var a=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=a}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}a&&dt.forEach(function(t){"on"+t in a&&dt.remove(t)});var mt,yt=0;function xt(e){var r=".dragsuppress-"+ ++yt,n="click"+r,a=t.select(o(e)).on("touchmove"+r,B).on("dragstart"+r,B).on("selectstart"+r,B);if(null==mt&&(mt=!("onselectstart"in e)&&z(e.style,"userSelect")),mt){var s=i(e).style,l=s[mt];s[mt]="none"}return function(t){if(a.on(r,null),mt&&(s[mt]=l),t){var e=function(){a.on(n,null)};a.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var a=n.createSVGPoint();if(bt<0){var i=o(e);if(i.scrollX||i.scrollY){var s=(n=t.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(a.x=r.pageX,a.y=r.pageY):(a.x=r.clientX,a.y=r.clientY),[(a=a.matrixTransform(e.getScreenCTM().inverse())).x,a.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,a=0,i=e.length;a<i;++a)if((n=e[a]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(i,"drag","dragstart","dragend"),r=null,n=s(D,t.mouse,o,"mousemove","mouseup"),a=s(wt,t.touch,P,"touchmove","touchend");function i(){this.on("mousedown.drag",n).on("touchstart.drag",a)}function s(n,a,i,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=".drag"+(null==p?"":"-"+p),g=t.select(i(c)).on(o+d,function(){var t,e,r=a(u,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!a(u,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:"dragend"})}),v=xt(c),m=a(u,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:"dragstart"})}}return i.origin=function(t){return arguments.length?(r=t,i):r},t.rebind(i,e,"on")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Tt=kt*kt,At=Math.PI,Mt=2*At,St=Mt-kt,Et=At/2,Lt=At/180,Ct=180/At;function Pt(t){return t>0?1:t<0?-1:0}function Ot(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function zt(t){return t>1?0:t<-1?At:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<Tt)n=Math.log(c/o)/Ft,r=function(t){return[a+t*u,i+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),g=(c*c-o*o-4*f)/(2*c*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Dt(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/Dt(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,i,s,l,c,u,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m="mousedown.zoom",y="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=j(w,"zoomstart","zoom","zoomend");function w(t){t.on(m,P).on(Nt+".zoom",z).on("dblclick.zoom",I).on(b,O)}function k(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function T(t){f.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*f.k+f.x,t[1]*f.k+f.y]}(e),f.x+=t[0]-e[0],f.y+=t[1]-e[1]}function M(e,n,a,i){e.__chart__={x:f.x,y:f.y,k:f.k},T(Math.pow(2,i)),A(r=n,a),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(u.range().map(function(t){return(t-f.y)/f.k}).map(u.invert))}function E(t){v++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function C(t){--v||(t({type:"zoomend"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),i),L(r)}).on(x,function(){a.on(y,null).on(x,null),s(n),C(r)}),i=k(t.mouse(e)),s=xt(e);hs.call(e),E(r)}function O(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in a&&(a[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)a[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];M(r,m,a[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];i=b*b+_*_}}function v(){var o,l,c,u,h=t.touches(r);hs.call(r);for(var f=0,p=h.length;f<p;++f,u=null)if(c=h[f],u=a[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=i&&Math.sqrt(d/i);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],T(g*e)}s=null,A(o,l),L(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,i=e.length;r<i;++r)delete a[e[r].identifier];for(var s in a)return void d()}t.selectAll(u).on(o,null),h.on(m,P).on(b,O),p(),C(n)}g(),E(n),h.on(m,null).on(b,g)}function z(){var a=_.of(this,arguments);i?clearTimeout(i):(hs.call(this),e=k(r=n||t.mouse(this)),E(a)),i=setTimeout(function(){i=null,C(a)},50),B(),T(Math.pow(2,.002*Bt())*f.k),A(r,e),L(a)}function I(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;M(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt="onwheel"in a?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(Bt=function(){return t.event.wheelDelta},"mousewheel"):(Bt=function(){return-t.event.detail},"MozMousePixelScroll")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;ds?t.select(this).transition().each("start.zoom",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween("zoom:zoom",function(){var a=p[0],i=p[1],o=r?r[0]:a/2,s=r?r[1]:i/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,a/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,a/n.k]);return function(t){var r=l(t),n=a/r[2];this.__chart__=f={x:o-r[0]*n,y:s-r[1]*n,k:n},L(e)}}).each("interrupt.zoom",function(){C(e)}).each("end.zoom",function(){C(e)}):(this.__chart__=f,E(e),L(e),C(e))})},w.translate=function(t){return arguments.length?(f={x:+t[0],y:+t[1],k:f.k},S(),w):[f.x,f.y]},w.scale=function(t){return arguments.length?(f={x:f.x,y:f.y,k:null},T(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),f={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(h=t,u=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,"on")};var Bt,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(""+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+""},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,a;function i(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ie(i(t+120),i(t),i(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Yt=Gt.prototype=new Vt;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Wt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Xt(t,e,r)}Yt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Yt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Yt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ie(ae(3.2404542*(a=re(a)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(i=re(i)*Qt)),ae(-.969266*a+1.8760108*n+.041556*i),ae(.0556434*a-.2040259*n+1.0572252*i))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ae(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,Ht):new ie(t,e,r)}function oe(t){return new ie(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ie;var le=ie.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(","),n[1]){case"hsl":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case"rgb":return e(de(a[0]),de(a[1]),de(a[2]))}return(i=ge.get(t))?e(i.r,i.g,i.b):(null==t||"#"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function he(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,a=l>0&&l<1?0:n),new Ut(n,a,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),a=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*a-16,500*(n-a),200*(a-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e<a&&(e=a),r&&r<a&&(r=a),n&&n<a&&(n=a),new ie(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ie(a,a,a)},le.darker=function(t){return new ie((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return"#"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function ve(t){return"function"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&"function"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,a,i){var o={},s=t.dispatch("beforesend","progress","load","error"),l={},c=new XMLHttpRequest,u=null;function h(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(e)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return a=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var i in l)c.setRequestHeader(i,l[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on("error",a).on("load",function(t){a(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(P),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=ye(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return a.parse=function(t,e){var r;return a.parseRows(t,function(t,n){if(r)return r(t,n-1);var a=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(a(t),r)}:a})},a.parseRows=function(t,e){var r,a,i={},o={},s=[],l=t.length,c=0,u=0;function h(){if(c>=l)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(a=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(a=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))a=!0;else if(13===s)a=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==i&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,u++))||s.push(f)}return s},a.format=function(e){if(Array.isArray(e[0]))return a.formatRows(e);var r=new C,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join("\n")},a.formatRows=function(t){return t.map(s).join("\n")},a},t.csv=t.dsv(",","text/csv"),t.tsv=t.dsv("\t","text/tab-separated-values");var xe,be,_e,we,ke=this[z(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};function Te(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var a={c:t,t:r+e,n:null};return be?be.n=a:xe=a,be=a,_e||(we=clearTimeout(we),_e=1,ke(Ae)),a}function Ae(){var t=Me(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Te.apply(this,arguments)},t.timer.flush=function(){Me(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Le=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Le[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Pe=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Oe(t){return t+""}var ze=t.time={},Ie=Date;function De(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}De.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r<n-e?r:n}function a(r){return e(r=t(new Ie(r-1)),1),r}function i(t,r){return e(t=new Ie(+t),r),t}function o(t,n,i){var o=a(t),s=[];if(i>1)for(;o<n;)r(o)%i||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=a,t.offset=i,t.range=o;var s=t.utc=Be(t);return s.floor=s,s.round=Be(n),s.ceil=Be(a),s.offset=Be(i),s.range=function(t,e,r){try{Ie=De;var n=new De;return n._=t,o(n,e,r)}finally{Ie=Date}},t}function Be(t){return function(e,r){try{Ie=De;var n=new De;return n._=e,t(n,r)._}finally{Ie=Date}}}ze.year=Fe(function(t){return(t=ze.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),ze.years=ze.year.range,ze.years.utc=ze.year.utc.range,ze.day=Fe(function(t){var e=new Ie(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),ze.days=ze.day.range,ze.days.utc=ze.day.utc.range,ze.dayOfYear=function(t){var e=ze.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var r=ze[t]=Fe(function(t){return(t=ze.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=ze.year(t).getDay();return Math.floor((ze.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});ze[t+"s"]=r.range,ze[t+"s"].utc=r.utc.range,ze[t+"OfYear"]=function(t){var r=ze.year(t).getDay();return Math.floor((ze.dayOfYear(t)+(r+e)%7)/7)}}),ze.week=ze.sunday,ze.weeks=ze.sunday.range,ze.weeks.utc=ze.sunday.utc.range,ze.weekOfYear=ze.sundayOfYear;var Ne={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?"-":"",a=(n?-t:t)+"",i=a.length;return n+(i<r?new Array(r-i+1).join(e)+a:a)}function qe(e){return new RegExp("^(?:"+e.map(t.requote).join("|")+")","i")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,a=je.exec(e.slice(r,r+2));return a?(t.y=(n=+a[0])+(n>68?1900:2e3),r+a[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ar(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,a=y(e)%60;return r+Ue(n,"0",2)+Ue(a,"0",2)}function ir(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,a=e.grouping,i=e.currency,o=a&&n?function(t,e){for(var r=t.length,i=[],o=0,s=a[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:P;return function(e){var n=Ce.exec(e),a=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v="",m="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===a&&"="===s)&&(u=a="0",s="="),d){case"n":f=!0,d="g";break;case"%":g=100,m="%",d="f";break;case"p":g=100,m="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(v=i[0],m=i[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=Pe.get(d)||Oe;var b=u&&f;return function(e){var n=m;if(y&&e%1)return"";var i=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+m}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var T=x?e.lastIndexOf("e"):-1;T<0?(_=e,w=""):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&f&&(_=o(_,1/0));var A=v.length+_.length+w.length+(b?0:i.length),M=A<h?new Array(A=h-A+1).join(a):"";return b&&(_=o(M+_,M.length?h-w.length:1/0)),i+=v,e=_+w,("<"===s?i+e+M:">"===s?M+i+e:"^"===s?M.substring(0,A>>=1)+i+e+M.substring(A):i+(b?e:M+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,a=e.time,i=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,a,i,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(a=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(i=_[n])&&(n=i(r,null==a?"e"===n?" ":"0":a)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join("")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(h(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Ie!==De,a=new(n?De:Ie);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?a._:a},r.toString=function(){return t},r}function h(t,e,r,n){for(var a,i,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in Ne?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ie=De);return r._=t,e(r)}finally{Ie=Date}}return r.parse=function(t){try{Ie=De;var r=e.parse(t);return r&&r._}finally{Ie=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(c),b=He(c);i.forEach(function(t,e){f.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+ze.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(ze.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(ze.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ar,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ir};return u}(e)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,a=n-t,i=n-a;r.t=t-i+(e-a)}function hr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&fr.hasOwnProperty(t.type)?fr[t.type](t,e):hr(t,e)};var fr={Feature:function(t,e){hr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,a=r.length;++n<a;)hr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,a=r.length;++n<a;)hr(r[n],e)}};function dr(t,e,r){var n,a=-1,i=t.length-r;for(e.lineStart();++a<i;)n=t[a],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return vr=0,t.geo.stream(e,Lr),vr};var vr,mr,yr,xr,br,_r,wr,kr,Tr,Ar,Mr,Sr,Er=new lr,Lr={sphere:function(){vr+=4*At},point:D,lineStart:D,lineEnd:D,polygonStart:function(){Er.reset(),Lr.lineStart=Cr},polygonEnd:function(){var t=2*Er;vr+=t<0?4*At+t:t,Lr.lineStart=Lr.lineEnd=Lr.point=D}};function Cr(){var t,e,r,n,a;function i(t,e){e=e*Lt/2+At/4;var i=(t*=Lt)-r,o=i>=0?1:-1,s=o*i,l=Math.cos(e),c=Math.sin(e),u=a*c,h=n*l+u*Math.cos(s),f=u*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,a=c}Lr.point=function(o,s){Lr.point=i,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+At/4),a=Math.sin(s)},Lr.lineEnd=function(){i(t,e)}}function Pr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Or(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ir(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Fr(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Br(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,a,i,o,s,l,c,u,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,c=0,Lr.polygonStart()},polygonEnd:function(){Lr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Er<0?(e=-(n=180),r=-(a=90)):c>kt?a=90:c<-kt&&(r=-90),h[0]=e,h[1]=n}};function p(t,i){u.push(h=[e=t,n=t]),i<r&&(r=i),i>a&&(a=i)}function d(t,o){var s=Pr([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var h=t-i,f=h>0?1:-1,d=u[0]*Ct*f,g=y(h)>180;if(g^(f*i<d&&d<f*t))(v=u[1]*Ct)>a&&(a=v);else if(g^(f*i<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-u[1]*Ct)<r&&(r=v)}else o<r&&(r=o),o>a&&(a=o);g?t<i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,i=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-i;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Lr.point(t,e),d(t,e)}function x(){Lr.lineStart()}function b(){m(o,s),Lr.lineEnd(),y(c)>kt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(i){if(a=n=-(e=r=1/0),u=[],t.geo.stream(i,f),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=kr=Tr=Ar=Mr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Mr,a=Sr,i=r*r+n*n+a*a;return i<Tt&&(r=wr,n=kr,a=Tr,yr<kt&&(r=xr,n=br,a=_r),(i=r*r+n*n+a*a)<Tt)?[NaN,NaN]:[Math.atan2(n,r)*Ct,It(a/Math.sqrt(i))*Ct]};var Nr={sphere:D,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Lt;var r=Math.cos(e*=Lt);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++mr,br+=(e-br)/mr,_r+=(r-_r)/mr}function Ur(){var t,e,r;function n(n,a){n*=Lt;var i=Math.cos(a*=Lt),o=i*Math.cos(n),s=i*Math.sin(n),l=Math.sin(a),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),kr+=c*(e+(e=s)),Tr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(a,i){a*=Lt;var o=Math.cos(i*=Lt);t=o*Math.cos(a),e=o*Math.sin(a),r=Math.sin(i),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,a;function i(t,e){t*=Lt;var i=Math.cos(e*=Lt),o=i*Math.cos(t),s=i*Math.sin(t),l=Math.sin(e),c=n*l-a*s,u=a*o-r*l,h=r*s-n*o,f=Math.sqrt(c*c+u*u+h*h),p=r*o+n*s+a*l,d=f&&-zt(p)/f,g=Math.atan2(f,p);Ar+=d*c,Mr+=d*u,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Tr+=g*(a+(a=l)),Vr(r,n,a)}Nr.point=function(o,s){t=o,e=s,Nr.point=i,o*=Lt;var l=Math.cos(s*=Lt);r=l*Math.cos(o),n=l*Math.sin(o),a=Math.sin(s),Vr(r,n,a)},Nr.lineEnd=function(){i(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Yr(){return!0}function Wr(t,e,r,n,a){var i=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){a.lineStart();for(var s=0;s<e;++s)a.point((r=t[s])[0],r[1]);a.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,i.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,i.push(l),o.push(c)}}}),o.sort(e),Xr(i),Xr(o),i.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,h,f=i[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;u=p.z,a.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)a.point((h=u[s])[0],h[1]);else n(p.x,p.n.x,1,a);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)a.point((h=u[s])[0],h[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);a.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n<e;)a.n=r=t[n],r.p=a,a=r;a.n=r=t[0],r.p=a}}function Zr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function Jr(e,r,n,a){return function(i,o){var s,l=r(o),c=i.invert(a[0],a[1]),u={point:h,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=h,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],a=[Math.sin(r),-Math.cos(r),0],i=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var h=c[0],f=h[0],p=h[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===u&&(v=0);var m=(t=c[v])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,k=w*_,T=k>At,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),i+=T?_+w*Mt:_,T^f>=r^m>=r){var M=zr(Pr(h),Pr(t));Rr(M);var S=zr(a,M);Rr(S);var E=(T^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(M[0]||M[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(i<-kt||i<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Wr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(t,r){var n=i(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=i(t,e);l.point(r[0],r[1])}function p(){u.point=f,l.lineStart()}function d(){u.point=h,l.lineEnd()}var g,v,m=Qr(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=i(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var a,i=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i<n;)o.point((a=t[i])[0],a[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var tn=Jr(Yr,function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?At:-At,l=y(i-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=At&&(y(r-a)<kt&&(r-=a*kt),y(i-s)<kt&&(i-=s*kt),n=function(t,e,r,n){var a,i,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var a;if(null==t)a=r*Et,n.point(-At,a),n.point(0,a),n.point(At,a),n.point(At,0),n.point(At,-a),n.point(0,-a),n.point(-At,-a),n.point(-At,0),n.point(-At,a);else if(y(t[0]-e[0])>kt){var i=t[0]<e[0]?At:-At;a=r*i/2,n.point(-i,a),n.point(0,a),n.point(i,a)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(a){var i,o=a.a,s=a.b,l=o.x,c=o.y,u=0,h=1,f=s.x-l,p=s.y-c;if(i=t-l,f||!(i>0)){if(i/=f,f<0){if(i<u)return;i<h&&(h=i)}else if(f>0){if(i>h)return;i>u&&(u=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>u&&(u=i)}else if(f>0){if(i<u)return;i<h&&(h=i)}if(i=e-c,p||!(i>0)){if(i/=p,p<0){if(i<u)return;i<h&&(h=i)}else if(p>0){if(i>h)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>h)return;i>u&&(u=i)}else if(p>0){if(i<u)return;i<h&&(h=i)}return u>0&&(a.a={x:l+u*f,y:c+u*p}),h<1&&(a.b={x:l+h*f,y:c+h*p}),a}}}}}}var rn=1e9;function nn(e,r,n,a){return function(l){var c,u,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,a),k={point:M,lineStart:function(){k.point=S,u&&u.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){c&&(S(f,p),d&&m&&_.rejoin(),c.push(_.buffer()));k.point=M,m&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;a<r;++a)for(var i,o=1,s=u[a],l=s.length,c=s[0];o<l;++o)i=s[o],c[1]<=n?i[1]>n&&Ot(c,i,t)>0&&++e:i[1]<=n&&Ot(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),T(null,null,1,l),l.lineEnd()),i&&Wr(c,o,r,T,l),l.polygonEnd()),c=u=h=null}};function T(t,o,l,c){var u=0,h=0;if(null==t||(u=i(t,l))!==(h=i(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+l+4)%4)!==h);else c.point(o[0],o[1])}function A(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function M(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,v=e,m=r}return k};function i(t,a){return y(t[0]-e)<kt?a>0?0:3:y(t[0]-n)<kt?a>0?2:1:y(t[1]-r)<kt?a>0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Ln(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,It((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],h=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,h-.238*e],[u+.455*e,h+.238*e]]).stream(l).point,n=o.translate([u-.307*e,h+.201*e]).clipExtent([[u-.425*e+kt,h+.12*e+kt],[u-.214*e-kt,h+.234*e-kt]]).stream(l).point,a=s.translate([u-.205*e,h+.212*e]).clipExtent([[u-.214*e+kt,h+.166*e+kt],[u-.115*e-kt,h+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,hn,fn,pn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=D,sn+=y(ln/2)}};function dn(){var t,e,r,n;function a(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(i,o){pn.point=a,t=r=i,e=n=o},pn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>hn&&(hn=t);e<un&&(un=e);e>fn&&(fn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function vn(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function a(t,n){e.push("M",t,",",n),r.point=i}function i(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Tr+=o,bn(t=r,e=n)}xn.point=function(n,a){xn.point=r,bn(t=n,e=a)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Tr+=o,Ar+=(o=n*t-r*e)*(r+t),Mr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(i,o){xn.point=a,bn(t=r=i,e=n=o)},xn.lineEnd=function(){a(t,e)}}function Tn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Mt)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Lt),n=16;function a(e){return(n?function(e){var r,a,o,s,l,c,u,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,a){var o=Pr([r,a]),s=t(r,a);i(h,f,u,p,d,g,h=s[0],f=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=k}function w(t,e){x(r=t,e),a=h,o=f,s=p,l=d,c=g,v.point=x}function k(){i(h,f,u,p,d,g,a,o,r,s,l,c,n,e),v.lineEnd=b,b()}return v}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function i(n,a,o,s,l,c,u,h,f,p,d,g,v,m){var x=u-n,b=h-a,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,k=l+d,T=c+g,A=Math.sqrt(w*w+k*k+T*T),M=Math.asin(T/=A),S=y(y(T)-1)<kt||y(o-f)<kt?(o+f)/2:Math.atan2(k,w),E=t(S,M),L=E[0],C=E[1],P=L-n,O=C-a,z=b*P-x*O;(z*z/_>e||y((x*P+b*O)/_-.5)>.3||s*p+l*d+c*g<r)&&(i(n,a,o,s,l,c,L,C,S,w/=A,k/=A,T,v,m),m.point(L,C),i(L,C,S,w,k,T,u,h,f,p,d,g,v,m))}}return a.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,a):Math.sqrt(e)},a}function Mn(t){this.stream=t}function Sn(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function En(t){return Ln(function(){return t})()}function Ln(e){var r,n,a,i,o,s,l=An(function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]}),c=150,u=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=P,b=null,_=null;function w(t){return[(t=a(t[0]*Lt,t[1]*Lt))[0]*c+i,o-t[1]*c]}function k(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Ct,t[1]*Ct]}function T(){a=Gr(n=zn(d,g,v),r);var t=r(f,p);return i=u-t[0]*c,o=h+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(a,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,f){var p,d=[h,f],g=a(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?At:-At),f):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=i(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=a(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=i(d,e),t.point(p[0],p[1])):(p=i(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=i(d,e,!0))||(u=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Fn(t,6*Lt),r?[0,-t]:[-At,t-At]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=zr(Pr(t),Pr(r)),o=Or(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,h=zr(a,i),f=Dr(a,c);Ir(f,Dr(i,u));var p=h,d=Or(f,p),g=Or(p,p),v=d*d-g*(Or(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Dr(p,(-d-m)/g);if(Ir(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],T=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,M=y(A-At)<kt;if(!M&&T<k&&(b=k,k=T,T=b),M||A<kt?M?k+T>0^x[1]<(y(x[0]-_)<kt?k:T):k<=x[1]&&x[1]<=T:A>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+m)/g);return Ir(S,f),[x,Fr(S)]}}}function o(e,n){var a=r?t:At-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}((b=+t)*Lt),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):P,A()):_},w.scale=function(t){return arguments.length?(c=+t,T()):c},w.translate=function(t){return arguments.length?(u=+t[0],h=+t[1],T()):[u,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Lt,p=t[1]%360*Lt,T()):[f*Ct,p*Ct]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,v=t.length>2?t[2]%360*Lt:0,T()):[d*Ct,g*Ct,v*Ct]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,T()}}function Cn(t){return Sn(t,function(e,r){t.point(e*Lt,r*Lt)})}function Pn(t,e){return[t,e]}function On(t,e){return[t>At?t-Mt:t<-At?t+Mt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),Rn(e,r)):Dn(t):e||r?Rn(e,r):On}function In(t){return function(e,r){return[(e+=t)>At?e-Mt:e<-At?e+Mt:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Rn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*a-u*i,s*r-c*n),It(u*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*a-l*i;return[Math.atan2(l*a+c*i,s*r+u*n),It(u*r-s*n)]},o}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=Bn(r,a),i=Bn(r,i),(o>0?a<i:a>i)&&(a+=o*Mt)):(a=t+o*Mt,i=t-.5*l);for(var c,u=a;o>0?u>i:u<i;u-=l)s.point((c=Fr([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Bn(t,e){var r=Pr(e);r[0]-=t,Rr(r);var n=zt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Nn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[t,e]})}}function jn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[e,t]})}}function Vn(t){return t.source}function Un(t){return t.target}t.geo.path=function(){var e,r,n,a,i,o=4.5;function s(e){return e&&("function"==typeof o&&a.pointRadius(+o.apply(this,arguments)),i&&i.valid||(i=n(a)),t.geo.stream(e,i)),a.result()}function l(){return i=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=kr=Tr=Ar=Mr=Sr=0,t.geo.stream(e,n(xn)),Sr?[Ar/Sr,Mr/Sr]:Tr?[wr/Tr,kr/Tr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,a=An(function(t,e){return r([t*Ct,e*Ct])}),function(t){return Cn(a(t))}):P,l()):e;var r,a},s.context=function(t){return arguments.length?(a=null==(r=t)?new vn:new Tn(t),"function"!=typeof o&&a.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(a.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Mn(e);for(var n in t)r[n]=t[n];return r}}},Mn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},t.geo.projection=En,t.geo.projectionMutator=Ln,(t.geo.equirectangular=function(){return En(Pn)}).raw=Pn.invert=Pn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e}return t=zn(t[0]%360*Lt,t[1]*Lt,t.length>2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e},e},On.invert=Pn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t="function"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Lt,-t[1]*Lt,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Ct,t[1]*=Ct}}),{type:"Polygon",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Fn((t=+r)*Lt,n*Lt),a):t},a.precision=function(r){return arguments.length?(e=Fn(t*Lt,(n=+r)*Lt),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,a=t[1]*Lt,i=e[1]*Lt,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),c=Math.cos(a),u=Math.sin(i),h=Math.cos(i);return Math.atan2(Math.sqrt((r=h*o)*r+(r=c*u-l*h*s)*r),l*u+c*h*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,c,u,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,i,d).filter(function(t){return y(t%v)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},x.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[a,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(m)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,c=Nn(o,i,90),u=jn(r,e,m),h=Nn(l,s,90),f=jn(a,n,m),x):m},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,a=Un;function i(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,a=e[0]*Lt,i=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(a),p=l*Math.sin(a),d=2*Math.asin(Math.sqrt(Rt(i-n)+o*l*Rt(a-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*f,a=r*h+e*p,i=r*s+e*c;return[Math.atan2(a,n)*Ct,Math.atan2(i,Math.sqrt(n*n+a*a))*Ct]}:function(){return[r*Ct,n*Ct]}).distance=d,v;var r,n,a,i,o,s,l,c,u,h,f,p,d,g,v},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Lt),o=Math.cos(a),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}qn.point=function(a,i){t=a*Lt,e=Math.sin(i*=Lt),r=Math.cos(i),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Hn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return En(Gn)}).raw=Gn;var Yn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},P);function Wn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Jn;function o(t,e){i>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=Pt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Et]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)<kt)return Pn;function i(t,e){var r=a-e;return[r*Math.sin(n*t),a-r*Math.cos(n*t)]}return i.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,a-Pt(n)*Math.sqrt(t*t+r*r)]},i}(t.geo.azimuthalEquidistant=function(){return En(Yn)}).raw=Yn,(t.geo.conicConformal=function(){return an(Wn)}).raw=Wn,(t.geo.conicEquidistant=function(){return an(Xn)}).raw=Xn;var Zn=Hn(function(t){return 1/t},Math.atan);function Jn(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Kn(t){var e,r=En(t),n=r.scale,a=r.translate,i=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=a.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=i.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=a();i([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return En(Zn)}).raw=Zn,Jn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Kn(Jn)}).raw=Jn;var Qn=Hn(function(){return 1},Math.asin);(t.geo.orthographic=function(){return En(Qn)}).raw=Qn;var $n=Hn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ta(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ea(t){return t[0]}function ra(t){return t[1]}function na(t){for(var e=t.length,r=[0,1],n=2,a=2;a<e;a++){for(;n>1&&Ot(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function aa(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return En($n)}).raw=$n,ta.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Kn(ta),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ta,t.geom={},t.geom.hull=function(t){var e=ea,r=ra;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=ve(e),i=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+a.call(this,t[n],n),+i.call(this,t[n],n),n]);for(s.sort(aa),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=na(s),u=na(l),h=u[0]===c[0],f=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;n<u.length-f;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ia),t};var ia=t.geom.polygon.prototype=[];function oa(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function sa(t,e,r,n){var a=t[0],i=r[0],o=e[0]-a,s=n[0]-i,l=t[1],c=r[1],u=e[1]-l,h=n[1]-c,f=(s*(l-c)-h*(a-i))/(h*o-s*u);return[a+f*o,l+f*u]}function la(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ia.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],a=0;++e<r;)t=n,n=this[e],a+=t[1]*n[0]-t[0]*n[1];return.5*a},ia.centroid=function(t){var e,r,n=-1,a=this.length,i=0,o=0,s=this[a-1];for(arguments.length||(t=-1/(6*this.area()));++n<a;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],i+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[i*t,o*t]},ia.clip=function(t){for(var e,r,n,a,i,o,s=la(t),l=-1,c=this.length-la(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,a=this[l],i=e[(n=e.length-s)-1],r=-1;++r<n;)oa(o=e[r],u,a)?(oa(i,u,a)||t.push(sa(i,o,u,a)),t.push(o)):oa(i,u,a)&&t.push(sa(i,o,u,a)),i=o;s&&t.push(t[0]),u=a}return t};var ca,ua,ha,fa,pa,da=[],ga=[];function va(){Ia(this),this.edge=this.site=this.circle=null}function ma(t){var e=da.pop()||new va;return e.site=t,e}function ya(t){Sa(t),ha.remove(t),da.push(t),Ia(t)}function xa(t){var e=t.circle,r=e.x,n=e.cy,a={x:r,y:n},i=t.P,o=t.N,s=[t];ya(t);for(var l=i;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)i=l.P,s.unshift(l),ya(l),l=i;s.unshift(l),Sa(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),ya(c),c=o;s.push(c),Sa(c);var u,h=s.length;for(u=1;u<h;++u)c=s[u],l=s[u-1],Pa(c.edge,l.site,c.site,a);l=s[0],(c=s[h-1]).edge=Ca(l.site,c.site,null,a),Ma(l),Ma(c)}function ba(t){for(var e,r,n,a,i=t.x,o=t.y,s=ha._;s;)if((n=_a(s,o)-i)>kt)s=s.L;else{if(!((a=i-wa(s,o))>kt)){n>-kt?(e=s.P,r=s):a>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=ma(t);if(ha.insert(e,l),e||r){if(e===r)return Sa(e),r=ma(e.site),ha.insert(l,r),l.edge=r.edge=Ca(e.site,l.site),Ma(e),void Ma(r);if(r){Sa(e),Sa(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,g=d.x-u,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+u,y:(f*x-g*y)/m+h};Pa(r.edge,c,d,b),l.edge=Ca(c,t,null,b),r.edge=Ca(t,d,null,b),Ma(e),Ma(r)}else l.edge=Ca(e.site,l.site)}}function _a(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/i-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+a-i/2)))/h+n:(n+s)/2}function wa(t,e){var r=t.N;if(r)return _a(r,e);var n=t.site;return n.y===e?n.x:1/0}function ka(t){this.site=t,this.edges=[]}function Ta(t,e){return e.angle-t.angle}function Aa(){Ia(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ma(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,c=n.y-s,u=i.x-o,h=2*(l*(v=i.y-s)-c*u);if(!(h>=-Tt)){var f=l*l+c*c,p=u*u+v*v,d=(v*f-c*p)/h,g=(l*p-u*f)/h,v=g+s,m=ga.pop()||new Aa;m.arc=t,m.site=a,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=pa._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}pa.insert(y,m),y||(fa=m)}}}}function Sa(t){var e=t.circle;e&&(e.P||(fa=e.N),pa.remove(e),ga.push(e),Ia(e),t.circle=null)}function Ea(t,e){var r=t.b;if(r)return!0;var n,a,i=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,h=t.r,f=u.x,p=u.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(i){if(i.y>=c)return}else i={x:v,y:l};r={x:v,y:c}}else{if(i){if(i.y<l)return}else i={x:v,y:c};r={x:v,y:l}}}else if(a=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){if(i){if(i.y>=c)return}else i={x:(l-a)/n,y:l};r={x:(c-a)/n,y:c}}else{if(i){if(i.y<l)return}else i={x:(c-a)/n,y:c};r={x:(l-a)/n,y:l}}else if(p<g){if(i){if(i.x>=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.x<o)return}else i={x:s,y:n*s+a};r={x:o,y:n*o+a}}return t.a=i,t.b=r,!0}function La(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ca(t,e,r,n){var a=new La(t,e);return ca.push(a),r&&Pa(a,t,e,r),n&&Pa(a,e,t,n),ua[t.i].edges.push(new Oa(a,t,e)),ua[e.i].edges.push(new Oa(a,e,t)),a}function Pa(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Oa(t,e,r){var n=t.a,a=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(a.x-n.x,n.y-a.y):Math.atan2(n.x-a.x,a.y-n.y)}function za(){this._=null}function Ia(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Da(t,e){var r=e,n=e.R,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ra(t,e){var r=e,n=e.L,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Fa(t){for(;t.L;)t=t.L;return t}function Ba(t,e){var r,n,a,i=t.sort(Na).pop();for(ca=[],ua=new Array(t.length),ha=new za,pa=new za;;)if(a=fa,i&&(!a||i.y<a.y||i.y===a.y&&i.x<a.x))i.x===r&&i.y===n||(ua[i.i]=new ka(i),ba(i),r=i.x,n=i.y),i=t.pop();else{if(!a)break;xa(a.arc)}e&&(function(t){for(var e,r=ca,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),a=r.length;a--;)(!Ea(e=r[a],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(a,1))}(e),function(t){for(var e,r,n,a,i,o,s,l,c,u,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=ua,v=g.length;v--;)if((i=g[v])&&i.prepare())for(l=(s=i.edges).length,o=0;o<l;)n=(u=s[o].end()).x,a=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(a-r)>kt)&&(s.splice(o,0,new Oa((m=i.site,x=u,b=y(n-h)<kt&&d-a>kt?{x:h,y:y(e-h)<kt?r:d}:y(a-d)<kt&&f-n>kt?{x:y(r-d)<kt?e:f,y:d}:y(n-f)<kt&&a-p>kt?{x:f,y:y(e-f)<kt?r:p}:y(a-p)<kt&&n-h>kt?{x:y(r-p)<kt?e:h,y:p}:null,_=void 0,_=new La(m,null),_.a=x,_.b=b,ca.push(_),_),i.site,null)),++l);var m,x,b,_}(e));var o={cells:ua,edges:ca};return ha=pa=ca=ua=null,o}function Na(t,e){return e.y-t.y||e.x-t.x}ka.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Ta),e.length},Oa.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},za.prototype={insert:function(t,e){var r,n,a;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Fa(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(a=n.R)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.R&&(Da(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ra(this,n)):(a=n.L)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.L&&(Ra(this,r),r=(t=r).U),r.C=!1,n.C=!0,Da(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,a=t.U,i=t.L,o=t.R;if(r=i?o?Fa(o):i:o,a?a.L===t?a.L=r:a.R=r:this._=r,i&&o?(n=r.C,r.C=t.C,r.L=i,i.U=r,r!==o?(a=r.U,r.U=t.U,t=r.R,a.L=t,r.R=o,o.U=r):(r.U=a,a=r,t=r.R)):(n=t.C,t=r),t&&(t.U=a),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===a.L){if((e=a.R).C&&(e.C=!1,a.C=!0,Da(this,a),e=a.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ra(this,e),e=a.R),e.C=a.C,a.C=e.R.C=!1,Da(this,a),t=this._;break}}else if((e=a.L).C&&(e.C=!1,a.C=!0,Ra(this,a),e=a.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Da(this,e),e=a.L),e.C=a.C,a.C=e.L.C=!1,Ra(this,a),t=this._;break}e.C=!0,t=a,a=a.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ea,r=ra,n=e,a=r,i=ja;if(t)return o(t);function o(t){var e=new Array(t.length),r=i[0][0],n=i[0][1],a=i[1][0],o=i[1][1];return Ba(s(t),i).cells.forEach(function(i,s){var l=i.edges,c=i.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Ba(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Ba(s(t)).cells.forEach(function(r,n){for(var a,i,o,s,l=r.site,c=r.edges.sort(Ta),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++u<h;)f,a=p,p=(f=c[u].edge).l===l?f.r:f.l,n<a.i&&n<p.i&&(o=a,s=p,((i=l).x-s.x)*(o.y-i.y)-(i.x-o.x)*(s.y-i.y)<0)&&e.push([t[n],t[a.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(a=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(i=null==t?ja:t,o):i===ja?null:i},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):i===ja?null:i&&i[1]},o};var ja=[[-1e6,-1e6],[1e6,1e6]];function Va(t){return t.x}function Ua(t){return t.y}function qa(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,a=e.g,i=e.b,o=r.r-n,s=r.g-a,l=r.b-i;return function(t){return"#"+ce(Math.round(n+o*t))+ce(Math.round(a+s*t))+ce(Math.round(i+l*t))}}function Ha(t,e){var r,n={},a={};for(r in t)r in e?n[r]=Za(t[r],e[r]):a[r]=t[r];for(r in e)r in t||(a[r]=e[r]);return function(t){for(r in n)a[r]=n[r](t);return a}}function Ga(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ya(t,e){var r,n,a,i=Wa.lastIndex=Xa.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=Wa.exec(t))&&(n=Xa.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Ga(r,n)})),i=Xa.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,a){var i,o=ea,s=ra;if(i=arguments.length)return o=Va,s=Ua,3===i&&(a=r,n=e,r=e=0),l(t);function l(t){var l,c,u,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=a;else if(g=v=-(p=d=1/0),c=[],u=[],f=t.length,i)for(h=0;h<f;++h)(l=t[h]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>v&&(v=l.y),c.push(l.x),u.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),c.push(b),u.push(_)}var w=g-p,k=v-d;function T(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,a,i,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,a,i,o,s),A(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,a,i,o,s)}function A(t,e,r,n,a,i,o,s){var l=.5*(a+o),c=.5*(i+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?a=l:o=l,h?i=c:s=c,T(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}}),e,r,n,a,i,o,s)}w>k?v=d+w:g=p+k;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(M.visit=function(t){!function t(e,r,n,a,i,o){if(!e(r,n,a,i,o)){var s=.5*(n+i),l=.5*(a+o),c=r.nodes;c[0]&&t(e,c[0],n,a,s,l),c[1]&&t(e,c[1],s,a,i,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,i,o)}}(t,M,p,d,g,v)},M.find=function(t){return function(t,e,r,n,a,i,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>i||h>o||f<n||p<a)){if(d=c.point){var d,g=e-c.x,v=r-c.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,a=r-y,i=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,h,b,_);break;case 1:t(c,b,h,f,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,f,p)}}}(t,n,a,i,o),s}(M,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)T(M,t[h],c[h],u[h],p,d,g,v);--h}else t.forEach(M.add);return c=u=t=l=null,M}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],a=+t[1][1]),l):null==e?null:[[e,r],[n,a]]},l.size=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=r=0,n=+t[0],a=+t[1]),l):null==e?null:[n-e,a-r]},l},t.interpolateRgb=qa,t.interpolateObject=Ha,t.interpolateNumber=Ga,t.interpolateString=Ya;var Wa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xa=new RegExp(Wa.source,"g");function Za(e,r){for(var n,a=t.interpolators.length;--a>=0&&!(n=t.interpolators[a](e,r)););return n}function Ja(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Za(t[r],e[r]));for(;r<i;++r)a[r]=t[r];for(;r<o;++r)a[r]=e[r];return function(t){for(r=0;r<s;++r)a[r]=n[r](t);return a}}t.interpolate=Za,t.interpolators=[function(t,e){var r=typeof e;return("string"===r?ge.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?qa:Ya:e instanceof Vt?qa:Array.isArray(e)?Ja:"object"===r&&isNaN(e)?Ha:Ga)(t,e)}],t.interpolateArray=Ja;var Ka=function(){return P},Qa=t.map({linear:Ka,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return ri},cubic:function(){return ni},sin:function(){return ii},exp:function(){return oi},circle:function(){return si},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Mt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Mt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return li}}),$a=t.map({in:P,out:ti,"in-out":ei,"out-in":function(t){return ei(ti(t))}});function ti(t){return function(e){return 1-t(1-e)}}function ei(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function ri(t){return t*t}function ni(t){return t*t*t}function ai(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ii(t){return 1-Math.cos(t*Et)}function oi(t){return Math.pow(2,10*(t-1))}function si(t){return 1-Math.sqrt(1-t*t)}function li(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function ci(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ui(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=fi(a),s=hi(a,i),l=fi(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]<i[0]*a[1]&&(a[0]*=-1,a[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(a[1],a[0]):Math.atan2(-i[0],i[1]))*Ct,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Ct:0}function hi(t,e){return t[0]*e[0]+t[1]*e[1]}function fi(t){var e=Math.sqrt(hi(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf("-"),a=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):"in";return a=Qa.get(a)||Ka,i=$a.get(i)||P,e=i(a.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Wt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,a+s*t,i+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return te(n+o*t,a+s*t,i+l*t)+""}},t.interpolateRound=ci,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ui(e?e.matrix:pi)})(e)},ui.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pi={a:1,b:0,c:0,d:1,e:0,f:0};function di(t){return t.length?t.pop()+",":""}function gi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push("translate(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(di(r)+"rotate(",null,")")-2,x:Ga(t,e)})):e&&r.push(di(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(di(r)+"skewX(",null,")")-2,x:Ga(t,e)}):e&&r.push(di(r)+"skewX("+e+")")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(di(r)+"scale(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(di(r)+"scale("+e+")")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r<i;)n[(e=a[r]).i]=e.x(t);return n.join("")}}function vi(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function mi(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function yi(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=xi(t),n=xi(e),a=r.pop(),i=n.pop(),o=null;for(;a===i;)o=a,a=r.pop(),i=n.pop();return o}(e,r),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;r!==n;)a.splice(i,0,r),r=r.parent;return a}function xi(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function bi(t){t.fixed|=2}function _i(t){t.fixed&=-7}function wi(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ki(t){t.fixed&=-5}t.interpolateTransform=gi,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(yi(t[r]));return e}},t.layout.chord=function(){var e,r,n,a,i,o,s,l={},c=0;function u(){var l,u,f,p,d,g={},v=[],m=t.range(a),y=[];for(e=[],r=[],l=0,p=-1;++p<a;){for(u=0,d=-1;++d<a;)u+=n[p][d];v.push(u),y.push(t.range(a)),l+=u}for(i&&m.sort(function(t,e){return i(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Mt-c*a)/l,u=0,p=-1;++p<a;){for(f=u,d=-1;++d<a;){var x=m[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+"-"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:f,endAngle:u,value:v[x]},u+=c}for(p=-1;++p<a;)for(d=p-1;++d<a;){var T=g[p+"-"+d],A=g[d+"-"+p];(T.value||A.value)&&e.push(T.value<A.value?{source:A,target:T}:{source:T,target:A})}s&&h()}function h(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(a=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(i=t,e=r=null,l):i},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&h(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,a,i,o,s={},l=t.dispatch("start","tick","end"),c=[1,1],u=.9,h=Ti,f=Ai,p=-30,d=Mi,g=.1,v=.64,m=[],y=[];function x(t){return function(e,r,n,a){if(e.point!==t){var i=e.cx-t.x,o=e.cy-t.y,s=a-r,l=i*i+o*o;if(s*s/v<l){if(l<d){var c=e.charge/l;t.px-=i*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=i*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:"end",alpha:n=0}),!0;var r,s,h,f,d,v,b,_,w,k=m.length,T=y.length;for(s=0;s<T;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*i[s]*((v=Math.sqrt(v))-a[s])/v,w*=v,d.x-=_*(b=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=w*b,f.x+=_*(b=1-b),f.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var a=0,i=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,a+=o.charge*o.cx,i+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,a+=u*e.point.x,i+=u*e.point.y}e.cx=a/e.charge;e.cy=i/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<k;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<k;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*u,h.y-=(h.py-(h.py=h.y))*u);l.tick({type:"tick",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=Te(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)"number"==typeof(r=y[t]).source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g("x",u)),isNaN(r.y)&&(r.y=g("y",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(a=[],"function"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(i=[],"function"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(o=[],"function"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,a){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var i=y[c];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*a}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(P).on("dragstart.force",bi).on("drag.force",b).on("dragend.force",_i)),!arguments.length)return r;this.on("mouseover.force",wi).on("mouseout.force",ki).call(r)},t.rebind(s,l,"on")};var Ti=20,Ai=1,Mi=1/0;function Si(e,r){return t.rebind(e,r,"sort","children","value"),e.nodes=e,e.links=zi,e}function Ei(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(a=t.children)&&(n=a.length))for(var n,a;--n>=0;)r.push(a[n])}function Li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o<a;)r.push(i[o]);for(;null!=(t=n.pop());)e(t)}function Ci(t){return t.children}function Pi(t){return t.value}function Oi(t,e){return e.value-t.value}function zi(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Oi,e=Ci,r=Pi;function n(a){var i,o=[a],s=[];for(a.depth=0;null!=(i=o.pop());)if(s.push(i),(c=e.call(n,i,i.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Li(a,function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ei(t,function(t){t.children&&(t.value=0)}),Li(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=i[c],r,l=s.value*n,a),r+=l}}(a[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(a=r.length))for(var a,i=-1;++i<a;)n=Math.max(n,t(r[i]));return 1+n}(a[0])),a}return n.size=function(t){return arguments.length?(r=t,n):r},Si(n,e)},t.layout.pie=function(){var e=Number,r=Ii,n=0,a=Mt,i=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),h=+("function"==typeof n?n.apply(this,arguments):n),f=("function"==typeof a?a.apply(this,arguments):a)-h,p=Math.min(Math.abs(f)/c,+("function"==typeof i?i.apply(this,arguments):i)),d=p*(f<0?-1:1),g=t.sum(u),v=g?(f-c*d)/g:0,m=t.range(c),y=[];return null!=r&&m.sort(r===Ii?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=u[t],startAngle:h,endAngle:h+=l*v+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(a=t,o):a},o.padAngle=function(t){return arguments.length?(i=t,o):i},o};var Ii={};function Di(t){return t.x}function Ri(t){return t.y}function Fi(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=P,r=ji,n=Vi,a=Fi,i=Di,o=Ri;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),h=u.map(function(t){return t.map(function(t,e){return[i.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,c);u=t.permute(u,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,c),y=u[0].length;for(g=0;g<y;++g)for(a.call(s,u[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)a.call(s,u[d][g],v+=h[d-1][g][1],h[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r="function"==typeof t?t:Bi.get(t)||ji,s):r},s.offset=function(t){return arguments.length?(n="function"==typeof t?t:Ni.get(t)||Vi,s):n},s.x=function(t){return arguments.length?(i=t,s):i},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(a=t,s):a},s};var Bi=t.map({"inside-out":function(e){var r,n,a=e.length,i=e.map(Ui),o=e.map(qi),s=t.range(a).sort(function(t,e){return i[t]-i[e]}),l=0,c=0,u=[],h=[];for(r=0;r<a;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],h.push(n));return h.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:ji}),Ni=t.map({silhouette:function(t){var e,r,n,a=t.length,i=t[0].length,o=[],s=0,l=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<i;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,a,i,o,s,l,c,u=t.length,h=t[0],f=h.length,p=[];for(p[0]=l=c=0,r=1;r<f;++r){for(e=0,a=0;e<u;++e)a+=t[e][r][1];for(e=0,i=0,s=h[r][0]-h[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;i+=o*t[e][r][1]}p[r]=l-=a?i/a*s:0,l<c&&(c=l)}for(r=0;r<f;++r)p[r]-=c;return p},expand:function(t){var e,r,n,a=t.length,i=t[0].length,o=1/a,s=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];if(n)for(e=0;e<a;e++)t[e][r][1]/=n;else for(e=0;e<a;e++)t[e][r][1]=o}for(r=0;r<i;++r)s[r]=0;return s},zero:Vi});function ji(e){return t.range(e.length)}function Vi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ui(t){for(var e,r=1,n=0,a=t[0][1],i=t.length;r<i;++r)(e=t[r][1])>a&&(n=r,a=e);return n}function qi(t){return t.reduce(Hi,0)}function Hi(t,e){return t+e[1]}function Gi(t,e){return Yi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Yi(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Wi(e){return[t.min(e),t.max(e)]}function Xi(t,e){return t.value-e.value}function Zi(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ji(t,e){t._pack_next=e,e._pack_prev=t}function Ki(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function Qi(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach($i),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(eo(r,n,a=e[2]),x(a),Zi(r,a),r._pack_prev=a,Zi(a,n),n=r._pack_next,i=3;i<l;i++){eo(r,n,a=e[i]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ki(o,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ki(s,a);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Ji(r,n=o):Ji(r=s,n),i--):(Zi(r,a),n=a,x(a))}var v=(c+u)/2,m=(h+f)/2,y=0;for(i=0;i<l;i++)(a=e[i]).x-=v,a.y-=m,y=Math.max(y,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=y,e.forEach(to)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function $i(t){t._pack_next=t._pack_prev=t}function to(t){delete t._pack_next,delete t._pack_prev}function eo(t,e,r){var n=t.r+r.r,a=e.x-t.x,i=e.y-t.y;if(n&&(a||i)){var o=e.r+r.r,s=a*a+i*i,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*a+c*i,r.y=t.y+l*i-c*a}else r.x=t.x+n,r.y=t.y}function ro(t,e){return t.parent==e.parent?1:2}function no(t){var e=t.children;return e.length?e[0]:t.t}function ao(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function io(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function oo(t,e,r){return t.a.parent===e.parent?t.a:r}function so(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function lo(t,e){var r=t.x+e[3],n=t.y+e[0],a=t.dx-e[1]-e[3],i=t.dy-e[0]-e[2];return a<0&&(r+=a/2,a=0),i<0&&(n+=i/2,i=0),{x:r,y:n,dx:a,dy:i}}function co(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function uo(t){return t.rangeExtent?t.rangeExtent():co(t.range())}function ho(t,e,r,n){var a=r(t[0],t[1]),i=n(e[0],e[1]);return function(t){return i(a(t))}}function fo(t,e){var r,n=0,a=t.length-1,i=t[n],o=t[a];return o<i&&(r=n,n=a,a=r,r=i,i=o,o=r),t[n]=e.floor(i),t[a]=e.ceil(o),t}function po(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:go}t.layout.histogram=function(){var e=!0,r=Number,n=Wi,a=Gi;function i(i,o){for(var s,l,c=[],u=i.map(r,this),h=n.call(this,u,o),f=a.call(this,h,u,o),p=(o=-1,u.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=h[0]&&l<=h[1]&&((s=c[t.bisect(f,l,1,d)-1]).y+=g,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=ve(t),i):n},i.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return Yi(e,t)}:ve(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Xi),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],c=a[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Li(s,function(t){t.r=+u(t.value)}),Li(s,Qi),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Li(s,function(t){t.r+=h}),Li(s,Qi),Li(s,function(t){t.r-=h})}return function t(e,r,n,a){var i=e.children;e.x=r+=a*e.x;e.y=n+=a*e.y;e.r*=a;if(i)for(var o=-1,s=i.length;++o<s;)t(i[o],r,n,a)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(a=t,i):a},i.radius=function(t){return arguments.length?(e=null==t||"function"==typeof t?t:+t,i):e},i.padding=function(t){return arguments.length?(n=+t,i):n},Si(i,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=null;function i(t,i){var c=e.call(this,t,i),u=c[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var a,i=e.children,o=0,s=i.length;o<s;++o)n.push((i[o]=a={_:i[o],parent:e,children:(a=i[o].children)&&a.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=a);return r.children[0]}(u);if(Li(h,o),h.parent.m=-h.z,Ei(h,s),a)Ei(u,l);else{var f=u,p=u,d=u;Ei(u,function(t){t.x<f.x&&(f=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(f,p)/2-f.x,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Ei(u,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=ao(s),i=no(i),s&&i;)l=no(l),(o=ao(o)).a=t,(a=s.z+h-i.z-c+r(s._,i._))>0&&(io(oo(s,t,n),t,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!ao(o)&&(o.t=s,o.m+=h-u),i&&!no(l)&&(l.t=i,l.m+=c-f,n=t)}return n}(t,a,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Si(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),c=l[0],u=0;Li(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return Li(c,a?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Si(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=so,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a<i;)n=(r=t[a]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function h(t){var e=t.children;if(e&&e.length){var r,n,a,i=o(t),s=[],c=e.slice(),f=1/0,g="slice"===l?i.dx:"dice"===l?i.dy:"slice-dice"===l?1&t.depth?i.dy:i.dx:Math.min(i.dx,i.dy);for(u(c,i.dx*i.dy/t.value),s.area=0;(a=c.length)>0;)s.push(r=c[a-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,i,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(d(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<i&&(i=r),r>a&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function d(t,e,r,a){var i,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++o<s;)(i=t[o]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?n(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((a||u>r.dx)&&(u=r.dx);++o<s;)(i=t[o]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?n(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),i=n[0];return i.x=i.y=0,i.value?(i.dx=a[0],i.dy=a[1]):i.dx=i.dy=0,e&&r.revalue(i),u([i],i.dx*i.dy/i.value),(e?f:h)(i),s&&(e=n),n}return g.size=function(t){return arguments.length?(a=t,g):a},g.padding=function(t){if(!arguments.length)return i;function e(e){return lo(e,t)}var r;return o=null==(i=t)?so:"function"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?so(e):lo(e,"number"==typeof r?[r,r,r,r]:r)}:"number"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+"",g):l},Si(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,a;do{a=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!a||a>1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var go={floor:P,ceil:P};function vo(e,r,n,a){var i=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)i.push(n(e[s-1],e[s])),o.push(a(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](i[n](r))}}function mo(e,r){return t.rebind(e,r,"range","rangeRound","interpolate","clamp")}function yo(t,e){return fo(t,po(xo(t,e)[2])),fo(t,po(xo(t,e)[2])),t}function xo(t,e){null==e&&(e=10);var r=co(t),n=r[1]-r[0],a=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),i=e/n*a;return i<=.15?a*=10:i<=.35?a*=5:i<=.75&&(a*=2),r[0]=Math.ceil(r[0]/a)*a,r[1]=Math.floor(r[1]/a)*a+.5*a,r[2]=a,r}function bo(e,r){return t.range.apply(t,xo(e,r))}function _o(e,r,n){var a=xo(e,r);if(n){var i=Ce.exec(n);if(i.shift(),"s"===i[8]){var o=t.formatPrefix(Math.max(y(a[0]),y(a[1])));return i[7]||(i[7]="."+ko(o.scale(a[2]))),i[8]="f",n=t.format(i.join("")),function(t){return n(o.scale(t))+o.symbol}}i[7]||(i[7]="."+function(t,e){var r=ko(e[2]);return t in wo?Math.abs(r-ko(Math.max(y(e[0]),y(e[1]))))+ +("e"!==t):r-2*("%"===t)}(i[8],a)),n=i.join("")}else n=",."+ko(a[2])+"f";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,a){var i,o;function s(){var t=Math.min(e.length,r.length)>2?vo:ho,s=a?mi:vi;return i=t(e,r,s,n),o=t(r,e,s,Za),l}function l(t){return i(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(ci)};l.clamp=function(t){return arguments.length?(a=t,s()):a};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,a)};return s()}([0,1],[0,1],Za,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i};l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n};l.nice=function(){var t=fo(i.map(o),a?Math:Ao);return r.domain(t),i=t.map(s),l};l.ticks=function(){var t=co(i),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(u-c)){if(a){for(;c<u;c++)for(var f=1;f<h;f++)e.push(s(c)*f);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var f=h-1;f>0;f--)e.push(s(c)*f);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return To;arguments.length<2?r=To:"function"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=a?r(t):""}};l.copy=function(){return e(r.copy(),n,a,i)};return mo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var To=t.format(".0e"),Ao={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Mo(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var a=Mo(r),i=Mo(1/r);function o(t){return e(a(t))}o.invert=function(t){return i(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(a)),o):n};o.ticks=function(t){return bo(n,t)};o.tickFormat=function(t,e){return _o(n,t,e)};o.nice=function(t){return o.domain(yo(n,t))};o.exponent=function(t){return arguments.length?(a=Mo(r=t),i=Mo(1/r),e.domain(n.map(a)),o):r};o.copy=function(){return t(e.copy(),r,n)};return mo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var a,i,o;function s(t){return i[((a.get(t)||("range"===n.t?a.set(t,r.push(t)):NaN))-1)%i.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],a=new b;for(var e,i=-1,o=t.length;++i<o;)a.has(e=t[i])||a.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(i=t,o=0,n={t:"range",a:arguments},s):i};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=(a+c)/2,0):(c-a)/(r.length-1+e);return i=l(a+u*e/2,u),o=0,n={t:"rangePoints",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=c=Math.round((a+c)/2),0):(c-a)/(r.length-1+e)|0;return i=l(a+Math.round(u*e/2+(c-a-(r.length-1+e)*u)/2),u),o=0,n={t:"rangeRoundPoints",a:arguments},s};s.rangeBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=(h-u)/(r.length-e+2*a);return i=l(u+f*a,f),c&&i.reverse(),o=f*(1-e),n={t:"rangeBands",a:arguments},s};s.rangeRoundBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=Math.floor((h-u)/(r.length-e+2*a));return i=l(u+Math.round((h-u-(r.length-e)*f)/2),f),c&&i.reverse(),o=Math.round(f*(1-e)),n={t:"rangeRoundBands",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return co(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:"range",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(So)},t.scale.category20=function(){return t.scale.ordinal().range(Eo)},t.scale.category20b=function(){return t.scale.ordinal().range(Lo)},t.scale.category20c=function(){return t.scale.ordinal().range(Co)};var So=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Eo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Lo=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),Co=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function Po(){return 0}t.scale.quantile=function(){return function e(r,n){var a;function i(){var e=0,i=n.length;for(a=[];++e<i;)a[e-1]=t.quantile(r,e/i);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(a,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),i()):r};o.range=function(t){return arguments.length?(n=t,i()):n};o.quantiles=function(){return a};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?a[t-1]:r[0],t<a.length?a[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return i()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var a,i;function o(t){return n[Math.max(0,Math.min(i,Math.floor(a*(t-e))))]}function s(){return a=n.length/(r-e),i=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/a+e,t+1/a]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function a(e){if(e<=e)return n[t.bisect(r,e)]}a.domain=function(t){return arguments.length?(r=t,a):r};a.range=function(t){return arguments.length?(n=t,a):n};a.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};a.copy=function(){return e(r,n)};return a}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return bo(e,t)};r.tickFormat=function(t,r){return _o(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=zo,e=Io,r=Po,n=Oo,a=Do,i=Ro,o=Fo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=a.apply(this,arguments)-Et,h=i.apply(this,arguments)-Et,f=Math.abs(h-u),p=u>h?0:1;if(c<s&&(d=c,c=s,s=d),f>=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,v,m,y,x,b,_,w,k,T,A,M=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Oo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(v/c*Math.sin(m))),s&&(M=It(v/s*Math.sin(m)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var L=Math.abs(h-u-2*S)<=At?0:1;if(S&&Bo(y,x,b,_)===p^L){var C=(u+h)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-M),k=s*Math.sin(h-M),T=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-h+2*M)<=At?0:1;if(M&&Bo(w,k,T,A)===1-p^P){var O=(u+h)/2;w=s*Math.cos(O),k=s*Math.sin(O),T=A=null}}else w=k=0;if(f>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var z=d,I=d;if(f<At){var D=null==T?[w,k]:null==b?[y,x]:sa([y,x],[T,A],[b,_],[w,k]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);I=Math.min(d,(s-V)/(j-1)),z=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=No(null==T?[w,k]:[T,A],[y,x],c,z,p),q=No([b,_],[w,k],c,z,p);d===z?E.push("M",U[0],"A",z,",",z," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-p^Bo(U[1][0],U[1][1],q[1][0],q[1][1]),",",p," ",q[1],"A",z,",",z," 0 0,",g," ",q[0]):E.push("M",U[0],"A",z,",",z," 0 1,",g," ",q[0])}else E.push("M",y,",",x);if(null!=T){var H=No([y,x],[T,A],s,-I,p),G=No([w,k],null==b?[y,x]:[b,_],s,-I,p);d===I?E.push("L",G[0],"A",I,",",I," 0 0,",g," ",G[1],"A",s,",",s," 0 ",p^Bo(G[1][0],G[1][1],H[1][0],H[1][1]),",",1-p," ",H[1],"A",I,",",I," 0 0,",g," ",H[0]):E.push("L",G[0],"A",I,",",I," 0 0,",g," ",H[0])}else E.push("L",w,",",k)}else E.push("M",y,",",x),null!=b&&E.push("A",c,",",c," 0 ",L,",",p," ",b,",",_),E.push("L",w,",",k),null!=T&&E.push("A",s,",",s," 0 ",P,",",1-p," ",T,",",A);return E.push("Z"),E.join("")}function l(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}return s.innerRadius=function(e){return arguments.length?(t=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Oo?Oo:ve(t),s):n},s.startAngle=function(t){return arguments.length?(a=ve(t),s):a},s.endAngle=function(t){return arguments.length?(i=ve(t),s):i},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +i.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Oo="auto";function zo(t){return t.innerRadius}function Io(t){return t.outerRadius}function Do(t){return t.startAngle}function Ro(t){return t.endAngle}function Fo(t){return t&&t.padAngle}function Bo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function No(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,c=-s*i,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,g=(h+p)/2,v=f-u,m=p-h,y=v*v+m*m,x=r-n,b=u*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,k=(-b*v-m*_)/y,T=(b*m+v*_)/y,A=(-b*v+m*_)/y,M=w-d,S=k-g,E=T-d,L=A-g;return M*M+S*S>E*E+L*L&&(w=T,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ea,r=ra,n=Yr,a=Uo,i=a.key,o=.7;function s(i){var s,l=[],c=[],u=-1,h=i.length,f=ve(e),p=ve(r);function d(){l.push("M",a(t(c),o))}for(;++u<h;)n.call(this,s=i[u],u)?c.push([+f.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(""):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(i="function"==typeof t?a=t:(a=Vo.get(t)||Uo).key,s):i},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return jo(P)};var Vo=t.map({linear:Uo,"linear-closed":qo,step:function(t){var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];for(;++e<r;)a.push("H",(n[0]+(n=t[e])[0])/2,"V",n[1]);r>1&&a.push("H",n[0]);return a.join("")},"step-before":Ho,"step-after":Go,basis:Xo,"basis-open":function(t){if(t.length<4)return Uo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(Zo(Qo,i)+","+Zo(Qo,o)),--n;for(;++n<a;)e=t[n],i.shift(),i.push(e[0]),o.shift(),o.push(e[1]),$o(r,i,o);return r.join("")},"basis-closed":function(t){var e,r,n=-1,a=t.length,i=a+4,o=[],s=[];for(;++n<4;)r=t[n%a],o.push(r[0]),s.push(r[1]);e=[Zo(Qo,o),",",Zo(Qo,s)],--n;for(;++n<i;)r=t[n%a],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),$o(e,o,s);return e.join("")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,a,i=t[0][0],o=t[0][1],s=t[r][0]-i,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],a=c/r,n[0]=e*n[0]+(1-e)*(i+a*s),n[1]=e*n[1]+(1-e)*(o+a*l);return Xo(t)},cardinal:function(t,e){return t.length<3?Uo(t):t[0]+Yo(t,Wo(t,e))},"cardinal-open":function(t,e){return t.length<4?Uo(t):t[1]+Yo(t.slice(1,-1),Wo(t,e))},"cardinal-closed":function(t,e){return t.length<3?qo(t):t[0]+Yo((t.push(t[0]),t),Wo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Uo(t):t[0]+Yo(t,function(t){var e,r,n,a,i=[],o=function(t){var e=0,r=t.length-1,n=[],a=t[0],i=t[1],o=n[0]=ts(a,i);for(;++e<r;)n[e]=(o+(o=ts(a=i,i=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=ts(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(a=r*r+n*n)>9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Uo(t){return t.length>1?t.join("L"):t+"Z"}function qo(t){return t.join("L")+"Z"}function Ho(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e<r;)a.push("V",(n=t[e])[1],"H",n[0]);return a.join("")}function Go(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e<r;)a.push("H",(n=t[e])[0],"V",n[1]);return a.join("")}function Yo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Uo(t);var r=t.length!=e.length,n="",a=t[0],i=t[1],o=e[0],s=o,l=1;if(r&&(n+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],a=t[1],l=2),e.length>1){s=e[1],i=t[l],l++,n+="C"+(a[0]+o[0])+","+(a[1]+o[1])+","+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1];for(var c=2;c<e.length;c++,l++)i=t[l],s=e[c],n+="S"+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1]}if(r){var u=t[l];n+="Q"+(i[0]+2*s[0]/3)+","+(i[1]+2*s[1]/3)+","+u[0]+","+u[1]}return n}function Wo(t,e){for(var r,n=[],a=(1-e)/2,i=t[0],o=t[1],s=1,l=t.length;++s<l;)r=i,i=o,o=t[s],n.push([a*(o[0]-r[0]),a*(o[1]-r[1])]);return n}function Xo(t){if(t.length<3)return Uo(t);var e=1,r=t.length,n=t[0],a=n[0],i=n[1],o=[a,a,a,(n=t[1])[0]],s=[i,i,i,n[1]],l=[a,",",i,"L",Zo(Qo,o),",",Zo(Qo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),$o(l,o,s);return t.pop(),l.push("L",n),l.join("")}function Zo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Vo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Jo=[0,2/3,1/3,0],Ko=[0,1/3,2/3,0],Qo=[0,1/6,2/3,1/6];function $o(t,e,r){t.push("C",Zo(Jo,e),",",Zo(Jo,r),",",Zo(Ko,e),",",Zo(Ko,r),",",Zo(Qo,e),",",Zo(Qo,r))}function ts(t,e){return(e[1]-t[1])/(e[0]-t[0])}function es(t){for(var e,r,n,a=-1,i=t.length;++a<i;)r=(e=t[a])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function rs(t){var e=ea,r=ea,n=0,a=ra,i=Yr,o=Uo,s=o.key,l=o,c="L",u=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===a?function(){return p}:ve(a);function k(){d.push("M",o(t(v),u),c,l(t(g.reverse()),u),"Z")}for(;++m<y;)i.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(k(),g=[],v=[]);return g.length&&k(),d.length?d.join(""):null}return h.x=function(t){return arguments.length?(e=r=t,h):r},h.x0=function(t){return arguments.length?(e=t,h):e},h.x1=function(t){return arguments.length?(r=t,h):r},h.y=function(t){return arguments.length?(n=a=t,h):a},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(a=t,h):a},h.defined=function(t){return arguments.length?(i=t,h):i},h.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Vo.get(t)||Uo).key,l=o.reverse||o,c=o.closed?"M":"L",h):s},h.tension=function(t){return arguments.length?(u=t,h):u},h}function ns(t){return t.radius}function as(t){return[t.x,t.y]}function is(){return 64}function os(){return"circle"}function ss(t){var e=Math.sqrt(t/At);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}t.svg.line.radial=function(){var t=jo(es);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ho.reverse=Go,Go.reverse=Ho,t.svg.area=function(){return rs(P)},t.svg.area.radial=function(){var t=rs(es);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=Un,r=ns,n=Do,a=Ro;function i(r,n){var a,i,c=o(this,t,r,n),u=o(this,e,r,n);return"M"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(i=u,(a=c).a0==i.a0&&a.a1==i.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+"Z"}function o(t,e,i,o){var s=e.call(t,i,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=a.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return"A"+t+","+t+" 0 "+ +(r>At)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return i.radius=function(t){return arguments.length?(r=ve(t),i):r},i.source=function(e){return arguments.length?(t=ve(e),i):t},i.target=function(t){return arguments.length?(e=ve(t),i):e},i.startAngle=function(t){return arguments.length?(n=ve(t),i):n},i.endAngle=function(t){return arguments.length?(a=ve(t),i):a},i},t.svg.diagonal=function(){var t=Vn,e=Un,r=as;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=as,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=is;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var ls=t.map({circle:ss,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*us)),r=e*us;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Lt);W.transition=function(t){for(var e,r,n=ds||++ms,a=bs(t),i=[],o=gs||{time:Date.now(),ease:ai,delay:0,duration:250},s=-1,l=this.length;++s<l;){i.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(r=c[u])&&_s(r,u,a,n,o),e.push(r)}return ps(i,a,n)},W.interrupt=function(t){return this.each(null==t?hs:fs(bs(t)))};var hs=fs(bs());function fs(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function ps(t,e,r){return U(t,vs),t.namespace=e,t.id=r,t}var ds,gs,vs=[],ms=0;function ys(t,e,r,n){var a=t.id,i=t.namespace;return ut(t,"function"==typeof r?function(t,o,s){t[i][a].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[i][a].tween.set(e,r)}))}function xs(t){return null==t&&(t=""),function(){this.textContent=t}}function bs(t){return null==t?"__transition__":"__transition_"+t+"__"}function _s(t,e,r,n,a){var i,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),h=u[n];function f(r){var a=u.active,f=u[a];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--u.count,delete u[a],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,Te(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,i),u.active=n,h.event&&h.event.start.call(t,t.__data__,e),c=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=h.ease,s=h.duration}function p(a){for(var i=a/s,o=l(i),f=c.length;f>0;)c[--f].call(t,o);if(i>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(i=a.time,o=Te(function(t){var e=h.delay;if(o.t=e+i,e<=t)return f(t-e);o.c=f},0,i),h=u[n]={tween:new b,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}vs.call=W.call,vs.empty=W.empty,vs.node=W.node,vs.size=W.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=vs,vs.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?("__data__"in n&&(r.__data__=n.__data__),_s(r,u,i,a,n[i][a]),e.push(r)):e.push(null)}return ps(o,i,a)},vs.selectAll=function(t){var e,r,n,a,i,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var h=this[c],f=-1,p=h.length;++f<p;)if(n=h[f]){i=n[s][o],r=t.call(n,n.__data__,f,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(a=r[d])&&_s(a,d,s,o,i),e.push(a)}return ps(l,s,o)},vs.filter=function(t){var e,r,n=[];"function"!=typeof t&&(t=ct(t));for(var a=0,i=this.length;a<i;a++){n.push(e=[]);for(var o,s=0,l=(o=this[a]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,a)&&e.push(r)}return ps(n,this.namespace,this.id)},vs.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(a){a[n][r].tween.set(t,e)})},vs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n="transform"==e?gi:Za,a=t.ns.qualify(e);function i(){this.removeAttribute(a)}function o(){this.removeAttributeNS(a.space,a.local)}return ys(this,"attr."+e,r,a.local?function(t){return null==t?o:(t+="",function(){var e,r=this.getAttributeNS(a.space,a.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(a.space,a.local,e(t))})})}:function(t){return null==t?i:(t+="",function(){var e,r=this.getAttribute(a);return r!==t&&(e=n(r,t),function(t){this.setAttribute(a,e(t))})})})},vs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween("attr."+e,n.local?function(t,e){var a=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return a&&function(t){this.setAttributeNS(n.space,n.local,a(t))}}:function(t,e){var a=r.call(this,t,e,this.getAttribute(n));return a&&function(t){this.setAttribute(n,a(t))}})},vs.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.style(r,t[r],e);return this}r=""}function a(){this.style.removeProperty(t)}return ys(this,"style."+t,e,function(e){return null==e?a:(e+="",function(){var n,a=o(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(n=Za(a,e),function(e){this.style.setProperty(t,n(e),r)})})})},vs.styleTween=function(t,e,r){return arguments.length<3&&(r=""),this.tween("style."+t,function(n,a){var i=e.call(this,n,a,o(this).getComputedStyle(this,null).getPropertyValue(t));return i&&function(e){this.style.setProperty(t,i(e),r)}})},vs.text=function(t){return ys(this,"text",t,xs)},vs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},vs.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:("function"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,function(t){t[n][r].ease=e}))},vs.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,"function"==typeof t?function(n,a,i){n[r][e].delay=+t.call(n,n.__data__,a,i)}:(t=+t,function(n){n[r][e].delay=t}))},vs.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,"function"==typeof t?function(n,a,i){n[r][e].duration=Math.max(1,t.call(n,n.__data__,a,i))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},vs.each=function(e,r){var n=this.id,a=this.namespace;if(arguments.length<2){var i=gs,o=ds;try{ds=n,ut(this,function(t,r,i){gs=t[a][n],e.call(t,t.__data__,r,i)})}finally{gs=i,ds=o}}else ut(this,function(i){var o=i[a][n];(o.event||(o.event=t.dispatch("start","end","interrupt"))).on(e,r)});return this},vs.transition=function(){for(var t,e,r,n=this.id,a=++ms,i=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,h=(c=this[s]).length;u<h;u++)(e=c[u])&&_s(e,u,i,a,{time:(r=e[i][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return ps(o,i,a)},t.svg.axis=function(){var e,r=t.scale.linear(),a=ws,i=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==c?f.ticks?f.ticks.apply(f,l):f.domain():c,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):P:e,g=u.selectAll(".tick").data(p,f),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",kt),m=t.transition(g.exit()).style("opacity",kt).remove(),y=t.transition(g.order()).style("opacity",1),x=Math.max(i,0)+s,b=uo(f),_=u.selectAll(".domain").data([0]),w=(_.enter().append("path").attr("class","domain"),t.transition(_));v.append("line"),v.append("text");var k,T,A,M,S=v.select("line"),E=y.select("line"),L=g.select("text").text(d),C=v.select("text"),O=y.select("text"),z="top"===a||"left"===a?-1:1;if("bottom"===a||"top"===a?(n=Ts,k="x",A="y",T="x2",M="y2",L.attr("dy",z<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+z*o+"V0H"+b[1]+"V"+z*o)):(n=As,k="y",A="x",T="y2",M="x2",L.attr("dy",".32em").style("text-anchor",z<0?"end":"start"),w.attr("d","M"+z*o+","+b[0]+"H0V"+b[1]+"H"+z*o)),S.attr(M,z*i),C.attr(A,z*x),E.attr(T,0).attr(M,z*i),O.attr(k,0).attr(A,z*x),f.rangeBand){var I=f,D=I.rangeBand()/2;h=f=function(t){return I(t)+D}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(a=t in ks?t+"":ws,u):a},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(i=+t,o=+arguments[e-1],u):i},u.innerTickSize=function(t){return arguments.length?(i=+t,u):i},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var ws="bottom",ks={top:1,right:1,bottom:1,left:1};function Ts(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate("+(isFinite(n)?n:r(t))+",0)"})}function As(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate(0,"+(isFinite(n)?n:r(t))+")"})}t.svg.brush=function(){var e,r,n=j(f,"brushstart","brush","brushend"),a=null,i=null,s=[0,0],l=[0,0],c=!0,u=!0,h=Ss[0];function f(e){e.each(function(){var e=t.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",v).on("touchstart.brush",v),r=e.selectAll(".background").data([0]);r.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),e.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var n=e.selectAll(".resize").data(h,P);n.exit().remove(),n.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ms[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),n.style("display",f.empty()?"none":null);var o,s=t.transition(e),l=t.transition(r);a&&(o=uo(a),l.attr("x",o[0]).attr("width",o[1]-o[0]),d(s)),i&&(o=uo(i),l.attr("y",o[0]).attr("height",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+s[+/e$/.test(t)]+","+l[+/^s/.test(t)]+")"})}function d(t){t.select(".extent").attr("x",s[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,k=!/^(e|w)$/.test(_)&&i,T=y.classed("extent"),A=xt(m),M=t.mouse(m),S=t.select(o(m)).on("keydown.brush",function(){32==t.event.keyCode&&(T||(h=null,M[0]-=s[1],M[1]-=l[1],T=2),B())}).on("keyup.brush",function(){32==t.event.keyCode&&2==T&&(M[0]+=s[1],M[1]+=l[1],T=0,B())});if(t.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",O):S.on("mousemove.brush",C).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),T)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);v=[s[1-E]-M[0],l[1-L]-M[1]],M[0]=s[E],M[1]=l[L]}else t.event.altKey&&(h=M.slice());function C(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]<h[0])],M[1]=l[+(e[1]<h[1])]):h=null),w&&P(e,a,0)&&(d(b),r=!0),k&&P(e,i,1)&&(g(b),r=!0),r&&(p(b),x({type:"brush",mode:T?"move":"resize"}))}function P(t,n,a){var i,o,f=uo(n),p=f[0],d=f[1],g=M[a],v=a?l:s,m=v[1]-v[0];if(T&&(p-=g,d-=m+g),i=(a?u:c)?Math.max(p,Math.min(d,t[a])):t[a],T?o=(i+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[a]-i))),g<i?(o=i,i=g):o=g),v[0]!=i||v[1]!=o)return a?r=null:e=null,v[0]=i,v[1]=o,!0}function O(){C(),b.style("pointer-events","all").selectAll(".resize").style("display",f.empty()?"none":null),t.select("body").style("cursor",null),S.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),A(),x({type:"brushend"})}b.style("pointer-events","none").selectAll(".resize").style("display",null),t.select("body").style("cursor",y.style("cursor")),x({type:"brushstart"}),C()}return f.event=function(a){a.each(function(){var a=n.of(this,arguments),i={x:s,y:l,i:e,j:r},o=this.__chart__||i;this.__chart__=i,ds?t.select(this).transition().each("start.brush",function(){e=o.i,r=o.j,s=o.x,l=o.y,a({type:"brushstart"})}).tween("brush:brush",function(){var t=Ja(s,i.x),n=Ja(l,i.y);return e=r=null,function(e){s=i.x=t(e),l=i.y=n(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){e=i.i,r=i.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},f.x=function(t){return arguments.length?(h=Ss[!(a=t)<<1|!i],f):a},f.y=function(t){return arguments.length?(h=Ss[!a<<1|!(i=t)],f):i},f.clamp=function(t){return arguments.length?(a&&i?(c=!!t[0],u=!!t[1]):a?c=!!t:i&&(u=!!t),f):a&&i?[c,u]:a?c:i?u:null},f.extent=function(t){var n,o,c,u,h;return arguments.length?(a&&(n=t[0],o=t[1],i&&(n=n[0],o=o[0]),e=[n,o],a.invert&&(n=a(n),o=a(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),i&&(c=t[0],u=t[1],a&&(c=c[1],u=u[1]),r=[c,u],i.invert&&(c=i(c),u=i(u)),u<c&&(h=c,c=u,u=h),c==l[0]&&u==l[1]||(l=[c,u])),f):(a&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],a.invert&&(n=a.invert(n),o=a.invert(o)),o<n&&(h=n,n=o,o=h))),i&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],i.invert&&(c=i.invert(c),u=i.invert(u)),u<c&&(h=c,c=u,u=h))),a&&i?[[n,c],[o,u]]:a?[n,o]:i&&[c,u])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!a&&s[0]==s[1]||!!i&&l[0]==l[1]},t.rebind(f,n,"on")};var Ms={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ss=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Es=ze.format=sr.timeFormat,Ls=Es.utc,Cs=Ls("%Y-%m-%dT%H:%M:%S.%LZ");function Ps(t){return t.toISOString()}function Os(e,r,n){function a(t){return e(t)}function i(e,n){var a=(e[1]-e[0])/n,i=t.bisect(Is,a);return i==Is.length?[r.year,xo(e.map(function(t){return t/31536e6}),n)[2]]:i?r[a/Is[i-1]<Is[i]/a?i-1:i]:[Fs,xo(e,n)[2]]}return a.invert=function(t){return zs(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain(t),a):e.domain().map(zs)},a.nice=function(t,e){var r=a.domain(),n=co(r),o=null==t?i(n,10):"number"==typeof t&&i(n,t);function s(r){return!isNaN(r)&&!t.range(r,zs(+r+1),e).length}return o&&(t=o[0],e=o[1]),a.domain(fo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=zs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=zs(+e+1);return e}}:t))},a.ticks=function(t,e){var r=co(a.domain()),n=null==t?i(r,10):"number"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],zs(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Os(e.copy(),r,n)},mo(a,e)}function zs(t){return new Date(t)}Es.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ps:Cs,Ps.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ps.toString=Cs.toString,ze.second=Fe(function(t){return new Ie(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),ze.seconds=ze.second.range,ze.seconds.utc=ze.second.utc.range,ze.minute=Fe(function(t){return new Ie(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),ze.minutes=ze.minute.range,ze.minutes.utc=ze.minute.utc.range,ze.hour=Fe(function(t){var e=t.getTimezoneOffset()/60;return new Ie(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),ze.hours=ze.hour.range,ze.hours.utc=ze.hour.utc.range,ze.month=Fe(function(t){return(t=ze.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),ze.months=ze.month.range,ze.months.utc=ze.month.utc.range;var Is=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ds=[[ze.second,1],[ze.second,5],[ze.second,15],[ze.second,30],[ze.minute,1],[ze.minute,5],[ze.minute,15],[ze.minute,30],[ze.hour,1],[ze.hour,3],[ze.hour,6],[ze.hour,12],[ze.day,1],[ze.day,2],[ze.week,1],[ze.month,1],[ze.month,3],[ze.year,1]],Rs=Es.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Yr]]),Fs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(zs)},floor:P,ceil:P};Ds.year=ze.year,ze.scale=function(){return Os(t.scale.linear(),Ds,Rs)};var Bs=Ds.map(function(t){return[t[0].utc,t[1]]}),Ns=Ls.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Yr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Bs.year=ze.year.utc,ze.scale.utc=function(){return Os(t.scale.linear(),Bs,Ns)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",js,e)},t.html=function(t,e){return ye(t,"text/html",Vs,e)},t.xml=me(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],165:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],166:[function(t,e,r){"use strict";var n=t("incremental-convex-hull"),a=t("uniq");function i(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,a=r.length,i=0;i<a;++i){var o=n[i]-r[i];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var a=new Array(t-1),i=1;i<t;++i){var o=n[i-1],s=n[i];a[i-1]=[o[1],s[1]]}r&&a.push([-1,a[0][1]],[a[t-1][1],-1]);return a}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var h=t[u],f=new Array(s+1),p=0,d=0;d<s;++d){var g=h[d];f[d]=g,p+=g*g}f[s]=p,l[u]=new i(f,u),c=Math.max(p,c)}a(l,o),r=l.length;for(var v=new Array(r+s+1),m=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,v[0]=x.slice(),m[0]=-1;for(var u=0;u<=s;++u){var f=x.slice();f[u]=1,v[u+1]=f,m[u+1]=-1}for(var u=0;u<r;++u){var b=l[u];v[u+s+1]=b.point,m[u+s+1]=b.index}var _=n(v,!1);_=e?_.filter(function(t){for(var e=0,r=0;r<=s;++r){var n=m[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],f=b[0];b[0]=b[1],b[1]=f}return _}},{"incremental-convex-hull":414,uniq:545}],167:[function(t,e,r){"use strict";e.exports=i;var n=(i.canvas=document.createElement("canvas")).getContext("2d"),a=o([32,126]);function i(t,e){Array.isArray(t)&&(t=t.join(", "));var r,i={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=a),n.font=s+"px "+t;for(var c=0;c<r.length;c++){var u=r[c],h=n.measureText(u[0]).width+n.measureText(u[1]).width,f=n.measureText(u).width;if(Math.abs(h-f)>s*l){var p=(f-h)/s;i[u]=1e3*p}}return i}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),a=t[0];a<t[1];a++){var i=n+String.fromCharCode(a);e.push(i)}return e}i.createPairs=o,i.ascii=a},{}],168:[function(t,e,r){(function(t){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),a=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===a[1]){e.exports=function(t){return n[0]=t,[a[0],a[1]]},e.exports.pack=function(t,e){return a[0]=t,a[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[0]},e.exports.hi=function(t){return n[0]=t,a[1]}}else if(1072693248===a[0]){e.exports=function(t){return n[0]=t,[a[1],a[0]]},e.exports.pack=function(t,e){return a[1]=t,a[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[1]},e.exports.hi=function(t){return n[0]=t,a[0]}}else r=!1}if(!r){var i=new t(8);e.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},e.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},e.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:106}],169:[function(t,e,r){var n=t("abs-svg-path"),a=t("normalize-svg-path"),i={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),a(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[i[r]].apply(t,n)}),t.closePath()}},{"abs-svg-path":62,"normalize-svg-path":453}],170:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],171:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case"object":if("number"==typeof t.length)return function t(e,r,n){var a=0|e[n];if(a<=0)return[];var i,o=new Array(a);if(n===e.length-1)for(i=0;i<a;++i)o[i]=r;else for(i=0;i<a;++i)o[i]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],172:[function(t,e,r){"use strict";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,v=e&&e.length,m=v?e[0]*r:t.length,y=a(t,0,m,r,!0),x=[];if(!y||y.next===y.prev)return x;if(v&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=a(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(g(u));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=i(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<m;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function a(t,e,r,n,a){var i,o;if(a===E(t,e,r,n)>0)for(i=e;i<r;i+=n)o=A(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=A(i,t[i],t[i+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,a,h,f){if(t){!f&&h&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=d(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,h);for(var p,g,v=t;t.prev!==t.next;)if(p=t.prev,g=t.next,h?l(t,n,a,h):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=c(i(t),e,r),e,r,n,a,h,2):2===f&&u(t,e,r,n,a,h):o(i(t),e,r,n,a,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(v(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&y(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function l(t,e,r,n){var a=t.prev,i=t,o=t.next;if(y(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=d(s,l,e,r,n),f=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=h&&g&&g.z<=f;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=f;){if(g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var a=n.prev,o=n.next.next;!x(a,o)&&b(a,n,n.next,o)&&k(a,o)&&k(o,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return i(n)}function u(t,e,r,n,a,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=T(l,c);return l=i(l,l.next),u=i(u,u.next),o(l,e,r,n,a,s),void o(u,e,r,n,a,s)}c=c.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&v(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),k(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=T(e,t);i(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function v(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(k(t,e)&&k(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var a=w(y(t,e,r)),i=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return a!==i&&o!==s||(!(0!==a||!_(t,r,e))||(!(0!==i||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function k(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function T(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function A(t,e,r,n){var a=new S(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(E(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r}},{}],173:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var a=0;a<r;++a){var i=t[a];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),a=0;a<e;++a)o[a]=[];for(var a=0;a<r;++a){var i=t[a];o[i[0]].push(i[1]),o[i[1]].push(i[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t("uniq")},{uniq:545}],174:[function(t,e,r){var n=t("strongly-connected-components");e.exports=function(t){var e,r=[],a=[],i=[],o={},s=[];function l(t){var r,n,u=!1;for(a.push(t),i[t]=!0,r=0;r<s[t].length;r++)(n=s[t][r])===e?(c(e,a),u=!0):i[n]||(u=l(n));if(u)!function t(e){i[e]=!1,o.hasOwnProperty(e)&&Object.keys(o[e]).forEach(function(r){delete o[e][r],i[r]&&t(r)})}(t);else for(r=0;r<s[t].length;r++){n=s[t][r];var h=o[n];h||(h={},o[n]=h),h[n]=!0}return a.pop(),u}function c(t,e){var n=[].concat(e).concat(t);r.push(n)}function u(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter(function(t){return t>=e})}(e);for(var r,a=n(t).components.filter(function(t){return t.length>1}),i=1/0,o=0;o<a.length;o++)for(var s=0;s<a[o].length;s++)a[o][s]<i&&(i=a[o][s],r=o);var l=a[r];return!!l&&{leastVertex:i,adjList:t.map(function(t,e){return-1===l.indexOf(e)?[]:t.filter(function(t){return-1!==l.indexOf(t)})})}}e=0;for(var h=t.length;e<h;){var f=u(e);if(e=f.leastVertex,s=f.adjList){for(var p=0;p<s.length;p++)for(var d=0;d<s[p].length;d++){var g=s[p][d];i[+g]=!1,o[g]={}}l(e),e+=1}else e=h}return r}},{"strongly-connected-components":528}],175:[function(t,e,r){"use strict";var n=t("../../object/valid-value");e.exports=function(){return n(this).length=0,this}},{"../../object/valid-value":207}],176:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Array.from:t("./shim")},{"./is-implemented":177,"./shim":178}],177:[function(t,e,r){"use strict";e.exports=function(){var t,e,r=Array.from;return"function"==typeof r&&(e=r(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},{}],178:[function(t,e,r){"use strict";var n=t("es6-symbol").iterator,a=t("../../function/is-arguments"),i=t("../../function/is-function"),o=t("../../number/to-pos-integer"),s=t("../../object/valid-callable"),l=t("../../object/valid-value"),c=t("../../object/is-value"),u=t("../../string/is-string"),h=Array.isArray,f=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,v,m,y,x,b,_,w,k=arguments[1],T=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&i(this))e=this;else{if(!k){if(a(t))return 1!==(m=t.length)?Array.apply(null,t):((v=new Array(1))[0]=t[0],v);if(h(t)){for(v=new Array(m=t.length),r=0;r<m;++r)v[r]=t[r];return v}}v=[]}if(!h(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(v=new e),b=x.next(),r=0;!b.done;)w=k?f.call(k,T,b.value,r):b.value,e?(p.value=w,d(v,r,p)):v[r]=w,b=x.next(),++r;m=r}else if(u(t)){for(m=t.length,e&&(v=new e),r=0,g=0;r<m;++r)w=t[r],r+1<m&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=k?f.call(k,T,w,g):w,e?(p.value=w,d(v,g,p)):v[g]=w,++g;m=g}if(void 0===m)for(m=o(t.length),e&&(v=new e(m)),r=0;r<m;++r)w=k?f.call(k,T,t[r],r):t[r],e?(p.value=w,d(v,r,p)):v[r]=w;return e&&(p.value=null,v.length=m),v}},{"../../function/is-arguments":179,"../../function/is-function":180,"../../number/to-pos-integer":186,"../../object/is-value":196,"../../object/valid-callable":205,"../../object/valid-value":207,"../../string/is-string":211,"es6-symbol":221}],179:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===a}},{}],180:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call(t("./noop"));e.exports=function(t){return"function"==typeof t&&n.call(t)===a}},{"./noop":181}],181:[function(t,e,r){"use strict";e.exports=function(){}},{}],182:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Math.sign:t("./shim")},{"./is-implemented":183,"./shim":184}],183:[function(t,e,r){"use strict";e.exports=function(){var t=Math.sign;return"function"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],184:[function(t,e,r){"use strict";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],185:[function(t,e,r){"use strict";var n=t("../math/sign"),a=Math.abs,i=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*i(a(t)):t}},{"../math/sign":182}],186:[function(t,e,r){"use strict";var n=t("./to-integer"),a=Math.max;e.exports=function(t){return a(0,n(t))}},{"./to-integer":185}],187:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./valid-value"),i=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(a(r)),n(c),u=s(r),f&&u.sort("function"==typeof f?i.call(f,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e})}}},{"./valid-callable":205,"./valid-value":207}],188:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":189,"./shim":190}],189:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],190:[function(t,e,r){"use strict";var n=t("../keys"),a=t("../valid-value"),i=Math.max;e.exports=function(t,e){var r,o,s,l=i(arguments.length,2);for(t=Object(a(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{"../keys":197,"../valid-value":207}],191:[function(t,e,r){"use strict";var n=t("../array/from"),a=t("./assign"),i=t("./valid-value");e.exports=function(t){var e=Object(i(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,function(e){(o.ensure||e in t)&&(s[e]=t[e])}):a(s,t),s}},{"../array/from":176,"./assign":188,"./valid-value":207}],192:[function(t,e,r){"use strict";var n,a,i,o,s=Object.create;t("./set-prototype-of/is-implemented")()||(n=t("./set-prototype-of/shim")),e.exports=n?1!==n.level?s:(a={},i={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){i[t]="__proto__"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(a,i),Object.defineProperty(n,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:a}),function(t,e){return s(null===t?a:t,e)}):s},{"./set-prototype-of/is-implemented":203,"./set-prototype-of/shim":204}],193:[function(t,e,r){"use strict";e.exports=t("./_iterate")("forEach")},{"./_iterate":187}],194:[function(t,e,r){"use strict";e.exports=function(t){return"function"==typeof t}},{}],195:[function(t,e,r){"use strict";var n=t("./is-value"),a={function:!0,object:!0};e.exports=function(t){return n(t)&&a[typeof t]||!1}},{"./is-value":196}],196:[function(t,e,r){"use strict";var n=t("../function/noop")();e.exports=function(t){return t!==n&&null!==t}},{"../function/noop":181}],197:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.keys:t("./shim")},{"./is-implemented":198,"./shim":199}],198:[function(t,e,r){"use strict";e.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},{}],199:[function(t,e,r){"use strict";var n=t("../is-value"),a=Object.keys;e.exports=function(t){return a(n(t)?Object(t):t)}},{"../is-value":196}],200:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./for-each"),i=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),a(t,function(t,n,a,s){r[n]=i.call(e,o,t,n,a,s)}),r}},{"./for-each":193,"./valid-callable":205}],201:[function(t,e,r){"use strict";var n=t("./is-value"),a=Array.prototype.forEach,i=Object.create;e.exports=function(t){var e=i(null);return a.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{"./is-value":196}],202:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.setPrototypeOf:t("./shim")},{"./is-implemented":203,"./shim":204}],203:[function(t,e,r){"use strict";var n=Object.create,a=Object.getPrototypeOf,i={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return"function"==typeof t&&a(t(e(null),i))===i}},{}],204:[function(t,e,r){"use strict";var n,a,i,o,s=t("../is-object"),l=t("../valid-value"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,h={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError("Prototype must be null or an object")},e.exports=(a=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}())?(2===a.level?a.set?(o=a.set,i=function(t,e){return o.call(n(t,e),e),t}):i=function(t,e){return n(t,e).__proto__=e,t}:i=function t(e,r){var a;return n(e,r),(a=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,a&&u(t.nullPolyfill,"__proto__",h),e},Object.defineProperty(i,"level",{configurable:!1,enumerable:!1,writable:!1,value:a.level})):null,t("../create")},{"../create":192,"../is-object":195,"../valid-value":207}],205:[function(t,e,r){"use strict";e.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},{}],206:[function(t,e,r){"use strict";var n=t("./is-object");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not an Object");return t}},{"./is-object":195}],207:[function(t,e,r){"use strict";var n=t("./is-value");e.exports=function(t){if(!n(t))throw new TypeError("Cannot use null or undefined");return t}},{"./is-value":196}],208:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?String.prototype.contains:t("./shim")},{"./is-implemented":209,"./shim":210}],209:[function(t,e,r){"use strict";var n="razdwatrzy";e.exports=function(){return"function"==typeof n.contains&&(!0===n.contains("dwa")&&!1===n.contains("foo"))}},{}],210:[function(t,e,r){"use strict";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],211:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===a)||!1}},{}],212:[function(t,e,r){"use strict";var n=Object.create(null),a=Math.random;e.exports=function(){var t;do{t=a().toString(36).slice(2)}while(n[t]);return t}},{}],213:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?i.call(e,"key+value")?"key+value":i.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},a&&a(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es5-ext/string/#/contains":208,"es6-symbol":221}],214:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/valid-callable"),i=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,h,f,p,d,g,v,m=arguments[2];if(s(t)||n(t)?r="array":i(t)?r="string":t=o(t),a(e),h=function(){f=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,m,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(v=g.charCodeAt(0))>=55296&&v<=56319&&(g+=t[++p]),l.call(e,m,g,h),!f);++p);else c.call(t,function(t){return l.call(e,m,t,h),f})}},{"./get":215,"es5-ext/function/is-arguments":179,"es5-ext/object/valid-callable":205,"es5-ext/string/is-string":211}],215:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/string/is-string"),i=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new i(t):a(t)?new o(t):new i(t)}},{"./array":213,"./string":218,"./valid-iterable":219,"es5-ext/function/is-arguments":179,"es5-ext/string/is-string":211,"es6-symbol":221}],216:[function(t,e,r){"use strict";var n,a=t("es5-ext/array/#/clear"),i=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),h=Object.defineProperty,f=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");f(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,f(n.prototype,i({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)}),toString:l(function(){return"[object "+(this[u.toStringTag]||"Object")+"]"})},c({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):h(this,"__redo__",l("c",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&a.call(this.__redo__),this.__nextIndex__=0})}))),h(n.prototype,u.iterator,l(function(){return this}))},{d:152,"d/auto-bind":151,"es5-ext/array/#/clear":175,"es5-ext/object/assign":188,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207,"es6-symbol":221}],217:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/is-value"),i=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!a(t)&&(!!s(t)||(!!i(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":179,"es5-ext/object/is-value":196,"es5-ext/string/is-string":211,"es6-symbol":221}],218:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",i("",t.length))},a&&a(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:i(function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,i("c","String Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es6-symbol":221}],219:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":217}],220:[function(t,e,r){(function(n,a){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},i=0,o=void 0,s=void 0,l=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(s?s(v):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},h=u.MutationObserver||u.WebKitMutationObserver,f="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(v,1)}}var g=new Array(1e3);function v(){for(var t=0;t<i;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}i=0}var m,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,a=new this.constructor(A);void 0===a[T]&&U(a);var i,o=n._state;return o?(i=r[o-1],l(function(){return j(o,a,i,n._result)})):R(n,a,t,e),a}function k(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(A);return O(e,t),e}f?_=function(){return n.nextTick(v)}:h?(y=0,x=new h(v),b=document.createTextNode(""),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((m=new MessageChannel).port1.onmessage=v,_=function(){return m.port2.postMessage(0)}):_=void 0===c&&"function"==typeof t?function(){try{var e=t("vertx");return o=e.runOnLoop||e.runOnContext,function(){o(v)}}catch(t){return d()}}():d();var T=Math.random().toString(36).substring(16);function A(){}var M=void 0,S=1,E=2,L=new B;function C(t){try{return t.then}catch(t){return L.error=t,L}}function P(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?I(t,e._result):e._state===E?D(t,e._result):R(e,void 0,function(e){return O(t,e)},function(e){return D(t,e)})}(t,r):n===L?D(t,L.error):void 0===n?I(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,a=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?O(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&a&&(n=!0,D(t,a))},t)}(t,r,n):I(t,r)}function O(t,e){var r;t===e?D(t,new TypeError("You cannot resolve a promise with itself")):"function"==typeof(r=e)||"object"==typeof r&&null!==r?P(t,e,C(e)):I(t,e)}function z(t){t._onerror&&t._onerror(t._result),F(t)}function I(t,e){t._state===M&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(F,t))}function D(t,e){t._state===M&&(t._state=E,t._result=e,l(z,t))}function R(t,e,r,n){var a=t._subscribers,i=a.length;t._onerror=null,a[i]=e,a[i+S]=r,a[i+E]=n,0===i&&t._state&&l(F,t)}function F(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,a=void 0,i=t._result,o=0;o<e.length;o+=3)n=e[o],a=e[o+r],n?j(r,n,a,i):a(i);t._subscribers.length=0}}function B(){this.error=null}var N=new B;function j(t,r,n,a){var i=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(i){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,a))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void D(r,new TypeError("A promises callback cannot return that same promise."))}else o=a,l=!0;r._state!==M||(i&&l?O(r,o):c?D(r,s):t===S?I(r,o):t===E&&D(r,o))}var V=0;function U(t){t[T]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[T]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error("Array Methods must be provided an Array"))}function H(t){this[T]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof H?function(t,e){try{e(function(e){O(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}function G(){var t=void 0;if("undefined"!=typeof a)t=a;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===r&&!e.cast)return}t.Promise=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===M&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var a=C(t);if(a===w&&t._state!==M)this._settledAt(t._state,e,t._result);else if("function"!=typeof a)this._remaining--,this._result[e]=t;else if(r===H){var i=new r(A);P(i,t,a),this._willSettleAt(i,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===M&&(this._remaining--,t===E?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(E,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var a=t.length,i=0;i<a;i++)e.resolve(t[i]).then(r,n)}):new e(function(t,e){return e(new TypeError("You must pass an array to race."))})},H.resolve=k,H.reject=function(t){var e=new this(A);return D(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:483}],221:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Symbol:t("./polyfill")},{"./is-implemented":222,"./polyfill":224}],222:[function(t,e,r){"use strict";var n={object:!0,symbol:!0};e.exports=function(){var t;if("function"!=typeof Symbol)return!1;t=Symbol("test symbol");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],223:[function(t,e,r){"use strict";e.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&("Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))}},{}],224:[function(t,e,r){"use strict";var n,a,i,o,s=t("d"),l=t("./validate-symbol"),c=Object.create,u=Object.defineProperties,h=Object.defineProperty,f=Object.prototype,p=c(null);if("function"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||"")];)++n;return d[t+=n||""]=!0,h(f,e="@@"+t,s.gs(null,function(t){r||(r=!0,h(this,e,s(t)),r=!1)})),e});i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return a(t)},e.exports=a=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return o?n(e):(r=c(i.prototype),e=void 0===e?"":String(e),u(r,{__description__:s("",e),__name__:s("",g(e))}))},u(a,{for:s(function(t){return p[t]?p[t]:p[t]=a(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s("",n&&n.hasInstance||a("hasInstance")),isConcatSpreadable:s("",n&&n.isConcatSpreadable||a("isConcatSpreadable")),iterator:s("",n&&n.iterator||a("iterator")),match:s("",n&&n.match||a("match")),replace:s("",n&&n.replace||a("replace")),search:s("",n&&n.search||a("search")),species:s("",n&&n.species||a("species")),split:s("",n&&n.split||a("split")),toPrimitive:s("",n&&n.toPrimitive||a("toPrimitive")),toStringTag:s("",n&&n.toStringTag||a("toStringTag")),unscopables:s("",n&&n.unscopables||a("unscopables"))}),u(i.prototype,{constructor:s(a),toString:s("",function(){return this.__name__})}),u(a.prototype,{toString:s(function(){return"Symbol ("+l(this).__description__+")"}),valueOf:s(function(){return l(this)})}),h(a.prototype,a.toPrimitive,s("",function(){var t=l(this);return"symbol"==typeof t?t:t.toString()})),h(a.prototype,a.toStringTag,s("c","Symbol")),h(i.prototype,a.toStringTag,s("c",a.prototype[a.toStringTag])),h(i.prototype,a.toPrimitive,s("c",a.prototype[a.toPrimitive]))},{"./validate-symbol":225,d:152}],225:[function(t,e,r){"use strict";var n=t("./is-symbol");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},{"./is-symbol":223}],226:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,a=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[a*t[12]-t[8],a*t[13]-t[9],a*t[14]-t[10],a*t[15]-t[11]]]}},{}],227:[function(t,e,r){"use strict";var n=t("is-string-blank");e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},{"is-string-blank":424}],228:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if("number"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),a=t("binary-search-bounds");function i(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=a.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=a.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,h=this.bounds;if(o<0)for(var f=u-1,p=0;p<u;++p,--f)s[p]=l[f];else if(o>=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--f)s[p]=l[f]+d*c[f]}else{f=u*(o+1)-1;var g=e[o],v=e[o+1]-g||1,m=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--f)m[p]=l[f],x[p]=c[f]*v,y[p]=l[f+u],b[p]=c[f+u]*v,_=_&&m[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=m[p];else n(m,x,y,b,(t-g)/v,s)}var w=h[0],k=h[1];for(p=0;p<u;++p)s[p]=i(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,i=a.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(i>=r-1)for(var u=s.length-1,h=(e[r-1],0);h<c;++h,--u)o[h]=l[u];else{u=c*(i+1)-1;var f=e[i],p=e[i+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(h=0;h<c;++h,--u)d[h]=s[u],v[h]=l[u]*p,g[h]=s[u+c],m[h]=l[u+c]*p,y=y&&d[h]===g[h]&&v[h]===m[h]&&0===v[h];if(y)for(h=0;h<c;++h)o[h]=0;else{n.derivative(d,v,g,m,(t-f)/p,o);for(h=0;h<c;++h)o[h]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var h=0;h<r;++h)n.push(n[o++]),a.push(0);this._time.push(t);for(h=r;h>0;--h)n.push(i(l[h-1],c[h-1],arguments[h])),a.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=i(c[f-1],u[f-1],arguments[f]);n.push(p),a.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(i(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(i(l[f-1],c[f-1],n[o++]+p)),a.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,a=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)n.push(i(l[h],c[h],n[o]+u*a[o])),a.push(0),o+=1}}},{"binary-search-bounds":92,"cubic-hermite":146}],229:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var a,i,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(a=0,o=r;a<t.length;a++)for(i=0;i<l;i++)e[o++]=null===t[a][i]?NaN:t[a][i]}else if(e&&"string"!=typeof e)e.set(t,r);else{var h=n(e||"float32");if(Array.isArray(t)||"array"===e)for(e=new h(t.length+r),a=0,o=r,s=e.length;o<s;o++,a++)e[o]=null===t[a]?NaN:t[a];else 0===r?e=new h(t):(e=new h(t.length+r)).set(t,r)}return e}},{dtype:170}],230:[function(t,e,r){"use strict";var n=t("css-font/stringify"),a=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement("canvas"),i=t.font,o="number"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||a;i&&"string"!=typeof i&&(i=n(i));if(Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");e=e.slice(),r.width=e[0],r.height=e[1];var h=r.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,r.width,r.height),h.font=i,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";for(var f=o[0]/2,p=o[1]/2,c=0;c<s.length;c++)h.fillText(s[c],f,p),(f+=o[0])>e[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":143}],231:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return a(n.cache[r],c);var u=e.canvas||n.canvas,h=u.getContext("2d"),f={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d={top:0};h.clearRect(0,0,p,p),h.textBaseline="top",h.fillStyle="black",h.fillText("H",0,0);var g=i(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline="bottom",h.fillText("H",0,p);var v=i(h.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-v+g,h.clearRect(0,0,p,p),h.textBaseline="alphabetic",h.fillText("H",0,p);var m=p-i(h.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=m,h.clearRect(0,0,p,p),h.textBaseline="middle",h.fillText("H",0,.5*p);var y=i(h.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="hanging",h.fillText("H",0,.5*p);var x=i(h.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="ideographic",h.fillText("H",0,p);var b=i(h.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.upper,0,0),d.upper=i(h.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.lower,0,0),d.lower=i(h.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.tittle,0,0),d.tittle=i(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.ascent,0,0),d.ascent=i(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.descent,0,0),d.descent=o(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.overshoot,0,0);var _=o(h.getImageData(0,0,p,p));d.overshoot=_-m}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,a(d,c)}function a(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function i(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],232:[function(t,e,r){"use strict";e.exports=function(t){return new c(t||d,null)};var n=0,a=1;function i(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function o(t){return new i(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new i(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,"keys",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,"values",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,"length",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],h=[];o;){var f=r(t,o.key);u.push(o),h.push(f),o=f<=0?o.left:o.right}u.push(new i(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];h[p]<=0?u[p]=new i(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new i(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===a||o._color===a)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(v=g.right)||v._color!==n){if(g._color=n,g.left=d.right,d._color=a,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).left===g?m.left=d:m.right=d;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else{if(!(v=g.right)||v._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=a,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).left===g?m.left=o:m.right=o;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else if(d.right===o){if(!(v=g.left)||v._color!==n){if(g._color=n,g.right=d.left,d._color=a,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).right===g?m.right=d:m.left=d;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}else{var v;if(!(v=g.left)||v._color!==n){var m;if(d.left=o.right,g._color=n,g.right=o.left,o._color=a,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).right===g?m.right=o:m.left=o;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}}return u[0]._color=a,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,a){if(r(e,a.key)<=0){var i;if(a.left&&(i=t(e,r,n,a.left)))return i;if(i=n(a.key,a.value))return i}if(a.right)return t(e,r,n,a.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,a,i){var o,s=n(e,i.key),l=n(r,i.key);if(s<=0){if(i.left&&(o=t(e,r,n,a,i.left)))return o;if(l>0&&(o=a(i.key,i.value)))return o}if(l>0&&i.right)return t(e,r,n,a,i.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),u.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new h(this,n);r=a<=0?r.left:r.right}return new h(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=h.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new h(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new i(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new i(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var h=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var f=e[h-1];e.push(new i(r._color,f.key,f.value,r.left,r.right,r._count)),e[h-1].key=r.key,e[h-1].value=r.value;for(u=e.length-2;u>=h;--u)r=e[u],e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count);e[h-1].left=e[h]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=a;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,i,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=a);if((r=t[u-1]).left===e){if((i=r.right).right&&i.right._color===n)return c=(i=r.right=o(i)).right=o(i.right),r.right=i.left,i.left=r,i.right=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),void(t[u-1]=i);if(i.left&&i.left._color===n)return c=(i=r.right=o(i)).left=o(i.left),r.right=c.left,i.left=c.right,c.left=r,c.right=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).left===r?h.left=c:h.right=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.right=s(n,i));r.right=s(n,i);continue}i=o(i),r.right=i.left,i.left=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((i=r.left).left&&i.left._color===n)return c=(i=r.left=o(i)).left=o(i.left),r.left=i.right,i.right=r,i.left=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),void(t[u-1]=i);if(i.right&&i.right._color===n)return c=(i=r.left=o(i)).right=o(i.right),r.left=c.right,i.right=c.left,c.right=r,c.left=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).right===r?h.right=c:h.left=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.left=s(n,i));r.left=s(n,i);continue}var h;i=o(i),r.left=i.right,i.right=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(f,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new i(n._color,n.key,t,n.left,n.right,n._count);for(var a=e.length-2;a>=0;--a)(n=e[a]).left===e[a+1]?r[a]=new i(n._color,n.key,n.value,r[a+1],n.right,n._count):r[a]=new i(n._color,n.key,n.value,n.left,r[a+1],n._count);return new c(this.tree._compare,r[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],233:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number("0/0");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r},e.exports.log=o},{}],234:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf("webgl")&&i.push("experimental-"+t);for(var o=0;o<i.length;o++)if(n=r.getContext(i[o],a))return n}catch(t){n=null}return n||null}},{}],235:[function(t,e,r){"use strict";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t("./lib/text.js"),a=t("./lib/lines.js"),i=t("./lib/background.js"),o=t("./lib/cube.js"),s=t("./lib/ticks.js"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=i(t)}var h=u.prototype;function f(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}h.update=function(t){function e(e,r,n){if(n in t){var a,i=t[n],o=this[n];(e?Array.isArray(i)&&Array.isArray(i[0]):Array.isArray(i))?this[n]=a=[r(i[0]),r(i[1]),r(i[2])]:this[n]=a=[r(i),r(i),r(i)];for(var s=0;s<3;++s)if(a[s]!==o[s])return!0}return!1}t=t||{};var r,i=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),u=!1,h=!1;if("bounds"in t)for(var f=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)f[p][d]!==this.bounds[p][d]&&(h=!0),this.bounds[p][d]=f[p][d];if("ticks"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else i("tickSpacing")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),h=!0,u=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort(function(t,e){return t.x-e.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),i("tickSize"),i("tickAngle"),i("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),o("labelEnable"),i("labelSize"),i("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),i("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),i("lineTickLength"),i("lineTickWidth"),c("lineTickColor"),o("gridEnable"),i("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),i("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=a(this.gl,this.bounds,this.ticks))};var p=[new f,new f,new f];function d(t,e,r,n,a){for(var i=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=i,f=s,p=o,d=l;c&1<<u&&(h=s,f=i,p=l,d=o),h[u]=r[0][u],f[u]=r[1][u],a[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};h.isOpaque=function(){return!0},h.isTransparent=function(){return!1},h.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],x=[0,0,0];h.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,u=o(r,n,a,i,s),h=u.cubeEdges,f=u.axis,b=n[12],_=n[13],w=n[14],k=n[15],T=(s?2:1)*this.pixelRatio*(a[3]*b+a[7]*_+a[11]*w+a[15]*k)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=h[A],this.lastCubeProps.axis[A]=f[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,h,f);e=this.gl;var S,E=g;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=f[A]:E[A]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(A=0;A<3;++A){var L=[0,0,0];f[A]>0?L[A]=i[1][A]:L[A]=i[0][A];for(var C=0;C<2;++C){var P=(A+1+C)%3,O=(A+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,O,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(A+1+C)%3,O=(A+1+(1^C))%3;this.zeroEnable[O]&&Math.min(i[0][O],i[1][O])<=0&&Math.max(i[0][O],i[1][O])>=0&&this._lines.drawZero(P,O,this.bounds,L,this.zeroLineColor[O],this.zeroLineWidth[O]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=c(m,M[A].primalMinor),I=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=T/r[5*C];z[C]*=D[C]*R,I[C]*=D[C]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,I,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0?N(n):i>0&&l<0?N(n):i<0&&l>0?N(n):i<0&&l<0?N(n):o>0&&s>0?N(a):o>0&&s<0?N(a):o<0&&s>0?N(a):o<0&&s<0&&N(a)}for(A=0;A<3;++A){var V=M[A].primalMinor,U=M[A].mirrorMinor,q=c(x,M[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(q[C]+=T*V[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,F=1,"auto"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]),B=[0,0,0],j(A,V,U);for(C=0;C<3;++C)q[C]+=T*V[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),"auto"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(C=0;C<3;++C)q[C]+=T*V[C]*this.labelPad[C]/r[5*C];q[A]+=.5*(i[0][A]+i[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},h.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":236,"./lib/cube.js":237,"./lib/lines.js":238,"./lib/text.js":240,"./lib/ticks.js":241}],236:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var g=-1;g<=1;g+=2)h[u]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var v=c;c=u,u=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=i(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,m,x,b)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:a,colors:i},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":239,"gl-buffer":243,"gl-vao":328}],237:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,p){a(s,e,t),a(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=i[x][2];for(var b=0;b<2;++b){u[1]=i[b][1];for(var _=0;_<2;++_)u[0]=i[_][0],f(l[y],u,s),y+=1}}for(var w=-1,x=0;x<8;++x){for(var k=l[x][3],T=0;T<3;++T)c[x][T]=l[x][T]/k;p&&(c[x][2]*=-1),k<0&&(w<0?w=x:c[x][2]<c[w][2]&&(w=x))}if(w<0){w=0;for(var A=0;A<3;++A){for(var M=(A+2)%3,S=(A+1)%3,E=-1,L=-1,C=0;C<2;++C){var P=C<<A,O=P+(C<<M)+(1-C<<S),z=P+(1-C<<M)+(C<<S);o(c[P],c[O],c[z],h)<0||(C?E=1:L=1)}if(E<0||L<0)L>E&&(w|=1<<A);else{for(var C=0;C<2;++C){var P=C<<A,O=P+(C<<M)+(1-C<<S),z=P+(1-C<<M)+(C<<S),I=d([l[P],l[O],l[z],l[P+(1<<M)+(1<<S)]]);C?E=I:L=I}L>E&&(w|=1<<A)}}}for(var D=7^w,R=-1,x=0;x<8;++x)x!==w&&x!==D&&(R<0?R=x:c[R][1]>c[x][1]&&(R=x));for(var F=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D){F<0&&(F=B);var S=c[B];S[0]<c[F][0]&&(F=B)}}for(var N=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D&&B!==F){N<0&&(N=B);var S=c[B];S[0]>c[N][0]&&(N=B)}}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^N)]=R&N;var V=7^N;V===w||V===D?(V=7^F,j[n.log2(N^V)]=V&N):j[n.log2(F^V)]=V&F;for(var U=v,q=w,A=0;A<3;++A)U[A]=q&1<<A?-1:1;return m};var n=t("bit-twiddle"),a=t("gl-mat4/multiply"),i=t("split-polygon"),o=t("robust-orientation"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),h=[0,0,0];function f(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var a=0;a<3;++a)t[n]+=e[a]*r[4*a+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=i.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],a=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-a,h=l[0]/l[3]-n,f=l[1]/l[3]-a;o+=Math.abs(c*f-u*h)}return o}var g=[1,1,1],v=[0,0,0],m={cubeEdges:g,axis:v}},{"bit-twiddle":93,"gl-mat4/multiply":269,"robust-orientation":508,"split-polygon":525}],238:[function(t,e,r){"use strict";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h<3;++h){for(var f=o.length/3|0,d=0;d<r[h].length;++d){var g=+r[h][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;s[h]=f,l[h]=v-f;for(var f=o.length/3|0,m=0;m<r[h].length;++m){var g=+r[h][m].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;c[h]=f,u[h]=v-f}var y=n(t,new Float32Array(o)),x=a(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=i(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function h(t){return t[0]=t[1]=t[2]=0,t}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,a,i,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=a,this.tickOffset=i,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,a){var i=h(s);this.shader.uniforms.majorAxis=s,i[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=i;var o,u=f(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=n,(o=h(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=h(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,a){if(this.tickCount[t]){var i=h(o);i[t]=1,this.shader.uniforms.majorAxis=i,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=a;var s=h(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,a,i){if(this.gridCount[t]){var u=h(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=f(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=h(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=h(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,a,i){var o=h(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=f(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=h(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{"./shaders":239,"gl-buffer":243,"gl-vao":328}],239:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n  vec3 major = position.x * majorAxis;\n  vec3 minor = position.y * minorAxis;\n\n  vec3 vPosition = major + minor + offset;\n  vec3 pPosition = project(vPosition);\n  vec3 offset = project(vPosition + screenAxis * position.z);\n\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);r.line=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"}])};var s=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n  vec3 A = project(a);\n  vec3 B = project(b);\n\n  return atan(\n    (B.y - A.y) * resolution.y,\n    (B.x - A.x) * resolution.x\n  );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio =       alignOpt.y;\nbool enableAlign =    (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n  return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n  return mod_angle((a < 0.0) ?\n    a + TWO_PI :\n    a\n  );\n}\n\nfloat look_upwards(float a) {\n  float b = positive_angle(a);\n  return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n    b - PI :\n    b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n  // ratio controls the ratio between being horizontal to (vertical + horizontal)\n  // if ratio is set to 0.5 then it is 50%, 50%.\n  // when using a higher ratio e.g. 0.75 the result would\n  // likely be more horizontal than vertical.\n\n  float b = positive_angle(a);\n\n  return\n    (b < (      ratio) * HALF_PI) ? 0.0 :\n    (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n    (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n    (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n                                    0.0;\n}\n\nfloat roundTo(float a, float b) {\n  return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n  float b = positive_angle(a);\n  float div = TWO_PI / float(n);\n  float c = roundTo(b, div);\n  return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n  return\n    (option >  2) ? look_round_n_directions(rawAngle + delta, option) :       // option 3-n: round to n directions\n    (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n    (option == 1) ? rawAngle + delta :       // use free angle, and flip to align with one direction of the axis\n    (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n    (option ==-1) ? 0.0 :                    // useful for backward compatibility, all texts remains horizontal\n                    rawAngle;                // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n                   (axis.y == 0.0) &&\n                   (axis.z == 0.0);\n\nvoid main() {\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n\n  float beta = angle; // i.e. user defined attributes for each tick\n\n  float axisAngle;\n  float clipAngle;\n  float flip;\n\n  if (enableAlign) {\n    axisAngle = (isAxisTitle) ? HALF_PI :\n                      computeViewAngle(dataPosition, dataPosition + axis);\n    clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n    axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n    clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n    flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n                vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n    beta += applyAlignOption(clipAngle, flip * PI);\n  }\n\n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n\n  mat2 planeXform = scale * mat2(\n     cos(beta), sin(beta),\n    -sin(beta), cos(beta)\n  );\n\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute clip position\n  vec3 clipPosition = project(dataPosition);\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec3(viewOffset, 0.0);\n\n  //Done\n  gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);r.text=function(t){return a(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n  vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n  vec3 realNormal = signAxis * normal;\n\n  if(dot(realNormal, enable) > 0.0) {\n    vec3 minRange = min(bounds[0], bounds[1]);\n    vec3 maxRange = max(bounds[0], bounds[1]);\n    vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\n  } else {\n    gl_Position = vec4(0,0,0,0);\n  }\n\n  colorChannel = abs(realNormal);\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n  gl_FragColor = colorChannel.x * colors[0] +\n                 colorChannel.y * colors[1] +\n                 colorChannel.z * colors[2];\n}"]);r.bg=function(t){return a(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":303,glslify:410}],240:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,i,s,l){var u=n(t),h=a(t,[{buffer:u,size:3}]),f=o(t);f.attributes.position.location=0;var p=new c(t,f,u,h);return p.update(e,r,i,s,l),p};var n=t("gl-buffer"),a=t("gl-vao"),i=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,h=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return i(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:a,styletags:s}));for(var h=(n||12)/12,f=u.positions,p=u.cells,d=0,g=p.length;d<g;++d)for(var v=p[d],m=2;m>=0;--m){var y=f[v[m]];o.push(h*y[0],-h*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var g=0;g<n[d].length;++g)n[d][g].text&&s(n[d][g].x,n[d][g].text,n[d][g].font||a,n[d][g].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=h,this.labelCount=f},u.drawTicks=function(t,e,r,n,a,i,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,a,i,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t("_process"))},{"./shaders":239,_process:483,"gl-buffer":243,"gl-vao":328,"vectorize-text":548}],241:[function(t,e,r){"use strict";function n(t,e){var r=t+"",n=r.indexOf("."),a=0;n>=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/i,c=o%i;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),a){for(var h=""+c;h.length<a;)h="0"+h;return u+"."+h}return u}r.create=function(t,e){for(var r=[],a=0;a<3;++a){for(var i=[],o=(t[0][a],t[1][a],0);o*e[a]<=t[1][a];++o)i.push({x:o*e[a],text:n(e[a],o)});for(var o=-1;o*e[a]>=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var a=t[r][n],i=e[r][n];if(a.x!==i.x||a.text!==i.text||a.font!==i.font||a.fontColor!==i.fontColor||a.fontSize!==i.fontSize||a.dx!==i.dx||a.dy!==i.dy)return!1}}return!0}},{}],242:[function(t,e,r){"use strict";e.exports=function(t,e,r,l,h){var f=e.model||c,p=e.view||c,m=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(h=h||i(f,p,m,x,y)).axis;o(u,p,f),o(u,m,u);for(var _=g,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var k=n(s(u,u));s(u,u);for(var T=0;T<3;++T){var A=(T+1)%3,M=(T+2)%3,S=v;t:for(var w=0;w<2;++w){var E=[];if(b[T]<0!=!!w){S[T]=x[w][T];for(var L=0;L<2;++L){S[A]=x[L^w][A];for(var C=0;C<2;++C)S[M]=x[C^L^w][M],E.push(S.slice())}for(var P=y?5:4,L=P;L===P;++L){if(0===E.length)continue t;E=a.positive(E,k[L])}for(var L=0;L<E.length;++L)for(var M=E[L],O=d(v,u,M,r,l),C=0;C<3;++C)_[C].lo=Math.min(_[C].lo,M[C]),_[C].hi=Math.max(_[C].hi,M[C]),C!==T&&(_[C].pixelsPerDataUnit=Math.min(_[C].pixelsPerDataUnit,Math.abs(O[C])))}}}return _};var n=t("extract-frustum-planes"),a=t("split-polygon"),i=t("./lib/cube.js"),o=t("gl-mat4/multiply"),s=t("gl-mat4/transpose"),l=t("gl-vec4/transformMat4"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function h(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var f=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,a){for(var i=0;i<3;++i){for(var o=f,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[i]+=1,l(s,s,e),s[3]<0&&(t[i]=1/0),o[i]-=1,l(o,o,e),o[3]<0&&(t[i]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,h=(o[1]/o[3]-s[1]/s[3])*a;t[i]=.25*Math.sqrt(u*u+h*h)}return t}var g=[new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0)],v=[0,0,0]},{"./lib/cube.js":237,"extract-frustum-planes":226,"gl-mat4/multiply":269,"gl-mat4/transpose":278,"gl-vec4/transformMat4":399,"split-polygon":525}],243:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=t("ndarray-ops"),i=t("ndarray"),o=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function s(t,e,r,n,a){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=a}var l=s.prototype;function c(t,e,r,n,a,i){var o=a.length*a.BYTES_PER_ELEMENT;if(i<0)return t.bufferData(e,a,n),o;if(o+i>r)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,i,a),r}function u(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i<a;++i)r[i]=t[i];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if("number"!=typeof e&&(e=-1),this.bind(),"object"==typeof t&&"undefined"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension("OES_element_index_uint")&&"uint16"!==r?"uint32":"uint16";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=i(s,t.shape);a.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],244:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),i;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,g=[],v=1/0,m=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),c=Math.min(x[1],c),u=Math.max(x[1],u),h=Math.min(x[2],h),f=Math.max(x[2],f);var b=a[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(v=Math.min(v,_),m=!1):m=!0}m||(p=x,d=b),g.push(b)}var w=[s,c,h],k=[l,u,f];e&&(e[0]=w,e[1]=k),0===o&&(o=1);var T=1/o;isFinite(v)||(v=1),i.vectorScale=v;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*T),i.coneScale=A;y=0;for(var M=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],L=x[2],C=g[y],P=n.length(C)*T,O=0;O<8;O++){i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vertexIntensity.push(P,P,P),i.vertexIntensity.push(P,P,P);var z=i.positions.length;i.cells.push([z-6,z-5,z-4],[z-3,z-2,z-1])}return i};var a=t("./lib/shaders");e.exports.createMesh=t("./create_mesh"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:a,traceType:"cone"})}},{"./create_mesh":245,"./lib/shaders":246,"gl-vec3":347}],245:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("gl-mat4/multiply"),l=t("gl-mat4/invert"),c=t("ndarray"),u=t("colormap"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e,r,n,a,i,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=a,this.triangleVectors=i,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=h,this._view=h,this._projection=h,this._resolution=[1,1]}var p=f.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=a;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var v=0;v<p.length;++v){var m=p[v];d=Math.min(d,m),g=Math.max(g,m)}else for(v=0;v<n.length;++v){m=n[v][2];d=Math.min(d,m),g=Math.max(g,m)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(v=0;v<n.length;++v)for(var y=n[v],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;t:for(v=0;v<r.length;++v){var _=r[v];switch(_.length){case 3:for(x=0;x<3;++x){y=n[k=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue t}for(x=0;x<3;++x){var k;y=n[k=_[2-x]];i.push(y[0],y[1],y[2],y[3]);var T=a[k];o.push(T[0],T[1],T[2],T[3]||0);var A,M=f;3===M.length?s.push(M[0],M[1],M[2],1):s.push(M[0],M[1],M[2],M[3]),A=p?[(p[k]-d)/(g-d),0]:[(y[2]-d)/(g-d),0],l.push(A[0],A[1]),h.push(v)}b+=1}}this.triangleCount=b,this.trianglePositions.update(i),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(h))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var c={model:r,view:n,projection:a,inverseModel:h.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/f}if(this.triangleCount>0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?a.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),u=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),h=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=t.LINEAR_MIPMAP_LINEAR,h.magFilter=t.LINEAR;var p=a(t),d=a(t),g=a(t),v=a(t),m=a(t),y=new f(t,h,l,u,p,d,m,g,v,i(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return y.update(e),y}},{colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-shader":303,"gl-texture2d":323,"gl-vao":328,ndarray:451}],246:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * conePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\n  vec4 t_position  = view * conePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = conePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n  gl_Position = projection * view * conePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:410}],247:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34000:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],248:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":247}],249:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=a(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=i(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,a=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var i=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(a[3]*i+a[7]*s+a[11]*l+a[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var a=-1;a<=1;a+=2){var i=[0,0,0];i[(n+e)%3]=a,r.push(i)}t[e]=r}return t}();function h(t,e,r,n){for(var a=u[n],i=0;i<a.length;++i){var o=a[i];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return a.length}l.update=function(t){"lineWidth"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var a=[],i=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<i;++l){for(var u=r[l],f=0;f<3;++f)if(isNaN(u[f])||!isFinite(u[f]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length?d=[d[0],d[1],d[2],1]:4===d.length&&(d=[d[0],d[1],d[2],d[3]],!this.hasAlpha&&d[3]<1&&(this.hasAlpha=!0)),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(a)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":250,"gl-buffer":243,"gl-vao":328}],250:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n  vec4 worldPosition  = model * vec4(position, 1.0);\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n  gl_Position         = projection * view * worldPosition;\n  fragColor           = color;\n  fragPosition        = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":303,glslify:410}],251:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){a||(a=t.FRAMEBUFFER_UNSUPPORTED,i=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var a=new Array(r),i=0;i<n;++i)a[i]=t.COLOR_ATTACHMENT0+i;for(var i=n;i<r;++i)a[i]=t.NONE;l[n]=a}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if("number"!=typeof e)throw new Error("gl-fbo: Missing shape parameter");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var v=!1;"stencil"in n&&(v=!!n.stencil);return new d(t,e,r,f,h,g,v,c)};var a,i,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case a:throw new Error("gl-fbo: Framebuffer unsupported");case i:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(t,e,r,a,i,o){if(!a)return null;var s=n(t,e,r,i,a);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,a){var i=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,i),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,a,t.RENDERBUFFER,i),i}function d(t,e,r,n,a,i,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(a);for(var d=0;d<a;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=i,this._useStencil=o;var g=this,v=[0|e,0|r];Object.defineProperties(v,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=v,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),a=t._shape[0],i=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,v=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var m=0;m<o;++m)t.color[m]=f(r,a,i,v,r.RGBA,r.COLOR_ATTACHMENT0+m);0===o?(t._color_rb=p(r,a,i,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=f(r,a,i,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=f(r,a,i,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,a,i,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,a,i,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,a,i,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),m=0;m<t.color.length;++m)t.color[m].dispose(),t.color[m]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),h(x)}u(r,e)}(this)}var g=d.prototype;function v(t,e,r){if(t._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,a=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var i=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,i),h(s)),u(n,i)}}Object.defineProperties(g,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error("gl-fbo: Shape vector must be length 2");var e=0|t[0],r=0|t[1];return v(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return v(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,v(this,this._shape[0],t),t},enumerable:!1}}),g.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{"gl-texture2d":323}],252:[function(t,e,r){var n=t("sprintf-js").sprintf,a=t("gl-constants/lookup"),i=t("glsl-shader-name"),o=t("add-line-numbers");e.exports=function(t,e,r){"use strict";var s=i(e)||"of unknown name (see npm glsl-shader-name)",l="unknown type";void 0!==r&&(l=r===a.FRAGMENT_SHADER?"fragment":"vertex");for(var c=n("Error compiling %s shader %s:\n",l,s),u=n("%s%s",c,t),h=t.split("\n"),f={},p=0;p<h.length;p++){var d=h[p];if(""!==d&&"\0"!==d){var g=parseInt(d.split(":")[2]);if(isNaN(g))throw new Error(n("Could not parse error: %s",d));f[g]=d}}for(var v=o(e).split("\n"),p=0;p<v.length;p++)if(f[p+3]||f[p+2]||f[p+1]){var m=v[p];if(c+=m+"\n",f[p+1]){var y=f[p+1];y=y.substr(y.split(":",3).join(":").length+1).trim(),c+=n("^^^ %s\n\n",y)}}return{long:c.trim(),short:u.trim()}}},{"add-line-numbers":63,"gl-constants/lookup":248,"glsl-shader-name":402,"sprintf-js":526}],253:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),a=o(r,l.pickVertex,l.pickFragment),i=s(r),u=s(r),h=s(r),f=s(r),p=new c(t,n,a,i,u,h,f);return p.update(e),t.addObject(p),p};var n=t("binary-search-bounds"),a=t("iota-array"),i=t("typedarray-pool"),o=t("gl-shader"),s=t("gl-buffer"),l=t("./lib/shaders");function c(t,e,r,n,a,i,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=a,this.colorBuffer=i,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,h=c.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];h.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var a=t.gl,i=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=i[2]-i[0],c=i[3]-i[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-i[0])/l-1,u[7]=2*(r[1]-i[1])/c-1,e.bind();var h=e.uniforms;h.viewTransform=u,h.shape=this.shape;var f=e.attributes;this.positionBuffer.bind(),f.position.pointer(),this.weightBuffer.bind(),f.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),f.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,n)}}),h.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,a=this.pickShader,i=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=i[2]-i[0],u=i[3]-i[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*c/h,t[4]=2*u/f,t[6]=2*(i[0]-l[0])/h-1,t[7]=2*(i[1]-l[1])/f-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,a.bind();var d=a.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=a.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,a=this.shape[0]*this.shape[1];if(r<n||r>=n+a)return null;var i=r-n,o=this.xData,s=this.yData;return{object:this,pointId:i,dataCoord:[o[i%this.shape[0]],s[i/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),o=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,p=h[0]=r[0],d=h[1]=o[0],g=1/((h[2]=r[r.length-1])-p),v=1/((h[3]=o[o.length-1])-d),m=e[0],y=e[1];this.shape=[m,y];var x=(m-1)*(y-1)*(f.length>>>1);this.numVertices=x;for(var b=i.mallocUint8(4*x),_=i.mallocFloat32(2*x),w=i.mallocUint8(2*x),k=i.mallocUint32(x),T=0,A=0;A<y-1;++A)for(var M=v*(o[A]-d),S=v*(o[A+1]-d),E=0;E<m-1;++E)for(var L=g*(r[E]-p),C=g*(r[E+1]-p),P=0;P<f.length;P+=2){var O,z,I,D,R=f[P],F=f[P+1],B=s[(A+F)*m+(E+R)],N=n.le(l,B);if(N<0)O=c[0],z=c[1],I=c[2],D=c[3];else if(N===u-1)O=c[4*u-4],z=c[4*u-3],I=c[4*u-2],D=c[4*u-1];else{var j=(B-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);O=V*c[U]+j*c[q],z=V*c[U+1]+j*c[q+1],I=V*c[U+2]+j*c[q+2],D=V*c[U+3]+j*c[q+3]}b[4*T]=255*O,b[4*T+1]=255*z,b[4*T+2]=255*I,b[4*T+3]=255*D,_[2*T]=.5*L+.5*C,_[2*T+1]=.5*M+.5*S,w[2*T]=R,w[2*T+1]=F,k[T]=A*m+E,T+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),i.free(_),i.free(b),i.free(w),i.free(k)},h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{"./lib/shaders":254,"binary-search-bounds":255,"gl-buffer":243,"gl-shader":303,"iota-array":417,"typedarray-pool":543}],254:[function(t,e,r){"use strict";var n=t("glslify");e.exports={fragment:n(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  fragColor = color;\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n  vec2 d = step(.5, vWeight);\n  vec4 id = fragId + pickOffset;\n  id.x += d.x + d.y*shape.x;\n\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  gl_FragColor = id/255.;\n}\n"]),pickVertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n  vWeight = weight;\n\n  fragId = pickId;\n\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},{glslify:410}],255:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],256:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  vec4 startPoint = project(position);\n  vec4 endPoint   = project(nextPosition);\n\n  vec2 A = startPoint.xy / startPoint.w;\n  vec2 B =   endPoint.xy /   endPoint.w;\n\n  float clipAngle = atan(\n    (B.y - A.y) * screenShape.y,\n    (B.x - A.x) * screenShape.x\n  );\n\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n    sin(clipAngle),\n    -cos(clipAngle)\n  ) / screenShape;\n\n  gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3      clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float     dashScale;\nuniform float     opacity;\n\nvarying vec3    worldPosition;\nvarying float   pixelArcLength;\nvarying vec4    fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight < 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\nlowp vec4 encode_float_1540259130(highp float v) {\n  highp float av = abs(v);\n\n  //Handle special cases\n  if(av < FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v > FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v < -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  highp vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  highp float e = floor(log2(av));\n  highp float m = av * pow(2.0, -e) - 1.0;\n  \n  //Unpack mantissa\n  c[1] = floor(128.0 * m);\n  m -= c[1] / 128.0;\n  c[2] = floor(32768.0 * m);\n  m -= c[2] / 32768.0;\n  c[3] = floor(8388608.0 * m);\n  \n  //Unpack exponent\n  highp float ebias = e + 127.0;\n  c[0] = floor(ebias / 2.0);\n  ebias -= c[0] * 2.0;\n  c[1] += floor(ebias) * 128.0; \n\n  //Unpack sign bit\n  c[0] += 128.0 * step(0.0, -v);\n\n  //Scale back to range\n  return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return a(t,i,o,null,l)},r.createPickShader=function(t){return a(t,i,s,null,l)}},{"gl-shader":303,glslify:410}],257:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=a(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),f=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)f.data[p]=255;var d=i(e,f);d.wrap=e.REPEAT;var g=new v(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),a=t("gl-vao"),i=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,h=c.createPickShader,f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var a=t[n]-e[n];r+=a*a}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,a,i){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=a,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=i,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=v.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||f,view:t.view||f,projection:t.projection||f,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||f,view:t.view||f,projection:t.projection||f,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var a=[],i=[],o=[],c=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var d=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,v=!1;t:for(e=1;e<f.length;++e){var m,y,x,b=f[e-1],_=f[e];for(i.push(c),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&a.length>0){for(var w=0;w<24;++w)a.push(a[a.length-12]);u+=2,v=!0}continue t}h[0][r]=Math.min(h[0][r],b[r],_[r]),h[1][r]=Math.max(h[1][r],b[r],_[r])}Array.isArray(d[0])?(m=d.length>e-1?d[e-1]:d.length>0?d[d.length-1]:[0,0,0,1],y=d.length>e?d[e]:d.length>0?d[d.length-1]:[0,0,0,1]):m=y=d,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var k=c;if(c+=p(b,_),v){for(r=0;r<2;++r)a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3]);u+=2,v=!1}a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],c,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],c,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(a),i.push(c),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=i,"dashes"in t){var T=t.dashes.slice();for(T.unshift(0),e=1;e<T.length;++e)T[e]=T[e-1]+T[e];var A=l(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&s.le(T,T[T.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}},m.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},m.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],a=this.points[Math.min(r+1,this.points.length-1)],i=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-i,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+i*a[u];var h=Math.min(i<.5?r:r+1,this.points.length-1);return new g(e,c,h,this.points[h])}},{"./lib/shaders":256,"binary-search-bounds":258,"gl-buffer":243,"gl-texture2d":323,"gl-vao":328,"glsl-read-float":401,ndarray:451}],258:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],259:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*i-a*n;return o?(o=1/o,t[0]=i*o,t[1]=-n*o,t[2]=-a*o,t[3]=r*o,t):null}},{}],260:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=u*o-s*c,f=-u*i+s*l,p=c*i-o*l,d=r*h+n*f+a*p;return d?(d=1/d,t[0]=h*d,t[1]=(-u*n+a*c)*d,t[2]=(s*n-a*o)*d,t[3]=f*d,t[4]=(u*r-a*l)*d,t[5]=(-s*r+a*i)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*i)*d,t):null}},{}],261:[function(t,e,r){e.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],262:[function(t,e,r){e.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],263:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11],p=t[12],d=t[13],g=t[14],v=t[15];return(e*o-r*i)*(h*v-f*g)-(e*s-n*i)*(u*v-f*d)+(e*l-a*i)*(u*g-h*d)+(r*s-n*o)*(c*v-f*p)-(r*l-a*o)*(c*g-h*p)+(n*l-a*s)*(c*d-u*p)}},{}],264:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,l=a+a,c=r*o,u=n*o,h=n*s,f=a*o,p=a*s,d=a*l,g=i*o,v=i*s,m=i*l;return t[0]=1-h-d,t[1]=u+m,t[2]=f-v,t[3]=0,t[4]=u-m,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],265:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=n+n,l=a+a,c=i+i,u=n*s,h=n*l,f=n*c,p=a*l,d=a*c,g=i*c,v=o*s,m=o*l,y=o*c;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-m,t[3]=0,t[4]=h-y,t[5]=1-(u+g),t[6]=d+v,t[7]=0,t[8]=f+m,t[9]=d-v,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],266:[function(t,e,r){e.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],267:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,k=a*c-i*l,T=u*g-h*d,A=u*v-f*d,M=u*m-p*d,S=h*v-f*g,E=h*m-p*g,L=f*m-p*v,C=y*L-x*E+b*S+_*M-w*A+k*T;if(!C)return null;return C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(a*E-n*L-i*S)*C,t[2]=(g*k-v*w+m*_)*C,t[3]=(f*w-h*k-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-a*M+i*A)*C,t[6]=(v*b-d*k-m*x)*C,t[7]=(u*k-f*b+p*x)*C,t[8]=(o*E-s*M+c*T)*C,t[9]=(n*M-r*E-i*T)*C,t[10]=(d*w-g*b+m*y)*C,t[11]=(h*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*T)*C,t[13]=(r*S-n*A+a*T)*C,t[14]=(g*x-d*_-v*y)*C,t[15]=(u*_-h*x+f*y)*C,t}},{}],268:[function(t,e,r){var n=t("./identity");e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g=e[0],v=e[1],m=e[2],y=a[0],x=a[1],b=a[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(v-w)<1e-6&&Math.abs(m-k)<1e-6)return n(t);h=g-_,f=v-w,p=m-k,d=1/Math.sqrt(h*h+f*f+p*p),i=x*(p*=d)-b*(f*=d),o=b*(h*=d)-y*p,s=y*f-x*h,(d=Math.sqrt(i*i+o*o+s*s))?(i*=d=1/d,o*=d,s*=d):(i=0,o=0,s=0);l=f*s-p*o,c=p*i-h*s,u=h*o-f*i,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=i,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=c,t[6]=f,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(i*g+o*v+s*m),t[13]=-(l*g+c*v+u*m),t[14]=-(h*g+f*v+p*m),t[15]=1,t}},{"./identity":266}],269:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*v,t[2]=x*i+b*c+_*p+w*m,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*a+b*l+_*f+w*v,t[6]=x*i+b*c+_*p+w*m,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*a+b*l+_*f+w*v,t[10]=x*i+b*c+_*p+w*m,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*a+b*l+_*f+w*v,t[14]=x*i+b*c+_*p+w*m,t[15]=x*o+b*u+_*d+w*y,t}},{}],270:[function(t,e,r){e.exports=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t}},{}],271:[function(t,e,r){e.exports=function(t,e,r,n,a){var i=1/Math.tan(e/2),o=1/(n-a);return t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(a+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*a*n*o,t[15]=0,t}},{}],272:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_,w,k,T,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);if(Math.abs(P)<1e-6)return null;E*=P=1/P,L*=P,C*=P,a=Math.sin(r),i=Math.cos(r),o=1-i,s=e[0],l=e[1],c=e[2],u=e[3],h=e[4],f=e[5],p=e[6],d=e[7],g=e[8],v=e[9],m=e[10],y=e[11],x=E*E*o+i,b=L*E*o+C*a,_=C*E*o-L*a,w=E*L*o-C*a,k=L*L*o+i,T=C*L*o+E*a,A=E*C*o+L*a,M=L*C*o-E*a,S=C*C*o+i,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+v*_,t[2]=c*x+p*b+m*_,t[3]=u*x+d*b+y*_,t[4]=s*w+h*k+g*T,t[5]=l*w+f*k+v*T,t[6]=c*w+p*k+m*T,t[7]=u*w+d*k+y*T,t[8]=s*A+h*M+g*S,t[9]=l*A+f*M+v*S,t[10]=c*A+p*M+m*S,t[11]=u*A+d*M+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],273:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t}},{}],274:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a-c*n,t[1]=o*a-u*n,t[2]=s*a-h*n,t[3]=l*a-f*n,t[8]=i*n+c*a,t[9]=o*n+u*a,t[10]=s*n+h*a,t[11]=l*n+f*a,t}},{}],275:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t}},{}],276:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],277:[function(t,e,r){e.exports=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],v=r[1],m=r[2];e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=a*g+l*v+f*m+e[13],t[14]=i*g+c*v+p*m+e[14],t[15]=o*g+u*v+d*m+e[15]);return t}},{}],278:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},{}],279:[function(t,e,r){"use strict";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:a(t,e);break;case 16:i(t,e);break;default:throw new Error("currently supports matrices up to 4x4")}return t};var n=t("gl-mat2/invert"),a=t("gl-mat3/invert"),i=t("gl-mat4/invert")},{"gl-mat2/invert":259,"gl-mat3/invert":260,"gl-mat4/invert":267}],280:[function(t,e,r){"use strict";var n=t("barycentric"),a=t("polytope-closest-point/lib/closest_point_2d.js");function i(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var a=0;a<4;++a)r[a]+=t[4*n+a]*e[n];return r}function o(t,e,r,n,a){for(var o=i(n,i(r,i(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}e.exports=function(t,e,r,i,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,i,s,l);for(var h=0,f=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<f&&(f=p,h=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,i=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),i+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),i=Math.sqrt(i),r+i<1e-6?[1,0]:[i/(r+i),r/(i+r)]}if(3===t.length){var s=[0,0];return a(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),v=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;v+=g[u]}if(Math.abs(v-1)>.001)return null;return[h,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var a=t[n],i=e[n],o=0;o<3;++o)r[o]+=i*a[o];return r}(t,g),g]}},{barycentric:74,"polytope-closest-point/lib/closest_point_2d.js":482}],281:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection\n           , inverseModel;\nuniform vec3 eyePosition\n           , lightPosition;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  gl_Position      = project(position);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * vec4(position , 1.0);\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal  = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  f_color          = color;\n  f_data           = position;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (f_color.a == 0.0 ||\n    outOfRange(clipBounds[0], clipBounds[1], f_data)\n  ) discard;\n\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_color = color;\n  f_data  = position;\n  f_uv    = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n  } else {\n    gl_Position = projection * view * model * vec4(position, 1.0);\n  }\n  gl_PointSize = pointSize;\n  f_color = color;\n  f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n  if(dot(pointR, pointR) > 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_id        = id;\n  f_position  = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3  position;\nattribute float pointSize;\nattribute vec4  id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n  } else {\n    gl_Position  = projection * view * model * vec4(position, 1.0);\n    gl_PointSize = pointSize;\n  }\n  f_id         = id;\n  f_position   = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:410}],282:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),h=t("colormap"),f=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),v=d.meshShader,m=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_,k,T,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=a,this.pickShader=i,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=T,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var T=k.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(t){this.pickId=t},T.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,a=e.vertexWeights,i=r.length,o=p.mallocFloat32(6*i),s=0,l=0;l<i;++l)for(var c=r[l],u=0;u<2;++u){var h=c[0];2===c.length&&(h=c[u]);for(var d=n[h][0],g=n[h][1],v=a[h],m=1-v,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=v*y[b]+m*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},T.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,"opacity"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),"opacityscale"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=h({colormap:t,nshades:256,format:"rgba"}),n=new Uint8Array(1024),a=0;a<256;++a){for(var i=r[a],o=0;o<3;++o)n[4*a+o]=i[o];n[4*a+3]=e?255*A(a/255,e):255*i[3]}return u(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var a=[],i=[],l=[],c=[],f=[],p=[],d=[],g=[],v=[],m=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,M=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,M)),k||w||(w=s.vertexNormals(r,n,T));var S=t.vertexColors,E=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,z=t.cellIntensity,I=1/0,D=-1/0;if(!C&&!O)if(P)if(t.vertexIntensityBounds)I=+t.vertexIntensityBounds[0],D=+t.vertexIntensityBounds[1];else for(var R=0;R<P.length;++R){var F=P[R];I=Math.min(I,F),D=Math.max(D,F)}else if(z)for(R=0;R<z.length;++R){F=z[R];I=Math.min(I,F),D=Math.max(D,F)}else for(R=0;R<n.length;++R){F=n[R][2];I=Math.min(I,F),D=Math.max(D,F)}this.intensity=P||(z?function(t,e,r){for(var n=new Array(e),a=0;a<e;++a)n[a]=0;var i=t.length;for(a=0;a<i;++a)for(var o=t[a],s=0;s<o.length;++s)n[o[s]]=r[a];return n}(r,n.length,z):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var B=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(R=0;R<n.length;++R)for(var j=n[R],V=0;V<3;++V)!isNaN(j[V])&&isFinite(j[V])&&(this.bounds[0][V]=Math.min(this.bounds[0][V],j[V]),this.bounds[1][V]=Math.max(this.bounds[1][V],j[V]));var U=0,q=0,H=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],V=0;V<3;++V)if(isNaN(j[V])||!isFinite(j[V]))continue t;m.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?y.push(X[0],X[1],X[2],this.opacity):(y.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],x.push(Z[0],Z[1]),B?b.push(B[W]):b.push(N),_.push(R),H+=1;break;case 2:for(V=0;V<2;++V){j=n[W=G[V]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t}for(V=0;V<2;++V){j=n[W=G[V]];p.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?d.push(X[0],X[1],X[2],this.opacity):(d.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],g.push(Z[0],Z[1]),v.push(R)}q+=1;break;case 3:for(V=0;V<3;++V)for(j=n[W=G[V]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t;for(V=0;V<3;++V){var W,X,Z,J;j=n[W=G[2-V]];a.push(j[0],j[1],j[2]),(X=S?S[W]:E?E[R]:L)?this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?i.push(X[0],X[1],X[2],this.opacity):(i.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)):i.push(.5,.5,.5,1),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],c.push(Z[0],Z[1]),J=w?w[W]:k[R],l.push(J[0],J[1],J[2]),f.push(R)}U+=1}}this.pointCount=H,this.edgeCount=q,this.triangleCount=U,this.pointPositions.update(m),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(v)),this.trianglePositions.update(a),this.triangleColors.update(i),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(f))}},T.drawTransparent=T.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:a,inverseModel:w.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=c(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var h,f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/f}this.triangleCount>0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:a,clipBounds:i,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},T.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,a=new Array(r.length),i=0;i<r.length;++i)a[i]=n[r[i]];var o=g(a,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(i=0;i<r.length;++i)l+=s[i]*this.intensity[r[i]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},T.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension("OES_standard_derivatives")||t.getExtension("MOZ_OES_standard_derivatives")||t.getExtension("WEBKIT_OES_standard_derivatives")))throw new Error("derivatives not supported");var r=function(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),s=function(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),l=M(t),c=S(t),h=E(t),f=L(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=a(t),g=a(t),y=a(t),x=a(t),b=a(t),_=i(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=a(t),T=a(t),A=a(t),C=a(t),P=i(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:A,type:t.FLOAT,size:2}]),O=a(t),z=a(t),I=a(t),D=a(t),R=a(t),F=i(t,[{buffer:O,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:t.FLOAT,size:4},{buffer:I,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),B=a(t),N=new k(t,p,r,s,l,c,h,f,d,b,g,y,x,_,w,C,T,A,P,O,R,z,I,D,F,B,i(t,[{buffer:B,type:t.FLOAT,size:3}]));return N.update(e),N}},{"./lib/closest-point":280,"./lib/shaders":281,colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-shader":303,"gl-texture2d":323,"gl-vao":328,ndarray:451,normals:454,"simplicial-complex-contour":516,"typedarray-pool":543}],283:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=a(e,i.boxVert,i.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,a){var i=this.plot,o=this.shader,c=i.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=a,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"gl-buffer":243,"gl-shader":303}],284:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,o.gridVert,o.gridFrag),l=a(e,o.tickVert,o.gridFrag);return new s(t,r,i,l)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("binary-search-bounds"),o=t("./shaders");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,h,f,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],h=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,a=t.gl,i=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,f=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var v=i[g],m=i[g+2]-v,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*m/x,c[g]=2*(v-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){h[0]=h[1]=0,h[g]=1,r.uniforms.dataAxis=h,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=f[g];var _=6*n[g].length;p[g]&&_&&a.drawArrays(a.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,h=this.ticks,f=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,v=s.pixelRatio,m=s.screenBox,y=m[2]-m[0],x=m[3]-m[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var k=p[w],T=p[w+2]-k,A=.5*(d[w+2]+d[w]),M=d[w+2]-d[w];e[w]=2*T/M,t[w]=2*(k-A)/M}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,L=s.tickMarkWidth,C=s.tickMarkColor,P=6*h[0].length,O=Math.min(i.ge(h[0],(d[0]-p[0])/(p[2]-p[0]),l),h[0].length),z=Math.min(i.gt(h[0],(d[2]-p[0])/(p[2]-p[0]),l),h[0].length),I=0+6*O,D=6*Math.max(0,z-O),R=Math.min(i.ge(h[1],(d[1]-p[1])/(p[3]-p[1]),l),h[1].length),F=Math.min(i.gt(h[1],(d[3]-p[1])/(p[3]-p[1]),l),h[1].length),B=P+6*R,N=6*Math.max(0,F-R);a[0]=2*(g[0]-E[1])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[1]*v/y,o[1]=L[1]*v/x,N&&(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[1]-E[0])/x-1,o[0]=L[0]*v/y,o[1]=E[0]*v/x,D&&(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,I,D)),a[0]=2*(g[2]+E[3])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[3]*v/y,o[1]=L[3]*v/x,N&&(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[3]+E[2])/x-1,o[0]=L[2]*v/y,o[1]=E[2]*v/x,D&&(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,I,D))}}(),d.update=(f=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),a=(this.plot.zeroLineEnable,0),i=[[],[]],o=0;o<2;++o)for(var s=i[o],l=e[o],c=r[o],u=r[o+2],h=0;h<l.length;++h){var d=(l[h].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[a++]=d,n[a++]=f[g],n[a++]=p[g]}this.ticks=i,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{"./shaders":286,"binary-search-bounds":288,"gl-buffer":243,"gl-shader":303}],285:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=a(e,i.lineVert,i.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,a,i){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=a*o.pixelRatio,c.uniforms.color=i,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"gl-buffer":243,"gl-shader":303}],286:[function(t,e,r){"use strict";var n=t("glslify"),a=n(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);e.exports={lineVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n  return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  vec2 delta = normalize(perp(start - end));\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:a,textVert:n(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n  float dataOffset  = textCoordinate.z;\n  vec2 glyphOffset  = textCoordinate.xy;\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n    glyphMatrix * glyphOffset * textScale + screenOffset;\n  gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:a,gridVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n  gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:a,boxVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},{glslify:410}],287:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,s.textVert,s.textFrag);return new l(t,r,i)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("text-cache"),o=t("binary-search-bounds"),s=t("./shaders");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,h,f,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],h=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],a=this.tickOffset[t],i=e.gl,s=e.viewBox,l=e.dataBox,f=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,v=e.tickColor,m=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],k=this.labelCount[t],T=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(f[2+t]-f[t])-1;var M=2/f[2+(1^t)]-f[1^t];u[1^t]=M*s[1^t]-1,d[t]&&(u[1^t]-=M*p*g[t],T<A&&a[A]>a[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t],r.uniforms.angle=m[t],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t]&&k&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],i.drawArrays(i.TRIANGLES,w,k)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*g[t+2],T<A&&a[A]>a[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t+2],r.uniforms.angle=m[t+2],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t+2]&&k&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],i.drawArrays(i.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,a=r.gl,i=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-i[u])/(i[2+u]-i[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,a.drawArrays(a.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,a=t.screenBox,i=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=i[o],g=i[o+2]-h,v=a[o],m=a[o+2]-v;p[o]=2*l/u*g/m,f[o]=2*(s-c)/u*g/m}d[1]=2*t.pixelRatio/(a[3]-a[1]),d[0]=d[1]*(a[3]-a[1])/(a[2]-a[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,a,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e<f.length;++e){var p=f[e],d=p.x,g=p.text,v=p.font||"sans-serif";a=p.fontSize||12;for(var m=1/(c[o+2]-c[o]),y=c[o],x=g.split("\n"),b=0;b<x.length;b++)for(n=i(v,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*a,-n[r+1]*a-b*a*1.2,(d-y)*m);u.push(Math.floor(s.length/3)),h.push(d)}this.tickOffset[o]=u,this.tickX[o]=h}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=i(t.labelFont[o],t.labels[o],{textAlign:"center"}).data,a=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=i(t.titleFont,t.title).data,a=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"binary-search-bounds":288,"gl-buffer":243,"gl-shader":303,"text-cache":534}],288:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],289:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=a(c),c.text=i(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t("gl-select-static"),a=t("./lib/grid"),i=t("./lib/text"),o=t("./lib/line"),s=t("./lib/box");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function h(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,a=this.pixelRatio,i=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),i.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,p=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var d=0;d<2;++d)if(h[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var v=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(v[1]&&o.drawLine(r[0],r[1]-.5*m[1]*a,r[0],r[3]+.5*m[3]*a,m[1],y[1]),v[0]&&o.drawLine(r[0]-.5*m[0]*a,r[1],r[2]+.5*m[2]*a,r[1],m[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*m[1]*a,r[2],r[3]+.5*m[3]*a,m[3],y[3]),v[2]&&o.drawLine(r[0]-.5*m[0]*a,r[3],r[2]+.5*m[2]*a,r[3],m[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,a=this.viewBox,i=0|Math.round((t-a[0]/r)*n),o=0|Math.round((e-a[1]/r)*n),s=this.pickBuffer.query(i,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var h=c[u].pick(i,o,l);if(h)return h}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,a=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/a,10,10/a]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!("titleEnable"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var i=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=i[s].slice(0);0!==l.length&&(l.sort(h),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:i}),this.text.update({bounds:o,ticks:i,labels:t.labels||["x","y"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||["sans-serif","sans-serif"],title:t.title||"",titleSize:t.titleSize||18,titleFont:t.titleFont||"sans-serif"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{"./lib/box":283,"./lib/grid":284,"./lib/line":285,"./lib/text":287,"gl-select-static":302}],290:[function(t,e,r){"use strict";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];"distanceLimits"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);"zoomMin"in e&&(r[0]=e.zoomMin);"zoomMax"in e&&(r[1]=e.zoomMax);var c=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,p=t.clientHeight,d={keyBindingMode:"rotate",enableWheel:!0,view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,_ortho:e._ortho||e.projection&&"orthographic"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,a=e-2*r;c.idle(e-r),c.recalcMatrix(a),c.flush(e-(100+2*r));for(var i=!0,o=c.computedMatrix,s=0;s<16;++s)i=i&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===p;return f=t.clientWidth,p=t.clientHeight,i?!l:(h=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),a=c.computedCenter.slice();if(c.setMode(t),"turntable"===t){var i=n();c._active.lookAt(i,r,a,e),c._active.lookAt(i+500,r,a,[0,0,1]),c._active.flush(i)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",function(t){return t.preventDefault(),!1}),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,a,i){var o=d.keyBindingMode;if(!1!==o){var s="rotate"===o,l="pan"===o,u="zoom"===o,f=!!i.control,p=!!i.alt,g=!!i.shift,v=!!(1&e),m=!!(2&e),y=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(a-d._lastY),w=d.flipX?1:-1,k=d.flipY?1:-1,T=Math.PI*d.rotateSpeed,A=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&v&&!f&&!p&&!g||v&&!f&&!p&&g)&&c.rotate(A,w*T*b,-k*T*_,0),(l&&v&&!f&&!p&&!g||m||v&&f&&!p&&!g)&&c.pan(A,-d.translateSpeed*b*h,d.translateSpeed*_*h,0),u&&v&&!f&&!p&&!g||y||v&&!f&&p&&!g)){var M=-d.zoomSpeed*_/window.innerHeight*(A-c.lastT())*100;c.pan(A,0,0,h*(Math.exp(M)-1))}return d._lastX=r,d._lastY=a,d._lastMods=i,!0}}d.mouseListener=i(t,e),t.addEventListener("touchstart",function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods),r.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchmove",function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchend",function(t){e(0,d._lastX,d._lastY,d._lastMods),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,a=d.flipY?1:-1,i=n();if(Math.abs(t)>Math.abs(e))c.rotate(i,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*a*e/window.innerHeight*(i-c.lastT())/20;c.pan(i,0,0,h*(Math.exp(o)-1))}}},!0)},d.enableMouseListeners(),d};var n=t("right-now"),a=t("3d-view"),i=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":54,"has-passive-events":412,"mouse-change":436,"mouse-event-offset":437,"mouse-wheel":439,"right-now":502}],291:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n  uv = position;\n  gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n  gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":303,glslify:410}],292:[function(t,e,r){"use strict";var n=t("./camera.js"),a=t("gl-axes3d"),i=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),h=t("gl-mat4/perspective"),f=t("gl-mat4/ortho"),p=t("./lib/shader"),d=t("is-mobile")({tablet:!0});function g(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function v(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e)if(e=document.createElement("canvas"),t.container){var r=t.container;r.appendChild(e)}else document.body.appendChild(e);var y=t.gl;y||(y=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!y)throw new Error("webgl not supported");var x=t.bounds||[[-10,-10,-10],[10,10,10]],b=new g,_=l(y,[y.drawingBufferWidth,y.drawingBufferHeight],{preferFloat:!d}),w=p(y),k=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:k},A=t.axes||{},M=a(y,A);M.enable=!A.disable;var S=t.spikes||{},E=o(y,S),L=[],C=[],P=[],O=[],z=!0,I=!0,D=new Array(16),R=new Array(16),F={view:null,projection:D,model:R,_ortho:!1},I=!0,B=[y.drawingBufferWidth,y.drawingBufferHeight],N=t.cameraObject||n(e,T),j={gl:y,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:b,camera:N,axes:M,axesPixels:null,spikes:E,bounds:x,objects:L,shape:B,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:F,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z}},V=[y.drawingBufferWidth/j.pixelRatio|0,y.drawingBufferHeight/j.pixelRatio|0];function U(){if(!j._stopped&&j.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var a=0|Math.ceil(r*j.pixelRatio),i=0|Math.ceil(n*j.pixelRatio);if(a!==e.width||i!==e.height){e.width=a,e.height=i;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",z=!0}}}j.autoResize&&U();function q(){for(var t=L.length,e=O.length,r=0;r<e;++r)P[r]=0;t:for(var r=0;r<t;++r){var n=L[r],a=n.pickSlots;if(a){for(var i=0;i<e;++i)if(P[i]+a<255){C[r]=i,n.setPickBase(P[i]+1),P[i]+=a;continue t}var o=s(y,B);C[r]=e,O.push(o),P.push(a),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===P[e-1];)P.pop(),O.pop().dispose()}function H(){if(j.contextLost)return!0;y.isContextLost()&&(j.contextLost=!0,j.mouseListener.enabled=!1,j.selection.object=null,j.oncontextloss&&j.oncontextloss())}window.addEventListener("resize",U),j.update=function(t){j._stopped||(t=t||{},z=!0,I=!0)},j.add=function(t){j._stopped||(t.axes=M,L.push(t),C.push(-1),z=!0,I=!0,q())},j.remove=function(t){if(!j._stopped){var e=L.indexOf(t);e<0||(L.splice(e,1),C.pop(),z=!0,I=!0,q())}},j.dispose=function(){if(!j._stopped&&(j._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",H),j.mouseListener.enabled=!1,!j.contextLost)){M.dispose(),E.dispose();for(var t=0;t<L.length;++t)L[t].dispose();_.dispose();for(var t=0;t<O.length;++t)O[t].dispose();w.dispose(),y=null,M=null,E=null,L=[]}},j._mouseRotating=!1,j._prevButtons=0,j.enableMouseListeners=function(){j.mouseListener=u(e,function(t,e,r){if(!j._stopped){var n=O.length,a=L.length,i=b.object;b.distance=1/0,b.mouse[0]=e,b.mouse[1]=r,b.object=null,b.screen=null,b.dataCoordinate=b.dataPosition=null;var o=!1;if(t&&j._prevButtons)j._mouseRotating=!0;else{j._mouseRotating&&(I=!0),j._mouseRotating=!1;for(var s=0;s<n;++s){var l=O[s].query(e,V[1]-r-1,j.pickRadius);if(l){if(l.distance>b.distance)continue;for(var c=0;c<a;++c){var u=L[c];if(C[c]===s){var h=u.pick(l);h&&(b.buttons=t,b.screen=l.coord,b.distance=l.distance,b.object=u,b.index=h.distance,b.dataPosition=h.position,b.dataCoordinate=h.dataCoordinate,b.data=h,o=!0)}}}}}i&&i!==b.object&&(i.highlight&&i.highlight(null),z=!0),b.object&&(b.object.highlight&&b.object.highlight(b.data),z=!0),(o=o||b.object!==i)&&j.onselect&&j.onselect(b),1&t&&!(1&j._prevButtons)&&j.onclick&&j.onclick(b),j._prevButtons=t}})},e.addEventListener("webglcontextlost",H);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Y=[G[0].slice(),G[1].slice()];function W(){if(!H()){U();var t=j.camera.tick();F.view=j.camera.matrix,z=z||t,I=I||t,M.pixelRatio=j.pixelRatio,E.pixelRatio=j.pixelRatio;var e=L.length,r=G[0],n=G[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var a=0;a<e;++a){var o=L[a];o.pixelRatio=j.pixelRatio,o.axes=j.axes,z=z||!!o.dirty,I=I||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],p=0;p<3;++p)r[p]=Math.min(r[p],l[p]),n[p]=Math.max(n[p],u[p])}var d=j.bounds;if(j.autoBounds)for(var p=0;p<3;++p){if(n[p]<r[p])r[p]=-1,n[p]=1;else{r[p]===n[p]&&(r[p]-=1,n[p]+=1);var g=.05*(n[p]-r[p]);r[p]=r[p]-g,n[p]=n[p]+g}d[0][p]=r[p],d[1][p]=n[p]}for(var m=!1,p=0;p<3;++p)m=m||Y[0][p]!==d[0][p]||Y[1][p]!==d[1][p],Y[0][p]=d[0][p],Y[1][p]=d[1][p];if(I=I||m,z=z||m){if(m){for(var x=[0,0,0],a=0;a<3;++a)x[a]=v((d[1][a]-d[0][a])/10);M.autoTicks?M.update({bounds:d,tickSpacing:x}):M.update({bounds:d})}var T=y.drawingBufferWidth,A=y.drawingBufferHeight;B[0]=T,B[1]=A,V[0]=0|Math.max(T/j.pixelRatio,1),V[1]=0|Math.max(A/j.pixelRatio,1),k?(f(D,-T/A,T/A,-1,1,j.zNear,j.zFar),F._ortho=!0):(h(D,j.fovy,T/A,j.zNear,j.zFar),F._ortho=!1);for(var a=0;a<16;++a)R[a]=0;R[15]=1;for(var S=0,a=0;a<3;++a)S=Math.max(S,d[1][a]-d[0][a]);for(var a=0;a<3;++a)j.autoScale?R[5*a]=j.aspect[a]/(d[1][a]-d[0][a]):R[5*a]=1/S,j.autoCenter&&(R[12+a]=.5*-R[5*a]*(d[0][a]+d[1][a]));for(var a=0;a<e;++a){var o=L[a];o.axesBounds=d,j.clipToBounds&&(o.clipBounds=d)}b.object&&(j.snapToData?E.position=b.dataCoordinate:E.position=b.dataPosition,E.bounds=d),I&&(I=!1,function(){if(H())return;y.colorMask(!0,!0,!0,!0),y.depthMask(!0),y.disable(y.BLEND),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL);for(var t=L.length,e=O.length,r=0;r<e;++r){var n=O[r];n.shape=V,n.begin();for(var a=0;a<t;++a)if(C[a]===r){var i=L[a];i.drawPick&&(i.pixelRatio=1,i.drawPick(F))}n.end()}}()),j.axesPixels=i(j.axes,F,T,A),j.onrender&&j.onrender(),y.bindFramebuffer(y.FRAMEBUFFER,null),y.viewport(0,0,T,A);var P=j.clearColor;y.clearColor(P[0],P[1],P[2],P[3]),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),y.depthMask(!0),y.colorMask(!0,!0,!0,!0),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL),y.disable(y.BLEND),y.disable(y.CULL_FACE);var N=!1;M.enable&&(N=N||M.isTransparent(),M.draw(F)),E.axes=M,b.object&&E.draw(F),y.disable(y.CULL_FACE);for(var a=0;a<e;++a){var o=L[a];o.axes=M,o.pixelRatio=j.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(F),o.isTransparent&&o.isTransparent()&&(N=!0)}if(N){_.shape=B,_.bind(),y.clear(y.DEPTH_BUFFER_BIT),y.colorMask(!1,!1,!1,!1),y.depthMask(!0),y.depthFunc(y.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(F);for(var a=0;a<e;++a){var o=L[a];o.isOpaque&&o.isOpaque()&&o.draw(F)}y.enable(y.BLEND),y.blendEquation(y.FUNC_ADD),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.colorMask(!0,!0,!0,!0),y.depthMask(!1),y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(F);for(var a=0;a<e;++a){var o=L[a];o.isTransparent&&o.isTransparent()&&o.drawTransparent(F)}y.bindFramebuffer(y.FRAMEBUFFER,null),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.disable(y.DEPTH_TEST),w.bind(),_.color[0].bind(0),w.uniforms.accumBuffer=0,c(y),y.disable(y.BLEND)}z=!1;for(var a=0;a<e;++a)L[a].dirty=!1}}}return j.enableMouseListeners(),function t(){j._stopped||j.contextLost||(W(),requestAnimationFrame(t))}(),j.redraw=function(){j._stopped||(z=!0,W())},j},createCamera:n}},{"./camera.js":290,"./lib/shader":291,"a-big-triangle":61,"gl-axes3d":235,"gl-axes3d/properties":242,"gl-fbo":251,"gl-mat4/ortho":270,"gl-mat4/perspective":271,"gl-select-static":302,"gl-spikes3d":312,"is-mobile":421,"mouse-change":436}],293:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n  highp float a = 12.9898;\n  highp float b = 78.233;\n  highp float c = 43758.5453;\n  highp float d = dot(co.xy, vec2(a, b));\n  highp float e = mod(d, 3.14);\n  return fract(sin(e) * c);\n}\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n    // if we don't jitter the point size a bit, overall point cloud\n    // saturation 'jumps' on zooming, which is disturbing and confusing\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    // get the same square surface as circle would be\n    gl_PointSize *= 0.886;\n  }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n  float radius;\n  vec4 baseColor;\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    if(centerFraction == 1.0) {\n      gl_FragColor = color;\n    } else {\n      gl_FragColor = mix(borderColor, color, centerFraction);\n    }\n  } else {\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\n    if(radius > 1.0) {\n      discard;\n    }\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n  }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n  gl_PointSize = pointSize;\n\n  vec4 id = pickId + pickOffset;\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n  if(radius > 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:410}],294:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,a){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=a,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,i=a(r),l=a(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),h=new s(t,i,l,c,u);return h.update(e),t.addObject(h),h};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,a=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=a?s:i.mallocFloat32(s.length),c=o?t.idToIndex:i.mallocInt32(n);if(a||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),a||i.free(l),o||i.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,a=this.plot.dataBox;if(0===this.pointCount)return t;var i=a[2]-a[0],o=a[3]-a[1],s=function(t,e){var r,n=0,a=t.length>>>1;for(r=0;r<a;r++){var i=t[2*r],o=t[2*r+1];i>=e[0]&&i<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,a),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/i,l[4]=2/o,l[6]=-2*a[0]/i-1,l[7]=-2*a[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,a=this.pointCount;if(r<n||r>=n+a)return null;var i=r-n,o=this.points;return{object:this,pointId:i,dataCoord:[o[2*i],o[2*i+1]]}}},{"./lib/shader":293,"gl-buffer":243,"gl-shader":303,"typedarray-pool":543}],295:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(i=c*p+u*d+h*g+f*v)<0&&(i=-i,p=-p,d=-d,g=-g,v=-v);1-i>1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t}},{}],296:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],297:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var i=a[e];i||(i=a[e]={});if(t in i)return i[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(c=0;c<s.positions[l].length;++c)s.positions[l][c]/=r;for(l=0;l<u.positions.length;++l)for(c=0;c<u.positions[l].length;++c)u.positions[l][c]/=r}var h=[[1/0,1/0],[-1/0,-1/0]],f=u.positions.length;for(l=0;l<f;++l){var p=u.positions[l];for(c=0;c<2;++c)h[0][c]=Math.min(h[0][c],p[c]),h[1][c]=Math.max(h[1][c],p[c])}return i[t]=[s,u,h]};var a={}},{"vectorize-text":548}],298:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) < 0.0001) {\n      scale = highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1);\n    vec4 viewPosition = view * worldPosition;\n    viewPosition = viewPosition / viewPosition.w;\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\n      scale *= highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1.0);\n    vec4 viewPosition = view * worldPosition;\n    vec4 clipPosition = projection * viewPosition;\n    clipPosition /= clipPosition.w;\n\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) < 0.0001) {\n      lscale *= highlightScale;\n    }\n\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = dataPosition;\n  }\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (\n    outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n    interpColor.a * opacity == 0.\n  ) discard;\n  gl_FragColor = interpColor * opacity;\n}\n"]),c=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n  gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:i,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:i,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},v={vertex:s,fragment:c,attributes:u};function m(t,e){var r=n(t,e),a=r.attributes;return a.position.location=0,a.color.location=1,a.glyph.location=2,a.id.location=3,r}r.createPerspective=function(t){return m(t,h)},r.createOrtho=function(t){return m(t,f)},r.createProject=function(t){return m(t,p)},r.createPickPerspective=function(t){return m(t,d)},r.createPickOrtho=function(t){return m(t,g)},r.createPickProject=function(t){return m(t,v)}},{"gl-shader":303,glslify:410}],299:[function(t,e,r){"use strict";var n=t("is-string-blank"),a=t("gl-buffer"),i=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),c=t("./lib/glyphs"),u=t("./lib/get-simple-string"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e){var r=t[0],n=t[1],a=t[2],i=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*a+e[12]*i,t[1]=e[1]*r+e[5]*n+e[9]*a+e[13]*i,t[2]=e[2]*r+e[6]*n+e[10]*a+e[14]*i,t[3]=e[3]*r+e[7]*n+e[11]*a+e[15]*i,t}function p(t,e,r,n){return f(n,n),f(n,n),f(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t?1:t>1?1:t}function v(t,e,r,n,a,i,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=a,this.colorBuffer=i,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=a(e),f=a(e),p=a(e),d=a(e),g=i(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),m=new v(e,r,n,o,h,f,p,d,g,s,c,u);return m.update(t),m};var m=v.prototype;m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},m.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],k=h.slice(),T=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function L(t,e,r,n){var a,i=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,d=e.axesBounds,g=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(i[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var m=k,L=0;L<16;++L)m[L]=0;for(L=0;L<4;++L)m[5*L]=1;m[5*v]=0,a[v]<0?m[12+v]=d[0][v]:m[12+v]=d[1][v],s(m,c,m),l.model=m;var C=(v+1)%3,P=(v+2)%3,O=M(x),z=M(b);O[C]=1,z[P]=1;var I=p(0,0,0,S(_,O)),D=p(0,0,0,S(w,z));if(Math.abs(I[1])>Math.abs(D[1])){var R=I;I=D,D=R,R=O,O=z,z=R;var F=C;C=P,P=F}I[0]<0&&(O[C]=-1),D[1]>0&&(z[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(c[4*C+L],2),N+=Math.pow(c[4*P+L],2);O[C]/=Math.sqrt(B),z[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=z,l.fragClipBounds[0]=E(T,g[0],v,-1e8),l.fragClipBounds[1]=E(T,g[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,a,i,o){var s=r.gl;if((i===r.projectHasAlpha||o)&&L(e,r,n,a),i===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||h,l.view=n.view||h,l.projection=n.projection||h,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=a,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*a),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,a){var i;i=Array.isArray(t)?e<t.length?t[e]:void 0:t,i=u(i);var o=!0;n(i)&&(i="\u25bc",o=!1);var s=c(i,r,a);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}m.draw=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},m.drawTransparent=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},m.drawPick=function(t){P(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},m.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var a=0;a<3;++a)n.position[a]=n.dataCoordinate[a]=r[a];return n},m.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,a=e>>16&255;this.highlightId=[r/255,n/255,a/255,0]}else this.highlightId=[1,1,1,1]},m.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var a,i,s=t.position,l=t.font||"normal",c=t.alignment||[0,0];if(2===c.length)a=c[0],i=c[1];else{a=[],i=[];for(n=0;n<c.length;++n)a[n]=c[n][0],i[n]=c[n][1]}var u=[1/0,1/0,1/0],h=[-1/0,-1/0,-1/0],f=t.glyph,p=t.color,d=t.size,v=t.angle,m=t.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],k=0;k<3;++k)if(isNaN(w[k])||!isFinite(w[k]))continue t;var T=(N=O(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;x+=3*T.cells.length,b+=2*A.edges.length}}var S=x+b,E=o.mallocFloat(3*S),L=o.mallocFloat(4*S),C=o.mallocFloat(2*S),P=o.mallocUint32(S);if(S>0){var z=0,I=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(m)&&Array.isArray(m[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],k=0;k<3;++k){if(isNaN(w[k])||!isFinite(w[k]))continue t;h[k]=Math.max(h[k],w[k]),u[k]=Math.min(u[k],w[k])}T=(N=O(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(V=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(k=0;k<3;++k)D[k]=V[k];D[3]=1}else if(4===V.length){for(k=0;k<4;++k)D[k]=V[k];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else D[0]=D[1]=D[2]=0,D[3]=1;else D=[1,1,1,0];if(j)if(Array.isArray(m)){var V;if(3===(V=B?n<m.length?m[n]:[0,0,0,0]:m).length){for(k=0;k<3;++k)R[k]=V[k];R[k]=1}else if(4===V.length){for(k=0;k<4;++k)R[k]=V[k];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var U=.5;j?Array.isArray(d)?U=n<d.length?+d[n]:12:d?U=+d:this.useOrtho&&(U=12):U=0;var q=0;Array.isArray(v)?q=n<v.length?+v[n]:0:v&&(q=+v);var H=Math.cos(q),G=Math.sin(q);for(w=s[n],k=0;k<3;++k)h[k]=Math.max(h[k],w[k]),u[k]=Math.min(u[k],w[k]);var Y=a,W=i;Y=0;Array.isArray(a)?Y=n<a.length?a[n]:0:a&&(Y=a);W=0;Array.isArray(i)?W=n<i.length?i[n]:0:i&&(W=i);var X=[Y*=Y>0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],Z=T.cells||[],J=T.positions||[];for(k=0;k<Z.length;++k)for(var K=Z[k],Q=0;Q<3;++Q){for(var $=0;$<3;++$)E[3*z+$]=w[$];for($=0;$<4;++$)L[4*z+$]=D[$];P[z]=y;var tt=J[K[Q]];C[2*z]=U*(H*tt[0]-G*tt[1]+X[0]),C[2*z+1]=U*(G*tt[0]+H*tt[1]+X[1]),z+=1}for(Z=A.edges,J=A.positions,k=0;k<Z.length;++k)for(K=Z[k],Q=0;Q<2;++Q){for($=0;$<3;++$)E[3*I+$]=w[$];for($=0;$<4;++$)L[4*I+$]=R[$];P[I]=y;tt=J[K[Q]];C[2*I]=U*(H*tt[0]-G*tt[1]+X[0]),C[2*I+1]=U*(G*tt[0]+H*tt[1]+X[1]),I+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(L),this.glyphBuffer.update(C),this.idBuffer.update(P),o.free(E),o.free(L),o.free(C),o.free(P)},m.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{"./lib/get-simple-string":296,"./lib/glyphs":297,"./lib/shaders":298,"gl-buffer":243,"gl-mat4/multiply":269,"gl-vao":328,"is-string-blank":424,"typedarray-pool":543}],300:[function(t,e,r){"use strict";var n=t("glslify");r.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),r.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n"])},{glslify:410}],301:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("./lib/shaders");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=a(r,[0,0,0,1,1,0,1,1]),l=n(r,i.boxVertex,i.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),a=(this.outerFill,this.outerColor),i=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,h=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],f=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(h=Math.max(h,c[0]),f=Math.max(f,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,a),o.drawBox(0,f,h,d,a),o.drawBox(0,d,g,v,a),o.drawBox(p,f,g,d,a)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var m=r*u;o.drawBox(h-m,f-m,p+m,f+m,i),o.drawBox(h-m,d-m,p+m,d+m,i),o.drawBox(h-m,f-m,h+m,d+m,i),o.drawBox(p-m,f-m,p+m,d+m,i)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":300,"gl-buffer":243,"gl-shader":303}],302:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),i=a.mallocUint8(e[0]*e[1]*4);return new c(t,r,i)};var n=t("gl-fbo"),a=t("typedarray-pool"),i=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}",args:[{name:"_inline_16_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg4_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg5_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg6_",lvalue:!1,rvalue:!0,count:4}],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:["_inline_16_a","_inline_16_f","_inline_16_l"]},post:{body:"{return[this_closestX,this_closestY,this_closestD2]}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});function l(t,e,r,n,a){this.coord=[t,e],this.id=r,this.value=n,this.distance=a}function c(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=c.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(o(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),u.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},u.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,"number"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),c=0|Math.min(Math.max(e-r,0),n[1]),u=0|Math.min(Math.max(e+r,0),n[1]);if(o<=a||u<=c)return null;var h=[o-a,u-c],f=i(this.buffer,[h[0],h[1],4],[4,4*n[0],1],4*(a+n[0]*c)),p=s(f.hi(h[0],h[1],1),r,r),d=p[0],g=p[1];return d<0||Math.pow(this.radius,2)<p[2]?null:new l(d+a|0,g+c|0,f.get(d,g,0),[f.get(d,g,1),f.get(d,g,2),f.get(d,g,3)],Math.sqrt(p[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{"bit-twiddle":93,"cwise/lib/wrapper":150,"gl-fbo":251,ndarray:451,"typedarray-pool":543}],303:[function(t,e,r){"use strict";var n=t("./lib/create-uniforms"),a=t("./lib/create-attributes"),i=t("./lib/reflect"),o=t("./lib/shader-cache"),s=t("./lib/runtime-reflect"),l=t("./lib/GLError");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function h(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var f=this,p=f.gl,d=f._vref;f._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),f.vertShader=f._vref.shader;var g=this._fref;if(f._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),f.fragShader=f._fref.shader,!r||!c){var v=p.createProgram();if(p.attachShader(v,f.fragShader),p.attachShader(v,f.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var m=p.getProgramInfoLog(v);throw new l(m,"Error linking program:"+m)}r=r||s.uniforms(p,v),c=c||s.attributes(p,v),p.deleteProgram(v)}(c=c.slice()).sort(h);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf("mat")>=0){for(var k=0|w.type.charAt(w.type.length-1),T=new Array(k),A=0;A<k;++A)T[A]=_.length,b.push(w.name+"["+A+"]"),"number"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&"number"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:T})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),"number"==typeof w.location?_.push(0|w.location):_.push(-1)}var M=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(M)>=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(f.program,r[t].name)}E(),f._relink=E,f.types={uniforms:i(r),attributes:i(c)},f.attributes=a(p,f,x,_),Object.defineProperty(f,"uniforms",n(p,f,r,S))},e.exports=function(t,e,r,n,a){var i=new c(t);return i.update(e,r,n,a),i}},{"./lib/GLError":304,"./lib/create-attributes":305,"./lib/create-uniforms":306,"./lib/reflect":307,"./lib/runtime-reflect":308,"./lib/shader-cache":309}],304:[function(t,e,r){function n(t,e,r){this.shortMessage=e||"",this.longMessage=r||"",this.rawError=t||"",this.message="gl-shader: "+(e||t||"")+(r?"\n"+r:""),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name="GLError",n.prototype.constructor=n,e.exports=n},{}],305:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){for(var i={},l=0,c=r.length;l<c;++l){var u=r[l],h=u.name,f=u.type,p=u.locations;switch(f){case"bool":case"int":case"float":o(t,e,p[0],a,1,i,h);break;default:if(f.indexOf("vec")>=0){var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);o(t,e,p[0],a,d,i,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(t,e,p,a,d,i,h)}}}return i};var n=t("./GLError");function a(t,e,r,n,a,i){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=a,this._constFunc=i}var i=a.prototype;function o(t,e,r,n,i,o,s){for(var l=["gl","v"],c=[],u=0;u<i;++u)l.push("x"+u),c.push("x"+u);l.push("if(x0.length===void 0){return gl.vertexAttrib"+i+"f(v,"+c.join()+")}else{return gl.vertexAttrib"+i+"fv(v,x0)}");var h=Function.apply(null,l),f=new a(t,e,r,n,i,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),h(t,n[r],e),e},get:function(){return f},enumerable:!0})}function s(t,e,r,n,a,i,s){for(var l=new Array(a),c=new Array(a),u=0;u<a;++u)o(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,"location",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)c[e].location=t[e];else for(e=0;e<a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e<a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l<a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var h=new Array(a),f=t["vertexAttrib"+a+"fv"];Object.defineProperty(i,s,{set:function(e){for(var i=0;i<a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))f.call(t,o,e[i]);else{for(var s=0;s<a;++s)h[s]=e[a*i+s];f.call(t,o,h)}}return e},get:function(){return l},enumerable:!0})}i.pointer=function(t,e,r,n){var a=this._gl,i=this._locations[this._index];a.vertexAttribPointer(i,this._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(i)},i.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(i,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{"./GLError":304}],306:[function(t,e,r){"use strict";var n=t("./reflect"),a=t("./GLError");function i(t){return new Function("y","return function(){return y}")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case"bool":case"int":case"sampler2D":case"samplerCube":return"gl.uniform1i(locations["+e+"],obj"+t+")";case"float":return"gl.uniform1f(locations["+e+"],obj"+t+")";default:var n=r.indexOf("vec");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf("mat")&&4===r.length){var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+i+"fv(locations["+e+"],false,obj"+t+")"}throw new a("","Unknown uniform data type for "+name+": "+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new a("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+i+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+i+"fv(locations["+e+"],obj"+t+")";default:throw new a("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],a=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var a in r){var i=r[a],o=e;parseInt(a)+""===a?o+="["+a+"]":o+="."+a,"object"==typeof i?n.push.apply(n,t(o,i)):n.push([o,i])}return n}("",e),i=0;i<a.length;++i){var o=a[i],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push("return obj}");var h=new Function("gl","locations",n.join("\n"));return h(t,s)}function u(n,l,u){if("object"==typeof u){var f=h(u);Object.defineProperty(n,l,{get:i(f),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function("gl","wrapper","locations","return function(){return gl.getUniform(wrapper.program,locations["+p+"])}")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new a("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new a("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var f=n(r,!0);return{get:i(h(f)),set:c(f),enumerable:!0,configurable:!0}}},{"./GLError":304,"./reflect":307}],307:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var a=t[n].name,i=a.split("."),o=r,s=0;s<i.length;++s){var l=i[s].split("[");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<i.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<i.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],308:[function(t,e,r){"use strict";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=i(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace("[0]","["+l+"]"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&n.push({name:o.name,type:i(t,o.type)})}return n};var n={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},a=null;function i(t,e){if(!a){var r=Object.keys(n);a={};for(var i=0;i<r.length;++i){var o=r[i];a[t[o]]=n[o]}}return a[e]}},{}],309:[function(t,e,r){"use strict";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,a){return u(t).getProgram(e,r,n,a)};var n=t("./GLError"),a=t("gl-format-compiler-error"),i=new("undefined"==typeof WeakMap?t("weakmap-shim"):WeakMap),o=0;function s(t,e,r,n,a,i,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=i,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,a=r.length;n<a;++n){var i=t.programs[r[n]];i&&(delete t.programs[n],e.deleteProgram(i))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=i.get(t);return e||(e=new l(t),i.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],l=i[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var i=t.createShader(e);if(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(i);try{var s=a(o,r,e)}catch(t){throw console.warn("Failed to format compiler error: "+t),new n(o,"Error compiling shader:\n"+o)}throw new n(o,s.short,s.long)}return i}(r,t,e);l=i[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,a){var i=[t.id,e.id,r.join(":"),a.join(":")].join("@"),o=this.programs[i];return o&&this.gl.isProgram(o)||(this.programs[i]=o=function(t,e,r,a,i){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<a.length;++s)t.bindAttribLocation(o,i[s],a[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,"Error linking program: "+l)}return o}(this.gl,t.shader,e.shader,r,a),t.programs.push(i),e.programs.push(i)),o}},{"./GLError":304,"gl-format-compiler-error":252,"weakmap-shim":553}],310:[function(t,e,r){"use strict";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var a=n.prototype;a.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},a.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,a=this.plot,i=a.line,o=a.dataBox,s=a.viewBox;if(i.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&i.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&i.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&i.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&i.drawLine(l,c,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],311:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vertexPosition = mix(coordinates[0],\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n  vec2 delta = weight * clipOffset * screenShape;\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},{"gl-shader":303,glslify:410}],312:[function(t,e,r){"use strict";var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index");e.exports=function(t,e){var r=[];function o(t,e,n,a,i,o){var s=[t,e,n,0,0,0,1];s[a+3]=1,s[a]=i,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[a]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[a]=i,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=a(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=i(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var h=new s(t,l,c,u);return h.update(e),h};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],h=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var a,i=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(a=this.axes.lastCubeProps.axis);for(var f=c,p=u,d=0;d<3;++d)a&&a[d]<0?(f[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(f[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);h[0]=e.drawingBufferWidth,h[1]=e.drawingBufferHeight,n.uniforms.model=i,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,f,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=h;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&("bounds"in t&&(this.bounds=t.bounds),"position"in t&&(this.position=t.position),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"colors"in t&&(this.colors=t.colors),"enabled"in t&&(this.enabled=t.enabled),"drawSides"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders/index":311,"gl-buffer":243,"gl-vao":328}],313:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * tubePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(tubePosition, 1.0);\n  vec4 t_position  = view * tubePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = tubePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  gl_Position = projection * view * tubePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:410}],314:[function(t,e,r){"use strict";var n=t("gl-vec3"),a=t("gl-vec4"),i=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,i){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++)o=Math.max(o,n.length(l[c]));var u=t.map(function(t){return function(t,e,r,i){for(var o=t.points,s=t.velocities,l=t.divergences,c=[],u=[],h=[],f=[],p=[],d=[],g=0,v=0,m=a.create(),y=a.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),v=n.length(_)/i,m=a.create(),n.copy(m,_),m[3]=w;for(var k=0;k<8;k++)p[k]=[b[0],b[1],b[2],k];if(f.length>0)for(k=0;k<8;k++){var T=(k+1)%8;c.push(f[k],p[k],p[T],p[T],f[T],f[k]),h.push(y,m,m,m,y,y),d.push(g,v,v,v,g,g);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=y;y=m,m=S;var E=g;g=v,v=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,i,o)}),h=[],f=[],p=[],d=[];for(s=0;s<u.length;s++){var g=u[s],v=h.length;h=h.concat(g.positions),p=p.concat(g.vectors),d=d.concat(g.vertexIntensity);for(c=0;c<g.cells.length;c++){var m=g.cells[c],y=[];f.push(y);for(var x=0;x<m.length;x++)y.push(m[x]+v)}}return{positions:h,cells:f,vectors:p,vertexIntensity:d,colormap:e}},s=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var a=t[r];if(a===e)return r;if(a>e)return r-1}return r},l=function(t,e,r){return t<e?e:t>r?r:t},c=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=t.length,n=1;n<r;n++){var a=Math.abs(t[n]-t[n-1]);a<e&&(e=a)}return e};e.exports=function(t,e){var r=t.startingPositions,a=t.maxLength||1e3,u=t.tubeSize||1,h=t.absoluteTubeSize,f=t.gridFill||"+x+y+z",p={};-1!==f.indexOf("-x")&&(p.reversedX=!0),-1!==f.indexOf("-y")&&(p.reversedY=!0),-1!==f.indexOf("-z")&&(p.reversedZ=!0),p.filled=i.indexOf(f.replace(/-/g,"").replace(/\+/g,""));var d=t.getVelocity||function(e){return function(t,e,r){var a=e.vectors,i=e.meshgrid,o=t[0],c=t[1],u=t[2],h=i[0].length,f=i[1].length,p=i[2].length,d=s(i[0],o),g=s(i[1],c),v=s(i[2],u),m=d+1,y=g+1,x=v+1;if(d=l(d,0,h-1),m=l(m,0,h-1),g=l(g,0,f-1),y=l(y,0,f-1),v=l(v,0,p-1),x=l(x,0,p-1),d<0||g<0||v<0||m>h-1||y>f-1||x>p-1)return n.create();var b,_,w,k,T,A,M=i[0][d],S=i[0][m],E=i[1][g],L=i[1][y],C=i[2][v],P=(o-M)/(S-M),O=(c-E)/(L-E),z=(u-C)/(i[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,m=h-1-m),r.reversedY&&(g=f-1-g,y=f-1-y),r.reversedZ&&(v=p-1-v,x=p-1-x),r.filled){case 5:T=v,A=x,w=g*p,k=y*p,b=d*p*f,_=m*p*f;break;case 4:T=v,A=x,b=d*p,_=m*p,w=g*p*h,k=y*p*h;break;case 3:w=g,k=y,T=v*f,A=x*f,b=d*f*p,_=m*f*p;break;case 2:w=g,k=y,b=d*f,_=m*f,T=v*f*h,A=x*f*h;break;case 1:b=d,_=m,T=v*h,A=x*h,w=g*h*p,k=y*h*p;break;default:b=d,_=m,w=g*h,k=y*h,T=v*h*f,A=x*h*f}var I=a[b+w+T],D=a[b+w+A],R=a[b+k+T],F=a[b+k+A],B=a[_+w+T],N=a[_+w+A],j=a[_+k+T],V=a[_+k+A],U=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(U,I,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,V,P);var Y=n.create(),W=n.create();n.lerp(Y,U,H,O),n.lerp(W,q,G,O);var X=n.create();return n.lerp(X,Y,W,z),X}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),a=1e-4;n.add(r,t,[a,0,0]);var i=d(r);n.subtract(i,i,e),n.scale(i,i,1e4),n.add(r,t,[0,a,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1e4),n.add(r,t,[0,0,a]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1e4),n.add(r,i,o),n.add(r,r,s),r},v=[],m=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],k=function(t){var e=t[0],r=t[1],n=t[2];return!(e<m||e>b||r<y||r>_||n<x||n>w)},T=10*n.distance(e[0],e[1])/a,A=T*T,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],a={},i={},o={},s=t.length,l=0;l<s;l++){var u=t[l],h=u[0],f=u[1],p=u[2];a[h]||(e.push(h),a[h]=!0),i[f]||(r.push(f),i[f]=!0),o[p]||(n.push(p),o[p]=!0)}var d=c(e),g=c(r),v=c(n),m=Math.min(d,g,v);return isFinite(m)?m:1}(r));for(var L=0;L<E;L++){var C=n.create();n.copy(C,r[L]);var P=[C],O=[],z=d(C),I=C;O.push(z);var D=[],R=g(C,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F),v.push({points:P,velocities:O,divergences:D});for(var B=0;B<100*a&&P.length<a&&k(C);){B++;var N=n.clone(z),j=n.squaredLength(N);if(0===j)break;if(j>A&&n.scale(N,N,T/Math.sqrt(j)),n.add(N,N,C),z=d(N),n.squaredDistance(I,N)-A>-1e-4*A){P.push(N),I=N,O.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}C=N}}var V=o(v,t.colormap,S,M);return h?V.tubeScale=h:(0===S&&(S=1),V.tubeScale=.5*u*M/S),V};var u=t("./lib/shaders"),h=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return h(t,e,{shaders:u,traceType:"streamtube"})}},{"./lib/shaders":313,"gl-cone3d":244,"gl-vec3":347,"gl-vec4":383}],315:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 localCoordinate = vec3(uv.zw, f.x);\n  worldCoordinate = objectOffset + localCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n  vec4 clipPosition = projection * view * worldPosition;\n  gl_Position = clipPosition;\n  kill = f.y;\n  value = f.z;\n  planeCoordinate = uv.xy;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * worldPosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  lightDirection = lightPosition - cameraCoordinate.xyz;\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  if ((kill > 0.0) ||\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n  vec3 N = normalize(surfaceNormal);\n  vec3 V = normalize(eyeDirection);\n  vec3 L = normalize(lightDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  //decide how to interpolate color \u2014 in vertex or in fragment\n  vec4 surfaceColor =\n    step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n    step(.5, vertexColor) * vColor;\n\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n  worldCoordinate = objectOffset + dataCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z += zOffset;\n\n  gl_Position = clipPosition;\n  value = f + objectOffset.z;\n  kill = -1.0;\n  planeCoordinate = uv.zw;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Don't do lighting for contours\n  surfaceNormal   = vec3(1,0,0);\n  eyeDirection    = vec3(0,1,0);\n  lightDirection  = vec3(0,0,1);\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n  float vh = 255.0 * v;\n  float upper = floor(vh);\n  float lower = fract(vh);\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n  if ((kill > 0.0) ||\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,i,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":303,glslify:410}],316:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],317:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=a(e),u=i(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=a(e),f=i(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=a(e),d=i(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,h,f,p,d,[0,0,0]),m={levels:[[],[],[]]};for(var k in t)m[k]=t[k];return m.colormap=m.colormap||"jet",v.update(m),v};var n=t("bit-twiddle"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),h=t("ndarray"),f=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),v=t("ndarray-gradient"),m=t("./lib/shaders"),y=m.createShader,x=m.createContourShader,b=m.createPickShader,_=m.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,a){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=a}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,a,i,o,l,c,u,f,p,d,g,v){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=v,this.intensityBounds=[],this._shader=n,this._pickShader=a,this._coordinateBuffer=i,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.isTransparent=function(){return this.opacity<1},L.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],P={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,a,i=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=P.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(i[r]>0)][r],p(l,t.model,l);var c=P.clipBounds[r];for(a=0;a<2;++a)for(n=0;n<3;++n)c[a][n]=t.clipBounds[a][n];c[0][r]=-1e8,c[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var z={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var a=0;a<2;++a)for(var i=n.clipBounds[a],o=0;o<3;++o)i[o]=Math.min(Math.max(this.clipBounds[a][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),a=0;a<3;++a)n.eyePosition[a]=s[12+a]/s[15];var l=s[15];for(a=0;a<3;++a)l+=this.lightPosition[a]*s[4*a+3];for(a=0;a<3;++a){var c=s[12+a];for(o=0;o<3;++o)c+=s[4*o+a]*this.lightPosition[o];n.lightPosition[a]=c/l}var u=O(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a<3;++a)this.surfaceProject[a]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[a],this._shader.uniforms.clipBounds=u.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),a=0;a<3;++a)for(h.uniforms.permutation=A[a],r.lineWidth(this.contourWidth[a]*this.pixelRatio),o=0;o<this.contourLevels[a].length;++o)o===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==o&&o-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),this._contourCounts[a][o]&&(h.uniforms.height=this.contourLevels[a][o],f.draw(r.LINES,this._contourCounts[a][o],this._contourOffsets[a][o]));for(a=0;a<3;++a)for(h.uniforms.model=u.projections[a],h.uniforms.clipBounds=u.clipBounds[a],o=0;o<3;++o)if(this.contourProject[a][o]){h.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][g]&&(h.uniforms.height=this.contourLevels[o][g],f.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g]))}for(f.unbind(),(f=this._dynamicVAO).bind(),a=0;a<3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=A[a],r.lineWidth(this.dynamicWidth[a]*this.pixelRatio),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),o=0;o<3;++o)this.contourProject[o][a]&&(h.uniforms.model=u.projections[o],h.uniforms.clipBounds=u.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));f.unbind()}}L.draw=function(t){return R.call(this,t,!1)},L.drawTransparent=function(t){return R.call(this,t,!0)};var F={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function B(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function N(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function j(t){if(Array.isArray(t)){if(Array.isArray(t))return[N(t[0]),N(t[1]),N(t[2])];var e=N(t);return[e.slice(),e.slice(),e.slice()]}}L.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=F;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=D;for(var n=0;n<2;++n)for(var a=r.clipBounds[n],i=0;i<3;++i)a[i]=Math.min(Math.max(this.clipBounds[n][i],-1e8),1e8);var o=O(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),i=0;i<3;++i)for(e.lineWidth(this.contourWidth[i]*this.pixelRatio),s.uniforms.permutation=A[i],n=0;n<this.contourLevels[i].length;++n)this._contourCounts[i][n]&&(s.uniforms.height=this.contourLevels[i][n],l.draw(e.LINES,this._contourCounts[i][n],this._contourOffsets[i][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],i=0;i<3;++i)if(this.contourProject[n][i]){s.uniforms.permutation=A[i],e.lineWidth(this.contourWidth[i]*this.pixelRatio);for(var c=0;c<this.contourLevels[i].length;++c)this._contourCounts[i][c]&&(s.uniforms.height=this.contourLevels[i][c],l.draw(e.LINES,this._contourCounts[i][c],this._contourOffsets[i][c]))}l.unbind()}},L.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,a=Math.floor(n),i=n-a,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;a+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?i:1-i,f=0;f<2;++f)for(var p=a+u,d=s+f,v=h*(f?l:1-l),m=0;m<3;++m)c[m]+=this._field[m].get(p,d)*v;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=i<.5?a:a+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,function(t){return B(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var a=(e.shape[0]+2)*(e.shape[1]+2);a>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(a))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==i[b])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var m=g[o];if((Array.isArray(m)||m.length)&&(m=h(m)),m.shape[0]!==i[o])throw new Error("gl-surface: invalid tick length");var y=h(m.data,i);y.stride[o]=m.stride[0],y.stride[1^o]=0,this.padField(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<i[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),b=0;b<i[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,i[1]+1,i[1]-1)}var _=this._field,w=h(s.mallocFloat(3*_[2].size*2),[3,i[0]+2,i[1]+2,2]);for(o=0;o<3;++o)v(w.pick(o),_[o],"mirror");var k=h(s.mallocFloat(3*_[2].size),[i[0]+2,i[1]+2,3]);for(o=0;o<i[0]+2;++o)for(b=0;b<i[1]+2;++b){var A=w.get(0,o,b,0),M=w.get(0,o,b,1),E=w.get(1,o,b,0),L=w.get(1,o,b,1),C=w.get(2,o,b,0),P=w.get(2,o,b,1),O=E*P-L*C,z=C*M-P*A,I=A*L-M*E,D=Math.sqrt(O*O+z*z+I*I);D<1e-8?(D=Math.max(Math.abs(O),Math.abs(z),Math.abs(I)))<1e-8?(I=1,z=O=0,D=1):D=1/D:D=1/Math.sqrt(D),k.set(o,b,0,O*D),k.set(o,b,1,z*D),k.set(o,b,2,I*D)}s.free(w.data);var R=[1/0,1/0,1/0],F=[-1/0,-1/0,-1/0],N=1/0,V=-1/0,U=(i[0]-1)*(i[1]-1)*6,q=s.mallocFloat(n.nextPow2(10*U)),H=0,G=0;for(o=0;o<i[0]-1;++o)t:for(b=0;b<i[1]-1;++b){for(var Y=0;Y<2;++Y)for(var W=0;W<2;++W)for(var X=0;X<3;++X){var Z=this._field[X].get(1+o+Y,1+b+W);if(isNaN(Z)||!isFinite(Z))continue t}for(X=0;X<6;++X){var J=o+T[X][0],K=b+T[X][1],Q=this._field[0].get(J+1,K+1),$=this._field[1].get(J+1,K+1);Z=this._field[2].get(J+1,K+1),O=k.get(J+1,K+1,0),z=k.get(J+1,K+1,1),I=k.get(J+1,K+1,2),t.intensity&&(tt=t.intensity.get(J,K));var tt=t.intensity?t.intensity.get(J,K):Z+this.objectOffset[2];q[H++]=J,q[H++]=K,q[H++]=Q,q[H++]=$,q[H++]=Z,q[H++]=0,q[H++]=tt,q[H++]=O,q[H++]=z,q[H++]=I,R[0]=Math.min(R[0],Q+this.objectOffset[0]),R[1]=Math.min(R[1],$+this.objectOffset[1]),R[2]=Math.min(R[2],Z+this.objectOffset[2]),N=Math.min(N,tt),F[0]=Math.max(F[0],Q+this.objectOffset[0]),F[1]=Math.max(F[1],$+this.objectOffset[1]),F[2]=Math.max(F[2],Z+this.objectOffset[2]),V=Math.max(V,tt),G+=1}}for(t.intensityBounds&&(N=+t.intensityBounds[0],V=+t.intensityBounds[1]),o=6;o<H;o+=10)q[o]=(q[o]-N)/(V-N);this._vertexCount=G,this._coordinateBuffer.update(q.subarray(0,H)),s.freeFloat(q),s.free(k.data),this.bounds=[R,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===N&&this.intensityBounds[1]===V||(r=!0),this.intensityBounds=[N,V]}if("levels"in t){var et=t.levels;for(et=Array.isArray(et[0])?et.slice():[[],[],et],o=0;o<3;++o)et[o]=et[o].slice(),et[o].sort(function(t,e){return t-e});for(o=0;o<3;++o)for(b=0;b<et[o].length;++b)et[o][b]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(et[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<et[o].length;++b)if(et[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=et}if(r){_=this._field,i=this.shape;for(var rt=[],nt=0;nt<3;++nt){var at=this.contourLevels[nt],it=[],ot=[],st=[0,0,0];for(o=0;o<at.length;++o){var lt=f(this._field[nt],at[o]);it.push(rt.length/5|0),G=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(X=0;X<2;++X){var ut=lt.positions[ct[X]],ht=ut[0],ft=0|Math.floor(ht),pt=ht-ft,dt=ut[1],gt=0|Math.floor(dt),vt=dt-gt,mt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(nt+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(J=0|Math.min(Math.max(ft+Y,0),i[0]),W=0;W<2;++W){var _t=W?vt:1-vt;if(K=0|Math.min(Math.max(gt+W,0),i[1]),Z=yt<2?this._field[xt].get(J,K):(this.intensity.get(J,K)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(Z)||isNaN(Z)){mt=!0;break e}var wt=bt*_t;st[yt]+=wt*Z}}}if(mt){if(X>0){for(var kt=0;kt<5;++kt)rt.pop();G-=1}continue t}rt.push(st[0],st[1],ut[0],ut[1],st[2]),G+=1}}ot.push(G)}this._contourOffsets[nt]=it,this._contourCounts[nt]=ot}var Tt=s.mallocFloat(rt.length);for(o=0;o<rt.length;++o)Tt[o]=rt[o];this._contourBuffer.update(Tt),s.freeFloat(Tt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:S,format:"rgba"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,a=this.shape,i=s.mallocFloat(12*a[0]*a[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],h=this._field[l],p=this._field[c],d=f(u,r[o]),g=d.cells,v=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var m=g[e],y=0;y<2;++y){var x=v[m[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,a[0]),k=b-_,T=1-k,A=+x[1],M=0|A,S=0|Math.min(M+1,a[1]),E=A-M,L=1-E,C=T*L,P=T*E,O=k*L,z=k*E,I=C*h.get(_,M)+P*h.get(_,S)+O*h.get(w,M)+z*h.get(w,S),D=C*p.get(_,M)+P*p.get(_,S)+O*p.get(w,M)+z*p.get(w,S);if(isNaN(I)||isNaN(D)){y&&(n-=1);break}i[2*n+0]=I,i[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(i.subarray(0,2*n)),s.freeFloat(i)}}},{"./lib/shaders":315,"binary-search-bounds":316,"bit-twiddle":93,colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-texture2d":323,"gl-vao":328,ndarray:451,"ndarray-gradient":442,"ndarray-ops":445,"ndarray-pack":446,"surface-nets":529,"typedarray-pool":543}],318:[function(t,e,r){"use strict";var n=t("css-font"),a=t("pick-by-alias"),i=t("regl"),o=t("gl-util/context"),s=t("es6-weak-map"),l=t("color-normalize"),c=t("font-atlas"),u=t("typedarray-pool"),h=t("parse-rect"),f=t("is-plain-obj"),p=t("parse-unit"),d=t("to-px"),g=t("detect-kerning"),v=t("object-assign"),m=t("font-measure"),y=t("flatten-vertex-data"),x=t("bit-twiddle").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var k=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||i({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(t)?t:{})};k.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t"+(k.normalViewport?"":"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);")+"\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t"+(k.normalViewport?"position.y = 1. - position.y;":"")+"\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},k.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=a(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(t){return parseFloat(t)}):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),k.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=k.baseFontSize+"px sans-serif");var r,i=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(k.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var a=n.stringify({size:k.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&a==e.font[r].baseString||(i=!0,e.font[r]=k.fonts[a],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:a,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:m(c,{origin:"top",fontSize:k.baseFontSize,fontStyle:u.join(" ")})},k.fonts[a]=e.font[r]}}),(i||o)&&this.font.forEach(function(r,a){var i=n.stringify({size:e.fontSize[a],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[a]=e.shader.atlas[i],!e.fontAtlas[a]){var o=r.metrics;e.shader.atlas[i]=e.fontAtlas[a]={fontString:i,step:2*Math.ceil(e.fontSize[a]*o.bottom*.5),em:e.fontSize[a],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)}),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f<s.length;f++)s[f]=t.text;t.text=s}if(null!=t.text||i){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach(function(t,n){k.atlasContext.font=t.baseString;for(var a=e.fontAtlas[n],i=0;i<e.text.length;i++){var o=e.text.charAt(i);if(null==a.ids[o]&&(a.ids[o]=a.chars.length,a.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=k.atlasContext.measureText(o).width/k.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);v(t.kerning,g(t.family,{pairs:s}))}}})}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,T=u.mallocFloat(2*this.count),A=0,M=0;A<this.counts.length;A++){var S=this.counts[A];if(w)for(var E=0;E<S;E++)T[M++]=t.position[2*A],T[M++]=t.position[2*A+1];else for(var L=0;L<S;L++)T[M++]=t.position[A][0],T[M++]=t.position[A][1]}this.position.call?this.position({type:"float",data:T}):this.position=this.regl.buffer({type:"float",data:T}),u.freeFloat(T)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||i){var C=u.mallocUint8(this.count),P=u.mallocFloat(2*this.count);this.textWidth=[];for(var O=0,z=0;O<this.counts.length;O++){for(var I=this.counts[O],D=this.font[O]||this.font[0],R=this.fontAtlas[O]||this.fontAtlas[0],F=0;F<I;F++){var B=this.text.charAt(z),N=this.text.charAt(z-1);if(C[z]=R.ids[B],P[2*z]=D.width[B],F){var j=P[2*z-2],V=P[2*z],U=P[2*z-1]+.5*j+.5*V;if(this.kerning){var q=D.kerning[N+B];q&&(U+=.001*q)}P[2*z+1]=U}else P[2*z+1]=.5*P[2*z];z++}this.textWidth.push(P.length?.5*P[2*z-2]+P[2*z-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:C,type:"uint8",usage:"stream"}),this.sizeBuffer({data:P,type:"float",usage:"stream"}),u.freeUint8(C),u.freeFloat(P),r.length&&this.font.forEach(function(t,r){var n=e.fontAtlas[r],a=n.step,i=Math.floor(k.maxAtlasSize/a),o=Math.min(i,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*a),u=x(s*a);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:k.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[a,a]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0})),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(t,r){var n=(e.font[r]||e.font[0]).metrics,a=0;return a+=.5*n.bottom,a+="number"==typeof t?t-n.baseline:-n[t],k.normalViewport||(a*=-1),a})),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W<G;W+=4)H.set(l(Y(W,W+4),"uint8"),W)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,"uint8"),4*Z)}this.color=H}else this.color=l(t.color,"uint8");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text="",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement("canvas"),k.atlasContext=k.atlasCanvas.getContext("2d",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{"bit-twiddle":93,"color-normalize":121,"css-font":140,"detect-kerning":167,"es6-weak-map":319,"flatten-vertex-data":229,"font-atlas":230,"font-measure":231,"gl-util/context":324,"is-plain-obj":423,"object-assign":455,"parse-rect":460,"parse-unit":462,"pick-by-alias":466,regl:500,"to-px":537,"typedarray-pool":543}],319:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?WeakMap:t("./polyfill")},{"./is-implemented":320,"./polyfill":322}],320:[function(t,e,r){"use strict";e.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&("function"==typeof t.set&&(t.set({},1)===t&&("function"==typeof t.delete&&("function"==typeof t.has&&"one"===t.get(e)))))}},{}],321:[function(t,e,r){"use strict";e.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},{}],322:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/is-value"),i=t("es5-ext/object/set-prototype-of"),o=t("es5-ext/object/valid-object"),s=t("es5-ext/object/valid-value"),l=t("es5-ext/string/random-uniq"),c=t("d"),u=t("es6-iterator/get"),h=t("es6-iterator/for-of"),f=t("es6-symbol").toStringTag,p=t("./is-native-implemented"),d=Array.isArray,g=Object.defineProperty,v=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,a(e)&&(d(e)||(e=u(e))),g(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(h(e,function(e){s(e),t.set(e[0],e[1])}),t):t},p&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c(function(t){return!!v.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:c(function(t){if(v.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:c(function(t){return v.call(o(t),this.__weakMapData__)}),set:c(function(t,e){return g(o(t),this.__weakMapData__,c("c",e)),this}),toString:c(function(){return"[object WeakMap]"})}),g(n.prototype,f,c("c","WeakMap"))},{"./is-native-implemented":321,d:152,"es5-ext/object/is-value":196,"es5-ext/object/set-prototype-of":202,"es5-ext/object/valid-object":206,"es5-ext/object/valid-value":207,"es5-ext/string/random-uniq":212,"es6-iterator/for-of":214,"es6-iterator/get":215,"es6-symbol":221}],323:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("ndarray-ops"),i=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||function(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if("number"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return function(t,e,r,n,a,i){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,a,a,i,e),new f(t,o,r,n,a,i)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return function(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var h,p,v=0;if(2===o.length)v=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])v=t.ALPHA;else if(2===o[2])v=t.LUMINANCE_ALPHA;else if(3===o[2])v=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var m=e.size;if(l)h=0===e.offset&&e.data.length===m?e.data:e.data.subarray(e.offset,e.offset+m);else{var y=[o[2],o[2]*o[0],1];p=i.malloc(m,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?a.assign(x,e):u(x,e),h=p.subarray(0,m)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,v,o[0],o[1],0,v,c,h),l||i.free(p);return new f(t,b,o[0],o[1],v,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){a.muls(t,e,255)};function h(t,e,r){var n=t.gl,a=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function f(t,e,r,n,a,i){this.gl=t,this.handle=e,this.format=a,this.type=i,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=f.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,a){var i=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture shape");if(a===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,a,null),new f(t,o,e,r,n,a)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,v=0,m=d(p,h.stride.slice());"float32"===f?g=t.FLOAT:"float64"===f?(g=t.FLOAT,m=!1,f="float32"):"uint8"===f?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,m=!1,f="uint8");if(2===p.length)v=t.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])v=t.ALPHA;else if(2===p[2])v=t.LUMINANCE_ALPHA;else if(3===p[2])v=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}p[2]}v!==t.LUMINANCE&&v!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(v=s);if(v!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=h.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&m)0===h.offset&&h.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+y));else{var b;b=l===t.FLOAT?i.mallocFloat32(y):i.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,h):a.assign(_,h),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?i.freeFloat32(b):i.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],324:[function(t,e,r){(function(r){"use strict";var n=t("pick-by-alias");function a(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function i(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},i(t)?t={container:t}:t="string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}i(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),a(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),a(t)}if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"pick-by-alias":466}],325:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var a=0;a<r.length;++a){var i=r[a];if(i.buffer){var o=i.buffer,s=i.size||4,l=i.type||t.FLOAT,c=!!i.normalized,u=i.stride||0,h=i.offset||0;o.bind(),t.enableVertexAttribArray(a),t.vertexAttribPointer(a,s,l,c,u,h)}else{if("number"==typeof i)t.vertexAttrib1f(a,i);else if(1===i.length)t.vertexAttrib1f(a,i[0]);else if(2===i.length)t.vertexAttrib2f(a,i[0],i[1]);else if(3===i.length)t.vertexAttrib3f(a,i[0],i[1],i[2]);else{if(4!==i.length)throw new Error("gl-vao: Invalid vertex attribute");t.vertexAttrib4f(a,i[0],i[1],i[2],i[3])}t.disableVertexAttribArray(a)}}for(;a<n;++a)t.disableVertexAttribArray(a)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),a=0;a<n;++a)t.disableVertexAttribArray(a)}},{}],326:[function(t,e,r){"use strict";var n=t("./do-bind.js");function a(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},a.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.dispose=function(){},a.prototype.unbind=function(){},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new a(t)}},{"./do-bind.js":325}],327:[function(t,e,r){"use strict";var n=t("./do-bind.js");function a(t,e,r,n,a,i){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=a,this.d=i}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var o=t[i];"number"==typeof o?this._attribs.push(new a(i,1,o)):Array.isArray(o)&&this._attribs.push(new a(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new i(t,e,e.createVertexArrayOES())}},{"./do-bind.js":325}],328:[function(t,e,r){"use strict";var n=t("./lib/vao-native.js"),a=t("./lib/vao-emulated.js");function i(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new i(t):t.getExtension("OES_vertex_array_object");return(s=l?n(t,l):a(t)).update(e,r,o),s}},{"./lib/vao-emulated.js":326,"./lib/vao-native.js":327}],329:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],330:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);a(r,r),a(o,o);var s=i(r,o);return s>1?0:Math.acos(s)};var n=t("./fromValues"),a=t("./normalize"),i=t("./dot")},{"./dot":340,"./fromValues":346,"./normalize":357}],331:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],332:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],333:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],334:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],335:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t}},{}],336:[function(t,e,r){e.exports=t("./distance")},{"./distance":337}],337:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}},{}],338:[function(t,e,r){e.exports=t("./divide")},{"./divide":339}],339:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],340:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],341:[function(t,e,r){e.exports=1e-6},{}],342:[function(t,e,r){e.exports=function(t,e){var r=t[0],a=t[1],i=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-s)<=n*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n*Math.max(1,Math.abs(i),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":341}],343:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],344:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],345:[function(t,e,r){e.exports=function(t,e,r,a,i,o){var s,l;e||(e=3);r||(r=0);l=a?Math.min(a*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],i(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t("./create")()},{"./create":334}],346:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],347:[function(t,e,r){e.exports={EPSILON:t("./epsilon"),create:t("./create"),clone:t("./clone"),angle:t("./angle"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),equals:t("./equals"),exactEquals:t("./exactEquals"),add:t("./add"),subtract:t("./subtract"),sub:t("./sub"),multiply:t("./multiply"),mul:t("./mul"),divide:t("./divide"),div:t("./div"),min:t("./min"),max:t("./max"),floor:t("./floor"),ceil:t("./ceil"),round:t("./round"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),dist:t("./dist"),squaredDistance:t("./squaredDistance"),sqrDist:t("./sqrDist"),length:t("./length"),len:t("./len"),squaredLength:t("./squaredLength"),sqrLen:t("./sqrLen"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),cross:t("./cross"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformMat3:t("./transformMat3"),transformQuat:t("./transformQuat"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),forEach:t("./forEach")}},{"./add":329,"./angle":330,"./ceil":331,"./clone":332,"./copy":333,"./create":334,"./cross":335,"./dist":336,"./distance":337,"./div":338,"./divide":339,"./dot":340,"./epsilon":341,"./equals":342,"./exactEquals":343,"./floor":344,"./forEach":345,"./fromValues":346,"./inverse":348,"./len":349,"./length":350,"./lerp":351,"./max":352,"./min":353,"./mul":354,"./multiply":355,"./negate":356,"./normalize":357,"./random":358,"./rotateX":359,"./rotateY":360,"./rotateZ":361,"./round":362,"./scale":363,"./scaleAndAdd":364,"./set":365,"./sqrDist":366,"./sqrLen":367,"./squaredDistance":368,"./squaredLength":369,"./sub":370,"./subtract":371,"./transformMat3":372,"./transformMat4":373,"./transformQuat":374}],348:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],349:[function(t,e,r){e.exports=t("./length")},{"./length":350}],350:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],351:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}},{}],352:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],353:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],354:[function(t,e,r){e.exports=t("./multiply")},{"./multiply":355}],355:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],356:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],357:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},{}],358:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}},{}],359:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[1],i=r[2],o=e[1]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=a+o*c-s*l,t[2]=i+o*l+s*c,t}},{}],360:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[2],o=e[0]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+s*l+o*c,t[1]=e[1],t[2]=i+s*c-o*l,t}},{}],361:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[1],o=e[0]-a,s=e[1]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+o*c-s*l,t[1]=i+o*l+s*c,t[2]=e[2],t}},{}],362:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],363:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],364:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],365:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],366:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":368}],367:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":369}],368:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}},{}],369:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],370:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":371}],371:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],372:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}},{}],373:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},{}],375:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],376:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],377:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],378:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],379:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)}},{}],380:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],381:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],382:[function(t,e,r){e.exports=function(t,e,r,n){var a=new Float32Array(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}},{}],383:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":375,"./clone":376,"./copy":377,"./create":378,"./distance":379,"./divide":380,"./dot":381,"./fromValues":382,"./inverse":384,"./length":385,"./lerp":386,"./max":387,"./min":388,"./multiply":389,"./negate":390,"./normalize":391,"./random":392,"./scale":393,"./scaleAndAdd":394,"./set":395,"./squaredDistance":396,"./squaredLength":397,"./subtract":398,"./transformMat4":399,"./transformQuat":400}],384:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],385:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)}},{}],386:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],387:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],388:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],389:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],390:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],391:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o);return t}},{}],392:[function(t,e,r){var n=t("./normalize"),a=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),a(t,t,e),t}},{"./normalize":391,"./scale":393}],393:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],394:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],395:[function(t,e,r){e.exports=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}},{}],396:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i}},{}],397:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a}},{}],398:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],399:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}},{}],400:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},{}],401:[function(t,e,r){e.exports=function(t,e,r,i){return n[0]=i,n[1]=r,n[2]=e,n[3]=t,a[0]};var n=new Uint8Array(4),a=new Float32Array(n.buffer)},{}],402:[function(t,e,r){var n=t("glsl-tokenizer"),a=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var i=e[r];if("preprocessor"===i.type){var o=i.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?a(l):l).trim()}}}}},{"atob-lite":73,"glsl-tokenizer":409}],403:[function(t,e,r){e.exports=function(t){var e,r,k,T=0,A=0,M=l,S=[],E=[],L=1,C=0,P=0,O=!1,z=!1,I="",D=i,R=n;"300 es"===(t=t||{}).version&&(D=s,R=o);return function(t){return E=[],null!==t?function(t){var r;T=0,k=(I+=t).length;for(;e=I[T],T<k;){switch(r=T,M){case u:T=V();break;case h:case f:T=j();break;case p:T=U();break;case d:T=G();break;case _:T=H();break;case g:T=Y();break;case c:T=W();break;case x:T=N();break;case l:T=B()}if(r!==T)switch(I[r]){case"\n":C=0,++L;break;default:++C}}return A+=T,I=I.slice(T),E}(t.replace?t.replace(/\r\n/g,"\n"):t):function(t){S.length&&F(S.join(""));return M=b,F("(eof)"),E}()};function F(t){t.length&&E.push({type:w[M],data:t,position:P,line:L,column:C})}function B(){return S=S.length?[]:S,"/"===r&&"*"===e?(P=A+T-1,M=u,r=e,T+1):"/"===r&&"/"===e?(P=A+T-1,M=h,r=e,T+1):"#"===e?(M=f,P=A+T,T):/\s/.test(e)?(M=x,P=A+T,T):(O=/\d/.test(e),z=/[^\w_]/.test(e),P=A+T,M=O?d:z?p:c,T)}function N(){return/[^\s]/g.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function j(){return"\r"!==e&&"\n"!==e||"\\"===r?(S.push(e),r=e,T+1):(F(S.join("")),M=l,T)}function V(){return"/"===e&&"*"===r?(S.push(e),F(S.join("")),M=l,T+1):(S.push(e),r=e,T+1)}function U(){if("."===r&&/\d/.test(e))return M=g,T;if("/"===r&&"*"===e)return M=u,T;if("/"===r&&"/"===e)return M=h,T;if("."===e&&S.length){for(;q(S););return M=g,T}if(";"===e||")"===e||"("===e){if(S.length)for(;q(S););return F(e),M=l,T+1}var t=2===S.length&&"="!==e;if(/[\w_\d\s]/.test(e)||t){for(;q(S););return M=l,T}return S.push(e),r=e,T+1}function q(t){for(var e,r,n=0;;){if(e=a.indexOf(t.slice(0,t.length+n).join("")),r=a[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join("")}return F(r),P+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function G(){return"."===e?(S.push(e),M=g,r=e,T+1):/[eE]/.test(e)?(S.push(e),M=g,r=e,T+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function Y(){return"f"===e&&(S.push(e),r=e,T+=1),/[eE]/.test(e)?(S.push(e),r=e,T+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function W(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=R.indexOf(t)>-1?y:D.indexOf(t)>-1?m:v,F(S.join("")),M=l,T}return S.push(e),r=e,T+1}};var n=t("./lib/literals"),a=t("./lib/operators"),i=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,g=5,v=6,m=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":405,"./lib/builtins-300es":404,"./lib/literals":407,"./lib/literals-300es":406,"./lib/operators":408}],404:[function(t,e,r){var n=t("./builtins");n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":405}],405:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],406:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":407}],407:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],408:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],409:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),a=[];return a=(a=a.concat(r(t))).concat(r(null))}},{"./index":403}],410:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},{}],411:[function(t,e,r){(function(r){"use strict";var n,a=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:a,e.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":418}],412:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":418}],413:[function(t,e,r){r.read=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},r.write=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],414:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var a=t[0].length;if(r<=a)throw new Error("Must input at least d+1 points");var o=t.slice(0,a+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(a+1),u=0;u<=a;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var h=new i(l,new Array(a+1),!1),f=h.adjacent,p=new Array(a+2),u=0;u<=a;++u){for(var d=l.slice(),g=0;g<=a;++g)g===u&&(d[g]=-1);var v=d[0];d[0]=d[1],d[1]=v;var m=new i(d,new Array(a+1),!0);f[u]=m,p[u]=m}p[a+1]=h;for(var u=0;u<=a;++u)for(var d=f[u].vertices,y=f[u].adjacent,g=0;g<=a;++g){var x=d[g];if(x<0)y[g]=h;else for(var b=0;b<=a;++b)f[b].vertices.indexOf(x)<0&&(y[g]=f[b])}for(var _=new c(a,o,p),w=!!e,u=a+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t("robust-orientation"),a=t("simplicial-complex").compareCells;function i(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return a(t.vertices,e.vertices)}i.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var a=0;a<=t;++a)this.tuple[a]=this.vertices[a];var i=l[t];i||(i=l[t]=function(t){for(var e=["function orient(){var tuple=this.tuple;return test("],r=0;r<=t;++r)r>0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var a=new Function("test",e.join("")),i=n[t+1];return i||(i=n),a(i)}(t)),this.orient=i}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,a=this.tuple,i=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];a[h]=f<0?e:i[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,i=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)i[u]=a[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=i[u];i[u]=t;var p=this.orient();if(i[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var v=0;v<=n;++v)if(v!==g){var m=d[v];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=a[y[b]];if(this.orient()>0){y[x]=r,m.boundary=!1,c.push(m),h.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=p.slice(),k=d.slice(),T=new i(w,k,!0);u.push(T);var A=_.indexOf(e);if(!(A<0)){_[A]=T,k[g]=m,w[v]=-1,k[v]=e,d[v]=T,T.flip();for(b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}f.push(new o(S,T,b))}}}}}}f.sort(s);for(v=0;v+1<f.length;v+=2){var P=f[v],O=f[v+1],z=P.index,I=O.index;z<0||I<0||(P.cell.adjacent[P.index]=O.cell,O.cell.adjacent[O.index]=P.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var a=this.dimension,i=this.tuple,o=0;o<=a;++o){var s=n.vertices[o];i[o]=s<0?t:r[s]}var l=this.orient(i);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,a=0;a<n;++a){var i=r[a];if(i.boundary){for(var o=new Array(t),s=i.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{"robust-orientation":508,"simplicial-complex":518}],415:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=0,i=1;function o(t,e,r,n,a){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=a,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function h(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?a:(r.splice(n,1),c(t,r),i)}function f(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var a=r(t[n]);if(a)return a}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var a=r(t[n]);if(a)return a}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function v(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function m(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(g);var n=e[e.length>>1],a=[],i=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?a.push(l):n<l[0]?i.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(v),u.sort(m),new o(n,y(a),y(i),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,v),a=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(a,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?h(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?h(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(1===this.count)return this.leftPoints[0]===t?2:a;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return i}for(s=n.ge(this.leftPoints,t,v);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,m);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),i}return a},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return f(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?f(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==a}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":92}],416:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],417:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],418:[function(t,e,r){e.exports=!0},{}],419:[function(t,e,r){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],420:[function(t,e,r){"use strict";e.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],421:[function(t,e,r){"use strict";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,a=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function i(t){t||(t={});var e=t.ua;return e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"==typeof e&&(t.tablet?a.test(e):n.test(e))}},{}],422:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},{}],423:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],424:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],425:[function(t,e,r){"use strict";e.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},{}],426:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],427:[function(t,e,r){var n,a;n=this,a=function(){"use strict";var t,e,r;function n(n,a){if(t)if(e){var i="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=a(o)).workerUrl=window.URL.createObjectURL(new Blob([i],{type:"text/javascript"}))}else e=a;else t=a}return n(0,function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,a,i,o;for(void 0===e&&(e=1e-6),a=t,o=0;o<8;o++){if(i=this.sampleCurveX(a)-t,Math.abs(i)<e)return a;var s=this.sampleCurveDerivativeX(a);if(Math.abs(s)<1e-6)break;a-=i/s}if((a=t)<(r=0))return r;if(a>(n=1))return n;for(;r<n;){if(i=this.sampleCurveX(a),Math.abs(i-t)<e)return a;t>i?r=a:n=a,a=.5*(n-r)+r}return a},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=i;function i(t,e){this.x=t,this.y=e}function o(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!o(t[r],e[r]))return!1;return!0}if("object"==typeof t&&null!==t&&null!==e){if("object"!=typeof e)return!1;if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var n in t)if(!o(t[n],e[n]))return!1;return!0}return t===e}function s(t,e,n,a){var i=new r(t,e,n,a);return function(t){return i.solve(t)}}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,a=r*this.x+e*this.y;return this.x=n,this.y=a,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),a=e.x+r*(this.x-e.x)-n*(this.y-e.y),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=a,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var l=s(.25,.1,.25,1);function c(t,e,r){return Math.min(r,Math.max(e,t))}function u(t,e,r){var n=r-e,a=((t-e)%n+n)%n+e;return a===e?r:a}function h(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}var f=1;function p(){return f++}function d(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function g(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function y(t,e,r){var n={};for(var a in t)n[a]=e.call(r||this,t[a],a,t);return n}function x(t,e,r){var n={};for(var a in t)e.call(r||this,t[a],a,t)&&(n[a]=t[a]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?y(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function k(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,a=n-1,i=void 0,o=void 0;r<n;a=r++)i=t[r],e+=((o=t[a]).x-i.x)*(i.y+o.y);return e}function A(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(t,r,n,a){var i=n||a;return e[r]=!i||i.toLowerCase(),""}),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}function M(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var S,E,L,C,P=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,z=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,I={now:P,frame:function(t){var e=O(t);return{cancel:function(){return z(e)}}},getImageData:function(t){var e=self.document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},resolveURL:function(t){return S||(S=self.document.createElement("a")),S.href=t,S.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==E&&(E=self.matchMedia("(prefers-reduced-motion: reduce)")),E.matches)}},D={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},R={supported:!1,testSupport:function(t){!F&&C&&(B?N(t):L=t)}},F=!1,B=!1;function N(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,C),t.isContextLost())return;R.supported=!0}catch(t){}t.deleteTexture(e),F=!0}self.document&&((C=self.document.createElement("img")).onload=function(){L&&N(L),L=null,B=!0},C.onerror=function(){F=!0,L=null},C.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var j="01",V=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function U(t){return 0===t.indexOf("mapbox:")}V.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",j,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},V.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},V.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},V.prototype.normalizeStyleURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeGlyphsURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSourceURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSpriteURL=function(t,e,r,n){var a=Y(t);return U(t)?(a.path="/styles/v1"+a.path+"/sprite"+e+r,this._makeAPIURL(a,this._customAccessToken||n)):(a.path+=""+e+r,W(a))},V.prototype.normalizeTileURL=function(t,e,r){if(this._isSkuTokenExpired()&&this._createSkuToken(),!e||!U(e))return t;var n=Y(t),a=I.devicePixelRatio>=2||512===r?"@2x":"",i=R.supported?".webp":"$1";return n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+a+i),n.path=n.path.replace(/^.+\/v4\//,"/"),n.path="/v4"+n.path,D.REQUIRE_ACCESS_TOKEN&&(D.ACCESS_TOKEN||this._customAccessToken)&&this._skuToken&&n.params.push("sku="+this._skuToken),this._makeAPIURL(n,this._customAccessToken)},V.prototype.canonicalizeTileURL=function(t){var e=Y(t);if(!e.path.match(/(^\/v4\/)/)||!e.path.match(/\.[\w]+$/))return t;var r="mapbox://tiles/";r+=e.path.replace("/v4/","");var n=e.params.filter(function(t){return!t.match(/^access_token=/)});return n.length&&(r+="?"+n.join("&")),r},V.prototype.canonicalizeTileset=function(t,e){if(!U(e))return t.tiles||[];for(var r=[],n=0,a=t.tiles;n<a.length;n+=1){var i=a[n],o=this.canonicalizeTileURL(i);r.push(o)}return r},V.prototype._makeAPIURL=function(t,e){var r="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",n=Y(D.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"/"!==n.path&&(t.path=""+n.path+t.path),!D.REQUIRE_ACCESS_TOKEN)return W(t);if(!(e=e||D.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter(function(t){return-1===t.indexOf("access_token")}),t.params.push("access_token="+e),W(t)};var q=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function H(t){return q.test(t)}var G=/^(\w+):\/\/([^\/?]*)(\/[^?]+)?\??(.+)?/;function Y(t){var e=t.match(G);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function W(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}function X(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(self.atob(e).split("").map(function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)}).join(""))))}catch(t){return null}}var Z=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Z.prototype.getStorageKey=function(t){var e,r=X(D.ACCESS_TOKEN),n="";return r&&r.u?(e=r.u,n=self.btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(t,e){return String.fromCharCode(Number("0x"+e))}))):n=D.ACCESS_TOKEN||"",t?"mapbox.eventData."+t+":"+n:"mapbox.eventData:"+n},Z.prototype.fetchEventData=function(){var t=M("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var a=self.localStorage.getItem(r);a&&(this.anonId=a)}catch(t){w("Unable to read from LocalStorage")}},Z.prototype.saveEventData=function(){var t=M("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Z.prototype.processRequests=function(t){},Z.prototype.postEvent=function(t,e,r,n){var a=this;if(D.EVENTS_URL){var i=Y(D.EVENTS_URL);i.params.push("access_token="+(n||D.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.3.2",skuId:j,userId:this.anonId},s=e?h(o,e):o,l={url:W(i),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=mt(l,function(t){a.pendingRequest=null,r(t),a.saveEventData(),a.processRequests(n)})}},Z.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var J,K=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(D.EVENTS_URL&&n||D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(t)}))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,a=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),g(this.anonId)||(this.anonId=d()),this.postEvent(a,{skuToken:this.skuToken},function(t){t||n&&(e.success[n]=!0)},t))}},e}(Z),Q=new(function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){D.EVENTS_URL&&D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(t)})&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=X(D.ACCESS_TOKEN),n=r?r.u:D.ACCESS_TOKEN,a=n!==this.eventData.tokenU;g(this.anonId)||(this.anonId=d(),a=!0);var i=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(i),l=(i-this.eventData.lastSuccess)/864e5;a=a||l>=1||l<-1||o.getDate()!==s.getDate()}else a=!0;if(!a)return this.processRequests();this.postEvent(i,{"enabled.telemetry":!1},function(t){t||(e.eventData.lastSuccess=i,e.eventData.tokenU=n)},t)}},e}(Z)),$=Q.postTurnstileEvent.bind(Q),tt=new K,et=tt.postMapLoadEvent.bind(tt),rt="mapbox-tiles",nt=500,at=50,it=42e4;function ot(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}var st=1/0,lt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(lt);var ct=function(t){function e(e,r,n){401===r&&H(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error);function ut(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}var ht=ut()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function ft(t,e){var r,n=new self.AbortController,a=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ht(),signal:n.signal}),i=!1,o=!1,s=(r=a.url).indexOf("sku=")>0&&H(r);"json"===t.type&&a.headers.set("Accept","application/json");var l=function(r,n,i){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&i)return c(n);var l=Date.now();self.fetch(a).then(function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new ct(r.statusText,r.status,t.url))}).catch(function(t){20!==t.code&&e(new Error(t.message))})}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then(function(t){o||(n&&s&&function(t,e,r){if(self.caches){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach(function(t,e){return n.headers.set(e,t)});var a=A(e.headers.get("Cache-Control")||"");a["no-store"]||(a["max-age"]&&n.headers.set("Expires",new Date(r+1e3*a["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<it||function(t,e){if(void 0===J)try{new Response(new ReadableStream),J=!0}catch(t){J=!1}J?e(t.body):t.blob().then(e)}(e,function(e){var r=new self.Response(e,n);self.caches.open(rt).then(function(e){return e.put(ot(t.url),r)}).catch(function(t){return w(t.message)})}))}}(a,n,s),i=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))}).catch(function(t){return e(new Error(t.message))})};return s?function(t,e){if(!self.caches)return e(null);var r=ot(t.url);self.caches.open(rt).then(function(t){t.match(r).then(function(n){var a=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")),r=A(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),a&&t.put(r,n.clone()),e(null,n,a)}).catch(e)}).catch(e)}(a,l):l(null,null),{cancel:function(){o=!0,i||n.abort()}}}var pt,dt,gt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(ht())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return ft(t,e);if(ut()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e)}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new ct(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},vt=function(t,e){return gt(h(t,{type:"arrayBuffer"}),e)},mt=function(t,e){return gt(h(t,{method:"POST"}),e)};pt=[],dt=0;var yt=function(t,e){if(dt>=D.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,a=function(){if(!n)for(n=!0,dt--;pt.length&&dt<D.MAX_PARALLEL_IMAGE_REQUESTS;){var t=pt.shift(),e=t.requestParameters,r=t.callback;t.cancelled||(t.cancel=yt(e,r).cancel)}},i=vt(t,function(t,r,n,i){if(a(),t)e(t);else if(r){var o=new self.Image,s=self.URL||self.webkitURL;o.onload=function(){e(null,o),s.revokeObjectURL(o.src)},o.onerror=function(){return e(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."))};var l=new self.Blob([new Uint8Array(r)],{type:"image/png"});o.cacheControl=n,o.expires=i,o.src=r.byteLength?s.createObjectURL(l):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}});return{cancel:function(){i.cancel(),a()}}};function xt(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function bt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var _t=function(t,e){void 0===e&&(e={}),h(this,e),this.type=t},wt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",h({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(_t),kt=function(){};kt.prototype.on=function(t,e){return this._listeners=this._listeners||{},xt(t,e,this._listeners),this},kt.prototype.off=function(t,e){return bt(t,e,this._listeners),bt(t,e,this._oneTimeListeners),this},kt.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},xt(t,e,this._oneTimeListeners),this},kt.prototype.fire=function(t,e){"string"==typeof t&&(t=new _t(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,a=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<a.length;n+=1)a[n].call(this,t);for(var i=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];i<o.length;i+=1){var s=o[i];bt(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(h(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof wt&&console.error(t.error);return this},kt.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},kt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Tt={$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"},sources:{required:!0,type:"sources"},sprite:{type:"string"},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"},"*":{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"},"*":{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:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1}},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"],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:"string",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:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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:{},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-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"},{"!":"text-variable-anchor"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,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":{}}},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:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},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}},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:"string",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:"string",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:"string",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:"string",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"}}},At=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Mt(t){var e=t.key,r=t.value;return r?[new At(e,r,"constants have been deprecated as of v8")]:[]}function St(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}function Et(t){return t instanceof Number||t instanceof String||t instanceof Boolean}function Lt(t){return Et(t)?t.valueOf():t}function Ct(t){if(Array.isArray(t))return t.map(Ct);if(t instanceof Object&&!Et(t)){var e={};for(var r in t)e[r]=Ct(t[r]);return e}return Lt(t)}var Pt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),Ot=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var a=n[r],i=a[0],o=a[1];this.bindings[i]=o}};Ot.prototype.concat=function(t){return new Ot(this,t)},Ot.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},Ot.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var zt={kind:"null"},It={kind:"number"},Dt={kind:"string"},Rt={kind:"boolean"},Ft={kind:"color"},Bt={kind:"object"},Nt={kind:"value"},jt={kind:"collator"},Vt={kind:"formatted"};function Ut(t,e){return{kind:"array",itemType:t,N:e}}function qt(t){if("array"===t.kind){var e=qt(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Ht=[zt,It,Dt,Rt,Ft,Vt,Bt,Ut(Nt)];function Gt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Gt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Ht;r<n.length;r+=1)if(!Gt(n[r],e))return null}return"Expected "+qt(t)+" but found "+qt(e)+" instead."}var Yt=e(function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function a(t){return t<0?0:t>1?1:t}function i(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?a(parseFloat(t)/100):a(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,a=t.replace(/ /g,"").toLowerCase();if(a in r)return r[a].slice();if("#"===a[0])return 4===a.length?(e=parseInt(a.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===a.length&&(e=parseInt(a.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=a.indexOf("("),c=a.indexOf(")");if(-1!==l&&c+1===a.length){var u=a.substr(0,l),h=a.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),g=o(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*s(m,v,p+1/3)),n(255*s(m,v,p)),n(255*s(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}}).parseCSSColor,Wt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Wt.parse=function(t){if(t){if(t instanceof Wt)return t;if("string"==typeof t){var e=Yt(t);if(e)return new Wt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Wt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],a=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+a+")"},Wt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},Wt.black=new Wt(0,0,0,1),Wt.white=new Wt(1,1,1,1),Wt.transparent=new Wt(0,0,0,0),Wt.red=new Wt(1,0,0,1);var Xt=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Xt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Xt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Zt=function(t,e,r,n){this.text=t,this.scale=e,this.fontStack=r,this.textColor=n},Jt=function(t){this.sections=t};function Kt(t,e,r,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function Qt(t){if(null===t)return zt;if("string"==typeof t)return Dt;if("boolean"==typeof t)return Rt;if("number"==typeof t)return It;if(t instanceof Wt)return Ft;if(t instanceof Xt)return jt;if(t instanceof Jt)return Vt;if(Array.isArray(t)){for(var e,r=t.length,n=0,a=t;n<a.length;n+=1){var i=Qt(a[n]);if(e){if(e===i)continue;e=Nt;break}e=i}return Ut(e||Nt,r)}return Bt}function $t(t){var e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Wt||t instanceof Jt?t.toString():JSON.stringify(t)}Jt.fromString=function(t){return new Jt([new Zt(t,null,null,null)])},Jt.prototype.toString=function(){return this.sections.map(function(t){return t.text}).join("")},Jt.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.text);var a={};n.fontStack&&(a["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(a["font-scale"]=n.scale),n.textColor&&(a["text-color"]=["rgba"].concat(n.textColor.toArray())),t.push(a)}return t};var te=function(t,e){this.type=t,this.value=e};te.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!function t(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Wt)return!0;if(e instanceof Xt)return!0;if(e instanceof Jt)return!0;if(Array.isArray(e)){for(var r=0,n=e;r<n.length;r+=1)if(!t(n[r]))return!1;return!0}if("object"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1}(t[1]))return e.error("invalid value");var r=t[1],n=Qt(r),a=e.expectedType;return"array"!==n.kind||0!==n.N||!a||"array"!==a.kind||"number"==typeof a.N&&0!==a.N||(n=a),new te(n,r)},te.prototype.evaluate=function(){return this.value},te.prototype.eachChild=function(){},te.prototype.possibleOutputs=function(){return[this.value]},te.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Wt?["rgba"].concat(this.value.toArray()):this.value instanceof Jt?this.value.serialize():this.value};var ee=function(t){this.name="ExpressionEvaluationError",this.message=t};ee.prototype.toJSON=function(){return this.message};var re={string:Dt,number:It,boolean:Rt,object:Bt},ne=function(t,e){this.type=t,this.args=e};ne.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r,n=1,a=t[0];if("array"===a){var i,o;if(t.length>2){var s=t[1];if("string"!=typeof s||!(s in re)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=re[s],n++}else i=Nt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Ut(i,o)}else r=re[a];for(var l=[];n<t.length;n++){var c=e.parse(t[n],n,Nt);if(!c)return null;l.push(c)}return new ne(r,l)},ne.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Gt(this.type,Qt(r)))return r;if(e===this.args.length-1)throw new ee("Expected value to be of type "+qt(this.type)+", but found "+qt(Qt(r))+" instead.")}return null},ne.prototype.eachChild=function(t){this.args.forEach(t)},ne.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},ne.prototype.serialize=function(){var t=this.type,e=[t.kind];if("array"===t.kind){var r=t.itemType;if("string"===r.kind||"number"===r.kind||"boolean"===r.kind){e.push(r.kind);var n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map(function(t){return t.serialize()}))};var ae=function(t){this.type=Vt,this.sections=t};ae.parse=function(t,e){if(t.length<3)return e.error("Expected at least two arguments.");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");for(var r=[],n=1;n<t.length-1;n+=2){var a=e.parse(t[n],1,Nt);if(!a)return null;var i=a.type.kind;if("string"!==i&&"value"!==i&&"null"!==i)return e.error("Formatted text type must be 'string', 'value', or 'null'.");var o=t[n+1];if("object"!=typeof o||Array.isArray(o))return e.error("Format options argument must be an object.");var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,It)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Ut(Dt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Ft)))return null;r.push({text:a,scale:s,font:l,textColor:c})}return new ae(r)},ae.prototype.evaluate=function(t){return new Jt(this.sections.map(function(e){return new Zt($t(e.text.evaluate(t)),e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)}))},ae.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.text),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},ae.prototype.possibleOutputs=function(){return[void 0]},ae.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.text.serialize());var a={};n.scale&&(a["font-scale"]=n.scale.serialize()),n.font&&(a["text-font"]=n.font.serialize()),n.textColor&&(a["text-color"]=n.textColor.serialize()),t.push(a)}return t};var ie={"to-boolean":Rt,"to-color":Ft,"to-number":It,"to-string":Dt},oe=function(t,e){this.type=t,this.args=e};oe.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ie[r],a=[],i=1;i<t.length;i++){var o=e.parse(t[i],i,Nt);if(!o)return null;a.push(o)}return new oe(n,a)},oe.prototype.evaluate=function(t){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(t));if("color"===this.type.kind){for(var e,r,n=0,a=this.args;n<a.length;n+=1){if(r=null,(e=a[n].evaluate(t))instanceof Wt)return e;if("string"==typeof e){var i=t.parseColor(e);if(i)return i}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":Kt(e[0],e[1],e[2],e[3])))return new Wt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ee(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var c=Number(o);if(!isNaN(c))return c}throw new ee("Could not convert "+JSON.stringify(o)+" to number.")}return"formatted"===this.type.kind?Jt.fromString($t(this.args[0].evaluate(t))):$t(this.args[0].evaluate(t))},oe.prototype.eachChild=function(t){this.args.forEach(t)},oe.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},oe.prototype.serialize=function(){if("formatted"===this.type.kind)return new ae([{text:this.args[0],scale:null,font:null,textColor:null}]).serialize();var t=["to-"+this.type.kind];return this.eachChild(function(e){t.push(e.serialize())}),t};var se=["Unknown","Point","LineString","Polygon"],le=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={}};le.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},le.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?se[this.feature.type]:this.feature.type:null},le.prototype.properties=function(){return this.feature&&this.feature.properties||{}},le.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Wt.parse(t)),e};var ce=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};ce.prototype.evaluate=function(t){return this._evaluate(t,this.args)},ce.prototype.eachChild=function(t){this.args.forEach(t)},ce.prototype.possibleOutputs=function(){return[void 0]},ce.prototype.serialize=function(){return[this.name].concat(this.args.map(function(t){return t.serialize()}))},ce.parse=function(t,e){var r,n=t[0],a=ce.definitions[n];if(!a)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var i=Array.isArray(a)?a[0]:a.type,o=Array.isArray(a)?[[a[1],a[2]]]:a.overloads,s=o.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),l=null,c=0,u=s;c<u.length;c+=1){var h=u[c],f=h[0],p=h[1];l=new ge(e.registry,e.path,null,e.scope);for(var d=[],g=!1,v=1;v<t.length;v++){var m=t[v],y=Array.isArray(f)?f[v-1]:f.type,x=l.parse(m,1+d.length,y);if(!x){g=!0;break}d.push(x)}if(!g)if(Array.isArray(f)&&f.length!==d.length)l.error("Expected "+f.length+" arguments, but found "+d.length+" instead.");else{for(var b=0;b<d.length;b++){var _=Array.isArray(f)?f[b]:f.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new ce(n,i,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var k=(s.length?s:o).map(function(t){var e;return e=t[0],Array.isArray(e)?"("+e.map(qt).join(", ")+")":"("+qt(e.type)+"...)"}).join(" | "),T=[],A=1;A<t.length;A++){var M=e.parse(t[A],1+T.length);if(!M)return null;T.push(qt(M.type))}e.error("Expected arguments of type "+k+", but found ("+T.join(", ")+") instead.")}return null},ce.register=function(t,e){for(var r in ce.definitions=e,e)t[r]=ce};var ue=function(t,e,r){this.type=jt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function he(t){if(t instanceof ce){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}var e=!0;return t.eachChild(function(t){e&&!he(t)&&(e=!1)}),e}function fe(t){if(t instanceof ce&&"feature-state"===t.name)return!1;var e=!0;return t.eachChild(function(t){e&&!fe(t)&&(e=!1)}),e}function pe(t,e){if(t instanceof ce&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild(function(t){r&&!pe(t,e)&&(r=!1)}),r}ue.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,Rt);if(!n)return null;var a=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,Rt);if(!a)return null;var i=null;return r.locale&&!(i=e.parse(r.locale,1,Dt))?null:new ue(n,a,i)},ue.prototype.evaluate=function(t){return new Xt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ue.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},ue.prototype.possibleOutputs=function(){return[void 0]},ue.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var de=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};de.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new de(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},de.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},de.prototype.eachChild=function(){},de.prototype.possibleOutputs=function(){return[void 0]},de.prototype.serialize=function(){return["var",this.name]};var ge=function(t,e,r,n,a){void 0===e&&(e=[]),void 0===n&&(n=new Ot),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return"["+t+"]"}).join(""),this.scope=n,this.errors=a,this.expectedType=r};function ve(t,e){for(var r,n,a=t.length-1,i=0,o=a,s=0;i<=o;)if(r=t[s=Math.floor((i+o)/2)],n=t[s+1],r<=e){if(s===a||e<n)return s;i=s+1}else{if(!(r>e))throw new ee("Input is not a number.");o=s-1}return 0}ge.prototype.parse=function(t,e,r,n,a){return void 0===a&&(a={}),e?this.concat(e,r,n)._parse(t,a):this._parse(t,a)},ge.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ne(e,[t]):"coerce"===r?new oe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var a=this.registry[n];if(a){var i=a.parse(t,this);if(!i)return null;if(this.expectedType){var o=this.expectedType,s=i.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else i=r(i,o,e.typeAnnotation||"coerce");else i=r(i,o,e.typeAnnotation||"assert")}if(!(i instanceof te)&&function t(e){if(e instanceof de)return t(e.boundExpression);if(e instanceof ce&&"error"===e.name)return!1;if(e instanceof ue)return!1;var r=e instanceof oe||e instanceof ne,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof te}),!!n&&(he(e)&&pe(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]))}(i)){var l=new le;try{i=new te(i.type,i.evaluate(l))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},ge.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new ge(this.registry,n,e||null,a,this.errors)},ge.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map(function(t){return"["+t+"]"}).join("");this.errors.push(new Pt(n,t))},ge.prototype.checkSubtype=function(t,e){var r=Gt(t,e);return r&&this.error(r),r};var me=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,a=r;n<a.length;n+=1){var i=a[n],o=i[0],s=i[1];this.labels.push(o),this.outputs.push(s)}};function ye(t,e,r){return t*(1-r)+e*r}me.parse=function(t,e){if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");var r=e.parse(t[1],1,It);if(!r)return null;var n=[],a=null;e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType);for(var i=1;i<t.length;i+=2){var o=1===i?-1/0:t[i],s=t[i+1],l=i,c=i+1;if("number"!=typeof o)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,a);if(!u)return null;a=a||u.type,n.push([o,u])}return new me(a,r,n)},me.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[ve(e,n)].evaluate(t)},me.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},me.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}))},me.prototype.serialize=function(){for(var t=["step",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var xe=Object.freeze({number:ye,color:function(t,e,r){return new Wt(ye(t.r,e.r,r),ye(t.g,e.g,r),ye(t.b,e.b,r),ye(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return ye(t,e[n],r)})}}),be=.95047,_e=1,we=1.08883,ke=4/29,Te=6/29,Ae=3*Te*Te,Me=Te*Te*Te,Se=Math.PI/180,Ee=180/Math.PI;function Le(t){return t>Me?Math.pow(t,1/3):t/Ae+ke}function Ce(t){return t>Te?t*t*t:Ae*(t-ke)}function Pe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function ze(t){var e=Oe(t.r),r=Oe(t.g),n=Oe(t.b),a=Le((.4124564*e+.3575761*r+.1804375*n)/be),i=Le((.2126729*e+.7151522*r+.072175*n)/_e);return{l:116*i-16,a:500*(a-i),b:200*(i-Le((.0193339*e+.119192*r+.9503041*n)/we)),alpha:t.a}}function Ie(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=_e*Ce(e),r=be*Ce(r),n=we*Ce(n),new Wt(Pe(3.2404542*r-1.5371385*e-.4985314*n),Pe(-.969266*r+1.8760108*e+.041556*n),Pe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var De={forward:ze,reverse:Ie,interpolate:function(t,e,r){return{l:ye(t.l,e.l,r),a:ye(t.a,e.a,r),b:ye(t.b,e.b,r),alpha:ye(t.alpha,e.alpha,r)}}},Re={forward:function(t){var e=ze(t),r=e.l,n=e.a,a=e.b,i=Math.atan2(a,n)*Ee;return{h:i<0?i+360:i,c:Math.sqrt(n*n+a*a),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Se,r=t.c;return Ie({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:ye(t.c,e.c,r),l:ye(t.l,e.l,r),alpha:ye(t.alpha,e.alpha,r)}}},Fe=Object.freeze({lab:De,hcl:Re}),Be=function(t,e,r,n,a){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var i=0,o=a;i<o.length;i+=1){var s=o[i],l=s[0],c=s[1];this.labels.push(l),this.outputs.push(c)}};function Ne(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}Be.interpolationFactor=function(t,e,n,a){var i=0;if("exponential"===t.name)i=Ne(e,t.base,n,a);else if("linear"===t.name)i=Ne(e,1,n,a);else if("cubic-bezier"===t.name){var o=t.controlPoints;i=new r(o[0],o[1],o[2],o[3]).solve(Ne(e,1,n,a))}return i},Be.parse=function(t,e){var r=t[0],n=t[1],a=t[2],i=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){var o=n[1];if("number"!=typeof o)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:o}}else{if("cubic-bezier"!==n[0])return e.error("Unknown interpolation type "+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some(function(t){return"number"!=typeof t||t<0||t>1}))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(a=e.parse(a,2,It)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Ft:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u<i.length;u+=2){var h=i[u],f=i[u+1],p=u+3,d=u+4;if("number"!=typeof h)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,c);if(!g)return null;c=c||g.type,l.push([h,g])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new Be(c,r,n,a,l):e.error("Type "+qt(c)+" is not interpolatable.")},Be.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;if(n>=e[a-1])return r[a-1].evaluate(t);var i=ve(e,n),o=e[i],s=e[i+1],l=Be.interpolationFactor(this.interpolation,n,o,s),c=r[i].evaluate(t),u=r[i+1].evaluate(t);return"interpolate"===this.operator?xe[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?Re.reverse(Re.interpolate(Re.forward(c),Re.forward(u),l)):De.reverse(De.interpolate(De.forward(c),De.forward(u),l))},Be.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},Be.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}))},Be.prototype.serialize=function(){var t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var je=function(t,e){this.type=t,this.args=e};je.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var a=[],i=0,o=t.slice(1);i<o.length;i+=1){var s=o[i],l=e.parse(s,1+a.length,r,void 0,{typeAnnotation:"omit"});if(!l)return null;r=r||l.type,a.push(l)}var c=n&&a.some(function(t){return Gt(n,t.type)});return new je(c?Nt:r,a)},je.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},je.prototype.eachChild=function(t){this.args.forEach(t)},je.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},je.prototype.serialize=function(){var t=["coalesce"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Ve=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};Ve.prototype.evaluate=function(t){return this.result.evaluate(t)},Ve.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},Ve.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var a=t[n];if("string"!=typeof a)return e.error("Expected string, but found "+typeof a+" instead.",n);if(/[^a-zA-Z0-9_]/.test(a))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var i=e.parse(t[n+1],n+1);if(!i)return null;r.push([a,i])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new Ve(r,o):null},Ve.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},Ve.prototype.serialize=function(){for(var t=["let"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];t.push(a,i.serialize())}return t.push(this.result.serialize()),t};var Ue=function(t,e,r){this.type=t,this.index=e,this.input=r};Ue.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,It),n=e.parse(t[2],2,Ut(e.expectedType||Nt));if(!r||!n)return null;var a=n.type;return new Ue(a.itemType,r,n)},Ue.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ee("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new ee("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ee("Array index must be an integer, but found "+e+" instead.");return r[e]},Ue.prototype.eachChild=function(t){t(this.index),t(this.input)},Ue.prototype.possibleOutputs=function(){return[void 0]},Ue.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var qe=function(t,e,r,n,a,i){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=a,this.otherwise=i};qe.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var a={},i=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error("Expected at least one branch label.");for(var u=0,h=s;u<h.length;u+=1){var f=h[u];if("number"!=typeof f&&"string"!=typeof f)return c.error("Branch labels must be numbers or strings.");if("number"==typeof f&&Math.abs(f)>Number.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,Qt(f)))return null}else r=Qt(f);if(void 0!==a[String(f)])return c.error("Branch labels must be unique.");a[String(f)]=i.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,i.push(p)}var d=e.parse(t[1],1,Nt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new qe(r,n,d,a,i,g):null},qe.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(Qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},qe.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},qe.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs())},qe.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},a=0,i=Object.keys(this.cases).sort();a<i.length;a+=1){var o=i[a];void 0===(h=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[h][1].push(o)}for(var s=function(e){return"number"===t.inputType.kind?Number(e):e},l=0,c=r;l<c.length;l+=1){var u=c[l],h=u[0],f=u[1];1===f.length?e.push(s(f[0])):e.push(f.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var He=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};function Ge(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function Ye(t,e,r,n){return 0===n.compare(e,r)}function We(t,e,r){var n="=="!==t&&"!="!==t;return function(){function a(t,e,r){this.type=Rt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}return a.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var r=t[0],i=e.parse(t[1],1,Nt);if(!i)return null;if(!Ge(r,i.type))return e.concat(1).error('"'+r+"\" comparisons are not supported for type '"+qt(i.type)+"'.");var o=e.parse(t[2],2,Nt);if(!o)return null;if(!Ge(r,o.type))return e.concat(2).error('"'+r+"\" comparisons are not supported for type '"+qt(o.type)+"'.");if(i.type.kind!==o.type.kind&&"value"!==i.type.kind&&"value"!==o.type.kind)return e.error("Cannot compare types '"+qt(i.type)+"' and '"+qt(o.type)+"'.");n&&("value"===i.type.kind&&"value"!==o.type.kind?i=new ne(o.type,[i]):"value"!==i.type.kind&&"value"===o.type.kind&&(o=new ne(i.type,[o])));var s=null;if(4===t.length){if("string"!==i.type.kind&&"string"!==o.type.kind&&"value"!==i.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(s=e.parse(t[3],3,jt)))return null}return new a(i,o,s)},a.prototype.evaluate=function(a){var i=this.lhs.evaluate(a),o=this.rhs.evaluate(a);if(n&&this.hasUntypedArgument){var s=Qt(i),l=Qt(o);if(s.kind!==l.kind||"string"!==s.kind&&"number"!==s.kind)throw new ee('Expected arguments for "'+t+'" to be (string, string) or (number, number), but found ('+s.kind+", "+l.kind+") instead.")}if(this.collator&&!n&&this.hasUntypedArgument){var c=Qt(i),u=Qt(o);if("string"!==c.kind||"string"!==u.kind)return e(a,i,o)}return this.collator?r(a,i,o,this.collator.evaluate(a)):e(a,i,o)},a.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},a.prototype.possibleOutputs=function(){return[!0,!1]},a.prototype.serialize=function(){var e=[t];return this.eachChild(function(t){e.push(t.serialize())}),e},a}()}He.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],a=1;a<t.length-1;a+=2){var i=e.parse(t[a],a,Rt);if(!i)return null;var o=e.parse(t[a+1],a+1,r);if(!o)return null;n.push([i,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new He(r,n,s):null},He.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];if(a.evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},He.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];t(a),t(i)}t(this.otherwise)},He.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs())},He.prototype.serialize=function(){var t=["case"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Xe=We("==",function(t,e,r){return e===r},Ye),Ze=We("!=",function(t,e,r){return e!==r},function(t,e,r,n){return!Ye(0,e,r,n)}),Je=We("<",function(t,e,r){return e<r},function(t,e,r,n){return n.compare(e,r)<0}),Ke=We(">",function(t,e,r){return e>r},function(t,e,r,n){return n.compare(e,r)>0}),Qe=We("<=",function(t,e,r){return e<=r},function(t,e,r,n){return n.compare(e,r)<=0}),$e=We(">=",function(t,e,r){return e>=r},function(t,e,r,n){return n.compare(e,r)>=0}),tr=function(t,e,r,n,a){this.type=Dt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=a};tr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,It);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var a=null;if(n.locale&&!(a=e.parse(n.locale,1,Dt)))return null;var i=null;if(n.currency&&!(i=e.parse(n.currency,1,Dt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,It)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,It))?null:new tr(r,a,i,o,s)},tr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},tr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},tr.prototype.possibleOutputs=function(){return[void 0]},tr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var er=function(t){this.type=It,this.input=t};er.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+qt(r.type)+" instead."):new er(r):null},er.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ee("Expected value to be of type string or array, but found "+qt(Qt(e))+" instead.")},er.prototype.eachChild=function(t){t(this.input)},er.prototype.possibleOutputs=function(){return[void 0]},er.prototype.serialize=function(){var t=["length"];return this.eachChild(function(e){t.push(e.serialize())}),t};var rr={"==":Xe,"!=":Ze,">":Ke,"<":Je,">=":$e,"<=":Qe,array:ne,at:Ue,boolean:ne,case:He,coalesce:je,collator:ue,format:ae,interpolate:Be,"interpolate-hcl":Be,"interpolate-lab":Be,length:er,let:Ve,literal:te,match:qe,number:ne,"number-format":tr,object:ne,step:me,string:ne,"to-boolean":oe,"to-color":oe,"to-number":oe,"to-string":oe,var:de};function nr(t,e){var r=e[0],n=e[1],a=e[2],i=e[3];r=r.evaluate(t),n=n.evaluate(t),a=a.evaluate(t);var o=i?i.evaluate(t):1,s=Kt(r,n,a,o);if(s)throw new ee(s);return new Wt(r/255*o,n/255*o,a/255*o,o)}function ar(t,e){return t in e}function ir(t,e){var r=e[t];return void 0===r?null:r}function or(t){return{type:t}}function sr(t){return{result:"success",value:t}}function lr(t){return{result:"error",value:t}}function cr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function ur(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function hr(t){return!!t.expression&&t.expression.interpolated}function fr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function pr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function dr(t){return t}function gr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function vr(t,e,r,n,a){return gr(typeof r===a?n[r]:void 0,t.default,e.default)}function mr(t,e,r){if("number"!==fr(r))return gr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=ve(t.stops.map(function(t){return t[0]}),r);return t.stops[a][1]}function yr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==fr(r))return gr(t.default,e.default);var a=t.stops.length;if(1===a)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[a-1][0])return t.stops[a-1][1];var i=ve(t.stops.map(function(t){return t[0]}),r),o=function(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}(r,n,t.stops[i][0],t.stops[i+1][0]),s=t.stops[i][1],l=t.stops[i+1][1],c=xe[e.type]||dr;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=Fe[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function xr(t,e,r){return"color"===e.type?r=Wt.parse(r):"formatted"===e.type?r=Jt.fromString(r.toString()):fr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),gr(r,t.default,e.default)}ce.register(rr,{error:[{kind:"error"},[Dt],function(t,e){var r=e[0];throw new ee(r.evaluate(t))}],typeof:[Dt,[Nt],function(t,e){return qt(Qt(e[0].evaluate(t)))}],"to-rgba":[Ut(It,4),[Ft],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Ft,[It,It,It],nr],rgba:[Ft,[It,It,It,It],nr],has:{type:Rt,overloads:[[[Dt],function(t,e){return ar(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ar(r.evaluate(t),n.evaluate(t))}]]},get:{type:Nt,overloads:[[[Dt],function(t,e){return ir(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ir(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Nt,[Dt],function(t,e){return ir(e[0].evaluate(t),t.featureState||{})}],properties:[Bt,[],function(t){return t.properties()}],"geometry-type":[Dt,[],function(t){return t.geometryType()}],id:[Nt,[],function(t){return t.id()}],zoom:[It,[],function(t){return t.globals.zoom}],"heatmap-density":[It,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[It,[],function(t){return t.globals.lineProgress||0}],accumulated:[Nt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[It,or(It),function(t,e){for(var r=0,n=0,a=e;n<a.length;n+=1)r+=a[n].evaluate(t);return r}],"*":[It,or(It),function(t,e){for(var r=1,n=0,a=e;n<a.length;n+=1)r*=a[n].evaluate(t);return r}],"-":{type:It,overloads:[[[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[It],function(t,e){return-e[0].evaluate(t)}]]},"/":[It,[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],"%":[It,[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[It,[],function(){return Math.LN2}],pi:[It,[],function(){return Math.PI}],e:[It,[],function(){return Math.E}],"^":[It,[It,It],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[It,[It],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN10}],ln:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN2}],sin:[It,[It],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[It,[It],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[It,[It],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[It,[It],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[It,[It],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[It,[It],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[It,or(It),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[It,or(It),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],abs:[It,[It],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[It,[It],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[It,[It],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[It,[It],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],"filter-==":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[Rt,[Nt],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[Rt,[Dt],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<i}],"filter-id-<":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<a}],"filter->":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>i}],"filter-id->":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>a}],"filter-<=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<=i}],"filter-id-<=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<=a}],"filter->=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>=i}],"filter-id->=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>=a}],"filter-has":[Rt,[Nt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Rt,[],function(t){return null!==t.id()}],"filter-type-in":[Rt,[Ut(Dt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Rt,[Ut(Nt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var a=r+n>>1;if(e[a]===t)return!0;e[a]>t?n=a-1:r=a+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Rt,overloads:[[[Rt,Rt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[or(Rt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:Rt,overloads:[[[Rt,Rt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[or(Rt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},"!":[Rt,[Rt],function(t,e){return!e[0].evaluate(t)}],"is-supported-script":[Rt,[Dt],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[Dt,[Dt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Dt,[Dt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Dt,or(Nt),function(t,e){return e.map(function(e){return $t(e.evaluate(t))}).join("")}],"resolved-locale":[Dt,[jt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var br=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new le,this._defaultValue=e?function(t){return"color"===t.type&&pr(t.default)?new Wt(0,0,0,0):"color"===t.type?Wt.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null};function _r(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in rr}function wr(t,e){var r=new ge(rr,[],e?function(t){var e={color:Ft,string:Dt,number:It,enum:Dt,boolean:Rt,formatted:Vt};return"array"===t.type?Ut(e[t.value]||Nt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?sr(new br(n,e)):lr(r.errors)}br.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.formattedSection=n,this.expression.evaluate(this._evaluator)},br.prototype.evaluate=function(t,e,r,n){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.formattedSection=n||null;try{var a=this.expression.evaluate(this._evaluator);if(null==a)return this._defaultValue;if(this._enumValues&&!(a in this._enumValues))throw new ee("Expected value to be one of "+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(", ")+", but found "+JSON.stringify(a)+" instead.");return a}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var kr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!fe(e.expression)};kr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n)},kr.prototype.evaluate=function(t,e,r,n){return this._styleExpression.evaluate(t,e,r,n)};var Tr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!fe(e.expression),this.interpolationType=n};function Ar(t,e){if("error"===(t=wr(t,e)).result)return t;var r=t.value.expression,n=he(r);if(!n&&!cr(e))return lr([new Pt("","data expressions not supported")]);var a=pe(r,["zoom"]);if(!a&&!ur(e))return lr([new Pt("","zoom expressions not supported")]);var i=function t(e){var r=null;if(e instanceof Ve)r=t(e.result);else if(e instanceof je)for(var n=0,a=e.args;n<a.length;n+=1){var i=a[n];if(r=t(i))break}else(e instanceof me||e instanceof Be)&&e.input instanceof ce&&"zoom"===e.input.name&&(r=e);return r instanceof Pt?r:(e.eachChild(function(e){var n=t(e);n instanceof Pt?r=n:!r&&n?r=new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):r&&n&&r!==n&&(r=new Pt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),r)}(r);if(!i&&!a)return lr([new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(i instanceof Pt)return lr([i]);if(i instanceof Be&&!hr(e))return lr([new Pt("",'"interpolate" expressions cannot be used with this property')]);if(!i)return sr(new kr(n?"constant":"source",t.value));var o=i instanceof Be?i.interpolation:void 0;return sr(new Tr(n?"camera":"composite",t.value,i.labels,o))}Tr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n)},Tr.prototype.evaluate=function(t,e,r,n){return this._styleExpression.evaluate(t,e,r,n)},Tr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?Be.interpolationFactor(this.interpolationType,t,e,r):0};var Mr=function(t,e){this._parameters=t,this._specification=e,St(this,function t(e,r){var n,a,i,o="color"===r.type,s=e.stops&&"object"==typeof e.stops[0][0],l=s||void 0!==e.property,c=s||!l,u=e.type||(hr(r)?"exponential":"interval");if(o&&((e=St({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],Wt.parse(t[1])]})),e.default?e.default=Wt.parse(e.default):e.default=Wt.parse(r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!Fe[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===u)n=yr;else if("interval"===u)n=mr;else if("categorical"===u){n=vr,a=Object.create(null);for(var h=0,f=e.stops;h<f.length;h+=1){var p=f[h];a[p[0]]=p[1]}i=typeof e.stops[0][0]}else{if("identity"!==u)throw new Error('Unknown function type "'+u+'"');n=xr}if(s){for(var d={},g=[],v=0;v<e.stops.length;v++){var m=e.stops[v],y=m[0].zoom;void 0===d[y]&&(d[y]={zoom:y,type:e.type,property:e.property,default:e.default,stops:[]},g.push(y)),d[y].stops.push([m[0].value,m[1]])}for(var x=[],b=0,_=g;b<_.length;b+=1){var w=_[b];x.push([d[w].zoom,t(d[w],r)])}var k={name:"linear"};return{kind:"composite",interpolationType:k,interpolationFactor:Be.interpolationFactor.bind(void 0,k),zoomStops:x.map(function(t){return t[0]}),evaluate:function(t,n){var a=t.zoom;return yr({stops:x,base:e.base},r,a).evaluate(a,n)}}}if(c){var T="exponential"===u?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:T,interpolationFactor:Be.interpolationFactor.bind(void 0,T),zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var o=t.zoom;return n(e,r,o,a,i)}}}return{kind:"source",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?gr(e.default,r.default):n(e,r,s,a,i)}}}(this._parameters,this._specification))};function Sr(t){var e=t.key,r=t.value,n=t.valueSpec||{},a=t.objectElementValidators||{},i=t.style,o=t.styleSpec,s=[],l=fr(r);if("object"!==l)return[new At(e,r,"object expected, "+l+" found")];for(var c in r){var u=c.split(".")[0],h=n[u]||n["*"],f=void 0;if(a[u])f=a[u];else if(n[u])f=Kr;else if(a["*"])f=a["*"];else{if(!n["*"]){s.push(new At(e,r[c],'unknown property "'+c+'"'));continue}f=Kr}s=s.concat(f({key:(e?e+".":e)+c,value:r[c],valueSpec:h,style:i,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)a[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new At(e,r,'missing required property "'+p+'"'));return s}function Er(t){var e=t.value,r=t.valueSpec,n=t.style,a=t.styleSpec,i=t.key,o=t.arrayElementValidator||Kr;if("array"!==fr(e))return[new At(i,e,"array expected, "+fr(e)+" found")];if(r.length&&e.length!==r.length)return[new At(i,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return[new At(i,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value,values:r.values};a.$version<7&&(s.function=r.function),"object"===fr(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:a,key:i+"["+c+"]"}));return l}function Lr(t){var e=t.key,r=t.value,n=t.valueSpec,a=fr(r);return"number"!==a?[new At(e,r,"number expected, "+a+" found")]:"minimum"in n&&r<n.minimum?[new At(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new At(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function Cr(t){var e,r,n,a=t.valueSpec,i=Lt(t.value.type),o={},s="categorical"!==i&&void 0===t.value.property,l=!s,c="array"===fr(t.value.stops)&&"array"===fr(t.value.stops[0])&&"object"===fr(t.value.stops[0][0]),u=Sr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new At(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Er({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===fr(r)&&0===r.length&&e.push(new At(t.key,r,"array must have at least one stop")),e},default:function(t){return Kr({key:t.key,value:t.value,valueSpec:a,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&s&&u.push(new At(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||u.push(new At(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!hr(t.valueSpec)&&u.push(new At(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!cr(t.valueSpec)?u.push(new At(t.key,t.value,"property functions not supported")):s&&!ur(t.valueSpec)&&u.push(new At(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||u.push(new At(t.key,t.value,'"property" property is required')),u;function h(t){var e=[],i=t.value,s=t.key;if("array"!==fr(i))return[new At(s,i,"array expected, "+fr(i)+" found")];if(2!==i.length)return[new At(s,i,"array length 2 expected, length "+i.length+" found")];if(c){if("object"!==fr(i[0]))return[new At(s,i,"object expected, "+fr(i[0])+" found")];if(void 0===i[0].zoom)return[new At(s,i,"object stop key must have zoom")];if(void 0===i[0].value)return[new At(s,i,"object stop key must have value")];if(n&&n>Lt(i[0].zoom))return[new At(s,i[0].zoom,"stop zoom values must appear in ascending order")];Lt(i[0].zoom)!==n&&(n=Lt(i[0].zoom),r=void 0,o={}),e=e.concat(Sr({key:s+"[0]",value:i[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Lr,value:f}}))}else e=e.concat(f({key:s+"[0]",value:i[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},i));return _r(Ct(i[1]))?e.concat([new At(s+"[1]",i[1],"expressions are not allowed in function stops.")]):e.concat(Kr({key:s+"[1]",value:i[1],valueSpec:a,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=fr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new At(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new At(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==i){var u="number expected, "+s+" found";return cr(a)&&void 0===i&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new At(t.key,c,u)]}return"categorical"!==i||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===s&&void 0!==r&&l<r?[new At(t.key,c,"stop domain values must appear in ascending order")]:(r=l,"categorical"===i&&l in o?[new At(t.key,c,"stop domain values must be unique")]:(o[l]=!0,[])):[new At(t.key,c,"integer expected, found "+l)]}}function Pr(t){var e=("property"===t.expressionContext?Ar:wr)(Ct(t.value),t.valueSpec);if("error"===e.result)return e.value.map(function(e){return new At(""+t.key+e.key,t.value,e.message)});var r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&-1!==r.possibleOutputs().indexOf(void 0))return[new At(t.key,t.value,'Invalid data expression for "'+t.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===t.expressionContext&&"layout"===t.propertyType&&!fe(r))return[new At(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!fe(r))return[new At(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!pe(r,["zoom","feature-state"]))return[new At(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!he(r))return[new At(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Or(t){var e=t.key,r=t.value,n=t.valueSpec,a=[];return Array.isArray(n.values)?-1===n.values.indexOf(Lt(r))&&a.push(new At(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(Lt(r))&&a.push(new At(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),a}function zr(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!zr(n)&&"boolean"!=typeof n)return!1}return!0;default:return!0}}Mr.deserialize=function(t){return new Mr(t._parameters,t._specification)},Mr.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var Ir={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Dr(t){if(null==t)return function(){return!0};zr(t)||(t=Fr(t));var e=wr(t,Ir);if("error"===e.result)throw new Error(e.value.map(function(t){return t.key+": "+t.message}).join(", "));return function(t,r){return e.value.evaluate(t,r)}}function Rr(t,e){return t<e?-1:t>e?1:0}function Fr(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?Br(t[1],t[2],"=="):"!="===r?Vr(Br(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?Br(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(Fr))):"all"===r?["all"].concat(t.slice(1).map(Fr)):"none"===r?["all"].concat(t.slice(1).map(Fr).map(Vr)):"in"===r?Nr(t[1],t.slice(2)):"!in"===r?Vr(Nr(t[1],t.slice(2))):"has"===r?jr(t[1]):"!has"!==r||Vr(jr(t[1]))}function Br(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Nr(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?["filter-in-large",t,["literal",e.sort(Rr)]]:["filter-in-small",t,["literal",e]]}}function jr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Vr(t){return["!",t]}function Ur(t){return zr(Ct(t.value))?Pr(St({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==fr(r))return[new At(n,r,"array expected, "+fr(r)+" found")];var a,i=e.styleSpec,o=[];if(r.length<1)return[new At(n,r,"filter array must have at least 1 element")];switch(o=o.concat(Or({key:n+"[0]",value:r[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===Lt(r[1])&&o.push(new At(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new At(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(a=fr(r[1]))&&o.push(new At(n+"[1]",r[1],"string expected, "+a+" found"));for(var s=2;s<r.length;s++)a=fr(r[s]),"$type"===Lt(r[1])?o=o.concat(Or({key:n+"["+s+"]",value:r[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):"string"!==a&&"number"!==a&&"boolean"!==a&&o.push(new At(n+"["+s+"]",r[s],"string, number, or boolean expected, "+a+" found"));break;case"any":case"all":case"none":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+"["+l+"]",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":a=fr(r[1]),2!==r.length?o.push(new At(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"string"!==a&&o.push(new At(n+"[1]",r[1],"string expected, "+a+" found"))}return o}(t)}function qr(t,e){var r=t.key,n=t.style,a=t.styleSpec,i=t.value,o=t.objectKey,s=a[e+"_"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if("paint"===e&&l&&s[l[1]]&&s[l[1]].transition)return Kr({key:r,value:i,valueSpec:a.transition,style:n,styleSpec:a});var c,u=t.valueSpec||s[o];if(!u)return[new At(r,i,'unknown property "'+o+'"')];if("string"===fr(i)&&cr(u)&&!u.tokens&&(c=/^{([^}]+)}$/.exec(i)))return[new At(r,i,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(c[1])+" }`.")];var h=[];return"symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&h.push(new At(r,i,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&pr(Ct(i))&&"identity"===Lt(i.type)&&h.push(new At(r,i,'"text-font" does not support identity functions'))),h.concat(Kr({key:t.key,value:i,valueSpec:u,style:n,styleSpec:a,expressionContext:"property",propertyType:e,propertyKey:o}))}function Hr(t){return qr(t,"paint")}function Gr(t){return qr(t,"layout")}function Yr(t){var e=[],r=t.value,n=t.key,a=t.style,i=t.styleSpec;r.type||r.ref||e.push(new At(n,r,'either "type" or "ref" is required'));var o,s=Lt(r.type),l=Lt(r.ref);if(r.id)for(var c=Lt(r.id),u=0;u<t.arrayIndex;u++){var h=a.layers[u];Lt(h.id)===c&&e.push(new At(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+h.id.__line__))}if("ref"in r)["type","source","source-layer","filter","layout"].forEach(function(t){t in r&&e.push(new At(n,r[t],'"'+t+'" is prohibited for ref layers'))}),a.layers.forEach(function(t){Lt(t.id)===l&&(o=t)}),o?o.ref?e.push(new At(n,r.ref,"ref cannot reference another ref layer")):s=Lt(o.type):e.push(new At(n,r.ref,'ref layer "'+l+'" not found'));else if("background"!==s)if(r.source){var f=a.sources&&a.sources[r.source],p=f&&Lt(f.type);f?"vector"===p&&"raster"===s?e.push(new At(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===p&&"raster"!==s?e.push(new At(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==p||r["source-layer"]?"raster-dem"===p&&"hillshade"!==s?e.push(new At(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===p&&f.lineMetrics||e.push(new At(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new At(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new At(n,r.source,'source "'+r.source+'" not found'))}else e.push(new At(n,r,'missing required property "source"'));return e=e.concat(Sr({key:n,value:r,valueSpec:i.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return Kr({key:n+".type",value:r.type,valueSpec:i.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:Ur,layout:function(t){return Sr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Gr(St({layerType:s},t))}}})},paint:function(t){return Sr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Hr(St({layerType:s},t))}}})}}}))}function Wr(t){var e=t.value,r=t.key,n=t.styleSpec,a=t.style;if(!e.type)return[new At(r,e,'"type" is required')];var i,o=Lt(e.type);switch(o){case"vector":case"raster":case"raster-dem":return Sr({key:r,value:e,valueSpec:n["source_"+o.replace("-","_")],style:t.style,styleSpec:n});case"geojson":if(i=Sr({key:r,value:e,valueSpec:n.source_geojson,style:a,styleSpec:n}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],c=l[0],u=l[1],h="string"==typeof c?[c,["accumulated"],["get",s]]:c;i.push.apply(i,Pr({key:r+"."+s+".map",value:u,expressionContext:"cluster-map"})),i.push.apply(i,Pr({key:r+"."+s+".reduce",value:h,expressionContext:"cluster-reduce"}))}return i;case"video":return Sr({key:r,value:e,valueSpec:n.source_video,style:a,styleSpec:n});case"image":return Sr({key:r,value:e,valueSpec:n.source_image,style:a,styleSpec:n});case"canvas":return[new At(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Or({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:a,styleSpec:n})}}function Xr(t){var e=t.value,r=t.styleSpec,n=r.light,a=t.style,i=[],o=fr(e);if(void 0===e)return i;if("object"!==o)return i.concat([new At("light",e,"object expected, "+o+" found")]);for(var s in e){var l=s.match(/^(.*)-transition$/);i=l&&n[l[1]]&&n[l[1]].transition?i.concat(Kr({key:s,value:e[s],valueSpec:r.transition,style:a,styleSpec:r})):n[s]?i.concat(Kr({key:s,value:e[s],valueSpec:n[s],style:a,styleSpec:r})):i.concat([new At(s,e[s],'unknown property "'+s+'"')])}return i}function Zr(t){var e=t.value,r=t.key,n=fr(e);return"string"!==n?[new At(r,e,"string expected, "+n+" found")]:[]}var Jr={"*":function(){return[]},array:Er,boolean:function(t){var e=t.value,r=t.key,n=fr(e);return"boolean"!==n?[new At(r,e,"boolean expected, "+n+" found")]:[]},number:Lr,color:function(t){var e=t.key,r=t.value,n=fr(r);return"string"!==n?[new At(e,r,"color expected, "+n+" found")]:null===Yt(r)?[new At(e,r,'color expected, "'+r+'" found')]:[]},constants:Mt,enum:Or,filter:Ur,function:Cr,layer:Yr,object:Sr,source:Wr,light:Xr,string:Zr,formatted:function(t){return 0===Zr(t).length?[]:Pr(t)}};function Kr(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&pr(Lt(e))?Cr(t):r.expression&&_r(Ct(e))?Pr(t):r.type&&Jr[r.type]?Jr[r.type](t):Sr(St({},t,{valueSpec:r.type?n[r.type]:r}))}function Qr(t){var e=t.value,r=t.key,n=Zr(t);return n.length?n:(-1===e.indexOf("{fontstack}")&&n.push(new At(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new At(r,e,'"glyphs" url must include a "{range}" token')),n)}function $r(t,e){e=e||Tt;var r=[];return r=r.concat(Kr({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Qr,"*":function(){return[]}}})),t.constants&&(r=r.concat(Mt({key:"constants",value:t.constants,style:t,styleSpec:e}))),tn(r)}function tn(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function en(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return tn(t.apply(this,e))}}$r.source=en(Wr),$r.light=en(Xr),$r.layer=en(Yr),$r.filter=en(Ur),$r.paintProperty=en(Hr),$r.layoutProperty=en(Gr);var rn=$r,nn=rn.light,an=rn.paintProperty,on=rn.layoutProperty;function sn(t,e){var r=!1;if(e&&e.length)for(var n=0,a=e;n<a.length;n+=1){var i=a[n];t.fire(new wt(new Error(i.message))),r=!0}return r}var ln=un,cn=3;function un(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var i=0;i<this.d*this.d;i++){var o=a[cn+i],s=a[cn+i+1];n.push(o===s?null:a.subarray(o,s))}var l=a[cn+n.length],c=a[cn+n.length+1];this.keys=a.subarray(l,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var u=0;u<this.d*this.d;u++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}un.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},un.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},un.prototype._insertCell=function(t,e,r,n,a,i){this.cells[a].push(i)},un.prototype.query=function(t,e,r,n,a){var i=this.min,o=this.max;if(t<=i&&e<=i&&o<=r&&o<=n&&!a)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},a),s},un.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=this.cells[a];if(null!==l)for(var c=this.keys,u=this.bboxes,h=0;h<l.length;h++){var f=l[h];if(void 0===o[f]){var p=4*f;(s?s(u[p+0],u[p+1],u[p+2],u[p+3]):t<=u[p+2]&&e<=u[p+3]&&r>=u[p+0]&&n>=u[p+1])?(o[f]=!0,i.push(c[f])):o[f]=!1}}},un.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&a.call(this,t,e,r,n,d,i,o,s))return}},un.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},un.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},un.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cn+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var i=e,o=0;o<t.length;o++){var s=t[o];a[cn+o]=i,a.set(s,i),i+=s.length}return a[cn+t.length]=i,a.set(this.keys,i),i+=this.keys.length,a[cn+t.length+1]=i,a.set(this.bboxes,i),i+=this.bboxes.length,a.buffer};var hn=self.ImageData,fn={};function pn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),fn[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var dn in pn("Object",Object),ln.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},ln.deserialize=function(t){return new ln(t.buffer)},pn("Grid",ln),pn("Color",Wt),pn("Error",Error),pn("StylePropertyFunction",Mr),pn("StyleExpression",br,{omit:["_evaluator"]}),pn("ZoomDependentExpression",Tr),pn("ZoomConstantExpression",kr),pn("CompoundExpression",ce,{omit:["_evaluate"]}),rr)rr[dn]._classRegistryKey||pn("Expression_"+dn,rr[dn]);function gn(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(t instanceof ArrayBuffer)return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof hn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],a=0,i=t;a<i.length;a+=1){var o=i[a];n.push(gn(o,e))}return n}if("object"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error("can't serialize object of unregistered class");var c=s.serialize?s.serialize(t,e):{};if(!s.serialize){for(var u in t)if(t.hasOwnProperty(u)&&!(fn[l].omit.indexOf(u)>=0)){var h=t[u];c[u]=fn[l].shallow.indexOf(u)>=0?h:gn(h,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof t)}function vn(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof hn)return t;if(Array.isArray(t))return t.map(vn);if("object"==typeof t){var e=t.$name||"Object",r=fn[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),a=0,i=Object.keys(t);a<i.length;a+=1){var o=i[a];if("$name"!==o){var s=t[o];n[o]=fn[e].shallow.indexOf(o)>=0?s:vn(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var mn=function(){this.first=!0};mn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var yn={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function xn(t){for(var e=0,r=t;e<r.length;e+=1)if(_n(r[e].charCodeAt(0)))return!0;return!1}function bn(t){return!(yn.Arabic(t)||yn["Arabic Supplement"](t)||yn["Arabic Extended-A"](t)||yn["Arabic Presentation Forms-A"](t)||yn["Arabic Presentation Forms-B"](t))}function _n(t){return!!(746===t||747===t||!(t<4352)&&(yn["Bopomofo Extended"](t)||yn.Bopomofo(t)||yn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||yn["CJK Compatibility Ideographs"](t)||yn["CJK Compatibility"](t)||yn["CJK Radicals Supplement"](t)||yn["CJK Strokes"](t)||!(!yn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yn["CJK Unified Ideographs Extension A"](t)||yn["CJK Unified Ideographs"](t)||yn["Enclosed CJK Letters and Months"](t)||yn["Hangul Compatibility Jamo"](t)||yn["Hangul Jamo Extended-A"](t)||yn["Hangul Jamo Extended-B"](t)||yn["Hangul Jamo"](t)||yn["Hangul Syllables"](t)||yn.Hiragana(t)||yn["Ideographic Description Characters"](t)||yn.Kanbun(t)||yn["Kangxi Radicals"](t)||yn["Katakana Phonetic Extensions"](t)||yn.Katakana(t)&&12540!==t||!(!yn["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!yn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yn["Unified Canadian Aboriginal Syllabics"](t)||yn["Unified Canadian Aboriginal Syllabics Extended"](t)||yn["Vertical Forms"](t)||yn["Yijing Hexagram Symbols"](t)||yn["Yi Syllables"](t)||yn["Yi Radicals"](t)))}function wn(t){return!(_n(t)||function(t){return!!(yn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yn["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||yn["Letterlike Symbols"](t)||yn["Number Forms"](t)||yn["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||yn["Control Pictures"](t)&&9251!==t||yn["Optical Character Recognition"](t)||yn["Enclosed Alphanumerics"](t)||yn["Geometric Shapes"](t)||yn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||yn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yn["CJK Symbols and Punctuation"](t)||yn.Katakana(t)||yn["Private Use Area"](t)||yn["CJK Compatibility Forms"](t)||yn["Small Form Variants"](t)||yn["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function kn(t,e){return!(!e&&(t>=1424&&t<=2303||yn["Arabic Presentation Forms-A"](t)||yn["Arabic Presentation Forms-B"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yn.Khmer(t))}var Tn,An=!1,Mn=null,Sn=!1,En=new kt,Ln={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Sn||null!=Ln.applyArabicShaping}},Cn=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new mn,this.transition={})};Cn.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!kn(n[r].charCodeAt(0),e))return!1;return!0}(t,Ln.isLoaded())},Cn.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Cn.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Pn=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(pr(t))return new Mr(t,e);if(_r(t)){var r=Ar(t,e);if("error"===r.result)throw new Error(r.value.map(function(t){return t.key+": "+t.message}).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=Wt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Pn.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Pn.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var On=function(t){this.property=t,this.value=new Pn(t,void 0)};On.prototype.transitioned=function(t,e){return new In(this.property,this.value,e,h({},t.transition,this.transition),t.now)},On.prototype.untransitioned=function(){return new In(this.property,this.value,null,{},0)};var zn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};zn.prototype.getValue=function(t){return b(this._values[t].value.value)},zn.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].value=new Pn(this._values[t].property,null===e?void 0:b(e))},zn.prototype.getTransition=function(t){return b(this._values[t].transition)},zn.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].transition=b(e)||void 0},zn.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a);var i=this.getTransition(n);void 0!==i&&(t[n+"-transition"]=i)}return t},zn.prototype.transitioned=function(t,e){for(var r=new Dn(this._properties),n=0,a=Object.keys(this._values);n<a.length;n+=1){var i=a[n];r._values[i]=this._values[i].transitioned(t,e._values[i])}return r},zn.prototype.untransitioned=function(){for(var t=new Dn(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var In=function(t,e,r,n,a){this.property=t,this.value=e,this.begin=a+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};In.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var a=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,function(t){if(a<=0)return 0;if(a>=1)return 1;var e=a*a,r=e*a;return 4*(a<.5?r:3*(a-e)+r-.75)}())}return r};var Dn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Dn.prototype.possiblyEvaluate=function(t){for(var e=new Bn(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var a=n[r];e._values[a]=this._values[a].possiblyEvaluate(t)}return e},Dn.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var Rn=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};Rn.prototype.getValue=function(t){return b(this._values[t].value)},Rn.prototype.setValue=function(t,e){this._values[t]=new Pn(this._values[t].property,null===e?void 0:b(e))},Rn.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a)}return t},Rn.prototype.possiblyEvaluate=function(t){for(var e=new Bn(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var a=n[r];e._values[a]=this._values[a].possiblyEvaluate(t)}return e};var Fn=function(t,e,r){this.property=t,this.value=e,this.parameters=r};Fn.prototype.isConstant=function(){return"constant"===this.value.kind},Fn.prototype.constantOr=function(t){return"constant"===this.value.kind?this.value.value:t},Fn.prototype.evaluate=function(t,e){return this.property.evaluate(this.value,this.parameters,t,e)};var Bn=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};Bn.prototype.get=function(t){return this._values[t]};var Nn=function(t){this.specification=t};Nn.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},Nn.prototype.interpolate=function(t,e,r){var n=xe[this.specification.type];return n?n(t,e,r):t};var jn=function(t,e){this.specification=t,this.overrides=e};jn.prototype.possiblyEvaluate=function(t,e){return"constant"===t.expression.kind||"camera"===t.expression.kind?new Fn(this,{kind:"constant",value:t.expression.evaluate(e)},e):new Fn(this,t.expression,e)},jn.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Fn(this,{kind:"constant",value:void 0},t.parameters);var n=xe[this.specification.type];return n?new Fn(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.parameters):t},jn.prototype.evaluate=function(t,e,r,n){return"constant"===t.kind?t.value:t.evaluate(e,r,n)};var Vn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(t,e){if(void 0===t.value)return new Fn(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){var r=t.expression.evaluate(e),n=this._calculate(r,r,r,e);return new Fn(this,{kind:"constant",value:n},e)}if("camera"===t.expression.kind){var a=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Fn(this,{kind:"constant",value:a},e)}return new Fn(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n){if("source"===t.kind){var a=t.evaluate(e,r,n);return this._calculate(a,a,a,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(jn),Un=function(t){this.specification=t};Un.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if("constant"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate(new Cn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom+1),e)),e)}},Un.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Un.prototype.interpolate=function(t){return t};var qn=function(t){this.specification=t};qn.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},qn.prototype.interpolate=function(){return!1};var Hn=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Pn(r,void 0),a=this.defaultTransitionablePropertyValues[e]=new On(r);this.defaultTransitioningPropertyValues[e]=a.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pn("DataDrivenProperty",jn),pn("DataConstantProperty",Nn),pn("CrossFadedDataDrivenProperty",Vn),pn("CrossFadedProperty",Un),pn("ColorRampProperty",qn);var Gn=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter=function(){return!0},"custom"!==e.type&&(e=e,this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new Rn(r.layout)),r.paint)){for(var n in this._transitionablePaint=new zn(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var a in e.layout)this.setLayoutProperty(a,e.layout[a],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(on,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(an,n,t,e,r))return!1}if(m(t,"-transition"))return this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0),!1;var a=this._transitionablePaint._values[t],i="cross-faded-data-driven"===a.property.specification["property-type"],o=a.value.isDataDriven(),s=a.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||i||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={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&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),x(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&sn(this,t.call(rn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Tt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Fn&&cr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(kt),Yn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wn=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Xn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Zn(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var a,i=(a=t.type,Yn[a].BYTES_PER_ELEMENT),o=r=Jn(r,Math.max(e,i)),s=t.components||1;return n=Math.max(n,i),r+=i*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Jn(r,Math.max(n,e)),alignment:e}}function Jn(t,e){return Math.ceil(t/e)*e}Xn.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Xn.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Xn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Xn.prototype.clear=function(){this.length=0},Xn.prototype.resize=function(t){this.reserve(t),this.length=t},Xn.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Xn.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Kn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Xn);Kn.prototype.bytesPerElement=4,pn("StructArrayLayout2i4",Kn);var Qn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,this.int16[i+3]=a,t},e}(Xn);Qn.prototype.bytesPerElement=8,pn("StructArrayLayout4i8",Qn);var $n=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);$n.prototype.bytesPerElement=12,pn("StructArrayLayout2i4i12",$n);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=a,this.uint8[l+6]=i,this.uint8[l+7]=o,t},e}(Xn);ta.prototype.bytesPerElement=8,pn("StructArrayLayout2i4ub8",ta);var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ea.prototype.bytesPerElement=16,pn("StructArrayLayout8ui16",ea);var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ra.prototype.bytesPerElement=16,pn("StructArrayLayout4i4ui16",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t},e}(Xn);na.prototype.bytesPerElement=12,pn("StructArrayLayout3f12",na);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Xn);aa.prototype.bytesPerElement=4,pn("StructArrayLayout1ul4",aa);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,a,i,o,s,l,c,u)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h){var f=12*t,p=6*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=a,this.int16[f+4]=i,this.int16[f+5]=o,this.uint32[p+3]=s,this.uint16[f+8]=l,this.uint16[f+9]=c,this.int16[f+10]=u,this.int16[f+11]=h,t},e}(Xn);ia.prototype.bytesPerElement=24,pn("StructArrayLayout6i1ul2ui2i24",ia);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);oa.prototype.bytesPerElement=12,pn("StructArrayLayout2i2i2i12",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=12*t,o=3*t;return this.uint8[i+0]=e,this.uint8[i+1]=r,this.float32[o+1]=n,this.float32[o+2]=a,t},e}(Xn);sa.prototype.bytesPerElement=12,pn("StructArrayLayout2ub2f12",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){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)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v){var m=22*t,y=11*t,x=44*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=a,this.uint32[y+2]=i,this.uint32[y+3]=o,this.uint32[y+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=c,this.uint16[m+12]=u,this.float32[y+7]=h,this.float32[y+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=d,this.uint8[x+38]=g,this.uint32[y+10]=v,t},e}(Xn);la.prototype.bytesPerElement=44,pn("StructArrayLayout2i2ui3ul3ui2f3ub1ul44",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){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)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x){var b=this.length;return this.resize(b+1),this.emplace(b,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b){var _=24*t,w=12*t;return this.int16[_+0]=e,this.int16[_+1]=r,this.int16[_+2]=n,this.int16[_+3]=a,this.int16[_+4]=i,this.int16[_+5]=o,this.uint16[_+6]=s,this.uint16[_+7]=l,this.uint16[_+8]=c,this.uint16[_+9]=u,this.uint16[_+10]=h,this.uint16[_+11]=f,this.uint16[_+12]=p,this.uint16[_+13]=d,this.uint16[_+14]=g,this.uint16[_+15]=v,this.uint16[_+16]=m,this.uint32[w+9]=y,this.float32[w+10]=x,this.float32[w+11]=b,t},e}(Xn);ca.prototype.bytesPerElement=48,pn("StructArrayLayout6i11ui1ul2f48",ca);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Xn);ua.prototype.bytesPerElement=4,pn("StructArrayLayout1f4",ua);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,t},e}(Xn);ha.prototype.bytesPerElement=6,pn("StructArrayLayout3i6",ha);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=2*t,i=4*t;return this.uint32[a+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(Xn);fa.prototype.bytesPerElement=8,pn("StructArrayLayout1ul2ui8",fa);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,t},e}(Xn);pa.prototype.bytesPerElement=6,pn("StructArrayLayout3ui6",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Xn);da.prototype.bytesPerElement=4,pn("StructArrayLayout2ui4",da);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Xn);ga.prototype.bytesPerElement=2,pn("StructArrayLayout1ui2",ga);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Xn);va.prototype.bytesPerElement=8,pn("StructArrayLayout2f8",va);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,this.float32[i+3]=a,t},e}(Xn);ma.prototype.bytesPerElement=16,pn("StructArrayLayout4f16",ma);var ya=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wn);ya.prototype.size=24;var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ya(this,t)},e}(ia);pn("CollisionBoxArray",xa);var ba=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},Object.defineProperties(e.prototype,r),e}(Wn);ba.prototype.size=44;var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ba(this,t)},e}(la);pn("PlacedSymbolArray",_a);var wa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},radialTextOffset:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.rightJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+2]=t},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.centerJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+3]=t},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.leftJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+4]=t},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.verticalPlacedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+5]=t},r.key.get=function(){return this._structArray.uint16[this._pos2+6]},r.key.set=function(t){this._structArray.uint16[this._pos2+6]=t},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+7]},r.textBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+7]=t},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.verticalTextBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.iconBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.featureIndex.set=function(t){this._structArray.uint16[this._pos2+13]=t},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+14]},r.numHorizontalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+14]=t},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+15]},r.numVerticalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+15]=t},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+16]},r.numIconVertices.set=function(t){this._structArray.uint16[this._pos2+16]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+9]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+9]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+10]},r.textBoxScale.set=function(t){this._structArray.float32[this._pos4+10]=t},r.radialTextOffset.get=function(){return this._structArray.float32[this._pos4+11]},r.radialTextOffset.set=function(t){this._structArray.float32[this._pos4+11]=t},Object.defineProperties(e.prototype,r),e}(Wn);wa.prototype.size=48;var ka=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new wa(this,t)},e}(ca);pn("SymbolInstanceArray",ka);var Ta=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ta.prototype.size=4;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new Ta(this,t)},e}(ua);pn("GlyphOffsetArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ma.prototype.size=6;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new Ma(this,t)},e}(ha);pn("SymbolLineVertexArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ea.prototype.size=8;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(fa);pn("FeatureIndexArray",La);var Ca=Zn([{name:"a_pos",components:2,type:"Int16"}],4).members,Pa=function(t){void 0===t&&(t=[]),this.segments=t};function Oa(t,e){return 256*(t=c(Math.floor(t),0,255))+c(Math.floor(e),0,255)}Pa.prototype.prepareSegment=function(t,e,r,n){var a=this.segments[this.segments.length-1];return t>Pa.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Pa.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!a||a.vertexLength+t>Pa.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n)&&(a={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(a.sortKey=n),this.segments.push(a)),a},Pa.prototype.get=function(){return this.segments},Pa.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},Pa.simpleSegment=function(t,e,r,n){return new Pa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},Pa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,pn("SegmentVector",Pa);var za=function(){this.ids=[],this.positions=[],this.indexed=!1};function Ia(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}za.prototype.add=function(t,e,r,n){this.ids.push(t),this.positions.push(e,r,n)},za.prototype.getPositions=function(t){for(var e=0,r=this.ids.length-1;e<r;){var n=e+r>>1;this.ids[n]>=t?r=n:e=n+1}for(var a=[];this.ids[e]===t;){var i=this.positions[3*e],o=this.positions[3*e+1],s=this.positions[3*e+2];a.push({index:i,start:o,end:s}),e++}return a},za.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,a){if(!(n>=a)){for(var i=e[n+a>>1],o=n-1,s=a+1;;){do{o++}while(e[o]<i);do{s--}while(e[s]>i);if(o>=s)break;Ia(e,o,s),Ia(r,3*o,3*s),Ia(r,3*o+1,3*s+1),Ia(r,3*o+2,3*s+2)}t(e,r,n,s),t(e,r,s+1,a)}}(r,n,0,r.length-1),e.push(r.buffer,n.buffer),{ids:r,positions:n}},za.deserialize=function(t){var e=new za;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e},pn("FeaturePositionMap",za);var Da=function(t,e){this.gl=t.gl,this.location=e},Ra=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(Da),Fa=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(Da),Ba=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(Da),Na=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(Da),ja=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(Da),Va=function(t){function e(e,r){t.call(this,e,r),this.current=Wt.transparent}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(Da),Ua=new Float32Array(16),qa=function(t){function e(e,r){t.call(this,e,r),this.current=Ua}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(Da);function Ha(t){return[Oa(255*t.r,255*t.g),Oa(255*t.b,255*t.a)]}var Ga=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0};Ga.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ga.prototype.setConstantPatternPositions=function(){},Ga.prototype.populatePaintArray=function(){},Ga.prototype.updatePaintArray=function(){},Ga.prototype.upload=function(){},Ga.prototype.destroy=function(){},Ga.prototype.setUniforms=function(t,e,r,n){e.set(n.constantOr(this.value))},Ga.prototype.getBinding=function(t,e){return"color"===this.type?new Va(t,e):new Fa(t,e)},Ga.serialize=function(t){var e=t.value,r=t.names,n=t.type;return{value:gn(e),names:r,type:n}},Ga.deserialize=function(t){var e=t.value,r=t.names,n=t.type;return new Ga(vn(e),r,n)};var Ya=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0,this.patternPositions={patternTo:null,patternFrom:null}};Ya.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ya.prototype.populatePaintArray=function(){},Ya.prototype.updatePaintArray=function(){},Ya.prototype.upload=function(){},Ya.prototype.destroy=function(){},Ya.prototype.setConstantPatternPositions=function(t,e){this.patternPositions.patternTo=t.tlbr,this.patternPositions.patternFrom=e.tlbr},Ya.prototype.setUniforms=function(t,e,r,n,a){var i=this.patternPositions;"u_pattern_to"===a&&i.patternTo&&e.set(i.patternTo),"u_pattern_from"===a&&i.patternFrom&&e.set(i.patternFrom)},Ya.prototype.getBinding=function(t,e){return new ja(t,e)};var Wa=function(t,e,r,n){this.expression=t,this.names=e,this.type=r,this.uniformNames=this.names.map(function(t){return"a_"+t}),this.maxValue=-1/0,this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}}),this.paintVertexArray=new n};Wa.prototype.defines=function(){return[]},Wa.prototype.setConstantPatternPositions=function(){},Wa.prototype.populatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=a.length;a.reserve(t);var o=this.expression.evaluate(new Cn(0),e,{},n);if("color"===this.type)for(var s=Ha(o),l=i;l<t;l++)a.emplaceBack(s[0],s[1]);else{for(var c=i;c<t;c++)a.emplaceBack(o);this.maxValue=Math.max(this.maxValue,o)}},Wa.prototype.updatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=this.expression.evaluate({zoom:0},r,n);if("color"===this.type)for(var o=Ha(i),s=t;s<e;s++)a.emplace(s,o[0],o[1]);else{for(var l=t;l<e;l++)a.emplace(l,i);this.maxValue=Math.max(this.maxValue,i)}},Wa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Wa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Wa.prototype.setUniforms=function(t,e){e.set(0)},Wa.prototype.getBinding=function(t,e){return new Fa(t,e)};var Xa=function(t,e,r,n,a,i){this.expression=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t+"_t"}),this.type=r,this.useIntegerZoom=n,this.zoom=a,this.maxValue=-1/0;var o=i;this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?4:2,offset:0}}),this.paintVertexArray=new o};Xa.prototype.defines=function(){return[]},Xa.prototype.setConstantPatternPositions=function(){},Xa.prototype.populatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=a.length;a.reserve(t);var o=this.expression.evaluate(new Cn(this.zoom),e,{},n),s=this.expression.evaluate(new Cn(this.zoom+1),e,{},n);if("color"===this.type)for(var l=Ha(o),c=Ha(s),u=i;u<t;u++)a.emplaceBack(l[0],l[1],c[0],c[1]);else{for(var h=i;h<t;h++)a.emplaceBack(o,s);this.maxValue=Math.max(this.maxValue,o,s)}},Xa.prototype.updatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=this.expression.evaluate({zoom:this.zoom},r,n),o=this.expression.evaluate({zoom:this.zoom+1},r,n);if("color"===this.type)for(var s=Ha(i),l=Ha(o),c=t;c<e;c++)a.emplace(c,s[0],s[1],l[0],l[1]);else{for(var u=t;u<e;u++)a.emplace(u,i,o);this.maxValue=Math.max(this.maxValue,i,o)}},Xa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Xa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Xa.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},Xa.prototype.setUniforms=function(t,e,r){e.set(this.interpolationFactor(r.zoom))},Xa.prototype.getBinding=function(t,e){return new Fa(t,e)};var Za=function(t,e,r,n,a,i,o){this.expression=t,this.names=e,this.type=r,this.uniformNames=this.names.map(function(t){return"u_"+t+"_t"}),this.useIntegerZoom=n,this.zoom=a,this.maxValue=-1/0,this.layerId=o,this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Uint16",components:4,offset:0}}),this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};Za.prototype.defines=function(){return[]},Za.prototype.setConstantPatternPositions=function(){},Za.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray,a=this.zoomOutPaintVertexArray,i=this.layerId,o=n.length;if(n.reserve(t),a.reserve(t),r&&e.patterns&&e.patterns[i]){var s=e.patterns[i],l=s.min,c=s.mid,u=s.max,h=r[l],f=r[c],p=r[u];if(!h||!f||!p)return;for(var d=o;d<t;d++)n.emplaceBack(f.tl[0],f.tl[1],f.br[0],f.br[1],h.tl[0],h.tl[1],h.br[0],h.br[1]),a.emplaceBack(f.tl[0],f.tl[1],f.br[0],f.br[1],p.tl[0],p.tl[1],p.br[0],p.br[1])}},Za.prototype.updatePaintArray=function(t,e,r,n,a){var i=this.zoomInPaintVertexArray,o=this.zoomOutPaintVertexArray,s=this.layerId;if(a&&r.patterns&&r.patterns[s]){var l=r.patterns[s],c=l.min,u=l.mid,h=l.max,f=a[c],p=a[u],d=a[h];if(!f||!p||!d)return;for(var g=t;g<e;g++)i.emplace(g,p.tl[0],p.tl[1],p.br[0],p.br[1],f.tl[0],f.tl[1],f.br[0],f.br[1]),o.emplace(g,p.tl[0],p.tl[1],p.br[0],p.br[1],d.tl[0],d.tl[1],d.br[0],d.br[1])}},Za.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Za.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()},Za.prototype.setUniforms=function(t,e){e.set(0)},Za.prototype.getBinding=function(t,e){return new Fa(t,e)};var Ja=function(){this.binders={},this.cacheKey="",this._buffers=[],this._featureMap=new za,this._bufferOffset=0};Ja.createDynamic=function(t,e,r){var n=new Ja,a=[];for(var i in t.paint._values)if(r(i)){var o=t.paint.get(i);if(o instanceof Fn&&cr(o.property.specification)){var s=Qa(i,t.type),l=o.property.specification.type,c=o.property.useIntegerZoom;if("cross-faded"===o.property.specification["property-type"]||"cross-faded-data-driven"===o.property.specification["property-type"])if("constant"===o.value.kind)n.binders[i]=new Ya(o.value.value,s,l),a.push("/u_"+i);else{var u=$a(i,l,"source");n.binders[i]=new Za(o.value,s,l,c,e,u,t.id),a.push("/a_"+i)}else if("constant"===o.value.kind)n.binders[i]=new Ga(o.value.value,s,l),a.push("/u_"+i);else if("source"===o.value.kind){var h=$a(i,l,"source");n.binders[i]=new Wa(o.value,s,l,h),a.push("/a_"+i)}else{var f=$a(i,l,"composite");n.binders[i]=new Xa(o.value,s,l,c,e,f),a.push("/z_"+i)}}}return n.cacheKey=a.sort().join(""),n},Ja.prototype.populatePaintArrays=function(t,e,r,n,a){for(var i in this.binders)this.binders[i].populatePaintArray(t,e,n,a);void 0!==e.id&&this._featureMap.add(+e.id,r,this._bufferOffset,t),this._bufferOffset=t},Ja.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders)this.binders[r].setConstantPatternPositions(t,e)},Ja.prototype.updatePaintArrays=function(t,e,r,n){var a=!1;for(var i in t)for(var o=0,s=this._featureMap.getPositions(+i);o<s.length;o+=1){var l=s[o],c=e.feature(l.index);for(var u in this.binders){var h=this.binders[u];if(!(h instanceof Ga||h instanceof Ya)&&!0===h.expression.isStateDependent){var f=r.paint.get(u);h.expression=f.value,h.updatePaintArray(l.start,l.end,c,t[i],n),a=!0}}}return a},Ja.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},Ja.prototype.getPaintVertexBuffers=function(){return this._buffers},Ja.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders)for(var a=this.binders[n],i=0,o=a.uniformNames;i<o.length;i+=1){var s=o[i];if(e[s]){var l=a.getBinding(t,e[s]);r.push({name:s,property:n,binding:l})}}return r},Ja.prototype.setUniforms=function(t,e,r,n){for(var a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.name,l=o.property,c=o.binding;this.binders[l].setUniforms(t,c,n,r.get(l),s)}},Ja.prototype.updatePatternPaintBuffers=function(t){var e=[];for(var r in this.binders){var n=this.binders[r];if(n instanceof Za){var a=2===t.fromScale?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;a&&e.push(a)}else(n instanceof Wa||n instanceof Xa)&&n.paintVertexBuffer&&e.push(n.paintVertexBuffer)}this._buffers=e},Ja.prototype.upload=function(t){for(var e in this.binders)this.binders[e].upload(t);var r=[];for(var n in this.binders){var a=this.binders[n];(a instanceof Wa||a instanceof Xa)&&a.paintVertexBuffer&&r.push(a.paintVertexBuffer)}this._buffers=r},Ja.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var Ka=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var a=0,i=e;a<i.length;a+=1){var o=i[a];this.programConfigurations[o.id]=Ja.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}this.needsUpload=!1};function Qa(t,e){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"],"fill-pattern":["pattern_to","pattern_from"],"fill-extrusion-pattern":["pattern_to","pattern_from"]}[t]||[t.replace(e+"-","").replace(/-/g,"_")]}function $a(t,e,r){var n={color:{source:va,composite:ma},number:{source:ua,composite:va}},a=function(t){return{"line-pattern":{source:ea,composite:ea},"fill-pattern":{source:ea,composite:ea},"fill-extrusion-pattern":{source:ea,composite:ea}}[t]}(t);return a&&a[r]||n[e][r]}Ka.prototype.populatePaintArrays=function(t,e,r,n,a){for(var i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,r,n,a);this.needsUpload=!0},Ka.prototype.updatePaintArrays=function(t,e,r,n){for(var a=0,i=r;a<i.length;a+=1){var o=i[a];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,e,o,n)||this.needsUpload}},Ka.prototype.get=function(t){return this.programConfigurations[t]},Ka.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},Ka.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},pn("ConstantBinder",Ga),pn("CrossFadedConstantBinder",Ya),pn("SourceExpressionBinder",Wa),pn("CrossFadedCompositeBinder",Za),pn("CompositeExpressionBinder",Xa),pn("ProgramConfiguration",Ja,{omit:["_buffers"]}),pn("ProgramConfigurationSet",Ka);var ti=8192,ei=(15,{min:-1*Math.pow(2,14),max:Math.pow(2,14)-1});function ri(t){for(var e=ti/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var a=r[n],i=0;i<a.length;i++){var o=a[i];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<ei.min||o.x>ei.max||o.y<ei.min||o.y>ei.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=c(o.x,ei.min,ei.max),o.y=c(o.y,ei.min,ei.max))}return r}function ni(t,e,r,n,a){t.emplaceBack(2*e+(n+1)/2,2*r+(a+1)/2)}var ai=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Kn,this.indexArray=new pa,this.segments=new Pa,this.programConfigurations=new Ka(Ca,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function ii(t,e){for(var r=0;r<t.length;r++)if(di(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(di(t,e[n]))return!0;return!!ci(t,e)}function oi(t,e,r){return!!di(t,e)||!!hi(e,t,r)}function si(t,e){if(1===t.length)return pi(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(di(t,n[a]))return!0;for(var i=0;i<t.length;i++)if(pi(e,t[i]))return!0;for(var o=0;o<e.length;o++)if(ci(t,e[o]))return!0;return!1}function li(t,e,r){if(t.length>1){if(ci(t,e))return!0;for(var n=0;n<e.length;n++)if(hi(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(hi(t[a],e,r))return!0;return!1}function ci(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],a=t[r+1],i=0;i<e.length-1;i++)if(ui(n,a,e[i],e[i+1]))return!0;return!1}function ui(t,e,r,n){return k(t,r,n)!==k(e,r,n)&&k(t,e,r)!==k(t,e,n)}function hi(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var a=1;a<e.length;a++)if(fi(t,e[a-1],e[a])<n)return!0;return!1}function fi(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var a=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return a<0?t.distSqr(e):a>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(a)._add(e))}function pi(t,e){for(var r,n,a,i=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],a=r[l],n.y>e.y!=a.y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i);return i}function di(t,e){for(var r=!1,n=0,a=t.length-1;n<t.length;a=n++){var i=t[n],o=t[a];i.y>e.y!=o.y>e.y&&e.x<(o.x-i.x)*(e.y-i.y)/(o.y-i.y)+i.x&&(r=!r)}return r}function gi(t,e,r){var n=r[0],a=r[2];if(t.x<n.x&&e.x<n.x||t.x>a.x&&e.x>a.x||t.y<n.y&&e.y<n.y||t.y>a.y&&e.y>a.y)return!1;var i=k(t,e,r[0]);return i!==k(t,e,r[1])||i!==k(t,e,r[2])||i!==k(t,e,r[3])}function vi(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].maxValue}function mi(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function yi(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++){var c=t[l];s.push(c.sub(o))}return s}ai.prototype.populate=function(t,e){var r=this.layers[0],n=[],a=null;"circle"===r.type&&(a=r.layout.get("circle-sort-key"));for(var i=0,o=t;i<o.length;i+=1){var s=o[i],l=s.feature,c=s.index,u=s.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),l)){var h=ri(l),f=a?a.evaluate(l,{}):void 0,p={id:l.id,properties:l.properties,type:l.type,sourceLayerIndex:u,index:c,geometry:h,patterns:{},sortKey:f};n.push(p)}}a&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var d=0,g=n;d<g.length;d+=1){var v=g[d],m=v,y=m.geometry,x=m.index,b=m.sourceLayerIndex,_=t[x].feature;this.addFeature(v,y,x),e.featureIndex.insert(_,y,x,b,this.index)}},ai.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},ai.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ai.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ai.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ca),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},ai.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ai.prototype.addFeature=function(t,e,r){for(var n=0,a=e;n<a.length;n+=1)for(var i=0,o=a[n];i<o.length;i+=1){var s=o[i],l=s.x,c=s.y;if(!(l<0||l>=ti||c<0||c>=ti)){var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=u.vertexLength;ni(this.layoutVertexArray,l,c,-1,-1),ni(this.layoutVertexArray,l,c,1,-1),ni(this.layoutVertexArray,l,c,1,1),ni(this.layoutVertexArray,l,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),u.vertexLength+=4,u.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{})},pn("CircleBucket",ai,{omit:["layers"]});var xi,bi=new Hn({"circle-sort-key":new jn(Tt.layout_circle["circle-sort-key"])}),_i={paint:new Hn({"circle-radius":new jn(Tt.paint_circle["circle-radius"]),"circle-color":new jn(Tt.paint_circle["circle-color"]),"circle-blur":new jn(Tt.paint_circle["circle-blur"]),"circle-opacity":new jn(Tt.paint_circle["circle-opacity"]),"circle-translate":new Nn(Tt.paint_circle["circle-translate"]),"circle-translate-anchor":new Nn(Tt.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Nn(Tt.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Nn(Tt.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new jn(Tt.paint_circle["circle-stroke-width"]),"circle-stroke-color":new jn(Tt.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new jn(Tt.paint_circle["circle-stroke-opacity"])}),layout:bi},wi="undefined"!=typeof Float32Array?Float32Array:Array;function ki(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)}),xi=new wi(3),wi!=Float32Array&&(xi[0]=0,xi[1]=0,xi[2]=0),function(){var t=new wi(4);wi!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ti=function(t){function e(e){t.call(this,e,_i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ai(t)},e.prototype.queryRadius=function(t){var e=t;return vi("circle-radius",this,e)+vi("circle-stroke-width",this,e)+mi(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o,s){for(var l=yi(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(t,e){return l.map(function(t){return Ai(t,e)})}(0,s),f=u?c*o:c,p=0,d=n;p<d.length;p+=1)for(var g=0,v=d[p];g<v.length;g+=1){var m=v[g],y=u?m:Ai(m,s),x=f,b=ki([],[m.x,m.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?x*=b[3]/i.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(x*=i.cameraToCenterDistance/b[3]),oi(h,y,x))return!0}return!1},e}(Gn);function Ai(t,e){var r=ki([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}var Mi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(ai);function Si(t,e,r,n){var a=e.width,i=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==a*i*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(a*i*r);return t.width=a,t.height=i,t.data=n,t}function Ei(t,e,r){var n=e.width,a=e.height;if(n!==t.width||a!==t.height){var i=Si({},{width:n,height:a},r);Li(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,a)},r),t.width=n,t.height=a,t.data=i.data}}function Li(t,e,r,n,a,i){if(0===a.width||0===a.height)return e;if(a.width>t.width||a.height>t.height||r.x>t.width-a.width||r.y>t.height-a.height)throw new RangeError("out of range source coordinates for image copy");if(a.width>e.width||a.height>e.height||n.x>e.width-a.width||n.y>e.height-a.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l<a.height;l++)for(var c=((r.y+l)*t.width+r.x)*i,u=((n.y+l)*e.width+n.x)*i,h=0;h<a.width*i;h++)s[u+h]=o[c+h];return e}pn("HeatmapBucket",Mi,{omit:["layers"]});var Ci=function(t,e){Si(this,t,1,e)};Ci.prototype.resize=function(t){Ei(this,t,1)},Ci.prototype.clone=function(){return new Ci({width:this.width,height:this.height},new Uint8Array(this.data))},Ci.copy=function(t,e,r,n,a){Li(t,e,r,n,a,1)};var Pi=function(t,e){Si(this,t,4,e)};Pi.prototype.resize=function(t){Ei(this,t,4)},Pi.prototype.replace=function(t,e){e?this.data.set(t):t instanceof Uint8ClampedArray?this.data=new Uint8Array(t.buffer):this.data=t},Pi.prototype.clone=function(){return new Pi({width:this.width,height:this.height},new Uint8Array(this.data))},Pi.copy=function(t,e,r,n,a){Li(t,e,r,n,a,4)},pn("AlphaImage",Ci),pn("RGBAImage",Pi);var Oi={paint:new Hn({"heatmap-radius":new jn(Tt.paint_heatmap["heatmap-radius"]),"heatmap-weight":new jn(Tt.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Nn(Tt.paint_heatmap["heatmap-intensity"]),"heatmap-color":new qn(Tt.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Nn(Tt.paint_heatmap["heatmap-opacity"])})};function zi(t,e){for(var r=new Uint8Array(1024),n={},a=0,i=0;a<256;a++,i+=4){n[e]=a/255;var o=t.evaluate(n);r[i+0]=Math.floor(255*o.r/o.a),r[i+1]=Math.floor(255*o.g/o.a),r[i+2]=Math.floor(255*o.b/o.a),r[i+3]=Math.floor(255*o.a)}return new Pi({width:256,height:1},r)}var Ii=function(t){function e(e){t.call(this,e,Oi),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Mi(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){"heatmap-color"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=zi(t,"heatmapDensity"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(Gn),Di={paint:new Hn({"hillshade-illumination-direction":new Nn(Tt.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new Nn(Tt.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new Nn(Tt.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new Nn(Tt.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new Nn(Tt.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new Nn(Tt.paint_hillshade["hillshade-accent-color"])})},Ri=function(t){function e(e){t.call(this,e,Di)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(Gn),Fi=Zn([{name:"a_pos",components:2,type:"Int16"}],4).members,Bi=ji,Ni=ji;function ji(t,e,r){r=r||2;var n,a,i,o,s,l,c,u=e&&e.length,h=u?e[0]*r:t.length,f=Vi(t,0,h,r,!0),p=[];if(!f||f.next===f.prev)return p;if(u&&(f=function(t,e,r,n){var a,i,o,s=[];for(a=0,i=e.length;a<i;a++)(o=Vi(t,e[a]*n,a<i-1?e[a+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Qi(o));for(s.sort(Xi),a=0;a<s.length;a++)Zi(s[a],r),r=Ui(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=i=t[0],a=o=t[1];for(var d=r;d<h;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<a&&(a=l),s>i&&(i=s),l>o&&(o=l);c=0!==(c=Math.max(i-n,o-a))?1/c:0}return qi(f,p,r,n,a,c),p}function Vi(t,e,r,n,a){var i,o;if(a===ho(t,e,r,n)>0)for(i=e;i<r;i+=n)o=lo(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=lo(i,t[i],t[i+1],o);return o&&ro(o,o.next)&&(co(o),o=o.next),o}function Ui(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!ro(n,n.next)&&0!==eo(n.prev,n,n.next))n=n.next;else{if(co(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function qi(t,e,r,n,a,i,o){if(t){!o&&i&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=Ki(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,i);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,i?Gi(t,n,a,i):Hi(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),co(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?qi(t=Yi(Ui(t),e,r),e,r,n,a,i,2):2===o&&Wi(t,e,r,n,a,i):qi(Ui(t),e,r,n,a,i,1);break}}}function Hi(t){var e=t.prev,r=t,n=t.next;if(eo(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if($i(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&eo(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function Gi(t,e,r,n){var a=t.prev,i=t,o=t.next;if(eo(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=Ki(s,l,e,r,n),f=Ki(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Yi(t,e,r){var n=t;do{var a=n.prev,i=n.next.next;!ro(a,i)&&no(a,n,n.next,i)&&oo(a,i)&&oo(i,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(i.i/r),co(n),co(n.next),n=t=i),n=n.next}while(n!==t);return Ui(n)}function Wi(t,e,r,n,a,i){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&to(o,s)){var l=so(o,s);return o=Ui(o,o.next),l=Ui(l,l.next),qi(o,e,r,n,a,i),void qi(l,e,r,n,a,i)}s=s.next}o=o.next}while(o!==t)}function Xi(t,e){return t.x-e.x}function Zi(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&$i(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),oo(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&Ji(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=so(e,t);Ui(r,r.next)}}function Ji(t,e){return eo(t.prev,t,e.prev)<0&&eo(e.next,t,t.next)<0}function Ki(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Qi(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function $i(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function to(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&no(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(oo(t,e)&&oo(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(eo(t.prev,t,e.prev)||eo(t,e.prev,e))||ro(t,e)&&eo(t.prev,t,t.next)>0&&eo(e.prev,e,e.next)>0)}function eo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function ro(t,e){return t.x===e.x&&t.y===e.y}function no(t,e,r,n){var a=io(eo(t,e,r)),i=io(eo(t,e,n)),o=io(eo(r,n,t)),s=io(eo(r,n,e));return a!==i&&o!==s||!(0!==a||!ao(t,r,e))||!(0!==i||!ao(t,n,e))||!(0!==o||!ao(r,t,n))||!(0!==s||!ao(r,e,n))}function ao(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function io(t){return t>0?1:t<0?-1:0}function oo(t,e){return eo(t.prev,t,t.next)<0?eo(t,e,t.next)>=0&&eo(t,t.prev,e)>=0:eo(t,e,t.prev)<0||eo(t,t.next,e)<0}function so(t,e){var r=new uo(t.i,t.x,t.y),n=new uo(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function lo(t,e,r,n){var a=new uo(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function co(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function uo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ho(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}function fo(t,e,r,n,a){!function t(e,r,n,a,i){for(;a>n;){if(a-n>600){var o=a-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(a,Math.floor(r+(o-s)*c/o+u)),i)}var h=e[r],f=n,p=a;for(po(e,n,r),i(e[a],h)>0&&po(e,n,a);f<p;){for(po(e,f,p),f++,p--;i(e[f],h)<0;)f++;for(;i(e[p],h)>0;)p--}0===i(e[n],h)?po(e,n,p):po(e,++p,a),p<=r&&(n=p+1),r<=p&&(a=p-1)}}(t,e,r||0,n||t.length-1,a||go)}function po(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function go(t,e){return t<e?-1:t>e?1:0}function vo(t,e){var r=t.length;if(r<=1)return[t];for(var n,a,i=[],o=0;o<r;o++){var s=T(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===a&&(a=s<0),a===s<0?(n&&i.push(n),n=[t[o]]):n.push(t[o]))}if(n&&i.push(n),e>1)for(var l=0;l<i.length;l++)i[l].length<=e||(fo(i[l],e,1,i[l].length-1,mo),i[l]=i[l].slice(0,e));return i}function mo(t,e){return e.area-t.area}function yo(t,e,r){for(var n=r.patternDependencies,a=!1,i=0,o=e;i<o.length;i+=1){var s=o[i].paint.get(t+"-pattern");s.isConstant()||(a=!0);var l=s.constantOr(null);l&&(a=!0,n[l.to]=!0,n[l.from]=!0)}return a}function xo(t,e,r,n,a){for(var i=a.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.paint.get(t+"-pattern").value;if("constant"!==c.kind){var u=c.evaluate({zoom:n-1},r,{}),h=c.evaluate({zoom:n},r,{}),f=c.evaluate({zoom:n+1},r,{});i[u]=!0,i[h]=!0,i[f]=!0,r.patterns[l.id]={min:u,mid:h,max:f}}}return r}ji.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(ho(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(ho(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},ji.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r},Bi.default=Ni;var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kn,this.indexArray=new pa,this.indexArray2=new da,this.programConfigurations=new Ka(Fi,t.layers,t.zoom),this.segments=new Pa,this.segments2=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};bo.prototype.populate=function(t,e){this.hasPattern=yo("fill",this.layers,e);for(var r=this.layers[0].layout.get("fill-sort-key"),n=[],a=0,i=t;a<i.length;a+=1){var o=i[a],s=o.feature,l=o.index,c=o.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),s)){var u=ri(s),h=r?r.evaluate(s,{}):void 0,f={id:s.id,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:u,patterns:{},sortKey:h};n.push(f)}}r&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var p=0,d=n;p<d.length;p+=1){var g=d[p],v=g,m=v.geometry,y=v.index,x=v.sourceLayerIndex;if(this.hasPattern){var b=xo("fill",this.layers,g,this.zoom,e);this.patternFeatures.push(b)}else this.addFeature(g,m,y,{});var _=t[y].feature;e.featureIndex.insert(_,m,y,x,this.index)}},bo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},bo.prototype.addFeatures=function(t,e){for(var r=0,n=this.patternFeatures;r<n.length;r+=1){var a=n[r];this.addFeature(a,a.geometry,a.index,e)}},bo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},bo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},bo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Fi),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},bo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},bo.prototype.addFeature=function(t,e,r,n){for(var a=0,i=vo(e,500);a<i.length;a+=1){for(var o=i[a],s=0,l=0,c=o;l<c.length;l+=1)s+=c[l].length;for(var u=this.segments.prepareSegment(s,this.layoutVertexArray,this.indexArray),h=u.vertexLength,f=[],p=[],d=0,g=o;d<g.length;d+=1){var v=g[d];if(0!==v.length){v!==o[0]&&p.push(f.length/2);var m=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),y=m.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(y+v.length-1,y),f.push(v[0].x),f.push(v[0].y);for(var x=1;x<v.length;x++)this.layoutVertexArray.emplaceBack(v[x].x,v[x].y),this.indexArray2.emplaceBack(y+x-1,y+x),f.push(v[x].x),f.push(v[x].y);m.vertexLength+=v.length,m.primitiveLength+=v.length}}for(var b=Bi(f,p),_=0;_<b.length;_+=3)this.indexArray.emplaceBack(h+b[_],h+b[_+1],h+b[_+2]);u.vertexLength+=s,u.primitiveLength+=b.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,n)},pn("FillBucket",bo,{omit:["layers","patternFeatures"]});var _o=new Hn({"fill-sort-key":new jn(Tt.layout_fill["fill-sort-key"])}),wo={paint:new Hn({"fill-antialias":new Nn(Tt.paint_fill["fill-antialias"]),"fill-opacity":new jn(Tt.paint_fill["fill-opacity"]),"fill-color":new jn(Tt.paint_fill["fill-color"]),"fill-outline-color":new jn(Tt.paint_fill["fill-outline-color"]),"fill-translate":new Nn(Tt.paint_fill["fill-translate"]),"fill-translate-anchor":new Nn(Tt.paint_fill["fill-translate-anchor"]),"fill-pattern":new Vn(Tt.paint_fill["fill-pattern"])}),layout:_o},ko=function(t){function e(e){t.call(this,e,wo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e);var r=this.paint._values["fill-outline-color"];"constant"===r.value.kind&&void 0===r.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(){return mi(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o){return si(yi(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),i.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(Gn),To=Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,Ao=Mo;function Mo(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(So,this,e)}function So(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],a=e._values[t.readVarint()];e.properties[n]=a}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function Eo(t){for(var e,r,n=0,a=0,i=t.length,o=i-1;a<i;o=a++)e=t[a],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}Mo.types=["Unknown","Point","LineString","Polygon"],Mo.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos<r;){if(i<=0){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Mo.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,a=0,i=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(a+=t.readSVarint())<o&&(o=a),a>s&&(s=a),(i+=t.readSVarint())<l&&(l=i),i>c&&(c=i);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Mo.prototype.toGeoJSON=function(t,e,r){var n,a,i=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Mo.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+s)/i;t[e]=[360*(r.x+o)/i-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var h=[];for(n=0;n<l.length;n++)h[n]=l[n][0];u(l=h);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,a=[],i=0;i<e;i++){var o=Eo(t[i]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&a.push(r),r=[t[i]]):r.push(t[i]))}return r&&a.push(r),a}(l),n=0;n<l.length;n++)for(a=0;a<l[n].length;a++)u(l[n][a])}1===l.length?l=l[0]:c="Multi"+c;var f={type:"Feature",geometry:{type:c,coordinates:l},properties:this.properties};return"id"in this&&(f.id=this.id),f};var Lo=Co;function Co(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(Po,this,e),this.length=this._features.length}function Po(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Oo(t,e,r){if(3===t){var n=new Lo(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Co.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ao(this._pbf,e,this.extent,this._keys,this._values)};var zo={VectorTile:function(t,e){this.layers=t.readFields(Oo,{},e)},VectorTileFeature:Ao,VectorTileLayer:Lo},Io=zo.VectorTileFeature.types,Do=Math.pow(2,13);function Ro(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,2*Math.floor(n*Do)+o,a*Do*2,i*Do*2,Math.round(s))}var Fo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new $n,this.indexArray=new pa,this.programConfigurations=new Ka(To,t.layers,t.zoom),this.segments=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function Bo(t,e){return t.x===e.x&&(t.x<0||t.x>ti)||t.y===e.y&&(t.y<0||t.y>ti)}function No(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>ti})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>ti})}Fo.prototype.populate=function(t,e){this.features=[],this.hasPattern=yo("fill-extrusion",this.layers,e);for(var r=0,n=t;r<n.length;r+=1){var a=n[r],i=a.feature,o=a.index,s=a.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),i)){var l=ri(i),c={sourceLayerIndex:s,index:o,geometry:l,properties:i.properties,type:i.type,patterns:{}};void 0!==i.id&&(c.id=i.id),this.hasPattern?this.features.push(xo("fill-extrusion",this.layers,c,this.zoom,e)):this.addFeature(c,l,o,{}),e.featureIndex.insert(i,l,o,s,this.index,!0)}}},Fo.prototype.addFeatures=function(t,e){for(var r=0,n=this.features;r<n.length;r+=1){var a=n[r],i=a.geometry;this.addFeature(a,i,a.index,e)}},Fo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Fo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Fo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,To),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Fo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Fo.prototype.addFeature=function(t,e,r,n){for(var a=0,i=vo(e,500);a<i.length;a+=1){for(var o=i[a],s=0,l=0,c=o;l<c.length;l+=1)s+=c[l].length;for(var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,f=o;h<f.length;h+=1){var p=f[h];if(0!==p.length&&!No(p))for(var d=0,g=0;g<p.length;g++){var v=p[g];if(g>=1){var m=p[g-1];if(!Bo(v,m)){u.vertexLength+4>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var y=v.sub(m)._perp()._unit(),x=m.dist(v);d+x>32768&&(d=0),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,1,d),d+=x,Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,1,d);var b=u.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),u.vertexLength+=4,u.primitiveLength+=2}}}}if(u.vertexLength+s>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(s,this.layoutVertexArray,this.indexArray)),"Polygon"===Io[t.type]){for(var _=[],w=[],k=u.vertexLength,T=0,A=o;T<A.length;T+=1){var M=A[T];if(0!==M.length){M!==o[0]&&w.push(_.length/2);for(var S=0;S<M.length;S++){var E=M[S];Ro(this.layoutVertexArray,E.x,E.y,0,0,1,1,0),_.push(E.x),_.push(E.y)}}}for(var L=Bi(_,w),C=0;C<L.length;C+=3)this.indexArray.emplaceBack(k+L[C],k+L[C+2],k+L[C+1]);u.primitiveLength+=L.length/3,u.vertexLength+=s}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,n)},pn("FillExtrusionBucket",Fo,{omit:["layers","features"]});var jo={paint:new Hn({"fill-extrusion-opacity":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Vn(Tt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})},Vo=function(t){function e(e){t.call(this,e,jo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Fo(t)},e.prototype.queryRadius=function(){return mi(this.paint.get("fill-extrusion-translate"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s,l){var c=yi(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(e,r),h=this.paint.get("fill-extrusion-base").evaluate(e,r),f=function(t,e,r,n){for(var i=[],o=0,s=t;o<s.length;o+=1){var l=s[o],c=[l.x,l.y,0,1];ki(c,c,e),i.push(new a(c[0]/c[3],c[1]/c[3]))}return i}(c,l),p=function(t,e,r,n){for(var i=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r,g=0,v=t;g<v.length;g+=1){for(var m=[],y=[],x=0,b=v[g];x<b.length;x+=1){var _=b[x],w=_.x,k=_.y,T=n[0]*w+n[4]*k+n[12],A=n[1]*w+n[5]*k+n[13],M=n[2]*w+n[6]*k+n[14],S=n[3]*w+n[7]*k+n[15],E=M+c,L=S+u,C=T+h,P=A+f,O=M+p,z=S+d,I=new a((T+s)/L,(A+l)/L);I.z=E/L,m.push(I);var D=new a(C/z,P/z);D.z=O/z,y.push(D)}i.push(m),o.push(y)}return[i,o]}(n,h,u,l);return function(t,e,r){var n=1/0;si(r,e)&&(n=qo(r,e[0]));for(var a=0;a<e.length;a++)for(var i=e[a],o=t[a],s=0;s<i.length-1;s++){var l=i[s],c=i[s+1],u=o[s],h=[l,c,o[s+1],u,l];ii(r,h)&&(n=Math.min(n,qo(r,h)))}return n!==1/0&&n}(p[0],p[1],f)},e}(Gn);function Uo(t,e){return t.x*e.x+t.y*e.y}function qo(t,e){if(1===t.length){var r=e[0],n=e[1],a=e[3],i=t[0],o=n.sub(r),s=a.sub(r),l=i.sub(r),c=Uo(o,o),u=Uo(o,s),h=Uo(s,s),f=Uo(l,o),p=Uo(l,s),d=c*h-u*u,g=(h*f-u*p)/d,v=(c*p-u*f)/d,m=1-g-v;return r.z*m+n.z*g+a.z*v}for(var y=1/0,x=0,b=e;x<b.length;x+=1){var _=b[x];y=Math.min(y,_.z)}return y}var Ho=Zn([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,Go=zo.VectorTileFeature.types,Yo=Math.cos(Math.PI/180*37.5),Wo=Math.pow(2,14)/.5,Xo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ta,this.indexArray=new pa,this.programConfigurations=new Ka(Ho,t.layers,t.zoom),this.segments=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};Xo.prototype.populate=function(t,e){this.hasPattern=yo("line",this.layers,e);for(var r=this.layers[0].layout.get("line-sort-key"),n=[],a=0,i=t;a<i.length;a+=1){var o=i[a],s=o.feature,l=o.index,c=o.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),s)){var u=ri(s),h=r?r.evaluate(s,{}):void 0,f={id:s.id,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:u,patterns:{},sortKey:h};n.push(f)}}r&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var p=0,d=n;p<d.length;p+=1){var g=d[p],v=g,m=v.geometry,y=v.index,x=v.sourceLayerIndex;if(this.hasPattern){var b=xo("line",this.layers,g,this.zoom,e);this.patternFeatures.push(b)}else this.addFeature(g,m,y,{});var _=t[y].feature;e.featureIndex.insert(_,m,y,x,this.index)}},Xo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Xo.prototype.addFeatures=function(t,e){for(var r=0,n=this.patternFeatures;r<n.length;r+=1){var a=n[r];this.addFeature(a,a.geometry,a.index,e)}},Xo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Xo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Xo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ho),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Xo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Xo.prototype.addFeature=function(t,e,r,n){for(var a=this.layers[0].layout,i=a.get("line-join").evaluate(t,{}),o=a.get("line-cap"),s=a.get("line-miter-limit"),l=a.get("line-round-limit"),c=0,u=e;c<u.length;c+=1){var h=u[c];this.addLine(h,t,i,o,s,l,r,n)}},Xo.prototype.addLine=function(t,e,r,n,a,i,o,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var l=0;l<t.length-1;l++)this.totalDistance+=t[l].dist(t[l+1])}for(var c="Polygon"===Go[e.type],u=t.length;u>=2&&t[u-1].equals(t[u-2]);)u--;for(var h=0;h<u-1&&t[h].equals(t[h+1]);)h++;if(!(u<(c?3:2))){"bevel"===r&&(a=1.05);var f,p=ti/(512*this.overscaling)*15,d=this.segments.prepareSegment(10*u,this.layoutVertexArray,this.indexArray),g=void 0,v=void 0,m=void 0,y=void 0;this.e1=this.e2=-1,c&&(f=t[u-2],y=t[h].sub(f)._unit()._perp());for(var x=h;x<u;x++)if(!(v=c&&x===u-1?t[h+1]:t[x+1])||!t[x].equals(v)){y&&(m=y),f&&(g=f),f=t[x],y=v?v.sub(f)._unit()._perp():m;var b=(m=m||y).add(y);0===b.x&&0===b.y||b._unit();var _=m.x*y.x+m.y*y.y,w=b.x*y.x+b.y*y.y,k=0!==w?1/w:1/0,T=2*Math.sqrt(2-2*w),A=w<Yo&&g&&v,M=m.x*y.y-m.y*y.x>0;if(A&&x>h){var S=f.dist(g);if(S>2*p){var E=f.sub(f.sub(g)._mult(p/S)._round());this.updateDistance(g,E),this.addCurrentVertex(E,m,0,0,d),g=E}}var L=g&&v,C=L?r:c?"butt":n;if(L&&"round"===C&&(k<i?C="miter":k<=2&&(C="fakeround")),"miter"===C&&k>a&&(C="bevel"),"bevel"===C&&(k>2&&(C="flipbevel"),k<a&&(C="miter")),g&&this.updateDistance(g,f),"miter"===C)b._mult(k),this.addCurrentVertex(f,b,0,0,d);else if("flipbevel"===C){if(k>100)b=y.mult(-1);else{var P=k*m.add(y).mag()/m.sub(y).mag();b._perp()._mult(P*(M?-1:1))}this.addCurrentVertex(f,b,0,0,d),this.addCurrentVertex(f,b.mult(-1),0,0,d)}else if("bevel"===C||"fakeround"===C){var O=-Math.sqrt(k*k-1),z=M?O:0,I=M?0:O;if(g&&this.addCurrentVertex(f,m,z,I,d),"fakeround"===C)for(var D=Math.round(180*T/Math.PI/20),R=1;R<D;R++){var F=R/D;if(.5!==F){var B=F-.5;F+=F*B*(F-1)*((1.0904+_*(_*(3.55645-1.43519*_)-3.2452))*B*B+(.848013+_*(.215638*_-1.06021)))}var N=y.sub(m)._mult(F)._add(m)._unit()._mult(M?-1:1);this.addHalfVertex(f,N.x,N.y,!1,M,0,d)}v&&this.addCurrentVertex(f,y,-z,-I,d)}else if("butt"===C)this.addCurrentVertex(f,b,0,0,d);else if("square"===C){var j=g?1:-1;this.addCurrentVertex(f,b,j,j,d)}else"round"===C&&(g&&(this.addCurrentVertex(f,m,0,0,d),this.addCurrentVertex(f,m,1,1,d,!0)),v&&(this.addCurrentVertex(f,y,-1,-1,d,!0),this.addCurrentVertex(f,y,0,0,d)));if(A&&x<u-1){var V=f.dist(v);if(V>2*p){var U=f.add(v.sub(f)._mult(p/V)._round());this.updateDistance(f,U),this.addCurrentVertex(U,y,0,0,d),f=U}}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,o,s)}},Xo.prototype.addCurrentVertex=function(t,e,r,n,a,i){void 0===i&&(i=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,i,!1,r,a),this.addHalfVertex(t,l,c,i,!0,-n,a),this.distance>Wo/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,a,i))},Xo.prototype.addHalfVertex=function(t,e,r,n,a,i,o){var s=t.x,l=t.y,c=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(a?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===i?0:i<0?-1:1)|(63&c)<<2,c>>6);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),a?this.e2=u:this.e1=u},Xo.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Wo-1):this.distance},pn("LineBucket",Xo,{omit:["layers","patternFeatures"]});var Zo=new Hn({"line-cap":new Nn(Tt.layout_line["line-cap"]),"line-join":new jn(Tt.layout_line["line-join"]),"line-miter-limit":new Nn(Tt.layout_line["line-miter-limit"]),"line-round-limit":new Nn(Tt.layout_line["line-round-limit"]),"line-sort-key":new jn(Tt.layout_line["line-sort-key"])}),Jo={paint:new Hn({"line-opacity":new jn(Tt.paint_line["line-opacity"]),"line-color":new jn(Tt.paint_line["line-color"]),"line-translate":new Nn(Tt.paint_line["line-translate"]),"line-translate-anchor":new Nn(Tt.paint_line["line-translate-anchor"]),"line-width":new jn(Tt.paint_line["line-width"]),"line-gap-width":new jn(Tt.paint_line["line-gap-width"]),"line-offset":new jn(Tt.paint_line["line-offset"]),"line-blur":new jn(Tt.paint_line["line-blur"]),"line-dasharray":new Un(Tt.paint_line["line-dasharray"]),"line-pattern":new Vn(Tt.paint_line["line-pattern"]),"line-gradient":new qn(Tt.paint_line["line-gradient"])}),layout:Zo},Ko=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Cn(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,a){return r=h({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,a)},e}(jn))(Jo.paint.properties["line-width"].specification);Ko.useIntegerZoom=!0;var Qo=function(t){function e(e){t.call(this,e,Jo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=zi(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=Ko.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new Xo(t)},e.prototype.queryRadius=function(t){var e=t,r=$o(vi("line-width",this,e),vi("line-gap-width",this,e)),n=vi("line-offset",this,e);return r/2+Math.abs(n)+mi(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=yi(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*$o(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i<t.length;i++){for(var o=t[i],s=[],l=0;l<o.length;l++){var c=o[l-1],u=o[l],h=o[l+1],f=0===l?n:u.sub(c)._unit()._perp(),p=l===o.length-1?n:h.sub(u)._unit()._perp(),d=f._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(u))}r.push(s)}return r}(n,u*s)),function(t,e,r){for(var n=0;n<e.length;n++){var a=e[n];if(t.length>=3)for(var i=0;i<a.length;i++)if(di(t,a[i]))return!0;if(li(t,a,r))return!0}return!1}(l,n,c)},e.prototype.isTileClipped=function(){return!0},e}(Gn);function $o(t,e){return e>0?e+2*t:t}var ts=Zn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),es=Zn([{name:"a_projected_pos",components:3,type:"Float32"}],4),rs=(Zn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Zn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),ns=(Zn([{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"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),as=Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);function is(t,e,r){return t.sections.forEach(function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ln.applyArabicShaping&&(t=Ln.applyArabicShaping(t)),t}(t.text,e,r)}),t}Zn([{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"}]),Zn([{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:"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:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"radialTextOffset"}]),Zn([{type:"Float32",name:"offsetX"}]),Zn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var os={"!":"\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"},ss=24,ls={horizontal:1,vertical:2,horizontalOnly:3},cs=function(){this.text="",this.sectionIndex=[],this.sections=[]};function us(t,e,r,n,a,i,o,s,l,c,u){var h,f=cs.fromFeature(t,r);c===ls.vertical&&f.verticalizePunctuation();var p=Ln.processBidirectionalText,d=Ln.processStyledBidirectionalText;if(p&&1===f.sections.length){h=[];for(var g=0,v=p(f.toString(),vs(f,s,n,e));g<v.length;g+=1){var m=v[g],y=new cs;y.text=m,y.sections=f.sections;for(var x=0;x<m.length;x++)y.sectionIndex.push(0);h.push(y)}}else if(d){h=[];for(var b=0,_=d(f.text,f.sectionIndex,vs(f,s,n,e));b<_.length;b+=1){var w=_[b],k=new cs;k.text=w[0],k.sectionIndex=w[1],k.sections=f.sections,h.push(k)}}else h=function(t,e){for(var r=[],n=t.text,a=0,i=0,o=e;i<o.length;i+=1){var s=o[i];r.push(t.substring(a,s)),a=s}return a<n.length&&r.push(t.substring(a,n.length)),r}(f,vs(f,s,n,e));var T=[],A={positionedGlyphs:T,text:f.toString(),top:l[1],bottom:l[1],left:l[0],right:l[0],writingMode:c,lineCount:h.length,yOffset:-17};return function(t,e,r,n,a,i,o,s,l){for(var c=0,u=t.yOffset,h=0,f=t.positionedGlyphs,p="right"===i?1:"left"===i?0:.5,d=0,g=r;d<g.length;d+=1){var v=g[d];v.trim();var m=v.getMaxScale();if(v.length()){for(var y=f.length,x=0;x<v.length();x++){var b=v.getSection(x),_=v.getSectionIndex(x),w=v.getCharCode(x),k=24*(m-b.scale),T=e[b.fontStack],A=T&&T[w];A&&(o===ls.horizontal||!l&&!_n(w)||l&&(hs[w]||(S=w,yn.Arabic(S)||yn["Arabic Supplement"](S)||yn["Arabic Extended-A"](S)||yn["Arabic Presentation Forms-A"](S)||yn["Arabic Presentation Forms-B"](S)))?(f.push({glyph:w,x:c,y:u+k,vertical:!1,scale:b.scale,fontStack:b.fontStack,sectionIndex:_}),c+=A.metrics.advance*b.scale+s):(f.push({glyph:w,x:c,y:u+k,vertical:!0,scale:b.scale,fontStack:b.fontStack,sectionIndex:_}),c+=ss*b.scale+s))}if(f.length!==y){var M=c-s;h=Math.max(M,h),ys(f,e,y,f.length-1,p)}c=0,u+=n*m}else u+=n}var S,E=ms(a),L=E.horizontalAlign,C=E.verticalAlign;!function(t,e,r,n,a,i,o){for(var s=(e-r)*a,l=(-n*o+.5)*i,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(f,p,L,C,h,n,r.length);var P=u-t.yOffset;t.top+=-C*P,t.bottom=t.top+P,t.left+=-L*h,t.right=t.left+h}(A,e,h,a,i,o,c,s,u),!!T.length&&A}cs.fromFeature=function(t,e){for(var r=new cs,n=0;n<t.sections.length;n++){var a=t.sections[n];r.sections.push({scale:a.scale||1,fontStack:a.fontStack||e}),r.text+=a.text;for(var i=0;i<a.text.length;i++)r.sectionIndex.push(n)}return r},cs.prototype.length=function(){return this.text.length},cs.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},cs.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},cs.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},cs.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,a=t.charCodeAt(r-1)||null;n&&wn(n)&&!os[t[r+1]]||a&&wn(a)&&!os[t[r-1]]||!os[t[r]]?e+=t[r]:e+=os[t[r]]}return e}(this.text)},cs.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&hs[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&hs[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},cs.prototype.substring=function(t,e){var r=new cs;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},cs.prototype.toString=function(){return this.text},cs.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce(function(e,r){return Math.max(e,t.sections[r].scale)},0)};var hs={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},fs={};function ps(t,e,r,n){var a=Math.pow(t-e,2);return n?t<e?a/2:2*a:a+Math.abs(r)*r}function ds(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function gs(t,e,r,n,a,i){for(var o=null,s=ps(e,r,a,i),l=0,c=n;l<c.length;l+=1){var u=c[l],h=ps(e-u.x,r,a,i)+u.badness;h<=s&&(o=u,s=h)}return{index:t,x:e,priorBreak:o,badness:s}}function vs(t,e,r,n){if(!r)return[];if(!t)return[];for(var a,i=[],o=function(t,e,r,n){for(var a=0,i=0;i<t.length();i++){var o=t.getSection(i),s=n[o.fontStack],l=s&&s[t.getCharCode(i)];l&&(a+=l.metrics.advance*o.scale+e)}return a/Math.max(1,Math.ceil(a/r))}(t,e,r,n),s=t.text.indexOf("\u200b")>=0,l=0,c=0;c<t.length();c++){var u=t.getSection(c),h=t.getCharCode(c),f=n[u.fontStack],p=f&&f[h];if(p&&!hs[h]&&(l+=p.metrics.advance*u.scale+e),c<t.length()-1){var d=!((a=h)<11904||!(yn["Bopomofo Extended"](a)||yn.Bopomofo(a)||yn["CJK Compatibility Forms"](a)||yn["CJK Compatibility Ideographs"](a)||yn["CJK Compatibility"](a)||yn["CJK Radicals Supplement"](a)||yn["CJK Strokes"](a)||yn["CJK Symbols and Punctuation"](a)||yn["CJK Unified Ideographs Extension A"](a)||yn["CJK Unified Ideographs"](a)||yn["Enclosed CJK Letters and Months"](a)||yn["Halfwidth and Fullwidth Forms"](a)||yn.Hiragana(a)||yn["Ideographic Description Characters"](a)||yn["Kangxi Radicals"](a)||yn["Katakana Phonetic Extensions"](a)||yn.Katakana(a)||yn["Vertical Forms"](a)||yn["Yi Radicals"](a)||yn["Yi Syllables"](a)));(fs[h]||d)&&i.push(gs(c+1,l,o,i,ds(h,t.getCharCode(c+1),d&&s),!1))}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(gs(t.length(),l,o,i,0,!0))}function ms(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:e,verticalAlign:r}}function ys(t,e,r,n,a){if(a){var i=t[n],o=e[i.fontStack],s=o&&o[i.glyph];if(s)for(var l=s.metrics.advance*i.scale,c=(t[n].x+l)*a,u=r;u<=n;u++)t[u].x-=c}}fs[10]=!0,fs[32]=!0,fs[38]=!0,fs[40]=!0,fs[41]=!0,fs[43]=!0,fs[45]=!0,fs[47]=!0,fs[173]=!0,fs[183]=!0,fs[8203]=!0,fs[8208]=!0,fs[8211]=!0,fs[8231]=!0;var xs=function(t){function e(e,r,n,a){t.call(this,e,r),this.angle=n,void 0!==a&&(this.segment=a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(a);pn("Anchor",xs);var bs=256;function _s(t,e){var r=e.expression;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Cn(t+1))};if("source"===r.kind)return{kind:"source"};for(var n=r.zoomStops,a=r.interpolationType,i=0;i<n.length&&n[i]<=t;)i++;for(var o=i=Math.max(0,i-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[i],l=n[o];return"composite"===r.kind?{kind:"composite",minZoom:s,maxZoom:l,interpolationType:a}:{kind:"camera",minZoom:s,maxZoom:l,minSize:r.evaluate(new Cn(s)),maxSize:r.evaluate(new Cn(l)),interpolationType:a}}function ws(t,e,r){var n=e.uSize,a=e.uSizeT,i=r.lowerSize,o=r.upperSize;return"source"===t.kind?i/bs:"composite"===t.kind?ye(i/bs,o/bs,a):n}function ks(t,e){var r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){var a=t.interpolationType,i=t.minZoom,o=t.maxZoom,s=a?c(Be.interpolationFactor(a,e,i,o),0,1):0;"camera"===t.kind?n=ye(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}}var Ts=Object.freeze({getSizeData:_s,evaluateSizeForFeature:ws,evaluateSizeForZoom:ks,SIZE_PACK_FACTOR:bs}),As=zo.VectorTileFeature.types,Ms=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function Ss(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,Math.round(32*n),Math.round(32*a),i,o,s?s[0]:0,s?s[1]:0)}function Es(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var Ls=function(t){this.layoutVertexArray=new ra,this.indexArray=new pa,this.programConfigurations=t,this.segments=new Pa,this.dynamicLayoutVertexArray=new na,this.opacityVertexArray=new aa,this.placedSymbolArray=new _a};Ls.prototype.upload=function(t,e,r,n){r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ts.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,es.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Ms,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t)},Ls.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},pn("SymbolBuffers",Ls);var Cs=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Pa,this.collisionVertexArray=new sa};Cs.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,rs.members,!0)},Cs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},pn("CollisionBuffers",Cs);var Ps=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasPaintOverrides=!1;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=_s(this.zoom,e["text-size"]),this.iconSizeData=_s(this.zoom,e["icon-size"]);var r=this.layers[0].layout,n=r.get("symbol-sort-key"),a=r.get("symbol-z-order");this.sortFeaturesByKey="viewport-y"!==a&&void 0!==n.constantOr(1);var i="viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey;this.sortFeaturesByY=i&&(r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")),"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map(function(t){return ls[t]})),this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id}),this.sourceID=t.sourceID};Ps.prototype.createArrays=function(){var t=this.layers[0].layout;this.hasPaintOverrides=Ds.hasPaintOverrides(t),this.text=new Ls(new Ka(ts.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new Ls(new Ka(ts.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new Cs(oa,ns.members,da),this.collisionCircle=new Cs(oa,as.members,pa),this.glyphOffsetArray=new Aa,this.lineVertexArray=new Sa,this.symbolInstances=new ka},Ps.prototype.calculateGlyphDependencies=function(t,e,r,n,a){for(var i=0;i<t.length;i++)if(e[t.charCodeAt(i)]=!0,(r||n)&&a){var o=os[t.charAt(i)];o&&(e[o.charCodeAt(0)]=!0)}},Ps.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,a=n.get("text-font"),i=n.get("text-field"),o=n.get("icon-image"),s=("constant"!==i.value.kind||i.value.value.toString().length>0)&&("constant"!==a.value.kind||a.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0,c=n.get("symbol-sort-key");if(this.features=[],s||l){for(var u=e.iconDependencies,h=e.glyphDependencies,f=new Cn(this.zoom),p=0,d=t;p<d.length;p+=1){var g=d[p],v=g.feature,m=g.index,y=g.sourceLayerIndex;if(r._featureFilter(f,v)){var x=void 0;if(s){var b=r.getValueAndResolveTokens("text-field",v);x=is(b instanceof Jt?b:Jt.fromString(b),r,v)}var _=void 0;if(l&&(_=r.getValueAndResolveTokens("icon-image",v)),x||_){var w=this.sortFeaturesByKey?c.evaluate(v,{}):void 0,k={text:x,icon:_,index:m,sourceLayerIndex:y,geometry:ri(v),properties:v.properties,type:As[v.type],sortKey:w};if(void 0!==v.id&&(k.id=v.id),this.features.push(k),_&&(u[_]=!0),x){var T=a.evaluate(v,{}).join(","),A="map"===n.get("text-rotation-alignment")&&"point"!==n.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(ls.vertical)>=0;for(var M=0,S=x.sections;M<S.length;M+=1){var E=S[M],L=xn(x.toString()),C=E.fontStack||T,P=h[C]=h[C]||{};this.calculateGlyphDependencies(E.text,P,A,this.allowVerticalPlacement,L)}}}}}"line"===n.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],a=0;function i(e){n.push(t[e]),a++}function o(t,e,a){var i=r[t];return delete r[t],r[e]=i,n[i].geometry[0].pop(),n[i].geometry[0]=n[i].geometry[0].concat(a[0]),i}function s(t,r,a){var i=e[r];return delete e[r],e[t]=i,n[i].geometry[0].shift(),n[i].geometry[0]=a[0].concat(n[i].geometry[0]),i}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.text?u.text.toString():null;if(f){var p=l(f,h),d=l(f,h,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,h),v=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(f,n[v].geometry,!0)]=v,n[g].geometry=null}else p in r?o(p,d,h):d in e?s(p,d,h):(i(c),e[p]=a-1,r[d]=a-1)}else i(c)}return n.filter(function(t){return t.geometry})}(this.features)),this.sortFeaturesByKey&&this.features.sort(function(t,e){return t.sortKey-e.sortKey})}},Ps.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},Ps.prototype.isEmpty=function(){return 0===this.symbolInstances.length},Ps.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},Ps.prototype.upload=function(t){this.uploaded||(this.collisionBox.upload(t),this.collisionCircle.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},Ps.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},Ps.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),a=t.dist(e[t.segment]),i={},o=t.segment+1;o<e.length;o++)i[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)i[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:a},s>0&&(a+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=i[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Ps.prototype.addSymbols=function(t,e,r,n,a,i,o,s,l,c){var u=this,h=t.indexArray,f=t.layoutVertexArray,p=t.dynamicLayoutVertexArray,d=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray,i.sortKey),g=this.glyphOffsetArray.length,v=d.vertexLength,m=this.allowVerticalPlacement&&o===ls.vertical?Math.PI/2:0,y=function(t){var e=t.tl,n=t.tr,a=t.bl,i=t.br,o=t.tex,l=d.vertexLength,c=t.glyphOffset[1];Ss(f,s.x,s.y,e.x,c+e.y,o.x,o.y,r),Ss(f,s.x,s.y,n.x,c+n.y,o.x+o.w,o.y,r),Ss(f,s.x,s.y,a.x,c+a.y,o.x,o.y+o.h,r),Ss(f,s.x,s.y,i.x,c+i.y,o.x+o.w,o.y+o.h,r),Es(p,s,m),h.emplaceBack(l,l+1,l+2),h.emplaceBack(l+1,l+2,l+3),d.vertexLength+=4,d.primitiveLength+=2,u.glyphOffsetArray.emplaceBack(t.glyphOffset[0])};if(i.text&&i.text.sections){var x=i.text.sections;if(this.hasPaintOverrides){for(var b,_=function(e,r){void 0===b||b===e&&!r||t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{},x[b]),b=e},w=0,k=e;w<k.length;w+=1){var T=k[w];_(T.sectionIndex,!1),y(T)}_(b,!0)}else{for(var A=0,M=e;A<M.length;A+=1)y(M[A]);t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{},x[0])}}else{for(var S=0,E=e;S<E.length;S+=1)y(E[S]);t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{})}t.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,v,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0)},Ps.prototype._addCollisionDebugVertex=function(t,e,r,n,a,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,a,Math.round(i.x),Math.round(i.y))},Ps.prototype.addCollisionDebugVertices=function(t,e,r,n,i,o,s,l){var c=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=c.vertexLength,h=i.layoutVertexArray,f=i.collisionVertexArray,p=s.anchorX,d=s.anchorY;if(this._addCollisionDebugVertex(h,f,o,p,d,new a(t,e)),this._addCollisionDebugVertex(h,f,o,p,d,new a(r,e)),this._addCollisionDebugVertex(h,f,o,p,d,new a(r,n)),this._addCollisionDebugVertex(h,f,o,p,d,new a(t,n)),c.vertexLength+=4,l){var g=i.indexArray;g.emplaceBack(u,u+1,u+2),g.emplaceBack(u,u+2,u+3),c.primitiveLength+=2}else{var v=i.indexArray;v.emplaceBack(u,u+1),v.emplaceBack(u+1,u+2),v.emplaceBack(u+2,u+3),v.emplaceBack(u+3,u),c.primitiveLength+=4}},Ps.prototype.addDebugCollisionBoxes=function(t,e,r){for(var n=t;n<e;n++){var a=this.collisionBoxArray.get(n),i=a.x1,o=a.y1,s=a.x2,l=a.y2,c=a.radius>0;this.addCollisionDebugVertices(i,o,s,l,c?this.collisionCircle:this.collisionBox,a.anchorPoint,r,c)}},Ps.prototype.generateCollisionDebugBuffers=function(){for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e)}},Ps.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,a,i,o){for(var s={},l=e;l<r;l++){var c=t.get(l);if(0===c.radius){s.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},s.textFeatureIndex=c.featureIndex;break}s.textCircles||(s.textCircles=[],s.textFeatureIndex=c.featureIndex),s.textCircles.push(c.anchorPointX,c.anchorPointY,c.radius,c.signedDistanceFromAnchor,1)}for(var u=n;u<a;u++){var h=t.get(u);if(0===h.radius){s.verticalTextBox={x1:h.x1,y1:h.y1,x2:h.x2,y2:h.y2,anchorPointX:h.anchorPointX,anchorPointY:h.anchorPointY},s.verticalTextFeatureIndex=h.featureIndex;break}}for(var f=i;f<o;f++){var p=t.get(f);if(0===p.radius){s.iconBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},s.iconFeatureIndex=p.featureIndex;break}}return s},Ps.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex))}},Ps.prototype.hasTextData=function(){return this.text.segments.get().length>0},Ps.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ps.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ps.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ps.prototype.addIndicesForPlacedTextSymbol=function(t){for(var e=this.text.placedSymbolArray.get(t),r=e.vertexStartIndex+4*e.numGlyphs,n=e.vertexStartIndex;n<r;n+=4)this.text.indexArray.emplaceBack(n,n+1,n+2),this.text.indexArray.emplaceBack(n+1,n+2,n+3)},Ps.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],a=[],i=[],o=0;o<this.symbolInstances.length;++o){i.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),a.push(s.featureIndex)}return i.sort(function(t,e){return n[t]-n[e]||a[e]-a[t]}),i},Ps.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var a=n[r],i=this.symbolInstances.get(a);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach(function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedTextSymbol(t)}),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedTextSymbol(i.verticalPlacedTextSymbolIndex);var o=this.icon.placedSymbolArray.get(a);if(o.numGlyphs){var s=o.vertexStartIndex;this.icon.indexArray.emplaceBack(s,s+1,s+2),this.icon.indexArray.emplaceBack(s+1,s+2,s+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},pn("SymbolBucket",Ps,{omit:["layers","collisionBoxArray","features","compareText"]}),Ps.MAX_GLYPHS=65535,Ps.addDynamicAttributes=Es;var Os=new Hn({"symbol-placement":new Nn(Tt.layout_symbol["symbol-placement"]),"symbol-spacing":new Nn(Tt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Nn(Tt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new jn(Tt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Nn(Tt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Nn(Tt.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Nn(Tt.layout_symbol["icon-ignore-placement"]),"icon-optional":new Nn(Tt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Nn(Tt.layout_symbol["icon-rotation-alignment"]),"icon-size":new jn(Tt.layout_symbol["icon-size"]),"icon-text-fit":new Nn(Tt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Nn(Tt.layout_symbol["icon-text-fit-padding"]),"icon-image":new jn(Tt.layout_symbol["icon-image"]),"icon-rotate":new jn(Tt.layout_symbol["icon-rotate"]),"icon-padding":new Nn(Tt.layout_symbol["icon-padding"]),"icon-keep-upright":new Nn(Tt.layout_symbol["icon-keep-upright"]),"icon-offset":new jn(Tt.layout_symbol["icon-offset"]),"icon-anchor":new jn(Tt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Nn(Tt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Nn(Tt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Nn(Tt.layout_symbol["text-rotation-alignment"]),"text-field":new jn(Tt.layout_symbol["text-field"]),"text-font":new jn(Tt.layout_symbol["text-font"]),"text-size":new jn(Tt.layout_symbol["text-size"]),"text-max-width":new jn(Tt.layout_symbol["text-max-width"]),"text-line-height":new Nn(Tt.layout_symbol["text-line-height"]),"text-letter-spacing":new jn(Tt.layout_symbol["text-letter-spacing"]),"text-justify":new jn(Tt.layout_symbol["text-justify"]),"text-radial-offset":new jn(Tt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Nn(Tt.layout_symbol["text-variable-anchor"]),"text-anchor":new jn(Tt.layout_symbol["text-anchor"]),"text-max-angle":new Nn(Tt.layout_symbol["text-max-angle"]),"text-writing-mode":new Nn(Tt.layout_symbol["text-writing-mode"]),"text-rotate":new jn(Tt.layout_symbol["text-rotate"]),"text-padding":new Nn(Tt.layout_symbol["text-padding"]),"text-keep-upright":new Nn(Tt.layout_symbol["text-keep-upright"]),"text-transform":new jn(Tt.layout_symbol["text-transform"]),"text-offset":new jn(Tt.layout_symbol["text-offset"]),"text-allow-overlap":new Nn(Tt.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Nn(Tt.layout_symbol["text-ignore-placement"]),"text-optional":new Nn(Tt.layout_symbol["text-optional"])}),zs={paint:new Hn({"icon-opacity":new jn(Tt.paint_symbol["icon-opacity"]),"icon-color":new jn(Tt.paint_symbol["icon-color"]),"icon-halo-color":new jn(Tt.paint_symbol["icon-halo-color"]),"icon-halo-width":new jn(Tt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new jn(Tt.paint_symbol["icon-halo-blur"]),"icon-translate":new Nn(Tt.paint_symbol["icon-translate"]),"icon-translate-anchor":new Nn(Tt.paint_symbol["icon-translate-anchor"]),"text-opacity":new jn(Tt.paint_symbol["text-opacity"]),"text-color":new jn(Tt.paint_symbol["text-color"],{runtimeType:Ft,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new jn(Tt.paint_symbol["text-halo-color"]),"text-halo-width":new jn(Tt.paint_symbol["text-halo-width"]),"text-halo-blur":new jn(Tt.paint_symbol["text-halo-blur"]),"text-translate":new Nn(Tt.paint_symbol["text-translate"]),"text-translate-anchor":new Nn(Tt.paint_symbol["text-translate-anchor"])}),layout:Os},Is=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:zt,this.defaultValue=t};Is.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},Is.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},Is.prototype.possibleOutputs=function(){return[void 0]},Is.prototype.serialize=function(){return null},pn("FormatSectionOverride",Is,{omit:["defaultValue"]});var Ds=function(t){function e(e){t.call(this,e,zs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){if(t.prototype.recalculate.call(this,e),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var r=this.layout.get("text-writing-mode");if(r){for(var n=[],a=0,i=r;a<i.length;a+=1){var o=i[a];n.indexOf(o)<0&&n.push(o)}this.layout._values["text-writing-mode"]=n}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e,{}),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||_r(n.value)?r:function(t,e){return r.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):""})}(e.properties)},e.prototype.createBucket=function(t){return new Ps(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=zs.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var a,i=this.paint.get(n),o=new Is(i),s=new br(o,i.property.specification);a="constant"===i.value.kind||"source"===i.value.kind?new kr("source",s):new Tr("composite",s,i.value.zoomStops,i.value._interpolationType),this.paint._values[n]=new Fn(i.property,a,i.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get("text-field"),n=zs.paint.properties[e],a=!1,i=function(t){for(var e=0,r=t;e<r.length;e+=1){var i=r[e];if(n.overrides&&n.overrides.hasOverride(i))return void(a=!0)}};if("constant"===r.value.kind&&r.value.value instanceof Jt)i(r.value.value.sections);else if("source"===r.value.kind){var o=function(t){if(!a)if(t instanceof te&&Qt(t.value)===Vt){var e=t.value;i(e.sections)}else t instanceof ae?i(t.sections):t.eachChild(o)},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return a},e.hasPaintOverrides=function(t){for(var r=0,n=zs.paint.overridableProperties;r<n.length;r+=1){var a=n[r];if(e.hasPaintOverride(t,a))return!0}return!1},e}(Gn),Rs={paint:new Hn({"background-color":new Nn(Tt.paint_background["background-color"]),"background-pattern":new Un(Tt.paint_background["background-pattern"]),"background-opacity":new Nn(Tt.paint_background["background-opacity"])})},Fs=function(t){function e(e){t.call(this,e,Rs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Gn),Bs={paint:new Hn({"raster-opacity":new Nn(Tt.paint_raster["raster-opacity"]),"raster-hue-rotate":new Nn(Tt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Nn(Tt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Nn(Tt.paint_raster["raster-brightness-max"]),"raster-saturation":new Nn(Tt.paint_raster["raster-saturation"]),"raster-contrast":new Nn(Tt.paint_raster["raster-contrast"]),"raster-resampling":new Nn(Tt.paint_raster["raster-resampling"]),"raster-fade-duration":new Nn(Tt.paint_raster["raster-fade-duration"])})},Ns=function(t){function e(e){t.call(this,e,Bs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Gn),js=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.is3D=function(){return"3d"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(Gn),Vs={circle:Ti,heatmap:Ii,hillshade:Ri,fill:ko,"fill-extrusion":Vo,line:Qo,symbol:Ds,background:Fs,raster:Ns};function Us(t){for(var e=0,r=0,n=0,a=t;n<a.length;n+=1){var i=a[n];e+=i.w*i.h,r=Math.max(r,i.w)}t.sort(function(t,e){return e.h-t.h});for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,c=0,u=t;c<u.length;c+=1)for(var h=u[c],f=o.length-1;f>=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f<o.length&&(o[f]=d)}else h.h===p.h?(p.x+=h.w,p.w-=h.w):h.w===p.w?(p.y+=h.h,p.h-=h.h):(o.push({x:p.x+h.w,y:p.y,w:p.w-h.w,h:h.h}),p.y+=h.h,p.h-=h.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}var qs=function(t,e){var r=e.pixelRatio,n=e.version;this.paddedRect=t,this.pixelRatio=r,this.version=n},Hs={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};Hs.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},Hs.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},Hs.tlbr.get=function(){return this.tl.concat(this.br)},Hs.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(qs.prototype,Hs);var Gs=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var a=[];this.addImages(t,r,a),this.addImages(e,n,a);var i=Us(a),o=i.w,s=i.h,l=new Pi({width:o||1,height:s||1});for(var c in t){var u=t[c],h=r[c].paddedRect;Pi.copy(u.data,l,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(var f in e){var p=e[f],d=n[f].paddedRect,g=d.x+1,v=d.y+1,m=p.data.width,y=p.data.height;Pi.copy(p.data,l,{x:0,y:0},{x:g,y:v},p.data),Pi.copy(p.data,l,{x:0,y:y-1},{x:g,y:v-1},{width:m,height:1}),Pi.copy(p.data,l,{x:0,y:0},{x:g,y:v+y},{width:m,height:1}),Pi.copy(p.data,l,{x:m-1,y:0},{x:g-1,y:v},{width:1,height:y}),Pi.copy(p.data,l,{x:0,y:0},{x:g+m,y:v},{width:1,height:y})}this.image=l,this.iconPositions=r,this.patternPositions=n};Gs.prototype.addImages=function(t,e,r){for(var n in t){var a=t[n],i={x:0,y:0,w:a.data.width+2,h:a.data.height+2};r.push(i),e[n]=new qs(i,a),a.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},Gs.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},Gs.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl,a=n[0],i=n[1];r.update(e.data,void 0,{x:a,y:i})}},pn("ImagePosition",qs),pn("ImageAtlas",Gs);var Ys=self.HTMLImageElement,Ws=self.HTMLCanvasElement,Xs=self.HTMLVideoElement,Zs=self.ImageData,Js=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};Js.prototype.update=function(t,e,r){var n=t.width,a=t.height,i=!(this.size&&this.size[0]===n&&this.size[1]===a||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),i)this.size=[n,a],t instanceof Ys||t instanceof Ws||t instanceof Xs||t instanceof Zs?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,a,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},c=l.x,u=l.y;t instanceof Ys||t instanceof Ws||t instanceof Xs||t instanceof Zs?s.texSubImage2D(s.TEXTURE_2D,0,c,u,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,c,u,n,a,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},Js.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},Js.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Js.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Ks=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},Qs=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},$s=tl;function tl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function el(t){return t.type===tl.Bytes?t.readVarint()+t.pos:t.pos+1}function rl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var a=r.pos-1;a>=t;a--)r.buf[a+n]=r.buf[a]}function al(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function il(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function ol(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function sl(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function ll(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function cl(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function ul(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function hl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function fl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function pl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function dl(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function gl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}tl.Varint=0,tl.Fixed64=1,tl.Bytes=2,tl.Fixed32=5,tl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),a=n>>3,i=this.pos;this.type=7&n,t(a,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=pl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=gl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*pl(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*gl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Ks(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ks(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,a,i=r.buf;if(n=(112&(a=i[r.pos++]))>>4,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<3,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<10,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<17,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<24,a<128)return rl(t,n,e);if(n|=(1&(a=i[r.pos++]))<<31,a<128)return rl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n="",a=e;a<r;){var i,o,s,l=t[a],c=null,u=l>239?4:l>223?3:l>191?2:1;if(a+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(i=t[a+1]))&&(c=(31&l)<<6|63&i)<=127&&(c=null):3===u?(i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&((c=(15&l)<<12|(63&i)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&i)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),a+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==tl.Bytes)return t.push(this.readVarint(e));var r=el(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==tl.Bytes)return t.push(this.readSVarint());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==tl.Bytes)return t.push(this.readBoolean());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==tl.Bytes)return t.push(this.readFloat());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==tl.Bytes)return t.push(this.readDouble());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==tl.Bytes)return t.push(this.readFixed32());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==tl.Bytes)return t.push(this.readSFixed32());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==tl.Bytes)return t.push(this.readFixed64());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==tl.Bytes)return t.push(this.readSFixed64());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===tl.Varint)for(;this.buf[this.pos++]>127;);else if(e===tl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===tl.Fixed32)this.pos+=4;else{if(e!==tl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),dl(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),dl(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),dl(this.buf,-1&t,this.pos),dl(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),dl(this.buf,-1&t,this.pos),dl(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,a,i=0;i<e.length;i++){if((n=e.charCodeAt(i))>55295&&n<57344){if(!a){n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):a=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else a&&(t[r++]=239,t[r++]=191,t[r++]=189,a=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Qs(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,tl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,al,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,il,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ll,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,ol,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,sl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,cl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,ul,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,fl,e)},writeBytesField:function(t,e){this.writeTag(t,tl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,tl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,tl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var vl=3;function ml(t,e,r){1===t&&r.readMessage(yl,e)}function yl(t,e,r){if(3===t){var n=r.readMessage(xl,{}),a=n.id,i=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:a,bitmap:new Ci({width:o+2*vl,height:s+2*vl},i),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function xl(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var bl=vl,_l=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};_l.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){t._triggered=!1,t._callback()},0))};var wl=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},v(["receive","process"],this),this.invoker=new _l(this.process),this.target.addEventListener("message",this.receive,!1)};function kl(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}wl.prototype.send=function(t,e,r,n){var a=this,i=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[i]=r);var o=[];return this.target.postMessage({id:i,type:t,hasCallback:!!r,targetMapId:n,sourceMapId:this.mapId,data:gn(e,o)},o),{cancel:function(){r&&delete a.callbacks[i],a.target.postMessage({id:i,type:"<cancel>",targetMapId:n,sourceMapId:a.mapId})}}},wl.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if("<cancel>"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()},wl.prototype.process=function(){var t=this;if(this.taskQueue.length){var e=this.taskQueue.shift(),r=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),r)if("<response>"===r.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(r.error?n(vn(r.error)):n(null,vn(r.data)))}else{var a=!1,i=r.hasCallback?function(r,n){a=!0,delete t.cancelCallbacks[e];var i=[];t.target.postMessage({id:e,type:"<response>",sourceMapId:t.mapId,error:r?gn(r):null,data:gn(n,i)},i)}:function(t){a=!0},o=null,s=vn(r.data);if(this.parent[r.type])o=this.parent[r.type](r.sourceMapId,s,i);else if(this.parent.getWorkerSource){var l=r.type.split(".");o=this.parent.getWorkerSource(r.sourceMapId,l[0],s.source)[l[1]](s,i)}else i(new Error("Could not find function "+r.type));!a&&o&&o.cancel&&(this.cancelCallbacks[e]=o.cancel)}}},wl.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)};var Tl=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Tl.prototype.setNorthEast=function(t){return this._ne=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.setSouthWest=function(t){return this._sw=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.extend=function(t){var e,r,n=this._sw,a=this._ne;if(t instanceof Al)e=t,r=t;else{if(!(t instanceof Tl))return Array.isArray(t)?t.every(Array.isArray)?this.extend(Tl.convert(t)):this.extend(Al.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||a?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),a.lng=Math.max(r.lng,a.lng),a.lat=Math.max(r.lat,a.lat)):(this._sw=new Al(e.lng,e.lat),this._ne=new Al(r.lng,r.lat)),this},Tl.prototype.getCenter=function(){return new Al((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Tl.prototype.getSouthWest=function(){return this._sw},Tl.prototype.getNorthEast=function(){return this._ne},Tl.prototype.getNorthWest=function(){return new Al(this.getWest(),this.getNorth())},Tl.prototype.getSouthEast=function(){return new Al(this.getEast(),this.getSouth())},Tl.prototype.getWest=function(){return this._sw.lng},Tl.prototype.getSouth=function(){return this._sw.lat},Tl.prototype.getEast=function(){return this._ne.lng},Tl.prototype.getNorth=function(){return this._ne.lat},Tl.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Tl.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Tl.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Tl.convert=function(t){return!t||t instanceof Tl?t:new Tl(t)};var Al=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Al.prototype.wrap=function(){return new Al(u(this.lng,-180,180),this.lat)},Al.prototype.toArray=function(){return[this.lng,this.lat]},Al.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Al.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Tl(new Al(this.lng-r,this.lat-e),new Al(this.lng+r,this.lat+e))},Al.convert=function(t){if(t instanceof Al)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Al(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Al(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var Ml=2*Math.PI*6378137;function Sl(t){return Ml*Math.cos(t*Math.PI/180)}function El(t){return(180+t)/360}function Ll(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Cl(t,e){return t/Sl(e)}function Pl(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Ol=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Ol.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Al.convert(t);return new Ol(El(r.lng),Ll(r.lat),Cl(e,r.lat))},Ol.prototype.toLngLat=function(){return new Al(360*this.x-180,Pl(this.y))},Ol.prototype.toAltitude=function(){return this.z*Sl(Pl(this.y))},Ol.prototype.meterInMercatorCoordinateUnits=function(){return 1/Ml*(t=Pl(this.y),1/Math.cos(t*Math.PI/180));var t};var zl=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Rl(0,t,e,r)};zl.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},zl.prototype.url=function(t,e){var r,n,a,i,o,s=(r=this.x,n=this.y,a=this.z,i=kl(256*r,256*(n=Math.pow(2,a)-n-1),a),o=kl(256*(r+1),256*(n+1),a),i[0]+","+i[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,a="",i=t;i>0;i--)a+=(e&(n=1<<i-1)?1:0)+(r&n?2:0);return a}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",l).replace("{bbox-epsg-3857}",s)},zl.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new a((t.x*e-this.x)*ti,(t.y*e-this.y)*ti)};var Il=function(t,e){this.wrap=t,this.canonical=e,this.key=Rl(t,e.z,e.x,e.y)},Dl=function(t,e,r,n,a){this.overscaledZ=t,this.wrap=e,this.canonical=new zl(r,+n,+a),this.key=Rl(e,t,n,a)};function Rl(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var a=1<<e;return 32*(a*a*t+a*n+r)+e}Dl.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Dl.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Dl(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Dl(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Dl.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Dl.prototype.children=function(t){if(this.overscaledZ>=t)return[new Dl(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Dl(e,this.wrap,e,r,n),new Dl(e,this.wrap,e,r+1,n),new Dl(e,this.wrap,e,r,n+1),new Dl(e,this.wrap,e,r+1,n+1)]},Dl.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Dl.prototype.wrapped=function(){return new Dl(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Dl.prototype.unwrapTo=function(t){return new Dl(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Dl.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Dl.prototype.toUnwrapped=function(){return new Il(this.wrap,this.canonical)},Dl.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},Dl.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Ol(t.x-this.wrap,t.y))},pn("CanonicalTileID",zl),pn("OverscaledTileID",Dl,{omit:["posMatrix"]});var Fl=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError("DEM tiles must be square");if(r&&"mapbox"!==r&&"terrarium"!==r)return w('"'+r+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');var n=this.dim=e.height;this.stride=this.dim+2,this.data=new Int32Array(this.stride*this.stride);for(var a=e.data,i="terrarium"===r?this._unpackTerrarium:this._unpackMapbox,o=0;o<n;o++)for(var s=0;s<n;s++){var l=4*(o*n+s);this.set(s,o,i(a[l],a[l+1],a[l+2]))}for(var c=0;c<n;c++)this.set(-1,c,this.get(0,c)),this.set(n,c,this.get(n-1,c)),this.set(c,-1,this.get(c,0)),this.set(c,n,this.get(c,n-1));this.set(-1,-1,this.get(0,0)),this.set(n,-1,this.get(n-1,0)),this.set(-1,n,this.get(0,n-1)),this.set(n,n,this.get(n-1,n-1))};Fl.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},Fl.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},Fl.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Fl.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Fl.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Fl.prototype.getPixels=function(){return new Pi({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Fl.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,a=e*this.dim+this.dim,i=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=a-1;break;case 1:a=n+1}switch(r){case-1:i=o-1;break;case 1:o=i+1}for(var s=-e*this.dim,l=-r*this.dim,c=i;c<o;c++)for(var u=n;u<a;u++)this.set(u,c,t.get(u+s,c+l))},pn("DEMData",Fl);var Bl=Zn([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),Nl=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Nl.prototype.encode=function(t){return this._stringToNumber[t]},Nl.prototype.decode=function(t){return this._numberToString[t]};var jl=function(t,e,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},Vl={geometry:{configurable:!0}};Vl.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Vl.geometry.set=function(t){this._geometry=t},jl.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(jl.prototype,Vl);var Ul=function(){this.state={},this.stateChanges={},this.deletedStates={}};Ul.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},h(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var a in this.deletedStates[t]={},this.state[t])a!==n&&(this.deletedStates[t][a]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var i in this.deletedStates[t][n]={},this.state[t][n])r[i]||(this.deletedStates[t][n][i]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]},Ul.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e&&e>=0)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e&&e>=0)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},Ul.prototype.getState=function(t,e){var r=String(e),n=this.state[t]||{},a=this.stateChanges[t]||{},i=h({},n[r],a[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var o=this.deletedStates[t][e];if(null===o)return{};for(var s in o)delete i[s]}return i},Ul.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},Ul.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var a={};for(var i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),h(this.state[n][i],this.stateChanges[n][i]),a[i]=this.state[n][i];r[n]=a}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var u=0,f=Object.keys(this.deletedStates[o][c]);u<f.length;u+=1){var p=f[u];delete this.state[o][c][p]}s[c]=this.state[o][c]}r[o]=r[o]||{},h(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var d in t)t[d].setFeatureState(r,e)};var ql=function(t,e,r){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=e||new ln(ti,16,0),this.grid3D=new ln(ti,16,0),this.featureIndexArray=r||new La};function Hl(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,i=0,o=t;i<o.length;i+=1){var s=o[i];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),a=Math.max(a,s.y)}return{minX:e,minY:r,maxX:n,maxY:a}}function Gl(t,e){return e-t}ql.prototype.insert=function(t,e,r,n,a,i){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,a);for(var s=i?this.grid3D:this.grid,l=0;l<e.length;l++){for(var c=e[l],u=[1/0,1/0,-1/0,-1/0],h=0;h<c.length;h++){var f=c[h];u[0]=Math.min(u[0],f.x),u[1]=Math.min(u[1],f.y),u[2]=Math.max(u[2],f.x),u[3]=Math.max(u[3],f.y)}u[0]<ti&&u[1]<ti&&u[2]>=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},ql.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new zo.VectorTile(new $s(this.rawTileData)).layers,this.sourceLayerCoder=new Nl(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},ql.prototype.query=function(t,e,r){var n=this;this.loadVTLayers();for(var i=t.params||{},o=ti/t.tileSize/t.scale,s=Dr(i.filter),l=t.queryGeometry,c=t.queryPadding*o,u=Hl(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=Hl(t.cameraQueryGeometry),p=0,d=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u<h.length;u+=1)if(di(t,h[u]))return!0;for(var f=0;f<t.length-1;f++)if(gi(t[f],t[f+1],c))return!0;return!1}(t.cameraQueryGeometry,e-c,r-c,n+c,i+c)});p<d.length;p+=1){var g=d[p];h.push(g)}h.sort(Gl);for(var v,m={},y=function(a){var c=h[a];if(c!==v){v=c;var u=n.featureIndexArray.get(c),f=null;n.loadMatchingFeature(m,u.bucketIndex,u.sourceLayerIndex,u.featureIndex,s,i.layers,e,function(e,a){f||(f=ri(e));var i={};return e.id&&(i=r.getState(a.sourceLayer||"_geojsonTileLayer",e.id)),a.queryIntersectsFeature(l,e,i,f,n.z,t.transform,o,t.pixelPosMatrix)})}},x=0;x<h.length;x++)y(x);return m},ql.prototype.loadMatchingFeature=function(t,e,r,n,a,i,o,s){var l=this.bucketLayerIDs[e];if(!i||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(i,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(a(new Cn(this.tileID.overscaledZ),u))for(var h=0;h<l.length;h++){var f=l[h];if(!(i&&i.indexOf(f)<0)){var p=o[f];if(p){var d=!s||s(u,p);if(d){var g=new jl(u,this.z,this.x,this.y);g.layer=p.serialize();var v=t[f];void 0===v&&(v=t[f]=[]),v.push({featureIndex:n,feature:g,intersectionZ:d})}}}}}},ql.prototype.lookupSymbolFeatures=function(t,e,r,n,a,i){var o={};this.loadVTLayers();for(var s=Dr(n),l=0,c=t;l<c.length;l+=1){var u=c[l];this.loadMatchingFeature(o,e,r,u,s,a,i)}return o},ql.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,a=r[e];n<a.length;n+=1)if(t===a[n])return!0;return!1},pn("FeatureIndex",ql,{omit:["rawTileData","sourceLayerCoder"]});var Yl=function(t,e){this.tileID=t,this.uid=p(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.expiredRequestCount=0,this.state="loading"};function Wl(t,e,r,n,a){if(void 0===e.segment)return!0;for(var i=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(i),i=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var p=u.angleTo(h)-h.angleTo(f);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>a)return!1;o++,s+=h.dist(f)}return!0}function Xl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Zl(t,e,r){return t?.6*e*r:0}function Jl(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Kl(t,e,r,n,a,i){for(var o=Zl(r,a,i),s=Jl(r,n)*i,l=0,c=Xl(t)/2,u=0;u<t.length-1;u++){var h=t[u],f=t[u+1],p=h.dist(f);if(l+p>c){var d=(c-l)/p,g=ye(h.x,f.x,d),v=ye(h.y,f.y,d),m=new xs(g,v,f.angleTo(h),u);return m._round(),!o||Wl(t,m,s,o,e)?m:void 0}l+=p}}function Ql(t,e,r,n,a,i,o,s,l){var c=Zl(n,i,o),u=Jl(n,a),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h<e/4&&(e=h+e/4),function t(e,r,n,a,i,o,s,l,c){for(var u=o/2,h=Xl(e),f=0,p=r-n,d=[],g=0;g<e.length-1;g++){for(var v=e[g],m=e[g+1],y=v.dist(m),x=m.angleTo(v);p+n<f+y;){var b=((p+=n)-f)/y,_=ye(v.x,m.x,b),w=ye(v.y,m.y,b);if(_>=0&&_<c&&w>=0&&w<c&&p-u>=0&&p+u<=h){var k=new xs(_,w,x,g);k._round(),a&&!Wl(e,k,o,a,i)||d.push(k)}}f+=y}return l||d.length||s||(d=t(e,f/2,n,a,i,o,s,!0,c)),d}(t,f?e/2*s%e:(u/2+2*i)*o*s%e,e,c,r,h,f,!1,l)}Yl.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<I.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},Yl.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state},Yl.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=i[a],n=t.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map(function(t){return n.filter(function(e){return e.id===t})[0]}));for(var o=0,s=n;o<s.length;o+=1){var l=s[o];r[l.id]=t}}},a=0,i=t;a<i.length;a+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var a=this.buckets[n];if(a instanceof Ps){if(this.hasSymbolBuckets=!0,!r)break;a.justReloaded=!0}}for(var i in this.queryPadding=0,this.buckets){var o=this.buckets[i];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(i).queryRadius(o))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new xa},Yl.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"},Yl.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state="unloaded"},Yl.prototype.getBucket=function(t){return this.buckets[t.id]},Yl.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Js(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Js(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},Yl.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},Yl.prototype.queryRenderedFeatures=function(t,e,r,n,a,i,o,s,l){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:o,params:i,queryPadding:this.queryPadding*s},t,e):{}},Yl.prototype.querySourceFeatures=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData){var r=this.latestFeatureIndex.loadVTLayers(),n=e?e.sourceLayer:"",a=r._geojsonTileLayer||r[n];if(a)for(var i=Dr(e&&e.filter),o=this.tileID.canonical,s=o.z,l=o.x,c=o.y,u={z:s,x:l,y:c},h=0;h<a.length;h++){var f=a.feature(h);if(i(new Cn(this.tileID.overscaledZ),f)){var p=new jl(f,s,l,c);p.tile=u,t.push(p)}}}},Yl.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},Yl.prototype.setMask=function(t,e){if(!o(this.mask,t)&&(this.mask=t,this.clearMask(),!o(t,{0:!0}))){var r=new Qn,n=new pa;this.segments=new Pa,this.segments.prepareSegment(0,r,n);for(var i=Object.keys(t),s=0;s<i.length;s++){var l=t[+i[s]],c=ti>>l.z,u=new a(l.x*c,l.y*c),h=new a(u.x+c,u.y+c),f=this.segments.prepareSegment(4,r,n);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(h.x,u.y,h.x,u.y),r.emplaceBack(u.x,h.y,u.x,h.y),r.emplaceBack(h.x,h.y,h.x,h.y);var p=f.vertexLength;n.emplaceBack(p,p+1,p+2),n.emplaceBack(p+1,p+2,p+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,Bl.members),this.maskedIndexBuffer=e.createIndexBuffer(n)}},Yl.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},Yl.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Yl.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=A(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),a=!1;if(this.expirationTime>n)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var i=this.expirationTime-e;i?this.expirationTime=n+Math.max(i,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}},Yl.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},Yl.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets){var a=this.buckets[n],i=a.layers[0].sourceLayer||"_geojsonTileLayer",o=r[i],s=t[i];o&&s&&0!==Object.keys(s).length&&(a.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{}),e&&e.style&&(this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(n).queryRadius(a))))}}},Yl.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},Yl.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<I.now()},Yl.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Yl.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=I.now()+t};var $l=function(t,e,r,n,i,o,s,l,c,u,h,f){var p=s.top*l-c,d=s.bottom*l+c,g=s.left*l-c,v=s.right*l+c;if(this.boxStartIndex=t.length,u){var m=d-p,y=v-g;m>0&&(m=Math.max(10*l,m),this._addLineCollisionCircles(t,e,r,r.segment,y,m,n,i,o,h))}else{if(f){var x=new a(g,p),b=new a(v,p),_=new a(g,d),w=new a(v,d),k=f*Math.PI/180;x._rotate(k),b._rotate(k),_._rotate(k),w._rotate(k),g=Math.min(x.x,b.x,_.x,w.x),v=Math.max(x.x,b.x,_.x,w.x),p=Math.min(x.y,b.y,_.y,w.y),d=Math.max(x.y,b.y,_.y,w.y)}t.emplaceBack(r.x,r.y,g,p,v,d,n,i,o,0,0)}this.boxEndIndex=t.length};$l.prototype._addLineCollisionCircles=function(t,e,r,n,a,i,o,s,l,c){var u=i/2,h=Math.floor(a/u)||1,f=1+.4*Math.log(c)/Math.LN2,p=Math.floor(h*f/2),d=-i/2,g=r,v=n+1,m=d,y=-a/2,x=y-a/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_<h+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>a&&(k+=w-a),!(k<m)){for(;m+b<k;){if(m+=b,++v+1>=e.length)return;b=e[v].dist(e[v+1])}var T=k-m,A=e[v],M=e[v+1].sub(A)._unit()._mult(T)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(M.x,M.y,-i/2,-i/2,i/2,i/2,o,s,l,i/2,S)}}};var tc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=ec),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function ec(t,e){return t<e?-1:t>e?1:0}function rc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;c<l.length;c++){var u=l[c];(!c||u.x<n)&&(n=u.x),(!c||u.y<i)&&(i=u.y),(!c||u.x>o)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,g=new tc([],nc);if(0===p)return new a(n,i);for(var v=n;v<o;v+=p)for(var m=i;m<s;m+=p)g.push(new ac(v+d,m+d,d,t));for(var y=function(t){for(var e=0,r=0,n=0,a=t[0],i=0,o=a.length,s=o-1;i<o;s=i++){var l=a[i],c=a[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new ac(r/e,n/e,0,t)}(t),x=g.length;g.length;){var b=g.pop();(b.d>y.d||!y.d)&&(y=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=e||(d=b.h/2,g.push(new ac(b.p.x-d,b.p.y-d,d,t)),g.push(new ac(b.p.x+d,b.p.y-d,d,t)),g.push(new ac(b.p.x-d,b.p.y+d,d,t)),g.push(new ac(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+y.d)),y.p}function nc(t,e){return e.max-t.max}function ac(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,a=0;a<e.length;a++)for(var i=e[a],o=0,s=i.length,l=s-1;o<s;l=o++){var c=i[o],u=i[l];c.y>t.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,fi(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}tc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},tc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},tc.prototype.peek=function(){return this.data[0]},tc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var a=t-1>>1,i=e[a];if(r(n,i)>=0)break;e[t]=i,t=a}e[t]=n},tc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,a=e[t];t<n;){var i=1+(t<<1),o=e[i],s=i+1;if(s<this.length&&r(e[s],o)<0&&(i=s,o=e[s]),r(o,a)>=0)break;e[t]=o,t=i}e[t]=a};var ic=e(function(t){t.exports=function(t,e){var r,n,a,i,o,s,l,c;for(r=3&t.length,n=t.length-r,a=e,o=3432918353,s=461845907,c=0;c<n;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,a=27492+(65535&(i=5*(65535&(a=(a^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(i>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}}),oc=e(function(t){t.exports=function(t,e){for(var r,n=t.length,a=e^n,i=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(i)|(255&t.charCodeAt(++i))<<8|(255&t.charCodeAt(++i))<<16|(255&t.charCodeAt(++i))<<24))+((1540483477*(r>>>16)&65535)<<16),a=1540483477*(65535&a)+((1540483477*(a>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++i;switch(n){case 3:a^=(255&t.charCodeAt(i+2))<<16;case 2:a^=(255&t.charCodeAt(i+1))<<8;case 1:a=1540483477*(65535&(a^=255&t.charCodeAt(i)))+((1540483477*(a>>>16)&65535)<<16)}return a=1540483477*(65535&(a^=a>>>13))+((1540483477*(a>>>16)&65535)<<16),(a^=a>>>15)>>>0}}),sc=ic,lc=ic,cc=oc;sc.murmur3=lc,sc.murmur2=cc;var uc=7;function hc(t,e){var r=0,n=0,a=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=a-uc;break;case"bottom-right":case"bottom-left":n=-a+uc;break;case"bottom":n=-e+uc;break;case"top":n=e-uc}switch(t){case"top-right":case"bottom-right":r=-a;break;case"top-left":case"bottom-left":r=a;break;case"left":r=e;break;case"right":r=-e}return[r,n]}function fc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var pc=65535;function dc(t,e,r,n,i,o,s,l,c,u,h,f,p){var d=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=e.positionedGlyphs,h=[],f=0;f<u.length;f++){var p=u[f],d=s[p.fontStack],g=d&&d[p.glyph];if(g){var v=g.rect;if(v){var m=bl+1,y=g.metrics.advance*p.scale/2,x=i?[p.x+y,p.y]:[0,0],b=i?[0,0]:[p.x+y+r[0],p.y+r[1]],_=(i||l)&&p.vertical,w=[0,0];_&&(w=b,b=[0,0]);var k=(g.metrics.left-m)*p.scale-y+b[0],T=(-g.metrics.top-m)*p.scale+b[1],A=k+v.w*p.scale,M=T+v.h*p.scale,S=new a(k,T),E=new a(A,T),L=new a(k,M),C=new a(A,M);if(_){var P=new a(-y,y-e.yOffset),O=-Math.PI/2,z=ss/2-y,I=new a(5-e.yOffset-z,0),D=new(Function.prototype.bind.apply(a,[null].concat(w)));S._rotateAround(O,P)._add(I)._add(D),E._rotateAround(O,P)._add(I)._add(D),L._rotateAround(O,P)._add(I)._add(D),C._rotateAround(O,P)._add(I)._add(D)}if(c){var R=Math.sin(c),F=Math.cos(c),B=[F,-R,R,F];S._matMult(B),E._matMult(B),L._matMult(B),C._matMult(B)}h.push({tl:S,tr:E,bl:L,br:C,tex:v,writingMode:e.writingMode,glyphOffset:x,sectionIndex:p.sectionIndex})}}}return h}(0,r,s,n,i,o,f,t.allowVerticalPlacement),g=t.textSizeData,v=null;"source"===g.kind?(v=[bs*n.layout.get("text-size").evaluate(o,{})])[0]>pc&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'):"composite"===g.kind&&((v=[bs*p.compositeTextSizes[0].evaluate(o,{}),bs*p.compositeTextSizes[1].evaluate(o,{})])[0]>pc||v[1]>pc)&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'),t.addSymbols(t.text,d,v,s,i,o,c,e,l.lineStartIndex,l.lineLength);for(var m=0,y=u;m<y.length;m+=1)h[y[m]]=t.text.placedSymbolArray.length-1;return 4*d.length}function gc(t){for(var e in t)return t[e];return null}function vc(t,e,r,n){var a=t.compareText;if(e in a){for(var i=a[e],o=i.length-1;o>=0;o--)if(n.dist(i[o])<r)return!0}else a[e]=[];return a[e].push(n),!1}t.Actor=wl,t.AlphaImage=Ci,t.CanonicalTileID=zl,t.CollisionBoxArray=xa,t.Color=Wt,t.DEMData=Fl,t.DataConstantProperty=Nn,t.DictionaryCoder=Nl,t.EXTENT=ti,t.ErrorEvent=wt,t.EvaluationParameters=Cn,t.Event=_t,t.Evented=kt,t.FeatureIndex=ql,t.FillBucket=bo,t.FillExtrusionBucket=Fo,t.ImageAtlas=Gs,t.ImagePosition=qs,t.LineBucket=Xo,t.LngLat=Al,t.LngLatBounds=Tl,t.MercatorCoordinate=Ol,t.ONE_EM=ss,t.OverscaledTileID=Dl,t.Point=a,t.Point$1=a,t.ProgramConfiguration=Ja,t.Properties=Hn,t.Protobuf=$s,t.RGBAImage=Pi,t.RequestManager=V,t.ResourceType=lt,t.SegmentVector=Pa,t.SourceFeatureState=Ul,t.StructArrayLayout1ui2=ga,t.StructArrayLayout2i4=Kn,t.StructArrayLayout2ui4=da,t.StructArrayLayout3ui6=pa,t.StructArrayLayout4i8=Qn,t.SymbolBucket=Ps,t.Texture=Js,t.Tile=Yl,t.Transitionable=zn,t.Uniform1f=Fa,t.Uniform1i=Ra,t.Uniform2f=Ba,t.Uniform3f=Na,t.Uniform4f=ja,t.UniformColor=Va,t.UniformMatrix4f=qa,t.UnwrappedTileID=Il,t.ValidationError=At,t.WritingMode=ls,t.ZoomHistory=mn,t.addDynamicAttributes=Es,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,a=new Array(t.length),i=null;t.forEach(function(t,o){e(t,function(t,e){t&&(i=t),a[o]=e,0==--n&&r(i,a)})})},t.bezier=s,t.bindAll=v,t.browser=I,t.cacheEntryPossiblyAdded=function(t){++st>at&&(t.getActor().send("enforceCacheSizeLimit",nt),st=0)},t.clamp=c,t.clearTileCache=function(t){var e=self.caches.delete(rt);t&&e.catch(t).then(function(){return t()})},t.clone=function(t){var e=new wi(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=b,t.config=D,t.create=function(){var t=new wi(16);return wi!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new wi(9);return wi!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new wi(4);return wi!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=wr,t.createLayout=Zn,t.createStyleLayer=function(t){return"custom"===t.type?new js(t):new Vs[t.type](t)},t.deepEqual=o,t.ease=l,t.emitValidationErrors=sn,t.endsWith=m,t.enforceCacheSizeLimit=function(t){self.caches&&self.caches.open(rt).then(function(e){e.keys().then(function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])})})},t.evaluateRadialOffset=hc,t.evaluateSizeForFeature=ws,t.evaluateSizeForZoom=ks,t.evented=En,t.extend=h,t.featureFilter=Dr,t.filterObject=x,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=ms,t.getAnchorJustification=fc,t.getArrayBuffer=vt,t.getImage=yt,t.getJSON=function(t,e){return gt(h(t,{type:"json"}),e)},t.getReferrer=ht,t.getVideo=function(t,e){var r,n,a=self.document.createElement("video");a.muted=!0,a.onloadstart=function(){e(null,a)};for(var i=0;i<t.length;i++){var o=self.document.createElement("source");r=t[i],n=void 0,(n=self.document.createElement("a")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(a.crossOrigin="Anonymous"),o.src=t[i],a.appendChild(o)}return{cancel:function(){}}},t.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,k=a*c-i*l,T=u*g-h*d,A=u*v-f*d,M=u*m-p*d,S=h*v-f*g,E=h*m-p*g,L=f*m-p*v,C=y*L-x*E+b*S+_*M-w*A+k*T;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(a*E-n*L-i*S)*C,t[2]=(g*k-v*w+m*_)*C,t[3]=(f*w-h*k-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-a*M+i*A)*C,t[6]=(v*b-d*k-m*x)*C,t[7]=(u*k-f*b+p*x)*C,t[8]=(o*E-s*M+c*T)*C,t[9]=(n*M-r*E-i*T)*C,t[10]=(d*w-g*b+m*y)*C,t[11]=(h*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*T)*C,t[13]=(r*S-n*A+a*T)*C,t[14]=(g*x-d*_-v*y)*C,t[15]=(u*_-h*x+f*y)*C,t):null},t.isChar=yn,t.isMapboxURL=U,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=gt,t.mapObject=y,t.mercatorXfromLng=El,t.mercatorYfromLat=Ll,t.mercatorZfromAltitude=Cl,t.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*v,t[2]=x*i+b*c+_*p+w*m,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*a+b*l+_*f+w*v,t[6]=x*i+b*c+_*p+w*m,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*a+b*l+_*f+w*v,t[10]=x*i+b*c+_*p+w*m,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*a+b*l+_*f+w*v,t[14]=x*i+b*c+_*p+w*m,t[15]=x*o+b*u+_*d+w*y,t},t.mvt=zo,t.number=ye,t.ortho=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new $s(t).readFields(ml,[])},t.pbf=$s,t.performSymbolLayout=function(t,e,r,n,i,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=ti/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if("composite"===t.textSizeData.kind){var h=t.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new Cn(f)),c["text-size"].possiblyEvaluate(new Cn(p))]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,g=d.minZoom,v=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new Cn(g)),c["icon-size"].possiblyEvaluate(new Cn(v))]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new Cn(t.zoom+1)),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new Cn(t.zoom+1)),u.textMaxSize=c["text-size"].possiblyEvaluate(new Cn(18));for(var m=l.get("text-line-height")*ss,y="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=function(){var o=k[_],s=l.get("text-font").evaluate(o,{}).join(","),c=r,h={horizontal:{},vertical:void 0},f=o.text,p=[0,0];if(f){var d=f.toString(),g=l.get("text-letter-spacing").evaluate(o,{})*ss,v=function(t){for(var e=0,r=d;e<r.length;e+=1)if(!bn(r[e].charCodeAt(0)))return!1;return!0}()?g:0,b=l.get("text-anchor").evaluate(o,{}),T=l.get("text-variable-anchor"),A=l.get("text-radial-offset").evaluate(o,{});T||(p=A?hc(b,A*ss):l.get("text-offset").evaluate(o,{}).map(function(t){return t*ss}));var M=y?"center":l.get("text-justify").evaluate(o,{}),S="point"===l.get("symbol-placement")?l.get("text-max-width").evaluate(o,{})*ss:0,E=function(){t.allowVerticalPlacement&&xn(d)&&(h.vertical=us(f,e,s,S,m,b,"left",v,p,ls.vertical,!0))};if(!y&&T){for(var L="auto"===M?T.map(function(t){return fc(t)}):[M],C=!1,P=0;P<L.length;P++){var O=L[P];if(!h.horizontal[O])if(C)h.horizontal[O]=h.horizontal[0];else{var z=us(f,e,s,S,m,"center",O,v,p,ls.horizontal,!1);z&&(h.horizontal[O]=z,C=1===z.lineCount)}}E()}else{"auto"===M&&(M=fc(b));var I=us(f,e,s,S,m,b,M,v,p,ls.horizontal,!1);I&&(h.horizontal[M]=I),E(),xn(d)&&y&&x&&(h.vertical=us(f,e,s,S,m,b,M,v,p,ls.vertical,!1))}}var D=void 0;if(o.icon){var R=n[o.icon];R&&(D=function(t,e,r){var n=ms(r),a=n.horizontalAlign,i=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*a,c=l+t.displaySize[0],u=s-t.displaySize[1]*i;return{image:t,top:u,bottom:u+t.displaySize[1],left:l,right:c}}(i[o.icon],l.get("icon-offset").evaluate(o,{}),l.get("icon-anchor").evaluate(o,{})),void 0===t.sdfIcons?t.sdfIcons=R.sdf:t.sdfIcons!==R.sdf&&w("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),R.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get("icon-rotate").constantOr(1)&&(t.iconsNeedLinear=!0))}(Object.keys(h.horizontal).length||D)&&function(t,e,r,n,i,o,s){var l=o.layoutTextSize.evaluate(e,{}),c=o.layoutIconSize.evaluate(e,{}),u=o.textMaxSize.evaluate(e,{});void 0===u&&(u=l);var h=t.layers[0].layout,f=h.get("icon-offset").evaluate(e,{}),p=gc(r.horizontal),d=l/24,g=t.tilePixelRatio*d,v=t.tilePixelRatio*u/24,m=t.tilePixelRatio*c,y=t.tilePixelRatio*h.get("symbol-spacing"),x=h.get("text-padding")*t.tilePixelRatio,b=h.get("icon-padding")*t.tilePixelRatio,_=h.get("text-max-angle")/180*Math.PI,k="map"===h.get("text-rotation-alignment")&&"point"!==h.get("symbol-placement"),T="map"===h.get("icon-rotation-alignment")&&"point"!==h.get("symbol-placement"),A=h.get("symbol-placement"),M=y/2,S=function(l,c){c.x<0||c.x>=ti||c.y<0||c.y>=ti||function(t,e,r,n,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_){var k,T,A,M=t.addToLineVertexArray(e,r),S=0,E=0,L=0,C={},P=sc(""),O=(o.layout.get("text-radial-offset").evaluate(x,{})||0)*ss;if(t.allowVerticalPlacement&&n.vertical){var z=o.layout.get("text-rotate").evaluate(x,{})+90,I=n.vertical;A=new $l(s,r,e,l,c,u,I,h,f,p,t.overscaling,z)}for(var D in n.horizontal){var R=n.horizontal[D];if(!k){P=sc(R.text);var F=o.layout.get("text-rotate").evaluate(x,{});k=new $l(s,r,e,l,c,u,R,h,f,p,t.overscaling,F)}var B=1===R.lineCount;if(E+=dc(t,e,R,o,p,x,d,M,n.vertical?ls.horizontal:ls.horizontalOnly,B?Object.keys(n.horizontal):[D],C,b,_),B)break}n.vertical&&(L+=dc(t,e,n.vertical,o,p,x,d,M,ls.vertical,["vertical"],C,b,_));var N=k?k.boxStartIndex:t.collisionBoxArray.length,j=k?k.boxEndIndex:t.collisionBoxArray.length,V=A?A.boxStartIndex:t.collisionBoxArray.length,U=A?A.boxEndIndex:t.collisionBoxArray.length;if(i){var q=function(t,e,r,n,i,o){var s,l,c,u,h=e.image,f=r.layout,p=e.top-1/h.pixelRatio,d=e.left-1/h.pixelRatio,g=e.bottom+1/h.pixelRatio,v=e.right+1/h.pixelRatio;if("none"!==f.get("icon-text-fit")&&i){var m=v-d,y=g-p,x=f.get("text-size").evaluate(o,{})/24,b=i.left*x,_=i.right*x,w=i.top*x,k=_-b,T=i.bottom*x-w,A=f.get("icon-text-fit-padding")[0],M=f.get("icon-text-fit-padding")[1],S=f.get("icon-text-fit-padding")[2],E=f.get("icon-text-fit-padding")[3],L="width"===f.get("icon-text-fit")?.5*(T-y):0,C="height"===f.get("icon-text-fit")?.5*(k-m):0,P="width"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?k:m,O="height"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?T:y;s=new a(b+C-E,w+L-A),l=new a(b+C+M+P,w+L-A),c=new a(b+C+M+P,w+L+S+O),u=new a(b+C-E,w+L+S+O)}else s=new a(d,p),l=new a(v,p),c=new a(v,g),u=new a(d,g);var z=r.layout.get("icon-rotate").evaluate(o,{})*Math.PI/180;if(z){var I=Math.sin(z),D=Math.cos(z),R=[D,-I,I,D];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:h.paddedRect,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0}]}(0,i,o,0,gc(n.horizontal),x),H=o.layout.get("icon-rotate").evaluate(x,{});T=new $l(s,r,e,l,c,u,i,g,v,!1,t.overscaling,H),S=4*q.length;var G=t.iconSizeData,Y=null;"source"===G.kind?(Y=[bs*o.layout.get("icon-size").evaluate(x,{})])[0]>pc&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'):"composite"===G.kind&&((Y=[bs*_.compositeIconSizes[0].evaluate(x,{}),bs*_.compositeIconSizes[1].evaluate(x,{})])[0]>pc||Y[1]>pc)&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'),t.addSymbols(t.icon,q,Y,y,m,x,!1,e,M.lineStartIndex,M.lineLength)}var W=T?T.boxStartIndex:t.collisionBoxArray.length,X=T?T.boxEndIndex:t.collisionBoxArray.length;t.glyphOffsetArray.length>=Ps.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),t.symbolInstances.emplaceBack(e.x,e.y,C.right>=0?C.right:-1,C.center>=0?C.center:-1,C.left>=0?C.left:-1,C.vertical||-1,P,N,j,V,U,W,X,l,E,L,S,0,h,O)}(t,c,l,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,g,x,k,s,m,b,T,f,e,i,o)};if("line"===A)for(var E=0,L=function(t,e,r,n,i){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],c=void 0,u=0;u<l.length-1;u++){var h=l[u],f=l[u+1];h.x<0&&f.x<0||(h.x<0?h=new a(0,h.y+(f.y-h.y)*((0-h.x)/(f.x-h.x)))._round():f.x<0&&(f=new a(0,h.y+(f.y-h.y)*((0-h.x)/(f.x-h.x)))._round()),h.y<0&&f.y<0||(h.y<0?h=new a(h.x+(f.x-h.x)*((0-h.y)/(f.y-h.y)),0)._round():f.y<0&&(f=new a(h.x+(f.x-h.x)*((0-h.y)/(f.y-h.y)),0)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),c&&h.equals(c[c.length-1])||(c=[h],o.push(c)),c.push(f)))))}return o}(e.geometry,0,0,ti,ti);E<L.length;E+=1)for(var C=L[E],P=0,O=Ql(C,y,_,r.vertical||p,n,24,v,t.overscaling,ti);P<O.length;P+=1){var z=O[P];p&&vc(t,p.text,M,z)||S(C,z)}else if("line-center"===A)for(var I=0,D=e.geometry;I<D.length;I+=1){var R=D[I];if(R.length>1){var F=Kl(R,_,r.vertical||p,n,24,v);F&&S(R,F)}}else if("Polygon"===e.type)for(var B=0,N=vo(e.geometry,0);B<N.length;B+=1){var j=N[B],V=rc(j,16);S(j[0],new xs(V.x,V.y,0))}else if("LineString"===e.type)for(var U=0,q=e.geometry;U<q.length;U+=1){var H=q[U];S(H,new xs(H[0].x,H[0].y,0))}else if("Point"===e.type)for(var G=0,Y=e.geometry;G<Y.length;G+=1)for(var W=0,X=Y[G];W<X.length;W+=1){var Z=X[W];S([Z],new xs(Z.x,Z.y,0))}}(t,o,h,D,c,u,p)},_=0,k=t.features;_<k.length;_+=1)b();o&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,a){var i,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=a&&a!==1/0?(i=1/(n-a),t[10]=(a+n)*i,t[14]=2*a*n*i):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var a=e[n];a in t&&(r[a]=t[a])}return r},t.plugin=Ln,t.polygonIntersectsPolygon=ii,t.postMapLoadEvent=et,t.postTurnstileEvent=$,t.potpack=Us,t.rasterBoundsAttributes=Bl,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.register=pn,t.registerForPluginAvailability=function(t){return Mn?t({pluginURL:Mn,completionCallback:Tn}):En.once("pluginAvailable",t),t},t.rotate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=a*l+o*s,t[2]=n*-s+i*l,t[3]=a*-s+o*l,t},t.rotateX=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t},t.scale=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.setCacheLimits=function(t,e){nt=t,at=e},t.setRTLTextPlugin=function(t,e){if(An)throw new Error("setRTLTextPlugin cannot be called multiple times.");An=!0,Mn=I.resolveURL(t),Tn=function(t){t?(An=!1,Mn=null,e&&e(t)):Sn=!0},En.fire(new _t("pluginAvailable",{pluginURL:Mn,completionCallback:Tn}))},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.styleSpec=Tt,t.symbolSize=Ts,t.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},t.transformMat4=ki,t.translate=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=a*g+l*v+f*m+e[13],t[14]=i*g+c*v+p*m+e[14],t[15]=o*g+u*v+d*m+e[15]),t},t.uniqueId=p,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:"layers."+r+': missing required property "id"'}),void 0===t.render&&e.push({message:"layers."+r+': missing required method "render"'}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:"layers."+r+': property "renderingMode" must be either "2d" or "3d"'}),e},t.validateLight=nn,t.validateStyle=rn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=zo,t.version="1.3.2",t.warnOnce=w,t.webpSupported=R,t.window=self,t.wrap=u}),n(0,function(t){function e(t){var r=typeof t;if("number"===r||"boolean"===r||"string"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n="[",a=0,i=t;a<i.length;a+=1)n+=e(i[a])+",";return n+"]"}for(var o=Object.keys(t).sort(),s="{",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+":"+e(t[o[l]])+",";return s+"}"}function r(r){for(var n="",a=0,i=t.refProperties;a<i.length;a+=1)n+="/"+e(r[i[a]]);return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var a=this,i=0,o=e;i<o.length;i+=1){var s=o[i];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var c=0,u=n;c<u.length;c+=1){var h=u[c];delete this.keyCache[h],delete this._layerConfigs[h],delete this._layers[h]}this.familiesBySource={};for(var f=0,p=function(t,e){for(var n={},a=0;a<t.length;a++){var i=e&&e[t[a].id]||r(t[a]);e&&(e[t[a].id]=i);var o=n[i];o||(o=n[i]=[]),o.push(t[a])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);f<p.length;f+=1){var d=p[f].map(function(t){return a._layers[t.id]}),g=d[0];if("none"!==g.visibility){var v=g.source||"",m=this.familiesBySource[v];m||(m=this.familiesBySource[v]={});var y=g.sourceLayer||"_geojsonTileLayer",x=m[y];x||(x=m[y]=[]),x.push(d)}}};var a=function(e){var r={},n=[];for(var a in e){var i=e[a],o=r[a]={};for(var s in i){var l=i[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var c={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(c),o[s]={rect:c,metrics:l.metrics}}}}var u=t.potpack(n),h=u.w,f=u.h,p=new t.AlphaImage({width:h||1,height:f||1});for(var d in e){var g=e[d];for(var v in g){var m=g[+v];if(m&&0!==m.bitmap.width&&0!==m.bitmap.height){var y=r[d][v].rect;t.AlphaImage.copy(m.bitmap,p,{x:0,y:0},{x:y.x+1,y:y.y+1},m.bitmap)}}}this.image=p,this.positions=r};t.register("GlyphAtlas",a);var i=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies};function o(e,r){for(var n=new t.EvaluationParameters(r),a=0,i=e;a<i.length;a+=1)i[a].recalculate(n)}i.prototype.parse=function(e,r,n,i){var s=this;this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID);c.bucketLayerIDs=[];var u,h,f,p,d={},g={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{}},v=r.familiesBySource[this.source];for(var m in v){var y=e.layers[m];if(y){1===y.version&&t.warnOnce('Vector tile source "'+this.source+'" layer "'+m+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var x=l.encode(m),b=[],_=0;_<y.length;_++){var w=y.feature(_);b.push({feature:w,index:_,sourceLayerIndex:x})}for(var k=0,T=v[m];k<T.length;k+=1){var A=T[k],M=A[0];M.minzoom&&this.zoom<Math.floor(M.minzoom)||M.maxzoom&&this.zoom>=M.maxzoom||"none"!==M.visibility&&(o(A,this.zoom),(d[M.id]=M.createBucket({index:c.bucketLayerIDs.length,layers:A,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:x,sourceID:this.source})).populate(b,g),c.bucketLayerIDs.push(A.map(function(t){return t.id})))}}}var S=t.mapObject(g.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send("getGlyphs",{uid:this.uid,stacks:S},function(t,e){u||(u=t,h=e,C.call(s))}):h={};var E=Object.keys(g.iconDependencies);E.length?n.send("getImages",{icons:E},function(t,e){u||(u=t,f=e,C.call(s))}):f={};var L=Object.keys(g.patternDependencies);function C(){if(u)return i(u);if(h&&f&&p){var e=new a(h),r=new t.ImageAtlas(f,p);for(var n in d){var s=d[n];s instanceof t.SymbolBucket?(o(s.layers,this.zoom),t.performSymbolLayout(s,h,e.positions,f,r.iconPositions,this.showCollisionBoxes)):s.hasPattern&&(s instanceof t.LineBucket||s instanceof t.FillBucket||s instanceof t.FillExtrusionBucket)&&(o(s.layers,this.zoom),s.addFeatures(g,r.patternPositions))}this.status="done",i(null,{buckets:t.values(d).filter(function(t){return!t.isEmpty()}),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}L.length?n.send("getImages",{icons:L},function(t,e){u||(u=t,p=e,C.call(s))}):p={},C.call(this)};var s="undefined"!=typeof performance,l={getEntriesByName:function(t){return!!(s&&performance&&performance.getEntriesByName)&&performance.getEntriesByName(t)},mark:function(t){return!!(s&&performance&&performance.mark)&&performance.mark(t)},measure:function(t,e,r){return!!(s&&performance&&performance.measure)&&performance.measure(t,e,r)},clearMarks:function(t){return!!(s&&performance&&performance.clearMarks)&&performance.clearMarks(t)},clearMeasures:function(t){return!!(s&&performance&&performance.clearMeasures)&&performance.clearMeasures(t)}},c=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},l.mark(this._marks.start)};function u(e,r){var n=t.getArrayBuffer(e.request,function(e,n,a,i){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:a,expires:i})});return function(){n.cancel(),r()}}c.prototype.finish=function(){l.mark(this._marks.end);var t=l.getEntriesByName(this._marks.measure);return 0===t.length&&(l.measure(this._marks.measure,this._marks.start,this._marks.end),t=l.getEntriesByName(this._marks.measure),l.clearMarks(this._marks.start),l.clearMarks(this._marks.end),l.clearMeasures(this._marks.measure)),t},l.Performance=c;var h=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||u,this.loading={},this.loaded={}};h.prototype.loadTile=function(e,r){var n=this,a=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new l.Performance(e.request),s=this.loading[a]=new i(e);s.abort=this.loadVectorData(e,function(e,i){if(delete n.loading[a],e||!i)return s.status="done",n.loaded[a]=s,r(e);var l=i.rawData,c={};i.expires&&(c.expires=i.expires),i.cacheControl&&(c.cacheControl=i.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=i.vectorTile,s.parse(i.vectorTile,n.layerIndex,n.actor,function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))}),n.loaded=n.loaded||{},n.loaded[a]=s})},h.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,a=this;if(r&&r[n]){var i=r[n];i.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=i.reloadCallback;n&&(delete i.reloadCallback,i.parse(i.vectorTile,a.layerIndex,a.actor,n)),e(t,r)};"parsing"===i.status?i.reloadCallback=o:"done"===i.status&&(i.vectorTile?i.parse(i.vectorTile,this.layerIndex,this.actor,o):o())}},h.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},h.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var f=function(){this.loaded={}};f.prototype.loadTile=function(e,r){var n=e.uid,a=e.encoding,i=e.rawImageData,o=new t.DEMData(n,i,a);this.loaded=this.loaded||{},this.loaded[n]=o,r(null,o)},f.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function d(t){var e=0;if(t&&t.length>0){e+=Math.abs(g(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(g(t[r]))}return e}function g(t){var e,r,n,a,i,o,s=0,l=t.length;if(l>2){for(o=0;o<l;o++)o===l-2?(n=l-2,a=l-1,i=0):o===l-1?(n=l-1,a=0,i=1):(n=o,a=o+1,i=o+2),e=t[n],r=t[a],s+=(v(t[i][0])-v(e[0]))*Math.sin(v(r[1]));s=s*p.RADIUS*p.RADIUS/2}return s}function v(t){return t*Math.PI/180}var m={geometry:function t(e){var r,n=0;switch(e.type){case"Polygon":return d(e.coordinates);case"MultiPolygon":for(r=0;r<e.coordinates.length;r++)n+=d(e.coordinates[r]);return n;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(r=0;r<e.geometries.length;r++)n+=t(e.geometries[r]);return n}},ring:g};function y(t,e){return function(r){return t(r,e)}}function x(t,e){e=!!e,t[0]=b(t[0],e);for(var r=1;r<t.length;r++)t[r]=b(t[r],!e);return t}function b(t,e){return function(t){return m.ring(t)>=0}(t)===e?t:t.reverse()}var _=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,w=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};w.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var a=n[r];e.push([new t.Point$1(a[0],a[1])])}return e}for(var i=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var h=u[c];l.push(new t.Point$1(h[0],h[1]))}i.push(l)}return i},w.prototype.toGeoJSON=function(t,e,r){return _.call(this,t,e,r)};var k=function(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e};k.prototype.feature=function(t){return new w(this._features[t])};var T=t.vectorTile.VectorTileFeature,A=M;function M(t,e){this.options=e||{},this.features=t,this.length=t.length}function S(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}M.prototype.feature=function(t){return new S(this.features[t],this.options.extent)},S.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],a=[],i=0;i<n.length;i++)a.push(new t.Point$1(n[i][0],n[i][1]));this.geometry.push(a)}return this.geometry},S.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,a=-1/0,i=0;i<t.length;i++)for(var o=t[i],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.y)}return[e,n,r,a]},S.prototype.toGeoJSON=T.prototype.toGeoJSON;var E=P,L=P,C=A;function P(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,O,t.layers[r])}(e,r),r.finish()}function O(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,z,n);var a=n.keys;for(r=0;r<a.length;r++)e.writeStringField(3,a[r]);var i=n.values;for(r=0;r<i.length;r++)e.writeMessage(4,B,i[r])}function z(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,I,t),e.writeVarintField(3,r.type),e.writeMessage(4,F,r)}function I(t,e){var r=t.feature,n=t.keys,a=t.values,i=t.keycache,o=t.valuecache;for(var s in r.properties){var l=i[s];void 0===l&&(n.push(s),l=n.length-1,i[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var h=u+":"+c,f=o[h];void 0===f&&(a.push(c),f=a.length-1,o[h]=f),e.writeVarint(f)}}function D(t,e){return(e<<3)+(7&t)}function R(t){return t<<1^t>>31}function F(t,e){for(var r=t.loadGeometry(),n=t.type,a=0,i=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(D(1,c));for(var u=3===n?l.length-1:l.length,h=0;h<u;h++){1===h&&1!==n&&e.writeVarint(D(2,u-1));var f=l[h].x-a,p=l[h].y-i;e.writeVarint(R(f)),e.writeVarint(R(p)),a+=f,i+=p}3===n&&e.writeVarint(D(7,1))}}function B(t,e){var r=typeof t;"string"===r?e.writeStringField(1,t):"boolean"===r?e.writeBooleanField(7,t):"number"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function N(t,e,r,n){j(t,r,n),j(e,2*r,2*n),j(e,2*r+1,2*n+1)}function j(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function V(t,e,r,n){var a=t-r,i=e-n;return a*a+i*i}E.fromVectorTileJs=L,E.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new A(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return P({layers:r})},E.GeoJSONWrapper=C;var U=function(t){return t[0]},q=function(t){return t[1]},H=function(t,e,r,n,a){void 0===e&&(e=U),void 0===r&&(r=q),void 0===n&&(n=64),void 0===a&&(a=Float64Array),this.nodeSize=n,this.points=t;for(var i=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new i(t.length),s=this.coords=new a(2*t.length),l=0;l<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);!function t(e,r,n,a,i,o){if(!(i-a<=n)){var s=a+i>>1;!function t(e,r,n,a,i,o){for(;i>a;){if(i-a>600){var s=i-a+1,l=n-a+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(a,Math.floor(n-l*u/s+h)),Math.min(i,Math.floor(n+(s-l)*u/s+h)),o)}var f=r[2*n+o],p=a,d=i;for(N(e,r,a,n),r[2*i+o]>f&&N(e,r,a,i);p<d;){for(N(e,r,p,d),p++,d--;r[2*p+o]<f;)p++;for(;r[2*d+o]>f;)d--}r[2*a+o]===f?N(e,r,a,d):N(e,r,++d,i),d<=n&&(a=d+1),n<=d&&(i=d-1)}}(e,r,s,a,i,o%2),t(e,r,n,a,s-1,o+1),t(e,r,n,s+1,i,o+1)}}(o,s,n,0,o.length-1,0)};H.prototype.range=function(t,e,r,n){return function(t,e,r,n,a,i,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var h=c.pop(),f=c.pop(),p=c.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(v)),(0===h?a>=s:i>=l)&&(c.push(g+1),c.push(f),c.push(v))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},H.prototype.within=function(t,e,r){return function(t,e,r,n,a,i){for(var o=[0,t.length-1,0],s=[],l=a*a;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=i)for(var f=h;f<=u;f++)V(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],g=e[2*p+1];V(d,g,r,n)<=l&&s.push(t[p]);var v=(c+1)%2;(0===c?r-a<=d:n-a<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===c?r+a>=d:n+a>=g)&&(o.push(p+1),o.push(u),o.push(v))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var G={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,map:function(t){return t}},Y=function(t){this.options=$(Object.create(G),t),this.trees=new Array(this.options.maxZoom+1)};function W(t,e,r,n,a){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:a}}function X(t,e){var r=t.geometry.coordinates,n=r[0],a=r[1];return{x:K(n),y:Q(a),zoom:1/0,index:e,parentId:-1}}function Z(t){return{type:"Feature",id:t.id,properties:J(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function J(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return $($({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function K(t){return t/360+.5}function Q(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function $(t,e){for(var r in e)t[r]=e[r];return t}function tt(t){return t.x}function et(t){return t.y}function rt(t,e,r,n,a,i){var o=a-r,s=i-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=a,n=i):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function nt(t,e,r,n){var a={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)at(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n<e.length;n++)at(t,e[n]);else if("MultiPolygon"===r)for(n=0;n<e.length;n++)for(var a=0;a<e[n].length;a++)at(t,e[n][a])}(a),a}function at(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function it(t,e,r,n){if(e.geometry){var a=e.geometry.coordinates,i=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),"Point"===i)ot(a,s);else if("MultiPoint"===i)for(var c=0;c<a.length;c++)ot(a[c],s);else if("LineString"===i)st(a,s,o,!1);else if("MultiLineString"===i){if(r.lineMetrics){for(c=0;c<a.length;c++)s=[],st(a[c],s,o,!1),t.push(nt(l,"LineString",s,e.properties));return}lt(a,s,o,!1)}else if("Polygon"===i)lt(a,s,o,!0);else{if("MultiPolygon"!==i){if("GeometryCollection"===i){for(c=0;c<e.geometry.geometries.length;c++)it(t,{id:l,geometry:e.geometry.geometries[c],properties:e.properties},r,n);return}throw new Error("Input data is not a valid GeoJSON object.")}for(c=0;c<a.length;c++){var u=[];lt(a[c],u,o,!0),s.push(u)}}t.push(nt(l,i,s,e.properties))}}function ot(t,e){e.push(ct(t[0])),e.push(ut(t[1])),e.push(0)}function st(t,e,r,n){for(var a,i,o=0,s=0;s<t.length;s++){var l=ct(t[s][0]),c=ut(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(a*c-l*i)/2:Math.sqrt(Math.pow(l-a,2)+Math.pow(c-i,2))),a=l,i=c}var u=e.length-3;e[2]=1,function t(e,r,n,a){for(var i,o=a,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],h=e[n],f=e[n+1],p=r+3;p<n;p+=3){var d=rt(e[p],e[p+1],c,u,h,f);if(d>o)i=p,o=d;else if(d===o){var g=Math.abs(p-s);g<l&&(i=p,l=g)}}o>a&&(i-r>3&&t(e,r,i,a),e[i+2]=o,n-i>3&&t(e,i,n,a))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function lt(t,e,r,n){for(var a=0;a<t.length;a++){var i=[];st(t[a],i,r,n),e.push(i)}}function ct(t){return t/360+.5}function ut(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function ht(t,e,r,n,a,i,o,s){if(n/=e,i>=(r/=e)&&o<n)return t;if(o<r||i>=n)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.type,p=0===a?u.minX:u.minY,d=0===a?u.maxX:u.maxY;if(p>=r&&d<n)l.push(u);else if(!(d<r||p>=n)){var g=[];if("Point"===f||"MultiPoint"===f)ft(h,g,r,n,a);else if("LineString"===f)pt(h,g,r,n,a,!1,s.lineMetrics);else if("MultiLineString"===f)gt(h,g,r,n,a,!1);else if("Polygon"===f)gt(h,g,r,n,a,!0);else if("MultiPolygon"===f)for(var v=0;v<h.length;v++){var m=[];gt(h[v],m,r,n,a,!0),m.length&&g.push(m)}if(g.length){if(s.lineMetrics&&"LineString"===f){for(v=0;v<g.length;v++)l.push(nt(u.id,f,g[v],u.tags));continue}"LineString"!==f&&"MultiLineString"!==f||(1===g.length?(f="LineString",g=g[0]):f="MultiLineString"),"Point"!==f&&"MultiPoint"!==f||(f=3===g.length?"Point":"MultiPoint"),l.push(nt(u.id,f,g,u.tags))}}}return l.length?l:null}function ft(t,e,r,n,a){for(var i=0;i<t.length;i+=3){var o=t[i+a];o>=r&&o<=n&&(e.push(t[i]),e.push(t[i+1]),e.push(t[i+2]))}}function pt(t,e,r,n,a,i,o){for(var s,l,c=dt(t),u=0===a?mt:yt,h=t.start,f=0;f<t.length-3;f+=3){var p=t[f],d=t[f+1],g=t[f+2],v=t[f+3],m=t[f+4],y=0===a?p:d,x=0===a?v:m,b=!1;o&&(s=Math.sqrt(Math.pow(p-v,2)+Math.pow(d-m,2))),y<r?x>r&&(l=u(c,p,d,v,m,r),o&&(c.start=h+s*l)):y>n?x<n&&(l=u(c,p,d,v,m,n),o&&(c.start=h+s*l)):vt(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,v,m,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,v,m,n),b=!0),!i&&b&&(o&&(c.end=h+s*l),e.push(c),c=dt(t)),o&&(h+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===a?p:d)>=r&&y<=n&&vt(c,p,d,g),_=c.length-3,i&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&vt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function gt(t,e,r,n,a,i){for(var o=0;o<t.length;o++)pt(t[o],e,r,n,a,i,!1)}function vt(t,e,r,n){t.push(e),t.push(r),t.push(n)}function mt(t,e,r,n,a,i){var o=(i-e)/(n-e);return t.push(i),t.push(r+(a-r)*o),t.push(1),o}function yt(t,e,r,n,a,i){var o=(i-r)/(a-r);return t.push(e+(n-e)*o),t.push(i),t.push(1),o}function xt(t,e){for(var r=[],n=0;n<t.length;n++){var a,i=t[n],o=i.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)a=bt(i.geometry,e);else if("MultiLineString"===o||"Polygon"===o){a=[];for(var s=0;s<i.geometry.length;s++)a.push(bt(i.geometry[s],e))}else if("MultiPolygon"===o)for(a=[],s=0;s<i.geometry.length;s++){for(var l=[],c=0;c<i.geometry[s].length;c++)l.push(bt(i.geometry[s][c],e));a.push(l)}r.push(nt(i.id,o,a,i.tags))}return r}function bt(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function _t(t,e){if(t.transformed)return t;var r,n,a,i=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(wt(c[n],c[n+1],e,i,o,s));else for(n=0;n<c.length;n++){var h=[];for(a=0;a<c[n].length;a+=2)h.push(wt(c[n][a],c[n][a+1],e,i,o,s));l.geometry.push(h)}}return t.transformed=!0,t}function wt(t,e,r,n,a,i){return[Math.round(r*(t*n-a)),Math.round(r*(e*n-i))]}function kt(t,e,r,n,a){for(var i=e===a.maxZoom?0:a.tolerance/((1<<e)*a.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,Tt(o,t[s],i,a);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,h=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function Tt(t,e,r,n){var a=e.geometry,i=e.type,o=[];if("Point"===i||"MultiPoint"===i)for(var s=0;s<a.length;s+=3)o.push(a[s]),o.push(a[s+1]),t.numPoints++,t.numSimplified++;else if("LineString"===i)At(o,a,t,r,!1,!1);else if("MultiLineString"===i||"Polygon"===i)for(s=0;s<a.length;s++)At(o,a[s],t,r,"Polygon"===i,0===s);else if("MultiPolygon"===i)for(var l=0;l<a.length;l++){var c=a[l];for(s=0;s<c.length;s++)At(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if("LineString"===i&&n.lineMetrics){for(var h in u={},e.tags)u[h]=e.tags[h];u.mapbox_clip_start=a.start/a.size,u.mapbox_clip_end=a.end/a.size}var f={geometry:o,type:"Polygon"===i||"MultiPolygon"===i?3:"LineString"===i||"MultiLineString"===i?2:1,tags:u};null!==e.id&&(f.id=e.id),t.features.push(f)}}function At(t,e,r,n,a,i){var o=n*n;if(n>0&&e.size<(a?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,a=t.length,i=a-2;n<a;i=n,n+=2)r+=(t[n]-t[i])*(t[n+1]+t[i+1]);if(r>0===e)for(n=0,a=t.length;n<a/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[a-2-n],t[n+1]=t[a-1-n],t[a-2-n]=o,t[a-1-n]=s}}(s,i),t.push(s)}}function Mt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time("preprocess data"),e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n<t.features.length;n++)it(r,t.features[n],e,n);else"Feature"===t.type?it(r,t,e):it(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",e.indexMaxZoom,e.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,a=ht(t,1,-1-r,r,0,-1,2,e),i=ht(t,1,1-r,2+r,0,-1,2,e);return(a||i)&&(n=ht(t,1,-r,1+r,0,-1,2,e)||[],a&&(n=xt(a,1).concat(n)),i&&(n=n.concat(xt(i,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}function St(t,e,r){return 32*((1<<t)*r+e)+t}function Et(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var a=new k(n.features),i=E(a);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),e(null,{vectorTile:a,rawData:i.buffer})}Y.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,a=e.maxZoom,i=e.nodeSize;r&&console.time("total time");var o="prepare "+t.length+" points";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(X(t[l],l));this.trees[a+1]=new H(s,tt,et,i,Float32Array),r&&console.timeEnd(o);for(var c=a;c>=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new H(s,tt,et,i,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},Y.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),a=180===t[2]?180:((t[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,a=180;else if(r>a){var o=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,a,i],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(K(r),Q(i),K(a),Q(n));u<h.length;u+=1){var f=h[u],p=l.points[f];c.push(p.numPoints?Z(p):this.points[p.index])}return c},Y.prototype.getChildren=function(t){var e=t>>5,r=t%32,n="No cluster with the specified id.",a=this.trees[r];if(!a)throw new Error(n);var i=a.points[e];if(!i)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=a.within(i.x,i.y,o);l<c.length;l+=1){var u=c[l],h=a.points[u];h.parentId===t&&s.push(h.numPoints?Z(h):this.points[h.index])}if(0===s.length)throw new Error(n);return s},Y.prototype.getLeaves=function(t,e,r){e=e||10,r=r||0;var n=[];return this._appendLeaves(n,t,e,r,0),n},Y.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],a=Math.pow(2,t),i=this.options,o=i.extent,s=i.radius/o,l=(r-s)/a,c=(r+1+s)/a,u={features:[]};return this._addTileFeatures(n.range((e-s)/a,l,(e+1+s)/a,c),n.points,e,r,a,u),0===e&&this._addTileFeatures(n.range(1-s/a,l,1,c),n.points,a,r,a,u),e===a-1&&this._addTileFeatures(n.range(0,l,s/a,c),n.points,-1,r,a,u),u.features.length?u:null},Y.prototype.getClusterExpansionZoom=function(t){for(var e=t%32-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},Y.prototype._appendLeaves=function(t,e,r,n,a){for(var i=0,o=this.getChildren(e);i<o.length;i+=1){var s=o[i],l=s.properties;if(l&&l.cluster?a+l.point_count<=n?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r,n,a):a<n?a++:t.push(s),t.length===r)break}return a},Y.prototype._addTileFeatures=function(t,e,r,n,a,i){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],c={type:1,geometry:[[Math.round(this.options.extent*(l.x*a-r)),Math.round(this.options.extent*(l.y*a-n))]],tags:l.numPoints?J(l):this.points[l.index].properties},u=l.numPoints?l.id:this.points[l.index].id;void 0!==u&&(c.id=u),i.features.push(c)}},Y.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},Y.prototype._cluster=function(t,e){for(var r=[],n=this.options,a=n.radius,i=n.extent,o=n.reduce,s=a/(i*Math.pow(2,e)),l=0;l<t.length;l++){var c=t[l];if(!(c.zoom<=e)){c.zoom=e;for(var u=this.trees[e+1],h=u.within(c.x,c.y,s),f=c.numPoints||1,p=c.x*f,d=c.y*f,g=o&&f>1?this._map(c,!0):null,v=(l<<5)+(e+1),m=0,y=h;m<y.length;m+=1){var x=y[m],b=u.points[x];if(!(b.zoom<=e)){b.zoom=e;var _=b.numPoints||1;p+=b.x*_,d+=b.y*_,f+=_,b.parentId=v,o&&(g||(g=this._map(c,!0)),o(g,this._map(b)))}}1===f?r.push(c):(c.parentId=v,r.push(W(p/f,d/f,v,f,g)))}}return r},Y.prototype._map=function(t,e){if(t.numPoints)return e?$({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?$({},n):n},Mt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Mt.prototype.splitTile=function(t,e,r,n,a,i,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,h=St(e,r,n),f=this.tiles[h];if(!f&&(c>1&&console.time("creation"),f=this.tiles[h]=kt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,a){if(e===l.maxZoom||e===a)continue;var d=1<<a-e;if(r!==Math.floor(i/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue;if(f.source=null,0!==t.length){c>1&&console.time("clipping");var g,v,m,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,T=1+_;g=v=m=y=null,x=ht(t,u,r-_,r+k,0,f.minX,f.maxX,l),b=ht(t,u,r+w,r+T,0,f.minX,f.maxX,l),t=null,x&&(g=ht(x,u,n-_,n+k,1,f.minY,f.maxY,l),v=ht(x,u,n+w,n+T,1,f.minY,f.maxY,l),x=null),b&&(m=ht(b,u,n-_,n+k,1,f.minY,f.maxY,l),y=ht(b,u,n+w,n+T,1,f.minY,f.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(m||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},Mt.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,i=n.debug;if(t<0||t>24)return null;var o=1<<t,s=St(t,e=(e%o+o)%o,r);if(this.tiles[s])return _t(this.tiles[s],a);i>1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[St(c,u,h)];return l&&l.source?(i>1&&console.log("found parent tile z%d-%d-%d",c,u,h),i>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,r),i>1&&console.timeEnd("drilling down"),this.tiles[s]?_t(this.tiles[s],a):null):null};var Lt=function(e){function r(t,r,n){e.call(this,t,r,Et),n&&(this.loadGeoJSON=n)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var a=!!(n&&n.request&&n.request.collectResourceTiming)&&new l.Performance(n.request);this.loadGeoJSON(n,function(i,o){if(i||!o)return r(i);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));!function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(y(t,r)),e;case"GeometryCollection":return e.geometries=e.geometries.map(y(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=x(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(y(x,e))),t}(e,r);default:return e}}(o,!0);try{e._geoJSONIndex=n.cluster?new Y(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var a={},i={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c<u.length;c+=1){var h=u[c],f=n[h],p=f[0],d=f[1],g=t.createExpression(d),v=t.createExpression("string"==typeof p?[p,["accumulated"],["get",h]]:p);a[h]=g.value,i[h]=v.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var i=n[r];e[i]=a[i].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var a=n[r];o.accumulated=t[a],t[a]=i[a].evaluate(o,s)}},r}(n)).load(o.features):new Mt(o,n.geojsonVtOptions)}catch(i){return r(i)}e.loaded={};var s={};if(a){var l=a.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)})}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,a=t.uid;return n&&n[a]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))},r.prototype.getClusterChildren=function(t,e){e(null,this._geoJSONIndex.getChildren(t.clusterId))},r.prototype.getClusterLeaves=function(t,e){e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))},r}(h),Ct=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:h,geojson:Lt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name "'+t+'" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isLoaded())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return Ct.prototype.setReferrer=function(t,e){this.referrer=e},Ct.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},Ct.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},Ct.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},Ct.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},Ct.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},Ct.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},Ct.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},Ct.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},Ct.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},Ct.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},Ct.prototype.loadRTLTextPlugin=function(e,r,n){try{t.plugin.isLoaded()||(this.self.importScripts(r),n(t.plugin.isLoaded()?null:new Error("RTL Text Plugin failed to import scripts from "+r)))}catch(t){n(t.toString())}},Ct.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},Ct.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var a={send:function(e,r,a){n.actor.send(e,r,a,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](a,this.getLayerIndex(t))}return this.workerSources[t][e][r]},Ct.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new f),this.demWorkerSources[t][e]},Ct.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},"undefined"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new Ct(t.window)),Ct}),n(0,function(t){var e=t.createCommonjsModule(function(t){function e(t){return!!("undefined"!=typeof window&&"undefined"!=typeof document&&Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray&&Function.prototype&&Function.prototype.bind&&Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions&&"JSON"in window&&"parse"in JSON&&"stringify"in JSON&&function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,r=new Blob([""],{type:"text/javascript"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&"Uint8ClampedArray"in window&&ArrayBuffer.isView&&function(t){return void 0===r[t]&&(r[t]=function(t){var r=document.createElement("canvas"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext("webgl",n)||r.probablySupportsContext("experimental-webgl",n):r.supportsContext?r.supportsContext("webgl",n)||r.supportsContext("experimental-webgl",n):r.getContext("webgl",n)||r.getContext("experimental-webgl",n)}(t)),r[t]}(t&&t.failIfMajorPerformanceCaveat))}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e);var r={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),r={create:function(e,r,n){var a=t.window.document.createElement(e);return void 0!==r&&(a.className=r),n&&n.appendChild(a),a},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function a(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var i,o=a(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);r.disableDrag=function(){n&&o&&(i=n[o],n[o]="none")},r.enableDrag=function(){n&&o&&(n[o]=i)};var s=a(["transform","WebkitTransform"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var c=Object.defineProperty({},"passive",{get:function(){l=!0}});t.window.addEventListener("test",c,c),t.window.removeEventListener("test",c,c)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener("click",u,!0)};function h(t){var e=t.userImage;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}r.suppressClick=function(){t.window.addEventListener("click",u,!0),t.window.setTimeout(function(){t.window.removeEventListener("click",u,!0)},0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect(),a=t.window.TouchEvent&&r instanceof t.window.TouchEvent?r.touches[0]:r;return new t.Point(a.clientX-n.left-e.clientLeft,a.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),a=[],i="touchend"===r.type?r.changedTouches:r.touches,o=0;o<i.length;o++)a.push(new t.Point(i[o].clientX-n.left-e.clientLeft,i[o].clientY-n.top-e.clientTop));return a},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],a=n.ids,i=n.callback;this._notify(a,i)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this.images[t]=e},r.prototype.updateImage=function(t,e){var r=this.images[t];e.version=r.version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,a=t;n<a.length;n+=1){var i=a[n];this.images[i]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a];this.images[o]||this.fire(new t.Event("styleimagemissing",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image "'+o+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var a={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.ImagePosition(a,n);this.patterns[e]={bin:a,position:i}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),a=n.w,i=n.h,o=this.atlasImage;for(var s in o.resize({width:a||1,height:i||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,h=this.images[s].data,f=h.width,p=h.height;t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u},{width:f,height:p}),t.RGBAImage.copy(h,o,{x:0,y:p-1},{x:c,y:u-1},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u+p},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:f-1,y:0},{x:c-1,y:u},{width:1,height:p}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c+f,y:u},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var a=this.images[n];h(a)&&this.updateImage(n,a)}}},r}(t.Evented),p=v,d=v,g=1e20;function v(t,e,r,n,a,i){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=a||"sans-serif",this.fontWeight=i||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function m(t,e,r,n,a,i,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(y(n,a,i,o,r),l=0;l<r;l++)t[l*e+s]=a[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(y(n,a,i,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(a[s])}}function y(t,e,r,n,a){r[0]=0,n[0]=-g,n[1]=+g;for(var i=1,o=0;i<a;i++){for(var s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);s<=n[o];)o--,s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);r[++o]=i,n[o]=s,n[o+1]=+g}for(i=0,o=0;i<a;i++){for(;n[o+1]<i;)o++;e[i]=(i-r[o])*(i-r[o])+t[r[o]]}}v.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var a=e.data[4*n+3]/255;this.gridOuter[n]=1===a?0:0===a?g:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?g:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(m(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),m(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var i=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(i/this.radius+this.cutoff))))}return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,a=[];for(var i in e)for(var o=0,s=e[i];o<s.length;o+=1){var l=s[o];a.push({stack:i,id:l})}t.asyncAll(a,function(t,e){var r=t.stack,a=t.id,i=n.entries[r];i||(i=n.entries[r]={glyphs:{},requests:{}});var o=i.glyphs[a];if(void 0===o){if(o=n._tinySDF(i,r,a))return i.glyphs[a]=o,void e(null,{stack:r,id:a,glyph:o});var s=Math.floor(a/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else{var l=i.requests[s];l||(l=i.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,function(t,e){if(e)for(var r in e)n._doesCharSupportLocalGlyph(+r)||(i.glyphs[+r]=e[+r]);for(var a=0,o=l;a<o.length;a+=1)(0,o[a])(t,e);delete i.requests[s]})),l.push(function(t,n){t?e(t):n&&e(null,{stack:r,id:a,glyph:n[a]||null})})}}else e(null,{stack:r,id:a,glyph:o})},function(t,e){if(t)r(t);else if(e){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}})},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar["CJK Unified Ideographs"](e)||t.isChar["Hangul Syllables"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var a=this.localIdeographFontFamily;if(a&&this._doesCharSupportLocalGlyph(n)){var i=e.tinySDF;if(!i){var o="400";/bold/i.test(r)?o="900":/medium/i.test(r)?o="500":/light/i.test(r)&&(o="200"),i=e.tinySDF=new x.TinySDF(24,3,8,.25,a,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},i.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,a,i){var o=256*r,s=o+255,l=a.transformRequest(a.normalizeGlyphsURL(n).replace("{fontstack}",e).replace("{range}",o+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,function(e,r){if(e)i(e);else if(r){for(var n={},a=0,o=t.parseGlyphPBF(r);a<o.length;a+=1){var s=o[a];n[s.id]=s}i(null,n)}})},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var a=e[n];t.endsWith(n,"-transition")?this._transitionable.setTransition(n.slice(0,-"-transition".length),a):this._transitionable.setValue(n,a)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),k=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};k.prototype.getDash=function(t,e){var r=t.join(",")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},k.prototype.addDash=function(e,r){var n=r?7:0,a=2*n+1;if(this.nextRow+a>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var i=0,o=0;o<e.length;o++)i+=e[o];for(var s=this.width/i,l=s/2,c=e.length%2==1,u=-n;u<=n;u++)for(var h=this.nextRow+n+u,f=this.width*h,p=c?-e[e.length-1]:0,d=e[0],g=1,v=0;v<this.width;v++){for(;d<v/s;)p=d,d+=e[g],c&&g===e.length-1&&(d+=e[0]),g++;var m=Math.abs(v-p*s),y=Math.abs(v-d*s),x=Math.min(m,y),b=g%2==1,_=void 0;if(r){var w=n?u/n*(l+1):0;if(b){var k=l-Math.abs(w);_=Math.sqrt(x*x+k*k)}else _=l-Math.sqrt(x*x+w*w)}else _=(b?1:-1)*x;this.data[3+4*(f+v)]=Math.max(0,Math.min(255,_+128))}var T={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:i};return this.nextRow+=a,this.dirty=!0,T},k.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))};var T=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var a=this.workerPool.acquire(this.id),i=0;i<a.length;i++){var o=a[i],s=new e.Actor(o,n,this.id);s.name="Worker "+i,this.actors.push(s)}};function A(e,r,n){var a=function(a,i){if(a)return n(a);if(i){var o=t.pick(t.extend(i,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);i.vector_layers&&(o.vectorLayers=i.vector_layers,o.vectorLayerIds=o.vectorLayers.map(function(t){return t.id})),e.url&&(o.tiles=r.canonicalizeTileset(o,e.url)),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),a):t.browser.frame(function(){return a(null,e)})}T.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,function(t,n){t.send(e,r,n)},n)},T.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},T.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},T.Actor=t.Actor;var M=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};M.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},M.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),a=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),i=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<i&&e.y>=a&&e.y<o};var S=function(e){function r(r,n,a,i){if(e.call(this),this.id=r,this.dispatcher=a,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,["url","scheme","tileSize"])),this._options=t.extend({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=A(this._options,this.map._requestManager,function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,null),a={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};function i(n,a){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(a&&a.resourceTiming&&(e.resourceTiming=a.resourceTiming),this.map._refreshExpiredTiles&&a&&e.setExpiryData(a),e.loadVectorData(a,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}a.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=r:e.request=e.actor.send("reloadTile",a,i.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",a,i.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),E=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.dispatcher=a,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},n),t.extend(this,t.pick(n,["url","scheme","tileSize"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=A(this._options,this.map._requestManager,function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,a=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(a,t.ResourceType.Tile),function(a,i){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(a)e.state="errored",r(a);else if(i){n.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new t.Texture(o,i,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}})},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),L=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(n)e.state="errored",r(n);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var i=t.browser.getImageData(a),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",o,function(t,n){t&&(e.state="errored",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state="loaded",r(null))}.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),a=(r.x-1+n)%n,i=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&t.actor.send("removeDEMTile",{uid:t.uid,source:this.id})},r}(E),C=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=a.getActor(),this.setEventedParent(i),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution);var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:"source",sourceDataType:"metadata"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}}),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),a=this._data;"string"==typeof a?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(a),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(a),this.actor.send(this.type+".loadData",n,function(t,a){r._removed||a&&a.abandoned||(r._loaded=!0,a&&a.resourceTiming&&a.resourceTiming[r.id]&&(r._resourceTiming=a.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))})},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,a=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var i={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};e.request=this.actor.send(a,i,function(t,i){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(i,n.map.painter,"reloadTile"===a),r(null))})},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=function(e){function r(t,r,n,a){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),function(a,i){n._loaded=!0,a?n.fire(new t.ErrorEvent(a)):i&&(n.image=i,e&&(n.coordinates=e),r&&r(),n._finishLoading())})},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,function(){e.texture=null}),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,a=-1/0,i=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.x),i=Math.max(i,l.y)}var c=a-r,u=i-n,h=Math.max(c,u),f=Math.max(0,Math.floor(-Math.log(h)/Math.LN2)),p=Math.pow(2,f);return new t.CanonicalTileID(f,Math.floor((r+a)/2*p),Math.floor((n+i)/2*p))}(n),this.minzoom=this.maxzoom=this.tileID.z;var a=n.map(function(t){return r.tileID.getTilePoint(t)._round()});return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(a[2].x,a[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=function(e){function r(t,r,n,a){e.call(this,t,r,n,a),this.roundZoom=!0,this.type="video",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,a=r.urls;n<a.length;n+=1){var i=a[n];this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url)}t.getVideo(this.urls,function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener("playing",function(){e.map.triggerRepaint()}),e.map&&e.video.play(),e._finishLoading())})},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),z=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some(function(t){return!Array.isArray(t)||2!==t.length||t.some(function(t){return"number"!=typeof t})})||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,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 t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(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())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var a in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var i=this.tiles[a];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(P),I={vector:S,raster:E,"raster-dem":L,geojson:C,video:O,image:P,canvas:z},D=function(e,r,n,a){var i=new I[r.type](e,r,n,a);if(i.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+i.id);return t.bindAll(["load","abort","unload","serialize","prepare"],i),i};function R(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function F(t,e,r,n,a){var i=function(t,e,r){if(t)for(var n=0,a=t;n<a.length;n+=1){var i=e[a[n]];if(i&&i.source===r&&"fill-extrusion"===i.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&"fill-extrusion"===s.type)return!0}return!1}(n&&n.layers,e,t.id),o=a.maxPitchScaleFactor(),s=t.tilesIn(r,o,i);s.sort(B);for(var l=[],c=0,u=s;c<u.length;c+=1){var h=u[c];l.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,t._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,n,a,o,R(t.transform,h.tileID))})}var f=function(t){for(var e={},r={},n=0,a=t;n<a.length;n+=1){var i=a[n],o=i.queryResults,s=i.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],h=l[c]=l[c]||{},f=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g))}}return e}(l);for(var p in f)f[p].forEach(function(e){var r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n});return f}function B(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var N=function(t,e){this.max=t,this.onRemove=e,this.reset()};N.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},N.prototype.add=function(t,e,r){var n=this,a=t.wrapped().key;void 0===this.data[a]&&(this.data[a]=[]);var i={value:e,timeout:void 0};if(void 0!==r&&(i.timeout=setTimeout(function(){n.remove(t,i)},r)),this.data[a].push(i),this.order.push(a),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),a=this.data[r][n];return this.data[r].splice(n,1),a.timeout&&clearTimeout(a.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(a.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this};var j=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var V={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},U=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};U.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},U.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},U.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],a=e.attributes[n.name];void 0!==a&&t.enableVertexAttribArray(a)}},U.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var a=this.attributes[n],i=e.attributes[a.name];void 0!==i&&t.vertexAttribPointer(i,a.components,t[V[a.type]],!1,this.itemSize,a.offset+this.itemSize*(r||0))}},U.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var q=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(t){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var H=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),G=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(q),Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(q),W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),X=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(q),Z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(q),J=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(q),K=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(q),Q=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(q),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(q),et=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(q),rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(q),nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),at=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),it=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(q),ot=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(q),st=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(q),lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(q),ct=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(q),ut=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(q),ht=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),ft=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(q),pt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(q),dt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(q),gt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(q),vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(q),mt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(q),yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(q),xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),bt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),_t=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e}(q),wt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(_t),kt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(_t),Tt=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,a=this.framebuffer=n.createFramebuffer();this.colorAttachment=new wt(t,a),this.depthAttachment=new kt(t,a)};Tt.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)};var At=function(t,e,r){this.func=t,this.mask=e,this.range=r};At.ReadOnly=!1,At.ReadWrite=!0,At.disabled=new At(519,At.ReadOnly,[0,1]);var Mt=function(t,e,r,n,a,i){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=a,this.pass=i};Mt.disabled=new Mt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Et=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Et.disabled=new Et(!1,1029,2305),Et.backCCW=new Et(!0,1029,2305);var Lt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.clearColor=new H(this),this.clearDepth=new G(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new Z(this),this.stencilFunc=new J(this),this.stencilOp=new K(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new rt(this),this.blendFunc=new nt(this),this.blendColor=new at(this),this.blendEquation=new it(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ht(this),this.bindFramebuffer=new ft(this),this.bindRenderbuffer=new pt(this),this.bindTexture=new dt(this),this.bindVertexBuffer=new gt(this),this.bindElementBuffer=new vt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new mt(this),this.pixelStoreUnpack=new yt(this),this.pixelStoreUnpackPremultiplyAlpha=new xt(this),this.pixelStoreUnpackFlipY=new bt(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&t.getExtension("OES_texture_half_float_linear")};Lt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Lt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Lt.prototype.createIndexBuffer=function(t,e){return new j(this,t,e)},Lt.prototype.createVertexBuffer=function(t,e,r){return new U(this,t,e,r)},Lt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,a=n.createRenderbuffer();return this.bindRenderbuffer.set(a),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),a},Lt.prototype.createFramebuffer=function(t,e){return new Tt(this,t,e)},Lt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,a=0;e&&(a|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(a|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(a)},Lt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Lt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Lt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Lt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Lt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Ct=function(e){function r(r,n,a){var i=this;e.call(this),this.id=r,this.dispatcher=a,this.on("data",function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on("error",function(){i._sourceErrored=!0}),this._source=D(r,n,a,this),this._tiles={},this._cache=new N(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return Object.keys(this._tiles).map(Number).sort(Pt)},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var a in this._tiles)this._isIdRenderable(+a,e)&&n.push(+a);return e?n.sort(function(e,n){var a=r._tiles[e].tileID,i=r._tiles[n].tileID,o=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle),s=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle);return a.overscaledZ-i.overscaledZ||s.y-o.y||s.x-o.x}):n.sort(Pt)},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,a){if(a)return e.state="errored",void(404!==a.status?this._source.fire(new t.ErrorEvent(a,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var a=this.getTileByID(n);i(t,a),i(a,t)}}function i(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,a=Math.pow(2,t.tileID.canonical.z),i=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+a)?r+=a:1===Math.abs(r-a)&&(r-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[i]&&(t.neighboringTiles[i].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var a in this._tiles){var i=this._tiles[a];if(!(n[a]||!i.hasData()||i.tileID.overscaledZ<=e||i.tileID.overscaledZ>r)){for(var o=i.tileID;i&&i.tileID.overscaledZ>e+1;){var s=i.tileID.scaledTo(i.tileID.overscaledZ-1);(i=this._tiles[s.key])&&i.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){for(var r=t.overscaledZ-1;r>=e;r--){var n=t.scaledTo(r);if(!n)return;var a=String(n.key),i=this._tiles[a];if(i&&i.hasData())return i;if(this._cache.has(n))return this._cache.get(n)}},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var a in this._tiles){var i=this._tiles[a];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+r),n[i.tileID.key]=i}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var a;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?a=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)}):(a=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(a=a.filter(function(t){return n._source.hasTile(t)}))):a=[];var i=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),o=Math.max(i-r.maxOverzooming,this._source.minzoom),s=Math.max(i+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(a,i);if(Ot(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);h<f.length;h+=1){var p=f[h],d=l[p],g=this._tiles[p];if(g&&!(g.fadeEndTime&&g.fadeEndTime<=t.browser.now())){var v=this.findLoadedParent(d,o);v&&(this._addTile(v.tileID),c[v.tileID.key]=v.tileID),u[p]=d}}for(var m in this._retainLoadedChildren(u,i,s,l),c)l[m]||(this._coveredTiles[m]=!0,l[m]=c[m])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},a={},i=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],h=this._addTile(u);n[u.key]=u,h.hasData()||e<this._source.maxzoom&&(s[u.key]=u)}this._retainLoadedChildren(s,e,o,n);for(var f=0,p=t;f<p.length;f+=1){var d=p[f],g=this._tiles[d.key];if(!g.hasData()){if(e+1>this._source.maxzoom){var v=d.children(this._source.maxzoom)[0],m=this.getTile(v);if(m&&m.hasData()){n[v.key]=v;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=i;--b){var _=d.scaledTo(b);if(a[_.key])break;if(a[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,"expired"),delete r._timers[t]},n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var a=this,i=[],o=this.transform;if(!o)return i;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map(function(t){return o.pointCoordinate(t)}),c=s.map(function(t){return o.pointCoordinate(t)}),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,g=0,v=c;g<v.length;g+=1){var m=v[g];h=Math.min(h,m.x),f=Math.min(f,m.y),p=Math.max(p,m.x),d=Math.max(d,m.y)}for(var y=function(e){var n=a._tiles[u[e]];if(!n.holdingForFade()){var s=n.tileID,g=Math.pow(2,o.zoom-n.tileID.overscaledZ),v=r*n.queryPadding*t.EXTENT/n.tileSize/g,m=[s.getTilePoint(new t.MercatorCoordinate(h,f)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(m[0].x-v<t.EXTENT&&m[0].y-v<t.EXTENT&&m[1].x+v>=0&&m[1].y+v>=0){var y=l.map(function(t){return s.getTilePoint(t)}),x=c.map(function(t){return s.getTilePoint(t)});i.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},x=0;x<u.length;x++)y(x);return i},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map(function(t){return e._tiles[t].tileID}),n=0,a=r;n<a.length;n+=1){var i=a[n];i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Ot(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r}(t.Evented);function Pt(t,e){return t%32-e%32||e-t}function Ot(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(Qn.workerUrl)}Ct.maxOverzooming=10,Ct.maxUnderzooming=3;var It=function(){this.active={}};It.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<It.workerCount;)this.workers.push(new zt);return this.active[t]=!0,this.workers.slice()},It.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)};var Dt,Rt=Math.floor(t.browser.hardwareConcurrency/2);function Ft(e,r){var n={};for(var a in e)"ref"!==a&&(n[a]=e[a]);return t.refProperties.forEach(function(t){t in r&&(n[t]=r[t])}),n}function Bt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=Ft(t[n],e[t[n].ref]));return t}It.workerCount=Math.max(Math.min(Rt,6),1);var Nt={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function jt(t,e,r){r.push({command:Nt.addSource,args:[t,e[t]]})}function Vt(t,e,r){e.push({command:Nt.removeSource,args:[t]}),r[t]=!0}function Ut(t,e,r,n){Vt(t,r,n),jt(t,e,r)}function qt(e,r,n){var a;for(a in e[n])if(e[n].hasOwnProperty(a)&&"data"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;for(a in r[n])if(r[n].hasOwnProperty(a)&&"data"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;return!0}function Ht(e,r,n,a,i,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}))}function Gt(t){return t.id}function Yt(t,e){return t[e.id]=e,t}var Wt=function(t,e,r){var n=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var i=0;i<this.xCellCount*this.yCellCount;i++)n.push([]),a.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function Xt(e,r,n,a,i){var o=t.create();return r?(t.scale(o,o,[1/i,1/i,1]),n||t.rotateZ(o,o,a.angle)):t.multiply(o,a.labelPlaneMatrix,e),o}function Zt(e,r,n,a,i){if(r){var o=t.clone(e);return t.scale(o,o,[i,i,1]),n||t.rotateZ(o,o,-a.angle),o}return a.glCoordMatrix}function Jt(e,r){var n=[e.x,e.y,0,1];oe(n,n,r);var a=n[3];return{point:new t.Point(n[0]/a,n[1]/a),signedDistanceFromCamera:a}}function Kt(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function Qt(e,r,n,a,i,o,s,l){var c=a?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,v=!1,m=0;m<d.length;m++){var y=d.get(m);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!v)ie(y.numGlyphs,f);else{v=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.transformMat4(x,x,r),Kt(x,h)){var b=.5+x[3]/n.transform.cameraToCenterDistance*.5,_=t.evaluateSizeForFeature(c,u,y),w=s?_*b:_/b,k=new t.Point(y.anchorX,y.anchorY),T=Jt(k,i).point,A={},M=ee(y,w,!1,l,r,i,o,e.glyphOffsetArray,p,f,T,k,A,g);v=M.useVertical,(M.notEnoughRoom||v||M.needsFlipping&&ee(y,w,!0,l,r,i,o,e.glyphOffsetArray,p,f,T,k,A,g).notEnoughRoom)&&ie(y.numGlyphs,f)}else ie(y.numGlyphs,f)}}a?e.text.dynamicLayoutVertexBuffer.updateData(f):e.icon.dynamicLayoutVertexBuffer.updateData(f)}function $t(t,e,r,n,a,i,o,s,l,c,u,h){var f=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,g=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(f-1),m=ne(t*g,r,n,a,i,o,s.segment,p,d,l,c,u,h);if(!m)return null;var y=ne(t*v,r,n,a,i,o,s.segment,p,d,l,c,u,h);return y?{first:m,last:y}:null}function te(e,r,n,a){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ee(e,r,n,a,i,o,s,l,c,u,h,f,p,d){var g,v=r/24,m=e.lineOffsetX*v,y=e.lineOffsetY*v;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=$t(v,l,m,y,n,h,f,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=Jt(w.first.point,s).point,T=Jt(w.last.point,s).point;if(a&&!n){var A=te(e.writingMode,k,T,d);if(A)return A}g=[w.first];for(var M=e.glyphStartIndex+1;M<x-1;M++)g.push(ne(v*l.getoffsetX(M),m,y,n,h,f,e.segment,b,_,c,o,p,!1));g.push(w.last)}else{if(a&&!n){var S=Jt(f,i).point,E=e.lineStartIndex+e.segment+1,L=new t.Point(c.getx(E),c.gety(E)),C=Jt(L,i),P=C.signedDistanceFromCamera>0?C.point:re(f,L,S,1,i),O=te(e.writingMode,S,P,d);if(O)return O}var z=ne(v*l.getoffsetX(e.glyphStartIndex),m,y,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!z)return{notEnoughRoom:!0};g=[z]}for(var I=0,D=g;I<D.length;I+=1){var R=D[I];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function re(t,e,r,n,a){var i=Jt(t.add(t.sub(e)._unit()),a).point,o=r.sub(i);return r.add(o._mult(n/o.mag()))}function ne(e,r,n,a,i,o,s,l,c,u,h,f,p){var d=a?e-r:e+r,g=d>0?1:-1,v=0;a&&(g*=-1,v=Math.PI),g<0&&(v+=Math.PI);for(var m=g>0?l+s:l+s+1,y=m,x=i,b=i,_=0,w=0,k=Math.abs(d);_+w<=k;){if((m+=g)<l||m>=c)return null;if(b=x,void 0===(x=f[m])){var T=new t.Point(u.getx(m),u.gety(m)),A=Jt(T,h);if(A.signedDistanceFromCamera>0)x=f[m]=A.point;else{var M=m-g;x=re(0===_?o:new t.Point(u.getx(M),u.gety(M)),T,b,k-_+1,h)}}_+=w,w=b.dist(x)}var S=(k-_)/w,E=x.sub(b),L=E.mult(S)._add(b);return L._add(E._unit()._perp()._mult(n*g)),{point:L,angle:v+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:m-g===y?0:u.gettileUnitDistanceFromAnchor(m-g),lastSegmentViewportDistance:k-_}:null}}Wt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Wt.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},Wt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Wt.prototype._insertBoxCell=function(t,e,r,n,a,i){this.boxCells[a].push(i)},Wt.prototype._insertCircleCell=function(t,e,r,n,a,i){this.circleCells[a].push(i)},Wt.prototype._query=function(t,e,r,n,a,i){if(r<0||t>this.width||n<0||e>this.height)return!a&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(a)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],h=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:c-h,y1:u-h,x2:c+h,y2:u+h})}return i?o.filter(i):o}var f={hitTest:a,seenUids:{box:{},circle:{}}};return this._forEachCell(t,e,r,n,this._queryCell,o,f,i),a?o.length>0:o},Wt.prototype._queryCircle=function(t,e,r,n,a){var i=t-r,o=t+r,s=e-r,l=e+r;if(o<0||i>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,s,o,l,this._queryCellCircle,c,u,a),n?c.length>0:c},Wt.prototype.query=function(t,e,r,n,a){return this._query(t,e,r,n,!1,a)},Wt.prototype.hitTest=function(t,e,r,n,a){return this._query(t,e,r,n,!0,a)},Wt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Wt.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=o.seenUids,c=this.boxCells[a];if(null!==c)for(var u=this.bboxes,h=0,f=c;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=u[d+2]&&e<=u[d+3]&&r>=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return i.push(!0),!0;i.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[a];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(v[b],v[b+1],v[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return i.push(!0),!0;var _=v[b],w=v[b+1],k=v[b+2];i.push({key:this.circleKeys[x],x1:_-k,y1:w-k,x2:_+k,y2:w+k})}}}},Wt.prototype._queryCellCircle=function(t,e,r,n,a,i,o,s){var l=o.circle,c=o.seenUids,u=this.boxCells[a];if(null!==u)for(var h=this.bboxes,f=0,p=u;f<p.length;f+=1){var d=p[f];if(!c.box[d]){c.box[d]=!0;var g=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,h[g+0],h[g+1],h[g+2],h[g+3])&&(!s||s(this.boxKeys[d])))return i.push(!0),!0}}var v=this.circleCells[a];if(null!==v)for(var m=this.circles,y=0,x=v;y<x.length;y+=1){var b=x[y];if(!c.circle[b]){c.circle[b]=!0;var _=3*b;if(this._circlesCollide(m[_],m[_+1],m[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return i.push(!0),!0}}},Wt.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.xCellCount*p+f;if(a.call(this,t,e,r,n,d,i,o,s))return}},Wt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Wt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Wt.prototype._circlesCollide=function(t,e,r,n,a,i){var o=n-t,s=a-e,l=r+i;return l*l>o*o+s*s},Wt.prototype._circleAndRectCollide=function(t,e,r,n,a,i,o){var s=(i-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-a)/2,u=Math.abs(e-(a+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var ae=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ie(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(ae,3*n)}}function oe(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t[3]=r[3]*n+r[7]*a+r[15],t}var se=function(t,e,r){void 0===e&&(e=new Wt(t.width+200,t.height+200,25)),void 0===r&&(r=new Wt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function le(t,e,r){t[e+4]=r?1:0}function ce(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}se.prototype.placeCollisionBox=function(t,e,r,n,a){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*i.perspectiveRatio,s=t.x1*o+i.point.x,l=t.y1*o+i.point.y,c=t.x2*o+i.point.x,u=t.y2*o+i.point.y;return!this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,a)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},se.prototype.approximateTileDistance=function(t,e,r,n,a){var i=a?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(i-1)*o*Math.abs(Math.sin(e))},se.prototype.placeCollisionCircles=function(e,r,n,a,i,o,s,l,c,u,h,f,p){var d=[],g=this.projectAnchor(c,i.anchorX,i.anchorY),v=l/24,m=i.lineOffsetX*l,y=i.lineOffsetY*l,x=new t.Point(i.anchorX,i.anchorY),b=$t(v,s,m,y,!1,Jt(x,u).point,x,i,o,u,{},!0),_=!1,w=!1,k=!0,T=g.perspectiveRatio*a,A=1/(a*n),M=0,S=0;b&&(M=this.approximateTileDistance(b.first.tileDistance,b.first.angle,A,g.cameraDistance,f),S=this.approximateTileDistance(b.last.tileDistance,b.last.angle,A,g.cameraDistance,f));for(var E=0;E<e.length;E+=5){var L=e[E],C=e[E+1],P=e[E+2],O=e[E+3];if(!b||O<-M||O>S)le(e,E,!1);else{var z=this.projectPoint(c,L,C),I=P*T;if(d.length>0){var D=z.x-d[d.length-4],R=z.y-d[d.length-3];if(I*I*2>D*D+R*R&&E+8<e.length){var F=e[E+8];if(F>-M&&F<S){le(e,E,!1);continue}}}var B=E/5;d.push(z.x,z.y,I,B),le(e,E,!0);var N=z.x-I,j=z.y-I,V=z.x+I,U=z.y+I;if(k=k&&this.isOffscreen(N,j,V,U),w=w||this.isInsideGrid(N,j,V,U),!r&&this.grid.hitTestCircle(z.x,z.y,I,p)){if(!h)return{circles:[],offscreen:!1};_=!0}}}return{circles:_||!w?[]:d,offscreen:k}},se.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,a=1/0,i=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);n=Math.min(n,u.x),a=Math.min(a,u.y),i=Math.max(i,u.x),o=Math.max(o,u.y),r.push(u)}for(var h={},f={},p=0,d=this.grid.query(n,a,i,o).concat(this.ignoredGrid.query(n,a,i,o));p<d.length;p+=1){var g=d[p],v=g.key;if(void 0===h[v.bucketInstanceId]&&(h[v.bucketInstanceId]={}),!h[v.bucketInstanceId][v.featureIndex]){var m=[new t.Point(g.x1,g.y1),new t.Point(g.x2,g.y1),new t.Point(g.x2,g.y2),new t.Point(g.x1,g.y2)];t.polygonIntersectsPolygon(r,m)&&(h[v.bucketInstanceId][v.featureIndex]=!0,void 0===f[v.bucketInstanceId]&&(f[v.bucketInstanceId]=[]),f[v.bucketInstanceId].push(v.featureIndex))}}return f},se.prototype.insertCollisionBox=function(t,e,r,n,a){var i={bucketInstanceId:r,featureIndex:n,collisionGroupID:a};(e?this.ignoredGrid:this.grid).insert(i,t[0],t[1],t[2],t[3])},se.prototype.insertCollisionCircles=function(t,e,r,n,a){for(var i=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:a},s=0;s<t.length;s+=4)i.insertCircle(o,t[s],t[s+1],t[s+2])},se.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return oe(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},se.prototype.projectPoint=function(e,r,n){var a=[r,n,0,1];return oe(a,a,e),new t.Point((a[0]/a[3]+1)/2*this.transform.width+100,(-a[1]/a[3]+1)/2*this.transform.height+100)},se.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var a=[r,n,0,1];return oe(a,a,e),{point:new t.Point((a[0]/a[3]+1)/2*this.transform.width+100,(-a[1]/a[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/a[3]*.5}},se.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},se.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary};var ue=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};ue.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var he=function(t,e,r,n,a){this.text=new ue(t?t.text:null,e,r,a),this.icon=new ue(t?t.icon:null,e,n,a)};he.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var fe=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},pe=function(t,e,r,n,a){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=a},de=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function ge(e,r,n,a,i){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,c=t.evaluateRadialOffset(e,a);return new t.Point(s+c[0]*i,l+c[1]*i)}de.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var ve=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new se(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new de(r),this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function me(t,e,r,n,a){t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0)}ve.prototype.placeLayerTile=function(e,r,n,a){var i=r.getBucket(e),o=r.latestFeatureIndex;if(i&&o&&e.id===i.layerIds[0]){var s=r.collisionBoxArray,l=i.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/t.EXTENT,h=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),f=Xt(h,"map"===l.get("text-pitch-alignment"),"map"===l.get("text-rotation-alignment"),this.transform,ce(r,1,this.transform.zoom)),p=Xt(h,"map"===l.get("icon-pitch-alignment"),"map"===l.get("icon-rotation-alignment"),this.transform,ce(r,1,this.transform.zoom));this.retainedQueryData[i.bucketInstanceId]=new pe(i.bucketInstanceId,o,i.sourceLayerIndex,i.index,r.tileID),this.placeLayerBucket(i,h,f,p,c,u,n,r.holdingForFade(),a,s)}},ve.prototype.attemptAnchorPlacement=function(e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v,m=ge(e,n,a,i,o),y=this.collisionIndex.placeCollisionBox(function(e,r,n,a,i,o){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,h=e.anchorPointX,f=e.anchorPointY,p=new t.Point(r,n);return a&&p._rotate(i?o:-o),{x1:s+p.x,y1:c+p.y,x2:l+p.x,y2:u+p.y,anchorPointX:h,anchorPointY:f}}(r,m.x,m.y,s,l,this.transform.angle),f,c,u,h.predicate);if(y.box.length>0)return this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(v=this.prevPlacement.variableOffsets[p.crossTileID].anchor),this.variableOffsets[p.crossTileID]={radialOffset:i,width:n,height:a,anchor:e,textBoxScale:o,prevAnchor:v},this.markUsedJustification(d,e,p,g),d.allowVerticalPlacement&&(this.markUsedOrientation(d,g,p),this.placedOrientations[p.crossTileID]=g),y},ve.prototype.placeLayerBucket=function(e,r,n,a,i,o,s,l,c,u){var h=this,f=e.layers[0].layout,p=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom),d=f.get("text-optional"),g=f.get("icon-optional"),v=f.get("text-allow-overlap"),m=f.get("icon-allow-overlap"),y=v&&(m||!e.hasIconData()||g),x=m&&(v||!e.hasTextData()||d),b=this.collisionGroups.get(e.sourceID),_="map"===f.get("text-rotation-alignment"),w="map"===f.get("text-pitch-alignment"),k="viewport-y"===f.get("symbol-z-order");!e.collisionArrays&&u&&e.deserializeCollisionBoxes(u);var T=function(a,u){if(!c[a.crossTileID])if(l)h.placements[a.crossTileID]=new fe(!1,!1,!1);else{var m,k=!1,T=!1,A=!0,M={box:null,offscreen:null},S={box:null,offscreen:null},E=null,L=null,C=0,P=0,O=0;u.textFeatureIndex&&(C=u.textFeatureIndex),u.verticalTextFeatureIndex&&(P=u.verticalTextFeatureIndex);var z=u.textBox;if(z){var I=function(r){var n=t.WritingMode.horizontal;if(e.allowVerticalPlacement&&!r&&h.prevPlacement){var i=h.prevPlacement.placedOrientations[a.crossTileID];i&&(h.placedOrientations[a.crossTileID]=i,n=i,h.markUsedOrientation(e,n,a))}return n},D=function(r,n){if(e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&u.verticalTextBox)for(var i=0,o=e.writingModes;i<o.length&&(o[i]===t.WritingMode.vertical?(M=n(),S=M):M=r(),!(M&&M.box&&M.box.length));i+=1);else M=r()};if(f.get("text-variable-anchor")){var R=f.get("text-variable-anchor");if(h.prevPlacement&&h.prevPlacement.variableOffsets[a.crossTileID]){var F=h.prevPlacement.variableOffsets[a.crossTileID];R.indexOf(F.anchor)>0&&(R=R.filter(function(t){return t!==F.anchor})).unshift(F.anchor)}var B=function(t,n){for(var i=t.x2-t.x1,s=t.y2-t.y1,l=a.textBoxScale,c={box:[],offscreen:!1},u=v?2*R.length:R.length,f=0;f<u;++f){var p=R[f%R.length],d=f>=R.length;if((c=h.attemptAnchorPlacement(p,t,i,s,a.radialTextOffset,l,_,w,o,r,b,d,a,e,n))&&c.box&&c.box.length){k=!0;break}}return c};D(function(){return B(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox,n=M&&M.box&&M.box.length;return e.allowVerticalPlacement&&!n&&a.numVerticalGlyphVertices>0&&r?B(r,t.WritingMode.vertical):{box:null,offscreen:null}}),M&&(k=M.box,A=M.offscreen);var N=I(M&&M.box);if(!k&&h.prevPlacement){var j=h.prevPlacement.variableOffsets[a.crossTileID];j&&(h.variableOffsets[a.crossTileID]=j,h.markUsedJustification(e,j.anchor,a,N))}}else{var V=function(t,n){var i=h.collisionIndex.placeCollisionBox(t,f.get("text-allow-overlap"),o,r,b.predicate);return i&&i.box&&i.box.length&&(h.markUsedOrientation(e,n,a),h.placedOrientations[a.crossTileID]=n),i};D(function(){return V(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox;return e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&r?V(r,t.WritingMode.vertical):{box:null,offscreen:null}}),I(M&&M.box&&M.box.length)}}k=(m=M)&&m.box&&m.box.length>0,A=m&&m.offscreen;var U=u.textCircles;if(U){var q=e.text.placedSymbolArray.get(a.centerJustifiedTextSymbolIndex),H=t.evaluateSizeForFeature(e.textSizeData,p,q);E=h.collisionIndex.placeCollisionCircles(U,f.get("text-allow-overlap"),i,o,q,e.lineVertexArray,e.glyphOffsetArray,H,r,n,s,w,b.predicate),k=f.get("text-allow-overlap")||E.circles.length>0,A=A&&E.offscreen}u.iconFeatureIndex&&(O=u.iconFeatureIndex),u.iconBox&&(T=(L=h.collisionIndex.placeCollisionBox(u.iconBox,f.get("icon-allow-overlap"),o,r,b.predicate)).box.length>0,A=A&&L.offscreen);var G=d||0===a.numHorizontalGlyphVertices&&0===a.numVerticalGlyphVertices,Y=g||0===a.numIconVertices;G||Y?Y?G||(T=T&&k):k=T&&k:T=k=T&&k,k&&m&&m.box&&(S&&S.box&&P?h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,P,b.ID):h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID)),T&&L&&h.collisionIndex.insertCollisionBox(L.box,f.get("icon-ignore-placement"),e.bucketInstanceId,O,b.ID),k&&E&&h.collisionIndex.insertCollisionCircles(E.circles,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID),h.placements[a.crossTileID]=new fe(k||y,T||x,A||e.justReloaded),c[a.crossTileID]=!0}};if(k)for(var A=e.getSortedSymbolIndexes(this.transform.angle),M=A.length-1;M>=0;--M){var S=A[M];T(e.symbolInstances.get(S),e.collisionArrays[S])}else for(var E=0;E<e.symbolInstances.length;++E)T(e.symbolInstances.get(E),e.collisionArrays[E]);e.justReloaded=!1},ve.prototype.markUsedJustification=function(e,r,n,a){var i,o={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex};i=a===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:o[t.getAnchorJustification(r)];for(var s=0,l=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];s<l.length;s+=1){var c=l[s];c>=0&&(e.text.placedSymbolArray.get(c).crossTileID=i>=0&&c!==i?0:n.crossTileID)}},ve.prototype.markUsedOrientation=function(e,r,n){for(var a=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,i=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1){var l=s[o];e.text.placedSymbolArray.get(l).placedOrientation=a}n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=i)},ve.prototype.commit=function(t){this.commitTime=t;var e=this.prevPlacement,r=!1,n=e&&0!==this.fadeDuration?(this.commitTime-e.commitTime)/this.fadeDuration:1,a=e?e.opacities:{},i=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=a[s];c?(this.opacities[s]=new he(c,n,l.text,l.icon),r=r||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new he(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var u in a){var h=a[u];if(!this.opacities[u]){var f=new he(h,n,!1,!1);f.isHidden()||(this.opacities[u]=f,r=r||h.text.placed||h.icon.placed)}}for(var p in i)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=i[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},ve.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,a=e;n<a.length;n+=1){var i=a[n],o=i.getBucket(t);o&&i.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,i.collisionBoxArray)}},ve.prototype.updateBucketOpacities=function(e,r,n){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasCollisionBoxData()&&e.collisionBox.collisionVertexArray.clear(),e.hasCollisionCircleData()&&e.collisionCircle.collisionVertexArray.clear();var a=e.layers[0].layout,i=new he(null,0,!1,!1,!0),o=a.get("text-allow-overlap"),s=a.get("icon-allow-overlap"),l=a.get("text-variable-anchor"),c="map"===a.get("text-rotation-alignment"),u="map"===a.get("text-pitch-alignment"),h=new he(null,0,o&&(s||!e.hasIconData()||a.get("icon-optional")),s&&(o||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasCollisionBoxData()||e.hasCollisionCircleData())&&e.deserializeCollisionBoxes(n);for(var f=0;f<e.symbolInstances.length;f++){var p=e.symbolInstances.get(f),d=p.numHorizontalGlyphVertices,g=p.numVerticalGlyphVertices,v=p.crossTileID,m=r[v],y=this.opacities[v];m?y=i:y||(y=h,this.opacities[v]=y),r[v]=!0;var x=d>0||g>0,b=p.numIconVertices>0;if(x){for(var _=Ae(y.text),w=(d+g)/4,k=0;k<w;k++)e.text.opacityVertexArray.emplaceBack(_);var T=y.text.isHidden()?1:0,A=this.placedOrientations[p.crossTileID],M=A===t.WritingMode.horizontal||A===t.WritingMode.horizontalOnly?1:0,S=A===t.WritingMode.vertical?1:0;[p.rightJustifiedTextSymbolIndex,p.centerJustifiedTextSymbolIndex,p.leftJustifiedTextSymbolIndex].forEach(function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=T||S)}),p.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(p.verticalPlacedTextSymbolIndex).hidden=T||M);var E=this.variableOffsets[p.crossTileID];E&&this.markUsedJustification(e,E.anchor,p,A);var L=this.placedOrientations[p.crossTileID];L&&(this.markUsedJustification(e,"left",p,L),this.markUsedOrientation(e,L,p))}if(b){for(var C=Ae(y.icon),P=0;P<p.numIconVertices/4;P++)e.icon.opacityVertexArray.emplaceBack(C);e.icon.placedSymbolArray.get(f).hidden=y.icon.isHidden()}if(e.hasCollisionBoxData()||e.hasCollisionCircleData()){var O=e.collisionArrays[f];if(O){if(O.textBox){var z=new t.Point(0,0),I=!0;if(l){var D=this.variableOffsets[v];D?(z=ge(D.anchor,D.width,D.height,D.radialOffset,D.textBoxScale),c&&z._rotate(u?this.transform.angle:-this.transform.angle)):I=!1}me(e.collisionBox.collisionVertexArray,y.text.placed,!I,z.x,z.y)}O.iconBox&&me(e.collisionBox.collisionVertexArray,y.icon.placed,!1);var R=O.textCircles;if(R&&e.hasCollisionCircleData())for(var F=0;F<R.length;F+=5){var B=m||0===R[F+4];me(e.collisionCircle.collisionVertexArray,y.text.placed,B)}}}}e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasCollisionBoxData()&&e.collisionBox.collisionVertexBuffer&&e.collisionBox.collisionVertexBuffer.updateData(e.collisionBox.collisionVertexArray),e.hasCollisionCircleData()&&e.collisionCircle.collisionVertexBuffer&&e.collisionCircle.collisionVertexBuffer.updateData(e.collisionCircle.collisionVertexArray)},ve.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},ve.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},ve.prototype.stillRecent=function(t){return this.commitTime+this.fadeDuration>t},ve.prototype.setStale=function(){this.stale=!0};var ye=Math.pow(2,25),xe=Math.pow(2,24),be=Math.pow(2,17),_e=Math.pow(2,16),we=Math.pow(2,9),ke=Math.pow(2,8),Te=Math.pow(2,1);function Ae(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*ye+e*xe+r*be+e*_e+r*we+e*ke+r*Te+e}var Me=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Me.prototype.continuePlacement=function(t,e,r,n,a){for(;this._currentTileIndex<t.length;){var i=t[this._currentTileIndex];if(e.placeLayerTile(n,i,r,this._seenCrossTileIDs),this._currentTileIndex++,a())return!0}};var Se=function(t,e,r,n,a,i,o){this.placement=new ve(t,a,i,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Se.prototype.isDone=function(){return this._done},Se.prototype.continuePlacement=function(e,r,n){for(var a=this,i=t.browser.now(),o=function(){var e=t.browser.now()-i;return!a._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Me),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Se.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Ee=512/t.EXTENT/2,Le=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var a=e.get(n),i=a.key;this.indexedSymbolInstances[i]||(this.indexedSymbolInstances[i]=[]),this.indexedSymbolInstances[i].push({crossTileID:a.crossTileID,coord:this.getScaledCoordinates(a,t)})}};Le.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,a=Ee/Math.pow(2,n);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*a),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*a)}},Le.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),a=0;a<t.length;a++){var i=t.get(a);if(!i.crossTileID){var o=this.indexedSymbolInstances[i.key];if(o)for(var s=this.getScaledCoordinates(i,e),l=0,c=o;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=n&&Math.abs(u.coord.y-s.y)<=n&&!r[u.crossTileID]){r[u.crossTileID]=!0,i.crossTileID=u.crossTileID;break}}}}};var Ce=function(){this.maxCrossTileID=0};Ce.prototype.generate=function(){return++this.maxCrossTileID};var Pe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Pe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],a={};for(var i in n){var o=n[i];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),a[o.tileID.key]=o}this.indexes[r]=a}this.lng=t},Pe.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0;n<e.symbolInstances.length;n++)e.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var a=this.usedCrossTileIDs[t.overscaledZ];for(var i in this.indexes){var o=this.indexes[i];if(Number(i)>t.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,a)}else{var c=o[t.scaledTo(Number(i)).key];c&&c.findMatches(e.symbolInstances,t,a)}}for(var u=0;u<e.symbolInstances.length;u++){var h=e.symbolInstances.get(u);h.crossTileID||(h.crossTileID=r.generate(),a[h.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new Le(t,e.symbolInstances,e.bucketInstanceId),!0},Pe.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,a=e.indexedSymbolInstances[r];n<a.length;n+=1){var i=a[n];delete this.usedCrossTileIDs[t][i.crossTileID]}},Pe.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var a in n)t[n[a].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[a]),delete n[a],e=!0)}return e};var Oe=function(){this.layerIndexes={},this.crossTileIDs=new Ce,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Oe.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Pe);var a=!1,i={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(a=!0),i[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(i)&&(a=!0),a},Oe.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var ze=function(e,r){return t.emitValidationErrors(e,r&&r.filter(function(t){return"source.canvas"!==t.identifier}))},Ie=t.pick(Nt,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),De=t.pick(Nt,["setCenter","setZoom","setBearing","setPitch"]),Re=function(e){function r(n,a){var i=this;void 0===a&&(a={}),e.call(this),this.map=n,this.dispatcher=new T((Dt||(Dt=new It),Dt),this),this.imageManager=new f,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,a.localIdeographFontFamily),this.lineAtlas=new k(256,512),this.crossTileSymbolIndex=new Oe,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginAvailability(function(t){for(var e in o.dispatcher.broadcast("loadRTLTextPlugin",t.pluginURL,t.completionCallback),o.sourceCaches)o.sourceCaches[e].reload()}),this.on("data",function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=i.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in i._layers){var a=i._layers[n];a.source===r.id&&i._validateLayer(a)}}}})}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var a="boolean"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var i=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(i,function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,a)})},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.browser.frame(function(){n._request=null,n._load(e,!1!==r.validate)})},r.prototype._load=function(e,r){var n=this;if(!r||!ze(this,t.validateStyle(e))){for(var a in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(a,e.sources[a],{validate:!1});e.sprite?this._spriteRequest=function(e,r,n){var a,i,o,s=t.browser.devicePixelRatio>1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),function(t,e){l=null,o||(o=t,a=e,u())}),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),function(t,e){c=null,o||(o=t,i=e,u())});function u(){if(o)n(o);else if(a&&i){var e=t.browser.getImageData(i),r={};for(var s in a){var l=a[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,g=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,g,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:g,pixelRatio:d,sdf:p}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e.sprite,this.map._requestManager,function(e,r){if(n._spriteRequest=null,e)n.fire(new t.ErrorEvent(e));else if(r)for(var a in r)n.imageManager.addImage(a,r[a]);n.imageManager.setLoaded(!0),n.fire(new t.Event("data",{dataType:"style"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=Bt(this.stylesheet.layers);this._order=i.map(function(t){return t.id}),this._layers={};for(var o=0,s=i;o<s.length;o+=1){var l=s[o];(l=t.createStyleLayer(l)).setEventedParent(this,{layer:{id:l.id}}),this._layers[l.id]=l}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var a=r.getSource();("geojson"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+a.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var a=n[r],i=this._layers[a];"custom"!==i.type&&e.push(i.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);for(var i in(n.length||a.length)&&this._updateWorkerLayers(n,a),this._updatedSources){var o=this._updatedSources[i];"reload"===o?this._reloadSource(i):"clear"===o&&this._clearSource(i)}for(var s in this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var c=0,u=this._order;c<u.length;c+=1){var h=u[c],f=this._layers[h];f.recalculate(e),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event("data",{dataType:"style"}))}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),ze(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=Bt(e.layers);var n=function(e,r){if(!e)return[{command:Nt.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Nt.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Nt.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Nt.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Nt.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Nt.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Nt.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Nt.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Nt.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Nt.setLight,args:[r.light]});var a={},i=[];!function(e,r,n,a){var i;for(i in r=r||{},e=e||{})e.hasOwnProperty(i)&&(r.hasOwnProperty(i)||Vt(i,n,a));for(i in r)r.hasOwnProperty(i)&&(e.hasOwnProperty(i)?t.deepEqual(e[i],r[i])||("geojson"===e[i].type&&"geojson"===r[i].type&&qt(e,r,i)?n.push({command:Nt.setGeoJSONSourceData,args:[i,r[i].data]}):Ut(i,r,n,a)):jt(i,r,n))}(e.sources,r.sources,i,a);var o=[];e.layers&&e.layers.forEach(function(t){a[t.source]?n.push({command:Nt.removeLayer,args:[t.id]}):o.push(t)}),n=n.concat(i),function(e,r,n){r=r||[];var a,i,o,s,l,c,u,h=(e=e||[]).map(Gt),f=r.map(Gt),p=e.reduce(Yt,{}),d=r.reduce(Yt,{}),g=h.slice(),v=Object.create(null);for(a=0,i=0;a<h.length;a++)o=h[a],d.hasOwnProperty(o)?i++:(n.push({command:Nt.removeLayer,args:[o]}),g.splice(g.indexOf(o,i),1));for(a=0,i=0;a<f.length;a++)o=f[f.length-1-a],g[g.length-1-a]!==o&&(p.hasOwnProperty(o)?(n.push({command:Nt.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-i),1)):i++,c=g[g.length-a],n.push({command:Nt.addLayer,args:[d[o],c]}),g.splice(g.length-a,0,o),v[o]=!0);for(a=0;a<f.length;a++)if(s=p[o=f[a]],l=d[o],!v[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s["source-layer"],l["source-layer"])&&t.deepEqual(s.type,l.type)){for(u in Ht(s.layout,l.layout,n,o,null,Nt.setLayoutProperty),Ht(s.paint,l.paint,n,o,null,Nt.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Nt.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Nt.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Ht(s[u],l[u],n,o,u.slice(6),Nt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Nt.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Ht(s[u],l[u],n,o,u.slice(6),Nt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Nt.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:Nt.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:Nt.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn("Unable to compute style diff:",t),n=[{command:Nt.setStyle,args:[r]}]}return n}(this.serialize(),e).filter(function(t){return!(t.command in De)});if(0===n.length)return!1;var a=n.filter(function(t){return!(t.command in Ie)});if(a.length>0)throw new Error("Unimplemented: "+a.map(function(t){return t.command}).join(", ")+".");return n.forEach(function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)}),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var a=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var i=this.sourceCaches[e]=new Ct(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}}),i.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=e.id;if(this.getLayer(a))this.fire(new t.ErrorEvent(new Error('Layer with id "'+a+'" already exists on this map')));else{var i;if("custom"===e.type){if(ze(this,t.validateCustomStyleLayer(e)))return;i=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,"layers."+a,e,{arrayIndex:-1},n))return;i=t.createStyleLayer(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var a=r?this._order.indexOf(r):this._order.length;r&&-1===a?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(a,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===r&&a.maxzoom===n||(null!=r&&(a.minzoom=r),null!=n&&(a.maxzoom=n),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=this.getLayer(e);if(a){if(!t.deepEqual(a.filter,r))return null==r?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,"layers."+a.id+".filter",r,null,n)||(a.filter=t.clone$1(r),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n,a),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getPaintProperty(r),n)||(i.setPaintProperty(r,n,a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=e.sourceLayer,i=this.sourceCaches[n],o=parseInt(e.id,10);if(void 0!==i){var s=i.getSource().type;"geojson"===s&&a?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==s||a?isNaN(o)||o<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative."))):i.setFeatureState(a,o,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=this.sourceCaches[n];if(void 0!==a){var i=a.getSource().type,o="vector"===i?e.sourceLayer:void 0,s=parseInt(e.id,10);"vector"!==i||o?void 0!==e.id&&isNaN(s)||s<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be non-negative."))):r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):a.removeFeatureState(o,s,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,a=this.sourceCaches[r],i=parseInt(e.id,10);if(void 0!==a)if("vector"!==a.getSource().type||n){if(!(isNaN(i)||i<0))return a.getFeatureState(n,i);this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative.")))}else this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._serializeLayers(this._order)},function(t){return void 0!==t})},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},a=[],i=this._order.length-1;i>=0;i--){var o=this._order[i];if(r(o)){n[o]=i;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][o];if(c)for(var u=0,h=c;u<h.length;u+=1){var f=h[u];a.push(f)}}}}a.sort(function(t,e){return e.intersectionZ-t.intersectionZ});for(var p=[],d=this._order.length-1;d>=0;d--){var g=this._order[d];if(r(g))for(var v=a.length-1;v>=0;v--){var m=a[v].feature;if(n[m.layer.id]<d)break;p.push(m),a.pop()}else for(var y=0,x=t;y<x.length;y+=1){var b=x[y][g];if(b)for(var _=0,w=b;_<w.length;_+=1){var k=w[_];p.push(k.feature)}}}return p},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",r.filter,null,r);var a={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var i=0,o=r.layers;i<o.length;i+=1){var s=o[i],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];a[l.source]=!0}}var c=[];for(var u in this.sourceCaches)r.layers&&!a[u]||c.push(F(this.sourceCaches[u],this._layers,e,r,n));return this.placement&&c.push(function(t,e,r,n,a,i){for(var o={},s=a.queryRenderedSymbols(r),l=[],c=0,u=Object.keys(s).map(Number);c<u.length;c+=1){var h=u[c];l.push(i[h])}l.sort(B);for(var f=function(){var e=d[p],r=e.featureIndex.lookupSymbolFeatures(s[e.bucketInstanceId],e.bucketIndex,e.sourceLayerIndex,n.filter,n.layers,t);for(var a in r){var i=o[a]=o[a]||[],l=r[a];l.sort(function(t,r){var n=e.featureSortOrder;if(n){var a=n.indexOf(t.featureIndex);return n.indexOf(r.featureIndex)-a}return r.featureIndex-t.featureIndex});for(var c=0,u=l;c<u.length;c+=1){var h=u[c];i.push(h)}}},p=0,d=l;p<d.length;p+=1)f();var g=function(r){o[r].forEach(function(n){var a=n.feature,i=t[r],o=e[i.source].getFeatureState(a.layer["source-layer"],a.id);a.source=a.layer.source,a.layer["source-layer"]&&(a.sourceLayer=a.layer["source-layer"]),a.state=o})};for(var v in o)g(v);return o}(this._layers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],a={},i=0;i<r.length;i++){var o=r[i],s=o.tileID.canonical.key;a[s]||(a[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called "'+t+'" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),a=!1;for(var i in e)if(!t.deepEqual(e[i],n[i])){a=!0;break}if(a){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,a,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&ze(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},a)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginAvailable",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[e].clearTiles();this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,a){for(var i=!1,o=!1,s={},l=0,c=this._order;l<c.length;l+=1){var u=c[l],h=this._layers[u];if("symbol"===h.type){if(!s[h.source]){var f=this.sourceCaches[h.source];s[h.source]=f.getRenderableIds(!0).map(function(t){return f.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var p=this.crossTileSymbolIndex.addLayer(h,s[h.source],e.center.lng);i=i||p}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged||0===n;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now()))&&(this.pauseablePlacement=new Se(e,this._order,d,r,n,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,s),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),o=!0),i&&this.pauseablePlacement.placement.setStale()),o||i)for(var g=0,v=this._order;g<v.length;g+=1){var m=v[g],y=this._layers[m];"symbol"===y.type&&this.placement.updateLayerOpacities(y,s[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);Re.getSourceType=function(t){return I[t]},Re.setSourceType=function(t,e){I[t]=e},Re.registerForPluginAvailability=t.registerForPluginAvailability;var Fe=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Be=cr("#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","#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;}"),Ne=cr("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);}"),je=cr("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);}"),Ve=cr("varying vec3 v_data;\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=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;\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);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,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,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);}"),Ue=cr("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);}"),qe=cr("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;}"),He=cr("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;}"),Ge=cr("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,0.0,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;}"),Ye=cr("uniform float u_overscale_factor;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;void main() {float alpha=0.5;vec4 color=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {color=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {color*=.2;}float extrude_scale_length=length(v_extrude_scale);float extrude_length=length(v_extrude)*extrude_scale_length;float stroke_width=15.0*extrude_scale_length/u_overscale_factor;float radius=v_radius*extrude_scale_length;float distance_to_edge=abs(extrude_length-radius);float opacity_t=smoothstep(-stroke_width,0.0,-distance_to_edge);gl_FragColor=opacity_t*color;}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;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,0.0,1.0);highp float padding_factor=1.2;gl_Position.xy+=a_extrude*u_extrude_scale*padding_factor*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;v_radius=abs(a_extrude.y);v_extrude=a_extrude*padding_factor;v_extrude_scale=u_extrude_scale*u_camera_to_center_distance*collision_perspective_ratio;}"),We=cr("uniform highp vec4 u_color;void main() {gl_FragColor=u_color;}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),Xe=cr("#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);}"),Ze=cr("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;}"),Je=cr("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 vec4 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\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;float pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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;}"),Ke=cr("uniform 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 vec4 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\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;float pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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);}"),Qe=cr("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;varying 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;base=max(0.0,base);height=max(0.0,height);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;}"),$e=cr("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\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\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 vec4 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;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\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\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 pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);base=max(0.0,base);height=max(0.0,height);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;}"),tr=cr("#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 float u_maxzoom;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;return (data.r+data.g*256.0+data.b*256.0*256.0)/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 exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*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;}"),er=cr("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;}"),rr=cr("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;float 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;v_width2=vec2(outset,inset);}"),nr=cr("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 float v_lineprogress;\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,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\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_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\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;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;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;float 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;v_width2=vec2(outset,inset);}"),ar=cr("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec4 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 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 pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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 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,1.0);float x_b=mod(v_linesofar/pattern_size_b.x,1.0);float y_a=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_a.y+2.0)/2.0)/pattern_size_a.y);float y_b=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_b.y+2.0)/2.0)/pattern_size_b.y);vec2 pos_a=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,vec2(x_a,y_a));vec2 pos_b=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,vec2(x_b,y_b));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;\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 vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_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;float 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;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);}"),ir=cr("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;float 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;v_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);}"),or=cr("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;}"),sr=cr("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 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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,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),0,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,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,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;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),lr=cr("#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 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;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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,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),0,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,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 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 interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=vec2(tex.x,tex.y);v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}");function cr(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,function(t,e,r,a,i){return n[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"}),vertexSource:e=e.replace(r,function(t,e,r,a,i){var o="float"===a?"vec2":"vec4",s=i.match(/color/)?"color":o;return n[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+i+" = a_"+i+";\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = a_"+i+";\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"})}}var ur=Object.freeze({prelude:Be,background:Ne,backgroundPattern:je,circle:Ve,clippingMask:Ue,heatmap:qe,heatmapTexture:He,collisionBox:Ge,collisionCircle:Ye,debug:We,fill:Xe,fillOutline:Ze,fillOutlinePattern:Je,fillPattern:Ke,fillExtrusion:Qe,fillExtrusionPattern:$e,hillshadePrepare:tr,hillshade:er,line:rr,lineGradient:nr,linePattern:ar,lineSDF:ir,raster:or,symbolIcon:sr,symbolSDF:lr}),hr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};hr.prototype.bind=function(t,e,r,n,a,i,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==a||this.boundVertexOffset!==i||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,a,i,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),a&&a.dynamicDraw&&a.bind(),s&&s.bind())},hr.prototype.freshBind=function(t,e,r,n,a,i,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=a,this.boundDynamicVertexBuffer=i,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var h=l;h<s;h++)u.disableVertexAttribArray(h)}e.enableAttributes(u,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(u,t);i&&i.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,a);for(var d=0,g=r;d<g.length;d+=1){var v=g[d];v.bind(),v.setVertexAttribPointers(u,t,a)}i&&(i.bind(),i.setVertexAttribPointers(u,t,a)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,a)),c.currentNumAttributes=l},hr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var fr=function(t,e,r,n,a){var i=t.gl;this.program=i.createProgram();var o=r.defines();a&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(Be.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(Be.vertexSource,e.vertexSource).join("\n"),c=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var h=r.layoutAttributes||[],f=0;f<h.length;f++)i.bindAttribLocation(this.program,f,h[f].name);i.linkProgram(this.program),this.numAttributes=i.getProgramParameter(this.program,i.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var g=i.getActiveAttrib(this.program,d);g&&(this.attributes[g.name]=i.getAttribLocation(this.program,g.name))}for(var v=i.getProgramParameter(this.program,i.ACTIVE_UNIFORMS),m=0;m<v;m++){var y=i.getActiveUniform(this.program,m);y&&(p[y.name]=i.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r.getUniforms(t,p)};function pr(e,r,n){var a=1/ce(n,1,r.transform.tileZoom),i=Math.pow(2,n.tileID.overscaledZ),o=n.tileSize*Math.pow(2,r.transform.tileZoom)/i,s=o*(n.tileID.canonical.x+n.tileID.wrap*i),l=o*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[t.browser.devicePixelRatio,a,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[s>>16,l>>16],u_pixel_coord_lower:[65535&s,65535&l]}}fr.prototype.draw=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v,m=t.gl;for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(a),t.setCullFace(i),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(v={},v[m.LINES]=2,v[m.TRIANGLES]=3,v[m.LINE_STRIP]=1,v)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],k=w.vaos||(w.vaos={});(k[s]||(k[s]=new hr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),m.drawElements(e,w.primitiveLength*x,m.UNSIGNED_SHORT,w.primitiveOffset*x*2)}};var dr=function(e,r,n,a){var i=r.style.light,o=i.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===i.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=i.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:i.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:a}},gr=function(e,r,n,a,i,o,s){return t.extend(dr(e,r,n,a),pr(o,r,s),{u_height_factor:-Math.pow(2,i.overscaledZ)/s.tileSize/8})},vr=function(t){return{u_matrix:t}},mr=function(e,r,n,a){return t.extend(vr(e),pr(n,r,a))},yr=function(t,e){return{u_matrix:t,u_world:e}},xr=function(e,r,n,a,i){return t.extend(mr(e,r,n,a),{u_world:i})},br=function(e,r,n,a){var i,o,s=e.transform;if("map"===a.paint.get("circle-pitch-alignment")){var l=ce(n,1,s.zoom);i=!0,o=[l,l]}else i=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===a.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,a.paint.get("circle-translate"),a.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},_r=function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},wr=function(t,e,r){var n=ce(r,1,e.zoom),a=Math.pow(2,e.zoom-r.tileID.overscaledZ),i=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*a),e.pixelsToGLUnits[1]/(n*a)],u_overscale_factor:i}},kr=function(t,e){return{u_matrix:t,u_color:e}},Tr=function(t){return{u_matrix:t}},Ar=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ce(e,1,r),u_intensity:n}},Mr=function(t,e,r){var n=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),i=r.paint.get("hillshade-accent-color"),o=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(o-=t.transform.angle);var s=!t.options.moving;return{u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),s),u_image:0,u_latrange:Er(t,e.tileID),u_light:[r.paint.get("hillshade-exaggeration"),o],u_shadow:n,u_highlight:a,u_accent:i}},Sr=function(e,r){var n=e.dem.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[n,n],u_zoom:e.tileID.overscaledZ,u_maxzoom:r}};function Er(e,r){var n=Math.pow(2,r.canonical.z),a=r.canonical.y;return[new t.MercatorCoordinate(0,a/n).toLngLat().lat,new t.MercatorCoordinate(0,(a+1)/n).toLngLat().lat]}var Lr=function(e,r,n){var a=e.transform;return{u_matrix:Ir(e,r,n),u_ratio:1/ce(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Cr=function(e,r,n){return t.extend(Lr(e,r,n),{u_image:0})},Pr=function(e,r,n,a){var i=e.transform,o=zr(r,i);return{u_matrix:Ir(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ce(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[t.browser.devicePixelRatio,o,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Or=function(e,r,n,a,i){var o=e.transform,s=e.lineAtlas,l=zr(r,o),c="round"===n.layout.get("line-cap"),u=s.getDash(a.from,c),h=s.getDash(a.to,c),f=u.width*i.fromScale,p=h.width*i.toScale;return t.extend(Lr(e,r,n),{u_patternscale_a:[l/f,-u.height/2],u_patternscale_b:[l/p,-h.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:i.t})};function zr(t,e){return 1/ce(t,1,e.tileZoom)}function Ir(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Dr=function(t,e,r,n,a){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*a.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get("raster-brightness-min"),u_brightness_high:a.paint.get("raster-brightness-max"),u_saturation_factor:(o=a.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(i=a.paint.get("raster-contrast"),i>0?1/(1-i):1+i),u_spin_weights:function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(a.paint.get("raster-hue-rotate"))};var i,o};var Rr=function(t,e,r,n,a,i,o,s,l,c){var u=a.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:i,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Fr=function(e,r,n,a,i,o,s,l,c,u,h){var f=i.transform;return t.extend(Rr(e,r,n,a,i,o,s,l,c,u),{u_gamma_scale:a?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Br=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Nr=function(e,r,n,a,i,o){return t.extend(function(t,e,r,n){var a=r.imageManager.getPattern(t.from),i=r.imageManager.getPattern(t.to),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:i.tl,u_pattern_br_b:i.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:i.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ce(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(a,o,n,i),{u_matrix:e,u_opacity:r})},jr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:_r,collisionCircle:_r,debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1f(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1f(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1f(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Vr(e,r){for(var n=e.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),a=0;a<n.length;a++){var i={},o=n[a],s=n.slice(a+1);Ur(o.tileID.wrapped(),o.tileID,s,new t.OverscaledTileID(0,o.tileID.wrap+1,0,0,0),i),o.setMask(i,r)}}function Ur(e,r,n,a,i){for(var o=0;o<n.length;o++){var s=n[o];if(a.isLessThan(s.tileID))break;if(r.key===s.tileID.key)return;if(s.tileID.isChildOf(r)){for(var l=r.children(1/0),c=0;c<l.length;c++)Ur(e,l[c],n.slice(o),a,i);return}}var u=r.overscaledZ-e.overscaledZ,h=new t.CanonicalTileID(u,r.canonical.x-(e.canonical.x<<u),r.canonical.y-(e.canonical.y<<u));i[h.key]=i[h.key]||h}function qr(t,e,r,n,a){for(var i=t.context,o=i.gl,s=a?t.useProgram("collisionCircle"):t.useProgram("collisionBox"),l=0;l<n.length;l++){var c=n[l],u=e.getTile(c),h=u.getBucket(r);if(h){var f=a?h.collisionCircle:h.collisionBox;f&&s.draw(i,a?o.TRIANGLES:o.LINES,At.disabled,Mt.disabled,t.colorModeForRenderPass(),Et.disabled,wr(c.posMatrix,t.transform,u),r.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,null,t.transform.zoom,null,null,f.collisionVertexBuffer)}}}var Hr=t.identity(new Float32Array(16));function Gr(e,r,n,a,i,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,c=-(s.verticalAlign-.5)*n,u=t.evaluateRadialOffset(e,a);return new t.Point((l/i+u[0])*o,(c/i+u[1])*o)}function Yr(e,r,n,a,i,o,s,l,c,u){var h=e.text.placedSymbolArray,f=e.text.dynamicLayoutVertexArray;f.clear();for(var p=0;p<h.length;p++){var d=h.get(p),g=e.allowVerticalPlacement&&!d.placedOrientation,v=d.hidden||!d.crossTileID||g?null:a[d.crossTileID];if(v){var m=new t.Point(d.anchorX,d.anchorY),y=Jt(m,n?l:s),x=.5+o.cameraToCenterDistance/y.signedDistanceFromCamera*.5,b=i.evaluateSizeForFeature(e.textSizeData,u,d)*x/t.ONE_EM;n&&(b*=e.tilePixelRatio/c);for(var _=v.width,w=v.height,k=v.radialOffset,T=v.textBoxScale,A=Gr(v.anchor,_,w,k,T,b),M=n?Jt(m.add(A),s).point:y.point.add(r?A.rotate(-o.angle):A),S=e.allowVerticalPlacement&&d.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,E=0;E<d.numGlyphs;E++)t.addDynamicAttributes(f,M,S)}else ie(d.numGlyphs,f)}e.text.dynamicLayoutVertexBuffer.updateData(f)}function Wr(e){var r=e.text.placedSymbolArray,n=e.text.dynamicLayoutVertexArray;n.clear();for(var a=0;a<r.length;a++){var i=r.get(a);if(i.hidden||!i.placedOrientation)ie(i.numGlyphs,n);else for(var o=new t.Point(i.anchorX,i.anchorY),s=e.allowVerticalPlacement&&i.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,l=0;l<i.numGlyphs;l++)t.addDynamicAttributes(n,o,s)}e.text.dynamicLayoutVertexBuffer.updateData(n)}function Xr(e,r,n,a,i,o,s,l,c,u,h,f,p){for(var d,g,v=e.context,m=v.gl,y=e.transform,x="map"===l,b="map"===c,_=x&&"point"!==n.layout.get("symbol-placement"),w=x&&!b&&!_,k=void 0!==n.layout.get("symbol-sort-key").constantOr(1),T=e.depthModeForSublayer(0,At.ReadOnly),A=n.layout.get("text-variable-anchor"),M=[],S=0,E=a;S<E.length;S+=1){var L=E[S],C=r.getTile(L),P=C.getBucket(n);if(P){var O=i?P.text:P.icon;if(O&&O.segments.get().length){var z=O.programConfigurations.get(n.id),I=i||P.sdfIcons,D=i?P.textSizeData:P.iconSizeData;d||(d=e.useProgram(I?"symbolSDF":"symbolIcon",z),g=t.evaluateSizeForZoom(D,y.zoom)),v.activeTexture.set(m.TEXTURE0);var R=void 0,F=void 0,B=void 0;if(i)F=C.glyphAtlasTexture,B=m.LINEAR,R=C.glyphAtlasTexture.size;else{var N=1!==n.layout.get("icon-size").constantOr(0)||P.iconsNeedLinear,j=b||0!==y.pitch;F=C.imageAtlasTexture,B=I||e.options.rotating||e.options.zooming||N||j?m.LINEAR:m.NEAREST,R=C.imageAtlasTexture.size}var V=ce(C,1,e.transform.zoom),U=Xt(L.posMatrix,b,x,e.transform,V),q=Zt(L.posMatrix,b,x,e.transform,V);if(_)Qt(P,L.posMatrix,e,i,U,q,b,u);else if(i&&g&&A){var H=Math.pow(2,y.zoom-C.tileID.overscaledZ);Yr(P,x,b,p,t.symbolSize,y,U,L.posMatrix,H,g)}else i&&g&&P.allowVerticalPlacement&&Wr(P);var G=e.translatePosMatrix(L.posMatrix,C,o,s),Y=_||i&&A?Hr:U,W=e.translatePosMatrix(q,C,o,s,!0),X=I&&0!==n.paint.get(i?"text-halo-width":"icon-halo-width").constantOr(1),Z={program:d,buffers:O,uniformValues:I?Fr(D.kind,g,w,b,e,G,Y,W,i,R,!0):Rr(D.kind,g,w,b,e,G,Y,W,i,R),atlasTexture:F,atlasInterpolation:B,isSDF:I,hasHalo:X};if(k)for(var J=0,K=O.segments.get();J<K.length;J+=1){var Q=K[J];M.push({segments:new t.SegmentVector([Q]),sortKey:Q.sortKey,state:Z})}else M.push({segments:O.segments,sortKey:0,state:Z})}}}k&&M.sort(function(t,e){return t.sortKey-e.sortKey});for(var $=0,tt=M;$<tt.length;$+=1){var et=tt[$],rt=et.state;if(rt.atlasTexture.bind(rt.atlasInterpolation,m.CLAMP_TO_EDGE),rt.isSDF){var nt=rt.uniformValues;rt.hasHalo&&(nt.u_is_halo=1,Zr(rt.buffers,et.segments,n,e,rt.program,T,h,f,nt)),nt.u_is_halo=0}Zr(rt.buffers,et.segments,n,e,rt.program,T,h,f,rt.uniformValues)}}function Zr(t,e,r,n,a,i,o,s,l){var c=n.context,u=c.gl;a.draw(c,u.TRIANGLES,i,o,s,Et.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Jr(t,e,r,n,a,i,o){var s,l,c,u,h,f=t.context.gl,p=r.paint.get("fill-pattern"),d=p&&p.constantOr(1),g=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=f.LINES):(l=d?"fillPattern":"fill",s=f.TRIANGLES);for(var v=0,m=n;v<m.length;v+=1){var y=m[v],x=e.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(f.TEXTURE0),x.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),_.updatePatternPaintBuffers(g));var k=p.constantOr(null);if(k&&x.imageAtlas){var T=x.imageAtlas.patternPositions[k.to],A=x.imageAtlas.patternPositions[k.from];T&&A&&_.setConstantPatternPositions(T,A)}var M=t.translatePosMatrix(y.posMatrix,x,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=b.indexBuffer2,h=b.segments2;var S=[f.drawingBufferWidth,f.drawingBufferHeight];c="fillOutlinePattern"===l&&d?xr(M,t,g,x,S):yr(M,S)}else u=b.indexBuffer,h=b.segments,c=d?mr(M,t,g,x):vr(M);w.draw(t.context,s,a,t.stencilModeForClipping(y),i,Et.disabled,c,r.id,b.layoutVertexBuffer,u,h,r.paint,t.transform.zoom,_)}}}}function Kr(t,e,r,n,a,i,o){for(var s=t.context,l=s.gl,c=r.paint.get("fill-extrusion-pattern"),u=c.constantOr(1),h=r.getCrossfadeParameters(),f=r.paint.get("fill-extrusion-opacity"),p=0,d=n;p<d.length;p+=1){var g=d[p],v=e.getTile(g),m=v.getBucket(r);if(m){var y=m.programConfigurations.get(r.id),x=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",y);u&&(t.context.activeTexture.set(l.TEXTURE0),v.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePatternPaintBuffers(h));var b=c.constantOr(null);if(b&&v.imageAtlas){var _=v.imageAtlas.patternPositions[b.to],w=v.imageAtlas.patternPositions[b.from];_&&w&&y.setConstantPatternPositions(_,w)}var k=t.translatePosMatrix(g.posMatrix,v,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),T=r.paint.get("fill-extrusion-vertical-gradient"),A=u?gr(k,t,T,f,g,h,v):dr(k,t,T,f);x.draw(s,s.gl.TRIANGLES,a,i,o,Et.backCCW,A,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,t.transform.zoom,y)}}}function Qr(t,e,r,n,a,i){var o=t.context,s=o.gl,l=e.fbo;if(l){var c=t.useProgram("hillshade");o.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.colorAttachment.get());var u=Mr(t,e,r);e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments?c.draw(o,s.TRIANGLES,n,a,i,Et.disabled,u,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments):c.draw(o,s.TRIANGLES,n,a,i,Et.disabled,u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}function $r(e,r,n,a,i,o,s){var l=e.context,c=l.gl;if(r.dem&&r.dem.data){var u=r.dem.dim,h=r.dem.stride,f=r.dem.getPixels();if(l.activeTexture.set(c.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){var p=r.demTexture;p.update(f,{premultiply:!1}),p.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,f,c.RGBA,{premultiply:!1}),r.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);l.activeTexture.set(c.TEXTURE0);var d=r.fbo;if(!d){var g=new t.Texture(l,{width:u,height:u,data:null},c.RGBA);g.bind(c.LINEAR,c.CLAMP_TO_EDGE),(d=r.fbo=l.createFramebuffer(u,u)).colorAttachment.set(g.texture)}l.bindFramebuffer.set(d.framebuffer),l.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(l,c.TRIANGLES,i,o,s,Et.disabled,Sr(r,a),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function tn(e,r,n,a,i){var o=a.paint.get("raster-fade-duration");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=i.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}function en(e,r,n){var a=e.context,i=a.gl,o=n.posMatrix,s=e.useProgram("debug"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass(),h="$debug";s.draw(a,i.LINE_STRIP,l,c,u,Et.disabled,kr(o,t.Color.red),h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);for(var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),g=r.getTile(n).tileSize,v=512/Math.min(g,512),m=function(t,e,r,n){n=n||1;var a,i,o,s,l,c,u,h,f=[];for(a=0,i=t.length;a<i;a++)if(l=rn[t[a]]){for(h=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?h=null:(c=e+l[1][o]*n,u=r-l[1][o+1]*n,h&&f.push(h.x,h.y,c,u),h={x:c,y:u});e+=l[0]*n}return f}(n.toString()+" "+d+"kb",50,200*v,5*v),y=new t.StructArrayLayout2i4,x=new t.StructArrayLayout2ui4,b=0;b<m.length;b+=2)y.emplaceBack(m[b],m[b+1]),x.emplaceBack(b,b+1);for(var _=a.createVertexBuffer(y,Fe.members),w=a.createIndexBuffer(x),k=t.SegmentVector.simpleSegment(0,0,y.length/2,y.length/2),T=t.EXTENT/(Math.pow(2,e.transform.zoom-n.overscaledZ)*g*v),A=[],M=-1;M<=1;M++)for(var S=-1;S<=1&&(0!==M||0!==S);S++)A.push([M,S]);for(var E=0;E<A.length;E++){var L=A[E];s.draw(a,i.LINES,l,c,u,Et.disabled,kr(t.translate([],o,[T*L[0],T*L[1],0]),t.Color.white),h,_,w,k)}s.draw(a,i.LINES,l,c,u,Et.disabled,kr(o,t.Color.black),h,_,w,k)}var rn={" ":[16,[]],"!":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'"':[16,[4,21,4,14,-1,-1,12,21,12,14]],"#":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],"%":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],"&":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],"'":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],"(":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],")":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],"*":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],"+":[26,[13,18,13,0,-1,-1,4,9,22,9]],",":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"-":[26,[4,9,22,9]],".":[10,[5,2,4,1,5,0,6,1,5,2]],"/":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],":":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],";":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"<":[24,[20,18,4,9,20,0]],"=":[26,[4,12,22,12,-1,-1,4,6,22,6]],">":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},nn={symbol:function(t,e,r,n,a){if("translucent"===t.renderPass){var i=Mt.disabled,o=t.colorModeForRenderPass();0!==r.paint.get("icon-opacity").constantOr(1)&&Xr(t,e,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),i,o,a),0!==r.paint.get("text-opacity").constantOr(1)&&Xr(t,e,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),i,o,a),e.map.showCollisionBoxes&&function(t,e,r,n){qr(t,e,r,n,!1),qr(t,e,r,n,!0)}(t,e,r,n)}},circle:function(e,r,n,a){if("translucent"===e.renderPass){var i=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0!==i.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,At.ReadOnly),f=Mt.disabled,p=e.colorModeForRenderPass(),d=[],g=0;g<a.length;g++){var v=a[g],m=r.getTile(v),y=m.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram("circle",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:br(e,v,m,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var k=w[_];d.push({segments:new t.SegmentVector([k]),sortKey:k.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort(function(t,e){return t.sortKey-e.sortKey});for(var T=0,A=d;T<A.length;T+=1){var M=A[T],S=M.state,E=S.programConfiguration,L=S.program,C=S.layoutVertexBuffer,P=S.indexBuffer,O=S.uniformValues,z=M.segments;L.draw(c,u.TRIANGLES,h,f,p,Et.disabled,O,n.id,C,P,z,n.paint,e.transform.zoom,E)}}}},heatmap:function(e,r,n,a){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var i=e.context,o=i.gl,s=e.depthModeForSublayer(0,At.ReadOnly),l=Mt.disabled,c=new St([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var a=r.heatmapFbo;if(a)n.bindTexture(n.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer);else{var i=n.createTexture();n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),a=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,a){var i=e.gl;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,r.width/4,r.height/4,0,i.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE,null),a.colorAttachment.set(n),e.extTextureHalfFloat&&i.checkFramebufferStatus(i.FRAMEBUFFER)!==i.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,a.colorAttachment.setDirty(),t(e,r,n,a))}(t,e,i,a)}}(i,e,n),i.clear({color:t.Color.transparent});for(var u=0;u<a.length;u++){var h=a[u];if(!r.hasRenderableParent(h)){var f=r.getTile(h),p=f.getBucket(n);if(p){var d=p.programConfigurations.get(n.id),g=e.useProgram("heatmap",d),v=e.transform.zoom;g.draw(i,o.TRIANGLES,s,l,c,Et.disabled,Ar(h.posMatrix,f,v,n.paint.get("heatmap-intensity")),n.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,n.paint,e.transform.zoom,d)}}}i.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,a=n.gl,i=r.heatmapFbo;if(i){n.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,i.colorAttachment.get()),n.activeTexture.set(a.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,a.RGBA)),o.bind(a.LINEAR,a.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,a.TRIANGLES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,function(e,r,n,a){var i=t.create();t.ortho(i,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:i,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:a,u_opacity:r.paint.get("heatmap-opacity")}}(e,r,0,1),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}}(e,n))},line:function(e,r,n,a){if("translucent"===e.renderPass){var i=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0!==i.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,At.ReadOnly),l=e.colorModeForRenderPass(),c=n.paint.get("line-dasharray"),u=n.paint.get("line-pattern"),h=u.constantOr(1),f=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=c?"lineSDF":h?"linePattern":f?"lineGradient":"line",g=e.context,v=g.gl,m=!0;if(f){g.activeTexture.set(v.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new t.Texture(g,n.gradient,v.RGBA)),y.bind(v.LINEAR,v.CLAMP_TO_EDGE)}for(var x=0,b=a;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!h||w.patternsLoaded()){var k=w.getBucket(n);if(k){var T=k.programConfigurations.get(n.id),A=e.context.program.get(),M=e.useProgram(d,T),S=m||M.program!==A,E=u.constantOr(null);if(E&&w.imageAtlas){var L=w.imageAtlas.patternPositions[E.to],C=w.imageAtlas.patternPositions[E.from];L&&C&&T.setConstantPatternPositions(L,C)}var P=c?Or(e,w,n,c,p):h?Pr(e,w,n,p):f?Cr(e,w,n):Lr(e,w,n);c&&(S||e.lineAtlas.dirty)?(g.activeTexture.set(v.TEXTURE0),e.lineAtlas.bind(g)):h&&(g.activeTexture.set(v.TEXTURE0),w.imageAtlasTexture.bind(v.LINEAR,v.CLAMP_TO_EDGE),T.updatePatternPaintBuffers(p)),M.draw(g,v.TRIANGLES,s,e.stencilModeForClipping(_),l,Et.disabled,P,n.id,k.layoutVertexBuffer,k.indexBuffer,k.segments,n.paint,e.transform.zoom,T),m=!1}}}}}},fill:function(e,r,n,a){var i=n.paint.get("fill-color"),o=n.paint.get("fill-opacity");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===i.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){var u=e.depthModeForSublayer(1,"opaque"===e.renderPass?At.ReadWrite:At.ReadOnly);Jr(e,r,n,a,u,s,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){var h=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,At.ReadOnly);Jr(e,r,n,a,h,s,!0)}}},"fill-extrusion":function(t,e,r,n){var a=r.paint.get("fill-extrusion-opacity");if(0!==a&&"translucent"===t.renderPass){var i=new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D);if(1!==a||r.paint.get("fill-extrusion-pattern").constantOr(1))Kr(t,e,r,n,i,Mt.disabled,St.disabled),Kr(t,e,r,n,i,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();Kr(t,e,r,n,i,Mt.disabled,o)}}},hillshade:function(t,e,r,n){if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var a=t.context,i=e.getSource().maxzoom,o=t.depthModeForSublayer(0,At.ReadOnly),s=Mt.disabled,l=t.colorModeForRenderPass(),c=0,u=n;c<u.length;c+=1){var h=u[c],f=e.getTile(h);f.needsHillshadePrepare&&"offscreen"===t.renderPass?$r(t,f,r,i,o,s,l):"translucent"===t.renderPass&&Qr(t,f,r,o,s,l)}a.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity"))for(var a=t.context,i=a.gl,o=e.getSource(),s=t.useProgram("raster"),l=Mt.disabled,c=t.colorModeForRenderPass(),u=n.length&&n[0].overscaledZ,h=!t.options.moving,f=0,p=n;f<p.length;f+=1){var d=p[f],g=t.depthModeForSublayer(d.overscaledZ-u,1===r.paint.get("raster-opacity")?At.ReadWrite:At.ReadOnly,i.LESS),v=e.getTile(d),m=t.transform.calculatePosMatrix(d.toUnwrapped(),h);v.registerFadeDuration(r.paint.get("raster-fade-duration"));var y=e.findLoadedParent(d,0),x=tn(v,y,e,r,t.transform),b=void 0,_=void 0,w="nearest"===r.paint.get("raster-resampling")?i.NEAREST:i.LINEAR;a.activeTexture.set(i.TEXTURE0),v.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),a.activeTexture.set(i.TEXTURE1),y?(y.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),_=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST);var k=Dr(m,_||[0,0],b||1,x,r);o instanceof P?s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):v.maskedBoundsBuffer&&v.maskedIndexBuffer&&v.segments?s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,v.maskedBoundsBuffer,v.maskedIndexBuffer,v.segments,r.paint,t.transform.zoom):s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0!==a){var i=t.context,o=i.gl,s=t.transform,l=s.tileSize,c=r.paint.get("background-pattern");if(!t.isPatternMissing(c)){var u=!c&&1===n.a&&1===a&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass===u){var h=Mt.disabled,f=t.depthModeForSublayer(0,"opaque"===u?At.ReadWrite:At.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(c?"backgroundPattern":"background"),g=s.coveringTiles({tileSize:l});c&&(i.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var v=r.getCrossfadeParameters(),m=0,y=g;m<y.length;m+=1){var x=y[m],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=c?Nr(b,a,t,c,{tileID:x,tileSize:l},v):Br(b,a,n);d.draw(i,o.TRIANGLES,f,h,p,Et.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)en(t,e,r[n])},custom:function(t,e,r){var n=t.context,a=r.implementation;if("offscreen"===t.renderPass){var i=a.prerender;i&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),i.call(a,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Mt.disabled);var o="3d"===a.renderingMode?new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,At.ReadOnly);n.setDepthMode(o),a.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},an=function(e,r){this.context=new Lt(e),this.transform=r,this._tileTextures={},this.setup(),this.numSublayers=Ct.maxUnderzooming+Ct.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new t.ProgramConfiguration,this.crossTileSymbolIndex=new Oe};function on(t,e){if(t.y>e.y){var r=t;t=e,e=r}return{x0:t.x,y0:t.y,x1:e.x,y1:e.y,dx:e.x-t.x,dy:e.y-t.y}}function sn(t,e,r,n,a){var i=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,h=e.dx<0,f=i;f<o;f++){var p=l*Math.max(0,Math.min(t.dy,f+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;a(Math.floor(d),Math.ceil(p),f)}}function ln(t,e,r,n,a,i){var o,s=on(t,e),l=on(e,r),c=on(r,t);s.dy>l.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&sn(c,s,n,a,i),l.dy&&sn(c,l,n,a,i)}an.prototype.resize=function(e,r){var n=this.context.gl;if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var a=0,i=this.style._order;a<i.length;a+=1){var o=i[a];this.style._layers[o].resize()}this.depthRbo&&(n.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},an.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,Fe.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,Fe.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var a=new t.StructArrayLayout4i8;a.emplaceBack(0,0,0,0),a.emplaceBack(t.EXTENT,0,t.EXTENT,0),a.emplaceBack(0,t.EXTENT,0,t.EXTENT),a.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(a,t.rasterBoundsAttributes.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(i,Fe.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);var l=this.context.gl;this.stencilClearMode=new Mt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},an.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,At.disabled,this.stencilClearMode,St.disabled,Et.disabled,Tr(n),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},an.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var a=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var i=0,o=e;i<o.length;i+=1){var s=o[i],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;a.draw(r,n.TRIANGLES,At.disabled,new Mt({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),St.disabled,Et.disabled,Tr(s.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},an.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?St.unblended:St.alphaBlended},an.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return At.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new At(r||this.context.gl.LEQUAL,e,[n,n])},an.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},an.prototype.render=function(e,r){this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var n=this.style._order,a=this.style.sourceCaches;for(var i in a){var o=a[i];o.used&&o.prepare(this.context)}var s={},l={},c={};for(var u in a){var h=a[u];s[u]=h.getVisibleCoordinates(),l[u]=s[u].slice().reverse(),c[u]=h.getVisibleCoordinates(!0).reverse()}for(var f in a){var p=a[f],d=p.getSource();if("raster"===d.type||"raster-dem"===d.type){for(var g=[],v=0,m=s[f];v<m.length;v+=1){var y=m[v];g.push(p.getTile(y))}Vr(g,this.context)}}this.opaquePassCutoff=1/0;for(var x=0;x<n.length;x++){var b=n[x];if(this.style._layers[b].is3D()){this.opaquePassCutoff=x;break}}this.renderPass="offscreen",this.depthRboNeedsClear=!0;for(var _=0,w=n;_<w.length;_+=1){var k=w[_],T=this.style._layers[k];if(T.hasOffscreenPass()&&!T.isHidden(this.transform.zoom)){var A=l[T.source];("custom"===T.type||A.length)&&this.renderLayer(this,a[T.source],T,A)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=n.length-1;this.currentLayer>=0;this.currentLayer--){var M=this.style._layers[n[this.currentLayer]],S=a[M.source],E=s[M.source];this._renderTileClippingMasks(M,E),this.renderLayer(this,S,M,E)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<n.length;this.currentLayer++){var L=this.style._layers[n[this.currentLayer]],C=a[L.source],P=("symbol"===L.type?c:l)[L.source];this._renderTileClippingMasks(L,s[L.source]),this.renderLayer(this,C,L,P)}if(this.options.showTileBoundaries)for(var O in a){nn.debug(this,a[O],s[O]);break}this.context.setDefault()},an.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},an.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||("background"===r.type||"custom"===r.type||n.length)&&(this.id=r.id,nn[r.type](t,e,r,n,this.style.placement.variableOffsets))},an.prototype.translatePosMatrix=function(e,r,n,a,i){if(!n[0]&&!n[1])return e;var o=i?"map"===a?this.transform.angle:0:"viewport"===a?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[i?n[0]:ce(r,n[0],this.transform.zoom),i?n[1]:ce(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},an.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},an.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},an.prototype.isPatternMissing=function(t){if(!t)return!1;var e=this.imageManager.getPattern(t.from),r=this.imageManager.getPattern(t.to);return!e||!r},an.prototype.useProgram=function(t,e){void 0===e&&(e=this.emptyProgramConfiguration),this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new fr(this.context,ur[t],e,jr[t],this._showOverdrawInspector)),this.cache[r]},an.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},an.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)};var cn=function(e,r,n){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===n||n,this._minZoom=e||0,this._maxZoom=r||22,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},un={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};cn.prototype.clone=function(){var t=new cn(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},un.minZoom.get=function(){return this._minZoom},un.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},un.maxZoom.get=function(){return this._maxZoom},un.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},un.renderWorldCopies.get=function(){return this._renderWorldCopies},un.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},un.worldSize.get=function(){return this.tileSize*this.scale},un.centerPoint.get=function(){return this.size._div(2)},un.size.get=function(){return new t.Point(this.width,this.height)},un.bearing.get=function(){return-this.angle/Math.PI*180},un.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},un.pitch.get=function(){return this._pitch/Math.PI*180},un.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},un.fov.get=function(){return this._fov/Math.PI*180},un.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},un.zoom.get=function(){return this._zoom},un.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},un.center.get=function(){return this._center},un.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},cn.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},cn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),a=this.pointCoordinate(new t.Point(this.width,0)),i=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,a.x,i.x,o.x)),l=Math.floor(Math.max(n.x,a.x,i.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},cn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var a=t.MercatorCoordinate.fromLngLat(this.center),i=Math.pow(2,r),o=new t.Point(i*a.x-.5,i*a.y-.5);return function(e,r,n,a){void 0===a&&(a=!0);var i=1<<e,o={};function s(r,s,l){var c,u,h,f;if(l>=0&&l<=i)for(c=r;c<s;c++)u=Math.floor(c/i),h=(c%i+i)%i,0!==u&&!0!==a||(f=new t.OverscaledTileID(n,u,e,h,l),o[f.key]=f)}var l=r.map(function(e){return new t.Point(e.x,e.y)._mult(i)});return ln(l[0],l[1],l[2],0,i,s),ln(l[2],l[3],l[0],0,i,s),Object.keys(o).map(function(t){return o[t]})}(r,[this.pointCoordinate(new t.Point(0,0)),this.pointCoordinate(new t.Point(this.width,0)),this.pointCoordinate(new t.Point(this.width,this.height)),this.pointCoordinate(new t.Point(0,this.height))],e.reparseOverscaled?n:r,this._renderWorldCopies).sort(function(t,e){return o.dist(t.canonical)-o.dist(e.canonical)})},cn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},un.unmodified.get=function(){return this._unmodified},cn.prototype.zoomScale=function(t){return Math.pow(2,t)},cn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},cn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},cn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},un.point.get=function(){return this.project(this.center)},cn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),a=this.pointCoordinate(this.centerPoint),i=this.locationCoordinate(e),o=new t.MercatorCoordinate(i.x-(n.x-a.x),i.y-(n.y-a.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},cn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},cn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},cn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},cn.prototype.coordinateLocation=function(t){return t.toLngLat()},cn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var a=r[3],i=n[3],o=r[0]/a,s=n[0]/i,l=r[1]/a,c=n[1]/i,u=r[2]/a,h=n[2]/i,f=u===h?0:(0-u)/(h-u);return new t.MercatorCoordinate(t.number(o,s,f)/this.worldSize,t.number(l,c,f)/this.worldSize)},cn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},cn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},cn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},cn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},cn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,a=r?this._alignedPosMatrixCache:this._posMatrixCache;if(a[n])return a[n];var i=e.canonical,o=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,i.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),a[n]=new Float32Array(l),a[n]},cn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},cn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,a,i=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;i=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-i<c.y?c.y/(o-i):0}if(this.lngRange){var f=this.lngRange;s=t.mercatorXfromLng(f[0])*this.worldSize,r=(l=t.mercatorXfromLng(f[1])*this.worldSize)-s<c.x?c.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+i)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var g=p.y,v=c.y/2;g-v<i&&(a=i+v),g+v>o&&(a=o-v)}if(this.lngRange){var m=p.x,y=c.x/2;m-y<s&&(n=s+y),m+y>l&&(n=l-y)}void 0===n&&void 0===a||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==a?a:p.y))),this._unmodified=u,this._constraining=!1}},cn.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var e=this._fov/2,r=Math.PI/2+this._pitch,n=Math.sin(e)*this.cameraToCenterDistance/Math.sin(Math.PI-r-e),a=this.point,i=a.x,o=a.y,s=1.01*(Math.cos(Math.PI/2-this._pitch)*n+this.cameraToCenterDistance),l=this.height/50,c=new Float64Array(16);t.perspective(c,this._fov,this.width/this.height,l,s),t.scale(c,c,[1,-1,1]),t.translate(c,c,[0,0,-this.cameraToCenterDistance]),t.rotateX(c,c,this._pitch),t.rotateZ(c,c,this.angle),t.translate(c,c,[-i,-o,0]),this.mercatorMatrix=t.scale([],c,[this.worldSize,this.worldSize,this.worldSize]),t.scale(c,c,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=c;var u=this.width%2/2,h=this.height%2/2,f=Math.cos(this.angle),p=Math.sin(this.angle),d=i-Math.round(i)+f*u+p*h,g=o-Math.round(o)+f*h+p*u,v=new Float64Array(c);if(t.translate(v,v,[d>.5?d-1:d,g>.5?g-1:g,0]),this.alignedProjMatrix=v,c=t.create(),t.scale(c,c,[this.width/2,-this.height/2,1]),t.translate(c,c,[1,-1,0]),this.labelPlaneMatrix=c,c=t.create(),t.scale(c,c,[1,-1,1]),t.translate(c,c,[-1,-1,0]),t.scale(c,c,[2/this.width,2/this.height,1]),this.glCoordMatrix=c,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(c=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=c,this._posMatrixCache={},this._alignedPosMatrixCache={}}},cn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},cn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},cn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,a=r.y,i=r.x,o=r.y,s=0,l=e;s<l.length;s+=1){var c=l[s];n=Math.min(n,c.x),a=Math.min(a,c.y),i=Math.max(i,c.x),o=Math.max(o,c.y)}return[new t.Point(n,a),new t.Point(i,a),new t.Point(i,o),new t.Point(n,o),new t.Point(n,a)]},Object.defineProperties(cn.prototype,un);var hn=function(){var e,r,n,a;t.bindAll(["_onHashChange","_updateHash"],this),this._updateHash=(e=this._updateHashUnthrottled.bind(this),300,r=!1,n=null,a=function(){n=null,r&&(e(),n=setTimeout(a,300),r=!1)},function(){return r=!0,n||a(),n})};hn.prototype.addTo=function(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},hn.prototype.remove=function(){return t.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},hn.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,n),i=Math.round(e.lng*a)/a,o=Math.round(e.lat*a)/a,s=this._map.getBearing(),l=this._map.getPitch(),c="";return c+=t?"#/"+i+"/"+o+"/"+r:"#"+r+"/"+o+"/"+i,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),c},hn.prototype._onHashChange=function(){var e=t.window.location.hash.replace("#","").split("/");return e.length>=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},hn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var fn=function(e){function n(n,a,i,o){void 0===o&&(o={});var s=r.mousePos(a.getCanvasContainer(),i),l=a.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:i},o)),this._defaultPrevented=!1,this.target=a}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),pn=function(e){function n(n,a,i){var o=r.touchPos(a.getCanvasContainer(),i),s=o.map(function(t){return a.unproject(t)}),l=o.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.Point(0,0)),c=a.unproject(l);e.call(this,n,{points:o,point:l,lngLats:s,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),dn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),gn=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};gn.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gn.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gn.prototype.isEnabled=function(){return!!this._enabled},gn.prototype.isActive=function(){return!!this._active},gn.prototype.isZooming=function(){return!!this._zooming},gn.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gn.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),a=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":a>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this.isActive()||this._start(e)),e.preventDefault()}},gn.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},gn.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0,this._map.fire(new t.Event("movestart",{originalEvent:e})),this._map.fire(new t.Event("zoomstart",{originalEvent:e}))),this._finishTimeout&&clearTimeout(this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}},gn.prototype._onScrollFrame=function(){var e=this;if(this._frameId=null,this.isActive()){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,a=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==a&&(a=1/a);var i="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(i*a))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o="number"==typeof this._targetZoom?this._targetZoom:r.zoom,s=this._startZoom,l=this._easing,c=!1;if("wheel"===this._type&&s&&l){var u=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=l(u);r.zoom=t.number(s,o,h),u<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):c=!0}else r.zoom=o,c=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event("move",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event("zoom",{originalEvent:this._lastWheelEvent})),c&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._zooming=!1,e._map.fire(new t.Event("zoomend",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event("moveend",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},gn.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,a=(t.browser.now()-n.start)/n.duration,i=n.easing(a+.01)-n.easing(a),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r};var vn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMouseMove","_onMouseUp","_onKeyDown"],this)};vn.prototype.isEnabled=function(){return!!this._enabled},vn.prototype.isActive=function(){return!!this._active},vn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},vn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},vn.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.window.document.addEventListener("mousemove",this._onMouseMove,!1),t.window.document.addEventListener("keydown",this._onKeyDown,!1),t.window.document.addEventListener("mouseup",this._onMouseUp,!1),r.disableDrag(),this._startPos=this._lastPos=r.mousePos(this._el,e),this._active=!0)},vn.prototype._onMouseMove=function(t){var e=r.mousePos(this._el,t);if(!(this._lastPos.equals(e)||!this._box&&e.dist(this._startPos)<this._clickTolerance)){var n=this._startPos;this._lastPos=e,this._box||(this._box=r.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var a=Math.min(n.x,e.x),i=Math.max(n.x,e.x),o=Math.min(n.y,e.y),s=Math.max(n.y,e.y);r.setTransform(this._box,"translate("+a+"px,"+o+"px)"),this._box.style.width=i-a+"px",this._box.style.height=s-o+"px"}},vn.prototype._onMouseUp=function(e){if(0===e.button){var n=this._startPos,a=r.mousePos(this._el,e);this._finish(),r.suppressClick(),n.x===a.x&&n.y===a.y?this._fireEvent("boxzoomcancel",e):this._map.fitScreenCoordinates(n,a,this._map.getBearing(),{linear:!0}).fire(new t.Event("boxzoomend",{originalEvent:e}))}},vn.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",t))},vn.prototype._finish=function(){this._active=!1,t.window.document.removeEventListener("mousemove",this._onMouseMove,!1),t.window.document.removeEventListener("keydown",this._onKeyDown,!1),t.window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},vn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var mn=t.bezier(0,0,.25,1),yn=function(e,r){this._map=e,this._el=r.element||e.getCanvasContainer(),this._state="disabled",this._button=r.button||"right",this._bearingSnap=r.bearingSnap||0,this._pitchWithRotate=!1!==r.pitchWithRotate,t.bindAll(["onMouseDown","_onMouseMove","_onMouseUp","_onBlur","_onDragFrame"],this)};yn.prototype.isEnabled=function(){return"disabled"!==this._state},yn.prototype.isActive=function(){return"active"===this._state},yn.prototype.enable=function(){this.isEnabled()||(this._state="enabled")},yn.prototype.disable=function(){if(this.isEnabled())switch(this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend"),this._pitchWithRotate&&this._fireEvent("pitchend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},yn.prototype.onMouseDown=function(e){if("enabled"===this._state){var n="touchstart"===e.type;if(n)this._startTime=Date.now();else if("right"===this._button){if(this._eventButton=r.mouseButton(e),this._eventButton!==(e.ctrlKey?0:2))return}else{if(e.ctrlKey||0!==r.mouseButton(e))return;this._eventButton=0}r.disableDrag(),n?(t.window.document.addEventListener("touchmove",this._onMouseMove,{capture:!0}),t.window.document.addEventListener("touchend",this._onMouseUp)):(t.window.document.addEventListener("mousemove",this._onMouseMove,{capture:!0}),t.window.document.addEventListener("mouseup",this._onMouseUp)),t.window.addEventListener("blur",this._onBlur),this._state="pending",this._inertia=[[t.browser.now(),this._map.getBearing()]],this._startPos=this._prevPos=this._lastPos=r.mousePos(this._el,e),this._center=this._map.transform.centerPoint,e.preventDefault()}},yn.prototype._onMouseMove=function(t){var e=r.mousePos(this._el,t);this._lastPos.equals(e)||(this._lastMoveEvent=t,this._lastPos=e,"pending"===this._state&&(this._state="active",this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))},yn.prototype._onDragFrame=function(){this._frameId=null;var e=this._lastMoveEvent;if(e){var r=this._map.transform,n=this._prevPos,a=this._lastPos,i=.8*(n.x-a.x),o=-.5*(n.y-a.y),s=r.bearing-i,l=r.pitch-o,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([t.browser.now(),this._map._normalizeBearing(s,u[1])]),r.bearing=s,this._pitchWithRotate&&(this._fireEvent("pitch",e),r.pitch=l),this._fireEvent("rotate",e),this._fireEvent("move",e),delete this._lastMoveEvent,this._prevPos=this._lastPos}},yn.prototype._onMouseUp=function(t){if("touchend"===t.type&&this._startPos===this._lastPos&&Date.now()-this._startTime<300&&this._el.click(),r.mouseButton(t)===this._eventButton)switch(this._state){case"active":this._state="enabled",r.suppressClick(),this._unbind(),this._deactivate(),this._inertialRotate(t);break;case"pending":this._state="enabled",this._unbind()}},yn.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend",t),this._pitchWithRotate&&this._fireEvent("pitchend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},yn.prototype._unbind=function(){t.window.document.removeEventListener("mousemove",this._onMouseMove,{capture:!0}),t.window.document.removeEventListener("mouseup",this._onMouseUp),t.window.document.removeEventListener("touchmove",this._onMouseMove,{capture:!0}),t.window.document.removeEventListener("touchend",this._onMouseUp),t.window.removeEventListener("blur",this._onBlur),r.enableDrag()},yn.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._startPos,delete this._prevPos,delete this._lastPos},yn.prototype._inertialRotate=function(t){var e=this;this._fireEvent("rotateend",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),a=this._inertia,i=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):e._fireEvent("moveend",t),e._pitchWithRotate&&e._fireEvent("pitchend",t)};if(a.length<2)i();else{var o=a[0],s=a[a.length-1],l=a[a.length-2],c=r._normalizeBearing(n,l[1]),u=s[1]-o[1],h=u<0?-1:1,f=(s[0]-o[0])/1e3;if(0!==u&&0!==f){var p=Math.abs(u*(.25/f));p>180&&(p=180);var d=p/180;c+=h*p*(d/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*d,easing:mn,noMoveStart:!0},{originalEvent:t})}else i()}},yn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},yn.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>0&&r-e[0][0]>160;)e.shift()};var xn=t.bezier(0,0,.3,1),bn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._state="disabled",this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMove","_onMouseUp","_onTouchEnd","_onBlur","_onDragFrame"],this)};bn.prototype.isEnabled=function(){return"disabled"!==this._state},bn.prototype.isActive=function(){return"active"===this._state},bn.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._state="enabled")},bn.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("dragend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},bn.prototype.onMouseDown=function(e){"enabled"===this._state&&(e.ctrlKey||0!==r.mouseButton(e)||(r.addEventListener(t.window.document,"mousemove",this._onMove,{capture:!0}),r.addEventListener(t.window.document,"mouseup",this._onMouseUp),this._start(e)))},bn.prototype.onTouchStart=function(e){"enabled"===this._state&&(e.touches.length>1||(r.addEventListener(t.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),r.addEventListener(t.window.document,"touchend",this._onTouchEnd),this._start(e)))},bn.prototype._start=function(e){t.window.addEventListener("blur",this._onBlur),this._state="pending",this._startPos=this._mouseDownPos=this._prevPos=this._lastPos=r.mousePos(this._el,e),this._inertia=[[t.browser.now(),this._startPos]]},bn.prototype._onMove=function(e){e.preventDefault();var n=r.mousePos(this._el,e);this._lastPos.equals(n)||"pending"===this._state&&n.dist(this._mouseDownPos)<this._clickTolerance||(this._lastMoveEvent=e,this._lastPos=n,this._drainInertiaBuffer(),this._inertia.push([t.browser.now(),this._lastPos]),"pending"===this._state&&(this._state="active",this._fireEvent("dragstart",e),this._fireEvent("movestart",e)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))},bn.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform;e.setLocationAtPoint(e.pointLocation(this._prevPos),this._lastPos),this._fireEvent("drag",t),this._fireEvent("move",t),this._prevPos=this._lastPos,delete this._lastMoveEvent}},bn.prototype._onMouseUp=function(t){if(0===r.mouseButton(t))switch(this._state){case"active":this._state="enabled",r.suppressClick(),this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._onTouchEnd=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("dragend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._unbind=function(){r.removeEventListener(t.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),r.removeEventListener(t.window.document,"touchend",this._onTouchEnd),r.removeEventListener(t.window.document,"mousemove",this._onMove,{capture:!0}),r.removeEventListener(t.window.document,"mouseup",this._onMouseUp),r.removeEventListener(t.window,"blur",this._onBlur)},bn.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._startPos,delete this._prevPos,delete this._mouseDownPos,delete this._lastPos},bn.prototype._inertialPan=function(t){this._fireEvent("dragend",t),this._drainInertiaBuffer();var e=this._inertia;if(e.length<2)this._fireEvent("moveend",t);else{var r=e[e.length-1],n=e[0],a=r[1].sub(n[1]),i=(r[0]-n[0])/1e3;if(0===i||r[1].equals(n[1]))this._fireEvent("moveend",t);else{var o=a.mult(.3/i),s=o.mag();s>1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:xn,noMoveStart:!0},{originalEvent:t})}}},bn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},bn.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>0&&r-e[0][0]>160;)e.shift()};var _n=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onKeyDown"],this)};function wn(t){return t*(2-t)}_n.prototype.isEnabled=function(){return!!this._enabled},_n.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},_n.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},_n.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,a=0,i=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),i=-1);break;case 40:t.shiftKey?n=-1:(i=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:wn,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-a,100*-i],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var kn=function(e){this._map=e,t.bindAll(["_onDblClick","_onZoomEnd"],this)};kn.prototype.isEnabled=function(){return!!this._enabled},kn.prototype.isActive=function(){return!!this._active},kn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},kn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},kn.prototype.onTouchStart=function(t){var e=this;if(this.isEnabled()&&!(t.points.length>1))if(this._tapped){var r=t.points[0],n=this._tappedPoint;if(n&&n.dist(r)<=30){t.originalEvent.preventDefault();var a=function(){e._tapped&&e._zoom(t),e._map.off("touchcancel",i),e._resetTapped()},i=function(){e._map.off("touchend",a),e._resetTapped()};this._map.once("touchend",a),this._map.once("touchcancel",i)}else this._resetTapped()}else this._tappedPoint=t.points[0],this._tapped=setTimeout(function(){e._tapped=null,e._tappedPoint=null},300)},kn.prototype._resetTapped=function(){clearTimeout(this._tapped),this._tapped=null,this._tappedPoint=null},kn.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},kn.prototype._zoom=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},kn.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)};var Tn=t.bezier(0,0,.15,1),An=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onMove","_onEnd","_onTouchFrame"],this)};An.prototype.isEnabled=function(){return!!this._enabled},An.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)},An.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._enabled=!1)},An.prototype.disableRotation=function(){this._rotationDisabled=!0},An.prototype.enableRotation=function(){this._rotationDisabled=!1},An.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var n=r.mousePos(this._el,e.touches[0]),a=r.mousePos(this._el,e.touches[1]),i=n.add(a).div(2);this._startVec=n.sub(a),this._startAround=this._map.transform.pointLocation(i),this._gestureIntent=void 0,this._inertia=[],r.addEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.addEventListener(t.window.document,"touchend",this._onEnd)}},An.prototype._getTouchEventData=function(t){var e=r.mousePos(this._el,t.touches[0]),n=r.mousePos(this._el,t.touches[1]),a=e.sub(n);return{vec:a,center:e.add(n).div(2),scale:a.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI}},An.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,a=r.scale,i=r.bearing;if(!this._gestureIntent){var o=this._rotationDisabled&&1!==a||Math.abs(1-a)>.15;Math.abs(i)>10?this._gestureIntent="rotate":o&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+"start",{originalEvent:e})),this._map.fire(new t.Event("movestart",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},An.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),a=n.center,i=n.bearing,o=n.scale,s=r.pointLocation(a),l=r.locationPoint(s);"rotate"===e&&(r.bearing=this._startBearing+i),r.zoom=r.scaleZoom(this._startScale*o),r.setLocationAtPoint(this._startAround,l),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event("move",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([t.browser.now(),o,a])}},An.prototype._onEnd=function(e){r.removeEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.removeEventListener(t.window.document,"touchend",this._onEnd);var n=this._gestureIntent,a=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,n){this._map.fire(new t.Event(n+"end",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,o=this._map;if(i.length<2)o.snapToNorth({},{originalEvent:e});else{var s=i[i.length-1],l=i[0],c=o.transform.scaleZoom(a*s[1]),u=o.transform.scaleZoom(a*l[1]),h=c-u,f=(s[0]-l[0])/1e3,p=s[2];if(0!==f&&c!==u){var d=.15*h/f;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),v=c+d*g/2e3;v<0&&(v=0),o.easeTo({zoom:v,duration:g,easing:Tn,around:this._aroundCenter?o.getCenter():o.unproject(p),noMoveStart:!0},{originalEvent:e})}else o.snapToNorth({},{originalEvent:e})}}},An.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>2&&r-e[0][0]>160;)e.shift()};var Mn={scrollZoom:gn,boxZoom:vn,dragRotate:yn,dragPan:bn,keyboard:_n,doubleClickZoom:kn,touchZoomRotate:An},Sn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,a){if("number"==typeof(a=t.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},a)).padding){var i=a.padding;a.padding={top:i,bottom:i,right:i,left:i}}if(t.deepEqual(Object.keys(a.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),["bottom","left","right","top"])){var o=this.transform,s=o.project(t.LngLat.convert(e)),l=o.project(t.LngLat.convert(r)),c=s.rotate(-n*Math.PI/180),u=l.rotate(-n*Math.PI/180),h=new t.Point(Math.max(c.x,u.x),Math.max(c.y,u.y)),f=new t.Point(Math.min(c.x,u.x),Math.min(c.y,u.y)),p=h.sub(f),d=(o.width-a.padding.left-a.padding.right)/p.x,g=(o.height-a.padding.top-a.padding.bottom)/p.y;if(!(g<0||d<0)){var v=Math.min(o.scaleZoom(o.scale*Math.min(d,g)),a.maxZoom),m=t.Point.convert(a.offset),y=(a.padding.left-a.padding.right)/2,x=(a.padding.top-a.padding.bottom)/2,b=new t.Point(m.x+y,m.y+x).mult(o.scale/o.zoomScale(v));return{center:o.unproject(s.add(l).div(2).sub(b)),zoom:v,bearing:n}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}else t.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,a,i){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,a),a,i)},r.prototype._fitInternal=function(e,r,n){return e?(r=t.extend(e,r)).linear?this.easeTo(r,n):this.flyTo(r,n):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,a=!1,i=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(a=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(i=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),a&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),i&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this.stop(),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||t.browser.prefersReducedMotion)&&(e.duration=0);var a=this.transform,i=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?+e.zoom:i,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h=a.centerPoint.add(t.Point.convert(e.offset)),f=a.pointLocation(h),p=t.LngLat.convert(e.center||f);this._normalizeCenter(p);var d,g,v=a.project(f),m=a.project(p).sub(v),y=a.zoomScale(l-i);return e.around&&(d=t.LngLat.convert(e.around),g=a.locationPoint(d)),this._zooming=l!==i,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(a.zoom=t.number(i,l,e)),n._rotating&&(a.bearing=t.number(o,c,e)),n._pitching&&(a.pitch=t.number(s,u,e)),d)a.setLocationAtPoint(d,g);else{var f=a.zoomScale(a.zoom-i),p=l>i?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=a.unproject(v.add(m.mult(e*x)).mult(f));a.setLocationAtPoint(a.renderWorldCopies?b.wrap():b,h)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event("movestart",e)),this._zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e){var r=this._zooming,n=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))},r.prototype.flyTo=function(e,r){var n=this;if(t.browser.prefersReducedMotion){var a=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(a,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c="zoom"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):o,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,f=i.zoomScale(c-o),p=i.centerPoint.add(t.Point.convert(e.offset)),d=i.pointLocation(p),g=t.LngLat.convert(e.center||d);this._normalizeCenter(g);var v=i.project(d),m=i.project(g).sub(v),y=e.curve,x=Math.max(i.width,i.height),b=x/f,_=m.mag();if("minZoom"in e){var w=t.clamp(Math.min(e.minZoom,o,c),i.minZoom,i.maxZoom),k=x/i.zoomScale(w-o);y=Math.sqrt(k/_*2)}var T=y*y;function A(t){var e=(b*b-x*x+(t?-1:1)*T*T*_*_)/(2*(t?b:x)*T*_);return Math.log(Math.sqrt(e*e+1)-e)}function M(t){return(Math.exp(t)-Math.exp(-t))/2}function S(t){return(Math.exp(t)+Math.exp(-t))/2}var E=A(0),L=function(t){return S(E)/S(E+y*t)},C=function(t){return x*((S(E)*(M(e=E+y*t)/S(e))-M(E))/T)/_;var e},P=(A(1)-E)/y;if(Math.abs(_)<1e-6||!isFinite(P)){if(Math.abs(x-b)<1e-6)return this.easeTo(e,r);var O=b<x?-1:1;P=Math.abs(Math.log(b/x))/y,C=function(){return 0},L=function(t){return Math.exp(O*y*t)}}if("duration"in e)e.duration=+e.duration;else{var z="screenSpeed"in e?+e.screenSpeed/y:+e.speed;e.duration=1e3*P/z}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._prepareEase(r,!1),this._ease(function(e){var a=e*P,f=1/L(a);i.zoom=1===e?c:o+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(s,u,e)),n._pitching&&(i.pitch=t.number(l,h,e));var d=1===e?g:i.unproject(v.add(m.mult(C(a))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?d.wrap():d,p),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),En=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};En.prototype.getDefaultPosition=function(){return"bottom-right"},En.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},En.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},En.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce(function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n<r.length-1?"&":"")),t},"?");e.href=t.config.FEEDBACK_URL+"/"+n+(this._map._hash?this._map._hash.getHashString(!0):""),e.rel="noopener nofollow"}},En.prototype._updateData=function(t){!t||"metadata"!==t.sourceDataType&&"style"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},En.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map(function(t){return"string"!=typeof t?"":t})):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var a=r[n];if(a.used){var i=a.getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}}t.sort(function(t,e){return t.length-e.length});var o=(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},En.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var Ln=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Ln.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label","Mapbox logo"),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Ln.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Ln.prototype.getDefaultPosition=function(){return"bottom-left"},Ln.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Ln.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Ln.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Cn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Cn.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Cn.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var a=n[r];if(a.id===t)return void(a.cancelled=!0)}},Cn.prototype.run=function(){var t=this._currentlyRunning=this._queue;this._queue=[];for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!n.cancelled&&(n.callback(),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},Cn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Pn=t.window.HTMLImageElement,On=t.window.HTMLElement,zn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,clickTolerance:3,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},In=function(n){function a(e){var a=this;if(null!=(e=t.extend({},zn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new cn(e.minZoom,e.maxZoom,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Cn,this._controls=[],this._mapId=t.uniqueId(),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof On))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return a._update(!1)}),this.on("moveend",function(){return a._update(!1)}),this.on("zoom",function(){return a._update(!0)}),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),function(t,e){var n=t.getCanvasContainer(),a=null,i=!1,o=null;for(var s in Mn)t[s]=new Mn[s](t,e),e.interactive&&e[s]&&t[s].enable(e[s]);r.addEventListener(n,"mouseout",function(e){t.fire(new fn("mouseout",t,e))}),r.addEventListener(n,"mousedown",function(a){i=!0,o=r.mousePos(n,a);var s=new fn("mousedown",t,a);t.fire(s),s.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(a),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(a),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(a))}),r.addEventListener(n,"mouseup",function(e){var r=t.dragRotate.isActive();a&&!r&&t.fire(new fn("contextmenu",t,a)),a=null,i=!1,t.fire(new fn("mouseup",t,e))}),r.addEventListener(n,"mousemove",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mousemove",t,e))}}),r.addEventListener(n,"mouseover",function(e){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mouseover",t,e))}),r.addEventListener(n,"touchstart",function(r){var n=new pn("touchstart",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),r.addEventListener(n,"touchmove",function(e){t.fire(new pn("touchmove",t,e))},{passive:!1}),r.addEventListener(n,"touchend",function(e){t.fire(new pn("touchend",t,e))}),r.addEventListener(n,"touchcancel",function(e){t.fire(new pn("touchcancel",t,e))}),r.addEventListener(n,"click",function(a){var i=r.mousePos(n,a);(!o||i.equals(o)||i.dist(o)<e.clickTolerance)&&t.fire(new fn("click",t,a))}),r.addEventListener(n,"dblclick",function(e){var r=new fn("dblclick",t,e);t.fire(r),r.defaultPrevented||t.doubleClickZoom.onDblClick(r)}),r.addEventListener(n,"contextmenu",function(e){var r=t.dragRotate.isActive();i||r?i&&(a=e):t.fire(new fn("contextmenu",t,e)),(t.dragRotate.isEnabled()||t.listens("contextmenu"))&&e.preventDefault()}),r.addEventListener(n,"wheel",function(r){e.interactive&&t.stop();var n=new dn("wheel",t,r);t.fire(n),n.defaultPrevented||t.scrollZoom.onWheel(r)},{passive:!1})}(this,e),this._hash=e.hash&&(new hn).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new En({customAttribution:e.customAttribution})),this.addControl(new Ln,e.logoPosition),this.on("style.load",function(){a.transform.unmodified&&a.jumpTo(a.style.stylesheet)}),this.on("data",function(e){a._update("style"===e.dataType),a.fire(new t.Event(e.dataType+"data",e))}),this.on("dataloading",function(e){a.fire(new t.Event(e.dataType+"dataloading",e))})}n&&(a.__proto__=n),a.prototype=Object.create(n&&n.prototype),a.prototype.constructor=a;var i={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return a.prototype._getMapId=function(){return this._mapId},a.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var a=this._controlPositions[r];return-1!==r.indexOf("bottom")?a.insertBefore(n,a.firstChild):a.appendChild(n),this},a.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},a.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],a=r[1];return this._resizeCanvas(n,a),this.transform.resize(n,a),this.painter.resize(n,a),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)).fire(new t.Event("resize",e)).fire(new t.Event("moveend",e)),this},a.prototype.getBounds=function(){return this.transform.getBounds()},a.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},a.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},a.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between 0 and the current maxZoom, inclusive")},a.prototype.getMinZoom=function(){return this.transform.minZoom},a.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=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")},a.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},a.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},a.prototype.getMaxZoom=function(){return this.transform.maxZoom},a.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},a.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},a.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},a.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isZooming()},a.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},a.prototype.on=function(t,e,r){var a=this;if(void 0===r)return n.prototype.on.call(this,t,e);var i=function(){var n;if("mouseenter"===t||"mouseover"===t){var i=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?i||(i=!0,r.call(a,new fn(t,a,n.originalEvent,{features:o}))):i=!1},mouseout:function(){i=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(a,new fn(t,a,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(a,new fn(t,a,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(a,t),delete t.features)},n)}}();for(var o in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(o,i.delegates[o]);return this},a.prototype.off=function(t,e,r){if(void 0===r)return n.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var a=this._delegatedListeners[t],i=0;i<a.length;i++){var o=a[i];if(o.layer===e&&o.listener===r){for(var s in o.delegates)this.off(s,o.delegates[s]);return a.splice(i,1),this}}return this},a.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||"number"==typeof e[0])n=[t.Point.convert(e)];else{var a=t.Point.convert(e[0]),i=t.Point.convert(e[1]);n=[a,new t.Point(i.x,a.y),i,new t.Point(a.x,i.y),a]}return this.style.queryRenderedFeatures(n,r,this.transform)},a.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},a.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},a.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new Re(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},a.prototype._diffStyle=function(e,r){var n=this;if("string"==typeof e){var a=this._requestManager.normalizeStyleURL(e),i=this._requestManager.transformRequest(a,t.ResourceType.Style);t.getJSON(i,function(e,a){e?n.fire(new t.ErrorEvent(e)):a&&n._updateDiff(a,r)})}else"object"==typeof e&&this._updateDiff(e,r)},a.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce("Unable to perform style diff: "+(n.message||n.error||n)+".  Rebuilding the style from scratch."),this._updateStyle(e,r)}},a.prototype.getStyle=function(){if(this.style)return this.style.serialize()},a.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},a.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0)},a.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")))},a.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var a=r[n];if("loaded"!==a.state&&"errored"!==a.state)return!1}}return!0},a.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},a.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},a.prototype.getSource=function(t){return this.style.getSource(t)},a.prototype.addImage=function(e,r,n){void 0===n&&(n={});var a=n.pixelRatio;void 0===a&&(a=1);var i=n.sdf;if(void 0===i&&(i=!1),r instanceof Pn){var o=t.browser.getImageData(r),s=o.width,l=o.height,c=o.data;this.style.addImage(e,{data:new t.RGBAImage({width:s,height:l},c),pixelRatio:a,sdf:i,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var u=r.width,h=r.height,f=r.data,p=r;this.style.addImage(e,{data:new t.RGBAImage({width:u,height:h},new Uint8Array(f)),pixelRatio:a,sdf:i,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e)}},a.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var a=r instanceof Pn?t.browser.getImageData(r):r,i=a.width,o=a.height,s=a.data;if(void 0===i||void 0===o)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(i!==n.data.width||o!==n.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));var l=!(r instanceof Pn);n.data.replace(s,l),this.style.updateImage(e,n)},a.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},a.prototype.removeImage=function(t){this.style.removeImage(t)},a.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},a.prototype.listImages=function(){return this.style.listImages()},a.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0)},a.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},a.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},a.prototype.getLayer=function(t){return this.style.getLayer(t)},a.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},a.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},a.prototype.getFilter=function(t){return this.style.getFilter(t)},a.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},a.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},a.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},a.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},a.prototype.setLight=function(t,e){return void 0===e&&(e={}),this.style.setLight(t,e),this._update(!0)},a.prototype.getLight=function(){return this.style.getLight()},a.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},a.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},a.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},a.prototype.getContainer=function(){return this._container},a.prototype.getCanvasContainer=function(){return this._canvasContainer},a.prototype.getCanvas=function(){return this._canvas},a.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},a.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},a.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=r.create("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();var e=this._canvasContainer=r.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=r.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",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");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var a=this._controlContainer=r.create("div","mapboxgl-control-container",t),i=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){i[t]=r.create("div","mapboxgl-ctrl-"+t,a)})},a.prototype._resizeCanvas=function(e,r){var n=t.window.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+"px",this._canvas.style.height=r+"px"},a.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext("webgl",r)||this._canvas.getContext("experimental-webgl",r);n?(this.painter=new an(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))},a.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},a.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},a.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},a.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},a.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},a.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},a.prototype._render=function(){this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run();var e=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var r=this.transform.zoom,n=t.browser.now();this.style.zoomHistory.update(r,n);var a=new t.EvaluationParameters(r,{now:n,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=a.crossFadingFactor();1===i&&i===this._crossFadingFactor||(e=!0,this._crossFadingFactor=i),this.style.update(a)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||e)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),this},a.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1)r[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener("resize",this._onWindowResize,!1),t.window.removeEventListener("online",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),Dn(this._canvasContainer),Dn(this._controlContainer),Dn(this._missingCSSCanary),this._container.classList.remove("mapboxgl-map"),this.fire(new t.Event("remove"))},a.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame(function(){e._frame=null,e._render()}))},a.prototype._onWindowOnline=function(){this._update()},a.prototype._onWindowResize=function(){this._trackResize&&this.resize()._update()},i.showTileBoundaries.get=function(){return!!this._showTileBoundaries},i.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},i.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},i.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},i.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},i.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},i.repaint.get=function(){return!!this._repaint},i.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},i.vertices.get=function(){return!!this._vertices},i.vertices.set=function(t){this._vertices=t,this._update()},a.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},i.version.get=function(){return t.version},Object.defineProperties(a.prototype,i),a}(Sn);function Dn(t){t.parentNode&&t.parentNode.removeChild(t)}var Rn={showCompass:!0,showZoom:!0,visualizePitch:!1},Fn=function(e){var n=this;this.options=t.extend({},Rn,e),this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this.options.showZoom&&(t.bindAll(["_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom in",function(){return n._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom out",function(){return n._map.zoomOut()})),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset bearing to north",function(){n.options.visualizePitch?n._map.resetNorthPitch():n._map.resetNorth()}),this._compassArrow=r.create("span","mapboxgl-ctrl-compass-arrow",this._compass))};function Bn(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var a=new t.LngLat(e.lng-360,e.lat),i=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(a).distSqr(r)<o?e=a:n.locationPoint(i).distSqr(r)<o&&(e=i)}for(;Math.abs(e.lng-n.center.lng)>180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Fn.prototype._updateZoomButtons=function(){var t=this._map.getZoom();t===this._map.getMaxZoom()?this._zoomInButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomInButton.classList.remove("mapboxgl-ctrl-icon-disabled"),t===this._map.getMinZoom()?this._zoomOutButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomOutButton.classList.remove("mapboxgl-ctrl-icon-disabled")},Fn.prototype._rotateCompassArrow=function(){var t=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._compassArrow.style.transform=t},Fn.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new yn(t,{button:"left",element:this._compass}),r.addEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.addEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.enable()),this._container},Fn.prototype.onRemove=function(){r.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),r.removeEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.removeEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.disable(),delete this._handler),delete this._map},Fn.prototype._createButton=function(t,e,n){var a=r.create("button",t,this._container);return a.type="button",a.title=e,a.setAttribute("aria-label",e),a.addEventListener("click",n),a};var Nn={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 jn(t,e,r){var n=t.classList;for(var a in Nn)n.remove("mapboxgl-"+r+"-anchor-"+a);n.add("mapboxgl-"+r+"-anchor-"+e)}var Vn,Un=function(e){function n(n,a){if(e.call(this),(n instanceof t.window.HTMLElement||a)&&(n=t.extend({element:n},a)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick"],this),this._anchor=n&&n.anchor||"center",this._color=n&&n.color||"#3FB1CE",this._draggable=n&&n.draggable||!1,this._state="inactive",n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create("div");var i=r.createNS("http://www.w3.org/2000/svg","svg");i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height","41px"),i.setAttributeNS(null,"width","27px"),i.setAttributeNS(null,"viewBox","0 0 27 41");var o=r.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");var s=r.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");var l=r.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");for(var c=0,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"}];c<u.length;c+=1){var h=u[c],f=r.createNS("http://www.w3.org/2000/svg","ellipse");f.setAttributeNS(null,"opacity","0.04"),f.setAttributeNS(null,"cx","10.5"),f.setAttributeNS(null,"cy","5.80029008"),f.setAttributeNS(null,"rx",h.rx),f.setAttributeNS(null,"ry",h.ry),l.appendChild(f)}var p=r.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"fill",this._color);var d=r.createNS("http://www.w3.org/2000/svg","path");d.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"),p.appendChild(d);var g=r.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"fill","#000000");var v=r.createNS("http://www.w3.org/2000/svg","path");v.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"),g.appendChild(v);var m=r.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");var y=r.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"transform","translate(8.0, 8.0)");var x=r.createNS("http://www.w3.org/2000/svg","circle");x.setAttributeNS(null,"fill","#000000"),x.setAttributeNS(null,"opacity","0.25"),x.setAttributeNS(null,"cx","5.5"),x.setAttributeNS(null,"cy","5.5"),x.setAttributeNS(null,"r","5.4999962");var b=r.createNS("http://www.w3.org/2000/svg","circle");b.setAttributeNS(null,"fill","#FFFFFF"),b.setAttributeNS(null,"cx","5.5"),b.setAttributeNS(null,"cy","5.5"),b.setAttributeNS(null,"r","5.4999962"),y.appendChild(x),y.appendChild(b),s.appendChild(l),s.appendChild(p),s.appendChild(g),s.appendChild(m),s.appendChild(y),i.appendChild(s),this._element.appendChild(i),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",function(t){t.preventDefault()}),jn(this._element,this._anchor,"marker"),this._popup=null}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},n.prototype.remove=function(){return 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),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null),t){if(!("offset"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[e,-1*(24.6+e)],"bottom-right":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)}return this},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=Bn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&"moveend"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,Nn[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px)"))},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag"))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),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))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(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},n.prototype.isDraggable=function(){return this._draggable},n}(t.Evented),qn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},Hn=function(e){function n(r){e.call(this),this.options=t.extend({},qn,r),t.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){var n;return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Vn?n(Vn):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then(function(t){Vn="denied"!==t.state,n(Vn)}):(Vn=!!t.window.navigator.geolocation,n(Vn)),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),r.remove(this._container),this._map=void 0},n.prototype._onSuccess=function(e){if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,a=this._map.getBearing(),i=t.extend({bearing:a},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),i,{geolocateSource:!0})},n.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},n.prototype._onError=function(e){if(this.options.trackUserLocation)if(1===e.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;!1!==e?(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=r.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Un(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(e){e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))})):t.warnOnce("Geolocation support is not available, the GeolocateControl will not be visible.")},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("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 t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Gn={maxWidth:100,unit:"metric"},Yn=function(e){this.options=t.extend({},Gn,e),t.bindAll(["_onMove","setUnit"],this)};function Wn(t,e,r){var n,a,i,o,s,l,c=r&&r.maxWidth||100,u=t._container.clientHeight/2,h=(n=t.unproject([0,u]),a=t.unproject([c,u]),i=Math.PI/180,o=n.lat*i,s=a.lat*i,l=Math.sin(o)*Math.sin(s)+Math.cos(o)*Math.cos(s)*Math.cos((a.lng-n.lng)*i),6371e3*Math.acos(Math.min(l,1)));if(r&&"imperial"===r.unit){var f=3.2808*h;f>5280?Xn(e,c,f/5280,"mi"):Xn(e,c,f,"ft")}else r&&"nautical"===r.unit?Xn(e,c,h/1852,"nm"):Xn(e,c,h,"m")}function Xn(t,e,r,n){var a,i,o,s=(a=r,(i=Math.pow(10,(""+Math.floor(a)).length-1))*(o=(o=a/i)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;"m"===n&&s>=1e3&&(s/=1e3,n="km"),t.style.width=e*l+"px",t.innerHTML=s+n}Yn.prototype.getDefaultPosition=function(){return"bottom-left"},Yn.prototype._onMove=function(){Wn(this._map,this._container,this.options)},Yn.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Yn.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Yn.prototype.setUnit=function(t){this.options.unit=t,Wn(this._map,this._container,this.options)};var Zn=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange"),this._className="mapboxgl-ctrl"};Zn.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Zn.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Zn.prototype._setupUI=function(){(this._fullscreenButton=r.create("button",this._className+"-icon "+this._className+"-fullscreen",this._controlContainer)).type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._updateTitle=function(){var t=this._isFullscreen()?"Exit fullscreen":"Enter fullscreen";this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Zn.prototype._isFullscreen=function(){return this._fullscreen},Zn.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"),this._updateTitle())},Zn.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Jn={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},Kn=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Jn),r),t.bindAll(["_update","_onClickClose","remove"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){var r=this;return this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",function(t){r._update(t.point)}),this._map.on("mouseup",function(t){r._update(t.point)}),this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),this._map.off("remove",this.remove),this._map.off("mousemove"),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove"),this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){var t=this;return this._trackPointer=!0,this._pos=null,this._map&&(this._map.off("move",this._update),this._map.on("mousemove",function(e){t._update(e.point)}),this._map.on("drag",function(e){t._update(e.point)}),this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),a=t.window.document.createElement("body");for(a.innerHTML=e;r=a.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClickClose))},n.prototype._update=function(e){var n=this,a=this._lngLat||this._trackPointer;if(this._map&&a&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(t){return n._container.classList.add(t)})),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=Bn(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),o=this.options.anchor,s=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),"top-left":new t.Point(n,n),"top-right":new t.Point(-n,n),bottom:new t.Point(0,-r),"bottom-left":new t.Point(n,-n),"bottom-right":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var a=t.Point.convert(r);return{center:a,top:a,"top-left":a,"top-right":a,bottom:a,"bottom-left":a,"bottom-right":a,left:a,right:a}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),"top-left":t.Point.convert(r["top-left"]||[0,0]),"top-right":t.Point.convert(r["top-right"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),"bottom-left":t.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(r["bottom-right"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!o){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=i.y+s.bottom.y<u?["top"]:i.y>this._map.transform.height-u?["bottom"]:[],i.x<c/2?l.push("left"):i.x>this._map.transform.width-c/2&&l.push("right"),o=0===l.length?"bottom":l.join("-")}var h=i.add(s[o]).round();r.setTransform(this._container,Nn[o]+" translate("+h.x+"px,"+h.y+"px)"),jn(this._container,o,"popup")}},n.prototype._onClickClose=function(){this.remove()},n}(t.Evented),Qn={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,Map:In,NavigationControl:Fn,GeolocateControl:Hn,AttributionControl:En,ScaleControl:Yn,FullscreenControl:Zn,Popup:Kn,Marker:Un,Style:Re,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return It.workerCount},set workerCount(t){It.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return Qn}),r},"object"==typeof r&&"undefined"!=typeof e?e.exports=a():(n=n||self).mapboxgl=a()},{}],428:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r};var n=t("convex-hull");function a(t,e,r){for(var n=new Array(t),a=0;a<t;++a)n[a]=0,a===e&&(n[a]+=.5),a===r&&(n[a]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],o=0;o<=t;++o)if(e&1<<o){r.push(a(t,o-1,o-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(a(t,o-1,s-1)),i.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],h=[];for(s=0;s<u.length;++s){if(!i[u[s]])continue t;h.push(i[u[s]].slice())}c.push(h)}return c}},{"convex-hull":131}],429:[function(t,e,r){var n=t("./normalize"),a=t("gl-mat4/create"),i=t("gl-mat4/clone"),o=t("gl-mat4/determinant"),s=t("gl-mat4/invert"),l=t("gl-mat4/transpose"),c={length:t("gl-vec3/length"),normalize:t("gl-vec3/normalize"),dot:t("gl-vec3/dot"),cross:t("gl-vec3/cross")},u=a(),h=a(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,a){t[0]=e[0]*n+r[0]*a,t[1]=e[1]*n+r[1]*a,t[2]=e[2]*n+r[2]*a}e.exports=function(t,e,r,a,v,m){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),v||(v=[0,0,0,1]),m||(m=[0,0,0,1]),!n(u,t))return!1;if(i(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8))return!1;var y,x,b,_,w,k,T,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(f[0]=A,f[1]=M,f[2]=S,f[3]=P,!s(h,h))return!1;l(h,h),y=v,b=h,_=(x=f)[0],w=x[1],k=x[2],T=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*T,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*T,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*T,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*T}else v[0]=v[1]=v[2]=0,v[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),a[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-a[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),a[0]/=r[1],a[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-a[1]),a[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-a[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return m[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),m[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),m[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),m[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(m[0]=-m[0]),p[0][2]>p[2][0]&&(m[1]=-m[1]),p[1][0]>p[0][1]&&(m[2]=-m[2]),!0}},{"./normalize":430,"gl-mat4/clone":261,"gl-mat4/create":262,"gl-mat4/determinant":263,"gl-mat4/invert":267,"gl-mat4/transpose":278,"gl-vec3/cross":335,"gl-vec3/dot":340,"gl-vec3/length":350,"gl-vec3/normalize":357}],430:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,a=0;a<16;a++)t[a]=e[a]*n;return!0}},{}],431:[function(t,e,r){var n=t("gl-vec3/lerp"),a=t("mat4-recompose"),i=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=i(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=i(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),a(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{"gl-mat4/determinant":263,"gl-vec3/lerp":351,"mat4-decompose":429,"mat4-recompose":432,"quat-slerp":484}],432:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},a=(n.create(),n.create());e.exports=function(t,e,r,i,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(a),0!==i[2]&&(a[9]=i[2],n.multiply(t,t,a)),0!==i[1]&&(a[9]=0,a[8]=i[1],n.multiply(t,t,a)),0!==i[0]&&(a[8]=0,a[4]=i[0],n.multiply(t,t,a)),n.scale(t,t,r),t}},{"gl-mat4/create":262,"gl-mat4/fromRotationTranslation":265,"gl-mat4/identity":266,"gl-mat4/multiply":269,"gl-mat4/scale":276,"gl-mat4/translate":277}],433:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],434:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("mat4-interpolate"),i=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),h=(t("gl-mat4/scale"),t("gl-vec3/normalize")),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else a(o,f,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],h(g,g);var v=this.computedInverse;i(v,o);var m=this.computedEye,y=v[15];m[0]=v[12]/y,m[1]=v[13]/y,m[2]=v[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=m[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||f,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var a=0,i=0;i<3;++i)a+=Math.pow(r[i]-e[i],2);a=Math.log(Math.sqrt(a)),this.computedRadius[0]=a},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var a=this.computedInverse;e&&s(a,a,e),r&&o(a,a,r),n&&l(a,a,n),this.setMatrix(t,i(this.computedMatrix,a))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var a=this.computedInverse;u(a,a,g),this.setMatrix(t,i(a,a))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var a=this.computedMatrix;u(a,a,g),this.setMatrix(t,a)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{"binary-search-bounds":92,"gl-mat4/invert":267,"gl-mat4/lookAt":268,"gl-mat4/rotateX":273,"gl-mat4/rotateY":274,"gl-mat4/rotateZ":275,"gl-mat4/scale":276,"gl-mat4/translate":277,"gl-vec3/normalize":357,"mat4-interpolate":431}],435:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),a=0;a<e;++a)r[a]=a;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var i=new Array(e),a=0;a<e;++a)i[a]=a;i.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[i[0],i[1]],s=[i[0],i[1]],a=2;a<e;++a){for(var l=i[a],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,a=0,f=o.length;a<f;++a)r[h++]=o[a];for(var p=s.length-2;p>0;--p)r[h++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":508}],436:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,a=0,i=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==a||u!==i||l(s))&&(r=0|t,a=c||0,i=u||0,e&&e(r,a,i,o))}function u(t){c(0,t)}function h(){(r||a||i||o.shift||o.alt||o.meta||o.control)&&(a=i=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,a,i,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function v(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}v();var m={element:t};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(e){e?v():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return a},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=t("mouse-event")},{"mouse-event":438}],437:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var a=t.clientX||0,i=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],438:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],439:[function(t,e,r){"use strict";var n=t("to-px");e.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var a=n("ex",t),i=function(t){r&&t.preventDefault();var n=t.deltaX||0,i=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=a;break;case 2:l=window.innerHeight}if(i*=l,o*=l,(n*=l)||i||o)return e(n,i,o,t)};return t.addEventListener("wheel",i),i}},{"to-px":537}],440:[function(t,e,r){"use strict";var n=t("typedarray-pool");function a(t){return"a"+t}function i(t){return"d"+t}function o(t,e){return"c"+t+"_"+e}function s(t){return"s"+t}function l(t,e){return"t"+t+"_"+e}function c(t){return"o"+t}function u(t){return"x"+t}function h(t){return"p"+t}function f(t,e){return"d"+t+"_"+e}function p(t){return"i"+t}function d(t,e){return"u"+t+"_"+e}function g(t){return"b"+t}function v(t){return"y"+t}function m(t){return"e"+t}function y(t){return"v"+t}e.exports=function(t){function e(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&e("Must specify arguments");var r=t.order;Array.isArray(r)||e("Must specify order");var M=t.arrayArguments||1;M<1&&e("Must have at least one array argument");var S=t.scalarArguments||0;S<0&&e("Scalar arg count must be > 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var E=t.getters||[],L=new Array(M),C=0;C<M;++C)E.indexOf(C)>=0?L[C]=!0:L[C]=!1;return function(t,e,r,M,S,E){var L=E.length,C=S.length;if(C<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var P="extractContour"+S.join("_"),O=[],z=[],I=[],D=0;D<L;++D)I.push(a(D));for(var D=0;D<M;++D)I.push(u(D));for(var D=0;D<C;++D)z.push(s(D)+"="+a(0)+".shape["+D+"]|0");for(var D=0;D<L;++D){z.push(i(D)+"="+a(D)+".data",c(D)+"="+a(D)+".offset|0");for(var R=0;R<C;++R)z.push(l(D,R)+"="+a(D)+".stride["+R+"]|0")}for(var D=0;D<L;++D){z.push(h(D)+"="+c(D)),z.push(o(D,0));for(var R=1;R<1<<C;++R){for(var F=[],B=0;B<C;++B)R&1<<B&&F.push("-"+l(D,B));z.push(f(D,R)+"=("+F.join("")+")|0"),z.push(o(D,R)+"=0")}}for(var D=0;D<L;++D)for(var R=0;R<C;++R){var N=[l(D,S[R])];R>0&&N.push(l(D,S[R-1])+"*"+s(S[R-1])),z.push(d(D,S[R])+"=("+N.join("-")+")|0")}for(var D=0;D<C;++D)z.push(p(D)+"=0");z.push(_+"=0");for(var j=["2"],D=C-2;D>=0;--D)j.push(s(S[D]));z.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),z.push(g(0)+"=0");for(var R=1;R<1<<C;++R){for(var V=[],U=[],B=0;B<C;++B)R&1<<B&&(0===U.length?V.push("1"):V.unshift(U.join("*"))),U.push(s(S[B]));var q="";V[0].indexOf(s(S[C-2]))<0&&(q="-");var H=A(C,R,S);z.push(m(H)+"=(-"+V.join("-")+")|0",v(H)+"=("+q+V.join("-")+")|0",g(H)+"=0")}function G(t,e){O.push("for(",p(S[t]),"=",e,";",p(S[t]),"<",s(S[t]),";","++",p(S[t]),"){")}function Y(t){for(var e=0;e<L;++e)O.push(h(e),"+=",d(e,S[t]),";");O.push("}")}function W(){for(var t=1;t<1<<C;++t)O.push(T,"=",m(t),";",m(t),"=",v(t),";",v(t),"=",T,";")}z.push(y(0)+"=0",T+"=0"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<L;++e)E[e]?O.push(o(e,0),"=",i(e),".get(",h(e),");"):O.push(o(e,0),"=",i(e),"[",h(e),"];");for(var r=[],e=0;e<L;++e)r.push(o(e,0));for(var e=0;e<M;++e)r.push(u(e));O.push(g(0),"=",b,"[",k,"]=phase(",r.join(),");");for(var n=1;n<1<<C;++n)O.push(g(n),"=",b,"[",k,"+",m(n),"];");for(var a=[],n=1;n<1<<C;++n)a.push("("+g(0)+"!=="+g(n)+")");O.push("if(",a.join("||"),"){");for(var s=[],e=0;e<C;++e)s.push(p(e));for(var e=0;e<L;++e){s.push(o(e,0));for(var n=1;n<1<<C;++n)E[e]?O.push(o(e,n),"=",i(e),".get(",h(e),"+",f(e,n),");"):O.push(o(e,n),"=",i(e),"[",h(e),"+",f(e,n),"];"),s.push(o(e,n))}for(var e=0;e<1<<C;++e)s.push(g(e));for(var e=0;e<M;++e)s.push(u(e));O.push("vertex(",s.join(),");",y(0),"=",x,"[",k,"]=",_,"++;");for(var l=(1<<C)-1,c=g(l),n=0;n<C;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,v=g(d),w=[],T=d;T>0;T=T-1&d)w.push(x+"["+k+"+"+m(T)+"]");w.push(y(0));for(var T=0;T<L;++T)1&n?w.push(o(T,l),o(T,d)):w.push(o(T,d),o(T,l));1&n?w.push(c,v):w.push(v,c);for(var T=0;T<M;++T)w.push(u(T));O.push("if(",c,"!==",v,"){","face(",w.join(),")}")}O.push("}",k,"+=1;")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<L;++e)E[e]?r.push(i(e)+".get("+h(e)+")"):r.push(i(e)+"["+h(e)+"]");for(var e=0;e<M;++e)r.push(u(e));O.push(b,"[",k,"++]=phase(",r.join(),");");for(var e=0;e<t;++e)Y(e);for(var n=0;n<L;++n)O.push(h(n),"+=",d(n,S[t]),";")}(e);O.push("if(",s(S[e]),">0){",p(S[e]),"=1;");t(e-1,r|1<<S[e]);for(var n=0;n<L;++n)O.push(h(n),"+=",d(n,S[e]),";");e===C-1&&(O.push(k,"=0;"),W());G(e,2);t(e-1,r);e===C-1&&(O.push("if(",p(S[C-1]),"&1){",k,"=0;}"),W());Y(e);O.push("}")}(C-1,0),O.push("freeUint32(",x,");freeUint32(",b,");");var X=["'use strict';","function ",P,"(",I.join(),"){","var ",z.join(),";",O.join(""),"}","return ",P].join("");return new Function("vertex","face","phase","mallocUint32","freeUint32",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,L)};var x="V",b="P",_="N",w="Q",k="X",T="T";function A(t,e,r){for(var n=0,a=0;a<t;++a)e&1<<a&&(n|=1<<r[a]);return n}},{"typedarray-pool":543}],441:[function(t,e,r){"use strict";var n=t("cwise/lib/wrapper")({args:["index","array","scalar"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{"cwise/lib/wrapper":150}],442:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error("ndarray-gradient: invalid boundary conditions")}else r=n(e.dimension,"string"==typeof r?r:"clamp");if(t.dimension!==e.dimension+1)throw new Error("ndarray-gradient: output dimension must be +1 input dimension");if(t.shape[e.dimension]!==e.dimension)throw new Error("ndarray-gradient: output shape must match input shape");for(var a=0;a<e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error("ndarray-gradient: shape mismatch");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(m=o[e])return m;var r=t.length,n=["function gradient(dst,src){var s=src.shape.slice();"];function a(e){for(var a=r-e.length,i=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),i.push("1"),o.push("s["+l+"]-2"));var c=".lo("+i.join()+").hi("+o.join()+")";if(0===i.length&&(c=""),a>0){n.push("if(1");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",a,"(src.pick(",s.join(),")",c);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,h="dst.pick("+s.join()+","+u+")"+c;switch(t[u]){case"clamp":var f=s.slice(),p=s.slice();e[l]<0?f[u]="s["+u+"]-2":p[u]="1",0===a?n.push("if(s[",u,"]>1){dst.set(",s.join(),",",u,",0.5*(src.get(",f.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",h,",src.pick(",f.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",h,");};");break;case"mirror":0===a?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",h,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===a?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",h,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",h,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}a>0&&n.push("};")}for(var s=0;s<1<<r;++s){for(var h=[],f=0;f<r;++f)s&1<<f&&h.push(f+1);for(var p=0;p<1<<h.length;++p){for(var d=h.slice(),f=0;f<h.length;++f)p&1<<f&&(d[f]=-d[f]);a(d)}}n.push("return dst;};return gradient");for(var g=["diff","zero"],v=[l,c],s=1;s<=r;++s)g.push("grad"+s),v.push(u(s));g.push(n.join(""));var m=Function.apply(void 0,g).apply(void 0,v);return i[e]=m,m}(r)(t,e)};var n=t("dup"),a=t("cwise-compiler"),i={},o={},s={body:"",args:[],thisVars:[],localVars:[]},l=a({args:["array","array","array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1},{name:"left",lvalue:!1,rvalue:!0,count:1},{name:"right",lvalue:!1,rvalue:!0,count:1}],body:"out=0.5*(left-right)",thisVars:[],localVars:[]},funcName:"cdiff"}),c=a({args:["array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1}],body:"out=0",thisVars:[],localVars:[]},funcName:"zero"});function u(t){if(t in i)return i[t];for(var e=[],r=0;r<t;++r)e.push("out",r,"s=0.5*(inp",r,"l-inp",r,"r);");var o=["array"],l=["junk"];for(r=0;r<t;++r){o.push("array"),l.push("out"+r+"s");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push("inp"+r+"l","inp"+r+"r")}return i[t]=a({args:o,pre:s,post:s,body:{body:e.join(""),args:l.map(function(t){return{name:t,lvalue:0===t.indexOf("out"),rvalue:0===t.indexOf("inp"),count:"junk"!==t|0}}),thisVars:[],localVars:[]},funcName:"fdTemplate"+t})}},{"cwise-compiler":147,dup:171}],443:[function(t,e,r){"use strict";var n=t("ndarray-warp"),a=t("gl-matrix-invert");e.exports=function(t,e,r){var i=e.dimension,o=a([],r);return n(t,e,function(t,e){for(var r=0;r<i;++r){t[r]=o[(i+1)*i+r];for(var n=0;n<i;++n)t[r]+=o[(i+1)*n+r]*e[n]}var a=o[(i+1)*(i+1)-1];for(n=0;n<i;++n)a+=o[(i+1)*n+i]*e[n];var s=1/a;for(r=0;r<i;++r)t[r]*=s;return t}),t}},{"gl-matrix-invert":279,"ndarray-warp":450}],444:[function(t,e,r){"use strict";function n(t,e){var r=Math.floor(e),n=e-r,a=0<=r&&r<t.shape[0],i=0<=r+1&&r+1<t.shape[0];return(1-n)*(a?+t.get(r):0)+n*(i?+t.get(r+1):0)}function a(t,e,r){var n=Math.floor(e),a=e-n,i=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],h=i&&c?t.get(n,s):0,f=i&&u?t.get(n,s+1):0;return(1-l)*((1-a)*h+a*(o&&c?t.get(n+1,s):0))+l*((1-a)*f+a*(o&&u?t.get(n+1,s+1):0))}function i(t,e,r,n){var a=Math.floor(e),i=e-a,o=0<=a&&a<t.shape[0],s=0<=a+1&&a+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),p=n-f,d=0<=f&&f<t.shape[2],g=0<=f+1&&f+1<t.shape[2],v=o&&u&&d?t.get(a,l,f):0,m=o&&h&&d?t.get(a,l+1,f):0,y=s&&u&&d?t.get(a+1,l,f):0,x=s&&h&&d?t.get(a+1,l+1,f):0,b=o&&u&&g?t.get(a,l,f+1):0,_=o&&h&&g?t.get(a,l+1,f+1):0;return(1-p)*((1-c)*((1-i)*v+i*y)+c*((1-i)*m+i*x))+p*((1-c)*((1-i)*b+i*(s&&u&&g?t.get(a+1,l,f+1):0))+c*((1-i)*_+i*(s&&h&&g?t.get(a+1,l+1,f+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return a(t,e,r);case 3:return i(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,a=new Array(n),i=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],a[e]=Math.floor(r),i[e]=r-a[e],o[e]=0<=a[e]&&a[e]<t.shape[e],s[e]=0<=a[e]+1&&a[e]+1<t.shape[e];var l,c,u,h=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=i[l],u+=t.stride[l]*(a[l]+1)}else{if(!o[l])continue t;c*=1-i[l],u+=t.stride[l]*a[l]}h+=c*t.data[u]}return h}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=a,e.exports.d3=i},{}],445:[function(t,e,r){"use strict";var n=t("cwise-compiler"),a={body:"",args:[],thisVars:[],localVars:[]};function i(t){if(!t)return a;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function o(t){for(var e=[],r=0;r<t.args.length;++r)e.push("a"+r);return new Function("P",["return function ",t.funcName,"_ndarrayops(",e.join(","),") {P(",e.join(","),");return a0}"].join(""))(function(t){return n({args:t.args,pre:i(t.pre),body:i(t.body),post:i(t.proc),funcName:t.funcName})}(t))}var s={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:e}),r[e+"eq"]=o({args:["array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"})}}();var h=["max","min","atan2","pow"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e}),r[e+"s"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e+"s"}),r[e+"eq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"}),r[e+"seq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"seq"})}}();var f=["atan2","pow"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e+"op"]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"op"}),r[e+"ops"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"ops"}),r[e+"opeq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opeq"}),r[e+"opseq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opseq"})}}(),r.any=n({args:["array"],pre:a,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),r.all=n({args:["array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),r.sum=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),r.prod=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),r.norm2squared=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),r.norm2=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),r.norminf=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.argmin=n({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.argmax=n({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":147}],446:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("./doConvert.js");e.exports=function(t,e){for(var r=[],i=t,o=1;Array.isArray(i);)r.push(i.length),o*=i.length,i=i[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),a(e,t),e)}},{"./doConvert.js":447,ndarray:451}],447:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":147}],448:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=32;function i(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push("s"+r);for(r=0;r<t;++r)e.push("n"+r);for(r=1;r<t;++r)e.push("d"+r);for(r=1;r<t;++r)e.push("e"+r);for(r=1;r<t;++r)e.push("f"+r);return e}e.exports=function(t,e){var r=["'use strict'"],n=["ndarraySortWrapper",t.join("d"),e].join("");r.push(["function ",n,"(",["array"].join(","),"){"].join(""));for(var s=["data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride"],l=0;l<t.length;++l)s.push(["s",l,"=stride[",l,"]|0,n",l,"=shape[",l,"]|0"].join(""));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l)0!==(p=t[l])&&(0===u.length?c[p]="1":c[p]=u.join("*"),u.push("n"+p));var h=-1,f=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(h>0?s.push(["d",d,"=s",d,"-d",h,"*n",h].join("")):s.push(["d",d,"=s",d].join("")),h=d),0!=(p=t.length-1-l)&&(f>0?s.push(["e",p,"=s",p,"-e",f,"*n",f,",f",p,"=",c[p],"-f",f,"*n",f].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),f=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",a,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var v=new Function("insertionSort","quickSort",r.join("\n")),m=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),a=["left","right","data","offset"].concat(o(t.length)),s=i(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push("i"+u),c.push("n"+u);s?l.push("scratch=malloc("+c.join("*")+")"):l.push("scratch=new Array("+c.join("*")+")"),l.push("dptr","sptr","a","b")}else l.push("scratch");function h(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function f(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}if(r.push(["function ",n,"(",a.join(","),"){var ",l.join(",")].join(""),"for(i=left+1;i<=right;++i){","j=i;ptr+=s0","cptr=ptr"),t.length>1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push("scratch[dptr++]=",h("sptr")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push("sptr+=d"+p,"}");for(r.push("__g:while(j--\x3eleft){","dptr=0","sptr=cptr-s0"),u=1;u<t.length;++u)1===u&&r.push("__l:"),r.push(["for(i",u,"=0;i",u,"<n",u,";++i",u,"){"].join(""));for(r.push(["a=",h("sptr"),"\nb=scratch[dptr]\nif(a<b){break __g}\nif(a>b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(f("dptr",h("sptr"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(["dptr+=d",p,";sptr+=d",p].join(""),"}");for(r.push("cptr-=s0\n}"),r.push("dptr=cptr;sptr=0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(f("dptr","scratch[sptr++]")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push("dptr+=d"+p,"}")}}else r.push("scratch="+h("ptr"),"while((j--\x3eleft)&&("+h("cptr-s0")+">scratch)){",f("cptr",h("cptr-s0")),"cptr-=s0","}",f("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=i(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var h=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var f=[],p=1;p<t.length;++p)f.push("n"+p),h.push("i"+p);for(p=0;p<8;++p)h.push("b_ptr"+p);h.push("ptr3","ptr4","ptr5","ptr6","ptr7","pivot_ptr","ptr_shift","elementSize="+f.join("*")),c?h.push("pivot1=malloc(elementSize)","pivot2=malloc(elementSize)"):h.push("pivot1=new Array(elementSize),pivot2=new Array(elementSize)")}else h.push("pivot1","pivot2");function d(t){return["(offset+",t,"*s0)"].join("")}function g(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function v(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}function m(e,r,a){if(1===e.length)n.push("ptr0="+d(e[0]));else for(var i=0;i<e.length;++i)n.push(["b_ptr",i,"=s0*",e[i]].join(""));for(r&&n.push("pivot_ptr=0"),n.push("ptr_shift=offset"),i=t.length-1;i>=0;--i)0!==(o=t[i])&&n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(e.length>1)for(i=0;i<e.length;++i)n.push(["ptr",i,"=b_ptr",i,"+ptr_shift"].join(""));for(n.push(a),r&&n.push("++pivot_ptr"),i=0;i<t.length;++i){var o;0!==(o=t[i])&&(e.length>1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,a,i){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o<r.length;++o)n.push(["b_ptr",o,"=s0*",r[o]].join(""));n.push("ptr_shift=offset")}for(a&&n.push("pivot_ptr=0"),e&&n.push(e+":"),o=1;o<t.length;++o)n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(r.length>1)for(o=0;o<r.length;++o)n.push(["ptr",o,"=b_ptr",o,"+ptr_shift"].join(""));for(n.push(i),o=t.length-1;o>=1;--o)a&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var a="el"+e,i="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[a,i],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",a,";",a,"=",i,";",i,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(a)),">",g(d(i)),"){tmp0=",a,";",a,"=",i,";",i,"=tmp0}"].join(""))}function _(e,r){t.length>1?m([e,r],!1,v("ptr0",g("ptr1"))):n.push(v(d(e),g(d(r))))}function w(e,r,a){if(t.length>1){var i="__l"+ ++u;y(i,[r],!0,[e,"=",g("ptr0"),"-pivot",a,"[pivot_ptr]\n","if(",e,"!==0){break ",i,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",a].join(""))}function k(e,r){t.length>1?m([e,r],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join(""))}function T(e,r,a){t.length>1?(m([e,r,a],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join("")),n.push("++"+r,"--"+a)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(a),"\n","++",r,"\n","--",a,"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join(""))}function A(t,e){k(t,e),n.push("--"+e)}function M(e,r,a){t.length>1?m([e,r],!0,[v("ptr0",g("ptr1")),"\n",v("ptr1",["pivot",a,"[pivot_ptr]"].join(""))].join("")):n.push(v(d(e),g(d(r))),v(d(r),"pivot"+a))}function S(e,r){n.push(["if((",r,"-",e,")<=",a,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,a){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),m([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(a,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",a,"}"].join(""))}return n.push("var "+h.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?m(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",v("ptr5","x"),"\n",v("ptr6","y"),"\n",v("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",v(d("index1"),"x"),"\n",v(d("index3"),"y"),"\n",v(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),T("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),T("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),M("left","(less-1)",1),M("right","(great+1)",2),S("left","(less-2)"),S("(great+2)","right"),n.push("if(pivots_are_equal){"),x(),n.push("return"),n.push("}"),n.push("if(less<index1&&great>index5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),T("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),x(),S("less","great"),n.push("}return "+s),t.length>1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,m);return v(m,y)}},{"typedarray-pool":543}],449:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),a={};e.exports=function(t){var e=t.order,r=t.dtype,i=[e,r].join(":"),o=a[i];return o||(a[i]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":448}],450:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:i(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:a(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":150,"ndarray-linear-interpolate":444}],451:[function(t,e,r){var n=t("iota-array"),a=t("is-buffer"),i="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=["View",e,"d",t].join("");e<0&&(r="View_Nil"+t);var a="generic"===t;if(-1===e){var i="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(i)()}if(0===e){i="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(a?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(a?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",i)(c[t][0])}i=["'use strict'"];var o=n(e),l=o.map(function(t){return"i"+t}),u="this.offset+"+o.map(function(t){return"this.stride["+t+"]*i"+t}).join("+"),h=o.map(function(t){return"b"+t}).join(","),f=o.map(function(t){return"c"+t}).join(",");i.push("function "+r+"(a,"+h+","+f+",d){this.data=a","this.shape=["+h+"]","this.stride=["+f+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+t+"'","proto.dimension="+e),i.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+o.map(function(t){return"this.shape["+t+"]"}).join("*"),"}})"),1===e?i.push("proto.order=[0]"):(i.push("Object.defineProperty(proto,'order',{get:"),e<4?(i.push("function "+r+"_order(){"),2===e?i.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&i.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):i.push("ORDER})")),i.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),a?i.push("return this.data.set("+u+",v)}"):i.push("return this.data["+u+"]=v}"),i.push("proto.get=function "+r+"_get("+l.join(",")+"){"),a?i.push("return this.data.get("+u+")}"):i.push("return this.data["+u+"]}"),i.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),i.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});i.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'&&i"+g+">=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");i.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),i.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'){d=i"+g+"|0;if(d<0){c+=b"+g+"*(a"+g+"-1);a"+g+"=ceil(-a"+g+"/d)}else{a"+g+"=ceil(a"+g+"/d)}b"+g+"*=d}");i.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"b"+t}).join(",")+",c)}");var v=new Array(e),m=new Array(e);for(g=0;g<e;++g)v[g]="a[i"+g+"]",m[g]="b[i"+g+"]";i.push("proto.transpose=function "+r+"_transpose("+l+"){"+l.map(function(t,e){return t+"=("+t+"===undefined?"+e+":"+t+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+v.join(",")+","+m.join(",")+",this.offset)}"),i.push("proto.pick=function "+r+"_pick("+l+"){var a=[],b=[],c=this.offset");for(g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'&&i"+g+">=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return i.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),i.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",i.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var h=function(t){if(a(t))return"buffer";if(i)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped"}return Array.isArray(t)?"array":"generic"}(t),f=c[h];f.length<=o+1;)f.push(l(h,f.length-1));return(0,f[o+1])(t,e,r,n)}},{"iota-array":417,"is-buffer":419}],452:[function(t,e,r){"use strict";var n=t("double-bits"),a=Math.pow(2,-1074),i=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===i?(r+=1,o=0):o+=1:0===o?(o=i,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":168}],453:[function(t,e,r){var n=Math.PI,a=c(120);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}function s(t,e,r,i,o,c,u,h,f,p){if(p)k=p[0],T=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(h=(d=l(h,f,-o)).x))/2,v=(e-(f=d.y))/2,m=g*g/(r*r)+v*v/(i*i);m>1&&(r*=m=Math.sqrt(m),i*=m);var y=r*r,x=i*i,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*v*v-x*g*g)/(y*v*v+x*g*g)));b==1/0&&(b=1);var _=b*r*v/i+(t+h)/2,w=b*-i*g/r+(e+f)/2,k=Math.asin(((e-w)/i).toFixed(9)),T=Math.asin(((f-w)/i).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(T=h<_?n-T:T)<0&&(T=2*n+T),u&&k>T&&(k-=2*n),!u&&T>k&&(T-=2*n)}if(Math.abs(T-k)>a){var A=T,M=h,S=f;T=k+a*(u&&T>k?1:-1);var E=s(h=_+r*Math.cos(T),f=w+i*Math.sin(T),r,i,o,0,u,M,S,[T,A,_,w])}var L=Math.tan((T-k)/4),C=4/3*r*L,P=4/3*i*L,O=[2*t-(t+C*Math.sin(k)),2*e-(e-P*Math.cos(k)),h+C*Math.sin(T),f-P*Math.cos(T),h,f];if(p)return O;E&&(O=O.concat(E));for(var z=0;z<O.length;){var I=l(O[z],O[z+1],o);O[z++]=I.x,O[z++]=I.y}return O}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,a=0,l=0,u=0,h=null,f=null,p=0,d=0,g=0,v=t.length;g<v;g++){var m=t[g],y=m[0];switch(y){case"M":l=m[1],u=m[2];break;case"A":(m=s(p,d,m[1],m[2],c(m[3]),m[4],m[5],m[6],m[7])).unshift("C"),m.length>7&&(r.push(m.splice(0,7)),m.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-a),m=["C",x,b,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),m=o(p,d,h,f,m[1],m[2]);break;case"Q":h=m[1],f=m[2],m=o(p,d,m[1],m[2],m[3],m[4]);break;case"L":m=i(p,d,m[1],m[2]);break;case"H":m=i(p,d,m[1],d);break;case"V":m=i(p,d,p,m[1]);break;case"Z":m=i(p,d,l,u)}e=y,p=m[m.length-2],d=m[m.length-1],m.length>4?(n=m[m.length-4],a=m[m.length-3]):(n=p,a=d),r.push(m)}return r}},{}],454:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o)a[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],h=0;h<s.length;++h){l=c,c=u,u=s[(h+1)%s.length];for(var f=e[l],p=e[c],d=e[u],g=new Array(3),v=0,m=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],v+=g[x]*g[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(v*y>i){var b=a[c],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(m[w]*g[k]-m[k]*g[w])}}}for(o=0;o<n;++o){b=a[o];var T=0;for(x=0;x<3;++x)T+=b[x]*b[x];if(T>i)for(_=1/Math.sqrt(T),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),h=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],h[c]=l[2][c]-l[0][c];var f=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;f[c]=u[d]*h[g]-u[g]*h[d],p+=f[c]*f[c]}p=p>i?1/Math.sqrt(p):0;for(c=0;c<3;++c)f[c]*=p;a[o]=f}return a}},{}],455:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))a.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)i.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],456:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i,o,s,l,c){var u=e+i+c;if(h>0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-i)/h,t[3]=.5*h}else{var f=Math.max(e,i,c),h=Math.sqrt(2*f-u+1);e>=f?(t[0]=.5*h,t[1]=.5*(a+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):i>=f?(t[0]=.5*(r+a)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-a)/h)}return t}},{}],457:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var a=new h(r,e,Math.log(n));a.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&a.lookAt(0,t.eye,t.center,t.up);return a};var n=t("filtered-vector"),a=t("gl-mat4/lookAt"),i=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=c(r,n,a,i);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=a/o,t[3]=i/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;i(r,e);var n=this.computedCenter,a=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);a[0]=n[0]+s*r[2],a[1]=n[1]+s*r[6],a[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*a[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=a[1],o=a[5],s=a[9],c=l(i,o,s);i/=c,o/=c,s/=c;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=l(u-=i*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var g=a[2],v=a[6],m=a[10],y=g*i+v*o+m*s,x=g*u+v*h+m*f,b=l(g-=y*i+x*u,v-=y*o+x*h,m-=y*s+x*f);g/=b,v/=b,m/=b;var _=u*e+i*r,w=h*e+o*r,k=f*e+s*r;this.center.move(t,_,w,k);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(t,Math.log(T))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var a=this.computedMatrix,i=a[0],o=a[4],s=a[8],u=a[1],h=a[5],f=a[9],p=a[2],d=a[6],g=a[10],v=e*i+r*u,m=e*o+r*h,y=e*s+r*f,x=-(d*y-g*m),b=-(g*v-p*y),_=-(p*m-d*v),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var T=this.computedRotation,A=T[0],M=T[1],S=T[2],E=T[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var I=c(L,C,P,O);I>1e-6?(L/=I,C/=I,P/=I,O/=I):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;a(i,e,r,n);var o=this.computedRotation;s(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var a=n[15];if(Math.abs(a)>1e-6){var i=n[12]/a,l=n[13]/a,c=n[14]/a;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,i-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var a=t.distance;a&&a>0&&this.radius.set(e,Math.log(a)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":456,"filtered-vector":228,"gl-mat4/fromQuat":264,"gl-mat4/invert":267,"gl-mat4/lookAt":268}],458:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":501}],459:[function(t,e,r){"use strict";function n(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],a=e.escape||"___",i=!!e.flat;n.forEach(function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function i(e,i,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),a+s+a}r.forEach(function(t,n){for(var a,o=0;t!=a;)if(a=t,t=t.replace(e,i),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t}),n=n.reverse(),r=r.map(function(e){return n.forEach(function(r){e=e.replace(new RegExp("(\\"+a+r+"\\"+a+")","g"),t[0]+"$1"+t[1])}),e})});var o=new RegExp("\\"+a+"([0-9]+)\\"+a);return i?r:function t(e,r,n){for(var a,i=[],s=0;a=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");i.push(e.slice(0,a.index)),i.push(t(r[a[1]],r)),e=e.slice(a.index+a[0].length)}return i.push(e),i}(r[0],r)}function a(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",a=t[0];if(!a)return"";for(var i=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;a!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=a,a=a.replace(i,s)}return a}return t.reduce(function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r},"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function i(t,e){return Array.isArray(t)?a(t,e):n(t,e)}i.parse=n,i.stringify=a,e.exports=i},{}],460:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":466}],461:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(a,function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(i);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(e.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==n[o])return a.unshift(r),e.push(a);if(a.length<n[o])throw new Error("malformed path data");e.push([r].concat(a.splice(0,n[o])))}}),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var i=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],462:[function(t,e,r){e.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},{}],463:[function(t,e,r){(function(t){(function(){var r,n,a,i,o,s;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,i=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=i-s):Date.now?(e.exports=function(){return Date.now()-a},a=Date.now()):(e.exports=function(){return(new Date).getTime()-a},a=(new Date).getTime())}).call(this)}).call(this,t("_process"))},{_process:483}],464:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,i=0;i<e;++i)for(var o=0;o<i;++o)if(t[i]<t[o])r=-r;else if(t[i]===t[o])return 0;return r}for(var s=a.mallocUint8(e),i=0;i<e;++i)s[i]=0;for(var r=1,i=0;i<e;++i)if(!s[i]){var l=1;s[i]=1;for(var o=t[i];o!==i;o=t[o]){if(s[o])return a.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return a.freeUint8(s),r};var n=32,a=t("typedarray-pool")},{"typedarray-pool":543}],465:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=t("invert-permutation");r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,i,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(a(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)i=l[o],r=s[o],s[o]=s[i],s[i]=r,l[o]=l[r],l[r]=i,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,a,i,o=1;for((r=r||new Array(t))[0]=0,i=1;i<t;++i)r[i]=i,o=o*i|0;for(i=t-1;i>0;--i)e=e-(n=e/o|0)*o|0,o=o/i|0,a=0|r[i],r[i]=0|r[n],r[n]=0|a;return r}},{"invert-permutation":416,"typedarray-pool":543}],466:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,i,o={};if("string"==typeof e&&(e=a(e)),Array.isArray(e)){var s={};for(i=0;i<e.length;i++)s[e[i]]=!0;e=s}for(n in e)e[n]=a(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(i=0;i<c.length;i++){var u=c[i];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var h=i;h<c.length;h++)l[c[h]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function a(t){return n[t]?n[t]:("string"==typeof t&&(t=n[t]=t.split(/\s*,\s*|\s+/)),t)}},{}],467:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,a=t.length,i=[new Array(r),new Array(r)],o=0;o<r;++o)i[0][o]=[],i[1][o]=[];for(var o=0;o<a;++o){var s=t[o];i[0][s[0]].push(s),i[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)i[0][o].length+i[1][o].length===0&&l.push([o]);function c(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,a){for(var o,s,l,u=0;u<2;++u)if(i[u][r].length>0){o=i[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=i[h][r],p=0;p<f.length;++p){var d=f[p],g=d[1^h],v=n(e[t],e[r],e[s],e[g]);v>0&&(o=d,s=g,l=h)}return a?s:(o&&c(o,l),s)}function h(t,r){var a=i[r][t][0],o=[t];c(a,r);for(var s=a[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(i[0][t].length+i[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];i[p][o].length>0;){i[0][o].length;var g=h(o,p);f(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":128}],468:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),a=new Array(e.length),i=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;i[s]=l,a[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();a[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var h=u[s];0==--i[h]&&o.push(h)}}for(var f=new Array(e.length),p=[],s=0;s<e.length;++s)if(a[s]){var c=p.length;f[s]=c,p.push(e[s])}else f[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];a[g[0]]&&a[g[1]]&&d.push([f[g[0]],f[g[1]]])}return[d,p]};var n=t("edges-to-adjacency-list")},{"edges-to-adjacency-list":173}],469:[function(t,e,r){"use strict";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var h=(e=r[1]).length,f=(t.length,n(t,e.length)),p=0;p<h;++p)if(f[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=a(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],a=0;a<r;++a){var i=e[t[a]],l=e[t[(a+1)%r]],c=o(-i[0],i[1]),u=o(-i[0],l[1]),h=o(l[0],i[1]),f=o(l[0],l[1]);n=s(n,s(s(c,u),s(h,f)))}return n[n.length-1]>0})).length,v=new Array(g),m=new Array(g),p=0;p<g;++p){v[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=i([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],T=k.length,A=0;A<T;++A){var M=b(e[k[A]]);if(0!==M){M<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}m[p]=[_,p,y]}m.sort(function(t,e){return e[0]-t[0]});for(var p=0;p<g;++p)for(var y=m[p],S=y[1],E=y[2],w=0;w<g;++w)E[w]&&(v[w]=S);for(var L=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)L[p].push(v[p]),L[v[p]].push(p);for(var C={},P=u(h,!1),p=0;p<g;++p)for(var k=d[p],T=k.length,w=0;w<T;++w){var O=k[w],z=k[(w+1)%T],I=Math.min(O,z)+":"+Math.max(O,z);if(I in C){var D=C[I];L[D].push(p),L[p].push(D),P[O]=P[z]=!0}else C[I]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!P[t[r]])return!1;return!0}for(var F=[],B=u(g,-1),p=0;p<g;++p)v[p]!==p||R(d[p])?B[p]=-1:(F.push(p),B[p]=0);var r=[];for(;F.length>0;){var N=F.pop(),j=L[N];l(j,function(t,e){return t-e});var V,U=j.length,q=B[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(B[H]>=0)&&(B[H]=1^q,F.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t("edges-to-adjacency-list"),a=t("planar-dual"),i=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{"./lib/trim-leaves":468,"edges-to-adjacency-list":173,"planar-dual":467,"point-in-big-polygon":473,"robust-sum":513,"two-product":541,uniq:545}],470:[function(t,e,r){"use strict";e.exports=t("./quad")},{"./quad":472}],471:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],472:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("clamp"),i=t("parse-rect"),o=t("array-bounds"),s=t("pick-by-alias"),l=t("defined"),c=t("flatten-vertex-data"),u=t("is-obj"),h=t("dtype"),f=t("math-log2"),p=1073741824;function d(t,e){for(var r=e[0],n=e[1],i=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=a((t[2*l]-r)*i,0,1),s[2*l+1]=a((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,"float64"),e=s(e,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var r=l(e.maxDepth,255),a=l(e.bounds,o(t,2));a[0]===a[2]&&a[2]++,a[1]===a[3]&&a[3]++;var g,v=d(t,a),m=t.length>>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?g=new(h(e.dtype))(m):e.dtype&&(g=e.dtype,Array.isArray(g)&&(g.length=m));for(var y=0;y<m;++y)g[y]=y;var x=[],b=[],_=[],w=[];!function t(e,n,a,i,o,s){if(!i.length)return null;var l=x[o]||(x[o]=[]);var c=_[o]||(_[o]=[]);var u=b[o]||(b[o]=[]);var h=l.length;o++;if(o>r||s>p){for(var f=0;f<i.length;f++)l.push(i[f]),c.push(s),u.push(null,null,null,null);return h}l.push(i[0]);c.push(s);if(i.length<=1)return u.push(null,null,null,null),h;var d=.5*a;var g=e+d,m=n+d;var y=[],w=[],k=[],T=[];for(var A=1,M=i.length;A<M;A++){var S=i[A],E=v[2*S],L=v[2*S+1];E<g?L<m?y.push(S):w.push(S):L<m?k.push(S):T.push(S)}s<<=2;u.push(t(e,n,d,y,o,s),t(e,m,d,w,o,s+1),t(g,n,d,k,o,s+2),t(g,m,d,T,o,s+3));return h}(0,0,1,g,0,1);for(var k=0,T=0;T<x.length;T++){var A=x[T];if(g.set)g.set(A,k);else for(var M=0,S=A.length;M<S;M++)g[M+k]=A[M];var E=k+x[T].length;w[T]=[k,E],k=E}return g.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else e={};r.length||(r=a);var h=i.apply(void 0,r),p=[Math.min(h.x,h.x+h.width),Math.min(h.y,h.y+h.height),Math.max(h.x,h.x+h.width),Math.max(h.y,h.y+h.height)],g=p[0],v=p[1],m=p[2],y=p[3],k=d([g,v,m,y],a),T=k[0],A=k[1],M=k[2],S=k[3],E=l(e.level,x.length);if(null!=e.d){var C;"number"==typeof e.d?C=[e.d,e.d]:e.d.length&&(C=e.d),E=Math.min(Math.max(Math.ceil(-f(Math.abs(C[0])/(a[2]-a[0]))),Math.ceil(-f(Math.abs(C[1])/(a[3]-a[1])))),E)}if(E=Math.min(E,x.length),e.lod)return function(t,e,r,a,i){for(var o=[],s=0;s<i;s++){var l=_[s],c=w[s][0],u=L(t,e,s),h=L(r,a,s),f=n.ge(l,u),p=n.gt(l,h,f,l.length-1);o[s]=[f+c,p+c]}return o}(T,A,M,S,E);var P=[];return function e(r,n,a,i,o,s){if(null!==o&&null!==s){var l=r+a,c=n+a;if(!(T>l||A>c||M<r||S<n||i>=E||o===s)){var u=x[i];void 0===s&&(s=u.length);for(var h=o;h<s;h++){var f=u[h],p=t[2*f],d=t[2*f+1];p>=g&&p<=m&&d>=v&&d<=y&&P.push(f)}var _=b[i],w=_[4*o+0],k=_[4*o+1],L=_[4*o+2],C=_[4*o+3],O=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(_,o+1),z=.5*a,I=i+1;e(r,n,z,I,w,k||L||C||O),e(r,n+z,z,I,k,L||C||O),e(r+z,n,z,I,L,C||O),e(r+z,n+z,z,I,C,O)}}}(0,0,1,0,0,1),P},g;function L(t,e,r){for(var n=1,a=.5,i=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<a?e<i?0:1:e<i?2:3,o*=.5,a+=t<a?-o:o,i+=e<i?-o:o;return n}}},{"array-bounds":67,"binary-search-bounds":471,clamp:116,defined:165,dtype:170,"flatten-vertex-data":229,"is-obj":422,"math-log2":433,"parse-rect":460,"pick-by-alias":466}],473:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],i=[],s=0;s<e;++s)for(var u=t[s],h=u.length,f=h-1,p=0;p<h;f=p++){var d=u[f],g=u[p];d[0]===g[0]?i.push([d,g]):r.push([d,g])}if(0===r.length)return 0===i.length?c:(v=l(i),function(t){return v(t[0],t[1])?0:1});var v;var m=a(r),y=function(t,e){return function(r){var a=o.le(e,r[0]);if(a<0)return 1;var i=t[a];if(!i){if(!(a>0&&e[a]===r[0]))return 1;i=t[a-1]}for(var s=1;i;){var l=i.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)i=i.left;else{if(!(c>0))return 0;s=-1,i=i.right}else if(c>0)i=i.left;else{if(!(c<0))return 0;s=1,i=i.right}}return s}}(m.slabs,m.coordinates);return 0===i.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(i),y)};var n=t("robust-orientation")[3],a=t("slab-decomposition"),i=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];a in e?e[a].push(c):e[a]=[c]}var u={},h=Object.keys(e);for(r=0;r<h.length;++r){var f=e[h[r]];u[h[r]]=i(f)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{"binary-search-bounds":92,"interval-tree-1d":415,"robust-orientation":508,"slab-decomposition":524}],474:[function(t,e,r){var n,a=t("./lib/build-log"),i=t("./lib/epsilon"),o=t("./lib/intersecter"),s=t("./lib/segment-chainer"),l=t("./lib/segment-selector"),c=t("./lib/geojson"),u=!1,h=i();function f(t,e,r){var a=n.segments(t),i=n.segments(e),o=r(n.combine(a,i));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=a():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=o(!0,h,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,h,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,h,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,h,t)},union:function(t,e){return f(t,e,n.selectUnion)},intersect:function(t,e){return f(t,e,n.selectIntersect)},difference:function(t,e){return f(t,e,n.selectDifference)},differenceRev:function(t,e){return f(t,e,n.selectDifferenceRev)},xor:function(t,e){return f(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),e.exports=n},{"./lib/build-log":475,"./lib/epsilon":476,"./lib/geojson":477,"./lib/intersecter":478,"./lib/segment-chainer":480,"./lib/segment-selector":481}],475:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1,"  ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},{}],476:[function(t,e,r){e.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var a=r[0],i=r[1],o=n[0],s=n[1],l=e[0];return(o-a)*(e[1]-i)-(s-i)*(l-a)>=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*i+a*s;return!(l<t||l-(i*i+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var a=e[0]-r[0],i=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(a*s-o*i)<t},linesIntersect:function(e,r,n,a){var i=r[0]-e[0],o=r[1]-e[1],s=a[0]-n[0],l=a[1]-n[1],c=i*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*u)/c,p=(i*h-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+f*i,e[1]+f*o]};return d.alongA=f<=-t?-2:f<t?-1:f-1<=-t?0:f-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],a=e[1],i=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-a>t!=o-a>t&&(i-c)*(a-u)/(o-u)+c-n>t&&(s=!s),i=c,o=u}return s}};return e}},{}],477:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),a=1;a<e.length;a++)n=t.selectDifference(t.combine(n,r(e[a])));return n}if("Polygon"===e.type)return t.polygon(r(e.coordinates));if("MultiPolygon"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),a=0;a<e.coordinates.length;a++)n=t.selectUnion(t.combine(n,r(e.coordinates[a])));return t.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function a(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var i=a(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var i=a(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(i.children.push(s),t.children.splice(r,1),r--)}t.children.push(i)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(i,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],a=t[t.length-1][1],i=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];i.push([s,l]),r+=l*n-s*a,n=s,a=l}return r<0!==e&&i.reverse(),i.push([i[0][0],i[0][1]]),i}var u=[];function h(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(f(t.children[r]))}function f(t){for(var e=0;e<t.children.length;e++)h(t.children[e]);return c(t.region,!0)}for(s=0;s<i.children.length;s++)h(i.children[s]);return u.length<=0?{type:"Polygon",coordinates:[]}:1==u.length?{type:"Polygon",coordinates:u[0]}:{type:"MultiPolygon",coordinates:u}}};e.exports=n},{}],478:[function(t,e,r){var n=t("./linked-list");e.exports=function(t,e,r){function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var i=n.create();function o(t,r){i.insertBefore(t,function(n){return function(t,r,n,a,i,o){var s=e.pointsCompare(r,i);return 0!==s?s:e.pointsSame(n,o)?0:t!==a?t?1:-1:e.pointAboveOrOnLine(n,a?i:o,a?o:i)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var a=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=a,o(a,t.pt)}(r,t,e),r}function l(t,e){var n=a(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(a,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,a,i,o,s,l;return n=t,a=r.ev,i=n.seg.start,o=n.seg.end,s=a.seg.start,l=a.seg.end,(e.pointsCollinear(i,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(i,s,l)?1:-1)>0})}function u(t,n){var a=t.seg,i=n.seg,o=a.start,s=a.end,c=i.start,u=i.end;r&&r.checkIntersection(a,i);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(f)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!i.isEmpty();){var f=i.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function v(){if(d){var t=u(f,d);if(t)return t}return!!g&&u(f,g)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!g&&g.seg);var m,y,x=v();if(x)t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=f.seg.myFill,r&&r.segmentUpdate(x.seg),f.other.remove(),f.remove();if(i.getHead()!==f){r&&r.rewind(f.seg);continue}t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=g?g.seg.myFill.above:a,f.seg.myFill.above=y?!f.seg.myFill.below:f.seg.myFill.below):null===f.seg.otherFill&&(m=g?f.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:f.primary?o:a,f.seg.otherFill={above:m,below:m}),r&&r.status(f.seg,!!d&&d.seg,!!g&&g.seg),f.other.status=p.insert(n.node({ev:f}))}else{var b=f.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}i.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((a=c<0?n:o,i=c<0?o:n,{id:r?r.segmentId():-1,start:a,end:i,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(a(t.start,t.end,t),!0)}),r.forEach(function(t){s(a(t.start,t.end,t),!1)}),c(e,n)}}}},{"./linked-list":479}],479:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,a=t.root.next;null!==a;){if(r(a))return e.prev=a.prev,e.next=a,a.prev.next=e,void(a.prev=e);n=a,a=a.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],480:[function(t,e,r){e.exports=function(t,e,r){var n=[],a=[];return t.forEach(function(t){var i=t.start,o=t.end;if(e.pointsSame(i,o))console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var h=(v=n[u])[0],f=(v[1],v[v.length-1]);if(v[v.length-2],e.pointsSame(h,i)){if(T(u,!0,!0))break}else if(e.pointsSame(h,o)){if(T(u,!0,!1))break}else if(e.pointsSame(f,i)){if(T(u,!1,!0))break}else if(e.pointsSame(f,o)&&T(u,!1,!1))break}if(c===s)return n.push([i,o]),void(r&&r.chainNew(i,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:i,g=s.matches_head,v=n[p],m=g?v[0]:v[v.length-1],y=g?v[1]:v[v.length-2],x=g?v[v.length-1]:v[0],b=g?v[v.length-2]:v[1];return e.pointsCollinear(y,m,d)&&(g?(r&&r.chainRemoveHead(s.index,d),v.shift()):(r&&r.chainRemoveTail(s.index,d),v.pop()),m=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,m)&&(g?(r&&r.chainRemoveTail(s.index,m),v.pop()):(r&&r.chainRemoveHead(s.index,m),v.shift())),r&&r.chainClose(s.index),void a.push(v)):void(g?(r&&r.chainAddHead(s.index,d),v.unshift(d)):(r&&r.chainAddTail(s.index,d),v.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),M(_,w)):(A(w),M(w,_)):M(w,_):l.matches_head?M(_,w):k?(A(_),M(w,_)):(A(w),M(_,w))}function T(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function M(t,a){var i=n[t],o=n[a],s=i[i.length-1],l=i[i.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),i.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(a,c),o.shift()),r&&r.chainJoin(t,a),n[t]=i.concat(o),n.splice(a,1)}}),a}},{}],481:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var a=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[a]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[a],below:2===e[a]},otherFill:null})}),r&&r.selected(n),n}var a={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=a},{}],482:[function(t,e,r){"use strict";var n=new Float64Array(4),a=new Float64Array(4),i=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),a=new Float64Array(o.length),i=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],a[l]=e[l]-t[l],i[l]=r[l]-t[l];var c=0,u=0,h=0,f=0,p=0,d=0;for(l=0;l<o.length;++l){var g=a[l],v=i[l],m=n[l];c+=g*g,u+=g*v,h+=v*v,f+=m*g,p+=m*v,d+=m*m}var y,x,b,_,w,k=Math.abs(c*h-u*u),T=u*p-h*f,A=u*f-c*p;if(T+A<=k)if(T<0)A<0&&f<0?(A=0,-f>=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d):(T=0,p>=0?(A=0,y=d):-p>=h?(A=1,y=h+2*p+d):y=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(T=0,y=d):-f>=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d;else{var M=1/k;y=(T*=M)*(c*T+u*(A*=M)+2*f)+A*(u*T+h*A+2*p)+d}else T<0?(b=h+p)>(x=u+f)?(_=b-x)>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d:(T=0,b<=0?(A=1,y=h+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/h)+d):A<0?(b=c+f)>(x=u+p)?(_=b-x)>=(w=c-2*u+h)?(A=1,T=0,y=h+2*p+d):y=(T=1-(A=_/w))*(c*T+u*A+2*f)+A*(u*T+h*A+2*p)+d:(A=0,b<=0?(T=1,y=c+2*f+d):f>=0?(T=0,y=d):y=f*(T=-f/c)+d):(_=h+p-u-f)<=0?(T=0,A=1,y=h+2*p+d):_>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d;var S=1-T-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+T*e[l]+A*r[l];return y<0?0:y}},{}],483:[function(t,e,r){var n,a,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(t){a=s}}();var c,u=[],h=!1,f=-1;function p(){h&&c&&(h=!1,c.length?u=c.concat(u):f=-1,u.length&&d())}function d(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++f<e;)c&&c[f].run();f=-1,e=u.length}c=null,h=!1,function(t){if(a===clearTimeout)return clearTimeout(t);if((a===s||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(t);try{a(t)}catch(e){try{return a.call(null,t)}catch(e){return a.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function v(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||h||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],484:[function(t,e,r){e.exports=t("gl-quat/slerp")},{"gl-quat/slerp":295}],485:[function(t,e,r){(function(r){for(var n=t("performance-now"),a="undefined"==typeof window?r:window,i=["moz","webkit"],o="AnimationFrame",s=a["request"+o],l=a["cancel"+o]||a["cancelRequest"+o],c=0;!s&&c<i.length;c++)s=a[i[c]+"Request"+o],l=a[i[c]+"Cancel"+o]||a[i[c]+"CancelRequest"+o];if(!s||!l){var u=0,h=0,f=[];s=function(t){if(0===f.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=f.slice(0);f.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout(function(){throw t},0)}},Math.round(r))}return f.push({handle:++h,callback:t,cancelled:!1}),h},l=function(t){for(var e=0;e<f.length;e++)f[e].handle===t&&(f[e].cancelled=!0)}}e.exports=function(t){return s.call(a,t)},e.exports.cancel=function(){l.apply(a,arguments)},e.exports.polyfill=function(t){t||(t=a),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"performance-now":463}],486:[function(t,e,r){"use strict";var n=t("big-rat/add");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{"big-rat/add":76}],487:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t("big-rat")},{"big-rat":79}],488:[function(t,e,r){"use strict";var n=t("big-rat"),a=t("big-rat/mul");e.exports=function(t,e){for(var r=n(e),i=t.length,o=new Array(i),s=0;s<i;++s)o[s]=a(t[s],r);return o}},{"big-rat":79,"big-rat/mul":88}],489:[function(t,e,r){"use strict";var n=t("big-rat/sub");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{"big-rat/sub":90}],490:[function(t,e,r){"use strict";var n=t("compare-cell"),a=t("compare-oriented-cell"),i=t("cell-orientation");e.exports=function(t){t.sort(a);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=i(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&i(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":113,"compare-cell":129,"compare-oriented-cell":130}],491:[function(t,e,r){"use strict";var n=t("array-bounds"),a=t("color-normalize"),i=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,h=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,v,m=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),v=t.buffer({usage:"static",type:"float",data:f}),k(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:v,stride:24,offset:0},lineOffset:{buffer:v,stride:24,offset:8},capOffset:{buffer:v,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:f.length}),s(b,{update:k,draw:_,destroy:T,regl:t,gl:m,canvas:m.canvas,groups:x}),b;function b(t){t?k(t):null===t&&T(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),i(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var i=0;i<r;i++)t[i]=n}if(t.length<r)throw Error("Not enough colors");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=a(t[s],"uint8");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=h(e.scale),e.translateFract=h(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:m.drawingBufferWidth,height:m.drawingBufferHeight},e}}]),u):u}),e||r){var f=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),v=new Float64Array(2*f),_=new Uint8Array(4*f),w=new Float32Array(4*f);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,a=t.offset,i=t.color,o=t.errors;n&&(_.set(i,4*a),w.set(o,4*a),v.set(r,2*a))}}),c(u(v)),p(h(v)),d(_),g(w)}}}function T(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),v.destroy()}};var f=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{"array-bounds":67,"color-normalize":121,"flatten-vertex-data":229,"object-assign":455,"pick-by-alias":466,"to-float32":536,"update-diff":547}],492:[function(t,e,r){"use strict";var n=t("color-normalize"),a=t("array-bounds"),i=t("object-assign"),o=t("glslify"),s=t("pick-by-alias"),l=t("flatten-vertex-data"),c=t("earcut"),u=t("array-normalize"),h=t("to-float32"),f=h.float32,p=h.fract32,d=t("es6-weak-map"),g=t("parse-rect");function v(t,e){if(!(this instanceof v))return new v(t,e);if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=v.shaders.has(t)?v.shaders.get(t):v.shaders.set(t,v.createShaders(t)).get(t),this.update(e)}e.exports=v,v.dashMult=2,v.maxPatternLength=256,v.precisionThreshold=3e6,v.maxPoints=1e4,v.maxLines=2048,v.shaders=new d,v.createShaders=function(t){var e,r=t.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:t.prop("count"),count:4,offset:0,uniforms:{miterMode:function(t,e){return"round"===e.join?2:1},miterLimit:t.prop("miterLimit"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),thickness:t.prop("thickness"),dashPattern:t.prop("dashTexture"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),dashSize:t.prop("dashLength"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport")},a=t(i({vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{e=t(i({cull:{enable:!0,face:"back"},vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n  vec2 adjustedScale;\n  adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n  adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n  vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=a}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:e}},v.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},v.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,h){var d=e.passes[h];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[h]=d={id:h,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=i({},v.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,h<v.maxLines&&(d.depth=2*(v.maxLines-1-h%v.maxLines)/v.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,"uint8"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var m,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),m=new Float64Array(2*y);for(var _=0;_<y;_++)m[2*_]=x[_],m[2*_+1]=b[_]}else m=l(t.positions,"float64"),y=d.count=Math.floor(m.length/2);var w=d.bounds=a(m,2);if(d.fill){for(var k=[],T={},A=0,M=0,S=0,E=d.count;M<E;M++){var L=m[2*M],C=m[2*M+1];isNaN(L)||isNaN(C)||null==L||null==C?(L=m[2*A],C=m[2*A+1],T[M]=A):A=M,k[S++]=L,k[S++]=C}for(var P=c(k,d.hole||[]),O=0,z=P.length;O<z;O++)null!=T[P[O]]&&(P[O]=T[P[O]]);d.triangles=P}var I=new Float64Array(m);u(I,2,w);var D=new Float64Array(2*y+6);d.close?m[0]===m[2*y-2]&&m[1]===m[2*y-1]?(D[0]=I[2*y-4],D[1]=I[2*y-3]):(D[0]=I[2*y-2],D[1]=I[2*y-1]):(D[0]=I[0],D[1]=I[1]),D.set(I,2),d.close?m[0]===m[2*y-2]&&m[1]===m[2*y-1]?(D[2*y+2]=I[2],D[2*y+3]=I[3],d.count-=1):(D[2*y+2]=I[0],D[2*y+3]=I[1],D[2*y+4]=I[2],D[2*y+5]=I[3]):(D[2*y+2]=I[2*y-2],D[2*y+3]=I[2*y-1],D[2*y+4]=I[2*y-2],D[2*y+5]=I[2*y-1]),d.positionBuffer(f(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,F=R[2]-R[0],B=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[F/N,B/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var V,U=0;if(!t.dashes||t.dashes.length<2)U=1,V=new Uint8Array([255,255,255,255,255,255,255,255]);else{U=0;for(var q=0;q<t.dashes.length;++q)U+=t.dashes[q];V=new Uint8Array(U*v.dashMult);for(var H=0,G=255,Y=0;Y<2;Y++)for(var W=0;W<t.dashes.length;++W){for(var X=0,Z=t.dashes[W]*v.dashMult*.5;X<Z;++X)V[H++]=G;G^=255}}d.dashLength=U,d.dashTexture({channels:1,data:V,width:V.length,height:1,mag:"linear",min:"linear"},0,0)}if(t.color){var J=d.count,K=t.color;K||(K="transparent");var Q=new Uint8Array(4*J+4);if(Array.isArray(K)&&"number"!=typeof K[0]){for(var $=0;$<J;$++){var tt=n(K[$],"uint8");Q.set(tt,4*$)}Q.set(n(K[0],"uint8"),4*J)}else for(var et=n(K,"uint8"),rt=0;rt<J+1;rt++)Q.set(et,4*rt);d.colorBuffer({usage:"dynamic",type:"uint8",data:Q})}}else e.passes[h]=null}),t.length<this.passes.length){for(var h=t.length;h<this.passes.length;h++){var d=e.passes[h];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var m=[],y=0;y<this.passes.length;y++)null!==e.passes[y]&&m.push(e.passes[y]);return this.passes=m,this}},v.prototype.destroy=function(){return this.passes.forEach(function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()}),this.passes.length=0,this}},{"array-bounds":67,"array-normalize":493,"color-normalize":121,earcut:172,"es6-weak-map":494,"flatten-vertex-data":229,glslify:410,"object-assign":455,"parse-rect":460,"pick-by-alias":466,"to-float32":536}],493:[function(t,e,r){"use strict";var n=t("array-bounds");e.exports=function(t,e,r){if(!t||null==t.length)throw Error("Argument should be an array");null==e&&(e=1);null==r&&(r=n(t,e));for(var a=0;a<e;a++){var i=r[e+a],o=r[a],s=a,l=t.length;if(i===1/0&&o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:t[s]===o?0:.5;else if(i===1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:0;else if(o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=i-o;for(s=a;s<l;s+=e)isNaN(t[s])||(t[s]=0===c?.5:(t[s]-o)/c)}}return t}},{"array-bounds":67}],494:[function(t,e,r){arguments[4][319][0].apply(r,arguments)},{"./is-implemented":495,"./polyfill":497,dup:319}],495:[function(t,e,r){arguments[4][320][0].apply(r,arguments)},{dup:320}],496:[function(t,e,r){arguments[4][321][0].apply(r,arguments)},{dup:321}],497:[function(t,e,r){arguments[4][322][0].apply(r,arguments)},{"./is-native-implemented":496,d:152,dup:322,"es5-ext/object/is-value":196,"es5-ext/object/set-prototype-of":202,"es5-ext/object/valid-object":206,"es5-ext/object/valid-value":207,"es5-ext/string/random-uniq":212,"es6-iterator/for-of":214,"es6-iterator/get":215,"es6-symbol":221}],498:[function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var i=t("color-normalize"),o=t("array-bounds"),s=t("color-id"),l=t("point-cluster"),c=t("object-assign"),u=t("glslify"),h=t("pick-by-alias"),f=t("update-diff"),p=t("flatten-vertex-data"),d=t("is-iexplorer"),g=t("to-float32"),v=t("parse-rect"),m=y;function y(t,e){var r=this;if(!(this instanceof y))return new y(t,e);"function"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,a=(t=e.regl)._gl,i=[];this.tooManyColors=d,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),c(this,{regl:t,gl:a,groups:[],markerCache:[null],markerTextures:[null],palette:i,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:a.canvas}),this.update(e);var o={uniforms:{pixelRatio:t.context("pixelRatio"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translate:t.prop("translate"),translateFract:t.prop("translateFract"),opacity:t.prop("opacity"),marker:t.prop("markerTexture")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?i.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?i.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop("elements"),count:t.prop("count"),offset:t.prop("offset"),primitive:"points"},s=c({},o);s.frag=u(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n  // max-distance alpha\n  if (dist < 0.003) discard;\n\n  // null-border case\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n  }\n  else {\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n    vec4 color = fragBorderColor;\n    color.a *= borderColorAmt;\n    color = mix(color, fragColor, colorAmt);\n    color.a *= opacity;\n\n    gl_FragColor = color;\n  }\n\n}\n"]),s.vert=u(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pixelRatio;\n  fragPointSize = size * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}"]),this.drawMarker=t(s);var l=c({},o);l.frag=u(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=u(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  // ignore inactive points\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n"]),d&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}y.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},y.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},y.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var i=0;i<r.length;i++)this.drawItem(i,r[i]);else a.forEach(function(e,r){t.drawItem(r)});return this},y.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if("number"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var i=[],o=1;o<n.activation.length;o++)n.activation[o]&&(!0===n.activation[o]||n.activation[o].data.length)&&i.push.apply(i,a(this.getMarkerDrawOptions(o,n,e)));i.length&&this.drawMarker(i)}},y.prototype.getMarkerDrawOptions=function(t,e,r){var a=e.range,i=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,u=e.count;this.regl;if(!i)return r?[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var h=[],f=i.range(a,{lod:!0,px:[(a[2]-a[0])/o.width,(a[3]-a[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(u),g=0;g<r.length;g++){var v=r[g];d[v]=p?p[v]:1}l.subdata(d)}for(var m=f.length;m--;){var y=n(f[m],2),x=y[0],b=y[1];h.push(c({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return h},y.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var a=this.groups,i=this.gl,s=this.regl,u=this.maxSize,d=this.maxColors,m=this.palette;this.groups=a=r.map(function(e,r){var n=a[r];if(void 0===e)return n;null===e?e={positions:null}:"function"==typeof e?e={ondraw:e}:"number"==typeof e[0]&&(e={positions:e}),null===(e=h(e,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits",tooManyColors:"tooManyColors palette paletteMode optimizePalette enablePalette"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(a[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:s.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})},e=c({},y.defaults,e)),!e.positions||"marker"in e||(e.marker=n.marker,delete n.marker),!e.marker||"positions"in e||(e.positions=n.positions,delete n.positions);var x=0,b=0;if(f(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=y.defaults.size),x+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=y.defaults.borderSize),x+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=y.defaults.color),e=t.updateColor(e),b++,e},borderColor:function(e,r){return null==e&&(e=y.defaults.borderColor),e=t.updateColor(e),b++,e},bounds:function(t,e,r){return"range"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,a=e.positionBuffer,i=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:s.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:s.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=p(t,"float64");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?o(t,2):null;if(r.range||e.range||(delete e.range,r.range=h),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||u>n)?e.tree=l(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(f):e.elements=s.elements(f)}return a({data:g.float(t),usage:"dynamic"}),i({data:g.fract(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var a=r.activation;if(a.forEach(function(t){return t&&t.destroy&&t.destroy()}),a.length=0,e&&"number"!=typeof e[0]){for(var i=[],o=0,l=Math.min(e.length,r.count);o<l;o++){var c=t.addMarker(e[o]);i[c]||(i[c]=new Uint8Array(r.count)),i[c][o]=1}for(var u=0;u<i.length;u++)if(i[u]){var h={data:i[u],type:"uint8",usage:"static"};a[u]?a[u](h):a[u]=s.buffer(h),a[u].data=i[u]}}else{a[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=g.fract(e.scale),e.translateFract=g.fract(e.translate),t},viewport:function(t){return v(t||[i.drawingBufferWidth,i.drawingBufferHeight])}}]),x){var _=n,w=_.count,k=_.size,T=_.borderSize,A=_.sizeBuffer,M=new Uint8Array(2*w);if(k.length||T.length)for(var S=0;S<w;S++)M[2*S]=Math.round(255*(null==k[S]?k:k[S])/u),M[2*S+1]=Math.round(255*(null==T[S]?T:T[S])/u);A({data:M,usage:"dynamic"})}if(b){var E,L=n,C=L.count,P=L.color,O=L.borderColor,z=L.colorBuffer;if(t.tooManyColors){if(P.length||O.length){E=new Uint8Array(8*C);for(var I=0;I<C;I++){var D=P[I];E[8*I]=m[4*D],E[8*I+1]=m[4*D+1],E[8*I+2]=m[4*D+2],E[8*I+3]=m[4*D+3];var R=O[I];E[8*I+4]=m[4*R],E[8*I+5]=m[4*R+1],E[8*I+6]=m[4*R+2],E[8*I+7]=m[4*R+3]}}}else if(P.length||O.length){E=new Uint8Array(4*C+2);for(var F=0;F<C;F++)null!=P[F]&&(E[4*F]=P[F]%d,E[4*F+1]=Math.floor(P[F]/d)),null!=O[F]&&(E[4*F+2]=O[F]%d,E[4*F+3]=Math.floor(O[F]/d))}z({data:E||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return n})}},y.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,a=this.markerCache,i=null==t?0:a.indexOf(t);if(i>=0)return i;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return i=r.length,a.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:"linear",min:"linear"})),i},y.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var a=[];if("number"==typeof t[0]){var o=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)o.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)o.push(t.subarray(c,c+4));t=o}for(var u=0;u<t.length;u++){var h=t[u];h=i(h,"uint8");var f=s(h,!1);if(null==e[f]){var p=r.length;e[f]=Math.floor(p/4),r[p]=h[0],r[p+1]=h[1],r[p+2]=h[2],r[p+3]=h[3]}a[u]=e[f]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===a.length?a[0]:a},y.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var a=.25*(t=t.slice()).length%e;a<n*e;a++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},y.prototype.destroy=function(){return this.groups.forEach(function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(t){return t&&t.destroy&&t.destroy()}),this};var x=t("object-assign");e.exports=function(t,e){var r=new m(t,e),n=r.render.bind(r);return x(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},{"array-bounds":67,"color-id":119,"color-normalize":121,"flatten-vertex-data":229,glslify:410,"is-iexplorer":420,"object-assign":455,"parse-rect":460,"pick-by-alias":466,"point-cluster":470,"to-float32":536,"update-diff":547}],499:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),a=t("pick-by-alias"),i=t("array-bounds"),o=t("raf"),s=t("array-range"),l=t("parse-rect"),c=t("flatten-vertex-data");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function h(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function f(t,e,r){var n,a,i,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],a=s[3]):s.length?(n=s[0],a=s[1]):(s.x,n=s.y,s.x+s.width,a=s.y+s.height),l.length>2?(i=l[0],o=l[2],l[1],l[3]):l.length?(i=l[0],o=l[1]):(i=l.x,l.y,o=l.x+l.width,l.y+l.height),[i,n,o,a]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var a=[],i=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)a.push(this.passes[l[c]]);s.passOffset=i,i+=s.passes.length}return(t=this.scatter).update.apply(t,a),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=a(e,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=i(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&"number"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&"number"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,v=s.count,m=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=m/g,w=y/g;s.passes=[];for(var k=0;k<g;k++)for(var T=0;T<g;T++)if((s.diagonal||T!==k)&&(s.upper||!(k>T))&&(s.lower||!(k<T))){var A=h(s.id,k,T),M=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?M.positions={x:{buffer:s.buffer,offset:T,count:v,stride:g},y:{buffer:s.buffer,offset:k,count:v,stride:g}}:M.positions={x:{buffer:s.buffer,offset:T*v,count:v},y:{buffer:s.buffer,offset:k*v,count:v}},M.bounds=f(s.bounds,k,T)),o.domain||o.viewport||o.data){var S=d?f(s.padding,k,T):s.padding;if(s.domain){var E=f(s.domain,k,T),L=E[0],C=E[1],P=E[2],O=E[3];M.viewport=[x+L*m+S[0],b+C*y+S[1],x+P*m-S[2],b+O*y-S[3]]}else M.viewport=[x+T*_+_*S[0],b+k*w+w*S[1],x+(T+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(M.color=s.color),o.size&&(M.size=s.size),o.marker&&(M.marker=s.marker),o.borderSize&&(M.borderSize=s.borderSize),o.borderColor&&(M.borderColor=s.borderColor),o.opacity&&(M.opacity=s.opacity),o.range&&(M.range=n?f(s.range,k,T):s.range||M.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],a=0;a<e.length;a++)if("number"==typeof e[a]){var i=this.traces[e[a]],o=i.passes,l=i.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[a].length){var c=e[a],u=this.traces[a],h=u.passes,f=u.passOffset;h=h.map(function(t,e){n[f+e]=c})}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach(function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{"array-bounds":67,"array-range":68,"flatten-vertex-data":229,"parse-rect":460,"pick-by-alias":466,raf:485,"regl-scatter2d":498}],500:[function(t,e,r){var n,a;n=this,a=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return"["+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('"'===r||"'"===r))return['"'+e.substr(1,e.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(r=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(".")).length)return['"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join("][")+"]"}function r(t){return"string"==typeof t?t.split():t}function n(t){return"string"==typeof t?document.querySelector(t):t}function a(t){var e,a,i,o,s=t||{};t={};var l=[],c=[],u="undefined"==typeof window?1:window.devicePixelRatio,h=!1,f=function(t){},p=function(){};if("string"==typeof s?e=document.querySelector(s):"object"==typeof s&&("string"==typeof s.nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?e=s:"function"==typeof s.drawArrays||"function"==typeof s.drawElements?i=(o=s).canvas:("gl"in s?o=s.gl:"canvas"in s?i=n(s.canvas):"container"in s&&(a=n(s.container)),"attributes"in s&&(t=s.attributes),"extensions"in s&&(l=r(s.extensions)),"optionalExtensions"in s&&(c=r(s.optionalExtensions)),"onDone"in s&&(f=s.onDone),"profile"in s&&(h=!!s.profile),"pixelRatio"in s&&(u=+s.pixelRatio))),e&&("canvas"===e.nodeName.toLowerCase()?i=e:a=e),!o){if(!i){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*e,a.height=r*n,j(a.style,{width:e+"px",height:n+"px"})}var a=document.createElement("canvas");return j(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position="absolute",j(t.style,{margin:0,padding:0})),window.addEventListener("resize",n,!1),n(),{canvas:a,onDestroy:function(){window.removeEventListener("resize",n),t.removeChild(a)}}}(a||document.body,0,u)))return null;i=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,t)}return o?{gl:o,canvas:i,container:a,extensions:l,optionalExtensions:c,pixelRatio:u,profile:h,onDone:f,onDestroy:p}:(p(),f("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function i(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=i(8,function(){return[]});return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||W(t.data))}function c(t,e,r,n,a,i){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)a[i++]=c[u]}function u(t){return 0|J[Object.prototype.toString.call(t)]}function h(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function f(t,e,r,n,a,i,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[a*l+i*c+o]}function p(t,e,r,n){function a(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,a,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){a=tt(e);for(var s=n=1;s<a.length;++s)n*=a[s];t.dimension=n,i(t,e=$(e,a,t.dtype),r),o?t.persistentData=e:G.freeType(e)}else"number"==typeof e[0]?(t.dimension=a,h(a=G.allocType(t.dtype,e.length),e),i(t,a,r),o?t.persistentData=a:G.freeType(a)):W(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:G.freeType(e))}else if(W(e))t.dtype=n||u(e),t.dimension=a,i(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){a=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,v=0;1===a.length?(p=a[0],d=1,g=c[0],v=0):2===a.length&&(p=a[0],d=a[1],g=c[0],v=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,f(a=G.allocType(t.dtype,p*d),e.data,p,d,g,v,s),i(t,a,r),o?t.persistentData=a:G.freeType(a)}}function s(r){e.bufferCount--;for(var a=0;a<n.state.length;++a){var i=n.state[a];i.buffer===r&&(t.disableVertexAttribArray(a),i.buffer=null)}t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};a.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},a.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach(function(e){t+=p[e].stats.size}),t}),{create:function(n,i,c,d){function g(e){var n=35044,a=null,i=0,s=0,c=1;return Array.isArray(e)||W(e)||l(e)?a=e:"number"==typeof e?i=0|e:e&&("data"in e&&(a=e.data),"usage"in e&&(n=Q[e.usage]),"type"in e&&(s=K[e.type]),"dimension"in e&&(c=0|e.dimension),"length"in e&&(i=0|e.length)),v.bind(),a?o(v,a,n,s,c,d):(i&&t.bufferData(v.type,i,n),v.dtype=s||5121,v.usage=n,v.dimension=c,v.byteLength=i),r.profile&&(v.stats.size=v.byteLength*et[v.dtype]),g}e.bufferCount++;var v=new a(i);return p[v.id]=v,c||g(n),g._reglType="buffer",g._buffer=v,g.subdata=function(e,r){var n,a=0|(r||0);if(v.bind(),W(e))t.bufferSubData(v.type,a,e);else if(Array.isArray(e)){if(0<e.length)if("number"==typeof e[0]){var i=G.allocType(v.dtype,e.length);h(i,e),t.bufferSubData(v.type,a,i),G.freeType(i)}else(Array.isArray(e[0])||W(e[0]))&&(n=tt(e),i=$(e,n,v.dtype),t.bufferSubData(v.type,a,i),G.freeType(i))}else if(l(e)){n=e.shape;var o=e.stride,s=i=0,c=0,p=0;1===n.length?(i=n[0],s=1,c=o[0],p=0):2===n.length&&(i=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?v.dtype:u(e.data),f(n=G.allocType(n,i*s),e.data,i,s,c,p,e.offset),t.bufferSubData(v.type,a,n),G.freeType(n)}return g},r.profile&&(g.stats=v.stats),g.destroy=function(){s(v)},g},createStream:function(t,e){var r=d.pop();return r||(r=new a(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){X(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof a?t._buffer:null},restore:function(){X(p).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function d(t,e,r,n){function a(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function i(n,a,i,o,s,c,u){if(n.buffer.bind(),a){var h=u;u||W(a)&&(!l(a)||W(a.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,a,i,h,3)}else t.bufferData(34963,c,i),n.buffer.dtype=h||5121,n.buffer.usage=i,n.buffer.dimension=3,n.buffer.byteLength=c;if(h=u,!u){switch(n.buffer.dtype){case 5121:case 5120:h=5121;break;case 5123:case 5122:h=5123;break;case 5125:case 5124:h=5125}n.buffer.dtype=h}n.type=h,0>(a=s)&&(a=n.buffer.byteLength,5123===h?a>>=1:5125===h&&(a>>=2)),n.vertCount=a,a=o,0>o&&(a=4,1===(o=n.buffer.dimension)&&(a=0),2===o&&(a=1),3===o&&(a=4)),n.primType=a}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),a.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,a=-1,o=0,f=0;Array.isArray(t)||W(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=Q[t.usage]),"primitive"in t&&(n=rt[t.primitive]),"count"in t&&(a=0|t.count),"type"in t&&(f=u[t.type]),"length"in t?o=0|t.length:(o=a,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),i(h,e,r,n,a,o,f)}else c(),h.primType=4,h.vertCount=0,h.type=5121;return s}var c=r.create(null,34963,!0),h=new a(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=h,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new a(r.create(null,34963,!0,!1)._buffer)),i(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof a?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(i=at[0])>>>31<<15,a=(i<<1>>>24)-127,i=i>>13&1023;e[r]=-24>a?n:-14>a?n+(i+1024>>-14-a):15<a?n+31744:n+(a+15<<10)+i}return e}function v(t){return Array.isArray(t)||W(t)}function m(t){return"[object "+t+"]"}function y(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=pt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),G.freeType(e)):t.data=e}function k(t,e,r,n,a,i){if(t="undefined"!=typeof gt[t]?gt[t]:st[t]*dt[e],i&&(t*=6),a){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function T(t,e,r,n,a,i,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if("object"==typeof e&&e){"premultiplyAlpha"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(t.flipY=e.flipY),"alignment"in e&&(t.unpackAlignment=e.alignment),"colorSpace"in e&&(t.colorSpace=q[e.colorSpace]),"type"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,a=t.channels,i=!1;"shape"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(a=e.shape[2],i=!0)):("radius"in e&&(r=n=e.radius),"width"in e&&(r=e.width),"height"in e&&(n=e.height),"channels"in e&&(a=e.channels,i=!0)),t.width=0|r,t.height=0|n,t.channels=0|a,r=!1,"format"in e&&(r=e.format,n=t.internalformat=Y[r],t.format=pt[n],r in H&&!("type"in e)&&(t.type=H[r]),r in K&&(t.compressed=!0),r=!0),!i&&r?t.channels=st[t.format]:i&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function h(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function f(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),"x"in e&&(t.xOffset=0|e.x),"y"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=a.viewportWidth,i=a.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||i-t.yOffset,t.needsCopy=!0}else if(r){if(W(r))t.channels=t.channels||4,t.data=r,"type"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,i=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(i=G.allocType(t.type,i)).set(n),t.data=i;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);i=r.shape;var o,s,c,h,f=r.stride;3===i.length?(c=i[2],h=f[2]):h=c=1,o=i[0],s=i[1],i=f[0],f=f[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,o=h,r=r.offset,c=t.width,h=t.height,s=t.channels;for(var p=G.allocType(36193===t.type?5126:t.type,c*h*s),d=0,m=0;m<h;++m)for(var k=0;k<c;++k)for(var T=0;T<s;++T)p[d++]=n[i*k+f*m+o*T+r];w(t,p)}else if(b(r)===lt||b(r)===ct)b(r)===lt?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ut)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===ft)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,i=t.height||r.length,f=t.channels,f=v(r[0][0])?f||r[0][0].length:f||1,o=Z.shape(r),c=1,h=0;h<o.length;++h)c*=o[h];c=G.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,o,"",c),w(t,c),t.alignment=1,t.width=n,t.height=i,t.channels=f,t.format=t.internalformat=ot[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,a,i,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,a,i,u,f,s):e.compressed?t.compressedTexSubImage2D(r,o,a,i,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,a,i,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,a,i,p,d,u,f,l)}function m(){return dt.pop()||new f}function T(t){t.needsFree&&G.freeType(t.data),f.call(t),dt.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function M(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=m(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,a=0;a<n.length;++a)c(r=t.images[a]=m(),t),r.width>>=a,r.height>>=a,p(r,n[a]),t.mipmask|=1<<a;else c(r=t.images[0]=m(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var a=e.images,i=0;i<a.length&&a[i];++i){var o=a[i],s=r,l=i,c=o.element,u=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,v=o.height,m=o.channels;h(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,f,g,v,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,v,0)):((o=!u)&&(u=G.zero.allocType(d,g*v*m)),t.texImage2D(s,l,p,g,v,0,p,d,u),o&&u&&G.zero.freeType(u))}}function L(){var t=gt.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&T(e[r]),e[r]=null;gt.push(t)}function P(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function O(t,e){"min"in e&&(t.minFilter=U[e.min],0<=it.indexOf(t.minFilter)&&!("faces"in e)&&(t.genMipmaps=!0)),"mag"in e&&(t.magFilter=V[e.mag]);var r=t.wrapS,n=t.wrapT;if("wrap"in e){var a=e.wrap;"string"==typeof a?r=n=N[a]:Array.isArray(a)&&(r=N[a[0]],n=N[a[1]])}else"wrapS"in e&&(r=N[e.wrapS]),"wrapT"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,"anisotropic"in e&&(t.anisotropic=e.anisotropic),"mipmap"in e){switch(r=!1,typeof e.mipmap){case"string":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case"boolean":r=t.genMipmaps=e.mipmap;break;case"object":t.genMipmaps=!1,r=!0}!r||"min"in e||(t.minFilter=9984)}}function z(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=vt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new P,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=xt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,a=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(a,null),xt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete mt[e.id],i.textureCount--}var B={"don't care":4352,"dont care":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},V={nearest:9728,linear:9729},U=j({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},V),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},Y={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},K={};e.ext_srgb&&(Y.srgb=35904,Y.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H["half float"]=36193),e.webgl_depth_texture&&(j(Y,{depth:6402,"depth stencil":34041}),j(H,{uint16:5123,uint32:5125,"depth stencil":34042})),e.webgl_compressed_texture_s3tc&&j(K,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),e.webgl_compressed_texture_atc&&j(K,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),e.webgl_compressed_texture_pvrtc&&j(K,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),e.webgl_compressed_texture_etc1&&(K["rgb etc1"]=36196);var Q=Array.prototype.slice.call(t.getParameter(34467));Object.keys(K).forEach(function(t){var e=K[t];0<=Q.indexOf(e)&&(Y[t]=e)});var $=Object.keys(Y);r.textureFormats=$;var tt=[];Object.keys(Y).forEach(function(t){tt[Y[t]]=t});var et=[];Object.keys(H).forEach(function(t){et[H[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(U).forEach(function(t){nt[U[t]]=t});var at=[];Object.keys(N).forEach(function(t){at[N[t]]=t});var pt=$.reduce(function(t,e){var r=Y[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf("rgba")?t[r]=6408:t[r]=6407,t},{}),dt=[],gt=[],vt=0,mt={},yt=r.maxTextureUnits,xt=Array(yt).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<yt;++r){var n=xt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}xt[r]=this,e=r;break}o.profile&&i.maxTextureUnits<e+1&&(i.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(i.getTotalTextureSize=function(){var t=0;return Object.keys(mt).forEach(function(e){t+=mt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=a.texInfo;P.call(r);var i=L();return"number"==typeof t?M(i,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(i,t)):M(i,1,1),r.genMipmaps&&(i.mipmask=(i.width<<1)-1),a.mipmask=i.mipmask,c(a,i),a.internalformat=i.internalformat,n.width=i.width,n.height=i.height,D(a),E(i,3553),z(r,3553),R(),C(i),o.profile&&(a.stats.size=k(a.internalformat,a.type,i.width,i.height,r.genMipmaps,!1)),n.format=tt[a.internalformat],n.type=et[a.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=at[r.wrapS],n.wrapT=at[r.wrapT],n}var a=new I(3553);return mt[a.id]=a,i.textureCount++,n(e,r),n.subimage=function(t,e,r,i){e|=0,r|=0,i|=0;var o=m();return c(o,a),o.width=0,o.height=0,p(o,t),o.width=o.width||(a.width>>i)-e,o.height=o.height||(a.height>>i)-r,D(a),d(o,3553,e,r,i),R(),T(o),n},n.resize=function(e,r){var i=0|e,s=0|r||i;if(i===a.width&&s===a.height)return n;n.width=a.width=i,n.height=a.height=s,D(a);for(var l,c=a.channels,u=a.type,h=0;a.mipmask>>h;++h){var f=i>>h,p=s>>h;if(!f||!p)break;l=G.zero.allocType(u,f*p*c),t.texImage2D(3553,h,a.format,f,p,0,a.format,a.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(a.stats.size=k(a.internalformat,a.type,i,s,!1,!1)),n},n._reglType="texture2d",n._texture=a,o.profile&&(n.stats=a.stats),n.destroy=function(){a.decRef()},n},createCube:function(e,r,n,a,s,l){function h(t,e,r,n,a,i){var s,l=f.texInfo;for(P.call(l),s=0;6>s;++s)g[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],a),S(g[5],i);else if(O(l,t),u(f,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],f),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(g[s],t,t);for(c(f,g[0]),f.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,f.internalformat=g[0].internalformat,h.width=g[0].width,h.height=g[0].height,D(f),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=tt[f.internalformat],h.type=et[f.type],h.mag=rt[l.magFilter],h.min=nt[l.minFilter],h.wrapS=at[l.wrapS],h.wrapT=at[l.wrapT],s=0;6>s;++s)C(g[s]);return h}var f=new I(34067);mt[f.id]=f,i.cubeCount++;var g=Array(6);return h(e,r,n,a,s,l),h.subimage=function(t,e,r,n,a){r|=0,n|=0,a|=0;var i=m();return c(i,f),i.width=0,i.height=0,p(i,e),i.width=i.width||(f.width>>a)-r,i.height=i.height||(f.height>>a)-n,D(f),d(i,34069+t,r,n,a),R(),T(i),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<yt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),xt[e]=null;X(mt).forEach(F),i.cubeCount=0,i.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<yt;++e){var r=xt[e];r&&(r.bindCount=0,r.unit=-1,xt[e]=null)}X(mt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)})}}}function A(t,e,r,n,a,i){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,a=t;return"object"==typeof t&&(a=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=a._reglType)?r=a:"textureCube"===t?r=a:"renderbuffer"===t&&(n=a,e=36161),new o(e,r,n)}function h(t,e,r,i,s){return r?((t=n.create2D({width:t,height:e,format:i,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=a.create({width:t,height:e,format:i}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=k++,T[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,i.framebufferCount--,delete T[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var a=e.colorAttachments;for(n=0;n<a.length;++n)c(36064+n,a[n]);for(n=a.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var a,i=0,o=0,s=!0,c=!0;a=null;var p=!0,d="rgba",v="uint8",y=1,x=null,w=null,k=null,T=!1;"number"==typeof t?(i=0|t,o=0|e||i):t?("shape"in t?(i=(o=t.shape)[0],o=o[1]):("radius"in t&&(i=o=t.radius),"width"in t&&(i=t.width),"height"in t&&(o=t.height)),("color"in t||"colors"in t)&&(a=t.color||t.colors,Array.isArray(a)),a||("colorCount"in t&&(y=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(v=t.colorType,!p)&&("half float"===v||"float16"===v?d="rgba16f":"float"!==v&&"float32"!==v||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(T=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),"stencil"in t&&("boolean"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?s=c=t.depthStencil:(k=t.depthStencil,c=s=!1))):i=o=1;var A=null,M=null,S=null,E=null;if(Array.isArray(a))A=a.map(u);else if(a)A=[u(a)];else for(A=Array(y),a=0;a<y;++a)A[a]=h(i,o,p,d,v);for(i=i||A[0].width,o=o||A[0].height,x?M=u(x):s&&!c&&(M=h(i,o,T,"depth","uint32")),w?S=u(w):c&&!s&&(S=h(i,o,!1,"stencil","uint8")),k?E=u(k):!x&&!w&&c&&s&&(E=h(i,o,T,"depth stencil","depth stencil")),s=null,a=0;a<A.length;++a)l(A[a]),A[a]&&A[a].texture&&(c=yt[A[a].texture._texture.format]*xt[A[a].texture._texture.type],null===s&&(s=c));return l(M),l(S),l(E),g(n),n.width=i,n.height=o,n.colorAttachments=A,n.depthAttachment=M,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(f),r.depth=f(M),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return i.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var a=Math.max(0|t,1),i=Math.max(0|e||a,1);if(a===n.width&&i===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],a,i);return p(n.depthAttachment,a,i),p(n.stencilAttachment,a,i),p(n.depthStencilAttachment,a,i),n.width=r.width=a,n.height=r.height=i,m(n),r},_reglType:"framebuffer",_framebuffer:n,destroy:function(){v(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],_=["rgba4","rgb565","rgb5 a1"];e.ext_srgb&&_.push("srgba"),e.ext_color_buffer_half_float&&_.push("rgba16f","rgb16f"),e.webgl_color_buffer_float&&_.push("rgba32f");var w=["uint8"];e.oes_texture_half_float&&w.push("half float","float16"),e.oes_texture_float&&w.push("float","float32");var k=0,T={};return j(x,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var a,i={color:null},o=0,s=null;a="rgba";var l="uint8",c=1;if("number"==typeof t?o=0|t:t?("shape"in t?o=t.shape[0]:("radius"in t&&(o=0|t.radius),"width"in t?o=0|t.width:"height"in t&&(o=0|t.height)),("color"in t||"colors"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||("colorCount"in t&&(c=0|t.colorCount),"colorType"in t&&(l=t.colorType),"colorFormat"in t&&(a=t.colorFormat)),"depth"in t&&(i.depth=t.depth),"stencil"in t&&(i.stencil=t.stencil),"depthStencil"in t&&(i.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],a=0;a<s.length;++a)t[a]=s[a];else t=[s];else for(t=Array(c),s={radius:o,format:a,type:l},a=0;a<c;++a)t[a]=n.createCube(s);for(i.color=Array(t.length),a=0;a<t.length;++a)c=t[a],o=o||c.width,i.color[a]={target:34069,data:t[a]};for(a=0;6>a;++a){for(c=0;c<t.length;++c)i.color[c].target=34069+a;0<a&&(i.depth=r[0].depth,i.stencil=r[0].stencil,i.depthStencil=r[0].depthStencil),r[a]?r[a](i):r[a]=y(i)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var a=e.color;for(t=0;t<a.length;++t)a[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(T).forEach(v)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,X(T).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function M(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function a(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function i(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,a){if(!(o=(a=35632===r?c:u)[n])){var i=e.str(n),o=t.createShader(r);t.shaderSource(o,i),t.compileShader(o),a[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var h=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=h);var f=r.uniforms;for(l=0;l<h;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace("[0]","["+p+"]");i(f,new a(d,e.id(d),t.getUniformLocation(u,d),c))}else i(f,new a(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(h=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=h),f=r.attributes,l=0;l<h;++l)(c=t.getActiveAttrib(u,l))&&i(f,new a(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},h={},f=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var a=h[e];a||(a=h[e]={});var i=a[t];return i||(i=new s(e,t),r.shaderCount++,l(i),a[t]=i,f.push(i)),i},restore:function(){c={},u={};for(var t=0;t<f.length;++t)l(f[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,a,i,o){function s(a){var i;i=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return W(a)?u=a:a&&(o=0|a.x,s=0|a.y,l=0|(a.width||n.framebufferWidth-o),c=0|(a.height||n.framebufferHeight-s),u=a.data||null),r(),a=l*c*4,u||(5121===i?u=new Uint8Array(a):5126===i&&(u=u||new Float32Array(a))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,i,u),u}return function(t){return t&&"framebuffer"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=s(t)}),r}(t):s(t)}}function L(t){return Array.prototype.slice.call(t)}function C(t){return L(t).join("")}function P(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,L(arguments))},{def:function(){var n="v"+r++;return e.push(n),0<arguments.length&&(t.push(n,"="),t.push.apply(t,L(arguments)),t.push(";")),n},toString:function(){return C([0<e.length?"var "+e+";":"",C(t)])}})}function e(){function e(t,e){n(t,e,"=",r.def(t,e),";")}var r=t(),n=t(),a=r.toString,i=n.toString;return j(function(){r.apply(r,L(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,a){e(t,n),r(t,n,"=",a,";")},toString:function(){return a()+i()}})}var r=0,n=[],a=[],i=t(),o={};return{global:i,link:function(t){for(var e=0;e<a.length;++e)if(a[e]===t)return n[e];return e="g"+r++,n.push(e),a.push(t),e},block:t,proc:function(t,r){function n(){var t="a"+a.length;return a.push(t),t}var a=[];r=r||0;for(var i=0;i<r;++i)n();var s=(i=e()).toString;return o[t]=j(i,{arg:n,toString:function(){return C(["function(",a.join(),"){",s(),"}"])}})},scope:e,cond:function(){var t=C(arguments),r=e(),n=e(),a=r.toString,i=n.toString;return j(r,{then:function(){return r.apply(r,L(arguments)),this},else:function(){return n.apply(n,L(arguments)),this},toString:function(){var e=i();return e&&(e="else{"+e+"}"),C(["if(",t,"){",a(),"}",e])}})},compile:function(){var t=['"use strict";',i,"return {"];Object.keys(o).forEach(function(e){t.push('"',e,'":',o[e].toString(),",")}),t.push("}");var e=C(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,n.concat(e)).apply(null,a)}}}function O(t){return Array.isArray(t)||W(t)||l(t)}function z(t){return t.sort(function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1})}function I(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function D(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new I(!1,!1,!1,t)}function F(t,e){var r=t.type;return 0===r?new I(!0,1<=(r=t.data.length),2<=r,e):4===r?new I((r=t.data).thisDep,r.contextDep,r.propDep,e):new I(3===r,2===r,1===r,e)}function B(t,e,r,n,a,o,s,l,c,u,h,f,p,d,g){function m(t){return t.replace(".","_")}function y(t,e,r){var n=m(t);nt.push(t),et[n]=tt[n]=!!r,at[n]=e}function x(t,e,r){var n=m(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,it[n]=e}function b(){var t=P(),r=t.link,n=t.global;t.id=lt++,t.batchId="0";var a=r(ot),i=t.shared={props:"a0"};Object.keys(ot).forEach(function(t){i[t]=n.def(a,".",t)});var o=t.next={},s=t.current={};Object.keys(it).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(i.next,".",t),s[t]=n.def(i.current,".",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var a=["this",i.context,i.props,t.batchId];return e.def(r(n.data),".call(",a.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(i.props,n.data);case 2:return e.def(i.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if("framebuffer"in r){var a=r.framebuffer;return a?(a=l.getFramebuffer(a),R(function(t,e){var r=t.link(a),n=t.shared;return e.set(n.framebuffer,".next",r),n=n.context,e.set(n,".framebufferWidth",r+".width"),e.set(n,".framebufferHeight",r+".height"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,".next","null"),r=r.context,e.set(r,".framebufferWidth",r+".drawingBufferWidth"),e.set(r,".framebufferHeight",r+".drawingBufferHeight"),"null"})}if("framebuffer"in n){var i=n.framebuffer;return F(i,function(t,e){var r=t.invoke(e,i),n=t.shared,a=n.framebuffer;r=e.def(a,".getFramebuffer(",r,")");return e.set(a,".next",r),n=n.context,e.set(n,".framebufferWidth",r+"?"+r+".width:"+n+".drawingBufferWidth"),e.set(n,".framebufferHeight",r+"?"+r+".height:"+n+".drawingBufferHeight"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in a){var i=a[t];return F(i,function(t,e){var r=t.invoke(e,i);return e.def(t.shared.strings,".id(",r,")")})}return null}var n=t.static,a=t.dynamic,i=r("frag"),o=r("vert"),s=null;return D(i)&&D(o)?(s=h.program(o.id,i.id),t=R(function(t,e){return t.link(s)})):t=new I(i&&i.thisDep||o&&o.thisDep,i&&i.contextDep||o&&o.contextDep,i&&i.propDep||o&&o.propDep,function(t,e){var r,n,a=t.shared.shader;return r=i?i.append(t,e):e.def(a,".","frag"),n=o?o.append(t,e):e.def(a,".","vert"),e.def(a+".program("+n+","+r+")")}),{frag:i,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in a){var o=a[t];return F(o,function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n})}return e&&i?R(function(t,e){return t.OFFSET="0",0}):null}var n=t.static,a=t.dynamic,i=function(){if("elements"in n){var t=n.elements;O(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if("elements"in a){var r=a.elements;return F(r,function(t,e){var n=(a=t.shared).isBufferArgs,a=a.elements,i=t.invoke(e,r),o=e.def("null");n=e.def(n,"(",i,")"),i=t.cond(n).then(o,"=",a,".createStream(",i,");").else(o,"=",a,".getElements(",i,");");return e.entry(i),e.exit(t.cond(n).then(a,".destroyStream(",o,");")),t.ELEMENTS=o})}return null}(),s=r("offset",!0);return{elements:i,primitive:function(){if("primitive"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if("primitive"in a){var e=a.primitive;return F(e,function(t,r){var n=t.constants.primTypes,a=t.invoke(r,e);return r.def(n,"[",a,"]")})}return i?D(i)?i.value?R(function(t,e){return e.def(t.ELEMENTS,".primType")}):R(function(){return 4}):new I(i.thisDep,i.contextDep,i.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,"?",r,".primType:",4)}):null}(),count:function(){if("count"in n){var t=0|n.count;return R(function(){return t})}if("count"in a){var e=a.count;return F(e,function(t,r){return t.invoke(r,e)})}return i?D(i)?i?s?new I(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,".vertCount-",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,".vertCount")}):R(function(){return-1}):new I(i.thisDep||s.thisDep,i.contextDep||s.contextDep,i.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,"?",r,".vertCount-",t.OFFSET,":-1"):e.def(r,"?",r,".vertCount:-1")}):null}(),instances:r("instances",!1),offset:s}}function T(t,r){var n=t.static,i=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],i=e.id(t),s=new Z;if(O(r))s.state=1,s.buffer=a.getBuffer(a.create(r,34962,!1,!0)),s.type=0;else if(c=a.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if("constant"in r){var l=r.constant;s.buffer="null",s.state=2,"number"==typeof l?s.x=l:bt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=O(r.buffer)?a.getBuffer(a.create(r.buffer,34962,!1,!0)):a.getBuffer(r.buffer),u=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;"type"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=f,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=h,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(i in r)return r[i];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+".dtype"),r[i]=n})}),Object.keys(i).forEach(function(t){var e=i[t];o[t]=F(e,function(t,r){function n(t){r(l[t],"=",a,".",t,"|0;")}var a=t.invoke(r,e),i=t.shared,o=i.isBufferArgs,s=i.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(""+c[t])});var u=l.buffer,h=l.type;return r("if(",o,"(",a,")){",l.isStream,"=true;",u,"=",s,".createStream(",34962,",",a,");",h,"=",u,".dtype;","}else{",u,"=",s,".getBuffer(",a,");","if(",u,"){",h,"=",u,".dtype;",'}else if("constant" in ',a,"){",l.state,"=",2,";","if(typeof "+a+'.constant === "number"){',l[bt[0]],"=",a,".constant;",bt.slice(1).map(function(t){return l[t]}).join("="),"=0;","}else{",bt.map(function(t,e){return l[t]+"="+a+".constant.length>"+e+"?"+a+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",a,".buffer)){",u,"=",s,".createStream(",34962,",",a,".buffer);","}else{",u,"=",s,".getBuffer(",a,".buffer);","}",h,'="type" in ',a,"?",i.glTypes,"[",a,".type]:",u,".dtype;",l.normalized,"=!!",a,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function A(t,e,r,n,a){var o=_(t),s=function(t,e,r){function n(t){if(t in a){var r=a[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new I(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var a=t.shared.context,i=n;"width"in r||(i=e.def(a,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(a,".","framebufferHeight","-",l)),[s,l,i,c]})}if(t in i){var c=i[t];return t=F(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,a=e.def(r,".x|0"),i=e.def(r,".y|0");return[a,i,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",a,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",i,")")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new I(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]}):null}var a=t.static,i=t.dynamic;if(t=n("viewport")){var o=t;t=new I(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r})}return{viewport:t,scissor_box:n("scissor.box")}}(t,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,a={};return nt.forEach(function(t){function e(e,i){if(t in r){var s=e(r[t]);a[o]=R(function(){return s})}else if(t in n){var l=n[t];a[o]=F(l,function(t,e){return i(t,e,t.invoke(e,l))})}}var o=m(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e(function(t){return t},function(t,e,r){return r});case"depth.func":return e(function(t){return kt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")});case"depth.range":return e(function(t){return t},function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]});case"blend.func":return e(function(t){return[wt["srcRGB"in t?t.srcRGB:t.src],wt["dstRGB"in t?t.dstRGB:t.dst],wt["srcAlpha"in t?t.srcAlpha:t.src],wt["dstAlpha"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var a=n("src","RGB"),i=n("dst","RGB"),o=(a=e.def(t,"[",a,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[a,i=e.def(t,"[",i,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]});case"blend.equation":return e(function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,a=e.def(),i=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(a,"=",i,"=",n,"[",r,"];"),t.else(a,"=",n,"[",r,".rgb];",i,"=",n,"[",r,".alpha];"),e(t),[a,i]});case"blend.color":return e(function(t){return i(4,function(e){return+t[e]})},function(t,e,r){return i(4,function(t){return e.def("+",r,"[",t,"]")})});case"stencil.mask":return e(function(t){return 0|t},function(t,e,r){return e.def(r,"|0")});case"stencil.func":return e(function(t){return[kt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]},function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return e(function(e){return["stencil.opBack"===t?1029:1028,Tt[e.fail||"keep"],Tt[e.zfail||"keep"],Tt[e.zpass||"keep"]]},function(e,r,n){function a(t){return r.def('"',t,'" in ',n,"?",i,"[",n,".",t,"]:",7680)}var i=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,a("fail"),a("zfail"),a("zpass")]});case"polygonOffset.offset":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]});case"cull.face":return e(function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e},function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)});case"lineWidth":return e(function(t){return t},function(t,e,r){return r});case"frontFace":return e(function(t){return At[t]},function(t,e,r){return e.def(r+'==="cw"?2304:2305')});case"colorMask":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return i(4,function(t){return"!!"+r+"["+t+"]"})});case"sample.coverage":return e(function(t){return["value"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]})}}),a}(t),u=w(t),h=s.viewport;return h&&(c.viewport=h),(s=s[h=m("scissor.box")])&&(c[h]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,"profile"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if("profile"in t){var a=t.profile;e=F(a,function(t,e){return t.invoke(e,a)})}return e}(t),o.uniforms=function(t,e){var r=t.static,n=t.dynamic,a={};return Object.keys(r).forEach(function(t){var e,n=r[t];if("number"==typeof n||"boolean"==typeof n)e=R(function(){return n});else if("function"==typeof n){var o=n._reglType;"texture2d"===o||"textureCube"===o?e=R(function(t){return t.link(n)}):"framebuffer"!==o&&"framebufferCube"!==o||(e=R(function(t){return t.link(n.color[0])}))}else v(n)&&(e=R(function(t){return t.global.def("[",i(n.length,function(t){return n[t]}),"]")}));e.value=n,a[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];a[t]=F(e,function(t,r){return t.invoke(r,e)})}),a}(r),o.attributes=T(e),o.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(function(t,e){return"number"==typeof r||"boolean"==typeof r?""+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=F(e,function(t,r){return t.invoke(r,e)})}),n}(n),o}function M(t,e,r){var n=t.shared.context,a=t.scope();Object.keys(r).forEach(function(i){e.save(n,"."+i),a(n,".",i,"=",r[i].append(t,e),";")}),e(a)}function S(t,e,r,n){var a,i=(s=t.shared).gl,o=s.framebuffer;$&&(a=e.def(s.extensions,".webgl_draw_buffers"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,".next"),n||e("if(",t,"!==",o,".cur){"),e("if(",t,"){",i,".bindFramebuffer(",36160,",",t,".framebuffer);"),$&&e(a,".drawBuffersWEBGL(",s,"[",t,".colorAttachments.length]);"),e("}else{",i,".bindFramebuffer(",36160,",null);"),$&&e(a,".drawBuffersWEBGL(",l,");"),e("}",o,".cur=",t,";"),n||e("}")}function E(t,e,r){var n=t.shared,a=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,".dirty");nt.forEach(function(e){var n,h;if(!((e=m(e))in r.state))if(e in s){n=s[e],h=o[e];var f=i(tt[e].length,function(t){return u.def(n,"[",t,"]")});u(t.cond(f.map(function(t,e){return t+"!=="+h+"["+e+"]"}).join("||")).then(a,".",it[e],"(",f,");",f.map(function(t,e){return h+"["+e+"]="+t}).join(";"),";"))}else n=u.def(c,".",e),f=t.cond(n,"!==",l,".",e),u(f),e in at?f(t.cond(n).then(a,".enable(",at[e],");").else(a,".disable(",at[e],");"),l,".",e,"=",n,";"):f(a,".",it[e],"(",n,");",l,".",e,"=",n,";")}),0===Object.keys(r.state).length&&u(l,".dirty=false;"),e(u)}function L(t,e,r,n){var a=t.shared,i=t.current,o=a.current,s=a.gl;z(Object.keys(r)).forEach(function(a){var l=r[a];if(!n||n(l)){var c=l.append(t,e);if(at[a]){var u=at[a];D(l)?e(s,c?".enable(":".disable(",u,");"):e(t.cond(c).then(s,".enable(",u,");").else(s,".disable(",u,");")),e(o,".",a,"=",c,";")}else if(v(c)){var h=i[a];e(s,".",it[a],"(",c,");",c.map(function(t,e){return h+"["+e+"]="+t}).join(";"),";")}else e(s,".",it[a],"(",c,");",o,".",a,"=",c,";")}})}function C(t,e){Q&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function B(t,e,r,n,a){function i(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(t){t(c=e.def(),"=",i(),";"),"string"==typeof a?t(f,".count+=",a,";"):t(f,".count++;"),d&&(n?t(u=e.def(),"=",g,".getNumPendingQueries();"):t(g,".beginQuery(",f,");"))}function s(t){t(f,".cpuTime+=",i(),"-",c,";"),d&&(n?t(g,".pushScopeStats(",u,",",g,".getNumPendingQueries(),",f,");"):t(g,".endQuery();"))}function l(t){var r=e.def(p,".profile");e(p,".profile=",t,";"),e.exit(p,".profile=",r,";")}var c,u,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(D(r))return void(r.enable?(o(e),s(e.exit),l("true")):l("false"));l(r=r.append(t,e))}else r=e.def(p,".profile");o(h=t.block()),e("if(",r,"){",h,"}"),s(t=t.block()),e.exit("if(",r,"){",t,"}")}function N(t,e,r,n,a){function i(r,n,a){function i(){e("if(!",u,".buffer){",l,".enableVertexAttribArray(",c,");}");var r,i=a.type;r=a.size?e.def(a.size,"||",n):n,e("if(",u,".type!==",i,"||",u,".size!==",r,"||",p.map(function(t){return u+"."+t+"!=="+a[t]}).join("||"),"){",l,".bindBuffer(",34962,",",h,".buffer);",l,".vertexAttribPointer(",[c,r,i,a.normalized,a.stride,a.offset],");",u,".type=",i,";",u,".size=",r,";",p.map(function(t){return u+"."+t+"="+a[t]+";"}).join(""),"}"),Q&&(i=a.divisor,e("if(",u,".divisor!==",i,"){",t.instancing,".vertexAttribDivisorANGLE(",[c,i],");",u,".divisor=",i,";}"))}function s(){e("if(",u,".buffer){",l,".disableVertexAttribArray(",c,");","}if(",bt.map(function(t,e){return u+"."+t+"!=="+f[e]}).join("||"),"){",l,".vertexAttrib4f(",c,",",f,");",bt.map(function(t,e){return u+"."+t+"="+f[e]+";"}).join(""),"}")}var l=o.gl,c=e.def(r,".location"),u=e.def(o.attributes,"[",c,"]");r=a.state;var h=a.buffer,f=[a.x,a.y,a.z,a.w],p=["buffer","normalized","offset","stride"];1===r?i():2===r?s():(e("if(",r,"===",1,"){"),i(),e("}else{"),s(),e("}"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!a(l))return;o=l.append(t,e)}else{if(!a(Mt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,".",t)})}i(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,a,o){for(var s,l=t.shared,c=l.gl,u=0;u<a.length;++u){var h,f=(g=a[u]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+".location";if(d){if(!o(d))continue;if(D(d)){if(f=d.value,35678===p||35680===p)r(c,".uniform1i(",g,",",(p=t.link(f._texture||f.color[0]._texture))+".bind());"),r.exit(p,".unbind();");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,".uniformMatrix",d,"fv(",g,",false,",f=t.global.def("new Float32Array(["+Array.prototype.slice.call(f)+"])"),");");else{switch(p){case 5126:s="1f";break;case 35664:s="2f";break;case 35665:s="3f";break;case 35666:s="4f";break;case 35670:case 5124:s="1i";break;case 35671:case 35667:s="2i";break;case 35672:case 35668:s="3i";break;case 35673:s="4i";break;case 35669:s="4i"}r(c,".uniform",s,"(",g,",",v(f)?Array.prototype.slice.call(f):f,");")}continue}h=d.append(t,r)}else{if(!o(Mt))continue;h=r.def(l.uniforms,"[",e.id(f),"]")}switch(35678===p?r("if(",h,"&&",h,'._reglType==="framebuffer"){',h,"=",h,".color[0];","}"):35680===p&&r("if(",h,"&&",h,'._reglType==="framebufferCube"){',h,"=",h,".color[0];","}"),f=1,p){case 35678:case 35680:p=r.def(h,"._texture"),r(c,".uniform1i(",g,",",p,".bind());"),r.exit(p,".unbind();");continue;case 5124:case 35670:s="1i";break;case 35667:case 35671:s="2i",f=2;break;case 35668:case 35672:s="3i",f=3;break;case 35669:case 35673:s="4i",f=4;break;case 5126:s="1f";break;case 35664:s="2f",f=2;break;case 35665:s="3f",f=3;break;case 35666:s="4f",f=4;break;case 35674:s="Matrix2fv";break;case 35675:s="Matrix3fv";break;case 35676:s="Matrix4fv"}if(r(c,".uniform",s,"(",g,","),"M"===s.charAt(0)){g=Math.pow(p-35674+2,2);var m=t.global.def("new Float32Array(",g,")");r("false,(Array.isArray(",h,")||",h," instanceof Float32Array)?",h,":(",i(g,function(t){return m+"["+t+"]="+h+"["+t+"]"}),",",m,")")}else r(1<f?i(f,function(t){return h+"["+t+"]"}):h);r(");")}}function V(t,e,r,n){function a(a){var i=f[a];return i?i.contextDep&&n.contextDynamic||i.propDep?i.append(t,r):i.append(t,e):e.def(h,".",a)}function i(){function t(){r(l,".drawElementsInstancedANGLE(",[d,v,m,g+"<<(("+m+"-5121)>>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,v,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,v,m,g+"<<(("+m+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,v]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var a=f.elements,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","elements"),a&&i("if("+a+")"+u+".bindBuffer(34963,"+a+".buffer.buffer);"),a}(),d=a("primitive"),g=a("offset"),v=function(){var a=f.count,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","count"),a}();if("number"==typeof v){if(0===v)return}else r("if(",v,"){"),r.exit("}");Q&&(s=a("instances"),l=t.instancing);var m=p+".type",y=f.elements&&D(f.elements);Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),i(),r("}else if(",s,"<0){"),o(),r("}")):i():o()}function q(t,e,r,n,a){return a=(e=b()).proc("body",a),Q&&(e.instancing=a.def(e.shared.extensions,".angle_instanced_arrays")),t(e,a,r,n),e.compile().body}function H(t,e,r,n){C(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function a(){return!0}t.batchId="a1",C(t,e),N(t,e,r,n.attributes,a),j(t,e,r,n.uniforms,a),V(t,e,e,r)}function Y(t,e,r,n){function a(t){return t.contextDep&&o||t.propDep}function i(t){return!a(t)}C(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&M(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),L(t,u,r.state,a),r.profile&&a(r.profile)&&B(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,i),N(t,u,r,n.attributes,a),j(t,c,r,n.uniforms,i),j(t,u,r,n.uniforms,a),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function W(t,r){function n(e){var n=r.shader[e];n&&a.set(i.shader,"."+e,n.append(t,a))}var a=t.proc("scope",3);t.batchId="a2";var i=t.shared,o=i.current;M(t,a,r.context),r.framebuffer&&r.framebuffer.append(t,a),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,a);v(n)?n.forEach(function(r,n){a.set(t.next[e],"["+n+"]",r)}):a.set(i.next,"."+e,n)}),B(t,a,r,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(e){var n=r.draw[e];n&&a.set(i.draw,"."+e,""+n.append(t,a))}),Object.keys(r.uniforms).forEach(function(n){a.set(i.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,a))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,a),i=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){a.set(i,"."+t,n[t])})}),n("vert"),n("frag"),0<Object.keys(r.state).length&&(a(o,".dirty=true;"),a.exit(o,".dirty=true;")),a("a1(",t.shared.context,",a0,",t.batchId,");")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if("object"==typeof t&&!v(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var a=t.global,i=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def("{}");i.forEach(function(e){var r=n[e];if(U.isDynamic(r))"function"==typeof r&&(r=n[e]=U.unbox(r)),e=F(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(a(c,".",e,"="),typeof r){case"number":a(r);break;case"string":a('"',r,'"');break;case"object":Array.isArray(r)&&a("[",r.join(),"]");break;default:a(t.link(r))}a(";")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){i.forEach(function(r){var a=n[r];U.isDynamic(a)&&(a=t.invoke(e,a),e(c,".",r,"=",a,";"))})}}),delete e.static[r]}}var Z=u.Record,J={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],at={},it={};y("dither",3024),y("blend.enable",3042),x("blend.color","blendColor",[0,0,0,0]),x("blend.equation","blendEquationSeparate",[32774,32774]),x("blend.func","blendFuncSeparate",[1,0,1,0]),y("depth.enable",2929,!0),x("depth.func","depthFunc",513),x("depth.range","depthRange",[0,1]),x("depth.mask","depthMask",!0),x("colorMask","colorMask",[!0,!0,!0,!0]),y("cull.enable",2884),x("cull.face","cullFace",1029),x("frontFace","frontFace",2305),x("lineWidth","lineWidth",1),y("polygonOffset.enable",32823),x("polygonOffset.offset","polygonOffset",[0,0]),y("sample.alpha",32926),y("sample.enable",32928),x("sample.coverage","sampleCoverage",[1,!1]),y("stencil.enable",2960),x("stencil.mask","stencilMask",-1),x("stencil.func","stencilFunc",[519,0,-1]),x("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),x("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),y("scissor.enable",3089),x("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:f,elements:o,buffer:a,shader:h,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:O},st={primTypes:rt,compareFuncs:kt,blendFuncs:wt,blendEquations:J,stencilOps:Tt,glTypes:K,orientationType:At};$&&(st.backBuffer=[1029],st.drawBuffer=i(n.maxDrawbuffers,function(t){return 0===t?[0]:i(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc("poll"),r=t.proc("refresh"),a=t.block();e(a),r(a);var o,s=t.shared,l=s.gl,c=s.next,u=s.current;a(u,".dirty=false;"),S(t,e),S(t,r,null,!0),Q&&(o=t.link(Q));for(var h=0;h<n.maxAttributes;++h){var f=r.def(s.attributes,"[",h,"]"),p=t.cond(f,".buffer");p.then(l,".enableVertexAttribArray(",h,");",l,".bindBuffer(",34962,",",f,".buffer.buffer);",l,".vertexAttribPointer(",h,",",f,".size,",f,".type,",f,".normalized,",f,".stride,",f,".offset);").else(l,".disableVertexAttribArray(",h,");",l,".vertexAttrib4f(",h,",",f,".x,",f,".y,",f,".z,",f,".w);",f,".buffer=null;"),r(p),Q&&r(o,".vertexAttribDivisorANGLE(",h,",",f,".divisor);")}return Object.keys(at).forEach(function(n){var i=at[n],o=a.def(c,".",n),s=t.block();s("if(",o,"){",l,".enable(",i,")}else{",l,".disable(",i,")}",u,".",n,"=",o,";"),r(s),e("if(",o,"!==",u,".",n,"){",s,"}")}),Object.keys(it).forEach(function(n){var o,s,h=it[n],f=tt[n],p=t.block();p(l,".",h,"("),v(f)?(h=f.length,o=t.global.def(c,".",n),s=t.global.def(u,".",n),p(i(h,function(t){return o+"["+t+"]"}),");",i(h,function(t){return s+"["+t+"]="+o+"["+t+"];"}).join("")),e("if(",i(h,function(t){return o+"["+t+"]!=="+s+"["+t+"]"}).join("||"),"){",p,"}")):(o=a.def(c,".",n),s=a.def(u,".",n),p(o,");",u,".",n,"=",o,";"),e("if(",o,"!==",s,"){",p,"}")),r(p)}),t.compile()}(),compile:function(t,e,r,n,a){var i=b();return i.stats=i.link(a),Object.keys(e.static).forEach(function(t){X(i,e,t)}),_t.forEach(function(e){X(i,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc("draw",1);C(t,r),M(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),L(t,r,e.state),B(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,".useProgram(",n,".program);"),e.shader.program)H(t,r,e,e.shader.program);else{var a=t.global.def("{}"),i=r.def(n,".id"),o=r.def(a,"[",i,"]");r(t.cond(o).then(o,".call(this,a0);").else(o,"=",a,"[",i,"]=",t.link(function(r){return q(H,t,e,r,1)}),"(",n,");",o,".call(this,a0);"))}0<Object.keys(e.state).length&&r(t.shared.current,".dirty=true;")}(i,r),W(i,r),function(t,e){function r(t){return t.contextDep&&a||t.propDep}var n=t.proc("batch",2);t.batchId="0",C(t,n);var a=!1,i=!0;Object.keys(e.context).forEach(function(t){a=a||e.context[t].propDep}),a||(M(t,n,e.context),i=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?a=o=!0:s.contextDep&&a&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(a=!0),E(t,n,e),L(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||B(t,n,e,!1,"a1"),e.contextDep=a,e.needsContext=i,e.needsFramebuffer=o,(i=e.shader.progVar).contextDep&&a||i.propDep)Y(t,n,e,null);else if(i=i.append(t,n),n(t.shared.gl,".useProgram(",i,".program);"),e.shader.program)Y(t,n,e,e.shader.program);else{var s=t.global.def("{}"),l=(o=n.def(i,".id"),n.def(s,"[",o,"]"));n(t.cond(l).then(l,".call(this,a0,a1);").else(l,"=",s,"[",o,"]=",t.link(function(r){return q(Y,t,e,r,2)}),"(",i,");",l,".call(this,a0,a1);"))}0<Object.keys(e.state).length&&n(t.shared.current,".dirty=true;")}(i,r),i.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+""))},isDynamic:function(e){return"function"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return"function"==typeof e?new t(0,e):e},accessor:e},q={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},H="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=s();G.zero=s();var Y=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,a=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),a=t.getParameter(36063));var i=!!e.oes_texture_float;if(i){i=t.createTexture(),t.bindTexture(3553,i),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,i,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))i=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=G.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?i=!1:(t.deleteFramebuffer(o),t.deleteTexture(i),i=1===s[0]),G.freeType(s)}}return s=!0,"undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=G.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),G.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter(function(t){return!!e[t]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:a,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:i,npotTextureCube:s}},W=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},X=function(t){return Object.keys(t).map(function(e){return t[e]})},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var a=1;if(e.length)for(var i=0;i<e.length;++i)a*=e[i];else a=0;switch(r=n||G.allocType(r,a),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],i=a=0;i<n;++i)for(var o=t[i],s=0;s<e;++s)r[a++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,a,i){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],h=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,h,r,a,i),i+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,a,i),i+=o}(t,e,0,r,0)}return r}},J={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},nt=new Float32Array(1),at=new Uint32Array(nt.buffer),it=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=m("HTMLCanvasElement"),ct=m("CanvasRenderingContext2D"),ut=m("ImageBitmap"),ht=m("HTMLImageElement"),ft=m("HTMLVideoElement"),pt=Object.keys(J).concat([lt,ct,ut,ht,ft]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var gt=[];gt[32854]=2,gt[32855]=2,gt[36194]=2,gt[34041]=4,gt[33776]=.5,gt[33777]=.5,gt[33778]=1,gt[33779]=1,gt[35986]=.5,gt[35987]=1,gt[34798]=1,gt[35840]=.5,gt[35841]=.25,gt[35842]=.5,gt[35843]=.25,gt[36196]=.5;var vt=[];vt[32854]=2,vt[32855]=2,vt[36194]=2,vt[33189]=2,vt[36168]=1,vt[34041]=4,vt[35907]=4,vt[34836]=16,vt[34842]=8,vt[34843]=6;var mt=function(t,e,r,n,a){function i(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,a.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var c=0,u={};return i.prototype.decRef=function(){0>=--this.refCount&&o(this)},a.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,i=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(i=e.shape)[0],i=0|i[1]):("radius"in e&&(n=i=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(i=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,i="number"==typeof r?0|r:n):e||(n=i=1),n!==c.width||i!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=i,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new i(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,i=0|r||n;return n===c.width&&i===c.height?o:(o.width=c.width=n,o.height=c.height=i,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o)},o._reglType="renderbuffer",o._renderbuffer=c,a.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=["x","y","z","w"],_t="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),wt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},kt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Tt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},At={cw:2304,ccw:2305},Mt=new I(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),$=null;else{$=q.next(e),h();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(P,null,0)}v.flush(),w&&w.update()}}function r(){!$&&0<Z.length&&($=q.next(e))}function n(){$&&(q.cancel(e),$=null)}function i(t){t.preventDefault(),n(),J.forEach(function(t){t()})}function o(t){v.getError(),y.restore(),D.restore(),z.restore(),R.restore(),F.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),K.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var a=t[n];U.isDynamic(a)?r[n]=U.unbox(a,n):e[n]=a}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),a=e(t.attributes||{}),i=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach(function(n){r[t+"."+n]=e[n]})}}var r=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,"stencil"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e("blend"),e("depth"),e("cull"),e("stencil"),e("polygonOffset"),e("scissor"),e("sample"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(i,a,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(function(t,e){var r;if("function"==typeof t)return l.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if("number"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),"depth"in e&&(v.clearDepth(+e.depth),r|=256),"stencil"in e&&(v.clearStencil(0|e.stencil),r|=1024),v.clear(r)}function c(t){return Z.push(t),r(),{cancel:function(){var e=N(Z,t);Z[e]=function t(){var e=N(Z,t);Z[e]=Z[Z.length-1],--Z.length,0>=Z.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){P.tick+=1,P.time=g(),u(),G.procs.poll()}function f(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=a(t)))return null;var v=t.gl,m=v.getContextAttributes();v.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},a=0;a<e.extensions.length;++a){var i=e.extensions[a];if(!r(i))return e.onDestroy(),e.onDone('"'+i+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach(function(t){if(n[t]&&!r(t))throw Error("(regl): error restoring extension "+t)})}}}(v,t);if(!y)return null;var x=function(){var t={"":0},e=[""];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var a=o.pop()||new r;a.startQueryIndex=t,a.endQueryIndex=e,a.sum=0,a.stats=n,s.push(a)}if(!e.ext_disjoint_timer_query)return null;var a=[],i=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var r=a.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),i.push(r),n(i.length-1,i.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=i.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=c[0]=0;for(r=t=0;r<i.length;++r){var u=i[r];e.ext_disjoint_timer_query.getQueryObjectEXT(u,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(u,34918),a.push(u)):i[t++]=u,l[r+1]=n,c[r+1]=t}for(i.length=t,r=t=0;r<s.length;++r){var h=(n=s[r]).startQueryIndex;u=n.endQueryIndex,n.sum+=l[u]-l[h],h=c[h],(u=c[u])===h?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=h,n.endQueryIndex=u,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return i.length},clear:function(){a.push.apply(a,i);for(var t=0;t<a.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(a[t]);i.length=0,a.length=0},restore:function(){i.length=0,a.length=0}}}(0,_),k=H(),L=v.drawingBufferWidth,C=v.drawingBufferHeight,P={tick:0,time:0,viewportWidth:L,viewportHeight:C,framebufferWidth:L,framebufferHeight:C,drawingBufferWidth:L,drawingBufferHeight:C,pixelRatio:t.pixelRatio},O=Y(v,_),z=(L=function(t,e,r,n){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new M;return{Record:M,scope:{},state:e}}(v,_,O),p(v,b,t,L)),I=d(v,_,z,b),D=S(v,x,b,t),R=T(v,_,O,function(){G.procs.poll()},P,b,t),F=mt(v,_,0,b,t),V=A(v,_,O,R,F,b),G=B(v,x,_,O,z,I,0,V,{},L,D,{elements:null,primitive:4,count:-1,offset:0,instances:-1},P,w,t),W=(x=E(v,V,G.procs.poll,P),G.next),X=v.canvas,Z=[],J=[],K=[],Q=[t.onDestroy],$=null;X&&(X.addEventListener("webglcontextlost",i,!1),X.addEventListener("webglcontextrestored",o,!1));var tt=V.setFBO=s({framebuffer:U.define.call(null,1,"framebuffer")});return f(),m=j(s,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var e=0;6>e;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return I.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=J;break;case"restore":r=K;break;case"destroy":r=Q}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:O,hasExtension:function(t){return 0<=O.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){Z.length=0,n(),X&&(X.removeEventListener("webglcontextlost",i),X.removeEventListener("webglcontextrestored",o)),D.clear(),V.clear(),F.clear(),R.clear(),I.clear(),z.clear(),w&&w.clear(),Q.forEach(function(t){t()})},_gl:v,_refresh:f,poll:function(){h(),w&&w.update()},now:g,stats:b}),t.onDone(null,m),m}},"object"==typeof r&&"undefined"!=typeof e?e.exports=a():n.createREGL=a()},{}],501:[function(t,e,r){"use strict";var n,a="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,a="";else if(a.length>=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a=(a+=t).substr(0,r)}},{}],502:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],503:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,a=e-2;a>=0;--a){var i=r,o=t[a],s=(r=i+o)-i,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,a=n;a<e;++a){var i=t[a],o=r,s=(r=i+o)-i,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],504:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-compress"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(2===t.length)return["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("");for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(l(t,r)),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return function t(e){if(1===e.length)return e[0];if(2===e.length)return["sum(",e[0],",",e[1],")"].join("");var r=e.length>>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m[",r,"][",n,"]"].join("")}return e}(t)),")};return robustDeterminant",t].join(""))(a,i,n,o)}var h=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;h.length<s;)h.push(u(h.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<s;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var a=Function.apply(void 0,t);for(e.exports=a.apply(void 0,h.concat([h,u])),n=0;n<h.length;++n)e.exports[n]=h[n]}()},{"robust-compress":503,"robust-scale":510,"robust-sum":513,"two-product":541}],505:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum");e.exports=function(t,e){for(var r=n(t[0],e[0]),i=1;i<t.length;++i)r=a(r,n(t[i],e[i]));return r}},{"robust-sum":513,"two-product":541}],506:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-subtract"),o=t("robust-scale"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function h(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(h(l(t,r))),",",(n=r,!0&n?"-":""),t[0][r],")"].join(""));return e;var n}function f(t,e){for(var r=[],n=0;n<e-2;++n)r.push(["prod(m",t,"[",n,"],m",t,"[",n,"])"].join(""));return c(r)}function p(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-2,"]"].join("")}return e}(t),u=0;u<t;++u)s[0][u]="1",s[t-1][u]="w"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,h(l(s,u))):r.push.apply(r,h(l(s,u)));var p=c(e),d=c(r),g="exactInSphere"+t,v=[];for(u=0;u<t;++u)v.push("m"+u);var m=["function ",g,"(",v.join(),"){"];for(u=0;u<t;++u){m.push("var w",u,"=",f(u,t),";");for(var y=0;y<t;++y)y!==u&&m.push("var w",u,"m",y,"=scale(w",u,",m",y,"[0]);")}return m.push("var p=",p,",n=",d,",d=diff(p,n);return d[d.length-1];}return ",g),new Function("sum","diff","prod","scale",m.join(""))(a,i,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var a=["function testInSphere(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),r.push(a.join(""));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":510,"robust-subtract":512,"robust-sum":513,"two-product":541}],507:[function(t,e,r){"use strict";var n=t("robust-determinant"),a=6;function i(t){for(var e="robustLinearSolve"+t+"d",r=["function ",e,"(A,b){return ["],a=0;a<t;++a){r.push("det([");for(var i=0;i<t;++i){i>0&&r.push(","),r.push("[");for(var o=0;o<t;++o)o>0&&r.push(","),o===a?r.push("+b[",i,"]"):r.push("+A[",i,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<a;)o.push(i(o.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<a;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,i])),n=0;n<a;++n)e.exports[n]=o[n]}()},{"robust-determinant":504}],508:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-subtract"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(u(l(t,r))),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return e;var n}function h(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-1,"]"].join("")}return e}(t),h=[],f=0;f<t;++f)0==(1&f)?e.push.apply(e,u(l(s,f))):r.push.apply(r,u(l(s,f))),h.push("m"+f);var p=c(e),d=c(r),g="orientation"+t+"Exact",v=["function ",g,"(",h.join(),"){var p=",p,",n=",d,",d=sub(p,n);return d[d.length-1];};return ",g].join("");return new Function("sum","prod","scale","sub",v)(a,n,i,o)}var f=h(3),p=h(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,a=(t[1]-r[1])*(e[0]-r[0]),i=(t[0]-r[0])*(e[1]-r[1]),o=a-i;if(a>0){if(i<=0)return o;n=a+i}else{if(!(a<0))return o;if(i>=0)return o;n=-(a+i)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var a=t[0]-n[0],i=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=i*c,g=o*l,v=o*s,m=a*c,y=a*l,x=i*s,b=u*(d-g)+h*(v-m)+f*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(v)+Math.abs(m))*Math.abs(h)+(Math.abs(y)+Math.abs(x))*Math.abs(f));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(h(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var a=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),r.push(a.join(""));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=h(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":510,"robust-subtract":512,"robust-sum":513,"two-product":541}],509:[function(t,e,r){"use strict";var n=t("robust-sum"),a=t("robust-scale");e.exports=function(t,e){if(1===t.length)return a(e,t[0]);if(1===e.length)return a(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var i=0;i<t.length;++i)r=n(r,a(e,t[i]));else for(var i=0;i<e.length;++i)r=n(r,a(t,e[i]));return r}},{"robust-scale":510,"robust-sum":513}],510:[function(t,e,r){"use strict";var n=t("two-product"),a=t("two-sum");e.exports=function(t,e){var r=t.length;if(1===r){var i=n(t[0],e);return i[0]?i:[i[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var h=s[1];a(h,l[0],s),s[0]&&(o[c++]=s[0]);var f=l[1],p=s[1],d=f+p,g=d-f,v=p-g;s[1]=d,v&&(o[c++]=v)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{"two-product":541,"two-sum":542}],511:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){var i=n(t,r,a),o=n(e,r,a);if(i>0&&o>0||i<0&&o<0)return!1;var s=n(r,t,e),l=n(a,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===i&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var a=0;a<2;++a){var i=t[a],o=e[a],s=Math.min(i,o),l=Math.max(i,o),c=r[a],u=n[a],h=Math.min(c,u),f=Math.max(c,u);if(f<s||l<h)return!1}return!0}(t,e,r,a);return!0};var n=t("robust-orientation")[3]},{"robust-orientation":508}],512:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],-e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=-e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,v,m=a+i,y=m-a,x=i-y,b=x,_=m;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(i=b)-(y=(m=a+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(i=b)-(y=(m=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(m=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],513:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,v,m=a+i,y=m-a,x=i-y,b=x,_=m;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(i=b)-(y=(m=a+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(i=b)-(y=(m=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(m=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],514:[function(t,e,r){"use strict";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],515:[function(t,e,r){"use strict";e.exports=function(t){return a(n(t))};var n=t("boundary-cells"),a=t("reduce-simplicial-complex")},{"boundary-cells":96,"reduce-simplicial-complex":490}],516:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=a.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=a.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,h=0;h<e;++h)for(var f=0;f<h;++f){var p=u[f],d=u[h];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}i(n(s,[l/2|0,2]));for(var g=2,c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,i){for(var o=t.data,s=t.shape[0],l=a.mallocDouble(s),c=0,u=0;u<s;++u){var h=o[2*u],f=o[2*u+1];if(r[h]!==r[f]){var p=e[h],d=e[f];o[2*c]=h,o[2*c+1]=f,l[c++]=(d-i)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),h=function(t,e){var r=a.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=i[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),f=o(s)(t,c.data,h,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),a=0;a<e;++a)n[a]=[r[2*a],r[2*a+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return a.free(l),a.free(c.data),a.free(u.data),a.free(h),{cells:f,vertexIds:p,vertexWeights:d}};var n=t("ndarray"),a=t("typedarray-pool"),i=t("ndarray-sort"),o=t("./lib/codegen")},{"./lib/codegen":517,ndarray:451,"ndarray-sort":449,"typedarray-pool":543}],517:[function(t,e,r){"use strict";e.exports=function(t){var e=i[t];e||(e=i[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var i=1;i<=t;++i)for(var o=r[i]=a(i),s=0;s<o.length;++s)e=Math.max(e,o[i].length);var l=["function B(C,E,i,j){","var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];","while(l<h){","var m=(l+h)>>1,v=E[2*m+1];","if(v===b){return m}","if(b<v){h=m}else{l=m+1}","}","return l;","};","function getContour",t,"d(F,E,C,S){","var n=F.length,R=[];","for(var i=0;i<n;++i){var c=F[i],l=c.length;"];function c(t){if(!(t.length<=0)){l.push("R.push(");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(","),l.push("[");for(var n=0;n<r.length;++n){var a=r[n];n>0&&l.push(","),l.push("B(C,E,c[",a[0],"],c[",a[1],"])")}l.push("]")}l.push(");")}}for(var i=t+1;i>1;--i){i<t+1&&l.push("else "),l.push("if(l===",i,"){");for(var u=[],s=0;s<i;++s)u.push("(S[c["+s+"]]<<"+s+")");l.push("var M=",u.join("+"),";if(M===0||M===",(1<<i)-1,"){continue}switch(M){");for(var o=r[i-1],s=0;s<o.length;++s)l.push("case ",s,":"),c(o[s]),l.push("break;");l.push("}}")}return l.push("}return R;};return getContour",t,"d"),new Function("pool",l.join(""))(n)}(t));return e};var n=t("typedarray-pool"),a=t("marching-simplex-table"),i={}},{"marching-simplex-table":428,"typedarray-pool":543}],518:[function(t,e,r){"use strict";var n=t("bit-twiddle"),a=t("union-find");function i(t,e){var r=t.length,n=t.length-e.length,a=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||a(t[0],t[1])-a(e[0],e[1]);case 3:var i=t[0]+t[1],o=e[0]+e[1];if(s=i+t[2]-(o+e[2]))return s;var s,l=a(t[0],t[1]),c=a(e[0],e[1]);return(s=a(l,t[2])-a(c,e[2]))||a(l+t[2],i)-a(c+e[2],o);default:var u=t.slice(0);u.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=u[f]-h[f])return n;return 0}}function o(t,e){return i(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=[t[a],e[a]];n.sort(o);for(a=0;a<r;++a)t[a]=n[a][0],e[a]=n[a][1];return t}return t.sort(i),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var a=t[n];if(i(a,t[n-1])){if(n===e){e++;continue}t[e++]=a}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,a=-1;r<=n;){var o=r+n>>1,s=i(t[o],e);s<=0?(0===s&&(a=o),r=o+1):s>0&&(n=o-1)}return a}function u(t,e){for(var r=new Array(t.length),a=0,o=r.length;a<o;++a)r[a]=[];for(var s=[],l=(a=0,e.length);a<l;++a)for(var u=e[a],h=u.length,f=1,p=1<<h;f<p;++f){s.length=n.popCount(f);for(var d=0,g=0;g<h;++g)f&1<<g&&(s[d++]=u[g]);var v=c(t,s);if(!(v<0))for(;r[v++].push(a),!(v>=t.length||0!==i(t[v],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],a=(1<<e+1)-1,i=0;i<t.length;++i)for(var o=t[i],l=a;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,h=0;h<o.length;++h)l&1<<h&&(c[u++]=o[h]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,a=t.length;n<a;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)e=r(e,i[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=i,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(h(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)r[i[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0|a.length,o=1,l=1<<i;o<l;++o){for(var c=[],u=0;u<i;++u)o>>>u&1&&c.push(a[u]);e.push(c)}return s(e)},r.skeleton=h,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;++i){for(var l=new Array(a.length-1),c=0,u=0;c<o;++c)c!==i&&(l[u++]=a[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new a(e),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var s=o+1;s<i.length;++s)r.link(i[o],i[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(h(t,0))),r=new a(e.length),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var u=c(e,[i[o]]),f=o+1;f<i.length;++f)r.link(u,c(e,[i[f]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{"bit-twiddle":93,"union-find":544}],519:[function(t,e,r){arguments[4][93][0].apply(r,arguments)},{dup:93}],520:[function(t,e,r){arguments[4][518][0].apply(r,arguments)},{"bit-twiddle":519,dup:518,"union-find":521}],521:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],522:[function(t,e,r){"use strict";e.exports=function(t,e,r){for(var i=e.length,o=t.length,s=new Array(i),l=new Array(i),c=new Array(i),u=new Array(i),h=0;h<i;++h)s[h]=l[h]=-1,c[h]=1/0,u[h]=!1;for(var h=0;h<o;++h){var f=t[h];if(2!==f.length)throw new Error("Input must be a graph");var p=f[1],d=f[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,a,i,o,c,h=s[t],f=l[t];return h<0||f<0?1/0:(r=e[t],a=e[h],i=e[f],o=Math.abs(n(r,a,i)),c=Math.sqrt(Math.pow(a[0]-i[0],2)+Math.pow(a[1]-i[1],2)),o/c)}function v(t,e){var r=T[t],n=T[e];T[t]=n,T[e]=r,A[r]=e,A[n]=t}function m(t){return c[T[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=m(t);;){var r=e,n=2*t+1,a=2*(t+1),i=t;if(n<S){var o=m(n);o<r&&(i=n,r=o)}if(a<S){var s=m(a);s<r&&(i=a)}if(i===t)return t;v(t,i),t=i}}function b(t){for(var e=m(t);t>0;){var r=y(t);if(r>=0){var n=m(r);if(e<n){v(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=T[0];return v(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=T[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var T=[],A=new Array(i),h=0;h<i;++h){var M=c[h]=g(h);M<1/0?(A[h]=T.length,T.push(h)):A[h]=-1}for(var S=T.length,h=S>>1;h>=0;--h)x(h);for(;;){var E=_();if(E<0||c[E]>r)break;k(E)}for(var L=[],h=0;h<i;++h)u[h]||(A[h]=L.length,L.push(e[h].slice()));L.length;function C(t,e){if(t[e]<0)return e;var r=e,n=e;do{var a=t[n];if(!u[n]||a<0||a===n)break;if(a=t[n=a],!u[n]||a<0||a===n)break;n=a,r=t[r]}while(r!==n);for(var i=e;i!==n;i=t[i])t[i]=n;return n}var P=[];return t.forEach(function(t){var e=C(s,t[0]),r=C(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],a=A[r];n!==a&&P.push([n,a])}}),a.unique(a.normalize(P)),{positions:L,edges:P}};var n=t("robust-orientation"),a=t("simplicial-complex")},{"robust-orientation":508,"simplicial-complex":520}],523:[function(t,e,r){"use strict";e.exports=function(t,e){var r,i,o,s;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return a(e,t);r=e[1],i=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-a(t,e);o=t[1],s=t[0]}var l=n(r,i,s),c=n(r,i,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,i),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return i[0]-s[0]};var n=t("robust-orientation");function a(t,e){var r,a,i,o;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],a=e[0]}t[0][1]<t[1][1]?(i=t[0],o=t[1]):(i=t[1],o=t[0]);var h=n(a,r,i);return h||((h=n(a,r,o))||o-a)}},{"robust-orientation":508}],524:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var l=t[i],c=l[0][0]<l[1][0];n[2*i]=new h(l[0][0],l,c,i),n[2*i+1]=new h(l[1][0],l,!c,i)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var f=a(o),p=[],d=[],g=[],i=0;i<r;){for(var v=n[i].x,m=[];i<r;){var y=n[i];if(y.x!==v)break;i+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(m.push(new u(y.segment[0][1],y.index,!0,!0)),m.push(new u(y.segment[1][1],y.index,!1,!1))):(m.push(new u(y.segment[1][1],y.index,!0,!1)),m.push(new u(y.segment[0][1],y.index,!1,!0)))):f=y.create?f.insert(y.segment,y.index):f.remove(y.segment)}p.push(f.root),d.push(v),g.push(m)}return new s(p,d,g)};var n=t("binary-search-bounds"),a=t("functional-red-black-tree"),i=t("robust-orientation"),o=t("./lib/order-segments");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,a,o=t.key;o[0][0]<o[1][0]?(n=o[0],a=o[1]):(n=o[1],a=o[0]);var s=i(n,a,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),a=-1;if(r&&(a=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,a=u.value):(a=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f<h.length){var p=h[f];if(t[1]===p.y){if(p.closed)return p.index;for(;f<h.length-1&&h[f+1].y===t[1];)if((p=h[f+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((f+=1)>=h.length)return a;p=h[f]}}if(p.start)if(s){var d=i(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(a=p.index)}else a=p.index;else p.y!==t[1]&&(a=p.index)}}}return a}},{"./lib/order-segments":523,"binary-search-bounds":92,"functional-red-black-tree":232,"robust-orientation":508}],525:[function(t,e,r){"use strict";var n=t("robust-dot-product"),a=t("robust-sum");function i(t,e){var r=a(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var a=-e/(n-e);a<0?a=0:a>1&&(a=1);for(var i=1-a,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=a*t[l]+i*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],a=i(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=i(l=t[c],e);if(a<0&&u>0||a>0&&u<0){var h=o(s,u,l,a);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),a=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":505,"robust-sum":513}],526:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(r){return function(r,n){var a,i,o,s,l,c,u,h,f,p=1,d=r.length,g="";for(i=0;i<d;i++)if("string"==typeof r[i])g+=r[i];else if("object"==typeof r[i]){if((s=r[i]).keys)for(a=n[p],o=0;o<s.keys.length;o++){if(null==a)throw new Error(e('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[o],s.keys[o-1]));a=a[s.keys[o]]}else a=s.param_no?n[s.param_no]:n[p++];if(t.not_type.test(s.type)&&t.not_primitive.test(s.type)&&a instanceof Function&&(a=a()),t.numeric_arg.test(s.type)&&"number"!=typeof a&&isNaN(a))throw new TypeError(e("[sprintf] expecting number but found %T",a));switch(t.number.test(s.type)&&(h=a>=0),s.type){case"b":a=parseInt(a,10).toString(2);break;case"c":a=String.fromCharCode(parseInt(a,10));break;case"d":case"i":a=parseInt(a,10);break;case"j":a=JSON.stringify(a,null,s.width?parseInt(s.width):0);break;case"e":a=s.precision?parseFloat(a).toExponential(s.precision):parseFloat(a).toExponential();break;case"f":a=s.precision?parseFloat(a).toFixed(s.precision):parseFloat(a);break;case"g":a=s.precision?String(Number(a.toPrecision(s.precision))):parseFloat(a);break;case"o":a=(parseInt(a,10)>>>0).toString(8);break;case"s":a=String(a),a=s.precision?a.substring(0,s.precision):a;break;case"t":a=String(!!a),a=s.precision?a.substring(0,s.precision):a;break;case"T":a=Object.prototype.toString.call(a).slice(8,-1).toLowerCase(),a=s.precision?a.substring(0,s.precision):a;break;case"u":a=parseInt(a,10)>>>0;break;case"v":a=a.valueOf(),a=s.precision?a.substring(0,s.precision):a;break;case"x":a=(parseInt(a,10)>>>0).toString(16);break;case"X":a=(parseInt(a,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=a:(!t.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",a=a.toString().replace(t.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+a).length,l=s.width&&u>0?c.repeat(u):"",g+=s.align?f+a+l:"0"===c?f+l+a:l+f+a)}return g}(function(e){if(a[e])return a[e];var r,n=e,i=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var a=Object.create(null);"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],527:[function(t,e,r){"use strict";var n=t("parenthesis");e.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map(function(t){return 1===t.length&&(t+=t),t}));var a=n.parse(t,{flat:!0,brackets:r.ignore}),i=a[0].split(e);if(r.escape){for(var o=[],s=0;s<i.length;s++){var l=i[s],c=i[s+1];"\\"===l[l.length-1]&&"\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}i=o}for(s=0;s<i.length;s++)a[0]=i[s],i[s]=n.stringify(a,{flat:!0});return i}},{parenthesis:459}],528:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),a=new Array(e),i=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,a[l]=!1,i[l]=0,o[l]=-1,s[l]=[];var c,u=0,h=[],f=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,a[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(i[e]<p.length){for(var d=i[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,a[g]=!0,u+=1,l.push(g),c.push(g);break}a[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}i[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(a[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];f.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort(function(t,e){return t-e}),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);f[l]=c}}return{components:h,adjacencyList:f}}},{}],529:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;s<n;++s)a[s]=[r[s]],o[s]=[s];return{positions:a,cells:o}}(t,e);var r=t.order.join()+"-"+t.dtype,s=o[r],e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,i=["'use strict';"],o="surfaceNets"+t.join("_")+"d"+e;i.push("var contour=genContour({","order:[",t.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },"),"generic"===e&&i.push("getters:[0],");for(var s=[],l=[],c=0;c<r;++c)s.push("d"+c),l.push("d"+c);for(var c=0;c<1<<r;++c)s.push("v"+c),l.push("v"+c);for(var c=0;c<1<<r;++c)s.push("p"+c),l.push("p"+c);s.push("a","b","c"),l.push("a","c"),i.push("vertex:function vertexFunc(",s.join(),"){");for(var u=[],c=0;c<1<<r;++c)u.push("(p"+c+"<<"+c+")");i.push("var m=(",u.join("+"),")|0;if(m===0||m===",(1<<(1<<r))-1,"){return}");var h=[],f=[];1<<(1<<r)<=128?(i.push("switch(m){"),f=i):i.push("switch(m>>>7){");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){h.length>0&&f.push("}}");var p="vExtra"+h.length;i.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),f=["function ",p,"(m,",l.join(),"){switch(m){"],h.push(f)}f.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),v=new Array(r),m=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],v[x]=0,m[x]=0;for(var x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push("v"+_+"-v"+x):(g[b].push("v"+x+"-v"+_),w=-w),w<0?(d[b].push("-v"+x+"-v"+_),v[b]+=2):(d[b].push("v"+x+"+v"+_),v[b]-=2),y+=1;for(var k=0;k<r;++k)k!==b&&(_&1<<k?m[k]+=1:m[k]-=1)}}for(var T=[],b=0;b<r;++b)if(0===d[b].length)T.push("d"+b+"-0.5");else{var A="";v[b]<0?A=v[b]+"*c":v[b]>0&&(A="+"+v[b]+"*c");var M=d[b].length/y*.5,S=.5+m[b]/y*.5;T.push("d"+b+"-"+S+"-"+M+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}f.push("a.push([",T.join(),"]);","break;")}i.push("}},"),h.length>0&&f.push("}}");for(var E=[],c=0;c<1<<r-1;++c)E.push("v"+c);E.push("c0","c1","p0","p1","a","b","c"),i.push("cell:function cellFunc(",E.join(),"){");var L=a(r-1);i.push("if(p0){b.push(",L.map(function(t){return"["+t.map(function(t){return"v"+t})+"]"}).join(),")}else{b.push(",L.map(function(t){var e=t.slice();return e.reverse(),"["+e.map(function(t){return"v"+t})+"]"}).join(),")}}});function ",o,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",o,";");for(var c=0;c<h.length;++c)i.push(h[c].join(""));return new Function("genContour",i.join(""))(n)}(t.order,t.dtype));return s(t,e)};var n=t("ndarray-extract-contour"),a=t("triangulate-hypercube"),i=t("zero-crossings");var o={}},{"ndarray-extract-contour":440,"triangulate-hypercube":539,"zero-crossings":572}],530:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{!n&&s.return&&s.return()}finally{if(a)throw i}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=2*Math.PI,i=function(t,e,r,n,a,i,o){var s=t.x,l=t.y;return{x:n*(s*=e)-a*(l*=r)+i,y:a*s+n*l+o}},o=function(t,e){var r=.551915024494*(e<0?-1:1),n=Math.cos(t),a=Math.sin(t),i=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-a*r,y:a+n*r},{x:i+o*r,y:o-i*r},{x:i,y:o}]},s=function(t,e,r,n){var a=t*n-e*r<0?-1:1,i=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return i>1&&(i=1),i<-1&&(i=-1),a*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,h=t.ry,f=t.xAxisRotation,p=void 0===f?0:f,d=t.largeArcFlag,g=void 0===d?0:d,v=t.sweepFlag,m=void 0===v?0:v,y=[];if(0===u||0===h)return[];var x=Math.sin(p*a/360),b=Math.cos(p*a/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),h=Math.abs(h);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(h,2);k>1&&(u*=Math.sqrt(k),h*=Math.sqrt(k));var T=function(t,e,r,n,i,o,l,c,u,h,f,p){var d=Math.pow(i,2),g=Math.pow(o,2),v=Math.pow(f,2),m=Math.pow(p,2),y=d*g-d*m-g*v;y<0&&(y=0),y/=d*m+g*v;var x=(y=Math.sqrt(y)*(l===c?-1:1))*i/o*p,b=y*-o/i*f,_=h*x-u*b+(t+r)/2,w=u*x+h*b+(e+n)/2,k=(f-x)/i,T=(p-b)/o,A=(-f-x)/i,M=(-p-b)/o,S=s(1,0,k,T),E=s(k,T,A,M);return 0===c&&E>0&&(E-=a),1===c&&E<0&&(E+=a),[_,w,S,E]}(e,r,l,c,u,h,g,m,x,b,_,w),A=n(T,4),M=A[0],S=A[1],E=A[2],L=A[3],C=Math.abs(L)/(a/4);Math.abs(1-C)<1e-7&&(C=1);var P=Math.max(Math.ceil(C),1);L/=P;for(var O=0;O<P;O++)y.push(o(E,L)),E+=L;return y.map(function(t){var e=i(t[0],u,h,b,x,M,S),r=e.x,n=e.y,a=i(t[1],u,h,b,x,M,S),o=a.x,s=a.y,l=i(t[2],u,h,b,x,M,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],531:[function(t,e,r){"use strict";var n=t("parse-svg-path"),a=t("abs-svg-path"),i=t("normalize-svg-path"),o=t("is-svg-path"),s=t("assert");e.exports=function(t){Array.isArray(t)&&1===t.length&&"string"==typeof t[0]&&(t=t[0]);"string"==typeof t&&(s(o(t),"String is not an SVG path."),t=n(t));if(s(Array.isArray(t),"Argument should be a string or an array of path segments."),t=a(t),!(t=i(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":62,assert:69,"is-svg-path":425,"normalize-svg-path":532,"parse-svg-path":461}],532:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,g=t.length;d<g;d++){var v=t[d],m=v[0];switch(m){case"M":l=v[1],c=v[2];break;case"A":var y=n({px:f,py:p,cx:v[6],cy:v[7],rx:v[1],ry:v[2],xAxisRotation:v[3],largeArcFlag:v[4],sweepFlag:v[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],v=["C",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(v);break;case"S":var _=f,w=p;"C"!=e&&"S"!=e||(_+=_-o,w+=w-s),v=["C",_,w,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(u=2*f-u,h=2*p-h):(u=f,h=p),v=i(f,p,u,h,v[1],v[2]);break;case"Q":u=v[1],h=v[2],v=i(f,p,v[1],v[2],v[3],v[4]);break;case"L":v=a(f,p,v[1],v[2]);break;case"H":v=a(f,p,v[1],p);break;case"V":v=a(f,p,f,v[1]);break;case"Z":v=a(f,p,l,c)}e=m,f=v[v.length-2],p=v[v.length-1],v.length>4?(o=v[v.length-4],s=v[v.length-3]):(o=f,s=p),r.push(v)}return r};var n=t("svg-arc-to-cubic-bezier");function a(t,e,r,n){return["C",t,e,r,n,r,n]}function i(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}},{"svg-arc-to-cubic-bezier":530}],533:[function(t,e,r){"use strict";var n,a=t("svg-path-bounds"),i=t("parse-svg-path"),o=t("draw-svg-path"),s=t("is-svg-path"),l=t("bitmap-sdf"),c=document.createElement("canvas"),u=c.getContext("2d");e.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");e||(e={});var r,h;e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||a(t),g=[r/(d[2]-d[0]),h/(d[3]-d[1])],v=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle="black",u.fillRect(0,0,r,h),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*h),u.scale(v,v),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var m=new Path2D(t);u.fill(m),p&&u.stroke(m)}else{var y=i(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},{"bitmap-sdf":94,"draw-svg-path":169,"is-svg-path":425,"parse-svg-path":461,"svg-path-bounds":531}],534:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,a){var a=a||{};var o=i[e];o||(o=i[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),a=0,i=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[a++]=c[0],n[a++]=c[1]+1.4,i=Math.max(c[0],i)}return{data:n,shape:i}}(n(r,{triangles:!0,font:e,textAlign:a.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\d|\s)/),c=new Array(l.length),u=0,h=0,f=0;f<l.length;++f)c[f]=t(e,l[f]),u+=c[f].data.length,h+=c[f].shape,f>0&&(h+=.02);for(var p=new Float32Array(u),d=0,g=-.5*h,f=0;f<c.length;++f){for(var v=c[f].data,m=0;m<v.length;m+=2)p[d++]=v[m]+g,p[d++]=v[m+1];g+=c[f].shape+.02}s=o[r]={data:p,shape:h}}return s};var n=t("vectorize-text"),a=window||r.global||{},i=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t("_process"))},{_process:483,"vectorize-text":548}],535:[function(t,e,r){!function(t){var r=/^\s+/,n=/\s+$/,a=0,i=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||"")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var a={r:0,g:0,b:0},i=1,l=null,c=null,u=null,h=!1,f=!1;"string"==typeof e&&(e=function(t){t=t.replace(r,"").replace(n,"").toLowerCase();var e,a=!1;if(S[t])t=S[t],a=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:O(e[1]),g:O(e[2]),b:O(e[3]),a:R(e[4]),format:a?"name":"hex8"};if(e=j.hex6.exec(t))return{r:O(e[1]),g:O(e[2]),b:O(e[3]),format:a?"name":"hex"};if(e=j.hex4.exec(t))return{r:O(e[1]+""+e[1]),g:O(e[2]+""+e[2]),b:O(e[3]+""+e[3]),a:R(e[4]+""+e[4]),format:a?"name":"hex8"};if(e=j.hex3.exec(t))return{r:O(e[1]+""+e[1]),g:O(e[2]+""+e[2]),b:O(e[3]+""+e[3]),format:a?"name":"hex"};return!1}(e));"object"==typeof e&&(V(e.r)&&V(e.g)&&V(e.b)?(p=e.r,d=e.g,g=e.b,a={r:255*C(p,255),g:255*C(d,255),b:255*C(g,255)},h=!0,f="%"===String(e.r).substr(-1)?"prgb":"rgb"):V(e.h)&&V(e.s)&&V(e.v)?(l=I(e.s),c=I(e.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,o=n*(1-r),s=n*(1-i*r),l=n*(1-(1-i)*r),c=a%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),h=!0,f="hsv"):V(e.h)&&V(e.s)&&V(e.l)&&(l=I(e.s),u=I(e.l),a=function(t,e,r){var n,a,i;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),a=o(l,s,t),i=o(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,l,u),h=!0,f="hsl"),e.hasOwnProperty("a")&&(i=e.a));var p,d,g;return i=L(i),{ok:h,format:e.format||f,r:o(255,s(a.r,0)),g:o(255,s(a.g,0)),b:o(255,s(a.b,0)),a:i}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=i(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=u.ok,this._tc_id=a++}function u(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=(i+l)/2;if(i==l)n=a=0;else{var u=i-l;switch(a=c>.5?u/(2-i-l):u/(i+l),i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,l:c}}function h(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=i,u=i-l;if(a=0===i?0:u/i,i==l)n=0;else{switch(i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,v:c}}function f(t,e,r,n){var a=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))];return n&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function p(t,e,r,n){return[z(D(n)),z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))].join("")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=P(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=P(r.s),c(r)}function v(t){return c(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=P(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-i(-e/100*255))),r.g=s(0,o(255,r.g-i(-e/100*255))),r.b=s(0,o(255,r.b-i(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=P(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function T(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),a=360/r,i=[c(t)];for(n.h=(n.h-(a*e>>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(c(n));return i}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:a,v:i})),i=(i+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16)),z(D(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*C(this._r,255))+"%",g:i(100*C(this._g,255))+"%",b:i(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%)":"rgba("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=c(t);r="#"+p(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(m,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(T,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:I(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),a=c(e).toRgb(),i=r/100;return c({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},c.readability=function(e,r){var n=c(e),a=c(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,a,i=c.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},c.mostReadable=function(t,e,r){var n,a,i,o,s=null,l=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:i,size:o})||!a?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function O(t){return parseInt(t,16)}function z(t){return 1==t.length?"0"+t:""+t}function I(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return O(t)/255}var F,B,N,j=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",N="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],536:[function(t,e,r){"use strict";e.exports=a,e.exports.float32=e.exports.float=a,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=a(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}return a(t-a(t))};var n=new Float32Array(1);function a(t){if(t.length){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}return n[0]=t,n[0]}},{}],537:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=o;var a=96;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return a;case"cm":return a/2.54;case"mm":return a/25.4;case"pt":return a/72;case"pc":return a/6}return 1}},{"parse-unit":462}],538:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,a,i=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=a=0),t[0]=(n+=t[0])*i+s,t[1]=(a+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>h&&(h=l[0]),l[1]<u&&(u=l[1]),l[1]>f&&(f=l[1])}function a(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(a);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var i,o,s=r(t),l=new Array(2),c=1/0,u=c,h=-c,f=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)i=t[e],l[0]=i[0],l[1]=i[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>h&&(h=l[0]),l[1]<u&&(u=l[1]),l[1]>f&&(f=l[1])}),t.objects)a(t.objects[o]);e=t.bbox=[c,u,h,f]}return e},a=function(t,e){for(var r,n=t.length,a=n-e;a<--n;)r=t[a],t[a++]=t[n],t[n]=r};function i(t,e){var r=e.id,n=e.bbox,a=null==e.properties?{}:e.properties,i=o(t,e);return null==r&&null==n?{type:"Feature",properties:a,geometry:i}:null==n?{type:"Feature",id:r,properties:a,geometry:i}:{type:"Feature",id:r,bbox:n,properties:a,geometry:i}}function o(t,e){var n=r(t),i=t.arcs;function o(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&a(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(t)};case"Point":r=s(e.coordinates);break;case"MultiPoint":r=e.coordinates.map(s);break;case"LineString":r=l(e.arcs);break;case"MultiLineString":r=e.arcs.map(l);break;case"Polygon":r=u(e.arcs);break;case"MultiPolygon":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},a={},i=[],o=-1;function s(t,e){for(var n in t){var a=t[n];delete e[a.start],delete a.start,delete a.end,a.forEach(function(t){r[t<0?~t:t]=1}),i.push(a)}}return e.forEach(function(r,n){var a,i=t.arcs[r<0?~r:r];i.length<3&&!i[1][0]&&!i[1][1]&&(a=e[++o],e[o]=r,e[n]=a)}),e.forEach(function(e){var r,i,o=function(e){var r,n=t.arcs[e<0?~e:e],a=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,a]:[a,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,i=n[l]){delete n[i.start];var c=i===r?r:r.concat(i);n[c.start=r.start]=a[c.end=i.end]=c}else n[r.start]=a[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,i=a[s]){delete a[i.end];var u=i===r?r:i.concat(r);n[u.start=i.start]=a[u.end=r.end]=u}else n[r.start]=a[r.end]=r;else n[(r=[e]).start=s]=a[r.end=l]=r}),s(a,n),s(n,a),e.forEach(function(t){r[t<0?~t:t]||i.push([t])}),i};function l(t,e,r){var n,a,i;if(arguments.length>1)n=function(t,e,r){var n,a=[],i=[];function o(t){var e=t<0?~t:t;(i[e]||(i[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":e.arcs.forEach(l)}}(e),i.forEach(null==r?function(t){a.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&a.push(t[0].i)}),a}(0,e,r);else for(a=0,n=new Array(i=t.arcs.length);a<i;++a)n[a]=a;return{type:"MultiLineString",arcs:s(t,n)}}function c(t,e){var r={},n=[],a=[];function i(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,a=t[n-1],i=0;++r<n;)e=a,a=t[r],i+=e[0]*a[1]-e[1]*a[0];return Math.abs(i)}(o(t,{type:"Polygon",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"Polygon":i(e.arcs);break;case"MultiPolygon":e.arcs.forEach(i)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,a.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:"MultiPolygon",arcs:a.map(function(e){var n,a=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&a.push(t)})})}),(n=(a=s(t,a)).length)>1)for(var i,o,c=1,u=l(a[0]);c<n;++c)(i=l(a[c]))>u&&(o=a[0],a[0]=a[c],a[c]=o,u=i);return a})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var a=r+n>>>1;t[a]<e?r=a+1:n=a}return r};t.bbox=n,t.feature=function(t,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return i(t,e)})}:i(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function a(t,e){t.forEach(function(t){n(t,e)})}var i={LineString:n,MultiLineString:a,Polygon:a,MultiPolygon:function(t,e){t.forEach(function(t){a(t,e)})}};for(var o in t.forEach(function t(e,r){"GeometryCollection"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in i&&i[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var h=c+1;h<l;++h){var f,p=s[c],d=s[h];(f=r[p])[o=u(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=u(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,a=n(t),i=a[0],o=(a[2]-i)/(e-1)||1,s=a[1],l=(a[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-i)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,a=1,c=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-i)/o),p=h[1]=Math.round((h[1]-s)/l);a<u;++a)h=t[a],r=Math.round((h[0]-i)/o),n=Math.round((h[1]-s)/l),r===f&&n===p||((e=t[c++])[0]=r-f,f=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[i,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,a,i=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=a=0);var r=Math.round((t[0]-s)/i),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-a,a=c,t}},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.topojson=n.topojson||{})},{}],539:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(i(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);a(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t("permutation-rank"),a=t("permutation-parity"),i=t("gamma")},{gamma:233,"permutation-parity":464,"permutation-rank":465}],540:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||h(r),a=t.radius||1,i=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=h(r):s(n,n),a=c(d[0],d[1],d[2]);var g=l(r,d)/a,v=l(n,d)/a;u=Math.acos(g),i=Math.acos(v)}return a=Math.log(a),new f(t.zoomMin,t.zoomMax,e,r,n,a,i,u)};var n=t("filtered-vector"),a=t("gl-mat4/invert"),i=t("gl-mat4/rotate"),o=t("gl-vec3/cross"),s=t("gl-vec3/normalize"),l=t("gl-vec3/dot");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function h(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),a=[0,0,0];e>Math.max(r,n)?a[2]=1:r>Math.max(e,n)?a[0]=1:a[1]=1;for(var i=0,o=0,l=0;l<3;++l)i+=t[l]*t[l],o+=a[l]*t[l];for(l=0;l<3;++l)a[l]-=o/i*t[l];return s(a,a),a}function f(t,e,r,a,i,o,s,l){this.center=n(r),this.up=n(a),this.right=n(i),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,a=0,i=0;i<3;++i)a+=e[i]*r[i],n+=e[i]*e[i];var l=Math.sqrt(n),u=0;for(i=0;i<3;++i)r[i]-=e[i]*a/n,u+=r[i]*r[i],e[i]/=l;var h=Math.sqrt(u);for(i=0;i<3;++i)r[i]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],v=Math.cos(d),m=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=v*y,w=m*y,k=x,T=-v*x,A=-m*x,M=y,S=this.computedEye,E=this.computedMatrix;for(i=0;i<3;++i){var L=_*r[i]+w*f[i]+k*e[i];E[4*i+1]=T*r[i]+A*f[i]+M*e[i],E[4*i+2]=L,E[4*i+3]=0}var C=E[1],P=E[5],O=E[9],z=E[2],I=E[6],D=E[10],R=P*D-O*I,F=O*z-C*D,B=C*I-P*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(i=0;i<3;++i)S[i]=b[i]+E[2+4*i]*p;for(i=0;i<3;++i){u=0;for(var j=0;j<3;++j)u+=E[i+4*j]*S[j];E[12+i]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var a=this.computedMatrix;d[0]=a[2],d[1]=a[6],d[2]=a[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)a[4*c]=o[c],a[4*c+1]=s[c],a[4*c+2]=l[c];i(a,a,n,d);for(c=0;c<3;++c)o[c]=a[4*c],s[c]=a[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=(Math.exp(this.computedRadius[0]),a[1]),o=a[5],s=a[9],l=c(i,o,s);i/=l,o/=l,s/=l;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=c(u-=i*p,h-=o*p,f-=s*p),g=(u/=d)*e+i*r,v=(h/=d)*e+o*r,m=(f/=d)*e+s*r;this.center.move(t,g,v,m);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var i=1;"number"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var o=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[i],l=e[i+4],h=e[i+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),g=Math.max(f,p,d);f===g?(s=s<0?-1:1,l=h=0):d===g?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var v=c(s,l,h);s/=v,l/=v,h/=v}var m,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*h,k=c(x-=s*w,b-=l*w,_-=h*w),T=l*(_/=k)-h*(b/=k),A=h*(x/=k)-s*_,M=s*b-l*x,S=c(T,A,M);if(T/=S,A/=S,M/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,b,_),2===i){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*T+L*A+C*M;m=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(O,P)}else{var z=e[2],I=e[6],D=e[10],R=z*s+I*l+D*h,F=z*x+I*b+D*_,B=z*T+I*A+D*M;m=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,m),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;a(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,Y=U[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Y-V*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var a=(n=n||this.computedUp)[0],i=n[1],o=n[2],s=c(a,i,o);if(!(s<1e-6)){a/=s,i/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,g=d[0],v=d[1],m=d[2],y=a*g+i*v+o*m,x=c(g-=y*a,v-=y*i,m-=y*o);if(!(x<.01&&(x=c(g=i*f-o*h,v=o*l-a*f,m=a*h-i*l))<1e-6)){g/=x,v/=x,m/=x,this.up.set(t,a,i,o),this.right.set(t,g,v,m),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=i*m-o*v,_=o*g-a*m,w=a*v-i*g,k=c(b,_,w),T=a*l+i*h+o*f,A=g*l+v*h+m*f,M=(b/=k)*l+(_/=k)*h+(w/=k)*f,S=Math.asin(u(T)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),z=Math.abs(C-E),I=Math.abs(C-2*Math.PI-E);O<z&&(C+=2*Math.PI),I<z&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,P),this.angle.set(t,E,S)}}}}},{"filtered-vector":228,"gl-mat4/invert":267,"gl-mat4/rotate":272,"gl-vec3/cross":335,"gl-vec3/dot":340,"gl-vec3/normalize":357}],541:[function(t,e,r){"use strict";e.exports=function(t,e,r){var a=t*e,i=n*t,o=i-(i-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,h=s*u-(a-o*c-s*c-o*u);if(r)return r[0]=h,r[1]=a,r;return[h,a]};var n=+(Math.pow(2,27)+1)},{}],542:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t+e,a=n-t,i=e-a,o=t-(n-a);if(r)return r[0]=o+i,r[1]=n,r;return[o+i,n]}},{}],543:[function(t,e,r){(function(e,n){"use strict";var a=t("bit-twiddle"),i=t("dup");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=i([32,0])),s.BUFFER||(s.BUFFER=i([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=a.log2(e);l[r].push(t)}}function h(t){t=a.nextPow2(t);var e=a.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function f(t){return new Uint8Array(h(t),0,t)}function p(t){return new Uint16Array(h(2*t),0,t)}function d(t){return new Uint32Array(h(4*t),0,t)}function g(t){return new Int8Array(h(t),0,t)}function v(t){return new Int16Array(h(2*t),0,t)}function m(t){return new Int32Array(h(4*t),0,t)}function y(t){return new Float32Array(h(4*t),0,t)}function x(t){return new Float64Array(h(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(h(t),0,t):f(t)}function _(t){return new DataView(h(t),0,t)}function w(t){t=a.nextPow2(t);var e=a.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[a.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|a.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[a.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return h(t);switch(e){case"uint8":return f(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return v(t);case"int32":return m(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=h,r.mallocUint8=f,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=v,r.mallocInt32=m,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":93,buffer:106,dup:171}],544:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var a=n.prototype;Object.defineProperty(a,"length",{get:function(){return this.roots.length}}),a.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},a.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},a.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],545:[function(t,e,r){"use strict";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,a=t[0],i=t[0],o=1;o<n;++o)if(i=a,e(a=t[o],i)){if(o===r){r++;continue}t[r++]=a}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],a=t[0],i=1;i<r;++i,a=n)if(a=n,(n=t[i])!==a){if(i===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],546:[function(t,e,r){var n=/[\'\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},{}],547:[function(t,e,r){"use strict";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,a=r.length;n<a;n++){var i=r[n];for(var o in i)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===i[o])s=e[o];else{if(!1===i[o])continue;if("function"==typeof i[o]&&void 0===(s=i[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],548:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||a,e.context||i,e)};var n=t("./lib/vtext"),a=null,i=null;"undefined"!=typeof document&&((a=document.createElement("canvas")).width=8192,a.height=1024,i=a.getContext("2d"))},{"./lib/vtext":549}],549:[function(t,e,r){e.exports=function(t,e,r,n){var i=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};n&&(n.size&&n.size>0&&(i=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,i+"px",n.font].filter(function(t){return t}).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,i,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\<br\>/g,"\n"):r.replace(/\<br\>/g," ");var s="",l=[];for(k=0;k<r.length;++k)l[k]=s;!0===o.bolds&&(l=x(c,u,r,l)),!0===o.italics&&(l=x(h,f,r,l)),!0===o.superscripts&&(l=x(p,g,r,l)),!0===o.subscripts&&(l=x(v,y,r,l));var b=[],_="";for(k=0;k<r.length;++k)null!==l[k]&&(_+=r[k],b.push(l[k]));var w,k,T,A,M,S=_.split("\n"),E=S.length,L=Math.round(i*n),C=n,P=2*n,O=0,z=E*L+P;t.height<z&&(t.height=z),e.fillStyle="#000",e.fillRect(0,0,t.width,t.height),e.fillStyle="#fff";var I=0,D="";function R(){if(""!==D){var t=e.measureText(D).width;e.fillText(D,C+T,P+A),T+=t}}function F(){return Math.round(M)+"px "}function B(t,r){var n=""+e.font;if(!0===o.subscripts){var a=t.indexOf(m),i=r.indexOf(m),s=a>-1?parseInt(t[1+a]):0,l=i>-1?parseInt(r[1+i]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,g=h>-1?parseInt(r[1+h]):0;p!==g&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,g-p),n=n.replace("?px ",F())),A-=.25*L*(g-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,y=r.indexOf(u)>-1;!v&&y&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!y&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(f)>-1,b=r.indexOf(f)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w<E;++w){var N=S[w]+"\n";for(T=0,A=w*L,M=n,D="",k=0;k<N.length;++k){var j=k+I<b.length?b[k+I]:b[b.length-1];s===j?D+=N[k]:(R(),D=N[k],void 0!==j&&(B(s,j),s=j))}R(),I+=N.length;var V=0|Math.round(T+2*C);O<V&&(O=V)}var U=O,q=P+L*E;return a(e.getImageData(0,0,U,q).data,[q,U,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i,o,s),n,i)},e.exports.processPixels=w;var n=t("surface-nets"),a=t("ndarray"),i=t("simplify-planar-graph"),o=t("clean-pslg"),s=t("cdt2d"),l=t("planar-graph-to-polyline"),c="b",u="b|",h="i",f="i|",p="sup",d="+",g="+1",v="sub",m="-",y="-1";function x(t,e,r,n){for(var a="<"+t+">",i="</"+t+">",o=a.length,s=i.length,l=e[0]===d||e[0]===m,c=0,u=-s;c>-1&&-1!==(c=r.indexOf(a,c))&&-1!==(u=r.indexOf(i,c+o))&&!(u<=c);){for(var h=c;h<u+s;++h)if(h<c+o||h>=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,g=r.substr(p,u-p).indexOf(a);c=-1!==g?g:u+s}return n}function b(t,e){var r=n(t,128);return e?i(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var a=b(t,n),i=function(t,e,r){for(var n=e.textAlign||"start",a=e.textBaseline||"alphabetic",i=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)i[u]=0|Math.min(i[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var h=0;switch(n){case"center":h=-.5*(i[0]+o[0]);break;case"right":case"end":h=-o[0];break;case"left":case"start":h=-i[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+n+"'")}var f=0;switch(a){case"hanging":case"top":f=-i[1];break;case"middle":f=-.5*(i[1]+o[1]);break;case"alphabetic":case"ideographic":f=-3*r;break;case"bottom":f=-o[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+a+"'")}var p=1/r;return"lineHeight"in e?p*=+e.lineHeight:"width"in e?p=e.width/(o[0]-i[0]):"height"in e&&(p=e.height/(o[1]-i[1])),t.map(function(t){return[p*(t[0]+h),p*(t[1]+f)]})}(a.positions,e,r),c=a.edges,u="ccw"===e.orientation;if(o(i,c),e.polygons||e.polygon||e.polyline){for(var h=l(c,i),f=new Array(h.length),p=0;p<h.length;++p){for(var d=h[p],g=new Array(d.length),v=0;v<d.length;++v){for(var m=d[v],y=new Array(m.length),x=0;x<m.length;++x)y[x]=i[m[x]].slice();u&&y.reverse(),g[v]=y}f[p]=g}return f}return e.triangles||e.triangulate||e.triangle?{cells:s(i,c,{delaunay:!1,exterior:!1,interior:!0}),positions:i}:{edges:c,positions:i}}function w(t,e,r){try{return _(t,e,r,!0)}catch(t){}try{return _(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:107,"clean-pslg":117,ndarray:451,"planar-graph-to-polyline":469,"simplify-planar-graph":522,"surface-nets":529}],550:[function(t,e,r){!function(){"use strict";if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=v);var t=!1;if("function"==typeof WeakMap){var r=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,a=Object.freeze({});if(n.set(a,1),1===n.get(a))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l="weakmap:",c=l+"ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var u=new ArrayBuffer(25),h=new Uint8Array(u);crypto.getRandomValues(h),c=l+"rand:"+Array.prototype.map.call(h,function(t){return(t%36).toString(36)}).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(t){return i(t).filter(m)}}),"getPropertyNames"in Object){var f=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(t){return f(t).filter(m)}})}!function(){var t=Object.freeze;o(Object,"freeze",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,"seal",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,"preventExtensions",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,a){var i,o=y(n);return o?r in o?o[r]:a:(i=t.indexOf(n))>=0?e[i]:a})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,a){var i,o=y(n);return o?o[r]=a:(i=t.indexOf(n))>=0?e[i]=a:(i=t.length,e[i]=a,t[i]=n),this})},delete___:{value:x(function(n){var a,i,o=y(n);return o?r in o&&delete o[r]:!((a=t.indexOf(n))<0||(i=t.length-1,t[a]=void 0,e[a]=e[i],t[a]=t[i],t.length=i,e.length=i,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,a=void 0,i=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(a||(a=new g),a.set(t,e)),this}:function(t,e){if(i)try{n.set(t,e)}catch(r){a||(a=new g),a.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return a?n.has(t)?n.get(t):a.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!a&&a.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return a&&a.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==v)throw new Error("bogus call to permitHostObjects___");i=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function v(t){t.permitHostObjects___&&t.permitHostObjects___(v)}function m(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],551:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":552}],552:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],553:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":551}],554:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":234}],555:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),a=t.month(),i=""+this.toChineseMonth(n,a);return e&&i.length<2&&(i="0"+i),this.isIntercalaryMonth(n,a)&&(i+="i"),i},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var a=e[e.length-1];r="i"===a||"I"===a}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var a=this.intercalaryMonth(t);if(r&&e!==a||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return a?!r&&e<=a?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),h[t-h[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var a,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(a=i.newDate(l,c,u)).add(4-(a.dayOfWeek()||7),"d");var h=this.toJD(t,e,r)-a.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(a.year()),e=a.month(),r=a.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,a){var i,o,s;if("object"==typeof t)o=t,i=e||{};else{var l="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,i=n):(u=!!n,i=a||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=h[o.year-h[0]],v=g>>13;d=v?o.month>v?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var m=0;m<d;m++){var y=g&1<<12-m?30:29;s+=y}var x=f[o.year-f[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return i.year=b.getFullYear(),i.month=1+b.getMonth(),i.day=b.getDate(),i}(t,s,r,o);return i.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=i.fromJD(t),r=function(t,e,r,n){var a,i;if("object"==typeof t)a=t,i=e||{};else{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");a={year:t,month:e,day:r},i=n||{}}var c=f[a.year-f[0]],u=a.year<<9|a.month<<5|a.day;i.year=u>=c?a.year:a.year-1,c=f[i.year-f[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(a.year,a.month-1,a.day);p=Math.round((g-d)/864e5);var v,m=h[i.year-h[0]];for(v=0;v<13;v++){var y=m&1<<12-v?30:29;if(p<y)break;p-=y}var x=m>>13;!x||v<x?(i.isIntercalary=!1,i.month=1+v):v===x?(i.isIntercalary=!0,i.month=v):(i.isIntercalary=!1,i.month=v);return i.day=1+p,i}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],a=!!e[3],i=this.toMonthIndex(r,n,a),o=+e[4];return this.newDate(r,i,o)},add:function(t,e,r){var n=t.year(),a=t.month(),i=this.isIntercalaryMonth(n,a),s=this.toChineseMonth(n,a),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if("y"===r){var c=l.year(),u=l.month(),h=this.isIntercalaryMonth(c,s),f=i&&h?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);f!==u&&l.month(f)}return l}});var s=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,l=/^\d?\d[iI]?/m,c=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m,u=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m;n.calendars.chinese=o;var h=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],f=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{"../main":569,"object-assign":455}],556:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.coptic=i},{"../main":569,"object-assign":455}],557:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year()+(a.year()<0?1:0),e=a.month(),(r=a.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=i},{"../main":569,"object-assign":455}],558:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.ethiopian=i},{"../main":569,"object-assign":455}],559:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(a)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(a)%10-3]}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=i},{"../main":569,"object-assign":455}],560:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),t=t<=0?t+1:t,(r=a.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=i},{"../main":569,"object-assign":455}],561:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),r=a.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),a=Math.floor((e-n)/30.6001),i=a-Math.floor(a<14?1:13),o=r-Math.floor(i>2?4716:4715),s=e-n-Math.floor(30.6001*a);return o<=0&&o--,this.newDate(o,i,s)}}),n.calendars.julian=i},{"../main":569,"object-assign":455}],562:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate).toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return a.day()+20*a.month()+360*a.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=i},{"../main":569,"object-assign":455}],563:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar;var o=n.instance("gregorian");a(i.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidMonth);(t=a.year())<0&&t++;for(var i=a.day(),s=1;s<a.month();s++)i+=this.daysPerMonth[s-1];return i+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=i},{"../main":569,"object-assign":455}],564:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=i.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],i.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),a=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)++o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var c=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)"undefined"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2000:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=i},{"../main":569,"object-assign":455}],565:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xe6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xe6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t-(t>=0?474:473),s=474+o(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),a=2820;if(1029982!==n){var i=Math.floor(n/366),s=o(n,366);a=Math.floor((2134*i+2816*s+2815)/1028522)+i+1}var l=a+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=i,n.calendars.jalali=i},{"../main":569,"object-assign":455}],566:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":569,"object-assign":455}],567:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":569,"object-assign":455}],568:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,a=0,i=0;i<o.length;i++){if(o[i]>r)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate),i=12*(a.year()-1)+a.month()-15292;return a.day()+o[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),s=i+1,l=a-12*i,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var a=n.baseCalendar.prototype.isValid.apply(this,arguments);return a&&(a=(t=null!=t.year?t.year:t)>=1276&&t<=1500),a},_validate:function(t,e,r,a){var i=n.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw a.replace(/\{0\}/,this.local.name);return i}}),n.calendars.ummalqura=i;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":569,"object-assign":455}],569:[function(t,e,r){var n=t("object-assign");function a(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(a.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,a){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,a):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n="",a=0;r>0;){var i=r%10;n=(0===i?"":t[i]+e[a])+n,a++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(i.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),a=t.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);a=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):"m"===r&&(!function(t){for(;o<t.minMonth;)i--,o+=t.monthsInYear(i);for(var e=t.monthsInYear(i);o>e-1+t.minMonth;)i++,o-=e,e=t.monthsInYear(i)}(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var s=[i,this.fromMonthOfYear(i,o),a];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var a={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;e=this._add(t,r*a[0]+i*a[1],a[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),a="m"===r?e:t.month(),i="d"===r?e:t.day();return"y"!==r&&"m"!==r||(i=Math.min(i,this.daysInMonth(n,a))),t.date(n,a,i)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var a=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(a)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(a)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\{0\}/,this.local.name);var a=this.newDate(t,e,r);return this._validateLevel--,a}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var a=Math.floor(t/100),i=2-a+Math.floor(a/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+i-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,a=Math.floor((n-122.1)/365.25),i=Math.floor(365.25*a),o=Math.floor((n-i)/30.6001),s=n-i-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=a-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new a;c.cdate=i,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":455}],570:[function(t,e,r){var n=t("object-assign"),a=t("./main");n(a.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),a.local=a.regionalOptions[""],n(a.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(a.baseCalendar.prototype,{UNIX_EPOCH:a.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:a.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw a.local.invalidFormat||a.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,i,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,h=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var a=""+e;if(p(t,n))for(;a.length<r;)a="0"+a;return a},g=this,v=function(t){return"function"==typeof u?u.call(g,t,p("m")):x(d("m",t.month(),2))},m=function(t,e){return e?"function"==typeof f?f.call(g,t):f[t.month()-g.minMonth]:"function"==typeof h?h.call(g,t):h[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b="",_=!1,w=0;w<t.length;w++)if(_)"'"!==t.charAt(w)||p("'")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case"d":b+=x(d("d",e.day(),2));break;case"D":b+=(n="D",i=e.dayOfWeek(),o=l,s=c,p(n)?s[i]:o[i]);break;case"o":b+=d("o",e.dayOfYear(),3);break;case"w":b+=d("w",e.weekOfYear(),2);break;case"m":b+=v(e);break;case"M":b+=m(e,p("M"));break;case"y":b+=p("y",2)?e.year():(e.year()%100<10?"0":"")+e.year()%100;break;case"Y":p("Y",2),b+=e.formatYear();break;case"J":b+=e.toJD();break;case"@":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":p("'")?b+="'":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw a.local.invalidArguments||a.regionalOptions[""].invalidArguments;if(""===(e="object"==typeof e?e.toString():e+""))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n="string"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,h=-1,f=-1,p=-1,d=-1,g=-1,v=!1,m=!1,y=function(e,r){for(var n=1;M+n<t.length&&t.charAt(M+n)===e;)n++;return M+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),i=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+i+"}"),s=e.substring(A).match(o);if(!s)throw(a.local.missingNumberAt||a.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,i){for(var o=y(t,i)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(a.local.unknownNameAt||a.regionalOptions[""].unknownNameAt).replace(/\{0\}/,A)},k=function(){if("function"==typeof u){var t=y("M")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w("M",c,u)},T=function(){if(e.charAt(A)!==t.charAt(M))throw(a.local.unexpectedLiteralAt||a.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,M=0;M<t.length;M++)if(m)"'"!==t.charAt(M)||y("'")?T():m=!1;else switch(t.charAt(M)){case"d":d=x("d");break;case"D":w("D",i,o);break;case"o":g=x("o");break;case"w":x("w");break;case"m":p=_();break;case"M":p=k();break;case"y":var S=M;v=!y("y",2),M=S,f=x("y",2);break;case"Y":f=x("Y",2);break;case"J":h=x("J")+.5,"."===e.charAt(A)&&(A++,x("J"));break;case"@":h=x("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":h=x("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":A=e.length;break;case"'":y("'")?T():m=!0;break;default:T()}if(A<e.length)throw a.local.unexpectedText||a.regionalOptions[""].unexpectedText;if(-1===f?f=this.today().year():f<100&&v&&(f+=-1===n?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),"string"==typeof p&&(p=s.call(this,f,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,a){r&&"object"!=typeof r&&(a=n,n=r,r=null),"string"!=typeof n&&(a=n,n="");var i=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return i.parseDate(n,t,a)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||i.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:i.today().add(t,"d"):i.newDate(t)}})},{"./main":569,"object-assign":455}],571:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":147}],572:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":571}],573:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],574:[function(t,e,r){"use strict";var n=t("./arrow_paths"),a=t("../../plots/font_attributes"),i=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:a({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",i.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:a({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/font_attributes":790,"./arrow_paths":573}],575:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)})}function s(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],s=t["a"+i],l=t[i+"ref"],c=t["a"+i+"ref"],u=t["_"+i+"padplus"],h=t["_"+i+"padminus"],f={x:1,y:-1}[i]*t[i+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,g=p-f,v=3*t.startarrowsize*t.arrowwidth||0,m=v+f,y=v-f;if(c===l){var x=a.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=a.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,m),ppadminus:Math.max(h,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,m),ppadminus:Math.max(h,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{"../../lib":716,"../../plots/cartesian/axes":764,"./draw":580}],576:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,a,i,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(i=(a=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===a.xref&&c._id===a.yref&&l.d2r(o.x)===s(a._xclick,l)&&c.d2r(o.y)===s(a._yclick,c)){(a.visible?"onout"===i?f:p:h).push(r);break}n===d&&a.visible&&"onout"===i&&f.push(r)}return{on:h,off:f,explicitOff:p}}function s(t,e){return"log"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=i(t.layout,"annotations",f[c[r]])).modifyItem("visible",!0),n.extendFlat(h,s.getUpdateObj());for(r=0;r<u.length;r++)(s=i(t.layout,"annotations",f[u[r]])).modifyItem("visible",!1),n.extendFlat(h,s.getUpdateObj());return a.call("update",t,{},h)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845}],577:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color");e.exports=function(t,e,r,i){i("opacity");var o=i("bgcolor"),s=i("bordercolor"),l=a.opacity(s);i("borderpad");var c=i("borderwidth"),u=i("showarrow");if(i("text",u?" ":r._dfltTitle.annotation),i("textangle"),n.coerceFont(i,"font",r.font),i("width"),i("align"),i("height")&&i("valign"),u){var h,f,p=i("arrowside");-1!==p.indexOf("end")&&(h=i("arrowhead"),f=i("arrowsize")),-1!==p.indexOf("start")&&(i("startarrowhead",h),i("startarrowsize",f)),i("arrowcolor",l?e.bordercolor:a.defaultLine),i("arrowwidth",2*(l&&c||1)),i("standoff"),i("startstandoff")}var d=i("hovertext"),g=r.hoverlabel||{};if(d){var v=i("hoverlabel.bgcolor",g.bgcolor||(a.opacity(o)?a.rgb(o):a.defaultLine)),m=i("hoverlabel.bordercolor",g.bordercolor||a.contrast(v));n.coerceFont(i,"hoverlabel.font",{family:g.font.family,size:g.font.size,color:g.font.color||m})}i("captureevents",!!d)}},{"../../lib":716,"../color":591}],578:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib/to_log_range");e.exports=function(t,e,r,i){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,h=e._id.charAt(0),f=0;f<u.length;f++)l=u[f],c="annotations["+f+"].",l[h+"ref"]===e._id&&p(h),l["a"+h+"ref"]===e._id&&p("a"+h);function p(t){var r=l[t],s=null;s=o?a(r,e.range):Math.pow(10,r),n(s)||(s=null),i(c+t,s)}}},{"../../lib/to_log_range":742,"fast-isnumeric":227}],579:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./common_defaults"),s=t("./attributes");function l(t,e,r){function i(r,a){return n.coerce(t,e,s,r,a)}var l=i("visible"),c=i("clicktoshow");if(l||c){o(t,e,r,i);for(var u=e.showarrow,h=["x","y"],f=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=h[d],v=a.coerceRef(t,e,p,g,"","paper");if("paper"!==v)a.getFromId(p,v)._annIndices.push(e._index);if(a.coercePosition(e,p,i,v,g,.5),u){var m="a"+g,y=a.coerceRef(t,e,p,m,"pixel");"pixel"!==y&&y!==v&&(y=e[m]="pixel");var x="pixel"===y?f[d]:.4;a.coercePosition(e,p,i,y,m,x)}i(g+"anchor"),i(g+"shift")}if(n.noneOrAll(t,e,["x","y"]),u&&n.noneOrAll(t,e,["ax","ay"]),c){var b=i("xclick"),_=i("yclick");e._xclick=void 0===b?e.x:a.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:a.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){i(t,e,{name:"annotations",handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":574,"./common_defaults":577}],580:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../../lib"),s=t("../../plots/cartesian/axes"),l=t("../color"),c=t("../drawing"),u=t("../fx"),h=t("../../lib/svg_text_utils"),f=t("../../lib/setcursor"),p=t("../dragelement"),d=t("../../plot_api/plot_template").arrayEditor,g=t("./draw_arrow_head");function v(t,e){var r=t._fullLayout.annotations[e]||{},n=s.getFromId(t,r.xref),a=s.getFromId(t,r.yref);n&&n.setScale(),a&&a.setScale(),m(t,r,e,!1,n,a)}function m(t,e,r,i,s,v){var m,y,x=t._fullLayout,b=t._fullLayout._size,_=t._context.edits;i?(m="annotation-"+i,y=i+".annotations"):(m="annotation",y="annotations");var w=d(t.layout,y,e),k=w.modifyBase,T=w.modifyItem,A=w.getUpdateObj;x._infolayer.selectAll("."+m+'[data-index="'+r+'"]').remove();var M="clip"+x._uid+"_ann"+r;if(e._input&&!1!==e.visible){var S={x:{},y:{}},E=+e.textangle||0,L=x._infolayer.append("g").classed(m,!0).attr("data-index",String(r)).style("opacity",e.opacity),C=L.append("g").classed("annotation-text-g",!0),P=_[e.showarrow?"annotationTail":"annotationPosition"],O=e.captureevents||_.annotationText||P,z=C.append("g").style("pointer-events",O?"all":null).call(f,"pointer").on("click",function(){t._dragging=!1,t.emit("plotly_clickannotation",q(n.event))});e.hovertext&&z.on("mouseover",function(){var r=e.hoverlabel,n=r.font,a=this.getBoundingClientRect(),i=t.getBoundingClientRect();u.loneHover({x0:a.left-i.left,x1:a.right-i.left,y:(a.top+a.bottom)/2-i.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:t})}).on("mouseout",function(){u.loneUnhover(x._hoverlayer.node())});var I=e.borderwidth,D=e.borderpad,R=I+D,F=z.append("rect").attr("class","bg").style("stroke-width",I+"px").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),B=e.width||e.height,N=x._topclips.selectAll("#"+M).data(B?[0]:[]);N.enter().append("clipPath").classed("annclip",!0).attr("id",M).append("rect"),N.exit().remove();var j=e.font,V=x._meta?o.templateString(e.text,x._meta):e.text,U=z.append("text").classed("annotation-text",!0).text(V);_.annotationText?U.call(h.makeEditable,{delegate:z,gd:t}).call(H).on("edit",function(r){e.text=r,this.call(H),T("text",r),s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0),a.call("_guiRelayout",t,A())}):U.call(H)}else n.selectAll("#"+M).remove();function q(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return i&&(n.subplotId=i),n}function H(r){return r.call(c.font,j).attr({"text-anchor":{left:"start",right:"end"}[e.align]||"middle"}),h.convertToTspans(r,t,G),r}function G(){var r=U.selectAll("a");1===r.size()&&r.text()===U.text()&&z.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(F.node());var n=z.select(".annotation-text-math-group"),u=!n.empty(),d=c.bBox((u?n:U).node()),m=d.width,y=d.height,w=e.width||m,O=e.height||y,D=Math.round(w+2*R),j=Math.round(O+2*R);function V(t,e){return"auto"===e&&(e=t<1/3?"left":t>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var H=!1,G=["x","y"],Y=0;Y<G.length;Y++){var W,X,Z,J,K,Q=G[Y],$=e[Q+"ref"]||Q,tt=e["a"+Q+"ref"],et={x:s,y:v}[Q],rt=(E+("x"===Q?0:-90))*Math.PI/180,nt=D*Math.cos(rt),at=j*Math.sin(rt),it=Math.abs(nt)+Math.abs(at),ot=e[Q+"anchor"],st=e[Q+"shift"]*("x"===Q?1:-1),lt=S[Q];if(et){var ct=et.r2fraction(e[Q]);(ct<0||ct>1)&&(tt===$?((ct=et.r2fraction(e["a"+Q]))<0||ct>1)&&(H=!0):H=!0),W=et._offset+et.r2p(e[Q]),J=.5}else"x"===Q?(Z=e[Q],W=b.l+b.w*Z):(Z=1-e[Q],W=b.t+b.h*Z),J=e.showarrow?.5:Z;if(e.showarrow){lt.head=W;var ut=e["a"+Q];K=nt*V(.5,e.xanchor)-at*V(.5,e.yanchor),tt===$?(lt.tail=et._offset+et.r2p(ut),X=K):(lt.tail=W+ut,X=K+ut),lt.text=lt.tail+K;var ht=x["x"===Q?"width":"height"];if("paper"===$&&(lt.head=o.constrain(lt.head,1,ht-1)),"pixel"===tt){var ft=-Math.max(lt.tail-3,lt.text),pt=Math.min(lt.tail+3,lt.text)-ht;ft>0?(lt.tail+=ft,lt.text+=ft):pt>0&&(lt.tail-=pt,lt.text-=pt)}lt.tail+=st,lt.head+=st}else X=K=it*V(J,ot),lt.text=W+K;lt.text+=st,K+=st,X+=st,e["_"+Q+"padplus"]=it/2+X,e["_"+Q+"padminus"]=it/2-X,e["_"+Q+"size"]=it,e["_"+Q+"shift"]=K}if(H)z.remove();else{var dt=0,gt=0;if("left"!==e.align&&(dt=(w-m)*("center"===e.align?.5:1)),"top"!==e.valign&&(gt=(O-y)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:R+dt-1,y:R+gt}).call(c.setClipUrl,B?M:null,t);else{var vt=R+gt-d.top,mt=R+dt-d.left;U.call(h.positionText,mt,vt).call(c.setClipUrl,B?M:null,t)}N.select("rect").call(c.setRect,R,R,w,O),F.call(c.setRect,I/2,I/2,D-I,j-I),z.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),C.attr({transform:"rotate("+E+","+S.x.text+","+S.y.text+")"});var yt,xt=function(r,n){L.selectAll(".annotation-arrow-g").remove();var u=S.x.head,h=S.y.head,f=S.x.tail+r,d=S.y.tail+n,m=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,m,y),w=o.apply2DTransform(x),M=o.apply2DTransform2(x),P=+F.attr("width"),O=+F.attr("height"),I=m-.5*P,D=I+P,R=y-.5*O,B=R+O,N=[[I,R,I,B],[I,B,D,B],[D,B,D,R],[D,R,I,R]].map(M);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,h,u+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(f,d,u,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=L.append("g").style({opacity:l.opacity(V)}).classed("annotation-arrow-g",!0),H=q.append("path").attr("d","M"+f+","+d+"L"+u+","+h).style("stroke-width",j+"px").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!i){var G=u,Y=h;if(e.standoff){var W=Math.sqrt(Math.pow(u-f,2)+Math.pow(h-d,2));G+=e.standoff*(f-u)/W,Y+=e.standoff*(d-h)/W}var X,Z,J=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(f-G)+","+(d-Y),transform:"translate("+G+","+Y+")"}).style("stroke-width",j+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0)},moveFn:function(t,r){var n=w(X,Z),a=n[0]+t,i=n[1]+r;z.call(c.setTranslate,a,i),T("x",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),T("y",v?v.p2r(v.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&T("ax",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&T("ay",v.p2r(v.r2p(e.ay)+r)),q.attr("transform","translate("+t+","+r+")"),C.attr({transform:"rotate("+E+","+a+","+i+")"})},doneFn:function(){a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&xt(0,0),P)p.init({element:z.node(),gd:t,prepFn:function(){yt=C.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?T("ax",s.p2r(s.r2p(e.ax)+t)):T("ax",e.ax+t),e.ayref===e.yref?T("ay",v.p2r(v.r2p(e.ay)+r)):T("ay",e.ay+r),xt(t,r);else{if(i)return;var a,o;if(s)a=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;a=p.align(c+t/b.w,l,0,1,e.xanchor)}if(v)o=v.p2r(v.r2p(e.y)+r);else{var u=e._ysize/b.h,h=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(h-r/b.h,u,0,1,e.yanchor)}T("x",a),T("y",o),s&&v||(n=p.getCursor(s?.5:a,v?.5:o,e.xanchor,e.yanchor))}C.attr({transform:"translate("+t+","+r+")"+yt}),f(z,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",q(n))},doneFn:function(){f(z),a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&v(t,r);return i.previousPromises(t)},drawOne:v,drawRaw:m}},{"../../lib":716,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/cartesian/axes":764,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"../fx":629,"./draw_arrow_head":581,d3:164}],581:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color"),i=t("./arrow_paths");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),h=i[r.arrowhead||0],f=i[r.startarrowhead||0],p=(r.arrowwidth||1)*(r.arrowsize||1),d=(r.arrowwidth||1)*(r.startarrowsize||1),g=e.indexOf("start")>=0,v=e.indexOf("end")>=0,m=h.backoff*p+r.standoff,y=f.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,m&&y&&m+y>Math.sqrt(x*x+b*b))return void P();if(m){if(m*m>x*x+b*b)return void P();var _=m*Math.cos(l),w=m*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void P();var k=y*Math.cos(l),T=y*Math.sin(l);o.x-=k,o.y-=T,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),M="";if(A<m+y)return void P();var S=u.getPointAtLength(0),E=u.getPointAtLength(.1);l=Math.atan2(S.y-E.y,S.x-E.x),o=u.getPointAtLength(Math.min(y,A)),M="0px,"+y+"px,";var L=u.getPointAtLength(A),C=u.getPointAtLength(A-.1);c=Math.atan2(L.y-C.y,L.x-C.x),s=u.getPointAtLength(Math.max(0,A-m)),M+=A-(M?y+m:m)+"px,"+A+"px",t.style("stroke-dasharray",M)}function P(){t.style("stroke-dasharray","0px,100px")}function O(e,i,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:"translate("+i.x+","+i.y+")"+(o?"rotate("+180*o/Math.PI+")":"")+"scale("+s+")"}).style({fill:a.rgb(r.arrowcolor),"stroke-width":0}))}g&&O(f,o,l,d),v&&O(h,s,c,p)}},{"../color":591,"./arrow_paths":573,d3:164}],582:[function(t,e,r){"use strict";var n=t("./draw"),a=t("./click");e.exports={moduleType:"component",name:"annotations",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("annotations"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:a.hasClickToShow,onClick:a.onClick,convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":774,"./attributes":574,"./calc_autorange":575,"./click":576,"./convert_coords":578,"./defaults":579,"./draw":580}],583:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),a=t("../../plot_api/edit_types").overrideAll,i=t("../../plot_api/plot_template").templatedArray;e.exports=a(i("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},{"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../annotations/attributes":574}],584:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes");function i(t,e){var r=e.fullSceneLayout.domain,i=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),a.setConvert(t._xa),t._xa._offset=i.l+r.x[0]*i.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*i.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),a.setConvert(t._ya),t._ya._offset=i.t+(1-r.y[1])*i.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*i.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)i(e[r],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()}},{"../../lib":716,"../../plots/cartesian/axes":764}],585:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("../annotations/common_defaults"),s=t("./attributes");function l(t,e,r,i){function l(r,a){return n.coerce(t,e,s,r,a)}function c(t){var n=t+"axis",i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,l,t,t,.5)}l("visible")&&(o(t,e,i.fullLayout,l),c("x"),c("y"),c("z"),n.noneOrAll(t,e,["x","y","z"]),e.xref="x",e.yref="y",e.zref="z",l("xanchor"),l("yanchor"),l("xshift"),l("yshift"),e.showarrow&&(e.axref="pixel",e.ayref="pixel",l("ax",-10),l("ay",-30),n.noneOrAll(t,e,["ax","ay"])))}e.exports=function(t,e,r){i(t,e,{name:"annotations",handleItemDefaults:l,fullLayout:r.fullLayout})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"../annotations/common_defaults":577,"./attributes":583}],586:[function(t,e,r){"use strict";var n=t("../annotations/draw").drawRaw,a=t("../../plots/gl3d/project"),i=["x","y","z"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var h=i[u],f=l[h],p=e[h+"axis"].r2fraction(f);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=a(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":813,"../annotations/draw":580}],587:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var i=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];i.test(l)&&(t[l].annotations||[]).length&&(a.pushUnique(e._basePlotModules,r),a.pushUnique(e._subplots.gl3d,l))}},convert:t("./convert"),draw:t("./draw")}},{"../../lib":716,"../../registry":845,"./attributes":583,"./convert":584,"./defaults":585,"./draw":586}],588:[function(t,e,r){"use strict";e.exports=t("world-calendars/dist/main"),t("world-calendars/dist/plus"),t("world-calendars/dist/calendars/chinese"),t("world-calendars/dist/calendars/coptic"),t("world-calendars/dist/calendars/discworld"),t("world-calendars/dist/calendars/ethiopian"),t("world-calendars/dist/calendars/hebrew"),t("world-calendars/dist/calendars/islamic"),t("world-calendars/dist/calendars/julian"),t("world-calendars/dist/calendars/mayan"),t("world-calendars/dist/calendars/nanakshahi"),t("world-calendars/dist/calendars/nepali"),t("world-calendars/dist/calendars/persian"),t("world-calendars/dist/calendars/taiwan"),t("world-calendars/dist/calendars/thai"),t("world-calendars/dist/calendars/ummalqura")},{"world-calendars/dist/calendars/chinese":555,"world-calendars/dist/calendars/coptic":556,"world-calendars/dist/calendars/discworld":557,"world-calendars/dist/calendars/ethiopian":558,"world-calendars/dist/calendars/hebrew":559,"world-calendars/dist/calendars/islamic":560,"world-calendars/dist/calendars/julian":561,"world-calendars/dist/calendars/mayan":562,"world-calendars/dist/calendars/nanakshahi":563,"world-calendars/dist/calendars/nepali":564,"world-calendars/dist/calendars/persian":565,"world-calendars/dist/calendars/taiwan":566,"world-calendars/dist/calendars/thai":567,"world-calendars/dist/calendars/ummalqura":568,"world-calendars/dist/main":569,"world-calendars/dist/plus":570}],589:[function(t,e,r){"use strict";var n=t("./calendars"),a=t("../../lib"),i=t("../../constants/numerical"),o=i.EPOCHJD,s=i.ONEDAY,l={valType:"enumerated",values:Object.keys(n.calendars),editType:"calc",dflt:"gregorian"},c=function(t,e,r,n){var i={};return i[r]=l,a.coerce(t,e,i,r,n)},u="##",h={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:u,w:u,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};var f={};function p(t){var e=f[t];return e||(e=f[t]=n.instance(t))}function d(t){return a.extendFlat({},l,{description:t})}function g(t){return"Sets the calendar system to use with `"+t+"` date data."}var v={xcalendar:d(g("x"))},m=a.extendFlat({},v,{ycalendar:d(g("y"))}),y=a.extendFlat({},m,{zcalendar:d(g("z"))}),x=d(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));e.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:y,surface:y,mesh3d:y,scattergl:m,ohlc:v,candlestick:v},layout:{calendar:d(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d(["Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:d(["Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var a=0;a<r.length;a++)c(t,e,r[a]+"calendar",n.calendar)},CANONICAL_SUNDAY:{chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},CANONICAL_TICK:{chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},DFLTRANGE:{chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},getCal:p,worldCalFmt:function(t,e,r){for(var n,a,i,l,c,f=Math.floor((e+.05)/s)+o,d=p(r).fromJD(f),g=0;-1!==(g=t.indexOf("%",g));)"0"===(n=t.charAt(g+1))||"-"===n||"_"===n?(i=3,a=t.charAt(g+2),"_"===n&&(n="-")):(a=n,n="0",i=2),(l=h[a])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+i),g+=c.length):g+=i;return t}}},{"../../constants/numerical":692,"../../lib":716,"./calendars":588}],590:[function(t,e,r){"use strict";r.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],r.defaultLine="#444",r.lightLine="#eee",r.background="#fff",r.borderLine="#BEC8D9",r.lightFraction=1e3/11},{}],591:[function(t,e,r){"use strict";var n=t("tinycolor2"),a=t("fast-isnumeric"),i=e.exports={},o=t("./attributes");i.defaults=o.defaults;var s=i.defaultLine=o.defaultLine;i.lightLine=o.lightLine;var l=i.background=o.background;function c(t){if(a(t)||"string"!=typeof t)return t;var e=t.trim();if("rgb"!==e.substr(0,3))return t;var r=e.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return t;var n=r[1].trim().split(/\s*[\s,]\s*/),i="a"===e.charAt(3)&&4===n.length;if(!i&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return i?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}i.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||l).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,l))),(a.isDark()?e?a.lighten(e):l:r?a.darken(r):s).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),"stroke-opacity":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),"fill-opacity":r.getAlpha()})},i.clean=function(t){if(t&&"object"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e<o.length;e++)if(a=t[n=o[e]],"color"===n.substr(n.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=c(a[r]);else t[n]=c(a);else if("colorscale"===n.substr(n.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=c(a[r][1]));else if(Array.isArray(a)){var s=a[0];if(!Array.isArray(s)&&s&&"object"==typeof s)for(r=0;r<a.length;r++)i.clean(a[r])}else a&&"object"==typeof a&&i.clean(a)}}},{"./attributes":590,"fast-isnumeric":227,tinycolor2:535}],592:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/layout_attributes"),a=t("../../plots/font_attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll;e.exports=o({thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",dflt:1.02,min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",dflt:.5,min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle"},ypad:{valType:"number",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:i({},n.ticks,{dflt:""}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:a({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{text:{valType:"string"},font:a({}),side:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}},_deprecated:{title:{valType:"string"},titlefont:a({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/cartesian/layout_attributes":776,"../../plots/font_attributes":790}],593:[function(t,e,r){"use strict";e.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},{}],594:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("../../plots/cartesian/tick_value_defaults"),o=t("../../plots/cartesian/tick_mark_defaults"),s=t("../../plots/cartesian/tick_label_defaults"),l=t("./attributes");e.exports=function(t,e,r){var c=a.newContainer(e,"colorbar"),u=t.colorbar||{};function h(t,e){return n.coerce(u,c,l,t,e)}var f=h("thicknessmode");h("thickness","fraction"===f?30/(r.width-r.margin.l-r.margin.r):30);var p=h("lenmode");h("len","fraction"===p?1:r.height-r.margin.t-r.margin.b),h("x"),h("xanchor"),h("xpad"),h("y"),h("yanchor"),h("ypad"),n.noneOrAll(u,c,["x","y"]),h("outlinecolor"),h("outlinewidth"),h("bordercolor"),h("borderwidth"),h("bgcolor"),i(u,c,h,"linear");var d={outerTicks:!1,font:r.font};s(u,c,h,"linear",d),o(u,c,h,"linear",d),h("title.text",r._dfltTitle.colorbar),n.coerceFont(h,"title.font",r.font),h("title.side")}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_mark_defaults":784,"../../plots/cartesian/tick_value_defaults":785,"./attributes":592}],595:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../dragelement"),c=t("../../lib"),u=t("../../lib/extend").extendFlat,h=t("../../lib/setcursor"),f=t("../drawing"),p=t("../color"),d=t("../titles"),g=t("../../lib/svg_text_utils"),v=t("../colorscale/helpers").flipScale,m=t("../../plots/cartesian/axis_defaults"),y=t("../../plots/cartesian/position_defaults"),x=t("../../plots/cartesian/layout_attributes"),b=t("../../constants/alignment"),_=b.LINE_SPACING,w=b.FROM_TL,k=b.FROM_BR,T=t("./constants").cn;e.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll("g."+T.colorbar).data(function(t){var e,r,n,a,i=t._fullLayout,o=t.calcdata,s=[];function l(t){return u(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof a.calc?a.calc(t,n,e):(e._fillgradient=r.reversescale?v(r.colorscale):r.colorscale,e._zrange=[r[a.min],r[a.max]])}for(var h=0;h<o.length;h++){var f=o[h],p=(n=f[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),g=d?p:[p],m=0;m<g.length;m++){var y=(a=g[m]).container;(r=y?n[y]:n)&&r.showscale&&((e=l(r.colorbar))._id="cb"+n.uid+(d&&y?"-"+y:""),e._traceIndex=n.index,e._propPrefix=(y?y+".":"")+"colorbar.",e._meta=n._meta,c(),s.push(e))}}for(var x in i._colorAxes)if((r=i[x]).showscale){var b=i._colorAxes[x];(e=l(r.colorbar))._id="cb"+x,e._propPrefix=x+".colorbar.",e._meta=i._meta,a={min:"cmin",max:"cmax"},"heatmap"!==b[0]&&(n=b[1],a.calc=n._module.colorbar.calc),c(),s.push(e)}return s}(t),function(t){return t._id});e.enter().append("g").attr("class",function(t){return t._id}).classed(T.colorbar,!0),e.each(function(e){var r=n.select(this);c.ensureSingle(r,"rect",T.cbbg),c.ensureSingle(r,"g",T.cbfills),c.ensureSingle(r,"g",T.cblines),c.ensureSingle(r,"g",T.cbaxis,function(t){t.classed(T.crisp,!0)}),c.ensureSingle(r,"g",T.cbtitleunshift,function(t){t.append("g").classed(T.cbtitle,!0)}),c.ensureSingle(r,"rect",T.cboutline);var v=function(t,e,r){var o=r._fullLayout,l=o._size,h=e._fillcolor,v=e._line,b=e.title,A=b.side,M=e._zrange||n.extent(("function"==typeof h?h:v.color).domain()),S="function"==typeof v.color?v.color:function(){return v.color},E="function"==typeof h?h:function(){return h},L=e._levels,C=function(t,e,r){var n,a,i=e._levels,o=[],s=[],l=i.end+i.size/100,c=i.size,u=1.001*r[0]-.001*r[1],h=1.001*r[1]-.001*r[0];for(a=0;a<1e5&&(n=i.start+a*c,!(c>0?n>=l:n<=l));a++)n>u&&n<h&&o.push(n);if(e._fillgradient)s=[0];else if("function"==typeof e._fillcolor){var f=e._filllevels;if(f)for(l=f.end+f.size/100,c=f.size,a=0;a<1e5&&(n=f.start+a*c,!(c>0?n>=l:n<=l));a++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map(function(t){return t-i.size/2})).push(s[s.length-1]+i.size)}else e._fillcolor&&"string"==typeof e._fillcolor&&(s=[0]);return i.size<0&&(o.reverse(),s.reverse()),{line:o,fill:s}}(0,e,M),P=C.fill,O=C.line,z=Math.round(e.thickness*("fraction"===e.thicknessmode?l.w:1)),I=z/l.w,D=Math.round(e.len*("fraction"===e.lenmode?l.h:1)),R=D/l.h,F=e.xpad/l.w,B=(e.borderwidth+e.outlinewidth)/2,N=e.ypad/l.h,j=Math.round(e.x*l.w+e.xpad),V=e.x-I*({middle:.5,right:1}[e.xanchor]||0),U=e.y+R*(({top:-.5,bottom:.5}[e.yanchor]||0)-.5),q=Math.round(l.h*(1-U)),H=q-D;e._lenFrac=R,e._thickFrac=I,e._xLeftFrac=V,e._yBottomFrac=U;var G=e._axis=function(t,e,r){var n=t._fullLayout,a={type:"linear",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:"free",side:"right",position:1},i={type:"linear",_id:"y"+e._id},o={letter:"y",font:n.font,noHover:!0,noTickson:!0,calendar:n.calendar};function s(t,e){return c.coerce(a,i,x,t,e)}return m(a,i,s,o,n),y(a,i,s,o),i}(r,e,M);if(G.position=e.x+F+I,-1!==["top","bottom"].indexOf(A)&&(G.title.side=A,G.titlex=e.x+F,G.titley=U+("top"===b.side?R-N:N)),v.color&&"auto"===e.tickmode){G.tickmode="linear",G.tick0=L.start;var Y=L.size,W=c.constrain((q-H)/50,4,15)+1,X=(M[1]-M[0])/((e.nticks||W)*Y);if(X>1){var Z=Math.pow(10,Math.floor(Math.log(X)/Math.LN10));Y*=Z*c.roundUp(X/Z,[2,5,10]),(Math.abs(L.start)/L.size+1e-6)%1<2e-6&&(G.tick0=0)}G.dtick=Y}G.domain=[U+N,U+R-N],G.setScale(),t.attr("transform","translate("+Math.round(l.l)+","+Math.round(l.t)+")");var J,K=t.select("."+T.cbtitleunshift).attr("transform","translate(-"+Math.round(l.l)+",-"+Math.round(l.t)+")"),Q=t.select("."+T.cbaxis),$=0;function tt(n,a){var i={propContainer:G,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+T.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(r,n,u(i,a||{}))}return c.syncOrAsync([i.previousPromises,function(){if(-1!==["top","bottom"].indexOf(A)){var t,r=l.l+(e.x+F)*l.w,n=G.title.font.size;t="top"===A?(1-(U+R-N))*l.h+l.t+3+.75*n:(1-(U+N))*l.h+l.t-3-.25*n,tt(G._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(A)){var i=t.select("."+T.cbtitle),o=i.select("text"),u=[-e.outlinewidth/2,e.outlinewidth/2],h=i.select(".h"+G._id+"title-math-group").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*_),h?($=f.bBox(h).height)>p&&(u[1]-=($-p)/2):o.node()&&!o.classed(T.jsPlaceholder)&&($=f.bBox(o.node()).height),$){if($+=5,"top"===A)G.domain[1]-=$/l.h,u[1]*=-1;else{G.domain[0]+=$/l.h;var d=g.lineCount(o);u[1]+=(1-d)*p}i.attr("transform","translate("+u+")"),G.setScale()}}t.selectAll("."+T.cbfills+",."+T.cblines).attr("transform","translate(0,"+Math.round(l.h*(1-G.domain[1]))+")"),Q.attr("transform","translate(0,"+Math.round(-l.t)+")");var m=t.select("."+T.cbfills).selectAll("rect."+T.cbfill).data(P);m.enter().append("rect").classed(T.cbfill,!0).style("stroke","none"),m.exit().remove();var y=M.map(G.c2p).map(Math.round).sort(function(t,e){return t-e});m.each(function(t,i){var o=[0===i?M[0]:(P[i]+P[i-1])/2,i===P.length-1?M[1]:(P[i]+P[i+1])/2].map(G.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,y[0],y[1]);var s=n.select(this).attr({x:j,width:Math.max(z,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)f.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=E(t).replace("e-","");s.attr("fill",a(l).toHexString())}});var x=t.select("."+T.cblines).selectAll("path."+T.cbline).data(v.color&&v.width?O:[]);x.enter().append("path").classed(T.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr("d","M"+j+","+(Math.round(G.c2p(t))+v.width/2%1)+"h"+z).call(f.lineGroupStyle,v.width,S(t),v.dash)}),Q.selectAll("g."+G._id+"tick,path").remove();var b=j+z+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),w=s.calcTicks(G),k=s.makeTransFn(G),L=s.getTickSigns(G)[2];return s.drawTicks(r,G,{vals:"inside"===G.ticks?s.clipEnds(G,w):w,layer:Q,path:s.makeTickPath(G,b,L),transFn:k}),s.drawLabels(r,G,{vals:w,layer:Q,transFn:k,labelFns:s.makeLabelFns(G,b)})},function(){if(-1===["top","bottom"].indexOf(A)){var t=G.title.font.size,e=G._offset+G._length/2,a=l.l+(G.position||0)*l.w+("right"===G.side?10+t*(G.showticklabels?1:.5):-10-t*(G.showticklabels?.5:0));tt("h"+G._id+"title",{avoid:{selection:n.select(r).selectAll("g."+G._id+"tick"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},i.previousPromises,function(){var n=z+e.outlinewidth/2+f.bBox(Q.node()).width;if((J=K.select("text")).node()&&!J.classed(T.jsPlaceholder)){var a,o=K.select(".h"+G._id+"title-math-group").node();a=o&&-1!==["top","bottom"].indexOf(A)?f.bBox(o).width:f.bBox(K.node()).right-j-l.l,n=Math.max(n,a)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=q-H;t.select("."+T.cbbg).attr({x:j-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:H-B,width:Math.max(s,2),height:Math.max(c+2*B,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+T.cboutline).attr({x:j,y:H+e.ypad+("top"===A?$:0),width:Math.max(z,2),height:Math.max(c-2*e.ypad-$,2)}).call(p.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var u=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform","translate("+(l.l-u)+","+l.t+")");var h={},d=w[e.yanchor],g=k[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=c*d,h.b=c*g):(h.t=h.b=0,h.yt=e.y+e.len*d,h.yb=e.y-e.len*g);var v=w[e.xanchor],m=k[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*v,h.r=s*m;else{var y=s-z;h.l=y*v,h.r=y*m,h.xl=e.x-e.thickness*v,h.xr=e.x+e.thickness*m}i.autoMargin(r,e._id,h)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,a,i,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+" translate("+r+","+o+")"),a=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),i=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(a,i,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==a&&void 0!==i){var n={};n[e._propPrefix+"x"]=a,n[e._propPrefix+"y"]=i,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)}),e.exit().each(function(e){i.autoMargin(t,e._id)}).remove(),e.order()}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/extend":707,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"../../plots/plots":825,"../../registry":845,"../color":591,"../colorscale/helpers":602,"../dragelement":609,"../drawing":612,"../titles":678,"./constants":593,d3:164,tinycolor2:535}],596:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":716}],597:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":592,"./defaults":594,"./draw":595,"./has_colorbar":596}],598:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),a=t("../../lib/regex").counter,i=t("./scales.js").scales;Object.keys(i);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===s,u="string"==typeof e.colorscaleDflt?i[e.colorscaleDflt]:null,h=e.editTypeOverride||"",f=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(f+(r={z:"z",c:"color"}[s]));var p=s+"auto",d=s+"min",g=s+"max",v=s+"mid",m=(o(f+p),o(f+d),o(f+g),{});m[d]=m[g]=void 0;var y={};y[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:h||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:m},x[d]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[g]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[v]={valType:"number",dflt:null,editType:"calc",impliedEdits:m},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:a("coloraxis"),dflt:null,editType:"calc"}),x}},{"../../lib/regex":732,"../colorbar/attributes":592,"./scales.js":606}],599:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?a.nestedProperty(e,c).get():e,h=i(u),f=!1!==h.auto,p=h.min,d=h.max,g=h.mid,v=function(){return a.aggNums(Math.min,null,l)},m=function(){return a.aggNums(Math.max,null,l)};(void 0===p?p=v():f&&(p=u._colorAx&&n(p)?Math.min(p,v()):v()),void 0===d?d=m():f&&(d=u._colorAx&&n(d)?Math.max(d,m()):m()),f&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g<g-p&&(d=g+(g-p))),p===d&&(p-=.5,d+=.5),h._sync("min",p),h._sync("max",d),h.autocolorscale)&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}},{"../../lib":716,"./helpers":602,"fast-isnumeric":227}],600:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./helpers").hasColorscale,i=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,a){var o=a.container?n.nestedProperty(t,a.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=i(o),l=s.auto;(l||void 0===s.min)&&r(o,a.min),(l||void 0===s.max)&&r(o,a.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s<t.length;s++){var l=t[s],c=l._module.colorbar;if(c)if(Array.isArray(c))for(var u=0;u<c.length;u++)o(l,c[u]);else o(l,c);a(l,"marker.line")&&o(l,{container:"marker.line",min:"cmin",max:"cmax"})}for(var h in e._colorAxes)o(e[h],{min:"cmin",max:"cmax"})}},{"../../lib":716,"./helpers":602}],601:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./scales").isValid,l=t("../../registry").traceIs;function c(t,e){var r=e.slice(0,e.length-1);return e?a.nestedProperty(t,r).get()||{}:t}e.exports=function t(e,r,u,h,f){var p=f.prefix,d=f.cLetter,g="_module"in r,v=c(e,p),m=c(r,p),y=c(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,u,h,f)};if(g){var b=u._colorAxes||{},_=h(p+"coloraxis");if(_){var w=l(r,"contour")&&a.nestedProperty(r,"contours.coloring").get()||"heatmap",k=b[_];return void(k?(k[2].push(x),k[0]!==w&&(k[0]=!1,a.warn(["Ignoring coloraxis:",_,"setting","as it is linked to incompatible colorscales."].join(" ")))):b[_]=[w,r,[x]])}}var T=v[d+"min"],A=v[d+"max"],M=n(T)&&n(A)&&T<A;h(p+d+"auto",!M)?h(p+d+"mid"):(h(p+d+"min"),h(p+d+"max"));var S,E,L=v.colorscale,C=y.colorscale;(void 0!==L&&(S=!s(L)),void 0!==C&&(S=!s(C)),h(p+"autocolorscale",S),h(p+"colorscale"),h(p+"reversescale"),"marker.line."!==p)&&(p&&g&&(E=i(v)),h(p+"showscale",E)&&o(v,m,u))}},{"../../lib":716,"../../registry":845,"../colorbar/defaults":594,"../colorbar/has_colorbar":596,"./scales":606,"fast-isnumeric":227}],602:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("fast-isnumeric"),o=t("../../lib"),s=t("../color"),l=t("./scales").isValid;var c=["showscale","autocolorscale","colorscale","reversescale","colorbar"],u=["min","max","mid","auto"];function h(t){var e,r,n,a=t._colorAx,i=a||t,o={};for(r=0;r<c.length;r++)o[n=c[r]]=i[n];if(a)for(e="c",r=0;r<u.length;r++)o[n=u[r]]=i["c"+n];else{var s;for(r=0;r<u.length;r++)(s="c"+(n=u[r]))in i?o[n]=i[s]:(s="z"+n)in i&&(o[n]=i[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==u.indexOf(t)?e+t:t;i[n]=i["_"+n]=r},o}function f(t){for(var e=h(t),r=e.min,n=e.max,a=e.reversescale?p(e.colorscale):e.colorscale,i=a.length,o=new Array(i),s=new Array(i),l=0;l<i;l++){var c=a[l];o[l]=r+c[0]*(n-r),s[l]=c[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,a=0;n>=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u<l;u++){var h=a(o[u]).toRgb();c[u]=[h.r,h.g,h.b,h.a]}var f,p=n.scale.linear().domain(r).range(c).clamp(!0),d=e.noNumericCheck,v=e.returnArray;return(f=d&&v?p:d?function(t){return g(p(t))}:v?function(t){return i(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return i(t)?g(p(t)):a(t).isValid()?t:s.defaultLine}).domain=p.domain,f.range=function(){return o},f}function g(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}e.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,a=n[r||"color"],s=!1;if(o.isArrayOrTypedArray(a))for(var c=0;c<a.length;c++)if(i(a[c])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||i(n.cmin)&&i(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:h,extractScale:f,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(f(t),e)}}},{"../../lib":716,"../color":591,"./scales":606,d3:164,"fast-isnumeric":227,tinycolor2:535}],603:[function(t,e,r){"use strict";var n=t("./scales"),a=t("./helpers");e.exports={moduleType:"component",name:"colorscale",attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),handleDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc"),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:a.hasColorscale,extractOpts:a.extractOpts,extractScale:a.extractScale,flipScale:a.flipScale,makeColorScaleFunc:a.makeColorScaleFunc,makeColorScaleFuncFromTrace:a.makeColorScaleFuncFromTrace}},{"./attributes":598,"./calc":599,"./cross_trace_defaults":600,"./defaults":601,"./helpers":602,"./layout_attributes":604,"./layout_defaults":605,"./scales":606}],604:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("./attributes"),i=t("./scales").scales;e.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:i.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:i.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:i.RdBu,editType:"calc"}},coloraxis:n({_isSubplotObj:!0,editType:"calc"},a("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}},{"../../lib/extend":707,"./attributes":598,"./scales":606}],605:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("./layout_attributes"),o=t("./defaults");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("colorscale.sequential"),r("colorscale.sequentialminus"),r("colorscale.diverging");var s,l,c=e._colorAxes;function u(t,e){return n.coerce(s,l,i.coloraxis,t,e)}for(var h in c){var f=c[h];if(f[0])s=t[h]||{},(l=a.newContainer(e,h,"coloraxis"))._name=h,o(s,l,e,u,{prefix:"",cLetter:"c"});else{for(var p=0;p<f[2].length;p++)f[2][p]();delete e._colorAxes[h]}}}},{"../../lib":716,"../../plot_api/plot_template":754,"./defaults":601,"./layout_attributes":604}],606:[function(t,e,r){"use strict";var n=t("tinycolor2"),a={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},i=a.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var a=t[r];if(2!==a.length||+a[0]<e||!n(a[1]).isValid())return!1;e=+a[0]}return!0}e.exports={scales:a,defaultScale:i,get:function(t,e){if(e||(e=i),!t)return e;function r(){try{t=a[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==a[t]||o(t)}}},{tinycolor2:535}],607:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=(t-r)/(n-r),o=i+e/(n-r),s=(i+o)/2;return"left"===a||"bottom"===a?i:"center"===a||"middle"===a?s:"right"===a||"top"===a?o:i<2/3-s?i:o>4/3-s?o:s}},{}],608:[function(t,e,r){"use strict";var n=t("../../lib"),a=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,i){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===i?0:"middle"===i?1:"top"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{"../../lib":716}],609:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),a=t("has-hover"),i=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var c=t("./unhover");function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,g,v=t.gd,m=1,y=v._context.doubleClickDelay,x=t.element;v._mouseDownTime||(v._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(i){v._dragged=!1,v._dragging=!0;var o=h(i);e=o[0],r=o[1],d=i.target,p=i,g=2===i.buttons||i.ctrlKey,"undefined"==typeof i.clientX&&"undefined"==typeof i.clientY&&(i.clientX=e,i.clientY=r),(n=(new Date).getTime())-v._mouseDownTime<y?m+=1:(m=1,v._mouseDownTime=n),t.prepFn&&t.prepFn(i,e,r),a&&!g?(f=u()).style.cursor=window.getComputedStyle(x).cursor:a||(f=document,c=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener("mouseup",k),document.addEventListener("touchend",k),!1!==t.dragmode&&(i.preventDefault(),document.addEventListener("mousemove",w),document.addEventListener("touchmove",w,{passive:!1}))}function w(n){n.preventDefault();var a=h(n),i=t.minDrag||s.MINDRAG,o=b(a[0]-e,a[1]-r,i),c=o[0],u=o[1];(c||u)&&(v._dragged=!0,l.unhover(v)),v._dragged&&t.moveFn&&!g&&(v._dragdata={element:x,dx:c,dy:u},t.moveFn(c,u))}function k(e){if(delete v._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener("mousemove",w),document.removeEventListener("touchmove",w)),document.removeEventListener("mouseup",k),document.removeEventListener("touchend",k),a?o(f):c&&(f.documentElement.style.cursor=c,c=null),v._dragging){if(v._dragging=!1,(new Date).getTime()-v._mouseDownTime>y&&(m=Math.max(m-1,1)),v._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(m,p),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=h(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}v._dragging=!1,v._dragged=!1}else v._dragged=!1}},l.coverSlip=u},{"../../lib":716,"../../plots/cartesian/constants":770,"./align":607,"./cursor":608,"./unhover":610,"has-hover":411,"has-passive-events":412,"mouse-event-offset":437}],610:[function(t,e,r){"use strict";var n=t("../../lib/events"),a=t("../../lib/throttle"),i=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,a=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&a&&t.emit("plotly_unhover",{event:e,points:a}))}},{"../../lib/dom":705,"../../lib/events":706,"../../lib/throttle":741,"../fx/constants":624}],611:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],612:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),f=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),v=t("../../components/fx/helpers").appendArrayPointValue,m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},m.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},m.setRect=function(t,e,r,n,a){t.call(m.setPosition,e,r).call(m.setSize,n,a)},m.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",o):e.attr("transform","translate("+i+","+o+")"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var a=n.select(this);m.translatePoint(t,a,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr("display",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:"none")},m.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each(function(e){var i=e[0].trace,s=i.xcalendar,l=i.ycalendar,c=o.traceIs(i,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each(function(t){m.hideOutsideRangePoint(t,n.select(this),r,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,a){e.style("fill","none");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,l=a||i.dash||"";s.stroke(e,n||i.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,a){t.style("fill","none").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,l=a||i.dash||"";n.select(this).call(s.stroke,r||i.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)})};var y=t("./symbol_defs");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(y).forEach(function(t){var e=y[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var x=m.symbolNames.length,b="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function _(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?b:"")}m.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},k={x1:0,x2:0,y1:1,y2:0},T=n.format("~.1f"),A={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:k},verticalreversed:{node:"linearGradient",attrs:k,reversed:!0}};m.gradient=function(t,e,r,a,o,l){for(var u=o.length,h=A[a],f=new Array(u),p=0;p<u;p++)h.reversed?f[u-1-p]=[T(100*(1-o[p][0])),o[p][1]]:f[p]=[T(100*o[p][0]),o[p][1]];var d="g"+e._fullLayout._uid+"-"+r,g=e._fullLayout._defs.select(".gradients").selectAll("#"+d).data([a+f.join(";")],c.identity);g.exit().remove(),g.enter().append(h.node).each(function(){var t=n.select(this);h.attrs&&t.attr(h.attrs),t.attr("id",d);var e=t.selectAll("stop").data(f);e.exit().remove(),e.enter().append("stop"),e.each(function(t){var e=i(t[1]);n.select(this).attr({offset:t[0]+"%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})})}),t.style(l,D(d,e)).style(l+"-opacity",null)},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove()},m.pointStyle=function(t,e,r){if(t.size()){var a=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,a,r)})}},m.singlePointStyle=function(t,e,r,n,a){var i=r.marker,o=i.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?i.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===i.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||i.symbol)||0;t.om=u%200>=100,e.attr("d",_(u,l))}var h,f,p,d=!1;if(t.so)p=o.outlierwidth,f=o.outliercolor,h=i.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,f="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(i.color)&&(h=s.defaultLine,d=!0),h="mc"in t?t.mcc=n.markerScale(t.mc):i.color||"rgba(0,0,0,0)",n.selectedColorFn&&(h=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,h).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:p)+"px");var v=i.gradient,y=t.mgt;if(y?d=!0:y=v&&v.type,Array.isArray(y)&&(y=y[0],A[y]||(y=0)),y&&"none"!==y){var x=t.mgc;x?d=!0:x=v.color;var b=r.uid;d&&(b+="-"+t.i),m.gradient(e,a,b,y,[[0,x],[1,h]],"fill")}else s.fill(e,h);p&&s.stroke(e,f)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,""),e.lineScale=m.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},s=n.marker||{},l=a.opacity,u=i.opacity,h=s.opacity,f=void 0!==u,d=void 0!==h;(c.isArrayOrTypedArray(l)||f||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:d?h:p*e});var g=a.color,v=i.color,m=s.color;(v||m)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:m||e});var y=a.size,x=i.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},l=a.color,c=i.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&i.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&i.push(function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr("d",_(m.symbolNumber(n),i)),e.mrc2=i}),i.length&&t.each(function(t){for(var e=n.select(this),r=0;r<i.length;r++)i[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&c.isArrayOrTypedArray(n))return l.makeColorScaleFuncFromTrace(r)}return c.identity};var M={start:1,end:-1,middle:0,bottom:1,top:-1};function S(t,e,r,a){var i=n.select(t.node().parentNode),o=-1!==e.indexOf("top")?"top":-1!==e.indexOf("bottom")?"bottom":"middle",s=-1!==e.indexOf("left")?"end":-1!==e.indexOf("right")?"start":"middle",l=a?a/.8+1:0,c=(u.lineCount(t)-1)*f+1,h=M[s]*l,p=.75*r+M[o]*l+(M[o]-1)*c*r/2;t.attr("text-anchor",s),i.attr("transform","translate("+h+","+p+")")}function E(t,e){var r=t.ts||e.textfont.size;return a(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=m.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each(function(t){var i=n.select(this),l=o?c.extractOption(t,e,"txt","texttemplate"):c.extractOption(t,e,"tx","text");if(l||0===l){if(o){var h=e._module.formatLabels?e._module.formatLabels(t,e,s):{},f={};v(f,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,h,s._d3locale,f,t,p)}var d=t.tp||e.textposition,g=E(t,e),y=a?a(t):t.tc||e.textfont.color;i.call(m.font,t.tf||e.textfont.family,g,y).text(l).call(u.convertToTspans,r).call(S,d,g,t.mrc)}else i.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=E(t,e);s.fill(a,i),S(a,o,l,t.mrc2||t.mrc)})}};var L=.5;function C(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(i*i+o*o,L/2),u=Math.pow(s*s+l*l,L/2),h=(u*u*i-c*c*s)*a,f=(u*u*o-c*c*l)*a,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&h/p),2),n.round(e[1]+(p&&f/p),2)],[n.round(e[0]-(d&&h/d),2),n.round(e[1]-(d&&f/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],a=[];for(r=1;r<t.length-1;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(n+="Q"+a[0][0]+" "+t[1],r=2;r<t.length-1;r++)n+="C"+a[r-2][1]+" "+a[r-1][0]+" "+t[r];return n+="Q"+a[t.length-3][1]+" "+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return"M"+t.join("L")+"Z";var r,n="M"+t[0],a=t.length-1,i=[C(t[a],t[0],t[1],e)];for(r=1;r<a;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(i.push(C(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+="C"+i[r-1][1]+" "+i[r][0]+" "+t[r];return n+="C"+i[a][1]+" "+i[0][0]+" "+t[0]+"Z"};var P={hv:function(t,e){return"H"+n.round(e[0],2)+"V"+n.round(e[1],2)},vh:function(t,e){return"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},hvh:function(t,e){return"H"+n.round((t[0]+e[0])/2,2)+"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},vhv:function(t,e){return"V"+n.round((t[1]+e[1])/2,2)+"H"+n.round(e[0],2)+"V"+n.round(e[1],2)}},O=function(t,e){return"L"+n.round(e[0],2)+","+n.round(e[1],2)};m.steps=function(t){var e=P[t]||O;return function(t){for(var r="M"+n.round(t[0][0],2)+","+n.round(t[0][1],2),a=1;a<t.length;a++)r+=e(t[a-1],t[a]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select("body"),"svg","js-plotly-tester",function(t){t.attr(h.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),e=c.ensureSingle(t,"path","js-reference-point",function(t){t.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});m.tester=t,m.testref=e},m.savedBBoxes={};var z=0;function I(t){var e=t.getAttribute("data-unformatted");if(null!==e)return e+t.getAttribute("data-math")+t.getAttribute("text-anchor")+t.getAttribute("style")}function D(t,e){if(!t)return null;var r=e._context;return"url('"+(r._exportedPlot?"":r._baseUrl||"")+"#"+t+"')"}m.bBox=function(t,e,r){var a,i,o;if(r||(r=I(t)),r){if(a=m.savedBBoxes[r])return c.extendFlat({},a)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=I(s)){var l=+s.getAttribute("x")||0,h=+s.getAttribute("y")||0,f=s.getAttribute("transform");if(!f){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),h&&(p.top+=h,p.bottom+=h),p}if(r+="~"+l+"~"+h+"~"+f,a=m.savedBBoxes[r])return c.extendFlat({},a)}}e?i=t:(o=m.tester.node(),i=t.cloneNode(!0),o.appendChild(i)),n.select(i).attr("transform",null).call(u.positionText,0,0);var d=i.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(i);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return z>=1e4&&(m.savedBBoxes={},z=0),r&&(m.savedBBoxes[r]=v),z++,c.extendFlat({},v)},m.setClipUrl=function(t,e,r){t.attr("clip-path",D(e,r))},m.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||0,r=r||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=" translate("+e+", "+r+")").trim(),t[a]("transform",i),i},m.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||1,r=r||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+=" scale("+e+", "+r+")").trim(),t[a]("transform",i),i};var R=/\s*sc.*/;m.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":" scale("+e+","+r+")";t.each(function(){var t=(this.getAttribute("transform")||"").replace(R,"");t=(t+=n).trim(),this.setAttribute("transform",t)})}};var F=/translate\([^)]*\)\s*$/;m.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,a=n.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(a.attr("transform")||"").match(F);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),a.attr("transform",t.join(" "))}})}},{"../../components/fx/helpers":626,"../../constants/alignment":685,"../../constants/interactions":691,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../lib/svg_text_utils":740,"../../registry":845,"../../traces/scatter/make_bubble_size_func":1135,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale":603,"./symbol_defs":613,d3:164,"fast-isnumeric":227,tinycolor2:535}],613:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,a="l"+e+",-"+e,i="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+a+i+a+i+o+i+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),a=n.round(-t,2),i=n.round(-.309*t,2);return"M"+e+","+i+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+i+"L0,"+a+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+e+"L-"+a+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+e+",0L"+r+",-"+a+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+a+"L"+i+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+i+","+c+"L-"+a+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return"M-"+a+",0l-"+r+",-"+e+"h"+a+"l"+r+",-"+e+"l"+r+","+e+"h"+a+"l-"+r+","+e+"l"+r+","+e+"h-"+a+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+a+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+a+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+a+"-"+e+","+e+a+e+","+e+a+e+",-"+e+a+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+a+"0,"+e+a+e+",0"+a+"0,-"+e+a+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+","+a+"L0,0M"+e+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+",-"+a+"L0,0M"+e+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M"+a+","+e+"L0,0M"+a+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+a+","+e+"L0,0M-"+a+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:164}],614:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],615:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,a){var l=e["error_"+a]||{},c=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=s(l),h=0;h<t.length;h++){var f=t[h],p=f.i;if(void 0===p)p=h;else if(null===p)continue;var d=f[a];if(n(r.c2l(d))){var g=u(d,p);if(n(g[0])&&n(g[1])){var v=f[a+"s"]=d-g[0],m=f[a+"h"]=d+g[1];c.push(v,m)}}}var y=r._id,x=e._extremes[y],b=i.findExtremes(r,c,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&a.traceIs(o,"errorBarsOK")){var s=i.getFromId(t,o.xaxis),c=i.getFromId(t,o.yaxis);l(n,o,s,"x"),l(n,o,c,"y")}}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./compute_error":616,"fast-isnumeric":227}],616:[function(t,e,r){"use strict";function n(t,e){return"percent"===t?function(t){return Math.abs(t*e/100)}:"constant"===t?function(){return Math.abs(e)}:"sqrt"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if("data"===e){var a=t.array||[];if(r)return function(t,e){var r=+a[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+a[e],n=+i[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],617:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../lib"),o=t("../../plot_api/plot_template"),s=t("./attributes");e.exports=function(t,e,r,l){var c="error_"+l.axis,u=o.newContainer(e,c),h=t[c]||{};function f(t,e){return i.coerce(h,u,s,t,e)}if(!1!==f("visible",void 0!==h.array||void 0!==h.value||"sqrt"===h.type)){var p=f("type","array"in h?"data":"percent"),d=!0;"sqrt"!==p&&(d=f("symmetric",!(("data"===p?"arrayminus":"valueminus")in h))),"data"===p?(f("array"),f("traceref"),d||(f("arrayminus"),f("tracerefminus"))):"percent"!==p&&"constant"!==p||(f("value"),d||f("valueminus"));var g="copy_"+l.inherit+"style";if(l.inherit)(e["error_"+l.inherit]||{}).visible&&f(g,!(h.color||n(h.thickness)||n(h.width)));l.inherit&&u[g]||(f("color",r),f("thickness"),f("width",a.traceIs(e,"gl3d")?0:4))}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845,"./attributes":614,"fast-isnumeric":227}],618:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/edit_types").overrideAll,i=t("./attributes"),o={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i),error_z:n.extendFlat({},i)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:a(s,"calc","nested"),scattergl:a(o,"calc","nested")}},supplyDefaults:t("./defaults"),calc:t("./calc"),makeComputeError:t("./compute_error"),plot:t("./plot"),style:t("./style"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{"../../lib":716,"../../plot_api/edit_types":747,"./attributes":614,"./calc":615,"./compute_error":616,"./defaults":617,"./plot":619,"./style":620}],619:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../drawing"),o=t("../../traces/scatter/subtypes");e.exports=function(t,e,r,s){var l=r.xaxis,c=r.yaxis,u=s&&s.duration>0;e.each(function(e){var h,f=e[0].trace,p=f.error_x||{},d=f.error_y||{};f.ids&&(h=function(t){return t.id});var g=o.hasMarkers(f)&&f.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var v=n.select(this).selectAll("g.errorbar").data(e,h);if(v.exit().remove(),e.length){p.visible||v.selectAll("path.xerror").remove(),d.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var m=v.enter().append("g").classed("errorbar",!0);u&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(v,r.layerClipId,t),v.each(function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var i,o=e.select("path.yerror");if(d.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var h=d.width;i="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(i+="m-"+h+",0h"+2*h),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",i)}else o.remove();var f=e.select("path.xerror");if(p.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var v=(p.copy_ystyle?d:p).width;i="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(i+="m0,-"+v+"v"+2*v),!f.size()?f=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(f=f.transition().duration(s.duration).ease(s.easing)),f.attr("d",i)}else f.remove()}})}})}},{"../../traces/scatter/subtypes":1142,"../drawing":612,d3:164,"fast-isnumeric":227}],620:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a.stroke,i.color)})}},{"../color":591,d3:164}],621:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./layout_attributes").hoverlabel,i=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:i({},a.bgcolor,{arrayOk:!0}),bordercolor:i({},a.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:i({},a.align,{arrayOk:!0}),namelength:i({},a.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":707,"../../plots/font_attributes":790,"./layout_attributes":630}],622:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!a.traceIs(c,"pie-like")){var u=a.traceIs(c,"2dMap")?i:n.fillArray;u(c.hoverinfo,l,"hi",o(c)),c.hovertemplate&&u(c.hovertemplate,l,"ht"),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,"hbg"),u(c.hoverlabel.bordercolor,l,"hbc"),u(c.hoverlabel.font.size,l,"hts"),u(c.hoverlabel.font.color,l,"htc"),u(c.hoverlabel.font.family,l,"htf"),u(c.hoverlabel.namelength,l,"hnl"),u(c.hoverlabel.align,l,"hta"))}}}},{"../../lib":716,"../../registry":845}],623:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./hover").hover;e.exports=function(t,e,r){var i=n.getComponentMethod("annotations","onClick")(t,t._hoverdata);function o(){t.emit("plotly_click",{points:t._hoverdata,event:e})}void 0!==r&&a(t,e,r,!0),t._hoverdata&&e&&e.target&&(i&&i.then?i.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{"../../registry":845,"./hover":627}],624:[function(t,e,r){"use strict";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},{}],625:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./hoverlabel_defaults");e.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),i(t,e,function(r,i){return n.coerce(t,e,a,r,i)},s)}},{"../../lib":716,"./attributes":621,"./hoverlabel_defaults":628}],626:[function(t,e,r){"use strict";var n=t("../../lib");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if("splom"===t.type){for(var n=t.xaxes||[],a=t.yaxes||[],i=0;i<n.length;i++)for(var o=0;o<a.length;o++)if(-1!==e.indexOf(n[i]+a[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,a){return"closest"===t?a||r.quadrature(e,n):"x"===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var a=e(t[n]);a<=r.distance&&(r.index=n,r.distance=a)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),a=e(r);return Math.sqrt(n*n+a*a)}},r.makeEventData=function(t,e,n){var a="index"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:a};if(e._indexToPoints){var o=e._indexToPoints[a];1===o.length?i.pointIndex=o[0]:i.pointIndices=o}else i.pointIndex=a;return e._module.eventData?i=e._module.eventData(i,t,e,n,a):("xVal"in t?i.x=t.xVal:"x"in t&&(i.x=t.x),"yVal"in t?i.y=t.yVal:"y"in t&&(i.y=t.y),t.xa&&(i.xaxis=t.xa),t.ya&&(i.yaxis=t.ya),void 0!==t.zLabelVal&&(i.z=t.zLabelVal)),r.appendArrayPointValue(i,e,a),i},r.appendArrayPointValue=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),h=new Array(r.length),f=0;f<r.length;f++)h[f]=o(u,r[f]);t[c]=h}}};var a={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function i(t){return a[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}},{"../../lib":716}],627:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../lib"),s=t("../../lib/events"),l=t("../../lib/svg_text_utils"),c=t("../../lib/override_cursor"),u=t("../drawing"),h=t("../color"),f=t("../dragelement"),p=t("../../plots/cartesian/axes"),d=t("../../registry"),g=t("./helpers"),v=t("./constants"),m=v.YANGLE,y=Math.PI*m/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=v.HOVERARROWSIZE,k=v.HOVERTEXTPAD;r.hover=function(t,e,r,i){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+v.HOVERID,v.HOVERMINTIME,function(){!function(t,e,r,i){r||(r="xy");var l=Array.isArray(r)?r:[r],u=t._fullLayout,p=u._plots||[],v=p[r],m=u._has("cartesian");if(v){var y=v.overlays.map(function(t){return t.id});l=l.concat(y)}for(var b=l.length,_=new Array(b),w=new Array(b),k=!1,T=0;T<b;T++){var C=l[T];if(p[C])k=!0,_[T]=p[C].xaxis,w[T]=p[C].yaxis;else{if(!u[C]||!u[C]._subplot)return void o.warn("Unrecognized subplot: "+C);var P=u[C]._subplot;_[T]=P.xaxis,w[T]=P.yaxis}}var O=e.hovermode||u.hovermode;O&&!k&&(O="closest");if(-1===["x","y","closest"].indexOf(O)||!t.calcdata||t.querySelector(".zoombox")||t._dragging)return f.unhoverRaw(t,e);var z,I,D,R,F,B,N,j,V,U,q,H,G,Y=-1===u.hoverdistance?1/0:u.hoverdistance,W=-1===u.spikedistance?1/0:u.spikedistance,X=[],Z=[],J={hLinePoint:null,vLinePoint:null},K=!1;if(Array.isArray(e))for(O="array",D=0;D<e.length;D++)(F=t.calcdata[e[D].curveNumber||0])&&(B=F[0].trace,"skip"!==F[0].trace.hoverinfo&&(Z.push(F),"h"===B.orientation&&(K=!0)));else{for(R=0;R<t.calcdata.length;R++)F=t.calcdata[R],"skip"!==(B=F[0].trace).hoverinfo&&g.isTraceInSubplots(B,l)&&(Z.push(F),"h"===B.orientation&&(K=!0));var Q,$,tt=!e.target;if(tt)Q="xpx"in e?e.xpx:_[0]._length/2,$="ypx"in e?e.ypx:w[0]._length/2;else{if(!1===s.triggerHandler(t,"plotly_beforehover",e))return;var et=e.target.getBoundingClientRect();if(Q=e.clientX-et.left,$=e.clientY-et.top,Q<0||Q>_[0]._length||$<0||$>w[0]._length)return f.unhoverRaw(t,e)}if(e.pointerX=Q+_[0]._offset,e.pointerY=$+w[0]._offset,z="xval"in e?g.flat(l,e.xval):g.p2c(_,Q),I="yval"in e?g.flat(l,e.yval):g.p2c(w,$),!a(z[0])||!a(I[0]))return o.warn("Fx.hover failed",e,t),f.unhoverRaw(t,e)}var rt=1/0;for(R=0;R<Z.length;R++)if((F=Z[R])&&F[0]&&F[0].trace&&!0===(B=F[0].trace).visible&&0!==B._length&&-1===["carpet","contourcarpet"].indexOf(B._module.name)){if("splom"===B.type?N=l[j=0]:(N=g.getSubplot(B),j=l.indexOf(N)),V=O,H={cd:F,trace:B,xa:_[j],ya:w[j],maxHoverDistance:Y,maxSpikeDistance:W,index:!1,distance:Math.min(rt,Y),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:h.defaultLine,name:B.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[N]&&(H.subplot=u[N]._subplot),u._splomScenes&&u._splomScenes[B.uid]&&(H.scene=u._splomScenes[B.uid]),G=X.length,"array"===V){var nt=e[R];"pointNumber"in nt?(H.index=nt.pointNumber,V="closest"):(V="","xval"in nt&&(U=nt.xval,V="x"),"yval"in nt&&(q=nt.yval,V=V?"closest":"y"))}else U=z[j],q=I[j];if(0!==Y)if(B._module&&B._module.hoverPoints){var at=B._module.hoverPoints(H,U,q,V,u._hoverlayer);if(at)for(var it,ot=0;ot<at.length;ot++)it=at[ot],a(it.x0)&&a(it.y0)&&X.push(S(it,O))}else o.log("Unrecognized trace type in hover:",B);if("closest"===O&&X.length>G&&(X.splice(0,G),rt=X[0].distance),m&&0!==W&&0===X.length){H.distance=W,H.index=!1;var st=B._module.hoverPoints(H,U,q,"closest",u._hoverlayer);if(st&&(st=st.filter(function(t){return t.spikeDistance<=W})),st&&st.length){var lt,ct=st.filter(function(t){return t.xa.showspikes});if(ct.length){var ut=ct[0];a(ut.x0)&&a(ut.y0)&&(lt=dt(ut),(!J.vLinePoint||J.vLinePoint.spikeDistance>lt.spikeDistance)&&(J.vLinePoint=lt))}var ht=st.filter(function(t){return t.ya.showspikes});if(ht.length){var ft=ht[0];a(ft.x0)&&a(ft.y0)&&(lt=dt(ft),(!J.hLinePoint||J.hLinePoint.spikeDistance>lt.spikeDistance)&&(J.hLinePoint=lt))}}}}function pt(t,e){for(var r,n=null,a=1/0,i=0;i<t.length;i++)(r=t[i].spikeDistance)<a&&r<=e&&(n=t[i],a=r);return n}function dt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var gt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},vt=t._spikepoints,mt={vLinePoint:J.vLinePoint,hLinePoint:J.hLinePoint};if(t._spikepoints=mt,m&&0!==W&&0!==X.length){var yt=X.filter(function(t){return t.ya.showspikes}),xt=pt(yt,W);J.hLinePoint=dt(xt);var bt=X.filter(function(t){return t.xa.showspikes}),_t=pt(bt,W);J.vLinePoint=dt(_t)}if(0===X.length){var wt=f.unhoverRaw(t,e);return!m||null===J.hLinePoint&&null===J.vLinePoint||L(vt)&&E(t,J,gt),wt}m&&L(vt)&&E(t,J,gt);X.sort(function(t,e){return t.distance-e.distance});var kt=t._hoverdata,Tt=[];for(D=0;D<X.length;D++){var At=X[D],Mt=g.makeEventData(At,At.trace,At.cd);if(!1!==At.hovertemplate){var St=!1;At.cd[At.index]&&At.cd[At.index].ht&&(St=At.cd[At.index].ht),At.hovertemplate=St||At.trace.hovertemplate||!1}At.eventData=[Mt],Tt.push(Mt)}t._hoverdata=Tt;var Et="y"===O&&(Z.length>1||X.length>1)||"closest"===O&&K&&X.length>1,Lt=h.combine(u.plot_bgcolor||h.background,u.paper_bgcolor),Ct={hovermode:O,rotateLabels:Et,bgColor:Lt,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Pt=A(X,Ct,t);if(function(t,e,r){var n,a,i,o,s,l,c,u=0,h=1,f=t.size(),p=new Array(f),d=0;function g(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=i;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,i=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=i;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(t.each(function(t){var n=t[e],a="x"===n._id.charAt(0),i=n.range;0===d&&i&&i[0]>i[1]!==a&&(h=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}),p.sort(function(t,e){return t[0].posref-e[0].posref||h*(e[0].traceIndex-t[0].traceIndex)});!n&&u<=f;){for(u++,n=!0,o=0;o<p.length-1;){var v=p[o],m=p[o+1],y=v[v.length-1],b=m[0];if((a=y.pos+y.dp+y.size-b.pos-b.dp+b.size)>.01&&y.pmin===b.pmin&&y.pmax===b.pmax){for(s=m.length-1;s>=0;s--)m[s].dp+=a;for(v.push.apply(v,m),p.splice(o+1,1),c=0,s=v.length-1;s>=0;s--)c+=v[s].dp;for(i=c/v.length,s=v.length-1;s>=0;s--)v[s].dp-=i;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var _=p[o];for(s=_.length-1;s>=0;s--){var w=_[s],k=w.datum;k.offset=w.dp,k.del=w.del}}}(Pt,Et?"xa":"ya",u),M(Pt,Et),e.target&&e.target.tagName){var Ot=d.getComponentMethod("annotations","hasClickToShow")(t,Tt);c(n.select(e.target),Ot?"pointer":"")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,kt))return;kt&&t.emit("plotly_unhover",{event:e,points:kt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:z,yvals:I})}(t,e,r,i)})},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var a=t.map(function(t){return{color:t.color||h.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}}),i=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):i,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||h.background,container:i,outerContainer:o},l=A(a,s,e.gd),c=0,u=0;return l.sort(function(t,e){return t.y0-e.y0}).each(function(t,r){var n=t.y0-t.by/2;t.offset=n-5<c?c-n+5:0,c=n+t.by+t.offset,r===e.anchorIndex&&(u=t.offset)}).each(function(t){t.offset-=u}),M(l,s.rotateLabels),r?l:l.node()};var T=/<extra>([\s\S]*)<\/extra>/;function A(t,e,r){var a=r._fullLayout,i=e.hovermode,s=e.rotateLabels,c=e.bgColor,f=e.container,p=e.outerContainer,d=e.commonLabelOpts||{},g=e.fontFamily||v.HOVERFONT,y=e.fontSize||v.HOVERFONTSIZE,x=t[0],b=x.xa,_=x.ya,A="y"===i?"yLabel":"xLabel",M=x[A],S=(String(M)||"").split(" ")[0],E=p.node().getBoundingClientRect(),L=E.top,P=E.width,O=E.height,z=void 0!==M&&x.distance<=e.hoverdistance&&("x"===i||"y"===i);if(z){var I,D,R=!0;for(I=0;I<t.length;I++)if(R&&void 0===t[I].zLabel&&(R=!1),D=t[I].hoverinfo||t[I].trace.hoverinfo){var F=Array.isArray(D)?D:D.split("+");if(-1===F.indexOf("all")&&-1===F.indexOf(i)){z=!1;break}}R&&(z=!1)}var B=f.selectAll("g.axistext").data(z?[0]:[]);B.enter().append("g").classed("axistext",!0),B.exit().remove(),B.each(function(){var e=n.select(this),s=o.ensureSingle(e,"path","",function(t){t.style({"stroke-width":"1px"})}),c=o.ensureSingle(e,"text","",function(t){t.attr("data-notex",1)}),f=d.bgcolor||h.defaultLine,p=d.bordercolor||h.contrast(f),v=h.contrast(f),m={family:d.font.family||g,size:d.font.size||y,color:d.font.color||v};s.style({fill:f,stroke:p}),c.text(M).call(u.font,m).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr("transform","");var T,E,C=c.node().getBoundingClientRect();if("x"===i){var P="top"===b.side?"-":"";c.attr("text-anchor","middle").call(l.positionText,0,"top"===b.side?L-C.bottom-w-k:L-C.top+w+k),T=b._offset+(x.x0+x.x1)/2,E=_._offset+("top"===b.side?0:_._length);var O=C.width/2+k;T<O?(T=O,s.attr("d","M-"+(O-w)+",0L-"+(O-2*w)+","+P+w+"H"+(k+C.width/2)+"v"+P+(2*k+C.height)+"H-"+O+"V"+P+w+"Z")):T>a.width-O?(T=a.width-O,s.attr("d","M"+(O-w)+",0L"+O+","+P+w+"v"+P+(2*k+C.height)+"H-"+O+"V"+P+w+"H"+(O-2*w)+"Z")):s.attr("d","M0,0L"+w+","+P+w+"H"+(k+C.width/2)+"v"+P+(2*k+C.height)+"H-"+(k+C.width/2)+"V"+P+w+"H-"+w+"Z")}else{var z,I,D;"right"===_.side?(z="start",I=1,D="",T=b._offset+b._length):(z="end",I=-1,D="-",T=b._offset),E=_._offset+(x.y0+x.y1)/2,c.attr("text-anchor",z),s.attr("d","M0,0L"+D+w+","+w+"V"+(k+C.height/2)+"h"+D+(2*k+C.width)+"V-"+(k+C.height/2)+"H"+D+w+"V-"+w+"Z");var R,F=C.height/2,B=L-C.top-F,N="clip"+a._uid+"commonlabel"+_._id;if(T<C.width+2*k+w){R="M-"+(w+k)+"-"+F+"h-"+(C.width-k)+"V"+F+"h"+(C.width-k)+"Z";var j=C.width-T+k;l.positionText(c,j,B),"end"===z&&c.selectAll("tspan").each(function(){var t=n.select(this),e=u.tester.append("text").text(t.text()).call(u.font,m),r=e.node().getBoundingClientRect();Math.round(r.width)<Math.round(C.width)&&t.attr("x",j-r.width),e.remove()})}else l.positionText(c,I*(k+w),B),R=null;var V=a._topclips.selectAll("#"+N).data(R?[0]:[]);V.enter().append("clipPath").attr("id",N).append("path"),V.exit().remove(),V.select("path").attr("d",R),u.setClipUrl(c,R?N:null,r)}e.attr("transform","translate("+T+","+E+")"),t=t.filter(function(t){return void 0!==t.zLabelVal||(t[A]||"").split(" ")[0]===S})});var N=f.selectAll("g.hovertext").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||""].join(",")});return N.enter().append("g").classed("hovertext",!0).each(function(){var t=n.select(this);t.append("rect").call(h.fill,h.addOpacity(c,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(u.font,g,y)}),N.exit().remove(),N.each(function(t){var e=n.select(this).attr("transform",""),f="",p="",d=t.bgcolor||t.color,v=h.combine(h.opacity(d)?d:h.defaultLine,c),x=h.combine(h.opacity(t.color)?t.color:h.defaultLine,c),b=t.borderColor||h.contrast(v);void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),f=C(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(p+="x: "+t.xLabel+"<br>"),void 0!==t.yLabel&&(p+="y: "+t.yLabel+"<br>"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(p+=(p?"z: ":"")+t.zLabel)):z&&t[i+"Label"]===M?p=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(p=t.yLabel):p=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(p+=(p?"<br>":"")+t.text),void 0!==t.extraText&&(p+=(p?"<br>":"")+t.extraText),""!==p||t.hovertemplate||(""===f&&e.remove(),p=f);var _=a._d3locale,A=t.hovertemplate||!1,S=t.hovertemplateLabels||t,E=t.eventData[0]||{};A&&(p=(p=o.hovertemplateString(A,S,_,E,t.trace._meta)).replace(T,function(e,r){return f=C(r,t.nameLength),""}));var I=e.select("text.nums").call(u.font,t.fontFamily||g,t.fontSize||y,t.fontColor||b).text(p).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),D=e.select("text.name"),R=0,F=0;if(f&&f!==p){D.call(u.font,t.fontFamily||g,t.fontSize||y,x).text(f).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r);var B=D.node().getBoundingClientRect();R=B.width+2*k,F=B.height+2*k}else D.remove(),e.select("rect").remove();e.select("path").style({fill:v,stroke:b});var N,j,V=I.node().getBoundingClientRect(),U=t.xa._offset+(t.x0+t.x1)/2,q=t.ya._offset+(t.y0+t.y1)/2,H=Math.abs(t.x1-t.x0),G=Math.abs(t.y1-t.y0),Y=V.width+w+k+R;if(t.ty0=L-V.top,t.bx=V.width+2*k,t.by=Math.max(V.height+2*k,F),t.anchor="start",t.txwidth=V.width,t.tx2width=R,t.offset=0,s)t.pos=U,N=q+G/2+Y<=O,j=q-G/2-Y>=0,"top"!==t.idealAlign&&N||!j?N?(q+=G/2,t.anchor="start"):t.anchor="middle":(q-=G/2,t.anchor="end");else if(t.pos=q,N=U+H/2+Y<=P,j=U-H/2-Y>=0,"left"!==t.idealAlign&&N||!j)if(N)U+=H/2,t.anchor="start";else{t.anchor="middle";var W=Y/2,X=U+W-P,Z=U-W;X>0&&(U-=X),Z<0&&(U+=-Z)}else U-=H/2,t.anchor="end";I.attr("text-anchor",t.anchor),R&&D.attr("text-anchor",t.anchor),e.attr("transform","translate("+U+","+q+")"+(s?"rotate("+m+")":""))}),N}function M(t,e){t.each(function(t){var r=n.select(this);if(t.del)return r.remove();var a=r.select("text.nums"),i=t.anchor,o="end"===i?-1:1,s={start:1,end:-1,middle:0}[i],c=s*(w+k),h=c+s*(t.txwidth+k),f=0,p=t.offset;"middle"===i&&(c-=t.tx2width/2,h+=t.txwidth/2+k),e&&(p*=-_,f=t.offset*b),r.select("path").attr("d","middle"===i?"M-"+(t.bx/2+t.tx2width/2)+","+(p-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(o*w+f)+","+(w+p)+"v"+(t.by/2-w)+"h"+o*t.bx+"v-"+t.by+"H"+(o*w+f)+"V"+(p-w)+"Z");var d=c+f,g=p+t.ty0-t.by/2+k,v=t.textAlign||"auto";"auto"!==v&&("left"===v&&"start"!==i?(a.attr("text-anchor","start"),d="middle"===i?-t.bx/2-t.tx2width/2+k:-t.bx-k):"right"===v&&"end"!==i&&(a.attr("text-anchor","end"),d="middle"===i?t.bx/2-t.tx2width/2-k:t.bx+k)),a.call(l.positionText,d,g),t.tx2width&&(r.select("text.name").call(l.positionText,h+s*k+f,p+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,h+(s-1)*t.tx2width/2+f,p-t.by/2-1,t.tx2width,t.by+2))})}function S(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],s=t.cd[r]||{};function l(t){return t||a(t)&&0===t}var c=Array.isArray(r)?function(t,e){var a=o.castOption(i,r,t);return l(a)?a:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var a=c(r,n);l(a)&&(t[e]=a)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var h=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+h+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+h,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var f=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+f+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+f,"y"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&"all"!==d&&(-1===(d=Array.isArray(d)?d:d.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===d.indexOf("y")&&(t.yLabel=void 0),-1===d.indexOf("z")&&(t.zLabel=void 0),-1===d.indexOf("text")&&(t.text=void 0),-1===d.indexOf("name")&&(t.name=void 0)),t}function E(t,e,r){var n,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,f=!!e.hLinePoint,d=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),d||f){var g=h.combine(s.plot_bgcolor,s.paper_bgcolor);if(f){var v,m,y=e.hLinePoint;n=y&&y.xa,"cursor"===(a=y&&y.ya).spikesnap?(v=c.pointerX,m=c.pointerY):(v=n._offset+y.x,m=a._offset+y.y);var x,b,_=i.readability(y.color,g)<1.5?h.contrast(g):y.color,w=a.spikemode,k=a.spikethickness,T=a.spikecolor||_,A=p.getPxPosition(t,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k,stroke:T,"stroke-dasharray":u.dashStyle(a.spikedash,k)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?k:-k),cy:m,r:k,fill:T}).classed("spikeline",!0)}if(d){var E,L,C=e.vLinePoint;n=C&&C.xa,a=C&&C.ya,"cursor"===n.spikesnap?(E=c.pointerX,L=c.pointerY):(E=n._offset+C.x,L=a._offset+C.y);var P,O,z=i.readability(C.color,g)<1.5?h.contrast(g):C.color,I=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=p.getPxPosition(t,n);if(-1!==I.indexOf("toaxis")||-1!==I.indexOf("across")){if(-1!==I.indexOf("toaxis")&&(P=F,O=L),-1!==I.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D,stroke:R,"stroke-dasharray":u.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==I.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function L(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function C(t,e){return l.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":716,"../../lib/events":706,"../../lib/override_cursor":727,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":624,"./helpers":626,d3:164,"fast-isnumeric":227,tinycolor2:535}],628:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a){r("hoverlabel.bgcolor",(a=a||{}).bgcolor),r("hoverlabel.bordercolor",a.bordercolor),r("hoverlabel.namelength",a.namelength),n.coerceFont(r,"hoverlabel.font",a.font),r("hoverlabel.align",a.align)}},{"../../lib":716}],629:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes"),l=t("./hover");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return a.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return a.castOption(t,r,"hoverinfo",function(r){return a.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:l.hover,unhover:i.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=a.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":716,"../dragelement":609,"./attributes":621,"./calc":622,"./click":623,"./constants":624,"./defaults":625,"./helpers":626,"./hover":627,"./layout_attributes":630,"./layout_defaults":631,"./layout_global_defaults":632,d3:164}],630:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../plots/font_attributes")({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":790,"./constants":624}],631:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}var o,s=i("clickmode");"select"===i("dragmode")&&i("selectdirection"),e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n<t.length;n++){var a=t[n],i=a.xaxis+a.yaxis,o=r[i]||{},s=o[a.stackgroup]||{};if("h"!==a.orientation&&"h"!==s.orientation)return!1}return!0}(r,e),o=e._isHoriz?"y":"x"):o="closest",i("hovermode",o)&&(i("hoverdistance"),i("spikedistance"));var l=e._has("mapbox"),c=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((l||c)&&1===u||l&&c&&2===u)&&(e.dragmode="pan")}},{"../../lib":716,"./layout_attributes":630}],632:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./hoverlabel_defaults"),i=t("./layout_attributes");e.exports=function(t,e){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)})}},{"../../lib":716,"./hoverlabel_defaults":628,"./layout_attributes":630}],633:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../lib/regex").counter,i=t("../../plots/domain").attributes,o=t("../../plots/cartesian/constants").idRegex,s=t("../../plot_api/plot_template"),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[a("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:i({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],a=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:a.length?a:void 0}function u(t,e,r,n,a,i){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(a),c=s[0],u=(s[1]-c)/(a-o),h=u*(1-o),f=0;f<a;f++){var p=c+u*f;l[i?a-1-f:f]=[p,p+h]}return l}function h(t,e,r,n,a){var i,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=""}if(Array.isArray(t))for(i=0;i<r;i++)s(i,t[i]);else for(s(0,a),i=1;i<r;i++)s(i,a+(i+1));return o}e.exports={moduleType:"component",name:"grid",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},a=c(e,r,"x"),i=c(e,r,"y");if(t.grid||a||i){var o,h,f=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(a),d=Array.isArray(i),g=p&&a!==r.xaxes&&d&&i!==r.yaxes;f?(o=r.subplots.length,h=r.subplots[0].length):(d&&(o=i.length),p&&(h=a.length));var v=s.newContainer(e,"grid"),m=T("rows",o),y=T("columns",h);if(m*y>1){f||p||d||"independent"===T("pattern")&&(f=!0),v._hasSubplotGrid=f;var x,b,_="top to bottom"===T("roworder"),w=f?.2:.1,k=f?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),v._domains={x:u("x",T,w,x,y),y:u("y",T,k,b,m,_)}}else delete e.grid}function T(t,e){return n.coerce(r,v,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,v=r.columns,m="independent"===r.pattern,y=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(v),w=x[n]||[];for(a=0;a<v;a++)if(m?(s=1===b?"xy":"x"+b+"y"+b,b++):s=w[a],_[a]="",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf("y"),i=s.slice(0,u),o=s.slice(u),void 0!==y[i]&&y[i]!==a||void 0!==y[o]&&y[o]!==n)continue;_[a]=s,y[i]=a,y[o]=n}}}else{var k=c(e,f,"x"),T=c(e,f,"y");r.xaxes=h(k,p.xaxis,v,y,"x"),r.yaxes=h(T,p.yaxis,g,y,"y")}var A=r._anchors={},M="top to bottom"===r.roworder;for(var S in y){var E,L,C,P=S.charAt(0),O=r[P+"side"];if(O.length<8)A[S]="free";else if("x"===P){if("t"===O.charAt(0)===M?(E=0,L=1,C=g):(E=g-1,L=-1,C=-1),d){var z=y[S];for(n=E;n!==C;n+=L)if((s=l[n][z])&&(u=s.indexOf("y"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==C;n+=L)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if("l"===O.charAt(0)?(E=0,L=1,C=v):(E=v-1,L=-1,C=-1),d){var I=y[S];for(n=E;n!==C;n+=L)if((s=l[I][n])&&(u=s.indexOf("y"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==C;n+=L)if(i=r.xaxes[n],-1!==p.cartesian.indexOf(i+S)){A[S]=i;break}}}}}},{"../../lib":716,"../../lib/regex":732,"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/domain":789}],634:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/constants"),a=t("../../plot_api/plot_template").templatedArray;e.exports=a("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},{"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770}],635:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib/to_log_range");e.exports=function(t,e,r,i){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,h=e._id.charAt(0),f=0;f<u.length;f++)if(c="images["+f+"].",(l=u[f])[h+"ref"]===e._id){var p=l[h],d=l["size"+h],g=null,v=null;if(o){g=a(p,e.range);var m=d/Math.pow(10,g)/2;v=2*Math.log(m+Math.sqrt(1+m*m))/Math.LN10}else v=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(v)||(v=null):(g=null,v=null),i(c+h,g),i(c+"size"+h,v)}}},{"../../lib/to_log_range":742,"fast-isnumeric":227}],636:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./attributes");function s(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}var s=i("source");if(!i("visible",!!s))return e;i("layer"),i("xanchor"),i("yanchor"),i("sizex"),i("sizey"),i("sizing"),i("opacity");for(var l={_fullLayout:r},c=["x","y"],u=0;u<2;u++){var h=c[u],f=a.coerceRef(t,e,l,h,"paper");if("paper"!==f)a.getFromId(l,f)._imgIndices.push(e._index);a.coercePosition(e,l,i,f,h,0)}return e}e.exports=function(t,e){i(t,e,{name:"images",handleItemDefaults:s})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":634}],637:[function(t,e,r){"use strict";var n=t("d3"),a=t("../drawing"),i=t("../../plots/cartesian/axes"),o=t("../../constants/xmlns_namespaces");e.exports=function(t){var e,r,s=t._fullLayout,l=[],c={},u=[];for(r=0;r<s.images.length;r++){var h=s.images[r];if(h.visible)if("below"===h.layer&&"paper"!==h.xref&&"paper"!==h.yref){e=h.xref+h.yref;var f=s._plots[e];if(!f){u.push(h);continue}f.mainplot&&(e=f.mainplot.id),c[e]||(c[e]=[]),c[e].push(h)}else"above"===h.layer?l.push(h):u.push(h)}var p={x:{left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-.5},right:{sizing:"xMax",offset:-1}},y:{top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-.5},bottom:{sizing:"YMax",offset:-1}}};function d(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr("xmlns",o.svg),e.source&&"data:"===e.source.slice(0,5))r.attr("xlink:href",e.source),this._imgSrc=e.source;else{var a=new Promise(function(t){var n=new Image;function a(){r.remove(),t()}this.img=n,n.setAttribute("crossOrigin","anonymous"),n.onerror=a,n.onload=function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d").drawImage(this,0,0);var n=e.toDataURL("image/png");r.attr("xlink:href",n),t()},r.on("error",a),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(a)}}function g(e){var r=n.select(this),o=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,h=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,f=u*p.x[e.xanchor].offset,d=h*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,v=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+f,m=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case"fill":g+=" slice";break;case"stretch":g="none"}r.attr({x:v,y:m,width:u,height:h,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:"")+(l?l._id:"");a.setClipUrl(r,y?"clip"+s._uid+y:null,t)}var v=s._imageLowerLayer.selectAll("image").data(u),m=s._imageUpperLayer.selectAll("image").data(l);v.enter().append("image"),m.enter().append("image"),v.exit().remove(),m.exit().remove(),v.each(function(t){d.bind(this)(t),g.bind(this)(t)}),m.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll("image").data(c[e]||[]);b.enter().append("image"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{"../../constants/xmlns_namespaces":693,"../../plots/cartesian/axes":764,"../drawing":612,d3:164}],638:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"images",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("images"),draw:t("./draw"),convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":774,"./attributes":634,"./convert_coords":635,"./defaults":636,"./draw":637}],639:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:a.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},x:{valType:"number",min:-2,max:3,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":790,"../color/attributes":590}],640:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},textGap:40,itemGap:5}},{}],641:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plot_api/plot_template"),o=t("./attributes"),s=t("../../plots/layout_attributes"),l=t("./helpers");e.exports=function(t,e,r){for(var c=t.legend||{},u=0,h=!1,f="normal",p=0;p<r.length;p++){var d=r[p];d.visible&&((d.showlegend||d._dfltShowLegend)&&(u++,d.showlegend&&(h=!0,(n.traceIs(d,"pie-like")||!0===d._input.showlegend)&&u++)),(n.traceIs(d,"bar")&&"stack"===e.barmode||-1!==["tonextx","tonexty"].indexOf(d.fill))&&(f=l.isGrouped({traceorder:f})?"grouped+reversed":"reversed"),void 0!==d.legendgroup&&""!==d.legendgroup&&(f=l.isReversed({traceorder:f})?"reversed+grouped":"grouped"))}var g=a.coerce(t,e,s,"showlegend",h&&u>1);if(!1!==g||c.uirevision){var v,m,y,x=i.newContainer(e,"legend");if(b("uirevision",e.uirevision),!1!==g)b("bgcolor",e.paper_bgcolor),b("bordercolor"),b("borderwidth"),a.coerceFont(b,"font",e.font),"h"===b("orientation")?(v=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(m=1.1,y="bottom"):(m=-.1,y="top")):(v=1.02,m=1,y="auto"),b("traceorder",f),l.isGrouped(e.legend)&&b("tracegroupgap"),b("itemsizing"),b("itemclick"),b("itemdoubleclick"),b("x",v),b("xanchor"),b("y",m),b("yanchor",y),b("valign"),a.noneOrAll(c,x,["x","y"])}function b(t,e){return a.coerce(c,x,o,t,e)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/layout_attributes":816,"../../registry":845,"./attributes":639,"./helpers":645}],642:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),h=t("../../lib/svg_text_utils"),f=t("./handle_click"),p=t("./constants"),d=t("../../constants/alignment"),g=d.LINE_SPACING,v=d.FROM_TL,m=d.FROM_BR,y=t("./get_legend_data"),x=t("./style"),b=t("./helpers");function _(t,e,r,n,a){var i=r.data()[0][0].trace,l={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(l.group=i._group),o.traceIs(i,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout(function(){f(r,t,n)},t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&f(r,t,n)}}function w(t,e){var r=t.data()[0][0],n=e._fullLayout,i=n.legend,s=r.trace,l=o.traceIs(s,"pie-like"),u=s.index,f=e._context.edits.legendText&&!l,d=i._maxNameLength,v=l?r.label:s.name;s._meta&&(v=a.templateString(v,s._meta));var m=a.ensureSingle(t,"text","legendtext");function y(r){h.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,a,i=t.select("g[class*=math-group]"),o=i.node(),s=e._fullLayout.legend.font.size*g;if(o){var l=c.bBox(o);n=l.height,a=l.width,c.setTranslate(i,0,n/4)}else{var u=t.select(".legendtext"),f=h.lineCount(u),d=u.node();n=s*f,a=d?c.bBox(d).width:0;var v=s*(.3+(1-f)/2);h.positionText(u,p.textGap,v)}r.lineHeight=s,r.height=Math.max(n,16)+3,r.width=a}(t,e)})}m.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,n.legend.font).text(f?k(v,d):v),h.positionText(m,p.textGap,0),f?m.call(h.makeEditable,{gd:e,text:v}).call(y).on("edit",function(t){this.text(k(t,d)).call(y);var n=r.trace._fullInput||{},i={};if(o.hasTransform(n,"groupby")){var s=o.getTransformIndices(n,"groupby"),l=s[s.length-1],c=a.keyedContainer(n,"transforms["+l+"].styles","target","value.name");c.set(r.trace._group,t),i=c.constructUpdate()}else i.name=t;return o.call("_guiRestyle",e,i,u)}):y(m)}function k(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function T(t,e){var r,i=e._context.doubleClickDelay,o=1,s=a.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});s.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTime<i?o+=1:(o=1,e._legendMouseDownTime=r)}),s.on("mouseup",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>i&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})}function A(t){return a.isRightAnchor(t)?"right":a.isCenterAnchor(t)?"center":"left"}function M(t){return a.isBottomAnchor(t)?"bottom":a.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,h=e.showlegend&&y(t.calcdata,s),f=e.hiddenlabels||[];if(!e.showlegend||!h.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),i.autoMargin(t,"legend");var d=a.ensureSingle(e._infolayer,"g","legend",function(t){t.attr("pointer-events","all")}),g=a.ensureSingleById(e._topdefs,"clipPath",r,function(t){t.append("rect")}),k=a.ensureSingle(d,"rect","bg",function(t){t.attr("shape-rendering","crispEdges")});k.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style("stroke-width",s.borderwidth+"px");var S=a.ensureSingle(d,"g","scrollbox"),E=a.ensureSingle(d,"rect","scrollbar",function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)}),L=S.selectAll("g.groups").data(h);L.enter().append("g").attr("class","groups"),L.exit().remove();var C=L.selectAll("g.traces").data(a.identity);C.enter().append("g").attr("class","traces"),C.exit().remove(),C.style("opacity",function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==f.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1}).each(function(){n.select(this).call(w,t)}).call(x,t).each(function(){n.select(this).call(T,t)}),a.syncOrAsync([i.previousPromises,function(){return function(t,e,r){var a=t._fullLayout,i=a.legend,o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,h=2*u,f=p.textGap,d=p.itemGap,g=2*(u+d),v=M(i),m=i.y<0||0===i.y&&"top"===v,y=i.y>1||1===i.y&&"bottom"===v;i._maxHeight=Math.max(m||y?a.height/2:o.h,30);var x=0;if(i._width=0,i._height=0,s)r.each(function(t){var e=t[0].height;c.setTranslate(this,u,d+u+i._height+e/2),i._height+=e,i._width=Math.max(i._width,t[0].width)}),x=f+i._width,i._width+=d+f+h,i._height+=g,l&&(e.each(function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)}),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var _=A(i),w=i.x<0||0===i.x&&"right"===_,k=i.x>1||1===i.x&&"left"===_,T=y||m,S=a.width/2;i._maxWidth=Math.max(w?T&&"left"===_?o.l+o.w:S:k?T&&"right"===_?o.r+o.w:S:o.w,2*f);var E=0,L=0;r.each(function(t){var e=t[0].width+f;E=Math.max(E,e),L+=e}),x=null;var C=0;if(l){var P=0,O=0,z=0;e.each(function(){var t=0,e=0;n.select(this).selectAll("g.traces").each(function(r){var n=r[0].height;c.setTranslate(this,0,d+u+n/2+e),e+=n,t=Math.max(t,f+r[0].width)}),P=Math.max(P,e);var r=t+d;r+u+O>i._maxWidth&&(C=Math.max(C,O),O=0,z+=P+i.tracegroupgap,P=e),c.setTranslate(this,O,z),O+=r}),i._width=Math.max(C,O)+u,i._height=z+P+g}else{var I=r.size(),D=L+h+(I-1)*d<i._maxWidth,R=0,F=0,B=0,N=0;r.each(function(t){var e=t[0].height,r=f+t[0].width,n=(D?r:E)+d;n+u+F>i._maxWidth&&(C=Math.max(C,N),F=0,B+=R,i._height+=R,R=0),c.setTranslate(this,u+F,d+u+e/2+B),N=F+r+d,F+=n,R=Math.max(R,e)}),D?(i._width=F+h,i._height=R+g):(i._width=Math.max(C,N)+h,i._height+=R+g)}}i._width=Math.ceil(i._width),i._height=Math.ceil(i._height),i._effHeight=Math.min(i._height,i._maxHeight);var j=t._context.edits,V=j.legendText||j.legendPosition;r.each(function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=V?f:x||f+t[0].width;s||(a+=d/2),c.setRect(e,0,-r/2,a,r)})}(t,L,C)},function(){if(!function(t){var e=t._fullLayout.legend,r=A(e),n=M(e);return i.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*m[r],b:e._effHeight*m[n],t:e._effHeight*v[n]})}(t)){var u,h,f,y,x=e._size,b=s.borderwidth,w=x.l+x.w*s.x-v[A(s)]*s._width,T=x.t+x.h*(1-s.y)-v[M(s)]*s._effHeight;if(e.margin.autoexpand){var L=w,C=T;w=a.constrain(w,0,e.width-s._width),T=a.constrain(T,0,e.height-s._effHeight),w!==L&&a.log("Constrain legend.x to make legend fit inside graph"),T!==C&&a.log("Constrain legend.y to make legend fit inside graph")}if(c.setTranslate(d,w,T),E.on(".drag",null),d.on("wheel",null),s._height<=s._maxHeight||t._context.staticPlot)k.attr({width:s._width-b,height:s._effHeight-b,x:b/2,y:b/2}),c.setTranslate(S,0,0),g.select("rect").attr({width:s._width-2*b,height:s._effHeight-2*b,x:b,y:b}),c.setClipUrl(S,r,t),c.setRect(E,0,0,0,0),delete s._scrollY;else{var P,O,z,I=Math.max(p.scrollBarMinHeight,s._effHeight*s._effHeight/s._height),D=s._effHeight-I-2*p.scrollBarMargin,R=s._height-s._effHeight,F=D/R,B=Math.min(s._scrollY||0,R);k.attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-b,x:b/2,y:b/2}),g.select("rect").attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-2*b,x:b,y:b+B}),c.setClipUrl(S,r,t),V(B,I,F),d.on("wheel",function(){V(B=a.constrain(s._scrollY+n.event.deltaY/D*R,0,R),I,F),0!==B&&B!==R&&n.event.preventDefault()});var N=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;P="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,z=B}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,V(B=function(t,e,r){var n=(r-e)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});E.call(N);var j=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(P=t.changedTouches[0].clientY,z=B)}).on("drag",function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(O=t.changedTouches[0].clientY,V(B=function(t,e,r){var n=(e-r)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});S.call(j)}if(t._context.edits.legendPosition)d.classed("cursor-move",!0),l.init({element:d.node(),gd:t,prepFn:function(){var t=c.getTranslate(d);f=t.x,y=t.y},moveFn:function(t,e){var r=f+t,n=y+e;c.setTranslate(d,r,n),u=l.align(r,0,x.l,x.l+x.w,s.xanchor),h=l.align(n,0,x.t+x.h,x.t,s.yanchor)},doneFn:function(){void 0!==u&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":u,"legend.y":h})},clickFn:function(r,n){var a=e._infolayer.selectAll("g.traces").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});a.size()>0&&_(t,d,a,r,n)}})}function V(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(S,0,-e),c.setRect(E,s._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),g.select("rect").attr("y",b+e)}}],t)}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/events":706,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":640,"./get_legend_data":643,"./handle_click":644,"./helpers":645,"./style":647,d3:164}],643:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./helpers");e.exports=function(t,e){var r,i,o={},s=[],l=!1,c={},u=0,h=0;function f(t,r){if(""!==t&&a.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var p=t[r],d=p[0],g=d.trace,v=g.legendgroup;if(g.visible&&g.showlegend)if(n.traceIs(g,"pie-like"))for(c[v]||(c[v]={}),i=0;i<p.length;i++){var m=p[i].label;c[v][m]||(f(v,{label:m,color:p[i].color,i:p[i].i,trace:g,pts:p[i].pts}),c[v][m]=!0,h=Math.max(h,(m||"").length))}else f(v,d),h=Math.max(h,(g.name||"").length)}if(!s.length)return[];var y,x,b=s.length;if(l&&a.isGrouped(e))for(x=new Array(b),r=0;r<b;r++)y=o[s[r]],x[r]=a.isReversed(e)?y.reverse():y;else{for(x=[new Array(b)],r=0;r<b;r++)y=o[s[r]][0],x[0][a.isReversed(e)?b-r-1:r]=y;b=1}return e._lgroupsLength=b,e._maxNameLength=h,x}},{"../../registry":845,"./helpers":645}],644:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=!0;e.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,c=o.legend.itemdoubleclick;if(1===r&&"toggle"===l&&"toggleothers"===c&&i&&e.data&&e._context.showTips?(n.notifier(n._(e,"Double-click on legend to isolate one trace"),"long"),i=!1):i=!1,1===r?s=l:2===r&&(s=c),s){var u,h,f,p,d,g=o.hiddenlabels?o.hiddenlabels.slice():[],v=t.data()[0][0],m=e._fullData,y=v.trace,x=y.legendgroup,b={},_=[],w=[],k=[];if(a.traceIs(y,"pie-like")){var T=v.label,A=g.indexOf(T);"toggle"===s?-1===A?g.push(T):g.splice(A,1):"toggleothers"===s&&(g=[],e.calcdata[0].forEach(function(t){T!==t.label&&g.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===g.length&&-1===A&&(g=[])),a.call("_guiRelayout",e,"hiddenlabels",g)}else{var M,S=x&&x.length,E=[];if(S)for(u=0;u<m.length;u++)(M=m[u]).visible&&M.legendgroup===x&&E.push(u);if("toggle"===s){var L;switch(y.visible){case!0:L="legendonly";break;case!1:L=!1;break;case"legendonly":L=!0}if(S)for(u=0;u<m.length;u++)!1!==m[u].visible&&m[u].legendgroup===x&&R(m[u],L);else R(y,L)}else if("toggleothers"===s){var C,P,O=!0;for(u=0;u<m.length;u++)if(!(m[u]===y)&&!(C=S&&m[u].legendgroup===x)&&!0===m[u].visible&&!a.traceIs(m[u],"notLegendIsolatable")){O=!1;break}for(u=0;u<m.length;u++)if(!1!==m[u].visible&&!a.traceIs(m[u],"notLegendIsolatable"))switch(y.visible){case"legendonly":R(m[u],!0);break;case!0:P=!!O||"legendonly",C=m[u]===y||S&&m[u].legendgroup===x,R(m[u],!!C||P)}}for(u=0;u<w.length;u++)if(f=w[u]){var z=f.constructUpdate(),I=Object.keys(z);for(h=0;h<I.length;h++)p=I[h],(b[p]=b[p]||[])[k[u]]=z[p]}for(d=Object.keys(b),u=0;u<d.length;u++)for(p=d[u],h=0;h<_.length;h++)b[p].hasOwnProperty(h)||(b[p][h]=void 0);a.call("_guiRestyle",e,b,_)}}}function D(t,e,r){var n=_.indexOf(t),a=b[e];return a||(a=b[e]=[]),-1===_.indexOf(t)&&(_.push(t),n=_.length-1),a[n]=r,n}function R(t,e){var r=t._fullInput;if(a.hasTransform(r,"groupby")){var i=w[r.index];if(!i){var o=a.getTransformIndices(r,"groupby"),s=o[o.length-1];i=n.keyedContainer(r,"transforms["+s+"].styles","target","value.visible"),w[r.index]=i}var l=i.get(t._group);void 0===l&&(l=!0),!1!==l&&i.set(t._group,e),k[r.index]=D(r.index,"visible",!1!==r.visible)}else{var c=!1!==r.visible&&e;D(r.index,"visible",c)}}}},{"../../lib":716,"../../registry":845}],645:[function(t,e,r){"use strict";r.isGrouped=function(t){return-1!==(t.traceorder||"").indexOf("grouped")},r.isVertical=function(t){return"h"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||"").indexOf("reversed")}},{}],646:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"legend",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw"),style:t("./style")}},{"./attributes":639,"./defaults":641,"./draw":642,"./style":647}],647:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../drawing"),s=t("../color"),l=t("../colorscale/helpers").extractOpts,c=t("../../traces/scatter/subtypes"),u=t("../../traces/pie/style_one"),h=t("../../traces/pie/helpers").castOption,f=12,p=5,d=2,g=10,v=5;function m(t){return t?"horizontal":"horizontalreversed"}e.exports=function(t,e){var r=e._fullLayout.legend,y="constant"===r.itemsizing,x=function(t,e,r,n){var a;if(t+1)a=t;else{if(!(e&&e.width>0))return 0;a=e.width}return y?n:Math.min(a,r)};function b(t,e,r){var i=t[0].trace,o=i.marker||{},l=o.line||{},c=r?i.visible&&i.type===r:a.traceIs(i,"bar"),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(c?[t]:[]);u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),u.exit().remove(),u.each(function(t){var e=n.select(this),r=t[0],a=x(r.mlw,o.line,v,d);e.style("stroke-width",a+"px").call(s.fill,r.mc||o.color),a&&s.stroke(e,r.mlc||l.color)})}function _(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:a.traceIs(s,r),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),c.exit().remove(),c.size()){var f=(s.marker||{}).line,p=x(h(f.width,o.pts),f,v,d),g=i.minExtend(s,{marker:{line:{width:p}}});g.marker.line.color=f.color;var m=i.minExtend(o,{trace:g});u(c,m,g)}}t.each(function(t){var e=n.select(this),a=i.ensureSingle(e,"g","layers");a.style("opacity",t[0].trace.opacity);var o=r.valign,s=t[0].lineHeight,l=t[0].height;if("middle"!==o&&s&&l){var c={top:1,bottom:-1}[o]*(.5*(s-l+3));a.attr("transform","translate(0,"+c+")")}else a.attr("transform",null);a.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),a.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var u=a.selectAll("g.legendsymbols").data([t]);u.enter().append("g").classed("legendsymbols",!0),u.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)}).each(function(t){var e=t[0].trace,r=[];e.visible&&"waterfall"===e.type&&(r=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var a=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(r);a.enter().append("path").classed("legendwaterfall",!0).attr("transform","translate(20,0)").style("stroke-miterlimit",1),a.exit().remove(),a.each(function(t){var r=n.select(this),a=e[t[0]].marker,i=x(void 0,a.line,v,d);r.attr("d",t[1]).style("stroke-width",i+"px").call(s.fill,a.color),i&&r.call(s.stroke,a.line.color)})}).each(function(t){b(t,this,"funnel")}).each(function(t){b(t,this)}).each(function(t){var r=t[0].trace,l=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&a.traceIs(r,"box-violin")?[t]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),l.exit().remove(),l.each(function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==s.opacity(r.fillcolor)||0!==s.opacity((r.line||{}).color)){var a=x(void 0,r.line,v,d);t.style("stroke-width",a+"px").call(s.fill,r.fillcolor),a&&s.stroke(t,r.line.color)}else{var c=i.minExtend(r,{marker:{size:y?f:i.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,e)}})}).each(function(t){_(t,this,"funnelarea")}).each(function(t){_(t,this,"pie")}).each(function(t){var r,a,s=t[0],u=s.trace,h=u.visible&&u.fill&&"none"!==u.fill,f=c.hasLines(u),d=u.contours,v=!1,y=!1,b=l(u),_=b.colorscale,w=b.reversescale;if(d){var k=d.coloring;"lines"===k?v=!0:f="none"===k||"heatmap"===k||d.showlines,"constraint"===d.type?h="="!==d._operation:"fill"!==k&&"heatmap"!==k||(y=!0)}var T=c.hasMarkers(u)||c.hasText(u),A=h||y,M=f||v,S=T||!A?"M5,0":M?"M5,-2":"M5,-3",E=n.select(this),L=E.select(".legendfill").selectAll("path").data(h||y?[t]:[]);if(L.enter().append("path").classed("js-fill",!0),L.exit().remove(),L.attr("d",S+"h30v6h-30z").call(h?o.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+u.uid;o.gradient(t,e,r,m(w),_,"fill")}}),f||v){var C=x(void 0,u.line,g,p);a=i.minExtend(u,{line:{width:C}}),r=[i.minExtend(s,{trace:a})]}var P=E.select(".legendlines").selectAll("path").data(f||v?[r]:[]);P.enter().append("path").classed("js-line",!0),P.exit().remove(),P.attr("d",S+(v?"l30,0.0001":"h30")).call(f?o.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+u.uid;o.lineGroupStyle(t),o.gradient(t,e,r,m(w),_,"stroke")}})}).each(function(t){var r,a,s=t[0],l=s.trace,u=c.hasMarkers(l),h=c.hasText(l),g=c.hasLines(l);function v(t,e,r,n){var a=i.nestedProperty(l,t).get(),o=i.isArrayOrTypedArray(a)&&e?e(a):a;if(y&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function m(t){return t[0]}if(u||h||g){var x={},b={};if(u){x.mc=v("marker.color",m),x.mx=v("marker.symbol",m),x.mo=v("marker.opacity",i.mean,[.2,1]),x.mlc=v("marker.line.color",m),x.mlw=v("marker.line.width",i.mean,[0,5],d),b.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var _=v("marker.size",i.mean,[2,16],f);x.ms=_,b.marker.size=_}g&&(b.line={width:v("line.width",m,[0,10],p)}),h&&(x.tx="Aa",x.tp=v("textposition",m),x.ts=10,x.tc=v("textfont.color",m),x.tf=v("textfont.family",m)),r=[i.minExtend(s,x)],(a=i.minExtend(l,b)).selectedpoints=null,a.texttemplate=null}var w=n.select(this).select("g.legendpoints"),k=w.selectAll("path.scatterpts").data(u?r:[]);k.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),k.exit().remove(),k.call(o.pointStyle,a,e),u&&(r[0].mrc=3);var T=w.selectAll("g.pointtext").data(h?r:[]);T.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),T.exit().remove(),T.selectAll("text").call(o.textPointStyle,a,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],o=x(void 0,i.line,v,d);a.style("stroke-width",o+"px").call(s.fill,i.fillcolor),o&&s.stroke(a,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],l=x(void 0,i.line,v,d);a.style("fill","none").call(o.dashLine,i.line.dash,l),l&&s.stroke(a,i.line.color)})})}},{"../../lib":716,"../../registry":845,"../../traces/pie/helpers":1097,"../../traces/pie/style_one":1103,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale/helpers":602,"../drawing":612,d3:164}],648:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/plots"),i=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../fonts/ploticon"),l=o._,c=e.exports={};function u(t,e){var r,a,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},h=i.list(t,null,!0),f=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,v=(1-d)/2;for(a=0;a<h.length;a++)if(!(r=h[a]).fixedrange)if(p=r._name,"auto"===l)u[p+".autorange"]=!0;else if("reset"===l){if(void 0===r._rangeInitial)u[p+".autorange"]=!0;else{var m=r._rangeInitial.slice();u[p+".range[0]"]=m[0],u[p+".range[1]"]=m[1]}void 0!==r._showSpikeInitial&&(u[p+".showspikes"]=r._showSpikeInitial,"on"!==f||r._showSpikeInitial||(f="off"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+v*y[1],g*y[1]+v*y[0]];u[p+".range[0]"]=r.l2r(x[0]),u[p+".range[1]"]=r.l2r(x[1])}}else"hovermode"!==s||"x"!==l&&"y"!==l||(l=c._isHoriz?"y":"x",o.setAttribute("data-val",l)),u[s]=l;c._cartesianSpikesEnabled=f,n.call("_guiRelayout",t,u)}function h(t,e){for(var r=e.currentTarget,a=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,o=t._fullLayout._subplots.gl3d,s={},l=a.split("."),c=0;c<o.length;c++)s[o[c]+"."+l[1]]=i;var u="pan"===i?i:"zoom";s.dragmode=u,n.call("_guiRelayout",t,s)}function f(t,e){for(var r=e.currentTarget.getAttribute("data-attr"),a=t._fullLayout,i=a._subplots.gl3d||[],o={},s=0;s<i.length;s++){var l,c=i[s],u=c+".camera",h=c+".aspectratio",f=a[c]._scene;"resetLastSave"===r?(o[u+".up"]=f.viewInitial.up,o[u+".eye"]=f.viewInitial.eye,o[u+".center"]=f.viewInitial.center,l=!0):"resetDefault"===r&&(o[u+".up"]=null,o[u+".eye"]=null,o[u+".center"]=null,l=!0),l&&(o[h+".x"]=f.viewInitial.aspectratio.x,o[h+".y"]=f.viewInitial.aspectratio.y,o[h+".z"]=f.viewInitial.aspectratio.z)}n.call("_guiRelayout",t,o)}function p(t,e){var r=e.currentTarget,n=r._previousVal,a=t._fullLayout,i=a._subplots.gl3d||[],o=["xaxis","yaxis","zaxis"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var c=0;c<i.length;c++){var u=i[c],h=a[u],f=u+".hovermode";s[f]=h.hovermode,l[f]=!1;for(var p=0;p<3;p++){var d=o[p],g=u+"."+d+".showspikes";l[g]=!1,s[g]=h[d].showspikes}}r._previousVal=s}return l}function d(t,e){for(var r=e.currentTarget,a=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,o=t._fullLayout,s=o._subplots.geo,l=0;l<s.length;l++){var c=s[l],u=o[c];if("zoom"===a){var h=u.projection.scale,f="in"===i?2*h:.5*h;n.call("_guiRelayout",t,c+".projection.scale",f)}else"reset"===a&&m(t,"geo")}}function g(t){var e=t._fullLayout;return!e.hovermode&&(e._has("cartesian")?e._isHoriz?"y":"x":"closest")}function v(t){var e=g(t);n.call("_guiRelayout",t,"hovermode",e)}function m(t,e){for(var r=t._fullLayout,a=r._subplots[e]||[],i={},o=0;o<a.length;o++)for(var s=a[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var h=c[u];i[s+"."+h]=l[h]}n.call("_guiRelayout",t,i)}c.toImage={name:"toImage",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||"png";return l(t,"png"===e?"Download plot as a png":"Download plot")},icon:s.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||"png"};o.notifier(l(t,"Taking snapshot - this may take a few seconds"),"long"),"svg"!==r.format&&o.isIE()&&(o.notifier(l(t,"IE only supports svg.  Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(t){t in e&&(r[t]=e[t])}),n.call("downloadImage",t,r).then(function(e){o.notifier(l(t,"Snapshot succeeded")+" - "+e,"long")}).catch(function(){o.notifier(l(t,"Sorry, there was a problem downloading your snapshot!"),"long")})}},c.sendDataToCloud={name:"sendDataToCloud",title:function(t){return l(t,"Edit in Chart Studio")},icon:s.disk,click:function(t){a.sendDataToCloud(t)}},c.editInChartStudio={name:"editInChartStudio",title:function(t){return l(t,"Edit in Chart Studio")},icon:s.pencil,click:function(t){a.sendDataToCloud(t)}},c.zoom2d={name:"zoom2d",title:function(t){return l(t,"Zoom")},attr:"dragmode",val:"zoom",icon:s.zoombox,click:u},c.pan2d={name:"pan2d",title:function(t){return l(t,"Pan")},attr:"dragmode",val:"pan",icon:s.pan,click:u},c.select2d={name:"select2d",title:function(t){return l(t,"Box Select")},attr:"dragmode",val:"select",icon:s.selectbox,click:u},c.lasso2d={name:"lasso2d",title:function(t){return l(t,"Lasso Select")},attr:"dragmode",val:"lasso",icon:s.lasso,click:u},c.zoomIn2d={name:"zoomIn2d",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:u},c.zoomOut2d={name:"zoomOut2d",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:u},c.autoScale2d={name:"autoScale2d",title:function(t){return l(t,"Autoscale")},attr:"zoom",val:"auto",icon:s.autoscale,click:u},c.resetScale2d={name:"resetScale2d",title:function(t){return l(t,"Reset axes")},attr:"zoom",val:"reset",icon:s.home,click:u},c.hoverClosestCartesian={name:"hoverClosestCartesian",title:function(t){return l(t,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:u},c.hoverCompareCartesian={name:"hoverCompareCartesian",title:function(t){return l(t,"Compare data on hover")},attr:"hovermode",val:function(t){return t._fullLayout._isHoriz?"y":"x"},icon:s.tooltip_compare,gravity:"ne",click:u},c.zoom3d={name:"zoom3d",title:function(t){return l(t,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:s.zoombox,click:h},c.pan3d={name:"pan3d",title:function(t){return l(t,"Pan")},attr:"scene.dragmode",val:"pan",icon:s.pan,click:h},c.orbitRotation={name:"orbitRotation",title:function(t){return l(t,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:s["3d_rotate"],click:h},c.tableRotation={name:"tableRotation",title:function(t){return l(t,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:s["z-axis"],click:h},c.resetCameraDefault3d={name:"resetCameraDefault3d",title:function(t){return l(t,"Reset camera to default")},attr:"resetDefault",icon:s.home,click:f},c.resetCameraLastSave3d={name:"resetCameraLastSave3d",title:function(t){return l(t,"Reset camera to last save")},attr:"resetLastSave",icon:s.movie,click:f},c.hoverClosest3d={name:"hoverClosest3d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:function(t,e){var r=p(t,e);n.call("_guiRelayout",t,r)}},c.zoomInGeo={name:"zoomInGeo",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:"zoomOutGeo",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:d},c.resetGeo={name:"resetGeo",title:function(t){return l(t,"Reset")},attr:"reset",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:"hoverClosestGeo",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:v},c.hoverClosestGl2d={name:"hoverClosestGl2d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:v},c.hoverClosestPie={name:"hoverClosestPie",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:v},c.resetViewSankey={name:"resetSankeyGroup",title:function(t){return l(t,"Reset view")},icon:s.home,click:function(t){for(var e={"node.groups":[],"node.x":[],"node.y":[]},r=0;r<t._fullData.length;r++){var a=t._fullData[r]._viewInitial;e["node.groups"].push(a.node.groups.slice()),e["node.x"].push(a.node.x.slice()),e["node.y"].push(a.node.y.slice())}n.call("restyle",t,e)}},c.toggleHover={name:"toggleHover",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:function(t,e){var r=p(t,e);r.hovermode=g(t),n.call("_guiRelayout",t,r)}},c.resetViews={name:"resetViews",title:function(t){return l(t,"Reset views")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),u(t,e),r.setAttribute("data-attr","resetLastSave"),f(t,e),m(t,"geo"),m(t,"mapbox")}},c.toggleSpikelines={name:"toggleSpikelines",title:function(t){return l(t,"Toggle Spike Lines")},icon:s.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled="on"===r?"off":"on",n.call("_guiRelayout",t,function(t){for(var e="on"===t._fullLayout._cartesianSpikesEnabled,r=i.list(t,null,!0),n={},a=0;a<r.length;a++){var o=r[a];n[o._name+".showspikes"]=!!e||o._showSpikeInitial}return n}(t))}},c.resetViewMapbox={name:"resetViewMapbox",title:function(t){return l(t,"Reset view")},attr:"reset",icon:s.home,click:function(t){m(t,"mapbox")}}},{"../../fonts/ploticon":696,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845}],649:[function(t,e,r){"use strict";r.manage=t("./manage")},{"./manage":650}],650:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),a=t("../../traces/scatter/subtypes"),i=t("../../registry"),o=t("./modebar"),s=t("./buttons");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var a=r[n];if("string"==typeof a){if(void 0===s[a])throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "));t[e][n]=s[a]}}return t}(u):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,o=t._context,l=o.modeBarButtonsToRemove,c=o.modeBarButtonsToAdd,u=e._has("cartesian"),h=e._has("gl3d"),f=e._has("geo"),p=e._has("pie"),d=e._has("funnelarea"),g=e._has("gl2d"),v=e._has("ternary"),m=e._has("mapbox"),y=e._has("polar"),x=e._has("sankey"),b=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),_=[];function w(t){if(t.length){for(var e=[],r=0;r<t.length;r++){var n=t[r];-1===l.indexOf(n)&&e.push(s[n])}_.push(e)}}var k=["toImage"];o.showEditInChartStudio?k.push("editInChartStudio"):o.showSendToCloud&&k.push("sendDataToCloud");w(k);var T=[],A=[],M=[],S=[];(u||g||p||d||v)+f+h+m+y>1?(A=["toggleHover"],M=["resetViews"]):f?(T=["zoomInGeo","zoomOutGeo"],A=["hoverClosestGeo"],M=["resetGeo"]):h?(A=["hoverClosest3d"],M=["resetCameraDefault3d","resetCameraLastSave3d"]):m?(A=["toggleHover"],M=["resetViewMapbox"]):g?A=["hoverClosestGl2d"]:p?A=["hoverClosestPie"]:x?(A=["hoverClosestCartesian","hoverCompareCartesian"],M=["resetViewSankey"]):A=["toggleHover"];u&&(A=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e<t.length;e++)if(!i.traceIs(t[e],"noHover"))return!1;return!0})(r)&&(A=[]);!u&&!g||b||(T=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==M[0]&&(M=["resetScale2d"]));h?S=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||g)&&!b||v?S=["zoom2d","pan2d"]:m||f?S=["pan2d"]:y&&(S=["zoom2d"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(i.traceIs(n,"scatter-like")?(a.hasMarkers(n)||a.hasText(n))&&(e=!0):i.traceIs(n,"box-violin")&&"all"!==n.boxpoints&&"all"!==n.points||(e=!0))}return e})(r)&&S.push("select2d","lasso2d");return w(S),w(T.concat(M)),w(A),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(_,c)}(t),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{"../../plots/cartesian/axis_ids":767,"../../registry":845,"../../traces/scatter/subtypes":1142,"./buttons":648,"./modebar":651}],651:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../fonts/ploticon"),s=new DOMParser;function l(t){this.container=t.container,this.element=document.createElement("div"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var c=l.prototype;c.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,a="modebar-"+n._uid;this.element.setAttribute("id",a),this._uid=a,this.element.className="modebar","hover"===r.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===n.modebar.orientation&&(this.element.className+=" vertical",e=e.reverse());var o=n.modebar,s="hover"===r.displayModeBar?".js-plotly-plot .plotly:hover ":"";i.deleteRelatedStyleRule(a),i.addRelatedStyleRule(a,s+"#"+a+" .modebar-group","background-color: "+o.bgcolor),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn .icon path","fill: "+o.color),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn:hover .icon path","fill: "+o.activecolor),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn.active .icon path","fill: "+o.activecolor);var l=!this.hasButtons(e),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var h=this.getLogo();r.watermark&&(h.className=h.className+" watermark"),"v"===n.modebar.orientation?this.element.insertBefore(h,this.element.childNodes[0]):this.element.appendChild(h),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==e.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");e.buttonsNames.push(n);var a=e.createButton(t);e.buttonElements.push(a),r.appendChild(a)}),e.element.appendChild(r)})},c.createGroup=function(){var t=document.createElement("div");return t.className="modebar-group",t},c.createButton=function(t){var e=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var a=t.title;void 0===a?a=t.name:"function"==typeof a&&(a=a(this.graphInfo)),(a||0===a)&&r.setAttribute("data-title",a),void 0!==t.attr&&r.setAttribute("data-attr",t.attr);var i=t.val;if(void 0!==i&&("function"==typeof i&&(i=i(this.graphInfo)),r.setAttribute("data-val",i)),"function"!=typeof t.click)throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute("data-toggle",t.toggle||!1),t.toggle&&n.select(r).classed("active",!0);var s=t.icon;return"function"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute("data-gravity",t.gravity||"n"),r},c.createIcon=function(t){var e,r=a(t.height)?Number(t.height):t.ascent-t.descent,n="http://www.w3.org/2000/svg";if(t.path){(e=document.createElementNS(n,"svg")).setAttribute("viewBox",[0,0,t.width,r].join(" ")),e.setAttribute("class","icon");var i=document.createElementNS(n,"path");i.setAttribute("d",t.path),t.transform?i.setAttribute("transform",t.transform):void 0!==t.ascent&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+t.ascent+")"),e.appendChild(i)}t.svg&&(e=s.parseFromString(t.svg,"application/xml").childNodes[0]);return e.setAttribute("height","1em"),e.setAttribute("width","1em"),e},c.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute("data-attr"):null;this.buttonElements.forEach(function(t){var a=t.getAttribute("data-val")||!0,o=t.getAttribute("data-attr"),s="true"===t.getAttribute("data-toggle"),l=n.select(t);if(s)o===r&&l.classed("active",!l.classed("active"));else{var c=null===o?o:i.nestedProperty(e,o).get();l.classed("active",c===a)}})},c.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},c.getLogo=function(){var t=this.createGroup(),e=document.createElement("a");return e.href="https://plot.ly/",e.target="_blank",e.setAttribute("data-title",i._(this.graphInfo,"Produced with Plotly")),e.className="modebar-btn plotlyjsicon modebar-btn--logo",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){i.removeElement(this.container.querySelector(".modebar")),i.deleteRelatedStyleRule(this._uid)},e.exports=function(t,e){var r=t._fullLayout,a=new l({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(a.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),a}},{"../../fonts/ploticon":696,"../../lib":716,d3:164,"fast-isnumeric":227}],652:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=(0,t("../../plot_api/plot_template").templatedArray)("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});e.exports={visible:{valType:"boolean",editType:"plot"},buttons:i,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:n({editType:"plot"}),bgcolor:{valType:"color",dflt:a.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:a.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},{"../../plot_api/plot_template":754,"../../plots/font_attributes":790,"../color/attributes":590}],653:[function(t,e,r){"use strict";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],654:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color"),i=t("../../plot_api/plot_template"),o=t("../../plots/array_container_defaults"),s=t("./attributes"),l=t("./constants");function c(t,e,r,a){var i=a.calendar;function o(r,a){return n.coerce(t,e,s.buttons,r,a)}if(o("visible")){var l=o("step");"all"!==l&&(!i||"gregorian"===i||"month"!==l&&"year"!==l?o("stepmode"):e.stepmode="backward",o("count")),o("label")}}e.exports=function(t,e,r,u,h){var f=t.rangeselector||{},p=i.newContainer(e,"rangeselector");function d(t,e){return n.coerce(f,p,s,t,e)}if(d("visible",o(f,p,{name:"buttons",handleItemDefaults:c,calendar:h}).length>0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),a=0,i=0;i<n.length;i++){var o=e[n[i]].domain;o&&(a=Math.max(o[1],a))}return[t.domain[0],a+l.yPad]}(e,r,u);d("x",g[0]),d("y",g[1]),n.noneOrAll(t,e,["x","y"]),d("xanchor"),d("yanchor"),n.coerceFont(d,"font",r.font);var v=d("bgcolor");d("activecolor",a.contrast(v,l.lightAmount,l.darkAmount)),d("bordercolor"),d("borderwidth")}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../color":591,"./attributes":652,"./constants":653}],655:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../color"),s=t("../drawing"),l=t("../../lib"),c=t("../../lib/svg_text_utils"),u=t("../../plots/cartesian/axis_ids"),h=t("../../constants/alignment"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR,g=t("./constants"),v=t("./get_update_object");function m(t){return t._id}function y(t,e,r){var n=l.ensureSingle(t,"rect","selector-rect",function(t){t.attr("shape-rendering","crispEdges")});n.attr({rx:g.rx,ry:g.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style("stroke-width",e.borderwidth+"px")}function x(t,e,r,n){l.ensureSingle(t,"text","selector-text",function(t){t.classed("user-select-none",!0).attr("text-anchor","middle")}).call(s.font,e.font).text(function(t,e){if(t.label)return e?l.templateString(t.label,e):t.label;return"all"===t.step?"all":t.count+t.step.charAt(0)}(r,n._fullLayout._meta)).call(function(t){c.convertToTspans(t,n)})}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(".rangeselector").data(function(t){for(var e=u.list(t,"x",!0),r=[],n=0;n<e.length;n++){var a=e[n];a.rangeselector&&a.rangeselector.visible&&r.push(a)}return r}(t),m);e.enter().append("g").classed("rangeselector",!0),e.exit().remove(),e.style({cursor:"pointer","pointer-events":"all"}),e.each(function(e){var r=n.select(this),o=e,u=o.rangeselector,h=r.selectAll("g.button").data(l.filterVisible(u.buttons));h.enter().append("g").classed("button",!0),h.exit().remove(),h.each(function(e){var r=n.select(this),i=v(o,e);e._isActive=function(t,e,r){if("all"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,i),r.call(y,u,e),r.call(x,u,e,t),r.on("click",function(){t._dragged||a.call("_guiRelayout",t,i)}),r.on("mouseover",function(){e._isHovered=!0,r.call(y,u,e)}),r.on("mouseout",function(){e._isHovered=!1,r.call(y,u,e)})}),function(t,e,r,a,o){var u=0,h=0,v=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(".selector-text"),a=r.font.size*f,i=Math.max(a*c.lineCount(e),16)+3;h=Math.max(h,i)}),e.each(function(){var t=n.select(this),e=t.select(".selector-rect"),a=t.select(".selector-text"),i=a.node()&&s.bBox(a.node()).width,o=r.font.size*f,l=c.lineCount(a),p=Math.max(i+10,g.minButtonWidth);t.attr("transform","translate("+(v+u)+","+v+")"),e.attr({x:0,y:0,width:p,height:h}),c.positionText(a,p/2,h/2-(l-1)*o/2+3),u+=p+5});var m=t._fullLayout._size,y=m.l+m.w*r.x,x=m.t+m.h*(1-r.y),b="left";l.isRightAnchor(r)&&(y-=u,b="right");l.isCenterAnchor(r)&&(y-=u/2,b="center");var _="top";l.isBottomAnchor(r)&&(x-=h,_="bottom");l.isMiddleAnchor(r)&&(x-=h/2,_="middle");u=Math.ceil(u),h=Math.ceil(h),y=Math.round(y),x=Math.round(x),i.autoMargin(t,a+"-range-selector",{x:r.x,y:r.y,l:u*p[b],r:u*d[b],b:h*d[_],t:h*p[_]}),o.attr("transform","translate("+y+","+x+")")}(t,h,u,o._name,r)})}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845,"../color":591,"../drawing":612,"./constants":653,"./get_update_object":656,d3:164}],656:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e){var r=t._name,a={};if("all"===e.step)a[r+".autorange"]=!0;else{var i=function(t,e){var r,a=t.range,i=new Date(t.r2l(a[1])),o=e.step,s=e.count;switch(e.stepmode){case"backward":r=t.l2r(+n.time[o].utc.offset(i,-s));break;case"todate":var l=n.time[o].utc.offset(i,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=a[1];return[r,c]}(t,e);a[r+".range[0]"]=i[0],a[r+".range[1]"]=i[1]}return a}},{d3:164}],657:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":652,"./defaults":654,"./draw":655}],658:[function(t,e,r){"use strict";var n=t("../color/attributes");e.exports={bgcolor:{valType:"color",dflt:n.background,editType:"plot"},bordercolor:{valType:"color",dflt:n.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}},{"../color/attributes":590}],659:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids").list,a=t("../../plots/cartesian/autorange").getAutoRange,i=t("./constants");e.exports=function(t){for(var e=n(t,"x",!0),r=0;r<e.length;r++){var o=e[r],s=o[i.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=a(t,o))}}},{"../../plots/cartesian/autorange":763,"../../plots/cartesian/axis_ids":767,"./constants":660}],660:[function(t,e,r){"use strict";e.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],661:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("../../plots/cartesian/axis_ids"),o=t("./attributes"),s=t("./oppaxis_attributes");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,h,f=l.rangeslider,p=a.newContainer(c,"rangeslider");if(_("visible")){_("bgcolor",e.plot_bgcolor),_("bordercolor"),_("borderwidth"),_("thickness"),_("autorange",!c.isValidRange(f.range)),_("range");var d=e._subplots;if(d)for(var g=d.cartesian.filter(function(t){return t.substr(0,t.indexOf("y"))===i.name2id(r)}).map(function(t){return t.substr(t.indexOf("y"),t.length)}),v=n.simpleMap(g,i.id2name),m=0;m<v.length;m++){var y=v[m];u=f[y]||{},h=a.newContainer(p,y,"yaxis");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x="fixed"),"match"!==w("rangemode",x)&&w("range",b.range.slice())}p._input=f}}function _(t,e){return n.coerce(f,p,o,t,e)}function w(t,e){return n.coerce(u,h,s,t,e)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/cartesian/axis_ids":767,"./attributes":658,"./oppaxis_attributes":665}],662:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../../lib"),s=t("../drawing"),l=t("../color"),c=t("../titles"),u=t("../../plots/cartesian"),h=t("../../plots/cartesian/axis_ids"),f=t("../dragelement"),p=t("../../lib/setcursor"),d=t("./constants");function g(t,e,r,n){var a=o.ensureSingle(t,"rect",d.bgClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}),i=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);a.attr({width:n._width+i,height:n._height+i,transform:"translate("+l+","+l+")",fill:n.bgcolor,stroke:n.bordercolor,"stroke-width":c})}function v(t,e,r,n){var a=e._fullLayout;o.ensureSingleById(a._topdefs,"clipPath",n._clipId,function(t){t.append("rect").attr({x:0,y:0})}).select("rect").attr({width:n._width,height:n._height})}function m(t,e,r,a){var l,c=e.calcdata,f=t.selectAll("g."+d.rangePlotClassName).data(r._subplotsWith,o.identity);f.enter().append("g").attr("class",function(t){return d.rangePlotClassName+" "+t}).call(s.setClipUrl,a._clipId,e),f.order(),f.exit().remove(),f.each(function(t,o){var s=n.select(this),f=0===o,p=h.getFromId(e,t,"y"),d=p._name,g=a[d],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:a.range.slice(),calendar:r.calendar},width:a._width,height:a._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};v.layout[d]={type:p.type,domain:[0,1],range:"match"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},i.supplyDefaults(v);var m=v._fullLayout.xaxis,y=v._fullLayout[d];m.clearCalc(),m.setScale(),y.clearCalc(),y.setScale();var x={id:t,plotgroup:s,xaxis:m,yaxis:y,isRangePlot:!0};f?l=x:(x.mainplot="xy",x.mainplotinfo=l),u.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n],i=a[0].trace;i.xaxis+i.yaxis===e&&r.push(a)}return r}(c,t))})}function y(t,e,r,n,a){(o.ensureSingle(t,"rect",d.maskMinClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),o.ensureSingle(t,"rect",d.maskMaxClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),"match"!==a.rangemode)&&(o.ensureSingle(t,"rect",d.maskMinOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).call(l.fill,d.maskOppAxisColor),o.ensureSingle(t,"rect",d.maskMaxOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).style("border-top",d.maskOppBorder).call(l.fill,d.maskOppAxisColor))}function x(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,"rect",d.slideBoxClassName,function(t){t.attr({y:0,cursor:d.slideBoxCursor,"shape-rendering":"crispEdges"})}).attr({height:n._height,fill:d.slideBoxFill})}function b(t,e,r,n){var a=o.ensureSingle(t,"g",d.grabberMinClassName),i=o.ensureSingle(t,"g",d.grabberMaxClassName),s={x:0,width:d.handleWidth,rx:d.handleRadius,fill:l.background,stroke:l.defaultLine,"stroke-width":d.handleStrokeWidth,"shape-rendering":"crispEdges"},c={y:Math.round(n._height/4),height:Math.round(n._height/2)};if(o.ensureSingle(a,"rect",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(i,"rect",d.handleMaxClassName,function(t){t.attr(s)}).attr(c),!e._context.staticPlot){var u={width:d.grabAreaWidth,x:0,y:0,fill:d.grabAreaFill,cursor:d.grabAreaCursor};o.ensureSingle(a,"rect",d.grabAreaMinClassName,function(t){t.attr(u)}).attr("height",n._height),o.ensureSingle(i,"rect",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr("height",n._height)}}e.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,i=0;i<r.length;i++){var s=r[i][d.name];s._clipId=s._id+"-"+e._uid}var l=e._infolayer.selectAll("g."+d.containerClassName).data(r,function(t){return t._name});l.exit().each(function(t){var r=t[d.name];e._topdefs.select("#"+r._clipId).remove()}).remove(),0!==r.length&&(l.enter().append("g").classed(d.containerClassName,!0).attr("pointer-events","all"),l.each(function(r){var i=n.select(this),s=r[d.name],l=e[h.id2name(r.anchor)],u=s[h.id2name(r.anchor)];if(s.range){var _,w=o.simpleMap(s.range,r.r2l),k=o.simpleMap(r.range,r.r2l);_=k[0]<k[1]?[Math.min(w[0],k[0]),Math.max(w[1],k[1])]:[Math.max(w[0],k[0]),Math.min(w[1],k[1])],s.range=s._input.range=o.simpleMap(_,r.l2r)}r.cleanRange("rangeslider.range");var T=e._size,A=r.domain;s._width=T.w*(A[1]-A[0]);var M=Math.round(T.l+T.w*A[0]),S=Math.round(T.t+T.h*(1-r._counterDomainMin)+("bottom"===r.side?r._depth:0)+s._offsetShift+d.extraPad);i.attr("transform","translate("+M+","+S+")");var E=r.r2l(s.range[0]),L=r.r2l(s.range[1]),C=L-E;if(s.p2d=function(t){return t/s._width*C+E},s.d2p=function(t){return(t-E)/C*s._width},s._rl=[E,L],"match"!==u.rangemode){var P=l.r2l(u.range[0]),O=l.r2l(u.range[1])-P;s.d2pOppAxis=function(t){return(t-P)/O*s._height}}i.call(g,t,r,s).call(v,t,r,s).call(m,t,r,s).call(y,t,r,s,u).call(x,t,r,s).call(b,t,r,s),function(t,e,r,i){var s=t.select("rect."+d.slideBoxClassName).node(),l=t.select("rect."+d.grabAreaMinClassName).node(),c=t.select("rect."+d.grabAreaMaxClassName).node();t.on("mousedown",function(){var u=n.event,h=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,v=i.d2p(r._rl[0]),m=i.d2p(r._rl[1]),y=f.coverSlip();function x(t){var u,f,x,b=+t.clientX-d;switch(h){case s:x="ew-resize",u=v+b,f=m+b;break;case l:x="col-resize",u=v+b,f=m;break;case c:x="col-resize",u=v,f=m+b;break;default:x="ew-resize",u=g,f=g+b}if(f<u){var _=f;f=u,u=_}i._pixelMin=u,i._pixelMax=f,p(n.select(y),x),function(t,e,r,n){function i(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=i(n.p2d(n._pixelMin)),l=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){a.call("_guiRelayout",e,r._name+".range",[s,l])})}(0,e,r,i)}y.addEventListener("mousemove",x),y.addEventListener("mouseup",function t(){y.removeEventListener("mousemove",x);y.removeEventListener("mouseup",t);o.removeElement(y)})})}(i,t,r,s),function(t,e,r,n,a,i){var s=d.handleWidth/2;function l(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function u(t){return o.constrain(t,-s,n._width+s)}var h=l(n.d2p(r._rl[0])),f=l(n.d2p(r._rl[1]));if(t.select("rect."+d.slideBoxClassName).attr("x",h).attr("width",f-h),t.select("rect."+d.maskMinClassName).attr("width",h),t.select("rect."+d.maskMaxClassName).attr("x",f).attr("width",n._width-f),"match"!==i.rangemode){var p=n._height-c(n.d2pOppAxis(a._rl[1])),g=n._height-c(n.d2pOppAxis(a._rl[0]));t.select("rect."+d.maskMinOppAxisClassName).attr("x",h).attr("height",p).attr("width",f-h),t.select("rect."+d.maskMaxOppAxisClassName).attr("x",h).attr("y",g).attr("height",n._height-g).attr("width",f-h),t.select("rect."+d.slideBoxClassName).attr("y",p).attr("height",g-p)}var v=Math.round(u(h-s))-.5,m=Math.round(u(f-s))+.5;t.select("g."+d.grabberMinClassName).attr("transform","translate("+v+",0.5)"),t.select("g."+d.grabberMaxClassName).attr("transform","translate("+m+",0.5)")}(i,0,r,s,l,u),"bottom"===r.side&&c.draw(t,r._id+"title",{propContainer:r,propName:r._name+".title",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:S+s._height+s._offsetShift+10+1.5*r.title.font.size,"text-anchor":"middle"}})}))}},{"../../lib":716,"../../lib/setcursor":736,"../../plots/cartesian":775,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"../titles":678,"./constants":660,d3:164}],663:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),a=t("../../lib/svg_text_utils"),i=t("./constants"),o=t("../../constants/alignment").LINE_SPACING,s=i.name;function l(t){var e=t&&t[s];return e&&e.visible}r.isVisible=l,r.makeData=function(t){var e=n.list({_fullLayout:t},"x",!0),r=t.margin,a=[];if(!t._has("gl2d"))for(var i=0;i<e.length;i++){var o=e[i];if(l(o)){a.push(o);var c=o[s];c._id=s+o._id,c._height=(t.height-r.b-r.t)*c.thickness,c._offsetShift=Math.floor(c.borderwidth/2)}}t._rangeSliderData=a},r.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),c=0,u=0;"bottom"===e.side&&(c=e._depth,e.title.text!==r._dfltTitle[l]&&(u=1.5*e.title.font.size+10+n._offsetShift,u+=(e.title.text.match(a.BR_TAG_ALL)||[]).length*e.title.font.size*o));return{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+c+Math.max(r.margin.b,u),pad:i.extraPad+2*n._offsetShift}}},{"../../constants/alignment":685,"../../lib/svg_text_utils":740,"../../plots/cartesian/axis_ids":767,"./constants":660}],664:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./oppaxis_attributes"),o=t("./helpers");e.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},a,{yaxis:i})}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),calcAutorange:t("./calc_autorange"),draw:t("./draw"),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},{"../../lib":716,"./attributes":658,"./calc_autorange":659,"./defaults":661,"./draw":662,"./helpers":663,"./oppaxis_attributes":665}],665:[function(t,e,r){"use strict";e.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},{}],666:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),a=t("../../traces/scatter/attributes").line,i=t("../drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray;e.exports=s("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:o({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:o({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:o({},a.color,{editType:"arraydraw"}),width:o({},a.width,{editType:"calc+arraydraw"}),dash:o({},i,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},editType:"arraydraw"})},{"../../lib/extend":707,"../../plot_api/plot_template":754,"../../traces/scatter/attributes":1118,"../annotations/attributes":574,"../drawing/attributes":611}],667:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./constants"),o=t("./helpers");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,a,s,l){var c=t/2,u=l;if("pixel"===e){var h=s?o.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[r,a],f=n.aggNums(Math.max,null,h),p=n.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,g=f>0?f+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,a){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,h,f=1/0,p=-1/0,d=n.match(i.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=a[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(i.paramRE))||u.length<c||((h=s(u[c]))<f&&(f=h),h>p&&(p=h)));return p>=f?[f,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,h,f=r[o];if(f._extremes={},"paper"!==f.xref){var p="pixel"===f.xsizemode?f.xanchor:f.x0,d="pixel"===f.xsizemode?f.xanchor:f.x1;(h=u(c=a.getFromId(t,f.xref),p,d,f.path,i.paramIsX))&&(f._extremes[c._id]=a.findExtremes(c,h,s(f)))}if("paper"!==f.yref){var g="pixel"===f.ysizemode?f.yanchor:f.y0,v="pixel"===f.ysizemode?f.yanchor:f.y1;(h=u(c=a.getFromId(t,f.yref),g,v,f.path,i.paramIsY))&&(f._extremes[c._id]=a.findExtremes(c,h,l(f)))}}}},{"../../lib":716,"../../plots/cartesian/axes":764,"./constants":668,"./helpers":671}],668:[function(t,e,r){"use strict";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],669:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./attributes"),s=t("./helpers");function l(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}if(i("visible")){i("layer"),i("opacity"),i("fillcolor"),i("line.color"),i("line.width"),i("line.dash");for(var l=i("type",t.path?"path":"rect"),c=i("xsizemode"),u=i("ysizemode"),h=["x","y"],f=0;f<2;f++){var p,d,g,v=h[f],m=v+"anchor",y="x"===v?c:u,x={_fullLayout:r},b=a.coerceRef(t,e,x,v,"","paper");if("paper"!==b?((p=a.getFromId(x,b))._shapeIndices.push(e._index),g=s.rangeToShapePosition(p),d=s.shapePositionToRange(p)):d=g=n.identity,"path"!==l){var _=v+"0",w=v+"1",k=t[_],T=t[w];t[_]=d(t[_],!0),t[w]=d(t[w],!0),"pixel"===y?(i(_,0),i(w,10)):(a.coercePosition(e,x,i,b,_,.25),a.coercePosition(e,x,i,b,w,.75)),e[_]=g(e[_]),e[w]=g(e[w]),t[_]=k,t[w]=T}if("pixel"===y){var A=t[m];t[m]=d(t[m],!0),a.coercePosition(e,x,i,b,m,.25),e[m]=g(e[m]),t[m]=A}}"path"===l?i("path"):n.noneOrAll(t,e,["x0","x1","y0","y1"])}}e.exports=function(t,e){i(t,e,{name:"shapes",handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":666,"./helpers":671}],670:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../color"),s=t("../drawing"),l=t("../../plot_api/plot_template").arrayEditor,c=t("../dragelement"),u=t("../../lib/setcursor"),h=t("./constants"),f=t("./helpers");function p(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+e+'"]').remove();var r=t._fullLayout.shapes[e]||{};if(r._input&&!1!==r.visible)if("below"!==r.layer)m(t._fullLayout._shapeUpperLayer);else if("paper"===r.xref||"paper"===r.yref)m(t._fullLayout._shapeLowerLayer);else{var p=t._fullLayout._plots[r.xref+r.yref];if(p)m((p.mainplotinfo||p).shapelayer);else m(t._fullLayout._shapeLowerLayer)}function m(p){var m={"data-index":e,"fill-rule":"evenodd",d:g(t,r)},y=r.line.width?r.line.color:"rgba(0,0,0,0)",x=p.append("path").attr(m).style("opacity",r.opacity).call(o.stroke,y).call(o.fill,r.fillcolor).call(s.dashLine,r.line.dash,r.line.width);d(x,t,r),t._context.edits.shapePosition&&function(t,e,r,o,p){var m,y,x,b,_,w,k,T,A,M,S,E,L,C,P,O,z=10,I=10,D="pixel"===r.xsizemode,R="pixel"===r.ysizemode,F="line"===r.type,B="path"===r.type,N=l(t.layout,"shapes",r),j=N.modifyItem,V=i.getFromId(t,r.xref),U=i.getFromId(t,r.yref),q=f.getDataToPixel(t,V),H=f.getDataToPixel(t,U,!0),G=f.getPixelToData(t,V),Y=f.getPixelToData(t,U,!0),W=F?function(){var t=Math.max(r.line.width,10),n=p.append("g").attr("data-index",o);n.append("path").attr("d",e.attr("d")).style({cursor:"move","stroke-width":t,"stroke-opacity":"0"});var a={"fill-opacity":"0"},i=t/2>10?t/2:10;return n.append("circle").attr({"data-line-point":"start-point",cx:D?q(r.xanchor)+r.x0:q(r.x0),cy:R?H(r.yanchor)-r.y0:H(r.y0),r:i}).style(a).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:D?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:i}).style(a).classed("cursor-grab",!0),n}():e,X={element:W.node(),gd:t,prepFn:function(n){D&&(_=q(r.xanchor));R&&(w=H(r.yanchor));"path"===r.type?P=r.path:(m=D?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=D?r.x1:q(r.x1),b=R?r.y1:H(r.y1));m<x?(A=m,L="x0",M=x,C="x1"):(A=x,L="x1",M=m,C="x0");!R&&y<b||R&&y>b?(k=y,S="y0",T=b,E="y1"):(k=b,S="y1",T=y,E="y0");Z(n),Q(p,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),l=i.getFromId(r,a),c="";"paper"===n||o.autorange||(c+=n);"paper"===a||l.autorange||(c+=a);s.setClipUrl(t,c?"clip"+r._fullLayout._uid+c:null,r)}(e,r,t),X.moveFn="move"===O?J:K},doneFn:function(){u(e),$(p),d(e,t,r),n.call("_guiRelayout",t,N.getUpdateObj())},clickFn:function(){$(p)}};function Z(t){if(F)O="path"===t.target.tagName?"move":"start-point"===t.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,a=r.bottom-r.top,i=t.clientX-r.left,o=t.clientY-r.top,s=!B&&n>z&&a>I&&!t.shiftKey?c.getCursor(i/n,1-o/a):"move";u(e,s),O=s.split("-")[0]}}function J(n,a){if("path"===r.type){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else D?j("xanchor",r.xanchor=G(_+n)):(j("x0",r.x0=G(m+n)),j("x1",r.x1=G(x+n))),R?j("yanchor",r.yanchor=Y(w+a)):(j("y0",r.y0=Y(y+a)),j("y1",r.y1=Y(b+a)));e.attr("d",g(t,r)),Q(p,r)}function K(n,a){if(B){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else if(F){if("resize-over-start-point"===O){var l=m+n,c=R?y-a:y+a;j("x0",r.x0=D?l:G(l)),j("y0",r.y0=R?c:Y(c))}else if("resize-over-end-point"===O){var u=x+n,h=R?b-a:b+a;j("x1",r.x1=D?u:G(u)),j("y1",r.y1=R?h:Y(h))}}else{var d=~O.indexOf("n")?k+a:k,N=~O.indexOf("s")?T+a:T,W=~O.indexOf("w")?A+n:A,X=~O.indexOf("e")?M+n:M;~O.indexOf("n")&&R&&(d=k-a),~O.indexOf("s")&&R&&(N=T-a),(!R&&N-d>I||R&&d-N>I)&&(j(S,r[S]=R?d:Y(d)),j(E,r[E]=R?N:Y(N))),X-W>z&&(j(L,r[L]=D?W:G(W)),j(C,r[C]=D?X:G(X)))}e.attr("d",g(t,r)),Q(p,r)}function Q(t,e){(D||R)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=q(D?e.xanchor:a.midRange(r?[e.x0,e.x1]:f.extractPathCoords(e.path,h.paramIsX))),o=H(R?e.yanchor:a.midRange(r?[e.y0,e.y1]:f.extractPathCoords(e.path,h.paramIsY)));if(i=f.roundPositionForSharpStrokeRendering(i,1),o=f.roundPositionForSharpStrokeRendering(o,1),D&&R){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(D){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function $(t){t.selectAll(".visual-cue").remove()}c.init(X),W.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");s.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=i.getFromId(t,e.xref),v=i.getFromId(t,e.yref),m=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return m.l+m.w*t},v?(o=f.shapePositionToRange(v),s=function(t){return v._offset+v.r2p(o(t,!0))}):s=function(t){return m.t+m.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=f.decodeDate(n)),v&&"date"===v.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(h.segmentRE,function(t){var n=0,c=t.charAt(0),u=h.paramIsX[c],f=h.paramIsY[c],p=h.numParams[c],d=t.substr(1).replace(h.paramRE,function(t){return u[n]?t="pixel"===i?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),a.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+u+"L"+c+","+p;if("rect"===d)return"M"+l+","+u+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),T="A"+w+","+k,A=b+w+","+_;return"M"+A+T+" 0 1,1 "+(b+","+(_-k))+T+" 0 0,1 "+A+"Z"}function v(t,e,r){return t.replace(h.segmentRE,function(t){var n=0,a=t.charAt(0),i=h.paramIsX[a],o=h.paramIsY[a],s=h.numParams[a];return a+t.substr(1).replace(h.paramRE,function(t){return n>=s?t:(i[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var a=0;a<e.shapes.length;a++)e.shapes[a].visible&&p(t,a)},drawOne:p}},{"../../lib":716,"../../lib/setcursor":736,"../../plot_api/plot_template":754,"../../plots/cartesian/axes":764,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":668,"./helpers":671}],671:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib");r.rangeToShapePosition=function(t){return"log"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return"log"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace("_"," ")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(" ","_")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach(function(t){var i=e[t.charAt(0)].drawn;if(void 0!==i){var o=t.substr(1).match(n.paramRE);!o||o.length<i||r.push(a.cleanNumber(o[i]))}}),r},r.getDataToPixel=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);a=function(t){return e._offset+e.r2p(o(t,!0))},"date"===e.type&&(a=r.decodeDate(a))}else a=n?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return a},r.getPixelToData=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);a=function(t){return o(e.p2r(t-e._offset))}}else a=n?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return a},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n}},{"../../lib":716,"./constants":668}],672:[function(t,e,r){"use strict";var n=t("./draw");e.exports={moduleType:"component",name:"shapes",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("shapes"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne}},{"../../plots/cartesian/include_components":774,"./attributes":666,"./calc_autorange":667,"./defaults":669,"./draw":670}],673:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/pad_attributes"),i=t("../../lib/extend").extendDeepAll,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/animation_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=t("./constants"),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:i(a({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/animation_attributes":759,"../../plots/font_attributes":790,"../../plots/pad_attributes":824,"./constants":674}],674:[function(t,e,r){"use strict";e.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],675:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.steps;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=a(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o("visible")){e._stepCount=l;var h=e._visibleSteps=n.filterVisible(s);(s[o("active")]||{}).visible||(e.active=h[0]._index),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("len"),o("lenmode"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("currentvalue.visible")&&(o("currentvalue.xanchor"),o("currentvalue.prefix"),o("currentvalue.suffix"),o("currentvalue.offset"),n.coerceFont(o,"currentvalue.font",e.font)),o("transition.duration"),o("transition.easing"),o("bgcolor"),o("activebgcolor"),o("bordercolor"),o("borderwidth"),o("ticklen"),o("tickwidth"),o("tickcolor"),o("minorticklen")}}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}if("skip"===t.method||Array.isArray(t.args)?r("visible"):e.visible=!1){r("method"),r("args");var a=r("label","step-"+e._index);r("value",a),r("execute")}}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"./attributes":673,"./constants":674}],676:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("./constants"),h=t("../../constants/alignment"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR;function g(t){return u.autoMarginIdRoot+t._index}function v(t){return t._index}function m(t,e){var r=o.tester.selectAll("g."+u.labelGroupClass).data(e._visibleSteps);r.enter().append("g").classed(u.labelGroupClass,!0);var i=0,c=0;r.each(function(t){var r=b(n.select(this),{step:t},e).node();if(r){var a=o.bBox(r);c=Math.max(c,a.height),i=Math.max(i,a.width)}}),r.remove();var h=e._dims={};h.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var f=t._fullLayout._size;h.lx=f.l+f.w*e.x,h.ly=f.t+f.h*(1-e.y),"fraction"===e.lenmode?h.outerLength=Math.round(f.w*e.len):h.outerLength=e.len,h.inputAreaStart=0,h.inputAreaLength=Math.round(h.outerLength-e.pad.l-e.pad.r);var v=(h.inputAreaLength-2*u.stepInset)/(e._stepCount-1),m=i+u.labelPadding;if(h.labelStride=Math.max(1,Math.ceil(m/v)),h.labelHeight=c,h.currentValueMaxWidth=0,h.currentValueHeight=0,h.currentValueTotalHeight=0,h.currentValueMaxLines=1,e.currentvalue.visible){var x=o.tester.append("g");r.each(function(t){var r=y(x,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},a=l.lineCount(r);h.currentValueMaxWidth=Math.max(h.currentValueMaxWidth,Math.ceil(n.width)),h.currentValueHeight=Math.max(h.currentValueHeight,Math.ceil(n.height)),h.currentValueMaxLines=Math.max(h.currentValueMaxLines,a)}),h.currentValueTotalHeight=h.currentValueHeight+e.currentvalue.offset,x.remove()}h.height=h.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+h.labelHeight+e.pad.t+e.pad.b;var _="left";s.isRightAnchor(e)&&(h.lx-=h.outerLength,_="right"),s.isCenterAnchor(e)&&(h.lx-=h.outerLength/2,_="center");var w="top";s.isBottomAnchor(e)&&(h.ly-=h.height,w="bottom"),s.isMiddleAnchor(e)&&(h.ly-=h.height/2,w="middle"),h.outerLength=Math.ceil(h.outerLength),h.height=Math.ceil(h.height),h.lx=Math.round(h.lx),h.ly=Math.round(h.ly);var k={y:e.y,b:h.height*d[w],t:h.height*p[w]};"fraction"===e.lenmode?(k.l=0,k.xl=e.x-e.len*p[_],k.r=0,k.xr=e.x+e.len*d[_]):(k.x=e.x,k.l=h.outerLength*p[_],k.r=h.outerLength*d[_]),a.autoMargin(t,g(e),k)}function y(t,e,r){if(e.currentvalue.visible){var n,a,i=e._dims;switch(e.currentvalue.xanchor){case"right":n=i.inputAreaLength-u.currentValueInset-i.currentValueMaxWidth,a="left";break;case"center":n=.5*i.inputAreaLength,a="middle";break;default:n=u.currentValueInset,a="left"}var c=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":a,"data-notex":1})}),h=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)h+=r;else{var p=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(p=s.templateString(p,d)),h+=p}e.currentvalue.suffix&&(h+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(h).call(l.convertToTspans,e._gd);var g=l.lineCount(c),v=(i.currentValueMaxLines+1-g)*e.currentvalue.font.size*f;return l.positionText(c,n,v),c}}function x(t,e,r){s.ensureSingle(t,"rect",u.gripRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")}).attr({width:u.gripWidth,height:u.gripHeight,rx:u.gripRadius,ry:u.gripRadius}).call(i.stroke,r.bordercolor).call(i.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function b(t,e,r){var n=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"middle","data-notex":1})}),a=e.step.label,i=r._gd._fullLayout._meta;return i&&(a=s.templateString(a,i)),n.call(o.font,r.font).text(a).call(l.convertToTspans,r._gd),n}function _(t,e){var r=s.ensureSingle(t,"g",u.labelsClass),a=e._dims,i=r.selectAll("g."+u.labelGroupClass).data(a.labelSteps);i.enter().append("g").classed(u.labelGroupClass,!0),i.exit().remove(),i.each(function(t){var r=n.select(this);r.call(b,t,e),o.setTranslate(r,S(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*f+u.labelOffset+a.currentValueTotalHeight)})}function w(t,e,r,n,a){var i=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[i]._index;o!==r.active&&k(t,e,r,o,!0,a)}function k(t,e,r,n,i,o){var s=r.active;r.active=n,c(t.layout,u.name,r).applyUpdate("active",n);var l=r.steps[r.active];e.call(M,r,o),e.call(y,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:i,previousActive:s}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:i,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&a.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function T(t,e,r){var a=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+u.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(i.fill,t.activebgcolor);var c=E(t,n.mouse(a)[0]);w(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",function(){var t=s(),i=E(t,n.mouse(a)[0]);w(e,r,t,i,!1)}),o.on("mouseup",function(){var t=s();t._dragging=!1,l.call(i.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})})})}function A(t,e){var r=t.selectAll("rect."+u.tickRectClass).data(e._visibleSteps),a=e._dims;r.enter().append("rect").classed(u.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each(function(t,r){var s=r%a.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(i.fill,e.tickcolor),o.setTranslate(l,S(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+a.currentValueTotalHeight)})}function M(t,e,r){for(var n=t.select("rect."+u.gripRectClass),a=0,i=0;i<e._stepCount;i++)if(e._visibleSteps[i]._index===e.active){a=i;break}var o=S(e,a/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform","translate("+(o-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function S(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function E(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,a=s.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")});a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function C(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,a=s.ensureSingle(t,"rect",u.railRectClass);a.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(a,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],a=0;a<r.length;a++){var i=r[a];i.visible&&(i._gd=e,n.push(i))}return n}(e,t),i=e._infolayer.selectAll("g."+u.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,g(e))}if(i.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),i.exit().each(function(){n.select(this).selectAll("g."+u.groupClassName).each(s)}).remove(),0!==r.length){var l=i.selectAll("g."+u.groupClassName).data(r,v);l.enter().append("g").classed(u.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var h=r[c];m(t,h)}l.each(function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),a.manageCommandObserver(t,e,e._visibleSteps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||k(t,r,n,e.index,!1,!0))}),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(y,r).call(C,r).call(_,r).call(A,r).call(L,t,r).call(x,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(M,r,!1),e.call(y,r)}(t,n.select(this),e)})}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/plots":825,"../color":591,"../drawing":612,"./constants":674,d3:164}],677:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":673,"./constants":674,"./defaults":675,"./draw":676}],678:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../drawing"),c=t("../color"),u=t("../../lib/svg_text_utils"),h=t("../../constants/interactions"),f=t("../../constants/alignment").OPPOSITE_SIDE,p=/ [XY][0-9]* /;e.exports={draw:function(t,e,r){var d,g=r.propContainer,v=r.propName,m=r.placeholder,y=r.traceIndex,x=r.avoid||{},b=r.attributes,_=r.transform,w=r.containerGroup,k=t._fullLayout,T=1,A=!1,M=g.title,S=(M&&M.text?M.text:"").trim(),E=M&&M.font?M.font:{},L=E.family,C=E.size,P=E.color;"title.text"===v?d="titleText":-1!==v.indexOf("axis")?d="axisTitleText":v.indexOf(!0)&&(d="colorbarTitleText");var O=t._context.edits[d];""===S?T=0:S.replace(p," % ")===m.replace(p," % ")&&(T=.2,A=!0,O||(S="")),r._meta?S=s.templateString(S,r._meta):k._meta&&(S=s.templateString(S,k._meta));var z=S||O;w||(w=s.ensureSingle(k._infolayer,"g","g-"+e));var I=w.selectAll("text").data(z?[0]:[]);if(I.enter().append("text"),I.text(S).attr("class",e),I.exit().remove(),!z)return w;function D(t){s.syncOrAsync([R,F],t)}function R(e){var r;return _?(r="",_.rotate&&(r+="rotate("+[_.rotate,b.x,b.y]+")"),_.offset&&(r+="translate(0, "+_.offset+")")):r=null,e.attr("transform",r),e.style({"font-family":L,"font-size":n.round(C,2)+"px",fill:c.rgb(P),opacity:T*c.opacity(P),"font-weight":i.fontWeight}).attr(b).call(u.convertToTspans,t),i.previousPromises(t)}function F(t){var e=n.select(t.node().parentNode);if(x&&x.selection&&x.side&&S){e.attr("transform",null);var r=f[x.side],i="left"===x.side||"top"===x.side?-1:1,o=a(x.pad)?x.pad:2,c=l.bBox(e.node()),u={left:0,top:0,right:k.width,bottom:k.height},h=x.maxShift||i*(u[x.side]-c[x.side]),p=0;if(h<0)p=h;else{var d=x.offsetLeft||0,g=x.offsetTop||0;c.left-=d,c.right-=d,c.top-=g,c.bottom-=g,x.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(c,t,o)&&(p=Math.max(p,i*(t[x.side]-c[r])+o))}),p=Math.min(h,p)}if(p>0||h<0){var v={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr("transform","translate("+v+")")}}}return I.call(D),O&&(S?I.on(".opacity",null):(T=0,A=!0,I.text(m).on("mouseover.opacity",function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)})),I.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==y?o.call("_guiRestyle",t,v,e,y):o.call("_guiRelayout",t,v,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(D)}).on("input",function(t){this.text(t||" ").call(u.positionText,b.x,b.y)})),I.classed("js-placeholder",A),w}}},{"../../constants/alignment":685,"../../constants/interactions":691,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../drawing":612,d3:164,"fast-isnumeric":227}],679:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:i(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:a.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/font_attributes":790,"../../plots/pad_attributes":824,"../color/attributes":590}],680:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:"  "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],681:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.buttons;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o("visible",a(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"./attributes":679,"./constants":680}],682:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,h=t("./constants"),f=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?m(t,n,null,null,e):"dropdown"===e.type&&(a.attr(h.menuIndexAttrName,"-1"),v(t,n,a,i,e),s||m(t,n,a,i,e))}function v(t,e,r,n,a){var i=s.ensureSingle(e,"g",h.headerClassName,function(t){t.style("pointer-events","all")}),l=a._dims,c=a.active,u=a.buttons[c]||h.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};i.call(y,a,u,t).call(M,a,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,a.font).text(h.arrowSymbol[a.direction])}).attr({x:l.headerWidth-h.arrowOffsetX+a.pad.l,y:l.headerHeight/2+h.textOffsetY+a.pad.t}),i.on("click",function(){r.call(S,String(d(r,a)?-1:a._index)),m(t,e,r,n,a)}),i.on("mouseover",function(){i.call(w)}),i.on("mouseout",function(){i.call(k,a)}),o.setTranslate(e,l.lx,l.ly)}function m(t,e,r,i,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,v=0,m=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?v=m.headerHeight+h.gapButtonHeader:d=m.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-h.gapButtonHeader+h.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-m.openWidth);var b={x:m.lx+d+o.pad.l,y:m.ly+v+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},T={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on("click",function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,i,-1),a.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,i,l),a.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))}),c.on("mouseover",function(){c.call(w)}),c.on("mouseout",function(){c.call(k,o),u.call(_,o)})}),u.call(_,o),x?(T.w=Math.max(m.openWidth,m.headerWidth),T.h=b.y-T.t):(T.w=b.x-T.l,T.h=Math.max(m.openHeight,m.headerHeight)),T.direction=o.direction,i&&(u.size()?function(t,e,r,n,a,i){var o,s,l,c=a.direction,u="up"===c||"down"===c,f=a._dims,p=a.active;if(u)for(s=0,l=0;l<p;l++)s+=f.heights[l]+h.gapButton;else for(o=0,l=0;l<p;l++)o+=f.widths[l]+h.gapButton;n.enable(i,o,s),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1");n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}(0,0,0,i,o,T):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr("opacity","0").each("end",function(){e=!1,r||t.disable()});r&&t.vbar.transition().attr("opacity","0").each("end",function(){r=!1,e||t.disable()})}(i))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,"rect",h.itemRectClassName,function(t){t.attr({rx:h.rx,ry:h.ry,"shape-rendering":"crispEdges"})}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var a=s.ensureSingle(t,"text",h.itemTextClassName,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"start","data-notex":1})}),i=r.label,c=n._fullLayout._meta;c&&(i=s.templateString(i,c)),a.call(o.font,e.font).text(i).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each(function(t,a){var o=n.select(this);a===r&&e.showactive&&o.select("rect."+h.itemRectClassName).call(i.fill,h.activeColor)})}function w(t){t.select("rect."+h.itemRectClassName).call(i.fill,h.hoverColor)}function k(t,e){t.select("rect."+h.itemRectClassName).call(i.fill,e.bgcolor)}function T(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=o.tester.selectAll("g."+h.dropdownButtonClassName).data(s.filterVisible(e.buttons));i.enter().append("g").classed(h.dropdownButtonClassName,!0);var c=-1!==["up","down"].indexOf(e.direction);i.each(function(a,i){var s=n.select(this);s.call(y,e,a,t);var f=s.select("."+h.itemTextClassName),p=f.node()&&o.bBox(f.node()).width,d=Math.max(p+h.textPadX,h.minWidth),g=e.font.size*u,v=l.lineCount(f),m=Math.max(g*v,h.minHeight)+h.textOffsetY;m=Math.ceil(m),d=Math.ceil(d),r.widths[i]=d,r.heights[i]=m,r.height1=Math.max(r.height1,m),r.width1=Math.max(r.width1,d),c?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=m+h.gapButton,r.openHeight+=m+h.gapButton):(r.totalWidth+=d+h.gapButton,r.openWidth+=d+h.gapButton,r.totalHeight=Math.max(r.totalHeight,m),r.openHeight=r.totalHeight)}),c?r.totalHeight-=h.gapButton:r.totalWidth-=h.gapButton,r.headerWidth=r.width1+h.arrowPadX,r.headerHeight=r.height1,"dropdown"===e.type&&(c?(r.width1+=h.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=h.arrowPadX),i.remove();var f=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var g="left";s.isRightAnchor(e)&&(r.lx-=f,g="right"),s.isCenterAnchor(e)&&(r.lx-=f/2,g="center");var v="top";s.isBottomAnchor(e)&&(r.ly-=p,v="bottom"),s.isMiddleAnchor(e)&&(r.ly-=p/2,v="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),a.autoMargin(t,A(e),{x:e.x,y:e.y,l:f*({right:1,center:.5}[g]||0),r:f*({left:1,center:.5}[g]||0),b:p*({top:1,middle:.5}[v]||0),t:p*({bottom:1,middle:.5}[v]||0)})}function A(t){return h.autoMarginIdRoot+t._index}function M(t,e,r,n){n=n||{};var a=t.select("."+h.itemRectClassName),i=t.select("."+h.itemTextClassName),s=e.borderwidth,c=r.index,f=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==["up","down"].indexOf(e.direction),d=n.height||(p?f.heights[c]:f.height1);a.attr({x:0,y:0,width:n.width||(p?f.width1:f.widths[c]),height:d});var g=e.font.size*u,v=(l.lineCount(i)-1)*g/2;l.positionText(i,h.textOffsetX,d/2-v+h.textOffsetY),p?r.y+=f.heights[c]+r.yPad:r.x+=f.widths[c]+r.xPad,r.index++}function S(t,e){t.attr(h.menuIndexAttrName,e||"-1").selectAll("g."+h.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[h.name]);function i(e){a.autoMargin(t,A(e))}var o=e._menulayer.selectAll("g."+h.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each(function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(i)}).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,p);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,function(t){t.style("pointer-events","all")}),u=0;u<r.length;u++){var y=r[u];T(t,y)}var x="updatemenus"+e._uid,b=new f(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(S)),l.exit().each(function(t){c.call(S),i(t)}).remove(),l.each(function(e){var r=n.select(this),i="dropdown"===e.type?c:null;a.manageCommandObserver(t,e,e.buttons,function(n){g(t,e,e.buttons[n.index],r,i,b,n.index,!0)}),"dropdown"===e.type?(v(t,r,c,b,e),d(c,e)&&m(t,r,c,b,e)):m(t,r,null,null,e)})}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/plots":825,"../color":591,"../drawing":612,"./constants":680,"./scrollbox":684,d3:164}],683:[function(t,e,r){arguments[4][677][0].apply(r,arguments)},{"./attributes":679,"./constants":680,"./defaults":681,"./draw":682,dup:677}],684:[function(t,e,r){"use strict";e.exports=s;var n=t("d3"),a=t("../color"),i=t("../drawing"),o=t("../../lib");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor="#808BA4",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,h,f,p,d=this.position.l,g=this.position.w,v=this.position.t,m=this.position.h,y=this.position.direction,x="down"===y,b="left"===y,_="up"===y,w=g,k=m;x||b||"right"===y||_||(this.position.direction="down",x=!0),x||_?(h=(u=d)+w,x?(f=v,k=(p=Math.min(f+k,c))-f):k=(p=v+k)-(f=Math.max(p-k,0))):(p=(f=v)+k,b?w=(h=d+w)-(u=Math.max(h-w,0)):(u=d,w=(h=Math.min(u+w,l))-u)),this._box={l:u,t:f,w:w,h:k};var T=g>w,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=v+m;E+M>c&&(E=c-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(a.fill,s.barColor),T?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=m>k,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,z=d+g,I=v;z+P>l&&(z=l-P);var D=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(a.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:I,width:P,height:O}),this._vbarYMin=I+O/2,this._vbarTranslateMax=k-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=C?h+P+.5:h+.5,N=f-.5,j=T?p+M+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(T||C?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),T||C?(this._clipRect=V.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:v,width:g,height:m})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||C){var U=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,s=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,s)-i)/(s-i)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(i.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(i.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":716,"../color":591,"../drawing":612,d3:164}],685:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],686:[function(t,e,r){"use strict";e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25b2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25bc"}}},{}],687:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format"}},{}],688:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],689:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],690:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],691:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],692:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],693:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],694:[function(t,e,r){"use strict";r.version="1.51.2",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),a=r.register=n.register,i=t("./plot_api"),o=Object.keys(i),s=0;s<o.length;s++){var l=o[s];"_"!==l.charAt(0)&&(r[l]=i[l]),a({moduleType:"apiMethod",name:l,fn:i[l]})}a(t("./traces/scatter")),a([t("./components/fx"),t("./components/legend"),t("./components/annotations"),t("./components/annotations3d"),t("./components/shapes"),t("./components/images"),t("./components/updatemenus"),t("./components/sliders"),t("./components/rangeslider"),t("./components/rangeselector"),t("./components/grid"),t("./components/errorbars"),t("./components/colorscale"),t("./components/colorbar")]),a([t("./locale-en"),t("./locale-en-us")]),r.Icons=t("./fonts/ploticon"),r.Plots=t("./plots/plots"),r.Fx=t("./components/fx"),r.Snapshot=t("./snapshot"),r.PlotSchema=t("./plot_api/plot_schema"),r.Queue=t("./lib/queue"),r.d3=t("d3")},{"../build/plotcss":1,"./components/annotations":582,"./components/annotations3d":587,"./components/colorbar":597,"./components/colorscale":603,"./components/errorbars":618,"./components/fx":629,"./components/grid":633,"./components/images":638,"./components/legend":646,"./components/rangeselector":657,"./components/rangeslider":664,"./components/shapes":672,"./components/sliders":677,"./components/updatemenus":683,"./fonts/mathjax_config":695,"./fonts/ploticon":696,"./lib/queue":731,"./locale-en":745,"./locale-en-us":744,"./plot_api":749,"./plot_api/plot_schema":753,"./plots/plots":825,"./registry":845,"./snapshot":850,"./traces/scatter":1130,d3:164,"es6-promise":220}],695:[function(t,e,r){"use strict";e.exports=function(){"undefined"!=typeof MathJax&&("local"!==(window.PlotlyConfig||{}).MathJaxConfig&&(MathJax.Hub.Config({messageStyle:"none",skipStartupTypeset:!0,displayAlign:"left",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}}),MathJax.Hub.Configured()))}},{}],696:[function(t,e,r){"use strict";e.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #119dff;} .cls-2 {fill: #25fefd;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>"}}},{}],697:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],698:[function(t,e,r){"use strict";var n=t("./mod"),a=n.mod,i=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return i(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=a(r,s))>(n=a(n,s))&&(n+=s);var i=a(t,s),o=i+s;return i>=r&&i<=n||o>=r&&o<=n}function h(t,e,r,n,a,i,c){a=a||0,i=i||0;var u,h,f,p,d,g=l([r,n]);function v(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(u=0,h=o,f=s):r<n?(u=r,f=n):(u=n,f=r),t<e?(p=t,d=e):(p=e,d=t);var m,y=Math.abs(f-u)<=o?0:1;function x(t,e,r){return"A"+[t,t]+" "+[0,y,r]+" "+v(t,e)}return g?m=null===p?"M"+v(d,u)+x(d,h,0)+x(d,f,0)+"Z":"M"+v(p,u)+x(p,h,0)+x(p,f,0)+"ZM"+v(d,u)+x(d,h,1)+x(d,f,1)+"Z":null===p?(m="M"+v(d,u)+x(d,f,0),c&&(m+="L0,0Z")):m="M"+v(p,u)+"L"+v(d,u)+x(d,f,0)+"L"+v(p,f)+x(p,u,1)+"Z",m}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(a=r[0],i=r[1]):(a=r[1],i=r[0]),t>=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return h(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return h(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return h(t,e,r,n,a,i,1)}}},{"./mod":723}],699:[function(t,e,r){"use strict";var n=Array.isArray,a="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,a=0;a<t.length;a++)n=e(n,t[a].length);return n}return t.length}return 0}r.isTypedArray=o,r.isArrayOrTypedArray=s,r.isArray1D=function(t){return!s(t[0])},r.ensureArray=function(t,e){return n(t)||(t=[]),t.length=e,t},r.concat=function(){var t,e,r,a,i,o,s,l,c=[],u=!0,h=0;for(r=0;r<arguments.length;r++)(o=(a=arguments[r]).length)&&(e?c.push(a):(e=a,i=o),n(a)?t=!1:(u=!1,h?t!==a.constructor&&(t=!1):t=a.constructor),h+=o);if(!h)return[];if(!c.length)return e;if(u)return e.concat.apply(e,c);if(t){for((s=new t(h)).set(e),r=0;r<c.length;r++)a=c[r],s.set(a,i),i+=a.length;return s}for(s=new Array(h),l=0;l<e.length;l++)s[l]=e[l];for(r=0;r<c.length;r++){for(a=c[r],l=0;l<a.length;l++)s[i+l]=a[l];i+=l}return s},r.maxRowLength=function(t){return l(t,Math.max,0)},r.minRowLength=function(t){return l(t,Math.min,1/0)}},{}],700:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../constants/numerical").BADNUM,i=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(i,"")),n(t)?Number(t):a}},{"../constants/numerical":692,"fast-isnumeric":227}],701:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],702:[function(t,e,r){"use strict";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],703:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("../plots/attributes"),o=t("../components/colorscale/scales"),s=t("../constants/interactions").DESELECTDIM,l=t("./nested_property"),c=t("./regex").counter,u=t("./mod").modHalf,h=t("./array").isArrayOrTypedArray;function f(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&h(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var a={},i=a,o={set:function(t){i=t}};return n.coerceFunction(t,o,a,e),i!==a}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){h(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var a=String(r[n]);if("/"===a.charAt(0)&&"/"===a.charAt(a.length-1)){if(new RegExp(a.substr(1,a.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,a){!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var a="number"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return a(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var a=n.regex||c(r);"string"==typeof t&&a.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var a=t.split("+"),i=0;i<a.length;){var o=a[i];-1===n.flags.indexOf(o)||a.indexOf(o)<i?a.splice(i,1):i++}a.length?e.set(a.join("+")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,a){function i(t,e,n){var a,i={set:function(t){a=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,i,n,e),a}var o=2===a.dimensions||"1-2"===a.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,h,f,p=a.items,d=[],g=Array.isArray(p),v=g&&o&&Array.isArray(p[0]),m=o&&g&&!v,y=g&&!m?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],h=m?p.length:g?p[s].length:c.length,l=0;l<h;l++)u=m?p[l]:g?p[s][l]:p,void 0!==(f=i(c[l],u,(n[s]||[])[l]))&&(d[s][l]=f);else for(s=0;s<y;s++)void 0!==(f=i(t[s],g?p[s]:p,n[s]))&&(d[s]=f);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),a=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var i=0;i<t.length;i++)if(a){if(!Array.isArray(t[i])||!e.freeLength&&t[i].length!==r[i].length)return!1;for(var o=0;o<t[i].length;o++)if(!f(t[i][o],n?r[i][o]:r))return!1}else if(!f(t[i],n?r[i]:r))return!1;return!0}}},r.coerce=function(t,e,n,a,i){var o=l(n,a).get(),s=l(t,a),c=l(e,a),u=s.get(),p=e._template;if(void 0===u&&p&&(u=l(p,a).get(),p=0),void 0===i&&(i=o.dflt),o.arrayOk&&h(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,i,o);var g=c.get();return p&&g===i&&!f(u,o)&&(d(u=l(p,a).get(),c,i,o),g=c.get()),g},r.coerce2=function(t,e,n,a,i){var o=l(t,a),s=r.coerce(t,e,n,a,i),c=o.get();return null!=c&&s},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+".family",r.family),n.size=t(e+".size",r.size),n.color=t(e+".color",r.color),n},r.coerceHoverinfo=function(t,e,n){var a,o=e._module.attributes,s=o.hoverinfo?o:i,l=s.hoverinfo;if(1===n._dataLength){var c="all"===l.dflt?l.flags.slice():l.dflt.split("+");c.splice(c.indexOf("name"),1),a=c.join("+")}return r.coerce(t,e,s,"hoverinfo",a)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,a=t.marker.opacity;if(void 0!==a)h(a)||t.selected||t.unselected||(r=a,n=s*a),e("selected.marker.opacity",r),e("unselected.marker.opacity",n)}},r.validate=f},{"../components/colorscale/scales":606,"../constants/interactions":691,"../plots/attributes":761,"./array":699,"./mod":723,"./nested_property":724,"./regex":732,"fast-isnumeric":227,tinycolor2:535}],704:[function(t,e,r){"use strict";var n,a,i=t("d3"),o=t("fast-isnumeric"),s=t("./loggers"),l=t("./mod").mod,c=t("../constants/numerical"),u=c.BADNUM,h=c.ONEDAY,f=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,v=t("../registry"),m=i.time.format.utc,y=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,x=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&v.componentsRegistry.calendars&&"string"==typeof t&&"gregorian"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){return _(t)?e?v.getComponentMethod("calendars","CANONICAL_SUNDAY")[t]:v.getComponentMethod("calendars","CANONICAL_TICK")[t]:e?"2000-01-02":"2000-01-01"},r.dfltRange=function(t){return _(t)?v.getComponentMethod("calendars","DFLTRANGE")[t]:["2000-01-01","2001-01-01"]},r.isJSDate=function(t){return"object"==typeof t&&null!==t&&"function"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var i=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;i=i-s/2+l(o-i+s/2,s)}return(t=Number(t)-i)>=n&&t<=a?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),m=t.charAt(0);!c||"G"!==m&&"g"!==m||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var T=k[1],A=k[3]||"1",M=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),L=Number(k[11]||0);if(c){if(2===T.length)return u;var C;T=Number(T);try{var P=v.getComponentMethod("calendars","getCal")(e);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(T,P.toMonthIndex(T,A,O),M)}else C=P.newDate(T,Number(A),M)}catch(t){return u}return C?(C.toJD()-g)*h+S*f+E*p+L*d:u}T=2===T.length?(Number(T)+2e3-b)%100+b:Number(T),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(T),z.getUTCMonth()!==A?u:z.getUTCDate()!==M?u:z.getTime()+L*d},n=r.MIN_MS=r.dateTime2ms("-9999"),a=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*h,T=3*f,A=5*p;function M(t,e,r,n,a){if((e||r||n||a)&&(t+=" "+w(e,2)+":"+w(r,2),(n||a)&&(t+=":"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+="."+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=a))return u;e||(e=0);var i,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/h)+g,E=Math.floor(l(t,h));try{i=v.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){i=m("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=e<k?Math.floor(E/f):0,s=e<k?Math.floor(E%f/p):0,c=e<T?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),i=m("%Y-%m-%d")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<T?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return M(i,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+h&&t<=a-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(i.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var a=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(a)}var L=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if("y"===r)e=i.year;else if("m"===r)e=i.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var a=(100+Math.min(l(t/d,60),L[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(t,r)+"\n"+E(i.dayMonthYear,t,n,a);e=i.dayMonth+"\n"+i.year}return E(e,t,n,a)};var C=3*h;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var a=Math.round(t/h)+g,i=v.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return e%12?i.add(o,e,"m"):i.add(o,e/12,"y"),(o.toJD()-g)*h+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+C);return c.setUTCMonth(c.getUTCMonth()+e)+n-C},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,s=0,l=0,c=_(e)&&v.getComponentMethod("calendars","getCal")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%h))if(c)try{1===(r=c.fromJD(n/h+g)).day()?1===r.month()?a++:i++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?a++:i++:s++}else l++;s+=i+=a;var f=t.length-l;return{exactYears:a/f,exactMonths:i/f,exactDays:s/f}}},{"../constants/numerical":692,"../registry":845,"./loggers":720,"./mod":723,d3:164,"fast-isnumeric":227}],705:[function(t,e,r){"use strict";var n=t("d3"),a=t("./loggers");function i(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function o(t,e,r){var n="plotly.js-style-"+t,i=document.getElementById(n);i||((i=document.createElement("style")).setAttribute("id",n),i.appendChild(document.createTextNode("")),document.head.appendChild(i));var o=i.sheet;o.insertRule?o.insertRule(e+"{"+r+"}",0):o.addRule?o.addRule(e,r,0):a.warn("addStyleRule failed")}e.exports={getGraphDiv:function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null==t)throw new Error("DOM element provided is null or undefined");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed("js-plotly-plot")},removeElement:i,addStyleRule:function(t,e){o("global",t,e)},addRelatedStyleRule:o,deleteRelatedStyleRule:function(t){var e="plotly.js-style-"+t,r=document.getElementById(e);r&&i(r)}}},{"./loggers":720,d3:164}],706:[function(t,e,r){"use strict";var n=t("events").EventEmitter,a={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,a){"undefined"!=typeof jQuery&&jQuery(t).trigger(n,a),e.emit(n,a),r.emit(n,a)},t},triggerHandler:function(t,e,r){var n,a;"undefined"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var i=t._ev;if(!i)return n;var o,s=i._events[e];if(!s)return n;function l(t){return t.listener?(i.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(i,[r]))):t.apply(i,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return a=l(s[o]),void 0!==n?n:a},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=a},{events:105}],707:[function(t,e,r){"use strict";var n=t("./is_plain_object.js"),a=Array.isArray;function i(t,e,r,o){var s,l,c,u,h,f,p=t[0],d=t.length;if(2===d&&a(p)&&a(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&"object"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&a(u)?p[l]=u:e&&u&&(n(u)||(h=a(u)))?(h?(h=!1,f=c&&a(c)?c:[]):f=c&&n(c)?c:{},p[l]=i([f,u],e,r,o)):("undefined"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return i(arguments,!1,!1,!1)},r.extendDeep=function(){return i(arguments,!0,!1,!1)},r.extendDeepAll=function(){return i(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return i(arguments,!0,!1,!0)}},{"./is_plain_object.js":717}],708:[function(t,e,r){"use strict";e.exports=function(t){for(var e={},r=[],n=0,a=0;a<t.length;a++){var i=t[a];1!==e[i]&&(e[i]=1,r[n++]=i)}return r}},{}],709:[function(t,e,r){"use strict";function n(t){return!0===t.visible}function a(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?a:n),i=[],o=0;o<t.length;o++){var s=t[o];r(s)&&i.push(s)}return i}},{}],710:[function(t,e,r){"use strict";var n=t("country-regex"),a=t("../lib"),i=Object.keys(n),o={"ISO-3":a.identity,"USA-states":a.identity,"country names":function(t){for(var e=0;e<i.length;e++){var r=i[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return a.log("Unrecognized country name: "+t+"."),!1}};e.exports={locationToFeature:function(t,e,r){if(!e||"string"!=typeof e)return!1;var n,i,s,l=o[t](e);if(l){if("USA-states"===t)for(n=[],s=0;s<r.length;s++)(i=r[s]).properties&&i.properties.gu&&"USA"===i.properties.gu&&n.push(i);else n=r;for(s=0;s<n.length;s++)if((i=n[s]).id===l)return i;a.log(["Location with id",l,"does not have a matching topojson feature at this resolution."].join(" "))}return!1}}},{"../lib":716,"country-regex":135}],711:[function(t,e,r){"use strict";var n=t("../constants/numerical").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],a=[],i=0;i<t.length;i++){var o=t[i].lonlat;o[0]!==n?a.push(o):!e&&a.length>0&&(r.push(a),a=[])}return a.length>0&&r.push(a),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:"MultiPolygon",coordinates:e}},r.makeBlank=function(){return{type:"Point",coordinates:[]}}},{"../constants/numerical":692}],712:[function(t,e,r){"use strict";var n,a,i,o=t("./mod").mod;function s(t,e,r,n,a,i,o,s){var l=r-t,c=a-t,u=o-a,h=n-e,f=i-e,p=s-i,d=l*p-u*h;if(0===d)return null;var g=(c*p-u*f)/d,v=(c*h-l*f)/d;return v<0||v>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function l(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,s=a-e;return o*o+s*s}var l=n*e-a*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,a,i,o,c){if(s(t,e,r,n,a,i,o,c))return 0;var u=r-t,h=n-e,f=o-a,p=c-i,d=u*u+h*h,g=f*f+p*p,v=Math.min(l(u,h,d,a-t,i-e),l(u,h,d,o-t,c-e),l(f,p,g,t-a,e-i),l(f,p,g,r-a,n-i));return Math.sqrt(v)},r.getTextLocation=function(t,e,r,s){if(t===a&&s===i||(n={},a=t,i=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(a=r);var c=r.x<i?i-r.x:r.x>o?r.x-o:0,h=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<c;){if(a=(f+p)/2,o=(i=t.getPointAtLength(a))[r]-e,Math.abs(o)<l)return i;u*o>0?p=a:f=a,h++}return i}},{"./mod":723}],713:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,c=i(s),u=1;function h(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=i(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,a,s,d,g,v=t.color,m=l(v),y=l(e),x=o.extractOpts(t),b=[];if(n=void 0!==x.colorscale?o.makeColorScaleFuncFromTrace(t):f,a=m?function(t,e){return void 0===t[e]?c:i(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,m||y)for(var _=0;_<r;_++)d=a(v,_),g=s(e,_),b[_]=h(d,g);else b=h(i(v),e);return b},parseColorScale:function(t,e){void 0===e&&(e=1);var r=o.extractOpts(t);return(r.reversescale?o.flipScale(r.colorscale):r.colorscale).map(function(t){var r=t[0],n=a(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}}},{"../components/color/attributes":590,"../components/colorscale":603,"./array":699,"color-normalize":121,"fast-isnumeric":227,tinycolor2:535}],714:[function(t,e,r){"use strict";var n=t("./identity");function a(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:a,descend:n,wrap:a,unwrap:function(t){return t[0]}}},{"./identity":715}],715:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],716:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../constants/numerical"),o=i.FP_SAFE,s=i.BADNUM,l=e.exports={};l.nestedProperty=t("./nested_property"),l.keyedContainer=t("./keyed_container"),l.relativeAttr=t("./relative_attr"),l.isPlainObject=t("./is_plain_object"),l.toLogRange=t("./to_log_range"),l.relinkPrivateKeys=t("./relink_private");var c=t("./array");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D,l.ensureArray=c.ensureArray,l.concat=c.concat,l.maxRowLength=c.maxRowLength,l.minRowLength=c.minRowLength;var u=t("./mod");l.mod=u.mod,l.modHalf=u.modHalf;var h=t("./coerce");l.valObjectMeta=h.valObjectMeta,l.coerce=h.coerce,l.coerce2=h.coerce2,l.coerceFont=h.coerceFont,l.coerceHoverinfo=h.coerceHoverinfo,l.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,l.validate=h.validate;var f=t("./dates");l.dateTime2ms=f.dateTime2ms,l.isDateTime=f.isDateTime,l.ms2DateTime=f.ms2DateTime,l.ms2DateTimeLocal=f.ms2DateTimeLocal,l.cleanDate=f.cleanDate,l.isJSDate=f.isJSDate,l.formatDate=f.formatDate,l.incrementMonth=f.incrementMonth,l.dateTick0=f.dateTick0,l.dfltRange=f.dfltRange,l.findExactDates=f.findExactDates,l.MIN_MS=f.MIN_MS,l.MAX_MS=f.MAX_MS;var p=t("./search");l.findBin=p.findBin,l.sorterAsc=p.sorterAsc,l.sorterDes=p.sorterDes,l.distinctVals=p.distinctVals,l.roundUp=p.roundUp,l.sort=p.sort,l.findIndexOfMin=p.findIndexOfMin;var d=t("./stats");l.aggNums=d.aggNums,l.len=d.len,l.mean=d.mean,l.median=d.median,l.midRange=d.midRange,l.variance=d.variance,l.stdev=d.stdev,l.interp=d.interp;var g=t("./matrix");l.init2dArray=g.init2dArray,l.transposeRagged=g.transposeRagged,l.dot=g.dot,l.translationMatrix=g.translationMatrix,l.rotationMatrix=g.rotationMatrix,l.rotationXYMatrix=g.rotationXYMatrix,l.apply2DTransform=g.apply2DTransform,l.apply2DTransform2=g.apply2DTransform2;var v=t("./angles");l.deg2rad=v.deg2rad,l.rad2deg=v.rad2deg,l.angleDelta=v.angleDelta,l.angleDist=v.angleDist,l.isFullCircle=v.isFullCircle,l.isAngleInsideSector=v.isAngleInsideSector,l.isPtInsideSector=v.isPtInsideSector,l.pathArc=v.pathArc,l.pathSector=v.pathSector,l.pathAnnulus=v.pathAnnulus;var m=t("./anchor_utils");l.isLeftAnchor=m.isLeftAnchor,l.isCenterAnchor=m.isCenterAnchor,l.isRightAnchor=m.isRightAnchor,l.isTopAnchor=m.isTopAnchor,l.isMiddleAnchor=m.isMiddleAnchor,l.isBottomAnchor=m.isBottomAnchor;var y=t("./geometry2d");l.segmentsIntersect=y.segmentsIntersect,l.segmentDistance=y.segmentDistance,l.getTextLocation=y.getTextLocation,l.clearLocationCache=y.clearLocationCache,l.getVisibleSegment=y.getVisibleSegment,l.findPointOnPath=y.findPointOnPath;var x=t("./extend");l.extendFlat=x.extendFlat,l.extendDeep=x.extendDeep,l.extendDeepAll=x.extendDeepAll,l.extendDeepNoArrays=x.extendDeepNoArrays;var b=t("./loggers");l.log=b.log,l.warn=b.warn,l.error=b.error;var _=t("./regex");l.counterRegex=_.counter;var w=t("./throttle");l.throttle=w.throttle,l.throttleDone=w.done,l.clearThrottle=w.clear;var k=t("./dom");function T(t){var e={};for(var r in t)for(var n=t[r],a=0;a<n.length;a++)e[n[a]]=+r;return e}l.getGraphDiv=k.getGraphDiv,l.isPlotDiv=k.isPlotDiv,l.removeElement=k.removeElement,l.addStyleRule=k.addStyleRule,l.addRelatedStyleRule=k.addRelatedStyleRule,l.deleteRelatedStyleRule=k.deleteRelatedStyleRule,l.clearResponsive=t("./clear_responsive"),l.makeTraceGroups=t("./make_trace_groups"),l._=t("./localize"),l.notifier=t("./notifier"),l.filterUnique=t("./filter_unique"),l.filterVisible=t("./filter_visible"),l.pushUnique=t("./push_unique"),l.cleanNumber=t("./clean_number"),l.ensureNumber=function(t){return a(t)?(t=Number(t))<-o||t>o?s:a(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},l.noop=t("./noop"),l.identity=t("./identity"),l.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},l.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var a=0;a<e.length;a++){var i=e[a],o=l.nestedProperty(t,i.replace("?",r)),s=l.nestedProperty(t,i.replace("?",n)),c=o.get();o.set(s.get()),s.set(c)}},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var a=t.length,i=new Array(a),o=0;o<a;o++)i[o]=e(t[o],r,n);return i},l.randstr=function t(e,r,n,a){if(n||(n=16),void 0===r&&(r=24),r<=0)return"0";var i,o,s=Math.log(Math.pow(2,r))/Math.log(n),c="";for(i=2;s===1/0;i*=2)s=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var u=s-Math.floor(s);for(i=0;i<Math.floor(s);i++)c=Math.floor(Math.random()*n).toString(n)+c;u&&(o=Math.pow(n,u),c=Math.floor(Math.random()*o).toString(n)+c);var h=parseInt(c,n);return e&&e[c]||h!==1/0&&h>=Math.pow(2,r)?a>10?(l.warn("randstr failed uniqueness"),c):t(e,r,n,(a||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(i=0,n=0;n<l;n++)(a=r+n+1-e)<-o?a-=s*Math.round(a/s):a>=s&&(a-=s*Math.floor(a/s)),a<0?a=-1-a:a>=o&&(a=s-1-a),i+=t[a]*c[n];u[r]=i}return u},l.syncOrAsync=function(t,e,r){var n;function a(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?a=!0:i=!1;if(a&&!i)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r,n){var a="function"==typeof n;if(l.isArrayOrTypedArray(t))for(var i=Math.min(t.length,e.length),o=0;o<i;o++){var s=t[o];e[o][r]=a?n(s):s}},l.mergeArrayCastPositive=function(t,e,r){return l.mergeArray(t,e,r,function(t){var e=+t;return isFinite(e)&&e>0?e:0})},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var a=0;a<e.length;a++)e[a][r]=n(t[a])},l.castOption=function(t,e,r,n){n=n||l.identity;var a=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(a)?Array.isArray(e)&&l.isArrayOrTypedArray(a[e[0]])?n(a[e[0]][e[1]]):n(a[e]):a},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var a=l.nestedProperty(e,n).get();return Array.isArray(a)?void 0:a},l.tagSelected=function(t,e,r){var n,a,i=e.selectedpoints,o=e._indexToPoints;o&&(n=T(o));for(var s=0;s<i.length;s++){var c=i[s];if(l.isIndex(c)){var u=n?n[c]:c,h=r?r[u]:u;void 0!==(a=h)&&a<t.length&&(t[h].selected=1)}}},l.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=T(r),a=[],i=0;i<e.length;i++){var o=e[i];if(l.isIndex(o)){var s=n[o];l.isIndex(s)&&a.push(s)}}return a}return e},l.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,a,i,o=Object.keys(t);for(n=0;n<o.length;n++)i=t[a=o[n]],"_"!==a.charAt(0)&&"function"!=typeof i&&("module"===a?r[a]=i:Array.isArray(i)?r[a]="colorscale"===a?i.slice():i.slice(0,3):l.isTypedArray(i)?r[a]=i.subarray(0,3):r[a]=i&&"object"==typeof i?l.minExtend(t[a],e[a]):i);for(o=Object.keys(e),n=0;n<o.length;n++)"object"==typeof(i=e[a=o[n]])&&a in r&&"object"==typeof r[a]||(r[a]=i);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isIE=function(){return"undefined"!=typeof window.navigator.msSaveBlob};var A=/MSIE [1-9]\./;l.isIE9orBelow=function(){return l.isIE()&&A.test(window.navigator.userAgent)};var M=/Version\/[\d\.]+.*Safari/;l.isSafari=function(){return M.test(window.navigator.userAgent)},l.isD3Selection=function(t){return t&&"function"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var a=t.select(e+(r?"."+r:""));if(a.size())return a;var i=t.append(e);return r&&i.classed(r,!0),n&&i.call(n),i},l.ensureSingleById=function(t,e,r,n){var a=t.select(e+"#"+r);if(a.size())return a;var i=t.append(e).attr("id",r);return n&&i.call(n),i},l.objectFromPath=function(t,e){for(var r,n=t.split("."),a=r={},i=0;i<n.length;i++){var o=n[i],s=null,l=n[i].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],r=r[o]=[],i===n.length-1?r[s]=e:r[s]={},r=r[s]):(i===n.length-1?r[o]=e:r[o]={},r=r[o])}return a};var S=/^([^\[\.]+)\.(.+)?/,E=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,a,i,o,s;if("object"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(S))?(a=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(a))[n])):(e=r.match(E))?(a=t[r],n=e[1],i=parseInt(e[2]),delete t[r],t[n]=t[n]||[],"."===e[3]?(s=e[4],o=t[n][i]=t[n][i]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(a)))):t[n][i]=l.expandObjectPaths(a)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),"string"!=typeof e||0===e.length)throw new Error("Separator string required for formatting!");"number"==typeof t&&(t=String(t));var n=/(\d+)(\d{3})/,a=e.charAt(0),i=e.charAt(1),o=t.split("."),s=o[0],l=o.length>1?a+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+i+"$2");return s+l},l.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var L=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,n){return L.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};var C={max:10,count:0,name:"hovertemplate"};l.hovertemplateString=function(){return z.apply(C,arguments)};var P={max:10,count:0,name:"texttemplate"};l.texttemplateString=function(){return z.apply(P,arguments)};var O=/^[:|\|]/;function z(t,e,r){var a=this,i=arguments;e||(e={});var o={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,s,c){var u,h,f,p;for(f=3;f<i.length;f++)if(u=i[f]){if(u.hasOwnProperty(s)){h=u[s];break}if(L.test(s)||(h=o[s]||l.nestedProperty(u,s).get())&&(o[s]=h),void 0!==h)break}if(void 0===h&&a)return a.count<a.max&&(l.warn("Variable '"+s+"' in "+a.name+" could not be found!"),h=t),a.count===a.max&&l.warn("Too many "+a.name+" warnings - additional warnings will be suppressed"),a.count++,t;if(c){if(":"===c[0]&&(h=(p=r?r.numberFormat:n.format)(c.replace(O,""))(h)),"|"===c[0]){p=r?r.timeFormat.utc:n.time.format.utc;var d=l.dateTime2ms(h);h=l.formatDate(d,c.replace(O,""),!1,p)}}else e.hasOwnProperty(s+"Label")&&(h=e[s+"Label"]);return h})}l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,a=0,i=0;i<r;i++){var o=t.charCodeAt(i)||0,s=e.charCodeAt(i)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(a=10*a+s-48),!l||!c){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var I=2e9;l.seedPseudoRandom=function(){I=2e9},l.pseudoRandom=function(){var t=I;return I=(69069*I+1)%4294967296,Math.abs(I-t)<429496729?l.pseudoRandom():I/4294967296},l.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},a=l.extractOption(t,e,"htx","hovertext");if(l.isValidTextValue(a))return n(a);var i=l.extractOption(t,e,"tx","text");return l.isValidTextValue(i)?n(i):void 0},l.isValidTextValue=function(t){return t||0===t},l.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n<e;n++)-1!==r.indexOf(".")&&(r=(r=r.replace("0%","%")).replace(".%","%"));return r},l.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||"none"===e},l.getTextTransform=function(t){var e,r=t.textX,n=t.textY,a=t.targetX,i=t.targetY,o=t.scale,s=t.rotate;return o<1?e="scale("+o+") ":(o=1,e=""),"translate("+(a-o*r)+" "+(i-o*n)+")"+e+(s?"rotate("+s+" "+r+" "+n+") ":"")}},{"../constants/numerical":692,"./anchor_utils":697,"./angles":698,"./array":699,"./clean_number":700,"./clear_responsive":702,"./coerce":703,"./dates":704,"./dom":705,"./extend":707,"./filter_unique":708,"./filter_visible":709,"./geometry2d":712,"./identity":715,"./is_plain_object":717,"./keyed_container":718,"./localize":719,"./loggers":720,"./make_trace_groups":721,"./matrix":722,"./mod":723,"./nested_property":724,"./noop":725,"./notifier":726,"./push_unique":730,"./regex":732,"./relative_attr":733,"./relink_private":734,"./search":735,"./stats":738,"./throttle":741,"./to_log_range":742,d3:164,"fast-isnumeric":227}],717:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],718:[function(t,e,r){"use strict";var n=t("./nested_property"),a=/^\w*$/;e.exports=function(t,e,r,i){var o,s,l;r=r||"name",i=i||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var h=a.test(i),f={set:function(t,e){var a=null===e?4:0;if(!s){if(!l||4===a)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===a)return;a|=3,o=s.length,u[t]=o}else e!==(h?s[o][i]:n(s[o],i).get())&&(a|=2);var p=s[o]=s[o]||{};return p[r]=t,h?p[i]=e:n(p,i).set(e),null!==e&&(a&=-5),c[o]=c[o]|a,f},get:function(t){if(s){var e=u[t];return void 0===e?void 0:h?s[e][i]:n(s[e],i).get()}},rename:function(t,e){var n=u[t];return void 0===n?f:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,f)},remove:function(t){var e=u[t];if(void 0===e)return f;var a=s[e];if(Object.keys(a).length>2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(a,i).set(null),c[e]=6|c[e];return f},constructUpdate:function(){for(var t,a,o={},l=Object.keys(c),u=0;u<l.length;u++)a=l[u],t=e+"["+a+"]",s[a]?(1&c[a]&&(o[t+"."+r]=s[a][r]),2&c[a]&&(o[t+"."+i]=h?4&c[a]?null:s[a][i]:4&c[a]?null:n(s[a],i).get())):o[t]=null;return o}};return f}},{"./nested_property":724}],719:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t,e){for(var r=t._context.locale,a=0;a<2;a++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}i=n.localeRegistry}var c=r.split("-")[0];if(c===r)break;r=c}return e}},{"../registry":845}],720:[function(t,e,r){"use strict";var n=t("../plot_api/plot_config").dfltConfig,a=e.exports={};function i(t,e){if(t&&t.apply)try{return void t.apply(console,e)}catch(t){}for(var r=0;r<e.length;r++)try{t(e[r])}catch(t){console.log(e[r])}}a.log=function(){if(n.logging>1){for(var t=["LOG:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.trace||console.log,t)}},a.warn=function(){if(n.logging>0){for(var t=["WARN:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.trace||console.log,t)}},a.error=function(){if(n.logging>0){for(var t=["ERROR:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.error,t)}}},{"../plot_api/plot_config":752}],721:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e,r){var a=t.selectAll("g."+r.replace(/\s/g,".")).data(e,function(t){return t[0].trace.uid});a.exit().remove(),a.enter().append("g").attr("class",r),a.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return a.each(function(t){t[0][i]=n.select(this)}),a}},{d3:164}],722:[function(t,e,r){"use strict";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,a=t.length;for(e=0;e<a;e++)n=Math.max(n,t[e].length);var i=new Array(n);for(e=0;e<n;e++)for(i[e]=new Array(a),r=0;r<a;r++)i[e][r]=t[r][e];return i},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,a,i=t.length;if(t[0].length)for(n=new Array(i),a=0;a<i;a++)n[a]=r.dot(t[a],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),a=0;a<o.length;a++)n[a]=r.dot(t,o[a])}else for(n=0,a=0;a<i;a++)n+=t[a]*e[a];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],723:[function(t,e,r){"use strict";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],724:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;e.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,i,o,l=0,c=e.split(".");l<c.length;){if(r=String(c[l]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)throw"bad property string";c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split("]["),o=0;o<i.length;o++)l++,c.splice(l,0,Number(i[o]))}l++}return"object"!=typeof t?function(t,e,r){return{set:function(){throw"bad container"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:s(t,c,e),get:function t(e,r){return function(){var n,i,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(i=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(i=!1);return i?o[0]:o}if("number"==typeof n&&!a(c))return;if("object"!=typeof(c=c[n])||null===c)return}if("object"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var i=/(^|\.)args\[/;function o(t,e){return void 0===t||null===t&&!e.match(i)}function s(t,e,r){return function(n){var i,s,h=t,f="",p=[[t,f]],d=o(n,r);for(s=0;s<e.length-1;s++){if("number"==typeof(i=e[s])&&!a(h))throw"array index but container is not an array";if(-1===i){if(d=!c(h,e.slice(s+1),n,r))break;return}if(!u(h,i,e[s+1],d))break;if("object"!=typeof(h=h[i])||null===h)throw"container is not an object";f=l(f,i),p.push([h,f])}if(d){if(s===e.length-1&&(delete h[e[s]],Array.isArray(h)&&+e[s]==h.length-1))for(;h.length&&void 0===h[h.length-1];)h.pop()}else h[e[s]]=n}}function l(t,e){var r=e;return n(e)?r="["+e+"]":t&&(r="."+e),t+r}function c(t,e,r,n){var i,l=a(r),c=!0,h=r,f=n.replace("-1",0),p=!l&&o(r,f),d=e[0];for(i=0;i<t.length;i++)f=n.replace("-1",i),l&&(p=o(h=r[i%r.length],f)),p&&(c=!1),u(t,i,d,p)&&s(t[i],e,n.replace("-1",i))(h);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]="number"==typeof r?[]:{}}return!0}},{"./array":699,"fast-isnumeric":227}],725:[function(t,e,r){"use strict";e.exports=function(){}},{}],726:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=[];e.exports=function(t,e){if(-1===i.indexOf(t)){i.push(t);var r=1e3;a(e)?r=e:"long"===e&&(r=3e3);var o=n.select("body").selectAll(".plotly-notifier").data([0]);o.enter().append("div").classed("plotly-notifier",!0),o.selectAll(".notifier-note").data(i).enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(t){var e=n.select(this);e.append("button").classed("notifier-close",!0).html("&times;").on("click",function(){e.transition().call(s)});for(var a=e.append("p"),i=t.split(/<br\s*\/?>/g),o=0;o<i.length;o++)o&&a.append("br"),a.append("span").text(i[o]);e.transition().duration(700).style("opacity",1).transition().delay(r).call(s)})}function s(t){t.duration(700).style("opacity",0).each("end",function(t){var e=i.indexOf(t);-1!==e&&i.splice(e,1),n.select(this).remove()})}}},{d3:164,"fast-isnumeric":227}],727:[function(t,e,r){"use strict";var n=t("./setcursor"),a="data-savedcursor";e.exports=function(t,e){var r=t.attr(a);if(e){if(!r){for(var i=(t.attr("class")||"").split(" "),o=0;o<i.length;o++){var s=i[o];0===s.indexOf("cursor-")&&t.attr(a,s.substr(7)).classed(s,!1)}t.attr(a)||t.attr(a,"!!")}n(t,e)}else r&&(t.attr(a,null),"!!"===r?n(t):n(t,r))}},{"./setcursor":736}],728:[function(t,e,r){"use strict";var n=t("./matrix").dot,a=t("../constants/numerical").BADNUM,i=e.exports={};i.tester=function(t){var e,r=t.slice(),n=r[0][0],i=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),i=Math.max(i,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,h=r[0];for(e=1;e<r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===a||r<n||r>i||c===a||c<o||c>s||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===a||l<n||l>i||c===a||c<o||c>s)return!1;var u,h,f,p,d,g=r.length,v=r[0][0],m=r[0][1],y=0;for(u=1;u<g;u++)if(h=v,f=m,v=r[u][0],m=r[u][1],!(l<(p=Math.min(h,v))||l>Math.max(h,v)||c>Math.max(f,m)))if(c<Math.min(f,m))l!==p&&y++;else{if(c===(d=v===h?c:f+(l-h)*(m-f)/(v-h)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}},i.isSegmentBent=function(t,e,r,a){var i,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),h=Math.sqrt(u),f=[-c[1]/h,c[0]/h];for(i=e+1;i<r;i++)if(o=[t[i][0]-l[0],t[i][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,f))>a)return!0;return!1},i.filter=function(t,e){var r=[t[0]],n=0,a=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||i.isSegmentBent(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,a=r.length-1),l=c)}t.length>1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":692,"./matrix":722}],729:[function(t,e,r){(function(r){"use strict";var n=t("./show_no_webgl_msg"),a=t("regl");e.exports=function(t,e){var i=t._fullLayout,o=!0;return i._glcanvas.each(function(n){if(!n.regl&&(!n.pick||i._has("parcoords"))){try{n.regl=a({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}o&&this.addEventListener("webglcontextlost",function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})},!1)}}),o||n({container:i._glcontainer.node()}),o}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":737,regl:500}],730:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],731:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_config").dfltConfig;var i={add:function(t,e,r,n,i){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(i)),t.undoQueue.queue.length>a.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)i.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)i.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};i.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,a=[],i=0;i<e.length;i++)r=e[i],a[i]=r===t?r:"object"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return a}(t,r),e.apply(null,r)},e.exports=i},{"../lib":716,"../plot_api/plot_config":752}],732:[function(t,e,r){"use strict";r.counter=function(t,e,r,n){var a=(e||"")+(r?"":"$"),i=!1===n?"":"^";return"xy"===t?new RegExp(i+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+a):new RegExp(i+t+"([2-9]|[1-9][0-9]+)?"+a)}},{}],733:[function(t,e,r){"use strict";var n=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,a=/^[^\.\[\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(a))throw new Error("bad relativeAttr call:"+[t,e]);t=""}if("^"!==e.charAt(0))break;e=e.slice(1)}return t&&"["!==e.charAt(0)?t+"."+e:t+e}},{}],734:[function(t,e,r){"use strict";var n=t("./array").isArrayOrTypedArray,a=t("./is_plain_object");e.exports=function t(e,r){for(var i in r){var o=r[i],s=e[i];if(s!==o)if("_"===i.charAt(0)||"function"==typeof o){if(i in e)continue;e[i]=o}else if(n(o)&&n(s)&&a(o[0])){if("customdata"===i||"ids"===i)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&a(o[c])&&a(s[c])&&t(s[c],o[c])}else a(o)&&a(s)&&(t(s,o),Object.keys(s).length||delete e[i])}}},{"./array":699,"./is_plain_object":717}],735:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./loggers"),i=t("./identity");function o(t,e){return t<e}function s(t,e){return t<=e}function l(t,e){return t>e}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,u,h=0,f=e.length,p=0,d=f>1?(e[f-1]-e[0])/(f-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);h<f&&p++<100;)u(e[i=Math.floor((h+f)/2)],t)?h=i+1:f=i;return p>90&&a.log("Long binary search..."),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,a=e[n]-e[0]||1,i=a/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+i&&(a=Math.min(a,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:a}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;a<i&&o++<100;)e[n=c((a+i)/2)]<=t?a=n+s:i=n-l;return e[a]},r.sort=function(t,e){for(var r=0,n=0,a=1;a<t.length;a++){var i=e(t[a],t[a-1]);if(i<0?r=1:i>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;a<t.length;a++){var o=e(t[a]);o<n&&(n=o,r=a)}return r}},{"./identity":715,"./loggers":720,"fast-isnumeric":227}],736:[function(t,e,r){"use strict";e.exports=function(t,e){(t.attr("class")||"").split(" ").forEach(function(e){0===e.indexOf("cursor-")&&t.classed(e,!1)}),e&&t.classed("cursor-"+e,!0)}},{}],737:[function(t,e,r){"use strict";var n=t("../components/color"),a=function(){};e.exports=function(t){for(var e in t)"function"==typeof t[e]&&(t[e]=a);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement("div");r.className="no-webgl",r.style.cursor="pointer",r.style.fontSize="24px",r.style.color=n.defaults[0],r.style.position="absolute",r.style.left=r.style.top="0px",r.style.width=r.style.height="100%",r.style["background-color"]=n.lightLine,r.style["z-index"]=30;var i=document.createElement("p");return i.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",i.style.position="relative",i.style.top="50%",i.style.left="50%",i.style.height="30%",i.style.width="50%",i.style.margin="-15% 0 0 -25%",r.appendChild(i),t.container.appendChild(r),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}},{"../components/color":591}],738:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;r.aggNums=function(t,e,i,o){var s,l;if((!o||o>i.length)&&(o=i.length),n(e)||(e=!1),a(i[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,i[s]);i=l}for(s=0;s<o;s++)n(e)?n(i[s])&&(e=t(+e,+i[s])):e=i[s];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,a){return e||(e=r.len(t)),n(a)||(a=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-a,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.median=function(t){var e=t.slice().sort();return r.interp(e,.5)},r.interp=function(t,e){if(!n(e))throw"n should be a finite number";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":699,"fast-isnumeric":227}],739:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":121}],740:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,M){var S=t.text(),L=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),L?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),i={fontSize:r};!function(t,e,r){var i,o,s,l;MathJax.Hub.Queue(function(){return o=a.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})},function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")},function(){var r="math-output-"+a.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt ")),MathJax.Hub.Typeset(l.node())},function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())a.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==i)return MathJax.Hub.setRenderer(i)},function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})}(L[2],i,function(n,a,i){C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return O(),void e();var l=C.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(o.node()),a&&a.node()&&o.node().insertBefore(a.node().cloneNode(!0),o.node().firstChild),o.attr({class:P,height:i.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black",u=o.select("g");u.attr({fill:c,stroke:c});var h=s(u,"width"),f=s(u,"height"),p=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],d=-(r||s(t,"height"))/4;"y"===P[0]?(l.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-h/2,d-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===P[0]?o.attr({x:t.attr("x"),y:d-f/2}):"a"===P[0]&&0!==P.indexOf("atitle")?o.attr({x:0,y:d}):o.attr({x:p,y:+t.attr("y")+d-f/2}),M&&M.call(t,l),e(l)})})):O(),t}function O(){C.empty()||(P=t.attr("class")+"-math",C.select("svg."+P).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(i.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var a=l;if(l=[{node:e}],a.length>1)for(var s=1;s<a.length;s++)M(a[s])}function M(t){var e,a=t.type,o={};if("a"===a){e="a";var s=t.target,c=t.href,u=t.popup;c&&(o={"xlink:xlink:show":"_blank"===s||"_"!==s.charAt(0)?"new":"replace",target:s,"xlink:xlink:href":c},u&&(o.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+u+'");return false;'))}else e="tspan";t.style&&(o.style=t.style);var h=document.createElementNS(i.svg,e);if("sup"===a||"sub"===a){S(r,d),r.appendChild(h);var g=document.createElementNS(i.svg,"tspan");S(g,d),n.select(g).attr("dy",p[a]),o.dy=f[a],r.appendChild(h),r.appendChild(g)}else r.appendChild(h);n.select(h).attr(o),r=t.node=h,l.push(t)}function S(t,e){t.appendChild(document.createTextNode(e))}function L(t){if(1!==l.length){var n=l.pop();t!==n.type&&a.log("Start tag <"+n.type+"> doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else a.log("Ignoring unexpected end tag </"+t+">.",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(m),P=0;P<C.length;P++){var O=C[P],z=O.match(y),I=z&&z[2].toLowerCase(),D=h[I];if("br"===I)u();else if(void 0===D)S(r,E(O));else if(z[1])L(I);else{var R=z[4],F={type:I},B=T(R,b);if(B?(B=B.replace(A,"$1 fill:"),D&&(B+=";"+D)):D&&(B=D),B&&(F.style=B),"a"===I){s=!0;var N=T(R,_);if(N){var j=document.createElement("a");j.href=N,-1!==g.indexOf(j.protocol)&&(F.href=encodeURI(decodeURI(N)),F.target=T(R,w)||"_blank",F.popup=T(R,k))}}M(F)}}return s}(t.node(),S)&&t.style("pointer-events","all"),r.positionText(t),M&&M.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},f={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},d="\u200b",g=["http:","https:","mailto:","",void 0,":"],v=r.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=/<br(\s+.*)?>/i;r.BR_TAG_ALL=/<br(\s+.*)?>/gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],a="...".length,i=t.split(m),o=[],s="",l=0,c=0;c<i.length;c++){var u=i[c],h=u.match(y),f=h&&h[2].toLowerCase();if(f)-1!==n.indexOf(f)&&(o.push(u),s=f);else{var p=u.length;if(l+p<r)o.push(u),l+=p;else if(l<r){var d=r-l;s&&("br"!==s||d<=a||p<=a)&&o.pop(),r>a?o.push(u.substr(0,d-a)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var M={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):M[e])||t})}function L(t,e,r){var n,a,i,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},i="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:a()-c.top+"px",left:i()-c.left+"px","z-index":1e3}),this}}r.convertEntities=E,r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function a(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var i=a("x",e),o=a("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:i,y:o})})},r.makeEditable=function(t,e){var r=e.gd,a=e.delegate,i=n.dispatch("edit","input","cancel"),o=a||t;if(t.style({"pointer-events":a?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var a=n.select(r).select(".svg-container"),o=a.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(L(t,a,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,a=n.select(this).attr("class");(e=a?"."+a.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),i.edit.call(t,o)}).on("focus",function(){var t=this;r._editing=!0,n.select(document).on("mouseup",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on("keyup",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),i.cancel.call(t,this.textContent)):(i.input.call(t,this.textContent),n.select(this).call(L(t,a,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var a,s=o.attr("class");(a=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(a).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,i,"on")}},{"../constants/alignment":685,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],741:[function(t,e,r){"use strict";var n={};function a(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var i=n[t],o=Date.now();if(!i){for(var s in n)n[s].ts<o-6e4&&delete n[s];i=n[t]={ts:0,timer:null}}function l(){r(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}a(i),o>i.ts+e?l():i.timer=setTimeout(function(){l(),i.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],742:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":227}],743:[function(t,e,r){"use strict";var n=e.exports={},a=t("../plots/geo/constants").locationmodeToLayer,i=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=a[t.locationmode],n=e.objects[r];return i(e,n).features}},{"../plots/geo/constants":792,"topojson-client":538}],744:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],745:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],746:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s<i.length;s++)if((r=t.match(i[s]))&&0===r.index){e=r[0];break}if(e||(e=a[a.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||""}:{array:e,index:"",property:""}}},{"../registry":845}],747:[function(t,e,r){"use strict";var n=t("../lib"),a=n.extendFlat,i=n.isPlainObject,o={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},s={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},l=o.flags.slice().concat(["fullReplot"]),c=s.flags.slice().concat("layoutReplot");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function h(t,e,r){var n=a({},t);for(var o in n){var s=n[o];i(s)&&(n[o]=f(s,e,r,o))}return"from-root"===r&&(n.editType=e),n}function f(t,e,r,n){if(t.valType){var i=a({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)i.items[o]=f(t.items[o],e,"from-root")}return i}return h(t,e,"_"===n.charAt(0)?"nested":"from-root")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&"none"!==r)for(var n=r.split("+"),a=0;a<n.length;a++)t[n[a]]=!0},overrideAll:h}},{"../lib":716}],748:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("gl-mat4/fromQuat"),i=t("../registry"),o=t("../lib"),s=t("../plots/plots"),l=t("../plots/cartesian/axis_ids"),c=t("../components/color"),u=l.cleanId,h=l.getFromTrace,f=i.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&"paper"!==r&&(t[e]=u(r,n))}function d(t){function e(e,r){var n=t[e],a=t.title&&t.title[r];n&&!a&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&("string"!=typeof t.title&&"number"!=typeof t.title||(t.title={text:t.title}),e("titlefont","font"),e("titleposition","position"),e("titleside","side"),e("titleoffset","offset"))}function g(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,("string"==typeof e||"number"==typeof e)&&String(e)}function v(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var a,i=Math.min(t.length,e.length);for(a=0;a<i&&t.charAt(a)===e.charAt(a);a++);return t.substr(0,a).trim()}function m(t){var e="middle",r="center";return"string"==typeof t&&(-1!==t.indexOf("top")?e="top":-1!==t.indexOf("bottom")&&(e="bottom"),-1!==t.indexOf("left")?r="left":-1!==t.indexOf("right")&&(r="right")),e+" "+r}function y(t,e){return e in t&&"object"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e<g.length;e++){var v=g[e];if(i&&i.test(v)){var m=t[v];m.anchor&&"free"!==m.anchor&&(m.anchor=u(m.anchor)),m.overlaying&&(m.overlaying=u(m.overlaying)),m.type||(m.isdate?m.type="date":m.islog?m.type="log":!1===m.isdate&&!1===m.islog&&(m.type="linear")),"withzero"!==m.autorange&&"tozero"!==m.autorange||(m.autorange=!0,m.rangemode="tozero"),delete m.islog,delete m.isdate,delete m.categories,y(m,"domain")&&delete m.domain,void 0!==m.autotick&&(void 0===m.tickmode&&(m.tickmode=m.autotick?"auto":"linear"),delete m.autotick),d(m)}else if(l&&l.test(v)){d(t[v].radialaxis)}else if(h&&h.test(v)){var x=t[v];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(f&&f.test(v)){var b=t[v],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],k=_[1],T=_[2],A=a([],w),M=[];for(n=0;n<3;++n)M[n]=k[n]+T*A[2+4*n];b.camera={eye:{x:M[0],y:M[1],z:M[2]},center:{x:k[0],y:k[1],z:k[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<S;e++){var E=t.annotations[e];o.isPlainObject(E)&&(E.ref&&("paper"===E.ref?(E.xref="paper",E.yref="paper"):"data"===E.ref&&(E.xref="x",E.yref="y"),delete E.ref),p(E,"xref"),p(E,"yref"))}var L=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<L;e++){var C=t.shapes[e];o.isPlainObject(C)&&(p(C,"xref"),p(C,"yref"))}var P=t.legend;return P&&(P.x>3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,a=t[e];if("histogramy"===a.type&&"xbins"in a&&!("ybins"in a)&&(a.ybins=a.xbins,delete a.xbins),a.error_y&&"opacity"in a.error_y){var l=c.defaults,h=a.error_y.color||(f(a,"bar")?c.defaultLine:l[e%l.length]);a.error_y.color=c.addOpacity(c.rgb(h),c.opacity(h)*a.error_y.opacity),delete a.error_y.opacity}if("bardir"in a&&("h"!==a.bardir||!f(a,"bar")&&"histogram"!==a.type.substr(0,9)||(a.orientation="h",r.swapXYData(a)),delete a.bardir),"histogramy"===a.type&&r.swapXYData(a),"histogramx"!==a.type&&"histogramy"!==a.type||(a.type="histogram"),"scl"in a&&!("colorscale"in a)&&(a.colorscale=a.scl,delete a.scl),"reversescl"in a&&!("reversescale"in a)&&(a.reversescale=a.reversescl,delete a.reversescl),a.xaxis&&(a.xaxis=u(a.xaxis,"x")),a.yaxis&&(a.yaxis=u(a.yaxis,"y")),f(a,"gl3d")&&a.scene&&(a.scene=s.subplotsRegistry.gl3d.cleanId(a.scene)),!f(a,"pie-like")&&!f(a,"bar-like"))if(Array.isArray(a.textposition))for(n=0;n<a.textposition.length;n++)a.textposition[n]=m(a.textposition[n]);else a.textposition&&(a.textposition=m(a.textposition));var p=i.getModule(a);if(p&&p.colorbar){var x=p.colorbar.container,b=x?a[x]:a;b&&b.colorscale&&("YIGnBu"===b.colorscale&&(b.colorscale="YlGnBu"),"YIOrRd"===b.colorscale&&(b.colorscale="YlOrRd"))}if("surface"===a.type&&o.isPlainObject(a.contours)){var _=["x","y","z"];for(n=0;n<_.length;n++){var w=a.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if("candlestick"===a.type||"ohlc"===a.type){var k=!1!==(a.increasing||{}).showlegend,T=!1!==(a.decreasing||{}).showlegend,A=g(a.increasing),M=g(a.decreasing);if(!1!==A&&!1!==M){var S=v(A,M,k,T);S&&(a.name=S)}else!A&&!M||a.name||(a.name=A||M)}if(Array.isArray(a.transforms)){var E=a.transforms;for(n=0;n<E.length;n++){var L=E[n];if(o.isPlainObject(L))switch(L.type){case"filter":L.filtersrc&&(L.target=L.filtersrc,delete L.filtersrc),L.calendar&&(L.valuecalendar||(L.valuecalendar=L.calendar),delete L.calendar);break;case"groupby":if(L.styles=L.styles||L.style,L.styles&&!Array.isArray(L.styles)){var C=L.styles,P=Object.keys(C);L.styles=[];for(var O=0;O<P.length;O++)L.styles.push({target:P[O],value:C[P[O]]})}}}}y(a,"line")&&delete a.line,"marker"in a&&(y(a.marker,"line")&&delete a.marker.line,y(a,"marker")&&delete a.marker),c.clean(a),a.autobinx&&(delete a.autobinx,delete a.xbins),a.autobiny&&(delete a.autobiny,delete a.ybins),d(a),a.colorbar&&d(a.colorbar),a.marker&&a.marker.colorbar&&d(a.marker.colorbar),a.line&&a.line.colorbar&&d(a.line.colorbar),a.aaxis&&d(a.aaxis),a.baxis&&d(a.baxis)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,["error_?.copy_ystyle"]),n&&o.swapAttrs(t,["error_?.color","error_?.thickness","error_?.width"])}if("string"==typeof t.hoverinfo){var a=t.hoverinfo.split("+");for(e=0;e<a.length;e++)"x"===a[e]?a[e]="y":"y"===a[e]&&(a[e]="x");t.hoverinfo=a.join("+")}},r.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map(function(t,e){return e});if(Array.isArray(e)){for(var r=[],a=0;a<e.length;a++)o.isIndex(e[a],t.data.length)?r.push(e[a]):o.warn("trace index (",e[a],") is not a number or is out of bounds");return r}return e},r.manageArrayContainers=function(t,e,r){var a=t.obj,i=t.parts,s=i.length,l=i[s-1],c=n(l);if(c&&null===e){var u=i.slice(0,s-1).join(".");o.nestedProperty(a,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var a=t._fullData[n],i=0;i<3;i++){var s=h(t,a,_[i]);if(s&&"log"!==s.type){var l=s._name,c=s._id.substr(1);if("scene"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+"."+l}var u=l+".type";void 0===r[l]&&void 0===r[u]&&o.nestedProperty(t.layout,u).set(null)}}}},{"../components/color":591,"../lib":716,"../plots/cartesian/axis_ids":767,"../plots/plots":825,"../registry":845,"fast-isnumeric":227,"gl-mat4/fromQuat":264}],749:[function(t,e,r){"use strict";var n=t("./plot_api");r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r._guiRestyle=n._guiRestyle,r._guiRelayout=n._guiRelayout,r._guiUpdate=n._guiUpdate,r._storeDirectGUIEdit=n._storeDirectGUIEdit,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t("./to_image"),r.validate=t("./validate"),r.downloadImage=t("../snapshot/download");var a=t("./template_api");r.makeTemplate=a.makeTemplate,r.validateTemplate=a.validateTemplate},{"../snapshot/download":847,"./plot_api":751,"./template_api":756,"./to_image":757,"./validate":758}],750:[function(t,e,r){"use strict";var n=t("../lib/is_plain_object"),a=t("../lib/noop"),i=t("../lib/loggers"),o=t("../lib/search").sorterAsc,s=t("../registry");r.containerArrayMatch=t("./container_array_match");var l=r.isAddVal=function(t){return"add"===t||n(t)},c=r.isRemoveVal=function(t){return null===t||"remove"===t};r.applyContainerArrayChanges=function(t,e,r,n,u){var h=e.astr,f=s.getComponentMethod(h,"supplyLayoutDefaults"),p=s.getComponentMethod(h,"draw"),d=s.getComponentMethod(h,"drawOne"),g=n.replot||n.recalc||f===a||p===a,v=t.layout,m=t._fullLayout;if(r[""]){Object.keys(r).length>1&&i.warn("Full array edits are incompatible with other edits",h);var y=r[""][""];if(c(y))e.set(null);else{if(!Array.isArray(y))return i.warn("Unrecognized full array edit value",h,y),!0;e.set(y)}return!g&&(f(v,m),p(t),!0)}var x,b,_,w,k,T,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=u(m,h).get(),P=[],O=-1,z=L.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],k=Object.keys(w),T=w[""],A=l(T),_<0||_>L.length-(A?0:1))i.warn("index out of range",h,_);else if(void 0!==T)k.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",h,_),c(T)?P.push(_):A?("add"===T&&(T={}),L.splice(_,0,T),C&&C.splice(_,0,{})):i.warn("Unrecognized full object edit value",h,_,T),-1===O&&(O=_);else for(b=0;b<k.length;b++)M=h+"["+_+"].",u(L[_],k[b],M).set(w[k[b]]);for(x=P.length-1;x>=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),g)return!1;if(f(v,m),d!==a){var I;if(-1===O)I=S;else{for(z=Math.max(L.length,z),I=[],x=0;x<S.length&&!((_=S[x])>=O);x++)I.push(_);for(x=O;x<z;x++)I.push(x)}for(x=0;x<I.length;x++)d(t,I[x])}else p(t);return!0}},{"../lib/is_plain_object":717,"../lib/loggers":720,"../lib/noop":725,"../lib/search":735,"../registry":845,"./container_array_match":746}],751:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("has-hover"),o=t("../lib"),s=o.nestedProperty,l=t("../lib/events"),c=t("../lib/queue"),u=t("../registry"),h=t("./plot_schema"),f=t("../plots/plots"),p=t("../plots/polar/legacy"),d=t("../plots/cartesian/axes"),g=t("../components/drawing"),v=t("../components/color"),m=t("../plots/cartesian/graph_interact").initInteractions,y=t("../constants/xmlns_namespaces"),x=t("../lib/svg_text_utils"),b=t("../plots/cartesian/select").clearSelect,_=t("./plot_config").dfltConfig,w=t("./manage_arrays"),k=t("./helpers"),T=t("./subroutines"),A=t("./edit_types"),M=t("../plots/cartesian/constants").AX_NAME_PATTERN,S=0,E=5;function L(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit("plotly_afterplot")}function C(t,e){try{t._fullLayout._paper.style("background",e)}catch(t){o.error(t)}}function P(t,e){C(t,v.combine(e,"white"))}function O(t,e){if(!t._context){t._context=o.extendDeep({},_);var r=n.select("base");t._context._baseUrl=r.size()&&r.attr("href")?window.location.href.split("#")[0]:""}var a,s,l,c=t._context;if(e){for(s=Object.keys(e),a=0;a<s.length;a++)"editable"!==(l=s[a])&&"edits"!==l&&l in c&&("setBackground"===l&&"opaque"===e[l]?c[l]=P:c[l]=e[l]);e.plot3dPixelRatio&&!c.plotGlPixelRatio&&(c.plotGlPixelRatio=c.plot3dPixelRatio);var u=e.editable;if(void 0!==u)for(c.editable=u,s=Object.keys(c.edits),a=0;a<s.length;a++)c.edits[s[a]]=u;if(e.edits)for(s=Object.keys(e.edits),a=0;a<s.length;a++)(l=s[a])in c.edits&&(c.edits[l]=e.edits[l]);c._exportedPlot=e._exportedPlot}c.staticPlot&&(c.editable=!1,c.edits={},c.autosizable=!1,c.scrollZoom=!1,c.doubleClick=!1,c.showTips=!1,c.showLink=!1,c.displayModeBar=!1),"hover"!==c.displayModeBar||i||(c.displayModeBar=!0),"transparent"!==c.setBackground&&"function"==typeof c.setBackground||(c.setBackground=C),c._hasZeroHeight=c._hasZeroHeight||0===t.clientHeight,c._hasZeroWidth=c._hasZeroWidth||0===t.clientWidth;var h=c.scrollZoom,f=c._scrollZoom={};if(!0===h)f.cartesian=1,f.gl3d=1,f.geo=1,f.mapbox=1;else if("string"==typeof h){var p=h.split("+");for(a=0;a<p.length;a++)f[p[a]]=1}else!1!==h&&(f.gl3d=1,f.geo=1,f.mapbox=1)}function z(t,e){var r,n,a=e+1,i=[];for(r=0;r<t.length;r++)(n=t[r])<0?i.push(a+n):i.push(n);return i}function I(t,e,r){var n,a;for(n=0;n<e.length;n++){if((a=e[n])!==parseInt(a,10))throw new Error("all values in "+r+" must be integers");if(a>=t.data.length||a<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&I(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function R(t,e,r,n,i){!function(t,e,r,n){var a=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var i in I(t,r,"indices"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var i,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=z(r,t.data.length-1),e)for(var g=0;g<r.length;g++){if(i=t.data[r[g]],l=(c=s(i,d)).get(),u=e[d][g],!o.isArrayOrTypedArray(u))throw new Error("attribute: "+d+" index: "+g+" must be an array");if(!o.isArrayOrTypedArray(l))throw new Error("cannot extend missing or non-array attribute: "+d);if(l.constructor!==u.constructor)throw new Error("cannot extend array with an array of a different type: "+d);h=f?n[d][g]:n,a(h)||(h=-1),p.push({prop:c,target:l,insert:u,maxp:Math.floor(h)})}return p}(t,e,r,n),c={},u={},h=0;h<l.length;h++){var f=l[h].prop,p=l[h].maxp,d=i(l[h].target,l[h].insert,p);f.set(d[0]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(d[1]),Array.isArray(u[f.astr])||(u[f.astr]=[]),u[f.astr].push(l[h].target.length)}return{update:c,maxPoints:u}}function F(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function B(t,e,n,a){t=o.getGraphDiv(t),k.clearPromiseQueue(t);var i={};if("string"==typeof e)i[e]=n;else{if(!o.isPlainObject(e))return o.warn("Restyle fail.",e,n,a),Promise.reject();i=o.extendFlat({},e),void 0===a&&(a=n)}Object.keys(i).length&&(t.changed=!0);var s=k.coerceTraceIndices(t,a),l=U(t,i,s),u=l.flags;u.calc&&(t.calcdata=void 0),u.clearAxisTypes&&k.clearAxisTypes(t,s,{});var h=[];u.fullReplot?h.push(r.plot):(h.push(f.previousPromises),f.supplyDefaults(t),u.markerSize&&(f.doCalcdata(t),Y(h)),u.style&&h.push(T.doTraceStyle),u.colorbars&&h.push(T.doColorBars),h.push(L)),h.push(f.rehover,f.redrag),c.add(t,B,[t,l.undoit,l.traces],B,[t,l.redoit,l.traces]);var p=o.syncOrAsync(h,t);return p&&p.then||(p=Promise.resolve()),p.then(function(){return t.emit("plotly_restyle",l.eventData),t})}function N(t){return void 0===t?null:t}function j(t,e){return e?function(e,r,n){var a=s(e,r),i=a.set;return a.set=function(e){V((n||"")+r,a.get(),e,t),i(e)},a}:s}function V(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var a=Array.isArray(e)?e:[],i=Array.isArray(r)?r:[],s=Math.max(a.length,i.length),l=0;l<s;l++)V(t+"["+l+"]",a[l],i[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var c=o.isPlainObject(e)?e:{},u=o.isPlainObject(r)?r:{},h=o.extendFlat({},c,u);for(var f in h)V(t+"."+f,c[f],u[f],n)}else void 0===n[t]&&(n[t]=N(e))}function U(t,e,r){var n,a=t._fullLayout,i=t._fullData,l=t.data,c=a._guiEditing,p=j(a._preGUI,c),g=o.extendDeepAll({},e);q(e);var v,m=A.traceFlags(),y={},x={};function b(){return r.map(function(){})}function _(t){var e=d.id2name(t);-1===v.indexOf(e)&&v.push(e)}function w(t){return"LAYOUT"+t+".autorange"}function T(t){return"LAYOUT"+t+".range"}function M(t){for(var e=t;e<i.length;e++)if(i[e]._input===l[t])return i[e]}function S(n,i,o){if(Array.isArray(n))n.forEach(function(t){S(t,i,o)});else if(!(n in e||k.hasParent(e,n))){var s;if("LAYOUT"===n.substr(0,6))s=p(t.layout,n.replace("LAYOUT",""));else{var u=r[o];s=j(a._tracePreGUI[M(u)._fullInput.uid],c)(l[u],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=N(s.get())),void 0!==i&&s.set(i)}}function E(t){return function(e){return i[e][t]}}function L(t){return function(e,n){return!1===e?i[r[n]][t]:null}}for(var C in e){if(k.hasParent(e,C))throw new Error("cannot set "+C+" and a parent attribute simultaneously");var P,O,z,I,D,R,F=e[C];if("autobinx"!==C&&"autobiny"!==C||(C=C.charAt(C.length-1)+"bins",F=Array.isArray(F)?F.map(L(C)):!1===F?r.map(E(C)):null),y[C]=F,"LAYOUT"!==C.substr(0,6)){for(x[C]=b(),n=0;n<r.length;n++){if(P=l[r[n]],O=M(r[n]),I=(z=j(a._tracePreGUI[O._fullInput.uid],c)(P,C)).get(),void 0!==(D=Array.isArray(F)?F[n%F.length]:F)){var B=z.parts[z.parts.length-1],V=C.substr(0,C.length-B.length-1),U=V?V+".":"",H=V?s(O,V).get():O;if((R=h.getTraceValObject(O,z.parts))&&R.impliedEdits&&null!==D)for(var G in R.impliedEdits)S(o.relativeAttr(C,G),R.impliedEdits[G],n);else if("thicknessmode"!==B&&"lenmode"!==B||I===D||"fraction"!==D&&"pixels"!==D||!H){if("type"===C&&("pie"===D!=("pie"===I)||"funnelarea"===D!=("funnelarea"===I))){var Y="x",W="y";"bar"!==D&&"bar"!==I||"h"!==P.orientation||(Y="y",W="x"),o.swapAttrs(P,["?","?src"],"labels",Y),o.swapAttrs(P,["d?","?0"],"label",Y),o.swapAttrs(P,["?","?src"],"values",W),"pie"===I||"funnelarea"===I?(s(P,"marker.color").set(s(P,"marker.colors").get()),a._pielayer.selectAll("g.trace").remove()):u.traceIs(P,"cartesian")&&s(P,"marker.colors").set(s(P,"marker.color").get())}}else{var X=a._size,Z=H.orient,J="top"===Z||"bottom"===Z;if("thicknessmode"===B){var K=J?X.h:X.w;S(U+"thickness",H.thickness*("fraction"===D?1/K:K),n)}else{var Q=J?X.w:X.h;S(U+"len",H.len*("fraction"===D?1/Q:Q),n)}}x[C][n]=N(I);if(-1!==["swapxy","swapxyaxes","orientation","orientationaxes"].indexOf(C)){if("orientation"===C){z.set(D);var $=P.x&&!P.y?"h":"v";if((z.get()||$)===O.orientation)continue}else"orientationaxes"===C&&(P.orientation={v:"h",h:"v"}[O.orientation]);k.swapXYData(P),m.calc=m.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(z.parts[0])?(k.manageArrayContainers(z,D,x),m.calc=!0):(R?R.arrayOk&&!u.traceIs(O,"regl")&&(o.isArrayOrTypedArray(D)||o.isArrayOrTypedArray(I))?m.calc=!0:A.update(m,R):m.calc=!0,z.set(D))}}if(-1!==["swapxyaxes","orientationaxes"].indexOf(C)&&d.swap(t,r),"orientationaxes"===C){var tt=s(t.layout,"hovermode");"x"===tt.get()?tt.set("y"):"y"===tt.get()&&tt.set("x")}if(-1!==["orientation","type"].indexOf(C)){for(v=[],n=0;n<r.length;n++){var et=l[r[n]];u.traceIs(et,"cartesian")&&(_(et.xaxis||"x"),_(et.yaxis||"y"))}S(v.map(w),!0,0),S(v.map(T),[0,1],0)}}else z=p(t.layout,C.replace("LAYOUT","")),x[C]=[N(z.get())],z.set(Array.isArray(F)?F[0]:F),m.calc=!0}return(m.calc||m.plot)&&(m.fullReplot=!0),{flags:m,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[g,r])}}function q(t){var e,r,n,a=o.counterRegex("axis",".title",!1,!1),i=/colorbar\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],"title"!==r&&!a.test(r)&&!i.test(r)||"string"!=typeof n&&"number"!=typeof n?r.indexOf("titlefont")>-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function H(t,e,r){if(t=o.getGraphDiv(t),k.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var a=J(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var s=[f.previousPromises];i.layoutReplot?s.push(T.layoutReplot):Object.keys(n).length&&(G(t,i,a)||f.supplyDefaults(t),i.legend&&s.push(T.doLegend),i.layoutstyle&&s.push(T.layoutStyles),i.axrange&&Y(s,a.rangesAltered),i.ticks&&s.push(T.doTicksRelayout),i.modebar&&s.push(T.doModeBar),i.camera&&s.push(T.doCamera),i.colorbars&&s.push(T.doColorBars),s.push(L)),s.push(f.rehover,f.redrag),c.add(t,H,[t,a.undoit],H,[t,a.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then(function(){return t.emit("plotly_relayout",a.eventData),t})}function G(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var a in e)if("axrange"!==a&&e[a])return!1;for(var i in r.rangesAltered){var o=d.id2name(i),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,l.range=s.range.slice(),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==i){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function Y(t,e){var r=e?function(t){var r=[],n=!0;for(var a in e){var i=d.getFromId(t,a);if(r.push(a),i._matchGroup)for(var o in i._matchGroup)e[o]||r.push(o);i.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(b,T.doAutoRangeAndConstraints,r,T.drawData,T.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,X=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function J(t,e){var r,n,a,i=t.layout,l=t._fullLayout,c=l._guiEditing,f=j(l._preGUI,c),p=Object.keys(e),g=d.list(t),v=o.extendDeepAll({},e),m={};for(q(e),p=Object.keys(e),n=0;n<p.length;n++)if(0===p[n].indexOf("allaxes")){for(a=0;a<g.length;a++){var y=g[a]._id.substr(1),x=-1!==y.indexOf("scene")?y+".":"",b=p[n].replace("allaxes",x+g[a]._name);e[b]||(e[b]=e[p[n]])}delete e[p[n]]}var _=A.layoutFlags(),T={},S={};function E(t,r){if(Array.isArray(t))t.forEach(function(t){E(t,r)});else if(!(t in e||k.hasParent(e,t))){var n=f(i,t);t in S||(S[t]=N(n.get())),void 0!==r&&n.set(r)}}var L,C={};function P(t){var e=d.name2id(t.split(".")[0]);return C[e]=1,e}for(var O in e){if(k.hasParent(e,O))throw new Error("cannot set "+O+" and a parent attribute simultaneously");for(var z=f(i,O),I=e[O],D=z.parts.length-1;D>0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,B=z.parts.slice(0,D).join("."),V=s(t.layout,B).get(),U=s(l,B).get(),H=z.get();if(void 0!==I){T[O]=I,S[O]="reverse"===R?I:N(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==I)for(var Y in G.impliedEdits)E(o.relativeAttr(O,Y),G.impliedEdits[Y]);if(-1!==["width","height"].indexOf(O))if(I){E("autosize",null);var J="height"===O?"width":"height";E(J,l[J])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",I?null:l.width),E("height",I?null:l.height);else if(F.match(W))P(F),s(l,B+"._inputRange").set(null);else if(F.match(X)){P(F),s(l,B+"._inputRange").set(null);var Q=s(l,B).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(Z)&&s(l,B+"._inputDomain").set(null);if("type"===R){var $=V,tt="linear"===U.type&&"log"===I,et="log"===U.type&&"linear"===I;if(tt||et){if($&&$.range)if(U.autorange)tt&&($.range=$.range[1]>$.range[0]?[1,2]:[2,1]);else{var rt=$.range[0],nt=$.range[1];tt?(rt<=0&&nt<=0&&E(B+".autorange",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),E(B+".range[0]",Math.log(rt)/Math.LN10),E(B+".range[1]",Math.log(nt)/Math.LN10)):(E(B+".range[0]",Math.pow(10,rt)),E(B+".range[1]",Math.pow(10,nt)))}else E(B+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,U,I,E),u.getComponentMethod("images","convertCoords")(t,U,I,E)}else E(B+".autorange",!0),E(B+".range",null);s(l,B+"._inputRange").set(null)}else if(R.match(M)){var at=s(l,O).get(),it=(I||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,at,it,E),u.getComponentMethod("images","convertCoords")(t,at,it,E)}var ot=w.containerArrayMatch(O);if(ot){r=ot.array,n=ot.index;var st=ot.property,lt=G||{editType:"calc"};""!==n&&""===st&&(w.isAddVal(I)?S[O]=null:w.isRemoveVal(I)?S[O]=(s(i,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,lt),m[r]||(m[r]={});var ct=m[r][n];ct||(ct=m[r][n]={}),ct[st]=I,delete e[O]}else"reverse"===R?(V.range?V.range.reverse():(E(B+".autorange",!0),V.range=[1,0]),U.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===I||"select"===I)&&"lasso"!==H&&"select"!==H?_.plot=!0:l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,z.set(I))}}for(r in m){w.applyContainerArrayChanges(t,f(i,r),m[r],_,f)||(_.plot=!0)}var ut=l._axisConstraintGroups||[];for(L in C)for(n=0;n<ut.length;n++){var ht=ut[n];if(ht[L])for(var ft in _.calc=!0,ht)C[ft]||(d.getFromId(t,ft)._constraintShrinkable=!0)}return(K(t)||e.height||e.width)&&(_.plot=!0),(_.plot||_.calc)&&(_.layoutReplot=!0),{flags:_,rangesAltered:C,undoit:S,redoit:T,eventData:v}}function K(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&f.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function Q(t,e,n,a){if(t=o.getGraphDiv(t),k.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var i=k.coerceTraceIndices(t,a),s=U(t,o.extendFlat({},e),i),l=s.flags,u=J(t,o.extendFlat({},n)),h=u.flags;(l.calc||h.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&k.clearAxisTypes(t,i,n);var p=[];h.layoutReplot?p.push(T.layoutReplot):l.fullReplot?p.push(r.plot):(p.push(f.previousPromises),G(t,h,u)||f.supplyDefaults(t),l.style&&p.push(T.doTraceStyle),(l.colorbars||h.colorbars)&&p.push(T.doColorBars),h.legend&&p.push(T.doLegend),h.layoutstyle&&p.push(T.layoutStyles),h.axrange&&Y(p,u.rangesAltered),h.ticks&&p.push(T.doTicksRelayout),h.modebar&&p.push(T.doModeBar),h.camera&&p.push(T.doCamera),p.push(L)),p.push(f.rehover,f.redrag),c.add(t,Q,[t,s.undoit,u.undoit,s.traces],Q,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then(function(){return t.emit("plotly_update",{data:s.eventData,layout:u.eventData}),t})}function $(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var tt=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],et=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function rt(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=t.match(n.pattern);if(a)return{head:a[1],attr:n.attr}}}function nt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(".");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function at(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function it(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function ot(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function st(t,e,r,n){var a,i,l,c=n.getValObject,u=n.flags,h=n.immutable,f=n.inArray,p=n.arrayIndex;function d(){var t=a.editType;f&&-1!==t.indexOf("arraydraw")?o.pushUnique(u.arrays[f],p):(A.update(u,a),"none"!==t&&u.nChanges++,n.transition&&a.anim&&u.nChangesAnim++,(W.test(l)||X.test(l))&&(u.rangesAltered[r[0]]=1),Z.test(l)&&s(e,"_inputDomain").set(null),"datarevision"===i&&(u.newDataRevision=1))}function g(t){return"data_array"===t.valType||t.arrayOk}for(i in t){if(u.calc&&!n.transition)return;var v=t[i],m=e[i],y=r.concat(i);if(l=y.join("."),"_"!==i.charAt(0)&&"function"!=typeof v&&v!==m){if(("tick0"===i||"dtick"===i)&&"geo"!==r[0]){var x=e.tickmode;if("auto"===x||"array"===x||!x)continue}if(("range"!==i||!e.autorange)&&("zmin"!==i&&"zmax"!==i||"contourcarpet"!==e.type)&&(a=c(y))&&(!a._compareAsJSON||JSON.stringify(v)!==JSON.stringify(m))){var b,_=a.valType,w=g(a),k=Array.isArray(v),T=Array.isArray(m);if(k&&T){var M="_input_"+i,S=t[M],E=e[M];if(Array.isArray(S)&&S===E)continue}if(void 0===m)w&&k?u.calc=!0:d();else if(a._isLinkedToArray){var L=[],C=!1;f||(u.arrays[i]=L);var P=Math.min(v.length,m.length),O=Math.max(v.length,m.length);if(P!==O){if("arraydraw"!==a.editType){d();continue}C=!0}for(b=0;b<P;b++)st(v[b],m[b],y.concat(b),o.extendFlat({inArray:i,arrayIndex:b},n));if(C)for(b=P;b<O;b++)L.push(b)}else!_&&o.isPlainObject(v)?st(v,m,y,n):w?k&&T?(h&&(u.calc=!0),(h||n.newDataRevision)&&d()):k!==T?u.calc=!0:d():k&&T&&v.length===m.length&&String(v)===String(m)||d()}}}for(i in e)if(!(i in t||"_"===i.charAt(0)||"function"==typeof e[i])){if(g(a=c(r.concat(i)))&&Array.isArray(e[i]))return void(u.calc=!0);d()}}function lt(t){var e=n.select(t),r=t._fullLayout;if(r._container=e.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var a={};n.selectAll("defs").each(function(){this.id&&(a[this.id.split("-")[1]]=1)}),r._uid=o.randstr(a)}r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var i=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=i.append("g").classed("imagelayer",!0),r._shapeLowerLayer=i.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var s=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=s.append("g").classed("imagelayer",!0),r._shapeUpperLayer=s.append("g").classed("shapelayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),t.emit("plotly_framework")}r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var a=(r=f.supplyAnimationDefaults(r)).transition,i=r.frame;function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(i,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,k.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,v=0;function m(t){return Array.isArray(a)?v>=a.length?t.transitionOpts=a[v]:t.transitionOpts=a[0]:t.transitionOpts=a,v++,t}var y=[],x=null==e,b=Array.isArray(e);if(x||b||!o.isPlainObject(e)){if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:"byname",name:String(g.name),data:m({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==["number","string"].indexOf(typeof _)?(_=String(_),y.push({type:"byname",name:_,data:m({name:_})})):o.isPlainObject(_)&&y.push({type:"object",data:m(o.extendFlat({},_))})}}else y.push({type:"object",data:m(o.extendFlat({},e))});for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: "'+g.data.name+'"'),void u();-1!==["next","immediate"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit("plotly_animationinterrupted",[])}}(),"reverse"===r.direction&&y.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var T=-1;for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&g.name===w){T=d;break}if(T>0&&T<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],("byname"!==y[d].type||d>T)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var a=0;a<e.length;a++){var o;o="byname"===e[a].type?f.computeFrame(t,e[a].name):e[a].data;var h=l(a),d=s(a);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[a].name,frameOpts:h,transitionOpts:d};a===e.length-1&&(g.onComplete=c(i,2),g.onInterrupt=u),n._frameQueue.push(g)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit("plotly_animated"),i())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/");var n,a,i,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+e);var h=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(u[g]||d[g]||{}).name,m=e[n].name,y=u[v]||d[v];v&&m&&"number"==typeof m&&y&&S<E&&(S++,o.warn('addFrames: overwriting frame "'+(u[v]||d[v]).name+'" with a frame whose name of type "number" also equates to "'+v+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),S===E&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if("number"==typeof(a=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;u[a.name="frame "+t._transitionData._counter++];);if(u[a.name]){for(i=0;i<l.length&&(l[i]||{}).name!==a.name;i++);x.push({type:"replace",index:i,value:a}),b.unshift({type:"replace",index:i,value:l[i]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:"insert",index:s,value:a}),b.unshift({type:"delete",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,T=[t,b],A=[t,x];return c&&c.add(t,w,T,k,A),f.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);var r,n,a=t._transitionData._frames,i=[],s=[];if(!e)for(e=[],r=0;r<a.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],i.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:a[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,i];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,i)},r.addTraces=function t(e,n,a){e=o.getGraphDiv(e);var i,s,l=[],u=r.deleteTraces,h=t,f=[e,l],p=[e,n];for(function(t,e,r){var n,a;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if("object"!=typeof(a=e[n])||Array.isArray(a)||null===a)throw new Error("all values in traces array must be non-array objects");if("undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&r.length!==e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}(e,n,a),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),k.cleanData(n),i=0;i<n.length;i++)e.data.push(n[i]);for(i=0;i<n.length;i++)l.push(-n.length+i);if("undefined"==typeof a)return s=r.redraw(e),c.add(e,u,f,h,p),s;Array.isArray(a)||(a=[a]);try{D(e,l,a)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return c.startSequence(e),c.add(e,u,f,h,p),s=r.moveTraces(e,l,a),c.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var a,i,s=[],l=r.addTraces,u=t,h=[e,s,n],f=[e,n];if("undefined"==typeof n)throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),I(e,n,"indices"),(n=z(n,e.data.length-1)).sort(o.sorterDes),a=0;a<n.length;a+=1)i=e.data.splice(n[a],1)[0],s.push(i);var p=r.redraw(e);return c.add(e,l,h,u,f),p},r.extendTraces=function t(e,n,a,i){var s=R(e=o.getGraphDiv(e),n,a,i,function(t,e,r){var n,a;if(o.isTypedArray(t))if(r<0){var i=new t.constructor(0),s=F(t,e);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),a.set(t),a.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),a.set(t.subarray(0,u))}else n=t.concat(e),a=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,a]}),l=r.redraw(e),u=[e,s.update,a,s.maxPoints];return c.add(e,r.prependTraces,u,t,arguments),l},r.moveTraces=function t(e,n,a){var i,s=[],l=[],u=t,h=t,f=[e=o.getGraphDiv(e),a,n],p=[e,n,a];if(D(e,n,a),n=Array.isArray(n)?n:[n],"undefined"==typeof a)for(a=[],i=0;i<n.length;i++)a.push(-n.length+i);for(a=Array.isArray(a)?a:[a],n=z(n,e.data.length-1),a=z(a,e.data.length-1),i=0;i<e.data.length;i++)-1===n.indexOf(i)&&s.push(e.data[i]);for(i=0;i<n.length;i++)l.push({newIndex:a[i],trace:e.data[n[i]]});for(l.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<l.length;i+=1)s.splice(l[i].newIndex,0,l[i].trace);e.data=s;var d=r.redraw(e);return c.add(e,u,f,h,p),d},r.prependTraces=function t(e,n,a,i){var s=R(e=o.getGraphDiv(e),n,a,i,function(t,e,r){var n,a;if(o.isTypedArray(t))if(r<=0){var i=new t.constructor(0),s=F(e,t);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),a.set(e.subarray(l)),a.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),a.set(t.subarray(c))}else n=e.concat(t),a=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,a]}),l=r.redraw(e),u=[e,s.update,a,s.maxPoints];return c.add(e,r.extendTraces,u,t,arguments),l},r.newPlot=function(t,e,n,a){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),f.purge(t),r.plot(t,e,n,a)},r.plot=function(t,e,a,i){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(e)){var c=e;e=c.data,a=c.layout,i=c.config,s=c.frames}if(!1===l.triggerHandler(t,"plotly_beforeplot",[e,a,i]))return Promise.reject();e||a||o.isPlotDiv(t)||o.warn("Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.",t),O(t,i),a||(a={}),n.select(t).classed("js-plotly-plot",!0),g.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var h=0===(t.data||[]).length&&Array.isArray(e);Array.isArray(e)&&(k.cleanData(e),h?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!h||(t.layout=k.cleanLayout(a)),f.supplyDefaults(t);var v=t._fullLayout,y=v._has("cartesian");if(!v._has("polar")&&e&&e[0]&&e[0].r)return o.log("Legacy polar charts are deprecated!"),function(t,e,r){var a=n.select(t).selectAll(".plot-container").data([0]);a.enter().insert("div",":first-child").classed("plot-container plotly",!0);var i=a.selectAll(".svg-container").data([0]);i.enter().append("div").classed("svg-container",!0).style("position","relative"),i.html(""),e&&(t.data=e),r&&(t.layout=r),p.manager.fillLayout(t),i.style({width:t._fullLayout.width+"px",height:t._fullLayout.height+"px"}),t.framework=p.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title?t._fullLayout.title.text:"";""!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},h=s.select(".title-group text").call(u);if(t._context.edits.titleText){var d=o._(t,"Click to enter Plot title");c&&c!==d||(l=.2,h.attr({"data-unformatted":d}).text(d).style({opacity:l}).on("mouseover.opacity",function(){n.select(this).transition().duration(100).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(1e3).style("opacity",0)}));var g=function(){this.call(x.makeEditable,{gd:t}).on("edit",function(e){t.framework({layout:{title:{text:e}}}),this.text(e).call(u),this.call(g)}).on("cancel",function(){var t=this.attr("data-unformatted");this.text(t).call(u)})};h.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,a);v._replotting=!0,h&&lt(t),t.framework!==lt&&(t.framework=lt,lt(t)),g.initGradients(t),h&&d.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&f.doCalcdata(t);for(var _=0;_<t.calcdata.length;_++)t.calcdata[_][0].trace=t._fullData[_];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||f.resize(t)},window.addEventListener("resize",t._responsiveChartHandler)):o.clearResponsive(t);var w=o.extendFlat({},v._size),A=0;function M(){if(f.clearAutoMarginIds(t),T.drawMarginPushers(t),d.allowAutoMargin(t),v._has("pie"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];"pie"===n.type&&n.automargin&&f.allowAutoMargin(t,"pie."+n.uid+".automargin")}return f.doAutoMargin(t),f.previousPromises(t)}function S(){t._transitioning||(T.doAutoRangeAndConstraints(t),h&&d.saveRangeInitial(t),u.getComponentMethod("rangeslider","calcAutorange")(t))}var E=[f.previousPromises,function(){if(s)return r.addFrames(t,s)},function e(){for(var r=v._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!v._glcanvas&&v._has("gl")&&(v._glcanvas=v._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],function(t){return t.key}),v._glcanvas.enter().append("canvas").attr("class",function(t){return"gl-canvas gl-canvas-"+t.key.replace("Layer","")}).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"})),v._glcanvas){v._glcanvas.attr("width",v.width).attr("height",v.height);var a=v._glcanvas.data()[0].regl;if(a&&(Math.floor(v.width)!==a._gl.drawingBufferWidth||Math.floor(v.height)!==a._gl.drawingBufferHeight)){var i="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(!A)return o.log(i+" Clearing graph and plotting again."),f.cleanPlot([],{},t._fullData,v),f.supplyDefaults(t),v=t._fullLayout,f.doCalcdata(t),A++,e();o.error(i)}}return"h"===v.modebar.orientation?v._modebardiv.style("height",null).style("width","100%"):v._modebardiv.style("width",null).style("height",v.height+"px"),f.previousPromises(t)},M,function(){if(f.didMarginChange(w,v._size))return o.syncOrAsync([M,T.layoutStyles],t)}];y&&E.push(function(){if(b)return o.syncOrAsync([u.getComponentMethod("shapes","calcAutorange"),u.getComponentMethod("annotations","calcAutorange"),S],t);S()}),E.push(T.layoutStyles),y&&E.push(function(){return d.draw(t,h?"":"redraw")}),E.push(T.drawData,T.finalDraw,m,f.addLinks,f.rehover,f.redrag,f.doAutoMargin,f.previousPromises);var C=o.syncOrAsync(E,t);return C&&C.then||(C=Promise.resolve()),C.then(function(){return L(t),t})},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return f.cleanPlot([],{},r,e),f.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},r.react=function(t,e,n,a){var i,l;t=o.getGraphDiv(t),k.clearPromiseQueue(t);var c=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&c&&p){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,a=d.config,i=d.frames}var g=!1;if(a){var v=o.extendDeep({},t._context);t._context=void 0,O(t,a),g=function t(e,r){var n;for(n in e)if("_"!==n.charAt(0)){var a=e[n],i=r[n];if(a!==i)if(o.isPlainObject(a)&&o.isPlainObject(i)){if(t(a,i))return!0}else{if(!Array.isArray(a)||!Array.isArray(i))return!0;if(a.length!==i.length)return!0;for(var s=0;s<a.length;s++)if(a[s]!==i[s]){if(!o.isPlainObject(a[s])||!o.isPlainObject(i[s]))return!0;if(t(a[s],i[s]))return!0}}}}(v,t._context)}t.data=e||[],k.cleanData(t.data),t.layout=n||{},k.cleanLayout(t.layout),function(t,e,r,n){var a,i,l,c,u,h,f,p,d=n._preGUI,g=[],v={};for(a in d){if(u=rt(a,tt)){if(i=u.attr||u.head+".uirevision",(c=(l=s(n,i).get())&&nt(i,e))&&c===l&&(null===(h=d[a])&&(h=void 0),ot(p=(f=s(e,a)).get(),h))){void 0===p&&"autorange"===a.substr(a.length-9)&&g.push(a.substr(0,a.length-10)),f.set(N(s(n,a).get()));continue}}else o.warn("unrecognized GUI edit: "+a);delete d[a],"range["===a.substr(a.length-8,6)&&(v[a.substr(0,a.length-9)]=1)}for(var m=0;m<g.length;m++){var y=g[m];if(v[y]){var x=s(e,y).get();x&&delete x.autorange}}var b=n._tracePreGUI;for(var _ in b){var w,k=b[_],T=null;for(a in k){if(!T){var A=at(_,r);if(A<0){delete b[_];break}var M=it(_,t,(w=r[A]._fullInput).index);if(M<0){delete b[_];break}T=t[M]}if(u=rt(a,et)){if(u.attr?c=(l=s(n,u.attr).get())&&nt(u.attr,e):(l=w.uirevision,void 0===(c=T.uirevision)&&(c=e.uirevision)),c&&c===l&&(null===(h=k[a])&&(h=void 0),ot(p=(f=s(T,a)).get(),h))){f.set(N(s(w,a).get()));continue}}else o.warn("unrecognized GUI edit: "+a+" in trace uid "+_);delete k[a]}}}(t.data,t.layout,c,p),f.supplyDefaults(t,{skipUpdateCalc:!0});var m=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=y.transition,_=function(t,e,r,n,a){var i=A.layoutFlags();return i.arrays={},i.rangesAltered={},i.nChanges=0,i.nChangesAnim=0,st(e,r,[],{getValObject:function(t){return h.getLayoutValObject(r,t)},flags:i,immutable:n,transition:a,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0),a&&i.nChanges&&i.nChangesAnim&&(i.anim=i.nChanges===i.nChangesAnim?"all":"some"),i}(t,p,y,x,b),w=_.newDataRevision,M=function(t,e,r,n,a,i){var o=e.length===r.length;if(!a&&!o)return{fullReplot:!0,calc:!0};var s,l,c=A.traceFlags();c.arrays={},c.nChanges=0,c.nChangesAnim=0;var u={getValObject:function(t){var e=h.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:c,immutable:n,transition:a,newDataRevision:i,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,f.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,st(e[s]._fullInput,l,[],u)}return(c.calc||c.plot)&&(c.fullReplot=!0),a&&c.nChanges&&c.nChangesAnim&&(c.anim=c.nChanges===c.nChangesAnim&&o?"all":"some"),c}(t,c,m,x,b,w);K(t)&&(_.layoutReplot=!0),M.calc||_.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,m);var S=[];if(i&&(t._transitionData={},f.createTransitionData(t),S.push(function(){return r.addFrames(t,i)})),y.transition&&!g&&(M.anim||_.anim))f.doCalcdata(t),T.doAutoRangeAndConstraints(t),S.push(function(){return f.transitionFromReact(t,M,_,p)});else if(M.fullReplot||_.layoutReplot||g)t._fullLayout._skipDefaults=!0,S.push(r.plot);else{for(var E in _.arrays){var C=_.arrays[E];if(C.length){var P=u.getComponentMethod(E,"drawOne");if(P!==o.noop)for(var z=0;z<C.length;z++)P(t,C[z]);else{var I=u.getComponentMethod(E,"draw");if(I===o.noop)throw new Error("cannot draw components: "+E);I(t)}}}S.push(f.previousPromises),M.style&&S.push(T.doTraceStyle),(M.colorbars||_.colorbars)&&S.push(T.doColorBars),_.legend&&S.push(T.doLegend),_.layoutstyle&&S.push(T.layoutStyles),_.axrange&&Y(S),_.ticks&&S.push(T.doTicksRelayout),_.modebar&&S.push(T.doModeBar),_.camera&&S.push(T.doCamera),S.push(L)}S.push(f.rehover,f.redrag),(l=o.syncOrAsync(S,t))&&l.then||(l=Promise.resolve(t))}else l=r.newPlot(t,e,n,a);return l.then(function(){return t.emit("plotly_react",{data:e,layout:n}),t})},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return k.cleanData(t.data),k.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit("plotly_redraw"),t})},r.relayout=H,r.restyle=B,r.setPlotConfig=function(t){return o.extendFlat(_,t)},r.update=Q,r._guiRelayout=$(H),r._guiRestyle=$(B),r._guiUpdate=$(Q),r._storeDirectGUIEdit=function(t,e,r){for(var n in r)V(n,s(t,n).get(),r[n],e)}},{"../components/color":591,"../components/drawing":612,"../constants/xmlns_namespaces":693,"../lib":716,"../lib/events":706,"../lib/queue":731,"../lib/svg_text_utils":740,"../plots/cartesian/axes":764,"../plots/cartesian/constants":770,"../plots/cartesian/graph_interact":773,"../plots/cartesian/select":781,"../plots/plots":825,"../plots/polar/legacy":833,"../registry":845,"./edit_types":747,"./helpers":748,"./manage_arrays":750,"./plot_config":752,"./plot_schema":753,"./subroutines":755,d3:164,"fast-isnumeric":227,"has-hover":411}],752:[function(t,e,r){"use strict";var n={staticPlot:{valType:"boolean",dflt:!1},plotlyServerURL:{valType:"string",dflt:"https://plot.ly"},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"boolean",dflt:1},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},a={};!function t(e,r){for(var n in e){var a=e[n];a.valType?r[n]=a.dflt:(r[n]||(r[n]={}),t(a,r[n]))}}(n,a),e.exports={configAttributes:n,dfltConfig:a}},{}],753:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib"),i=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("./plot_config").configAttributes,u=t("../plots/polar/legacy/area_attributes"),h=t("../plots/polar/legacy/axis_attributes"),f=t("./edit_types"),p=a.extendFlat,d=a.extendDeepAll,g=a.isPlainObject,v=a.isArrayOrTypedArray,m=a.nestedProperty,y=a.valObjectMeta,x="_isSubplotObj",b="_isLinkedToArray",_=[x,b,"_arrayAttrRegexps","_deprecated"];function w(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(k(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!g(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!k(e[++r]))return!1}else if("info_array"===t.valType){var a=e[++r];if(!k(a))return!1;var i=t.items;if(Array.isArray(i)){if(a>=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!k(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function k(t){return t===Math.round(t)&&t>=0}function T(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):g(t)&&(t.role="object")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[b];if(!n)return;delete t[b],r[e]={items:{}},r[e].items[n]=t,r[e].role="object"})}(t),function(t){!function t(e){for(var r in e)if(g(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function A(t,e,r){var n=m(t,r),a=d({},e.layoutAttributes);a[x]=!0,n.set(a)}function M(t,e,r){var n=m(t,r);n.set(d(n.get()||{},e))}r.IS_SUBPLOT_OBJ=x,r.IS_LINKED_TO_ARRAY=b,r.DEPRECATED="_deprecated",r.UNDERSCORE_ATTRS=_,r.get=function(){var t={};n.allTypes.concat("area").forEach(function(e){t[e]=function(t){var e,a;"area"===t?(e={attributes:u},a={}):(e=n.modules[t]._module,a=e.basePlotModule);var o={type:null},s=d({},i),l=d({},e.attributes);r.crawl(l,function(t,e,r,n,a){m(s,a).set(void 0),void 0===t&&m(l,a).set(void 0)}),d(o,s),n.traceIs(t,"noOpacity")&&delete o.opacity;n.traceIs(t,"showLegend")||(delete o.showlegend,delete o.legendgroup);n.traceIs(t,"noHover")&&(delete o.hoverinfo,delete o.hoverlabel);e.selectPoints||delete o.selectedpoints;d(o,l),a.attributes&&d(o,a.attributes);o.type=t;var c={meta:e.meta||{},categories:e.categories||{},animatable:Boolean(e.animatable),type:t,attributes:T(o)};if(e.layoutAttributes){var h={};d(h,e.layoutAttributes),c.layoutAttributes=T(h)}e.animatable||r.crawl(c,function(t){r.isValObject(t)&&"anim"in t&&delete t.anim});return c}(e)});var e,a={};return Object.keys(n.transformsRegistry).forEach(function(t){a[t]=function(t){var e=n.transformsRegistry[t],r=d({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var a=n.componentsRegistry[e];a.schema&&a.schema.transforms&&a.schema.transforms[t]&&Object.keys(a.schema.transforms[t]).forEach(function(e){M(r,a.schema.transforms[t][e],e)})}),{attributes:T(r)}}(t)}),{defs:{valObjects:y,metaKeys:_.concat(["description","role","editType","impliedEdits"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in d(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var a=0;a<e.attr.length;a++)A(r,e,e.attr[a]);else{var i="subplot"===e.attr?e.name:e.attr;A(r,e,i)}for(t in r=function(t){return p(t,{radialaxis:h.radialaxis,angularaxis:h.angularaxis}),p(t,h.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else"colorscale"===e.name?d(r,e.layoutAttributes):e.layoutAttributes&&M(r,e.layoutAttributes,e.name)}return{layoutAttributes:T(r)}}(),transforms:a,frames:(e={frames:d({},s)},T(e),e.frames),animation:T(l),config:T(c)}},r.crawl=function(t,e,n,a){var i=n||0;a=a||"",Object.keys(t).forEach(function(n){var o=t[n];if(-1===_.indexOf(n)){var s=(a?a+".":"")+n;e(o,n,t,i,s),r.isValObject(o)||g(o)&&"impliedEdits"!==n&&r.crawl(o,e,i+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,a=[],o=[],s=[];function l(t,r,i,l){o=o.slice(0,l).concat([r]),s=s.slice(0,l).concat([t&&t._isLinkedToArray]),t&&("data_array"===t.valType||!0===t.arrayOk)&&!("colorbar"===o[l-1]&&("ticktext"===r||"tickvals"===r))&&function t(e,r,i){var l=e[o[r]];var c=i+o[r];if(r===o.length-1)v(l)&&a.push(n+c);else if(s[r]){if(Array.isArray(l))for(var u=0;u<l.length;u++)g(l[u])&&t(l[u],r+1,c+"["+u+"].")}else g(l)&&t(l,r+1,c+".")}(e,0,"")}e=t,n="",r.crawl(i,l),t._module&&t._module.attributes&&r.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var u=0;u<c.length;u++){var h=c[u],f=h._module;f&&(n="transforms["+u+"].",e=h,r.crawl(f.attributes,l))}return a},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if("transforms"===o){if(1===e.length)return i.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var c=e[1];if(!k(c)||c>=l.length)return!1;a=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)a=u[o];else{var h=t._module;if(h||(h=(n.modules[t.type||i.type.dflt]||{})._module),!h)return!1;if(!(a=(r=h.attributes)&&r[o])){var f=h.basePlotModule;f&&f.attributes&&(a=f.attributes[o])}a||(a=i[o])}return w(a,e,s)},r.getLayoutValObject=function(t,e){return w(function(t,e){var r,a,i,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((i=l[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!c&&i.layoutAttributes&&(c=i.layoutAttributes)}var u=i.baseLayoutAttrOverrides;if(u&&e in u)return u[e]}if(c)return c}var f=t._modules;if(f)for(r=0;r<f.length;r++)if((s=f[r].layoutAttributes)&&e in s)return s[e];for(a in n.componentsRegistry){if("colorscale"===(i=n.componentsRegistry[a]).name&&0===e.indexOf("coloraxis"))return i.layoutAttributes[e];if(!i.schema&&e===i.name)return i.layoutAttributes}if(e in o)return o[e];if("radialaxis"===e||"angularaxis"===e)return h[e];return h.layout[e]||!1}(t,e[0]),e,1)}},{"../lib":716,"../plots/animation_attributes":759,"../plots/attributes":761,"../plots/frame_attributes":791,"../plots/layout_attributes":816,"../plots/polar/legacy/area_attributes":831,"../plots/polar/legacy/axis_attributes":832,"../registry":845,"./edit_types":747,"./plot_config":752}],754:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/attributes"),i="templateitemname",o={name:{valType:"string",editType:"none"}};function s(t){return t&&"string"==typeof t}function l(t){var e=t.length-1;return"s"!==t.charAt(e)&&n.warn("bad argument to arrayDefaultKey: "+t),t.substr(0,t.length-1)+"defaults"}o[i]={valType:"string",editType:"calc"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=o.name,e[i]=o[i],e},r.traceTemplater=function(t){var e,r,i={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(i[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},a,"type"),_template:null};if(e in i){r=t[e];var l=i[e]%r.length;i[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var a=t._template,i=a&&(a[e]||r&&a[r]);return n.isPlainObject(i)||(i=null),t[e]={_template:i}},r.arrayTemplater=function(t,e,r){var n=t._template,a=n&&n[l(e)],o=n&&n[e];Array.isArray(o)&&o.length||(o=[]);var c={};return{newItem:function(t){var e={name:t.name,_input:t},n=e[i]=t[i];if(!s(n))return e._template=a,e;for(var l=0;l<o.length;l++){var u=o[l];if(u.name===n)return c[n]=1,e._template=u,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<o.length;e++){var r=o[e],n=r.name;if(s(n)&&!c[n]){var a={_template:r,name:n,_input:{_templateitemname:n}};a[i]=r[i],t.push(a),c[n]=1}}return t}}},r.arrayDefaultKey=l,r.arrayEditor=function(t,e,r){var a=(n.nestedProperty(t,e).get()||[]).length,o=r._index,s=o>=a&&(r._input||{})._templateitemname;s&&(o=a);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][i]=s)}function h(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function f(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:h,getUpdateObj:f,applyUpdate:function(e,r){e&&h(e,r);var a=f();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{"../lib":716,"../plots/attributes":761}],755:[function(t,e,r){"use strict";var n=t("d3"),a=t("../registry"),i=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),h=t("../components/modebar"),f=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,v=d.clean,m=t("../plots/cartesian/autorange").doAutoRange,y="start",x="middle",b="end";function _(t,e,r){for(var n=0;n<r.length;n++){var a=r[n][0],i=r[n][1];if(!(a[0]>=t[1]||a[1]<=t[0])&&(i[0]<e[1]&&i[1]>e[0]))return!0}return!1}function w(t){var e,a,s,u,d,g,v=t._fullLayout,m=v._size,y=m.p,x=f.list(t,"",!0);if(v._paperdiv.style({width:t._context.responsive&&v.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":v.width+"px",height:t._context.responsive&&v.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":v.height+"px"}).selectAll(".main-svg").call(c.setSize,v.width,v.height),t._context.setBackground(t,v.paper_bgcolor),r.drawMainTitle(t),h.manage(t),!v._has("cartesian"))return i.previousPromises(t);function b(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-y-n:e._offset+e._length+y+n:m.t+m.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+y+n:e._offset-y-n:m.l+m.w*(t.position||0)+n%1}for(e=0;e<x.length;e++){var w=(u=x[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=b(u,w,u.side),u._mainMirrorPosition=u.mirror&&w?b(u,w,p.OPPOSITE_SIDE[u.side]):null}var T=[],M=[],S=[],E=1===l.opacity(v.paper_bgcolor)&&1===l.opacity(v.plot_bgcolor)&&v.paper_bgcolor===v.plot_bgcolor;for(a in v._plots)if((s=v._plots[a]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,P=s.plotgroup;if(_(L,C,S)){var O=P.node(),z=s.bg=o.ensureSingle(P,"rect","bg");O.insertBefore(z.node(),O.childNodes[0]),M.push(a)}else P.select("rect.bg").remove(),S.push([L,C]),E||(T.push(a),M.push(a))}var I,D,R,F,B,N,j,V,U,q,H,G,Y,W=v._bgLayer.selectAll(".bg").data(T);for(W.enter().append("rect").classed("bg",!0),W.exit().remove(),W.each(function(t){v._plots[t].bg=n.select(this)}),e=0;e<M.length;e++)s=v._plots[M[e]],d=s.xaxis,g=s.yaxis,s.bg&&s.bg.call(c.setRect,d._offset-y,g._offset-y,d._length+2*y,g._length+2*y).call(l.fill,v.plot_bgcolor).style("stroke-width",0);if(!v._hasOnlyLargeSploms)for(a in v._plots){s=v._plots[a],d=s.xaxis,g=s.yaxis;var X,Z,J=s.clipId="clip"+v._uid+a+"plot",K=o.ensureSingleById(v._clips,"clipPath",J,function(t){t.classed("plotclip",!0).append("rect")});s.clipRect=K.select("rect").attr({width:d._length,height:g._length}),c.setTranslate(s.plot,d._offset,g._offset),s._hasClipOnAxisFalse?(X=null,Z=J):(X=J,Z=null),c.setClipUrl(s.plot,X,t),s.layerClipId=Z}function Q(t){return"M"+I+","+t+"H"+D}function $(t){return"M"+d._offset+","+t+"h"+d._length}function tt(t){return"M"+t+","+V+"V"+j}function et(t){return"M"+t+","+g._offset+"v"+g._length}function rt(t,e,r){if(!t.showline||a!==t._mainSubplot)return"";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(a in v._plots){s=v._plots[a],d=s.xaxis,g=s.yaxis;var nt="M0,0";k(d,a)&&(B=A(d,"left",g,x),I=d._offset-(B?y+B:0),N=A(d,"right",g,x),D=d._offset+d._length+(N?y+N:0),R=b(d,g,"bottom"),F=b(d,g,"top"),!(Y=!d._anchorAxis||a!==d._mainSubplot)||"allticks"!==d.mirror&&"all"!==d.mirror||(d._linepositions[a]=[R,F]),nt=rt(d,Q,$),Y&&d.showline&&("all"===d.mirror||"allticks"===d.mirror)&&(nt+=Q(R)+Q(F)),s.xlines.style("stroke-width",d._lw+"px").call(l.stroke,d.showline?d.linecolor:"rgba(0,0,0,0)")),s.xlines.attr("d",nt);var at="M0,0";k(g,a)&&(H=A(g,"bottom",d,x),j=g._offset+g._length+(H?y:0),G=A(g,"top",d,x),V=g._offset-(G?y:0),U=b(g,d,"left"),q=b(g,d,"right"),!(Y=!g._anchorAxis||a!==g._mainSubplot)||"allticks"!==g.mirror&&"all"!==g.mirror||(g._linepositions[a]=[U,q]),at=rt(g,tt,et),Y&&g.showline&&("all"===g.mirror||"allticks"===g.mirror)&&(at+=tt(U)+tt(q)),s.ylines.style("stroke-width",g._lw+"px").call(l.stroke,g.showline?g.linecolor:"rgba(0,0,0,0)")),s.ylines.attr("d",at)}return f.makeClipPaths(t),i.previousPromises(t)}function k(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||"all"===t.mirror||"allticks"===t.mirror)}function T(t,e,r){if(!r.showline||!r._lw)return!1;if("all"===r.mirror||"allticks"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var a=p.FROM_BL[e];return r.side===e?n.domain[a]===t.domain[a]:r.mirror&&n.domain[1-a]===t.domain[1-a]}function A(t,e,r,n){if(T(t,e,r))return r._lw;for(var a=0;a<n.length;a++){var i=n[a];if(i._mainAxis===r._mainAxis&&T(t,e,i))return i._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([i.doAutoMargin,w],t)},r.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r=x;o.isRightAnchor(e)?r=b:o.isLeftAnchor(e)&&(r=y);return r}(e),n=function(t){var e=t.title,r="0em";o.isTopAnchor(e)?r=p.CAP_SHIFT+"em":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+"em");return r}(e);u.draw(t,"gtitle",{propContainer:e,propName:"title.text",placeholder:e._dfltTitle.plot,attributes:{x:function(t,e){var r=t.title,n=t._size,a=0;e===y?a=r.pad.l:e===b&&(a=-r.pad.r);switch(r.xref){case"paper":return n.l+n.w*r.x+a;case"container":default:return t.width*r.x+a}}(e,r),y:function(t,e){var r=t.title,n=t._size,a=0;"0em"!==e&&e?e===p.CAP_SHIFT+"em"&&(a=r.pad.t):a=-r.pad.b;if("auto"===r.y)return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+a;case"container":default:return t.height-t.height*r.y+a}}(e,n),"text-anchor":r,dy:n}})},r.doTraceStyle=function(t){var e,n=t.calcdata,o=[];for(e=0;e<n.length;e++){var l=n[e],c=l[0]||{},u=c.trace||{},h=u._module||{},f=h.arraysToCalcdata;f&&f(l,u);var p=h.editStyle;p&&o.push({fn:p,cd0:c})}if(o.length){for(e=0;e<o.length;e++){var d=o[e];d.fn(t,d.cd0)}s(t),r.redrawReglTraces(t)}return i.style(t),a.getComponentMethod("legend","draw")(t),i.previousPromises(t)},r.doColorBars=function(t){return a.getComponentMethod("colorbar","draw")(t),i.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,a.call("plot",t,"",e)},r.doLegend=function(t){return a.getComponentMethod("legend","draw")(t),i.previousPromises(t)},r.doTicksRelayout=function(t){return f.draw(t,"redraw"),t._fullLayout._hasOnlyLargeSploms&&(a.subplotsRegistry.splom.updateGrid(t),s(t),r.redrawReglTraces(t)),r.drawMainTitle(t),i.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;h.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return i.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var a=e[r[n]];a._scene.setViewport(a)}},r.drawData=function(t){var e=t._fullLayout;s(t);for(var n=e._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return r.redrawReglTraces(t),i.style(t),a.getComponentMethod("shapes","draw")(t),a.getComponentMethod("annotations","draw")(t),a.getComponentMethod("images","draw")(t),e._replotting=!1,i.previousPromises(t)},r.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has("regl")){var r,n,a=t._fullData,i=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<a.length;r++){var l=a[r];!0===l.visible&&0!==l._length&&("splom"===l.type?e._splomScenes[l.uid].draw():"scattergl"===l.type?o.pushUnique(i,l.xaxis+l.yaxis):"scatterpolargl"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<i.length;r++)(n=e._plots[i[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},r.doAutoRangeAndConstraints=function(t){for(var e,r,n=t._fullLayout,a=f.list(t,"",!0),i=n._axisMatchGroups||[],s=0;s<a.length;s++)e=a[s],v(t,e),m(t,e);g(t);t:for(var l=0;l<i.length;l++){var c,u=i[l],h=null;for(c in u){if(!1===(e=f.getFromId(t,c)).autorange)continue t;r=o.simpleMap(e.range,e.r2l),h?h[0]<h[1]?(h[0]=Math.min(h[0],r[0]),h[1]=Math.max(h[1],r[1])):(h[0]=Math.max(h[0],r[0]),h[1]=Math.min(h[1],r[1])):h=r}for(c in u)(e=f.getFromId(t,c)).range=o.simpleMap(h,e.l2r),e._input.range=e.range.slice(),e.setScale()}},r.finalDraw=function(t){a.getComponentMethod("rangeslider","draw")(t),a.getComponentMethod("rangeselector","draw")(t)},r.drawMarginPushers=function(t){a.getComponentMethod("legend","draw")(t),a.getComponentMethod("rangeselector","draw")(t),a.getComponentMethod("sliders","draw")(t),a.getComponentMethod("updatemenus","draw")(t),a.getComponentMethod("colorbar","draw")(t)}},{"../components/color":591,"../components/drawing":612,"../components/modebar":649,"../components/titles":678,"../constants/alignment":685,"../lib":716,"../lib/clear_gl_canvases":701,"../plots/cartesian/autorange":763,"../plots/cartesian/axes":764,"../plots/cartesian/constraints":771,"../plots/plots":825,"../registry":845,d3:164}],756:[function(t,e,r){"use strict";var n=t("../lib"),a=n.isPlainObject,i=t("./plot_schema"),o=t("../plots/plots"),s=t("../plots/attributes"),l=t("./plot_template"),c=t("./plot_config").dfltConfig;function u(t,e){t=n.extendDeep({},t);var r,i,o=Object.keys(t).sort();function s(e,r,n){if(a(r)&&a(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(i=0;i<r.length;i++){var s=r[i],c=o.newItem(s)._template;c&&u(c,s)}var h=o.defaultItems();for(i=0;i<h.length;i++)r.push(h[i]._template);for(i=0;i<r.length;i++)delete r[i].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],f=t[c];if(c in e?s(f,e[c],c):e[c]=f,h(c)===c)for(var p in e){var d=h(p);p===d||d!==c||p in t||s(f,e[p],c)}}}function h(t){return t.replace(/[0-9]+$/,"")}function f(t,e,r,i,o){var s=o&&r(o);for(var c in t){var u=t[c],d=p(t,c,i),g=p(t,c,o),v=r(g);if(!v){var m=h(c);m!==c&&(v=r(g=p(t,m,o)))}if((!s||s!==v)&&!(!v||v._noTemplating||"data_array"===v.valType||v.arrayOk&&Array.isArray(u)))if(!v.valType&&a(u))f(u,e,r,d,g);else if(v._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(a(w)){var k=w.name;if(k)b[k]||(f(w,e,r,p(u,x,d),p(u,x,g)),x++,b[k]=1);else if(!y){var T=p(t,l.arrayDefaultKey(c),i),A=p(u,x,d);f(w,e,r,A,p(u,x,g));var M=n.nestedProperty(e,A);n.nestedProperty(e,T).set(M.get()),M.set(null),y=!0}}}else{n.nestedProperty(e,d).set(u)}}}function p(t,e,r){return r?Array.isArray(t)?r+"["+e+"]":r+"."+e:e}function d(t){for(var e=0;e<t.length;e++)if(a(t[e]))return!0}function g(t){var e;switch(t.code){case"data":e="The template has no key data.";break;case"layout":e="The template has no key layout.";break;case"missing":e=t.path?"There are no templates for item "+t.path+" with name "+t.templateitemname:"There are no templates for trace "+t.index+", of type "+t.traceType+".";break;case"unused":e=t.path?"The template item at "+t.path+" was not used in constructing the plot.":t.dataCount?"Some of the templates of type "+t.traceType+" were not used. The template has "+t.templateCount+" traces, the data only has "+t.dataCount+" of this type.":"The template has "+t.templateCount+" traces of type "+t.traceType+" but there are none in the data.";break;case"reused":e="Some of the templates of type "+t.traceType+" were used more than once. The template has "+t.templateCount+" traces, the data has "+t.dataCount+" of this type."}return t.msg=e,t}r.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:c},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var l={data:{},layout:{}};e.forEach(function(t){var e={};f(t,e,function(t,e){return i.getTraceValObject(t,n.nestedProperty({},e).parts)}.bind(null,t));var r=n.coerce(t,{},s,"type"),a=l.data[r];a||(a=l.data[r]=[]),a.push(e)}),f(r,l.layout,function(t,e){return i.getLayoutValObject(t,n.nestedProperty({},e).parts)}.bind(null,r)),delete l.layout.template;var h=r.template;if(a(h)){var p,d,g,v,m,y,x=h.layout;a(x)&&u(x,l.layout);var b=h.data;if(a(b)){for(d in l.data)if(g=b[d],Array.isArray(g)){for(y=(m=l.data[d]).length,v=g.length,p=0;p<y;p++)u(g[p%v],m[p]);for(p=y;p<v;p++)m.push(n.extendDeep({},g[p]))}for(d in b)d in l.data||(l.data[d]=n.extendDeep([],b[d]))}}return l},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),i=r.layout||{};a(e)||(e=i.template||{});var s=e.layout,l=e.data,u=[];r.layout=i,r.layout.template=e,o.supplyDefaults(r);var f=r._fullLayout,v=r._fullData,m={};if(a(s)?(!function t(e,r){for(var n in e)if("_"!==n.charAt(0)&&a(e[n])){var i,o=h(n),s=[];for(i=0;i<r.length;i++)s.push(p(e,n,r[i])),o!==n&&s.push(p(e,o,r[i]));for(i=0;i<s.length;i++)m[s[i]]=1;t(e[n],s)}}(f,["layout"]),function t(e,r){for(var n in e)if(-1===n.indexOf("defaults")&&a(e[n])){var i=p(e,n,r);m[i]?t(e[n],i):u.push({code:"unused",path:i})}}(s,"layout")):u.push({code:"layout"}),a(l)){for(var y,x={},b=0;b<v.length;b++){var _=v[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:"missing",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,k=x[y]||0;w>k?u.push({code:"unused",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var i=e[n],o=p(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&u.push({code:"missing",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&d(i)&&t(i,o)}}({data:v,layout:f},""),u.length)return u.map(g)}},{"../lib":716,"../plots/attributes":761,"../plots/plots":825,"./plot_config":752,"./plot_schema":753,"./plot_template":754}],757:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./plot_api"),i=t("../lib"),o=t("../snapshot/helpers"),s=t("../snapshot/tosvg"),l=t("../snapshot/svgtoimg"),c={format:{valType:"enumerated",values:["png","jpeg","webp","svg"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,u,h,f;function p(t){return!(t in e)||i.validate(e[t],c[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},h=t.config||{},f={}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),h=t._context,f=t._fullLayout||{}),!p("width")&&null!==e.width||!p("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!p("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var d={};function g(t,r){return i.coerce(e,d,c,t,r)}var v=g("format"),m=g("width"),y=g("height"),x=g("scale"),b=g("setBackground"),_=g("imageDataOnly"),w=document.createElement("div");w.style.position="absolute",w.style.left="-5000px",document.body.appendChild(w);var k=i.extendFlat({},u);m?k.width=m:null===e.width&&n(f.width)&&(k.width=f.width),y?k.height=y:null===e.height&&n(f.height)&&(k.height=f.height);var T=i.extendFlat({},h,{_exportedPlot:!0,staticPlot:!0,setBackground:b}),A=o.getRedrawFunc(w);function M(){return new Promise(function(t){setTimeout(t,o.getDelay(w._fullLayout))})}function S(){return new Promise(function(t,e){var r=s(w,v,x),n=w._fullLayout.width,c=w._fullLayout.height;if(a.purge(w),document.body.removeChild(w),"svg"===v)return t(_?r:o.encodeSVG(r));var u=document.createElement("canvas");u.id=i.randstr(),l({format:v,width:n,height:c,scale:x,canvas:u,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){a.plot(w,r,k,T).then(A).then(M).then(S).then(function(e){t(function(t){return _?t.replace(o.IMAGE_URL_PREFIX,""):t}(e))}).catch(function(t){e(t)})})}},{"../lib":716,"../snapshot/helpers":849,"../snapshot/svgtoimg":851,"../snapshot/tosvg":853,"./plot_api":751,"fast-isnumeric":227}],758:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/plots"),i=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,a,i,o){o=o||[];for(var h=Object.keys(t),f=0;f<h.length;f++){var v=h[f];if("transforms"!==v){var m=o.slice();m.push(v);var y=t[v],x=e[v],b=g(r,v),_="info_array"===(b||{}).valType,w="colorscale"===(b||{}).valType,k=(b||{}).items;if(d(r,v))if(s(y)&&s(x))u(y,x,b,a,i,m);else if(_&&l(y)){y.length>x.length&&a.push(p("unused",i,m.concat(x.length)));var T,A,M,S,E,L=x.length,C=Array.isArray(k);if(C&&(L=Math.min(L,k.length)),2===b.dimensions)for(A=0;A<L;A++)if(l(y[A])){y[A].length>x[A].length&&a.push(p("unused",i,m.concat(A,x[A].length)));var P=x[A].length;for(T=0;T<(C?Math.min(P,k[A].length):P);T++)M=C?k[A][T]:k,S=y[A][T],E=x[A][T],n.validate(S,M)?E!==S&&E!==+S&&a.push(p("dynamic",i,m.concat(A,T),S,E)):a.push(p("value",i,m.concat(A,T),S))}else a.push(p("array",i,m.concat(A),y[A]));else for(A=0;A<L;A++)M=C?k[A]:k,S=y[A],E=x[A],n.validate(S,M)?E!==S&&E!==+S&&a.push(p("dynamic",i,m.concat(A),S,E)):a.push(p("value",i,m.concat(A),S))}else if(b.items&&!_&&l(y)){var O,z,I=k[Object.keys(k)[0]],D=[];for(O=0;O<x.length;O++){var R=x[O]._index||O;if((z=m.slice()).push(R),s(y[R])&&s(x[O])){D.push(R);var F=y[R],B=x[O];s(F)&&!1!==F.visible&&!1===B.visible?a.push(p("invisible",i,z)):u(F,B,I,a,i,z)}}for(O=0;O<y.length;O++)(z=m.slice()).push(O),s(y[O])?-1===D.indexOf(O)&&a.push(p("unused",i,z)):a.push(p("object",i,z,y[O]))}else!s(y)&&s(x)?a.push(p("object",i,m,y)):c(y)||!c(x)||_||w?v in e?n.validate(y,b)?"enumerated"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&a.push(p("dynamic",i,m,y,x)):a.push(p("value",i,m,y)):a.push(p("unused",i,m,y)):a.push(p("array",i,m,y));else a.push(p("schema",i,m))}}return a}e.exports=function(t,e){var r,c,h=i.get(),f=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],f.push(p("array","data"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&f.push(p("object","layout"))),a.supplyDefaults(d);for(var g=d._fullData,v=r.length,m=0;m<v;m++){var y=r[m],x=["data",m];if(s(y)){var b=g[m],_=b.type,w=h.traces[_].attributes;w.type={valType:"enumerated",values:[_]},!1===b.visible&&!1!==y.visible&&f.push(p("invisible",x)),u(y,b,w,f,x);var k=y.transforms,T=b.transforms;if(k){l(k)||f.push(p("array",x,["transforms"])),x.push("transforms");for(var A=0;A<k.length;A++){var M=["transforms",A],S=k[A].type;if(s(k[A])){var E=h.transforms[S]?h.transforms[S].attributes:{};E.type={valType:"enumerated",values:Object.keys(h.transforms)},u(k[A],T[A],E,f,x,M)}else f.push(p("object",x,M))}}}else f.push(p("object",x))}return u(c,d._fullLayout,function(t,e){for(var r=t.layout.layoutAttributes,a=0;a<e.length;a++){var i=e[a],o=t.traces[i.type],s=o.layoutAttributes;s&&(i.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}(h,g),f,"layout"),0===f.length?void 0:f};var h={object:function(t,e){return("layout"===t&&""===e?"The layout argument":"data"===t[0]&&""===e?"Trace "+t[1]+" in the data argument":f(t)+"key "+e)+" must be linked to an object container"},array:function(t,e){return("data"===t?"The data argument":f(t)+"key "+e)+" must be linked to an array container"},schema:function(t,e){return f(t)+"key "+e+" is not part of the schema"},unused:function(t,e,r){var n=s(r)?"container":"key";return f(t)+n+" "+e+" did not get coerced"},dynamic:function(t,e,r,n){return[f(t)+"key",e,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(t,e){return(e?f(t)+"item "+e:"Trace "+t[1])+" got defaulted to be not visible"},value:function(t,e,r){return[f(t)+"key "+e,"is set to an invalid value ("+r+")"].join(" ")}};function f(t){return l(t)?"In data trace "+t[1]+", ":"In "+t+", "}function p(t,e,r,a,i){var o,s;r=r||"",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e="",r=0;r<t.length;r++){var n=t[r];"number"==typeof n?e=e.substr(0,e.length-1)+"["+n+"]":e+=n,r<t.length-1&&(e+=".")}return e}(r),u=h[t](e,c,a,i);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=m(e),n=r.keyMinusId,a=r.id;return!!(n in t&&t[n]._isSubplotObj&&a)||e in t}function g(t,e){return e in t?t[e]:t[m(e).keyMinusId]}var v=n.counterRegex("([a-z]+)");function m(t){var e=t.match(v);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{"../lib":716,"../plots/plots":825,"./plot_config":752,"./plot_schema":753}],759:[function(t,e,r){"use strict";e.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}},{}],760:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_template");e.exports=function(t,e,r){var i,o,s=r.name,l=r.inclusionAttr||"visible",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],h=e[s]=[],f=a.arrayTemplater(e,s,l);for(i=0;i<u.length;i++){var p=u[i];n.isPlainObject(p)?o=f.newItem(p):(o=f.newItem({}))[l]=!1,o._index=i,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),h.push(o)}var d=f.defaultItems();for(i=0;i<d.length;i++)(o=d[i])._index=h.length,r.handleItemDefaults({},o,e,r,{}),h.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,h.length);for(i=0;i<g;i++)n.relinkPrivateKeys(h[i],c[i])}return h}},{"../lib":716,"../plot_api/plot_template":754}],761:[function(t,e,r){"use strict";var n=t("../components/fx/attributes");e.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:n.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}},{"../components/fx/attributes":621}],762:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],763:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").FP_SAFE,o=t("../../registry");function s(t,e){var r,n,i=[],o=l(e),s=c(t,e),u=s.min,h=s.max;if(0===u.length||0===h.length)return a.simpleMap(e.range,e.r2l);var f=u[0].val,p=h[0].val;for(r=1;r<u.length&&f===p;r++)f=Math.min(f,u[r].val);for(r=1;r<h.length&&f===p;r++)p=Math.max(p,h[r].val);var d=!1;if(e.range){var g=a.simpleMap(e.range,e.r2l);d=g[1]<g[0]}"reversed"===e.autorange&&(d=!0,e.autorange=!0);var v,m,y,x,b,_,w=e.rangemode,k="tozero"===w,T="nonnegative"===w,A=e._length,M=A/10,S=0;for(r=0;r<u.length;r++)for(v=u[r],n=0;n<h.length;n++)(_=(m=h[n]).val-v.val)>0&&((b=A-o(v)-o(m))>M?_/b>S&&(y=v,x=m,S=_/b):_/A>S&&(y={val:v.val,pad:0},x={val:m.val,pad:0},S=_/A));if(f===p){var E=f-1,L=f+1;if(k)if(0===f)i=[0,1];else{var C=(f>0?h:u).reduce(function(t,e){return Math.max(t,o(e))},0),P=f/(1-Math.min(.5,C/A));i=f>0?[0,P]:[P,0]}else i=T?[Math.max(0,E),Math.max(1,L)]:[E,L]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):T&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(A-o(y)-o(x)),i=[y.val-S*o(y),x.val+S*o(x)];return d&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function l(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,a,i=e._id,o=t._fullData,s=t._fullLayout,l=[],c=[];function f(t,e){for(r=0;r<e.length;r++){var o=t[e[r]],s=(o._extremes||{})[i];if(!0===o.visible&&s){for(n=0;n<s.min.length;n++)a=s.min[n],u(l,a.val,a.pad,{extrapad:a.extrapad});for(n=0;n<s.max.length;n++)a=s.max[n],h(c,a.val,a.pad,{extrapad:a.extrapad})}}}return f(o,e._traceIndices),f(s.annotations||[],e._annIndices||[]),f(s.shapes||[],e._shapeIndices||[]),{min:l,max:c}}function u(t,e,r,n){f(t,e,r,n,d)}function h(t,e,r,n){f(t,e,r,n,g)}function f(t,e,r,n,a){for(var i=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(a(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}a(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=i&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function p(t){return n(t)&&Math.abs(t)<i}function d(t,e){return t<=e}function g(t,e){return t>=e}e.exports={getAutoRange:s,makePadFn:l,doAutoRange:function(t,e){if(e.setScale(),e.autorange){e.range=s(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+".range"]=e.range,n[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var i=e._anchorAxis;if(i&&i.rangeslider){var l=i.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=s(t,e)),i._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var a,o,s,l,c,f,d,g,v,m=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,k=!1,T=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!k){if(g=1/0,v=-1/0,w)for(a=0;a<x;a++)(o=e[a])<g&&o>0&&(g=o),o>v&&o<i&&(v=o);else for(a=0;a<x;a++)(o=e[a])<g&&o>-i&&(g=o),o>v&&o<i&&(v=o);e=[g,v],x=2}var C={tozero:_,extrapad:b};function P(r){s=e[r],n(s)&&(f=M(r),d=S(r),T?(l=t.c2l(s)-L(r),c=t.c2l(s)+E(r)):(g=s-L(r),v=s+E(r),w&&g<v/10&&(g=v/10),l=t.c2l(g),c=t.c2l(v)),_&&(l=Math.min(0,l),c=Math.max(0,c)),p(l)&&u(m,l,d,C),p(c)&&h(y,c,f,C))}var O=Math.min(6,x);for(a=0;a<O;a++)P(a);for(a=x-1;a>=O;a--)P(a);return{min:m,max:y,opts:r}},concatExtremes:c}},{"../../constants/numerical":692,"../../lib":716,"../../registry":845,"fast-isnumeric":227}],764:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),h=t("../../components/drawing"),f=t("./layout_attributes"),p=t("./clean_ticks"),d=t("../../constants/numerical"),g=d.ONEAVGYEAR,v=d.ONEAVGMONTH,m=d.ONEDAY,y=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=d.MINUS_SIGN,w=d.BADNUM,k=t("../../constants/alignment"),T=k.MID_SHIFT,A=k.CAP_SHIFT,M=k.LINE_SPACING,S=k.OPPOSITE_SIDE,E=e.exports={};E.setConvert=t("./set_convert");var L=t("./axis_autotype"),C=t("./axis_ids");E.id2name=C.id2name,E.name2id=C.name2id,E.cleanId=C.cleanId,E.list=C.list,E.listIds=C.listIds,E.getFromId=C.getFromId,E.getFromTrace=C.getFromTrace;var P=t("./autorange");E.getAutoRange=P.getAutoRange,E.findExtremes=P.findExtremes,E.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return a||(a=l[0]||i),i||(i=a),u[c]={valType:"enumerated",values:l.concat(i?[i]:[]),dflt:a},s.coerce(t,e,u,c)},E.coercePosition=function(t,e,r,n,a,i){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(a,i);else{var c=E.getFromId(e,n);l=r(a,i=c.fraction2r(i)),o=c.cleanPos}t[a]=o(l)},E.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:E.getFromId(e,r).cleanPos)(t)},E.redrawComponents=function(t,e){e=e||E.listIds(t);var r=t._fullLayout;function n(n,a,i,s){for(var l=o.getComponentMethod(n,a),c={},u=0;u<e.length;u++)for(var h=r[E.id2name(e[u])][i],f=0;f<h.length;f++){var p=h[f];if(!c[p]&&(l(t,p),c[p]=1,s))return}}n("annotations","drawOne","_annIndices"),n("shapes","drawOne","_shapeIndices"),n("images","draw","_imgIndices",!0)};var O=E.getDataConversions=function(t,e,r,n){var a,i="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(i)){if(a={type:L(n),_categories:[]},E.setConvert(a),"category"===a.type)for(var o=0;o<n.length;o++)a.d2c(n[o])}else a=E.getFromTrace(t,e,i);return a?{d2c:a.d2c,c2d:a.c2d}:"ids"===i?{d2c:I,c2d:I}:{d2c:z,c2d:z}};function z(t){return+t}function I(t){return String(t)}E.getDataToCoordFunc=function(t,e,r,n){return O(t,e,r,n).d2c},E.counterLetter=function(t){var e=t.charAt(0);return"x"===e?"y":"y"===e?"x":void 0},E.minDtick=function(t,e,r,n){-1===["log","category","multicategory"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},E.saveRangeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a=0;a<r.length;a++){var i=r[a],o=void 0===i._rangeInitial,s=o||!(i.range[0]===i._rangeInitial[0]&&i.range[1]===i._rangeInitial[1]);(o&&!1===i.autorange||e&&s)&&(i._rangeInitial=i.range.slice(),n=!0)}return n},E.saveShowSpikeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a="on",i=0;i<r.length;i++){var o=r[i],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),"on"!==a||o.showspikes||(a="off")}return t._fullLayout._cartesianSpikesEnabled=a,n},E.autoBin=function(t,e,r,n,i,o){var l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if("category"===e.type||"multicategory"===e.type)return{start:c-.5,end:u+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:u-c};if(i||(i=e.calendar),l="log"===e.type?{type:"linear",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,i),calendar:i},E.setConvert(l),o=o&&p.dtick(o,l.type))l.dtick=o,l.tick0=p.tick0(void 0,l.type,i);else{var h;if(r)h=(u-c)/r;else{var f=s.distinctVals(t),d=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),g=d*s.roundUp(f.minDiff/d,[.9,1.9,4.9,9.9],!0);h=Math.max(g,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),a(h)||(h=1)}E.autoTicks(l,h)}var v,y=l.dtick,x=E.tickIncrement(E.tickFirst(l),y,"reverse",i);if("number"==typeof y)v=(x=function(t,e,r,n,i){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:a(e[h])||c++,u(e[h])&&o++,u(e[h]+r.dtick/2)&&s++;var f=e.length-c;if(l===f&&"date"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*f&&(o>.3*f||u(n)||u(i))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(x,t,l,c,u))+(1+Math.floor((u-x)/y))*y;else for("M"===l.dtick.charAt(0)&&(x=function(t,e,r,n,a){var i=s.findExactDates(e,a);if(i.exactDays>.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=E.tickIncrement(t,"M6","reverse")+1.5*m:i.exactMonths>.8?t=E.tickIncrement(t,"M1","reverse")+15.5*m:t-=m/2;var l=E.tickIncrement(t,r);if(l<=n)return l}return t}(x,t,y,c,i)),v=x,0;v<=u;)v=E.tickIncrement(v,y,!1,i),0;return{start:e.c2r(x,0,i),end:e.c2r(v,0,i),size:y,_dataSpan:u-c}},E.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type||"multicategory"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),E.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),q(t)},E.calcTicks=function(t){E.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),a=s.simpleMap(t.range,t.r2l),i=1.0001*a[0]-1e-4*a[1],o=1.0001*a[1]-1e-4*a[0],l=Math.min(i,o),c=Math.max(i,o),u=0;Array.isArray(r)||(r=[]);var h="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var f=0;f<e.length;f++){var p=h(e[f]);p>l&&p<c&&(void 0===r[f]?n[u]=E.tickText(t,p):n[u]=H(t,p,String(r[f])),u++)}u<e.length&&n.splice(u,e.length-u);return n}(t);t._tmin=E.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var o=[];"category"!==t.type&&"multicategory"!==t.type||(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var l="log"===t.type&&!(a(t.dtick)||"L"===t.dtick.charAt(0)),c=null,u=Math.max(1e3,t._length||0),h=t._tmin;(i?h>=n:h<=n)&&!(o.length>u||h===c);h=E.tickIncrement(h,t.dtick,i,t.calendar)){c=h;var f=!1;l&&h!==(0|h)&&(f=!0),o.push({minor:f,value:h})}it(t)&&360===Math.abs(e[1]-e[0])&&o.pop(),t._tmax=(o[o.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;for(var p=new Array(o.length),d=0;d<o.length;d++)p[d]=E.tickText(t,o[d].value,!1,o[d].minor);return t._inCalcTicks=!1,p};var D=[2,5,10],R=[1,2,3,6,12],F=[1,2,5,10,15,30],B=[1,2,3,7,14],N=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],j=[-.301,0,.301,.699,1],V=[15,30,45,90,180];function U(t,e,r){return e*s.roundUp(t/e,r)}function q(t){var e=t.dtick;if(t._tickexponent=0,a(e)||"string"==typeof e||(e=1),"category"!==t.type&&"multicategory"!==t.type||(t._tickround=null),"date"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,""),i=n.length;if("M"===String(e).charAt(0))i>10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=m&&i<=10||e>=15*m)t._tickround="d";else if(e>=x&&i<=16||e>=y)t._tickround="M";else if(e>=b&&i<=19||e>=x)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);a(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(Y(t.exponentformat)&&!W(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function H(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}E.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var i=2*e;i>g?(e/=g,r=n(10),t.dtick="M"+12*U(e,r,D)):i>v?(e/=v,t.dtick="M"+U(e,1,R)):i>m?(t.dtick=U(e,m,B),t.tick0=s.dateTick0(t.calendar,!0)):i>y?t.dtick=U(e,y,R):i>x?t.dtick=U(e,x,F):i>b?t.dtick=U(e,b,F):(r=n(10),t.dtick=U(e,r,D))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+U(e,r,D)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):it(t)?(t.tick0=0,r=1,t.dtick=U(e,r,V)):(t.tick0=0,r=n(10),t.dtick=U(e,r,D));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},E.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,i);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?j:N,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(e)},E.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),i=r[1]<r[0],o=i?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(a(c)){var h=o((l-u)/c)*c+u;return"category"!==t.type&&"multicategory"!==t.type||(h=s.constrain(h,0,t._categories.length-1)),h}var f=c.charAt(0),p=Number(c.substr(1));if("M"===f){for(var d,g,v,m=0,y=u;m<10;){if(((d=E.tickIncrement(y,c,i,t.calendar))-l)*(y-l)<=0)return i?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),v=f+(Math.abs(Math.round(g))||1)*p,y=E.tickIncrement(y,v,g<0?!i:i,t.calendar),m++}return s.error("tickFirst did not converge",t),y}if("L"===f)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if("D"===f){var x="D2"===c?j:N,b=s.roundUp(s.mod(l,1),x,i);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw"unrecognized dtick "+String(c)},E.tickText=function(t,e,r,n){var i,o=H(t,e),l="array"===t.tickmode,c=r||l,u=t.type,h="category"===u?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),p=Math.abs(f[1]-f[0])/1e4;for(i=0;i<t.ticktext.length&&!(Math.abs(e-h(t.tickvals[i]))<p);i++);if(i<t.ticktext.length)return o.text=String(t.ticktext[i]),o}function d(n){if(void 0===n)return!0;if(r)return"none"===n;var a={first:t._tmin,last:t._tmax}[n];return"all"!==n&&e!==a}var g=r?"never":"none"!==t.exponentformat&&d(t.showexponent)?"hide":"";if("date"===u?function(t,e,r,n){var i=t._tickround,o=r&&t.hoverformat||E.getTickFormat(t);n&&(i=a(i)?4:{y:"m",m:"d",d:"M",M:"S",S:4}[i]);var l,c=s.formatDate(e.x,o,i,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf("\n");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&("00:00:00"===c||"00:00"===c?(c=l,l=""):8===c.length&&(c=c.replace(/:00$/,"")));l&&(r?"d"===i?c+=", "+l:c=l+(c?", "+c:""):t._inCalcTicks&&l===t._prevDateHead||(c+="<br>"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,i){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===i&&(i="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=X(Math.pow(10,l),t,i,n);else if(a(o)||"D"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;"power"===p||Y(p)&&W(h)?(e.text=0===h?1:1===h?"10":"10<sup>"+(h>1?"":_)+f+"</sup>",e.fontSize*=1.25):("e"===p||"E"===p)&&f>2?e.text="1"+p+(h>0?"+":_)+f:(e.text=X(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?"":String(a[1]),o=void 0===a[0]?"":String(a[0]);r?e.text=o+" - "+i:(e.text=i,e.text2=o)}(t,o,r):it(t)?function(t,e,r,n,a){if("radians"!==t.thetaunit||r)e.text=X(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=X(s.deg2rad(e.x),t,a,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["<sup>",o[0],"</sup>","\u2044","<sub>",o[1],"</sub>","\u03c0"].join(""),l&&(e.text=_+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,a){"never"===a?a="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a="hide");e.text=X(e.x,t,a,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var v=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[v(o.x-.5),v(o.x+t.dtick-.5)]}return o},E.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return E.hoverLabelText(t,e)+" - "+E.hoverLabelText(t,r);var n="log"===t.type&&e<=0,a=E.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":_+a:a};var G=["f","p","n","\u03bc","m","","k","M","G","T"];function Y(t){return"SI"===t||"B"===t}function W(t){return t>14||t<-15}function X(t,e,r,n){var i=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=E.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};q(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))<d)t="0",i=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+="0"}else{var v=(t=String(t)).indexOf(".")+1;v&&(t=t.substr(0,v+o).replace(/\.?0+$/,""))}t=s.numSeparate(t,e._separators,h)}c&&"hide"!==l&&(Y(l)&&W(c)&&(l="power"),p=c<0?_+-c:"power"!==l?"+"+c:String(c),"e"===l||"E"===l?t+=l+p:"power"===l?t+="\xd710<sup>"+p+"</sup>":"B"===l&&9===c?t+="B":Y(l)&&(t+=G[c/3+5]));return i?_+t:t}function Z(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function J(t){var e=t.title.font.size,r=(t.title.text.match(l.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty("standoff")?r?e*(A+r*M):e*A:r?e*(r+1)*M:e}function K(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function Q(t){var e=n.select(t),r=e.select(".text-math-group");return r.empty()?e.select("text"):r}function $(t){return t._id+".automargin"}function tt(t){return $(t)+".mirror"}function et(t){return t._id+".rangeslider"}function rt(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function nt(t,e,r){var n,a,i=[],o=[],l=t.layout;for(n=0;n<e.length;n++)i.push(E.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(E.getFromId(t,r[n]));var c=Object.keys(f),u=["anchor","domain","overlaying","position","side","tickangle","editType"],h=["linear","log"];for(n=0;n<c.length;n++){var p=c[n],d=i[0][p],g=o[0][p],v=!0,m=!1,y=!1;if("_"!==p.charAt(0)&&"function"!=typeof d&&-1===u.indexOf(p)){for(a=1;a<i.length&&v;a++){var x=i[a][p];"type"===p&&-1!==h.indexOf(d)&&-1!==h.indexOf(x)&&d!==x?m=!0:x!==d&&(v=!1)}for(a=1;a<o.length&&v;a++){var b=o[a][p];"type"===p&&-1!==h.indexOf(g)&&-1!==h.indexOf(b)&&g!==b?y=!0:o[a][p]!==g&&(v=!1)}v&&(m&&(l[i[0]._name].type="linear"),y&&(l[o[0]._name].type="linear"),at(l,p,i,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],["?"])}}function at(t,e,r,n,a){var i,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for("title"===e&&(l&&l.text===a.x&&(l.text=a.y),c&&c.text===a.y&&(c.text=a.x)),i=0;i<r.length;i++)o(t,r[i]._name+"."+e).set(c);for(i=0;i<n.length;i++)o(t,n[i]._name+"."+e).set(l)}function it(t){return"angularaxis"===t._id}E.getTickFormat=function(t){var e,r,n,a,i,o,s,l;function c(t){return"string"!=typeof t?t:Number(t.replace("M",""))*v}function u(t,e){var r=["L","D"];if(typeof t==typeof e){if("number"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),a=r.indexOf(e.charAt(0));return n===a?Number(t.replace(/(L|D)/g,""))-Number(e.replace(/(L|D)/g,"")):n-a}return"number"==typeof t?1:-1}function h(t,e){var r=null===e[0],n=null===e[1],a=u(t,e[0])>=0,i=u(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(a=t.dtick,i=n.dtickrange,o=void 0,void 0,void 0,o=c||function(t){return t},s=i[0],l=i[1],(!s&&"number"!=typeof s||o(s)<=o(a))&&(!l&&"number"!=typeof l||o(l)>=o(a)))){r=n;break}break;case"log":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&h(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},E.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),a=e?E.findSubplotsWithAxis(n,e):n;return a.sort(function(t,e){var r=t.substr(1).split("y"),n=e.substr(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),a},E.findSubplotsWithAxis=function(t,e){for(var r=new RegExp("x"===e._id.charAt(0)?"^"+e._id+"y":e._id+"$"),n=[],a=0;a<t.length;a++){var i=t[a];r.test(i)&&n.push(i)}return n},E.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,a,i={_offset:0,_length:e.width,_id:""},o={_offset:0,_length:e.height,_id:""},s=E.list(t,"x",!0),l=E.list(t,"y",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),a=0;a<l.length;a++)0===r&&c.push({x:i,y:l[a]}),c.push({x:s[r],y:l[a]});var u=e._clips.selectAll(".axesclip").data(c,function(t){return t.x._id+t.y._id});u.enter().append("clipPath").classed("axesclip",!0).attr("id",function(t){return"clip"+e._uid+t.x._id+t.y._id}).append("rect"),u.exit().remove(),u.each(function(t){n.select(this).select("rect").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})}},E.draw=function(t,e,r){var n=t._fullLayout;"redraw"===e&&n._paper.selectAll("g.subplot").each(function(t){var e=t[0],r=n._plots[e],a=r.xaxis,i=r.yaxis;r.xaxislayer.selectAll("."+a._id+"tick").remove(),r.yaxislayer.selectAll("."+i._id+"tick").remove(),r.xaxislayer.selectAll("."+a._id+"tick2").remove(),r.yaxislayer.selectAll("."+i._id+"tick2").remove(),r.xaxislayer.selectAll("."+a._id+"divider").remove(),r.yaxislayer.selectAll("."+i._id+"divider").remove(),r.gridlayer&&r.gridlayer.selectAll("path").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+a._id+"title").remove(),n._infolayer.select(".g-"+i._id+"title").remove()});var a=e&&"redraw"!==e?e:E.listIds(t);return s.syncOrAsync(a.map(function(e){return function(){if(e){var n=E.getFromId(t,e),a=E.drawOne(t,n,r);return n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),a}}}))},E.drawOne=function(t,e,r){var n,a,l;r=r||{},e.setScale();var f=t._fullLayout,p=e._id,d=p.charAt(0),g=E.counterLetter(p),v=e._mainLinePosition,m=e._mainMirrorPosition,y=f._plots[e._mainSubplot][d+"axislayer"],x=e._vals=E.calcTicks(e),b=[e.mirror,v,m].join("_");for(n=0;n<x.length;n++)x[n].axInfo=b;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var _={};function w(t){var r=p+(t||"tick");return _[r]||(_[r]=function(t,e){var r,n,a,i;t._selections[e].size()?(r=1/0,n=-1/0,a=1/0,i=-1/0,t._selections[e].each(function(){var t=Q(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),a=Math.min(a,e.left),i=Math.max(i,e.right)})):(r=0,n=0,a=0,i=0);return{top:r,bottom:n,left:a,right:i,height:n-r,width:i-a}}(e,r)),_[r]}if(e.visible){var k,T,A=E.makeTransFn(e);if("boundaries"===e.tickson){var L=function(t,e){var r,n=[],a=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)a(e[r],0);a(e[r-1],1)}return n}(0,x);T=E.clipEnds(e,L),k="inside"===e.ticks?T:L}else T=E.clipEnds(e,x),k="inside"===e.ticks?T:x;var C=e._gridVals=T,P=function(t,e){var r,n,a=[],i=function(t,e){var r=t.xbnd[e];null!==r&&a.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var o=e[r];o.text2!==n&&i(o,0),n=o.text2}i(e[r-1],1)}return a}(e,x);if(!f._hasOnlyLargeSploms){var O=e._subplotsWith,z={};for(n=0;n<O.length;n++){a=O[n];var I=(l=f._plots[a])[g+"axis"],D=I._mainAxis._id;if(!z[D]){z[D]=1;var R="x"===d?"M0,"+I._offset+"v"+I._length:"M"+I._offset+",0h"+I._length;E.drawGrid(t,e,{vals:C,counterAxis:I,layer:l.gridlayer.select("."+p),path:R,transFn:A}),E.drawZeroLine(t,e,{counterAxis:I,layer:l.zerolinelayer,path:R,transFn:A})}}}var F=E.getTickSigns(e),B=[];if(e.ticks){var N,j,V,U=E.makeTickPath(e,v,F[2]);if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(N=E.makeTickPath(e,m,F[3]),j=U+N):(N="",j=U),e.showdividers&&"outside"===e.ticks&&"boundaries"===e.tickson){var q={};for(n=0;n<P.length;n++)q[P[n].x]=1;V=function(t){return q[t.x]?N:j}}else V=j;E.drawTicks(t,e,{vals:k,layer:y,path:V,transFn:A}),"allticks"===e.mirror&&(B=Object.keys(e._linepositions||{}))}for(n=0;n<B.length;n++){a=B[n],l=f._plots[a];var G=e._linepositions[a]||[],Y=E.makeTickPath(e,G[0],F[0])+E.makeTickPath(e,G[1],F[1]);E.drawTicks(t,e,{vals:k,layer:l[d+"axislayer"],path:Y,transFn:A})}var W=[];if(W.push(function(){return E.drawLabels(t,e,{vals:x,layer:y,transFn:A,labelFns:E.makeLabelFns(e,v)})}),"multicategory"===e.type){var X={x:2,y:10}[d];W.push(function(){var r={x:"height",y:"width"}[d],n=w()[r]+X+(e._tickAngles[p+"tick"]?e.tickfont.size*M:0);return E.drawLabels(t,e,{vals:function(t,e){for(var r=[],n={},a=0;a<e.length;a++){var i=e[a];n[i.text2]?n[i.text2].push(i.x):n[i.text2]=[i.x]}for(var o in n)r.push(H(t,s.interp(n[o],.5),o));return r}(e,x),layer:y,cls:p+"tick2",repositionOnUpdate:!0,secondary:!0,transFn:A,labelFns:E.makeLabelFns(e,v+n*F[4])})}),W.push(function(){return e._depth=F[4]*(w("tick2")[e.side]-v),function(t,e,r){var n=e._id+"divider",a=r.vals,i=r.layer.selectAll("path."+n).data(a,Z);i.exit().remove(),i.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(u.stroke,e.dividercolor).style("stroke-width",h.crispRound(t,e.dividerwidth,1)+"px"),i.attr("transform",r.transFn).attr("d",r.path)}(t,e,{vals:P,layer:y,path:E.makeTickPath(e,v,F[4],e._depth),transFn:A})})}else e.title.hasOwnProperty("standoff")&&W.push(function(){e._depth=F[4]*(w()[e.side]-v)});var K=o.getComponentMethod("rangeslider","isVisible")(e);return W.push(function(){var r,n,a,s,l=e.side.charAt(0),c=S[e.side].charAt(0),u=E.getPxPosition(t,e),h="outside"===e.ticks?e.ticklen:0;if((e.automargin||K)&&("multicategory"===e.type?r=w("tick2"):(r=w(),"x"===d&&"b"===l&&(e._depth=Math.max(r.width>0?r.bottom-u:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if("x"===d){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),p.reverse()),r.width>0){var v=r.right-(e._offset+e._length);v>0&&(n.xr=1,n.r=v);var m=e._offset-r.left;m>0&&(n.xl=0,n.l=m)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?u-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-u:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==f._dfltTitle[d]&&(n[l]+=J(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((a={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(a[c]+=h),!0===e.mirror||"ticks"===e.mirror?a[g]=e._anchorAxis.domain[p[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(a[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}K&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),i.autoMargin(t,$(e),n),i.autoMargin(t,tt(e),a),i.autoMargin(t,et(e),s)}),r.skipTitle||K&&"bottom"===e.side||W.push(function(){return function(t,e){var r,n=t._fullLayout,a=e._id,i=a.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+J(e);else{if("multicategory"===e.type)r=e._depth;else{r=10+1.5*o+(e.linewidth?e.linewidth-1:0)}r+="x"===i?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0)}var s,l,u,f,p=E.getPxPosition(t,e);"x"===i?(l=e._offset+e._length/2,u="top"===e.side?p-r:p+r):(u=e._offset+e._length/2,l="right"===e.side?p+r:p-r,s={rotate:"-90",offset:0});if("multicategory"!==e.type){var d=e._selections[e._id+"tick"];if(f={selection:d,side:e.side},d&&d.node()&&d.node().parentNode){var g=h.getTranslate(d.node().parentNode);f.offsetLeft=g.x,f.offsetTop=g.y}e.title.hasOwnProperty("standoff")&&(f.pad=0)}return c.draw(t,a+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[i],avoid:f,transform:s,attributes:{x:l,y:u,"text-anchor":"middle"}})}(t,e)}),s.syncOrAsync(W)}},E.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(a=a.map(function(t){return-t})),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},E.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return"x"===e?function(e){return"translate("+(r+t.l2p(e.x))+",0)"}:function(e){return"translate(0,"+(r+t.l2p(e.x))+")"}},E.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return"x"===a?"M0,"+(e+i*r)+"v"+n*r:"M"+(e+i*r)+",0h"+n*r},E.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),i="boundaries"!==t.tickson&&"outside"===t.ticks,o=0,l=0;if(i&&(o+=t.ticklen),r&&"outside"===t.ticks){var c=s.deg2rad(r);o=t.ticklen*Math.cos(c)+1,l=t.ticklen*Math.sin(c)}t.showticklabels&&(i||t.showline)&&(o+=.2*t.tickfont.size);var u,h,f,p,d={labelStandoff:o+=(t.linewidth||1)/2,labelShift:l};return"x"===n?(p="bottom"===t.side?1:-1,u=l*p,h=e+o*p,f="bottom"===t.side?1:-.2,d.xFn=function(t){return t.dx+u},d.yFn=function(t){return t.dy+h+t.fontSize*f},d.anchorFn=function(t,e){return a(e)&&0!==e&&180!==e?e*p<0?"end":"start":"middle"},d.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side?-n:0}):"y"===n&&(p="right"===t.side?1:-1,u=o,h=-l*p,f=90===Math.abs(t.tickangle)?.5:0,d.xFn=function(t){return t.dx+e+(u+t.fontSize*f)*p},d.yFn=function(t){return t.dy+h+t.fontSize*T},d.anchorFn=function(e,r){return a(r)&&90===Math.abs(r)?"middle":"right"===t.side?"start":"end"},d.heightFn=function(e,r,n){return(r*="left"===t.side?1:-1)<-30?-n:r<30?-.5*n:0}),d},E.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",a=r.layer.selectAll("path."+n).data(e.ticks?r.vals:[],Z);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(u.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},E.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&E.shouldShowZeroLine(t,e,i))for(var o="array"===e.tickmode,s=0;s<a.length;s++){var l=a[s].x;if(o?!l:Math.abs(l)<e.dtick/100){if(a=a.slice(0,s).concat(a.slice(s+1)),!o)break;s--}}var c=r.layer.selectAll("path."+n).data(a,Z);c.exit().remove(),c.enter().append("path").classed(n,1).classed("crisp",!1!==r.crisp),e._gw=h.crispRound(t,e.gridwidth,1),c.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,e.gridcolor||"#ddd").style("stroke-width",e._gw+"px"),"function"==typeof r.path&&c.attr("d",r.path)},E.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",a=E.shouldShowZeroLine(t,e,r.counterAxis),i=r.layer.selectAll("path."+n).data(a?[{x:0,id:e._id}]:[]);i.exit().remove(),i.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each(function(){r.layer.selectAll("path").sort(function(t,e){return C.idSort(t.id,e.id)})}),i.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,e.zerolinecolor||u.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px")},E.drawLabels=function(t,e,r){r=r||{};var i=t._fullLayout,o=e._id,c=o.charAt(0),u=r.cls||o+"tick",f=r.vals,p=r.labelFns,d=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[u],v=r.layer.selectAll("g."+u).data(e.showticklabels?f:[],Z),m=[];function y(t,e){t.each(function(t){var i=n.select(this),o=i.select(".text-math-group"),s=p.anchorFn(t,e),c=r.transFn.call(i.node(),t)+(a(e)&&0!=+e?" rotate("+e+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),u=l.lineCount(i),f=M*t.fontSize,d=p.heightFn(t,a(e)?+e:0,(u-1)*f);if(d&&(c+=" translate(0, "+d+")"),o.empty())i.select("text").attr({transform:c,"text-anchor":s});else{var g=h.bBox(o.node()).width*{end:-.5,start:.5}[s];o.attr("transform",c+(g?"translate("+g+",0)":""))}})}v.enter().append("g").classed(u,1).append("text").attr("text-anchor","middle").each(function(e){var r=n.select(this),a=t._promises.length;r.call(l.positionText,p.xFn(e),p.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),t._promises[a]?m.push(t._promises.pop().then(function(){y(r,d)})):y(r,d)}),v.exit().remove(),r.repositionOnUpdate&&v.each(function(t){n.select(this).select("text").call(l.positionText,p.xFn(t),p.yFn(t))}),y(v,g+1?g:d);var x=null;e._selections&&(e._selections[u]=v);var b=[function(){return m.length&&Promise.all(m)}];e.automargin&&i._redrawFromAutoMarginCount&&90===g?(x=90,b.push(function(){y(v,g)})):b.push(function(){if(y(v,d),f.length&&"x"===c&&!a(d)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=0;var t,n=0,i=[];if(v.each(function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),a=Q(this),o=h.bBox(a.node());i.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})}),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=f.length,l=Math.abs((f[o-1].x-f[0].x)*e._m)/(o-1)<2.5*n||"multicategory"===e.type;for(t=0;t<i.length-1;t++)if(s.bBoxIntersect(i[t],i[t+1])){x=l?90:30;break}}else{var u=2;for(e.ticks&&(u+=e.tickwidth/2),t=0;t<i.length;t++){var p=f[t].xbnd,g=i[t];if(null!==p[0]&&g.left-e.l2p(p[0])<u||null!==p[1]&&e.l2p(p[1])-g.right<u){x=90;break}}}x&&y(v,x)}}),e._tickAngles&&b.push(function(){e._tickAngles[u]=null===x?a(d)?d:0:x});var _=s.syncOrAsync(b);return _&&_.then&&t._promises.push(_),_},E.getPxPosition=function(t,e){var r,n=t._fullLayout._size,a=e._id.charAt(0),i=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===a?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===a&&(r={_offset:n.l+(e.position||0)*n.w,_length:0}),"top"===i||"left"===i?r._offset:"bottom"===i||"right"===i?r._offset+r._length:void 0},E.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&(K(e,0)||!function(t,e,r,n){var a=r._mainAxis;if(!a)return;var i=t._fullLayout,o=e._id.charAt(0),s=E.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==("x"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return"number"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var a=t._linepositions||{};for(var i in a)if(n(a[i][0])||n(a[i][1]))return!0}var u=i._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var h=E.list(t,s),f=0;f<h.length;f++){var p=h[f];if(p._mainAxis===a&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,a=e._id.charAt(0),i=0;i<r.length;i++){var s=r[i];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,"bar-like")&&s.orientation==={x:"h",y:"v"}[a])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===a)return!0}}return!1}(t,e))},E.clipEnds=function(t,e){return e.filter(function(e){return K(t,e.x)})},E.allowAutoMargin=function(t){for(var e=E.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(i.allowAutoMargin(t,$(n)),n.mirror&&i.allowAutoMargin(t,tt(n))),o.getComponentMethod("rangeslider","isVisible")(n)&&i.allowAutoMargin(t,et(n))}},E.swap=function(t,e){for(var r=function(t,e){var r,n,a=[];for(r=0;r<e.length;r++){var i=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<a.length;n++)-1===a[n].x.indexOf(o)&&-1===a[n].y.indexOf(s)||i.push(n);if(i.length){var l,c=a[i[0]];if(i.length>1)for(n=1;n<i.length;n++)l=a[i[n]],rt(c.x,l.x),rt(c.y,l.y);rt(c.x,[o]),rt(c.y,[s])}else a.push({x:[o],y:[s]})}}return a}(t,e),n=0;n<r.length;n++)nt(t,r[n].x,r[n].y)}},{"../../components/color":591,"../../components/drawing":612,"../../components/titles":678,"../../constants/alignment":685,"../../constants/numerical":692,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"./autorange":763,"./axis_autotype":765,"./axis_ids":767,"./clean_ticks":769,"./layout_attributes":776,"./set_convert":782,d3:164,"fast-isnumeric":227}],765:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){return!(r=r||{}).noMultiCategory&&(o=t,a.isArrayOrTypedArray(o[0])&&a.isArrayOrTypedArray(o[1]))?"multicategory":function(t,e){for(var r=Math.max(1,(t.length-1)/1e3),i=0,o=0,s={},l=0;l<t.length;l+=r){var c=t[Math.round(l)],u=String(c);s[u]||(s[u]=1,a.isDateTime(c,e)&&(i+=1),n(c)&&(o+=1))}return i>2*o}(t,e)?"date":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},s=0;s<t.length;s+=e){var l=t[Math.round(s)],c=String(l);o[c]||(o[c]=1,"boolean"==typeof l?n++:a.cleanNumber(l)!==i?r++:"string"==typeof l&&n++)}return n>2*r}(t)?"category":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}(t)?"linear":"-";var o}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],766:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("./layout_attributes"),o=t("./tick_value_defaults"),s=t("./tick_mark_defaults"),l=t("./tick_label_defaults"),c=t("./category_order_defaults"),u=t("./line_grid_defaults"),h=t("./set_convert");e.exports=function(t,e,r,f,p){var d=f.letter,g=f.font||{},v=f.splomStash||{},m=r("visible",!f.visibleDflt),y=e.type;"date"===y&&n.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",f.calendar);h(e,p);var x=!e.isValidRange(t.range);x&&f.reverseDflt&&(x="reversed"),!r("autorange",x)||"linear"!==y&&"-"!==y||r("rangemode"),r("range"),e.cleanRange(),c(t,e,r,f),"category"===y||f.noHover||r("hoverformat");var b=r("color"),_=b!==i.color.dflt?b:g.color,w=v.label||p._dfltTitle[d];if(l(t,e,r,y,f,{pass:1}),!m)return e;r("title.text",w),a.coerceFont(r,"title.font",{family:g.family,size:Math.round(1.2*g.size),color:_}),o(t,e,r,y),l(t,e,r,y,f,{pass:2}),s(t,e,r,f),u(t,e,r,{dfltColor:b,bgColor:f.bgColor,showGrid:f.showGrid,attributes:i}),(e.showline||e.ticks)&&r("mirror"),f.automargin&&r("automargin");var k,T="multicategory"===e.type;f.noTickson||"category"!==e.type&&!T||!e.ticks&&!e.showgrid||(T&&(k="boundaries"),r("tickson",k));T&&(r("showdividers")&&(r("dividercolor"),r("dividerwidth")));return e}},{"../../lib":716,"../../registry":845,"./category_order_defaults":768,"./layout_attributes":776,"./line_grid_defaults":778,"./set_convert":782,"./tick_label_defaults":783,"./tick_mark_defaults":784,"./tick_value_defaults":785}],767:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./constants");r.id2name=function(t){if("string"==typeof t&&t.match(a.AX_ID_PATTERN)){var e=t.substr(1);return"1"===e&&(e=""),t.charAt(0)+"axis"+e}},r.name2id=function(t){if(t.match(a.AX_NAME_PATTERN)){var e=t.substr(5);return"1"===e&&(e=""),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(a.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,"");return"1"===r&&(r=""),t.charAt(0)+r}},r.list=function(t,e,n){var a=t._fullLayout;if(!a)return[];var i,o=r.listIds(t,e),s=new Array(o.length);for(i=0;i<o.length;i++){var l=o[i];s[i]=a[l.charAt(0)+"axis"+l.substr(1)]}if(!n){var c=a._subplots.gl3d||[];for(i=0;i<c.length;i++){var u=a[c[i]];e?s.push(u[e+"axis"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+"axis"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var a=t._fullLayout;return"x"===n?e=e.replace(/y[0-9]*/,""):"y"===n&&(e=e.replace(/x[0-9]*/,"")),a[r.id2name(e)]},r.getFromTrace=function(t,e,a){var i=t._fullLayout,o=null;if(n.traceIs(e,"gl3d")){var s=e.scene;"scene"===s.substr(0,5)&&(o=i[s][a+"axis"])}else o=r.getFromId(t,e[a+"axis"]||a);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++){if(r[n][e])return"g"+n}return e}},{"../../registry":845,"./constants":770}],768:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var a,i=t.categoryarray,o=Array.isArray(i)&&i.length>0;o&&(a="array");var s,l=r("categoryorder",a);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[i+"axis"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][i];for(a=0;a<l.length;a++){var c=l[a];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),"category ascending"===l?e._initialCategories=s:"category descending"===l&&(e._initialCategories=s.reverse()))}}},{}],769:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").ONEDAY;r.dtick=function(t,e){var r="log"===e,a="date"===e,o="category"===e,s=a?i:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:o?Math.max(1,Math.round(t)):a?Math.max(.1,t):t;if("string"!=typeof t||!a&&!r)return s;var l=t.charAt(0),c=t.substr(1);return(c=n(c)?Number(c):0)<=0||!(a&&"M"===l&&c===Math.round(c)||r&&"L"===l||r&&"D"===l&&(1===c||2===c))?s:t},r.tick0=function(t,e,r,i){return"date"===e?a.cleanDate(t,a.dateTick0(r)):"D1"!==i&&"D2"!==i?n(t)?Number(t):0:void 0}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],770:[function(t,e,r){"use strict";var n=t("../../lib/regex").counter;e.exports={idRegex:{x:n("x"),y:n("y")},attrRegex:n("[xy]axis"),xAxisMatch:n("xaxis"),yAxisMatch:n("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},{"../../lib/regex":732}],771:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./axis_ids").id2name,i=t("./scale_zoom"),o=t("./autorange").makePadFn,s=t("./autorange").concatExtremes,l=t("../../constants/numerical").ALMOST_EQUAL,c=t("../../constants/alignment").FROM_BL;function u(t,e,r,n,i){var o,s,l,c,u="range"!==i,h=n[a(e)].type,f=[];for(s=0;s<r.length;s++)if((l=r[s])!==e&&(c=n[a(l)]).type===h)if(c.fixedrange){if(u&&c.anchor){n[a(c.anchor)].fixedrange&&f.push(l)}}else f.push(l);for(o=0;o<t.length;o++)if(t[o][e]){var p=t[o],d=[];for(s=0;s<f.length;s++)p[l=f[s]]||d.push(l);return{linkableAxes:d,thisGroup:p}}return{linkableAxes:f,thisGroup:null}}function h(t,e,r,n,a){var i,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(i=0;i<t.length;i++)if(s=t[i],i!==c&&s[n]){var h=s[n];for(o=0;o<u.length;o++)s[l=u[o]]=h*a*e[l];return void t.splice(c,1)}if(1!==a)for(o=0;o<u.length;o++)e[u[o]]*=a;e[n]=1}function f(t,e){var r=t._inputDomain,n=c[t.constraintoward],a=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[a+(r[0]-a)/e,a+(r[1]-a)/e],t.setScale()}r.handleConstraintDefaults=function(t,e,r,a){var i,o,s,l,c=a.allAxisIds,f=a.layoutOut,p=a.scaleanchorDflt,d=a.constrainDflt,g=f._axisConstraintGroups,v=f._axisMatchGroups,m=e._id,y=m.charAt(0),x=((f._splomAxes||{})[y]||{})[m]||{},b=e._id,_=b.charAt(0),w=r("constrain",d);if(n.coerce(t,e,{constraintoward:{valType:"enumerated",values:"x"===_?["left","center","right"]:["bottom","middle","top"],dflt:"x"===_?"center":"middle"}},"constraintoward"),!t.matches&&!x.matches||e.fixedrange||(o=u(v,b,c,f),i=n.coerce(t,e,{matches:{valType:"enumerated",values:o.linkableAxes||[],dflt:x.matches}},"matches")),i||e.fixedrange&&"domain"!==w||!t.scaleanchor&&!p||(l=u(g,b,c,f,w),s=n.coerce(t,e,{scaleanchor:{valType:"enumerated",values:l.linkableAxes||[]}},"scaleanchor",p)),i?(delete e.constrain,h(v,o.thisGroup,b,i,1)):-1!==c.indexOf(t.matches)&&n.warn("ignored "+e._name+'.matches: "'+t.matches+'" to avoid either an infinite loop or because the target axis has fixed range.'),s){var k=r("scaleratio");k||(k=e.scaleratio=1),h(g,l.thisGroup,b,s,k)}else-1!==c.indexOf(t.scaleanchor)&&n.warn("ignored "+e._name+'.scaleanchor: "'+t.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the target axis has fixed range or this axis declares a *matches* constraint.')},r.enforce=function(t){var e,r,n,c,u,h,p,d=t._fullLayout,g=d._axisConstraintGroups||[];for(e=0;e<g.length;e++){var v=g[e],m=Object.keys(v),y=1/0,x=0,b=1/0,_={},w={},k=!1;for(r=0;r<m.length;r++)w[n=m[r]]=c=d[a(n)],c._inputDomain?c.domain=c._inputDomain.slice():c._inputDomain=c.domain.slice(),c._inputRange||(c._inputRange=c.range.slice()),c.setScale(),_[n]=u=Math.abs(c._m)/v[n],y=Math.min(y,u),"domain"!==c.constrain&&c._constraintShrinkable||(b=Math.min(b,u)),delete c._constraintShrinkable,x=Math.max(x,u),"domain"===c.constrain&&(k=!0);if(!(y>l*x)||k)for(r=0;r<m.length;r++)if(u=_[n=m[r]],h=(c=w[n]).constrain,u!==b||"domain"===h)if(p=u/b,"range"===h)i(c,p);else{var T=c._inputDomain,A=(c.domain[1]-c.domain[0])/(T[1]-T[0]),M=(c.r2l(c.range[1])-c.r2l(c.range[0]))/(c.r2l(c._inputRange[1])-c.r2l(c._inputRange[0]));if((p/=A)*M<1){c.domain=c._input.domain=T.slice(),i(c,p);continue}if(M<1&&(c.range=c._input.range=c._inputRange.slice(),p*=M),c.autorange){var S=c.r2l(c.range[0]),E=c.r2l(c.range[1]),L=(S+E)/2,C=L,P=L,O=Math.abs(E-L),z=L-O*p*1.0001,I=L+O*p*1.0001,D=o(c);f(c,p);var R,F,B=Math.abs(c._m),N=s(t,c),j=N.min,V=N.max;for(F=0;F<j.length;F++)(R=j[F].val-D(j[F])/B)>z&&R<C&&(C=R);for(F=0;F<V.length;F++)(R=V[F].val+D(V[F])/B)<I&&R>P&&(P=R);p/=(P-C)/(2*O),C=c.l2r(C),P=c.l2r(P),c.range=c._input.range=S<E?[C,P]:[P,C]}f(c,p)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,a=t._fullLayout._axisConstraintGroups,i=0;i<a.length;i++)if(a[i][n]){r=!0;break}r&&"domain"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{"../../constants/alignment":685,"../../constants/numerical":692,"../../lib":716,"./autorange":763,"./axis_ids":767,"./scale_zoom":780}],772:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/color"),u=t("../../components/drawing"),h=t("../../components/fx"),f=t("./axes"),p=t("../../lib/setcursor"),d=t("../../components/dragelement"),g=t("../../constants/alignment").FROM_TL,v=t("../../lib/clear_gl_canvases"),m=t("../../plot_api/subroutines").redrawReglTraces,y=t("../plots"),x=t("./axis_ids").getFromId,b=t("./select").prepSelect,_=t("./select").clearSelect,w=t("./select").selectOnClick,k=t("./scale_zoom"),T=t("./constants"),A=T.MINDRAG,M=T.MINZOOM,S=!0;function E(t,e,r,n){var a=s.ensureSingle(t.draglayer,e,r,function(e){e.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",t.id)});return a.call(p,n),a.node()}function L(t,e,r,a,i,o,s){var l=E(t,"rect",e,r);return n.select(l).call(u.setRect,a,i,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return""}function P(t,e,r,n,a){for(var i=0;i<t.length;i++){var o=t[i];if(!o.fixedrange){var s=o._rl[0],l=o._rl[1]-s;n[o._name+".range[0]"]=o.l2r(s+l*e),n[o._name+".range[1]"]=o.l2r(s+l*r)}}if(a&&a.length){var c=(e+(1-r))/2;P(a,c,1-c,n,[])}}function O(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function z(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function I(t,e,r,n,a){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform","translate("+r+", "+n+")").attr("d",a+"Z")}function D(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function R(t,e,r,n,a,i){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),F(t,e,a,i)}function F(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function B(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function N(t){S&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),S=!1)}function j(t){return"lasso"===t||"select"===t}function V(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function U(t,e,r,n){for(var a,i,o,l,c=!1,u={},h={},f=0;f<e.length;f++){var p=e[f];for(a in r)if(p[a]){for(o in p)("x"===o.charAt(0)?r:n)[o]||(u[o]=a);for(i in n)p[i]&&(c=!0)}for(i in n)if(p[i])for(l in p)("x"===l.charAt(0)?r:n)[l]||(h[l]=i)}c&&(s.extendFlat(u,h),h={});var d={},g=[];for(o in u){var v=x(t,o);g.push(v),d[v._id]=v}var m={},y=[];for(l in h){var b=x(t,l);y.push(b),m[b._id]=b}return{xaHash:d,yaHash:m,xaxes:g,yaxes:y,xLinks:u,yLinks:h,isSubplotConstrained:c}}function q(t,e){if(i){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function H(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,i,c,p,S,E){var F,G,Y,W,X,Z,J,K,Q,$,tt,et,rt,nt,at,it,ot,st,lt,ct,ut,ht=t._fullLayout._zoomlayer,ft=S+E==="nsew",pt=1===(S+E).length;function dt(){if(F=e.xaxis,G=e.yaxis,Q=F._length,$=G._length,J=F._offset,K=G._offset,(Y={})[F._id]=F,(W={})[G._id]=G,S&&E)for(var r=e.overlays,n=0;n<r.length;n++){var a=r[n].xaxis;Y[a._id]=a;var i=r[n].yaxis;W[i._id]=i}X=H(Y),Z=H(W),rt=C(X,E),nt=C(Z,S),at=!nt&&!rt,tt=U(t,t._fullLayout._axisConstraintGroups,Y,W),et=U(t,t._fullLayout._axisMatchGroups,Y,W),it=E||tt.isSubplotConstrained||et.isSubplotConstrained,ot=S||tt.isSubplotConstrained||et.isSubplotConstrained;var o=t._fullLayout;st=o._has("scattergl"),lt=o._has("splom"),ct=o._has("svg")}dt();var gt=function(t,e,r){return t?"nsew"===t?r?"":"pan"===e?"move":"crosshair":t.toLowerCase()+"-resize":"pointer"}(nt+rt,t._fullLayout.dragmode,ft),vt=L(e,S+E+"drag",gt,r,i,c,p);if(at&&!ft)return vt.onmousedown=null,vt.style.pointerEvents="none",vt;var mt,yt,xt,bt,_t,wt,kt,Tt,At,Mt,St={element:vt,gd:t,plotinfo:e};function Et(){St.plotinfo.selection=!1,_(t)}function Lt(r,a){var i=t._fullLayout.clickmode;if(B(t),2!==r||pt||function(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];rt&&(r=r.concat(X)),nt&&(r=r.concat(Z)),et.xaxes&&(r=r.concat(et.xaxes)),et.yaxes&&(r=r.concat(et.yaxes));var n,a,i,s={};if("reset+autosize"===e)for(e="autosize",a=0;a<r.length;a++)if((n=r[a])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e="reset";break}if("autosize"===e)for(a=0;a<r.length;a++)(n=r[a]).fixedrange||(s[n._name+".autorange"]=!0);else if("reset"===e)for((rt||tt.isSubplotConstrained)&&(r=r.concat(tt.xaxes)),nt&&!tt.isSubplotConstrained&&(r=r.concat(tt.yaxes)),tt.isSubplotConstrained&&(rt?nt||(r=r.concat(Z)):r=r.concat(X)),a=0;a<r.length;a++)(n=r[a]).fixedrange||(n._rangeInitial?(i=n._rangeInitial,s[n._name+".range[0]"]=i[0],s[n._name+".range[1]"]=i[1]):s[n._name+".autorange"]=!0);t.emit("plotly_doubleclick",null),o.call("_guiRelayout",t,s)}}(),ft)i.indexOf("select")>-1&&w(a,t,X,Z,e.id,St),i.indexOf("event")>-1&&h.click(t,a,e.id);else if(1===r&&pt){var s=S?G:F,c="s"===S||"w"===E?0:1,u=s._name+".range["+c+"]",f=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return"date"===t.type?a:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format("."+String(r)+"g")(a))}(s,c),p="left",d="middle";if(s.fixedrange)return;S?(d="n"===S?"top":"bottom","right"===s.side&&(p="right")):"e"===E&&(p="right"),t._context.showAxisRangeEntryBoxes&&n.select(vt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:d}).on("edit",function(e){var r=s.d2r(e);void 0!==r&&o.call("_guiRelayout",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(Q,e+mt)),a=Math.max(0,Math.min($,r+yt)),i=Math.abs(n-mt),o=Math.abs(a-yt);function s(){kt="",xt.r=xt.l,xt.t=xt.b,At.attr("d","M0,0Z")}if(xt.l=Math.min(mt,n),xt.r=Math.max(mt,n),xt.t=Math.min(yt,a),xt.b=Math.max(yt,a),tt.isSubplotConstrained)i>M||o>M?(kt="xy",i/Q>o/$?(o=i*$/Q,yt>a?xt.t=yt-o:xt.b=yt+o):(i=o*Q/$,mt>n?xt.l=mt-i:xt.r=mt+i),At.attr("d",V(xt))):s();else if(et.isSubplotConstrained)if(i>M||o>M){kt="xy";var l=Math.min(xt.l/Q,($-xt.b)/$),c=Math.max(xt.r/Q,($-xt.t)/$);xt.l=l*Q,xt.r=c*Q,xt.b=(1-l)*$,xt.t=(1-c)*$,At.attr("d",V(xt))}else s();else!nt||o<Math.min(Math.max(.6*i,A),M)?i<A||!rt?s():(xt.t=0,xt.b=$,kt="x",At.attr("d",function(t,e){return"M"+(t.l-.5)+","+(e-M-.5)+"h-3v"+(2*M+1)+"h3ZM"+(t.r+.5)+","+(e-M-.5)+"h3v"+(2*M+1)+"h-3Z"}(xt,yt))):!rt||i<Math.min(.6*o,M)?(xt.l=0,xt.r=Q,kt="y",At.attr("d",function(t,e){return"M"+(e-M-.5)+","+(t.t-.5)+"v-3h"+(2*M+1)+"v3ZM"+(e-M-.5)+","+(t.b+.5)+"v3h"+(2*M+1)+"v-3Z"}(xt,mt))):(kt="xy",At.attr("d",V(xt)));xt.w=xt.r-xt.l,xt.h=xt.b-xt.t,kt&&(Mt=!0),t._dragged=Mt,R(Tt,At,xt,_t,wt,bt),Pt(),t.emit("plotly_relayouting",ut),wt=!0}function Pt(){ut={},"xy"!==kt&&"x"!==kt||(P(X,xt.l/Q,xt.r/Q,ut,tt.xaxes),Bt("x",ut)),"xy"!==kt&&"y"!==kt||(P(Z,($-xt.b)/$,($-xt.t)/$,ut,tt.yaxes),Bt("y",ut))}function Ot(){Pt(),B(t),jt(),N(t)}St.prepFn=function(e,r,n){var i=St.dragmode,o=t._fullLayout.dragmode;o!==i&&(St.dragmode=o),dt(),at||(ft?e.shiftKey?"pan"===o?o="zoom":j(o)||(o="pan"):e.ctrlKey&&(o="pan"):o="pan"),St.minDrag="lasso"===o?1:void 0,j(o)?(St.xaxes=X,St.yaxes=Z,b(e,r,n,St,o)):(St.clickFn=Lt,j(i)&&Et(),at||("zoom"===o?(St.moveFn=Ct,St.doneFn=Ot,St.minDrag=1,function(e,r,n){var i=vt.getBoundingClientRect();mt=r-i.left,yt=n-i.top,xt={l:mt,r:mt,w:0,t:yt,b:yt,h:0},bt=t._hmpixcount?t._hmlumcount/t._hmpixcount:a(t._fullLayout.plot_bgcolor).getLuminance(),wt=!1,kt="xy",Mt=!1,Tt=I(ht,bt,J,K,_t="M0,0H"+Q+"V"+$+"H0V0"),At=D(ht,J,K)}(0,r,n)):"pan"===o&&(St.moveFn=Ft,St.doneFn=jt))),t._fullLayout._redrag=function(){var e=t._dragdata;e&&e.element===vt&&(j(t._fullLayout.dragmode)||(dt(),Vt([0,0,Q,$]),St.moveFn(e.dx,e.dy)))}},d.init(St);var zt=[0,0,Q,$],It=null,Dt=T.REDRAWDELAY,Rt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Ft(e,r){if(!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,"ew"===rt||"ns"===nt)return rt&&(O(X,e),Bt("x")),nt&&(O(Z,r),Bt("y")),Vt([rt?-e:0,nt?-r:0,Q,$]),Nt(),void t.emit("plotly_relayouting",ut);if(tt.isSubplotConstrained&&rt&&nt){var n="w"===rt==("n"===nt)?1:-1,a=(e/Q+n*r/$)/2;e=a*Q,r=n*a*$}"w"===rt?e=l(X,0,e):"e"===rt?e=l(X,1,-e):rt||(e=0),"n"===nt?r=l(Z,1,r):"s"===nt?r=l(Z,0,-r):nt||(r=0);var i="w"===rt?e:0,o="n"===nt?r:0;if(tt.isSubplotConstrained){var s;if(!rt&&1===nt.length){for(s=0;s<X.length;s++)X[s].range=X[s]._r.slice(),k(X[s],1-r/$);i=(e=r*Q/$)/2}if(!nt&&1===rt.length){for(s=0;s<Z.length;s++)Z[s].range=Z[s]._r.slice(),k(Z[s],1-e/Q);o=(r=e*$/Q)/2}}Bt("x"),Bt("y"),Vt([i,o,Q-e,$-r]),Nt(),t.emit("plotly_relayouting",ut)}function l(t,e,r){for(var n,a,i=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,a=s._rl[i]+(s._rl[e]-s._rl[i])/z(r/s._length);var l=s.l2r(a);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-a)/(n._rl[e]-n._rl[i])}}function Bt(t,e){for(var r=et.isSubplotConstrained?{x:Z,y:X}[t]:et[t+"axes"],n=et.isSubplotConstrained?{x:X,y:Z}[t]:[],a=0;a<r.length;a++){var i=r[a],o=i._id,s=et.xLinks[o]||et.yLinks[o],l=n[0]||Y[s]||W[s];l&&(e?(e[i._name+".range[0]"]=e[l._name+".range[0]"],e[i._name+".range[1]"]=e[l._name+".range[1]"]):i.range=l.range.slice())}}function Nt(){var e,r=[];function n(t){for(e=0;e<t.length;e++)t[e].fixedrange||r.push(t[e]._id)}for(it&&(n(X),n(tt.xaxes),n(et.xaxes)),ot&&(n(Z),n(tt.yaxes),n(et.yaxes)),ut={},e=0;e<r.length;e++){var a=r[e],i=x(t,a);f.drawOne(t,i,{skipTitle:!0}),ut[i._name+".range[0]"]=i.range[0],ut[i._name+".range[1]"]=i.range[1]}f.redrawComponents(t,r)}function jt(){Vt([0,0,Q,$]),s.syncOrAsync([y.previousPromises,function(){t._fullLayout._replotting=!1,o.call("_guiRelayout",t,ut)}],t)}function Vt(e){var r,n,a,i,l=t._fullLayout,c=l._plots,h=l._subplots.cartesian;if(lt&&o.subplotsRegistry.splom.drag(t),st)for(r=0;r<h.length;r++)if(a=(n=c[h[r]]).xaxis,i=n.yaxis,n._scene){var f=s.simpleMap(a.range,a.r2l),p=s.simpleMap(i.range,i.r2l);n._scene.update({range:[f[0],p[0],f[1],p[1]]})}if((lt||st)&&(v(t),m(t)),ct){var d=e[2]/F._length,g=e[3]/G._length;for(r=0;r<h.length;r++){a=(n=c[h[r]]).xaxis,i=n.yaxis;var y,x,b,_,w=it&&!a.fixedrange&&Y[a._id],k=ot&&!i.fixedrange&&W[i._id];if(w?(y=d,b=E?e[0]:Ht(a,y)):et.xaHash[a._id]?(y=d,b=e[0]*a._length/F._length):et.yaHash[a._id]?(y=g,b="ns"===nt?-e[1]*a._length/G._length:Ht(a,y,{n:"top",s:"bottom"}[nt])):b=qt(a,y=Ut(a,d,g)),k?(x=g,_=S?e[1]:Ht(i,x)):et.yaHash[i._id]?(x=g,_=e[1]*i._length/G._length):et.xaHash[i._id]?(x=d,_="ew"===rt?-e[0]*i._length/F._length:Ht(i,x,{e:"right",w:"left"}[rt])):_=qt(i,x=Ut(i,d,g)),y||x){y||(y=1),x||(x=1);var T=a._offset-b/y,A=i._offset-_/x;n.clipRect.call(u.setTranslate,b,_).call(u.setScale,y,x),n.plot.call(u.setTranslate,T,A).call(u.setScale,1/y,1/x),y===n.xScaleFactor&&x===n.yScaleFactor||(u.setPointGroupScale(n.zoomScalePts,y,x),u.setTextPointsScale(n.zoomScaleTxt,y,x)),u.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=y,n.yScaleFactor=x}}}}function Ut(t,e,r){return t.fixedrange?0:it&&tt.xaHash[t._id]?e:ot&&(tt.isSubplotConstrained?tt.xaHash:tt.yaHash)[t._id]?r:0}function qt(t,e){return e?(t.range=t._r.slice(),k(t,e),Ht(t,e)):0}function Ht(t,e,r){return t._length*(1-e)*g[r||t.constraintoward||"middle"]}return S.length*E.length!=1&&q(vt,function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(Et(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();dt(),clearTimeout(It);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,a=Math.exp(-Math.min(Math.max(r,-20),20)/200),i=Rt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),o=(e.clientX-i.left)/i.width,l=(i.bottom-e.clientY)/i.height;if(it){for(E||(o=.5),n=0;n<X.length;n++)c(X[n],o,a);Bt("x"),zt[2]*=a,zt[0]+=zt[2]*o*(1/a-1)}if(ot){for(S||(l=.5),n=0;n<Z.length;n++)c(Z[n],l,a);Bt("y"),zt[3]*=a,zt[1]+=zt[3]*(1-l)*(1/a-1)}Vt(zt),Nt(),t.emit("plotly_relayouting",ut),It=setTimeout(function(){zt=[0,0,Q,$],jt()},Dt),e.preventDefault()}else s.log("Did not find wheel motion attributes: ",e)}function c(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),a=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(a+(e-a)*r)})}}}),vt},makeDragger:E,makeRectDragger:L,makeZoombox:I,makeCorners:D,updateZoombox:R,xyCorners:V,transitionZoombox:F,removeZoombox:B,showDoubleClickNotifier:N,attachWheelEventHandler:q}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../constants/alignment":685,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plot_api/subroutines":755,"../../registry":845,"../plots":825,"./axes":764,"./axis_ids":767,"./constants":770,"./scale_zoom":780,"./select":781,d3:164,"has-passive-events":412,tinycolor2:535}],773:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/fx"),i=t("../../components/dragelement"),o=t("../../lib/setcursor"),s=t("./dragbox").makeDragBox,l=t("./constants").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(".drag").remove();else if(e._has("cartesian")||e._has("splom")){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split("y"),a=r.split("y");return n[0]===a[0]?Number(n[1]||1)-Number(a[1]||1):Number(n[0]||1)-Number(a[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,"ns","ew");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&t._fullLayout._plots[r]&&a.hover(t,e,r)},a.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,"n","w"),s(t,n,o._offset+o._length,c._offset-l,l,l,"n","e"),s(t,n,o._offset-l,c._offset+c._length,l,l,"s","w"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,"s","e"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var h=o._mainLinePosition;"top"===o.side&&(h-=l),s(t,n,o._offset+.1*o._length,h,.8*o._length,l,"","ew"),s(t,n,o._offset,h,.1*o._length,l,"","w"),s(t,n,o._offset+.9*o._length,h,.1*o._length,l,"","e")}if(r===c._mainSubplot){var f=c._mainLinePosition;"right"!==c.side&&(f-=l),s(t,n,f,c._offset+.1*c._length,l,.8*c._length,"ns",""),s(t,n,f,c._offset+.9*c._length,l,.1*c._length,"s",""),s(t,n,f,c._offset,l,.1*c._length,"n","")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,a.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,a.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r="pan"===e.dragmode?"move":"crosshair";o(e._draggers,r)}},{"../../components/dragelement":609,"../../components/fx":629,"../../lib/setcursor":736,"./constants":770,"./dragbox":772,d3:164}],774:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t){return function(e,r){var i=e[t];if(Array.isArray(i))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,h=l.cartesian,f=r._has("cartesian")||r._has("gl2d"),p=0;p<i.length;p++){var d=i[p];if(a.isPlainObject(d)){var g=d.xref,v=d.yref,m=s.x.test(g),y=s.y.test(v);if(m||y){f||a.pushUnique(r._basePlotModules,o);var x=!1;m&&-1===c.indexOf(g)&&(c.push(g),x=!0),y&&-1===u.indexOf(v)&&(u.push(v),x=!0),x&&m&&y&&h.push(g+v)}}}}}},{"../../lib":716,"../../registry":845}],775:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../plots"),s=t("../../components/drawing"),l=t("../get_data").getModuleCalcData,c=t("./axis_ids"),u=t("./constants"),h=t("../../constants/xmlns_namespaces"),f=i.ensureSingle;function p(t,e,r){return i.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,i,o){for(var c,h,f,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,v=[],m=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=a.modules[x].categories;if(b.svg){var _=c.layerName||x+"layer",w=c.plot;f=(h=l(r,w))[0],r=h[1],f.length&&v.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:f}),b.zoomScale&&m.push("."+_)}}v.sort(function(t,e){return t.i-e.i});var k=e.plot.selectAll("g.mlayer").data(v,function(t){return t.className});if(k.enter().append("g").attr("class",function(t){return t.className}).classed("mlayer",!0).classed("rangeplot",e.isRangePlot),k.exit().remove(),k.order(),k.each(function(r){var a=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,a,i,o),-1===u.clipOnAxisFalseQuery.indexOf("."+l)&&s.setClipUrl(a,e.layerClipId,t)}),d._has("scattergl")&&(c=a.getModule("scattergl"),f=l(r,c)[0],c.plot(t,e,f)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(u.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),m.length)){var T=e.plot.selectAll(m.join(",")).selectAll(".trace");e.zoomScalePts=T.selectAll("path.point"),e.zoomScaleTxt=T.selectAll(".textpoint")}}function g(t,e){var r=e.plotgroup,n=e.id,a=u.layerValue2layerClass[e.xaxis.layer],i=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,h=n+"-x",d=n+"-y";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,f(s.overlinesBelow,"path",h),f(s.overlinesBelow,"path",d),f(s.overaxesBelow,"g",h),f(s.overaxesBelow,"g",d),e.plot=f(s.overplot,"g",n),f(s.overlinesAbove,"path",h),f(s.overlinesAbove,"path",d),f(s.overaxesAbove,"g",h),f(s.overaxesAbove,"g",d),e.xlines=l.select(".overlines-"+a).select("."+h),e.ylines=l.select(".overlines-"+i).select("."+d),e.xaxislayer=l.select(".overaxes-"+a).select("."+h),e.yaxislayer=l.select(".overaxes-"+i).select("."+d)}else if(o)e.xlines=f(r,"path","xlines-above"),e.ylines=f(r,"path","ylines-above"),e.xaxislayer=f(r,"g","xaxislayer-above"),e.yaxislayer=f(r,"g","yaxislayer-above");else{var g=f(r,"g","layer-subplot");e.shapelayer=f(g,"g","shapelayer"),e.imagelayer=f(g,"g","imagelayer"),e.gridlayer=f(r,"g","gridlayer"),e.zerolinelayer=f(r,"g","zerolinelayer"),f(r,"path","xlines-below"),f(r,"path","ylines-below"),e.overlinesBelow=f(r,"g","overlines-below"),f(r,"g","xaxislayer-below"),f(r,"g","yaxislayer-below"),e.overaxesBelow=f(r,"g","overaxes-below"),e.plot=f(r,"g","plot"),e.overplot=f(r,"g","overplot"),e.xlines=f(r,"path","xlines-above"),e.ylines=f(r,"path","ylines-above"),e.overlinesAbove=f(r,"g","overlines-above"),f(r,"g","xaxislayer-above"),f(r,"g","yaxislayer-above"),e.overaxesAbove=f(r,"g","overaxes-above"),e.xlines=r.select(".xlines-"+a),e.ylines=r.select(".ylines-"+i),e.xaxislayer=r.select(".xaxislayer-"+a),e.yaxislayer=r.select(".yaxislayer-"+i)}o||(p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map(function(t){return t[0]}).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0)}function v(t,e){if(t){var r={};for(var a in t.each(function(t){var a=t[0];n.select(this).remove(),m(a,e),r[a]=!0}),e._plots)for(var i=e._plots[a].overlays||[],o=0;o<i.length;o++){var s=i[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function m(t,e){e._draggers.selectAll("g."+t).remove(),e._defs.select("#clip"+e._uid+t+"plot").remove()}r.name="cartesian",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t("./attributes"),r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.transitionAxes=t("./transition_axes"),r.finalizeSubplots=function(t,e){var r,n,a,o=e._subplots,s=o.xaxis,l=o.yaxis,h=o.cartesian,f=h.concat(o.gl2d||[]),p={},d={};for(r=0;r<f.length;r++){var g=f[r].split("y");p[g[0]]=1,d["y"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(a=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(a)||(a="y"),h.push(n+a),f.push(n+a),d[a]||(d[a]=1,i.pushUnique(l,a)));for(r=0;r<l.length;r++)d[a=l[r]]||(n=(t[c.id2name(a)]||{}).anchor,u.idRegex.x.test(n)||(n="x"),h.push(n+a),f.push(n+a),p[n]||(p[n]=1,i.pushUnique(s,n)));if(!f.length){for(var v in n="",a="",t){if(u.attrRegex.test(v))"x"===v.charAt(0)?(!n||+v.substr(5)<+n.substr(5))&&(n=v):(!a||+v.substr(5)<+a.substr(5))&&(a=v)}n=n?c.name2id(n):"x",a=a?c.name2id(a):"y",s.push(n),l.push(a),h.push(n+a)}},r.plot=function(t,e,r,n){var a,i=t._fullLayout,o=i._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<s.length;a++)e.push(a);for(a=0;a<o.length;a++){for(var l,c=o[a],u=i._plots[c],h=[],f=0;f<s.length;f++){var p=s[f],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==["tonextx","tonexty","tonext"].indexOf(g.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}d(t,u,h,r,n)}},r.clean=function(t,e,r,n){var a,i,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(a=s[o]).plotgroup&&a.plotgroup.remove();var h=n._has&&n._has("gl"),f=e._has&&e._has("gl");if(h&&!f)for(o in s)(a=s[o])._scene&&a._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(i=0;i<p.length;i++){var d=p[i];e[c.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var g=n._has&&n._has("cartesian"),y=e._has&&e._has("cartesian");if(g&&!y)v(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups;else if(u.cartesian)for(i=0;i<u.cartesian.length;i++){var x=u.cartesian[i];if(!l[x]){var b="."+x+",."+x+"-x,."+x+"-y";n._cartesianlayer.selectAll(b).remove(),m(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,a,i,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],h=[];for(e=0;e<c;e++){n=l[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var f=i._mainAxis,p=o._mainAxis,d=f._id+p._id,g=s._plots[d];a.overlays=[],d!==n&&g?(a.mainplot=d,a.mainplotinfo=g,h.push(n)):(a.mainplot=void 0,a.mainPlotinfo=void 0,u.push(n))}for(e=0;e<h.length;e++)n=h[e],(a=s._plots[n]).mainplotinfo.overlays.push(a);var v=u.concat(h),m=new Array(c);for(e=0;e<c;e++){n=v[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var y=[n,i.layer,o.layer,i.overlaying||"",o.overlaying||""];for(r=0;r<a.overlays.length;r++)y.push(a.overlays[r].id);m[e]=y}return m}(t),a=e._cartesianlayer.selectAll(".subplot").data(r,String);a.enter().append("g").attr("class",function(t){return"subplot "+t[0]}),a.order(),a.exit().call(v,e),a.each(function(r){var a=r[0],i=e._plots[a];i.plotgroup=n.select(this),g(t,i),i.draglayer=f(e._draggers,"g",a)})},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:h.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t("./graph_interact").updateFx},{"../../components/drawing":612,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../registry":845,"../get_data":799,"../plots":825,"./attributes":762,"./axis_ids":767,"./constants":770,"./graph_interact":773,"./layout_attributes":776,"./layout_defaults":777,"./transition_axes":786,d3:164}],776:[function(t,e,r){"use strict";var n=t("../font_attributes"),a=t("../../components/color/attributes"),i=t("../../components/drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray,l=(t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").DATE_FORMAT_LINK,t("./constants"));e.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:a.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:n({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},scaleanchor:{valType:"enumerated",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],dflt:"range",editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"calc"},tickmode:{valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:"integer",min:0,dflt:0,editType:"ticks"},tick0:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},dtick:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},tickvals:{valType:"data_array",editType:"ticks"},ticktext:{valType:"data_array",editType:"ticks"},ticks:{valType:"enumerated",values:["outside","inside",""],editType:"ticks"},tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:{valType:"number",min:0,dflt:5,editType:"ticks"},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},tickcolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},automargin:{valType:"boolean",dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:o({},i,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor"],dflt:"data",editType:"none"},tickfont:n({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks"},tickformatstops:s("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:a.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:{valType:"boolean",editType:"ticks"},gridcolor:{valType:"color",dflt:a.lightLine,editType:"ticks"},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:n({editType:"ticks"})}}},{"../../components/color/attributes":590,"../../components/drawing/attributes":611,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/plot_template":754,"../font_attributes":790,"./constants":770}],777:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../plot_api/plot_template"),o=t("../layout_attributes"),s=t("./layout_attributes"),l=t("./type_defaults"),c=t("./axis_defaults"),u=t("./constraints").handleConstraintDefaults,h=t("./position_defaults"),f=t("./axis_ids"),p=f.id2name,d=f.name2id,g=t("../../registry"),v=g.traceIs,m=g.getComponentMethod;function y(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var f,g,x={},b={},_={},w={},k={},T={},A={},M={},S={},E={};for(f=0;f<r.length;f++){var L=r[f];if(v(L,"cartesian")||v(L,"gl2d")){var C,P;if(L.xaxis)y(x,C=p(L.xaxis),L);else if(L.xaxes)for(g=0;g<L.xaxes.length;g++)y(x,p(L.xaxes[g]),L);if(L.yaxis)y(x,P=p(L.yaxis),L);else if(L.yaxes)for(g=0;g<L.yaxes.length;g++)y(x,p(L.yaxes[g]),L);if("funnel"===L.type?"h"===L.orientation?(C&&(b[C]=!0),P&&(A[P]=!0)):P&&(_[P]=!0):"image"===L.type?(P&&(M[P]=!0),C&&(M[C]=!0)):(P&&(k[P]=!0,T[P]=!0),v(L,"carpet")&&("carpet"!==L.type||L._cheater)||C&&(w[C]=!0)),"carpet"===L.type&&L._cheater&&C&&(b[C]=!0),v(L,"2dMap")&&(S[C]=!0,S[P]=!0),v(L,"oriented"))E["h"===L.orientation?P:C]=!0}}var O=e._subplots,z=O.xaxis,I=O.yaxis,D=n.simpleMap(z,p),R=n.simpleMap(I,p),F=D.concat(R),B=a.background;z.length&&I.length&&(B=n.coerce(t,e,o,"plot_bgcolor"));var N,j,V,U,q=a.combine(B,e.paper_bgcolor);function H(t,e){return n.coerce(V,U,s,t,e)}function G(t,e){return n.coerce2(V,U,s,t,e)}function Y(t){return"x"===t?I:z}var W={x:Y("x"),y:Y("y")},X=W.x.concat(W.y);function Z(e,r){for(var n="x"===e?D:R,a=[],i=0;i<n.length;i++){var o=n[i];o===r||(t[o]||{}).overlaying||a.push(d(o))}return a}for(f=0;f<F.length;f++){j=(N=F[f]).charAt(0),n.isPlainObject(t[N])||(t[N]={}),V=t[N],U=i.newContainer(e,N,j+"axis");var J=x[N]||[];U._traceIndices=J.map(function(t){return t._expandedIndex}),U._annIndices=[],U._shapeIndices=[],U._imgIndices=[],U._subplotsWith=[],U._counterAxes=[],U._name=U._attr=N;var K=U._id=d(N),Q=Z(j,N),$="x"===j&&!w[N]&&b[N]||"y"===j&&!k[N]&&_[N],tt="y"===j&&(!T[N]&&A[N]||M[N]),et={letter:j,font:e.font,outerTicks:S[N],showGrid:!E[N],data:J,bgColor:q,calendar:e.calendar,automargin:!0,visibleDflt:$,reverseDflt:tt,splomStash:((e._splomAxes||{})[j]||{})[K]};H("uirevision",e.uirevision),l(V,U,H,et),c(V,U,H,et,e);var rt=G("spikecolor"),nt=G("spikethickness"),at=G("spikedash"),it=G("spikemode"),ot=G("spikesnap");H("showspikes",!!(rt||nt||at||it||ot))||(delete U.spikecolor,delete U.spikethickness,delete U.spikedash,delete U.spikemode,delete U.spikesnap),h(V,U,H,{letter:j,counterAxes:W[j],overlayableAxes:Q,grid:e.grid}),H("title.standoff"),U._input=V}var st=m("rangeslider","handleDefaults"),lt=m("rangeselector","handleDefaults");for(f=0;f<D.length;f++)N=D[f],V=t[N],U=e[N],st(t,e,N),"date"===U.type&&lt(V,U,e,R,U.calendar),H("fixedrange");for(f=0;f<R.length;f++){N=R[f],V=t[N],U=e[N];var ct=e[p(U.anchor)];H("fixedrange",m("rangeslider","isVisible")(ct))}var ut=e._axisConstraintGroups=[],ht=e._axisMatchGroups=[];for(f=0;f<F.length;f++){var ft,pt;j=(N=F[f]).charAt(0),V=t[N],U=e[N],ft="y"===j&&!V.hasOwnProperty("scaleanchor")&&M[N]?U.anchor:void 0,pt=!V.hasOwnProperty("constrain")&&M[N]?"domain":void 0,u(V,U,H,{allAxisIds:X,layoutOut:e,scaleanchorDflt:ft,constrainDflt:pt})}for(f=0;f<ht.length;f++){var dt,gt=ht[f],vt=null,mt=null;for(dt in gt)(U=e[p(dt)]).matches||(vt=U.range,mt=U.autorange);if(null===vt||null===mt)for(dt in gt){vt=(U=e[p(dt)]).range,mt=U.autorange;break}for(dt in gt)(U=e[p(dt)]).matches&&(U.range=vt.slice(),U.autorange=mt),U._matchGroup=gt;if(ut.length)for(dt in gt)for(g=0;g<ut.length;g++){var yt=ut[g];for(var xt in yt)dt===xt&&(n.warn("Axis "+xt+" is set with both a *scaleanchor* and *matches* constraint; ignoring the scale constraint."),delete yt[xt],Object.keys(yt).length<2&&ut.splice(g,1))}}}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845,"../layout_attributes":816,"./axis_defaults":766,"./axis_ids":767,"./constraints":771,"./layout_attributes":776,"./position_defaults":779,"./type_defaults":787}],778:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,a=t("../../components/color/attributes").lightFraction,i=t("../../lib");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return i.coerce2(t,e,o.attributes,r,n)}var c=l("linecolor",s),u=l("linewidth");r("showline",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var h=l("gridcolor",n(s,o.bgColor,o.blend||a).toRgbString()),f=l("gridwidth");if(r("showgrid",o.showGrid||!!h||!!f)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l("zerolinecolor",s),d=l("zerolinewidth");r("zeroline",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{"../../components/color/attributes":590,"../../lib":716,tinycolor2:535}],779:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib");e.exports=function(t,e,r,i){var o,s,l,c,u=i.counterAxes||[],h=i.overlayableAxes||[],f=i.letter,p=i.grid;p&&(s=p._domains[f][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[f+"side"].split(" ")[0],c=p.domain[f]["right"===l||"top"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?"free":u[0]||"free"),l=l||("x"===f?"bottom":"left"),c=c||0,"free"===a.coerce(t,e,{anchor:{valType:"enumerated",values:["free"].concat(u),dflt:o}},"anchor")&&r("position",c),a.coerce(t,e,{side:{valType:"enumerated",values:"x"===f?["bottom","top"]:["left","right"],dflt:l}},"side");var d=!1;if(h.length&&(d=a.coerce(t,e,{overlaying:{valType:"enumerated",values:[!1].concat(h),dflt:!1}},"overlaying")),!d){var g=r("domain",s);g[0]>g[1]-1/4096&&(e.domain=s),a.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":716,"fast-isnumeric":227}],780:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)]}},{"../../constants/alignment":685}],781:[function(t,e,r){"use strict";var n=t("polybooljs"),a=t("../../registry"),i=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/polygon"),c=t("../../lib/throttle"),u=t("../../components/fx/helpers").makeEventData,h=t("./axis_ids").getFromId,f=t("../../lib/clear_gl_canvases"),p=t("../../plot_api/subroutines").redrawReglTraces,d=t("./constants"),g=d.MINSELECT,v=l.filter,m=l.tester;function y(t){return t._id}function x(t,e,r,n,a,i,o){var s,l,c,u,h,f,p,d,g,v=e._hoverdata,m=e._fullLayout.clickmode.indexOf("event")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(v)){k(t,e,i);var x=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],a.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===a.hoverOnBox)break;void 0!==a.pointNumber?i=a.pointNumber:void 0!==a.binNumber&&(i=a.binNumber,o=a.pointNumbers);break}return{pointNumber:i,pointNumbers:o,searchInfo:r}}(v,s=A(e,r,n,a));if(x.pointNumbers.length>0?function(t,e){var r,n,a,i=[];for(a=0;a<t.length;a++)(r=t[a]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a<e.pointNumbers.length;a++)if(n.selectedpoints.indexOf(e.pointNumbers[a])<0)return!1;return!0}return!1}(s,x):function(t){var e,r,n,a=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(s)&&(f=S(x))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);E(e,s),T(i),m&&e.emit("plotly_deselect",null)}else{for(p=t.shiftKey&&(void 0!==f?f:S(x)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(x.pointNumber,x.searchInfo,p),u=w(i.selectionDefs.concat([c])),g=0;g<s.length;g++)if(h=L(s[g]._module.selectPoints(s[g],u),s[g]),y.length)for(var b=0;b<h.length;b++)y.push(h[b]);else y=h;E(e,s,d={points:y}),c&&i&&i.selectionDefs.push(c),o&&M(i.mergedPolygons,o),m&&e.emit("plotly_selected",d)}}}function b(t){return"pointNumber"in t&&"searchInfo"in t}function _(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,a){var i=t.searchInfo.cd[0].trace._expandedIndex;return a.cd[0].trace._expandedIndex===i&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function w(t){for(var e=[],r=b(t[0])?0:t[0][0][0],n=r,a=b(t[0])?0:t[0][0][1],i=a,o=0;o<t.length;o++)if(b(t[o]))e.push(_(t[o]));else{var s=l.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),a=Math.min(a,s.ymin),i=Math.max(i,s.ymax)}return{xmin:r,xmax:n,ymin:a,ymax:i,pts:[],contains:function(t,r,n,a){for(var i=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,a)&&(i=!1===e[o].subtract);return i},isRect:!1,degenerate:!1}}function k(t,e,r){var n=e._fullLayout,a=r.plotinfo,i=n._lastSelectedSubplot&&n._lastSelectedSubplot===a.id,o=t.shiftKey||t.altKey;i&&o&&a.selection&&a.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=a.selection.selectionDefs,r.mergedPolygons=a.selection.mergedPolygons):o&&a.selection||T(r),i||(C(e),n._lastSelectedSubplot=a.id)}function T(t){var e=t.plotinfo;e.selection={},e.selection.selectionDefs=t.selectionDefs=[],e.selection.mergedPolygons=t.mergedPolygons=[]}function A(t,e,r,n){var a,i,o,s=[],l=e.map(y),c=r.map(y);for(o=0;o<t.calcdata.length;o++)if(!0===(i=(a=t.calcdata[o])[0].trace).visible&&i._module&&i._module.selectPoints)if(!n||i.subplot!==n&&i.geo!==n)if("splom"===i.type&&i._xaxes[l[0]]&&i._yaxes[c[0]]){var u=p(i._module,a,e[0],r[0]);u.scene=t._fullLayout._splomScenes[i.uid],s.push(u)}else if("sankey"===i.type){var f=p(i._module,a,e[0],r[0]);s.push(f)}else{if(-1===l.indexOf(i.xaxis))continue;if(-1===c.indexOf(i.yaxis))continue;s.push(p(i._module,a,h(t,i.xaxis),h(t,i.yaxis)))}else s.push(p(i._module,a,e[0],r[0]));return s;function p(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function M(t,e){var r,n,a=[];for(r=0;r<t.length;r++){var i=t[r];a.push(i.join("L")+"L"+i[0])}n=t.length>0?"M"+a.join("M")+"Z":"M0,0Z",e.attr("d",n)}function S(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,a=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function E(t,e,r){var n,i,o,s;for(n=0;n<e.length;n++){var l=e[n].cd[0].trace._fullInput,c=t._fullLayout._tracePreGUI[l.uid]||{};void 0===c.selectedpoints&&(c.selectedpoints=l._input.selectedpoints||null)}if(r){var u=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace)._input.selectedpoints=s._fullInput.selectedpoints=[],s._fullInput!==s&&(s.selectedpoints=[]);for(n=0;n<u.length;n++){var h=u[n],d=h.data,g=h.fullData;h.pointIndices?([].push.apply(d.selectedpoints,h.pointIndices),s._fullInput!==s&&[].push.apply(g.selectedpoints,h.pointIndices)):(d.selectedpoints.push(h.pointIndex),s._fullInput!==s&&g.selectedpoints.push(h.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints,s._fullInput!==s&&delete s._fullInput.selectedpoints;var v=!1;for(n=0;n<e.length;n++){s=(o=(i=e[n]).cd)[0].trace,a.traceIs(s,"regl")&&(v=!0);var m=i._module,y=m.styleOnSelect||m.style;y&&(y(t,o,o[0].node3),o[0].nodeRangePlot3&&y(t,o,o[0].nodeRangePlot3))}v&&(f(t),p(t))}function L(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,a=0;a<t.length;a++)t[a]=u(t[a],n,r);return t}function C(t){var e=(t._fullLayout||{})._zoomlayer;e&&e.selectAll(".select-outline").remove()}e.exports={prepSelect:function(t,e,r,a,l){var u,h,f,p,y,b,_,S=a.gd,C=S._fullLayout,P=C._zoomlayer,O=a.element.getBoundingClientRect(),z=a.plotinfo,I=z.xaxis._offset,D=z.yaxis._offset,R=e-O.left,F=r-O.top,B=R,N=F,j="M"+R+","+F,V=a.xaxes[0]._length,U=a.yaxes[0]._length,q=a.xaxes.concat(a.yaxes),H=t.altKey;k(t,S,a),"lasso"===l&&(u=v([[R,F]],d.BENDPX));var G=P.selectAll("path.select-outline-"+z.id).data([1,2]);G.enter().append("path").attr("class",function(t){return"select-outline select-outline-"+t+" select-outline-"+z.id}).attr("transform","translate("+I+", "+D+")").attr("d",j+"Z");var Y,W=P.append("path").attr("class","zoombox-corners").style({fill:i.background,stroke:i.defaultLine,"stroke-width":1}).attr("transform","translate("+I+", "+D+")").attr("d","M0,0Z"),X=C._uid+d.SELECTID,Z=[],J=A(S,a.xaxes,a.yaxes,a.subplot);function K(t,e){return"log"===t.type?t.p2d(e):t.p2r(e)}function Q(t){var e="y"===t._id.charAt(0)?1:0;return function(r){return K(t,r[e])}}function $(t,e){return t-e}Y=z.fillRangeItems?z.fillRangeItems:"select"===l?function(t,e){var r=t.range={};for(y=0;y<q.length;y++){var n=q[y],a=n._id.charAt(0);r[n._id]=[K(n,e[a+"min"]),K(n,e[a+"max"])].sort($)}}:function(t,e,r){var n=t.lassoPoints={};for(y=0;y<q.length;y++){var a=q[y];n[a._id]=r.filtered.map(Q(a))}},a.moveFn=function(t,e){B=Math.max(0,Math.min(V,t+R)),N=Math.max(0,Math.min(U,e+F));var r=Math.abs(B-R),i=Math.abs(N-F);if("select"===l){var o=C.selectdirection;"h"===(o="any"===C.selectdirection?i<Math.min(.6*r,g)?"h":r<Math.min(.6*i,g)?"v":"d":C.selectdirection)?((p=[[R,0],[R,U],[B,U],[B,0]]).xmin=Math.min(R,B),p.xmax=Math.max(R,B),p.ymin=Math.min(0,U),p.ymax=Math.max(0,U),W.attr("d","M"+p.xmin+","+(F-g)+"h-4v"+2*g+"h4ZM"+(p.xmax-1)+","+(F-g)+"h4v"+2*g+"h-4Z")):"v"===o?((p=[[0,F],[0,N],[V,N],[V,F]]).xmin=Math.min(0,V),p.xmax=Math.max(0,V),p.ymin=Math.min(F,N),p.ymax=Math.max(F,N),W.attr("d","M"+(R-g)+","+p.ymin+"v-4h"+2*g+"v4ZM"+(R-g)+","+(p.ymax-1)+"v4h"+2*g+"v-4Z")):"d"===o&&((p=[[R,F],[R,N],[B,N],[B,F]]).xmin=Math.min(R,B),p.xmax=Math.max(R,B),p.ymin=Math.min(F,N),p.ymax=Math.max(F,N),W.attr("d","M0,0Z"))}else"lasso"===l&&(u.addPt([B,N]),p=u.filtered);a.selectionDefs&&a.selectionDefs.length?(f=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(a.mergedPolygons,p,H),p.subtract=H,h=w(a.selectionDefs.concat([p]))):(f=[p],h=m(p)),M(f,G),c.throttle(X,d.SELECTDELAY,function(){var t;Z=[];var e,r=[];for(y=0;y<J.length;y++)if(e=(b=J[y])._module.selectPoints(b,h),r.push(e),t=L(e,b),Z.length)for(var n=0;n<t.length;n++)Z.push(t[n]);else Z=t;E(S,J,_={points:Z}),Y(_,p,u),a.gd.emit("plotly_selecting",_)})},a.clickFn=function(t,e){var r=C.clickmode;W.remove(),c.done(X).then(function(){if(c.clear(X),2===t){for(G.remove(),y=0;y<J.length;y++)(b=J[y])._module.selectPoints(b,!1);E(S,J),T(a),S.emit("plotly_deselect",null)}else r.indexOf("select")>-1&&x(e,S,a.xaxes,a.yaxes,a.subplot,a,G),"event"===r&&S.emit("plotly_selected",void 0);o.click(S,e)}).catch(s.error)},a.doneFn=function(){W.remove(),c.done(X).then(function(){c.clear(X),a.gd.emit("plotly_selected",_),p&&a.selectionDefs&&(p.subtract=H,a.selectionDefs.push(p),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,f)),a.doneFnCompleted&&a.doneFnCompleted(Z)}).catch(s.error)}},clearSelect:C,selectOnClick:x}},{"../../components/color":591,"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/polygon":728,"../../lib/throttle":741,"../../plot_api/subroutines":755,"../../registry":845,"./axis_ids":767,"./constants":770,polybooljs:474}],782:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=i.cleanNumber,s=i.ms2DateTime,l=i.dateTime2ms,c=i.ensureNumber,u=i.isArrayOrTypedArray,h=t("../../constants/numerical"),f=h.FP_SAFE,p=h.BADNUM,d=h.LOG_CLIP,g=t("./constants"),v=t("./axis_ids");function m(t){return Math.pow(10,t)}function y(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function x(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],a=t.range[1];return.5*(n+a-2*d*Math.abs(n-a))}return p}function b(e,r,n){var o=l(e,n||t.calendar);if(o===p){if(!a(e))return p;e=+e;var s=Math.floor(10*i.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function _(e,r,n){return s(e,r,n||t.calendar)}function w(e){return t._categories[Math.round(e)]}function k(e){if(y(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function T(e){if(t._categoriesMap)return t._categoriesMap[e]}function A(t){var e=T(t);return void 0!==e?e:a(t)?+t:void 0}function M(e){return a(e)?n.round(t._b+t._m*e,2):p}function S(e){return(e-t._b)/t._m}t.c2l="log"===t.type?x:c,t.l2c="log"===t.type?m:c,t.l2p=M,t.p2l=S,t.c2p="log"===t.type?function(t,e){return M(x(t,e))}:M,t.p2c="log"===t.type?function(t){return m(S(t))}:S,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=S,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return x(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=x,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(S(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=S,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=i.identity,t.d2c=t.r2c=t.d2l=t.r2l=b,t.c2d=t.c2r=t.l2d=t.l2r=_,t.d2p=t.r2p=function(e,r,n){return t.l2p(b(e,0,n))},t.p2d=t.p2r=function(t,e,r){return _(S(t),e,r)},t.cleanPos=function(e){return i.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=k,t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=T,t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(n){var a,o,s=t._traceIndices,l=e._axisMatchGroups;if(l&&l.length&&0===t._categories.length)for(a=0;a<l.length;a++){var c=l[a];if(c[r])for(var f in c)if(f!==r){var p=e[v.id2name(f)];s=s.concat(p._traceIndices)}}var d=[[0,{}],[0,{}]],g=[];for(a=0;a<s.length;a++){var m=n[s[a]];if(h in m){var x=m[h],b=m._length||i.minRowLength(x);if(u(x[0])&&u(x[1]))for(o=0;o<b;o++){var _=x[0][o],w=x[1][o];y(_)&&y(w)&&(g.push([_,w]),_ in d[0][1]||(d[0][1][_]=d[0][0]++),w in d[1][1]||(d[1][1][w]=d[1][0]++))}}}for(g.sort(function(t,e){var r=d[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var a=d[1][1];return a[t[1]]-a[e[1]]}),a=0;a<g.length;a++)k(g[a])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,r){r||(r={}),e||(e="range");var n,o,s=i.nestedProperty(t,e).get();if(o=(o="date"===t.type?i.dfltRange(t.calendar):"y"===h?g.DFLTRANGEY:r.dfltRange||g.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(o[0]=0),s&&2===s.length)for("date"!==t.type||t.autorange||(s[0]=i.cleanDate(s[0],p,t.calendar),s[1]=i.cleanDate(s[1],p,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!i.isDateTime(s[n],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=i.constrain(t.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=o;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]<-f?s[n]=-f:s[n]>f&&(s[n]=f),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else i.nestedProperty(t,e).set(o)},t.setScale=function(r){var n=e._size;if(t.overlaying){var a=v.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var i=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(i);var s=t.r2l(t[i][0],o),l=t.r2l(t[i][1],o);if("y"===h?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,a,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||i.minRowLength(n),i.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}if("multicategory"===l)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var a=(t[0]||[])[n],i=(t[1]||[])[n];r[n]=T([a,i])}return r}(n,s);for(a=new Array(s),o=0;o<s;o++)a[o]=t.d2c(n[o],0,c)}else{var u=r+"0"in e?t.d2c(e[r+"0"],0,c):0,h=e["d"+r]?Number(e["d"+r]):1;for(n=e[{x:"y",y:"x"}[r]],s=e._length||n.length,a=new Array(s),o=0;o<s;o++)a[o]=u+o*h}return a},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[h],null,r),a=t.r2l(t.range[0]),i=t.r2l(t.range[1]);return a<i?a<=n&&n<=i:i<=n&&n<=a},t.clearCalc=function(){var n=function(){t._categories=[],t._categoriesMap={}},a=e._axisMatchGroups;if(a&&a.length){for(var i=!1,o=0;o<a.length;o++){var s=a[o];if(s[r]){i=!0;var l=null,c=null;for(var u in s){var h=e[v.id2name(u)];if(h._categories){l=h._categories,c=h._categoriesMap;break}}l&&c?(t._categories=l,t._categoriesMap=c):n();break}}i||n()}else n();if(t._initialCategories)for(var f=0;f<t._initialCategories.length;f++)k(t._initialCategories[f])},t.sortByInitialCategories=function(){var n=[];if(t._categories=[],t._categoriesMap={},t._initialCategories)for(var a=0;a<t._initialCategories.length;a++)k(t._initialCategories[a]);n=n.concat(t._traceIndices);var i=t._matchGroup;for(var o in i)if(r!==o){var s=e[v.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var E=e._d3locale;"date"===t.type&&(t._dateFormat=E?E.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=E?E.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{"../../constants/numerical":692,"../../lib":716,"./axis_ids":767,"./constants":770,d3:164,"fast-isnumeric":227}],783:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../array_container_defaults");function o(t){var e=["showexponent","showtickprefix","showticksuffix"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}function s(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r("enabled")&&(r("dtickrange"),r("value"))}e.exports=function(t,e,r,l,c,u){u&&1!==u.pass||function(t,e,r,n,a){var i=o(t);r("tickprefix")&&r("showtickprefix",i);r("ticksuffix",a.tickSuffixDflt)&&r("showticksuffix",i)}(t,0,r,0,c),u&&2!==u.pass||function(t,e,r,l,c){var u=o(t);r("tickprefix")&&r("showtickprefix",u);r("ticksuffix",c.tickSuffixDflt)&&r("showticksuffix",u);if(r("showticklabels")){var h=c.font||{},f=e.color,p=f&&f!==a.color.dflt?f:h.color;if(n.coerceFont(r,"tickfont",{family:h.family,size:h.size,color:p}),r("tickangle"),"category"!==l){var d=r("tickformat"),g=t.tickformatstops;Array.isArray(g)&&g.length&&i(t,e,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:s}),d||"date"===l||(r("showexponent",u),r("exponentformat"),r("separatethousands"))}}}(t,e,r,l,c)}},{"../../lib":716,"../array_container_defaults":760,"./layout_attributes":776}],784:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r,i){var o=n.coerce2(t,e,a,"ticklen"),s=n.coerce2(t,e,a,"tickwidth"),l=n.coerce2(t,e,a,"tickcolor",e.color);r("ticks",i.outerTicks||o||s||l?"outside":"")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{"../../lib":716,"./layout_attributes":776}],785:[function(t,e,r){"use strict";var n=t("./clean_ticks");e.exports=function(t,e,r,a){var i;"array"!==t.tickmode||"log"!==a&&"date"!==a?i=r("tickmode",Array.isArray(t.tickvals)?"array":t.dtick?"linear":"auto"):i=e.tickmode="auto";if("auto"===i)r("nticks");else if("linear"===i){var o=e.dtick=n.dtick(t.dtick,a);e.tick0=n.tick0(t.tick0,a,e.calendar,o)}else if("multicategory"!==a){void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"./clean_ticks":769}],786:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../../components/drawing"),s=t("./axes");e.exports=function(t,e,r,l){var c=t._fullLayout;if(0!==e.length){var u,h,f,p;l&&(u=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr0&&(r[o._name+".range"]=i.xr0.slice()),i.yr0&&(r[s._name+".range"]=i.yr0.slice())}return a.call("relayout",t,r).then(function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)})}()}),h=Date.now(),p=window.requestAnimationFrame(function n(){f=Date.now();for(var i=Math.min(1,(f-h)/r.duration),o=d(i),s=0;s<e.length;s++)v(e[s],o);f-h>r.duration?(function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr1&&(r[o._name+".range"]=i.xr1.slice()),i.yr1&&(r[s._name+".range"]=i.yr1.slice())}u&&u(),a.call("relayout",t,r).then(function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)})}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)}),Promise.resolve()}function g(t){var e=t.xaxis,r=t.yaxis;c._defs.select("#"+t.clipId+"> rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function v(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,c=a._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=i.simpleMap(e.xr0,a.r2l),g=i.simpleMap(e.xr1,a.r2l),v=d[1]-d[0],m=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*m/v),a.range[0]=a.l2r(d[0]*(1-r)+r*g[0]),a.range[1]=a.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(f){var y=i.simpleMap(e.yr0,l.r2l),x=i.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=a.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,a,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[a._id,l._id]);var w=h?c/p[2]:1,k=f?u/p[3]:1,T=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=a._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,T,A).call(o.setScale,1/w,1/k),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,k),o.setPointGroupScale(n.zoomScalePts,1/w,1/k),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/k)}s.redrawComponents(t)}},{"../../components/drawing":612,"../../lib":716,"../../registry":845,"./axes":764,d3:164}],787:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,a=t("./axis_autotype");function i(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=i(t),a=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf("scene")&&(r=s);var l=function(t,e,r){for(var n=0;n<t.length;n++){var a=t[n];if("splom"===a.type&&a._length>0&&(a["_"+r+"axes"]||{})[e])return a;if((a[r+"axis"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}(e,r,s);if(!l)return;if("histogram"===l.type&&s==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=s+"calendar",h=l[u],f={noMultiCategory:!n(l,"cartesian")||n(l,"noMultiCategory")};if(o(l,s)){var p=i(l),d=[];for(c=0;c<e.length;c++){var g=e[c];n(g,"box-violin")&&(g[s+"axis"]||s)===r&&(void 0!==g[p]?d.push(g[p][0]):void 0!==g.name?d.push(g.name):d.push("text"),g[u]!==h&&(h=void 0))}t.type=a(d,h,f)}else if("splom"===l.type){var v=l.dimensions,m=v[l._axesDim[r]];m.visible&&(t.type=a(m.values,h,f))}else t.type=a(l[s]||[l[s+"0"]],h,f)}(e,s.data),"-"===e.type?e.type="linear":t.type=e.type)}},{"../../registry":845,"./axis_autotype":765}],788:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib");function i(t,e,r){var n,i,o,s=!1;if("data"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if("layout"!==e.type)return!1;n=t._fullLayout}return i=a.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==i&&(s=!0),o[e.prop]=i,{changed:s,value:i}}function o(t,e){var r=[],n=e[0],i={};if("string"==typeof n)i[n]=e[1];else{if(!a.isPlainObject(n))return r;i=n}return l(i,function(t,e,n){r.push({type:"layout",prop:t,value:n})},"",0),r}function s(t,e){var r,n,i,o,s=[];if(n=e[0],i=e[1],r=e[2],o={},"string"==typeof n)o[n]=i;else{if(!a.isPlainObject(n))return s;o=n,void 0===r&&(r=i)}return void 0===r&&(r=null),l(o,function(e,n,a){var i,o;if(Array.isArray(a)){o=a.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),i=[];for(var c=0;c<l;c++)i[c]=r?r[c]:c}else o=a,i=r?r.slice():null;if(null===i)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(i)){if(!Array.isArray(o)){var u=o;o=[];for(var h=0;h<i.length;h++)o[h]=u}o.length=Math.min(i.length,o.length)}s.push({type:"data",prop:e,traces:i,value:o})},"",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(i){var o=t[i];if("_"!==i[0]){var s=r+(n>0?".":"")+i;a.isPlainObject(o)?l(o,e,s,n+1):e(s,i,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){i(t,c,s.cache),s.check=function(){if(l){var e=i(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h<u.length;h++)t._internalOn(u[h],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else a.log("Unable to automatically bind plot updates to API command"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var a,i,o=e.length;for(a=0;a<o;a++){var s,l=e[a],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var h=r.computeAPICommandBindings(t,c,u);if(1!==h.length)return!1;if(i){if((s=h[0]).type!==i.type)return!1;if(s.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<i.traces.length;f++)if(i.traces[f]!==s.traces[f])return!1}else if(s.prop!==i.prop)return!1}else i=h[0],Array.isArray(i.traces)&&i.traces.sort();var p=(s=h[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=a)}return i},r.executeAPICommand=function(t,e,r){if("skip"===e)return Promise.resolve();var i=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return i.apply(null,o).catch(function(t){return a.warn("API call to Plotly."+e+" rejected.",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case"restyle":n=s(t,r);break;case"relayout":n=o(t,r);break;case"update":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case"animate":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==["string","number"].indexOf(typeof e[0][0])?[{type:"layout",prop:"_currentFrame",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{"../lib":716,"../registry":845}],789:[function(t,e,r){"use strict";var n=t("../lib/extend").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:"info_array",editType:(t=t||{}).editType,items:[{valType:"number",min:0,max:1,editType:t.editType},{valType:"number",min:0,max:1,editType:t.editType}],dflt:[0,1]},a=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(a.row={valType:"integer",min:0,dflt:0,editType:t.editType},a.column={valType:"integer",min:0,dflt:0,editType:t.editType}),a},r.defaults=function(t,e,r,n){var a=n&&n.x||[0,1],i=n&&n.y||[0,1],o=e.grid;if(o){var s=r("domain.column");void 0!==s&&(s<o.columns?a=o._domains.x[s]:delete t.domain.column);var l=r("domain.row");void 0!==l&&(l<o.rows?i=o._domains.y[l]:delete t.domain.row)}var c=r("domain.x",a),u=r("domain.y",i);c[0]<c[1]||(t.domain.x=a.slice()),u[0]<u[1]||(t.domain.y=i.slice())}},{"../lib/extend":707}],790:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:"string",noBlank:!0,strict:!0,editType:e},size:{valType:"number",min:1,editType:e},color:{valType:"color",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],791:[function(t,e,r){"use strict";e.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},{}],792:[function(t,e,r){"use strict";r.projNames={equirectangular:"equirectangular",mercator:"mercator",orthographic:"orthographic","natural earth":"naturalEarth",kavrayskiy7:"kavrayskiy7",miller:"miller",robinson:"robinson",eckert4:"eckert4","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant","conic equal area":"conicEqualArea","conic conformal":"conicConformal","conic equidistant":"conicEquidistant",gnomonic:"gnomonic",stereographic:"stereographic",mollweide:"mollweide",hammer:"hammer","transverse mercator":"transverseMercator","albers usa":"albersUsa","winkel tripel":"winkel3",aitoff:"aitoff",sinusoidal:"sinusoidal"},r.axesNames=["lonaxis","lataxis"],r.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},r.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor="#F0DC82",r.waterColor="#3399FF",r.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},r.sphereSVG={type:"Sphere"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],r.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],r.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},{}],793:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../components/fx"),c=t("../plots"),u=t("../cartesian/axes"),h=t("../../components/dragelement"),f=t("../cartesian/select").prepSelect,p=t("../cartesian/select").selectOnClick,d=t("./zoom"),g=t("./constants"),v=t("../../lib/topojson_utils"),m=t("topojson-client").feature;function y(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t("./projections")(n);var x=y.prototype;e.exports=function(t){return new y(t)},x.plot=function(t,e,r){var n=this,a=e[this.id],i=!1;for(var o in g.layerNameToAdjective)if("frame"!==o&&a["show"+o]){i=!0;break}for(var s=0;s<t.length;s++)if(t[0][0].trace.locationmode){i=!0;break}if(!i)return n.update(t,e);var l=v.getTopojsonName(a);null===n.topojson||l!==n.topojsonName?(n.topojsonName=l,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},x.fetchTopojson=function(){var t=v.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,a){if(n)return 404===n.status?r(new Error(["plotly.js could not find topojson file at",t,".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):r(new Error(["unexpected error while fetching topojson file at",t].join(" ")));e(a)})})},x.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if("choropleth"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var a=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=a.selectAll(".point"),this.dataPoints.text=a.selectAll("text"),this.dataPaths.line=a.selectAll(".js-line");var i=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=i.selectAll("path"),this.render()}},x.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[g.projNames[e]](),a=t._isClipped?g.lonaxisSpan[e]/2:null,i=["center","rotate","parallels","clipExtent"],o=function(t){return t?r:[]},s=0;s<i.length;s++){var l=i[s];"function"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(a){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>a*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],a=t[1][1]-t[0][1],i=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),i&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),a/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(a-s*(o[1][1]+o[0][1]))/2;return i&&r.clipExtent(i),r.scale(150*s).translate([l,c])},r.precision(g.precision),a&&r.clipAngle(a-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var h=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],f=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.clipPad,n=t[0]+r,a=t[1]-r,i=e[0]+r,o=e[1]-r;n>0&&a<0&&(a+=360);var s=(a-n)/4;return{type:"Polygon",coordinates:[[[n,i],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[a,o],[a,i],[a-s,i],[a-2*s,i],[a-3*s,i],[n,i]]]}}(f.range,p.range);u.fitExtent(h,d);var v=this.bounds=u.getBounds(d),m=this.fitScale=u.scale(),y=u.translate();if(!isFinite(v[0][0])||!isFinite(v[0][1])||!isFinite(v[1][0])||!isFinite(v[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k<b.length;k++)w[this.id+"."+b[k]]=null;return this.viewInitial=null,i.warn(_),x._promises.push(a.call("relayout",x,w)),_}var T=this.midPt=[(v[0][0]+v[1][0])/2,(v[0][1]+v[1][1])/2];if(u.scale(s.scale*m).translate([y[0]+(T[0]-y[0]),y[1]+(T[1]-y[1])]).clipExtent(v),e._isAlbersUsa){var A=u([c.lon,c.lat]),M=u.translate();u.translate([M[0]-(A[0]-M[0]),M[1]-(A[1]-M[1])])}},x.updateBaseLayers=function(t,e){var r=this,a=r.topojson,i=r.layers,l=r.basePaths;function c(t){return"lonaxis"===t||"lataxis"===t}function h(t){return Boolean(g.lineLayers[t])}function f(t){return Boolean(g.fillLayers[t])}var p=(this.hasChoropleth?g.layersForChoropleth:g.layers).filter(function(t){return h(t)||f(t)?e["show"+t]:!c(t)||e[t].showgrid}),d=r.framework.selectAll(".layer").data(p,String);d.exit().each(function(t){delete i[t],delete l[t],n.select(this).remove()}),d.enter().append("g").attr("class",function(t){return"layer "+t}).each(function(t){var e=i[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):c(t)?l[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):h(t)?l[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):f(t)&&(l[t]=e.append("path").style("stroke","none"))}),d.order(),d.each(function(r){var n=l[r],i=g.layerNameToAdjective[r];"frame"===r?n.datum(g.sphereSVG):h(r)||f(r)?n.datum(m(a,a.objects[r])):c(r)&&n.datum(function(t,e,r){var n,a,i,o=e[t],s=g.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,a=s.lataxisRange,i=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,a=s.lonaxisRange,i=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};u.setConvert(l,r);var c=u.calcTicks(l);e.isScoped||"lonaxis"!==t||c.pop();for(var h=c.length,f=new Array(h),p=0;p<h;p++)for(var d=c[p].x,v=f[p]=[],m=a[0];m<a[1]+2.5;m+=2.5)v.push(i(d,m));return{type:"MultiLineString",coordinates:f}}(r,e,t)).call(o.stroke,e[r].gridcolor).call(s.dashLine,"",e[r].gridwidth),h(r)?n.call(o.stroke,e[i+"color"]).call(s.dashLine,"",e[i+"width"]):f(r)&&n.call(o.fill,e[i+"color"])})},x.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,a=r[0][0]-n,i=r[0][1]-n,l=r[1][0]-a+n,c=r[1][1]-i+n;s.setRect(this.clipRect,a,i,l,c),this.bgRect.call(s.setRect,a,i,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=a,this.xaxis._length=l,this.yaxis._offset=i,this.yaxis._length=c},x.updateFx=function(t,e){var r=this,i=r.graphDiv,o=r.bgRect,s=t.dragmode,c=t.clickmode;if(!r.isStatic){var u;"select"===s?u=function(t,e){(t.range={})[r.id]=[v([e.xmin,e.ymin]),v([e.xmax,e.ymax])]}:"lasso"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(v)});var g={element:r.bgRect.node(),gd:i,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(".select-outline").remove()}};"pan"===s?(o.node().onmousedown=null,o.call(d(r,e)),o.on("dblclick.zoom",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+"."+n]=t[n];a.call("_guiRelayout",i,e),i.emit("plotly_doubleclick",null)}),i._context._scrollZoom.geo||o.on("wheel.zoom",null)):"select"!==s&&"lasso"!==s||(o.on(".zoom",null),g.prepFn=function(t,e,r){f(t,e,r,g,s)},h.init(g)),o.on("mousemove",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return h.unhover(i,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(i,n.event,r.id)}),o.on("mouseout",function(){i._dragging||h.unhover(i,n.event)}),o.on("click",function(){"select"!==s&&"lasso"!==s&&(c.indexOf("select")>-1&&p(n.event,i,[r.xaxis],[r.yaxis],r.id,g),c.indexOf("event")>-1&&l.click(i,n.event))})}function v(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,a="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",a),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(s.setClipUrl,a,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},u.setConvert(t.mockAxis,r)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale}:t._isClipped?this.viewInitial={"projection.scale":r.scale,"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale,"projection.rotation.lon":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?"translate("+r[0]+","+r[1]+")":null}function a(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr("display",a).attr("transform",n)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/topojson_utils":743,"../../registry":845,"../cartesian/axes":764,"../cartesian/select":781,"../plots":825,"./constants":792,"./projections":797,"./zoom":798,d3:164,"topojson-client":538}],794:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./geo"),o="geo",s=a(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[o],s=0;s<a.length;s++){var l=a[s],c=n(r,o,l),u=e[l]._subplot;u||(u=i({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots[o],n=0;n<r.length;n++){var a=e[r[n]];a._subplot.updateFx(e,a)}},clean:function(t,e,r,n){for(var a=n._subplots[o]||[],i=0;i<a.length;i++){var s=a[i],l=n[s]._subplot;!e[s]&&l&&(l.framework.remove(),l.clipDef.remove())}}}},{"../../lib":716,"../../plots/get_data":799,"./geo":793,"./layout_attributes":795,"./layout_defaults":796}],795:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../domain").attributes,i=t("./constants"),o=t("../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};(e.exports=o({domain:a({name:"geo"},{}),resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(i.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(i.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:i.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:i.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:i.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:i.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":590,"../../plot_api/edit_types":747,"../domain":789,"./constants":792}],796:[function(t,e,r){"use strict";var n=t("../subplot_defaults"),a=t("./constants"),i=t("./layout_attributes"),o=a.axesNames;function s(t,e,r){var n=r("resolution"),i=r("scope"),s=a.scopeDefaults[i],l=r("projection.type",s.projType),c=e._isAlbersUsa="albers usa"===l;c&&(i=e.scope="usa");var u=e._isScoped="world"!==i,h=e._isConic=-1!==l.indexOf("conic");e._isClipped=!!a.lonaxisSpan[l];for(var f=0;f<o.length;f++){var p,d=o[f],g=[30,10][f];if(u)p=s[d+"Range"];else{var v=a[d+"Span"],m=(v[l]||v["*"])/2,y=r("projection.rotation."+d.substr(0,3),s.projRotate[f]);p=[y-m,y+m]}r(d+".range",p),r(d+".tick0"),r(d+".dtick",g),r(d+".showgrid")&&(r(d+".gridcolor"),r(d+".gridwidth"))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_>0&&w<0&&(w+=360);var k,T,A,M=(_+w)/2;if(!c){var S=u?s.projRotate:[M,0,0];k=r("projection.rotation.lon",S[0]),r("projection.rotation.lat",S[1]),r("projection.rotation.roll",S[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(T=-96.6,A=38.7):(T=u?M:k,A=(b[0]+b[1])/2),r("center.lon",T),r("center.lat",A),h)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==i)&&(r("countrycolor"),r("countrywidth")),("usa"===i||"north america"===i&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:i,handleDefaults:s,partition:"y"})}},{"../subplot_defaults":839,"./constants":792,"./layout_attributes":795}],797:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var a=c[e.type];return t.geo.stream(e,n(a)),a.result()}t.geo.project=function(t,e){var a=e.stream;if(!a)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,a)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map(function(t){return e(t,r)})}}},a=[],i=[],o={point:function(t,e){a.push([t,e])},result:function(){var t=a.length?a.length<2?{type:"Point",coordinates:a[0]}:{type:"MultiPoint",coordinates:a}:null;return a=[],t}},s={lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){a.length&&(i.push(a),a=[])},result:function(){var t=i.length?i.length<2?{type:"LineString",coordinates:i[0]}:{type:"MultiLineString",coordinates:i}:null;return i=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){var t=a.length;if(t){do{a.push(a[0].slice())}while(++t<4);i.push(a),a=[]}},polygonEnd:u,result:function(){if(!i.length)return null;var t=[],e=[];return i.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(t,e){for(var r=e[0],n=e[1],a=!1,i=0,o=t.length,s=o-1;i<o;s=i++){var l=t[i],c=l[0],u=l[1],h=t[s],f=h[0],p=h[1];u>n^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(a=!a)}return a}(t[0],r))return t.push(e),!0})||t.push([e])}),i=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,a=1/0;n<10&&Math.abs(a)>h;n++){var i=Math.cos(e);e-=a=(e+Math.sin(e)*(i+2)-r)/(2*i*(1+i))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function a(t,r){for(var a=r<0?-1:1,i=n[+(r<0)],o=0,s=i.length-1;o<s&&t>i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],a*r>a*i[o][0][1]?i[o][0][1]:r)[0],l}e.invert&&(a.invert=function(t,i){for(var o=r[+(i<0)],s=n[+(i<0)],c=0,u=o.length;c<u;++c){var h=o[c];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=i&&i<h[1][1]){var f=e.invert(t-e(s[c][1][0],0)[0],i);return f[0]+=s[c][1][0],l(a(f[0],f[1]),[t,i])?f:null}}});var i=t.geo.projection(a),o=i.stream;function s(t,e){for(var r,n,a,i=-1,o=t.length,s=t[0],l=[];++i<o;){n=((r=t[i])[0]-s[0])/e,a=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*a]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return i.stream=function(e){var r=i.rotate(),a=o(e),l=(i.rotate([0,0]),o(e));return i.rotate(r),a.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],a=0,i=n[0].length;a<i;++a){var o=n[0][a],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[h-e,u-e],[h-e,f+e]],30))}for(var a=n[1].length-1;a>=0;--a){var o=n[1][a],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},a},i.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],a=e(t[2][0],t[2][1])[0],i=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return i>o&&(r=i,i=o,o=r),[[n,i],[a,o]]})}),i):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},i},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),a=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+a)),m((n+r*(a+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return T;function r(r,n){var a=w(r/e,n);return a[0]*=t,a}return r.invert=function(r,n){var a=w.invert(r/t,n);return a[0]*=e,a},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function M(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),a=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--a>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,M.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(M)}).raw=M,S(p);var E=function(t,e,r){var n=S(r);function a(r,a){return[t*r*Math.cos(a=n(a)),e*Math.sin(a)]}return a.invert=function(n,a){var i=m(a/e);return[n/(t*Math.cos(i)),m((2*i+Math.sin(2*i))/r)]},a}(Math.SQRT2/d,Math.SQRT2,p);function L(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,L.invert=function(t,e){var r,n=e,a=25;do{var i=n*n,o=i*i;n-=r=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-e)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--a>0);return[t/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(L)}).raw=L;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function P(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),a=Math.floor(n),i=n-a,o=(r=C[a])[0],s=r[1],l=(r=C[++a])[0],c=r[1],u=(r=C[Math.min(19,++a)])[0],h=r[1];return[t*(l+i*(u-o)/2+i*i*(u-2*l+o)/2),(e>0?d:-d)*(c+i*(h-s)/2+i*i*(h-2*c+s)/2)]}function O(t,e){return[t*Math.cos(e),e]}function z(t,e){var r,n=Math.cos(e),a=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*a,Math.sin(e)*a]}function I(t,e){var r=z(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}C.forEach(function(t){t[1]*=1.0144}),P.invert=function(t,e){var r=e/d,n=90*r,a=Math.min(18,Math.abs(n/5)),i=Math.max(0,Math.floor(a));do{var o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],c=l-o,u=l-2*s+o,h=2*(Math.abs(r)-s)/c,p=u/c,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===i){n=(e>=0?5:-5)*(m+a);var y,x=50;do{m=(a=Math.min(18,Math.abs(n)/5))-(i=Math.floor(a)),o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--i>=0);var b=C[i][0],_=C[i+1][0],w=C[Math.min(19,i+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(P)}).raw=P,O.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(O)}).raw=O,z.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,a=25;do{var i,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),f=Math.sin(2*n),d=c*c,g=u*u,v=s*s,m=1-g*l*l,x=m?y(u*l)*Math.sqrt(i=1/m):i=0,b=2*x*u*s-t,_=x*c-e,w=i*(g*v+x*u*l*d),k=i*(.5*o*f-2*x*c*s),T=.25*i*(f*s-x*c*g*o),A=i*(d*l+x*v*u),M=k*T-A*w;if(!M)break;var S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]}},(t.geo.aitoff=function(){return x(z)}).raw=z,I.invert=function(t,e){var r=t,n=e,a=25;do{var i,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-u*p*p,x=m?y(o*p)*Math.sqrt(i=1/m):i=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*i*(u*v+x*o*p*c)+.5/d,k=i*(f*l/4-x*s*g),T=.125*i*(l*g-x*s*u*f),A=.5*i*(c*p+x*v*o)+.5,M=k*T-A*w,S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]},(t.geo.winkel3=function(){return x(I)}).raw=I}},{}],798:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../registry"),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+"."+t]=a.nestedProperty(l,t).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=a.nestedProperty(u,t);r.get()!==e&&(r.set(e),a.nestedProperty(l,t).set(e),f[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),o.emit("plotly_relayout",f)}function f(t,e){var r=u(0,e);function a(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",function(){n.select(this).style(l)}).on("zoom",function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})}).on("zoomend",function(){n.select(this).style(c),h(t,e,a)}),r}function p(t,e){var r,a,i,o,s,f,p,d,g,v=u(0,e),m=2;function y(t){return e.invert(t)}function x(r){var n=e.rotate(),a=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",a[0]),r("center.lat",a[1])}return v.on("zoomstart",function(){n.select(this).style(l),r=n.mouse(this),a=e.rotate(),i=e.translate(),o=a,s=y(r)}).on("zoom",function(){if(f=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>m||Math.abs(n[1]-t[1])>m}(r))return v.scale(e.scale()),void v.translate(e.translate());e.scale(n.event.scale),e.translate([i[0],n.event.translate[1]]),s?y(f)&&(d=y(f),p=[o[0]+(d[0]-s[0]),a[1],a[2]],e.rotate(p),o=p):s=y(r=f),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})}).on("zoomend",function(){n.select(this).style(c),g&&h(t,e,x)}),v}function d(t,e){var r,a={r:e.rotate(),k:e.scale()},i=u(0,e),f=function(t){var e=0,r=arguments.length,a=[];for(;++e<r;)a.push(arguments[e]);var i=n.dispatch.apply(null,a);return i.of=function(e,r){return function(a){var o;try{o=a.sourceEvent=n.event,a.target=t,n.event=a,i[a.type].apply(e,r)}finally{n.event=o}}},i}(i,"zoomstart","zoom","zoomend"),p=0,d=i.on;function m(t){var r=e.rotate();t("projection.rotation.lon",-r[0]),t("projection.rotation.lat",-r[1])}return i.on("zoomstart",function(){n.select(this).style(l);var t,c,u,h,m,b,_,w,k,T,A,M=n.mouse(this),S=e.rotate(),E=S,L=e.translate(),C=(c=.5*(t=S)[0]*o,u=.5*t[1]*o,h=.5*t[2]*o,m=Math.sin(c),b=Math.cos(c),_=Math.sin(u),w=Math.cos(u),k=Math.sin(h),T=Math.cos(h),[b*w*T+m*_*k,m*w*T-b*_*k,b*_*T+m*w*k,b*w*k-m*_*T]);r=g(e,M),d.call(i,"zoom",function(){var t,i,o,l,c,u,h,p,d,m,b=n.mouse(this);if(e.scale(a.k=n.event.scale),r){if(g(e,b)){e.rotate(S).translate(L);var _=g(e,b),w=function(t,e){if(!t||!e)return;var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(x(r,r)),a=.5*Math.acos(Math.max(-1,Math.min(1,x(t,e)))),i=Math.sin(a)/n;return n&&[Math.cos(a),r[2]*i,-r[1]*i,r[0]*i]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}((i=w,o=(t=C)[0],l=t[1],c=t[2],u=t[3],h=i[0],p=i[1],d=i[2],m=i[3],[o*h-l*p-c*d-u*m,o*p+l*h+c*m-u*d,o*d-l*m+c*h+u*p,o*m+l*d-c*p+u*h])),T=a.r=function(t,e,r){var n=y(e,2,t[0]);n=y(n,1,t[1]),n=y(n,0,t[2]-r[2]);var a,i,o=e[0],l=e[1],c=e[2],u=n[0],h=n[1],f=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(h)>d?(i=(h>0?90:-90)-p,a=0):(i=Math.asin(h/d)*s-p,a=Math.sqrt(d*d-h*h));var g=180-i-2*p,m=(Math.atan2(f,u)-Math.atan2(c,a))*s,x=(Math.atan2(f,u)-Math.atan2(c,-a))*s,b=v(r[0],r[1],i,m),_=v(r[0],r[1],g,x);return b<=_?[i,m,r[2]]:[g,x,r[2]]}(k,r,E);isFinite(T[0])&&isFinite(T[1])&&isFinite(T[2])||(T=E),e.rotate(T),E=T}}else r=g(e,M=b);f.of(this,arguments)({type:"zoom"})}),A=f.of(this,arguments),p++||A({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(c),d.call(i,"zoom",null),r=f.of(this,arguments),--p||r({type:"zoomend"}),h(t,e,m)}).on("zoom.redraw",function(){t.render();var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})}),n.rebind(i,f,"on")}function g(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function v(t,e,r,n){var a=m(r-t),i=m(n-e);return Math.sqrt(a*a+i*i)}function m(t){return(t%360+540)%360-180}function y(t,e,r){var n=r*o,a=t.slice(),i=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return a[i]=t[i]*l-t[s]*c,a[s]=t[s]*l+t[i]*c,a}function x(t,e){for(var r=0,n=0,a=t.length;n<a;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?d:p)(t,r)}},{"../../lib":716,"../../registry":845,d3:164}],799:[function(t,e,r){"use strict";var n=t("../registry"),a=t("./cartesian/constants").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var a=n.subplotsRegistry[e];if(!a)return[];for(var i=a.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[i]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,a=[],i=[];if(!(r="string"==typeof e?n.getModule(e).plot:"function"==typeof e?e:e.plot))return[a,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?a.push(s):i.push(s))}return[a,i]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var i,o,s,l=n.subplotsRegistry[e].attr,c=[];if("gl2d"===e){var u=r.match(a);o="x"+u[1],s="y"+u[2]}for(var h=0;h<t.length;h++)i=t[h],"gl2d"===e&&n.traceIs(i,"gl2d")?i[l[0]]===o&&i[l[1]]===s&&c.push(i):i[l]===r&&c.push(i);return c}},{"../registry":845,"./cartesian/constants":770}],800:[function(t,e,r){"use strict";var n=t("mouse-change"),a=t("mouse-wheel"),i=t("mouse-event-offset"),o=t("../cartesian/constants"),s=t("has-passive-events");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function h(e,n,a){var i,s,l=t.calcDataBox(),h=r.viewBox,f=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function v(e,r,n){var a=Math.min(r,n),i=Math.max(r,n);a!==i?(l[e]=a,l[e+2]=i,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,a*=r.pixelRatio,a=h[3]-h[1]-a,t.fullLayout.dragmode){case"zoom":if(e){var m=n/(h[2]-h[0])*(l[2]-l[0])+l[0],y=a/(h[3]-h[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=m,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=a),c.boxEnd[0]=m,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-a)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,a=0;a<e.length;a++)if(-1!==e[a][r]){if(-1!==e[a][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{i=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(i*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(i)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(i>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(i=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],i||s?(i&&(v(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(v(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=a),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-a)<d&&(a=c.dragStart[1]),i=(f-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-a)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=i,l[2]+=i,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=a}return c.mouseListener=n(e,h),e.addEventListener("touchstart",function(t){var r=i(t.changedTouches[0],e);h(0,r[0],r[1]),h(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchmove",function(t){t.preventDefault();var r=i(t.changedTouches[0],e);h(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchend",function(t){h(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),c.wheelListener=a(e,function(e,n){if(!t.scrollZoom)return!1;var a=t.calcDataBox(),i=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(i[3]-i[1])),h=o/(i[2]-i[0])*(a[2]-a[0])+a[0],f=s/(i[3]-i[1])*(a[3]-a[1])+a[1];return a[0]=(a[0]-h)*l+h,a[2]=(a[2]-h)*l+h,a[1]=(a[1]-f)*l+f,a[3]=(a[3]-f)*l+f,t.setRanges(a),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),c}},{"../cartesian/constants":770,"has-passive-events":412,"mouse-change":436,"mouse-event-offset":437,"mouse-wheel":439}],801:[function(t,e,r){"use strict";var n=t("../cartesian/axes"),a=t("../../lib/str2rgbarray");function i(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=i.prototype,s=["xaxis","yaxis"];o.merge=function(t){var e,r,n,i,o,l,c,u,h,f,p;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),f=0;f<2;++f){var d=(e=s[f]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?"":r.title.text,p=0;p<=2;p+=2)this.labelEnable[f+p]=!1,this.labels[f+p]=n,this.labelColor[f+p]=a(r.title.font.color),this.labelFont[f+p]=r.title.font.family,this.labelSize[f+p]=r.title.font.size,this.labelPad[f+p]=this.getLabelPad(e,r),this.tickEnable[f+p]=!1,this.tickColor[f+p]=a((r.tickfont||{}).color),this.tickAngle[f+p]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[f+p]=this.getTickPad(r),this.tickMarkLength[f+p]=0,this.tickMarkWidth[f+p]=r.tickwidth||0,this.tickMarkColor[f+p]=a(r.tickcolor),this.borderLineEnable[f+p]=!1,this.borderLineColor[f+p]=a(r.linecolor),this.borderLineWidth[f+p]=r.linewidth||0;c=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!c,l=this.hasAxisInAltrPos(e,r)&&!c,i=r.mirror||!1,u=c?-1!==String(i).indexOf("all"):!!i,h=c?"allticks"===i:-1!==String(i).indexOf("ticks"),o?this.labelEnable[f]=!0:l&&(this.labelEnable[f+2]=!0),o?this.tickEnable[f]=r.showticklabels:l&&(this.tickEnable[f+2]=r.showticklabels),(o||u)&&(this.borderLineEnable[f]=r.showline),(l||u)&&(this.borderLineEnable[f+2]=r.showline),(o||h)&&(this.tickMarkLength[f]=this.getTickMarkLength(r)),(l||h)&&(this.tickMarkLength[f+2]=this.getTickMarkLength(r)),this.gridLineEnable[f]=r.showgrid,this.gridLineColor[f]=a(r.gridcolor),this.gridLineWidth[f]=r.gridwidth,this.zeroLineEnable[f]=r.zeroline,this.zeroLineColor[f]=a(r.zerolinecolor),this.zeroLineWidth[f]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return"xaxis"===t?"bottom"===r:"yaxis"===t?"left"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return"xaxis"===t?"top"===r:"yaxis"===t?"right"===r:void 0},o.getLabelPad=function(t,e){var r=e.title.font.size,n=e.showticklabels;return"xaxis"===t?"top"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:"yaxis"===t?"right"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},o.getTickPad=function(t){return"outside"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return"inside"===t.ticks?-e:e},e.exports=function(t){return new i(t)}},{"../../lib/str2rgbarray":739,"../cartesian/axes":764}],802:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("./scene2d"),i=t("../layout_attributes"),o=t("../../constants/xmlns_namespaces"),s=t("../cartesian/constants"),l=t("../cartesian"),c=t("../../components/fx/layout_attributes"),u=t("../get_data").getSubplotData;r.name="gl2d",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t("../cartesian/attributes"),r.supplyLayoutDefaults=function(t,e,r){e._has("cartesian")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,"plot","from-root"),r.baseLayoutAttrOverrides=n({plot_bgcolor:i.plot_bgcolor,hoverlabel:c.hoverlabel},"plot","nested"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var o=n[i],s=e._plots[o],l=u(r,"gl2d",o),c=s._scene2d;void 0===c&&(c=new a({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl2d||[],i=0;i<a.length;i++){var o=a[i],s=n._plots[o];if(s._scene2d)0===u(t,"gl2d",o).length&&(s._scene2d.destroy(),delete n._plots[o])}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var a=e._plots[r[n]]._scene2d,i=a.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":i,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),a.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{"../../components/fx/layout_attributes":630,"../../constants/xmlns_namespaces":693,"../../plot_api/edit_types":747,"../cartesian":775,"../cartesian/attributes":762,"../cartesian/constants":770,"../get_data":799,"../layout_attributes":816,"./scene2d":803}],803:[function(t,e,r){"use strict";var n,a,i=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../../components/fx"),l=t("gl-plot2d"),c=t("gl-spikes2d"),u=t("gl-select-box"),h=t("webgl-context"),f=t("./convert"),p=t("./camera"),d=t("../../lib/show_no_webgl_msg"),g=t("../cartesian/constraints"),v=g.enforce,m=g.clean,y=t("../cartesian/autorange").doAutoRange,x=["xaxis","yaxis"],b=t("../cartesian/constants").SUBPLOT_PATTERN;function _(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=f(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=_;var w=_.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(a||(n=document.createElement("canvas"),a=h({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error("Error creating static canvas/context for image server");this.canvas=n,this.gl=a}else{var t=this.container.querySelector(".gl-canvas-focus"),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r),r.className+=" user-select-none";var i=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none";var o=this.mouseContainer=document.createElement("div");o.style.position="absolute",o.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var s=this.container;s.appendChild(i),s.appendChild(o);var l=this;o.addEventListener("mouseout",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener("mouseover",function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=i[4*(r*o+l)+c];i[4*(r*o+l)+c]=i[4*(r*s+l)+c],i[4*(r*s+l)+c]=u}var h=document.createElement("canvas");h.width=r,h.height=a;var f,p=h.getContext("2d"),d=p.createImageData(r,a);switch(d.data.set(i),p.putImageData(d,0,0),t){case"jpeg":f=h.toDataURL("image/jpeg");break;case"webp":f=h.toDataURL("image/webp");break;default:f=h.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(n),f},w.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,a=r.height,i=0|Math.ceil(e*n),o=0|Math.ceil(e*a);return t.width===i&&t.height===o||(t.width=i,t.height=o),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+"";return t},w.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(b),r="xaxis"+e[1],n="yaxis"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,a={},o=a[e._name+".range"]=e.range.slice(),s=a[r._name+".range"]=r.range.slice();a[e._name+".autorange"]=e.autorange,a[r._name+".autorange"]=r.autorange,i.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,a);var l=n[e._name];l.range=o,l.autorange=e.autorange;var c=n[r._name];c.range=s,c.autorange=r.autorange,a.lastInputTime=this.camera.lastInputTime,t.emit("plotly_relayout",a)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],a=e[r];if(n.length!==a.length)return!0;for(var i=0;i<n.length;++i)if(n[i].x!==a[i].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&i.getComponentMethod("annotations","drawOne")(t,r)}},w.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var a=r.width,i=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,a,i];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};m(s,this.xaxis),m(s,this.yaxis);var l,c,u=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[u.l+h[0]*u.w,u.b+f[0]*u.h,a-u.r-(1-h[1])*u.w,i-u.t-(1-f[1])*u.h],this.mouseContainer.style.width=u.w*(h[1]-h[0])+"px",this.mouseContainer.style.height=u.h*(f[1]-f[0])+"px",this.mouseContainer.height=u.h*(f[1]-f[0]),this.mouseContainer.style.left=u.l+h[0]*u.w+"px",this.mouseContainer.style.top=u.t+(1-f[1])*u.h+"px",c=0;c<2;++c)(l=this[x[c]])._length=o.viewBox[c+2]-o.viewBox[c],y(this.graphDiv,l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,a=t.r2l,i=e.r2l;return[a(r[0]),i(n[0]),a(r[1]),i(n[1])]},w.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,a=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[a(t[1]),a(t[3])]},w.updateTraces=function(t,e){var r,n,a,i=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<i.length;r++){var o=i[r],s=this.traces[o];for(n=0;n<t.length;n++)if((a=t[n]).uid===o&&a.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){a=t[r];var l=e[r],c=this.traces[a.uid];c?c.update(a,l):(c=a._module.plot(this,a,l),this.traces[a.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},w.updateFx=function(t){"lasso"===t||"select"===t?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),this.mouseContainer.style.cursor="pan"===t?"move":"zoom"===t?"crosshair":null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,a=t.pointIndex,i=0;i<this.fullData.length;i++)this.fullData[i].uid===n&&(r=this.fullData[i]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:a,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,a),this.graphDiv.emit(e,{points:[o]})},w.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,a=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var i,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&"zoom"===a.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var h=a._size,f=this.xaxis.domain,p=this.yaxis.domain,d=(i=t.pick(o/t.pixelRatio+h.l+f[0]*h.w,l/t.pixelRatio-(h.t+(1-p[1])*h.h)))&&i.object._trace.handlePick(i);if(d&&n&&this.emitPointAction(d,"plotly_click"),i&&"skip"!==i.object._trace.hoverinfo&&a.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:i.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(i.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(i.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,"plotly_hover");var v=this.fullData[g.trace.index]||{},m=g.pointIndex,y=s.castHoverinfo(v,a,m);if(y&&"all"!==y){var x=y.split("+");-1===x.indexOf("x")&&(g.traceCoord[0]=void 0),-1===x.indexOf("y")&&(g.traceCoord[1]=void 0),-1===x.indexOf("z")&&(g.traceCoord[2]=void 0),-1===x.indexOf("text")&&(g.textLabel=void 0),-1===x.indexOf("name")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter("xaxis",g.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(v,m,"bgcolor")||g.color,borderColor:s.castHoverOption(v,m,"bordercolor"),fontFamily:s.castHoverOption(v,m,"font.family"),fontSize:s.castHoverOption(v,m,"font.size"),fontColor:s.castHoverOption(v,m,"font.color"),nameLength:s.castHoverOption(v,m,"namelength"),textAlign:s.castHoverOption(v,m,"align")},{container:this.svgContainer,gd:this.graphDiv})}}i||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),s.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),"hover").text}}},{"../../components/fx":629,"../../lib/show_no_webgl_msg":737,"../../plots/cartesian/axes":764,"../../registry":845,"../cartesian/autorange":763,"../cartesian/constants":770,"../cartesian/constraints":771,"./camera":800,"./convert":801,"gl-plot2d":289,"gl-select-box":301,"gl-spikes2d":310,"webgl-context":554}],804:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../components/fx/layout_attributes"),i=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:a.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,a=0;a<n.length;a++){var s=n[a],l=o(r,"gl3d",s),c=e[s],u=c.camera,h=c._scene;h||(h=new i({id:s,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},e),c._scene=h),h.viewInitial||(h.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),h.plot(l,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl3d||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],o=i.domain,s=i._scene,c=s.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return"1"===e&&(e=""),"scene"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{"../../components/fx/layout_attributes":630,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../plot_api/edit_types":747,"../get_data":799,"./layout/attributes":805,"./layout/defaults":809,"./layout/layout_attributes":810,"./scene":814}],805:[function(t,e,r){"use strict";e.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},{}],806:[function(t,e,r){"use strict";var n=t("../../../components/color"),a=t("../../cartesian/layout_attributes"),i=t("../../../lib/extend").extendFlat,o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({visible:a.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:n.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:a.color,categoryorder:a.categoryorder,categoryarray:a.categoryarray,title:{text:a.title.text,font:a.title.font},type:i({},a.type,{values:["-","linear","log","date","category"]}),autorange:a.autorange,rangemode:a.rangemode,range:i({},a.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,mirror:a.mirror,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,tickfont:a.tickfont,tickangle:a.tickangle,tickprefix:a.tickprefix,showtickprefix:a.showtickprefix,ticksuffix:a.ticksuffix,showticksuffix:a.showticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:a.showline,linecolor:a.linecolor,linewidth:a.linewidth,showgrid:a.showgrid,gridcolor:i({},a.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:a.gridwidth,zeroline:a.zeroline,zerolinecolor:a.zerolinecolor,zerolinewidth:a.zerolinewidth,_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},"plot","from-root")},{"../../../components/color":591,"../../../lib/extend":707,"../../../plot_api/edit_types":747,"../../cartesian/layout_attributes":776}],807:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,a=t("../../../lib"),i=t("../../../plot_api/plot_template"),o=t("./axis_attributes"),s=t("../../cartesian/type_defaults"),l=t("../../cartesian/axis_defaults"),c=["xaxis","yaxis","zaxis"];e.exports=function(t,e,r){var u,h;function f(t,e){return a.coerce(u,h,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(h=i.newContainer(e,d))._id=d[0]+r.scene,h._name=d,s(u,h,f,r),l(u,h,f,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),f("gridcolor",n(h.color,r.bgColor,13600/187).toRgbString()),f("title.text",d[0]),h.setScale=a.noop,f("showspikes")&&(f("spikesides"),f("spikethickness"),f("spikecolor",h.color)),f("showaxeslabels"),f("showbackground")&&f("backgroundcolor")}}},{"../../../lib":716,"../../../plot_api/plot_template":754,"../../cartesian/axis_defaults":766,"../../cartesian/type_defaults":787,"./axis_attributes":806,tinycolor2:535}],808:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=t("../../../lib"),i=["xaxis","yaxis","zaxis"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=0;r<3;++r){var o=e[i[r]];o.visible?(this.labels[r]=t._meta?a.templateString(o.title.text,t._meta):o.title.text,"font"in o.title&&(o.title.font.color&&(this.labelColor[r]=n(o.title.font.color)),o.title.font.family&&(this.labelFont[r]=o.title.font.family),o.title.font.size&&(this.labelSize[r]=o.title.font.size)),"showline"in o&&(this.lineEnable[r]=o.showline),"linecolor"in o&&(this.lineColor[r]=n(o.linecolor)),"linewidth"in o&&(this.lineWidth[r]=o.linewidth),"showgrid"in o&&(this.gridEnable[r]=o.showgrid),"gridcolor"in o&&(this.gridColor[r]=n(o.gridcolor)),"gridwidth"in o&&(this.gridWidth[r]=o.gridwidth),"log"===o.type?this.zeroEnable[r]=!1:"zeroline"in o&&(this.zeroEnable[r]=o.zeroline),"zerolinecolor"in o&&(this.zeroLineColor[r]=n(o.zerolinecolor)),"zerolinewidth"in o&&(this.zeroLineWidth[r]=o.zerolinewidth),"ticks"in o&&o.ticks?this.lineTickEnable[r]=!0:this.lineTickEnable[r]=!1,"ticklen"in o&&(this.lineTickLength[r]=this._defaultLineTickLength[r]=o.ticklen),"tickcolor"in o&&(this.lineTickColor[r]=n(o.tickcolor)),"tickwidth"in o&&(this.lineTickWidth[r]=o.tickwidth),"tickangle"in o&&(this.tickAngle[r]="auto"===o.tickangle?-3600:Math.PI*-o.tickangle/180),"showticklabels"in o&&(this.tickEnable[r]=o.showticklabels),"tickfont"in o&&(o.tickfont.color&&(this.tickColor[r]=n(o.tickfont.color)),o.tickfont.family&&(this.tickFont[r]=o.tickfont.family),o.tickfont.size&&(this.tickSize[r]=o.tickfont.size)),"mirror"in o?-1!==["ticks","all","allticks"].indexOf(o.mirror)?(this.lineTickMirror[r]=!0,this.lineMirror[r]=!0):!0===o.mirror?(this.lineTickMirror[r]=!1,this.lineMirror[r]=!0):(this.lineTickMirror[r]=!1,this.lineMirror[r]=!1):this.lineMirror[r]=!1,"showbackground"in o&&!1!==o.showbackground?(this.backgroundEnable[r]=!0,this.backgroundColor[r]=n(o.backgroundcolor)):this.backgroundEnable[r]=!1):(this.tickEnable[r]=!1,this.labelEnable[r]=!1,this.lineEnable[r]=!1,this.lineTickEnable[r]=!1,this.gridEnable[r]=!1,this.zeroEnable[r]=!1,this.backgroundEnable[r]=!1)}},e.exports=function(t,e){var r=new o;return r.merge(t,e),r}},{"../../../lib":716,"../../../lib/str2rgbarray":739}],809:[function(t,e,r){"use strict";var n=t("../../../lib"),a=t("../../../components/color"),i=t("../../../registry"),o=t("../../subplot_defaults"),s=t("./axis_defaults"),l=t("./layout_attributes"),c=t("../../get_data").getSubplotData,u="gl3d";function h(t,e,r,n){for(var o=r("bgcolor"),l=a.combine(o,n.paper_bgcolor),h=["up","center","eye"],f=0;f<h.length;f++)r("camera."+h[f]+".x"),r("camera."+h[f]+".y"),r("camera."+h[f]+".z");r("camera.projection.type");var p=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),d=r("aspectmode",p?"manual":"auto");p||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},"manual"===d&&(e.aspectmode="auto"),t.aspectmode=e.aspectmode);var g=c(n.fullData,u,n.id);s(t,e,{font:n.font,scene:n.id,data:g,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),i.getComponentMethod("annotations3d","handleDefaults")(t,e,n);var v=n.getDfltFromLayout("dragmode");if(!1!==v&&!v)if(v="orbit",t.camera&&t.camera.up){var m=t.camera.up.x,y=t.camera.up.y,x=t.camera.up.z;0!==x&&(m&&y&&x?x/Math.sqrt(m*m+y*y+x*x)>.999&&(v="turntable"):v="turntable")}else v="turntable";r("dragmode",v),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var a=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:h,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":591,"../../../lib":716,"../../../registry":845,"../../get_data":799,"../../subplot_defaults":839,"./axis_defaults":807,"./layout_attributes":810}],810:[function(t,e,r){"use strict";var n=t("./axis_attributes"),a=t("../../domain").attributes,i=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(s(0,0,1),{}),center:i(s(0,0,0),{}),eye:i(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:a({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":716,"../../../lib/extend":707,"../../domain":789,"./axis_attributes":806}],811:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=["xaxis","yaxis","zaxis"];function i(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}i.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new i;return e.merge(t),e}},{"../../../lib/str2rgbarray":739}],812:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[i[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var f=u.nticks||a.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[c],"date"===u.type&&(p[d].text=p[d].text.replace(/\<br\>/g," "));l[c]=p,u.tickmode=h}}e.ticks=l;for(var c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(var d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],a=new Array(n.length),i=0;i<n.length;++i)a[i]=n[i].x;e[r]=a}return e}(l)};var n=t("../../cartesian/axes"),a=t("../../../lib"),i=["xaxis","yaxis","zaxis"],o=[0,0,0]},{"../../../lib":716,"../../cartesian/axes":764}],813:[function(t,e,r){"use strict";function n(t,e){var r,n,a=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)a[n]+=t[4*r+n]*e[r];return a}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],814:[function(t,e,r){"use strict";var n,a,i=t("gl-plot3d"),o=i.createCamera,s=i.createScene,l=t("webgl-context"),c=t("has-passive-events"),u=t("../../registry"),h=t("../../lib"),f=t("../../plots/cartesian/axes"),p=t("../../components/fx"),d=t("../../lib/str2rgbarray"),g=t("../../lib/show_no_webgl_msg"),v=t("./project"),m=t("./layout/convert"),y=t("./layout/spikes"),x=t("./layout/tick_marks");function b(t,e,r){if(t.initializeGLCamera(),!function(t,e,r,i,o){var c={canvas:i,gl:o,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e,pixelRatio:r};if(t.staticMode){if(!(a||(n=document.createElement("canvas"),a=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error("error creating static canvas/context for image server");c.pixelRatio=t.pixelRatio,c.gl=a,c.canvas=n}var u=0;try{t.glplot=s(c)}catch(e){u++;try{t.glplot=s(c)}catch(t){u++}}return u<2}(t,t.camera,t.pixelRatio,e,r))return g(t);var i=t.graphDiv,o=i.layout,u=function(){var e={};return t.isCameraChanged(o)&&(e[t.id+".camera"]=t.getCamera()),t.isAspectChanged(o)&&(e[t.id+".aspectratio"]=t.glplot.getAspectratio()),e},d=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=u();t.saveLayout(o),t.graphDiv.emit("plotly_relayout",e)}};return t.glplot.canvas.addEventListener("mouseup",function(){d(t)}),t.glplot.canvas.addEventListener("wheel",function(e){if(i._context._scrollZoom.gl3d){if(t.glplot.camera._ortho){var r=e.deltaX>e.deltaY?1.1:1/1.1,n=t.glplot.getAspectratio();t.glplot.setAspectratio({x:r*n.x,y:r*n.y,z:r*n.z})}d(t)}},!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=u();t.graphDiv.emit("plotly_relayouting",e)}}),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",function(e){i&&i.emit&&i.emit("plotly_webglcontextlost",{event:e,layer:t.id})},!1),t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.graphDiv,n=t.svgContainer,a=t.container.getBoundingClientRect(),i=a.width,o=a.height;n.setAttributeNS(null,"viewBox","0 0 "+i+" "+o),n.setAttributeNS(null,"width",i),n.setAttributeNS(null,"height",o),x(t),t.glplot.axes.update(t.axesOptions);for(var s,l=Object.keys(t.traces),c=null,u=t.glplot.selection,d=0;d<l.length;++d)"skip"!==(e=t.traces[l[d]]).data.hoverinfo&&e.handlePick(u)&&(c=e),e.setContourLevels&&e.setContourLevels();function g(e,r){var n=t.fullSceneLayout[e];return f.tickText(n,n.d2l(r),"hover").text}if(null!==c){var m=v(t.glplot.cameraParams,u.dataCoordinate);e=c.data;var y,b=r._fullData[e.index],_=u.index,w={xLabel:g("xaxis",u.traceCoordinate[0]),yLabel:g("yaxis",u.traceCoordinate[1]),zLabel:g("zaxis",u.traceCoordinate[2])},k=p.castHoverinfo(b,t.fullLayout,_),T=(k||"").split("+"),A=k&&"all"===k;b.hovertemplate||A||(-1===T.indexOf("x")&&(w.xLabel=void 0),-1===T.indexOf("y")&&(w.yLabel=void 0),-1===T.indexOf("z")&&(w.zLabel=void 0),-1===T.indexOf("text")&&(u.textLabel=void 0),-1===T.indexOf("name")&&(c.name=void 0));var M=[];"cone"===e.type||"streamtube"===e.type?(w.uLabel=g("xaxis",u.traceCoordinate[3]),(A||-1!==T.indexOf("u"))&&M.push("u: "+w.uLabel),w.vLabel=g("yaxis",u.traceCoordinate[4]),(A||-1!==T.indexOf("v"))&&M.push("v: "+w.vLabel),w.wLabel=g("zaxis",u.traceCoordinate[5]),(A||-1!==T.indexOf("w"))&&M.push("w: "+w.wLabel),w.normLabel=u.traceCoordinate[6].toPrecision(3),(A||-1!==T.indexOf("norm"))&&M.push("norm: "+w.normLabel),"streamtube"===e.type&&(w.divergenceLabel=u.traceCoordinate[7].toPrecision(3),(A||-1!==T.indexOf("divergence"))&&M.push("divergence: "+w.divergenceLabel)),u.textLabel&&M.push(u.textLabel),y=M.join("<br>")):"isosurface"===e.type||"volume"===e.type?(w.valueLabel=f.tickText(t.mockAxis,t.mockAxis.d2l(u.traceCoordinate[3]),"hover").text,M.push("value: "+w.valueLabel),u.textLabel&&M.push(u.textLabel),y=M.join("<br>")):y=u.textLabel;var S={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:_};p.appendArrayPointValue(S,b,_),e._module.eventData&&(S=b._module.eventData(S,u,b,{},_));var E={points:[S]};t.fullSceneLayout.hovermode&&p.loneHover({trace:b,x:(.5+.5*m[0]/m[3])*i,y:(.5-.5*m[1]/m[3])*o,xLabel:w.xLabel,yLabel:w.yLabel,zLabel:w.zLabel,text:y,name:c.name,color:p.castHoverOption(b,_,"bgcolor")||c.color,borderColor:p.castHoverOption(b,_,"bordercolor"),fontFamily:p.castHoverOption(b,_,"font.family"),fontSize:p.castHoverOption(b,_,"font.size"),fontColor:p.castHoverOption(b,_,"font.color"),nameLength:p.castHoverOption(b,_,"namelength"),textAlign:p.castHoverOption(b,_,"align"),hovertemplate:h.castOption(b,_,"hovertemplate"),hovertemplateLabels:h.extendFlat({},S,w),eventData:[S]},{container:n,gd:r}),u.buttons&&u.distance<5?r.emit("plotly_click",E):r.emit("plotly_hover",E),s=E}else p.loneUnhover(n),r.emit("plotly_unhover",s);t.drawAnnotations(t)}.bind(null,t),t.traces={},t.make4thDimension(),!0}function _(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none",r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e,e[this.id]),this.spikeOptions=y(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod("annotations3d","convert"),this.drawAnnotations=u.getComponentMethod("annotations3d","draw"),b(this)}var w=_.prototype;w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e="orthographic"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:"orbit"})},w.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):b(t,r,e)?t.plot.apply(t,t.plotArgs):h.error("Catastrophic and unrecoverable WebGL error. Context lost.")})};var k=["xaxis","yaxis","zaxis"];function T(t,e,r){for(var n=t.fullSceneLayout,a=0;a<3;a++){var i=k[a],o=i.charAt(0),s=n[i],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)f=s.d2l(l[p][d],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else f=s.d2l(l[p],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else r[0][a]=Math.min(r[0][a],0),r[1][a]=Math.max(r[1][a],u-1)}}w.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,a,i,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=d(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(e,c),this.spikeOptions.merge(c),this.setViewport(c),this.updateFx(c.dragmode,c.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&T(this,n,h);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],a=0;a<3;a++)for(var i=k[a],o=i.charAt(0),s=r[i],l=0;l<n.length;l++){var c=n[l];if(c.visible){var u=s.r2l(c[o]);!isNaN(u)&&isFinite(u)&&(e[0][a]=Math.min(e[0][a],u),e[1][a]=Math.max(e[1][a],u))}}}(this,h);var f=[1,1,1];for(o=0;o<3;++o)h[1][o]===h[0][o]?f[o]=1:f[o]=1/(h[1][o]-h[0][o]);for(this.dataScale=f,this.convertAnnotations(this),i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&((a=this.traces[n.uid])?a.data.type===n.type?a.update(n):(a.dispose(),a=n._module.plot(this,n),this.traces[n.uid]=a):(a=n._module.plot(this,n),this.traces[n.uid]=a),a.name=n.name);var p=Object.keys(this.traces);t:for(i=0;i<p.length;++i){for(o=0;o<t.length;++o)if(t[o].uid===p[i]&&!0===t[o].visible&&0!==t[o]._length)continue t;(a=this.traces[p[i]]).dispose(),delete this.traces[p[i]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],v=[],m={};for(i=0;i<3;++i){if((l=(s=c[k[i]]).type)in m?(m[l].acc*=f[i],m[l].count+=1):m[l]={acc:f[i],count:1},s.autorange){g[0][i]=1/0,g[1][i]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o],w=_.bounds,A=_._trace.data._pad||0;"ErrorBars"===_.constructor.name&&s._lowerLogErrorBound?g[0][i]=Math.min(g[0][i],s._lowerLogErrorBound):g[0][i]=Math.min(g[0][i],w[0][i]/f[i]-A),g[1][i]=Math.max(g[1][i],w[1][i]/f[i]+A)}for(o=0;o<x.length;o++){var M=x[o];if(M.visible){var S=s.r2l(M[b]);g[0][i]=Math.min(g[0][i],S),g[1][i]=Math.max(g[1][i],S)}}if("rangemode"in s&&"tozero"===s.rangemode&&(g[0][i]=Math.min(g[0][i],0),g[1][i]=Math.max(g[1][i],0)),g[0][i]>g[1][i])g[0][i]=-1,g[1][i]=1;else{var E=g[1][i]-g[0][i];g[0][i]-=E/32,g[1][i]+=E/32}if("reversed"===s.autorange){var L=g[0][i];g[0][i]=g[1][i],g[1][i]=L}}else{var C=s.range;g[0][i]=s.r2l(C[0]),g[1][i]=s.r2l(C[1])}g[0][i]===g[1][i]&&(g[0][i]-=1,g[1][i]+=1),v[i]=g[1][i]-g[0][i],this.glplot.bounds[0][i]=g[0][i]*f[i],this.glplot.bounds[1][i]=g[1][i]*f[i]}var P=[1,1,1];for(i=0;i<3;++i){var O=m[l=(s=c[k[i]]).type];P[i]=Math.pow(O.acc,1/O.count)/f[i]}var z;if("auto"===c.aspectmode)z=Math.max.apply(null,P)/Math.min.apply(null,P)<=4?P:[1,1,1];else if("cube"===c.aspectmode)z=[1,1,1];else if("data"===c.aspectmode)z=P;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var I=c.aspectratio;z=[I.x,I.y,I.z]}c.aspectratio.x=u.aspectratio.x=z[0],c.aspectratio.y=u.aspectratio.y=z[1],c.aspectratio.z=u.aspectratio.z=z[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z});var D=c.domain||null,R=e._size||null;if(D&&R){var F=this.container.style;F.position="absolute",F.left=R.l+D.x[0]*R.w+"px",F.top=R.t+(1-D.y[1])*R.h+"px",F.width=R.w*(D.x[1]-D.x[0])+"px",F.height=R.h*(D.y[1]-D.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.glplot.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}};var t},w.setViewport=function(t){var e,r=t.camera;this.glplot.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio);var n="orthographic"===r.projection.type;if(n!==this.glplot.camera._ortho){this.glplot.redraw();var a=this.glplot.clearColor;this.glplot.gl.clearColor(a[0],a[1],a[2],a[3]),this.glplot.gl.clear(this.glplot.gl.DEPTH_BUFFER_BIT|this.glplot.gl.COLOR_BUFFER_BIT),this.glplot.dispose(),b(this),this.glplot.camera._ortho=n}},w.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var a=["up","center","eye"],i=["x","y","z"];return e[a[r]]&&t[a[r]][i[n]]===e[a[r]][i[n]]}var a=!1;if(void 0===r)a=!0;else{for(var i=0;i<3;i++)for(var o=0;o<3;o++)if(!n(e,r,i,o)){a=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(a=!0)}return a},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,a,i,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),f=l||c;if(f){var p={};if(l&&(e=this.getCamera(),n=(r=h.nestedProperty(t,this.id+".camera")).get(),p[this.id+".camera"]=n),c&&(a=this.glplot.getAspectratio(),o=(i=h.nestedProperty(t,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,s._preGUI,p),l)r.set(e),h.nestedProperty(s,this.id+".camera").set(e);if(c)i.set(a),h.nestedProperty(s,this.id+".aspectratio").set(a),this.glplot.redraw()}return f},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,a=n._fullLayout,i=this.fullSceneLayout.camera,o=i.up.x,s=i.up.y,l=i.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+".camera.up",f={x:0,y:0,z:1},p={};p[c]=f;var d=n.layout;u.call("_storeDirectGUIEdit",d,a._preGUI,p),i.up=f,h.nestedProperty(d,c).set(f)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=i[4*(r*o+l)+c];i[4*(r*o+l)+c]=i[4*(r*s+l)+c],i[4*(r*s+l)+c]=u}var h=document.createElement("canvas");h.width=r,h.height=a;var f,p=h.getContext("2d"),d=p.createImageData(r,a);switch(d.data.set(i),p.putImageData(d,0,0),t){case"jpeg":f=h.toDataURL("image/jpeg");break;case"webp":f=h.toDataURL("image/webp");break;default:f=h.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),f},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];f.setConvert(e,this.fullLayout),e.setScale=h.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(this.mockAxis,t)},e.exports=_},{"../../components/fx":629,"../../lib":716,"../../lib/show_no_webgl_msg":737,"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"../../registry":845,"./layout/convert":808,"./layout/spikes":811,"./layout/tick_marks":812,"./project":813,"gl-plot3d":292,"has-passive-events":412,"webgl-context":554}],815:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var a=new Array(n),i=0;i<n;i++)a[i]=[t[i],e[i],r[i]];return a}},{}],816:[function(t,e,r){"use strict";var n=t("./font_attributes"),a=t("./animation_attributes"),i=t("../components/color/attributes"),o=t("./pad_attributes"),s=t("../lib/extend").extendFlat,l=n({editType:"calc"});l.family.dflt='"Open Sans", verdana, arial, sans-serif',l.size.dflt=12,l.color.dflt=i.defaultLine,e.exports={font:l,title:{text:{valType:"string",editType:"layoutstyle"},font:n({editType:"layoutstyle"}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:s(o({editType:"layoutstyle"}),{}),editType:"layoutstyle"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},paper_bgcolor:{valType:"color",dflt:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.background,editType:"layoutstyle"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:i.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},modebar:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"modebar"},meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:s({},a.transition,{editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle"},titlefont:n({editType:"layoutstyle"})}}},{"../components/color/attributes":590,"../lib/extend":707,"./animation_attributes":759,"./font_attributes":790,"./pad_attributes":824}],817:[function(t,e,r){"use strict";var n={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'<a href="http://www.openstreetmap.org/about/" target="_blank">\xa9 OpenStreetMap</a>',tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},a=Object.keys(n);e.exports={requiredVersion:"1.3.2",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:n,styleValuesNonMapbox:a,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.3.2."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:","  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",a.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},{}],818:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),a=r[0],i=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(a){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(i){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":716}],819:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("../../lib"),i=t("../../plots/get_data").getSubplotCalcData,o=t("../../constants/xmlns_namespaces"),s=t("d3"),l=t("../../components/drawing"),c=t("../../lib/svg_text_utils"),u=t("./mapbox"),h=r.constants=t("./constants");function f(t){return"string"==typeof t&&(-1!==h.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=a.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==h.requiredVersion)throw new Error(h.wrongVersionErrorMsg);var s=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],i=[],o=!1,s=!1,l=0;l<e.length;l++){var c=r[e[l]],u=c.accesstoken;f(c.style)&&(u?a.pushUnique(n,u):(f(c._input.style)&&(a.error("Uses Mapbox map style, but did not set an access token."),o=!0),s=!0)),u&&a.pushUnique(i,u)}if(s){var p=o?h.noAccessTokenErrorMsg:h.missingStyleErrorMsg;throw new Error(p)}return n.length?(n.length>1&&a.warn(h.multipleTokensErrorMsg),n[0]):(i.length&&a.log(["Listed mapbox access token(s)",i.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,o);n.accessToken=s;for(var l=0;l<o.length;l++){var c=o[l],p=i(r,"mapbox",c),d=e[c],g=d._subplot;g||(g=new u(t,c),e[c]._subplot=g),g.viewInitial||(g.viewInitial={center:a.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),g.plot(p,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.mapbox||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],u=i.domain,f=i._subplot.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":f,x:n.l+n.w*u.x[0],y:n.t+n.h*(1-u.y[1]),width:n.w*(u.x[1]-u.x[0]),height:n.h*(u.y[1]-u.y[0]),preserveAspectRatio:"none"});var p=s.select(i._subplot.div);if(!(null===p.select(".mapboxgl-ctrl-logo").node().offsetParent)){var d=e._glimages.append("g");d.attr("transform","translate("+(n.l+n.w*u.x[0]+10)+", "+(n.t+n.h*(1-u.y[0])-31)+")"),d.append("path").attr("d",h.mapboxLogo.path0).style({opacity:.9,fill:"#ffffff","enable-background":"new"}),d.append("path").attr("d",h.mapboxLogo.path1).style("opacity",.35).style("enable-background","new"),d.append("path").attr("d",h.mapboxLogo.path2).style("opacity",.35).style("enable-background","new"),d.append("polygon").attr("points",h.mapboxLogo.polygon).style({opacity:.9,fill:"#ffffff","enable-background":"new"})}var g=p.select(".mapboxgl-ctrl-attrib").text().replace("Improve this map",""),v=e._glimages.append("g"),m=v.append("text");m.text(g).classed("static-attribution",!0).attr({"font-size":12,"font-family":"Arial",color:"rgba(0, 0, 0, 0.75)","text-anchor":"end","data-unformatted":g});var y=l.bBox(m.node()),x=n.w*(u.x[1]-u.x[0]);if(y.width>x/2){var b=g.split("|").join("<br>");m.text(b).attr("data-unformatted",b).call(c.convertToTspans,t),y=l.bBox(m.node())}m.attr("transform","translate(-3, "+(8-y.height)+")"),v.insert("rect",".static-attribution").attr({x:-y.width-6,y:-y.height-3,width:y.width+6,height:y.height+3,fill:"rgba(255, 255, 255, 0.75)"});var _=1;y.width+6>x&&(_=x/(y.width+6));var w=[n.l+n.w*u.x[1],n.t+n.h*(1-u.y[0])];v.attr("transform","translate("+w[0]+","+w[1]+") scale("+_+")")}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{"../../components/drawing":612,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/get_data":799,"./constants":817,"./layout_attributes":821,"./layout_defaults":822,"./mapbox":823,d3:164,"mapbox-gl":427}],820:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./convert_text_opts"),i=t("./constants");function o(t,e){this.subplot=t,this.uid=t.uid+"-"+e,this.index=e,this.idSource="source-"+this.uid,this.idLayer=i.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if("string"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||"string"==typeof e&&e.length>0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity})}return{layout:e,paint:r}}s.update=function(t){this.visible?this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=l(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,l(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates);a[e]=n,t.sourceattribution&&(a.attribution=t.sourceattribution);return a}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e,r=this.subplot,n=c(t),a=this.subplot.belowLookup["layout-"+this.index];if("traces"===a)for(var o=r.getMapLayers(),s=0;s<o.length;s++){var u=o[s].id;if("string"==typeof u&&0===u.indexOf(i.traceLayerPrefix)){e=u;break}}else e=a;this.removeLayer(),l(t)&&r.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:n.layout,paint:n.paint},e),this.layerType=t.type,this.below=a},s.updateStyle=function(t){if(l(t)){var e=c(t);this.subplot.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.subplot.setOptions(this.idLayer,"setPaintProperty",e.paint)}},s.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},s.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new o(t,e);return n.update(r),n}},{"../../lib":716,"./constants":817,"./convert_text_opts":818}],821:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color").defaultLine,i=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=t("../../plot_api/plot_template").templatedArray,u=t("./constants"),h=o({});h.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:i({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:u.styleValuesMapbox.concat(u.styleValuesNonMapbox),dflt:u.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:c("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:a},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:a}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:h,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color":591,"../../lib":716,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../traces/scatter/attributes":1118,"../domain":789,"../font_attributes":790,"./constants":817}],822:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../subplot_defaults"),i=t("../array_container_defaults"),o=t("./layout_attributes");function s(t,e,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),i(t,e,{name:"layers",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,a){return n.coerce(t,e,o.layers,r,a)}if(r("visible")){var a,i=r("sourcetype"),s="raster"===i||"image"===i;r("source"),r("sourceattribution"),"vector"===i&&r("sourcelayer"),"image"===i&&r("coordinates"),s&&(a="raster");var l=r("type",a);s&&"raster"!==l&&(l=e.type="raster",n.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),"circle"===l&&r("circle.radius"),"line"===l&&(r("line.width"),r("line.dash")),"fill"===l&&r("fill.outlinecolor"),"symbol"===l&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"),r("symbol.placement"))}}e.exports=function(t,e,r){a(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},{"../../lib":716,"../array_container_defaults":760,"../subplot_defaults":839,"./layout_attributes":821}],823:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("d3"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../registry"),l=t("../cartesian/axes"),c=t("../../components/dragelement"),u=t("../cartesian/select").prepSelect,h=t("../cartesian/select").selectOnClick,f=t("./constants"),p=t("./layers");function d(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={}}var g=d.prototype;g.plot=function(t,e,r){var n,a=this,i=e[a.id];a.map&&i.accesstoken!==a.accessToken&&(a.map.remove(),a.map=null,a.styleObj=null,a.traceHash=[],a.layerList={}),n=a.map?new Promise(function(r,n){a.updateMap(t,e,r,n)}):new Promise(function(r,n){a.createMap(t,e,r,n)}),r.push(n)},g.createMap=function(t,e,r,a){var i=this,o=e[i.id],s=i.styleObj=m(o.style);i.accessToken=o.accesstoken;var l=i.map=new n.Map({container:i.div,style:s.style,center:x(o.center),zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));l._canvas.style.left="0px",l._canvas.style.top="0px",i.rejectOnError(a),i.isStatic||i.initFx(t,e);var c=[];c.push(new Promise(function(t){l.once("load",t)})),c=c.concat(i.fetchMapData(t,e)),Promise.all(c).then(function(){i.fillBelowLookup(t,e),i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)}).catch(a)},g.fetchMapData=function(t){var e=[];function r(t){return new Promise(function(e,r){a.json(t,function(n,a){if(n){delete PlotlyGeoAssets[t];var i=404===n.status?'GeoJSON at URL "'+t+'" does not exist.':"Unexpected error while fetching from "+t;return r(new Error(i))}PlotlyGeoAssets[t]=a,e(a)})})}for(var n=0;n<t.length;n++){var i=t[n][0].trace.geojson;"string"!=typeof i||PlotlyGeoAssets[i]||(PlotlyGeoAssets[i]="pending",e.push(r(i)))}return e},g.updateMap=function(t,e,r,n){var a=this,i=a.map,o=e[this.id];a.rejectOnError(n);var s=[],l=m(o.style);a.styleObj.id!==l.id&&(a.styleObj=l,i.setStyle(l.style),a.traceHash={},s.push(new Promise(function(t){i.once("styledata",t)}))),s=s.concat(a.fetchMapData(t,e)),Promise.all(s).then(function(){a.fillBelowLookup(t,e),a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)}).catch(n)},g.fillBelowLookup=function(t,e){var r,n,a=e[this.id].layers,i=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;"string"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),""===n&&(o=!0),i["trace-"+s.uid]=n||""}for(r=0;r<a.length;r++){var c=a[r];n="string"==typeof c.below?c.below:o?"traces":"",i["layout-"+r]=n}var u,h,f={};for(u in i)f[n=i[u]]?f[n].push(u):f[n]=[u];for(n in f){var p=f[n];if(p.length>1)for(r=0;r<p.length;r++)0===(u=p[r]).indexOf("trace-")?(h=u.split("trace-")[1],this.traceHash[h]&&(this.traceHash[h].below=null)):0===u.indexOf("layout-")&&(h=u.split("layout-")[1],this.layerList[h]&&(this.layerList[h].below=null))}};var v={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function m(t){var e={};return o.isPlainObject(t)?(e.id=t.id,e.style=t):"string"==typeof t?(e.id=t,-1!==f.styleValuesMapbox.indexOf(t)?e.style=y(t):f.stylesNonMapbox[t]?e.style=f.stylesNonMapbox[t]:e.style=t):(e.id=f.styleValueDflt,e.style=y(f.styleValueDflt)),e.transition={duration:0,delay:0},e}function y(t){return f.styleUrlPrefix+t+"-"+f.styleUrlSuffix}function x(t){return[t.lon,t.lat]}g.updateData=function(t){var e,r,n,a,i=this.traceHash,o=t.slice().sort(function(t,e){return v[t[0].trace.type]-v[e[0].trace.type]});for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=i[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(i[r.uid]=r._module.plot(this,s))}var c=Object.keys(i);t:for(n=0;n<c.length;n++){var u=c[n];for(a=0;a<t.length;a++)if(u===(r=t[a][0].trace).uid)continue t;(e=i[u]).dispose(),delete i[u]}},g.updateLayout=function(t){var e=this.map,r=t[this.id];e.setCenter(x(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},g.resolveOnRender=function(t){var e=this.map;e.on("render",function r(){e.loaded()&&(e.off("render",r),setTimeout(t,10))})},g.rejectOnError=function(t){var e=this.map;function r(){t(new Error(f.mapOnErrorMsg))}e.once("error",r),e.once("style.error",r),e.once("source.error",r),e.once("tile.error",r),e.once("layer.error",r)},g.createFramework=function(t){var e=this,r=e.div=document.createElement("div");r.id=e.uid,r.style.position="absolute",e.container.appendChild(r),e.xaxis={_id:"x",c2p:function(t){return e.project(t).x}},e.yaxis={_id:"y",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},l.setConvert(e.mockAxis,t)},g.initFx=function(t,e){var r=this,n=r.gd,a=r.map,o=!1;function l(){i.loneUnhover(e._hoverlayer)}function c(){var t=r.getView();n.emit("plotly_relayouting",r.getViewEdits(t))}a.on("moveend",function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||o){var a=e[r.id];s.call("_storeDirectGUIEdit",n.layout,e._preGUI,r.getViewEdits(a));var i=r.getView();a._input.center=a.center=i.center,a._input.zoom=a.zoom=i.zoom,a._input.bearing=a.bearing=i.bearing,a._input.pitch=a.pitch=i.pitch,n.emit("plotly_relayout",r.getViewEdits(i))}o=!1,e._rehover&&e._rehover()}}),a.on("wheel",function(){o=!0}),a.on("mousemove",function(t){var e=r.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return t.lngLat.lng},r.yaxis.p2c=function(){return t.lngLat.lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&i.hover(n,t,r.id)},i.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id}),a.on("dragstart",l),a.on("zoomstart",l),a.on("mouseout",function(){n._fullLayout._hoversubplot=null}),a.on("drag",c),a.on("zoom",c),a.on("dblclick",function(){var t=n._fullLayout[r.id];s.call("_storeDirectGUIEdit",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;a.setCenter(x(e.center)),a.setZoom(e.zoom),a.setBearing(e.bearing),a.setPitch(e.pitch);var i=r.getView();t._input.center=t.center=i.center,t._input.zoom=t.zoom=i.zoom,t._input.bearing=t.bearing=i.bearing,t._input.pitch=t.pitch=i.pitch,n.emit("plotly_doubleclick",null),n.emit("plotly_relayout",r.getViewEdits(i))}),r.clearSelect=function(){n._fullLayout._zoomlayer.selectAll(".select-outline").remove()},r.onClickInPanFn=function(t){return function(e){var a=n._fullLayout.clickmode;a.indexOf("select")>-1&&h(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),a.indexOf("event")>-1&&i.click(n,e.originalEvent)}}},g.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,i=t.dragmode;a="select"===i?function(t,r){(t.range={})[e.id]=[l([r.xmin,r.ymin]),l([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(l)};var s=e.dragOptions;e.dragOptions=o.extendDeep(s||{},{element:e.div,gd:n,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),"select"===i||"lasso"===i?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){u(t,r,n,e.dragOptions,i)},c.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function l(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},g.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},g.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(p(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},g.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},g.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},g.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},g.getMapLayers=function(){return this.map.getStyle().layers},g.addLayer=function(t,e){var r=this.map;if("string"==typeof e){if(""===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(e===n[a].id)return void r.addLayer(t,e);o.warn(["Trying to add layer with *below* value",e,"referencing a layer that does not exist","or that does not yet exist."].join(" "))}r.addLayer(t)},g.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},g.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}},g.getViewEdits=function(t){for(var e=this.id,r=["center","zoom","bearing","pitch"],n={},a=0;a<r.length;a++){var i=r[a];n[e+"."+i]=t[i]}return n},e.exports=d},{"../../components/dragelement":609,"../../components/fx":629,"../../lib":716,"../../registry":845,"../cartesian/axes":764,"../cartesian/select":781,"./constants":817,"./layers":820,d3:164,"mapbox-gl":427}],824:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType;return{t:{valType:"number",dflt:0,editType:e},r:{valType:"number",dflt:0,editType:e},b:{valType:"number",dflt:0,editType:e},l:{valType:"number",dflt:0,editType:e},editType:e}}},{}],825:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../registry"),o=t("../plot_api/plot_schema"),s=t("../plot_api/plot_template"),l=t("../lib"),c=t("../components/color"),u=t("../constants/numerical").BADNUM,h=t("./cartesian/axis_ids"),f=t("./animation_attributes"),p=t("./frame_attributes"),d=t("../plots/get_data").getModuleCalcData,g=l.relinkPrivateKeys,v=l._,m=e.exports={};l.extendFlat(m,i),m.attributes=t("./attributes"),m.attributes.type.values=m.allTypes,m.fontAttrs=t("./font_attributes"),m.layoutAttributes=t("./layout_attributes"),m.fontWeight="normal";var y=m.transformsRegistry,x=t("./command");m.executeAPICommand=x.executeAPICommand,m.computeAPICommandBindings=x.computeAPICommandBindings,m.manageCommandObserver=x.manageCommandObserver,m.hasSimpleAPICommandBindings=x.hasSimpleAPICommandBindings,m.redrawText=function(t){var e=(t=l.getGraphDiv(t))._fullLayout||{};if(!(!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){i.getComponentMethod("annotations","draw")(t),i.getComponentMethod("legend","draw")(t),i.getComponentMethod("colorbar","draw")(t),e(m.previousPromises(t))},300)})},m.resize=function(t){return t=l.getGraphDiv(t),new Promise(function(e,r){t&&!l.isHidden(t)||r(new Error("Resize must be passed a displayed plot div element.")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(!t.layout||t.layout.width&&t.layout.height||l.isHidden(t))e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,i.call("relayout",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},m.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},m.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=l.ensureSingle(e._paper,"text","js-plot-link-container",function(t){t.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:c.defaultLine,"pointer-events":"all"}).each(function(){var t=n.select(this);t.append("tspan").classed("js-link-to-tool",!0),t.append("tspan").classed("js-link-spacer",!0),t.append("tspan").classed("js-sourcelinks",!0)})}),a=r.node(),i={y:e._paper.attr("height")-9};document.body.contains(a)&&a.getComputedTextLength()>=e.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=e._paper.attr("width")-7),r.attr(i);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),u=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",function(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),a=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+a})}}(t,o),s.text(o.text()&&u.text()?" - ":"")}},m.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return a.append("input").attr({type:"text",name:"data"}).node().value=m.graphJson(t,!1,"keepdata"),a.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var b=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],_=["year","month","dayMonth","dayMonthYear"];function w(t,e){var r=t._context.locale,n=!1,a={};function o(t){for(var r=!0,i=0;i<e.length;i++){var o=e[i];a[o]||(t[o]?a[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(o(u),n))break;l=i.localeRegistry}var h=r.split("-")[0];if(n||h===r)break;r=h}return n||o(i.localeRegistry.en.format),a}function k(t,e){var r={_fullLayout:e},n="x"===t._id.charAt(0),a=t._mainAxis._anchorAxis,i="",o="",s="";if(a&&(s=a._mainAxis._id,i=n?t._id+s:s+t._id),!i||!e._plots[i]){i="";for(var l=t._counterAxes,c=0;c<l.length;c++){var u=l[c],f=n?t._id+u:u+t._id;o||(o=f);var p=h.getFromId(r,u);if(s&&p.overlaying===s){i=f;break}}}return i||o}function T(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],a=n._module||y[n.type];if(a&&a.makesData)return!0}return!1}function A(t,e,r,n){for(var a=t.transforms,i=[t],o=0;o<a.length;o++){var s=a[o],l=y[s.type];l&&l.transform&&(i=l.transform(i,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return i}function M(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}m.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,a=t._fullLayout||{};if(a._skipDefaults)delete a._skipDefaults;else{var o,s=t._fullLayout={},c=t.layout||{},u=t._fullData||[],h=t._fullData=[],f=t.data||[],p=t.calcdata||[],d=t._context||{};t._transitionData||m.createTransitionData(t),s._dfltTitle={plot:v(t,"Click to enter Plot title"),x:v(t,"Click to enter X axis title"),y:v(t,"Click to enter Y axis title"),colorbar:v(t,"Click to enter Colorscale title"),annotation:v(t,"new text")},s._traceWord=v(t,"trace");var y=w(t,b);if(s._mapboxAccessToken=d.mapboxAccessToken,a._initialAutoSizeIsDone){var x=a.width,k=a.height;m.supplyLayoutGlobalDefaults(c,s,y),c.width||(s.width=x),c.height||(s.height=k),m.sanitizeMargins(s)}else{m.supplyLayoutGlobalDefaults(c,s,y);var T=!c.width||!c.height,A=s.autosize,S=d.autosizable;T&&(A||S)?m.plotAutoSize(t,c,s):T&&m.sanitizeMargins(s),!A&&T&&(c.width=s.width,c.height=s.height)}s._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(y,s.separators),s._extraFormat=w(t,_),s._initialAutoSizeIsDone=!0,s._dataLength=f.length,s._modules=[],s._visibleModules=[],s._basePlotModules=[];var E=s._subplots=function(){var t,e,r=i.collectableSubplotTypes,n={};if(!r){r=[];var a=i.subplotsRegistry;for(var o in a){var s=a[o],c=s.attr;if(c&&(r.push(o),Array.isArray(c)))for(e=0;e<c.length;e++)l.pushUnique(r,c[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),L=s._splomAxes={x:{},y:{}},C=s._splomSubplots={};s._splomGridDflt={},s._scatterStackOpts={},s._firstScatter={},s._alignmentOpts={},s._colorAxes={},s._requestRangeslider={},s._traceUids=function(t,e){var r,n,a=e.length,i=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&i.push(o),n=o}var s=i.length,c=new Array(a),u={};function h(t,e){c[e]=t,u[t]=1}function f(t,e){if(t&&"string"==typeof t&&!u[t])return h(t,e),!0}for(r=0;r<a;r++){var p=e[r].uid;"number"==typeof p&&(p=String(p)),f(p,r)||(r<s&&f(i[r].uid,r)||h(l.randstr(u),r))}return c}(u,f),s._globalTransforms=(t._context||{}).globalTransforms,m.supplyDataDefaults(f,h,c,s);var P=Object.keys(L.x),O=Object.keys(L.y);if(P.length>1&&O.length>1){for(i.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o<P.length;o++)l.pushUnique(E.xaxis,P[o]);for(o=0;o<O.length;o++)l.pushUnique(E.yaxis,O[o]);for(var z in C)l.pushUnique(E.cartesian,z)}if(s._has=m._hasPlotType.bind(s),u.length===h.length)for(o=0;o<h.length;o++)g(h[o],u[o]);m.supplyLayoutModuleDefaults(c,s,h,t._transitionData);var I=s._visibleModules,D=[];for(o=0;o<I.length;o++){var R=I[o].crossTraceDefaults;R&&l.pushUnique(D,R)}for(o=0;o<D.length;o++)D[o](h,s);s._hasOnlyLargeSploms=1===s._basePlotModules.length&&"splom"===s._basePlotModules[0].name&&P.length>15&&O.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has("cartesian"),s._hasGeo=s._has("geo"),s._hasGL3D=s._has("gl3d"),s._hasGL2D=s._has("gl2d"),s._hasTernary=s._has("ternary"),s._hasPie=s._has("pie"),m.linkSubplots(h,s,u,a),m.cleanPlot(h,s,u,a),a._zoomlayer&&!t._dragging&&a._zoomlayer.selectAll(".select-outline").remove(),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var a=0;a<t.length;a++){var i=t[a];i.meta?n[i.index]=i._meta={meta:i.meta}:e.meta&&(i._meta={meta:e.meta}),e.meta&&(i._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,s),g(s,a),i.getComponentMethod("colorscale","crossTraceDefaults")(h,s),s._preGUI||(s._preGUI={}),s._tracePreGUI||(s._tracePreGUI={});var F,B=s._tracePreGUI,N={};for(F in B)N[F]="old";for(o=0;o<h.length;o++)N[F=h[o]._fullInput.uid]||(B[F]={}),N[F]="new";for(F in N)"old"===N[F]&&delete B[F];M(s),i.getComponentMethod("rangeslider","makeData")(s),r||p.length!==h.length||m.supplyDefaultsUpdateCalc(p,h)}},m.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=(t[r]||[])[0];if(a&&a.trace){var i=a.trace;if(i._hasCalcTransform){var o,s,c,u=i._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],c=l.nestedProperty(i,s).get().slice(),l.nestedProperty(n,s).set(c)}a.trace=n}}},m.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},m._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var a=n[e].name;if(a===t)return!0;var o=i.modules[a];if(o&&o.categories[t])return!0}return!1},m.cleanPlot=function(t,e,r,n){var a,i,o=n._basePlotModules||[];for(a=0;a<o.length;a++){var s=o[a];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has("gl"),c=e._has&&e._has("gl");l&&!c&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var u=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(i=0;i<t.length;i++){if(h===t[i].uid)continue t}u&&n._infolayer.select(".cb"+h).remove()}},m.linkSubplots=function(t,e,r,n){var a,o,s=n._plots||{},c=e._plots={},u=e._subplots,f={_fullData:t,_fullLayout:e},p=u.cartesian.concat(u.gl2d||[]);for(a=0;a<p.length;a++){var d,g=p[a],v=s[g],m=h.getFromId(f,g,"x"),y=h.getFromId(f,g,"y");for(v?d=c[g]=v:(d=c[g]={}).id=g,m._counterAxes.push(y._id),y._counterAxes.push(m._id),m._subplotsWith.push(g),y._subplotsWith.push(g),d.xaxis=m,d.yaxis=y,d._hasClipOnAxisFalse=!1,o=0;o<t.length;o++){var x=t[o];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=h.list(f,null,!0);for(a=0;a<_.length;a++){var w=null;(b=_[a]).overlaying&&(w=h.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis="free"===b.anchor?null:h.getFromId(f,b.anchor)}for(a=0;a<_.length;a++)if((b=_[a])._counterAxes.sort(h.idSort),b._subplotsWith.sort(l.subplotSort),b._mainSubplot=k(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf("across")||b.automargin&&b.mirror&&"free"!==b.anchor||i.getComponentMethod("rangeslider","isVisible")(b))){var T=1,A=0;for(o=0;o<b._counterAxes.length;o++){var M=h.getFromId(f,b._counterAxes[o]);T=Math.min(T,M.domain[0]),A=Math.max(A,M.domain[1])}T<A&&(b._counterDomainMin=T,b._counterDomainMax=A)}},m.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],o.crawl(t._module.attributes,function(t,n,a,i){r[i]=n,r.length=i+1,"color"===t.valType&&void 0===t.dflt&&e.push(r.join("."))})),n=0;n<e.length;n++){l.nestedProperty(t,"_input."+e[n]).get()||l.nestedProperty(t,e[n]).set(null)}},m.supplyDataDefaults=function(t,e,r,n){var a,o,c,u=n._modules,h=n._visibleModules,f=n._basePlotModules,p=0,d=0;function v(t){e.push(t);var r=t._module;r&&(l.pushUnique(u,r),!0===t.visible&&l.pushUnique(h,r),l.pushUnique(f,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var y={},x=[],b=(r.template||{}).data||{},_=s.traceTemplater(b);for(a=0;a<t.length;a++){if(c=t[a],(o=_.newTrace(c)).uid=n._traceUids[a],m.supplyTraceDefaults(c,o,d,n,a),o.index=a,o._input=c,o._expandedIndex=p,o.transforms&&o.transforms.length)for(var w=!1!==c.visible&&!1===o.visible,k=A(o,e,r,n),T=0;T<k.length;T++){var M=k[T],S={_template:o._template,type:o.type,uid:o.uid+T};w&&!1===M.visible&&delete M.visible,m.supplyTraceDefaults(M,S,p,n,a),g(S,M),S.index=a,S._input=c,S._fullInput=o,S._expandedIndex=p,S._expandedInput=M,v(S)}else o._fullInput=o,o._expandedInput=o,v(o);i.traceIs(o,"carpetAxis")&&(y[o.carpet]=o),i.traceIs(o,"carpetDependent")&&x.push(a)}for(a=0;a<x.length;a++)if((o=e[x[a]]).visible){var E=y[o.carpet];o._carpet=E,E&&E.visible?(o.xaxis=E.xaxis,o.yaxis=E.yaxis):o.visible=!1}},m.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return l.coerce(t||{},r,f,e,n)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=m.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=m.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=m.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=m.supplyAnimationTransitionDefaults(t.transition||{});return r},m.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,f.frame,r,n)}return r("duration"),r("redraw"),e},m.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,f.transition,r,n)}return r("duration"),r("easing"),e},m.supplyFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t,e,p,r,n)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),e},m.supplyTraceDefaults=function(t,e,r,n,a){var o,s=n.colorway||c.defaults,u=s[r%s.length];function h(r,n){return l.coerce(t,e,m.attributes,r,n)}var f=h("visible");h("type"),h("name",n._traceWord+" "+a),h("uirevision",n.uirevision);var p=m.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,v=d.attributes;if(g&&v){var y=n._subplots,x="";if("gl2d"!==d.name||f){if(Array.isArray(g))for(o=0;o<g.length;o++){var b=g[o],_=l.coerce(t,e,v,b);y[b]&&l.pushUnique(y[b],_),x+=_}else x=l.coerce(t,e,v,g);y[d.name]&&l.pushUnique(y[d.name],x)}}}return f&&(h("customdata"),h("ids"),h("meta"),i.traceIs(e,"showLegend")?(e._dfltShowLegend=!0,h("showlegend"),h("legendgroup")):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,u,n),i.traceIs(e,"noOpacity")||h("opacity"),i.traceIs(e,"notLegendIsolatable")&&(e.visible=!!e.visible),i.traceIs(e,"noHover")||(e.hovertemplate||l.coerceHoverinfo(t,e,n),"parcats"!==e.type&&i.getComponentMethod("fx","supplyDefaults")(t,e,u,n)),p&&p.selectPoints&&h("selectedpoints"),m.supplyTransformDefaults(t,e,n)),e},m.hasMakesDataTransform=T,m.supplyTransformDefaults=function(t,e,r){if(e._length||T(t)){var n=r._globalTransforms||[],a=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var i=t.transforms||[],o=n.concat(i),s=e.transforms=[],c=0;c<o.length;c++){var u,h=o[c],f=h.type,p=y[f],d=!(h._module&&h._module===p),g=p&&"function"==typeof p.transform;p||l.warn("Unrecognized transform type "+f+"."),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(h,e,r,t)).type=f,u._module=p,l.pushUnique(a,p)):u=l.extendFlat({},h),s.push(u)}}},m.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return l.coerce(t,e,m.layoutAttributes,r,n)}var a=t.template;l.isPlainObject(a)&&(e.template=a,e._template=a.layout,e._dataTemplate=a.data);var o=l.coerceFont(n,"font");n("title.text",e._dfltTitle.plot),l.coerceFont(n,"title.font",{family:o.family,size:Math.round(1.4*o.size),color:o.color}),n("title.xref"),n("title.yref"),n("title.x"),n("title.y"),n("title.xanchor"),n("title.yanchor"),n("title.pad.t"),n("title.pad.r"),n("title.pad.b"),n("title.pad.l"),n("autosize",!(t.width&&t.height)),n("width"),n("height"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),t.width&&t.height&&m.sanitizeMargins(e),i.getComponentMethod("grid","sizeDefaults")(t,e),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision");var s=n("uirevision");n("editrevision",s),n("selectionrevision",s),n("modebar.orientation"),n("modebar.bgcolor",c.addOpacity(e.paper_bgcolor,.5));var u=c.contrast(c.rgb(e.modebar.bgcolor));n("modebar.color",c.addOpacity(u,.3)),n("modebar.activecolor",c.addOpacity(u,.7)),n("modebar.uirevision",s),n("meta"),l.isPlainObject(t.transition)&&(n("transition.duration"),n("transition.easing"),n("transition.ordering")),i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar"),i.getComponentMethod("fx","supplyLayoutGlobalDefaults")(t,e,n)},m.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,c=l.isPlotDiv(t);if(c&&t.emit("plotly_autosize"),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow="hidden";else{var u=c?window.getComputedStyle(t):{};if(n=parseFloat(u.width)||parseFloat(u.maxWidth)||r.width,i=parseFloat(u.height)||parseFloat(u.maxHeight)||r.height,a(s)&&s>0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=m.layoutAttributes.width.min,p=m.layoutAttributes.height.min;n<f&&(n=f),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var a,o,s,c=i.componentsRegistry,u=e._basePlotModules,h=i.subplotsRegistry.cartesian;for(a in c)(s=c[a]).includeBasePlot&&s.includeBasePlot(t,e);for(var f in u.length||u.push(h),e._has("cartesian")&&(i.getComponentMethod("grid","contentDefaults")(t,e),h.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(l.subplotSort);for(o=0;o<u.length;o++)(s=u[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._modules;for(o=0;o<p.length;o++)(s=p[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(s=d[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(a in c)(s=c[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},m.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(".gl-canvas").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),l.clearThrottle(),l.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},m.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var a=r[e];a.style&&l.pushUnique(n,a.style)}for(e=0;e<n.length;e++)n[e](t)},m.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,a=t.margin,i=r-(a.l+a.r),o=n-(a.t+a.b);i<0&&(e=(r-1)/(a.l+a.r),a.l=Math.floor(e*a.l),a.r=Math.floor(e*a.r)),o<0&&(e=(n-1)/(a.t+a.b),a.t=Math.floor(e*a.t),a.b=Math.floor(e*a.b))}},m.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},m.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},m.autoMargin=function(t,e,r){var n=t._fullLayout,a=n._pushmargin,i=n._pushmarginIds;if(!1!==n.margin.autoexpand){if(r){var o=r.pad;if(void 0===o){var s=n.margin;o=Math.min(12,s.l,s.r,s.t,s.b)}r.l+r.r>.5*n.width&&(l.log("Margin push",e,"is too big in x, dropping"),r.l=r.r=0),r.b+r.t>.5*n.height&&(l.log("Margin push",e,"is too big in y, dropping"),r.b=r.t=0);var c=void 0!==r.xl?r.xl:r.x,u=void 0!==r.xr?r.xr:r.x,h=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;a[e]={l:{val:c,size:r.l+o},r:{val:u,size:r.r+o},b:{val:f,size:r.b+o},t:{val:h,size:r.t+o}},i[e]=1}else delete a[e],delete i[e];if(!n._replotting)return m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),M(e);var r=e._size,n=e.margin,o=l.extendFlat({},r),s=n.l,c=n.r,u=n.t,h=n.b,f=e.width,p=e.height,d=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in d)g[v]||delete d[v];for(var y in d.base={l:{val:0,size:s},r:{val:1,size:c},t:{val:1,size:u},b:{val:0,size:h}},d){var x=d[y].l||{},b=d[y].b||{},_=x.val,w=x.size,k=b.val,T=b.size;for(var A in d){if(a(w)&&d[A].r){var S=d[A].r.val,E=d[A].r.size;if(S>_){var L=(w*S+(E-f)*_)/(S-_),C=(E*(1-_)+(w-f)*(1-S))/(S-_);L>=0&&C>=0&&f-(L+C)>0&&L+C>s+c&&(s=L,c=C)}}if(a(T)&&d[A].t){var P=d[A].t.val,O=d[A].t.size;if(P>k){var z=(T*P+(O-p)*k)/(P-k),I=(O*(1-k)+(T-p)*(1-P))/(P-k);z>=0&&I>=0&&p-(I+z)>0&&z+I>h+u&&(h=z,u=I)}}}}}if(r.l=Math.round(s),r.r=Math.round(c),r.t=Math.round(u),r.b=Math.round(h),r.p=Math.round(n.pad),r.w=Math.round(f)-r.l-r.r,r.h=Math.round(p)-r.t-r.b,!e._replotting&&m.didMarginChange(o,r)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var D=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount<D)return i.call("plot",t);l.warn("Too many auto-margin redraws.")}};var S=["l","r","t","b","p","w","h"];function E(t,e,r){var n=!1;var a=[m.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,m.rehover,function(){return t.emit("plotly_transitioning",[]),new Promise(function(a){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&t._transitionData._interruptCallbacks.push(function(){return i.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var o=0,s=0;function l(){return o++,function(){var e;s++,n||s!==o||(e=a,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return i.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(e)))}}r.runFn(l),setTimeout(l())})}],o=l.syncOrAsync(a,t);return o&&o.then||(o=Promise.resolve()),o.then(function(){return t})}m.didMarginChange=function(t,e){for(var r=0;r<S.length;r++){var n=S[r],i=t[n],o=e[n];if(!a(i)||Math.abs(o-i)>1)return!0}return!1},m.graphJson=function(t,e,r,n,a){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var i=a?t._fullData:t.data,o=a?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(l.isPlainObject(t)){var e,n,a={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!l.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;a[e]=c(t[e])}return a}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(i||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),"object"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case"replace":a=n.value;var s=(i[n.index]||{}).name,l=a.name;i[n.index]=o[l]=a,l!==s&&(delete o[s],o[l]=a);break;case"insert":o[(a=n.value).name]=a,i.splice(n.index,0,a);break;case"delete":delete o[(a=i[n.index]).name],i.splice(n.index,1)}return Promise.resolve()},m.computeFrame=function(t,e){var r,n,a,i,o=t._transitionData._frameHash;if(!e)throw new Error("computeFrame must be given a string frame name");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=m.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(a=n[r])&&(-1===(i=u.traces.indexOf(a))&&(i=u.data.length,u.traces[i]=a),u.data[i]=m.extendTrace(u.data[i],s.data[r]))}return u},m.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var a=r[n];a&&a.name&&(e[a.name]=a)}},m.extendObjectWithContainers=function(t,e,r){var n,a,i,o,s,c,u,h=l.extendDeepNoArrays({},e||{}),f=l.expandObjectPaths(h),p={};if(r&&r.length)for(i=0;i<r.length;i++)void 0===(a=(n=l.nestedProperty(f,r[i])).get())?l.nestedProperty(p,r[i]).set(null):(n.set(null),l.nestedProperty(p,r[i]).set(a));if(t=l.extendDeepNoArrays(t||{},f),r&&r.length)for(i=0;i<r.length;i++)if(c=l.nestedProperty(p,r[i]).get()){for(u=(s=l.nestedProperty(t,r[i])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:m.extendObjectWithContainers(u[o],d)}s.set(u)}return t},m.dataArrayContainers=["transforms","dimensions"],m.layoutArrayContainers=i.layoutArrayContainers,m.extendTrace=function(t,e){return m.extendObjectWithContainers(t,e,m.dataArrayContainers)},m.extendLayout=function(t,e){return m.extendObjectWithContainers(t,e,m.layoutArrayContainers)},m.transition=function(t,e,r,n,a,i){var o={redraw:a.redraw},s={},c=[];return o.prepareFn=function(){for(var a=Array.isArray(e)?e.length:0,i=n.slice(0,a),o=0;o<i.length;o++){var u=i[o],h=t._fullData[u]._module;if(h){if(h.animatable){var f=h.basePlotModule.name;s[f]||(s[f]=[]),s[f].push(u)}t.data[i[o]]=m.extendTrace(t.data[i[o]],e[o])}}var p=l.expandObjectPaths(l.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var g in p)d.test(g)&&delete p[g].range;m.extendLayout(t.layout,p),delete t.calcdata,m.supplyDefaults(t),m.doCalcdata(t);var v=l.expandObjectPaths(r);if(v){var y=t._fullLayout._plots;for(var x in y){var b=y[x],_=b.xaxis,w=b.yaxis,k=_.range.slice(),T=w.range.slice(),A=null,M=null,S=null,E=null;Array.isArray(v[_._name+".range"])?A=v[_._name+".range"].slice():Array.isArray((v[_._name]||{}).range)&&(A=v[_._name].range.slice()),Array.isArray(v[w._name+".range"])?M=v[w._name+".range"].slice():Array.isArray((v[w._name]||{}).range)&&(M=v[w._name].range.slice()),k&&A&&(_.r2l(k[0])!==_.r2l(A[0])||_.r2l(k[1])!==_.r2l(A[1]))&&(S={xr0:k,xr1:A}),T&&M&&(w.r2l(T[0])!==w.r2l(M[0])||w.r2l(T[1])!==w.r2l(M[1]))&&(E={yr0:T,yr1:M}),(S||E)&&c.push(l.extendFlat({plotinfo:b},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,a,o=t._fullLayout._basePlotModules,u=c.length;if(r)for(a=0;a<o.length;a++)o[a].transitionAxes&&o[a].transitionAxes(t,c,i,e);for(var h in u?((n=l.extendFlat({},i)).duration=0,delete s.cartesian):n=i,s){var f=s[h];t._fullData[f[0]]._module.basePlotModule.plot(t,f,n,e)}},E(t,i,o)},m.transitionFromReact=function(t,e,r,n){var a=t._fullLayout,i=a.transition,o={},s=[];return o.prepareFn=function(){var t=a._plots;for(var i in o.redraw=!1,"some"===e.anim&&(o.redraw=!0),"some"===r.anim&&(o.redraw=!0),t){var c=t[i],u=c.xaxis,h=c.yaxis,f=n[u._name].range.slice(),p=n[h._name].range.slice(),d=u.range.slice(),g=h.range.slice();u.setScale(),h.setScale();var v=null,m=null;u.r2l(f[0])===u.r2l(d[0])&&u.r2l(f[1])===u.r2l(d[1])||(v={xr0:f,xr1:d}),h.r2l(p[0])===h.r2l(g[0])&&h.r2l(p[1])===h.r2l(g[1])||(m={yr0:p,yr1:g}),(v||m)&&s.push(l.extendFlat({plotinfo:c},v,m))}return Promise.resolve()},o.runFn=function(r){for(var n,a,o,c=t._fullData,u=t._fullLayout._basePlotModules,h=[],f=0;f<c.length;f++)h.push(f);function p(){for(var e=0;e<u.length;e++)u[e].transitionAxes&&u[e].transitionAxes(t,s,n,r)}function d(){for(var e=0;e<u.length;e++)u[e].plot(t,o,a,r)}s.length&&e.anim?"traces first"===i.ordering?(n=l.extendFlat({},i,{duration:0}),o=h,a=i,setTimeout(p,i.duration),d()):(n=i,o=null,a=l.extendFlat({},i,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=i,p()):e.anim&&(o=h,a=i,d())},E(t,i,o)},m.doCalcdata=function(t,e){var r,n,a,s,c=h.list(t),f=t._fullData,p=t._fullLayout,d=new Array(f.length),g=(t.calcdata||[]).slice();for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},p._sunburstcolormap={},p._treemapcolormap={},p._funnelareacolormap={},a=0;a<f.length;a++)Array.isArray(e)&&-1===e.indexOf(a)&&(d[a]=g[a]);for(a=0;a<f.length;a++)(r=f[a])._arrayAttrs=o.findArrayAttributes(r),r._extremes={};var v=p._subplots.polar||[];for(a=0;a<v.length;a++)c.push(p[v[a]].radialaxis,p[v[a]].angularaxis);for(var m in p._colorAxes){var x=p[m];!1!==x.cauto&&(delete x.cmin,delete x.cmax)}var b=!1;function _(e){if(r=f[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var a=n.calc(t,r);a[0]&&a[0].t&&a[0].t._scene&&delete a[0].t._scene.dirty}for(s=0;s<r.transforms.length;s++){var i=r.transforms[s];(n=y[i.type])&&n.calcTransform&&(r._hasCalcTransform=!0,b=!0,n.calcTransform(t,r,i))}}}function w(e,a){if(r=f[e],!!(n=r._module).isContainer===a){var i=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var o=r.transforms||[];for(s=o.length-1;s>=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(i=n.calc(t,r))}Array.isArray(i)&&i[0]||(i=[{x:u,y:u}]),i[0].t||(i[0].t={}),i[0].trace=r,d[e]=i}}for(C(c,f),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)_(a);for(b&&C(c,f),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)w(a,!1);P(t);var k=function(t,e){var r,n,a,o,s,c=[];function u(t,r,n){var a=r._id.charAt(0);if("histogram2dcontour"===t){var i=r._counterAxes[0],o=h.getFromId(e,i),s="x"===a||"x"===i&&"category"===o.type,l="y"===a||"y"===i&&"category"===o.type;return function(t,e){return 0===t||0===e?-1:s&&t===n[e].length-1?-1:l&&e===n.length-1?-1:("y"===a?e:t)-1}}return function(t,e){return"y"===a?e:t}}var f={min:function(t){return l.aggNums(Math.min,null,t)},max:function(t){return l.aggNums(Math.max,null,t)},sum:function(t){return l.aggNums(function(t,e){return t+e},null,t)},total:function(t){return l.aggNums(function(t,e){return t+e},null,t)},mean:function(t){return l.mean(t)},median:function(t){return l.median(t)}};for(r=0;r<t.length;r++){var p=t[r];if("category"===p.type){var d=p.categoryorder.match(L);if(d){var g=d[1],v=d[2],m=[];for(n=0;n<p._categories.length;n++)m.push([p._categories[n],[]]);for(n=0;n<p._traceIndices.length;n++){var y=p._traceIndices[n],x=e._fullData[y],b=p._id.charAt(0);if(!0===x.visible){var _=x.type;i.traceIs(x,"histogram")&&(delete x._xautoBinFinished,delete x._yautoBinFinished);var w=e.calcdata[y];for(a=0;a<w.length;a++){var k,T,A,M=w[a];if("splom"===_){var S=x._axesDim[p._id];if("y"===b){var E=x._diag[S][0];E&&(p=e._fullLayout[h.id2name(E)])}var C=M.trace.dimensions[S].values;for(o=0;o<C.length;o++)for(k=C[o],T=p._categoriesMap[k],s=0;s<M.trace.dimensions.length;s++)if(s!==S){var P=M.trace.dimensions[s];m[T][1].push(P.values[o])}}else if("scattergl"===_){for(o=0;o<M.t.x.length;o++)"x"===b&&(k=M.t.x[o],T=k,A=M.t.y[o]),"y"===b&&(k=M.t.y[o],T=k,A=M.t.x[o]),m[T][1].push(A);M.t&&M.t._scene&&delete M.t._scene.dirty}else if(M.hasOwnProperty("z")){A=M.z;var O=u(x.type,p,A);for(o=0;o<A.length;o++)for(s=0;s<A[o].length;s++)(T=O(s,o))+1&&m[T][1].push(A[o][s])}else for("x"===b?(k=M.p+1?M.p:M.x,A=M.s||M.v||M.y):"y"===b&&(k=M.p+1?M.p:M.y,A=M.s||M.v||M.x),Array.isArray(A)||(A=[A]),o=0;o<A.length;o++)m[k][1].push(A[o])}}}p._categoriesValue=m;var z=[];for(n=0;n<m.length;n++)z.push([m[n][0],f[g](m[n][1])]);z.sort(function(t,e){return t[1]-e[1]}),p._categoriesAggregatedValue=z,p._initialCategories=z.map(function(t){return t[0]}),"descending"===v&&p._initialCategories.reverse(),c=c.concat(p.sortByInitialCategories())}}}return c}(c,t);if(k.length){for(p._numBoxes=0,p._numViolins=0,a=0;a<k.length;a++)w(k[a],!0);for(a=0;a<k.length;a++)w(k[a],!1);P(t)}i.getComponentMethod("fx","calc")(t),i.getComponentMethod("errorbars","calc")(t)};var L=/(total|sum|min|max|mean|median) (ascending|descending)/;function C(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.clearCalc(),"multicategory"===n.type&&n.setupMultiCategory(e)}}function P(t){var e,r,n,a=t._fullLayout,i=a._visibleModules,o={};for(r=0;r<i.length;r++){var s=i[r],c=s.crossTraceCalc;if(c){var u=s.basePlotModule.name;o[u]?l.pushUnique(o[u],c):o[u]=[c]}}for(n in o){var h=o[n],f=a._subplots[n];if(Array.isArray(f))for(e=0;e<f.length;e++){var p=f[e],d="cartesian"===n?a._plots[p]:a[p];for(r=0;r<h.length;r++)h[r](t,d,p)}else for(r=0;r<h.length;r++)h[r](t)}}m.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},m.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},m.generalUpdatePerTraceModule=function(t,e,r,n){var a,i=e.traceHash,o={};for(a=0;a<r.length;a++){var s=r[a],c=s[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(s))}for(var u in i)if(!o[u]){var h=i[u][0];h[0].trace.visible=!1,o[u]=[h]}for(var f in o){var p=o[f];p[0][0].trace._module.plot(t,e,l.filterVisible(p),n)}e.traceHash=o},m.plotBasePlot=function(t,e,r,n,a){var o=i.getModule(t),s=d(e.calcdata,o)[0];o.plot(e,s,n,a)},m.cleanBasePlot=function(t,e,r,n,a){var i=a._has&&a._has(t),o=r._has&&r._has(t);i&&!o&&a["_"+t+"layer"].selectAll("g.trace").remove()}},{"../components/color":591,"../constants/numerical":692,"../lib":716,"../plot_api/plot_schema":753,"../plot_api/plot_template":754,"../plots/get_data":799,"../registry":845,"./animation_attributes":759,"./attributes":761,"./cartesian/axis_ids":767,"./command":788,"./font_attributes":790,"./frame_attributes":791,"./layout_attributes":816,d3:164,"fast-isnumeric":227}],826:[function(t,e,r){"use strict";e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],827:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../lib/polygon").tester,i=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var a,i,o=n[0],s=n[1],l=h(Math.sin(e)-Math.sin(t)),c=h(Math.cos(e)-Math.cos(t)),u=Math.tan(r),f=h(1/u),p=l/c,d=s-p*o;return f?l&&c?i=u*(a=d/(u-p)):c?(a=s*f,i=s):(a=o,i=o*u):l&&c?(a=0,i=d):c?(a=0,i=s):a=i=NaN,[a,i]}function u(t,e,r,a){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,a=new Array(n+1);for(r=0;r<n;r++){var i=e[r];a[r]=[t*Math.cos(i),t*Math.sin(i)]}return a[r]=a[0].slice(),a}(t,a):function(t,e,r,a){var s,u,h=a.length,f=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,h)}function v(t){return o(t,[e,r])}var m=i(a,function(t){return v(t)?l(t,e):1/0}),y=d(a[m],a[g(m-1)],e);for(f.push(y),s=m,u=0;u<h;s++,u++){var x=a[g(s)];if(!v(x))break;f.push(p(x))}var b=i(a,function(t){return v(t)?l(t,r):1/0}),_=d(a[b],a[g(b+1)],r);return f.push(_),f.push([0,0]),f.push(f[0].slice()),f}(t,e,r,a)}function h(t){return Math.abs(t)>1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,a=new Array(n),i=0;i<n;i++){var o=t[i];a[i]=[e+o[0],r-o[1]]}return a}e.exports={isPtInsidePolygon:function(t,e,r,n,i){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=a(u(s,n[0],n[1],i)),h=a(u(l,n[0],n[1],i)),f=[t*Math.cos(e),t*Math.sin(e)];return h.contains(f)&&!c.contains(f)},findPolygonOffset:function(t,e,r,n){for(var a=1/0,i=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];a=Math.min(a,l[0]),i=Math.min(i,-l[1])}return[a,i]},findEnclosingVertexAngles:function(t,e){var r=i(e,function(e){var r=s(e,t);return r>0?r:1/0}),a=n.mod(r+1,e.length);return[e[r],e[a]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var a=-e*r,i=e*e+1,o=2*(e*a-r),s=a*a+r*r-t*t,l=Math.sqrt(o*o-4*i*s),c=(-o+l)/(2*i),u=(-o-l)/(2*i);return[[c,e*c+a+n],[u,e*u+a+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,a,i){return"M"+f(u(t,e,r,n),a,i).join("L")},pathPolygonAnnulus:function(t,e,r,n,a,i,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=f(u(s,r,n,a),i,o);return"M"+f(u(l,r,n,a),i,o).reverse().join("L")+"M"+c.join("L")}}},{"../../lib":716,"../../lib/polygon":728}],828:[function(t,e,r){"use strict";var n=t("../get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./polar"),o=t("./constants"),s=o.attr,l=o.name,c=a(l),u={};u[s]={valType:"subplotid",dflt:l,editType:"calc"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[l],o=0;o<a.length;o++){var s=a[o],c=n(r,l,s),u=e[s]._subplot;u||(u=i(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var a=n._subplots[l]||[],i=n._has&&n._has("gl"),o=e._has&&e._has("gl"),s=i&&!o,c=0;c<a.length;c++){var u=a[c],h=n[u]._subplot;if(!e[u]&&h)for(var f in h.framework.remove(),h.layers["radial-axis-title"].remove(),h.clipPaths)h.clipPaths[f].remove();s&&h._scene&&(h._scene.destroy(),h._scene=null)}},toSVG:t("../cartesian").toSVG}},{"../../lib":716,"../cartesian":775,"../get_data":799,"./constants":826,"./layout_attributes":829,"./layout_defaults":830,"./polar":837}],829:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../cartesian/layout_attributes"),i=t("../domain").attributes,o=t("../../lib").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=s({color:a.color,showline:o({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:o({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth},"plot","from-root"),c=s({tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,layer:a.layer},"plot","from-root"),u={visible:o({},a.visible,{dflt:!0}),type:o({},a.type,{values:["-","linear","log","date","category"]}),autorange:o({},a.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:o({},a.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:a.categoryorder,categoryarray:a.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:o({},a.title.text,{editType:"plot",dflt:""}),font:o({},a.title.font,{editType:"plot"}),editType:"plot"},hoverformat:a.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}};o(u,l,c);var h={visible:o({},a.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},categoryorder:a.categoryorder,categoryarray:a.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:a.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};o(h,l,c),e.exports={domain:i({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:n.background},radialaxis:u,angularaxis:h,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}},{"../../components/color/attributes":590,"../../lib":716,"../../plot_api/edit_types":747,"../cartesian/layout_attributes":776,"../domain":789}],830:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../plot_api/plot_template"),o=t("../subplot_defaults"),s=t("../get_data").getSubplotData,l=t("../cartesian/tick_value_defaults"),c=t("../cartesian/tick_mark_defaults"),u=t("../cartesian/tick_label_defaults"),h=t("../cartesian/category_order_defaults"),f=t("../cartesian/line_grid_defaults"),p=t("../cartesian/axis_autotype"),d=t("./layout_attributes"),g=t("./set_convert"),v=t("./constants"),m=v.axisNames;function y(t,e,r,o){var p=r("bgcolor");o.bgColor=a.combine(p,o.paper_bgcolor);var y=r("sector");r("hole");var b,_=s(o.fullData,v.name,o.id),w=o.layoutOut;function k(t,e){return r(b+"."+t,e)}for(var T=0;T<m.length;T++){b=m[T],n.isPlainObject(t[b])||(t[b]={});var A=t[b],M=i.newContainer(e,b);M._id=M._name=b,M._attr=o.id+"."+b,M._traceIndices=_.map(function(t){return t._expandedIndex});var S=v.axisName2dataArray[b],E=x(A,M,k,_,S);h(A,M,k,{axData:_,dataAttr:S});var L,C,P=k("visible");switch(g(M,e,w),k("uirevision",e.uirevision),P&&(C=(L=k("color"))===A.color?L:o.font.color),M._m=1,b){case"radialaxis":var O=k("autorange",!M.isValidRange(A.range));A.autorange=O,!O||"linear"!==E&&"-"!==E||k("rangemode"),"reversed"===O&&(M._m=-1),k("range"),M.cleanRange("range",{dfltRange:[0,1]}),P&&(k("side"),k("angle",y[0]),k("title.text"),n.coerceFont(k,"title.font",{family:o.font.family,size:Math.round(1.2*o.font.size),color:C}));break;case"angularaxis":if("date"===E){n.log("Polar plots do not support date angular axes yet.");for(var z=0;z<_.length;z++)_[z].visible=!1;E=A.type=M.type="linear"}k("linear"===E?"thetaunit":"period");var I=k("direction");k("rotation",{counterclockwise:0,clockwise:90}[I])}if(P)l(A,M,k,M.type),u(A,M,k,M.type,{tickSuffixDflt:"degrees"===M.thetaunit?"\xb0":void 0}),c(A,M,k,{outerTicks:!0}),k("showticklabels")&&(n.coerceFont(k,"tickfont",{family:o.font.family,size:o.font.size,color:C}),k("tickangle"),k("tickformat")),f(A,M,k,{dfltColor:L,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:d[b]}),k("layer");"category"!==E&&k("hoverformat"),M._input=A}"category"===e.angularaxis.type&&r("gridshape")}function x(t,e,r,n,a){if("-"===r("type")){for(var i,o=0;o<n.length;o++)if(n[o].visible){i=n[o];break}i&&i[a]&&(e.type=p(i[a],"gregorian")),"-"===e.type?e.type="linear":t.type=e.type}return e.type}e.exports=function(t,e,r){o(t,e,r,{type:v.name,attributes:d,handleDefaults:y,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../cartesian/axis_autotype":765,"../cartesian/category_order_defaults":768,"../cartesian/line_grid_defaults":778,"../cartesian/tick_label_defaults":783,"../cartesian/tick_mark_defaults":784,"../cartesian/tick_value_defaults":785,"../get_data":799,"../subplot_defaults":839,"./constants":826,"./layout_attributes":829,"./set_convert":838}],831:[function(t,e,r){"use strict";var n=t("../../../traces/scatter/attributes"),a=n.marker,i=t("../../../lib/extend").extendFlat;["Area traces are deprecated!","Please switch to the *barpolar* trace type."].join(" ");e.exports={r:i({},n.r,{}),t:i({},n.t,{}),marker:{color:i({},a.color,{}),size:i({},a.size,{}),symbol:i({},a.symbol,{}),opacity:i({},a.opacity,{}),editType:"calc"}}},{"../../../lib/extend":707,"../../../traces/scatter/attributes":1118}],832:[function(t,e,r){"use strict";var n=t("../../cartesian/layout_attributes"),a=t("../../../lib/extend").extendFlat,i=t("../../../plot_api/edit_types").overrideAll,o=["Legacy polar charts are deprecated!","Please switch to *polar* subplots."].join(" "),s=a({},n.domain,{});function l(t,e){return a({},e,{showline:{valType:"boolean"},showticklabels:{valType:"boolean"},tickorientation:{valType:"enumerated",values:["horizontal","vertical"]},ticklen:{valType:"number",min:0},tickcolor:{valType:"color"},ticksuffix:{valType:"string"},endpadding:{valType:"number",description:o},visible:{valType:"boolean"}})}e.exports=i({radialaxis:l(0,{range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},domain:s,orientation:{valType:"number"}}),angularaxis:l(0,{range:{valType:"info_array",items:[{valType:"number",dflt:0},{valType:"number",dflt:360}]},domain:s}),layout:{direction:{valType:"enumerated",values:["clockwise","counterclockwise"]},orientation:{valType:"angle"}}},"plot","nested")},{"../../../lib/extend":707,"../../../plot_api/edit_types":747,"../../cartesian/layout_attributes":776}],833:[function(t,e,r){"use strict";(e.exports=t("./micropolar")).manager=t("./micropolar_manager")},{"./micropolar":834,"./micropolar_manager":835}],834:[function(t,e,r){var n=t("d3"),a=t("../../../lib").extendDeepAll,i=t("../../../constants/alignment").MID_SHIFT,o=e.exports={version:"0.2.2"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},h=n.dispatch("hover"),f={};return f.render=function(c){return function(c){e=c||e;var h=l.data,f=l.layout;("string"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(h).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(f)};var h=0;c.forEach(function(t,e){t.color||(t.color=f.defaultColorRange[h],h=(h+1)%f.defaultColorRange.length),t.strokeColor||(t.strokeColor="LinePlot"===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return"undefined"==typeof r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||"undefined"!=typeof t.groupId,t});if(d){var v=n.nest().key(function(t,e){return"undefined"!=typeof t.groupId?t.groupId:"unstacked"}).entries(g),m=[],y=v.map(function(t,e){if("unstacked"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],m.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(f.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2;x=Math.max(10,x);var b,_=[f.margin.left+x,f.margin.top+x];b=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(m)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),f.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(f.radialAxis.domain!=o.DATAEXTENT&&f.radialAxis.domain?f.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,k=o.util.flattenArray(p.map(function(t,e){return t.t})),T="string"==typeof k[0];T&&(k=o.util.deduplicate(k),w=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],d&&(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return"LinePlot"===t.geometry||"DotPlot"===t.geometry}).length===p.length,M=null===f.needsEndSpacing?T||!A:f.needsEndSpacing,S=f.angularAxis.domain&&f.angularAxis.domain!=o.DATAEXTENT&&!T&&f.angularAxis.domain[0]>=0?f.angularAxis.domain:n.extent(k),E=Math.abs(k[1]-k[0]);A&&!T&&(E=0);var L=S.slice();M&&T&&(L[1]+=E);var C=f.angularAxis.ticksCount||4;C>8&&(C=C/(C/8)+C%8),f.angularAxis.ticksStep&&(C=(L[1]-L[0])/C);var P=f.angularAxis.ticksStep||(L[1]-L[0])/(C*(f.minorTicks+1));w&&(P=Math.max(Math.round(P),1)),L[2]||(L[2]=P);var O=n.range.apply(this,L);if(O=O.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range("clockwise"===f.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=M?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var z=(new DOMParser).parseFromString("<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>","application/xml"),I=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(I)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),F={fill:"none",stroke:f.tickColor},B={"font-size":f.font.size,"font-family":f.font.family,fill:f.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+f.font.outlineColor}).join(",")};if(f.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,f.margin.top]+")"}).style({display:"block"});var N=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||"Element"+e}),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:f.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(f.width-j.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),_=[f.margin.left+x,f.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var V=[(f.width-(f.margin.left+f.margin.right+2*x+(j?j.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(".outer-group").attr("transform","translate("+V+")"),f.title&&f.title.text){var U=t.select("g.title-group text").style(B).text(f.title.text),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(f.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(F),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(F);var Y=t.select("circle.background-circle").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});function W(t,e){return s(t)%360+f.orientation}if(f.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:"rotate("+f.radialAxis.orientation+")"}),H.selectAll(".domain").style(F),H.selectAll("g>text").text(function(t,e){return this.textContent+f.radialAxis.ticksSuffix}).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===f.radialAxis.tickOrientation?"rotate("+-f.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(O),J=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:f.angularAxis.visible?"block":"none"}),Z.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(f.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(f.minorTicks+1)==0)}).style(F),J.selectAll(".minor").style({stroke:f.minorTickColor}),Z.select("line.grid-line").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(B);var K=Z.select("text.axis-text").attr({x:x+f.labelOffset,dy:i+"em",transform:function(t,e){var r=W(t),n=x+f.labelOffset,a=f.angularAxis.tickOrientation;return"horizontal"==a?"rotate("+-r+" "+n+" 0)":"radial"==a?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:f.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(f.minorTicks+1)!=0?"":w?w[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix}).style(B);f.angularAxis.rewriteTicks&&K.text(function(t,e){return e%(f.minorTicks+1)!=0?"":f.angularAxis.rewriteTicks(this.textContent,e)});var Q=n.max(R.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));D.attr({transform:"translate("+[x+Q,f.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=f.orientation,n.direction=f.direction,n.index=e,et.push({data:t,geometryConfig:n})});var rt=n.nest().key(function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"}).entries(et),nt=[];rt.forEach(function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return a(o[r].defaultConfig(),t)});o[r]().config(n)()})}var at,it,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!T){var ht=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(Y).angle;ht.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=s.invert(n);var a=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(at)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.angular-guide",function(t,e){ot.select("line").style({opacity:0})})}var ft=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(Y).radius;ft.attr({r:n}).style({opacity:.5}),it=r.invert(o.util.getMousePos(Y).radius);var a=o.util.convertToCartesian(n,f.radialAxis.orientation);ct.text(o.util.round(it)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.radial-guide",function(t,e){ft.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var a=n.select(this),i=this.style.fill,s="black",l=this.style.opacity||1;if(a.attr({"data-opacity":l}),i&&"none"!==i){a.attr({"data-fill":i}),s=n.hsl(i).darker().toString(),a.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};T&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,h=this.getBoundingClientRect(),f=t.node().getBoundingClientRect(),p=[h.left+h.width/2-V[0]-f.left,h.top+h.height/2-V[1]-f.top];ut.config({color:s}).text(u),ut.move(p)}else i=this.style.stroke||"black",a.attr({"data-stroke":i}),s=n.hsl(i).darker().toString(),a.style({stroke:s,opacity:1})}).on("mousemove.tooltip",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()}).on("mouseout.tooltip",function(t,e){ut.hide();var r=n.select(this),a=r.attr("data-fill");a?r.style({fill:a,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)}),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return u},f.getinputConfig=function(){return c},f.radialScale=function(t){return r},f.angularScale=function(t){return s},f.svg=function(){return t},n.rebind(f,h,"on"),f},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var a=e||6,i=[],o=[];n.range(0,360+a,a).forEach(function(e,r){var n=e*Math.PI/180,a=t(n);i.push(e),o.push(a)});var s={t:i,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],a=e[1],i={};return i.x=r,i.y=a,i.pos=e,i.angle=180*(Math.atan2(a,r)+Math.PI)/Math.PI,i.radius=Math.sqrt(r*r+a*a),i},o.util.duplicatesCount=function(t){for(var e,r={},n={},a=0,i=t.length;a<i;a++)(e=t[a])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var a=r.slice();r=e,e=a}var i=e.reduce(function(t,e){if("undefined"!=typeof t)return t[e]},t);"undefined"!=typeof i&&(e.reduce(function(t,r,n){if("undefined"!=typeof t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return"undefined"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=i),t[e]},t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch("hover"),r={solid:"none",dash:[5,2],dot:[2,5]};function i(){var e=t[0].geometryConfig,a=e.container;"string"==typeof a&&(a=n.select(a)),a.datum(t).each(function(t,a){var i=!!t[0].data.yStack,o=t.map(function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,a,i){var o=t[i].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:"mark bar",d:"M"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join("L")+"Z",transform:function(t,r){return"rotate("+(e.orientation+s(t[0]))+")"}})}};c.dot=function(r,a,i){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[i].data.dotSize).type(t[i].data.dotType)(r,a);n.select(this).attr({class:"mark dot",d:s,transform:function(t,r){var n,a,i,s=(n=function(t,r){var n=e.radialScale(t[1]),a=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:a}}(o),a=n.r*Math.cos(n.t),i=n.r*Math.sin(n.t),{x:a,y:i});return"translate("+[s.x,s.y]+")"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return e.radialScale(t[1])}).angle(function(t){return e.angularScale(t[0])*Math.PI/180});c.line=function(r,a,i){var s=r[2]?o[i].map(function(t,e){return[t[0],t[1]+t[2]]}):o[i];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[i].data.dotVisible},fill:d.stroke(r,a,i)}).attr({class:"mark dot"}),!(a>0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,a,i)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,a,i)},"stroke-width":function(t,e){return d["stroke-width"](r,a,i)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,a,i)},opacity:function(t,e){return d.opacity(r,a,i)},display:function(t,e){return d.display(r,a,i)}})}};var h=e.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,a){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,a){return r[t[a].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var v=g.selectAll("path.mark").data(function(t,e){return t});v.enter().append("path").attr({class:"mark"}),v.style(d).each(c[e.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),a(t[r],o.PolyChart.defaultConfig()),a(t[r],e)}),this):t},i.getColorScale=function(){},n.rebind(i,e,"on"),i},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,i=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var i=a({},e.elements[r]);return i.name=t,i.color=[].concat(e.elements[r].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,h=u?e.height:c*o.length,f=s.classed("legend-group",!0).selectAll("svg").data([0]),p=f.enter().append("svg").attr({width:300,height:h+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),v=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,h]);if(u){var m=f.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);m.enter().append("stop"),m.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),f.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=f.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,v(e)+c/2]+")"},d:function(t,e){var r,a,i,o=t.symbol;return i=3*(a=c),"line"===(r=o)?"M"+[[-a/2,-a/12],[a/2,-a/12],[a/2,a/12],[-a/2,a/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(i)():n.svg.symbol().type("square").size(i)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(v).orient("right"),b=f.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(a(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=i.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:i.padding+l,dy:.3*+i.fontSize}),c};return c.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",h=a||"";e.style({fill:u,"font-size":i.fontSize+"px"}).text(h);var f=i.padding,p=e.node().getBBox(),d={fill:i.color,stroke:s,"stroke-width":"2px"},g=p.width+2*f+l,v=p.height+2*f;return r.attr({d:"M"+[[l,-v/2],[l,-v/4],[i.hasTick?0:l,0],[l,v/4],[l,v/2],[g,v/2],[g,-v/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-v/2+2*f]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return a(i,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=a({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n}),!e&&t.layout&&"stack"===t.layout.barmode)){var i=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=i.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=a({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":685,"../../../lib":716,d3:164}],835:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../../lib"),i=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=a.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,a,i,u,h=new s;function f(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,a||(a=o.Axis()),i=o.adapter.plotly().convert(e),a.config(i).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return f.isPolar=!0,f.svg=function(){return a.svg()},f.getConfig=function(){return e},f.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},f.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},f.setUndoPoint=function(){var t,n,a=this,i=o.util.cloneJson(e);t=i,n=r,h.add({undo:function(){n&&a(n)},redo:function(){a(t)}}),r=o.util.cloneJson(i)},f.undo=function(){h.undo()},f.redo=function(){h.redo()},f},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),a=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:i.background,_container:e,_paperdiv:r,_paper:a};t._fullLayout=l(o,t.layout)}},{"../../../components/color":591,"../../../lib":716,"./micropolar":834,"./undo_manager":836,d3:164}],836:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function a(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(a(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(a(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],837:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../plots"),u=t("../../plots/cartesian/axes"),h=t("../cartesian/set_convert"),f=t("./set_convert"),p=t("../cartesian/autorange").doAutoRange,d=t("../cartesian/dragbox"),g=t("../../components/dragelement"),v=t("../../components/fx"),m=t("../../components/titles"),y=t("../cartesian/select").prepSelect,x=t("../cartesian/select").selectOnClick,b=t("../cartesian/select").clearSelect,_=t("../../lib/setcursor"),w=t("../../lib/clear_gl_canvases"),k=t("../../plot_api/subroutines").redrawReglTraces,T=t("../../constants/alignment").MID_SHIFT,A=t("./constants"),M=t("./helpers"),S=o._,E=o.mod,L=o.deg2rad,C=o.rad2deg;function P(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n="clip"+r._uid+e;this.clipIds.forTraces=n+"-for-traces",this.clipPaths.forTraces=r._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=r._polarlayer.append("g").attr("class",e),this.radialTickLayout=null,this.angularTickLayout=null}var O=P.prototype;function z(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return"side"in t&&(e+=t.side),e}function I(t,e){return e[o.findIndexOfMin(e,function(e){return o.angleDist(t,e)})]}function D(t,e,r){return e?(t.attr("display",null),t.attr(r)):t&&t.attr("display","none"),t}function R(t,e){return"translate("+t+","+e+")"}function F(t){return"rotate("+t+")"}e.exports=function(t,e){return new P(t,e)},O.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),c.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},O.updateLayers=function(t,e){var r=this.layers,a=e.radialaxis,i=e.angularaxis,o=A.layerNames,s=o.indexOf("frontplot"),l=o.slice(0,s),c="below traces"===i.layer,u="below traces"===a.layer;c&&l.push("angular-line"),u&&l.push("radial-line"),c&&l.push("angular-axis"),u&&l.push("radial-axis"),l.push("frontplot"),c||l.push("angular-line"),u||l.push("radial-line"),c||l.push("angular-axis"),u||l.push("radial-axis");var h=this.framework.selectAll(".polarsublayer").data(l,String);h.enter().append("g").attr("class",function(t){return"polarsublayer "+t}).each(function(t){var e=r[t]=n.select(this);switch(t){case"frontplot":e.append("g").classed("barlayer",!0),e.append("g").classed("scatterlayer",!0);break;case"backplot":e.append("g").classed("maplayer",!0);break;case"plotbg":r.bg=e.append("path");break;case"radial-grid":case"angular-grid":e.style("fill","none");break;case"radial-line":e.append("line").style("fill","none");break;case"angular-line":e.append("path").style("fill","none")}}),h.order()},O.updateLayout=function(t,e){var r=this.layers,n=t._size,a=e.radialaxis,i=e.angularaxis,o=e.domain.x,c=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-c[1]);var u=this.xLength=n.w*(o[1]-o[0]),h=this.yLength=n.h*(c[1]-c[0]),f=e.sector;this.sectorInRad=f.map(L);var p,d,g,v,m,y=this.sectorBBox=function(t){var e,r,n,a,i=t[0],o=t[1]-i,s=E(i,360),l=s+o,c=Math.cos(L(s)),u=Math.sin(L(s)),h=Math.cos(L(l)),f=Math.sin(L(l));a=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&f<=0?0:Math.max(u,f);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&h>=0?0:Math.min(c,h);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&f>=0?0:Math.min(u,f);n=l>=360?1:c<=0&&h<=0?0:Math.max(c,h);return[e,r,n,a]}(f),x=y[2]-y[0],b=y[3]-y[1],_=h/u,w=Math.abs(b/x);_>w?(p=u,m=(h-(d=u*w))/n.h/2,g=[o[0],o[1]],v=[c[0]+m,c[1]-m]):(d=h,m=(u-(p=h/w))/n.w/2,g=[o[0]+m,o[1]-m],v=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=v;var k=this.xOffset2=n.l+n.w*g[0],T=this.yOffset2=n.t+n.h*(1-v[1]),A=this.radius=p/x,M=this.innerRadius=e.hole*A,S=this.cx=k-A*y[0],C=this.cy=T+A*y[3],P=this.cxx=S-k,O=this.cyy=C-T;this.radialAxis=this.mockAxis(t,e,a,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[a.side],domain:[M/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,i,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:v});var z=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",z).attr("transform",R(P,O)),r.frontplot.attr("transform",R(k,T)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",z).attr("transform",R(S,C)).call(s.fill,e.bgcolor)},O.mockAxis=function(t,e,r,n){var a=o.extendFlat({},r,n);return f(a,e,t),a},O.mockCartesianAxis=function(t,e,r){var n=this,a=r._id,i=o.extendFlat({type:"linear"},r);h(i,t);var s={x:[0,2],y:[1,3]};return i.setRange=function(){var t=n.sectorBBox,r=s[a],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);i.range=[t[r[0]]*l,t[r[1]]*l]},i.isPtWithinRange="x"===a?function(t){return n.isPtInside(t)}:function(){return!0},i.setRange(),i.setScale(),i},O.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,a=e.radialaxis;n.setScale(),p(r,n);var i=n.range;a.range=i.slice(),a._input.range=i.slice(),n._rl=[n.r2l(i[0],null,"gregorian"),n.r2l(i[1],null,"gregorian")]},O.updateRadialAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.radialaxis,p=E(e.sector[0],360),d=r.radialAxis,g=l<i;r.fillViewInitialKey("radialaxis.angle",f.angle),r.fillViewInitialKey("radialaxis.range",d.range.slice()),d.setGeometry(),"auto"===d.tickangle&&p>90&&p<=270&&(d.tickangle=180);var v=function(t){return"translate("+(d.l2p(t.x)+l)+",0)"},m=z(f);if(r.radialTickLayout!==m&&(a["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=m),g){d.setScale();var y=u.calcTicks(d),x=u.clipEnds(d,y),b=u.getTickSigns(d)[2];u.drawTicks(n,d,{vals:y,layer:a["radial-axis"],path:u.makeTickPath(d,0,b),transFn:v,crisp:!1}),u.drawGrid(n,d,{vals:x,layer:a["radial-grid"],path:function(t){return r.pathArc(d.r2p(t.x)+l)},transFn:o.noop,crisp:!1}),u.drawLabels(n,d,{vals:y,layer:a["radial-axis"],transFn:v,labelFns:u.makeLabelFns(d,0)})}var _=r.radialAxisAngle=r.vangles?C(I(L(f.angle),r.vangles)):f.angle,w=R(c,h),k=w+F(-_);D(a["radial-axis"],g&&(f.showticklabels||f.ticks),{transform:k}),D(a["radial-grid"],g&&f.showgrid,{transform:w}),D(a["radial-line"].select("line"),g&&f.showline,{x1:l,y1:0,x2:i,y2:0,transform:k}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateRadialAxisTitle=function(t,e,r){var n=this.gd,a=this.radius,i=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:this.radialAxisAngle,h=L(u),f=Math.cos(h),p=Math.sin(h),d=0;if(s.title){var g=l.bBox(this.layers["radial-axis"].node()).height,v=s.title.font.size;d="counterclockwise"===s.side?-g-.4*v:g+.8*v}this.layers["radial-axis-title"]=m.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:S(n,"Click to enter radial axis title"),attributes:{x:i+a/2*f+d*p,y:o-a/2*p+d*f,"text-anchor":"middle"},transform:{rotate:-u}})},O.updateAngularAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.angularaxis,p=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",f.rotation),p.setGeometry(),p.setScale();var d=function(t){return p.t2g(t.x)};"linear"===p.type&&"radians"===p.thetaunit&&(p.tick0=C(p.tick0),p.dtick=C(p.dtick));var g=function(t){return R(c+i*Math.cos(t),h-i*Math.sin(t))},v=u.makeLabelFns(p,0).labelStandoff,m={xFn:function(t){var e=d(t);return Math.cos(e)*v},yFn:function(t){var e=d(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(v+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*T)},anchorFn:function(t){var e=d(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=d(t);return-.5*(1+Math.sin(n))*r}},y=z(f);r.angularTickLayout!==y&&(a["angular-axis"].selectAll("."+p._id+"tick").remove(),r.angularTickLayout=y);var x,b=u.calcTicks(p);if("linear"===e.gridshape?(x=b.map(d),o.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,"category"===p.type&&(b=b.filter(function(t){return o.isAngleInsideSector(d(t),r.sectorInRad)})),p.visible){var _="inside"===p.ticks?-1:1,w=(p.linewidth||1)/2;u.drawTicks(n,p,{vals:b,layer:a["angular-axis"],path:"M"+_*w+",0h"+_*p.ticklen,transFn:function(t){var e=d(t);return g(e)+F(-C(e))},crisp:!1}),u.drawGrid(n,p,{vals:b,layer:a["angular-grid"],path:function(t){var e=d(t),r=Math.cos(e),n=Math.sin(e);return"M"+[c+l*r,h-l*n]+"L"+[c+i*r,h-i*n]},transFn:o.noop,crisp:!1}),u.drawLabels(n,p,{vals:b,layer:a["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return g(d(t))},labelFns:m})}D(a["angular-line"].select("path"),f.showline,{d:r.pathSubplot(),transform:R(c,h)}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},O.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=A.MINZOOM,c=A.OFFEDGE,u=e.radius,h=e.innerRadius,f=e.cx,p=e.cy,m=e.cxx,_=e.cyy,w=e.sectorInRad,k=e.vangles,T=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,L=M.findEnclosingVertexAngles,C=A.cornerHalfWidth,P=A.cornerLen/2,O=d.makeDragger(o,"path","maindrag","crosshair");n.select(O).attr("d",e.pathSubplot()).attr("transform",R(f,p));var z,I,D,F,B,N,j,V,U,q={element:O,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-m,e-_)}function Y(t,e){return Math.atan2(_-e,t-m)}function W(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*C);var n=P/t,a=r-n,i=r+n,o=Math.max(0,Math.min(t,u)),s=o-C,l=o+C;return"M"+W(s,a)+"A"+[s,s]+" 0,0,0 "+W(s,i)+"L"+W(l,i)+"A"+[l,l]+" 0,0,1 "+W(l,a)+"Z"}function Z(t,r,n){if(0===t)return e.pathSector(2*C);var a,i,o=W(t,r),s=W(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,h=-1/u,f=E(C,u,l,c);a=E(P,h,f[0][0],f[0][1]),i=E(P,h,f[1][0],f[1][1])}else{var p,d;c?(p=P,d=C):(p=C,d=P),a=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+a.join("L")+"L"+i.reverse().join("L")+"Z"}function J(t,e){return e=Math.max(Math.min(e,u),h),t<c?t=0:u-t<c?t=u:e<c?e=0:u-e<c&&(e=u),Math.abs(e-t)>l?(t<e?(D=t,F=e):(D=e,F=t),!0):(D=null,F=null,!1)}function K(t,e){t=t||B,e=e||"M0,0Z",V.attr("d",t),U.attr("d",e),d.transitionZoombox(V,U,N,j),N=!0;var n={};rt(n),r.emit("plotly_relayouting",n)}function Q(t,r){var n,a,i=z+t,o=I+r,s=G(z,I),l=Math.min(G(i,o),u),c=Y(z,I);J(s,l)&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=X(D,c)+X(F,c)),K(n,a)}function $(t,e,r,n){var a=M.findIntersectionXY(r,n,r,[t-m,_-e]);return H(a[0],a[1])}function tt(t,r){var n,a,i=z+t,o=I+r,s=Y(z,I),l=Y(i,o),c=L(s,k),h=L(l,k);J($(z,I,c[0],c[1]),Math.min($(i,o,h[0],h[1]),u))&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=[Z(D,c[0],c[1]),Z(F,c[0],c[1])].join(" ")),K(n,a)}function et(){if(d.removeZoombox(r),null!==D&&null!==F){var t={};rt(t),d.showDoubleClickNotifier(r),i.call("_guiRelayout",r,t)}}function rt(t){var r=T._rl,n=(r[1]-r[0])/(1-h/u)/u,a=[r[0]+(D-h)*n,r[0]+(F-h)*n];t[e.id+".radialaxis.range"]=a}function nt(t,n){var a=r._fullLayout.clickmode;if(d.removeZoombox(r),2===t){var o={};for(var s in e.viewInitial)o[e.id+"."+s]=e.viewInitial[s];r.emit("plotly_doubleclick",null),i.call("_guiRelayout",r,o)}a.indexOf("select")>-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),a.indexOf("event")>-1&&v.click(r,n,e.id)}q.prepFn=function(t,n,i){var o=r._fullLayout.dragmode,l=O.getBoundingClientRect();if(z=n-l.left,I=i-l.top,k){var c=M.findPolygonOffset(u,w[0],w[1],k);z+=m+c[0],I+=_+c[1]}switch(o){case"zoom":q.moveFn=k?tt:Q,q.clickFn=nt,q.doneFn=et,function(){D=null,F=null,B=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=a(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,f,p,B)).attr("fill-rule","evenodd"),U=d.makeCorners(s,f,p),b(r)}();break;case"select":case"lasso":y(t,n,i,q,o)}},O.onmousemove=function(t){v.hover(r,t,e.id),r._fullLayout._lasthover=O,r._fullLayout._hoversubplot=e.id},O.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},O.updateRadialDrag=function(t,e,r){var a=this,s=a.gd,l=a.layers,c=a.radius,u=a.innerRadius,h=a.cx,f=a.cy,p=a.radialAxis,v=A.radialDragBoxSize,m=v/2;if(p.visible){var y,x,_,T=L(a.radialAxisAngle),M=p._rl,S=M[0],E=M[1],P=M[r],O=.75*(M[1]-M[0])/(1-e.hole)/c;r?(y=h+(c+m)*Math.cos(T),x=f-(c+m)*Math.sin(T),_="radialdrag"):(y=h+(u-m)*Math.cos(T),x=f-(u-m)*Math.sin(T),_="radialdrag-inner");var z,B,N,j=d.makeRectDragger(l,_,"crosshair",-m,-m,v,v),V={element:j,gd:s};D(n.select(j),p.visible&&u<c,{transform:R(y,x)}),V.prepFn=function(){z=null,B=null,N=null,V.moveFn=U,V.doneFn=q,b(s)},V.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<A.MINDRAG&&(t=0,e=0),[t,e]},g.init(V)}function U(t,e){if(z)z(t,e);else{var n=[t,-e],i=[Math.cos(T),Math.sin(T)],l=Math.abs(o.dot(n,i)/Math.sqrt(o.dot(n,n)));isNaN(l)||(z=l<.5?H:G)}var c={};!function(t){null!==B?t[a.id+".radialaxis.angle"]=B:null!==N&&(t[a.id+".radialaxis.range["+r+"]"]=N)}(c),s.emit("plotly_relayouting",c)}function q(){null!==B?i.call("_guiRelayout",s,a.id+".radialaxis.angle",B):null!==N&&i.call("_guiRelayout",s,a.id+".radialaxis.range["+r+"]",N)}function H(t,e){if(0!==r){var n=y+t,i=x+e;B=Math.atan2(f-i,n-h),a.vangles&&(B=I(B,a.vangles)),B=C(B);var o=R(h,f)+F(-B);l["radial-axis"].attr("transform",o),l["radial-line"].select("line").attr("transform",o);var s=a.gd._fullLayout,c=s[a.id];a.updateRadialAxisTitle(s,c,B)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(T),Math.sin(T)]);if(N=P-O*n,O>0==(r?N>S:N<E)){var l=s._fullLayout,c=l[a.id];p.range[r]=N,p._rl[r]=N,a.updateRadialAxis(l,c),a.xaxis.setRange(),a.xaxis.setScale(),a.yaxis.setRange(),a.yaxis.setScale();var u=!1;for(var h in a.traceHash){var f=a.traceHash[h],d=o.filterVisible(f);f[0][0].trace._module.plot(s,a,d,c),i.traceIs(h,"gl")&&d.length&&(u=!0)}u&&(w(s),k(s))}else N=null}},O.updateAngularDrag=function(t){var e=this,r=e.gd,a=e.layers,s=e.radius,c=e.angularAxis,u=e.cx,h=e.cy,f=e.cxx,p=e.cyy,v=A.angularDragBoxSize,m=d.makeDragger(a,"path","angulardrag","move"),y={element:m,gd:r};function x(t,e){return Math.atan2(p+v-e,t-f-v)}n.select(m).attr("d",e.pathAnnulus(s,s+v)).attr("transform",R(u,h)).call(_,"move");var T,M,S,E,L,P,O=a.frontplot.select(".scatterlayer").selectAll(".trace"),z=O.selectAll(".point"),I=O.selectAll(".textpoint");function D(t,s){var d=e.gd._fullLayout,g=d[e.id],v=x(T+t,M+s),m=C(v-P);if(E=S+m,a.frontplot.attr("transform",R(e.xOffset2,e.yOffset2)+F([-m,f,p])),e.vangles){L=e.radialAxisAngle+m;var y=R(u,h)+F(-m),b=R(u,h)+F(-L);a.bg.attr("transform",y),a["radial-grid"].attr("transform",y),a["radial-axis"].attr("transform",b),a["radial-line"].select("line").attr("transform",b),e.updateRadialAxisTitle(d,g,L)}else e.clipPaths.forTraces.select("path").attr("transform",R(f,p)+F(m));z.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr("transform",R(e.x,e.y)+F([m]))}),I.each(function(){var t=n.select(this),e=t.select("text"),r=l.getTranslate(t);t.attr("transform",F([m,e.attr("x"),e.attr("y")])+R(r.x,r.y))}),c.rotation=o.modHalf(E,360),e.updateAngularAxis(d,g),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&O.call(l.hideOutsideRangePoints,e);var _=!1;for(var A in e.traceHash)if(i.traceIs(A,"gl")){var D=e.traceHash[A],N=o.filterVisible(D);D[0][0].trace._module.plot(r,e,N,g),N.length&&(_=!0)}_&&(w(r),k(r));var j={};B(j),r.emit("plotly_relayouting",j)}function B(t){t[e.id+".angularaxis.rotation"]=E,e.vangles&&(t[e.id+".radialaxis.angle"]=L)}function N(){I.select("text").attr("transform",null);var t={};B(t),i.call("_guiRelayout",r,t)}y.prepFn=function(n,a,i){var o=t[e.id];S=o.angularaxis.rotation;var s=m.getBoundingClientRect();T=a-s.left,M=i-s.top,P=x(T,M),y.moveFn=D,y.doneFn=N,b(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(y.prepFn=o.noop,_(n.select(m),null)),g.init(y)},O.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),a=this.radialAxis,i=a.c2l(t.r),s=a._rl;return(r?M.isPtInsidePolygon:o.isPtInsideSector)(i,n,s,e,r)},O.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathArc)(t,e[0],e[1],r)},O.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathSector)(t,e[0],e[1],r)},O.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?M.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},O.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},O.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../components/titles":678,"../../constants/alignment":685,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/setcursor":736,"../../plot_api/subroutines":755,"../../plots/cartesian/axes":764,"../../registry":845,"../cartesian/autorange":763,"../cartesian/dragbox":772,"../cartesian/select":781,"../cartesian/set_convert":782,"../plots":825,"./constants":826,"./helpers":827,"./set_convert":838,d3:164,tinycolor2:535}],838:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../cartesian/set_convert"),i=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(a(t,r),t._id){case"x":case"radialaxis":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],a=r.innerRadius,i=(r.radius-a)/(n-e),o=a/i,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*i},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var a=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?i(t):t}(a(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,a){var i,o,s=e[a],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(i=new Array(l),o=0;o<l;o++)i[o]=c(s[o])}else{var u=a+"0",h="d"+a,f=u in e?c(e[u]):0,p=e[h]?c(e[h]):(t.period||2*Math.PI)/l;for(i=new Array(l),o=0;o<l;o++)i[o]=f+o*p}return i},t.setGeometry=function(){var a,s,l,c,u=e.sector,h=u.map(i),f={clockwise:-1,counterclockwise:1}[t.direction],p=i(t.rotation),d=function(t){return f*t+p},g=function(t){return(t-p)/f};switch(r){case"linear":s=a=n.identity,c=i,l=o,t.range=n.isFullCircle(h)?[u[0],u[0]+360]:h.map(g).map(o);break;case"category":var v=t._categories.length,m=t.period?Math.max(t.period,v):v;0===m&&(m=1),s=c=function(t){return 2*t*Math.PI/m},a=l=function(t){return t*m/Math.PI/2},t.range=[0,m]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return a(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{"../../lib":716,"../cartesian/set_convert":782}],839:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_template"),i=t("./domain").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,f=o.partition||"x",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\d+$/,"");function v(t,e){return n.coerce(s,l,u,t,e)}for(var m=0;m<d;m++){var y=p[m];s=t[y]?t[y]:t[y]={},l=a.newContainer(e,y,g),v("uirevision",e.uirevision);var x={};x[f]=[m/d,(m+1)/d],i(l,e,v,x),o.id=y,h(s,l,v,o)}}},{"../lib":716,"../plot_api/plot_template":754,"./domain":789}],840:[function(t,e,r){"use strict";['Variables are inserted using %{variable}, for example "y: %{y}".','Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".',t("../constants/docs").FORMAT_LINK,"for details on the formatting syntax.",'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".',t("../constants/docs").DATE_FORMAT_LINK,"for details on the date formatting syntax."].join(" ");function n(t){var e=t.description?" "+t.description:"",r=t.keys||[];if(r.length>0){for(var n=[],a=0;a<r.length;a++)n[a]="`"+r[a]+"`";e+="Finally, the template string has access to ",e=1===r.length?"variable "+n[0]:"variables "+n.slice(0,-1).join(", ")+" and "+n.slice(-1)+"."}return e}r.hovertemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"none"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},r.texttemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"calc"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},{"../constants/docs":687}],841:[function(t,e,r){"use strict";var n=t("./ternary"),a=t("../../plots/get_data").getSubplotCalcData,i=t("../../lib").counterRegex;r.name="ternary";var o=r.attr="subplot";r.idRoot="ternary",r.idRegex=r.attrRegex=i("ternary"),(r.attributes={})[o]={valType:"subplotid",dflt:"ternary",editType:"calc"},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.ternary,o=0;o<i.length;o++){var s=i[o],l=a(r,"ternary",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.ternary||[],i=0;i<a.length;i++){var o=a[i],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}},{"../../lib":716,"../../plots/get_data":799,"./layout_attributes":842,"./layout_defaults":843,"./ternary":844}],842:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../domain").attributes,i=t("../cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll,s=t("../../lib/extend").extendFlat,l={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.tickmode,nticks:s({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:s({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:s({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,layer:i.layer,min:{valType:"number",dflt:0,min:0},_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},c=e.exports=o({domain:a({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},"plot","from-root");c.uirevision={valType:"any",editType:"none"},c.aaxis.uirevision=c.baxis.uirevision=c.caxis.uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plot_api/edit_types":747,"../cartesian/layout_attributes":776,"../domain":789}],843:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../plot_api/plot_template"),i=t("../../lib"),o=t("../subplot_defaults"),s=t("../cartesian/tick_label_defaults"),l=t("../cartesian/tick_mark_defaults"),c=t("../cartesian/tick_value_defaults"),u=t("../cartesian/line_grid_defaults"),h=t("./layout_attributes"),f=["aaxis","baxis","caxis"];function p(t,e,r,i){var o,s,l,c=r("bgcolor"),u=r("sum");i.bgColor=n.combine(c,i.paper_bgcolor);for(var h=0;h<f.length;h++)s=t[o=f[h]]||{},(l=a.newContainer(e,o))._name=o,d(s,l,i,e);var p=e.aaxis,g=e.baxis,v=e.caxis;p.min+g.min+v.min>=u&&(p.min=0,g.min=0,v.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var a=h[e._name];function o(r,n){return i.coerce(t,e,a,r,n)}o("uirevision",n.uirevision),e.type="linear";var f=o("color"),p=f!==a.color.dflt?f:r.font.color,d=e._name.charAt(0).toUpperCase(),g="Component "+d,v=o("title.text",g);e._hovertitle=v===g?v:d,i.coerceFont(o,"title.font",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o("min"),c(t,e,o,"linear"),s(t,e,o,"linear",{}),l(t,e,o,{outerTicks:!0}),o("showticklabels")&&(i.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:f,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),o("hoverformat"),o("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../cartesian/line_grid_defaults":778,"../cartesian/tick_label_defaults":783,"../cartesian/tick_mark_defaults":784,"../cartesian/tick_value_defaults":785,"../subplot_defaults":839,"./layout_attributes":842}],844:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),h=t("../../lib/extend").extendFlat,f=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),v=t("../../components/titles"),m=t("../cartesian/select").prepSelect,y=t("../cartesian/select").selectOnClick,x=t("../cartesian/select").clearSelect,b=t("../cartesian/constants");function _(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var a=0;a<t.length;a++){if(!1===t[a][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),f.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select("path").call(l.fill,r.bgcolor)},w.makeFramework=function(t){var e=this.graphDiv,r=t[this.id],n=this.clipId="clip"+this.layoutId+this.id,a=this.clipIdRelative="clip-relative"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,"clipPath",n,function(t){t.append("path").attr("d","M0,0Z")}),this.clipDefRelative=o.ensureSingleById(t._clips,"clipPath",a,function(t){t.append("path").attr("d","M0,0Z")}),this.plotContainer=o.ensureSingle(this.container,"g",this.id),this.updateLayers(r),c.setClipUrl(this.layers.backplot,n,e),c.setClipUrl(this.layers.grids,n,e)},w.updateLayers=function(t){var e=this.layers,r=["draglayer","plotbg","backplot","grids"];"below traces"===t.aaxis.layer&&r.push("aaxis","aline"),"below traces"===t.baxis.layer&&r.push("baxis","bline"),"below traces"===t.caxis.layer&&r.push("caxis","cline"),r.push("frontplot"),"above traces"===t.aaxis.layer&&r.push("aaxis","aline"),"above traces"===t.baxis.layer&&r.push("baxis","bline"),"above traces"===t.caxis.layer&&r.push("caxis","cline");var a=this.plotContainer.selectAll("g.toplevel").data(r,String),i=["agrid","bgrid","cgrid"];a.enter().append("g").attr("class",function(t){return"toplevel "+t}).each(function(t){var r=n.select(this);e[t]=r,"frontplot"===t?r.append("g").classed("scatterlayer",!0):"backplot"===t?r.append("g").classed("maplayer",!0):"plotbg"===t?r.append("path").attr("d","M0,0Z"):"aline"===t||"bline"===t||"cline"===t?r.append("path"):"grids"===t&&i.forEach(function(t){e[t]=r.append("g").classed("grid "+t,!0)})}),a.order()};var k=Math.sqrt(4/3);w.adjustLayout=function(t,e){var r,n,a,i,o,s,f=this,p=t.domain,d=(p.x[0]+p.x[1])/2,g=(p.y[0]+p.y[1])/2,v=p.x[1]-p.x[0],m=p.y[1]-p.y[0],y=v*e.w,x=m*e.h,b=t.sum,_=t.aaxis.min,w=t.baxis.min,T=t.caxis.min;y>k*x?a=(i=x)*k:i=(a=y)/k,o=v*a/y,s=m*i/x,r=e.l+e.w*d-a/2,n=e.t+e.h*(1-g)-i/2,f.x0=r,f.y0=n,f.w=a,f.h=i,f.sum=b,f.xaxis={type:"linear",range:[_+2*T-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:"x"},u(f.xaxis,f.graphDiv._fullLayout),f.xaxis.setScale(),f.xaxis.isPtWithinRange=function(t){return t.a>=f.aaxis.range[0]&&t.a<=f.aaxis.range[1]&&t.b>=f.baxis.range[1]&&t.b<=f.baxis.range[0]&&t.c>=f.caxis.range[1]&&t.c<=f.caxis.range[0]},f.yaxis={type:"linear",range:[_,b-w-T],domain:[g-s/2,g+s/2],_id:"y"},u(f.yaxis,f.graphDiv._fullLayout),f.yaxis.setScale(),f.yaxis.isPtWithinRange=function(){return!0};var A=f.yaxis.domain[0],M=f.aaxis=h({},t.aaxis,{range:[_,b-w-T],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(M,f.graphDiv._fullLayout),M.setScale();var S=f.baxis=h({},t.baxis,{range:[b-_-T,w],side:"bottom",domain:f.xaxis.domain,anchor:"free",position:0,_id:"x",_length:a});u(S,f.graphDiv._fullLayout),S.setScale();var E=f.caxis=h({},t.caxis,{range:[b-_-w,T],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(E,f.graphDiv._fullLayout),E.setScale();var L="M"+r+","+(n+i)+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDef.select("path").attr("d",L),f.layers.plotbg.select("path").attr("d",L);var C="M0,"+i+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDefRelative.select("path").attr("d",C);var P="translate("+r+","+n+")";f.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),f.clipDefRelative.select("path").attr("transform",null);var O="translate("+(r-S._offset)+","+(n+i)+")";f.layers.baxis.attr("transform",O),f.layers.bgrid.attr("transform",O);var z="translate("+(r+a/2)+","+n+")rotate(30)translate(0,"+-M._offset+")";f.layers.aaxis.attr("transform",z),f.layers.agrid.attr("transform",z);var I="translate("+(r+a/2)+","+n+")rotate(-30)translate(0,"+-E._offset+")";f.layers.caxis.attr("transform",I),f.layers.cgrid.attr("transform",I),f.drawAxes(!0),f.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+i)+"l"+a/2+",-"+i:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),f.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+i)+"h"+a:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),f.layers.cline.select("path").attr("d",E.showline?"M"+(r+a/2)+","+n+"l"+a/2+","+i:"M0,0").call(l.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),f.graphDiv._context.staticPlot||f.initInteractions(),c.setClipUrl(f.layers.frontplot,f._hasClipOnAxisFalse?null:f.clipId,f.graphDiv)},w.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,a=this.aaxis,i=this.baxis,o=this.caxis;if(this.drawAx(a),this.drawAx(i),this.drawAx(o),t){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;n["a-title"]=v.draw(e,"a"+r,{propContainer:a,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),n["b-title"]=v.draw(e,"b"+r,{propContainer:i,propName:this.id+".baxis.title",placeholder:s(e,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*i.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=v.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:s(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},w.drawAx=function(t){var e,r=this.graphDiv,n=t._name,a=n.charAt(0),i=t._id,s=this.layers[n],l=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll("."+i+"tick").remove(),this[l]=c),t.setScale();var u=p.calcTicks(t),h=p.clipEnds(t,u),f=p.makeTransFn(t),d=p.getTickSigns(t)[2],g=o.deg2rad(30),v=d*(t.linewidth||1)/2,m=d*t.ticklen,y=this.w,x=this.h,b="b"===a?"M0,"+v+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+v+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[a];p.drawTicks(r,t,{vals:"inside"===t.ticks?h:u,layer:s,path:b,transFn:f,crisp:!1}),p.drawGrid(r,t,{vals:h,layer:this.layers[a+"grid"],path:_,transFn:f,crisp:!1}),p.drawLabels(r,t,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(t,0,30)})};var T=b.MINZOOM/2+.87,A="m-0.87,.5h"+T+"v3h-"+(T+5.2)+"l"+(T/2+2.6)+",-"+(.87*T+4.5)+"l2.6,1.5l-"+T/2+","+.87*T+"Z",M="m0.87,.5h-"+T+"v3h"+(T+5.2)+"l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-2.6,1.5l"+T/2+","+.87*T+"Z",S="m0,1l"+T/2+","+.87*T+"l2.6,-1.5l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-"+(T/2+2.6)+","+(.87*T+4.5)+"l2.6,1.5l"+T/2+",-"+.87*T+"Z",E="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",L=!0;function C(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}w.initInteractions=function(){var t,e,r,n,u,h,f,p,v,_,w=this,T=w.layers.plotbg.select("path").node(),P=w.graphDiv,O=P._fullLayout._zoomlayer,z={element:T,gd:P,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(i,o,s){z.xaxes=[w.xaxis],z.yaxes=[w.yaxis];var c=P._fullLayout.dragmode;z.minDrag="lasso"===c?1:void 0,"zoom"===c?(z.moveFn=N,z.clickFn=D,z.doneFn=j,function(i,o,s){var c=T.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,h=a(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),f="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,v=O.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:h>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",f),_=O.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),x(P)}(0,o,s)):"pan"===c?(z.moveFn=V,z.clickFn=D,z.doneFn=U,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(P)):"select"!==c&&"lasso"!==c||m(i,o,s,z,c)}};function I(t){var e={};return e[w.id+".aaxis.min"]=t.a,e[w.id+".baxis.min"]=t.b,e[w.id+".caxis.min"]=t.c,e}function D(t,e){var r=P._fullLayout.clickmode;C(P),2===t&&(P.emit("plotly_doubleclick",null),i.call("_guiRelayout",P,I({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&y(e,P,[w.xaxis],[w.yaxis],w.id,z),r.indexOf("event")>-1&&g.click(P,e,w.id)}function R(t,e){return 1-e/w.h}function F(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function N(a,i){var o=t+a,s=e+i,l=Math.max(0,Math.min(1,R(0,e),R(0,s))),c=Math.max(0,Math.min(1,F(t,e),F(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,m=(1-l/2-c)*w.w,y=(g+m)/2,x=m-g,T=(1-l)*w.h,L=T-x/k;x<b.MINZOOM?(u=r,v.attr("d",f),_.attr("d","M0,0Z")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},v.attr("d",f+"M"+g+","+T+"H"+m+"L"+y+","+L+"L"+g+","+T+"Z"),_.attr("d","M"+t+","+e+E+"M"+g+","+T+A+"M"+m+","+T+M+"M"+y+","+L+S)),p||(v.transition().style("fill",h>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),p=!0),P.emit("plotly_relayouting",I(u))}function j(){C(P),u!==r&&(i.call("_guiRelayout",P,I(u)),L&&P.data&&P._context.showTips&&(o.notifier(s(P,"Double-click to zoom back out"),"long"),L=!1))}function V(t,e){var n=t/w.xaxis._m,a=e/w.yaxis._m,i=[(u={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,u.b,u.c].sort(),o=i.indexOf(u.a),s=i.indexOf(u.b),l=i.indexOf(u.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),u={a:i[o],b:i[s],c:i[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var h="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var f="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",f),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w),P.emit("plotly_relayouting",I(u))}function U(){i.call("_guiRelayout",P,I(u))}T.onmousemove=function(t){g.hover(P,t,w.id),P._fullLayout._lasthover=T,P._fullLayout._hoversubplot=w.id},T.onmouseout=function(t){P._dragging||d.unhover(P,t)},d.init(z)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../components/titles":678,"../../lib":716,"../../lib/extend":707,"../../registry":845,"../cartesian/axes":764,"../cartesian/constants":770,"../cartesian/select":781,"../cartesian/set_convert":782,"../plots":825,d3:164,tinycolor2:535}],845:[function(t,e,r){"use strict";var n=t("./lib/loggers"),a=t("./lib/noop"),i=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/dom").addStyleRule,l=t("./lib/extend"),c=t("./plots/attributes"),u=t("./plots/layout_attributes"),h=l.extendFlat,f=l.extendDeepAll;function p(t){var e=t.name,a=t.categories,i=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var a in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(a,t.name)}(t.basePlotModule);for(var o={},l=0;l<a.length;l++)o[a[l]]=!0,r.allCategories[a[l]]=!0;for(var c in r.modules[e]={_module:t,categories:o},i&&Object.keys(i).length&&(r.modules[e].meta=i),r.allTypes.push(e),r.componentsRegistry)y(c,e);t.layoutAttributes&&h(r.traceLayoutAttributes,t.layoutAttributes);var u=t.basePlotModule,f=u.name;if("mapbox"===f){var p=u.constants.styleRules;for(var d in p)s(".js-plotly-plot .plotly .mapboxgl-"+d,p[d])}"geo"!==f&&"mapbox"!==f||void 0===typeof window||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if("string"!=typeof t.name)throw new Error("Component module *name* must be a string.");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&i(r.layoutArrayContainers,e),m(t)),r.modules)y(e,n);for(var a in r.subplotsRegistry)b(e,a);for(var o in r.transformsRegistry)x(e,o);t.schema&&t.schema.layout&&f(u,t.schema.layout)}function g(t){if("string"!=typeof t.name)throw new Error("Transform module *name* must be a string.");var e="Transform module "+t.name,a="function"==typeof t.transform,i="function"==typeof t.calcTransform;if(!a&&!i)throw new Error(e+" is missing a *transform* or *calcTransform* method.");for(var s in a&&i&&n.log([e+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),o(t.attributes)||n.log(e+" registered without an *attributes* object."),"function"!=typeof t.supplyDefaults&&n.log(e+" registered without a *supplyDefaults* method."),r.transformsRegistry[t.name]=t,r.componentsRegistry)x(s,t.name)}function v(t){var e=t.name,n=e.split("-")[0],a=t.dictionary,i=t.format,o=a&&Object.keys(a).length,s=i&&Object.keys(i).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=a),s&&u.format===c.format&&(u.format=i)}o&&(c.dictionary=a),s&&(c.format=i)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)i(r.layoutArrayRegexes,e[n])}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var a=n.traces[e];a&&f(r.modules[e]._module.attributes,a)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var a=n.transforms[e];a&&f(r.transformsRegistry[e].attributes,a)}}function b(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var a=r.subplotsRegistry[e],i=a.layoutAttributes,o="subplot"===a.attr?a.name:a.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];i&&s&&f(i,s)}}function _(t){return"object"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.collectableSubplotTypes=null,r.register=function(t){if(r.collectableSubplotTypes=null,!t)throw new Error("No argument passed to Plotly.register.");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":p(n);break;case"transform":g(n);break;case"component":d(n);break;case"locale":v(n);break;case"apiMethod":var a=n.name;r.apiMethodRegistry[a]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}},r.getModule=function(t){var e=r.modules[_(t)];return!!e&&e._module},r.traceIs=function(t,e){if("various"===(t=_(t)))return!1;var a=r.modules[t];return a||(t&&"area"!==t&&n.log("Unrecognized trace type "+t+"."),a=r.modules[c.type.dflt]),!!a.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],a=0;a<n.length;a++)n[a].type===e&&r.push(a);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||a},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{"./lib/dom":705,"./lib/extend":707,"./lib/is_plain_object":717,"./lib/loggers":720,"./lib/noop":725,"./lib/push_unique":730,"./plots/attributes":761,"./plots/layout_attributes":816}],846:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib"),i=a.extendFlat,o=a.extendDeep;function s(t){var e;switch(t){case"themes__thumb":e={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":e={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var a,l=t.data,c=t.layout,u=o([],l),h=o({},c,s(e.tileClass)),f=t._context||{};if(e.width&&(h.width=e.width),e.height&&(h.height=e.height),"thumbnail"===e.tileClass||"themes__thumb"===e.tileClass){h.annotations=[];var p=Object.keys(h);for(r=0;r<p.length;r++)a=p[r],["xaxis","yaxis","zaxis"].indexOf(a.slice(0,5))>-1&&(h[p[r]].title={text:""});for(r=0;r<u.length;r++){var d=u[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,"pie-like")&&(d.textposition="none")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var g=Object.keys(h).filter(function(t){return t.match(/^scene\d*$/)});if(g.length){var v={};for("thumbnail"===e.tileClass&&(v={title:{text:""},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<g.length;r++){var m=h[g[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,v),i(m.yaxis,v),i(m.zaxis,v),m._scene=null}}var y=document.createElement("div");e.tileClass&&(y.className=e.tileClass);var x={gd:y,td:y,layout:h,data:u,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:f.mapboxAccessToken}};return"transparent"!==e.setBackground&&(x.config.setBackground=e.setBackground||"opaque"),x.gd.defaultLayout=s(e.tileClass),x}},{"../lib":716,"../registry":845}],847:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/to_image"),i=t("./filesaver"),o=t("./helpers");e.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||"png",e.imageDataOnly=!0,new Promise(function(s,l){r&&r._snapshotInProgress&&l(new Error("Snapshotting already in progress.")),n.isIE()&&"svg"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var c=a(t,e),u=e.filename||t.fn||"newplot";u+="."+e.format,c.then(function(t){return r&&(r._snapshotInProgress=!1),i(t,u,e.format)}).then(function(t){s(t)}).catch(function(t){r&&(r._snapshotInProgress=!1),l(t)})})}},{"../lib":716,"../plot_api/to_image":757,"./filesaver":848,"./helpers":849}],848:[function(t,e,r){"use strict";var n=t("../lib"),a=t("./helpers");e.exports=function(t,e,r){var i=document.createElement("a"),o="download"in i;return new Promise(function(s,l){var c,u;if(n.isIE9orBelow()&&l(new Error("IE < 10 unsupported")),n.isSafari()){var h="svg"===r?",":";base64,";return a.octetStream(h+encodeURIComponent(t)),s(e)}return n.isIE()?(c=a.createBlob(t,"svg"),window.navigator.msSaveBlob(c,e),c=null,s(e)):o?(c=a.createBlob(t,r),u=a.createObjectURL(c),i.href=u,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),a.revokeObjectURL(u),c=null,s(e)):void l(new Error("download error"))})}},{"../lib":716,"./helpers":849}],849:[function(t,e,r){"use strict";var n=t("../registry");r.getDelay=function(t){return t._has&&(t._has("gl3d")||t._has("gl2d")||t._has("mapbox"))?500:0},r.getRedrawFunc=function(t){return function(){var e=t._fullLayout||{};!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r||n.getComponentMethod("colorbar","draw")(t)}},r.encodeSVG=function(t){return"data:image/svg+xml,"+encodeURIComponent(t)};var a=window.URL||window.webkitURL;r.createObjectURL=function(t){return a.createObjectURL(t)},r.revokeObjectURL=function(t){return a.revokeObjectURL(t)},r.createBlob=function(t,e){if("svg"===e)return new window.Blob([t],{type:"image/svg+xml;charset=utf-8"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),a=0;a<e;a++)n[a]=t.charCodeAt(a);return r}(window.atob(t));return new window.Blob([r],{type:"image/"+e})},r.octetStream=function(t){document.location.href="data:application/octet-stream"+t},r.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/,r.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."},{"../registry":845}],850:[function(t,e,r){"use strict";var n=t("./helpers"),a={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t("./cloneplot"),toSVG:t("./tosvg"),svgToImg:t("./svgtoimg"),toImage:t("./toimage"),downloadImage:t("./download")};e.exports=a},{"./cloneplot":846,"./download":847,"./helpers":849,"./svgtoimg":851,"./toimage":852,"./tosvg":853}],851:[function(t,e,r){"use strict";var n=t("../lib"),a=t("events").EventEmitter,i=t("./helpers");e.exports=function(t){var e=t.emitter||new a,r=new Promise(function(a,o){var s=window.Image,l=t.svg,c=t.format||"png";if(n.isIE()&&"svg"!==c){var u=new Error(i.MSG_IE_BAD_FORMAT);return o(u),t.promise?r:e.emit("error",u)}var h,f,p=t.canvas,d=t.scale||1,g=t.width||300,v=t.height||150,m=d*g,y=d*v,x=p.getContext("2d"),b=new s;"svg"===c||n.isIE9orBelow()||n.isSafari()?f=i.encodeSVG(l):(h=i.createBlob(l,"svg"),f=i.createObjectURL(h)),p.width=m,p.height=y,b.onload=function(){var r;switch(h=null,i.revokeObjectURL(f),"svg"!==c&&x.drawImage(b,0,0,m,y),c){case"jpeg":r=p.toDataURL("image/jpeg");break;case"png":r=p.toDataURL("image/png");break;case"webp":r=p.toDataURL("image/webp");break;case"svg":r=f;break;default:var n="Image format is not jpeg, png, svg or webp.";if(o(new Error(n)),!t.promise)return e.emit("error",n)}a(r),t.promise||e.emit("success",r)},b.onerror=function(r){if(h=null,i.revokeObjectURL(f),o(r),!t.promise)return e.emit("error",r)},b.src=f});return t.promise?r:e}},{"../lib":716,"./helpers":849,events:105}],852:[function(t,e,r){"use strict";var n=t("events").EventEmitter,a=t("../registry"),i=t("../lib"),o=t("./helpers"),s=t("./cloneplot"),l=t("./tosvg"),c=t("./svgtoimg");e.exports=function(t,e){var r=new n,u=s(t,{format:"png"}),h=u.gd;h.style.position="absolute",h.style.left="-5000px",document.body.appendChild(h);var f=o.getRedrawFunc(h);return a.call("plot",h,u.data,u.layout,u.config).then(f).then(function(){var t=o.getDelay(h._fullLayout);setTimeout(function(){var t=l(h),n=document.createElement("canvas");n.id=i.randstr(),(r=c({format:e.format,width:h._fullLayout.width,height:h._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){h&&document.body.removeChild(h)}},t)}).catch(function(t){r.emit("error",t)}),r}},{"../lib":716,"../registry":845,"./cloneplot":846,"./helpers":849,"./svgtoimg":851,"./tosvg":853,events:105}],853:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../components/drawing"),o=t("../components/color"),s=t("../constants/xmlns_namespaces"),l=/"/g,c=new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")',"g");e.exports=function(t,e,r){var u,h=t._fullLayout,f=h._paper,p=h._toppaper,d=h.width,g=h.height;f.insert("rect",":first-child").call(i.setRect,0,0,d,g).call(o.fill,h.paper_bgcolor);var v=h._basePlotModules||[];for(u=0;u<v.length;u++){var m=v[u];m.toSVG&&m.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&f.node().appendChild(b)}}h._draggers&&h._draggers.remove(),f.node().style.background="",f.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each(function(){var t=n.select(this);if("hidden"!==this.style.visibility&&"none"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('"')&&t.style("font-family",e.replace(l,"TOBESTRIPPED"))}else t.remove()}),f.selectAll(".point, .scatterpts, .legendfill>path, .legendlines>path, .cbfill").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,"TOBESTRIPPED"))}),"pdf"!==e&&"eps"!==e||f.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),f.node().setAttributeNS(s.xmlns,"xmlns",s.svg),f.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(f.attr("width",r*d),f.attr("height",r*g),f.attr("viewBox","0 0 "+d+" "+g));var _=(new window.XMLSerializer).serializeToString(f.node());return _=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,function(t){return"&lt;"===t?"&#60;":"&rt;"===t?"&#62;":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&amp;")).replace(c,"'"),a.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":591,"../components/drawing":612,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],854:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var a=e.marker;if(a){n.mergeArray(a.opacity,t,"mo",!0),n.mergeArray(a.color,t,"mc");var i=a.line;i&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"))}}},{"../../lib":716}],855:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/font_attributes"),l=t("./constants"),c=t("../../lib/extend").extendFlat,u=s({editType:"calc",arrayOk:!0,colorEditType:"style"}),h=c({},n.marker.line.width,{dflt:0}),f=c({width:h,editType:"calc"},o("marker.line")),p=c({line:f,editType:"calc"},o("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,texttemplate:i({editType:"plot"},{keys:l.eventDataKeys}),hovertext:n.hovertext,hovertemplate:a({},{keys:l.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"none",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:c({},n.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:p,offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:"style"},textfont:n.selected.textfont,editType:"style"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:"style"},textfont:n.unselected.textfont,editType:"style"},r:n.r,t:n.t,_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/font_attributes":790,"../../plots/template_attributes":840,"../scatter/attributes":1118,"./constants":857}],856:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),o=t("./arrays_to_calcdata"),s=t("../scatter/calc_selection");e.exports=function(t,e){var r,l,c=n.getFromId(t,e.xaxis||"x"),u=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=c.makeCalcdata(e,"x"),l=u.makeCalcdata(e,"y")):(r=u.makeCalcdata(e,"y"),l=c.makeCalcdata(e,"x"));for(var h=Math.min(l.length,r.length),f=new Array(h),p=0;p<h;p++)f[p]={p:l[p],s:r[p]},e.ids&&(f[p].id=String(e.ids[p]));return a(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),a(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),o(f,e),s(f,e),f}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120,"./arrays_to_calcdata":854}],857:[function(t,e,r){"use strict";e.exports={TEXTPAD:3,eventDataKeys:["value","label"]}},{}],858:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("../../constants/numerical").BADNUM,o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../../plots/cartesian/axis_ids").getAxisGroup,c=t("./sieve.js");function u(t,e,r,o,u){if(o.length){var b,_,w,k;switch(function(t,e){var r,i;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,c="funnel"===l.type?l._base:l.base,u="h"===l.orientation?l.xcalendar:l.ycalendar,h="category"===t.type||"multicategory"===t.type?function(){return null}:t.d2c;if(a(c)){for(i=0;i<Math.min(c.length,s.length);i++)o=h(c[i],0,u),n(o)?(s[i].b=+o,s[i].hasB=1):s[i].b=0;for(;i<s.length;i++)s[i].b=0}else{o=h(c,0,u);var f=n(o);for(o=f?o:0,i=0;i<s.length;i++)s[i].b=o,f&&(s[i].hasB=1)}}}(r,o),u.mode){case"overlay":h(e,r,o,u);break;case"group":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.offset?_.push(k):b.push(k);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:!1,overlapNoMerge:!a.norm});(function(t,e,r,n){for(var a=t._fullLayout,i=r.positions,o=r.distinctPositions,s=r.minDiff,c=r.traces,u=c.length,h=i.length!==o.length,f=s*(1-n.gap),v=l(a,e._id)+c[0][0].trace.orientation,m=a._alignmentOpts[v]||{},y=0;y<u;y++){var x,b,_=c[y],w=_[0].trace,k=m[w.alignmentgroup]||{},T=Object.keys(k.offsetGroups||{}).length,A=(x=T?f/T:h?f/u:f)*(1-(n.groupgap||0));b=T?((2*w._offsetIndex+1-T)*x-A)/2:h?((2*y+1-u)*x-A)/2:-A/2;var M=_[0].t;M.barwidth=A,M.poffset=b,M.bargroupwidth=f,M.bardelta=s}r.binWidth=c[0][0].t.barwidth/100,p(r),d(e,r),g(e,r,h)})(t,e,o,a),function(t){for(var e=t.traces,r=0;r<e.length;r++){var n=e[r],a=n[0].trace;if(void 0===a.base)for(var o=new c([n],{sepNegVal:!0,overlapNoMerge:!0}),s=0;s<n.length;s++){var l=n[s];if(l.p!==i){var u=o.put(l.p,l.b+l.s);u&&(l.b=u)}}}}(o),a.norm?(m(o),y(r,o,a)):v(r,o)}(t,e,r,_,u),b.length&&h(e,r,b,u);break;case"stack":case"relative":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.base?_.push(k):b.push(k);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:"relative"===a.mode,overlapNoMerge:!(a.norm||"stack"===a.mode||"relative"===a.mode)});f(e,o,a),function(t,e,r){var n,a,o,l,c,u,h=x(t),f=e.traces;for(l=0;l<f.length;l++)if(n=f[l],"funnel"===(a=n[0].trace).type)for(c=0;c<n.length;c++)(u=n[c]).s!==i&&e.put(u.p,-.5*u.s);for(l=0;l<f.length;l++){n=f[l],a=n[0].trace,o="funnel"===a.type;var p=[];for(c=0;c<n.length;c++)if((u=n[c]).s!==i){var d;d=o?u.s:u.s+u.b;var g=e.put(u.p,d),v=g+d;u.b=g,u[h]=v,r.norm||(p.push(v),u.hasB&&p.push(g))}r.norm||(a._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,a);for(var l=0;l<n.length;l++)for(var u=n[l],h=0;h<u.length;h++){var p=u[h];if(p.s!==i){var d=p.b+p.s===o.get(p.p,p.s);d&&(p._outmost=!0)}}a.norm&&y(r,o,a)}(0,e,r,_,u),b.length&&h(e,r,b,u)}!function(t,e){var r,a,i,o=x(e),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(i=t[r],a=0;a<i.length;a++){var u=i[a].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var h=1e4/(c-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(r=0;r<t.length;r++){(i=t[r])[0].t.extents=s;var p=i[0].t.poffset,d=Array.isArray(p);for(a=0;a<i.length;a++){var g=i[a],v=g[o]-g.w/2;if(n(v)){var m=g[o]+g.w/2,y=f(g.p);s[y]?s[y]=[Math.min(v,s[y][0]),Math.max(m,s[y][1])]:s[y]=[v,m]}g.p0=g.p+(d?p[a]:p),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}}(o,e)}}function h(t,e,r,n){for(var a=0;a<r.length;a++){var i=r[a],o=new c([i],{sepNegVal:!1,overlapNoMerge:!n.norm});f(t,o,n),n.norm?(m(o),y(e,o,n)):v(e,o)}}function f(t,e,r){for(var n=e.minDiff,a=e.traces,i=n*(1-r.gap),o=i*(1-(r.groupgap||0)),s=-o/2,l=0;l<a.length;l++){var c=a[l][0].t;c.barwidth=o,c.poffset=s,c.bargroupwidth=i,c.bardelta=n}e.binWidth=a[0][0].t.barwidth/100,p(e),d(t,e),g(t,e)}function p(t){var e,r,i=t.traces;for(e=0;e<i.length;e++){var o,s=i[e],l=s[0],c=l.trace,u=l.t,h=c._offset||c.offset,f=u.poffset;if(a(h)){for(o=Array.prototype.slice.call(h,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=f);for(r=o.length;r<s.length;r++)o.push(f);u.poffset=o}else void 0!==h&&(u.poffset=h);var p=c._width||c.width,d=u.barwidth;if(a(p)){var g=Array.prototype.slice.call(p,0,s.length);for(r=0;r<g.length;r++)n(g[r])||(g[r]=d);for(r=g.length;r<s.length;r++)g.push(d);if(u.barwidth=g,void 0===h){for(o=[],r=0;r<s.length;r++)o.push(f+(d-g[r])/2);u.poffset=o}}else void 0!==p&&(u.barwidth=p,void 0===h&&(u.poffset=f+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++)for(var i=r[a],o=i[0].t,s=o.poffset,l=Array.isArray(s),c=o.barwidth,u=Array.isArray(c),h=0;h<i.length;h++){var f=i[h],p=f.w=u?c[h]:c;f[n]=f.p+(l?s[h]:s)+p/2}}function g(t,e,r){var n=e.traces,a=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var i=0;i<n.length;i++){var o,l,c,u,h=n[i],f=h[0],p=f.trace,d=[];for(u=0;u<h.length;u++)l=(o=h[u]).p-a,c=o.p+a,d.push(l,c);if(p.width||p.offset){var g=f.t,v=g.poffset,m=g.barwidth,y=Array.isArray(v),x=Array.isArray(m);for(u=0;u<h.length;u++){o=h[u];var b=y?v[u]:v,_=x?m[u]:m;c=(l=o.p+b)+_,d.push(l,c)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function v(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++){for(var i=r[a],o=i[0].trace,l=[],c=!0,u=0;u<i.length;u++){var h=i[u],f=h.b,p=f+h.s;h[n]=p,l.push(p),h.hasB&&l.push(f),h.hasB&&h.b>0&&h.s>0||(c=!1)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:!c,padded:!0})}}function m(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++){var o=n[a];o.s!==i&&t.put(o.p,o.b+o.s)}}function y(t,e,r){var a=e.traces,o=x(t),l="fraction"===r.norm?1:100,c=l/1e9,u=t.l2c(t.c2l(0)),h="stack"===r.mode?l:u;function f(e){return n(t.c2l(e))&&(e<u-c||e>h+c||!n(u))}for(var p=0;p<a.length;p++){for(var d=a[p],g=d[0].trace,v=[],m=!0,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==i){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var k=_.b,T=k+_.s;_[o]=T,v.push(T),y=y||f(T),_.hasB&&(v.push(k),y=y||f(k)),_.hasB&&_.b>0&&_.s>0||(m=!1)}}g._extremes[t._id]=s.findExtremes(t,v,{tozero:!m,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,a=t._fullLayout,i=t._fullData,s=t.calcdata,l=[],c=[],h=0;h<i.length;h++){var f=i[h];!0===f.visible&&o.traceIs(f,"bar")&&f.xaxis===r._id&&f.yaxis===n._id&&("h"===f.orientation?l.push(s[h]):c.push(s[h]))}var p={mode:a.barmode,norm:a.barnorm,gap:a.bargap,groupgap:a.bargroupgap};u(t,r,n,c,p),u(t,n,r,l,p)},setGroupPositions:u}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767,"../../registry":845,"./sieve.js":868,"fast-isnumeric":227}],859:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../registry"),o=t("../scatter/xy_defaults"),s=t("./style_defaults"),l=t("../../plots/cartesian/axis_ids").getAxisGroup,c=t("./attributes"),u=n.coerceFont;function h(t,e,r,n){var a=e.orientation,i=e[{v:"x",h:"y"}[a]+"axis"],o=l(r,i)+a,s=r._alignmentOpts||{},c=n("alignmentgroup"),u=s[o];u||(u=s[o]={});var h=u[c];h?h.traces.push(e):h=u[c]={traces:[e],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var f=n("offsetgroup"),p=h.offsetGroups,d=p[f];f&&(d||(d=p[f]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}function f(t,e,r,a,i,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),h=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=Array.isArray(i)||"auto"===i,g=d||"inside"===i,v=d||"outside"===i;if(g||v){var m=u(a,"textfont",r.font),y=n.extendFlat({},m);!(t.textfont&&t.textfont.color)&&delete y.color,u(a,"insidetextfont",y),v&&u(a,"outsidetextfont",m),s&&a("selected.textfont.color"),l&&a("unselected.textfont.color"),c&&a("constraintext"),h&&a("cliponaxis"),f&&a("textangle"),a("texttemplate")}g&&p&&a("insidetextanchor")}e.exports={supplyDefaults:function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}if(o(t,e,l,u)){u("orientation",e.x&&!e.y?"h":"v"),u("base"),u("offset"),u("width"),u("text"),u("hovertext"),u("hovertemplate");var h=u("textposition");f(t,0,l,u,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),s(t,e,u,r,l);var p=(e.marker.line||{}).color,d=i.getComponentMethod("errorbars","supplyDefaults");d(t,e,p||a.defaultLine,{axis:"y"}),d(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1},crossTraceDefaults:function(t,e){var r;function a(t){return n.coerce(r._input,r,c,t)}if("group"===e.barmode)for(var i=0;i<t.length;i++)"bar"===(r=t[i]).type&&(r._input,h(0,r,e,a))},handleGroupingDefaults:h,handleText:f}},{"../../components/color":591,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../scatter/xy_defaults":1144,"./attributes":855,"./style_defaults":870}],860:[function(t,e,r){"use strict";e.exports=function(t,e,r){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),"h"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},{}],861:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("../../lib").isArrayOrTypedArray;r.coerceString=function(t,e,r){if("string"==typeof e){if(e||!t.noBlank)return e}else if(("number"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},r.coerceNumber=function(t,e,r){if(n(e)){e=+e;var a=t.min,i=t.max;if(!(void 0!==a&&e<a||void 0!==i&&e>i))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},r.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:i(t.marker.line.width)?0:t.marker.line.width}},{"../../lib":716,"fast-isnumeric":227,tinycolor2:535}],862:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../registry"),i=t("../../components/color"),o=t("../../lib").fillText,s=t("./helpers").getLineWidth,l=t("../../plots/cartesian/axes").hoverLabelText;function c(t,e,r,a){var i,s,c,u,h,f,p,d=t.cd,g=d[0].trace,v=d[0].t,m="closest"===a,y="waterfall"===g.type,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[c]-t.w/2}function w(t){return t[c]+t.w/2}var k=m?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},T=m?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-i,e-i,x+Math.min(1,Math.abs(e-t)/p)-1)}function M(t){return A(k(t),T(t))}function S(t){var e=s,r=t.b,a=t[u];return y&&(a+=Math.abs(t.rawS||0)),n.inbox(r-e,a-e,x+(a-e)/(a-r)-1)}"h"===g.orientation?(i=r,s=e,c="y",u="x",h=S,f=M):(i=e,s=r,c="x",u="y",f=S,h=M);var E=t[c+"a"],L=t[u+"a"];p=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var C=n.getDistanceFunction(a,h,f,function(t){return(h(t)+f(t))/2});if(n.getClosest(d,C,t),!1!==t.index){m||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},T=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var P=d[t.index],O=g.base?P.b+P.s:P.s;t[u+"0"]=t[u+"1"]=L.c2p(P[u],!0),t[u+"LabelVal"]=O;var z=v.extents[v.extents.round(P.p)];return t[c+"0"]=E.c2p(m?k(P):z[0],!0),t[c+"1"]=E.c2p(m?T(P):z[1],!0),t[c+"LabelVal"]=P.p,t.labelLabel=l(E,t[c+"LabelVal"]),t.valueLabel=l(L,t[u+"LabelVal"]),t.spikeDistance=(S(P)+function(t){return A(_(t),w(t))}(P))/2+b-x,t[c+"Spike"]=E.c2p(P.p,!0),o(P,g,t),t.hovertemplate=g.hovertemplate,t}}function u(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,a=s(t,e);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}e.exports={hoverPoints:function(t,e,r,n){var i=c(t,e,r,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=u(s,l),a.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}},hoverOnBars:c,getTraceColor:u}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./helpers":861}],863:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,colorbar:t("../scatter/marker_colorbar"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"bar",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},{"../../plots/cartesian":775,"../scatter/marker_colorbar":1136,"./arrays_to_calcdata":854,"./attributes":855,"./calc":856,"./cross_trace_calc":858,"./defaults":859,"./event_data":860,"./hover":862,"./layout_attributes":864,"./layout_defaults":865,"./plot":866,"./select":867,"./style":869}],864:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],865:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/cartesian/axes"),i=t("../../lib"),o=t("./layout_attributes");e.exports=function(t,e,r){function s(r,n){return i.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,h={},f=s("barmode"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,"bar")&&d.visible){if(l=!0,"group"===f){var g=d.xaxis+d.yaxis;h[g]&&(u=!0),h[g]=!0}if(d.visible&&"histogram"===d.type)"category"!==a.getFromId({_fullLayout:e},d["v"===d.orientation?"xaxis":"yaxis"]).type&&(c=!0)}}l?("overlay"!==f&&s("barnorm"),s("bargap",c&&!u?0:.2),s("bargroupgap")):delete e.barmode}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./layout_attributes":864}],866:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../../registry"),u=t("../../plots/cartesian/axes").tickText,h=t("./style"),f=t("./helpers"),p=t("./constants"),d=t("./attributes"),g=d.text,v=d.textposition,m=t("../../components/fx/helpers").appendArrayPointValue,y=p.TEXTPAD;function x(t){return t.id}function b(t){if(t.ids)return x}function _(t,e){return t<e?1:-1}function w(t,e,r){var n;return k(e)?(r&&(n=r()),t.transition().duration(e.duration).ease(e.easing).each("end",function(){n&&n()}).each("interrupt",function(){n&&n()})):t}function k(t){return t&&t.duration>0}function T(t){return"auto"===t?0:t}function A(t,e,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,c=i.anchor||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r),d=f>2*y&&p>2*y?y:0;f-=2*d,p-=2*d;var g=!1;if(!("auto"===l)||u<=f&&h<=p||!(u>f||h>p)||(u>p||h>f)&&u<h==f<p||(g=!0),g){var v=p;p=f,f=v}var m=T(l),x=Math.abs(Math.sin(Math.PI/180*m)),b=Math.abs(Math.cos(Math.PI/180*m)),w=Math.max(f*b,p*x),k=Math.max(f*x,p*b),A=s?Math.min(w/u,k/h):Math.max(b,x);A=Math.min(1,A);var M=(t+e)/2,S=(r+n)/2;"middle"!==c&&(d+=.5*(A*(o!==g?h:u)*x+A*(o!==g?u:h)*b),o?(d*=_(t,e),M="start"===c?t+d:e-d):(d*=_(r,n),S="start"===c?r+d:n-d));return g&&(m+=90),{textX:(a.left+a.right)/2,textY:(a.top+a.bottom)/2,targetX:M,targetY:S,scale:A,rotate:m}}function M(t,e,r,n,a,i){var o,s=!!i.isHorizontal,l=!!i.constrained,c=i.angle||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*y?y:0:f>2*y?y:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var g=T(c);o+=.5*(d*(s?h:u)*Math.abs(Math.sin(Math.PI/180*g))+d*(s?u:h)*Math.abs(Math.cos(Math.PI/180*g)));var v=(t+e)/2,m=(r+n)/2;return s?v=e-o*_(e,t):m=n+o*_(r,n),{textX:(a.left+a.right)/2,textY:(a.top+a.bottom)/2,targetX:v,targetY:m,scale:d,rotate:g}}e.exports={plot:function(t,e,r,p,d,x){var T=e.xaxis,S=e.yaxis,E=t._fullLayout;d||(d={mode:E.barmode,norm:E.barmode,gap:E.bargap,groupgap:E.bargroupgap});var L=i.makeTraceGroups(p,r,"trace bars").each(function(r){var c=n.select(this),p=r[0].trace,E="waterfall"===p.type,L="funnel"===p.type,C="bar"===p.type||L,P=0;E&&p.connector.visible&&"between"===p.connector.mode&&(P=p.connector.line.width/2);var O="h"===p.orientation,z=i.ensureSingle(c,"g","points"),I=b(p),D=z.selectAll("g.point").data(i.identity,I);D.enter().append("g").classed("point",!0),D.exit().remove(),D.each(function(c,b){var E,L,z=n.select(this),I=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),n?[a,i]:[i,a]}(c,T,S,O),D=I[0][0],R=I[0][1],F=I[1][0],B=I[1][1],N=!(D!==R&&F!==B&&a(D)&&a(R)&&a(F)&&a(B));if(N&&C&&f.getLineWidth(p,c)&&(O?R-D==0:B-F==0)&&(N=!1),c.isBlank=N,N&&O&&(R=D),N&&!O&&(B=F),P&&!N&&(O?(D-=_(D,R)*P,R+=_(D,R)*P):(F-=_(F,B)*P,B+=_(F,B)*P)),"waterfall"===p.type){if(!N){var j=p[c.dir].marker;E=j.line.width,L=j.color}}else E=f.getLineWidth(p,c),L=c.mc||p.marker.color;var V=n.round(E/2%1,2);function U(t){return 0===d.gap&&0===d.groupgap?n.round(Math.round(t)-V,2):t}if(!t._context.staticPlot){var q=s.opacity(L)<1||E>.01?U:function(t,e){return Math.abs(t-e)>=2?U(t):t>e?Math.ceil(t):Math.floor(t)};D=q(D,R),R=q(R,D),F=q(F,B),B=q(B,F)}var H=w(i.ensureSingle(z,"path"),d,x);if(H.style("vector-effect","non-scaling-stroke").attr("d","M"+D+","+F+"V"+B+"H"+R+"V"+F+"Z").call(l.setClipUrl,e.layerClipId,t),k(d)){var G=l.makePointStyleFns(p);l.singlePointStyle(c,H,p,G,t)}!function(t,e,r,n,a,s,c,p,d,x,b){var _,k=e.xaxis,T=e.yaxis,S=t._fullLayout;function E(e,r,n){var a=i.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+_,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t);return a}var L=n[0].trace,C="h"===L.orientation,P=function(t,e,r,n,a){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,a){var o=e[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,c,h,f,p="waterfall"===o.type,d="funnel"===o.type;function g(t){return u(f,+t,!0).text}"h"===o.orientation?(l="y",c=a,h="x",f=n):(l="x",c=n,h="y",f=a);var v,y=e[r],x={};x.label=y.p,x.labelLabel=x[l+"Label"]=(v=y.p,u(c,v,!0).text);var b=i.castOption(o,y.i,"text");(0===b||b)&&(x.text=b),x.value=y.s,x.valueLabel=x[h+"Label"]=g(y.s);var _={};m(_,o,y.i),p&&(x.delta=+y.rawS||y.s,x.deltaLabel=g(x.delta),x.final=y.v,x.finalLabel=g(x.final),x.initial=x.final-x.delta,x.initialLabel=g(x.initial)),d&&(x.value=y.s,x.valueLabel=g(x.value),x.percentInitial=y.begR,x.percentInitialLabel=i.formatPercent(y.begR),x.percentPrevious=y.difR,x.percentPreviousLabel=i.formatPercent(y.difR),x.percentTotal=y.sumR,x.percenTotalLabel=i.formatPercent(y.sumR));var w=i.castOption(o,y.i,"customdata");return w&&(x.customdata=w),i.texttemplateString(s,x,t._d3locale,_,x,o._meta||{})}(t,e,r,n,a):s.textinfo?function(t,e,r,n){var a=t[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function c(t){var e=o?r:n;return u(e,+t,!0).text}var h,f,p=a.textinfo,d=t[e],g=p.split("+"),v=[],m=function(t){return-1!==g.indexOf(t)};if(m("label")&&v.push((f=t[e].p,u(o?n:r,f,!0).text)),m("text")&&(0===(h=i.castOption(a,d.i,"text"))||h)&&v.push(h),s){var y=+d.rawS||d.s,x=d.v,b=x-y;m("initial")&&v.push(c(b)),m("delta")&&v.push(c(y)),m("final")&&v.push(c(x))}if(l){m("value")&&v.push(c(d.s));var _=0;m("percent initial")&&_++,m("percent previous")&&_++,m("percent total")&&_++;var w=_>1;m("percent initial")&&(h=i.formatPercent(d.begR),w&&(h+=" of initial"),v.push(h)),m("percent previous")&&(h=i.formatPercent(d.difR),w&&(h+=" of previous"),v.push(h)),m("percent total")&&(h=i.formatPercent(d.sumR),w&&(h+=" of total"),v.push(h))}return v.join("<br>")}(e,r,n,a):f.getValue(s.text,r),f.coerceString(g,o)}(S,n,a,k,T);_=function(t,e){var r=f.getValue(t.textposition,e);return f.coerceEnumerated(v,r)}(L,a);var O="stack"===x.mode||"relative"===x.mode,z=n[a],I=!O||z._outmost;if(P&&"none"!==_&&(!z.isBlank&&s!==c&&p!==d||"auto"!==_&&"inside"!==_)){var D=S.font,R=h.getBarColor(n[a],L),F=h.getInsideTextFont(L,a,D,R),B=h.getOutsideTextFont(L,a,D),N=r.datum();C?"log"===k.type&&N.s0<=0&&(s=k.range[0]<k.range[1]?0:k._length):"log"===T.type&&N.s0<=0&&(p=T.range[0]<T.range[1]?T._length:0);var j,V,U,q,H,G,Y=Math.abs(c-s)-2*y,W=Math.abs(d-p)-2*y;if("outside"===_&&(I||z.hasB||(_="inside")),"auto"===_)if(I){_="inside",j=E(r,P,F),V=l.bBox(j.node()),U=V.width,q=V.height;var X=U>0&&q>0,Z=U<=Y&&q<=W,J=U<=W&&q<=Y,K=C?Y>=U*(W/q):W>=q*(Y/U);X&&(Z||J||K)?_="inside":(_="outside",j.remove(),j=null)}else _="inside";if(!j){var Q=(j=E(r,P,"outside"===_?B:F)).attr("transform");if(j.attr("transform",""),V=l.bBox(j.node()),U=V.width,q=V.height,j.attr("transform",Q),U<=0||q<=0)return void j.remove()}"outside"===_?(G="both"===L.constraintext||"outside"===L.constraintext,H=i.getTextTransform(M(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle}))):(G="both"===L.constraintext||"inside"===L.constraintext,H=i.getTextTransform(A(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle,anchor:L.insidetextanchor}))),w(j,x,b).attr("transform",H)}else r.select("text").remove()}(t,e,z,r,b,D,R,F,B,d,x),e.layerClipId&&l.hideOutsideRangePoint(c,z.select("text"),T,S,p.xcalendar,p.ycalendar)});var R=!1===p.cliponaxis;l.setClipUrl(c,R?null:e.layerClipId,t)});c.getComponentMethod("errorbars","plot")(t,L,e,d)},toMoveInsideBar:A,toMoveOutsideBar:M}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx/helpers":626,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"./attributes":855,"./constants":857,"./helpers":861,"./style":869,d3:164,"fast-isnumeric":227}],867:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return a?[(i+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(i+o)/2,l]}e.exports=function(t,e){var r,a=t.cd,i=t.xaxis,o=t.yaxis,s=a[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===e)for(r=0;r<a.length;r++)a[r].selected=0;else for(r=0;r<a.length;r++){var h=a[r],f="ct"in h?h.ct:n(h,i,o,c,l);e.contains(f,!1,r,t)?(u.push({pointNumber:r,x:i.c2d(h.x),y:o.c2d(h.y)}),h.selected=1):h.selected=0}return u}},{}],868:[function(t,e,r){"use strict";e.exports=i;var n=t("../../lib").distinctVals,a=t("../../constants/numerical").BADNUM;function i(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,i=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var c=s[l];c.p!==a&&i.push(c.p)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=i;var u=n(i);this.distinctPositions=u.vals,1===u.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(u.minDiff,r),this.binWidth=this.minDiff,this.bins={}}i.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},i.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},i.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?"v":"^")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},{"../../constants/numerical":692,"../../lib":716}],869:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../registry"),l=t("./attributes"),c=l.textfont,u=l.insidetextfont,h=l.outsidetextfont,f=t("./helpers");function p(t,e,r){i.pointStyle(t.selectAll("path"),e,r),d(t,e,r)}function d(t,e,r){t.selectAll("text").each(function(t){var a=n.select(this),o=g(a,t,e,r);i.font(a,o)})}function g(t,e,r,n){var a=n._fullLayout.font,i=r.textfont;if(t.classed("bartext-inside")){var o=b(e,r);i=m(r,e.i,a,o)}else t.classed("bartext-outside")&&(i=y(r,e.i,a));return i}function v(t,e,r){return x(c,t.textfont,e,r)}function m(t,e,r,n){var i=v(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(i={color:a.contrast(n),family:i.family,size:i.size}),x(u,t.insidetextfont,e,i)}function y(t,e,r){var n=v(t,e,r);return x(h,t.outsidetextfont,e,n)}function x(t,e,r,n){e=e||{};var a=f.getValue(e.family,r),i=f.getValue(e.size,r),o=f.getValue(e.color,r);return{family:f.coerceString(t.family,a,n.family),size:f.coerceNumber(t.size,i,n.size),color:f.coerceColor(t.color,o,n.color)}}function b(t,e){return"waterfall"===e.type?e[t.dir].marker.color:t.mc||e.marker.color}e.exports={style:function(t){var e=n.select(t).selectAll("g.barlayer").selectAll("g.trace"),r=e.size(),a=t._fullLayout;e.style("opacity",function(t){return t[0].trace.opacity}).each(function(t){("stack"===a.barmode&&r>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),e.selectAll("g.points").each(function(e){p(n.select(this),e[0].trace,t)}),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:d,styleOnSelect:function(t,e,r){var a=e[0].trace;a.selectedpoints?function(t,e,r){i.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each(function(t){var a,s=n.select(this);if(t.selected){a=o.extendFlat({},g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(a.color=l),i.font(s,a)}else i.selectedTextStyle(s,e)})}(t.selectAll("text"),e,r)}(r,a,t):(p(r,a,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:y,getBarColor:b}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../registry":845,"./attributes":855,"./helpers":861,d3:164}],870:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),a(t,"marker")&&i(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),a(t,"marker.line")&&i(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602}],871:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../lib/extend").extendFlat,i=t("../scatterpolar/attributes"),o=t("../bar/attributes");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:a({},o.base,{}),offset:a({},o.offset,{}),width:a({},o.width,{}),text:a({},o.text,{}),hovertext:a({},o.hovertext,{}),marker:o.marker,hoverinfo:i.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatterpolar/attributes":1190}],872:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),i=t("../bar/arrays_to_calcdata"),o=t("../bar/cross_trace_calc").setGroupPositions,s=t("../scatter/calc_selection"),l=t("../../registry").traceIs,c=t("../../lib").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,"r"),h=c.makeCalcdata(e,"theta"),f=e._length,p=new Array(f),d=u,g=h,v=0;v<f;v++)p[v]={p:g[v],s:d[v]};function m(t){var r=e[t];void 0!==r&&(e["_"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return"linear"===c.type&&(m("width"),m("offset")),n(e,"marker")&&a(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&a(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),i(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,a=[],i=0;i<n.length;i++){var s=n[i],u=s[0].trace;!0===u.visible&&l(u,"bar")&&u.subplot===r&&a.push(s)}var h=c({},e.radialaxis,{_id:"x"}),f=e.angularaxis;o(t,f,h,a,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../lib":716,"../../registry":845,"../bar/arrays_to_calcdata":854,"../bar/cross_trace_calc":858,"../scatter/calc_selection":1120}],873:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatterpolar/defaults").handleRThetaDefaults,i=t("../bar/style_defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}a(t,e,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),i(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{"../../lib":716,"../bar/style_defaults":870,"../scatterpolar/defaults":1192,"./attributes":871}],874:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../bar/hover").getTraceColor,o=a.fillText,s=t("../scatterpolar/hover").makeHoverPointText,l=t("../../plots/polar/helpers").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,h=t.subplot,f=h.radialAxis,p=h.angularAxis,d=h.vangles,g=d?l:a.isPtInsideSector,v=t.maxHoverDistance,m=p._period||2*Math.PI,y=Math.abs(f.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);f.range[0]>f.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?v+Math.min(1,Math.abs(t.thetag1-t.thetag0)/m)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0},t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=a.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,h,t),t.hovertemplate=u.hovertemplate,t.color=i(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":629,"../../lib":716,"../../plots/polar/helpers":827,"../bar/hover":862,"../scatterpolar/hover":1194}],875:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("../scatterpolar/format_labels"),style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":828,"../bar/select":867,"../bar/style":869,"../scatter/marker_colorbar":1136,"../scatterpolar/format_labels":1193,"./attributes":871,"./calc":872,"./defaults":873,"./hover":874,"./layout_attributes":876,"./layout_defaults":877,"./plot":878}],876:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],877:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i,o={};function s(r,o){return n.coerce(t[i]||{},e[i],a,r,o)}for(var l=0;l<r.length;l++){var c=r[l];"barpolar"===c.type&&!0===c.visible&&(o[i=c.subplot]||(s("barmode"),s("bargap"),o[i]=1))}}},{"../../lib":716,"./layout_attributes":876}],878:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../components/drawing"),s=t("../../plots/polar/helpers");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,h=e.angularAxis,f=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,a,o,l){var c,u;i.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var h=s.findEnclosingVertexAngles(c,t.vangles)[0],f=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[h,(c+u)/2,f];return s.pathPolygonAnnulus(n,a,c,u,p,e,r)};return function(t,n,a,o){return i.pathAnnulus(t,n,a,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");i.makeTraceGroups(p,r,"trace bars").each(function(){var r=n.select(this),s=i.ensureSingle(r,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each(function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(a(o)&&a(s)&&a(p)&&a(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),v=(p+d)/2;t.ct=[l.c2p(g*Math.cos(v)),c.c2p(g*Math.sin(v))],e=f(o,s,p,d)}else e="M0,0Z";i.ensureSingle(r,"path").attr("d",e)}),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)})}},{"../../components/drawing":612,"../../lib":716,"../../plots/polar/helpers":827,d3:164,"fast-isnumeric":227}],879:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../bar/attributes"),i=t("../../components/color/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../lib/extend").extendFlat,l=n.marker,c=l.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:s({},l.symbol,{arrayOk:!1,editType:"plot"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:s({},l.size,{arrayOk:!1,editType:"calc"}),color:s({},l.color,{arrayOk:!1,editType:"style"}),line:{color:s({},c.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:s({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118}],880:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=a._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx",hovertext:"htx"};for(var a in n)Array.isArray(e[a])&&(t[n[a]]=e[a][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,h,f,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),v=o.getFromId(t,e.yaxis||"y"),m=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,h="x",f=v,p="y"):(u=v,h="y",f=g,p="x");var x,b=u.makeCalcdata(e,h),_=function(t,e,r,i,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||a.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]);return i.map(function(){return l})}(e,p,f,b,d[y]),w=a.distinctVals(_),k=w.vals,T=w.minDiff/2,A=function(t,e){for(var r=t.length,n=new Array(r+1),a=0;a<r;a++)n[a]=t[a]-e;return n[r]=t[r-1]+e,n}(k,T),M=k.length,S=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(M);for(r=0;r<e._length;r++){var E=b[r];if(n(E)){var L=a.findBin(_[r],A);if(L>=0&&L<M){var C={v:E,i:r};s(C,e,r),S[L].push(C)}}}var P="all"===(e.boxpoints||e.points)?a.identity:function(t){return t.v<x.lf||t.v>x.uf};for(r=0;r<M;r++)if(S[r].length>0){var O=S[r].sort(l),z=O.map(c),I=z.length;(x={}).pos=k[r],x.pts=O,x[p]=x.pos,x[h]=x.pts.map(function(t){return t.v}),x.min=z[0],x.max=z[I-1],x.mean=a.mean(z,I),x.sd=a.stdev(z,I,x.mean),x.q1=a.interp(z,.25),x.med=a.interp(z,.5),x.q3=a.interp(z,.75),x.lf=Math.min(x.q1,z[Math.min(a.findBin(2.5*x.q1-1.5*x.q3,z,!0)+1,I-1)]),x.uf=Math.max(x.q3,z[Math.max(a.findBin(2.5*x.q3-1.5*x.q1,z),0)]),x.lo=4*x.q1-3*x.q3,x.uo=4*x.q3-3*x.q1;var D=1.57*(x.q3-x.q1)/Math.sqrt(I);x.ln=x.med-D,x.un=x.med+D,x.pts2=O.filter(P),m.push(x)}!function(t,e){if(a.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},o=0;o<n.length;o++)i[n[o].i]=o;a.tagSelected(n,e,i)}}(m,e);var R=o.findExtremes(u,b,{padded:!0});return e._extremes[u._id]=R,m.length>0?(m[0].t={num:d[y],dPos:T,posLetter:p,valLetter:h,labels:{med:i(t,"median:"),min:i(t,"min:"),q1:i(t,"q1:"),q3:i(t,"q3:"),max:i(t,"max:"),mean:"sd"===e.boxmean?i(t,"mean \xb1 \u03c3:"):i(t,"mean:"),lf:i(t,"lower fence:"),uf:i(t,"upper fence:")}},d[y]++,m):[{t:{empty:!0}}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"fast-isnumeric":227}],881:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids").getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],g=0;for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)d.push(o.c2l(c[l].pos,!0)),g+=(c[l].pts2||[]).length;if(d.length){var v=a.distinctVals(d),m=v.minDiff/2;n.minDtick(o,v.minDiff,v.vals[0],!0);var y=h["violin"===t?"_numViolins":"_numBoxes"],x="group"===h[t+"mode"]&&y>1,b=1-h[t+"gap"],_=1-h[t+"groupgap"];for(s=0;s<r.length;s++){var w,k,T,A,M,S,E=(c=u[r[s]])[0].trace,L=c[0].t,C=E.width,P=E.side;if(C)w=k=A=C/2,T=0;else if(w=m,x){var O=i(h,o._id)+E.orientation,z=(h._alignmentOpts[O]||{})[E.alignmentgroup]||{},I=Object.keys(z.offsetGroups||{}).length,D=I||y;k=w*b*_/D,T=2*w*(((I?E._offsetIndex:L.num)+.5)/D-.5)*b,A=w*b/D}else k=w*b*_,T=0,A=w;L.dPos=w,L.bPos=T,L.bdPos=k,L.wHover=A;var R,F,B,N,j,V,U=T+k,q=Boolean(C);if("positive"===P?(M=w*(C?1:.5),R=U,S=R=T):"negative"===P?(M=R=T,S=w*(C?1:.5),F=U):(M=S=w,R=F=U),(E.boxpoints||E.points)&&g>0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=U*(H+G))>M?(q=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var X=0;H-G<=0&&((X=-U*(H-G))>S?(q=!0,V=Y,N=X):X>F&&(V=Y,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(c.length);for(l=0;l<c.length;l++)Z[l]=c[l].pos;E._extremes[f]=n.findExtremes(o,Z,{padded:q,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:V,y:j}[p],ppadplus:{x:j,y:V}[p]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,a=e.yaxis,i=0;i<o.length;i++){for(var l=o[i],c="h"===l?a:n,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||"box"!==d.type&&"candlestick"!==d.type||p.empty||(d.orientation||"v")!==l||d.xaxis!==n._id||d.yaxis!==a._id||u.push(h)}s("box",t,u,c)}},setPositionOffset:s}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767}],882:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../components/color"),o=t("../bar/defaults").handleGroupingDefaults,s=t("./attributes");function l(t,e,r,i){var o,s,l=r("y"),c=r("x"),u=c&&c.length;if(l&&l.length)o="v",u?s=Math.min(n.minRowLength(c),n.minRowLength(l)):(r("x0"),s=n.minRowLength(l));else{if(!u)return void(e.visible=!1);o="h",r("y0"),s=n.minRowLength(c)}e._length=s,a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],i),r("orientation",o)}function c(t,e,r,a){var i=a.prefix,o=n.coerce2(t,e,s,"marker.outliercolor"),l=r("marker.line.outliercolor"),c=r(i+"points",o||l?"suspectedoutliers":void 0);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var u=r("hoveron");"all"!==u&&-1===u.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,a){function o(r,a){return n.coerce(t,e,s,r,a)}l(t,e,o,a),!1!==e.visible&&(o("line.color",(t.marker||{}).color||r),o("line.width"),o("fillcolor",i.addOpacity(e.line.color,.5)),o("whiskerwidth"),o("boxmean"),o("width"),o("notched",void 0!==t.notchwidth)&&o("notchwidth"),c(t,e,o,{prefix:"box"}))},crossTraceDefaults:function(t,e){var r,a;function i(t){return n.coerce(a._input,a,s,t)}for(var l=0;l<t.length;l++){var c=(a=t[l]).type;"box"!==c&&"violin"!==c||(r=a._input,"group"===e[c+"mode"]&&o(r,a,e,i))}},handleSampleDefaults:l,handlePointsDefaults:c}},{"../../components/color":591,"../../lib":716,"../../registry":845,"../bar/defaults":859,"./attributes":879}],883:[function(t,e,r){"use strict";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],884:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../components/fx"),o=t("../../components/color"),s=a.fillText;function l(t,e,r,s){var l,c,u,h,f,p,d,g,v,m,y,x,b,_,w=t.cd,k=t.xa,T=t.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=[],L=M.bdPos,C=M.wHover,P=function(t){return u.c2l(t.pos)+M.bPos-u.c2l(p)};S&&"both"!==A.side?("positive"===A.side&&(v=function(t){var e=P(t);return i.inbox(e,e+C,m)},x=L,b=0),"negative"===A.side&&(v=function(t){var e=P(t);return i.inbox(e-C,e,m)},x=0,b=L)):(v=function(t){var e=P(t);return i.inbox(e-C,e+C,m)},x=b=L),_=S?function(t){return i.inbox(t.span[0]-f,t.span[1]-f,m)}:function(t){return i.inbox(t.min-f,t.max-f,m)},"h"===A.orientation?(f=e,p=r,d=_,g=v,l="y",u=T,c="x",h=k):(f=r,p=e,d=v,g=_,l="x",u=k,c="y",h=T);var O=Math.min(1,L/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}m=t.maxHoverDistance-O,y=t.maxSpikeDistance-O;var I=i.getDistanceFunction(s,d,g,z);if(i.getClosest(w,I,t),!1===t.index)return[];var D=w[t.index],R=A.line.color,F=(A.marker||{}).color;o.opacity(R)&&A.line.width?t.color=R:o.opacity(F)&&A.boxpoints?t.color=F:t.color=A.fillcolor,t[l+"0"]=u.c2p(D.pos+M.bPos-b,!0),t[l+"1"]=u.c2p(D.pos+M.bPos+x,!0),t[l+"LabelVal"]=D.pos;var B=l+"Spike";t.spikeDistance=z(D)*y/m,t[B]=u.c2p(D.pos,!0);var N={},j=["med","q1","q3","min","max"];(A.boxmean||(A.meanline||{}).visible)&&j.push("mean"),(A.boxpoints||A.points)&&j.push("lf","uf");for(var V=0;V<j.length;V++){var U=j[V];if(U in D&&!(D[U]in N)){N[D[U]]=!0;var q=D[U],H=h.c2p(q,!0),G=a.extendFlat({},t);G.attr=U,G[c+"0"]=G[c+"1"]=H,G[c+"LabelVal"]=q,G[c+"Label"]=(M.labels?M.labels[U]+" ":"")+n.hoverLabelText(h,q),G.hoverOnBox=!0,"mean"===U&&"sd"in D&&"sd"===A.boxmean&&(G[c+"err"]=D.sd),t.name="",t.spikeDistance=void 0,t[B]=void 0,G.hovertemplate=!1,E.push(G)}}return E}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,h=t.ya,f=c[0].trace,p=u.c2p(e),d=h.c2p(r),g=i.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(h.c2p(t.y)-d)-e,1-3/e)}),v=!1,m=0;m<c.length;m++){o=c[m];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,v=[m,y])}}if(!v)return!1;l=(o=c[v[0]]).pts[v[1]];var b,_=u.c2p(l.x,!0),w=h.c2p(l.y,!0),k=l.mrc||1;return n=a.extendFlat({},t,{index:l.i,color:(f.marker||{}).color,name:f.name,x0:_-k,x1:_+k,y0:w-k,y1:w+k,spikeDistance:t.distance,hovertemplate:f.hovertemplate}),"h"===f.orientation?(b=h,n.xLabelVal=l.x,n.yLabelVal=o.pos):(b=u,n.xLabelVal=o.pos,n.yLabelVal=l.y),n[b._id.charAt(0)+"Spike"]=b.c2p(o.pos,!0),s(l,f,n),n}e.exports={hoverPoints:function(t,e,r,n){var a,i=t.cd[0].trace.hoveron,o=[];return-1!==i.indexOf("boxes")&&(o=o.concat(l(t,e,r,n))),-1!==i.indexOf("points")&&(a=c(t,e,r)),"closest"===n?a?[a]:o:a?(o.push(a),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764}],885:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults").supplyLayoutDefaults,calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"box",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"./attributes":879,"./calc":880,"./cross_trace_calc":881,"./defaults":882,"./event_data":883,"./hover":884,"./layout_attributes":886,"./layout_defaults":887,"./plot":888,"./select":889,"./style":890}],886:[function(t,e,r){"use strict";e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},{}],887:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("./layout_attributes");function o(t,e,r,a,i){for(var o=i+"Layout",s=!1,l=0;l<r.length;l++){var c=r[l];if(n.traceIs(c,o)){s=!0;break}}s&&(a(i+"mode"),a(i+"gap"),a(i+"groupgap"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return a.coerce(t,e,i,r,n)},"box")},_supply:o}},{"../../lib":716,"../../registry":845,"./layout_attributes":886}],888:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=5,s=.01;function l(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.wdPos||0,f=i.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var v=t.selectAll("path.box").data("violin"!==r.type||r.box.visible?a.identity:[]);v.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),v.exit().remove(),v.each(function(t){if(t.empty)return"M0,0Z";var e=l.c2l(t.pos+u,!0),i=l.l2p(e)+f,v=l.l2p(e-o)+f,m=l.l2p(e+s)+f,y=l.l2p(e-h)+f,x=l.l2p(e+h)+f,b=l.l2p(e-o*g)+f,_=l.l2p(e+s*g)+f,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),T=a.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,M=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),E=c.c2p(t.ln,!0),L=c.c2p(t.un,!0);"h"===r.orientation?n.select(this).attr("d","M"+T+","+b+"V"+_+"M"+w+","+v+"V"+m+(d?"H"+E+"L"+T+","+_+"L"+L+","+m:"")+"H"+k+"V"+v+(d?"H"+L+"L"+T+","+b+"L"+E+","+v:"")+"ZM"+w+","+i+"H"+M+"M"+k+","+i+"H"+S+(0===p?"":"M"+M+","+y+"V"+x+"M"+S+","+y+"V"+x)):n.select(this).attr("d","M"+b+","+T+"H"+_+"M"+v+","+w+"H"+m+(d?"V"+E+"L"+_+","+T+"L"+m+","+L:"")+"V"+k+"H"+v+(d?"V"+L+"L"+b+","+T+"L"+v+","+E:"")+"ZM"+i+","+w+"V"+M+"M"+i+","+k+"V"+S+(0===p?"":"M"+y+","+M+"H"+x+"M"+y+","+S+"H"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,h=n.bPos,f=r.boxpoints||r.points;a.seedPseudoRandom();var p=t.selectAll("g.points").data(f?function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}:[]);p.enter().append("g").attr("class","points"),p.exit().remove();var d=p.selectAll("path").data(function(t){var e,n,i=t.pts2,l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(i.length),e=0;e<i.length;e++)d[e]=1;else for(e=0;e<i.length;e++){var v=Math.max(0,e-o),m=i[v].v,y=Math.min(i.length-1,e+o),x=i[y].v;"all"!==f&&(i[e].v<t.lf?x=Math.min(x,t.lf):m=Math.max(m,t.uf));var b=Math.sqrt(p*(y-v)/(x-m+c))||0;b=a.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<i.length;e++){var _=i[e],w=_.v,k=r.jitter?n*d[e]*(a.pseudoRandom()-.5):0,T=t.pos+h+u*(r.pointpos+k);"h"===r.orientation?(_.y=T,_.x=w):(_.x=T,_.y=w),"suspectedoutliers"===f&&w<t.uo&&w>t.lo&&(_.so=!0)}return i});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(i.translatePoints,l,c)}function u(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.bPosPxOffset||0,f=r.boxmean||(r.meanline||{}).visible;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?a.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each(function(t){var e=l.c2l(t.pos+u,!0),a=l.l2p(e)+h,i=l.l2p(e-o)+h,p=l.l2p(e+s)+h,d=c.c2p(t.mean,!0),g=c.c2p(t.mean-t.sd,!0),v=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+d+","+i+"V"+p+("sd"===f?"m0,0L"+g+","+a+"L"+d+","+i+"L"+v+","+a+"Z":"")):n.select(this).attr("d","M"+i+","+d+"H"+p+("sd"===f?"m0,0L"+a+","+g+"L"+i+","+d+"L"+a+","+v+"Z":""))})}e.exports={plot:function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace boxes").each(function(t){var e,r,a=n.select(this),i=t[0],h=i.t,f=i.trace;h.wdPos=h.bdPos*f.whiskerwidth,!0!==f.visible||h.empty?a.remove():("h"===f.orientation?(e=s,r=o):(e=o,r=s),l(a,{pos:e,val:r},f,h),c(a,{x:o,y:s},f,h),u(a,{pos:e,val:r},f,h))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":612,"../../lib":716,d3:164}],889:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a=t.cd,i=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++)a[r].pts[n].selected=0;else for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++){var l=a[r].pts[n],c=i.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:i.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],890:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing");e.exports={style:function(t,e,r){var o=r||n.select(t).selectAll("g.trace.boxes");o.style("opacity",function(t){return t[0].trace.opacity}),o.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style("stroke-width",e+"px").call(a.stroke,r).call(a.fill,n)}var c=r.selectAll("path.box");if("candlestick"===o.type)c.each(function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style("opacity",o.selectedpoints&&!t.selected?.3:1)}});else{l(c,s,o.line.color,o.fillcolor),r.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(a.stroke,o.line.color);var u=r.selectAll("path.point");i.pointStyle(u,o,t)}})},styleOnSelect:function(t,e,r){var n=e[0].trace,a=r.selectAll("path.point");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,t)}}},{"../../components/color":591,"../../components/drawing":612,d3:164}],891:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,a=t("../ohlc/attributes"),i=t("../box/attributes");function o(t){return{line:{color:n({},i.line.color,{dflt:t}),width:i.line.width,editType:"style"},fillcolor:i.fillcolor,editType:"style"}}e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:n({},i.line.width,{}),editType:"style"},increasing:o(a.increasing.line.color.dflt),decreasing:o(a.decreasing.line.color.dflt),text:a.text,hovertext:a.hovertext,whiskerwidth:n({},i.whiskerwidth,{dflt:0}),hoverlabel:a.hoverlabel}},{"../../lib":716,"../box/attributes":879,"../ohlc/attributes":1064}],892:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../ohlc/calc").calcCommon;function o(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,s=a.getFromId(t,e.xaxis),l=a.getFromId(t,e.yaxis),c=s.makeCalcdata(e,"x"),u=i(t,e,c,l,o);return u.length?(n.extendFlat(u[0].t,{num:r._numBoxes,dPos:n.distinctVals(c).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,u):[{t:{empty:!0}}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"../ohlc/calc":1065}],893:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../ohlc/ohlc_defaults"),o=t("./attributes");function s(t,e,r,n){var i=r(n+".line.color");r(n+".line.width",e.line.width),r(n+".fillcolor",a.addOpacity(i,.5))}e.exports=function(t,e,r,a){function l(r,a){return n.coerce(t,e,o,r,a)}i(t,e,l,a)?(l("line.width"),s(t,e,l,"increasing"),s(t,e,l,"decreasing"),l("text"),l("hovertext"),l("whiskerwidth"),a._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../components/color":591,"../../lib":716,"../ohlc/ohlc_defaults":1069,"./attributes":891}],894:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"candlestick",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:t("./attributes"),layoutAttributes:t("../box/layout_attributes"),supplyLayoutDefaults:t("../box/layout_defaults").supplyLayoutDefaults,crossTraceCalc:t("../box/cross_trace_calc").crossTraceCalc,supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("../box/plot").plot,layerName:"boxlayer",style:t("../box/style").style,hoverPoints:t("../ohlc/hover").hoverPoints,selectPoints:t("../ohlc/select")}},{"../../plots/cartesian":775,"../box/cross_trace_calc":881,"../box/layout_attributes":886,"../box/layout_defaults":887,"../box/plot":888,"../box/style":890,"../ohlc/hover":1067,"../ohlc/select":1071,"./attributes":891,"./calc":892,"./defaults":893}],895:[function(t,e,r){"use strict";var n=t("./axis_defaults"),a=t("../../plot_api/plot_template");e.exports=function(t,e,r,i,o){i("a")||(i("da"),i("a0")),i("b")||(i("db"),i("b0")),function(t,e,r,i){["aaxis","baxis"].forEach(function(o){var s=o.charAt(0),l=t[o]||{},c=a.newContainer(e,o),u={tickfont:"x",id:s+"axis",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(l,c,u),c._categories=c._categories||[],t[o]||"-"===l.type||(t[o]={type:l.type})})}(t,e,r,o)}},{"../../plot_api/plot_template":754,"./axis_defaults":900}],896:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;var a=1/0;var i=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(a=Math.min(c[0],a),i=Math.max(c[1],i))}else a=Math.min(l,a),i=Math.max(l,i)}return[a,i]}(t,0)}},{"../../lib":716}],897:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./axis_attributes"),i=t("../../components/color/attributes"),o=n({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=i.defaultLine,e.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:a,baxis:a,font:o,color:{valType:"color",dflt:i.defaultLine,editType:"plot"},transforms:void 0}},{"../../components/color/attributes":590,"../../plots/font_attributes":790,"./axis_attributes":899}],898:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g,v,m,y=n(r)?"a":"b",x=("a"===y?t.aaxis:t.baxis).smoothing,b="a"===y?t.a2i:t.b2j,_="a"===y?r:a,w="a"===y?a:r,k="a"===y?e.a.length:e.b.length,T="a"===y?e.b.length:e.a.length,A=Math.floor("a"===y?t.b2j(w):t.a2i(w)),M="a"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(T-2,A)),l=A-s,o="a"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),L=S<E?1:-1,C=1e-8*(E-S),P=L>0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,z=L>0?Math.min:Math.max,I=L>0?Math.max:Math.min,D=P(S+C),R=O(E-C),F=[[h=M(S)]];for(i=D;i*L<R*L;i+=L)c=[],g=I(S,i),m=(v=z(E,i+L))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+v)))),f=M(v),x&&(p=o(u,g-u),d=o(u,v-u),c.push([h[0]+p[0]/3*m,h[1]+p[1]/3*m]),c.push([f[0]-d[0]/3*m,f[1]-d[1]/3*m])),c.push(f),F.push(c),h=f;return F}},{"../../lib":716}],899:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../components/color/attributes"),i=t("../../plots/cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").TIME_FORMAT_LINK;e.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:n({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:n({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc"},tickformatstops:o(i.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:a.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgridcolor:{valType:"color",dflt:a.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},_deprecated:{title:{valType:"string",editType:"calc"},titlefont:n({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"}},editType:"calc"}},{"../../components/color/attributes":590,"../../constants/docs":687,"../../plot_api/edit_types":747,"../../plots/cartesian/layout_attributes":776,"../../plots/font_attributes":790}],900:[function(t,e,r){"use strict";var n=t("./attributes"),a=t("../../components/color").addOpacity,i=t("../../registry"),o=t("../../lib"),s=t("../../plots/cartesian/tick_value_defaults"),l=t("../../plots/cartesian/tick_label_defaults"),c=t("../../plots/cartesian/category_order_defaults"),u=t("../../plots/cartesian/set_convert"),h=t("../../plots/cartesian/axis_autotype");e.exports=function(t,e,r){var f=r.letter,p=r.font||{},d=n[f+"axis"];function g(r,n){return o.coerce(t,e,d,r,n)}function v(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name);var m=g("type");("-"===m&&(r.data&&function(t,e){if("-"!==t.type)return;var r=t._id.charAt(0),n=t[r+"calendar"];t.type=h(e,n)}(e,r.data),"-"===e.type?e.type="linear":m=t.type=e.type),g("smoothing"),g("cheatertype"),g("showticklabels"),g("labelprefix",f+" = "),g("labelsuffix"),g("showtickprefix"),g("showticksuffix"),g("separatethousands"),g("tickformat"),g("exponentformat"),g("showexponent"),g("categoryorder"),g("tickmode"),g("tickvals"),g("ticktext"),g("tick0"),g("dtick"),"array"===e.tickmode&&(g("arraytick0"),g("arraydtick")),g("labelpadding"),e._hovertitle=f,"date"===m)&&i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g("color",r.dfltColor),x=y===t.color?y:p.color;g("title.text")&&(o.coerceFont(g,"title.font",{family:p.family,size:Math.round(1.2*p.size),color:x}),g("title.offset")),g("tickangle"),g("autorange",!e.isValidRange(t.range))&&g("rangemode"),g("range"),e.cleanRange(),g("fixedrange"),s(t,e,g,m),l(t,e,g,m,r),c(t,e,g,{data:r.data,dataAttr:f});var b=v("gridcolor",a(y,.3)),_=v("gridwidth"),w=g("showgrid");w||(delete e.gridcolor,delete e.gridwidth);var k=v("startlinecolor",y),T=v("startlinewidth",_);g("startline",e.showgrid||!!k||!!T)||(delete e.startlinecolor,delete e.startlinewidth);var A=v("endlinecolor",y),M=v("endlinewidth",_);return g("endline",e.showgrid||!!A||!!M)||(delete e.endlinecolor,delete e.endlinewidth),w?(g("minorgridcount"),g("minorgridwidth",_),g("minorgridcolor",a(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),"none"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g("tickmode"),e}},{"../../components/color":591,"../../lib":716,"../../plots/cartesian/axis_autotype":765,"../../plots/cartesian/category_order_defaults":768,"../../plots/cartesian/set_convert":782,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_value_defaults":785,"../../registry":845,"./attributes":897}],901:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib").isArray1D,i=t("./cheater_basis"),o=t("./array_minmax"),s=t("./calc_gridlines"),l=t("./calc_labels"),c=t("./calc_clippath"),u=t("../heatmap/clean_2d_array"),h=t("./smooth_fill_2d_array"),f=t("../heatmap/convert_column_xyz"),p=t("./set_convert");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,v=e.baxis,m=e.x,y=e.y,x=[];m&&a(m)&&x.push("x"),y&&a(y)&&x.push("y"),x.length&&f(e,g,v,"a","b",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;m=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var k="index"===g.cheatertype?b.length:b,T="index"===v.cheatertype?_.length:_;m=i(k,T,e.cheaterslope)}e._x=m=u(m),e._y=y=u(y),h(m,b,_),h(y,b,_),p(e),e.setScale();var A=o(m),M=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),L=.5*(M[1]-M[0]),C=.5*(M[1]+M[0]);return A=[E-1.3*S,E+1.3*S],M=[C-1.3*L,C+1.3*L],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,M,{padded:!0}),s(e,"a","b"),s(e,"b","a"),l(e,g),l(e,v),w.clipsegments=c(e._xctrl,e._yctrl,g,v),w.x=m,w.y=y,w.a=b,w.b=_,[w]}},{"../../lib":716,"../../plots/cartesian/axes":764,"../heatmap/clean_2d_array":1e3,"../heatmap/convert_column_xyz":1002,"./array_minmax":896,"./calc_clippath":902,"./calc_gridlines":903,"./calc_labels":904,"./cheater_basis":906,"./set_convert":919,"./smooth_fill_2d_array":920}],902:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a,i,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,h=t.length-1;for(a=0,i=[],o=[];a<=u;a++)i[a]=t[0][a],o[a]=e[0][a];for(s.push({x:i,y:o,bicubic:l}),a=0,i=[],o=[];a<=h;a++)i[a]=t[a][u],o[a]=e[a][u];for(s.push({x:i,y:o,bicubic:c}),a=u,i=[],o=[];a>=0;a--)i[u-a]=t[h][a],o[u-a]=e[h][a];for(s.push({x:i,y:o,bicubic:l}),a=h,i=[],o=[];a>=0;a--)i[h-a]=t[a][0],o[h-a]=e[a][0];return s.push({x:i,y:o,bicubic:c}),s}},{}],903:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var i,o,s,l,c,u,h,f,p,d,g,v,m,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],T=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function z(n){var a,i,o,s,l,c,u,h,p,d,g,v,m=[],y=[],x={};if("b"===e)for(i=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},a=0;a<C;a++)c=Math.min(C-2,a),u=a-c,h=t.evalxy([],a,i),A.smoothing&&a>0&&(p=t.dxydi([],a-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],a-1,o,1,s),m.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),m.push(h[0]),y.push(h[1]),l=h;else for(a=t.a2i(n),c=Math.floor(Math.max(0,Math.min(C-2,a))),u=a-c,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],a,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i<P;i++)o=Math.min(P-2,i),s=i-o,h=t.evalxy([],a,i),A.smoothing&&i>0&&(g=t.dxydj([],c,i-1,u,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],c,i-1,u,1),m.push(h[0]-v[0]/3),y.push(h[1]-v[1]/3)),m.push(h[0]),y.push(h[1]),l=h;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=m,x.y=y,x.smoothing=A.smoothing,x}function I(n){var a,i,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=T.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},a=0;a<E;a++)c[a]=M[n*O][a],u[a]=S[n*O][a];else for(i=Math.max(0,Math.min(C-2,n)),s=Math.min(1,Math.max(0,n-i)),h.xy=function(e){return t.evalxy([],n,e)},h.dxy=function(e,r){return t.dxydj([],i,e,s,r)},a=0;a<L;a++)c[a]=M[a][n*O],u[a]=S[a][n*O];return h.axisLetter=e,h.axis=b,h.crossAxis=A,h.value=x[n],h.constvar=r,h.index=n,h.x=c,h.y=u,h.smoothing=A.smoothing,h}if("array"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort(function(t,e){return t-e}))[0]-1,h=c[1]+1,f=u;f<h;f++)(o=b.arraytick0+b.arraydtick*f)<0||o>x.length-1||_.push(a(I(o),{color:b.gridcolor,width:b.gridwidth}));for(f=u;f<h;f++)if(s=b.arraytick0+b.arraydtick*f,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(v=x[s],m=x[g],i=0;i<b.minorgridcount;i++)(y=g-s)<=0||(d=v+(m-v)*(i+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(I(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(I(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],h=c[1],f=u;f<=h;f++)p=b.tick0+b.dtick*f,_.push(a(z(p),{color:b.gridcolor,width:b.gridwidth}));for(f=u-1;f<h+1;f++)for(p=b.tick0+b.dtick*f,i=0;i<b.minorgridcount;i++)(d=p+b.dtick*(i+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":707,"../../plots/cartesian/axes":764}],904:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,i,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==["start","both"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i)),-1!==["end","both"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i))}},{"../../lib/extend":707,"../../plots/cartesian/axes":764}],905:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=t[0]-e[0],i=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(a*a+i*i,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*a-l*l*o)*n,h=(c*c*i-l*l*s)*n,f=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(f&&u/f),e[1]+(f&&h/f)],[e[0]-(p&&u/p),e[1]-(p&&h/p)]]}},{}],906:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var a,i,o,s,l,c,u=[],h=n(t)?t.length:t,f=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var g=1/0,v=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*s:i/(f-1),a=0;a<h;a++)c=(p?(p[a]-p[0])*o:a/(h-1))-l*r,g=Math.min(c,g),v=Math.max(c,v),u[i][a]=c;var m=1/(v-g),y=-g*m;for(i=0;i<f;i++)for(a=0;a<h;a++)u[i][a]=m*u[i][a]+y;return u}},{"../../lib":716}],907:[function(t,e,r){"use strict";var n=t("./catmull_rom"),a=t("../../lib").ensureArray;function i(t,e,r){var n=-.5*r[0]+1.5*e[0],a=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*a+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,h,f,p,d,g,v,m,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),h=0;h<w;h++)t[h]=a(t[h],_),e[h]=a(e[h],_);for(u=0,f=0;u<b;u++,f+=l?3:1)for(p=t[f],d=e[f],g=r[u],v=o[u],c=0,h=0;c<x;c++,h+=s?3:1)p[h]=g[c],d[h]=v[c];if(s)for(u=0,f=0;u<b;u++,f+=l?3:1){for(c=1,h=3;c<x-1;c++,h+=3)m=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[f][h-1]=m[0][0],e[f][h-1]=m[0][1],t[f][h+1]=m[1][0],e[f][h+1]=m[1][1];y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=y[0],e[f][1]=y[1],y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=y[0],e[f][_-2]=y[1]}if(l)for(h=0;h<_;h++){for(f=3;f<w-3;f+=3)m=n([t[f-3][h],e[f-3][h]],[t[f][h],e[f][h]],[t[f+3][h],e[f+3][h]],l),t[f-1][h]=m[0][0],e[f-1][h]=m[0][1],t[f+1][h]=m[1][0],e[f+1][h]=m[1][1];y=i([t[0][h],e[0][h]],[t[2][h],e[2][h]],[t[3][h],e[3][h]]),t[1][h]=y[0],e[1][h]=y[1],y=i([t[w-1][h],e[w-1][h]],[t[w-3][h],e[w-3][h]],[t[w-4][h],e[w-4][h]]),t[w-2][h]=y[0],e[w-2][h]=y[1]}if(s&&l)for(f=1;f<w;f+=(f+1)%3==0?2:1){for(h=3;h<_-3;h+=3)m=n([t[f][h-3],e[f][h-3]],[t[f][h],e[f][h]],[t[f][h+3],e[f][h+3]],s),t[f][h-1]=.5*(t[f][h-1]+m[0][0]),e[f][h-1]=.5*(e[f][h-1]+m[0][1]),t[f][h+1]=.5*(t[f][h+1]+m[1][0]),e[f][h+1]=.5*(e[f][h+1]+m[1][1]);y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=.5*(t[f][1]+y[0]),e[f][1]=.5*(e[f][1]+y[1]),y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=.5*(t[f][_-2]+y[0]),e[f][_-2]=.5*(e[f][_-2]+y[1])}return[t,e]}},{"../../lib":716,"./catmull_rom":905}],908:[function(t,e,r){"use strict";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],909:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=1-a,d=p*p,g=p*a*2,v=-3*d,m=3*(d-g),y=3*(g-f),x=3*f,b=i*i,_=b*i,w=1-i,k=w*w,T=k*w;for(h=0;h<t.length;h++)o=v*(u=t[h])[n][r]+m*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=v*u[n+1][r]+m*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=v*u[n+2][r]+m*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=v*u[n+3][r]+m*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[h]=T*o+3*(k*i*s+w*b*l)+_*c;return e}:e?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),r*=3;var u=a*a,h=1-a,f=h*h,p=h*a*2,d=-3*f,g=3*(f-p),v=3*(p-u),m=3*u,y=1-i;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+v*c[n][r+2]+m*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+v*c[n+1][r+2]+m*c[n+1][r+3],e[l]=y*o+i*s;return e}:r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n][r+1]-h[n][r],s=h[n+1][r+1]-h[n+1][r],l=h[n+2][r+1]-h[n+2][r],c=h[n+3][r+1]-h[n+3][r],e[u]=v*o+3*(g*i*s+d*f*l)+p*c;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+i*s;return e}}},{}],910:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d,m=i*i,y=1-i,x=y*y,b=y*i*2,_=-3*x,w=3*(x-b),k=3*(b-m),T=3*m;for(h=0;h<t.length;h++)o=_*(u=t[h])[n][r]+w*u[n+1][r]+k*u[n+2][r]+T*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+T*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+T*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+T*u[n+3][r+3],e[h]=v*o+3*(g*a*s+d*f*l)+p*c;return e}:e?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n+1][r]-h[n][r],s=h[n+1][r+1]-h[n][r+1],l=h[n+1][r+2]-h[n][r+2],c=h[n+1][r+3]-h[n][r+3],e[u]=v*o+3*(g*i*s+d*f*l)+p*c;return e}:r?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),n*=3;var u=1-a,h=i*i,f=1-i,p=f*f,d=f*i*2,g=-3*p,v=3*(p-d),m=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+v*c[n+1][r]+m*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+v*c[n+1][r+1]+m*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+a*s;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+a*s;return e}}},{}],911:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=e-2,o=r-2;return n&&a?function(e,r,n){var a,s,l,c,u,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3,p*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,T=k*k,A=T*k;for(h=0;h<t.length;h++)a=b*(u=t[h])[p][f]+3*(x*d*u[p][f+1]+y*v*u[p][f+2])+m*u[p][f+3],s=b*u[p+1][f]+3*(x*d*u[p+1][f+1]+y*v*u[p+1][f+2])+m*u[p+1][f+3],l=b*u[p+2][f]+3*(x*d*u[p+2][f+1]+y*v*u[p+2][f+2])+m*u[p+2][f+3],c=b*u[p+3][f]+3*(x*d*u[p+3][f+1]+y*v*u[p+3][f+2])+m*u[p+3][f+3],e[h]=A*a+3*(T*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+g*h[p+1][f],s=_*h[p][f+1]+g*h[p+1][f+1],l=_*h[p][f+2]+g*h[p+1][f+1],c=_*h[p][f+3]+g*h[p+1][f+1],e[u]=b*a+3*(x*d*s+y*v*l)+m*c;return e}:a?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));p*=3;var v=g*g,m=v*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+d*h[p][f+1],s=_*h[p+1][f]+d*h[p+1][f+1],l=_*h[p+2][f]+d*h[p+2][f+1],c=_*h[p+3][f]+d*h[p+3][f+1],e[u]=b*a+3*(x*g*s+y*v*l)+m*c;return e}:function(e,r,n){e||(e=[]);var a,s,l,c,u=Math.max(0,Math.min(Math.floor(r),i)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)a=g*(c=t[l])[h][u]+f*c[h][u+1],s=g*c[h+1][u]+f*c[h+1][u+1],e[l]=d*a+p*s;return e}}},{}],912:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./xy_defaults"),i=t("./ab_defaults"),o=t("./attributes"),s=t("../../components/color/attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,o,r,a)}e._clipPathId="clip"+e.uid+"carpet";var u=c("color",s.defaultLine);(n.coerceFont(c,"font"),c("carpet"),i(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),a(t,e,c)||(e.visible=!1),e._cheater&&c("cheaterslope")):e.visible=!1}},{"../../components/color/attributes":590,"../../lib":716,"./ab_defaults":895,"./attributes":897,"./xy_defaults":921}],913:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),plot:t("./plot"),calc:t("./calc"),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":775,"./attributes":897,"./calc":901,"./defaults":912,"./plot":918}],914:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r,n=t._fullData.length,a=0;a<n;a++){var i=t._fullData[a];if(i.index!==e.index&&("carpet"===i.type&&(r||(r=i),i.carpet===e.carpet)))return i}return r}},{}],915:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(0===t.length)return"";var n,a=[],i=r?3:1;for(n=0;n<t.length;n+=i)a.push(t[n]+","+e[n]),r&&n<t.length-i&&(a.push("C"),a.push([t[n+1]+","+e[n+1],t[n+2]+","+e[n+2]+" "].join(" ")));return a.join(r?"":"L")}},{}],916:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var a;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],a=0;a<e.length;a++)t[a]=r(e[a]);return t}},{"../../lib":716}],917:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i){var o=a[0]*t.dpdx(e),s=a[1]*t.dpdy(r),l=1,c=1;if(i){var u=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=(a[0]*i[0]+a[1]*i[1])/u/h;c=Math.max(0,f)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],918:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment");function h(t,e,r,a,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each(function(r){var a=r,s=a.x,l=a.y,c=i([],s,t.c2p),u=i([],l,e.c2p),h="M"+o(c,u,a.smoothing);n.select(this).attr("d",h).style("stroke-width",a.width).style("stroke",a.color).style("fill","none")}),u.exit().remove()}function f(t,e,r,i,o,c,u,h){var f=c.selectAll("text."+h).data(u);f.enter().append("text").classed(h,!0);var p=0,d={};return f.each(function(o,c){var u;if("auto"===o.axis.tickangle)u=s(i,e,r,o.xy,o.dxy);else{var h=(o.axis.tickangle+180)*Math.PI/180;u=s(i,e,r,o.xy,[Math.cos(h),Math.sin(h)])}c||(d={angle:u.angle,flip:u.flip});var f=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({"text-anchor":f>0?"start":"end","data-notex":1}).call(a.font,o.font).text(o.text).call(l.convertToTspans,t),v=a.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*f+","+.3*v.height+")"),p=Math.max(p,v.width+o.axis.labelpadding)}),f.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,a){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(a,r,"trace").each(function(e){var r=n.select(this),a=e[0],d=a.trace,v=d.aaxis,m=d.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",d.opacity),h(l,u,x,v,"a",v._gridlines),h(l,u,x,m,"b",m._gridlines),h(l,u,y,v,"a",v._minorgridlines),h(l,u,y,m,"b",m._minorgridlines),h(l,u,b,v,"a-boundary",v._boundarylines),h(l,u,b,m,"b-boundary",m._boundarylines);var w=f(t,l,u,d,a,_,v._labels,"a-label"),k=f(t,l,u,d,a,_,m._labels,"b-label");!function(t,e,r,n,a,i,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),v=c.aggNums(Math.max,null,r.a),m=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+v),h=m,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,a,i,f,r.dxydb_rough(u,h)));g(t,e,r,n,f,p,r.aaxis,a,i,o,"a-title"),u=d,h=.5*(m+y),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,a,i,f,r.dxyda_rough(u,h)));g(t,e,r,n,f,p,r.baxis,a,i,l,"b-title")}(t,_,d,a,l,u,w,k),function(t,e,r,n,a){var s,l,u,h,f=r.select("#"+t._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(f,"path","carpetboundary"),d=e.clipsegments,g=[];for(h=0;h<d.length;h++)s=d[h],l=i([],s.x,n.c2p),u=i([],s.y,a.c2p),g.push(o(l,u,s.bicubic));var v="M"+g.join("L")+"Z";f.attr("id",t._clipPathId),p.attr("d",v)}(d,a,p,l,u)})};var p=u.LINE_SPACING,d=(1-u.MID_SHIFT)/p+1;function g(t,e,r,i,o,c,u,h,f,g,v){var m=[];u.title.text&&m.push(u.title.text);var y=e.selectAll("text."+v).data(m),x=g.maxExtent;y.enter().append("text").classed(v,!0),y.each(function(){var e=s(r,h,f,o,c);-1===["start","both"].indexOf(u.showticklabels)&&(x=0);var i=u.title.font.size;x+=i+u.title.offset;var v=(g.angle+(g.flip<0?180:0)-e.angle+450)%360,m=v>90&&v<270,y=n.select(this);y.text(u.title.text).call(l.convertToTspans,t),m&&(x=(-l.lineCount(y)+d)*p*i-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(a.font,u.title.font)}),y.exit().remove()}},{"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"./makepath":915,"./map_1d_array":916,"./orient_text":917,d3:164}],919:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/search").findBin,i=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],g=r[0],v=r[u-1],m=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=m*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,v+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<v},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>v},t.setScale=function(){var e=t._x,r=t._y,n=i(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(a(t,e),c-2)),n=e[r],i=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(i-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(a(t,r),u-2)),n=r[e],i=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(i-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,a,i){if(!i&&(n<e[0]||n>e[c-1]|a<r[0]||a>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(a),l=t.evalxy([],o,s);if(i){var h,f,p,d,g=0,v=0,m=[];n<e[0]?(h=0,f=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(h=c-2,f=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),a<r[0]?(p=0,d=0,v=(a-r[0])/(r[1]-r[0])):a>r[u-1]?(p=u-2,d=1,v=(a-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(m,h,p,f,d),l[0]+=m[0]*g,l[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),l[0]+=m[0]*v,l[1]+=m[1]*v)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,a){var i=t.dxydi(null,e,r,n,a),o=t.dadi(e,n);return[i[0]/o,i[1]/o]},t.dxydb=function(e,r,n,a){var i=t.dxydj(null,e,r,n,a),o=t.dbdj(r,a);return[i[0]/o,i[1]/o]},t.dxyda_rough=function(e,r,n){var a=m*(n||.1),i=t.ab2xy(e+a,r,!0),o=t.ab2xy(e-a,r,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dxydb_rough=function(e,r,n){var a=y*(n||.1),i=t.ab2xy(e,r+a,!0),o=t.ab2xy(e,r-a,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":735,"./compute_control_points":907,"./constants":908,"./create_i_derivative_evaluator":909,"./create_j_derivative_evaluator":910,"./create_spline_evaluator":911}],920:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var a,i,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,a=0,i=0;return e>0&&void 0!==(n=t[r][e-1])&&(i++,a+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(i++,a+=n),r>0&&void 0!==(n=t[r-1][e])&&(i++,a+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(i++,a+=n),a/Math.max(1,i)}var f,p,d,g,v,m,y,x,b,_,w,k=0;for(a=0;a<c;a++)for(i=0;i<u;i++)void 0===t[i][a]&&(s.push(a),l.push(i),t[i][a]=h(a,i)),k=Math.max(k,Math.abs(t[i][a]));if(!s.length)return t;var T=0,A=0,M=s.length;do{for(T=0,o=0;o<M;o++){a=s[o],i=l[o];var S,E,L,C,P,O,z=0,I=0;0===a?(L=e[P=Math.min(c-1,2)],C=e[1],S=t[i][P],I+=(E=t[i][1])+(E-S)*(e[0]-C)/(C-L),z++):a===c-1&&(L=e[P=Math.max(0,c-3)],C=e[c-2],S=t[i][P],I+=(E=t[i][c-2])+(E-S)*(e[c-1]-C)/(C-L),z++),(0===a||a===c-1)&&i>0&&i<u-1&&(f=r[i+1]-r[i],I+=((p=r[i]-r[i-1])*t[i+1][a]+f*t[i-1][a])/(p+f),z++),0===i?(L=r[O=Math.min(u-1,2)],C=r[1],S=t[O][a],I+=(E=t[1][a])+(E-S)*(r[0]-C)/(C-L),z++):i===u-1&&(L=r[O=Math.max(0,u-3)],C=r[u-2],S=t[O][a],I+=(E=t[u-2][a])+(E-S)*(r[u-1]-C)/(C-L),z++),(0===i||i===u-1)&&a>0&&a<c-1&&(f=e[a+1]-e[a],I+=((p=e[a]-e[a-1])*t[i][a+1]+f*t[i][a-1])/(p+f),z++),z?I/=z:(d=e[a+1]-e[a],g=e[a]-e[a-1],x=(v=r[i+1]-r[i])*(m=r[i]-r[i-1])*(v+m),I=((y=d*g*(d+g))*(m*t[i+1][a]+v*t[i-1][a])+x*(g*t[i][a+1]+d*t[i][a-1]))/(x*(g+d)+y*(m+v))),T+=(_=(b=I-t[i][a])/k)*_,w=z?0:.85,t[i][a]+=b*(1+w)}T=Math.sqrt(T)}while(A++<100&&T>1e-5);return n.log("Smoother converged to",T,"after",A,"iterations"),t}},{"../../lib":716}],921:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var a=r("x"),i=a&&a.length,o=r("y"),s=o&&o.length;if(!i&&!s)return!1;if(e._cheater=!a,i&&!n(a)||s&&!n(o))e._length=null;else{var l=i?a.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":716}],922:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../plots/attributes"),s=t("../../components/color/attributes").defaultLine,l=t("../../lib/extend").extendFlat,c=a.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:a.locationmode,z:{valType:"data_array",editType:"calc"},text:l({},a.text,{}),hovertext:l({},a.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:a.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:a.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n()},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scattergeo/attributes":1159}],923:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");function l(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h<c;h++){var f=u[h]={},p=e.locations[h],d=e.z[h];r(p)&&n(d)?(f.loc=p,f.z=d):(f.loc=null,f.z=a),f.index=h}return o(u,e),i(t,e,{vals:e.z,containerStr:"",cLetter:"z"}),s(u,e),u}},{"../../components/colorscale/calc":599,"../../constants/numerical":692,"../scatter/arrays_to_calcdata":1117,"../scatter/calc_selection":1120,"fast-isnumeric":227}],924:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("locations"),c=s("z");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s("locationmode"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),a(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":922}],925:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){t.location=e.location,t.z=e.z;var i=n[a];return i.fIn&&(t.properties=i.fIn.properties),t}},{}],926:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("./attributes"),i=t("../../lib").fillText;e.exports=function(t,e,r){var o,s,l,c,u=t.cd,h=u[0].trace,f=t.subplot;for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains([e,r])&&(c=!c),o._polygons[l].contains([e+360,r])&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(f.mockAxis,f.mockAxis.c2l(o.z),"hover").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(e.hovertemplate)return;var n=r.hi||e.hoverinfo,o=String(r.loc),s="all"===n?a.hoverinfo.flags:n.split("+"),l=-1!==s.indexOf("name"),c=-1!==s.indexOf("location"),u=-1!==s.indexOf("z"),h=-1!==s.indexOf("text"),f=[];!l&&c?t.nameOverride=o:(l&&(t.nameOverride=e.name),c&&f.push(o));u&&f.push(t.zLabel);h&&i(r,e,f);t.extraText=f.join("<br>")}(t,h,o,f.mockAxis),[t]}},{"../../lib":716,"../../plots/cartesian/axes":764,"./attributes":922}],927:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"choropleth",basePlotModule:t("../../plots/geo"),categories:["geo","noOpacity"],meta:{}}},{"../../plots/geo":794,"../heatmap/colorbar":1001,"./attributes":922,"./calc":923,"./defaults":924,"./event_data":925,"./hover":926,"./plot":928,"./select":929,"./style":930}],928:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,a=o(r,e),i=0;i<n;i++){var l=t[i],c=s(r.locationmode,l.loc,a);c?(l.geojson=c,l.ct=c.properties.ct,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,a,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),a=0;a<t.length;a++)e[a]=[t[a][0]<0?t[a][0]+360:t[a][0],t[a][1]];c.push(i.tester(e))}:"ATA"===l?function(t){var e=u(t);if(null===e)return c.push(i.tester(t));var r=new Array(t.length+1),n=0;for(a=0;a<t.length;a++)a>e?r[n++]=[t[a][0]+360,t[a][1]]:a===e?(r[n++]=t[a],r[n++]=[t[a][0],-90]):r[n++]=t[a];var o=i.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(i.tester(t))},o.type){case"MultiPolygon":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case"Polygon":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports={plot:function(t,e,r){for(var i=0;i<r.length;i++)c(r[i],e.topojson);var o=e.layers.backplot.select(".choroplethlayer");a.makeTraceGroups(o,r,"trace choropleth").each(function(e){var r=n.select(this).selectAll("path.choroplethlocation").data(a.identity);r.enter().append("path").classed("choroplethlocation",!0),r.exit().remove(),l(t,e)})},feature2polygons:u}},{"../../lib":716,"../../lib/geo_location_utils":710,"../../lib/polygon":728,"../../lib/topojson_utils":743,"./style":930,d3:164}],929:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(a=(n=s[r]).ct)&&(i=l.c2p(a),o=c.c2p(a),e.contains([i,o],null,r,t)?(u.push({pointNumber:r,lon:a[0],lat:a[1]}),n.selected=1):n.selected=0);return u}},{}],930:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing"),o=t("../../components/colorscale");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(".choroplethlocation"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFuncFromTrace(r);s.each(function(t){n.select(this).attr("fill",u(t.z)).call(a.stroke,t.mlc||c.color).call(i.dashLine,"",t.mlw||c.width||0).style("opacity",l.opacity)}),i.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?i.selectedPointStyle(r.selectAll(".choroplethlocation"),n,t):s(t,e)}}},{"../../components/color":591,"../../components/colorscale":603,"../../components/drawing":612,d3:164}],931:[function(t,e,r){"use strict";var n=t("../choropleth/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../lib/extend").extendFlat;e.exports=o({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:o({},n.marker.line.color,{editType:"plot"}),width:o({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:o({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:o({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:o({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:i({},{keys:["properties"]})},a("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/template_attributes":840,"../choropleth/attributes":922}],932:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("@turf/area"),i=t("@turf/centroid"),o=t("../../lib"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../../lib/geojson_utils").makeBlank,u=t("../choropleth/plot").feature2polygons;function h(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=l.makeSelectedPointStyleFns(r),i=0;i<t.length;i++){var s=t[i];s.fOut&&(s.fOut.properties.mo2=a.selectedOpacityFn(s))}e={type:"identity",property:"mo2"}}else e=o.isArrayOrTypedArray(r.marker.opacity)?{type:"identity",property:"mo"}:r.marker.opacity;return o.extendFlat(n.fill.paint,{"fill-opacity":e}),o.extendFlat(n.line.paint,{"line-opacity":e}),n}e.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,l={layout:{visibility:"none"},paint:{}},f={layout:{visibility:"none"},paint:{}},p=e._opts={fill:l,line:f,geojson:c()};if(!r)return p;var d="string"==typeof e.geojson?(window.PlotlyGeoAssets||{})[e.geojson]:e.geojson;if(!o.isPlainObject(d))return o.error("Oops ... something when wrong when fetching "+e.geojson),p;var g,v={},m=[];for(g=0;g<t.length;g++){var y=t[g];y.loc&&(v[y.loc]=y)}var x,b,_,w=s.makeColorScaleFuncFromTrace(e),k=e.marker,T=k.line||{};function A(t){var e=v[t.id];if(e){var r=t.geometry;if("Polygon"===r.type||"MultiPolygon"===r.type){var n={fc:w(e.z)};x&&(n.mo=x(e)),b&&(n.mlc=b(e)),_&&(n.mlw=_(e));var s={type:"Feature",geometry:r,properties:n};e._polygons=u(s),e.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,o=0,s=0;s<n.length;s++){var l={type:"Polygon",coordinates:n[s]},c=a.default(l);c>o&&(o=c,e=l)}else e=r;return i.default(e).geometry.coordinates}(s),e.fIn=t,e.fOut=s,m.push(s)}else o.log(["Location with id",e.loc,"does not have a valid GeoJSON geometry,","choroplethmapbox traces only support *Polygon* and *MultiPolygon* geometries."].join(" "))}delete v[t.id]}switch(o.isArrayOrTypedArray(k.opacity)&&(x=function(t){var e=t.mo;return n(e)?+o.constrain(e,0,1):0}),o.isArrayOrTypedArray(T.color)&&(b=function(t){return t.mlc}),o.isArrayOrTypedArray(T.width)&&(_=function(t){return t.mlw}),d.type){case"FeatureCollection":var M=d.features;for(g=0;g<M.length;g++)A(M[g]);break;case"Feature":A(d);break;default:return o.warn(["Invalid GeoJSON type",(d.type||"none")+",","choroplethmapbox traces only support *FeatureCollection* and *Feature* types."].join(" ")),p}for(var S in v)o.log("Location with id "+S+" does not have a matching feature");var E=x?{type:"identity",property:"mo"}:k.opacity;return o.extendFlat(l.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":E}),o.extendFlat(f.paint,{"line-color":b?{type:"identity",property:"mlc"}:T.color,"line-width":_?{type:"identity",property:"mlw"}:T.width,"line-opacity":E}),l.layout.visibility="visible",f.layout.visibility="visible",p.geojson={type:"FeatureCollection",features:m},h(t),p},convertOnSelect:h}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/geojson_utils":711,"../choropleth/plot":928,"@turf/area":57,"@turf/centroid":58,"fast-isnumeric":227}],933:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("locations"),c=s("z"),u=s("geojson");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(c)&&c.length&&("string"==typeof u&&""!==u||n.isPlainObject(u))?(e._length=Math.min(l.length,c.length),s("below"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),a(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":931}],934:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../choropleth/calc"),plot:t("./plot"),hoverPoints:t("../choropleth/hover"),eventData:t("../choropleth/event_data"),selectPoints:t("../choropleth/select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var a=r[n].id;if("string"==typeof a&&0===a.indexOf("water"))for(var i=n+1;i<r.length;i++)if("string"==typeof(a=r[i].id)&&-1===a.indexOf("plotly-"))return a}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","noOpacity"],meta:{hr_name:"choropleth_mapbox"}}},{"../../plots/mapbox":819,"../choropleth/calc":923,"../choropleth/event_data":925,"../choropleth/hover":926,"../choropleth/select":929,"../heatmap/colorbar":1001,"./attributes":931,"./defaults":933,"./plot":935}],935:[function(t,e,r){"use strict";var n=t("./convert").convert,a=t("./convert").convertOnSelect,i=t("../../plots/mapbox/constants").traceLayerPrefix;function o(t,e){this.type="choroplethmapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["fill",i+e+"-fill"],["line",i+e+"-line"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t))},s.updateOnSelect=function(t){this._update(a(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var a=0;a<r.length;a++){var i=r[a],o=i[0],s=i[1],l=t[o];e.setOptions(s,"setLayoutProperty",l.layout),"visible"===l.layout.visibility&&e.setOptions(s,"setPaintProperty",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new o(t,r.uid),i=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(i,{type:"geojson",data:s.geojson}),a._addLayers(s,l),e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":817,"./convert":932}],936:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach(function(t){l[t]=i[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],937:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,a=e.v,i=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,a.length,i.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],h=a[c],f=i[c],p=Math.sqrt(u*u+h*h+f*f);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],938:[function(t,e,r){"use strict";var n=t("gl-cone3d"),a=t("gl-cone3d").createConeMesh,i=t("../../lib").simpleMap,o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],a=this.data.z[e],i=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,a,i,o,s,Math.sqrt(i*i+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var h={xaxis:0,yaxis:1,zaxis:2},f={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,c={};function u(t,e){var n=r[e],o=a[h[e]];return i(t,function(t){return n.d2l(t)*o})}c.vectors=l(u(e.u,"xaxis"),u(e.v,"yaxis"),u(e.w,"zaxis"),e._len),c.positions=l(u(e.x,"xaxis"),u(e.y,"yaxis"),u(e.z,"zaxis"),e._len);var d=s(e);c.colormap=o(e),c.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],c.coneOffset=f[e.anchor],"scaled"===e.sizemode?c.coneSize=e.sizeref||.5:c.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var g=n(c),v=e.lightposition;return g.lightPosition=[v.x,v.y,v.z],g.ambient=e.lighting.ambient,g.diffuse=e.lighting.diffuse,g.specular=e.lighting.specular,g.roughness=e.lighting.roughness,g.fresnel=e.lighting.fresnel,g.opacity=e.opacity,e._pad=p[e.anchor]*g.vectorScale*g.coneScale*e._normMax,g}u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new c(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/gl3d/zip3":815,"gl-cone3d":244}],939:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("u"),c=s("v"),u=s("w"),h=s("x"),f=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s("sizeref"),s("sizemode"),s("anchor"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),a(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":936}],940:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"cone",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},{"../../plots/gl3d":804,"./attributes":936,"./calc":937,"./convert":938,"./defaults":939}],941:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../components/drawing/attributes").dash,s=t("../../plots/font_attributes"),l=t("../../lib/extend").extendFlat,c=t("../../constants/filter_ops"),u=c.COMPARISON_OPS2,h=c.INTERVAL_OPS,f=(t("../../constants/docs").FORMAT_LINK,a.line);e.exports=l({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate,hoverongaps:n.hoverongaps,connectgaps:l({},n.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:s({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot"},operation:{valType:"enumerated",values:[].concat(u).concat(h),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:l({},f.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:o,smoothing:l({},f.smoothing,{}),editType:"plot"}},i("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../constants/docs":687,"../../constants/filter_ops":688,"../../lib/extend":707,"../../plots/font_attributes":790,"../heatmap/attributes":998,"../scatter/attributes":1118}],942:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),a=t("../heatmap/calc"),i=t("./set_contours"),o=t("./end_plus");e.exports=function(t,e){var r=a(t,e),s=r[0].z;i(e,s);var l,c=e.contours,u=n.extractOpts(e);if("heatmap"===c.coloring&&u.auto&&!1===e.autocontour){var h=c.start,f=o(c),p=c.size||1,d=Math.floor((f-h)/p)+1;isFinite(p)||(p=1,d=1);var g=h-p/2;l=[g,g+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:"z"}),r}},{"../../components/colorscale":603,"../heatmap/calc":999,"./end_plus":952,"./set_contours":960}],943:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t[0],a=n.z;switch(e.type){case"levels":var i=Math.min(a[0][0],a[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(i>o.level||o.starts.length&&i===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r<l;r++)u=Math.min(u,a[r][0]),u=Math.min(u,a[r][s-1]),c=Math.max(c,a[r][0]),c=Math.max(c,a[r][s-1]);for(r=1;r<s-1;r++)u=Math.min(u,a[0][r]),u=Math.min(u,a[l-1][r]),c=Math.max(c,a[0][r]),c=Math.max(c,a[l-1][r]);var h,f,p=e.value;switch(e._operation){case">":p>c&&(n.prefixBoundary=!0);break;case"<":(p<u||n.starts.length&&p===u)&&(n.prefixBoundary=!0);break;case"[]":h=Math.min(p[0],p[1]),((f=Math.max(p[0],p[1]))<u||h>c||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),h<u&&f>c&&(n.prefixBoundary=!0)}}}},{}],944:[function(t,e,r){"use strict";var n=t("../../components/colorscale").extractOpts,a=t("./make_color_map"),i=t("./end_plus");e.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=a(e,{isColorbar:!0});if("heatmap"===c){var h=n(e);r._fillgradient=e.colorscale,r._zrange=[h.min,h.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:i(o),size:l}}}},{"../../components/colorscale":603,"./end_plus":952,"./make_color_map":957}],945:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],946:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./label_defaults"),i=t("../../components/color"),o=i.addOpacity,s=i.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,i,l,h){var f,p,d,g=e.contours,v=r("contours.operation");(g._operation=c[v],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===v?f=g.showlines=!0:(f=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),f)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),a(r,i,p,h)}},{"../../components/color":591,"../../constants/filter_ops":688,"./label_defaults":956,"fast-isnumeric":227}],947:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),a=t("fast-isnumeric");function i(t,e){var r,i=Array.isArray(e);function o(t){return a(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(i?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=i?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=i?e.map(o):[o(e)]),r}function o(t){return function(e){e=i(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=i(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":688,"fast-isnumeric":227}],948:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n("contours.start"),i=n("contours.end"),o=!1===a||!1===i,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],949:[function(t,e,r){"use strict";var n=t("../../lib");function a(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,i,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),i=t[0],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);return t;case"][":var c=s;s=l,l=c;case"[]":for(2!==t.length&&n.warn("Contour data invalid for the specified inequality range operation."),i=a(t[0]),o=a(t[1]),r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);for(;o.edgepaths.length;)i.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)i.paths.push(l(o.paths.shift()));for(;o.starts.length;)i.starts.push(l(o.starts.shift()));return[i]}}},{"../../lib":716}],950:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./constraint_defaults"),o=t("./contours_defaults"),s=t("./style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,l,r,a)}if(a(t,e,u,c)){u("text"),u("hovertext"),u("hovertemplate"),u("hoverongaps");var h="constraint"===u("contours.type");u("connectgaps",n.isArray1D(e.z)),h?i(t,e,u,c,r):(o(t,e,u,function(r){return n.coerce2(t,e,l,r)}),s(t,e,u,c))}else e.visible=!1}},{"../../lib":716,"../heatmap/xyz_defaults":1012,"./attributes":941,"./constraint_defaults":946,"./contours_defaults":948,"./style_defaults":962}],951:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constraint_mapping"),i=t("./end_plus");e.exports=function(t,e,r){for(var o="constraint"===t.type?a[t._operation](t.value):t,s=o.size,l=[],c=i(o),u=r.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},f=o.start;f<c;f+=s)if(l.push(n.extendFlat({level:f,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},h)),l.length>1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":716,"./constraint_mapping":947,"./end_plus":952}],952:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],953:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants");function i(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(","),h=t.crossings[u],f=function(t,e,r){var n=0,i=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==a.BOTTOMSTART.indexOf(t)?i=1:-1!==a.LEFTSTART.indexOf(t)?n=1:-1!==a.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,g=t.z[0].length,v=e.slice(),m=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=a.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=a.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=a.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(","),i(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=f[0]&&(e[0]<0||e[0]>g-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===v[0]&&e[1]===v[1]&&f[0]===m[0]&&f[1]===m[1]||r&&y)break;h=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,T,A,M,S,E,L,C,P,O,z,I=i(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c<p.length;c++)C=p[c],P=p[c-1],void 0,void 0,O=C[2]-P[2],z=C[3]-P[3],D+=A=Math.sqrt(O*O+z*z),F.push(A);var N=D/F.length*R;function j(t){return p[t%p.length]}for(c=p.length-2;c>=B;c--)if((x=F[c])<N){for(_=0,b=c-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(I&&c===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];k=c-b+_+1,T=Math.floor((c+b+_+2)/2),w=I||c!==p.length-2?I||-1!==b?k%2?j(T):[(j(T)[0]+j(T+1)[0])/2,(j(T)[1]+j(T+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,c-b+1,w),c=b+1,_&&(B=_),I&&(c===p.length-2?p[_]=p[p.length-1]:0===c&&(p[p.length-1]=p[0]))}for(p.splice(0,B),c=0;c<p.length;c++)p[c].length=2;if(!(p.length<2))if(I)p.pop(),t.paths.push(p);else{r||n.log("Unclosed interior contour?",t.level,v.join(","),p.join("L"));var V=!1;for(M=0;M<t.edgepaths.length;M++)if(E=t.edgepaths[M],!V&&i(E[0],p[p.length-1],o,l)){p.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(i((L=t.edgepaths[S])[L.length-1],p[0],o,l)){U=!0,p.shift(),t.edgepaths.splice(M,1),S===M?t.paths.push(p.concat(L)):(S>M&&S--,t.edgepaths[S]=L.concat(p,E));break}U||(t.edgepaths[M]=p.concat(E))}for(M=0;M<t.edgepaths.length&&!V;M++)i((E=t.edgepaths[M])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[M]=E.concat(p),V=!0);V||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),a=e[1]+Math.max(r[1],0),i=t.z[a][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-i)/(t.z[a][n+1]-i);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[a],!0),n+l,a]}var c=(t.level-i)/(t.z[a+1][n]-i);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[a]+c*t.y[a+1],!0),n,a+c]}e.exports=function(t,e,r){var a,i,s,l;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(s=t[i],l=0;l<s.starts.length;l++)o(s,s.starts[l],"edge",e,r);for(a=0;Object.keys(s.crossings).length&&a<1e4;)a++,o(s,Object.keys(s.crossings)[0].split(",").map(Number),void 0,e,r);1e4===a&&n.log("Infinite loop in contour?")}}},{"../../lib":716,"./constants":945}],954:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../heatmap/hover");e.exports=function(t,e,r,i,o){var s=a(t,e,r,i,o,!0);return s&&s.forEach(function(t){var e=t.trace;"constraint"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))}),s}},{"../../components/color":591,"../heatmap/hover":1005}],955:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style"),colorbar:t("./colorbar"),hoverPoints:t("./hover"),moduleType:"trace",name:"contour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},{"../../plots/cartesian":775,"./attributes":941,"./calc":942,"./colorbar":944,"./defaults":950,"./hover":954,"./plot":959,"./style":961}],956:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a){if(a||(a={}),t("contours.showlabels")){var i=e.font;n.coerceFont(t,"contours.labelfont",{family:i.family,size:i.size,color:r}),t("contours.labelformat")}!1!==a.hasHover&&t("zhoverformat")}},{"../../lib":716}],957:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/colorscale"),i=t("./end_plus");e.exports=function(t){var e=t.contours,r=e.start,o=i(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c="lines"===e.coloring?0:1,u=a.extractOpts(t);isFinite(s)||(s=1,l=1);var h,f,p=u.reversescale?a.flipScale(u.colorscale):u.colorscale,d=p.length,g=new Array(d),v=new Array(d);if("heatmap"===e.coloring){var m=u.min,y=u.max;for(f=0;f<d;f++)h=p[f],g[f]=h[0]*(y-m)+m,v[f]=h[1];var x=n.extent([m,y,e.start,e.start+s*(l-1)]),b=x[m<y?0:1],_=x[m<y?1:0];b!==m&&(g.splice(0,0,b),v.splice(0,0,v[0])),_!==y&&(g.push(_),v.push(v[v.length-1]))}else for(f=0;f<d;f++)h=p[f],g[f]=(h[0]*(l+c-1)-c/2)*s+r,v[f]=h[1];return a.makeColorScaleFunc({domain:g,range:v},{noNumericCheck:!0})}},{"../../components/colorscale":603,"./end_plus":952,d3:164}],958:[function(t,e,r){"use strict";var n=t("./constants");function a(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,i,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(i=o.slice(),0===e&&(i=i.concat(n.LEFTSTART)),e===d-2&&(i=i.concat(n.RIGHTSTART)),s=e+","+r,l=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],h=0;h<t.length;h++)(c=a((u=t[h]).level,l))&&(u.crossings[s]=c,-1!==i.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==i.indexOf(c,i.indexOf(c)+1)&&u.starts.push([e,r])))}},{"./constants":945}],959:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../components/colorscale"),s=t("../../lib/svg_text_utils"),l=t("../../plots/cartesian/axes"),c=t("../../plots/cartesian/set_convert"),u=t("../heatmap/plot"),h=t("./make_crossings"),f=t("./find_all_paths"),p=t("./empty_pathinfo"),d=t("./convert_to_constraints"),g=t("./close_boundaries"),v=t("./constants"),m=v.LABELOPTIMIZER;function y(t,e){var r,n,o,s,l,c,u,h="",f=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function v(t){return Math.abs(t[0]-e[0][0])<.01}function m(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=i.smoothopen(t.edgepaths[f],t.smoothing),h+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(f),1),r=t.edgepaths[f][t.edgepaths[f].length-1],s=-1,o=0;o<4;o++){if(!r){a.log("Missing end?",f,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!m(r)?n=e[1]:v(r)?n=e[0]:g(r)?n=e[3]:m(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):a.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;h+="L"+n}if(s===t.edgepaths.length){a.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;f<t.paths.length;f++)h+=i.smoothclosed(t.paths[f],t.smoothing);return h}function x(t,e,r,n){var i=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,h=Math.sin(c)*i,f=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=m.EDGECOST*(1/(f-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,v=l-h,y=s+u,x=l+h,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,T=2*a.segmentDistance(g,v,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,M=A?m.SAMELEVELDISTANCE:1;if(T<=M)return 1/0;d+=m.NEIGHBORCOST*(A?m.SAMELEVELFACTOR:1)/(T-M)}return d}r.plot=function(t,e,o,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,o,"contour").each(function(o){var s=n.select(this),m=o[0],x=m.trace,b=m.x,_=m.y,w=x.contours,k=p(w,e,m),T=a.ensureSingle(s,"g","heatmapcoloring"),A=[];"heatmap"===w.coloring&&(A=[o]),u(t,e,A,T),h(k),f(k);var M=l.c2p(b[0],!0),S=l.c2p(b[b.length-1],!0),E=c.c2p(_[0],!0),L=c.c2p(_[_.length-1],!0),C=[[M,L],[S,L],[S,E],[M,E]],P=k;"constraint"===w.type&&(P=d(k,w._operation)),function(t,e,r){var n=a.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"===r.coloring?[0]:[]);n.enter().append("path"),n.exit().remove(),n.attr("d","M"+e.join("L")+"Z").style("stroke","none")}(s,C,w),function(t,e,r,i){var o="fill"===i.coloring||"constraint"===i.type&&"="!==i._operation,s="M"+r.join("L")+"Z";o&&g(e,i);var l=a.ensureSingle(t,"g","contourfill").selectAll("path").data(o?e:[]);l.enter().append("path"),l.exit().remove(),l.each(function(t){var e=(t.prefixBoundary?s:"")+y(t,r);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()})}(s,P,C,w),function(t,e,o,s,l){var c=a.ensureSingle(t,"g","contourlines"),u=!1!==l.showlines,h=l.showlabels,f=u&&h,p=r.createLines(c,u||h,e),d=r.createLineClip(c,f,o,s.trace.uid),g=t.selectAll("g.contourlabels").data(h?[0]:[]);if(g.exit().remove(),g.enter().append("g").classed("contourlabels",!0),h){var m=[],y=[];a.clearLocationCache();var x=r.labelFormatter(o,s),b=i.tester.append("text").attr("data-notex",1).call(i.font,l.labelfont),_=e[0].xaxis,w=e[0].yaxis,k=_._length,T=w._length,A=_.range,M=w.range,S=a.aggNums(Math.min,null,s.x),E=a.aggNums(Math.max,null,s.x),L=a.aggNums(Math.min,null,s.y),C=a.aggNums(Math.max,null,s.y),P=Math.max(_.c2p(S,!0),0),O=Math.min(_.c2p(E,!0),k),z=Math.max(w.c2p(C,!0),0),I=Math.min(w.c2p(L,!0),T),D={};A[0]<A[1]?(D.left=P,D.right=O):(D.left=O,D.right=P),M[0]<M[1]?(D.top=z,D.bottom=I):(D.top=I,D.bottom=z),D.middle=(D.top+D.bottom)/2,D.center=(D.left+D.right)/2,m.push([[D.left,D.top],[D.right,D.top],[D.right,D.bottom],[D.left,D.bottom]]);var R=Math.sqrt(k*k+T*T),F=v.LABELDISTANCE*R/Math.max(1,e.length/v.LABELINCREASE);p.each(function(t){var e=r.calcTextOpts(t.level,x,b,o);n.select(this).selectAll("path").each(function(){var t=a.getVisibleSegment(this,D,e.height/2);if(t&&!(t.len<(e.width+e.height)*v.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),v.LABELMAX),i=0;i<n;i++){var o=r.findBestTextLocation(this,t,e,y,D);if(!o)break;r.addLabelData(o,e,y,m)}})}),b.remove(),r.drawLabels(g,y,o,d,f?m:null)}h&&!u&&p.remove()}(s,k,t,m,w),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,c="clip"+s.uid,u=l.selectAll("#"+c).data(s.connectgaps?[]:[0]);if(u.enter().append("clipPath").classed("contourclip",!0).attr("id",c),u.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,a=[],i=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<i;e++)a.push(s.slice());for(e=0;e<n.length;e++)r=n[e],a[r[0]][r[1]]=0;return t.zmask=a,a}(n),smoothing:0};h([p]),f([p]),g([p],{type:"levels"});var d=a.ensureSingle(u,"path","");d.attr("d",(p.prefixBoundary?"M"+o.join("L")+"Z":"")+y(p,o))}else c=null;i.setClipUrl(t,c,r)}(s,e,t,m,C)})},r.createLines=function(t,e,r){var n=r[0].smoothing,a=t.selectAll("g.contourlevel").data(e?r:[]);if(a.exit().remove(),a.enter().append("g").classed("contourlevel",!0),e){var o=a.selectAll("path.openline").data(function(t){return t.pedgepaths||t.edgepaths});o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",function(t){return i.smoothopen(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var s=a.selectAll("path.closedline").data(function(t){return t.ppaths||t.paths});s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",function(t){return i.smoothclosed(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return a},r.createLineClip=function(t,e,r,n){var a=e?"clipline"+n:null,o=r._fullLayout._clips.selectAll("#"+a).data(e?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",a),i.setClipUrl(t,a,r),o},r.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,a=n.contours;if(a.labelformat)return r._d3locale.numberFormat(a.labelformat);var i,s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)i=s.colorbar._axis;else{if(i={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"},"constraint"===a.type){var u=a.value;Array.isArray(u)?i.range=[u[0],u[u.length-1]]:i.range=[u,u]}else i.range=[a.start,a.end],i.nticks=(a.end-a.start)/a.size;i.range[0]===i.range[1]&&(i.range[1]+=i.range[0]||1),i.nticks||(i.nticks=1e3),c(i,r),l.prepTicks(i),i._tmin=null,i._tmax=null}return function(t){return l.tickText(i,t).text}},r.calcTextOpts=function(t,e,r,n){var a=e(t);r.text(a).call(s.convertToTspans,n);var o=i.bBox(r.node(),!0);return{text:a,width:o.width,height:o.height,level:t,dy:(o.top+o.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var o,s,l,c,u,h=r.width;e.isClosed?(s=e.len/m.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-h)/(m.INITIALSEARCHPOINTS+1),o=e.min+s+h/2,l=e.max-(s+h)/2);for(var f=1/0,p=0;p<m.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=a.getTextLocation(t,e.total,d,h),v=x(g,r,n,i);v<f&&(f=v,u=g,c=d)}if(f>2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=m.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var a=e.width/2,i=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),h=a*u,f=i*c,p=a*c,d=-i*u,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,i,o){var l=t.selectAll("text").data(e,function(t){return t.text+","+t.x+","+t.y+","+t.theta});if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,a=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:a,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+a+")"}).call(s.convertToTspans,r)}),o){for(var c="",u=0;u<o.length;u++)c+="M"+o[u].join("L")+"Z";a.ensureSingle(i,"path","").attr("d",c)}}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/set_convert":782,"../heatmap/plot":1009,"./close_boundaries":943,"./constants":945,"./convert_to_constraints":949,"./empty_pathinfo":951,"./find_all_paths":953,"./make_crossings":958,d3:164}],960:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib");function i(t,e,r){var a={type:"linear",range:[t,e]};return n.autoTicks(a,(e-t)/(r||15)),a}e.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=a.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=a.aggNums(Math.max,null,e));var l=i(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),a.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;if(u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),!(r.size>0))c=u===h?1:i(u,h,t.ncontours).dtick,f.size=r.size=c}}},{"../../lib":716,"../../plots/cartesian/axes":764}],961:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",function(t){return t[0].trace.opacity}),e.each(function(t){var e=n.select(this),r=t[0].trace,i=r.contours,s=r.line,l=i.size||1,c=i.start,u="constraint"===i.type,h=!u&&"lines"===i.coloring,f=!u&&"fill"===i.coloring,p=h||f?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(a.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)});var d=i.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){a.font(n.select(this),{family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(f){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}}),i(t)}},{"../../components/drawing":612,"../heatmap/style":1010,"./make_color_map":957,d3:164}],962:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),a=t("./label_defaults");e.exports=function(t,e,r,i,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,i,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),a(r,i,c,o)}},{"../../components/colorscale/defaults":601,"./label_defaults":956}],963:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=a.contours;e.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:a.fillcolor,autocontour:a.autocontour,ncontours:a.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:a.line.color,width:a.line.width,dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../contour/attributes":941,"../heatmap/attributes":998}],964:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),a=t("../../lib"),i=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/interp2d"),l=t("../heatmap/find_empties"),c=t("../heatmap/make_bound_array"),u=t("./defaults"),h=t("../carpet/lookup_carpetid"),f=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,h,f,p,d,g,v=e._carpetTrace,m=v.aaxis,y=v.baxis;m._minDtick=0,y._minDtick=0,a.isArray1D(e.z)&&i(e,m,y,"a","b",["z"]);r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?m.makeCalcdata(e,"_a"):[],f=f?y.makeCalcdata(e,"_b"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=a.maxRowLength(g),b="scaled"===e.xtype?"":r,_=c(e,b,u,h,x,m),w="scaled"===e.ytype?"":f,k=c(e,w,p,d,g.length,y),T={a:_,b:k,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[T]}(t,e);return f(e,e._z),g}}},{"../../components/colorscale/calc":599,"../../lib":716,"../carpet/lookup_carpetid":914,"../contour/set_contours":960,"../heatmap/clean_2d_array":1e3,"../heatmap/convert_column_xyz":1002,"../heatmap/find_empties":1004,"../heatmap/interp2d":1007,"../heatmap/make_bound_array":1008,"./defaults":965}],965:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}if(u("carpet"),t.a&&t.b){if(!a(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,i,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":716,"../contour/constraint_defaults":946,"../contour/contours_defaults":948,"../contour/style_defaults":962,"../heatmap/xyz_defaults":1012,"./attributes":963}],966:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../contour/colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":775,"../contour/colorbar":944,"../contour/style":961,"./attributes":963,"./calc":964,"./defaults":965,"./plot":967}],967:[function(t,e,r){"use strict";var n=t("d3"),a=t("../carpet/map_1d_array"),i=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),h=t("../contour/constants"),f=t("../contour/convert_to_constraints"),p=t("../contour/empty_pathinfo"),d=t("../contour/close_boundaries"),g=t("../carpet/lookup_carpetid"),v=t("../carpet/axis_aligned_line");function m(t,e,r){var n=t.getPointAtLength(e),a=t.getPointAtLength(r),i=a.x-n.x,o=a.y-n.y,s=Math.sqrt(i*i+o*o);return[i/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each(function(r){var b=n.select(this),k=r[0],T=k.trace,A=T._carpetTrace=g(t,T),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=k.a,E=k.b,L=T.contours,C=p(L,e,k),P="constraint"===L.type,O=L._operation,z=P?"="===O?"lines":"fill":L.coloring,I=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(C,D,R);var F,B,N,j,V=C;"constraint"===L.type&&(V=f(C,O)),function(t,e){var r,n,a,i,o,s,l,c,u;for(r=0;r<t.length;r++){for(i=t[r],o=i.pedgepaths=[],s=i.ppaths=[],n=0;n<i.edgepaths.length;n++){for(u=i.edgepaths[n],l=[],a=0;a<u.length;a++)l[a]=e(u[a]);o.push(l)}for(n=0;n<i.paths.length;n++){for(u=i.paths[n],c=[],a=0;a<u.length;a++)c[a]=e(u[a]);s.push(c)}}}(C,H);var U=[];for(j=M.clipsegments.length-1;j>=0;j--)F=M.clipsegments[j],B=a([],F.x,_.c2p),N=a([],F.y,w.c2p),B.reverse(),N.reverse(),U.push(i(B,N,F.bicubic));var q="M"+U.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f<e.length;f++)c=e[f],u=a([],c.x,r.c2p),h=a([],c.y,n.c2p),d.push(i(u,h,c.bicubic));p.attr("d","M"+d.join("L")+"Z").style("stroke","none")}(b,M.clipsegments,_,w,P,z),function(t,e,r,a,i,l,c,u,h,f,p){var g="fill"===f;g&&d(i,t.contours);var m=s.ensureSingle(e,"g","contourfill").selectAll("path").data(g?i:[]);m.enter().append("path"),m.exit().remove(),m.each(function(t){var e=(t.prefixBoundary?p:"")+function(t,e,r,n,a,i,l,c){var u,h,f,p,d,g,m,y="",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])<w}function T(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function M(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,u="";for(k(t)&&!M(t)||T(t)&&!A(t)?(s=a.aaxis,o=v(a,i,[t[0],e[0]],.5*(t[1]+e[1]))):(s=a.baxis,o=v(a,i,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(u+=s.smoothing?"C":"L",n=0;n<o[r].length;n++){var h=o[r][n];u+=[l.c2p(h[0]),c.c2p(h[1])]+" "}return u}u=0,h=null;for(;x.length;){var E=e.edgepaths[u][0];for(h&&(y+=S(h,E)),m=o.smoothopen(e.edgepaths[u].map(n),e.smoothing),y+=b?m:m.replace(/^M/,"L"),x.splice(x.indexOf(u),1),h=e.edgepaths[u][e.edgepaths[u].length-1],d=-1,p=0;p<4;p++){if(!h){s.log("Missing end?",u,e);break}for(k(h)&&!M(h)?f=r[1]:A(h)?f=r[0]:T(h)?f=r[3]:M(h)&&(f=r[2]),g=0;g<e.edgepaths.length;g++){var L=e.edgepaths[g][0];Math.abs(h[0]-f[0])<_?Math.abs(h[0]-L[0])<_&&(L[1]-h[1])*(f[1]-L[1])>=0&&(f=L,d=g):Math.abs(h[1]-f[1])<w?Math.abs(h[1]-L[1])<w&&(L[0]-h[0])*(f[0]-L[0])>=0&&(f=L,d=g):s.log("endpt to newendpt is not vert. or horz.",h,f,L)}if(d>=0)break;y+=S(h,f),h=f}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(h,f)+"Z",h=null)}for(u=0;u<e.paths.length;u++)y+=o.smoothclosed(e.paths[u].map(n),e.smoothing);return y}(0,t,l,c,u,h,r,a);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()})}(T,b,_,w,V,I,H,A,M,z,q),function(t,e,r,a,i,l,c){var f=s.ensureSingle(t,"g","contourlines"),p=!1!==i.showlines,d=i.showlabels,g=p&&d,v=u.createLines(f,p||d,e),b=u.createLineClip(f,g,r,a.trace.uid),_=t.selectAll("g.contourlabels").data(d?[0]:[]);if(_.exit().remove(),_.enter().append("g").classed("contourlabels",!0),d){var w=l.xaxis,k=l.yaxis,T=w._length,A=k._length,M=[[[0,0],[T,0],[T,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(r,a),L=o.tester.append("text").attr("data-notex",1).call(o.font,i.labelfont),C={left:0,right:T,center:T/2,top:0,bottom:A,middle:A/2},P=Math.sqrt(T*T+A*A),O=h.LABELDISTANCE*P/Math.max(1,e.length/h.LABELINCREASE);v.each(function(t){var e=u.calcTextOpts(t.level,E,L,r);n.select(this).selectAll("path").each(function(r){var n=s.getVisibleSegment(this,C,e.height/2);if(n&&(function(t,e,r,n,a,i){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=a.a[0],c=a.a[a.a.length-1],u=a.b[0],h=a.b[a.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=y(a.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-h)<.1)&&(r=y(a.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),n}var p=m(t,0,1),d=m(t,n.total,n.total-1),g=f(o[0],p),v=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>v&&(n.max=v);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var a=Math.min(Math.ceil(n.len/O),h.LABELMAX),i=0;i<a;i++){var o=u.findBestTextLocation(this,n,e,S,C);if(!o)break;u.addLabelData(o,e,S,M)}})}),L.remove(),u.drawLabels(_,S,r,b,g?M:null)}d&&!p&&v.remove()}(b,C,t,k,L,e,A),o.setClipUrl(b,A._clipPathId,t)}function H(t){var e=A.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}})}},{"../../components/drawing":612,"../../lib":716,"../carpet/axis_aligned_line":898,"../carpet/lookup_carpetid":914,"../carpet/makepath":915,"../carpet/map_1d_array":916,"../contour/close_boundaries":943,"../contour/constants":945,"../contour/convert_to_constraints":949,"../contour/empty_pathinfo":951,"../contour/find_all_paths":953,"../contour/make_crossings":958,"../contour/plot":959,d3:164}],968:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/attributes"),o=t("../scattermapbox/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},i.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:a()},n("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scattermapbox/attributes":1181}],969:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("../../constants/numerical").BADNUM,o=t("../../components/colorscale/calc"),s=t("../../lib")._;e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=a(c)&&c.length,h=0;h<r;h++){var f=l[h]={},p=e.lon[h],d=e.lat[h];if(f.lonlat=n(p)&&n(d)?[+p,+d]:[i,i],u){var g=c[h];f.z=n(g)?g:i}}return o(t,e,{vals:u?c:[0,1],containerStr:"",cLetter:"z"}),r&&(l[0].t={labels:{lat:s(t,"lat:")+" ",lon:s(t,"lon:")+" "}}),l}},{"../../components/colorscale/calc":599,"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],970:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../components/color"),o=t("../../components/colorscale"),s=t("../../constants/numerical").BADNUM,l=t("../../lib/geojson_utils").makeBlank;e.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,c=e._opts={heatmap:{layout:{visibility:"none"},paint:{}},geojson:l()};if(!r)return c;var u,h=[],f=e.z,p=e.radius,d=a.isArrayOrTypedArray(f)&&f.length,g=a.isArrayOrTypedArray(p);for(u=0;u<t.length;u++){var v=t[u],m=v.lonlat;if(m[0]!==s){var y={};if(d){var x=v.z;y.z=x!==s?x:0}g&&(y.r=n(p[u])&&p[u]>0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:m},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],k=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u<_.length;u++)k.push(_[u][0],_[u][1]);var T=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return a.extendFlat(c.heatmap.paint,{"heatmap-weight":d?T:1/(b.max-b.min),"heatmap-color":k,"heatmap-radius":g?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),c.geojson={type:"FeatureCollection",features:h},c.heatmap.layout.visibility="visible",c}},{"../../components/color":591,"../../components/colorscale":603,"../../constants/numerical":692,"../../lib":716,"../../lib/geojson_utils":711,"fast-isnumeric":227}],971:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("lon")||[],c=s("lat")||[],u=Math.min(l.length,c.length);u?(e._length=u,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),a(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":968}],972:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],973:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../scattermapbox/hover");e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=a.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var a=(e.hi||t.hoverinfo).split("+"),i=-1!==a.indexOf("all"),o=-1!==a.indexOf("lon"),s=-1!==a.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||o&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==a.indexOf("text"))&&n.fillText(e,t,c);return c.join("<br>")}(c,u,l[0].t.labels),[s]}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../scattermapbox/hover":1186}],974:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),formatLabels:t("../scattermapbox/format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var a=r[n],i=a.id;if("symbol"===a.type&&"string"==typeof i&&-1===i.indexOf("plotly-"))return i}},moduleType:"trace",name:"densitymapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl"],meta:{hr_name:"density_mapbox"}}},{"../../plots/mapbox":819,"../heatmap/colorbar":1001,"../scattermapbox/format_labels":1185,"./attributes":968,"./calc":969,"./defaults":971,"./event_data":972,"./hover":973,"./plot":975}],975:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix;function i(t,e){this.type="densitymapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["heatmap",a+e+"-heatmap"]],this.below=null}var o=i.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,a=n(t),i=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(a.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(a,i),this.below=i);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],c=s[1],u=a[l];e.setOptions(c,"setLayoutProperty",u.layout),"visible"===u.layout.visibility&&e.setOptions(c,"setPaintProperty",u.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new i(t,r.uid),o=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}},{"../../plots/mapbox/constants":817,"./convert":970}],976:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var a=e.marker;if(a){n.mergeArray(a.opacity,t,"mo"),n.mergeArray(a.color,t,"mc");var i=a.line;i&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"))}}},{"../../lib":716}],977:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../scatter/attributes").line,i=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label","value"])}),text:n.text,textposition:c({},n.textposition,{dflt:"auto"}),insidetextanchor:c({},n.insidetextanchor,{dflt:"middle"}),textangle:c({},n.textangle,{dflt:0}),textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:c({},n.orientation,{}),offset:c({},n.offset,{arrayOk:!1}),width:c({},n.width,{arrayOk:!1}),marker:n.marker,connector:{fillcolor:{valType:"color",editType:"style"},line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{dflt:0,editType:"plot"}),dash:a.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":591,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118,"./constants":979}],978:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("./arrays_to_calcdata"),i=t("../scatter/calc_selection"),o=t("../../constants/numerical").BADNUM;function s(t){return t===o?0:t}e.exports=function(t,e){var r,l,c,u,h=n.getFromId(t,e.xaxis||"x"),f=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=h.makeCalcdata(e,"x"),l=f.makeCalcdata(e,"y")):(r=f.makeCalcdata(e,"y"),l=h.makeCalcdata(e,"x"));var p,d=Math.min(l.length,r.length),g=new Array(d);for(e._base=[],c=0;c<d;c++){r[c]<0&&(r[c]=o);var v=!1;r[c]!==o&&c+1<d&&r[c+1]!==o&&(v=!0),u=g[c]={p:l[c],s:r[c],cNext:v},e._base[c]=-.5*u.s,e.ids&&(u.id=String(e.ids[c])),0===c&&(g[0].vTotal=0),g[0].vTotal+=s(u.s),u.begR=s(u.s)/s(g[0].s)}for(c=0;c<d;c++)(u=g[c]).s!==o&&(u.sumR=u.s/g[0].vTotal,u.difR=void 0!==p?u.s/p:1,p=u.s);return a(g,e),i(g,e),g}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120,"./arrays_to_calcdata":976}],979:[function(t,e,r){"use strict";e.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}},{}],980:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a],d="h"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"funnel"===p.type&&(r=s[a],d?f.push(r):h.push(r),u.push(r))}var g={mode:i.funnelmode,norm:i.funnelnorm,gap:i.funnelgap,groupgap:i.funnelgroupgap};for(n(t,l,c,h,g),n(t,c,l,f,g),a=0;a<u.length;a++){r=u[a];for(var v=0;v<r.length;v++)v+1<r.length&&(r[v].nextP0=r[v+1].p0,r[v].nextS0=r[v+1].s0,r[v].nextP1=r[v+1].p1,r[v].nextS1=r[v+1].s1)}}},{"../bar/cross_trace_calc":858}],981:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../bar/defaults").handleGroupingDefaults,i=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("./attributes"),l=t("../../components/color");e.exports={supplyDefaults:function(t,e,r,a){function c(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,c)){c("orientation",e.y&&!e.x?"v":"h"),c("offset"),c("width");var u=c("text");c("hovertext"),c("hovertemplate");var h=c("textposition");i(t,e,a,c,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"===e.textposition||e.texttemplate||c("textinfo",Array.isArray(u)?"text+value":"value");var f=c("marker.color",r);c("marker.line.color",l.defaultLine),c("marker.line.width"),c("connector.visible")&&(c("connector.fillcolor",function(t){var e=n.isArrayOrTypedArray(t)?"#000":t;return l.addOpacity(e,.5*l.opacity(e))}(f)),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if("group"===e.funnelmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{"../../components/color":591,"../../lib":716,"../bar/defaults":859,"../scatter/xy_defaults":1144,"./attributes":977}],982:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"percentInitial"in e&&(t.percentInitial=e.percentInitial),"percentPrevious"in e&&(t.percentPrevious=e.percentPrevious),"percentTotal"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],983:[function(t,e,r){"use strict";var n=t("../../components/color").opacity,a=t("../bar/hover").hoverOnBars,i=t("../../lib").formatPercent;e.exports=function(t,e,r,o){var s=a(t,e,r,o);if(s){var l=s.cd,c=l[0].trace,u="h"===c.orientation,h=l[s.index];s[(u?"x":"y")+"LabelVal"]=h.s,s.percentInitial=h.begR,s.percentInitialLabel=i(h.begR,1),s.percentPrevious=h.difR,s.percentPreviousLabel=i(h.difR,1),s.percentTotal=h.sumR,s.percentTotalLabel=i(h.sumR,1);var f=h.hi||c.hoverinfo,p=[];if(f&&"none"!==f&&"skip"!==f){var d="all"===f,g=f.split("+"),v=function(t){return d||-1!==g.indexOf(t)};v("percent initial")&&p.push(s.percentInitialLabel+" of initial"),v("percent previous")&&p.push(s.percentPreviousLabel+" of previous"),v("percent total")&&p.push(s.percentTotalLabel+" of total")}return s.extraText=p.join("<br>"),s.color=function(t,e){var r=t.marker,a=e.mc||r.color,i=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(a))return a;if(n(i)&&o)return i}(c,h),[s]}}},{"../../components/color":591,"../../lib":716,"../bar/hover":862}],984:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":977,"./calc":978,"./cross_trace_calc":980,"./defaults":981,"./event_data":982,"./hover":983,"./layout_attributes":985,"./layout_defaults":986,"./plot":987,"./style":988}],985:[function(t,e,r){"use strict";e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],986:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"funnel"===l.type){i=!0;break}}i&&(o("funnelmode"),o("funnelgap",.2),o("funnelgroupgap"))}},{"../../lib":716,"./layout_attributes":985}],987:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../bar/plot").plot;function s(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),a[3]=o.c2p(t.nextS1,!0),i[3]=s.c2p(t.nextP1,!0),n?[a,i]:[i,a]}e.exports=function(t,e,r,l){var c=t._fullLayout;!function(t,e,r,o){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),u=r[0].trace,h=a.ensureSingle(o,"g","regions");if(u.connector&&u.connector.visible){var f="h"===u.orientation,p=h.selectAll("g.region").data(a.identity);p.enter().append("g").classed("region",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var u=s(r,l,c,f),h=u[0],p=u[1],g="";void 0!==h[3]&&void 0!==p[3]&&(g+=f?"M"+h[0]+","+p[1]+"L"+h[2]+","+p[2]+"H"+h[3]+"L"+h[1]+","+p[1]+"Z":"M"+h[1]+","+p[1]+"L"+h[2]+","+p[3]+"V"+p[2]+"L"+h[1]+","+p[0]+"Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else h.remove()})}(t,e,r,l),function(t,e,r,o){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),u=r[0].trace,h=a.ensureSingle(o,"g","lines");if(u.connector&&u.connector.visible&&u.connector.line.width){var f="h"===u.orientation,p=h.selectAll("g.line").data(a.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var u=s(r,l,c,f),h=u[0],p=u[1],g="";void 0!==h[3]&&void 0!==p[3]&&(f?(g+="M"+h[0]+","+p[1]+"L"+h[2]+","+p[2],g+="M"+h[1]+","+p[1]+"L"+h[3]+","+p[2]):(g+="M"+h[1]+","+p[1]+"L"+h[2]+","+p[3],g+="M"+h[1]+","+p[0]+"L"+h[2]+","+p[2])),""===g&&(g="M0,0Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else h.remove()})}(t,e,r,l),o(t,e,r,l,{mode:c.funnelmode,norm:c.funnelmode,gap:c.funnelgap,groupgap:c.funnelgroupgap})}},{"../../components/drawing":612,"../../lib":716,"../bar/plot":866,d3:164}],988:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style").styleTextPoints;e.exports={style:function(t,e,r){var l=r||n.select(t).selectAll("g.funnellayer").selectAll("g.trace");l.style("opacity",function(t){return t[0].trace.opacity}),l.each(function(e){var r=n.select(this),l=e[0].trace;r.selectAll(".point > path").each(function(t){if(!t.isBlank){var e=l.marker;n.select(this).call(i.fill,t.mc||e.color).call(i.stroke,t.mlc||e.line.color).call(a.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".regions").each(function(){n.select(this).selectAll("path").style("stroke-width",0).call(i.fill,l.connector.fillcolor)}),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],989:[function(t,e,r){"use strict";var n=t("../pie/attributes"),a=t("../../plots/attributes"),i=t("../../plots/domain").attributes,o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("../../lib/extend").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092}],990:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="funnelarea",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],991:[function(t,e,r){"use strict";var n=t("../pie/calc");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},{"../pie/calc":1094}],992:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}var c,u=l("values"),h=n.isArrayOrTypedArray(u),f=l("labels");if(Array.isArray(f)?(c=f.length,h&&(c=Math.min(c,u.length))):h&&(c=u.length,l("label0"),l("dlabel")),c){e._length=c,l("marker.line.width")&&l("marker.line.color",s.paper_bgcolor),l("marker.colors"),l("scalegroup");var p,d=l("text"),g=l("texttemplate");if(g||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),g||p&&"none"!==p){var v=l("textposition");o(t,e,s,l,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}i(e,s,l),l("title.text")&&(l("title.position"),n.coerceFont(l,"title.font",s.font)),l("aspectratio"),l("baseratio")}else e.visible=!1}},{"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":989}],993:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"funnelarea",basePlotModule:t("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style"),styleOne:t("../pie/style_one"),meta:{}}},{"../pie/style_one":1103,"./attributes":989,"./base_plot":990,"./calc":991,"./defaults":992,"./layout_attributes":994,"./layout_defaults":995,"./plot":996,"./style":997}],994:[function(t,e,r){"use strict";var n=t("../pie/layout_attributes").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{"../pie/layout_attributes":1099}],995:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},{"../../lib":716,"./layout_attributes":994}],996:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../bar/plot").toMoveInsideBar,l=t("../pie/helpers"),c=t("../pie/plot"),u=c.attachFxHandlers,h=c.determineInsideTextFont,f=c.layoutAreas,p=c.prerenderTitles,d=c.positionTitleOutside;function g(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;p(e,t),f(e,r._size),i.makeTraceGroups(r._funnelarealayer,e,"trace").each(function(e){var f=n.select(this),p=e[0],v=p.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,a=r.baseratio;a>.999&&(a=.999);var i,o=Math.pow(a,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var h,f,p=[];for(p.push(u()),h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var d=f.v/l;c+=d,p.push(u())}var g=1/0,v=-1/0;for(h=0;h<p.length;h++)i=p[h],g=Math.min(g,i[1]),v=Math.max(v,i[1]);for(h=0;h<p.length;h++)p[h][1]-=(v+g)/2;var m=p[p.length-1][0],y=e.r,x=(v-g)/2,b=y/m,_=y/x*n;for(e.r=_*x,h=0;h<p.length;h++)p[h][0]*=b,p[h][1]*=_;var w=[-(i=p[0])[0],i[1]],k=[i[0],i[1]],T=0;for(h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var A=p[T+=1][0],M=p[T][1];f.TL=[-A,M],f.TR=[A,M],f.BL=w,f.BR=k,f.pxmid=(S=f.TR,E=f.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=f.TL,k=f.TR}var S,E}(e),f.each(function(){var f=n.select(this).selectAll("g.slice").data(e);f.enter().append("g").classed("slice",!0),f.exit().remove(),f.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=v.index;var f=p.cx,d=p.cy,m=n.select(this),y=m.selectAll("path.surface").data([r]);y.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),m.call(u,t,e);var x="M"+(f+r.TR[0])+","+(d+r.TR[1])+g(r.TR,r.BR)+g(r.BR,r.BL)+g(r.BL,r.TL)+"Z";y.attr("d",x),c.formatSliceLabel(t,r,p);var b=l.castOption(v.textposition,r.pts),_=m.selectAll("g.slicetext").data(r.text&&"none"!==b?[0]:[]);_.enter().append("g").classed("slicetext",!0),_.exit().remove(),_.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(a.font,h(v,r,t._fullLayout.font)).call(o.convertToTspans,t);var l,c,u,p=a.bBox(e.node()),g=Math.min(r.BL[1],r.BR[1]),m=Math.max(r.TL[1],r.TR[1]);c=Math.max(r.TL[0],r.BL[0]),u=Math.min(r.TR[0],r.BR[0]),l=i.getTextTransform(s(c,u,g,m,p,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})),e.attr("transform","translate("+f+","+d+")"+l)})}});var m=n.select(this).selectAll("g.titletext").data(v.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),s=v.title.text;v._meta&&(s=i.templateString(s,v._meta)),e.text(s).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(a.font,v.title.font).call(o.convertToTspans,t);var l=d(p,r._size);e.attr("transform","translate("+l.x+","+l.y+")"+(l.scale<1?"scale("+l.scale+")":"")+"translate("+l.tx+","+l.ty+")")})})})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../bar/plot":866,"../pie/helpers":1097,"../pie/plot":1101,d3:164}],997:[function(t,e,r){"use strict";var n=t("d3"),a=t("../pie/style_one");e.exports=function(t){t._fullLayout._funnelarealayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(a,t,e)})})}},{"../pie/style_one":1103,d3:164}],998:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../components/colorscale/attributes"),o=(t("../../constants/docs").FORMAT_LINK,t("../../lib/extend").extendFlat);e.exports=o({z:{valType:"data_array",editType:"calc"},x:o({},n.x,{impliedEdits:{xtype:"array"}}),x0:o({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:o({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:o({},n.y,{impliedEdits:{ytype:"array"}}),y0:o({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:o({},n.dy,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},zhoverformat:{valType:"string",dflt:"",editType:"none"},hovertemplate:a()},{transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../constants/docs":687,"../../lib/extend":707,"../../plots/template_attributes":840,"../scatter/attributes":1118}],999:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../histogram2d/calc"),s=t("../../components/colorscale/calc"),l=t("./convert_column_xyz"),c=t("./clean_2d_array"),u=t("./interp2d"),h=t("./find_empties"),f=t("./make_bound_array");e.exports=function(t,e){var r,p,d,g,v,m,y,x,b,_=i.getFromId(t,e.xaxis||"x"),w=i.getFromId(t,e.yaxis||"y"),k=n.traceIs(e,"contour"),T=n.traceIs(e,"histogram"),A=n.traceIs(e,"gl2d"),M=k?"best":e.zsmooth;if(_._minDtick=0,w._minDtick=0,T)r=(b=o(t,e)).x,p=b.x0,d=b.dx,g=b.y,v=b.y0,m=b.dy,y=b.z;else{var S=e.z;a.isArray1D(S)?(l(e,_,w,"x","y",["z"]),r=e._x,g=e._y,S=e._z):(r=e._x=e.x?_.makeCalcdata(e,"x"):[],g=e._y=e.y?w.makeCalcdata(e,"y"):[]),p=e.x0,d=e.dx,v=e.y0,m=e.dy,y=c(S,e,_,w),(k||e.connectgaps)&&(e._emptypoints=h(y),u(y,e._emptypoints))}function E(t){M=e._input.zsmooth=e.zsmooth=!1,a.warn('cannot use zsmooth: "fast": '+t)}if("fast"===M)if("log"===_.type||"log"===w.type)E("log axis found");else if(!T){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),C=Math.abs(L/100);for(x=0;x<r.length-1;x++)if(Math.abs(r[x+1]-r[x]-L)>C){E("x scale is not linear");break}}if(g.length&&"fast"===M){var P=(g[g.length-1]-g[0])/(g.length-1),O=Math.abs(P/100);for(x=0;x<g.length-1;x++)if(Math.abs(g[x+1]-g[x]-P)>O){E("y scale is not linear");break}}}var z=a.maxRowLength(y),I="scaled"===e.xtype?"":r,D=f(e,I,p,d,z,_),R="scaled"===e.ytype?"":g,F=f(e,R,v,m,y.length,w);A||(e._extremes[_._id]=i.findExtremes(_,D),e._extremes[w._id]=i.findExtremes(w,F));var B={x:D,y:F,z:y,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(I&&I.length===D.length-1&&(B.xCenter=I),R&&R.length===F.length-1&&(B.yCenter=R),T&&(B.xRanges=b.xRanges,B.yRanges=b.yRanges,B.pts=b.pts),k||s(t,e,{vals:y,cLetter:"z"}),k&&e.contours&&"heatmap"===e.contours.coloring){var N={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};B.xfill=f(N,I,p,d,z,_),B.yfill=f(N,R,v,m,y.length,w)}return[B]}},{"../../components/colorscale/calc":599,"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../histogram2d/calc":1030,"./clean_2d_array":1e3,"./convert_column_xyz":1002,"./find_empties":1004,"./interp2d":1007,"./make_bound_array":1008}],1000:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,h,f;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,h=0;h<t.length;h++)s=Math.max(s,t[h].length);if(0===s)return!1;c=function(t){return t.length},u=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,c=function(t,e){return t[e].length},u=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===i||r===i?i:u(t,e,r)};function g(t){if(e&&"carpet"!==e.type&&"contourcarpet"!==e.type&&t&&"category"===t.type&&e["_"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e["_"+r+"CategoryMap"]||e[r];for(h=0;h<o.length;h++)n[o[h]]=h;return function(e){var r=n[t._categories[e]];return r+1?r:i}}return a.identity}var v=g(r),m=g(o);o&&"category"===o.type&&(s=o._categories.length);var y=new Array(s);for(h=0;h<s;h++)for(l=r&&"category"===r.type?r._categories.length:c(t,h),y[h]=new Array(l),f=0;f<l;f++)y[h][f]=p(d(t,m(h),v(f)));return y}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],1001:[function(t,e,r){"use strict";e.exports={min:"zmin",max:"zmax"}},{}],1002:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,i,o,s){var l,c,u,h,f=t._length,p=e.makeCalcdata(t,i),d=r.makeCalcdata(t,o),g=t.text,v=void 0!==g&&n.isArray1D(g),m=t.hovertext,y=void 0!==m&&n.isArray1D(m),x=n.distinctVals(p),b=x.vals,_=n.distinctVals(d),w=_.vals,k=[];for(l=0;l<s.length;l++)k[l]=n.init2dArray(w.length,b.length);for(v&&(u=n.init2dArray(w.length,b.length)),y&&(h=n.init2dArray(w.length,b.length)),l=0;l<f;l++)if(p[l]!==a&&d[l]!==a){var T=n.findBin(p[l]+x.minDiff/2,b),A=n.findBin(d[l]+_.minDiff/2,w);for(c=0;c<s.length;c++){var M=t[s[c]];k[c][A][T]=M[l]}v&&(u[A][T]=g[l]),y&&(h[A][T]=m[l])}for(t["_"+i]=b,t["_"+o]=w,c=0;c<s.length;c++)t["_"+s[c]]=k[c];v&&(t._text=u),y&&(t._hovertext=h),e&&"category"===e.type&&(t["_"+i+"CategoryMap"]=b.map(function(t){return e._categories[t]})),r&&"category"===r.type&&(t["_"+o+"CategoryMap"]=w.map(function(t){return r._categories[t]}))}},{"../../constants/numerical":692,"../../lib":716}],1003:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./xyz_defaults"),i=t("./style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l)?(c("text"),c("hovertext"),c("hovertemplate"),i(t,e,c,l),c("hoverongaps"),c("connectgaps",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":998,"./style_defaults":1011,"./xyz_defaults":1012}],1004:[function(t,e,r){"use strict";var n=t("../../lib").maxRowLength;e.exports=function(t){var e,r,a,i,o,s,l,c,u=[],h={},f=[],p=t[0],d=[],g=[0,0,0],v=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],a=0;a<v;a++)void 0===d[a]&&((s=(void 0!==d[a-1]?1:0)+(void 0!==d[a+1]?1:0)+(void 0!==e[a]?1:0)+(void 0!==p[a]?1:0))?(0===r&&s++,0===a&&s++,r===t.length-1&&s++,a===d.length-1&&s++,s<4&&(h[[r,a]]=[r,a,s]),u.push([r,a,s])):f.push([r,a]));for(;f.length;){for(l={},c=!1,o=f.length-1;o>=0;o--)(s=((h[[(r=(i=f[o])[0])-1,a=i[1]]]||g)[2]+(h[[r+1,a]]||g)[2]+(h[[r,a-1]]||g)[2]+(h[[r,a+1]]||g)[2])/20)&&(l[i]=[r,a,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(i in l)h[i]=l[i],u.push(l[i])}return u.sort(function(t,e){return e[2]-t[2]})}},{"../../lib":716}],1005:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../components/colorscale").extractOpts;e.exports=function(t,e,r,s,l,c){var u,h,f,p,d=t.cd[0],g=d.trace,v=t.xa,m=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,k=d.zmask,T=g.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void a.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(A=[2*y[0]-y[1]],S=1;S<y.length;S++)A.push((y[S]+y[S-1])/2);for(A.push([2*y[y.length-1]-y[y.length-2]]),M=[2*x[0]-x[1]],S=1;S<x.length;S++)M.push((x[S]+x[S-1])/2);M.push([2*x[x.length-1]-x[x.length-2]])}f=Math.max(0,Math.min(A.length-2,a.findBin(e,A))),p=Math.max(0,Math.min(M.length-2,a.findBin(r,M)))}var E=v.c2p(y[f]),L=v.c2p(y[f+1]),C=m.c2p(x[p]),P=m.c2p(x[p+1]);c?(L=E,u=y[f],P=C,h=x[p]):(u=_?_[f]:(y[f]+y[f+1])/2,h=w?w[p]:(x[p]+x[p+1])/2,v&&"category"===v.type&&(u=y[f]),m&&"category"===m.type&&(h=x[p]),g.zsmooth&&(E=L=v.c2p(u),C=P=m.c2p(h)));var O=b[p][f];if(k&&!k[p][f]&&(O=void 0),void 0!==O||g.hoverongaps){var z;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[p])?z=d.hovertext[p][f]:Array.isArray(d.text)&&Array.isArray(d.text[p])&&(z=d.text[p][f]);var I=o(g),D={type:"linear",range:[I.min,I.max],hoverformat:T,_separators:v._separators,_numFormat:v._numFormat},R=i.tickText(D,O,"hover").text;return[a.extendFlat(t,{index:[p,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:E,x1:L,y0:C,y1:P,xLabelVal:u,yLabelVal:h,zLabelVal:O,zLabel:R,text:z})]}}},{"../../components/colorscale":603,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764}],1006:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:t("./colorbar"),style:t("./style"),hoverPoints:t("./hover"),moduleType:"trace",name:"heatmap",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap"],meta:{}}},{"../../plots/cartesian":775,"./attributes":998,"./calc":999,"./colorbar":1001,"./defaults":1003,"./hover":1005,"./plot":1009,"./style":1010}],1007:[function(t,e,r){"use strict";var n=t("../../lib"),a=[[-1,0],[1,0],[0,-1],[0,1]];function i(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,i,o,s,l,c,u,h,f,p,d,g,v,m=0;for(s=0;s<e.length;s++){for(i=(n=e[s])[0],o=n[1],d=t[i][o],p=0,f=0,l=0;l<4;l++)(u=t[i+(c=a[l])[0]])&&void 0!==(h=u[o+c[1]])&&(0===p?g=v=h:(g=Math.min(g,h),v=Math.max(v,h)),f++,p+=h);if(0===f)throw"iterateInterp2d order is wrong: no defined neighbors";t[i][o]=p/f,void 0===d?f<4&&(m=1):(t[i][o]=(1+r)*t[i][o]-r*d,v>g&&(m=Math.max(m,Math.abs(t[i][o]-d)/(v-g))))}return m}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&a>.01;r++)a=o(t,e,i(a));return a>.01&&n.log("interp2d didn't converge quickly",a),t}},{"../../lib":716}],1008:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i,o,s){var l,c,u,h=[],f=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(a(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=e.slice(0,o);else if(1===o)h=[e[0]-.5,e[0]+.5];else{for(h=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)h.push(.5*(e[u-1]+e[u]));h.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var v=h[h.length-1],m=v-h[h.length-2];for(u=g;u<o;u++)v+=m,h.push(v)}}else{var y=t[s._id.charAt(0)+"calendar"];if(p)l=s.r2c(r,0,y);else if(a(e)&&1===e.length)l=e[0];else if(void 0===r)l=0;else{l=("log"===s.type?s.d2c:s.r2c)(r,0,y)}for(c=i||1,u=f||d?0:-.5;u<o;u++)h.push(l+c*u)}return h}},{"../../lib":716,"../../registry":845}],1009:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=t("../../components/colorscale").makeColorScaleFuncFromTrace,l=t("../../constants/xmlns_namespaces");function c(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=e[n+1],s=o.constrain(n+(t-a)/(i-a)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function u(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=(t-a)/(e[n+1]-a)||0;return i<=0?{bin0:n,bin1:n,frac:0}:i<.5?{bin0:n,bin1:n+1,frac:i}:{bin0:n+1,bin1:n,frac:1-i}}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,f){var p=e.xaxis,d=e.yaxis;o.makeTraceGroups(f,r,"hm").each(function(e){var r,f,g,v,m,y,x=n.select(this),b=e[0],_=b.trace,w=b.z,k=b.x,T=b.y,A=b.xCenter,M=b.yCenter,S=i.traceIs(_,"contour"),E=S?"best":_.zsmooth,L=w.length,C=o.maxRowLength(w),P=!1,O=!1;for(y=0;void 0===r&&y<k.length-1;)r=p.c2p(k[y]),y++;for(y=k.length-1;void 0===f&&y>0;)f=p.c2p(k[y]),y--;for(f<r&&(g=f,f=r,r=g,P=!0),y=0;void 0===v&&y<T.length-1;)v=d.c2p(T[y]),y++;for(y=T.length-1;void 0===m&&y>0;)m=d.c2p(T[y]),y--;if(m<v&&(g=v,v=m,m=g,O=!0),S&&(A=k,M=T,k=b.xfill,T=b.yfill),"fast"!==E){var z="best"===E?0:.5;r=Math.max(-z*p._length,r),f=Math.min((1+z)*p._length,f),v=Math.max(-z*d._length,v),m=Math.min((1+z)*d._length,m)}var I=Math.round(f-r),D=Math.round(m-v);if(I<=0||D<=0){x.selectAll("image").data([]).exit().remove()}else{var R,F;"fast"===E?(R=C,F=L):(R=I,F=D);var B=document.createElement("canvas");B.width=R,B.height=F;var N,j,V=B.getContext("2d"),U=s(_,{noNumericCheck:!0,returnArray:!0});"fast"===E?(N=P?function(t){return C-1-t}:o.identity,j=O?function(t){return L-1-t}:o.identity):(N=function(t){return o.constrain(Math.round(p.c2p(k[t])-r),0,I)},j=function(t){return o.constrain(Math.round(d.c2p(T[t])-v),0,D)});var q,H,G,Y,W,X=j(0),Z=[X,X],J=P?0:1,K=O?0:1,Q=0,$=0,tt=0,et=0;if(E){var rt,nt=0;try{rt=new Uint8Array(I*D*4)}catch(t){rt=new Array(I*D*4)}if("best"===E){var at,it,ot,st=A||k,lt=M||T,ct=new Array(st.length),ut=new Array(lt.length),ht=new Array(I),ft=A?u:c,pt=M?u:c;for(y=0;y<st.length;y++)ct[y]=Math.round(p.c2p(st[y])-r);for(y=0;y<lt.length;y++)ut[y]=Math.round(d.c2p(lt[y])-v);for(y=0;y<I;y++)ht[y]=ft(y,ct);for(H=0;H<D;H++)for(it=w[(at=pt(H,ut)).bin0],ot=w[at.bin1],y=0;y<I;y++,nt+=4)h(rt,nt,W=Tt(it,ot,ht[y],at))}else for(H=0;H<L;H++)for(Y=w[H],Z=j(H),y=0;y<I;y++)W=kt(Y[y],1),h(rt,nt=4*(Z*I+N(y)),W);var dt=V.createImageData(I,D);try{dt.data.set(rt)}catch(t){var gt=dt.data,vt=gt.length;for(H=0;H<vt;H++)gt[H]=rt[H]}V.putImageData(dt,0,0)}else{var mt=_.xgap,yt=_.ygap,xt=Math.floor(mt/2),bt=Math.floor(yt/2);for(H=0;H<L;H++)if(Y=w[H],Z.reverse(),Z[K]=j(H+1),Z[0]!==Z[1]&&void 0!==Z[0]&&void 0!==Z[1])for(q=[G=N(0),G],y=0;y<C;y++)q.reverse(),q[J]=N(y+1),q[0]!==q[1]&&void 0!==q[0]&&void 0!==q[1]&&(W=kt(Y[y],(q[1]-q[0])*(Z[1]-Z[0])),V.fillStyle="rgba("+W.join(",")+")",V.fillRect(q[0]+xt,Z[0]+bt,q[1]-q[0]-mt,Z[1]-Z[0]-yt))}$=Math.round($/Q),tt=Math.round(tt/Q),et=Math.round(et/Q);var _t=a("rgb("+$+","+tt+","+et+")");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*_t.getLuminance();var wt=x.selectAll("image").data(e);wt.enter().append("svg:image").attr({xmlns:l.svg,preserveAspectRatio:"none"}),wt.attr({height:D,width:I,x:r,y:v,"xlink:href":B.toDataURL("image/png")})}function kt(t,e){if(void 0!==t){var r=U(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,$+=r[0]*e,tt+=r[1]*e,et+=r[2]*e,r}return[0,0,0,0]}function Tt(t,e,r,n){var a=t[r.bin0];if(void 0===a)return kt(void 0,1);var i,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-a||0,u=s-a||0;return i=void 0===o?void 0===l?0:void 0===s?2*(l-a):2*(2*l-s-a)/3:void 0===l?void 0===s?0:2*(2*a-o-s)/3:void 0===s?2*(2*l-o-a)/3:l+a-o-s,kt(a+r.frac*c+n.frac*(u+r.frac*i))}})}},{"../../components/colorscale":603,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../registry":845,d3:164,tinycolor2:535}],1010:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".hm image").style("opacity",function(t){return t.trace.opacity})}},{d3:164}],1011:[function(t,e,r){"use strict";e.exports=function(t,e,r){!1===r("zsmooth")&&(r("xgap"),r("ygap")),r("zhoverformat")}},{}],1012:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../registry");function o(t,e){var r=e(t);return"scaled"===(r?e(t+"type","array"):"scaled")&&(e(t+"0"),e("d"+t)),r}e.exports=function(t,e,r,s,l,c){var u,h,f=r("z");if(l=l||"x",c=c||"y",void 0===f||!f.length)return 0;if(a.isArray1D(t.z)){u=r(l),h=r(c);var p=a.minRowLength(u),d=a.minRowLength(h);if(0===p||0===d)return 0;e._length=Math.min(p,d,f.length)}else{if(u=o(l,r),h=o(c,r),!function(t){for(var e,r=!0,i=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!a.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(i=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&i&&o}(f))return 0;r("transpose"),e._length=null}return i.getComponentMethod("calendars","handleTraceDefaults")(t,e,[l,c],s),!0}},{"../../lib":716,"../../registry":845,"fast-isnumeric":227}],1013:[function(t,e,r){"use strict";for(var n=t("../heatmap/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],l={},c=0;c<s.length;c++){var u=s[c];l[u]=n[u]}i(l,a("",{cLetter:"z",autoColorDflt:!1})),e.exports=o(l,"calc","nested")},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../heatmap/attributes":998}],1014:[function(t,e,r){"use strict";var n=t("gl-heatmap2d"),a=t("../../plots/cartesian/axes"),i=t("../../lib/str2rgbarray");function o(t,e){this.scene=t,this.uid=e,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,a=n%r[0],i=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[a],e.y[i],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[i,a],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,a=e.length,o=new Array(a),s=new Array(4*a),l=0;l<a;l++){var c=e[l],u=i(c[1]);o[l]=r+c[0]*(n-r);for(var h=0;h<4;h++)s[4*l+h]=u[h]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c=this.scene.xaxis,u=this.scene.yaxis;t._extremes[c._id]=a.findExtremes(c,r.x),t._extremes[u._id]=a.findExtremes(u,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"gl-heatmap2d":253}],1015:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("../heatmap/defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../heatmap/calc"),plot:t("./convert"),moduleType:"trace",name:"heatmapgl",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","2dMap"],meta:{}}},{"../../plots/gl2d":802,"../heatmap/calc":999,"../heatmap/colorbar":1001,"../heatmap/defaults":1003,"./attributes":1013,"./convert":1014}],1016:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("./bin_attributes"),o=t("./constants"),s=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:i("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:i("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({},{keys:o.eventDataKeys}),marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"./bin_attributes":1018,"./constants":1022}],1017:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=t.length,n=0,a=0;a<r;a++)e[a]?(t[a]/=e[a],n+=t[a]):t[a]=null;return n}},{}],1018:[function(t,e,r){"use strict";e.exports=function(t,e){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}},{}],1019:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,a){var i=a[e];return n(i)?(i=Number(i),r[t]+=i,i):0},avg:function(t,e,r,a,i){var o=a[e];return n(o)&&(o=Number(o),r[t]+=o,i[t]++),0},min:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]>i){var o=i-r[t];return r[t]=i,o}}return 0},max:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]<i){var o=i-r[t];return r[t]=i,o}}return 0}}},{"fast-isnumeric":227}],1020:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.ONEAVGYEAR,i=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t("../../plots/cartesian/axes").tickIncrement;function h(t,e,r,n){if(t*e<=0)return 1/0;for(var a=Math.abs(e-t),i="date"===r.type,o=f(a,i),s=0;s<10;s++){var l=f(80*o,i);if(o===l)break;if(!p(l,t,e,i,r,n))break;o=l}return o}function f(t,e){return e&&t>c?t>o?t>1.1*a?a:t>1.1*i?i:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,i,s){if(n&&t>o){var l=d(e,i,s),c=d(r,i,s),u=t===a?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,a,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,i){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],g=r[1],v=Math.min(h(d+f,d+p,n,i),h(g+f,g+p,n,i)),m=Math.min(h(d+c,d+f,n,i),h(g+c,g+f,n,i));if(v>m&&m<Math.abs(g-d)/4e3?(s=v,l=!1):(s=Math.min(v,m),l=!0),"date"===n.type&&s>o){var y=s===a?1:6,x=s===a?"M12":"M1";return function(e,r){var o=n.c2d(e,a,i),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,i);if(c<e){var h=u(c,x,!1,i);(c+h)/2<e+t&&(c=h)}return r&&l?u(c,x,!0,i):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764}],1021:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../bar/arrays_to_calcdata"),l=t("./bin_functions"),c=t("./norm_functions"),u=t("./average"),h=t("./bin_label_vals");function f(t,e,r,s,l){var c,u,h,p,d,g,v,m=s+"bins",y=t._fullLayout,x=e["_"+s+"bingroup"],b=y._histogramBinOpts[x],_="overlay"===y.barmode,w=function(t){return r.r2c(t,0,p)},k=function(t){return r.c2r(t,0,p)},T="date"===r.type?function(t){return t||0===t?a.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function A(t,e,r){e[t+"Found"]?(e[t]=T(e[t]),null===e[t]&&(e[t]=r[t])):(g[t]=e[t]=r[t],a.nestedProperty(u[0],m+"."+t).set(r[t]))}if(e["_"+s+"autoBinFinished"])delete e["_"+s+"autoBinFinished"];else{u=b.traces;var M=[],S=!0,E=!1,L=!1;for(c=0;c<u.length;c++)if((h=u[c]).visible){var C=b.dirs[c];d=h["_"+C+"pos0"]=r.makeCalcdata(h,C),M=a.concat(M,d),delete h["_"+s+"autoBinFinished"],!0===e.visible&&(S?S=!1:(delete h._autoBin,h["_"+s+"autoBinFinished"]=1),i.traceIs(h,"2dMap")&&(E=!0),"histogram2dcontour"===h.type&&(L=!0))}p=u[0][s+"calendar"];var P=o.autoBin(M,r,b.nbins,E,p,b.sizeFound&&b.size),O=u[0]._autoBin={};if(g=O[b.dirs[0]]={},L&&(b.size||(P.start=k(o.tickIncrement(w(P.start),P.size,!0,p))),void 0===b.end&&(P.end=k(o.tickIncrement(w(P.end),P.size,!1,p)))),_&&!i.traceIs(e,"2dMap")&&0===P._dataSpan&&"category"!==r.type&&"multicategory"!==r.type){if(l)return[P,d,!0];P=function(t,e,r,n,i){var o,s,l,c=t._fullLayout,u=function(t,e){for(var r=e.xaxis,n=e.yaxis,a=e.orientation,i=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];"histogram"===l.type&&!0===l.visible&&l.orientation===a&&l.xaxis===r&&l.yaxis===n&&i.push(l)}return i}(t,e),h=!1,p=1/0,d=[e];for(o=0;o<u.length;o++)if((s=u[o])===e)h=!0;else if(h){var g=f(t,s,r,n,!0),v=g[0],m=g[2];s["_"+n+"autoBinFinished"]=1,s["_"+n+"pos0"]=g[1],m?d.push(s):p=Math.min(p,v.size)}else l=c._histogramBinOpts[s["_"+n+"bingroup"]],p=Math.min(p,l.size||s[i].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o]["_"+n+"pos0"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}isFinite(p)||(p=a.distinctVals(y).minDiff);for(o=0;o<d.length;o++){var _=(s=d[o])[n+"calendar"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[i]=s[i]=w,(l=c._histogramBinOpts[s["_"+n+"bingroup"]])&&a.extendFlat(l,w)}return e[i]}(t,e,r,s,m)}(v=h.cumulative||{}).enabled&&"include"!==v.currentbin&&("decreasing"===v.direction?P.start=k(o.tickIncrement(w(P.start),P.size,!0,p)):P.end=k(o.tickIncrement(w(P.end),P.size,!1,p))),b.size=P.size,b.sizeFound||(g.size=P.size,a.nestedProperty(u[0],m+".size").set(P.size)),A("start",b,P),A("end",b,P)}d=e["_"+s+"pos0"],delete e["_"+s+"pos0"];var z=e._input[m]||{},I=a.extendFlat({},b),D=b.start,R=r.r2l(z.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(D)){var B=F?R:a.aggNums(Math.min,null,d),N={type:"category"===r.type||"multicategory"===r.type?"linear":r.type,r2l:r.r2l,dtick:b.size,tick0:D,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),I.start=r.l2r(j),F||a.nestedProperty(e,m+".start").set(I.start)}var V=b.end,U=r.r2l(z.end),q=void 0!==U;if((b.endFound||q)&&U!==r.r2l(V)){var H=q?U:a.aggNums(Math.max,null,d);I.end=r.l2r(H),q||a.nestedProperty(e,m+".start").set(I.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[m]=a.extendFlat({},e[m]||{}),delete e._input[G],delete e[G]),[I,d]}e.exports={calc:function(t,e){var r,i,p,d,g=[],v=[],m=o.getFromId(t,"h"===e.orientation?e.yaxis:e.xaxis),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=f(t,e,m,y),k=w[0],T=w[1],A="string"==typeof k.size,M=[],S=A?M:k,E=[],L=[],C=[],P=0,O=e.histnorm,z=e.histfunc,I=-1!==O.indexOf("density");_.enabled&&I&&(O=O.replace(/ ?density$/,""),I=!1);var D,R="max"===z||"min"===z?null:0,F=l.count,B=c[O],N=!1,j=function(t){return m.r2c(t,0,b)};for(a.isArrayOrTypedArray(e[x])&&"count"!==z&&(D=e[x],N="avg"===z,F=l[z]),r=j(k.start),p=j(k.end)+(r-o.tickIncrement(r,k.size,!1,b))/1e6;r<p&&g.length<1e6&&(i=o.tickIncrement(r,k.size,!1,b),g.push((r+i)/2),v.push(R),C.push([]),M.push(r),I&&E.push(1/(i-r)),N&&L.push(0),!(i<=r));)r=i;M.push(r),A||"date"!==m.type||(S={start:j(S.start),end:j(S.end),size:S.size});var V,U=v.length,q=!0,H=1/0,G=1/0,Y={};for(r=0;r<T.length;r++){var W=T[r];(d=a.findBin(W,S))>=0&&d<U&&(P+=F(d,r,v,D,L),q&&C[d].length&&W!==T[C[d][0]]&&(q=!1),C[d].push(r),Y[r]=d,H=Math.min(H,W-M[d]),G=Math.min(G,M[d+1]-W))}q||(V=h(H,G,M,m,b)),N&&(P=u(v,L)),B&&B(v,P,E),_.enabled&&function(t,e,r){var n,a,i;function o(e){i=t[e],t[e]/=2}function s(e){a=t[e],t[e]=i+a/2,i+=a}if("half"===r)if("increasing"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if("increasing"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];"exclude"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(v,_.direction,_.currentbin);var X=Math.min(g.length,v.length),Z=[],J=0,K=X-1;for(r=0;r<X;r++)if(v[r]){J=r;break}for(r=X-1;r>=J;r--)if(v[r]){K=r;break}for(r=J;r<=K;r++)if(n(g[r])&&n(v[r])){var Q={p:g[r],s:v[r],b:0};_.enabled||(Q.pts=C[r],q?Q.ph0=Q.ph1=C[r].length?T[C[r][0]]:g[r]:(Q.ph0=V(M[r]),Q.ph1=V(M[r+1],!0))),Z.push(Q)}return 1===Z.length&&(Z[0].width1=o.tickIncrement(Z[0].p,k.size,!1,b)-Z[0].p),s(Z,e),a.isArrayOrTypedArray(e.selectedpoints)&&a.tagSelected(Z,e,Y),Z},calcAllAutoBins:f}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../bar/arrays_to_calcdata":854,"./average":1017,"./bin_functions":1019,"./bin_label_vals":1020,"./norm_functions":1028,"fast-isnumeric":227}],1022:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],1023:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../../registry").traceIs,o=t("../bar/defaults").handleGroupingDefaults,s=n.nestedProperty,l=a.getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],u=["x","y"];e.exports=function(t,e){var r,h,f,p,d,g,v,m=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function k(t,r,i){var o=t.uid+"__"+i;r||(r=o);var s=function(t,r){return a.getFromTrace({_fullLayout:e},t,r).type}(t,i),l=t[i+"calendar"],c=m[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(i)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(m[r]={traces:[t],dirs:[i],axType:s,calendar:t[i+"calendar"]||""}),t["_"+i+"bingroup"]=r}for(d=0;d<t.length;d++)r=t[d],i(r,"histogram")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,i(r,"2dMap")||o(r._input,r,e,_));var T=e._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],f="",!i(r,"2dMap")){if(p=w(r),"group"===e.barmode&&r.alignmentgroup){var A=r[p+"axis"],M=l(e,A)+r.orientation;(T[M]||{})[r.alignmentgroup]&&(f=M)}f||"overlay"===e.barmode||(f=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}f?(x[f]||(x[f]=[]),x[f].push(r)):b.push(r)}for(f in x)if(1!==(h=x[f]).length){var S=!1;for(d=0;d<h.length;d++){r=h[d],S=_("bingroup");break}for(f=S||f,d=0;d<h.length;d++){var E=(r=h[d])._input.bingroup;E&&E!==f&&n.warn(["Trace",r.index,"must match","within bingroup",f+".","Ignoring its bingroup:",E,"setting."].join(" ")),r.bingroup=f,k(r,f,w(r))}}else b.push(h[0]);for(d=0;d<b.length;d++){r=b[d];var L=_("bingroup");if(i(r,"2dMap"))for(v=0;v<2;v++){var C=_((p=u[v])+"bingroup",L?L+"__"+p:null);k(r,C,p)}else k(r,L,w(r))}for(f in m){var P=m[f];for(h=P.traces,g=0;g<c.length;g++){var O,z,I=c[g],D=I.name;if("nbins"!==D||!P.sizeFound){for(d=0;d<h.length;d++){if(r=h[d],p=P.dirs[d],O=I.aStr[p],void 0!==s(r._input,O).get()){P[D]=_(O),P[D+"Found"]=!0;break}(z=(r._autoBin||{})[p]||{})[D]&&s(r,O).set(z[D])}if("start"===D||"end"===D)for(;d<h.length;d++)(r=h[d])["_"+p+"bingroup"]&&_(O,(z=(r._autoBin||{})[p]||{})[D]);"nbins"!==D||P.sizeFound||P.nbinsFound||(r=h[0],P[D]=_(O))}}}}},{"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../bar/defaults":859}],1024:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/color"),o=t("../bar/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u=c("x"),h=c("y");c("cumulative.enabled")&&(c("cumulative.direction"),c("cumulative.currentbin")),c("text"),c("hovertext"),c("hovertemplate");var f=c("orientation",h&&!u?"h":"v"),p="v"===f?"x":"y",d="v"===f?"y":"x",g=u&&h?Math.min(a.minRowLength(u)&&a.minRowLength(h)):a.minRowLength(e[p]||[]);if(g){e._length=g,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],l),e[d]&&c("histfunc"),c("histnorm"),c("autobin"+p),o(t,e,c,r,l),a.coerceSelectionMarkerOpacity(e,c);var v=(e.marker.line||{}).color,m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,v||i.defaultLine,{axis:"y"}),m(t,e,v||i.defaultLine,{axis:"x",inherit:"y"})}else e.visible=!1}},{"../../components/color":591,"../../lib":716,"../../registry":845,"../bar/style_defaults":870,"./attributes":1016}],1025:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"zLabelVal"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var i,o=Array.isArray(a)?n[0].pts[a[0]][a[1]]:n[a].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){i=[];for(var s=0;s<o.length;s++)i=i.concat(r._indexToPoints[o[s]])}else i=o;t.pointIndices=i}return t}},{}],1026:[function(t,e,r){"use strict";var n=t("../bar/hover").hoverPoints,a=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c="h"===l.orientation?"y":"x";t[c+"Label"]=a(t[c+"a"],s.ph0,s.ph1)}return l.hovermplate&&(t.hovertemplate=l.hovertemplate),o}}},{"../../plots/cartesian/axes":764,"../bar/hover":862}],1027:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("../bar/layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),supplyLayoutDefaults:t("../bar/layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("../bar/cross_trace_calc").crossTraceCalc,plot:t("../bar/plot").plot,layerName:"barlayer",style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,colorbar:t("../scatter/marker_colorbar"),hoverPoints:t("./hover"),selectPoints:t("../bar/select"),eventData:t("./event_data"),moduleType:"trace",name:"histogram",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}},{"../../plots/cartesian":775,"../bar/cross_trace_calc":858,"../bar/layout_attributes":864,"../bar/layout_defaults":865,"../bar/plot":866,"../bar/select":867,"../bar/style":869,"../scatter/marker_colorbar":1136,"./attributes":1016,"./calc":1021,"./cross_trace_defaults":1023,"./defaults":1024,"./event_data":1025,"./hover":1026}],1028:[function(t,e,r){"use strict";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,a=0;a<r;a++)t[a]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var a=t.length;n=n||1;for(var i=0;i<a;i++)t[i]*=r[i]*n},"probability density":function(t,e,r,n){var a=t.length;n&&(e/=n);for(var i=0;i<a;i++)t[i]*=r[i]/e}}},{}],1029:[function(t,e,r){"use strict";var n=t("../histogram/attributes"),a=t("../histogram/bin_attributes"),i=t("../heatmap/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat;e.exports=l({x:n.x,y:n.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:a("x"),nbinsy:n.nbinsy,ybins:a("y"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:l({},n.bingroup,{}),xbingroup:l({},n.bingroup,{}),ybingroup:l({},n.bingroup,{}),xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat,hovertemplate:o({},{keys:"z"})},s("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/template_attributes":840,"../heatmap/attributes":998,"../histogram/attributes":1016,"../histogram/bin_attributes":1018}],1030:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../histogram/bin_functions"),o=t("../histogram/norm_functions"),s=t("../histogram/average"),l=t("../histogram/bin_label_vals"),c=t("../histogram/calc").calcAllAutoBins;function u(t,e,r,n){var a,i=new Array(t);if(n)for(a=0;a<t;a++)i[a]=1/(e[a+1]-e[a]);else{var o=1/r;for(a=0;a<t;a++)i[a]=o}return i}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function f(t,e,r,n,a,i){var o,s=t.length-1,c=new Array(s),u=l(r,n,t,a,i);for(o=0;o<s;o++){var h=(e||[])[o];c[o]=void 0===h?[u(t[o]),u(t[o+1],!0)]:[h,h]}return c}e.exports=function(t,e){var r,l,p,d,g=a.getFromId(t,e.xaxis),v=a.getFromId(t,e.yaxis),m=e.xcalendar,y=e.ycalendar,x=function(t){return g.r2c(t,0,m)},b=function(t){return v.r2c(t,0,y)},_=c(t,e,g,"x"),w=_[0],k=_[1],T=c(t,e,v,"y"),A=T[0],M=T[1],S=e._length;k.length>S&&k.splice(S,k.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,z=[],I=[],D=P?z:w,R=O?I:A,F=0,B=[],N=[],j=e.histnorm,V=e.histfunc,U=-1!==j.indexOf("density"),q="max"===V||"min"===V?null:0,H=i.count,G=o[j],Y=!1,W=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==V&&(Y="avg"===V,H=i[V]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-a.tickIncrement(K,J,!1,m))/1e6;for(r=K;r<Q;r=a.tickIncrement(r,J,!1,m))L.push(q),z.push(r),Y&&C.push(0);z.push(r);var $,tt=L.length,et=(r-K)/tt,rt=($=K+et/2,g.c2r($,0,m)),nt=A.size,at=b(A.start),it=b(A.end)+(at-a.tickIncrement(at,nt,!1,y))/1e6;for(r=at;r<it;r=a.tickIncrement(r,nt,!1,y)){E.push(L.slice()),I.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Y&&B.push(C.slice())}I.push(r);var st=E.length,lt=(r-at)/st,ct=function(t){return v.c2r(t,0,y)}(at+lt/2);U&&(W=u(L.length,D,et,P),X=u(E.length,R,lt,O)),P||"date"!==g.type||(D=h(x,D)),O||"date"!==v.type||(R=h(b,R));var ut=!0,ht=!0,ft=new Array(tt),pt=new Array(st),dt=1/0,gt=1/0,vt=1/0,mt=1/0;for(r=0;r<S;r++){var yt=k[r],xt=M[r];p=n.findBin(yt,D),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=H(p,r,E[d],Z,B[d]),N[d][p].push(r),ut&&(void 0===ft[p]?ft[p]=yt:ft[p]!==yt&&(ut=!1)),ht&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ht=!1)),dt=Math.min(dt,yt-z[p]),gt=Math.min(gt,z[p+1]-yt),vt=Math.min(vt,xt-I[d]),mt=Math.min(mt,I[d+1]-xt))}if(Y)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,W,X[d]);return{x:k,xRanges:f(z,ut&&ft,dt,gt,g,m),x0:rt,dx:et,y:M,yRanges:f(I,ht&&pt,vt,mt,v,y),y0:ct,dy:lt,z:E,pts:N}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../histogram/average":1017,"../histogram/bin_functions":1019,"../histogram/bin_label_vals":1020,"../histogram/calc":1021,"../histogram/norm_functions":1028}],1031:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./sample_defaults"),i=t("../heatmap/style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,l),o(t,e,l,c,{prefix:"",cLetter:"z"}),c("hovertemplate"))}},{"../../components/colorscale/defaults":601,"../../lib":716,"../heatmap/style_defaults":1011,"./attributes":1029,"./sample_defaults":1034}],1032:[function(t,e,r){"use strict";var n=t("../heatmap/hover"),a=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,i,o,s){var l=n(t,e,r,i,o,s);if(l){var c=(t=l[0]).index,u=c[0],h=c[1],f=t.cd[0],p=f.xRanges[h],d=f.yRanges[u];return t.xLabel=a(t.xa,p[0],p[1]),t.yLabel=a(t.ya,d[0],d[1]),l}}},{"../../plots/cartesian/axes":764,"../heatmap/hover":1005}],1033:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../heatmap/calc"),plot:t("../heatmap/plot"),layerName:"heatmaplayer",colorbar:t("../heatmap/colorbar"),style:t("../heatmap/style"),hoverPoints:t("./hover"),eventData:t("../histogram/event_data"),moduleType:"trace",name:"histogram2d",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","histogram"],meta:{}}},{"../../plots/cartesian":775,"../heatmap/calc":999,"../heatmap/colorbar":1001,"../heatmap/plot":1009,"../heatmap/style":1010,"../histogram/cross_trace_defaults":1023,"../histogram/event_data":1025,"./attributes":1029,"./defaults":1031,"./hover":1032}],1034:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("y"),l=a.minRowLength(o),c=a.minRowLength(s);l&&c?(e._length=Math.min(l,c),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],i),(r("z")||r("marker.color"))&&r("histfunc"),r("histnorm"),r("autobinx"),r("autobiny")):e.visible=!1}},{"../../lib":716,"../../registry":845}],1035:[function(t,e,r){"use strict";var n=t("../histogram2d/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat;e.exports=o({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:a.autocontour,ncontours:a.ncontours,contours:a.contours,line:{color:a.line.color,width:o({},a.line.width,{dflt:.5}),dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../contour/attributes":941,"../histogram2d/attributes":1029}],1036:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../histogram2d/sample_defaults"),i=t("../contour/contours_defaults"),o=t("../contour/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l),c("hovertemplate"))}},{"../../lib":716,"../contour/contours_defaults":948,"../contour/style_defaults":962,"../histogram2d/sample_defaults":1034,"./attributes":1035}],1037:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../contour/calc"),plot:t("../contour/plot").plot,layerName:"contourlayer",style:t("../contour/style"),colorbar:t("../contour/colorbar"),hoverPoints:t("../contour/hover"),moduleType:"trace",name:"histogram2dcontour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":775,"../contour/calc":942,"../contour/colorbar":944,"../contour/hover":954,"../contour/plot":959,"../contour/style":961,"../histogram/cross_trace_defaults":1023,"./attributes":1035,"./defaults":1036}],1038:[function(t,e,r){"use strict";for(var n=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../lib/extend").extendFlat,o=t("./constants").colormodel,s=["rgb","rgba","hsl","hsla"],l=[],c=[],u=0;u<s.length;u++)l.push("For the `"+s[u]+"` colormodel, it is ["+o[s[u]].min.join(", ")+"]."),c.push("For the `"+s[u]+"` colormodel, it is ["+o[s[u]].max.join(", ")+"].");e.exports=i({z:{valType:"data_array",editType:"calc"},colormodel:{valType:"enumerated",values:s,dflt:"rgb",editType:"calc"},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},dy:{valType:"number",dflt:1,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"data_array",editType:"plot"},hoverinfo:i({},n.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:a({},{keys:["z","color","colormodel"]}),transforms:void 0})},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"./constants":1040}],1039:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants"),i=t("fast-isnumeric"),o=t("../../plots/cartesian/axes"),s=t("../../lib").maxRowLength;function l(t,e,r,a){return function(i){return n.constrain((i-t)*e,r,a)}}function c(t,e){return function(r){return n.constrain(r,t,e)}}e.exports=function(t,e){var r,n=o.getFromId(t,e.xaxis||"x"),u=o.getFromId(t,e.yaxis||"y"),h=n.d2c(e.x0)-e.dx/2,f=u.d2c(e.y0)-e.dy/2,p=e.z.length,d=s(e.z),g=[h,h+d*e.dx],v=[f,f+p*e.dy];if(n&&"log"===n.type)for(r=0;r<d;r++)g.push(h+r*e.dx);if(u&&"log"===u.type)for(r=0;r<p;r++)v.push(f+r*e.dy);return e._extremes[n._id]=o.findExtremes(n,g),e._extremes[u._id]=o.findExtremes(u,v),e._scaler=function(t){var e=t.colormodel,r=e.length,n=a.colormodel[e];t._sArray=[];for(var o=0;o<r;o++)n.min[o]!==t.zmin[o]||n.max[o]!==t.zmax[o]?t._sArray.push(l(t.zmin[o],(n.max[o]-n.min[o])/(t.zmax[o]-t.zmin[o]),n.min[o],n.max[o])):t._sArray.push(c(n.min[o],n.max[o]));return function(e){for(var n=e.slice(0,r),a=0;a<r;a++){var o=n[a];if(!i(o))return!1;n[a]=t._sArray[a](o)}return n}}(e),[{x0:h,y0:f,z:e.z,w:d,h:p}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"./constants":1040,"fast-isnumeric":227}],1040:[function(t,e,r){"use strict";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%",""]}}}},{}],1041:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./constants");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}var o=r("z");if(void 0!==o&&o.length&&o[0]&&o[0].length){r("x0"),r("y0"),r("dx"),r("dy");var s=r("colormodel");r("zmin",i.colormodel[s].min),r("zmax",i.colormodel[s].max),r("text"),r("hovertext"),r("hovertemplate"),e._length=null}else e.visible=!1}},{"../../lib":716,"./attributes":1038,"./constants":1040}],1042:[function(t,e,r){"use strict";e.exports=function(t,e){return"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t}},{}],1043:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("./constants");e.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,c=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(o.z[h][u]){var f,p=o.hi||s.hoverinfo;if(p){var d=p.split("+");-1!==d.indexOf("all")&&(d=["color"]),-1!==d.indexOf("color")&&(f=!0)}var g,v=s.colormodel,m=v.length,y=s._scaler(o.z[h][u]),x=i.colormodel[v].suffix,b=[];(s.hovertemplate||f)&&(b.push("["+[y[0]+x[0],y[1]+x[1],y[2]+x[2]].join(", ")),4===m&&b.push(", "+y[3]+x[3]),b.push("]"),b=b.join(""),t.extraText=v.toUpperCase()+": "+b),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][u]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][u]);var _=c.c2p(o.y0+(h+.5)*s.dy),w=o.x0+(u+.5)*s.dx,k=o.y0+(h+.5)*s.dy,T="["+o.z[h][u].slice(0,s.colormodel.length).join(", ")+"]";return[a.extendFlat(t,{index:[h,u],x0:l.c2p(o.x0+u*s.dx),x1:l.c2p(o.x0+(u+1)*s.dx),y0:_,y1:_,color:y,xVal:w,xLabelVal:w,yVal:k,yLabelVal:k,zLabelVal:T,text:g,hovertemplateLabels:{zLabel:T,colorLabel:b,"color[0]Label":y[0]+x[0],"color[1]Label":y[1]+x[1],"color[2]Label":y[2]+x[2],"color[3]Label":y[3]+x[3]}})]}}}},{"../../components/fx":629,"../../lib":716,"./constants":1040}],1044:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),eventData:t("./event_data"),moduleType:"trace",name:"image",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},{"../../plots/cartesian":775,"./attributes":1038,"./calc":1039,"./defaults":1041,"./event_data":1042,"./hover":1043,"./plot":1045,"./style":1046}],1045:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/xmlns_namespaces"),o=t("./constants");e.exports=function(t,e,r,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,r,"im").each(function(t){var e,r,s,u,h,f,p=n.select(this),d=t[0],g=d.trace,v=d.z,m=d.x0,y=d.y0,x=d.w,b=d.h,_=g.dx,w=g.dy;for(f=0;void 0===e&&f<x;)e=l.c2p(m+f*_),f++;for(f=x;void 0===r&&f>0;)r=l.c2p(m+f*_),f--;for(f=0;void 0===u&&f<b;)u=c.c2p(y+f*w),f++;for(f=b;void 0===h&&f>0;)h=c.c2p(y+f*w),f--;r<e&&(s=r,r=e,e=s),h<u&&(s=u,u=h,h=s);e=Math.max(-.5*l._length,e),r=Math.min(1.5*l._length,r),u=Math.max(-.5*c._length,u),h=Math.min(1.5*c._length,h);var k=Math.round(r-e),T=Math.round(h-u);if(k<=0||T<=0){p.selectAll("image").data([]).exit().remove()}else{var A=document.createElement("canvas");A.width=k,A.height=T;var M,S=A.getContext("2d"),E=function(t){return a.constrain(Math.round(l.c2p(m+t*_)-e),0,k)},L=function(t){return a.constrain(Math.round(c.c2p(y+t*w)-u),0,T)},C=o.colormodel[g.colormodel].fmt;for(f=0;f<d.w;f++){var P=E(f),O=E(f+1);if(O!==P&&!isNaN(O)&&!isNaN(P))for(var z=0;z<d.h;z++){var I=L(z),D=L(z+1);D===I||isNaN(D)||isNaN(I)||!v[z][f]||(M=g._scaler(v[z][f]),S.fillStyle=M?g.colormodel+"("+C(M).join(",")+")":"rgba(0,0,0,0)",S.fillRect(P,I,O-P,D-I))}}var R=p.selectAll("image").data(t);R.enter().append("svg:image").attr({xmlns:i.svg,preserveAspectRatio:"none"}),R.attr({height:T,width:k,x:e,y:u,"xlink:href":A.toDataURL("image/png")})}})}},{"../../constants/xmlns_namespaces":693,"../../lib":716,"./constants":1040,d3:164}],1046:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".im image").style("opacity",function(t){return t.trace.opacity})}},{d3:164}],1047:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("../../lib/extend").extendDeep,i=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../components/color/attributes"),l=t("../../plots/domain").attributes,c=t("../../plots/cartesian/layout_attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../constants/delta.js"),f=(t("../../constants/docs").FORMAT_LINK,o({editType:"plot",colorEditType:"plot"})),p={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:s.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},d={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},g=u("step",a({},p,{range:d}));e.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:l({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:n({},f,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot"},font:n({},f,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot"},increasing:{symbol:{valType:"string",dflt:h.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:h.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:h.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:h.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:n({},f,{}),editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:a({},p,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:s.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:i({range:d,visible:n({},c.visible,{dflt:!0}),tickmode:c.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:n({},c.ticks,{dflt:"outside"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,showticklabels:c.showticklabels,tickfont:o({}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,showexponent:c.showexponent,editType:"plot"},"plot"),steps:g,threshold:{line:{color:n({},p.line.color,{}),width:n({},p.line.width,{dflt:1}),editType:"plot"},thickness:n({},p.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}},{"../../components/color/attributes":590,"../../constants/delta.js":686,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/cartesian/layout_attributes":776,"../../plots/domain":789,"../../plots/font_attributes":790}],1048:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="indicator",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1049:[function(t,e,r){"use strict";e.exports={calc:function(t,e){var r=[],n=e.value;"number"!=typeof e._lastValue&&(e._lastValue=e.value);var a=e._lastValue,i=a;return e._hasDelta&&"number"==typeof e.delta.reference&&(i=e.delta.reference),r[0]={y:n,lastY:a,delta:n-i,relativeDelta:(n-i)/i},r}}},{}],1050:[function(t,e,r){"use strict";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],1051:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../../plot_api/plot_template"),s=t("../../plots/array_container_defaults"),l=t("./constants.js"),c=t("../../plots/cartesian/tick_value_defaults"),u=t("../../plots/cartesian/tick_mark_defaults"),h=t("../../plots/cartesian/tick_label_defaults");function f(t,e){function r(r,i){return n.coerce(t,e,a.gauge.steps,r,i)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}e.exports={supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}i(e,p,d),d("mode"),e._hasNumber=-1!==e.mode.indexOf("number"),e._hasDelta=-1!==e.mode.indexOf("delta"),e._hasGauge=-1!==e.mode.indexOf("gauge");var g=d("value");e._range=[0,"number"==typeof g?1.5*g:1];var v,m,y,x,b,_,w=new Array(2);function k(t,e){return n.coerce(y,x,a.gauge,t,e)}function T(t,e){return n.coerce(b,_,a.gauge.axis,t,e)}if(e._hasNumber&&(d("number.valueformat"),d("number.font.color",p.font.color),d("number.font.family",p.font.family),d("number.font.size"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,w[0]=!0),d("number.prefix"),d("number.suffix"),v=e.number.font.size),e._hasDelta&&(d("delta.font.color",p.font.color),d("delta.font.family",p.font.family),d("delta.font.size"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(v||l.defaultNumberFontSize),w[1]=!0),d("delta.reference",e.value),d("delta.relative"),d("delta.valueformat",e.delta.relative?"2%":""),d("delta.increasing.symbol"),d("delta.increasing.color"),d("delta.decreasing.symbol"),d("delta.decreasing.color"),d("delta.position"),m=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||w[0])&&(!e._hasDelta||w[1])||!1,d("title.font.color",p.font.color),d("title.font.family",p.font.family),d("title.font.size",.25*(v||m||l.defaultNumberFontSize)),d("title.text"),e._hasGauge){(y=t.gauge)||(y={}),x=o.newContainer(e,"gauge"),k("shape"),(e._isBullet="bullet"===e.gauge.shape)||d("title.align","center"),(e._isAngular="angular"===e.gauge.shape)||d("align","center"),k("bgcolor",p.paper_bgcolor),k("borderwidth"),k("bordercolor"),k("bar.color"),k("bar.line.color"),k("bar.line.width"),k("bar.thickness",l.valueThickness*("bullet"===e.gauge.shape?.5:1)),s(y,x,{name:"steps",handleItemDefaults:f}),k("threshold.value"),k("threshold.thickness"),k("threshold.line.width"),k("threshold.line.color"),b={},y&&(b=y.axis||{}),_=o.newContainer(x,"axis"),T("visible"),e._range=T("range",e._range);var A={outerTicks:!0};c(b,_,T,"linear"),h(b,_,T,"linear",A),u(b,_,T,A)}else d("title.align","center"),d("align","center"),e._isAngular=e._isBullet=!1;e._length=null}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_mark_defaults":784,"../../plots/cartesian/tick_value_defaults":785,"../../plots/domain":789,"./attributes":1047,"./constants.js":1050}],1052:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"indicator",basePlotModule:t("./base_plot"),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc").calc,plot:t("./plot"),meta:{}}},{"./attributes":1047,"./base_plot":1048,"./calc":1049,"./defaults":1051,"./plot":1053}],1053:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=a.rad2deg,o=t("../../constants/alignment").MID_SHIFT,s=t("../../components/drawing"),l=t("./constants"),c=t("../../lib/svg_text_utils"),u=t("../../plots/cartesian/axes"),h=t("../../plots/cartesian/axis_defaults"),f=t("../../plots/cartesian/position_defaults"),p=t("../../plots/cartesian/layout_attributes"),d=t("../../components/color"),g={left:"start",center:"middle",right:"end"},v={left:0,center:.5,right:1},m=/[yzafpn\xb5mkMGTPEZY]/;function y(t){return t&&t.duration>0}function x(t){t.each(function(t){d.stroke(n.select(this),t.line.color)}).each(function(t){d.fill(n.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function b(t,e,r){var n=t._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),o={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return a.coerce(i,o,p,t,e)}return h(i,o,l,s,n),f(i,o,l,s),o}function _(t,e){return"translate("+t+","+e+")"}function w(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function k(t,e,r,a){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(i);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(c.convertToTspans,a).call(s.font,e),s.bBox(o.node())}function T(t,e,r,n,i,o){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=a.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,h){var f,p=t._fullLayout;y(r)&&h&&(f=h()),a.makeTraceGroups(p._indicatorlayer,e,"trace").each(function(e){var h,A,M,S,E,L=e[0].trace,C=n.select(this),P=L._hasGauge,O=L._isAngular,z=L._isBullet,I=L.domain,D={w:p._size.w*(I.x[1]-I.x[0]),h:p._size.h*(I.y[1]-I.y[0]),l:p._size.l+p._size.w*I.x[0],r:p._size.r+p._size.w*(1-I.x[1]),t:p._size.t+p._size.h*(1-I.y[1]),b:p._size.b+p._size.h*I.y[0]},R=D.l+D.w/2,F=D.t+D.h/2,B=Math.min(D.w/2,D.h),N=l.innerRadius*B,j=L.align||"center";if(A=F,P){if(O&&(h=R,A=F+B/2,M=function(t){return e=t,r=.9*N,n=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),[r/n,e,r];var e,r,n}),z){var V=l.bulletPadding,U=1-l.bulletNumberDomainSize+V;h=D.l+(U+(1-U)*v[j])*D.w,M=function(t){return w(t,(l.bulletNumberDomainSize-V)*D.w,D.h)}}}else h=D.l+v[j]*D.w,M=function(t){return w(t,D.w,D.h)};!function(t,e,r,i){var o,l,h,f=r[0].trace,p=i.numbersX,x=i.numbersY,w=f.align||"center",A=g[w],M=i.transitionOpts,S=i.onComplete,E=a.ensureSingle(e,"g","numbers"),L=[];f._hasNumber&&L.push("number");f._hasDelta&&(L.push("delta"),"left"===f.delta.position&&L.reverse());var C=E.selectAll("text").data(L);function P(e,r,n,a){if(!e.match("s")||n>=0==a>=0||r(n).slice(-1).match(m)||r(a).slice(-1).match(m))return r;var i=e.slice().replace("s","f").replace(/\d+/,function(t){return parseInt(t)-1}),o=b(t,{tickformat:i});return function(t){return Math.abs(t)<1?u.tickText(o,t).text:r(t)}}C.enter().append("text"),C.attr("text-anchor",function(){return A}).attr("class",function(t){return t}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),C.exit().remove();var O,z=f.mode+f.align;f._hasDelta&&(O=function(){var e=b(t,{tickformat:f.delta.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=function(t){var e=f.delta.relative?t.relativeDelta:t.delta;return e},o=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?f.delta.increasing.symbol:f.delta.decreasing.symbol)+e(t)},h=function(t){return t.delta>=0?f.delta.increasing.color:f.delta.decreasing.color};void 0===f._deltaLastValue&&(f._deltaLastValue=i(r[0]));var p=E.select("text.delta");function g(){p.text(o(i(r[0]),a)).call(d.fill,h(r[0])).call(c.convertToTspans,t)}p.call(s.font,f.delta.font).call(d.fill,h({delta:f._deltaLastValue})),y(M)?p.transition().duration(M.duration).ease(M.easing).tween("text",function(){var t=n.select(this),e=i(r[0]),s=f._deltaLastValue,l=P(f.delta.valueformat,a,s,e),c=n.interpolateNumber(s,e);return f._deltaLastValue=e,function(e){t.text(o(c(e),l)),t.call(d.fill,h({delta:c(e)}))}}).each("end",function(){g(),S&&S()}).each("interrupt",function(){g(),S&&S()}):g();return l=k(o(i(r[0]),a),f.delta.font,A,t),p}(),z+=f.delta.position+f.delta.font.size+f.delta.font.family+f.delta.valueformat,z+=f.delta.increasing.symbol+f.delta.decreasing.symbol,h=l);f._hasNumber&&(!function(){var e=b(t,{tickformat:f.number.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=f.number.suffix,l=f.number.prefix,h=E.select("text.number");function p(){var e="number"==typeof r[0].y?l+a(r[0].y)+i:"-";h.text(e).call(s.font,f.number.font).call(c.convertToTspans,t)}y(M)?h.transition().duration(M.duration).ease(M.easing).each("end",function(){p(),S&&S()}).each("interrupt",function(){p(),S&&S()}).attrTween("text",function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);f._lastValue=r[0].y;var o=P(f.number.valueformat,a,r[0].lastY,r[0].y);return function(r){t.text(l+o(e(r))+i)}}):p();o=k(l+a(r[0].y)+i,f.number.font,A,t)}(),z+=f.number.font.size+f.number.font.family+f.number.valueformat+f.number.suffix+f.number.prefix,h=o);if(f._hasDelta&&f._hasNumber){var I,D,R=[(o.left+o.right)/2,(o.top+o.bottom)/2],F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=.75*f.delta.font.size;"left"===f.delta.position&&(I=T(f,"deltaPos",0,-1*(o.width*v[f.align]+l.width*(1-v[f.align])+B),z,Math.min),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:l.left+I,right:o.right,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"right"===f.delta.position&&(I=T(f,"deltaPos",0,o.width*(1-v[f.align])+l.width*v[f.align]+B,z,Math.max),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:o.left,right:l.right+I,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"bottom"===f.delta.position&&(I=null,D=l.height,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height,bottom:o.bottom+l.height}),"top"===f.delta.position&&(I=null,D=o.top,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height-l.height,bottom:o.bottom}),O.attr({dx:I,dy:D})}(f._hasNumber||f._hasDelta)&&E.attr("transform",function(){var t=i.numbersScaler(h);z+=t[2];var e,r=T(f,"numbersScale",1,t[0],z,Math.min);f._scaleNumbers||(r=1),e=f._isAngular?x-r*h.bottom:x-r*(h.top+h.bottom)/2,f._numbersTop=r*h.top+e;var n=h[w];"center"===w&&(n=(h.left+h.right)/2);var a=p-r*n;return _(a=T(f,"numbersTranslate",0,a,z,Math.max),e)+" scale("+r+")"})}(t,C,e,{numbersX:h,numbersY:A,numbersScaler:M,transitionOpts:r,onComplete:f}),P&&(S={range:L.gauge.axis.range,color:L.gauge.bgcolor,line:{color:L.gauge.bordercolor,width:0},thickness:1},E={range:L.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:L.gauge.bordercolor,width:L.gauge.borderwidth},thickness:1});var q=C.selectAll("g.angular").data(O?e:[]);q.exit().remove();var H=C.selectAll("g.angularaxis").data(O?e:[]);H.exit().remove(),O&&function(t,e,r,a){var s,l,c,h,f=r[0].trace,p=a.size,d=a.radius,g=a.innerRadius,v=a.gaugeBg,m=a.gaugeOutline,w=[p.l+p.w/2,p.t+p.h/2+d/2],k=a.gauge,T=a.layer,A=a.transitionOpts,M=a.onComplete,S=Math.PI/2;function E(t){var e=f.gauge.axis.range[0],r=f.gauge.axis.range[1],n=(t-e)/(r-e)*Math.PI-S;return n<-S?-S:n>S?S:n}function L(t){return n.svg.arc().innerRadius((g+d)/2-t/2*(d-g)).outerRadius((g+d)/2+t/2*(d-g)).startAngle(-S)}function C(t){t.attr("d",function(t){return L(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()})}k.enter().append("g").classed("angular",!0),k.attr("transform",_(w[0],w[1])),T.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),T.selectAll("g.xangularaxistick,path,text").remove(),(s=b(t,f.gauge.axis)).type="linear",s.range=f.gauge.axis.range,s._id="xangularaxis",s.setScale();var P=function(t){return(s.range[0]-t.x)/(s.range[1]-s.range[0])*Math.PI+Math.PI},O={},z=u.makeLabelFns(s,0).labelStandoff;O.xFn=function(t){var e=P(t);return Math.cos(e)*z},O.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*o)},O.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},O.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var I=function(t){return _(w[0]+d*Math.cos(t),w[1]-d*Math.sin(t))};c=function(t){return I(P(t))};if(l=u.calcTicks(s),h=u.getTickSigns(s)[2],s.visible){h="inside"===s.ticks?-1:1;var D=(s.linewidth||1)/2;u.drawTicks(t,s,{vals:l,layer:T,path:"M"+h*D+",0h"+h*s.ticklen,transFn:function(t){var e=P(t);return I(e)+"rotate("+-i(e)+")"}}),u.drawLabels(t,s,{vals:l,layer:T,transFn:c,labelFns:O})}var R=[v].concat(f.gauge.steps),F=k.selectAll("g.bg-arc").data(R);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(C).call(x),F.exit().remove();var B=L(f.gauge.bar.thickness),N=k.selectAll("g.value-arc").data([f.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var j=N.select("path");y(A)?(j.transition().duration(A.duration).ease(A.easing).each("end",function(){M&&M()}).each("interrupt",function(){M&&M()}).attrTween("d",(V=B,U=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(U,q);return function(e){return V.endAngle(t(e))()}})),f._lastValue=r[0].y):j.attr("d","number"==typeof r[0].y?B.endAngle(E(r[0].y)):"M0,0Z");var V,U,q;j.call(x),N.exit().remove(),R=[];var H=f.gauge.threshold.value;H&&R.push({range:[H,H],color:f.gauge.threshold.color,line:{color:f.gauge.threshold.line.color,width:f.gauge.threshold.line.width},thickness:f.gauge.threshold.thickness});var G=k.selectAll("g.threshold-arc").data(R);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(C).call(x),G.exit().remove();var Y=k.selectAll("g.gauge-outline").data([m]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(C).call(x),Y.exit().remove()}(t,0,e,{radius:B,innerRadius:N,gauge:q,layer:H,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var G=C.selectAll("g.bullet").data(z?e:[]);G.exit().remove();var Y=C.selectAll("g.bulletaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,n){var a,i,o,s,c,h=r[0].trace,f=n.gauge,p=n.layer,g=n.gaugeBg,v=n.gaugeOutline,m=n.size,_=h.domain,w=n.transitionOpts,k=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform","translate("+m.l+", "+m.t+")"),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var T=m.h,A=h.gauge.bar.thickness*T,M=_.x[0],S=_.x[0]+(_.x[1]-_.x[0])*(h._hasNumber||h._hasDelta?1-l.bulletNumberDomainSize:1);(a=b(t,h.gauge.axis))._id="xbulletaxis",a.domain=[M,S],a.setScale(),i=u.calcTicks(a),o=u.makeTransFn(a),s=u.getTickSigns(a)[2],c=m.t+m.h,a.visible&&(u.drawTicks(t,a,{vals:"inside"===a.ticks?u.clipEnds(a,i):i,layer:p,path:u.makeTickPath(a,c,s),transFn:o}),u.drawLabels(t,a,{vals:i,layer:p,transFn:o,labelFns:u.makeLabelFns(a,c)}));function E(t){t.attr("width",function(t){return Math.max(0,a.c2p(t.range[1])-a.c2p(t.range[0]))}).attr("x",function(t){return a.c2p(t.range[0])}).attr("y",function(t){return.5*(1-t.thickness)*T}).attr("height",function(t){return t.thickness*T})}var L=[g].concat(h.gauge.steps),C=f.selectAll("g.bg-bullet").data(L);C.enter().append("g").classed("bg-bullet",!0).append("rect"),C.select("rect").call(E).call(x),C.exit().remove();var P=f.selectAll("g.value-bullet").data([h.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",A).attr("y",(T-A)/2).call(x),y(w)?P.select("rect").transition().duration(w.duration).ease(w.easing).each("end",function(){k&&k()}).each("interrupt",function(){k&&k()}).attr("width",Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var O=r.filter(function(){return h.gauge.threshold.value}),z=f.selectAll("g.threshold-bullet").data(O);z.enter().append("g").classed("threshold-bullet",!0).append("line"),z.select("line").attr("x1",a.c2p(h.gauge.threshold.value)).attr("x2",a.c2p(h.gauge.threshold.value)).attr("y1",(1-h.gauge.threshold.thickness)/2*T).attr("y2",(1-(1-h.gauge.threshold.thickness)/2)*T).call(d.stroke,h.gauge.threshold.line.color).style("stroke-width",h.gauge.threshold.line.width),z.exit().remove();var I=f.selectAll("g.gauge-outline").data([v]);I.enter().append("g").classed("gauge-outline",!0).append("rect"),I.select("rect").call(E).call(x),I.exit().remove()}(t,0,e,{gauge:G,layer:Y,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var W=C.selectAll("text.title").data(e);W.exit().remove(),W.enter().append("text").classed("title",!0),W.attr("text-anchor",function(){return z?g.right:g[L.title.align]}).text(L.title.text).call(s.font,L.title.font).call(c.convertToTspans,t),W.attr("transform",function(){var t,e=D.l+D.w*v[L.title.align],r=l.titlePadding,n=s.bBox(W.node());if(P){if(O)if(L.gauge.axis.visible)t=s.bBox(H.node()).top-r-n.bottom;else t=D.t+D.h/2-B/2-n.bottom-r;z&&(t=A-(n.top+n.bottom)/2,e=D.l-l.bulletPadding*D.w)}else t=L._numbersTop-r-n.bottom;return _(e,t)})})}},{"../../components/color":591,"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"./constants":1050,d3:164}],1054:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var c=e.exports=l(s({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a()},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],1055:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length);for(var r=1/0,a=-1/0,i=e.value.length,o=0;o<i;o++){var s=e.value[o];r=Math.min(r,s),a=Math.max(a,s)}e._minValues=r,e._maxValues=a,e._vMin=void 0===e.isomin||null===e.isomin?r:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?a:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1056:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("../../lib"),i=t("../../lib/gl_format_color").parseColorScale,o=t("../../lib/str2rgbarray"),s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t){return a.distinctVals(t).vals}var u=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),a=Math.max(e[r],e[r-1]);if(a>n&&n<t&&t<=a)return{id:r,distRatio:(a-t)/(a-n)}}return{id:0,distRatio:0}};function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){t._i=[],t._j=[],t._k=[];var e,r,n=t.surface.show,a=t.spaceframe.show,i=t.surface.fill,o=t.spaceframe.fill,s=!1,l=!1,h=0,f=c(t.x.slice(0,t._len)),p=c(t.y.slice(0,t._len)),d=c(t.z.slice(0,t._len)),g=f.length,v=p.length,m=d.length;function y(t,e,r){return r+m*e+m*v*t}var x,b,_,w,k,T=t._minValues,A=t._maxValues,M=t._vMin,S=t._vMax;function E(t,e,n){for(var a=w.length,i=r;i<a;i++)if(t===x[i]&&e===b[i]&&n===_[i])return i;return-1}function L(){r=e}function C(){x=[],b=[],_=[],w=[],e=0,L()}function P(t,r,n,a){return x.push(t),b.push(r),_.push(n),w.push(a),++e-1}function O(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=t[a]*(1-r)+r*e[a];return n}function z(t){k=t}function I(t,e){return"all"===t||null===t||t.indexOf(e)>-1}function D(t,e){return null===t?e:t}function R(e,r,n){L();var a,i,o,s=[r],l=[n];if(k>=1)s=[r],l=[n];else if(k>0){var c=function(t,e){var r=t[0],n=t[1],a=t[2],i=function(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=(t[a]+e[a]+r[a])/3;return n}(r,n,a),o=Math.sqrt(1-k),s=O(i,r,o),l=O(i,n,o),c=O(i,a,o),u=e[0],h=e[1],f=e[2];return{xyzv:[[r,n,l],[l,s,r],[n,a,c],[c,l,n],[a,r,s],[s,c,a]],abc:[[u,h,-1],[-1,-1,u],[h,f,-1],[-1,-1,h],[f,u,-1],[-1,-1,f]]}}(r,n);s=c.xyzv,l=c.abc}for(var u=0;u<s.length;u++){r=s[u],n=l[u];for(var f=[],p=0;p<3;p++){var d=r[p][0],g=r[p][1],v=r[p][2],m=r[p][3],y=n[p]>-1?n[p]:E(d,g,v);f[p]=y>-1?y:P(d,g,v,D(e,m))}a=f[0],i=f[1],o=f[2],t._i.push(a),t._j.push(i),t._k.push(o),++h}}function F(t,e,r,n){var a=t[3];a<r&&(a=r),a>n&&(a=n);for(var i=(t[3]-a)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-i)*t[s]+i*e[s];return o}function B(t,e,r){return t>=e&&t<=r}function N(t){var e=.001*(S-M);return t>=M-e&&t<=S+e}function j(e){for(var r=[],n=0;n<4;n++){var a=e[n];r.push([t.x[a],t.y[a],t.z[a],t.value[a]])}return r}var V=3;function U(t,e,r,n,a,i){i||(i=1),r=[-1,-1,-1];var o=!1,s=[B(e[0][3],n,a),B(e[1][3],n,a),B(e[2][3],n,a)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return N(e[0][3])&&N(e[1][3])&&N(e[2][3])?(R(t,e,r),!0):i<V&&U(t,e,r,M,S,++i)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(i){if(s[i[0]]&&s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=F(f,u,n,a),d=F(f,h,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,o=l(t,[u,h,d],[r[i[0]],r[i[1]],-1])||o,c=!0}}),c?o:([[0,1,2],[1,2,0],[2,0,1]].forEach(function(i){if(s[i[0]]&&!s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=F(h,u,n,a),d=F(f,u,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,c=!0}}),o)}function q(t,e,r,n){var a=!1,i=j(e),o=[B(i[0][3],r,n),B(i[1][3],r,n),B(i[2][3],r,n),B(i[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return a;if(o[0]&&o[1]&&o[2]&&o[3])return l&&(a=function(t,e,r){var n=function(n,a,i){R(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,i,e)||a),a;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(c){if(o[c[0]]&&o[c[1]]&&o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]];if(l)a=R(t,[u,h,f],[e[c[0]],e[c[1]],e[c[2]]])||a;else{var d=F(p,u,r,n),g=F(p,h,r,n),v=F(p,f,r,n);a=R(null,[d,g,v],[-1,-1,-1])||a}s=!0}}),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach(function(c){if(o[c[0]]&&o[c[1]]&&!o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]],d=F(f,u,r,n),g=F(f,h,r,n),v=F(p,h,r,n),m=F(p,u,r,n);l?(a=R(t,[u,m,d],[e[c[0]],-1,-1])||a,a=R(t,[h,g,v],[e[c[1]],-1,-1])||a):a=function(t,e,r){var n=function(n,a,i){R(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(2,3,0)}(null,[d,g,v,m],[-1,-1,-1,-1])||a,s=!0}}),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(c){if(o[c[0]]&&!o[c[1]]&&!o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]],d=F(h,u,r,n),g=F(f,u,r,n),v=F(p,u,r,n);l?(a=R(t,[u,d,g],[e[c[0]],-1,-1])||a,a=R(t,[u,g,v],[e[c[0]],-1,-1])||a,a=R(t,[u,v,d],[e[c[0]],-1,-1])||a):a=R(null,[d,g,v],[-1,-1,-1])||a,s=!0}}),a))}function H(t,e,r,n,a,i,o,c,u,h,f){var p=!1;return s&&(I(t,"A")&&(p=q(null,[e,r,n,i],h,f)||p),I(t,"B")&&(p=q(null,[r,n,a,u],h,f)||p),I(t,"C")&&(p=q(null,[r,i,o,u],h,f)||p),I(t,"D")&&(p=q(null,[n,i,c,u],h,f)||p),I(t,"E")&&(p=q(null,[r,n,i,u],h,f)||p)),l&&(p=q(t,[r,n,i,u],h,f)||p),p}function G(t,e,r,n,a,i,o,s){return[!0===s[0]||U(t,j([e,r,n]),[e,r,n],i,o),!0===s[1]||U(t,j([n,a,e]),[n,a,e],i,o)]}function Y(t,e,r,n,a,i,o,s,l){return s?G(t,e,r,a,n,i,o,l):G(t,r,a,n,e,i,o,l)}function W(t,e,r,n,a,i,o){var s,l,c,u,h=!1,f=function(){h=U(t,[s,l,c],[-1,-1,-1],a,i)||h,h=U(t,[c,u,s],[-1,-1,-1],a,i)||h},p=o[0],d=o[1],g=o[2];return p&&(s=O(j([y(e,r-0,n-0)])[0],j([y(e-1,r-0,n-0)])[0],p),l=O(j([y(e,r-0,n-1)])[0],j([y(e-1,r-0,n-1)])[0],p),c=O(j([y(e,r-1,n-1)])[0],j([y(e-1,r-1,n-1)])[0],p),u=O(j([y(e,r-1,n-0)])[0],j([y(e-1,r-1,n-0)])[0],p),f()),d&&(s=O(j([y(e-0,r,n-0)])[0],j([y(e-0,r-1,n-0)])[0],d),l=O(j([y(e-0,r,n-1)])[0],j([y(e-0,r-1,n-1)])[0],d),c=O(j([y(e-1,r,n-1)])[0],j([y(e-1,r-1,n-1)])[0],d),u=O(j([y(e-1,r,n-0)])[0],j([y(e-1,r-1,n-0)])[0],d),f()),g&&(s=O(j([y(e-0,r-0,n)])[0],j([y(e-0,r-0,n-1)])[0],g),l=O(j([y(e-0,r-1,n)])[0],j([y(e-0,r-1,n-1)])[0],g),c=O(j([y(e-1,r-1,n)])[0],j([y(e-1,r-1,n-1)])[0],g),u=O(j([y(e-1,r-0,n)])[0],j([y(e-1,r-0,n-1)])[0],g),f()),h}function X(t,e,r,n,a,i,o,l,c,u,h,f){var p=t;return f?(s&&"even"===t&&(p=null),H(p,e,r,n,a,i,o,l,c,u,h)):(s&&"odd"===t&&(p=null),H(p,c,l,o,i,a,n,r,e,u,h))}function Z(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<m;c++)for(var u=1;u<v;u++)i.push(Y(t,y(l,u-1,c-1),y(l,u-1,c),y(l,u,c-1),y(l,u,c),r,n,(l+u+c)%2,a&&a[o]?a[o]:[])),o++;return i}function J(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<g;c++)for(var u=1;u<m;u++)i.push(Y(t,y(c-1,l,u-1),y(c,l,u-1),y(c-1,l,u),y(c,l,u),r,n,(c+l+u)%2,a&&a[o]?a[o]:[])),o++;return i}function K(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<v;c++)for(var u=1;u<g;u++)i.push(Y(t,y(u-1,c-1,l),y(u-1,c,l),y(u,c-1,l),y(u,c,l),r,n,(u+c+l)%2,a&&a[o]?a[o]:[])),o++;return i}function Q(t,e,r){for(var n=1;n<m;n++)for(var a=1;a<v;a++)for(var i=1;i<g;i++)X(t,y(i-1,a-1,n-1),y(i-1,a-1,n),y(i-1,a,n-1),y(i-1,a,n),y(i,a-1,n-1),y(i,a-1,n),y(i,a,n-1),y(i,a,n),e,r,(i+a+n)%2)}function $(t,e,r){s=!0,Q(t,e,r),s=!1}function tt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<m;u++)for(var h=1;h<v;h++)o.push(W(t,c,h,u,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function et(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<g;u++)for(var h=1;h<m;h++)o.push(W(t,u,c,h,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function rt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<v;u++)for(var h=1;h<g;h++)o.push(W(t,h,u,c,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function nt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){if(C(),function(){for(var e=0;e<g;e++)for(var r=0;r<v;r++)for(var n=0;n<m;n++){var a=y(e,r,n);P(t.x[a],t.y[a],t.z[a],t.value[a])}}(),a&&o&&(z(o),l=!0,Q(null,M,S),l=!1),n&&i){z(i);for(var e=t.surface.pattern,r=t.surface.count,s=0;s<r;s++){var c=1===r?.5:s/(r-1),k=(1-c)*M+c*S,E=Math.abs(k-T)>Math.abs(k-A)?[T,k]:[k,A];$(e,E[0],E[1])}}var L=[[Math.min(M,A),Math.max(M,A)],[Math.min(T,S),Math.max(T,S)]];["x","y","z"].forEach(function(e){for(var r=[],n=0;n<L.length;n++){var a=0,i=L[n][0],o=L[n][1],s=t.slices[e];if(s.show&&s.fill){z(s.fill);var l=[],c=[],h=[];if(s.locations.length)for(var y=0;y<s.locations.length;y++){var x=u(s.locations[y],"x"===e?f:"y"===e?p:d);0===x.distRatio?l.push(x.id):x.id>0&&(c.push(x.id),"x"===e?h.push([x.distRatio,0,0]):"y"===e?h.push([0,x.distRatio,0]):h.push([0,0,x.distRatio]))}else l=nt(1,"x"===e?g-1:"y"===e?v-1:m-1);c.length>0&&(r[a]="x"===e?tt(null,c,i,o,h,r[a]):"y"===e?et(null,c,i,o,h,r[a]):rt(null,c,i,o,h,r[a]),a++),l.length>0&&(r[a]="x"===e?Z(null,l,i,o,r[a]):"y"===e?J(null,l,i,o,r[a]):K(null,l,i,o,r[a]),a++)}var b=t.caps[e];b.show&&b.fill&&(z(b.fill),r[a]="x"===e?Z(null,[0,g-1],i,o,r[a]):"y"===e?J(null,[0,v-1],i,o,r[a]):K(null,[0,m-1],i,o,r[a]),a++)}}),0===h&&C(),t._x=x,t._y=b,t._z=_,t._intensity=w,t._Xs=f,t._Ys=p,t._Zs=d}(),t}f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._x[e],n=this.data._y[e],a=this.data._z[e],i=this.data._Ys.length,o=this.data._Zs.length,s=u(r,this.data._Xs).id,l=u(n,this.data._Ys).id,c=u(a,this.data._Zs).id,h=t.index=c+o*l+o*i*s;t.traceCoordinate=[this.data._x[h],this.data._y[h],this.data._z[h],this.data.value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=p(t);var a={positions:l(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:l(t._i,t._j,t._k),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:o(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=s(t);a.vertexIntensity=t._intensity,a.vertexIntensityBounds=[c.min,c.max],a.colormap=i(t),this.mesh.update(a)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"gl-mesh3d":282}],1057:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,i){var s=i("isomin"),l=i("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=i("x"),u=i("y"),h=i("z"),f=i("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach(function(t){var e="caps."+t;i(e+".show")&&i(e+".fill");var r="slices."+t;i(r+".show")&&(i(r+".fill"),i(r+".locations"))}),i("spaceframe.show")&&i("spaceframe.fill"),i("surface.show")&&(i("surface.count"),i("surface.fill"),i("surface.pattern")),i("contour.show")&&(i("contour.color"),i("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(t){i(t)}),o(t,e,n,i,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,a){s(t,e,0,a,function(r,a){return n.coerce(t,e,i,r,a)})},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1054}],1058:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1054,"./calc":1055,"./convert":1056,"./defaults":1057}],1059:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},i.contours.x.show,{}),color:i.contours.x.color,width:i.contours.x.width,editType:"calc"},lightposition:{x:s({},i.lightposition.x,{dflt:1e5}),y:s({},i.lightposition.y,{dflt:1e5}),z:s({},i.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},i.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"})})},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../surface/attributes":1240}],1060:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1061:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("delaunay-triangulate"),i=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../components/colorscale").extractOpts,u=t("../../plots/gl3d/zip3");function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var a=[],i=e.length,o=0;o<i;o++)a[o]=t.d2l(e[o],0,n)*r;return a}function g(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function v(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,h=t.x.length,f=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!v(t.i,h)||!v(t.j,h)||!v(t.k,h))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?i(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],i=e.length,o=0;o<i;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return a(n)}(t.delaunayaxis,f);var m={positions:f,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var y=c(t);this.color="#fff",m.vertexIntensity=t.intensity,m.vertexIntensityBounds=[y.min,y.max],m.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],m.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],m.cellColors=p(t.facecolor)):(this.color=t.color,m.meshColor=l(t.color));this.mesh.update(m)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"alpha-shape":66,"convex-hull":131,"delaunay-triangulate":166,"gl-mesh3d":282}],1062:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return a.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&a.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}c(["x","y","z"])?(c(["i","j","k"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(t){l(t)}),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in t?(l("intensity"),i(t,e,s,l,{prefix:"",cLetter:"c"})):(e.showscale=!1,"facecolor"in t?l("facecolor"):"vertexcolor"in t?l("vertexcolor"):l("color",r)),l("text"),l("hovertext"),l("hovertemplate"),e._length=null):e.visible=!1):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1059}],1063:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"mesh3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1059,"./calc":1060,"./convert":1061,"./defaults":1062}],1064:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,a=t("../scatter/attributes"),i=t("../../components/drawing/attributes").dash,o=t("../../components/fx/attributes"),s=t("../../constants/delta.js"),l=s.INCREASING.COLOR,c=s.DECREASING.COLOR,u=a.line;function h(t){return{line:{color:n({},u.color,{dflt:t}),width:u.width,dash:i,editType:"style"},editType:"style"}}e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:n({},u.width,{}),dash:n({},i,{}),editType:"style"},increasing:h(l),decreasing:h(c),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:n({},o.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}})}},{"../../components/drawing/attributes":611,"../../components/fx/attributes":621,"../../constants/delta.js":686,"../../lib":716,"../scatter/attributes":1118}],1065:[function(t,e,r){"use strict";var n=t("../../lib"),a=n._,i=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM;function s(t,e,r,n){return{o:t,h:e,l:r,c:n}}function l(t,e,r,s,l){for(var c=s.makeCalcdata(e,"open"),u=s.makeCalcdata(e,"high"),h=s.makeCalcdata(e,"low"),f=s.makeCalcdata(e,"close"),p=Array.isArray(e.text),d=Array.isArray(e.hovertext),g=!0,v=null,m=[],y=0;y<r.length;y++){var x=r[y],b=c[y],_=u[y],w=h[y],k=f[y];if(x!==o&&b!==o&&_!==o&&w!==o&&k!==o){k===b?null!==v&&k!==v&&(g=k>v):g=k>b,v=k;var T=l(b,_,w,k);T.pos=x,T.yc=(b+k)/2,T.i=y,T.dir=g?"increasing":"decreasing",T.x=T.pos,T.y=[w,_],p&&(T.tx=e.text[y]),d&&(T.htx=e.hovertext[y]),m.push(T)}else m.push({pos:x,empty:!0})}return e._extremes[s._id]=i.findExtremes(s,n.concat(h,u),{padded:!0}),m.length&&(m[0].t={labels:{open:a(t,"open:")+" ",high:a(t,"high:")+" ",low:a(t,"low:")+" ",close:a(t,"close:")+" "}}),m}e.exports={calc:function(t,e){var r=i.getFromId(t,e.xaxis),a=i.getFromId(t,e.yaxis),o=function(t,e,r){var a=r._minDiff;if(!a){var i,o=t._fullData,s=[];for(a=1/0,i=0;i<o.length;i++){var l=o[i];if("ohlc"===l.type&&!0===l.visible&&l.xaxis===e._id){s.push(l);var c=e.makeCalcdata(l,"x");l._xcalc=c;var u=n.distinctVals(c).minDiff;u&&isFinite(u)&&(a=Math.min(a,u))}}for(a===1/0&&(a=1),i=0;i<s.length;i++)s[i]._minDiff=a}return a*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var h=l(t,e,u,a,s);return e._extremes[r._id]=i.findExtremes(r,u,{vpad:c/2}),h.length?(n.extendFlat(h[0].t,{wHover:c/2,tickLen:o}),h):[{t:{empty:!0}}]},calcCommon:l}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764}],1066:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./ohlc_defaults"),i=t("./attributes");function o(t,e,r,n){r(n+".line.color"),r(n+".line.width",e.line.width),r(n+".line.dash",e.line.dash)}e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,l,s)?(l("line.width"),l("line.dash"),o(t,e,l,"increasing"),o(t,e,l,"decreasing"),l("text"),l("hovertext"),l("tickwidth"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../lib":716,"./attributes":1064,"./ohlc_defaults":1069}],1067:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib").fillText,l=t("../../constants/delta.js"),c={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function u(t,e,r,n){var a,s,l=t.cd,c=t.xa,u=l[0].trace,h=l[0].t,f=u.type,p="ohlc"===f?"l":"min",d="ohlc"===f?"h":"max",g=h.bPos||0,v=function(t){return t.pos+g-e},m=h.bdPos||h.tickLen,y=h.wHover,x=Math.min(1,m/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function b(t){var e=v(t);return i.inbox(e-y,e+y,a)}function _(t){var e=t[p],n=t[d];return e===n||i.inbox(e-r,n-r,a)}function w(t){return(b(t)+_(t))/2}a=t.maxHoverDistance-x,s=t.maxSpikeDistance-x;var k=i.getDistanceFunction(n,b,_,w);if(i.getClosest(l,k,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var A=u[T.dir],M=A.line.color;return o.opacity(M)&&A.line.width?t.color=M:t.color=A.fillcolor,t.x0=c.c2p(T.pos+g-m,!0),t.x1=c.c2p(T.pos+g+m,!0),t.xLabelVal=T.pos,t.spikeDistance=w(T)*s/a,t.xSpike=c.c2p(T.pos,!0),t}function h(t,e,r,i){var o=t.cd,s=t.ya,l=o[0].trace,c=o[0].t,h=[],f=u(t,e,r,i);if(!f)return[];var p=o[f.index].hi||l.hoverinfo,d=p.split("+");if(!("all"===p||-1!==d.indexOf("y")))return[];for(var g=["high","open","close","low"],v={},m=0;m<g.length;m++){var y,x=g[m],b=l[x][f.index],_=s.c2p(b,!0);b in v?(y=v[b]).yLabel+="<br>"+c.labels[x]+n.hoverLabelText(s,b):((y=a.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name="",h.push(y),v[b]=y)}return h}function f(t,e,r,a){var i=t.cd,o=t.ya,l=i[0].trace,h=i[0].t,f=u(t,e,r,a);if(!f)return[];var p=i[f.index],d=f.index=p.i,g=p.dir;function v(t){return h.labels[t]+n.hoverLabelText(o,l[t][d])}var m=p.hi||l.hoverinfo,y=m.split("+"),x="all"===m,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[v("open"),v("high"),v("low"),v("close")+"  "+c[g]]:[];return _&&s(p,l,w),f.extraText=w.join("<br>"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},{"../../components/color":591,"../../components/fx":629,"../../constants/delta.js":686,"../../lib":716,"../../plots/cartesian/axes":764}],1068:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select")}},{"../../plots/cartesian":775,"./attributes":1064,"./calc":1065,"./defaults":1066,"./hover":1067,"./plot":1070,"./select":1071,"./style":1072}],1069:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,a.minRowLength(o))),e._length=h,h}}},{"../../lib":716,"../../registry":845}],1070:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib");e.exports=function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace ohlc").each(function(t){var e=n.select(this),r=t[0],i=r.t;if(!0!==r.trace.visible||i.empty)e.remove();else{var l=i.tickLen,c=e.selectAll("path").data(a.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",function(t){if(t.empty)return"M0,0Z";var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-l,!0),n=o.c2p(t.pos+l,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":716,d3:164}],1071:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([a.c2p(l.pos+s),i.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:a.c2d(l.pos),y:i.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],1072:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color");e.exports=function(t,e,r){var o=r||n.select(t).selectAll("g.ohlclayer").selectAll("g.trace");o.style("opacity",function(t){return t[0].trace.opacity}),o.each(function(t){var e=t[0].trace;n.select(this).selectAll("path").each(function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style("fill","none").call(i.stroke,r.color).call(a.dashLine,r.dash,r.width).style("opacity",e.selectedpoints&&!t.selected?.3:1)}})})}},{"../../components/color":591,"../../components/drawing":612,d3:164}],1073:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("../../plots/attributes"),i=t("../../plots/font_attributes"),o=t("../../components/colorscale/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/domain").attributes,c=n({editType:"calc"},o("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});e.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:n({},a.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:i({editType:"calc"}),tickfont:i({editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:c,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1074:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,a=t("./plot");r.name="parcats",r.plot=function(t,e,r,i){var o=n(t.calcdata,"parcats");if(o.length){var s=o[0];a(t,s,r,i)}},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcats"),i=e._has&&e._has("parcats");a&&!i&&n._paperdiv.selectAll(".parcats").remove()}},{"../../plots/get_data":799,"./plot":1079}],1075:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),o=t("../../lib/filter_unique.js"),s=t("../../components/drawing"),l=t("../../lib");function c(t,e,r){t.valueInds.push(e),t.count+=r}function u(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function h(t,e,r){t.valueInds.push(e),t.count+=r}e.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var f,p,d,g=r.map(function(t){var e;return"trace"===t.categoryorder?e=null:"array"===t.categoryorder?e=t.categoryarray:(e=o(t.values).sort(),"category descending"===t.categoryorder&&(e=e.reverse())),function(t,e){e=null==e?[]:e.map(function(t){return t});var r={},n={},a=[];e.forEach(function(t,e){r[t]=0,n[t]=e});for(var i=0;i<t.length;i++){var o,s=t[i];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),a.push(o)}var l=e.map(function(t){return r[t]});return{uniqueValues:e,uniqueCounts:l,inds:a}}(t.values,e)});f=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e;if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map(function(t){return t.displayindex})))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach(function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,g[e])});var v,m=e.line;m?(a(e,"line")&&i(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),v=s.tryColorscale(m)):v=l.identity;var y,x,b,_,w,k=r[0].values.length,T={},A=g.map(function(t){return t.inds});for(d=0,y=0;y<k;y++){var M=[];for(x=0;x<A.length;x++)M.push(A[x][y]);p=f[y%f.length],d+=p;var S=(b=y,_=void 0,w=void 0,l.isArrayOrTypedArray(m.color)?w=_=m.color[b%m.color.length]:_=m.color,{color:v(_),rawColor:w}),E=M+"-"+S.rawColor;void 0===T[E]&&(T[E]=u(M,S.color,S.rawColor)),h(T[E],y,p)}var L,C=r.map(function(t,e){return r=e,n=t._index,a=t._displayindex,i=t.label,{dimensionInd:r,containerInd:n,displayInd:a,dimensionLabel:i,count:d,categories:[],dragX:null};var r,n,a,i});for(y=0;y<k;y++)for(p=f[y%f.length],x=0;x<C.length;x++){var P=C[x].containerInd,O=g[x].inds[y],z=C[x].categories;if(void 0===z[O]){var I=e.dimensions[P]._categoryarray[O],D=e.dimensions[P]._ticktext[O];z[O]={dimensionInd:x,categoryInd:L=O,categoryValue:I,displayInd:L,categoryLabel:D,valueInds:[],count:0,dragY:null}}c(z[O],y,p)}return n(function(t,e,r){var n=t.map(function(t){return t.categories.length}).reduce(function(t,e){return Math.max(t,e)});return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(C,T,d))}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../components/drawing":612,"../../lib":716,"../../lib/filter_unique.js":708,"../../lib/gup":714}],1076:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("./attributes"),c=t("../parcoords/merge_length");function u(t,e){function r(r,a){return n.coerce(t,e,l.dimensions,r,a)}var a=r("values"),i=r("visible");if(a&&a.length||(i=e.visible=!1),i){r("label"),r("displayindex",e._index);var o,s=t.categoryarray,c=Array.isArray(s)&&s.length>0;c&&(o="array");var u=r("categoryorder",o);"array"===u?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==u||(e.categoryorder="trace")}}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,l,r,a)}var p=s(t,e,{name:"dimensions",handleItemDefaults:u}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,h,f);o(e,h,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),f("hoveron"),f("hovertemplate"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var g={family:h.font.family,size:Math.round(h.font.size),color:h.font.color};n.coerceFont(f,"labelfont",g);var v={family:h.font.family,size:Math.round(h.font.size/1.2),color:h.font.color};n.coerceFont(f,"tickfont",v)}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/domain":789,"../parcoords/merge_length":1089,"./attributes":1073}],1077:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1073,"./base_plot":1074,"./calc":1075,"./defaults":1076,"./plot":1079}],1078:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plot_api/plot_api"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../components/drawing"),l=t("tinycolor2"),c=t("../../lib/svg_text_utils");function u(t,e,r,a){var i=t.map(function(t,e,r){var n,a=r[0],i=e.margin||{l:80,r:80,t:100,b:80},o=a.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),h=Math.floor(c*(s.y[1]-s.y[0])),f=s.x[0]*l+i.l,p=e.height-s.y[1]*e.height+i.t,d=o.line.shape;n="all"===o.hoverinfo?["count","probability"]:(o.hoverinfo||"").split("+");var g={trace:o,key:o.uid,model:a,x:f,y:p,width:u,height:h,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};a.dimensions&&(F(g),R(g));return g}.bind(0,e,r)),l=a.selectAll("g.parcatslayer").data([null]);l.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var u=l.selectAll("g.trace.parcats").data(i,h),v=u.enter().append("g").attr("class","trace parcats");u.attr("transform",function(t){return"translate("+t.x+", "+t.y+")"}),v.append("g").attr("class","paths");var m=u.select("g.paths").selectAll("path.path").data(function(t){return t.paths},h);m.attr("fill",function(t){return t.model.color});var b=m.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(t){return t.model.color}).attr("fill-opacity",0);x(b),m.attr("d",function(t){return t.svgD}),b.empty()||m.sort(p),m.exit().remove(),m.on("mouseover",d).on("mouseout",g).on("click",y),v.append("g").attr("class","dimensions");var k=u.select("g.dimensions").selectAll("g.dimension").data(function(t){return t.dimensions},h);k.enter().append("g").attr("class","dimension"),k.attr("transform",function(t){return"translate("+t.x+", 0)"}),k.exit().remove();var T=k.selectAll("g.category").data(function(t){return t.categories},h),A=T.enter().append("g").attr("class","category");T.attr("transform",function(t){return"translate(0, "+t.y+")"}),A.append("rect").attr("class","catrect").attr("pointer-events","none"),T.select("rect.catrect").attr("fill","none").attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),_(A);var M=T.selectAll("rect.bandrect").data(function(t){return t.bands},h);M.each(function(){o.raiseToTop(this)}),M.attr("fill",function(t){return t.color});var O=M.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);M.attr("fill",function(t){return t.color}).attr("width",function(t){return t.width}).attr("height",function(t){return t.height}).attr("y",function(t){return t.y}).attr("cursor",function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"}),w(O),M.exit().remove(),A.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;T.select("text.catlabel").attr("text-anchor",function(t){return f(t)?"start":"end"}).attr("alignment-baseline","middle").style("text-shadow",z+" -1px  1px 2px, "+z+" 1px  1px 2px, "+z+"  1px -1px 2px, "+z+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",function(t){return f(t)?t.width+5:-5}).attr("y",function(t){return t.height/2}).text(function(t){return t.model.categoryLabel}).each(function(t){s.font(n.select(this),t.parcatsViewModel.categorylabelfont),c.convertToTspans(n.select(this),e)}),A.append("text").attr("class","dimlabel"),T.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"}).attr("x",function(t){return t.width/2}).attr("y",-5).text(function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null}).each(function(t){s.font(n.select(this),t.parcatsViewModel.labelfont)}),T.selectAll("rect.bandrect").on("mouseover",S).on("mouseout",E),T.exit().remove(),k.call(n.behavior.drag().origin(function(t){return{x:t.x,y:0}}).on("dragstart",L).on("drag",C).on("dragend",P)),u.each(function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),u.exit().remove()}function h(t){return t.key}function f(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function p(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor<e.model.rawColor?-1:0}function d(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){o.raiseToTop(this),b(n.select(this));var e=v(t),r=m(t);if(t.parcatsViewModel.graphDiv.emit("plotly_hover",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")){var a,s,c,u=n.mouse(this)[0],h=t.parcatsViewModel.graphDiv,f=t.parcatsViewModel.trace,p=h._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),g=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(c=0;c<t.leftXs.length-1;c++)if(t.leftXs[c]+t.dimWidths[c]-2<=u&&u<=t.leftXs[c+1]+2){var y=t.parcatsViewModel.dimensions[c],x=t.parcatsViewModel.dimensions[c+1];a=(y.x+y.width+x.x)/2,s=(t.topYs[c]+t.topYs[c+1]+t.height)/2;break}var _=t.parcatsViewModel.x+a,w=t.parcatsViewModel.y+s,k=l.mostReadable(t.model.color,["black","white"]),T=t.model.count,A=T/t.parcatsViewModel.model.count,M={countLabel:T,probabilityLabel:A.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf("count")&&S.push(["Count:",M.countLabel].join(" ")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf("probability")&&S.push(["P:",M.probabilityLabel].join(" "));var E=S.join("<br>"),L=n.mouse(h)[0];i.loneHover({trace:f,x:_-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:k,idealAlign:L<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:T,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(t){if(!t.parcatsViewModel.dragDimension&&(x(n.select(this)),i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(p),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=m(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=O(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var a=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:a})}return e}function m(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var a=r[n],i=a.categories[t.model.categoryInds[n]];e[a.containerInd]=i.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function y(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){var e=v(t),r=m(t);t.parcatsViewModel.graphDiv.emit("plotly_click",{points:e,event:n.event,constraints:r})}}function x(t){t.attr("fill",function(t){return t.model.color}).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function b(t){t.attr("fill-opacity",.8).attr("stroke",function(t){return l.mostReadable(t.model.color,["black","white"])}).attr("stroke-width",.3)}function _(t){t.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function w(t){t.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function k(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter(function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color})}function T(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll("rect.bandrect"),l=[];s.each(function(t){k(t).each(function(t){Array.prototype.push.apply(l,v(t))})});var c={};c[i.dimensionInd]=i.categoryValue,o.emit(e,{points:l,event:r,constraints:c})}function A(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=k(a),l=[];s.each(function(t){Array.prototype.push.apply(l,v(t))});var c={};c[i.dimensionInd]=i.categoryValue,void 0!==a.rawColor&&(c.color=a.rawColor),o.emit(e,{points:l,event:r,constraints:c})}function M(t,e){var r,a,i=n.select(e.parentNode).select("rect.catrect"),o=i.node().getBoundingClientRect(),s=i.datum(),l=s.parcatsViewModel,c=l.model.dimensions[s.model.dimensionInd],u=l.trace,h=o.top+o.height/2;l.dimensions.length>1&&c.displayInd===l.dimensions.length-1?(r=o.left,a="left"):(r=o.left+o.width,a="right");var f=s.model.count,p=s.model.categoryLabel,d=f/s.parcatsViewModel.model.count,g={countLabel:f,categoryLabel:p,probabilityLabel:d.toFixed(3)},v=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&v.push(["Count:",g.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&v.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var m=v.join("<br>");return{trace:u,x:r-t.left,y:h-t.top,text:m,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:u.hovertemplate,hovertemplateLabels:g,eventData:[{data:u._input,fullData:u,count:f,category:p,probability:d}]}}function S(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,a=r._fullLayout,s=a._paperdiv.node().getBoundingClientRect(),c=t.parcatsViewModel.hoveron;if("color"===c?(!function(t){var e=n.select(t).datum(),r=k(e);b(r),r.each(function(){o.raiseToTop(this)}),n.select(t.parentNode).selectAll("rect.bandrect").filter(function(t){return t.color===e.color}).each(function(){o.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)})}(this),A(this,"plotly_hover",n.event)):(!function(t){n.select(t.parentNode).selectAll("rect.bandrect").each(function(t){var e=k(t);b(e),e.each(function(){o.raiseToTop(this)})}),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),T(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===c?e=M(s,this):"color"===c?e=function(t,e){var r,a,i=e.getBoundingClientRect(),o=n.select(e).datum(),s=o.categoryViewModel,c=s.parcatsViewModel,u=c.model.dimensions[s.model.dimensionInd],h=c.trace,f=i.y+i.height/2;c.dimensions.length>1&&u.displayInd===c.dimensions.length-1?(r=i.left,a="left"):(r=i.left+i.width,a="right");var p=s.model.categoryLabel,d=o.parcatsViewModel.model.count,g=0;o.categoryViewModel.bands.forEach(function(t){t.color===o.color&&(g+=t.count)});var v=s.model.count,m=0;c.pathSelection.each(function(t){t.model.color===o.color&&(m+=t.model.count)});var y=g/d,x=g/m,b=g/v,_={countLabel:d,categoryLabel:p,probabilityLabel:y.toFixed(3)},w=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&w.push(["Count:",_.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(w.push("P(color \u2229 "+p+"): "+_.probabilityLabel),w.push("P("+p+" | color): "+x.toFixed(3)),w.push("P(color | "+p+"): "+b.toFixed(3)));var k=w.join("<br>"),T=l.mostReadable(o.color,["black","white"]);return{trace:h,x:r-t.left,y:f-t.top,text:k,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:T,fontSize:10,idealAlign:a,hovertemplate:h.hovertemplate,hovertemplateLabels:_,eventData:[{data:h._input,fullData:h,category:p,count:d,probability:y,categorycount:v,colorcount:m,bandcolorcount:g}]}}(s,this):"dimension"===c&&(e=function(t,e){var r=[];return n.select(e.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){r.push(M(t,this))}),r}(s,this)),e&&i.loneHover(e,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r})}}function E(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(x(e.pathSelection),_(e.dimensionSelection.selectAll("g.category")),w(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),i.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(p),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):T(this,"plotly_unhover",n.event)}}function L(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each(function(e){var r=n.mouse(this)[0],a=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=a&&a<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map(function(t){return t.displayInd}),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each(function(e){e.y<a&&a<=e.y+e.height&&(t.potentialClickBand=this)}))}),t.parcatsViewModel.dragDimension=t,i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function C(t){if("fixed"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,a=e+1,i=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=i.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,c=i.categories,u=c[l-1],h=c[l+1];void 0!==u&&s<u.y+u.height/2&&(o.model.displayInd=u.model.displayInd,u.model.displayInd=l),void 0!==h&&s+o.height>h.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){i.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[a];void 0!==f&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=e),void 0!==p&&i.model.dragX+i.width>p.x&&(i.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=i.model.displayInd}F(t.parcatsViewModel),R(t.parcatsViewModel),I(t.parcatsViewModel),z(t.parcatsViewModel)}}function P(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=O(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),o=t.initialDragDimensionDisplayInds.some(function(t,e){return t!==i[e]});o&&i.forEach(function(r,n){var a=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+a+"].displayindex"]=r});var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map(function(t){return t.displayInd});if(s=t.initialDragCategoryDisplayInds.some(function(t,e){return t!==l[e]})){var c=t.model.categories.slice().sort(function(t,e){return t.displayInd-e.displayInd}),u=c.map(function(t){return t.categoryValue}),h=c.map(function(t){return t.categoryLabel});e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[h],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,"plotly_click",n.event.sourceEvent):T(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,F(t.parcatsViewModel),R(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each(function(){I(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)}).each("end",function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])})}}function O(t){for(var e,r=t.graphDiv._fullData,n=0;n<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function z(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data(function(t){return t.paths},h),(r=t.pathSelection,e?r.transition():r).attr("d",function(t){return t.svgD})}function I(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data(function(t){return t.dimensions},h);var a=t.dimensionSelection.selectAll("g.category").data(function(t){return t.categories},h);r(t.dimensionSelection).attr("transform",function(t){return"translate("+t.x+", 0)"}),r(a).attr("transform",function(t){return"translate(0, "+t.y+")"}),a.select(".dimlabel").text(function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null}),a.select(".catlabel").attr("text-anchor",function(t){return f(t)?"start":"end"}).attr("x",function(t){return f(t)?t.width+5:-5}).each(function(t){var e,r;f(t)?(e=t.width+5,r="start"):(e=-5,r="end"),n.select(this).selectAll("tspan").attr("x",e).attr("text-anchor",r)});var i=a.selectAll("rect.bandrect").data(function(t){return t.bands},h),s=i.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);i.attr("fill",function(t){return t.color}).attr("width",function(t){return t.width}).attr("height",function(t){return t.height}).attr("y",function(t){return t.y}),w(s),i.each(function(){o.raiseToTop(this)}),i.exit().remove()}function D(t,e,r,a,i){var o,s,l=[],c=[];for(s=0;s<r.length-1;s++)o=n.interpolateNumber(r[s]+t[s],t[s+1]),l.push(o(i)),c.push(o(1-i));var u="M "+t[0]+","+e[0];for(u+="l"+r[0]+",0 ",s=1;s<r.length;s++)u+="C"+l[s-1]+","+e[s-1]+" "+c[s-1]+","+e[s]+" "+t[s]+","+e[s],u+="l"+r[s]+",0 ";for(u+="l0,"+a+" ",u+="l -"+r[r.length-1]+",0 ",s=r.length-2;s>=0;s--)u+="C"+c[s]+","+(e[s+1]+a)+" "+l[s]+","+(e[s]+a)+" "+(t[s]+r[s])+","+(e[s]+a),u+="l-"+r[s]+",0 ";return u+="Z"}function R(t){var e=t.dimensions,r=t.model,n=e.map(function(t){return t.categories.map(function(t){return t.y})}),a=t.model.dimensions.map(function(t){return t.categories.map(function(t){return t.displayInd})}),i=t.model.dimensions.map(function(t){return t.displayInd}),o=t.dimensions.map(function(t){return t.model.dimensionInd}),s=e.map(function(t){return t.x}),l=e.map(function(t){return t.width}),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map(function(t,e){return a[e][t]});return o.map(function(t){return e[t]})}c.sort(function(e,r){var n=h(e),a=h(r);return"backward"===t.sortpaths&&(n.reverse(),a.reverse()),n.push(e.valueInds[0]),a.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),a.unshift(r.rawColor)),n<a?-1:n>a?1:0});for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map(function(t){return t.height}).reduce(function(t,e){return t+e}),g=0;g<c.length;g++){var v,m=c[g];v=p>0?d*(m.count/p):0;for(var y,x=new Array(n.length),b=0;b<m.categoryInds.length;b++){var _=m.categoryInds[b],w=a[b][_],k=i[b];x[k]=n[k][w],n[k][w]+=v;var T=t.dimensions[k].categories[w],A=T.bands.length,M=T.bands[A-1];if(void 0===M||m.rawColor!==M.rawColor){var S=void 0===M?0:M.y+M.height;T.bands.push({key:S,color:m.color,rawColor:m.rawColor,height:v,width:T.width,count:m.count,y:S,categoryViewModel:T,parcatsViewModel:t})}else{var E=T.bands[A-1];E.height+=v,E.count+=m.count}}y="hspline"===t.pathShape?D(s,x,l,v,.5):D(s,x,l,v,0),f[g]={key:m.valueInds[0],model:m,height:v,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:t}}t.paths=f}function F(t){var e=t.model.dimensions.map(function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}});e.sort(function(t,e){return t.displayInd-e.displayInd});var r=[];for(var n in e){var a=e[n].dimensionInd,i=t.model.dimensions[a];r.push(B(t,i))}t.dimensions=r}function B(t,e){var r,n=t.model.dimensions.length,a=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*a;var i,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),g=8*(h-f)/2,v=e.categories.map(function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}});for(v.sort(function(t,e){return t.displayInd-e.displayInd}),c=0;c<f;c++)l=v[c].categoryInd,o=e.categories[l],i=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:i,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+i+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){u(r,t,n,e)}},{"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_api":751,d3:164,tinycolor2:535}],1079:[function(t,e,r){"use strict";var n=t("./parcats");e.exports=function(t,e,r,a){var i=t._fullLayout,o=i._paper,s=i._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,a)}},{"./parcats":1078}],1080:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/plot_template").templatedArray;e.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:i({editType:"plot"}),tickfont:i({editType:"plot"}),rangefont:i({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},a.tickvals,{editType:"plot"}),ticktext:s({},a.ticktext,{editType:"plot"}),tickformat:s({},a.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}))}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/layout_attributes":776,"../../plots/domain":789,"../../plots/font_attributes":790}],1081:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function h(t,e){return t*(1-u)+e*u}function f(t,e,r,n){if(function(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var a=t?-1:1,i=0,o=e.length-1;if(a<0){var s=i;i=o,o=s}for(var l=e[i],u=l,f=i;a*f<a*o;f+=a){var p=f+a,d=e[p];if(a*r<a*h(l,d))return c(l,u);if(a*r<a*d||p===o)return c(d,l);u=l,l=d}}function p(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function d(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function g(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,a=v(t.brush.filter.getConsolidated(),t.height),i=[0],o=a.length?a[0][0]:null,s=0;s<a.length;s++)r=(e=a[s])[1]-e[0],i.push(o),i.push(r),(n=s+1)<a.length&&(o=a[n][0]-e[1]);return i.push(t.height),i}function v(t,e){return t.map(function(t){return t.map(function(t){return Math.max(0,t*e)}).sort(s)})}function m(){a.select(document.body).style("cursor",null)}function y(t){t.attr("stroke-dasharray",g)}function x(t,e){var r=a.select(t).selectAll(".highlight, .highlight-shadow");y(e?r.transition().duration(n.bar.snapDuration).each("end",e):r)}function b(t,e){var r,a=t.brush,i=NaN,o={};if(a.filterSpecified){var s=t.height,l=a.filter.getConsolidated(),c=v(l,s),u=NaN,h=NaN,f=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(h=r?r-1:NaN,p&&p[0]>e){f=r;break}}if(i=u,isNaN(i)&&(i=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]<c[f][0]-e?h:f),!isNaN(i)){var d=c[i],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[i],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(y>=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function _(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.brush.svgBrush;i.wasDragged=!0,i._dragging=!0,i.grabbingBar?i.newExtent=[r-i.grabPoint,r+i.barLength-i.grabPoint].map(e.unitToPaddedPx.invert):i.newExtent=[i.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,i.extent=i.stayingIntervals.concat([i.newExtent]),i.brushCallback(e),x(t.parentNode)}function w(t,e){var r=b(e,e.height-a.mouse(t)[1]-2*n.verticalPadding),i="crosshair";r.clickableOrdinalRange?i="pointer":r.region&&(i=r.region+"-resize"),a.select(document.body).style("cursor",i)}function k(t){t.on("mousemove",function(t){a.event.preventDefault(),t.parent.inBrushDrag||w(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||m()}).call(a.behavior.drag().on("dragstart",function(t){!function(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter(function(t){return t[0]!==l[0]&&t[1]!==l[1]})),c.startExtent=s.region?l["s"===s.region?1:0]:i,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)}).on("drag",function(t){_(this,t)}).on("dragend",function(t){!function(t,e){var r=e.brush,n=r.filter,i=r.svgBrush;i._dragging||(w(t,e),_(t,e),e.brush.svgBrush.wasDragged=!1),i._dragging=!1,a.event.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!i.wasDragged)return i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&e.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,0===i.extent.length&&A(r)):A(r),i.brushCallback(e),x(t.parentNode),void i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[f(0,l,i.newExtent[0],i.stayingIntervals),f(1,l,i.newExtent[1],i.stayingIntervals)];var c=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(c?[i.newExtent]:[]),i.extent.length||A(r),i.brushCallback(e),c?x(t.parentNode,s):(s(),x(t.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)}))}function T(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function M(t){for(var e,r=t.slice(),n=[],a=r.shift();a;){for(e=a.slice();(a=r.shift())&&a[0]<=e[1];)e[1]=Math.max(e[1],a[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,a,i){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map(function(t){return t.slice().sort(s)}).sort(T)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=M(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=a,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:i}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,i);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(p).call(d).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(k).attr("height",function(t){return t.height-n.verticalPadding});var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",function(t){return t.height}).call(y);var a=t.selectAll(".highlight").data(o);a.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),a.attr("y1",function(t){return t.height}).call(y)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?M(t.sort(T)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[f(0,r,t[0],[]),f(1,r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{"../../lib":716,"../../lib/gup":714,"./constants":1084,d3:164}],1082:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=a(t.calcdata,"parcoords")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcoords"),i=e._has&&e._has("parcoords");a&&!i&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},{"../../constants/xmlns_namespaces":693,"../../plots/get_data":799,"./plot":1091,d3:164}],1083:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale"),i=t("../../lib/gup").wrap;e.exports=function(t,e){var r,o;return a.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=a.extractOpts(e.line).colorscale,a.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),i({lineColor:r,cscale:o})}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gup":714}],1084:[function(t,e,r){"use strict";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:"#777",bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:"white",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},{}],1085:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("../../plots/cartesian/axes"),c=t("./attributes"),u=t("./axisbrush"),h=t("./constants").maxDimensionCount,f=t("./merge_length");function p(t,e,r,a){function i(r,a){return n.coerce(t,e,c.dimensions,r,a)}var o=i("values"),s=i("visible");if(o&&o.length||(s=e.visible=!1),s){i("label"),i("tickvals"),i("ticktext"),i("tickformat");var h=i("range");e._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:h},l.setConvert(e._ax,a.layout),i("multiselect");var f=i("constraintrange");f&&(e.constraintrange=u.cleanRanges(f,e))}}e.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}var d=t.dimensions;Array.isArray(d)&&d.length>h&&(n.log("parcoords traces support up to "+h+" dimensions at the moment"),d.splice(h));var g=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),v=function(t,e,r,o,s){var l=s("line.color",r);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,"values",v);var m={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,"labelfont",m),n.coerceFont(u,"tickfont",m),n.coerceFont(u,"rangefont",m),u("labelangle"),u("labelside")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"../../plots/domain":789,"./attributes":1080,"./axisbrush":1081,"./constants":1084,"./merge_length":1089}],1086:[function(t,e,r){"use strict";var n=t("../../lib").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!("visible"in t)}},{"../../lib":716}],1087:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:t("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1080,"./base_plot":1082,"./calc":1083,"./defaults":1085,"./plot":1091}],1088:[function(t,e,r){"use strict";var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n               p17_20, p21_24, p25_28, p29_32,\n               p33_36, p37_40, p41_44, p45_48,\n               p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\n\nbool isPick    = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n    float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n    return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n    return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n    return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n    return (\n        fOutside(p[0], lo[0], hi[0]) ||\n        fOutside(p[1], lo[1], hi[1]) ||\n        fOutside(p[2], lo[2], hi[2]) ||\n        fOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n    return (\n        vOutside(p[0], lo[0], hi[0]) ||\n        vOutside(p[1], lo[1], hi[1]) ||\n        vOutside(p[2], lo[2], hi[2]) ||\n        vOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n    return mOutside(A, loA, hiA) ||\n           mOutside(B, loB, hiB) ||\n           mOutside(C, loC, hiC) ||\n           mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n    mat4 pnts[4];\n    pnts[0] = A;\n    pnts[1] = B;\n    pnts[2] = C;\n    pnts[3] = D;\n\n    for(int i = 0; i < 4; ++i) {\n        for(int j = 0; j < 4; ++j) {\n            for(int k = 0; k < 4; ++k) {\n                if(0 == iMod(\n                    int(255.0 * texture2D(mask,\n                        vec2(\n                            (float(i * 2 + j / 2) + 0.5) / 8.0,\n                            (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n                        ))[3]\n                    ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n                    2\n                )) return true;\n            }\n        }\n    }\n    return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float x = 0.5 * sign(v) + 0.5;\n    float y = axisY(x, A, B, C, D);\n    float z = 1.0 - abs(v);\n\n    z += isContext ? 0.0 : 2.0 * float(\n        outsideBoundingBox(A, B, C, D) ||\n        outsideRasterMask(A, B, C, D)\n    );\n\n    return vec4(\n        2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n        z,\n        1.0\n    );\n}\n\nvoid main() {\n    mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n    mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n    mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n    mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n    float v = colors[3];\n\n    gl_Position = position(isContext, v, A, B, C, D);\n\n    fragColor =\n        isContext ? vec4(contextColor) :\n        isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n"]),o=t("./constants").maxDimensionCount,s=t("../../lib"),l=1e-6,c=2048,u=new Uint8Array(4),h=new Uint8Array(4),f={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function p(t,e,r,n,a){var i=t._gl;i.enable(i.SCISSOR_TEST),i.scissor(e,r,n,a),t.clear({color:[0,0,0,0],depth:1})}function d(t,e,r,n,a,i){var o=i.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:u})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,a-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],p(t,i.scissorX,i.scissorY,i.scissorWidth,i.viewBoxSize[1])),r.clearOnly||(i.count=2*c,i.offset=2*l*n,e(i),l*n+c<a&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function g(t,e){return(t>>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),a=0,i=0;i<e;i++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,c=r[64*i+l];63===l&&0===o&&(c*=-1),n[a++]=c}return n}function m(t){var e="0"+t;return e.substr(e.length-2)}function y(t){return t<o?"p"+m(t+1)+"_"+m(t+4):"colors"}function x(t,e,r,n,a,i,o,l,c,u,h,f,p){for(var d=[[],[]],g=0;g<64;g++)d[0][g]=g===a?1:0,d[1][g]=g===i?1:0;var v=t.lines.canvasOverdrag,m=t.domain,y=t.canvasWidth,x=t.canvasHeight,b=t.deselectedLines.color;return s.extendFlat({key:h,resolution:[y,x],viewBoxPos:[o+v,l],viewBoxSize:[c,u],i0:a,i1:i,dim0A:d[0].slice(0,16),dim0B:d[0].slice(16,32),dim0C:d[0].slice(32,48),dim0D:d[0].slice(48,64),dim1A:d[1].slice(0,16),dim1B:d[1].slice(16,32),dim1C:d[1].slice(32,48),dim1D:d[1].slice(48,64),drwLayer:f,contextColor:[b[0]/255,b[1]/255,b[2]/255,b[3]<1?b[3]:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+v)+(t.pad.l-v)+t.layoutWidth*m.x[0],scissorWidth:(n===r?y-o+v:c+.5)+(n===e?o+v:0),scissorY:l+t.pad.b+t.layoutHeight*m.y[0],scissorHeight:u,viewportX:t.pad.l-v+t.layoutWidth*m.x[0],viewportY:t.pad.b+t.layoutHeight*m.y[0],viewportWidth:y,viewportHeight:x},p)}function b(t){var e=c-1,r=Math.max(0,Math.floor(t[0]*e),0),n=Math.min(e,Math.ceil(t[1]*e),e);return[Math.min(r,n),Math.max(r,n)]}e.exports=function(t,e){var r,n,u,m,_,w=e.context,k=e.pick,T=e.regl,A={currentRafs:{},drawCompleted:!0,clearOnly:!1},M=function(t){for(var e={},r=0;r<=o;r+=4)e[y(r)]=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});return e}(T),S=T.texture(f),E=[];C(e);var L=T({profile:!1,blend:{enable:w,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!w,mask:!0,func:"less",range:[0,1]},cull:{enable:!0,face:"back"},scissor:{enable:!0,box:{x:T.prop("scissorX"),y:T.prop("scissorY"),width:T.prop("scissorWidth"),height:T.prop("scissorHeight")}},viewport:{x:T.prop("viewportX"),y:T.prop("viewportY"),width:T.prop("viewportWidth"),height:T.prop("viewportHeight")},dither:!1,vert:a,frag:i,primitive:"lines",lineWidth:1,attributes:M,uniforms:{resolution:T.prop("resolution"),viewBoxPos:T.prop("viewBoxPos"),viewBoxSize:T.prop("viewBoxSize"),dim0A:T.prop("dim0A"),dim1A:T.prop("dim1A"),dim0B:T.prop("dim0B"),dim1B:T.prop("dim1B"),dim0C:T.prop("dim0C"),dim1C:T.prop("dim1C"),dim0D:T.prop("dim0D"),dim1D:T.prop("dim1D"),loA:T.prop("loA"),hiA:T.prop("hiA"),loB:T.prop("loB"),hiB:T.prop("hiB"),loC:T.prop("loC"),hiC:T.prop("hiC"),loD:T.prop("loD"),hiD:T.prop("hiD"),palette:S,contextColor:T.prop("contextColor"),mask:T.prop("maskTexture"),drwLayer:T.prop("drwLayer"),maskHeight:T.prop("maskHeight")},offset:T.prop("offset"),count:T.prop("count")});function C(t){r=t.model,n=t.viewModel,u=n.dimensions.slice(),m=u[0]?u[0].values.length:0;var e=r.lines,a=k?e.color.map(function(t,r){return r/e.color.length}):e.color,i=function(t,e,r){for(var n,a=new Array(t*(o+4)),i=0,s=0;s<t;s++){for(var c=0;c<o;c++)a[i++]=c<e.length?e[c].paddedUnitValues[s]:.5;a[i++]=g(s,2),a[i++]=g(s,1),a[i++]=g(s,0),a[i++]=(n=r[s],Math.max(l,Math.min(1-l,n)))}return a}(m,u,a);!function(t,e,r){for(var n=0;n<=o;n+=4)t[y(n)](v(n/4,e,r))}(M,m,i),w||k||(S=T.texture(s.extendFlat({data:function(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}(r.unitToColor,255)},f)))}return{render:function(t,e,n){var a,i,o,s=t.length,l=1/0,h=-1/0;for(a=0;a<s;a++)t[a].dim0.canvasX<l&&(l=t[a].dim0.canvasX,i=a),t[a].dim1.canvasX>h&&(h=t[a].dim1.canvasX,o=a);0===s&&p(T,0,0,r.canvasWidth,r.canvasHeight);var f=function(t){var e,r,n,a=[[],[]];for(n=0;n<64;n++){var i=!t&&n<u.length?u[n].brush.filter.getBounds():[-1/0,1/0];a[0][n]=i[0],a[1][n]=i[1]}var o=8*c,s=new Array(o);for(e=0;e<o;e++)s[e]=255;if(!t)for(e=0;e<u.length;e++){var l=e%8,h=(e-l)/8,f=Math.pow(2,l),p=u[e].brush.filter.get();if(!(p.length<2)){var d=b(p[0])[1];for(r=1;r<p.length;r++){var g=b(p[r]);for(n=d+1;n<g[0];n++)s[8*n+h]&=~f;d=Math.max(d,g[1])}}}var v={shape:[8,c],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:s};return _?_(v):_=T.texture(v),{maskTexture:_,maskHeight:c,loA:a[0].slice(0,16),loB:a[0].slice(16,32),loC:a[0].slice(32,48),loD:a[0].slice(48,64),hiA:a[1].slice(0,16),hiB:a[1].slice(16,32),hiC:a[1].slice(32,48),hiD:a[1].slice(48,64)}}(w);for(a=0;a<s;a++){var g=t[a],v=g.dim0.crossfilterDimensionIndex,y=g.dim1.crossfilterDimensionIndex,M=g.canvasX,S=g.canvasY,C=M+g.panelSizeX;if(e||!E[v]||E[v][0]!==M||E[v][1]!==C){E[v]=[M,C];var P=x(r,i,o,a,v,y,M,S,g.panelSizeX,g.panelSizeY,g.dim0.crossfilterDimensionIndex,w?0:k?2:1,f);A.clearOnly=n;var O=e?r.lines.blockLineCount:m;d(T,L,A,O,m,P)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:h}),h},readPixels:function(t,e,r,n){var a=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:a}),a},destroy:function(){for(var e in t.style["pointer-events"]="none",S.destroy(),_&&_.destroy(),M)M[e].destroy()},update:C}}},{"../../lib":716,"./constants":1084,glslify:410}],1089:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a,i;for(n||(n=1/0),a=0;a<e.length;a++)(i=e[a]).visible&&(n=Math.min(n,i[r].length));for(n===1/0&&(n=0),t._length=n,a=0;a<e.length;a++)(i=e[a]).visible&&(i._length=n);return n}},{}],1090:[function(t,e,r){"use strict";var n=t("d3"),a=t("color-rgba"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../../components/drawing"),c=t("../../components/colorscale"),u=t("../../lib/gup"),h=u.keyFun,f=u.repeat,p=u.unwrap,d=t("./helpers"),g=t("./constants"),v=t("./axisbrush"),m=t("./lines");function y(t,e,r){return o.aggNums(t,null,e,r)}function x(t,e){return _(y(Math.min,t,e),y(Math.max,t,e))}function b(t){var e=t.range;return e?_(e[0],e[1]):x(t.values,t._length)}function _(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function w(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function k(t,e,r){var i=p(e),s=i.trace,l=d.convertTypedArray(i.lineColor),u=s.line,h={color:a(g.deselectedLineColor)},f=c.extractOpts(u),v=f.reversescale?c.flipScale(i.cscale):i.cscale,m=s.domain,y=s.dimensions,x=t.width,_=s.labelangle,w=s.labelside,k=s.labelfont,T=s.tickfont,A=s.rangefont,M=o.extendDeepNoArrays({},u,{color:l.map(n.scale.linear().domain(b({values:l,range:[f.min,f.max],_length:s._length}))),blockLineCount:g.blockLineCount,canvasOverdrag:g.overdrag*g.canvasPixelRatio}),S=Math.floor(x*(m.x[1]-m.x[0])),E=Math.floor(t.height*(m.y[1]-m.y[0])),L=t.margin||{l:80,r:80,t:100,b:80},C=S,P=E;return{key:r,colCount:y.filter(d.isVisible).length,dimensions:y,tickDistance:g.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){var e=a(t[1]);return n.rgb("rgb("+e[0]+","+e[1]+","+e[2]+")")}),i="rgb".split("").map(function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((a=t,function(t){return t[a]})));var a});return function(t){return i.map(function(e){return e(t)})}}(v),lines:M,deselectedLines:h,labelAngle:_,labelSide:w,labelFont:k,tickFont:T,rangeFont:A,layoutWidth:x,layoutHeight:t.height,domain:m,translateX:m.x[0]*x,translateY:t.height-m.y[1]*t.height,pad:L,canvasWidth:C*g.canvasPixelRatio+2*M.canvasOverdrag,canvasHeight:P*g.canvasPixelRatio,width:C,height:P,canvasPixelRatio:g.canvasPixelRatio}}function T(t,e,r){var a=r.width,i=r.height,s=r.dimensions,l=r.canvasPixelRatio,c=function(t){return a*t/Math.max(1,r.colCount-1)},u=g.verticalPadding/i,h=function(t,e){return n.scale.linear().range([e,t-e])}(i,g.verticalPadding),f={key:r.key,xScale:c,model:r,inBrushDrag:!1},p={};return f.dimensions=s.filter(d.isVisible).map(function(a,s){var m=function(t,e){return n.scale.linear().domain(b(t)).range([e,1-e])}(a,u),y=p[a.label];p[a.label]=(y||0)+1;var x=a.label+(y?"__"+y:""),_=a.constraintrange,k=_&&_.length;k&&!Array.isArray(_[0])&&(_=[_]);var T=k?_.map(function(t){return t.map(m)}):[[-1/0,1/0]],A=a.values;A.length>a._length&&(A=A.slice(0,a._length));var M,S=a.tickvals;function E(t,e){return{val:t,text:M[e]}}function L(t,e){return t.val-e.val}if(Array.isArray(S)&&S.length){M=a.ticktext,Array.isArray(M)&&M.length?M.length>S.length?M=M.slice(0,S.length):S.length>M.length&&(S=S.slice(0,M.length)):M=S.map(n.format(a.tickformat));for(var C=1;C<S.length;C++)if(S[C]<S[C-1]){for(var P=S.map(E).sort(L),O=0;O<S.length;O++)S[O]=P[O].val,M[O]=P[O].text;break}}else S=void 0;return A=d.convertTypedArray(A),{key:x,label:a.label,tickFormat:a.tickformat,tickvals:S,ticktext:M,ordinal:d.isOrdinal(a),multiselect:a.multiselect,xIndex:s,crossfilterDimensionIndex:s,visibleIndex:a._index,height:i,values:A,paddedUnitValues:A.map(m),unitTickvals:S&&S.map(m),xScale:c,x:c(s),canvasX:c(s)*l,unitToPaddedPx:h,domainScale:function(t,e,r,a,i){var o,s,l=b(r);return a?n.scale.ordinal().domain(a.map((o=n.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null==r?o(t):r}:o))).range(a.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):n.scale.linear().domain(l).range([t-e,e])}(i,g.verticalPadding,a,S,M),ordinalScale:function(t){if(t.tickvals){var e=b(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(a),parent:f,model:r,brush:v.makeBrush(t,k,T,function(){t.linePickActive(!1)},function(){var e=f;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=w(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))},function(r){if(f.focusLayer.render(f.panels,!0),f.pickLayer&&f.pickLayer.render(f.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=m.invert,i=r.map(function(t){return t.map(n).sort(o.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(f.key,a._index,i)}})}}),f}function A(t){t.classed(g.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default").style("user-select","none")}function M(t,e){var r="top"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function S(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),a=0;a<n.length-1;a++){var i=r[a]||(r[a]={}),o=n[a],s=n[a+1];i.dim0=o,i.dim1=s,i.canvasX=o.canvasX,i.panelSizeX=s.canvasX-o.canvasX,i.panelSizeY=e.model.canvasHeight,i.y=0,i.canvasY=0}}function E(t,e){return i.tickText(t._ax,e,!1).text}function L(t,e){if(t.ordinal)return"";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return E(t.model.dimensions[t.visibleIndex],n)}e.exports=function(t,e,r,a){var c=t._fullLayout,u=c._toppaper,y=c._glcontainer;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,a=n.dimensions,o=0;o<a.length;o++){var s=a[o].values,l=a[o]._ax;l&&(l.range?l.range=_(l.range[0],l.range[1]):l.range=x(s,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=a[o].tickformat,i.calcTicks(l),l.cleanRange())}}(e);var b,C,P=(b=!0,C=!1,{linePickActive:function(t){return arguments.length?b=!!t:b},contextShown:function(t){return arguments.length?C=!!t:C}}),O=e.filter(function(t){return p(t).trace.visible}).map(k.bind(0,r)).map(T.bind(0,P,a));y.each(function(t,e){return o.extendFlat(t,O[e])});var z=y.selectAll(".gl-canvas").each(function(t){t.viewModel=O[0],t.model=t.viewModel?t.viewModel.model:null}),I=null;z.filter(function(t){return t.pick}).style("pointer-events","auto").on("mousemove",function(t){if(P.linePickActive()&&t.lineLayer&&a&&a.hover){var e=n.event,r=this.width,i=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==I&&(u?a.hover(f):a.unhover&&a.unhover(f),I=h)}}),z.style("opacity",function(t){return t.pick?0:1}),u.style("background","rgba(255, 255, 255, 0)");var D=u.selectAll("."+g.cn.parcoords).data(O,h);D.exit().remove(),D.enter().append("g").classed(g.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),D.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var R=D.selectAll("."+g.cn.parcoordsControlView).data(f,h);R.enter().append("g").classed(g.cn.parcoordsControlView,!0),R.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var F=R.selectAll("."+g.cn.yAxis).data(function(t){return t.dimensions},h);F.enter().append("g").classed(g.cn.yAxis,!0),R.each(function(t){S(F,t)}),z.each(function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=m(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}}),F.attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),F.call(n.behavior.drag().origin(function(t){return t}).on("drag",function(t){var e=t.parent;P.linePickActive(!1),t.x=Math.max(-g.overdrag,Math.min(t.model.width+g.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,F.sort(function(t,e){return t.x-e.x}).each(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio}),S(F,e),F.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),n.select(this).attr("transform","translate("+t.x+", 0)"),F.each(function(r,n,a){a===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)}).on("dragend",function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,S(F,e),n.select(this).attr("transform",function(t){return"translate("+t.x+", 0)"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),P.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),F.exit().remove();var B=F.selectAll("."+g.cn.axisOverlays).data(f,h);B.enter().append("g").classed(g.cn.axisOverlays,!0),B.selectAll("."+g.cn.axis).remove();var N=B.selectAll("."+g.cn.axis).data(f,h);N.enter().append("g").classed(g.cn.axis,!0),N.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,a=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?a:null).tickFormat(function(e){return d.isOrdinal(t)?e:E(t.model.dimensions[t.visibleIndex],e)}).scale(r)),l.font(N.selectAll("text"),t.model.tickFont)}),N.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),N.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var j=B.selectAll("."+g.cn.axisHeading).data(f,h);j.enter().append("g").classed(g.cn.axisHeading,!0);var V=j.selectAll("."+g.cn.axisTitle).data(f,h);V.enter().append("text").classed(g.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),V.text(function(t){return t.label}).each(function(e){var r=n.select(this);l.font(r,e.model.labelFont),s.convertToTspans(r,t)}).attr("transform",function(t){var e=M(t.model.labelAngle,t.model.labelSide),r=g.axisTitleOffset;return(e.dir>0?"":"translate(0,"+(2*r+t.model.height)+")")+"rotate("+e.degrees+")translate("+-r*e.dx+","+-r*e.dy+")"}).attr("text-anchor",function(t){var e=M(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"});var U=B.selectAll("."+g.cn.axisExtent).data(f,h);U.enter().append("g").classed(g.cn.axisExtent,!0);var q=U.selectAll("."+g.cn.axisExtentTop).data(f,h);q.enter().append("g").classed(g.cn.axisExtentTop,!0),q.attr("transform","translate(0,"+-g.axisExtentOffset+")");var H=q.selectAll("."+g.cn.axisExtentTopText).data(f,h);H.enter().append("text").classed(g.cn.axisExtentTopText,!0).call(A),H.text(function(t){return L(t,!0)}).each(function(t){l.font(n.select(this),t.model.rangeFont)});var G=U.selectAll("."+g.cn.axisExtentBottom).data(f,h);G.enter().append("g").classed(g.cn.axisExtentBottom,!0),G.attr("transform",function(t){return"translate(0,"+(t.model.height+g.axisExtentOffset)+")"});var Y=G.selectAll("."+g.cn.axisExtentBottomText).data(f,h);Y.enter().append("text").classed(g.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(A),Y.text(function(t){return L(t,!1)}).each(function(t){l.font(n.select(this),t.model.rangeFont)}),v.ensureAxisBrush(B)}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"./axisbrush":1081,"./constants":1084,"./helpers":1086,"./lines":1088,"color-rgba":123,d3:164}],1091:[function(t,e,r){"use strict";var n=t("./parcoords"),a=t("../../lib/prepare_regl"),i=t("./helpers").isVisible;function o(t,e,r){var n=e.indexOf(r),a=t.indexOf(n);return-1===a&&(a+=e.length),a}e.exports=function(t,e){var r=t._fullLayout;if(a(t)){var s={},l={},c={},u={},h=r._size;e.forEach(function(e,r){var n=e[0].trace;c[r]=n.index;var a=u[r]=n._fullInput.index;s[r]=t.data[a].dimensions,l[r]=t.data[a].dimensions.slice()});n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,a){var i=l[e][n],o=a.map(function(t){return t.slice()}),s="dimensions["+n+"].constraintrange",h=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===h[s]){var f=i.constraintrange;h[s]=f||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),i.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete i.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[u[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return o(t,e,r)-o(t,e,n)}}(r,l[e].filter(i));s[e].sort(n),l[e].filter(function(t){return!i(t)}).sort(function(t){return l[e].indexOf(t)}).forEach(function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)}),t.emit("plotly_restyle",[{dimensions:[s[e]]},[u[e]]])}})}}},{"../../lib/prepare_regl":729,"./helpers":1086,"./parcoords":1090}],1092:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/domain").attributes,i=t("../../plots/font_attributes"),o=t("../../components/color/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/template_attributes").texttemplateAttrs,c=t("../../lib/extend").extendFlat,u=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},u,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:a({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},u,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1093:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="pie",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1094:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("tinycolor2"),o=t("../../components/color"),s={};function l(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=o.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function c(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r<t.length;r++)a.push(i(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)a.push(i(t[r]).darken(20).toHexString());e[n]=a}return a}e.exports={calc:function(t,e){var r,i,o=[],s=t._fullLayout,c=s.hiddenlabels||[],u=e.labels,h=e.marker.colors||[],f=e.values,p=a(f)&&f.length;if(e.dlabel)for(u=new Array(f.length),r=0;r<f.length;r++)u[r]=String(e.label0+r*e.dlabel);var d={},g=l(s["_"+e.type+"colormap"]),v=(p?f:u).length,m=0,y=!1;for(r=0;r<v;r++){var x,b,_;if(p){if(x=f[r],!n(x))continue;if((x=+x)<0)continue}else x=1;void 0!==(b=u[r])&&""!==b||(b=r);var w=d[b=String(b)];void 0===w?(d[b]=o.length,(_=-1!==c.indexOf(b))||(m+=x),o.push({v:x,label:b,color:g(h[r],b),i:r,pts:[r],hidden:_})):(y=!0,(i=o[w]).v+=x,i.pts.push(r),i.hidden||(m+=x),!1===i.color&&h[r]&&(i.color=g(h[r],b)))}return("funnelarea"===e.type?y:e.sort)&&o.sort(function(t,e){return e.v-t.v}),o[0]&&(o[0].vTotal=m),o},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,a=t.calcdata,i=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(i=c(i,s));for(var l=0,u=0;u<a.length;u++){var h=a[u];if(h[0].trace.type===r)for(var f=0;f<h.length;f++){var p=h[f];!1===p.color&&(o[p.label]?p.color=o[p.label]:(o[p.label]=p.color=i[l%i.length],l++))}}},makePullColorFn:l,generateExtendedColors:c}},{"../../components/color":591,"../../lib":716,"fast-isnumeric":227,tinycolor2:535}],1095:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}var c,u=l("values"),h=n.isArrayOrTypedArray(u),f=l("labels");if(Array.isArray(f)?(c=f.length,h&&(c=Math.min(c,u.length))):h&&(c=u.length,l("label0"),l("dlabel")),c){e._length=c,l("marker.line.width")&&l("marker.line.color"),l("marker.colors"),l("scalegroup");var p,d=l("text"),g=l("texttemplate");if(g||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),g||p&&"none"!==p){var v=l("textposition");o(t,e,s,l,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(v)||"auto"===v||"outside"===v)&&l("automargin")}i(e,s,l);var m=l("hole");if(l("title.text")){var y=l("title.position",m?"middle center":"top center");m||"middle center"!==y||(e.title.position="top center"),n.coerceFont(l,"title.font",s.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}},{"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":1092}],1096:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},{"../../components/fx/helpers":626}],1097:[function(t,e,r){"use strict";var n=t("../../lib");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||""===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{"../../lib":716}],1098:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),layoutAttributes:t("./layout_attributes"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style"),styleOne:t("./style_one"),moduleType:"trace",name:"pie",basePlotModule:t("./base_plot"),categories:["pie-like","pie","showLegend"],meta:{}}},{"./attributes":1092,"./base_plot":1093,"./calc":1094,"./defaults":1095,"./layout_attributes":1099,"./layout_defaults":1100,"./plot":1101,"./style":1102,"./style_one":1103}],1099:[function(t,e,r){"use strict";e.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1100:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("piecolorway",e.colorway),r("extendpiecolors")}},{"../../lib":716,"./layout_attributes":1099}],1101:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../lib"),c=t("../../lib/svg_text_utils"),u=t("./helpers"),h=t("./event_data"),f=t("../../lib").isValidTextValue;function p(t,e,r){var a=r[0],o=a.trace,s=a.cx,c=a.cy;"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),t.on("mouseover",function(t){var r=e._fullLayout,f=e._fullData[o.index];if(!e._dragging&&!1!==r.hovermode){var p=f.hoverinfo;if(Array.isArray(p)&&(p=i.castHoverinfo({hoverinfo:[u.castOption(p,t.pts)],_module:o._module},r,0)),"all"===p&&(p="label+text+value+percent+name"),f.hovertemplate||"none"!==p&&"skip"!==p&&p){var d=t.rInscribed||0,g=s+t.pxmid[0]*(1-d),v=c+t.pxmid[1]*(1-d),m=r.separators,y=[];if(p&&-1!==p.indexOf("label")&&y.push(t.label),t.text=u.castOption(f.hovertext||f.text,t.pts),p&&-1!==p.indexOf("text")){var x=t.text;l.isValidTextValue(x)&&y.push(x)}t.value=t.v,t.valueLabel=u.formatPieValue(t.v,m),p&&-1!==p.indexOf("value")&&y.push(t.valueLabel),t.percent=t.v/a.vTotal,t.percentLabel=u.formatPiePercent(t.percent,m),p&&-1!==p.indexOf("percent")&&y.push(t.percentLabel);var b=f.hoverlabel,_=b.font;i.loneHover({trace:o,x0:g-d*a.r,x1:g+d*a.r,y:v,text:y.join("<br>"),name:f.hovertemplate||-1!==p.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:u.castOption(b.bgcolor,t.pts)||t.color,borderColor:u.castOption(b.bordercolor,t.pts),fontFamily:u.castOption(_.family,t.pts),fontSize:u.castOption(_.size,t.pts),fontColor:u.castOption(_.color,t.pts),nameLength:u.castOption(b.namelength,t.pts),textAlign:u.castOption(b.align,t.pts),hovertemplate:u.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[h(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit("plotly_hover",{points:[h(t,f)],event:n.event})}}),t.on("mouseout",function(t){var r=e._fullLayout,a=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[h(s,a)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(i.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)}),t.on("click",function(t){var r=e._fullLayout,a=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[h(t,a)],i.click(e,n.event))})}function d(t,e,r){var n=u.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=u.castOption(t._input.textfont.color,e.pts));var a=u.castOption(t.insidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.insidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:a,size:i}}function g(t,e){for(var r,n,a=0;a<t.length;a++)if((n=(r=t[a][0]).trace).title.text){var i=n.title.text;n._meta&&(i=l.templateString(i,n._meta));var o=s.tester.append("text").attr("data-notex",1).text(i).call(s.font,n.title.font).call(c.convertToTspans,e),u=s.bBox(o.node(),!0);r.titleBox={width:u.width,height:u.height},o.remove()}}function v(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,i=e.halfangle,o=e.ring,s=e.rInscribed,l=r.r||e.rpx1,c={scale:s*l*2/n,rCenter:1-s,rotate:0};if(c.scale>=1)return c;var u=a+1/(2*Math.tan(i)),h=l*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(a*a+o/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/l)-h*a/l,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/a,d=p+1/(2*Math.tan(i)),g=l*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),v={scale:2*g/t.width,rCenter:Math.cos(g/l)-g/a/l,rotate:(180/Math.PI*e.midangle+810)%180-90},m=v.scale>f.scale?v:f;return c.scale<1&&m.scale>c.scale?m:c}function m(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function y(t,e){var r=e.pxmid[0],n=e.pxmid[1],a=t.width/2,i=t.height/2;return r<0&&(a*=-1),n<0&&(i*=-1),{scale:1,rCenter:1,rotate:0,x:a+Math.abs(i)*(a>0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function x(t,e){var r,n,a,i=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=i.title.font.size,a=_(i),-1!==i.title.position.indexOf("top")?(o.y-=(1+a)*t.r,s.ty-=t.titleBox.height):-1!==i.title.position.indexOf("bottom")&&(o.y+=(1+a)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),h=e.w*(i.domain.x[1]-i.domain.x[0])/2;return-1!==i.title.position.indexOf("left")?(h+=u,o.x-=(1+a)*u,s.tx+=t.titleBox.width/2):-1!==i.title.position.indexOf("center")?h*=2:-1!==i.title.position.indexOf("right")&&(h+=u,o.x+=(1+a)*u,s.tx-=t.titleBox.width/2),r=h/t.titleBox.width,n=b(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function b(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function _(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function w(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n][0],i=a.trace,o=i.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);i.title.text&&"middle center"!==i.title.position&&(l-=b(a,e));var c=s/2,u=l/2;"funnelarea"!==i.type||i.scalegroup||(u/=i.aspectratio),a.r=Math.min(c,u)/(1+_(i)),a.cx=e.l+e.w*(i.domain.x[1]+i.domain.x[0])/2,a.cy=e.t+e.h*(1-i.domain.y[0])-l/2,i.title.text&&-1!==i.title.position.indexOf("bottom")&&(a.cy-=b(a,e)),i.scalegroup&&-1===r.indexOf(i.scalegroup)&&r.push(i.scalegroup)}!function(t,e){for(var r,n,a,i=0;i<e.length;i++){var o=1/0,s=e[i];for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var l;if("pie"===a.type)l=r.r*r.r;else if("funnelarea"===a.type){var c,u;a.aspectratio>1?(c=r.r,u=c/a.aspectratio):(u=r.r,c=u*a.aspectratio),c*=(1+a.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var h=o*r.vTotal;"funnelarea"===a.type&&(h/=(1+a.baseratio)/2,h/=a.aspectratio),r.r=Math.sqrt(h)}}}(t,r)}function k(t,e,r){var n=t._fullLayout,a=r.trace,i=a.texttemplate,o=a.textinfo;if(!i&&o&&"none"!==o){var s,c=o.split("+"),h=function(t){return-1!==c.indexOf(t)},p=h("label"),d=h("text"),g=h("value"),v=h("percent"),m=n.separators;if(s=p?[e.label]:[],d){var y=u.getFirstFilled(a.text,e.pts);f(y)&&s.push(y)}g&&s.push(u.formatPieValue(e.v,m)),v&&s.push(u.formatPiePercent(e.v/r.vTotal,m)),e.text=s.join("<br>")}if(i){var x=l.castOption(a,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:u.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:u.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(a,t.i,"customdata")}}(e),_=u.getFirstFilled(a.text,e.pts);(f(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,a._meta||{})}else e.text=""}}e.exports={plot:function(t,e){var r=t._fullLayout,i=r._size;g(e,t),w(e,i);var h=l.makeTraceGroups(r._pielayer,e,"trace").each(function(e){var r=n.select(this),h=e[0],f=h.trace;!function(t){var e,r,n,a=t[0],i=a.trace,o=i.rotation*Math.PI/180,s=2*Math.PI/a.vTotal,l="px0",c="px1";if("counterclockwise"===i.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l="px1",c="px0"}function u(t){return[a.r*Math.sin(t),-a.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>a.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/a.vTotal,.5),r.ring=1-i.hole,r.rInscribed=m(r,a))}(e),r.attr("stroke-linejoin","round"),r.each(function(){var g=n.select(this).selectAll("g.slice").data(e);g.enter().append("g").classed("slice",!0),g.exit().remove();var m=[[[],[]],[[],[]]],b=!1;g.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=f.index,m[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var a=h.cx,i=h.cy,o=n.select(this),g=o.selectAll("path.surface").data([r]);if(g.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),o.call(p,t,e),f.pull){var x=+u.castOption(f.pull,r.pts)||0;x>0&&(a+=x*r.pxmid[0],i+=x*r.pxmid[1])}r.cxFinal=a,r.cyFinal=i;var _=f.hole;if(r.v===h.vTotal){var w="M"+(a+r.px0[0])+","+(i+r.px0[1])+E(r.px0,r.pxmid,!0,1)+E(r.pxmid,r.px0,!0,1)+"Z";_?g.attr("d","M"+(a+_*r.px0[0])+","+(i+_*r.px0[1])+E(r.px0,r.pxmid,!1,_)+E(r.pxmid,r.px0,!1,_)+"Z"+w):g.attr("d",w)}else{var T=E(r.px0,r.px1,!0,1);if(_){var A=1-_;g.attr("d","M"+(a+_*r.px1[0])+","+(i+_*r.px1[1])+E(r.px1,r.px0,!1,_)+"l"+A*r.px0[0]+","+A*r.px0[1]+T+"Z")}else g.attr("d","M"+a+","+i+"l"+r.px0[0]+","+r.px0[1]+T+"Z")}k(t,r,h);var M=u.castOption(f.textposition,r.pts),S=o.selectAll("g.slicetext").data(r.text&&"none"!==M?[0]:[]);S.enter().append("g").classed("slicetext",!0),S.exit().remove(),S.each(function(){var e=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,"outside"===M?function(t,e,r){var n=u.castOption(t.outsidetextfont.color,e.pts)||u.castOption(t.textfont.color,e.pts)||r.color,a=u.castOption(t.outsidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.outsidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:a,size:i}}(f,r,t._fullLayout.font):d(f,r,t._fullLayout.font)).call(c.convertToTspans,t);var o,p=s.bBox(e.node());"outside"===M?o=y(p,r):(o=v(p,r,h),"auto"===M&&o.scale<1&&(e.call(s.font,f.outsidetextfont),f.outsidetextfont.family===f.insidetextfont.family&&f.outsidetextfont.size===f.insidetextfont.size||(p=s.bBox(e.node())),o=y(p,r)));var g=a+r.pxmid[0]*o.rCenter+(o.x||0),m=i+r.pxmid[1]*o.rCenter+(o.y||0);o.outside&&(r.yLabelMin=m-p.height/2,r.yLabelMid=m,r.yLabelMax=m+p.height/2,r.labelExtraX=0,r.labelExtraY=0,b=!0),e.attr("transform","translate("+g+","+m+")"+(o.scale<1?"scale("+o.scale+")":"")+(o.rotate?"rotate("+o.rotate+")":"")+"translate("+-(p.left+p.right)/2+","+-(p.top+p.bottom)/2+")")})}function E(t,e,n,a){var i=a*(e[0]-t[0]),o=a*(e[1]-t[1]);return"a"+a*h.r+","+a*h.r+" 0 "+r.largeArc+(n?" 1 ":" 0 ")+i+","+o}});var _=n.select(this).selectAll("g.titletext").data(f.title.text?[0]:[]);if(_.enter().append("g").classed("titletext",!0),_.exit().remove(),_.each(function(){var e,r=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),a=f.title.text;f._meta&&(a=l.templateString(a,f._meta)),r.text(a).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,f.title.font).call(c.convertToTspans,t),e="middle center"===f.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(h):x(h,i),r.attr("transform","translate("+e.x+","+e.y+")"+(e.scale<1?"scale("+e.scale+")":"")+"translate("+e.tx+","+e.ty+")")}),b&&function(t,e){var r,n,a,i,o,s,l,c,h,f,p,d,g;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var a,c,h,p,d,g,v=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=v-m;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(c=0;c<f.length;c++)(h=f[c])===t||(u.castOption(e.pull,t.pts)||0)>=(u.castOption(e.pull,h.pts)||0)||((t.pxmid[1]-h.pxmid[1])*l>0?(p=h.cyFinal+o(h.px0[1],h.px1[1]),(b=p-m-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(a=3*s*Math.abs(c-f.indexOf(t)),d=h.cxFinal+i(h.px0[0],h.px1[0]),(g=d+a-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(a=n?v:m,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(a),h=t[1-n][r],f=h.concat(c),d=[],p=0;p<c.length;p++)void 0!==c[p].yLabelMid&&d.push(c[p]);for(g=!1,p=0;n&&p<h.length;p++)if(void 0!==h[p].yLabelMid){g=h[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,f),function(t,e){t.each(function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var a=r.select("g.slicetext text");a.attr("transform","translate("+t.labelExtraX+","+t.labelExtraY+")"+a.attr("transform"));var i=t.cxFinal+t.pxmid[0],s=t.cyFinal+t.pxmid[1],c="M"+i+","+s,u=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var h=t.labelExtraX*t.pxmid[1]/t.pxmid[0],f=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(h)>Math.abs(f)?c+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(i+t.labelExtraX+u):c+="l"+t.labelExtraX+","+h+"v"+(f-h)+"h"+u}else c+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:c,fill:"none"})}else r.select("path.textline").remove()})}(g,f),b&&f.automargin){var w=s.bBox(r.node()),T=f.domain,A=i.w*(T.x[1]-T.x[0]),M=i.h*(T.y[1]-T.y[0]),S=(.5*A-h.r)/i.w,E=(.5*M-h.r)/i.h;a.autoMargin(t,"pie."+f.uid+".automargin",{xl:T.x[0]-S,xr:T.x[1]+S,yb:T.y[0]-E,yt:T.y[1]+E,l:Math.max(h.cx-h.r-w.left,0),r:Math.max(w.right-(h.cx+h.r),0),b:Math.max(w.bottom-(h.cy+h.r),0),t:Math.max(h.cy-h.r-w.top,0),pad:5})}})});setTimeout(function(){h.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)},formatSliceLabel:k,transformInsideText:v,determineInsideTextFont:d,positionTitleOutside:x,prerenderTitles:g,layoutAreas:w,attachFxHandlers:p}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"./event_data":1096,"./helpers":1097,d3:164}],1102:[function(t,e,r){"use strict";var n=t("d3"),a=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(a,t,e)})})}},{"./style_one":1103,d3:164}],1103:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./helpers").castOption;e.exports=function(t,e,r){var i=r.marker.line,o=a(i.color,e.pts)||n.defaultLine,s=a(i.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":591,"./helpers":1097}],1104:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},{"../scatter/attributes":1118}],1105:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),a=t("../../lib/str2rgbarray"),i=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=a(t.marker.color),v=a(t.marker.border.color),m=t.opacity*t.marker.opacity;g[3]*=m,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,v[3]*=m,this.pointcloudOptions.borderColor=v;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,k=b/2||.5;t._extremes[_._id]=i(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=i(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":739,"../../plots/cartesian/autorange":763,"../scatter/get_trace_color":1128,"gl-pointcloud2d":294}],1106:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i("x"),i("y"),i("xbounds"),i("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),i("text"),i("marker.color",r),i("marker.opacity"),i("marker.blend"),i("marker.sizemin"),i("marker.sizemax"),i("marker.border.color",r),i("marker.border.arearatio"),e._length=null}},{"../../lib":716,"./attributes":1104}],1107:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../scatter3d/calc"),plot:t("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":802,"../scatter3d/calc":1146,"./attributes":1104,"./convert":1105,"./defaults":1106}],1108:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/attributes"),i=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../plots/template_attributes").hovertemplateAttrs,c=t("../../components/colorscale/attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK;(e.exports=f({hoverinfo:h({},a.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../components/fx/attributes":621,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1109:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../components/fx/layout_attributes"),s=t("../../lib/setcursor"),l=t("../../components/dragelement"),c=t("../../plots/cartesian/select").prepSelect,u=t("../../lib"),h=t("../../registry");function f(t,e){var r=t._fullData[e],n=t._fullLayout,a=n.dragmode,i="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if("pan"!==a&&"zoom"!==a){s(o,i);var f={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,a=t._fullData[e],i=a.node.groups.slice(),o=[];function s(t){for(var e=a._sankey.graph.nodes,r=0;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var c=s(r[l].pointNumber);if(c)if(c.group){for(var u=0;u<c.childrenNodes.length;u++)o.push(c.childrenNodes[u].pointNumber);i[c.pointNumber-a.node._count]=!1}else o.push(c.pointNumber)}n=i.filter(Boolean).concat([o]),h.call("_guiRestyle",t,{"node.groups":[n]},e)},prepFn:function(t,e,r){c(t,e,r,d,a)}};l.init(d)}}r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=a(t.calcdata,"sankey")[0];i(t,e),r.updateFx(t)},r.clean=function(t,e,r,n){var a=n._has&&n._has("sankey"),i=e._has&&e._has("sankey");a&&!i&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())},r.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)f(t,e)}},{"../../components/dragelement":609,"../../components/fx/layout_attributes":630,"../../lib":716,"../../lib/setcursor":736,"../../plot_api/edit_types":747,"../../plots/cartesian/select":781,"../../plots/get_data":799,"../../registry":845,"./plot":1114}],1110:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),a=t("../../lib"),i=t("../../lib/gup").wrap,o=a.isArrayOrTypedArray,s=a.isIndex,l=t("../../components/colorscale");function c(t){var e,r=t.node,i=t.link,c=[],u=o(i.color),h={},f={},p=i.colorscales.length;for(e=0;e<p;e++){var d=i.colorscales[e],g=l.extractScale(d,{cLetter:"c"}),v=l.makeColorScaleFunc(g);f[d.label]=v}var m=0;for(e=0;e<i.value.length;e++)i.source[e]>m&&(m=i.source[e]),i.target[e]>m&&(m=i.target[e]);var y,x=m+1;t.node._count=x;var b=t.node.groups,_={};for(e=0;e<b.length;e++){var w=b[e];for(y=0;y<w.length;y++){var k=w[y],T=x+e;_.hasOwnProperty(k)?a.warn("Node "+k+" is already part of a group."):_[k]=T}}var A={source:[],target:[]};for(e=0;e<i.value.length;e++){var M=i.value[e],S=i.source[e],E=i.target[e];if(M>0&&s(S,x)&&s(E,x)&&(!_.hasOwnProperty(S)||!_.hasOwnProperty(E)||_[S]!==_[E])){_.hasOwnProperty(E)&&(E=_[E]),_.hasOwnProperty(S)&&(S=_[S]),E=+E,h[S=+S]=h[E]=!0;var L="";i.label&&i.label[e]&&(L=i.label[e]);var C=null;L&&f.hasOwnProperty(L)&&(C=f[L]),c.push({pointNumber:e,label:L,color:u?i.color[e]:i.color,concentrationscale:C,source:S,target:E,value:+M}),A.source.push(S),A.target.push(E)}}var P=x+b.length,O=o(r.color),z=[];for(e=0;e<P;e++)if(h[e]){var I=r.label[e];z.push({group:e>x-1,childrenNodes:[],pointNumber:e,label:I,color:O?r.color[e]:r.color})}var D=!1;return function(t,e,r){for(var i=a.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(a.isIndex(e[o],t)&&a.isIndex(r[o],t)){if(e[o]===r[o])return!0;i[e[o]].push(r[o])}return n(i).components.some(function(t){return t.length>1})}(P,A.source,A.target)&&(D=!0),{circular:D,links:c,nodes:z,groups:b,groupLookup:_}}e.exports=function(t,e){var r=c(e);return i({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gup":714,"strongly-connected-components":528}],1111:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1112:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults,l=t("../../components/fx/hoverlabel_defaults"),c=t("../../plot_api/plot_template"),u=t("../../plots/array_container_defaults");function h(t,e){function r(r,i){return n.coerce(t,e,a.link.colorscales,r,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}e.exports=function(t,e,r,f){function p(r,i){return n.coerce(t,e,a,r,i)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),g=t.node,v=c.newContainer(e,"node");function m(t,e){return n.coerce(g,v,a.node,t,e)}m("label"),m("groups"),m("x"),m("y"),m("pad"),m("thickness"),m("line.color"),m("line.width"),m("hoverinfo",t.hoverinfo),l(g,v,m,d),m("hovertemplate");var y=f.colorway;m("color",v.label.map(function(t,e){return i.addOpacity(function(t){return y[t%y.length]}(e),.8)}));var x=t.link||{},b=c.newContainer(e,"link");function _(t,e){return n.coerce(x,b,a.link,t,e)}_("label"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,k=o(f.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(k,b.value.length)),u(x,b,{name:"colorscales",handleItemDefaults:h}),s(e,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),v.x.length&&v.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},f.font)),e._length=null}},{"../../components/color":591,"../../components/fx/hoverlabel_defaults":628,"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../../plots/domain":789,"./attributes":1108,tinycolor2:535}],1113:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"sankey",basePlotModule:t("./base_plot"),selectPoints:t("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1108,"./base_plot":1109,"./calc":1110,"./defaults":1112,"./plot":1114,"./select.js":1116}],1114:[function(t,e,r){"use strict";var n=t("d3"),a=t("./render"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function h(t,e){return t.filter(function(t){return t.key===e.traceId})}function f(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function v(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),r&&h(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(v)}function x(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){return t.tinyColorAlpha}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){return t.tinyColorAlpha}),r&&h(e,t).selectAll(l.sankeyNode).filter(g(t)).call(m)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,h=r._size,d=0;d<t._fullData.length;d++)if(t._fullData[d].visible&&t._fullData[d].type===l.sankey&&!t._fullData[d]._viewInitial){var g=t._fullData[d].node;t._fullData[d]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var _=c(t,"source:")+" ",w=c(t,"target:")+" ",k=c(t,"concentration:")+" ",T=c(t,"incoming flow count:")+" ",A=c(t,"outgoing flow count:")+" ";a(t,s,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{linkEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,a,!0)),"skip"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit("plotly_hover",{event:n.event,points:[r.link]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var s=a.link.trace.link;if("none"!==s.hoverinfo&&"skip"!==s.hoverinfo){for(var l=[],c=0,h=0;h<a.flow.links.length;h++){var d=a.flow.links[h];if("closest"!==t._fullLayout.hovermode||a.link.pointNumber===d.pointNumber){a.link.pointNumber===d.pointNumber&&(c=h),d.fullData=d.trace,s=a.link.trace.link;var g=m(d),v={valueLabel:n.format(a.valueFormat)(d.value)+a.valueSuffix};l.push({x:g[0],y:g[1],name:v.valueLabel,text:[d.label||"",_+d.source.label,w+d.target.label,d.concentrationscale?k+n.format("%0.2f")(d.flow.labelConcentration):""].filter(u).join("<br>"),color:b(s,"bgcolor")||o.addOpacity(d.color,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:n.event.x<g[0]?"right":"left",hovertemplate:s.hovertemplate,hovertemplateLabels:v,eventData:[d]})}}i.loneHover(l,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:c}).each(function(){a.link.concentrationscale||f(this,.65),p(this)})}}function m(t){var e,r;return t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2+a.parent.translateX,r=t.circularPathData.verticalFullExtent+a.parent.translateY):(e=(t.source.x1+t.target.x0)/2+a.parent.translateX,r=(t.y0+t.y1)/2+a.parent.translateY),[e,r]}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,a,o,!0)),"skip"!==a.link.trace.link.hoverinfo&&(a.link.fullData=a.link.trace,t.emit("plotly_unhover",{event:n.event,points:[a.link]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var a=r.link;a.originalEvent=n.event,t._hoverdata=[a],i.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,r,a),"skip"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit("plotly_hover",{event:n.event,points:[r.node]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var o=a.node.trace.node;if("none"!==o.hoverinfo&&"skip"!==o.hoverinfo){var s=n.select(e).select("."+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),h=s.node().getBoundingClientRect(),d=h.left-2-c.left,g=h.right+2-c.left,v=h.top+h.height/4-c.top,m={valueLabel:n.format(a.valueFormat)(a.node.value)+a.valueSuffix};a.node.fullData=a.node.trace;var y=i.loneHover({x0:d,x1:g,y:v,name:n.format(a.valueFormat)(a.node.value)+a.valueSuffix,text:[a.node.label,T+a.node.targetLinks.length,A+a.node.sourceLinks.length].filter(u).join("<br>"),color:b(o,"bgcolor")||a.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[a.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});f(y,.85),p(y)}}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,a,o),"skip"!==a.node.trace.node.hoverinfo&&(a.node.fullData=a.node.trace,t.emit("plotly_unhover",{event:n.event,points:[a.node]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r,a){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(m,r,a),i.click(t,{target:!0})}}})}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"./constants":1111,"./render":1115,d3:164}],1115:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey"),c=t("@plotly/d3-sankey-circular"),u=t("d3-force"),h=t("../../lib"),f=t("../../lib/gup"),p=f.keyFun,d=f.repeat,g=f.unwrap,v=t("d3-interpolate").interpolateNumber,m=t("../../registry");function y(){var t=.5;return function(e){if(e.link.circular)return r=e.link,n=r.width/2,a=r.circularPathData,"top"===r.circularLinkType?"M "+a.targetX+" "+(a.targetY+n)+" L"+a.rightInnerExtent+" "+(a.targetY+n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 1 "+(a.rightFullExtent-n)+" "+(a.targetY-a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 1 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY-a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.leftInnerExtent+" "+(a.sourceY-n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 0 "+(a.leftFullExtent-n)+" "+(a.sourceY-a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 0 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY-a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.targetY-n)+"L"+a.targetX+" "+(a.targetY-n)+"Z":"M "+a.targetX+" "+(a.targetY-n)+" L"+a.rightInnerExtent+" "+(a.targetY-n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 0 "+(a.rightFullExtent-n)+" "+(a.targetY+a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 0 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY+a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.leftInnerExtent+" "+(a.sourceY+n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 1 "+(a.leftFullExtent-n)+" "+(a.sourceY+a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 1 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY+a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.targetY+n)+"L"+a.targetX+" "+(a.targetY+n)+"Z";var r,n,a,i=e.link.source.x1,o=e.link.target.x0,s=v(i,o),l=s(t),c=s(1-t),u=e.link.y0-e.link.width/2,h=e.link.y0+e.link.width/2,f=e.link.y1-e.link.width/2,p=e.link.y1+e.link.width/2;return"M"+i+","+u+"C"+l+","+u+" "+c+","+f+" "+o+","+f+"L"+o+","+p+"C"+c+","+p+" "+l+","+h+" "+i+","+h+"Z"}}function x(t){t.attr("transform",function(t){return"translate("+t.node.x0.toFixed(3)+", "+t.node.y0.toFixed(3)+")"})}function b(t){t.call(x)}function _(t,e){t.call(b),e.attr("d",y())}function w(t){t.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function k(t){return t.link.width>1||t.linkLineWidth>0}function T(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function A(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function M(t){return a.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function S(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function E(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function L(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function C(t){return t.horizontal&&t.left?"100%":"0%"}function P(t,e,r){t.on(".basic",null).on("mouseover.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on("mousemove.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on("mouseout.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on("click.basic",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)})}function O(t,e,r,i){var o=a.behavior.drag().origin(function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}}).on("dragstart",function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",function(t){i._fullLayout._dragCover=t}),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,I(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,a){!function(t){for(var e=0;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var i=r.graph.nodes.filter(function(t){return t.originalX===r.node.originalX}).filter(function(t){return!t.partOfGroup});r.forceLayouts[e]=u.forceSimulation(i).alphaDecay(0).force("collide",u.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,a){return function(){for(var t=0,i=0;i<r.length;i++){var o=r[i];o===a.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(a.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!a.interactionState.dragInProgress&&t<.1&&a.forceLayouts[e].alpha()>0&&a.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,o,a),function(t,e,r,a,i){window.requestAnimationFrame(function o(){var s;for(s=0;s<n.forceTicksPerFrame;s++)r.forceLayouts[a].tick();var l=r.graph.nodes;if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(l),r.sankey.update(r.graph),_(t.filter(D(r)),e),r.forceLayouts[a].alpha()>0)window.requestAnimationFrame(o);else{var c=r.node.originalX;r.node.x0=c-r.visibleWidth/2,r.node.x1=c+r.visibleWidth/2,z(r,i)}})}(t,e,a,o,i)}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),I(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),_(t.filter(D(r)),e))}}).on("dragend",function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;"snap"!==t.arrangement&&z(t,i)}});t.on(".drag",null).call(o)}function z(t,e){for(var r=[],n=[],a=0;a<t.graph.nodes.length;a++){var i=(t.graph.nodes[a].x0+t.graph.nodes[a].x1)/2,o=(t.graph.nodes[a].y0+t.graph.nodes[a].y1)/2;r.push(i/t.figure.width),n.push(o/t.figure.height)}m.call("_guiRestyle",e,{"node.x":[r],"node.y":[n]},t.trace.index).then(function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()})}function I(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function D(t){return function(e){return e.node.originalX===t.node.originalX}}e.exports=function(t,e,r,u,f){var v=!1;h.ensureSingle(t._fullLayout._infolayer,"g","first-render",function(){v=!0});var m=t._fullLayout._dragCover,b=r.filter(function(t){return g(t).trace.visible}).map(function(t,e,r){var a,o=g(e),s=o.trace,u=s.domain,f="h"===s.orientation,p=s.node.pad,d=s.node.thickness,v=t.width*(u.x[1]-u.x[0]),m=t.height*(u.y[1]-u.y[0]),y=o._nodes,x=o._links,b=o.circular;(a=b?c.sankeyCircular().circularLinkGap(0):l.sankey()).iterations(n.sankeyIterations).size(f?[v,m]:[m,v]).nodeWidth(d).nodePadding(p).nodeId(function(t){return t.pointNumber}).nodes(y).links(x);var _,w,k,T=a();for(var A in a.nodePadding()<p&&h.warn("node.pad was reduced to ",a.nodePadding()," to fit within the figure."),o._groupLookup){var M,S=parseInt(o._groupLookup[A]);for(_=0;_<T.nodes.length;_++)if(T.nodes[_].pointNumber===S){M=T.nodes[_];break}if(M){var E={pointNumber:parseInt(A),x0:M.x0,x1:M.x1,y0:M.y0,y1:M.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};T.nodes.unshift(E),M.childrenNodes.unshift(E)}}if(function(){for(_=0;_<T.nodes.length;_++){var t,e,r=T.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+":"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var a=Object.keys(n);for(w=0;w<a.length;w++){var o=n[t=a[w]],s=0,l={};for(k=0;k<o.length;k++)l[(e=o[k]).label]||(l[e.label]=0),l[e.label]+=e.value,s+=e.value;for(k=0;k<o.length;k++)(e=o[k]).flow={value:s,labelConcentration:l[e.label]/s,concentration:e.value/s,links:o},e.concentrationscale&&(e.color=i(e.concentrationscale(e.flow.labelConcentration)))}var c=0;for(w=0;w<r.sourceLinks.length;w++)c+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/c;var u=0;for(w=0;w<r.targetLinks.length;w++)u+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/u}}(),s.node.x.length&&s.node.y.length){for(_=0;_<Math.min(s.node.x.length,s.node.y.length,T.nodes.length);_++)if(s.node.x[_]&&s.node.y[_]){var L=[s.node.x[_]*v,s.node.y[_]*m];T.nodes[_].x0=L[0]-d/2,T.nodes[_].x1=L[0]+d/2;var C=T.nodes[_].y1-T.nodes[_].y0;T.nodes[_].y0=L[1]-C/2,T.nodes[_].y1=L[1]+C/2}"snap"===s.arrangement&&function(t){t.forEach(function(t){var e,r,n,a=0,i=t.length;for(t.sort(function(t,e){return t.y0-e.y0}),n=0;n<i;++n)(e=t[n]).y0>=a||(r=a-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),a=e.y1+p})}(function(t){var e,r,n=t.map(function(t,e){return{x0:t.x0,index:e}}).sort(function(t,e){return t.x0-e.x0}),a=[],i=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>o+d&&(i+=1,e=s.x0),o=s.x0,a[i]||(a[i]=[]),a[i].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return a}(y=T.nodes)),a.update(T)}return{circular:b,key:r,trace:s,guid:h.randstr(),horizontal:f,width:v,height:m,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?m:v,dragPerpendicular:f?v:m,arrangement:s.arrangement,sankey:a,graph:T,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,u)),_=e.selectAll("."+n.cn.sankey).data(b,p);_.exit().remove(),_.enter().append("g").classed(n.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",T),_.each(function(e,r){t._fullData[r]._sankey=e;var n="bgsankey-"+e.trace.uid+"-"+r;h.ensureSingle(t._fullLayout._draggers,"rect",n),t._fullData[r]._bgRect=a.select("."+n),t._fullData[r]._bgRect.style("pointer-events","all").attr("width",e.width).attr("height",e.height).attr("x",e.translateX).attr("y",e.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})}),_.transition().ease(n.ease).duration(n.duration).attr("transform",T);var z=_.selectAll("."+n.cn.sankeyLinks).data(d,p);z.enter().append("g").classed(n.cn.sankeyLinks,!0).style("fill","none");var I=z.selectAll("."+n.cn.sankeyLink).data(function(t){return t.graph.links.filter(function(t){return t.value}).map(function(t,e,r){var n=i(e.color),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:y,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}.bind(null,t))},p);I.enter().append("path").classed(n.cn.sankeyLink,!0).call(P,_,f.linkEvents),I.style("stroke",function(t){return k(t)?o.tinyRGB(i(t.linkLineColor)):t.tinyColorHue}).style("stroke-opacity",function(t){return k(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}).style("stroke-width",function(t){return k(t)?t.linkLineWidth:1}).attr("d",y()),I.style("opacity",function(){return t._context.staticPlot||v||m?1:0}).transition().ease(n.ease).duration(n.duration).style("opacity",1),I.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var D=_.selectAll("."+n.cn.sankeyNodeSet).data(d,p);D.enter().append("g").classed(n.cn.sankeyNodeSet,!0),D.style("cursor",function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var R=D.selectAll("."+n.cn.sankeyNode).data(function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(function(t,e){var r=i(e.color),a=n.nodePadAcross,s=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var l=e.dx,c=Math.max(.5,e.dy),u="node_"+e.pointNumber;return e.group&&(u=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:u,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(l),visibleHeight:c,zoneX:-a,zoneY:-s,zoneWidth:l+2*a,zoneHeight:c+2*s,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:o.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,u].join("_"),interactionState:t.interactionState,figure:t}}.bind(null,t))},p);R.enter().append("g").classed(n.cn.sankeyNode,!0).call(x).style("opacity",function(e){return!t._context.staticPlot&&!v||e.partOfGroup?0:1}),R.call(P,_,f.nodeEvents).call(O,I,f,t),R.transition().ease(n.ease).duration(n.duration).call(x).style("opacity",function(t){return t.partOfGroup?0:1}),R.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var F=R.selectAll("."+n.cn.nodeRect).data(d);F.enter().append("rect").classed(n.cn.nodeRect,!0).call(w),F.style("stroke-width",function(t){return t.nodeLineWidth}).style("stroke",function(t){return o.tinyRGB(i(t.nodeLineColor))}).style("stroke-opacity",function(t){return o.opacity(t.nodeLineColor)}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}),F.transition().ease(n.ease).duration(n.duration).call(w);var B=R.selectAll("."+n.cn.nodeCapture).data(d);B.enter().append("rect").classed(n.cn.nodeCapture,!0).style("fill-opacity",0),B.attr("x",function(t){return t.zoneX}).attr("y",function(t){return t.zoneY}).attr("width",function(t){return t.zoneWidth}).attr("height",function(t){return t.zoneHeight});var N=R.selectAll("."+n.cn.nodeCentered).data(d);N.enter().append("g").classed(n.cn.nodeCentered,!0).attr("transform",A),N.transition().ease(n.ease).duration(n.duration).attr("transform",A);var j=N.selectAll("."+n.cn.nodeLabelGuide).data(d);j.enter().append("path").classed(n.cn.nodeLabelGuide,!0).attr("id",function(t){return t.uniqueNodeLabelPathId}).attr("d",M).attr("transform",S),j.transition().ease(n.ease).duration(n.duration).attr("d",M).attr("transform",S);var V=N.selectAll("."+n.cn.nodeLabel).data(d);V.enter().append("text").classed(n.cn.nodeLabel,!0).attr("transform",E).style("user-select","none").style("cursor","default").style("fill","black"),V.style("text-shadow",function(t){return t.horizontal?"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff":"none"}).each(function(t){s.font(V,t.textFont)}),V.transition().ease(n.ease).duration(n.duration).attr("transform",E);var U=V.selectAll("."+n.cn.nodeLabelTextPath).data(d);U.enter().append("textPath").classed(n.cn.nodeLabelTextPath,!0).attr("alignment-baseline","middle").attr("xlink:href",function(t){return"#"+t.uniqueNodeLabelPathId}).attr("startOffset",C).style("fill",L),U.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),U.transition().ease(n.ease).duration(n.duration).attr("startOffset",C).style("fill",L)}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../registry":845,"./constants":1111,"@plotly/d3-sankey":56,"@plotly/d3-sankey-circular":55,d3:164,"d3-force":157,"d3-interpolate":159,tinycolor2:535}],1116:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,a=n._sankey.graph.nodes,i=0;i<a.length;i++){var o=a[i];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];"v"===n.orientation&&s.reverse(),e&&e.contains(s,!1,i,t)&&r.push({pointNumber:o.pointNumber})}}return r}},{}],1117:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.texttemplate,t,"txt"),n.mergeArray(e.hovertext,t,"htx"),n.mergeArray(e.customdata,t,"data"),n.mergeArray(e.textposition,t,"tp"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,"ts"),n.mergeArray(e.textfont.color,t,"tc"),n.mergeArray(e.textfont.family,t,"tf"));var a=e.marker;if(a){n.mergeArrayCastPositive(a.size,t,"ms"),n.mergeArrayCastPositive(a.opacity,t,"mo"),n.mergeArray(a.symbol,t,"mx"),n.mergeArray(a.color,t,"mc");var i=a.line;a.line&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"));var o=a.gradient;o&&"none"!==o.type&&(n.mergeArray(o.type,t,"mgt"),n.mergeArray(o.color,t,"mgc"))}}},{"../../lib":716}],1118:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").texttemplateAttrs,a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../components/colorscale/attributes"),o=t("../../plots/font_attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../components/drawing"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:n({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:a({},{keys:c.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:u({},s,{editType:"style"}),simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style",anim:!0},marker:u({symbol:{valType:"enumerated",values:l.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:u({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},i("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},i("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:o({editType:"calc",colorEditType:"style",arrayOk:!0}),r:{valType:"data_array",editType:"calc"},t:{valType:"data_array",editType:"calc"}}},{"../../components/colorscale/attributes":598,"../../components/drawing":612,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plots/font_attributes":790,"../../plots/template_attributes":840,"./constants":1122}],1119:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM,s=t("./subtypes"),l=t("./colorscale_calc"),c=t("./arrays_to_calcdata"),u=t("./calc_selection");function h(t,e,r,n,a,o,l){var c=e._length,u=t._fullLayout,h=r._id,f=n._id,p=u._firstScatter[d(e)]===e.uid,v=(g(e,u,r,n)||{}).orientation,m=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};l&&(y.ppad=x.ppad=l);var b=c<2||a[0]!==a[c-1]||o[0]!==o[c-1];b&&("tozerox"===m||"tonextx"===m&&(p||"h"===v))?y.tozero=!0:(e.error_y||{}).visible||"tonexty"!==m&&"tozeroy"!==m&&(s.hasMarkers(e)||s.hasText(e))||(y.padded=!1,y.ppad=0),b&&("tozeroy"===m||"tonexty"===m&&(p||"v"===v))?x.tozero=!0:"tonextx"!==m&&"tozerox"!==m||(x.padded=!1),h&&(e._extremes[h]=i.findExtremes(r,a,y)),f&&(e._extremes[f]=i.findExtremes(n,o,x))}function f(t,e){if(s.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r="area"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},a.isArrayOrTypedArray(n.size)){var l={type:"linear"};i.setConvert(l);for(var c=l.makeCalcdata(t.marker,"size"),u=new Array(e),h=0;h<e;h++)u[h]=r(c[h]);return u}return r(n.size)}}function p(t,e){var r=d(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function d(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?"-"+e:"")}function g(t,e,r,n){var a=t.stackgroup;if(a){var i=e._scatterStackOpts[r._id+n._id][a],o="v"===i.orientation?n:r;return"linear"===o.type||"log"===o.type?i:void 0}}e.exports={calc:function(t,e){var r,s,d,v,m,y,x=t._fullLayout,b=i.getFromId(t,e.xaxis||"x"),_=i.getFromId(t,e.yaxis||"y"),w=b.makeCalcdata(e,"x"),k=_.makeCalcdata(e,"y"),T=e._length,A=new Array(T),M=e.ids,S=g(e,x,b,_),E=!1;p(x,e);var L,C="x",P="y";for(S?(a.pushUnique(S.traceIndices,e._expandedIndex),(r="v"===S.orientation)?(P="s",L="x"):(C="s",L="y"),m="interpolate"===S.stackgaps):h(t,e,b,_,w,k,f(e,T)),s=0;s<T;s++){var O=A[s]={},z=n(w[s]),I=n(k[s]);z&&I?(O[C]=w[s],O[P]=k[s]):S&&(r?z:I)?(O[L]=r?w[s]:k[s],O.gap=!0,m?(O.s=o,E=!0):O.s=0):O[C]=O[P]=o,M&&(O.id=String(M[s]))}if(c(A,e),l(t,e),u(A,e),S){for(s=0;s<A.length;)A[s][L]===o?A.splice(s,1):s++;if(a.sort(A,function(t,e){return t[L]-e[L]||t.i-e.i}),E){for(s=0;s<A.length-1&&A[s].gap;)s++;for((y=A[s].s)||(y=A[s].s=0),d=0;d<s;d++)A[d].s=y;for(v=A.length-1;v>s&&A[v].gap;)v--;for(y=A[v].s,d=A.length-1;d>v;d--)A[d].s=y;for(;s<v;)if(A[++s].gap){for(d=s+1;A[d].gap;)d++;for(var D=A[s-1][L],R=A[s-1].s,F=(A[d].s-R)/(A[d][L]-D);s<d;)A[s].s=R+(A[s][L]-D)*F,s++}}}return A},calcMarkerSize:f,calcAxisExpansion:h,setFirstScatter:p,getStackOpts:g}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"./arrays_to_calcdata":1117,"./calc_selection":1120,"./colorscale_calc":1121,"./subtypes":1142,"fast-isnumeric":227}],1120:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{"../../lib":716}],1121:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),i=t("./subtypes");e.exports=function(t,e){i.hasLines(e)&&n(e,"line")&&a(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),i.hasMarkers(e)&&(n(e,"marker")&&a(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&a(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"./subtypes":1142}],1122:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],1123:[function(t,e,r){"use strict";var n=t("./calc");function a(t,e,r,n,a,i,o){a[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else i&&(s.s=function(t,e,r,n){var a=t[e-1],i=t[e+1];return i?a?a.s+(i.s-a.s)*(r-a[n])/(i[n]-a[n]):i.s:a.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,i=e.yaxis,o=r._id+i._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,h,f,p,d,g,v,m,y,x,b,_,w,k=t.calcdata;for(var T in s){var A=(m=s[T]).traceIndices;if(A.length){for(y="interpolate"===m.stackgaps,x=m.groupnorm,"v"===m.orientation?(b="x",_="y"):(b="y",_="x"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=k[A[0]];var M=new Array(p.length);for(l=0;l<p.length;l++)M[l]=p[l][b];for(l=1;l<A.length;l++){for(f=k[A[l]],c=u=0;c<f.length;c++){for(d=f[c][b];d>M[u]&&u<M.length;u++)a(f,c,M[u],l,w,y,b),c++;if(d!==M[u]){for(h=0;h<l;h++)a(k[A[h]],u,d,h,w,y,b);M.splice(u,0,d)}u++}for(;u<M.length;u++)a(f,c,M[u],l,w,y,b),c++}var S=M.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<A.length;l++)(f=k[A[l]])[0].trace._rawLength=f[0].trace._length,f[0].trace._length=S,g+=f[c].s,f[c][_]=g;if(x)for(v=("fraction"===x?g:g/100)||1,l=0;l<A.length;l++){var E=k[A[l]][c];E[_]/=v,E.sNorm=E.s/v}}for(l=0;l<A.length;l++){var L=(f=k[A[l]])[0].trace,C=n.calcMarkerSize(L,L._rawLength),P=Array.isArray(C);if(C&&w[l]||P){var O=C;for(C=new Array(S),c=0;c<S;c++)C[c]=f[c].gap?0:P?O[f[c].i]:O}var z=new Array(S),I=new Array(S);for(c=0;c<S;c++)z[c]=f[c].x,I[c]=f[c].y;n.calcAxisExpansion(t,L,r,i,z,I,C),f[0].t.orientation=m.orientation}}}}}},{"./calc":1119}],1124:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if("scatter"===r.type){var n=r.fill;if("none"!==n&&"toself"!==n&&(r.opacity=void 0,"tonexty"===n||"tonextx"===n))for(var a=e-1;a>=0;a--){var i=t[a];if("scatter"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],1125:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./stack_defaults"),u=t("./marker_defaults"),h=t("./line_defaults"),f=t("./line_shape_defaults"),p=t("./text_defaults"),d=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function v(r,a){return n.coerce(t,e,i,r,a)}var m=l(t,e,g,v);if(m||(e.visible=!1),e.visible){var y=c(t,e,g,v),x=!y&&m<o.PTS_LINESONLY?"lines+markers":"lines";v("text"),v("hovertext"),v("mode",x),s.hasLines(e)&&(h(t,e,r,g,v),f(t,e,v),v("connectgaps"),v("line.simplify")),s.hasMarkers(e)&&u(t,e,r,g,v,{gradient:!0}),s.hasText(e)&&(v("texttemplate"),p(t,e,g,v));var b=[];(s.hasMarkers(e)||s.hasText(e))&&(v("cliponaxis"),v("marker.maxdisplayed"),b.push("points")),v("fill",y?y.fillDflt:"none"),"none"!==e.fill&&(d(t,e,r,v),s.hasLines(e)||f(t,e,v));var _=(e.line||{}).color,w=(e.marker||{}).color;"tonext"!==e.fill&&"toself"!==e.fill||b.push("fills"),v("hoveron",b.join("+")||"points"),"fills"!==e.hoveron&&v("hovertemplate");var k=a.getComponentMethod("errorbars","supplyDefaults");k(t,e,_||w||r,{axis:"y"}),k(t,e,_||w||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,v)}}},{"../../lib":716,"../../registry":845,"./attributes":1118,"./constants":1122,"./fillcolor_defaults":1126,"./line_defaults":1131,"./line_shape_defaults":1133,"./marker_defaults":1137,"./stack_defaults":1140,"./subtypes":1142,"./text_defaults":1143,"./xy_defaults":1144}],1126:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!a(s)?o=s:l&&!a(l)&&(o=l)}i("fillcolor",n.addOpacity((e.line||{}).color||o||r,.5))}},{"../../components/color":591,"../../lib":716}],1127:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i={_fullLayout:r},o=n.getFromTrace(i,e,"x"),s=n.getFromTrace(i,e,"y");return a.xLabel=n.tickText(o,t.x,!0).text,a.yLabel=n.tickText(s,t.y,!0).text,a}},{"../../plots/cartesian/axes":764}],1128:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./subtypes");e.exports=function(t,e){var r,i;if("lines"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if("none"===t.mode)return t.fill?t.fillcolor:"";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(i=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:"")?n.opacity(i)<.3?n.addOpacity(i,.3):i:(r=(t.line||{}).color)&&n.opacity(r)&&a.hasLines(t)&&t.line.width?r:t.fillcolor}},{"../../components/color":591,"./subtypes":1142}],1129:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/fx"),i=t("../../registry"),o=t("./get_trace_color"),s=t("../../components/color"),l=n.fillText;e.exports=function(t,e,r,c){var u=t.cd,h=u[0].trace,f=t.xa,p=t.ya,d=f.c2p(e),g=p.c2p(r),v=[d,g],m=h.hoveron||"",y=-1!==h.mode.indexOf("markers")?3:.5;if(-1!==m.indexOf("points")){var x=function(t){var e=Math.max(y,t.mrc||0),r=f.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=a.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(f.c2p(t.x)-d);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n<e?r*n/e:n-e+r},x);if(a.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=f.c2p(_.x,!0),k=p.c2p(_.y,!0),T=_.mrc||1;t.index=_.i;var A=u[0].t.orientation,M=A&&(_.sNorm||_.s),S="h"===A?M:_.x,E="v"===A?M:_.y;return n.extendFlat(t,{color:o(h,_),x0:w-T,x1:w+T,xLabelVal:S,y0:k-T,y1:k+T,yLabelVal:E,spikeDistance:x(_),hovertemplate:h.hovertemplate}),l(_,h,t),i.getComponentMethod("errorbars","hoverInfo")(_,h,t),[t]}}if(-1!==m.indexOf("fills")&&h._polygons){var L,C,P,O,z,I,D,R,F,B=h._polygons,N=[],j=!1,V=1/0,U=-1/0,q=1/0,H=-1/0;for(L=0;L<B.length;L++)(P=B[L]).contains(v)&&(j=!j,N.push(P),q=Math.min(q,P.ymin),H=Math.max(H,P.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(L=0;L<N.length;L++)for(O=N[L].pts,C=1;C<O.length;C++)(R=O[C-1][1])>G!=(F=O[C][1])>=G&&(I=O[C-1][0],D=O[C][0],F-R&&(z=I+(D-I)*(G-R)/(F-R),V=Math.min(V,z),U=Math.max(U,z)));V=Math.max(V,0),U=Math.min(U,f._length);var Y=s.defaultLine;return s.opacity(h.fillcolor)?Y=h.fillcolor:s.opacity((h.line||{}).color)&&(Y=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../registry":845,"./get_trace_color":1128}],1130:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"./arrays_to_calcdata":1117,"./attributes":1118,"./calc":1119,"./cross_trace_calc":1123,"./cross_trace_defaults":1124,"./defaults":1125,"./format_labels":1127,"./hover":1129,"./marker_colorbar":1136,"./plot":1138,"./select":1139,"./style":1141,"./subtypes":1142}],1131:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),a(t,"line"))?i(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716}],1132:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,s=i-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,h=t("./constants");e.exports=function(t,e){var r,n,i,f,p,d,g,v,m,y,x,b,_,w,k,T,A,M,S=e.xaxis,E=e.yaxis,L="log"===S.type,C="log"===E.type,P=S._length,O=E._length,z=e.connectGaps,I=e.baseTolerance,D=e.shape,R="linear"===D,F=e.fill&&"none"!==e.fill,B=[],N=h.minTolerance,j=t.length,V=new Array(j),U=0;function q(r){var n=t[r];if(!n)return!1;var i=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(i===a){if(L&&(i=S.c2p(n.x,!0)),i===a)return!1;C&&l===a&&(i*=Math.abs(S._m*O*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),i*=1e3}if(l===a){if(C&&(l=E.c2p(n.y,!0)),l===a)return!1;l*=1e3}return[i,l]}function H(t,e,r,n){var a=r-t,i=n-e,o=.5-t,s=.5-e,l=a*a+i*i,c=a*o+i*s;if(c>0&&c<l){var u=o*i-s*a;if(u*u<l)return!0}}function G(t,e){var r=t[0]/P,n=t[1]/O,a=Math.max(0,-r,r-1,-n,n-1);return a&&void 0!==A&&H(r,n,A,M)&&(a=0),a&&e&&H(r,n,e[0]/P,e[1]/O)&&(a=0),(1+h.toleranceGrowth*a)*I}function Y(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var W,X,Z,J,K,Q,$,tt=h.maxScreensAway,et=-P*tt,rt=P*(1+tt),nt=-O*tt,at=O*(1+tt),it=[[et,nt,rt,nt],[rt,nt,rt,at],[rt,at,et,at],[et,at,et,nt]];function ot(t){if(t[0]<et||t[0]>rt||t[1]<nt||t[1]>at)return[u(t[0],et,rt),u(t[1],nt,at)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===at)||void 0)}function lt(t,e,r){return function(n,a){var i=ot(n),o=ot(a),s=[];if(i&&o&&st(i,o))return s;i&&s.push(i),o&&s.push(o);var c=2*l.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);c&&((i&&o?c>0==i[t]>o[t]?i:o:i||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===V[U-1][0],a=r===V[U-1][1];if(!n||!a)if(U>1){var i=e===V[U-2][0],o=r===V[U-2][1];n&&(e===et||e===rt)&&i?o?U--:V[U-1]=t:a&&(r===nt||r===at)&&o?i?U--:V[U-1]=t:V[U++]=t}else V[U++]=t}function ut(t){V[U-1][0]!==t[0]&&V[U-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ht(t){if(A=t[0]/P,M=t[1]/O,W=t[0]<et?et:t[0]>rt?rt:0,X=t[1]<nt?nt:t[1]>at?at:0,W||X){if(U)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),V[U++]=e[1])}else Q=$(V[U-1],t)[0],V[U++]=Q;else V[U++]=[W||t[0],X||t[1]];var r=V[U-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?et:rt,at]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),V[U++]=t;var n,a,i,o}for("linear"===D||"spline"===D?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=it[a],o=c(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)<Y(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===D||"vh"===D?$=function(t,e){var r=[],n=ot(t),a=ot(e);return n&&a&&st(n,a)?r:(n&&r.push(n),a&&r.push(a),r)}:"hvh"===D?$=lt(0,et,rt):"vhv"===D&&($=lt(1,nt,at)),r=0;r<j;r++)if(n=q(r)){for(U=0,K=null,ht(n),r++;r<j;r++){if(!(f=q(r))){if(z)continue;break}if(R&&e.simplify){var ft=q(r+1);if(y=Y(f,n),F&&(0===U||U===j-1)||!(y<G(f,ft)*N)){for(v=[(f[0]-n[0])/y,(f[1]-n[1])/y],p=n,x=y,b=w=k=0,g=!1,i=f,r++;r<t.length;r++){if(d=ft,ft=q(r+1),!d){if(z)continue;break}if(T=(m=[d[0]-n[0],d[1]-n[1]])[0]*v[1]-m[1]*v[0],w=Math.min(w,T),(k=Math.max(k,T))-w>G(d,ft))break;i=d,(_=m[0]*v[0]+m[1]*v[1])>x?(x=_,f=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ht(f),i!==p&&ht(p)):(p!==n&&ht(p),i!==f&&ht(f)),ht(i),r>=t.length||!d)break;ht(d),n=d}}else ht(f)}K&&ct([Z||K[0],J||K[1]]),B.push(V.slice(0,U))}return B}},{"../../constants/numerical":692,"../../lib":716,"./constants":1122}],1133:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1134:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,s,l,c={},u=!1,h=-1,f=0,p=-1;for(i=0;i<r.length;i++)(o=(a=r[i][0].trace).stackgroup||"")?o in c?l=c[o]:(l=c[o]=f,f++):a.fill in n&&p>=0?l=p:(l=p=f,f++),l<h&&(u=!0),a._groupIndex=h=l;var d=r.slice();u&&d.sort(function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index});var g={};for(i=0;i<d.length;i++)o=(a=d[i][0].trace).stackgroup||"",!0===a.visible?(a._nexttrace=null,a.fill in n&&(s=g[o],a._prevtrace=s||null,s&&(s._nexttrace=a)),a._ownfill=a.fill&&("tozero"===a.fill.substr(0,6)||"toself"===a.fill||"to"===a.fill.substr(0,2)&&!a._prevtrace),g[o]=a):a._prevtrace=a._nexttrace=a._ownfill=null;return d}},{}],1135:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t){var e=t.marker,r=e.sizeref||1,a=e.sizemin||0,i="area"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=i(t/2);return n(e)&&e>0?Math.max(e,a):0}}},{"fast-isnumeric":227}],1136:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1137:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;(c=c||{},h&&(r=h),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),a(t,"marker")&&i(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),a(t,"marker.line")&&i(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"./subtypes":1142}],1138:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=i.ensureSingle,s=i.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),h=t("./link_traces"),f=t("../../lib/polygon").tester;function p(t,e,r,h,p,d,g){var v;!function(t,e,r,a,o){var s=r.xaxis,l=r.yaxis,u=n.extent(i.simpleMap(s.range,s.r2c)),h=n.extent(i.simpleMap(l.range,l.r2c)),f=a[0].trace;if(!c.hasMarkers(f))return;var p=f.marker.maxdisplayed;if(0===p)return;var d=a.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]}),g=Math.ceil(d.length/p),v=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&v++});var m=Math.round(v*g/3+Math.floor(v/3)*g/7.1);a.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+m)%g)&&(t.vis=!0)})}(0,e,r,h,p);var m=!!g&&g.duration>0;function y(t){return m?t.transition():t}var x=r.xaxis,b=r.yaxis,_=h[0].trace,w=_.line,k=n.select(d),T=o(k,"g","errorbars"),A=o(k,"g","lines"),M=o(k,"g","points"),S=o(k,"g","text");if(a.getComponentMethod("errorbars","plot")(t,T,r,g),!0===_.visible){var E,L;y(k).style("opacity",_.opacity);var C=_.fill.charAt(_.fill.length-1);"x"!==C&&"y"!==C&&(C=""),h[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var P,O,z="",I=[],D=_._prevtrace;D&&(z=D._prevRevpath||"",L=D._nextFill,I=D._polygons);var R,F,B,N,j,V,U,q="",H="",G=[],Y=i.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(L&&L.datum(h),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=u(h,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),U=_._polygons=new Array(G.length),v=0;v<G.length;v++)_._polygons[v]=f(G[v]);G.length&&(N=G[0][0],V=(j=G[G.length-1])[j.length-1]),Y=function(t){return function(e){if(P=R(e),O=B(e),q?C?(q+="L"+P.substr(1),H=O+"L"+H.substr(1)):(q+="Z"+P,H=O+"Z"+H):(q=P,H=O),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(h),t)y(r.style("opacity",0).attr("d",P).call(l.lineGroupStyle)).style("opacity",1);else{var a=y(r);a.attr("d",P),l.singleLineStyle(h,a)}}}}}var W=A.selectAll(".js-line").data(G);y(W.exit()).style("opacity",0).remove(),W.each(Y(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(h),N&&V&&(C?("y"===C?N[1]=V[1]=b.c2p(0,!0):"x"===C&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr("d","M"+V+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):L&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(L).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(L).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(I)):(Z(L),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?Z(E):L&&Z(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(h),S.datum(h),function(e,a,i){var o,u=i[0].trace,h=c.hasMarkers(u),f=c.hasText(u),p=tt(u),d=et,g=et;if(h||f){var v=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?v=w?K:J:_&&!w&&(v=Q),h&&(d=v),f&&(g=v)}var k,T=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);m&&T.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),h&&(k=l.makePointStyleFns(u)),o.each(function(e){var a=n.select(this),i=y(a);l.translatePoint(e,i,x,b)?(l.singlePointStyle(e,i,u,k,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,x,b,u.xcalendar,u.ycalendar),u.customdata&&a.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):i.remove()}),m?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=a.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each(function(t){var e=n.select(this),a=y(e.select("text"));l.translatePoint(t,a,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll("text").call(l.textPointStyle,u,t).each(function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each(function(){y(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(M,S,h);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter(function(t){return!t.gap&&t.vis})}function K(t){return t.filter(function(t){return t.vis})}function Q(t){return t.filter(function(t){return!t.gap})}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,a,i,c){var u,f,d=!i,g=!!i&&i.duration>0,v=h(t,e,r);((u=a.selectAll("g.trace").data(v,function(t){return t[0].trace.uid})).enter().append("g").attr("class",function(t){return"trace scatter trace"+t[0].trace.uid}).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each(function(e){var a=o(n.select(this),"g","fills");l.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,c=[];i._ownfill&&c.push("_ownFill"),i._nexttrace&&c.push("_nextFill");var u=a.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each(function(t){i[t]=null}).remove(),u.order().each(function(t){i[t]=o(n.select(this),"path","js-fill")})})}(t,u,e),g)?(c&&(f=c()),n.transition().duration(i.duration).ease(i.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()}).each(function(){a.selectAll("g.trace").each(function(r,n){p(t,n,e,r,v,this,i)})})):u.each(function(r,n){p(t,n,e,r,v,this,i)});d&&u.exit().remove(),a.selectAll("path:not([d])").remove()}},{"../../components/drawing":612,"../../lib":716,"../../lib/polygon":728,"../../registry":845,"./line_points":1132,"./link_traces":1134,"./subtypes":1142,d3:164}],1139:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)a=s[r],i=l.c2p(a.x),o=c.c2p(a.y),null!==a.i&&e.contains([i,o],!1,r,t)?(u.push({pointNumber:a.i,x:l.c2d(a.x),y:c.c2d(a.y)}),a.selected=1):a.selected=0;return u}},{"./subtypes":1142}],1140:[function(t,e,r){"use strict";var n=["orientation","groupnorm","stackgaps"];e.exports=function(t,e,r,a){var i=r._scatterStackOpts,o=a("stackgroup");if(o){var s=e.xaxis+e.yaxis,l=i[s];l||(l=i[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var h={orientation:e.x&&!e.y?"h":"v"},f=0;f<n.length;f++){var p=n[f],d=p+"Found";if(!c[d]){var g=void 0!==t[p],v="orientation"===p;if((g||u)&&(c[p]=a(p,h[p]),v&&(c.fillDflt="h"===c[p]?"tonextx":"tonexty"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],v))))for(var m=0;m<c.traces.length-1;m++){var y=c.traces[m];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1141:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../registry");function o(t,e,r){a.pointStyle(t.selectAll("path.point"),e,r)}function s(t,e,r){a.textPointStyle(t.selectAll("text"),e,r)}e.exports={style:function(t){var e=n.select(t).selectAll("g.trace.scatter");e.style("opacity",function(t){return t[0].trace.opacity}),e.selectAll("g.points").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),e.selectAll("g.text").each(function(e){s(n.select(this),e.trace||e[0].trace,t)}),e.selectAll("g.trace path.js-line").call(a.lineGroupStyle),e.selectAll("g.trace path.js-fill").call(a.fillGroupStyle),i.getComponentMethod("errorbars","style")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(a.selectedPointStyle(r.selectAll("path.point"),n),a.selectedTextStyle(r.selectAll("text"),n)):(o(r,n,t),s(r,n,t))}}},{"../../components/drawing":612,"../../registry":845,d3:164}],1142:[function(t,e,r){"use strict";var n=t("../../lib");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("lines")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf("markers")||"splom"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("text")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{"../../lib":716}],1143:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a,i){i=i||{},a("textposition"),n.coerceFont(a,"textfont",r.font),i.noSelect||(a("selected.textfont.color"),a("unselected.textfont.color"))}},{"../../lib":716}],1144:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");e.exports=function(t,e,r,i){var o,s=i("x"),l=i("y");if(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],r),s){var c=n.minRowLength(s);l?o=Math.min(c,n.minRowLength(l)):(o=c,i("y0"),i("dy"))}else{if(!l)return 0;o=n.minRowLength(l),i("x0"),i("dx")}return e._length=o,o}},{"../../lib":716,"../../registry":845}],1145:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../plots/attributes"),l=t("../../constants/gl3d_dashes"),c=t("../../constants/gl3d_markers"),u=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll,f=n.line,p=n.marker,d=p.line,g=u({width:f.width,dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},a("line"));var v=e.exports=h({x:n.x,y:n.y,z:{valType:"data_array"},text:u({},n.text,{}),texttemplate:o({},{}),hovertext:u({},n.hovertext,{}),hovertemplate:i(),mode:u({},n.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},y:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},z:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:g,marker:u({symbol:{valType:"enumerated",values:Object.keys(c),dflt:"circle",arrayOk:!0},size:u({},p.size,{dflt:8}),sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode,opacity:u({},p.opacity,{arrayOk:!1}),colorbar:p.colorbar,line:u({width:u({},d.width,{arrayOk:!1})},a("marker.line"))},a("marker")),textposition:u({},n.textposition,{dflt:"top center"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:u({},n.textfont.family,{arrayOk:!1})},hoverinfo:u({},s.hoverinfo)},"calc","nested");v.x.editType=v.y.editType=v.z.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":598,"../../constants/gl3d_dashes":689,"../../constants/gl3d_markers":690,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1146:[function(t,e,r){"use strict";var n=t("../scatter/arrays_to_calcdata"),a=t("../scatter/colorscale_calc");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),a(t,e),r}},{"../scatter/arrays_to_calcdata":1117,"../scatter/colorscale_calc":1121}],1147:[function(t,e,r){"use strict";var n=t("../../registry");function a(t,e,r,a){if(!e||!e.visible)return null;for(var i=n.getComponentMethod("errorbars","makeComputeError")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=i(+t[s],s);if("log"===a.type){var c=a.c2l(t[s]),u=t[s]-l[0],h=t[s]+l[1];if(o[s]=[(a.c2l(u,!0)-c)*r,(a.c2l(h,!0)-c)*r],u>0){var f=a.c2l(u);a._lowerLogErrorBound||(a._lowerLogErrorBound=f),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[a(t.x,t.error_x,e[0],r.xaxis),a(t.y,t.error_y,e[1],r.yaxis),a(t.z,t.error_z,e[2],r.zaxis)],i=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===i)return null;for(var o=new Array(i),s=0;s<i;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{"../../registry":845}],1148:[function(t,e,r){"use strict";var n=t("gl-line3d"),a=t("gl-scatter3d"),i=t("gl-error3d"),o=t("gl-mesh3d"),s=t("delaunay-triangulate"),l=t("../../lib"),c=t("../../lib/str2rgbarray"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/make_bubble_size_func"),f=t("../../constants/gl3d_dashes"),p=t("../../constants/gl3d_markers"),d=t("../../plots/cartesian/axes"),g=t("../../components/fx/helpers").appendArrayPointValue,v=t("./calc_errors");function m(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=m.prototype;function x(t){return null==t?0:t.indexOf("left")>-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function k(t,e,r,n,a){var i=null;if(l.isArrayOrTypedArray(t)){i=[];for(var o=0;o<e;o++)void 0===t[o]?i[o]=n:i[o]=r(t[o],a)}else i=r(t,l.identity);return i}function T(t,e){var r,n,a,i,o,s,f=[],p=t.fullSceneLayout,m=t.dataScale,y=p.xaxis,T=p.yaxis,A=p.zaxis,M=e.marker,S=e.line,E=e.x||[],L=e.y||[],C=e.z||[],P=E.length,O=e.xcalendar,z=e.ycalendar,I=e.zcalendar;for(o=0;o<P;o++)r=y.d2l(E[o],0,O)*m[0],n=T.d2l(L[o],0,z)*m[1],a=A.d2l(C[o],0,I)*m[2],f[o]=[r,n,a];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(P),o=0;o<P;o++)s[o]=e.text;function D(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,P):P,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var V={x:E[o],y:L[o],z:C[o]},U={xLabel:D("xaxis",E[o]),yLabel:D("yaxis",L[o]),zLabel:D("zaxis",C[o])},q={};g(q,e,o);var H=e._meta||{};s[o]=l.texttemplateString(j(o),U,F,q,V,H)}}if(i={position:f,mode:e.mode,text:s},"line"in e&&(i.lineColor=u(S,1,P),i.lineWidth=S.width,i.lineDashes=S.dash),"marker"in e){var G=h(e);i.scatterColor=u(M,1,P),i.scatterSize=k(M.size,P,_,20,G),i.scatterMarker=k(M.symbol,P,w,"\u25cf"),i.scatterLineWidth=M.line.width,i.scatterLineColor=u(M.line,1,P),i.scatterAngle=0}"textposition"in e&&(i.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),i.textColor=u(e.textfont,1,P),i.textSize=k(e.textfont.size,P,l.identity,12),i.textFont=e.textfont.family,i.textAngle=0);var Y=["x","y","z"];for(i.project=[!1,!1,!1],i.projectScale=[1,1,1],i.projectOpacity=[1,1,1],o=0;o<3;++o){var W=e.projection[Y[o]];(i.project[o]=W.show)&&(i.projectOpacity[o]=W.opacity,i.projectScale[o]=W.scale)}i.errorBounds=v(e,m,p);var X=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],a=0;a<3;a++){var i=t[a];i&&!1!==i.copy_zstyle&&!1!==t[2].visible&&(i=t[2]),i&&i.visible&&(e[a]=i.width/2,r[a]=c(i.color),n[a]=i.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return i.errorColor=X.color,i.errorLineWidth=X.lineWidth,i.errorCapSize=X.capSize,i.delaunayAxis=e.surfaceaxis,i.delaunayColor=c(e.surfacecolor),i}function A(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),"rgb("+t.slice(0,3).map(function(t){return Math.round(255*t)})+")"}return null}y.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel="",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},y.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,h=f.solid;this.data=t;var p=T(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in f&&(h=f[p.lineDashes]),this.color=A(p.scatterColor)||A(p.lineColor),this.dataPoints=p.position,e={gl:this.scene.glplot.gl,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:h[0],dashScale:h[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=a(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:this.scene.glplot.gl,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=a(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:this.scene.glplot.gl,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=i(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,a=(r+1)%3,i=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[a])&&isFinite(c[a])&&!isNaN(c[i])&&isFinite(c[i])&&(o.push([c[a],c[i]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var h=u[n],f=0;f<h.length;++f)h[f]=l[h[f]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new m(t,e.uid);return r.update(e),r}},{"../../components/fx/helpers":626,"../../constants/gl3d_dashes":689,"../../constants/gl3d_markers":690,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"../scatter/make_bubble_size_func":1135,"./calc_errors":1147,"delaunay-triangulate":166,"gl-error3d":249,"gl-line3d":257,"gl-mesh3d":282,"gl-scatter3d":299}],1149:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,n){return a.coerce(t,e,c,r,n)}if(function(t,e,r,a){var i=0,o=r("x"),s=r("y"),l=r("z");n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],a),o&&s&&l&&(i=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=i);return i}(t,e,h,u)){h("text"),h("hovertext"),h("hovertemplate"),h("mode"),i.hasLines(e)&&(h("connectgaps"),s(t,e,r,u,h)),i.hasMarkers(e)&&o(t,e,r,u,h,{noSelect:!0}),i.hasText(e)&&(h("texttemplate"),l(t,e,u,h,{noSelect:!0}));var f=(e.line||{}).color,p=(e.marker||{}).color;h("surfaceaxis")>=0&&h("surfacecolor",f||p);for(var d=["x","y","z"],g=0;g<3;++g){var v="projection."+d[g];h(v+".show")&&(h(v+".opacity"),h(v+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,f||p||r,{axis:"z"}),m(t,e,f||p||r,{axis:"y",inherit:"z"}),m(t,e,f||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":716,"../../registry":845,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1145}],1150:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":690,"../../plots/gl3d":804,"./attributes":1145,"./calc":1146,"./convert":1148,"./defaults":1149}],1151:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,h=c.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:h.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:i()}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1152:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c<f;c++)if(u=e.a[c],h=e.b[c],n(u)&&n(h)){var g=r.ab2xy(+u,+h,!0),v=r.isVisible(+u,+h);v||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:h,vis:v}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,f),a(t,e),i(p,e),o(p,e),p}}},{"../carpet/lookup_carpetid":914,"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1153:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/constants"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}p("carpet"),e.xaxis="x",e.yaxis="y";var d=p("a"),g=p("b"),v=Math.min(d.length,g.length);if(v){e._length=v,p("text"),p("texttemplate"),p("hovertext"),p("mode",v<a.PTS_LINESONLY?"lines+markers":"lines"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&c(t,e,f,p);var m=[];(i.hasMarkers(e)||i.hasText(e))&&(p("marker.maxdisplayed"),m.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||m.push("fills"),"fills"!==p("hoveron",m.join("+")||"points")&&p("hovertemplate"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1151}],1154:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=n[a];return t.a=i.a,t.b=i.b,t.y=i.y,t}},{}],1155:[function(t,e,r){"use strict";e.exports=function(t,e){var r={},n=e._carpet,a=n.ab2ij([t.a,t.b]),i=Math.floor(a[0]),o=a[0]-i,s=Math.floor(a[1]),l=a[1]-s,c=n.evalxy([],i,s,o,l);return r.yLabel=c[1].toFixed(3),r}},{}],1156:[function(t,e,r){"use strict";var n=t("../scatter/hover"),a=t("../../lib").fillText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,h=c-u;return s.x0=Math.max(Math.min(s.x0,h),u),s.x1=Math.max(Math.min(s.x1,h),u),o}var f=s.cd[s.index];s.a=f.a,s.b=f.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,g=p._module.formatLabels(f,p);s.yLabel=g.yLabel,delete s.text;var v=[];if(!p.hovertemplate){var m=(f.hi||p.hoverinfo).split("+");-1!==m.indexOf("all")&&(m=["a","b","text"]),-1!==m.indexOf("a")&&y(d.aaxis,f.a),-1!==m.indexOf("b")&&y(d.baxis,f.b),v.push("y: "+s.yLabel),-1!==m.indexOf("text")&&a(f,p,v),s.extraText=v.join("<br>")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,v.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../../lib":716,"../scatter/hover":1129}],1157:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:t("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1151,"./calc":1152,"./defaults":1153,"./event_data":1154,"./format_labels":1155,"./hover":1156,"./plot":1158}],1158:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../plots/cartesian/axes"),i=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h={xaxis:a.getFromId(t,u.xaxis||"x"),yaxis:a.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,h,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll("g.trace"+l.uid+" .js-line"),i.setClipUrl(c,r[s][0].carpet._clipPathId,t)}},{"../../components/drawing":612,"../../plots/cartesian/axes":764,"../scatter/plot":1138}],1159:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=t("../../plot_api/edit_types").overrideAll,h=i.marker,f=i.line,p=h.line;e.exports=u({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names"],dflt:"ISO-3"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:c({},i.hovertext,{}),textfont:i.textfont,textposition:i.textposition,line:{color:f.color,width:f.width,dash:l},connectgaps:i.connectgaps,marker:c({symbol:h.symbol,opacity:h.opacity,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,colorbar:h.colorbar,line:c({width:p.width},s("marker.line")),gradient:h.gradient},s("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:i.fillcolor,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1160:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../scatter/colorscale_calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection"),l=t("../../lib")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),h=0;h<c;h++){var f=u[h]={};if(r){var p=e.locations[h];f.loc="string"==typeof p?p:null}else{var d=e.lon[h],g=e.lat[h];n(d)&&n(g)?f.lonlat=[+d,+g]:f.lonlat=[a,a]}}return o(u,e),i(t,e),s(u,e),c&&(u[0].t={labels:{lat:l(t,"lat:")+" ",lon:l(t,"lon:")+" "}}),u}},{"../../constants/numerical":692,"../../lib":716,"../scatter/arrays_to_calcdata":1117,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1161:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}!function(t,e,r){var n,a,i=0,o=r("locations");if(o)return r("locationmode"),i=o.length;return n=r("lon")||[],a=r("lat")||[],i=Math.min(n.length,a.length),e._length=i,i}(0,e,h)?e.visible=!1:(h("text"),h("hovertext"),h("hovertemplate"),h("mode"),a.hasLines(e)&&(o(t,e,r,u,h),h("connectgaps")),a.hasMarkers(e)&&i(t,e,r,u,h,{gradient:!0}),a.hasText(e)&&(h("texttemplate"),s(t,e,u,h)),h("fill"),"none"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h))}},{"../../lib":716,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1159}],1162:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1163:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.geo]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{"../../plots/cartesian/axes":764}],1164:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../constants/numerical").BADNUM,i=t("../scatter/get_trace_color"),o=t("../../lib").fillText,s=t("./attributes");e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=f.projection.isLonLatOverEdges,d=f.project;if(n.getClosest(l,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=d(n),o=d([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)},t),!1!==t.index){var g=l[t.index],v=g.lonlat,m=[u.c2p(v),h.c2p(v)],y=g.mrc||1;t.x0=m[0]-y,t.x1=m[0]+y,t.y0=m[1]-y,t.y1=m[1]+y,t.loc=g.loc,t.lon=v[0],t.lat=v[1];var x={};x[c.geo]={_subplot:f};var b=c._module.formatLabels(g,c,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=i(c,g),t.extraText=function(t,e,r,n){if(t.hovertemplate)return;var a=e.hi||t.hoverinfo,i="all"===a?s.hoverinfo.flags:a.split("+"),l=-1!==i.indexOf("location")&&Array.isArray(t.locations),c=-1!==i.indexOf("lon"),u=-1!==i.indexOf("lat"),h=-1!==i.indexOf("text"),f=[];function p(t){return t+"\xb0"}l?f.push(e.loc):c&&u?f.push("("+p(r.lonLabel)+", "+p(r.latLabel)+")"):c?f.push(n.lon+p(r.lonLabel)):u&&f.push(n.lat+p(r.latLabel));h&&o(e,t,f);return f.join("<br>")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128,"./attributes":1159}],1165:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:t("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":794,"../scatter/marker_colorbar":1136,"../scatter/style":1141,"./attributes":1159,"./calc":1160,"./defaults":1161,"./event_data":1162,"./format_labels":1163,"./hover":1164,"./plot":1166,"./select":1167,"./style":1168}],1166:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function h(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),a=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(a,c.loc,n);c.lonlat=u?u.properties.ct:[i,i]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)h(r[o],e.topojson);function s(t,e){t.lonlat[0]===i&&n.select(e).remove()}var f=e.layers.frontplot.select(".scatterlayer"),p=a.makeTraceGroups(f,r,"trace scattergeo");p.selectAll("*").remove(),p.each(function(e){var r=n.select(this),i=e[0].trace;if(c.hasLines(i)||"none"!==i.fill){var o=l.calcTraceToLineCoords(e),h="none"!==i.fill?l.makePolygon(o):l.makeLine(o);r.selectAll("path.js-line").data([{geojson:h,trace:i}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}c.hasMarkers(i)&&r.selectAll("path.point").data(a.identity).enter().append("path").classed("point",!0).each(function(t){s(t,this)}),c.hasText(i)&&r.selectAll("g").data(a.identity).enter().append("g").append("text").each(function(t){s(t,this)}),u(t,e)})}},{"../../constants/numerical":692,"../../lib":716,"../../lib/geo_location_utils":710,"../../lib/geojson_utils":711,"../../lib/topojson_utils":743,"../scatter/subtypes":1142,"./style":1168,d3:164}],1167:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,i,o,s,l,c=t.cd,u=t.xaxis,h=t.yaxis,f=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(i=(r=c[l]).lonlat)[0]!==a&&(o=u.c2p(i),s=h.c2p(i),e.contains([o,s],null,l,t)?(f.push({pointNumber:l,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0);return f}},{"../../constants/numerical":692,"../scatter/subtypes":1142}],1168:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../scatter/style"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style("opacity",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll("path.js-line").style("fill","none").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(i.stroke,o.color).call(a.dashLine,o.dash||"",o.width||0),"none"!==r.fill&&e.call(i.fill,r.fillcolor)})}(t,e)}},{"../../components/color":591,"../../components/drawing":612,"../scatter/style":1141,d3:164}],1169:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=t("./constants").DASHES,c=a.line,u=a.marker,h=u.line,f=e.exports=s({x:a.x,x0:a.x0,dx:a.dx,y:a.y,y0:a.y0,dy:a.dy,text:a.text,hovertext:a.hovertext,textposition:a.textposition,textfont:a.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:c.color,width:c.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},marker:o({},i("marker"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},i("marker.line"),{width:h.width})}),connectgaps:a.connectgaps,fill:o({},a.fill,{dflt:"none"}),fillcolor:a.fillcolor,selected:{marker:a.selected.marker,textfont:a.selected.textfont},unselected:{marker:a.unselected.marker,textfont:a.unselected.textfont},opacity:n.opacity},"calc","nested");f.x.editType=f.y.editType=f.x0.editType=f.y0.editType="calc+clearAxisTypes",f.hovertemplate=a.hovertemplate,f.texttemplate=a.texttemplate},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../scatter/attributes":1118,"./constants":1171}],1170:[function(t,e,r){"use strict";var n=t("point-cluster"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids"),o=t("../../plots/cartesian/autorange").findExtremes,s=t("../scatter/calc"),l=s.calcMarkerSize,c=s.calcAxisExpansion,u=s.setFirstScatter,h=t("../scatter/colorscale_calc"),f=t("./convert"),p=t("./scene_update"),d=t("../../constants/numerical").BADNUM,g=t("./constants").TOO_MANY_POINTS;function v(t,e,r){var n=t._extremes[e._id],a=o(e,r._bnds,{padded:!0});n.min=n.min.concat(a.min),n.max=n.max.concat(a.max)}e.exports=function(t,e){var r,o,s,m=t._fullLayout,y=i.getFromId(t,e.xaxis),x=i.getFromId(t,e.yaxis),b=m._plots[e.xaxis+e.yaxis],_=e._length,w=_>=g,k=2*_,T={},A=e._x=y.makeCalcdata(e,"x"),M=e._y=x.makeCalcdata(e,"y"),S=new Array(k);for(r=0;r<_;r++)o=A[r],s=M[r],S[2*r]=o===d?NaN:o,S[2*r+1]=s===d?NaN:s;if("log"===y.type)for(r=0;r<k;r+=2)S[r]=y.c2l(S[r]);if("log"===x.type)for(r=1;r<k;r+=2)S[r]=x.c2l(S[r]);if(w&&"log"!==y.type&&"log"!==x.type)T.tree=n(S);else{var E=T.ids=new Array(_);for(r=0;r<_;r++)E[r]=r}h(t,e);var L,C=function(t,e,r,n,i,o){var s=f.style(t,r);s.marker&&(s.marker.positions=n);s.line&&n.length>1&&a.extendFlat(s.line,f.linePositions(t,r,n));if(s.errorX||s.errorY){var l=f.errorBarPositions(t,r,n,i,o);s.errorX&&a.extendFlat(s.errorX,l.x),s.errorY&&a.extendFlat(s.errorY,l.y)}s.text&&(a.extendFlat(s.text,{positions:n},f.textPosition(t,r,s.text,s.marker)),a.extendFlat(s.textSel,{positions:n},f.textPosition(t,r,s.text,s.markerSel)),a.extendFlat(s.textUnsel,{positions:n},f.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,S,A,M),P=p(t,b);return u(m,e),w?C.marker&&(L=2*(C.marker.sizeAvg||Math.max(C.marker.size,3))):L=l(e,_),c(t,e,y,x,A,M,L),C.errorX&&v(e,y,C.errorX),C.errorY&&v(e,x,C.errorY),C.fill&&!P.fill2d&&(P.fill2d=!0),C.marker&&!P.scatter2d&&(P.scatter2d=!0),C.line&&!P.line2d&&(P.line2d=!0),!C.errorX&&!C.errorY||P.error2d||(P.error2d=!0),C.text&&!P.glText&&(P.glText=!0),C.marker&&(C.marker.snap=_),P.lineOptions.push(C.line),P.errorXOptions.push(C.errorX),P.errorYOptions.push(C.errorY),P.fillOptions.push(C.fill),P.markerOptions.push(C.marker),P.markerSelectedOptions.push(C.markerSel),P.markerUnselectedOptions.push(C.markerUnsel),P.textOptions.push(C.text),P.textSelectedOptions.push(C.textSel),P.textUnselectedOptions.push(C.textUnsel),P.selectBatch.push([]),P.unselectBatch.push([]),T._scene=P,T.index=P.count,T.x=A,T.y=M,T.positions=S,P.count++,[{x:!1,y:!1,t:T,trace:e}]}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/autorange":763,"../../plots/cartesian/axis_ids":767,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"./constants":1171,"./convert":1172,"./scene_update":1179,"point-cluster":470}],1171:[function(t,e,r){"use strict";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1172:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("svg-path-sdf"),i=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/subtypes"),f=t("../scatter/make_bubble_size_func"),p=t("./constants"),d=t("../../constants/interactions").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t("../../components/fx/helpers").appendArrayPointValue;function m(t,e){var r,a=t._fullLayout,i=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,h=o.size,f=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=a._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,i):i,x=m?function(t){return d[t]}:function(){return d};for(r=0;r<y;r++){var b={i:r},_=e._module.formatLabels(b,e,a),w={};v(w,e,r);var k=e._meta||{};p.text.push(s.texttemplateString(x(r),_,g,w,b,k))}}else Array.isArray(e.text)&&e.text.length<i?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<i;r++)p.text[r]="";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<c.length;r++){var T=c[r].split(/\s+/);switch(T[1]){case"left":p.align.push("right");break;case"right":p.align.push("left");break;default:p.align.push(T[1])}switch(T[0]){case"top":p.baseline.push("bottom");break;case"bottom":p.baseline.push("top");break;default:p.baseline.push(T[0])}}if(Array.isArray(u))for(p.color=new Array(i),r=0;r<i;r++)p.color[r]=u[r];else p.color=u;if(Array.isArray(h)||Array.isArray(f))for(p.font=new Array(i),r=0;r<i;r++){var A=p.font[r]={};A.size=Array.isArray(h)?n(h[r])?h[r]:0:h,A.family=Array.isArray(f)?f[r]:f}else p.font={size:h,family:f};return p}function y(t){var e,r,n=t._length,a=t.marker,o={},l=Array.isArray(a.symbol),c=s.isArrayOrTypedArray(a.color),h=s.isArrayOrTypedArray(a.line.color),d=s.isArrayOrTypedArray(a.opacity),g=s.isArrayOrTypedArray(a.size),v=s.isArrayOrTypedArray(a.line.width);if(l||(r=p.OPEN_RE.test(a.symbol)),l||c||h||d){o.colors=new Array(n),o.borderColors=new Array(n);var m=u(a,a.opacity,n),y=u(a.line,a.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(m[0])){var b=m;for(m=Array(n),e=0;e<n;e++)m[e]=b}for(o.colors=m,o.borderColors=y,e=0;e<n;e++){if(l){var _=a.symbol[e];r=p.OPEN_RE.test(_)}r&&(y[e]=m[e].slice(),m[e]=m[e].slice(),m[e][3]=0)}o.opacity=t.opacity}else r?(o.color=i(a.color,"uint8"),o.color[3]=0,o.borderColor=i(a.color,"uint8")):(o.color=i(a.color,"uint8"),o.borderColor=i(a.line.color,"uint8")),o.opacity=t.opacity*a.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=S(a.symbol[e]);else o.marker=S(a.symbol);var w,k=f(t);if(g||v){var T,A=o.sizes=new Array(n),M=o.borderSizes=new Array(n),E=0;if(g){for(e=0;e<n;e++)A[e]=k(a.size[e]),E+=A[e];T=E/n}else for(w=k(a.size),e=0;e<n;e++)A[e]=w;if(v)for(e=0;e<n;e++)M[e]=a.line.width[e]/2;else for(w=a.line.width/2,e=0;e<n;e++)M[e]=w;o.sizeAvg=T}else o.size=k(a&&a.size||10),o.borderSizes=k(a.line.width);return o}function x(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=y(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function b(t,e,r){var n={};if(!r)return n;if(r.textfont){var a={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(a.textfont,r.textfont),n=m(t,a)}return n}function _(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var w=p.SYMBOL_SDF_SIZE,k=p.SYMBOL_SIZE,T=p.SYMBOL_STROKE,A={},M=l.symbolFuncs[0](.05*k);function S(t){if("circle"===t)return null;var e,r,n=l.symbolNumber(t),i=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.DOT_RE.test(t);return A[t]?A[t]:(e=c&&!o?i(1.1*k)+M:i(k),r=a(e,{w:w,h:w,viewBox:[-k,-k,k,k],stroke:s?T:-T}),A[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(h.hasText(e)&&(n.text=m(t,e),n.textSel=b(t,e,e.selected),n.textUnsel=b(t,e,e.unselected)),h.hasMarkers(e)&&(n.marker=y(e),n.markerSel=x(e,e.selected),n.markerUnsel=x(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var a=e.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=d*a[r]}if(h.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var i=(p.DASHES[e.line.dash]||[1]).slice();for(r=0;r<i.length;++r)i[r]*=e.line.width;n.line.dashes=i}return e.error_x&&e.error_x.visible&&(n.errorX=_(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=_(e,e.error_y)),e.fill&&"none"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:y,markerSelection:x,linePositions:function(t,e,r){var n,a,i=r.length,o=i/2;if(h.hasLines(e)&&o)if("hv"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a+2],r[2*a+1]));n.push(r[i-2],r[i-1])}else if("hvh"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var s=(r[2*a]+r[2*a+2])/2;n.push(r[2*a],r[2*a+1],s,r[2*a+1],s,r[2*a+3])}n.push(r[i-2],r[i-1])}else if("vhv"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var l=(r[2*a+1]+r[2*a+3])/2;n.push(r[2*a],r[2*a+1],r[2*a],l,r[2*a+2],l)}n.push(r[i-2],r[i-1])}else if("vh"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+3]));n.push(r[i-2],r[i-1])}else n=r;var c=!1;for(a=0;a<n.length;a++)if(isNaN(n[a])){c=!0;break}var u=c||n.length>p.TOO_MANY_POINTS?"rect":h.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var f=n[0],d=n[1];for(a=0;a<n.length;a+=2)isNaN(n[a])||isNaN(n[a+1])?(n[a]=f,n[a+1]=d):(f=n[a],d=n[a+1])}return{join:u,positions:n}},errorBarPositions:function(t,e,r,a,i){var s=o.getComponentMethod("errorbars","makeComputeError"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),h=r.length/2,f={};function p(t,a){var i=a._id.charAt(0),o=e["error_"+i];if(o&&o.visible&&("linear"===a.type||"log"===a.type)){for(var l=s(o),c={x:0,y:1}[i],u={x:[0,1,2,3],y:[2,3,0,1]}[i],p=new Float64Array(4*h),d=1/0,g=-1/0,v=0,m=0;v<h;v++,m+=4){var y=t[v];if(n(y)){var x=r[2*v+c],b=l(y,v),_=b[0],w=b[1];if(n(_)&&n(w)){var k=y-_,T=y+w;p[m+u[0]]=x-a.c2l(k),p[m+u[1]]=a.c2l(T)-x,p[m+u[2]]=0,p[m+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}f[i]={positions:r,errors:p,_bnds:[d,g]}}}return p(a,l),p(i,u),f},textPosition:function(t,e,r,n){var a,i=e._length,o={};if(h.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(i),a=0;a<i;a++){var u=n.sizes?n.sizes[a]:n.size,f=Array.isArray(s)?s[a].size:s.size,p=Array.isArray(l)?l.length>1?l[a]:l[0]:l,d=Array.isArray(c)?c.length>1?c[a]:c[0]:c,v=g[p],m=g[d],y=u?u/.8+1:0,x=-m*y-.5*m;o.offset[a]=[v*y/f,x/f]}}return o}}},{"../../components/drawing":612,"../../components/fx/helpers":626,"../../constants/interactions":691,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../scatter/make_bubble_size_func":1135,"../scatter/subtypes":1142,"./constants":1171,"color-normalize":121,"fast-isnumeric":227,"svg-path-sdf":533}],1173:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../scatter/constants"),s=t("../scatter/subtypes"),l=t("../scatter/xy_defaults"),c=t("../scatter/marker_defaults"),u=t("../scatter/line_defaults"),h=t("../scatter/fillcolor_defaults"),f=t("../scatter/text_defaults");e.exports=function(t,e,r,p){function d(r,a){return n.coerce(t,e,i,r,a)}var g=!!t.marker&&/-open/.test(t.marker.symbol),v=s.isBubble(t),m=l(t,e,p,d);if(m){var y=m<o.PTS_LINESONLY?"lines+markers":"lines";d("text"),d("hovertext"),d("hovertemplate"),d("mode",y),s.hasLines(e)&&(d("connectgaps"),u(t,e,r,p,d),d("line.shape")),s.hasMarkers(e)&&(c(t,e,r,p,d),d("marker.line.width",g||v?1:0)),s.hasText(e)&&(d("texttemplate"),f(t,e,p,d));var x=(e.line||{}).color,b=(e.marker||{}).color;d("fill"),"none"!==e.fill&&h(t,e,r,d);var _=a.getComponentMethod("errorbars","supplyDefaults");_(t,e,x||b||r,{axis:"y"}),_(t,e,x||b||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{"../../lib":716,"../../registry":845,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"../scatter/xy_defaults":1144,"./attributes":1169}],1174:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../constants/interactions").DESELECTDIM;e.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],f=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},g=c.textUnselectedOptions[u]||{},v=n.extendFlat({},p);if(h.length||f.length){var m=d.color,y=g.color,x=p.color,b=Array.isArray(x);for(v.color=new Array(s._length),e=0;e<h.length;e++)r=h[e],v.color[r]=m||(b?x[r]:x);for(e=0;e<f.length;e++){r=f[e];var _=b?x[r]:x;v.color[r]=y||(m?_:a.addOpacity(_,i))}}c.glText[u].update(v)}}},{"../../components/color":591,"../../constants/interactions":691,"../../lib":716}],1175:[function(t,e,r){"use strict";var n=t("../scatter/format_labels");e.exports=function(t,e,r){var a=t.i;return"x"in t||(t.x=e._x[a]),"y"in t||(t.y=e._y[a]),n(t,e,r)}},{"../scatter/format_labels":1127}],1176:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../scatter/get_trace_color");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=Array.isArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=Array.isArray(p.size)?p.size[h]:p.size,f.tc=Array.isArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family);var d=o.marker;d&&(f.ms=a.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=a.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=Array.isArray(d.symbol)?d.symbol[h]:d.symbol,f.mc=a.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var g=d&&d.line;g&&(f.mlc=Array.isArray(g.color)?g.color[h]:g.color,f.mlw=a.isArrayOrTypedArray(g.width)?g.width[h]:g.width);var v=d&&d.gradient;v&&"none"!==v.type&&(f.mgt=Array.isArray(v.type)?v.type[h]:v.type,f.mgc=Array.isArray(v.color)?v.color[h]:v.color);var m=s.c2p(f.x,!0),y=l.c2p(f.y,!0),x=f.mrc||1,b=o.hoverlabel;b&&(f.hbg=Array.isArray(b.bgcolor)?b.bgcolor[h]:b.bgcolor,f.hbc=Array.isArray(b.bordercolor)?b.bordercolor[h]:b.bordercolor,f.hts=Array.isArray(b.font.size)?b.font.size[h]:b.font.size,f.htc=Array.isArray(b.font.color)?b.font.color[h]:b.font.color,f.htf=Array.isArray(b.font.family)?b.font.family[h]:b.font.family,f.hnl=Array.isArray(b.namelength)?b.namelength[h]:b.namelength);var _=o.hoverinfo;_&&(f.hi=Array.isArray(_)?_[h]:_);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var k={};k[t.index]=f;var T=a.extendFlat({},t,{color:i(o,f),x0:m-x,x1:m+x,xLabelVal:f.x,y0:y-x,y1:y+x,yLabelVal:f.y,cd:k,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?T.text=f.htx:f.tx?T.text=f.tx:o.text&&(T.text=o.text),a.fillText(f,o,T),n.getComponentMethod("errorbars","hoverInfo")(f,o,T),T}e.exports={hoverPoints:function(t,e,r,n){var a,i,s,l,c,u,h,f,p,d=t.cd,g=d[0].t,v=d[0].trace,m=t.xa,y=t.ya,x=g.x,b=g.y,_=m.c2p(e),w=y.c2p(r),k=t.distance;if(g.tree){var T=m.p2c(_-k),A=m.p2c(_+k),M=y.p2c(w-k),S=y.p2c(w+k);a="x"===n?g.tree.range(Math.min(T,A),Math.min(y._rl[0],y._rl[1]),Math.max(T,A),Math.max(y._rl[0],y._rl[1])):g.tree.range(Math.min(T,A),Math.min(M,S),Math.max(T,A),Math.max(M,S))}else a=g.ids;var E=k;if("x"===n)for(c=0;c<a.length;c++)s=x[a[c]],(u=Math.abs(m.c2p(s)-_))<E&&(E=u,h=y.c2p(b[a[c]])-w,p=Math.sqrt(u*u+h*h),i=a[c]);else for(c=a.length-1;c>-1;c--)s=x[a[c]],l=b[a[c]],u=m.c2p(s)-_,h=y.c2p(l)-w,(f=Math.sqrt(u*u+h*h))<E&&(E=p=f,i=a[c]);return t.index=i,t.distance=E,t.dxy=p,void 0===i?[t]:[o(t,x,b,v)]},calcHover:o}},{"../../lib":716,"../../registry":845,"../scatter/get_trace_color":1128}],1177:[function(t,e,r){"use strict";var n=t("./hover");e.exports={moduleType:"trace",name:"scattergl",basePlotModule:t("../../plots/cartesian"),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../scatter/cross_trace_defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:n.hoverPoints,selectPoints:t("./select"),meta:{}}},{"../../plots/cartesian":775,"../scatter/cross_trace_defaults":1124,"../scatter/marker_colorbar":1136,"./attributes":1169,"./calc":1170,"./defaults":1173,"./format_labels":1175,"./hover":1176,"./plot":1178,"./select":1180}],1178:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),a=t("regl-line2d"),i=t("regl-error2d"),o=t("gl-text"),s=t("../../lib"),l=t("../../lib/prepare_regl"),c=t("../scatter/subtypes"),u=t("../scatter/link_traces"),h=t("./edit_style").styleTextSelection;e.exports=function(t,e,r){if(r.length){var f,p,d=t._fullLayout,g=e._scene,v=e.xaxis,m=e.yaxis;if(g)if(l(t,["ANGLE_instanced_arrays","OES_element_index_uint"])){var y=g.count,x=d._glcanvas.data()[0].regl;if(u(t,e,r),g.dirty){if(!0===g.error2d&&(g.error2d=i(x)),!0===g.line2d&&(g.line2d=a(x)),!0===g.scatter2d&&(g.scatter2d=n(x)),!0===g.fill2d&&(g.fill2d=a(x)),!0===g.glText)for(g.glText=new Array(y),f=0;f<y;f++)g.glText[f]=new o(x);if(g.glText){if(y>g.glText.length){var b=y-g.glText.length;for(f=0;f<b;f++)g.glText.push(new o(x))}else if(y<g.glText.length){var _=g.glText.length-y;g.glText.splice(y,_).forEach(function(t){t.destroy()})}for(f=0;f<y;f++)g.glText[f].update(g.textOptions[f])}if(g.line2d&&(g.line2d.update(g.lineOptions),g.lineOptions=g.lineOptions.map(function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t}),g.line2d.update(g.lineOptions)),g.error2d){var w=(g.errorXOptions||[]).concat(g.errorYOptions||[]);g.error2d.update(w)}g.scatter2d&&g.scatter2d.update(g.markerOptions),g.fillOrder=s.repeat(null,y),g.fill2d&&(g.fillOptions=g.fillOptions.map(function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var a,i,o=n[0],s=o.trace,l=o.t,c=g.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(g.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(h=0;h<d.length&&isNaN(d[h+1]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if("tozerox"===s.fill){for(h=0;h<d.length&&isNaN(d[h]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],a=0,i=0;i<d.length;i+=2)(isNaN(d[i])||isNaN(d[i+1]))&&((p=p.concat(d.slice(a,i))).push(d[a],d[a+1]),a=i+2);p=p.concat(d.slice(a)),a&&p.push(d[a],d[a+1])}else{var v=s._nexttrace;if(v){var m=g.lineOptions[e+1];if(m){var y=m.positions;if("tonexty"===s.fill){for(p=d.slice(),e=Math.floor(y.length/2);e--;){var x=y[2*e],b=y[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=v.fillcolor}}}}if(s._prevtrace&&"tonext"===s._prevtrace.fill){var _=g.lineOptions[e-1].positions,w=p.length/2,k=[a=w];for(i=0;i<_.length;i+=2)(isNaN(_[i])||isNaN(_[i+1]))&&(k.push(i/2+w+1),a=i+2);p=p.concat(_),t.hole=k}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}}),g.fill2d.update(g.fillOptions))}var k=d.dragmode,T="lasso"===k||"select"===k,A=d.clickmode.indexOf("select")>-1;for(f=0;f<y;f++){var M=r[f][0],S=M.trace,E=M.t,L=E.index,C=S._length,P=E.x,O=E.y;if(S.selectedpoints||T||A){if(T||(T=!0),S.selectedpoints){var z=g.selectBatch[L]=s.selIndices2selPoints(S),I={};for(p=0;p<z.length;p++)I[z[p]]=1;var D=[];for(p=0;p<C;p++)I[p]||D.push(p);g.unselectBatch[L]=D}var R=E.xpx=new Array(C),F=E.ypx=new Array(C);for(p=0;p<C;p++)R[p]=v.c2p(P[p]),F[p]=m.c2p(O[p])}else E.xpx=E.ypx=null}if(T){if(g.select2d||(g.select2d=n(d._glcanvas.data()[1].regl)),g.scatter2d){var B=new Array(y);for(f=0;f<y;f++)B[f]=g.selectBatch[f].length||g.unselectBatch[f].length?g.markerUnselectedOptions[f]:{};g.scatter2d.update(B)}g.select2d&&(g.select2d.update(g.markerOptions),g.select2d.update(g.markerSelectedOptions)),g.glText&&r.forEach(function(t){var e=((t||[])[0]||{}).trace||{};c.hasText(e)&&h(t)})}else g.scatter2d&&g.scatter2d.update(g.markerOptions);var N={viewport:function(t,e,r){var n=t._size,a=t.width,i=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,a-n.r-(1-e.domain[1])*n.w,i-n.t-(1-r.domain[1])*n.h]}(d,v,m),range:[(v._rl||v.range)[0],(m._rl||m.range)[0],(v._rl||v.range)[1],(m._rl||m.range)[1]]},j=s.repeat(N,g.count);g.fill2d&&g.fill2d.update(j),g.line2d&&g.line2d.update(j),g.error2d&&g.error2d.update(j.concat(j)),g.scatter2d&&g.scatter2d.update(j),g.select2d&&g.select2d.update(j),g.glText&&g.glText.forEach(function(t){t.update(N)})}else g.init()}}},{"../../lib":716,"../../lib/prepare_regl":729,"../scatter/link_traces":1134,"../scatter/subtypes":1142,"./edit_style":1174,"gl-text":318,"regl-error2d":491,"regl-line2d":492,"regl-scatter2d":498}],1179:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=e._scene,a={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},i={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,i,a)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var a=0;a<r.count;a++)r.glText[a].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,a=r.error2d,i=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,c=r.selectBatch,u=r.unselectBatch,h=0;h<t;h++){if(e&&r.fillOrder[h]&&e.draw(r.fillOrder[h]),i&&r.lineOptions[h]&&i.draw(h),a&&(r.errorXOptions[h]&&a.draw(h),r.errorYOptions[h]&&a.draw(h+t)),o&&r.markerOptions[h])if(u[h].length){var f=n.repeat([],r.count);f[h]=u[h],o.draw(f)}else c[h].length||o.draw(h);s[h]&&r.textOptions[h]&&s[h].render()}l&&l.draw(c),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach(function(t){t.destroy&&t.destroy()}),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,a),r}},{"../../lib":716}],1180:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),a=t("./edit_style").styleTextSelection;e.exports=function(t,e){var r=t.cd,i=[],o=r[0].trace,s=r[0].t,l=o._length,c=s.x,u=s.y,h=s._scene,f=s.index;if(!h)return i;var p=n.hasText(o),d=n.hasMarkers(o),g=!d&&!p;if(!0!==o.visible||g)return i;var v=[],m=[];if(!1!==e&&!e.degenerate)for(var y=0;y<l;y++)e.contains([s.xpx[y],s.ypx[y]],!1,y,t)?(v.push(y),i.push({pointNumber:y,x:c[y],y:u[y]})):m.push(y);if(d){var x=h.scatter2d;if(v.length||m.length){if(!h.selectBatch[f].length&&!h.unselectBatch[f].length){var b=new Array(h.count);b[f]=h.markerUnselectedOptions[f],x.update.apply(x,b)}}else{var _=new Array(h.count);_[f]=h.markerOptions[f],x.update.apply(x,_)}}return h.selectBatch[f]=v,h.unselectBatch[f]=m,p&&a(r),i}},{"../scatter/subtypes":1142,"./edit_style":1174}],1181:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scattergeo/attributes"),o=t("../scatter/attributes"),s=t("../../plots/mapbox/layout_attributes"),l=t("../../plots/attributes"),c=t("../../components/colorscale/attributes"),u=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll,f=i.line,p=i.marker;e.exports=h({lon:i.lon,lat:i.lat,mode:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:a({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:u({},o.hovertext,{}),line:{color:f.color,width:f.width},connectgaps:o.connectgaps,marker:u({symbol:{valType:"string",dflt:"circle",arrayOk:!0},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},c("marker")),fill:i.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:"string"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:u({},l.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/mapbox/layout_attributes":821,"../../plots/template_attributes":840,"../scatter/attributes":1118,"../scattergeo/attributes":1159}],1182:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM,o=t("../../lib/geojson_utils"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../scatter/make_bubble_size_func"),u=t("../scatter/subtypes"),h=t("../../plots/mapbox/convert_text_opts"),f=t("../../components/fx/helpers").appendArrayPointValue,p=t("../../lib/svg_text_utils").NEWLINES,d=t("../../lib/svg_text_utils").BR_TAG_ALL;function g(){return{geojson:o.makeBlank(),layout:{visibility:"none"},paint:{}}}function v(t){return a.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:m}function m(){return""}function y(t){return t[0]===i}e.exports=function(t,e){var r,i=e[0].trace,x=!0===i.visible&&0!==i._length,b="none"!==i.fill,_=u.hasLines(i),w=u.hasMarkers(i),k=u.hasText(i),T=w&&"circle"===i.marker.symbol,A=w&&"circle"!==i.marker.symbol,M=g(),S=g(),E=g(),L=g(),C={fill:M,line:S,circle:E,symbol:L};if(!x)return C;if((b||_)&&(r=o.calcTraceToLineCoords(e)),b&&(M.geojson=o.makePolygon(r),M.layout.visibility="visible",a.extendFlat(M.paint,{"fill-color":i.fillcolor})),_&&(S.geojson=o.makeLine(r),S.layout.visibility="visible",a.extendFlat(S.paint,{"line-width":i.line.width,"line-color":i.line.color,"line-opacity":i.opacity})),T){var P=function(t){var e,r,i,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=a.isArrayOrTypedArray(h.color),d=a.isArrayOrTypedArray(h.size),g=a.isArrayOrTypedArray(h.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(h):a.identity);d&&(i=c(u));g&&(o=function(t){var e=n(t)?+a.constrain(t,0,1):0;return v(e)});var m,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!y(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),i&&(w.mrc=b.mrc=i(b.ms)),o&&(w.mo=o(b.mo)),f&&(w.selected=b.selected||0),x.push({type:"Feature",geometry:{type:"Point",coordinates:_},properties:w})}}if(f)for(m=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;m.selectedOpacityFn&&(k.mo=v(m.selectedOpacityFn(k))),m.selectedColorFn&&(k.mcc=m.selectedColorFn(k)),m.selectedSizeFn&&(k.mrc=m.selectedSizeFn(k))}return{geojson:{type:"FeatureCollection",features:x},mcc:p||m&&m.selectedColorFn?{type:"identity",property:"mcc"}:h.color,mrc:d||m&&m.selectedSizeFn?{type:"identity",property:"mrc"}:(T=h.size,T/2),mo:g||m&&m.selectedOpacityFn?{type:"identity",property:"mo"}:v(h.opacity)};var T}(e);E.geojson=P.geojson,E.layout.visibility="visible",a.extendFlat(E.paint,{"circle-color":P.mcc,"circle-radius":P.mrc,"circle-opacity":P.mo})}if((A||k)&&(L.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,i=(n.marker||{}).symbol,o="circle"!==i?v(i):m,s=u.hasText(n)?v(n.text):m,l=[],c=0;c<t.length;c++){var h=t[c];if(!y(h.lonlat)){var g,x=n.texttemplate;if(x){var b=Array.isArray(x)?x[c]||"":x,_=n._module.formatLabels(h,n,r),w={};f(w,n,h.i);var k=n._meta||{};g=a.texttemplateString(b,_,r._d3locale,w,h,k)}else g=s(h.tx);g&&(g=g.replace(p,"").replace(d,"\n")),l.push({type:"Feature",geometry:{type:"Point",coordinates:h.lonlat},properties:{symbol:o(h.mx),text:g}})}}return{type:"FeatureCollection",features:l}}(e,t),a.extendFlat(L.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),A&&(a.extendFlat(L.layout,{"icon-size":i.marker.size/10}),a.extendFlat(L.paint,{"icon-opacity":i.opacity*i.marker.opacity,"icon-color":i.marker.color})),k)){var O=(i.marker||{}).size,z=h(i.textposition,O);a.extendFlat(L.layout,{"text-size":i.textfont.size,"text-anchor":z.anchor,"text-offset":z.offset}),a.extendFlat(L.paint,{"text-color":i.textfont.color,"text-opacity":i.opacity})}return C}},{"../../components/colorscale":603,"../../components/drawing":612,"../../components/fx/helpers":626,"../../constants/numerical":692,"../../lib":716,"../../lib/geojson_utils":711,"../../lib/svg_text_utils":740,"../../plots/mapbox/convert_text_opts":818,"../scatter/make_bubble_size_func":1135,"../scatter/subtypes":1142,"fast-isnumeric":227}],1183:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}if(function(t,e,r){var n=r("lon")||[],a=r("lat")||[],i=Math.min(n.length,a.length);return e._length=i,i}(0,e,h)){if(h("text"),h("texttemplate"),h("hovertext"),h("hovertemplate"),h("mode"),h("below"),a.hasLines(e)&&(o(t,e,r,u,h,{noDash:!0}),h("connectgaps")),a.hasMarkers(e)){i(t,e,r,u,h,{noLine:!0});var f=e.marker;"circle"!==f.symbol&&(n.isArrayOrTypedArray(f.size)&&(f.size=f.size[0]),n.isArrayOrTypedArray(f.color)&&(f.color=f.color[0]))}a.hasText(e)&&s(t,e,u,h,{noSelect:!0}),h("fill"),"none"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{"../../lib":716,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1181}],1184:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1185:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{"../../plots/cartesian/axes":764}],1186:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../scatter/get_trace_color"),o=a.fillText,s=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=a.modHalf(e[0],360),i=e[1],o=f.project([n,i]),l=o.x-u.c2p([d,i]),c=o.y-h.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],v=g.lonlat,m=[a.modHalf(v[0],360)+p,v[1]],y=u.c2p(m),x=h.c2p(m),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:f};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=i(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split("+"),a=-1!==n.indexOf("all"),i=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}a||i&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):i?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("<br>")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128}],1187:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("../scattergeo/calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":819,"../scatter/marker_colorbar":1136,"../scattergeo/calc":1160,"./attributes":1181,"./defaults":1183,"./event_data":1184,"./format_labels":1185,"./hover":1186,"./plot":1188,"./select":1189}],1188:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix,i=["fill","line","circle","symbol"];function o(t,e){this.type="scattermapbox",this.subplot=t,this.uid=e,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,a,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup["trace-"+this.uid];if(c!==this.below){for(e=i.length-1;e>=0;e--)r=i[e],s.removeLayer(this.layerIds[r]);for(e=0;e<i.length;e++)a=l[r=i[e]],this.addLayer(r,a,c);this.below=c}for(e=0;e<i.length;e++)a=l[r=i[e]],o.setOptions(this.layerIds[r],"setLayoutProperty",a.layout),"visible"===a.layout.visibility&&(this.setSourceData(r,a),o.setOptions(this.layerIds[r],"setPaintProperty",a.paint));t[0].trace._glTrace=this},s.dispose=function(){for(var t=this.subplot.map,e=i.length-1;e>=0;e--){var r=i[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,a=new o(t,r.uid),s=n(t.gd,e),l=a.below=t.belowLookup["trace-"+r.uid],c=0;c<i.length;c++){var u=i[c],h=s[u];a.addSource(u,h),a.addLayer(u,h,l)}return e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":817,"./convert":1182}],1189:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!a.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var h=o[r],f=h.lonlat;if(f[0]!==i){var p=[n.modHalf(f[0],360),f[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:f[0],lat:f[1]}),h.selected=1):h.selected=0}}return c}},{"../../constants/numerical":692,"../../lib":716,"../scatter/subtypes":1142}],1190:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../lib/extend").extendFlat,o=t("../scatter/attributes"),s=t("../../plots/attributes"),l=o.line;e.exports={mode:o.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:a({editType:"plot"},{keys:["r","theta","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:i({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:i({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:i({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:i({},s.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1191:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../plots/cartesian/axes"),o=t("../scatter/colorscale_calc"),s=t("../scatter/arrays_to_calcdata"),l=t("../scatter/calc_selection"),c=t("../scatter/calc").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,h=r[u].radialaxis,f=r[u].angularaxis,p=h.makeCalcdata(e,"r"),d=f.makeCalcdata(e,"theta"),g=e._length,v=new Array(g),m=0;m<g;m++){var y=p[m],x=d[m],b=v[m]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=a}var _=c(e,g);return e._extremes.x=i.findExtremes(h,p,{ppad:_}),o(t,e),s(v,e),l(v,e),v}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764,"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1192:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/line_shape_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,h=t("./attributes");function f(t,e,r,n){var a,i=n("r"),o=n("theta");if(i)o?a=Math.min(i.length,o.length):(a=i.length,n("theta0"),n("dtheta"));else{if(!o)return 0;a=e.theta.length,n("r0"),n("dr")}return e._length=a,a}e.exports={handleRThetaDefaults:f,supplyDefaults:function(t,e,r,p){function d(r,a){return n.coerce(t,e,h,r,a)}var g=f(0,e,0,d);if(g){d("thetaunit"),d("mode",g<u?"lines+markers":"lines"),d("text"),d("hovertext"),"fills"!==e.hoveron&&d("hovertemplate"),a.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d("connectgaps")),a.hasMarkers(e)&&i(t,e,r,p,d,{gradient:!0}),a.hasText(e)&&(d("texttemplate"),l(t,e,p,d));var v=[];(a.hasMarkers(e)||a.hasText(e))&&(d("cliponaxis"),d("marker.maxdisplayed"),v.push("points")),d("fill"),"none"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||s(t,e,d)),"tonext"!==e.fill&&"toself"!==e.fill||v.push("fills"),d("hoveron",v.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1190}],1193:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i,o,s={},l=r[e.subplot]._subplot;l?(i=l.radialAxis,o=l.angularAxis):(i=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var c=i.c2l(t.r);s.rLabel=a.tickText(i,c,!0).text;var u="degrees"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=a.tickText(o,u,!0).text,s}},{"../../lib":716,"../../plots/cartesian/axes":764}],1194:[function(t,e,r){"use strict";var n=t("../scatter/hover");function a(t,e,r,n){var a=r.radialAxis,i=r.angularAxis;a._hovertitle="r",i._hovertitle="\u03b8";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+": "+e)}if(!e.hovertemplate){var h=l.split("+");-1!==h.indexOf("all")&&(h=["r","theta","text"]),-1!==h.indexOf("r")&&u(a,n.rLabel),-1!==h.indexOf("theta")&&u(i,n.thetaLabel),-1!==h.indexOf("text")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join("<br>")}}e.exports={hoverPoints:function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,a(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:a}},{"../scatter/hover":1129}],1195:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":828,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1190,"./calc":1191,"./defaults":1192,"./format_labels":1193,"./hover":1194,"./plot":1196}],1196:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var i=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],h=0;h<u.length;h++){var f=u[h],p=f.r;if(p===a)f.x=f.y=a;else{var d=s.c2g(p),g=l.c2g(f.theta);f.x=d*Math.cos(g),f.y=d*Math.sin(g)}}n(t,o,r,i)}},{"../../constants/numerical":692,"../scatter/plot":1138}],1197:[function(t,e,r){"use strict";var n=t("../scatterpolar/attributes"),a=t("../scattergl/attributes"),i=t("../../plots/template_attributes").texttemplateAttrs;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:i({editType:"plot"},{keys:["r","theta","text"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:a.line,connectgaps:a.connectgaps,marker:a.marker,fill:a.fill,fillcolor:a.fillcolor,textposition:a.textposition,textfont:a.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{"../../plots/template_attributes":840,"../scattergl/attributes":1169,"../scatterpolar/attributes":1190}],1198:[function(t,e,r){"use strict";var n=t("../scatter/colorscale_calc"),a=t("../scatter/calc").calcMarkerSize,i=t("../scattergl/convert"),o=t("../../plots/cartesian/axes"),s=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r=t._fullLayout,l=e.subplot,c=r[l].radialaxis,u=r[l].angularaxis,h=e._r=c.makeCalcdata(e,"r"),f=e._theta=u.makeCalcdata(e,"theta"),p=e._length,d={};p<h.length&&(h=h.slice(0,p)),p<f.length&&(f=f.slice(0,p)),d.r=h,d.theta=f,n(t,e);var g,v=d.opts=i.style(t,e);return p<s?g=a(e,p):v.marker&&(g=2*(v.marker.sizeAvg||Math.max(v.marker.size,3))),e._extremes.x=o.findExtremes(c,h,{ppad:g}),[{x:!1,y:!1,t:d,trace:e}]}},{"../../plots/cartesian/axes":764,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"../scattergl/constants":1171,"../scattergl/convert":1172}],1199:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatterpolar/defaults").handleRThetaDefaults,o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d=i(t,e,f,p);d?(p("thetaunit"),p("mode",d<u?"lines+markers":"lines"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),a.hasLines(e)&&(s(t,e,r,f,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,f,p),a.hasText(e)&&(p("texttemplate"),l(t,e,f,p)),p("fill"),"none"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"../scatterpolar/defaults":1192,"./attributes":1197}],1200:[function(t,e,r){"use strict";var n=t("../scatterpolar/format_labels");e.exports=function(t,e,r){var a=t.i;return"r"in t||(t.r=e._r[a]),"theta"in t||(t.theta=e._theta[a]),n(t,e,r)}},{"../scatterpolar/format_labels":1193}],1201:[function(t,e,r){"use strict";var n=t("../scattergl/hover"),a=t("../scatterpolar/hover").makeHoverPointText;e.exports={hoverPoints:function(t,e,r,i){var o=t.cd[0].t,s=o.r,l=o.theta,c=n.hoverPoints(t,e,r,i);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var h=t.subplot,f=u.cd[u.index],p=u.trace;if(f.r=s[u.index],f.theta=l[u.index],h.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,a(f,p,h,u),c}}}},{"../scattergl/hover":1176,"../scatterpolar/hover":1194}],1202:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:t("../../plots/polar"),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scattergl/select"),meta:{}}},{"../../plots/polar":828,"../scatter/marker_colorbar":1136,"../scattergl/select":1180,"./attributes":1197,"./calc":1198,"./defaults":1199,"./format_labels":1200,"./hover":1201,"./plot":1203}],1203:[function(t,e,r){"use strict";var n=t("point-cluster"),a=t("fast-isnumeric"),i=t("../scattergl/plot"),o=t("../scattergl/scene_update"),s=t("../scattergl/convert"),l=t("../../lib"),c=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e,r){if(r.length){var u=e.radialAxis,h=e.angularAxis,f=o(t,e);return r.forEach(function(r){if(r&&r[0]&&r[0].trace){var i,o=r[0],p=o.trace,d=o.t,g=p._length,v=d.r,m=d.theta,y=d.opts,x=v.slice(),b=m.slice();for(i=0;i<v.length;i++)e.isPtInside({r:v[i],theta:m[i]})||(x[i]=NaN,b[i]=NaN);var _=new Array(2*g),w=Array(g),k=Array(g);for(i=0;i<g;i++){var T,A,M=x[i];if(a(M)){var S=u.c2g(M),E=h.c2g(b[i],p.thetaunit);T=S*Math.cos(E),A=S*Math.sin(E)}else T=A=NaN;w[i]=_[2*i]=T,k[i]=_[2*i+1]=A}d.tree=n(_),y.marker&&g>=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!f.fill2d&&(f.fill2d=!0),y.marker&&!f.scatter2d&&(f.scatter2d=!0),y.line&&!f.line2d&&(f.line2d=!0),y.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(y.line),f.fillOptions.push(y.fill),f.markerOptions.push(y.marker),f.markerSelectedOptions.push(y.markerSel),f.markerUnselectedOptions.push(y.markerUnsel),f.textOptions.push(y.text),f.textSelectedOptions.push(y.textSel),f.textUnselectedOptions.push(y.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=k,d.rawx=w,d.rawy=k,d.r=v,d.theta=m,d.positions=_,d._scene=f,d.index=f.count,f.count++}}),i(t,e,r)}}},{"../../lib":716,"../scattergl/constants":1171,"../scattergl/convert":1172,"../scattergl/plot":1178,"../scattergl/scene_update":1179,"fast-isnumeric":227,"point-cluster":470}],1204:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=i.marker,h=i.line,f=u.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:l,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:i.connectgaps,cliponaxis:i.cliponaxis,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:i.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:i.hoveron,hovertemplate:n()}},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1205:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,h,f,p,d,g=t._fullLayout[e.subplot].sum,v=e.sum||g,m={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!m[h=l[r]]){for(p=m[c[h][0]],d=m[c[h][1]],f=new Array(p.length),u=0;u<p.length;u++)f[u]=v-p[u]-d[u];m[h]=f}var y,x,b,_,w,k,T=e._length,A=new Array(T);for(r=0;r<T;r++)y=m.a[r],x=m.b[r],b=m.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,T),a(t,e),i(A,e),o(A,e),A}},{"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1206:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/constants"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d,g=p("a"),v=p("b"),m=p("c");if(g?(d=g.length,v?(d=Math.min(d,v.length),m&&(d=Math.min(d,m.length))):d=m?Math.min(d,m.length):0):v&&m&&(d=Math.min(v.length,m.length)),d){e._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),p("mode",d<a.PTS_LINESONLY?"lines+markers":"lines"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&(p("texttemplate"),c(t,e,f,p));var y=[];(i.hasMarkers(e)||i.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),y.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||y.push("fills"),p("hoveron",y.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1204}],1207:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[a]){var i=n[a];t.a=i.a,t.b=i.b,t.c=i.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1208:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot;return a.aLabel=n.tickText(i.aaxis,t.a,!0).text,a.bLabel=n.tickText(i.baxis,t.b,!0).text,a.cLabel=n.tickText(i.caxis,t.c,!0).text,a}},{"../../plots/cartesian/axes":764}],1209:[function(t,e,r){"use strict";var n=t("../scatter/hover");e.exports=function(t,e,r,a){var i=n(t,e,r,a);if(i&&!1!==i[0].index){var o=i[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),i}var h=o.cd[o.index],f=o.trace,p=o.subplot;o.a=h.a,o.b=h.b,o.c=h.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[f.subplot]={_subplot:p};var g=f._module.formatLabels(h,f,d);o.aLabel=g.aLabel,o.bLabel=g.bLabel,o.cLabel=g.cLabel;var v=h.hi||f.hoverinfo,m=[];if(!f.hovertemplate){var y=v.split("+");-1!==y.indexOf("all")&&(y=["a","b","c"]),-1!==y.indexOf("a")&&x(p.aaxis,o.aLabel),-1!==y.indexOf("b")&&x(p.baxis,o.bLabel),-1!==y.indexOf("c")&&x(p.caxis,o.cLabel)}return o.extraText=m.join("<br>"),o.hovertemplate=f.hovertemplate,i}function x(t,e){m.push(t._hovertitle+": "+e)}}},{"../scatter/hover":1129}],1210:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:t("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":841,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1204,"./calc":1205,"./defaults":1206,"./event_data":1207,"./format_labels":1208,"./hover":1209,"./plot":1211}],1211:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var a=e.plotContainer;a.select(".scatterlayer").selectAll("*").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:a,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,i,r,o)}},{"../scatter/plot":1138}],1212:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../scattergl/attributes"),s=t("../../plots/cartesian/constants").idRegex,l=t("../../plot_api/plot_template").templatedArray,c=t("../../lib/extend").extendFlat,u=n.marker,h=u.line,f=c(a("marker.line",{editTypeOverride:"calc"}),{width:c({},h.width,{editType:"calc"}),editType:"calc"}),p=c(a("marker"),{symbol:u.symbol,size:c({},u.size,{editType:"markerSize"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:f,editType:"calc"});function d(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:s[t],editType:"plot"}}}p.color.editType=p.cmin.editType=p.cmax.editType="style",e.exports={dimensions:l("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:i(),marker:p,xaxes:d("x"),yaxes:d("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:o.selected.marker,editType:"calc"},unselected:{marker:o.unselected.marker,editType:"calc"},opacity:o.opacity}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/template_attributes":840,"../scatter/attributes":1118,"../scattergl/attributes":1169}],1213:[function(t,e,r){"use strict";var n=t("regl-line2d"),a=t("../../registry"),i=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine,u="splom";function h(t,e,r){for(var n=r.matrixOptions.data.length,a=e._visibleDims,i=r.viewOpts.ranges=new Array(n),o=0;o<a.length;o++){var s=a[o],c=i[o]=new Array(4),u=l(t,e._diag[s][0]);u&&(c[0]=u.r2l(u.range[0]),c[2]=u.r2l(u.range[1]));var h=l(t,e._diag[s][1]);h&&(c[1]=h.r2l(h.range[0]),c[3]=h.r2l(h.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:i},{ranges:i}):r.matrix.update({ranges:i})}function f(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,a=e._splomGrid;a||(a=e._splomGrid=n(r)),a.update(function(t){var e,r=t._fullLayout,n=r._size,a=[0,0,r.width,r.height],i={};function o(t,e,r,n,o,s){var l=e[t+"color"],c=e[t+"width"],u=String(l+c);u in i?i[u].data.push(NaN,NaN,r,n,o,s):i[u]={data:[r,n,o,s],join:"rect",thickness:c,color:l,viewport:a,range:a,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],h=u.xaxis,f=u.yaxis,p=h._gridVals,d=f._gridVals,g=n.b+f.domain[0]*n.h,v=-f._m,m=-v*f.r2l(f.range[0],f.calendar);if(h.showgrid)for(e=0;e<p.length;e++)s=h._offset+h.l2p(p[e].x),o("grid",h,s,g,s,g+f._length);if(f.showgrid)for(e=0;e<d.length;e++)l=g+m+v*d[e].x,o("grid",f,h._offset,l,h._offset+h._length,l);c(t,h,f)&&(s=h._offset+h.l2p(0),o("zeroline",h,s,g,s,g+f._length)),c(t,f,h)&&(l=g+m+0,o("zeroline",f,h._offset,l,h._offset+h._length,l))}var y=[];for(e in i)y.push(i[e]);return y}(t))}e.exports={name:u,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=a.getModule(u),n=o(t.calcdata,r)[0];i(t,["ANGLE_instanced_arrays","OES_element_index_uint"])&&(e._hasOnlyLargeSploms&&f(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&f(t);for(var n=0;n<e.length;n++){var a=e[n][0].trace,i=r._splomScenes[a.uid];"splom"===a.type&&i&&i.matrix&&h(t,a,i)}},updateGrid:f,clean:function(t,e,r,n){var a,i={};if(n._splomScenes){for(a=0;a<t.length;a++){var o=t[a];"splom"===o.type&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var l=r[a];if(!i[l.uid]){var c=n._splomScenes[l.uid];c&&c.destroy&&c.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG}},{"../../lib/prepare_regl":729,"../../plots/cartesian":775,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767,"../../plots/get_data":799,"../../registry":845,"regl-line2d":492}],1214:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../scatter/calc").calcMarkerSize,o=t("../scatter/calc").calcAxisExpansion,s=t("../scatter/colorscale_calc"),l=t("../scattergl/convert").markerSelection,c=t("../scattergl/convert").markerStyle,u=t("./scene_update"),h=t("../../constants/numerical").BADNUM,f=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r,p,d,g,v,m,y=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],k=e._visibleDims=[];function T(t,r){for(var a=t.makeCalcdata({v:r.values,vcalendar:e.calendar},"v"),i=0;i<a.length;i++)a[i]=a[i]===h?NaN:a[i];_.push(a),w.push("log"===t.type?n.simpleMap(a,t.c2l):a)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(g=a.getFromId(t,e._diag[r][0]),v=a.getFromId(t,e._diag[r][1]),g&&v&&g.type!==v.type){n.log("Skipping splom dimension "+r+" with conflicting axis types");continue}g?(T(g,d),v&&"category"===v.type&&(v._categories=g._categories.slice())):T(v,d),k.push(r)}for(s(t,e),n.extendFlat(b,c(e)),m=_.length*x>f?2*(b.sizeAvg||Math.max(b.size,3)):i(e,x),p=0;p<k.length;p++)d=y[r=k[p]],g=a.getFromId(t,e._diag[r][0])||{},v=a.getFromId(t,e._diag[r][1])||{},o(t,e,g,v,_[p],_[p],m);var A=u(t,e);return A.matrix||(A.matrix=!0),A.matrixOptions=b,A.selectedOptions=l(e,e.selected),A.unselectedOptions=l(e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"../scattergl/constants":1171,"../scattergl/convert":1172,"./scene_update":1221}],1215:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("../scatter/subtypes"),s=t("../scatter/marker_defaults"),l=t("../parcoords/merge_length"),c=/-open/;function u(t,e){function r(r,a){return n.coerce(t,e,i.dimensions,r,a)}r("label");var a=r("values");a&&a.length?r("visible"):e.visible=!1,r("axis.type"),r("axis.matches")}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,i,r,a)}var p=a(t,e,{name:"dimensions",handleItemDefaults:u}),d=f("diagonal.visible"),g=f("showupperhalf"),v=f("showlowerhalf");if(l(e,p,"values")&&(d||g||v)){f("text"),f("hovertext"),f("hovertemplate"),s(t,e,r,h,f);var m=c.test(e.marker.symbol),y=o.isBubble(e);f("marker.line.width",m||y?1:0),function(t,e,r,n){var a,i,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,h=new Array(s),f=new Array(s);for(a=0;a<s;a++){var p=a?a+1:"";h[a]="x"+p,f[a]="y"+p}var d=n("xaxes",h),g=n("yaxes",f),v=e._diag=new Array(s);e._xaxes={},e._yaxes={};var m=[],y=[];function x(t,n,a,i){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e["_"+o+"axes"][t]=1,i.push(t),!(t in s)){var l=s[t]={};a&&(l.label=a.label||"",a.visible&&a.axis&&(a.axis.type&&(l.type=a.axis.type),a.axis.matches&&(l.matches=n)))}}}var b=!u&&!c,_=!u&&!l;for(e._axesDim={},a=0;a<s;a++){var w=o[a],k=0===a,T=a===s-1,A=k&&b||T&&_?void 0:d[a],M=k&&_||T&&b?void 0:g[a];x(A,M,w,m),x(M,A,w,y),v[a]=[A,M],e._axesDim[A]=a,e._axesDim[M]=a}for(a=0;a<m.length;a++)for(i=0;i<y.length;i++){var S=m[a]+y[i];a>i&&l?r._splomSubplots[S]=1:a<i&&c?r._splomSubplots[S]=1:a!==i||!u&&c&&l||(r._splomSubplots[S]=1)}(!c||!u&&l&&c)&&(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}(0,e,h,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{"../../lib":716,"../../plots/array_container_defaults":760,"../parcoords/merge_length":1089,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"./attributes":1212}],1216:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/colorscale_calc"),i=t("../scattergl/convert").markerStyle;e.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){a(t,r),n.extendFlat(o.matrixOptions,i(r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},{"../../lib":716,"../scatter/colorscale_calc":1121,"../scattergl/convert":1172}],1217:[function(t,e,r){"use strict";r.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],a=t._visibleDims,i=0;i<a.length;i++){var o=a[i];if(t._diag[o][n]===r)return i}return!1}},{}],1218:[function(t,e,r){"use strict";var n=t("./helpers"),a=t("../scattergl/hover").calcHover;e.exports={hoverPoints:function(t,e,r){var i=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),h=t.distance,f=n.getDimIndex(i,s),p=n.getDimIndex(i,l);if(!1===f||!1===p)return[t];for(var d,g,v=o[f],m=o[p],y=h,x=0;x<v.length;x++){var b=v[x],_=m[x],w=s.c2p(b)-c,k=l.c2p(_)-u,T=Math.sqrt(w*w+k*k);T<y&&(y=g=T,d=x)}return t.index=d,t.distance=y,t.dxy=g,void 0===d?[t]:[a(t,v,m,i)]}}},{"../scattergl/hover":1176,"./helpers":1217}],1219:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../components/grid");e.exports={moduleType:"trace",name:"splom",basePlotModule:t("./base_plot"),categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select"),editStyle:t("./edit_style"),meta:{}},n.register(a)},{"../../components/grid":633,"../../registry":845,"../scatter/marker_colorbar":1136,"./attributes":1212,"./base_plot":1213,"./calc":1214,"./defaults":1215,"./edit_style":1216,"./hover":1218,"./plot":1220,"./select":1222}],1220:[function(t,e,r){"use strict";var n=t("regl-splom"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids");function o(t,e){var r,o,s,l,c,u=t._fullLayout,h=u._size,f=e.trace,p=e.t,d=u._splomScenes[f.uid],g=d.matrixOptions,v=g.cdata,m=u._glcanvas.data()[0].regl,y=u.dragmode;if(0!==v.length){g.lower=f.showupperhalf,g.upper=f.showlowerhalf,g.diagonal=f.diagonal.visible;var x=f._visibleDims,b=v.length,_=d.viewOpts={};for(_.ranges=new Array(b),_.domains=new Array(b),c=0;c<x.length;c++){s=x[c];var w=_.ranges[c]=new Array(4),k=_.domains[c]=new Array(4);(r=i.getFromId(t,f._diag[s][0]))&&(w[0]=r._rl[0],w[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(o=i.getFromId(t,f._diag[s][1]))&&(w[1]=o._rl[0],w[3]=o._rl[1],k[1]=o.domain[0],k[3]=o.domain[1])}_.viewport=[h.l,h.b,h.w+h.l,h.h+h.b],!0===d.matrix&&(d.matrix=n(m));var T=u.clickmode.indexOf("select")>-1,A=!0;if("lasso"===y||"select"===y||!!f.selectedpoints||T){var M=f._length;if(f.selectedpoints){d.selectBatch=f.selectedpoints;var S=f.selectedpoints,E={};for(s=0;s<S.length;s++)E[S[s]]=!0;var L=[];for(s=0;s<M;s++)E[s]||L.push(s);d.unselectBatch=L}var C=p.xpx=new Array(b),P=p.ypx=new Array(b);for(c=0;c<x.length;c++){if(s=x[c],r=i.getFromId(t,f._diag[s][0]))for(C[c]=new Array(M),l=0;l<M;l++)C[c][l]=r.c2p(v[c][l]);if(o=i.getFromId(t,f._diag[s][1]))for(P[c]=new Array(M),l=0;l<M;l++)P[c][l]=o.c2p(v[c][l])}if(d.selectBatch.length||d.unselectBatch.length){var O=a.extendFlat({},g,d.unselectedOptions,_),z=a.extendFlat({},g,d.selectedOptions,_);d.matrix.update(O,z),A=!1}}else p.xpx=p.ypx=null;if(A){var I=a.extendFlat({},g,_);d.matrix.update(I,null)}}}e.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)o(t,r[n][0])}},{"../../lib":716,"../../plots/cartesian/axis_ids":767,"regl-splom":499}],1221:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t._fullLayout,a=e.uid,i=r._splomScenes;i||(i=r._splomScenes={});var o={dirty:!0},s=i[e.uid];return s||((s=i[a]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},{"../../lib":716}],1222:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("./helpers");e.exports=function(t,e){var r=t.cd,o=r[0].trace,s=r[0].t,l=t.scene,c=l.matrixOptions.cdata,u=t.xaxis,h=t.yaxis,f=[];if(!l)return f;var p=!a.hasMarkers(o)&&!a.hasText(o);if(!0!==o.visible||p)return f;var d=i.getDimIndex(o,u),g=i.getDimIndex(o,h);if(!1===d||!1===g)return f;var v=s.xpx[d],m=s.ypx[g],y=c[d],x=c[g],b=[],_=[];if(!1!==e&&!e.degenerate)for(var w=0;w<y.length;w++)e.contains([v[w],m[w]],null,w,t)?(b.push(w),f.push({pointNumber:w,x:y[w],y:x[w]})):_.push(w);var k=l.matrixOptions;return b.length||_.length?l.selectBatch.length||l.unselectBatch.length||l.matrix.update(l.unselectedOptions,n.extendFlat({},k,l.selectedOptions,l.viewOpts)):l.matrix.update(k,null),l.selectBatch=b,l.unselectBatch=_,f}},{"../../lib":716,"../scatter/subtypes":1142,"./helpers":1217}],1223:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach(function(t){l[t]=i[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],1224:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/calc");function i(t){return n.distinctVals(t).vals}e.exports=function(t,e){var r,o,s,l,c,u,h=e.u,f=e.v,p=e.w,d=e.x,g=e.y,v=e.z,m=Math.min(d.length,g.length,v.length,h.length,f.length,p.length),y=0;e.starts&&(l=e.starts.x||[],c=e.starts.y||[],u=e.starts.z||[],y=Math.min(l.length,c.length,u.length));var x=0,b=1/0;for(r=0;r<m;r++){var _=h[r],w=f[r],k=p[r],T=Math.sqrt(_*_+w*w+k*k);x=Math.max(x,T),b=Math.min(b,T)}a(t,e,{vals:[b,x],containerStr:"",cLetter:"c"});var A,M,S,E,L,C,P=-1/0,O=1/0,z=-1/0,I=1/0,D=-1/0,R=1/0,F="";for(m&&(E=d[0],L=g[0],C=v[0]),r=0;r<m;r++)P=Math.max(P,d[r]),O=Math.min(O,d[r]),z=Math.max(z,g[r]),I=Math.min(I,g[r]),D=Math.max(D,v[r]),R=Math.min(R,v[r]),A||d[r]===E||(A=!0,F+="x"),M||g[r]===L||(M=!0,F+="y"),S||v[r]===C||(S=!0,F+="z");A||(F+="x"),M||(F+="y"),S||(F+="z");var B=i(e.x.slice(0,m)),N=i(e.y.slice(0,m)),j=i(e.z.slice(0,m));F=(F=(F=F.replace("x",(d[0]>d[m-1]?"-":"+")+"x")).replace("y",(g[0]>g[m-1]?"-":"+")+"y")).replace("z",(v[0]>v[m-1]?"-":"+")+"z");var V=function(){m=0,B=[],N=[],j=[]};(!m||m<B.length*N.length*j.length)&&V();var U=function(t){return"x"===t?d:"y"===t?g:v},q=function(t){return"x"===t?B:"y"===t?N:j},H=function(t){return t[m-1]<t[0]?-1:1},G=U(F[1]),Y=U(F[3]),W=U(F[5]),X=q(F[1]).length,Z=q(F[3]).length,J=q(F[5]).length,K=!1,Q=function(t,e,r){return X*(Z*t+e)+r},$=H(U(F[1])),tt=H(U(F[3])),et=H(U(F[5]));for(r=0;r<J-1;r++){for(o=0;o<Z-1;o++){for(s=0;s<X-1;s++){var rt=Q(r,o,s),nt=Q(r,o,s+1),at=Q(r,o+1,s),it=Q(r+1,o,s);if(G[rt]*$<G[nt]*$&&Y[rt]*tt<Y[at]*tt&&W[rt]*et<W[it]*et||(K=!0),K)break}if(K)break}if(K)break}for(K&&(n.warn("Encountered arbitrary coordinates! Unable to input data grid."),V()),r=0;r<y;r++){var ot=l[r];P=Math.max(P,ot),O=Math.min(O,ot);var st=c[r];z=Math.max(z,st),I=Math.min(I,st);var lt=u[r];D=Math.max(D,lt),R=Math.min(R,lt)}e._len=m,e._slen=y,e._normMax=x,e._xbnds=[O,P],e._ybnds=[I,z],e._zbnds=[R,D],e._Xs=B,e._Ys=N,e._Zs=j,e._gridFill=F}},{"../../components/colorscale/calc":599,"../../lib":716}],1225:[function(t,e,r){"use strict";var n=t("gl-streamtube3d"),a=n.createTubeMesh,i=t("../../lib"),o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3"),c={xaxis:0,yaxis:1,zaxis:2};function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var h=u.prototype;function f(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=a[c[e]];return i.simpleMap(t,function(t){return n.d2l(t)*o})}if(h.vectors=l(d(e.u,"xaxis"),d(e.v,"yaxis"),d(e.w,"zaxis"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,"xaxis"),v=d(e._Ys,"yaxis"),m=d(e._Zs,"zaxis");h.meshgrid=[g,v,m],h.gridFill=e._gridFill;var y=e._slen;if(y)h.startingPositions=l(d(e.starts.x.slice(0,y),"xaxis"),d(e.starts.y.slice(0,y),"yaxis"),d(e.starts.z.slice(0,y),"zaxis"));else{for(var x=v[0],b=f(g),_=f(m),w=new Array(b.length*_.length),k=0,T=0;T<b.length;T++)for(var A=0;A<_.length;A++)w[k++]=[b[T],x,_[A]];h.startingPositions=w}h.colormap=o(e),h.tubeSize=e.sizeref,h.maxLength=e.maxdisplayed;var M=d(e._xbnds,"xaxis"),S=d(e._ybnds,"yaxis"),E=d(e._zbnds,"zaxis"),L=p(g),C=p(v),P=p(m),O=[[M[0]-L[0],S[0]-C[0],E[0]-P[0]],[M[1]+L[1],S[1]+C[1],E[1]+P[1]]],z=n(h,O),I=s(e);z.vertexIntensityBounds=[I.min/e._normMax,I.max/e._normMax];var D=e.lightposition;return z.lightPosition=[D.x,D.y,D.z],z.ambient=e.lighting.ambient,z.diffuse=e.lighting.diffuse,z.specular=e.lighting.specular,z.roughness=e.lighting.roughness,z.fresnel=e.lighting.fresnel,z.opacity=e.opacity,e._pad=z.tubeScale*e.sizeref*2,z}h.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var a=e[n],i=r[c[n]];return a.l2c(t)/i}if(t.object===this.mesh){var a=t.data.position,i=t.data.velocity;return t.traceCoordinate=[n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},h.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new u(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/gl3d/zip3":815,"gl-streamtube3d":314}],1226:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("u"),c=s("v"),u=s("w"),h=s("x"),f=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s("starts.x"),s("starts.y"),s("starts.z"),s("maxdisplayed"),s("sizeref"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),a(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":1223}],1227:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"streamtube",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{"../../plots/gl3d":804,"./attributes":1223,"./calc":1224,"./convert":1225,"./defaults":1226}],1228:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/domain").attributes,l=t("../pie/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:l.hovertext,hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:a({},{keys:c.eventDataKeys}),textfont:l.textfont,insidetextfont:l.insidetextfont,outsidetextfont:l.outsidetextfont,domain:s({name:"sunburst",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092,"./constants":1231}],1229:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="sunburst",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1230:[function(t,e,r){"use strict";var n=t("d3-hierarchy"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../components/colorscale").makeColorScaleFuncFromTrace,s=t("../pie/calc").makePullColorFn,l=t("../pie/calc").generateExtendedColors,c=t("../../components/colorscale").calc,u={},h={};r.calc=function(t,e){var r,l,u,h,f,p,d=t._fullLayout,g=e.ids,v=i.isArrayOrTypedArray(g),m=e.labels,y=e.parents,x=e.values,b=i.isArrayOrTypedArray(x),_=[],w={},k={},T=function(t){return t||"number"==typeof t},A=function(t){return!b||a(x[t])&&x[t]>=0};v?(r=Math.min(g.length,y.length),l=function(t){return T(g[t])&&A(t)},u=function(t){return String(g[t])}):(r=Math.min(m.length,y.length),l=function(t){return T(m[t])&&A(t)},u=function(t){return String(m[t])}),b&&(r=Math.min(r,x.length));for(var M=0;M<r;M++)if(l(M)){var S=u(M),E=T(y[M])?String(y[M]):"",L={i:M,id:S,pid:E,label:T(m[M])?String(m[M]):""};b&&(L.v=+x[M]),_.push(L),f=S,w[h=E]?w[h].push(f):w[h]=[f],k[f]=1}if(w[""]){if(w[""].length>1){for(var C=i.randstr(),P=0;P<_.length;P++)""===_[P].pid&&(_[P].pid=C);_.unshift({hasMultipleRoots:!0,id:C,pid:"",label:""})}}else{var O,z=[];for(O in w)k[O]||z.push(O);if(1!==z.length)return i.warn("Multiple implied roots, cannot build "+e.type+" hierarchy.");O=z[0],_.unshift({hasImpliedRoot:!0,id:O,pid:"",label:O})}try{p=n.stratify().id(function(t){return t.id}).parentId(function(t){return t.pid})(_)}catch(t){return i.warn("Failed to build "+e.type+" hierarchy. Error: "+t.message)}var I=n.hierarchy(p),D=!1;if(b)switch(e.branchvalues){case"remainder":I.sum(function(t){return t.data.v});break;case"total":I.each(function(t){var e=t.data.data,r=e.v;if(t.children){var n=t.children.reduce(function(t,e){return t+e.data.data.v},0);if((e.hasImpliedRoot||e.hasMultipleRoots)&&(r=n),r<n)return D=!0,i.warn(["Total value for node",t.data.data.id,"is smaller than the sum of its children.","\nparent value =",r,"\nchildren sum =",n].join(" "))}t.value=r})}else!function t(e,r,n){var a=0;var i=e.children;if(i){for(var o=i.length,s=0;s<o;s++)a+=t(i[s],r,n);n.branches&&a++}else n.leaves&&a++;e.value=e.data.data.value=a;r._values||(r._values=[]);r._values[e.data.data.i]=a;return a}(I,e,{branches:-1!==e.count.indexOf("branches"),leaves:-1!==e.count.indexOf("leaves")});if(!D){var R,F;I.sort(function(t,e){return e.value-t.value});var B=e.marker.colors||[],N=!!B.length;return e._hasColorscale?(N||(B=b?e.values:e._values),c(t,e,{vals:B,containerStr:"marker",cLetter:"c"}),F=o(e.marker)):R=s(d["_"+e.type+"colormap"]),I.each(function(t){var r=t.data.data;r.color=e._hasColorscale?F(B[r.i]):R(B[r.i],r.id)}),_[0].hierarchy=I,_}},r._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,a=r[t+"colorway"],i=r["_"+t+"colormap"];r["extend"+t+"colors"]&&(a=l(a,"treemap"===t?h:u));var o=0;function s(t){var e=t.data.data,r=e.id;!1===e.color&&(i[r]?e.color=i[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(i[r]=e.color=a[o%a.length],o++):e.color="rgba(0,0,0,0)")}for(var c=0;c<n.length;c++){var f=n[c][0];f.trace.type===t&&f.hierarchy&&f.hierarchy.each(s)}},r.crossTraceCalc=function(t){return r._runCrossTraceCalc("sunburst",t)}},{"../../components/colorscale":603,"../../lib":716,"../pie/calc":1094,"d3-hierarchy":158,"fast-isnumeric":227}],1231:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}},{}],1232:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../../components/colorscale"),l=s.hasColorscale,c=s.handleDefaults;e.exports=function(t,e,r,s){function u(r,i){return n.coerce(t,e,a,r,i)}var h=u("labels"),f=u("parents");if(h&&h.length&&f&&f.length){var p=u("values");p&&p.length?u("branchvalues"):u("count"),u("level"),u("maxdepth"),u("marker.line.width")&&u("marker.line.color",s.paper_bgcolor),u("marker.colors");var d=e._hasColorscale=l(t,"marker","colors");d&&c(t,e,s,u,{prefix:"marker.",cLetter:"c"}),u("leaf.opacity",d?1:.7);var g=u("text");u("texttemplate"),e.texttemplate||u("textinfo",Array.isArray(g)?"text+label":"label"),u("hovertext"),u("hovertemplate");o(t,e,s,u,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),i(e,s,u),e._length=null}else e.visible=!1}},{"../../components/colorscale":603,"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":1228}],1233:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../components/fx/helpers").appendArrayPointValue,o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/events"),c=t("./helpers"),u=t("../pie/helpers").formatPieValue;function h(t,e,r){for(var n=t.data.data,a={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o<r.length;o++){var s=r[o];s in t&&(a[s]=t[s])}return"parentString"in t&&!c.isHierarchyRoot(t)&&(a.parent=t.parentString),i(a,e,n.i),a}e.exports=function(t,e,r,i,f){var p=i[0],d=p.trace,g=p.hierarchy,v="sunburst"===d.type,m="treemap"===d.type;"_hasHoverLabel"in d||(d._hasHoverLabel=!1),"_hasHoverEvent"in d||(d._hasHoverEvent=!1);t.on("mouseover",function(a){var i=r._fullLayout;if(!r._dragging&&!1!==i.hovermode){var l=r._fullData[d.index],y=a.data.data,x=y.i,b=c.isHierarchyRoot(a),_=c.getParent(g,a),w=c.getValue(a),k=function(t){return s.castOption(l,x,t)},T=k("hovertemplate"),A=o.castHoverinfo(l,i,x),M=i.separators;if(T||A&&"none"!==A&&"skip"!==A){var S,E;v&&(S=p.cx+a.pxmid[0]*(1-a.rInscribed),E=p.cy+a.pxmid[1]*(1-a.rInscribed)),m&&(S=a._hoverX,E=a._hoverY);var L,C={},P=[],O=[],z=function(t){return-1!==P.indexOf(t)};A&&(P="all"===A?l._module.attributes.hoverinfo.flags:A.split("+")),C.label=y.label,z("label")&&C.label&&O.push(C.label),y.hasOwnProperty("v")&&(C.value=y.v,C.valueLabel=u(C.value,M),z("value")&&O.push(C.valueLabel)),C.currentPath=a.currentPath=c.getPath(a.data),z("current path")&&!b&&O.push(C.currentPath);var I=[],D=function(){-1===I.indexOf(L)&&(O.push(L),I.push(L))};C.percentParent=a.percentParent=w/c.getValue(_),C.parent=a.parentString=c.getPtLabel(_),z("percent parent")&&(L=c.formatPercent(C.percentParent,M)+" of "+C.parent,D()),C.percentEntry=a.percentEntry=w/c.getValue(e),C.entry=a.entry=c.getPtLabel(e),!z("percent entry")||b||a.onPathbar||(L=c.formatPercent(C.percentEntry,M)+" of "+C.entry,D()),C.percentRoot=a.percentRoot=w/c.getValue(g),C.root=a.root=c.getPtLabel(g),z("percent root")&&!b&&(L=c.formatPercent(C.percentRoot,M)+" of "+C.root,D()),C.text=k("hovertext")||k("text"),z("text")&&(L=C.text,s.isValidTextValue(L)&&O.push(L));var R={trace:l,y:E,text:O.join("<br>"),name:T||z("name")?l.name:void 0,color:k("hoverlabel.bgcolor")||y.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:T,hovertemplateLabels:C,eventData:[h(a,l,f.eventDataKeys)]};v&&(R.x0=S-a.rInscribed*a.rpx1,R.x1=S+a.rInscribed*a.rpx1,R.idealAlign=a.pxmid[0]<0?"left":"right"),m&&(R.x=S,R.idealAlign=S<0?"left":"right"),o.loneHover(R,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}),d._hasHoverLabel=!0}if(m){var F=t.select("path.surface");f.styleOne(F,a,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:[h(a,l,f.eventDataKeys)],event:n.event})}}),t.on("mouseout",function(e){var a=r._fullLayout,i=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[h(s,i,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(a._hoverlayer.node()),d._hasHoverLabel=!1),m){var l=t.select("path.surface");f.styleOne(l,s,i,{hovered:!1})}}),t.on("click",function(t){var e=r._fullLayout,i=r._fullData[d.index];if(!1===l.triggerHandler(r,"plotly_"+d.type+"click",{points:[h(t,i,f.eventDataKeys)],event:n.event})||v&&(c.isHierarchyRoot(t)||c.isLeaf(t)))e.hovermode&&(r._hoverdata=[h(t,i,f.eventDataKeys)],o.click(r,n.event));else if(!r._dragging&&!r._transitioning){a.call("_storeDirectGUIEdit",i,e._tracePreGUI[i.uid],{level:i.level});var s=c.getPtId(t),u=c.isEntry(t)?c.findEntryWithChild(g,s):c.findEntryWithLevel(g,s),p={data:[{level:c.getPtId(u)}],traces:[d.index]},m={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),a.call("animate",r,p,m)}})}},{"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/events":706,"../../registry":845,"../pie/helpers":1097,"./helpers":1234,d3:164}],1234:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../lib/setcursor"),o=t("../pie/helpers");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter(function(t){if(r.getPtId(t)===e)return n=t.copy()}),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter(function(t){for(var a=t.children||[],i=0;i<a.length;i++){var o=a[i];if(r.getPtId(o)===e)return n=t.copy()}}),n||t},r.isEntry=function(t){return!t.parent},r.isLeaf=function(t){return!t.children},r.getPtId=function(t){return t.data.data.id},r.getPtLabel=function(t){return t.data.data.label},r.getValue=function(t){return t.value},r.isHierarchyRoot=function(t){return""===s(t)},r.setSliceCursor=function(t,e,n){var a=n.isTransitioning;if(!a){var o=t.datum();a=n.hideOnRoot&&r.isHierarchyRoot(o)||n.hideOnLeaves&&r.isLeaf(o)}i(t,a?null:"pointer")},r.getInsideTextFontKey=function(t,e,r,a){var i=r.data.data.i;return n.castOption(e,i,"insidetextfont."+t)||n.castOption(e,i,"textfont."+t)||a.size},r.getOutsideTextFontKey=function(t,e,r,a){var i=r.data.data.i;return n.castOption(e,i,"outsidetextfont."+t)||n.castOption(e,i,"textfont."+t)||a.size},r.isOutsideText=function(t,e){return!t._hasColorscale&&r.isHierarchyRoot(e)},r.determineTextFont=function(t,e,i,o){return r.isOutsideText(t,e)?function(t,e,n){return{color:r.getOutsideTextFontKey("color",t,e,n),family:r.getOutsideTextFontKey("family",t,e,n),size:r.getOutsideTextFontKey("size",t,e,n)}}(t,e,i):function(t,e,i,o){var s=e.data.data,l=s.i,c=n.castOption(t,l,"insidetextfont.color");return!c&&t._input.textfont&&(c=n.castOption(t._input,l,"textfont.color")),{color:c||a.contrast(s.color),family:r.getInsideTextFontKey("family",o||t,e,i),size:r.getInsideTextFontKey("size",o||t,e,i)}}(t,e,i,o)},r.hasTransition=function(t){return!!(t&&t.duration>0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var a=e?[n.data[e]]:[n];return r.listPath(n,e).concat(a)},r.getPath=function(t){return r.listPath(t,"label").join("/")+"/"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},{"../../components/color":591,"../../lib":716,"../../lib/setcursor":736,"../pie/helpers":1097}],1235:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"sunburst",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1228,"./base_plot":1229,"./calc":1230,"./defaults":1232,"./layout_attributes":1236,"./layout_defaults":1237,"./plot":1238,"./style":1239}],1236:[function(t,e,r){"use strict";e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1237:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},{"../../lib":716,"./layout_attributes":1236}],1238:[function(t,e,r){"use strict";var n=t("d3"),a=t("d3-hierarchy"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../pie/plot").transformInsideText,c=t("./style").styleOne,u=t("./fx"),h=t("./constants"),f=t("./helpers");function p(t,e,p,d){var g=t._fullLayout,v=f.hasTransition(d),m=n.select(p).selectAll("g.slice"),y=e[0],x=y.trace,b=y.hierarchy,_=f.findEntryWithLevel(b,x.level),w=f.getMaxDepth(x),k=g._size,T=x.domain,A=k.w*(T.x[1]-T.x[0]),M=k.h*(T.y[1]-T.y[0]),S=.5*Math.min(A,M),E=y.cx=k.l+k.w*(T.x[1]+T.x[0])/2,L=y.cy=k.t+k.h*(1-T.y[0])-M/2;if(!_)return m.remove();var C=null,P={};v&&m.each(function(t){P[f.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!C&&f.isEntry(t)&&(C=t)});var O=function(t){return a.partition().size([2*Math.PI,t.height+1])(t)}(_).descendants(),z=_.height+1,I=0,D=w;y.hasMultipleRoots&&f.isHierarchyRoot(_)&&(O=O.slice(1),z-=1,I=1,D+=1),O=O.filter(function(t){return t.y1<=D});var R=Math.min(z,w),F=function(t){return(t-I)/R*S},B=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},N=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,E,L)},j=function(t){return E+t.pxmid[0]*t.transform.rCenter+(t.transform.x||0)},V=function(t){return L+t.pxmid[1]*t.transform.rCenter+(t.transform.y||0)};(m=m.data(O,f.getPtId)).enter().append("g").classed("slice",!0),v?m.exit().transition().each(function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",function(t){var e=function(t){var e,r=f.getPtId(t),a=P[r],i=P[f.getPtId(_)];if(i){var o=t.x1>i.x1?2*Math.PI:0;e=t.rpx1<i.rpx1?{rpx0:0,rpx1:0}:{x0:o,x1:o}}else{var s,l=f.getPtId(t.parent);m.each(function(t){if(f.getPtId(t)===l)return s=t});var c,u=s.children;u.forEach(function(t,e){if(f.getPtId(t)===r)return c=e});var h=u.length,p=n.interpolate(s.x0,s.x1);e={rpx0:S,rpx1:S,x0:p(c/h),x1:p((c+1)/h)}}return n.interpolate(a,e)}(t);return function(t){return N(e(t))}}),t.select("g.slicetext").attr("opacity",0)}).remove():m.exit().remove(),m.order();var U=null;if(v&&C){var q=f.getPtId(C);m.each(function(t){null===U&&f.getPtId(t)===q&&(U=t.x1)})}var H=m;function G(t){var e=t.parent,r=P[f.getPtId(e)],a={};if(r){var i=e.children,o=i.indexOf(t),s=i.length,l=n.interpolate(r.x0,r.x1);a.x0=l(o/s),a.x1=l(o/s)}else a.x0=a.x1=0;return a}v&&(H=H.transition().each("end",function(){var e=n.select(this);f.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),H.each(function(a){var p=n.select(this),d=o.ensureSingle(p,"path","surface",function(t){t.style("pointer-events","all")});a.rpx0=F(a.y0),a.rpx1=F(a.y1),a.xmid=(a.x0+a.x1)/2,a.pxmid=B(a.rpx1,a.xmid),a.midangle=-(a.xmid-Math.PI/2),a.halfangle=.5*Math.min(o.angleDelta(a.x0,a.x1)||Math.PI,Math.PI),a.ring=1-a.rpx0/a.rpx1,a.rInscribed=function(t){return 0===t.rpx0&&o.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(a),v?d.transition().attrTween("d",function(t){var e=function(t){var e,r=P[f.getPtId(t)],a={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(C)if(t.parent)if(U){var i=t.x1>U?2*Math.PI:0;e={x0:i,x1:i}}else e={rpx0:S,rpx1:S},o.extendFlat(e,G(t));else e={rpx0:0,rpx1:0};else e={x0:0,x1:0};return n.interpolate(e,a)}(t);return function(t){return N(e(t))}}):d.attr("d",N),p.call(u,_,t,e,{eventDataKeys:h.eventDataKeys,transitionTime:h.CLICK_TRANSITION_TIME,transitionEasing:h.CLICK_TRANSITION_EASING}).call(f.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),d.call(c,a,x);var m=o.ensureSingle(p,"g","slicetext"),b=o.ensureSingle(m,"text","",function(t){t.attr("data-notex",1)});b.text(r.formatSliceLabel(a,_,x,e,g)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,f.determineTextFont(x,a,g.font)).call(s.convertToTspans,t);var w=i.bBox(b.node());a.transform=l(w,a,y),a.translateX=j(a),a.translateY=V(a);var k=function(t,e){return"translate("+t.translateX+","+t.translateY+")"+(t.transform.scale<1?"scale("+t.transform.scale+")":"")+(t.transform.rotate?"rotate("+t.transform.rotate+")":"")+"translate("+-(e.left+e.right)/2+","+-(e.top+e.bottom)/2+")"};v?b.transition().attrTween("transform",function(t){var e=function(t){var e,r=P[f.getPtId(t)],a=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{scale:0,rotate:a.rotate,rCenter:a.rCenter,x:a.x,y:a.y}},C)if(t.parent)if(U){var i=t.x1>U?2*Math.PI:0;e.x0=e.x1=i}else o.extendFlat(e,G(t));else e.x0=e.x1=0;else e.x0=e.x1=0;var s=n.interpolate(e.rpx1,t.rpx1),l=n.interpolate(e.x0,t.x0),c=n.interpolate(e.x1,t.x1),u=n.interpolate(e.transform.scale,a.scale),h=n.interpolate(e.transform.rotate,a.rotate),p=0===a.rCenter?3:0===e.transform.rCenter?1/3:1,d=n.interpolate(e.transform.rCenter,a.rCenter);return function(t){var e=s(t),r=l(t),n=c(t),i=function(t){return d(Math.pow(t,p))}(t),o={pxmid:B(e,(r+n)/2),transform:{rCenter:i,x:a.x,y:a.y}},f={rpx1:s(t),translateX:j(o),translateY:V(o),transform:{scale:u(t),rotate:h(t),rCenter:i}};return f}}(t);return function(t){return k(e(t),w)}}):b.attr("transform",k(a,w))})}r.plot=function(t,e,r,a){var i,o,s=t._fullLayout._sunburstlayer,l=!r,c=f.hasTransition(r);((i=s.selectAll("g.trace.sunburst").data(e,function(t){return t[0].trace.uid})).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),i.order(),c)?(a&&(o=a()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()}).each(function(){s.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):i.each(function(e){p(t,e,this,r)});l&&i.exit().remove()},r.formatSliceLabel=function(t,e,r,n,a){var i=r.texttemplate,s=r.textinfo;if(!(i||s&&"none"!==s))return"";var l=a.separators,c=n[0],u=t.data.data,h=c.hierarchy,p=f.isHierarchyRoot(t),d=f.getParent(h,t),g=f.getValue(t);if(!i){var v,m=s.split("+"),y=function(t){return-1!==m.indexOf(t)},x=[];if(y("label")&&u.label&&x.push(u.label),u.hasOwnProperty("v")&&y("value")&&x.push(f.formatValue(u.v,l)),!p){y("current path")&&x.push(f.getPath(t.data));var b=0;y("percent parent")&&b++,y("percent entry")&&b++,y("percent root")&&b++;var _=b>1;if(b){var w,k=function(t){v=f.formatPercent(w,l),_&&(v+=" of "+t),x.push(v)};y("percent parent")&&!p&&(w=g/f.getValue(d),k("parent")),y("percent entry")&&(w=g/f.getValue(e),k("entry")),y("percent root")&&(w=g/f.getValue(h),k("root"))}}return y("text")&&(v=o.castOption(r,u.i,"text"),o.isValidTextValue(v)&&x.push(v)),x.join("<br>")}var T=o.castOption(r,u.i,"texttemplate");if(!T)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=f.formatValue(u.v,l)),A.currentPath=f.getPath(t.data),p||(A.percentParent=g/f.getValue(d),A.percentParentLabel=f.formatPercent(A.percentParent,l),A.parent=f.getPtLabel(d)),A.percentEntry=g/f.getValue(e),A.percentEntryLabel=f.formatPercent(A.percentEntry,l),A.entry=f.getPtLabel(e),A.percentRoot=g/f.getValue(h),A.percentRootLabel=f.formatPercent(A.percentRoot,l),A.root=f.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=o.castOption(r,u.i,"text");return(o.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=o.castOption(r,u.i,"customdata"),o.texttemplateString(T,A,a._d3locale,A,r._meta||{})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../pie/plot":1101,"./constants":1231,"./fx":1233,"./helpers":1234,"./style":1239,d3:164,"d3-hierarchy":158}],1239:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib");function o(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=i.castOption(r,s,"marker.line.color")||a.defaultLine,c=i.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",c).call(a.fill,n.color).call(a.stroke,l).style("opacity",o?r.leaf.opacity:null)}e.exports={style:function(t){t._fullLayout._sunburstlayer.selectAll(".trace").each(function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each(function(t){n.select(this).call(o,t,r)})})},styleOne:o}},{"../../components/color":591,"../../lib":716,d3:164}],1240:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:i(),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},a("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})},hoverinfo:s({},o.hoverinfo)}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/color":591,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840}],1241:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1242:[function(t,e,r){"use strict";var n=t("gl-surface3d"),a=t("ndarray"),i=t("ndarray-homography"),o=t("ndarray-fill"),s=t("../../lib").isArrayOrTypedArray,l=t("../../lib/gl_format_color").parseColorScale,c=t("../../lib/str2rgbarray"),u=t("../../components/colorscale").extractOpts,h=t("../heatmap/interp2d"),f=t("../heatmap/find_empties");function p(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var d=p.prototype;d.getXat=function(t,e,r,n){var a=s(this.data.x)?s(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?a:n.d2l(a,0,r)},d.getYat=function(t,e,r,n){var a=s(this.data.y)?s(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?a:n.d2l(a,0,r)},d.getZat=function(t,e,r,n){var a=this.data.z[e][t];return null===a&&this.data.connectgaps&&this.data._interpolatedZ&&(a=this.data._interpolatedZ[e][t]),void 0===r?a:n.d2l(a,0,r)},d.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),a=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,a],t.traceCoordinate=[this.getXat(n,a),this.getYat(n,a),this.getZat(n,a)],t.dataCoordinate=[this.getXat(n,a,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,a,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,a,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var o=t.dataCoordinate[i];null!=o&&(t.dataCoordinate[i]*=this.scene.dataScale[i])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[a]&&void 0!==s[a][n]?t.textLabel=s[a][n]:t.textLabel=s||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var g=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function m(t){for(var e=[],r=0;r<g.length;r++){var n=g[r];e.push(v(t,n))}return e}function y(t){for(var e=m(t),r=t,n=0;n<g.length;n++)if(e[n]>0){r=g[n];break}return r}function x(t,e){if(!(t<1||e<1)){for(var r=m(t),n=m(e),a=1,i=0;i<g.length;i++)a*=Math.pow(g[i],Math.max(r[i],n[i]));return a}}d.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),a=this.getXat(e,0);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r},d.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),a=this.getYat(0,e);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r};var b=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],_=b[9],w=b[13];function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}d.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=x(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<_;)r*=2;for(;r>w;)r--,r/=y(r),++r<_&&(r=w);var n=Math.round(r/t);return n>1?n:1},d.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],o=t[0].shape[1],s=0|Math.floor(t[0].shape[0]*e+1),l=0|Math.floor(t[0].shape[1]*r+1),c=1+n+1,u=1+o+1,h=a(new Float32Array(c*u),[c,u]),f=0;f<t.length;++f){this.surface.padField(h,t[f]);var p=a(new Float32Array(s*l),[s,l]);i(p,h,[e,0,0,0,r,0,0,0,1]),t[f]=p}},d.setContourLevels=function(){var t,e,r,n=[[],[],[]],a=[!1,!1,!1],i=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(i=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(a[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(i){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=a[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},d.update=function(t){var e,r,n,i,s=this.scene,p=s.fullSceneLayout,d=this.surface,g=t.opacity,v=l(t,g),m=s.dataScale,y=t.z[0].length,x=t._ylength,b=s.contourLevels;this.data=t;var _=[];for(e=0;e<3;e++)for(_[e]=[],r=0;r<y;r++)_[e][r]=[];for(r=0;r<y;r++)for(n=0;n<x;n++)_[0][r][n]=this.getXat(r,n,t.xcalendar,p.xaxis),_[1][r][n]=this.getYat(r,n,t.ycalendar,p.yaxis),_[2][r][n]=this.getZat(r,n,t.zcalendar,p.zaxis);if(t.connectgaps)for(t._emptypoints=f(_[2]),h(_[2],t._emptypoints),t._interpolatedZ=[],r=0;r<y;r++)for(t._interpolatedZ[r]=[],n=0;n<x;n++)t._interpolatedZ[r][n]=_[2][r][n];for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null==(i=_[e][r][n])?_[e][r][n]=NaN:i=_[e][r][n]*=m[e];for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null!=(i=_[e][r][n])&&(this.minValues[e]>i&&(this.minValues[e]=i),this.maxValues[e]<i&&(this.maxValues[e]=i));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null!=(i=_[e][r][n])&&(_[e][r][n]-=this.objectOffset[e]);var k=[a(new Float32Array(y*x),[y,x]),a(new Float32Array(y*x),[y,x]),a(new Float32Array(y*x),[y,x])];o(k[0],function(t,e){return _[0][t][e]}),o(k[1],function(t,e){return _[1][t][e]}),o(k[2],function(t,e){return _[2][t][e]}),_=[];var T={colormap:v,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:t.opacity},A=u(t);if(T.intensityBounds=[A.min,A.max],t.surfacecolor){var M=a(new Float32Array(y*x),[y,x]);o(M,function(e,r){return t.surfacecolor[r][e]}),k.push(M)}else T.intensityBounds[0]*=m[2],T.intensityBounds[1]*=m[2];(w<k[0].shape[0]||w<k[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(k[0].shape[0],0),this.dataScaleY=this.estimateScale(k[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(k)),t.surfacecolor&&(T.intensity=k.pop());var S=[!0,!0,!0],E=["x","y","z"];for(e=0;e<3;++e){var L=t.contours[E[e]];S[e]=L.highlight,T.showContour[e]=L.show||L.highlight,T.showContour[e]&&(T.contourProject[e]=[L.project.x,L.project.y,L.project.z],L.show?(this.showContour[e]=!0,T.levels[e]=b[e],d.highlightColor[e]=T.contourColor[e]=c(L.color),L.usecolormap?d.highlightTint[e]=T.contourTint[e]=0:d.highlightTint[e]=T.contourTint[e]=1,T.contourWidth[e]=L.width,this.contourStart[e]=L.start,this.contourEnd[e]=L.end,this.contourSize[e]=L.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),L.highlight&&(T.dynamicColor[e]=c(L.highlightcolor),T.dynamicWidth[e]=L.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(v)&&(T.vertexColor=!0),T.objectOffset=this.objectOffset,T.coords=k,d.update(T),d.visible=t.visible,d.enableDynamic=S,d.enableHighlight=S,d.snapToData=!0,"lighting"in t&&(d.ambientLight=t.lighting.ambient,d.diffuseLight=t.lighting.diffuse,d.specularLight=t.lighting.specular,d.roughness=t.lighting.roughness,d.fresnel=t.lighting.fresnel),"lightposition"in t&&(d.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),g&&g<1&&(d.supportsTransparency=!0)},d.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new p(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../heatmap/find_empties":1004,"../heatmap/interp2d":1007,"gl-surface3d":317,ndarray:451,"ndarray-fill":441,"ndarray-homography":443}],1243:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/colorscale/defaults"),o=t("./attributes");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function h(r,n){return a.coerce(t,e,o,r,n)}var f=h("x"),p=h("y"),d=h("z");if(!d||!d.length||f&&f.length<1||p&&p.length<1)e.visible=!1;else{e._xlength=Array.isArray(f)&&a.isArrayOrTypedArray(f[0])?d.length:d[0].length,e._ylength=d.length,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],l),h("text"),h("hovertext"),h("hovertemplate"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach(function(t){h(t)});var g=h("surfacecolor"),v=["x","y","z"];for(c=0;c<3;++c){var m="contours."+v[c],y=h(m+".show"),x=h(m+".highlight");if(y||x)for(u=0;u<3;++u)h(m+".project."+v[u]);y&&(h(m+".color"),h(m+".width"),h(m+".usecolormap")),x&&(h(m+".highlightcolor"),h(m+".highlightwidth")),h(m+".start"),h(m+".end"),h(m+".size")}g||(s(t,"zmin","cmin"),s(t,"zmax","cmax"),s(t,"zauto","cauto")),i(t,e,l,h,{prefix:"",cLetter:"c"}),e._length=null}}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1240}],1244:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),moduleType:"trace",name:"surface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","2dMap"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1240,"./calc":1241,"./convert":1242,"./defaults":1243}],1245:[function(t,e,r){"use strict";var n=t("../../components/annotations/attributes"),a=t("../../lib/extend").extendFlat,i=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes;t("../../constants/docs").FORMAT_LINK;(e.exports=i({domain:s({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:a({},o({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:a({},o({arrayOk:!0}))}},"calc","from-root")).transforms=void 0},{"../../components/annotations/attributes":574,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/domain":789,"../../plots/font_attributes":790}],1246:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,a=t("./plot");r.name="table",r.plot=function(t){var e=n(t.calcdata,"table")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("table"),i=e._has&&e._has("table");a&&!i&&n._paperdiv.selectAll(".table").remove()}},{"../../plots/get_data":799,"./plot":1253}],1247:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap;e.exports=function(){return n({})}},{"../../lib/gup":714}],1248:[function(t,e,r){"use strict";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1249:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/extend").extendFlat,i=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,a=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),a=Math.max(a,r[e].length);if(n!==a)for(e=0;e<r.length;e++){var i=a-r[e].length;i&&(r[e]=r[e].concat(c(i)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]="";return e}function u(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function h(t,e){return Object.keys(t).map(function(r){return a({},t[r],{auxiliaryBlocks:e})})}function f(t,e){for(var r,n={},a=0,i=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((i+=r)>=e||c===t.length-1)&&(n[a]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},a+=i,s=c+1,i=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[""]).length)})),v=e.domain,m=Math.floor(t._fullLayout._size.w*(v.x[1]-v.x[0])),y=Math.floor(t._fullLayout._size.h*(v.y[1]-v.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=f(b,y-_+n.uplift),k=h(f(x,_),[]),T=h(w,k),A={},M=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return i(n)?Number(n):1}),E=S.reduce(s,0);S=S.map(function(t){return t/E*m});var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:v.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-v.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:L,height:y,columnOrder:M,groupHeight:y,rowBlocks:T,headerRowBlocks:k,scrollY:0,cells:a({},e.cells,{values:r}),headerCells:a({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return C.columns.forEach(function(t){t.calcdata=C,t.x=u(t)}),C}},{"../../lib/extend":707,"./constants":1248,"fast-isnumeric":227}],1250:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{"../../lib/extend":707}],1251:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,a=r.slice(0,n),i=a.slice().sort(function(t,e){return t-e}),o=a.map(function(t){return i.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e("columnorder",o)}(e,s),s("cells.values"),s("cells.format"),s("cells.align"),s("cells.prefix"),s("cells.suffix"),s("cells.height"),s("cells.line.width"),s("cells.line.color"),s("cells.fill.color"),n.coerceFont(s,"cells.font",n.extendFlat({},o.font)),e._length=null}},{"../../lib":716,"../../plots/domain":789,"./attributes":1245}],1252:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"table",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1245,"./base_plot":1246,"./calc":1247,"./defaults":1251,"./plot":1253}],1253:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup"),o=t("../../components/drawing"),s=t("../../lib/svg_text_utils"),l=t("../../lib").raiseToTop,c=t("../../lib").cancelTransition,u=t("./data_preparation_helper"),h=t("./data_split_helpers"),f=t("../../components/color");function p(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function d(t,e){return"clip"+t._fullLayout._uid+"_scrollAreaBottomClip_"+e.key}function g(t,e){return"clip"+t._fullLayout._uid+"_columnBoundaryClippath_"+e.calcdata.key+"_"+e.specIndex}function v(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function m(t,e,r){var o=t.selectAll("."+n.cn.scrollbarKit).data(i.repeat,i.keyFun);o.enter().append("g").classed(n.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),o.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return z(e,e.length-1)+(e.length?I(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr("transform",function(t){return"translate("+(t.width+n.scrollbarWidth/2+n.scrollbarOffset)+" "+A(t)+")"});var s=o.selectAll("."+n.cn.scrollbar).data(i.repeat,i.keyFun);s.enter().append("g").classed(n.cn.scrollbar,!0);var l=s.selectAll("."+n.cn.scrollbarSlider).data(i.repeat,i.keyFun);l.enter().append("g").classed(n.cn.scrollbarSlider,!0),l.attr("transform",function(t){return"translate(0 "+(t.scrollbarState.topY||0)+")"});var c=l.selectAll("."+n.cn.scrollbarGlyph).data(i.repeat,i.keyFun);c.enter().append("line").classed(n.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",n.scrollbarWidth).attr("stroke-linecap","round").attr("y1",n.scrollbarWidth/2),c.attr("y2",function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2}).attr("stroke-opacity",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr("stroke-opacity",0);var u=s.selectAll("."+n.cn.scrollbarCaptureZone).data(i.repeat,i.keyFun);u.enter().append("line").classed(n.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",n.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(r){var n=a.event.y,i=this.getBoundingClientRect(),o=r.scrollbarState,s=n-i.top,l=a.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||S(e,t,null,l(s-o.barLength/2))(r)}).call(a.behavior.drag().origin(function(t){return a.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on("drag",S(e,t)).on("dragend",function(){})),u.attr("y2",function(t){return t.scrollbarState.scrollableAreaHeight}),e._context.staticPlot&&(c.remove(),u.remove())}function y(t,e,r,s){var l=function(t){var e=t.selectAll("."+n.cn.columnCell).data(h.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll("."+n.cn.columnCells).data(i.repeat,i.keyFun);return e.enter().append("g").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,a={size:_(r.size,n,e),color:_(r.color,n,e),family:_(r.family,n,e)};t.rowNumber=t.key,t.align=_(t.calcdata.cells.align,n,e),t.cellBorderWidth=_(t.calcdata.cells.line.width,n,e),t.font=a})}(l),function(t){t.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var e=a.select(this);f.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),f.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll("."+n.cn.cellRect).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("rect").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll("."+n.cn.cellText).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("text").classed(n.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){a.event.stopPropagation()}),e}(function(t){var e=t.selectAll("."+n.cn.cellTextHolder).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),e}(l));!function(t){t.each(function(t){o.font(a.select(this),t.font)})}(c),x(c,e,s,t),O(l)}function x(t,e,r,i){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,i=t.value,o="string"==typeof i,s=o&&i.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u="string"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,v=p+(g?a.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=b(v)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?b(v):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var m=(" "===n.wrapSplitCharacter?v.replace(/<a href=/gi,"<a_href="):v).split(n.wrapSplitCharacter),y=" "===n.wrapSplitCharacter?m.map(function(t){return t.replace(/<a_href=/gi,"<a href=")}):m;t.fragments=y.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:n.wrapSpacer,width:null}),f=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,f=v;return f}).attr("dy",function(t){return t.needsConvertToTspans?0:"0.75em"}).each(function(t){var o=a.select(this),l=t.wrappingNeeded?L:C;t.needsConvertToTspans?s.convertToTspans(o,i,l(r,this,e,i,t)):a.select(this.parentNode).attr("transform",function(t){return"translate("+P(t)+" "+n.cellPad+")"}).attr("text-anchor",function(t){return{left:"start",center:"middle",right:"end"}[t.align]})})}function b(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function _(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function w(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr("transform","translate("+e.x+" "+r+")")}function k(t){return"cells"===t.type}function T(t){return"header"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+I(e,1/0)},0)}function M(t,e,r){var n=v(e)[0];if(void 0!==n){var a=n.rowBlocks,i=n.calcdata,o=z(a,a.length),s=n.calcdata.groupHeight-A(n),l=i.scrollY=Math.max(0,Math.min(o-s,i.scrollY)),c=function(t,e,r){for(var n=[],a=0,i=0;i<t.length;i++){for(var o=t[i],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<a+l&&e+r>a&&n.push(i),a+=l}return n}(a,l,s);1===c.length&&(c[0]===a.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(z(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),m(r,t))}}function S(t,e,r,i){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===i?s.scrollY+c*a.event.dy:i;var h=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);return M(t,h,l),s.scrollY===u}}function E(t,e,r,n,a,i,o){n[o]!==a[o]&&(clearTimeout(i.currentRepaint[o]),i.currentRepaint[o]=setTimeout(function(){var i=r.filter(function(t,e){return e===o&&n[e]!==a[e]});y(t,e,i,r),a[o]=n[o]}))}function L(t,e,r,i){return function(){var o=a.select(e.parentNode);o.each(function(t){var e=t.fragments;o.selectAll("tspan.line").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,a,i=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(a=(r=s.shift()).width+i)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=a;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),o.selectAll("tspan.line").remove(),x(o.select("."+n.cn.cellText),r,t,i),a.select(e.parentNode.parentNode).call(O)}}function C(t,e,r,i,o){return function(){if(!o.settledY){var s=a.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,f=Math.max(h,u);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,t.selectAll("."+n.cn.columnCell).call(O),M(null,t.filter(k),0),m(r,i,!0)),s.attr("transform",function(){var t=this.parentNode.getBoundingClientRect(),e=a.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),i=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+P(o,a.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+i+")"}),o.settledY=!0}}}function P(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function O(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+I(e,1/0)},0);return"translate(0 "+(I(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function I(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function D(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function R(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=!t._context.staticPlot,s=t._fullLayout._paper.selectAll("."+n.cn.table).data(e.map(function(e){var r=i.unwrap(e).trace;return u(t,r)}),i.keyFun);s.exit().remove(),s.enter().append("g").classed(n.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),s.attr("width",function(t){return t.width+t.size.l+t.size.r}).attr("height",function(t){return t.height+t.size.t+t.size.b}).attr("transform",function(t){return"translate("+t.translateX+","+t.translateY+")"});var f=s.selectAll("."+n.cn.tableControlView).data(i.repeat,i.keyFun),x=f.enter().append("g").classed(n.cn.tableControlView,!0).style("box-sizing","content-box");r&&x.on("mousemove",function(e){f.filter(function(t){return e===t}).call(m,t)}).on("mousewheel",function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+a.event.deltaY;S(t,f,null,r)(e)||(a.event.stopPropagation(),a.event.preventDefault()),e.scrollbarState.wheeling=!1}}).call(m,t,!0),f.attr("transform",function(t){return"translate("+t.size.l+" "+t.size.t+")"});var b=f.selectAll("."+n.cn.scrollBackground).data(i.repeat,i.keyFun);b.enter().append("rect").classed(n.cn.scrollBackground,!0).attr("fill","none"),b.attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),f.each(function(e){o.setClipUrl(a.select(this),d(t,e),t)});var _=f.selectAll("."+n.cn.yColumn).data(function(t){return t.columns},i.keyFun);_.enter().append("g").classed(n.cn.yColumn,!0),_.exit().remove(),_.attr("transform",function(t){return"translate("+t.x+" 0)"}),r&&_.call(a.behavior.drag().origin(function(e){return w(a.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,m(f.filter(function(t){return e.calcdata.key===t.key}),t),e}).on("drag",function(t){var e=a.select(this),r=function(e){return(t===e?a.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,a.event.x)),v(_).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return r(t)-r(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),_.filter(function(e){return t!==e}).transition().ease(n.transitionEase).duration(n.transitionDuration).attr("transform",function(t){return"translate("+t.x+" 0)"}),e.call(c).attr("transform","translate("+t.x+" -"+n.uplift+" )")}).on("dragend",function(e){var r=a.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,w(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit("plotly_restyle")}(t,n,n.columns.map(function(t){return t.xIndex}))})),_.each(function(e){o.setClipUrl(a.select(this),g(t,e),t)});var A=_.selectAll("."+n.cn.columnBlock).data(h.splitToPanels,i.keyFun);A.enter().append("g").classed(n.cn.columnBlock,!0).attr("id",function(t){return t.key}),A.style("cursor",function(t){return t.dragHandle?"ew-resize":t.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var E=A.filter(T),L=A.filter(k);r&&L.call(a.behavior.drag().origin(function(t){return a.event.stopPropagation(),t}).on("drag",S(t,f,-1)).on("dragend",function(){})),y(t,f,E,A),y(t,f,L,A);var C=f.selectAll("."+n.cn.scrollAreaClip).data(i.repeat,i.keyFun);C.enter().append("clipPath").classed(n.cn.scrollAreaClip,!0).attr("id",function(e){return d(t,e)});var P=C.selectAll("."+n.cn.scrollAreaClipRect).data(i.repeat,i.keyFun);P.enter().append("rect").classed(n.cn.scrollAreaClipRect,!0).attr("x",-n.overdrag).attr("y",-n.uplift).attr("fill","none"),P.attr("width",function(t){return t.width+2*n.overdrag}).attr("height",function(t){return t.height+n.uplift}),_.selectAll("."+n.cn.columnBoundary).data(i.repeat,i.keyFun).enter().append("g").classed(n.cn.columnBoundary,!0);var O=_.selectAll("."+n.cn.columnBoundaryClippath).data(i.repeat,i.keyFun);O.enter().append("clipPath").classed(n.cn.columnBoundaryClippath,!0),O.attr("id",function(e){return g(t,e)});var z=O.selectAll("."+n.cn.columnBoundaryRect).data(i.repeat,i.keyFun);z.enter().append("rect").classed(n.cn.columnBoundaryRect,!0).attr("fill","none"),z.attr("width",function(t){return t.columnWidth+2*p(t)}).attr("height",function(t){return t.calcdata.height+2*p(t)+n.uplift}).attr("x",function(t){return-p(t)}).attr("y",function(t){return-p(t)}),M(null,L,f)}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../lib/svg_text_utils":740,"./constants":1248,"./data_preparation_helper":1249,"./data_split_helpers":1250,d3:164}],1254:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../components/colorscale/attributes"),o=t("../../plots/domain").attributes,s=t("../pie/attributes"),l=t("../sunburst/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,editType:"calc"},i("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:a({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:s.outsidetextfont,textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},domain:o({name:"treemap",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092,"../sunburst/attributes":1228,"./constants":1257}],1255:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="treemap",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1256:[function(t,e,r){"use strict";var n=t("../sunburst/calc");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc("treemap",t)}},{"../sunburst/calc":1230}],1257:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1258:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText,l=t("../bar/constants").TEXTPAD,c=t("../../components/colorscale"),u=c.hasColorscale,h=c.handleDefaults;e.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,a,r,i)}var p=f("labels"),d=f("parents");if(p&&p.length&&d&&d.length){var g=f("values");g&&g.length?f("branchvalues"):f("count"),f("level"),f("maxdepth"),"squarify"===f("tiling.packing")&&f("tiling.squarifyratio"),f("tiling.flip"),f("tiling.pad");var v=f("text");f("texttemplate"),e.texttemplate||f("textinfo",Array.isArray(v)?"text+label":"label"),f("hovertext"),f("hovertemplate");s(t,e,c,f,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f("textposition");var m=-1!==e.textposition.indexOf("bottom");f("marker.line.width")&&f("marker.line.color",c.paper_bgcolor);var y=f("marker.colors"),x=e._hasColorscale=u(t,"marker","colors");x?h(t,e,c,f,{prefix:"marker.",cLetter:"c"}):f("marker.depthfade",!(y||[]).length);var b=2*e.textfont.size;f("marker.pad.t",m?b/4:b),f("marker.pad.l",b/4),f("marker.pad.r",b/4),f("marker.pad.b",m?b:b/4),x&&h(t,e,c,f,{prefix:"marker.",cLetter:"c"}),e._hovered={marker:{line:{width:2,color:i.contrast(c.paper_bgcolor)}}},f("pathbar.visible")&&(n.coerceFont(f,"pathbar.textfont",c.font),f("pathbar.thickness",e.pathbar.textfont.size+2*l),f("pathbar.side"),f("pathbar.edgeshape")),o(e,c,f),e._length=null}else e.visible=!1}},{"../../components/color":591,"../../components/colorscale":603,"../../lib":716,"../../plots/domain":789,"../bar/constants":857,"../bar/defaults":859,"./attributes":1254}],1259:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx");e.exports=function(t,e,r,f,p){var d=p.barDifY,g=p.width,v=p.height,m=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,k=p.handleSlicesExit,T=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],L=E.trace,C=E.hierarchy,P=g/L._entryDepth,O=u.listPath(r.data,"id"),z=s(C.copy(),[g,v],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter(function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+v,t.onPathbar=!0,!0)})).reverse(),(f=f.data(z,u.getPtId)).enter().append("g").classed("pathbar",!0),k(f,!0,M,[g,v],x),f.order();var I=f;w&&(I=I.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),I.each(function(s){s._hoverX=m(s.x1-v/2),s._hoverY=y(s.y1-v/2);var f=n.select(this),p=a.ensureSingle(f,"path","surface",function(t){t.style("pointer-events","all")});w?p.transition().attrTween("d",function(t){var e=T(t,!0,M,[g,v]);return function(t){return x(e(t))}}):p.attr("d",x),f.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,L,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("<br>").join(" ")||"";var d=a.ensureSingle(f,"g","slicetext"),k=a.ensureSingle(d,"text","",function(t){t.attr("data-notex",1)});k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,u.determineTextFont(L,s,S.font,L.pathdir)).call(o.convertToTspans,t),s.textBB=i.bBox(k.node()),s.transform=b(s,{onPathbar:!0}),u.isOutsideText(L,s)&&(s.transform.targetY-=u.getOutsideTextFontKey("size",L,s,S.font)-u.getInsideTextFontKey("size",L,s,S.font)),w?k.transition().attrTween("transform",function(t){var e=A(t,!0,M,[g,v]);return function(t){return _(e(t))}}):k.attr("transform",_(s))})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1260:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx"),f=t("../sunburst/plot").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,v=d.height,m=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,k=d.handleSlicesExit,T=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,L=-1!==E.textposition.indexOf("left"),C=-1!==E.textposition.indexOf("right"),P=-1!==E.textposition.indexOf("bottom"),O=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,z=s(r,[g,v],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf("x")>-1,flipY:E.tiling.flip.indexOf("y")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),I=1/0,D=-1/0;z.forEach(function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(I=Math.min(I,e),D=Math.max(D,e))}),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-I+1:0,p.enter().append("g").classed("slice",!0),k(p,!1,{},[g,v],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each(function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})})}var B=function(){return R||{x0:0,x1:g,y0:0,y1:v}},N=p;return w&&(N=N.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(s){var p=u.isHeader(s,E);s._hoverX=m(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),k=a.ensureSingle(d,"path","surface",function(t){t.style("pointer-events","all")});w?k.transition().attrTween("d",function(t){var e=T(t,!1,B(),[g,v]);return function(t){return x(e(t))}}):k.attr("d",x),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=p?O?"":u.getPtLabel(s)||"":f(s,r,E,e,S)||"";var M=a.ensureSingle(d,"g","slicetext"),z=a.ensureSingle(M,"text","",function(t){t.attr("data-notex",1)});z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",C?"end":L||p?"start":"middle").call(i.font,u.determineTextFont(E,s,S.font)).call(o.convertToTspans,t),s.textBB=i.bBox(z.node()),s.transform=b(s,{isHeader:p}),w?z.transition().attrTween("transform",function(t){var e=A(t,!1,B(),[g,v]);return function(t){return _(e(t))}}):z.attr("transform",_(s))}),R}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"../sunburst/plot":1238,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1261:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"treemap",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1254,"./base_plot":1255,"./calc":1256,"./defaults":1258,"./layout_attributes":1262,"./layout_defaults":1263,"./plot":1265,"./style":1266}],1262:[function(t,e,r){"use strict";e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1263:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},{"../../lib":716,"./layout_attributes":1262}],1264:[function(t,e,r){"use strict";var n=t("d3-hierarchy");e.exports=function(t,e,r){var a,i=r.flipX,o=r.flipY,s="dice-slice"===r.packing,l=r.pad[o?"bottom":"top"],c=r.pad[i?"right":"left"],u=r.pad[i?"left":"right"],h=r.pad[o?"top":"bottom"];s&&(a=c,c=l,l=a,a=u,u=h,h=a);var f=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(h).size(s?[e[1],e[0]]:e)(t);return(s||i||o)&&function t(e,r,n){var a;n.swapXY&&(a=e.x0,e.x0=e.y0,e.y0=a,a=e.x1,e.x1=e.y1,e.y1=a);n.flipX&&(a=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-a);n.flipY&&(a=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-a);var i=e.children;if(i)for(var o=0;o<i.length;o++)t(i[o],r,n)}(f,e,{swapXY:s,flipX:i,flipY:o}),f}},{"d3-hierarchy":158}],1265:[function(t,e,r){"use strict";var n=t("d3"),a=t("../sunburst/helpers").hasTransition,i=t("../sunburst/helpers"),o=t("../../lib"),s=t("../bar/constants").TEXTPAD,l=t("../bar/plot").toMoveInsideBar,c=t("./constants"),u=t("./draw_descendants"),h=t("./draw_ancestors");function f(t){return i.isHierarchyRoot(t)?"":i.getPtId(t)}function p(t,e,r,a){var p=t._fullLayout,d=e[0],g=d.trace,v=d.hierarchy,m=i.findEntryWithLevel(v,g.level),y=n.select(r),x=y.selectAll("g.pathbar"),b=y.selectAll("g.slice");if(!m)return x.remove(),void b.remove();var _=i.isHierarchyRoot(m),w=i.hasTransition(a),k=i.getMaxDepth(g),T=p._size,A=g.domain,M=T.w*(A.x[1]-A.x[0]),S=T.h*(A.y[1]-A.y[0]),E=M,L=g.pathbar.thickness,C=g.marker.line.width+c.gapWithPathbar,P=g.pathbar.visible?g.pathbar.side.indexOf("bottom")>-1?S+C:-(L+C):0,O={x0:E,x1:E,y0:P,y1:P+L},z=function(t,e,r){var n=g.tiling.pad,a=function(t){return t-n<=e.x0},i=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:a(t.x0-n)?0:i(t.x0-n)?r[0]:t.x0,x1:a(t.x1+n)?0:i(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},I=null,D={},R={},F=null,B=function(t,e){return e?D[f(t)]:R[f(t)]},N=function(t,e,r,n){if(e)return D[f(v)]||O;var a=R[g.level]||r;return function(t){return t.data.depth-m.data.depth<k}(t)?z(t,a,n):{}};d.hasMultipleRoots&&_&&k++,g._maxDepth=k,g._backgroundColor=p.paper_bgcolor,g._entryDepth=m.data.depth,g._atRootLevel=_;var j=-M/2+T.l+T.w*(A.x[1]+A.x[0])/2,V=-S/2+T.t+T.h*(1-(A.y[1]+A.y[0])/2),U=function(t){return j+t},q=function(t){return V+t},H=q(0),G=U(0),Y=function(t){return G+t},W=function(t){return H+t};function X(t,e){return t+","+e}var Z=Y(0),J=function(t){t.x=Math.max(Z,t.x)},K=g.pathbar.edgeshape,Q=function(t,e){var r=t.x0,n=t.x1,a=t.y0,i=t.y1,o=t.textBB;r===n&&(r-=s,n+=s),a===i&&(a-=s,i+=s);var c=function(t){return-1!==g.textposition.indexOf(t)},u=c("bottom"),h=c("top")||e.isHeader&&!u?"start":u?"end":"middle",f=c("right"),p=c("left")||e.onPathbar,d=p?"left":f?"right":"center";!e.onPathbar&&e.isHeader||(r+=p?s:0,n-=f?s:0);var v=g.marker.pad;if(e.isHeader){if((r+=v.l-s)>=(n-=v.r-s)){var m=(r+n)/2;r=m-s,n=m+s}var y;u?a<(y=i-v.b)&&y<i&&(a=y):a<(y=a+v.t)&&y<i&&(i=y)}var x=l(r,n,a,i,o,{isHorizontal:!1,constrained:!0,angle:0,anchor:h});if("center"!==d){var b=(n-r)/2-x.scale*(o.right-o.left)/2;e.isHeader&&(b-=s),"left"===d?x.targetX-=b:"right"===d&&(x.targetX+=b)}return x.targetX=U(x.targetX),x.targetY=q(x.targetY),isNaN(x.targetX)||isNaN(x.targetY)?{}:{scale:x.scale,rotate:x.rotate,textX:x.textX,textY:x.textY,targetX:x.targetX,targetY:x.targetY}},$=function(t,e){for(var r,n=0,a=t;!r&&n<k;)n++,(a=a.parent)?r=B(a,e):n=k;return r||{}},tt=function(t,e,r,a){var i,s=B(t,e);if(s)i=s;else if(e)i=O;else if(I)if(t.parent){var l=F||r;l&&!e?i=z(t,l,a):(i={},o.extendFlat(i,$(t,e)))}else i=t;else i={};return n.interpolate(i,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},et=function(t,e,r,a){var s=B(t,e),l={},c=N(t,e,r,a);return o.extendFlat(l,{transform:Q({x0:c.x0,x1:c.x1,y0:c.y0,y1:c.y1,textBB:t.textBB,_text:t._text},{isHeader:i.isHeader(t,g)})}),s?l=s:t.parent&&o.extendFlat(l,$(t,e)),n.interpolate(l,{transform:{scale:t.transform.scale,rotate:t.transform.rotate,textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY}})},rt=function(t,e,r,a,i){var o=a[0],s=a[1];w?t.exit().transition().each(function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",function(t){var r=function(t,e,r,a){var i,o=B(t,e);if(e)i=O;else{var s=B(m,e);i=s?z(t,s,a):{}}return n.interpolate(o,i)}(t,e,0,[o,s]);return function(t){return i(r(t))}}),t.select("g.slicetext").attr("opacity",0)}).remove():t.exit().remove()},nt=function(t){return o.getTextTransform({textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})};w&&(x.each(function(t){D[f(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(D[f(t)].transform={textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})}),b.each(function(t){R[f(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(R[f(t)].transform={textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!I&&i.isEntry(t)&&(I=t)})),F=u(t,e,m,b,{width:M,height:S,viewX:U,viewY:q,pathSlice:function(t){var e=U(t.x0),r=U(t.x1),n=q(t.y0),a=q(t.y1),i=r-e,o=a-n;if(!i||!o)return"";return"M"+X(e,n+0)+"L"+X(r-0,n)+"L"+X(r,a-0)+"L"+X(e+0,a)+"Z"},toMoveInsideSlice:Q,prevEntry:I,makeUpdateSliceInterpolator:tt,makeUpdateTextInterpolator:et,handleSlicesExit:rt,hasTransition:w,strTransform:nt}),g.pathbar.visible&&h(t,e,m,x,{barDifY:P,width:E,height:L,viewX:Y,viewY:W,pathSlice:function(t){var e=Y(Math.max(Math.min(t.x0,t.x0),0)),r=Y(Math.min(Math.max(t.x1,t.x1),E)),n=W(t.y0),a=W(t.y1),i=L/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+a)/2;var l={x:e,y:n},c={x:r,y:n},u={x:r,y:a},h={x:e,y:a};return">"===K?(l.x-=i,c.x-=i,u.x-=i,h.x-=i):"/"===K?(u.x-=i,h.x-=i,o.x-=i/2,s.x-=i/2):"\\"===K?(l.x-=i,c.x-=i,o.x-=i/2,s.x-=i/2):"<"===K&&(o.x-=i,s.x-=i),J(l),J(h),J(o),J(c),J(u),J(s),"M"+X(l.x,l.y)+"L"+X(c.x,c.y)+"L"+X(s.x,s.y)+"L"+X(u.x,u.y)+"L"+X(h.x,h.y)+"L"+X(o.x,o.y)+"Z"},toMoveInsideSlice:Q,makeUpdateSliceInterpolator:tt,makeUpdateTextInterpolator:et,handleSlicesExit:rt,hasTransition:w,strTransform:nt})}e.exports=function(t,e,r,i){var o,s,l=t._fullLayout._treemaplayer,c=!r;((o=l.selectAll("g.trace.treemap").data(e,function(t){return t[0].trace.uid})).enter().append("g").classed("trace",!0).classed("treemap",!0),o.order(),a(r))?(i&&(s=i()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()}).each(function(){l.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):o.each(function(e){p(t,e,this,r)});c&&o.exit().remove()}},{"../../lib":716,"../bar/constants":857,"../bar/plot":866,"../sunburst/helpers":1234,"./constants":1257,"./draw_ancestors":1259,"./draw_descendants":1260,d3:164}],1266:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib"),o=t("../sunburst/helpers");function s(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,h=u.i,f=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&"rgba(0,0,0,0)"===f)d=0,s="rgba(0,0,0,0)",l=0;else if(s=i.castOption(r,h,"marker.line.color")||a.defaultLine,l=i.castOption(r,h,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var v,m=a.combine(a.addOpacity(r._backgroundColor,.75),f);if(!0===g){var y=o.getMaxDepth(r);v=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else v=e.data.depth-r._entryDepth,r._atRootLevel||v++;if(v>0)for(var x=0;x<v;x++){var b=.5*x/v;f=a.combine(a.addOpacity(m,b),f)}}}t.style("stroke-width",l).call(a.fill,f).call(a.stroke,s).style("opacity",d)}e.exports={style:function(t){t._fullLayout._treemaplayer.selectAll(".trace").each(function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each(function(t){n.select(this).call(s,t,r,{hovered:!1})})})},styleOne:s}},{"../../components/color":591,"../../lib":716,"../sunburst/helpers":1234,d3:164}],1267:[function(t,e,r){"use strict";var n=t("../box/attributes"),a=t("../../lib/extend").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:a({},n.name,{}),orientation:a({},n.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,points:a({},n.boxpoints,{}),jitter:a({},n.jitter,{}),pointpos:a({},n.pointpos,{}),width:a({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":707,"../box/attributes":879}],1268:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../box/calc"),o=t("./helpers"),s=t("../../constants/numerical").BADNUM;function l(t,e,r){var a=e.max-e.min;if(!a)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,a/1e4);var i=r.length,o=n.stdev(r,i-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(i,o,e.q3-e.q1),a/100)}function c(t,e,r,n){var i,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function h(n){var a=l[n],i="multicategory"===r.type?r.r2c(a):r.d2c(a,0,t[e.valLetter+"calendar"]);return i===s?u[n]:i}var f={type:"linear",range:i="soft"===o?u:"hard"===o?c:[h(0),h(1)]};return a.setConvert(f),f.cleanRange(),i}e.exports=function(t,e){var r=i(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,u=a.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),h=1/0,f=-1/0,p=0,d=0,g=0;g<r.length;g++){var v=r[g],m=v.pts.map(o.extractVal),y=v.bandwidth=l(e,v,m),x=v.span=c(e,v,u,y);if(v.min===v.max&&0===y)x=v.span=[v.min,v.max],v.density=[{v:1,t:x[0]}],v.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error("Something went wrong with computing the violin span"),r[0].t.empty=!0,r;var k=o.makeKDE(v,e,m);v.density=new Array(_);for(var T=0,A=x[0];A<x[1]+w/2;T++,A+=w){var M=k(A);v.density[T]={v:M,t:A},p=Math.max(p,M)}}d=Math.max(d,m.length),h=Math.min(h,x[0]),f=Math.max(f,x[1])}var S=a.findExtremes(u,[h,f],{padded:!0});if(e._extremes[u._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,L=e.scalegroup,C=E[L];C?(C.maxKDE=Math.max(C.maxKDE,p),C.maxCount=Math.max(C.maxCount,d)):E[L]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,"kde:"),r}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../box/calc":880,"./helpers":1271}],1269:[function(t,e,r){"use strict";var n=t("../box/cross_trace_calc").setPositionOffset,a=["v","h"];e.exports=function(t,e){for(var r=t.calcdata,i=e.xaxis,o=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c="h"===l?o:i,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||"violin"!==d.type||p.empty||d.orientation!==l||d.xaxis!==i._id||d.yaxis!==o._id||u.push(h)}n("violin",t,u,c)}}},{"../box/cross_trace_calc":881}],1270:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../box/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}function c(r,a){return n.coerce2(t,e,o,r,a)}if(i.handleSampleDefaults(t,e,l,s),!1!==e.visible){l("bandwidth"),l("side"),l("width")||(l("scalegroup",e.name),l("scalemode"));var u,h=l("span");Array.isArray(h)&&(u="manual"),l("spanmode",u);var f=l("line.color",(t.marker||{}).color||r),p=l("line.width"),d=l("fillcolor",a.addOpacity(e.line.color,.5));i.handlePointsDefaults(t,e,l,{prefix:""});var g=c("box.width"),v=c("box.fillcolor",d),m=c("box.line.color",f),y=c("box.line.width",p);l("box.visible",Boolean(g||v||m||y))||(e.box={visible:!1});var x=c("meanline.color",f),b=c("meanline.width",p);l("meanline.visible",Boolean(x||b))||(e.meanline={visible:!1})}}},{"../../components/color":591,"../../lib":716,"../box/defaults":882,"./attributes":1267}],1271:[function(t,e,r){"use strict";var n=t("../../lib"),a=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,i=a,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,a=0;a<n;a++)e+=i((t-r[a])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var a,i;"h"===e.orientation?(a="y",i="x"):(a="x",i="y");var o=n.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[a];return[l,"both"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var a=t.pts.map(r.extractVal);return r.makeKDE(t,e,a)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{"../../lib":716}],1272:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../box/hover"),o=t("./helpers");e.exports=function(t,e,r,s,l){var c,u,h=t.cd,f=h[0].trace,p=f.hoveron,d=-1!==p.indexOf("violins"),g=-1!==p.indexOf("kde"),v=[];if(d||g){var m=i.hoverOnBoxes(t,e,r,s);if(g&&m.length>0){var y,x,b,_,w,k=t.xa,T=t.ya;"h"===f.orientation?(w=e,y="y",b=T,x="x",_=k):(w=r,y="x",b=k,x="y",_=T);var A=h[t.index];if(w>=A.span[0]&&w<=A.span[1]){var M=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,f,w),L=o.getPositionOnKdePath(A,f,S),C=b._offset,P=b._length;M[y+"0"]=L[0],M[y+"1"]=L[1],M[x+"0"]=M[x+"1"]=S,M[x+"Label"]=x+": "+a.hoverLabelText(_,w)+", "+h[0].t.labels.kde+" "+E.toFixed(3),M.spikeDistance=m[0].spikeDistance;var O=y+"Spike";M[O]=m[0][O],m[0].spikeDistance=void 0,m[0][O]=void 0,M.hovertemplate=!1,v.push(M),(u={stroke:t.color})[y+"1"]=n.constrain(C+L[0],C,C+P),u[y+"2"]=n.constrain(C+L[1],C,C+P),u[x+"1"]=u[x+"2"]=_._offset+S}}d&&(v=v.concat(m))}-1!==p.indexOf("points")&&(c=i.hoverOnPoints(t,e,r));var z=l.selectAll(".violinline-"+f.uid).data(u?[0]:[]);return z.enter().append("line").classed("violinline-"+f.uid,!0).attr("stroke-width",1.5),z.exit().remove(),z.attr(u),"closest"===s?c?[c]:v:c?(v.push(c),v):v}},{"../../lib":716,"../../plots/cartesian/axes":764,"../box/hover":884,"./helpers":1271}],1273:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../box/defaults":882,"../box/select":889,"../scatter/style":1141,"./attributes":1267,"./calc":1268,"./cross_trace_calc":1269,"./defaults":1270,"./hover":1272,"./layout_attributes":1274,"./layout_defaults":1275,"./plot":1276,"./style":1277}],1274:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),a=t("../../lib").extendFlat;e.exports={violinmode:a({},n.boxmode,{}),violingap:a({},n.boxgap,{}),violingroupgap:a({},n.boxgroupgap,{})}},{"../../lib":716,"../box/layout_attributes":886}],1275:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../box/layout_defaults");e.exports=function(t,e,r){i._supply(t,e,r,function(r,i){return n.coerce(t,e,a,r,i)},"violin")}},{"../../lib":716,"../box/layout_defaults":887,"./layout_attributes":1274}],1276:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,h=e.xaxis,f=e.yaxis;function p(t){var e=s(t,{xaxis:h,yaxis:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return i.smoothopen(e[0],1)}a.makeTraceGroups(c,r,"trace violins").each(function(t){var r=n.select(this),i=t[0],s=i.t,c=i.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,v=e[s.valLetter+"axis"],m=e[s.posLetter+"axis"],y="both"===c.side,x=y||"positive"===c.side,b=y||"negative"===c.side,_=r.selectAll("path.violin").data(a.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each(function(t){var e,r,a,i,o,l,h,f,_=n.select(this),w=t.density,k=w.length,T=m.c2l(t.pos+d,!0),A=m.l2p(T);if(c.width)e=s.maxKDE/g;else{var M=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?M.maxKDE/g*(M.maxCount/t.pts.length):M.maxKDE/g}if(x){for(h=new Array(k),o=0;o<k;o++)(f=h[o]={})[s.posLetter]=T+w[o].v/e,f[s.valLetter]=v.c2l(w[o].t,!0);r=p(h)}if(b){for(h=new Array(k),l=0,o=k-1;l<k;l++,o--)(f=h[l]={})[s.posLetter]=T-w[o].v/e,f[s.valLetter]=v.c2l(w[o].t,!0);a=p(h)}if(y)i=r+"L"+a.substr(1)+"Z";else{var S=[A,v.c2p(w[0].t)],E=[A,v.c2p(w[k-1].t)];"h"===c.orientation&&(S.reverse(),E.reverse()),i=x?"M"+S+"L"+r.substr(1)+"L"+E:"M"+E+"L"+a.substr(1)+"L"+S}_.attr("d",i),t.posCenterPx=A,t.posDensityScale=e*g,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(y?2:1)});var w,k,T,A=c.box,M=A.width,S=(A.line||{}).width;y?(w=g*M,k=0):x?(w=[0,g*M/2],k=S*{x:1,y:-1}[s.posLetter]):(w=[g*M/2,0],k=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:m,val:v},c,{bPos:d,bdPos:w,bPosPxOffset:k}),o.plotBoxMean(r,{pos:m,val:v},c,{bPos:d,bdPos:w,bPosPxOffset:k}),!c.box.visible&&c.meanline.visible&&(T=a.identity);var E=r.selectAll("path.meanline").data(T||[]);E.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke"),E.exit().remove(),E.each(function(t){var e=v.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr("d","h"===c.orientation?"M"+e+","+r[0]+"V"+r[1]:"M"+r[0]+","+e+"H"+r[1])}),o.plotPoints(r,{x:h,y:f},c,s)}})}},{"../../components/drawing":612,"../../lib":716,"../box/plot":888,"../scatter/line_points":1132,"./helpers":1271,d3:164}],1277:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../scatter/style").stylePoints;e.exports=function(t){var e=n.select(t).selectAll("g.trace.violins");e.style("opacity",function(t){return t[0].trace.opacity}),e.each(function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll("path.violin").style("stroke-width",r.line.width+"px").call(a.stroke,r.line.color).call(a.fill,r.fillcolor),o.selectAll("path.box").style("stroke-width",l.width+"px").call(a.stroke,l.color).call(a.fill,s.fillcolor);var h={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};o.selectAll("path.mean").style(h).call(a.stroke,c.color),o.selectAll("path.meanline").style(h).call(a.stroke,c.color),i(o,r,t)})}},{"../../components/color":591,"../scatter/style":1141,d3:164}],1278:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../isosurface/attributes"),i=t("../../plots/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=e.exports=s(o({x:a.x,y:a.y,z:a.z,value:a.value,isomin:a.isomin,isomax:a.isomax,surface:a.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:a.slices,caps:a.caps,text:a.text,hovertext:a.hovertext,hovertemplate:a.hovertemplate},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:a.colorbar,opacity:a.opacity,opacityscale:{valType:"any",editType:"calc"},lightposition:a.lightposition,lighting:a.lighting,flatshading:a.flatshading,contour:a.contour,hoverinfo:o({},i.hoverinfo)}),"calc","nested");l.x.editType=l.y.editType=l.z.editType=l.value.editType="calc+clearAxisTypes",l.transforms=void 0},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../isosurface/attributes":1054}],1279:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("../../lib/gl_format_color").parseColorScale,i=t("../../lib/str2rgbarray"),o=t("../../components/colorscale").extractOpts,s=t("../../plots/gl3d/zip3"),l=t("../isosurface/convert").findNearestOnAxis,c=t("../isosurface/convert").generateIsoMeshes;function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._x[e],n=this.data._y[e],a=this.data._z[e],i=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(a,this.data._Zs).id,h=t.index=u+o*c+o*i*s;t.traceCoordinate=[this.data._x[h],this.data._y[h],this.data._z[h],this.data.value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=c(t);var l={positions:s(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:s(t._i,t._j,t._k),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:i(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._intensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=a(t),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new u(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"../isosurface/convert":1056,"gl-mesh3d":282}],1280:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../isosurface/defaults").supplyIsoDefaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(t,e,r,o,s);var l=s("opacityscale");"max"===l?e.opacityscale=[[0,.1],[1,1]]:"min"===l?e.opacityscale=[[0,1],[1,.1]]:"extremes"===l?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var a=n/31,i=e+(1-e)*(1-Math.pow(Math.sin(t*a*Math.PI),2));r.push([a,Math.max(1,Math.min(0,i))])}return r}(1,.1):function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(l)||(e.opacityscale=void 0)}},{"../../lib":716,"../isosurface/defaults":1057,"./attributes":1278}],1281:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../isosurface/calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"volume",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"../isosurface/calc":1055,"./attributes":1278,"./convert":1279,"./defaults":1280}],1282:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../scatter/attributes").line,i=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");function h(t){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:"style"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:"style"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}e.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:h(),decreasing:h(),totals:h(),connector:{line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{editType:"plot"}),dash:a.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":591,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118,"./constants":1284}],1283:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib").mergeArray,i=t("../scatter/calc_selection"),o=t("../../constants/numerical").BADNUM;function s(t){return"a"===t||"absolute"===t}function l(t){return"t"===t||"total"===t}e.exports=function(t,e){var r,c,u=n.getFromId(t,e.xaxis||"x"),h=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=u.makeCalcdata(e,"x"),c=h.makeCalcdata(e,"y")):(r=h.makeCalcdata(e,"y"),c=u.makeCalcdata(e,"x"));for(var f,p=Math.min(c.length,r.length),d=new Array(p),g=0,v=!1,m=0;m<p;m++){var y=r[m]||0,x=!1;(r[m]!==o||l(e.measure[m])||s(e.measure[m]))&&m+1<p&&(r[m+1]!==o||l(e.measure[m+1])||s(e.measure[m+1]))&&(x=!0);var b=d[m]={i:m,p:c[m],s:y,rawS:y,cNext:x};s(e.measure[m])?(g=b.s,b.isSum=!0,b.dir="totals",b.s=g):l(e.measure[m])?(b.isSum=!0,b.dir="totals",b.s=g):(b.isSum=!1,b.dir=b.rawS<0?"decreasing":"increasing",f=b.s,b.s=g+f,g+=f),"totals"===b.dir&&(v=!0),e.ids&&(b.id=String(e.ids[m])),b.v=(e.base||0)+g}return d.length&&(d[0].hasTotals=v),a(e.text,d,"tx"),a(e.hovertext,d,"htx"),i(d,e),d}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120}],1284:[function(t,e,r){"use strict";e.exports={eventDataKeys:["initial","delta","final"]}},{}],1285:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a];!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"waterfall"===p.type&&(r=s[a],"h"===p.orientation?f.push(r):h.push(r),u.push(r))}var d={mode:i.waterfallmode,norm:i.waterfallnorm,gap:i.waterfallgap,groupgap:i.waterfallgroupgap};for(n(t,l,c,h,d),n(t,c,l,f,d),a=0;a<u.length;a++){r=u[a];for(var g=0;g<r.length;g++){var v=r[g];!1===v.isSum&&(v.s0+=0===g?0:r[g-1].s),g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0)}}}},{"../bar/cross_trace_calc":858}],1286:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../bar/defaults").handleGroupingDefaults,i=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("./attributes"),l=t("../../components/color"),c=t("../../constants/delta.js"),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR,f="#4499FF";function p(t,e,r){t(e+".marker.color",r),t(e+".marker.line.color",l.defaultLine),t(e+".marker.line.width")}e.exports={supplyDefaults:function(t,e,r,a){function l(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,l)){l("measure"),l("orientation",e.x&&!e.y?"h":"v"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate");var c=l("textposition");i(t,e,a,l,c,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==e.textposition&&(l("texttemplate"),e.texttemplate||l("textinfo")),p(l,"increasing",u),p(l,"decreasing",h),p(l,"totals",f),l("connector.visible")&&(l("connector.mode"),l("connector.line.width")&&(l("connector.line.color"),l("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if("group"===e.waterfallmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{"../../components/color":591,"../../constants/delta.js":686,"../../lib":716,"../bar/defaults":859,"../scatter/xy_defaults":1144,"./attributes":1282}],1287:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"initial"in e&&(t.initial=e.initial),"delta"in e&&(t.delta=e.delta),"final"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1288:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes").hoverLabelText,a=t("../../components/color").opacity,i=t("../bar/hover").hoverOnBars,o=t("../../constants/delta.js"),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(t,e,r,o){var c=i(t,e,r,o);if(c){var u=c.cd,h=u[0].trace,f="h"===h.orientation,p=f?t.xa:t.ya,d=u[c.index],g=d.isSum?d.b+d.s:d.rawS;if(!d.isSum){c.initial=d.b+d.s-g,c.delta=g,c.final=c.initial+c.delta;var v=w(Math.abs(c.delta));c.deltaLabel=g<0?"("+v+")":v,c.finalLabel=w(c.final),c.initialLabel=w(c.initial)}var m=d.hi||h.hoverinfo,y=[];if(m&&"none"!==m&&"skip"!==m){var x="all"===m,b=m.split("+"),_=function(t){return x||-1!==b.indexOf(t)};d.isSum||(!_("final")||_(f?"x":"y")||y.push(c.finalLabel),_("delta")&&(g<0?y.push(c.deltaLabel+" "+l):y.push(c.deltaLabel+" "+s)),_("initial")&&y.push("Initial: "+c.initialLabel))}return y.length&&(c.extraText=y.join("<br>")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,i=r.line.color,o=r.line.width;if(a(n))return n;if(a(i)&&o)return i}(h,d),[c]}function w(t){return n(p,t)}}},{"../../components/color":591,"../../constants/delta.js":686,"../../plots/cartesian/axes":764,"../bar/hover":862}],1289:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":1282,"./calc":1283,"./cross_trace_calc":1285,"./defaults":1286,"./event_data":1287,"./hover":1288,"./layout_attributes":1290,"./layout_defaults":1291,"./plot":1292,"./style":1293}],1290:[function(t,e,r){"use strict";e.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1291:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"waterfall"===l.type){i=!0;break}}i&&(o("waterfallmode"),o("waterfallgap",.2),o("waterfallgroupgap"))}},{"../../lib":716,"./layout_attributes":1290}],1292:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../bar/plot").plot;e.exports=function(t,e,r,s){var l=t._fullLayout;o(t,e,r,s,{mode:l.waterfallmode,norm:l.waterfallmode,gap:l.waterfallgap,groupgap:l.waterfallgroupgap}),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),c=r[0].trace,u=a.ensureSingle(o,"g","lines");if(c.connector&&c.connector.visible){var h="h"===c.orientation,f=c.connector.mode,p=u.selectAll("g.line").data(a.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var c=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),n?[a,i]:[i,a]}(r,s,l,h),u=c[0],p=c[1],g="";"spanning"===f&&!r.isSum&&o>0&&(g+=h?"M"+u[0]+","+p[1]+"V"+p[0]:"M"+u[1]+","+p[0]+"H"+u[0]),"between"!==f&&(r.isSum||o<d-1)&&(g+=h?"M"+u[1]+","+p[0]+"V"+p[1]:"M"+u[0]+","+p[1]+"H"+u[1]),void 0!==u[2]&&void 0!==p[2]&&(g+=h?"M"+u[1]+","+p[1]+"V"+p[2]:"M"+u[1]+","+p[1]+"H"+u[2]),""===g&&(g="M0,0Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else u.remove()})}(t,e,r,s)}},{"../../components/drawing":612,"../../lib":716,"../bar/plot":866,d3:164}],1293:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style").styleTextPoints;e.exports={style:function(t,e,r){var l=r||n.select(t).selectAll("g.waterfalllayer").selectAll("g.trace");l.style("opacity",function(t){return t[0].trace.opacity}),l.each(function(e){var r=n.select(this),l=e[0].trace;r.selectAll(".point > path").each(function(t){if(!t.isBlank){var e=l[t.dir].marker;n.select(this).call(i.fill,e.color).call(i.stroke,e.line.color).call(a.dashLine,e.line.dash,e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],1294:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),a=t("../lib"),i=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,i){if(i.enabled){for(var o=i.target,l=a.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return h;case"first":return f;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r+=o)}return a(r)};case"avg":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case"min":return function(t,e){for(var r=1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case"max":return function(t,e){for(var r=-1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case"range":return function(t,e){for(var r=1/0,i=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case"change":return function(t,e){var r=n(t[e[0]]),i=n(t[e[e.length-1]]);return r===s||i===s?s:a(i-r)};case"median":return function(t,e){for(var r=[],i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return a((r[Math.floor(l)]+r[Math.ceil(l)])/2)};case"mode":return function(t,e){for(var r={},i=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>i&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case"stddev":return function(e,r){var a,i=0,o=0,l=1,c=s;for(a=0;a<r.length&&c===s;a++)c=n(e[r[a]]);if(c===s)return s;for(;a<r.length;a++){var u=n(e[r[a]]);if(u!==s){var h=u-c;i+=h,o+=h*h,l++}}var f="sample"===t.funcmode?l-1:l;return f?Math.sqrt((o-i*i/l)/f):0}}}(i,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),"count"===i.func&&a.pushUnique(e._arrayAttrs,o)}}function h(t,e){return e.length}function f(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return a.coerce(t,n,l,e,r)}if(!o("enabled"))return n;var s=i.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var h=o("groups");if(!Array.isArray(h)){if(!u[h])return n.enabled=!1,n;u[h]=0}var f,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return a.coerce(p[r],f,c,t,e)}for(r=0;r<p.length;r++){f={_index:r};var v=g("target"),m=g("func");g("enabled")&&v&&(u[v]||"count"===m&&void 0===u[v])?("stddev"===m&&g("funcmode"),u[v]=0,d[r]=f):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=a.getTargetArray(e,{target:n});if(i){var s,l,c,h,f={},p={},d=[],g=o(e.transforms,r),v=i.length;for(e._length&&(v=Math.min(v,e._length)),s=0;s<v;s++)void 0===(c=f[l=i[s]])?(f[l]=d.length,h=[s],d.push(h),p[f[l]]=g(s)):(d[c].push(s),p[f[l]]=(p[f[l]]||[]).concat(g(s)));r._indexToPoints=p;var m=r.aggregations;for(s=0;s<m.length;s++)u(t,e,d,m[s]);"string"==typeof n&&u(t,e,d,{target:n,func:"first",enabled:!0}),e._length=d.length}}}},{"../constants/numerical":692,"../lib":716,"../plot_api/plot_schema":753,"../plots/cartesian/axes":764,"./helpers":1297}],1295:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../registry"),i=t("../plots/cartesian/axes"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/filter_ops"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType="transform",r.name="filter",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(l).concat(c).concat(u),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function i(a,i){return n.coerce(t,e,r.attributes,a,i)}if(i("enabled")){var o=i("target");if(n.isArrayOrTypedArray(o)&&0===o.length)return e.enabled=!1,e;i("preservegaps"),i("operation"),i("value");var s=a.getComponentMethod("calendars","handleDefaults");s(t,e,"valuecalendar",null),s(t,e,"targetcalendar",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var a=n.getTargetArray(e,r);if(a){var s=r.target,h=a.length;e._length&&(h=Math.min(h,e._length));var f=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if("string"==typeof s){var g=n.nestedProperty(e,s+"calendar").get();g&&(f=g)}var v,m,y=function(t,e,r){var n=t.operation,a=t.value,i=Array.isArray(a);function o(t){return-1!==t.indexOf(n)}var s,h=function(r){return e(r,0,t.valuecalendar)},f=function(t){return e(t,0,r)};o(l)?s=h(i?a[0]:a):o(c)?s=i?[h(a[0]),h(a[1])]:[h(a),h(a)]:o(u)&&(s=i?a.map(h):[h(a)]);switch(n){case"=":return function(t){return f(t)===s};case"!=":return function(t){return f(t)!==s};case"<":return function(t){return f(t)<s};case"<=":return function(t){return f(t)<=s};case">":return function(t){return f(t)>s};case">=":return function(t){return f(t)>=s};case"[]":return function(t){var e=f(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=f(t);return e>s[0]&&e<s[1]};case"[)":return function(t){var e=f(t);return e>=s[0]&&e<s[1]};case"(]":return function(t){var e=f(t);return e>s[0]&&e<=s[1]};case"][":return function(t){var e=f(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=f(t);return e<s[0]||e>s[1]};case"](":return function(t){var e=f(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=f(t);return e<s[0]||e>=s[1]};case"{}":return function(t){return-1!==s.indexOf(f(t))};case"}{":return function(t){return-1===s.indexOf(f(t))}}}(r,i.getDataToCoordFunc(t,e,s,a),f),x={},b={},_=0;d?(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},m=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},m=function(t,e){var r=x[t.astr][e];t.get().push(r)}),T(v);for(var w=o(e.transforms,r),k=0;k<h;k++){y(a[k])?(T(m,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function T(t,r){for(var a=0;a<p.length;a++){t(n.nestedProperty(e,p[a]),r)}}}},{"../constants/filter_ops":688,"../lib":716,"../plots/cartesian/axes":764,"../registry":845,"./helpers":1297}],1296:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_schema"),i=t("../plots/plots"),o=t("./helpers").pointsAccessorFunction;function s(t,e){var r,s,l,c,u,h,f,p,d,g,v=e.transform,m=e.transformIndex,y=t.transforms[m].groups,x=o(t.transforms,v);if(!Array.isArray(y)||0===y.length)return[t];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,k=a.findArrayAttributes(t),T=v.styles||[],A={};for(r=0;r<T.length;r++)A[T[r].target]=T[r].value;v.styles&&(g=n.keyedContainer(v,"styles","target","value.name"));var M={},S={};for(r=0;r<b.length;r++){M[h=b[r]]=r,S[h]=0,(f=_[r]=n.extendDeepNoArrays({},t))._group=h,f.transforms[m]._indexToPoints={};var E=null;for(g&&(E=g.get(h)),f.name=E||""===E?E:n.templateString(v.nameformat,{trace:t.name,group:h}),p=f.transforms,f.transforms=[],s=0;s<p.length;s++)f.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<k.length;s++)n.nestedProperty(f,k[s]).set([])}for(l=0;l<k.length;l++){for(c=k[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s<w;s++)d[M[y[s]]].push(u[s])}for(s=0;s<w;s++){(f=_[M[y[s]]]).transforms[m]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++}for(r=0;r<b.length;r++)h=b[r],f=_[r],i.clearExpandedTraceDefaultColors(f),f=n.extendDeepNoArrays(f,A[h]||{});return _}r.moduleType="transform",r.name="groupby",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"},r.supplyDefaults=function(t,e,a){var i,o={};function s(e,a){return n.coerce(t,o,r.attributes,e,a)}if(!s("enabled"))return o;s("groups"),s("nameformat",a._dataLength>1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(i=0;i<l.length;i++){var u=c[i]={};n.coerce(l[i],c[i],r.attributes.styles,"target");var h=n.coerce(l[i],c[i],r.attributes.styles,"value");n.isPlainObject(h)?u.value=n.extendDeep({},h):h&&delete u.value}return o},r.transform=function(t,e){var r,n,a,i=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),a=0;a<r.length;a++)i.push(r[a]);return i}},{"../lib":716,"../plot_api/plot_schema":753,"../plots/plots":825,"./helpers":1297}],1297:[function(t,e,r){"use strict";r.pointsAccessorFunction=function(t,e){for(var r,n,a=0;a<t.length&&(r=t[a])!==e;a++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1298:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/cartesian/axes"),i=t("./helpers").pointsAccessorFunction;r.moduleType="transform",r.name="sort",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function a(a,i){return n.coerce(t,e,r.attributes,a,i)}return a("enabled")&&(a("target"),a("order")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,h=e._arrayAttrs,f=function(t,e,r,n){var a,i=new Array(n),o=new Array(n);for(a=0;a<n;a++)i[a]={v:e[a],i:a};for(i.sort(function(t,e){switch(t.order){case"ascending":return function(t,r){return e(t.v)-e(r.v)};case"descending":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),a=0;a<n;a++)o[a]=i[a].i;return o}(r,o,a.getDataToCoordFunc(t,e,s,o),l),p=i(e.transforms,r),d={};for(c=0;c<h.length;c++){var g=n.nestedProperty(e,h[c]),v=g.get(),m=new Array(l);for(u=0;u<l;u++)m[u]=v[f[u]];g.set(m)}for(u=0;u<l;u++)d[u]=p(f[u]);r._indexToPoints=d,e._length=l}}}},{"../lib":716,"../plots/cartesian/axes":764,"./helpers":1297}]},{},[26])(26)});</script>    
+            <div id="85d2a8f1-f082-42f3-9119-422b0e8e4c58" class="plotly-graph-div" style="height:100%; width:100%;"></div>
+            <script type="text/javascript">
+                
+                    window.PLOTLYENV=window.PLOTLYENV || {};
+                    
+                if (document.getElementById("85d2a8f1-f082-42f3-9119-422b0e8e4c58")) {
+                    Plotly.newPlot(
+                        '85d2a8f1-f082-42f3-9119-422b0e8e4c58',
+                        [{"marker": {"color": "#4CB391"}, "opacity": 0.4, "type": "histogram", "x": [4224, 3212, 12918, 1510, 5551, 16837, 36482, 1872, 2566, 3565, 6730, 13155, 8389, 19861, 4046, 6468, 4639, 10585, 5658, 3113, 5554, 59133, 61111, 24566, 2318, 30305, 18651, 3976, 3157, 10896, 5082, 31669, 19989, 2028, 1803, 72577, 9693, 68479, 1892, 4700, 5807, 10192, 40867, 8135, 3997, 21359, 28621, 804, 1984, 320662, 12837, 11109, 8242, 4825, 34063, 32203, 14665, 4114, 36836, 3704, 22419, 1901, 677, 12068, 26397, 20295, 10547, 5685, 57101, 1745, 2413, 1919, 9425, 11985, 9390, 2247, 17307, 23283, 821, 17575, 2527, 21803, 5117, 20173, 6387, 24111, 2017, 15088, 67193, 14317, 50079, 22241, 4879, 10700, 72669, 2351, 22812, 11873, 41207, 12063, 28517, 2997, 3158, 88479, 20497, 15222, 59111, 750, 14531, 29590, 3726, 126296, 7901, 2117, 4060, 530, 82145, 3125, 4838, 652, 17827, 12968, 27411, 13798, 3406, 27834, 6180, 12029, 18655, 8858, 44625, 341725, 29248, 26677, 99005, 57333, 133424, 452, 4577, 7277, 2638, 46661, 9155, 1009, 46598, 20651, 1279, 3609, 5692, 61083, 4196, 26471, 9920, 393431, 2123, 7515, 15094, 1819, 60639, 116581, 18771, 1672, 1895, 2587, 17892, 137822, 4412, 4304, 35421, 11136, 4117, 35896, 12712, 7636, 2877, 13338, 87144, 5678, 20351, 6852, 9980, 6333, 614, 6217, 19346, 2150, 1957, 28787, 11198, 11089, 4082, 2832, 3619, 12215, 5331, 27867, 3108, 38572, 12961, 30232, 195020, 10757, 3877, 4156, 10621, 40121, 4876, 3005, 20822, 4747, 5473, 1987, 225, 8534, 52263, 470, 79167, 55323, 6451, 11448, 3652, 3712, 6030, 36239, 21396, 6450, 8460, 1384, 6176, 9497, 96214, 1913, 25101, 31535, 6558, 71310, 212, 552, 60395, 26098, 1216, 3121, 316, 21115, 19584, 3503, 47130, 12868, 5205, 7179, 105463, 3484, 2605, 6906, 8109, 1726, 2393, 74483, 1617, 54116, 72380, 3235, 7053, 16717, 16881, 16074, 3207, 59418, 7318, 1376, 12846, 5765, 10467, 97730, 1753, 9423, 5511, 28250, 8156, 12927, 674, 469, 21845, 1600, 9063, 45036, 4019, 4692, 16856, 226843, 79757, 16985, 5315, 86065, 12458, 65456, 2680, 11991, 14734, 24787, 511, 41951, 392, 759, 7829, 2726, 53229, 35597, 5838, 22179, 3745, 13781, 3394, 380, 1910, 118226, 8545, 3844, 2284, 16574, 221901, 29548, 1128, 2783, 5132, 6914, 9859, 135616, 13596, 25332, 29436, 18187, 59031, 101333, 916, 2880, 11880, 10776, 3672, 765, 12290, 13629, 7641, 4673, 28168, 4148, 66607, 2191, 5448, 7689, 3122, 23421, 734, 12674, 34562, 7290, 29293, 2011, 1336, 6192, 1079, 12485, 15775, 7029, 5285, 5284, 2430, 47651, 6628, 24914, 6124]}],
+                        {"barmode": "overlay", "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "title": {"text": "Dynamic histogram of Read length"}, "xaxis": {"title": {"text": "Read length"}}, "yaxis": {"title": {"text": "Number of reads"}}},
+                        {"responsive": true}
+                    )
+                };
+                
+            </script>
+        </div>
 
 <br>
 <br>
@@ -324,7 +358,7 @@
 <br>
 
 <h3 id="Yield_by_length">Yield by length</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmwAAAHKCAYAAAC%2BOBdLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVzUdf4H8NcMMBwDA4PgAYECGh4JmhcooUJ44qYVpe3m8dPVFYNCSfFIrbxSS8WzTUtMi9pKW1i1Nbxdr1rNUrECUgFD5BocgRlm5veHMcsIKF%2BccQbm9fw9egif7zHv9/hof%2B8%2Bp0in0%2BlARERERBZLbO4AiIiIiOj%2BWLARERERWTgWbEREREQWjgUbERERkYVjwUZERERk4ViwEREREVk4FmxEREREFo4FGxEREZGFY8FGREREZOFYsBGRWUybNg29e/fGjRs36lwrLS1FWFgYxo4di5MnTyIwMBCnT58W/BmnT59u9LNJSUmIiIh44H0RERGYNm2a4FiECgwMxPr1603%2BOY1RUVGB9evX1/s9rl%2B/HoGBgSguLjZDZETWgwUbEZnFkiVLYGNjgwULFtS59vbbb0OpVOKdd95B9%2B7d8dlnn6Fbt25miJKAuwXbhg0bcObMGXOHQmS1WLARkVl4enpi0aJFOH78OFJTU/XtBw4cQHp6Ol5//XW0b98ezs7O6NGjB5ydnc0YLRGRebFgIyKzGTFiBEaOHIl33nkHubm5KCkpwaJFizBgwAC89NJLABoe1vzxxx/xt7/9DX379kX37t0xevRo7N27t1Gf%2B9VXX2Ho0KF44oknMHz4cOzZs0dw7AcOHMCoUaPQvXt3REZGYseOHfprSqUSvXv3xsKFC%2Bs8l5ubiy5dumDr1q2CP7OwsBALFy5EeHg4nnjiCURERGDDhg2orq42eH9gYCC2bduGjz76CBEREejZsydefPFFnD9/vs47P//8c/13MWLECKSlpRkMD%2Bfm5iI0NBQAsGHDBgQGBiIwMBBJSUkG7ykqKsLMmTPRq1cv9O/fH3PnzkV5ebngHImofrbmDoCIrNvChQtx5swZzJs3D%2B7u7lCr1Vi2bNl9nzl16hSmTJmC4OBgLF68GC4uLti7dy8SEhJQWVmJZ599tsFnv/rqK8ydOxeRkZFISkpCeXk5NmzYAJVKBbG4cf8Ne/nyZSxbtgyvvPIKPDw8kJaWhqVLl0KtVmPy5MmQSqV47rnn8Pnnn%2BP111%2BHi4uL/tlPPvkEdnZ2eO655xr3Bf2hsLAQMTExEIvFmDFjBnx9fXHu3Dls3rwZeXl5WL58ucH9u3btgr%2B/P%2BbNmwcAWLduHaZOnYqMjAx9PJ999hkWLlyIoUOH6gusDRs2QK1W69/TunVrbN26FVOmTMHzzz%2BPmJgYAIC7u7vB58XFxWHEiBF4/vnn8fPPP%2BPdd98FgDpxEVHTsGAjIrNyc3PD0qVLMXXqVADAypUr0bZt2/s%2B8%2Babb6JTp05ISUmBre3d/xl76qmnUFJSgvfeew%2BjR4%2But/jSarVYs2YNunXrho0bN0IkEgEAevXqhaFDh6J169aNivnmzZvYs2cPOnfuDAAYOHAgiouLsWnTJrz00ktwdHTEX/7yF%2BzYsQNffvklJk6cCACoqqrCl19%2BiZEjR0Iulzfqs2qsX78eZWVl%2BNe//gUvLy8AQGhoKBwcHPDOO%2B9g8uTJ6Nixo/5%2BqVSK999/HzY2NgDuFl4xMTE4evQoRo4cCa1Wi/Xr1yM4OBjJycn653r16oUhQ4bovwuJRKKfP9i2bVv06NGj3vief/55TJkyBQDQv39/XL16FV9%2B%2BSWWLVum/56JqOk4JEpEZjdw4ED06NEDHTp0wDPPPHPfe69evYrs7GyMGjUKAFBdXa3/Jzw8HIWFhcjJyan32ZycHNy8eRPR0dEGRYS3tzd69uzZ6Hg7deqkL9ZqREdH4/bt27h48SIAwMfHB4MGDcKnn34KnU4HAEhLS0NpaSn%2B8pe/NPqzahw%2BfBj9%2BvVD69at6%2BQMoM6CgEGDBumLNQD6ePPy8gDc/S4KCwsxfPhwg%2Be8vLwEfRc17l1hGxgYiKqqKhQVFQl%2BFxHVxR42IrIIEokEdnZ2D7zv1q1bAIB33nkH77zzTr33lJSU3Lfdw8OjzjUPDw99MfMgDT0P3N2SpMb48eMxceJEnDhxAmFhYfjkk0/Qs2fPJq14LSoqwqFDhxp89t6c3dzcDH6XSCQA7vby1b6/VatW9ebS2O/iQZ9XWVkp6D1EVD8WbETUrNQMJU6bNg1RUVH13uPn53ffZ2uKvtrqa2vI/Z6vXbiEhobi8ccfx86dO%2BHk5ISLFy9i1apVjf6c2uRyOQIDA/Haa6/Ve72xw7m13weg3h4wId8FET0aLNiIqFnx9/dHhw4dkJmZiZkzZwp61s/PD56enkhPT8ekSZP0w6J5eXk4d%2B5co4ueX375BZmZmQbDounp6ZBKpXV6wF5%2B%2BWUsWrQIt2/fhoeHB4YNGyYo5hqDBg3CkSNH4OvrC1dX1ya9o7aa72Lfvn2YNGmSvj0/P7/Od8HeMiLz4xw2Imp23nzzTZw8eRKTJ09Geno6zp49i2%2B//Rbvv/8%2B4uPjG3xOLBbj1VdfxcWLFzFjxgwcPnwY//znPzFp0qR6hzkb0rp1a0yfPh1ffvkljh49isTERJw4cQLTp0%2BHo6Ojwb1/%2BtOfIJPJcPbsWcTExOiLH6Hi4%2BNhZ2eHsWPH4pNPPsHJkydx5MgR7Nq1C9OmTcPvv/8u6H1isRhxcXH44YcfEB8fjyNHjiAtLQ2TJk2Cp6enwRw/Z2dneHt7IyMjA8ePH8ePP/6I3NzcJuVBRE3DHjYianZCQkLwj3/8A1u2bMGyZcugUCjg5uaGgICAOpPo71WzLcXWrVvxyiuvwNvbG9OmTcPZs2cbvZN/ly5d8Oyzz2L9%2BvX47bff0Lp1a8ydO1e/GrQ2BwcHRERE4J///CfGjRsnONcarVu3xhdffIFNmzZh27ZtKCgogFQqhbe3N5566inIZDLB73zxxRchEomwdetWzJgxA97e3vqtP%2B49Mmzp0qVYuXIlpk%2BfDpVKhTFjxmDFihVNzoeIhBHpapYvERGR0alUKkRERKBXr15Yt26ducN5IIVCgaFDh%2BLpp5/G22%2B/be5wiOgP7GEjIjKB4uJiZGdn46uvvkJRUZF%2BnzlLUlhYiC1btqBfv35wc3NDfn4%2Btm/fDqVSifHjx5s7PCKqhQUbEZEJHD58GHPnztWfmWqJh9dLJBLk5eXhzTffRFlZGRwcHBAcHKzfmJiILAeHRImIiIgsHFeJEhEREVk4FmxEREREFo4FGxEREZGFY8FGREREZOG4StTC6HQ6aLWmWQciFotM9m5LwRxbDmvIkzm2HNaQJ3O8/3O1TwcxBRZsFkar1aG4WGn099raiiGXS6FQ3EF1tdbo77cEzLHlsIY8mWPLYQ15Msf7c3eXwsbGtAUbh0SJiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvXLAu2nJwcTJ48GT169EBoaCiWLFmCysrKRj27e/duDBs2DN27d0d0dDT27dtX556NGzdi0qRJ6NWrFwIDA/Hjjz/W%2B67CwkK89tprePLJJ9G7d2/Mnj0bpaWlD5UbERER0b1sm/JQbm4u9u3bh/z8/DqFkkgkwrJly4wSXH0UCgUmTJgALy8vJCcno7i4GMuXL0dpaSlWr15932f379%2BPpKQkTJ06FQMGDMC3336LhIQEuLi4ICwsTH/fZ599Bl9fXwwYMADffPNNve%2Bqrq7GlClToFarsXLlSlRXV2PVqlWIjY3Frl27IBKJjJo3ERERWS/BBdvhw4fxyiuvQKvVwt3dHRKJxOC6qQuV1NRUKBQK7NmzB%2B7u7gAAGxsbJCYmYvr06QgICGjw2XXr1mHYsGGYNWsWACAkJAQ5OTlITk42KNgOHz4MsViM06dPN1iw/fvf/0ZmZibS09PRqVMnAEDr1q0xbtw4HDt2DOHh4cZKmYiIiKyc4CHRNWvW4Mknn8SxY8dw/PhxHDx40OCfjIwMU8Spd/ToUYSGhuqLNQAYOnQoJBIJjhw50uBz169fR3Z2NqKjow3ao6OjceHCBRQXF%2BvbxOIHfy1HjhxBYGCgvlgDgCeffBLe3t73jYOIiIhIKME9bFevXsX69evRqlUrU8TzQFlZWXjuuecM2iQSCXx9fZGVldXgc9nZ2QAAf39/g/aAgADodDpkZ2cbFIGNiaO%2B3ryOHTveN47GsLU1/tRCGxuxwZ8tEXNsOawhT%2BbYclhDnszR/AQXbF5eXrhz544pYmkUhUIBmUxWp10mk6GsrKzB52qu3fusq6urwXUhcbi4uNQbx8MUbGKxCHK5tMnPP4hM5miyd1sK5thyWEOezLHlsIY8maP5CC7Ypk2bhg8//BDh4eFwdLScpHQ6XaPmz917j06nq7e9Mep7prFxNESr1UGhMH5BbGMjhkzmCIWiAhqN1ujvtwTMseWwhjyZY8thDXkyx/uTyRxN3jPXqIJtyZIlBr/funULUVFR6NevH%2BRyeZ37FyxYYJzo6iGTyaBQKOq0l5eX33fBQe2eNA8PD317zbvq67VrahxC33Wv6mrT/cug0WhN%2Bn5LwBxbDmvIkzm2HNaQJ3M0n0YVbDt37qy3/V//%2BledNpFIZNKCLSAgoM6Qo0qlwrVr1%2BrMbautZu5adna2QWGXlZUFkUhUZ25bY%2BK4fPlynfZff/0VgwcPFvQuIiIiovtpVMGWmZlp6jgaLTw8HJs3b0ZJSYm%2Bd%2B/AgQNQqVQYOHBgg8/5%2BPjA398fe/fuRVRUlL49PT0dQUFBghYcAMDAgQPx9ddfGyw%2BOH/%2BPPLy8u4bBxEREZFQguew5efnw9PTE3Z2dnWuVVdX4%2BbNm/Dy8jJKcPUZO3Ysdu7cidjYWMTGxqKoqAgrVqzAqFGjDHrO5s2bhz179uDSpUv6tvj4eCQkJMDX1xf9%2B/dHRkYGTpw4ga1btxp8xpkzZ1BcXIxff/0VAHDq1Cnk5eXB29sb3bt3BwAMGTIEgYGBiI%2BPx8yZM6HRaLBy5Ur06tULTz31lMnyJyIiIusjuGCLjIzEZ599hqCgoDrXMjMzERMTU%2B9QobHIZDKkpKRgyZIliIuLg4ODA6Kjo5GYmGhwn1arhUajMWgbPnw4KisrsWXLFmzbtg3t27fHmjVrDDbNBYD169fjzJkz%2Bt9rTlAYM2YMVqxYAQCwtbXFBx98gKVLl%2BL111%2BHSCRCREQE5s2bx1MOiIiIyKhEupplko3UuXNnfP755/UWbBcuXMDYsWMNerVIGI1Gi%2BJipdHfa2srhlwuRUmJ0iInUxoDc2w5rCFP5thyWEOezPH%2B3N2lJl8larS3q1QqHD16tN5Vo0RERETUdI0aEt2wYQM2btwI4O4q0BdffLHBe2NiYowTGREREREBaGTB1r17d7z00kvQ6XT45JNPMHToUIO9zIC7x0M9/vjjdc7qJCIiIqKH06iCbeDAgfqtKioqKhAbGwsfHx%2BTBkZEREREdwleJbp8%2BXJTxEFEREREDRBcsO3Zs6fBayKRCDKZDF27dkWbNm0eKjAiIiIiuktwwZaUlKTfZ6z2jiC128RiMZ555hm8/fbbsLUV/BFEREREVIvgauof//gHEhISMGDAAERHR6NVq1a4desW0tPTceLECSxevBgXL17Exo0b4e3tjVdeecUUcRMRERFZDcEF244dOxAVFYU5c%2Bbo2/z9/dG3b1%2BsWLECX375JdauXYuysjKkpaWxYCMiIiJ6SII3zj18%2BHCDZ2WGh4fj%2BPHjAICQkBDk5%2Bc/XHREREREJLxg02g0uHbtWr3Xrl69qp/XJpFIIJFIHi46IiIiIhJesIWFhWHt2rU4ceKEQfuxY8ewbt06DBgwAACQnZ0Nb29v40RJREREZMUEz2GbP38%2BXn75ZUyZMgVSqRStWrVCUVERlEolfH19MX/%2BfP29EyZMMGqwRERERNZIcMHWpk0bfP311/jqq6/w3XffobS0FF27dkWfPn0wZswYODo6AgD%2B/Oc/Gz1YIiIiImvUpE3SHB0d8ec//5lFGREREdEjIHgOGxERERE9WoJ72NRqNT744AOkp6cjPz8fVVVVBtdFIhEuXbpktACJiIiIrJ3ggu29997D9u3bER4ejqeffppbdxARERGZmOCCbd%2B%2BfZgxYwZPMCAiIiJ6RATPYSsrK0Pv3r1NEQsRERER1UNwwdanTx9kZmaaIhYiIiIiqofggm3BggX44osv8O9//xsqlcoUMRERERFRLYLnsD3zzDOorq7Gq6%2B%2BCpFIBAcHB4PrIpEI33//vdECJCIiIrJ2ggu2oUOHQiQSmSIWIiIiIqqH4IJtxYoVpoiDiIiIiBrAkw6IiIiILFyTCrasrCzMnDkTYWFheOKJJ3Dx4kUAwIYNG3Dq1CmjBkjG8dXV7zHpwDZ8dZXzC4mIiJobwQXb5cuX8fzzz%2BPMmTPo27cvNBqN/ppSqURqaqpRA6SH9/W177En9zxuVSmxJ/c8/u/0R1h/%2BYC5wyIiIqJGElywrV69GoGBgThw4ABWrlwJnU6nvxYUFIQff/zRqAHSw9t746c6becUuSzaiIiImgnBBdt///tfTJkyBY6OjnVWi3p4eODWrVtGC46MQw1tve3nFLmPOBIiIiJqiibNYbOzs6u3vaysjIfBW6B%2Bbh0avPbuxf2PLhAiIiJqEsEFW2BgIL799tt6rx07dgzdunV76KDIuKYFDkZIK796r128feMRR0NERERCCS7Yxo8fjy%2B%2B%2BALLli3Tnyl648YNbNu2DV9%2B%2BSXGjx9v9CDp4cV2jkBC0NP1XmMvGxERkWUTvHHuiBEjcO3aNWzYsAEff/wxACAuLg42NjaIj49HRESE0YMk44jw7YpPMk%2BhQHXboJ29bERERJZNcMEGAH/7298wevRoHDt2DEVFRZDL5QgLC4O3t7ex4yMjW9XnRYw/sa1O%2B39u/oz%2BrR83Q0RERET0IE0q2ACgbdu2iImJMWYs9IjYQVxn5ej2nJMs2IiIiCwUj6ayQs/7PFmnrRpapObwlAoiIiJL1Kgets6dO9fZc60hIpEIly5deqigyLSivLoj4/dM3FQbzmU7ePMKxvqFmCkqIiIiakijCrYZM2Y0umCj5mHOEyMw69znBm3VDWywS0RERObVqIItLi7O1HEIkpOTgyVLluD777%2BHo6MjRo4cicTERDg4ODzw2d27d%2BP9999HXl4e2rdvjxkzZmD48OEG96jVaiQnJ2P37t0oLy9HUFAQ5s%2Bfj86dOxvcd/bsWSQnJyMzMxNisRhdu3ZFQkICgoKCjJqvKcgl0nrnsqXmnGIvGxERkYVpdnPYFAoFJkyYAKVSieTkZMyZMwdpaWlYsGDBA5/dv38/kpKSEBUVhQ8%2B%2BAAhISFISEjA8ePHDe5bvnw5du3ahfj4eGzatAm2traYOHEiCgsL9ff88ssvmDx5Muzt7bF69WosX74cFRUVmDhxInJzm8eRTyPaPVGn7dubmWaIhIiIiO6nyatEzSU1NRUKhQJ79uyBu7s7AMDGxgaJiYmYPn06AgICGnx23bp1GDZsGGbNmgUACAkJQU5ODpKTkxEWFgYAKCgoQGpqKubPn48XXngBABAcHIzIyEikpKQgMTERAHDgwN2D0zds2KDv2QsKCsKAAQNw9OhRvPTSS6b5AozoGd9e%2BPrGBYM2LXTc4oOIiMjCNLsetqNHjyI0NFRfrAHA0KFDIZFIcOTIkQafu379OrKzsxEdHW3QHh0djQsXLqC4uBgAcPz4cWg0GowcOVJ/j7OzMyIiIgzeX11dDTs7O9jb2xvcJxaLodPpHjrPR6WPW90jqz6//p0ZIiEiIqKGNLsetqysLDz33HMGbRKJBL6%2BvsjKymrwuezsbACAv7%2B/QXtAQAB0Oh2ys7Ph7u6OrKwseHh4wM3Nrc59aWlp0Gq1EIvFGDVqFD766CO8%2B%2B67%2BL//%2Bz9oNBokJyfD3d29zpw4oWxtjV9H29iIDf6s8eeO/XD2uxyDNkV1Fa5VFMHfxdPocZhSQzm2JNaQI2AdeTLHlsMa8mSO5tfsCjaFQgGZTFanXSaToaysrMHnaq7d%2B6yrq6vBdYVCARcXlzrPu7q6Qq1W486dO3B2doafnx%2B2b9%2BO2NhYfPDBBwCA1q1b48MPPzTo/RNKLBZBLpc2%2BfkHkckcDX6XQ4p2DjLcqFQYtH%2Bddw5vhY4xWRymdG%2BOLZE15AhYR57MseWwhjyZo/k0u4KtITqdrlFbj9x7T83wZe32%2Bt5z7zBnTk4O4uLiEBISgmeffRbV1dXYsWMHpk6dik8//RReXl5NSQNarQ4KxZ0mPXs/NjZiyGSOUCgqoNEYrgwd59cP710%2BYNB2rug6sn6/CXd70xWPxna/HFsKa8gRsI48mWPLYQ15Msf7k8kcTd4z1%2BwKNplMBoVCUae9vLz8vgsOavekeXh46Ntr3lXT89bQ%2BxUKBezs7ODk5AQAWLNmDTw8PLB69Wp9gRcSEoLIyEh8%2BOGHjVq12pDqatP9y6DRaOu8/wnZY5DZOEChqTRoT/nlOOI6R5ksFlOpL8eWxhpyBKwjT%2BbYclhDnszRfJrdSQcBAQF15qqpVCpcu3atzty22mrmrmVnZxsUdllZWRCJRPrrAQEBKCoqQmlpqcE8tqysLPj5%2BUEsvltB//rrrwgODjb4Xuzt7eHn54dr1649fKKP2Au%2BvbA154RB27myXK4YJSIisgDN7qSD8PBwbN68GSUlJZDL5QDubrGhUqkwcODABp/z8fGBv78/9u7di6io//UapaenIygoSD/vLCwsDGKxGPv27cO4ceMAAEqlEgcPHjQ47N7LywuXL182GIqtqKhAVlYWhg4davS8Ta1/68fxn8JsXLp9w6B9e85JdHHzhlzSfIZGiYiIWppmd9LB2LFjsXPnTsTGxiI2NhZFRUVYsWIFRo0aZdBzNm/ePOzZs8egty8%2BPh4JCQnw9fVF//79kZGRgRMnTmDr1q36e9q0aYOxY8di9erVsLW1hZeXFz788EMAwIQJE/T3vfTSS5g%2BfTpmzpyJMWPGQK1WIyUlBQqFAi%2B%2B%2BOIj%2BCaMb3KnpzD73OfQ1GqrhhZHCq5gdD0HxhMREdGj0SznsKWkpGDJkiWIi4uDg4MDoqOj9Rva1tBqtdBoNAZtw4cPR2VlJbZs2YJt27ahffv2WLNmjX7T3BpJSUlwcnLC2rVrUV5ejuDgYKSkpMDT83/bXERERGD9%2BvXYunUrZs6cCRsbGwQGBmL79u11jrBqLuQSKSb5DagzNPpd8W8s2IiIiMxIpGviLq8///wzsrKyUFVVVefa6NGjHzowa6XRaFFcrDT6e21txZDLpSgpUT5wMuUrZ3fhjlZl0PZuzxcsflhUSI7NlTXkCFhHnsyx5bCGPJnj/bm7Sy1vlWhFRQWmT5%2BOU6dOQSQS1bstBgu25q2Ngwty7hQZtHFYlIiIyHwEl4ObNm1CXl4edu7cCZ1Ohw0bNuCjjz5CVFQU2rdvj927d5siTnqEnnmsR52207eyzRAJERERAU0o2DIyMvDXv/4VPXv2BAC0a9cOoaGhSE5ORrdu3fDJJ58YPUh6tILkvmhnb3giRIGqHBdKmt92JURERC2B4IItLy8P/v7%2BsLGxgUgkQkVFhf7aqFGjkJGRYdQAyTxebN%2BnTtu/8n8yQyREREQkuGBzcXHBnTt3j05q1aoVrl69qr9WXV2tv0bNW5DcF262huep3VZXNnA3ERERmZLggi0wMBC//fYbAKBfv354//338d133%2BHChQvYuHFjs93SgupytJEY/F6pUTVwJxEREZmS4ILtueeeg1J5d9uJ1157DRUVFXj55Zfx4osvIj8/H0lJSUYPkszD2c7e4PeS6grOYyMiIjIDwdt6jBgxQv%2Bzj48PvvnmG/0WHz179jQ4f5Oat5Fe3bH2Z8M5if/K/wlBcl8zRURERGSdHvqkAycnJ0RERBgjFrIwNfPYSqv/t7DkVqXCjBERERFZpyYXbEqlEjdu3Kj3pINu3bo9VFBkOTwdXFB6%2B38FW0l1BQ7k/4gor%2B5mjIqIiMi6CC7YiouLsWDBAhw6dKjONZ1OB5FIhMuXLxslODK/%2BoZFP73%2BHdo4unJolIiI6BERXLAtXLgQp06dwvjx4xEQEAA7OztTxEUWIkjui2faBeHrGxcM2jf9chhJXYejg7OnmSIjIiKyHoILtlOnTiEpKQkvvPCCKeIhC/SMby/8crsQl8pv6NtUOg3WXfkWC7v/yeIPhSciImruBG/r4ejoCC8vL1PEQhbsed9eEN3TVlZdibNFOWaJh4iIyJoILtieeeYZ7N%2B/3xSxkAXr4OyJVx%2BPhM09Zdt/i6828AQREREZi%2BAh0ddeew3z58/HjBkzMGjQILi6uta5Z8iQIUYJjixLkNwX/s6e%2BOX2TX3bz7dv4rfbhZzLRkREZEKCC7bc3Fz88MMP%2BO233%2Bo96J2rRFu2%2BlaNpuWdR1xglJkiIiIiavkEF2xvvPEGbt%2B%2BjXnz5nGVqBUKkvuiq0s7gwUI50pz2ctGRERkQoILtgsXLmDp0qWIjo42RTzUDDzv2wtvXUw3aGMvGxERkekIXnTQqlUruLi4mCIWaiY6OHsi2NXHoO1caS4PhiciIjIRwQXbuHHj8Nlnn5kiFmpGnnksuE7b3389ihKV0gzREBERtWyCh0TFYjGuXLmCMWPGIDw8HG5ubgbXRSIRJk6caKz4yEJ1cPbE06274tubl/Rtd7RqnC3KwZB2T5gxMiIiopZHcIEAICoAACAASURBVMG2atUqAEBeXl69q0FZsFmP4d5P4Fjhz6jSVevbMhW/s2AjIiIyMsEFW31beZB1kkuk6CJrh/Nl1/Vtl0vzUaJS8rgqIiIiIxJcsHl7e5siDmqmAmVtDQq2Kmg4LEpERGRkghcdENXW18MPDiLDvfgyFb%2BbKRoiIqKWqVE9bOPHj8eiRYsQEBCA8ePH3/dekUiElJQUowRHlk8ukSKqbVek3fhB33a%2B9Do30iUiIjKiRvWw6XQ6g5/v949WqzVZsGSZBrUNhIPYsJdt/42LZoqGiIio5WlUD9vHH39c789EwN1ets4uhnPZLpTkcvEBERGRkXAOGxlFoKytwe%2BVOjWOFFwxUzREREQti%2BBVojWKioqQl5eHqqqqOtf69OnzUEFR89PXww/7bvwIRXWlvu2f%2BT%2Bgtb0z%2Brd%2B3IyRERERNX%2BCC7abN29i9uzZOH36dJ1rOp0OIpGo3g11qWWTS6R4LfBprLr8DSq0an37hzn/gZeTnAsQiIiIHoLggu3tt9/G5cuXkZiYiMDAQEgkElPERc1QB2dPTOsYjnU/Z6BmmYoWOhy6eQWTWLARERE1meCC7cyZM5g9ezaee%2B45U8RDzVyQ3BdhHp1w7NYv%2BrazRb9hcOtA9rIRERE1keBFByKRCO3atTNFLNRCdHJpY/B7pVaN9T9noESlNFNEREREzZvggm3YsGE4dOiQKWKhFqKbmxfaObgatJWoK3C2KMdMERERETVvgodEhw8fjjfeeAM6nQ6DBw%2BGm5tbnXu6detmlOCoeZJLpEjsMhRbfj6CX5QF%2Bvbs27fMGBUREVHzJbhgmzBhAgBg586d2LVrl8E1rhKlGnKJFE%2B6%2BxoUbD%2BUXMeFkmsIkvuaMTIiIqLmR3DBtnz5clPEQS1QXw8/fPP7TyhVVwAAqnTVWP/zIczvNoILEIiIiAQQXLCNGTPGFHEIkpOTgyVLluD777%2BHo6MjRo4cicTERDg4ODzw2d27d%2BP9999HXl4e2rdvjxkzZmD48OEG96jVaiQnJ2P37t0oLy9HUFAQ5s%2Bfj86dO9d537fffou///3vuHLlCuzt7dGtWzesWbOm3qFiayOXSBH/eKTB3mwaaHHyVjYLNiIiIgGa3dFUCoUCEyZMgFKpRHJyMubMmYO0tDQsWLDggc/u378fSUlJiIqKwgcffICQkBAkJCTg%2BPHjBvctX74cu3btQnx8PDZt2gRbW1tMnDgRhYWFBvd99dVXSEhIQGhoKN5//32sWLECgYGBUKvVoLs6OHuit3sHc4dBRETUrDWqh23Dhg2IiYlBmzZtsGHDhvveKxKJMGPGDKMEV5/U1FQoFArs2bMH7u7uAAAbGxskJiZi%2BvTpCAgIaPDZdevWYdiwYZg1axYAICQkBDk5OUhOTkZYWBgAoKCgAKmpqZg/fz5eeOEFAEBwcDAiIyORkpKCxMREAEBJSQmWLFmCBQsW4MUXX9R/RkREhEnybknK/hgiJSIiosZpdMEWHh5uEQXb0aNHERoaqi/WAGDo0KGYN28ejhw50mDBdv36dWRnZ2PmzJkG7dHR0Zg7dy6Ki4vh7u6O48ePQ6PRYOTIkfp7nJ2dERERgSNHjugLtn379kGn01nEELGl83I0HB6%2BXJaPEpUSconUTBERERE1L40q2DIzM%2Bv92RyysrLqnLIgkUjg6%2BuLrKysBp/Lzs4GAPj7%2Bxu0BwQEQKfTITs7G%2B7u7sjKyoKHh0edOWgBAQFIS0uDVquFWCzGDz/8AD8/P%2BzevRubN29GYWEhAgMD8frrryM0NPShcrS1Nf5ItY2N2ODPRym0TQD23riA8uoqAEC5pgrflfyG4d7djfo55szxUbGGHAHryJM5thzWkCdzND/Biw7MTaFQQCaT1WmXyWQoKytr8Lmaa/c%2B6%2BrqanBdoVDAxcWlzvOurq5Qq9W4c%2BcOnJ2dcevWLeTk5GD9%2BvVITExEq1atsH37dkydOhV79%2B6Fj49Pk/ITi0WQy03X8ySTOZrs3Q2RQ4oenr44duN/x1XlVZWYLE9z5PioWUOOgHXkyRxbDmvIkzmaT7Mr2BpSswfcg9x7j06nq9Ne33tq7quh1Wpx584drF27FgMHDgQA9OnTB5GRkdi2bRsWL14sNIU/3quDQnGnSc/ej42NGDKZIxSKCmg0WqO//0F87OUGv5%2B/dR1Zv9%2BEu73xijZz5/goWEOOgHXkyRxbDmvIkznen0zmaPKeOcEFm0ajwccff4y0tDTk5%2BejqqrK4LpIJML3339vtADvJZPJoFAo6rSXl5ffd8FB7Z40Dw8PfXvNu2p63hp6v0KhgJ2dHZycnAze169fP/09Dg4OCA4Oxq%2B//io0LQPV1ab7l0Gj0Zr0/Q3pJe%2BA9NwLUFRXAgDK1ZX4sTgXAzw7Gf2zzJXjo2QNOQLWkSdzbDmsIU/maD6CC7bVq1fjo48%2BQpcuXdC/f39IJBJTxNWggICAOnPVVCoVrl27VmduW201c9eys7MNCrusrCyIRCL99YCAABQVFaG0tNRgHltWVhb8/PwgFov19zXUE9eYnj5rI5dI0a%2BVPw4UXAIA6AD8WJKHrq5eXHxARET0AIILtrS0NEydOrXOastHJTw8HJs3b0ZJSQnk8rvDbAcOHIBKpdIPTdbHx8cH/v7%2B2Lt3L6KiovTt6enpCAoK0q86DQsLg1gsxr59%2BzBu3DgAgFKpxMGDBxETE6N/btCgQdiwYQNOnjyJwYMHAwAqKipw/vx5REdHGz3vlkB3z%2B/fl/yG/MpSJHSOYtFGRER0H4ILtqqqqodeBfkwxo4di507dyI2NhaxsbEoKirCihUrMGrUKIOes3nz5mHPnj24dOmSvi0%2BPh4JCQnw9fVF//79kZGRgRMnTmDr1q36e9q0aYOxY8di9erVsLW1hZeXFz788EMA/ztHFQC6d%2B%2BOyMhILFiwALNmzdIvOqisrMSUKVMewTfR/PT38MeRgkyocberWQMd8ipKcbYoB0PaPWHm6IiIiCyX4IJtwIABuHDhgtmKNplMhpSUFCxZsgRxcXFwcHBAdHS0fn%2B0GlqtFhqNxqBt%2BPDhqKysxJYtW7Bt2za0b98ea9as0W%2BaWyMpKQlOTk5Yu3YtysvLERwcjJSUFHh6Gh6ntGrVKqxevRorV66EUqlEUFAQtm/fjjZt2pgm%2BWaug7Mn5nYbga/zfsAPpdcBADrosC//R9yqUqK/hz%2BPrCIiIqqHSHfv8scHuHXrFqZOnYrRo0dj4MCB%2Bsn3tfEczabTaLQoLlYa/b22tmLI5VKUlCjNPpmyRKXE0ov/QrFKCTFE0P4xWGorEuOVToMRJPdt0nstKUdTsYYcAevIkzm2HNaQJ3O8P3d3qeWtEnV2doafnx%2BWL1%2BO5cuX13vP5cuXHzowarnkEile6TQYm389gjLVHah0d3tCq3VabMs%2BjsXdn%2BGcNiIioloEF2yLFi3C/v37ERkZiYCAANjZ2ZkiLmrhOjh7IqnrcJwtysHn177T97KVV1dxThsREdE9BBds3377LWbOnInJkyebIh6yInKJFEPaPQGlWoW0Gz/o2/ff%2BAl9Wvmxl42IiOgPggdcbW1t0bVrV1PEQlZqUNtAuNn97yiQUnUFzhblmDEiIiIiyyK4YBsyZAiOHTtmiljISsklUgxt%2BwRqbze8/8ZPKFEZf/EFERFRcyR4SHTkyJF44403UF1djUGDBtW7SrRbt25GCY6sR18PP3zz%2B08oVVcAAMrUFdiX/xOGez3BoVEiIrJ6ggu2iRMnAgB27NiBjz/%2B2OBazbFMXCVKQtX0sn1%2B/SyAu6ciHC/8GZmKGxjSthu6ufEIKyIisl6CC7aGtvIgelh9PfxwvPAX3FLdhkpbDamtPfIrSvHp1VNwznfE9I4DubEuERFZJcEF25gxY0wRBxHkEilmdhmCS2X52J//E0rUdwAAKq0GhVXl2PjLIczrNpI9bUREZHVMuy0vkUByiRQDPDthZpchGNe%2BL2R2DtD8sUdbkUrJ1aNERGSVWLCRRaop3O5dPfrv3y/ht9uFOF9ynatIiYjIaggeEiV6lPp6%2BOFAwSUUq5SwgQhVGjU2/nIIFRo13CVSJHSO4hApERG1eOxhI4tWc%2B6op70LHG0lcLCxQ7FKiQqNCvkVpbhUlm/uEImIiEyOBRtZvJpzR//P/yk83aYrRH/8HwBcVRZzaJSIiFo8QQVbZWUlnnrqKRw8eNBU8RDVSy6RoofcB309/NDOwRX2YhuIIcLxwl%2BwJvMAizYiImrRBBVsDg4OqKqqgqOj44NvJjKBmq0/wjwfhwZaVGnVyKso5epRIiJq0QQPiYaEhODkyZOmiIWoUeQSKXyc3CGCCDoAOuiw/8ZPKK5iLxsREbVMgleJ/u1vf0NcXBwkEgmGDBkCT09PiEQig3vc3NyMFiBRfbq5eUFm52Bw9ujF0jwEtG1t5siIiIiMT3DB9uyzzwIANmzYgI0bN9Z7D88SJVO79%2BxREURQVlfhTEEOWumkkNlw2J6IiFoOwQXbjBkz6vSoEZlDzdmjxWol3OyccLTgZ%2By98RPcbB0xvkMoStWVaC915z5tRETU7Aku2OLi4kwRB5FgNQsQriqLcVtdiS9zv4fM3gFFlUps/vUIKjUqONhIeGg8ERE1ew%2B1D1tVVRVu3ryJqqoqY8VDJEjNdh/d3LwglzihXF0FRxs73KmuQoVGjVtV5dj86xFu%2B0FERM1ak46m%2Bu9//4vVq1fjhx9%2BgFarhVgsRs%2BePTFr1iz07NnT2DESPZBcIsVrXaJQJFLCpkqEjVcO4U6VCjYiMcrVlbhUlo8Bnp3MHSYREVGTCO5hO3/%2BPCZMmICrV6/ihRdeQHx8PGJiYpCTk4MJEybghx9%2BMEWcRA/kbi9F3zZ%2B8HfxxPSOA%2BEukUKj00Klrcbu3HP47XahuUMkIiJqEsE9bMnJyQgMDMSOHTvg5OSkb589ezbGjx%2BP5ORkbNu2zahBEgnVwdkTz3j3xKdXT0Gl1aBEpcTGXw7hGe%2BefwyfciECERE1H03qYZsyZYpBsQYATk5OmDx5Ms6dO2e04IgeRjc3LzjbOUILHWxEYhSrlPj02mkkX8ngnDYiImpWBBdsWq0WEomk3mv29vbQarUPHRSRMcglUkzvOBAe9i6wFdlABBEkIhsUq27jqrLY3OERERE1muCCrXPnzvj000/rvfbZZ5%2Bhc%2BfODx0UkbF0cPZEUtfhGP1YD9hABEV1JSo11SioKGMvGxERNRuC57D99a9/xYwZMzB69Gj86U9/gqenJwoLC5Geno7Lly83ePoBkbnIJVK0dnCFva0dnCCGoroC/8w/j1NF2YgPjOR8NiIisniCC7bIyEisWrUKq1atwsqVK/Xtbdq0wapVqxAREWHUAImMob3UHa0kziisKq8zNMqCjYiILF2jCrbMzEz4%2BfnB3t4eADBq1ChER0cjOzsbpaWlcHNzg7%2B/P4%2BsIosll0gRHxiJs0U5%2BOLa9yirroSdyAZudg7mDo2IiOiBGjWHbcyYMbhy5QoAYPz48cjKyoJIJEJAQAB69eqFgIAAFmtk8eQSKaS29tDg7sKYap0GeRWlZo6KiIjowRpVsEkkEqhUKgDAmTNnoFRysjY1TzodIIIIYtz9DwxlNY9VIyIiy9eoIVEfHx989NFHuHXrFgDg9OnT%2BP333xu8f8iQIcaJjsjIurl5oY2DDL9XlgEAjt38BX1a%2BXEeGxERWbRGFWyxsbGYPXs2MjIyIBKJ8O677zZ4r0gkwuXLl40WIJExySVSDG/XHZ9eOw0nGwlK1Hd4zigREVm8RhVsI0aMQEhICHJycvDnP/8ZCxcuRMeOHU0dG5FJdHPzQqvfnZFfUQoddNib/yO6uvK4KiIislyN3tbD3d0d7u7uGDNmDJ566in4%2BPiYMi4ik5FLpAjz7IjPrp2FDkBBpYK9bEREZNEE78O2fPlyU8RB9Eg52dhDBBFEAHTQcfEBERFZNMFHUxG1BDWLD3TQQQfgyM2feVQVERFZrGZZsOXk5GDy5Mno0aMHQkNDsWTJElRWVjbq2d27d2PYsGHo3r07oqOjsW/fvjr3qNVqvPvuuwgLC0NwcDBefvllZGZmNvhOrVaLMWPGIDAwEPv3729yXvToyCVSDGz9uP73mmFRIiIiS9TsCjaFQoEJEyZAqVQiOTkZc%2BbMQVpaGhYsWPDAZ/fv34%2BkpCRERUXhgw8%2BQEhICBISEnD8%2BHGD%2B5YvX45du3YhPj4emzZtgq2tLSZOnIjCwsJ635uamoqbN28aJT96dGqGRWv2ZNPp7raXqJQ4X3KdPW5ERGQxBM9hM7fU1FQoFArs2bMH7u7uAAAbGxskJiZi%2BvTpCAgIaPDZdevWYdiwYZg1axYA6Fe%2BJicnIywsDABQUFCA1NRUzJ8/Hy%2B88AIAIDg4GJGRkUhJSUFiYqLBO4uLi7Fu3Tq8/vrrmD9/vilSJhPp5uaFdg6uKFYr4W4nRTc3L5SolEi%2BkoEStRJyOykPhyciIovQ7HrYjh49itDQUH2xBgBDhw6FRCLBkSNHGnzu%2BvXryM7ORnR0tEF7dHQ0Lly4gOLiYgDA8ePHodFoMHLkSP09zs7OiIiIqPf97733Hvr164eQkJCHTY0eMblEipldhuCvAQMxs8sQyCVSXFUWo0SthIPYDoVV5RwmJSIii9CoHrazZ88KemmfPn2aFExjZGVl4bnnnjNok0gk8PX1RVZWVoPPZWdnAwD8/f0N2gMCAqDT6ZCdnQ13d3dkZWXBw8MDbm5ude5LS0uDVquFWHy3zr1w4QLS09ORnp5ujNTIDOQSqUEPWnupO2S2jsj/44zR3bnn4O3ohg7OnuYKkYiIqHEF28svv6w/3F2n0z3woHdTnnSgUCggk8nqtMtkMpSVlTX4XM21e591dXU1uK5QKODi4lLneVdXV6jVaty5cwfOzs7QarV46623MGnSJDz22GPIzc1tck73srU1fsenjY3Y4M%2BWyBg5etq6YLj3E9iZfQoqbTVKVEps%2BfUI5nUfCXd78w%2BNWsPfI2AdeTLHlsMa8mSO5teogm3Hjh36n5VKJd5%2B%2B234%2BfkhOjoaHh4euHXrFtLS0pCTk4OFCxeaLNj7aUwhCaDOPbo/ZprXbq/vPTX31fjHP/6BwsJCTJ06tSnhNkgsFkEuN11hIJM5muzdluJhcxzg0Alp%2BRdQcKcMNiIxyqur8Jv6FgLatjZShA/PGv4eAevIkzm2HNaQJ3M0n0YVbH379tX/vHjxYvTu3RsrV640uGfMmDF4/fXXcejQIQwePNi4UdYik8mgUCjqtJeXl993wUHtnjQPDw99e827anreGnq/QqGAnZ0dnJycoFQq8d577yEhIQFqtRpqtRq3b98GAFRWVuL27dtwdnZuUn5arQ4KxZ0mPXs/NjZiyGSOUCgqoNFojf5%2BS2CsHMUQ4W8dB2L9lQwUVymh1ajxxc/foYOdh9l72azh7xGwjjyZY8thDXkyx/uTyRxN3jMneJXo/v37sWrVqnqvjRo1CrNnz8Zbb7310IE1JCAgoM5cNZVKhWvXrtWZ21Zbzdy17Oxsg8IuKysLIpFIfz0gIABFRUUoLS01mMeWlZUFPz8/iMVilJSUoLS0FIsWLcKiRYsMPmfOnDnw8PDAiRMnmpxjdbXp/mXQaLQmfb8lMEaOvo6t8IxXT3x67TRcbB2gqK7Ej8W5kNo6oL3U3ewrR63h7xGwjjyZY8thDXkyR/MRXLBVVlaiqKio3mtFRUWN3sC2qcLDw7F582aUlJRALpcDAA4cOACVSoWBAwc2%2BJyPjw/8/f2xd%2B9eREVF6dvT09MRFBSkX3UaFhYGsViMffv2Ydy4cQDuDgMfPHgQMTExAABPT0%2BDYWIAuHXrFmbOnIm4uDj079/fqDmTeXRz80LrAhlK1ErIbB2xP/8nlGsqud0HERE9coILtl69emHt2rXo2rUrHn/8fzvFX7lyBWvXrkWvXr2MGuC9xo4di507dyI2NhaxsbEoKirCihUrMGrUKIOes3nz5mHPnj24dOmSvi0%2BPh4JCQnw9fVF//79kZGRgRMnTmDr1q36e9q0aYOxY8di9erVsLW1hZeXFz788EMAwIQJEwAA9vb26Nevn0FcNYsOOnbsiCeffNJk%2BdOjI5fcLcyuKotxW12JL3K/g9TGHsWq2zhccAWD2gSyaCMiokdCcME2f/58/OUvf8Ho0aPRsWNHeHp6orCwEL/%2B%2Bivc3NxMvnmsTCZDSkoKlixZgri4ODg4OCA6OrrOhrZarRYajcagbfjw4aisrMSWLVuwbds2tG/fHmvWrNFvmlsjKSkJTk5OWLt2LcrLyxEcHIyUlBR4enJrB2tTs%2B1HiUqJjAIpilW3UaWpxqGbmbhQmsueNiIieiREunuXPzZCUVERPvroI5w5c0Y/16tfv36YMGGCwYR%2BEk6j0aK42PhHItnaiiGXS1FSorTIsXljMHWOJSolDhdcwcGCy5CIbVGt02CS/1PoIfcx%2Bmc1xBr%2BHgHryJM5thzWkCdzvD93d6nlLToAgFatWtXp0SJq6eQSKXrKffDNjZ9wR6OCncgGbnYO5g6LiIisQLM7S5TInErVlbAT28AOtgB0KFWbdpENERER0MiCbe7cuY1%2BoUgkwrJly5ocEJElc7NzgFqrgVqnga3IBgUVZSixgG0%2BiIioZWtUwXb69OlGv7Axpw0QNVel6kpIbGzhCAkU1RX4Z/55nCrK5uIDIiIyqUYVbAcPHjR1HETNQnupO1pJnFFYVQ4RRHCxdUCJWomrymL9atKrymKL2FyXiIhaDs5hIxKgZm%2B2S2X5Bhvptpe6o0SlRPKVDJSoldxcl4iIjKrJBduxY8dw5swZlJSUIDY2Fl5eXrhw4QIee%2Bwx/akBRC2RXCLFAM9O6OrqZdCbdr7kOkrUSjiI7VBYVY5LZfkY4NnJ3OESEVELILhgq6ioQGxsLE6ePKmfrzZu3Dj9iQDt2rXDnDlzjB4okaWp2VS3RnupO2S2jsivKAUA7M//CV1dvdjLRkRED03wLm9r1qzBTz/9hPXr1%2BO7775D7X13BwwYgP/85z9GDZCouZBLpBjSthvsbWzhYe%2BMck0lLpXl3%2B15Uxl/M2QiIrIegnvY9u/fj1dffRVRUVF1jn7y8vLCjRs3jBYcUXPDA%2BOJiMgUBBdsxcXF6NixY73XxGIxKiu5kShZr4YOjK%2B9kpSIiEgowUOibdq0wc8//1zvtStXruCxxx576KCImjO5RIoech90c/OC3E4KpabKYCUph0iJiEgowT1sQ4YMwZYtW9C7d28EBgYCuLtZbl5eHrZv345nn33W6EESNUe1e9vaS%2B%2BunOa2H0RE1BSCC7YZM2bg5MmTiImJQadOnSASiTB37lxcu3YNfn5%2BmDp1qiniJGqWaq8krdn2Q2pjj2LVbRwuuIJBbQJZtBER0QMJHhJ1dnZGamoqXn31VTg5OcHX1xeOjo6YNm0adu3aBQcHB1PESdTstZe6Q24nxe3qSlRpqnHoZubdHjcOjxIR0QM0aeNcBwcHTJ06lb1pRALUDJEeLriCQzcz4WQj4Qa7RETUKIJ72Iio6eQSKQa1CYSbnRNuVd1GpUaN/fk/sZeNiIjuq1E9bHPnzkVsbCx8fHwwd%2B7c%2B94rEomwbNkyowRH1BLVbLD76bXTcLF1QLmmssEtP3iYPBERAY0s2E6fPo0JEybof76fmuOqiKhhtTfYrdny4171HSbvaetihmiJiMjcGlWwHTx4sN6fiahp7t3yo77es6vKYv2q0pqNdz2dWLAREVmjJi06IKKHd%2B/h8feqWVVac8zVbXUliquUkINDo0RE1kbwooNRo0YhNTUVFRUVpoiHiP5Q0wsX49MbOp0OX%2BR%2Bh7WXD6Co4ra5QyMiokdMcMEml8uxePFihIeHY9myZfjtt99MEBYRAXeLNukfCxMcxHa4WVmO87eumTssIiJ6xAQXbDt27EB6ejpGjhyJL774AiNGjMDkyZNx6NAhU8RHZPXaS90hs3XUbwOyO%2Bu/KK7iNiBERNakSfuwdezYEYsXL8bRo0eRlJSE/Px8xMbGIjIyEtu2bUNZWZmx4ySyWjXbgNjb2MLD3gVl6kpcVRaZOywiInqEHmrjXGdnZ4wfPx47duxA3759kZeXh1WrVmHQoEFYsWIF57kRGUk3Ny%2B0tpehSqtGK3spXO0c755Nyg13iYiswkOtEj137hx27dqFb775Bra2thg3bhxGjBiBjIwMfPrppygoKMCaNWuMFSuR1apZgJBbWQJfd3esO/8tilX/25%2BNm%2BoSEbVsggu2qqoqpKWl4ZNPPsHly5fh5eWFhIQExMTEwMXl7h5Rffr0QefOnfHmm28aPWAiayWXSOHp5IJfVDdRorpjsD8bCzYiopZNcMEWHh4OhUKB3r17Y/369YiMjKz3dAM/Pz8OiRKZQIDME3KJk76HreaUBB5jRUTUcgku2J5%2B%2BmmMHz8egYGB970vODgYmZmZTQ6MiOrXytEZr3WJQrbilr44q%2B8YKxZtREQth%2BCCbenSpaaIg4gEcLeXQiZ31P9e3zFWDyrY2CNHRNR88Ggqohag9jFWDR0mXxt75IiImhcWbEQtQGMOk6%2BtKT1yRERkPizYiFqIBx0mX1t9B8uXqJQs2oiILNRDbZxLRM1TfQfLJ1/J4Ea8REQWigUbkZWqfbB87aFRIiKyPE0eEs3KysLZs2dRUlKC559/Hp6enigoKICrqyscHByMGSMRmYjQxQpERGQeggs2jUaDN954A7t374ZOp4NIJEJ4eDg8PT2xaNEidOnSBa%2B%2B%2BqopYiUiIxOyWIHbgBARmY/gIdHNmzcjPT0ds2fPRnp6OnQ6nf7aU089hWPHjhk1QCIyLblEih5ynwcWa8lXMrA95zjnuhERmYHggm337t2IjY3FpEmT4OfnZ3DtscceQ25urtGCa0hOTg4mT56M/zlicwAAIABJREFUHj16IDQ0FEuWLEFlZWWjnt29ezeGDRuG7t27Izo6Gvv27atzj1qtxrvvvouwsDAEBwfj5ZdfrnNqw3/%2B8x/MnDkTERERCA4OxvDhw7F582aoVCqj5EhkSerbBoSIiB4dwQVbQUEBevToUe81e3t7KJWm/S9vhUKBCRMmQKlUIjk5GXPmzEFaWhoWLFjwwGf379%2BPpKQkREVF4YMPPkBISAgSEhJw/Phxg/uWL1%2BOXbt2IT4%2BHps2bYKtrS0mTpyIwsJC/T2pqakoLy9HXFwc/v73vyMmJgZ///vfkZiYaPScicytZq6bUlPV4Fy3EpUS50uus/eNiMgEBM9ha9WqFa5fv46QkJA613JyctC2bVujBNaQ1NRUKBQK7NmzB%2B7ud/%2Bfho2NDRITEzF9%2BnQEBAQ0%2BOy6deswbNgwzJo1CwAQEhKCnJwcJCcnIywsDMDdgjQ1NRXz58/HCy%2B8AODuuaiRkZFISUnRF2SLFy/Wfz4A9OvXD7a2tli6dCny8vLg7e1tkvyJzOFBc914cgIRkWkJ7mEbOHAgtmzZgoKCAn2bSCRCeXk5Pv74YwwePNioAd7r6NGjCA0NNSiWhg4dColEgiNHjjT43PXr15GdnY3o6GiD9ujoaFy4cAHFxXeHeI4fPw6NRoORI0fq73F2dkZERITB%2B2t/fo2uXbsCAG7evNm05Igs2P3munHIlIjItAQXbPHx8dBoNBgxYgTi4uIgEonw3nvvITo6GlVVVYiNjTVFnHpZWVl1etEkEgl8fX2RlZXV4HPZ2dkAAH9/f4P2gIAA6HQ6/fWsrCx4eHjAzc2tzn05OTnQarUNfsZ3330HGxsbtG/fXlBORM1d7SHT2icnEBGRcQgeEvXw8MAXX3yB5ORkHDlyBDY2NsjMzMTgwYMRHx9fp9AxNoVCAZlMVqddJpOhrKyswedqrt37rKurq8F1hUIBFxeXOs%2B7urpCrVbjzp07cHZ2rnM9Ly8PW7duxZgxY%2BrtfRPC1tb4%2Bxnb2IgN/myJmKP5eNq6IKFrFC6W5mFf3o/4Mvd7HLx5Ga91iYK7vfChUUvN05iYY8thDXkyR/Nr0sa5Hh4eeOutt4wdy0Op2RPuQe69p2Zbktrt9b2n9vYl91IqlYiLi0OrVq0wZ86cxoZcL7FYBLncdHN/ZDJHk73bUjBH85Dj/9u797Coyn0P4N8ZELk5iuJlS%2BjRUVAUAcsLymULj7fELFFz7zLdmZQgmGaFpaam4ibbISlpYoaJ1fF4eY6E5oUEbYunnXi0reQBNY1EUcEZAWGYWecPH1aMw8AMzMRcvp/n4VHeedfL77febfvHWut9lxvuSirx4EYtZO2dUaGqxl1JJeQe3Vo8piXmaWrM0XbYQ57Mse0YXbDt2rULkydPFq9M/dFkMhkUCoVOu1KpbHLBQcMraZ6enmJ7/Vj1V970ja9QKNCuXTu4urpqtatUKiQkJIiLFRq7%2BmcMjUaAQlHVqjEa4%2BAghUzmAoWiGmq1/tu61ow5tr0ughs6ObqgvKYKHk6u6CK4obzc%2BFujlp6nKTBH22EPeTLHpslkLma/Mmd0wbZmzRokJycjIiIC0dHRCAkJMejKlqnI5XKdZ9Vqa2tx/fp1REdH6z2u/tm1K1euaBV2xcXFkEgk4udyuRx3795FRUWF1u3d4uJi9OnTB1Lp7xOi0Wjw1ltvoaCgAF988QW8vb1NkmNdnfn%2BMajVGrOObwmYY9uRObgg3uf31aRqtQb/KvulxW9HsNQ8TYk52g57yJM5th2jy8Hs7GzMmjULZ8%2BeRUxMDMLDw/HRRx/h2rVrZghPV1hYGPLz81FeXi62HT16FLW1tQgPD9d7nLe3N/r27Yvs7Gyt9qysLAwZMkR87iwkJARSqVRrQ93Kykrk5OTojL969WocPXoUmzZtwqBBg0yRHpHVq19NCoBvRyAiMhGHlStXrjTmAA8PD4wePRqzZ8/GkCFDUFFRgf3792Pnzp345z//CeD37S3MoX///ti7dy9OnjyJ7t27o6CgAOvWrcPYsWMxc%2BZMsd8777yD%2BPh4xMXFiW1dunTBpk2boFKpIJVKsXPnTmRlZWHt2rXo1asXgEdbeNy9exc7duxA586dUVFRgXXr1uH27dtITk6Gm9ujqwRbt27Ftm3b8NJLL8HPzw%2BlpaXil5OTE1xcWnYPXBAEVFerWnGGGieVSuDi4oSHD1XQaPQ/j2fNmKNl%2BVlxC/l3i%2BHm0B6Kumr0ceuKHi6GPUphTXm2FHO0HfaQJ3NsmouLE6RS895tbNGiAwCQSqUIDw9HeHg4FAoFDh48iG3btmH58uVN3ppsLZlMhoyMDKxZswbx8fFwdnZGVFSUzhsGNBoN1Gq1VtvEiRPx8OFDbNmyBdu3b0fv3r3x0UcfiZvm1ktMTISrqytSUlKgVCoREBCAjIwMdO3aVexT/3aEzz//HJ9//rnW8UlJSZg6daoJsyayPvVbfdRvptvY2xHsQXltpd4Nh4mIDCURmlr%2BaIAHDx7gm2%2B%2Bwb59%2B/C///u/cHFxQUFBganisztqtQb37pn%2B1pGjoxQeHo8eALfEe/OmwBwtT0uLFWvLU5%2Bm3gBhKzk2xR5yBOwjT%2BbYtM6d3Sxv0UG906dPY%2B/evTh27BgePnyIgIAArF69Gk8//bQp4yMiK%2Bbh5GbXV5UaewOEPZ8PImo5owu21NRUHDhwADdv3kSXLl3wwgsvYOrUqU1uqUFEZI94W5iITMXogu3TTz/FmDFjsHz5coSFhcHBwcEccRERWT0Pp0e3QfkMGxG1ltEFW15eXqtfvUREZC/s/bYwEZmG0U/IsVgjIrIO5bWVOFd%2Bg3vgEdkAg66wLV26FLGxsfD29sbSpUub7CuRSLBu3TqTBEdERC3T1ApVIrI%2BBhVsZ86cwezZs8W/N%2BWPfE0VERE1jitUiWyLQQVbTk5Oo38nIiLLxBWqRLbF6EUHv/32G7p27Yp27drpfFZXV4fbt2%2BjZ8%2BeJgmOiIhahitUiWyL0YsOIiMjcenSpUY/KywsRGRkZKuDIiKi1vNwckOgh7dOscbFCETWx%2BgrbE29yUqj0fAZNiIiC8bFCETWyWQvvqqtrUVeXh48PDxMNSQREZlYY4sRiMjyGXSFbdOmTdi8eTOAR6tAn3/%2Beb19p0%2BfbprIiIjI5LgYgcg6GVSw%2Bfv7469//SsEQcDu3bsxfvx4eHp6avVxcnKCj48PoqKizBIoERG1HhcjEFkngwq28PBwhIeHAwCqq6vFTXSJiMj68HVZRNbH6EUHSUlJ5oiDiIiIHlNeW8mroQSgBQVbvcuXL6O4uBg1NTU6nz377LOtCoqIiMjecUUvNWR0wVZdXY358%2BcjPz8fEolE3Oaj4XYeLNiIiIhah68Xo4aM3tYjLS0NJSUl2LVrFwRBwKZNm7Bjxw6MHTsWvXv3xv79%2B80RJxERkV2pX9Fbqa7hil4yvmA7fvw45s2bh6CgIADAn/70JwQHByM1NRWDBg3C7t27TR4kERGRvalf0TunTwhvh5LxBVtJSQn69u0LBwcHSCQSVFdXi59NnjwZx48fN2mARERE9krf68XI/hhdsHXo0AFVVVUAgC5duuCXX34RP6urqxM/IyIiIiLTMLpg8/X1xbVr1wAAI0aMwNatW/Gvf/0L58%2Bfx%2BbNmzFgwABTx0hERERk14xeJRodHS1eVXv99dfx17/%2BFbNmzQIAyGQyfPrpp6aNkIiIiMjOGV2wPf300%2BLfvb298e2334pbfAQFBaFTp04mDZCIiIjMh5vzWocWb5xbz9XVFREREaaIhYiIiP5A3JzXehj9DBsRERHZhsY25yXLZNAVtgEDBmi9yaApEokEFy9ebFVQREREZH71m/PWX2Hj5ryWy6CCLS4uzuCCjYiIiKxD/ea8fIbN8hlUsMXHx5s7DiIiImoDHk5uLNSsAJ9hIyIiIrJwRq8SPXDgQLN9nn322RYFQ0RERES6jC7YEhMTG21v%2BIwbCzYiIiKyNNa855zRBVtjL3cvLy/H8ePHkZ2djY8%2B%2BsgkgRERERGZirXvOWd0webl5dVo2%2BDBg1FXV4edO3di/fr1JgmOiIiIyBQa23POmgo2ky46CA4ORk5OjimHJCIiImq1%2Bj3nKtU1VrnnXKtfTdVQSUkJpFIuPCUiIiLLYu17zhldsP3www86bbW1tfj555%2BxdetWBAcHmyQwIiIiIlOy5j3njC7YZs2apfPWA0EQAACjRo3C8uXLTRMZEREREQFoQcG2c%2BdOnbb27dvDy8sLnp6eJgmqOVevXsWaNWvw448/wsXFBZMmTcKSJUvg7Ozc7LH79%2B/H1q1bUVJSgt69eyMuLg4TJ07U6qNSqZCamor9%2B/dDqVRiyJAhePfddzFgwACtfmVlZVi7di3y8vIglUoRERGBd955B506dTJpvkRERGTfjC7Yhg8fbo44DKZQKDB79mz07NkTqampuHfvHpKSklBRUYENGzY0eezhw4eRmJiImJgYjB49GseOHcOiRYvQoUMHhISEiP2SkpJw4MABJCYmwsvLC%2Bnp6ZgzZw4OHjyIrl27AgDq6urwyiuvQKVSITk5GXV1dfjggw8QGxuLzMxMvnuViIiITMakiw7%2BCF999RUUCgUOHDiAzp0frfBwcHDAkiVLMH/%2BfMjlcr3Hbty4ERMmTMAbb7wBABg5ciSuXr2K1NRUsWC7desWvvrqK7z77ruYMWMGACAgIACRkZHIyMjAkiVLAABHjhxBYWEhsrKy0L9/fwBAt27d8Je//AUnT55EWFiY2c4BERER2Rejl3Sq1Wp8/vnniI6ORnBwMIYOHar19eSTT5ojTlFeXh6Cg4PFYg0Axo8fDycnJ%2BTm5uo97saNG7hy5QqioqK02qOionD%2B/Hncu3cPAHDq1Cmo1WpMmjRJ7OPu7o6IiAit8XNzc%2BHr6ysWawAwdOhQeHl5NRkHERERkbGMvsK2YcMG7NixAwMHDsSoUaPg5ORkjrj0Ki4uRnR0tFabk5MTevXqheLiYr3HXblyBQDQt29frXa5XA5BEHDlyhV07twZxcXF8PT01HkOTS6X4%2BDBg9BoNJBKpSguLm70al6/fv2ajIOIiIjIWEYXbAcPHkRMTAwWL15sjniapVAoIJPJdNplMhnu37%2Bv97j6zx4/tmPHjlqfKxQKdOjQQef4jh07QqVSoaqqCu7u7nr7yWSyVhdsjo6m38vOwUGq9actYo62wx7yZI62wx7yZI5tz%2BiCraamxiL3WhMEwaAH/fVtSdKwvbFx6vs1NZYxcegjlUrg4WG%2BPWJkMhezjW0pmKPtsIc8maPtsIc8mWPbMbpgGz16NM6fP99mRZtMJoNCodBpVyqVTS44aHglreH2I/Vj1V950ze%2BQqFAu3bt4Orq2mwcjV0BNJRGI0ChqGrx8fo4OEghk7lAoaiGWq0x%2BfiWgDnaDnvIkznaDnvIkzk2TSZzMfuVOaMLtmXLliEmJgYuLi4IDw8XC6GGzLkPmVwu17nlWFtbi%2BvXr%2Bs829ZQ/bNrV65c0SrsiouLIZFIxM/lcjnu3r2LiooKrTyKi4vRp08f8dVbcrkcly5d0vk5RUVFGDNmTMsTBFBXZ75/DGq1xqzjWwLmaDvsIU/maDvsIU/m2HaMLgfd3d3Rp08fJCUlYcKECQgODtb5MqewsDDk5%2BejvLxcbDt69Chqa2sRHh6u9zhvb2/07dsX2dnZWu1ZWVkYMmSIuOo0JCQEUqkUhw4dEvtUVlYiJydHa/zw8HBcvnxZq3g8d%2B4cSkpKmoyDiIiIyFhGX2F77733cPjwYURGRkIul6Ndu3bmiEuvmTNnYteuXYiNjUVsbCzu3r2L9evXY/LkyVpXzt555x0cOHAAFy9eFNsSEhKwaNEi9OrVC6NGjcLx48fx/fffIz09XezTvXt3zJw5Exs2bICjoyN69uyJzz77DAAwe/Zssd%2B4cePg6%2BuLhIQELF68GGq1GsnJyXjyyScRGhr6B5wJIiIishdGF2zHjh3D4sWLMXfuXHPE0yyZTIaMjAysWbMG8fHxcHZ2RlRUlLihbT2NRgO1Wq3VNnHiRDx8%2BBBbtmzB9u3b0bt3b3z00UdabzkAgMTERLi6uiIlJQVKpRIBAQHIyMgQ33IAAI6Ojti2bRvWrl2LN998ExKJRHw1Fd9yQERERKYkERpb/tiEESNGICUlxSJXitoCtVqDe/cqTT6uo6MUHh5uKC%2BvtMh786bAHG2HPeTJHG2HPeTJHJvWubOb2RcdGD36uHHjcPLkSXPEQkRERESNMPqW6KRJk7B8%2BXLU1dXhz3/%2Bc6OrRAcNGmSS4IiIiIioBQXbnDlzAAA7d%2B7EF198ofVZ/aaxjW13QUREREQtY3TBlpSUZI44iIiIiEgPowu25557zhxxEBEREZEelvmGUyIiIiISGX2FbenSpU1%2BLpFIsG7duhYHRERERETajC7Yzpw5o9NWUVGBqqoqyGQydOjQwSSBEREREdEjRhdsOTk5jbafPn0aq1atwsaNG1sdFBERERH9zmTPsAUHB%2BPFF1/E2rVrTTUkEREREcHEiw7kcjkuXLhgyiGJiIiI7J5JC7YffvgBHh4ephySiIiIyO4Z/Qzbpk2bdNpUKhV%2B/vln5OXlYe7cuSYJjIiIiIgeMUnB5uTkBC8vLyQkJLBgIyIiIjIxowu2wsJCc8RBRERERHrwTQdEREREFs6ggu3%2B/fuIj4/Hd999p7fPd999h/j4eJSXl5ssOCIiIiIysGDbs2cPCgsLERoaqrdPaGgoLl%2B%2BjMzMTJMFR0REREQGFmzZ2dmYPn06HB31P/Lm6OiI6dOn630TAhERERG1jEEF29WrV%2BHv799sv0GDBuHatWutjYmIiIiIGjCoYFOr1U1eXavn6OiIurq6VgdFRERERL8zqGDr2rUrioqKmu33f//3f/D09Gx1UERERET0O4MKtuHDh2P37t1QqVR6%2B6hUKnz55ZcYMWKEyYIjIiIiIgMLttmzZ%2BPq1atYsGABbt26pfP5rVu3EBcXh6tXr2LOnDmmjpGIiIjIrhn0poMBAwZgxYoVWLVqFSIjIzF48GB4eXkBAEpKSvDTTz9BEASsXLkSvr6%2BZg2YiIiIyN4Y/GqqGTNmoH///ti6dSvOnDmDc%2BfOAQBcXFwQGhqKV199FYGBgWYLlIiIiMheGfUu0aCgIGzZsgUajUZ8o4GHhwekUr7hioiIiMhcjH75OwBIpVJ06dLF1LEQERERUSN4aYyIiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsnFUWbLm5uXj22Wfh7%2B%2BPsWPHIjMz06DjVCoVPvzwQ4SEhCAgIACzZs1CYWGhTr%2BysjK8/vrrGDp0KJ566im89dZbqKio0Orz1VdfYe7cuQgJCcHQoUMRHR2N7Oxsk%2BRHRERE1JDVFWwFBQWIjY2Fn58ftm3bhueeew5r1qzBnj17mj02KSkJmZmZSEhIQFpaGhwdHTFnzhyUlZWJferq6vDKK6/g8uXLSE5Oxpo1a/Djjz8iNjYWgiCI/T755BN0794d7733HjZt2oSgoCAsWrTI4OKRiIiIyFCObR2AsTZv3gw/Pz%2BsW7cOADBy5EjcvHkTGzduRHR0NKTSxmvQW7du4auvvsK7776LGTNmAAACAgIQGRmJjIwMLFmyBABw5MgRFBYWIisrC/379wcAdOvWDX/5y19w8uRJhIWFAQD279%2BPzp07i%2BOPGjUKpaWl2L59O1544QWz5U9ERET2x6qusNXW1iI/Px%2BTJk3Sap88eTLKyspw8eJFvceeOnUKarVa61h3d3dEREQgNzdXbMvNzYWvr69YrAHA0KFD4eXlpdWvYbFWb%2BDAgbh9%2B3aLciMiIiLSx6oKtuvXr0OlUqFv375a7f369QMAFBcX6z22uLgYnp6e6NSpk1a7XC7H1atXodFoxH5yuVzn%2BH79%2BjU5PgD8%2BOOPjR5LRERE1BpWdUv0/v37AACZTKbVXv99/eeNUSgU6NChg057x44doVKpUFVVBXd3d739ZDJZkwXbsWPH8P333yM5OdmgXJri6Gj6OtrBQar1py1ijrbDHvJkjrbDHvJkjm2vzQs2pVJp0G1Eb29v8e8SiaTRPvram/q84UKC5vrpG7%2BoqAhLly7FhAkTMGXKlCZjaI5UKoGHh1urxmiKTOZitrEtBXO0HfaQJ3O0HfaQJ3NsO21esB09ehRLly5ttt%2BBAwfQsWNHALpX0hQKBQDdK28NyWQysd/jx7Zr1w6urq5N9lMqlY2OX1paildeeQU%2BPj4mubqm0QhQKKpaPc7jHBykkMlcoFBUQ63WmHx8S8AcbYc95MkcbYc95MkcmyaTuZj9ylybF2xTp07F1KlTDepbW1uLdu3a4cqVK%2BJqTeDRFS4ATT4/JpfLcffuXVRUVGg9x1ZcXIw%2BffqIq0vlcjkuXbqkc3xRURHGjBmj1VZeXo6XX34Z7u7uSEtLQ/v27Q3Kozl1deb7x6BWa8w6viVgjrbDHvJkjrbDHvJkjm3HMm/U6uHk5ISRI0fi0KFDWu1ZWVno2rUr/Pz89B4bEhICqVSqdWxlZSVycnIQHh4utoWHh%2BPy5ctaz6udO3cOJSUlWv0qKysxb948VFVVIT09Xbz6R0RERGRqbX6FzVhxcXF48cUXsWzZMkyePBlnz57Fnj17sHr1aq092MaOHYuePXsiIyMDANC9e3fMnDkTGzZsgKOjI3r27InPPvsMADB79mzxuHHjxsHX1xcJCQlYvHgx1Go1kpOT8eSTTyI0NFTsl5CQgEuXLuH9999HaWkpSktLxc/8/Pzg5ORk7lNBREREdsLqCragoCCkpaXhH//4Bw4cOIAePXpg2bJlmD59ulY/tVotbtVRLzExEa6urkhJSYFSqURAQAAyMjLQtWtXsY%2BjoyO2bduGtWvX4s0334REIkFERATeeecdrUUHp06dAoBGn787fvw4nnjiCVOmTURERHZMIjS2TJLajFqtwb17lSYf19FRCg8PN5SXV1rkvXlTYI62wx7yZI62wx7yZI5N69zZzeyLDqzqGTYiIiIie8SCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJw3IfNwgiCAI3GPFPi4CC12Zf21mOOtsMe8mSOtsMe8mSO%2BkmlEq3N9c2BBRsRERGRheMtUSIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4LNxl29ehVz585FYGAggoODsWbNGjx8%2BLBNY9q3bx98fX11vjZs2KDVLzc3F88%2B%2Byz8/f0xduxYZGZmNjre9u3bERERAX9/f0RHR%2BPMmTM6fR48eIAVK1ZgxIgRCAoKwmuvvYaSkhKdfi09X7/88gtWrFiBKVOmwM/PD1FRUY32s%2BScmovNkBwTExMbndu8vDyryPHQoUOIjY1FeHg4AgMDMXnyZOzevRsajcaocaw9R2ufRwA4efIkXnzxRYwcORKDBw9GZGQkkpKSoFQqjR7LUvM0JEdbmMuGKisrERYWBl9fX1y4cKFFY1lDno0SyGbdv39fCA0NFZ5//nkhNzdX2L9/vzB8%2BHDhjTfeaNO49u7dK/j4%2BAh5eXlCQUGB%2BPXbb7%2BJfc6ePSv4%2BfkJS5cuFU6fPi1s3rxZGDBggPCf//mfWmOlp6cLgwYNEtLT04V//vOfwqJFiwR/f3%2BhsLBQq19MTIwwevRo4eDBg8J3330nPPfcc8LYsWOF6upqsU9rztfRo0eFsLAwIT4%2BXoiKihImTZqk08eSczIkNkNyfPvtt4XIyEiteS0oKBAUCoVV5Dh9%2BnRh4cKFQlZWlnD69GkhJSVF8PPzE9avX28z82hIjtY%2Bj4IgCAcPHhQ2bNggHDlyRMjPzxe%2B%2BOILYfjw4cLf/vY3m5lLQ3K0hblsKDk5WRg1apTg4%2BMjnD9/3mbm0hAs2GzY1q1bhYCAAOHu3bti23//938LPj4%2BQlFRUZvFVV%2BwNYzrcXPnzhWmTZum1bZs2TJh9OjRglqtFgRBEGpqaoQnn3xS%2BPvf/y72qaurEyZOnCi8/vrrYtu5c%2BcEHx8f4cSJE2JbSUmJ4OfnJ%2BzevVtsa835qo9JEB79B7KxYsaSczIkNkNy1NfekCXn2Nj/JtetWyf4%2B/sLNTU1Bo9j7Tla%2Bzzq8/XXXws%2BPj5CaWmpwWNZW56P52hLc1lUVCQEBgYKX375pU7BZotz%2BTjeErVheXl5CA4ORufOncW28ePHw8nJCbm5uW0YWdNqa2uRn5%2BPSZMmabVPnjwZZWVluHjxIgDg7NmzUCqVWrfmHBwc8PTTTyM3NxeCIAB4dClaJpMhLCxM7NezZ08MHTpU6zy05nxJpU3/U7LknAyNrbkcDWXJOTYco97AgQNRU1ODiooKm5jH5nI0lCXnqE%2BnTp0AAHV1dTYxl83laChryXHt2rWYOXMm%2BvTpo9Vuq3P5OBZsNqy4uBhyuVyrzcnJCb169UJxcXEbRfW7qKgoDBw4EJGRkdi6dSvUajUA4Pr161CpVOjbt69W/379%2BgGAGHv9n4/3k8vlqKysxK1bt8R%2Bffr0gUQi0Rmv4Xkw5/my5JwMjc2YXJ966ikMHjwYU6dOxbFjx7Q%2Bt7Ycf/zxR3Tq1AldunSx2XlsmGM9W5lHtVqNmpoa/Pvf/8bmzZsxZswYeHl52dRc6suxni3M5eHDh1FYWIi4uDg8zpbmsimOBvckq6NQKCCTyXTaZTIZ7t%2B/3wYRPdK1a1fEx8cjICAAEokEOTk5SElJwa1bt7BixQoxtsdFhmcMAAANIElEQVRjr/%2B%2B/nOFQgEnJyc4Oztr9evYsSMAoKKiAj169IBCoUCHDh104nj8PJjzfFlyTobGZoiBAwfC398f/fr1g1KpxJdffom4uDhs3LgREyZMsLocL1y4gH379iEuLg4ODg42OY%2BP5wjY1jyOGTNG/D/i0NBQ/OMf/zBqLGvIU1%2BOgG3MZXV1NdavX4/FixfD3d1dZ1xbmsumsGCzQ4Ig6Pzm8EcKDQ1FaGio%2BH1ISAjat2%2BPjIwMvPbaa2K7vhgbtjfWp/6ydnP9mmp/fDxTnS9Lzqk149WbPXu21vcRERGYOXMmUlNTxf9z0DempeVYVlaGhIQE%2BPv7Y968eUaPY8052tI8fvrpp6iqqkJRURHS0tLw2muvYceOHUaNZel56svRwcHBJubyk08%2BQZcuXTB16tQmx7eFuWwKb4naMJlMBoVCodOuVCob/a2gLU2cOBFqtRqXLl0Sf9t5/DeP%2BlzqY5fJZKipqUFNTU2j/erH0XceHv/tyJzny5JzMjS2lpBKpRg3bhyKi4vFpe7WkKNSqcS8efPg7OyMTz75BO3atTNqHGvOsTHWOo8AMGDAAAwdOhQzZszApk2bcObMGRw9etSm5lJfjo2xtrksKSnBZ599hoSEBDx48AAKhQJVVVUAgKqqKlRWVtrUXDaFBZsNk8vlOvfHa2trcf36dZ377pakV69eaNeuHa5cuaLVXlRUBABi7PV/Pp5jcXEx3Nzc0L17d7Hf1atXxd%2BiGo7X8DyY83xZck6GxtZSj8do6TnW1NRg/vz5uHPnDtLT0%2BHh4SF%2BZivz2FSO%2BljbPDZm4MCBcHBwwPXr121mLpvKUR9rmstff/0VKpUKMTExGDZsGIYNGybeiXnppZfwt7/9zWbn8nEs2GxYWFgY8vPzUV5eLrYdPXoUtbW1CA8Pb8PIdGVnZ8PBwQF%2Bfn5wcnLCyJEjcejQIa0%2BWVlZ6Nq1K/z8/AAAQ4cORYcOHZCdnS32UavVOHToEMLDw8VLzeHh4VAoFDh58qTY7%2BbNmzh79qzWeTDn%2BbLknAyNrSU0Gg2%2B/fZb9O/fX3xuxJJzrKurw8KFC1FYWIj09HStB7eNGceac2yMtc2jPgUFBVCr1XjiiSdsYi6by7Ex1jaXAwcOxM6dO7W%2Bli5dCgBYtWoV3nvvPZudy8c5rFy5cqXBvcmq9O/fH3v37sXJkyfRvXt3FBQUYN26dRg7dixmzpzZZnHNnTsXt2/fxoMHD/DLL7/gs88%2BQ2ZmJmbNmiU%2BU%2BHt7Y0tW7bg5s2bcHNzw8GDB7Fjxw4sXboUgwcPBvBoObaDgwO2bNkCZ2dn1NTUYOPGjSgoKEBycjI8PT0BAD169MBPP/2Er7/%2BGt27d8fNmzexYsUKODs7Y/Xq1XB0fPQoZ2vOV3V1NY4fP46ioiJ8//33uHPnDnr06IGioiJ07twZLi4uFp2TIbE1l%2BO9e/cQFxcHlUoFpVKJf//731izZg0KCgqwatUq8TdJS85x5cqVyMrKwsKFC9GtWzeUlpaKX%2B7u7nBycrL6eWwux7KyMqufRwBYsGABrl%2B/DqVSidLSUhw7dgzr1q2Dt7c3EhMT4eDgYPVz2VyOpaWlVj%2BX7du3xxNPPKH1VVNTg/3792PBggViP2ufS4MYvGMbWaUrV64IL7/8shAQECCMGDFCeP/997V2am4L77//vjBu3DhhyJAhwuDBg4WoqCghIyND0Gg0Wv1OnDghPPPMM8KgQYOEyMhIYdeuXTpjaTQaYdu2bcKf//xnYfDgwcLUqVOF06dP6/RTKpXCsmXLhGHDhgmBgYHCq6%2B%2BKvz66686/Vp6vm7cuCH4%2BPg0%2BpWfn28VOTUXW3M5lpeXC6%2B99poQGhoqDBo0SAgMDBRefPFFIS8vz2pyHDNmjM3PY3M52sI8CsKjTU2nTJkiBAUFCYGBgcKkSZOElJQUQalUGj2WpebZXI62MpePy8/P19k419CxrCnPx0kE4bGbtERERERkUfgMGxEREZGFY8FGREREZOFYsBERERFZOBZsRERERBaOBRsRERGRhWPBRkRERGThWLARERERWTgWbEREREQWjgUbEVmFffv2wdfXV/zy8/NDSEgIFi1ahGvXrrV5XL/%2B%2BmuT/T7%2B%2BGP4%2Bvr%2BQVE1Lzc3Fx9//HGjn/n6%2BmL16tV/cERE1BTHtg6AiMgYSUlJ6Nu3L2pqanD27Fls2bIFZ86cwaFDh9CxY8e2Ds9q5ObmIjMzE/Hx8W0dChEZgAUbEVmV/v37w9/fHwAwYsQIqNVqfPzxxzh27Biio6PbODoiIvPgLVEismr1xdvdu3d1PsvOzsbzzz%2BPwMBABAUFYe7cubh48aJWnwsXLmDRokWIiIjAkCFDEBERgcWLF6OkpERnvHPnzmHmzJnw9/dHSEgIPvzwQ9TV1bUqfkNiTExMRFBQEH755RfMmzcPQUFBCA8Px/r161FbW6vVt7S0FAkJCQgKCsJTTz2FN954A%2BfPn4evry/27dsnjpeZmQkAWreZH7%2Bte%2BDAAUycOBEBAQF45pln8N1337UqVyJqOV5hIyKrVl9k/Md//IdW%2B5YtW5CSkoKpU6di/vz5UKlU2L59O1544QXs2bMH/fr1AwCUlJSgT58%2BmDRpEjp27IiysjJ8%2BeWXmDZtGr755ht07twZAFBUVIQ5c%2BbAy8sL69evh7OzM3bv3o2srKwWx25ojACgUqkwf/58TJs2DS%2B//DJ%2B%2BOEHpKWlwd3dHQsWLAAAVFVV4aWXXsL9%2B/exZMkS9O7dGydPnsSiRYu0fm5sbCyqqqrw7bff4uuvvxbbu3XrJv79xIkTuHDhAhISEuDq6or09HQsWLAAhw8fhre3d4tzJqIWEoiIrMDevXsFHx8f4dy5c4JKpRIePHgg5OXlCaNHjxZeeOEFQaVSiX1/%2B%2B03wc/PT3j//fe1xnjw4IEwevRoYeHChXp/Tl1dnVBZWSkEBgYKGRkZYvvrr78uDBkyRCgrK9PqO2HCBMHHx0e4ceNGk/GnpqYKPj4%2BLYrx7bffFnx8fITs7GytvvPmzRPGjx8vfr9r1y7Bx8dHyM3N1eq3fPlywcfHR9i7d6/YtmrVKq14GvLx8RFGjRolKJVKsa2srEwYMGCAsHXr1ibzJCLz4BU2IrIqM2bM0PpeLpcjLS0Njo6//%2Bfs1KlTqKurw5QpU7RuWbZv3x7Dhg3DmTNnxLbKykqkpaXhyJEjKCkpgVqtFj8rLi4W/37mzBkEBwfD09NTbHNwcMDTTz%2BNTZs2GZ2HMTECgEQiQUREhFabr68v8vPzxe9/%2BOEHuLm5ISwsTKtfVFSU1pU0Q4wYMQLu7u7i956enujSpUujt4qJyPxYsBGRVfn73/8OuVyOyspKZGdn4%2Buvv8bixYuRnp4u9rlz5w4AYNq0aY2OIZX%2B/vjuG2%2B8gfz8fMTGxsLf3x9ubm6QSCSIiYlBTU2N2K%2BiokKrWKvXWJshjIkRAFxcXNC%2BfXutNicnJ4Ni7NKli9HxderUSaft8Z9HRH8cFmxEZFXkcrm40GDkyJHQaDTYs2cPDh8%2BjAkTJgAAPDw8AACpqano2bOn3rGUSiVOnDiBBQsWICYmRmyvra3F/fv3tfp26tRJLLIaaqzNEIbGaIxOnTrh/PnzOu0tjZGILAcLNiKyam%2B%2B%2BSaOHDmC1NRUjBs3DlKpFCEhIXB0dMT169cxfvx4vcdKJBIIggAnJyet9j179mjdGgUe3SLMycnBnTt3xKtYarUa2dnZLYrb0BiNMWzYMBw6dAi5ubkIDw8X27/55hudvvU5P3z4EM7Ozib5%2BURkPizYiMiqdezYETExMfjggw9w8OBBTJkyBU888QQSEhKQkpKCGzduICwsDDKZDHfu3MGFCxfg4uKChIQEuLu7Y9iwYdi%2BfTs8PDzg5eWF//mf/8F//dd/QSaTaf2c%2BfPnIycnB7Nnz0ZcXBycnZ2RmZmJ6urqFsVtaIzGeO6555CRkYG33noLCxcuRO/evZGXl4dTp04B0L7N6uPjAwDYtm0bwsLCIJVK4evrq1O8EpFl4D5sRGT1Zs2ahZ49eyItLU28Mvbqq69i48aNuHbtGt5%2B%2B23MnTsXGzZsQElJCYYNGyYe%2B%2BGHH2LEiBH44IMPsGDBAvz000/YsWMHOnTooPUzfHx8sGPHDri7u%2BPtt9/GihUr4Ovri9jY2BbHbWiMhnJ1dUVGRgaGDx%2BODz74APHx8bh58ybee%2B89ANDKKSoqCtOnT8fu3bvx/PPPY9q0abh9%2B3aLcyEi85IIgiC0dRBERGQ%2B9fu9nThxAj169GjrcIioBXhLlIjIhuzatQsA0LdvX6hUKuTn5%2BOLL77AM888w2KNyIqxYCMisiHOzs7IyMjAr7/%2BCpVKhT/96U%2BYN28e5s%2Bf39ahEVEr8JYoERERkYXjogMiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILNz/AxRiUf9Gj7kTAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmwAAAHKCAYAAAC%2BOBdLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeVzUdf4H8NcMMBwDA4PgAYECGh4JmhcooUJ44qYVpe3m8dPVFYNCSfFIrbxSS8WzTUtMi9pKW1i1Nbxdr1rNUrECUgFD5BocgRlm5veHMcsIKF%2BccQbm9fw9egif7zHv9/hof%2B8%2Bp0in0%2BlARERERBZLbO4AiIiIiOj%2BWLARERERWTgWbEREREQWjgUbERERkYVjwUZERERk4ViwEREREVk4FmxEREREFo4FGxEREZGFY8FGREREZOFYsBGRWUybNg29e/fGjRs36lwrLS1FWFgYxo4di5MnTyIwMBCnT58W/BmnT59u9LNJSUmIiIh44H0RERGYNm2a4FiECgwMxPr1603%2BOY1RUVGB9evX1/s9rl%2B/HoGBgSguLjZDZETWgwUbEZnFkiVLYGNjgwULFtS59vbbb0OpVOKdd95B9%2B7d8dlnn6Fbt25miJKAuwXbhg0bcObMGXOHQmS1WLARkVl4enpi0aJFOH78OFJTU/XtBw4cQHp6Ol5//XW0b98ezs7O6NGjB5ydnc0YLRGRebFgIyKzGTFiBEaOHIl33nkHubm5KCkpwaJFizBgwAC89NJLABoe1vzxxx/xt7/9DX379kX37t0xevRo7N27t1Gf%2B9VXX2Ho0KF44oknMHz4cOzZs0dw7AcOHMCoUaPQvXt3REZGYseOHfprSqUSvXv3xsKFC%2Bs8l5ubiy5dumDr1q2CP7OwsBALFy5EeHg4nnjiCURERGDDhg2orq42eH9gYCC2bduGjz76CBEREejZsydefPFFnD9/vs47P//8c/13MWLECKSlpRkMD%2Bfm5iI0NBQAsGHDBgQGBiIwMBBJSUkG7ykqKsLMmTPRq1cv9O/fH3PnzkV5ebngHImofrbmDoCIrNvChQtx5swZzJs3D%2B7u7lCr1Vi2bNl9nzl16hSmTJmC4OBgLF68GC4uLti7dy8SEhJQWVmJZ599tsFnv/rqK8ydOxeRkZFISkpCeXk5NmzYAJVKBbG4cf8Ne/nyZSxbtgyvvPIKPDw8kJaWhqVLl0KtVmPy5MmQSqV47rnn8Pnnn%2BP111%2BHi4uL/tlPPvkEdnZ2eO655xr3Bf2hsLAQMTExEIvFmDFjBnx9fXHu3Dls3rwZeXl5WL58ucH9u3btgr%2B/P%2BbNmwcAWLduHaZOnYqMjAx9PJ999hkWLlyIoUOH6gusDRs2QK1W69/TunVrbN26FVOmTMHzzz%2BPmJgYAIC7u7vB58XFxWHEiBF4/vnn8fPPP%2BPdd98FgDpxEVHTsGAjIrNyc3PD0qVLMXXqVADAypUr0bZt2/s%2B8%2Babb6JTp05ISUmBre3d/xl76qmnUFJSgvfeew%2BjR4%2But/jSarVYs2YNunXrho0bN0IkEgEAevXqhaFDh6J169aNivnmzZvYs2cPOnfuDAAYOHAgiouLsWnTJrz00ktwdHTEX/7yF%2BzYsQNffvklJk6cCACoqqrCl19%2BiZEjR0Iulzfqs2qsX78eZWVl%2BNe//gUvLy8AQGhoKBwcHPDOO%2B9g8uTJ6Nixo/5%2BqVSK999/HzY2NgDuFl4xMTE4evQoRo4cCa1Wi/Xr1yM4OBjJycn653r16oUhQ4bovwuJRKKfP9i2bVv06NGj3vief/55TJkyBQDQv39/XL16FV9%2B%2BSWWLVum/56JqOk4JEpEZjdw4ED06NEDHTp0wDPPPHPfe69evYrs7GyMGjUKAFBdXa3/Jzw8HIWFhcjJyan32ZycHNy8eRPR0dEGRYS3tzd69uzZ6Hg7deqkL9ZqREdH4/bt27h48SIAwMfHB4MGDcKnn34KnU4HAEhLS0NpaSn%2B8pe/NPqzahw%2BfBj9%2BvVD69at6%2BQMoM6CgEGDBumLNQD6ePPy8gDc/S4KCwsxfPhwg%2Be8vLwEfRc17l1hGxgYiKqqKhQVFQl%2BFxHVxR42IrIIEokEdnZ2D7zv1q1bAIB33nkH77zzTr33lJSU3Lfdw8OjzjUPDw99MfMgDT0P3N2SpMb48eMxceJEnDhxAmFhYfjkk0/Qs2fPJq14LSoqwqFDhxp89t6c3dzcDH6XSCQA7vby1b6/VatW9ebS2O/iQZ9XWVkp6D1EVD8WbETUrNQMJU6bNg1RUVH13uPn53ffZ2uKvtrqa2vI/Z6vXbiEhobi8ccfx86dO%2BHk5ISLFy9i1apVjf6c2uRyOQIDA/Haa6/Ve72xw7m13weg3h4wId8FET0aLNiIqFnx9/dHhw4dkJmZiZkzZwp61s/PD56enkhPT8ekSZP0w6J5eXk4d%2B5co4ueX375BZmZmQbDounp6ZBKpXV6wF5%2B%2BWUsWrQIt2/fhoeHB4YNGyYo5hqDBg3CkSNH4OvrC1dX1ya9o7aa72Lfvn2YNGmSvj0/P7/Od8HeMiLz4xw2Imp23nzzTZw8eRKTJ09Geno6zp49i2%2B//Rbvv/8%2B4uPjG3xOLBbj1VdfxcWLFzFjxgwcPnwY//znPzFp0qR6hzkb0rp1a0yfPh1ffvkljh49isTERJw4cQLTp0%2BHo6Ojwb1/%2BtOfIJPJcPbsWcTExOiLH6Hi4%2BNhZ2eHsWPH4pNPPsHJkydx5MgR7Nq1C9OmTcPvv/8u6H1isRhxcXH44YcfEB8fjyNHjiAtLQ2TJk2Cp6enwRw/Z2dneHt7IyMjA8ePH8ePP/6I3NzcJuVBRE3DHjYianZCQkLwj3/8A1u2bMGyZcugUCjg5uaGgICAOpPo71WzLcXWrVvxyiuvwNvbG9OmTcPZs2cbvZN/ly5d8Oyzz2L9%2BvX47bff0Lp1a8ydO1e/GrQ2BwcHRERE4J///CfGjRsnONcarVu3xhdffIFNmzZh27ZtKCgogFQqhbe3N5566inIZDLB73zxxRchEomwdetWzJgxA97e3vqtP%2B49Mmzp0qVYuXIlpk%2BfDpVKhTFjxmDFihVNzoeIhBHpapYvERGR0alUKkRERKBXr15Yt26ducN5IIVCgaFDh%2BLpp5/G22%2B/be5wiOgP7GEjIjKB4uJiZGdn46uvvkJRUZF%2BnzlLUlhYiC1btqBfv35wc3NDfn4%2Btm/fDqVSifHjx5s7PCKqhQUbEZEJHD58GHPnztWfmWqJh9dLJBLk5eXhzTffRFlZGRwcHBAcHKzfmJiILAeHRImIiIgsHFeJEhEREVk4FmxEREREFo4FGxEREZGFY8FGREREZOG4StTC6HQ6aLWmWQciFotM9m5LwRxbDmvIkzm2HNaQJ3O8/3O1TwcxBRZsFkar1aG4WGn099raiiGXS6FQ3EF1tdbo77cEzLHlsIY8mWPLYQ15Msf7c3eXwsbGtAUbh0SJiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvXLAu2nJwcTJ48GT169EBoaCiWLFmCysrKRj27e/duDBs2DN27d0d0dDT27dtX556NGzdi0qRJ6NWrFwIDA/Hjjz/W%2B67CwkK89tprePLJJ9G7d2/Mnj0bpaWlD5UbERER0b1sm/JQbm4u9u3bh/z8/DqFkkgkwrJly4wSXH0UCgUmTJgALy8vJCcno7i4GMuXL0dpaSlWr15932f379%2BPpKQkTJ06FQMGDMC3336LhIQEuLi4ICwsTH/fZ599Bl9fXwwYMADffPNNve%2Bqrq7GlClToFarsXLlSlRXV2PVqlWIjY3Frl27IBKJjJo3ERERWS/BBdvhw4fxyiuvQKvVwt3dHRKJxOC6qQuV1NRUKBQK7NmzB%2B7u7gAAGxsbJCYmYvr06QgICGjw2XXr1mHYsGGYNWsWACAkJAQ5OTlITk42KNgOHz4MsViM06dPN1iw/fvf/0ZmZibS09PRqVMnAEDr1q0xbtw4HDt2DOHh4cZKmYiIiKyc4CHRNWvW4Mknn8SxY8dw/PhxHDx40OCfjIwMU8Spd/ToUYSGhuqLNQAYOnQoJBIJjhw50uBz169fR3Z2NqKjow3ao6OjceHCBRQXF%2BvbxOIHfy1HjhxBYGCgvlgDgCeffBLe3t73jYOIiIhIKME9bFevXsX69evRqlUrU8TzQFlZWXjuuecM2iQSCXx9fZGVldXgc9nZ2QAAf39/g/aAgADodDpkZ2cbFIGNiaO%2B3ryOHTveN47GsLU1/tRCGxuxwZ8tEXNsOawhT%2BbYclhDnszR/AQXbF5eXrhz544pYmkUhUIBmUxWp10mk6GsrKzB52qu3fusq6urwXUhcbi4uNQbx8MUbGKxCHK5tMnPP4hM5miyd1sK5thyWEOezLHlsIY8maP5CC7Ypk2bhg8//BDh4eFwdLScpHQ6XaPmz917j06nq7e9Mep7prFxNESr1UGhMH5BbGMjhkzmCIWiAhqN1ujvtwTMseWwhjyZY8thDXkyx/uTyRxN3jPXqIJtyZIlBr/funULUVFR6NevH%2BRyeZ37FyxYYJzo6iGTyaBQKOq0l5eX33fBQe2eNA8PD317zbvq67VrahxC33Wv6mrT/cug0WhN%2Bn5LwBxbDmvIkzm2HNaQJ3M0n0YVbDt37qy3/V//%2BledNpFIZNKCLSAgoM6Qo0qlwrVr1%2BrMbautZu5adna2QWGXlZUFkUhUZ25bY%2BK4fPlynfZff/0VgwcPFvQuIiIiovtpVMGWmZlp6jgaLTw8HJs3b0ZJSYm%2Bd%2B/AgQNQqVQYOHBgg8/5%2BPjA398fe/fuRVRUlL49PT0dQUFBghYcAMDAgQPx9ddfGyw%2BOH/%2BPPLy8u4bBxEREZFQguew5efnw9PTE3Z2dnWuVVdX4%2BbNm/Dy8jJKcPUZO3Ysdu7cidjYWMTGxqKoqAgrVqzAqFGjDHrO5s2bhz179uDSpUv6tvj4eCQkJMDX1xf9%2B/dHRkYGTpw4ga1btxp8xpkzZ1BcXIxff/0VAHDq1Cnk5eXB29sb3bt3BwAMGTIEgYGBiI%2BPx8yZM6HRaLBy5Ur06tULTz31lMnyJyIiIusjuGCLjIzEZ599hqCgoDrXMjMzERMTU%2B9QobHIZDKkpKRgyZIliIuLg4ODA6Kjo5GYmGhwn1arhUajMWgbPnw4KisrsWXLFmzbtg3t27fHmjVrDDbNBYD169fjzJkz%2Bt9rTlAYM2YMVqxYAQCwtbXFBx98gKVLl%2BL111%2BHSCRCREQE5s2bx1MOiIiIyKhEupplko3UuXNnfP755/UWbBcuXMDYsWMNerVIGI1Gi%2BJipdHfa2srhlwuRUmJ0iInUxoDc2w5rCFP5thyWEOezPH%2B3N2lJl8larS3q1QqHD16tN5Vo0RERETUdI0aEt2wYQM2btwI4O4q0BdffLHBe2NiYowTGREREREBaGTB1r17d7z00kvQ6XT45JNPMHToUIO9zIC7x0M9/vjjdc7qJCIiIqKH06iCbeDAgfqtKioqKhAbGwsfHx%2BTBkZEREREdwleJbp8%2BXJTxEFEREREDRBcsO3Zs6fBayKRCDKZDF27dkWbNm0eKjAiIiIiuktwwZaUlKTfZ6z2jiC128RiMZ555hm8/fbbsLUV/BFEREREVIvgauof//gHEhISMGDAAERHR6NVq1a4desW0tPTceLECSxevBgXL17Exo0b4e3tjVdeecUUcRMRERFZDcEF244dOxAVFYU5c%2Bbo2/z9/dG3b1%2BsWLECX375JdauXYuysjKkpaWxYCMiIiJ6SII3zj18%2BHCDZ2WGh4fj%2BPHjAICQkBDk5%2Bc/XHREREREJLxg02g0uHbtWr3Xrl69qp/XJpFIIJFIHi46IiIiIhJesIWFhWHt2rU4ceKEQfuxY8ewbt06DBgwAACQnZ0Nb29v40RJREREZMUEz2GbP38%2BXn75ZUyZMgVSqRStWrVCUVERlEolfH19MX/%2BfP29EyZMMGqwRERERNZIcMHWpk0bfP311/jqq6/w3XffobS0FF27dkWfPn0wZswYODo6AgD%2B/Oc/Gz1YIiIiImvUpE3SHB0d8ec//5lFGREREdEjIHgOGxERERE9WoJ72NRqNT744AOkp6cjPz8fVVVVBtdFIhEuXbpktACJiIiIrJ3ggu29997D9u3bER4ejqeffppbdxARERGZmOCCbd%2B%2BfZgxYwZPMCAiIiJ6RATPYSsrK0Pv3r1NEQsRERER1UNwwdanTx9kZmaaIhYiIiIiqofggm3BggX44osv8O9//xsqlcoUMRERERFRLYLnsD3zzDOorq7Gq6%2B%2BCpFIBAcHB4PrIpEI33//vdECJCIiIrJ2ggu2oUOHQiQSmSIWIiIiIqqH4IJtxYoVpoiDiIiIiBrAkw6IiIiILFyTCrasrCzMnDkTYWFheOKJJ3Dx4kUAwIYNG3Dq1CmjBkjG8dXV7zHpwDZ8dZXzC4mIiJobwQXb5cuX8fzzz%2BPMmTPo27cvNBqN/ppSqURqaqpRA6SH9/W177En9zxuVSmxJ/c8/u/0R1h/%2BYC5wyIiIqJGElywrV69GoGBgThw4ABWrlwJnU6nvxYUFIQff/zRqAHSw9t746c6becUuSzaiIiImgnBBdt///tfTJkyBY6OjnVWi3p4eODWrVtGC46MQw1tve3nFLmPOBIiIiJqiibNYbOzs6u3vaysjIfBW6B%2Bbh0avPbuxf2PLhAiIiJqEsEFW2BgIL799tt6rx07dgzdunV76KDIuKYFDkZIK796r128feMRR0NERERCCS7Yxo8fjy%2B%2B%2BALLli3Tnyl648YNbNu2DV9%2B%2BSXGjx9v9CDp4cV2jkBC0NP1XmMvGxERkWUTvHHuiBEjcO3aNWzYsAEff/wxACAuLg42NjaIj49HRESE0YMk44jw7YpPMk%2BhQHXboJ29bERERJZNcMEGAH/7298wevRoHDt2DEVFRZDL5QgLC4O3t7ex4yMjW9XnRYw/sa1O%2B39u/oz%2BrR83Q0RERET0IE0q2ACgbdu2iImJMWYs9IjYQVxn5ej2nJMs2IiIiCwUj6ayQs/7PFmnrRpapObwlAoiIiJL1Kgets6dO9fZc60hIpEIly5deqigyLSivLoj4/dM3FQbzmU7ePMKxvqFmCkqIiIiakijCrYZM2Y0umCj5mHOEyMw69znBm3VDWywS0RERObVqIItLi7O1HEIkpOTgyVLluD777%2BHo6MjRo4cicTERDg4ODzw2d27d%2BP9999HXl4e2rdvjxkzZmD48OEG96jVaiQnJ2P37t0oLy9HUFAQ5s%2Bfj86dOxvcd/bsWSQnJyMzMxNisRhdu3ZFQkICgoKCjJqvKcgl0nrnsqXmnGIvGxERkYVpdnPYFAoFJkyYAKVSieTkZMyZMwdpaWlYsGDBA5/dv38/kpKSEBUVhQ8%2B%2BAAhISFISEjA8ePHDe5bvnw5du3ahfj4eGzatAm2traYOHEiCgsL9ff88ssvmDx5Muzt7bF69WosX74cFRUVmDhxInJzm8eRTyPaPVGn7dubmWaIhIiIiO6nyatEzSU1NRUKhQJ79uyBu7s7AMDGxgaJiYmYPn06AgICGnx23bp1GDZsGGbNmgUACAkJQU5ODpKTkxEWFgYAKCgoQGpqKubPn48XXngBABAcHIzIyEikpKQgMTERAHDgwN2D0zds2KDv2QsKCsKAAQNw9OhRvPTSS6b5AozoGd9e%2BPrGBYM2LXTc4oOIiMjCNLsetqNHjyI0NFRfrAHA0KFDIZFIcOTIkQafu379OrKzsxEdHW3QHh0djQsXLqC4uBgAcPz4cWg0GowcOVJ/j7OzMyIiIgzeX11dDTs7O9jb2xvcJxaLodPpHjrPR6WPW90jqz6//p0ZIiEiIqKGNLsetqysLDz33HMGbRKJBL6%2BvsjKymrwuezsbACAv7%2B/QXtAQAB0Oh2ys7Ph7u6OrKwseHh4wM3Nrc59aWlp0Gq1EIvFGDVqFD766CO8%2B%2B67%2BL//%2Bz9oNBokJyfD3d29zpw4oWxtjV9H29iIDf6s8eeO/XD2uxyDNkV1Fa5VFMHfxdPocZhSQzm2JNaQI2AdeTLHlsMa8mSO5tfsCjaFQgGZTFanXSaToaysrMHnaq7d%2B6yrq6vBdYVCARcXlzrPu7q6Qq1W486dO3B2doafnx%2B2b9%2BO2NhYfPDBBwCA1q1b48MPPzTo/RNKLBZBLpc2%2BfkHkckcDX6XQ4p2DjLcqFQYtH%2Bddw5vhY4xWRymdG%2BOLZE15AhYR57MseWwhjyZo/k0u4KtITqdrlFbj9x7T83wZe32%2Bt5z7zBnTk4O4uLiEBISgmeffRbV1dXYsWMHpk6dik8//RReXl5NSQNarQ4KxZ0mPXs/NjZiyGSOUCgqoNEYrgwd59cP710%2BYNB2rug6sn6/CXd70xWPxna/HFsKa8gRsI48mWPLYQ15Msf7k8kcTd4z1%2BwKNplMBoVCUae9vLz8vgsOavekeXh46Ntr3lXT89bQ%2BxUKBezs7ODk5AQAWLNmDTw8PLB69Wp9gRcSEoLIyEh8%2BOGHjVq12pDqatP9y6DRaOu8/wnZY5DZOEChqTRoT/nlOOI6R5ksFlOpL8eWxhpyBKwjT%2BbYclhDnszRfJrdSQcBAQF15qqpVCpcu3atzty22mrmrmVnZxsUdllZWRCJRPrrAQEBKCoqQmlpqcE8tqysLPj5%2BUEsvltB//rrrwgODjb4Xuzt7eHn54dr1649fKKP2Au%2BvbA154RB27myXK4YJSIisgDN7qSD8PBwbN68GSUlJZDL5QDubrGhUqkwcODABp/z8fGBv78/9u7di6io//UapaenIygoSD/vLCwsDGKxGPv27cO4ceMAAEqlEgcPHjQ47N7LywuXL182GIqtqKhAVlYWhg4davS8Ta1/68fxn8JsXLp9w6B9e85JdHHzhlzSfIZGiYiIWppmd9LB2LFjsXPnTsTGxiI2NhZFRUVYsWIFRo0aZdBzNm/ePOzZs8egty8%2BPh4JCQnw9fVF//79kZGRgRMnTmDr1q36e9q0aYOxY8di9erVsLW1hZeXFz788EMAwIQJE/T3vfTSS5g%2BfTpmzpyJMWPGQK1WIyUlBQqFAi%2B%2B%2BOIj%2BCaMb3KnpzD73OfQ1GqrhhZHCq5gdD0HxhMREdGj0SznsKWkpGDJkiWIi4uDg4MDoqOj9Rva1tBqtdBoNAZtw4cPR2VlJbZs2YJt27ahffv2WLNmjX7T3BpJSUlwcnLC2rVrUV5ejuDgYKSkpMDT83/bXERERGD9%2BvXYunUrZs6cCRsbGwQGBmL79u11jrBqLuQSKSb5DagzNPpd8W8s2IiIiMxIpGviLq8///wzsrKyUFVVVefa6NGjHzowa6XRaFFcrDT6e21txZDLpSgpUT5wMuUrZ3fhjlZl0PZuzxcsflhUSI7NlTXkCFhHnsyx5bCGPJnj/bm7Sy1vlWhFRQWmT5%2BOU6dOQSQS1bstBgu25q2Ngwty7hQZtHFYlIiIyHwEl4ObNm1CXl4edu7cCZ1Ohw0bNuCjjz5CVFQU2rdvj927d5siTnqEnnmsR52207eyzRAJERERAU0o2DIyMvDXv/4VPXv2BAC0a9cOoaGhSE5ORrdu3fDJJ58YPUh6tILkvmhnb3giRIGqHBdKmt92JURERC2B4IItLy8P/v7%2BsLGxgUgkQkVFhf7aqFGjkJGRYdQAyTxebN%2BnTtu/8n8yQyREREQkuGBzcXHBnTt3j05q1aoVrl69qr9WXV2tv0bNW5DcF262huep3VZXNnA3ERERmZLggi0wMBC//fYbAKBfv354//338d133%2BHChQvYuHFjs93SgupytJEY/F6pUTVwJxEREZmS4ILtueeeg1J5d9uJ1157DRUVFXj55Zfx4osvIj8/H0lJSUYPkszD2c7e4PeS6grOYyMiIjIDwdt6jBgxQv%2Bzj48PvvnmG/0WHz179jQ4f5Oat5Fe3bH2Z8M5if/K/wlBcl8zRURERGSdHvqkAycnJ0RERBgjFrIwNfPYSqv/t7DkVqXCjBERERFZpyYXbEqlEjdu3Kj3pINu3bo9VFBkOTwdXFB6%2B38FW0l1BQ7k/4gor%2B5mjIqIiMi6CC7YiouLsWDBAhw6dKjONZ1OB5FIhMuXLxslODK/%2BoZFP73%2BHdo4unJolIiI6BERXLAtXLgQp06dwvjx4xEQEAA7OztTxEUWIkjui2faBeHrGxcM2jf9chhJXYejg7OnmSIjIiKyHoILtlOnTiEpKQkvvPCCKeIhC/SMby/8crsQl8pv6NtUOg3WXfkWC7v/yeIPhSciImruBG/r4ejoCC8vL1PEQhbsed9eEN3TVlZdibNFOWaJh4iIyJoILtieeeYZ7N%2B/3xSxkAXr4OyJVx%2BPhM09Zdt/i6828AQREREZi%2BAh0ddeew3z58/HjBkzMGjQILi6uta5Z8iQIUYJjixLkNwX/s6e%2BOX2TX3bz7dv4rfbhZzLRkREZEKCC7bc3Fz88MMP%2BO233%2Bo96J2rRFu2%2BlaNpuWdR1xglJkiIiIiavkEF2xvvPEGbt%2B%2BjXnz5nGVqBUKkvuiq0s7gwUI50pz2ctGRERkQoILtgsXLmDp0qWIjo42RTzUDDzv2wtvXUw3aGMvGxERkekIXnTQqlUruLi4mCIWaiY6OHsi2NXHoO1caS4PhiciIjIRwQXbuHHj8Nlnn5kiFmpGnnksuE7b3389ihKV0gzREBERtWyCh0TFYjGuXLmCMWPGIDw8HG5ubgbXRSIRJk6caKz4yEJ1cPbE06274tubl/Rtd7RqnC3KwZB2T5gxMiIiopZHcIEAICoAACAASURBVMG2atUqAEBeXl69q0FZsFmP4d5P4Fjhz6jSVevbMhW/s2AjIiIyMsEFW31beZB1kkuk6CJrh/Nl1/Vtl0vzUaJS8rgqIiIiIxJcsHl7e5siDmqmAmVtDQq2Kmg4LEpERGRkghcdENXW18MPDiLDvfgyFb%2BbKRoiIqKWqVE9bOPHj8eiRYsQEBCA8ePH3/dekUiElJQUowRHlk8ukSKqbVek3fhB33a%2B9Do30iUiIjKiRvWw6XQ6g5/v949WqzVZsGSZBrUNhIPYsJdt/42LZoqGiIio5WlUD9vHH39c789EwN1ets4uhnPZLpTkcvEBERGRkXAOGxlFoKytwe%2BVOjWOFFwxUzREREQti%2BBVojWKioqQl5eHqqqqOtf69OnzUEFR89PXww/7bvwIRXWlvu2f%2BT%2Bgtb0z%2Brd%2B3IyRERERNX%2BCC7abN29i9uzZOH36dJ1rOp0OIpGo3g11qWWTS6R4LfBprLr8DSq0an37hzn/gZeTnAsQiIiIHoLggu3tt9/G5cuXkZiYiMDAQEgkElPERc1QB2dPTOsYjnU/Z6BmmYoWOhy6eQWTWLARERE1meCC7cyZM5g9ezaee%2B45U8RDzVyQ3BdhHp1w7NYv%2BrazRb9hcOtA9rIRERE1keBFByKRCO3atTNFLNRCdHJpY/B7pVaN9T9noESlNFNEREREzZvggm3YsGE4dOiQKWKhFqKbmxfaObgatJWoK3C2KMdMERERETVvgodEhw8fjjfeeAM6nQ6DBw%2BGm5tbnXu6detmlOCoeZJLpEjsMhRbfj6CX5QF%2Bvbs27fMGBUREVHzJbhgmzBhAgBg586d2LVrl8E1rhKlGnKJFE%2B6%2BxoUbD%2BUXMeFkmsIkvuaMTIiIqLmR3DBtnz5clPEQS1QXw8/fPP7TyhVVwAAqnTVWP/zIczvNoILEIiIiAQQXLCNGTPGFHEIkpOTgyVLluD777%2BHo6MjRo4cicTERDg4ODzw2d27d%2BP9999HXl4e2rdvjxkzZmD48OEG96jVaiQnJ2P37t0oLy9HUFAQ5s%2Bfj86dO9d537fffou///3vuHLlCuzt7dGtWzesWbOm3qFiayOXSBH/eKTB3mwaaHHyVjYLNiIiIgGa3dFUCoUCEyZMgFKpRHJyMubMmYO0tDQsWLDggc/u378fSUlJiIqKwgcffICQkBAkJCTg%2BPHjBvctX74cu3btQnx8PDZt2gRbW1tMnDgRhYWFBvd99dVXSEhIQGhoKN5//32sWLECgYGBUKvVoLs6OHuit3sHc4dBRETUrDWqh23Dhg2IiYlBmzZtsGHDhvveKxKJMGPGDKMEV5/U1FQoFArs2bMH7u7uAAAbGxskJiZi%2BvTpCAgIaPDZdevWYdiwYZg1axYAICQkBDk5OUhOTkZYWBgAoKCgAKmpqZg/fz5eeOEFAEBwcDAiIyORkpKCxMREAEBJSQmWLFmCBQsW4MUXX9R/RkREhEnybknK/hgiJSIiosZpdMEWHh5uEQXb0aNHERoaqi/WAGDo0KGYN28ejhw50mDBdv36dWRnZ2PmzJkG7dHR0Zg7dy6Ki4vh7u6O48ePQ6PRYOTIkfp7nJ2dERERgSNHjugLtn379kGn01nEELGl83I0HB6%2BXJaPEpUSconUTBERERE1L40q2DIzM%2Bv92RyysrLqnLIgkUjg6%2BuLrKysBp/Lzs4GAPj7%2Bxu0BwQEQKfTITs7G%2B7u7sjKyoKHh0edOWgBAQFIS0uDVquFWCzGDz/8AD8/P%2BzevRubN29GYWEhAgMD8frrryM0NPShcrS1Nf5ItY2N2ODPRym0TQD23riA8uoqAEC5pgrflfyG4d7djfo55szxUbGGHAHryJM5thzWkCdzND/Biw7MTaFQQCaT1WmXyWQoKytr8Lmaa/c%2B6%2BrqanBdoVDAxcWlzvOurq5Qq9W4c%2BcOnJ2dcevWLeTk5GD9%2BvVITExEq1atsH37dkydOhV79%2B6Fj49Pk/ITi0WQy03X8ySTOZrs3Q2RQ4oenr44duN/x1XlVZWYLE9z5PioWUOOgHXkyRxbDmvIkzmaT7Mr2BpSswfcg9x7j06nq9Ne33tq7quh1Wpx584drF27FgMHDgQA9OnTB5GRkdi2bRsWL14sNIU/3quDQnGnSc/ej42NGDKZIxSKCmg0WqO//0F87OUGv5%2B/dR1Zv9%2BEu73xijZz5/goWEOOgHXkyRxbDmvIkznen0zmaPKeOcEFm0ajwccff4y0tDTk5%2BejqqrK4LpIJML3339vtADvJZPJoFAo6rSXl5ffd8FB7Z40Dw8PfXvNu2p63hp6v0KhgJ2dHZycnAze169fP/09Dg4OCA4Oxq%2B//io0LQPV1ab7l0Gj0Zr0/Q3pJe%2BA9NwLUFRXAgDK1ZX4sTgXAzw7Gf2zzJXjo2QNOQLWkSdzbDmsIU/maD6CC7bVq1fjo48%2BQpcuXdC/f39IJBJTxNWggICAOnPVVCoVrl27VmduW201c9eys7MNCrusrCyIRCL99YCAABQVFaG0tNRgHltWVhb8/PwgFov19zXUE9eYnj5rI5dI0a%2BVPw4UXAIA6AD8WJKHrq5eXHxARET0AIILtrS0NEydOrXOastHJTw8HJs3b0ZJSQnk8rvDbAcOHIBKpdIPTdbHx8cH/v7%2B2Lt3L6KiovTt6enpCAoK0q86DQsLg1gsxr59%2BzBu3DgAgFKpxMGDBxETE6N/btCgQdiwYQNOnjyJwYMHAwAqKipw/vx5REdHGz3vlkB3z%2B/fl/yG/MpSJHSOYtFGRER0H4ILtqqqqodeBfkwxo4di507dyI2NhaxsbEoKirCihUrMGrUKIOes3nz5mHPnj24dOmSvi0%2BPh4JCQnw9fVF//79kZGRgRMnTmDr1q36e9q0aYOxY8di9erVsLW1hZeXFz788EMA/ztHFQC6d%2B%2BOyMhILFiwALNmzdIvOqisrMSUKVMewTfR/PT38MeRgkyocberWQMd8ipKcbYoB0PaPWHm6IiIiCyX4IJtwIABuHDhgtmKNplMhpSUFCxZsgRxcXFwcHBAdHS0fn%2B0GlqtFhqNxqBt%2BPDhqKysxJYtW7Bt2za0b98ea9as0W%2BaWyMpKQlOTk5Yu3YtysvLERwcjJSUFHh6Gh6ntGrVKqxevRorV66EUqlEUFAQtm/fjjZt2pgm%2BWaug7Mn5nYbga/zfsAPpdcBADrosC//R9yqUqK/hz%2BPrCIiIqqHSHfv8scHuHXrFqZOnYrRo0dj4MCB%2Bsn3tfEczabTaLQoLlYa/b22tmLI5VKUlCjNPpmyRKXE0ov/QrFKCTFE0P4xWGorEuOVToMRJPdt0nstKUdTsYYcAevIkzm2HNaQJ3O8P3d3qeWtEnV2doafnx%2BWL1%2BO5cuX13vP5cuXHzowarnkEile6TQYm389gjLVHah0d3tCq3VabMs%2BjsXdn%2BGcNiIioloEF2yLFi3C/v37ERkZiYCAANjZ2ZkiLmrhOjh7IqnrcJwtysHn177T97KVV1dxThsREdE9BBds3377LWbOnInJkyebIh6yInKJFEPaPQGlWoW0Gz/o2/ff%2BAl9Wvmxl42IiOgPggdcbW1t0bVrV1PEQlZqUNtAuNn97yiQUnUFzhblmDEiIiIiyyK4YBsyZAiOHTtmiljISsklUgxt%2BwRqbze8/8ZPKFEZf/EFERFRcyR4SHTkyJF44403UF1djUGDBtW7SrRbt25GCY6sR18PP3zz%2B08oVVcAAMrUFdiX/xOGez3BoVEiIrJ6ggu2iRMnAgB27NiBjz/%2B2OBazbFMXCVKQtX0sn1%2B/SyAu6ciHC/8GZmKGxjSthu6ufEIKyIisl6CC7aGtvIgelh9PfxwvPAX3FLdhkpbDamtPfIrSvHp1VNwznfE9I4DubEuERFZJcEF25gxY0wRBxHkEilmdhmCS2X52J//E0rUdwAAKq0GhVXl2PjLIczrNpI9bUREZHVMuy0vkUByiRQDPDthZpchGNe%2BL2R2DtD8sUdbkUrJ1aNERGSVWLCRRaop3O5dPfrv3y/ht9uFOF9ynatIiYjIaggeEiV6lPp6%2BOFAwSUUq5SwgQhVGjU2/nIIFRo13CVSJHSO4hApERG1eOxhI4tWc%2B6op70LHG0lcLCxQ7FKiQqNCvkVpbhUlm/uEImIiEyOBRtZvJpzR//P/yk83aYrRH/8HwBcVRZzaJSIiFo8QQVbZWUlnnrqKRw8eNBU8RDVSy6RoofcB309/NDOwRX2YhuIIcLxwl%2BwJvMAizYiImrRBBVsDg4OqKqqgqOj44NvJjKBmq0/wjwfhwZaVGnVyKso5epRIiJq0QQPiYaEhODkyZOmiIWoUeQSKXyc3CGCCDoAOuiw/8ZPKK5iLxsREbVMgleJ/u1vf0NcXBwkEgmGDBkCT09PiEQig3vc3NyMFiBRfbq5eUFm52Bw9ujF0jwEtG1t5siIiIiMT3DB9uyzzwIANmzYgI0bN9Z7D88SJVO79%2BxREURQVlfhTEEOWumkkNlw2J6IiFoOwQXbjBkz6vSoEZlDzdmjxWol3OyccLTgZ%2By98RPcbB0xvkMoStWVaC915z5tRETU7Aku2OLi4kwRB5FgNQsQriqLcVtdiS9zv4fM3gFFlUps/vUIKjUqONhIeGg8ERE1ew%2B1D1tVVRVu3ryJqqoqY8VDJEjNdh/d3LwglzihXF0FRxs73KmuQoVGjVtV5dj86xFu%2B0FERM1ak46m%2Bu9//4vVq1fjhx9%2BgFarhVgsRs%2BePTFr1iz07NnT2DESPZBcIsVrXaJQJFLCpkqEjVcO4U6VCjYiMcrVlbhUlo8Bnp3MHSYREVGTCO5hO3/%2BPCZMmICrV6/ihRdeQHx8PGJiYpCTk4MJEybghx9%2BMEWcRA/kbi9F3zZ%2B8HfxxPSOA%2BEukUKj00Klrcbu3HP47XahuUMkIiJqEsE9bMnJyQgMDMSOHTvg5OSkb589ezbGjx%2BP5ORkbNu2zahBEgnVwdkTz3j3xKdXT0Gl1aBEpcTGXw7hGe%2BefwyfciECERE1H03qYZsyZYpBsQYATk5OmDx5Ms6dO2e04IgeRjc3LzjbOUILHWxEYhSrlPj02mkkX8ngnDYiImpWBBdsWq0WEomk3mv29vbQarUPHRSRMcglUkzvOBAe9i6wFdlABBEkIhsUq27jqrLY3OERERE1muCCrXPnzvj000/rvfbZZ5%2Bhc%2BfODx0UkbF0cPZEUtfhGP1YD9hABEV1JSo11SioKGMvGxERNRuC57D99a9/xYwZMzB69Gj86U9/gqenJwoLC5Geno7Lly83ePoBkbnIJVK0dnCFva0dnCCGoroC/8w/j1NF2YgPjOR8NiIisniCC7bIyEisWrUKq1atwsqVK/Xtbdq0wapVqxAREWHUAImMob3UHa0kziisKq8zNMqCjYiILF2jCrbMzEz4%2BfnB3t4eADBq1ChER0cjOzsbpaWlcHNzg7%2B/P4%2BsIosll0gRHxiJs0U5%2BOLa9yirroSdyAZudg7mDo2IiOiBGjWHbcyYMbhy5QoAYPz48cjKyoJIJEJAQAB69eqFgIAAFmtk8eQSKaS29tDg7sKYap0GeRWlZo6KiIjowRpVsEkkEqhUKgDAmTNnoFRysjY1TzodIIIIYtz9DwxlNY9VIyIiy9eoIVEfHx989NFHuHXrFgDg9OnT%2BP333xu8f8iQIcaJjsjIurl5oY2DDL9XlgEAjt38BX1a%2BXEeGxERWbRGFWyxsbGYPXs2MjIyIBKJ8O677zZ4r0gkwuXLl40WIJExySVSDG/XHZ9eOw0nGwlK1Hd4zigREVm8RhVsI0aMQEhICHJycvDnP/8ZCxcuRMeOHU0dG5FJdHPzQqvfnZFfUQoddNib/yO6uvK4KiIislyN3tbD3d0d7u7uGDNmDJ566in4%2BPiYMi4ik5FLpAjz7IjPrp2FDkBBpYK9bEREZNEE78O2fPlyU8RB9Eg52dhDBBFEAHTQcfEBERFZNMFHUxG1BDWLD3TQQQfgyM2feVQVERFZrGZZsOXk5GDy5Mno0aMHQkNDsWTJElRWVjbq2d27d2PYsGHo3r07oqOjsW/fvjr3qNVqvPvuuwgLC0NwcDBefvllZGZmNvhOrVaLMWPGIDAwEPv3729yXvToyCVSDGz9uP73mmFRIiIiS9TsCjaFQoEJEyZAqVQiOTkZc%2BbMQVpaGhYsWPDAZ/fv34%2BkpCRERUXhgw8%2BQEhICBISEnD8%2BHGD%2B5YvX45du3YhPj4emzZtgq2tLSZOnIjCwsJ635uamoqbN28aJT96dGqGRWv2ZNPp7raXqJQ4X3KdPW5ERGQxBM9hM7fU1FQoFArs2bMH7u7uAAAbGxskJiZi%2BvTpCAgIaPDZdevWYdiwYZg1axYA6Fe%2BJicnIywsDABQUFCA1NRUzJ8/Hy%2B88AIAIDg4GJGRkUhJSUFiYqLBO4uLi7Fu3Tq8/vrrmD9/vilSJhPp5uaFdg6uKFYr4W4nRTc3L5SolEi%2BkoEStRJyOykPhyciIovQ7HrYjh49itDQUH2xBgBDhw6FRCLBkSNHGnzu%2BvXryM7ORnR0tEF7dHQ0Lly4gOLiYgDA8ePHodFoMHLkSP09zs7OiIiIqPf97733Hvr164eQkJCHTY0eMblEipldhuCvAQMxs8sQyCVSXFUWo0SthIPYDoVV5RwmJSIii9CoHrazZ88KemmfPn2aFExjZGVl4bnnnjNok0gk8PX1RVZWVoPPZWdnAwD8/f0N2gMCAqDT6ZCdnQ13d3dkZWXBw8MDbm5ude5LS0uDVquFWHy3zr1w4QLS09ORnp5ujNTIDOQSqUEPWnupO2S2jsj/44zR3bnn4O3ohg7OnuYKkYiIqHEF28svv6w/3F2n0z3woHdTnnSgUCggk8nqtMtkMpSVlTX4XM21e591dXU1uK5QKODi4lLneVdXV6jVaty5cwfOzs7QarV46623MGnSJDz22GPIzc1tck73srU1fsenjY3Y4M%2BWyBg5etq6YLj3E9iZfQoqbTVKVEps%2BfUI5nUfCXd78w%2BNWsPfI2AdeTLHlsMa8mSO5teogm3Hjh36n5VKJd5%2B%2B234%2BfkhOjoaHh4euHXrFtLS0pCTk4OFCxeaLNj7aUwhCaDOPbo/ZprXbq/vPTX31fjHP/6BwsJCTJ06tSnhNkgsFkEuN11hIJM5muzdluJhcxzg0Alp%2BRdQcKcMNiIxyqur8Jv6FgLatjZShA/PGv4eAevIkzm2HNaQJ3M0n0YVbH379tX/vHjxYvTu3RsrV640uGfMmDF4/fXXcejQIQwePNi4UdYik8mgUCjqtJeXl993wUHtnjQPDw99e827anreGnq/QqGAnZ0dnJycoFQq8d577yEhIQFqtRpqtRq3b98GAFRWVuL27dtwdnZuUn5arQ4KxZ0mPXs/NjZiyGSOUCgqoNFojf5%2BS2CsHMUQ4W8dB2L9lQwUVymh1ajxxc/foYOdh9l72azh7xGwjjyZY8thDXkyx/uTyRxN3jMneJXo/v37sWrVqnqvjRo1CrNnz8Zbb7310IE1JCAgoM5cNZVKhWvXrtWZ21Zbzdy17Oxsg8IuKysLIpFIfz0gIABFRUUoLS01mMeWlZUFPz8/iMVilJSUoLS0FIsWLcKiRYsMPmfOnDnw8PDAiRMnmpxjdbXp/mXQaLQmfb8lMEaOvo6t8IxXT3x67TRcbB2gqK7Ej8W5kNo6oL3U3ewrR63h7xGwjjyZY8thDXkyR/MRXLBVVlaiqKio3mtFRUWN3sC2qcLDw7F582aUlJRALpcDAA4cOACVSoWBAwc2%2BJyPjw/8/f2xd%2B9eREVF6dvT09MRFBSkX3UaFhYGsViMffv2Ydy4cQDuDgMfPHgQMTExAABPT0%2BDYWIAuHXrFmbOnIm4uDj079/fqDmTeXRz80LrAhlK1ErIbB2xP/8nlGsqud0HERE9coILtl69emHt2rXo2rUrHn/8fzvFX7lyBWvXrkWvXr2MGuC9xo4di507dyI2NhaxsbEoKirCihUrMGrUKIOes3nz5mHPnj24dOmSvi0%2BPh4JCQnw9fVF//79kZGRgRMnTmDr1q36e9q0aYOxY8di9erVsLW1hZeXFz788EMAwIQJEwAA9vb26Nevn0FcNYsOOnbsiCeffNJk%2BdOjI5fcLcyuKotxW12JL3K/g9TGHsWq2zhccAWD2gSyaCMiokdCcME2f/58/OUvf8Ho0aPRsWNHeHp6orCwEL/%2B%2Bivc3NxMvnmsTCZDSkoKlixZgri4ODg4OCA6OrrOhrZarRYajcagbfjw4aisrMSWLVuwbds2tG/fHmvWrNFvmlsjKSkJTk5OWLt2LcrLyxEcHIyUlBR4enJrB2tTs%2B1HiUqJjAIpilW3UaWpxqGbmbhQmsueNiIieiREunuXPzZCUVERPvroI5w5c0Y/16tfv36YMGGCwYR%2BEk6j0aK42PhHItnaiiGXS1FSorTIsXljMHWOJSolDhdcwcGCy5CIbVGt02CS/1PoIfcx%2Bmc1xBr%2BHgHryJM5thzWkCdzvD93d6nlLToAgFatWtXp0SJq6eQSKXrKffDNjZ9wR6OCncgGbnYO5g6LiIisQLM7S5TInErVlbAT28AOtgB0KFWbdpENERER0MiCbe7cuY1%2BoUgkwrJly5ocEJElc7NzgFqrgVqnga3IBgUVZSixgG0%2BiIioZWtUwXb69OlGv7Axpw0QNVel6kpIbGzhCAkU1RX4Z/55nCrK5uIDIiIyqUYVbAcPHjR1HETNQnupO1pJnFFYVQ4RRHCxdUCJWomrymL9atKrymKL2FyXiIhaDs5hIxKgZm%2B2S2X5Bhvptpe6o0SlRPKVDJSoldxcl4iIjKrJBduxY8dw5swZlJSUIDY2Fl5eXrhw4QIee%2Bwx/akBRC2RXCLFAM9O6OrqZdCbdr7kOkrUSjiI7VBYVY5LZfkY4NnJ3OESEVELILhgq6ioQGxsLE6ePKmfrzZu3Dj9iQDt2rXDnDlzjB4okaWp2VS3RnupO2S2jsivKAUA7M//CV1dvdjLRkRED03wLm9r1qzBTz/9hPXr1%2BO7775D7X13BwwYgP/85z9GDZCouZBLpBjSthvsbWzhYe%2BMck0lLpXl3%2B15Uxl/M2QiIrIegnvY9u/fj1dffRVRUVF1jn7y8vLCjRs3jBYcUXPDA%2BOJiMgUBBdsxcXF6NixY73XxGIxKiu5kShZr4YOjK%2B9kpSIiEgowUOibdq0wc8//1zvtStXruCxxx576KCImjO5RIoech90c/OC3E4KpabKYCUph0iJiEgowT1sQ4YMwZYtW9C7d28EBgYCuLtZbl5eHrZv345nn33W6EESNUe1e9vaS%2B%2BunOa2H0RE1BSCC7YZM2bg5MmTiImJQadOnSASiTB37lxcu3YNfn5%2BmDp1qiniJGqWaq8krdn2Q2pjj2LVbRwuuIJBbQJZtBER0QMJHhJ1dnZGamoqXn31VTg5OcHX1xeOjo6YNm0adu3aBQcHB1PESdTstZe6Q24nxe3qSlRpqnHoZubdHjcOjxIR0QM0aeNcBwcHTJ06lb1pRALUDJEeLriCQzcz4WQj4Qa7RETUKIJ72Iio6eQSKQa1CYSbnRNuVd1GpUaN/fk/sZeNiIjuq1E9bHPnzkVsbCx8fHwwd%2B7c%2B94rEomwbNkyowRH1BLVbLD76bXTcLF1QLmmssEtP3iYPBERAY0s2E6fPo0JEybof76fmuOqiKhhtTfYrdny4171HSbvaetihmiJiMjcGlWwHTx4sN6fiahp7t3yo77es6vKYv2q0pqNdz2dWLAREVmjJi06IKKHd%2B/h8feqWVVac8zVbXUliquUkINDo0RE1kbwooNRo0YhNTUVFRUVpoiHiP5Q0wsX49MbOp0OX%2BR%2Bh7WXD6Co4ra5QyMiokdMcMEml8uxePFihIeHY9myZfjtt99MEBYRAXeLNukfCxMcxHa4WVmO87eumTssIiJ6xAQXbDt27EB6ejpGjhyJL774AiNGjMDkyZNx6NAhU8RHZPXaS90hs3XUbwOyO%2Bu/KK7iNiBERNakSfuwdezYEYsXL8bRo0eRlJSE/Px8xMbGIjIyEtu2bUNZWZmx4ySyWjXbgNjb2MLD3gVl6kpcVRaZOywiInqEHmrjXGdnZ4wfPx47duxA3759kZeXh1WrVmHQoEFYsWIF57kRGUk3Ny%2B0tpehSqtGK3spXO0c755Nyg13iYiswkOtEj137hx27dqFb775Bra2thg3bhxGjBiBjIwMfPrppygoKMCaNWuMFSuR1apZgJBbWQJfd3esO/8tilX/25%2BNm%2BoSEbVsggu2qqoqpKWl4ZNPPsHly5fh5eWFhIQExMTEwMXl7h5Rffr0QefOnfHmm28aPWAiayWXSOHp5IJfVDdRorpjsD8bCzYiopZNcMEWHh4OhUKB3r17Y/369YiMjKz3dAM/Pz8OiRKZQIDME3KJk76HreaUBB5jRUTUcgku2J5%2B%2BmmMHz8egYGB970vODgYmZmZTQ6MiOrXytEZr3WJQrbilr44q%2B8YKxZtREQth%2BCCbenSpaaIg4gEcLeXQiZ31P9e3zFWDyrY2CNHRNR88Ggqohag9jFWDR0mXxt75IiImhcWbEQtQGMOk6%2BtKT1yRERkPizYiFqIBx0mX1t9B8uXqJQs2oiILNRDbZxLRM1TfQfLJ1/J4Ea8REQWigUbkZWqfbB87aFRIiKyPE0eEs3KysLZs2dRUlKC559/Hp6enigoKICrqyscHByMGSMRmYjQxQpERGQeggs2jUaDN954A7t374ZOp4NIJEJ4eDg8PT2xaNEidOnSBa%2B%2B%2BqopYiUiIxOyWIHbgBARmY/gIdHNmzcjPT0ds2fPRnp6OnQ6nf7aU089hWPHjhk1QCIyLblEih5ynwcWa8lXMrA95zjnuhERmYHggm337t2IjY3FpEmT4OfnZ3DtscceQ25urtGCa0hOTg4mT56M/zlicwAAIABJREFUHj16IDQ0FEuWLEFlZWWjnt29ezeGDRuG7t27Izo6Gvv27atzj1qtxrvvvouwsDAEBwfj5ZdfrnNqw3/%2B8x/MnDkTERERCA4OxvDhw7F582aoVCqj5EhkSerbBoSIiB4dwQVbQUEBevToUe81e3t7KJWm/S9vhUKBCRMmQKlUIjk5GXPmzEFaWhoWLFjwwGf379%2BPpKQkREVF4YMPPkBISAgSEhJw/Phxg/uWL1%2BOXbt2IT4%2BHps2bYKtrS0mTpyIwsJC/T2pqakoLy9HXFwc/v73vyMmJgZ///vfkZiYaPScicytZq6bUlPV4Fy3EpUS50uus/eNiMgEBM9ha9WqFa5fv46QkJA613JyctC2bVujBNaQ1NRUKBQK7NmzB%2B7ud/%2Bfho2NDRITEzF9%2BnQEBAQ0%2BOy6deswbNgwzJo1CwAQEhKCnJwcJCcnIywsDMDdgjQ1NRXz58/HCy%2B8AODuuaiRkZFISUnRF2SLFy/Wfz4A9OvXD7a2tli6dCny8vLg7e1tkvyJzOFBc914cgIRkWkJ7mEbOHAgtmzZgoKCAn2bSCRCeXk5Pv74YwwePNioAd7r6NGjCA0NNSiWhg4dColEgiNHjjT43PXr15GdnY3o6GiD9ujoaFy4cAHFxXeHeI4fPw6NRoORI0fq73F2dkZERITB%2B2t/fo2uXbsCAG7evNm05Igs2P3munHIlIjItAQXbPHx8dBoNBgxYgTi4uIgEonw3nvvITo6GlVVVYiNjTVFnHpZWVl1etEkEgl8fX2RlZXV4HPZ2dkAAH9/f4P2gIAA6HQ6/fWsrCx4eHjAzc2tzn05OTnQarUNfsZ3330HGxsbtG/fXlBORM1d7SHT2icnEBGRcQgeEvXw8MAXX3yB5ORkHDlyBDY2NsjMzMTgwYMRHx9fp9AxNoVCAZlMVqddJpOhrKyswedqrt37rKurq8F1hUIBFxeXOs%2B7urpCrVbjzp07cHZ2rnM9Ly8PW7duxZgxY%2BrtfRPC1tb4%2Bxnb2IgN/myJmKP5eNq6IKFrFC6W5mFf3o/4Mvd7HLx5Ga91iYK7vfChUUvN05iYY8thDXkyR/Nr0sa5Hh4eeOutt4wdy0Op2RPuQe69p2Zbktrt9b2n9vYl91IqlYiLi0OrVq0wZ86cxoZcL7FYBLncdHN/ZDJHk73bUjBH85Dj/9u797Coyn0P4N8ZELk5iuJlS%2BjRUVAUAcsLymULj7fELFFz7zLdmZQgmGaFpaam4ibbISlpYoaJ1fF4eY6E5oUEbYunnXi0reQBNY1EUcEZAWGYWecPH1aMw8AMzMRcvp/n4VHeedfL77febfvHWut9lxvuSirx4EYtZO2dUaGqxl1JJeQe3Vo8piXmaWrM0XbYQ57Mse0YXbDt2rULkydPFq9M/dFkMhkUCoVOu1KpbHLBQcMraZ6enmJ7/Vj1V970ja9QKNCuXTu4urpqtatUKiQkJIiLFRq7%2BmcMjUaAQlHVqjEa4%2BAghUzmAoWiGmq1/tu61ow5tr0ughs6ObqgvKYKHk6u6CK4obzc%2BFujlp6nKTBH22EPeTLHpslkLma/Mmd0wbZmzRokJycjIiIC0dHRCAkJMejKlqnI5XKdZ9Vqa2tx/fp1REdH6z2u/tm1K1euaBV2xcXFkEgk4udyuRx3795FRUWF1u3d4uJi9OnTB1Lp7xOi0Wjw1ltvoaCgAF988QW8vb1NkmNdnfn%2BMajVGrOObwmYY9uRObgg3uf31aRqtQb/KvulxW9HsNQ8TYk52g57yJM5th2jy8Hs7GzMmjULZ8%2BeRUxMDMLDw/HRRx/h2rVrZghPV1hYGPLz81FeXi62HT16FLW1tQgPD9d7nLe3N/r27Yvs7Gyt9qysLAwZMkR87iwkJARSqVRrQ93Kykrk5OTojL969WocPXoUmzZtwqBBg0yRHpHVq19NCoBvRyAiMhGHlStXrjTmAA8PD4wePRqzZ8/GkCFDUFFRgf3792Pnzp345z//CeD37S3MoX///ti7dy9OnjyJ7t27o6CgAOvWrcPYsWMxc%2BZMsd8777yD%2BPh4xMXFiW1dunTBpk2boFKpIJVKsXPnTmRlZWHt2rXo1asXgEdbeNy9exc7duxA586dUVFRgXXr1uH27dtITk6Gm9ujqwRbt27Ftm3b8NJLL8HPzw%2BlpaXil5OTE1xcWnYPXBAEVFerWnGGGieVSuDi4oSHD1XQaPQ/j2fNmKNl%2BVlxC/l3i%2BHm0B6Kumr0ceuKHi6GPUphTXm2FHO0HfaQJ3NsmouLE6RS895tbNGiAwCQSqUIDw9HeHg4FAoFDh48iG3btmH58uVN3ppsLZlMhoyMDKxZswbx8fFwdnZGVFSUzhsGNBoN1Gq1VtvEiRPx8OFDbNmyBdu3b0fv3r3x0UcfiZvm1ktMTISrqytSUlKgVCoREBCAjIwMdO3aVexT/3aEzz//HJ9//rnW8UlJSZg6daoJsyayPvVbfdRvptvY2xHsQXltpd4Nh4mIDCURmlr%2BaIAHDx7gm2%2B%2Bwb59%2B/C///u/cHFxQUFBganisztqtQb37pn%2B1pGjoxQeHo8eALfEe/OmwBwtT0uLFWvLU5%2Bm3gBhKzk2xR5yBOwjT%2BbYtM6d3Sxv0UG906dPY%2B/evTh27BgePnyIgIAArF69Gk8//bQp4yMiK%2Bbh5GbXV5UaewOEPZ8PImo5owu21NRUHDhwADdv3kSXLl3wwgsvYOrUqU1uqUFEZI94W5iITMXogu3TTz/FmDFjsHz5coSFhcHBwcEccRERWT0Pp0e3QfkMGxG1ltEFW15eXqtfvUREZC/s/bYwEZmG0U/IsVgjIrIO5bWVOFd%2Bg3vgEdkAg66wLV26FLGxsfD29sbSpUub7CuRSLBu3TqTBEdERC3T1ApVIrI%2BBhVsZ86cwezZs8W/N%2BWPfE0VERE1jitUiWyLQQVbTk5Oo38nIiLLxBWqRLbF6EUHv/32G7p27Yp27drpfFZXV4fbt2%2BjZ8%2BeJgmOiIhahitUiWyL0YsOIiMjcenSpUY/KywsRGRkZKuDIiKi1vNwckOgh7dOscbFCETWx%2BgrbE29yUqj0fAZNiIiC8bFCETWyWQvvqqtrUVeXh48PDxMNSQREZlYY4sRiMjyGXSFbdOmTdi8eTOAR6tAn3/%2Beb19p0%2BfbprIiIjI5LgYgcg6GVSw%2Bfv7469//SsEQcDu3bsxfvx4eHp6avVxcnKCj48PoqKizBIoERG1HhcjEFkngwq28PBwhIeHAwCqq6vFTXSJiMj68HVZRNbH6EUHSUlJ5oiDiIiIHlNeW8mroQSgBQVbvcuXL6O4uBg1NTU6nz377LOtCoqIiMjecUUvNWR0wVZdXY358%2BcjPz8fEolE3Oaj4XYeLNiIiIhah68Xo4aM3tYjLS0NJSUl2LVrFwRBwKZNm7Bjxw6MHTsWvXv3xv79%2B80RJxERkV2pX9Fbqa7hil4yvmA7fvw45s2bh6CgIADAn/70JwQHByM1NRWDBg3C7t27TR4kERGRvalf0TunTwhvh5LxBVtJSQn69u0LBwcHSCQSVFdXi59NnjwZx48fN2mARERE9krf68XI/hhdsHXo0AFVVVUAgC5duuCXX34RP6urqxM/IyIiIiLTMLpg8/X1xbVr1wAAI0aMwNatW/Gvf/0L58%2Bfx%2BbNmzFgwABTx0hERERk14xeJRodHS1eVXv99dfx17/%2BFbNmzQIAyGQyfPrpp6aNkIiIiMjOGV2wPf300%2BLfvb298e2334pbfAQFBaFTp04mDZCIiIjMh5vzWocWb5xbz9XVFREREaaIhYiIiP5A3JzXehj9DBsRERHZhsY25yXLZNAVtgEDBmi9yaApEokEFy9ebFVQREREZH71m/PWX2Hj5ryWy6CCLS4uzuCCjYiIiKxD/ea8fIbN8hlUsMXHx5s7DiIiImoDHk5uLNSsAJ9hIyIiIrJwRq8SPXDgQLN9nn322RYFQ0RERES6jC7YEhMTG21v%2BIwbCzYiIiKyNNa855zRBVtjL3cvLy/H8ePHkZ2djY8%2B%2BsgkgRERERGZirXvOWd0webl5dVo2%2BDBg1FXV4edO3di/fr1JgmOiIiIyBQa23POmgo2ky46CA4ORk5OjimHJCIiImq1%2Bj3nKtU1VrnnXKtfTdVQSUkJpFIuPCUiIiLLYu17zhldsP3www86bbW1tfj555%2BxdetWBAcHmyQwIiIiIlOy5j3njC7YZs2apfPWA0EQAACjRo3C8uXLTRMZEREREQFoQcG2c%2BdOnbb27dvDy8sLnp6eJgmqOVevXsWaNWvw448/wsXFBZMmTcKSJUvg7Ozc7LH79%2B/H1q1bUVJSgt69eyMuLg4TJ07U6qNSqZCamor9%2B/dDqVRiyJAhePfddzFgwACtfmVlZVi7di3y8vIglUoRERGBd955B506dTJpvkRERGTfjC7Yhg8fbo44DKZQKDB79mz07NkTqampuHfvHpKSklBRUYENGzY0eezhw4eRmJiImJgYjB49GseOHcOiRYvQoUMHhISEiP2SkpJw4MABJCYmwsvLC%2Bnp6ZgzZw4OHjyIrl27AgDq6urwyiuvQKVSITk5GXV1dfjggw8QGxuLzMxMvnuViIiITMakiw7%2BCF999RUUCgUOHDiAzp0frfBwcHDAkiVLMH/%2BfMjlcr3Hbty4ERMmTMAbb7wBABg5ciSuXr2K1NRUsWC7desWvvrqK7z77ruYMWMGACAgIACRkZHIyMjAkiVLAABHjhxBYWEhsrKy0L9/fwBAt27d8Je//AUnT55EWFiY2c4BERER2Rejl3Sq1Wp8/vnniI6ORnBwMIYOHar19eSTT5ojTlFeXh6Cg4PFYg0Axo8fDycnJ%2BTm5uo97saNG7hy5QqioqK02qOionD%2B/Hncu3cPAHDq1Cmo1WpMmjRJ7OPu7o6IiAit8XNzc%2BHr6ysWawAwdOhQeHl5NRkHERERkbGMvsK2YcMG7NixAwMHDsSoUaPg5ORkjrj0Ki4uRnR0tFabk5MTevXqheLiYr3HXblyBQDQt29frXa5XA5BEHDlyhV07twZxcXF8PT01HkOTS6X4%2BDBg9BoNJBKpSguLm70al6/fv2ajIOIiIjIWEYXbAcPHkRMTAwWL15sjniapVAoIJPJdNplMhnu37%2Bv97j6zx4/tmPHjlqfKxQKdOjQQef4jh07QqVSoaqqCu7u7nr7yWSyVhdsjo6m38vOwUGq9actYo62wx7yZI62wx7yZI5tz%2BiCraamxiL3WhMEwaAH/fVtSdKwvbFx6vs1NZYxcegjlUrg4WG%2BPWJkMhezjW0pmKPtsIc8maPtsIc8mWPbMbpgGz16NM6fP99mRZtMJoNCodBpVyqVTS44aHglreH2I/Vj1V950ze%2BQqFAu3bt4Orq2mwcjV0BNJRGI0ChqGrx8fo4OEghk7lAoaiGWq0x%2BfiWgDnaDnvIkznaDnvIkzk2TSZzMfuVOaMLtmXLliEmJgYuLi4IDw8XC6GGzLkPmVwu17nlWFtbi%2BvXr%2Bs829ZQ/bNrV65c0SrsiouLIZFIxM/lcjnu3r2LiooKrTyKi4vRp08f8dVbcrkcly5d0vk5RUVFGDNmTMsTBFBXZ75/DGq1xqzjWwLmaDvsIU/maDvsIU/m2HaMLgfd3d3Rp08fJCUlYcKECQgODtb5MqewsDDk5%2BejvLxcbDt69Chqa2sRHh6u9zhvb2/07dsX2dnZWu1ZWVkYMmSIuOo0JCQEUqkUhw4dEvtUVlYiJydHa/zw8HBcvnxZq3g8d%2B4cSkpKmoyDiIiIyFhGX2F77733cPjwYURGRkIul6Ndu3bmiEuvmTNnYteuXYiNjUVsbCzu3r2L9evXY/LkyVpXzt555x0cOHAAFy9eFNsSEhKwaNEi9OrVC6NGjcLx48fx/fffIz09XezTvXt3zJw5Exs2bICjoyN69uyJzz77DAAwe/Zssd%2B4cePg6%2BuLhIQELF68GGq1GsnJyXjyyScRGhr6B5wJIiIishdGF2zHjh3D4sWLMXfuXHPE0yyZTIaMjAysWbMG8fHxcHZ2RlRUlLihbT2NRgO1Wq3VNnHiRDx8%2BBBbtmzB9u3b0bt3b3z00UdabzkAgMTERLi6uiIlJQVKpRIBAQHIyMgQ33IAAI6Ojti2bRvWrl2LN998ExKJRHw1Fd9yQERERKYkERpb/tiEESNGICUlxSJXitoCtVqDe/cqTT6uo6MUHh5uKC%2BvtMh786bAHG2HPeTJHG2HPeTJHJvWubOb2RcdGD36uHHjcPLkSXPEQkRERESNMPqW6KRJk7B8%2BXLU1dXhz3/%2Bc6OrRAcNGmSS4IiIiIioBQXbnDlzAAA7d%2B7EF198ofVZ/aaxjW13QUREREQtY3TBlpSUZI44iIiIiEgPowu25557zhxxEBEREZEelvmGUyIiIiISGX2FbenSpU1%2BLpFIsG7duhYHRERERETajC7Yzpw5o9NWUVGBqqoqyGQydOjQwSSBEREREdEjRhdsOTk5jbafPn0aq1atwsaNG1sdFBERERH9zmTPsAUHB%2BPFF1/E2rVrTTUkEREREcHEiw7kcjkuXLhgyiGJiIiI7J5JC7YffvgBHh4ephySiIiIyO4Z/Qzbpk2bdNpUKhV%2B/vln5OXlYe7cuSYJjIiIiIgeMUnB5uTkBC8vLyQkJLBgIyIiIjIxowu2wsJCc8RBRERERHrwTQdEREREFs6ggu3%2B/fuIj4/Hd999p7fPd999h/j4eJSXl5ssOCIiIiIysGDbs2cPCgsLERoaqrdPaGgoLl%2B%2BjMzMTJMFR0REREQGFmzZ2dmYPn06HB31P/Lm6OiI6dOn630TAhERERG1jEEF29WrV%2BHv799sv0GDBuHatWutjYmIiIiIGjCoYFOr1U1eXavn6OiIurq6VgdFRERERL8zqGDr2rUrioqKmu33f//3f/D09Gx1UERERET0O4MKtuHDh2P37t1QqVR6%2B6hUKnz55ZcYMWKEyYIjIiIiIgMLttmzZ%2BPq1atYsGABbt26pfP5rVu3EBcXh6tXr2LOnDmmjpGIiIjIrhn0poMBAwZgxYoVWLVqFSIjIzF48GB4eXkBAEpKSvDTTz9BEASsXLkSvr6%2BZg2YiIiIyN4Y/GqqGTNmoH///ti6dSvOnDmDc%2BfOAQBcXFwQGhqKV199FYGBgWYLlIiIiMheGfUu0aCgIGzZsgUajUZ8o4GHhwekUr7hioiIiMhcjH75OwBIpVJ06dLF1LEQERERUSN4aYyIiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsnFUWbLm5uXj22Wfh7%2B%2BPsWPHIjMz06DjVCoVPvzwQ4SEhCAgIACzZs1CYWGhTr%2BysjK8/vrrGDp0KJ566im89dZbqKio0Orz1VdfYe7cuQgJCcHQoUMRHR2N7Oxsk%2BRHRERE1JDVFWwFBQWIjY2Fn58ftm3bhueeew5r1qzBnj17mj02KSkJmZmZSEhIQFpaGhwdHTFnzhyUlZWJferq6vDKK6/g8uXLSE5Oxpo1a/Djjz8iNjYWgiCI/T755BN0794d7733HjZt2oSgoCAsWrTI4OKRiIiIyFCObR2AsTZv3gw/Pz%2BsW7cOADBy5EjcvHkTGzduRHR0NKTSxmvQW7du4auvvsK7776LGTNmAAACAgIQGRmJjIwMLFmyBABw5MgRFBYWIisrC/379wcAdOvWDX/5y19w8uRJhIWFAQD279%2BPzp07i%2BOPGjUKpaWl2L59O1544QWz5U9ERET2x6qusNXW1iI/Px%2BTJk3Sap88eTLKyspw8eJFvceeOnUKarVa61h3d3dEREQgNzdXbMvNzYWvr69YrAHA0KFD4eXlpdWvYbFWb%2BDAgbh9%2B3aLciMiIiLSx6oKtuvXr0OlUqFv375a7f369QMAFBcX6z22uLgYnp6e6NSpk1a7XC7H1atXodFoxH5yuVzn%2BH79%2BjU5PgD8%2BOOPjR5LRERE1BpWdUv0/v37AACZTKbVXv99/eeNUSgU6NChg057x44doVKpUFVVBXd3d739ZDJZkwXbsWPH8P333yM5OdmgXJri6Gj6OtrBQar1py1ijrbDHvJkjrbDHvJkjm2vzQs2pVJp0G1Eb29v8e8SiaTRPvram/q84UKC5vrpG7%2BoqAhLly7FhAkTMGXKlCZjaI5UKoGHh1urxmiKTOZitrEtBXO0HfaQJ3O0HfaQJ3NsO21esB09ehRLly5ttt%2BBAwfQsWNHALpX0hQKBQDdK28NyWQysd/jx7Zr1w6urq5N9lMqlY2OX1paildeeQU%2BPj4mubqm0QhQKKpaPc7jHBykkMlcoFBUQ63WmHx8S8AcbYc95MkcbYc95MkcmyaTuZj9ylybF2xTp07F1KlTDepbW1uLdu3a4cqVK%2BJqTeDRFS4ATT4/JpfLcffuXVRUVGg9x1ZcXIw%2BffqIq0vlcjkuXbqkc3xRURHGjBmj1VZeXo6XX34Z7u7uSEtLQ/v27Q3Kozl1deb7x6BWa8w6viVgjrbDHvJkjrbDHvJkjm3HMm/U6uHk5ISRI0fi0KFDWu1ZWVno2rUr/Pz89B4bEhICqVSqdWxlZSVycnIQHh4utoWHh%2BPy5ctaz6udO3cOJSUlWv0qKysxb948VFVVIT09Xbz6R0RERGRqbX6FzVhxcXF48cUXsWzZMkyePBlnz57Fnj17sHr1aq092MaOHYuePXsiIyMDANC9e3fMnDkTGzZsgKOjI3r27InPPvsMADB79mzxuHHjxsHX1xcJCQlYvHgx1Go1kpOT8eSTTyI0NFTsl5CQgEuXLuH9999HaWkpSktLxc/8/Pzg5ORk7lNBREREdsLqCragoCCkpaXhH//4Bw4cOIAePXpg2bJlmD59ulY/tVotbtVRLzExEa6urkhJSYFSqURAQAAyMjLQtWtXsY%2BjoyO2bduGtWvX4s0334REIkFERATeeecdrUUHp06dAoBGn787fvw4nnjiCVOmTURERHZMIjS2TJLajFqtwb17lSYf19FRCg8PN5SXV1rkvXlTYI62wx7yZI62wx7yZI5N69zZzeyLDqzqGTYiIiIie8SCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJw3IfNwgiCAI3GPFPi4CC12Zf21mOOtsMe8mSOtsMe8mSO%2BkmlEq3N9c2BBRsRERGRheMtUSIiIiILx4KNiIiIyMKxYCMiIiKycCzYiIiIiCwcCzYiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILBwLNiIiIiILx4LNxl29ehVz585FYGAggoODsWbNGjx8%2BLBNY9q3bx98fX11vjZs2KDVLzc3F88%2B%2Byz8/f0xduxYZGZmNjre9u3bERERAX9/f0RHR%2BPMmTM6fR48eIAVK1ZgxIgRCAoKwmuvvYaSkhKdfi09X7/88gtWrFiBKVOmwM/PD1FRUY32s%2BScmovNkBwTExMbndu8vDyryPHQoUOIjY1FeHg4AgMDMXnyZOzevRsajcaocaw9R2ufRwA4efIkXnzxRYwcORKDBw9GZGQkkpKSoFQqjR7LUvM0JEdbmMuGKisrERYWBl9fX1y4cKFFY1lDno0SyGbdv39fCA0NFZ5//nkhNzdX2L9/vzB8%2BHDhjTfeaNO49u7dK/j4%2BAh5eXlCQUGB%2BPXbb7%2BJfc6ePSv4%2BfkJS5cuFU6fPi1s3rxZGDBggPCf//mfWmOlp6cLgwYNEtLT04V//vOfwqJFiwR/f3%2BhsLBQq19MTIwwevRo4eDBg8J3330nPPfcc8LYsWOF6upqsU9rztfRo0eFsLAwIT4%2BXoiKihImTZqk08eSczIkNkNyfPvtt4XIyEiteS0oKBAUCoVV5Dh9%2BnRh4cKFQlZWlnD69GkhJSVF8PPzE9avX28z82hIjtY%2Bj4IgCAcPHhQ2bNggHDlyRMjPzxe%2B%2BOILYfjw4cLf/vY3m5lLQ3K0hblsKDk5WRg1apTg4%2BMjnD9/3mbm0hAs2GzY1q1bhYCAAOHu3bti23//938LPj4%2BQlFRUZvFVV%2BwNYzrcXPnzhWmTZum1bZs2TJh9OjRglqtFgRBEGpqaoQnn3xS%2BPvf/y72qaurEyZOnCi8/vrrYtu5c%2BcEHx8f4cSJE2JbSUmJ4OfnJ%2BzevVtsa835qo9JEB79B7KxYsaSczIkNkNy1NfekCXn2Nj/JtetWyf4%2B/sLNTU1Bo9j7Tla%2Bzzq8/XXXws%2BPj5CaWmpwWNZW56P52hLc1lUVCQEBgYKX375pU7BZotz%2BTjeErVheXl5CA4ORufOncW28ePHw8nJCbm5uW0YWdNqa2uRn5%2BPSZMmabVPnjwZZWVluHjxIgDg7NmzUCqVWrfmHBwc8PTTTyM3NxeCIAB4dClaJpMhLCxM7NezZ08MHTpU6zy05nxJpU3/U7LknAyNrbkcDWXJOTYco97AgQNRU1ODiooKm5jH5nI0lCXnqE%2BnTp0AAHV1dTYxl83laChryXHt2rWYOXMm%2BvTpo9Vuq3P5OBZsNqy4uBhyuVyrzcnJCb169UJxcXEbRfW7qKgoDBw4EJGRkdi6dSvUajUA4Pr161CpVOjbt69W/379%2BgGAGHv9n4/3k8vlqKysxK1bt8R%2Bffr0gUQi0Rmv4Xkw5/my5JwMjc2YXJ966ikMHjwYU6dOxbFjx7Q%2Bt7Ycf/zxR3Tq1AldunSx2XlsmGM9W5lHtVqNmpoa/Pvf/8bmzZsxZswYeHl52dRc6suxni3M5eHDh1FYWIi4uDg8zpbmsimOBvckq6NQKCCTyXTaZTIZ7t%2B/3wYRPdK1a1fEx8cjICAAEokEOTk5SElJwa1bt7BixQoxtsdFhmcMAAANIElEQVRjr/%2B%2B/nOFQgEnJyc4Oztr9evYsSMAoKKiAj169IBCoUCHDh104nj8PJjzfFlyTobGZoiBAwfC398f/fr1g1KpxJdffom4uDhs3LgREyZMsLocL1y4gH379iEuLg4ODg42OY%2BP5wjY1jyOGTNG/D/i0NBQ/OMf/zBqLGvIU1%2BOgG3MZXV1NdavX4/FixfD3d1dZ1xbmsumsGCzQ4Ig6Pzm8EcKDQ1FaGio%2BH1ISAjat2%2BPjIwMvPbaa2K7vhgbtjfWp/6ydnP9mmp/fDxTnS9Lzqk149WbPXu21vcRERGYOXMmUlNTxf9z0DempeVYVlaGhIQE%2BPv7Y968eUaPY8052tI8fvrpp6iqqkJRURHS0tLw2muvYceOHUaNZel56svRwcHBJubyk08%2BQZcuXTB16tQmx7eFuWwKb4naMJlMBoVCodOuVCob/a2gLU2cOBFqtRqXLl0Sf9t5/DeP%2BlzqY5fJZKipqUFNTU2j/erH0XceHv/tyJzny5JzMjS2lpBKpRg3bhyKi4vFpe7WkKNSqcS8efPg7OyMTz75BO3atTNqHGvOsTHWOo8AMGDAAAwdOhQzZszApk2bcObMGRw9etSm5lJfjo2xtrksKSnBZ599hoSEBDx48AAKhQJVVVUAgKqqKlRWVtrUXDaFBZsNk8vlOvfHa2trcf36dZ377pakV69eaNeuHa5cuaLVXlRUBABi7PV/Pp5jcXEx3Nzc0L17d7Hf1atXxd%2BiGo7X8DyY83xZck6GxtZSj8do6TnW1NRg/vz5uHPnDtLT0%2BHh4SF%2BZivz2FSO%2BljbPDZm4MCBcHBwwPXr121mLpvKUR9rmstff/0VKpUKMTExGDZsGIYNGybeiXnppZfwt7/9zWbn8nEs2GxYWFgY8vPzUV5eLrYdPXoUtbW1CA8Pb8PIdGVnZ8PBwQF%2Bfn5wcnLCyJEjcejQIa0%2BWVlZ6Nq1K/z8/AAAQ4cORYcOHZCdnS32UavVOHToEMLDw8VLzeHh4VAoFDh58qTY7%2BbNmzh79qzWeTDn%2BbLknAyNrSU0Gg2%2B/fZb9O/fX3xuxJJzrKurw8KFC1FYWIj09HStB7eNGceac2yMtc2jPgUFBVCr1XjiiSdsYi6by7Ex1jaXAwcOxM6dO7W%2Bli5dCgBYtWoV3nvvPZudy8c5rFy5cqXBvcmq9O/fH3v37sXJkyfRvXt3FBQUYN26dRg7dixmzpzZZnHNnTsXt2/fxoMHD/DLL7/gs88%2BQ2ZmJmbNmiU%2BU%2BHt7Y0tW7bg5s2bcHNzw8GDB7Fjxw4sXboUgwcPBvBoObaDgwO2bNkCZ2dn1NTUYOPGjSgoKEBycjI8PT0BAD169MBPP/2Er7/%2BGt27d8fNmzexYsUKODs7Y/Xq1XB0fPQoZ2vOV3V1NY4fP46ioiJ8//33uHPnDnr06IGioiJ07twZLi4uFp2TIbE1l%2BO9e/cQFxcHlUoFpVKJf//731izZg0KCgqwatUq8TdJS85x5cqVyMrKwsKFC9GtWzeUlpaKX%2B7u7nBycrL6eWwux7KyMqufRwBYsGABrl%2B/DqVSidLSUhw7dgzr1q2Dt7c3EhMT4eDgYPVz2VyOpaWlVj%2BX7du3xxNPPKH1VVNTg/3792PBggViP2ufS4MYvGMbWaUrV64IL7/8shAQECCMGDFCeP/997V2am4L77//vjBu3DhhyJAhwuDBg4WoqCghIyND0Gg0Wv1OnDghPPPMM8KgQYOEyMhIYdeuXTpjaTQaYdu2bcKf//xnYfDgwcLUqVOF06dP6/RTKpXCsmXLhGHDhgmBgYHCq6%2B%2BKvz66686/Vp6vm7cuCH4%2BPg0%2BpWfn28VOTUXW3M5lpeXC6%2B99poQGhoqDBo0SAgMDBRefPFFIS8vz2pyHDNmjM3PY3M52sI8CsKjTU2nTJkiBAUFCYGBgcKkSZOElJQUQalUGj2WpebZXI62MpePy8/P19k419CxrCnPx0kE4bGbtERERERkUfgMGxEREZGFY8FGREREZOFYsBERERFZOBZsRERERBaOBRsRERGRhWPBRkRERGThWLARERERWTgWbEREREQWjgUbEVmFffv2wdfXV/zy8/NDSEgIFi1ahGvXrrV5XL/%2B%2BmuT/T7%2B%2BGP4%2Bvr%2BQVE1Lzc3Fx9//HGjn/n6%2BmL16tV/cERE1BTHtg6AiMgYSUlJ6Nu3L2pqanD27Fls2bIFZ86cwaFDh9CxY8e2Ds9q5ObmIjMzE/Hx8W0dChEZgAUbEVmV/v37w9/fHwAwYsQIqNVqfPzxxzh27Biio6PbODoiIvPgLVEismr1xdvdu3d1PsvOzsbzzz%2BPwMBABAUFYe7cubh48aJWnwsXLmDRokWIiIjAkCFDEBERgcWLF6OkpERnvHPnzmHmzJnw9/dHSEgIPvzwQ9TV1bUqfkNiTExMRFBQEH755RfMmzcPQUFBCA8Px/r161FbW6vVt7S0FAkJCQgKCsJTTz2FN954A%2BfPn4evry/27dsnjpeZmQkAWreZH7%2Bte%2BDAAUycOBEBAQF45pln8N1337UqVyJqOV5hIyKrVl9k/Md//IdW%2B5YtW5CSkoKpU6di/vz5UKlU2L59O1544QXs2bMH/fr1AwCUlJSgT58%2BmDRpEjp27IiysjJ8%2BeWXmDZtGr755ht07twZAFBUVIQ5c%2BbAy8sL69evh7OzM3bv3o2srKwWx25ojACgUqkwf/58TJs2DS%2B//DJ%2B%2BOEHpKWlwd3dHQsWLAAAVFVV4aWXXsL9%2B/exZMkS9O7dGydPnsSiRYu0fm5sbCyqqqrw7bff4uuvvxbbu3XrJv79xIkTuHDhAhISEuDq6or09HQsWLAAhw8fhre3d4tzJqIWEoiIrMDevXsFHx8f4dy5c4JKpRIePHgg5OXlCaNHjxZeeOEFQaVSiX1/%2B%2B03wc/PT3j//fe1xnjw4IEwevRoYeHChXp/Tl1dnVBZWSkEBgYKGRkZYvvrr78uDBkyRCgrK9PqO2HCBMHHx0e4ceNGk/GnpqYKPj4%2BLYrx7bffFnx8fITs7GytvvPmzRPGjx8vfr9r1y7Bx8dHyM3N1eq3fPlywcfHR9i7d6/YtmrVKq14GvLx8RFGjRolKJVKsa2srEwYMGCAsHXr1ibzJCLz4BU2IrIqM2bM0PpeLpcjLS0Njo6//%2Bfs1KlTqKurw5QpU7RuWbZv3x7Dhg3DmTNnxLbKykqkpaXhyJEjKCkpgVqtFj8rLi4W/37mzBkEBwfD09NTbHNwcMDTTz%2BNTZs2GZ2HMTECgEQiQUREhFabr68v8vPzxe9/%2BOEHuLm5ISwsTKtfVFSU1pU0Q4wYMQLu7u7i956enujSpUujt4qJyPxYsBGRVfn73/8OuVyOyspKZGdn4%2Buvv8bixYuRnp4u9rlz5w4AYNq0aY2OIZX%2B/vjuG2%2B8gfz8fMTGxsLf3x9ubm6QSCSIiYlBTU2N2K%2BiokKrWKvXWJshjIkRAFxcXNC%2BfXutNicnJ4Ni7NKli9HxderUSaft8Z9HRH8cFmxEZFXkcrm40GDkyJHQaDTYs2cPDh8%2BjAkTJgAAPDw8AACpqano2bOn3rGUSiVOnDiBBQsWICYmRmyvra3F/fv3tfp26tRJLLIaaqzNEIbGaIxOnTrh/PnzOu0tjZGILAcLNiKyam%2B%2B%2BSaOHDmC1NRUjBs3DlKpFCEhIXB0dMT169cxfvx4vcdKJBIIggAnJyet9j179mjdGgUe3SLMycnBnTt3xKtYarUa2dnZLYrb0BiNMWzYMBw6dAi5ubkIDw8X27/55hudvvU5P3z4EM7Ozib5%2BURkPizYiMiqdezYETExMfjggw9w8OBBTJkyBU888QQSEhKQkpKCGzduICwsDDKZDHfu3MGFCxfg4uKChIQEuLu7Y9iwYdi%2BfTs8PDzg5eWF//mf/8F//dd/QSaTaf2c%2BfPnIycnB7Nnz0ZcXBycnZ2RmZmJ6urqFsVtaIzGeO6555CRkYG33noLCxcuRO/evZGXl4dTp04B0L7N6uPjAwDYtm0bwsLCIJVK4evrq1O8EpFl4D5sRGT1Zs2ahZ49eyItLU28Mvbqq69i48aNuHbtGt5%2B%2B23MnTsXGzZsQElJCYYNGyYe%2B%2BGHH2LEiBH44IMPsGDBAvz000/YsWMHOnTooPUzfHx8sGPHDri7u%2BPtt9/GihUr4Ovri9jY2BbHbWiMhnJ1dUVGRgaGDx%2BODz74APHx8bh58ybee%2B89ANDKKSoqCtOnT8fu3bvx/PPPY9q0abh9%2B3aLcyEi85IIgiC0dRBERGQ%2B9fu9nThxAj169GjrcIioBXhLlIjIhuzatQsA0LdvX6hUKuTn5%2BOLL77AM888w2KNyIqxYCMisiHOzs7IyMjAr7/%2BCpVKhT/96U%2BYN28e5s%2Bf39ahEVEr8JYoERERkYXjogMiIiIiC8eCjYiIiMjCsWAjIiIisnAs2IiIiIgsHAs2IiIiIgvHgo2IiIjIwrFgIyIiIrJwLNiIiIiILNz/AxRiUf9Gj7kTAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -332,7 +366,7 @@
 <br>
 
 <h3 id="Read_lengths_vs_Average_read_quality_plot_using_hexagonal_bins">Read lengths vs Average read quality plot using hexagonal bins</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3RU1f7%2B8WcmmSSEhFAEAgjSi4iKFEVFQESkIwh2xHIVEcHO9aroRRQQFAvXn4IiioqIAhIFvFKUooBShAtIBwElhZZAytTfHzHnO5NMpiQnRXi/1spamZnMmZ0z7Txn7/3ZFo/H4xEAAAAAACgWa1k3AAAAAACAswEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbKKYpU6aoWbNmatasmZ555plib8/pdBrba9asmY4ePWpCK%2BHN7OcMAP7uJk6caHwujh07tqybc9YYMGCAsV%2BXLFni92927dpl/E3r1q1LuYV/Tx9//LGxzx544IGybg7gI7KsG4Dy4Z///Kfmz59f6O02m01xcXFKTExUy5Ytdd111%2Bmaa65RREREKbYSwLnm4MGDuv76643LVqtVy5cvV61atcqwVQAAAP7Rg42QOBwOnThxQjt27NAXX3yhYcOGqXfv3tqyZUtZNw3nsIMHDxpnsC%2B88MKybg5KQP4Tf263W1999VUZtQYAys7IkSON77z333%2B/rJtzzuJ5QDD0YKOAhIQEtWrVyuc6u92u5ORkHTx40Lhu3759uuuuu/Thhx/q4osvLu1mAjjLeTweLVy4sMD18%2BfP17Bhw8qgRQAAAIERsFFAoDNyhw4d0qRJk/Ttt99KkjIzM/Wvf/1LCxculNXKgAgA5lm3bp2OHDkiSWrQoIHsdruOHDmiAwcOaPPmzbr00kvLuIUAUHxNmzbVzp07y7oZAExCIkJY6tatqzfeeENdunQxrtu9e7dWrVpVhq0CcDbyHh7et29f9enTx%2B9tAAAA5QUBG2GzWCwaOXKkz3Vr164to9YAOBtlZmbqv//9r6Tcz5w%2Bffqob9%2B%2Bxu2LFy%2BW3W4vq%2BYBAAD4xRBxFEmLFi0UGxurzMxMSTKGcYZq7dq1%2Bvbbb/Xzzz8rNTVVZ86cUZUqVdS4cWN16dJFN910k2JjY0Pa1u7du7V69Wpt2LBBe/bsUUpKinJychQfH6/ExES1adNGffv21SWXXBJWG91utxYuXKikpCTt3LlTp06dUvXq1dW4cWPdeOONuv7668tVFfW9e/fq66%2B/1po1a/THH3/o5MmTiouL0/nnn6%2Brr75agwYNUp06dQJuw7tic0REhLZv3y5JSklJ0dy5c7V06VL98ccfys7OVvXq1dWuXTsNGTJELVq0CLmdDodD8%2BbN06JFi7Rnzx6lp6f73a9TpkzRO%2B%2B8I0m66aab9NJLLxnbmDt3rp599lmf7bpcLjVr1szvY44aNUrDhw8P2rZffvlFc%2BbM0a%2B//qqjR48qJiZG9erV07XXXqshQ4YoLi4upP9x8%2BbNWrBggTZv3qwjR47ozJkzioyMVKVKlVS7dm01b95c7dq107XXXquKFSuGtM38li5dqoceekiSVKFCBf34448hv2emTp2qt956S1LulBB/85xzcnK0aNEiLV26VDt27NCJEyeUk5Oj6OhonXfeeapXr54uuugiderUSZdddlmR/odAvv32W%2BPzpXXr1qpbt64kqWXLltq2bZtOnTqlZcuWqUePHoVuw26366qrrlJ6erok6bXXXlOvXr1CevwDBw6oe/fuxuVvvvlGjRs3LvTvd%2B/ebbz//vzzT506dUrx8fE6//zz1bFjRw0ePFiJiYkBH3PXrl1GL31sbKw2bdokKfd9OW/ePK1atUpHjx7V8ePHVaFCBeN27//3p59%2B0tq1a/W///1P%2B/fv16lTp2S1WpWQkKAmTZroiiuu0ODBg5WQkBDSfsjz%2B%2B%2B/a/bs2Vq5cqX%2B%2BOMPWa1WJSYmqkOHDrrllluMfXP55Zfr5MmTkqQvvviiQD2Pktp34Sjufva2Zs0a/fe//9Uvv/yitLQ0nTlzRlWrVlWTJk3UpUsXDRw4UBUqVAipXTt37tTq1au1ceNG7dmzR6mpqcZ3Wa1atdSmTRv1799fF110UVj/r8vl0oIFC5SUlGR85p533nlq2rSpBgwYoOuuu67Ep3iF2oaJEydqxowZkqTbb79dY8aMKbCtFStWGDUYmjRpoq%2B//jro44ey3TzJyclauXKl1q9fr127dumPP/5QZmamYmNjVbVqVV166aXq1q2bunbtKovFUpTdUUBhr8k83u%2BrPK%2B88opeeeWVAtvKu7/D4VDnzp2VlpYmKXcf9O/fP6T27N%2B/XzfccINxecmSJWrQoEFY/1Mef/ve4/Fo2bJlmjdvnn777TelpqaqUqVKaty4sXr37q0bb7xRkZHmR5TDhw9r/vz5Wr16tQ4fPqxTp04Z38tXXXWVBgwYoAsuuKDQ%2BxflecC5iYCNIrFYLIqPjzcOgDMyMkK63%2BHDh/Xcc8/pxx9/LHBbSkqKUlJS9OOPP2ratGl6%2BeWXdc011wTcXt%2B%2BfQudt3TixAmj8vnHH3%2BsG264QePHjw8phCQnJ2vUqFEFPhyPHDmiI0eO6IcfflCHDh302muvBd1WScvOztaECRP0%2Beefy%2BVy%2BdyWtw%2B2bt2qGTNmaMSIEbr//vvD2v6yZcv09NNP69SpUz7XHzp0SIcOHdKCBQv01FNP6e677w66rf3792vkyJHatWuXz/VlvV/tdrvGjx%2BvTz/91Of6nJwcbd26VVu3btVnn32m999/X02aNAm4nX/9619KSkoqcJvL5VJqaqpSU1P166%2B/as6cOerSpYtxEiFcnTp1UuXKlXXy5EllZWVp6dKlPj28gXzzzTfG797DrvNs375djzzyiE9RwzyZmZn6/fff9fvvv2v16tV655139NZbb/kspWWG/MPDvX/ftm2bJGnBggUBA3ZUVJS6d%2B%2BuuXPnSpKSkpJCDtjez%2BGFF15YaLjOzMzUyy%2B/rC%2B//FJut9vntuPHj%2Bv48ePasmWLZsyYoUceeURDhw4N6fHzfPLJJ5owYULQ3voffvhBTzzxhHEyIb/s7GwlJycbz9mYMWPUr1%2B/kNvwyiuvKDs72%2Bf6PXv2aM%2BePfrss880evRo3XnnnaH9U38p6X0XjlD3c56DBw/q2Wef1fr16wvclpycbOzr6dOna8KECerQoUOh23I4HLrxxhu1e/duv7fnfY5v375ds2bNUu/evfXSSy8pJiYmaDuPHDmikSNH6n//%2B1%2BB648cOaIVK1bommuu0eTJk4Nuq6jKQxtC9eyzz/p9PUpSenq60tPTdeDAAS1YsEAtW7bUm2%2B%2BqfPPP78MWhqczWbTgAEDNG3aNEnSl19%2BGXLA/uKLL4zf27ZtW%2BRw7U9GRoaeeuopLV%2B%2B3Of6tLQ0paWlae3atZo9e7beeOMN48RqcXk8Hr399tt69913lZOT43PbsWPHdOzYMW3dulXvv/%2B%2B7r77bj366KPUFUKxELBRJB6Px%2BdALpReuN9%2B%2B0333XefUlNTjetiY2PVuHFjVahQQSkpKdq/f78kKTU1VcOHD9eUKVPUrVu3QrfpHa5tNpvq16%2BvypUry2q16tixY9q/f78ROpcsWaLU1FTNmjUrYM/z8ePHNXToUO3bt8%2B4LioqSk2bNlWFChW0f/9%2BpaWl6aefftJDDz2ktm3bBv3fS0p6erruv/9%2BnxMBkZGRatSokapUqaL09HTt2rVLTqdTOTk5evXVV3XixAmNHj06pO2vXr1aI0aMkNvtls1mU5MmTRQfH6%2BjR48a4cvtdmvChAmqW7eurrvuukK3deTIEd11111KTk42rouJiVGTJk0UExOjgwcPKiUlJaT9mpiYqKuvvlrZ2dn65ZdfJOWe9Lnqqqv8/n29evUC/p/PPPOM0YtbpUoV1a9fX1arVbt37zZe58nJyfrHP/6hr7/%2ButCe7KeeekqLFy82LkdGRqphw4aqUqWKPB6PTp06pQMHDhhf8B6PJ2C7ArHZbOrevbvmzJkjKTcQhhKwt23bZry2LRaLevfu7XN7cnKy7r77bp%2Bz9AkJCapfv74qVqyorKwspaSk6I8//jDa7%2B9gtDiOHDliBBebzeYTonv16qVXXnlFLpdLq1evVlpams4777xCt9WnTx8jYK9evVonTpxQlSpVgrbBu1fM30kIKTf43H///T7LFdpsNjVq1EiVK1fWqVOntGvXLrlcLmVlZWn8%2BPE6ceKEHn300aCPL%2BWO1Bg7dqyx3caNGys%2BPl6pqak%2B7yNJ%2BuOPP3w%2BkytXrqy6desqLi5OOTk5%2Bv33342erNOnT%2Bupp56Sy%2BXSgAEDArbhk08%2BMdqQJzExUfXq1VNWVpZ27dqlnJwcjRs3LqzRGCW978IRzn6Wct9D9913n44fP25cV7FiRTVu3FgxMTFKTk7WgQMHJElHjx7VP/7xD/3nP/9Rp06d/D6%2B2%2B32Cdc2m00NGjRQQkKCrFar0tLStH//fuN99vXXXystLU0ffPBBwBCQlpamoUOH6vfffzeui46ONj5z9%2B/fr2PHjmnlypUaOXKkmjdvHvpOC1F5aEM4du3aZexnq9Wq888/X9WqVVNMTIzS09O1d%2B9e40TTtm3bdMstt2j%2B/PmqXr16ibarQ4cOysjI0G%2B//Wa8jxs0aOB3VJr3iZfBgwdr%2BvTp8ng8Wr9%2BvQ4cOKD69esHfCyn0%2BmzFOKgQYPM%2BSeU%2B5332GOPaeXKlZJyv28bNmwou92u3bt3%2B%2BzboUOHavbs2apRo0axH/e5554zvgfy1K9fXzVq1NDx48e1Z88eSbknu6ZNm6ZDhw7ptddeK/D%2BKurzgHMPARtFsm3bNmVlZRmXAw2dlHLPWA4fPtwI17Vq1dLo0aPVrVs3n2FA%2B/fv14svvqg1a9bI4XDo6aefVsuWLVW7dm2/261UqZIGDBigbt266ZJLLpHNZvO5/eTJk/rkk0/0//7f/5PD4dCGDRv0wQcf6L777iu0rePGjfMJ10OGDNHDDz%2BsSpUqSco9GPruu%2B/0/PPPa%2BPGjcZJgbLwr3/9ywjX0dHRGjFihG677TafAHjq1ClNnTpVH330kSRpxowZatOmTcAwLOX%2Bn4899pgkadiwYbrvvvsUHx9v3L5p0yaNHDlSKSkpkqTx48cHHDL37LPPGgerVqvV2GbeQbnH49Hq1as1ZsyYoPu1Y8eO6tixo8%2BQdqvVWqT1KJcuXaqTJ0%2Bqdu3aevbZZ9WlSxfjS9XhcOj999/XlClTJEl//vmnZs6cqREjRhTYzq%2B//mqEa4vFouHDh%2Bvuu%2B/22WdSbk/2pk2btGTJEp8D9KLo27evEbB//PFHHT9%2BXFWrVg14H%2B%2Be2Xbt2qlWrVo%2Bt7/99ttGuE5MTNTYsWPVsWPHAgca6enpWrlypb744gvThknmWbBggRHer7nmGlWuXNm4rXr16urQoYNWr14tp9OppKSkgKMn2rdvr8TERB09elQOh0NLlizRrbfeGvDxt2zZYgQkq9VaaK/36NGjjYBYoUIFjRo1SoMHD/YJmidOnNCbb75pjI5499131bZtW3Xs2DFgG%2Bx2u8aNGyeLxaL7779f9913n/EZJMknsORp2bKlBg4cqM6dO/s94Nu6dasmT55s1Mx48cUXdfXVVxd6ALtnzx6NHz/euFynTh2NGzdOV155pXHd6dOnNX36dL377rt68cUXC4yiKUxJ7rtwhLufT548qeHDhxvv3Tp16ujpp5/Wtdde63Pidu/evXrhhRe0fv16ORwOPfXUU1q4cKFq1qzptx2VK1fWgAEDdP3116tVq1YFhsceP35cH3/8saZNmyaHw6G1a9fqk08%2BCThq4Pnnn/dp/7333qsHH3zQ%2BExyuVxasmSJxo4dq7Vr15ZIFevy0IZw2Gw29enTRz179tQVV1xRYMRb3tSZSZMm6dixY0pNTdXYsWONKTcl5fXXX5eUu/5y3iougwYN0r333hvwfnXr1lWHDh2MUYNffvmlHn/88YD3%2Bf77741jtfj4eJ%2Bh4sW1ePFinThxQpUqVdJzzz2nXr16Ge8b788Sj8ejw4cPa8yYMUUe5ZVn7ty5PuG6TZs2Gjt2rM9x68GDB/XCCy8Y%2B2nx4sVq1apVgf1b1OcB5x7GPyBsHo9HU6dO9bnOe66iP5MnTzbmadevX1/z5s1Tjx49ChxENGjQQNOmTdPVV18tKTeYv/3224Vu94cfftDTTz%2Bttm3bFgjXUu5By0MPPaRXX33VuG7WrFlyOp1%2Bt7dp0yaf4bP333%2B/nnnmGZ8DLqvVqu7du2vGjBmKiYnRiRMnAv7vJWXRokX67rvvJOWeKf3www91//33F%2BhdTUhI0DPPPKNRo0YZ102aNClo72lej%2BvYsWP16KOPFgiKrVu31tSpU41wdfjwYaM3Ob/vv//eZ1rA6NGjNWrUKJ%2BDaYvFoo4dO%2Bqjjz5S5cqVS22/njx5UtWrV9fs2bPVtWtXnyBps9k0bNgwn0BWWPXqH374wfj9xhtv1MiRIwvsMyl3bnvbtm317LPPatKkScVqe5s2bYwg5XQ6fXrP/XG73Vq0aJFx2V/PbF7PgpT7OunUqZPfXrJKlSqpd%2B/emjlzZtCTNeHy7j3x1ysfTjVxi8XiE5D9Dd/Pz7v3un379n5D0fz5843nPDY2VrNmzdLdd99doBe3SpUqev755405ox6Px%2B98vfycTqeys7P17LPP6rHHHvP5DJIKjsro16%2Bf5s2bp9tvv73QWgutWrXSjBkzjICamZlpnKDxZ/LkyXI4HJKkqlWratasWT7hWpLi4uL06KOP6vHHH1dmZmaB4Zf%2BlPS%2BC0e4%2B3nixIk6evSopNwTy/PmzVO3bt0KjIpq1KiRZsyYofbt20vK/ZzJG6qbX1RUlL7//nuNHj1arVu39jv3tGrVqho5cqRefvll47oPP/yw0NEja9eu1dKlS43LDz/8sJ566imfz6SIiAj16tVL06dPV1RUlOmfueWhDeGaPn26Jk%2BerGuvvdbvdLLo6GjdeOON%2Bvjjj43bly5dqkOHDpV2U0M2ePBg4/f58%2BcXevyTx3t4eO/evU3tiT1x4oRsNpumTZumvn37%2Brxv8j5L8k7sS7nz7VevXl3kxztz5owmTpxoXL7sssv0wQcfFOgUuuCCCzRt2jSfUXBvvPFGsU%2BC49xFwEZYDh06pFGjRmnFihXGdb179w5Y5Or48eM%2BB8ETJ04M2MsWGRmpsWPHGgcZSUlJOn36tN%2B/DbWoU/fu3dW6dWtJuUP28op35ed9sFmvXj09/PDDhW7zwgsv1D333BPS45eE9957z/j9oYceMv6/wgwbNsyYR3XgwAH99NNPQR8jrzhaYS655BKftYg3btzo9%2B8%2B//xz4/eWLVvqrrvuKnSbdevWDbjfS8I///nPgEWUvNt7%2BPBho9feW95Bt6SQi34Vt0heuOFx/fr1xigCm83mt2fCe0hssNdUHjOL/W3YsMGYfhAfH%2B%2BzJGCebt26GYWjdu7cqR07dgTcpndI37hxY8CijPlPQhQ27N57tMQjjzwStJjXyJEjjbmau3btKvRklLfWrVvrjjvuCPp3UuifhREREXriiSeMy/nnQebJK/SU55FHHglYJPHee%2B8ttMhgfqWx78IR6n5OTk423mMWi0WTJk3yGV2Rn81m04svvmicoJo3b57fExAWiyXkQmh9%2B/bVhRdeKCn3%2Bzh/PYs83t9ljRo10oMPPljoNi%2B%2B%2BOKw58%2BHojy0IVyhvo8aNmxoBFe32%2B1zTFTeXHfddapWrZqk3Ol33ieD88v/vjdzeHie22%2B/PeB3y3333edzTPnZZ58V%2BbGSkpKMGkGRkZF66aWXFB0d7fdvbTabxo0bZ5xQyMnJKTCsHAgVARsF7Ny5U/fee6/Pz5AhQ9S9e3d169bNGBYjSVdddZVefPHFgNtbsmSJcVCRP5AVpk6dOkZIyc7O1q%2B//lqM/yjXxRdfbPy%2BdevWArd7PB6fg81BgwYpKioq4DZvu%2B22MimEsXfvXqPQk81mCzrkVcrtefeeb7tu3bqg9/E%2B810Y7zDpPbQ%2Bj9Pp1Jo1a3y2GWxIcf/%2B/Utt/lJCQkLQIXANGjQwDlAk//%2Bn95f2b7/9Zl4Dg/AOgJs2bQrYk%2BIdwDt37lygt06Sz2u%2BLIZrep%2BM6969u9%2BDoYoVK6pr165%2B7%2BNP8%2BbN1bRpU0m573PvUSr5rV271hgeGR0d7bd42/bt2405sxUqVAjpIDQiIkI9e/Y0Lofy/iuJg1spd3/k7de8OdT5rVq1yhjuHRsbW%2Bg89DxWqzWkz4vS2nfhCHU/L1682OjRb9eunRF0A6lfv77x3ZOZmen3uydcwb7LXC6Xvv/%2Be%2BPyzTffHPQk2O23327qVI/y0IaS5r0yiRnPa0mx2Wy68cYbjcvePdT5zZ8/33jfX3jhhWrZsqXp7bn99tsD3m61Wn2OaX744QfjfReuZcuWGb9fffXVatiwYcC/r127ts%2BILO/7A%2BFgDjYKOHXqVNAhOfXr19fw4cPVt2/foF%2BIGzZsMH6//PLLQ25H06ZNjUJH27ZtK7SAlZQ7V/ann37S1q1bdejQIWVkZCgnJ8dnGLR3RWR/hWsOHjzoUyk7lHl%2B1atXV4sWLYywW1q8e3BatmzpdyiyP94VsENpcygnQ7x7fv1VMN6zZ49P9eFQXgNxcXFq2bKlz2unpFx00UUhLQdSs2ZNHTt2TJL/qvneS%2Bd8%2Bumnqlu3rm699dZCz5abpUmTJmrevLkR6r/%2B%2Bmu/PUV2u91YV1oqvHDXRRddpJ9//lmS9Pjjj%2Bvll19WmzZtSqDlBWVnZ2vJkiXG5UBF2/r27WsM5U5KStKTTz7pd5pInj59%2BhhTRZKSkgqtpp//JIS/95b3%2B69Vq1Yh93p5v/8KG0Xjraj7PTk5WWvWrNFvv/2mY8eO6fTp0wWGheYNLXY6nTp27FiBOhfegSHU/zGU93Zp7btwhLqfvdsezndZkyZNtHnzZkm5n7uBCjjmLbWW9112%2BvTpAt9l3vUp/H2X7dmzx1jhQ5Ix5SqQOnXqqFGjRkaxp%2BIqD20ors2bN2vTpk3au3ev0tPTlZmZ6fM8eA9n9/c8lCeDBw/W%2B%2B%2B/L4/Ho5UrVyo1NbVAYTaPx6Mvv/zSuHzTTTeZ3o569eoFLToqyWcFGbvdrp07d4a9PJ0knyKKwValydOlSxfju2XHjh2y2%2B1BO1uA/AjYKJLDhw9rz549IZ1t9q6OumzZspAPjrwDcWHzspxOp2bOnKnp06cXWJswEH8BybsQi9VqVaNGjULaVuPGjUs9YHvv08OHD4dcYMN7H4Uy1y1QdeY83kMb8y/jI%2BVWN84TGRkZcI1Jbw0bNiyVgB3K/yj5VgT1LvCXp0ePHnr99deVkpIit9ut8ePHa%2BrUqerYsaOuuOIKtW7dWk2aNCmRHpo%2BffoEDdgrV640ToDEx8erc%2BfOfrc1dOhQI2AfOHBAt912mxo0aKBOnTqpXbt2at26tU9vvpmWLl1qvDcTExON%2Bav%2BXHXVVapWrZqOHTum48ePa%2BXKlT692vn17t1br732mjwej3bt2qWdO3cWGNJst9uNugZS4QHfOwDs378/5Pef93y%2BUN5/4S7/c/jwYY0fP17Lly8Pq7K7v8/DP//80/g9WK9PngYNGshisQSs71Ba%2By4coe5n78/dJUuWhLzGrXcgLqztDodDM2bM0IwZM8L6LvM3fcp7FEve6hqhaNy4sWnhtjy0oai%2B%2B%2B47TZo0ye8yhYUpbBpbeXHBBRfo8ssv19q1a%2BV0OjV//vwCJxnXrVtnHAfFxMSEvOxjOAItc%2BmtVq1aiouLM/br77//HnbATk9P93kv5Y1iCsb7e8Futys5Odm05cJw7iBgo4D27dtr1qxZxmWn06nk5GTt2LFDM2bM0IYNG%2BR0OjVt2jQ5nc6gSz55f8Dt3btXe/fuDbtN/r68HA6HHn744SLNffK31ql372tsbGzIZywDzcErKd77NC0trUhFQIIdEERERIQ9t9bfgbX3wXvFihVDHlIfaq98cQXq9SyMv/8zNjZW77zzjoYNG2bM0c7IyNCiRYuMOb1Vq1ZV586dddNNN5naK9y7d2%2B9%2Buqrcrvd2rNnj3bs2FGgLkLeMmSSdP311xfas37dddfp0Ucf1RtvvGGEtP3792v//v2aOXOmLBaLmjZtqhtuuEGDBw8O%2BQRFKLyHevfu3TvgyYjIyEj17NnT%2BKxasGBBwIBdu3ZttWnTxuiFTEpKKhCwV6xYYbxeExISCu3x8H7/5a1tHi5/odZbTExMSCMr8mzfvl1Dhw4tsF59KPx9Hnq3z99UAn8iIyNVoUIFn57L/Epj34UjnP3s3fbdu3cXum51IP4%2Bd%2B12ux588MEifY77e%2B68XwOVKlUK%2BXPczO%2By8tCGonjrrbcKFHENRajrp5elm2%2B%2B2VhB4MsvvywQsL2Hjnfv3r1EvoPDeX4TEhKM90tRPtfyj6gLZXlGf3936tQpAjbCRsBGUJGRkapTp47q1Kmjrl27asyYMUbRqhkzZuiKK64odH1PyX9vX7j89cZMnz7dJ1xfdtll6tevn1q1aqVatWqpYsWKPiFiypQpAZd78J7jE07oKouhQyW1T0tCcdZ6/rtp2bKlFi9erA8//FDz5s3T4cOHfW4/fvy45s2bp3nz5unaa6/Vyy%2B/HPKXfiCJiYlq27atMaUiKSnJJ2CfPn3ap7BNsJ6JYcOGqVOnTnrvvfe0bNkyn9ebx%2BPRzp07tXPnTk2bNk2PPPKIhg4dWuz/ITk52afw3uzZswPOFZR8D2pXrFihkydPBjyA69OnjxGwv/nmGz3%2B%2BOM%2BId67evgNN9xQ6Hs7UIAMVbD3RTi1Hex2u0aNGmUchMbExKhfv37q1KmTGjZsqOrVqxcIkpdffnnAntKSet%2BWxr4LRzj7uaQ%2Bd//zn//4hOt27dqpb9%2B%2Buuiii5SYmFjgu2zixImaMWNGoY9RHr7LykMbwvXTTz/5hOt69epp0KBBatOmjc4//3xVqlRJMTExxmfGihUrjAr3fwfXXXedqrcPrSUAACAASURBVFatquPHj%2BvAgQNav369MUooPT3dZ/ROSdV/KOproSgnMPLfJ9THzv8a/DucPEH5Q8BGWCwWi8aMGaNff/3VKID073//W0uWLCn0izE%2BPt44kzhp0iRThh05nU598MEHxuW77rpL//rXvwLe58yZMwFv917eKtjfhrPdkuDdozRo0CCNGzeu1NsQKu%2B2njlzRm63O6SDWjN7qUpTXFycHnroIT300EPav3%2B/fv75Z61fv96neJaUW735/vvv12effWZKFe6%2BffsaAfubb77Rk08%2BaRwIfvfdd8bw/Zo1awYcep2nRYsWevXVV2W327V582b98ssvWr9%2BvX755Rfj4DkrK0vjx49XREREsSsAf/XVVz5rKIf7vnI4HPrmm28CFtDp0aOHxo0bJ4fDoT/%2B%2BEMbNmww5sNmZGT4nIQIVNTL%2BzV9xx136LnnngurrWZbvHixz9DOTz/9NGhxomBB1/t/9FdbwR%2Bn0xk0hJa3fReOSpUqGe/hN998M%2BjylKGw2%2B366KOPjMv/%2BMc/fKq8%2B/N3%2BC4rD23wFsoJ5Xfffdf4vX379po%2BfXrAYptl8d1fHFFRUerfv79xcuaLL74wvguSkpKM74j69eurXbt2JdKGor4WitKbnv8%2BoT52/lEmoY7gAbxRRRxhs9lsPgdFR44c0ezZswv9e%2B/5muHMaQpk69atxkFfbGysHn/88aD38be0kjfvpcPsdnvIQxfz91KWBu%2B2mrVPS4p38SSn0xlye/1V6v67adCggQYPHqzJkydr1apV%2Buijj3wKHG3ZsiXo2tWh8u5xPXr0qDGPWvIt3NWrV6%2Bweu2ioqLUvn17DR8%2BXDNnztTatWv1/PPP%2B/QUv/HGG37n34fDe%2B3rogpWTTz/sG/v/fLtt98a1bRr1aoVsBCV9/vvwIEDRWytebzXmB84cGDQcH3ixImgvTK1atUyfg/1vbh///6gvcvlbd%2BFoyQ%2Bdzdu3Gic7EhISNCoUaOC3ifYd5n3d25GRkbIJ0jM/C4ryTZ490SGWl062OPb7XafInZPPfVU0JUsgj0P5dHNN99s/P7tt98aJ7K9RwuVRHGzPIGWSPSWnZ1tFBWVVKS6HwkJCT4nr0N9fXvX45EUcFlZoDAEbBRJu3btfKqCTps2rdADbO%2BlLEJZezkU3gV4mjZtGrRSs8fjCbrUV/PmzX2CRyjLbrjd7lIvcCb5VvfevHmzKcMuS0rjxo19CqHl9bIGcvr06ZD2q/fzVd6HolssFl1%2B%2BeV67733fAr%2BeC9hVhz5C5flhce0tDRj3p0UfHh4MHFxcbrttts0ZcoU47qMjAyfaq3h2rJli09ho6VLlxrD0IP9LF261Ljf1q1bg9Z48O6ZXrJkiXGA7j08PNj87/xrv5f1EELvQoLB1pSWFFJxLu/tbN26NaTh0aG8t8vbvguHd9tL4rusWbNmQYexut3ukL7LvIXyXeZ0Ok1dXrAk21CxYkXj91CDe2HrhedJTU01PgsiIiJCWp4q1CJ3ZvL%2BXCrKd179%2BvWNXuvs7GwlJSVp%2B/btRvHZyMhInyW9zPbbb7%2BF9J7ftm2bz4im/DVFQhEVFaXGjRsbl0Nd7tX77xITE/0G7OI%2BDzj7EbBRZN6VitPS0jRnzhy/f%2BcdxDdu3GjK2rreZ61Dqcr8008/6ejRowH/pmLFij4f4nmFqQJZt26dz1nW0tK%2BfXvjQMxutwftuStLkZGRuvLKK43Lc%2BbMCfqF9NVXX4XUI%2Bod3N1u99/iYL1ChQo%2BS86lpaWZtm3v8Pjtt9/Kbrdr0aJFxoFK48aNi3Sg4k%2BHDh18llgqzv%2BxYMEC4/eWLVuGVVCmbt26PgfDwd4L1157rTF89eTJk1q1apVSUlJ81lYOtubzFVdcYcxnzszMNKX3vTi8l%2BAK5fPQe38XpmPHjkbvT2Zmpk9vvz9ut9uozRFIedt34fB%2B365bt86nOnhRhfvc/fDDDz4V1f2pUqWKT7AI5bts9erVRSokVRZt8B4Vdfz48aCfPX/%2B%2Bad27NgR8G/yL2MXzPHjx33W%2BS4t3p%2B5RR015N2L/cUXX2ju3LnG5S5duphauDK/zMxMrVy5Mujfeb9e6tWrpxo1ahTp8bxHIi1evNgntPvj8Xh8TrYWNpLJjOcBZzcCNoqsbdu2PnM533vvPb8B55prrlGDBg0k5X54Pf/888UOQt4ftjt37gw4t8Zut2vChAkhbde7d2/RokUBz3q73W698cYbIW3XbAkJCerfv79x%2Bc033wx56FVZGDx4sPH7tm3bfKrU53fkyBG99dZbIW23cuXKPj0%2B3kvDlLZwzmJ7jzhISEgwrQ2dO3c25oudOnVKK1eu9AlGwXqvw/kf7Ha7z8FKUav/2u12ffPNN8blosxr9b7PwoULA863jI6O1vXXX29c/vrrr7Vo0SLjPs2aNStQXTy/8847Tz179jQuv/7662W6Dq73erYbN24M%2BLdr1671WQ%2B9MDVr1vQZTv/666/79LbmN3PmzJB6H8vbvgtH165djSW9XC6XxowZE3Ywy8/7udu%2BfXvAg/WcnBy98sorIW23X79%2Bxu9fffVVwJMBLpdLb775ZkjbDUdJtaFmzZo%2BQ4a//fbbgH//5ptvBg1W1apVM05wuFyuoL2dr7zySpmc0PUOv0X9vrv%2B%2BuuN4prbtm0r8bWv83vrrbcCvm8OHTrkE/qL06M%2BcOBA4/cjR47os88%2BC/j3CxYs8DnuK2x/mPE84OxGwEaxePdip6Sk%2BK36a7Va9eSTTxqXN23apGHDhgXt%2Bc3KytK8efN0zz33FLjtkksuMeabZmZmauLEiX7DwenTpzVy5MiQe80HDhxofHC6XC499NBDfg8qXS6Xxo4dWyZDxPIMHz7cCGcnT57UkCFDgg6rdrvd%2BvHHH3XvvfcWmGdUkjp37uzTiz1%2B/Hi99dZbBU6MrFmzRnfeeadOnDgRUnXtyMhIn7UtP/zww1Krjp7fqFGjNH369KBr9G7dulVLliwxLptZTCYqKsonbL777rvG0G2LxaJevXoFvP%2BhQ4d0xx136Pvvvw96QPrmm28ac5ajoqJ08cUXF6nNedW/8xQlYN9www3G78nJyT5zkv3xPtGwfPlynwPMYL3XeR5%2B%2BGGjJzwtLU1DhgwJ%2Bjnjcrm0cuVK3XXXXaaGSu8TnfPnzy80ZG/atEkjR44M%2BUTKE088YZzAOnbsmO68884CQ6NPnz6t119/Xa%2B88opiY2ODTteRyte%2BC0dkZKRPAbL169froYceCvqez8zM1Ny5cwssiyRJrVu3Nnr0MzIyNHnyZL/byMjI0PDhw0OeDz9o0CDjpJfD4dDw4cP97jen06nnnnuuRKY6lWQbrrvuOuP3t99%2B22eahLdp06Zp3rx5QbcXFxenCy%2B80Lg8YcIEv1Ov3G63pkyZUmajxrzbuHz58iJ9j%2BcVO8uT9zles2ZNdezYsfiNDOK3337TM88843f%2BfFpamoYPH260KSEhQbfcckuRH6tly5Y%2B/9OECRN8ill6W7dunf79738bl1u3bq0OHTr4/Vszngec3agijmK58sordemll2rz5s2ScpfOGjRoUIF5ZF27dtUDDzxgVOlcs2aNunbtql69eql9%2B/aqUaOGIiIilJ6erv3792vLli1avXq1MjMzVbNmzQKPGxsbq5tuukmffvqppNxhx3v27NFNN92kunXrKjMzU1u3btXnn3%2Bu5ORkVaxYUddcc03QglLx8fF65pln9Oijj0rKLXbRp08f3XrrrWrbtq2io6O1b98%2BzZ07V9u3b1d0dLSuuuoqLV%2B%2BvNj7Mly1a9fWpEmTNHz4cDmdTh0%2BfFgDBw5U586d1bFjR11wwQWKiYnR6dOndeTIEf3vf//TqlWrjOJtpT1vaNy4cbr11luVnJwst9utqVOn6r333lPTpk0VExOjgwcPGgdfl112mdq2batp06ZJCrx0S%2B/evY0Dszlz5mj58uXGNvP06dNHPXr0KMH/LncO3%2BTJk/X666/riiuuUOvWrdW0aVNVrlxZFovFCH5JSUlGz0edOnXUu3dvU9vRp08f4%2By/97zoyy67zOh9K4zH49HPP/%2Bsn3/%2B2Viz%2B6KLLtL555%2BvuLg4ZWdna9%2B%2Bffrmm298Ti7dcccdPlWDw%2BF9oNqsWTOf%2BemhuuCCC9S8eXOjB3X%2B/Pk%2BU1Pyu/zyy1WjRg2lpKQoKyvL6LGwWCwhPx/16tXThAkTNGrUKLlcLh04cED9%2B/dXly5d1LFjR9WtW9fn/bd161atXLnSOLFo5vuvX79%2BevPNN3Xq1CnZ7Xbddddduvnmm3XVVVcpPj5eycnJWr58udFT361bN/38888Bl%2BmScqcUPP300xo7dqyk3BMwQ4cOVa1atVS3bl1lZ2dr586dxsHwc889p4kTJ/qcePGnPO27cPXo0UObN2/WzJkzJUnff/%2B9rr32WvXu3Vvt2rVTjRo1ZLValZ6ern379mnz5s1as2aNsrOzVa9evQLbS0hIUL9%2B/YyTPLNmzdLOnTs1cOBAnX/%2B%2BTpz5ow2b96suXPnKjU1VQkJCbriiiuC9tpWqVJFTz/9tEaPHi0pt1Bd3759dcstt%2Biyyy5TVFSU9u3bpzlz5mjnzp2qUKGCLr/8clOHPZdkG%2B666y7NmzdPDodDaWlpGjBggIYOHWrUfNm3b5%2B%2B%2Buor/frrr4qPj1fbtm19lvX0Z8iQIUZbN2/erP79%2B%2Bu2225TixYt5HK5tGfPHs2bN88Ybn7TTTcFXUrQbJ06dVJ8fLxROK5Hjx668MILVa1aNaMmSUxMjF577bWA2xk8eLDPSiySNGDAAFNWtAikY8eO2rhxoxYsWKBt27bp5ptvVuPGjeVwOLRp0ybNnj3b54TV6NGji11kbNy4cerXr59Onjwpu92uBx54QD169FC3bt1UvXp1HTt2TCtWrPAZ/RQbG6vx48cXuk2zngecvQjYKLYHH3xQDzzwgKTcYjsLFizwu4biY489psqVK2vSpElyu93KysrSF198UeQvqMcff1y//PKLcXC8YcMGbdiwocDfRUdH65VXXgmpyIok9ezZU4cPH9arr74qKbfnYNq0aUbYy2O1WjVmzBgdOnSoTAK2JGOt4kceeUQnT56Ux%2BPRihUrgh5IlIU6depo5syZGjVqlPGcZWdnFyiO1aFDB7322muaPn26cV2gJTruuOMOLV%2B%2B3KianZqaWqAC/EUXXWTWvxGU0%2BnU6tWrfda19ee8887T22%2B/7VOwxwzt27dXYmJigZoDofbM5vFeszuQ6667zjghFa5jx45p1apVxuXiLHt0ww03GAF76dKlOn36dKGh32q1qlevXgUOMNu1a%2BdTPTuYbt266Z133tFjjz2mjIwMud1uLVu2TMuWLSvy/1EU8fHxmjhxokaMGCGn0ym73a5Zs2b5nYrRokULjR8/3qcHMJC8Zc%2B8g/Off/7pM7LHZrPpqaee0oABA/Tiiy/6tKsw5WXfFcXTTz%2BtKlWq6PXXX5fH41FmZqY%2B//zzkOag%2B/PPf/5TmzZtMnqn169f77dgXIUKFTRp0iSfooWB9O/fX4cPHzam3Jw8eVLvvPNOgb%2BLjIzU2LFjtWPHDtPnFZdUGxo1aqQnnnjCCEEnTpzwKbyYJyYmRq%2B%2B%2BqrWrl0b9Huxf//%2BWrlypTFl5eDBg4WGrIcfflgtW7Ys9YAdGxurF198UU8%2B%2BaQcDoecTmeB71Dv%2BcGFadiwodq1a2d8b1osFp/h1CWlXr16GjhwoJ588knt3r074BKjDz74oCltSkxM1Icffqh77rlHx44dk8fj0aJFiwqtC5CQkKBp06YZUxv9Met5wNmLIeIots6dO/sUGZo2bVqh82vuueceLVy4UD179gzYKynlfoE%2B8MAD%2BvDDD/3eHhcXp08//VR9%2B/YtdNmh1q1b6/PPPw/5YDLP/fffr3feeafQHr8GDRrovffeK5X5SsF06NBBixcv1n333Rd0Hmz16tU1cOBAffzxx7rgggtKqYX/p2HDhpo3b57%2B/e9/q3379qpWrZqioqJUu3ZtderUSVOmTNH777%2BvqlWr%2BkwhCDRcPCoqSjNnztTLL7%2Bszp07KzExMejyKiXhgQceUM%2BePYMObc%2Brwp2UlFSg0q4Z/A0Ft9lsPsOoC1OjRg09/vjjatOmTdBqxg0bNtRLL72kqVOnBn0vFyYpKcnnsyKUNhbG%2B77Z2dlBR6v4O%2BEQ7kkIKbfGxJIlS3T33XcHXS%2B1Zs2aGjx4sD799FMlJiaG/ViBdOnSRTNmzFDDhg393l6xYkUNGTJEc%2BbMCXtN2dtvv11ff/217r77bjVq1EixsbGqWLGiGjdurDvvvFMLFizQkCFDlJWVZQyrtVgsQesLlJd9VxTDhg3TggUL1L1796Cv/yZNmmjYsGF6//33/d5eqVIlzZ49W7169fJb6Mxisahdu3aaO3euOnXqFFY7R4wYoalTp/oUBvPWuHFjzZgxo9irC5RFG4YOHaoJEyYU2sN56aWX6vPPPw9rn02ePFkjRowoNBzVr19fU6dO1YgRI8Jqq5l69Oih%2BfPn64477lCLFi0UHx9fpJ5n71oTHTp0CKu4ZHH06NFDM2fO9Jne5S0xMVFvvPGGHnnkEdMes3nz5vr666918803F3p8EBUVpQEDBigpKclnxYDCmPU84Oxk8VBfHmUkOztbGzdu1OHDh42hivHx8apbt66aNm0aVtXI5ORkrVu3TkePHpXNZlP16tV1ySWXFPsLw%2BPxaOPGjdq1a5fS09NVrVo1NWnSxGfpsfIkb9mw3bt3G2vdxsXFKTExUY0bNw54Rra86dGjh9GjM3PmzELnQpVH%2B/fv1969e/XHH3/ozJkzioiIUEJCgho1aqRWrVqFNE%2B1rOXk5GjHjh06cOCAjh07puzsbMXGxqp69epq0aKFGjVqVNZNLHdcLpfP%2B8/pdKpixYqqVauWmjRpUiontdxut7Zs2aJt27YpIyNDCQkJql27ttq3b%2B9Tdb8krF%2B/Xnfeeaek3GH7oRRTy1Me9l1RZWVl%2BXyXWSwWxcfHq169emrWrFlYVZn//PNPrVu3TikpKbLZbKpRo4YuueSSoNM7gvF4PNqwYYN27dql06dPq1q1amratGlIy7qZJZQ2TJw4UTNmzJCUe2JnzJgxQbdrt9v1888/a%2B/evcrOzlb16tV10UUXqUmTJkVua0ZGhtatW6fff/9dTqdTNWrUMD6/zwYOh0OdOnUyTmRPmTLFp/igmQI9p9u2bdPOnTuVlpamuLg4NWnSRG3atCm008QM2dnZWr9%2BvQ4fPqz09HTFx8cbn5FmjyjDuYuADaDc2bRpk1HYxGaz6ccffwzawwWgbI0ePdpYAqxfv34hV7wG8hQlYCN8S5Ys0ahRoyTljhBbuXJlkUciBcNzinMRQ8QBlCunT5/Wc889Z1zu2rUr4RooI6Geg1%2BxYoXPmtbFWVoHQMnynq4wcODAEgvXwLmKgA2gVJw5c0Z9%2B/bV7NmzlZKSUuB2p9OppUuXauDAgdq9e7ek3N7rvAJ6AErfrFmz9OSTT2r16tV%2B1/09duyYXn/9dY0YMcII423atNEVV1xR2k0FEITH49E777xjFOSKiorSkCFDyrhVwNmHKuIASs3OnTv1wgsv6IUXXlBiYqJq166t6OhoZWRkaN%2B%2BfQXWHX3sscd81psEULocDocWLlyohQsXymazqUGDBqpSpYo8Ho9SUlJ08OBBn17uatWqaeLEiX6LdQEofT/88IPmzJkjp9OpvXv36vDhw8ZtQ4YM8bsUKoDiIWADKBX5D7iPHj1aYCmpPPHx8Ro9erTf5d4AlB7vYkMOh8NYYs%2BfVq1aacqUKaVWjRhAcIcOHfK7/N2ll16qhx9%2BuAxaBJz9CNgASkVsbKyxzu2GDRu0d%2B9eJScnKysrS1FRUapcubKaNGmiK6%2B8UgMGDGDeNVAODBkyRC1atNCqVau0ZcsWHTp0SCdOnJDD4VB8fLzOO%2B88tW7dWt26dQt7CSkApctms6levXrq2bOn7rvvvjJZ0hI4F1BFHAAAAAAAE1DkDAAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADBBZFk3oKyddmQr02Ev0n1jbVGKs8WY3CIAAAAAwN/ROR%2BwMx12/XbiqBxuV1j3s1kj1LxKIgEbAAAAACCJgC1JcrhdYQdsAAAAAAC8MQcbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwi8FS1g0AAAAAAJQbkWXdgL%2BrCItFTo9HKZnpRbp/rC1KcbYYk1sFAAAAACgrBOwislqsynbadej0CTncrrDua7NGqHmVRAI2AAAAAJxFCNjF5HC7wg7YAAAAAICzD3OwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELDLiKWsGwAAAAAAMFVkWTfgXBRhscjp8SglM71I94%2B1RSnOFmNyqwAAAAAAxUHALgNWi1XZTrsOnT4hh9sV1n1t1gg1r5JIwAYAAACAcoaAXYYcblfYARsAAAAAUD4xBxsAAAAAABMQsAEAAAAAMAEB%2B2%2BICuQAAAAAUP4wB/tvhgrkAAAAAFA%2BEbD/ZqhADgAAAADlEwH7b4oK5AAAAABQvjAHGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELDPMZaybgAAAAAAnKUiy7oBKD0RFoucHo9SMtOLvI1YW5TibDEmtio0px3ZynTYi3TfsmozAAAAgHMLAfscYrVYle2069DpE3K4XWHfPzoiUo0SapRJ0M102PXbiaNht9tmjVDzKokEbAAAAAAljoB9DnK4XUUK2DZrRJEDuhlBt6jtBgAAAIDSQMBG2IoadJn/DQAAAOBsRsBGqSjO/G%2BLLLK7nEV%2B7OIEe%2BZ%2BAwAAAAgVARulojjzvytE2lQrNqFIj1vcYJ/jcmhfelrYbS7ufHWpeAGdEwMAAABA6SNgo1QVZXi5zR1R5MczI9gXqc3FmK8uFS%2BgF%2BfEgM0aoRZ/w6JwxTmhYFHu68TlcRfp/pyQQEkpzuta4rUJAEBZOGcDdtu2bZWQkCCXxy2H2yWPJ7z7Wy1ShMUqp8d9Tty3LB/7XLuv9/1dHrfCvbtFlr967sN/bIslN2QXlUUWecJucXHva5HkkdPtKuK9c/dX0fa1FGmNUITFWoRHRrg88shdlDeUJKvFIsvfrBKEy%2BMuxuua1ybKp%2BK8j6Wyey%2Bfa58/Zamo%2B/pYapqio6P1yy%2B/lECrgNCdswE7IyNDGRkZqlWndsiBwiKLrBbfD8hIFT2M/B3va%2BZj//nnn5KkWrVqlerj/l3uW9KPHe7%2BD11xDiKKel%2BLTGng2AAAIABJREFUIiKKFySK%2B1wVRck9B2envJMhZinv%2Bz/CYi3267q8K%2B/PwdmuLPa/2e/j0lIS7eb1719R97XL5VKlhEpFmhbojdE/KK5zNmBHROQeTH%2BSND/k%2B8RGRqlKdGxJNemc07VrV0nSsmXLyrgl5yb2f9njOShb7P%2Byx3NQttj/ZYv9b66uXbvK5XHrtxNHi7ysqxnLygLnbMAuCofbpVM5WYqKiFBURCRD7wAAAIBypKjLyQJmIWCHwXjD/rViVKTFquiISOPHSuAGAAAAgHMWAbsYnB63nE67zjhzq7zmBm6bV%2BD%2B%2B80xAgAAAAAUDQHbRLmBO0dnnDmSpEirVbGRUaoYGUXvNgAAAACc5Uh9JcjpdstmjWBpBgAAAAA4BxCwS5hFFlkYKg4AAAAAZz2Lx1OEldzPAnml/MNZpqsozouJU3QEI/EBAACAkpJ3bP/ch28Xa5muVtXqqEZsJZNbh3MJPdgAAAAAAJiAgA0AAAAAgAkI2AAAAAAAmICAXeI8Kulp7h6Px/gBAAAAAJSNczpgWy0WVYiwyVpCy2hFWqxyuFxyy9zg6x2mXW63Mp12ZbkcsrtdxvUEbgAAAAAoXed0eWuLLKoaU1Eej0dOj1s5Lqfx4ylCKI60WBUdEanoCJuiIyJktZhz/iIvKFssFrncf7XTndtOl8ed73%2BSoqyRf7UjMncdbovFZxsAAAAAAPOd0wE7j8Vikc0SIZs1QnG26HyB2/FX4C7o/wJ1pKIiIhVREoE6X/DPH6gL3FfKDd9up%2BT4K3BHRCraSuAGAAAAgJJEwPbDX%2BB2uF2yu51yut25gdXEQO3N7XYr0%2BWQ0%2B1SjsspZ5BAHYxHMsJ5XuCOjohU5ejYEmk/AAAAAJyrCNghsFgsivqrl7qkeSSdsmeV6PazXU65PR5F0HkNAAAAAKahCxMAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwQ%2BTxeJRuz9KfZ07lFgwrIcGqhJvB8tcPzi15xfqynY5SeZ0BAAAA5xqKnBXC4/HotCNHqVkZSslKV0pWhhxul3F7JVuMasRWUvUK8TovJq7IBdDyluGyu5zKDmEZrqKKtuYWaYvxWqoLZ7e85ebyXlv513fPXWbO9tdSc%2Bat2w4AAACcqwjYf/F4PDrjtCs1K0OpWelKzsyQ3Z3bU22RCqyDne7IVsapbO05lSJJSoiqoBoV/grcFeJks0b4fRx3vnWti7sMV2GirBFGeIpi7etzgsfjKbBuutvvCu65nB63nM4cnXHmSJIirVbFRNiMkzFWXicAAABAWM7pgO2RRwfS04xe6myX/0BdWETxvv6UPUvp9iztPpUsSaocFauasZV0Xkyc4qNi5HC7leNylHCgjvwrUEf6DdQE67OPy%2B1WtsuhHPdfgdpTeKAOxul267Q7R6eVG7htea8pa%2B7ritcPAAAAENg5HbCznA5tSD0YcqAOxvt%2BJ%2B2ZOmXPlKdyolxF3mJoYiOjVCU6lkB9jvF4PDqalV5i23e4XXK4XYqKJlwDAAAAoTinA3befNSSir8e5Q67LWnWv3qrCUHnlpI9bfN/GCoOAAAAhIaqRgAAAAAAmICADQAAAACACQjYAAAAAACYgIANAAAAAIAJCNgoVzzFWGYKAAAAAMrSuV1F3CO5PW5ZLdYCS1wVh/eyX6dyMlUxMloRJlcTd3s8sii3vek5WfJ4PKoUVUFWi0Vuj1sWWf4WVcW997vH45Hrr7ZHmPycnI0syl2iLcvpMCril4Rsp0M2awTVxAEAQLlns0aUyX2BPOd0wHZ73PozM12RFquiIyL/%2BrEZy15JoYU770AdE2FT5ehYVYqKUaWoCoo06Y3qHaiznQ6lZKUrNStDqVkZOuO0S5IiLVbVrlhZ58dVUd24qqpeIb5cBu68JcU8Ho8cbpdyXE7luJ2yu5zGfozwfk6skYqwErjzs1gsqhIdq8pRHjk97tz96HIox2s/FoXv%2ByFSVgsDXQAAQPlnkUV146oUaxsuj0epmemlthxqeRRri1KcLaasm/G3dU4H7DxOj1tOp90nqOaF7dyAUfg609ERkaocFatK0RVUKaqCaWe%2BvMPk/2fvzmIsye4zsX/nnFhv3iX3yu6uqu6u6rXYTbYlstkcQ%2BJIxRmPbdCQQBuGQT2IFAEDpAA9WAL6QfNCCHqQAAl6kARBoIAhAcMQMdYLDdGD4dgNYwwNLZHiqNnsZvXCXmvJzKrK9d6IOIsfIm5k5M3Myi0i1%2B8HJLo682ac2G7k%2BeLEPf/UaNyuBOrVLNlxO95bvYv3Vu8CeAuBVHioCNyX25OYjtoQReAejto3GVarQXr4X20tBjYPgekDgqBxFus6xXpxTNRI6Bsd4T7PdcCFEPCFgi8V2n6Y7%2Bd9BG4lJKJivwbFviUiIiI6bRwcbq4vQVt74GVYZ2HO8UcWfanwzMQcA/YhMGBvYzRw%2B1IhlB7Gwxih8svR6W4QI1D17kJtDQY6w1Lax3x/BXf6K1jJBgdaVmoN3l1ZxLsri/iPAALp4ZH2OC6OTeD5qYtQDQdS4yycQxH0dBH0DnbBGg3cw5sgsRcgrPkYnHbbBe7MGiRWI9Ea2tktTwcQERERnQV9nSGz5rhXg84xJpM9yKxBZg2m4w5emLncaFupNfg/3/9xQ8vWeGd5Ae8sL%2BCxzhQmorFG2hla0%2BmOo%2B2HNbwJklmLmbh9bkev90IIgaAYne74x702RERERERnF4euiIiIiIiIiGrAgE1ERERERERUAwZsIiIiIiIiohowYO%2BDcw6Z0Y23c1Y%2BTeycK2f6JiIiIiIiOus4ydkDOOeQmAzL6QBLyTp%2BePtd/PWN72Ou1cOT4xdwdXwWj3enEXvBodrJrMFy2sdy2se9wToeHhuHsRYDk5X1oQ9bLkAJiYdaPTzSnsDl9gTGw1btpa2cc%2BjrFMvZAEtJvj0WDr5UiJRflj07bJtSiHIG7Ej5Zduc6IyIiIiIiI4TA/aIgc7ysFsExOE0/wIoC0zdWl/Cnf4y/p%2BPfgoB4KGxcTxVBO7HutMI1YOnatbWYDkdYDntYylZR99kW9pQUqIlAoyJsPgdW9Y0TqyG3SVwSyEwF/dwsT2BS%2B0JzLV6UFLCOgsBUUsYdc6hb7Ly5sByOoBxW%2BsODmdhH5YbC6SHyMvDdiB3D9xSCIRyowa2V9Qar4ZqhmsiIiIiIjpu5z5gJ0aXYXopWd82UGPk3wDKgOsAfLR2H7fWlvB/f/gGBAQutifKEe5HO1OQQmKlCKFLab%2Bs5bxbG9XQ6EkJJQKM%2BcPAbTAw%2Beh2Ujy2Ptvq4OLYBC61J/HQ2Dg8KWGdg6gsS4qDfyrAOYdBMaI/DNV6m0C9m9RqpOnGo/ajgVsJiaAI09EOgRpgqCYiIiIiopPlXAfs1Bj84513AewedndjMQzcDu%2Bv3sWHq/fwHz74CZ6begRPjl%2BAEOLQbWwO3ApjQqLth7jQ6uKlC1fgSbVNoK4nhGbW4NXFD5AWNyDqVA3cT/YuYLKoz81ATUREREREp8m5Dti2EnHrnopruOzJaKwMhnW3MVxuL4ihipHpugL1qMzoRsL1qE4Qlf9moCYiIiIiotOEs4g37mhCIufqJiIiIiIiOl4M2EREREREREQ1YMAmIiIiIiIiqgEDNhEREREREVENGLAbx09Hn0RulzritIH7ioiIiIhob851wG50%2BrEilCwl/fJb9gA1ox9kuP6rWdL4VGq%2BVOVM5U1azxIAeairO9httzyGx50N9011NnfuLyIiIiKinZ3rMl1KSMy2ukhMhkRrJEbDHXTE2TmgCCLGGGRZhizL8H/d/RH%2BzgvwUHcCD3cncbE3hXYY5wES%2ByurVa2jHUiF2biL2VYHM3HnYOu8D77y8PMzj2JNJ1hOB1hO%2B1hOBwffX9VlS4VQ%2BQiVh%2BUsQd9ohMrLv6QHJeW2YW831d/R1ubH2WgkVsM5bLShPPhSlb9zXsuDVbc9sybfV0YjNRoQQCiH%2B8uHd8BjQkRERER0lp3rgA0B%2BErBVwrtIA8YmTVIjcZAZ0iN3jk%2B7hCosyzbMsq3niV4a/EW3lq8BQAYCyI83J3AQ91JXOxNYywIi8DtIHcYJfalwmzcwUzcxUzcQccPjzzYCCHQ9iO0/QgPj43DOoe1LMFy1sdS0sdqNthT3PaEQuR5Zage3WbjLNZ1inWdFq%2BXCIogHBWvf9DoqhACxtoyTCcmg9lm5HVgMgxMBgCQEJva8M5B4K5um64E6sToTTXi8xcDfZOhbzIAfSghECoPgfQRqYPfBCEiIiIiOkvOd8AeIUQesgLloR1EZeBOjEai89FPALDGIC3CtNYa1u7v0e%2B1dIAbCzdxY%2BEmAKATxni4O4mHuhO41JtG5AfwhMRM3MFsq4uZqINuEJ244CKFQCeI0AkiPDI2AescVrNBOcK9kg0A5AE59HxEykegvH0/aq6dhR4J3Bujzz7kMFDbjYBo9vk4voUrA/dSsW0bI7Z54D4LYXu4DaMj%2Bnafj34b57CuM6wjv0Ghqsek8tTBad9fRERERET7wYD9ANXA3QkiLKzcx827i7V/DnUl6eON%2BQ/xxvyHmI47%2BMvP/8%2BIlHfqwokUAt0gRjeIAUzgXrKOlWxQ%2B2e3h4F7rQjcUoh9B8TdWOcqI7bAw63eqTse21nXKZbTwdYR6kOqPnWghMDcGdlfRERERET7wYC9DwLiSCZ5ij2/8TaOghTiSCZGqztcn3V1h2siIiIiIsqd61nEiYiIiIiIiOrCgE1ERERERERUAwZsIiIiIiIiohrwM9i7cM5hbWkZ8%2B9/hA/e/hmW795HPD2OeGYC8dQ4pF/PLoy9AI9NzODZmYt4dfFDtDwfnWLCsFCdzsPU8gJEykNi8pnYU6uPe5UObH6wCiUEoqK0mBLyVE7iFSoP01EbaTF7%2BANL0e3TsNRZdErPVyIiIiKiwzr2nvC7776Lb3zjG/jRj36EGzdu4MqVK/jOd75T/twYg7/6q7/CK6%2B8gjfffBPGGDz11FP4zd/8TXzmM59pZJ3Wl1cw//5HmH//I9x59wMM1tYB5LOKO%2BeQ3F/B/RvvAQDC8Q7i2Um0ZiYQTY1DempPbYTKx6MTM7gyMYurk3OYGeuW9ZvXdII1nWB%2BsAoACKSH8TAP2x0/QnBKAownJCAkAumhW5Q9SyultFJrjnsV9yyzBhmAQVGqTUJUSoVt1M0%2B6ZSQUAIIpEJHjJSi22fgFhAIlSpKc/nwpCzfI8DZriFORERERLSdY09qN27cwCuvvIJPfOITsNZumaV7MBjgL/7iL/Arv/Ir%2BI3f%2BA14noe/%2BZu/wZe%2B9CX8%2BZ//OX7pl37p0OvQX1nD/PsfloG6v7oGABBSwlVqXJfrVlnH5P4KkqVV3P/pu4AQiCY6iGcmEc9MIJrqQao8eAXKw%2BXxaTxeBOoL7fGyfrOSG0/qV/89lFqNO/0V3OmvAMhHIXtBC90gQjeI4Z/QcDcaroQQCKRXBO7iZkUlcGenKHBbbC7jJYej20Xt7O2O40mw3THxpYJfCdzpMHCPPHUgkJ/Hw230pSoDdXW5w38zXBMRERHReSPcUdSdegBrLWQRRl5%2B%2BWW8%2BuqrW0awV1dX0ev1yu855/CFL3wBY2Nj%2BNa3vnWgdq9fv45b9%2B9CfeIxrC/nwXU0UB%2BYEHkIFwK/8Iu/gP/2%2Br/EI5MzZaCWQhw6fAigHGnsBTEe60wjOoXlvYannyhqWS8lfayb9JjX6vB8ITEetsoQeppUj4lzDtrl7wlPbB6hPm3bRURERGfX9evXYZzFv/43f3aqBm1OGl8qPD/1CGZb3eNelVPr2Eew5S4jfUqpTeEayDv2zzzzDP7hH/7hUG1nSYKkCNcA6gnXwMYIt3P45z/3aVycnCnDSF0jm9W7Ii0vOLWf066GNCkEBsWI8GmnpDo1j/KPGh2N9oq5EDkyTURERCfdSX2y87Tg/ju8U5kArLX44Q9/iKtXrx73quxK1DBaTXSceP4SERHRaSAgcKk9cdyrceoZ5zC/vlwO6LX8AG0/OtZ1Ok1OZcD%2B1re%2BhXfeeQdf//rXH/i669ev7/izmzdvskgZEREREdEpsVvffnbuAm6uL0HX9VTqOWWdhSmeyPWlwjMTcwzY%2B3DqAvb3v/99/OEf/iG%2B/OUv41Of%2BtRxrw4REREREZ0QfZ3xM9h0rE5VwH799dfx1a9%2BFZ/73OfwO7/zO7u%2B/nvf%2B96OP7t%2B/Trev32zztUjIiIiIqKG7Na3N44j13T8Ts1D0u%2B99x6%2B8pWv4Nq1a/iDP/gDfi6UiIiIiI7NMRfiIaIT6lQE7Pn5eXz5y1/G9PQ0/uzP/gxBENSzYCGABichU0qhPxg0suwqO1KH%2BDQ7K9vhimkh%2BMeXiIjobBktZ0lEVHXsj4j3%2B3288sorAIAPP/wQq6ur%2BO53vwsAePHFF9FqtfCVr3wFi4uLePnll/Hmm29u%2Bv0XXnjhwG23ux288C%2Bv4/133sUHP3sXWZqWAe8gF0wlFUzxmY/Z6Rl8/Nlr0DpDmqb13RSotickekGM2AuQGQNfnf5p9WeiNgYmQ2I0BkaXQbUOUghEykcgFCCAzBoMjK71cSIBIFAeIuVBWwOPpQ6IiIhOtWqgNtbm/RSrIRzgF3/zh3/v3Rka9CCigzn2gL24uIjf%2Bq3f2vS94f9/85vfxCOPPILXX38dAPC1r31ty%2B%2B/8cYbB25bSYkXPv0pvPDpT8Fai4Xbd/DBz97F%2B%2B/8DB%2B%2B%2Bz50lj0wcCspYYpZCqcnp/D8s9dw7amn8eyTT2GiN37g9dpxfYVEN4jQDWJ0gxix8s/cRVxJiTEZYswP4ZyDdhaJ0UiK0L2fuC0hECqv/Nop7Jqyjbwds4%2BbKwJAIDfa8KU6c8eEiIjoPBkN1InRSGzeT9hyU95kWEJ%2BEz%2BUW/scDNxE58%2BxB%2ByLFy/uGpIPE6L3SkqJ2YfmMPvQHH7uM5%2BGtRZ3bt4qA/dH730Ao3X5%2BonxcXz8mWt49qmnce2pZzA1UX/NPSkEun6MXhij60eIveBcXaSFEPCFgi8V2nsI3AICUSVQKyH3tL%2BUkGh5AVpe/pSBsbb8Q7pd4A4ZqImIiM6kzTfd9/6Um3UOfZOhbzIAo4HbhydPxacyiagGxx6wTyopJeYeeRhzjzyMT/6Xn4ExBuniEvyBxlNXrmJmarqRdn0hcbkzhbgIfAxvG7YL3Jk10M7ClwreHgP1bpSUaMmNwK2tRWo1lJAIGKiJiIjOlMRkWMvSsk9Rh82Buw8lJC7EHfYhiM4BBuw9Ukrh8qOP4kq3mWA9JITAdNxptI2zQgiBQHmo/9Ptm3lSwpNNt0JERETHwQHlyHNTWD6K6Pzg8ypERERERERENWDAJiIiIiIiIqoBAzYRERERERFRDfgZ7D1aXV/H/J07%2BKl5E4/OzOHK7MMI/Xo/l2udxVqm8eO7H6LjR5iJO4g9fvZ3J8PZvrU18KVCqDxIUe89I%2BscUqPLSc72Mzs5NcM5h9QapEZDiLwUW10T3BER0fkjhUDHj5BZU1Qo2U9R0N0JAIFil5vovOC7fQfr/T5u313AnbuLuL04j34yAJBfhG1R0/DS5CyeevgSnrhwEY/NPoTA8/fVhnWuLDc10Fk5c%2BWd/kp5aW95AS60upiJO5iJOoj22cZZYpxFWpTNGOxQOsMTEqHyyzJacp%2BhyzmHxGqkRRuZNVteI4tQl5ffYOmNplUD9aC42TFKjNY8Z%2BAmIqI9CqQH38%2BrhDjnoK3FwGZln2O/cVsUyxwt6emcY11sonOAAbvQTwa4s5gH6luL81gf9AGgvCAO2eLfzjm8t3gbH9y9g3//T38PKSQuT1/AUw9dwhNzF/HozBz8kbuVw9HQxGQ7hjcAmy7k6zrFz5YX8M7yAgCg7Ye4EOeBezruIDzDd0TtSC3KvZTO0M5C6wRrOgGQzwAeKR%2Bh9BBsE7iH4W1Y8zrd4ZhsXi%2BHvs7Qx7D0htgI9dKDYuA%2BlGH5tfLYbxOot/wOHAYmw2BYf3QkcPOpAyIiepDh3wghBHyl4EkJ4Ueb/yYVN%2BC3C9yBVGVfIKgE6tFlE9HZd3bT2R5oY/D3r/1n3F6Yx2p/HcDGCPVQNVxvZ/ha6yx%2BNn8T7y3cwr/7z9%2BHkhKPzszhuctX8cylxyGk3DFQ76a6BqtZgrVsHm8tzwMAun6EubEeHu/MoB2EB1r%2BSZIYjb7OkJisllqU2lqs2gSryAO3L/M62gJAZs2eAvVujHNY1ynWdQoAZeAe8wI%2BErZH1lms6RSJzkeoD/twnkW1/ujGUwdjXsha5kREtKtNgbvoO3TERuBOTX7z11cKgfQYqImodK57/4M0wdsfvLftCPVBDX/fWIu3b3%2BEn3vyY8ichbD1fZ6nuqTlbIALrouxmj8PflzuJmuHPgYPkllz4Bsde2Wcg3UWgfL4KNgerekUy%2BmgseVb55AZgzD0dr1pRkREVFX9O14N3KM/5997IgI4i3jjnW0lm380VQhR83Qcx%2BjMbAj/2O7LERx3doCIiKgOQgj%2BTSGiHZ37gE1EREREtF8M10S0HQZsIiIiIiIiohowYBMRERERERHVgAGbiIiIiIiIqAYM2A2zzh7JrMX8FNDJdBZmrHbOnZntqP6XiIiIiKhu5zpgh36Ah6ZnoVSl1MIhl1md8GIsjvHO/E3cH6zB2Lymc91hRQmJ5WSAhcEqMmNOXYiormdmDSKv2cpxw3rIkfKgRDOnvwAA55AafSonQKkeE20NBibDwGSNncMA0PICjHkhvIaOCZAf%2B0RnjS2fiIiIiOhc18H2PQ%2B/%2BPOfhrUW91aWcefuAm4vLmDh3iKMtRAQcLvUDxJClGGjFUa4MD2D2clpzE5OoRXFAIB1q7HeX4YSEqHy8i/pQUlZ/u5eg5gUAr0gRjeI0QtixF4AIQRSa3BnsAIBsdGG8so6jSelHnN1PTJrkBiNxGikRsM2UKtJjuwPJTaXTTPWIrG6WI8M5oDBMZSb9/lJ2Nd7VT0HtbVITJbvD6u31CSv4xzejpIS42EMIIZ1tjwvEqOhnT3QMgOpynUNpHeqjgkRERERnU7nOmAPSSkx1RvHVG8czz7%2BBKy1uLt8H3fuLuL24jwW7t%2BDtbbsoA8DRRSEmKsE6rG49cB2jLNY1ynWdQoA8IREUASASHmQQm4JwhICnSBGL8wDdasI1DtxcOWI4/D3q214lcANNFtiYrQNXQnUSUOBevQGgyceXIdcSYmWDNDygmIdLdIiXA5MtiVgDuXhzS/C2%2BkJ1NWRZyFEfoOh2N693GDY6zlcbWO/pJCIvQBxcUyMK46J0RgYDbND4PZHArU8JceEiIiIiM4OBuxtSCkxPT6J6fFJXLvyJIw1uLt0H3cWF7E2WMfU%2BAQuTE5jLG4dKlhpZ6FHwkrbD/FoZxqx56MXxBjzw0O1YSuBewnFI9LSQy%2BMG3tEeiixelOA2ymsHkY%2Boqrgy70F6t14UsKTAVoI4JyDKUZTU2ughECo/FMVqEdl1iCzBmlxs2OnsLpX253DseejG8R1rC6A/BhvCtyVpw6G53OgGKiJiIiI6PgxYO%2BBkgozE1OYmZhqtB1dhLknxmcba8M6h77J0HERVMN5JDEaq1nSaBtKSEyEY40sWwgBTyh4UqGZFo5eZg3up/3Glq%2BLEe46A/ao0acOiIiIiIhOinM9yRkRERERERFRXRiwiYiIiIiIiGrAR8SJiIiIiOhMGFbQoXpwf%2B4fA/YJI4VAYjJ4QkHJZh4wcM5hLUuKmZ/9xibskhDwpUJmTSPLB/JZw88C51y5n5os8yWQz4CeWdPAHO4bbTRtuL/yz8kfbmI7IiIiOhsEBC61J457Nc6cpidGPmsYsI%2BZFAIdP0I3iMoyXPP9FQD5yRx5flkO6qAn9zCMDExW1jge8oQsa2p3gxihqq9ecCeI0EEE51yl1rQ%2BVOCulh07iXW%2B98o5V05qNzwmw8ArgGL7/FpmRq9q%2BSFafgjnXDmTeD5Lut79l3cggPyYyM3HpE7Dc7gs81ZZ391qnRMREdH54OBwc30J2h6uSgpt8GRe5Yj2jgH7iEkItIOwDLVjRV3r7epSG2exliVYK2bi9kYCt9whcG%2BEkQwDo5GabMfRSu0s7iZruJus5W1IhZ4foRvmgTtS/qG3WRSllELpQQQC1rmy1vRugTuva63KwDkMm6OB%2BqQHqgcF6i2vBTAoaj4DzQRuIQQCqRBIhW4QFYFbVwL3g44JEMjNNzl2OocPqjyHrUai8xsAO%2B0vi3xm/H6l9vumWuh8tImIiOjc6Ous0acnzxtfqsaeejyrGLAbJgC0KyPU7aKu9WgY2Uso0c5iNUvK0leeUIi8vC6zkioPrcUo9UHfCNoaLCZrWCwCty9VObo9HOE%2BiOr2SbERgIaBeyPYZZBCbhoNPY2BGsj3ZTniajTsAY/K1sAtisf7DxcgR/dnID0E0kM3EJueOkiNBiqhNdghUB/mmOznBsRutgRuIRApvzynmvroBRERERERA3bDnujNYjIaqzWMDGlnsJo1e4cuswYLg1Usp328MH25tuWOBu6oCIxC5PWTm9hfRykxGguD1UaW7eAwMBkGJsNDrV5tyx0N3NWnDoBmj8m6Thurz22dw7pOkQiNC16nkTaIiIiIiAAG7MYNP4962gLiKNXgxFvAxv4ZjlSf9v1lXfOf/RHIb040tvwjPCbWNf/wkTwD5xURERERnWx8VpJOFAagk4fHhIiIiIhobxiwiYiIiIiIiGrAgE1ERERERERUAwZsIiIiIiIiohowYBMR0ZnmjmASPSIiIiLgnAdsbQx0UVvYOtdIJ2xxsFrUEc47eae1o5eaDMtpv1z/07wtR8GXqpxBvikOwEBnZ%2BI4hMqDJ5q9HGlrkBp9JvYX7a56nK1z5cz%2BvHYRERFRk851ma5BmuB//953MdHtYXZyGhempjEzPgmlFKxzEDj8DMq3%2Byu43V9BqDxOIlGbAAAgAElEQVR0gxhdP0IvjOFLtaWu8EkTSIVQ%2BcWXh5UswUqWIJAeQpV/BUX5rpO%2BLUfNkwqzcQfWOaRGI7EaA5NB28OV7/KERFQcj0B5jZbpOkqB8nCh1YVxNt9fRmNgNMwhy535UiEqz1WP5%2BcZVr0GGWsxMBkSq5EaDVP8TAlZXrtC5UEJyWsXERER1epcB2wg75TdXbqPu0v38fo7b0IKgcneeBm4p8YnoaSEtfZQtYATozHfX8F8fwUAECkf3SBCN4jRCyJ4JyBw52EkD9QPCm%2Bp1UitxkqW12KuBm6fgXsTKQQiz0cEHz3EsM4iMQaJ0UhMBr1LgPTKQOAjVAqy4VHe46aEROwFiL0AAGCcLfZVvr/MLiOPvlT5/pJn6wYEbRjWZR8N1ElxIyt5wI0Z4yzWdYp1nQKovr/yLzkSuIdtEREREe3VuQ/Yo6xzWLh/Dwv37%2BG1t29ASomp3gRmJ6fw6EOPoDPWrqWdgckw6Ge4UwTu2PPR9WOMhzHGw1YtbTyIFAKyMhoaKv9AYcQBeafWamAYuIuA0/ICSDBkV0khEXsSsecDiDeN2CZGwwEbI67FCNt5poREywvQGgZua8sQlZgMQoj8HGagPjesc4BzlfPg4E86aGehdYq1kcAdKR%2BR59e52kRERHROMGDvwlqL%2BXuLmL%2B3iH4ywKc%2B9olG2unrDH2d4V6yhv9i5nIjbVTNxN1GPiPsgLLTCwBtP6y9jbNkdMSWHkxJiZbcCNx0/gxMhvtpv5FlDwP3wGSY83q8OUhERET7dr6Hx4iIiIiIiIhqwoBNREREREREVAMGbCIiIiIiIqIaMGDvE%2Bun7t1R1ZvlMSEiIiIiopOAk5ztw3s3P8Q7H76Pqd44LkzNYHZyClPjE1CHnCxMQqATROgGEXpBXNPabuWXda09eEU5miYn8VnVCVZ0gnCbMl6HYTeVbtLQzsKXMt82ziZNdKbFxazyqTVITIbEaKTWHHq51QoIocpnEGeZLiIiItovBux90CbvxC3cv4fFpfv48Vs/hRQCU%2BOTuDA1jdnJaUz2xqHkgx8MEBDoBCG6fl4De8wPN9V1rUtZE7iobS2PuD71cGu2lPGSHkIv78juJXBb5/JOtNEY7FA7OrMWmU2wigRAdds9BJKBm%2BisGL6XA6kQSIVukF/XUqsxKK4Tew3cwxtyUeXmX/U6zHBNRERE%2B8WAfUDDTph1DvP3FrFw7y5exRuQUmKmErgnuj0oKdH2N0aox/xw27B72M6cV4TKYW1rWYxS19nGYZV1s9O8jJcAKjcBipF1IK8NbfNax5ndf43bzBpk1mA1ywN3MBK4j3s/ENHhVN/DQggEsnhvF4E7Ka8hGlkRuIPKUzzBSKA%2BKddIIiIiOt0YsGviivFaay1u313AnbsLcAD%2B1SdewvXnPwklmwu7ofIwGbWhTmCg3o0DMDD5yFOTUmuQWoOVLEHLCzAexCd%2B3xDR3o0G7uENtWHgHn7/tF0jiYiI6HRhwG7I8CHDJ%2BYulo%2BMN9WRC6QHCXYW9yo45GfmiejkG70WMlATERHRUeAs4k1jX46I6FgxVBMREdFRYcAmIiIiIiIiqgEDNhEREREREVENGLCJiIiIiIiIasCA3bR6S1sTERERERHRCcWA3RBZTKqzsHIfQF43e1gepi7DZWpny0l8bM1tnEXV/UVERERERFQXlumqiRSiDLdjYYRHLzyMSzNzaHc7uLW2VNRk9RF5HuQ29ar3ovo71jkkJkNiNO70V/DO0jy6QYxuGGM8aCHy/PJ3DhMmfanKerK%2BUNDOICnqVmfWHHi5VUpIRMpDoDwEUsE6h9TmbaRG1/IQgMBGXdxQeYfeL0RERERERKMYsA9ICFEG3jgI8ejsQ7g0M4dLM3PojbU3hTftLLROsaZTIAE8IRF6PkLlIVI7B%2B7q95xzRbDNQ/V24fZusoa7yRqAPBh3gxjdIMZ4ECPcY%2BD2pUSofIQyD7xy5LUK%2Bc%2B7yEfLU6ORWL3jOm1HCZG3oTyE0ivrhFcFykPbz9c3s3moT4xGavcWuAVQ3tQIlQdPSAZqIiIiojPOl%2Bq4V%2BFM4f7cPwbsAwj9oBKoL2Ci3d1XeNPOQmcJ1rIEwOZR4lD5kJVAnX9lSPc5WpxZg8XBKhYHqwCAoBK4e2ELocoPvSckIuUjKNofDdQPIoVA5PmIkIf3MnAXNwK0sxuvUx4CWYTdbQL1ToQQ%2Bci28tDB1sCdWJ2/Dnkoz9vx4EvFQE1ERER0jggIXGpPHPdqnDnGOcyvL5%2BLqaVafoC2Hx1qGQzY%2B/Cxy1fw4jPPY3ysU2t4y6xBZg1Wi8DtCVmG07qk1mBhsIqFInB/7uI1dIIQUtT3MfwycHs%2BeohhnYV1%2BYh1Xftru8CtneUINREREdE55%2BBwc30J2tbbjz7vrLMw52CeJ18qPDMxx4B9lKSUmGh3G2%2Bn7nC9HSlEreF6%2BzYkZMOZVwgBX/DRFSIiIiIC%2BjqrbZ4gooPgLOJERERERERENWDAJiIiIiIiIqoBAzYRERERERFRDfgZ7D3QgwSD%2Bfv4xxsf4Y1/9x9x5akn8dS1Z/DYE1fhefXswmHt58RoZMbAk7KcWbyuz0o757CuUyynffxvN/4T2n6EJ3qzuNqbxWQ0VksbAKCtzWt0Ww3rHEJZ1NHmzN5n2vbnsI9QqcY/709ERESnX7UEbN6XGFbaYV%2BCTg8G7G2YJEV/4T76d%2B6hf%2BcustV1AICQAs46vPHj1/B//Nu/ged5uPLUk3j6uWt46tqzePTxx6D2GLhdJYwMtqkhnVjkdbOxUUorVNvXpn5QG32dYjkbYCnpYznrww5rayMvZfDDhfcAAF0/wlPjc7jam8HV3izGw9ae2gAAY21ZC3tgsrKNcluMBrJqbWoPofThSc78fZodxTlMREREZ9fufQmNNV1U2ZFFX0KyL0EnGwM2AJNmGCzcR3/%2BHvq37yJdWQOQz1DtKmHR2fzftpj6X2uNGz95HTdefwPO/lv4QYCrTz%2BFZz52DU9dewaXHn8Msqj5nF9AzIHqWmtnsaoTrOph3exiZHDkAuOcQ99kWE77xdcAZocZyR3yUgZDy9kAP5h/F38//zMAwHjQwlPjF3C1N4urvRl0g3hjf1UCdWKyPU/b7wAMigsoMKgE7qI%2BNkttnWhHcQ4TERHR2XWovoS1WLUJVjHsSxSj20VfguikONdno0013v/3/wnpUl4bGkIA1UC9h%2BDonCt/J0tTvPHqj/HGqz%2BGcw5BGOIX/uvP4ZO//ItQUVjbemfWIqtcYOAcltMB1nVyqBJfthK476fr%2BPv5n%2BH7d94BAExHbXzu4jU83B6vrQ7e5sCdj6h3gwgtL2DgOkH6OsNqliC1urZljp7DkfLQC2J4kiXXiIiIzpq%2BTou%2BRH3lszJrkFlT9iXOQ51mOh3Od8DOso1wDWwK1wdVDeVpkuDhJ69AhsGhl/sgy9kAy1m/9uWOPup9YazX6MXLwSFWPhitT5bVbFDrH8TteFJB8bNVREREZ9JKlhxBbWoGbDoZ2KNtmhB87Hk/BLi/iIiIiIjoVGLAJiIiIiIiIqoBAzYRERERERFRDRiwiYiIiIiIiGrAgE3n0l5miCciIiIiItoPBuwGJ9QSUiJLUjjnGg10oph3u8mpwWxRA7zpYDrcV021U132aW7jKIkjmNfduWYntxs9JmfhuBAREZ0WnL6WzpNzXabLH2th7tPXsPr%2BLazdXICzdkst7P0QUsAVQTQYizFx9TJev/ke7GwXE%2B0uemFe53fYuT9soBAAAumhPdbDRNjCuk6wlPaRlHWlD16wQELAwkEAmIk7uNyZwp31ZczEnUOt824WBmuIlY9QeQiUBynEofZX9Xe1NVhO%2B1hNE1g4jPkhekGMQHm1teGcQ2o1EqNhnYMnJULlwy/qOzvnTt0s6RNhC32TITEZEqNrLYIxPIeVFNDWwpP13PMbPSaZNUiMhnEWSkiEyoMvVfnz4WuJiIiofpPhWON9CSnElhKzRMfhXAdsoSTmXnwOePE5WG2wfmsBKx/cxur7t7F2ewGw7oGBu9o59%2BMIE1cvYfLxi5h4/CLiyV7ZYV/UfSzez%2BtUx16AbhChG8boBS0oKffVwQ%2Blh1B5mwICAPSCuHxNajSW0z6W0wGW0vWyhvGDAvcwUAPAdNTG5c4ULrYn8PDYBEJ1dKeJcRarOsGqTgAAvlT59hbbvVsgqv7MWIultJ/vi2yAvk43v7goHR4qD90gRteP0Atb8He5CbI1UOfhLTEaqdXbbNUAEgKB2nzshss66cFOSYm2DNH2QzjnoJ0ttvdgfyR3OocPa7gvq4E6sRrpduuYFX%2BQK%2BdWNXCf9GNCRER0mhxFX0IcamiJqD7nOmBXSU%2BhffEC2hcvAC8BNtNYu7WA1Q9uY%2BW9W1i/c3dT0PaiEBNXLpaBujU9sadOeV%2Bn6OsUt9eXAQAtL0A3jPOAF8RQIyN4gVQIhyO6ewwjgfIwHXcwXYw2J2Xg7mMp7SMrAvfQZDiGy50pXGpP4JH2BELl79rGUcmsQWYNVpEH7kAqBMpDpDwE0tsUiIyzWEn7WEoHWE77WB8N1DtIjMZ8fwXz/RUAQKT8/CZIEKMXbDx1sCW8FYF6L5dyC4eByTAwGYD8hsZwlD5SHrwicJ90Qgj4QsGXqvwjmVmDxGokevv9cZBzeC%2BqQTg/JllxXAzcHo6KA8rjmAdugVAVN3SUD09IBm4iIqKaHbQvESkfQc19CaImMGDvQPoeOpfm0Lk0h4c%2B8wmYNEO6sAQMMoxfnsPYzBSEPPybe12nWNcpbq0tAcjD7ifnHocvZRkgDytUHmbiDmbiDpxzSIzGeNhC2w/xSHsCsRccuo2jklqD1BqsZnnghgNSm2EtS7FWjHof1sBkGPQz3CkCd6x8XGpPwsBtPxp6ABYOfZOhbzIsAZBCYCocq3VE9ygIkY/MB8pDx0f5RzK1Br5Ujf4RXE4H0M4iNbp8%2BuIwHBwGRmNgNIABBAQmghiRd3JuOBEREZ01x9mXIGoCA/YeqcDH%2BOOPoN1uN9pOX6do%2B2FjyxdCIPJ8PD0xd6qC9U4GJsPCYKXRNvomw5pOG724W%2BdgnIWP0zGSvZPqH8mm9U0G42xjy3fIH2EjIiKio3OUfQmiJnAWcSIiIiIiIqIaMGATERERERER1YABm4iIiIiIiKgG/HDDHqXLq1i88TrM8hqmn72Cyaceg/Lr3X1KSDw8No62H0JbW5QtqL/cQMsLoESz91ZU8fkZCYG0mAm8bgL5tjzU6mFNp1hNB7VMdjXaxpifl5WwxQRxdbcBAJ6QjR%2BTs6blBTDOIjEZTAN1L5UQtdXlJiIiIqLzgQF7B%2BnqOu795B3cfe1tLL76JtY%2Bms9/UNTFlr6H2eeewIUXnsWFTzyNyScvQ6r9TVClhMCFVg%2BXOpO41J7EhbEulJA7lIQ6WJ1AYKP2dq8oBTYsO1Vn%2BSEpRKUmoV8Gk2Ebw3A63I6DTB61W91i5xxWs6Ssfb2aJQe6QTHmhWWZrm4QQVaOCYDNZboOGLiVkGX9xlB6m%2Bqh0950iskAhWgVN6Sysva1PcC%2BfNA5TERERES0FwzYhWx9gHuvF4H6n97E6ge3AQBCSThTCYNFZ9tmGrf/8Q3c/tEbcNZBhQFmn38Scy88gwufeBrjVy5Bqs2jXxICs60uLnYmcKk9iYfHxqGkhHUOAigDXPW/QREkO0FUBu5BESR2KhkVKb8M071wI1CPLvswdqrjPBrah/%2BWQiAqXpsHbluG1J0CtwAQlIFnc6DebluEEGgXo80X2xOwzmE1G5SBey1Ltt1fLS8ow3TXjzeF3e32ly8VPCHL2d73UoNZCZHXgi62Z7c2aHfV/eVJCSUCjBXHRFduguz01MHwHB5%2B7XYOExERERHt5lwHbJtpvPG//i0WX30TK%2B/dApzbEqg3hesRzjkM%2B%2B0mSXHrB6/h5j%2B8BjgHLw5x4eNP49o/fwnXP//f4PHZh/FIexyeVFsCtdylA18NYL5U8KVCN8iDZmo1UmMQewHafohe0IKv6g/UABAVI3vDsDvcB3sNI9WfSSERKR%2BR8iGEKB711dDWQKAoz7BLoN69DYGOH6HjRxDtSVhnsZImWM0GcHBoeWExor//sLt94I42PXXg4IqRav9AbdD%2BbA7cCkrIMnAPj4l1FrJ4euAg5zARERER0YOc64A9uL%2BCd3/0KpzdW6DejbMbo2S6n%2BCj/%2B9VvPy//DZ%2B/srHIITYc6B%2BkNEgEEgPk2EbE9HYpqBQd0jwhMRU1K41jFR/VwmJWPmA8rf8vK42pJDFo99RrW2MLmd4E6T6%2BHodbdD%2BbHcTZPSYjL6OiIiIiOgwznXAhnObwnXti7cWQRhCNjhRkhACcpvQ0GR7TS676e0YLrvJdhjeTibe6CAiIiKipnGKXDpRjir8MGQREREREVHdzvcINhERERERnRnDOVaI9quuc4cBm4iIiIiITj0BgUvtieNejXPDlwqBOltxsuUHh17G2dojRERERER0Ljk43Fxfgm5wjiXKeVLiyd4FzLQ6x70qJ86xB%2Bx3330X3/jGN/CjH/0IN27cwJUrV/Cd73xny%2BteeeUV/PEf/zHeeustzM3N4dd//dfxxS9%2B8RjWeH%2Bss3DWQjQ40dl2tZ0ba%2BuIJlNr0mi5rNPuLBwTItrd8L3O9zwR0c76OkNmzXGvxpnnSwV3pCnk9Dj2Sc5u3LiBV155BY8%2B%2BiiuXr267Wt%2B%2BMMf4qtf/SquXbuGv/zLv8Sv/uqv4vd%2B7/fw7W9/%2B1BtB50WJp5%2BFELlu6GOECyVKjs%2BnYlxfP///Tss3LsL6/I7ac65MuDVpa9TrOkEunIxqbsN7SyW0wEya8plN7EtTaiup3UOidFIrIaxzR2TplTXc1jb%2BTQeEyLam%2Bp7e6f3PBEREZ0cxz6C/cu//Mv43Oc%2BBwB4%2BeWX8eqrr255zZ/%2B6Z/i2rVr%2BP3f/30AwEsvvYSbN2/iT/7kT/CFL3zhwGWwvDjCiy//Gkya4f6N93D3tbex%2BOqbWH77w3zUWcld62JLJeFsHmrGel18/J%2B9iOde%2BiSee%2BmTePjKoxBCIAHw0doSfKkQKq/48svyWsDhRlONs7ifrAPI60kPlx8pH0rK2kZsV7IBVjJAAAiK7YikD09uX1/4uFS3dxio0yJUj97R9ITc2BblQYr69lcdqvtUW4PBcFuMhh25axhIrzy/gkodbuBkbAsR7a46Sq2txcBm5Xu%2B%2Bo4XQP5eP6HXYSIiovPq2AP2buE4TVP83d/9HX77t3970/c///nP46//%2Bq/x2muv4bnnnjvUOqjAx9THrmLqY1fx5P/wL6AHKe7feBd3X3sbd199E0vvfAQ4l490O%2BT1s51Dqz2G5/7Zp/D8S5/Ccy99EhefvPLAjk1mDTJrsJolAFAJ3D5C5dUSuI2zWNcp1nWab1sDgdsB%2BSiw0VjGAAICoVLldgxn4DuKcFcdvRkG6mGYHo70PIh2Frqyv7xyf3nFMZFb2mjK6P7SxWjVcMTd7jJSlVqN1OrNN0GK0O0zcBOdOKPvx6z6njf6gY/eOQADozHYdB3euHYd5XWYiIiINhx7wN7Ne%2B%2B9hyzLcOXKlU3ff%2BKJJwAAb7311qED9igvCjD9/JOYfv5J4H/8r6D7Ce698TPgZ/MIV1M8/XMfx3MvfRKXn37iwKPnwNbAHUiFyPPRDeKatmT7wB0pH70whkA9HS4HV3b0AEBCIFAeOn7YeKkE4ywya5BWHp08jGHgXhsJ3L0gbryDmhgN4ywSm49Sm0M8%2Blm9CYJK4G57ISLPr22diejgBiaDqTxlM/pUyn7k1%2BEMA5MBONrrMBEREW048QF7aWkJANDtdjd9f/j/w59v5/r16zv%2B7ObNmxCdvQVZLw4x88LTePpf/DJ%2B8crH9vQ7B5FaA5PZWgP2KOMs1nSCdhBBNpQXbdHRC6Q6koB9t3g8vgnDwN1r8JgMrem07BzXbRi4h080cDSL6PgtpQMY18xMt%2BV1WDV/HSYiOiq79e1n5y4c4doQbe/YJznbq50CAYMCERERERERnQQnfgS71%2BsB2DpSvby8DGDryHbV9773vR1/dv36ddxavV/DGhIRERERUdN269s39VQQ0X6c%2BBHsy5cvw/d9vP3225u%2B/%2BabbwLAjqW9iIiIiIiIiI7SiQ/YQRDgpZdewt/%2B7d9u%2Bv53vvMdzMzM4Nq1a0e2LtY53E/Wd53N%2BTAERD7jc2Mt5HypIBt%2BvP4oHt5v8lhUZdY0fldUCgElmn1LCvBjFfthrN1Uc5ioTkrIM3EdJiIiog3H/oh4v9/HK6%2B8AgD48MMPsbq6iu9%2B97sAgBdffBGTk5P42te%2Bhl/7tV/D7/7u7%2BLzn/88fvCDH%2BDb3/42vv71rx9qFu/dCCHgeR5830fgB7hrE/yH938CJQSm4g5m4w5m4g7Gw9aBQ4sA0PYjdIMYvTBG24/Kcl2ZNRiYrJhhNjvE/LJApPLZybtBhF4QwysmvdlvKagHkSNlYrwGJtaxziG1G2VsDjtr%2BF7ND1YBbF/Gqy4TYQtAHuqSyjYeJtjvVEKNtrd532flTO7DmsPD/egJyRsVdGgzcRtAzddhIcryfE1dh4mIiGhnwh3z0MwHH3yw44yA3/zmN/HpT38aAPDKK6/gj/7oj/DWW29hbm4OX/rSl/DFL37xwO0OP4N96bf%2B%2B/J71UDt%2Bz6UymsHwzlgpDMtgDLwKiExE3cw08oD924lndp%2BmAfqIEYniDbVWq7%2BXvV7zrmiFFVWfOkHbl%2BkfHSCqGzHl2rHeqjOuU21lwdFR2%2B3sjHDMjCh8hBVOnLV5R2WqwTqwREG6r3yirJnQRm469tuID9WxloMjEZqsyJw73xMyvrXykMkfXhSlucPA%2BFWxtm8bnpxfu31Zsaw5nCkPAQM3FSDk3wdJiI6DYafwf7X/%2BbPTlx/8SzypcLzU49gtrXzfFjn1bGPYF%2B8eBFvvPHGrq/77Gc/i89%2B9rO1tz8M09VAvaVjsk0npdrdMc7i9voSbq3nE7F5QhZhu4uZuIOHxnroBS30wgidIIbaJlBv1xGqfk8IgUAqBFKhG8Sbg6fOIATQ9fMR6m4QI1DentoY/b4nFcaERNsPAeSPRpejxUbDr4ze%2Bjt05A7Tqdu4kZCPIKYn/AKpncWqTgCd1zL3pcxHOWUevA4auKv7UEmJlvAxJoK8TWvLmyyp1fCkKkesfLlxDleXw452zjq7MVJoNPQBnw7YruZw009v0Nm21%2BtwagwCpRq9DhMREdHBHXvAPk5SSXS73Vo6JtXArZ3FrbUl3Fxbwv/01Kfx8elLtQSerYHbQyA9XGh1MRmO1Raqqr/nSwWv6OgN91OTHbn5wQoye3pngMysRWYTpFJjWrVrW%2B7mzreEEgHGis43AAbqPdDW4nZ/uZFlWzj0TYa%2ByTAT1Xfc6fw6zuswERERHdy5DtjD6V%2Ba6JgMA/d48bnaJtoYLnM4It5UB2s0tDXZkTP2bEwmJRt%2BZHh02exc784eUekO1eC8EHR%2BHeV1mIiIiA6OPUEiIiIiIiKiGjBgExEREREREdWAAZuIiIiIiIioBgzYRERERERERDVgwCYiIiIiIiKqwfkO2M6V5Y2G/61DdW7XG/dvQxe1nF2lvcOqLivRG/V862zjqFTXOVRnY2L7zBroU1xu7CzypCxrBjdpoLNT9x4kIiIionqcjTRzQNZa3L17F77vw/M8BEEApdS2NUYfRGCjLFcgPVzqTOBiexIXOxOYDMdwa30JvlQIlY9QeQiVD1m0Aeyt3Er1tc45pEZjYDIkRiO1Gu%2Bs5G13gwjdIEYviBEob19tHJXqOhlrkRiNxGokRsM0UEpJIN83oechlF4ZsrQr2i6%2BHA4XivJj7CFUeX1yeYL2OeWl02bjDqyzSIwpjntW3pw6%2BHJFftxlfuy9IwjxRERERHQyneuAPZRlGbIsQ7/fBwD4vl9%2BbRe4h7HJIQ9VF9sTuNSZxMX2BKai9rZhNrMGmTVYzfL/96VCVAncYiRwbwnUVpeBIDF62%2B1IrcbCYBULg1UA%2BWhwN4jR9SP0whZ8qY4lcG8K1COhtolADaAMO6HKA/V22%2BsLBV8qtP0QzrlK4M6KwP1gnpT5MZQeAsVAfVpIIRF7ErHnA4hhnEVaOSd3C9wSojy3QuVBNVzznIiIiIhODwbsbQwDN5CHQs/z4Ps%2Buq0xCCHw0Nh4Gain486BgtUwcK8UgTsoA6GPQHnQ1hQj1BnSPYS97SRGY76/gvn%2BCgAgUn45wj0ZjpXb1xTjLESxHnsNL/s1XPvqEwLBDoH6gcsRYkvgzqxBajUGRiM1GkrIylMIClKc709YnBVKSMRegNgLAKC8CZQ/JaJhndsUqD0GaiIiIiLaAQP2LpxzZeB%2BdnwO/92zn2qkndTmj3qvZINGlg8AA5Nh0M9wp7%2BCj09dLANFU1azBKtZ0mgbvvQwE7drX64QAoHKR6bbfu2LpxNMCYmWF6DV8PuDiIiIiM4eDsERERERERER1YABm4iIiIiIiKgGDNhERERERERENWDAJiIiIiIiIqoBJznbhx/feR%2Bv3n4fl8en8PjEBTw%2BMYu5zvipmU26Oot4pPx91fo%2BiLYfou2H%2ByqBtF%2BZ1fho7f6hZxE/y6xzlVmxMxhnt9QF5/4iIiKis8CX6rhX4Vzgft4ZA/Y%2BDHReU%2BvNxdt4c/EWHIBAeXh8YrYM3LPt3omph3zcdbBVceMhUj6iotZ33XWwh%2BXLUmuQVsqe7aUO9lllnctvati8pndmt%2B7jxGokaV5PXQBliTiWoSIiIqLTSkDgUnviuFfjzPKlQqA24mPLZ8WV7TBgH4CrVKVOjcZPFz7CGwsfAQAiz98UuGfGukcWVgLplSPUvSBGoLwtgfo4glO1TSUkYuUjHgZua4sgWE/gHkpsHjCR5QHyLI/YWueQVvZhZs2%2Bft8BGBQ1nwEGbsz4Z%2BUAACAASURBVCIiIjqdHBxuri9BbzO4QIfjSYknexcw0%2Boc96qceAzYNXCVfw90htfnP8JP5j8EAHz28Y/hs49dg5LNPUbe8SNc7c0gLB77Bo43UO9mU%2BCWErHYCNx3B2vom6zW9hw2j9i2lI9e2DoxTxoclHMOi4O1/EZCncvF5sDd8UN0/OhEnktEREREVX2d7XuwgXbnS7VpkJF2xoDdgOrJd3XyQqPhGsg/6xzI/FCexhBUXefE1BsWtxMoD6dvL201vHHQtLC4%2BUFERERERA92OmbnIiIiIiIiIjrhGLCJiIiIiIiIasCATURERERERFQDBmwiIiIiIiKiGjBgExEREREREdWAAbthy4N1AHlJpWEJrboMl5lZAyEEnHOwNbdxVIbbomTzs1Ub587ErNgCgDiC%2BdCHtcmbOIeJiIiIiM6Sc12mSyqFTqeDLMugswza1FMzTwqJdhSjHcf4p3sf4na2htm4i9m4g%2Bm4A09KWOfygLSPoFetce2cQ2o1Blpjvr%2BKn96/jZm4g5m4gwtxF5GX18R2wIms91zdFmNtXqfaaBjbXIALpYdQ5V/uDIRsIQTmWl2kRpf7r4m6j/eSdaxmSb7vpIdAeZDFOThcDyIiIiIiOucBGwCCIEAQBAAAay201siyDFmWwewxcEshMBbFaEcttKMYURBsCh1LaR9LaR83lm5DABgPW2UQnoraUDsFbpfX1N4I1AaJyZAYvaVedGqBd1cW8e7KIoC8NvZMlAfu2Va3DJXHFbirYcw6i0GxDanR0MUIad0C6SFSeSAMpDqTQVAKgcjzEcEHAFjnysA9MBm0rWffZtYgswarSAAAvlTlzYpQeuU5CjBwExEREdH5de4DdpWUck%2BBWwiBsTAfoW5HMeIg3HOocMhHBO8l6/jp/dsQEJiM8sA9G3cxFY1BClk%2B%2Bp0H0Qyp0djP2O5qlmA1S/DOygIAoONH5Qj3bNxBoI7u0FvnNt0YaC5QK4TKR3iGA/VuqoG7hxjWWSTGFPs%2Bq23fl4E7ywN3UAncQSVwn8djQERERETnFwP2A4wG7lB5GFPBlhHqw3BwWBysYXGwhtfv3UKkPHxy9nFoa/YVqHezkg2wkg3w9vI8AOBfXXoOY0FYYwtbLad99HV9oW47vlAYD2P45zRQ70YKidiTiD0fQIyVdIDlbFB7O6k1SK3BSpZACYG5Vo/Hg4iIiIjOHQbsfVBSIg6bDaW2GLlumq01vm/PAY2GayB/muAoR%2BNPu5P4eXwiIiIiorOCs4gTERERERER1YABm4iIiIiIiKgGDNhERERERERENeCHV/chNRp3%2B6t52Sfl1TqxlgAwEY5hrtXFZDQGbc225bgOyxMSofLw4do9hAMf3SBCN8gnCatbpHz4UjVWjiuQHlpeUOsyj4OxNj/WNj/Ww1rTnqz//pcvFSbCFlJjkNr662b7UiFWfq3LJKL9M87mJfuMhnUun%2BFfefCE5ASEREREDWLA3gdtLbS16OsMACAg8tJEnodQ%2BfDk/jou42ELs3EHM1EH03EHXqUeNpSPbjCsf60x0EXdaLu/wK2KQB0qD5HyoWReAmwp7QPo405/GUAehntBjG4QoxtE8GoI3IFUAPLAJYTIg6TV5Y0Ds8/AvVMpqNNWf3nzfshg3OYJ59aRAgCUEGXZsVB6UDUEbl8q%2BJVjctgSamU97OKmgDylx4TotMtL8ukd38t9k//dksO/W8WXYuAmIiKqFQP2ITg4DEyGgckA9PPAXYTtsBiBrHZcekG8qRa1J9WWIDI6y7MQAoH0EAQbgXKjE5UhHRmBrIayaqCutrFdZ2pgMiT9DLeLwB0rH72whW4QoePHBxpNHW1HSYlY%2BJsC98BopDYrAvfmoBlIhWDYEawE6t225aSpjiQN9nFjwTiHdZ1iXQ8Dt0RUjEINO8b7Nbq/pBCIlI%2BoDNzFMdmhk%2B5LhUBudM7lKT0mRKedLf4WpEZjsI8a9xYOfZNtBG4h8uuK3Pi7RURERAfHgF0jB4eBzjDQGx2XK90ZPD99EXOtLnzlHSiMVF8jxMbogxBxPsJtNBwAT8py5Nk5t%2B/AU423fZOhv76EW%2BtLAICWF%2BByZwpdPzpUgKr%2BrpISLeGjhTzc5U8IGAgh4Et1qsObdRbLaYJkHx3f3RhnsaZTrBWB2xMS3SAqw/FBVX9XColYbb4Jkrn8Jk4gGaiJjpNzDivZAAOTIbP1XFesc1jXGdaR/91SQqDjR4i9gGX9iIiIDoABu0HWOXxi5hIeHhuvNYyMBu5hHejR79fJwaEXxGW4qkt1PT0poUb202kNb4nRWNNJo21oZxF7QaPHREkJ6c7GMSE67TJrsJI1e10xziHyfPBdTkREdDAM2A0TEI0HkqMJPEcTrhje9m64p3hMiKhufN8TEREdDD9sRURERERERFQDBmwiIiIiIiKiGjBgExEREREREdWAAZuIiIiIiIioBuc%2BYDc5jYtAPtNz3bM8HwdblISxNZWcOvuanyDIIS/bcxbOLyLa3ZFNPObA6woREdEBnetZxGPl48nxC7i9voyltA8gn/Xb4WAdi2HXxwHwpcLF9gRW0z4y2y1LadWt7Yfo%2BBEEBBKTYSnt11J3uVpHe6Az3EqXsZis4f9n786j5Crr/I9/nrvU0l29pDsL6WwkhCVhd%2BBINAkkGczgAkf2EaNGJwQQFYE5jtGcQRlRjyibEHEUAVl0goCOAiKgIAMKDopOfiQkoGEx%2B9J7LXf5/VHVlepOJ%2BnqvpXuSt6vc/rQ1O2691u3Ol33c597n29zIqUpqSaNStRKygduyxz052l2k7AdjYrXKON7yvg5%2BREfrFrGKGG7yvie4hX63QIwsjjGUlO8Vhk/p4zvRfK3vpQlo7jtKOt7SjhupOsGAOBgcVAfmVuW0TGjJ%2BoYSTnf19Z0u7Z0t2tzV5vasmlJ%2Bw7cRvlA7RhLE1KjNKmuSRNTozQ6WSerAqMNtU5cDfGk6t2EUrGE7D7hNgxDpf2c2rJptWW71Zrtlj%2BAg7C%2Bgbo1251fR65bXrD785O2qwmpUZpYO0qT65rUGK%2BRRODuYYxRjRNTjROTJHlBoIzvKRvklPY9BWUGbsvkD3zjlqO47cqx2MfAwcYYo6TjKlkIv35Y%2BLvie0r73oD%2B1vdaXyFQ93w5xqI9FwAAQ3RQB%2BxSrm1rfG2jxtc2SpKyvqet3R3FwN2eS/f6edtYaqltLAbqsTV1FQmWNU5MDbGk6mNJ1bkJ2fsIVvkDsJiSTkzjauoVhqG6/Zzast3FL7/ksmJjjDK%2BVwjU%2BVCdC/x91tXt57SudbPWtW4u1jmxGLibVR9LSOod3A9mjmXJsWKqVUxhGBYPjHu%2Bgj4ncaw%2BB742B74A%2BrCN1etEnh8EygTeHq%2BcMVLhb4pLoAYAoEII2HsQsx21pBrVksoH7oyfU3smrUChxtc2aGxN/W6jx1FwjKXxtY1KOq7q3OSQRypLR1IPqWlQGIbq8rJ68q1X1JHLqC3brewAAvW%2BdHlZvbpzk17duUlS/tL1eROO0pS65v1wN3J1McbIMbYcy1atG1cYhvLCQFnfk5T/3ePAF0C5bMtSjdX7ypls4QRezLLlWjZ/VwAc8FzLHu4SDkjs14EjYA9Q3HbVVF9bvPe4Uixj1FIYRa8EY4xq3bh2Zru1M9NVse105DLanu7U5FSTxAHdXhlj5BqbP1wAItVz5QwAHCyMjCalRg13GRXlWnbF5nbalxqXz5SBIGADAAAAqHqhQm3oau13/qADgWNZOrxhnMbU1A13KdgLAjYAAACAA0K3lxvQfELVyLXsQXc7wv7DVMQAAAAAAESAgD1AQRiqM5fRpq42deWyxVm4K7Gdnr7cQcQ9TqX8rN5e4Gt8TYNaahsVq9B9v3HbUWMsye3XAAAAAA4aXCK%2BB0EYKhvsaqPU91IT21iqjyVUH0uqPpZQ0nYjmZ3VCwP9rX2rpHxLlZSbKLbpqnXjg%2Bqtne/BnCu2bwnCUDNGjS/W25bt1qauNm3pbtfWdMegLquJWbYm1I7SxNQoTUo1qTlRK2NMxU5EAAAAAMBIQ8AuCPsE6n21rvLDQDsyXdpRmInb6RW4k0rYzpADdyipPZfO9%2BDu3CEjozo3rvp4UvXungP3vnqhSupVW30sqZSb0OGN4xSGoVqz3drcXQjc3R3y%2BhlJdy1bLbWNhb7XTRqdSMkYoyAMevUDpyUMAAAAgIPFQR2ww1Bqy6aV8XND7gXthYG2Z7q0vSRwN8SSaozXaFS8RvYQ%2B1lL%2BZkR23JpteXSknbIklFdLKG6WFK1TkyhtMdAvS89Qd0YUxwxP6LxEIVhqJ2ZLm3ublegUA2xpCanmjQmWSerEKiNTDFIWxXoDQ4AAAAA1eCgDthBGORHhysgH7g7NTqZGtRl3QMRKD/a7Ed8r7YxRqbk%2B8Z4jZoTKY2vbVAQhjISgRoAAAAA%2BiAdVVCo/L3alb5M2qiy9zobY4onCSxjuOwbAAAAAPpBwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMCusFCq6ARkAAAAAICR4aAO2EEYKud7xQAcdRC2jFFbBdpo9eUFvrxKbyMM1JFLK1fSL5wTB72V/h7lfF9Z35MfBMXH2F8AAADAge3g7oOtUJu622RkFLcdxW1XCduVa9uS8qGonJZUlozqYgnVxxKqjyVV68Qq0tLKtWwlbFdx21XMdirWZ7uv1mxaUlpWcX/lvxxrcPur2pW%2B3lzgK%2BN7yvg5ZXxfoXaFadtY%2BX1l5feXbVnFsH0w7S8AAADgQHdQB%2BweoUKl/ZzSfk6tygflmO3kQ6zjyt1DgDSS6tyE6uNJ1bsJ1brxioRd17IVt93iSYD9Faj3JFCobj%2Bnbj8nKT9S3xMe47YrpyRASgdGiOwbiL3AV9r3lPE9ZX1PgfY8Ou2Hgbq8rLqUlVQSuAtftjnw9hcAAABwMCJg9yMoCdzKFgKk7Wp0IqX6WFJ1bjw/Ql2BQG0kxWynV6i2zMi%2Bkj8ISwN3t2yTH%2BFOOQk51siufaAyvic/DPKj1IGnYAiXexcDt5cP3E4hcKfcuOwR/l4DAAAA2DMC9gAEYahuLyvbWDpq1CEV3ZZljMYk6yu6jUrzw1BdXk6OsZWy4sNdTiS2ZTortm4vDOR52fxotk3ABgAAAKoVR/MAAAAAAESAgA0AAAAAQAQI2AAAAAAARICAXYYwDJX2cgdEP2PbGBlV/2zVYRgqF/gVf09sYx0AewsAAABAJTHJ2T70tJ6K2458BXp521uyjaWGQq/r%2BlhCCdsdUmul/IzhPdtxI6x%2BF9vkW4/FrXz7sZ5ezF4QKBPkCj2cvb00m9q3nhnQ47ajhJVv1xV1y6kwDJUNfGV9T2nfUzbwdm3bchR38q/RtexIt31ITX0xzPfsq2wwtP3V0w4ubjtKlPQTBwAAAFCdCNh9xAr9nBOOq5jlyBizW/9rPwy0PdOl7ZkuSfk2S/WxZDF0x21nr%2BHOKQnUiUIbrr59loeqv97UUu9e3sYYubYtx7KUchO9A2SQ7%2B%2B8twBZDNSF7fSE2ihfy0BDbSgpE3jKZHcF7tKTI44Zetg3xsi1bLmWrbpYohj287XllA38vT9fplf/6z31VwcAAABQnQ76gB0rCaE9wbhv4NlX%2BPHCQDsyndpeaOXkWrYaCqPb9bGEap14cf1xx5XdT6AeasCyCuEt1mc0dCCvpVfg7gmQJtFvuI1Zu7axp0A9lNdS3GbgKeMNfpQ4lJQujHJL0QXuvvsyZtmKWbbqi4HbK%2B6vXODvCtQlI/rl/n4BAAAAqA4HdcC2jaWxhUt/hxp4SkNgLvC1Nd2hrekO/cOYKTqktjHyQF0qabtqStTm6xjia%2Bn73L4jtlEH6r62pDuU28dI8GCUBu6UG1dDLBnJencP3I5ilqP6mOm1vwjUAAAAwIHvoA7YPTGnkoEn5cYrvo2e%2B6mNMZFvp79gWMnX4gdBxdbdwzFWxS7L3t/7CwAAAMDIwSziAAAAAABEgIANAAAAAEAECNgAAAAAAESg7Huwn3jiCS1YsID7SgEAAACMKD1tUA9EB/JrO5CUHbAvv/xytbS06MILL9R5552nUaNGVaIuAAAAABgwI6NJqerLJq5lK2YPLJbVuLEKV4OhKjtg/%2BAHP9C9996rm266Sbfeeqve%2B9736kMf%2BpCOPfbYStRXUb1mfJYG1W95X7Z0d6gpkZLVT3uroShdV9b3FDih7Ii3MRzitqNuP1fRbWQDX0kV3vMq318AAADICxVqQ1ervP3QlSYqjmXp8IZxGlNTN9ylICJlB%2BxZs2Zp1qxZ2rhxo%2B677z498MADevjhh3XMMcfowx/%2BsM444wzFYtVxZiVmOfqHMZPVlk2rLZtWa7Zb6UK4G2zgNjKqi%2BX7LNfHEqp1Yvp75w7FLEdx21HCcRWznH77Se9LaV/lXOAr4%2BeU8T1l/Jxe1xYlbVf1sWTxyym07ypnG8OtKVGrIAyV9T1lgvxry0X8R7LLy6rLy8q1bMVtR/HCezOY9wQAAAAjR7eXUy7wh7uMAXMtW2FFhvkwXEzYkygGKZvN6pFHHtFdd92l1atXa9SoUTr//PO1aNEiNTc3R1Vn5BYsWKCM7%2BmbP/5Br8dzgV8I3N1qzXYr43uS9hy4jaSUm1BDLKH6WFK1blzWAMJZ3HYUt13FbVcxy%2B433JX2as75ntKFMJ3xvQH9Q6xxYoWwnVC9myz2yy7dRjUIwlAZ31PW95T2c/LCypyVjBUuz%2BkJ3QRuAACA6rBgwQL5YaDld91WdQH72OYJGltTP9ylICJlj2D3tWnTJq1Zs0Zvv/22LMvS1KlTdccdd%2Bjuu%2B/WDTfcoFNPPTWKOvcb17LVnKhVc6JWkpT1vXzgzqXVmulWLvBU6%2B4aoU65cVmm/MnY8yPPnqRuGUkx282PcNuuXMuWFwbKeDml/Vz%2BEvBBnNnqGand2NUqSaotBu6kGmJJSdURHC1jlHRcJR1XDUoqCIPi/kv7OflDO0dUlA18ZQNfHbmMpHzgjhcCd8zK/1Ophv0FAAAAYHgMOmA//fTTuvfee/Xss8%2Bqrq5O559/vi666CKNHz9eW7Zs0bJly3TddddVXcDuK2Y7Gp1MaXQyJan3qHJUQqkwMp1Tm7ojXXepTi%2BrTi%2BrDV2tOq55opJOdVzK35dlLCWdmJJOTBk/p63pzopspydwt%2BcyaqlpIFwDAAAA2KuyA/Ydd9yh%2B%2B%2B/X2%2B99ZamT5%2Bua665RmeeeaYSiUTxZ8aMGaMlS5boox/9aKTFjgSELAAAAABAf8oO2Ndff71OPfVUffnLX9asWbP2%2BHNTpkzR0qVLh1QcAAAAAADVouyA/ctf/lKTJk3a58%2BNGzdOV1xxxaCK6s8TTzyh22%2B/Xa%2B99poSiYTe8Y536Morr9S0adMi2wYAAAAAAINV9uxc//7v/67XX3%2B932V/%2B9vf9PGPf3zIRfX13HPP6fLLL9fUqVN1yy23aPny5frrX/%2BqxYsXq6OjI/LtAQAAAABQrrJHsJ977rk9htqOjg49//zzQy6qr1/84hdqaWnR17/%2B9eI90BMmTNB5552n//3f/63oRGo9bbh62l0lbFdtuXwbr7aSNl5D5Vi2EoXWXTHLKelznVM2olYDljGK264StqOdmW61ZdNKOK7ilqOY7QyovdhI41q2DknWK1vSF7wSbbw2drfJNlbhPXKKvcwBAEC0gjBU1veUCfLdQsIwLLQ2zbfRtK3yu7cAwP4y5DZdpbZu3dprsrOoeJ6n2traXoGmrq4u8u1I%2BUBd68bzrazcpFKxhKw%2B/ZCbrVo1x/P15Nt4dRd7Z2eCgQVux1j5DwsnH3gt07tHdT4MOzKmptAHOldoTZUbcG%2B/nkDd0/7LsWxJ%2BZnQA4UKwlAduYw6lG9L5fa0paqiwG1kZFlGCWOUsPOht7SNV1SBOwhDBaGvXGFWcamnjZdbCNw2gRsAgEEoDdQZ3%2Bv3OKen9agk2SXHN3HbkT2IdqkAUCkDCthPPfWUfv3rXxf///bbb1dTU1Ovn0mn0/rd736no446KtoKJZ177rn62Mc%2Bph/%2B8Ic666yz1NbWpq9//es67LDD9jrR2kDVOnHVxxJqiCVVF0vsFnZL/9v3%2B5jtqDmRUnMiVQzcrYXR7bZsd3H0OT/6WfgwcFzZZWzDMkYJ21XCdvsE7lyvDyJLpvBhkw/ubkmg3tO6S%2BWCfIAsDdwjfcS2v31nFfZ1fn8Z%2BSWBOxvhCPeuNl75/49ZTnF/uQRuAAD6FYahsoUwnd5DoN4bPwz7BO6SK8wI3ACGmQl7Ut5erFixQitWrJAk5XI5Oc7uYSsWi%2BmII47QF7/4Rc2cOTPyQn/961/rqquuUmdnvufx9OnT9f3vf1%2BHHHLIHp%2BzYMGCPS7bsGGDxh1yiJ548ol%2Bw%2B5QlAbanZkutecyu42CR7GNnnUFYaAwVPGSqUr06jaSRidSVRscS/dXZy6j1my39vmLPwSOsdSUqJVjrKrcXwAARC0IA21Ldyk7wKv9BqsxllSNE%2BPz9wC0r2P7sYeM0/K7biv7pM1wci1bxzZP0Nia%2BuEuBREZ0Aj2pZdeqksvvVSSdNRRR%2Bnee%2B/VcccdV9HCSr300kv613/9V51zzjmaP3%2B%2BOjo69J3vfEdLlizR/fffr1QqNaj1WsYUz3JG%2BUe4dF3ZwC9eal2pbVjGUlgSFyvxgWIbSzE70jsK9qu%2B70klw7WUv6e%2B5woCAAAgeUFQ8XAtSUnHJVwDGDZlJ6ZVq1bJtvdvcPiP//gPnXLKKfrCF75QfOwf/uEfNHfuXK1cuVKLFy/u93lPPvnkHte5tzNgUdpff975IAEAAMCBbF/H9n4FJroFylX2TSr7O1xL0muvvbbbvd1NTU0aO3as3njjjf1eDwAAAAAAfQ1oBHvhwoW66aabdNRRR%2Bk973nPPkdLf/nLX0ZSXI%2BWlhatWrWq12NbtmzR5s2bNWHChEi3BQAAAADAYAwoYB933HGqra0tfr%2B/L0e%2B6KKLdO211%2BrLX/6yFixYoLa2Nt1%2B%2B%2B2qqanRmWeeuV9rAQAAAACgPwMK2N/4xjeK319//fUVK2ZPLrroIrmuq/vuu08PPfSQampqdOyxx%2BrrX/%2B6xo4du9/rKUelJ9MCAAAAAIwMVTEttDFGF1xwgS644IJI19sTfoMwkBVxz8QwDBUqlG2McoVtGJmqnYwsVFiR9l/DwdoPryEoTLJxoOwzAACGan98/kr5PtkWH70AhsmAAvamTZvKWum4ceMGVcz%2B1pFL6xd/%2B7MmpkZpcl2zRsVrJA0ucIdhqEChbGPJC3z9rW2r1rZu1l9bt8gPQ01INWpSXbMOqamXZaxIArdjLCVsVzHLlmVZygW%2BMn5OGd%2BLbOTcMkYJ21XcchSE%2BRMG1a7eTShpu8r4Xv4rwpYhtrGUsB3FbUd%2BGBTbwAEAcLBzLFuHJOuLn71pP6cgjOaIxUiK247itiuJE9wAhs%2BAAvapp55a1h%2BpV155ZdAF7U9hGOq1ti16rW2LJCnpxDSxtjEfuFPNaognJfUfuHsH6kBvtG/TutZNWte6RW92bN%2BtTcCbndv1u02vyzGWWmobNTHVpMl1TRqTrJdlzIACt2Os4odH3LZ3qyluO0q5cYVhmA/bgaeM5ykbDDxwWzKFbeS/nAOwl7MxRjHbUcx2VKf8e5kN/ELgzikb%2BANel21M4f1wFLcc2RaBGgCAPbEtSzVWTDWKSZK84udv/isY4BGLkRSzHMWd/Oeva9kEagAjwoAC9rXXXlvpOkaEbi%2Brta2btbZ1sySp1olrYmpX4K6LJSRJfhjorfbtWtu6Wa%2B1btb69m3yBth3zwsDvdGxXW90bNdzGyXXsouBe0qqSaOTdcUPiNLR0JjtDHg0tFeAdLUrcPczYts3UNvGOug%2BoIzZtQ%2BkREngzl8NUBq4S0f04zaBGgCAoXAsW45lq7YwQOCHwR4Dd89nb9wmUAMYuQYUsM8777xK1zEidXoZrdm5SWt25i%2BRt5Q/8/pWxw7lyhjl3Jtc4Gt9%2Bzatb9%2Bm/5E0OpHSZ47/RznGjiy89Tdimwt8GWPkHISBel96B24pKOwv25gDckQfAICRIH9c0jtwe2GgMAwJ1ACqRlVMcjZStOXS2pnpqug2coFfvH%2BoUnoCNwbGKgRuAACw/xhj5BpObAOoLoNKDUEQ6Nlnn9Xrr7%2BudDrda5kxRkuXLo2kOAAAAAAAqkXZAXvnzp1atGiR1q5dK2OMwsLsj6WX7RCwAQAAAAAHm7Jv8r3ppptkWZZ%2B9atfKQxD3X///XrkkUe0aNEiHXrooXrqqacqUScAAAAAACNa2QH7ueee0%2BLFi9XS0iJJcl1X06ZN07Jly3TKKafo%2Buuvj7zIkSBm2WqO12pq/WiNSdZV5J7cccl6nTTm0MjXeyAKw1BZ31N7Nq0dmS515DLKBX7xiopqEoSBur2sdma6tDPTpW4vq2CAs9IDAAAAGDnKTokbN27UxIkTZdu2LMtSd3d3cdn8%2BfN19dVXR1rgcIlZtmK2o4TtKGY5vS6HH5PIt9LK%2Bp5as91qy3arLZtWtqT91UCMSaR0WMNYHdYwVoc3jFVNYcbM/i67P9j1zHyeDTylfU9Zv//e3qZvH%2B8ROEt6EIb59l%2B%2Bp7Sf263FW6eXldTT99wtvhZrhL0OAAAAAL2VHbAbGxvV0dEhSRozZozWrl2rk08%2BWZLU3t4u34%2BmfdX%2B5lp2PshY%2BXZWViFQl4azvkEtZjsanUhpdCIlY4wyvqfWbJfasmm1Zbt3a%2BXVFK/V9IaxOqxhjA5vHKeUm%2B%2B5HCqUVehxPdLC4HDpac2R74OZ70c9kLHpUKHSfk5pPydpZPT5Dgqj7Zkg/1pywcB7pnteRp1eRpLkWFaxB3eMwA0AAACMOGUH7JkzZ2rdunU67bTTNHfuXN12221qaGiQ67q64YYbdPzxx1eizoowxqgp2f97nwAAIABJREFUXlscHdxXoN7TOnrEbUdjEnUam6yXJGX8nBJ2TFPrR%2BuwhjGqjyUVhqEChbJLArURQalHt5dTl5ctBOqhX%2B4dKFS3n1N3T%2BA2RjWOq5STiKzPeL/bDUN15NJK%2B15kPdO9IFBHkFGH8oHbtWzVuXElbJcTMwAAAMofH1WTaqsX%2B1Z2wL7ooou0fv16SdIVV1yhP/3pT7rqqqskSRMmTNCyZcuirbCCLGOUdHb1nI4ipPQO3K7mtBxeHOHuWW4TqPdoZ7ZLQQXvow7CUI6xKz76m/Fzas9lKrqNXOAr6cSq8r5zAACAqBkZTUqNGu4yyuaHobZ0tUUwtDQ0NW5MKTcxzFVUv7ID9uzZszV79mxJUnNzs376059q9erVMsZo%2BvTpcl13H2s4uBhx2XdZhvsvSxXp%2Ba3i9wsAACB/q%2BCGrlZ5A7wdb6QIwkD%2BMA%2BYuJato0YdQsCOwJCnwrYsSzNnzoyiFgAAAAAYtG4vF9ntecBglB2wX3rppX3%2BzDve8Y5BFQMAAAAAQLUqO2B/6EMf2uclqa%2B88sqgCwIAAAAAoBqVHbB/8IMf7PbYjh079OSTT%2Brll1/WF7/4xUgKQ3n6zoAOAAAAANi/yg7Ys2bN6vfx9773vVq%2BfLmef/55nXbaaUOta/8I85MK9PSgroQgDIuzPFcqAPesv5Ihu2fdFQ/yRgfIRGeVP9kRShX/3QIAAAAwcJEmy/e85z36%2Bc9/HuUqK6o7l9XqzW%2BrLd1VfCyIeNbBP219U6t3bNT2TGex/VRp6B6M0kCdC3x1ehl15jJK%2B15xG2EE2%2Bh5ftb3tDXdoY1drdqa7lDW9yLZRn%2Ba47VKOXE5FTrp4Vq2/DCoaCswSUrYjhpjyXyP6gqEbSOjhO0qU3gvAAAAAAy/Ic8iXqq9vV3ZbDbKVVaUF/j6n7/l7xdPujG11DdpfH2TJjY0qy6elDT0Ee72XFr/b8ff9f92SLax1Jyo1ZhkncYl69UYr5ExRkEY7rWdV%2BmocS7wlfG94lfYz3Cva9mK247ilqOY7cgqjDxrH9voWZ4LfLVmutSWS6st291viItbjupjSdXHEmqIJeXaTiSjqTE7X3ODkgrCoNdr9cLyT364lqW47fbaF/uDMUa1bly1blxhGMorvpZc4X0rc31S/j21XcVtR46xGLUGAAAARpiyA/amTZt2eyybzWrNmjX65je/qeOOOy6Swva37lxWr23bqNe2bZQk1cbiGl/fpJa6Jk1sbFZtLDHkAOmHgTZ3t2tzd7tW6e9yjKXRyZTGJOs0Nlmvhlhyt8uwvcBX2veULYTMYADRLBf4ygW%2BOpSRVBK4C6Hb9AncXuCrNduttmy32rJppf3cPreRCTxtSbdrS7pdkpSwXdXHEoXQnZRr2UPeX5axlHRiSjoxSfn917Mf0r4nv5/A7RhLCdtVrPB691eg3htjjFxjy7VspXoCdxAoE%2BRKTpT0eY7yJxsStqOY5ci1bAI1AAAAMMKVHbBPPfXUfg/0wzDUlClTtHz58kgKG26d2YzWbd2gdVs3SJJSsYTeMeEwHTl2QmTb8MJAG7vatLGrTdLbci1bh9TU66hRLfICX5nAi%2BRS5mLgzuUDd8yylfU95QJfbdludQ8gUO9L2s8p3Z3T5u584E7aribXNashlhzyunvYfQN3ECgTePICv3gSoZL300fFGCPXtuXatlLurkv9M0H%2BSoE4gRoAAACoSmUH7GuvvXa3x%2BLxuCZMmKATTjhBtm1HUthI05FNa1PHzkgDdl%2B5wNemrjZNSDVVbBuSlA18bexqHdQl1wPV7efU5WVVH0tWbLov27JUY8UqtPb9xxhTvDQeAAAAQPUq%2B4j%2BvPPOq0QdAAAAAABUtZF/PS0AAAAAAFWg7BHsj3/84wP%2BWWOMvv/975e7CQAAAAAAqk7ZAbu7u1tvvvmmtm7dqnHjxmn06NHaunWrNm3apNGjR2vy5MmVqHPYhUGg1u079JfcK5p4SItGNTRUZDspN66k7coLA%2BUCvyLbkKS47coOfWUH0TJqIIykUFLayyluO7ItLpYAAAAAcGArO2B/8pOf1Be%2B8AXdc889Oumkk4qPv/jii7r66qt16aWXas6cOZEWORzCMFSus1vZtg5lWjuVbe/UxjDUHwvL62prNW3yoTp04iQdOnGSGurqB7WdlBvXmERdvlVXTZ3itltcFoThrj7QQU5eEN2kZKMStZLyrzMb%2BIX%2BzLl%2Be14PVGmf5piV/9Xake2SlJ8BPFFonRWzHdlVMNs3AAAAAJSj7IB9ww036PLLL%2B8VriXp5JNP1mWXXaZvfetbVRmwwzCU15VWpq1D2dYOZds7FQZ7Httt7%2BzUX9a8opdfWSVJaqir6xW462pT/T6vxolpTDIfqMcl65VwXIVhqFDarWezZYwShV7IxiQVhMGuwO17kcwCboxRzLIVs2zVx5KFwO0p7eXDdjbYc%2BCOWfnA3NN3um9/7VJ%2BGKjTy6rTy0rK96su9uaukvZaAAAAALA3ZQfstWvXqqWlpd9lEyZM0GuvvTbkovaXMAzVuWFrPlS3dSosc4Q4KPn51vZ2vfzKKv1x1V8kSaPqGzRtyqGacehhmj3jeI2vG6VxNfVKOrHdArUxZo%2BtrEqDqmUsJWxXCduVMUZBGCjt94ThnAYbt0u3kQ/cjmKxXYE5H%2Bhz8gJfjmUXR6n7C9QD7d3shYG8PoG7J6gnCusGAAAAgGpS9rBhc3OzHn/88X6XPf7442pubh5yUftLkM2p7Y0NyuxsLztc97u%2BknXsaGvVH1f9RbNapmvWhMM1ua5ZSSffs9kYs9to9UAZY4rh0zKWkrarmGUPOlzvaxvGGMVtR/WxpJqTdaqPJYvhuu/PDoUXBurwMnK5VxsAAABAlSp7BPvCCy/UDTfcoPb2dr3//e8vTnL23//933rsscd0xRVXVKLOqhQEgWrjSUm7X/4dFWNMRSYp67uN/r6v1LYYvQYAAABQjcoO2EuXLlVXV5d%2B8IMf6NFHH5WUv9TadV0tWbJES5cujbxIAAAAAABGurIDtiR99rOf1eLFi/XHP/5RO3fuVGNjo0488UQ1NjZGXR8AAAAAAFVhUAFbkhobGzVv3rwoawEAAAAAoGoxoxQAAAAAABEgYFdYqLDYygojQxjyngAAAACI3kEdsB3XVbK2pvj/Uc1ebRVaTTmWrWdXv6yd3Z3FQBdVuCtdh2NZsvfYSTsaRpJtjKwKbsdI6s7lIg%2B/pfs8DEN5QSAvCCJ/TzDylL63fhAoF/jyC%2B30eN8BAAAQtUHfg30gcOMxzX3/QqW7urV981Zt37xF2zZtVrqrW1KhBdYADsBty5IfBLIsS0dMmKITpx%2Bl46YdoRmTpynmuuoKPXV3tSpmO4pbjuK2I9eyi%2BsfSLAv/blc4Cvje8r4nrK%2Bp6ACjbqMjBJ2vta47cg2VrFePwyK288Mcfs9%2B6N0n0ShZ3%2BFYbhrfwX5/VVabcyyFbddxW1HsZL3RKp8SzJEr/S96/t76oe7usXbxir%2B3vX8fvO%2BAwAAYKgO6oDdI1GTVMuhk9Ry6CRJUndnl7Zv3qLtm7dq28bNyqTTknYF7p5AbYzR9JbJxUA9c8o0JWLxfrcRSsUDfeXyo7XFA3zLlWNZvQJ3aaD2SgL1UAPtnuyqJx82nUKg3u3njJFjbDmWrVo3nh8RDgNlfU/pQn3hXurrL9AORX/7Kx%2Boc4X95e%2B1nmzgKxv4ai%2B8JzHLUcx2lOhzEqT09WNk6Pu%2BBH0CtVcSqPvyw0BdXlZdXlaS5BQCd897b5UE7p71AwAAAPtCwO5HsrZGE6ZO0YSpUxSGYTFw%2Bzs7FaazOubQ6Tpu2pE6%2BtDDVBNPDGoboaR0IZRKaRmZYuCOWXavUdegApexupYtS0YJZ%2B%2BBel%2BMMXKNLbdP4M6HnJyCMCx5XU7kQSUIQ/mFkDzUEf1QUibI7/Ni4C5cdZBy%2Bz9xguGTC/xeo9R7C9T74oWBPC%2Brzj6Bu9aNyzEH9Z00AAAAKMOAAvbRRx9dVjD6v//7v0EXNNIYY1STqlVNqlZHN03QP06aWZHthAqV9nNK%2B7mKrL%2BvUfEauZYd%2BXpLA/f%2BCKVe6GtrurMi6y696iDlxhnFHGG2Z7p6XfYdpZ7AbRuLkysAAAAYsAEF7H/5l3/pFS5%2B9rOfqaOjQ6eeeqpGjx6tLVu26JlnnlFtba3OOuusihULAAAAAHtSiQGkgwH7LToDCtif/exni9/feeedGjVqlH72s58plUoVH29vb9dHP/pRNTQ0RF8lAAAAAOyFZYyOGnXIcJdRtWrc2HCXcEAo%2Bx7se%2B%2B9V1dffXWvcC1JdXV1uvjii/WNb3xDixcvjqxAAAAAANgXI6OxNfXDXQYOcmXP3rNx40a5rtvvMtd1tXnz5iEXBQAAAABAtSk7YE%2BdOlV33nmnPM/r9Xgul9Odd96pqVOnRlbcSGIk%2BUFlJlQaDmEYDqjH90hntH8mHgulA2J/HUj2x5xzoWjRBQAAgIEr%2BxLxK664QpdffrlOP/10LVy4UKNHj9bWrVv1%2BOOPa9OmTbr55psrUeewMDIKFcoxlg6tH62p9aNlSUo6sSG3BeqPY1lK2K4sGQVhqGzgKRv4kW7DMkYJ25UfBnJk76d4WjmuZas5UVtsC5aL%2BCSIbSwlbEdZP6e43f%2BVGxgezfGU0n6u2PM8ytMfPX3hLWPkB4Fsi1ZdAAAA2LeyA/b8%2BfN1%2B%2B2364YbbtBdd92lMAxljNHMmTN1zTXXaO7cuZWoc7%2BwZBQolG0sTalr1uENY3VYw1hNTDXJ6ecA2w8DZQttnNK%2BV3bLoHyvXbfQJ9qW1U%2B/3TAMlQny/Z3TvqdcmYHbMoX%2B2pajuO32%2BzqqmSmcMEjYrqSkgjAs9sNO%2B7myT4LYxpS8J45seiCPWI5lKWXFlSr0X88Ffr6PuecpG5QXuI2kmOUo7uT/rbiWzcg1AAAAylZ2wJakOXPmaM6cOero6FBra6saGhp2m/SsmljGaFKqSYc3jNNhDWM1ua5pQFPV28ZS0okp6eRn3PODIH%2BAXxhN9ftcUpwP1PngFhtgeCsNkPVSfmTb9wrb2X3E1pIpbqMnIB5MQcEyRknHVdJx1aCkgjAo9rLu76qDXoHachiprFLGGMUK/67qXO0K3D3vfeDt9pz8Saf8F4EaAAAAURhUwO6RSqWqOljXOnEtmTlXU%2BqaFbOHtCskSbZlqcaKqaYQuL0gULZwYB/VaKhljBKOq4R2jdhmC6PnMduRc5AF6n2x%2Bp4EKVx1EIbK7y8C9QGpV%2BBWPnBnA19e4MuxbMUI1AAAAKiAQaXKIAj07LPP6vXXX1c6ne61zBijpUuXRlJcpcVtR4c3jqvY%2Bh3LkmNVtp9cT%2BDGwPRcdYCDizG7ruwAAAAAKqXso82dO3dq0aJFWrt2rYwxxZmVS0eDqiVgAwAAAAAQlbKvj73ppptkWZZ%2B9atfKQxD3X///XrkkUe0aNEiHXrooXrqqacqUScAAAAAACNa2QH7ueee0%2BLFi9XS0iJJcl1X06ZN07Jly3TKKafo%2Buuvj7xIAAAAAABGurID9saNGzVx4kTZti3LstTd3V1cNn/%2BfD377LORFggAAAAAQDUoO2A3Njaqo6NDkjRmzBitXbu2uKy9vV2%2BX16fZgAAAAAADgRlT3I2c%2BZMrVu3Tqeddprmzp2r2267TQ0NDXJdVzfccIOOP/74StQJAAAAAMCIVnbAvuiii7R%2B/XpJ0hVXXKE//elPuuqqqyRJEyZM0LJly6KtEAAAAACAKlB2wJ49e7Zmz54tSWpubtZPf/pTrV69WsYYTZ8%2BXa5LT2YAAAAAwMGn7IDdl2VZmjlzZhS1AAAAAABQtcqe5EySduzYoRtvvFEf%2BtCHdMYZZ2jdunWSpJUrV2r16tWRFggAAAAAQDUoO2C/9dZbOuuss3THHXcom83qb3/7mzKZjCRp1apVuuuuuyIvEgAAAACAka7sgP2Nb3xDtbW1%2BuUvf6kf/ehHCsOwuOykk07SSy%2B9FGmBAAAAAABUg7ID9vPPP6/LL79c48ePlzGm17IxY8Zo8%2BbNkRUHAAAAAEC1KDtgp9NpNTY27nEZAAAAAAAHo7ID9tSpU/W73/2u32UvvviijjjiiCEXBQAAAABAtSk7YJ933nm68847de%2B996qjo0OS5Pu%2BnnjiCd13330677zzIi8SAAAAAICRruw%2B2B/%2B8Ie1atUqXXvttbruuuskSf/8z/%2BsIAh09tln69xzz428SAAAAAAARrqyA7YkffWrX9U555yjp59%2BWlu3btWoUaM0b948nXzyyVHXBwAAAABAVSgrYGcyGX3nO9/RP/7jP%2Bqkk07SSSedVKm6AAAAAACoKmXdgx2Px/X9739fXV1dlaoHAAAAAICqVPYkZ9OmTdPbb79diVoAAAAAAKhaZQfsSy65RCtWrNBbb71ViXoAAAAAAKhKZU9y9vOf/1xdXV0644wzNGPGDI0ZM0bGmOJyY4xuueWWSIsEAAAAAGCkKztg//nPf5ZlWWpqatKmTZu0adOmXstLwzYAAAAAAAeLsgP2M888U4k6AAAAAACoamXfgw0AAAAAAHZHwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACZbfp6rF%2B/Xq98MIL2rFjh84%2B%2B2yNHj1a27ZtU11dnWKxWJQ1AgAAAAAw4pUdsIMg0DXXXKMHHnhAQRDIGKN3v/vdGj16tD7/%2Bc/rmGOO0ac//elK1AoAAAAAwIhV9iXit99%2Bux566CF99rOf1cMPP6wwDIvLTj31VP32t7%2BNtEAAAAAAAKpB2SPYDz74oC699FItWbJEvu/3WjZx4kS9%2BeabkRUHAAAAAEC1KHsEe8OGDXrHO97R77JEIqHOzs4hFwUAAAAAQLUpO2A3NTXprbfe6nfZX//6V40bN27IRQEAAAAAUG3KDthz587V7bffrs2bNxcfM8aoo6ND99xzj%2BbNmxdpgQAAAAAAVIOy78H%2B9Kc/rXPPPVfve9/7NGvWLBljdPPNN2vNmjUyxujSSy%2BtRJ0AAAAAAIxoZY9gjx07Vg888IDe85736KWXXpIkvfzyyzrllFN0//33q6mpKfIie6xcuVJnnnmmjj32WM2aNUuXXHJJxbYFAAAAAEA5yh7BlvIh%2Bytf%2BUrUtezVLbfcojvvvFOXXHKJjj/%2BeLW2ttISDAAAAAAwYgwqYO9vr732mlasWKHvfve7mj17dvHx008/fRirAgAAAABgl7ID9vLly/e4zBij%2Bvp6HXvssZo/f75c1x1ScT0efPBBTZo0qVe4BgAAAABgJCk7YD/zzDPq7OxUR0eHLMtSfX292traFASBUqmUgiBQV1eXpk%2BfrrvuukvNzc1DLvLll1/WEUccoVtvvVX33HOP2tvbdcIJJ%2BgLX/iCZsyYMeT1AwAAAAAwVCYMw7CcJ6xevVqXXXaZrrjiCp1xxhlyXVe5XE6PPPKIbrzxRt18881Kp9P6zGc%2Bo3nz5kVyr/bChQu1efNmjRs3TldeeaVc19W3v/1tvf3223r88cdVX1/f7/MWLFiwx3Vu2LBB48eP15NPPjnk%2BgAAAABUFsf2qAZlj2Bfd911%2BuhHP6ozzzyz%2BJjrujrrrLO0Y8cOfe1rX9O9996rJUuW6I477oikyDAM1dXVpVtuuUWHH364JOnoo4/WggUL9OMf/1hLliyJZDsAAAAAAAxW2QH7z3/%2B8x57XR9xxBG68cYbJUkzZszQjh07hlZdQUNDg0aPHl0M11J%2BJvNp06Zp3bp1e3ze3s5g7e0MGAAAAICRhWN7VIOy%2B2DX1tbqhRde6HfZCy%2B8oNraWklSJpMpfj9Uhx12WL%2BPh2Eoyyr7JQAAAAAAELmy0%2Bn73vc%2B/ed//qduvvlmvfrqq9q%2BfbteffVV3Xjjjfre976n97///ZKkVatWadq0aZEUedppp2nr1q169dVXi49t2rRJr7/%2Buo488shItgEAAAAAwFCUfYn41VdfrU2bNum2227TihUrio%2BHYah/%2Bqd/0lVXXSVJOu644zRr1qxIijz99NN19NFH61Of%2BpQ%2B85nPKBaL6dZbb1VTU5POP//8SLYBAAAAAMBQlD2LeI81a9boxRdf1M6dO9XY2KiTTz65oqPJ27Zt03XXXaenn35anufp5JNP1uc///lBj5L33KfBTIMAAABAdePYHiNF2SPYPY488sj9enl2c3OzvvnNb%2B637QEAAAAAUI5BB2xJam1tVTqd3u3xcePGDWW1AAAAAABUnUEF7O9%2B97u6%2B%2B67tW3btn6Xv/LKK0MqCgAAAACAalP2LOIPPfSQbrvtNl1wwQUKw1BLlizRJz7xCY0dO1ZTpkzRl770pUrUCQAAAADAiFZ2wP7hD3%2BopUuX6rLLLpMkLVy4UFdffbUee%2Bwx1dTUqKOjI/IiAQAAAAAY6coO2OvXr9cJJ5wgy8o/1fM8SVIymdQnPvEJ/ehHP4q2QgAAAAAAqkDZAdtx8rdtG2OUSqW0cePG4rKmpiZt2rQpuuoAAAAAAKgSZQfsyZMnF0P0Mccco5UrV8r3fQVBoJUrV6qlpSXyIgEAAAAAGOnKDtizZ8/W73//e0nSxRdfrOeff14nnXSSTjnlFD366KP6xCc%2BEXmRAAAAAACMdGW36frMZz5T/P5d73qX7rnnHv3iF7%2BQMUannXaa3v3ud0daIAAAAAAA1aCsgJ3NZvWzn/1MJ554og477DBJ0oknnqgTTzyxIsUBAAAAAFAtyrpEPBaL6ZprrtG2bdsqVQ8AAAAAAFWp7HuwJ02apK1bt1aiFgAAAAAAqlbZAXvRokX63ve%2Bp87OzkrUAwAAAABAVSp7krP169dr27Ztmj9/vt71rndpzJgxMsYUlxtj9G//9m%2BRFgkAAAAAwEhXdsC%2B6667it8/%2Buijuy0nYAMAAAAADkZlB%2BxVq1ZVog4AAAAAAKpa2QHbtu1K1AEAAAAAQFUrO2D3eP755/X73/9eO3bs0CWXXKLx48dr1apVamlp0ahRo6KsEQAAAACAEa/sgJ1Op/XJT35Szz33nMIwlDFG559/vsaPH6/vfve7amlp0ec%2B97lK1AoAAAAAwIhVdpuuG2%2B8US%2B//LK%2B9a1v6cUXX1QYhsVls2fP1vPPPx9pgQAAAAAAVIOyR7AfffRRffrTn9YZZ5wh3/d7LRs/frz%2B/ve/R1YcAAAAAADVouwR7G3btumII47od5lt20qn00MuCgAAAACAalN2wB43bpzWrVvX77I1a9Zo4sSJQy4KAAAAAIBqU3bAPv3007VixQqtXr26%2BJgxRhs2bNDdd9%2BthQsXRlogAAAAAADVoOx7sC%2B//HL9z//8j84991wdeeSRMsboi1/8otavX6/Jkyfr4osvrkSdAAAAAACMaGWPYKdSKf34xz/WZZddJsdx1NLSIsuytHjxYt1zzz1KJpOVqBMAAAAAgBGt7BFsSaqpqdFll12myy67LOp6AAAAAACoSmWPYF9//fV6/fXXK1ELAAAAAABVq%2ByAfdddd%2Bl973ufLrzwQq1cuVIdHR2VqAsAAAAAgKpSdsD%2B7W9/q2XLlimbzWr58uWaM2eOPve5z%2BmFF16oRH0AAAAAAFSFsgN2Y2OjFi1apAcffFA//elPdf755%2BvZZ5/VRz7yES1YsEC33nprJeoEAAAAAGBEKztglzryyCP1%2Bc9/Xs8884xuueUW%2Bb6vb3/721HVBgAAAABA1RjULOKl3nzzTT344IN6%2BOGHtXHjRo0dOzaKugAAAAAAqCqDCtjd3d167LHH9OCDD%2BoPf/iDHMfRvHnzdM0112jOnDlR1wgAAAAAwIhXdsBetmyZHnvsMXV1dWnGjBlatmyZPvCBD6ixsbES9QEAAAAAUBXKDthPPfWUzj77bJ1zzjmaMWNGJWoCAAAAAKDqlB2wf/vb38p13T0u3759u5qamoZUFAAAAAAA1absWcT7C9dhGOrpp5/Wpz71Kc2dOzeSwgAAAAAAqCZDmkX8jTfe0E9%2B8hM99NBD2rJli1zX1cKFC6OqDQAAAACAqlF2wM5kMnr00Uf1k5/8RH/4wx8UhqGMMfrYxz6miy%2B%2BWKNGjapEnQAAAAAAjGgDDth//vOf9cADD%2BiRRx5RZ2enksmkPvjBD2rhwoVaunSp5s%2BfT7gGAAAAABy0BhSwP/CBD2jdunWSpBNOOEHnnHOO3vve96qmpkbt7e0VLRAAAAAAgGowoIC9du1aGWN06qmn6uqrr9b06dMrXRcAAAAAAFVlQLOIL1u2TEceeaR%2B85vf6AMf%2BIAuuOACrVy5Uh0dHZWuDwAAAACAqjCggP2Rj3xEDz/8sFauXKnzzz9fr7/%2BupYvX645c%2BZo%2BfLlMsbIGFPpWgEAAAAAGLFMGIZhuU/qbybxKVOm6IILLtAHP/jBqpjsbMGCBZKkJ598cpgrAQAAADAUHNtjpBhUwC71xhtv6IEHHtDDDz%2BszZs3Kx6P6%2BWXX46qvorhHyEAAABwYODYHiPFgC4R35vJkyfryiuv1G9%2B8xutWLFCc%2BbMiaIuAAAAAACqyoD7YO%2BLZVmaN2%2Be5s2bF9UqAQAAAACoGkMewQYAAAAAAARsAAAAAAAiQcAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMD1ELWiAAAekUlEQVQGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIlCVAbuzs1Nz587VkUceqb/85S/DXQ4AAAAAANUZsG%2B77Tb5vj/cZQAAAAAAUFR1Afu1117Tfffdp0996lPDXQoAAAAAAEVVF7C/8pWv6MILL9TUqVOHuxQAAAAAAIqqKmA/9thjWr16tT75yU8OdykAAAAAAPTiDHcBA9Xd3a2vfe1ruvLKK5VKpQb0nAULFuxx2YYNGzR%2B/PioygMAAABQQRzboxpUzQj2ihUr1NzcrLPPPnu4SwEAAAAAYDdVMYL99ttv64477tCtt96qjo4OSVJXV1fxv52dnaqtrd3teU8%2B%2BeQe17m3M2AAAAAARhaO7VENqiJgv/XWW8rlcrr44ot3W/aRj3xExx9/vP7rv/5rGCoDAAAAACCvKgL2jBkzdPfdd/d67JVXXtFXv/pVfelLX9Kxxx47TJUBAAAAAJBXFQG7vr5e73znO/tddvTRR%2Bvoo4/ezxUBAAAAANBb1UxyBgAAAADASFYVI9j9eec736k1a9YMdxkAAAAAAEhiBBsAAAAAgEgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAPj/7d17lFV1%2BT/wZxgdRsEBQdTwkjoKcRkBk4DkohDiZZQyUlx5qQgUEQgvqUszU0NNLURFLIhFCkYWWiB4RQYsIJfgEjX/gEwUoUCFGRUHZti/P/xxvgzDZcA9nBl5vdaaBfPZn9nnmWfvD8P77H3OAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEjBftkuoCZmz54dM2bMiDfeeCPWr18fRx11VFx44YUxcODAaNDAcwQAAABkX70I2JMmTYqWLVvGT3/602jevHksWrQofvnLX8a7774b1113XbbLAwAAgPoRsMePHx/NmjXLfN61a9f49NNPY8qUKTFq1KjIy8vLYnUAAABQT16DvXW43qJNmzZRXl4e69aty0JFAAAAUFW9CNjb88orr0TTpk2jefPm2S4FAAAA6sct4ttaunRpTJ8%2BPYYNGxa5ubk7nNenT58dblu1alV85StfqY3yAACAlPm/PfVBvbuCvWbNmhgxYkQUFRXF4MGDs10OAAAARERETpIkSbaLqKmysrK4%2BOKLo7y8PKZOnRoHH3zwHu9ryzNgL7zwQlrlAQAAWeD/9tQV9eYW8fLy8hg6dGisXbs2pk2b9oXCNQAAAKStXgTsioqKGDlyZLz11lvx6KOPxhFHHJHtkgAAAKCKehGwb7311njxxRfj2muvjc8%2B%2ByxeffXVzLbjjz8%2BGjdunMXqAAAAoJ4E7JdeeikiIu6%2B%2B%2B5q2/7whz9Ely5d9nZJAAAAUEW9CNhz5szJdgkAAACwU/Xu13QBAABAXSRgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIQb0J2G%2B//XYMGjQoOnbsGN26dYvbb789Pvvss2yXBQAAABERsV%2B2C6iJ0tLSuPTSS6Nly5YxduzY%2BPDDD%2BOOO%2B6IdevWxT333JPt8gAAAKB%2BBOw//vGPUVpaGk8%2B%2BWQ0a9YsIiJyc3PjmmuuiaFDh0ZhYWGWKwQAAGBfVy9uEZ83b15069YtE64jIvr16xd5eXlRUlKSxcoAAADgc/UiYC9fvrzaVeq8vLw4%2BuijY/ny5VmqCgAAAP5PvbhFvLS0NAoKCqqNFxQUxPr163f4dX369Nnhtvfeey9yc3N3OgcAAKgbVq1atcNtlZWVceSRR%2B7FamD76sUV7B1JkiRycnL2%2BOsrKytTrIbdtWrVqp3%2BQ0nt0v/scwyyS/%2BzzzHILv3PLv1P384uvMHeUi%2BuYBcUFERpaWm18bKysp2%2BwdkLL7yww21brlzvbA61yzHILv3PPscgu/Q/%2BxyD7NL/7NJ/%2BHKqF1ewCwsLq73WeuPGjbFixQrvIA4AAECdUC8Cds%2BePWPhwoXx0UcfZcaee%2B652LhxY/Tq1SuLlQEAAMDn6kXAHjhwYBx00EFxxRVXxPz58%2BPJJ5%2BM2267Lc455xxXsAEAAKgT6s1rsCdPnhy33357DB8%2BPPLz86O4uDiuueaabJcGAAAAEVFPAnZExLHHHhsTJ07MdhkAAACwXfXiFnEAAACo63KSJEmyXQQAAADUd65gAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBftcwH777bdj0KBB0bFjx%2BjWrVvcfvvt8dlnn2W7rDpr%2BvTp0bp162of99xzT5V5JSUl8e1vfzuKioqib9%2B%2BMWXKlO3ub%2BLEidG7d%2B8oKiqK7373u7Fo0aJqcz7%2B%2BOO4%2Beabo0uXLtGpU6e4/PLLY%2BXKldXmfVmP5TvvvBM333xz9O/fP9q2bRvFxcXbnVeXe17T2uqimvT/%2Buuv3%2B66mDdvXrW5%2Br97Zs%2BeHVdccUX06tUrOnbsGOecc05MnTo1Nm/eXGWe87921KT/zv/aNX/%2B/Ljooouia9eu0b59%2B%2BjTp0/ccccdUVZWVmWeNVA7atJ/awDYqWQfsn79%2BqRHjx7JBRdckJSUlCRPPPFE8o1vfCO5%2Buqrs11anfWXv/wladWqVTJv3rxkyZIlmY/3338/M2fx4sVJ27ZtkxtuuCFZsGBB8uCDDyZf%2B9rXkj/96U9V9jVhwoSkXbt2yYQJE5J//OMfyahRo5KioqLkrbfeqjJvyJAhySmnnJLMmDEjefHFF5PvfOc7Sd%2B%2BfZMNGzZk5nyZj%2BVzzz2X9OzZMxk%2BfHhSXFycnH322dXm1OWe17S2uqom/b/uuuuSPn36VFkTS5YsSUpLS6vM0//d973vfS8ZOXJkMnPmzGTBggXJmDFjkrZt2yZ33nlnZo7zv/bUpP/O/9o1Y8aM5J577kmeffbZZOHChckjjzySfOMb30h%2B%2BMMfZuZYA7WnJv23BoCd2acC9sMPP5x06NAh%2BeCDDzJjf/vb35JWrVoly5Yty2JlddeWgL11z7Y1aNCgZMCAAVXGbrrppuSUU05JKisrkyRJkvLy8uTrX/96ctddd2XmVFRUJGeeeWbyk5/8JDP26quvJq1atUrmzp2bGVu5cmXStm3bZOrUqZmxL/Ox3NKzJPn8h/j2Al5d7nlNaqvLatL/HY1vTf/3zPb%2BrRk9enRSVFSUlJeXJ0ni/K9NNem/83/vmzZtWtKqVatk9erVSZJYA3vbtv23BoCd2aduEZ83b15069YtmjVrlhnr169f5OXlRUlJSRYrq782btwYCxcujLPPPrvK%2BDnnnBNr1qyJN998MyIiFi9eHGVlZVVut83NzY2zzjorSkpKIvn/v469pKQkCgoKomfPnpl5LVu2jJNOOqnKMfoyH8sGDXa%2BLOtyz2taW122q/7XlP7vma2/vy3atGkT5eXlsW7dOud/LdtV/2tK/9PVtGnTiIioqKiwBrJg6/7XlP7DvmufCtjLly%2BPwsLCKmN5eXlx9NFHx/Lly7NUVf1QXFwcbdq0iT59%2BsTDDz8clZWVERGxYsWK2LRpUxx33HFV5h9//PEREZm%2Bbvlz23mFhYXxySefxH//%2B9/MvGOPPTZycnKq7W/rY7QvH8u63POa1vZlsGLFijj55JOjffv2cd5558Xzzz9fZbv%2Bp%2BeVV16Jpk2bRvPmzZ3/WbB1/7dw/te%2BysrKKC8vjzfeeCMefPDBOO200%2BKII46wBvaSHfV/C2sA2JH9sl3A3lRaWhoFBQXVxgsKCmL9%2BvVZqKjua9GiRQwfPjw6dOgQOTk5MWfOnBgzZkz897//jZtvvjnTt237uuXzLdtLS0sjLy8v8vPzq8xr0qRJRESsW7cuDj/88CgtLY2DDjqoWh3bHqN9%2BVjW5Z7XtLb6rk2bNlFUVBTHH398lJWVxWOPPRbDhg2L%2B%2B67L84444yI0P%2B0LF26NKZPnx7Dhg2L3Nxc5/9etm3/I5z/e8tpp52WCWE9evSIX//61xHhZ8DesqP%2BR1gDwM7tUwF7R5IkqfbMIZ/r0aNH9OjRI/N59%2B7do2HDhjF58uS4/PLLM%2BM76t/W49ubs%2BUWqV3N29n4tvvbV45lXe75F9lffXDppZdW%2Bbx3794xcODAGDt2bOY/VxH6/0WtWbMmRowYEUVFRTF48OAq25z/tW9H/Xf%2B7x2//e1v49NPP41ly5bFuHHj4vLLL49JkyZltlsDtWtH/c/NzbUGgJ3ap24RLygoiNLS0mrjZWVl231WkO0788wzo7KyMv71r39lnond9lnRLX3e0teCgoIoLy%2BP8vLy7c7bsp8dHaNtn7ndl49lXe55TWv7smnQoEGcfvrpsXz58syvTNH/L6asrCwGDx4c%2Bfn58dBDD8X%2B%2B%2B8fEc7/vWVH/d8e53/t%2BNrXvhYnnXRSnH/%2B%2BfHAAw/EokWL4rnnnrMG9pId9X97rAFga/tUwC4sLKz2%2BpONGzfGihUrqr2uhZo5%2BuijY//9949///vfVcaXLVsWEZHp65Y/t%2B3/8uXLo1GjRnHYYYdl5r399tuZZ3i33t/Wx2hfPpZ1uec1re3LaNv%2B6f%2BeKy8vj6FDh8batWtjwoQJcfDBB2e2Of9r3876vyPO/9rVpk2byM3NjRUrVlgDWbB1/3fEGgC22KcCds%2BePWPhwoXx0UcfZcaee%2B652LhxY/Tq1SuLldUvs2bNitzc3Gjbtm3k5eVF165dY/bs2VXmzJw5M1q0aBFt27aNiIiTTjopDjrooJg1a1ZmTmVlZcyePTt69eqVuW2pV69eUVpaGvPnz8/MW7VqVSxevLjKMdqXj2Vd7nlNa/uy2bx5czzzzDNxwgknZF5vp/97pqKiIkaOHBlvvfVWTJgwocqbCkU4/2vbrvq/Pc7/2rdkyZKorKyMI4880hrIgq37vz3WALC13FtuueWWbBext5xwwgnxl7/8JebPnx%2BHHXZYLFmyJEaPHh19%2B/aNgQMHZru8OmnQoEHxv//9Lz7%2B%2BON455134ve//31MmTIlLr744szrjI466qgYP358rFq1Kho1ahQzZsyISZMmxQ033BDt27ePiM9/NUVubm6MHz8%2B8vPzo7y8PO67775YsmRJ/OpXv4pDDjkkIiIOP/zweP3112PatGlx2GGHxapVq%2BLmm2%2BO/Pz8uPXWW2O//T5/24Av87HcsGFDvPDCC7Fs2bL4%2B9//HmvXro3DDz88li1bFs2aNYsDDjigTve8JrXVZbvq/4cffhjDhg2LTZs2RVlZWbzxxhtx%2B%2B23x5IlS%2BIXv/hF5gqB/u%2BZW265JWbOnBkjR46MQw89NFavXp35aNy4ceTl5Tn/a9Gu%2Br9mzRrnfy278sorY8WKFVFWVharV6%2BO559/PkaPHh1HHXVUXH/99ZGbm2sN1KJd9X/16tXWALBztf%2BrtuuWf//738mPfvSjpEOHDkmXLl2S2267LdmwYUO2y6qzbrvttuT0009PTjzxxKR9%2B/ZJcXFxMnny5GTz5s1V5s2dOzc599xzk3bt2iV9%2BvRJHn300Wr72rx5c/K73/0uOfXUU5P27dsn5513XrJgwYJq88rKypKbbrop6dy5c9KxY8fksssuS957771q876sx/Ldd99NWrVqtd2PhQsXZubV5Z7XpLa6alf9/%2Bijj5LLL7886dGjR9KuXbukY8eOyUUXXZTMmzev2r70f/eddtppzv8s2lX/nf%2B17%2BGHH0769%2B%2BfdOrUKenYsWNy9tlnJ2PGjEnKysqqzLMGaseu%2Bm8NALuSkyTbvOgDAAAA2G371GuwAQAAoLYI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGIGP69OnRunXrzEfbtm2je/fuMWrUqPjPf/6T9bree%2B%2B9nc67//77o3Xr1nupql0rKSmJ%2B%2B%2B/f7vbWrduHbfeeuterggAqE37ZbsAAOqeO%2B64I4477rgoLy%2BPxYsXx/jx42PRokUxe/bsaNKkSbbLqzdKSkpiypQpMXz48GyXAgDsBQI2ANWccMIJUVRUFBERXbp0icrKyrj//vvj%2Beefj%2B9%2B97tZrg4AoG5yizgAu7QlbH/wwQfVts2aNSsuuOCC6NixY3Tq1CkGDRoUb775ZpU5S5cujVGjRkXv3r3jxBNPjN69e8dVV10VK1eurLa/V199NQYOHBhFRUXRvXv3uPfee6OiouIL1V%2BTGq%2B//vro1KlTvPPOOzF48ODo1KlT9OrVK%2B68887YuHFjlbmrV6%2BOESNGRKdOneLkk0%2BOq6%2B%2BOl577bVo3bp1TJ8%2BPbO/KVOmRERUue1%2B29vcn3zyyTjzzDOjQ4cOce6558aLL75YZfuHH34YP/vZz6JXr17Rvn376Nq1awwcODD%2B8Y9/fKGeAADpcwUbgF3aEgqPOeaYKuPjx4%2BPMWPGxHnnnRdDhw6NTZs2xcSJE%2BP73/9%2BPP7443H88cdHRMTKlSvj2GOPjbPPPjuaNGkSa9asicceeywGDBgQTz31VDRr1iwiIpYtWxY/%2BMEP4ogjjog777wz8vPzY%2BrUqTFz5sw9rr2mNUZEbNq0KYYOHRoDBgyIH/3oR/Hyyy/HuHHjonHjxnHllVdGRMSnn34al1xySaxfvz6uueaa%2BOpXvxrz58%2BPUaNGVXncK664Ij799NN45plnYtq0aZnxQw89NPP3uXPnxtKlS2PEiBFx4IEHxoQJE%2BLKK6%2BMp59%2BOo466qiIiLj22mvjzTffjFGjRsUxxxwTpaWl8eabb8a6dev2uCcAQO0QsAGoZvPmzVFRUZF5DfZDDz0UnTt3jt69e2fmrFq1Ku6///646KKL4qabbsqMf/Ob34x%2B/frFAw88EGPGjImIiDPOOCPOOOOMzJzKyso49dRT45RTTomZM2fGJZdcEhERDz74YCRJEpMnT45DDjkkIiJOPfXUKC4u3qPvY3dqjPg8YA8fPjzOPPPMiIjo1q1bvP766zFz5sxMwH7iiSfinXfeid/97nfRs2fPiIjo3r17bNiwoUqQPvroozPfQ8eOHbdbX3l5eUyaNCkaN24cERHt2rWLHj16xOzZs2PIkCEREbF48eL43ve%2BF%2Beff37m6771rW/tUT8AgNolYANQzdZhLiKisLAwxo0bF/vt938/Nl566aWoqKiI/v37V7mFu2HDhtG5c%2BdYtGhRZuyTTz6JcePGxbPPPhsrV66MysrKzLbly5dn/r5o0aLo1q1bJphGROTm5sZZZ50VDzzwwG5/H7tTY0RETk5OlScRIj6/vXvhwoWZz19%2B%2BeVo1KhRJlxvUVxcXCVg10SXLl0y4Toi4pBDDonmzZtXuXX%2BxBNPjCeeeCKaNm0a3/zmN6Ndu3ax//7779bjAAB7h4ANQDV33XVXFBYWxieffBKzZs2KadOmxVVXXRUTJkzIzFm7dm1ERAwYMGC7%2B2jQ4P/e5uPqq6%2BOhQsXxhVXXBFFRUXRqFGjyMnJiSFDhkR5eXlm3rp166qE6y22N1YTu1NjRMQBBxwQDRs2rDKWl5dXoxqbN2%2B%2B2/U1bdq02ti2j/eb3/wmHnroofjzn/8c9913Xxx44IHRt2/fuPbaa6NFixa7/ZgAQO0RsAGoprCwMPPGZl27do3NmzfH448/Hk8//XTmVu%2BDDz44IiLGjh0bLVu23OG%2BysrKYu7cuXHllVdmbnuOiNi4cWOsX7%2B%2BytymTZtmQvHWtjdWEzWtcXc0bdo0XnvttWrje1rjrjRr1ixuvPHGuPHGG%2BP999%2BPOXPmxL333hsffPBBTJw4sVYeEwDYMwI2ALt07bXXxrPPPhtjx46N008/PRo0aBDdu3eP/fbbL1asWBH9%2BvXb4dfm5OREkiSRl5dXZfzxxx%2Bvcqt4xOe3TM%2BZMyfWrl2buUpcWVkZs2bN2qO6a1rj7ujcuXPMnj07SkpKolevXpnxp556qtrcLd/zZ599Fvn5%2BV/4sVu2bBkXXXRRLFiwIBYvXvyF9wcApEvABmCXmjRpEkOGDIm77747ZsyYEf37948jjzwyRowYEWPGjIl33303evbsGQUFBbF27dpYunRpHHDAATFixIho3LhxdO7cOSZOnBgHH3xwHHHEEfHPf/4z/vznP0dBQUGVxxk6dGjMmTMnLr300hg2bFjk5%2BfHlClTYsOGDXtUd01r3B3f%2Bc53YvLkyfHTn/40Ro4cGV/96ldj3rx58dJLL0VE1dvOW7VqFRGReUO0Bg0aROvWras92bAjZWVlcckll0RxcXEcd9xx0ahRo1i6dGnMnz8/%2Bvbtu1t1AwC1T8AGoEYuvvjimDJlSowbNy6Ki4sjNzc3LrvssigsLIw//OEP8dRTT8XGjRujRYsW0b59%2B7jwwgszX3vvvffGL3/5y7j77rujoqIiTjrppJg0aVJcdtllVR6jVatWMWnSpLjrrrviuuuuiyZNmsS5554b/fr1i5/97Gd7VHdNa6ypAw88MCZPnhyjR4%2BOu%2B%2B%2BO3JycqJ79%2B7x85//PIYMGRIHHXRQZm5xcXEsXrw4pk6dmnmH9BdeeCGOPPLIGj1Ww4YN48QTT4y//vWvsXLlyqioqIivfOUrMXjw4Pjxj3%2B827UDALUrJ0mSJNtFAEB9t%2BX3bc%2BdOzcOP/zwbJcDAGSBK9gAsJseffTRiIg47rjjYtOmTbFw4cJ45JFH4txzzxWuAWAfJmADwG7Kz8%2BPyZMnx3vvvRebNm3K3LY9dOjQbJcGAGSRW8QBAAAgBQ12PQUAAADYFQEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJCC/wevX%2BlPCdVrqQAAAABJRU5ErkJggg%3D%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3RU1f7%2B8WcmmSSEhFAEAgjSi4iKFEVFQESkIwh2xHIVEcHO9aroRRQQFAvXn4IiioqIAhIFvFKUooBShAtIBwElhZZAytTfHzHnO5NMpiQnRXi/1spamZnMmZ0z7Txn7/3ZFo/H4xEAAAAAACgWa1k3AAAAAACAswEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbKKYpU6aoWbNmatasmZ555plib8/pdBrba9asmY4ePWpCK%2BHN7OcMAP7uJk6caHwujh07tqybc9YYMGCAsV%2BXLFni92927dpl/E3r1q1LuYV/Tx9//LGxzx544IGybg7gI7KsG4Dy4Z///Kfmz59f6O02m01xcXFKTExUy5Ytdd111%2Bmaa65RREREKbYSwLnm4MGDuv76643LVqtVy5cvV61atcqwVQAAAP7Rg42QOBwOnThxQjt27NAXX3yhYcOGqXfv3tqyZUtZNw3nsIMHDxpnsC%2B88MKybg5KQP4Tf263W1999VUZtQYAys7IkSON77z333%2B/rJtzzuJ5QDD0YKOAhIQEtWrVyuc6u92u5ORkHTx40Lhu3759uuuuu/Thhx/q4osvLu1mAjjLeTweLVy4sMD18%2BfP17Bhw8qgRQAAAIERsFFAoDNyhw4d0qRJk/Ttt99KkjIzM/Wvf/1LCxculNXKgAgA5lm3bp2OHDkiSWrQoIHsdruOHDmiAwcOaPPmzbr00kvLuIUAUHxNmzbVzp07y7oZAExCIkJY6tatqzfeeENdunQxrtu9e7dWrVpVhq0CcDbyHh7et29f9enTx%2B9tAAAA5QUBG2GzWCwaOXKkz3Vr164to9YAOBtlZmbqv//9r6Tcz5w%2Bffqob9%2B%2Bxu2LFy%2BW3W4vq%2BYBAAD4xRBxFEmLFi0UGxurzMxMSTKGcYZq7dq1%2Bvbbb/Xzzz8rNTVVZ86cUZUqVdS4cWN16dJFN910k2JjY0Pa1u7du7V69Wpt2LBBe/bsUUpKinJychQfH6/ExES1adNGffv21SWXXBJWG91utxYuXKikpCTt3LlTp06dUvXq1dW4cWPdeOONuv7668tVFfW9e/fq66%2B/1po1a/THH3/o5MmTiouL0/nnn6%2Brr75agwYNUp06dQJuw7tic0REhLZv3y5JSklJ0dy5c7V06VL98ccfys7OVvXq1dWuXTsNGTJELVq0CLmdDodD8%2BbN06JFi7Rnzx6lp6f73a9TpkzRO%2B%2B8I0m66aab9NJLLxnbmDt3rp599lmf7bpcLjVr1szvY44aNUrDhw8P2rZffvlFc%2BbM0a%2B//qqjR48qJiZG9erV07XXXqshQ4YoLi4upP9x8%2BbNWrBggTZv3qwjR47ozJkzioyMVKVKlVS7dm01b95c7dq107XXXquKFSuGtM38li5dqoceekiSVKFCBf34448hv2emTp2qt956S1LulBB/85xzcnK0aNEiLV26VDt27NCJEyeUk5Oj6OhonXfeeapXr54uuugiderUSZdddlmR/odAvv32W%2BPzpXXr1qpbt64kqWXLltq2bZtOnTqlZcuWqUePHoVuw26366qrrlJ6erok6bXXXlOvXr1CevwDBw6oe/fuxuVvvvlGjRs3LvTvd%2B/ebbz//vzzT506dUrx8fE6//zz1bFjRw0ePFiJiYkBH3PXrl1GL31sbKw2bdokKfd9OW/ePK1atUpHjx7V8ePHVaFCBeN27//3p59%2B0tq1a/W///1P%2B/fv16lTp2S1WpWQkKAmTZroiiuu0ODBg5WQkBDSfsjz%2B%2B%2B/a/bs2Vq5cqX%2B%2BOMPWa1WJSYmqkOHDrrllluMfXP55Zfr5MmTkqQvvviiQD2Pktp34Sjufva2Zs0a/fe//9Uvv/yitLQ0nTlzRlWrVlWTJk3UpUsXDRw4UBUqVAipXTt37tTq1au1ceNG7dmzR6mpqcZ3Wa1atdSmTRv1799fF110UVj/r8vl0oIFC5SUlGR85p533nlq2rSpBgwYoOuuu67Ep3iF2oaJEydqxowZkqTbb79dY8aMKbCtFStWGDUYmjRpoq%2B//jro44ey3TzJyclauXKl1q9fr127dumPP/5QZmamYmNjVbVqVV166aXq1q2bunbtKovFUpTdUUBhr8k83u%2BrPK%2B88opeeeWVAtvKu7/D4VDnzp2VlpYmKXcf9O/fP6T27N%2B/XzfccINxecmSJWrQoEFY/1Mef/ve4/Fo2bJlmjdvnn777TelpqaqUqVKaty4sXr37q0bb7xRkZHmR5TDhw9r/vz5Wr16tQ4fPqxTp04Z38tXXXWVBgwYoAsuuKDQ%2BxflecC5iYCNIrFYLIqPjzcOgDMyMkK63%2BHDh/Xcc8/pxx9/LHBbSkqKUlJS9OOPP2ratGl6%2BeWXdc011wTcXt%2B%2BfQudt3TixAmj8vnHH3%2BsG264QePHjw8phCQnJ2vUqFEFPhyPHDmiI0eO6IcfflCHDh302muvBd1WScvOztaECRP0%2Beefy%2BVy%2BdyWtw%2B2bt2qGTNmaMSIEbr//vvD2v6yZcv09NNP69SpUz7XHzp0SIcOHdKCBQv01FNP6e677w66rf3792vkyJHatWuXz/VlvV/tdrvGjx%2BvTz/91Of6nJwcbd26VVu3btVnn32m999/X02aNAm4nX/9619KSkoqcJvL5VJqaqpSU1P166%2B/as6cOerSpYtxEiFcnTp1UuXKlXXy5EllZWVp6dKlPj28gXzzzTfG797DrvNs375djzzyiE9RwzyZmZn6/fff9fvvv2v16tV655139NZbb/kspWWG/MPDvX/ftm2bJGnBggUBA3ZUVJS6d%2B%2BuuXPnSpKSkpJCDtjez%2BGFF15YaLjOzMzUyy%2B/rC%2B//FJut9vntuPHj%2Bv48ePasmWLZsyYoUceeURDhw4N6fHzfPLJJ5owYULQ3voffvhBTzzxhHEyIb/s7GwlJycbz9mYMWPUr1%2B/kNvwyiuvKDs72%2Bf6PXv2aM%2BePfrss880evRo3XnnnaH9U38p6X0XjlD3c56DBw/q2Wef1fr16wvclpycbOzr6dOna8KECerQoUOh23I4HLrxxhu1e/duv7fnfY5v375ds2bNUu/evfXSSy8pJiYmaDuPHDmikSNH6n//%2B1%2BB648cOaIVK1bommuu0eTJk4Nuq6jKQxtC9eyzz/p9PUpSenq60tPTdeDAAS1YsEAtW7bUm2%2B%2BqfPPP78MWhqczWbTgAEDNG3aNEnSl19%2BGXLA/uKLL4zf27ZtW%2BRw7U9GRoaeeuopLV%2B%2B3Of6tLQ0paWlae3atZo9e7beeOMN48RqcXk8Hr399tt69913lZOT43PbsWPHdOzYMW3dulXvv/%2B%2B7r77bj366KPUFUKxELBRJB6Px%2BdALpReuN9%2B%2B0333XefUlNTjetiY2PVuHFjVahQQSkpKdq/f78kKTU1VcOHD9eUKVPUrVu3QrfpHa5tNpvq16%2BvypUry2q16tixY9q/f78ROpcsWaLU1FTNmjUrYM/z8ePHNXToUO3bt8%2B4LioqSk2bNlWFChW0f/9%2BpaWl6aefftJDDz2ktm3bBv3fS0p6erruv/9%2BnxMBkZGRatSokapUqaL09HTt2rVLTqdTOTk5evXVV3XixAmNHj06pO2vXr1aI0aMkNvtls1mU5MmTRQfH6%2BjR48a4cvtdmvChAmqW7eurrvuukK3deTIEd11111KTk42rouJiVGTJk0UExOjgwcPKiUlJaT9mpiYqKuvvlrZ2dn65ZdfJOWe9Lnqqqv8/n29evUC/p/PPPOM0YtbpUoV1a9fX1arVbt37zZe58nJyfrHP/6hr7/%2ButCe7KeeekqLFy82LkdGRqphw4aqUqWKPB6PTp06pQMHDhhf8B6PJ2C7ArHZbOrevbvmzJkjKTcQhhKwt23bZry2LRaLevfu7XN7cnKy7r77bp%2Bz9AkJCapfv74qVqyorKwspaSk6I8//jDa7%2B9gtDiOHDliBBebzeYTonv16qVXXnlFLpdLq1evVlpams4777xCt9WnTx8jYK9evVonTpxQlSpVgrbBu1fM30kIKTf43H///T7LFdpsNjVq1EiVK1fWqVOntGvXLrlcLmVlZWn8%2BPE6ceKEHn300aCPL%2BWO1Bg7dqyx3caNGys%2BPl6pqak%2B7yNJ%2BuOPP3w%2BkytXrqy6desqLi5OOTk5%2Bv33342erNOnT%2Bupp56Sy%2BXSgAEDArbhk08%2BMdqQJzExUfXq1VNWVpZ27dqlnJwcjRs3LqzRGCW978IRzn6Wct9D9913n44fP25cV7FiRTVu3FgxMTFKTk7WgQMHJElHjx7VP/7xD/3nP/9Rp06d/D6%2B2%2B32Cdc2m00NGjRQQkKCrFar0tLStH//fuN99vXXXystLU0ffPBBwBCQlpamoUOH6vfffzeui46ONj5z9%2B/fr2PHjmnlypUaOXKkmjdvHvpOC1F5aEM4du3aZexnq9Wq888/X9WqVVNMTIzS09O1d%2B9e40TTtm3bdMstt2j%2B/PmqXr16ibarQ4cOysjI0G%2B//Wa8jxs0aOB3VJr3iZfBgwdr%2BvTp8ng8Wr9%2BvQ4cOKD69esHfCyn0%2BmzFOKgQYPM%2BSeU%2B5332GOPaeXKlZJyv28bNmwou92u3bt3%2B%2BzboUOHavbs2apRo0axH/e5554zvgfy1K9fXzVq1NDx48e1Z88eSbknu6ZNm6ZDhw7ptddeK/D%2BKurzgHMPARtFsm3bNmVlZRmXAw2dlHLPWA4fPtwI17Vq1dLo0aPVrVs3n2FA%2B/fv14svvqg1a9bI4XDo6aefVsuWLVW7dm2/261UqZIGDBigbt266ZJLLpHNZvO5/eTJk/rkk0/0//7f/5PD4dCGDRv0wQcf6L777iu0rePGjfMJ10OGDNHDDz%2BsSpUqSco9GPruu%2B/0/PPPa%2BPGjcZJgbLwr3/9ywjX0dHRGjFihG677TafAHjq1ClNnTpVH330kSRpxowZatOmTcAwLOX%2Bn4899pgkadiwYbrvvvsUHx9v3L5p0yaNHDlSKSkpkqTx48cHHDL37LPPGgerVqvV2GbeQbnH49Hq1as1ZsyYoPu1Y8eO6tixo8%2BQdqvVWqT1KJcuXaqTJ0%2Bqdu3aevbZZ9WlSxfjS9XhcOj999/XlClTJEl//vmnZs6cqREjRhTYzq%2B//mqEa4vFouHDh%2Bvuu%2B/22WdSbk/2pk2btGTJEp8D9KLo27evEbB//PFHHT9%2BXFWrVg14H%2B%2Be2Xbt2qlWrVo%2Bt7/99ttGuE5MTNTYsWPVsWPHAgca6enpWrlypb744gvThknmWbBggRHer7nmGlWuXNm4rXr16urQoYNWr14tp9OppKSkgKMn2rdvr8TERB09elQOh0NLlizRrbfeGvDxt2zZYgQkq9VaaK/36NGjjYBYoUIFjRo1SoMHD/YJmidOnNCbb75pjI5499131bZtW3Xs2DFgG%2Bx2u8aNGyeLxaL7779f9913n/EZJMknsORp2bKlBg4cqM6dO/s94Nu6dasmT55s1Mx48cUXdfXVVxd6ALtnzx6NHz/euFynTh2NGzdOV155pXHd6dOnNX36dL377rt68cUXC4yiKUxJ7rtwhLufT548qeHDhxvv3Tp16ujpp5/Wtdde63Pidu/evXrhhRe0fv16ORwOPfXUU1q4cKFq1qzptx2VK1fWgAEDdP3116tVq1YFhsceP35cH3/8saZNmyaHw6G1a9fqk08%2BCThq4Pnnn/dp/7333qsHH3zQ%2BExyuVxasmSJxo4dq7Vr15ZIFevy0IZw2Gw29enTRz179tQVV1xRYMRb3tSZSZMm6dixY0pNTdXYsWONKTcl5fXXX5eUu/5y3iougwYN0r333hvwfnXr1lWHDh2MUYNffvmlHn/88YD3%2Bf77741jtfj4eJ%2Bh4sW1ePFinThxQpUqVdJzzz2nXr16Ge8b788Sj8ejw4cPa8yYMUUe5ZVn7ty5PuG6TZs2Gjt2rM9x68GDB/XCCy8Y%2B2nx4sVq1apVgf1b1OcB5x7GPyBsHo9HU6dO9bnOe66iP5MnTzbmadevX1/z5s1Tjx49ChxENGjQQNOmTdPVV18tKTeYv/3224Vu94cfftDTTz%2Bttm3bFgjXUu5By0MPPaRXX33VuG7WrFlyOp1%2Bt7dp0yaf4bP333%2B/nnnmGZ8DLqvVqu7du2vGjBmKiYnRiRMnAv7vJWXRokX67rvvJOWeKf3www91//33F%2BhdTUhI0DPPPKNRo0YZ102aNClo72lej%2BvYsWP16KOPFgiKrVu31tSpU41wdfjwYaM3Ob/vv//eZ1rA6NGjNWrUKJ%2BDaYvFoo4dO%2Bqjjz5S5cqVS22/njx5UtWrV9fs2bPVtWtXnyBps9k0bNgwn0BWWPXqH374wfj9xhtv1MiRIwvsMyl3bnvbtm317LPPatKkScVqe5s2bYwg5XQ6fXrP/XG73Vq0aJFx2V/PbF7PgpT7OunUqZPfXrJKlSqpd%2B/emjlzZtCTNeHy7j3x1ysfTjVxi8XiE5D9Dd/Pz7v3un379n5D0fz5843nPDY2VrNmzdLdd99doBe3SpUqev755405ox6Px%2B98vfycTqeys7P17LPP6rHHHvP5DJIKjsro16%2Bf5s2bp9tvv73QWgutWrXSjBkzjICamZlpnKDxZ/LkyXI4HJKkqlWratasWT7hWpLi4uL06KOP6vHHH1dmZmaB4Zf%2BlPS%2BC0e4%2B3nixIk6evSopNwTy/PmzVO3bt0KjIpq1KiRZsyYofbt20vK/ZzJG6qbX1RUlL7//nuNHj1arVu39jv3tGrVqho5cqRefvll47oPP/yw0NEja9eu1dKlS43LDz/8sJ566imfz6SIiAj16tVL06dPV1RUlOmfueWhDeGaPn26Jk%2BerGuvvdbvdLLo6GjdeOON%2Bvjjj43bly5dqkOHDpV2U0M2ePBg4/f58%2BcXevyTx3t4eO/evU3tiT1x4oRsNpumTZumvn37%2Brxv8j5L8k7sS7nz7VevXl3kxztz5owmTpxoXL7sssv0wQcfFOgUuuCCCzRt2jSfUXBvvPFGsU%2BC49xFwEZYDh06pFGjRmnFihXGdb179w5Y5Or48eM%2BB8ETJ04M2MsWGRmpsWPHGgcZSUlJOn36tN%2B/DbWoU/fu3dW6dWtJuUP28op35ed9sFmvXj09/PDDhW7zwgsv1D333BPS45eE9957z/j9oYceMv6/wgwbNsyYR3XgwAH99NNPQR8jrzhaYS655BKftYg3btzo9%2B8%2B//xz4/eWLVvqrrvuKnSbdevWDbjfS8I///nPgEWUvNt7%2BPBho9feW95Bt6SQi34Vt0heuOFx/fr1xigCm83mt2fCe0hssNdUHjOL/W3YsMGYfhAfH%2B%2BzJGCebt26GYWjdu7cqR07dgTcpndI37hxY8CijPlPQhQ27N57tMQjjzwStJjXyJEjjbmau3btKvRklLfWrVvrjjvuCPp3UuifhREREXriiSeMy/nnQebJK/SU55FHHglYJPHee%2B8ttMhgfqWx78IR6n5OTk423mMWi0WTJk3yGV2Rn81m04svvmicoJo3b57fExAWiyXkQmh9%2B/bVhRdeKCn3%2Bzh/PYs83t9ljRo10oMPPljoNi%2B%2B%2BOKw58%2BHojy0IVyhvo8aNmxoBFe32%2B1zTFTeXHfddapWrZqk3Ol33ieD88v/vjdzeHie22%2B/PeB3y3333edzTPnZZ58V%2BbGSkpKMGkGRkZF66aWXFB0d7fdvbTabxo0bZ5xQyMnJKTCsHAgVARsF7Ny5U/fee6/Pz5AhQ9S9e3d169bNGBYjSVdddZVefPHFgNtbsmSJcVCRP5AVpk6dOkZIyc7O1q%2B//lqM/yjXxRdfbPy%2BdevWArd7PB6fg81BgwYpKioq4DZvu%2B22MimEsXfvXqPQk81mCzrkVcrtefeeb7tu3bqg9/E%2B810Y7zDpPbQ%2Bj9Pp1Jo1a3y2GWxIcf/%2B/Utt/lJCQkLQIXANGjQwDlAk//%2Bn95f2b7/9Zl4Dg/AOgJs2bQrYk%2BIdwDt37lygt06Sz2u%2BLIZrep%2BM6969u9%2BDoYoVK6pr165%2B7%2BNP8%2BbN1bRpU0m573PvUSr5rV271hgeGR0d7bd42/bt2405sxUqVAjpIDQiIkI9e/Y0Lofy/iuJg1spd3/k7de8OdT5rVq1yhjuHRsbW%2Bg89DxWqzWkz4vS2nfhCHU/L1682OjRb9eunRF0A6lfv77x3ZOZmen3uydcwb7LXC6Xvv/%2Be%2BPyzTffHPQk2O23327qVI/y0IaS5r0yiRnPa0mx2Wy68cYbjcvePdT5zZ8/33jfX3jhhWrZsqXp7bn99tsD3m61Wn2OaX744QfjfReuZcuWGb9fffXVatiwYcC/r127ts%2BILO/7A%2BFgDjYKOHXqVNAhOfXr19fw4cPVt2/foF%2BIGzZsMH6//PLLQ25H06ZNjUJH27ZtK7SAlZQ7V/ann37S1q1bdejQIWVkZCgnJ8dnGLR3RWR/hWsOHjzoUyk7lHl%2B1atXV4sWLYywW1q8e3BatmzpdyiyP94VsENpcygnQ7x7fv1VMN6zZ49P9eFQXgNxcXFq2bKlz2unpFx00UUhLQdSs2ZNHTt2TJL/qvneS%2Bd8%2Bumnqlu3rm699dZCz5abpUmTJmrevLkR6r/%2B%2Bmu/PUV2u91YV1oqvHDXRRddpJ9//lmS9Pjjj%2Bvll19WmzZtSqDlBWVnZ2vJkiXG5UBF2/r27WsM5U5KStKTTz7pd5pInj59%2BhhTRZKSkgqtpp//JIS/95b3%2B69Vq1Yh93p5v/8KG0Xjraj7PTk5WWvWrNFvv/2mY8eO6fTp0wWGheYNLXY6nTp27FiBOhfegSHU/zGU93Zp7btwhLqfvdsezndZkyZNtHnzZkm5n7uBCjjmLbWW9112%2BvTpAt9l3vUp/H2X7dmzx1jhQ5Ix5SqQOnXqqFGjRkaxp%2BIqD20ors2bN2vTpk3au3ev0tPTlZmZ6fM8eA9n9/c8lCeDBw/W%2B%2B%2B/L4/Ho5UrVyo1NbVAYTaPx6Mvv/zSuHzTTTeZ3o569eoFLToqyWcFGbvdrp07d4a9PJ0knyKKwValydOlSxfju2XHjh2y2%2B1BO1uA/AjYKJLDhw9rz549IZ1t9q6OumzZspAPjrwDcWHzspxOp2bOnKnp06cXWJswEH8BybsQi9VqVaNGjULaVuPGjUs9YHvv08OHD4dcYMN7H4Uy1y1QdeY83kMb8y/jI%2BVWN84TGRkZcI1Jbw0bNiyVgB3K/yj5VgT1LvCXp0ePHnr99deVkpIit9ut8ePHa%2BrUqerYsaOuuOIKtW7dWk2aNCmRHpo%2BffoEDdgrV640ToDEx8erc%2BfOfrc1dOhQI2AfOHBAt912mxo0aKBOnTqpXbt2at26tU9vvpmWLl1qvDcTExON%2Bav%2BXHXVVapWrZqOHTum48ePa%2BXKlT692vn17t1br732mjwej3bt2qWdO3cWGNJst9uNugZS4QHfOwDs378/5Pef93y%2BUN5/4S7/c/jwYY0fP17Lly8Pq7K7v8/DP//80/g9WK9PngYNGshisQSs71Ba%2By4coe5n78/dJUuWhLzGrXcgLqztDodDM2bM0IwZM8L6LvM3fcp7FEve6hqhaNy4sWnhtjy0oai%2B%2B%2B47TZo0ye8yhYUpbBpbeXHBBRfo8ssv19q1a%2BV0OjV//vwCJxnXrVtnHAfFxMSEvOxjOAItc%2BmtVq1aiouLM/br77//HnbATk9P93kv5Y1iCsb7e8Futys5Odm05cJw7iBgo4D27dtr1qxZxmWn06nk5GTt2LFDM2bM0IYNG%2BR0OjVt2jQ5nc6gSz55f8Dt3btXe/fuDbtN/r68HA6HHn744SLNffK31ql372tsbGzIZywDzcErKd77NC0trUhFQIIdEERERIQ9t9bfgbX3wXvFihVDHlIfaq98cQXq9SyMv/8zNjZW77zzjoYNG2bM0c7IyNCiRYuMOb1Vq1ZV586dddNNN5naK9y7d2%2B9%2Buqrcrvd2rNnj3bs2FGgLkLeMmSSdP311xfas37dddfp0Ucf1RtvvGGEtP3792v//v2aOXOmLBaLmjZtqhtuuEGDBw8O%2BQRFKLyHevfu3TvgyYjIyEj17NnT%2BKxasGBBwIBdu3ZttWnTxuiFTEpKKhCwV6xYYbxeExISCu3x8H7/5a1tHi5/odZbTExMSCMr8mzfvl1Dhw4tsF59KPx9Hnq3z99UAn8iIyNVoUIFn57L/Epj34UjnP3s3fbdu3cXum51IP4%2Bd%2B12ux588MEifY77e%2B68XwOVKlUK%2BXPczO%2By8tCGonjrrbcKFHENRajrp5elm2%2B%2B2VhB4MsvvywQsL2Hjnfv3r1EvoPDeX4TEhKM90tRPtfyj6gLZXlGf3936tQpAjbCRsBGUJGRkapTp47q1Kmjrl27asyYMUbRqhkzZuiKK64odH1PyX9vX7j89cZMnz7dJ1xfdtll6tevn1q1aqVatWqpYsWKPiFiypQpAZd78J7jE07oKouhQyW1T0tCcdZ6/rtp2bKlFi9erA8//FDz5s3T4cOHfW4/fvy45s2bp3nz5unaa6/Vyy%2B/HPKXfiCJiYlq27atMaUiKSnJJ2CfPn3ap7BNsJ6JYcOGqVOnTnrvvfe0bNkyn9ebx%2BPRzp07tXPnTk2bNk2PPPKIhg4dWuz/ITk52afw3uzZswPOFZR8D2pXrFihkydPBjyA69OnjxGwv/nmGz3%2B%2BOM%2BId67evgNN9xQ6Hs7UIAMVbD3RTi1Hex2u0aNGmUchMbExKhfv37q1KmTGjZsqOrVqxcIkpdffnnAntKSet%2BWxr4LRzj7uaQ%2Bd//zn//4hOt27dqpb9%2B%2Buuiii5SYmFjgu2zixImaMWNGoY9RHr7LykMbwvXTTz/5hOt69epp0KBBatOmjc4//3xVqlRJMTExxmfGihUrjAr3fwfXXXedqrcPrSUAACAASURBVFatquPHj%2BvAgQNav369MUooPT3dZ/ROSdV/KOproSgnMPLfJ9THzv8a/DucPEH5Q8BGWCwWi8aMGaNff/3VKID073//W0uWLCn0izE%2BPt44kzhp0iRThh05nU598MEHxuW77rpL//rXvwLe58yZMwFv917eKtjfhrPdkuDdozRo0CCNGzeu1NsQKu%2B2njlzRm63O6SDWjN7qUpTXFycHnroIT300EPav3%2B/fv75Z61fv96neJaUW735/vvv12effWZKFe6%2BffsaAfubb77Rk08%2BaRwIfvfdd8bw/Zo1awYcep2nRYsWevXVV2W327V582b98ssvWr9%2BvX755Rfj4DkrK0vjx49XREREsSsAf/XVVz5rKIf7vnI4HPrmm28CFtDp0aOHxo0bJ4fDoT/%2B%2BEMbNmww5sNmZGT4nIQIVNTL%2BzV9xx136LnnngurrWZbvHixz9DOTz/9NGhxomBB1/t/9FdbwR%2Bn0xk0hJa3fReOSpUqGe/hN998M%2BjylKGw2%2B366KOPjMv/%2BMc/fKq8%2B/N3%2BC4rD23wFsoJ5Xfffdf4vX379po%2BfXrAYptl8d1fHFFRUerfv79xcuaLL74wvguSkpKM74j69eurXbt2JdKGor4WitKbnv8%2BoT52/lEmoY7gAbxRRRxhs9lsPgdFR44c0ezZswv9e%2B/5muHMaQpk69atxkFfbGysHn/88aD38be0kjfvpcPsdnvIQxfz91KWBu%2B2mrVPS4p38SSn0xlye/1V6v67adCggQYPHqzJkydr1apV%2Buijj3wKHG3ZsiXo2tWh8u5xPXr0qDGPWvIt3NWrV6%2Bweu2ioqLUvn17DR8%2BXDNnztTatWv1/PPP%2B/QUv/HGG37n34fDe%2B3rogpWTTz/sG/v/fLtt98a1bRr1aoVsBCV9/vvwIEDRWytebzXmB84cGDQcH3ixImgvTK1atUyfg/1vbh///6gvcvlbd%2BFoyQ%2Bdzdu3Gic7EhISNCoUaOC3ifYd5n3d25GRkbIJ0jM/C4ryTZ490SGWl062OPb7XafInZPPfVU0JUsgj0P5dHNN99s/P7tt98aJ7K9RwuVRHGzPIGWSPSWnZ1tFBWVVKS6HwkJCT4nr0N9fXvX45EUcFlZoDAEbBRJu3btfKqCTps2rdADbO%2BlLEJZezkU3gV4mjZtGrRSs8fjCbrUV/PmzX2CRyjLbrjd7lIvcCb5VvfevHmzKcMuS0rjxo19CqHl9bIGcvr06ZD2q/fzVd6HolssFl1%2B%2BeV67733fAr%2BeC9hVhz5C5flhce0tDRj3p0UfHh4MHFxcbrttts0ZcoU47qMjAyfaq3h2rJli09ho6VLlxrD0IP9LF261Ljf1q1bg9Z48O6ZXrJkiXGA7j08PNj87/xrv5f1EELvQoLB1pSWFFJxLu/tbN26NaTh0aG8t8vbvguHd9tL4rusWbNmQYexut3ukL7LvIXyXeZ0Ok1dXrAk21CxYkXj91CDe2HrhedJTU01PgsiIiJCWp4q1CJ3ZvL%2BXCrKd179%2BvWNXuvs7GwlJSVp%2B/btRvHZyMhInyW9zPbbb7%2BF9J7ftm2bz4im/DVFQhEVFaXGjRsbl0Nd7tX77xITE/0G7OI%2BDzj7EbBRZN6VitPS0jRnzhy/f%2BcdxDdu3GjK2rreZ61Dqcr8008/6ejRowH/pmLFij4f4nmFqQJZt26dz1nW0tK%2BfXvjQMxutwftuStLkZGRuvLKK43Lc%2BbMCfqF9NVXX4XUI%2Bod3N1u99/iYL1ChQo%2BS86lpaWZtm3v8Pjtt9/Kbrdr0aJFxoFK48aNi3Sg4k%2BHDh18llgqzv%2BxYMEC4/eWLVuGVVCmbt26PgfDwd4L1157rTF89eTJk1q1apVSUlJ81lYOtubzFVdcYcxnzszMNKX3vTi8l%2BAK5fPQe38XpmPHjkbvT2Zmpk9vvz9ut9uozRFIedt34fB%2B365bt86nOnhRhfvc/fDDDz4V1f2pUqWKT7AI5bts9erVRSokVRZt8B4Vdfz48aCfPX/%2B%2Bad27NgR8G/yL2MXzPHjx33W%2BS4t3p%2B5RR015N2L/cUXX2ju3LnG5S5duphauDK/zMxMrVy5Mujfeb9e6tWrpxo1ahTp8bxHIi1evNgntPvj8Xh8TrYWNpLJjOcBZzcCNoqsbdu2PnM533vvPb8B55prrlGDBg0k5X54Pf/888UOQt4ftjt37gw4t8Zut2vChAkhbde7d2/RokUBz3q73W698cYbIW3XbAkJCerfv79x%2Bc033wx56FVZGDx4sPH7tm3bfKrU53fkyBG99dZbIW23cuXKPj0%2B3kvDlLZwzmJ7jzhISEgwrQ2dO3c25oudOnVKK1eu9AlGwXqvw/kf7Ha7z8FKUav/2u12ffPNN8blosxr9b7PwoULA863jI6O1vXXX29c/vrrr7Vo0SLjPs2aNStQXTy/8847Tz179jQuv/7662W6Dq73erYbN24M%2BLdr1671WQ%2B9MDVr1vQZTv/666/79LbmN3PmzJB6H8vbvgtH165djSW9XC6XxowZE3Ywy8/7udu%2BfXvAg/WcnBy98sorIW23X79%2Bxu9fffVVwJMBLpdLb775ZkjbDUdJtaFmzZo%2BQ4a//fbbgH//5ptvBg1W1apVM05wuFyuoL2dr7zySpmc0PUOv0X9vrv%2B%2BuuN4prbtm0r8bWv83vrrbcCvm8OHTrkE/qL06M%2BcOBA4/cjR47os88%2BC/j3CxYs8DnuK2x/mPE84OxGwEaxePdip6Sk%2BK36a7Va9eSTTxqXN23apGHDhgXt%2Bc3KytK8efN0zz33FLjtkksuMeabZmZmauLEiX7DwenTpzVy5MiQe80HDhxofHC6XC499NBDfg8qXS6Xxo4dWyZDxPIMHz7cCGcnT57UkCFDgg6rdrvd%2BvHHH3XvvfcWmGdUkjp37uzTiz1%2B/Hi99dZbBU6MrFmzRnfeeadOnDgRUnXtyMhIn7UtP/zww1Krjp7fqFGjNH369KBr9G7dulVLliwxLptZTCYqKsonbL777rvG0G2LxaJevXoFvP%2BhQ4d0xx136Pvvvw96QPrmm28ac5ajoqJ08cUXF6nNedW/8xQlYN9www3G78nJyT5zkv3xPtGwfPlynwPMYL3XeR5%2B%2BGGjJzwtLU1DhgwJ%2Bjnjcrm0cuVK3XXXXaaGSu8TnfPnzy80ZG/atEkjR44M%2BUTKE088YZzAOnbsmO68884CQ6NPnz6t119/Xa%2B88opiY2ODTteRyte%2BC0dkZKRPAbL169froYceCvqez8zM1Ny5cwssiyRJrVu3Nnr0MzIyNHnyZL/byMjI0PDhw0OeDz9o0CDjpJfD4dDw4cP97jen06nnnnuuRKY6lWQbrrvuOuP3t99%2B22eahLdp06Zp3rx5QbcXFxenCy%2B80Lg8YcIEv1Ov3G63pkyZUmajxrzbuHz58iJ9j%2BcVO8uT9zles2ZNdezYsfiNDOK3337TM88843f%2BfFpamoYPH260KSEhQbfcckuRH6tly5Y%2B/9OECRN8ill6W7dunf79738bl1u3bq0OHTr4/Vszngec3agijmK58sordemll2rz5s2ScpfOGjRoUIF5ZF27dtUDDzxgVOlcs2aNunbtql69eql9%2B/aqUaOGIiIilJ6erv3792vLli1avXq1MjMzVbNmzQKPGxsbq5tuukmffvqppNxhx3v27NFNN92kunXrKjMzU1u3btXnn3%2Bu5ORkVaxYUddcc03QglLx8fF65pln9Oijj0rKLXbRp08f3XrrrWrbtq2io6O1b98%2BzZ07V9u3b1d0dLSuuuoqLV%2B%2BvNj7Mly1a9fWpEmTNHz4cDmdTh0%2BfFgDBw5U586d1bFjR11wwQWKiYnR6dOndeTIEf3vf//TqlWrjOJtpT1vaNy4cbr11luVnJwst9utqVOn6r333lPTpk0VExOjgwcPGgdfl112mdq2batp06ZJCrx0S%2B/evY0Dszlz5mj58uXGNvP06dNHPXr0KMH/LncO3%2BTJk/X666/riiuuUOvWrdW0aVNVrlxZFovFCH5JSUlGz0edOnXUu3dvU9vRp08f4%2By/97zoyy67zOh9K4zH49HPP/%2Bsn3/%2B2Viz%2B6KLLtL555%2BvuLg4ZWdna9%2B%2Bffrmm298Ti7dcccdPlWDw%2BF9oNqsWTOf%2BemhuuCCC9S8eXOjB3X%2B/Pk%2BU1Pyu/zyy1WjRg2lpKQoKyvL6LGwWCwhPx/16tXThAkTNGrUKLlcLh04cED9%2B/dXly5d1LFjR9WtW9fn/bd161atXLnSOLFo5vuvX79%2BevPNN3Xq1CnZ7Xbddddduvnmm3XVVVcpPj5eycnJWr58udFT361bN/38888Bl%2BmScqcUPP300xo7dqyk3BMwQ4cOVa1atVS3bl1lZ2dr586dxsHwc889p4kTJ/qcePGnPO27cPXo0UObN2/WzJkzJUnff/%2B9rr32WvXu3Vvt2rVTjRo1ZLValZ6ern379mnz5s1as2aNsrOzVa9evQLbS0hIUL9%2B/YyTPLNmzdLOnTs1cOBAnX/%2B%2BTpz5ow2b96suXPnKjU1VQkJCbriiiuC9tpWqVJFTz/9tEaPHi0pt1Bd3759dcstt%2Biyyy5TVFSU9u3bpzlz5mjnzp2qUKGCLr/8clOHPZdkG%2B666y7NmzdPDodDaWlpGjBggIYOHWrUfNm3b5%2B%2B%2Buor/frrr4qPj1fbtm19lvX0Z8iQIUZbN2/erP79%2B%2Bu2225TixYt5HK5tGfPHs2bN88Ybn7TTTcFXUrQbJ06dVJ8fLxROK5Hjx668MILVa1aNaMmSUxMjF577bWA2xk8eLDPSiySNGDAAFNWtAikY8eO2rhxoxYsWKBt27bp5ptvVuPGjeVwOLRp0ybNnj3b54TV6NGji11kbNy4cerXr59Onjwpu92uBx54QD169FC3bt1UvXp1HTt2TCtWrPAZ/RQbG6vx48cXuk2zngecvQjYKLYHH3xQDzzwgKTcYjsLFizwu4biY489psqVK2vSpElyu93KysrSF198UeQvqMcff1y//PKLcXC8YcMGbdiwocDfRUdH65VXXgmpyIok9ezZU4cPH9arr74qKbfnYNq0aUbYy2O1WjVmzBgdOnSoTAK2JGOt4kceeUQnT56Ux%2BPRihUrgh5IlIU6depo5syZGjVqlPGcZWdnFyiO1aFDB7322muaPn26cV2gJTruuOMOLV%2B%2B3KianZqaWqAC/EUXXWTWvxGU0%2BnU6tWrfda19ee8887T22%2B/7VOwxwzt27dXYmJigZoDofbM5vFeszuQ6667zjghFa5jx45p1apVxuXiLHt0ww03GAF76dKlOn36dKGh32q1qlevXgUOMNu1a%2BdTPTuYbt266Z133tFjjz2mjIwMud1uLVu2TMuWLSvy/1EU8fHxmjhxokaMGCGn0ym73a5Zs2b5nYrRokULjR8/3qcHMJC8Zc%2B8g/Off/7pM7LHZrPpqaee0oABA/Tiiy/6tKsw5WXfFcXTTz%2BtKlWq6PXXX5fH41FmZqY%2B//zzkOag%2B/PPf/5TmzZtMnqn169f77dgXIUKFTRp0iSfooWB9O/fX4cPHzam3Jw8eVLvvPNOgb%2BLjIzU2LFjtWPHDtPnFZdUGxo1aqQnnnjCCEEnTpzwKbyYJyYmRq%2B%2B%2BqrWrl0b9Huxf//%2BWrlypTFl5eDBg4WGrIcfflgtW7Ys9YAdGxurF198UU8%2B%2BaQcDoecTmeB71Dv%2BcGFadiwodq1a2d8b1osFp/h1CWlXr16GjhwoJ588knt3r074BKjDz74oCltSkxM1Icffqh77rlHx44dk8fj0aJFiwqtC5CQkKBp06YZUxv9Met5wNmLIeIots6dO/sUGZo2bVqh82vuueceLVy4UD179gzYKynlfoE%2B8MAD%2BvDDD/3eHhcXp08//VR9%2B/YtdNmh1q1b6/PPPw/5YDLP/fffr3feeafQHr8GDRrovffeK5X5SsF06NBBixcv1n333Rd0Hmz16tU1cOBAffzxx7rgggtKqYX/p2HDhpo3b57%2B/e9/q3379qpWrZqioqJUu3ZtderUSVOmTNH777%2BvqlWr%2BkwhCDRcPCoqSjNnztTLL7%2Bszp07KzExMejyKiXhgQceUM%2BePYMObc%2Brwp2UlFSg0q4Z/A0Ft9lsPsOoC1OjRg09/vjjatOmTdBqxg0bNtRLL72kqVOnBn0vFyYpKcnnsyKUNhbG%2B77Z2dlBR6v4O%2BEQ7kkIKbfGxJIlS3T33XcHXS%2B1Zs2aGjx4sD799FMlJiaG/ViBdOnSRTNmzFDDhg393l6xYkUNGTJEc%2BbMCXtN2dtvv11ff/217r77bjVq1EixsbGqWLGiGjdurDvvvFMLFizQkCFDlJWVZQyrtVgsQesLlJd9VxTDhg3TggUL1L1796Cv/yZNmmjYsGF6//33/d5eqVIlzZ49W7169fJb6Mxisahdu3aaO3euOnXqFFY7R4wYoalTp/oUBvPWuHFjzZgxo9irC5RFG4YOHaoJEyYU2sN56aWX6vPPPw9rn02ePFkjRowoNBzVr19fU6dO1YgRI8Jqq5l69Oih%2BfPn64477lCLFi0UHx9fpJ5n71oTHTp0CKu4ZHH06NFDM2fO9Jne5S0xMVFvvPGGHnnkEdMes3nz5vr666918803F3p8EBUVpQEDBigpKclnxYDCmPU84Oxk8VBfHmUkOztbGzdu1OHDh42hivHx8apbt66aNm0aVtXI5ORkrVu3TkePHpXNZlP16tV1ySWXFPsLw%2BPxaOPGjdq1a5fS09NVrVo1NWnSxGfpsfIkb9mw3bt3G2vdxsXFKTExUY0bNw54Rra86dGjh9GjM3PmzELnQpVH%2B/fv1969e/XHH3/ozJkzioiIUEJCgho1aqRWrVqFNE%2B1rOXk5GjHjh06cOCAjh07puzsbMXGxqp69epq0aKFGjVqVNZNLHdcLpfP%2B8/pdKpixYqqVauWmjRpUiontdxut7Zs2aJt27YpIyNDCQkJql27ttq3b%2B9Tdb8krF%2B/Xnfeeaek3GH7oRRTy1Me9l1RZWVl%2BXyXWSwWxcfHq169emrWrFlYVZn//PNPrVu3TikpKbLZbKpRo4YuueSSoNM7gvF4PNqwYYN27dql06dPq1q1amratGlIy7qZJZQ2TJw4UTNmzJCUe2JnzJgxQbdrt9v1888/a%2B/evcrOzlb16tV10UUXqUmTJkVua0ZGhtatW6fff/9dTqdTNWrUMD6/zwYOh0OdOnUyTmRPmTLFp/igmQI9p9u2bdPOnTuVlpamuLg4NWnSRG3atCm008QM2dnZWr9%2BvQ4fPqz09HTFx8cbn5FmjyjDuYuADaDc2bRpk1HYxGaz6ccffwzawwWgbI0ePdpYAqxfv34hV7wG8hQlYCN8S5Ys0ahRoyTljhBbuXJlkUciBcNzinMRQ8QBlCunT5/Wc889Z1zu2rUr4RooI6Geg1%2BxYoXPmtbFWVoHQMnynq4wcODAEgvXwLmKgA2gVJw5c0Z9%2B/bV7NmzlZKSUuB2p9OppUuXauDAgdq9e7ek3N7rvAJ6AErfrFmz9OSTT2r16tV%2B1/09duyYXn/9dY0YMcII423atNEVV1xR2k0FEITH49E777xjFOSKiorSkCFDyrhVwNmHKuIASs3OnTv1wgsv6IUXXlBiYqJq166t6OhoZWRkaN%2B%2BfQXWHX3sscd81psEULocDocWLlyohQsXymazqUGDBqpSpYo8Ho9SUlJ08OBBn17uatWqaeLEiX6LdQEofT/88IPmzJkjp9OpvXv36vDhw8ZtQ4YM8bsUKoDiIWADKBX5D7iPHj1aYCmpPPHx8Ro9erTf5d4AlB7vYkMOh8NYYs%2BfVq1aacqUKaVWjRhAcIcOHfK7/N2ll16qhx9%2BuAxaBJz9CNgASkVsbKyxzu2GDRu0d%2B9eJScnKysrS1FRUapcubKaNGmiK6%2B8UgMGDGDeNVAODBkyRC1atNCqVau0ZcsWHTp0SCdOnJDD4VB8fLzOO%2B88tW7dWt26dQt7CSkApctms6levXrq2bOn7rvvvjJZ0hI4F1BFHAAAAAAAE1DkDAAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADBBZFk3oKyddmQr02Ev0n1jbVGKs8WY3CIAAAAAwN/ROR%2BwMx12/XbiqBxuV1j3s1kj1LxKIgEbAAAAACCJgC1JcrhdYQdsAAAAAAC8MQcbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwi8FS1g0AAAAAAJQbkWXdgL%2BrCItFTo9HKZnpRbp/rC1KcbYYk1sFAAAAACgrBOwislqsynbadej0CTncrrDua7NGqHmVRAI2AAAAAJxFCNjF5HC7wg7YAAAAAICzD3OwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELDLiKWsGwAAAAAAMFVkWTfgXBRhscjp8SglM71I94%2B1RSnOFmNyqwAAAAAAxUHALgNWi1XZTrsOnT4hh9sV1n1t1gg1r5JIwAYAAACAcoaAXYYcblfYARsAAAAAUD4xBxsAAAAAABMQsAEAAAAAMAEB%2B2%2BICuQAAAAAUP4wB/tvhgrkAAAAAFA%2BEbD/ZqhADgAAAADlEwH7b4oK5AAAAABQvjAHGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELDPMZaybgAAAAAAnKUiy7oBKD0RFoucHo9SMtOLvI1YW5TibDEmtio0px3ZynTYi3TfsmozAAAAgHMLAfscYrVYle2069DpE3K4XWHfPzoiUo0SapRJ0M102PXbiaNht9tmjVDzKokEbAAAAAAljoB9DnK4XUUK2DZrRJEDuhlBt6jtBgAAAIDSQMBG2IoadJn/DQAAAOBsRsBGqSjO/G%2BLLLK7nEV%2B7OIEe%2BZ%2BAwAAAAgVARulojjzvytE2lQrNqFIj1vcYJ/jcmhfelrYbS7ufHWpeAGdEwMAAABA6SNgo1QVZXi5zR1R5MczI9gXqc3FmK8uFS%2BgF%2BfEgM0aoRZ/w6JwxTmhYFHu68TlcRfp/pyQQEkpzuta4rUJAEBZOGcDdtu2bZWQkCCXxy2H2yWPJ7z7Wy1ShMUqp8d9Tty3LB/7XLuv9/1dHrfCvbtFlr967sN/bIslN2QXlUUWecJucXHva5HkkdPtKuK9c/dX0fa1FGmNUITFWoRHRrg88shdlDeUJKvFIsvfrBKEy%2BMuxuua1ybKp%2BK8j6Wyey%2Bfa58/Zamo%2B/pYapqio6P1yy%2B/lECrgNCdswE7IyNDGRkZqlWndsiBwiKLrBbfD8hIFT2M/B3va%2BZj//nnn5KkWrVqlerj/l3uW9KPHe7%2BD11xDiKKel%2BLTGng2AAAIABJREFUIiKKFySK%2B1wVRck9B2envJMhZinv%2Bz/CYi3267q8K%2B/PwdmuLPa/2e/j0lIS7eb1719R97XL5VKlhEpFmhbojdE/KK5zNmBHROQeTH%2BSND/k%2B8RGRqlKdGxJNemc07VrV0nSsmXLyrgl5yb2f9njOShb7P%2Byx3NQttj/ZYv9b66uXbvK5XHrtxNHi7ysqxnLygLnbMAuCofbpVM5WYqKiFBURCRD7wAAAIBypKjLyQJmIWCHwXjD/rViVKTFquiISOPHSuAGAAAAgHMWAbsYnB63nE67zjhzq7zmBm6bV%2BD%2B%2B80xAgAAAAAUDQHbRLmBO0dnnDmSpEirVbGRUaoYGUXvNgAAAACc5Uh9JcjpdstmjWBpBgAAAAA4BxCwS5hFFlkYKg4AAAAAZz2Lx1OEldzPAnml/MNZpqsozouJU3QEI/EBAACAkpJ3bP/ch28Xa5muVtXqqEZsJZNbh3MJPdgAAAAAAJiAgA0AAAAAgAkI2AAAAAAAmICAXeI8Kulp7h6Px/gBAAAAAJSNczpgWy0WVYiwyVpCy2hFWqxyuFxyy9zg6x2mXW63Mp12ZbkcsrtdxvUEbgAAAAAoXed0eWuLLKoaU1Eej0dOj1s5Lqfx4ylCKI60WBUdEanoCJuiIyJktZhz/iIvKFssFrncf7XTndtOl8ed73%2BSoqyRf7UjMncdbovFZxsAAAAAAPOd0wE7j8Vikc0SIZs1QnG26HyB2/FX4C7o/wJ1pKIiIhVREoE6X/DPH6gL3FfKDd9up%2BT4K3BHRCraSuAGAAAAgJJEwPbDX%2BB2uF2yu51yut25gdXEQO3N7XYr0%2BWQ0%2B1SjsspZ5BAHYxHMsJ5XuCOjohU5ejYEmk/AAAAAJyrCNghsFgsivqrl7qkeSSdsmeV6PazXU65PR5F0HkNAAAAAKahCxMAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwQ%2BTxeJRuz9KfZ07lFgwrIcGqhJvB8tcPzi15xfqynY5SeZ0BAAAA5xqKnBXC4/HotCNHqVkZSslKV0pWhhxul3F7JVuMasRWUvUK8TovJq7IBdDyluGyu5zKDmEZrqKKtuYWaYvxWqoLZ7e85ebyXlv513fPXWbO9tdSc%2Bat2w4AAACcqwjYf/F4PDrjtCs1K0OpWelKzsyQ3Z3bU22RCqyDne7IVsapbO05lSJJSoiqoBoV/grcFeJks0b4fRx3vnWti7sMV2GirBFGeIpi7etzgsfjKbBuutvvCu65nB63nM4cnXHmSJIirVbFRNiMkzFWXicAAABAWM7pgO2RRwfS04xe6myX/0BdWETxvv6UPUvp9iztPpUsSaocFauasZV0Xkyc4qNi5HC7leNylHCgjvwrUEf6DdQE67OPy%2B1WtsuhHPdfgdpTeKAOxul267Q7R6eVG7htea8pa%2B7ritcPAAAAENg5HbCznA5tSD0YcqAOxvt%2BJ%2B2ZOmXPlKdyolxF3mJoYiOjVCU6lkB9jvF4PDqalV5i23e4XXK4XYqKJlwDAAAAoTinA3befNSSir8e5Q67LWnWv3qrCUHnlpI9bfN/GCoOAAAAhIaqRgAAAAAAmICADQAAAACACQjYAAAAAACYgIANAAAAAIAJCNgoVzzFWGYKAAAAAMrSuV1F3CO5PW5ZLdYCS1wVh/eyX6dyMlUxMloRJlcTd3s8sii3vek5WfJ4PKoUVUFWi0Vuj1sWWf4WVcW997vH45Hrr7ZHmPycnI0syl2iLcvpMCril4Rsp0M2awTVxAEAQLlns0aUyX2BPOd0wHZ73PozM12RFquiIyL/%2BrEZy15JoYU770AdE2FT5ehYVYqKUaWoCoo06Y3qHaiznQ6lZKUrNStDqVkZOuO0S5IiLVbVrlhZ58dVUd24qqpeIb5cBu68JcU8Ho8cbpdyXE7luJ2yu5zGfozwfk6skYqwErjzs1gsqhIdq8pRHjk97tz96HIox2s/FoXv%2ByFSVgsDXQAAQPlnkUV146oUaxsuj0epmemlthxqeRRri1KcLaasm/G3dU4H7DxOj1tOp90nqOaF7dyAUfg609ERkaocFatK0RVUKaqCaWe%2BvMPk/2fvzmIsye4zsX/nnFhv3iX3yu6uqu6u6rXYTbYlstkcQ%2BJIxRmPbdCQQBuGQT2IFAEDpAA9WAL6QfNCCHqQAAl6kARBoIAhAcMQMdYLDdGD4dgNYwwNLZHiqNnsZvXCXmvJzKrK9d6IOIsfIm5k5M3Myi0i1%2B8HJLo682ac2G7k%2BeLEPf/UaNyuBOrVLNlxO95bvYv3Vu8CeAuBVHioCNyX25OYjtoQReAejto3GVarQXr4X20tBjYPgekDgqBxFus6xXpxTNRI6Bsd4T7PdcCFEPCFgi8V2n6Y7%2Bd9BG4lJKJivwbFviUiIiI6bRwcbq4vQVt74GVYZ2HO8UcWfanwzMQcA/YhMGBvYzRw%2B1IhlB7Gwxih8svR6W4QI1D17kJtDQY6w1Lax3x/BXf6K1jJBgdaVmoN3l1ZxLsri/iPAALp4ZH2OC6OTeD5qYtQDQdS4yycQxH0dBH0DnbBGg3cw5sgsRcgrPkYnHbbBe7MGiRWI9Ea2tktTwcQERERnQV9nSGz5rhXg84xJpM9yKxBZg2m4w5emLncaFupNfg/3/9xQ8vWeGd5Ae8sL%2BCxzhQmorFG2hla0%2BmOo%2B2HNbwJklmLmbh9bkev90IIgaAYne74x702RERERERnF4euiIiIiIiIiGrAgE1ERERERERUAwZsIiIiIiIiohowYO%2BDcw6Z0Y23c1Y%2BTeycK2f6JiIiIiIiOus4ydkDOOeQmAzL6QBLyTp%2BePtd/PWN72Ou1cOT4xdwdXwWj3enEXvBodrJrMFy2sdy2se9wToeHhuHsRYDk5X1oQ9bLkAJiYdaPTzSnsDl9gTGw1btpa2cc%2BjrFMvZAEtJvj0WDr5UiJRflj07bJtSiHIG7Ej5Zduc6IyIiIiIiI4TA/aIgc7ysFsExOE0/wIoC0zdWl/Cnf4y/p%2BPfgoB4KGxcTxVBO7HutMI1YOnatbWYDkdYDntYylZR99kW9pQUqIlAoyJsPgdW9Y0TqyG3SVwSyEwF/dwsT2BS%2B0JzLV6UFLCOgsBUUsYdc6hb7Ly5sByOoBxW%2BsODmdhH5YbC6SHyMvDdiB3D9xSCIRyowa2V9Qar4ZqhmsiIiIiIjpu5z5gJ0aXYXopWd82UGPk3wDKgOsAfLR2H7fWlvB/f/gGBAQutifKEe5HO1OQQmKlCKFLab%2Bs5bxbG9XQ6EkJJQKM%2BcPAbTAw%2Beh2Ujy2Ptvq4OLYBC61J/HQ2Dg8KWGdg6gsS4qDfyrAOYdBMaI/DNV6m0C9m9RqpOnGo/ajgVsJiaAI09EOgRpgqCYiIiIiopPlXAfs1Bj84513AewedndjMQzcDu%2Bv3sWHq/fwHz74CZ6begRPjl%2BAEOLQbWwO3ApjQqLth7jQ6uKlC1fgSbVNoK4nhGbW4NXFD5AWNyDqVA3cT/YuYLKoz81ATUREREREp8m5Dti2EnHrnopruOzJaKwMhnW3MVxuL4ihipHpugL1qMzoRsL1qE4Qlf9moCYiIiIiotOEs4g37mhCIufqJiIiIiIiOl4M2EREREREREQ1YMAmIiIiIiIiqgEDNhEREREREVENGLAbx09Hn0RulzritIH7ioiIiIhob851wG50%2BrEilCwl/fJb9gA1ox9kuP6rWdL4VGq%2BVOVM5U1azxIAeairO9httzyGx50N9011NnfuLyIiIiKinZ3rMl1KSMy2ukhMhkRrJEbDHXTE2TmgCCLGGGRZhizL8H/d/RH%2BzgvwUHcCD3cncbE3hXYY5wES%2ByurVa2jHUiF2biL2VYHM3HnYOu8D77y8PMzj2JNJ1hOB1hO%2B1hOBwffX9VlS4VQ%2BQiVh%2BUsQd9ohMrLv6QHJeW2YW831d/R1ubH2WgkVsM5bLShPPhSlb9zXsuDVbc9sybfV0YjNRoQQCiH%2B8uHd8BjQkRERER0lp3rgA0B%2BErBVwrtIA8YmTVIjcZAZ0iN3jk%2B7hCosyzbMsq3niV4a/EW3lq8BQAYCyI83J3AQ91JXOxNYywIi8DtIHcYJfalwmzcwUzcxUzcQccPjzzYCCHQ9iO0/QgPj43DOoe1LMFy1sdS0sdqNthT3PaEQuR5Zage3WbjLNZ1inWdFq%2BXCIogHBWvf9DoqhACxtoyTCcmg9lm5HVgMgxMBgCQEJva8M5B4K5um64E6sToTTXi8xcDfZOhbzIAfSghECoPgfQRqYPfBCEiIiIiOkvOd8AeIUQesgLloR1EZeBOjEai89FPALDGIC3CtNYa1u7v0e%2B1dIAbCzdxY%2BEmAKATxni4O4mHuhO41JtG5AfwhMRM3MFsq4uZqINuEJ244CKFQCeI0AkiPDI2AescVrNBOcK9kg0A5AE59HxEykegvH0/aq6dhR4J3Bujzz7kMFDbjYBo9vk4voUrA/dSsW0bI7Z54D4LYXu4DaMj%2Bnafj34b57CuM6wjv0Ghqsek8tTBad9fRERERET7wYD9ANXA3QkiLKzcx827i7V/DnUl6eON%2BQ/xxvyHmI47%2BMvP/8%2BIlHfqwokUAt0gRjeIAUzgXrKOlWxQ%2B2e3h4F7rQjcUoh9B8TdWOcqI7bAw63eqTse21nXKZbTwdYR6kOqPnWghMDcGdlfRERERET7wYC9DwLiSCZ5ij2/8TaOghTiSCZGqztcn3V1h2siIiIiIsqd61nEiYiIiIiIiOrCgE1ERERERERUAwZsIiIiIiIiohrwM9i7cM5hbWkZ8%2B9/hA/e/hmW795HPD2OeGYC8dQ4pF/PLoy9AI9NzODZmYt4dfFDtDwfnWLCsFCdzsPU8gJEykNi8pnYU6uPe5UObH6wCiUEoqK0mBLyVE7iFSoP01EbaTF7%2BANL0e3TsNRZdErPVyIiIiKiwzr2nvC7776Lb3zjG/jRj36EGzdu4MqVK/jOd75T/twYg7/6q7/CK6%2B8gjfffBPGGDz11FP4zd/8TXzmM59pZJ3Wl1cw//5HmH//I9x59wMM1tYB5LOKO%2BeQ3F/B/RvvAQDC8Q7i2Um0ZiYQTY1DempPbYTKx6MTM7gyMYurk3OYGeuW9ZvXdII1nWB%2BsAoACKSH8TAP2x0/QnBKAownJCAkAumhW5Q9SyultFJrjnsV9yyzBhmAQVGqTUJUSoVt1M0%2B6ZSQUAIIpEJHjJSi22fgFhAIlSpKc/nwpCzfI8DZriFORERERLSdY09qN27cwCuvvIJPfOITsNZumaV7MBjgL/7iL/Arv/Ir%2BI3f%2BA14noe/%2BZu/wZe%2B9CX8%2BZ//OX7pl37p0OvQX1nD/PsfloG6v7oGABBSwlVqXJfrVlnH5P4KkqVV3P/pu4AQiCY6iGcmEc9MIJrqQao8eAXKw%2BXxaTxeBOoL7fGyfrOSG0/qV/89lFqNO/0V3OmvAMhHIXtBC90gQjeI4Z/QcDcaroQQCKRXBO7iZkUlcGenKHBbbC7jJYej20Xt7O2O40mw3THxpYJfCdzpMHCPPHUgkJ/Hw230pSoDdXW5w38zXBMRERHReSPcUdSdegBrLWQRRl5%2B%2BWW8%2BuqrW0awV1dX0ev1yu855/CFL3wBY2Nj%2BNa3vnWgdq9fv45b9%2B9CfeIxrC/nwXU0UB%2BYEHkIFwK/8Iu/gP/2%2Br/EI5MzZaCWQhw6fAigHGnsBTEe60wjOoXlvYannyhqWS8lfayb9JjX6vB8ITEetsoQeppUj4lzDtrl7wlPbB6hPm3bRURERGfX9evXYZzFv/43f3aqBm1OGl8qPD/1CGZb3eNelVPr2Eew5S4jfUqpTeEayDv2zzzzDP7hH/7hUG1nSYKkCNcA6gnXwMYIt3P45z/3aVycnCnDSF0jm9W7Ii0vOLWf066GNCkEBsWI8GmnpDo1j/KPGh2N9oq5EDkyTURERCfdSX2y87Tg/ju8U5kArLX44Q9/iKtXrx73quxK1DBaTXSceP4SERHRaSAgcKk9cdyrceoZ5zC/vlwO6LX8AG0/OtZ1Ok1OZcD%2B1re%2BhXfeeQdf//rXH/i669ev7/izmzdvskgZEREREdEpsVvffnbuAm6uL0HX9VTqOWWdhSmeyPWlwjMTcwzY%2B3DqAvb3v/99/OEf/iG%2B/OUv41Of%2BtRxrw4REREREZ0QfZ3xM9h0rE5VwH799dfx1a9%2BFZ/73OfwO7/zO7u%2B/nvf%2B96OP7t%2B/Trev32zztUjIiIiIqKG7Na3N44j13T8Ts1D0u%2B99x6%2B8pWv4Nq1a/iDP/gDfi6UiIiIiI7NMRfiIaIT6lQE7Pn5eXz5y1/G9PQ0/uzP/gxBENSzYCGABichU0qhPxg0suwqO1KH%2BDQ7K9vhimkh%2BMeXiIjobBktZ0lEVHXsj4j3%2B3288sorAIAPP/wQq6ur%2BO53vwsAePHFF9FqtfCVr3wFi4uLePnll/Hmm29u%2Bv0XXnjhwG23ux288C%2Bv4/133sUHP3sXWZqWAe8gF0wlFUzxmY/Z6Rl8/Nlr0DpDmqb13RSotickekGM2AuQGQNfnf5p9WeiNgYmQ2I0BkaXQbUOUghEykcgFCCAzBoMjK71cSIBIFAeIuVBWwOPpQ6IiIhOtWqgNtbm/RSrIRzgF3/zh3/v3Rka9CCigzn2gL24uIjf%2Bq3f2vS94f9/85vfxCOPPILXX38dAPC1r31ty%2B%2B/8cYbB25bSYkXPv0pvPDpT8Fai4Xbd/DBz97F%2B%2B/8DB%2B%2B%2Bz50lj0wcCspYYpZCqcnp/D8s9dw7amn8eyTT2GiN37g9dpxfYVEN4jQDWJ0gxix8s/cRVxJiTEZYswP4ZyDdhaJ0UiK0L2fuC0hECqv/Nop7Jqyjbwds4%2BbKwJAIDfa8KU6c8eEiIjoPBkN1InRSGzeT9hyU95kWEJ%2BEz%2BUW/scDNxE58%2BxB%2ByLFy/uGpIPE6L3SkqJ2YfmMPvQHH7uM5%2BGtRZ3bt4qA/dH730Ao3X5%2BonxcXz8mWt49qmnce2pZzA1UX/NPSkEun6MXhij60eIveBcXaSFEPCFgi8V2nsI3AICUSVQKyH3tL%2BUkGh5AVpe/pSBsbb8Q7pd4A4ZqImIiM6kzTfd9/6Um3UOfZOhbzIAo4HbhydPxacyiagGxx6wTyopJeYeeRhzjzyMT/6Xn4ExBuniEvyBxlNXrmJmarqRdn0hcbkzhbgIfAxvG7YL3Jk10M7ClwreHgP1bpSUaMmNwK2tRWo1lJAIGKiJiIjOlMRkWMvSsk9Rh82Buw8lJC7EHfYhiM4BBuw9Ukrh8qOP4kq3mWA9JITAdNxptI2zQgiBQHmo/9Ptm3lSwpNNt0JERETHwQHlyHNTWD6K6Pzg8ypERERERERENWDAJiIiIiIiIqoBAzYRERERERFRDfgZ7D1aXV/H/J07%2BKl5E4/OzOHK7MMI/Xo/l2udxVqm8eO7H6LjR5iJO4g9fvZ3J8PZvrU18KVCqDxIUe89I%2BscUqPLSc72Mzs5NcM5h9QapEZDiLwUW10T3BER0fkjhUDHj5BZU1Qo2U9R0N0JAIFil5vovOC7fQfr/T5u313AnbuLuL04j34yAJBfhG1R0/DS5CyeevgSnrhwEY/NPoTA8/fVhnWuLDc10Fk5c%2BWd/kp5aW95AS60upiJO5iJOoj22cZZYpxFWpTNGOxQOsMTEqHyyzJacp%2BhyzmHxGqkRRuZNVteI4tQl5ffYOmNplUD9aC42TFKjNY8Z%2BAmIqI9CqQH38%2BrhDjnoK3FwGZln2O/cVsUyxwt6emcY11sonOAAbvQTwa4s5gH6luL81gf9AGgvCAO2eLfzjm8t3gbH9y9g3//T38PKSQuT1/AUw9dwhNzF/HozBz8kbuVw9HQxGQ7hjcAmy7k6zrFz5YX8M7yAgCg7Ye4EOeBezruIDzDd0TtSC3KvZTO0M5C6wRrOgGQzwAeKR%2Bh9BBsE7iH4W1Y8zrd4ZhsXi%2BHvs7Qx7D0htgI9dKDYuA%2BlGH5tfLYbxOot/wOHAYmw2BYf3QkcPOpAyIiepDh3wghBHyl4EkJ4Ueb/yYVN%2BC3C9yBVGVfIKgE6tFlE9HZd3bT2R5oY/D3r/1n3F6Yx2p/HcDGCPVQNVxvZ/ha6yx%2BNn8T7y3cwr/7z9%2BHkhKPzszhuctX8cylxyGk3DFQ76a6BqtZgrVsHm8tzwMAun6EubEeHu/MoB2EB1r%2BSZIYjb7OkJisllqU2lqs2gSryAO3L/M62gJAZs2eAvVujHNY1ynWdQoAZeAe8wI%2BErZH1lms6RSJzkeoD/twnkW1/ujGUwdjXsha5kREtKtNgbvoO3TERuBOTX7z11cKgfQYqImodK57/4M0wdsfvLftCPVBDX/fWIu3b3%2BEn3vyY8ichbD1fZ6nuqTlbIALrouxmj8PflzuJmuHPgYPkllz4Bsde2Wcg3UWgfL4KNgerekUy%2BmgseVb55AZgzD0dr1pRkREVFX9O14N3KM/5997IgI4i3jjnW0lm380VQhR83Qcx%2BjMbAj/2O7LERx3doCIiKgOQgj%2BTSGiHZ37gE1EREREtF8M10S0HQZsIiIiIiIiohowYBMRERERERHVgAGbiIiIiIiIqAYM2A2zzh7JrMX8FNDJdBZmrHbOnZntqP6XiIiIiKhu5zpgh36Ah6ZnoVSl1MIhl1md8GIsjvHO/E3cH6zB2Lymc91hRQmJ5WSAhcEqMmNOXYiormdmDSKv2cpxw3rIkfKgRDOnvwAA55AafSonQKkeE20NBibDwGSNncMA0PICjHkhvIaOCZAf%2B0RnjS2fiIiIiOhc18H2PQ%2B/%2BPOfhrUW91aWcefuAm4vLmDh3iKMtRAQcLvUDxJClGGjFUa4MD2D2clpzE5OoRXFAIB1q7HeX4YSEqHy8i/pQUlZ/u5eg5gUAr0gRjeI0QtixF4AIQRSa3BnsAIBsdGG8so6jSelHnN1PTJrkBiNxGikRsM2UKtJjuwPJTaXTTPWIrG6WI8M5oDBMZSb9/lJ2Nd7VT0HtbVITJbvD6u31CSv4xzejpIS42EMIIZ1tjwvEqOhnT3QMgOpynUNpHeqjgkRERERnU7nOmAPSSkx1RvHVG8czz7%2BBKy1uLt8H3fuLuL24jwW7t%2BDtbbsoA8DRRSEmKsE6rG49cB2jLNY1ynWdQoA8IREUASASHmQQm4JwhICnSBGL8wDdasI1DtxcOWI4/D3q214lcANNFtiYrQNXQnUSUOBevQGgyceXIdcSYmWDNDygmIdLdIiXA5MtiVgDuXhzS/C2%2BkJ1NWRZyFEfoOh2N693GDY6zlcbWO/pJCIvQBxcUyMK46J0RgYDbND4PZHArU8JceEiIiIiM4OBuxtSCkxPT6J6fFJXLvyJIw1uLt0H3cWF7E2WMfU%2BAQuTE5jLG4dKlhpZ6FHwkrbD/FoZxqx56MXxBjzw0O1YSuBewnFI9LSQy%2BMG3tEeiixelOA2ymsHkY%2Boqrgy70F6t14UsKTAVoI4JyDKUZTU2ughECo/FMVqEdl1iCzBmlxs2OnsLpX253DseejG8R1rC6A/BhvCtyVpw6G53OgGKiJiIiI6PgxYO%2BBkgozE1OYmZhqtB1dhLknxmcba8M6h77J0HERVMN5JDEaq1nSaBtKSEyEY40sWwgBTyh4UqGZFo5eZg3up/3Glq%2BLEe46A/ao0acOiIiIiIhOinM9yRkRERERERFRXRiwiYiIiIiIiGrAR8SJiIiIiOhMGFbQoXpwf%2B4fA/YJI4VAYjJ4QkHJZh4wcM5hLUuKmZ/9xibskhDwpUJmTSPLB/JZw88C51y5n5os8yWQz4CeWdPAHO4bbTRtuL/yz8kfbmI7IiIiOhsEBC61J457Nc6cpidGPmsYsI%2BZFAIdP0I3iMoyXPP9FQD5yRx5flkO6qAn9zCMDExW1jge8oQsa2p3gxihqq9ecCeI0EEE51yl1rQ%2BVOCulh07iXW%2B98o5V05qNzwmw8ArgGL7/FpmRq9q%2BSFafgjnXDmTeD5Lut79l3cggPyYyM3HpE7Dc7gs81ZZ391qnRMREdH54OBwc30J2h6uSgpt8GRe5Yj2jgH7iEkItIOwDLVjRV3r7epSG2exliVYK2bi9kYCt9whcG%2BEkQwDo5GabMfRSu0s7iZruJus5W1IhZ4foRvmgTtS/qG3WRSllELpQQQC1rmy1vRugTuva63KwDkMm6OB%2BqQHqgcF6i2vBTAoaj4DzQRuIQQCqRBIhW4QFYFbVwL3g44JEMjNNzl2OocPqjyHrUai8xsAO%2B0vi3xm/H6l9vumWuh8tImIiOjc6Ous0acnzxtfqsaeejyrGLAbJgC0KyPU7aKu9WgY2Uso0c5iNUvK0leeUIi8vC6zkioPrcUo9UHfCNoaLCZrWCwCty9VObo9HOE%2BiOr2SbERgIaBeyPYZZBCbhoNPY2BGsj3ZTniajTsAY/K1sAtisf7DxcgR/dnID0E0kM3EJueOkiNBiqhNdghUB/mmOznBsRutgRuIRApvzynmvroBRERERERA3bDnujNYjIaqzWMDGlnsJo1e4cuswYLg1Usp328MH25tuWOBu6oCIxC5PWTm9hfRykxGguD1UaW7eAwMBkGJsNDrV5tyx0N3NWnDoBmj8m6Thurz22dw7pOkQiNC16nkTaIiIiIiAAG7MYNP4962gLiKNXgxFvAxv4ZjlSf9v1lXfOf/RHIb040tvwjPCbWNf/wkTwD5xURERERnWx8VpJOFAagk4fHhIiIiIhobxiwiYiIiIiIiGrAgE1ERERERERUAwZsIiIiIiIiohowYBMR0ZnmjmASPSIiIiLgnAdsbQx0UVvYOtdIJ2xxsFrUEc47eae1o5eaDMtpv1z/07wtR8GXqpxBvikOwEBnZ%2BI4hMqDJ5q9HGlrkBp9JvYX7a56nK1z5cz%2BvHYRERFRk851ma5BmuB//953MdHtYXZyGhempjEzPgmlFKxzEDj8DMq3%2Byu43V9BqDxOIlGbAAAgAElEQVR0gxhdP0IvjOFLtaWu8EkTSIVQ%2BcWXh5UswUqWIJAeQpV/BUX5rpO%2BLUfNkwqzcQfWOaRGI7EaA5NB28OV7/KERFQcj0B5jZbpOkqB8nCh1YVxNt9fRmNgNMwhy535UiEqz1WP5%2BcZVr0GGWsxMBkSq5EaDVP8TAlZXrtC5UEJyWsXERER1epcB2wg75TdXbqPu0v38fo7b0IKgcneeBm4p8YnoaSEtfZQtYATozHfX8F8fwUAECkf3SBCN4jRCyJ4JyBw52EkD9QPCm%2Bp1UitxkqW12KuBm6fgXsTKQQiz0cEHz3EsM4iMQaJ0UhMBr1LgPTKQOAjVAqy4VHe46aEROwFiL0AAGCcLfZVvr/MLiOPvlT5/pJn6wYEbRjWZR8N1ElxIyt5wI0Z4yzWdYp1nQKovr/yLzkSuIdtEREREe3VuQ/Yo6xzWLh/Dwv37%2BG1t29ASomp3gRmJ6fw6EOPoDPWrqWdgckw6Ge4UwTu2PPR9WOMhzHGw1YtbTyIFAKyMhoaKv9AYcQBeafWamAYuIuA0/ICSDBkV0khEXsSsecDiDeN2CZGwwEbI67FCNt5poREywvQGgZua8sQlZgMQoj8HGagPjesc4BzlfPg4E86aGehdYq1kcAdKR%2BR59e52kRERHROMGDvwlqL%2BXuLmL%2B3iH4ywKc%2B9olG2unrDH2d4V6yhv9i5nIjbVTNxN1GPiPsgLLTCwBtP6y9jbNkdMSWHkxJiZbcCNx0/gxMhvtpv5FlDwP3wGSY83q8OUhERET7dr6Hx4iIiIiIiIhqwoBNREREREREVAMGbCIiIiIiIqIaMGDvE%2Bun7t1R1ZvlMSEiIiIiopOAk5ztw3s3P8Q7H76Pqd44LkzNYHZyClPjE1CHnCxMQqATROgGEXpBXNPabuWXda09eEU5miYn8VnVCVZ0gnCbMl6HYTeVbtLQzsKXMt82ziZNdKbFxazyqTVITIbEaKTWHHq51QoIocpnEGeZLiIiItovBux90CbvxC3cv4fFpfv48Vs/hRQCU%2BOTuDA1jdnJaUz2xqHkgx8MEBDoBCG6fl4De8wPN9V1rUtZE7iobS2PuD71cGu2lPGSHkIv78juJXBb5/JOtNEY7FA7OrMWmU2wigRAdds9BJKBm%2BisGL6XA6kQSIVukF/XUqsxKK4Tew3cwxtyUeXmX/U6zHBNRERE%2B8WAfUDDTph1DvP3FrFw7y5exRuQUmKmErgnuj0oKdH2N0aox/xw27B72M6cV4TKYW1rWYxS19nGYZV1s9O8jJcAKjcBipF1IK8NbfNax5ndf43bzBpk1mA1ywN3MBK4j3s/ENHhVN/DQggEsnhvF4E7Ka8hGlkRuIPKUzzBSKA%2BKddIIiIiOt0YsGviivFaay1u313AnbsLcAD%2B1SdewvXnPwklmwu7ofIwGbWhTmCg3o0DMDD5yFOTUmuQWoOVLEHLCzAexCd%2B3xDR3o0G7uENtWHgHn7/tF0jiYiI6HRhwG7I8CHDJ%2BYulo%2BMN9WRC6QHCXYW9yo45GfmiejkG70WMlATERHRUeAs4k1jX46I6FgxVBMREdFRYcAmIiIiIiIiqgEDNhEREREREVENGLCJiIiIiIiIasCA3bR6S1sTERERERHRCcWA3RBZTKqzsHIfQF43e1gepi7DZWpny0l8bM1tnEXV/UVERERERFQXlumqiRSiDLdjYYRHLzyMSzNzaHc7uLW2VNRk9RF5HuQ29ar3ovo71jkkJkNiNO70V/DO0jy6QYxuGGM8aCHy/PJ3DhMmfanKerK%2BUNDOICnqVmfWHHi5VUpIRMpDoDwEUsE6h9TmbaRG1/IQgMBGXdxQeYfeL0RERERERKMYsA9ICFEG3jgI8ejsQ7g0M4dLM3PojbU3hTftLLROsaZTIAE8IRF6PkLlIVI7B%2B7q95xzRbDNQ/V24fZusoa7yRqAPBh3gxjdIMZ4ECPcY%2BD2pUSofIQyD7xy5LUK%2Bc%2B7yEfLU6ORWL3jOm1HCZG3oTyE0ivrhFcFykPbz9c3s3moT4xGavcWuAVQ3tQIlQdPSAZqIiIiojPOl%2Bq4V%2BFM4f7cPwbsAwj9oBKoL2Ci3d1XeNPOQmcJ1rIEwOZR4lD5kJVAnX9lSPc5WpxZg8XBKhYHqwCAoBK4e2ELocoPvSckIuUjKNofDdQPIoVA5PmIkIf3MnAXNwK0sxuvUx4CWYTdbQL1ToQQ%2Bci28tDB1sCdWJ2/Dnkoz9vx4EvFQE1ERER0jggIXGpPHPdqnDnGOcyvL5%2BLqaVafoC2Hx1qGQzY%2B/Cxy1fw4jPPY3ysU2t4y6xBZg1Wi8DtCVmG07qk1mBhsIqFInB/7uI1dIIQUtT3MfwycHs%2BeohhnYV1%2BYh1Xftru8CtneUINREREdE55%2BBwc30J2tbbjz7vrLMw52CeJ18qPDMxx4B9lKSUmGh3G2%2Bn7nC9HSlEreF6%2BzYkZMOZVwgBX/DRFSIiIiIC%2BjqrbZ4gooPgLOJERERERERENWDAJiIiIiIiIqoBAzYRERERERFRDfgZ7D3QgwSD%2Bfv4xxsf4Y1/9x9x5akn8dS1Z/DYE1fhefXswmHt58RoZMbAk7KcWbyuz0o757CuUyynffxvN/4T2n6EJ3qzuNqbxWQ0VksbAKCtzWt0Ww3rHEJZ1NHmzN5n2vbnsI9QqcY/709ERESnX7UEbN6XGFbaYV%2BCTg8G7G2YJEV/4T76d%2B6hf%2BcustV1AICQAs46vPHj1/B//Nu/ged5uPLUk3j6uWt46tqzePTxx6D2GLhdJYwMtqkhnVjkdbOxUUorVNvXpn5QG32dYjkbYCnpYznrww5rayMvZfDDhfcAAF0/wlPjc7jam8HV3izGw9ae2gAAY21ZC3tgsrKNcluMBrJqbWoPofThSc78fZodxTlMREREZ9fufQmNNV1U2ZFFX0KyL0EnGwM2AJNmGCzcR3/%2BHvq37yJdWQOQz1DtKmHR2fzftpj6X2uNGz95HTdefwPO/lv4QYCrTz%2BFZz52DU9dewaXHn8Msqj5nF9AzIHqWmtnsaoTrOph3exiZHDkAuOcQ99kWE77xdcAZocZyR3yUgZDy9kAP5h/F38//zMAwHjQwlPjF3C1N4urvRl0g3hjf1UCdWKyPU/b7wAMigsoMKgE7qI%2BNkttnWhHcQ4TERHR2XWovoS1WLUJVjHsSxSj20VfguikONdno0013v/3/wnpUl4bGkIA1UC9h%2BDonCt/J0tTvPHqj/HGqz%2BGcw5BGOIX/uvP4ZO//ItQUVjbemfWIqtcYOAcltMB1nVyqBJfthK476fr%2BPv5n%2BH7d94BAExHbXzu4jU83B6vrQ7e5sCdj6h3gwgtL2DgOkH6OsNqliC1urZljp7DkfLQC2J4kiXXiIiIzpq%2BTou%2BRH3lszJrkFlT9iXOQ51mOh3Od8DOso1wDWwK1wdVDeVpkuDhJ69AhsGhl/sgy9kAy1m/9uWOPup9YazX6MXLwSFWPhitT5bVbFDrH8TteFJB8bNVREREZ9JKlhxBbWoGbDoZ2KNtmhB87Hk/BLi/iIiIiIjoVGLAJiIiIiIiIqoBAzYRERERERFRDRiwiYiIiIiIiGrAgE3n0l5miCciIiIiItoPBuwGJ9QSUiJLUjjnGg10oph3u8mpwWxRA7zpYDrcV021U132aW7jKIkjmNfduWYntxs9JmfhuBAREZ0WnL6WzpNzXabLH2th7tPXsPr%2BLazdXICzdkst7P0QUsAVQTQYizFx9TJev/ke7GwXE%2B0uemFe53fYuT9soBAAAumhPdbDRNjCuk6wlPaRlHWlD16wQELAwkEAmIk7uNyZwp31ZczEnUOt824WBmuIlY9QeQiUBynEofZX9Xe1NVhO%2B1hNE1g4jPkhekGMQHm1teGcQ2o1EqNhnYMnJULlwy/qOzvnTt0s6RNhC32TITEZEqNrLYIxPIeVFNDWwpP13PMbPSaZNUiMhnEWSkiEyoMvVfnz4WuJiIiofpPhWON9CSnElhKzRMfhXAdsoSTmXnwOePE5WG2wfmsBKx/cxur7t7F2ewGw7oGBu9o59%2BMIE1cvYfLxi5h4/CLiyV7ZYV/UfSzez%2BtUx16AbhChG8boBS0oKffVwQ%2Blh1B5mwICAPSCuHxNajSW0z6W0wGW0vWyhvGDAvcwUAPAdNTG5c4ULrYn8PDYBEJ1dKeJcRarOsGqTgAAvlT59hbbvVsgqv7MWIultJ/vi2yAvk43v7goHR4qD90gRteP0Atb8He5CbI1UOfhLTEaqdXbbNUAEgKB2nzshss66cFOSYm2DNH2QzjnoJ0ttvdgfyR3OocPa7gvq4E6sRrpduuYFX%2BQK%2BdWNXCf9GNCRER0mhxFX0IcamiJqD7nOmBXSU%2BhffEC2hcvAC8BNtNYu7WA1Q9uY%2BW9W1i/c3dT0PaiEBNXLpaBujU9sadOeV%2Bn6OsUt9eXAQAtL0A3jPOAF8RQIyN4gVQIhyO6ewwjgfIwHXcwXYw2J2Xg7mMp7SMrAvfQZDiGy50pXGpP4JH2BELl79rGUcmsQWYNVpEH7kAqBMpDpDwE0tsUiIyzWEn7WEoHWE77WB8N1DtIjMZ8fwXz/RUAQKT8/CZIEKMXbDx1sCW8FYF6L5dyC4eByTAwGYD8hsZwlD5SHrwicJ90Qgj4QsGXqvwjmVmDxGokevv9cZBzeC%2BqQTg/JllxXAzcHo6KA8rjmAdugVAVN3SUD09IBm4iIqKaHbQvESkfQc19CaImMGDvQPoeOpfm0Lk0h4c%2B8wmYNEO6sAQMMoxfnsPYzBSEPPybe12nWNcpbq0tAcjD7ifnHocvZRkgDytUHmbiDmbiDpxzSIzGeNhC2w/xSHsCsRccuo2jklqD1BqsZnnghgNSm2EtS7FWjHof1sBkGPQz3CkCd6x8XGpPwsBtPxp6ABYOfZOhbzIsAZBCYCocq3VE9ygIkY/MB8pDx0f5RzK1Br5Ujf4RXE4H0M4iNbp8%2BuIwHBwGRmNgNIABBAQmghiRd3JuOBEREZ01x9mXIGoCA/YeqcDH%2BOOPoN1uN9pOX6do%2B2FjyxdCIPJ8PD0xd6qC9U4GJsPCYKXRNvomw5pOG724W%2BdgnIWP0zGSvZPqH8mm9U0G42xjy3fIH2EjIiKio3OUfQmiJnAWcSIiIiIiIqIaMGATERERERER1YABm4iIiIiIiKgG/HDDHqXLq1i88TrM8hqmn72Cyaceg/Lr3X1KSDw8No62H0JbW5QtqL/cQMsLoESz91ZU8fkZCYG0mAm8bgL5tjzU6mFNp1hNB7VMdjXaxpifl5WwxQRxdbcBAJ6QjR%2BTs6blBTDOIjEZTAN1L5UQtdXlJiIiIqLzgQF7B%2BnqOu795B3cfe1tLL76JtY%2Bms9/UNTFlr6H2eeewIUXnsWFTzyNyScvQ6r9TVClhMCFVg%2BXOpO41J7EhbEulJA7lIQ6WJ1AYKP2dq8oBTYsO1Vn%2BSEpRKUmoV8Gk2Ebw3A63I6DTB61W91i5xxWs6Ssfb2aJQe6QTHmhWWZrm4QQVaOCYDNZboOGLiVkGX9xlB6m%2Bqh0950iskAhWgVN6Sysva1PcC%2BfNA5TERERES0FwzYhWx9gHuvF4H6n97E6ge3AQBCSThTCYNFZ9tmGrf/8Q3c/tEbcNZBhQFmn38Scy88gwufeBrjVy5Bqs2jXxICs60uLnYmcKk9iYfHxqGkhHUOAigDXPW/QREkO0FUBu5BESR2KhkVKb8M071wI1CPLvswdqrjPBrah/%2BWQiAqXpsHbluG1J0CtwAQlIFnc6DebluEEGgXo80X2xOwzmE1G5SBey1Ltt1fLS8ow3TXjzeF3e32ly8VPCHL2d73UoNZCZHXgi62Z7c2aHfV/eVJCSUCjBXHRFduguz01MHwHB5%2B7XYOExERERHt5lwHbJtpvPG//i0WX30TK%2B/dApzbEqg3hesRzjkM%2B%2B0mSXHrB6/h5j%2B8BjgHLw5x4eNP49o/fwnXP//f4PHZh/FIexyeVFsCtdylA18NYL5U8KVCN8iDZmo1UmMQewHafohe0IKv6g/UABAVI3vDsDvcB3sNI9WfSSERKR%2BR8iGEKB711dDWQKAoz7BLoN69DYGOH6HjRxDtSVhnsZImWM0GcHBoeWExor//sLt94I42PXXg4IqRav9AbdD%2BbA7cCkrIMnAPj4l1FrJ4euAg5zARERER0YOc64A9uL%2BCd3/0KpzdW6DejbMbo2S6n%2BCj/%2B9VvPy//DZ%2B/srHIITYc6B%2BkNEgEEgPk2EbE9HYpqBQd0jwhMRU1K41jFR/VwmJWPmA8rf8vK42pJDFo99RrW2MLmd4E6T6%2BHodbdD%2BbHcTZPSYjL6OiIiIiOgwznXAhnObwnXti7cWQRhCNjhRkhACcpvQ0GR7TS676e0YLrvJdhjeTibe6CAiIiKipnGKXDpRjir8MGQREREREVHdzvcINhERERERnRnDOVaI9quuc4cBm4iIiIiITj0BgUvtieNejXPDlwqBOltxsuUHh17G2dojRERERER0Ljk43Fxfgm5wjiXKeVLiyd4FzLQ6x70qJ86xB%2Bx3330X3/jGN/CjH/0IN27cwJUrV/Cd73xny%2BteeeUV/PEf/zHeeustzM3N4dd//dfxxS9%2B8RjWeH%2Bss3DWQjQ40dl2tZ0ba%2BuIJlNr0mi5rNPuLBwTItrd8L3O9zwR0c76OkNmzXGvxpnnSwV3pCnk9Dj2Sc5u3LiBV155BY8%2B%2BiiuXr267Wt%2B%2BMMf4qtf/SquXbuGv/zLv8Sv/uqv4vd%2B7/fw7W9/%2B1BtB50WJp5%2BFELlu6GOECyVKjs%2BnYlxfP///Tss3LsL6/I7ac65MuDVpa9TrOkEunIxqbsN7SyW0wEya8plN7EtTaiup3UOidFIrIaxzR2TplTXc1jb%2BTQeEyLam%2Bp7e6f3PBEREZ0cxz6C/cu//Mv43Oc%2BBwB4%2BeWX8eqrr255zZ/%2B6Z/i2rVr%2BP3f/30AwEsvvYSbN2/iT/7kT/CFL3zhwGWwvDjCiy//Gkya4f6N93D3tbex%2BOqbWH77w3zUWcld62JLJeFsHmrGel18/J%2B9iOde%2BiSee%2BmTePjKoxBCIAHw0doSfKkQKq/48svyWsDhRlONs7ifrAPI60kPlx8pH0rK2kZsV7IBVjJAAAiK7YikD09uX1/4uFS3dxio0yJUj97R9ITc2BblQYr69lcdqvtUW4PBcFuMhh25axhIrzy/gkodbuBkbAsR7a46Sq2txcBm5Xu%2B%2Bo4XQP5eP6HXYSIiovPq2AP2buE4TVP83d/9HX77t3970/c///nP46//%2Bq/x2muv4bnnnjvUOqjAx9THrmLqY1fx5P/wL6AHKe7feBd3X3sbd199E0vvfAQ4l490O%2BT1s51Dqz2G5/7Zp/D8S5/Ccy99EhefvPLAjk1mDTJrsJolAFAJ3D5C5dUSuI2zWNcp1nWab1sDgdsB%2BSiw0VjGAAICoVLldgxn4DuKcFcdvRkG6mGYHo70PIh2Frqyv7xyf3nFMZFb2mjK6P7SxWjVcMTd7jJSlVqN1OrNN0GK0O0zcBOdOKPvx6z6njf6gY/eOQADozHYdB3euHYd5XWYiIiINhx7wN7Ne%2B%2B9hyzLcOXKlU3ff%2BKJJwAAb7311qED9igvCjD9/JOYfv5J4H/8r6D7Ce698TPgZ/MIV1M8/XMfx3MvfRKXn37iwKPnwNbAHUiFyPPRDeKatmT7wB0pH70whkA9HS4HV3b0AEBCIFAeOn7YeKkE4ywya5BWHp08jGHgXhsJ3L0gbryDmhgN4ywSm49Sm0M8%2Blm9CYJK4G57ISLPr22diejgBiaDqTxlM/pUyn7k1%2BEMA5MBONrrMBEREW048QF7aWkJANDtdjd9f/j/w59v5/r16zv%2B7ObNmxCdvQVZLw4x88LTePpf/DJ%2B8crH9vQ7B5FaA5PZWgP2KOMs1nSCdhBBNpQXbdHRC6Q6koB9t3g8vgnDwN1r8JgMrem07BzXbRi4h080cDSL6PgtpQMY18xMt%2BV1WDV/HSYiOiq79e1n5y4c4doQbe/YJznbq50CAYMCERERERERnQQnfgS71%2BsB2DpSvby8DGDryHbV9773vR1/dv36ddxavV/DGhIRERERUdN269s39VQQ0X6c%2BBHsy5cvw/d9vP3225u%2B/%2BabbwLAjqW9iIiIiIiIiI7SiQ/YQRDgpZdewt/%2B7d9u%2Bv53vvMdzMzM4Nq1a0e2LtY53E/Wd53N%2BTAERD7jc2Mt5HypIBt%2BvP4oHt5v8lhUZdY0fldUCgElmn1LCvBjFfthrN1Uc5ioTkrIM3EdJiIiog3H/oh4v9/HK6%2B8AgD48MMPsbq6iu9%2B97sAgBdffBGTk5P42te%2Bhl/7tV/D7/7u7%2BLzn/88fvCDH%2BDb3/42vv71rx9qFu/dCCHgeR5830fgB7hrE/yH938CJQSm4g5m4w5m4g7Gw9aBQ4sA0PYjdIMYvTBG24/Kcl2ZNRiYrJhhNjvE/LJApPLZybtBhF4QwysmvdlvKagHkSNlYrwGJtaxziG1G2VsDjtr%2BF7ND1YBbF/Gqy4TYQtAHuqSyjYeJtjvVEKNtrd532flTO7DmsPD/egJyRsVdGgzcRtAzddhIcryfE1dh4mIiGhnwh3z0MwHH3yw44yA3/zmN/HpT38aAPDKK6/gj/7oj/DWW29hbm4OX/rSl/DFL37xwO0OP4N96bf%2B%2B/J71UDt%2Bz6UymsHwzlgpDMtgDLwKiExE3cw08oD924lndp%2BmAfqIEYniDbVWq7%2BXvV7zrmiFFVWfOkHbl%2BkfHSCqGzHl2rHeqjOuU21lwdFR2%2B3sjHDMjCh8hBVOnLV5R2WqwTqwREG6r3yirJnQRm469tuID9WxloMjEZqsyJw73xMyvrXykMkfXhSlucPA%2BFWxtm8bnpxfu31Zsaw5nCkPAQM3FSDk3wdJiI6DYafwf7X/%2BbPTlx/8SzypcLzU49gtrXzfFjn1bGPYF%2B8eBFvvPHGrq/77Gc/i89%2B9rO1tz8M09VAvaVjsk0npdrdMc7i9voSbq3nE7F5QhZhu4uZuIOHxnroBS30wgidIIbaJlBv1xGqfk8IgUAqBFKhG8Sbg6fOIATQ9fMR6m4QI1DentoY/b4nFcaERNsPAeSPRpejxUbDr4ze%2Bjt05A7Tqdu4kZCPIKYn/AKpncWqTgCd1zL3pcxHOWUevA4auKv7UEmJlvAxJoK8TWvLmyyp1fCkKkesfLlxDleXw452zjq7MVJoNPQBnw7YruZw009v0Nm21%2BtwagwCpRq9DhMREdHBHXvAPk5SSXS73Vo6JtXArZ3FrbUl3Fxbwv/01Kfx8elLtQSerYHbQyA9XGh1MRmO1Raqqr/nSwWv6OgN91OTHbn5wQoye3pngMysRWYTpFJjWrVrW%2B7mzreEEgHGis43AAbqPdDW4nZ/uZFlWzj0TYa%2ByTAT1Xfc6fw6zuswERERHdy5DtjD6V%2Ba6JgMA/d48bnaJtoYLnM4It5UB2s0tDXZkTP2bEwmJRt%2BZHh02exc784eUekO1eC8EHR%2BHeV1mIiIiA6OPUEiIiIiIiKiGjBgExEREREREdWAAZuIiIiIiIioBgzYRERERERERDVgwCYiIiIiIiKqwfkO2M6V5Y2G/61DdW7XG/dvQxe1nF2lvcOqLivRG/V862zjqFTXOVRnY2L7zBroU1xu7CzypCxrBjdpoLNT9x4kIiIionqcjTRzQNZa3L17F77vw/M8BEEApdS2NUYfRGCjLFcgPVzqTOBiexIXOxOYDMdwa30JvlQIlY9QeQiVD1m0Aeyt3Er1tc45pEZjYDIkRiO1Gu%2Bs5G13gwjdIEYviBEob19tHJXqOhlrkRiNxGokRsM0UEpJIN83oechlF4ZsrQr2i6%2BHA4XivJj7CFUeX1yeYL2OeWl02bjDqyzSIwpjntW3pw6%2BHJFftxlfuy9IwjxRERERHQyneuAPZRlGbIsQ7/fBwD4vl9%2BbRe4h7HJIQ9VF9sTuNSZxMX2BKai9rZhNrMGmTVYzfL/96VCVAncYiRwbwnUVpeBIDF62%2B1IrcbCYBULg1UA%2BWhwN4jR9SP0whZ8qY4lcG8K1COhtolADaAMO6HKA/V22%2BsLBV8qtP0QzrlK4M6KwP1gnpT5MZQeAsVAfVpIIRF7ErHnA4hhnEVaOSd3C9wSojy3QuVBNVzznIiIiIhODwbsbQwDN5CHQs/z4Ps%2Buq0xCCHw0Nh4Gain486BgtUwcK8UgTsoA6GPQHnQ1hQj1BnSPYS97SRGY76/gvn%2BCgAgUn45wj0ZjpXb1xTjLESxHnsNL/s1XPvqEwLBDoH6gcsRYkvgzqxBajUGRiM1GkrIylMIClKc709YnBVKSMRegNgLAKC8CZQ/JaJhndsUqD0GaiIiIiLaAQP2LpxzZeB%2BdnwO/92zn2qkndTmj3qvZINGlg8AA5Nh0M9wp7%2BCj09dLANFU1azBKtZ0mgbvvQwE7drX64QAoHKR6bbfu2LpxNMCYmWF6DV8PuDiIiIiM4eDsERERERERER1YABm4iIiIiIiKgGDNhERERERERENWDAJiIiIiIiIqoBJznbhx/feR%2Bv3n4fl8en8PjEBTw%2BMYu5zvipmU26Oot4pPx91fo%2BiLYfou2H%2ByqBtF%2BZ1fho7f6hZxE/y6xzlVmxMxhnt9QF5/4iIiKis8CX6rhX4Vzgft4ZA/Y%2BDHReU%2BvNxdt4c/EWHIBAeXh8YrYM3LPt3omph3zcdbBVceMhUj6iotZ33XWwh%2BXLUmuQVsqe7aUO9lllnctvati8pndmt%2B7jxGokaV5PXQBliTiWoSIiIqLTSkDgUnviuFfjzPKlQqA24mPLZ8WV7TBgH4CrVKVOjcZPFz7CGwsfAQAiz98UuGfGukcWVgLplSPUvSBGoLwtgfo4glO1TSUkYuUjHgZua4sgWE/gHkpsHjCR5QHyLI/YWueQVvZhZs2%2Bft8BGBQ1nwEGbsz4Z%2BUAACAASURBVCIiIjqdHBxuri9BbzO4QIfjSYknexcw0%2Boc96qceAzYNXCVfw90htfnP8JP5j8EAHz28Y/hs49dg5LNPUbe8SNc7c0gLB77Bo43UO9mU%2BCWErHYCNx3B2vom6zW9hw2j9i2lI9e2DoxTxoclHMOi4O1/EZCncvF5sDd8UN0/OhEnktEREREVX2d7XuwgXbnS7VpkJF2xoDdgOrJd3XyQqPhGsg/6xzI/FCexhBUXefE1BsWtxMoD6dvL201vHHQtLC4%2BUFERERERA92OmbnIiIiIiIiIjrhGLCJiIiIiIiIasCATURERERERFQDBmwiIiIiIiKiGjBgExEREREREdWAAbthy4N1AHlJpWEJrboMl5lZAyEEnHOwNbdxVIbbomTzs1Ub587ErNgCgDiC%2BdCHtcmbOIeJiIiIiM6Sc12mSyqFTqeDLMugswza1FMzTwqJdhSjHcf4p3sf4na2htm4i9m4g%2Bm4A09KWOfygLSPoFetce2cQ2o1Blpjvr%2BKn96/jZm4g5m4gwtxF5GX18R2wIms91zdFmNtXqfaaBjbXIALpYdQ5V/uDIRsIQTmWl2kRpf7r4m6j/eSdaxmSb7vpIdAeZDFOThcDyIiIiIiOucBGwCCIEAQBAAAay201siyDFmWwewxcEshMBbFaEcttKMYURBsCh1LaR9LaR83lm5DABgPW2UQnoraUDsFbpfX1N4I1AaJyZAYvaVedGqBd1cW8e7KIoC8NvZMlAfu2Va3DJXHFbirYcw6i0GxDanR0MUIad0C6SFSeSAMpDqTQVAKgcjzEcEHAFjnysA9MBm0rWffZtYgswarSAAAvlTlzYpQeuU5CjBwExEREdH5de4DdpWUck%2BBWwiBsTAfoW5HMeIg3HOocMhHBO8l6/jp/dsQEJiM8sA9G3cxFY1BClk%2B%2Bp0H0Qyp0djP2O5qlmA1S/DOygIAoONH5Qj3bNxBoI7u0FvnNt0YaC5QK4TKR3iGA/VuqoG7hxjWWSTGFPs%2Bq23fl4E7ywN3UAncQSVwn8djQERERETnFwP2A4wG7lB5GFPBlhHqw3BwWBysYXGwhtfv3UKkPHxy9nFoa/YVqHezkg2wkg3w9vI8AOBfXXoOY0FYYwtbLad99HV9oW47vlAYD2P45zRQ70YKidiTiD0fQIyVdIDlbFB7O6k1SK3BSpZACYG5Vo/Hg4iIiIjOHQbsfVBSIg6bDaW2GLlumq01vm/PAY2GayB/muAoR%2BNPu5P4eXwiIiIiorOCs4gTERERERER1YABm4iIiIiIiKgGDNhERERERERENeCHV/chNRp3%2B6t52Sfl1TqxlgAwEY5hrtXFZDQGbc225bgOyxMSofLw4do9hAMf3SBCN8gnCatbpHz4UjVWjiuQHlpeUOsyj4OxNj/WNj/Ww1rTnqz//pcvFSbCFlJjkNr662b7UiFWfq3LJKL9M87mJfuMhnUun%2BFfefCE5ASEREREDWLA3gdtLbS16OsMACAg8tJEnodQ%2BfDk/jou42ELs3EHM1EH03EHXqUeNpSPbjCsf60x0EXdaLu/wK2KQB0qD5HyoWReAmwp7QPo405/GUAehntBjG4QoxtE8GoI3IFUAPLAJYTIg6TV5Y0Ds8/AvVMpqNNWf3nzfshg3OYJ59aRAgCUEGXZsVB6UDUEbl8q%2BJVjctgSamU97OKmgDylx4TotMtL8ukd38t9k//dksO/W8WXYuAmIiKqFQP2ITg4DEyGgckA9PPAXYTtsBiBrHZcekG8qRa1J9WWIDI6y7MQAoH0EAQbgXKjE5UhHRmBrIayaqCutrFdZ2pgMiT9DLeLwB0rH72whW4QoePHBxpNHW1HSYlY%2BJsC98BopDYrAvfmoBlIhWDYEawE6t225aSpjiQN9nFjwTiHdZ1iXQ8Dt0RUjEINO8b7Nbq/pBCIlI%2BoDNzFMdmhk%2B5LhUBudM7lKT0mRKedLf4WpEZjsI8a9xYOfZNtBG4h8uuK3Pi7RURERAfHgF0jB4eBzjDQGx2XK90ZPD99EXOtLnzlHSiMVF8jxMbogxBxPsJtNBwAT8py5Nk5t%2B/AU423fZOhv76EW%2BtLAICWF%2BByZwpdPzpUgKr%2BrpISLeGjhTzc5U8IGAgh4Et1qsObdRbLaYJkHx3f3RhnsaZTrBWB2xMS3SAqw/FBVX9XColYbb4Jkrn8Jk4gGaiJjpNzDivZAAOTIbP1XFesc1jXGdaR/91SQqDjR4i9gGX9iIiIDoABu0HWOXxi5hIeHhuvNYyMBu5hHejR79fJwaEXxGW4qkt1PT0poUb202kNb4nRWNNJo21oZxF7QaPHREkJ6c7GMSE67TJrsJI1e10xziHyfPBdTkREdDAM2A0TEI0HkqMJPEcTrhje9m64p3hMiKhufN8TEREdDD9sRURERERERFQDBmwiIiIiIiKiGjBgExEREREREdWAAZuIiIiIiIioBuc%2BYDc5jYtAPtNz3bM8HwdblISxNZWcOvuanyDIIS/bcxbOLyLa3ZFNPObA6woREdEBnetZxGPl48nxC7i9voyltA8gn/Xb4WAdi2HXxwHwpcLF9gRW0z4y2y1LadWt7Yfo%2BBEEBBKTYSnt11J3uVpHe6Az3EqXsZis4f9n786j5Crr/I9/nrvU0l29pDsL6WwkhCVhd%2BBINAkkGczgAkf2EaNGJwQQFYE5jtGcQRlRjyibEHEUAVl0goCOAiKgIAMKDopOfiQkoGEx%2B9J7LXf5/VHVlepOJ%2BnqvpXuSt6vc/rQ1O2691u3Ol33c597n29zIqUpqSaNStRKygduyxz052l2k7AdjYrXKON7yvg5%2BREfrFrGKGG7yvie4hX63QIwsjjGUlO8Vhk/p4zvRfK3vpQlo7jtKOt7SjhupOsGAOBgcVAfmVuW0TGjJ%2BoYSTnf19Z0u7Z0t2tzV5vasmlJ%2Bw7cRvlA7RhLE1KjNKmuSRNTozQ6WSerAqMNtU5cDfGk6t2EUrGE7D7hNgxDpf2c2rJptWW71Zrtlj%2BAg7C%2Bgbo1251fR65bXrD785O2qwmpUZpYO0qT65rUGK%2BRRODuYYxRjRNTjROTJHlBoIzvKRvklPY9BWUGbsvkD3zjlqO47cqx2MfAwcYYo6TjKlkIv35Y%2BLvie0r73oD%2B1vdaXyFQ93w5xqI9FwAAQ3RQB%2BxSrm1rfG2jxtc2SpKyvqet3R3FwN2eS/f6edtYaqltLAbqsTV1FQmWNU5MDbGk6mNJ1bkJ2fsIVvkDsJiSTkzjauoVhqG6/Zzast3FL7/ksmJjjDK%2BVwjU%2BVCdC/x91tXt57SudbPWtW4u1jmxGLibVR9LSOod3A9mjmXJsWKqVUxhGBYPjHu%2Bgj4ncaw%2BB742B74A%2BrCN1etEnh8EygTeHq%2BcMVLhb4pLoAYAoEII2HsQsx21pBrVksoH7oyfU3smrUChxtc2aGxN/W6jx1FwjKXxtY1KOq7q3OSQRypLR1IPqWlQGIbq8rJ68q1X1JHLqC3brewAAvW%2BdHlZvbpzk17duUlS/tL1eROO0pS65v1wN3J1McbIMbYcy1atG1cYhvLCQFnfk5T/3ePAF0C5bMtSjdX7ypls4QRezLLlWjZ/VwAc8FzLHu4SDkjs14EjYA9Q3HbVVF9bvPe4Uixj1FIYRa8EY4xq3bh2Zru1M9NVse105DLanu7U5FSTxAHdXhlj5BqbP1wAItVz5QwAHCyMjCalRg13GRXlWnbF5nbalxqXz5SBIGADAAAAqHqhQm3oau13/qADgWNZOrxhnMbU1A13KdgLAjYAAACAA0K3lxvQfELVyLXsQXc7wv7DVMQAAAAAAESAgD1AQRiqM5fRpq42deWyxVm4K7Gdnr7cQcQ9TqX8rN5e4Gt8TYNaahsVq9B9v3HbUWMsye3XAAAAAA4aXCK%2BB0EYKhvsaqPU91IT21iqjyVUH0uqPpZQ0nYjmZ3VCwP9rX2rpHxLlZSbKLbpqnXjg%2Bqtne/BnCu2bwnCUDNGjS/W25bt1qauNm3pbtfWdMegLquJWbYm1I7SxNQoTUo1qTlRK2NMxU5EAAAAAMBIQ8AuCPsE6n21rvLDQDsyXdpRmInb6RW4k0rYzpADdyipPZfO9%2BDu3CEjozo3rvp4UvXungP3vnqhSupVW30sqZSb0OGN4xSGoVqz3drcXQjc3R3y%2BhlJdy1bLbWNhb7XTRqdSMkYoyAMevUDpyUMAAAAgIPFQR2ww1Bqy6aV8XND7gXthYG2Z7q0vSRwN8SSaozXaFS8RvYQ%2B1lL%2BZkR23JpteXSknbIklFdLKG6WFK1TkyhtMdAvS89Qd0YUxwxP6LxEIVhqJ2ZLm3ublegUA2xpCanmjQmWSerEKiNTDFIWxXoDQ4AAAAA1eCgDthBGORHhysgH7g7NTqZGtRl3QMRKD/a7Ed8r7YxRqbk%2B8Z4jZoTKY2vbVAQhjISgRoAAAAA%2BiAdVVCo/L3alb5M2qiy9zobY4onCSxjuOwbAAAAAPpBwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMCusFCq6ARkAAAAAICR4aAO2EEYKud7xQAcdRC2jFFbBdpo9eUFvrxKbyMM1JFLK1fSL5wTB72V/h7lfF9Z35MfBMXH2F8AAADAge3g7oOtUJu622RkFLcdxW1XCduVa9uS8qGonJZUlozqYgnVxxKqjyVV68Qq0tLKtWwlbFdx21XMdirWZ7uv1mxaUlpWcX/lvxxrcPur2pW%2B3lzgK%2BN7yvg5ZXxfoXaFadtY%2BX1l5feXbVnFsH0w7S8AAADgQHdQB%2BweoUKl/ZzSfk6tygflmO3kQ6zjyt1DgDSS6tyE6uNJ1bsJ1brxioRd17IVt93iSYD9Faj3JFCobj%2Bnbj8nKT9S3xMe47YrpyRASgdGiOwbiL3AV9r3lPE9ZX1PgfY8Ou2Hgbq8rLqUlVQSuAtftjnw9hcAAABwMCJg9yMoCdzKFgKk7Wp0IqX6WFJ1bjw/Ql2BQG0kxWynV6i2zMi%2Bkj8ISwN3t2yTH%2BFOOQk51siufaAyvic/DPKj1IGnYAiXexcDt5cP3E4hcKfcuOwR/l4DAAAA2DMC9gAEYahuLyvbWDpq1CEV3ZZljMYk6yu6jUrzw1BdXk6OsZWy4sNdTiS2ZTortm4vDOR52fxotk3ABgAAAKoVR/MAAAAAAESAgA0AAAAAQAQI2AAAAAAARICAXYYwDJX2cgdEP2PbGBlV/2zVYRgqF/gVf09sYx0AewsAAABAJTHJ2T70tJ6K2458BXp521uyjaWGQq/r%2BlhCCdsdUmul/IzhPdtxI6x%2BF9vkW4/FrXz7sZ5ezF4QKBPkCj2cvb00m9q3nhnQ47ajhJVv1xV1y6kwDJUNfGV9T2nfUzbwdm3bchR38q/RtexIt31ITX0xzPfsq2wwtP3V0w4ubjtKlPQTBwAAAFCdCNh9xAr9nBOOq5jlyBizW/9rPwy0PdOl7ZkuSfk2S/WxZDF0x21nr%2BHOKQnUiUIbrr59loeqv97UUu9e3sYYubYtx7KUchO9A2SQ7%2B%2B8twBZDNSF7fSE2ihfy0BDbSgpE3jKZHcF7tKTI44Zetg3xsi1bLmWrbpYohj287XllA38vT9fplf/6z31VwcAAABQnQ76gB0rCaE9wbhv4NlX%2BPHCQDsyndpeaOXkWrYaCqPb9bGEap14cf1xx5XdT6AeasCyCuEt1mc0dCCvpVfg7gmQJtFvuI1Zu7axp0A9lNdS3GbgKeMNfpQ4lJQujHJL0QXuvvsyZtmKWbbqi4HbK%2B6vXODvCtQlI/rl/n4BAAAAqA4HdcC2jaWxhUt/hxp4SkNgLvC1Nd2hrekO/cOYKTqktjHyQF0qabtqStTm6xjia%2Bn73L4jtlEH6r62pDuU28dI8GCUBu6UG1dDLBnJencP3I5ilqP6mOm1vwjUAAAAwIHvoA7YPTGnkoEn5cYrvo2e%2B6mNMZFvp79gWMnX4gdBxdbdwzFWxS7L3t/7CwAAAMDIwSziAAAAAABEgIANAAAAAEAECNgAAAAAAESg7Huwn3jiCS1YsID7SgEAAACMKD1tUA9EB/JrO5CUHbAvv/xytbS06MILL9R5552nUaNGVaIuAAAAABgwI6NJqerLJq5lK2YPLJbVuLEKV4OhKjtg/%2BAHP9C9996rm266Sbfeeqve%2B9736kMf%2BpCOPfbYStRXUb1mfJYG1W95X7Z0d6gpkZLVT3uroShdV9b3FDih7Ii3MRzitqNuP1fRbWQDX0kV3vMq318AAADICxVqQ1ervP3QlSYqjmXp8IZxGlNTN9ylICJlB%2BxZs2Zp1qxZ2rhxo%2B677z498MADevjhh3XMMcfowx/%2BsM444wzFYtVxZiVmOfqHMZPVlk2rLZtWa7Zb6UK4G2zgNjKqi%2BX7LNfHEqp1Yvp75w7FLEdx21HCcRWznH77Se9LaV/lXOAr4%2BeU8T1l/Jxe1xYlbVf1sWTxyym07ypnG8OtKVGrIAyV9T1lgvxry0X8R7LLy6rLy8q1bMVtR/HCezOY9wQAAAAjR7eXUy7wh7uMAXMtW2FFhvkwXEzYkygGKZvN6pFHHtFdd92l1atXa9SoUTr//PO1aNEiNTc3R1Vn5BYsWKCM7%2BmbP/5Br8dzgV8I3N1qzXYr43uS9hy4jaSUm1BDLKH6WFK1blzWAMJZ3HYUt13FbVcxy%2B433JX2as75ntKFMJ3xvQH9Q6xxYoWwnVC9myz2yy7dRjUIwlAZ31PW95T2c/LCypyVjBUuz%2BkJ3QRuAACA6rBgwQL5YaDld91WdQH72OYJGltTP9ylICJlj2D3tWnTJq1Zs0Zvv/22LMvS1KlTdccdd%2Bjuu%2B/WDTfcoFNPPTWKOvcb17LVnKhVc6JWkpT1vXzgzqXVmulWLvBU6%2B4aoU65cVmm/MnY8yPPnqRuGUkx282PcNuuXMuWFwbKeDml/Vz%2BEvBBnNnqGand2NUqSaotBu6kGmJJSdURHC1jlHRcJR1XDUoqCIPi/kv7OflDO0dUlA18ZQNfHbmMpHzgjhcCd8zK/1Ophv0FAAAAYHgMOmA//fTTuvfee/Xss8%2Bqrq5O559/vi666CKNHz9eW7Zs0bJly3TddddVXcDuK2Y7Gp1MaXQyJan3qHJUQqkwMp1Tm7ojXXepTi%2BrTi%2BrDV2tOq55opJOdVzK35dlLCWdmJJOTBk/p63pzopspydwt%2BcyaqlpIFwDAAAA2KuyA/Ydd9yh%2B%2B%2B/X2%2B99ZamT5%2Bua665RmeeeaYSiUTxZ8aMGaMlS5boox/9aKTFjgSELAAAAABAf8oO2Ndff71OPfVUffnLX9asWbP2%2BHNTpkzR0qVLh1QcAAAAAADVouyA/ctf/lKTJk3a58%2BNGzdOV1xxxaCK6s8TTzyh22%2B/Xa%2B99poSiYTe8Y536Morr9S0adMi2wYAAAAAAINV9uxc//7v/67XX3%2B932V/%2B9vf9PGPf3zIRfX13HPP6fLLL9fUqVN1yy23aPny5frrX/%2BqxYsXq6OjI/LtAQAAAABQrrJHsJ977rk9htqOjg49//zzQy6qr1/84hdqaWnR17/%2B9eI90BMmTNB5552n//3f/63oRGo9bbh62l0lbFdtuXwbr7aSNl5D5Vi2EoXWXTHLKelznVM2olYDljGK264StqOdmW61ZdNKOK7ilqOY7QyovdhI41q2DknWK1vSF7wSbbw2drfJNlbhPXKKvcwBAEC0gjBU1veUCfLdQsIwLLQ2zbfRtK3yu7cAwP4y5DZdpbZu3dprsrOoeJ6n2traXoGmrq4u8u1I%2BUBd68bzrazcpFKxhKw%2B/ZCbrVo1x/P15Nt4dRd7Z2eCgQVux1j5DwsnH3gt07tHdT4MOzKmptAHOldoTZUbcG%2B/nkDd0/7LsWxJ%2BZnQA4UKwlAduYw6lG9L5fa0paqiwG1kZFlGCWOUsPOht7SNV1SBOwhDBaGvXGFWcamnjZdbCNw2gRsAgEEoDdQZ3%2Bv3OKen9agk2SXHN3HbkT2IdqkAUCkDCthPPfWUfv3rXxf///bbb1dTU1Ovn0mn0/rd736no446KtoKJZ177rn62Mc%2Bph/%2B8Ic666yz1NbWpq9//es67LDD9jrR2kDVOnHVxxJqiCVVF0vsFnZL/9v3%2B5jtqDmRUnMiVQzcrYXR7bZsd3H0OT/6WfgwcFzZZWzDMkYJ21XCdvsE7lyvDyJLpvBhkw/ubkmg3tO6S%2BWCfIAsDdwjfcS2v31nFfZ1fn8Z%2BSWBOxvhCPeuNl75/49ZTnF/uQRuAAD6FYahsoUwnd5DoN4bPwz7BO6SK8wI3ACGmQl7Ut5erFixQitWrJAk5XI5Oc7uYSsWi%2BmII47QF7/4Rc2cOTPyQn/961/rqquuUmdnvufx9OnT9f3vf1%2BHHHLIHp%2BzYMGCPS7bsGGDxh1yiJ548ol%2Bw%2B5QlAbanZkutecyu42CR7GNnnUFYaAwVPGSqUr06jaSRidSVRscS/dXZy6j1my39vmLPwSOsdSUqJVjrKrcXwAARC0IA21Ldyk7wKv9BqsxllSNE%2BPz9wC0r2P7sYeM0/K7biv7pM1wci1bxzZP0Nia%2BuEuBREZ0Aj2pZdeqksvvVSSdNRRR%2Bnee%2B/VcccdV9HCSr300kv613/9V51zzjmaP3%2B%2BOjo69J3vfEdLlizR/fffr1QqNaj1WsYUz3JG%2BUe4dF3ZwC9eal2pbVjGUlgSFyvxgWIbSzE70jsK9qu%2B70klw7WUv6e%2B5woCAAAgeUFQ8XAtSUnHJVwDGDZlJ6ZVq1bJtvdvcPiP//gPnXLKKfrCF75QfOwf/uEfNHfuXK1cuVKLFy/u93lPPvnkHte5tzNgUdpff975IAEAAMCBbF/H9n4FJroFylX2TSr7O1xL0muvvbbbvd1NTU0aO3as3njjjf1eDwAAAAAAfQ1oBHvhwoW66aabdNRRR%2Bk973nPPkdLf/nLX0ZSXI%2BWlhatWrWq12NbtmzR5s2bNWHChEi3BQAAAADAYAwoYB933HGqra0tfr%2B/L0e%2B6KKLdO211%2BrLX/6yFixYoLa2Nt1%2B%2B%2B2qqanRmWeeuV9rAQAAAACgPwMK2N/4xjeK319//fUVK2ZPLrroIrmuq/vuu08PPfSQampqdOyxx%2BrrX/%2B6xo4du9/rKUelJ9MCAAAAAIwMVTEttDFGF1xwgS644IJI19sTfoMwkBVxz8QwDBUqlG2McoVtGJmqnYwsVFiR9l/DwdoPryEoTLJxoOwzAACGan98/kr5PtkWH70AhsmAAvamTZvKWum4ceMGVcz%2B1pFL6xd/%2B7MmpkZpcl2zRsVrJA0ucIdhqEChbGPJC3z9rW2r1rZu1l9bt8gPQ01INWpSXbMOqamXZaxIArdjLCVsVzHLlmVZygW%2BMn5OGd%2BLbOTcMkYJ21XcchSE%2BRMG1a7eTShpu8r4Xv4rwpYhtrGUsB3FbUd%2BGBTbwAEAcLBzLFuHJOuLn71pP6cgjOaIxUiK247itiuJE9wAhs%2BAAvapp55a1h%2BpV155ZdAF7U9hGOq1ti16rW2LJCnpxDSxtjEfuFPNaognJfUfuHsH6kBvtG/TutZNWte6RW92bN%2BtTcCbndv1u02vyzGWWmobNTHVpMl1TRqTrJdlzIACt2Os4odH3LZ3qyluO0q5cYVhmA/bgaeM5ykbDDxwWzKFbeS/nAOwl7MxRjHbUcx2VKf8e5kN/ELgzikb%2BANel21M4f1wFLcc2RaBGgCAPbEtSzVWTDWKSZK84udv/isY4BGLkRSzHMWd/Oeva9kEagAjwoAC9rXXXlvpOkaEbi%2Brta2btbZ1sySp1olrYmpX4K6LJSRJfhjorfbtWtu6Wa%2B1btb69m3yBth3zwsDvdGxXW90bNdzGyXXsouBe0qqSaOTdcUPiNLR0JjtDHg0tFeAdLUrcPczYts3UNvGOug%2BoIzZtQ%2BkREngzl8NUBq4S0f04zaBGgCAoXAsW45lq7YwQOCHwR4Dd89nb9wmUAMYuQYUsM8777xK1zEidXoZrdm5SWt25i%2BRt5Q/8/pWxw7lyhjl3Jtc4Gt9%2Bzatb9%2Bm/5E0OpHSZ47/RznGjiy89Tdimwt8GWPkHISBel96B24pKOwv25gDckQfAICRIH9c0jtwe2GgMAwJ1ACqRlVMcjZStOXS2pnpqug2coFfvH%2BoUnoCNwbGKgRuAACw/xhj5BpObAOoLoNKDUEQ6Nlnn9Xrr7%2BudDrda5kxRkuXLo2kOAAAAAAAqkXZAXvnzp1atGiR1q5dK2OMwsLsj6WX7RCwAQAAAAAHm7Jv8r3ppptkWZZ%2B9atfKQxD3X///XrkkUe0aNEiHXrooXrqqacqUScAAAAAACNa2QH7ueee0%2BLFi9XS0iJJcl1X06ZN07Jly3TKKafo%2Buuvj7zIkSBm2WqO12pq/WiNSdZV5J7cccl6nTTm0MjXeyAKw1BZ31N7Nq0dmS515DLKBX7xiopqEoSBur2sdma6tDPTpW4vq2CAs9IDAAAAGDnKTokbN27UxIkTZdu2LMtSd3d3cdn8%2BfN19dVXR1rgcIlZtmK2o4TtKGY5vS6HH5PIt9LK%2Bp5as91qy3arLZtWtqT91UCMSaR0WMNYHdYwVoc3jFVNYcbM/i67P9j1zHyeDTylfU9Zv//e3qZvH%2B8ROEt6EIb59l%2B%2Bp7Sf263FW6eXldTT99wtvhZrhL0OAAAAAL2VHbAbGxvV0dEhSRozZozWrl2rk08%2BWZLU3t4u34%2BmfdX%2B5lp2PshY%2BXZWViFQl4azvkEtZjsanUhpdCIlY4wyvqfWbJfasmm1Zbt3a%2BXVFK/V9IaxOqxhjA5vHKeUm%2B%2B5HCqUVehxPdLC4HDpac2R74OZ70c9kLHpUKHSfk5pPydpZPT5Dgqj7Zkg/1pywcB7pnteRp1eRpLkWFaxB3eMwA0AAACMOGUH7JkzZ2rdunU67bTTNHfuXN12221qaGiQ67q64YYbdPzxx1eizoowxqgp2f97nwAAIABJREFUXlscHdxXoN7TOnrEbUdjEnUam6yXJGX8nBJ2TFPrR%2BuwhjGqjyUVhqEChbJLArURQalHt5dTl5ctBOqhX%2B4dKFS3n1N3T%2BA2RjWOq5STiKzPeL/bDUN15NJK%2B15kPdO9IFBHkFGH8oHbtWzVuXElbJcTMwAAAMofH1WTaqsX%2B1Z2wL7ooou0fv16SdIVV1yhP/3pT7rqqqskSRMmTNCyZcuirbCCLGOUdHb1nI4ipPQO3K7mtBxeHOHuWW4TqPdoZ7ZLQQXvow7CUI6xKz76m/Fzas9lKrqNXOAr6cSq8r5zAACAqBkZTUqNGu4yyuaHobZ0tUUwtDQ0NW5MKTcxzFVUv7ID9uzZszV79mxJUnNzs376059q9erVMsZo%2BvTpcl13H2s4uBhx2XdZhvsvSxXp%2Ba3i9wsAACB/q%2BCGrlZ5A7wdb6QIwkD%2BMA%2BYuJato0YdQsCOwJCnwrYsSzNnzoyiFgAAAAAYtG4vF9ntecBglB2wX3rppX3%2BzDve8Y5BFQMAAAAAQLUqO2B/6EMf2uclqa%2B88sqgCwIAAAAAoBqVHbB/8IMf7PbYjh079OSTT%2Brll1/WF7/4xUgKQ3n6zoAOAAAAANi/yg7Ys2bN6vfx9773vVq%2BfLmef/55nXbaaUOta/8I85MK9PSgroQgDIuzPFcqAPesv5Ihu2fdFQ/yRgfIRGeVP9kRShX/3QIAAAAwcJEmy/e85z36%2Bc9/HuUqK6o7l9XqzW%2BrLd1VfCyIeNbBP219U6t3bNT2TGex/VRp6B6M0kCdC3x1ehl15jJK%2B15xG2EE2%2Bh5ftb3tDXdoY1drdqa7lDW9yLZRn%2Ba47VKOXE5FTrp4Vq2/DCoaCswSUrYjhpjyXyP6gqEbSOjhO0qU3gvAAAAAAy/Ic8iXqq9vV3ZbDbKVVaUF/j6n7/l7xdPujG11DdpfH2TJjY0qy6elDT0Ee72XFr/b8ff9f92SLax1Jyo1ZhkncYl69UYr5ExRkEY7rWdV%2BmocS7wlfG94lfYz3Cva9mK247ilqOY7cgqjDxrH9voWZ4LfLVmutSWS6st291viItbjupjSdXHEmqIJeXaTiSjqTE7X3ODkgrCoNdr9cLyT364lqW47fbaF/uDMUa1bly1blxhGMorvpZc4X0rc31S/j21XcVtR46xGLUGAAAARpiyA/amTZt2eyybzWrNmjX65je/qeOOOy6Swva37lxWr23bqNe2bZQk1cbiGl/fpJa6Jk1sbFZtLDHkAOmHgTZ3t2tzd7tW6e9yjKXRyZTGJOs0Nlmvhlhyt8uwvcBX2veULYTMYADRLBf4ygW%2BOpSRVBK4C6Hb9AncXuCrNduttmy32rJppf3cPreRCTxtSbdrS7pdkpSwXdXHEoXQnZRr2UPeX5axlHRiSjoxSfn917Mf0r4nv5/A7RhLCdtVrPB691eg3htjjFxjy7VspXoCdxAoE%2BRKTpT0eY7yJxsStqOY5ci1bAI1AAAAMMKVHbBPPfXUfg/0wzDUlClTtHz58kgKG26d2YzWbd2gdVs3SJJSsYTeMeEwHTl2QmTb8MJAG7vatLGrTdLbci1bh9TU66hRLfICX5nAi%2BRS5mLgzuUDd8yylfU95QJfbdludQ8gUO9L2s8p3Z3T5u584E7aribXNashlhzyunvYfQN3ECgTePICv3gSoZL300fFGCPXtuXatlLurkv9M0H%2BSoE4gRoAAACoSmUH7GuvvXa3x%2BLxuCZMmKATTjhBtm1HUthI05FNa1PHzkgDdl%2B5wNemrjZNSDVVbBuSlA18bexqHdQl1wPV7efU5WVVH0tWbLov27JUY8UqtPb9xxhTvDQeAAAAQPUq%2B4j%2BvPPOq0QdAAAAAABUtZF/PS0AAAAAAFWg7BHsj3/84wP%2BWWOMvv/975e7CQAAAAAAqk7ZAbu7u1tvvvmmtm7dqnHjxmn06NHaunWrNm3apNGjR2vy5MmVqHPYhUGg1u079JfcK5p4SItGNTRUZDspN66k7coLA%2BUCvyLbkKS47coOfWUH0TJqIIykUFLayyluO7ItLpYAAAAAcGArO2B/8pOf1Be%2B8AXdc889Oumkk4qPv/jii7r66qt16aWXas6cOZEWORzCMFSus1vZtg5lWjuVbe/UxjDUHwvL62prNW3yoTp04iQdOnGSGurqB7WdlBvXmERdvlVXTZ3itltcFoThrj7QQU5eEN2kZKMStZLyrzMb%2BIX%2BzLl%2Be14PVGmf5piV/9Xake2SlJ8BPFFonRWzHdlVMNs3AAAAAJSj7IB9ww036PLLL%2B8VriXp5JNP1mWXXaZvfetbVRmwwzCU15VWpq1D2dYOZds7FQZ7Httt7%2BzUX9a8opdfWSVJaqir6xW462pT/T6vxolpTDIfqMcl65VwXIVhqFDarWezZYwShV7IxiQVhMGuwO17kcwCboxRzLIVs2zVx5KFwO0p7eXDdjbYc%2BCOWfnA3NN3um9/7VJ%2BGKjTy6rTy0rK96su9uaukvZaAAAAALA3ZQfstWvXqqWlpd9lEyZM0GuvvTbkovaXMAzVuWFrPlS3dSosc4Q4KPn51vZ2vfzKKv1x1V8kSaPqGzRtyqGacehhmj3jeI2vG6VxNfVKOrHdArUxZo%2BtrEqDqmUsJWxXCduVMUZBGCjt94ThnAYbt0u3kQ/cjmKxXYE5H%2Bhz8gJfjmUXR6n7C9QD7d3shYG8PoG7J6gnCusGAAAAgGpS9rBhc3OzHn/88X6XPf7442pubh5yUftLkM2p7Y0NyuxsLztc97u%2BknXsaGvVH1f9RbNapmvWhMM1ua5ZSSffs9kYs9to9UAZY4rh0zKWkrarmGUPOlzvaxvGGMVtR/WxpJqTdaqPJYvhuu/PDoUXBurwMnK5VxsAAABAlSp7BPvCCy/UDTfcoPb2dr3//e8vTnL23//933rsscd0xRVXVKLOqhQEgWrjSUm7X/4dFWNMRSYp67uN/r6v1LYYvQYAAABQjcoO2EuXLlVXV5d%2B8IMf6NFHH5WUv9TadV0tWbJES5cujbxIAAAAAABGurIDtiR99rOf1eLFi/XHP/5RO3fuVGNjo0488UQ1NjZGXR8AAAAAAFVhUAFbkhobGzVv3rwoawEAAAAAoGoxoxQAAAAAABEgYFdYqLDYygojQxjyngAAAACI3kEdsB3XVbK2pvj/Uc1ebRVaTTmWrWdXv6yd3Z3FQBdVuCtdh2NZsvfYSTsaRpJtjKwKbsdI6s7lIg%2B/pfs8DEN5QSAvCCJ/TzDylL63fhAoF/jyC%2B30eN8BAAAQtUHfg30gcOMxzX3/QqW7urV981Zt37xF2zZtVrqrW1KhBdYADsBty5IfBLIsS0dMmKITpx%2Bl46YdoRmTpynmuuoKPXV3tSpmO4pbjuK2I9eyi%2BsfSLAv/blc4Cvje8r4nrK%2Bp6ACjbqMjBJ2vta47cg2VrFePwyK288Mcfs9%2B6N0n0ShZ3%2BFYbhrfwX5/VVabcyyFbddxW1HsZL3RKp8SzJEr/S96/t76oe7usXbxir%2B3vX8fvO%2BAwAAYKgO6oDdI1GTVMuhk9Ry6CRJUndnl7Zv3qLtm7dq28bNyqTTknYF7p5AbYzR9JbJxUA9c8o0JWLxfrcRSsUDfeXyo7XFA3zLlWNZvQJ3aaD2SgL1UAPtnuyqJx82nUKg3u3njJFjbDmWrVo3nh8RDgNlfU/pQn3hXurrL9AORX/7Kx%2Boc4X95e%2B1nmzgKxv4ai%2B8JzHLUcx2lOhzEqT09WNk6Pu%2BBH0CtVcSqPvyw0BdXlZdXlaS5BQCd897b5UE7p71AwAAAPtCwO5HsrZGE6ZO0YSpUxSGYTFw%2Bzs7FaazOubQ6Tpu2pE6%2BtDDVBNPDGoboaR0IZRKaRmZYuCOWXavUdegApexupYtS0YJZ%2B%2BBel%2BMMXKNLbdP4M6HnJyCMCx5XU7kQSUIQ/mFkDzUEf1QUibI7/Ni4C5cdZBy%2Bz9xguGTC/xeo9R7C9T74oWBPC%2Brzj6Bu9aNyzEH9Z00AAAAKMOAAvbRRx9dVjD6v//7v0EXNNIYY1STqlVNqlZHN03QP06aWZHthAqV9nNK%2B7mKrL%2BvUfEauZYd%2BXpLA/f%2BCKVe6GtrurMi6y696iDlxhnFHGG2Z7p6XfYdpZ7AbRuLkysAAAAYsAEF7H/5l3/pFS5%2B9rOfqaOjQ6eeeqpGjx6tLVu26JlnnlFtba3OOuusihULAAAAAHtSiQGkgwH7LToDCtif/exni9/feeedGjVqlH72s58plUoVH29vb9dHP/pRNTQ0RF8lAAAAAOyFZYyOGnXIcJdRtWrc2HCXcEAo%2Bx7se%2B%2B9V1dffXWvcC1JdXV1uvjii/WNb3xDixcvjqxAAAAAANgXI6OxNfXDXQYOcmXP3rNx40a5rtvvMtd1tXnz5iEXBQAAAABAtSk7YE%2BdOlV33nmnPM/r9Xgul9Odd96pqVOnRlbcSGIk%2BUFlJlQaDmEYDqjH90hntH8mHgulA2J/HUj2x5xzoWjRBQAAgIEr%2BxLxK664QpdffrlOP/10LVy4UKNHj9bWrVv1%2BOOPa9OmTbr55psrUeewMDIKFcoxlg6tH62p9aNlSUo6sSG3BeqPY1lK2K4sGQVhqGzgKRv4kW7DMkYJ25UfBnJk76d4WjmuZas5UVtsC5aL%2BCSIbSwlbEdZP6e43f%2BVGxgezfGU0n6u2PM8ytMfPX3hLWPkB4Fsi1ZdAAAA2LeyA/b8%2BfN1%2B%2B2364YbbtBdd92lMAxljNHMmTN1zTXXaO7cuZWoc7%2BwZBQolG0sTalr1uENY3VYw1hNTDXJ6ecA2w8DZQttnNK%2BV3bLoHyvXbfQJ9qW1U%2B/3TAMlQny/Z3TvqdcmYHbMoX%2B2pajuO32%2BzqqmSmcMEjYrqSkgjAs9sNO%2B7myT4LYxpS8J45seiCPWI5lKWXFlSr0X88Ffr6PuecpG5QXuI2kmOUo7uT/rbiWzcg1AAAAylZ2wJakOXPmaM6cOero6FBra6saGhp2m/SsmljGaFKqSYc3jNNhDWM1ua5pQFPV28ZS0okp6eRn3PODIH%2BAXxhN9ftcUpwP1PngFhtgeCsNkPVSfmTb9wrb2X3E1pIpbqMnIB5MQcEyRknHVdJx1aCkgjAo9rLu76qDXoHachiprFLGGMUK/67qXO0K3D3vfeDt9pz8Saf8F4EaAAAAURhUwO6RSqWqOljXOnEtmTlXU%2BqaFbOHtCskSbZlqcaKqaYQuL0gULZwYB/VaKhljBKOq4R2jdhmC6PnMduRc5AF6n2x%2Bp4EKVx1EIbK7y8C9QGpV%2BBWPnBnA19e4MuxbMUI1AAAAKiAQaXKIAj07LPP6vXXX1c6ne61zBijpUuXRlJcpcVtR4c3jqvY%2Bh3LkmNVtp9cT%2BDGwPRcdYCDizG7ruwAAAAAKqXso82dO3dq0aJFWrt2rYwxxZmVS0eDqiVgAwAAAAAQlbKvj73ppptkWZZ%2B9atfKQxD3X///XrkkUe0aNEiHXrooXrqqacqUScAAAAAACNa2QH7ueee0%2BLFi9XS0iJJcl1X06ZN07Jly3TKKafo%2Buuvj7xIAAAAAABGurID9saNGzVx4kTZti3LstTd3V1cNn/%2BfD377LORFggAAAAAQDUoO2A3Njaqo6NDkjRmzBitXbu2uKy9vV2%2BX16fZgAAAAAADgRlT3I2c%2BZMrVu3Tqeddprmzp2r2267TQ0NDXJdVzfccIOOP/74StQJAAAAAMCIVnbAvuiii7R%2B/XpJ0hVXXKE//elPuuqqqyRJEyZM0LJly6KtEAAAAACAKlB2wJ49e7Zmz54tSWpubtZPf/pTrV69WsYYTZ8%2BXa5LT2YAAAAAwMGn7IDdl2VZmjlzZhS1AAAAAABQtcqe5EySduzYoRtvvFEf%2BtCHdMYZZ2jdunWSpJUrV2r16tWRFggAAAAAQDUoO2C/9dZbOuuss3THHXcom83qb3/7mzKZjCRp1apVuuuuuyIvEgAAAACAka7sgP2Nb3xDtbW1%2BuUvf6kf/ehHCsOwuOykk07SSy%2B9FGmBAAAAAABUg7ID9vPPP6/LL79c48ePlzGm17IxY8Zo8%2BbNkRUHAAAAAEC1KDtgp9NpNTY27nEZAAAAAAAHo7ID9tSpU/W73/2u32UvvviijjjiiCEXBQAAAABAtSk7YJ933nm68847de%2B996qjo0OS5Pu%2BnnjiCd13330677zzIi8SAAAAAICRruw%2B2B/%2B8Ie1atUqXXvttbruuuskSf/8z/%2BsIAh09tln69xzz428SAAAAAAARrqyA7YkffWrX9U555yjp59%2BWlu3btWoUaM0b948nXzyyVHXBwAAAABAVSgrYGcyGX3nO9/RP/7jP%2Bqkk07SSSedVKm6AAAAAACoKmXdgx2Px/X9739fXV1dlaoHAAAAAICqVPYkZ9OmTdPbb79diVoAAAAAAKhaZQfsSy65RCtWrNBbb71ViXoAAAAAAKhKZU9y9vOf/1xdXV0644wzNGPGDI0ZM0bGmOJyY4xuueWWSIsEAAAAAGCkKztg//nPf5ZlWWpqatKmTZu0adOmXstLwzYAAAAAAAeLsgP2M888U4k6AAAAAACoamXfgw0AAAAAAHZHwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACZbfp6rF%2B/Xq98MIL2rFjh84%2B%2B2yNHj1a27ZtU11dnWKxWJQ1AgAAAAAw4pUdsIMg0DXXXKMHHnhAQRDIGKN3v/vdGj16tD7/%2Bc/rmGOO0ac//elK1AoAAAAAwIhV9iXit99%2Bux566CF99rOf1cMPP6wwDIvLTj31VP32t7%2BNtEAAAAAAAKpB2SPYDz74oC699FItWbJEvu/3WjZx4kS9%2BeabkRUHAAAAAEC1KHsEe8OGDXrHO97R77JEIqHOzs4hFwUAAAAAQLUpO2A3NTXprbfe6nfZX//6V40bN27IRQEAAAAAUG3KDthz587V7bffrs2bNxcfM8aoo6ND99xzj%2BbNmxdpgQAAAAAAVIOy78H%2B9Kc/rXPPPVfve9/7NGvWLBljdPPNN2vNmjUyxujSSy%2BtRJ0AAAAAAIxoZY9gjx07Vg888IDe85736KWXXpIkvfzyyzrllFN0//33q6mpKfIie6xcuVJnnnmmjj32WM2aNUuXXHJJxbYFAAAAAEA5yh7BlvIh%2Bytf%2BUrUtezVLbfcojvvvFOXXHKJjj/%2BeLW2ttISDAAAAAAwYgwqYO9vr732mlasWKHvfve7mj17dvHx008/fRirAgAAAABgl7ID9vLly/e4zBij%2Bvp6HXvssZo/f75c1x1ScT0efPBBTZo0qVe4BgAAAABgJCk7YD/zzDPq7OxUR0eHLMtSfX292traFASBUqmUgiBQV1eXpk%2BfrrvuukvNzc1DLvLll1/WEUccoVtvvVX33HOP2tvbdcIJJ%2BgLX/iCZsyYMeT1AwAAAAAwVCYMw7CcJ6xevVqXXXaZrrjiCp1xxhlyXVe5XE6PPPKIbrzxRt18881Kp9P6zGc%2Bo3nz5kVyr/bChQu1efNmjRs3TldeeaVc19W3v/1tvf3223r88cdVX1/f7/MWLFiwx3Vu2LBB48eP15NPPjnk%2BgAAAABUFsf2qAZlj2Bfd911%2BuhHP6ozzzyz%2BJjrujrrrLO0Y8cOfe1rX9O9996rJUuW6I477oikyDAM1dXVpVtuuUWHH364JOnoo4/WggUL9OMf/1hLliyJZDsAAAAAAAxW2QH7z3/%2B8x57XR9xxBG68cYbJUkzZszQjh07hlZdQUNDg0aPHl0M11J%2BJvNp06Zp3bp1e3ze3s5g7e0MGAAAAICRhWN7VIOy%2B2DX1tbqhRde6HfZCy%2B8oNraWklSJpMpfj9Uhx12WL%2BPh2Eoyyr7JQAAAAAAELmy0%2Bn73vc%2B/ed//qduvvlmvfrqq9q%2BfbteffVV3Xjjjfre976n97///ZKkVatWadq0aZEUedppp2nr1q169dVXi49t2rRJr7/%2Buo488shItgEAAAAAwFCUfYn41VdfrU2bNum2227TihUrio%2BHYah/%2Bqd/0lVXXSVJOu644zRr1qxIijz99NN19NFH61Of%2BpQ%2B85nPKBaL6dZbb1VTU5POP//8SLYBAAAAAMBQlD2LeI81a9boxRdf1M6dO9XY2KiTTz65oqPJ27Zt03XXXaenn35anufp5JNP1uc///lBj5L33KfBTIMAAABAdePYHiNF2SPYPY488sj9enl2c3OzvvnNb%2B637QEAAAAAUI5BB2xJam1tVTqd3u3xcePGDWW1AAAAAABUnUEF7O9%2B97u6%2B%2B67tW3btn6Xv/LKK0MqCgAAAACAalP2LOIPPfSQbrvtNl1wwQUKw1BLlizRJz7xCY0dO1ZTpkzRl770pUrUCQAAAADAiFZ2wP7hD3%2BopUuX6rLLLpMkLVy4UFdffbUee%2Bwx1dTUqKOjI/IiAQAAAAAY6coO2OvXr9cJJ5wgy8o/1fM8SVIymdQnPvEJ/ehHP4q2QgAAAAAAqkDZAdtx8rdtG2OUSqW0cePG4rKmpiZt2rQpuuoAAAAAAKgSZQfsyZMnF0P0Mccco5UrV8r3fQVBoJUrV6qlpSXyIgEAAAAAGOnKDtizZ8/W73//e0nSxRdfrOeff14nnXSSTjnlFD366KP6xCc%2BEXmRAAAAAACMdGW36frMZz5T/P5d73qX7rnnHv3iF7%2BQMUannXaa3v3ud0daIAAAAAAA1aCsgJ3NZvWzn/1MJ554og477DBJ0oknnqgTTzyxIsUBAAAAAFAtyrpEPBaL6ZprrtG2bdsqVQ8AAAAAAFWp7HuwJ02apK1bt1aiFgAAAAAAqlbZAXvRokX63ve%2Bp87OzkrUAwAAAABAVSp7krP169dr27Ztmj9/vt71rndpzJgxMsYUlxtj9G//9m%2BRFgkAAAAAwEhXdsC%2B6667it8/%2Buijuy0nYAMAAAAADkZlB%2BxVq1ZVog4AAAAAAKpa2QHbtu1K1AEAAAAAQFUrO2D3eP755/X73/9eO3bs0CWXXKLx48dr1apVamlp0ahRo6KsEQAAAACAEa/sgJ1Op/XJT35Szz33nMIwlDFG559/vsaPH6/vfve7amlp0ec%2B97lK1AoAAAAAwIhVdpuuG2%2B8US%2B//LK%2B9a1v6cUXX1QYhsVls2fP1vPPPx9pgQAAAAAAVIOyR7AfffRRffrTn9YZZ5wh3/d7LRs/frz%2B/ve/R1YcAAAAAADVouwR7G3btumII47od5lt20qn00MuCgAAAACAalN2wB43bpzWrVvX77I1a9Zo4sSJQy4KAAAAAIBqU3bAPv3007VixQqtXr26%2BJgxRhs2bNDdd9%2BthQsXRlogAAAAAADVoOx7sC%2B//HL9z//8j84991wdeeSRMsboi1/8otavX6/Jkyfr4osvrkSdAAAAAACMaGWPYKdSKf34xz/WZZddJsdx1NLSIsuytHjxYt1zzz1KJpOVqBMAAAAAgBGt7BFsSaqpqdFll12myy67LOp6AAAAAACoSmWPYF9//fV6/fXXK1ELAAAAAABVq%2ByAfdddd%2Bl973ufLrzwQq1cuVIdHR2VqAsAAAAAgKpSdsD%2B7W9/q2XLlimbzWr58uWaM2eOPve5z%2BmFF16oRH0AAAAAAFSFsgN2Y2OjFi1apAcffFA//elPdf755%2BvZZ5/VRz7yES1YsEC33nprJeoEAAAAAGBEKztglzryyCP1%2Bc9/Xs8884xuueUW%2Bb6vb3/721HVBgAAAABA1RjULOKl3nzzTT344IN6%2BOGHtXHjRo0dOzaKugAAAAAAqCqDCtjd3d167LHH9OCDD%2BoPf/iDHMfRvHnzdM0112jOnDlR1wgAAAAAwIhXdsBetmyZHnvsMXV1dWnGjBlatmyZPvCBD6ixsbES9QEAAAAAUBXKDthPPfWUzj77bJ1zzjmaMWNGJWoCAAAAAKDqlB2wf/vb38p13T0u3759u5qamoZUFAAAAAAA1absWcT7C9dhGOrpp5/Wpz71Kc2dOzeSwgAAAAAAqCZDmkX8jTfe0E9%2B8hM99NBD2rJli1zX1cKFC6OqDQAAAACAqlF2wM5kMnr00Uf1k5/8RH/4wx8UhqGMMfrYxz6miy%2B%2BWKNGjapEnQAAAAAAjGgDDth//vOf9cADD%2BiRRx5RZ2enksmkPvjBD2rhwoVaunSp5s%2BfT7gGAAAAABy0BhSwP/CBD2jdunWSpBNOOEHnnHOO3vve96qmpkbt7e0VLRAAAAAAgGowoIC9du1aGWN06qmn6uqrr9b06dMrXRcAAAAAAFVlQLOIL1u2TEceeaR%2B85vf6AMf%2BIAuuOACrVy5Uh0dHZWuDwAAAACAqjCggP2Rj3xEDz/8sFauXKnzzz9fr7/%2BupYvX645c%2BZo%2BfLlMsbIGFPpWgEAAAAAGLFMGIZhuU/qbybxKVOm6IILLtAHP/jBqpjsbMGCBZKkJ598cpgrAQAAADAUHNtjpBhUwC71xhtv6IEHHtDDDz%2BszZs3Kx6P6%2BWXX46qvorhHyEAAABwYODYHiPFgC4R35vJkyfryiuv1G9%2B8xutWLFCc%2BbMiaIuAAAAAACqyoD7YO%2BLZVmaN2%2Be5s2bF9UqAQAAAACoGkMewQYAAAAAAARsAAAAAAAiQcAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMD1ELWiAAAekUlEQVQGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIkDABgAAAAAgAgRsAAAAAAAiQMAGAAAAACACBGwAAAAAACJAwAYAAAAAIAIEbAAAAAAAIlCVAbuzs1Nz587VkUceqb/85S/DXQ4AAAAAANUZsG%2B77Tb5vj/cZQAAAAAAUFR1Afu1117Tfffdp0996lPDXQoAAAAAAEVVF7C/8pWv6MILL9TUqVOHuxQAAAAAAIqqKmA/9thjWr16tT75yU8OdykAAAAAAPTiDHcBA9Xd3a2vfe1ruvLKK5VKpQb0nAULFuxx2YYNGzR%2B/PioygMAAABQQRzboxpUzQj2ihUr1NzcrLPPPnu4SwEAAAAAYDdVMYL99ttv64477tCtt96qjo4OSVJXV1fxv52dnaqtrd3teU8%2B%2BeQe17m3M2AAAAAARhaO7VENqiJgv/XWW8rlcrr44ot3W/aRj3xExx9/vP7rv/5rGCoDAAAAACCvKgL2jBkzdPfdd/d67JVXXtFXv/pVfelLX9Kxxx47TJUBAAAAAJBXFQG7vr5e73znO/tddvTRR%2Bvoo4/ezxUBAAAAANBb1UxyBgAAAADASFYVI9j9eec736k1a9YMdxkAAAAAAEhiBBsAAAAAgEgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAACACBCwAQAAAACIAAEbAAAAAIAIELABAAAAAIgAARsAAAAAgAgQsAEAAAAAiAABGwAAAPj/7d17lFV1%2BT/wZxgdRsEBQdTwkjoKcRkBk4DkohDiZZQyUlx5qQgUEQgvqUszU0NNLURFLIhFCkYWWiB4RQYsIJfgEjX/gEwUoUCFGRUHZti/P/xxvgzDZcA9nBl5vdaaBfPZn9nnmWfvD8P77H3OAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEjBftkuoCZmz54dM2bMiDfeeCPWr18fRx11VFx44YUxcODAaNDAcwQAAABkX70I2JMmTYqWLVvGT3/602jevHksWrQofvnLX8a7774b1113XbbLAwAAgPoRsMePHx/NmjXLfN61a9f49NNPY8qUKTFq1KjIy8vLYnUAAABQT16DvXW43qJNmzZRXl4e69aty0JFAAAAUFW9CNjb88orr0TTpk2jefPm2S4FAAAA6sct4ttaunRpTJ8%2BPYYNGxa5ubk7nNenT58dblu1alV85StfqY3yAACAlPm/PfVBvbuCvWbNmhgxYkQUFRXF4MGDs10OAAAARERETpIkSbaLqKmysrK4%2BOKLo7y8PKZOnRoHH3zwHu9ryzNgL7zwQlrlAQAAWeD/9tQV9eYW8fLy8hg6dGisXbs2pk2b9oXCNQAAAKStXgTsioqKGDlyZLz11lvx6KOPxhFHHJHtkgAAAKCKehGwb7311njxxRfj2muvjc8%2B%2ByxeffXVzLbjjz8%2BGjdunMXqAAAAoJ4E7JdeeikiIu6%2B%2B%2B5q2/7whz9Ely5d9nZJAAAAUEW9CNhz5szJdgkAAACwU/Xu13QBAABAXSRgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIgYANAAAAKRCwAQAAIAUCNgAAAKRAwAYAAIAUCNgAAACQAgEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGAACAFAjYAAAAkAIBGwAAAFIgYAMAAEAKBGwAAABIQb0J2G%2B//XYMGjQoOnbsGN26dYvbb789Pvvss2yXBQAAABERsV%2B2C6iJ0tLSuPTSS6Nly5YxduzY%2BPDDD%2BOOO%2B6IdevWxT333JPt8gAAAKB%2BBOw//vGPUVpaGk8%2B%2BWQ0a9YsIiJyc3PjmmuuiaFDh0ZhYWGWKwQAAGBfVy9uEZ83b15069YtE64jIvr16xd5eXlRUlKSxcoAAADgc/UiYC9fvrzaVeq8vLw4%2BuijY/ny5VmqCgAAAP5PvbhFvLS0NAoKCqqNFxQUxPr163f4dX369Nnhtvfeey9yc3N3OgcAAKgbVq1atcNtlZWVceSRR%2B7FamD76sUV7B1JkiRycnL2%2BOsrKytTrIbdtWrVqp3%2BQ0nt0v/scwyyS/%2BzzzHILv3PLv1P384uvMHeUi%2BuYBcUFERpaWm18bKysp2%2BwdkLL7yww21brlzvbA61yzHILv3PPscgu/Q/%2BxyD7NL/7NJ/%2BHKqF1ewCwsLq73WeuPGjbFixQrvIA4AAECdUC8Cds%2BePWPhwoXx0UcfZcaee%2B652LhxY/Tq1SuLlQEAAMDn6kXAHjhwYBx00EFxxRVXxPz58%2BPJJ5%2BM2267Lc455xxXsAEAAKgT6s1rsCdPnhy33357DB8%2BPPLz86O4uDiuueaabJcGAAAAEVFPAnZExLHHHhsTJ07MdhkAAACwXfXiFnEAAACo63KSJEmyXQQAAADUd65gAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBftcwH777bdj0KBB0bFjx%2BjWrVvcfvvt8dlnn2W7rDpr%2BvTp0bp162of99xzT5V5JSUl8e1vfzuKioqib9%2B%2BMWXKlO3ub%2BLEidG7d%2B8oKiqK7373u7Fo0aJqcz7%2B%2BOO4%2Beabo0uXLtGpU6e4/PLLY%2BXKldXmfVmP5TvvvBM333xz9O/fP9q2bRvFxcXbnVeXe17T2uqimvT/%2Buuv3%2B66mDdvXrW5%2Br97Zs%2BeHVdccUX06tUrOnbsGOecc05MnTo1Nm/eXGWe87921KT/zv/aNX/%2B/Ljooouia9eu0b59%2B%2BjTp0/ccccdUVZWVmWeNVA7atJ/awDYqWQfsn79%2BqRHjx7JBRdckJSUlCRPPPFE8o1vfCO5%2Buqrs11anfWXv/wladWqVTJv3rxkyZIlmY/3338/M2fx4sVJ27ZtkxtuuCFZsGBB8uCDDyZf%2B9rXkj/96U9V9jVhwoSkXbt2yYQJE5J//OMfyahRo5KioqLkrbfeqjJvyJAhySmnnJLMmDEjefHFF5PvfOc7Sd%2B%2BfZMNGzZk5nyZj%2BVzzz2X9OzZMxk%2BfHhSXFycnH322dXm1OWe17S2uqom/b/uuuuSPn36VFkTS5YsSUpLS6vM0//d973vfS8ZOXJkMnPmzGTBggXJmDFjkrZt2yZ33nlnZo7zv/bUpP/O/9o1Y8aM5J577kmeffbZZOHChckjjzySfOMb30h%2B%2BMMfZuZYA7WnJv23BoCd2acC9sMPP5x06NAh%2BeCDDzJjf/vb35JWrVoly5Yty2JlddeWgL11z7Y1aNCgZMCAAVXGbrrppuSUU05JKisrkyRJkvLy8uTrX/96ctddd2XmVFRUJGeeeWbyk5/8JDP26quvJq1atUrmzp2bGVu5cmXStm3bZOrUqZmxL/Ox3NKzJPn8h/j2Al5d7nlNaqvLatL/HY1vTf/3zPb%2BrRk9enRSVFSUlJeXJ0ni/K9NNem/83/vmzZtWtKqVatk9erVSZJYA3vbtv23BoCd2aduEZ83b15069YtmjVrlhnr169f5OXlRUlJSRYrq782btwYCxcujLPPPrvK%2BDnnnBNr1qyJN998MyIiFi9eHGVlZVVut83NzY2zzjorSkpKIvn/v469pKQkCgoKomfPnpl5LVu2jJNOOqnKMfoyH8sGDXa%2BLOtyz2taW122q/7XlP7vma2/vy3atGkT5eXlsW7dOud/LdtV/2tK/9PVtGnTiIioqKiwBrJg6/7XlP7DvmufCtjLly%2BPwsLCKmN5eXlx9NFHx/Lly7NUVf1QXFwcbdq0iT59%2BsTDDz8clZWVERGxYsWK2LRpUxx33HFV5h9//PEREZm%2Bbvlz23mFhYXxySefxH//%2B9/MvGOPPTZycnKq7W/rY7QvH8u63POa1vZlsGLFijj55JOjffv2cd5558Xzzz9fZbv%2Bp%2BeVV16Jpk2bRvPmzZ3/WbB1/7dw/te%2BysrKKC8vjzfeeCMefPDBOO200%2BKII46wBvaSHfV/C2sA2JH9sl3A3lRaWhoFBQXVxgsKCmL9%2BvVZqKjua9GiRQwfPjw6dOgQOTk5MWfOnBgzZkz897//jZtvvjnTt237uuXzLdtLS0sjLy8v8vPzq8xr0qRJRESsW7cuDj/88CgtLY2DDjqoWh3bHqN9%2BVjW5Z7XtLb6rk2bNlFUVBTHH398lJWVxWOPPRbDhg2L%2B%2B67L84444yI0P%2B0LF26NKZPnx7Dhg2L3Nxc5/9etm3/I5z/e8tpp52WCWE9evSIX//61xHhZ8DesqP%2BR1gDwM7tUwF7R5IkqfbMIZ/r0aNH9OjRI/N59%2B7do2HDhjF58uS4/PLLM%2BM76t/W49ubs%2BUWqV3N29n4tvvbV45lXe75F9lffXDppZdW%2Bbx3794xcODAGDt2bOY/VxH6/0WtWbMmRowYEUVFRTF48OAq25z/tW9H/Xf%2B7x2//e1v49NPP41ly5bFuHHj4vLLL49JkyZltlsDtWtH/c/NzbUGgJ3ap24RLygoiNLS0mrjZWVl231WkO0788wzo7KyMv71r39lnond9lnRLX3e0teCgoIoLy%2BP8vLy7c7bsp8dHaNtn7ndl49lXe55TWv7smnQoEGcfvrpsXz58syvTNH/L6asrCwGDx4c%2Bfn58dBDD8X%2B%2B%2B8fEc7/vWVH/d8e53/t%2BNrXvhYnnXRSnH/%2B%2BfHAAw/EokWL4rnnnrMG9pId9X97rAFga/tUwC4sLKz2%2BpONGzfGihUrqr2uhZo5%2BuijY//9949///vfVcaXLVsWEZHp65Y/t%2B3/8uXLo1GjRnHYYYdl5r399tuZZ3i33t/Wx2hfPpZ1uec1re3LaNv%2B6f%2BeKy8vj6FDh8batWtjwoQJcfDBB2e2Of9r3876vyPO/9rVpk2byM3NjRUrVlgDWbB1/3fEGgC22KcCds%2BePWPhwoXx0UcfZcaee%2B652LhxY/Tq1SuLldUvs2bNitzc3Gjbtm3k5eVF165dY/bs2VXmzJw5M1q0aBFt27aNiIiTTjopDjrooJg1a1ZmTmVlZcyePTt69eqVuW2pV69eUVpaGvPnz8/MW7VqVSxevLjKMdqXj2Vd7nlNa/uy2bx5czzzzDNxwgknZF5vp/97pqKiIkaOHBlvvfVWTJgwocqbCkU4/2vbrvq/Pc7/2rdkyZKorKyMI4880hrIgq37vz3WALC13FtuueWWbBext5xwwgnxl7/8JebPnx%2BHHXZYLFmyJEaPHh19%2B/aNgQMHZru8OmnQoEHxv//9Lz7%2B%2BON455134ve//31MmTIlLr744szrjI466qgYP358rFq1Kho1ahQzZsyISZMmxQ033BDt27ePiM9/NUVubm6MHz8%2B8vPzo7y8PO67775YsmRJ/OpXv4pDDjkkIiIOP/zweP3112PatGlx2GGHxapVq%2BLmm2%2BO/Pz8uPXWW2O//T5/24Av87HcsGFDvPDCC7Fs2bL4%2B9//HmvXro3DDz88li1bFs2aNYsDDjigTve8JrXVZbvq/4cffhjDhg2LTZs2RVlZWbzxxhtx%2B%2B23x5IlS%2BIXv/hF5gqB/u%2BZW265JWbOnBkjR46MQw89NFavXp35aNy4ceTl5Tn/a9Gu%2Br9mzRrnfy278sorY8WKFVFWVharV6%2BO559/PkaPHh1HHXVUXH/99ZGbm2sN1KJd9X/16tXWALBztf%2BrtuuWf//738mPfvSjpEOHDkmXLl2S2267LdmwYUO2y6qzbrvttuT0009PTjzxxKR9%2B/ZJcXFxMnny5GTz5s1V5s2dOzc599xzk3bt2iV9%2BvRJHn300Wr72rx5c/K73/0uOfXUU5P27dsn5513XrJgwYJq88rKypKbbrop6dy5c9KxY8fksssuS957771q876sx/Ldd99NWrVqtd2PhQsXZubV5Z7XpLa6alf9/%2Bijj5LLL7886dGjR9KuXbukY8eOyUUXXZTMmzev2r70f/eddtppzv8s2lX/nf%2B17%2BGHH0769%2B%2BfdOrUKenYsWNy9tlnJ2PGjEnKysqqzLMGaseu%2Bm8NALuSkyTbvOgDAAAA2G371GuwAQAAoLYI2AAAAJACARsAAABSIGADAABACgRsAAAASIGADQAAACkQsAEAACAFAjYAAACkQMAGIGP69OnRunXrzEfbtm2je/fuMWrUqPjPf/6T9bree%2B%2B9nc67//77o3Xr1nupql0rKSmJ%2B%2B%2B/f7vbWrduHbfeeuterggAqE37ZbsAAOqeO%2B64I4477rgoLy%2BPxYsXx/jx42PRokUxe/bsaNKkSbbLqzdKSkpiypQpMXz48GyXAgDsBQI2ANWccMIJUVRUFBERXbp0icrKyrj//vvj%2Beefj%2B9%2B97tZrg4AoG5yizgAu7QlbH/wwQfVts2aNSsuuOCC6NixY3Tq1CkGDRoUb775ZpU5S5cujVGjRkXv3r3jxBNPjN69e8dVV10VK1eurLa/V199NQYOHBhFRUXRvXv3uPfee6OiouIL1V%2BTGq%2B//vro1KlTvPPOOzF48ODo1KlT9OrVK%2B68887YuHFjlbmrV6%2BOESNGRKdOneLkk0%2BOq6%2B%2BOl577bVo3bp1TJ8%2BPbO/KVOmRERUue1%2B29vcn3zyyTjzzDOjQ4cOce6558aLL75YZfuHH34YP/vZz6JXr17Rvn376Nq1awwcODD%2B8Y9/fKGeAADpcwUbgF3aEgqPOeaYKuPjx4%2BPMWPGxHnnnRdDhw6NTZs2xcSJE%2BP73/9%2BPP7443H88cdHRMTKlSvj2GOPjbPPPjuaNGkSa9asicceeywGDBgQTz31VDRr1iwiIpYtWxY/%2BMEP4ogjjog777wz8vPzY%2BrUqTFz5sw9rr2mNUZEbNq0KYYOHRoDBgyIH/3oR/Hyyy/HuHHjonHjxnHllVdGRMSnn34al1xySaxfvz6uueaa%2BOpXvxrz58%2BPUaNGVXncK664Ij799NN45plnYtq0aZnxQw89NPP3uXPnxtKlS2PEiBFx4IEHxoQJE%2BLKK6%2BMp59%2BOo466qiIiLj22mvjzTffjFGjRsUxxxwTpaWl8eabb8a6dev2uCcAQO0QsAGoZvPmzVFRUZF5DfZDDz0UnTt3jt69e2fmrFq1Ku6///646KKL4qabbsqMf/Ob34x%2B/frFAw88EGPGjImIiDPOOCPOOOOMzJzKyso49dRT45RTTomZM2fGJZdcEhERDz74YCRJEpMnT45DDjkkIiJOPfXUKC4u3qPvY3dqjPg8YA8fPjzOPPPMiIjo1q1bvP766zFz5sxMwH7iiSfinXfeid/97nfRs2fPiIjo3r17bNiwoUqQPvroozPfQ8eOHbdbX3l5eUyaNCkaN24cERHt2rWLHj16xOzZs2PIkCEREbF48eL43ve%2BF%2Beff37m6771rW/tUT8AgNolYANQzdZhLiKisLAwxo0bF/vt938/Nl566aWoqKiI/v37V7mFu2HDhtG5c%2BdYtGhRZuyTTz6JcePGxbPPPhsrV66MysrKzLbly5dn/r5o0aLo1q1bJphGROTm5sZZZ50VDzzwwG5/H7tTY0RETk5OlScRIj6/vXvhwoWZz19%2B%2BeVo1KhRJlxvUVxcXCVg10SXLl0y4Toi4pBDDonmzZtXuXX%2BxBNPjCeeeCKaNm0a3/zmN6Ndu3ax//7779bjAAB7h4ANQDV33XVXFBYWxieffBKzZs2KadOmxVVXXRUTJkzIzFm7dm1ERAwYMGC7%2B2jQ4P/e5uPqq6%2BOhQsXxhVXXBFFRUXRqFGjyMnJiSFDhkR5eXlm3rp166qE6y22N1YTu1NjRMQBBxwQDRs2rDKWl5dXoxqbN2%2B%2B2/U1bdq02ti2j/eb3/wmHnroofjzn/8c9913Xxx44IHRt2/fuPbaa6NFixa7/ZgAQO0RsAGoprCwMPPGZl27do3NmzfH448/Hk8//XTmVu%2BDDz44IiLGjh0bLVu23OG%2BysrKYu7cuXHllVdmbnuOiNi4cWOsX7%2B%2BytymTZtmQvHWtjdWEzWtcXc0bdo0XnvttWrje1rjrjRr1ixuvPHGuPHGG%2BP999%2BPOXPmxL333hsffPBBTJw4sVYeEwDYMwI2ALt07bXXxrPPPhtjx46N008/PRo0aBDdu3eP/fbbL1asWBH9%2BvXb4dfm5OREkiSRl5dXZfzxxx%2Bvcqt4xOe3TM%2BZMyfWrl2buUpcWVkZs2bN2qO6a1rj7ujcuXPMnj07SkpKolevXpnxp556qtrcLd/zZ599Fvn5%2BV/4sVu2bBkXXXRRLFiwIBYvXvyF9wcApEvABmCXmjRpEkOGDIm77747ZsyYEf37948jjzwyRowYEWPGjIl33303evbsGQUFBbF27dpYunRpHHDAATFixIho3LhxdO7cOSZOnBgHH3xwHHHEEfHPf/4z/vznP0dBQUGVxxk6dGjMmTMnLr300hg2bFjk5%2BfHlClTYsOGDXtUd01r3B3f%2Bc53YvLkyfHTn/40Ro4cGV/96ldj3rx58dJLL0VE1dvOW7VqFRGReUO0Bg0aROvWras92bAjZWVlcckll0RxcXEcd9xx0ahRo1i6dGnMnz8/%2Bvbtu1t1AwC1T8AGoEYuvvjimDJlSowbNy6Ki4sjNzc3LrvssigsLIw//OEP8dRTT8XGjRujRYsW0b59%2B7jwwgszX3vvvffGL3/5y7j77rujoqIiTjrppJg0aVJcdtllVR6jVatWMWnSpLjrrrviuuuuiyZNmsS5554b/fr1i5/97Gd7VHdNa6ypAw88MCZPnhyjR4%2BOu%2B%2B%2BO3JycqJ79%2B7x85//PIYMGRIHHXRQZm5xcXEsXrw4pk6dmnmH9BdeeCGOPPLIGj1Ww4YN48QTT4y//vWvsXLlyqioqIivfOUrMXjw4Pjxj3%2B827UDALUrJ0mSJNtFAEB9t%2BX3bc%2BdOzcOP/zwbJcDAGSBK9gAsJseffTRiIg47rjjYtOmTbFw4cJ45JFH4txzzxWuAWAfJmADwG7Kz8%2BPyZMnx3vvvRebNm3K3LY9dOjQbJcGAGSRW8QBAAAgBQ12PQUAAADYFQEbAAAAUiBgAwAAQAoEbAAAAEiBgA0AAAApELABAAAgBQI2AAAApEDABgAAgBQI2AAAAJCC/wevX%2BlPCdVrqQAAAABJRU5ErkJggg%3D%3D">
 
 <br>
 <br>
@@ -340,7 +374,7 @@
 <br>
 
 <h3 id="Read_lengths_vs_Average_read_quality_plot_using_a_kernel_density_estimation">Read lengths vs Average read quality plot using a kernel density estimation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVhUZf8/8PcMDPsmCOICggIuaIWKS2bumRuaW7tL%2BZipqWXpY5n1qOVaLvn0NSyyrMwlNHHBJ1fEct8IFURRAWXf12GY%2Bf1BnN8cGGaBgUF4v66L65r1zGfOcJbPue/7c0tUKpUKRERERERERFQrUlMHQERERERERNQYMMEmIiIiIiIiMgIm2ERERERERERGwASbiIiIiIiIyAiYYBMREREREREZARNsIiIiIiIiIiNggk1ERERERERkBEywiYiIiIiIiIyACTYRERERERGRETDBJqql9evXo0OHDujQoQM%2B%2BuijWi9PoVAIy%2BvQoQOSk5ONECWpM/ZvRkT0uFu9erWwX1y2bJmpw2k0xo0bJ6zX8PBwja%2BJjY0VXhMQEFDPET6efvrpJ2GdvfXWW6YOh0jE3NQBUMPw73//G3v37q32eZlMBjs7O7i7u8Pf3x9DhgzBs88%2BCzMzs3qMkoiamvv37%2BO5554T7kulUhw/fhwtW7Y0YVREREREmrEFm/RSWlqKrKws3Lx5E3v27MHMmTMxatQoXL9%2B3dShURN2//594Qp2586dTR0O1YHKF/6USiV%2B//13E0VDRGQ6c%2BfOFY553333nanDabL4O5AubMGmKhwdHdG1a1fRY3K5HCkpKbh//77w2N27dzFlyhT88MMPeOKJJ%2Bo7TCJq5FQqFfbv31/l8b1792LmzJkmiIiIiIhIOybYVIW2K3IJCQlYu3Ytjhw5AgAoLCzEhx9%2BiP3790MqZYcIIjKec%2BfOISkpCQDg7e0NuVyOpKQk3Lt3D1evXsVTTz1l4giJiGrPz88PMTExpg6DiIyEGREZxMPDAxs3bsTAgQOFx27fvo3Tp0%2BbMCoiaozUu4cHBQVh9OjRGp8jIiIiaiiYYJPBJBIJ5s6dK3rs7NmzJoqGiBqjwsJC/O9//wNQvs8ZPXo0goKChOcPHz4MuVxuqvCIiIiINGIXcaqRTp06wcbGBoWFhQAgdOPU19mzZ3HkyBFcuHABaWlpKCgoQLNmzeDj44OBAwdiwoQJsLGx0WtZt2/fRmRkJC5duoS4uDikpqaipKQE9vb2cHd3R/fu3REUFIQnn3zSoBiVSiX279%2BPsLAwxMTEICcnB66urvDx8cELL7yA5557rkFVUb9z5w4OHDiAM2fO4OHDh8jOzoadnR3atGmDZ555BhMnTkTr1q21LkO9YrOZmRlu3LgBAEhNTcXu3btx9OhRPHz4EMXFxXB1dUVgYCAmT56MTp066R1naWkpQkNDcejQIcTFxSE3N1fjel2/fj22bNkCAJgwYQI%2B%2B%2BwzYRm7d%2B/GkiVLRMstKytDhw4dNH7mvHnzMGvWLJ2xXbx4ETt37sS1a9eQnJwMKysreHp6YtCgQZg8eTLs7Oz0%2Bo5Xr17Fvn37cPXqVSQlJaGgoADm5uZwcHBAq1at0LFjRwQGBmLQoEGwtbXVa5mVHT16FLNnzwYAWFtb488//9R7m9m8eTO%2B%2BuorAOVDQjSNcy4pKcGhQ4dw9OhR3Lx5E1lZWSgpKYGlpSWaN28OT09PdOnSBf3790e3bt1q9B20OXLkiLB/CQgIgIeHBwDA398f0dHRyMnJwbFjxzB8%2BPBqlyGXy9G3b1/k5uYCAL788kuMHDlSr8%2B/d%2B8ehg0bJtw/ePAgfHx8qn397du3he3v0aNHyMnJgb29Pdq0aYN%2B/fph0qRJcHd31/qZsbGxQiu9jY0Nrly5AqB8uwwNDcXp06eRnJyMzMxMWFtbC8%2Brf9%2B//voLZ8%2Bexd9//434%2BHjk5ORAKpXC0dERvr6%2B6N27NyZNmgRHR0e91kOFBw8eYMeOHYiIiMDDhw8hlUrh7u6OPn364KWXXhLWTa9evZCdnQ0A2LNnT5V6HnW17gxR2/Ws7syZM/jf//6HixcvIj09HQUFBXB2doavry8GDhyI8ePHw9raWq%2B4YmJiEBkZicuXLyMuLg5paWnCsaxly5bo3r07xo4diy5duhj0fcvKyrBv3z6EhYUJ%2B9zmzZvDz88P48aNw5AhQ%2Bp8iJe%2BMaxevRohISEAgFdffRVLly6tsqwTJ04INRh8fX1x4MABnZ%2Bvz3IrpKSkICIiAufPn0dsbCwePnyIwsJC2NjYwNnZGU899RSGDh2KwYMHQyKR1GR1VFHd/2QF9e2qwpo1a7BmzZoqy6p4f2lpKQYMGID09HQA5etg7NixesUTHx%2BP559/XrgfHh4Ob29vg75TBU3rXqVS4dixYwgNDcWtW7eQlpYGBwcH%2BPj4YNSoUXjhhRdgbm78FCUxMRF79%2B5FZGQkEhMTkZOTIxyX%2B/bti3HjxqFt27bVvr8mvwM1TUywqUYkEgns7e2FE%2BC8vDy93peYmIiPP/4Yf/75Z5XnUlNTkZqaij///BPBwcH4/PPP8eyzz2pdXlBQULXjlrKysoTK5z/99BOef/55rFy5Uq8kJCUlBfPmzauyc0xKSkJSUhJOnTqFPn364Msvv9S5rLpWXFyMVatWYdeuXSgrKxM9V7EOoqKiEBISgjlz5mDGjBkGLf/YsWNYvHgxcnJyRI8nJCQgISEB%2B/btw8KFCzFt2jSdy4qPj8fcuXMRGxsretzU61Uul2PlypX45ZdfRI%2BXlJQgKioKUVFR%2BPXXX/Hdd9/B19dX63I%2B/PBDhIWFVXmurKwMaWlpSEtLw7Vr17Bz504MHDhQuIhgqP79%2B8PJyQnZ2dkoKirC0aNHRS282hw8eFC4rd7tusKNGzcwf/58UVHDCoWFhXjw4AEePHiAyMhIbNmyBV999ZVoKi1jqNw9XP12dHQ0AGDfvn1aE2wLCwsMGzYMu3fvBgCEhYXpnWCr/4adO3euNrkuLCzE559/jt9%2B%2Bw1KpVL0XGZmJjIzM3H9%2BnWEhIRg/vz5mDp1ql6fX%2BHnn3/GqlWrdLbWnzp1Cu%2B//75wMaGy4uJipKSkCL/Z0qVLMWbMGL1jWLNmDYqLi0WPx8XFIS4uDr/%2B%2BisWLVqE119/Xb8v9Y%2B6XneG0Hc9V7h//z6WLFmC8%2BfPV3kuJSVFWNdbt27FqlWr0KdPn2qXVVpaihdeeAG3b9/W%2BHzFfvzGjRvYvn07Ro0ahc8%2B%2BwxWVlY640xKSsLcuXPx999/V3k8KSkJJ06cwLPPPot169bpXFZNNYQY9LVkyRKN/48AkJubi9zcXNy7dw/79u2Dv78/Nm3ahDZt2pggUt1kMhnGjRuH4OBgAMBvv/2md4K9Z88e4XaPHj1qnFxrkpeXh4ULF%2BL48eOix9PT05Geno6zZ89ix44d2Lhxo3BhtbZUKhW%2B/vprfPPNNygpKRE9l5GRgYyMDERFReG7777DtGnT8O6777KuENUKE2yqEZVKJTqR06cV7tatW5g%2BfTrS0tKEx2xsbODj4wNra2ukpqYiPj4eAJCWloZZs2Zh/fr1GDp0aLXLVE%2BuZTIZvLy84OTkBKlUioyMDMTHxwtJZ3h4ONLS0rB9%2B3atLc%2BZmZmYOnUq7t69KzxmYWEBPz8/WFtbIz4%2BHunp6fjrr78we/Zs9OjRQ%2Bd3ryu5ubmYMWOG6EKAubk52rdvj2bNmiE3NxexsbFQKBQoKSnBF198gaysLCxatEiv5UdGRmLOnDlQKpWQyWTw9fWFvb09kpOTheRLqVRi1apV8PDwwJAhQ6pdVlJSEqZMmYKUlBThMSsrK/j6%2BsLKygr3799HamqqXuvV3d0dzzzzDIqLi3Hx4kUA5Rd9%2Bvbtq/H1np6eWr/nRx99JLTiNmvWDF5eXpBKpbh9%2B7bwf56SkoJ//etfOHDgQLUt2QsXLsThw4eF%2B%2Bbm5mjXrh2aNWsGlUqFnJwc3Lt3TzjAq1QqrXFpI5PJMGzYMOzcuRNAeUKoT4IdHR0t/G9LJBKMGjVK9HxKSgqmTZsmukrv6OgILy8v2NraoqioCKmpqXj48KEQv6aT0dpISkoSEheZTCZKokeOHIk1a9agrKwMkZGRSE9PR/Pmzatd1ujRo4UEOzIyEllZWWjWrJnOGNRbxTRdhADKE58ZM2aIpiuUyWRo3749nJyckJOTg9jYWJSVlaGoqAgrV65EVlYW3n33XZ2fD5T31Fi2bJmwXB8fH9jb2yMtLU20HQHAw4cPRftkJycneHh4wM7ODiUlJXjw4IHQkpWfn4%2BFCxeirKwM48aN0xrDzz//LMRQwd3dHZ6enigqKkJsbCxKSkqwYsUKg3pj1PW6M4Qh6xko34amT5%2BOzMxM4TFbW1v4%2BPjAysoKKSkpuHfvHgAgOTkZ//rXv/Df//4X/fv31/j5SqVSlFzLZDJ4e3vD0dERUqkU6enpiI%2BPF7azAwcOID09Hd9//73WJCA9PR1Tp07FgwcPhMcsLS2FfW58fDwyMjIQERGBuXPnomPHjvqvND01hBgMERsbK6xnqVSKNm3awMXFBVZWVsjNzcWdO3eEC03R0dF46aWXsHfvXri6utZpXH369EFeXh5u3bolbMfe3t4ae6WpX3iZNGkStm7dCpVKhfPnz%2BPevXvw8vLS%2BlkKhUI0FeLEiRON8yVQfsx77733EBERAaD8eNuuXTvI5XLcvn1btG6nTp2KHTt2wM3Nrdaf%2B/HHHwvHgQpeXl5wc3NDZmYm4uLiAJRf7AoODkZCQgK%2B/PLLKttXTX8HanqYYFONREdHo6ioSLivreskUH7FctasWUJy3bJlSyxatAhDhw4VdQOKj4/H8uXLcebMGZSWlmLx4sXw9/dHq1atNC7XwcEB48aNw9ChQ/Hkk09CJpOJns/OzsbPP/%2BM//u//0NpaSkuXbqE77//HtOnT6821hUrVoiS68mTJ%2BOdd96Bg4MDgPKToT/%2B%2BAOffPIJLl%2B%2BLFwUMIUPP/xQSK4tLS0xZ84cvPLKK6IEMCcnB5s3b8aPP/4IAAgJCUH37t21JsNA%2Bfd87733AAAzZ87E9OnTYW9vLzx/5coVzJ07F6mpqQCAlStXau0yt2TJEuFkVSqVCsusOClXqVSIjIzE0qVLda7Xfv36oV%2B/fqIu7VKptEbzUR49ehTZ2dlo1aoVlixZgoEDBwoH1dLSUnz33XdYv349AODRo0fYtm0b5syZU2U5165dE5JriUSCWbNmYdq0aaJ1BpS3ZF%2B5cgXh4eGiE/SaCAoKEhLsP//8E5mZmXB2dtb6HvWW2cDAQLRs2VL0/Ndffy0k1%2B7u7li2bBn69etX5UQjNzcXERER2LNnj9G6SVbYt2%2BfkLw/%2B%2ByzcHJyEp5zdXVFnz59EBkZCYVCgbCwMK29J3r27Al3d3ckJyejtLQU4eHhePnll7V%2B/vXr14UESSqVVtvqvWjRIiFBtLa2xrx58zBp0iRRopmVlYVNmzYJvSO%2B%2BeYb9OjRA/369dMag1wux4oVKyCRSDBjxgxMnz5d2AcBECUsFfz9/TF%2B/HgMGDBA4wlfVFQU1q1bJ9TMWL58OZ555plqT2Dj4uKwcuVK4X7r1q2xYsUKPP3008Jj%2Bfn52Lp1K7755hssX768Si%2Ba6tTlujOEoes5Ozsbs2bNErbd1q1bY/HixRg0aJDowu2dO3fw6aef4vz58ygtLcXChQuxf/9%2BtGjRQmMcTk5OGDduHJ577jl07dq1SvfYzMxM/PTTTwgODkZpaSnOnj2Ln3/%2BWWuvgU8%2B%2BUQU/5tvvom3335b2CeVlZUhPDwcy5Ytw9mzZ%2BukinVDiMEQMpkMo0ePxogRI9C7d%2B8qPd4qhs6sXbsWGRkZSEtLw7Jly4QhN3Vlw4YNAMrnX66YxWXixIl48803tb7Pw8MDffr0EXoN/vbbb1iwYIHW95w8eVI4V7O3txd1Fa%2Btw4cPIysrCw4ODvj4448xcuRIYbtR35eoVCokJiZi6dKlNe7lVWH37t2i5Lp79%2B5YtmyZ6Lz1/v37%2BPTTT4X1dPjwYXTt2rXK%2Bq3p70BND/s/kMFUKhU2b94sekx9rKIm69atE8Zpe3l5ITQ0FMOHD69yEuHt7Y3g4GA888wzAMoT86%2B//rra5Z46dQqLFy9Gjx49qiTXQPlJy%2BzZs/HFF18Ij23fvh0KhULj8q5cuSLqPjtjxgx89NFHohMuqVSKYcOGISQkBFZWVsjKytL63evKoUOH8McffwAov1L6ww8/YMaMGVVaVx0dHfHRRx9h3rx5wmNr167V2Xpa0eK6bNkyvPvuu1USxYCAAGzevFlIrhITE4XW5MpOnjwpGhawaNEizJs3T3QyLZFI0K9fP/z4449wcnKqt/WanZ0NV1dX7NixA4MHDxYlkjKZDDNnzhQlZNVVrz516pRw%2B4UXXsDcuXOrrDOgfGx7jx49sGTJEqxdu7ZWsXfv3l1IpBQKhaj1XBOlUolDhw4J9zW1zFa0LADl/yf9%2B/fX2Erm4OCAUaNGYdu2bTov1hhKvfVEU6u8IdXEJRKJKEHW1H2/MvXW6549e2pMivbu3Sv85jY2Nti%2BfTumTZtWpRW3WbNm%2BOSTT4QxoyqVSuN4vcoUCgWKi4uxZMkSvPfee6J9EFC1V8aYMWMQGhqKV199tdpaC127dkVISIiQoBYWFgoXaDRZt24dSktLAQDOzs7Yvn27KLkGADs7O7z77rtYsGABCgsLq3S/1KSu150hDF3Pq1evRnJyMoDyC8uhoaEYOnRolV5R7du3R0hICHr27AmgfD9T0VW3MgsLC5w8eRKLFi1CQECAxrGnzs7OmDt3Lj7//HPhsR9%2B%2BKHa3iNnz57F0aNHhfvvvPMOFi5cKNonmZmZYeTIkdi6dSssLCyMvs9tCDEYauvWrVi3bh0GDRqkcTiZpaUlXnjhBfz000/C80ePHkVCQkJ9h6q3SZMmCbf37t1b7flPBfXu4aNGjTJqS2xWVhZkMhmCg4MRFBQk2m4q9iUVF/aB8vH2kZGRNf68goICrF69WrjfrVs3fP/991Uahdq2bYvg4GBRL7iNGzfW%2BiI4NV1MsMkgCQkJmDdvHk6cOCE8NmrUKK1FrjIzM0UnwatXr9baymZubo5ly5YJJxlhYWHIz8/X%2BFp9izoNGzYMAQEBAMq77FUU76pM/WTT09MT77zzTrXL7Ny5M9544w29Pr8ufPvtt8Lt2bNnC9%2BvOjNnzhTGUd27dw9//fWXzs%2BoKI5WnSeffFI0F/Hly5c1vm7Xrl3CbX9/f0yZMqXaZXp4eGhd73Xh3//%2Bt9YiSurxJiYmCq326ipOugHoXfSrtkXyDE0ez58/L/QikMlkGlsm1LvE6vqfqmDMYn%2BXLl0Shh/Y29uLpgSsMHToUKFwVExMDG7evKl1mepJ%2BuXLl7UWZax8EaK6bvfqvSXmz5%2Bvs5jX3LlzhbGasbGx1V6MUhcQEIDXXntN5%2BsA/feFZmZmeP/994X7lcdBVqgo9FRh/vz5Woskvvnmm9UWGaysPtadIfRdzykpKcI2JpFIsHbtWlHvispkMhmWL18uXKAKDQ3VeAFCIpHoXQgtKCgInTt3BlB%2BPK5cz6KC%2BrGsffv2ePvtt6td5hNPPGHw%2BHl9NIQYDKXvdtSuXTshcVUqlaJzooZmyJAhcHFxAVA%2B/E79YnBllbd7Y3YPr/Dqq69qPbZMnz5ddE7566%2B/1vizwsLChBpB5ubm%2BOyzz2BpaanxtTKZDCtWrBAuKJSUlFTpVk6kLybYVEVMTAzefPNN0d/kyZMxbNgwDB06VOgWAwB9%2B/bF8uXLtS4vPDxcOKmonJBVp3Xr1kKSUlxcjGvXrtXiG5V74oknhNtRUVFVnlepVKKTzYkTJ8LCwkLrMl955RWTFMK4c%2BeOUOhJJpPp7PIKlLe8q4%2B3PXfunM73qF/5ro56Mqnetb6CQqHAmTNnRMvU1aV47Nix9TZ%2BydHRUWcXOG9vb%2BEEBdD8PdUP2rdu3TJegDqoJ4BXrlzR2pKinoAPGDCgSmsdANH/vCm6a6pfjBs2bJjGkyFbW1sMHjxY43s06dixI/z8/ACUb%2BfqvVQqO3v2rNA90tLSUmPxths3bghjZq2trfU6CTUzM8OIESOE%2B/psf3VxcguUr4%2BK9Voxhrqy06dPC929bWxsqh2HXkEqleq1v6ivdWcIfdfz4cOHhRb9wMBAIdHVxsvLSzj2FBYWajz2GErXsaysrAwnT54U7r/44os6L4K9%2BuqrRh3q0RBiqGvqM5MY43etKzKZDC%2B88IJwX72FurK9e/cK233nzp3h7%2B9v9HheffVVrc9LpVLROc2pU6eE7c5Qx44dE24/88wzaNeundbXt2rVStQjS/39RIbgGGyqIicnR2eXHC8vL8yaNQtBQUE6D4iXLl0Sbvfq1UvvOPz8/IRCR9HR0dUWsALKx8r%2B9ddfiIqKQkJCAvLy8lBSUiLqBq1eEVlT4Zr79%2B%2BLKmXrM87P1dUVnTp1EpLd%2BqLeguPv76%2BxK7Im6hWw9YlZn4sh6i2/mioYx8XFiaoP6/M/YGdnB39/f9H/Tl3p0qWLXtOBtGjRAhkZGQA0V81Xnzrnl19%2BgYeHB15%2B%2BeVqr5Ybi6%2BvLzp27Cgk9QcOHNDYUiSXy4V5pYHqC3d16dIFFy5cAAAsWLAAn3/%2BObp3714HkVdVXFyM8PBw4b62om1BQUFCV%2B6wsDB88MEHGoeJVBg9erQwVCQsLKzaavqVL0Jo2rbUt7%2BuXbvq3eqlvv1V14tGXU3Xe0pKCs6cOYNbt24hIyMD%2Bfn5VbqFVnQtVigUyMjIqFLnQj1h0Pc76rNt19e6M4S%2B61k9dkOOZb6%2Bvrh69SqA8v2utgKOFVOtVRzL8vPzqxzL1OtTaDqWxcXFCTN8ABCGXGnTunVrtG/fXij2VFsNIYbaunr1Kq5cuYI7d%2B4gNzcXhYWFot9BvTu7pt%2BhIZk0aRK%2B%2B%2B47qFQqREREIC0trUphNpVKhd9%2B%2B024P2HCBKPH4enpqbPoKADRDDJyuRwxMTEGT08HQFREUdesNBUGDhwoHFtu3rwJuVyus7GFqDIm2FQjiYmJiIuL0%2Btqs3p11GPHjul9cqSeEFc3LkuhUGDbtm3YunVrlbkJtdGUIKkXYpFKpWjfvr1ey/Lx8an3BFt9nSYmJupdYEN9Hekz1k1bdeYK6l0bK0/jA5RXN65gbm6udY5Jde3atauXBFuf7wiIK4KqF/irMHz4cGzYsAGpqalQKpVYuXIlNm/ejH79%2BqF3794ICAiAr69vnbTQjB49WmeCHRERIVwAsbe3x4ABAzQua%2BrUqUKCfe/ePbzyyivw9vZG//79ERgYiICAAFFrvjEdPXpU2Dbd3d2F8aua9O3bFy4uLsjIyEBmZiYiIiJErdqVjRo1Cl9%2B%2BSVUKhViY2MRExNTpUuzXC4X6hoA1Sf46glAfHy83tuf%2Bng%2BfbY/Q6f/SUxMxMqVK3H8%2BHGDKrtr2h8%2BevRIuK2r1aeCt7c3JBKJ1voO9bXuDKHvelbf74aHh%2Bs9x616Qlxd7KWlpQgJCUFISIhBxzJNw6fUe7FUzK6hDx8fH6Mltw0hhpr6448/sHbtWo3TFFanumFsDUXbtm3Rq1cvnD17FgqFAnv37q1ykfHcuXPCeZCVlZXe0z4aQts0l%2BpatmwJOzs7Yb0%2BePDA4AQ7NzdXtC1V9GLSRf24IJfLkZKSYrTpwqjpYIJNVfTs2RPbt28X7isUCqSkpODmzZsICQnBpUuXoFAoEBwcDIVCoXPKJ/Ud3J07d3Dnzh2DY9J08CotLcU777xTo7FPmuY6VW99tbGx0fuKpbYxeHVFfZ2mp6fXqAiIrhMCMzMzg8fWajqxVj95t7W11btLvb6t8rWlrdWzOpq%2Bp42NDbZs2YKZM2cKY7Tz8vJw6NAhYUyvs7MzBgwYgAkTJhi1VXjUqFH44osvoFQqERcXh5s3b1api1AxDRkAPPfcc9W2rA8ZMgTvvvsuNm7cKCRp8fHxiI%2BPx7Zt2yCRSODn54fnn38ekyZN0vsChT7Uu3qPGjVK68UIc3NzjBgxQthX7du3T2uC3apVK3Tv3l1ohQwLC6uSYJ84cUL4f3V0dKy2xUN9%2B6uY29xQmpJadVZWVnr1rKhw48YNTJ06tcp89frQtD9Uj0/TUAJNzM3NYW1tLWq5rKw%2B1p0hDFnP6rHfvn272nmrtdG035XL5Xj77bdrtB/X9Nup/w84ODjovR835rGsIcRQE1999VWVIq760Hf%2BdFN68cUXhRkEfvvttyoJtnrX8WHDhtXJMdiQ39fR0VHYXmqyX6vco06f6Rk1vS4nJ4cJNhmMCTbpZG5ujtatW6N169YYPHgwli5dKhStCgkJQe/evaud3xPQ3NpnKE2tMVu3bhUl1926dcOYMWPQtWtXtGzZEra2tqIkYv369Vqne1Af42NI0mWKrkN1tU7rQm3men7c%2BPv74/Dhw/jhhx8QGhqKxMRE0fOZmZkIDQ1FaGgoBg0ahM8//1zvg7427u7u6NGjhzCkIiwsTJRg5%2Bfniwrb6GqZmDlzJvr3749vv/0Wx44dE/2/qVQqxMTEICYmBsHBwZg/fz6mTp1a6%2B%2BQkpIiKry3Y8cOrWMFAfFJ7YkTJ5Cdna31BG706NFCgn3w4EEsWLBAlMSrVw9//vnnq922tSWQ%2BtK1XRhS20Eul2PevHnCSaiVlRXGjBmD/v37o127dnB1da2SSPbq1UtrS2ldbbf1se4MYch6rqv97n//%2B19Rch0YGIigoCB06dIF7u7uVY5lq1evRkhISLWf0RCOZQ0hBkP99ddfouTa09MTEydORPfu3dGmTRs4ODjAyspK2GecOHFCqHD/OBgyZAicnZ2RmZmJe/fu4fz580IvodzcXFHvnbqq/1DT/4WaXMCo/B59P7vy/%2BDjcPGEGh4m2GQQiUSCpUuX4tq1a0IBpP/85z8IDw%2Bv9sBob28vXElcu3atUbodKRQKfP/998L9KVOm4MMPP9T6noKCAq3Pq09vpeu1hiy3Lqi3KE2cOBErVqyo9xj0pR5rQUEBlEqlXie1xmylqk92dnaYPXs2Zs%2Bejfj4eFy4cAHnz58XFc8CylaocwUAACAASURBVKs3z5gxA7/%2B%2BqtRqnAHBQUJCfbBgwfxwQcfCCeCf/zxh9B9v0WLFlq7Xlfo1KkTvvjiC8jlcly9ehUXL17E%2BfPncfHiReHkuaioCCtXroSZmVmtKwD//vvvojmUDd2uSktLcfDgQa0FdIYPH44VK1agtLQUDx8%2BxKVLl4TxsHl5eaKLENqKeqn/T7/22mv4%2BOOPDYrV2A4fPizq2vnLL7/oLE6kK9FV/46aaitoolAodCahDW3dGcLBwUHYhjdt2qRzekp9yOVy/Pjjj8L9f/3rX6Iq75o8DseyhhCDOn0uKH/zzTfC7Z49e2Lr1q1ai22a4thfGxYWFhg7dqxwcWbPnj3CsSAsLEw4Rnh5eSEwMLBOYqjp/0JNWtMrv0ffz67cy0TfHjxE6lhFnAwmk8lEJ0VJSUnYsWNHta9XH69pyJgmbaKiooSTPhsbGyxYsEDnezRNraROfeowuVyud9fFyq2U9UE9VmOt07qiXjxJoVDoHa%2BmSt2PG29vb0yaNAnr1q3D6dOn8eOPP4oKHF2/fl3n3NX6Um9xTU5OFsZRA%2BLCXSNHjjSo1c7CwgI9e/bErFmzsG3bNpw9exaffPKJqKV448aNGsffG0J97uua0lVNvHK3b/X1cuTIEaGadsuWLbUWolLf/u7du1fDaI1HfY758ePH60yus7KydLbKtGzZUrit77YYHx%2Bvs3W5oa07Q9TFfvfy5cvCxQ5HR0fMmzdP53t0HcvUj7l5eXl6XyAx5rGsLmNQb4nUt7q0rs%2BXy%2BWiInYLFy7UOZOFrt%2BhIXrxxReF20eOHBEuZKv3FqqL4mYVtE2RqK64uFgoKgqgRnU/HB0dRRev9f3/Vq/HA0DrtLJE1WGCTTUSGBgoqgoaHBxc7Qm2%2BlQW%2Bsy9rA/1Ajx%2Bfn46KzWrVCqdU3117NhRlHjoM%2B2GUqms9wJngLi699WrV43S7bKu%2BPj4iAqhVbSyapOfn6/XelX/vRp6V3SJRIJevXrh22%2B/FRX8UZ/CrDYqFy6rSB7T09OFcXeA7u7hutjZ2eGVV17B%2BvXrhcfy8vJE1VoNdf36dVFho6NHjwrd0HX9HT16VHhfVFSUzhoP6i3T4eHhwgm6evdwXeO/K8/9buouhOqFBHXNKQ1Ar%2BJc6suJiorSq3u0Ptt2Q1t3hlCPvS6OZR06dNDZjVWpVOp1LFOnz7FMoVAYdXrBuozB1tZWuK1v4l7dfOEV0tLShH2BmZmZXtNT6VvkzpjU90s1OeZ5eXkJrdbFxcUICwvDjRs3hOKz5ubmoim9jO3WrVt6bfPR0dGiHk2Va4row8LCAj4%2BPsJ9fad7VX%2Bdu7u7xgS7tr8DNX5MsKnG1CsVp6enY%2BfOnRpfp56IX7582Shz66pftdanKvNff/2F5ORkra%2BxtbUV7cQrClNpc%2B7cOdFV1vrSs2dP4URMLpfrbLkzJXNzczz99NPC/Z07d%2Bo8IP3%2B%2B%2B96tYiqJ%2B5KpfKxOFm3trYWTTmXnp5utGWrJ49HjhyBXC7HoUOHhBMVHx%2BfGp2oaNKnTx/RFEu1%2BR779u0Tbvv7%2BxtUUMbDw0N0MqxrWxg0aJDQfTU7OxunT59GamqqaG5lXXM%2B9%2B7dWxjPXFhYaJTW99pQn4JLn/2h%2BvquTr9%2B/YTWn8LCQlFrvyZKpVKozaFNQ1t3hlDfbs%2BdOyeqDl5Thv52p06dElVU16RZs2aixEKfY1lkZGSNCkmZIgb1XlGZmZk69z2PHj3CzZs3tb6m8jR2umRmZorm%2Ba4v6vvcmvYaUm/F3rNnD3bv3i3cHzhwoFELV1ZWWFiIiIgIna9T/3/x9PSEm5tbjT5PvSfS4cOHRUm7JiqVSnSxtbqeTMb4HahxY4JNNdajRw/RWM5vv/1WY4Lz7LPPwtvbG0D5zuuTTz6pdSKkvrONiYnROrZGLpdj1apVei1XvXXv0KFDWq96K5VKbNy4Ua/lGpujoyPGjh0r3N%2B0aZPeXa9MYdKkScLt6OhoUZX6ypKSkvDVV1/ptVwnJydRi4/61DD1zZCr2Oo9DhwdHY0Ww4ABA4TxYjk5OYiIiBAlRrparw35DnK5XHSyUtPqv3K5HAcPHhTu12Rcq/p79u/fr3W8paWlJZ577jnh/oEDB3Do0CHhPR06dKhSXbyy5s2bY8SIEcL9DRs2mHQeXPX5bC9fvqz1tWfPnhXNh16dFi1aiLrTb9iwQdTaWtm2bdv0an1saOvOEIMHDxam9CorK8PSpUsNTswqU//tbty4ofVkvaSkBGvWrNFruWPGjBFu//7771ovBpSVlWHTpk16LdcQdRVDixYtRF2Gjxw5ovX1mzZt0plYubi4CBc4ysrKdLZ2rlmzxiQXdNWT35oe75577jmhuGZ0dHSdz31d2VdffaV1u0lISBAl/bVpUR8/frxwOykpCb/%2B%2BqvW1%2B/bt0903lfd%2BjDG70CNGxNsqhX1VuzU1FSNVX%2BlUik%2B%2BOAD4f6VK1cwc%2BZMnS2/RUVFCA0NxRtvvFHluSeffFIYb1pYWIjVq1drTA7y8/Mxd%2B5cvVvNx48fL%2Bw4y8rKMHv2bI0nlWVlZVi2bJlJuohVmDVrlpCcZWdnY/LkyTq7VSuVSvz555948803q4wzqksDBgwQtWKvXLkSX331VZULI2fOnMHrr7%2BOrKwsvaprm5ubi%2Ba2/OGHH%2BqtOnpl8%2BbNw9atW3XO0RsVFYXw8HDhvjGLyVhYWIiSzW%2B%2B%2BUboui2RSDBy5Eit709ISMBrr72GkydP6jwh3bRpkzBm2cLCAk888USNYq6o/l2hJgn2888/L9xOSUkRjUnWRP1Cw/Hjx0UnmLparyu88847Qkt4eno6Jk%2BerHM/U1ZWhoiICEyZMsWoSaX6hc69e/dWm2RfuXIFc%2BfO1ftCyvvvvy9cwMrIyMDrr79epWt0fn4%2BNmzYgDVr1sDGxkbncB2gYa07Q5ibm4sKkJ0/fx6zZ8/Wuc0XFhZi9%2B7dVaZFAoCAgAChRT8vLw/r1q3TuIy8vDzMmjVL7/HwEydOFC56lZaWYtasWRrXm0KhwMcff1wnQ53qMoYhQ4YIt7/%2B%2BmvRMAl1wcHBCA0N1bk8Ozs7dO7cWbi/atUqjUOvlEol1q9fb7JeY%2BoxHj9%2BvEbH8YpiZxUq9uMtWrRAv379ah%2BkDrdu3cJHH32kcfx8eno6Zs2aJcTk6OiIl156qcaf5e/vL/pOq1atEhWzVHfu3Dn85z//Ee4HBASgT58%2BGl9rjN%2BBGjdWEadaefrpp/HUU0/h6tWrAMqnzpo4cWKVcWSDBw/GW2%2B9JVTpPHPmDAYPHoyRI0eiZ8%2BecHNzg5mZGXJzcxEfH4/r168jMjIShYWFaNGiRZXPtbGxwYQJE/DLL78AKO92HBcXhwkTJsDDwwOFhYWIiorCrl27kJKSAltbWzz77LM6C0rZ29vjo48%2BwrvvvgugvNjF6NGj8fLLL6NHjx6wtLTE3bt3sXv3bty4cQOWlpbo27cvjh8/Xut1aahWrVph7dq1mDVrFhQKBRITEzF%2B/HgMGDAA/fr1Q9u2bWFlZYX8/HwkJSXh77//xunTp4XibfU9bmjFihV4%2BeWXkZKSAqVSic2bN%2BPbb7%2BFn58frKyscP/%2BfeHkq1u3bujRoweCg4MBaJ%2B6ZdSoUcKJ2c6dO3H8%2BHFhmRVGjx6N4cOH1%2BG3Kx/Dt27dOmzYsAG9e/dGQEAA/Pz84OTkBIlEIiR%2BYWFhQstH69atMWrUKKPGMXr0aOHqv/q46G7dugmtb9VRqVS4cOECLly4IMzZ3aVLF7Rp0wZ2dnYoLi7G3bt3cfDgQdHFpddee01UNdgQ6ieqHTp0EI1P11fbtm3RsWNHoQV17969oqEplfXq1Qtubm5ITU1FUVGR0GIhkUj0/j08PT2xatUqzJs3D2VlZbh37x7Gjh2LgQMHol%2B/fvDw8BBtf1FRUYiIiBAuLBpz%2BxszZgw2bdqEnJwcyOVyTJkyBS%2B%2B%2BCL69u0Le3t7pKSk4Pjx40JL/dChQ3HhwgWt03QB5UMKFi9ejGXLlgEovwAzdepUtGzZEh4eHiguLkZMTIxwMvzxxx9j9erVogsvmjSkdWeo4cOH4%2BrVq9i2bRsA4OTJkxg0aBBGjRqFwMBAuLm5QSqVIjc3F3fv3sXVq1dx5swZFBcXw9PTs8ryHB0dMWbMGOEiz/bt2xETE4Px48ejTZs2KCgowNWrV7F7926kpaXB0dERvXv31tlq26xZMyxevBiLFi0CUF6oLigoCC%2B99BK6desGCwsL3L17Fzt37kRMTAysra3Rq1cvo3Z7rssYpkyZgtDQUJSWliI9PR3jxo3D1KlThZovd%2B/exe%2B//45r167B3t4ePXr0EE3rqcnkyZOFWK9evYqxY8filVdeQadOnVBWVoa4uDiEhoYK3c0nTJigcypBY%2Bvfvz/s7e2FwnHDhw9H586d4eLiItQksbKywpdffql1OZMmTRLNxAIA48aNM8qMFtr069cPly9fxr59%2BxAdHY0XX3wRPj4%2BKC0txZUrV7Bjxw7RBatFixbVusjYihUrMGbMGGRnZ0Mul%2BOtt97C8OHDMXToULi6uiIjIwMnTpwQ9X6ysbHBypUrq12msX4HaryYYFOtvf3223jrrbcAlBfb2bdvn8Y5FN977z04OTlh7dq1UCqVKCoqwp49e2p8gFqwYAEuXrwonBxfunQJly5dqvI6S0tLrFmzRq8iKwAwYsQIJCYm4osvvgBQ3nIQHBwsJHsVpFIpli5dioSEBJMk2ACEuYrnz5%2BP7OxsqFQqnDhxQueJhCm0bt0a27Ztw7x584TfrLi4uEpxrD59%2BuDLL7/E1q1bhce0TdHx2muv4fjx40LV7LS0tCoV4Lt06WKsr6GTQqFAZGSkaF5bTZo3b46vv/5aVLDHGHr27Al3d/cqNQf0bZmtoD5ntzZDhgwRLkgZKiMjA6dPnxbu12bao%2Beff15IsI8ePYr8/Pxqk36pVIqRI0dWOcEMDAwUVc/WZejQodiyZQvee%2B895OXlQalU4tixYzh27FiNv0dN2NvbY/Xq1ZgzZw4UCgXkcjm2b9%2BucShGp06dsHLlSlELoDYV056pJ86PHj0S9eyRyWRYuHAhxo0bh%2BXLl4viqk5DWXc1sXjxYjRr1gwbNmyASqVCYWEhdu3apdcYdE3%2B/e9/48qVK0Lr9Pnz5zUWjLO2tsbatWtFRQu1GTt2LBITE4UhN9nZ2diyZUuV15mbm2PZsmW4efOm0ccV11UM7du3x/vvvy8kQVlZWaLCixWsrKzwxRdf4OzZszqPi2PHjkVERIQwZOX%2B/fvVJlnvvPMO/P396z3BtrGxwfLly/HBBx%2BgtLQUCoWiyjFUfXxwddq1a4fAwEDhuCmRSETdqeuKp6cnxo8fjw8%2B%2BAC3b9/WOsXo22%2B/bZSY3N3d8cMPP%2BCNN95ARkYGVCoVDh06VG1dAEdHRwQHBwtDGzUx1u9AjRe7iFOtDRgwQFRkKDg4uNrxNW%2B88Qb279%2BPESNGaG2VBMoPoG%2B99RZ%2B%2BOEHjc/b2dnhl19%2BQVBQULXTDgUEBGDXrl16n0xWmDFjBrZs2VJti5%2B3tze%2B/fbbehmvpEufPn1w%2BPBhTJ8%2BXec4WFdXV4wfPx4//fQT2rZtW08R/n/t2rVDaGgo/vOf/6Bnz55wcXGBhYUFWrVqhf79%2B2P9%2BvX47rvv4OzsLBpCoK27uIWFBbZt24bPP/8cAwYMgLu7u87pVerCW2%2B9hREjRujs2l5RhTssLKxKpV1j0NQVXCaTibpRV8fNzQ0LFixA9%2B7ddVYzbteuHT777DNs3rxZ57ZcnbCwMNG%2BQp8Yq6P%2B3uLiYp29VTRdcDD0IgRQXmMiPDwc06ZN0zlfaosWLTBp0iT88ssvcHd3N/iztBk4cCBCQkLQrl07jc/b2tpi8uTJ2Llzp8Fzyr766qs4cOAApk2bhvbt28PGxga2trbw8fHB66%2B/jn379mHy5MkoKioSutVKJBKd9QUayrqriZkzZ2Lfvn0YNmyYzv9/X19fzJw5E999953G5x0cHLBjxw6MHDlSY6EziUSCwMBA7N69G/379zcozjlz5mDz5s2iwmDqfHx8EBISUuvZBUwRw9SpU7Fq1apqWzifeuop7Nq1y6B1tm7dOsyZM6fa5MjLywubN2/GnDlzDIrVmIYPH469e/fitddeQ6dOnWBvb1%2Bjlmf1WhN9%2BvQxqLhkbQwfPhzbtm0TDe9S5%2B7ujo0bN2L%2B/PlG%2B8yOHTviwIEDePHFF6s9P7CwsMC4ceMQFhYmmjGgOsb6HahxkqhYX55MpLi4GJcvX0ZiYqLQVdHe3h4eHh7w8/MzqGpkSkoKzp07h%2BTkZMhkMri6uuLJJ5%2Bs9QFDpVLh8uXLiI2NRW5uLlxcXODr6yuaeqwhqZg27Pbt28Jct3Z2dnB3d4ePj4/WK7INzfDhw4UWnW3btlU7Fqohio%2BPx507d/Dw4UMUFBTAzMwMjo6OaN%2B%2BPbp27arXOFVTKykpwc2bN3Hv3j1kZGSguLgYNjY2cHV1RadOndC%2BfXtTh9jglJWVibY/hUIBW1tbtGzZEr6%2BvvVyUUupVOL69euIjo5GXl4eHB0d0apVK/Ts2VNUdb8unD9/Hq%2B//jqA8m77%2BhRTq9AQ1l1NFRUViY5lEokE9vb28PT0RIcOHQyqyvzo0SOcO3cOqampkMlkcHNzw5NPPqlzeIcuKpUKly5dQmxsLPLz8%2BHi4gI/Pz%2B9pnUzFn1iWL16NUJCQgCUX9hZunSpzuXK5XJcuHABd%2B7cQXFxMVxdXdGlSxf4%2BvrWONa8vDycO3cODx48gEKhgJubm7D/bgxKS0vRv39/4UL2%2BvXrRcUHjUnbbxodHY2YmBikp6fDzs4Ovr6%2B6N69e7WNJsZQXFyM8%2BfPIzExEbm5ubC3txf2kcbuUUZNFxNsImpwrly5IhQ2kclk%2BPPPP3W2cBGRaS1atEiYAmzMmDF6V7wmqlCTBJsMFx4ejnnz5gEo7yEWERFR455IuvA3paaIXcSJqEHJz8/Hxx9/LNwfPHgwk2siE9H3GvyJEydEc1rXZmodIqpb6sMVxo8fX2fJNVFTxQSbiOpFQUEBgoKCsGPHDqSmplZ5XqFQ4OjRoxg/fjxu374NoLz1uqKAHhHVv%2B3bt%2BODDz5AZGSkxnl/MzIysGHDBsyZM0dIxrt3747evXvXd6hEpINKpcKWLVuEglwWFhaYPHmyiaMianxYRZyI6k1MTAw%2B/fRTfPrpp3B3d0erVq1gaWmJvLw83L17t8q8o%2B%2B9955ovkkiql%2BlpaXYv38/9u/fD5lMBm9vbzRr1gwqlQqpqam4f/%2B%2BqJXbxcUFq1ev1lisi4jq36lTp7Bz504oFArcuXMHiYmJwnOTJ0/WOBUqEdUOE2wiqheVT7iTk5OrTCVVwd7eHosWLdI43RsR1R/1YkOlpaXCFHuadO3aFevXr6%2B3asREpFtCQoLG6e%2BeeuopvPPOOyaIiKjxY4JNRPXCxsZGmOf20qVLuHPnDlJSUlBUVAQLCws4OTnB19cXTz/9NMaNG8dx10QNwOTJk9GpUyecPn0a169fR0JCArKyslBaWgp7e3s0b94cAQEBGDp0qMFTSBFR/ZLJZPD09MSIESMwffp0k0xpSdQUsIo4ERERERERkRGwyBkRERERERGRETDBJiIiIiIiIjICJthERERERERERsAEm4iIiIiIiMgImGATERERERERGQETbCIiIiIiIiIjYIJNREREREREZARMsImIiIiIiIiMgAk2ERERERERkREwwSYiIiIiIiIyAibYREREREREREbABJuIiIiIiIjICJhgExERERERERkBE2wiIiIiIiIiI2CCTURERERERGQETLCJiIiIiIiIjIAJNhEREREREZERMMEmIiIiIiIiMgIm2ERERERERERGwASbiIiIiIiIyAiYYBMREREREREZARNsIiIiIiIiIiNggk1ERERERERkBEywiYiIiIiIiIyACTYRERERERGRETDBJiIiIiIiIjICJthERERERERERsAEm4iIiIiIiMgImGATERERERERGQETbCIiIiIiIiIjYIJNREREREREZARMsImIiIiIiIiMgAk2ERERERERkREwwSYiIiIiIiIyAibYREREREREREbABJuIiIiIiIjICJhgExERERERERkBE2wiIiIiIiIiI2CCTURERERERGQETLCJiIiIiIiIjIAJNhEREREREZERMMEmIiIiIiIiMgIm2ERERERERERGwASbiIiIiIiIyAiYYBMREREREREZgbmpAzAllUqFzMwCKJUqU4fSJEmlEjg72/I3MBGuf9Pjb2BaXP%2Bmx9/AtLj%2BTYvr3/hcXe1NHQJR027BlkgkkEolpg6jyZJKJfwNTIjr3/T4G5gW17/p8TcwLa5/0%2BL6J2qcmnSCTURERERERGQsTLCJiIiIiIiIjIAJNhEREREREZERMMGuoTKVEpcy7yOxMNPUoRAREREREVED0KSriNeEUqXCxcx47E28gpTiXJhJpHjVqzcGuHUwdWhERERERERkQkyw9aRSqXA9OxGhiZeR8E%2BrtblECoVKiR/j/8S9/HS86tUbMqmZiSMlIiIiIiIiU2CCrYdbuY/wW8Il3MlPAwBYmcnwjJsPnnL0wIXMe4hIjUVEWiwSi7Iw23cgmlnYmjhiIiIiIiIiqm9MsLWIz09DaMJlROc%2BBADIpGbo49oe3Zu1hUxS3lLdy6UdXC3tceDhddzNT8N//g7DLJ8B8HNwN2XoREREREREVM%2BYYGtQqJDj%2B7uRuJR1HwBgJpGiZ3Mv9HRuB0tp1VXWzs4Vr3v1we9JV5BanIe1t8LxkmcvDGrRERKJpL7DJyIiIiIiIhNggq3BnoSLuJR1HxJI0N3FE32at4e11ELre5pZ2OCVtr3wv0c3cCP3IX6%2Bfxb3CtIx2bsPZBqSciIiIiIiImpcmPlV8qgoGxGpsQCA19v1hrulo97vtZCaY2Srrmhh7YCTKbdwJj0OSUXZmO07EC6WdnUVMhERERERETUAnAe7kt0PLkIJFfwdW6GlpZPB75dIJAh09sJEzx6wMbPAvYJ0fBZ9EAWKkjqIloiIiIiIiBoKJthqYnKTcTU7AVJI8KybH1RQ1XhZXrbN8bpXbzhb2CC7tBAHHl4zYqRERERERETU0DDB/odSpcLOBxcAAD2be8Pe3KrWy3S0sMHgFp0AAEeTbyKlOKfWyyQiIiIiIqKGiQn2P85nxONeQTospebo3by90ZbrbeeKdnauKFMpsevBRaMtl4iIiIiIiBoWJtgASpUK/JZwCQDwbAs/WPwzx7WxDHTrAAkkuJL1ADdzHhl12URERERERNQwMMEGcCzlJjLk%2BXCSWeMpJw%2BjL9/F0g5PNStf7q8PzkOpUhr9M4iIiIiIiMi0mnyCnV9aggNJ1wEAA907QgJJnXxO3%2BY%2BsJKaI6EwE2fS4%2BrkM4iIiIiIiMh0mnyC/XviFRSWydHK2gl%2Bdu519jk25hbo09wHAPBbwmUUlZXW2WcRERERERFR/WvSCfajgmwcfXQTADDIvVOtpuXSRzdnTzhb2CC3tAiHHl6v088iIiIiIiKi%2BtWkE%2Bwfb/2FMpUSfg7uaG3tVOefZyaRor9bBwDAkUd/I70kr84/k4iIiIiIiOpHk06wIx/dhgTlVb5Vqrptva7gY%2BeGtjYuUKiU2PNP5XIiIiIiIiJ6/DXpBBsAejT3gpPMut4%2BTyKRYGCL8lbs8xnxuJ2XUm%2BfTURERERERHWnSSfYFlIzPOPmW8cjr6tys3LAE05tAAC/3j8PZT21nhMREREREVHdadIJ9sDWHWEllZnks59x9YWF1AzxBek4l3HXJDEQERERERGR8TTpBPtpdx%2BTfbaduSV6u7QHAOxJuIgSTttFRERERET0WGvSCbbMzMykn9/DuS0cZdbIkhciPDnapLEQERERERFR7TTpBNvUzKVm6O/mBwA4/DAKWfJCE0dERERERERENcUE28Q62JfPwS1XKnAs5YapwyEiIiIiIqIaYoJtYhKJBL1c2gEATqTcQhHHYhMRERERET2WmGA3AO3tXOFiYYuislKcTos1dThERERERERUA0ywGwCJRIIezl4AgD8eRUOhVJo2ICIiIiIiIjIYE%2BwGwt%2BxFWzMLJAhL8DFrHhTh0NEREREREQGYoLdQJhLzdDNuS0A4MijaKhUKhNHRERERERERIZggt2ABDh5QCYxw/2CDNzKfWTqcIiIiIiIiMgATLAbEGtzC3R1ag0ACE/%2B28TREBERERERkSGYYDcwPZy9IAEQlZ2ExMIsU4dDREREREREemKC3cA4WdjAz94dAHCErdhERERERESPDSbYDVCgixcA4Gz6XWTJC0wbDBEREREREemFCXYD1MraCW1smqFMpcSxlJumDoeIiIiIiIj0wAS7gerp7A0AOJFyC0VlpSaOhoiIiIiIiHRhgt1AtbdzhYuFLYrKSnE6LdbU4RAREREREZEOTLAbKIlEgh7OXgCA/z2KhkKpNG1AREREREREpBUT7AbM37EVbMwskCkvwMWseFOHQ0RERERERFowwW7AzKVm6ObcFgBw5FE0VCqViSMiIiIiIiKi6jDBbuACnDwgk5jhfkEGbuY%2BMnU4REREREREVA0m2A2ctbkFujq1BgAcSf7bxNEQERERERFRdZhgPwZ6OHtBAiAqOwmJhZmmDoeIiIiIiIg0YIL9GHCysIGfvTsA4EhytImjISIiIiIiIk2YYD8merp4AwDOpt9BRkm%2BiaMhIiIiIiKiyphgPyZaWjvC08YZZSoVjqbcMHU4REREREREVAkT7MdIRSv2yZQYFChKTBwNERERERERqWOC/Rjxtm0OV0t7lCgVOJF6y9ThEBERERERkRom2I8RiUQitGIfTb4BuVJh4oiIiIiIiIioAhPsx0xHB3c4yKyQW1qMP9Pjh%2BUv1QAAIABJREFUTB0OERERERER/YMJ9mPGTCJFoLMXAODIo7%2BhVClNGxAREREREREBYIL9WOrq1AbWZjKkFOfhctYDU4dDREREREREYIL9WLKQmuOpZp4AgMMPo6BSqUwcERERERERETHBfkx1b9YW5hIp4gvScSs32dThEBERERERNXlMsB9TNuYW6OrUBgAQnhxl4miIiIiIiIiICfZjLNDZCxIAUdlJeFCQaepwiIiIiIiImjQm2I8xJwsbdHBwBwAcSf7bxNEQERERERE1bUywH3M9nb0BAOfS7yK9JN/E0RARERERETVdTLAfc%2B7Wjmhr6wIlVPgjOdrU4RARERERETVZTLAbgV7/tGKfSo1FfmmxiaMhIiIiIiJqmphgNwJtbV3QwsoBcqUCx1NvmTocIiIiIiKiJokJdiMgkUiEsdhHk2%2BgpExh4oiIiIiIiIiaHibYjUQHhxZwlFkjX1GCM%2Bm3TR0OERERERFRk8MEu5GQSqQIdPYCABxIuoaSslLTBkRERERERNTEMMFuRJ5w8oCjzBrZpUX4I%2BWGqcMhIiIiIiJqUphgNyLmUin6ufoCAA49jEIuK4oTERERERHVGybYjUwnh5ZoYeWA4rJSHHh4zdThEBERERERNRlMsBsZiUSCAW4dAAAnUm4htTjXxBERERERERE1DUywG6G2ti7wtm2OMpUSoYmXTR0OERERERFRk8AEu5Hq7%2BYHADifEY/4/DQTR0NERERERNT4McFupNysHNDFsRUAYHfCRahUKhNHRERERERE1LgxwW7EnnH1hZlEilu5yYjKSTR1OERERERERI0aE%2BxGzEFmjW7NPAEAex5cglKlNHFEREREREREjRcT7Eaud/N2sJKaI7EoC3%2Bl3zF1OERERERERI0WE%2BxGztrMAr2btwcA7E28DLlSYeKIiIiIiIiIGicm2E1At2aecJBZIVNeiKPJN0wdDhERERERUaPEBLsJMJea4ZnmvgCAgw%2BjkF9abOKIiIiIiIiIGh8m2E1EZ8dWcLO0R1GZHAcfXTd1OERERERERI0OE%2BwmQiqRoL%2BbHwDgWPJNpJfkmTgiIiIiIiKixoUJdhPiZdscbW1doFAp8VvCJVOHQ0RERERE1KgwwW5CJBIJ%2Brv6QQLgXEY8zmfEmzokIiIiIiKiRoMJdhPjbu2I3i7l03b9GP8nMkvyTRwRERERERFR48AEuwl62rU9Wlo7orBMjm/vnoZSpTR1SERERERERI89JthNkJlEipGtnoBMaoZbuck4khxt6pCIiIiIiIgee0ywmyhnC1sMbtEJABCacBn3C9JNHBEREREREdHjjQl2E9bVsTX87FugTKVE8J0IlJQpTB0SERERERHRY4sJdhMmkUgwzN0f9uaWeFSUg10PLpg6JCIiIiIioscWE%2BwmztrcAsNbdQUAnEi9hatZD0wcERERERER0eOJCTbBy7Y5Ap29AADf3z2DHHmhaQMiIiIiIiJ6DDHBJgBAP1c/uFnZI09RjJD4SKhUKlOHRERERERE9Fhhgk0AAHOpFKNaPQFziRRR2Uk4lnLT1CERERERERE9Vphgk6C5pT0GuHUAAOx6cBGJhVkmjoiIiIiIiOjxwQSbRAKaeaK9nSsUqjJ8E3cS%2BYoSU4dERERERET0WGCCTSISiQTPt%2BwCW3NLJBVl44tbR5hkExERERER6YEJNlVha26JFz17wMbMAvcLMphkExERERER6YEJNmnU3NIeL7UNZJJNRERERESkJybYVC0m2URERERERPpjgk1aMckmIiIiIiLSDxNs0olJNhERERERkW5MsEkvTLKJiIiIiIi0Y4JNemOSTUREREREVD0m2GSQykn2upvhSC3OM3VYREREREREJscEmwymnmQ/KMzE0qh9OJZ8A0qVytShERERERERmQwTbKqR5pb2eM2rN9raOkOuVODn%2B%2Bew5uZhpBbnmjo0IiIiIiIik2CCTTXmZGGDSR6BGOreGRZSM8TmpWBp1O/4g63ZRERERETUBDHBplqRSCQIaOaJqd590dbWBXKlAjv%2Bac1OYWs2ERERERE1IUywySjKW7N74Dm11uxPovaxNZuIiIiIiJoMJthkNBKJBE/905rtZesCubIMO%2B6fw%2Bqbh3Ez5xFUTLSJiIiIiKgRMzd1ANT4OFnYYKJHD1zLTsDJ1BjczkvB2lvhaG3thEEtOqFP8/awMpOZOkwiIiIiIiKjYoJNdaKiNdvbtjkuZt1HVHYikor%2BH3t3Hh5Xed9//3Nm02hfLEu2JFuWN4wBsxrssNgYyMbelNDG5JdCs7RAn%2BRJ2uuhCUlboEmzNAltmiskV0mv0IT%2BmrRhDzuYECALGOMdG8ubLGvft1nOef7QYsmWLc3Mmblneb%2B4xEiznPPVmZGsz3zv%2Bz7demj/6/rFoTd1ydylen/NGSovLzRdKgAAAAC4goCNpCoNFOiK6tN1ceVS7ext1pudB9QZGtBzR3fouaM7dP6heq2fe5pOL6qRx7JMlwsAAAAAcSNgIyWCXr/OLV%2Boc8oW6MBAhzZ3H9Sevla92XZAb7YdUFWwWKsrGnRGaY2WFlXJ5/GaLhkAAAAAYkLARkpZlqVFRZVaVFSp3siQtvcf0e9b96t1uE9PHnlHTx55R3ken04rmaczSmt1ZmmN5gVLZdHdBgAAAJDmCNgwpjyvUB%2Bac5YuLGvQnt4W7R/o0L7%2BNvVHRvRO92G9031YkjQnUKgzSmt1RmmNlhdXqzRQYLhyAAAAADgRARvGBbw%2BrSiZrxUl8%2BU4jtpD/To42KHG/nYdGOhUR2hAr7S9q1fa3pUklfkLtKhwjuoL56i%2BsFKLCueojNANAAAAwDACNtKKZVmam1esuXnFOr98kcJ2VEeGurR/oEONAx1qG%2B5Vd3hQb3cP6u3uQxOPK/Xna1Fh5WjoLqhQbUGFKvOKWDgNAAAAQMoQsJHW/B6v6gsrVV9YqXWSwnZE7SP9ahnpVctwr5qHetQ23K%2Be8JC2dB/SlkmhO8/jU01%2BmeoKylWbX666gtGPEn%2B%2BuW8IAAAAQNYiYCOj%2BD0%2Bzc8v0/z8sonrwnZE7aF%2BtQ736ehwr1qHe9U63KcRO6LGgXY1DrRP2UaxLzgWustUOxa%2Ba/PLlO8LpPrbAQAAAJBFCNjIeH6PT/ODZZofLNPZY9fZjq2e8LDaQ31qH%2BlX%2B3CfWkf61DkyoL7IsHb2Nmtnb/OU7VQECqeE7rqC0SAf8PBjAgAAAGBmJAdkJY/lUXmgQOWBAi0rqp64PmxH1BUeVPvIgNpHRsN323CfesJD6gwNqDM0oK09TRP3tyTNzStWbUG5avLLRrvdBWWaFyyVn3N1AwAAAJiEgI2c4vf4VJVXoqq8EknzJ64fsSPqHOlXR2hAbWPBu2W4V4ORkFpHRrvfm7sOTtzfI0vVwRLV5JeppmC0e16TX6rqYKnyvPxYAQAAALmIJABodEG04%2Bd2O46jYTuszpEBtYf6R7vdI31qHe7TcDSs5uEeNQ/36M2uAxOPsSTNySvS/GCp5ueXqSa/TPPHgnexL08Wq5oDAAAAWYuADZyEZVnK9wZUWxBQbUH5xPWO42ggOqLO0KDaR/rUGRpUx9hQ88FoaHTO90j/lKHmkpTv9asqr0Rzg8WqDpaoKq9YVcESVQVLVObPJ3wDAAAAGY6ADcTIsiwV%2BYIq8gW1sKBi4nrHcTRih9UZGlRnaEAdoX51jgyobaRfPaFBDUXDOjDYoQODHSdsM%2BDxqTKvSBWBQs3JK9ScQJHmTPq6zF8on8eTym8TAAAAQIwI2IBLLMtS0BtQTX5ANZOGmktS1LbVGx1Wd2hQ3eFBdYcG1RUaVOfIgLpDgwrZER0Z6taRoe7pty1LZYF8VQQKVerPV6m/QGWB4y79%2BSr2B%2BWxCOIAAACACQRsIAW8Ho/KPQUq9xeccJvt2OoLj6gvOqy%2B8JB6wsPqDQ%2Bpd%2ByyKzSoqGOrayyUn4olSyX%2BoIp9QRWf6tIfVGlevorsYLK%2BZQAAACDnELABwzyWR6WBfJUqX8ovP%2BH28cXW%2BsLD6o%2BMqD86ooHIiPojIxoIj16O3jYsR456wkPqCQ9JQ7Pbf57Hp0Jf3thHQIXeY5/ne8c//Mr3jV16p176OF0ZAAAAIImADaS98cXW8r0BVZ3ifo7jaCga0mA0pMFoWEPR0OjXkbAGoyENRUZvG4iMBvThaFiORk9RNhKKqDM0EFd9XsujPI9PeR6fAt7Ryzyv/9h1Hp8CXq98lld%2Bz/ilZ%2BJzn8crv%2BWRz%2BOV1/JM%2BfBZHnkt64Trj31Mus0zeumRxYJxAAAAMIKADWQJy7JU4MtTgS9vVvf3eD0KBL1q7%2BvXUDikoWhYI3ZYw9GIhqOjX4fsiELRiIbtiEJ2RMPRsEaikYnbJCnq2GOhPiSFk/kdzp5vLHQfC/GeiUv/WKgPjAX%2BgHf0TYA8j2/064k3BrwKeP0KenwKev3K8/oV9PgV9I597fEr4PES5gEAADCBgA3kKEtS0OdXqT9fRZ7ZhfLJj3XkaMSOKOLYCttRRWxbYSeisG0rbEcUdmxF7KjCTlRhO6qoYyvi2IratuzxzyddRm1bUdmK2o5sx1bUcWRr7DbHUdSxJ66Pjj3Gdpxp64uMbXdk7E2AZLFkTQTufG9AQY9f%2BV6/gmMfkz8PjgX0vInPfSrMy1M4L6qRcEQ%2Bx8Nw%2ByxgO45sx5Eje%2BJzW8cuneOuc8ZvG/tccmQ7ksa%2BGr90nPGvR3/%2BLMsavRz7v8ea%2BrlnbISHR2OjO2Qdu27sDSgPbw4BAOA6AjaAmI3%2BoW8pz%2BNXniSlMBda4/%2B3JI2FkqjjyHFsRR2NBRd7IoSPB/Vj4d5RVKPhf/zNgdE3AWxFnOjo9XZ07Hp7oos/Yo99RCMT3XtHjoaiYQ1Fw%2BrSqRegmw2vZclv%2Bca66qPd9IBn8ude%2BT2%2BiQ79RGd%2B0hB736Tw5LEsecaClWVZYyFr9GP8v7EDeuy4jv1/PHo5Y9/nWOaTPXGN5Dhjt00Oj9NeauzNkrEgOXb9%2BJsk4yHz%2BK/Hn8spgfQU%2Bxh/3Pjl%2BHNkO86x78M5FlhlSZbHUiQaPXb/SduTJgdhTdnn8fsarzGTWLKmvJZGXz9eeS1LPo930m2TPp/muvEpGr5ppm94Jj3u2Otx9DXpsSz5vV4VDwc1OBCS7NE3DkaneWj8FTr2ZoI1dtt45ZIm3mQYu%2B7Yy/nYfSZ9PfGZNd21sVwz1eye9RPvdfw1x94vdI67ferXzqQ3YI698TL%2BGtfY78XjXu8TP4fHXr%2BO48jyWioYCqi3f1iRaFSONPEzN/H5xO9YZ8rP8fhtE587jqKTf2Yn/UyP/7yf8LN/3BtQtmOfUOfkN6ZO9n0d%2B/6dSb%2BnZs%2BaeE0d9/U0r0XP2C2eSa/LybdNvL517Hft1N/Hx17/Po9HwTy/IiFbcjTN7%2B5j9/Vq7Pe4ddx2J342rCk1jNc28f1Y47/bj/3uP/61Pe1RG/89f9ybf6O/Mx3ZY6%2B5Y6%2BFqb/DJz/HUz6f7vf7pMsTX6%2Ba8no4Wb1/N/e6mJ57IBksZ/xVmoNC0cjoL4icPQKGWaP/QPEcGMLxT8jEn7UTf3yMXTvpj5HJt43/4TfxtTP1euSQKW9qnOyz2Ez/Ejr2xggAZLuKYKH8TN1CGsjpDrbX8oy%2B95YDP4feNP0mPR5Ltu3kxHOQjjj%2B5k08B646%2BROarKc63i6eack5/phq%2Blfd%2BLU8B2Ydf/xnfiZ4rtwU/%2Bt/5t/myfynPbaKU/Oa8Xo8itq23jy0X6FoNObH7%2Blr1SOH35Ij6U/rL9RV885wv0hktLlzi2d1v5wO2BHH1s6uZtNlpFStU2a6hAk%2Bn0fl5YXq6R1QJGKbLifncPzN4zkwi%2BNv3vhz0Ns7yHNgAMffLH4HuauiojChxy8rrtK6qtP0cutuPXzgd8rz%2BHVZ1XKXqkMu8ZguAKnVZHWbLgEAAABIO6srFumCinpJ0n80/kavtL5ruCJkIgJ2DmqyugnaAAAAwCSWZenyqhU6n5CNBBCwcxghGwAAADjGsixtIGQjATk9BzsejT1tMT%2BmoXRuEipxx3jITqe52QAAAIAp4yFbkt7sPKD/aPyNoo6ty6tXGK4MmYCAfRLxBOlYtpVuobvJ6iZkAwAAADoxZD%2B0/3V1jPTrjxacLw%2BnAsMpELAncTNUx7qvdAjchGwAAABg1HjIDnr8%2Bk37Xj3VvFVtI3368yWXKuAhRmF6Of3KiNjRlIbqU5lch8mwzZBxAAAAYJRlWbp47lKV%2BfP19NFt%2Bn3nfnWGBvRXy69UiT9oujykIRY5S0ONPW3Ggz8LoAEAAACjziir1U0LLlDQ69d7/W36x%2B1PqHmIv5dxIgJ2GhsP2qbCNiEbAAAAGLWwcI421l%2BkMn%2BB2kb69NXtT2pbd5PpspBmCNgZwlTQ5pzZAAAAwKg5eUXauOgi1eaXaSAa0nd2P6tHDm%2BW7dimS0OaIGBnGLrZAAAAgDmFvjzdvHC1zi1fIEfSY01v6zu7n1NveNh0aUgDBOwMZLKbDQAAAOQ6n8erq%2BadoatrVsnv8Wp7zxH9w7ZHtbevxXRpMIyAncFMBG1CNgAAADDqjNIafXzRGs3JK1RXaFBf3/krPdu8XY7jmC4NhhCws0CqgzYhGwAAABhVmVesW%2BrXamXpfEUdR/918Hf63p4XGTKeowjYWSTVIZugDQAAAEh5Xp%2Bunr9KV81bKa9laXPXQX1l6yN6p/uQ6dKQYj7TBWSKxr72hB7fUFzpUiWn1tjTpobSuSnZlzQatGudspTtDwAAAEhHlmXp3PKFqskv01NHtqptpE/f3f281ledppsXrlae12%2B6RKQAAfskEg3Up9pessM2IRsAAAAwozpYoo8vWqNft%2B3R7zv36%2BXW3drV26xPLblMDUWp%2BxsdZjBEfJLGvvaJj0zfD/OyAQAAADN8Hq8ur16hmxeuVok/qKPDvfrH7U/qsaa3FeWc2Vkt5wN2qkK1qf0TsgEAAAAz6gvn6M8aLtbK0hrZcvTI4c366vYndXiwy3RpSJKcDthhO2q6hCmSFbQJ2QAAAIAZQa9f19Ss0rW1Zyvo9atxoF3/sO0xPd70tiI23exsk9MBO10lI2gTsgEAAABzTi%2BZr1sbLtay4mpFHVu/PLxZ921/XAcHOkyXBhcRsNOY20GbkA0AAACYU%2BwP6obac3Rt7dnK9/p1cLBT925/XL88/JYiaTa6FvEhYGcAQjYAAACQHSzL0ukl83Xb4ku0omSeoo6jx5u26B%2B2PabG/tT9rY7kIGBnCDe72akO2QRtAAAAYKpCX56uqz1HN9Sdo0JfQE1D3bpv%2B5P6vwd%2Bp5Fo2HR5iBMBO8NkYsiW6GYDAAAA01lePE%2B3NlyiM0pr5MjRM0e36ytbH9H2nibTpSEOPtMFZKL9vacOuYtKKpO6/8a%2BdjUUJ76Pxp42NZSm7mT3TVa3ap2ylO0PAAAAyAQFvoCurlml00vm67mjO9Q20q9/3vWsLq5cqpsXrlaRP2i6RMwSAfsUZgrSsT7OzeBNyAYAAACyy%2BKiufqzhov1m/a9erNzv37Tvldbew7rY/UXaXVFgyzLMl0iZsAQ8Wns722PO1yncrsMFwcAAACyS57Xpw3VK7Sx/iLNzStSb3hYP9i7Sf/y7gvqHOk3XR5mQMCeJFnB%2BmT7cWNfyThndioQsgEAAICTqyko1/9peJ8unbtMXsvSlu5DunvrI3qpZZdsxzFdHk6CgK3UBetk7jvRkJ3qLrYkHYh2pnyfAAAAQKbwWh6trVyiTzRcrLqCcg1Hw3po/%2Bv6xs5fqXmox3R5mEZOB%2ByIbRsL1sfL1ZD9dvuhlO8TAAAAyCSVeUX604UX6qp5KxXw%2BPRuX4v%2BbuujeqJpiyK2bbo8TJLTATvdmOykm0QnGwAAADg1y7J0bvlC3bb4Yi0tmquIE9X/Hn5L925/XI39uZch0hUBOw0lErIzsYstMScbAAAAmI0Sf75urDtP19SsUoE3oEODnbpv%2BxP674O/V8iOmC4v5xGw0xQhGwAAAMB0LMvSytIa3br4Yp1RWiNHjp5u3qZ/2PqY3us387c8RhGw01giQ8YJ2QAAAEB2K/Tl6eqaVfpI3Xkq8uWpebhHX93%2BpH5x8A8K21HT5eUkAnacDnW0nvCRLKZCtimEbAAAAGD2lhRX6dbFF%2BvM0lo5cvRU81bds%2B0x5mYb4DNdQCaYbXg%2B2f0WzKlKuIb9ve1aVFKZ8HZi0djTpobSuSnd57gmq1u1TpmRfQMAAACZJt8b0IdrztKy4mo9e3S7moa69Y/bn9CHa1bputqz5fN4TZeYE%2Bhgn4SbnWm3thNPJztTu9jSaMimmw0AAADM3rLiKt3acLFWltbIlqMnjmzRvdsfV9Ngl%2BnScgIB%2BzjJHO7txrZTfRovU3OxJyNkAwAAALNX4AvomppVur7unLGVxrt0z7bH9VLLLjmOY7q8rEbAniSZ86iP30%2Bq9iVl7oJnkxGyAQAAgNicVjxPty6%2BWEuK5irsRPXQ/tf1b3teVH9kxHRpWYuArdQH3sn7jUeuDRUfR8gGAAAAYlPoy9Mf1Z2nDdUr5LUsvdV1UH%2B/9VHt7j1qurSslPMB20SwPn7/8dSQi0PFJUI2AAAAECvLsnRBxSJtrF%2BjikChOkMD%2BsbOp/XI4c2KOrbp8rJKTgfsSBqdGy4VITsbutgSIRsAAACIx7z8Uv2fhrVaVVYnR44ea3pb39z5tHrDQ6ZLyxo5HbDTjelu%2BkzSpYstEbIBAACAeAQ8Pn1w/pm6tvZs5Xl8erevRfdse1wHBrKjGWcaATvNxBqyc7WLLRGyAQAAgHidXjJftyxaozljQ8a/tuMp/bZjn%2BmyMh4BOw2leyc7nRCyAQAAgPjMySvSxkVrtKRorkJ2VA/s3aRfHPyDbOZlx42AnYDOw80THyalsoudTsPExxGyAQAAgPgEvX7dWHee1sxZLEl6qnmr/uXdFzQYCRmuLDMRsGMwOVAfH6pPdVs8kj1UHAAAAAAkyWNZuqxqua6tWSWf5dE73Yf11R1Pqis0aLq0jEPAPoVEQrMbYTuZQ8XpYgMAAACY7PTSGn2s/iIV%2B4I6MtStf9rxlNqG%2B0yXlVEI2Cfh5rDvRIJ2LCE717vYhGwAAAAgMfPyS/Wn9ReqPFCgtpE%2B/dPOp9Q8xN/Zs0XAnkay5lSbnqudCwjZAAAAQGLKAgX6k4UXqjKvSF2hQf3Tjl/pwECH6bIyAgH7OMkOwfFsP1lDxbNtmPg4QjYAAACQmGJ/UH%2By8ELNC5aoLzKsb%2Bx8Wnv6WkyXlfYI2GNSuRp4MkN2rg8TBwAAAOCOAl9ANy9crQUF5RqKhvSdXc/qIJ3sUyJgy8zQ7WwYLk4XGwAAAMhueV6//njBBVpYUKFhO6Lv7n5OHSP9pstKWzkfsE0G3Vj3nYwudiLDxNMdIRsAAABInN/j1Q1152puXpG6w0P67u7nNBgZMV1WWsrpgG1HIqZLyIpONgAAAIDsFvT69ZEF56vYl6emoW59b8%2BLCttR02WlnZwO2OkilpCdzHNjxyOdh4lLdLEBAAAAt5T48/VHC85XwOPVrt6j%2BnHjq3Icx3RZaYWAnSbc7mQzTBwAAACA26qDJbq%2B9lx5ZOmN9n16vmWn6ZLSCgEbWY8uNgAAAOCehqJKbaheIUn6%2BcE/6PBgp%2BGK0ofxgH3gwAF95Stf0fXXX6%2BVK1fqmmuumXJ7NBrVj370I91yyy1as2aNVq9erY0bN%2Br11183VHHyzLaLzTBxAAAAACadW75QS4rmKuJE9cP3XlHYNr%2B%2BVTowHrD37NmjTZs2qb6%2BXkuWLDnh9uHhYT3wwANasWKFvva1r%2Bnb3/62qqurdeutt%2Bqll14yUPGo3v1HTvhIN5wT%2Bxi62AAAAIB7LMvSB%2BefqUJvQIcHu/Q/h940XVJa8JkuYMOGDbryyislSXfddZe2bds25fZgMKgXXnhBpaWlE9ddcskl2r9/vx588EFdfvnlKat1phA9fnvJopq499F5uFkVdfNnvN%2BhjlYtmFMV936O19jXrobiSte2BwAAACC7Ffry9MGas/Q/h97Us0d36MzSOp1ZVmu6LKOMd7A9nlOX4PV6p4RrafTdkhUrVqi1NflDpePpUKdrRxsAAAAA3LSkaK7OK18oSXpo/%2Bs5f%2Bou4wE7HrZta/PmzdMOKXdToiE53qDt5oriqRomngnzsBkmDgAAALjvsqrlKvLlqW2kTy%2B07DBdjlHGh4jH46GHHlJjY6PuueeepO3DzQ507/4jCQ0bPxm3h4nnAp8vI99TSgqv1zPlEqnHc2AWx988ngOzOP5mcfyTw%2BP1yCvOy5xq%2Bd6A1lWfpieb3tHjTVt0WfVylQTyTZdlRMYF7N/97nf65je/qdtuu02rV69Oyj6SMbw71pA927nYbsqFedjl5YWmS0g7JSW5%2BcsvnfAcmMXxN4/nwCyOv1kcf/fYjq2iwjxFbNt0KTlpbeESvd19UE0D3XqydatuPyt1a2Wlk4wK2Lt27dLtt9%2BuK6%2B8Un/zN39juhxkoLfbD6neW2G6jLTg9XpUUpKv3t4hRaP8Q2QCz4FZHH/zeA7M4vibxfF3V0lJvhw56h8YUTia23OATVpftUI/bXxDTx/YpkvLl6quMHv%2B7p5toy5jAvbBgwf1yU9%2BUitXrtQ3vvENWZaVlP0kc3GyZAwVn80w8f297VpUkt2d6VhEIvwjNlk0anNMDOM5MIvjbx7PgVkcf7M4/u6yozZvWBhUGyzT8uJqvdvXoscObdGnl64zXVLKZcSkj7a2Nt12222qrKzU97//fQUCgaTsJxUrf8eyDzcXO0uFTFjoDAAAAEDyrK0cXYj6dx2NahvuM1xN6hnvYA8NDWnTpk2SpKamJvX39%2Bvpp5%2BWJF144YUqKCjQJz/5SXV0dOiuu%2B7S3r17pzz%2BnHPOSXnNAAAAAIATVQdLtKgSrUfpAAAgAElEQVRwjvYPdOi5lh36WP1FpktKKeMBu6OjQ5/97GenXDf%2B9U9%2B8hPV1tZq165dkqQ77rjjhMfv3r3blTpSed7qWIaKp3qxs1xY6AwAAABA8lw0Z7H2D3ToldbdurbmbBX7g6ZLShnjAbuurm7GkOxWiD6ZVIbrZGAeNgAAAIB0sbCgQtXBErUM9%2Bql1l26rjZ3Rh1nxBzsbJTpoR4AAAAApmNZli6saJAkvdyyW1Endxaey/mAbTLoznbfmbTYGQudAQAAAFheUq0Cb0Dd4UG9033IdDkpk9MB245kzznyDnW0uratxr5217YFAAAAIPd4LY/OKquVJL3cmtwpv%2BkkpwN2OkhlB31/L8FZkpqsbtMlAAAAAFlvVdkCSdK27qacOWUXATtDZNIwcQAAAAAoDxRoUeEcOZJ%2B3f6u6XJSgoCdBljwDAAAAEA2Onusi/3r1j05sdgZATuLpMs87HRf6KzWKTNdAgAAAJATlhZXqcAbUE94SNt6DpsuJ%2BkI2Anoazwy8ZGo2XSx3RgmzjxsAAAAAKnitTw6o7RGkvRK6x7D1SQfATsO04VqN0I2AAAAAGSbVWV1kqQtXYfUFRo0XE1yEbBjMFO3mpANAAAAAFPNyStSbX65bDn6TXt2d7EJ2LMQyzDwRIaMu7HYGfOwAQAAAKSbs8e62C%2B17Mrqxc4I2KeQSFhOVjebedgAAAAAMs2KknnK9wbUFRrUlu5DpstJGgJ2EjFkHAAAAAAkn8c70cV%2B4ehOw9UkDwH7JNwKx7F2wTknNgAAAIBsdE75AlmSdvY268hQt%2BlykoKAnYFmGibOPGwAAAAA6abEn6%2BlRVWSpOeObjdcTXIQsKeRjKHd6dbFZh42AAAAgFRbPadBkvRq2151jgwYrsZ9BGwAAAAAQErUFZRrQUGFoo6tZ45uM12O6wjYx0nmwmRubpth4gAAAAAy0fsql0iSXm7ZrZ7QoOFq3EXATlMsdgYAAAAgGy0sqFBNfpnCTlTPZNlcbAL2JKk4rVY6nbqLedgAAAAAUs2yLK2ds1iS9GLLTnWO9BuuyD0EbOSUWqfMdAkAAABAzltcNFd1BeUK2VH94vCbpstxDQF7TCo7y7Pd10zDxJmHDQAAACATWZalDVUrJElvtO/T3j73sotJBOwcxzBxAAAAACbMyy/VWaW1kqSHD/xWtuMYrihxBGyZmRedTnOxAQAAAMCES6uWK%2BDxqnGgXa%2B37zVdTsII2AbNJmSn0zBxAAAAAHBTkS9Pa%2BeMnrbrvw7%2BPuNP25XzAZtO8uwxDxsAAACA2y6Ys0jVwRINREb0k/2vy8ngoeI5H7BNc6OLnSjmYQMAAAAwxWt59KH5Z8pjWdrcdVBvdOwzXVLccjpg2%2BGI6RJcMdMwcQAAAABIZ1XBEr1vbKj4zw68oe4MHSqe0wE7XSR7mHq6zMNmmDgAAACAk7mocrHmBUs0EAnpPxp/k5FDxQnYceppbJrykWzpMkw8kXnYAAAAAHAyo0PFz5LX8uid7sN6unmb6ZJiRsCOw3SBOtGgnWgXm2HiAAAAADLd3GCxrqheIUn6n0Nv6t3eo4Yrig0BOwazCdGp6GbHI12GiQMAAADAqZxdtkBnlNbIlqMf7H1ZPeEh0yXNGgF7FmLtTidr2Hiyh4nPViafrqvJ6ja6fwAAAACnZlmWrpq3UpV5ReoOD%2BmHezfJdmzTZc0KAfsUEg3KsT7W9DBxTtcFAAAAIB0EPD5dX3uO/B6vdvY2638Pv2W6pFkhYCdZqhZBAwAAAIBsMievSB%2BYd4Yk6akjW/V6%2B3uGK5oZAfskTIXimbrYiQwTd3MeNquJAwAAAEi2laU1WjNnsSTpx/te1d6%2B9F5bioCdInSxjzE9DxsAAABA5rh07jItL65WxLH1vT0vqH2k33RJJ0XAnkYmh2HmYQMAAADIJpZl6cM1Z6k6WKLe8LD%2B5d3nNRQNmy5rWgTsFJptcGeYOAAAAAAcE/D4dGPduSry5enwYJce2Puyomm4sjgB%2BziZ3L0GAAAAgGxV4s/XjXXnymd59U73Yf3n/tflOI7psqYgYKeYW13sU8mEYeIm52FzLmwAAAAgM83PL9O1tatkSdrU%2Bq6eat5quqQpCNiTpKp77cZ%2BEhkmDgAAAACZallxtTZUny5J%2Bp9Db%2BqNNDp9FwE7BzEPGwAAAEAmO7%2BiXqsrFkmS/n3fq9rZk9goXrcQsMekeu71bPaXyDDxTMDpugAAAADEa33VaVpRPE9Rx9b39ryopsEu0yURsDPZqYaJZ8I8bJOYhw0AAABktvHTd9UVlGsoGtJ3dz%2Bn7tCg0ZoI2DK3crjJFcvdHCYOAAAAACb4PF7dWHuuKgKF6ggN6P53n9ewwXNkE7DTXCYME2ceNgAAAABT8n0BfWTB%2BSrwBnRgoEMP7N1k7BzZBGzDktnFTnSYeCowDxsAAABAosoDBfqjBefJZ3m1pfuQfrb/DSPnyM75gG1ymLYbknm6LuZhAwAAAMgUNZPOkf1S62690LIz5TXkfMBORF/jEVeGcM8U8jNhmDgAAAAAmLasuFrrq06TJP3Xgd9pe09qs1ROB2w7Eo37sZNDr1tBO9XS5XzYDBMHAAAA4JYLKhbpzNJa2XL0gz0vqWW4J2X7zumAHa%2BThelMDNkAAAAAkE0sy9L7561UTX6ZBqIh/eu7L2owEkrJvgnYMZopRMcbshMZJs75sOPHPGwAAAAg%2B/g8Xt1Qe46KfXk6MtStH733iuwULHpGwI7BbMMznWwAAAAAMKvIH9QNdefJZ3m0pfuQnju6Pen7JGDPQjxzrAnZmYMuNgAAAJCd5ueX6vLqFZKkXxx6UwcGOpK6PwL2DBIJyrE%2B1sQpw1joDAAAAEA2O6dsgZYVVynq2Prhe5s0Eo0kbV8E7FNwowtNJxsAAAAAzLEsSx%2BYd6aKfHlqHurR/z34u6Tti4CdAm6FbFMLneUChokDAAAA2avAF9DVNatkSXq5dbc2dx1Myn4I2JhRtq8kDgAAACD71RfO0eqKRZKk/zrwW4XtqOv7IGADY%2BhiAwAAANntfXOXqsiXp7aRfr3QssP17ROwT8LtudOz3Z6Jhc7SBQudAQAAAEimgMenS%2BcukyQ93rRFveFhV7dPwAYAAAAA5IwzS2tVHSzRUDSsx5o2u7ptAjZcPVVXpmOYOAAAAJDdLMvS%2BqrTJEkvt%2BxWy3CPa9smYGcYTvsFAAAAAImpL5yjhsJK2XL0atte17ZLwE6hXAjHjX2Zv%2BI4XWwAAAAg%2B60qq5Mk/aZtr2zHdmWbBOxpZGoQPtW5sAEAAAAAxywpqlLQ61d3eFA7e5td2SYBOw3l8kri6YIuNgAAAJDdfB6PTi%2BZL0l6rd2dYeIEbAAAAABATjqztEaS9IeOAwrZkYS3R8DOEZ2H3RnykGycCxsAAABAqswLliro9SvsRNUy3Jvw9gjYwEkwTBwAAADIbpZlqSJQKEmunK6LgA0AAAAAyFnjAbt5iICdcTJ1hfJcRRcbAAAAyG4TAZsONgAAAAAA8SsPFEgSc7ABAAAAAEiELUeS5Le8CW%2BLgA3MgGHiAAAAQPYajoQlSUX%2BvIS3RcBOseKGGiP7raibb2S/AAAAAJDOhqIhSVKRL5jwtgjYwCzQxQYAAACy05A91sH20cEGAAAAACBuvaEhSVJpID/hbRGwAQAAAAA5KerYOjDYIUlaVlyd8PYI2HBVQ3Gl6RKShmHiAAAAQHY5PNilkB1VsT%2Bo%2BoI5CW%2BPgJ2GShtq43pcyaL4FlBbMKcqrscBAAAAQCZ7r79VkrSqrE6WrIS3R8CehqmVvpH%2B6GIDAAAA2eO9/jZJ0rkVC13ZHgEbAAAAAJBzDg50qis0KK/l0cpid5qsBOwUcqMznu3d9YbSuaZLAAAAAJADXm9/T5J0adUyBb1%2BV7ZJwMaMFpVk78JlAAAAAHJP02CXDgx2yGNZuqb2bNe2S8AGYsQ8bAAAACCzjXev11YuVYW/0LXtErBPItuHYgMAAABALmoe6ta%2BgXZZsnSdi91riYCdMrMN7PGeoutUKurmu75NAAAAAMg0tmPr2aM7JElrKhdrbl6xq9snYGeJeM%2BB7aaG4tyZq80wcQAAACDz/L5zv1qGe1XgDejm%2BtWub5%2BAfQrpNkw8GfUsmFPl%2BjYBAAAAIN10hgb0m7a9kqQ/bbhQJb581/dBwJ5Brp9aixXEAQAAAGQ6x3H0TPN2RRxbp5fO1/sqliZlPwTsJIslXCdj/nUm4RzYAAAAAJLh7e5DOjTYqYDHq9sWXyLLspKyH%2BMB%2B8CBA/rKV76i66%2B/XitXrtQ111wz7f02bdqkG264QWeddZauuuoq/fSnP01ZjfF2oDO5cw0AAAAA2aBluFcvtuySJH1k4fmaEyhK2r6MB%2Bw9e/Zo06ZNqq%2Bv15IlS6a9z%2BbNm3X77bdr5cqV%2BtGPfqQbb7xR9913n37%2B85%2BnrM5Yw3K6hOtUrSCeSwucAQAAAMgMI9GIHj38tqKOrVXldbqyamVS9%2BdL6tZnYcOGDbryyislSXfddZe2bdt2wn3%2B7d/%2BTStXrtRXv/pVSdKaNWvU3Nys%2B%2B%2B/Xx/5yEfk8aTmfYLx0NzXeGRW90vGvqcT7wriLHCWmCarW7VOmekyAAAAAEzDcRw93bxN3eFBVQQK9ekl65I2NHyc8Q72TOE4FArpjTfe0NVXXz3l%2BmuvvVZtbW3asWNH/Pv2eeN63KnCbrzhOtfnXwMAAACAmzZ3HdTuvqPyWpbuWH65CryBpO/TeMCeycGDBxUOh7V48eIp1y9dOrrq23vvvWeirBOCdHFDTdoMC3dLKlcQZ4EzAAAAAG45MtStl1pH511/tH61GgpTkzeMDxGfSU9PjySppKRkyvXjX4/fHq/Shlr1NDbF9djihhr1NR7JumCN2fP50v49qpPyej1TLpF6PAdmcfzN4zkwi%2BNvFsc/OTxej7xyTJcBw3rDQ/rl4c2KOo7On1OvD9acmfSh4ePSPmCPO9kBSdWBOhk3wvVMw8PjnX/NAmfJV15eaLqEhJWU5JsuIefxHJjF8TeP58Asjr9ZHH/32I6tosI8RWzbdCkwKGxH9ZPtr2kgMqKFRRX6/1Z/SPm%2B5A8NH5f2Abu0tFTSiZ3q3t5eSSd2tjE76bTAWSYPD%2B/qGjBdQty8Xo9KSvLV2zukaJR/iEzgOTCL428ez4FZHH%2BzOP7uKinJlyNH/QMjCkejpsuBIY7j6LHDW9Q00K1CX0CfO/0qDfeFNaxwwtuebWMt7QP2woUL5ff7tW/fPl122WUT1%2B/du1eSTnpqr1gkMkzcjX2no1TOv85kkUjm/4MYjdpZ8X1kMp4Dszj%2B5vEcmMXxN4vj7y47avOGRQ77bfs%2B7eg5Io8s3bn8CpV5ClL%2B85X2kz4CgYDWrFmjX/3qV1Ouf%2BKJJzR37lytXJnc85iZxvxuAAAAADi1PX2t2tT2riRpY8ManVY8z0gdxjvYQ0ND2rRpkySpqalJ/f39evrppyVJF154oSoqKnTHHXfolltu0d13361rr71Wb731ln7%2B85/rnnvuce0c2Ca62Il2r%2BM9/7Wbcnn%2BNQAAAADzWof79ETTFknSuurTdHnVCmO1GA/YHR0d%2BuxnPzvluvGvf/KTn%2Biiiy7Sueeeq%2B9///v69re/rUceeUTz5s3T3XffrZtuuslEyRkhVQucJSqT518DAAAAMGsgMqL/PfSmwk5UK0rm6Zb6NUbrMR6w6%2BrqtHv37hnvt27dOq1bty6ptaSyi21y7nU6LXAGAAAAAPGI2FH98vBm9UaGVRUs1l%2BddoW8ltlZ0Gk/BzuXmZp/zQJns1PrlJkuAQAAAMhJjuPo6eZtOjLUrQJvQJ9f8X7le1J3Oq6TIWAfJxWdZTf2kQ3zrxkeDgAAACAev%2B3Ypx29zaMrhp%2B2QVV56XH6ZgJ2FsqU%2BdcAAAAAEKs9fa16pW2PJOmWhjVaUZw%2B%2BYeAPY1kdrFnu%2B1kDQ9n/jUAAACATNU23KcnjoyuGH559QqtN7hi%2BHQI2JgiVfOvGR4OAAAAIBaDkZD%2B9/BbCttRnVYyTx%2Brv8h0SScgYJ9EMrrYbm0zHeZf5zoWOAMAAABSJ%2BrYerRps3rCQ6rMK9JfLd9gfMXw6aRfRVkqlnCdyPDwVM2/TnSBMwAAAACYrZdbduvQYJfyPD79vyuuUoE3z3RJ0yJgn0JpQ63R81UDAAAAQK7b3nNEb3YdkCR9Zvllmh9M39GkBOxZSDRkp6p7PZN0WeAs0%2BdfMzwcAAAASI2W4V4907xNknRN3SqdU1pvuKJT85kuIFOMh%2BSexqaYH%2BOmZM6/TtUCZwAAAAAwk6FoSI8c3qyIY%2BuM0hrdWHuu6ZJmRAc7RrMJzdk%2BtDyX51/TvQYAAACSz3EcPdH0zsSiZn%2B57HJZGRBfc7qD7fHH9%2B2frJudaKhOdHh4qhY4AwAAAIBkeqNjnxoH2uX3ePX/nHaFCrwB0yXNSk4H7ESlukudDafnyuT513SvAQAAgOQ7NNipV9v2SJI%2B3rBWdfkVhiuavfTvsSdZMhcVSyfpssAZAAAAAJzMQGREjzdtkSNpbeUSXVK5zHRJMcn5gJ0uciXoZyq61wAAAEByOY6jJ4%2B8o/7IiOYFS/SJhveZLilmBGxlR7hNdP71bFcQz8UFzgjXAAAAQPL9tqNR%2Bwc65Pd49VenXaGAJ/NmNBOw08BsAj7zrwEAAABkq%2Bahnol51xsXrdH8YGY2uQjYY0x1sbOhe57N6F4DAAAAyRWyI3q8aYtsOTq/ol6XZti868kI2JNka9hlgbP4EK4BAACA5Hvh6E51hwdVHijQrYsvkWVZpkuKGwHboNkG%2BpmGh3P%2Ba/cRrgEAAIDk2917VFt7mmRJ%2BszSdRlzvuuTIWAfJ1Vd7GztlgMAAADAbPSFh/VM83ZJ0odrV2l58TzDFSWOgI2UrCCeSQuc0b0GAAAAkstxHP2qeauG7bDqCyt0Q%2B25pktyBQF7GsnuLsey/WxYPTyTEK4BAACA5NvcdVD7Bzrks7z6zLL18lrZEU2z47tIgmSFbLe3O9P8axY4mz3CNQAAAJB8HSP9erl1tyTp5voLNC%2Bv1HBF7iFgpzG616lDuAYAAACSL%2BrYevLIVkUcW6eXztflVaebLslVBOxTcLvbnKsLm6X7/GvCNQAAAJAab7Tv09HhHuV7/frUksvkyeBTck2HgD2D4oYaV4JxrobrdEe4BgAAAFKjeahHr7e/J0n6%2BOK1KvMXGK7IfQTsWUp1QJ7N8HA3zn892xXEAQAAACBeYTuqp468I1uOzq%2Bo10Xli02XlBQ%2B0wVkkvGQ3dd4JKb7m%2BLmAmeJnKIrXdG9BgAAAFLj123vqiM0oBJ/ULcuvlhWlg0NH0fAjkNxQ81JQ7YboZrFzZKPcA0AAACkxsGBDv2h84Ak6c%2BXXKoCb57hipInpwO2x%2BeN%2B7GTu9kmOtVuDA9PhXRc4IxwDQAAAKTGSDSsp45slSRdVrVcZ5XWGa4ouZiDnSDTw8ARG8I1AAAAkDrPHd2p3siwKvOK9Cf1F5kuJ%2BlyPmCn23DsdKsnmxCuAQAAgNTZ1dusHb1HZEn6i2XrFfRk/wDqnA/Y2Wo2C5yxgjgAAACAZOgLD%2BvZ5h2SpKvrVmlxYfpNHU0GArbSp2s82zoyZf51OqF7DQAAAKSG4zh6qnmrhu2w6gsrdH3NuaZLShkC9ph0CdnpKNNP0UW4BgAAAFLn9537dWCgQ36PV3%2Bx7HJ5rdyJnbnznaa5bAz46bCCOOEaAAAASJ2jQz16pfVdSdKfLrpI1XklhitKLQL2JJkQcmczPHw2868BAAAAwE0j0Ygea9oiW47OrViodZXLTZeUcgTs45gI2Sb2mQsLnNG9BgAAAFLnhZYd6g4PqixQoD9ffKksyzJdUsoRsA3LhK55JiJcAwAAAKmzo%2BeItvWMnpLrL5etV4E3YLokIwjY00hV6I11P6weDgAAACDddI4M6Jmj2yVJ19SdrWVF1YYrMoeAfRLJDtnJ2r7b86/jXUHc5AJndK8BAACA1AjbUT3W9LbCdlTLiqt0fe05pksyioBtAMPCAQAAAGSDF1t2qXWkT0W%2BPN2%2BfIM8OR4xc/u7n0E6BWE3h4dn8wJndK8BAACA1NjRc0Rbug/JkvQXy9ar1JdvuiTjCNgzKFlU42rQTqfQDgAAAADx6Bjpn5h3fXXdKq0sIedIBOxZcyMYx7uN2Xavc/3813SvAQAAgOQL2RE9cnh83nW1bqg913RJaYOAHYNEutm51Lk2ucAZAAAAgORxHEfPNG9XR6hfJf6g7lh%2Bec7Pu57MZ7qATFSyqEa9%2B4/MeB83uH1qrljmX8e7grgJdK8BAACA5NvcdVA7e5vlkaU7lm9QCfOupyBgx2k8QPfuP5IW3elcHx4OAAAAILmODHXrxZZdkqSb6i/I6fNdnwy9/AQlM1y73b3OVnSvAQAAgOQajIT06OG3ZcvReRUL9f7qM0yXlJZyOmB7fDTwAQAAAOBUbMfWY01vqy8yrKpgsT65%2BDJZlmW6rLSU0wFbSt8ucSx1zXZ4eDaf/xoAAABAcvy6bY8ODnYq4PHps6ddqaDXb7qktJXzATsdpUPoj3eBs1SvIM7wcAAAACB53u1t0W87GiVJty29WPOD/P19KgRspUegjReLmwEAAABIhs6RAT3V/I4k6ar5K3Vh%2BWLDFaU/AnaayeSwn2p0rwEAAIDkCNkRPdK0WSE7qqXFVfrogtWmS8oIBOwx2R5smX8NAAAAYDYcx9GzzTvUPtKvYn9Qdy7fIK9FdJwNjtIkpkN2rPtP1vDweOdfAwAAAMh8W7oPaUfvEXlk6fZll6vEl2%2B6pIxBwIZrUr3AGQAAAAB3HR3q0QstOyVJH1l4vk4rnme4osxCwD6OqS52MrvX2Tg8nPnXAAAAgLuGoiE92vS2oo6js8vr9MF5Z5ouKeMQsKeR6pBtemj6ZAwPBwAAAHKP4zj61ZFt6gkPqTKvSJ9esk6WZZkuK%2BMQsA1Lp3ANAAAAIDdt7jqovf2t8loe3bl8g/K9AdMlZSQC9kmkIvjGu49cHx4OAAAAwD2tw716qXW3JOmj9RdoYcEcwxVlLgL2KSQzZGdb5zqVC5wx/xoAAABwR8iO6LGmLYo6tlaV1%2BnKqpWmS8poBOwZJCMIJ7LNZJ2aS2L%2BNQAAAJBrXji6S52hAZX68/WpJZcx7zpBBOxZqKib71rQTmXnmuHhAAAAAE5mT1%2BrtvYcliXpM8vWq9CbZ7qkjEfAjkGi4TjRxyezew0AAAAgdwxFQnq2ebsk6QM1Z2oF57t2BQE7RvGG5Gybcz0Z868BAACAzPJ8y04NREc0L1iiP6o713Q5WcNnuoBMNB6WOw83n/J2N8XavY51eDjzrwEAAIDc8G5vi3b2NsuS9Oml6%2BSziIVu4UgmIJu70gAAAACyz1AkpGePjg4N/1DtWVpUSKPNTQwRzwDJ7l4DAAAAyA2/btujwWhI8/JLdUMtQ8PdRsBOc6lY2CyR4eGpnH8NAAAAIH4tw716u/uQJOnWxRfLZ3kNV5R9CNjIGCxwBgAAAMTHcRy9cHSnJGn1nEVaVlRtuKLsRMBOY/F0rxkeDgAAAOB4O3ubdXioSwGPV39Sf6HpcrIWATvHMTwcAAAAyG5hO6qXW3dLkq6uPVvl/kLDFWUvAnaaonsNAAAAwA1bug%2BpPzKiikChPjT/DNPlZLWcDtg%2BD5P6AQAAAGSviG3rdx2NkqRr687mnNdJltMBO12lYuVwKbOGh7PAGQAAABC7bT2H1R8ZUZk/XxdXLjVdTtbL%2BYCdqjCbbAwPBwAAADBZ1LH127Hu9YdqV3FarhTI%2BYCdbrIl8AMAAAAwa1fvUfWEh1TsC2rd3OWmy8kJBOw0Em%2B4jqd7nUnDwwEAAADEbmv3YUnSlfNPV8DD3OtUIGCLrjEAAACA7NITHtLBwU5Zki6Zu8x0OTmDgJ0mCPknxwJnAAAAQGx29ByRJC0vmcd5r1Mo5oD9/PPPy3GcZNSCOKR6eDgAAACA9OY4jrb1NEmie51qMQfsO%2B%2B8U1dccYV%2B%2BMMfqqurKxk1GWGyg5xJ3WvmXwMAAADp7ehwr7pCgwp4vLqgYpHpcnJKzAH7xz/%2BsVauXKn7779f69ev19/%2B7d9q69atyagtJyQSrjk1FwAAAIDjHRjokCStLK1RHoubpVTMR3vt2rVau3atjh49qp/97Gf6xS9%2BoUceeURnnnmmbrnlFn3oQx9SIBBIRq1Jt2BOlQ51tJouI6kYHg4AAABkt0ODnZJGAzZSK%2B5FzubNm6fPf/7zevnll/W1r31NkUhEd911l9avX6/vfve76ujocLPOrJRJQ8NNYYEzAAAAYPZsx9bhodGpvKeVzDNcTe5JeBXxlpYW7d69W01NTfJ4PGpoaNCDDz6oq666Sps2bXKjRkzDxPBw5l8DAAAA6a1luFdhO6oCb0B1%2BeWmy8k5cQ/I37Rpk37605/q1VdfVXFxsT760Y9q48aNmj9/vtra2vTFL35RX/3qV7Vu3To3680aJrrXDA8HAAAAstvhwW5J0rKSKlmyDFeTe2IO2A8%2B%2BKAefvhhHT58WEuXLtXf//3f67rrrlMwGJy4z9y5c/WpT31Kn/jEJ1wtNhVSMQ%2BboeEAAAAAkqErNCBJWlBQYbiS3BRzwP7Wt76ldevW6Z577tHatWtPer/6%2Bnp95jOfSag4TI/h4QAAAACm0xMekiRVBUsMV5KbYg7YzzzzjBYsWDDj/aqrq/W5z30urqKm8/zzz%2BuBBx7Qe%2B%2B9p2AwqPPOO0%2Bf//zntXjxYtf2kQqmuteZODycBc4AAACA2HSHByVJc/OKDVeSm2Je5Ozv/u7vtG/fvmlv279/v2677baEizrea6%2B9pjvvvFMNDQ3613/9V335y19WY2Ojbr31VvX397u%2BPwAAAADINLbjqCc02sEmYJsRcwf7tddeO/H8iSwAACAASURBVGmo7e/v1%2Buvv55wUcd78sknVVNTo69//euyrNGJ%2BrW1tbrpppv05ptvur6QWrLmYbvRvTYxPBwAAABA%2BhuMjMiWI0uWygP5psvJSQmfpmuy9vb2KYuduSUSiaiwsHAiXEtScTHvyMxWosPDmX8NAAAApL%2BwY0uSAh6vLHejHmZpVh3sF198US%2B99NLE1w888IAqKqauSjc8PKw33nhDK1ascLdCSX/8x3%2BsP/uzP9NDDz2k66%2B/Xr29vfr617%2BuJUuWnHKhNQAAAADIFRE7Kknye7yGK8ldswrYu3fv1qOPPipJsixLr7zyypRusiQFAgEtX75cd999t%2BtFrl69Wt/73vf0hS98Qffdd58kaenSpXrwwQcVCARc318yMDw8dj4f77olk9frmXKJ1OM5MIvjbx7PgVkcf7M4/snh8XrklWO6DGMcz%2Bj3HvD4%2BFvaEMtxnJhegStWrNB///d/a9WqVcmq6QRvvfWWPv3pT%2BvGG2/Uhg0b1N/frx/84AcKhUJ6%2BOGHVVRUFNd224f6dc/vH5v2NrfnYJsM2Jk4RPycyplXqgcAAADG2Y6t3V1HFbFt06UYs7%2B3XT/c8YrmF5Tqhxs%2BYbqcnBTzImfbt2%2BX15vaIQf33Xef1qxZoy996UsT151//vm67LLL9POf/1y33nprSuuJlalTc0mZGa4lqatrwMh%2Bc4nX61FJSb56e4cUjebuP0Qm8RyYxfE3j%2BfALI6/WRx/d5WU5MuRo/6BEYWjUdPlGNM/ODL6icPf024rLy%2Bc1f1iDtipDteS9N5772nDhg1TrquoqFBVVZUOHjyYlH0mayXxeOXa8PBIhH9oUiUatTnehvEcmMXxN4/nwCyOv1kcf3fZUTun37DwanQabyga4XVlyKwC9gc%2B8AHdf//9WrFihd7//vefMP/6eM8884wrxY2rqanR9u3bp1zX1tam1tZW1dbWurovt5nsXgMAAADIHT5rtBkasiOGK8ldswrYq1atUmFh4cTnMwVst23cuFH33nuv7rnnHl1xxRXq7e3VAw88oIKCAl133XUprSUWhGsAAAAAqTK%2BevgIAduYWQXsb37zmxOff%2Btb30paMSezceNG%2Bf1%2B/exnP9Mvf/lLFRQU6KyzztLXv/51VVURYk8mU%2BdfAwAAAIjdeMAO2VHZjiNPihujiGMOtgmWZenmm2/WzTffbLqUWXOze51r868BAAAAxC7gORbvRqJh5fsy45TG2WRWAbulpSWmjVZXV8dVTLZgaHhiap0y0yUAAAAAGcfv8cpneRRxbA1ERwjYBswqYK9bty6medc7d%2B6Mu6B0km4riQMAAADAqeR7A%2BqLDKsvMqLKvGLT5eScWQXse%2B%2B9N9l1ZA23u9fxDg9n/jUAAACQe8YD9kBk2HQpOWlWAfumm25Kdh1piy42AAAAgEyR7/NLI1JfZMR0KTnJY7qATDDbrjRzrwEAAACYlO/1S5IGCNhGxLWKuG3bevXVV7Vv3z4ND08demBZlj7zmc%2B4Ulw6yaVOtsnh4SxwBgAAAMQvzzMasAejIcOV5KaYA3Z3d7c%2B/vGPa8%2BePbIsS47jSNKURdCyMWBLpw7Zyehem5p/DQAAACAzBb2jEW8wQsA2IeYh4vfff788Ho%2Bee%2B45OY6jhx9%2BWE899ZQ%2B/vGPa9GiRXrxxReTUWfaYBg4AAAAgHQV9DBE3KSYA/Zrr72mW2%2B9VTU1NZIkv9%2BvxYsX64tf/KLWrFmjb33rW64XmW4WzKmaErQJ3QAAAADSQd5YB5uAbUbMAfvo0aOqq6uT1%2BuVx%2BPR0NDQxG0bNmzQq6%2B%2B6mqB6ez4oO2mXDw9F/OvAQAAgMR4rdGIF3Vsw5XkppgDdllZmfr7%2ByVJc%2BfO1Z49eyZu6%2BvrUzQada86AAAAAAAyRMyLnK1cuVJ79%2B7V%2BvXrddlll%2Bn73/%2B%2BSktL5ff79Z3vfEdnn312MuoEAAAAACCtxRywN27cqAMHDkiSPve5z%2Bntt9/WF77wBUlSbW2tvvjFL7pbIQAAAAAgJpasme8E18UcsC%2B55BJdcsklkqQ5c%2Bbo0Ucf1a5du2RZlpYuXSq/3%2B96kbmG%2BdcAAAAA4mFPnEbZcCE5KuaAfTyPx6OVK1e6UQsAAAAAIAHjq4cX%2B/INV5KbYg7Yb7311oz3Oe%2B88%2BIqBgAAAAAQv57wsCRpbl6R4UpyU8wB%2B2Mf%2B5isGcYb7Ny5M%2B6Ccl0uDg%2Bv91YoEuE0AgAAAECieiOjp1GuDBKwTYg5YP/4xz8%2B4bquri698MIL2rJli%2B6%2B%2B25XCgMAAAAAxKY3PBqwKwIEbBNiDthr166d9voPf/jD%2BvKXv6zXX39d69evT7SunBRv9zqTnVO5QF1dA6bLAAAAADJe2I5OBOxKArYRHjc39v73v19PPPGEm5vELCQ6PBwAAABA5js42Kmo46g8UKCKQKHpcnKSqwG7r69PoVDIzU0iBUzNv673VhjZLwAAAJCNGvvbJEmryutmXDcLyRHzEPGWlpYTrguFQtq9e7f%2B%2BZ//WatWrXKlsFyTi8PDAQAAALjDcRztGwvY55QvMFxN7oo5YK9bt27ad0Mcx1F9fb2%2B/OUvu1IYZidTh4fXOmWmSwAAAACyRldoUN3hIXktj1YU15guJ2fFHLDvvffeE67Ly8tTbW2tzjnnHHm9XlcKyyUmu9cmT88FAAAAwB3vdB%2BWJC0vqVaeJ%2BaYB5fEfORvuummZNSRsxIJ13SvAQAAAAxGQtrcdVCS9IH5ZxquJre5usgZMgvdawAAACDzvdl5QGEnqgUF5TqrpNZ0OTkt5g72bbfdNuv7Wpalf//3f491FzmD7jUAAACARAxHw3qz64Ak6bq6c1k93LCYA/bQ0JAOHTqk9vZ2VVdXq7KyUu3t7WppaVFlZaUWLlyYjDqzjulVw%2BleAwAAAJnvD537FbIjmp9fqvPKyWKmxRyw77jjDn3pS1/Sf/7nf%2BqCCy6YuP73v/%2B9/vqv/1p/%2BZd/qUsvvdTVIrON6XBtCt1rAAAAwD2tw716o32fJOmGunNlie61aTHPwf7Od76jO%2B%2B8c0q4lqTVq1fr9ttv17e//W3XisP0Eh0eTvcaAAAA%2BP/Zu/P4qOr7%2B%2BNnMklIIGRjXxWCiYGExYKAJqxFRKJWRMRfBWspu4Ao1t26Iq1aEQREUUQBS1FQQUC0yFZZVFARNzbZlwQSsidk5v7%2BoMyXmCCZ5DPcDHk9Hw8ewL2XO4f3nUHP3Dt3/FuR26Wlh76VW5baRDVW%2B6hL7Y4ElaNg79ixQw0blv69ao0aNdKuXbsqHOpiVtGz13z2GgAAAMDa1J%2BVVpCtmoHVNCQmmc9eVxJeF%2BxatWpp5cqVpa5buXKlatWqVeFQF6vKcGm4HWevKdcAAACAOb/kpOnLE6dvbDakRReFOUNsToQzvP4M9sCBA/Xiiy8qKytLKSkpnpucLVmyRCtWrNDdd9/ti5x%2Bz0S59tez1wAAAADMyDqVr2WHtkmSutaLU%2BuIxjYnwtm8LtjDhw9Xbm6uZs%2BereXLl0uSLMtSUFCQhg4dquHDhxsP6c8qw1nrMzh7DQAAAPivPFeh/r3vS2UXFaheSLhua3ql3ZHwK14XbEkaP3687rzzTm3dulUZGRmKjIxUu3btFBnpX2UqMCBAl4bX1i%2BZaT7Zv8ly7Y9nrynXAAAAgBmn3C4t2r9FxwuzFREUqvtaXqvggHLVOfhQuY9IZGSkunfvbjKLbc4UYVNF2/RZaxPl%2BkKfvaZcAwAAAGa4Lbc%2BPPi1DuZlKNQZpPtaXqvooBp2x0IpeMvjLBUt2r64HNwfyzUAAAAAMyzL0seHt2tXdqoCHU7dfXkvNQzhZFZlRcEuRVmLtq8/X%2B2Pl4VLnL0GAAAATHBblj498r22nTwoh6TRcd10WVg9u2PhN1Cwf0NlukFZeXFpOAAAAOB/XJZbSw9%2Bq5%2Byjsgh6c6YJLWJaGp3LJwHBbuS8sdLwynXAAAAQMUVuov0/oGt%2BiXnuJwOh4Zd1lUdoprZHQtlQMGuhPz10nAAAAAAFZNXVKh393%2Blw/knFRwQqLFxPdUyvKHdsVBGFOxKxlS55uw1AAAA4F%2ByTuXr3/u%2B0PHCHFV3Buve%2BGvUrAY3LPYnZSrYrVq1ksPhKPNOv/vuu3IHqsoo1wAAAEDVdDgvQ4sObFVOUYEigkL115bXqgF3C/c7ZSrYf/nLX4oV7A8//FDZ2dnq2rWrateurdTUVK1du1Y1atTQjTfe6LOwFzPKNQAAAFA1bT95SCsOfyeX5Vb90AhNiO/N91z7qTIV7PHjx3t%2B/eabbyoqKkoffvihwsLCPMuzsrJ0xx13KCIiwnzKi5jJz1tTrgEAAAD/4bYsrUv9WZuO75EktY5qrBEx3RTiDLI5GcorwNs/MG/ePA0bNqxYuZakmjVratiwYZo7d66xcBc7f76ZGeUaAAAAKL8CV5EWH9jiKdfXNUrUuNjfU679nNc3OTty5IiCgko/6EFBQTp27FiFQ13sfFGsL%2BTZa8o1AAAAUH7phTlatH%2BrjhdmK9Dh1JAWSeoY3dzuWDDA6zPYzZo105tvvqmioqJiy0%2BdOqU333xTzZrx/Wy/hXINAAAAVF07so7prT0bdLwwWxFBoXoo4TrK9UXE6zPYd999t%2B666y716tVLvXv3Vu3atZWWlqaVK1fq6NGjmjJlii9y%2Bj1fXQ5OuQYAAAAqP7dlaX3qDm08vluS1DysjsbE9VREYKjNyWCS1wW7R48emjlzpl588UXNmTNHlmXJ4XCoZcuWevzxx9WlSxdf5PRbvvycNeUaAAAAqPxyiwq15NA32ptzXJLUs368BjbtIKfDaXMymOZ1wZak5ORkJScnKzs7WydPnlRERESJm575g6AAp6cA78lKM7LPC3XjMso1AAAAUPkdysvQBwe%2BVlZRvoIDnLozhs9bX8zKVbDPCAsL88tiXZpfF2NvCveFvBs4X8UFAAAAVH6WZenrjP36z5Ef5JaluiE1NS7u92oQwv9fX8zKVbDdbrfWr1%2Bv3bt3Kz8/v9g6h8Oh4cOHGwlnp8r4FVqUawAAAKDyO%2BV2aeWR7dp%2B8pAkqV10Uw1t3oWv4KoCvC7YGRkZGjRokHbs2CGHwyHLsiSdLtZnXAwFu7LhknAAAACg8jtRmKMPDmxVakG2AuTQzU1/p2vrJxTrS7h4ef01XS%2B99JICAgL0ySefyLIsvfPOO1q2bJkGDRqkSy%2B9VKtWrfJFziqNcg0AAABUfjuyjuqtPRuUWpCtmkEhuq/lterTIJFyXYV4XbA///xz3XnnnWrYsKEkKSgoSM2bN9dDDz2kTp066fnnnzcesqpqFlGHcg0AAABUcm7LrdXHftLiA1tV6C5Si5p19VTrPyiuZn27o%2BEC87pgHzlyRI0bN5bT6VRAQIDy8vI863r06KH169cbDVhV8XlrAAAAoPLLLSrUgn1favPxPZKkaxq00v3xfRTO91tXSV5/BjsyMlLZ2dmSpDp16mjHjh3q0KGDJCkrK0sul8tswirmQhdriXINAAAAlMfR/Ewt3r9FmUX5qhYQqCEtktU%2B6lK7Y8FGXhfsli1baufOnerWrZu6dOmi6dOnKyIiQkFBQXrxxRfVpk0bX%2BSsEijXAAAAgH/44eRhLT%2B8TUWWW3VCamp8XC/VD4mwOxZs5nXB/uMf/6i9e/dKku6%2B%2B259/fXXuvfeeyVJjRo10kMPPWQ2YRVgR7GWKNcAAACAt9yWpbWpP3suCW8V0VCjLuuuUGewzclQGXhdsJOSkpSUlCRJqlWrlj744AP9%2BOOPcjgcatGihYKC%2BG63sqJYAwAAAP4j33VKSw5%2Boz05aZKkPg0T1L/J7%2BTw/tZWuEh5XbB/LSAgQC1btjSRpUqwq1SfQbkGAAAAvJdRmKuF%2B79UemGuggKc%2BnNMkjpGN7c7FiqZchXs9PR0zZkzR5s3b1Z6erqmTp2qFi1aaOHChUpMTNTll19uOqffo1gDAAAA/ulw3km9t/8r5boKFRVcXXdf3ktNQqPtjoVKyOuCfeDAAf2///f/lJGRodjYWP3yyy8qKCiQJG3fvl1btmzRs88%2Bazyov7G7UJ%2BNcg0AAACUz66sY/rw4Dc6ZbnUuHqUJsT35iu4cE5eF%2BznnntONWrU0IIFC1SnTh0lJCR41rVv315Tp041GtCXAgOcJYrwnpOp5dpXZSrUZ6NcAwAAAOXzTfp%2BrTzyvSxZio9ooDGX9VSIk3tO4dy8LtgbNmzQ3/72NzVo0KDEd17XqVNHx44dMxbODpW1KHuLYg0AAACUj2VZ%2Bm/aTn2etkuSdFXtGN3ZPElOBzczw2/zumDn5%2BcrMrL08pafn1/hQKg4yjUAAABQPpZl6dOjP2hr%2Bj5JUkqj1rqp0RVyOBw2J4M/8PotmGbNmmnjxo2lrvviiy8UGxtb4VAon0ZWJOUaAAAAKCfLsvSf/5Vrh6TBzTqrX%2BPfUa5RZl4X7FtuuUVvvvmm5s2bp%2BzsbEmSy%2BXSp59%2Bqvnz5%2BuWW24xHhLnR7EGAAAAys%2ByLK06%2BqO2/O/M9Z9iktStLt%2BOBO94fYn47bffru3bt%2Bupp57SxIkTJUm33Xab3G63%2BvXrp/79%2BxsPiXOjWAMAAAAVY1mWPjv2k75K3ytJ%2BlPzq5Vc%2BzKbU8Eflet7sJ999lndfPPNWrNmjdLS0hQVFaXu3burQ4cOpvPhHCjWAAAAQMVZlqXVx37Slyd%2BkSTd0fwqdanDx15RPl4V7IKCAr3yyiv6/e9/r/bt26t9%2B/a%2ByoXfQLkGAAAAzPjixC/64n/lenCzzupaJ87eQPBrXn0Gu1q1anr99deVm5vrqzz4DdzEDAAAADBnZ9YxrT72kyRp4CVX8plrVJjXNzlr3ry5Dh486IssOAeKNQAAAGBWan6Wlhz6RpLUpV6setVraXMiXAy8LtgjRozQjBkzdODAAV/kwVko1gAAAIB5uUWFWnRgi065XYoLr69Bl3Tmq7hghNc3OVu6dKlyc3PVp08fxcfHq06dOsWejA6HQ1OnTjUasiqhUAMAAAC%2B47Lcev/AVp08lafa1cI0JraHnA6vzzsCpfK6YH/77bcKCAhQdHS0jh49qqNHjxZbzzs/5UOxBgAAAHxvfeoOHchLV4gzSPdcfo2qO6vZHQkXEa8L9tq1a32Ro0qiVAMAAAAXzqG8DG0%2BvkeS9JcWSaofEmFzIlxsyvU92Cg/SjUAAABw4RW5XVp2aJssSVfWaqYrIi%2B1OxIuQhRsH6NQAwAAAPZbn7pTJwpzFB4UosHNOtsdBxepKl2wqzkDdYkzWkVFbknSQUdGufdFkQYAAAAqp0N5GfrixOlLw%2B9sfjWfu4bPVOmC/WuUZAAAAODiYlmW/nPkB1mSOtVurjaRTe2OhIsY96MHAAAAcNHamZ2qw/knFRzg1G2XdLQ7Di5yFGwAAAAAFyXLsrQ%2B9WdJ0u8btFTNwBCbE%2BFiV%2B5LxPfu3avNmzcrPT1d/fr1U%2B3atXX8%2BHHVrFlTwcHBJjMCAAAAgNd%2ByDys1IJshTqD1KdBa7vjoArwumC73W49/vjjevfdd%2BV2u%2BVwOHT11Verdu3aevDBB5WQkKCxY8f6IisAAAAAlInbsvTftJ2SpGsbJqiGk5OA8D2vLxGfOXOmFi9erPHjx%2Bv999%2BXZVmedV27dtW6deuMBgQAAAAAb%2B3JTlV6Ya6qO4PVq36C3XFQRXh9BnvRokUaOXKkhg4dKpfLVWxd48aNtX//fmPhAAAAAKA8vj15UJJ0dd0WCgngy5NwYXh9Bvvw4cO64oorSl0XEhKinJycCocCAAAAgPLKKSrQrqxjkqRudeNsToOqxOuCHR0drQMHDpS6bs%2BePapXr16FQwEAAABAeX138pDcstQsrLYahETaHQdViNcFu0uXLpo5c6aOHTvmWeZwOJSdna25c%2Beqe/fuRgMCAAAAQFlZlqVtGadPCHbl7DUuMK8/jDB27Fj1799fffv2VefOneVwODRlyhT99NNPcjgcGjlypC9yAgAAAMB5pRfm6kRhjpyOAF0Z3czuOKhivD6DXbduXb377ru65pprtGXLFknSN998o06dOumdd95RdHS08ZBnLFy4UDfccIMSExPVuXNnjRgxwmePBQAAAMD/7MlJkyRdVrOuQpxBNqdBVVOu2%2BnVrVtXzzzzjOksv2nq1Kl68803NWLECLVp00YnT57kK8EAAAAAFLMn%2B3TBbh3V2OYkqIr84n71u3bt0owZM/Tqq68qKSnJs7xXr142pgIAAABQmRS5Xdqfe0KSlBDRyOY0qIq8LtiPPvroOdc5HA6Fh4crMTFRPXr0UFCQmUsyFi1apCZNmhQr1wAAAABwtv256TpluRQeFKJGIVF2x0EV5HXBXrt2rXJycpSdna2AgACFh4crMzNTbrdbYWFhcrvdys3NVYsWLTRnzhzVqlWrwiG/%2BeYbxcbGatq0aZo7d66ysrLUtm1bPfzww4qPj6/w/gEAAAD4v0N5GZKkuPD6cjgcNqdBVeR1wZ45c6ZGjRqlxx57TH369FFQUJBOnTqlZcuWafLkyZoyZYry8/M1btw4/fOf/zTyWe3U1FRt375dO3bs0BNPPKGgoCC9/PLLuvPOO7Vy5UqFh4eXe99Op9f3eYMhZ2bPMbAH87cfx8BezN9%2BHAN7MX97MX/fOJqfJUlqXrOOAgOZLS48rwv2xIkTdccdd%2BiGG27wLAsKCtKNN96o9PR0TZo0SfPmzdPQoUP1xhtvGAlpWZZyc3M1depUXXbZZZKkVq1aqWfPnlqwYIGGDh1a7n2Hh4cayYjy4xjYi/nbj2NgL%2BZvP46BvZi/vZi/OW7LrWMFmZKklvUaKiqqhs2JUBV5XbC//fbbc37XdWxsrCZPnixJio%2BPV3p6esXS/U9ERIRq167tKdfS6TuZN2/eXDt37qzQvjMz8%2BRyuSsaEeXgdAYoPDyUY2AT5m8/joG9mL/9OAb2Yv72Yv5mhYeHym1ZSsvPliTVVg2lp%2BfYnAoXk7K%2BYeN1wa5Ro4Y2b96szp07l1i3efNm1ahx%2BoELCgo8v66omJgYHTp0qMRyy7IUEFCxSz9cLreKivhHzU4cA3sxf/txDOzF/O3HMbAX87cX8zenyHJJkiKDqitU1ZgrbOF1O%2B3bt69ee%2B01TZkyRT///LNOnDihn3/%2BWZMnT9asWbOUkpIiSdq%2BfbuaN29uJGS3bt2Ulpamn3/%2B2bPs6NGj2r17t%2BLi4ow8BgAAAAD/5bYsSVKD0PLfnwmoKK/PYE%2BYMEFHjx7V9OnTNWPGDM9yy7J07bXX6t5775UktW7dutSz3OXRq1cvtWrVSmPGjNG4ceMUHBysadOmKTo6WgMGDDDyGAAAAAD8l8s6fca6TkhNm5OgKvO6YAcHB%2Bull17STz/9pC%2B%2B%2BEIZGRmKjIxUhw4dip1NNvmd1U6nU6%2B99pomTpyoxx57TEVFRerQoYNeeOEFVa9e3djjAAAAAPBPrv%2Bdwa5djYIN%2B3hdsM%2BIi4u7oJdn16pVSy%2B88MIFezwAAAAA/sN95gw2BRs2KnfBlqSTJ08qPz%2B/xPJ69epVZLcAAAAA4BXPGeyQMJuToCorV8F%2B9dVX9dZbb%2Bn48eOlrv/hhx8qFAoAAAAAvGHp9Bns8EC%2BWxz28fou4osXL9b06dN16623yrIsDR06VEOGDFHdunV1ySWX6IknnvBFTgAAAAA4p/%2BdwFbNoBB7g6BK87pgv/322xo%2BfLhGjRolSerdu7cmTJigFStWqHr16srOzjYeEgAAAADOJ9ARoGqOCn0KFqgQrwv23r171bZtWwUEnP6jRUVFkqTQ0FANGTJE//rXv8wmBAAAAIAyCAsMkcPhsDsGqjCvC3Zg4Ol3hBwOh8LCwnTkyBHPuujoaB09etRcOgAAAAAoo7CganZHQBXndcFu2rSpp0QnJCRo4cKFcrlccrvdWrhwoRo2bGg8JAAAAACcT6gzyO4IqOK8LthJSUnatGmTJGnYsGHasGGD2rdvr06dOmn58uUaMmSI8ZAAAAAAcD4hzmC7I6CK8/oOAOPGjfP8%2BqqrrtLcuXP10UcfyeFwqFu3brr66quNBgQAAACAsghxcoMz2MurZ2BhYaE%2B/PBDtWvXTjExMZKkdu3aqV27dj4JBwAAAABlFcoZbNjMq0vEg4OD9fjjj%2Bv48eO%2BygMAAAAA5VKNM9iwmdefwW7SpInS0tJ8kQUAAAAAyi04wGl3BFRxXhfsQYMGadasWcrJyfFFHgAAAAAol6AAzmDDXl4/A/fu3avjx4%2BrR48euuqqq1SnTp1iX%2BbucDj0wAMPGA0JAAAAAOcTxBls2Mzrgj1nzhzPr5cvX15iPQUbAAAAgB0o2LCb1wV7%2B/btvsgBAAAAABXStHq03RFQxXldsJ1O3hUCAAAAULnUrhYmZ5jXt5gCjCr3XQA2bNigTZs2KT09XSNGjFCDBg20fft2NWzYUFFRUSYzAgAAAMBvOvu%2BUIBdvC7Y%2Bfn5Gj16tD7//HNZliWHw6EBAwaoQYMGevXVV9WwYUPdf//9vsgKAAAAAECl5fU1FJMnT9Y333yjf/7zn/riiy9kWZZnXVJSkjZs2GA0IAAAAAAA/sDrM9jLly/X2LFj1adPH7lcrmLrGjRooEOHDhkLBwAAAACAv/D6DPbx48cVGxtb6jqn06n8/PwKhwIAAAAAwN94XbDr1aunnTt3lrrup59%2BUuPGjSscCgAAAAAAf%2BN1we7Vq5dmzJihH3/80bPM4XDo8OHDeuutt9S7d2%2BjAQEAAAAA8Adefwb7rrvu0n//%2B1/1799fcXFxcjgceuSRR7R37141bdpUw4YN80VOAAAAAAAqNa/PYIeFhWnBggUaNWqUAgMD1bBhQwUEBOjOO%2B/U3LlzFRoa6oucAAAAAABUal6fwZak6tWra9SoURo1apTpPAAAAAAA%2BCWvz2A///zz2r17ty%2ByAAAAAADgt7wujuOy2AAAIABJREFU2HPmzFHfvn01cOBALVy4UNnZ2b7IBQAAAACAX/G6YK9bt04PPfSQCgsL9eijjyo5OVn333%2B/Nm/e7It8AAAAAAD4Ba8LdmRkpAYNGqRFixbpgw8%2B0IABA7R%2B/XoNHjxYPXv21LRp03yREwAAAACASs3rgn22uLg4Pfjgg1q7dq2mTp0ql8ull19%2B2VQ2AAAAAAD8RrnuIn62/fv3a9GiRXr//fd15MgR1a1b10QuAAAAAAD8SrkKdl5enlasWKFFixbpyy%2B/VGBgoLp3767HH39cycnJpjMCAAAAAFDpeV2wH3roIa1YsUK5ubmKj4/XQw89pOuvv16RkZG%2ByAcAAAAAgF/wumCvWrVK/fr1080336z4%2BHhfZAIAAAAAwO94XbDXrVunoKCgc64/ceKEoqOjKxQKAAAAAAB/4/VdxEsr15Zlac2aNRozZoy6dOliJBgAAAAAAP6kQncR37dvn9577z0tXrxYqampCgoKUu/evU1lAwAAAADAb3hdsAsKCrR8%2BXK99957%2BvLLL2VZlhwOh/70pz9p2LBhioqK8kVOAAAAAAAqtTIX7G%2B//Vbvvvuuli1bppycHIWGhuqmm25S7969NXz4cPXo0YNyDQAAAACosspUsK%2B//nrt3LlTktS2bVvdfPPNuu6661S9enVlZWX5NCAAAAAAAP6gTAV7x44dcjgc6tq1qyZMmKAWLVr4OhcAAAAAAH6lTHcRf%2BihhxQXF6fVq1fr%2Buuv16233qqFCxcqOzvb1/kAAAAAAPALZSrYgwcP1vvvv6%2BFCxdqwIAB2r17tx599FElJyfr0UcflcPhkMPh8HVWAAAAAAAqLa%2B%2BBzsxMVFPPPGE1q9fr0mTJikhIUEff/yxLMvSww8/rDfeeEPp6em%2BygoAAAAAQKXlVcE%2Bo1q1avrDH/6gt99%2BWx9//LGGDRumvLw8/eMf/1C3bt0MRwQAAAAAoPIrV8E%2BW9OmTXXPPfdo9erVmjFjhpKTk03kAgAAAADAr5T5e7DPJyAgQN27d1f37t1N7RIAAAAAAL9R4TPYAAAAAACAgg0AAAAAgBEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAAX5ZsHNyctSlSxfFxcVp27ZtdscBAAAAAMA/C/b06dPlcrnsjgEAAAAAgIffFexdu3Zp/vz5GjNmjN1RAAAAAADw8LuC/cwzz2jgwIFq1qyZ3VEAAAAAAPDwq4K9YsUK/fjjjxo9erTdUQAAAAAAKCbQ7gBllZeXp0mTJumee%2B5RWFiYsf06nX71HsNF5czsOQb2YP724xjYi/nbj2NgL%2BZvL%2BbvG4GBzBP28puCPWPGDNWqVUv9%2BvUzut/w8FCj%2B4P3OAb2Yv724xjYi/nbj2NgL%2BZvL%2BZvjmVZioqqYXcMVHF%2BUbAPHjyoN954Q9OmTVN2drYkKTc31/NzTk6OatQo34spMzNPLpfbWFaUndMZoPDwUI6BTZi//TgG9mL%2B9uMY2Iv524v5m3XmjYrMzFybk%2BBiVdY3b/yiYB84cECnTp3SsGHDSqwbPHiw2rRpo3//%2B9/l2rfL5VZREf%2Bo2YljYC/mbz%2BOgb2Yv/04BvZi/vZi/mYxS9jNLwp2fHy83nrrrWLLfvjhBz377LN64oknlJiYaFMyAAAAAABO84uCHR4ero4dO5a6rlWrVmrVqtUFTgQAAAAAQHHcZg8AAAAAAAP84gx2aTp27KiffvrJ7hgAAAAAAEjiDDYAAAAAAEZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAwItDtAWSxfvlxLlizR9u3bdfLkSTVp0kS33XabBg4cqIAA3iMAAAAAANjPLwr27Nmz1bBhQ/31r39VrVq1tGnTJj3zzDPav3%2B/7r//frvjAQAAAADgHwX7lVdeUXR0tOf3nTp1Um5urubNm6fx48crODjYxnQAAAAAAPjJZ7DPLtdnxMfHq6CgQBkZGTYkAgAAAACgOL8o2KX56quvFBkZqVq1atkdBQAAAAAA/7hE/Ne2bdumRYsWafTo0XI6nRXal9Ppt%2B8x%2BL0zs%2BcY2IP5249jYC/mbz%2BOgb2Yv72Yv28EBjJP2MthWZZldwhvpKamasCAAapXr57efvttBQUF2R0JAAAAgM0sy5LD4bA7Bqo4vyrYWVlZGjRokAoKCjR//nxFRUVVeJ%2BZmXlyudwG0sFbTmeAwsNDOQY2Yf724xjYi/nbj2NgL%2BZvL%2BZvVnh4qKTT/28P%2BEJUVI0ybec3l4gXFBRo5MiRSktL04IFC4yUa0lyudwqKuIfNTtxDOzF/O3HMbAX87cfx8BezN9ezN8sZgm7%2BUXBLioq0rhx4/Tjjz9q7ty5atSokd2RAAAAAAAoxi8K9pNPPqnPPvtM9913n/Lz8/X111971rVo0UJhYWE2pgMAAAAAwE8K9vr16yVJzz33XIl1b731ljp27HihIwEAAAAAUIxfFOxVq1bZHQEAAAAAgN/EF8UBAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAAAAAAAZQsAEAAAAAMICCDQAAAACAARRsAAAAAAAMoGADAAAAAGAABRsAAAAAAAMo2AAAAAAAGEDBBgAAAADAAAo2AAAAAAAGULABAAAAADCAgg0AAAAAgAEUbAAAAAAADKBgAwAAAABgAAUbAAAAAAADKNgAAAAAABhAwQYAAAAAwAAKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAY4DcFe8%2BePRoyZIjatm2rzp076%2Bmnn1Z%2Bfr7dsQAAAAAAkCQF2h2gLDIzM3XHHXeoYcOGmjJlik6cOKFnn31WGRkZev755%2B2OBwAAAACAfxTsf/3rX8rMzNT777%2Bv6OhoSZLT6dSECRM0cuRIxcTE2JwQAAAAAFDV%2BcUl4mvXrlXnzp095VqSevfureDgYK1Zs8bGZAAAAAAAnOYXBXvXrl0lzlIHBweradOm2rVrl02pAAAAAAD4P35xiXhmZqbCw8NLLA8PD9fJkycrtO%2BIiFBZVoV2gXJyOE7/zDGwB/O3H8fAXszffhwDezF/ezF/swICHHK7LQUG%2BsX5Q1zE/KJgn4tlWXKc%2BdepnAICeBHajWNgL%2BZvP46BvZi//TgG9mL%2B9mL%2B5jidDkVF1bA7Bqo4v3hFh4eHKzMzs8TyrKysUs9sAwAAAABwoflFwY6JiSnxWevCwkLt27ePO4gDAAAAACoFvyjYXbp00caNG5Wenu5Z9sknn6iwsFBdu3a1MRkAAAAAAKc5LKvy31YhMzNTKSkpatSokUaNGqXjx49r0qRJSkpK0vPPP293PAAAAAAA/KNgS9KePXv09NNP66uvvlJISIhSUlI0YcIEhYSE2B0NAAAAAAD/KdgAAAAAAFRmfvEZbAAAAAAAKjsKNgAAAAAABlCwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYECVK9h79uzRkCFD1LZtW3Xu3FlPP/208vPz7Y5VaS1atEhxcXElfjz//PPFtluzZo3%2B8Ic/KDExUb169dK8efNK3d/rr7%2BuHj16KDExUTfffLM2bdpUYpvs7Gw99thj6tixo9q1a6cRI0bo4MGDJba7WI/l3r179dhjj%2BnGG29Uy5YtlZKSUup2lXnmZc1WGZVl/g888ECpr4u1a9eW2Jb5e2f58uUaNWqUunbtqrZt2%2Br666/X/Pnz5Xa7i23H8983yjJ/nv%2B%2BtW7dOt1%2B%2B%2B3q1KmTEhIS1LNnTz377LPKysoqth2vAd8oy/x5DQD4TVYVcvLkSSs5Odm69dZbrTVr1liLFy%2B2rrzySuvee%2B%2B1O1ql9d5771mxsbHW2rVrra1bt3p%2BHDp0yLPNli1brJYtW1oPPvigtWHDBmvatGnW5Zdfbv373/8utq9Zs2ZZrVq1smbNmmV9/vnn1vjx463ExETrxx9/LLbdsGHDrKuvvtpasmSJ9dlnn1k33XST1atXLysvL8%2BzzcV8LD/55BOrS5cu1pgxY6yUlBSrb9%2B%2BJbapzDMva7bKqizzv//%2B%2B62ePXsWe01s3brVyszMLLYd8/feLbfcYo0bN85aunSptWHDBmvy5MlWy5YtrUmTJnm24fnvO2WZP89/31qyZIn1/PPPWytXrrQ2btxovf3229aVV15p3XnnnZ5teA34Tlnmz2sAwG%2BpUgV75syZVps2bazjx497ln344YdWbGystXPnThuTVV5nCvbZM/u1IUOGWP379y%2B27JFHHrGuvvpqy%2BVyWZZlWQUFBdbvfvc76%2B9//7tnm6KiIqtPnz7W3Xff7Vn29ddfW7Gxsdbq1as9yw4ePGi1bNnSmj9/vmfZxXwsz8zMsk7/R7y0gleZZ16WbJVZWeZ/ruVnY/7lU9q/NRMnTrQSExOtgoICy7J4/vtSWebP8//CW7BggRUbG2sdOXLEsixeAxfar%2BfPawDAb6lSl4ivXbtWnTt3VnR0tGdZ7969FRwcrDVr1tiYzH8VFhZq48aN6tu3b7Hl119/vVJTU/X9999LkrZs2aKsrKxil9s6nU5dd911WrNmjSzLknT6sqbw8HB16dLFs13Dhg11xRVXFDtGF/OxDAj47ZdlZZ55WbNVZuebf1kx//I5%2B%2B93Rnx8vAoKCpSRkcHz38fON/%2ByYv5mRUZGSpKKiop4Ddjg7PmXFfMHqq4qVbB37dqlmJiYYsuCg4PVtGlT7dq1y6ZU/iElJUXx8fHq2bOnZs6cKZfLJUnat2%2BfTp06pebNmxfbvkWLFpLkmeuZn3%2B9XUxMjHJycnT06FHPds2aNZPD4Sixv7OPUVU%2BlpV55mXNdjHYt2%2Bf2rdvr4SEBPXr10%2BffvppsfXM35yvvvpKkZGRqlWrFs9/G5w9/zN4/vuey%2BVSQUGBtm/frmnTpql79%2B5q1KgRr4EL5FzzP4PXAIBzCbQ7wIWUmZmp8PDwEsvDw8N18uRJGxJVfnXq1NGYMWPUpk0bORwOrVq1SpMnT9bRo0f12GOPeeb267me%2Bf2Z9ZmZmQoODlZISEix7SIiIiRJGRkZql%2B/vjIzM1WzZs0SOX59jKrysazMMy9rNn8XHx%2BvxMREtWjRQllZWXrnnXc0evRovfTSS7r22mslMX9Ttm3bpkWLFmn06NFyOp08/y%2BwX89f4vl/oXTv3t1TwpKTk/XPf/5TEv8NuFDONX%2BJ1wCA31alCva5WJZV4p1DnJacnKzk5GTP75OSklStWjXNmTNHI0aM8Cw/1/zOXl7aNmcukTrfdr%2B1/Nf7qyrHsjLPvCL78wd33HFHsd/36NFDAwcO1JQpUzz/cyUx/4pKTU3V2LFjlZiYqKFDhxZbx/Pf9841f57/F8arr76q3Nxc7dy5U9OnT9eIESM0e/Zsz3peA751rvk7nU5eAwB%2BU5W6RDw8PFyZmZkllmdlZZX6riBK16dPH7lcLv3www%2Bed2J//a7omTmfmWt4eLgKCgpUUFBQ6nZn9nOuY/Trd26r8rGszDMva7aLTUBAgK655hrt2rXL85UpzL9isrKyNHToUIWEhGjGjBkKCgqSxPP/QjnX/EvD8983Lr/8cl1xxRUaMGCAXn75ZW3atEmffPIJr4EL5FzzLw2vAQBnq1IFOyYmpsTnTwoLC7Vv374Sn2tB2TRt2lRBQUHavXt3seU7d%2B6UJM9cz/z86/nv2rVLNWrUUL169Tzb7dmzx/MO79n7O/sYVeVjWZlnXtZsF6Nfz4/5l19BQYFGjhyptLQ0zZo1S1FRUZ51PP9977fmfy48/30rPj5eTqdT%2B/bt4zVgg7Pnfy68BgCcUaUKdpcuXbRx40alp6d7ln3yyScqLCxU165dbUzmX5YtWyan06mWLVsqODhYnTp10vLly4tts3TpUtWpU0ctW7aUJF1xxRWqWbOmli1b5tnG5XJp%2BfLl6tq1q%2Beypa5duyozM1Pr1q3zbHf48GFt2bKl2DGqyseyMs%2B8rNkuNm63Wx9//LEuu%2Bwyz%2BftmH/5FBUVady4cfrxxx81a9asYjcVknj%2B%2B9r55l8anv%2B%2Bt3XrVrlcLjVu3JjXgA3Onn9peA0AOJvz8ccff9zuEBfKZZddpvfee0/r1q1TvXr1tHXrVk2cOFG9evXSwIED7Y5XKQ0ZMkTHjh1Tdna29u7dqzfeeEPz5s3ToEGDPJ8zatKkiV555RUdPnxYNWrU0JIlSzR79mw9%2BOCDSkhIkHT6qymcTqdeeeUVhYSEqKCgQC%2B99JK2bt2qf/zjH6pdu7YkqX79%2Bvruu%2B%2B0YMEC1atXT4cPH9Zjjz2mkJAQPfnkkwoMPH3bgIv5WObl5ek///mPdu7cqf/%2B979KS0tT/fr1tXPnTkVHRys0NLRSz7ws2Sqz883/xIkTGj16tE6dOqWsrCxt375dTz/9tLZu3aonnnjCc4aA%2BZfP448/rqVLl2rcuHGqW7eujhw54vkRFham4OBgnv8%2BdL75p6am8vz3sbvuukv79u1TVlaWjhw5ok8//VQTJ05UkyZN9MADD8jpdPIa8KHzzf/IkSO8BgD8Nt9/1Xblsnv3buvPf/6z1aZNG6tjx47WU089ZeXl5dkdq9J66qmnrGuuucZq3bq1lZCQYKWkpFhz5syx3G53se1Wr15t3XDDDVarVq2snj17WnPnzi2xL7fbbb322mtWt27drISEBKtfv37Whg0bSmyXlZVlPfLII1aHDh2stm3bWsOHD7cOHDhQYruL9Vju37/fio2NLfXHxo0bPdtV5pmXJVtldb75p6enWyNGjLCSk5OtVq1aWW3btrVuv/12a%2B3atSX2xfy91717d57/Njrf/Hn%2B%2B97MmTOtG2%2B80WrXrp3Vtm1bq2/fvtbkyZOtrKysYtvxGvCN882f1wCA83FY1q8%2B9AEAAAAAALxWpT6DDQAAAACAr1CwAQAAAAAwgIINAAAAAIABFGwAAAAAAAygYAMAAAAAYAAFGwAAAAAAAyjYAAAAAAAYQMEGAAAAAMAACjYAwGPRokWKi4vz/GjZsqWSkpI0fvx4/fLLL7bnOnDgwG9uN3XqVMXFxV2gVOe3Zs0aTZ06tdR1cXFxevLJJy9wIgAA4EuBdgcAAFQ%2Bzz77rJo3b66CggJt2bJFr7zyijZt2qTly5crIiLC7nh%2BY82aNZo3b57GjBljdxQAAHABULABACVcdtllSkxMlCR17NhRLpdLU6dO1aeffqqbb77Z5nQAAACVE5eIAwDO60zZPn78eIl1y5Yt06233qq2bduqXbt2GjJkiL7//vti22zbtk3jx49Xjx491Lp1a/Xo0UP33HOPDh48WGJ/X3/9tQYOHKjExEQlJSXphRdeUFFRUYXylyXjAw88oHbt2mnv3r0aOnSo2rVrp65du2rSpEkqLCwstu2RI0c0duxYtWvXTu3bt9e9996rb7/9VnFxcVq0aJFnf/PmzZOkYpfd//oy9/fff199%2BvRRmzZtdMMNN%2Bizzz4rtv7EiRN69NFH1bVrVyUkJKhTp04aOHCgPv/88wrNBAAAmMcZbADAeZ0phZdeemmx5a%2B88oomT56sfv36aeTIkTp16pRef/11/fGPf9TChQvVokULSdLBgwfVrFkz9e3bVxEREUpNTdU777yj/v3766OPPlJ0dLQkaefOnfrTn/6kRo0aadKkSQoJCdH8%2BfO1dOnScmcva0ZJOnXqlEaOHKn%2B/fvrz3/%2Bs7744gtNnz5dYWFhuuuuuyRJubm5Gjx4sE6ePKkJEybokksu0bp16zR%2B/Phijztq1Cjl5ubq448/1oIFCzzL69at6/n16tWrtW3bNo0dO1bVq1fXrFmzdNddd2nFihVq0qSJJOm%2B%2B%2B7T999/r/Hjx%2BvSSy9VZmamvv/%2Be2VkZJR7JgAAwDco2ACAEtxut4qKijyfwZ4xY4Y6dOigHj16eLY5fPiwpk6dqttvv12PPPKIZ/lVV12l3r176%2BWXX9bkyZMlSddee62uvfZazzYul0vdunXT1VdfraVLl2rw4MGSpGnTpsmyLM2ZM0e1a9eWJHXr1k0pKSnl%2Bnt4k1E6XbDHjBmjPn36SJI6d%2B6s7777TkuXLvUU7MWLF2vv3r167bXX1KVLF0lSUlKS8vLyihXppk2bev4Obdu2LTVfQUGBZs%2BerbCwMElSq1atlJycrOXLl2vYsGGSpC1btuiWW27RgAEDPH/u97//fbnmAQAAfIuCDQAo4ewyJ0kxMTGaPn26AgP/7z8b69evV1FRkW688cZil3BXq1ZNHTp00KZNmzzLcnJyNH36dK1cuVIHDx6Uy%2BXyrNu1a5fn15s2bVLnzp09xVSSnE6nrrvuOr388ste/z28yShJDoej2JsI0unLuzdu3Oj5/RdffKEaNWp4yvUZKSkpxQp2WXTs2NFTriWpdu3aqlWrVrFL51u3bq3FixcrMjJSV111lVq1aqWgoCCvHgcAAFwYFGwAQAl///vfFRMTo5ycHC1btkwLFizQPffco1mzZnm2SUtLkyT179%2B/1H0EBPzfbT7uvfdebdy4UaNGjVJiYqJq1Kghh8OhYcOGqaCgwLNdRkZGsXJ9RmnLysKbjJIUGhqqatWqFVsWHBxcpoy1atXyOl9kZGSJZb9%2BvBdffFEzZszQu%2B%2B%2Bq5deeknVq1dXr169dN9996lOnTpePyYAAPAdCjYAoISYmBjPjc06deokt9uthQsXasWKFZ5LvaOioiRJU6ZMUcOGDc%2B5r6ysLK1evVp33XWX57JnSSosLNTJkyeLbRsZGekpxWcrbVlZlDWjNyIjI/Xtt9%2BWWF7ejOcTHR2thx9%2BWA8//LAOHTqkVatW6YUXXtDx48f1%2BusG1gWYAAAC/ElEQVSv%2B%2BQxAQBA%2BVCwAQDndd9992nlypWaMmWKrrnmGgUEBCgpKUmBgYHat2%2Bfevfufc4/63A4ZFmWgoODiy1fuHBhsUvFpdOXTK9atUppaWmes8Qul0vLli0rV%2B6yZvRGhw4dtHz5cq1Zs0Zdu3b1LP/oo49KbHvm75yfn6%2BQkJAKP3bDhg11%2B%2B23a8OGDdqyZUuF9wcAAMyiYAMAzisiIkLDhg3Tc889pyVLlujGG29U48aNNXbsWE2ePFn79%2B9Xly5dFB4errS0NG3btk2hoaEaO3aswsLC1KFDB73%2B%2BuuKiopSo0aNtHnzZr377rsKDw8v9jgjR47UqlWrdMcdd2j06NEKCQnRvHnzlJeXV67cZc3ojZtuuklz5szRX//6V40bN06XXHKJ1q5dq/Xr10sqftl5bGysJHluiBYQEKC4uLgSbzacS1ZWlgYPHqyUlBQ1b95cNWrU0LZt27Ru3Tr16tXLq9wAAMD3KNgAgDIZNGiQ5s2bp%2BnTpyslJUVOp1PDhw9XTEyM3nrrLX300UcqLCxUnTp1lJCQoNtuu83zZ1944QU988wzeu6551RUVKQrrrhCs2fP1vDhw4s9RmxsrGbPnq2///3vuv/%2B%2BxUREaEbbrhBvXv31qOPPlqu3GXNWFbVq1fXnDlzNHHiRD333HNyOBxKSkrS3/72Nw0bNkw1a9b0bJuSkqItW7Zo/vz5njuk/%2Bc//1Hjxo3L9FjVqlVT69at9cEHH%2BjgwYMqKipSgwYNNHToUP3lL3/xOjsAAPAth2VZlt0hAADwd2e%2Bb3v16tWqX7%2B%2B3XEAAIANOIMNAICX5s6dK0lq3ry5Tp06pY0bN%2Brtt9/WDTfcQLkGAKAKo2ADAOClkJAQzZkzRwcOHNCpU6c8l22PHDnS7mgA/n%2B7dmwCAADDMAz6/9E9oYuhizTnAUMAHrmIAwAAQGDuCQAAAHAR2AAAABAQ2AAAABAQ2AAAABAQ2AAAABAQ2AAAABAQ2AAAABAQ2AAAABAQ2AAAABBYcjUz6UjJra8AAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeVhUZf8/8PcMDPuuKIoiKrihmbln5p65obm2upSPmXtZ%2BlhpPWq5lks%2B/QyTNCszDU1c8JtLIppLroQKgqiAsu%2ByzAwzvz9ozjMHhllgYEDer%2BviumY985kznOVz7vv%2B3BK1Wq0GEREREREREVWJ1NIBEBERERERET0JmGATERERERERmQETbCIiIiIiIiIzYIJNREREREREZAZMsImIiIiIiIjMgAk2ERERERERkRkwwSYiIiIiIiIyAybYRERERERERGbABJuIiIiIiIjIDJhgE1XRhg0b0LZtW7Rt2xYfffRRlZenVCqF5bVt2xbJyclmiJK0mfs3IyKq69asWSPsF5cvX27pcJ4YY8eOFdZrWFiYztfExMQIr%2BnSpUsNR1g3/fDDD8I6e/vtty0dDpGItaUDoNrh3//%2BN/bv31/h8zKZDE5OTvDy8kJAQAAGDx6M559/HlZWVjUYJRHVN/fv38cLL7wg3JdKpTh58iSaNGliwaiIiIiIdGMLNhlFoVAgKysLt27dwr59%2BzBz5kyMHDkSN27csHRoVI/dv39fuILdoUMHS4dD1aDshT%2BVSoXffvvNQtEQEVnOvHnzhGPe9u3bLR1OvcXfgQxhCzaV4%2Brqik6dOokek8vlSElJwf3794XH7t69iylTpmDnzp146qmnajpMInrCqdVqHDx4sNzj%2B/fvx8yZMy0QEREREZF%2BTLCpHH1X5BISErBu3TocO3YMAFBQUIAPP/wQBw8ehFTKDhFEZD4XLlxAUlISAKBly5aQy%2BVISkrCvXv3cO3aNTz99NMWjpCIqOratGmD6OhoS4dBRGbCjIhM0rx5c2zatAkDBgwQHrtz5w7OnDljwaiI6Emk3T08MDAQo0aN0vkcERERUW3BBJtMJpFIMG/ePNFj58%2Bft1A0RPQkKigowP/93/8BKN3njBo1CoGBgcLzR48ehVwut1R4RERERDqxizhVSvv27eHg4ICCggIAELpxGuv8%2BfM4duwYLl26hLS0NDx%2B/Bju7u7w8/PDgAEDMH78eDg4OBi1rDt37iAiIgKXL19GbGwsUlNTUVxcDGdnZ3h5eaFr164IDAxE586dTYpRpVLh4MGDCA0NRXR0NHJycuDp6Qk/Pz%2B89NJLeOGFF2pVFfW4uDgcOnQIZ8%2BexcOHD5GdnQ0nJyc0a9YMzz33HCZMmABvb2%2B9y9Cu2GxlZYWbN28CAFJTU7F3714cP34cDx8%2BRFFRETw9PdG9e3dMnjwZ7du3NzpOhUKBkJAQHDlyBLGxscjNzdW5Xjds2ICtW7cCAMaPH4/PPvtMWMbevXvx8ccfi5ZbUlKCtm3b6vzM%2BfPnY9asWQZj%2B%2Buvv7Bnzx5cv34dycnJsLOzg4%2BPDwYOHIjJkyfDycnJqO947do1HDhwANeuXUNSUhIeP34Ma2truLi4oGnTpmjXrh26d%2B%2BOgQMHwtHR0ahllnX8%2BHHMnj0bAGBvb49z584Zvc1s2bIFX331FYDSISG6xjkXFxfjyJEjOH78OG7duoWsrCwUFxfD1tYWDRs2hI%2BPDzp27Ih%2B/frhmWeeqdR30OfYsWPC/qVLly5o3rw5ACAgIABRUVHIycnBiRMnMGzYsAqXIZfL0adPH%2BTm5gIAvvzyS4wYMcKoz7937x6GDh0q3D98%2BDD8/PwqfP2dO3eE7e/Ro0fIycmBs7MzmjVrhr59%2B2LixInw8vLS%2B5kxMTFCK72DgwOuXr0KoHS7DAkJwZkzZ5CcnIzMzEzY29sLz2t/3z///BPnz5/H33//jfj4eOTk5EAqlcLV1RX%2B/v7o1asXJk6cCFdXV6PWg8aDBw%2Bwe/duhIeH4%2BHDh5BKpfDy8kLv3r3x8ssvC%2BumZ8%2BeyM7OBgDs27evXD2P6lp3pqjqetZ29uxZ/N///R/%2B%2BusvpKen4/Hjx/Dw8IC/vz8GDBiAcePGwd7e3qi4oqOjERERgStXriA2NhZpaWnCsaxJkybo2rUrxowZg44dO5r0fUtKSnDgwAGEhoYK%2B9yGDRuiTZs2GDt2LAYPHlztQ7yMjWHNmjUIDg4GALz22mtYtmxZuWWdOnVKqMHg7%2B%2BPQ4cOGfx8Y5arkZKSgvDwcFy8eBExMTF4%2BPAhCgoK4ODgAA8PDzz99NMYMmQIBg0aBIlEUpnVUU5F/5Ma2tuVxtq1a7F27dpyy9K8X6FQoH///khPTwdQug7GjBljVDzx8fF48cUXhfthYWFo2bKlSd9JQ9e6V6vVOHHiBEJCQnD79m2kpaXBxcUFfn5%2BGDlyJF566SVYW5s/RUlMTMT%2B/fsRERGBxMRE5OTkCMflPn36YOzYsWjRokWF76/M70D1ExNsqhSJRAJnZ2fhBDgvL8%2Bo9yUmJmLp0qU4d%2B5cuedSU1ORmpqKc%2BfOISgoCJ9//jmef/55vcsLDAyscNxSVlaWUPn8hx9%2BwIsvvohVq1YZlYSkpKRg/vz55XaOSUlJSEpKwunTp9G7d298%2BeWXBpdV3YqKirB69Wr88ssvKCkpET2nWQeRkZEIDg7GnDlzMGPGDJOWf%2BLECSxZsgQ5OTmixxMSEpCQkIADBw5g0aJFmDZtmsFlxcfHY968eYiJiRE9bun1KpfLsWrVKvz000%2Bix4uLixEZGYnIyEj8/PPP2L59O/z9/fUu58MPP0RoaGi550pKSpCWloa0tDRcv34de/bswYABA4SLCKbq168f3NzckJ2djcLCQhw/flzUwqvP4cOHhdva3a41bt68iQULFoiKGmoUFBTgwYMHePDgASIiIrB161Z89dVXoqm0zKFs93Dt21FRUQCAAwcO6E2wbWxsMHToUOzduxcAEBoaanSCrf0bdujQocLkuqCgAJ9//jl%2B/fVXqFQq0XOZmZnIzMzEjRs3EBwcjAULFmDq1KlGfb7Gjz/%2BiNWrVxtsrT99%2BjTef/994WJCWUVFRUhJSRF%2Bs2XLlmH06NFGx7B27VoUFRWJHo%2BNjUVsbCx%2B/vlnLF68GG%2B88YZxX%2Bof1b3uTGHseta4f/8%2BPv74Y1y8eLHccykpKcK63rZtG1avXo3evXtXuCyFQoGXXnoJd%2B7c0fm8Zj9%2B8%2BZN7Nq1CyNHjsRnn30GOzs7g3EmJSVh3rx5%2BPvvv8s9npSUhFOnTuH555/H%2BvXrDS6rsmpDDMb6%2BOOPdf4/AkBubi5yc3Nx7949HDhwAAEBAdi8eTOaNWtmgUgNk8lkGDt2LIKCggAAv/76q9EJ9r59%2B4Tb3bp1q3RyrUteXh4WLVqEkydPih5PT09Heno6zp8/j927d2PTpk3ChdWqUqvV%2BPrrr/HNN9%2BguLhY9FxGRgYyMjIQGRmJ7du3Y9q0aXj33XdZV4iqhAk2VYparRadyBnTCnf79m1Mnz4daWlpwmMODg7w8/ODvb09UlNTER8fDwBIS0vDrFmzsGHDBgwZMqTCZWon1zKZDL6%2BvnBzc4NUKkVGRgbi4%2BOFpDMsLAxpaWnYtWuX3pbnzMxMTJ06FXfv3hUes7GxQZs2bWBvb4/4%2BHikp6fjzz//xOzZs9GtWzeD37265ObmYsaMGaILAdbW1mjdujXc3d2Rm5uLmJgYKJVKFBcX44svvkBWVhYWL15s1PIjIiIwZ84cqFQqyGQy%2BPv7w9nZGcnJyULypVKpsHr1ajRv3hyDBw%2BucFlJSUmYMmUKUlJShMfs7Ozg7%2B8POzs73L9/H6mpqUatVy8vLzz33HMoKirCX3/9BaD0ok%2BfPn10vt7Hx0fv9/zoo4%2BEVlx3d3f4%2BvpCKpXizp07wv95SkoK/vWvf%2BHQoUMVtmQvWrQIR48eFe5bW1ujVatWcHd3h1qtRk5ODu7duycc4NVqtd649JHJZBg6dCj27NkDoDQhNCbBjoqKEv63JRIJRo4cKXo%2BJSUF06ZNE12ld3V1ha%2BvLxwdHVFYWIjU1FQ8fPhQiF/XyWhVJCUlCYmLTCYTJdEjRozA2rVrUVJSgoiICKSnp6Nhw4YVLmvUqFFCgh0REYGsrCy4u7sbjEG7VUzXRQigNPGZMWOGaLpCmUyG1q1bw83NDTk5OYiJiUFJSQkKCwuxatUqZGVl4d133zX4%2BUBpT43ly5cLy/Xz84OzszPS0tJE2xEAPHz4ULRPdnNzQ/PmzeHk5ITi4mI8ePBAaMnKz8/HokWLUFJSgrFjx%2BqN4ccffxRi0PDy8oKPjw8KCwsRExOD4uJirFy50qTeGNW97kxhynoGSreh6dOnIzMzU3jM0dERfn5%2BsLOzQ0pKCu7duwcASE5Oxr/%2B9S/897//Rb9%2B/XR%2BvkqlEiXXMpkMLVu2hKurK6RSKdLT0xEfHy9sZ4cOHUJ6ejq%2B%2B%2B47vUlAeno6pk6digcPHgiP2draCvvc%2BPh4ZGRkIDw8HPPmzUO7du2MX2lGqg0xmCImJkZYz1KpFM2aNUODBg1gZ2eH3NxcxMXFCReaoqKi8PLLL2P//v3w9PSs1rh69%2B6NvLw83L59W9iOW7ZsqbNXmvaFl4kTJ2Lbtm1Qq9W4ePEi7t27B19fX72fpVQqRVMhTpgwwTxfAqXHvPfeew/h4eEASo%2B3rVq1glwux507d0TrdurUqdi9ezcaNWpU5c9dunSpcBzQ8PX1RaNGjZCZmYnY2FgApRe7goKCkJCQgC%2B//LLc9lXZ34HqHybYVClRUVEoLCwU7uvrOgmUXrGcNWuWkFw3adIEixcvxpAhQ0TdgOLj47FixQqcPXsWCoUCS5YsQUBAAJo2bapzuS4uLhg7diyGDBmCzp07QyaTiZ7Pzs7Gjz/%2BiP/3//4fFAoFLl%2B%2BjO%2B%2B%2Bw7Tp0%2BvMNaVK1eKkuvJkydj7ty5cHFxAVB6MvT777/jk08%2BwZUrV4SLApbw4YcfCsm1ra0t5syZg1dffVWUAObk5GDLli34/vvvAQDBwcHo2rWr3mQYKP2e7733HgBg5syZmD59OpydnYXnr169innz5iE1NRUAsGrVKr1d5j7%2B%2BGPhZFUqlQrL1JyUq9VqREREYNmyZQbXa9%2B%2BfdG3b19Rl3apVFqp%2BSiPHz%2BO7OxsNG3aFB9//DEGDBggHFQVCgW2b9%2BODRs2AAAePXqEHTt2YM6cOeWWc/36dSG5lkgkmDVrFqZNmyZaZ0BpS/bVq1cRFhYmOkGvjMDAQCHBPnfuHDIzM%2BHh4aH3Pdots927d0eTJk1Ez3/99ddCcu3l5YXly5ejb9%2B%2B5U40cnNzER4ejn379pmtm6TGgQMHhOT9%2Beefh5ubm/Ccp6cnevfujYiICCiVSoSGhurtPdGjRw94eXkhOTkZCoUCYWFheOWVV/R%2B/o0bN4QESSqVVtjqvXjxYiFBtLe3x/z58zFx4kRRopmVlYXNmzcLvSO%2B%2BeYbdOvWDX379tUbg1wux8qVKyGRSDBjxgxMnz5d2AcBECUsGgEBARg3bhz69%2B%2Bv84QvMjIS69evF2pmrFixAs8991yFJ7CxsbFYtWqVcN/b2xsrV67Es88%2BKzyWn5%2BPbdu24ZtvvsGKFSvK9aKpSHWuO1OYup6zs7Mxa9YsYdv19vbGkiVLMHDgQNGF27i4OHz66ae4ePEiFAoFFi1ahIMHD6Jx48Y643Bzc8PYsWPxwgsvoFOnTuW6x2ZmZuKHH35AUFAQFAoFzp8/jx9//FFvr4FPPvlEFP9bb72Fd955R9gnlZSUICwsDMuXL8f58%2BerpYp1bYjBFDKZDKNGjcLw4cPRq1evcj3eNENn1q1bh4yMDKSlpWH58uXCkJvqsnHjRgCl8y9rZnGZMGEC3nrrLb3va968OXr37i30Gvz111%2BxcOFCve/5448/hHM1Z2dnUVfxqjp69CiysrLg4uKCpUuXYsSIEcJ2o70vUavVSExMxLJlyyrdy0tj7969ouS6a9euWL58uei89f79%2B/j000%2BF9XT06FF06tSp3Pqt7O9A9Q/7P5DJ1Go1tmzZInpMe6yiLuvXrxfGafv6%2BiIkJATDhg0rdxLRsmVLBAUF4bnnngNQmph//fXXFS739OnTWLJkCbp161YuuQZKT1pmz56NL774Qnhs165dUCqVOpd39epVUffZGTNm4KOPPhKdcEmlUgwdOhTBwcGws7NDVlaW3u9eXY4cOYLff/8dQOmV0p07d2LGjBnlWlddXV3x0UcfYf78%2BcJj69atM9h6qmlxXb58Od59991yiWKXLl2wZcsWIblKTEwUWpPL%2BuOPP0TDAhYvXoz58%2BeLTqYlEgn69u2L77//Hm5ubjW2XrOzs%2BHp6Yndu3dj0KBBokRSJpNh5syZooSsourVp0%2BfFm6/9NJLmDdvXrl1BpSObe/WrRs%2B/vhjrFu3rkqxd%2B3aVUiklEqlqPVcF5VKhSNHjgj3dbXMaloWgNL/k379%2BulsJXNxccHIkSOxY8cOgxdrTKXdeqKrVd6UauISiUSUIOvqvl%2BWdut1jx49dCZF%2B/fvF35zBwcH7Nq1C9OmTSvXiuvu7o5PPvlEGDOqVqt1jtcrS6lUoqioCB9//DHee%2B890T4IKN8rY/To0QgJCcFrr71WYa2FTp06ITg4WEhQCwoKhAs0uqxfvx4KhQIA4OHhgV27domSawBwcnLCu%2B%2B%2Bi4ULF6KgoKBc90tdqnvdmcLU9bxmzRokJycDKL2wHBISgiFDhpTrFdW6dWsEBwejR48eAEr3M5quumXZ2Njgjz/%2BwOLFi9GlSxedY089PDwwb948fP7558JjO3furLD3yPnz53H8%2BHHh/ty5c7Fo0SLRPsnKygojRozAtm3bYGNjY/Z9bm2IwVTbtm3D%2BvXrMXDgQJ3DyWxtbfHSSy/hhx9%2BEJ4/fvw4EhISajpUo02cOFG4vX///grPfzS0u4ePHDnSrC2xWVlZkMlkCAoKQmBgoGi70exLNBf2gdLx9hEREZX%2BvMePH2PNmjXC/WeeeQbfffdduUahFi1aICgoSNQLbtOmTVW%2BCE71FxNsMklCQgLmz5%2BPU6dOCY%2BNHDlSb5GrzMxM0UnwmjVr9LayWVtbY/ny5cJJRmhoKPLz83W%2B1tiiTkOHDkWXLl0AlHbZ0xTvKkv7ZNPHxwdz586tcJkdOnTAm2%2B%2BadTnV4dvv/1WuD179mzh%2B1Vk5syZwjiqe/fu4c8//zT4GZriaBXp3LmzaC7iK1eu6HzdL7/8ItwOCAjAlClTKlxm8%2BbN9a736vDvf/9bbxEl7XgTExOFVnttmpNuAEYX/apqkTxTk8eLFy8KvQhkMpnOlgntLrGG/qc0zFns7/Lly8LwA2dnZ9GUgBpDhgwRCkdFR0fj1q1bepepnaRfuXJFb1HGshchKup2r91bYsGCBQaLec2bN08YqxkTE1PhxShtXbp0weuvv27wdYDx%2B0IrKyu8//77wv2y4yA1NIWeNBYsWKC3SOJbb71VYZHBsmpi3ZnC2PWckpIibGMSiQTr1q0T9a4oSyaTYcWKFcIFqpCQEJ0XICQSidGF0AIDA9GhQwcApcfjsvUsNLSPZa1bt8Y777xT4TKfeuopk8fPG6M2xGAqY7ejVq1aCYmrSqUSnRPVNoMHD0aDBg0AlA6/074YXFbZ7d6c3cM1XnvtNb3HlunTp4vOKX/%2B%2BedKf1ZoaKhQI8ja2hqfffYZbG1tdb5WJpNh5cqVwgWF4uLict3KiYzFBJvKiY6OxltvvSX6mzx5MoYOHYohQ4YI3WIAoE%2BfPlixYoXe5YWFhQknFWUTsop4e3sLSUpRURGuX79ehW9U6qmnnhJuR0ZGlnterVaLTjYnTJgAGxsbvct89dVXLVIIIy4uTij0JJPJDHZ5BUpb3rXH2164cMHge7SvfFdEO5nU7lqvoVQqcfbsWdEyDXUpHjNmTI2NX3J1dTXYBa5ly5bCCQqg%2B3tqH7Rv375tvgAN0E4Ar169qrclRTsB79%2B/f7nWOgCi/3lLdNfUvhg3dOhQnSdDjo6OGDRokM736NKuXTu0adMGQOl2rt1Lpazz588L3SNtbW11Fm%2B7efOmMGbW3t7eqJNQKysrDB8%2BXLhvzPZXHSe3QOn60KxXzRjqss6cOSN093ZwcKhwHLqGVCo1an9RU%2BvOFMau56NHjwot%2Bt27dxcSXX18fX2FY09BQYHOY4%2BpDB3LSkpK8Mcffwj3J02aZPAi2GuvvWbWoR61IYbqpj0ziTl%2B1%2Boik8nw0ksvCfe1W6jL2r9/v7Ddd%2BjQAQEBAWaP57XXXtP7vFQqFZ3TnD59WtjuTHXixAnh9nPPPYdWrVrpfX3Tpk1FPbK0309kCo7BpnJycnIMdsnx9fXFrFmzEBgYaPCAePnyZeF2z549jY6jTZs2QqGjqKioCgtYAaVjZf/8809ERkYiISEBeXl5KC4uFnWD1q6IrKtwzf3790WVso0Z5%2Bfp6Yn27dsLyW5N0W7BCQgI0NkVWRftCtjGxGzMxRDtll9dFYxjY2NF1YeN%2BR9wcnJCQECA6H%2BnunTs2NGo6UAaN26MjIwMALqr5mtPnfPTTz%2BhefPmeOWVVyq8Wm4u/v7%2BaNeunZDUHzp0SGdLkVwuF%2BaVBiou3NWxY0dcunQJALBw4UJ8/vnn6Nq1azVEXl5RURHCwsKE%2B/qKtgUGBgpduUNDQ/HBBx/oHCaiMWrUKGGoSGhoaIXV9MtehNC1bWlvf506dTK61Ut7%2B6uoF422yq73lJQUnD17Frdv30ZGRgby8/PLdQvVdC1WKpXIyMgoV%2BdCO2Ew9jsas23X1LozhbHrWTt2U45l/v7%2BuHbtGoDS/a6%2BAo6aqdY0x7L8/PxyxzLt%2BhS6jmWxsbHCDB8AhCFX%2Bnh7e6N169ZCsaeqqg0xVNW1a9dw9epVxMXFITc3FwUFBaLfQbs7u67foTaZOHEitm/fDrVajfDwcKSlpZUrzKZWq/Hrr78K98ePH2/2OHx8fAwWHQUgmkFGLpcjOjra5OnpAIiKKBqalUZjwIABwrHl1q1bkMvlBhtbiMpigk2VkpiYiNjYWKOuNmtXRz1x4oTRJ0faCXFF47KUSiV27NiBbdu2lZubUB9dCZJ2IRapVIrWrVsbtSw/P78aT7C112liYqLRBTa015ExY930VWfW0O7aWHYaH6C0urGGtbW13jkmtbVq1apGEmxjviMgrgiqXeBPY9iwYdi4cSNSU1OhUqmwatUqbNmyBX379kWvXr3QpUsX%2BPv7V0sLzahRowwm2OHh4cIFEGdnZ/Tv31/nsqZOnSok2Pfu3cOrr76Kli1bol%2B/fujevTu6dOkias03p%2BPHjwvbppeXlzB%2BVZc%2BffqgQYMGyMjIQGZmJsLDw0Wt2mWNHDkSX375JdRqNWJiYhAdHV2uS7NcLhfqGgAVJ/jaCUB8fLzR25/2eD5jtj9Tp/9JTEzEqlWrcPLkSZMqu%2BvaHz569Ei4bajVR6Nly5aQSCR66zvU1LozhbHrWXu/GxYWZvQct9oJcUWxKxQKBAcHIzg42KRjma7hU9q9WDSzaxjDz8/PbMltbYihsn7//XesW7dO5zSFFaloGFtt0aJFC/Ts2RPnz5%2BHUqnE/v37y11kvHDhgnAeZGdnZ/S0j6bQN82ltiZNmsDJyUlYrw8ePDA5wc7NzRVtS5peTIZoHxfkcjlSUlLMNl0Y1R9MsKmcHj16YNeuXcJ9pVKJlJQU3Lp1C8HBwbh8%2BTKUSiWCgoKgVCoNTvmkvYOLi4tDXFycyTHpOngpFArMnTu3UmOfdM11qt366uDgYPQVS31j8KqL9jpNT0%2BvVBEQQycEVlZWJo%2Bt1XVirX3y7ujoaHSXemNb5atKX6tnRXR9TwcHB2zduhUzZ84Uxmjn5eXhyJEjwpheDw8P9O/fH%2BPHjzdrq/DIkSPxxRdfQKVSITY2Frdu3SpXF0EzDRkAvPDCCxW2rA8ePBjvvvsuNm3aJCRp8fHxiI%2BPx44dOyCRSNCmTRu8%2BOKLmDhxotEXKIyh3dV75MiRei9GWFtbY/jw4cK%2B6sCBA3oT7KZNm6Jr165CK2RoaGi5BPvUqVPC/6urq2uFLR7a259mbnNT6UpqtdnZ2RnVs0Lj5s2bmDp1arn56o2ha3%2BoHZ%2BuoQS6WFtbw97eXtRyWVZNrDtTmLKetWO/c%2BdOhfNW66NrvyuXy/HOO%2B9Uaj%2Bu67fT/h9wcXExej9uzmNZbYihMr766qtyRVyNYez86ZY0adIkYQaBX3/9tVyCrd11fOjQodVyDDbl93V1dRW2l8rs18r2qDNmekZdr8vJyWGCTSZjgk0GWVtbw9vbG97e3hg0aBCWLVsmFK0KDg5Gr169KpzfE9Dd2mcqXa0x27ZtEyXXzzzzDEaPHo1OnTqhSZMmcHR0FCURGzZs0Dvdg/YYH1OSLkt0HaqudVodqjLXc10TEBCAo0ePYufOnQgJCUFiYqLo%2BczMTISEhCAkJAQDBw7E559/bvRBXx8vLy9069ZNGFIRGhoqSrDz8/NFhW0MtUzMnDkT/fr1w7fffosTJ06I/t/UajWio6MRHR2NoKAgLFiwAFOnTq3yd0hJSREV3tu9e7fesYKA%2BKT21KlTyM7O1nsCN2rUKCHBPnz4MBYuXChK4rWrh7/44osVbtv6EkhjGdouTKntIJfLMX/%2BfOEk1M7ODqNHj0a/fv3QqlUreHp6lkske/bsqbeltLq225pYd6YwZT1X1373v//9ryi57t69OwIDA9GxY0d4eXmVO5atWbMGwcHBFX5GbTiW1YYYTPXnn3%2BKkmsfHx9MmDABXbt2RbNmzeDi4gI7Ozthn3Hq1Cmhwn1dMHjwYHh4eCAzMxP37t3DxYsXhV5Cubm5ot471VX/obL/C5W5gFH2PcZ%2Bdtn/wbpw8YRqHybYZBKJRIJly5bh%2BvXrQgGk//znPwgLC6vwwOjs7CxcSVy3bp1Zuh0plUp89913wv0pU6bgww8/1Puex48f631ee3orQ681ZbnVQbtFacKECVi5cmWNx2As7VgfP34MlUpl1EmtOVupapKTkxNmz56N2bNnIz4%2BHpcuXcLFixdFxbOA0urNM/WyCQQAACAASURBVGbMwM8//2yWKtyBgYFCgn348GF88MEHwong77//LnTfb9y4sd6u1xrt27fHF198AblcjmvXruGvv/7CxYsX8ddffwknz4WFhVi1ahWsrKyqXAH4t99%2BE82hbOp2pVAocPjwYb0FdIYNG4aVK1dCoVDg4cOHuHz5sjAeNi8vT3QRQl9RL%2B3/6ddffx1Lly41KVZzO3r0qKhr508//WSwOJGhRFf7O%2BqqraCLUqk0mITWtnVnChcXF2Eb3rx5s8HpKY0hl8vx/fffC/f/9a9/iaq861IXjmW1IQZtxlxQ/uabb4TbPXr0wLZt2/QW27TEsb8qbGxsMGbMGOHizL59%2B4RjQWhoqHCM8PX1Rffu3aslhsr%2BL1SmNb3se4z97LK9TIztwUOkjVXEyWQymUx0UpSUlITdu3dX%2BHrt8ZqmjGnSJzIyUjjpc3BwwMKFCw2%2BR9fUStq0pw6Ty%2BVGd10s20pZE7RjNdc6rS7axZOUSqXR8eqq1F3XtGzZEhMnTsT69etx5swZfP/996ICRzdu3DA4d7WxtFtck5OThXHUgLhw14gRI0xqtbOxsUGPHj0wa9Ys7NixA%2BfPn8cnn3wiainetGmTzvH3ptCe%2B7qyDFUTL9vtW3u9HDt2TKim3aRJE72FqLS3v3v37lUyWvPRnmN%2B3LhxBpPrrKwsg60yTZo0EW4buy3Gx8cbbF2ubevOFNWx371y5YpwscPV1RXz5883%2BB5DxzLtY25eXp7RF0jMeSyrzhi0WyKNrS5t6PPlcrmoiN2iRYsMzmRh6HeojSZNmiTcPnbsmHAhW7u3UHUUN9PQN0WitqKiIqGoKIBK1f1wdXUVXbw29v9bux4PAL3TyhJVhAk2VUr37t1FVUGDgoIqPMHWnsrCmLmXjaFdgKdNmzYGKzWr1WqDU321a9dOlHgYM%2B2GSqWq8QJngLi697Vr18zS7bK6%2BPn5iQqhaVpZ9cnPzzdqvWr/XrW9K7pEIkHPnj3x7bffigr%2BaE9hVhVlC5dpksf09HRh3B1guHu4IU5OTnj11VexYcMG4bG8vDxRtVZT3bhxQ1TY6Pjx40I3dEN/x48fF94XGRlpsMaDdst0WFiYcIKu3T3c0PjvsnO/W7oLoXYhQUNzSgMwqjiX9nIiIyON6h5tzLZd29adKbRjr45jWdu2bQ12Y1WpVEYdy7QZcyxTKpVmnV6wOmNwdHQUbhubuFc0X7hGWlqasC%2BwsrIyanoqY4vcmZP2fqkyxzxfX1%2Bh1bqoqAihoaG4efOmUHzW2tpaNKWXud2%2BfduobT4qKkrUo6lsTRFj2NjYwM/PT7hv7HSv2q/z8vLSmWBX9XegJx8TbKo07UrF6enp2LNnj87XaSfiV65cMcvcutpXrY2pyvznn38iOTlZ72scHR1FO3FNYSp9Lly4ILrKWlN69OghnIjJ5XKDLXeWZG1tjWeffVa4v2fPHoMHpN9%2B%2B82oFlHtxF2lUtWJk3V7e3vRlHPp6elmW7Z28njs2DHI5XIcOXJEOFHx8/Or1ImKLr179xZNsVSV73HgwAHhdkBAgEkFZZo3by46GTa0LQwcOFDovpqdnY0zZ84gNTVVNLeyoTmfe/XqJYxnLigoMEvre1VoT8FlzP5Qe31XpG/fvkLrT0FBgai1XxeVSiXU5tCntq07U2hvtxcuXBBVB68sU3%2B706dPiyqq6%2BLu7i5KLIw5lkVERFSqkJQlYtDuFZWZmWlw3/Po0SPcunVL72vKTmNnSGZmpmie75qivc%2BtbK8h7Vbsffv2Ye/evcL9AQMGmLVwZVkFBQUIDw83%2BDrt/xcfHx80atSoUp%2Bn3RPp6NGjoqRdF7VaLbrYWlFPJnP8DvRkY4JNldatWzfRWM5vv/1WZ4Lz/PPPo2XLlgBKd16ffPJJlRMh7Z1tdHS03rE1crkcq1evNmq52q17R44c0XvVW6VSYdOmTUYt19xcXV0xZswY4f7mzZuN7nplCRMnThRuR0VFiarUl5WUlISvvvrKqOW6ubmJWny0p4apaaZcxdbuceDq6mq2GPr37y%2BMF8vJyUF4eLgoMTLUem3Kd5DL5aKTlcpW/5XL5Th8%2BLBwvzLjWrXfc/DgQb3jLW1tbfHCCy8I9w8dOoQjR44I72nbtm256uJlNWzYEMOHDxfub9y40aLz4GrPZ3vlyhW9rz1//rxoPvSKNG7cWNSdfuPGjaLW1rJ27NhhVOtjbVt3phg0aJAwpVdJSQmWLVtmcmJWlvZvd/PmTb0n68XFxVi7dq1Ryx09erRw%2B7ffftN7MaCkpASbN282armmqK4YGjduLOoyfOzYMb2v37x5s8HEqkGDBsIFjpKSEoOtnWvXrrXIBV3t5Leyx7sXXnhBKK4ZFRVV7XNfl/XVV1/p3W4SEhJESX9VWtTHjRsn3E5KSsLPP/%2Bs9/UHDhwQnfdVtD7M8TvQk40JNlWJdit2amqqzqq/UqkUH3zwgXD/6tWrmDlzpsGW38LCQoSEhODNN98s91znzp2F8aYFBQVYs2aNzuQgPz8f8%2BbNM7rVfNy4ccKOs6SkBLNnz9Z5UllSUoLly5dbpIuYxqxZs4TkLDs7G5MnTzbYrVqlUuHcuXN46623yo0zqk79%2B/cXtWKvWrUKX331VbkLI2fPnsUbb7yBrKwso6prW1tbi%2Ba23LlzZ41VRy9r/vz52LZtm8E5eiMjIxEWFibcN2cxGRsbG1Gy%2Bc033whdtyUSCUaMGKH3/QkJCXj99dfxxx9/GDwh3bx5szBm2cbGBk899VSlYtZU/9aoTIL94osvCrdTUlJEY5J10b7QcPLkSdEJpqHWa425c%2BcKLeHp6emYPHmywf1MSUkJwsPDMWXKFLMmldoXOvfv319hkn316lXMmzfP6Asp77//vnABKyMjA2%2B88Ua5rtH5%2BfnYuHEj1q5dCwcHB4PDdYDate5MYW1tLSpAdvHiRcyePdvgNl9QUIC9e/eWmxYJALp06SK06Ofl5WH9%2BvU6l5GXl4dZs2YZPR5%2BwoQJwkUvhUKBWbNm6VxvSqUSS5curZahTtUZw%2BDBg4XbX3/9tWiYhLagoCCEhIQYXJ6TkxM6dOgg3F%2B9erXOoVcqlQobNmywWK8x7RhPnjxZqeO4ptiZhmY/3rhxY/Tt27fqQRpw%2B/ZtfPTRRzrHz6enp2PWrFlCTK6urnj55Zcr/VkBAQGi77R69WpRMUttFy5cwH/%2B8x/hfpcuXdC7d2%2BdrzXH70BPNlYRpyp59tln8fTTT%2BPatWsASqfOmjBhQrlxZIMGDcLbb78tVOk8e/YsBg0ahBEjRqBHjx5o1KgRrKyskJubi/j4eNy4cQMREREoKChA48aNy32ug4MDxo8fj59%2B%2BglAabfj2NhYjB8/Hs2bN0dBQQEiIyPxyy%2B/ICUlBY6Ojnj%2B%2BecNFpRydnbGRx99hHfffRdAabGLUaNG4ZVXXkG3bt1ga2uLu3fvYu/evbh58yZsbW3Rp08fnDx5ssrr0lRNmzbFunXrMGvWLCiVSiQmJmLcuHHo378/%2BvbtixYtWsDOzg75%2BflISkrC33//jTNnzgjF22p63NDKlSvxyiuvICUlBSqVClu2bMG3336LNm3awM7ODvfv3xdOvp555hl069YNQUFBAPRP3TJy5EjhxGzPnj04efKksEyNUaNGYdiwYdX47UrH8K1fvx4bN25Er1690KVLF7Rp0wZubm6QSCRC4hcaGiq0fHh7e2PkyJFmjWPUqFHC1X/tcdHPPPOM0PpWEbVajUuXLuHSpUvCnN0dO3ZEs2bN4OTkhKKiIty9exeHDx8WXVx6/fXXRVWDTaF9otq2bVvR%2BHRjtWjRAu3atRNaUPfv3y8amlJWz5490ahRI6SmpqKwsFBosZBIJEb/Hj4%2BPli9ejXmz5%2BPkpIS3Lt3D2PGjMGAAQPQt29fNG/eXLT9RUZGIjw8XLiwaM7tb/To0di8eTNycnIgl8sxZcoUTJo0CX369IGzszNSUlJw8uRJoaV%2ByJAhuHTpkt5puoDSIQVLlizB8uXLAZRegJk6dSqaNGmC5s2bo6ioCNHR0cLJ8NKlS7FmzRrRhRddatO6M9WwYcNw7do17NixAwDwxx9/YODAgRg5ciS6d%2B%2BORo0aQSqVIjc3F3fv3sW1a9dw9uxZFBUVwcfHp9zyXF1dMXr0aOEiz65duxAdHY1x48ahWbNmePz4Ma5du4a9e/ciLS0Nrq6u6NWrl8FWW3d3dyxZsgSLFy8GUFqoLjAwEC%2B//DKeeeYZ2NjY4O7du9izZw%2Bio6Nhb2%2BPnj17mrXbc3XGMGXKFISEhEChUCA9PR1jx47F1KlThZovd%2B/exW%2B//Ybr16/D2dkZ3bp1E03rqcvkyZOFWK9du4YxY8bg1VdfRfv27VFSUoLY2FiEhIQI3c3Hjx9vcCpBc%2BvXrx%2BcnZ2FwnHDhg1Dhw4d0KBBA6EmiZ2dHb788ku9y5k4caJoJhYAGDt2rFlmtNCnb9%2B%2BuHLlCg4cOICoqChMmjQJfn5%2BUCgUuHr1Knbv3i26YLV48eIqFxlbuXIlRo8ejezsbMjlcrz99tsYNmwYhgwZAk9PT2RkZODUqVOi3k8ODg5YtWpVhcs01%2B9ATy4m2FRl77zzDt5%2B%2B20ApcV2Dhw4oHMOxffeew9ubm5Yt24dVCoVCgsLsW/fvkofoBYuXIi//vpLODm%2BfPkyLl%2B%2BXO51tra2WLt2rVFFVgBg%2BPDhSExMxBdffAGgtOUgKChISPY0pFIpli1bhoSEBIsk2ACEuYoXLFiA7OxsqNVqnDp1yuCJhCV4e3tjx44dmD9/vvCbFRUVlSuO1bt3b3z55ZfYtm2b8Ji%2BKTpef/11nDx5UqianZaWVq4CfMeOHc31NQxSKpWIiIgQzWurS8OGDfH111%2BLCvaYQ48ePeDl5VWu5oCxLbMa2nN26zN48GDhgpSpMjIycObMGeF%2BVaY9evHFF4UE%2B/jx48jPz68w6ZdKpRgxYkS5E8zu3buLqmcbMmTIEGzduhXvvfce8vLyoFKpcOLECZw4caLS36MynJ2dsWbNGsyZMwdKpRJyuRy7du3SORSjffv2WLVqlagFUB/NtGfaifOjR49EPXtkMhkWLVqEsWPHYsWKFaK4KlJb1l1lLFmyBO7u7ti4cSPUajUKCgrwyy%2B/GDUGXZd///vfuHr1qtA6ffHiRZ0F4%2Bzt7bFu3TpR0UJ9xowZg8TERGHITXZ2NrZu3VruddbW1li%2BfDlu3bpl9nHF1RVD69at8f777wtJUFZWlqjwooadnR2%2B%2BOILnD9/3uBxccyYMQgPDxeGrNy/f7/CJGvu3LkICAio8QTbwcEBK1aswAcffACFQgGlUlnuGKo9PrgirVq1Qvfu3YXjpkQiEXWnri4%2BPj4YN24cPvjgA9y5c0fvFKPvvPOOWWLy8vLCzp078eabbyIjIwNqtRpHjhypsC6Aq6srgoKChKGNupjrd6AnF7uIU5X1799fVGQoKCiowvE1b775Jg4ePIjhw4frbZUESg%2Bgb7/9Nnbu3KnzeScnJ/z0008IDAyscNqhLl264JdffjH6ZFJjxowZ2Lp1a4Utfi1btsS3335bI%2BOVDOnduzeOHj2K6dOnGxwH6%2BnpiXHjxuGHH35AixYtaijC/2nVqhVCQkLwn//8Bz169ECDBg1gY2ODpk2bol%2B/ftiwYQO2b98ODw8P0RACfd3FbWxssGPHDnz%2B%2Befo378/vLy8DE6vUh3efvttDB8%2B3GDXdk0V7tDQ0HKVds1BV1dwmUwm6kZdkUaNGmHhwoXo2rWrwWrGrVq1wmeffYYtW7YY3JYrEhoaKtpXGBNjRbTfW1RUZLC3iq4LDqZehABKa0yEhYVh2rRpBudLbdy4MSZOnIiffvoJXl5eJn%2BWPgMGDEBwcDBatWql83lHR0dMnjwZe/bsMXlO2ddeew2HDh3CtGnT0Lp1azg4OMDR0RF%2Bfn544403cODAAUyePBmFhYVCt1qJRGKwvkBtWXeVMXPmTBw4cABDhw41%2BP/v7%2B%2BPmTNnYvv27Tqfd3Fxwe7duzFixAidhc4kEgm6d%2B%2BOvXv3ol%2B/fibFOWfOHGzZskVUGEybn58fgoODqzy7gCVimDp1KlavXl1hC%2BfTTz%2BNX375xaR1tn79esyZM6fC5MjX1xdbtmzBnDlzTIrVnIYNG4b9%2B/fj9ddfR/v27eHs7FyplmftWhO9e/c2qbhkVQwbNgw7duwQDe/S5uXlhU2bNmHBggVm%2B8x27drh0KFDmDRpUoXnBzY2Nhg7dixCQ0NFMwZUxFy/Az2ZJGrWlycLKSoqwpUrV5CYmCh0VXR2dkbz5s3Rpk0bk6pGpqSk4MKFC0hOToZMJoOnpyc6d%2B5c5QOGWq3GlStXEBMTg9zcXDRo0AD%2B/v6iqcdqE820YXfu3BHmunVycoKXlxf8/Pz0XpGtbYYNGya06OzYsaPCsVC1UXx8POLi4vDw4UM8fvwYVlZWcHV1RevWrdGpUyejxqlaWnFxMW7duoV79%2B4hIyMDRUVFcHBwgKenJ9q3b4/WrVtbOsRap6SkRLT9KZVKODo6okmTJvD396%2BRi1oqlQo3btxAVFQU8vLy4OrqiqZNm6JHjx6iqvvV4eLFi3jjjTcAlHbbN6aYmkZtWHeVVVhYKDqWSSQSODs7w8fHB23btjWpKvOjR49w4cIFpKamQiaToVGjRujcubPB4R2GqNVqXL58GTExMcjPz0eDBg3Qpk0bo6Z1MxdjYlizZg2Cg4MBlF7YWbZsmcHlyuVyXLp0CXFxcSgqKoKnpyc6duwIf3//Sseal5eHCxcu4MGDB1AqlWjUqJGw/34SKBQK9OvXT7iQvWHDBlHxQXPS95tGRUUhOjoa6enpcHJygr%2B/P7p27Vpho4k5FBUV4eLFi0hMTERubi6cnZ2FfaS5e5RR/cUEm4hqnatXrwqFTWQyGc6dO2ewhYuILGvx4sXCFGCjR482uuI1kUZlEmwyXVhYGObPnw%2BgtIdYeHh4pXsiGcLflOojdhEnololPz8fS5cuFe4PGjSIyTWRhRh7Df7UqVOiOa2rMrUOEVUv7eEK48aNq7bkmqi%2BYoJNRDXi8ePHCAwMxO7du5GamlrueaVSiePHj2PcuHG4c%2BcOgNLWa00BPSKqebt27cIHH3yAiIgInfP%2BZmRkYOPGjZgzZ46QjHft2hW9evWq6VCJyAC1Wo2tW7cKBblsbGwwefJkC0dF9ORhFXEiqjHR0dH49NNP8emnn8LLywtNmzaFra0t8vLycPfu3XLzjr733nui%2BSaJqGYpFAocPHgQBw8ehEwmQ8uWLeHu7g61Wo3U1FTcv39f1MrdoEEDrFmzRmexLiKqeadPn8aePXugVCoRFxeHxMRE4bnJkyfrnAqViKqGCTYR1YiyJ9zJycnlppLScHZ2xuLFi3VO90ZENUe72JBCoRCm2NOlU6dO2LBhQ41VIyYiwxISEnROf/f0009j7ty5FoiI6MnHBJuIaoSDg4Mwz%2B3ly5cRFxeHlJQUFBYWwsbGBm5ubvD398ezzz6LsWPHctw1US0wefJktG/fHmfOnMGNGzeQkJCArKwsKBQKODs7o2HDhujSpQuGDBli8hRSRFSzZDIZfHx8MHz4cEyfPt0iU1oS1QesIk5ERERERERkBixyRkRERERERGQGTLCJiIiIiIiIzIAJNhEREREREZEZMMEmIiIiIiIiMgMm2ERERERERERmwASbiIiIiIiIyAyYYBMRERERERGZARNsIiIiIiIiIjNggk1ERERERERkBkywiYiIiIiIiMyACTYRERERERGRGTDBJiIiIiIiIjIDJthEREREREREZsAEm4iIiIiIiMgMmGATERERERERmQETbCIiIiIiIiIzYIJNREREREREZAZMsImIiIiIiIjMgAk2ERERERERkRkwwSYiIiIiIiIyAybYRERERERERGbABJuIiIiIiIjIDJhgExEREREREZkBE2wiIiIiIiIiM2CCTURERERERGQGTLCJiIiIiIiIzIAJNhEREREREZEZMMEmIiIiIiIiMgMm2ERERERERERmwASbiIiIiIiIyAyYYBMRERERERGZARNsIiIiIiIiIjNggk1ERERERERkBkywiYiIiIiIiMyACTYRERERERGRGTDBJiIiIiIiIjIDJthEREREREREZsAEm4iIiIiIiMgMmGATERERERERmQETbCIiIiIiIiIzYIJNREREREREZAZMsImIiIiIiIjMgAk2ERERERERkRkwwSYiIiIiIiIyAybYRERERERERGZgbekALEmtViMz8zFUKrWlQ6mXpFIJPDwc%2BRtYCNe/5fE3sCyuf8vjb2BZXP%2BWxfVvfp6ezpYOgah%2Bt2BLJBJIpRJLh1FvSaUS/gYWxPVvefwNLIvr3/L4G1gW179lcf0TPZnqdYJNREREREREZC5MsImIiIiIiIjMgAk2ERERERERkRkwwTagQCnHxYx4lKhVlg6FiIiIiIiIajEm2AZsv3sGW2P/wLFHf1s6FCIiIiIiIqrFmGDr8eBxBq5mPQAAnE6NhkrNKRSIiIiIiIhINybYehx6eEO4nVacj%2Bi8RxaMhoiIiIiIiGozJtgVSCrIxuXMewAAX8cGAIAzaXcsGBERERERERHVZkywK3D44XWoAXRy88bznm0AAH9l3MNjZbFlAyMiIiIiIqJaiQm2DilFObiQEQ8A6NWwFRrbucDT1hlKtQrnM%2B5aODoiIiIiIiKqjZhg63D4YSTUUKO9axN4yBwhkUjwlJs3ACA8NQZqFjsjIiIiIiKiMphgl5FenIc/02MBlLZea1LpDi5NYSWRIqEgE/cLMiwXIBEREREREdVKTLDLOPrwb5So1fB3boxGti7C4/bWNvB3bgQAiGCxMyIiIiIiIiqDCbaWLHkBzqTFAACe9WxVriv4U27NAAB/psdBrlLWeHxERERERERUezHB1hL2KBJKtQotnRrCy9a13PMtHBrAVWaPwhIFLmfet0CEREREREREVFsxwf5HrqIQp1OjAQB9PP2gq4yZRCJBR9d/ip3909JNREREREREBDDBFhx7FAW5qgQ%2Bjh7wtnOr8HWd/qkmHp2bjJSi3JoKj4iIiIiIiGo5JtgAFColTqbcAgD08fTX2Xqt4SKzR0vHhgCAs%2BksdkZERERERESlmGADSC7KRbFKCXsrGVrYuxt8vabY2ZnUOyhRq6o7PCIiIiIiIqoDmGADeFSYDQBobOcCY9JlP%2BdGsLeyQY6iEH/nJFZvcERERERERFQnMMEG8KgwBwDQwNbJqNdbSaQIcG0KADjDObGJiIiIiIgITLABAI%2BKShNsD1tHo9/T8Z8E%2B%2B/sJChV7CZORERERERU3zHBBpD8Twu2h43xCbanrTPsrGSQq0qQUJhRXaERERERERFRHVHvE2yVWo3kItMTbIlEAm/70um87uSlVktsREREREREVHfU%2BwQ7ozgfclUJrCVSuFjbmfTeZg6lFcfv5KVUR2hERERERERUh9T7BFtT4KyhnbPe%2Ba91afbPlF4xeSlQq019NxERERERET1J6n2C/bCgdIquhkZWENfW2M4VVhIp8hRFSC3ONXdoREREREREVIfU%2BwRbMwd2AxPGX2tYS6VoYucKAIjN5zhsIiIiIiKi%2BqzeJ9gPC02fokubtwMLnRERERERERETbDz8pwXblAri2jTjsKNzk80WExEREREREdU99TrBzpUXIk9RBABwlzlUahlN/2nBTinKRe4/yyIiIiIiIqL6p14n2En5pa3XbjYOsJJYVWoZ9lY2QoG0OI7DJiIiIiIiqrfqdYKdkJ8JAGhk6wy1yZN0/Y/3P93E7%2BRzPmwiIiIiIqL6ql4n2In5WQCABpWYoktbM4d/5sPOZYJNRERERERUX9XzBLu0BdvdtnLjrzWa2ZeOw77/OAPFJcoqx0VERERERER1Tz1PsP9pwa5kBXENF5k9nKxtUaJW4V5BujlCIyIiIiIiojqmXifYKQW5AAAPWdUSbIlE8r9x2HnsJk5ERERERFQf1esEWwU17K1ksLOSVXlZmnHYTLCJiIiIiIjqp3qdYANAIzuXKtQP/5//JdipUKlVZlgiERERERER1SX1PsH2tKtaBXFhObZOsJFao6hEgYeF2WZZJhEREREREdUd9T7Bdret2vhrDalEiqb2rgCAO/mpZlkmERERERER1R31PsFuYKYEG8D/Cp1xPmwiIiIiIqJ6hwm2rXm6iAP/G4cdw0JnRERERERE9U69TrCtJFK4WNuZbXlN7F0hgQSZ8sfIKM4323KJiIiIiIio9qvXCXYje2cAErMtz0ZqjcZ2zgCAWI7DJiIiIiIiqlfqdYLd2MHF7Mv0/qebeGw%2Bu4kTERERERHVJ/U6wfb8p7XZnJr9U%2BgsmoXOiIiIiIiI6pV6nWA3tDd/gq1pwU4qyEKBstjsyyciIiIiIqLaqZ4n2OarIK7hZG0LdxsHqAHE5qeZfflERERERERUO9XrBNvTznxzYGtr7uABALiZ%2B7Balk9ERERERES1T71OsGVS62pZrq9jQwBAVHZStSyfiIiIiIiIap96nWCrq2m5LRxLW7CTCrORJX9cTZ9CREREREREtUm9TrCri72VDZrYuQIAbuY8snA0REREREREVBOYYFcToZt4DruJExERERER1QdMsKuJr1MDAEBUzkOo1NXVGZ2IiIiIiIhqCybY1aSpvRtspFbIUxYhsTDT0uEQERERERFRNWOCXU2sJFJhuq6oHE7XRURERERE9KRjgl2NNOOw/%2BY4bCIiIiIioiceE%2Bxq5OtYOg77Tm4KikuUFo6GiIiIiIiIqhMT7GrkYeMIF5kdlGoV7uQnWzocIiIiIiIiqkZMsKuRRCLRmq6L47CJiIiIiIieZEywq5mmm/jf2RyHTURERERE9CRjgl3NWjiUJthJhdnIkhdYOBoiIiIiIiKqLkywgj8WTQAAIABJREFUq5m9tQ2a2LkCAG7msps4ERERERHRk4oJdg1o8U838Zsch01ERERERPTEYoJdA7Tnw1ap1RaOhoiIiIiIiKoDE%2Bwa4O3gBpnUCnmKIiQWZFo6HCIiIiIiIqoGTLBrgJVECh8HDwAch01ERERERPSkYoJdQ4TpunI4XRcREREREdGTiAl2DdGMw47JTUFxidLC0RAREREREZG5McGuIR42jnCxtoNSrcKd/BRLh0NERERERERmxgS7hkgkEmG6rih2EyciIiIiInriMMGuQS2dPAEAFzPiUaJWWTgaIiIiIiIiMicm2DXIz8kT9lYyZMkL8HdOoqXDISIiIiIiIjNigl2DrKVW6OjqDQA4lRJt4WiIiIiIiIjInJhg17DO7s0BAJHZiUgvzrNwNERERERERGQuTLBrmIeNI1o4NoAaQHhajKXDISIiIiIiIjNhgm0BT7uVtmKHp96BUlVi4WiIiIiIiIjIHJhgW4CfcyM4WtsiV1GIa9kPLB0OERERERERmQETbAuwkkjxlGszACx2RkRERERE9KRggm0hnd2bQQLgVu4jPCrMsXQ4REREREREVEVMsC3ERWaPVk6eAIDwNLZiExERERER1XVMsC1IU%2BwsIi0WcpXSwtEQERERERFRVTDBtqCWTp5wkdnhsbIYlzPvWTocIiIiIiIiqgIm2BYklUjQ%2BZ9W7FOp7CZORERERERUlzHBtrBOrt6QQoLYvFQkFGRaOhwiIiIiIiKqJCbYFuYks4O/cyMAwGm2YhMREREREdVZTLBrgafdfQAA59Lj8FhZbOFoiIiIiIiIqDKYYNcCPg4eaGjrhKISBX5%2BcNHS4RAREREREVElMMGuBSQSCYZ6BQAAzqbF4npWgoUjIiIiIiIiIlMxwa4lvB3c0d3DFwCwM/4su4oTERERERHVMUywa5HnPP3hYeOIbEUhfr7PruJERERERER1CRPsWkQmtcKwJh0BAGfT2VWciIiIiIioLmGCXcuwqzgREREREVHdxAS7FmJXcSIiIiIiorqHCXYtxK7iREREREREdQ8T7FqKXcWJiIiIiIjqFibYtZh2V/H/F3sKcpXS0iERERERERFRBZhg12IyqRVGNH0KMqkVbuY8wuaYE0yyiYiIiIiIaikm2LVcE3tXTGjeDTZSK9zMecgkm4iIiIiIqJZigl0HNHNwx3gm2URERERERLUaE%2Bw6gkk2ERERERFR7cYEuw5hkk1ERERERFR7McGuY8ol2dHHUViisHRYRERERERE9R4T7DpIlGTnPsKam0eRIy%2BwdFhERERERET1GhPsOqqZgzsm%2BfSAg5UNHhRk4LObh5FcmGPpsIiIiIiIiOotJth1WBN7V7zm2wvuNg5IL87H5zcPIy4v1dJhERERERER1UtMsOs4dxsHvNqiJ5rYuyJfWYx1t8NwLeuBpcMiIiIiIiKqd5hgPwEcrW0xyac7Wjt5Qq4qwVcxJ/FHarSlwyIiIiIiIqpXmGA/IWyk1nipWRc85dYMaqjxffw5HEi8CrVabenQiIiIiIiI6gUm2E8QqUSKoV4BeLahHwDgYNI17Ig/ixK1ysKRERERERERPfmYYD9hJBIJnvP0w1CvAEgAnEm7g69iTqCYc2UTERERERFVKybYT6jO7s3xUrNnIJNY4UZ2ItbeCkOuotDSYRERERERET2xmGA/wfycG2FSi%2B6wt7JB/ON0rLp5BKlFuZYOi4iIiIiI6InEBPsJ19TeDa%2B16Ak3mQNSinLxWdRhxOenWTosIiIiIiKiJw4T7HrAw9YRr/r2hJedK/KURVh98yjOp9%2B1dFhERERERERPFCbY9YTTP3Nl%2Bzk3gkJdgqC409j74BJUrDBORERERERkFkyw6xFbK2uM8e6C3g1aAQCOPvobm6KP47Gy2MKRERERERER1X1MsOsZqUSCvo3aINC7M2QSK0TmJGFl1CE8LMy2dGhERERERER1GhPseqqdSxO86tsTrjJ7pBTlYmXUIVzLemDpsIiIiIiIiOosJtj1WGM7F7zh2xs%2BDh4oKlFgc8wJfBsXjmx5gaVDIyIiIiIiqnOYYNdzDtY2mODTDV09WgAAzqXH4cPrv%2BLow0goVCUWjo6IiIiIiKjuYIJNsJJIMahxe7zh2wveDm4oUimxN%2BEvLI3cj%2BtZCZYOj4iIiIiIqE5ggk2CJvZueNWnJ0Y07QQna1ukFuVhU8xxbIz%2BHXH5aVCr1ZYOkYiIiIiIqNaytnQAVLtIJBIEuHrDz6kxLmTexaWMeNzITsSN7ER42jqjZ4OW6NmgNbwd3CwdKhERERERUa3CBJt0srWyxvOebdDRxRvnM%2B8iOjcZacV5OPTwBg49vIFmDu7o1aAVunq0QCNbF0gkEkuHTEREREREZFFMsEkvD1tHDG/SCYMbt0f843TcyklGXH4qEguysK/g/7N359FxlHe%2B/z9VvWjfJduybEu2ZGMbzGIw2EAwmCWThCWZACEBhsBlOQHmhCRzfz8mIZm5kJtcJgwMv8lwwnBCmCSEOyEnYTFbwmYgQHCwMV7wInmXZUuWtW%2B9VP3%2B0IJkS1a3urqrl/frHFmtVqv662pJ9qee5/k%2BH%2Bp3%2Bz5Ujsev6txSzckrU3VemebklmpGTpE8xtRXINi2rc5Qv5r7O9XS36WOYJ86g33qDPWrK9ivzmCfukL9ClphFflyVOLPU7E/V8W%2BXJX4c1Xiz1NVTrHKs/IJ/wAAAAASgoCNiPhNr04omKETCmaoLxxQQ3eLtnQ0aV/vEfWFA9radVBbuw6OPN5reFTiz1WRL0dFvhwV%2B3NVOHTbZ3oUssKyDFv%2BNq86e/o0EA6pPxxUS3%2BXDg0MhuoBKxRRbd2hATX2tY/7uTxvlqpzy1STV6aavHJV55URugEAAADEBQEbUcvx%2BHVSUZVOKqpS2LbUFuwdDMb9nTrU36mDfR0asEJqGehSy0DXlJ/HkKFif67KsvJU4MtWrsc/%2BOYdfMvx%2BOWRoe7QgLpDA%2BoK9Q/eDvarM9ivQ/2d6gkNaEvnAW3pPDCqfp%2BmZRdqRnaRpmcXjnnL82Y5cYoAAAAAZCACNmLiMUyV%2B/NV7s/XosJKSYPTu7tC/eoNB9QTGlBPKKCe8GAI7gkOyJItr2HKa3qU5fNKli1TpryGR0X%2BHBUPjXgXeLNlytBkvctL/Hnj3h%2B2LR0J9AyG/v5OHerr0MH%2BTvWFg9rT06o9Pa3HfE2W6VWpP08l/ryRqeal/lyVZuWrIqtA5Vn58pmeWE8bAAAAgDREwIbjDMNQoS9Hhb6c4z7O4zFVkJ%2Btru5%2BhcPWuI%2BJZWMwj2GqIqtAFVkFOqmoSpIUsix1hvrUHuxVW6BXbYEeHQn0qrW/W12hfg1YITX1d6ipv2P8v5sGA31FVoEqsgtUMRS8hz8u8GYz/RwAAADIUARsZBSvaarUn6dSf5501MB30A4PjbgPqGt4ynlwsKlaR7BPRwZ6NGCFdCTQoyOBHm0bteZ8WJbpHQnbxb5cFfiyVeDNGnqfrQJftvK92crx%2BOU3PYRxAAAAII0QsIEhPsOjYt9gJ/Lx2LatASuojqHA3R7sVUfg09HwjkCvBqyQ9ve1aX9f26TP5zEM5Xj8Q28%2B5Xr8yvEO3h6%2BP9c76vbQ43K8wx/75De9siWF7bBClqWQPfg2%2BuOjP2fbtvwer/J8fvX7gxoIhOS1TflNL4EfAAAAiAEBG4iQYRjK9viV7fFrenbhMZ8PW5a6woNbiHUE%2B9QTGlBvOKi%2BUGDMevTe0MBQKLZHGrRNuSbFNo3%2B6GMV%2BHJU4s8dGeUvHVqLXurPU2lWnop9ufKm6Br0sG2pLxRQXziogBVWyA4rZIUVHLoAEbRCMgxTuR6fssdc3PDJjGHLOQAAAGQOAjbgEI9pqticeAR8hD04HT1ghxQIhxSwQxoIhzRgDX48YA29hUMKjNwOqn9oK7PhN0v2uOHaNAx5DVOeoTev4ZFpfnqfIUMBa/SxQ8NlDe41HuwbtwGcNBjCC4f2HS8dagKXZXrlNT3yGR55TFO%2BoQZ2kgaDrBVWwAopOBRmg9bg28h9o%2B63NTiybxqmPBp6bxjyGKbM4fuHbnsMU6YMWbIVssKDI/Sj3gessPrCgxc3BkN1ZNu%2BjSfH41OxL1dlWfkq9eepLGv4AkT%2B4HZ0/lzleHxTPj4wzLZtBaywesNDF%2BTCgxflBqyQLNsefJMty7Zk2YO/AXymR9mmT36PV9mmV1ker7JMn7KHZsOwHAUAgMQhYAOJZgxOR/fJozxP9NuCDf83eTCUWiNhczCQGmP%2BIz34/%2B/xg/joJnMDoaCC4fBIt/euUL%2B6ggPqCvWpKzigjmCfOgK9CtnW4O1gn3b3TOUv7z7f0MUAn%2BmRxzBH3ntNU5Ztj7mIEbIHm%2B/1hYPqC0/c/E4aXH8/vOd70VCTv2yPT1mmV1ke31Dw8Snb4x250OH1mCq0ctTTNSDLsmVq8PUzZMg0BreqG/74U/aoP4df4/E/N5XHj9y2Jz/W5I8ffsyn9376/KPuG/W4Ty/ADF94CX36sTX0sT3641EXbOyx9xlDP2ujX2ef6ZHX8MhvepTt9Sk/J1sK2kP3eeU3h9%2BPvT18YccwDJka%2B9rYGgy%2BR78PDdU5eCFt8H3QCmvACo6E557QgPrCgZHZLb3hwMj3nVMiWY4yvPzEb3hGLmyZIxezDJn69L7R7w2ZMmPI7h6PqQ5Pnzp7%2BiZsdhkfqX7BYbyfzFEfH/ODeOzPmyR5PIZazR51dX96/qM5liRZkizbUti2FLbtUbetkZ/d4Yu6494Of3o7aIUHLx6P%2BXkaPL459Ht6%2BPe31/CMfOw1PfIO/3ybnpELvV7DI9%2BYxwx%2BbMr8dAmVbSlkDdVrD9YxeNE7OHLxe/iCd3hoqdXIxVw7rLBty2MYg/WMPO/gxeCR3yOeY3%2BnZJleZft8KunKVag/LI8Gfy8N//tgSEO/Y8b%2BvjGG/20YdTuS1zrS74nJPjfevyHjPt8xhxx7zPCo75PwmO8Z65jvkeBE30PhwcEKe9Sxf3bh3x3ztwESzbDtY3/kMkUgPDgi4NgcW0THGBxt5TVwyRTO/9EBYvg/P8eGuMFbw/85GHw6Y%2Bi%2B0R8N3TI0ToQcvmFP8I/26HvHP96nz2mM%2BTga9tB/9qwxf%2BfB92Hbli1rnP%2B4ALEbfbFl3O/eoe/z4R9hW4M37KGfmQz%2B5x1ABirNzpOPGTtIAhkdsC3bkmXZCmvqV809Ym1mLEzTkGVl7Leg6zj/iWKM%2BnMs0%2BQi00SOP0bnjGN/BoxxbsUuEX%2BX2E38fRq3ZzQGLyTYts2FKhck4vy7971/7HfyxGO9k9/rvKELv6Yhm3%2BHxzje2PrxeExTYcvSh/t2KxAOT%2Bm5LdvWH/avU0N3i3I9fv0/iz6nOXmlUzoW0k9FRUFEj8vogC1Jaw/tivkYNWa5A5VkHq/XVElJntraehQKJXJqICTOfzLgNXAX5999vAbu4vy7i/PvrNLSPNmyYwrYkhSwQvrd3g%2B1v69NBd5s/b%2BLP6eZOcUOVopUFWnAzujh1/5Q0JHj7LYOO3IcAAAAAO7xm159efZSzcguVFeoXw988oqa%2BzvdLgspJKMDtpMI2QAAAEDqy/L4dOXsM1SRla/2YK9%2BspWQjcgRsB1EyAYAAABSX67Xr6vmLFOpP0%2BtA9368ZYXtb/3iNtlIQUQsB1GyAYAAABSX743S9dUn6lpWQXqCPbp/i0vqaGr2e2ykOQI2AAAAAAwjuGQXZVTrJ5wQA9sfUWbOw64XRaSGAE7DhjFBgAAANJDtsenq%2BacoXl55RqwQnp425/03uEGt8tCkiJgxwkhGwAAAEgPftOrL85aqoWFMxSyLT3W8JZ%2Bv2%2BdrMze8RjjIGDH0W7rMEEbAAAASANe09RlM0/RirJ5kqTVBzbo0fo3FbBCLleGZELATgBCNgAAAJD6DMPQZ6Yt0Ocql8hjGFp7ZLf%2BZctL6gj0ul0akgQBO0EYzQYAAADSw5LiKl01e5lyPD7t7Dmsezc/r3o6jEME7IQjZAMAAACpb05eqa6rWa7yrHy1BXp1/ycv6bWDW2SzLjujEbAnsKOjeeTNaYxmAwAAAKmvxJ%2Bna6uXa1FhpcK2pSf3/EWPNbylgXDQ7dLgEq/bBSSb8QL18H3zi6Y5%2BlzDIbvGLHf0uAAAAAASI8vj1aUzT1ZlTpHePLRN77fu1P6%2BNt0x/wJNzy5yuzwkGCPYo0w2Wh3vEW1GtgEAAIDUYxiGziit0Veqlynfm6X9vW36XxufY7/sDETAHhJNcI5X0B5G2AYAAABSz%2BzcUl1fs0JzckvVb4X0WMNb%2BnnD2%2BpnynjGIGArunDtxNdFg6ANAAAApI4CX7aunrNM51bMlyHpz4frde%2Bm57Snp9Xt0pAAGR%2BwYw3JiQjZEkEbAAAASBWmYejs8lpdU32mCn3ZOtjfqf%2B9ebX%2B2LRZFl3G01pGB%2ByQFXbkOIkK2RLbfAEAAACpYnZuqW6oOVsLCqYrZFv6v3s/0ENb/6i2QI/bpSFOMjpgOynRIZugDQAAACS/HK9fV1SdqktmLJbP8Ghz5wH94ONn9EHrTrdLQxwQsB2UyJAtMZoNAAAApALDMHRqyRz93dwVmplTpJ5wQD%2BrX6P/rF%2Bj3tCA2%2BXBQQRshyU6ZAMAAABIDWVZ%2Bfpq9Vk6p6JOhqT3W3fqBxuf1ZaOA26XBocQsFMco9gAAABA6vAYps4pr9PXqs9SiT9XRwI9emDrK/rVrvfYzisNELAn0NDRrIYk3r5rNEI2AAAAkFqqckt0w9yztbRkjiTpjeat%2BqeNz2p750GXK0MsCNiTmGrQZqo4AAAAgOPxm15dNGOxrp59hop8OWoZ6NL9n7ykp/b8RQEr5HZ5mAIC9jjGC9TJHrIZxQYAAABSU01%2Bub4%2B92ydUjJbtqQ/Hdyif974rBq6GLRLNQTsoxwvSE9lNJuRbAAAAACTyfL49NkZJ%2BrK2aerwJutg/2d%2BtGWF/X03rUKMpqdMgjYo0QangnZAAAAAOJhXn6Fbpx3jpYUV8mWrZeaNul/bXpeu7qZsZoKCNhDog3N0Y5mJyJkM00cAAAASH3ZHp8%2BV7lEfzt7qfK8WTrQ167/vXm1fr9vnUJW2O3ycBwEbE1tffVUvpaRbAAAAACRqsufphvnnqPFRZWyZGv1gQ26b/Nq7es94nZpmEDGB%2BxYwvVUELIBAAAARCrX69elM0/RFbNOVa7Hr329R3Tvpuf14oGPZdmW2%2BXhKBkfsJ2QTGuymSYOAAAApJ8TCmboxnnnaEHBdIVtS7/b96H%2Bz5aXdKi/0%2B3SMEpGB%2Bygg%2BsXkilkAwAAAEg/ed4sXVF1qj4/c4myTK/qu5v1Txuf1euHPpFt226XB2V4wHYaIRsAAABAPBmGoZOKqvT1eeeoOq9MASukX%2B9%2BXw9u%2B6OODPS4XV7GI2BPoL69eeQtngjZAAAAAKJV5MvR1bPP0EXTF8lrmNrccUDf3/iM3jvcwGi2iwjY4zg6VEcTsqfSNI2QDQAAACBahmFoaWm1bph7tmbmFKsvHNBjDW/pkR1vqDPY73Z5GYmAHaFUCtk0OgMAAAAyR1lWvr5WfabOq5gvU4Y%2BbNujH2z8g9a37XW7tIxDwD7K8YJ0IqaMAwAAAEC0TMPU8vJaXT93hSqyCtQZ7Ne/b39Nv9r1ngJWyO3yMgYBewoiCdluj2IDAAAAyDzTswt1fc1ynVU2V5L0RvNW3bfpeTX2trlcWWYgYI8Szeg0I9kAAAAAkpHX9GjltBN09ewzlO/NUmNfu%2B7b/LzebN5GA7Q4I2APmUpgnuxrGMUGAAAA4Jaa/HLdMPdszcuvUMAK65e73tUjO95Qb2jA7dLSFgE7RoRsAAAAAMkqz5ulL89aqgumL5THGGyAdu%2Bm57W354jbpaUlAraY7g0AAAAgfRmGoWWlNfpa9XIV%2B3LUPNClH21ZrT%2B31LtdWtohYDsgHqPYAAAAAOCkypwiXT93hWqHpoz/fOfb%2BuWudxW0wm6XljYyPmAn6%2Bg108QBAAAAOC3H49ffzlqqcyvqZEh6s3mb7t/yotoCPW6XlhYyPmBPpKmpaeQtEoxiAwAAAEgFhmHo7PI6XTn7dOV4fNrZc1j3bVqt3T2H3S4t5RGwI0DIBgAAAJBu5uZX6PqaFarIKlB7sFf/Z8tL%2BvDIHrfLSmkZHbAnWmswXqCONGQ7iWniAAAAAOKp2J%2Brr1WfObSVV0iP7HhdLx3YyH7ZU5TRATtaboRsAAAAAIinLI9PfzvrNC0trZYt6el9f9V/7XpXYdtyu7SUQ8A%2BymQherLPM00cAAAAQKoxDVMXTV%2Bki2csliHprZbterT%2BTTqMR4mAPQWMZAMAAABIR6eVzNEVVafJY5j665E9%2Bv%2B2v6qBcNDtslIGAXuKjheynRzFZh02AAAAgERaUDhdX569VD7To80dB/Tgtj%2BqNzTgdlkpgYA9SrQj04xkAwAAAEhHNXnlunr2Gcr2%2BLSjq1n/8skrhOwIELABAAAAAMeoyi3RNXOWKdfj197eVj207VX1M138uAjYMWIUGwAAAEC6mpZdqKvnLFO2x6eG7mb9dPtrCloht8tKWgTsIU4HZbqJAwAAAEgH07ILdOXs0%2BUzPdrS2aSf1a9RyGILr/EQsAEAAAAAxzUzp1h/O2upvIap9W179avd78q2bbfLSjoEbAcwTRwAAABAuqvOK9PlVafKkPR2yw796eAWt0tKOgTs42iv3xvT1082TRwAAAAAUkldwTRdMH2hJOm/967Vx%2B37Xa4ouRCwNf4I9HC4jjVkAwAAAEA6Ob2kWicXz5ItW4/Wv6mmvna3S0oargfsPXv26Ac/%2BIGuuOIKLV68WJdeeumYz4fDYT322GO67rrrtHz5ci1btkzXXnut3nvvvYTV6HbI3kFDNAAAAABJwjAMXTxjsWbllqgvHNS/b39dA2zfJSkJAvaOHTu0Zs0aVVdXq7a29pjP9/f369FHH9XChQv14x//WA8%2B%2BKCmT5%2BuG2%2B8UW%2B88YYLFY9vKuuw6SQOAAAAIBV5DFNXVJ2qAm%2BWDvZ36P/uXet2SUnB63YBq1at0kUXXSRJuvvuu7Vp06Yxn8/OztZrr72moqKikfvOPfdc7d69W48//rguuOCChNTZXr9XxXVzov66%2BvZm1RVPi0NFAAAAAOCePG%2BWPj/zZP1271qtad6mk4pm6vTSGrfLcpXrI9imefwSPB7PmHAtDU5JWLhwoZqb4zMC7PaUcAAAAABIBdV5ZTqzbK4k6Yldf9aRgR6XK3KX6wF7KizL0vr168edUh6taKZ2E7wBAAAAYKxzK%2BZrRnaRekIB/TLD98d2fYr4VPzqV7/Srl27dO%2B99yb8uY83VbypqUmVlZUJrmh8Xm/yXzvxeMwx75FYnH/38Rq4i/PvPl4Dd3H%2B3cX5jw/TY8qjzA13bvHI1OWzT9HP69/Rx%2B37tb5jr84sn%2Bt2Wa5IuYD9wQcf6Cc/%2BYluuukmLVu2zO1yklZJSZ7bJUSssDDH7RIyGufffbwG7uL8u4/XwF2cf3dx/p1j2Zby87IUsiy3S8lIBfnZWtm7QK83btWTu9/XuTXzlefLcrushEupgL1161bdfvvtuuiii/Q//%2Bf/jMtzRDINfKoNzxKprS351z54PKYKC3PU2dmncJhfhInG%2BXcfr4G7OP/u4zVwF%2BffXZx/ZxUW5siWre6eAQXDYbfLyVinF1Xro5Z9OjLQo8c2rNENtee4XZJjIh3ATJmAvXfvXt18881avHix/uVf/kWGYbhdUsTc6CQeCqXOL%2Bpw2EqpetMN5999vAbu4vy7j9fAXZx/d3H%2BnWWFLS5YuMjQ4P7Y/713rV4/uFXnVZyg2bmlbpeVUCmx6KOlpUU33XSTysvL9cgjj8jv97tdkmMNz9gLGwAAAEC6qM4r0wkFM2RLenrvX90uJ%2BFcH8Hu6%2BvTmjVrJEmNjY3q7u7Wyy%2B/LEk688wzlZubq5tvvlmtra26%2B%2B67VV9fP%2BbrTz311Ck/d5jpIwAAAADgqPOmLdCO7kPa1NGoTe2NOqm4yu2SEsb1gN3a2qpvfvObY%2B4b/viXv/ylqqqqtHXrVknSHXfccczXb9u2Lf5FTiAV1mIDAAAAQCKV%2BHN1WskcfXhkj367b60WF1XKNFJi8nTMXA/Ys2bNmjQkuxmio5UsW3Xttg6rxix3uwwAAAAAGejsslptam/U/t42fdi2R8tKM2Pbrsy4jBAhp9ZVAwAAAEAmy/H6dXpptSTp%2BcYNsuzM2J%2BcgA0AAAAAcNwZpTXym17t723ThvbMGMwkYAMAAAAAHJft8WlpyWDPqucaN8jOgFFsAjYAAAAAIC7OKK2Rz/BoT0%2BrNnbsd7ucuCNgAwAAAADiItfr16klsyUNrsVO91FsAnaMaIwGAAAAABNbVjZXXsNUQ3eLtnQ2uV1OXBGwU8SOjuaov2a3dTgOlQAAAABA5PK9WTqleHAUe3XjBperiS8C9pDxRqI7duxzoRIAAAAASC9nls2VxzC1reugtncdcrucuCFgT8DpcF3fHv0INAAAAACkgwJftk4qmilJeuFA%2Bo5iE7Ankeqj2EwTBwAAAJAMziqbJ0OGNrY3ald3euYUAjYAAAAAIO6K/blaXFQpSXqx6WOXq4kPAnYcNDUlV2c8RrEBAAAAJIPlZfMkSR8e2aP9vW0uV%2BM8AnYEUn2aOAAAAAAkg7KsfJ1QMF1Seo5iE7ABAAAAAAmzvLxWkvSXw7t0qL/T5WqcRcDW%2BFt0JfLrE4Fp4gAAAACSwfTsQtXmV8iWrdVp1lGcgD2O8aaEM00cAAAAAJxxdnmdJOndlgY19ra7XI1zCNgZhFFsAAAAAMmgMqdICwqmy5atZxrXuV2OYwjYKWRHR7PbJQAAAACAI86tmC9Dgx3Fd3a3uF2OIwjYUUiHaeKMYgMAAABIBuVZ%2BTqxqEqS9Nu9a2WZlP9iAAAgAElEQVTbtssVxY6ADQAAAABwxbkVdfIaprZ3HdLaI7vdLidmBOwMxCg2AAAAgGRQ6MvRWWXzJElP712rgBVyuaLYZHzAPnqLrcmmgafDNHEAAAAASBZnls1VoS9brYEevdy0ye1yYpLxATsZNLjQvIxRbAAAAADJwGd6dP60EyRJqxs36FB/h8sVTR0BO8U42UmckA0AAAAgGZxQMEM1eWUK2ZZ%2Bueu9lG14RsAGAAAAALjKMAxdMuNEeQ1Tn3Q26c%2BH690uaUoI2FMw3jrso9dypwpGsQEAAAAkg2J/rs6pqJMk/ffeteoI9rlcUfQI2AAAAACApHBGaY2mZxeqJzSg/9r155SbKk7AHiVVOoQ7uQ5bYhQbAAAAQHLwGKY%2BV7lEHsPUR2379E7LDrdLikpGB2wrOPU91lIljAMAAABAKpmWXaBzh6aK/2bPX9TS3%2BVyRZHL6IAdT01NTW6XEBVGsQEAAAAki2WlczU7t0QDVkg/3/m2wrbldkkRIWAfR0eDs6PU9e3OTe12epo4AAAAACQL0zD0ucol8ptebe86pOcaP3K7pIgQsCfgdLhOBYxiAwAAAEgWxf5cfXbGiZKk1Y0btLnjgMsVTY6APYnjBW3WYQMAAABA/CwqqtQpxbNlS3qs4S11BHrdLum4CNhD3A7LDUky5ZtRbAAAAADJZNX0harIKlBnsE%2BPNqxJ6vXYBOwUxjpsAAAAAOnOZ3p0edUp8psebe08qN/t%2B6vbJU2IgB2BZF6PTcgGAAAAkO7KsvL1%2BcolkqRXmjbr/cMNLlc0PgL2OKYaqNvr9zpciTuYJg4AAAAg2SwonKEVZfMkSU/s%2BrP29rS6XNGxCNhpgFFsAAAAAJngnIr5mpdfoYAV1n/seF3dwX63SxqDgK3IGpwl8zTxeGAUGwAAAECyMQ1Dl848WcW%2BXLUMdOvRhjWykqjpGQE7Rm53Hx/GKDYAAACATJDt8emLs06Tz/Boc8cB/X7/OrdLGkHATiKxbtVFyAYAAACQCaZlF%2BhvZp4kSXrxwEZ90LrL5YoGEbATrL6dEAwAAAAAsVpUWKkzS%2BdKkh7f%2BY729x5xuSIC9jGOt9Y62nXYTU1NsZYTNSdHsVmHDQAAACCZnTdtvmryyhSwQvrp9tfVExpwtR4CdhpiqjgAAACATGAapi6beYqKfDlqHujSf7rc9IyAnaYI2QAAAAAyQY7Xry/OOk1ew9TG9kb9Yf9612rJ%2BIAdbRfwyaaJt9fvjaWcpMM0cQAAAADJbnp2of6mcrDp2QsHPtZfW3e7UkfGB%2Bx0xig2AAAAgEyxuGimlpXWSJJ%2BvvNt7e9tS3gNBGwHOLkXdqxbdQEAAABAplo5bYGqc8s0YIX00%2B2vJbzpGQF7lGi7hKcCJ0axmSYOAAAAIBWYhqnLqj5tevZYw1uybDtxz5%2BwZ0oj6RjEAQAAACAd5I5qevZx%2B3690rQpYc9NwD6O9nqCNAAAAACkmunZhbpw%2BiJJ0u/3f6iGrsQsxSVgT8CpcN3U1HTMffXtiV1nTbMzAAAAAJnm5OJZWlRYqbBt62cNaxKyHjujA7YVDLldAgAAAAAgDgzD0CUzTlSxL1etA936r13vyo7zeuyMDtiRmGgkO9PWYdPoDAAAAECqyfJ4dVnVKTJl6K9HduuvR3bH9fkI2EkoHlt1MU0cAAAAQCaqzCnSWeXzJEm/3v2%2BOoP9cXsuAjYAAAAAIK2dXV6riqx8dYX69dSe9%2BP2PATsIU5O%2BW6v3%2BvYsQAAAAAAsfEYpv6mcokMGfpL6y5taIvPkl8CdgQi6SjesSP512QzTRwAAABApqrMKdKy0hpJ0n/vXauQZTn%2BHARsAAAAAEBGWFE%2BT7kevw72d%2Bjtlm2OH5%2BAHYNIp5WPtxc2AAAAACCxsjw%2BnVNeJ0n6w/716g0FHD0%2BAXsckUwJBwAAAACknpNLZqnUn6fu0ID%2BdHCzo8cmYAMAAAAAMobHMHVOxeAo9hvNWxW0wo4dm4Dtkvp2Go4BAAAAgBsWFExXgTdbncF%2BrT2yy7HjErABAAAAABnFY5g6rWS2JOnVg1tk27YjxyVgRyjR67Ib2FILAAAAAOLmlOLZ8hqmdve0am/vEUeOScAGAAAAAGScHK9fc/PKJUkbO/Y7ckwCNgAAAAAgI83Lr5AkbWh3ZsYyARsAAAAAkJGGA/bOrhZ1BftjPh4BGwAAAACQkQp82SrPypctqb479j5YBGwAAAAAQMYq8%2BdLkloGumI%2BFgE7Ttrr97pdAgAAAABgEiX%2BXEkE7JTS1NTkdgkxqTHL3S4BAAAAABxX5MuRJB3q74z5WARsB3XsSOxe2QAAAACA2OT7siVJnYG%2BmI9FwAYAAAAAZCzLtiVJHjP2eEzABgAAAABkrLBtSZK8BgEbAAAAAIApGwnYpifmYxGwY9TRkP7rrmlwBgAAACBd9YQGJEl5Xn/MxyJgZ5D5RdPcLgEAAAAAkkpz/%2BD2XLNzy2I%2BFgEbAAAAAJCxhve/npNbGvOxCNgxKqqd7XYJAAAAAIApCFmWWge6JUmzCNiIN9ZfAwAAAEhXe3oOy5KtIl%2BOSn25MR%2BPgB2h4jpGqgEAAAAgnWzrOiRJOqOsRoZhxHw8AvY40jFMT6XBGaPXAAAAANJV2La0Yyhgn1k215FjErCHsJYaAAAAADLHru7DGrBCKvRlqy6/wpFjErABAAAAABln7ZFdkqQVFbUyHIrGGR2wTZ/X7RIAAAAAAAl2oK9d%2B3rb5DFMfXbGSY4dN6MDdjKrncKa6YlMZf01AAAAAKSrD1oHR6/PKp%2BnYge6hw8jYEcgHZueTYYGZwAAAADSUXN/p7YPNTf7wswljh6bgO2govmZF8QBAAAAIFXYtq3XDm2VJC0rq1FldrGjxydgAwAAAAAywvauQ9rXe0Rew6Nrqs90/PgE7Emk%2BvRw1l8DAAAAgBSywnqzeZsk6XNVJ6nEl%2Bf4cxCwJ5DqwRoAAAAA8Kl3DzeoI9inYl%2BOvlB5clyew/WAvWfPHv3gBz/QFVdcocWLF%2BvSSy8d93Fr1qzRF7/4RS1ZskQXX3yxnnzyScdrKaodG6ozNWTT4AwAAABAOmnq69BfhjqHXzdvufxmfLZsdj1g79ixQ2vWrFF1dbVqa2vHfcz69et1%2B%2B23a/HixXrsscf0pS99ST/84Q/19NNPx/z8NCYDAAAAgPQVsiy91LRRtmwtK6vR0uKauD1XfGJ7FFatWqWLLrpIknT33Xdr06ZNxzzmP/7jP7R48WL96Ec/kiQtX75cTU1Nevjhh/XlL39Zpun6dYKkxPprAAAAAJnuvcP1OjzQrXxvlv5u7tlxfS7Xk%2Blk4TgQCOj999/XF77whTH3X3bZZWppadGWLVviWR4AAAAAIEXt6z2i91t3SpJumHe28jxZcX0%2B1wP2ZPbu3atgMKh58%2BaNub%2Burk6S1NDQ4EZZko5dsz1acd2cMR9XVlbGu5wxpjp6zfprAAAAAOmgLxTQ6saPZUtaUV6r00tq4v6crk8Rn0xHR4ckqbCwcMz9wx8Pfx7O8HoTd83F4zHHvEdicf7dx2vgLs6/%2B3gN3MX5dxfnPz5MjymPbLfLQBKwbVsvH9ysrlC/pmUX6Kb558ibgKXFSR%2BwhxmGEdX9qazWxbXTJSXO7wU3mcLCnIQ/Jz7F%2BXcfr4G7OP/u4zVwF%2BffXZx/51i2pfy8LIUsy%2B1SkATeO9igHV2H5DFM/eMZn9eM4uKEPG/SB%2ByioiJJx45Ud3Z2Sjp2ZDvm56udrY6GfRE9LlnF0tysra3HwUqOz%2BMxVViYo87OPoXD/CJMNM6/%2B3gN3MX5dx%2Bvgbs4/%2B7i/DursDBHtmx19wwoGA67XQ5ctr%2B3TS/s%2BViS9JWaZSqz82POOZEORCZ9wJ4zZ458Pp927typ8847b%2BT%2B%2Bvp6SZpwa69oFM2frY4dk4fqdFdjlisUSvwv%2BHDYcuV5MYjz7z5eA3dx/t3Ha%2BAuzr%2B7OP/OssIWFywyXHdoQL/fu06WbWtpabUurFiU0J%2BxpF/04ff7tXz5cr300ktj7l%2B9erUqKiq0ePFilyqLTV1xfKaBszUXAAAAgEwUti09t/8j9YQGNCOnSDfXnpfwJcWuj2D39fVpzZo1kqTGxkZ1d3fr5ZdfliSdeeaZKi0t1R133KHrrrtO99xzjy677DKtW7dOTz/9tO69915X9sAeb3p40fzknTIOAAAAAOnuzUPbtL%2BvTdken755wkXKNhMfd10P2K2trfrmN7855r7hj3/5y1/qrLPO0mmnnaZHHnlEDz74oJ555hnNmDFD99xzj6666io3SgYAAAAAJJHNHQf0YdseSdIt8z%2Bj6VnO9uqKlOsBe9asWdq2bdukj1u5cqVWrlyZgIqO3%2BgsXZubAQAAAEAqau7v1CtNmyRJl1adrNOKql2rJenXYCMxasxyt0sAAAAAgKj0hQP6w/71CtmWTiyaqS/NOs3VegjYQyJZQ53Mo9cAAAAAkEks29bqxo/VEexTWVaevjH/AhkuR9yMDtimL/IZ8oRrAAAAAEgefz5cr109h%2BUzPPrmCRcp1%2BN3u6TMDtiRSoVwzfprAAAAAJliR1ez3jvcIEn6eu05mpVT6nJFgwjYSaaWoAwAAAAAEzoy0KMXDnwsSVo1Y5FWlNW6XNGnCNgTGB61nsrodXHdHKfLiSsanAEAAABIBQErpD/sX6%2BAFVJtwTR9dc4yt0sag4A9ytGNziIN15M1SKusrJxyTQAAAAAAybZtvXRgk1oD3Sr05ejvF6ySx/C4XdYYBOw0wPprAAAAAOlu7ZHd2tZ1UB7D0N%2BfsEqF3hy3SzpGxgfsVJvODQAAAACZZk9Pq9Y0b5Mkfa3mLNXmJecgY8YHbAAAAABA8uoK9uv5xg2yJZ1dXqvzKxa6XdKECNgAAAAAgKQUti091/iResMBzcot0Q3zzpZhGG6XNSEC9lEma1gGAAAAAEiMt5q3q7GvXdken/5%2BwYXyGV63SzouArYL6oqdWy9AgzMAAAAA6Wh750GtPbJbknRL3WdUkVXgbkERIGArtkZnjHgDAAAAgLPaAj16sWmTJOmzM0/UacXVLlcUGQI2AAAAACBpBK2wnt3/kQJWSLUFFbpy1hlulxQxArbDYhkNr2W6NwAAAIAM9%2BrBT9Q80KV8b5bunL9KHiN1YmvqVJpATPsGAAAAgMTb2L5fGzv2y5D0jQUXqMiX63ZJUSFgAwAAAABc1zrQrVcPfiJJumL2aVpUUOlyRdEjYA%2BZytRuRroBAAAAIHYhK6znGzcoaIe1sHCGLpt5itslTUlybyKWhKIN1ZWV8bvqwhZdAAAAANLBmubtah7oUp43S7fNP1%2BGDLdLmhICdoQYrQYAAAAA59V3NevDtj2SpFvqzlORN8fliqYuo6eIezyeCT83HKiL5s8mXAMAAABAHHQF%2B/VS00ZJ0sWVi3Vy0SyXK4pNRgfsyUQbrGPZogsAAAAAMoll21p94GP1hYOanVuqq2anzn7XEyFgj0JABgAAAIDEeL91p/b1HpHf9OqOBRfIa0w8wzhVELABAAAAAAm1v7dNf26plyT93bzlmpZV6HJFziBgAwAAAAASpj8c1OrGDbJl66zyeVpRWud2SY4hYAMAAAAAEsK2bb3ctEmdoX6VZ%2BXrhpqzZRipuSXXeDI%2BYMdzn%2Bpo1Ea5p7WTe2Dvtg47diwAAAAAmMiG9v3a3nVIpmHo9gUXKNvjc7skR2V8wD7aVBudRfp1dcXOBWMAAAAASBWHB7r0%2BqFPJElXzjldNbnlLlfkPAI2AAAAACCuglZYzzVuUMi2dGLRTF0y/SS3S4oLAnYcJcv0cwAAAABw05vN23R4oFsF3izdWrdSZhqtux6NgA0AAAAAiJvtnYe0vm2vJOnW%2BeerwJvtckXxQ8AWI80Sjc4AAAAAOK8j2KeXmzZJkv5m5kk6sXCmyxXFFwF7HNE2OptqY7SpcrKDOAAAAADEQ9i29Nz%2Bj9RvBVWTV6Yvz1rqdklxR8AGAAAAADjurebtaurvUI7HpzsWrJLH8LhdUtwRsAEAAAAAjqrvatbaI7slSTfXfUZl/nx3C0oQAjYAAAAAwDGdwT69eGCjJOmiGYt0WnG1yxUlDgF7yNGNziJdVz3R46JpnFabJGuqaXQGAAAAIBZh29JzjYPrrqvzyvSVOWe6XVJCEbCPo7hujqMNzOqKkyNIAwAAAEA8vNW8XQf6OpTt8enOBavkMTIrcnrdLiAVHB2y2%2Bv3ulQJHcQBAAAAJKcx665rM2fd9WgE7ClI9LZcAAAAAJDMOoN9erFpcN31hTMWaWlJ5qy7Hi2zxusBAAAAAI4aXHe9Qf3hoObkleqaDFt3PRoBe5RoGpMl4jhuoNEZAAAAgGi83bJDB/raM3bd9WiZ%2BzeX5DPd3%2Bg8mg7irL8GAAAAkEwaupr1QesuSdL/qD1X5f4ClytyV0YHbAAAAADA1HQG%2B/TC0LrrVTMW6vSSGncLSgIEbAAAAABAVMK2peeH1l3PzivVNXPOcrukpEDAPkqs66cn%2BvpY98BmejgAAACAZPFOyw41Dq27/vsFq%2BTN4HXXo3EWAAAAAAARa%2Bhu0V9G1l1/JuPXXY9GwAYAAAAARKQr2K8XD3wsSbpg%2BkKdnqH7XU8k4wN2rFO3R4t2enmkHcQTPT2crboAAAAAHM2yLT3X%2BJH6wkHNzi3VV6tZd320jA/YAAAAAIDJvT163fUJrLseD2dkHLE2Ojuak6PkAAAAAJBoO0etu76p9hzWXU%2BAgO0Qp0P5MLqHAwAAAHBTV7BfL4xad31GyVyXK0peBGwAAAAAwLisof2uB9ddl%2Bir1cvcLimpEbCVvFO4Gb0GAAAA4KZ3Wuq1v69NWaZXdy64UF7D63ZJSY2APYFopnzHa3o4AAAAALhld89hvd%2B6U5J0U925qshi3fVkCNhxNtHoeKRbdAEAAABAovWGAnrhwEZJ0srpC7SMddcRIWAfR2VlJaPTAAAAADKKbdt6qWmjekIDmpFdpK/OYb/rSBGwI3C8oE0ABwAAAJBOPmrbp4buFnkMU7cvOF9%2Bk3XXkSJgRyFTRrRrzHK3SwAAAADggpb%2BLr3RvFWSdHX1GZqVU%2BpyRamFSxFD6oqnqb69OaLHRhqyY%2BlOTgdxAAAAAIkUtMJ6/sAGhWxLJxVX6aJpi90uKeUwgu0CGpwBAAAASDZrmrfp8EC3CrzZuqX2PBmG4XZJKYeADQAAAAAZrr6rWeva9kqSbqk7TwXebJcrSk0EbAAAAADIYH3hgF5p2iRJumjGIp1UVOVyRamLgB0nsay/dhMNzgAAAIDM8vqhreoJBzQ9u1BXzznD7XJSGgE7CdHgDAAAAEAiNHQ1a3PHARkanBruNeiDHQsC9iiJGHWmwRkAAACAZDAQDuqVg5slSRdXnqh5eRUuV5T6CNhxwPRwAAAAAMnunZZ6dYcGNC27QF%2BevdTtctICARsAAAAAMsyh/k6ta9sjSbph7tnyMTXcEQTsJOPW%2BmtGrwEAAIDMYNu2/nRwi2xJZ5RWa1HhTLdLShsEbIel4vRwwjUAAACQOTZ1NOpAX7v8plfX1ix3u5y0QsBOIBqcAQAAAHBT0Arr7ZYdkqQrZp2qIl%2BuyxWlFwJ2hmP0GgAAAMgc647sUXdoQCX%2BXF08Y5Hb5aQdAvZRYpninWrTwwnXAAAAQOboCwf0futOSdKVc05nz%2Bs4IGAnkUQ2OCNcAwAAAJnlg9ZdGrBCmplTrOVl89wuJy0RsAEAAAAgzQ2Eg1rftk%2BSdNWcM2QQBeOCs%2BqQyaaHJ1ODM0avAQAAgMzyUds%2BBayQKnOKtKRoltvlpC0CdoYhXAMAAACZJWRZ%2BuuRPZKkL8xcItMwXK4ofRGwk0Qi1l8TrgEAAIDMs7WzST3hARX7c3UWa6/jioCdIQjXAAAAQGb6uH2/JOnC6YvkMTwuV5PeCNgOSPbtuQjXAAAAQGY6MtCj/X1tMmTo3Io6t8tJewTsBHCzwRnhGgAAAMhcmzoaJUknFs9UkS/X5WrSX9QB%2B9VXX5Vt2/GoJWPFa/014RoAAADIXLZta0vHAUnSedMWuFxNZog6YN9555268MIL9Z//%2BZ9qa2uLR02uS/Yp3wAAAAAwmZaBLnWG%2BuUzPTqlmK25EiHqgP2LX/xCixcv1sMPP6zzzz9f//iP/6iNGzfGo7aUkKxhnNFrAAAAILM1dLdIkhYVVcpneF2uJjNEfZZXrFihFStW6ODBg/rNb36j3/3ud3rmmWd00kkn6brrrtPnPvc5%2Bf3%2BeNQKAAAAAIhQfVezJGlpSbXLlWSOKTc5mzFjhr797W/rzTff1I9//GOFQiHdfffdOv/88/Vv//Zvam1tdbLOlDVZg7N4rL9m9BoAAADIbP3hoJr6OySJ6eEJFHMX8UOHDmnbtm1qbGyUaZqaO3euHn/8cV188cVas2aNEzUCAAAAAKLQ1DcYrsuz8ukenkBTnoi/Zs0aPfnkk3rnnXdUUFCgq6%2B%2BWtdee60qKyvV0tKi7373u/rRj36klStXOlkvJsHoNQAAAICmvnZJUm1BcvaMSldRB%2BzHH39cTz31lPbv36%2B6ujr98z//sy6//HJlZ2ePPKaiokK33HKLbrjhBkeLTTbJ2uAMAAAAQGY7MDSCXZdPZkmkqAP2Aw88oJUrV%2Bree%2B/VihUrJnxcdXW1brvttpiKS2bJGK4ZvQYAAAAgSc0DnZKkuflkhESKOmC/8sormj179qSPmz59uu66664pFTWeV199VY8%2B%2BqgaGhqUnZ2tpUuX6tvf/rbmzZvn2HMkWjwanAEAAADIbAErpO7QgCRpRnahy9VklqibnP3TP/2Tdu7cOe7ndu/erZtuuinmoo727rvv6s4779TcuXP17//%2B7/r%2B97%2BvXbt26cYbb1R3d7fjzzeZSEevJ%2Bsg7iRGrwEAAABIUnugV5KU5/Ur15PlcjWZJeoR7HfffXfCUNvd3a333nsv5qKO9sILL2jmzJm6//77ZRiGJKmqqkpXXXWVPvzwQ8cbqdW3Nzt6PAAAAABIlLahgD2N0euEi3mbrtEOHz48ptmZU0KhkPLy8kbCtSQVFBQ4/jypitFrAAAAAMO6Qv2SBrfoQmJFNIL9%2Buuv64033hj5%2BNFHH1VpaemYx/T39%2Bv999/XwoULna1Q0pVXXqmvf/3r%2BtWvfqUrrrhCnZ2duv/%2B%2B1VbW3vcRmsAAAAAkGl6QwFJUpEvx%2BVKMk9EAXvbtm169tlnJUmGYeitt94aM5osSX6/XwsWLNA999zjeJHLli3TT3/6U33nO9/RD3/4Q0lSXV2dHn/8cfn9fsefL5XU%2BVO3UZrHY455j8Ti/LuP18BdnH/38Rq4i/PvLs5/fJgeUx7Zbpfhun4rKEkq8ufI6%2BV7LJEM27aj%2Bg5cuHChfvvb3%2Brkk0%2BOV03HWLdunW699VZ96Utf0qpVq9Td3a2f/exnCgQCeuqpp5SfP7WpD239PfrpxtePuX%2ByNdhONTlzoov4sulzYz4GAAAAkOos29K2toMKWZbbpbju19ve05a2Jn3jpPP1%2BZrE5TZMocnZ5s2b5fF44lHLhH74wx9q%2BfLl%2Bt73vjdy3%2Bmnn67zzjtPTz/9tG688caE1pNM2tp63C5hyjweU4WFOers7FM4zC/CROP8u4/XwF2cf/fxGriL8%2B8uzr%2BzCgtzZMtWd8%2BAguGw2%2BW4rjcwOEXcDtopnReSSUlJXkSPizpgJzpcS1JDQ4NWrVo15r7S0lJNmzZNe/fuTXg9yaLGLFcolPq/kMNhKy3%2BHqmK8%2B8%2BXgN3cf7dx2vgLs6/uzj/zrLCFhcsJIXswXNg2ibfXwkWUcD%2B7Gc/q4cfflgLFy7UJZdccsz666O98sorjhQ3bObMmdq8efOY%2B1paWtTc3KyqqipHnwsAAAAAUpk1tArYY7D%2BOtEiCtgnn3yy8vLyRm5PFrCddu211%2Bq%2B%2B%2B7TvffeqwsvvFCdnZ169NFHlZubq8svv9zR53JqD%2BzJ1l8DAAAAQDyEh0awvQTshIsoYP/kJz8Zuf3AAw/ErZiJXHvttfL5fPrNb36jP/zhD8rNzdWSJUt0//33a9q01AyysTY4Y%2B9rAAAAAOOxCNiuiXoNthsMw9BXvvIVfeUrX3G7FAAAAABIauGRKeKJ75%2BV6SIK2IcOHYrqoNOnT59SMQAAAACA2AyPYLMGO/EiCtgrV66Mat31J598MuWCUkF9e3PEe2HHA9PDAQAAAEwkTJMz10QUsO%2B7775415EUnGpwBgAAAABuGWlyZhKwEy2igH3VVVfFuw4AAAAAgAOGA7aPNdgJxyUNAAAAAEgjbNPlnil1EbcsS%2B%2B884527typ/v7%2BMZ8zDEO33XabI8XhWKy/BgAAAHA8I2uwTUawEy3qgN3e3q7rr79eO3bskGEYsodevNFN0AjYAAAAAJB4lm3L1mBG80XRqBrOiHrOwMMPPyzTNPWnP/1Jtm3rqaee0osvvqjrr79eNTU1ev311%2BNRZ9zR4AwAAABAqhueHi4xgu2GqAP2u%2B%2B%2BqxtvvFEzZ86UJPl8Ps2bN0/f/e53tXz5cj3wwAOOF5lu5hdNbYsvpocDAAAAOB5rVMBmDXbiRX3GDx48qFmzZsnj8cg0TfX19Y18btWqVXrnnXccLRAAAAAAEJmAFZYkGTLkoad1wkV9xouLi9Xd3S1Jqqio0I4dO0Y%2B19XVpXA47Fx1AAAAAICI9YYDkqQCX9aYPllIjKibnC1evFj19fU6//zzdd555%2BmRRx5RUVGRfD6fHnroIZ1yyinxqBMAAAAAMIme0IAkqciX43IlmSnqgH3ttddqz549kqS77rpLH330kb7zne9IkqqqqvTd737X2QoTwOkGZ7VTXGN9PKy/BgAAADCZ7uGA7c91uZLMFHXAPvfcc3XuuedKksrKyvTss89q69atMgxDdXV18vl8jhcJAAAAAJhcR2CwR1apP8/lSjJT1GxBRsYAACAASURBVAH7aKZpavHixU7UAgAAAACIQctAlyRpdm6Jy5VkpqgD9rp16yZ9zNKlS6dUDAAAAABg6oYD9qzcUpcryUxRB%2Byvfe1rk3aj%2B%2BSTT6ZcEI7F%2BmsAAAAAkxkIh9QRHJwiXpXDCLYbog7Yv/jFL465r62tTa%2B99po2bNige%2B65x5HC0tX8ODRAAwAAAID9vUckSWVZecr3ZrlcTWaKOmCvWLFi3Ps///nP6/vf/77ee%2B89nX/%2B%2BbHWBQAAAACIws6ew5KkJcWzXK4kc5lOHuySSy7R6tWrnTxkxmN6OAAAAIDJ2LatXd0tkqRTSma7XE3mcjRgd3V1KRAIOHlIAAAAAMAkjgR61B7sk8cwtbCg0u1yMlbUU8QPHTp0zH2BQEDbtm3Tv/7rv%2Brkk092pDAAAAAAQGQ2tO%2BTJJ1YPFNZZsy7MWOKoj7zK1euHLeLuG3bqq6u1ve//31HCktVtTQxAwAAAJBAQSusTe0HJEkXTl/kcjWZLeqAfd999x1zX1ZWlqqqqnTqqafK4/E4UlgyqytOTIhm/TUAAACAyWztbFK/FVRZVp5OKprpdjkZLeqAfdVVV8WjjozAFl0AAAAAnGTbtj48skeSdP70hTKcbbOFKHH2AQAAACBFbe44oOaBLmV7fDq/4gS3y8l4UY9g33TTTRE/1jAM/fznP4/2KQAAAAAAkwhaYb3dskOSdGnVycrzZrlcEaIO2H19fdq3b58OHz6s6dOnq7y8XIcPH9ahQ4dUXl6uOXPmxKPOjMP6awAAAADHs%2B7IHnWF%2BlXiz9XFMxa7XQ40hYB9xx136Hvf%2B55%2B/etf64wzzhi5f%2B3atfqHf/gHfeMb39BnPvMZR4uMt7riaapvb474sVPB%2BmsAAAAATmkP9Ord1gZJ0pVzTpfPYGuuZBD1GuyHHnpId95555hwLUnLli3T7bffrgcffNCx4lINW3QBAAAAiDfLtvXCgY8VtMKaXzBNZ5XWul0ShkQdsHfs2KGZM8dv/V5VVaWGhoaYiwIAAAAAjO%2BD1l1q7GtXlunVrXUrZRqG2yVhSNQBu6ysTH/84x/H/dwf//hHlZWVxVyUGyKZ%2Bs3%2B1wAAAADcdKi/U%2B8MNTa7bt5ylfnzXa4Io0U9Uf%2Baa67RQw89pK6uLl166aUjTc6ef/55vfzyy7rrrrviUWdKY/01AAAAgFj1hgJ6Zv96WbJ1WukcnV1a53ZJOErUAfu2225Tb2%2BvfvGLX%2Bill16SNLi5uc/n0y233KLbbrvN8SIT5XjNziYbvWb9NQAAAIB4CVmWntm/Xh3BPlVk5et/zPuMDKaGJ50ptZr71re%2BpRtvvFHr169Xe3u7iouLddppp6m4uNjp%2BjIO08MBAAAAjGbbtv50cLP297Up2%2BPTtxZdolyP3%2B2yMI4p93IvLi7WBRdc4GQtaYnp4QAAAABi8cGRXdrY0ShD0p0LVmlGVpHbJWECUTc5S3fjTQVPVHMzAAAAABhtfdterWneLkm6puYsLS4cf0cnJAcC9jiiDdROrb9mejgAAACAYZvaG/Wng1skSZ%2BfuUQXTVvkckWYDAF7ErGMXjM9HAAAAMBUbO08qJeaNkqSLpyxSF%2BedTpNzVLAlNdgp7tETwtn9BoAAACAJG3vPKTVjRtkS/rMtPn66pyzCNcpgoAdI7bnAgAAAOCUTe2Neqlpo2xJZ5bN1dfnni1DhOtUQcBOAoxeAwAAAFh3ZI9ePfSJJOncijrdOO8cGazqTSkRBewTTzwxqikJmzZtmnJBqeR4o9esvwYAAAAQCdu29X7rTr3dskOSdHHlYn1l9pmMXKegiAL2zTffPCZgP/fcc%2Bru7tbKlStVXl6ulpYWvfXWW8rLy9MVV1wRt2LTEaPXAAAAQOaybEuvH9qqdW17JUmXzzpFV8w8jTXXKSqigP2tb31r5PYTTzyhkpISPffcc8rPzx%2B5v6urSzfccIOKijJj03PWXgMAAACIxUA4pOcbP9LOnsOSpGuqz9QlM050uSrEIuoJ/U8%2B%2BaRuvfXWMeFakgoKCnTrrbfq17/%2BtWPFxZvP9Ezp6yYL15FOD2f0GgAAAMhMHcE%2BPbnnfe3sOSyf4dEdJ1xAuE4DUTc5O3jwoHw%2B37if8/l8am5ujrmoRKotmqaGjtSqGQAAAEDqOtDXrt/vW6fecEAFvmx9a%2BElqsktc7ssOCDqEey5c%2BfqiSeeUCgUGnN/MBjUE088oblz5zpWXKJEM93bqdFrAAAAAJnnk44mPbXnA/WGA5qVW6J/XnI54TqNRD2Cfdddd%2BnOO%2B/UxRdfrM9%2B9rMq///bu/N4rQo6f%2BCf515WwcvqhmtiEJuCo6nJophbok5qajNq0ziiuI5pWZaOtqiNWrhraQ5uZRjaaOJSJurkNqFpLhVo4IYKsi8XuPf5/eFwfyKo98K5PFx4v18vXsA5h%2Bf58D3noJ/nnOd5unfP9OnT88ADD%2BTtt9/O5Zdf3hw5m11jrmQX%2Bb5rt4cDAMD6o1wu5w/TJ%2Bd/pk9KkgzovHlO6jU8bUq%2BOXld0uS9OXz48Fx33XX58Y9/nDFjxqRcLqdUKqVv374577zzMnTo0ObIuUZ8XMn2oWYAAMCqWFpfl/ve%2BnNenPNWkmSfzfrmiK18Dde6aJVeLhkyZEiGDBmSefPmZfbs2enUqdMKH3rWUq2sZDe2XPtwMwAA4IMWLF2cO1%2BfmDcWzkpVSjm6524Z1r13pWPRTFbrfoSOHTuuM8X6gz5Ysl25BgAAVsX02nn51Wt/zOwlC9O%2BunVO7j08fTbsUelYNKNVKtj19fV57LHH8sorr2TRokXLrSuVSjn%2B%2BOMLCVdJTS3Wrl4DAADLvDpven79xrNZXL803dt2zNf67JNN23aqdCyaWZML9qxZs3L00Ufnb3/7W0qlUsrlcpL3i/Uy60LBbgqfHA4AACzzzMyp%2Be20l1JOOdttuHFO6/35dKhuW%2BlYrAFN/pquyy67LFVVVXnwwQdTLpfz85//PPfee2%2BOPvrobLPNNnnooYeaI%2Bc6wdVrAABYd9WXy/ndtJfy4LQXU045u3XvmW/02V%2B5Xo80uWD/4Q9/yFe/%2BtX06PH%2Bewdat26dbbfdNmeffXZ23XXXXHLJJYWHXJu5eg0AANTWLc241ybmjzOnJEkO3WrH/Nu2Q9Kq1OTKRQvW5L09bdq0bLHFFqmurk5VVVUWLlzYsG748OF57LHHCg24rnD1GgAA1k2zlyzMrVOeyCvz303rUnVO7LVnDthsh%2BXeRsv6ockFu3Pnzpk3b16SZKONNsrf/va3hnVz585NXV1dcenWcq5eAwDA%2Bu3NhbNyy6uPZ3rtvNS0bpdv9f9CduqyTaVjUSFN/pCzvn37ZtKkSdljjz0ydOjQXH311enUqVNat26dH//4x9lhhx2aI%2BdapanF2tVrAABY97w856385s3nU1euzxYbdMnpn9k7XVp3qHQsKqjJBfuf//mfM2XK%2B%2B8r%2BPd///c8%2B%2ByzOeOMM5Ikm2%2B%2Bec4%2B%2B%2BxiEzajVlXVTf4zyjUAAKzfyuVynn7v73n4nb8kSbbvskVGbbdn2lat0rcgsw5p8hEwePDgDB48OEnSrVu3/PrXv87LL7%2BcUqmU7bbbLq1bty48ZHNaVpj/NvudRm8LAACsn%2BrL5fzu7ZfyzMypSZK9Nu2Tf9r6syk1/d23rINW%2ByWWqqqq9O3bt4gsFfVJRXtVyrWr1wAAsO5YUl%2BXu9/4UybNeyelJEds/dnss2m/SsdiLbJKL7PMnDkzo0ePzj/90z9l//33z6RJk5IkY8eOzcsvv1xowDXt0502XqFMu3INAADrt4VLF%2BcXU57KpHnvpFWpKqN67alcs4ImX8F%2B/fXX80//9E%2BZNWtWevXqlb///e%2Bpra1NkrzwwguZOHFiLrzwwsKDrmmrW6pdvQYAgHXD3CWL8sup/5sZi%2Bdlg%2Bo2%2BffP7J3tOroIx4qafAX74osvTocOHXL//ffnF7/4RcrlcsO6nXbaKRMnTiw0YEukXAMAwLph1uIFuW3Kk5mxeF46tW6fb/c/QLnmIzW5YD/%2B%2BOM5%2BeSTs9lmm63wxekbbbRR3nnnkz8sDAAAYG337qK5uXXKk5m9ZGG6t%2B2Y7/Qfkc3ada50LNZiTb5FfNGiRenceeUH1aJFi1Y7UEvn6jUAALR8by%2Bak9unPp1FdUvSo33nfKPvfqlp1b7SsVjLNfkK9qc%2B9ak88cQTK1339NNPp1evXqsdqqVSrgEAoOV7d9Hc/PL/yvU2Hbrn7H4HKNc0SpML9pe%2B9KX813/9V2699dbMmzcvSVJXV5ff/va3ue222/KlL32p8JAAAABrwozaebl96tNZWLckW3folq/32S8bVLepdCxaiCbfIn7UUUflhRdeyPe%2B971ccMEFSZIvf/nLqa%2BvzyGHHJLDDjus8JAtgavXAADQsr1XOz%2B/mPJ0FtQtzpYbdMnX%2B%2ByX9tWtKx2LFqTJBTtJLrzwwhx66KGZMGFCpk%2Bfni5dumTPPffMzjvvXHS%2BFkG5BgCAlm3ukkW5ferTmV9Xmx7tO%2Besvvu7ck2TNalg19bW5tprr83nP//57LTTTtlpp52aK1eLoVwDAEDLVlu3NL967Y%2BZu3RRNmlXk2/22z8bVLetdCxaoCa9B7tt27a54YYbsmDBgubK06Io1wAA0LLVlevz3288m3dq52bDVu1yZp9907G6XaVj0UI1%2BUPOtt1227zxxhvNkaXF2Kaqu3INAAAtXLlczoPTXsyr86enTVV1vtZnn3Rr07HSsWjBmlywTzjhhFxzzTV5/fXXmyPPGtWuVets12bjJv0ZxRoAANYNE2dOyXOzXk8pyahee2TrDbpVOhItXJM/5Oyee%2B7JggULsv/%2B%2B6dPnz7ZaKONUiqVGtaXSqVcccUVhYZsbh8szX%2Bvn/6J2wAAAC3bmwtn5fdv/yVJcuQ2n80OnbaqcCLWBU0u2M8991yqqqrStWvXvP3223n77beXW//Bst0SLSvSy4q2Yg0AAOuWhUsX59evP5v6lPMPXbfO5zfuW%2BlIrCOaXLAfeeSR5six1lGsAQBg3VMul/ObN5/L3KWLslG7DXPstkNa/EVC1h5Nfg82AABAS/XszNfyyvzpaVWqzqm99kq76taVjsQ6RMEGAADWC7OXLMzD777/vusjtt4pm7fvUuFErGsUbAAAYJ1XLpfzwFsvZEl9XXpuuFGGb9Kn0pFYBynYAADAOu%2BF2W/m1fnT06pUlX/rOTSleN81xVOwAQCAddri%2BqWZ8M77t4YfvOWgbNK2psKJWFcp2AAAwDrt6Rl/z/y6xenetmP227RfpeOwDmvy13QtM2XKlDz11FOZOXNmDjnkkHTv3j0zZszIhhtumDZt2hSZEQAAYJXMX1qbp957NUnypa12SnWpusKJWJc1uWDX19fnvPPOyx133JH6%2BvqUSqXsvvvu6d69e771rW%2Blf//%2BOfXUU5sjKwAAQJM8Pn1yltTXZesOXfMPXbapdBzWcU2%2BRfy6667LnXfemdNPPz133XVXyuVyw7phw4bl0UcfLTQgAADAqliwdHH%2BNOv1JMkRW382VSUfbEbzavIV7HHjxmXUqFE57rjjUldXt9y6LbbYIq%2B99lph4QAAAFbVMzOnpq5cn607dEvvjptWOg7rgSZfwX7rrbey4447rnRdu3btMn/%2B/NUOBQAAsDqW1tflmZlTkyT79xiQkqvXrAFNLthdu3bN66%2B/vtJ1r776ajbZZJPVDgUAALA6XprzVhbULU7nNhvkH7psXek4rCeaXLCHDh2a6667Lu%2B8807DslKplHnz5uWWW27JnnvuWWhAAACApvrz7DeSJHtt2ifVJd9OzJrR5Pdgn3rqqTnssMNywAEHZLfddkupVMrll1%2Bev/zlLymVShk1alRz5AQAAGiUOUsW5rUFM5Mkn%2Bves8JpWJ80%2BaWcjTfeOHfccUf22WefTJw4MUnypz/9Kbvuumt%2B/vOfp2vXroWHXGbs2LE56KCDMmDAgOy222454YQTmu25AACAlumlOdOSJJ/ecJN0ad2hwmlYnzT5Cnbyfsn%2BwQ9%2BUHSWj3XFFVfkv/7rv3LCCSdkhx12yOzZs30lGAAAsIKXZr%2BVJNl9I1evWbNWqWCvaZMnT84111yTn/zkJxk8eHDD8r333ruCqQAAgLXN3CWL8k7tnJSS7Nhlm0rHYT3T5IJ9zjnnfOS6UqmUmpqaDBgwIMOHD0/r1q1XK9wy48aNy5ZbbrlcuQYAAPiwv8%2BfniTZqkO3dGzVtsJpWN80uWA/8sgjmT9/fubNm5eqqqrU1NRkzpw5qa%2BvT8eOHVNfX58FCxZku%2B22y5gxY9KtW7fVDvmnP/0pvXr1ylVXXZVbbrklc%2BfOzcCBA/Ptb387ffr0We3HBwAA1g2v/l/BHtB5iwonYX3U5IJ93XXX5cQTT8y5556b/fffP61bt86SJUty7733ZvTo0bn88suzaNGinHbaafnRj35UyHu133333bzwwgv529/%2BlvPPPz%2BtW7fOlVdema9%2B9at54IEHUlNTs8qPXV3tI/srZdns7YPKMP/Ksw8qy/wrzz6oLPOvLPNvHqWqUqbMfy9JMqjblmnVynxZs5pcsC%2B44IJ85StfyUEHHdSwrHXr1jn44IMzc%2BbMXHTRRbn11ltz3HHH5Wc/%2B1khIcvlchYsWJArrrgin/70p5Mk/fr1y1577ZXbb789xx133Co/dk1N%2B0Iysursg8oy/8qzDyrL/CvPPqgs868s8y9Ofbk%2BtdVLs7BucVpXVWfQFlundVV1pWOxnmlywX7uuec%2B8ruue/XqldGjRydJ%2BvTpk5kzZ65euv/TqVOndO/evaFcJ%2B9/kvm2226bSZMmrdZjz5mzMHV19asbkVVQXV2Vmpr29kGFmH/l2QeVZf6VZx9UlvlXlvkXq6amfcop528z3k6SbNmha%2BbNXlThVKxLunRp3Ne9Nblgd%2BjQIU899VR22223FdY99dRT6dDh/Seura1t%2BPXq6tmzZ958880VlpfL5VRVrd5tH3V19Vm61D9qlWQfVJb5V559UFnmX3n2QWWZf2WZf7Fen//%2BBb5tO3Q3Vyqiye30gAMOyE9/%2BtNcfvnl%2Betf/5r33nsvf/3rXzN69Ohcf/31GTFiRJLkhRdeyLbbbltIyD322CPTp0/PX//614Zlb7/9dl555ZX07t27kOcAAABatrcWzk6SbLvhRhVOwvqqyVewzzzzzLz99tu5%2Buqrc8011zQsL5fL2W%2B//XLGGWckSbbffvuVXuVeFXvvvXf69euXU045JaeddlratGmTq666Kl27ds3hhx9eyHMAAAAt2/RF85IkW7bvWuEkrK%2BaXLDbtGmTyy67LH/5y1/y9NNPZ9asWencuXN23nnn5a4mF/md1dXV1fnpT3%2BaCy64IOeee26WLl2anXfeOZdeemk22GCDwp4HAABomerL5SyqX5JSkk3abVjpOKynmlywl%2Bndu/cavT27W7duufTSS9fY8wEAAC1HXfn991x3a9sxrUqrXHNgtazWkTd79uwsWrTip/Ntsskmq/OwAAAATbKsYG/WvlOFk7A%2BW6WC/ZOf/CQ33XRTZsyYsdL1L7300mqFAgAAaIq6cjlJ0r2t28OpnCZ/ividd96Zq6%2B%2BOkcccUTK5XKOO%2B64HHvssdl4442z9dZb5/zzz2%2BOnAAAAB%2Bp/v%2BuYHdv27HCSVifNblg33zzzTn%2B%2BONz4oknJkn23XffnHnmmbnvvvuywQYbZN68eYWHBAAA%2BDj1/3cFu1vbDhVOwvqsyQV7ypQpGThwYKqq3v%2BjS5cuTZK0b98%2Bxx57bH7xi18UmxAAAOATLCvYXdoo2FROkwt2q1bvv227VCqlY8eOmTZtWsO6rl275u233y4uHQAAQCPU5/2C3aG6bYWTsD5rcsHeaqutGkp0//79M3bs2NTV1aW%2Bvj5jx45Njx49Cg8JAADwccr/dwW7Y6s2FU7C%2BqzJBXvw4MF58sknkyQjR47M448/np122im77rprxo8fn2OPPbbwkAAAAI3R3hVsKqjJX9N12mmnNfz6c5/7XG655Zb85je/SalUyh577JHdd9%2B90IAAAACN0baqVVpXVVc6BuuxJhXsxYsX57//%2B78zaNCg9OzZM0kyaNCgDBo0qFnCAQAANNYGbg%2Bnwpp0i3ibNm1y3nnnZcaMGc2VBwAAYJV0aOX2cCqrye/B3nLLLTN9%2BvTmyAIAALDKOirYVFiTC/bRRx%2Bd66%2B/PvPnz2%2BOPAAAAKukfavWlY7Aeq7JH3I2ZcqUzJgxI8OHD8/nPve5bLTRRimVSg3rS6VSvvnNbxYaEgAA4JO0qWpyvYFCNfkIHDNmTMOvx48fv8J6BRsAAKiE1iUFm8pq8hH4wgsvNEcOAACA1dK62ld0UVlNLtjVDloAAGAt1MZ3YFNhq3wPxeOPP54nn3wyM2fOzAknnJDNNtssL7zwQnr06JEuXboUmREAAOATeQ82ldbkI3DRokU56aST8oc//CHlcjmlUimHH354Nttss/zkJz9Jjx49ctZZZzVHVgAAgI%2BkYFNpTf6artGjR%2BdPf/pTfvSjH%2BXpp59OuVxuWDd48OA8/vjjhQYEAABojLbVCjaV1eQjcPz48Tn11FOz//77p66ubrl1m222Wd58883CwgEAADRGu%2BrW2bnrpyodg/Vckwv2jBkz0qtXr5Wuq66uzqJFi1Y7FAAAQFNs2LpdlrSq%2B%2BQNoRk1%2BRbxTTbZJJMmTVrpur/85S/ZYostVjsUAAAAtDRNLth77713rrnmmrz88ssNy0qlUt56663cdNNN2XfffQsNCAAAAC1Bk28RP/nkk/M///M/Oeyww9K7d%2B%2BUSqV85zvfyZQpU7LVVltl5MiRzZETAAAA1mpNvoLdsWPH3H777TnxxBPTqlWr9OjRI1VVVfnqV7%2BaW265Je3bt2%2BOnAAAALBWW6XPsd9ggw1y4okn5sQTTyw6DwAAALRITb6Cfckll%2BSVV15pjiwAAADQYjW5YI8ZMyYHHHBAjjzyyIwdOzbz5s1rjlwAAADQojS5YD/66KM5%2B%2Byzs3jx4pxzzjkZMmRIzjrrrDz11FPNkQ8AAABahCYX7M6dO%2Bfoo4/OuHHj8utf/zqHH354HnvssRxzzDHZa6%2B9ctVVVzVHTgAAAFirNblgf1Dv3r3zrW99K4888kiuuOKK1NXV5corrywqGwAAALQYq/Qp4h/02muvZdy4cbnrrrsybdq0bLzxxkXkAgAAgBZllQr2woULc99992XcuHH53//937Rq1Sp77rlnzjvvvAwZMqTojAAAALDWa3LBPvvss3PfffdlwYIF6dOnT84%2B%2B%2BwceOCB6dy5c3PkAwAAgBahyQX7oYceyiGHHJJDDz00ffr0aY5MAAAA0OI0uWA/%2Buijad269Ueuf%2B%2B999K1a9fVCgUAAAAtTZM/RXxl5bpcLmfChAk55ZRTMnTo0EKCAQAAQEuyWp8iPnXq1PzqV7/KnXfemXfffTetW7fOvvvuW1Q2AAAAaDGaXLBra2szfvz4/OpXv8r//u//plwup1Qq5V/%2B5V8ycuTIdOnSpTlyAgAAwFqt0QX7ueeeyx133JF777038%2BfPT/v27fPFL34x%2B%2B67b44//vgMHz5cuQYAAGC91aiCfeCBB2bSpElJkoEDB%2BbQQw/NF77whWywwQaZO3duswYEAACAlqBRBftvf/tbSqVShg0bljPPPDPbbbddc%2BcCAACAFqVRnyJ%2B9tlnp3fv3nn44Ydz4IEH5ogjjsjYsWMzb9685s4HAAAALUKjCvYxxxyTu%2B66K2PHjs3hhx%2BeV155Jeecc06GDBmSc845J6VSKaVSqbmzAgAAwFqrSd%2BDPWDAgJx//vl57LHHctFFF6V///65//77Uy6X8%2B1vfzs/%2B9nPMnPmzObKCgAAAGutJhXsZdq2bZt//Md/zM0335z7778/I0eOzMKFC/Of//mf2WOPPQqOCAAAAGu/VSrYH7TVVlvla1/7Wh5%2B%2BOFcc801GTJkSBG5AAAAoEVp9Pdgf5Kqqqrsueee2XPPPYt6SAAAAGgxVvsKNgAAAKBgAwAAQCEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABWmTBnj9/foYOHZrevXvn%2Beefr3QcAAAAaJkF%2B%2Bqrr05dXV2lYwAAAECDFlewJ0%2BenNtuuy2nnHJKpaMAAABAgxZXsH/wgx/kyCOPzKc%2B9alKRwEAAIAGLapg33fffXn55Zdz0kknVToKAAAALKdVpQM01sKFC3PRRRfla1/7Wjp27FjY41ZXt6jXGNYpy2ZvH1SG%2BVeefVBZ5l959kFlmX9lmX/zaNXKPKmsFlOwr7nmmnTr1i2HHHJIoY9bU9O%2B0Mej6eyDyjL/yrMPKsv8K88%2BqCzzryzzL065XE6XLh0qHYP1XIso2G%2B88UZ%2B9rOf5aqrrsq8efOSJAsWLGj4ef78%2BenQYdVOpjlzFqaurr6wrDRedXVVamra2wcVYv6VZx9UlvlXnn1QWeZfWeZfrGUvVMyZs6DCSVhXNfbFmxZRsF9//fUsWbIkI0eOXGHdMccckx122CG//OUvV%2Bmx6%2Brqs3Spf9QqyT6oLPOvPPugssy/8uyDyjL/yjL/YpklldYiCnafPn1y0003LbfsbhPXRAAAHJ9JREFUpZdeyoUXXpjzzz8/AwYMqFAyAAAAeF%2BLKNg1NTXZZZddVrquX79%2B6dev3xpOBAAAAMvzMXsAAABQgBZxBXtldtlll/zlL3%2BpdAwAAABI4go2AAAAFELBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACtCq0gEaY/z48bn77rvzwgsvZPbs2dlyyy3z5S9/OUceeWSqqrxGAAAAQOW1iIJ94403pkePHvnGN76Rbt265cknn8wPfvCDvPbaaznrrLMqHQ8AAABaRsG%2B9tpr07Vr14bf77rrrlmwYEFuvfXWnH766WnTpk0F0wEAAEALeQ/2B8v1Mn369EltbW1mzZpVgUQAAACwvBZRsFfmj3/8Yzp37pxu3bpVOgoAAAC0jFvEP%2Bz555/PuHHjctJJJ6W6unq1Hqu6usW%2BxtDiLZu9fVAZ5l959kFlmX/l2QeVZf6VZf7No1Ur86SySuVyuVzpEE3x7rvv5vDDD88mm2ySm2%2B%2BOa1bt650JAAAoMLK5XJKpVKlY7Cea1EFe%2B7cuTn66KNTW1ub2267LV26dFntx5wzZ2Hq6uoLSEdTVVdXpaamvX1QIeZfefZBZZl/5dkHlWX%2BlWX%2BxaqpaZ/k/f%2B3h%2BbQpUuHRm3XYm4Rr62tzahRozJ9%2BvTcfvvthZTrJKmrq8/Spf5RqyT7oLLMv/Lsg8oy/8qzDyrL/CvL/ItlllRaiyjYS5cuzWmnnZaXX345t9xySzbffPNKRwIAAIDltIiC/d3vfje///3v8/Wvfz2LFi3Ks88%2B27Buu%2B22S8eOHSuYDgAAAFpIwX7ssceSJBdffPEK62666abssssuazoSAAAALKdFFOyHHnqo0hEAAADgY/miOAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAtpmC/%2BuqrOfbYYzNw4MDstttu%2Bf73v59FixZVOhYAAAAkSVpVOkBjzJkzJ1/5ylfSo0ePXH755Xnvvfdy4YUXZtasWbnkkksqHQ8AAABaRsH%2BxS9%2BkTlz5uSuu%2B5K165dkyTV1dU588wzM2rUqPTs2bPCCQEAAFjftYhbxB955JHstttuDeU6Sfbdd9%2B0adMmEyZMqGAyAAAAeF%2BLKNiTJ09e4Sp1mzZtstVWW2Xy5MkVSgUAAAD/X4u4RXzOnDmpqalZYXlNTU1mz569Wo/dqVP7lMur9RCsolLp/Z/tg8ow/8qzDyrL/CvPPqgs868s8y9WVVUp9fXltGrVIq4fsg5rEQX7o5TL5ZSW/eu0iqqqnISVZh9UlvlXnn1QWeZfefZBZZl/ZZl/caqrS%2BnSpUOlY7CeaxFndE1NTebMmbPC8rlz5670yjYAAACsaS2iYPfs2XOF91ovXrw4U6dO9QniAAAArBVaRMEeOnRonnjiicycObNh2YMPPpjFixdn2LBhFUwGAAAA7yuVy2v/xyrMmTMnI0aMyOabb54TTzwxM2bMyEUXXZTBgwfnkksuqXQ8AAAAaBkFO0leffXVfP/7388f//jHtGvXLiNGjMiZZ56Zdu3aVToaAAAAtJyCDQAAAGuzFvEebAAAAFjbKdgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFWO8K9quvvppjjz02AwcOzG677Zbvf//7WbRoUaVjrbXGjRuX3r17r/DjkksuWW67CRMm5B//8R8zYMCA7L333rn11ltX%2Bng33HBDhg8fngEDBuTQQw/Nk08%2BucI28%2BbNy7nnnptddtklgwYNygknnJA33nhjhe3W1X05ZcqUnHvuuTn44IPTt2/fjBgxYqXbrc0zb2y2tVFj5v/Nb35zpefFI488ssK25t8048ePz4knnphhw4Zl4MCBOfDAA3Pbbbelvr5%2Bue0c/82jMfN3/DevRx99NEcddVR23XXX9O/fP3vttVcuvPDCzJ07d7ntnAPNozHzdw4AH6u8Hpk9e3Z5yJAh5SOOOKI8YcKE8p133ln%2B7Gc/Wz7jjDMqHW2t9atf/arcq1ev8iOPPFJ%2B5plnGn68%2BeabDdtMnDix3Ldv3/K3vvWt8uOPP16%2B6qqryp/5zGfKv/zlL5d7rOuvv77cr1%2B/8vXXX1/%2Bwx/%2BUD799NPLAwYMKL/88svLbTdy5Mjy7rvvXr777rvLv//978tf/OIXy3vvvXd54cKFDdusy/vywQcfLA8dOrR8yimnlEeMGFE%2B4IADVthmbZ55Y7OtrRoz/7POOqu81157LXdOPPPMM%2BU5c%2BYst535N92XvvSl8mmnnVa%2B5557yo8//nh59OjR5b59%2B5Yvuuiihm0c/82nMfN3/Devu%2B%2B%2Bu3zJJZeUH3jggfITTzxRvvnmm8uf/exny1/96lcbtnEONJ/GzN85AHyc9apgX3fddeUddtihPGPGjIZl//3f/13u1atXedKkSRVMtvZaVrA/OLMPO/bYY8uHHXbYcsu%2B853vlHffffdyXV1duVwul2tra8v/8A//UP7hD3/YsM3SpUvL%2B%2B%2B/f/nf//3fG5Y9%2B%2Byz5V69epUffvjhhmVvvPFGuW/fvuXbbrutYdm6vC%2BXzaxcfv8/4isreGvzzBuTbW3WmPl/1PIPMv9Vs7J/ay644ILygAEDyrW1teVy2fHfnBozf8f/mnf77beXe/XqVZ42bVq5XHYOrGkfnr9zAPg469Ut4o888kh22223dO3atWHZvvvumzZt2mTChAkVTNZyLV68OE888UQOOOCA5ZYfeOCBeffdd/Piiy8mSSZOnJi5c%2Bcud7ttdXV1vvCFL2TChAkpl8tJ3r%2BtqaamJkOHDm3YrkePHtlxxx2X20fr8r6sqvr403Jtnnljs63NPmn%2BjWX%2Bq%2BaDf79l%2BvTpk9ra2syaNcvx38w%2Baf6NZf7F6ty5c5Jk6dKlzoEK%2BOD8G8v8Yf21XhXsyZMnp2fPnssta9OmTbbaaqtMnjy5QqlahhEjRqRPnz7Za6%2B9ct1116Wuri5JMnXq1CxZsiTbbrvtcttvt912SdIw12U/f3i7nj17Zv78%2BXn77bcbtvvUpz6VUqm0wuN9cB%2Btz/tybZ55Y7OtC6ZOnZqddtop/fv3zyGHHJLf/va3y603/%2BL88Y9/TOfOndOtWzfHfwV8cP7LOP6bX11dXWpra/PCCy/kqquuyp577pnNN9/cObCGfNT8l3EOAB%2BlVaUDrElz5sxJTU3NCstramoye/bsCiRa%2B2200UY55ZRTssMOO6RUKuWhhx7K6NGj8/bbb%2Bfcc89tmNuH57rs98vWz5kzJ23atEm7du2W265Tp05JklmzZmXTTTfNnDlzsuGGG66Q48P7aH3el2vzzBubraXr06dPBgwYkO222y5z587Nz3/%2B85x00km57LLLst9%2B%2ByUx/6I8//zzGTduXE466aRUV1c7/tewD88/cfyvKXvuuWdDCRsyZEh%2B9KMfJfHfgDXlo%2BafOAeAj7deFeyPUi6XV3jlkPcNGTIkQ4YMafj94MGD07Zt24wZMyYnnHBCw/KPmt8Hl69sm2W3SH3Sdh%2B3/MOPt77sy7V55qvzeC3BV77yleV%2BP3z48Bx55JG5/PLLG/7nKjH/1fXuu%2B/m1FNPzYABA3Lcccctt87x3/w%2Bav6O/zXjJz/5SRYsWJBJkybl6quvzgknnJAbb7yxYb1zoHl91Pyrq6udA8DHWq9uEa%2BpqcmcOXNWWD537tyVvirIyu2///6pq6vLSy%2B91PBK7IdfFV0252VzrampSW1tbWpra1e63bLH%2Bah99OFXbtfnfbk2z7yx2dY1VVVV2WeffTJ58uSGr0wx/9Uzd%2B7cHHfccWnXrl2uueaatG7dOonjf035qPmvjOO/eXzmM5/JjjvumMMPPzxXXnllnnzyyTz44IPOgTXko%2Ba/Ms4B4IPWq4Lds2fPFd5/snjx4kydOnWF97XQOFtttVVat26dV155ZbnlkyZNSpKGuS77%2BcPznzx5cjp06JBNNtmkYbtXX3214RXeDz7eB/fR%2Brwv1%2BaZNzbbuujD8zP/VVdbW5tRo0Zl%2BvTpuf7669OlS5eGdY7/5vdx8/8ojv/m1adPn1RXV2fq1KnOgQr44Pw/inMAWGa9KthDhw7NE088kZkzZzYse/DBB7N48eIMGzasgslalnvvvTfV1dXp27dv2rRpk1133TXjx49fbpt77rknG220Ufr27Zsk2XHHHbPhhhvm3nvvbdimrq4u48ePz7BhwxpuWxo2bFjmzJmTRx99tGG7t956KxMnTlxuH63P%2B3Jtnnljs61r6uvrc//99%2BfTn/50w/vtzH/VLF26NKeddlpefvnlXH/99ct9qFDi%2BG9unzT/lXH8N79nnnkmdXV12WKLLZwDFfDB%2Ba%2BMcwD4oOrzzjvvvEqHWFM%2B/elP51e/%2BlUeffTRbLLJJnnmmWdywQUXZO%2B9986RRx5Z6XhrpWOPPTbvvPNO5s2blylTpuRnP/tZbr311hx99NEN7zPacsstc%2B211%2Batt95Khw4dcvfdd%2BfGG2/Mt771rfTv3z/J%2B19NUV1dnWuvvTbt2rVLbW1tLrvssjzzzDP5z//8z3Tv3j1Jsummm%2BbPf/5zbr/99myyySZ56623cu6556Zdu3b57ne/m1at3v/YgHV5Xy5cuDC/%2B93vMmnSpPzP//xPpk%2Bfnk033TSTJk1K165d0759%2B7V65o3Jtjb7pPm/9957Oemkk7JkyZLMnTs3L7zwQr7//e/nmWeeyfnnn99whcD8V815552Xe%2B65J6eddlo23njjTJs2reFHx44d06ZNG8d/M/qk%2Bb/77ruO/2Z28sknZ%2BrUqZk7d26mTZuW3/72t7nggguy5ZZb5pvf/Gaqq6udA83ok%2BY/bdo05wDw8Zr/q7bXLq%2B88kr5X//1X8s77LBDeZdddil/73vfKy9cuLDSsdZa3/ve98r77LNPefvtty/379%2B/PGLEiPKYMWPK9fX1y2338MMPlw866KByv379ynvttVf5lltuWeGx6uvryz/96U/Le%2ByxR7l///7lQw45pPz444%2BvsN3cuXPL3/nOd8o777xzeeDAgeXjjz%2B%2B/Prrr6%2Bw3bq6L1977bVyr169VvrjiSeeaNhubZ55Y7KtrT5p/jNnziyfcMIJ5SFDhpT79etXHjhwYPmoo44qP/LIIys8lvk33Z577un4r6BPmr/jv/ldd9115YMPPrg8aNCg8sCBA8sHHHBAefTo0eW5c%2Bcut51zoHl80vydA8AnKZXLH3rTBwAAANBk69V7sAEAAKC5KNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBqDBuHHj0rt374Yfffv2zeDBg3P66afn73//e8Vzvf766x%2B73RVXXJHevXuvoVSfbMKECbniiitWuq5379757ne/u4YTAQDNqVWlAwCw9rnwwguz7bbbpra2NhMnTsy1116bJ598MuPHj0%2BnTp0qHa/FmDBhQm699daccsoplY4CAKwBCjYAK/j0pz%2BdAQMGJEl22WWX1NXV5Yorrshvf/vbHHrooRVOBwCwdnKLOACfaFnZnjFjxgrr7r333hxxxBEZOHBgBg0alGOPPTYvvvjicts8//zzOf300zN8%2BPBsv/32GT58eL72ta/ljTfeWOHxnn322Rx55JEZMGBABg8enEsvvTRLly5drfyNyfjNb34zgwYNypQpU3Lcccdl0KBBGTZsWC666KIsXrx4uW2nTZuWU089NYMGDcpOO%2B2UM844I88991x69%2B6dcePGNTzerbfemiTL3Xb/4dvc77rrruy///7ZYYcdctBBB%2BX3v//9cuvfe%2B%2B9nHPOORk2bFj69%2B%2BfXXfdNUceeWT%2B8Ic/rNZMAIDiuYINwCdaVgq32Wab5ZZfe%2B21GT16dA455JCMGjUqS5YsyQ033JB//ud/ztixY7PddtslSd5444186lOfygEHHJBOnTrl3Xffzc9//vMcdthh%2Bc1vfpOuXbsmSSZNmpR/%2BZd/yeabb56LLroo7dq1y2233ZZ77rlnlbM3NmOSLFmyJKNGjcphhx2Wf/3Xf83TTz%2Bdq6%2B%2BOh07dszJJ5%2BcJFmwYEGOOeaYzJ49O2eeeWa23nrrPProozn99NOXe94TTzwxCxYsyP3335/bb7%2B9YfnGG2/c8OuHH344zz//fE499dRssMEGuf7663PyySfnvvvuy5Zbbpkk%2BfrXv54XX3wxp59%2BerbZZpvMmTMnL774YmbNmrXKMwEAmoeCDcAK6uvrs3Tp0ob3YF9zzTXZeeedM3z48IZt3nrrrVxxxRU56qij8p3vfKdh%2Bec%2B97nsu%2B%2B%2BufLKKzN69OgkyX777Zf99tuvYZu6urrsscce2X333XPPPffkmGOOSZJcddVVKZfLGTNmTLp3754k2WOPPTJixIhV%2Bns0JWPyfsE%2B5ZRTsv/%2B%2BydJdtttt/z5z3/OPffc01Cw77zzzkyZMiU//elPM3To0CTJ4MGDs3DhwuWK9FZbbdXwdxg4cOBK89XW1ubGG29Mx44dkyT9%2BvXLkCFDMn78%2BIwcOTJJMnHixHzpS1/K4Ycf3vDnPv/5z6/SPACA5qVgA7CCD5a5JOnZs2euvvrqtGr1//%2Bz8dhjj2Xp0qU5%2BOCDl7uFu23bttl5553z5JNPNiybP39%2Brr766jzwwAN54403UldX17Bu8uTJDb9%2B8skns9tuuzUU0ySprq7OF77whVx55ZVN/ns0JWOSlEql5V5ESN6/vfuJJ55o%2BP3TTz%2BdDh06NJTrZUaMGLFcwW6MXXbZpaFcJ0n37t3TrVu35W6d33777XPnnXemc%2BfO%2BdznPpd%2B/fqldevWTXoeAGDNULABWMEPf/jD9OzZM/Pnz8%2B9996b22%2B/PV/72tdy/fXXN2wzffr0JMlhhx220seoqvr/H/Nxxhln5IknnsiJJ56YAQMGpEOHDimVShk5cmRqa2sbtps1a9Zy5XqZlS1rjKZkTJL27dunbdu2yy1r06ZNozJ269atyfk6d%2B68wrIPP9%2BPf/zjXHPNNbnjjjty2WWXZYMNNsjee%2B%2Bdr3/969loo42a/JwAQPNRsAFYQc%2BePRs%2B2GzXXXdNfX19xo4dm/vuu6/hVu8uXbokSS6//PL06NHjIx9r7ty5efjhh3PyySc33PacJIsXL87s2bOX27Zz584NpfiDVrasMRqbsSk6d%2B6c5557boXlq5rxk3Tt2jXf/va38%2B1vfztvvvlmHnrooVx66aWZMWNGbrjhhmZ5TgBg1SjYAHyir3/963nggQdy%2BeWXZ5999klVVVUGDx6cVq1aZerUqdl3330/8s%2BWSqWUy%2BW0adNmueVjx45d7lbx5P1bph966KFMnz694SpxXV1d7r333lXK3diMTbHzzjtn/PjxmTBhQoYNG9aw/De/%2Bc0K2y77Oy9atCjt2rVb7efu0aNHjjrqqDz%2B%2BOOZOHHiaj8eAFAsBRuAT9SpU6eMHDkyF198ce6%2B%2B%2B4cfPDB2WKLLXLqqadm9OjRee211zJ06NDU1NRk%2BvTpef7559O%2Bffuceuqp6dixY3beeefccMMN6dKlSzbffPM89dRTueOOO1JTU7Pc84waNSoPPfRQvvKVr%2BSkk05Ku3btcuutt2bhwoWrlLuxGZvii1/8YsaMGZNvfOMbOe2007L11lvnkUceyWOPPZZk%2BdvOe/XqlSQNH4hWVVWV3r17r/Biw0eZO3dujjnmmIwYMSLbbrttOnTokOeffz6PPvpo9t577yblBgCan4INQKMcffTRufXWW3P11VdnxIgRqa6uzvHHH5%2BePXvmpptuym9%2B85ssXrw4G220Ufr3758vf/nLDX/20ksvzQ9%2B8INcfPHFWbp0aXbcccfceOONOf7445d7jl69euXGG2/MD3/4w5x11lnp1KlTDjrooOy7774555xzVil3YzM21gYbbJAxY8bkggsuyMUXX5xSqZTBgwfnP/7jPzJy5MhsuOGGDduOGDEiEydOzG233dbwCem/%2B93vssUWWzTqudq2bZvtt98%2Bv/71r/PGG29k6dKl2WyzzXLcccfl3/7t35qcHQBoXqVyuVyudAgAaOmWfd/2ww8/nE033bTScQCACnAFGwCa6JZbbkmSbLvttlmyZEmeeOKJ3HzzzTnooIOUawBYjynYANBE7dq1y5gxY/L6669nyZIlDbdtjxo1qtLRAIAKcos4AAAAFKDqkzcBAAAAPomCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAowP8DgoRSieG/RKIAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -348,7 +382,7 @@
 <br>
 
 <h3 id="Number_of_reads_generated_per_channel">Number of reads generated per channel</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiAAAAGMCAYAAADjvxkUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nO3deVwV9f7H8TeCCpj7VmJoJQc3IExcSRRsMXe93Sy13M3ENU3t3l%2BWNzUr09Qsl%2By6lFlpi0taerMyK826Yl41lRLBjTBRVJBlfn94ObcjIGfhzBF4PR%2BPHnnmfL/z%2BczM98z5MDNnxsswDEMAAAAmKuPpBAAAQOlDAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAVKCrVu3TsHBwQoJCVFSUlKe9/v3768uXbp4IDPp%2B%2B%2B/V3BwsDZv3uyR%2BI5KTEzUsGHD1KJFCwUHB2v69OmeTum6Jk%2BerOjoaE%2BnUaz8%2BOOPmj9/vs6fP1/k8y5p28OT%2Bw53KGnbp7igACkFrly5orlz53o6jWJt5syZ2rt3r2bMmKE1a9ZowIABnk4JReynn37SggUL3FKAAMiLAqQUuPvuu7VhwwYdPHjQ06mYLj09XUXxuKPDhw8rNDRUHTt21J133qmAgAC7%2BxqGofT0dJdzgGMuX77s6RRuSIxH3CgoQEqBIUOGqEqVKnrppZeu2y4xMVHBwcFat25dnveCg4M1f/586%2Bv58%2BcrODhYBw8e1OjRo3XXXXepRYsWmjlzprKyshQfH6/BgwcrPDxc0dHRWrJkSb4xMzIyNHPmTLVt21ahoaHq16%2Bf/vOf/%2BRpt2/fPj3%2B%2BONq0aKFQkJC1KNHD23atMmmTe4ppx07dmjKlClq1aqVwsLCdOXKlQKX%2BcSJE5owYYJat26tpk2bqlOnTlq2bJlycnIk/e9U0bFjx/TVV18pODhYwcHBSkxMLHCewcHBmjZtmlavXq1OnTopJCREH374oaSrR6MWLlyo%2B%2B%2B/X02bNlWrVq00ZcoUnT171mYemzZt0qBBgxQZGanQ0FB16tRJL7/8si5dupQn3rp163TfffdZ8//oo4/yzeudd95Rt27dFB4ervDwcN1///165ZVXClyOXKdOndLo0aMVHh6u5s2b68knn1RcXFy%2BY8WR7fTdd99p6tSpatmypVq2bKnY2FidPn06T/xNmzbpoYce0p133qnw8HANHjw4zxiZPHmywsPDdejQIQ0aNEjh4eHWo1TffPONRowYoXbt2ikkJET33HOPnnnmGZt1Pn/%2BfL344ouSpJiYGOt2/v777x3KI3f57Nke%2BYmOjtbw4cP1%2Beefq2vXrgoJCVFMTIxWrFiRp21aWppmzZql6OhoNW3aVHfffbemT5%2BeZ4xcbzwWZP369XrooYesY6V79%2B56//3387SLi4vTI488orCwMMXExGjx4sXWz4509fP9wgsvqHv37tZ9xEMPPaStW7fmmVdunh999JE6deqksLAwdevWTV988YVNu9x9z%2BHDhzV%2B/HjdddddatOmjaZMmaILFy7YtDUMQ2%2B//ba6d%2B%2Bu0NBQRUREaPTo0Tp%2B/Ph1lx/m8PF0AnC/ChUqaMSIEZo%2Bfbq%2B/fZbtW7dusjmPXbsWHXr1k19%2BvTRN998o6VLlyorK0s7d%2B7UI488osGDB2v9%2BvV6%2BeWXVa9ePd177702/efMmaPGjRvr%2Beef14ULF7RgwQL1799fH330kW699VZJ0nfffachQ4YoLCxMzz77rCpWrKhNmzZp3LhxSk9PV69evWzm%2BfTTT6t9%2B/Z68cUXdfnyZfn45D/Mz549qz59%2BigzM1NjxoxRQECAtm/frlmzZikhIUHPPvusmjRpojVr1ig2Nla33nqrJk2aJEmqVavWddfL1q1b9cMPP2jkyJGqUaOGqlevrpycHD3xxBPas2ePBg8erGbNmikpKUnz589XXFyc1q5dK19fX0nSb7/9pnbt2umxxx6Tn5%2Bf4uPjtWTJEsXFxdl8Ga1bt05TpkxRTEyMJk%2BebF2HV65cUZky//v7YuPGjXruuefUv39/TZo0SWXKlNGxY8d05MiR6y7HpUuX9Oijjyo1NVUTJkxQvXr19PXXX2vcuHF52jq6nf7%2B97%2Brffv2mj17tk6ePKmXXnpJEydOtFm%2BN954Q3PnzlWvXr00YsQIZWZm6s0331Tfvn31/vvvq0GDBta2mZmZGjFihPr06aOhQ4cqOztbkpSQkKDw8HA9%2BOCDqlixopKSkvTWW2/pkUce0fr161W2bFk9%2BOCDSk1N1cqVK7VgwQLVrFlTkqzztzcPe7fH9Rw4cEAzZsxQbGysatSoofXr12v69OnKzMzU4MGDJV09utOvXz%2BdOnVKjz/%2BuPULed68efrll1/0z3/%2BU15eXtZ55jceC/Lqq69q4cKFuvfeezVw4EBVrFhRhw8f1okTJ2zaJScna%2BLEiRo4cKBiY2P1%2Beefa/bs2apVq5Z69Ogh6WrBnZqaqkGDBql27drKzMzUzp07NWrUKM2cOdPaLtf27du1b98%2BjR49Wv7%2B/lq6dKliY2O1efNm6/4g16hRo/TAAw/oL3/5i3755RfNnj1b0tXTpbmeeeYZffjhh%2Brfv78mTJig1NRUvfbaa%2BrTp48%2B/vhj1ahRw65tAjcxUGKtXbvWsFgsRlxcnJGRkWHExMQYvXr1MnJycgzDMIx%2B/foZnTt3trY/fvy4YbFYjLVr1%2BaZl8ViMebNm2d9PW/ePMNisRjLli2zade9e3fDYrEYn332mXVaZmam0apVKyM2NtY67bvvvjMsFovRs2dPaz6GYRiJiYlGkyZNjL/97W/Waffff7/Ro0cPIzMz0ybW8OHDjbZt2xrZ2dk2y/vUU0/ZtX5efvllw2KxGHv37rWZPnXqVCM4ONiIj4%2B3TuvQoYMxbNgwu%2BZrsViMu%2B66yzh37pzN9A0bNhgWi8XYsmWLzfS4uDjDYrEYb7/9dr7zy8nJMTIzM41du3YZFovFOHDggGEYhpGdnW1ERkYWuA47dOhgnTZt2jSjefPmduX/Z6tWrTIsFovx5Zdf2kz/v//7vzxjxdHt9Oyzz9q0W7JkiWGxWIwzZ84YhmEYJ06cMBo3bmz84x//sGmXlpZmtG3b1hgzZox12qRJkwyLxWJ88MEH112e3HWZlJRkWCwWY%2BvWrdb3li5dalgsFuP48eM2fezNw5HtUZAOHToYwcHB1m2ca%2BDAgUazZs2MS5cuGYZhGIsWLTIaNmxoxMXF2bTbvHmzYbFYjO3bt1unFTQe85OQkGA0atTIePLJJ6/brl%2B/fvl%2Bdh544AFj0KBBBfbLysoyMjMzjaefftro0aOHzXsWi8Vo06aNceHCBeu05ORko2HDhsaiRYus03L3PUuWLLHp/%2ByzzxohISHWdf/TTz/lu486efKkERoaarz44ovWaZMmTbJr%2B6BocQqmlChXrpzGjh2rn3/%2BWZ9%2B%2BmmRzbd9%2B/Y2r%2B%2B44w55eXmpXbt21mk%2BPj6qV69evr/E6dKli81fagEBAQoPD7ce%2Bj527Jji4%2BPVtWtXSVJWVpb1v3bt2ik5OVm//vqrzTyvPcpSkO%2B%2B%2B04NGjRQaGiozfRevXrJMAx99913ds0nP61atVLlypVtpn3xxReqVKmSOnToYLMcjRo1Us2aNbVr1y5r2%2BPHj%2BvJJ59U27Zt1ahRIzVp0kT9%2BvWTJMXHx0uSfv31V505c6bAdfhnISEhOn/%2BvMaPH6%2BtW7fmOeVTkN27d6tChQo221NSnl9AOLOdrv3VQXBwsCRZ/9LesWOHsrKy1L17d5v5lS9fXhERETbrK9d9992XZ1pKSoqeeeYZRUVFqXHjxmrSpIk6dOggSTp69Gih68DePBzZHtcTFBSkhg0b2kzr0qWL0tLStH//fklXx1JQUJAaNWpkk1NkZKS8vLzyrJv8xmN%2Bdu7cqezsbPXt27fQtjVr1szz2QkODs5zpOTTTz9Vnz59FB4ebl3/H3zwQb7rvmXLlrrpppusr3OP1uS378hv/GRkZCglJUXS1XXk5eWlbt262ayjGjVqqGHDhvmOH5iLUzClSOfOnbVs2TLNmTNH99xzT5HM89qdWtmyZeXn56fy5cvnmZ6Wlpanf36HQGvUqGG9YPb333%2BXJM2aNUuzZs3KN4c//vjD5nXu4fPCnDt3Lt%2BLSXNPr5w7d86u%2BeQnvxxSUlJ0/vx5NW3aNN8%2Buctx8eJFPfLIIypfvrzGjh2r%2BvXry9fXV6dOnVJsbKz1AsLc9gWtwz/vtHv06KHs7Gy9//77Gj16tHJychQSEqKxY8eqbdu2BS7HuXPn8p3/tYfwndlOVapUsXldrlw5SbIuX%2B48//KXv%2BQ7v2tPafj5%2Bdl8eUlSTk6OBg0apDNnzuiJJ56QxWKRn5%2BfDMPQX//6V2VkZOQ77/yWrbA8HNke11NQf%2Bl/YzIlJUXHjh1TkyZN8p2Hs5%2BJ3ML05ptvLrTttdtPuroN/7xOP/vsM40dO1b333%2B/hgwZoho1asjb21urV6/W2rVrnZpnQW2vHT8pKSkyDENt2rTJN/9rT%2BnAfBQgpYiXl5cmTJiggQMH6r333svzfm7RcO1Fm9fuzIpS7s792mm5O5eqVatKkoYPH15g0XTbbbfZvP7zX5/XU6VKFSUnJ%2BeZfubMGZvYzsgvh6pVq6pKlSpaunRpvn0qVKgg6eqRmTNnzmjlypVq0aKF9f1rL7DLza%2BgdXit3r17q3fv3rp06ZJ2796t%2BfPna/jw4dqyZUuBv%2BqpUqWK4uLiCp2/M9upMLnznDdvnurUqVNo%2B/zW%2BS%2B//KKDBw/qhRdeUM%2BePa3Tjx07VuR5OLo9CnK9/n/%2BXJQvX14zZsy4bi657P1MVKtWTdLVC49vueUWu3MuyCeffKK6detq7ty5NjksX77c5XkXpmrVqvLy8tLbb79tLU7%2BLL9pMBcFSCnTpk0btW3bVq%2B99lqev3Jq1Kih8uXL69ChQzbTt23b5rZ8NmzYoIEDB1p3TklJSfrpp5/UvXt3SdLtt9%2Bu%2BvXr6%2BDBgxo/fnyRxm7durUWLVqk/fv32/wl%2BdFHH8nLy0stW7Ys0njt27fXxo0blZOTo7CwsALb5a6La3eQ7777rs3r2267TTVr1ixwHRZ0oay/v7%2BioqKUmZmpkSNH6siRIwUWIBEREfr000/15ZdfKioqyjp948aNNu3csZ0iIyPl4%2BOjhISEfE%2Bt2MPedfnnNtf%2BtW1vHs5uj2sdPnxYBw8etDkNs2HDBlWoUME6Ttu3b69FixapSpUqRfqXfNu2ba1HKBw5bVQQLy8vlS1b1qb4SE5Odus%2BJVf79u21ePFinT59Wg888IDb48FxFCCl0IQJE9SrVy%2BlpKQoKCjIOj33fOnatWsVGBiohg0bKi4uThs2bHBbLmfPntXIkSP117/%2BVRcuXND8%2BfNVrlw5DR8%2B3Nrmueee09ChQzV48GD17NlTtWvXVmpqqo4ePar9%2B/dr3rx5TsUeMGCAPvroIw0fPlyjR49WnTp1tH37dr3zzjt6%2BOGHHf6LvTCdO3fW%2BvXrNWzYMPXv31%2BhoaEqW7asTp06pe%2B//14xMTG65557FB4ersqVK2vq1KmKjY2Vj4%2BP1q9fn6cwLFOmjMaMGaO///3v1nV4/vx5LViwIM9h/L///e/y9fVVs2bNVLNmTSUnJ2vx4sWqWLGiQkJCCsy5Z8%2BeWr58uZ566imNGTNG9erV01dffaUdO3ZYc8hV1Nupbt26Gj16tObOnavjx4%2BrXbt2qlSpkn7//Xft27dPfn5%2BGj169HXncfvttyswMFCzZ8%2BWYRiqXLmyvvjiC33zzTd52losFklX/zrv2bOnfHx8dNttt9mdhyPb43pq1aqlESNGKDY2VjVr1tQnn3yib775RhMmTJCfn58k6bHHHtNnn32mfv36acCAAQoODlZOTo5OnjypHTt2aNCgQdctcgtSt25dDR8%2BXAsXLlR6erq6dOmiihUr6siRI/rjjz8KXd/Xat%2B%2BvT777DM9%2B%2Byzuu%2B%2B%2B3Tq1CktXLhQtWrV0m%2B//eZwfo6466679NBDD%2Bnpp5/Wzz//rIiICPn5%2BSk5OVl79uyRxWLRI4884tYccH0UIKVQ48aN1blz53wLi8mTJ0uSli5dqkuXLqlly5Z644033Hab4nHjxmnfvn2aMmWK0tLSFBoaqldeeUWBgYHWNq1atdL777%2BvN954QzNmzND58%2BdVpUoV3XHHHerUqZPTsatVq6Z3331Xs2fP1uzZs3Xx4kXVrVvX%2BtPCoubt7a3XX39dK1as0Mcff6zFixfL29tbN998syIiIqxfgFWrVtWiRYs0a9YsTZw4UX5%2BfoqJidGcOXNsTiNI0oMPPihJ1p8rBgQEaPjw4dq9e7fNRXbNmzfXunXr9Omnnyo1NVVVq1bVXXfdpVmzZlkPu%2BfH399fy5cv14wZM/TSSy/Jy8tLkZGRmjp1qoYNG6aKFSta27pjOw0fPlx33HGHVqxYoY0bN%2BrKlSuqWbOmmjZtqocffrjQ/mXLltUbb7yh6dOn65lnnpGPj49at26tf/7zn3kuoG7ZsqWGDx%2BuDz/8UO%2B//75ycnK0YsUK63R78rB3e1xPo0aN1KtXL82fP1%2B//fabatWqpSlTptjcfdff319vv/22Fi9erDVr1igxMVG%2Bvr665ZZb1KZNG4dulHet3EJz1apVmjBhgry9vVW/fn3179/f4Xn17t1bKSkpevfdd7V27VrdeuutGjZsmE6dOqUFCxY4naO9pk2bprCwMK1Zs0arV69WTk6OatWqpWbNmuW5gBbm8zKMIrhNJIBSJfe%2BGNu3b7frgkXYJzo6WkFBQVq0aJGnUwHcjiMgAK5r1apVkq6ezsjMzNR3332nlStXqlu3bhQfAJxGAQLgunx9fbV8%2BXIlJiYqMzNTt9xyi4YOHaoRI0Z4OjUAxRinYAAAgOm4EyoAADAdBQgAADAdBQgAADAdBQgAADDdDf0rmPTsS0718/X2111Lezkdd8%2BQdS7Fdravq/2JXfpip15JcTp25XLVne5fuVz1UrvOiU1sYhfe3x4cAQEAAKajAAEAAKajAAEAAKajAAEAAKZzSwHyxx9/aPfu3e6YNQAAKAHcUoDs2rVLjz76qDtmDQAASgBOwQAAANM5dB%2BQrl272tXu4sWLTiUDAABKB4cKkPj4eDVo0ECNGze%2BbrukpCSdPHnSpcQAAEDJ5VABEhQUpHr16mnmzJnXbbdlyxYuQgUAAAVy6BqQ0NBQxcXF2dXWMAynEgIAACWfQ0dAhgwZoqioqELbRUVFadu2bU4nBQAASjaHCpDAwEAFBgYW2s7X11cBAQFOJwUAAEo2L4NzJQAAwGTcBwQAAJjOoVMwZkvPvuRUP19vf6f7utqf2J6JnXolxenYlctVL7bLffpyktOxa/sFFNvlLs6xnd1mtf0CFH/hkNOxb68Y7NHPmLO5314xmHFeDGPbgyMgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdF6GYRieTgIAAJQuPp5O4HpK62OMXXlcd2l9NPyOU9ucjh15c4xHt3fc2R%2Bc6htarbnLj0j3ZOzS%2Bvl2dr1VLlfdo%2Bvc1djFdb/m6nI7u29yZb8keX6c24NTMAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQOX4SanJysrKws3XLLLZIkwzD0%2Beef69ixYwoMDFRMTIx8fG7oa1sBAICH2V0ppKWlacyYMdq5c6ckKTo6WrNnz9bw4cP1/fffy9vbW9nZ2WrUqJFWrVqlChUquC1pAABQvNl9CmbBggXav3%2B/pk2bpldffVVJSUkaPXq0EhIStHbtWu3bt0%2BrVq1ScnKy3nrrLXfmDAAAijm7j4Bs3bpVo0aN0oMPPihJCggIUO/evfWPf/xDTZo0kSQ1b95cgwcP1rp16xQbG%2BuejAEAQLFn9xGQ06dPy2KxWF8HBQXZ/D9Xw4YNlZTk/A2pAABAyWd3AXLTTTcpNTXV%2BtrHx0e1a9eWv7/tHc8yMjJUpgw/rgEAAAWzu1Jo0KCB9u3b97%2BOZcroyy%2B/tDkqIkmHDh1SYGBg0WUIAABKHLuvARk%2BfLjNEZCC/Pzzz%2BrUqZNLSQEAgJLN7gIkMjLSrnbz5893OhkAAFA6eBmGYXg6CQAAULpwtSgAADDdDX3P9NQrKU71q1yuutKzLzkd19fb36Oxne3vSt%2BiiO3sOpNcW2%2B%2B3v46fdn5n37X9gsotuuc2MR2pP%2BOU9uc6ht5c4xHl/uZ76c6HXtay%2BeK7f7c1X2qK8vtdU9dp2Mbnyfa1Y4jIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHRehmEYnk4CAACULj6eTuB6eGS2Yzz9yOz4C4ecjn17xeBSu71diX36cpLTsWv7BSju7A9O9Q2t1tzl2MV1nRfn7V1cl9uTj6V3Nbaz%2B8XbKwa7HNvZ8eLKWJGubjN7cAoGAACYjgIEAACYjgIEAACYjgIEAACYzuWLUH///XcdOHBAktS4cWNVr17d5aQAAEDJZncB8sorr6hv376qXbu2JCknJ0czZszQu%2B%2B%2Bq%2BzsbBmGIR8fH/Xv31%2BTJk1yW8IAAKD4s7sAWbJkiTp27GgtQJYuXap33nlHAwYMUKdOnWQYhjZt2qTly5erbt266tu3r9uSBgAAxZvdBci19yt777339Mgjj%2Bipp56yTgsNDdWlS5f03nvvUYAAAIACOX0R6okTJxQdHZ1nekxMjH777TdXcgIAACWcQxehpqWl6dy5c5KkqlWr5jkqkqtMGX5cAwAACuZQATJ48GDrvw3D0N69e9W2bVubNocPH7ZeJwIAAJAfuwuQmTNn5plWs2bNPNO%2B/fZbtWvXzrWsAABAiWZ3AdKzZ0%2B72r355ptOJwMAAEoHL6OgCzkAAADchKtFAQCA6Vy%2BFbs7pWdfcqqfr7e/031d7V8UsVOvpDjVt3K56k73dbV/5XLVdfpyktOxa/sFeHSdx1845FTf2ysGF%2Bux5uw2c2V75cYurZ/v0jrWXInt6n6tuC53cY5tD46AAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA03kZhmF4OgkAAFC6%2BHg6getx5dHwxfkxxp6MzTontr19eUQ6sUtD7NOXk5yOXdsvwKOfMU/uz%2B3BKRgAAGA6ChAAAGA6ChAAAGA6ChAAAGA6uwuQTZs26dy5c%2B7MBQAAlBJ2/wpm/Pjx8vHxUWRkpLp166bo6Gj5%2Bvq6MzcAAFBCOfQz3HvvvVdxcXEaP368/Pz81LFjR3Xp0kWRkZHy9vZ2V44AAKCEcagAGTBggEJDQ/Xjjz9qw4YN2rJli9avX6%2BqVauqU6dO6tKli5o1a%2BauXAEAQAnh1I3ImjVrpmbNmulvf/ubduzYoQ0bNujjjz/W6tWrdcstt6hLly4aP358UecKAABKCJfuhOrt7a2oqChFRUUpIyND27Zt0/r16/XPf/6TAgQAABSoyG7FXr58eT3wwAN64IEHdP78%2BaKaLQAAKIHs/hluRESEKlSoYFfbSpUqOZ0QAAAo%2Bew%2BArJy5Up35gEAAEoRL8MwDE8nAQAAShduxQ4AAExXZBehukN69iWn%2Bvl6%2Bzvd19X%2Bvt7%2BSr2S4nTsyuWquxT79OUkp2PX9gtQ3NkfnOobWq25R9c5sc2P7epYK67L7cnPd/yFQ07Hvr1icLFd58V5ezv7OXHlMyJ5frntwREQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOi/DMAxPJwEAAEoXH08ncD3F9fHNrj4y29nHIFcuV93lRyi7Ers4PyrclUdmF%2BfH0ruyvUvr49mLc%2Bziur09uU8tzp9vT8a2B6dgAACA6ShAAACA6ShAAACA6ShAAACA6Ry%2BCPXs2bP6%2BuuvFR8fr3PnzqlMmTKqUaOGwsPD1bp1a3l5ebkjTwAAUILYXYDk5OTo5Zdf1sqVK5WZmfm/Gfj4qFKlSpo/f77q1q2rGTNmqEWLFm5JFgAAlAx2n4J57bXX9M4772jcuHFav369tmzZohdeeEE1a9bUgAEDtHPnTnXt2lVDhgxRXFycO3MGAADFnN1HQNauXatx48bpscces06rV6%2Be6tatq0GDBumRRx7RmDFjdObMGc2dO1fLli1zS8IAAKD4s/sISEpKiho0aJBnelBQkK5cuaITJ05IkmJiYrR3796iyxAAAJQ4dhcgQUFB%2Bvjjj/NM//jjj%2BXj46M6depIknx9fYsuOwAAUCLZfQpm1KhRGjlypI4eParIyEiVLVtW%2B/bt01dffaUBAwbopptukiQdOHAg3yMlAAAAuewuQDp06KB33nlH8%2BfP1wcffKCMjAzVr19fM2bMUM%2BePa3tIiIi1LZtW7ckCwAASgaH7gNy55136s0337xum9DQUJcSAgAAJZ%2BXYRiGp5MAAAClC7diBwAApnP4VuxmOn05yal%2Btf0ClJ59yem4vt7%2BTvf39fZX6pUUp2NXLle91C63K7E9udzEJjax3Rvb2X2idHW/WFz3qa4utye3tz04AgIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAEznZRiG4ekkAABA6eLj6QSux5OPhne2vyuPlZeK9yOzXV3nnlxuT25vT8bemLDOqb6dA3u5vL1L6yPSXVluT65zTy63q7Fd%2BYx5cr/m6nJ7cp9qD07BAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA07mlANmyZYsaNWrkjlkDAIASgCMgAADAdA7diOz555%2B3q11CQoJTyVOkzj8AAByHSURBVAAAgNLBoQJk1apVqly5sipUqHDddunp6S4lBQAASjaHCpBbb71VLVq00PTp06/bbvPmzRo3bpxLiQEAgJLLoWtAQkNDtXfv3kLbeXl5iWfcAQCAgjhUgPTu3VuRkZGFtgsJCdHMmTOdTgoAAJRsXgaHKgAAgMnc8jPcP/74Q7t373bHrAEAQAng0EWo9tq1a5fGjh2rAwcOuDSf1CspTvWrXK660rMvOR3X19vf6f6u9M3t78pyO9s3t78nl/v05SSn%2Btb2C/Do9vbkOo87%2B4PTsUOrNdeqw8uc6tsvaJBHl7s4j/PiGrs4r/Pi%2Bl3i6ufbk%2BvcHtyIDAAAmM6hIyBdu3a1q93FixedSgYAAJQODhUg8fHxatCggRo3bnzddklJSTp58qRLiQEAgJLLoQIkKChI9erVK/Qntlu2bOEiVAAAUCCHb0QWFxdnV1t%2B3QsAAAri0BGQIUOGKCoqqtB2UVFR2rZtm9NJAQCAks2hAiQwMFCBgYGFtvP19VVAQIDTSQEAgJKNn%2BECAADTUYAAAADTUYAAAADTUYAAAADTUYAAAADTUYAAAADTeRncMQwAAJjMofuAmK24Prbak7GdfaS95Npj7T39yOzi/Kjw4rrOS%2Bv2djW2J9f5qsPLnOrbL2hQsV7nxfXzXZyX2x6cggEAAKajAAEAAKajAAEAAKajAAEAAKajAAEAAKYrsgIkJSVFcXFxOnv2bFHNEgAAlFAOFyCLFy/W/fffr44dO2rFihWSpPnz5ysqKkoPPfSQIiMjNW3aNHF7EQAAUBCH7gPy9ttva86cOercubOqVKmiBQsW6Ny5c1q2bJmefPJJNWnSRD/88IMWLlyo0NBQ9ejRw115AwCAYsyhAuTdd9/VsGHDNG7cOElSZGSkRowYoVGjRmngwIGSpBYtWujChQtavXo1BQgAAMiXQ6dgEhMT1apVK%2BvrFi1ayDAMRURE2LRr1aqVjh07VjQZAgCAEsehAsTHx0eZmZnW1%2BXLl5ck%2Bfvb3na1bNmyysjIKIL0AABASeRQAVK3bl0dOXLE%2Btrb21ufffaZgoKCbNodO3ZMtWrVKpoMAQBAiePQNSDdunVTWlqazbTAwMA87T755BPdddddrmUGAABKLC/DDb%2BXTUtLU7ly5VSuXLminjUAACgB3HIn1MzMTO3du9cdswYAACWAQ6dg7LVr1y6NHTtWBw4ccGk%2B6dmXnOrn6%2B3vdF9X%2BxdF7LizPzjVN7Rac5djp15Jcapv5XLVi/U6J3bpiu3KZ8zZz4jk2ufElc9nUcR2dZ2fvpzkVN/afgEeHWuurnNXltvZvrn9Pbm97cGzYAAAgOkcOgLStWtXu9pdvHjRqWQAAEDp4FABEh8frwYNGqhx48bXbZeUlKSTJ0%2B6lBgAACi5HCpAgoKCVK9ePc2cOfO67bZs2aLdu3e7lBgAACi5HLoGJDQ0VHFxcXa15Wm4AACgIA4dARkyZIiioqIKbRcVFaVt27Y5nRQAACjZHCpAAgMD873z6bV8fX0VEBDgdFIAAKBk42e4AADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdF4GdwwDAAAmc%2Bg%2BIGZz5VHCxfkxxjtOOXcTt8ibY1x%2BdHT8hUNO9b29YrBH17mry%2B1sf1cety15frk9Oc7jzv7gVN/Qas09%2Bnh2Tz6W3tWx5so6dzW2K/sWT36%2Bi/NYm7dvjlN9R4eMczm2PTgFAwAATEcBAgAATEcBAgAATEcBAgAATEcBAgAATFdkBciVK1d05cqVopodAAAowRwqQHbs2KG0tDSbaZ999pm6dOmisLAwhYWFqWvXrtq2zbmfkQIAgNLBoQJk6NChio%2BPt77eunWrRo8erQoVKmjChAl68sknVb58eY0aNUo7d%2B4s8mQBAEDJ4NCNyK69aerChQsVGRmpJUuWyMvLS5I0ePBgDRgwQIsWLVKbNm2KLlMAAFBiuHQNyC%2B//KKHH37YWnxIkpeXlx5%2B%2BGH9/PPPLicHAABKJpcKED8/P1WqVCnP9MqVKyszM9OVWQMAgBLM4WfBTJgwQeXLl5ckZWZm6vDhw4qIiLBpc/z4cVWrVq1oMgQAACWOQwVIz549bV43bdpU2dnZedpt2LBBTZo0cS0zAABQYnkZ115ZWgROnDihChUqqHLlykU9awAAUAK45U6ofn5%2B%2BuWXX9wxawAAUAI4fA2IPXbt2qWxY8fqwIEDLs1nY8I6p/p1Duyl9OxLTsf19fZX6pUUp/pWLlfd6b65/Z3N3dfb3%2BXldiV2/IVDTse%2BvWJwsV1uV2PHnf3Bqb6h1ZoX6%2BUurrFdHeeu7FtOX05yOnZtv4Bi%2B/kurftUV5d73r45TvUdHTLO5dj24FkwAADAdA4dAenatatd7S5evOhUMgAAoHRwqACJj49XgwYN1Lhx4%2Bu2S0pK0smTJ11KDAAAlFwOFSBBQUGqV6%2BeZs6ced12W7Zs0e7du11KDAAAlFwOXQMSGhqquLg4u9q64de9AACghHDoCMiQIUMUFRVVaLuoqCht27bN6aQAAEDJ5lABEhgYqMDAwELb%2Bfr6KiAgwOmkAABAycbPcAEAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOm8DO4YBgAATMYREAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDofTyfgiGPHjunNN9/U3r17dfjwYd1%2B%2B%2B3asGGD2%2BN%2B/fXXWrRokY4cOaK0tDTVrl1bHTt2VGxsrCpWrOjW2OvWrdOUKVPyTB86dKgmTJjg1tj9%2B/fXrl278n3vlVdeUefOnd0a/4svvtC8efN0%2BPBhVa9eXb1799bIkSPl7e1dpHHsGVfffPON1q1bp7179%2Br48ePq27evnnnmGVNiL1u2TJ988okSExOVlZWlW2%2B9VQ899JD69u0rLy8vt8aePHmyPvzwwzx9lyxZonbt2rk1dnBwcIH9v/76a9WqVcttsQ3D0NKlS7V69WqdOXNG9evX1xNPPKEHHnjAqZiS9Omnn2r9%2BvXav3%2B/UlNTdeutt%2Brhhx9Wnz59VKbM1b8F3TXO7IntrnFmT2x3jTN7YrtrnNkT2x3jLDfvwr6z3DXWHFGsCpDDhw/ryy%2B/VFhYmHJycmQYhilxU1NTFR4erscee0yVKlXS4cOHNX/%2BfB0%2BfFjLli0zJYelS5faFDu1a9d2e8ypU6cqLS3NZtry5cv12WefqXXr1m6N/e9//9v6QRw/fryOHj2qOXPm6PLly5o0aVKRxrJnXH311Vc6cOCAIiIilJqaamrsCxcuqEuXLgoKClLZsmX17bff6vnnn1daWpoef/xxt8aWpFtvvVUvv/yyzbQ77rjD6bj2xl6zZk2eaZMmTZKfn5/TXwr2xl66dKnmzp2rESNGKDw8XNu2bdP48ePl6%2Bur6Ohop%2BK%2B9dZbqlOnjp566ilVr15d33//vaZPn67jx49bx7S7xpk9sd01zuyJLblnnNkT213jzJ7Y7hhnkn3fWe4aaw4xipHs7GzrvydNmmR07tzZY7msWbPGsFgsxqlTp9waZ%2B3atYbFYjFSUlLcGsde0dHRxtChQ90eZ9CgQUbPnj1tpi1dutRo0qSJkZycXKSx7BlXf27ToUMH47nnnjMtdn7Gjx9v3HvvvW6P7a7PmTPLffz4ccNisRhLlixxa%2ByMjAwjPDzcmDlzps30YcOGGV27dnU6bn6f4RkzZhghISFGRkZGntyKcpzZEzs/RTHO7IntrnHmzHIX1TgrLLa7xllBrv3OctdYc0SxugYk97DVjaBKlSqSpKysLA9nYp4ff/xRiYmJ6tq1q9tjHThwQJGRkTbT7r77bmVmZmrHjh1FGsueceWusefsfKtWrarMzEyPxC4KzsTesGGDvLy81KVLF7fGPn78uC5evJjv%2BDt06JBOnDjhVNxq1arlmdaoUSNlZGTo3LlzduXmLHti56coxpmzsYuCM7GLapwVFttd46wg135n3Qjfp57PoBjJzs5WRkaG9u/fr9dee00dOnRQQECAKbG7dOmiRo0aKSYmRosWLVJ2drYpcf9sw4YN8vPzU0xMjNtjZWRkqGzZsjbTypUrJ0k6evSo2%2BPfiLKysnTx4kVt375dH330kR599FFT4iYkJKh58%2BZq2rSpevXqpa1bt5oS91obN25URESEbr75ZrfGycjIkCRTxt%2BePXtUpUoVVa9evcjm6WpsM8ZZfrHNGmeFrXN3jrM/xzZjnHnyO8sexeoaEE/r0KGDTp8%2BLelqlfrKK6%2B4PWbNmjU1atQohYWFycvLS//61780d%2B5cnT592tQLhrKysrR582bFxMTI39/f7fHq16%2BvuLg4m2n//ve/Jclz5ys96NixY7r33nutr0eMGKEBAwa4PW6jRo0UEhKiBg0a6MKFC1q9erVGjhypV199Vffff7/b4%2Bc6ePCgfvnlF02bNs3tsQIDA1WmTBnFxcWpZcuW1ulFPf727dundevWueXCamdjmzHO8ott1jgrbJ27c5xdG9uMceaJ7yxHUIA4YPHixbp06ZKOHDmihQsX6vHHH9dbb73l1p3H3Xffrbvvvtv6OjIyUuXLl9fy5cv1%2BOOPu3SRlCO%2B%2BeYbpaSkuHxY0l59%2B/bVlClTtHz5cnXv3l1HjhzR3Llz5e3t7dIV%2BcXVLbfcog8%2B%2BECXLl3S7t27tWTJEpUpU0ajR492a9zHHnvM5nV0dLT69OmjefPmmVqArF%2B/XmXLltV9993n9lg33XSTunfvrqVLl8pisejOO%2B/UF198oY0bN0oqmkPXycnJGj16tEJCQjR06FCX51dUsd09zgqKbcY4s2edu2uc5RfbjHHmie8sR1CAOKBhw4aSpGbNmqlx48bq3bu3Pv/8c1N3xJLUqVMnLVu2TAcOHDCtANmwYYOqVKmS53ylu/Ts2VO//PKLXnzxRc2YMUNly5ZVbGysli9frpo1a5qSw42kXLlyCgkJkSS1bNlS/v7%2Bevnll/Xwww%2Bbuj7KlCmje%2B%2B9Vy%2B99JLS09Pl6%2Bvr9piGYWjTpk26%2B%2B67reex3W3y5MlKTk7WsGHDJF29FmLMmDGaNWuWatSo4dK8L1y4oKFDh8rX11evv/56nkPw7lRYbHeOM0eWu6jHmT2x3TXOrhfbneNMunG%2BswpCAeKkRo0aydvbWwkJCZ5Oxe3S09O1bds2de3a1bSdpZeXlyZPnqyRI0cqKSlJderUUVZWlubMmaOwsDBTcriRNWnSRNnZ2UpKSjK9IDNM%2Bvl7rj179ujEiROaOHGiaTGrVKmiN998U6dPn1Zqaqrq16%2Bvbdu2qWzZsmrcuLHT883IyNCIESP0%2B%2B%2B/a82aNapatWoRZl30sYtqnDkTu6jGmb2x3THOCovtrnGWnxvxO4sCxEk//fSTsrOzVbduXdNjb9q0Sd7e3kU%2BQAvyr3/9SxcvXjTl1y/XqlixorWKf/XVVxUQEKA2bdqYnseNZs%2BePfLy8jJ9/OXk5GjLli0KCgoy5eiHdPWwuL%2B/vzp06GBKvD%2BrXbu2ateurezsbK1evVoPPPCAbrrpJqfmlZWVpTFjxujgwYNatWqVqRcDOhu7KMaZM7GLapw5Eruox5kjsYtynBXEk99ZBSlWBcjly5f15ZdfSpKSkpKUlpamzZs3S5JatGiR78%2BeikJsbKyaNm2q4OBg%2Bfr66uDBg1q6dKmCg4PVsWNHt8TMNXjwYLVq1UoWi0WStG3bNr333nt69NFHTfvLd/369apTp47uuusuU%2BJJUlxcnHbt2qVGjRopPT1d//rXv/Txxx9ryZIlRX7%2B0p5xlZSUpH379lnbJyQkWNu4cjizsNhly5bV0KFD1a1bN9WrV09ZWVn67rvvtHLlSj300EMuHaYtLPbly5c1efJkdenSRYGBgUpNTdXq1av1888/a/78%2BU7HtSd27mc5KytLW7ZsUceOHeXn5%2BdSTEdif/LJJ8rIyFBgYKDOnDmjNWvWKDExMc%2BNshwxbdo0ffHFF5o4caLS09OtFxtKUoMGDXTTTTe5bZwVFtswDLeNs8Jip6amum2c2bPOJfeMM3tiu2OcSfZ9Z7lrrDnCyzD7eKoLEhMTC/wJ6IoVK2yuJC5Kixcv1qZNm5SQkCDDMBQQEKB77rlHgwcPLvIq9VrPP/%2B8vv76a506dUo5OTmqX7%2B%2BHnzwQfXv39%2BUizFTU1PVtm1bPfbYY6YeAj9w4ICmTp2qw4cPS5LCwsI0ZswYhYeHF3kse8ZVQbfEl6RDhw65LXZ4eLimTp2qPXv26PTp0/L19VVgYKD69OmjHj16uFSMFRY7ODhYU6ZM0f79%2B3X27FmVLVtWTZs21bBhw2wujHZH7NzP8vbt2zV8%2BHAtXrxYUVFRLsV0JPbHH3%2BsN954Q4mJifL391dUVJTGjx/v0k8zo6OjlZSUdN247hpnhcV25zgrLLY7x5k961xyzzizJ7Y7xplk33eWu8aaI4pVAQIAAEoGbkQGAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABM5%2BPpBAqSnn1JkmTIsJluGIb032n/e8f403v5TM93Hn9%2B3/H5/G8esnmvqGP9733D5t8Ftclvet5YjvV3JbZ1fdjb/7%2Bvc5RjfV1Q2xzr65xC5nVt//zb5%2BTT/9q2eedV0Oscu9rnXNP%2Bz9Ot/y5o3nbkf3V6Tv7tClomw7BZ/9eft%2B06vXbe9sbM%2BdP//9dGBba5Om/lP28X2hXYpoBcHG9n%2B77%2B9L5xzXt5/1/Y%2B/a2y5uDs32L4v08n6H/tskzlopoPeT86f0CP8d2xsoppJ118P1vof433TrtmjZ5%2BhTwfk4B7fO8n8/0QvvYmUMB7xufJ8oeHAEBAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACm8/F0AvmJiYmRJG3bts3DmaAgbKMbG9vnxsb2ufGxjdyPIyAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0XoZhGJ5OAgAAlC4cAQEAAKajAAEAAKajAAEAAKajAAEAAKajAAEAAKa7oQqQX3/9VYMHD9add96p1q1b6/nnn1d6erqn00I%2BLl68qHbt2ik4OFj79u3zdDr4r61bt%2BrBBx9Us2bN1KZNG8XGxio%2BPt7TaZVKx44d0zPPPKPu3burcePG6tKli8372dnZWrJkifr166dWrVopIiJCffv21bfffuuhjEufwrZRrvT0dL3yyivq0KGDmjZtqujoaC1YsMDkbEseH08nkOv8%2BfN67LHHVKdOHc2bN09nz57VzJkzde7cOb388sueTg/XWLhwobKzsz2dBv5k586dio2NVbdu3TR27FidP39eCxYs0MCBA7Vx40bddNNNnk6xVDl8%2BLC%2B/PJLhYWFKScnR9fe8SA9PV2LFi1Sjx49NHjwYPn4%2BOjDDz/UwIED9frrr6tDhw4eyrz0KGwbSVcLxeHDh%2BvUqVMaPXq0AgICdOLECZ08edIDGZcwxg1i0aJFRlhYmJGSkmKd9sknnxgWi8U4cuSIBzPDtY4cOWLceeedxurVqw2LxWLExcV5OiUYhvH0008bHTp0MHJycqzT9u7da1gsFmP79u0ezKx0ys7Otv570qRJRufOnW3ez8rKMs6dO2czLScnx%2BjZs6fRr18/U3Is7QrbRoZhGO%2B%2B%2B67RvHlzIzk52czUSoUb5hTMV199pdatW6tatWrWaffdd5/KlSunL7/80oOZ4VrTp09Xnz59dNttt3k6FfxJVlaWKlSoIC8vL%2Bu0ihUrejCj0q1MmevvXr29vVW5cmWbaV5eXmrYsKHOnDnjztTwX4VtI0n64IMP1KlTJ9WoUcOEjEqXG6YAOXr0qO644w6baeXKlVNgYKCOHj3qoaxwrc2bN%2BvgwYMaOXKkp1PBNf7yl78oPj5eK1eu1Pnz55WYmKhZs2bpjjvuUOvWrT2dHuyQk5Ojn376Kc%2B%2BEJ5x5coV/ec//9HNN9%2BsiRMnKiwsTM2aNdOTTz6pP/74w9PpFXs3TAFy/vx5VapUKc/0SpUqKTU11QMZ4VqXL1/WCy%2B8oPHjx3M9wQ0oIiJCCxYs0Jw5cxQREaGYmBgdP35cy5YtU7ly5TydHuywcuVK/frrrxo4cKCnU4Gkc%2BfOKSsrS0uWLNGFCxf02muv6f/%2B7/%2B0c%2BdOjR8/3tPpFXs3zEWoBTEMw%2BaQMjzn9ddfV/Xq1dWrVy9Pp4J8/Pjjj5o4caJ69%2B6t6OhopaWl6Y033tDQoUO1evVqisYb3K5du/TSSy9p0KBBioiI8HQ6kKwXpVaqVEnz5s2zFvIVKlTQqFGjFBcXp9DQUE%2BmWKzdMEdAKlWqpPPnz%2BeZfuHChXyPjMBcSUlJWrZsmUaPHq20tDSdP39ely5dkiRdunRJFy9e9HCGeP7559WqVSv97W9/U%2BvWrXXPPfdoyZIl%2BvXXX/X%2B%2B%2B97Oj1cx8GDB/XEE0%2BoY8eOmjhxoqfTwX/lfvc0a9bM5ihiq1atJF39FQ2cd8McAbnjjjvyXOtx5coVJSQkqHfv3h7KCrkSExOVmZmpYcOG5Xnv0UcfVVhYmN577z0PZIZcR48eVXR0tM20atWqqVatWkpISPBQVihMQkKChgwZosaNG%2BvFF1/kiO8NxM/PTwEBAQW%2Bb89FrCjYDVOAtGvXTq%2B//rr%2B%2BOMPVa1aVZL0%2Beef68qVK4qKivJwdmjUqJFWrFhhM%2B3AgQOaOXOmnnvuOYWEhHgoM%2BSqU6eO9u/fbzMtOTlZZ86cue5OFJ6TnJysQYMGqUaNGlq4cCHX6tyA2rdvr61bt%2BrKlSvW7bNz505JUsOGDT2ZWrF3wxQgffr00apVq/TEE0/oiSeeUEpKil544QV17dqVK8JvAJUqVVLLli3zfa9JkyZq0qSJyRnhWn379tU//vEPTZs2TTExMTp//rwWLVokf39/devWzdPplTqXL1%2B23kIgKSlJaWlp2rx5sySpRYsW8vf315AhQ5SSkqLJkyfryJEjNv3vvPNO03MubQrbRtWqVdPgwYP1ySefaOTIkerXr5/OnDmj2bNnq2PHjmrUqJEn0y/2vAwjn1u/ecivv/6q559/Xnv27JGvr6%2B6dOmiCRMmyNfX19OpIR/ff/%2B9Hn30UX3wwQccAbkBGIah9957T%2B%2B8844SEhLk7%2B%2BvkJAQjRs3TsHBwZ5Or9RJTExUTExMvu%2BtWLFCAQEBBb4vSYcOHXJXavivwrZR7h9dP//8s1544QXFxcXJz89P9913n5566iku7HbRDVWAAACA0oEraAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOn%2BHzVWv7hqeq0UAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAiAAAAGMCAYAAADjvxkUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3deVwV9f7H8TeCCpj7VmJoJQc3IExcSRRsMXe93Sy13M3ENU3t3l%2BWNzUr09Qsl%2By6lFlpi0taerMyK826Yl41lRLBjTBRVJBlfn94ObcjIGfhzBF4PR%2BPHnnmfL/z%2BczM98z5MDNnxsswDEMAAAAmKuPpBAAAQOlDAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAVKCrVu3TsHBwQoJCVFSUlKe9/v3768uXbp4IDPp%2B%2B%2B/V3BwsDZv3uyR%2BI5KTEzUsGHD1KJFCwUHB2v69OmeTum6Jk%2BerOjoaE%2BnUaz8%2BOOPmj9/vs6fP1/k8y5p28OT%2Bw53KGnbp7igACkFrly5orlz53o6jWJt5syZ2rt3r2bMmKE1a9ZowIABnk4JReynn37SggUL3FKAAMiLAqQUuPvuu7VhwwYdPHjQ06mYLj09XUXxuKPDhw8rNDRUHTt21J133qmAgAC7%2BxqGofT0dJdzgGMuX77s6RRuSIxH3CgoQEqBIUOGqEqVKnrppZeu2y4xMVHBwcFat25dnveCg4M1f/586%2Bv58%2BcrODhYBw8e1OjRo3XXXXepRYsWmjlzprKyshQfH6/BgwcrPDxc0dHRWrJkSb4xMzIyNHPmTLVt21ahoaHq16%2Bf/vOf/%2BRpt2/fPj3%2B%2BONq0aKFQkJC1KNHD23atMmmTe4ppx07dmjKlClq1aqVwsLCdOXKlQKX%2BcSJE5owYYJat26tpk2bqlOnTlq2bJlycnIk/e9U0bFjx/TVV18pODhYwcHBSkxMLHCewcHBmjZtmlavXq1OnTopJCREH374oaSrR6MWLlyo%2B%2B%2B/X02bNlWrVq00ZcoUnT171mYemzZt0qBBgxQZGanQ0FB16tRJL7/8si5dupQn3rp163TfffdZ8//oo4/yzeudd95Rt27dFB4ervDwcN1///165ZVXClyOXKdOndLo0aMVHh6u5s2b68knn1RcXFy%2BY8WR7fTdd99p6tSpatmypVq2bKnY2FidPn06T/xNmzbpoYce0p133qnw8HANHjw4zxiZPHmywsPDdejQIQ0aNEjh4eHWo1TffPONRowYoXbt2ikkJET33HOPnnnmGZt1Pn/%2BfL344ouSpJiYGOt2/v777x3KI3f57Nke%2BYmOjtbw4cP1%2Beefq2vXrgoJCVFMTIxWrFiRp21aWppmzZql6OhoNW3aVHfffbemT5%2BeZ4xcbzwWZP369XrooYesY6V79%2B56//3387SLi4vTI488orCwMMXExGjx4sXWz4509fP9wgsvqHv37tZ9xEMPPaStW7fmmVdunh999JE6deqksLAwdevWTV988YVNu9x9z%2BHDhzV%2B/HjdddddatOmjaZMmaILFy7YtDUMQ2%2B//ba6d%2B%2Bu0NBQRUREaPTo0Tp%2B/Ph1lx/m8PF0AnC/ChUqaMSIEZo%2Bfbq%2B/fZbtW7dusjmPXbsWHXr1k19%2BvTRN998o6VLlyorK0s7d%2B7UI488osGDB2v9%2BvV6%2BeWXVa9ePd177702/efMmaPGjRvr%2Beef14ULF7RgwQL1799fH330kW699VZJ0nfffachQ4YoLCxMzz77rCpWrKhNmzZp3LhxSk9PV69evWzm%2BfTTT6t9%2B/Z68cUXdfnyZfn45D/Mz549qz59%2BigzM1NjxoxRQECAtm/frlmzZikhIUHPPvusmjRpojVr1ig2Nla33nqrJk2aJEmqVavWddfL1q1b9cMPP2jkyJGqUaOGqlevrpycHD3xxBPas2ePBg8erGbNmikpKUnz589XXFyc1q5dK19fX0nSb7/9pnbt2umxxx6Tn5%2Bf4uPjtWTJEsXFxdl8Ga1bt05TpkxRTEyMJk%2BebF2HV65cUZky//v7YuPGjXruuefUv39/TZo0SWXKlNGxY8d05MiR6y7HpUuX9Oijjyo1NVUTJkxQvXr19PXXX2vcuHF52jq6nf7%2B97%2Brffv2mj17tk6ePKmXXnpJEydOtFm%2BN954Q3PnzlWvXr00YsQIZWZm6s0331Tfvn31/vvvq0GDBta2mZmZGjFihPr06aOhQ4cqOztbkpSQkKDw8HA9%2BOCDqlixopKSkvTWW2/pkUce0fr161W2bFk9%2BOCDSk1N1cqVK7VgwQLVrFlTkqzztzcPe7fH9Rw4cEAzZsxQbGysatSoofXr12v69OnKzMzU4MGDJV09utOvXz%2BdOnVKjz/%2BuPULed68efrll1/0z3/%2BU15eXtZ55jceC/Lqq69q4cKFuvfeezVw4EBVrFhRhw8f1okTJ2zaJScna%2BLEiRo4cKBiY2P1%2Beefa/bs2apVq5Z69Ogh6WrBnZqaqkGDBql27drKzMzUzp07NWrUKM2cOdPaLtf27du1b98%2BjR49Wv7%2B/lq6dKliY2O1efNm6/4g16hRo/TAAw/oL3/5i3755RfNnj1b0tXTpbmeeeYZffjhh%2Brfv78mTJig1NRUvfbaa%2BrTp48%2B/vhj1ahRw65tAjcxUGKtXbvWsFgsRlxcnJGRkWHExMQYvXr1MnJycgzDMIx%2B/foZnTt3trY/fvy4YbFYjLVr1%2BaZl8ViMebNm2d9PW/ePMNisRjLli2zade9e3fDYrEYn332mXVaZmam0apVKyM2NtY67bvvvjMsFovRs2dPaz6GYRiJiYlGkyZNjL/97W/Waffff7/Ro0cPIzMz0ybW8OHDjbZt2xrZ2dk2y/vUU0/ZtX5efvllw2KxGHv37rWZPnXqVCM4ONiIj4%2B3TuvQoYMxbNgwu%2BZrsViMu%2B66yzh37pzN9A0bNhgWi8XYsmWLzfS4uDjDYrEYb7/9dr7zy8nJMTIzM41du3YZFovFOHDggGEYhpGdnW1ERkYWuA47dOhgnTZt2jSjefPmduX/Z6tWrTIsFovx5Zdf2kz/v//7vzxjxdHt9Oyzz9q0W7JkiWGxWIwzZ84YhmEYJ06cMBo3bmz84x//sGmXlpZmtG3b1hgzZox12qRJkwyLxWJ88MEH112e3HWZlJRkWCwWY%2BvWrdb3li5dalgsFuP48eM2fezNw5HtUZAOHToYwcHB1m2ca%2BDAgUazZs2MS5cuGYZhGIsWLTIaNmxoxMXF2bTbvHmzYbFYjO3bt1unFTQe85OQkGA0atTIePLJJ6/brl%2B/fvl%2Bdh544AFj0KBBBfbLysoyMjMzjaefftro0aOHzXsWi8Vo06aNceHCBeu05ORko2HDhsaiRYus03L3PUuWLLHp/%2ByzzxohISHWdf/TTz/lu486efKkERoaarz44ovWaZMmTbJr%2B6BocQqmlChXrpzGjh2rn3/%2BWZ9%2B%2BmmRzbd9%2B/Y2r%2B%2B44w55eXmpXbt21mk%2BPj6qV69evr/E6dKli81fagEBAQoPD7ce%2Bj527Jji4%2BPVtWtXSVJWVpb1v3bt2ik5OVm//vqrzTyvPcpSkO%2B%2B%2B04NGjRQaGiozfRevXrJMAx99913ds0nP61atVLlypVtpn3xxReqVKmSOnToYLMcjRo1Us2aNbVr1y5r2%2BPHj%2BvJJ59U27Zt1ahRIzVp0kT9%2BvWTJMXHx0uSfv31V505c6bAdfhnISEhOn/%2BvMaPH6%2BtW7fmOeVTkN27d6tChQo221NSnl9AOLOdrv3VQXBwsCRZ/9LesWOHsrKy1L17d5v5lS9fXhERETbrK9d9992XZ1pKSoqeeeYZRUVFqXHjxmrSpIk6dOggSTp69Gih68DePBzZHtcTFBSkhg0b2kzr0qWL0tLStH//fklXx1JQUJAaNWpkk1NkZKS8vLzyrJv8xmN%2Bdu7cqezsbPXt27fQtjVr1szz2QkODs5zpOTTTz9Vnz59FB4ebl3/H3zwQb7rvmXLlrrpppusr3OP1uS378hv/GRkZCglJUXS1XXk5eWlbt262ayjGjVqqGHDhvmOH5iLUzClSOfOnbVs2TLNmTNH99xzT5HM89qdWtmyZeXn56fy5cvnmZ6Wlpanf36HQGvUqGG9YPb333%2BXJM2aNUuzZs3KN4c//vjD5nXu4fPCnDt3Lt%2BLSXNPr5w7d86u%2BeQnvxxSUlJ0/vx5NW3aNN8%2Buctx8eJFPfLIIypfvrzGjh2r%2BvXry9fXV6dOnVJsbKz1AsLc9gWtwz/vtHv06KHs7Gy9//77Gj16tHJychQSEqKxY8eqbdu2BS7HuXPn8p3/tYfwndlOVapUsXldrlw5SbIuX%2B48//KXv%2BQ7v2tPafj5%2Bdl8eUlSTk6OBg0apDNnzuiJJ56QxWKRn5%2BfDMPQX//6V2VkZOQ77/yWrbA8HNke11NQf%2Bl/YzIlJUXHjh1TkyZN8p2Hs5%2BJ3ML05ptvLrTttdtPuroN/7xOP/vsM40dO1b333%2B/hgwZoho1asjb21urV6/W2rVrnZpnQW2vHT8pKSkyDENt2rTJN/9rT%2BnAfBQgpYiXl5cmTJiggQMH6r333svzfm7RcO1Fm9fuzIpS7s792mm5O5eqVatKkoYPH15g0XTbbbfZvP7zX5/XU6VKFSUnJ%2BeZfubMGZvYzsgvh6pVq6pKlSpaunRpvn0qVKgg6eqRmTNnzmjlypVq0aKF9f1rL7DLza%2BgdXit3r17q3fv3rp06ZJ2796t%2BfPna/jw4dqyZUuBv%2BqpUqWK4uLiCp2/M9upMLnznDdvnurUqVNo%2B/zW%2BS%2B//KKDBw/qhRdeUM%2BePa3Tjx07VuR5OLo9CnK9/n/%2BXJQvX14zZsy4bi657P1MVKtWTdLVC49vueUWu3MuyCeffKK6detq7ty5NjksX77c5XkXpmrVqvLy8tLbb79tLU7%2BLL9pMBcFSCnTpk0btW3bVq%2B99lqev3Jq1Kih8uXL69ChQzbTt23b5rZ8NmzYoIEDB1p3TklJSfrpp5/UvXt3SdLtt9%2Bu%2BvXr6%2BDBgxo/fnyRxm7durUWLVqk/fv32/wl%2BdFHH8nLy0stW7Ys0njt27fXxo0blZOTo7CwsALb5a6La3eQ7777rs3r2267TTVr1ixwHRZ0oay/v7%2BioqKUmZmpkSNH6siRIwUWIBEREfr000/15ZdfKioqyjp948aNNu3csZ0iIyPl4%2BOjhISEfE%2Bt2MPedfnnNtf%2BtW1vHs5uj2sdPnxYBw8etDkNs2HDBlWoUME6Ttu3b69FixapSpUqRfqXfNu2ba1HKBw5bVQQLy8vlS1b1qb4SE5Odus%2BJVf79u21ePFinT59Wg888IDb48FxFCCl0IQJE9SrVy%2BlpKQoKCjIOj33fOnatWsVGBiohg0bKi4uThs2bHBbLmfPntXIkSP117/%2BVRcuXND8%2BfNVrlw5DR8%2B3Nrmueee09ChQzV48GD17NlTtWvXVmpqqo4ePar9%2B/dr3rx5TsUeMGCAPvroIw0fPlyjR49WnTp1tH37dr3zzjt6%2BOGHHf6LvTCdO3fW%2BvXrNWzYMPXv31%2BhoaEqW7asTp06pe%2B//14xMTG65557FB4ersqVK2vq1KmKjY2Vj4%2BP1q9fn6cwLFOmjMaMGaO///3v1nV4/vx5LViwIM9h/L///e/y9fVVs2bNVLNmTSUnJ2vx4sWqWLGiQkJCCsy5Z8%2BeWr58uZ566imNGTNG9erV01dffaUdO3ZYc8hV1Nupbt26Gj16tObOnavjx4%2BrXbt2qlSpkn7//Xft27dPfn5%2BGj169HXncfvttyswMFCzZ8%2BWYRiqXLmyvvjiC33zzTd52losFklX/zrv2bOnfHx8dNttt9mdhyPb43pq1aqlESNGKDY2VjVr1tQnn3yib775RhMmTJCfn58k6bHHHtNnn32mfv36acCAAQoODlZOTo5OnjypHTt2aNCgQdctcgtSt25dDR8%2BXAsXLlR6erq6dOmiihUr6siRI/rjjz8KXd/Xat%2B%2BvT777DM9%2B%2Byzuu%2B%2B%2B3Tq1CktXLhQtWrV0m%2B//eZwfo6466679NBDD%2Bnpp5/Wzz//rIiICPn5%2BSk5OVl79uyRxWLRI4884tYccH0UIKVQ48aN1blz53wLi8mTJ0uSli5dqkuXLqlly5Z644033Hab4nHjxmnfvn2aMmWK0tLSFBoaqldeeUWBgYHWNq1atdL777%2BvN954QzNmzND58%2BdVpUoV3XHHHerUqZPTsatVq6Z3331Xs2fP1uzZs3Xx4kXVrVvX%2BtPCoubt7a3XX39dK1as0Mcff6zFixfL29tbN998syIiIqxfgFWrVtWiRYs0a9YsTZw4UX5%2BfoqJidGcOXNsTiNI0oMPPihJ1p8rBgQEaPjw4dq9e7fNRXbNmzfXunXr9Omnnyo1NVVVq1bVXXfdpVmzZlkPu%2BfH399fy5cv14wZM/TSSy/Jy8tLkZGRmjp1qoYNG6aKFSta27pjOw0fPlx33HGHVqxYoY0bN%2BrKlSuqWbOmmjZtqocffrjQ/mXLltUbb7yh6dOn65lnnpGPj49at26tf/7zn3kuoG7ZsqWGDx%2BuDz/8UO%2B//75ycnK0YsUK63R78rB3e1xPo0aN1KtXL82fP1%2B//fabatWqpSlTptjcfdff319vv/22Fi9erDVr1igxMVG%2Bvr665ZZb1KZNG4dulHet3EJz1apVmjBhgry9vVW/fn3179/f4Xn17t1bKSkpevfdd7V27VrdeuutGjZsmE6dOqUFCxY4naO9pk2bprCwMK1Zs0arV69WTk6OatWqpWbNmuW5gBbm8zKMIrhNJIBSJfe%2BGNu3b7frgkXYJzo6WkFBQVq0aJGnUwHcjiMgAK5r1apVkq6ezsjMzNR3332nlStXqlu3bhQfAJxGAQLgunx9fbV8%2BXIlJiYqMzNTt9xyi4YOHaoRI0Z4OjUAxRinYAAAgOm4EyoAADAdBQgAADAdBQgAADAdBQgAADDdDf0rmPTsS0718/X2111Lezkdd8%2BQdS7Fdravq/2JXfpip15JcTp25XLVne5fuVz1UrvOiU1sYhfe3x4cAQEAAKajAAEAAKajAAEAAKajAAEAAKZzSwHyxx9/aPfu3e6YNQAAKAHcUoDs2rVLjz76qDtmDQAASgBOwQAAANM5dB%2BQrl272tXu4sWLTiUDAABKB4cKkPj4eDVo0ECNGze%2BbrukpCSdPHnSpcQAAEDJ5VABEhQUpHr16mnmzJnXbbdlyxYuQgUAAAVy6BqQ0NBQxcXF2dXWMAynEgIAACWfQ0dAhgwZoqioqELbRUVFadu2bU4nBQAASjaHCpDAwEAFBgYW2s7X11cBAQFOJwUAAEo2L4NzJQAAwGTcBwQAAJjOoVMwZkvPvuRUP19vf6f7utqf2J6JnXolxenYlctVL7bLffpyktOxa/sFFNvlLs6xnd1mtf0CFH/hkNOxb68Y7NHPmLO5314xmHFeDGPbgyMgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdF6GYRieTgIAAJQuPp5O4HpK62OMXXlcd2l9NPyOU9ucjh15c4xHt3fc2R%2Bc6htarbnLj0j3ZOzS%2Bvl2dr1VLlfdo%2Bvc1djFdb/m6nI7u29yZb8keX6c24NTMAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQOX4SanJysrKws3XLLLZIkwzD0%2Beef69ixYwoMDFRMTIx8fG7oa1sBAICH2V0ppKWlacyYMdq5c6ckKTo6WrNnz9bw4cP1/fffy9vbW9nZ2WrUqJFWrVqlChUquC1pAABQvNl9CmbBggXav3%2B/pk2bpldffVVJSUkaPXq0EhIStHbtWu3bt0%2BrVq1ScnKy3nrrLXfmDAAAijm7j4Bs3bpVo0aN0oMPPihJCggIUO/evfWPf/xDTZo0kSQ1b95cgwcP1rp16xQbG%2BuejAEAQLFn9xGQ06dPy2KxWF8HBQXZ/D9Xw4YNlZTk/A2pAABAyWd3AXLTTTcpNTXV%2BtrHx0e1a9eWv7/tHc8yMjJUpgw/rgEAAAWzu1Jo0KCB9u3b97%2BOZcroyy%2B/tDkqIkmHDh1SYGBg0WUIAABKHLuvARk%2BfLjNEZCC/Pzzz%2BrUqZNLSQEAgJLN7gIkMjLSrnbz5893OhkAAFA6eBmGYXg6CQAAULpwtSgAADDdDX3P9NQrKU71q1yuutKzLzkd19fb36Oxne3vSt%2BiiO3sOpNcW2%2B%2B3v46fdn5n37X9gsotuuc2MR2pP%2BOU9uc6ht5c4xHl/uZ76c6HXtay%2BeK7f7c1X2qK8vtdU9dp2Mbnyfa1Y4jIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHQUIAAAwHRehmEYnk4CAACULj6eTuB6eGS2Yzz9yOz4C4ecjn17xeBSu71diX36cpLTsWv7BSju7A9O9Q2t1tzl2MV1nRfn7V1cl9uTj6V3Nbaz%2B8XbKwa7HNvZ8eLKWJGubjN7cAoGAACYjgIEAACYjgIEAACYjgIEAACYzuWLUH///XcdOHBAktS4cWNVr17d5aQAAEDJZncB8sorr6hv376qXbu2JCknJ0czZszQu%2B%2B%2Bq%2BzsbBmGIR8fH/Xv31%2BTJk1yW8IAAKD4s7sAWbJkiTp27GgtQJYuXap33nlHAwYMUKdOnWQYhjZt2qTly5erbt266tu3r9uSBgAAxZvdBci19yt777339Mgjj%2Bipp56yTgsNDdWlS5f03nvvUYAAAIACOX0R6okTJxQdHZ1nekxMjH777TdXcgIAACWcQxehpqWl6dy5c5KkqlWr5jkqkqtMGX5cAwAACuZQATJ48GDrvw3D0N69e9W2bVubNocPH7ZeJwIAAJAfuwuQmTNn5plWs2bNPNO%2B/fZbtWvXzrWsAABAiWZ3AdKzZ0%2B72r355ptOJwMAAEoHL6OgCzkAAADchKtFAQCA6Vy%2BFbs7pWdfcqqfr7e/031d7V8UsVOvpDjVt3K56k73dbV/5XLVdfpyktOxa/sFeHSdx1845FTf2ysGF%2Bux5uw2c2V75cYurZ/v0jrWXInt6n6tuC53cY5tD46AAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA03kZhmF4OgkAAFC6%2BHg6getx5dHwxfkxxp6MzTontr19eUQ6sUtD7NOXk5yOXdsvwKOfMU/uz%2B3BKRgAAGA6ChAAAGA6ChAAAGA6ChAAAGA6uwuQTZs26dy5c%2B7MBQAAlBJ2/wpm/Pjx8vHxUWRkpLp166bo6Gj5%2Bvq6MzcAAFBCOfQz3HvvvVdxcXEaP368/Pz81LFjR3Xp0kWRkZHy9vZ2V44AAKCEcagAGTBggEJDQ/Xjjz9qw4YN2rJli9avX6%2BqVauqU6dO6tKli5o1a%2BauXAEAQAnh1I3ImjVrpmbNmulvf/ubduzYoQ0bNujjjz/W6tWrdcstt6hLly4aP358UecKAABKCJfuhOrt7a2oqChFRUUpIyND27Zt0/r16/XPf/6TAgQAABSoyG7FXr58eT3wwAN64IEHdP78%2BaKaLQAAKIHs/hluRESEKlSoYFfbSpUqOZ0QAAAo%2Bew%2BArJy5Up35gEAAEoRL8MwDE8nAQAAShduxQ4AAExXZBehukN69iWn%2Bvl6%2Bzvd19X%2Bvt7%2BSr2S4nTsyuWquxT79OUkp2PX9gtQ3NkfnOobWq25R9c5sc2P7epYK67L7cnPd/yFQ07Hvr1icLFd58V5ezv7OXHlMyJ5frntwREQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOgoQAABgOi/DMAxPJwEAAEoXH08ncD3F9fHNrj4y29nHIFcuV93lRyi7Ers4PyrclUdmF%2BfH0ruyvUvr49mLc%2Bziur09uU8tzp9vT8a2B6dgAACA6ShAAACA6ShAAACA6ShAAACA6Ry%2BCPXs2bP6%2BuuvFR8fr3PnzqlMmTKqUaOGwsPD1bp1a3l5ebkjTwAAUILYXYDk5OTo5Zdf1sqVK5WZmfm/Gfj4qFKlSpo/f77q1q2rGTNmqEWLFm5JFgAAlAx2n4J57bXX9M4772jcuHFav369tmzZohdeeEE1a9bUgAEDtHPnTnXt2lVDhgxRXFycO3MGAADFnN1HQNauXatx48bpscces06rV6%2Be6tatq0GDBumRRx7RmDFjdObMGc2dO1fLli1zS8IAAKD4s/sISEpKiho0aJBnelBQkK5cuaITJ05IkmJiYrR3796iyxAAAJQ4dhcgQUFB%2Bvjjj/NM//jjj%2BXj46M6depIknx9fYsuOwAAUCLZfQpm1KhRGjlypI4eParIyEiVLVtW%2B/bt01dffaUBAwbopptukiQdOHAg3yMlAAAAuewuQDp06KB33nlH8%2BfP1wcffKCMjAzVr19fM2bMUM%2BePa3tIiIi1LZtW7ckCwAASgaH7gNy55136s0337xum9DQUJcSAgAAJZ%2BXYRiGp5MAAAClC7diBwAApnP4VuxmOn05yal%2Btf0ClJ59yem4vt7%2BTvf39fZX6pUUp2NXLle91C63K7E9udzEJjax3Rvb2X2idHW/WFz3qa4utye3tz04AgIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAExHAQIAAEznZRiG4ekkAABA6eLj6QSux5OPhne2vyuPlZeK9yOzXV3nnlxuT25vT8bemLDOqb6dA3u5vL1L6yPSXVluT65zTy63q7Fd%2BYx5cr/m6nJ7cp9qD07BAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA01GAAAAA07mlANmyZYsaNWrkjlkDAIASgCMgAADAdA7diOz555%2B3q11CQoJTyVOkzj8AAByHSURBVAAAgNLBoQJk1apVqly5sipUqHDddunp6S4lBQAASjaHCpBbb71VLVq00PTp06/bbvPmzRo3bpxLiQEAgJLLoWtAQkNDtXfv3kLbeXl5iWfcAQCAgjhUgPTu3VuRkZGFtgsJCdHMmTOdTgoAAJRsXgaHKgAAgMnc8jPcP/74Q7t373bHrAEAQAng0EWo9tq1a5fGjh2rAwcOuDSf1CspTvWrXK660rMvOR3X19vf6f6u9M3t78pyO9s3t78nl/v05SSn%2Btb2C/Do9vbkOo87%2B4PTsUOrNdeqw8uc6tsvaJBHl7s4j/PiGrs4r/Pi%2Bl3i6ufbk%2BvcHtyIDAAAmM6hIyBdu3a1q93FixedSgYAAJQODhUg8fHxatCggRo3bnzddklJSTp58qRLiQEAgJLLoQIkKChI9erVK/Qntlu2bOEiVAAAUCCHb0QWFxdnV1t%2B3QsAAAri0BGQIUOGKCoqqtB2UVFR2rZtm9NJAQCAks2hAiQwMFCBgYGFtvP19VVAQIDTSQEAgJKNn%2BECAADTUYAAAADTUYAAAADTUYAAAADTUYAAAADTUYAAAADTeRncMQwAAJjMofuAmK24Prbak7GdfaS95Npj7T39yOzi/Kjw4rrOS%2Bv2djW2J9f5qsPLnOrbL2hQsV7nxfXzXZyX2x6cggEAAKajAAEAAKajAAEAAKajAAEAAKajAAEAAKYrsgIkJSVFcXFxOnv2bFHNEgAAlFAOFyCLFy/W/fffr44dO2rFihWSpPnz5ysqKkoPPfSQIiMjNW3aNHF7EQAAUBCH7gPy9ttva86cOercubOqVKmiBQsW6Ny5c1q2bJmefPJJNWnSRD/88IMWLlyo0NBQ9ejRw115AwCAYsyhAuTdd9/VsGHDNG7cOElSZGSkRowYoVGjRmngwIGSpBYtWujChQtavXo1BQgAAMiXQ6dgEhMT1apVK%2BvrFi1ayDAMRURE2LRr1aqVjh07VjQZAgCAEsehAsTHx0eZmZnW1%2BXLl5ck%2Bfvb3na1bNmyysjIKIL0AABASeRQAVK3bl0dOXLE%2Btrb21ufffaZgoKCbNodO3ZMtWrVKpoMAQBAiePQNSDdunVTWlqazbTAwMA87T755BPdddddrmUGAABKLC/DDb%2BXTUtLU7ly5VSuXLminjUAACgB3HIn1MzMTO3du9cdswYAACWAQ6dg7LVr1y6NHTtWBw4ccGk%2B6dmXnOrn6%2B3vdF9X%2BxdF7LizPzjVN7Rac5djp15Jcapv5XLVi/U6J3bpiu3KZ8zZz4jk2ufElc9nUcR2dZ2fvpzkVN/afgEeHWuurnNXltvZvrn9Pbm97cGzYAAAgOkcOgLStWtXu9pdvHjRqWQAAEDp4FABEh8frwYNGqhx48bXbZeUlKSTJ0%2B6lBgAACi5HCpAgoKCVK9ePc2cOfO67bZs2aLdu3e7lBgAACi5HLoGJDQ0VHFxcXa15Wm4AACgIA4dARkyZIiioqIKbRcVFaVt27Y5nRQAACjZHCpAAgMD873z6bV8fX0VEBDgdFIAAKBk42e4AADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdBQgAADAdF4GdwwDAAAmc%2Bg%2BIGZz5VHCxfkxxjtOOXcTt8ibY1x%2BdHT8hUNO9b29YrBH17mry%2B1sf1cety15frk9Oc7jzv7gVN/Qas09%2Bnh2Tz6W3tWx5so6dzW2K/sWT36%2Bi/NYm7dvjlN9R4eMczm2PTgFAwAATEcBAgAATEcBAgAATEcBAgAATEcBAgAATFdkBciVK1d05cqVopodAAAowRwqQHbs2KG0tDSbaZ999pm6dOmisLAwhYWFqWvXrtq2zbmfkQIAgNLBoQJk6NChio%2BPt77eunWrRo8erQoVKmjChAl68sknVb58eY0aNUo7d%2B4s8mQBAEDJ4NCNyK69aerChQsVGRmpJUuWyMvLS5I0ePBgDRgwQIsWLVKbNm2KLlMAAFBiuHQNyC%2B//KKHH37YWnxIkpeXlx5%2B%2BGH9/PPPLicHAABKJpcKED8/P1WqVCnP9MqVKyszM9OVWQMAgBLM4WfBTJgwQeXLl5ckZWZm6vDhw4qIiLBpc/z4cVWrVq1oMgQAACWOQwVIz549bV43bdpU2dnZedpt2LBBTZo0cS0zAABQYnkZ115ZWgROnDihChUqqHLlykU9awAAUAK45U6ofn5%2B%2BuWXX9wxawAAUAI4fA2IPXbt2qWxY8fqwIEDLs1nY8I6p/p1Duyl9OxLTsf19fZX6pUUp/pWLlfd6b65/Z3N3dfb3%2BXldiV2/IVDTse%2BvWJwsV1uV2PHnf3Bqb6h1ZoX6%2BUurrFdHeeu7FtOX05yOnZtv4Bi%2B/kurftUV5d73r45TvUdHTLO5dj24FkwAADAdA4dAenatatd7S5evOhUMgAAoHRwqACJj49XgwYN1Lhx4%2Bu2S0pK0smTJ11KDAAAlFwOFSBBQUGqV6%2BeZs6ced12W7Zs0e7du11KDAAAlFwOXQMSGhqquLg4u9q64de9AACghHDoCMiQIUMUFRVVaLuoqCht27bN6aQAAEDJ5lABEhgYqMDAwELb%2Bfr6KiAgwOmkAABAycbPcAEAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOm8DO4YBgAATMYREAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDoKEAAAYDofTyfgiGPHjunNN9/U3r17dfjwYd1%2B%2B%2B3asGGD2%2BN%2B/fXXWrRokY4cOaK0tDTVrl1bHTt2VGxsrCpWrOjW2OvWrdOUKVPyTB86dKgmTJjg1tj9%2B/fXrl278n3vlVdeUefOnd0a/4svvtC8efN0%2BPBhVa9eXb1799bIkSPl7e1dpHHsGVfffPON1q1bp7179%2Br48ePq27evnnnmGVNiL1u2TJ988okSExOVlZWlW2%2B9VQ899JD69u0rLy8vt8aePHmyPvzwwzx9lyxZonbt2rk1dnBwcIH9v/76a9WqVcttsQ3D0NKlS7V69WqdOXNG9evX1xNPPKEHHnjAqZiS9Omnn2r9%2BvXav3%2B/UlNTdeutt%2Brhhx9Wnz59VKbM1b8F3TXO7IntrnFmT2x3jTN7YrtrnNkT2x3jLDfvwr6z3DXWHFGsCpDDhw/ryy%2B/VFhYmHJycmQYhilxU1NTFR4erscee0yVKlXS4cOHNX/%2BfB0%2BfFjLli0zJYelS5faFDu1a9d2e8ypU6cqLS3NZtry5cv12WefqXXr1m6N/e9//9v6QRw/fryOHj2qOXPm6PLly5o0aVKRxrJnXH311Vc6cOCAIiIilJqaamrsCxcuqEuXLgoKClLZsmX17bff6vnnn1daWpoef/xxt8aWpFtvvVUvv/yyzbQ77rjD6bj2xl6zZk2eaZMmTZKfn5/TXwr2xl66dKnmzp2rESNGKDw8XNu2bdP48ePl6%2Bur6Ohop%2BK%2B9dZbqlOnjp566ilVr15d33//vaZPn67jx49bx7S7xpk9sd01zuyJLblnnNkT213jzJ7Y7hhnkn3fWe4aaw4xipHs7GzrvydNmmR07tzZY7msWbPGsFgsxqlTp9waZ%2B3atYbFYjFSUlLcGsde0dHRxtChQ90eZ9CgQUbPnj1tpi1dutRo0qSJkZycXKSx7BlXf27ToUMH47nnnjMtdn7Gjx9v3HvvvW6P7a7PmTPLffz4ccNisRhLlixxa%2ByMjAwjPDzcmDlzps30YcOGGV27dnU6bn6f4RkzZhghISFGRkZGntyKcpzZEzs/RTHO7IntrnHmzHIX1TgrLLa7xllBrv3OctdYc0SxugYk97DVjaBKlSqSpKysLA9nYp4ff/xRiYmJ6tq1q9tjHThwQJGRkTbT7r77bmVmZmrHjh1FGsueceWusefsfKtWrarMzEyPxC4KzsTesGGDvLy81KVLF7fGPn78uC5evJjv%2BDt06JBOnDjhVNxq1arlmdaoUSNlZGTo3LlzduXmLHti56coxpmzsYuCM7GLapwVFttd46wg135n3Qjfp57PoBjJzs5WRkaG9u/fr9dee00dOnRQQECAKbG7dOmiRo0aKSYmRosWLVJ2drYpcf9sw4YN8vPzU0xMjNtjZWRkqGzZsjbTypUrJ0k6evSo2%2BPfiLKysnTx4kVt375dH330kR599FFT4iYkJKh58%2BZq2rSpevXqpa1bt5oS91obN25URESEbr75ZrfGycjIkCRTxt%2BePXtUpUoVVa9evcjm6WpsM8ZZfrHNGmeFrXN3jrM/xzZjnHnyO8sexeoaEE/r0KGDTp8%2BLelqlfrKK6%2B4PWbNmjU1atQohYWFycvLS//61780d%2B5cnT592tQLhrKysrR582bFxMTI39/f7fHq16%2BvuLg4m2n//ve/Jclz5ys96NixY7r33nutr0eMGKEBAwa4PW6jRo0UEhKiBg0a6MKFC1q9erVGjhypV199Vffff7/b4%2Bc6ePCgfvnlF02bNs3tsQIDA1WmTBnFxcWpZcuW1ulFPf727dundevWueXCamdjmzHO8ott1jgrbJ27c5xdG9uMceaJ7yxHUIA4YPHixbp06ZKOHDmihQsX6vHHH9dbb73l1p3H3Xffrbvvvtv6OjIyUuXLl9fy5cv1%2BOOPu3SRlCO%2B%2BeYbpaSkuHxY0l59%2B/bVlClTtHz5cnXv3l1HjhzR3Llz5e3t7dIV%2BcXVLbfcog8%2B%2BECXLl3S7t27tWTJEpUpU0ajR492a9zHHnvM5nV0dLT69OmjefPmmVqArF%2B/XmXLltV9993n9lg33XSTunfvrqVLl8pisejOO%2B/UF198oY0bN0oqmkPXycnJGj16tEJCQjR06FCX51dUsd09zgqKbcY4s2edu2uc5RfbjHHmie8sR1CAOKBhw4aSpGbNmqlx48bq3bu3Pv/8c1N3xJLUqVMnLVu2TAcOHDCtANmwYYOqVKmS53ylu/Ts2VO//PKLXnzxRc2YMUNly5ZVbGysli9frpo1a5qSw42kXLlyCgkJkSS1bNlS/v7%2Bevnll/Xwww%2Bbuj7KlCmje%2B%2B9Vy%2B99JLS09Pl6%2Bvr9piGYWjTpk26%2B%2B67reex3W3y5MlKTk7WsGHDJF29FmLMmDGaNWuWatSo4dK8L1y4oKFDh8rX11evv/56nkPw7lRYbHeOM0eWu6jHmT2x3TXOrhfbneNMunG%2BswpCAeKkRo0aydvbWwkJCZ5Oxe3S09O1bds2de3a1bSdpZeXlyZPnqyRI0cqKSlJderUUVZWlubMmaOwsDBTcriRNWnSRNnZ2UpKSjK9IDNM%2Bvl7rj179ujEiROaOHGiaTGrVKmiN998U6dPn1Zqaqrq16%2Bvbdu2qWzZsmrcuLHT883IyNCIESP0%2B%2B%2B/a82aNapatWoRZl30sYtqnDkTu6jGmb2x3THOCovtrnGWnxvxO4sCxEk//fSTsrOzVbduXdNjb9q0Sd7e3kU%2BQAvyr3/9SxcvXjTl1y/XqlixorWKf/XVVxUQEKA2bdqYnseNZs%2BePfLy8jJ9/OXk5GjLli0KCgoy5eiHdPWwuL%2B/vzp06GBKvD%2BrXbu2ateurezsbK1evVoPPPCAbrrpJqfmlZWVpTFjxujgwYNatWqVqRcDOhu7KMaZM7GLapw5Eruox5kjsYtynBXEk99ZBSlWBcjly5f15ZdfSpKSkpKUlpamzZs3S5JatGiR78%2BeikJsbKyaNm2q4OBg%2Bfr66uDBg1q6dKmCg4PVsWNHt8TMNXjwYLVq1UoWi0WStG3bNr333nt69NFHTfvLd/369apTp47uuusuU%2BJJUlxcnHbt2qVGjRopPT1d//rXv/Txxx9ryZIlRX7%2B0p5xlZSUpH379lnbJyQkWNu4cjizsNhly5bV0KFD1a1bN9WrV09ZWVn67rvvtHLlSj300EMuHaYtLPbly5c1efJkdenSRYGBgUpNTdXq1av1888/a/78%2BU7HtSd27mc5KytLW7ZsUceOHeXn5%2BdSTEdif/LJJ8rIyFBgYKDOnDmjNWvWKDExMc%2BNshwxbdo0ffHFF5o4caLS09OtFxtKUoMGDXTTTTe5bZwVFtswDLeNs8Jip6amum2c2bPOJfeMM3tiu2OcSfZ9Z7lrrDnCyzD7eKoLEhMTC/wJ6IoVK2yuJC5Kixcv1qZNm5SQkCDDMBQQEKB77rlHgwcPLvIq9VrPP/%2B8vv76a506dUo5OTmqX7%2B%2BHnzwQfXv39%2BUizFTU1PVtm1bPfbYY6YeAj9w4ICmTp2qw4cPS5LCwsI0ZswYhYeHF3kse8ZVQbfEl6RDhw65LXZ4eLimTp2qPXv26PTp0/L19VVgYKD69OmjHj16uFSMFRY7ODhYU6ZM0f79%2B3X27FmVLVtWTZs21bBhw2wujHZH7NzP8vbt2zV8%2BHAtXrxYUVFRLsV0JPbHH3%2BsN954Q4mJifL391dUVJTGjx/v0k8zo6OjlZSUdN247hpnhcV25zgrLLY7x5k961xyzzizJ7Y7xplk33eWu8aaI4pVAQIAAEoGbkQGAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABMRwECAABM5%2BPpBAqSnn1JkmTIsJluGIb032n/e8f403v5TM93Hn9%2B3/H5/G8esnmvqGP9733D5t8Ftclvet5YjvV3JbZ1fdjb/7%2Bvc5RjfV1Q2xzr65xC5nVt//zb5%2BTT/9q2eedV0Oscu9rnXNP%2Bz9Ot/y5o3nbkf3V6Tv7tClomw7BZ/9eft%2B06vXbe9sbM%2BdP//9dGBba5Om/lP28X2hXYpoBcHG9n%2B77%2B9L5xzXt5/1/Y%2B/a2y5uDs32L4v08n6H/tskzlopoPeT86f0CP8d2xsoppJ118P1vof433TrtmjZ5%2BhTwfk4B7fO8n8/0QvvYmUMB7xufJ8oeHAEBAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACmowABAACm8/F0AvmJiYmRJG3bts3DmaAgbKMbG9vnxsb2ufGxjdyPIyAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0FCAAAMB0XoZhGJ5OAgAAlC4cAQEAAKajAAEAAKajAAEAAKajAAEAAKajAAEAAKa7oQqQX3/9VYMHD9add96p1q1b6/nnn1d6erqn00I%2BLl68qHbt2ik4OFj79u3zdDr4r61bt%2BrBBx9Us2bN1KZNG8XGxio%2BPt7TaZVKx44d0zPPPKPu3burcePG6tKli8372dnZWrJkifr166dWrVopIiJCffv21bfffuuhjEufwrZRrvT0dL3yyivq0KGDmjZtqujoaC1YsMDkbEseH08nkOv8%2BfN67LHHVKdOHc2bN09nz57VzJkzde7cOb388sueTg/XWLhwobKzsz2dBv5k586dio2NVbdu3TR27FidP39eCxYs0MCBA7Vx40bddNNNnk6xVDl8%2BLC%2B/PJLhYWFKScnR9fe8SA9PV2LFi1Sjx49NHjwYPn4%2BOjDDz/UwIED9frrr6tDhw4eyrz0KGwbSVcLxeHDh%2BvUqVMaPXq0AgICdOLECZ08edIDGZcwxg1i0aJFRlhYmJGSkmKd9sknnxgWi8U4cuSIBzPDtY4cOWLceeedxurVqw2LxWLExcV5OiUYhvH0008bHTp0MHJycqzT9u7da1gsFmP79u0ezKx0ys7Otv570qRJRufOnW3ez8rKMs6dO2czLScnx%2BjZs6fRr18/U3Is7QrbRoZhGO%2B%2B%2B67RvHlzIzk52czUSoUb5hTMV199pdatW6tatWrWaffdd5/KlSunL7/80oOZ4VrTp09Xnz59dNttt3k6FfxJVlaWKlSoIC8vL%2Bu0ihUrejCj0q1MmevvXr29vVW5cmWbaV5eXmrYsKHOnDnjztTwX4VtI0n64IMP1KlTJ9WoUcOEjEqXG6YAOXr0qO644w6baeXKlVNgYKCOHj3qoaxwrc2bN%2BvgwYMaOXKkp1PBNf7yl78oPj5eK1eu1Pnz55WYmKhZs2bpjjvuUOvWrT2dHuyQk5Ojn376Kc%2B%2BEJ5x5coV/ec//9HNN9%2BsiRMnKiwsTM2aNdOTTz6pP/74w9PpFXs3TAFy/vx5VapUKc/0SpUqKTU11QMZ4VqXL1/WCy%2B8oPHjx3M9wQ0oIiJCCxYs0Jw5cxQREaGYmBgdP35cy5YtU7ly5TydHuywcuVK/frrrxo4cKCnU4Gkc%2BfOKSsrS0uWLNGFCxf02muv6f/%2B7/%2B0c%2BdOjR8/3tPpFXs3zEWoBTEMw%2BaQMjzn9ddfV/Xq1dWrVy9Pp4J8/Pjjj5o4caJ69%2B6t6OhopaWl6Y033tDQoUO1evVqisYb3K5du/TSSy9p0KBBioiI8HQ6kKwXpVaqVEnz5s2zFvIVKlTQqFGjFBcXp9DQUE%2BmWKzdMEdAKlWqpPPnz%2BeZfuHChXyPjMBcSUlJWrZsmUaPHq20tDSdP39ely5dkiRdunRJFy9e9HCGeP7559WqVSv97W9/U%2BvWrXXPPfdoyZIl%2BvXXX/X%2B%2B%2B97Oj1cx8GDB/XEE0%2BoY8eOmjhxoqfTwX/lfvc0a9bM5ihiq1atJF39FQ2cd8McAbnjjjvyXOtx5coVJSQkqHfv3h7KCrkSExOVmZmpYcOG5Xnv0UcfVVhYmN577z0PZIZcR48eVXR0tM20atWqqVatWkpISPBQVihMQkKChgwZosaNG%2BvFF1/kiO8NxM/PTwEBAQW%2Bb89FrCjYDVOAtGvXTq%2B//rr%2B%2BOMPVa1aVZL0%2Beef68qVK4qKivJwdmjUqJFWrFhhM%2B3AgQOaOXOmnnvuOYWEhHgoM%2BSqU6eO9u/fbzMtOTlZZ86cue5OFJ6TnJysQYMGqUaNGlq4cCHX6tyA2rdvr61bt%2BrKlSvW7bNz505JUsOGDT2ZWrF3wxQgffr00apVq/TEE0/oiSeeUEpKil544QV17dqVK8JvAJUqVVLLli3zfa9JkyZq0qSJyRnhWn379tU//vEPTZs2TTExMTp//rwWLVokf39/devWzdPplTqXL1%2B23kIgKSlJaWlp2rx5sySpRYsW8vf315AhQ5SSkqLJkyfryJEjNv3vvPNO03MubQrbRtWqVdPgwYP1ySefaOTIkerXr5/OnDmj2bNnq2PHjmrUqJEn0y/2vAwjn1u/ecivv/6q559/Xnv27JGvr6%2B6dOmiCRMmyNfX19OpIR/ff/%2B9Hn30UX3wwQccAbkBGIah9957T%2B%2B8844SEhLk7%2B%2BvkJAQjRs3TsHBwZ5Or9RJTExUTExMvu%2BtWLFCAQEBBb4vSYcOHXJXavivwrZR7h9dP//8s1544QXFxcXJz89P9913n5566iku7HbRDVWAAACA0oEraAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOkoQAAAgOn%2BHzVWv7hqeq0UAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -356,7 +390,7 @@
 <br>
 
 <h3 id="Cumulative_yield">Cumulative yield</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAl4AAAHKCAYAAADSPkVOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVyU5d4/8M89G%2BDgACNogqKChqWIVi4ogkLu%2BJSaaZa59fIkJ0mUcsnKyqU65oKlnjQfLTXqV2pBuKXmUmaeysfKHdBQDJEZGBiWGWbm94cxh5FFBmZuts/7efUK7m2%2B8%2B3p%2BOm6r/u6BYvFYgEREREROZ2kvgsgIiIiai4YvIiIiIhEwuBFREREJBIGLyIiIiKRMHgRERERiYTBi4iIiEgkDF5EREREImHwIiIiIhIJgxcRERGRSBi8iMipLly4gIULFyIyMhLBwcHo1asXxowZg02bNiE3N7e%2By6vWunXrEBQUVKtzjx49inXr1lW6LzIyEgsWLKhLaU5Vl/pqeu6pU6cQFBSEU6dO1epziBorWX0XQERN1%2Beff4433ngDnTp1wowZM9C5c2eUlpbi999/R2JiIs6cOYMPPvigvst0iqNHj2LHjh2YPXt2hX3vv/8%2B3N3d66Gqmmno9RE1ZgxeROQUv/76K5YsWYL%2B/ftj/fr1UCgU1n0DBgzAtGnTcPz48XqssP48%2BOCD9V1CtRp6fUSNGW81EpFT/Pvf/4YgCHjrrbdsQlcZhUKBqKgo6%2B9BQUGV3pq7%2B9bVrl27EBQUhJMnT2Lx4sXo27cvHnroIbz88ssoLCxEdnY2XnzxRTzyyCMICwvDO%2B%2B8A6PRaD2/qltc169fR1BQEHbt2lXt90pJScH06dMRFhaGHj16YMSIEVi5ciUKCwutxyxYsAA7duywfq%2Byv65fv17hO2k0GnTv3h1r1qyp8FmpqakICgrCxx9/bN2WnZ2N1157DeHh4ejevTsiIyPx/vvvo7S0tNq6Fy1ahD59%2BqCoqKjCvmeffRajRo2y/l7Z7cKCggK88847iIyMRPfu3TFw4EAsW7bM5ntXJTU1FTNmzEBISAj69u2L1157DXq9/p7nETVFHPEiIoczmUz48ccf0a1bN7Rt29Ypn7F48WIMHToUq1atwrlz57B69WqYTCakp6djyJAhmDBhAn744Qds2rQJrVu3xrRp0xzyuVevXkV4eDimTJkCNzc3pKWlYdOmTTh79qw1IMXExKCwsBD79%2B/HZ599Zj23devWFa6nVqsxaNAg7NmzB7GxsZBI/vvfw7t27YJcLsfo0aMB3Ald48ePh0QiwT//%2BU/4%2B/vj119/xYYNG3Djxg2sWLGiyrqfffZZfPnll0hOTsb48eOt269cuYJTp07htddeq/LcoqIiPPPMM/jrr7/w/PPPIygoCJcvX0ZCQgIuXbqErVu3QhCESs%2B9ffs2Jk%2BeDJlMhtdffx2tWrVCUlIS3nrrrSo/j6gpY/AiIofTarUoKipCu3btnPYZgwcPxvz58wHcuXV55swZJCcnY%2BHChZg6dSoAoH///jhx4gSSkpIcFrxiYmKsP1ssFjz00EMIDAzEM888gwsXLqBr167w9/eHt7c3AKBnz573vObYsWNx8OBBnDx5EgMGDABwJ7x%2B/fXXiIyMhJeXF4A7k/3z8vLwzTffwNfXFwAQGhoKV1dXvPPOO9Z5dJXp2rUr%2BvTpgx07dtgEr%2B3bt8Pd3R2PP/54lfV98sknuHjxIj7//HMEBwdbP7dNmzaIjY3FsWPHEBERUem5W7duhUajwZ49e9C1a1cAQEREBKZPn47MzMx79oaoqeGtRiJqlAYNGmTze2BgIABUCACBgYG4ceOGwz43IyMD8%2BbNw4ABA/DAAw%2BgW7dueOaZZwAAaWlptbpmeHg4fHx8bG5znjhxArdu3cK4ceOs27777jv07dsXrVu3RmlpqfWv8PBwAMBPP/1U7ec8%2B%2ByzOH/%2BPH7%2B%2BWcAd24ffvXVVxgzZgyUSmWV5x05cgRdunTBAw88YPO5YWFhEASh2s89deoUunTpYg1dZaKjo6utlaip4ogXETmcl5cX3NzcrHOanMHDw8Pmd7lcXuV2g8HgkM/U6/WYNGkSXFxcMGfOHHTs2BGurq7466%2B/8MILL6C4uLhW15XJZPif//kfbN%2B%2BHTqdDiqVCrt27YKPjw/CwsKsx%2BXk5ODIkSPo1q1bpdfRarXVfk5UVBT8/Pywc%2BdOPPzww9i1axeKioowadKkas/LycnBtWvXavW5ubm5lY58lo0IEjU3DF5E5HBSqRT9%2BvXD8ePH8ddff%2BG%2B%2B%2B675zkKhaLSgHSvMGEvFxcXAKjwWTX5nB9//BG3bt3CJ598gj59%2Bli35%2Bfn17mucePG4aOPPsI333yDkSNH4vDhw5gyZQqkUqn1GC8vLwQFBWHOnDmVXqOyOWTlSSQSPP3001i9ejXmz5%2BPnTt3IjQ0FAEBAdWe5%2BXlBRcXFyxfvrzK/VXx9PTE7du3K2yvbBtRc8BbjUTkFP/4xz9gsViwePHiSgOV0WjE4cOHrb/7%2Bfnh4sWLNsecPHmyRk/N2cPPzw8AKnxW%2BVqqUjaB/O6nNBMTEyscW3ZMTUfBAgMDERISgl27diE5ORkGgwFjx461OWbQoEG4dOkS/P39ERwcXOGvNm3a3PNzxo8fD7lcjvj4eKSnp%2BPpp5%2B%2B5zmDBg1CRkYGPD09K/3c6uby9e3bF5cvX8aFCxdsticnJ9/zc4maIo54EZFT9OrVC0uWLMEbb7yBcePGYeLEiejSpQtKS0tx7tw5fP755%2BjSpQsiIyMBAI899hjWrl2LtWvXok%2BfPrhy5Qq2b9%2BOli1bOrQuHx8f9O/fHx9%2B%2BCE8PDzg6%2BuLkydP4uDBgzX6Th4eHnj99dfxwgsvQCaTISkpqUKIA4D7778fALBp0yaEh4dDIpEgKCio0qU1yowbNw6vvfYabt26hV69elUYiYqNjcUPP/yAiRMnYvLkyejUqRMMBgOuX7%2BOY8eO4Y033rjn6KJKpcJjjz2GTz/9FH5%2Bftb%2BV2fKlCk4cOAAnnnmGUydOhVBQUEwm824efMmTpw4genTpyMkJKTKc7/88kvMnDkTc%2BbMsT7VWNv5cESNHYMXETnNk08%2BiR49emDr1q3YvHkzsrOzIZfL0bFjR0RHR1snpQPAjBkzUFBQgN27d2PLli3o0aMH1q5da/MUoaO8%2B%2B67eOutt7By5UqYTCYMHjwY7733ns1E9sp4eXnh3//%2BN9555x289NJLcHNzQ1RUFFavXo0xY8bYHBsdHY1ffvkFO3fuxAcffACLxYJDhw5VOzo0atQoLF%2B%2B3Dpn7G6tW7fGF198gfXr1%2BOjjz5CVlYWlEol/Pz8MHDgQKhUqhp9/5EjR%2BLTTz/FxIkTbZavqEqLFi2wY8cOfPjhh/jss89w/fp1uLq6om3btujfv791FLEyPj4%2B2L59O5YtW4YlS5bAzc0Njz76KF599VWn/LMlaugEi8Viqe8iiIhIPG%2B//TY%2B/fRTfPfdd9XOzyIix%2BOIFxFRM3HmzBlcvXoVO3fuxIQJExi6iOoBR7yIiJqJoKAguLm5ITw8HCtWrKh27S4icg4GLyIiIiKRcDkJIiIiIpEweBERERGJhMGLiIiISCQMXkREREQi4XISDYzFYoHZ7JznHSQSwWnXporYb/Gw1%2BJiv8XDXourtv2WSATrK8XuhcGrgTGbLdBo9A6/rkwmgZeXEjpdIUpLzQ6/Ptliv8XDXouL/RYPey2uuvRbrVZCKq1Z8OKtRiIiIiKRMHgRERERiYTBi4iIiEgkDF5EREREImHwIiIiIhIJgxcRERGRSBi8iIiIiETC4EVEREQkEgYvIiIiIpEweBERERGJhMGLiIiISCQMXkREREQiYfAiIiIiEgmDFxEREZFIGLyIiIiIRMLgRURERCQSBi8iIiIikTB4EREREYmEwYuIiIhIJAxeRERERCJh8CIiIiISCYMXERERkUgYvIiIiIhEwuBFREREJBIGLyIiIiKRMHgRERERiYTBi4iIiEgkDF5EREREImHwIiIiIhIJgxcRERGRSBi8iIiIiETC4EVEREQkEgYvIiIiIpE0yuCVnp6OGTNmoGfPnggNDcXSpUtRXFxco3N3796N4cOHIzg4GNHR0di7d2%2BFYz744ANMmzYNDz/8MIKCgvDbb79Veq3s7GzMmTMHDz30EB555BG8/PLLyM3NrdN3IyIioqar0QUvnU6HKVOmQK/XIyEhAfPnz0dSUhIWL158z3P37duHBQsWYMiQIdi0aRP69euHuLg4nDhxwua4zz77DEajEQMGDKjyWqWlpXjuuedw6dIlvPvuu1i6dCl%2B/vlnxMTEwGKx1Pl7EhERUdMjq%2B8C7JWYmAidToc9e/ZArVYDAKRSKeLj4zFr1iwEBgZWee7atWsxfPhwzJs3DwDQr18/pKenIyEhAWFhYdbjvvvuO0gkEpw6dQr79%2B%2Bv9FoHDhzAhQsXkJycjC5dugAAWrdujaeeegrHjx9HeHi4o74yERERNRGNbsTr2LFjCA0NtYYuABg2bBgUCgWOHj1a5XkZGRlIS0tDdHS0zfbo6GicPXsWGo3Guk0iuXdbjh49iqCgIGvoAoCHHnoIfn5%2B1dZBREREzVejC16pqakVRrUUCgX8/f2Rmppa5XlpaWkAgICAAJvtgYGBsFgs1v11qQMAOnfuXG0dRERE1Hw1uluNOp0OKpWqwnaVSoW8vLwqzyvbd/e5Hh4eNvvtqaNly5aV1lHX4CWTOT4PS6USm7%2BTc7Hf4mGvxcV%2Bi4e9FpdY/W50wasqFosFgiDc87i7jymbCF%2BTc%2B91LXvqqIpEIsDLS1nr8%2B9FpXJz2rWpIvZbPOy1uNhv8bDX4nJ2vxtd8FKpVNDpdBW25%2BfnVzuxvvzIlre3t3V72bUqG0WrbR32Xqs8s9kCna6w1udXRSqVQKVyg05XBJPJ7PDrky32WzzstbjYb/Gw1%2BKqS79VKrcaj5Q1uuAVGBhY4VaewWDAn3/%2BiXHjxlV5XtncrrS0NJuAlpqaCkEQKsz9qkkd58%2Bfr7D9ypUrGDx4sF3XultpqfP%2BBTOZzE69Ptliv8XDXouL/RYPey0uZ/e70d04Dg8Px48//gitVmvddvDgQRgMBkRERFR5Xvv27REQEICUlBSb7cnJyejRo4fNU5I1ERERgUuXLtmEwDNnzuDGjRvV1kFERETNV6Mb8Zo4cSK2b9%2BOmJgYxMTEICcnB2%2B//TZGjx5tM5K1aNEi7NmzB%2BfOnbNui42NRVxcHPz9/dG/f38cOnQI33//PTZv3mzzGT/99BM0Gg2uXLkCAPjxxx9x48YN%2BPn5ITg4GAAwdOhQBAUFITY2FnPnzoXJZMK7776Lhx9%2BGAMHDhShE0RERNTYNLrgpVKpsG3bNixduhSzZ8%2BGq6sroqOjER8fb3Oc2WyGyWSy2TZixAgUFxdj48aN%2BOijj9ChQwesXr3aZvFUAFi3bh1%2B%2Bukn6%2B8rV64EAIwZMwZvv/02AEAmk2HTpk1YtmwZXnrpJQiCgMjISCxatKhOk%2BuJiIio6RIsfL9Ng2IymaHR6B1%2BXZlMAi8vJbRaPecKiID9Fg97LS72Wzzstbjq0m%2B1WlnjyfWNbo4XERERUWPF4EVEREQkEgYvIiIiIpEweBERERGJhMGLiIiISCQMXkREREQiYfAiIiIiEgmDFxEREZFIGLyIiIiIRMLgRURERCQSBi8iIiIikTB4EREREYmEwYuIiIhIJAxeRERERCJh8CIiIiISCYMXERERkUgYvIiIiIhEIqvtiampqTh9%2BjS0Wi2eeOIJ%2BPj4ICsrCx4eHnB1dXVkjURERERNgt3By2Qy4dVXX8Xu3bthsVggCALCw8Ph4%2BOD119/HQ888ABefPFFZ9RKRERE1KjZfatxw4YNSE5Oxssvv4zk5GRYLBbrvoEDB%2BL48eMOLZCIiIioqbB7xGv37t2IiYnBtGnTYDKZbPa1a9cO169fd1hxRERERE2J3SNeWVlZ6NmzZ6X7XFxcoNfr61wUERERUVNkd/Bq1aoVMjIyKt2Xnp6O%2B%2B67r85FERERETVFdgeviIgIbNy4EVlZWdZtgiAgPz8fn3zyCQYPHuzQAomIiIiaCrvneMXGxuLYsWMYOXIk%2BvbtC0EQsGrVKly%2BfBkymQwxMTHOqJOIiIio0bN7xMvb2xtffPEFRo0ahT/%2B%2BANSqRQXLlxAeHg4EhMT4enp6Yw6iYiIiBq9Wi2g6u3tjTfffNPRtRARERE5hdagxx%2B5mRAE4EEPX3gplPVSR61Xri/v5s2buHz5MoKDg%2BHl5eWISxIRERE5hNagx6rzB3CzOA8A4OvmibiuQ%2BolfNkdvFavXo2ioiIsWrQIAPDDDz/g%2Beefh8FggIeHB7Zv344uXbo4vFAiIiKi2rim10BjvLPclQUWaAx6XNNr6iV42T3H68CBA%2BjcubP19zVr1iAoKAgffPABfH19sWHDBocWSERERFQXHZRqqOV3QpYAAWqFEh2U6nqpxe4Rr6ysLPj7%2BwMAtFotfvvtN3z44YcYOHAgSkpK8M477zi8SCIiIqLa8lIoMfeBoY1zjpfFYrG%2Bn/GXX36BVCpF7969AQCtW7eGVqt1bIVEREREdeSlUCKsdf1PhbL7VqO/vz%2BOHDkCAEhJSUFwcDBcXV0BALdu3YJKpXJshURERER1oDXocUabAa2h/l9raPeI14QJE/Dmm2/iq6%2B%2Bgk6nw/Lly637fvnlF5v5X0RERET16WpBNjZcOYpikwFqhTtig6Lq7TYjUIvgNWnSJHh4eODXX39FcHAwHnvsMeu%2BkpISjBkzxqEFEhEREdWG1qDHhitHcbskH1JBAo2hoN6eZixTq3W8Ro0ahVGjRlXY/tZbb9W5ICIiIiJHuKbXoMhkgFSQwGQxw1WqqLenGcvYPceLiIiIqDHooFTDU94CMkEKtUKJWZ0j6nW0C6jliNfp06fxySefIDU1FcXFxRX2Hzp0qM6FEREREdWVxWKBIACuEjk8FC3quxz7R7z%2B85//YOrUqcjPz0dqaioCAgLQpk0b3Lx5EzKZDH369HFGnTbS09MxY8YM9OzZE6GhoVi6dGmlAbAyu3fvxvDhwxEcHIzo6Gjs3bu3wjFGoxHvvfcewsLCEBISgsmTJ%2BPChQsVjjt9%2BjQmT56M3r17o2/fvpg2bRrOnj1b5%2B9HREREdXcuLxNaYyFaylyRbyrGNb2mvkuyP3itW7cOY8eOxebNmwEAc%2BbMwc6dO7Fr1y7o9XoMGTLE4UWWp9PpMGXKFOj1eiQkJGD%2B/PlISkrC4sWL73nuvn37sGDBAgwZMgSbNm1Cv379EBcXhxMnTtgct2LFCuzYsQOxsbFYv349ZDIZpk6diuzsbOsxly9fxowZM%2BDi4oKVK1dixYoVKCoqwtSpU3H9%2BnWHf28iIiKqOa1Bj32Zv6PYZMTtkgKoZG71Pr8LqMWtxsuXL2P69OkQBAEAYDKZAABdu3ZFTEwMPvjgA0RGRjq2ynISExOh0%2BmwZ88eqNV3GiiVShEfH49Zs2YhMDCwynPXrl2L4cOHY968eQCAfv36IT09HQkJCQgLCwNwZ2X%2BxMREvPLKK3jyyScBACEhIYiKisK2bdsQHx8PADh48CAA4P3337euY9ajRw8MGDAAx44dw6RJk5zTACIiIrqna3oN8k3F8HZxR35pMYbe163e53cBtRjxKioqglKphEQigUKhsFmpPiAgAKmpqQ4t8G7Hjh1DaGioNXQBwLBhw6BQKHD06NEqz8vIyEBaWhqio6NttkdHR%2BPs2bPQaO4MP544cQImk8nmqU13d3dERkbaXL%2B0tBRyuRwuLi42x0kkEuvK/kRERFQ/OijV8JIrUWw2orWLCt08feu7JAC1CF6%2Bvr64ffs2AKBz5842YeT06dPw9PR0XHWVSE1NrTCqpVAo4O/vX23oS0tLA3AnHJYXGBgIi8Vi3Z%2Bamgpvb%2B8K3yMwMBDp6ekwm80AgNGjR8NsNuO9996DRqNBdnY2li1bBrVajREjRtT5exIREVHteSmUiA2KwtROYfW%2BaGp5dt9q7NOnD3766ScMHz4c48ePxxtvvIHU1FQoFAp8//33mDZtmjPqtNLpdJW%2BlkilUiEvL6/K88r23X2uh4eHzX6dToeWLVtWON/DwwNGoxGFhYVwd3dHp06dsHXrVsTExGDTpk0A7ryrcsuWLTajcbUhkzl%2BlQ%2BpVGLzd3Iu9ls87LW42G/xsNd15yNrCZ8WFf9Mr4xY/bY7eM2ePdsaUp566ikUFxcjKSkJADBr1iw8//zzjq2whu48Lirc87i7jym7LVh%2Be2XXufv2YXp6OmbPno1%2B/fph7NixKC0txccff4yZM2fi008/ha9v7YY0JRIBXl7OS%2BUqlZvTrk0Vsd/iYa/F1Rz7nVNUgOM3LyG7KB%2BDfbuis1cbUT63Ofa6rnKKCvDr7T8hAOjp7Y9Wbu41PtfZ/bY7eKnVapsRnWnTpjl9lKs8lUoFnU5XYXt%2Bfn61E%2BvLj2x5e3tbt5ddq2wkrKrr63Q6yOVytGhxZw2Q1atXw9vbGytXrrQGtX79%2BiEqKgpbtmyp0VOWlTGbLdDpCmt1bnWkUglUKjfodEUwmcwOvz7ZYr/Fw16Lq7n2W1Oixzu/p%2BBm8Z0/H/Ze/R2vBI9CQEsfp31mc%2B11XWlK9Fj5xz5kFuUBAuDr5on4B4dB7VL9oEZd%2Bq1SudV4pKxWC6iWycrKQm5uLjw9PdGmjTjJPzAwsMJcLoPBgD///BPjxo2r8ryyuV1paWk2AS01NRWCIFj3BwYGIicnx/q9yh/XqVMnSCR3GnvlyhWEhITYjI65uLigU6dO%2BPPPP%2Bv0HUtLnfcvmMlkdur1yRb7LR72WlzNrd9putvIMeitvxstJvx8%2Bxr83Vo5/bObW6/rqvw/K4vFAk2JHmm621B51Wwky9n9rtWNzAMHDmDYsGEYNGgQHn/8cQwaNAjDhg3Dvn37HF1fBeHh4fjxxx9tnqY8ePAgDAYDIiIiqjyvffv2CAgIQEpKis325ORk9OjRwzqKFxYWBolEYrOwql6vx%2BHDh22u7%2Bvri/Pnz9vcgiwqKkJqair8/Pzq/D2JiKjh6KBUQy3/74iJXJCil1f7eqyIqlL%2Bn5UAAWqFskGs31XG7hGvlJQUzJ07FwEBAfjnP/8Jb29vZGdnIyUlBXFxcTCbzRg5cqQzagUATJw4Edu3b0dMTAxiYmKQk5ODt99%2BG6NHj7YZyVq0aBH27NmDc%2BfOWbfFxsYiLi4O/v7%2B6N%2B/Pw4dOoTvv//euhgsALRp0wYTJ07EypUrIZPJ4Ovriy1btgAApkyZYj1u0qRJmDVrFubOnYsxY8bAaDRi27Zt0Ol0mDBhgtO%2BPxERic9LocRLDw7HT7fToTHoEeodgI7uzrvNSLXnpVBi7gND8UduJgQBeNDDt8E80QgAgsXORadGjRoFPz8/bNy40XrbDQDMZjNmzpyJmzdv4ptvvnF4oeWlp6dj6dKl%2BPnnn%2BHq6oro6GjEx8dbFzIFgAULFmD37t24ePGizbm7d%2B/Gxo0bcePGDXTo0AEvvPBCheUfDAYDEhISsHv3buTn5yMkJASvvPIKunbtanPcgQMHsHnzZqSlpUEqlSIoKAixsbF45JFHav3dTCYzNBr9vQ%2B0k0wmgZeXElqtnkPWImC/xcNei6s59ltr0NfLH%2BLNsdf1qS79VquVNZ7jZXfwCg4Oxrp16zBo0KAK%2Bw4fPowXX3wRv/32mz2XpHIYvJoG9ls87LW4mlu/tQY9Vp0/gJvFd57m93XzRFzXIaKEr%2BbW6/omVvCq1QKqRUVFle4rLi5G27Zt7b0kERFRg3QuLxPZhnxY/v4/jUHfIF60TI2X3cFr%2BvTpWL9%2BvfUVO2VycnKwYcMGTJ8%2B3WHFERER1RetQY9vbpyFwWyCBYAFgIfctUFN1KbGp0aT65cuXWrze0FBAaKiotCvXz/4%2BPggOzsbP/74I7y8vHDlyhWnFEpERCSma3oN8kqLIOBO6JILUoxo26NBTdSmxqdGwWv79u2Vbj9y5IjN70VFRdixY0etFw8lIiJqCLQGPQqMxfCUt0CWSQcBQBvXhvOiZWq8ahS8Lly44Ow6iIiIGgStQY%2BEi4egNerRUuqKJ/0fgVLm0uCWJaDGqU4r1xMRETU11/QaaI16KKUuyDcVo7WrB3pysVRyEL7ynIiI6G9agx5ZRXmQQoJcYyFUMjdOpieHqtWI11dffYVt27YhLS0NJSUlFfafP3%2B%2BzoURNUVlCzEWmkp464KogSlbsyuzOBcWAAIAk4XrZ5Fj2R28Dh06hEWLFmHMmDE4d%2B4cxo0bh5KSEhw%2BfBitW7dGdHS0M%2BokavS0Bj1Wnt9vXYhRAkHUxRiJqHrX9BpojLYLWOcZi3BNr%2BG/o%2BQwdt9q3LRpE6ZOnYo33ngDwJ13Fq5cuRL79%2B%2BH2WzGfffd5/AiiRo7rUGPvZm/46%2B/QxcAmLkYI1GDcveLsBviC5ap8bN7xCs9PR2zZ8%2BGIAgAAJPJBADw8fHBrFmz8NFHH%2BGJJ55wbJVEjVjZE1JZxXko/34u/o86UcNS/uXKnA5AzmJ38DKZTJDL5ZBIJHBzc0N2drZ1X9u2bZGRkeHQAokaq5yiAvyfJgOpebfwV3EeWkgVKDGXQi5I0UKqwHDf7ujdqhP/R52oAfFSKBHWukt9l0FNmN3Bq127drh16xYAoGvXrvjmm28QFRUFANi/fz98fHwcWyFRI6Qp0WPdb4fwl14HvenOAygl5lK0dnHHaL%2Be/K9oIqJmyu7gFRoaih9%2B%2BAHR0dF49tlnERcXh99%2B%2Bw1yuRzp6emYN2%2BeM%2BokalT%2ByL2Bvwp1wN83F8teOdLD0x8DfPhf00REzZXdwSsuLg4GgwEAMGLECEilUiQlJUEQBDz33HMYO3asw4skaky0Bj2Sr59FUakB5nKzuhSCFP29A%2BqxMiIiqm92By%2BFQgGFQmH9fejQoRg6dKhDiyJqjMrW6LpckIWsYh0ssEAA8GibB%2BEqlaOXV3t0dOeteCKi5oyvDCJygLKFF28W51lHuSS48%2BRv%2BxZqTtYlIiIAtQhezz77bJX7JBIJVCoVumwoQh0AACAASURBVHfvjieeeAJqNR%2BTp%2BahsoUX5RIpfFzc0c3Tt56qIiKihsbu4GWxWHD16lVkZ2fDz88P3t7eyM7ORmZmJlq3bg21Wo0jR45g27Zt2LFjBzp27OiEsokalrKFF2%2Ba8iCBgDauKkwI6o2Ocm%2BopG71XR4RETUQdq9cP2vWLMjlcnz22Wc4dOgQPvvsMxw%2BfBiJiYmQSqWIi4tDSkoKWrRogTVr1jijZqIGp2zhxamdBmBawADM7z4CUe0fhNqFS0YQEdF/2R28Vq1ahZiYGISEhNhs79mzJ2JiYrB69Wq0b98eM2bMwKlTpxxWKFFDpTXoceLWZZzLy0Q3T18M8OnCwEVERJWy%2B1bjpUuX0LZt20r3tW3bFmlpaQCAgIAA5Ofn1606ogau/KR6ANaXXvvIWtZzZURE1BDZPeLl7e2NgwcPVrrv4MGDaNWqFQCgoKAAKpWqbtURNXDlJ9Vb%2BNJrIiK6B7tHvJ588kmsWbMG%2Bfn5GDFiBFq1aoWcnBykpKRg7969mDNnDgDg119/RVBQkMMLJmpIyk%2Bq50uviYjoXuwOXs8//zwKCwuxdetWpKSkALjzpKNCocDMmTPxj3/8AwAwatQojB8/3rHVEjUwZZPq/8jNhCCA72AkIqJqCRaLxXLvwyrS6XQ4c%2BYMcnNz4enpiZCQEHh4eDi6vmbHZDJDo9Hf%2B0A7yWQSeHkpodXqUVpqdvj1yRb7LR72Wlzst3jYa3HVpd9qtRJSac1mb9V65XqVSoXw8PDank5ERETU7NQoeGVmZsLHxwdyuRyZmZn3PN7Xlyt1ExEREd2tRsErKioKn332GXr06IHIyEgIglDt8efPn3dIcURERERNSY2C1/Lly9G%2BfXvrz/cKXkTNhfbv5SM6KNWcVE9ERPdUo%2BA1ZswY689jx451WjFEDV1Z0PKUu%2BKiLgvfZp2DwVwKtcIdsUFRDF9ERFStWk%2BuJ2putAY9Ei4eQo6hACWlRpTCDAsAGSTQoADX9BoGLyIiqpbdwev999%2Bvcp9EIoFKpUL37t3Rs2fPOhVG1BBoDXr8dDsdmUW5gABoDAWQC1IUoMR6TCnMcJUquHAqERHdU62ClyAIqGz5r7LtgiCgd%2B/e2LBhA5RKjgBQ46Q16PGvc/vwV4nOuk0mSOAisUAOCUywwAIL1AolZnWO4GgXERHdk93B6%2BDBg3juuecwbtw4REdHw9vbG9nZ2fjmm2/w5Zdf4l//%2BheuXbuGJUuWYO3atVi0aJEz6iZyuvLvYSwjgYDINg%2Bgl1d7XC/M5Wr1RERkF7uD17Jly/DYY49h5syZ1m1%2Bfn6YOXMmSktLkZCQgM2bN%2BPPP//El19%2ByeBFjZan3BUtpAoYzEXWba1clBjUJgheCiU6uvvUY3VERNQY1Wx9%2B3JOnTqFXr16VbqvV69e%2BPnnn60/37p1q27VEdWTqwXZ2HDlKIxmEzzlbuij7oSJ/r0R/8Bwjm4REVGt2R28FAoFzp07V%2Bm%2B33//HQqFAgBgNpvRokWLulVHJCKtQY8z2gxr6Lpdko8ScylMFjP6eQdiaNvuDF1ERFQndgevqKgorFu3Dp9//jl0ujuTjnU6HRITE7F%2B/Xo8%2BuijAIBLly7B39/fsdX%2BLT09HTNmzEDPnj0RGhqKpUuXori4uEbn7t69G8OHD0dwcDCio6Oxd%2B/eCscYjUa89957CAsLQ0hICCZPnowLFy5Uer1vv/0WTz75JEJCQtCnTx9MmzYNubm5dfp%2BJL6ypSK2pp/AhitHUVhaAqkggcnCJxaJiMhx7J7jtXDhQly9ehWvvfYaXn/9dUilUphMJlgsFjz00ENYsGABAKBNmzZ44YUXHF6wTqfDlClT4Ovri4SEBGg0GqxYsQK5ublYuXJltefu27cPCxYswMyZMzFgwAB8%2B%2B23iIuLQ8uWLREWFmY9bsWKFdizZw8WLFgAPz8/bN68GVOnTkVSUhJ8fP47r2fXrl14/fXXMX36dMydOxeFhYX46aefYDQaHf69ybmu6TXQGvVQSl2QX1qMFjIXCCYBblIFn1gkIiKHESyVrQtxDxaLBceOHcPp06eRm5sLT09P9O7dG%2BHh4U5/ndCHH36I9evX4/Dhw1Cr74xCJCUlIT4%2BHikpKQgMDKzy3BEjRuD%2B%2B%2B/H2rVrrdtmzJiB/Px8fP755wCArKwsDB48GK%2B88gqefvppAEBBQQGioqIwfvx4xMfHAwC0Wi2ioqIwf/58TJgwwWHfz2QyQ6PR3/tAO8lkEnh5KaHV6lFaanb49Ru7shEvrVEPL7kSUzqFItdYXOtXAbHf4mGvxcV%2Bi4e9Fldd%2Bq1WKyGV1uwmYq1WrhcEAREREYiIiKjN6XVy7NgxhIaGWkMXAAwbNgyLFi3C0aNHqwxeGRkZSEtLw9y5c222R0dHY%2BHChdBoNFCr1Thx4gRMJhNGjRplPcbd3R2RkZE4evSoNXjt3bsXFovF5nVK1LhFtXmAy0MQEZFTNbpXBqWmpmLcuHE22xQKBfz9/ZGamlrleWlpaQCAgIAAm%2B2BgYGwWCxIS0uDWq1GamoqvL294enpWeG4pKQkmM1mSCQS/N///R86deqE3bt3Y8OGDcjOzkZQUBBeeuklhIaG1uk7ymR2T727p7IkXtNE3pxoSvRYd%2BkQtIZCeClaIFjdrs7/DNhv8bDX4mK/xcNei0usfje64KXT6aBSqSpsV6lUyMvLq/K8sn13n%2Bvh4WGzX6fToWXLlhXO9/DwgNFoRGFhIdzd3XH79m2kp6dj3bp1iI%2BPR6tWrbB161bMnDkTKSkpaN%2B%2Bfa2%2Bn0QiwMvLeaMtKpWb067dWP2ScQ3ZJQVQKVyRW1qEHEGPQK/WDrk2%2By0e9lpc7Ld42GtxObvfjS54VaXsVUX3cvcxZVPcym%2Bv7Dp3T4Uzm80oLCzEmjVrrLdce/fujaioKHz00UdYsmSJvV/h7%2BtaoNMV1urc6kilEqhUbtDpimAyca5AmbT8bHxy4SSKSg0oMhng6%2BaJVpY79/jrgv0WD3stLvZbPOy1uOrSb5XKzblzvOqTSqWyLmNRXn5%2BfrUT68uPbHl7e1u3l12rbCSsquvrdDrI5XLr2mRl1%2Bvbt6/1GFdXV4SEhODKlSv2fi0bzpxEaTKZOUnzb1qDHh9cPAKNQQ8JBCgEKYa26QaV1M1hPWK/xcNei4v9Fg97LS5n97vR3TgODAysMJfLYDDgzz//rDZ4lc3tKpvrVSY1NRWCIFj3BwYGIicnp8JaXKmpqejUqRMkEon1uKpGxpz9ZCc5xjW9BkUmA6SCBGZY4C53QzdP3/oui4iImrBGF7zCw8Px448/QqvVWrcdPHgQBoOh2qcs27dvj4CAAKSkpNhsT05ORo8ePaxPSYaFhUEikdgsrKrX63H48GGb6w8aNAgWiwUnT560bisqKsKZM2fQtWvXOn9Pcr4OSjVaKdzhKpXD26Ul1%2BsiIiKnq9Wtxq%2B%2B%2BgrJycnIzMyssGK8IAj49ttvHVJcZSZOnIjt27cjJiYGMTExyMnJwdtvv43Ro0fbjHgtWrQIe/bssXm9UWxsLOLi4uDv74/%2B/fvj0KFD%2BP7777F582brMW3atMHEiROxcuVKyGQy%2BPr6YsuWLQCAKVOmWI8LDg5GVFQUFi9ejHnz5lkn1xcXF%2BO5555z2vcnx%2BISEkREJCa7g9eHH36IVatWoXPnzujatav13YxiUalU2LZtG5YuXYrZs2fD1dUV0dHR1vW1ypjNZphMJpttI0aMQHFxMTZu3IiPPvoIHTp0wOrVq21WrQeABQsWoEWLFlizZg3y8/MREhKCbdu22axaDwD/%2Bte/sHLlSrz77rvQ6/Xo0aMHtm7dijZt2jjny5PD3L1g6oMevMVIRETOZ/fK9Y8%2B%2BigiIiLw6quvOqumZo0r14vjjDYD/5t2HDJBilKLCdMCBqKnV%2B2WAKkM%2By0e9lpc7Ld42GtxNdiV62/fvm19ETZRYyWBBUUmI0yWEsgFKTzlrvVdEhERNQN2T67v1q0bMjIynFELkSiuFmRjS9oPKLWYIUCAXCJFrrH43icSERHVkd3Ba8GCBdiyZQt%2B//13Z9RD5FRXC7Kx5uIh6EqLAAAWWNBC5oIOSvU9ziQiIqo7u281Llq0CLm5uRg/fnyl7zQUBAFff/21wwokchStQY8NV45aQxcAtJS5cRkJIiISjd3By9PTs0LYImrotAY99mb%2BjnxjEWSCBKUWM1QyN8wJikJHd597X4CIiMgB7A5en3zyiTPqIHIarUGPVecPILM4FxYAAoBWCiX%2B2WUwQxcREYmq0a1cT2Sva3oNNEY9BNx5lZNCIsNjfr0YuoiISHQ1GvHKzMyEj48P5HI5MjMz73m8ry8Xo6SGo4NSDbVciZumPEggwMelJd/JSERE9aJGwSsqKgqfffYZevTogcjIyHu%2BBPr8%2BfMOKY6otrQGPa7pNdanFYe17Y5CUwmUMhe%2BHoiIiOpNjYLX8uXL0b59e%2BvP9wpeRPWp/OuAWkpdIQgCdKVF8JIrERsUxdBFRET1pkbBa8yYMdafx44d67RiiBzhml4DrVEPpdTFOrfLQ%2B4GrfHOKBiDFxER1Re7n2okaug6KNXwkiuhNeqhlittRry4UCoREdUnBi9qkqLaPABBAB70uDOJvmy%2BF0e7iIioPjF4UZNwtSAbP9xOQwupHL9o/7SOcJVNpGfgIiKihoDBixotrUGPP3IzcbskHymZv6EUZgCABAK8Xdw5p4uIiBocBi9qlMpWo79ZnAczLDb7LLCgoLQEPi4tOaeLiIgaFAYvapTKVqOvjI%2BLO0b79eR6XURE1ODUKHidPn3arov27t27VsUQ1dTdq9F7u7gjqOV98Gvhid6tOjFwERFRg1Sj4DV58mTroqkWi4Ur11O981IoMfeBofgjN9P69CLDFhERNXQ1Cl4ff/yx9We9Xo%2B33noLnTp1QnR0NLy9vXH79m0kJSUhPT0dr732mtOKJSrPS6FEWOsu9V0GERFRjdUoePXp08f685IlS/DII4/g3XfftTlmzJgxeOmll3DkyBEMHjzYsVUSERERNQESe0/Yt28fRo8eXem%2B0aNH48CBA3UuioiIiKgpsjt4FRcXIycnp9J9OTk5KC4urnNRRERERE2R3cHr4Ycfxpo1a3Dp0iWb7RcvXsSaNWvw8MMPO6w4oupoDXqc0WZAa6h8WQkiIqKGxu51vF555RU888wzePzxx9G5c2f4%2BPggOzsbV65cgaenJ1555RVn1ElkQ2vQI%2BHiIWiNenjJlYgNiuJTjURE1ODZPeIVEBCApKQkTJ8%2BHa6ursjIyICrqytmzJiBr7/%2BGgEBAc6ok8jGNb0GWqMeSqmL9dVAREREDV2tVq5v1aoV4uPjHV0LUY15yl3hIpGjoLQYaoU7Xw1ERESNAl8ZRI1G2UuxC00lOJF9BUUmA9ykCkzpFMrbjERE1CjUKHgtXLiwxhcUBAHLly%2BvdUFE5ZWFrdsl%2BTiWfQk6YzEssED4%2BzVBxWYjco18kpaIiBqHGgWvU6dO1fiC93qdEFFNaQ16rDp/AJnFubBU2GtBQWkJfFxa8jYjERE1GjUKXocPH3Z2HUQVXNNroDFWXCpCgID7XFUY6RvMdzQSEVGjwjle1GB1UKqhliuRacoFAAgAPORuGN62O3q36sTARUREjU6tg9fx48fx008/QavVIiYmBr6%2Bvjh79izatWsHtZq3fqhuyuZ2DSz3EmylzIUjXERE1KjZHbyKiooQExODkydPWudzPfXUU/D19cWWLVvQtm1bzJ8/3%2BGFUvNRNrfrZnEeAMDXzRNxXYcwcBERUaNn9wKqq1evxu%2B//45169bhP//5DyyW/057HjBgAH744QeHFkjNT/m5XRZYoDFwgVQiImoa7A5e%2B/btw4svvoghQ4bA1dXVZp%2Bvry9u3rzpsOKoeSqb2wXcmUivVij55CIRETUJdt9q1Gg06Ny5c6X7JBIJiou5phLVjZdCibkPDMUfuZkQBHBeFxERNRl2j3i1adMGly5dqnTfxYsX0a5duzoXRc2b9u9bi908fTHApwtDFxERNRl2B6%2BhQ4di48aNOHfunHWbIAi4ceMGtm7diuHDhzu0wMqkp6djxowZ6NmzJ0JDQ7F06dIaj7Tt3r0bw4cPR3BwMKKjo7F3794KxxiNRrz33nsICwtDSEgIJk%2BejAsXLlR5TbPZjDFjxiAoKAj79u2r9feiO6Er4eIhbE0/gYSLh6A1VFzHi4iIqLGyO3j985//ROvWrTF%2B/HiMGzcOgiBg4cKFiI6OhlqtxsyZM51Rp5VOp8OUKVOg1%2BuRkJCA%2BfPnIykpCYsXL77nufv27cOCBQswZMgQbNq0Cf369UNcXBxOnDhhc9yKFSuwY8cOxMbGYv369ZDJZJg6dSqys7MrvW5iYiJu3brlkO/X3F3Ta6A16qGUukBr5KR6IiJqWuwOXu7u7khMTMSLL76IFi1awN/fH25ubvjHP/6BHTt2VJhw72iJiYnQ6XRYv349wsPD8fjjj2Px4sVISkpCampqteeuXbsWw4cPx7x589CvXz8sXrwYAwYMQEJCgvWYrKwsJCYmYt68eXjyyScxYMAArFu3DhaLBdu2batwTY1Gg7Vr1yIuLs7h37W50Rr0yCrKgxQS5BoLoZK5cVI9ERE1KXYHLwBwdXXFzJkzsXPnTuzfvx%2BJiYl4/vnn4ebm5uj6Kjh27BhCQ0NtFmkdNmwYFAoFjh49WuV5GRkZSEtLQ3R0tM326OhonD17FhrNnZGVEydOwGQyYdSoUdZj3N3dERkZWen1V61ahb59%2B6Jfv351/WrN2tWCbCz74xt8nnEaWmMhik1GmCzm%2Bi6LiIjIoRrdK4NSU1Mxbtw4m20KhQL%2B/v7VjnilpaUBAAICAmy2BwYGwmKxIC0tDWq1GqmpqfD29oanp2eF45KSkmA2myGR3MmrZ8%2BeRXJyMpKTkx3x1axkslrl4WpJpRKbvzckmhI9Nl45Cs1d87nyjEW4XqyFT4uW9VRZ7TXkfjc17LW42G/xsNfiEqvfNQpeCxcuRExMDNq3b4%2BFCxdWe6wgCFi%2BfLlDiquMTqeDSqWqsF2lUiEvL6/K88r23X2uh4eHzX6dToeWLSv%2BQe/h4QGj0YjCwkK4u7vDbDbjzTffxLRp09CuXTtcv3691t%2BpPIlEgJeX857iU6mcPyppr8tZt1BsMUImSFD69yiXIAjwadESIb7t4eXWeJ9qbIj9bqrYa3Gx3%2BJhr8Xl7H7XKHidOnUKU6ZMsf5cnbLXCInNYrHU6LPvPqZs5f3y2yu7TvkV%2BgHg//2//4fs7GyHP0xgNlug0xU69JrAnQSvUrlBpyuCydSwbuG1siihkrnBUGqCu9wFEa2D0Nq1Jbp5%2BkFSLEBb3PiebGzI/W5q2Gtxsd/iYa/FVZd%2Bq1RuNR4pq1HwOnz4cKU/1weVSgWdTldhe35%2BPgIDA6s8r/zIlre3t3V72bXKRsKqur5Op4NcLkeLFi2g1%2BuxatUqxMXFwWg0wmg0oqCgAABQXFyMgoICuLu71/o7lpY6718wk8ns1OvXhqaoAIWlBgiwQClxQbjP/da1uxparfZqiP1uqthrcbHf4mGvxeXsfje6G8eBgYEV5nIZDAb8%2Beef1QavsrldZXO9yqSmpkIQBOv%2BwMBA5OTkIDc3t8JxnTp1gkQigVarRW5uLl5//XX07t0bvXv3xmOPPQYAmD9/PoYNG1bn79kcaA16nLh1GR9cPgKtQQ%2BjxQxdaRGXkCAioibL7sn1o0ePxtNPP43HHntMlKcY7xYeHo4NGzZAq9XCy8sLAHDw4EEYDAZERERUeV779u0REBCAlJQUDBkyxLo9OTkZPXr0sD4lGRYWBolEgr179%2BKpp54CAOj1ehw%2BfBjjx48HAPj4%2BODjjz%2B2uf7t27cxd%2B5czJ49G/3793fod26KtAY9Vl84iOySfBjMpZAKEpgsZrhKFVxCgoiImiy7g5eXlxeWLFmC9957D2PGjMGkSZPQsWNHJ5RWuYkTJ2L79u2IiYlBTEwMcnJy8Pbbb2P06NE2I16LFi3Cnj17bFbYj42NRVxcHPz9/dG/f38cOnQI33//PTZv3mw9pk2bNpg4cSJWrlwJmUwGX19fbNmyBQCs89xcXFzQt29fm7rKJtd37twZDz30kNO%2Bf1NxLi8TmUW5MOPO3DmZIIGXQolZnSP4iiAiImqy7A5eH3/8Ma5cuYLt27fjiy%2B%2BwPbt2xEaGopnnnkGgwcPdkaNNlQqFbZt24alS5di9uzZcHV1RXR0NOLj422OM5vNMJlMNttGjBiB4uJibNy4ER999BE6dOiA1atXIywszOa4BQsWoEWLFlizZg3y8/MREhKCbdu2wcfHx%2Bnfr7koe1ZBAgEWWBDmcz9G%2BHZn6CIioiZNsNz9uJ4dCgoKsGvXLnz66ae4evUqfH19MWnSJDzxxBPWyexkH5PJDI3G8U/xyWQSeHkpodXqG8QkTa1Bj1XnD0Bj1EMtV2LuA0ObVOhqaP1uythrcbHf4mGvxVWXfqvVyho/1Vin4FUmOzsb8fHx1qUm3NzcMGHCBLz44ov1Mg%2BsMWsuwQu4E76u6TXooFQ3qdAFNMx%2BN1XstbjYb/Gw1%2BISK3jVaeX6X3/9FTt27MD%2B/fshk8nw1FNPYeTIkTh06BA%2B/fRTZGVlYfXq1XX5CGrCvBTKJhe4iIiIqmN38CopKUFSUhJ27tyJ8%2BfPw9fXF3FxcRg/frx1xffevXuja9eueOONNxxeMBEREVFjZXfwCg8Ph06nwyOPPIJ169YhKiqq0pXeO3XqhKKiIocUSU1PU77NSEREVBW7g9ejjz6KZ599FkFBQdUeFxISggsXLtS6MGq6tAY9Ei4egtaoh5dcidigKIYvIiJqFuwOXsuWLXNGHdSMXNNroDXqoZS6QGu8M/LF4EVERM1Bo3tlEDVuWoMeWUV5kAtSFJQWw0uu5Er1RETUbNTpqUYie2gNeqw8vx9/FecBANQKJaZ0CuVoFxERNRsMXiSac3mZ%2BKs4D2ULxxWaDMg1FtdrTURERGLirUYSjb60BOVX623BF2ITEVEzw%2BBFotAa9Dh%2B6zLKFh7xkrfAP7sM5m1GIiJqVmp9qzE1NRWnT5%2BGVqvFE088AR8fH2RlZcHDwwOurq6OrJGagHN5mdAaC6FWKFFoMmBMu4fQ0Z0vHScioubF7uBlMpnw6quvYvfu3bBYLBAEAeHh4fDx8cHrr7%2BOBx54AC%2B%2B%2BKIzaqVG6mpBNnZf/xXFJiOKTUb4unmim6dvfZdFREQkOrtvNW7YsAHJycl4%2BeWXkZycjPLv2B44cCCOHz/u0AKpcdIa9Dhx6zIO3PwdH1w%2BAq1BDwGAi0SKofd14y1GIiJqluwe8dq9ezdiYmIwbdo0mEwmm33t2rXD9evXHVYcNU5agx6rzh/AzeI8WP6eTi8VJDBZzHCXu3G0i4iImi27g1dWVhZ69uxZ6T4XFxfo9fo6F0WN2zW9Bhrjnf8/sAAQAMgEKbwUSszqHMHRLiIiarbsDl6tWrVCRkYG%2BvXrV2Ffeno67rvvPocURo2Xp9wVblIFSkylkEBAG1cVRvoG40EPX4YuIiJq1uwOXhEREdi4cSPCw8Ph7e0NABAEAfn5%2Bfjkk08wePBghxdJjYfWoMe29JMwmEvhqWiBofc9iN6tOjFwERERoRbBKzY2FseOHcPIkSPRt29fCIKAVatW4fLly5DJZIiJiXFGndRIlL0Au6XMFXpTCVq7ejB0ERER/c3upxq9vb3xxRdfYNSoUfjjjz8glUpx4cIFhIeHIzExEZ6ens6okxoJT7kr5IIUucZCqGRuXJmeiIionFotoOrt7Y0333zT0bVQI3e1IBvv/710BACYLOZ6roiIiKhhsXvEa/v27cjLy3NGLdSIndX%2BiZUXDkBj0Fvfx5hnLMI1vaZe6yIiImpI7A5eS5cuxcCBAzFnzhwcP37cZgFVap6uFmTj/UtHUGgylNsqQK1Q8lYjERFROXbfakxJScGXX36JpKQk7N%2B/Hz4%2BPhgzZgzGjBmDjh07OqFEauhO3k5DKf57W9FVIsfj7XryaUYiIqK72D3iFRAQgJdeegnfffcdNm7ciF69euF///d/MWLECEyaNAlffvmlM%2BqkBkpr0OO33P%2B%2BrUAKCZ7vHI6hbbszdBEREd3F7uBlPVEiQUREBNauXYsTJ05g8eLFyMzMxKuvvurI%2BqiBu6bXoNBsQCuFEgqJFE%2B0fxg9vPzruywiIqIGqdbBq0xBQQH27t2Lr7/%2BGn/99RdcXFwcURc1Ep5yV7hI5DCYS9HW1RN9vDvVd0lEREQNVq2WkwCAkydP4ssvv8S3336L4uJihISE4M0338TIkSMdWR81YGWr1BeZDHCTKjClUyhvLxIREVXD7uCVkJCAPXv24ObNm2jVqhWefvppjB07FoGBgc6ojxqwu1epzzUW13dJREREDZrdwevDDz/E4MGD8eqrryI8PBxSqdQZdVEj0EGphpdcCa1RDy85l44gIiK6F7uD17Fjx6BW8w9YArwUSsQGReGaXnMnhPE2IxERUbXsDl4MXVSel0LJwEVERFRDNQpeCxcuRExMDNq3b4%2BFCxdWe6wgCFi%2BfLlDiiMiIiJqSmoUvE6dOoUpU6ZYf66OIAh1r4qIiIioCapR8Dp8%2BHClPxMRERFRzdm9gGpmZiaMRmOl%2B0pLS5GZmVnnooiIiIiaIruDV1RUFM6fP1/pvgsXLiAqKqrORVHjoDXocUabAa1BX9%2BlEBERNQp2P9VosViq3Gc2mznHq5nQGvRIuHjIuoZXbFAUn24kIiK6hzq/q7GMwWDAsWPH4OXl5ahLVik9PR0zZsxAz549ERoaiqVLl6K4uGarpu/evRvDhw9HcHAwoqOjsXfv3grHGI1GvPfeewgLC0NISAgmT56MCxcu2Bzzww8/YO7cuYiMjERISAhGbdRlJQAAIABJREFUjBiBDRs2wGAwOOQ7NnRlq9YrpS7QGvW4ptfUd0lEREQNXo1GvN5//3188MEHAO48tThhwoQqjx0/frxjKquCTqfDlClT4Ovri4SEBGg0GqxYsQK5ublYuXJltefu27cPCxYswMyZMzFgwAB8%2B%2B23iIuLQ8uWLREWFmY9bsWKFdizZw8WLFgAPz8/bN68GVOnTkVSUhJ8fHwAAImJiSgqKsLs2bPh6%2BuLP/74A%2BvWrcP58%2BeRkJDg1B40BFy1noiIyH41Cl7BwcGYNGkSLBYLdu7ciWHDhsHb29vmGIVCgfvvvx/R0dFOKbRMYmIidDod9uzZY13MVSqVIj4%2BHrNmzar2nZFr167F8OHDMW/ePABAv379kJ6ejoSEBGvwysrKQmJiIl555RU8%2BeSTAICQkBBERUVh27ZtiI%2BPBwAsWbLEZjHZvn37QiaTYdmyZbhx4wb8/Pyc8v0bCq5aT0REZL8aBa%2BIiAhEREQAAIqKiqyLqdaHY8eOITQ01Cb0DBs2DIsWLcLRo0erDF4ZGRlIS0vD3LlzbbZHR0dj4cKF0Gg0UKvVOHHiBEwmE0aNGmU9xt3dHZGRkTh69Kg1eFW2gv%2BDDz4IALh161aTD14AV60nIiKyl92T61esWOGMOmosNTUV48aNs9mmUCjg7%2B%2BP1NTUKs9LS0sDAAQEBNhsDwwMhMViQVpaGtRqNVJTU%2BHt7Q1PT88KxyUlJcFsNkMiqXxq3H/%2B8x9IpVJ06NChNl/NSiZz2NQ7K6lUYvN3ci72WzzstbjYb/Gw1%2BISq992B68yly5dQmpqKkpKSirs%2B//t3XlYk1e%2BB/BvQohshh1bKHYgCooiglrFIig%2BWjuCWh1bp62jXpdWVFoYrWhprQ6KtdYVte5ixaXOVXtxtFaxQ7VTvR2XbmotS0VxQ7ZgQBKS3D96yRgJSCR5I/H7eR4e5bznPfnl56P8POe8JyNGjGhRUE1RKBSQyWQN2mUyGSorKxu9r/7ag/e6uroaXFcoFGjbtm2D%2B11dXaFWq1FdXQ0XF5cG14uLi7Fp0ya89NJLLfo8S7FYBHd3y80iyWSOZhurtOYu8hUlkMu84enYMCdk3nxT05hrYTHfwmGuhWXpfJtceNXU1GDq1Kk4deoURCKR/niJ%2B4%2BRsGTh1RidTtesoywe7GMsfmPjNHWMhlKpxIwZM%2BDp6YnZs2c3N2SjtFodFIrqFo1hjJ2dGDKZIxSKGmg02haPV1arxIqLR1Guqoa71Alvdx4EjzZcdqxn7nxT45hrYTHfwmGuhdWSfMtkjs2eKTO58Fq7di2Ki4uxY8cOvP7668jIyICzszN27dqFy5cvY8WKFaYOaRKZTAaFQtGgvaqqqsmN9ffPbN3/YED9WPUzYY2Nr1AoYG9vDycnJ4N2tVqNxMRE/aZ8Y7Nxpqqrs9xfMI1Ga5bxCxR3UKb6/TiJMpUSBYo7kLnzf2UPMle%2B6eGYa2Ex38JhroVl6XybvJCZk5ODyZMnIzw8HADw9NNPIzIyEqtWrUKXLl2wc%2BdOswd5P7lc3mAvl0qlQlFRUZOFV/3ervq9XvXy8/MhEon01%2BVyOUpLS1FRUdGgX0BAgMH%2BLq1Wi3feeQfnzp3Dhg0brPbAgdDKVUrcqqmEvcgOd%2Bvu8TgJIiKiZjK58CouLkZgYCDs7OwgEolQU1OjvxYfH4%2BcnByzBvig6OhonDp1CuXl5fq2o0ePQqVS6Z%2B8NMbf3x%2BBgYE4dOiQQfvBgwfRrVs3/b6sqKgoiMVig4NVlUoljh8/3mD8BQsW4OjRo8jIyECXLl3M8fYee%2BUqJZZd/BJ7r/4bZSolpGIJxgVE8ulGIiKiZjB5qbFt27aorv59D5KnpyeuXLmCnj17Avj9Q7Lrr1nKmDFjsGPHDiQkJCAhIQGlpaVYvHgx4uPjDWa85s6diwMHDuDChQv6tsTERCQlJaF9%2B/bo27cvcnJy8M0332DTpk36Pu3atcOYMWOwdOlSSCQS%2BPr6YsuWLQCAcePG6futX78eu3btwvjx4%2BHk5ITz58/rr7Vv375FG%2BwfZ1eUZShT/%2BezGWs0alSom/epAURERE86kwuv4OBg/Pbbb4iOjkbv3r2xfv16PPvss5BKpVizZg06depkiTj1ZDIZMjMzkZaWhhkzZsDBwQFxcXH687XqabVaaDQag7YXX3wR9%2B7dwyeffILNmzfj2WefxfLlyw1OrQeAlJQUODk5YcWKFaiqqkJYWBgyMzP1p9YDwMmTJwEA27Ztw7Zt2wzuT09Px8iRI834rh8fbvYOcLSTolZTBxFE8JBymZGIiKi5RLqmHtcz4tChQ7hy5QqmTp2Kq1ev4tVXX8WdO3cA/F4UbdiwAWFhYRYJ9kmg0WhRVqZ8eEcTSSRiuLs7o7xc%2BcibBus/GLtUdRdSsQSDnwpBL88ALjMaYY58U/Mw18JivoXDXAurJfn28HC23FONf/zjH/W/9/f3x5EjR/RHS4SHhzc4eJRsxxVlGcpUd2EvsoNaWwcfB1cWXURERCZ45ANU6zk5OSE2NtYcsdBjzs3eAbWaOtzV1cJeZAc3ewdrh0RERNSqtLjwoidHcU0FxCIxZHZSaKDlpnoiIiITNavw6tSpU7NOhQd%2BP/X9/icJyTaUq5T44vpPUGnroNLWwdfRjZvqiYiITNSswmvatGnNLrzINl1RlqFKcw9ebVxQVXcPg5/qwv1dREREJmpW4TVjxgxLx0GPOTd7B7QR26NGo4JPGxm6uPlaOyQiIqJWx%2BST6%2BnJU65SIrPwW9RoVHCwk/KkeiIiokdk8ub6AwcOPLTPiBEjHikYejxdUZahXK1EW4kDlJpabqonIiJ6RCYXXikpKUbb798DxsLLttQvM96tuwcPqQs31RMRET0ikwsvYx%2BCXV5ejpycHBw6dAjLly83S2D0ePihvAhbC/8FlUYDF/s2XGYkIiJqAZMLLz8/P6NtXbt2RV1dHbZv347FixebJTiyrt/uliDj8leow%2B8fnSCuE3GZkYiIqAXMurk%2BMjISx48fN%2BeQZEXnyq/qiy4AkIjFXGYkIiJqAbMWXsXFxRCL%2BaCkrQh394dUZAcAkECMCQF9ucxIRETUAiYvNX733XcN2lQqFX755ResX78ekZGRZgmMrKtcpcS16goMeborajRqRHoF4g8u3tYOi4iIqFUzufAaO3Zsg1PsdTodAKBv37547733zBMZWU25SollF7/EjXuVAABfRzcM8e1q5aiIiIhaP5MLr%2B3btzdoa9OmDfz8/ODl5WWWoMi6rijLUKZWAgB00KFMpcQVZRmXGYmIiFrI5MLrueees0Qc9Bh51tkDHvbOuKGphAgieEiduameiIjIDEwuvMj2uUudkdx5MH6uuA6RCAhx9eVsFxERkRmYXHhpNBp8%2BumnyM7OxvXr11FbW2twXSQS4cyZM2YLkKzDXeqMKJ%2BO1g6DiIjIpphceC1duhRbt25F586d0bdvX0ilUkvERURERGRzTC68srOzMWXKFCQnJ1siHiIiIiKbZfJpp7W1tTyry8b9drcE%2B6%2BexW93S6wdChERkU0xufB6/vnn8cMPP1giFnoM/Ha3BIsvHMbB699j8YXDLL6IiIjMyOSlxtTUVEyZMgWOjo6IiYmBq6trgz5ubm5mCY6Ed678KtQ6DewghlqnwbnyqzyxnoiIyExMLrxcXFwQEBCA9PR0pKenG%2B1z8eLFFgdG1hHu7o8jN36CWqeBvcgO4e7%2B1g6JiIjIZphceM2bNw9ffPEFBg4cCLlcDnt7e0vERVbyBxdvpIS8iHPlVxHu7s/ZLiIiIjMyufA6duwYkpOTMXHiREvEQ1ZU/v8fDfSsswde8o%2BwdjhEREQ2x%2BTCSyKRICQkxBKxkBWVq5RY9UsOytVKuNs7IzF4IE%2BrJyIiMjOTn2ocPHgwTpw4YYlYyIquKMtQrlbC2a4NytW/z3wRERGReZk84zV06FC89957qKurQ//%2B/Y0%2B1dilSxezBEfCedbZA%2B72zvoZL34oNhERkfmJdDqdzpQbOnXq9J%2BbRSKDazqdDiKRiE81toBGo0VZmdLs40okYri7O6O8XIm6Oq3RPvfv8eIyY8s0J99kHsy1sJhv4TDXwmpJvj08nGFn17xFRJNnvBo7QoJaP3epMwsuIiIiCzK58HrppZcsEQcRERGRzTN5cz0RERERPRqTZ7zmzJnT5HWRSIRFixY9ckBkWWW1ShQo7nAfFxERkRWYXHidPn26QVtFRQWqq6shk8nQtm1bswRG5ldacxdLLxxBWa0SHlJnJHUaxOKLiIhIQCYXXsePHzfa/u2332L%2B/PlYuXJli4Miyzh5/Vdcr66ADjpcr1HjQuV1PO/d0dphERERPTHMtscrMjISr7/%2BOhYuXGiuIcmMymqV%2BLzwHLTQof78ENMOEiEiIqKWMuvmerlcjh9//NGcQxpVWFiIiRMnonv37oiMjERaWhru3bvXrHv379%2BPIUOGIDQ0FHFxcTh8%2BHCDPmq1Gh9//DGioqIQFhaGsWPH4tKlSw36lZSU4O2330ZERAR69uyJd955BxUVFS1%2Bf5ZwRVmKWm0d7P7/j9xN6oQubr5WjoqIiOjJYtbC67vvvoO7u7s5h2xAoVBg3LhxUCqVWLVqFWbPno3s7GykpqY%2B9N4vvvgCKSkpGDRoEDZu3Ig%2BffogKSkJJ0%2BeNOiXnp6OrKwsJCYmYu3atZBIJBg/fjxKSkr0ferq6jBp0iRcvnwZS5YsQVpaGs6cOYOEhASYeCatIFztHeEkaQMHO3t4t2mL6R0HcH8XERGRwEze45WRkdGgTa1W45dffsHXX3%2BNiRMnmiWwxuzevRsKhQIHDhyAh8fvH2tjZ2eHmTNnYurUqZDL5Y3eu3LlSgwZMgR//etfAQB9%2BvRBYWEhVq1ahaioKADArVu3sHv3brz77rt4%2BeWXAQBhYWEYOHAgMjMzMXPmTADAl19%2BiUuXLuHgwYPo2PH3fVI%2BPj7485//jBMnTiA6OtpiOTBVuUqJbfnfoLquFs4SKd7sEIM/uHhbOywiIqInjlkKL6lUCj8/PyQmJlq88Pr6668RGRmpL7oA4IUXXsDcuXORm5vbaOF19epVFBQUIDk52aA9Li4Oc%2BbMQVlZGTw8PHDy5EloNBoMHTpU38fFxQWxsbHIzc3VF165ubkIDg7WF10AEBERAT8/P%2BTm5j5WhdcVZRnKVdVwbeMIRe09VKibtyxLRERE5mVy4WVsr5OQ8vPzMWrUKIM2qVSK9u3bIz8/v9H7CgoKAACBgYEG7XK5HDqdDgUFBfDw8EB%2Bfj68vLzg5ubWoF92dja0Wi3EYjHy8/ONFnkdOnRoMo7mkEjMe65toMwL7m2cUaGuhnsbZwTKvMz%2BGmSo/jO7mvvZXfTomGthMd/CYa6FJVS%2BTS68rE2hUEAmkzVol8lkqKysbPS%2B%2BmsP3uvq6mpwXaFQGD2LzNXVFWq1GtXV1XBxcWm0n0wma1HhJRaL4O5u3r1X7nDGB67DkK8ogVzmDU9HF7OOT42TyRytHcITg7kWFvMtHOZaWJbOd7MKr8rKSqSmpmLkyJEYMGCA0T5fffUV9u3bhwULFlh8g70xOp0OIpHoof0e7FO/Ef7%2BdmPjGNsw31i/5sTRGK1WB4Wi%2BpHvb4y9nR2eaxcAhaIG5feUZh%2BfDNnZiSGTOUKhqIFGY9qn3JNpmGthMd/CYa6F1ZJ8y2SOzZ4pa1bhtXfvXly6dAn9%2BvVrtE%2B/fv2wePFiZGVlYfr06c2L9BHIZDIoFIoG7VVVVU1urL9/ZsvLy0vfXj9W/UxYY%2BMrFArY29vDycnpoXEYm5EzRV2d5f6CaTRai45Phphv4TDXwmK%2BhcNcC8vS%2BW5WeXbo0CGMHj0aEknjdZpEIsHo0aMbPdneXORyeYOlPJVKhaKioiYLr/q9XfV7verl5%2BdDJBLpr8vlcpSWljY4jys/Px8BAQEQi8WNxgEAeXl5TcZBRERET65mFV6FhYUIDQ19aL8uXbrgt99%2Ba2lMTYqOjsapU6dQXl6ubzt69ChUKhViYmIavc/f3x%2BBgYE4dOiQQfvBgwfRrVs3/VOSUVFREIvFBgerKpVKHD9%2B3GD8mJgYXL582aD4On/%2BPIqLi5uMg4iIiJ5czVpq1Gg0Tc526QeTSFBXV9fioJoyZswY7NixAwkJCUhISEBpaSkWL16M%2BPh4g5mmuXPn4sCBA7hw4YK%2BLTExEUlJSWjfvj369u2LnJwcfPPNN9i0aZO%2BT7t27TBmzBgsXboUEokEvr6%2B2LJlCwBg3Lhx%2Bn6DBw9GcHAwEhMTkZycDI1GgyVLlqBHjx5NLskSERHRk6tZhZe3tzfy8vLQq1evJvv9%2BuuvBvunLEEmkyEzMxNpaWmYMWMGHBwcEBcXpz9fq55Wq4VGozFoe/HFF3Hv3j188skn2Lx5M5599lksX75cf3hqvZSUFDg5OWHFihWoqqpCWFgYMjMz4e39n0NHJRIJNm7ciIULF2LWrFkQiUSIjY3F3LlzW7S5noiIiGyXSNeMz7eZM2cOfvrpJ%2Bzbtw/29vZG%2B6jVaowcORJdu3ZFenq62QN9Umg0WpSVmf%2BpQ4lEDHd3Z5SXK7lJUwDMt3CYa2Ex38JhroXVknx7eDg3%2B6nGZvUaN24cCgsLMX36dNy6davB9Vu3bmHatGkoLCzE%2BPHjTQqWiIiI6EnRrKXGTp064f3338f8%2BfMxcOBAdO3aFX5%2BfgCA4uJi/PTTT9DpdPjggw8QHBxs0YCJiIiIWqtmn1z/8ssvo2PHjli/fj1Onz6N8%2BfPAwAcHR3Rr18/vPHGG%2BjevbvFAiUiIiJq7Uz6yKDw8HB88skn0Gq1%2BuMc3N3d9WdbEREREVHjHumzGsViMTw9Pc0dCxEREZFN41QVERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJpFUWXrm5uRgxYgRCQ0MxaNAgZGVlNes%2BtVqNjz/%2BGFFRUQgLC8PYsWNx6dKlBv1KSkrw9ttvIyIiAj179sQ777yDiooKgz67d%2B/GxIkTERUVhYiICIwaNQqHDh0yy/sjIiIi29TqCq9z584hISEBISEh2LhxI1566SWkpaVh7969D703PT0dWVlZSExMxNq1ayGRSDB%2B/HiUlJTo%2B9TV1WHSpEm4fPkylixZgrS0NJw5cwYJCQnQ6XT6fuvWrUO7du0wb948ZGRkIDw8HElJSc0uAomIiOjJI7F2AKZas2YNQkJCsGjRIgBAnz59cOPGDaxcuRKjRo2CWGy8lrx16xZ2796Nd999Fy%2B//DIAICwsDAMHDkRmZiZmzpwJAPjyyy9x6dIlHDx4EB07dgQA%2BPj44M9//jNOnDiB6OhoAMD%2B/fvh4eGhH79v3764efMmNm/ejNdee81i75%2BIiIhar1Y146VSqXDq1CkMHTrUoD0%2BPh4lJSW4cOFCo/eePHkSGo3G4F4XFxfExsYiNzdX35abm4vg4GB90QUAERER8PPzM%2Bh3f9FVr3Pnzrh9%2B/YjvTciIiKyfa2q8CoqKoJarUZgYKBBe4cOHQAA%2Bfn5jd6bn58PLy8vuLm5GbTL5XIUFhZCq9Xq%2B8nl8gb3d%2BjQocnxAeDMmTNG7yUiIiICWtlSY2VlJQBAJpMZtNd/X3/dGIVCgbZt2zZod3V1hVqtRnV1NVxcXBrtJ5PJmiy8jh07hm%2B%2B%2BQZLlixp1ntpikRi/nrYzk5s8CtZFvMtHOZaWMy3cJhrYQmVb6sXXlVVVc1anvP399f/XiQSGe3TWHtT1%2B/fMP%2Bwfo2Nn5eXhzlz5mDIkCEYPnx4kzE8jFgsgru7c4vGaIpM5mixsakh5ls4zLWwmG/hMNfCsnS%2BrV54HT16FHPmzHlovwMHDsDV1RVAw5kthUIBoOFM2P1kMpm%2B34P32tvbw8nJqcl%2BVVVVRse/efMmJk2ahKCgILPMdmm1OigU1S0e50F2dmLIZI5QKGqg0WjNPj4ZYr6Fw1wLi/kWDnMtrJbkWyZzbPZMmdULr5EjR2LkyJHN6qtSqWBvb4%2BCggL904XA7zNOAJrcXyWXy1FaWoqKigqDfV75%2BfkICAjQPw0pl8tx8eLFBvfn5eVhwIABBm3l5eX4r//6L7i4uGDt2rVo06ZNs97Hw9TVWe4vmEajtej4ZIj5Fg5zLSzmWzjMtbAsne9WtXAslUrRp08fHD582KD94MGD8Pb2RkhISKP3RkVFQSwWG9yrVCpx/PhxxMTE6NtiYmJw%2BfJlg/1c58%2BfR3FxsUE/pVKJyZMno7q6Gps2bdLPxhERERE1xuozXqaaNm0aXn/9daSmpiI%2BPh5nz57F3r17sWDBAoMzvAYNGgRfX19kZmYCANq1a4cxY8Zg6dKlkEgk8PX1xZYtWwAA48aN0983ePBgBAcHIzExEcnJydBoNFiyZAl69OiBfv366fslJibi4sWL%2BNvf/oabN2/i5s2b%2BmshISGQSqWWTgURERG1Mq2u8AoPD8fatWuxbNkyHDhwAE899RRSU1MxevRog34ajUZ/RES9lJQUODk5YcWKFaiqqkJYWBgyMzPh7e2t7yORSLBx40YsXLgQs2bNgkgkQmxsLObOnWuwuf7kyZMAYHR/Wk5ODp555hlzvm0iIiKyASKdscf6yGo0Gi3KypRmH1ciEcPd3Rnl5UruFRAA8y0c5lpYzLdwmGthtSTfHh7Ozd5c36r2eBERERG1Ziy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICKdTqezdhD0HzqdDlqtZf5I7OzE0Gi0FhmbGmK%2BhcNcC4v5Fg5zLaxHzbdYLIJIJGpWXxZeRERERALhUiMRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh42bjCwkJMnDgR3bt3R2RkJNLS0nDv3j1rh2WTDh8%2BjISEBMTExKB79%2B6Ij4/Hzp07odVqrR2azVMqlYiOjkZwcDB%2B/PFHa4djs/bu3Ythw4YhNDQUkZGRePPNN60dkk06duwYRo8ejYiICPTt2xfTp09HQUGBtcOyCVeuXMH777%2BP4cOHIyQkBHFxcUb75ebmYsSIEQgNDcWgQYOQlZVlthgkZhuJHjsKhQLjxo2Dr68vVq1ahbKyMqSnp6OiogJLly61dng2Z%2BvWrfD19cU777wDT09PnD59GgsXLsTVq1cxe/Zsa4dn09auXQuNRmPtMGza6tWrsW3bNrz55psICwtDZWUlTpw4Ye2wbM6//vUvTJ8%2BHcOGDcPbb78NhUKBjIwMTJgwAf/4xz/g4uJi7RBbtV9//RW5ubkICwuDVquFTqdr0OfcuXNISEjA8OHDkZKSgrNnzyItLQ1SqRSjR49ueRA6slnr16/XhYWF6UpLS/Vt//M//6MLCgrS5eXlWTEy23R/nustWrRIFxoaqqutrbVCRE%2BGvLw8Xffu3XW7du3SBQUF6X744Qdrh2Rz8vLydJ07d9adOHHC2qHYvLlz5%2BoGDBig02q1%2Brbvv/9eFxQUpPvnP/9pxchsg0aj0f9%2B9uzZuqFDhzboM3HiRN2f/vQng7bU1FTd888/b3D/o%2BJSow37%2BuuvERkZCQ8PD33bCy%2B8AKlUitzcXCtGZpvuz3O9zp07o7a2FhUVFVaI6MmwcOFCjBkzBgEBAdYOxWbt27cP/v7%2BiIqKsnYoNq%2Burg7Ozs4QiUT6trZt21oxItsiFjdd9qhUKpw6dQpDhw41aI%2BPj0dJSQkuXLjQ8hhaPAI9tvLz8yGXyw3apFIp2rdvj/z8fCtF9WQ5c%2BYM3Nzc4Onpae1QbNIXX3yBS5cuYdq0adYOxaZ9//33CAoKwpo1axAZGYmuXbvi9ddfx8WLF60dms3505/%2BhIKCAnz66adQKBS4du0aPvzwQ8jlckRGRlo7PJtXVFQEtVqNwMBAg/YOHToAgFl%2BdrLwsmEKhQIymaxBu0wmQ2VlpRUierL8%2BOOP2LdvH8aNGwc7Oztrh2NzampqsHjxYiQnJ3Pfi4WVlJTg5MmTyM7Oxvz587F69WrU1NRgwoQJUCgU1g7PpvTq1QsZGRlYvnw5evXqhYEDB%2BLq1avYsmULpFKptcOzefU/Gx/82Vn/vTl%2BdrLwegLpdDqDaWwyv5KSEiQmJiI0NBSTJ0%2B2djg2ad26dfD09MTIkSOtHYrN0%2Bl0qK6uxurVqzF48GAMGDAA69atg1KpxJ49e6wdnk05e/YsZs2ahVGjRmHbtm3IyMiAg4MDJk%2BejLt371o7vCdGYz8jzfGzk0812jCZTGb0f6NVVVUNliDJfKqqqjB58mQ4ODhg3bp1sLe3t3ZINqe4uBhbtmzBmjVr9D%2BMqqur9b8qlUo4OztbM0Sb4urqCi8vL3Ts2FHf5uPjg8DAQOTl5VkxMtuTlpaGPn364N1339W39ejRA9HR0di7dy8mTJhgxehsn6urK4CGM1v1P0uNrSKZioWXDZPL5Q3Wo1UqFYqKijBq1CgrRWXbamtrMXXqVNy5cwd79uyBu7u7tUOySdfkBOmIAAAMAUlEQVSuXYNarcaUKVMaXPvLX/6CsLAwfPbZZ1aIzDbJ5XJcv369QbtOp3voZmUyTX5%2BPmJjYw3aPDw84OPjg6KiIitF9eRo37497O3tUVBQgOjoaH17/X8wzDFpwcLLhkVHR2PdunUoLy/XFwBHjx6FSqVCTEyMlaOzPXV1dXjrrbdw6dIl7NixA35%2BftYOyWZ17twZ27dvN2i7ePEi0tPTMX/%2BfISGhlopMtvUv39/7N%2B/H5cvX0ZQUBAA4NatWygoKOBSr5n5%2Bvri559/NmgrKSnB7du3%2BW%2BKAKRSKfr06YPDhw9j/Pjx%2BvaDBw/C29sbISEhLX4Nuw8%2B%2BOCDFo9Cj6WOHTviv//7v3HixAm0a9cO586dw6JFizBo0CCMGTPG2uHZnA8%2B%2BAAHDx7EW2%2B9BR8fH9y8eVP/5eLiwo2xZtSmTRs888wzBl%2B1tbXYv38/pk%2Bfjq5du1o7RJsSEBCAf/7zn/j888/h6emJK1euYN68eQCA9PR0LqebWWZmJsrLyyGRSPDzzz9j3rx5uHfvHubPn88l9BaqqalBTk4O8vLy8M033%2BDOnTt46qmnkJeXBw8PDzg6OsLf3x%2BffPIJbty4AWdnZ2RnZ2Pr1q2YM2eOWf5tEel0Ro5tJZtRWFiItLQ0nDlzBg4ODoiLi8PMmTPh4OBg7dBsTmxsLIqLi41e2759O3r37i1wRE%2BW06dP4y9/%2BQv%2B/ve/c8bLAkpLS7Fo0SLk5uairq4OvXr1wpw5cxo8dk8to9Pp8Nlnn2Hnzp0oKiqCk5MTQkNDkZSUhODgYGuH1%2Bpdu3YNAwcONHrt/n%2Bnc3NzsWzZMuTn5%2BOpp57ChAkT8Nprr5klBhZeRERERALhrkgiIiIigbDwIiIiIhIICy8iIiIigbDwIiIiIhIICy8iIiIigbDwIiIiIhIICy8iIiIigbDwIiIiIhIICy8isoh9%2B/YhODhY/xUSEoKoqCgkJSXht99%2Bs1pcubm5WL16tdFrsbGxSElJETiih8vIyMAf//hHaLVaAL%2Bfvh0cHIzNmzdbOTLTffvttwgPD8etW7esHQqRVbDwIiKLSk9Px549e7B161a89tprOH78OF599VVUVlZaJZ7c3FxkZGQYvZaRkYGEhASBI2rarVu3sHnzZiQmJkIsbv3/ZEdGRiI0NBTLli2zdihEVtH6/xYT0WOtY8eO6N69O3r37o2pU6di8uTJKC0txbFjx6wdWgMhISFo3769tcMwsH37drRt2xaDBw%2B2diiN0ul0uHfvXrP7v/baa8jOzsaNGzcsGBXR44mFFxEJqv4DrEtLSw3ag4ODjS4BPrj8V7%2BEeerUKcybNw%2B9e/dG7969MX369IcuX6WkpCArK0v/evVf165dM/pap0%2BfRnBwMLKzs/HRRx8hKioK4eHhePPNN3Hnzh3cvXsX7733nj6GOXPmQKlUGrymTqdDVlYWhg8fjm7duqFXr15ITEzE1atXH5orlUqFv//974iLi2t0tmvr1q2IjY1FeHg4XnnlFZw/f75Bn5ycHLzyyisICwtDeHg4JkyYgHPnzjXITWxsbIN7V69e3eDDmYODg7FgwQLs2rULL774IkJDQ7F//34AwM6dOzFs2DCEh4cjPDwcQ4YMaTC7NWDAADg5OeGzzz57aA6IbI3E2gEQ0ZOlvsj5wx/%2B0KJxUlNT0b9/f3z88ce4ceMGPvroI8yaNQvbt29v9J6EhARUV1fjyJEj2LNnj77dx8enyddavnw5evfujfT0dBQXF%2BPDDz9EcnIyJBIJgoODsWzZMly4cAHLly%2BHs7MzUlNT9fe%2B//772L9/P8aOHYuZM2eisrISa9aswZgxY/D555/Dy8ur0df94YcfUFFRgd69exu9npWVhcDAQMydOxcAsHLlSkyZMgU5OTlo27YtACA7OxszZ85EVFQUPv74Y6hUKmzatAljx47Ftm3b0LNnzybfe2OOHTuGf//735g2bRq8vLzg6emJf/zjH5g/fz7Gjh2L2bNnQywW48qVK8jLyzO4VyqVIjw8HLm5uXjrrbce6fWJWisWXkRkUVqtFnV1daitrcXZs2exbt069OrVy%2Bjsiin69etnUOBUVlbio48%2BQklJCby9vY3e0759e32h071792a/VlBQENLT0/XfFxQUIDMzU19gAMDzzz%2BP8%2BfPIzs7Wx/X%2BfPn8dlnnyElJQUTJkzQ39%2BzZ0%2B88MIL2Lp1K2bNmtXo69bPSnXp0sXodWdnZ6xfvx52dnYAfi8gR48eja%2B//hpDhw6FVqvFkiVLEBQUhI0bN%2BpnzWJiYjBo0CAsXboUu3fvbnYe7lddXY3s7Gy4urrq23bv3g2ZTGbw5xIZGWn0/pCQEGzYsAHV1dVwcnJ6pBiIWiMuNRKRRb388svo0qULIiIiMGnSJMhkMqxduxYSScv%2B3/dg4Va/HHb9%2BvUWjWvMgAEDDL6Xy%2BUAgP79%2Bzdor6io0C83fvXVVxCJRBg2bBjq6ur0X15eXujUqRP%2B93//t8nXvX37NkQiEdzd3Y1e79%2B/v77oAoBOnToBAIqLiwEAhYWFuH37NoYPH26wVOns7IzBgwfj%2B%2B%2B/R01NTTMy0FCfPn0Mii7g92VkhUKB5ORkHDt2DGVlZY3e7%2BnpCa1Wizt37jzS6xO1VpzxIiKL%2BvDDDyGXy6FUKnHo0CHs2bMHycnJ2LRpU4vGdXNzM/heKpUCgEmbvJvrwQLD3t6%2Byfba2lo4OzujtLQUOp0Offv2NTquv79/k69bW1sLiURiUFzdr7Ec1NbWAgDKy8sBwOgMoI%2BPD7RaLRQKBRwdHZuMwxhjY44YMQIajQZ79%2B5FYmIitFotQkND8fbbb%2BP555836NumTRsAlvnzInqcsfAiIouSy%2BX6DfV9%2BvSBVqvF3r178cUXX2DIkCH6flKpFCqVqsH99cVDa%2BTu7g6RSISsrCx9UXQ/Y20P3q9Wqx95Oa5%2BpqykpKTBtdu3b0MsFkMmk%2BljMSX/IpHIaPuoUaMwatQoVFdX47vvvsPq1avxxhtv4MiRI/Dz89P3qz9OpLHZPCJbxaVGIhLUrFmz4OrqilWrVukPBAUAPz8//PLLLwZ9v/32W1RXV5v19S05M/ag/v37Q6fT4datWwgNDW3w9eDTgg8KCAgAABQVFT3S6wcEBKBdu3Y4ePAgdDqdvr26uhpffvklunfvrp/teuaZZ1BaWmqw9KdSqXDy5MlHem0nJyfExMTgzTffhFqtbrDB/urVq3Bzc2vy4QIiW8QZLyISlKurK6ZMmYKPPvoI2dnZGD58OABg%2BPDhWLlyJVauXInnnnsOeXl52LFjh/7pPHMJCgoCAGzcuBHR0dEQi8UIDg5%2B6OzTo%2BjRowdeeeUVzJ07Fz/99BN69eoFR0dHlJSU4MyZMwgKCsKrr77a6P31TzN%2B//33%2Bv1bphCLxZg1axZmzpyJN954A6%2B88gpUKhU2b94MhUKBv/71r/q%2BL774IlatWoWkpCRMmjQJtbW1%2BPTTT6HRaJr9eqmpqXBwcEBERAS8vb1RUlKCDRs2oG3btvpZz3rnz5/Hc8891%2BjMGZGtYuFFRIIbO3YssrKysHbtWsTFxcHOzg4TJ07E3bt3sX//fmzZsgXdunXDypUrzX6SfFxcHM6ePYudO3dizZo10Ol0yMnJwTPPPGPW16m3YMEChIWFYc%2BePdi1axe0Wi18fHwQERGBbt26NXnv008/jZ49e%2BrP4XoU8fHxcHR0xIYNG5CUlAQ7OzuEhYVh%2B/btiIiI0Pfz9/fHmjVrsHz5ciQmJsLb2xsTJkxAWVlZoyf9P6hnz57Yt28fDh8%2BjMrKSri7u6NHjx748MMP4eHhoe9XVFSEy5cvY8aMGY/0nohaM5Hu/vlnIiJ6rBw5cgRJSUn46quv0K5dO2uHYxYrVqzA559/jqNHj7b46Vai1oZ7vIiIHmODBw9GaGgo1q9fb%2B1QzEKhUGDnzp1ISkpi0UVPJBZeRESPMZFIhL/97W/64x9au2vXrmHKlCmIj4%2B3dihEVsGlRiIiIiKBcMaLiIiISCAsvIiIiIgEwsKLiIiISCAsvIiIiIgEwsKLiIiISCAsvIiIiIgEwsKLiIiISCAsvIiIiIgE8n8LqZcl1TLodQAAAABJRU5ErkJggg%3D%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAl4AAAHKCAYAAADSPkVOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeVyU5d4/8M89G%2BDgACNogqKChqWIVi4ogkLu%2BJSaaZa59fIkJ0mUcsnKyqU65oKlnjQfLTXqV2pBuKXmUmaeysfKHdBQDJEZGBiWGWbm94cxh5FFBmZuts/7efUK7m2%2B8%2B3p%2BOm6r/u6BYvFYgEREREROZ2kvgsgIiIiai4YvIiIiIhEwuBFREREJBIGLyIiIiKRMHgRERERiYTBi4iIiEgkDF5EREREImHwIiIiIhIJgxcRERGRSBi8iMipLly4gIULFyIyMhLBwcHo1asXxowZg02bNiE3N7e%2By6vWunXrEBQUVKtzjx49inXr1lW6LzIyEgsWLKhLaU5Vl/pqeu6pU6cQFBSEU6dO1epziBorWX0XQERN1%2Beff4433ngDnTp1wowZM9C5c2eUlpbi999/R2JiIs6cOYMPPvigvst0iqNHj2LHjh2YPXt2hX3vv/8%2B3N3d66Gqmmno9RE1ZgxeROQUv/76K5YsWYL%2B/ftj/fr1UCgU1n0DBgzAtGnTcPz48XqssP48%2BOCD9V1CtRp6fUSNGW81EpFT/Pvf/4YgCHjrrbdsQlcZhUKBqKgo6%2B9BQUGV3pq7%2B9bVrl27EBQUhJMnT2Lx4sXo27cvHnroIbz88ssoLCxEdnY2XnzxRTzyyCMICwvDO%2B%2B8A6PRaD2/qltc169fR1BQEHbt2lXt90pJScH06dMRFhaGHj16YMSIEVi5ciUKCwutxyxYsAA7duywfq%2Byv65fv17hO2k0GnTv3h1r1qyp8FmpqakICgrCxx9/bN2WnZ2N1157DeHh4ejevTsiIyPx/vvvo7S0tNq6Fy1ahD59%2BqCoqKjCvmeffRajRo2y/l7Z7cKCggK88847iIyMRPfu3TFw4EAsW7bM5ntXJTU1FTNmzEBISAj69u2L1157DXq9/p7nETVFHPEiIoczmUz48ccf0a1bN7Rt29Ypn7F48WIMHToUq1atwrlz57B69WqYTCakp6djyJAhmDBhAn744Qds2rQJrVu3xrRp0xzyuVevXkV4eDimTJkCNzc3pKWlYdOmTTh79qw1IMXExKCwsBD79%2B/HZ599Zj23devWFa6nVqsxaNAg7NmzB7GxsZBI/vvfw7t27YJcLsfo0aMB3Ald48ePh0QiwT//%2BU/4%2B/vj119/xYYNG3Djxg2sWLGiyrqfffZZfPnll0hOTsb48eOt269cuYJTp07htddeq/LcoqIiPPPMM/jrr7/w/PPPIygoCJcvX0ZCQgIuXbqErVu3QhCESs%2B9ffs2Jk%2BeDJlMhtdffx2tWrVCUlIS3nrrrSo/j6gpY/AiIofTarUoKipCu3btnPYZgwcPxvz58wHcuXV55swZJCcnY%2BHChZg6dSoAoH///jhx4gSSkpIcFrxiYmKsP1ssFjz00EMIDAzEM888gwsXLqBr167w9/eHt7c3AKBnz573vObYsWNx8OBBnDx5EgMGDABwJ7x%2B/fXXiIyMhJeXF4A7k/3z8vLwzTffwNfXFwAQGhoKV1dXvPPOO9Z5dJXp2rUr%2BvTpgx07dtgEr%2B3bt8Pd3R2PP/54lfV98sknuHjxIj7//HMEBwdbP7dNmzaIjY3FsWPHEBERUem5W7duhUajwZ49e9C1a1cAQEREBKZPn47MzMx79oaoqeGtRiJqlAYNGmTze2BgIABUCACBgYG4ceOGwz43IyMD8%2BbNw4ABA/DAAw%2BgW7dueOaZZwAAaWlptbpmeHg4fHx8bG5znjhxArdu3cK4ceOs27777jv07dsXrVu3RmlpqfWv8PBwAMBPP/1U7ec8%2B%2ByzOH/%2BPH7%2B%2BWcAd24ffvXVVxgzZgyUSmWV5x05cgRdunTBAw88YPO5YWFhEASh2s89deoUunTpYg1dZaKjo6utlaip4ogXETmcl5cX3NzcrHOanMHDw8Pmd7lcXuV2g8HgkM/U6/WYNGkSXFxcMGfOHHTs2BGurq7466%2B/8MILL6C4uLhW15XJZPif//kfbN%2B%2BHTqdDiqVCrt27YKPjw/CwsKsx%2BXk5ODIkSPo1q1bpdfRarXVfk5UVBT8/Pywc%2BdOPPzww9i1axeKioowadKkas/LycnBtWvXavW5ubm5lY58lo0IEjU3DF5E5HBSqRT9%2BvXD8ePH8ddff%2BG%2B%2B%2B675zkKhaLSgHSvMGEvFxcXAKjwWTX5nB9//BG3bt3CJ598gj59%2Bli35%2Bfn17mucePG4aOPPsI333yDkSNH4vDhw5gyZQqkUqn1GC8vLwQFBWHOnDmVXqOyOWTlSSQSPP3001i9ejXmz5%2BPnTt3IjQ0FAEBAdWe5%2BXlBRcXFyxfvrzK/VXx9PTE7du3K2yvbBtRc8BbjUTkFP/4xz9gsViwePHiSgOV0WjE4cOHrb/7%2Bfnh4sWLNsecPHmyRk/N2cPPzw8AKnxW%2BVqqUjaB/O6nNBMTEyscW3ZMTUfBAgMDERISgl27diE5ORkGgwFjx461OWbQoEG4dOkS/P39ERwcXOGvNm3a3PNzxo8fD7lcjvj4eKSnp%2BPpp5%2B%2B5zmDBg1CRkYGPD09K/3c6uby9e3bF5cvX8aFCxdsticnJ9/zc4maIo54EZFT9OrVC0uWLMEbb7yBcePGYeLEiejSpQtKS0tx7tw5fP755%2BjSpQsiIyMBAI899hjWrl2LtWvXok%2BfPrhy5Qq2b9%2BOli1bOrQuHx8f9O/fHx9%2B%2BCE8PDzg6%2BuLkydP4uDBgzX6Th4eHnj99dfxwgsvQCaTISkpqUKIA4D7778fALBp0yaEh4dDIpEgKCio0qU1yowbNw6vvfYabt26hV69elUYiYqNjcUPP/yAiRMnYvLkyejUqRMMBgOuX7%2BOY8eO4Y033rjn6KJKpcJjjz2GTz/9FH5%2Bftb%2BV2fKlCk4cOAAnnnmGUydOhVBQUEwm824efMmTpw4genTpyMkJKTKc7/88kvMnDkTc%2BbMsT7VWNv5cESNHYMXETnNk08%2BiR49emDr1q3YvHkzsrOzIZfL0bFjR0RHR1snpQPAjBkzUFBQgN27d2PLli3o0aMH1q5da/MUoaO8%2B%2B67eOutt7By5UqYTCYMHjwY7733ns1E9sp4eXnh3//%2BN9555x289NJLcHNzQ1RUFFavXo0xY8bYHBsdHY1ffvkFO3fuxAcffACLxYJDhw5VOzo0atQoLF%2B%2B3Dpn7G6tW7fGF198gfXr1%2BOjjz5CVlYWlEol/Pz8MHDgQKhUqhp9/5EjR%2BLTTz/FxIkTbZavqEqLFi2wY8cOfPjhh/jss89w/fp1uLq6om3btujfv791FLEyPj4%2B2L59O5YtW4YlS5bAzc0Njz76KF599VWn/LMlaugEi8Viqe8iiIhIPG%2B//TY%2B/fRTfPfdd9XOzyIix%2BOIFxFRM3HmzBlcvXoVO3fuxIQJExi6iOoBR7yIiJqJoKAguLm5ITw8HCtWrKh27S4icg4GLyIiIiKRcDkJIiIiIpEweBERERGJhMGLiIiISCQMXkREREQi4XISDYzFYoHZ7JznHSQSwWnXporYb/Gw1%2BJiv8XDXourtv2WSATrK8XuhcGrgTGbLdBo9A6/rkwmgZeXEjpdIUpLzQ6/Ptliv8XDXouL/RYPey2uuvRbrVZCKq1Z8OKtRiIiIiKRMHgRERERiYTBi4iIiEgkDF5EREREImHwIiIiIhIJgxcRERGRSBi8iIiIiETC4EVEREQkEgYvIiIiIpEweBERERGJhMGLiIiISCQMXkREREQiYfAiIiIiEgmDFxEREZFIGLyIiIiIRMLgRURERCQSBi8iIiIikTB4EREREYmEwYuIiIhIJAxeRERERCJh8CIiIiISCYMXERERkUgYvIiIiIhEwuBFREREJBIGLyIiIiKRMHgRERERiYTBi4iIiEgkDF5EREREImHwIiIiIhIJgxcRERGRSBi8iIiIiETC4EVEREQkEgYvIiIiIpE0yuCVnp6OGTNmoGfPnggNDcXSpUtRXFxco3N3796N4cOHIzg4GNHR0di7d2%2BFYz744ANMmzYNDz/8MIKCgvDbb79Veq3s7GzMmTMHDz30EB555BG8/PLLyM3NrdN3IyIioqar0QUvnU6HKVOmQK/XIyEhAfPnz0dSUhIWL158z3P37duHBQsWYMiQIdi0aRP69euHuLg4nDhxwua4zz77DEajEQMGDKjyWqWlpXjuuedw6dIlvPvuu1i6dCl%2B/vlnxMTEwGKx1Pl7EhERUdMjq%2B8C7JWYmAidToc9e/ZArVYDAKRSKeLj4zFr1iwEBgZWee7atWsxfPhwzJs3DwDQr18/pKenIyEhAWFhYdbjvvvuO0gkEpw6dQr79%2B%2Bv9FoHDhzAhQsXkJycjC5dugAAWrdujaeeegrHjx9HeHi4o74yERERNRGNbsTr2LFjCA0NtYYuABg2bBgUCgWOHj1a5XkZGRlIS0tDdHS0zfbo6GicPXsWGo3Guk0iuXdbjh49iqCgIGvoAoCHHnoIfn5%2B1dZBREREzVejC16pqakVRrUUCgX8/f2Rmppa5XlpaWkAgICAAJvtgYGBsFgs1v11qQMAOnfuXG0dRERE1Hw1uluNOp0OKpWqwnaVSoW8vLwqzyvbd/e5Hh4eNvvtqaNly5aV1lHX4CWTOT4PS6USm7%2BTc7Hf4mGvxcV%2Bi4e9FpdY/W50wasqFosFgiDc87i7jymbCF%2BTc%2B91LXvqqIpEIsDLS1nr8%2B9FpXJz2rWpIvZbPOy1uNhv8bDX4nJ2vxtd8FKpVNDpdBW25%2BfnVzuxvvzIlre3t3V72bUqG0WrbR32Xqs8s9kCna6w1udXRSqVQKVyg05XBJPJ7PDrky32WzzstbjYb/Gw1%2BKqS79VKrcaj5Q1uuAVGBhY4VaewWDAn3/%2BiXHjxlV5XtncrrS0NJuAlpqaCkEQKsz9qkkd58%2Bfr7D9ypUrGDx4sF3XultpqfP%2BBTOZzE69Ptliv8XDXouL/RYPey0uZ/e70d04Dg8Px48//gitVmvddvDgQRgMBkRERFR5Xvv27REQEICUlBSb7cnJyejRo4fNU5I1ERERgUuXLtmEwDNnzuDGjRvV1kFERETNV6Mb8Zo4cSK2b9%2BOmJgYxMTEICcnB2%2B//TZGjx5tM5K1aNEi7NmzB%2BfOnbNui42NRVxcHPz9/dG/f38cOnQI33//PTZv3mzzGT/99BM0Gg2uXLkCAPjxxx9x48YN%2BPn5ITg4GAAwdOhQBAUFITY2FnPnzoXJZMK7776Lhx9%2BGAMHDhShE0RERNTYNLrgpVKpsG3bNixduhSzZ8%2BGq6sroqOjER8fb3Oc2WyGyWSy2TZixAgUFxdj48aN%2BOijj9ChQwesXr3aZvFUAFi3bh1%2B%2Bukn6%2B8rV64EAIwZMwZvv/02AEAmk2HTpk1YtmwZXnrpJQiCgMjISCxatKhOk%2BuJiIio6RIsfL9Ng2IymaHR6B1%2BXZlMAi8vJbRaPecKiID9Fg97LS72Wzzstbjq0m%2B1WlnjyfWNbo4XERERUWPF4EVEREQkEgYvIiIiIpEweBERERGJhMGLiIiISCQMXkREREQiYfAiIiIiEgmDFxEREZFIGLyIiIiIRMLgRURERCQSBi8iIiIikTB4EREREYmEwYuIiIhIJAxeRERERCJh8CIiIiISCYMXERERkUgYvIiIiIhEIqvtiampqTh9%2BjS0Wi2eeOIJ%2BPj4ICsrCx4eHnB1dXVkjURERERNgt3By2Qy4dVXX8Xu3bthsVggCALCw8Ph4%2BOD119/HQ888ABefPFFZ9RKRERE1KjZfatxw4YNSE5Oxssvv4zk5GRYLBbrvoEDB%2BL48eMOLZCIiIioqbB7xGv37t2IiYnBtGnTYDKZbPa1a9cO169fd1hxRERERE2J3SNeWVlZ6NmzZ6X7XFxcoNfr61wUERERUVNkd/Bq1aoVMjIyKt2Xnp6O%2B%2B67r85FERERETVFdgeviIgIbNy4EVlZWdZtgiAgPz8fn3zyCQYPHuzQAomIiIiaCrvneMXGxuLYsWMYOXIk%2BvbtC0EQsGrVKly%2BfBkymQwxMTHOqJOIiIio0bN7xMvb2xtffPEFRo0ahT/%2B%2BANSqRQXLlxAeHg4EhMT4enp6Yw6iYiIiBq9Wi2g6u3tjTfffNPRtRARERE5hdagxx%2B5mRAE4EEPX3gplPVSR61Xri/v5s2buHz5MoKDg%2BHl5eWISxIRERE5hNagx6rzB3CzOA8A4OvmibiuQ%2BolfNkdvFavXo2ioiIsWrQIAPDDDz/g%2Beefh8FggIeHB7Zv344uXbo4vFAiIiKi2rim10BjvLPclQUWaAx6XNNr6iV42T3H68CBA%2BjcubP19zVr1iAoKAgffPABfH19sWHDBocWSERERFQXHZRqqOV3QpYAAWqFEh2U6nqpxe4Rr6ysLPj7%2BwMAtFotfvvtN3z44YcYOHAgSkpK8M477zi8SCIiIqLa8lIoMfeBoY1zjpfFYrG%2Bn/GXX36BVCpF7969AQCtW7eGVqt1bIVEREREdeSlUCKsdf1PhbL7VqO/vz%2BOHDkCAEhJSUFwcDBcXV0BALdu3YJKpXJshURERER1oDXocUabAa2h/l9raPeI14QJE/Dmm2/iq6%2B%2Bgk6nw/Lly637fvnlF5v5X0RERET16WpBNjZcOYpikwFqhTtig6Lq7TYjUIvgNWnSJHh4eODXX39FcHAwHnvsMeu%2BkpISjBkzxqEFEhEREdWG1qDHhitHcbskH1JBAo2hoN6eZixTq3W8Ro0ahVGjRlXY/tZbb9W5ICIiIiJHuKbXoMhkgFSQwGQxw1WqqLenGcvYPceLiIiIqDHooFTDU94CMkEKtUKJWZ0j6nW0C6jliNfp06fxySefIDU1FcXFxRX2Hzp0qM6FEREREdWVxWKBIACuEjk8FC3quxz7R7z%2B85//YOrUqcjPz0dqaioCAgLQpk0b3Lx5EzKZDH369HFGnTbS09MxY8YM9OzZE6GhoVi6dGmlAbAyu3fvxvDhwxEcHIzo6Gjs3bu3wjFGoxHvvfcewsLCEBISgsmTJ%2BPChQsVjjt9%2BjQmT56M3r17o2/fvpg2bRrOnj1b5%2B9HREREdXcuLxNaYyFaylyRbyrGNb2mvkuyP3itW7cOY8eOxebNmwEAc%2BbMwc6dO7Fr1y7o9XoMGTLE4UWWp9PpMGXKFOj1eiQkJGD%2B/PlISkrC4sWL73nuvn37sGDBAgwZMgSbNm1Cv379EBcXhxMnTtgct2LFCuzYsQOxsbFYv349ZDIZpk6diuzsbOsxly9fxowZM%2BDi4oKVK1dixYoVKCoqwtSpU3H9%2BnWHf28iIiKqOa1Bj32Zv6PYZMTtkgKoZG71Pr8LqMWtxsuXL2P69OkQBAEAYDKZAABdu3ZFTEwMPvjgA0RGRjq2ynISExOh0%2BmwZ88eqNV3GiiVShEfH49Zs2YhMDCwynPXrl2L4cOHY968eQCAfv36IT09HQkJCQgLCwNwZ2X%2BxMREvPLKK3jyyScBACEhIYiKisK2bdsQHx8PADh48CAA4P3337euY9ajRw8MGDAAx44dw6RJk5zTACIiIrqna3oN8k3F8HZxR35pMYbe163e53cBtRjxKioqglKphEQigUKhsFmpPiAgAKmpqQ4t8G7Hjh1DaGioNXQBwLBhw6BQKHD06NEqz8vIyEBaWhqio6NttkdHR%2BPs2bPQaO4MP544cQImk8nmqU13d3dERkbaXL%2B0tBRyuRwuLi42x0kkEuvK/kRERFQ/OijV8JIrUWw2orWLCt08feu7JAC1CF6%2Bvr64ffs2AKBz5842YeT06dPw9PR0XHWVSE1NrTCqpVAo4O/vX23oS0tLA3AnHJYXGBgIi8Vi3Z%2Bamgpvb%2B8K3yMwMBDp6ekwm80AgNGjR8NsNuO9996DRqNBdnY2li1bBrVajREjRtT5exIREVHteSmUiA2KwtROYfW%2BaGp5dt9q7NOnD3766ScMHz4c48ePxxtvvIHU1FQoFAp8//33mDZtmjPqtNLpdJW%2BlkilUiEvL6/K88r23X2uh4eHzX6dToeWLVtWON/DwwNGoxGFhYVwd3dHp06dsHXrVsTExGDTpk0A7ryrcsuWLTajcbUhkzl%2BlQ%2BpVGLzd3Iu9ls87LW42G/xsNd15yNrCZ8WFf9Mr4xY/bY7eM2ePdsaUp566ikUFxcjKSkJADBr1iw8//zzjq2whu48Lirc87i7jym7LVh%2Be2XXufv2YXp6OmbPno1%2B/fph7NixKC0txccff4yZM2fi008/ha9v7YY0JRIBXl7OS%2BUqlZvTrk0Vsd/iYa/F1Rz7nVNUgOM3LyG7KB%2BDfbuis1cbUT63Ofa6rnKKCvDr7T8hAOjp7Y9Wbu41PtfZ/bY7eKnVapsRnWnTpjl9lKs8lUoFnU5XYXt%2Bfn61E%2BvLj2x5e3tbt5ddq2wkrKrr63Q6yOVytGhxZw2Q1atXw9vbGytXrrQGtX79%2BiEqKgpbtmyp0VOWlTGbLdDpCmt1bnWkUglUKjfodEUwmcwOvz7ZYr/Fw16Lq7n2W1Oixzu/p%2BBm8Z0/H/Ze/R2vBI9CQEsfp31mc%2B11XWlK9Fj5xz5kFuUBAuDr5on4B4dB7VL9oEZd%2Bq1SudV4pKxWC6iWycrKQm5uLjw9PdGmjTjJPzAwsMJcLoPBgD///BPjxo2r8ryyuV1paWk2AS01NRWCIFj3BwYGIicnx/q9yh/XqVMnSCR3GnvlyhWEhITYjI65uLigU6dO%2BPPPP%2Bv0HUtLnfcvmMlkdur1yRb7LR72WlzNrd9putvIMeitvxstJvx8%2Bxr83Vo5/bObW6/rqvw/K4vFAk2JHmm621B51Wwky9n9rtWNzAMHDmDYsGEYNGgQHn/8cQwaNAjDhg3Dvn37HF1fBeHh4fjxxx9tnqY8ePAgDAYDIiIiqjyvffv2CAgIQEpKis325ORk9OjRwzqKFxYWBolEYrOwql6vx%2BHDh22u7%2Bvri/Pnz9vcgiwqKkJqair8/Pzq/D2JiKjh6KBUQy3/74iJXJCil1f7eqyIqlL%2Bn5UAAWqFskGs31XG7hGvlJQUzJ07FwEBAfjnP/8Jb29vZGdnIyUlBXFxcTCbzRg5cqQzagUATJw4Edu3b0dMTAxiYmKQk5ODt99%2BG6NHj7YZyVq0aBH27NmDc%2BfOWbfFxsYiLi4O/v7%2B6N%2B/Pw4dOoTvv//euhgsALRp0wYTJ07EypUrIZPJ4Ovriy1btgAApkyZYj1u0qRJmDVrFubOnYsxY8bAaDRi27Zt0Ol0mDBhgtO%2BPxERic9LocRLDw7HT7fToTHoEeodgI7uzrvNSLXnpVBi7gND8UduJgQBeNDDt8E80QgAgsXORadGjRoFPz8/bNy40XrbDQDMZjNmzpyJmzdv4ptvvnF4oeWlp6dj6dKl%2BPnnn%2BHq6oro6GjEx8dbFzIFgAULFmD37t24ePGizbm7d%2B/Gxo0bcePGDXTo0AEvvPBCheUfDAYDEhISsHv3buTn5yMkJASvvPIKunbtanPcgQMHsHnzZqSlpUEqlSIoKAixsbF45JFHav3dTCYzNBr9vQ%2B0k0wmgZeXElqtnkPWImC/xcNei6s59ltr0NfLH%2BLNsdf1qS79VquVNZ7jZXfwCg4Oxrp16zBo0KAK%2Bw4fPowXX3wRv/32mz2XpHIYvJoG9ls87LW4mlu/tQY9Vp0/gJvFd57m93XzRFzXIaKEr%2BbW6/omVvCq1QKqRUVFle4rLi5G27Zt7b0kERFRg3QuLxPZhnxY/v4/jUHfIF60TI2X3cFr%2BvTpWL9%2BvfUVO2VycnKwYcMGTJ8%2B3WHFERER1RetQY9vbpyFwWyCBYAFgIfctUFN1KbGp0aT65cuXWrze0FBAaKiotCvXz/4%2BPggOzsbP/74I7y8vHDlyhWnFEpERCSma3oN8kqLIOBO6JILUoxo26NBTdSmxqdGwWv79u2Vbj9y5IjN70VFRdixY0etFw8lIiJqCLQGPQqMxfCUt0CWSQcBQBvXhvOiZWq8ahS8Lly44Ow6iIiIGgStQY%2BEi4egNerRUuqKJ/0fgVLm0uCWJaDGqU4r1xMRETU11/QaaI16KKUuyDcVo7WrB3pysVRyEL7ynIiI6G9agx5ZRXmQQoJcYyFUMjdOpieHqtWI11dffYVt27YhLS0NJSUlFfafP3%2B%2BzoURNUVlCzEWmkp464KogSlbsyuzOBcWAAIAk4XrZ5Fj2R28Dh06hEWLFmHMmDE4d%2B4cxo0bh5KSEhw%2BfBitW7dGdHS0M%2BokavS0Bj1Wnt9vXYhRAkHUxRiJqHrX9BpojLYLWOcZi3BNr%2BG/o%2BQwdt9q3LRpE6ZOnYo33ngDwJ13Fq5cuRL79%2B%2BH2WzGfffd5/AiiRo7rUGPvZm/46%2B/QxcAmLkYI1GDcveLsBviC5ap8bN7xCs9PR2zZ8%2BGIAgAAJPJBADw8fHBrFmz8NFHH%2BGJJ55wbJVEjVjZE1JZxXko/34u/o86UcNS/uXKnA5AzmJ38DKZTJDL5ZBIJHBzc0N2drZ1X9u2bZGRkeHQAokaq5yiAvyfJgOpebfwV3EeWkgVKDGXQi5I0UKqwHDf7ujdqhP/R52oAfFSKBHWukt9l0FNmN3Bq127drh16xYAoGvXrvjmm28QFRUFANi/fz98fHwcWyFRI6Qp0WPdb4fwl14HvenOAygl5lK0dnHHaL%2Be/K9oIqJmyu7gFRoaih9%2B%2BAHR0dF49tlnERcXh99%2B%2Bw1yuRzp6emYN2%2BeM%2BokalT%2ByL2Bvwp1wN83F8teOdLD0x8DfPhf00REzZXdwSsuLg4GgwEAMGLECEilUiQlJUEQBDz33HMYO3asw4skaky0Bj2Sr59FUakB5nKzuhSCFP29A%2BqxMiIiqm92By%2BFQgGFQmH9fejQoRg6dKhDiyJqjMrW6LpckIWsYh0ssEAA8GibB%2BEqlaOXV3t0dOeteCKi5oyvDCJygLKFF28W51lHuSS48%2BRv%2BxZqTtYlIiIAtQhezz77bJX7JBIJVCoVumwoQh0AACAASURBVHfvjieeeAJqNR%2BTp%2BahsoUX5RIpfFzc0c3Tt56qIiKihsbu4GWxWHD16lVkZ2fDz88P3t7eyM7ORmZmJlq3bg21Wo0jR45g27Zt2LFjBzp27OiEsokalrKFF2%2Ba8iCBgDauKkwI6o2Ocm%2BopG71XR4RETUQdq9cP2vWLMjlcnz22Wc4dOgQPvvsMxw%2BfBiJiYmQSqWIi4tDSkoKWrRogTVr1jijZqIGp2zhxamdBmBawADM7z4CUe0fhNqFS0YQEdF/2R28Vq1ahZiYGISEhNhs79mzJ2JiYrB69Wq0b98eM2bMwKlTpxxWKFFDpTXoceLWZZzLy0Q3T18M8OnCwEVERJWy%2B1bjpUuX0LZt20r3tW3bFmlpaQCAgIAA5Ofn1606ogau/KR6ANaXXvvIWtZzZURE1BDZPeLl7e2NgwcPVrrv4MGDaNWqFQCgoKAAKpWqbtURNXDlJ9Vb%2BNJrIiK6B7tHvJ588kmsWbMG%2Bfn5GDFiBFq1aoWcnBykpKRg7969mDNnDgDg119/RVBQkMMLJmpIyk%2Bq50uviYjoXuwOXs8//zwKCwuxdetWpKSkALjzpKNCocDMmTPxj3/8AwAwatQojB8/3rHVEjUwZZPq/8jNhCCA72AkIqJqCRaLxXLvwyrS6XQ4c%2BYMcnNz4enpiZCQEHh4eDi6vmbHZDJDo9Hf%2B0A7yWQSeHkpodXqUVpqdvj1yRb7LR72Wlzst3jYa3HVpd9qtRJSac1mb9V65XqVSoXw8PDank5ERETU7NQoeGVmZsLHxwdyuRyZmZn3PN7Xlyt1ExEREd2tRsErKioKn332GXr06IHIyEgIglDt8efPn3dIcURERERNSY2C1/Lly9G%2BfXvrz/cKXkTNhfbv5SM6KNWcVE9ERPdUo%2BA1ZswY689jx451WjFEDV1Z0PKUu%2BKiLgvfZp2DwVwKtcIdsUFRDF9ERFStWk%2BuJ2putAY9Ei4eQo6hACWlRpTCDAsAGSTQoADX9BoGLyIiqpbdwev999%2Bvcp9EIoFKpUL37t3Rs2fPOhVG1BBoDXr8dDsdmUW5gABoDAWQC1IUoMR6TCnMcJUquHAqERHdU62ClyAIqGz5r7LtgiCgd%2B/e2LBhA5RKjgBQ46Q16PGvc/vwV4nOuk0mSOAisUAOCUywwAIL1AolZnWO4GgXERHdk93B6%2BDBg3juuecwbtw4REdHw9vbG9nZ2fjmm2/w5Zdf4l//%2BheuXbuGJUuWYO3atVi0aJEz6iZyuvLvYSwjgYDINg%2Bgl1d7XC/M5Wr1RERkF7uD17Jly/DYY49h5syZ1m1%2Bfn6YOXMmSktLkZCQgM2bN%2BPPP//El19%2ByeBFjZan3BUtpAoYzEXWba1clBjUJgheCiU6uvvUY3VERNQY1Wx9%2B3JOnTqFXr16VbqvV69e%2BPnnn60/37p1q27VEdWTqwXZ2HDlKIxmEzzlbuij7oSJ/r0R/8Bwjm4REVGt2R28FAoFzp07V%2Bm%2B33//HQqFAgBgNpvRokWLulVHJCKtQY8z2gxr6Lpdko8ScylMFjP6eQdiaNvuDF1ERFQndgevqKgorFu3Dp9//jl0ujuTjnU6HRITE7F%2B/Xo8%2BuijAIBLly7B39/fsdX%2BLT09HTNmzEDPnj0RGhqKpUuXori4uEbn7t69G8OHD0dwcDCio6Oxd%2B/eCscYjUa89957CAsLQ0hICCZPnowLFy5Uer1vv/0WTz75JEJCQtCnTx9MmzYNubm5dfp%2BJL6ypSK2pp/AhitHUVhaAqkggcnCJxaJiMhx7J7jtXDhQly9ehWvvfYaXn/9dUilUphMJlgsFjz00ENYsGABAKBNmzZ44YUXHF6wTqfDlClT4Ovri4SEBGg0GqxYsQK5ublYuXJltefu27cPCxYswMyZMzFgwAB8%2B%2B23iIuLQ8uWLREWFmY9bsWKFdizZw8WLFgAPz8/bN68GVOnTkVSUhJ8fP47r2fXrl14/fXXMX36dMydOxeFhYX46aefYDQaHf69ybmu6TXQGvVQSl2QX1qMFjIXCCYBblIFn1gkIiKHESyVrQtxDxaLBceOHcPp06eRm5sLT09P9O7dG%2BHh4U5/ndCHH36I9evX4/Dhw1Cr74xCJCUlIT4%2BHikpKQgMDKzy3BEjRuD%2B%2B%2B/H2rVrrdtmzJiB/Px8fP755wCArKwsDB48GK%2B88gqefvppAEBBQQGioqIwfvx4xMfHAwC0Wi2ioqIwf/58TJgwwWHfz2QyQ6PR3/tAO8lkEnh5KaHV6lFaanb49Ru7shEvrVEPL7kSUzqFItdYXOtXAbHf4mGvxcV%2Bi4e9Fldd%2Bq1WKyGV1uwmYq1WrhcEAREREYiIiKjN6XVy7NgxhIaGWkMXAAwbNgyLFi3C0aNHqwxeGRkZSEtLw9y5c222R0dHY%2BHChdBoNFCr1Thx4gRMJhNGjRplPcbd3R2RkZE4evSoNXjt3bsXFovF5nVK1LhFtXmAy0MQEZFTNbpXBqWmpmLcuHE22xQKBfz9/ZGamlrleWlpaQCAgIAAm%2B2BgYGwWCxIS0uDWq1GamoqvL294enpWeG4pKQkmM1mSCQS/N///R86deqE3bt3Y8OGDcjOzkZQUBBeeuklhIaG1uk7ymR2T727p7IkXtNE3pxoSvRYd%2BkQtIZCeClaIFjdrs7/DNhv8bDX4mK/xcNei0usfje64KXT6aBSqSpsV6lUyMvLq/K8sn13n%2Bvh4WGzX6fToWXLlhXO9/DwgNFoRGFhIdzd3XH79m2kp6dj3bp1iI%2BPR6tWrbB161bMnDkTKSkpaN%2B%2Bfa2%2Bn0QiwMvLeaMtKpWb067dWP2ScQ3ZJQVQKVyRW1qEHEGPQK/WDrk2%2By0e9lpc7Ld42GtxObvfjS54VaXsVUX3cvcxZVPcym%2Bv7Dp3T4Uzm80oLCzEmjVrrLdce/fujaioKHz00UdYsmSJvV/h7%2BtaoNMV1urc6kilEqhUbtDpimAyca5AmbT8bHxy4SSKSg0oMhng6%2BaJVpY79/jrgv0WD3stLvZbPOy1uOrSb5XKzblzvOqTSqWyLmNRXn5%2BfrUT68uPbHl7e1u3l12rbCSsquvrdDrI5XLr2mRl1%2Bvbt6/1GFdXV4SEhODKlSv2fi0bzpxEaTKZOUnzb1qDHh9cPAKNQQ8JBCgEKYa26QaV1M1hPWK/xcNei4v9Fg97LS5n97vR3TgODAysMJfLYDDgzz//rDZ4lc3tKpvrVSY1NRWCIFj3BwYGIicnp8JaXKmpqejUqRMkEon1uKpGxpz9ZCc5xjW9BkUmA6SCBGZY4C53QzdP3/oui4iImrBGF7zCw8Px448/QqvVWrcdPHgQBoOh2qcs27dvj4CAAKSkpNhsT05ORo8ePaxPSYaFhUEikdgsrKrX63H48GGb6w8aNAgWiwUnT560bisqKsKZM2fQtWvXOn9Pcr4OSjVaKdzhKpXD26Ul1%2BsiIiKnq9Wtxq%2B%2B%2BgrJycnIzMyssGK8IAj49ttvHVJcZSZOnIjt27cjJiYGMTExyMnJwdtvv43Ro0fbjHgtWrQIe/bssXm9UWxsLOLi4uDv74/%2B/fvj0KFD%2BP7777F582brMW3atMHEiROxcuVKyGQy%2BPr6YsuWLQCAKVOmWI8LDg5GVFQUFi9ejHnz5lkn1xcXF%2BO5555z2vcnx%2BISEkREJCa7g9eHH36IVatWoXPnzujatav13YxiUalU2LZtG5YuXYrZs2fD1dUV0dHR1vW1ypjNZphMJpttI0aMQHFxMTZu3IiPPvoIHTp0wOrVq21WrQeABQsWoEWLFlizZg3y8/MREhKCbdu22axaDwD/%2Bte/sHLlSrz77rvQ6/Xo0aMHtm7dijZt2jjny5PD3L1g6oMevMVIRETOZ/fK9Y8%2B%2BigiIiLw6quvOqumZo0r14vjjDYD/5t2HDJBilKLCdMCBqKnV%2B2WAKkM%2By0e9lpc7Ld42GtxNdiV62/fvm19ETZRYyWBBUUmI0yWEsgFKTzlrvVdEhERNQN2T67v1q0bMjIynFELkSiuFmRjS9oPKLWYIUCAXCJFrrH43icSERHVkd3Ba8GCBdiyZQt%2B//13Z9RD5FRXC7Kx5uIh6EqLAAAWWNBC5oIOSvU9ziQiIqo7u281Llq0CLm5uRg/fnyl7zQUBAFff/21wwokchStQY8NV45aQxcAtJS5cRkJIiISjd3By9PTs0LYImrotAY99mb%2BjnxjEWSCBKUWM1QyN8wJikJHd597X4CIiMgB7A5en3zyiTPqIHIarUGPVecPILM4FxYAAoBWCiX%2B2WUwQxcREYmq0a1cT2Sva3oNNEY9BNx5lZNCIsNjfr0YuoiISHQ1GvHKzMyEj48P5HI5MjMz73m8ry8Xo6SGo4NSDbVciZumPEggwMelJd/JSERE9aJGwSsqKgqfffYZevTogcjIyHu%2BBPr8%2BfMOKY6otrQGPa7pNdanFYe17Y5CUwmUMhe%2BHoiIiOpNjYLX8uXL0b59e%2BvP9wpeRPWp/OuAWkpdIQgCdKVF8JIrERsUxdBFRET1pkbBa8yYMdafx44d67RiiBzhml4DrVEPpdTFOrfLQ%2B4GrfHOKBiDFxER1Re7n2okaug6KNXwkiuhNeqhlittRry4UCoREdUnBi9qkqLaPABBAB70uDOJvmy%2BF0e7iIioPjF4UZNwtSAbP9xOQwupHL9o/7SOcJVNpGfgIiKihoDBixotrUGPP3IzcbskHymZv6EUZgCABAK8Xdw5p4uIiBocBi9qlMpWo79ZnAczLDb7LLCgoLQEPi4tOaeLiIgaFAYvapTKVqOvjI%2BLO0b79eR6XURE1ODUKHidPn3arov27t27VsUQ1dTdq9F7u7gjqOV98Gvhid6tOjFwERFRg1Sj4DV58mTroqkWi4Ur11O981IoMfeBofgjN9P69CLDFhERNXQ1Cl4ff/yx9We9Xo%2B33noLnTp1QnR0NLy9vXH79m0kJSUhPT0dr732mtOKJSrPS6FEWOsu9V0GERFRjdUoePXp08f685IlS/DII4/g3XfftTlmzJgxeOmll3DkyBEMHjzYsVUSERERNQESe0/Yt28fRo8eXem%2B0aNH48CBA3UuioiIiKgpsjt4FRcXIycnp9J9OTk5KC4urnNRRERERE2R3cHr4Ycfxpo1a3Dp0iWb7RcvXsSaNWvw8MMPO6w4oupoDXqc0WZAa6h8WQkiIqKGxu51vF555RU888wzePzxx9G5c2f4%2BPggOzsbV65cgaenJ1555RVn1ElkQ2vQI%2BHiIWiNenjJlYgNiuJTjURE1ODZPeIVEBCApKQkTJ8%2BHa6ursjIyICrqytmzJiBr7/%2BGgEBAc6ok8jGNb0GWqMeSqmL9dVAREREDV2tVq5v1aoV4uPjHV0LUY15yl3hIpGjoLQYaoU7Xw1ERESNAl8ZRI1G2UuxC00lOJF9BUUmA9ykCkzpFMrbjERE1CjUKHgtXLiwxhcUBAHLly%2BvdUFE5ZWFrdsl%2BTiWfQk6YzEssED4%2BzVBxWYjco18kpaIiBqHGgWvU6dO1fiC93qdEFFNaQ16rDp/AJnFubBU2GtBQWkJfFxa8jYjERE1GjUKXocPH3Z2HUQVXNNroDFWXCpCgID7XFUY6RvMdzQSEVGjwjle1GB1UKqhliuRacoFAAgAPORuGN62O3q36sTARUREjU6tg9fx48fx008/QavVIiYmBr6%2Bvjh79izatWsHtZq3fqhuyuZ2DSz3EmylzIUjXERE1KjZHbyKiooQExODkydPWudzPfXUU/D19cWWLVvQtm1bzJ8/3%2BGFUvNRNrfrZnEeAMDXzRNxXYcwcBERUaNn9wKqq1evxu%2B//45169bhP//5DyyW/057HjBgAH744QeHFkjNT/m5XRZYoDFwgVQiImoa7A5e%2B/btw4svvoghQ4bA1dXVZp%2Bvry9u3rzpsOKoeSqb2wXcmUivVij55CIRETUJdt9q1Gg06Ny5c6X7JBIJiou5phLVjZdCibkPDMUfuZkQBHBeFxERNRl2j3i1adMGly5dqnTfxYsX0a5duzoXRc2b9u9bi908fTHApwtDFxERNRl2B6%2BhQ4di48aNOHfunHWbIAi4ceMGtm7diuHDhzu0wMqkp6djxowZ6NmzJ0JDQ7F06dIaj7Tt3r0bw4cPR3BwMKKjo7F3794KxxiNRrz33nsICwtDSEgIJk%2BejAsXLlR5TbPZjDFjxiAoKAj79u2r9feiO6Er4eIhbE0/gYSLh6A1VFzHi4iIqLGyO3j985//ROvWrTF%2B/HiMGzcOgiBg4cKFiI6OhlqtxsyZM51Rp5VOp8OUKVOg1%2BuRkJCA%2BfPnIykpCYsXL77nufv27cOCBQswZMgQbNq0Cf369UNcXBxOnDhhc9yKFSuwY8cOxMbGYv369ZDJZJg6dSqys7MrvW5iYiJu3brlkO/X3F3Ta6A16qGUukBr5KR6IiJqWuwOXu7u7khMTMSLL76IFi1awN/fH25ubvjHP/6BHTt2VJhw72iJiYnQ6XRYv349wsPD8fjjj2Px4sVISkpCampqteeuXbsWw4cPx7x589CvXz8sXrwYAwYMQEJCgvWYrKwsJCYmYt68eXjyyScxYMAArFu3DhaLBdu2batwTY1Gg7Vr1yIuLs7h37W50Rr0yCrKgxQS5BoLoZK5cVI9ERE1KXYHLwBwdXXFzJkzsXPnTuzfvx%2BJiYl4/vnn4ebm5uj6Kjh27BhCQ0NtFmkdNmwYFAoFjh49WuV5GRkZSEtLQ3R0tM326OhonD17FhrNnZGVEydOwGQyYdSoUdZj3N3dERkZWen1V61ahb59%2B6Jfv351/WrN2tWCbCz74xt8nnEaWmMhik1GmCzm%2Bi6LiIjIoRrdK4NSU1Mxbtw4m20KhQL%2B/v7VjnilpaUBAAICAmy2BwYGwmKxIC0tDWq1GqmpqfD29oanp2eF45KSkmA2myGR3MmrZ8%2BeRXJyMpKTkx3x1axkslrl4WpJpRKbvzckmhI9Nl45Cs1d87nyjEW4XqyFT4uW9VRZ7TXkfjc17LW42G/xsNfiEqvfNQpeCxcuRExMDNq3b4%2BFCxdWe6wgCFi%2BfLlDiquMTqeDSqWqsF2lUiEvL6/K88r23X2uh4eHzX6dToeWLSv%2BQe/h4QGj0YjCwkK4u7vDbDbjzTffxLRp09CuXTtcv3691t%2BpPIlEgJeX857iU6mcPyppr8tZt1BsMUImSFD69yiXIAjwadESIb7t4eXWeJ9qbIj9bqrYa3Gx3%2BJhr8Xl7H7XKHidOnUKU6ZMsf5cnbLXCInNYrHU6LPvPqZs5f3y2yu7TvkV%2BgHg//2//4fs7GyHP0xgNlug0xU69JrAnQSvUrlBpyuCydSwbuG1siihkrnBUGqCu9wFEa2D0Nq1Jbp5%2BkFSLEBb3PiebGzI/W5q2Gtxsd/iYa/FVZd%2Bq1RuNR4pq1HwOnz4cKU/1weVSgWdTldhe35%2BPgIDA6s8r/zIlre3t3V72bXKRsKqur5Op4NcLkeLFi2g1%2BuxatUqxMXFwWg0wmg0oqCgAABQXFyMgoICuLu71/o7lpY6718wk8ns1OvXhqaoAIWlBgiwQClxQbjP/da1uxparfZqiP1uqthrcbHf4mGvxeXsfje6G8eBgYEV5nIZDAb8%2Beef1QavsrldZXO9yqSmpkIQBOv%2BwMBA5OTkIDc3t8JxnTp1gkQigVarRW5uLl5//XX07t0bvXv3xmOPPQYAmD9/PoYNG1bn79kcaA16nLh1GR9cPgKtQQ%2BjxQxdaRGXkCAioibL7sn1o0ePxtNPP43HHntMlKcY7xYeHo4NGzZAq9XCy8sLAHDw4EEYDAZERERUeV779u0REBCAlJQUDBkyxLo9OTkZPXr0sD4lGRYWBolEgr179%2BKpp54CAOj1ehw%2BfBjjx48HAPj4%2BODjjz%2B2uf7t27cxd%2B5czJ49G/3793fod26KtAY9Vl84iOySfBjMpZAKEpgsZrhKFVxCgoiImiy7g5eXlxeWLFmC9957D2PGjMGkSZPQsWNHJ5RWuYkTJ2L79u2IiYlBTEwMcnJy8Pbbb2P06NE2I16LFi3Cnj17bFbYj42NRVxcHPz9/dG/f38cOnQI33//PTZv3mw9pk2bNpg4cSJWrlwJmUwGX19fbNmyBQCs89xcXFzQt29fm7rKJtd37twZDz30kNO%2Bf1NxLi8TmUW5MOPO3DmZIIGXQolZnSP4iiAiImqy7A5eH3/8Ma5cuYLt27fjiy%2B%2BwPbt2xEaGopnnnkGgwcPdkaNNlQqFbZt24alS5di9uzZcHV1RXR0NOLj422OM5vNMJlMNttGjBiB4uJibNy4ER999BE6dOiA1atXIywszOa4BQsWoEWLFlizZg3y8/MREhKCbdu2wcfHx%2Bnfr7koe1ZBAgEWWBDmcz9G%2BHZn6CIioiZNsNz9uJ4dCgoKsGvXLnz66ae4evUqfH19MWnSJDzxxBPWyexkH5PJDI3G8U/xyWQSeHkpodXqG8QkTa1Bj1XnD0Bj1EMtV2LuA0ObVOhqaP1uythrcbHf4mGvxVWXfqvVyho/1Vin4FUmOzsb8fHx1qUm3NzcMGHCBLz44ov1Mg%2BsMWsuwQu4E76u6TXooFQ3qdAFNMx%2BN1XstbjYb/Gw1%2BISK3jVaeX6X3/9FTt27MD%2B/fshk8nw1FNPYeTIkTh06BA%2B/fRTZGVlYfXq1XX5CGrCvBTKJhe4iIiIqmN38CopKUFSUhJ27tyJ8%2BfPw9fXF3FxcRg/frx1xffevXuja9eueOONNxxeMBEREVFjZXfwCg8Ph06nwyOPPIJ169YhKiqq0pXeO3XqhKKiIocUSU1PU77NSEREVBW7g9ejjz6KZ599FkFBQdUeFxISggsXLtS6MGq6tAY9Ei4egtaoh5dcidigKIYvIiJqFuwOXsuWLXNGHdSMXNNroDXqoZS6QGu8M/LF4EVERM1Bo3tlEDVuWoMeWUV5kAtSFJQWw0uu5Er1RETUbNTpqUYie2gNeqw8vx9/FecBANQKJaZ0CuVoFxERNRsMXiSac3mZ%2BKs4D2ULxxWaDMg1FtdrTURERGLirUYSjb60BOVX623BF2ITEVEzw%2BBFotAa9Dh%2B6zLKFh7xkrfAP7sM5m1GIiJqVmp9qzE1NRWnT5%2BGVqvFE088AR8fH2RlZcHDwwOurq6OrJGagHN5mdAaC6FWKFFoMmBMu4fQ0Z0vHScioubF7uBlMpnw6quvYvfu3bBYLBAEAeHh4fDx8cHrr7%2BOBx54AC%2B%2B%2BKIzaqVG6mpBNnZf/xXFJiOKTUb4unmim6dvfZdFREQkOrtvNW7YsAHJycl4%2BeWXkZycjPLv2B44cCCOHz/u0AKpcdIa9Dhx6zIO3PwdH1w%2BAq1BDwGAi0SKofd14y1GIiJqluwe8dq9ezdiYmIwbdo0mEwmm33t2rXD9evXHVYcNU5agx6rzh/AzeI8WP6eTi8VJDBZzHCXu3G0i4iImi27g1dWVhZ69uxZ6T4XFxfo9fo6F0WN2zW9Bhrjnf8/sAAQAMgEKbwUSszqHMHRLiIiarbsDl6tWrVCRkYG%2BvXrV2Ffeno67rvvPocURo2Xp9wVblIFSkylkEBAG1cVRvoG40EPX4YuIiJq1uwOXhEREdi4cSPCw8Ph7e0NABAEAfn5%2Bfjkk08wePBghxdJjYfWoMe29JMwmEvhqWiBofc9iN6tOjFwERERoRbBKzY2FseOHcPIkSPRt29fCIKAVatW4fLly5DJZIiJiXFGndRIlL0Au6XMFXpTCVq7ejB0ERER/c3upxq9vb3xxRdfYNSoUfjjjz8glUpx4cIFhIeHIzExEZ6ens6okxoJT7kr5IIUucZCqGRuXJmeiIionFotoOrt7Y0333zT0bVQI3e1IBvv/710BACYLOZ6roiIiKhhsXvEa/v27cjLy3NGLdSIndX%2BiZUXDkBj0Fvfx5hnLMI1vaZe6yIiImpI7A5eS5cuxcCBAzFnzhwcP37cZgFVap6uFmTj/UtHUGgylNsqQK1Q8lYjERFROXbfakxJScGXX36JpKQk7N%2B/Hz4%2BPhgzZgzGjBmDjh07OqFEauhO3k5DKf57W9FVIsfj7XryaUYiIqK72D3iFRAQgJdeegnfffcdNm7ciF69euF///d/MWLECEyaNAlffvmlM%2BqkBkpr0OO33P%2B%2BrUAKCZ7vHI6hbbszdBEREd3F7uBlPVEiQUREBNauXYsTJ05g8eLFyMzMxKuvvurI%2BqiBu6bXoNBsQCuFEgqJFE%2B0fxg9vPzruywiIqIGqdbBq0xBQQH27t2Lr7/%2BGn/99RdcXFwcURc1Ep5yV7hI5DCYS9HW1RN9vDvVd0lEREQNVq2WkwCAkydP4ssvv8S3336L4uJihISE4M0338TIkSMdWR81YGWr1BeZDHCTKjClUyhvLxIREVXD7uCVkJCAPXv24ObNm2jVqhWefvppjB07FoGBgc6ojxqwu1epzzUW13dJREREDZrdwevDDz/E4MGD8eqrryI8PBxSqdQZdVEj0EGphpdcCa1RDy85l44gIiK6F7uD17Fjx6BW8w9YArwUSsQGReGaXnMnhPE2IxERUbXsDl4MXVSel0LJwEVERFRDNQpeCxcuRExMDNq3b4%2BFCxdWe6wgCFi%2BfLlDiiMiIiJqSmoUvE6dOoUpU6ZYf66OIAh1r4qIiIioCapR8Dp8%2BHClPxMRERFRzdm9gGpmZiaMRmOl%2B0pLS5GZmVnnooiIiIiaIruDV1RUFM6fP1/pvgsXLiAqKqrORVHjoDXocUabAa1BX9%2BlEBERNQp2P9VosViq3Gc2mznHq5nQGvRIuHjIuoZXbFAUn24kIiK6hzq/q7GMwWDAsWPH4OXl5ahLVik9PR0zZsxAz549ERoaiqVLl6K4uGarpu/evRvDhw9HcHAwoqOjsXfv3grHGI1GvPfeewgLC0NISAgmT56MCxcu2Bzzww8/YO7cuYiMjERISAhGbdRlJQAAIABJREFUjBiBDRs2wGAwOOQ7NnRlq9YrpS7QGvW4ptfUd0lEREQNXo1GvN5//3188MEHAO48tThhwoQqjx0/frxjKquCTqfDlClT4Ovri4SEBGg0GqxYsQK5ublYuXJltefu27cPCxYswMyZMzFgwAB8%2B%2B23iIuLQ8uWLREWFmY9bsWKFdizZw8WLFgAPz8/bN68GVOnTkVSUhJ8fHwAAImJiSgqKsLs2bPh6%2BuLP/74A%2BvWrcP58%2BeRkJDg1B40BFy1noiIyH41Cl7BwcGYNGkSLBYLdu7ciWHDhsHb29vmGIVCgfvvvx/R0dFOKbRMYmIidDod9uzZY13MVSqVIj4%2BHrNmzar2nZFr167F8OHDMW/ePABAv379kJ6ejoSEBGvwysrKQmJiIl555RU8%2BeSTAICQkBBERUVh27ZtiI%2BPBwAsWbLEZjHZvn37QiaTYdmyZbhx4wb8/Pyc8v0bCq5aT0REZL8aBa%2BIiAhEREQAAIqKiqyLqdaHY8eOITQ01Cb0DBs2DIsWLcLRo0erDF4ZGRlIS0vD3LlzbbZHR0dj4cKF0Gg0UKvVOHHiBEwmE0aNGmU9xt3dHZGRkTh69Kg1eFW2gv%2BDDz4IALh161aTD14AV60nIiKyl92T61esWOGMOmosNTUV48aNs9mmUCjg7%2B%2BP1NTUKs9LS0sDAAQEBNhsDwwMhMViQVpaGtRqNVJTU%2BHt7Q1PT88KxyUlJcFsNkMiqXxq3H/%2B8x9IpVJ06NChNl/NSiZz2NQ7K6lUYvN3ci72WzzstbjYb/Gw1%2BISq992B68yly5dQmpqKkpKSirs%2B//t3XlYk1e%2BB/BvQohshh1bKHYgCooiglrFIig%2BWjuCWh1bp62jXpdWVFoYrWhprQ6KtdYVte5ixaXOVXtxtFaxQ7VTvR2XbmotS0VxQ7ZgQBKS3D96yRgJSCR5I/H7eR4e5bznPfnl56P8POe8JyNGjGhRUE1RKBSQyWQN2mUyGSorKxu9r/7ag/e6uroaXFcoFGjbtm2D%2B11dXaFWq1FdXQ0XF5cG14uLi7Fp0ya89NJLLfo8S7FYBHd3y80iyWSOZhurtOYu8hUlkMu84enYMCdk3nxT05hrYTHfwmGuhWXpfJtceNXU1GDq1Kk4deoURCKR/niJ%2B4%2BRsGTh1RidTtesoywe7GMsfmPjNHWMhlKpxIwZM%2BDp6YnZs2c3N2SjtFodFIrqFo1hjJ2dGDKZIxSKGmg02haPV1arxIqLR1Guqoa71Alvdx4EjzZcdqxn7nxT45hrYTHfwmGuhdWSfMtkjs2eKTO58Fq7di2Ki4uxY8cOvP7668jIyICzszN27dqFy5cvY8WKFaYOaRKZTAaFQtGgvaqqqsmN9ffPbN3/YED9WPUzYY2Nr1AoYG9vDycnJ4N2tVqNxMRE/aZ8Y7Nxpqqrs9xfMI1Ga5bxCxR3UKb6/TiJMpUSBYo7kLnzf2UPMle%2B6eGYa2Ex38JhroVl6XybvJCZk5ODyZMnIzw8HADw9NNPIzIyEqtWrUKXLl2wc%2BdOswd5P7lc3mAvl0qlQlFRUZOFV/3ervq9XvXy8/MhEon01%2BVyOUpLS1FRUdGgX0BAgMH%2BLq1Wi3feeQfnzp3Dhg0brPbAgdDKVUrcqqmEvcgOd%2Bvu8TgJIiKiZjK58CouLkZgYCDs7OwgEolQU1OjvxYfH4%2BcnByzBvig6OhonDp1CuXl5fq2o0ePQqVS6Z%2B8NMbf3x%2BBgYE4dOiQQfvBgwfRrVs3/b6sqKgoiMVig4NVlUoljh8/3mD8BQsW4OjRo8jIyECXLl3M8fYee%2BUqJZZd/BJ7r/4bZSolpGIJxgVE8ulGIiKiZjB5qbFt27aorv59D5KnpyeuXLmCnj17Avj9Q7Lrr1nKmDFjsGPHDiQkJCAhIQGlpaVYvHgx4uPjDWa85s6diwMHDuDChQv6tsTERCQlJaF9%2B/bo27cvcnJy8M0332DTpk36Pu3atcOYMWOwdOlSSCQS%2BPr6YsuWLQCAcePG6futX78eu3btwvjx4%2BHk5ITz58/rr7Vv375FG%2BwfZ1eUZShT/%2BezGWs0alSom/epAURERE86kwuv4OBg/Pbbb4iOjkbv3r2xfv16PPvss5BKpVizZg06depkiTj1ZDIZMjMzkZaWhhkzZsDBwQFxcXH687XqabVaaDQag7YXX3wR9%2B7dwyeffILNmzfj2WefxfLlyw1OrQeAlJQUODk5YcWKFaiqqkJYWBgyMzP1p9YDwMmTJwEA27Ztw7Zt2wzuT09Px8iRI834rh8fbvYOcLSTolZTBxFE8JBymZGIiKi5RLqmHtcz4tChQ7hy5QqmTp2Kq1ev4tVXX8WdO3cA/F4UbdiwAWFhYRYJ9kmg0WhRVqZ8eEcTSSRiuLs7o7xc%2BcibBus/GLtUdRdSsQSDnwpBL88ALjMaYY58U/Mw18JivoXDXAurJfn28HC23FONf/zjH/W/9/f3x5EjR/RHS4SHhzc4eJRsxxVlGcpUd2EvsoNaWwcfB1cWXURERCZ45ANU6zk5OSE2NtYcsdBjzs3eAbWaOtzV1cJeZAc3ewdrh0RERNSqtLjwoidHcU0FxCIxZHZSaKDlpnoiIiITNavw6tSpU7NOhQd%2BP/X9/icJyTaUq5T44vpPUGnroNLWwdfRjZvqiYiITNSswmvatGnNLrzINl1RlqFKcw9ebVxQVXcPg5/qwv1dREREJmpW4TVjxgxLx0GPOTd7B7QR26NGo4JPGxm6uPlaOyQiIqJWx%2BST6%2BnJU65SIrPwW9RoVHCwk/KkeiIiokdk8ub6AwcOPLTPiBEjHikYejxdUZahXK1EW4kDlJpabqonIiJ6RCYXXikpKUbb798DxsLLttQvM96tuwcPqQs31RMRET0ikwsvYx%2BCXV5ejpycHBw6dAjLly83S2D0ePihvAhbC/8FlUYDF/s2XGYkIiJqAZMLLz8/P6NtXbt2RV1dHbZv347FixebJTiyrt/uliDj8leow%2B8fnSCuE3GZkYiIqAXMurk%2BMjISx48fN%2BeQZEXnyq/qiy4AkIjFXGYkIiJqAbMWXsXFxRCL%2BaCkrQh394dUZAcAkECMCQF9ucxIRETUAiYvNX733XcN2lQqFX755ResX78ekZGRZgmMrKtcpcS16goMeborajRqRHoF4g8u3tYOi4iIqFUzufAaO3Zsg1PsdTodAKBv37547733zBMZWU25SollF7/EjXuVAABfRzcM8e1q5aiIiIhaP5MLr%2B3btzdoa9OmDfz8/ODl5WWWoMi6rijLUKZWAgB00KFMpcQVZRmXGYmIiFrI5MLrueees0Qc9Bh51tkDHvbOuKGphAgieEiduameiIjIDEwuvMj2uUudkdx5MH6uuA6RCAhx9eVsFxERkRmYXHhpNBp8%2BumnyM7OxvXr11FbW2twXSQS4cyZM2YLkKzDXeqMKJ%2BO1g6DiIjIpphceC1duhRbt25F586d0bdvX0ilUkvERURERGRzTC68srOzMWXKFCQnJ1siHiIiIiKbZfJpp7W1tTyry8b9drcE%2B6%2BexW93S6wdChERkU0xufB6/vnn8cMPP1giFnoM/Ha3BIsvHMbB699j8YXDLL6IiIjMyOSlxtTUVEyZMgWOjo6IiYmBq6trgz5ubm5mCY6Ed678KtQ6DewghlqnwbnyqzyxnoiIyExMLrxcXFwQEBCA9PR0pKenG%2B1z8eLFFgdG1hHu7o8jN36CWqeBvcgO4e7%2B1g6JiIjIZphceM2bNw9ffPEFBg4cCLlcDnt7e0vERVbyBxdvpIS8iHPlVxHu7s/ZLiIiIjMyufA6duwYkpOTMXHiREvEQ1ZU/v8fDfSsswde8o%2BwdjhEREQ2x%2BTCSyKRICQkxBKxkBWVq5RY9UsOytVKuNs7IzF4IE%2BrJyIiMjOTn2ocPHgwTpw4YYlYyIquKMtQrlbC2a4NytW/z3wRERGReZk84zV06FC89957qKurQ//%2B/Y0%2B1dilSxezBEfCedbZA%2B72zvoZL34oNhERkfmJdDqdzpQbOnXq9J%2BbRSKDazqdDiKRiE81toBGo0VZmdLs40okYri7O6O8XIm6Oq3RPvfv8eIyY8s0J99kHsy1sJhv4TDXwmpJvj08nGFn17xFRJNnvBo7QoJaP3epMwsuIiIiCzK58HrppZcsEQcRERGRzTN5cz0RERERPRqTZ7zmzJnT5HWRSIRFixY9ckBkWWW1ShQo7nAfFxERkRWYXHidPn26QVtFRQWqq6shk8nQtm1bswRG5ldacxdLLxxBWa0SHlJnJHUaxOKLiIhIQCYXXsePHzfa/u2332L%2B/PlYuXJli4Miyzh5/Vdcr66ADjpcr1HjQuV1PO/d0dphERERPTHMtscrMjISr7/%2BOhYuXGiuIcmMymqV%2BLzwHLTQof78ENMOEiEiIqKWMuvmerlcjh9//NGcQxpVWFiIiRMnonv37oiMjERaWhru3bvXrHv379%2BPIUOGIDQ0FHFxcTh8%2BHCDPmq1Gh9//DGioqIQFhaGsWPH4tKlSw36lZSU4O2330ZERAR69uyJd955BxUVFS1%2Bf5ZwRVmKWm0d7P7/j9xN6oQubr5WjoqIiOjJYtbC67vvvoO7u7s5h2xAoVBg3LhxUCqVWLVqFWbPno3s7GykpqY%2B9N4vvvgCKSkpGDRoEDZu3Ig%2BffogKSkJJ0%2BeNOiXnp6OrKwsJCYmYu3atZBIJBg/fjxKSkr0ferq6jBp0iRcvnwZS5YsQVpaGs6cOYOEhASYeCatIFztHeEkaQMHO3t4t2mL6R0HcH8XERGRwEze45WRkdGgTa1W45dffsHXX3%2BNiRMnmiWwxuzevRsKhQIHDhyAh8fvH2tjZ2eHmTNnYurUqZDL5Y3eu3LlSgwZMgR//etfAQB9%2BvRBYWEhVq1ahaioKADArVu3sHv3brz77rt4%2BeWXAQBhYWEYOHAgMjMzMXPmTADAl19%2BiUuXLuHgwYPo2PH3fVI%2BPj7485//jBMnTiA6OtpiOTBVuUqJbfnfoLquFs4SKd7sEIM/uHhbOywiIqInjlkKL6lUCj8/PyQmJlq88Pr6668RGRmpL7oA4IUXXsDcuXORm5vbaOF19epVFBQUIDk52aA9Li4Oc%2BbMQVlZGTw8PHDy5EloNBoMHTpU38fFxQWxsbHIzc3VF165ubkIDg7WF10AEBERAT8/P%2BTm5j5WhdcVZRnKVdVwbeMIRe09VKibtyxLRERE5mVy4WVsr5OQ8vPzMWrUKIM2qVSK9u3bIz8/v9H7CgoKAACBgYEG7XK5HDqdDgUFBfDw8EB%2Bfj68vLzg5ubWoF92dja0Wi3EYjHy8/ONFnkdOnRoMo7mkEjMe65toMwL7m2cUaGuhnsbZwTKvMz%2BGmSo/jO7mvvZXfTomGthMd/CYa6FJVS%2BTS68rE2hUEAmkzVol8lkqKysbPS%2B%2BmsP3uvq6mpwXaFQGD2LzNXVFWq1GtXV1XBxcWm0n0wma1HhJRaL4O5u3r1X7nDGB67DkK8ogVzmDU9HF7OOT42TyRytHcITg7kWFvMtHOZaWJbOd7MKr8rKSqSmpmLkyJEYMGCA0T5fffUV9u3bhwULFlh8g70xOp0OIpHoof0e7FO/Ef7%2BdmPjGNsw31i/5sTRGK1WB4Wi%2BpHvb4y9nR2eaxcAhaIG5feUZh%2BfDNnZiSGTOUKhqIFGY9qn3JNpmGthMd/CYa6F1ZJ8y2SOzZ4pa1bhtXfvXly6dAn9%2BvVrtE%2B/fv2wePFiZGVlYfr06c2L9BHIZDIoFIoG7VVVVU1urL9/ZsvLy0vfXj9W/UxYY%2BMrFArY29vDycnpoXEYm5EzRV2d5f6CaTRai45Phphv4TDXwmK%2BhcNcC8vS%2BW5WeXbo0CGMHj0aEknjdZpEIsHo0aMbPdneXORyeYOlPJVKhaKioiYLr/q9XfV7verl5%2BdDJBLpr8vlcpSWljY4jys/Px8BAQEQi8WNxgEAeXl5TcZBRERET65mFV6FhYUIDQ19aL8uXbrgt99%2Ba2lMTYqOjsapU6dQXl6ubzt69ChUKhViYmIavc/f3x%2BBgYE4dOiQQfvBgwfRrVs3/VOSUVFREIvFBgerKpVKHD9%2B3GD8mJgYXL582aD4On/%2BPIqLi5uMg4iIiJ5czVpq1Gg0Tc526QeTSFBXV9fioJoyZswY7NixAwkJCUhISEBpaSkWL16M%2BPh4g5mmuXPn4sCBA7hw4YK%2BLTExEUlJSWjfvj369u2LnJwcfPPNN9i0aZO%2BT7t27TBmzBgsXboUEokEvr6%2B2LJlCwBg3Lhx%2Bn6DBw9GcHAwEhMTkZycDI1GgyVLlqBHjx5NLskSERHRk6tZhZe3tzfy8vLQq1evJvv9%2BuuvBvunLEEmkyEzMxNpaWmYMWMGHBwcEBcXpz9fq55Wq4VGozFoe/HFF3Hv3j188skn2Lx5M5599lksX75cf3hqvZSUFDg5OWHFihWoqqpCWFgYMjMz4e39n0NHJRIJNm7ciIULF2LWrFkQiUSIjY3F3LlzW7S5noiIiGyXSNeMz7eZM2cOfvrpJ%2Bzbtw/29vZG%2B6jVaowcORJdu3ZFenq62QN9Umg0WpSVmf%2BpQ4lEDHd3Z5SXK7lJUwDMt3CYa2Ex38JhroXVknx7eDg3%2B6nGZvUaN24cCgsLMX36dNy6davB9Vu3bmHatGkoLCzE%2BPHjTQqWiIiI6EnRrKXGTp064f3338f8%2BfMxcOBAdO3aFX5%2BfgCA4uJi/PTTT9DpdPjggw8QHBxs0YCJiIiIWqtmn1z/8ssvo2PHjli/fj1Onz6N8%2BfPAwAcHR3Rr18/vPHGG%2BjevbvFAiUiIiJq7Uz6yKDw8HB88skn0Gq1%2BuMc3N3d9WdbEREREVHjHumzGsViMTw9Pc0dCxEREZFN41QVERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJhIUXERERkUBYeBEREREJpFUWXrm5uRgxYgRCQ0MxaNAgZGVlNes%2BtVqNjz/%2BGFFRUQgLC8PYsWNx6dKlBv1KSkrw9ttvIyIiAj179sQ777yDiooKgz67d%2B/GxIkTERUVhYiICIwaNQqHDh0yy/sjIiIi29TqCq9z584hISEBISEh2LhxI1566SWkpaVh7969D703PT0dWVlZSExMxNq1ayGRSDB%2B/HiUlJTo%2B9TV1WHSpEm4fPkylixZgrS0NJw5cwYJCQnQ6XT6fuvWrUO7du0wb948ZGRkIDw8HElJSc0uAomIiOjJI7F2AKZas2YNQkJCsGjRIgBAnz59cOPGDaxcuRKjRo2CWGy8lrx16xZ2796Nd999Fy%2B//DIAICwsDAMHDkRmZiZmzpwJAPjyyy9x6dIlHDx4EB07dgQA%2BPj44M9//jNOnDiB6OhoAMD%2B/fvh4eGhH79v3764efMmNm/ejNdee81i75%2BIiIhar1Y146VSqXDq1CkMHTrUoD0%2BPh4lJSW4cOFCo/eePHkSGo3G4F4XFxfExsYiNzdX35abm4vg4GB90QUAERER8PPzM%2Bh3f9FVr3Pnzrh9%2B/YjvTciIiKyfa2q8CoqKoJarUZgYKBBe4cOHQAA%2Bfn5jd6bn58PLy8vuLm5GbTL5XIUFhZCq9Xq%2B8nl8gb3d%2BjQocnxAeDMmTNG7yUiIiICWtlSY2VlJQBAJpMZtNd/X3/dGIVCgbZt2zZod3V1hVqtRnV1NVxcXBrtJ5PJmiy8jh07hm%2B%2B%2BQZLlixp1ntpikRi/nrYzk5s8CtZFvMtHOZaWMy3cJhrYQmVb6sXXlVVVc1anvP399f/XiQSGe3TWHtT1%2B/fMP%2Bwfo2Nn5eXhzlz5mDIkCEYPnx4kzE8jFgsgru7c4vGaIpM5mixsakh5ls4zLWwmG/hMNfCsnS%2BrV54HT16FHPmzHlovwMHDsDV1RVAw5kthUIBoOFM2P1kMpm%2B34P32tvbw8nJqcl%2BVVVVRse/efMmJk2ahKCgILPMdmm1OigU1S0e50F2dmLIZI5QKGqg0WjNPj4ZYr6Fw1wLi/kWDnMtrJbkWyZzbPZMmdULr5EjR2LkyJHN6qtSqWBvb4%2BCggL904XA7zNOAJrcXyWXy1FaWoqKigqDfV75%2BfkICAjQPw0pl8tx8eLFBvfn5eVhwIABBm3l5eX4r//6L7i4uGDt2rVo06ZNs97Hw9TVWe4vmEajtej4ZIj5Fg5zLSzmWzjMtbAsne9WtXAslUrRp08fHD582KD94MGD8Pb2RkhISKP3RkVFQSwWG9yrVCpx/PhxxMTE6NtiYmJw%2BfJlg/1c58%2BfR3FxsUE/pVKJyZMno7q6Gps2bdLPxhERERE1xuozXqaaNm0aXn/9daSmpiI%2BPh5nz57F3r17sWDBAoMzvAYNGgRfX19kZmYCANq1a4cxY8Zg6dKlkEgk8PX1xZYtWwAA48aN0983ePBgBAcHIzExEcnJydBoNFiyZAl69OiBfv366fslJibi4sWL%2BNvf/oabN2/i5s2b%2BmshISGQSqWWTgURERG1Mq2u8AoPD8fatWuxbNkyHDhwAE899RRSU1MxevRog34ajUZ/RES9lJQUODk5YcWKFaiqqkJYWBgyMzPh7e2t7yORSLBx40YsXLgQs2bNgkgkQmxsLObOnWuwuf7kyZMAYHR/Wk5ODp555hlzvm0iIiKyASKdscf6yGo0Gi3KypRmH1ciEcPd3Rnl5UruFRAA8y0c5lpYzLdwmGthtSTfHh7Ozd5c36r2eBERERG1Ziy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICy8iIiIiATCwouIiIhIICKdTqezdhD0HzqdDlqtZf5I7OzE0Gi0FhmbGmK%2BhcNcC4v5Fg5zLaxHzbdYLIJIJGpWXxZeRERERALhUiMRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh4EREREQmEhRcRERGRQFh42bjCwkJMnDgR3bt3R2RkJNLS0nDv3j1rh2WTDh8%2BjISEBMTExKB79%2B6Ij4/Hzp07odVqrR2azVMqlYiOjkZwcDB%2B/PFHa4djs/bu3Ythw4YhNDQUkZGRePPNN60dkk06duwYRo8ejYiICPTt2xfTp09HQUGBtcOyCVeuXMH777%2BP4cOHIyQkBHFxcUb75ebmYsSIEQgNDcWgQYOQlZVlthgkZhuJHjsKhQLjxo2Dr68vVq1ahbKyMqSnp6OiogJLly61dng2Z%2BvWrfD19cU777wDT09PnD59GgsXLsTVq1cxe/Zsa4dn09auXQuNRmPtMGza6tWrsW3bNrz55psICwtDZWUlTpw4Ye2wbM6//vUvTJ8%2BHcOGDcPbb78NhUKBjIwMTJgwAf/4xz/g4uJi7RBbtV9//RW5ubkICwuDVquFTqdr0OfcuXNISEjA8OHDkZKSgrNnzyItLQ1SqRSjR49ueRA6slnr16/XhYWF6UpLS/Vt//M//6MLCgrS5eXlWTEy23R/nustWrRIFxoaqqutrbVCRE%2BGvLw8Xffu3XW7du3SBQUF6X744Qdrh2Rz8vLydJ07d9adOHHC2qHYvLlz5%2BoGDBig02q1%2Brbvv/9eFxQUpPvnP/9pxchsg0aj0f9%2B9uzZuqFDhzboM3HiRN2f/vQng7bU1FTd888/b3D/o%2BJSow37%2BuuvERkZCQ8PD33bCy%2B8AKlUitzcXCtGZpvuz3O9zp07o7a2FhUVFVaI6MmwcOFCjBkzBgEBAdYOxWbt27cP/v7%2BiIqKsnYoNq%2Burg7Ozs4QiUT6trZt21oxItsiFjdd9qhUKpw6dQpDhw41aI%2BPj0dJSQkuXLjQ8hhaPAI9tvLz8yGXyw3apFIp2rdvj/z8fCtF9WQ5c%2BYM3Nzc4Onpae1QbNIXX3yBS5cuYdq0adYOxaZ9//33CAoKwpo1axAZGYmuXbvi9ddfx8WLF60dms3505/%2BhIKCAnz66adQKBS4du0aPvzwQ8jlckRGRlo7PJtXVFQEtVqNwMBAg/YOHToAgFl%2BdrLwsmEKhQIymaxBu0wmQ2VlpRUierL8%2BOOP2LdvH8aNGwc7Oztrh2NzampqsHjxYiQnJ3Pfi4WVlJTg5MmTyM7Oxvz587F69WrU1NRgwoQJUCgU1g7PpvTq1QsZGRlYvnw5evXqhYEDB%2BLq1avYsmULpFKptcOzefU/Gx/82Vn/vTl%2BdrLwegLpdDqDaWwyv5KSEiQmJiI0NBSTJ0%2B2djg2ad26dfD09MTIkSOtHYrN0%2Bl0qK6uxurVqzF48GAMGDAA69atg1KpxJ49e6wdnk05e/YsZs2ahVGjRmHbtm3IyMiAg4MDJk%2BejLt371o7vCdGYz8jzfGzk0812jCZTGb0f6NVVVUNliDJfKqqqjB58mQ4ODhg3bp1sLe3t3ZINqe4uBhbtmzBmjVr9D%2BMqqur9b8qlUo4OztbM0Sb4urqCi8vL3Ts2FHf5uPjg8DAQOTl5VkxMtuTlpaGPn364N1339W39ejRA9HR0di7dy8mTJhgxehsn6urK4CGM1v1P0uNrSKZioWXDZPL5Q3Wo1UqFYqKijBq1CgrRWXbamtrMXXqVNy5cwd79uyBu7u7tUOySdfkBOmIAAAMAUlEQVSuXYNarcaUKVMaXPvLX/6CsLAwfPbZZ1aIzDbJ5XJcv369QbtOp3voZmUyTX5%2BPmJjYw3aPDw84OPjg6KiIitF9eRo37497O3tUVBQgOjoaH17/X8wzDFpwcLLhkVHR2PdunUoLy/XFwBHjx6FSqVCTEyMlaOzPXV1dXjrrbdw6dIl7NixA35%2BftYOyWZ17twZ27dvN2i7ePEi0tPTMX/%2BfISGhlopMtvUv39/7N%2B/H5cvX0ZQUBAA4NatWygoKOBSr5n5%2Bvri559/NmgrKSnB7du3%2BW%2BKAKRSKfr06YPDhw9j/Pjx%2BvaDBw/C29sbISEhLX4Nuw8%2B%2BOCDFo9Cj6WOHTviv//7v3HixAm0a9cO586dw6JFizBo0CCMGTPG2uHZnA8%2B%2BAAHDx7EW2%2B9BR8fH9y8eVP/5eLiwo2xZtSmTRs888wzBl%2B1tbXYv38/pk%2Bfjq5du1o7RJsSEBCAf/7zn/j888/h6emJK1euYN68eQCA9PR0LqebWWZmJsrLyyGRSPDzzz9j3rx5uHfvHubPn88l9BaqqalBTk4O8vLy8M033%2BDOnTt46qmnkJeXBw8PDzg6OsLf3x%2BffPIJbty4AWdnZ2RnZ2Pr1q2YM2eOWf5tEel0Ro5tJZtRWFiItLQ0nDlzBg4ODoiLi8PMmTPh4OBg7dBsTmxsLIqLi41e2759O3r37i1wRE%2BW06dP4y9/%2BQv%2B/ve/c8bLAkpLS7Fo0SLk5uairq4OvXr1wpw5cxo8dk8to9Pp8Nlnn2Hnzp0oKiqCk5MTQkNDkZSUhODgYGuH1%2Bpdu3YNAwcONHrt/n%2Bnc3NzsWzZMuTn5%2BOpp57ChAkT8Nprr5klBhZeRERERALhrkgiIiIigbDwIiIiIhIICy8iIiIigbDwIiIiIhIICy8iIiIigbDwIiIiIhIICy8iIiIigbDwIiIiIhIICy8isoh9%2B/YhODhY/xUSEoKoqCgkJSXht99%2Bs1pcubm5WL16tdFrsbGxSElJETiih8vIyMAf//hHaLVaAL%2Bfvh0cHIzNmzdbOTLTffvttwgPD8etW7esHQqRVbDwIiKLSk9Px549e7B161a89tprOH78OF599VVUVlZaJZ7c3FxkZGQYvZaRkYGEhASBI2rarVu3sHnzZiQmJkIsbv3/ZEdGRiI0NBTLli2zdihEVtH6/xYT0WOtY8eO6N69O3r37o2pU6di8uTJKC0txbFjx6wdWgMhISFo3769tcMwsH37drRt2xaDBw%2B2diiN0ul0uHfvXrP7v/baa8jOzsaNGzcsGBXR44mFFxEJqv4DrEtLSw3ag4ODjS4BPrj8V7%2BEeerUKcybNw%2B9e/dG7969MX369IcuX6WkpCArK0v/evVf165dM/pap0%2BfRnBwMLKzs/HRRx8hKioK4eHhePPNN3Hnzh3cvXsX7733nj6GOXPmQKlUGrymTqdDVlYWhg8fjm7duqFXr15ITEzE1atXH5orlUqFv//974iLi2t0tmvr1q2IjY1FeHg4XnnlFZw/f75Bn5ycHLzyyisICwtDeHg4JkyYgHPnzjXITWxsbIN7V69e3eDDmYODg7FgwQLs2rULL774IkJDQ7F//34AwM6dOzFs2DCEh4cjPDwcQ4YMaTC7NWDAADg5OeGzzz57aA6IbI3E2gEQ0ZOlvsj5wx/%2B0KJxUlNT0b9/f3z88ce4ceMGPvroI8yaNQvbt29v9J6EhARUV1fjyJEj2LNnj77dx8enyddavnw5evfujfT0dBQXF%2BPDDz9EcnIyJBIJgoODsWzZMly4cAHLly%2BHs7MzUlNT9fe%2B//772L9/P8aOHYuZM2eisrISa9aswZgxY/D555/Dy8ur0df94YcfUFFRgd69exu9npWVhcDAQMydOxcAsHLlSkyZMgU5OTlo27YtACA7OxszZ85EVFQUPv74Y6hUKmzatAljx47Ftm3b0LNnzybfe2OOHTuGf//735g2bRq8vLzg6emJf/zjH5g/fz7Gjh2L2bNnQywW48qVK8jLyzO4VyqVIjw8HLm5uXjrrbce6fWJWisWXkRkUVqtFnV1daitrcXZs2exbt069OrVy%2Bjsiin69etnUOBUVlbio48%2BQklJCby9vY3e0759e32h071792a/VlBQENLT0/XfFxQUIDMzU19gAMDzzz%2BP8%2BfPIzs7Wx/X%2BfPn8dlnnyElJQUTJkzQ39%2BzZ0%2B88MIL2Lp1K2bNmtXo69bPSnXp0sXodWdnZ6xfvx52dnYAfi8gR48eja%2B//hpDhw6FVqvFkiVLEBQUhI0bN%2BpnzWJiYjBo0CAsXboUu3fvbnYe7lddXY3s7Gy4urrq23bv3g2ZTGbw5xIZGWn0/pCQEGzYsAHV1dVwcnJ6pBiIWiMuNRKRRb388svo0qULIiIiMGnSJMhkMqxduxYSScv%2B3/dg4Va/HHb9%2BvUWjWvMgAEDDL6Xy%2BUAgP79%2Bzdor6io0C83fvXVVxCJRBg2bBjq6ur0X15eXujUqRP%2B93//t8nXvX37NkQiEdzd3Y1e79%2B/v77oAoBOnToBAIqLiwEAhYWFuH37NoYPH26wVOns7IzBgwfj%2B%2B%2B/R01NTTMy0FCfPn0Mii7g92VkhUKB5ORkHDt2DGVlZY3e7%2BnpCa1Wizt37jzS6xO1VpzxIiKL%2BvDDDyGXy6FUKnHo0CHs2bMHycnJ2LRpU4vGdXNzM/heKpUCgEmbvJvrwQLD3t6%2Byfba2lo4OzujtLQUOp0Offv2NTquv79/k69bW1sLiURiUFzdr7Ec1NbWAgDKy8sBwOgMoI%2BPD7RaLRQKBRwdHZuMwxhjY44YMQIajQZ79%2B5FYmIitFotQkND8fbbb%2BP555836NumTRsAlvnzInqcsfAiIouSy%2BX6DfV9%2BvSBVqvF3r178cUXX2DIkCH6flKpFCqVqsH99cVDa%2BTu7g6RSISsrCx9UXQ/Y20P3q9Wqx95Oa5%2BpqykpKTBtdu3b0MsFkMmk%2BljMSX/IpHIaPuoUaMwatQoVFdX47vvvsPq1avxxhtv4MiRI/Dz89P3qz9OpLHZPCJbxaVGIhLUrFmz4OrqilWrVukPBAUAPz8//PLLLwZ9v/32W1RXV5v19S05M/ag/v37Q6fT4datWwgNDW3w9eDTgg8KCAgAABQVFT3S6wcEBKBdu3Y4ePAgdDqdvr26uhpffvklunfvrp/teuaZZ1BaWmqw9KdSqXDy5MlHem0nJyfExMTgzTffhFqtbrDB/urVq3Bzc2vy4QIiW8QZLyISlKurK6ZMmYKPPvoI2dnZGD58OABg%2BPDhWLlyJVauXInnnnsOeXl52LFjh/7pPHMJCgoCAGzcuBHR0dEQi8UIDg5%2B6OzTo%2BjRowdeeeUVzJ07Fz/99BN69eoFR0dHlJSU4MyZMwgKCsKrr77a6P31TzN%2B//33%2Bv1bphCLxZg1axZmzpyJN954A6%2B88gpUKhU2b94MhUKBv/71r/q%2BL774IlatWoWkpCRMmjQJtbW1%2BPTTT6HRaJr9eqmpqXBwcEBERAS8vb1RUlKCDRs2oG3btvpZz3rnz5/Hc8891%2BjMGZGtYuFFRIIbO3YssrKysHbtWsTFxcHOzg4TJ07E3bt3sX//fmzZsgXdunXDypUrzX6SfFxcHM6ePYudO3dizZo10Ol0yMnJwTPPPGPW16m3YMEChIWFYc%2BePdi1axe0Wi18fHwQERGBbt26NXnv008/jZ49e%2BrP4XoU8fHxcHR0xIYNG5CUlAQ7OzuEhYVh%2B/btiIiI0Pfz9/fHmjVrsHz5ciQmJsLb2xsTJkxAWVlZoyf9P6hnz57Yt28fDh8%2BjMrKSri7u6NHjx748MMP4eHhoe9XVFSEy5cvY8aMGY/0nohaM5Hu/vlnIiJ6rBw5cgRJSUn46quv0K5dO2uHYxYrVqzA559/jqNHj7b46Vai1oZ7vIiIHmODBw9GaGgo1q9fb%2B1QzEKhUGDnzp1ISkpi0UVPJBZeRESPMZFIhL/97W/64x9au2vXrmHKlCmIj4%2B3dihEVsGlRiIiIiKBcMaLiIiISCAsvIiIiIgEwsKLiIiISCAsvIiIiIgEwsKLiIiISCAsvIiIiIgEwsKLiIiISCAsvIiIiIgE8n8LqZcl1TLodQAAAABJRU5ErkJggg%3D%3D">
 
 <br>
 <br>
@@ -364,7 +398,7 @@
 <br>
 
 <h3 id="Cumulative_yield">Cumulative yield</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkIAAAHKCAYAAADvrCQoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVhTV/4/8HcSCKHRSEDUuo6gRBHqMhasLaCgTgfhW5ex1bpvbQXXfluLrbbW1qVjR6rUpVjUn4i2Mi5THNGpu85Ya6uOte5xQ61UICwGCBDy%2B8MvqSkouZB7EfN%2BPU8f4Z5zTz75tM/4mXPPPUdmsVgsICIiInJC8roOgIiIiKiusBAiIiIip8VCiIiIiJwWCyEiIiJyWiyEiIiIyGmxECIiIiKnxUKIiIiInBYLISIiInJaLISIiIjIabEQInJC58%2Bfx6xZsxAeHo7AwEB07doVAwcOxOrVq5Gbm1vX4T1SQkICdDpdje49ePAgEhISqmwLDw9HXFxcbUITVW3is/feY8eOQafT4dixYzX6HKL6yKWuAyAiaW3evBkffvgh2rZti/Hjx6Ndu3YoKyvDmTNn8NVXX%2BHUqVNYvnx5XYcpioMHDyIlJQVTpkyp1Pb555%2BjQYMGdRCVfR73%2BIjqKxZCRE7k5MmTmDt3Lnr27IkVK1ZAqVRa255//nmMHTsWhw8frsMI646/v39dh/BIj3t8RPUVH40ROZEvvvgCMpkMH330kU0RVEGpVCIiIsL6u06nq/JR0u8ftWzduhU6nQ5Hjx7F7NmzERwcjG7dumHmzJkoLCzE3bt3MW3aNHTv3h0vvPACPvnkE5SWllrvf9gjmZs3b0Kn02Hr1q2P/F47d%2B7EuHHj8MILL%2BCZZ57Bn//8Z3z66acoLCy09omLi0NKSor1e1X8c/PmzUrfKScnBwEBAfjss88qfZZer4dOp8P69eut1%2B7evYv3338foaGhCAgIQHh4OD7//HOUlZU9Mu53330XQUFBKCoqqtQ2atQo9O/f3/p7VY%2B37t27h08%2B%2BQTh4eEICAhASEgI5s%2Bfb/O9H0av12P8%2BPHo3LkzgoOD8f7778NoNFZ7H9GThjNCRE7CbDbju%2B%2B%2BQ6dOnfD000%2BL8hmzZ89Gv379sGTJEpw9exbx8fEwm824evUq%2Bvbti1deeQX/%2Bc9/sHr1ajRp0gRjx451yOdeu3YNoaGhGD16NNzd3XHlyhWsXr0ap0%2BfthYsMTExKCwsxO7du/H1119b723SpEml8Tw9PdGrVy9s374dU6dOhVz%2B2/9n3Lp1K1xdXREdHQ3gfhE0ZMgQyOVyxMbGonXr1jh58iRWrlyJW7duYeHChQ%2BNe9SoUdiyZQt27NiBIUOGWK9fvnwZx44dw/vvv//Qe4uKijBixAjcuXMHb7zxBnQ6HS5duoRly5bh4sWLWLduHWQyWZX3ZmVlYeTIkXBxccEHH3wALy8vpKWl4aOPPnro5xE9qVgIETkJg8GAoqIitGzZUrTP6N27N9555x0A9x%2B1nTp1Cjt27MCsWbMwZswYAEDPnj1x5MgRpKWlOawQiomJsf5ssVjQrVs3%2BPr6YsSIETh//jw6dOiA1q1bo3HjxgCALl26VDvmoEGD8O233%2BLo0aN4/vnnAdwvJr/55huEh4dDq9UCuL94Oy8vD//85z/RvHlzAMBzzz0HlUqFTz75xLoOqyodOnRAUFAQUlJSbAqhDRs2oEGDBhgwYMBD40tOTsaFCxewefNmBAYGWj%2B3adOmmDp1Kg4dOoSwsLAq7123bh1ycnKwfft2dOjQAQAQFhaGcePG4fbt29XmhuhJwkdjROQwvXr1svnd19cXACr9hezr64tbt2457HMzMjLwv//7v3j%2B%2BefRsWNHdOrUCSNGjAAAXLlypUZjhoaGwtvb2%2Bax3JEjR/Drr79i8ODB1msHDhxAcHAwmjRpgrKyMus/oaGhAIDvv//%2BkZ8zatQonDt3Dj/%2B%2BCOA%2B4%2B7/vGPf2DgwIFQq9UPvW///v1o3749OnbsaPO5L7zwAmQy2SM/99ixY2jfvr21CKoQFRX1yFiJnkScESJyElqtFu7u7tY1MWJo1KiRze%2Burq4PvV5SUuKQzzQajXj11Vfh5uaG6dOn4w9/%2BANUKhXu3LmDyZMno7i4uEbjuri44H/%2B53%2BwYcMG5OfnQ6PRYOvWrfD29sYLL7xg7ZednY39%2B/ejU6dOVY5jMBge%2BTkRERFo0aIFNm7ciD/%2B8Y/YunUrioqK8Oqrrz7yvuzsbFy/fr1Gn5ubm1vlzGDFjBmRM2EhROQkFAoFevTogcOHD%2BPOnTto1qxZtfcolcoqC5bq/nIXys3NDQAqfZY9n/Pdd9/h119/RXJyMoKCgqzXCwoKah3X4MGDkZSUhH/%2B85%2BIjIzEvn37MHr0aCgUCmsfrVYLnU6H6dOnVzlGVWuQHiSXyzF8%2BHDEx8fjnXfewcaNG/Hcc8/Bx8fnkfdptVq4ublhwYIFD21/GA8PD2RlZVW6XtU1oicdH40ROZHXX38dFosFs2fPrrLAKS0txb59%2B6y/t2jRAhcuXLDpc/ToUbveShKiRYsWAFDpsx6M5WEqFgT//i24r776qlLfij72zhL5%2Bvqic%2BfO2Lp1K3bs2IGSkhIMGjTIpk%2BvXr1w8eJFtG7dGoGBgZX%2Badq0abWfM2TIELi6uuKtt97C1atXMXz48Grv6dWrFzIyMuDh4VHl5z5qLVhwcDAuXbqE8%2BfP21zfsWNHtZ9L9KThjBCRE%2BnatSvmzp2LDz/8EIMHD8bQoUPRvn17lJWV4ezZs9i8eTPat2%2BP8PBwAMBLL72EpUuXYunSpQgKCsLly5exYcMGNGzY0KFxeXt7o2fPnkhMTESjRo3QvHlzHD16FN9%2B%2B61d36lRo0b44IMPMHnyZLi4uCAtLa1SUQUAfn5%2BAIDVq1cjNDQUcrkcOp2uyq0EKgwePBjvv/8%2Bfv31V3Tt2rXSTM3UqVPxn//8B0OHDsXIkSPRtm1blJSU4ObNmzh06BA%2B/PDDamffNBoNXnrpJWzatAktWrSw5v9RRo8ejX/9618YMWIExowZA51Oh/Lycvzyyy84cuQIxo0bh86dOz/03i1btuC1117D9OnTrW%2BN1XQ9FVF9xkKIyMm8/PLLeOaZZ7Bu3Tp8%2BeWXuHv3LlxdXfGHP/wBUVFR1kXGADB%2B/Hjcu3cP27Ztw5o1a/DMM89g6dKlNm9pOcpf//pXfPTRR/j0009hNpvRu3dv/O1vf7NZmFwVrVaLL774Ap988gnefvttuLu7IyIiAvHx8Rg4cKBN36ioKJw4cQIbN27E8uXLYbFYsHfv3kfOnvTv3x8LFiywrjn6vSZNmuDvf/87VqxYgaSkJGRmZkKtVqNFixYICQmBRqOx6/tHRkZi06ZNGDp0qM3r%2Bg/z1FNPISUlBYmJifj6669x8%2BZNqFQqPP300%2BjZs6d1lq0q3t7e2LBhA%2BbPn4%2B5c%2BfC3d0dffr0wZw5c0T5d0v0OJNZLBZLXQdBROTsFi1ahE2bNuHAgQOPXN9DRI7FGSEiojp06tQpXLt2DRs3bsQrr7zCIohIYpwRIiKqQzqdDu7u7ggNDcXChQsfuXcQETkeCyEiIiJyWnx9noiIiJwWCyEiIiJyWiyEiIiIyGmxECIiIiKnxdfn7WCxWFBeLs6acrlcJtrYZIu5lhbzLS3mWzrMtbRqmm%2B5XGY9gudRWAjZobzcgpwco8PHdXGRQ6tVIz%2B/EGVl5Q4fn37DXEuL%2BZYW8y0d5lpatcm3p6caCkX1hRAfjREREZHTYiFERERETouFEBERETktFkJERETktFgIERERkdNiIUREREROi4UQEREROS0WQkREROS0WAgRERGR02IhRERERE6LhRARERE5LRZCRERE5LRYCBEREVGdMJQYccqQAUOJ4w82txdPnyciIiLJGUqMWHZhLwylRmhd1Ziqi4BWqZY8Ds4IERERkeSuG3NgKDVCrXCDodSI68acOomDhRARERFJro3aE1pXNYxmE7SuarRRe9ZJHHw0RkRERJLTKu8/DrtuzLlfFNXBYzGAhRARERHVEa1SXWcFUAU%2BGiMiIiKnxUKIiIiInBYLISIiInJaLISIiIjIabEQIiIiIqfFQoiIiIicFgshIiIicloshIiIiMhpsRAiIiIip8VCiIiIiJwWCyEiIiJyWiyEiIiIyGnVeSF0%2BPBhjBgxAj169EBAQAAiIiKwcOFCFBQUWPvExcVBp9NV%2BufQoUOVxktKSkJ4eDgCAwMxePBgHDt2TMqvQ0RERPVInZ8%2Bn5eXh65du2L06NHQaDS4dOkSEhIScOnSJaxZs8bar1WrVvj0009t7vX19bX5PSkpCfHx8ZgxYwb8/f2RmpqKiRMnIjU1FTqdTpLvQ0RERPWH4ELo/PnzKCgowLPPPgsAMBqNWLx4Mc6ePYvnn38eU6dOhUwms3u8qKgoREVFWX8PDg6GUqnEnDlzkJmZiaZNmwIAVCoVunTp8tBxSkpKsHLlSowaNQrjx48HAAQFBSE6OhqrVq1CfHy80K9KRERETzjBj8YWLVqE/fv3W3%2BPj49HamoqSktLkZiYiA0bNtQ6KA8PDwBAWVmZ3fecOHECBQUFNkWVQqFAZGQkDh48CIvFUuu4iIiI6MkiuBC6dOkSunXrBgCwWCxIS0vDlClTsG3bNkyYMAFbtmypUSBmsxkmkwk///wzli9fjt69e6NFixbW9hs3bqB79%2B4ICAjAoEGDsGfPHpv79Xo9AMDHx8fmuq%2BvL4xGIzIzM2sUFxEREdWcocSIU4YMGEqMdR1KlQQ/GsvPz7fO2Jw/fx75%2Bfn485//DAB47rnnajwj1Lt3b2uxEhISgiVLlljbOnbsiMDAQLRr1w4FBQXYtGkTYmNjsXTpUrz44ovWuJRKJVQqlc24jRo1AgDk5uaiWbNmNYoNAFxcHL%2BuXKGQ2/xJ4mGupcV8S4v5lg5zLUyOyYiEi3thKCmEVvkUpnfsC083td33S5FvwYWQh4cH7ty5AwA4duwYvLy80KZNGwBAaWlpjR9BJSYmorCwEJcvX8aKFSvwxhtvYO3atVAoFBg9erRN3/DwcAwdOhTLli2zFkIAqlybVBGPkHVLvyeXy6DV2v8vTiiNxl20sckWcy0t5ltazLd0mGv7XMr8FbllRdC4qZBbWoRsmRG%2B2iaCxxEz34ILoe7duyMhIQEGgwHr1q1Dr169rG3Xr1/H008/XaNAOnToAADo1q0b/P39MXjwYHz77bc2hU4FuVyOfv36YfHixSguLoZKpYJGo4HJZILJZIKbm5u1b35%2BPoDfZoZqorzcgvz8whrf/zAKhRwajTvy84tgNpc7fHz6DXMtLeZbWsy3dJhrYbwsani4uMNguj8j5GVRw2Cw/xFZbfKt0bjbNZMkuBB68803MXHiRMyfPx%2BtW7dGbGystW3Xrl3o3Lmz0CEr6dixIxQKBW7cuPHQPr%2Bfeap4lV6v18Pf3996Xa/XQ61WW98%2Bq6myMvH%2Bgzeby0Udn37DXEuL%2BZYW8y0d5to%2BGoU7pvhF4LoxB23UntAo3GuUNzHzLbgQatWqFXbt2oXc3FzrWqEKc%2BbMgbe3d62DOnnyJMxmM1q2bFlle3l5OXbv3o327dtb1wR169YNDRs2xM6dO62FkNlsRnp6OsLCwmr1aIyIiIhqRqtUQ6sUb3lJbdV4Q8XfF0EAarRp4eTJkxEQEACdTgeVSoXz58/jyy%2B/hE6nQ58%2BfXDr1i3ExcUhKioKrVu3Rl5eHjZt2oQzZ84gISHBOo5SqcSkSZMQHx8PT09P64aKGRkZNguviYiIiCrYVQht375d0KADBgywu%2B8zzzyDnTt3IjExERaLBS1atMDLL7%2BM8ePHQ6lUQq1Wo0GDBli%2BfDlycnLg6uqKgIAArF69GiEhITZjjRs3DhaLBcnJycjKyoKfnx8SExO5qzQRERFVSWax4zWvioXM1pv%2B7zHTg7c%2B%2BOjp3LlzjorvsWA2lyMnx/H7H7i4yKHV3l84xmfN4mKupcV8S4v5lg5zLa3a5NvTU%2B24xdJ79%2B61/pyVlYUZM2bghRdeQFRUFBo3boysrCykpaXh3//%2BN4%2ByICIionrDrkLowR2e//a3v6FPnz549913rdd8fHwQFBSEBQsWYO3atfjss88cHykRERGRgwneqvHQoUM2ewc9KCwsDEeOHKltTERERESSEFwIlZeX49q1a1W2Xbt2jYebEhERUb0huBAKCQnBZ599hgMHDthc379/P5YuXYoXXnjBUbERERERiUrwPkLvvfcexowZg0mTJkGtVsPLywvZ2dkwGo1o06YN3nvvPTHiJCIiInI4wYVQkyZNsG3bNmzduhXff/89cnNz4e/vj%2BDgYAwYMKDS6e9EREREj6sa7Szt5uaGYcOGYdiwYY6Oh4iIiEgygtcIERERET0pajQjdPz4cSQnJ0Ov16O4uNimTSaTYc%2BePQ4JjoiIiEhMgmeEfvjhB4wZMwYFBQXQ6/Xw8fFB06ZN8csvv8DFxQXPPvusGHESEREROZzgQighIQGDBg3Cl19%2BCQCYPn06Nm7ciK1bt8JoNKJv374OD5KIiIhIDIILoUuXLqFPnz7WQ1bNZjOA%2BwezxsTEYPny5Y6NkIiIiEgkgguhoqIiqNVqyOVyKJVKGAwGa5uPjw/0er1DAyQiIiISi%2BBCqHnz5sjKygIAtGvXDgcPHrS2HT9%2BHB4eHo6LjoiIiEhEgt8aCwoKwvfff48XX3wRQ4YMwYcffgi9Xg%2BlUol///vfGDt2rBhxEhERETmc4EJoypQpyMvLAwAMGzYMxcXFSEtLAwBMmjQJb7zxhmMjJCIiIhKJ4ELI09MTnp6e1t/Hjh3LWSAiIiKql2q1s/SVK1fw448/orCw0FHxEBEREUmmRoXQ9u3bERoaiv79%2B2PEiBG4evUqAGDatGnYvHmzQwMkIiIiEovgQig9PR1xcXHw9/fHnDlzYLFYrG2dOnVCenq6QwMkIiIiEovgQigxMRGDBg3CqlWr8Morr9i0%2Bfj44PLlyw4LjoiIiEhMggshvV6P/v37V9nm4eGB3NzcWgdFREREJAXBhZC7uzsKCgqqbMvMzESjRo1qHRQRERGRFAQXQl27dkVKSorN2qAKW7duRVBQkEMCIyIiIhKb4EIoNjYWp06dwl/%2B8hckJydDJpPhX//6F9544w388MMP3FCRiIiI6g3BhVBgYCBWr16NwsJCLFq0CBaLBV988QWuXr2KxMRE%2BPn5iREnERERkcMJ3lkaAHr06IH09HTcuHEDWVlZ0Gq1aNu2raNjIyIiIhKVoBmh4uJihISEYN%2B%2BfQCA1q1bo1u3biyCiIiIqF4SVAipVCqYTCa4u7uLFQ8RERGRZASvEerRoweOHj0qRixEREREkhK8RuiNN97AlClToFQq0a9fP3h7e0Mmk9n08fDwcFiARERERGIRXAgNGjQIAPD5559j%2BfLlVfY5d%2B5c7aIiIiIikoDgQig2NrbSDBARERFRfSS4EJoyZYoYcRARERFJTvBiaSIiIqInBQshIiIiclp1XggdPnwYI0aMQI8ePRAQEICIiAgsXLiw0gn3Bw8exIABAxAYGIi%2BffsiJSWlyvGSkpIQHh6OwMBADB48GMeOHZPiaxAREVE9VOeFUF5eHrp27YqPPvoISUlJGDt2LLZv345p06ZZ%2B5w8eRIxMTHw9/fH6tWrMXDgQHz88cdITU21GSspKQnx8fEYPnw4EhMT0aZNG0ycOBEXLlyQ%2BmsRERFRPSCzWCyW6jrdu3cParVasrfFNm/ejDlz5uDQoUNo2rQpJkyYgLy8PJvCZ86cOdi/fz8OHToEuVyOkpIS9OzZEy%2B//DJmzpwJADCbzYiOjoZOp0N8fHyN4zGby5GTY6z19/o9Fxc5tFo1DAYjysrKHT4%2B/Ya5lhbzLS3mWzrMtbRqk29PTzUUiurne%2ByaEXr22Wfx008/AQBmzZqFjIwMQcEIVbEhY1lZGUpKSvDdd9%2Bhf//%2BNn2io6Nx9%2B5dnD17FgBw4sQJFBQUICoqytpHoVAgMjISBw8ehB31HhERETkZuwohhUIBs9kMANi2bRsMBoPDAzGbzTCZTPj555%2BxfPly9O7dGy1atMCNGzdQWloKHx8fm/7t2rUDAOj1eps/f9/P19cXRqMRmZmZDo%2BZiIiI6je79hFq3rw5tm3bBheX%2B92vXLkChULx0P6dOnUSHEjv3r2txUpISAiWLFkC4P4aIgDQaDQ2/St%2Br2jPz8%2BHUqmESqWy6deoUSMAQG5uLpo1ayY4rgouLo5fTlUxZWfP1B3VDnMtLeZbWsy3dJhraUmRb7sKoZEjR2L%2B/PlITU2FTCbDrFmzquxnsVggk8lqdMRGYmIiCgsLcfnyZaxYsQJvvPEG1q5da21/2PqkB69X1afikVht1jfJ5TJoteoa318djcZdtLHJFnMtLeZbWsy3dJhraYmZb7sLoWeffRYXL17EzJkzMWnSJLRu3dqhgXTo0AEA0K1bN/j7%2B2Pw4MH49ttvrY/AKmZ%2BKuTn5wP4bWZIo9HAZDLBZDLBzc2tUr%2BKmaGaKC%2B3ID%2B/sMb3P4xCIYdG4478/CKYzVx0JybmWlrMt7SYb%2Bkw19KqTb41Gne7ZpLsPmKjQ4cO6NChA1JTUxEVFQVfX19BAQnRsWNHKBQK3LhxA%2BHh4XB1dcWVK1cQGhpq7XP58mUAsMZR8ader4e/v7%2B1n16vh1qtRtOmTWsVk5hvB5jN5Xz7QCLMtbSYb2kx39JhrqUlZr4FP3RLTk4WtQgC7u8bZDab0bJlSyiVSvTo0QPp6ek2fXbs2AFvb29r0dOtWzc0bNgQO3futPYxm81IT09HWFgYD4olIiKiSgQfugoAN27cQEJCAo4ePYrc3FxotVr07NkTsbGxgh%2BZTZ48GQEBAdDpdFCpVDh//jy%2B/PJL6HQ69OnTB8D9E%2B9HjBiB2bNnIzo6GidOnEBqairmzZsHufx%2BLadUKjFp0iTEx8fD09MT/v7%2BSE1NRUZGhnXhNREREdGDBBdCer0eQ4cOhclkQo8ePdCkSRP8%2BuuvSE9Px4EDB7Bx40ZBM0bPPPMMdu7cicTERFgsFrRo0QIvv/wyxo8fD6VSCQDo2rUrVqxYgSVLlmD79u1o1qwZZs%2BejSFDhtiMNW7cOFgsFiQnJyMrKwt%2Bfn5ITEyETqcT%2BjWJiIjICdi1s/SDJk%2BejAsXLiA5OdnmdfQ7d%2B5g9OjR8PPzQ0JCgsMDrUvcWbr%2BY66lxXxLi/mWDnMtrcdmZ%2BkHHT9%2BHFOmTKm0J0%2BzZs0QExPDQ06JiIio3hBcCBUVFVmPwPg9rVaL4uLiWgdFREREJAXBhVDbtm2RlpZWZds///nPSkdcEBERET2uBC%2BWHjlyJGbPno2CggIMHDgQ3t7euHv3Lr755hvs27cPH3/8sRhxEhERETmc4ELoL3/5C7Kzs7Fy5UocPHgQwP1jLFQqFWbMmIHBgwc7PEgiIiIiMdRoH6HXX38dr776Kk6ePInc3Fx4eHiga9euaNiwoaPjIyIiqsRQYsR1Yw7aqD2hVartbqtte47JiEuZv8LLooZGUfn8q9qMLWbcdRnX465GhRAANGzY0ObICyIiIikYSoxYdmEvDKVGaF3VmKqLsP4F/Ki22rYbSoxIuLgXuWVF8HBxxxQ/x44tZtx1FVd9IN659kRERCK4bsyBodQItcINhtL7sxH2tNW2/boxB4aSQjR0dYOhpNDxY4sZdx3FVR%2BwECIionqljdoTWlc1jGYTtK5qtFF72tVW2/b7j36eQkGpCVrlU44fW8y46yiu%2BkDwztLOiDtL13/MtbSYb2k5Y77raq1NvrkI2TIj1wgJaK8NKXaWZiFkBxZC9R9zLS3mW1rMt3SYa2k9dkdsmEwmLFmyBGfOnBEUDBEREdHjSFAh5ObmhnXr1qGoqEiseIiIiIgkI3ixtK%2BvL27evClGLERERESSElwIxcTEYOXKlbhx44YY8RARERFJRvCGilu2bEFRUREiIyPh5%2BeHJk2a2LTLZDKsXLnSYQESERERiUVwIXTx4kW4urqiSZMmyM3NRW5urk27TCZzWHBEREREYhJcCO3bt0%2BMOIiIiIgkx52liYiIyGnVqBAqKSnBV199hTfffBNjx47FtWvXAAB79uxBRkaGI%2BMjIiIiEo3gR2M5OTkYPXo0Ll26hMaNGyM7OxtG4/1dl/fu3YsjR45g7ty5jo6TiIiIyOEEzwgtXrwY%2Bfn52LJlCw4cOIAHT%2BgIDg7G8ePHHRogERERkVgEF0IHDhzA1KlT0alTp0pviDVt2hR37txxWHBEREREYhJcCN27dw/Nmzevsq2srAxms7nWQRERERFJQXAh1LJlS5w6darKttOnT6Nt27a1DoqIiIhICoILoejoaKxevRp79uyxrg%2BSyWQ4ffo01q9fj5deesnhQRIRERGJQfBbYxMnTsSJEycwefJkNGrUCAAwfvx45ObmIiQkBKNGjXJ4kERERERiEFwIubq6YvXq1di5cycOHDiA7OxsaLVa9OrVC/3794dczj0aiYiIqH4QXAgB9x%2BF9e/fH/3793d0PERERESSqVEhBAB37tzB8ePHkZubC61Wi%2B7du6NZs2aOjI2IiIhIVIILofLycixYsACbNm2yeVVeoVBg6NCheO%2B99/h4jIiIiOoFwYVQQkICNmzYgJdffhlRUVFo3LgxsrKykJaWhpSUFGg0GkybNk2MWImIiIgcSnAhtGXLFowaNQrvvvuu9ZqPjw%2BCgoKgUqmwZcsWFkJERFQrhhIjrhtz0EbtCa1SXdfh0BNM8DOsvLw89OrVq8q2Xr16IS8vr7YxERGREzOUGLHswl6su3oEyy7shaHEWNch0RNMcCHUoUMHXL16tcq2a9euoX379rUOioiInNd1Yw4MpUaoFW4wlN6fGSISi%2BBC6O2330ZiYiIOHDhgc33fvn1ITExEXFyco2IjIiIn1EbtCa2rGkazCVpXNdqoPes6JHqC2bVGKDo62uZ3k8mESZMmQa1Ww8vLC9nZ2TAajWjUqBHmzZuHb775RpRgiYjoyadVqjFVF8E1QiQJuwohDw%2BPR/7epEmTGgeQnp6OtLQ0/EzUpGwAACAASURBVPzzz8jLy0OrVq0wbNgwDB061PoaflxcHLZt21bp3tWrVyM0NNTmWlJSElJSUnD37l34%2Bflh5syZCA4OrnF8REQkPa1SzQKIJGFXIZScnCxaAGvXrkXz5s0xc%2BZMeHl54dixY5g/fz4yMjLwzjvvWPu1atUKn376qc29vr6%2BNr8nJSUhPj4eM2bMgL%2B/P1JTUzFx4kSkpqZCp9OJ9h2IiIiofqrxztKOsmrVKnh6/vb8t0ePHigsLERKSgpmzJgBpVIJAFCpVOjSpctDxykpKcHKlSsxatQojB8/HgAQFBSE6OhorFq1CvHx8eJ%2BESIiIqp3alwIXbp0Cbdv34bJZKrU1q9fP7vHebAIqtCxY0eYTCbk5uba/djtxIkTKCgoQFRUlPWaQqFAZGQk1qxZA4vFAplMZndcRERE9OQTXAjduHEDU6dOxYULFwAAFovFpl0mk%2BHcuXO1CurHH3%2BEh4cHvLy8bD63e/fuKC4uhp%2BfH2JiYtCnTx9ru16vB3B/c8cH%2Bfr6wmg0IjMzk2ehERERkQ3BhdCcOXOQlZWFWbNmwdfXF66urg4N6KeffsLWrVsRGxsLhUIB4P4MUWBgINq1a4eCggJs2rQJsbGxWLp0KV588UUAQH5%2BPpRKJVQqlc14jRo1AgDk5ubWqhBycXH8%2BWkKhdzmTxIPcy0t5ltazLd0mGtpSZFvwYXQ6dOn8fHHH6N///4OD%2Bbu3buYOnUqAgMDMXHiROv10aNH2/QLDw/H0KFDsWzZMmshBKDKR18VM1a1eSwml8ug1Yr39oJG4y7a2GSLuZYW8y0t5ls6zLW0xMy34ELI09MTDRo0cHggBQUFmDhxIlQqFVauXPnImSa5XI5%2B/fph8eLFKC4uhkqlgkajgclkgslkgpubm7Vvfn4%2BgN9mhmqivNyC/PzCGt//MAqFHBqNO/Lzi2A2lzt8fPoNcy0t5ltazLd0mGtp1SbfGo27XTNJgguhYcOGITU1FWFhYUJvfaiKDRqzsrLw9ddfQ6vVVnvP79cmVbxKr9fr4e/vb72u1%2BuhVqvRtGnTWsVYVibef/Bmc7mo49NvmGtpMd/SYr6lw1xLS8x8Cy6EJkyYgEWLFmHQoEEICQmptLmiTCbDmDFj7B6vrKwM06ZNw/nz57Fhwwa0aNGi2nvKy8uxe/dutG/f3romqFu3bmjYsCF27txpLYTMZjPS09MRFhbGN8aIiIioEsGF0H//%2B19s27YNeXl5OHv2bKV2oYXQvHnzsH//frz99tsoLi7GqVOnrG3t2rVDXl4e4uLiEBUVhdatWyMvLw%2BbNm3CmTNnkJCQYO2rVCoxadIkxMfHw9PT07qhYkZGBpYsWSL0axIREZETEFwIzZs3D1qtFgsWLHDIW2NHjhwBACxevLhS2/r166HT6dCgQQMsX74cOTk5cHV1RUBAAFavXo2QkBCb/uPGjYPFYkFycjKysrLg5%2BeHxMRE7ipNREREVZJZfr/YphqdO3fGkiVLEBERIVZMjx2zuRw5OUaHj%2BviIodWq4bBYOSzZpEx19JivqXFfEuHuZZWbfLt6am2a7G04Bfzn3766UoLlYmIiIjqI8GF0GuvvYY1a9ZUebQGERERUX0ieI3Q2bNnkZmZiT59%2BiA4OLjSW2MAMHv2bIcER0RERCQmwYXQhg0brD/v2LGjUrtMJmMhRERERPWC4ELo/PnzYsRBREREJDmeGkdEREROi4UQEREROS3Bj8Y6dOhQ7XEV586dq3FARERERFIRXAjFxsZWKoRycnLw73//G2azGQMGDHBYcERERERiElwITZkypcrrJSUlGD9%2BPDw9PWsdFBEREZEUHLZGSKlUYuTIkVi3bp2jhiQiIiISlUMXS7u5ueHu3buOHJKIiIhINA4rhHJycpCUlIS2bds6akgiIiIiUQleIxQeHl5psXRJSQlycnIgk8mwcuVKhwVHREREJCbBhVBQUFClQkipVKJFixaIjIxEy5YtHRYcERERkZgEF0KLFi0SIw4iIiIiyXFnaSIAhhIjThkyYCgxCm6vzb1ijl2XceWYjPg%2B8ypyTPUr7voYF/DofD%2BucVd3L5FUBM8IAcDNmzeRnp6O27dvo7i42KZNJpNhwYIFDgmOSAqGEiOWXdgLQ6kRWlc1puoioFWq7Wqvzb1ijl3XcSVc3IvcsiJ4uLhjil/9ibu%2BxVVdvh/XuKu7l0hKgguhAwcOYPLkySgvL4enpyeUSqVNe3XHbxA9bq4bc2AoNUKtcIOh1Ijrxhyb/1F%2BVHtt7hVz7DqPq6QQGjcVDKbC%2BhV3PYurunw/rnFXdy%2BRlAQXQvHx8ejWrRvi4%2BPh5eUlRkxEDpdjMuJS5q/wsqihUbjbtLVRe0Lrqrb%2Bv9M2ak%2B722tzr5hj13lcyqeQW1oErfKp%2BhV3PYurunw/rnFXdy%2BRlGQWi8Ui5IYuXbogISEBISEhYsX02DGby5GT4/jn2C4ucmi1ahgMRpSVlTt8fLqvukc1FX2uG3P%2B7y%2BVyv/P9FHttblXzLHrMq58cxGyZcYqC8/HOe76GBfw6Hw/rnFXd%2B/jiv%2B7La3a5NvTUw2Fovql0IILocjISEybNg1/%2BtOfBAVUn7EQqt9OGTLw/67%2BGxo3FfJNxRjd9nl00baq67CeaPxvW1rMt3SYa2lJUQgJfmvs9ddfx5o1a1BUVCT0VqI6UfHooKDUVOWjGiIicl6C1wj99NNPyM7ORt%2B%2BfREcHAytVlupz%2BzZsx0SHJEjaJVqTO/Y95GPaoiIyDkJfjTWoUOHRw8ok%2BHcuXO1Cupxw0dj9R9zLS3mW1rMt3SYa2lJ8WhM8IzQ%2BfPnhd5CRERE9FjiztJERETktFgIERERkdNiIUREREROi4UQPTF4iCMREQlVo0NXiR43PMSRiIhqgjNC9ESo6hBHIiKi6rAQoidCxSGORrOJhzgSEZHdavRo7B//%2BAd27NiB27dvo7i42KZNJpNhz549DgmOyF5a5f3HYfXxEEciIqo7gguhxMRELFmyBO3atUOHDh2gVCrFiItIMK1SzQKIiIgEEVwIbd68GcOHD8ecOXPEiIeIiIhIMoLXCGVlZaFPnz5ixEJEREQkKcGFUKdOnZCRkSFGLERERESSElwIxcXFYc2aNThz5oxDAkhPT0dMTAzCwsLQpUsXREdHY%2BPGjSgvtz1l9uDBgxgwYAACAwPRt29fpKSkVDleUlISwsPDERgYiMGDB%2BPYsWMOiZOIiIiePILXCL377rvIzc3FkCFD0LhxY3h4eNi0y2QyfPPNN3aPt3btWjRv3hwzZ86El5cXjh07hvnz5yMjIwPvvPMOAODkyZOIiYnBSy%2B9hLi4OJw4cQIff/wxlEolhgwZYh0rKSkJ8fHxmDFjBvz9/ZGamoqJEyciNTUVOp1O6FclIiKiJ5zgQsjDw6NS8VMbq1atgqfnb3u%2B9OjRA4WFhUhJScGMGTOgVCqxfPly%2BPv7Y8GCBdY%2Bv/zyC5YuXYrBgwdDLpejpKQEK1euxKhRozB%2B/HgAQFBQEKKjo7Fq1SrEx8c7LGaqG4YSI1%2BPJyIihxJcCCUnJzs0gAeLoAodO3aEyWRCbm4uPDw88N133%2BGtt96y6RMdHY3Nmzfj7NmzCAgIwIkTJ1BQUICoqChrH4VCgcjISKxZswYWiwUymcyhsZN0eIQGERGJ4bE8a%2BzHH3%2BEh4cHvLy8cPXqVZSWlsLHx8emT7t27QAAer0eAQEB0Ov1AFCpn6%2BvL4xGIzIzM9GsWbMax%2BTi4vhNuBUKuc2f9HA38w3ILS2EWqFCbmkhbhYb4P1UQ7vvZ66lxXxLi/mWDnMtLSnybVchdPv2bXh7e8PV1RW3b9%2Butn/z5s1rHNBPP/2ErVu3IjY2FgqFAnl5eQAAjUZj06/i94r2/Px8KJVKqFQqm36NGjUCAOTm5ta4EJLLZdBqxZt90GjcRRv7SdFZ1QqNbzVAtsmIxu4N0Ll5K2jdhf87Ya6lxXxLi/mWDnMtLTHzbVchFBERga%2B//hrPPPMMwsPDq33EdO7cuRoFc/fuXUydOhWBgYGYOHGiTdvDPvPB61X1sVgsj7zfHuXlFuTnF9b4/odRKOTQaNyRn18Es7m8%2BhucmBwyTPGLwHVjNtqovSAvlsFQbLT7fuZaWsy3tJhv6TDX0qpNvjUad7tmkuwqhBYsWIBWrVpZfxZjrU1BQQEmTpwIlUqFlStXwtXVFcBvMzoVMz8V8vPzAfw2M6TRaGAymWAymeDm5lapX8U4NVVWJt5/8GZzuajjPyk0CncEaloCqPm/D%2BZaWsy3tJhv6TDX0hIz33YVQgMHDrT%2BPGjQIIcHYTKZMGnSJGRlZeHrr7%2BGVqu1trVu3Rqurq64cuUKQkNDrdcvX74M4P4aoAf/1Ov18Pf3t/bT6/VQq9Vo2rSpw%2BMmIiKi%2Bq3OV3uVlZVh2rRpOH/%2BPL788ku0aNHCpl2pVKJHjx5IT0%2B3ub5jxw54e3tbi55u3bqhYcOG2Llzp7WP2WxGeno6wsLC%2BMYYERERVVLnb43NmzcP%2B/fvx9tvv43i4mKcOnXK2tauXTs0aNAAsbGxGDFiBGbPno3o6GicOHECqampmDdvHuTy%2B7WcUqnEpEmTEB8fD09PT%2BuGihkZGViyZEldfT0iIiJ6jNV5IXTkyBEAwOLFiyu1rV%2B/HsHBwejatStWrFiBJUuWYPv27WjWrBlmz55ts6s0AIwbNw4WiwXJycnIysqCn58fEhMTuas0ERERVUlmqXitih7KbC5HTo79byjZy8VFDq1WDYPByEV3ImOupcV8S4v5lg5zLa3a5NvTU23XW2N1vkaIiIiIqK6wEKLHhqHEiFOGDBhKHD/7RkREVBW71ggdP35c0KDPPvtsjYIh58WzxIiIqC7YVQiNHDnS%2Bvq5PYeX1nRnaXJe1405MJQaoVa4wVB6/5R5FkJERCQ2uwqh9evXW382Go346KOP0LZtW0RFRaFx48bIyspCWloarl69ivfff1%2B0YOnJ1UbtCa2r2joj1EbtWdchERGRE7CrEAoKCrL%2BPHfuXHTv3h1//etfbfoMHDgQb7/9Nvbv34/evXs7Nkp64mmV9x%2BHXTfm3C%2BKOBtEREQSELxYeteuXYiOjq6yLTo6Gv/6179qHRQ5J61SjS7aViyCiIhIMoILoeLiYmRnZ1fZlp2djeLi4loHRURERCQFwYXQH//4R3z22We4ePGizfULFy7gs88%2Bwx//%2BEeHBUdEREQkJsFHbLz33nsYMWIEBgwYgHbt2sHb2xt3797F5cuX4eHhgffee0%2BMOImIiIgcTvCMkI%2BPD9LS0jBu3DioVCpkZGRApVJh/Pjx%2BOabb%2BDj4yNGnEREREQOV6NDV728vPDWW285OhYiIiIiSfGIDSIiInJads0IzZo1y%2B4BZTIZFixYUOOA6MlmKDFyryAiInps2FUIHTt2zO4Bqzt%2Bg5wXzxMjIqLHjV2F0L59%2B8SOg5wAzxMjIqLHDdcIkWQqzhMzmk08T4yIiB4LNXprDAAOHz6M77//HgaDATExMWjevDlOnz6Nli1bwtOTf8FRZTxPjIiIHjeCC6GioiLExMTg6NGj1vVAw4YNQ/PmzbFmzRo8/fTTeOeddxweKD0ZtEo1CyAiInpsCH40Fh8fjzNnziAhIQE//PADLBaLte3555/Hf/7zH4cGSERERCQWwTNCu3btwrRp09C3b1%2BYzWabtubNm%2BOXX35xWHBEREREYhI8I5STk4N27dpVPZhcztPniYiIqN4QXAg1bdq00snzFS5cuICWLVvWOigiIiIiKQguhPr164dVq1bh7Nmz1msymQy3bt3CunXr8OKLLzo0QKpfDCVGnDJkwFBirOtQiIiIqiV4jVBsbCyOHj2KIUOGoH379pDJZJg1axZu3LiBtm3b4rXXXhMjTqoHuHM0ERHVN4JnhBo0aICvvvoK06ZNw1NPPYXWrVvD3d0dr7/%2BOlJSUqBSqcSIk%2BqBqnaOJiIiepzVaENFlUqF1157jbM/ZKNi5%2BiKGSHuHE1ERI%2B7Gu8sTfR73DmaiIjqG7sKoVmzZiEmJgatWrXCrFmzHtlXJpNhwYIFDgmO6h/uHE1ERPWJXYXQsWPHMHr0aOvPj1Jx7AYRERHR486uQmjfvn1V/kxERERUnwl%2Ba4yIiIjoSSG4EIqOjsZXX32FoqIiMeIhIiIikozgQkir1WLu3LkIDQ3FggULcO3aNRHCIiIiIhKf4EJo/fr12LFjB/r374%2B///3viIyMxPjx47F//34x4iMiIiISTY3WCLVr1w5z587FoUOHEBcXh9u3byMmJgYRERFISkpCXl6eo%2BMkIiIicrhaLZZu0KABRo0ahfXr1yMoKAi3bt3C4sWL0atXLyxatIjriIiIiOixVqudpU%2BePImUlBTs3r0bLi4uGDZsGCIjI7F3715s2rQJmZmZiI%2BPf%2BQY169fR1JSEv773//i0qVL8PHxwY4dO2z6xMXFYdu2bZXuXb16NUJDQ22uJSUlISUlBXfv3oWfnx9mzpyJ4ODg2nxNeoChxMido4mI6IkhuBAymUxIS0vDxo0bce7cOTRv3hwzZszAkCFD0LBhQwDAs88%2Biw4dOuDDDz%2BsdrxLly7h4MGD6Ny5M8rLy2GxWKrs16pVK3z66ac213x9fW1%2BT0pKQnx8PGbMmAF/f3%2BkpqZi4sSJSE1NhU6nE/pV6Xd4ujwRET1pBBdCoaGhyM/PR/fu3ZGQkICIiIgqd5Nu27atXY/GwsPD0adPHwD3Z37OnDlTZT%2BVSoUuXbo8dJySkhKsXLkSo0aNwvjx4wEAQUFBiI6OxqpVq6qdmaLqVXW6PAshIiKqzwQXQn369MGoUaOqnWHp3Lkzzp8/X%2B14crlj9nQ8ceIECgoKEBUVZb2mUCgQGRmJNWvWwGKx8PiPWuLp8kRE9KQRXAjNnz9fjDiqdePGDXTv3h3FxcXw8/NDTEyMdSYJAPR6PQDAx8fH5j5fX18YjUZkZmaiWbNmNf58FxfHb8KtUMht/nzcebs0xAz/vrhuzEYbtRc83erPbFB9y3V9x3xLi/mWDnMtLSnyXavF0lLp2LEjAgMD0a5dOxQUFGDTpk2IjY3F0qVL8eKLLwIA8vPzoVQqoVKpbO5t1KgRACA3N7fGhZBcLoNWK95f%2BhqNu2hjO5oWaviiSV2HUWP1KddPAuZbWsy3dJhraYmZ73pRCFWcfF8hPDwcQ4cOxbJly6yFEIAqH31VLL6uzWOx8nIL8vMLa3z/wygUcmg07sjPL4LZXO7w8ek3zLW0mG9pMd/SYa6lVZt8azTuds0k1YtC6Pfkcjn69euHxYsXo7i4GCqVChqNBiaTCSaTCW5ubta%2B%2Bfn5AH6bGaqpsjLx/oM3m8tFHZ9%2Bw1xLi/mWFvMtHeZaWmLmu94%2B5Pz9a/YVr9JXrBWqoNfroVar0bRpU8liIyIiovqhXhZC5eXl2L17N9q3b29dE9StWzc0bNgQO3futPYzm81IT09HWFgY3xgjIiKiSmr8aEyv1%2BP48eMwGAz4y1/%2BAm9vb2RmZqJRo0aVFiw/SlFREQ4ePAgAuHXrFu7du4ddu3YBuL8PUFFREeLi4hAVFYXWrVsjLy8PmzZtwpkzZ5CQkGAdR6lUYtKkSYiPj4enp6d1Q8WMjAwsWbKkpl%2BTiIiInmCCCyGz2Yw5c%2BZg27Zt1r15QkND4e3tjQ8%2B%2BAAdO3bEtGnT7B4vOzu7Uv%2BK39evXw%2BdTocGDRpg%2BfLlyMnJgaurKwICArB69WqEhITY3Ddu3DhYLBYkJycjKysLfn5%2BSExM5K7SREREVCXBhdDKlSuxY8cOzJw5EyEhITYbGIaEhGDbtm2CCqGWLVviwoUL1X6mPWQyGSZMmIAJEybY/flERETkvAQXQtu2bUNMTAzGjh0Ls9ls09ayZUvcvHnTYcFR3eDBqkRE5CwEF0KZmZkPPfPLzc0NRqOx1kFR3eHBqkRE5EwEvzXm5eWFjIyMKtuuXr1aq2MsqO5VdbAqERHRk0pwIRQWFoZVq1YhMzPTek0mk6GgoADJycno3bu3QwMkaVUcrGo0m3iwKhERPfEEPxqbOnUqDh06hMjISAQHB0Mmk2HJkiW4dOkSXFxcEBMTI0acJBGt8v7jMK4RIiIiZyB4Rqhx48b4%2B9//jv79%2B%2BPnn3%2BGQqHA%2BfPnERoaiq%2B%2B%2BgoeHh5ixEkS0irV6KJtxSKIiIieeDXaULFx48aYN2%2Beo2MhIiIikpTgGaENGzYgLy9PjFiIiIiIJCW4EPr4448REhKC6dOn4/Dhw5UOPyUiIiKqLwQ/Gtu5cye2bNmCtLQ07N69G97e3hg4cCAGDhyIP/zhDyKESERERCQOmaWGUzrl5eU4fPgwtm7div3796O0tBRdu3bF4MGDMXjwYEfHWafM5nLk5Dh%2Bo0gXFzm0WjUMBiPKysodPj79hrmWFvMtLeZbOsy1tGqTb09PNRSK6h98CX40Zr1RLkdYWBiWLl2KI0eOYPbs2bh9%2BzbmzJlT0yGJiIiIJFXjQqjCvXv3kJ6ejm%2B%2B%2BQZ37tyBm5ubI%2BIiIiIiEl2NXp8HgKNHj2LLli3Ys2cPiouL0blzZ8ybNw%2BRkZGOjI%2BIiIhINIILoWXLlmH79u345Zdf4OXlheHDh2PQoEHw9fUVIz4iIiIi0QguhBITE9G7d2/MmTMHoaGhUCgUYsRFREREJDrBhdChQ4fg6cmDOImIiKj%2BE7xYmkUQERERPSnsmhGaNWsWYmJi0KpVK8yaNeuRfWUyGRYsWOCQ4EgchhIjT5cnIiKCnYXQsWPHMHr0aOvPjyKTyWofFYnGUGLEsgt7YSg1QuuqxlRdBIshIiJyWnYVQvv27avyZ6p/rhtzYCg1Qq1wg6H0/swQCyEiInJWgtcI3b59G6WlpVW2lZWV4fbt27UOisTTRu0JrasaRrMJWlc12qi55ouIiJyX4EIoIiIC586dq7Lt/PnziIiIqHVQJB6t8v7jsDFtX%2BBjMSIicnqCX59/1Bmt5eXlXCNUD2iVahZAREREcMBZYxVKSkpw6NAhaLVaRw1JREREJCq7ZoQ%2B//xzLF%2B%2BHMD9t8JeeeWVh/YdMmSIYyIjIiIiEpldhVBgYCBeffVVWCwWbNy4EX/605/QuHFjmz5KpRJ%2Bfn6IiooSJVAiIiIiR7OrEAoLC0NYWBgAoKioyLq5IhEREVF9Jnix9MKFC8WIg4iIiEhygguhChcvXoRer4fJZKrUNmDAgFoFRURERCQFwYVQUVERJk2ahO%2B%2B%2Bw4ymcz6Ov2Dr82zECIiIqL6QPDr8ytWrMCtW7ewYcMGWCwWfP7551i7di369u2LNm3aYNu2bWLESURERORwgguhvXv3YuLEiejatSsA4Omnn8Zzzz2HZcuWoVOnTti4caPDgyQiIiISg%2BBC6NatW/Dx8YFCoYBMJkNRUZG1LTo6Gnv37nVogERERERiEVwINWzYEIWFhQAALy8vXL9%2B3dpWVlZmbSMiIiJ63AkuhHQ6Ha5duwYACA4OxhdffIEffvgBp0%2BfxvLly9GhQwdHx0hEREQkCsFvjQ0ePNg6CzR9%2BnS8%2BuqrGDlyJABAo9EgMTHRsRESERERiURwIRQZGWn9uVWrVti9e7f1VfquXbvCw8ND0HjXr19HUlIS/vvf/%2BLSpUvw8fHBjh07KvU7ePAg4uPjodfr0axZM4wZMwbDhw%2Bv1C8pKQkpKSm4e/cu/Pz8MHPmTAQHBwv9mkREROQEan36/FNPPYXw8HD07t1bcBEEAJcuXcLBgwfRpk0b%2BPr6Vtnn5MmTiImJgb%2B/P1avXo2BAwfi448/Rmpqqk2/pKQkxMfHY/jw4UhMTESbNm0wceJEXLhwoUbfjYiIiJ5sMkvFjoh1pLy8HHL5/XosLi4OZ86cqTQjNGHCBOTl5dkUPnPmzMH%2B/ftx6NAhyOVylJSUoGfPnnj55Zcxc%2BZMAIDZbEZ0dDR0Oh3i4%2BNrHKPZXI6cHGON738YFxc5tFo1DAYjysrKHTq2ocSI68YctFF7QqtUO3Ts%2BkjMXFNlzLe0mG/pMNfSqk2%2BPT3VUCiqn%2B%2Bx69FYhw4dbHaOfhSZTIazZ8/a1ReAtQh6mJKSEnz33Xd46623bK5HR0dj8%2BbNOHv2LAICAnDixAkUFBQgKirK2kehUCAyMhJr1qyBxWKx%2BzvUd4YSI5Zd2AtDqRFaVzWm6iJYDBEREVXBrkIoNja2zoqIGzduoLS0FD4%2BPjbX27VrBwDQ6/UICAiAXq8HgEr9fH19YTQakZmZiWbNmtU4DheXWj9FrKSiUrWnYhXiZr4BuaWFUCtUyC0txM1iA7yfaujQz6hvxMo1VY35lhbzLR3mWlpS5NuuQmjKlCmiBVCdvLw8APffSHtQxe8V7fn5%2BVAqlVCpVDb9GjVqBADIzc2tcSEkl8ug1Yo3o6LRuDt0vM6qVmh8qwGyTUY0dm%2BAzs1bQevOGSHA8bmmR2O%2BpcV8S4e5lpaY%2Ba7x6fNSe9iM1IPXq%2BpT1aGwQpWXW5Cf7/iNIhUKOTQad%2BTnF8FsdtyzZjlkmOIXgevGbLRRe0FeLIOh2PFrnOoTsXJNVWO%2BpcV8S4e5llZt8q3RuDtujdCDtm/fXm0fR54%2BXzGjUzHzUyE/Px/AbzNDGo0GJpMJJpMJbm5ulfpVjFNTYi6KM5vLHT6%2BRuGOQE1LAOLGXt%2BIkWt6OOZbWsy3dJhraYmZb8GFUFxcXJXXH5xxcWQh1Lp1a7i6uuLKlSsIDQ21Xr98%2BTIAWF%2B5r/hTr9fD39/f2k%2Bv10OtVqNp06YOi4mIiIieDIILoaoOVTUYDNi7dy927txZq9fUq6JUKtGjRw%2Bkp6djzJgx1us7duyAt7e3tejp1q0bGjZsiJ07d1qvmc1mpKenIywszGneGCMiIiL7CS6EWrRoUeW1gIAAlJWVYf369Vi0aJHd4xUVFeHgwYMA7p9sf%2B/ePezatQsAEBQUBE9PJ9%2BSRgAAGt9JREFUT8TGxmLEiBGYPXs2oqOjceLECaSmpmLevHnW1%2B%2BVSiUmTZqE%2BPh4eHp6wt/fH6mpqcjIyMCSJUuEfk0iIiJyAg5dLP3cc89h%2BvTpgu7Jzs7GtGnTbK5V/L5%2B/XoEBweja9euWLFiBZYsWYLt27ejWbNmmD17NoYMGWJz37hx42CxWJCcnIysrCz4%2BfkhMTEROp2udl%2BMiIiInkgOLYRu3bpV7QaJv9eyZUu7jsAICwtDWFjYI/vIZDJMmDABEyZMEBQDEREROSfBhdDx48crXSspKcGFCxfwxRdf4LnnnnNIYERERERiE1wIjRw5stLC44q9enr27Ik5c%2BY4JjIiIiIikQkuhNavX1/pmpubG1q0aIHGjRs7JCgiIiIiKQguhIKCgsSIg4iIiEhyPDWOiIiInJbgGSGz2Yzk5GSkpaXh9u3bMJlMNu0ymQw//vijwwIkIiIiEovgQujTTz/F2rVr0bFjR/Ts2RNKpVKMuIiIiIhEJ7gQSktLw2uvvYY333xTjHjIToYSI64bc9BG7QmtUl3X4RAREdVLggshk8nEvYLqmKHEiGUX9sJQaoTWVY2puggWQ0RERDUgeLH0888/j9OnT4sRC9npujEHhlIj1Ao3GErvzwwRERGRcIJnhGbPno3XXnsN7u7uCAsLQ6NGjSr18fDwcEhwVLU2ak9oXdXWGaE2as%2B6DomIiKheElwINWjQAG3btsXChQuxcOHCKvucO3eu1oHRw2mV9x%2BHcY0QERFR7QguhD744APs2rULERER8PX1haurqxhxUTW0SjULICIioloSXAjt2bMHb775JsaPHy9GPERERESSEbxY2sXFBf7%2B/mLEQkRERCQpwYVQv379cPjwYTFiISIiIpKU4Edj/fv3x5w5c1BWVoZevXpV%2BdZYp06dHBIcERERkZgEF0JjxowBAKxfvx7Jyck2bRaLBTKZjG%2BNERERUb0guBB62CvzRERERPWN4EJo4MCBYsRBREREJDnBi6WJiIiInhSCZ4RmzZr1yHaZTIYFCxbUOCAiIiIiqQguhI4dO1bpWm5uLgoLC6HRaNCwYUOHBEZEREQkNsGF0L59%2B6q8fvToUXz44YdY%2Bv/bu/eoKK47DuDf5bGKG8AFQStqosRdRVceikB8gHo0sYJ4qqgnvsrxGVQMVuujxFdRajUaBDQa3wkYwGotRmMjMWjaaFMRY6LGIEbEGERANi7KAjv9I4etK6AgsCM73885e8zevTPz9WqYn/fOzsTFNToUERERkTk02TVCAQEBmDx5MtauXdtUuyQiIiJqVk16sbS7uzsuXbrUlLskIiIiajZNWgh9/fXXUCqVTblLIiIiombT4GuEEhISarRVVFTg%2B%2B%2B/x%2BnTp/lUeiIiImoxmqQQksvlcHNzQ2RkJAshIiIiajEaXAhdvXq1OXIQERERmR3vLE1ERESSVa9CqLS0FPPnz8epU6fq7HPq1CnMnz8fJSUlTRaOiIiIqDnVqxBKS0vD1atXMWjQoDr7DBo0CNeuXUNSUlKThSMiIiJqTvUqhI4dO4awsDDY2NR9SZGNjQ3CwsLqvPM0ERER0YumXoXQjRs3oNFontmvV69e%2BPHHHxubiQCU6HXILrmFEr1O7ChEREQWq17fGquqqnrqbJBxZzY2qKysbHQoqSvR67Dl%2BwyUVOigtFUgUj0MSrlC7FhEREQWp14zQi4uLsjJyXlmvx9%2B%2BAHt2rVrdCipu6krRkmFDgrrViip0OGmrljsSERERBapXoVQ//79kZycjIqKijr7VFRU4MCBA/Dz82uycNUOHToEtVpd47Vx40aTfpmZmRgzZgw0Gg2GDx/eYi/cflnhBKWtArqqcihtFXhZ4SR2JCIiIotUr6WxadOmYdy4cZg3bx7WrFmD9u3bm3xeUFCAd955Bzdu3KhRnDSlnTt3wt7e3vj%2B8RwXLlxAREQEQkNDsXTpUmRlZSEmJgZyuRxhYWHNlqk5KOW/Lofd1BX/WhRxWYyIiKhZ1KsQ6tGjB1asWIHVq1dj2LBh6N27N9zc3AAAt2/fxrfffgtBELBq1Sqo1epmC9urVy84OdU%2BO5KYmAgPDw%2BsW7cOAODv7487d%2B4gLi4OY8eOhZVVy7p3pFKuYAFERETUzOr9iI3x48eje/fu2L59O86dO4fs7GwAgJ2dHQYNGoTZs2fDy8ur2YI%2BjV6vx9mzZ7Fo0SKT9pCQEKSmpuLy5cvo3bu3KNmIiIjoxdWgZ415e3vj/fffh8FgMN5BWqlUmm22JTg4GCUlJejYsSPGjx%2BPGTNmwNraGnl5eaioqEC3bt1M%2Br/66qsAgOvXrze6ELKxafrfo7W1lcmv1Hw41ubF8TYvjrf5cKzNyxzj3eCHrgKAlZUVnJ2dmzpLnVxcXDB//nx4enpCJpPh888/x3vvvYeCggKsWLECpaWlAAAHBweT7arfV3/%2BvKysZFAqm2%2BZysHBrtn2TaY41ubF8TYvjrf5cKzNqznH%2B7kKIXMbNGiQyeM9Bg4ciFatWmHfvn2YM2eOsV0mk9W6fV3t9WUwCNBqyxq1j9pYW1vBwcEOWu1DVFUZmnz/9H8ca/PieJsXx9t8ONbm1ZjxdnCwq9dMUosohGozcuRI7N69G1euXDFeuP3kzI9WqwVQc6boeVRWNt9f%2BKoqQ7Pun/6PY21eHG/z4nibD8favJpzvC1ikbNLly6wtbVFbm6uSXv1TSDd3d3FiEVEREQvuBZbCB07dgzW1tbw8PCAXC6Hv78/jh8/btLn6NGjcHFxgYeHh0gpiYiI6EXWIpbGpk%2BfDn9/f6hUKgBARkYGUlNTMXXqVLi4uAAA5s6di8mTJyM6OhohISHIyspCWloa1qxZ0%2BLuIURERETm0SIKoa5du%2BLgwYP4%2BeefYTAY8Morr2D58uWYMmWKsY%2B3tze2bt2KTZs24e9//zs6dOiA6OjoFndXaSIiIjKfFlEIRUdH16tfYGAgAgMDmzkNERERWQquGREREZFksRAiIiIiyWIhRERERJLFQoiIiIgkq0VcLG2pist1%2BKHgLpwFBRys%2BdwaIiIic2MhJJISvQ7x1zJwv/Ih2trYYb5qGJTy5nuwKxEREdXEpTGR3NQVo0RfBnvbVijRl%2BGmrljsSERERJLDQkgkLyucoJS3wS8V5VDK2%2BBlhZPYkYiIiCSHS2MiUcoVeLvncBTJdLxGiIiISCQshETk1EoBd6UrSkp0qKw0iB2HiIhIcrg0RkRERJLFQoiIiIgki4UQERERSRYLISIiIpIsFkJEREQkWSyEiIiISLJYCBEREZFksRAiIiIiyWIhRERERJLFQoiIiIgki4UQERERSRYLISIiIpIsmSAIgtghXnSCIMBgaJ5hsra2QlUVH7hqDhxr8%2BJ4mxfH23w41ub1vONtZSWDTCZ7Zj8WQkRERCRZXBojIiIiyWIhRERERJLFQoiIiIgki4UQERERSRYLISIiIpIsFkJEREQkWSyEiIiISLJYCBEREZFksRAiIiIiyWIhRERERJLFQoiIiIgki4UQERERSRYLISIiIpIsFkIiuHHjBqZPnw4vLy8EBAQgJiYGjx49EjuWRTp%2B/DgiIiIQGBgILy8vhISEIDk5GQaDQexoFk%2Bn02Hw4MFQq9W4dOmS2HEsVlpaGkaPHg2NRoOAgADMmTNH7EgW6eTJkwgLC4OPjw9ee%2B01zJs3D7m5uWLHsgg3b97EihUrEBoaCg8PDwQHB9faLzMzE2PGjIFGo8Hw4cORlJTUJMe3aZK9UL1ptVpMmzYNHTt2xJYtW1BcXIzY2Fjcv38fGzduFDuexdmzZw86duyIP/7xj3B2dsa5c%2Bewdu1a3Lp1C0uWLBE7nkXbunUrqqqqxI5h0eLj47F3717MmTMHnp6eKC0txZkzZ8SOZXH%2B/e9/Y968eRg9ejTefvttaLVaJCQkIDw8HJ988gleeuklsSO2aD/88AMyMzPh6ekJg8EAQRBq9Llw4QIiIiIQGhqKpUuXIisrCzExMZDL5QgLC2tcAIHMavv27YKnp6dQVFRkbPvHP/4hqFQqIScnR8Rklunxca62bt06QaPRCOXl5SIkkoacnBzBy8tLOHDggKBSqYRvvvlG7EgWJycnR%2BjZs6dw5swZsaNYvOXLlwtDhgwRDAaDse3ixYuCSqUSvvjiCxGTWYaqqirjfy9ZskQYNWpUjT7Tp08Xxo0bZ9IWHR0tDBgwwGT758GlMTM7ffo0AgIC4OTkZGx7/fXXIZfLkZmZKWIyy/T4OFfr2bMnysvLcf/%2BfRESScPatWsxceJEdO3aVewoFuvQoUPo3LkzBg4cKHYUi1dZWQmFQgGZTGZss7e3FzGRZbGyenopotfrcfbsWYwaNcqkPSQkBIWFhbh8%2BXLjjt%2BoranBrl%2B/Dnd3d5M2uVyOLl264Pr16yKlkpbz58%2Bjbdu2cHZ2FjuKRfr0009x9epVzJ07V%2BwoFu3ixYtQqVRITExEQEAAevfujcmTJ%2BPKlStiR7M448aNQ25uLj788ENotVrk5%2Bdj/fr1cHd3R0BAgNjxLF5eXh4qKirQrVs3k/ZXX30VABp97mQhZGZarRYODg412h0cHFBaWipCImm5dOkSDh06hGnTpsHa2lrsOBbn4cOH%2BMtf/oKFCxfyuolmVlhYiC%2B//BLp6elYvXo14uPj8fDhQ4SHh0Or1Yodz6L4%2BvoiISEBmzdvhq%2BvL4YNG4Zbt25h9%2B7dkMvlYsezeNXnxifPndXvG3vuZCH0ghAEwWTalZpeYWEhIiMjodFoMHPmTLHjWKRt27bB2dkZv/vd78SOYvEEQUBZWRni4%2BMxYsQIDBkyBNu2bYNOp0NKSorY8SxKVlYWFi9ejLFjx2Lv3r1ISEhA69atMXPmTDx48EDseJJR1zmysedOfmvMzBwcHGr919ovv/xSY8mMms4vv/yCmTNnonXr1ti2bRtsbW3FjmRxbt%2B%2Bjd27dyMxMdF4cigrKzP%2BqtPpoFAoxIxoURwdHdGuXTt0797d2Obq6opu3bohJydHxGSWJyYmBv7%2B/vjTn/5kbOvbty8GDx6MtLQ0hIeHi5jO8jk6OgKoOfNTfS6tbZWlIVgImZm7u3uN9Uy9Xo%2B8vDyMHTtWpFSWrby8HG%2B99Rbu3buHlJQUKJVKsSNZpPz8fFRUVGDWrFk1Pps6dSo8PT2RmpoqQjLL5O7ujp9%2B%2BqlGuyAIz7z4lBrm%2BvXrGDp0qEmbk5MTXF1dkZeXJ1Iq6ejSpQtsbW2Rm5uLwYMHG9urC/7GTiKwEDKzwYMHY9u2bSgpKTGekD/77DPo9XoEBgaKnM7yVFZWYsGCBbh69So%2B%2BugjuLm5iR3JYvXs2RP79%2B83abty5QpiY2OxevVqaDQakZJZpqCgIBw%2BfBjXrl2DSqUCABQUFCA3N5dLk02sY8eO%2BO6770zaCgsLcffuXf5MMQO5XA5/f38cP34cv//9743tR48ehYuLCzw8PBq1f%2BtVq1atalxEaoju3bvjb3/7G86cOYP27dvjwoULWLduHYYPH46JEyeKHc/irFq1CkePHsWCBQvg6uqKn3/%2B2fh66aWXeKFjE2rVqhU6depk8iovL8fhw4cxb9489O7dW%2ByIFqVr16744osvcOTIETg7O%2BPmzZtYuXIlACA2NpbLv01s3759KCkpgY2NDb777jusXLkSjx49wurVq7nk20gPHz5ERkYGcnJy8K9//Qv37t1Dhw4dkJOTAycnJ9jZ2aFz5854//33cefOHSgUCqSnp2PPnj1YtmxZo3%2B2yAShlls4UrO6ceMGYmJicP78ebRu3RrBwcFYtGgRWrduLXY0izN06FDcvn271s/2798PPz8/MyeSlnPnzmHq1Kk4ePAgZ4SaQVFREdatW4fMzExUVlbC19cXy5Ytq/E1Y2ocQRCQmpqK5ORk5OXloU2bNtBoNIiKioJarRY7XouXn5%2BPYcOG1frZ4z%2BnMzMzsWnTJly/fh0dOnRAeHg4Jk2a1OjjsxAiIiIiyeIVdURERCRZLISIiIhIslgIERERkWSxECIiIiLJYiFEREREksVCiIiIiCSLhRARERFJFgshIiIikiwWQkQScujQIajVauPLw8MDAwcORFRUFH788UfRcmVmZiI%2BPr7Wz4YOHYqlS5eaOdGzJSQk4Le//S0MBgOAX%2B%2BOq1arsWvXLpGTNdxXX30Fb29vFBQUiB2FyOxYCBFJUGxsLFJSUrBnzx5MmjQJn3/%2BOd58802UlpaKkiczMxMJCQm1fpaQkICIiAgzJ3q6goIC7Nq1C5GRkRbxpPeAgABoNBps2rRJ7ChEZtfy/w8mogbr3r07vLy84Ofnh7feegszZ85EUVERTp48KXa0Gjw8PNClSxexY5jYv38/7O3tMWLECLGj1EkQBDx69Kje/SdNmoT09HTcuXOnGVMRvXhYCBGR8YGoRUVFJu1qtbrWJasnl6uql9zOnj2LlStXws/PD35%2Bfpg3b94zl1uWLl2KpKQk4/GqX/n5%2BbUe69y5c1Cr1UhPT8eGDRswcOBAeHt7Y86cObh37x4ePHiAd955x5hh2bJl0Ol0JscUBAFJSUkIDQ1Fnz594Ovri8jISNy6deuZY6XX63Hw4EEEBwfXORu0Z88eDB06FN7e3pgwYQKys7Nr9MnIyMCECRPg6ekJb29vhIeH48KFCzXGZujQoTW2jY%2BPr/GwT7VajTVr1uDAgQMYOXIkNBoNDh8%2BDABITk7G6NGj4e3tDW9vb7zxxhs1Zn%2BGDBmCNm3aIDU19ZljQGRJbMQOQETiqy46XnnllUbtJzo6GkFBQXj33Xdx584dbNiwAYsXL8b%2B/fvr3CYiIgJlZWU4ceIEUlJSjO2urq5PPdbmzZvh5%2BeH2NhY3L59G%2BvXr8fChQthY2MDtVqNTZs24fLly9i8eTMUCgWio6ON265YsQKHDx/GlClTsGjRIpSWliIxMRETJ07EkSNH0K5duzqP%2B8033%2BD%2B/fvGJ2I/KSkpCd26dcPy5csBAHFxcZg1axYyMjJgb28PAEhPT8eiRYswcOBAvPvuu9Dr9di5cyemTJmCvXv3ol%2B/fk/9vdfl5MmT%2BO9//4u5c%2BeiXbt2cHZ2xieffILVq1djypQpWLJkCaysrHDz5k3k5OSYbCuXy%2BHt7Y3MzEwsWLDguY5P1BKxECKSIIPBgMrKSpSXlyMrKwvbtm2Dr69vrbMPDTFo0CCTgqO0tBQbNmxAYWEhXFxcat2mS5cuxsLDy8ur3sdSqVSIjY01vs/NzcW%2BffuMJ3wAGDBgALKzs5Genm7MlZ2djdTUVCxduhTh4eHG7fv164fXX38de/bsweLFi%2Bs8bvWsTa9evWr9XKFQYPv27bC2tgbwa0EXFhaG06dPY9SoUTAYDPjrX/8KlUqFDz74wDirFBgYiOHDh2Pjxo34%2BOOP6z0OjysrK0N6ejocHR2NbR9//DEcHBxM/lwCAgJq3d7DwwM7duxAWVkZ2rRp81wZiFoaLo0RSdD48ePRq1cv%2BPj4YMaMGXBwcMDWrVthY9O4fxs9WUhVL9/89NNPjdpvbYYMGWLy3t3dHQAQFBRUo/3%2B/fvG5bFTp05BJpNh9OjRqKysNL7atWuHHj164D//%2Bc9Tj3v37l3IZDIolcpaPw8KCjIWQQDQo0cPAMDt27cBADdu3MDdu3cRGhpqsrSmUCgwYsQIXLx4EQ8fPqzHCNTk7%2B9vUgQBvy57arVaLFy4ECdPnkRxcXGd2zs7O8NgMODevXvPdXyilogzQkQStH79eri7u0On0%2BHYsWNISUnBwoULsXPnzkbtt23btibv5XI5ADToot36evKEb2tr%2B9T28vJyKBQKFBUVQRAEvPbaa7Xut3Pnzk89bnl5OWxsbEyKncfVNQbl5eUAgJKSEgCodYbM1dUVBoMBWq0WdnZ2T81Rm9r2OWbMGFRVVSEtLQ2RkZEwGAzQaDR4%2B%2B23MWDAAJO%2BrVq1AtA8f15ELyoWQkQS5O7ubrxA2t/fHwaDAWlpafj000/xxhtvGPvJ5XLo9foa21efzFsipVIJmUyGpKQkY5HyuNranty%2BoqLiuZePqmeSCgsLa3x29%2B5dWFlZwcHBwZilIeMvk8lqbR87dizGjh2LsrIyfP3114iPj8fs2bNx4sQJuLm5GftV3z6hrtkuIkvEpTEiwuLFi%2BHo6IgtW7YYbxAIAG5ubvj%2B%2B%2B9N%2Bn711VcoKytr0uM358zRk4KCgiAIAgoKCqDRaGq8nvw21pO6du0KAMjLy3uu43ft2hXt27fH0aNHIQiCsb2srAz//Oc/4eXlZZwN6tSpE4qKikyWqvR6Pb788svnOnabNm0QGBiIOXPmoKKiosYF07du3ULbtm2ferE4kaXhjBARwdHREbNmzcKGDRuQnp6O0NBQAEBoaCji4uIQFxeH/v37IycnBx999JHx209NRaVSAQA%2B%2BOADDB48GFZWVlCr1c%2BcnXkeffv2xYQJE7B8%2BXJ8%2B%2B238PX1hZ2dHQoLC3H%2B/HmoVCq8%2BeabdW5f/W2xixcvGq//aQgrKyssXrwYixYtwuzZszFhwgTo9Xrs2rULWq0Wf/jDH4x9R44ciS1btiAqKgozZsxAeXk5PvzwQ1RVVdX7eNHR0WjdujV8fHzg4uKCwsJC7NixA/b29sZZwWrZ2dno379/nTNLRJaIhRARAQCmTJmCpKQkbN26FcHBwbC2tsb06dPx4MEDHD58GLt370afPn0QFxfX5Hd6Dg4ORlZWFpKTk5GYmAhBEJCRkYFOnTo16XGqrVmzBp6enkhJScGBAwdgMBjg6uoKHx8f9OnT56nb/uY3v0G/fv2M9wF6HiEhIbCzs8OOHTsQFRUFa2treHp6Yv/%2B/fDx8TH269y5MxITE7F582ZERkbCxcUF4eHhKC4urvNO3E/q168fDh06hOPHj6O0tBRKpRJ9%2B/bF%2BvXr4eTkZOyXl5eHa9euYf78%2Bc/1eyJqqWTC43OzRET0TCdOnEBUVBROnTqF9u3bix2nSbz33ns4cuQIPvvss0Z/e5CoJeE1QkREDTRixAhoNBps375d7ChNQqvVIjk5GVFRUSyCSHJYCBERNZBMJsOf//xn49fdW7r8/HzMmjULISEhYkchMjsujREREZFkcUaIiIiIJIuFEBEREUkWCyEiIiKSLBZCREREJFkshIiIiEiyWAgRERGRZLEQIiIiIsliIURERESS9T90w7IUBIk%2B8gAAAABJRU5ErkJggg%3D%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAkIAAAHKCAYAAADvrCQoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeVhTV/4/8HcSCKHRSEDUuo6gRBHqMhasLaCgTgfhW5ex1bpvbQXXfluLrbbW1qVjR6rUpVjUn4i2Mi5THNGpu85Ya6uOte5xQ61UICwGCBDy%2B8MvqSkouZB7EfN%2BPU8f4Z5zTz75tM/4mXPPPUdmsVgsICIiInJC8roOgIiIiKiusBAiIiIip8VCiIiIiJwWCyEiIiJyWiyEiIiIyGmxECIiIiKnxUKIiIiInBYLISIiInJaLISIiIjIabEQInJC58%2Bfx6xZsxAeHo7AwEB07doVAwcOxOrVq5Gbm1vX4T1SQkICdDpdje49ePAgEhISqmwLDw9HXFxcbUITVW3is/feY8eOQafT4dixYzX6HKL6yKWuAyAiaW3evBkffvgh2rZti/Hjx6Ndu3YoKyvDmTNn8NVXX%2BHUqVNYvnx5XYcpioMHDyIlJQVTpkyp1Pb555%2BjQYMGdRCVfR73%2BIjqKxZCRE7k5MmTmDt3Lnr27IkVK1ZAqVRa255//nmMHTsWhw8frsMI646/v39dh/BIj3t8RPUVH40ROZEvvvgCMpkMH330kU0RVEGpVCIiIsL6u06nq/JR0u8ftWzduhU6nQ5Hjx7F7NmzERwcjG7dumHmzJkoLCzE3bt3MW3aNHTv3h0vvPACPvnkE5SWllrvf9gjmZs3b0Kn02Hr1q2P/F47d%2B7EuHHj8MILL%2BCZZ57Bn//8Z3z66acoLCy09omLi0NKSor1e1X8c/PmzUrfKScnBwEBAfjss88qfZZer4dOp8P69eut1%2B7evYv3338foaGhCAgIQHh4OD7//HOUlZU9Mu53330XQUFBKCoqqtQ2atQo9O/f3/p7VY%2B37t27h08%2B%2BQTh4eEICAhASEgI5s%2Bfb/O9H0av12P8%2BPHo3LkzgoOD8f7778NoNFZ7H9GThjNCRE7CbDbju%2B%2B%2BQ6dOnfD000%2BL8hmzZ89Gv379sGTJEpw9exbx8fEwm824evUq%2Bvbti1deeQX/%2Bc9/sHr1ajRp0gRjx451yOdeu3YNoaGhGD16NNzd3XHlyhWsXr0ap0%2BfthYsMTExKCwsxO7du/H1119b723SpEml8Tw9PdGrVy9s374dU6dOhVz%2B2/9n3Lp1K1xdXREdHQ3gfhE0ZMgQyOVyxMbGonXr1jh58iRWrlyJW7duYeHChQ%2BNe9SoUdiyZQt27NiBIUOGWK9fvnwZx44dw/vvv//Qe4uKijBixAjcuXMHb7zxBnQ6HS5duoRly5bh4sWLWLduHWQyWZX3ZmVlYeTIkXBxccEHH3wALy8vpKWl4aOPPnro5xE9qVgIETkJg8GAoqIitGzZUrTP6N27N9555x0A9x%2B1nTp1Cjt27MCsWbMwZswYAEDPnj1x5MgRpKWlOawQiomJsf5ssVjQrVs3%2BPr6YsSIETh//jw6dOiA1q1bo3HjxgCALl26VDvmoEGD8O233%2BLo0aN4/vnnAdwvJr/55huEh4dDq9UCuL94Oy8vD//85z/RvHlzAMBzzz0HlUqFTz75xLoOqyodOnRAUFAQUlJSbAqhDRs2oEGDBhgwYMBD40tOTsaFCxewefNmBAYGWj%2B3adOmmDp1Kg4dOoSwsLAq7123bh1ycnKwfft2dOjQAQAQFhaGcePG4fbt29XmhuhJwkdjROQwvXr1svnd19cXACr9hezr64tbt2457HMzMjLwv//7v3j%2B%2BefRsWNHdOrUCSNGjAAAXLlypUZjhoaGwtvb2%2Bax3JEjR/Drr79i8ODB1msHDhxAcHAwmjRpgrKyMus/oaGhAIDvv//%2BkZ8zatQonDt3Dj/%2B%2BCOA%2B4%2B7/vGPf2DgwIFQq9UPvW///v1o3749OnbsaPO5L7zwAmQy2SM/99ixY2jfvr21CKoQFRX1yFiJnkScESJyElqtFu7u7tY1MWJo1KiRze%2Burq4PvV5SUuKQzzQajXj11Vfh5uaG6dOn4w9/%2BANUKhXu3LmDyZMno7i4uEbjuri44H/%2B53%2BwYcMG5OfnQ6PRYOvWrfD29sYLL7xg7ZednY39%2B/ejU6dOVY5jMBge%2BTkRERFo0aIFNm7ciD/%2B8Y/YunUrioqK8Oqrrz7yvuzsbFy/fr1Gn5ubm1vlzGDFjBmRM2EhROQkFAoFevTogcOHD%2BPOnTto1qxZtfcolcoqC5bq/nIXys3NDQAqfZY9n/Pdd9/h119/RXJyMoKCgqzXCwoKah3X4MGDkZSUhH/%2B85%2BIjIzEvn37MHr0aCgUCmsfrVYLnU6H6dOnVzlGVWuQHiSXyzF8%2BHDEx8fjnXfewcaNG/Hcc8/Bx8fnkfdptVq4ublhwYIFD21/GA8PD2RlZVW6XtU1oicdH40ROZHXX38dFosFs2fPrrLAKS0txb59%2B6y/t2jRAhcuXLDpc/ToUbveShKiRYsWAFDpsx6M5WEqFgT//i24r776qlLfij72zhL5%2Bvqic%2BfO2Lp1K3bs2IGSkhIMGjTIpk%2BvXr1w8eJFtG7dGoGBgZX%2Badq0abWfM2TIELi6uuKtt97C1atXMXz48Grv6dWrFzIyMuDh4VHl5z5qLVhwcDAuXbqE8%2BfP21zfsWNHtZ9L9KThjBCRE%2BnatSvmzp2LDz/8EIMHD8bQoUPRvn17lJWV4ezZs9i8eTPat2%2BP8PBwAMBLL72EpUuXYunSpQgKCsLly5exYcMGNGzY0KFxeXt7o2fPnkhMTESjRo3QvHlzHD16FN9%2B%2B61d36lRo0b44IMPMHnyZLi4uCAtLa1SUQUAfn5%2BAIDVq1cjNDQUcrkcOp2uyq0EKgwePBjvv/8%2Bfv31V3Tt2rXSTM3UqVPxn//8B0OHDsXIkSPRtm1blJSU4ObNmzh06BA%2B/PDDamffNBoNXnrpJWzatAktWrSw5v9RRo8ejX/9618YMWIExowZA51Oh/Lycvzyyy84cuQIxo0bh86dOz/03i1btuC1117D9OnTrW%2BN1XQ9FVF9xkKIyMm8/PLLeOaZZ7Bu3Tp8%2BeWXuHv3LlxdXfGHP/wBUVFR1kXGADB%2B/Hjcu3cP27Ztw5o1a/DMM89g6dKlNm9pOcpf//pXfPTRR/j0009hNpvRu3dv/O1vf7NZmFwVrVaLL774Ap988gnefvttuLu7IyIiAvHx8Rg4cKBN36ioKJw4cQIbN27E8uXLYbFYsHfv3kfOnvTv3x8LFiywrjn6vSZNmuDvf/87VqxYgaSkJGRmZkKtVqNFixYICQmBRqOx6/tHRkZi06ZNGDp0qM3r%2Bg/z1FNPISUlBYmJifj6669x8%2BZNqFQqPP300%2BjZs6d1lq0q3t7e2LBhA%2BbPn4%2B5c%2BfC3d0dffr0wZw5c0T5d0v0OJNZLBZLXQdBROTsFi1ahE2bNuHAgQOPXN9DRI7FGSEiojp06tQpXLt2DRs3bsQrr7zCIohIYpwRIiKqQzqdDu7u7ggNDcXChQsfuXcQETkeCyEiIiJyWnx9noiIiJwWCyEiIiJyWiyEiIiIyGmxECIiIiKnxdfn7WCxWFBeLs6acrlcJtrYZIu5lhbzLS3mWzrMtbRqmm%2B5XGY9gudRWAjZobzcgpwco8PHdXGRQ6tVIz%2B/EGVl5Q4fn37DXEuL%2BZYW8y0d5lpatcm3p6caCkX1hRAfjREREZHTYiFERERETouFEBERETktFkJERETktFgIERERkdNiIUREREROi4UQEREROS0WQkREROS0WAgRERGR02IhRERERE6LhRARERE5LRZCRERE5LRYCBEREVGdMJQYccqQAUOJ4w82txdPnyciIiLJGUqMWHZhLwylRmhd1Ziqi4BWqZY8Ds4IERERkeSuG3NgKDVCrXCDodSI68acOomDhRARERFJro3aE1pXNYxmE7SuarRRe9ZJHHw0RkRERJLTKu8/DrtuzLlfFNXBYzGAhRARERHVEa1SXWcFUAU%2BGiMiIiKnxUKIiIiInBYLISIiInJaLISIiIjIabEQIiIiIqfFQoiIiIicFgshIiIicloshIiIiMhpsRAiIiIip8VCiIiIiJwWCyEiIiJyWiyEiIiIyGnVeSF0%2BPBhjBgxAj169EBAQAAiIiKwcOFCFBQUWPvExcVBp9NV%2BufQoUOVxktKSkJ4eDgCAwMxePBgHDt2TMqvQ0RERPVInZ8%2Bn5eXh65du2L06NHQaDS4dOkSEhIScOnSJaxZs8bar1WrVvj0009t7vX19bX5PSkpCfHx8ZgxYwb8/f2RmpqKiRMnIjU1FTqdTpLvQ0RERPWH4ELo/PnzKCgowLPPPgsAMBqNWLx4Mc6ePYvnn38eU6dOhUwms3u8qKgoREVFWX8PDg6GUqnEnDlzkJmZiaZNmwIAVCoVunTp8tBxSkpKsHLlSowaNQrjx48HAAQFBSE6OhqrVq1CfHy80K9KRERETzjBj8YWLVqE/fv3W3%2BPj49HamoqSktLkZiYiA0bNtQ6KA8PDwBAWVmZ3fecOHECBQUFNkWVQqFAZGQkDh48CIvFUuu4iIiI6MkiuBC6dOkSunXrBgCwWCxIS0vDlClTsG3bNkyYMAFbtmypUSBmsxkmkwk///wzli9fjt69e6NFixbW9hs3bqB79%2B4ICAjAoEGDsGfPHpv79Xo9AMDHx8fmuq%2BvL4xGIzIzM2sUFxEREdWcocSIU4YMGEqMdR1KlQQ/GsvPz7fO2Jw/fx75%2Bfn485//DAB47rnnajwj1Lt3b2uxEhISgiVLlljbOnbsiMDAQLRr1w4FBQXYtGkTYmNjsXTpUrz44ovWuJRKJVQqlc24jRo1AgDk5uaiWbNmNYoNAFxcHL%2BuXKGQ2/xJ4mGupcV8S4v5lg5zLUyOyYiEi3thKCmEVvkUpnfsC083td33S5FvwYWQh4cH7ty5AwA4duwYvLy80KZNGwBAaWlpjR9BJSYmorCwEJcvX8aKFSvwxhtvYO3atVAoFBg9erRN3/DwcAwdOhTLli2zFkIAqlybVBGPkHVLvyeXy6DV2v8vTiiNxl20sckWcy0t5ltazLd0mGv7XMr8FbllRdC4qZBbWoRsmRG%2B2iaCxxEz34ILoe7duyMhIQEGgwHr1q1Dr169rG3Xr1/H008/XaNAOnToAADo1q0b/P39MXjwYHz77bc2hU4FuVyOfv36YfHixSguLoZKpYJGo4HJZILJZIKbm5u1b35%2BPoDfZoZqorzcgvz8whrf/zAKhRwajTvy84tgNpc7fHz6DXMtLeZbWsy3dJhrYbwsani4uMNguj8j5GVRw2Cw/xFZbfKt0bjbNZMkuBB68803MXHiRMyfPx%2BtW7dGbGystW3Xrl3o3Lmz0CEr6dixIxQKBW7cuPHQPr%2Bfeap4lV6v18Pf3996Xa/XQ61WW98%2Bq6myMvH%2Bgzeby0Udn37DXEuL%2BZYW8y0d5to%2BGoU7pvhF4LoxB23UntAo3GuUNzHzLbgQatWqFXbt2oXc3FzrWqEKc%2BbMgbe3d62DOnnyJMxmM1q2bFlle3l5OXbv3o327dtb1wR169YNDRs2xM6dO62FkNlsRnp6OsLCwmr1aIyIiIhqRqtUQ6sUb3lJbdV4Q8XfF0EAarRp4eTJkxEQEACdTgeVSoXz58/jyy%2B/hE6nQ58%2BfXDr1i3ExcUhKioKrVu3Rl5eHjZt2oQzZ84gISHBOo5SqcSkSZMQHx8PT09P64aKGRkZNguviYiIiCrYVQht375d0KADBgywu%2B8zzzyDnTt3IjExERaLBS1atMDLL7%2BM8ePHQ6lUQq1Wo0GDBli%2BfDlycnLg6uqKgIAArF69GiEhITZjjRs3DhaLBcnJycjKyoKfnx8SExO5qzQRERFVSWax4zWvioXM1pv%2B7zHTg7c%2B%2BOjp3LlzjorvsWA2lyMnx/H7H7i4yKHV3l84xmfN4mKupcV8S4v5lg5zLa3a5NvTU%2B24xdJ79%2B61/pyVlYUZM2bghRdeQFRUFBo3boysrCykpaXh3//%2BN4%2ByICIionrDrkLowR2e//a3v6FPnz549913rdd8fHwQFBSEBQsWYO3atfjss88cHykRERGRgwneqvHQoUM2ewc9KCwsDEeOHKltTERERESSEFwIlZeX49q1a1W2Xbt2jYebEhERUb0huBAKCQnBZ599hgMHDthc379/P5YuXYoXXnjBUbERERERiUrwPkLvvfcexowZg0mTJkGtVsPLywvZ2dkwGo1o06YN3nvvPTHiJCIiInI4wYVQkyZNsG3bNmzduhXff/89cnNz4e/vj%2BDgYAwYMKDS6e9EREREj6sa7Szt5uaGYcOGYdiwYY6Oh4iIiEgygtcIERERET0pajQjdPz4cSQnJ0Ov16O4uNimTSaTYc%2BePQ4JjoiIiEhMgmeEfvjhB4wZMwYFBQXQ6/Xw8fFB06ZN8csvv8DFxQXPPvusGHESEREROZzgQighIQGDBg3Cl19%2BCQCYPn06Nm7ciK1bt8JoNKJv374OD5KIiIhIDIILoUuXLqFPnz7WQ1bNZjOA%2BwezxsTEYPny5Y6NkIiIiEgkgguhoqIiqNVqyOVyKJVKGAwGa5uPjw/0er1DAyQiIiISi%2BBCqHnz5sjKygIAtGvXDgcPHrS2HT9%2BHB4eHo6LjoiIiEhEgt8aCwoKwvfff48XX3wRQ4YMwYcffgi9Xg%2BlUol///vfGDt2rBhxEhERETmc4EJoypQpyMvLAwAMGzYMxcXFSEtLAwBMmjQJb7zxhmMjJCIiIhKJ4ELI09MTnp6e1t/Hjh3LWSAiIiKql2q1s/SVK1fw448/orCw0FHxEBEREUmmRoXQ9u3bERoaiv79%2B2PEiBG4evUqAGDatGnYvHmzQwMkIiIiEovgQig9PR1xcXHw9/fHnDlzYLFYrG2dOnVCenq6QwMkIiIiEovgQigxMRGDBg3CqlWr8Morr9i0%2Bfj44PLlyw4LjoiIiEhMggshvV6P/v37V9nm4eGB3NzcWgdFREREJAXBhZC7uzsKCgqqbMvMzESjRo1qHRQRERGRFAQXQl27dkVKSorN2qAKW7duRVBQkEMCIyIiIhKb4EIoNjYWp06dwl/%2B8hckJydDJpPhX//6F9544w388MMP3FCRiIiI6g3BhVBgYCBWr16NwsJCLFq0CBaLBV988QWuXr2KxMRE%2BPn5iREnERERkcMJ3lkaAHr06IH09HTcuHEDWVlZ0Gq1aNu2raNjIyIiIhKVoBmh4uJihISEYN%2B%2BfQCA1q1bo1u3biyCiIiIqF4SVAipVCqYTCa4u7uLFQ8RERGRZASvEerRoweOHj0qRixEREREkhK8RuiNN97AlClToFQq0a9fP3h7e0Mmk9n08fDwcFiARERERGIRXAgNGjQIAPD5559j%2BfLlVfY5d%2B5c7aIiIiIikoDgQig2NrbSDBARERFRfSS4EJoyZYoYcRARERFJTvBiaSIiIqInBQshIiIiclp1XggdPnwYI0aMQI8ePRAQEICIiAgsXLiw0gn3Bw8exIABAxAYGIi%2BffsiJSWlyvGSkpIQHh6OwMBADB48GMeOHZPiaxAREVE9VOeFUF5eHrp27YqPPvoISUlJGDt2LLZv345p06ZZ%2B5w8eRIxMTHw9/fH6tWrMXDgQHz88cdITU21GSspKQnx8fEYPnw4EhMT0aZNG0ycOBEXLlyQ%2BmsRERFRPSCzWCyW6jrdu3cParVasrfFNm/ejDlz5uDQoUNo2rQpJkyYgLy8PJvCZ86cOdi/fz8OHToEuVyOkpIS9OzZEy%2B//DJmzpwJADCbzYiOjoZOp0N8fHyN4zGby5GTY6z19/o9Fxc5tFo1DAYjysrKHT4%2B/Ya5lhbzLS3mWzrMtbRqk29PTzUUiurne%2ByaEXr22Wfx008/AQBmzZqFjIwMQcEIVbEhY1lZGUpKSvDdd9%2Bhf//%2BNn2io6Nx9%2B5dnD17FgBw4sQJFBQUICoqytpHoVAgMjISBw8ehB31HhERETkZuwohhUIBs9kMANi2bRsMBoPDAzGbzTCZTPj555%2BxfPly9O7dGy1atMCNGzdQWloKHx8fm/7t2rUDAOj1eps/f9/P19cXRqMRmZmZDo%2BZiIiI6je79hFq3rw5tm3bBheX%2B92vXLkChULx0P6dOnUSHEjv3r2txUpISAiWLFkC4P4aIgDQaDQ2/St%2Br2jPz8%2BHUqmESqWy6deoUSMAQG5uLpo1ayY4rgouLo5fTlUxZWfP1B3VDnMtLeZbWsy3dJhraUmRb7sKoZEjR2L%2B/PlITU2FTCbDrFmzquxnsVggk8lqdMRGYmIiCgsLcfnyZaxYsQJvvPEG1q5da21/2PqkB69X1afikVht1jfJ5TJoteoa318djcZdtLHJFnMtLeZbWsy3dJhraYmZb7sLoWeffRYXL17EzJkzMWnSJLRu3dqhgXTo0AEA0K1bN/j7%2B2Pw4MH49ttvrY/AKmZ%2BKuTn5wP4bWZIo9HAZDLBZDLBzc2tUr%2BKmaGaKC%2B3ID%2B/sMb3P4xCIYdG4478/CKYzVx0JybmWlrMt7SYb%2Bkw19KqTb41Gne7ZpLsPmKjQ4cO6NChA1JTUxEVFQVfX19BAQnRsWNHKBQK3LhxA%2BHh4XB1dcWVK1cQGhpq7XP58mUAsMZR8ader4e/v7%2B1n16vh1qtRtOmTWsVk5hvB5jN5Xz7QCLMtbSYb2kx39JhrqUlZr4FP3RLTk4WtQgC7u8bZDab0bJlSyiVSvTo0QPp6ek2fXbs2AFvb29r0dOtWzc0bNgQO3futPYxm81IT09HWFgYD4olIiKiSgQfugoAN27cQEJCAo4ePYrc3FxotVr07NkTsbGxgh%2BZTZ48GQEBAdDpdFCpVDh//jy%2B/PJL6HQ69OnTB8D9E%2B9HjBiB2bNnIzo6GidOnEBqairmzZsHufx%2BLadUKjFp0iTEx8fD09MT/v7%2BSE1NRUZGhnXhNREREdGDBBdCer0eQ4cOhclkQo8ePdCkSRP8%2BuuvSE9Px4EDB7Bx40ZBM0bPPPMMdu7cicTERFgsFrRo0QIvv/wyxo8fD6VSCQDo2rUrVqxYgSVLlmD79u1o1qwZZs%2BejSFDhtiMNW7cOFgsFiQnJyMrKwt%2Bfn5ITEyETqcT%2BjWJiIjICdi1s/SDJk%2BejAsXLiA5OdnmdfQ7d%2B5g9OjR8PPzQ0JCgsMDrUvcWbr%2BY66lxXxLi/mWDnMtrcdmZ%2BkHHT9%2BHFOmTKm0J0%2BzZs0QExPDQ06JiIio3hBcCBUVFVmPwPg9rVaL4uLiWgdFREREJAXBhVDbtm2RlpZWZds///nPSkdcEBERET2uBC%2BWHjlyJGbPno2CggIMHDgQ3t7euHv3Lr755hvs27cPH3/8sRhxEhERETmc4ELoL3/5C7Kzs7Fy5UocPHgQwP1jLFQqFWbMmIHBgwc7PEgiIiIiMdRoH6HXX38dr776Kk6ePInc3Fx4eHiga9euaNiwoaPjIyIiqsRQYsR1Yw7aqD2hVartbqtte47JiEuZv8LLooZGUfn8q9qMLWbcdRnX465GhRAANGzY0ObICyIiIikYSoxYdmEvDKVGaF3VmKqLsP4F/Ki22rYbSoxIuLgXuWVF8HBxxxQ/x44tZtx1FVd9IN659kRERCK4bsyBodQItcINhtL7sxH2tNW2/boxB4aSQjR0dYOhpNDxY4sZdx3FVR%2BwECIionqljdoTWlc1jGYTtK5qtFF72tVW2/b7j36eQkGpCVrlU44fW8y46yiu%2BkDwztLOiDtL13/MtbSYb2k5Y77raq1NvrkI2TIj1wgJaK8NKXaWZiFkBxZC9R9zLS3mW1rMt3SYa2k9dkdsmEwmLFmyBGfOnBEUDBEREdHjSFAh5ObmhnXr1qGoqEiseIiIiIgkI3ixtK%2BvL27evClGLERERESSElwIxcTEYOXKlbhx44YY8RARERFJRvCGilu2bEFRUREiIyPh5%2BeHJk2a2LTLZDKsXLnSYQESERERiUVwIXTx4kW4urqiSZMmyM3NRW5urk27TCZzWHBEREREYhJcCO3bt0%2BMOIiIiIgkx52liYiIyGnVqBAqKSnBV199hTfffBNjx47FtWvXAAB79uxBRkaGI%2BMjIiIiEo3gR2M5OTkYPXo0Ll26hMaNGyM7OxtG4/1dl/fu3YsjR45g7ty5jo6TiIiIyOEEzwgtXrwY%2Bfn52LJlCw4cOIAHT%2BgIDg7G8ePHHRogERERkVgEF0IHDhzA1KlT0alTp0pviDVt2hR37txxWHBEREREYhJcCN27dw/Nmzevsq2srAxms7nWQRERERFJQXAh1LJlS5w6darKttOnT6Nt27a1DoqIiIhICoILoejoaKxevRp79uyxrg%2BSyWQ4ffo01q9fj5deesnhQRIRERGJQfBbYxMnTsSJEycwefJkNGrUCAAwfvx45ObmIiQkBKNGjXJ4kERERERiEFwIubq6YvXq1di5cycOHDiA7OxsaLVa9OrVC/3794dczj0aiYiIqH4QXAgB9x%2BF9e/fH/3793d0PERERESSqVEhBAB37tzB8ePHkZubC61Wi%2B7du6NZs2aOjI2IiIhIVIILofLycixYsACbNm2yeVVeoVBg6NCheO%2B99/h4jIiIiOoFwYVQQkICNmzYgJdffhlRUVFo3LgxsrKykJaWhpSUFGg0GkybNk2MWImIiIgcSnAhtGXLFowaNQrvvvuu9ZqPjw%2BCgoKgUqmwZcsWFkJERFQrhhIjrhtz0EbtCa1SXdfh0BNM8DOsvLw89OrVq8q2Xr16IS8vr7YxERGREzOUGLHswl6su3oEyy7shaHEWNch0RNMcCHUoUMHXL16tcq2a9euoX379rUOioiInNd1Yw4MpUaoFW4wlN6fGSISi%2BBC6O2330ZiYiIOHDhgc33fvn1ITExEXFyco2IjIiIn1EbtCa2rGkazCVpXNdqoPes6JHqC2bVGKDo62uZ3k8mESZMmQa1Ww8vLC9nZ2TAajWjUqBHmzZuHb775RpRgiYjoyadVqjFVF8E1QiQJuwohDw%2BPR/7epEmTGgeQnp6OtLQ0/EzUpGwAACAASURBVPzzz8jLy0OrVq0wbNgwDB061PoaflxcHLZt21bp3tWrVyM0NNTmWlJSElJSUnD37l34%2Bflh5syZCA4OrnF8REQkPa1SzQKIJGFXIZScnCxaAGvXrkXz5s0xc%2BZMeHl54dixY5g/fz4yMjLwzjvvWPu1atUKn376qc29vr6%2BNr8nJSUhPj4eM2bMgL%2B/P1JTUzFx4kSkpqZCp9OJ9h2IiIiofqrxztKOsmrVKnh6/vb8t0ePHigsLERKSgpmzJgBpVIJAFCpVOjSpctDxykpKcHKlSsxatQojB8/HgAQFBSE6OhorFq1CvHx8eJ%2BESIiIqp3alwIXbp0Cbdv34bJZKrU1q9fP7vHebAIqtCxY0eYTCbk5uba/djtxIkTKCgoQFRUlPWaQqFAZGQk1qxZA4vFAplMZndcRERE9OQTXAjduHEDU6dOxYULFwAAFovFpl0mk%2BHcuXO1CurHH3%2BEh4cHvLy8bD63e/fuKC4uhp%2BfH2JiYtCnTx9ru16vB3B/c8cH%2Bfr6wmg0IjMzk2ehERERkQ3BhdCcOXOQlZWFWbNmwdfXF66urg4N6KeffsLWrVsRGxsLhUIB4P4MUWBgINq1a4eCggJs2rQJsbGxWLp0KV588UUAQH5%2BPpRKJVQqlc14jRo1AgDk5ubWqhBycXH8%2BWkKhdzmTxIPcy0t5ltazLd0mGtpSZFvwYXQ6dOn8fHHH6N///4OD%2Bbu3buYOnUqAgMDMXHiROv10aNH2/QLDw/H0KFDsWzZMmshBKDKR18VM1a1eSwml8ug1Yr39oJG4y7a2GSLuZYW8y0t5ls6zLW0xMy34ELI09MTDRo0cHggBQUFmDhxIlQqFVauXPnImSa5XI5%2B/fph8eLFKC4uhkqlgkajgclkgslkgpubm7Vvfn4%2BgN9mhmqivNyC/PzCGt//MAqFHBqNO/Lzi2A2lzt8fPoNcy0t5ltazLd0mGtp1SbfGo27XTNJgguhYcOGITU1FWFhYUJvfaiKDRqzsrLw9ddfQ6vVVnvP79cmVbxKr9fr4e/vb72u1%2BuhVqvRtGnTWsVYVibef/Bmc7mo49NvmGtpMd/SYr6lw1xLS8x8Cy6EJkyYgEWLFmHQoEEICQmptLmiTCbDmDFj7B6vrKwM06ZNw/nz57Fhwwa0aNGi2nvKy8uxe/dutG/f3romqFu3bmjYsCF27txpLYTMZjPS09MRFhbGN8aIiIioEsGF0H//%2B19s27YNeXl5OHv2bKV2oYXQvHnzsH//frz99tsoLi7GqVOnrG3t2rVDXl4e4uLiEBUVhdatWyMvLw%2BbNm3CmTNnkJCQYO2rVCoxadIkxMfHw9PT07qhYkZGBpYsWSL0axIREZETEFwIzZs3D1qtFgsWLHDIW2NHjhwBACxevLhS2/r166HT6dCgQQMsX74cOTk5cHV1RUBAAFavXo2QkBCb/uPGjYPFYkFycjKysrLg5%2BeHxMRE7ipNREREVZJZfr/YphqdO3fGkiVLEBERIVZMjx2zuRw5OUaHj%2BviIodWq4bBYOSzZpEx19JivqXFfEuHuZZWbfLt6am2a7G04Bfzn3766UoLlYmIiIjqI8GF0GuvvYY1a9ZUebQGERERUX0ieI3Q2bNnkZmZiT59%2BiA4OLjSW2MAMHv2bIcER0RERCQmwYXQhg0brD/v2LGjUrtMJmMhRERERPWC4ELo/PnzYsRBREREJDmeGkdEREROi4UQEREROS3Bj8Y6dOhQ7XEV586dq3FARERERFIRXAjFxsZWKoRycnLw73//G2azGQMGDHBYcERERERiElwITZkypcrrJSUlGD9%2BPDw9PWsdFBEREZEUHLZGSKlUYuTIkVi3bp2jhiQiIiISlUMXS7u5ueHu3buOHJKIiIhINA4rhHJycpCUlIS2bds6akgiIiIiUQleIxQeHl5psXRJSQlycnIgk8mwcuVKhwVHREREJCbBhVBQUFClQkipVKJFixaIjIxEy5YtHRYcERERkZgEF0KLFi0SIw4iIiIiyXFnaSIAhhIjThkyYCgxCm6vzb1ijl2XceWYjPg%2B8ypyTPUr7voYF/DofD%2BucVd3L5FUBM8IAcDNmzeRnp6O27dvo7i42KZNJpNhwYIFDgmOSAqGEiOWXdgLQ6kRWlc1puoioFWq7Wqvzb1ijl3XcSVc3IvcsiJ4uLhjil/9ibu%2BxVVdvh/XuKu7l0hKgguhAwcOYPLkySgvL4enpyeUSqVNe3XHbxA9bq4bc2AoNUKtcIOh1Ijrxhyb/1F%2BVHtt7hVz7DqPq6QQGjcVDKbC%2BhV3PYurunw/rnFXdy%2BRlAQXQvHx8ejWrRvi4%2BPh5eUlRkxEDpdjMuJS5q/wsqihUbjbtLVRe0Lrqrb%2Bv9M2ak%2B722tzr5hj13lcyqeQW1oErfKp%2BhV3PYurunw/rnFXdy%2BRlGQWi8Ui5IYuXbogISEBISEhYsX02DGby5GT4/jn2C4ucmi1ahgMRpSVlTt8fLqvukc1FX2uG3P%2B7y%2BVyv/P9FHttblXzLHrMq58cxGyZcYqC8/HOe76GBfw6Hw/rnFXd%2B/jiv%2B7La3a5NvTUw2Fovql0IILocjISEybNg1/%2BtOfBAVUn7EQqt9OGTLw/67%2BGxo3FfJNxRjd9nl00baq67CeaPxvW1rMt3SYa2lJUQgJfmvs9ddfx5o1a1BUVCT0VqI6UfHooKDUVOWjGiIicl6C1wj99NNPyM7ORt%2B%2BfREcHAytVlupz%2BzZsx0SHJEjaJVqTO/Y95GPaoiIyDkJfjTWoUOHRw8ok%2BHcuXO1Cupxw0dj9R9zLS3mW1rMt3SYa2lJ8WhM8IzQ%2BfPnhd5CRERE9FjiztJERETktFgIERERkdNiIUREREROi4UQPTF4iCMREQlVo0NXiR43PMSRiIhqgjNC9ESo6hBHIiKi6rAQoidCxSGORrOJhzgSEZHdavRo7B//%2BAd27NiB27dvo7i42KZNJpNhz549DgmOyF5a5f3HYfXxEEciIqo7gguhxMRELFmyBO3atUOHDh2gVCrFiItIMK1SzQKIiIgEEVwIbd68GcOHD8ecOXPEiIeIiIhIMoLXCGVlZaFPnz5ixEJEREQkKcGFUKdOnZCRkSFGLERERESSElwIxcXFYc2aNThz5oxDAkhPT0dMTAzCwsLQpUsXREdHY%2BPGjSgvtz1l9uDBgxgwYAACAwPRt29fpKSkVDleUlISwsPDERgYiMGDB%2BPYsWMOiZOIiIiePILXCL377rvIzc3FkCFD0LhxY3h4eNi0y2QyfPPNN3aPt3btWjRv3hwzZ86El5cXjh07hvnz5yMjIwPvvPMOAODkyZOIiYnBSy%2B9hLi4OJw4cQIff/wxlEolhgwZYh0rKSkJ8fHxmDFjBvz9/ZGamoqJEyciNTUVOp1O6FclIiKiJ5zgQsjDw6NS8VMbq1atgqfnb3u%2B9OjRA4WFhUhJScGMGTOgVCqxfPly%2BPv7Y8GCBdY%2Bv/zyC5YuXYrBgwdDLpejpKQEK1euxKhRozB%2B/HgAQFBQEKKjo7Fq1SrEx8c7LGaqG4YSI1%2BPJyIihxJcCCUnJzs0gAeLoAodO3aEyWRCbm4uPDw88N133%2BGtt96y6RMdHY3Nmzfj7NmzCAgIwIkTJ1BQUICoqChrH4VCgcjISKxZswYWiwUymcyhsZN0eIQGERGJ4bE8a%2BzHH3%2BEh4cHvLy8cPXqVZSWlsLHx8emT7t27QAAer0eAQEB0Ov1AFCpn6%2BvL4xGIzIzM9GsWbMax%2BTi4vhNuBUKuc2f9HA38w3ILS2EWqFCbmkhbhYb4P1UQ7vvZ66lxXxLi/mWDnMtLSnybVchdPv2bXh7e8PV1RW3b9%2Butn/z5s1rHNBPP/2ErVu3IjY2FgqFAnl5eQAAjUZj06/i94r2/Px8KJVKqFQqm36NGjUCAOTm5ta4EJLLZdBqxZt90GjcRRv7SdFZ1QqNbzVAtsmIxu4N0Ll5K2jdhf87Ya6lxXxLi/mWDnMtLTHzbVchFBERga%2B//hrPPPMMwsPDq33EdO7cuRoFc/fuXUydOhWBgYGYOHGiTdvDPvPB61X1sVgsj7zfHuXlFuTnF9b4/odRKOTQaNyRn18Es7m8%2BhucmBwyTPGLwHVjNtqovSAvlsFQbLT7fuZaWsy3tJhv6TDX0qpNvjUad7tmkuwqhBYsWIBWrVpZfxZjrU1BQQEmTpwIlUqFlStXwtXVFcBvMzoVMz8V8vPzAfw2M6TRaGAymWAymeDm5lapX8U4NVVWJt5/8GZzuajjPyk0CncEaloCqPm/D%2BZaWsy3tJhv6TDX0hIz33YVQgMHDrT%2BPGjQIIcHYTKZMGnSJGRlZeHrr7%2BGVqu1trVu3Rqurq64cuUKQkNDrdcvX74M4P4aoAf/1Ov18Pf3t/bT6/VQq9Vo2rSpw%2BMmIiKi%2Bq3OV3uVlZVh2rRpOH/%2BPL788ku0aNHCpl2pVKJHjx5IT0%2B3ub5jxw54e3tbi55u3bqhYcOG2Llzp7WP2WxGeno6wsLC%2BMYYERERVVLnb43NmzcP%2B/fvx9tvv43i4mKcOnXK2tauXTs0aNAAsbGxGDFiBGbPno3o6GicOHECqampmDdvHuTy%2B7WcUqnEpEmTEB8fD09PT%2BuGihkZGViyZEldfT0iIiJ6jNV5IXTkyBEAwOLFiyu1rV%2B/HsHBwejatStWrFiBJUuWYPv27WjWrBlmz55ts6s0AIwbNw4WiwXJycnIysqCn58fEhMTuas0ERERVUlmqXitih7KbC5HTo79byjZy8VFDq1WDYPByEV3ImOupcV8S4v5lg5zLa3a5NvTU23XW2N1vkaIiIiIqK6wEKLHhqHEiFOGDBhKHD/7RkREVBW71ggdP35c0KDPPvtsjYIh58WzxIiIqC7YVQiNHDnS%2Bvq5PYeX1nRnaXJe1405MJQaoVa4wVB6/5R5FkJERCQ2uwqh9evXW382Go346KOP0LZtW0RFRaFx48bIyspCWloarl69ivfff1%2B0YOnJ1UbtCa2r2joj1EbtWdchERGRE7CrEAoKCrL%2BPHfuXHTv3h1//etfbfoMHDgQb7/9Nvbv34/evXs7Nkp64mmV9x%2BHXTfm3C%2BKOBtEREQSELxYeteuXYiOjq6yLTo6Gv/6179qHRQ5J61SjS7aViyCiIhIMoILoeLiYmRnZ1fZlp2djeLi4loHRURERCQFwYXQH//4R3z22We4ePGizfULFy7gs88%2Bwx//%2BEeHBUdEREQkJsFHbLz33nsYMWIEBgwYgHbt2sHb2xt3797F5cuX4eHhgffee0%2BMOImIiIgcTvCMkI%2BPD9LS0jBu3DioVCpkZGRApVJh/Pjx%2BOabb%2BDj4yNGnEREREQOV6NDV728vPDWW285OhYiIiIiSfGIDSIiInJads0IzZo1y%2B4BZTIZFixYUOOA6MlmKDFyryAiInps2FUIHTt2zO4Bqzt%2Bg5wXzxMjIqLHjV2F0L59%2B8SOg5wAzxMjIqLHDdcIkWQqzhMzmk08T4yIiB4LNXprDAAOHz6M77//HgaDATExMWjevDlOnz6Nli1bwtOTf8FRZTxPjIiIHjeCC6GioiLExMTg6NGj1vVAw4YNQ/PmzbFmzRo8/fTTeOeddxweKD0ZtEo1CyAiInpsCH40Fh8fjzNnziAhIQE//PADLBaLte3555/Hf/7zH4cGSERERCQWwTNCu3btwrRp09C3b1%2BYzWabtubNm%2BOXX35xWHBEREREYhI8I5STk4N27dpVPZhcztPniYiIqN4QXAg1bdq00snzFS5cuICWLVvWOigiIiIiKQguhPr164dVq1bh7Nmz1msymQy3bt3CunXr8OKLLzo0QKpfDCVGnDJkwFBirOtQiIiIqiV4jVBsbCyOHj2KIUOGoH379pDJZJg1axZu3LiBtm3b4rXXXhMjTqoHuHM0ERHVN4JnhBo0aICvvvoK06ZNw1NPPYXWrVvD3d0dr7/%2BOlJSUqBSqcSIk%2BqBqnaOJiIiepzVaENFlUqF1157jbM/ZKNi5%2BiKGSHuHE1ERI%2B7Gu8sTfR73DmaiIjqG7sKoVmzZiEmJgatWrXCrFmzHtlXJpNhwYIFDgmO6h/uHE1ERPWJXYXQsWPHMHr0aOvPj1Jx7AYRERHR486uQmjfvn1V/kxERERUnwl%2Ba4yIiIjoSSG4EIqOjsZXX32FoqIiMeIhIiIikozgQkir1WLu3LkIDQ3FggULcO3aNRHCIiIiIhKf4EJo/fr12LFjB/r374%2B///3viIyMxPjx47F//34x4iMiIiISTY3WCLVr1w5z587FoUOHEBcXh9u3byMmJgYRERFISkpCXl6eo%2BMkIiIicrhaLZZu0KABRo0ahfXr1yMoKAi3bt3C4sWL0atXLyxatIjriIiIiOixVqudpU%2BePImUlBTs3r0bLi4uGDZsGCIjI7F3715s2rQJmZmZiI%2BPf%2BQY169fR1JSEv773//i0qVL8PHxwY4dO2z6xMXFYdu2bZXuXb16NUJDQ22uJSUlISUlBXfv3oWfnx9mzpyJ4ODg2nxNeoChxMido4mI6IkhuBAymUxIS0vDxo0bce7cOTRv3hwzZszAkCFD0LBhQwDAs88%2Biw4dOuDDDz%2BsdrxLly7h4MGD6Ny5M8rLy2GxWKrs16pVK3z66ac213x9fW1%2BT0pKQnx8PGbMmAF/f3%2BkpqZi4sSJSE1NhU6nE/pV6Xd4ujwRET1pBBdCoaGhyM/PR/fu3ZGQkICIiIgqd5Nu27atXY/GwsPD0adPHwD3Z37OnDlTZT%2BVSoUuXbo8dJySkhKsXLkSo0aNwvjx4wEAQUFBiI6OxqpVq6qdmaLqVXW6PAshIiKqzwQXQn369MGoUaOqnWHp3Lkzzp8/X%2B14crlj9nQ8ceIECgoKEBUVZb2mUCgQGRmJNWvWwGKx8PiPWuLp8kRE9KQRXAjNnz9fjDiqdePGDXTv3h3FxcXw8/NDTEyMdSYJAPR6PQDAx8fH5j5fX18YjUZkZmaiWbNmNf58FxfHb8KtUMht/nzcebs0xAz/vrhuzEYbtRc83erPbFB9y3V9x3xLi/mWDnMtLSnyXavF0lLp2LEjAgMD0a5dOxQUFGDTpk2IjY3F0qVL8eKLLwIA8vPzoVQqoVKpbO5t1KgRACA3N7fGhZBcLoNWK95f%2BhqNu2hjO5oWaviiSV2HUWP1KddPAuZbWsy3dJhraYmZ73pRCFWcfF8hPDwcQ4cOxbJly6yFEIAqH31VLL6uzWOx8nIL8vMLa3z/wygUcmg07sjPL4LZXO7w8ek3zLW0mG9pMd/SYa6lVZt8azTuds0k1YtC6Pfkcjn69euHxYsXo7i4GCqVChqNBiaTCSaTCW5ubta%2B%2Bfn5AH6bGaqpsjLx/oM3m8tFHZ9%2Bw1xLi/mWFvMtHeZaWmLmu94%2B5Pz9a/YVr9JXrBWqoNfroVar0bRpU8liIyIiovqhXhZC5eXl2L17N9q3b29dE9StWzc0bNgQO3futPYzm81IT09HWFgY3xgjIiKiSmr8aEyv1%2BP48eMwGAz4y1/%2BAm9vb2RmZqJRo0aVFiw/SlFREQ4ePAgAuHXrFu7du4ddu3YBuL8PUFFREeLi4hAVFYXWrVsjLy8PmzZtwpkzZ5CQkGAdR6lUYtKkSYiPj4enp6d1Q8WMjAwsWbKkpl%2BTiIiInmCCCyGz2Yw5c%2BZg27Zt1r15QkND4e3tjQ8%2B%2BAAdO3bEtGnT7B4vOzu7Uv%2BK39evXw%2BdTocGDRpg%2BfLlyMnJgaurKwICArB69WqEhITY3Ddu3DhYLBYkJycjKysLfn5%2BSExM5K7SREREVCXBhdDKlSuxY8cOzJw5EyEhITYbGIaEhGDbtm2CCqGWLVviwoUL1X6mPWQyGSZMmIAJEybY/flERETkvAQXQtu2bUNMTAzGjh0Ls9ls09ayZUvcvHnTYcFR3eDBqkRE5CwEF0KZmZkPPfPLzc0NRqOx1kFR3eHBqkRE5EwEvzXm5eWFjIyMKtuuXr1aq2MsqO5VdbAqERHRk0pwIRQWFoZVq1YhMzPTek0mk6GgoADJycno3bu3QwMkaVUcrGo0m3iwKhERPfEEPxqbOnUqDh06hMjISAQHB0Mmk2HJkiW4dOkSXFxcEBMTI0acJBGt8v7jMK4RIiIiZyB4Rqhx48b4%2B9//jv79%2B%2BPnn3%2BGQqHA%2BfPnERoaiq%2B%2B%2BgoeHh5ixEkS0irV6KJtxSKIiIieeDXaULFx48aYN2%2Beo2MhIiIikpTgGaENGzYgLy9PjFiIiIiIJCW4EPr4448REhKC6dOn4/Dhw5UOPyUiIiKqLwQ/Gtu5cye2bNmCtLQ07N69G97e3hg4cCAGDhyIP/zhDyKESERERCQOmaWGUzrl5eU4fPgwtm7div3796O0tBRdu3bF4MGDMXjwYEfHWafM5nLk5Dh%2Bo0gXFzm0WjUMBiPKysodPj79hrmWFvMtLeZbOsy1tGqTb09PNRSK6h98CX40Zr1RLkdYWBiWLl2KI0eOYPbs2bh9%2BzbmzJlT0yGJiIiIJFXjQqjCvXv3kJ6ejm%2B%2B%2BQZ37tyBm5ubI%2BIiIiIiEl2NXp8HgKNHj2LLli3Ys2cPiouL0blzZ8ybNw%2BRkZGOjI%2BIiIhINIILoWXLlmH79u345Zdf4OXlheHDh2PQoEHw9fUVIz4iIiIi0QguhBITE9G7d2/MmTMHoaGhUCgUYsRFREREJDrBhdChQ4fg6cmDOImIiKj%2BE7xYmkUQERERPSnsmhGaNWsWYmJi0KpVK8yaNeuRfWUyGRYsWOCQ4EgchhIjT5cnIiKCnYXQsWPHMHr0aOvPjyKTyWofFYnGUGLEsgt7YSg1QuuqxlRdBIshIiJyWnYVQvv27avyZ6p/rhtzYCg1Qq1wg6H0/swQCyEiInJWgtcI3b59G6WlpVW2lZWV4fbt27UOisTTRu0JrasaRrMJWlc12qi55ouIiJyX4EIoIiIC586dq7Lt/PnziIiIqHVQJB6t8v7jsDFtX%2BBjMSIicnqCX59/1Bmt5eXlXCNUD2iVahZAREREcMBZYxVKSkpw6NAhaLVaRw1JREREJCq7ZoQ%2B//xzLF%2B%2BHMD9t8JeeeWVh/YdMmSIYyIjIiIiEpldhVBgYCBeffVVWCwWbNy4EX/605/QuHFjmz5KpRJ%2Bfn6IiooSJVAiIiIiR7OrEAoLC0NYWBgAoKioyLq5IhEREVF9Jnix9MKFC8WIg4iIiEhygguhChcvXoRer4fJZKrUNmDAgFoFRURERCQFwYVQUVERJk2ahO%2B%2B%2Bw4ymcz6Ov2Dr82zECIiIqL6QPDr8ytWrMCtW7ewYcMGWCwWfP7551i7di369u2LNm3aYNu2bWLESURERORwgguhvXv3YuLEiejatSsA4Omnn8Zzzz2HZcuWoVOnTti4caPDgyQiIiISg%2BBC6NatW/Dx8YFCoYBMJkNRUZG1LTo6Gnv37nVogERERERiEVwINWzYEIWFhQAALy8vXL9%2B3dpWVlZmbSMiIiJ63AkuhHQ6Ha5duwYACA4OxhdffIEffvgBp0%2BfxvLly9GhQwdHx0hEREQkCsFvjQ0ePNg6CzR9%2BnS8%2BuqrGDlyJABAo9EgMTHRsRESERERiURwIRQZGWn9uVWrVti9e7f1VfquXbvCw8ND0HjXr19HUlIS/vvf/%2BLSpUvw8fHBjh07KvU7ePAg4uPjodfr0axZM4wZMwbDhw%2Bv1C8pKQkpKSm4e/cu/Pz8MHPmTAQHBwv9mkREROQEan36/FNPPYXw8HD07t1bcBEEAJcuXcLBgwfRpk0b%2BPr6Vtnn5MmTiImJgb%2B/P1avXo2BAwfi448/Rmpqqk2/pKQkxMfHY/jw4UhMTESbNm0wceJEXLhwoUbfjYiIiJ5sMkvFjoh1pLy8HHL5/XosLi4OZ86cqTQjNGHCBOTl5dkUPnPmzMH%2B/ftx6NAhyOVylJSUoGfPnnj55Zcxc%2BZMAIDZbEZ0dDR0Oh3i4%2BNrHKPZXI6cHGON738YFxc5tFo1DAYjysrKHTq2ocSI68YctFF7QqtUO3Ts%2BkjMXFNlzLe0mG/pMNfSqk2%2BPT3VUCiqn%2B%2Bx69FYhw4dbHaOfhSZTIazZ8/a1ReAtQh6mJKSEnz33Xd46623bK5HR0dj8%2BbNOHv2LAICAnDixAkUFBQgKirK2kehUCAyMhJr1qyBxWKx%2BzvUd4YSI5Zd2AtDqRFaVzWm6iJYDBEREVXBrkIoNja2zoqIGzduoLS0FD4%2BPjbX27VrBwDQ6/UICAiAXq8HgEr9fH19YTQakZmZiWbNmtU4DheXWj9FrKSiUrWnYhXiZr4BuaWFUCtUyC0txM1iA7yfaujQz6hvxMo1VY35lhbzLR3mWlpS5NuuQmjKlCmiBVCdvLw8APffSHtQxe8V7fn5%2BVAqlVCpVDb9GjVqBADIzc2tcSEkl8ug1Yo3o6LRuDt0vM6qVmh8qwGyTUY0dm%2BAzs1bQevOGSHA8bmmR2O%2BpcV8S4e5lpaY%2Ba7x6fNSe9iM1IPXq%2BpT1aGwQpWXW5Cf7/iNIhUKOTQad%2BTnF8FsdtyzZjlkmOIXgevGbLRRe0FeLIOh2PFrnOoTsXJNVWO%2BpcV8S4e5llZt8q3RuDtujdCDtm/fXm0fR54%2BXzGjUzHzUyE/Px/AbzNDGo0GJpMJJpMJbm5ulfpVjFNTYi6KM5vLHT6%2BRuGOQE1LAOLGXt%2BIkWt6OOZbWsy3dJhraYmZb8GFUFxcXJXXH5xxcWQh1Lp1a7i6uuLKlSsIDQ21Xr98%2BTIAWF%2B5r/hTr9fD39/f2k%2Bv10OtVqNp06YOi4mIiIieDIILoaoOVTUYDNi7dy927txZq9fUq6JUKtGjRw%2Bkp6djzJgx1us7duyAt7e3tejp1q0bGjZsiJ07d1qvmc1mpKenIywszGneGCMiIiL7CS6EWrRoUeW1gIAAlJWVYf369Vi0aJHd4xUVFeHgwYMA7p9sf%2B/ePezatQsAEBQUBE9PJ9%2BSRgAAGt9JREFUT8TGxmLEiBGYPXs2oqOjceLECaSmpmLevHnW1%2B%2BVSiUmTZqE%2BPh4eHp6wt/fH6mpqcjIyMCSJUuEfk0iIiJyAg5dLP3cc89h%2BvTpgu7Jzs7GtGnTbK5V/L5%2B/XoEBweja9euWLFiBZYsWYLt27ejWbNmmD17NoYMGWJz37hx42CxWJCcnIysrCz4%2BfkhMTEROp2udl%2BMiIiInkgOLYRu3bpV7QaJv9eyZUu7jsAICwtDWFjYI/vIZDJMmDABEyZMEBQDEREROSfBhdDx48crXSspKcGFCxfwxRdf4LnnnnNIYERERERiE1wIjRw5stLC44q9enr27Ik5c%2BY4JjIiIiIikQkuhNavX1/pmpubG1q0aIHGjRs7JCgiIiIiKQguhIKCgsSIg4iIiEhyPDWOiIiInJbgGSGz2Yzk5GSkpaXh9u3bMJlMNu0ymQw//vijwwIkIiIiEovgQujTTz/F2rVr0bFjR/Ts2RNKpVKMuIiIiIhEJ7gQSktLw2uvvYY333xTjHjIToYSI64bc9BG7QmtUl3X4RAREdVLggshk8nEvYLqmKHEiGUX9sJQaoTWVY2puggWQ0RERDUgeLH0888/j9OnT4sRC9npujEHhlIj1Ao3GErvzwwRERGRcIJnhGbPno3XXnsN7u7uCAsLQ6NGjSr18fDwcEhwVLU2ak9oXdXWGaE2as%2B6DomIiKheElwINWjQAG3btsXChQuxcOHCKvucO3eu1oHRw2mV9x%2BHcY0QERFR7QguhD744APs2rULERER8PX1haurqxhxUTW0SjULICIioloSXAjt2bMHb775JsaPHy9GPERERESSEbxY2sXFBf7%2B/mLEQkRERCQpwYVQv379cPjwYTFiISIiIpKU4Edj/fv3x5w5c1BWVoZevXpV%2BdZYp06dHBIcERERkZgEF0JjxowBAKxfvx7Jyck2bRaLBTKZjG%2BNERERUb0guBB62CvzRERERPWN4EJo4MCBYsRBREREJDnBi6WJiIiInhSCZ4RmzZr1yHaZTIYFCxbUOCAiIiIiqQguhI4dO1bpWm5uLgoLC6HRaNCwYUOHBEZEREQkNsGF0L59%2B6q8fvToUXz44YdY%2Bv/bu/eoKK47DuDf5bGKG8AFQStqosRdRVceikB8gHo0sYJ4qqgnvsrxGVQMVuujxFdRajUaBDQa3wkYwGotRmMjMWjaaFMRY6LGIEbEGERANi7KAjv9I4etK6AgsCM73885e8zevTPz9WqYn/fOzsTFNToUERERkTk02TVCAQEBmDx5MtauXdtUuyQiIiJqVk16sbS7uzsuXbrUlLskIiIiajZNWgh9/fXXUCqVTblLIiIiombT4GuEEhISarRVVFTg%2B%2B%2B/x%2BnTp/lUeiIiImoxmqQQksvlcHNzQ2RkJAshIiIiajEaXAhdvXq1OXIQERERmR3vLE1ERESSVa9CqLS0FPPnz8epU6fq7HPq1CnMnz8fJSUlTRaOiIiIqDnVqxBKS0vD1atXMWjQoDr7DBo0CNeuXUNSUlKThSMiIiJqTvUqhI4dO4awsDDY2NR9SZGNjQ3CwsLqvPM0ERER0YumXoXQjRs3oNFontmvV69e%2BPHHHxubiQCU6HXILrmFEr1O7ChEREQWq17fGquqqnrqbJBxZzY2qKysbHQoqSvR67Dl%2BwyUVOigtFUgUj0MSrlC7FhEREQWp14zQi4uLsjJyXlmvx9%2B%2BAHt2rVrdCipu6krRkmFDgrrViip0OGmrljsSERERBapXoVQ//79kZycjIqKijr7VFRU4MCBA/Dz82uycNUOHToEtVpd47Vx40aTfpmZmRgzZgw0Gg2GDx/eYi/cflnhBKWtArqqcihtFXhZ4SR2JCIiIotUr6WxadOmYdy4cZg3bx7WrFmD9u3bm3xeUFCAd955Bzdu3KhRnDSlnTt3wt7e3vj%2B8RwXLlxAREQEQkNDsXTpUmRlZSEmJgZyuRxhYWHNlqk5KOW/Lofd1BX/WhRxWYyIiKhZ1KsQ6tGjB1asWIHVq1dj2LBh6N27N9zc3AAAt2/fxrfffgtBELBq1Sqo1epmC9urVy84OdU%2BO5KYmAgPDw%2BsW7cOAODv7487d%2B4gLi4OY8eOhZVVy7p3pFKuYAFERETUzOr9iI3x48eje/fu2L59O86dO4fs7GwAgJ2dHQYNGoTZs2fDy8ur2YI%2BjV6vx9mzZ7Fo0SKT9pCQEKSmpuLy5cvo3bu3KNmIiIjoxdWgZ415e3vj/fffh8FgMN5BWqlUmm22JTg4GCUlJejYsSPGjx%2BPGTNmwNraGnl5eaioqEC3bt1M%2Br/66qsAgOvXrze6ELKxafrfo7W1lcmv1Hw41ubF8TYvjrf5cKzNyxzj3eCHrgKAlZUVnJ2dmzpLnVxcXDB//nx4enpCJpPh888/x3vvvYeCggKsWLECpaWlAAAHBweT7arfV3/%2BvKysZFAqm2%2BZysHBrtn2TaY41ubF8TYvjrf5cKzNqznH%2B7kKIXMbNGiQyeM9Bg4ciFatWmHfvn2YM2eOsV0mk9W6fV3t9WUwCNBqyxq1j9pYW1vBwcEOWu1DVFUZmnz/9H8ca/PieJsXx9t8ONbm1ZjxdnCwq9dMUosohGozcuRI7N69G1euXDFeuP3kzI9WqwVQc6boeVRWNt9f%2BKoqQ7Pun/6PY21eHG/z4nibD8favJpzvC1ikbNLly6wtbVFbm6uSXv1TSDd3d3FiEVEREQvuBZbCB07dgzW1tbw8PCAXC6Hv78/jh8/btLn6NGjcHFxgYeHh0gpiYiI6EXWIpbGpk%2BfDn9/f6hUKgBARkYGUlNTMXXqVLi4uAAA5s6di8mTJyM6OhohISHIyspCWloa1qxZ0%2BLuIURERETm0SIKoa5du%2BLgwYP4%2BeefYTAY8Morr2D58uWYMmWKsY%2B3tze2bt2KTZs24e9//zs6dOiA6OjoFndXaSIiIjKfFlEIRUdH16tfYGAgAgMDmzkNERERWQquGREREZFksRAiIiIiyWIhRERERJLFQoiIiIgkq0VcLG2pist1%2BKHgLpwFBRys%2BdwaIiIic2MhJJISvQ7x1zJwv/Ih2trYYb5qGJTy5nuwKxEREdXEpTGR3NQVo0RfBnvbVijRl%2BGmrljsSERERJLDQkgkLyucoJS3wS8V5VDK2%2BBlhZPYkYiIiCSHS2MiUcoVeLvncBTJdLxGiIiISCQshETk1EoBd6UrSkp0qKw0iB2HiIhIcrg0RkRERJLFQoiIiIgki4UQERERSRYLISIiIpIsFkJEREQkWSyEiIiISLJYCBEREZFksRAiIiIiyWIhRERERJLFQoiIiIgki4UQERERSRYLISIiIpIsmSAIgtghXnSCIMBgaJ5hsra2QlUVH7hqDhxr8%2BJ4mxfH23w41ub1vONtZSWDTCZ7Zj8WQkRERCRZXBojIiIiyWIhRERERJLFQoiIiIgki4UQERERSRYLISIiIpIsFkJEREQkWSyEiIiISLJYCBEREZFksRAiIiIiyWIhRERERJLFQoiIiIgki4UQERERSRYLISIiIpIsFkIiuHHjBqZPnw4vLy8EBAQgJiYGjx49EjuWRTp%2B/DgiIiIQGBgILy8vhISEIDk5GQaDQexoFk%2Bn02Hw4MFQq9W4dOmS2HEsVlpaGkaPHg2NRoOAgADMmTNH7EgW6eTJkwgLC4OPjw9ee%2B01zJs3D7m5uWLHsgg3b97EihUrEBoaCg8PDwQHB9faLzMzE2PGjIFGo8Hw4cORlJTUJMe3aZK9UL1ptVpMmzYNHTt2xJYtW1BcXIzY2Fjcv38fGzduFDuexdmzZw86duyIP/7xj3B2dsa5c%2Bewdu1a3Lp1C0uWLBE7nkXbunUrqqqqxI5h0eLj47F3717MmTMHnp6eKC0txZkzZ8SOZXH%2B/e9/Y968eRg9ejTefvttaLVaJCQkIDw8HJ988gleeuklsSO2aD/88AMyMzPh6ekJg8EAQRBq9Llw4QIiIiIQGhqKpUuXIisrCzExMZDL5QgLC2tcAIHMavv27YKnp6dQVFRkbPvHP/4hqFQqIScnR8Rklunxca62bt06QaPRCOXl5SIkkoacnBzBy8tLOHDggKBSqYRvvvlG7EgWJycnR%2BjZs6dw5swZsaNYvOXLlwtDhgwRDAaDse3ixYuCSqUSvvjiCxGTWYaqqirjfy9ZskQYNWpUjT7Tp08Xxo0bZ9IWHR0tDBgwwGT758GlMTM7ffo0AgIC4OTkZGx7/fXXIZfLkZmZKWIyy/T4OFfr2bMnysvLcf/%2BfRESScPatWsxceJEdO3aVewoFuvQoUPo3LkzBg4cKHYUi1dZWQmFQgGZTGZss7e3FzGRZbGyenopotfrcfbsWYwaNcqkPSQkBIWFhbh8%2BXLjjt%2BoranBrl%2B/Dnd3d5M2uVyOLl264Pr16yKlkpbz58%2Bjbdu2cHZ2FjuKRfr0009x9epVzJ07V%2BwoFu3ixYtQqVRITExEQEAAevfujcmTJ%2BPKlStiR7M448aNQ25uLj788ENotVrk5%2Bdj/fr1cHd3R0BAgNjxLF5eXh4qKirQrVs3k/ZXX30VABp97mQhZGZarRYODg412h0cHFBaWipCImm5dOkSDh06hGnTpsHa2lrsOBbn4cOH%2BMtf/oKFCxfyuolmVlhYiC%2B//BLp6elYvXo14uPj8fDhQ4SHh0Or1Yodz6L4%2BvoiISEBmzdvhq%2BvL4YNG4Zbt25h9%2B7dkMvlYsezeNXnxifPndXvG3vuZCH0ghAEwWTalZpeYWEhIiMjodFoMHPmTLHjWKRt27bB2dkZv/vd78SOYvEEQUBZWRni4%2BMxYsQIDBkyBNu2bYNOp0NKSorY8SxKVlYWFi9ejLFjx2Lv3r1ISEhA69atMXPmTDx48EDseJJR1zmysedOfmvMzBwcHGr919ovv/xSY8mMms4vv/yCmTNnonXr1ti2bRtsbW3FjmRxbt%2B%2Bjd27dyMxMdF4cigrKzP%2BqtPpoFAoxIxoURwdHdGuXTt0797d2Obq6opu3bohJydHxGSWJyYmBv7%2B/vjTn/5kbOvbty8GDx6MtLQ0hIeHi5jO8jk6OgKoOfNTfS6tbZWlIVgImZm7u3uN9Uy9Xo%2B8vDyMHTtWpFSWrby8HG%2B99Rbu3buHlJQUKJVKsSNZpPz8fFRUVGDWrFk1Pps6dSo8PT2RmpoqQjLL5O7ujp9%2B%2BqlGuyAIz7z4lBrm%2BvXrGDp0qEmbk5MTXF1dkZeXJ1Iq6ejSpQtsbW2Rm5uLwYMHG9urC/7GTiKwEDKzwYMHY9u2bSgpKTGekD/77DPo9XoEBgaKnM7yVFZWYsGCBbh69So%2B%2BugjuLm5iR3JYvXs2RP79%2B83abty5QpiY2OxevVqaDQakZJZpqCgIBw%2BfBjXrl2DSqUCABQUFCA3N5dLk02sY8eO%2BO6770zaCgsLcffuXf5MMQO5XA5/f38cP34cv//9743tR48ehYuLCzw8PBq1f%2BtVq1atalxEaoju3bvjb3/7G86cOYP27dvjwoULWLduHYYPH46JEyeKHc/irFq1CkePHsWCBQvg6uqKn3/%2B2fh66aWXeKFjE2rVqhU6depk8iovL8fhw4cxb9489O7dW%2ByIFqVr16744osvcOTIETg7O%2BPmzZtYuXIlACA2NpbLv01s3759KCkpgY2NDb777jusXLkSjx49wurVq7nk20gPHz5ERkYGcnJy8K9//Qv37t1Dhw4dkJOTAycnJ9jZ2aFz5854//33cefOHSgUCqSnp2PPnj1YtmxZo3%2B2yAShlls4UrO6ceMGYmJicP78ebRu3RrBwcFYtGgRWrduLXY0izN06FDcvn271s/2798PPz8/MyeSlnPnzmHq1Kk4ePAgZ4SaQVFREdatW4fMzExUVlbC19cXy5Ytq/E1Y2ocQRCQmpqK5ORk5OXloU2bNtBoNIiKioJarRY7XouXn5%2BPYcOG1frZ4z%2BnMzMzsWnTJly/fh0dOnRAeHg4Jk2a1OjjsxAiIiIiyeIVdURERCRZLISIiIhIslgIERERkWSxECIiIiLJYiFEREREksVCiIiIiCSLhRARERFJFgshIiIikiwWQkQScujQIajVauPLw8MDAwcORFRUFH788UfRcmVmZiI%2BPr7Wz4YOHYqlS5eaOdGzJSQk4Le//S0MBgOAX%2B%2BOq1arsWvXLpGTNdxXX30Fb29vFBQUiB2FyOxYCBFJUGxsLFJSUrBnzx5MmjQJn3/%2BOd58802UlpaKkiczMxMJCQm1fpaQkICIiAgzJ3q6goIC7Nq1C5GRkRbxpPeAgABoNBps2rRJ7ChEZtfy/w8mogbr3r07vLy84Ofnh7feegszZ85EUVERTp48KXa0Gjw8PNClSxexY5jYv38/7O3tMWLECLGj1EkQBDx69Kje/SdNmoT09HTcuXOnGVMRvXhYCBGR8YGoRUVFJu1qtbrWJasnl6uql9zOnj2LlStXws/PD35%2Bfpg3b94zl1uWLl2KpKQk4/GqX/n5%2BbUe69y5c1Cr1UhPT8eGDRswcOBAeHt7Y86cObh37x4ePHiAd955x5hh2bJl0Ol0JscUBAFJSUkIDQ1Fnz594Ovri8jISNy6deuZY6XX63Hw4EEEBwfXORu0Z88eDB06FN7e3pgwYQKys7Nr9MnIyMCECRPg6ekJb29vhIeH48KFCzXGZujQoTW2jY%2BPr/GwT7VajTVr1uDAgQMYOXIkNBoNDh8%2BDABITk7G6NGj4e3tDW9vb7zxxhs1Zn%2BGDBmCNm3aIDU19ZljQGRJbMQOQETiqy46XnnllUbtJzo6GkFBQXj33Xdx584dbNiwAYsXL8b%2B/fvr3CYiIgJlZWU4ceIEUlJSjO2urq5PPdbmzZvh5%2BeH2NhY3L59G%2BvXr8fChQthY2MDtVqNTZs24fLly9i8eTMUCgWio6ON265YsQKHDx/GlClTsGjRIpSWliIxMRETJ07EkSNH0K5duzqP%2B8033%2BD%2B/fvGJ2I/KSkpCd26dcPy5csBAHFxcZg1axYyMjJgb28PAEhPT8eiRYswcOBAvPvuu9Dr9di5cyemTJmCvXv3ol%2B/fk/9vdfl5MmT%2BO9//4u5c%2BeiXbt2cHZ2xieffILVq1djypQpWLJkCaysrHDz5k3k5OSYbCuXy%2BHt7Y3MzEwsWLDguY5P1BKxECKSIIPBgMrKSpSXlyMrKwvbtm2Dr69vrbMPDTFo0CCTgqO0tBQbNmxAYWEhXFxcat2mS5cuxsLDy8ur3sdSqVSIjY01vs/NzcW%2BffuMJ3wAGDBgALKzs5Genm7MlZ2djdTUVCxduhTh4eHG7fv164fXX38de/bsweLFi%2Bs8bvWsTa9evWr9XKFQYPv27bC2tgbwa0EXFhaG06dPY9SoUTAYDPjrX/8KlUqFDz74wDirFBgYiOHDh2Pjxo34%2BOOP6z0OjysrK0N6ejocHR2NbR9//DEcHBxM/lwCAgJq3d7DwwM7duxAWVkZ2rRp81wZiFoaLo0RSdD48ePRq1cv%2BPj4YMaMGXBwcMDWrVthY9O4fxs9WUhVL9/89NNPjdpvbYYMGWLy3t3dHQAQFBRUo/3%2B/fvG5bFTp05BJpNh9OjRqKysNL7atWuHHj164D//%2Bc9Tj3v37l3IZDIolcpaPw8KCjIWQQDQo0cPAMDt27cBADdu3MDdu3cRGhpqsrSmUCgwYsQIXLx4EQ8fPqzHCNTk7%2B9vUgQBvy57arVaLFy4ECdPnkRxcXGd2zs7O8NgMODevXvPdXyilogzQkQStH79eri7u0On0%2BHYsWNISUnBwoULsXPnzkbtt23btibv5XI5ADToot36evKEb2tr%2B9T28vJyKBQKFBUVQRAEvPbaa7Xut3Pnzk89bnl5OWxsbEyKncfVNQbl5eUAgJKSEgCodYbM1dUVBoMBWq0WdnZ2T81Rm9r2OWbMGFRVVSEtLQ2RkZEwGAzQaDR4%2B%2B23MWDAAJO%2BrVq1AtA8f15ELyoWQkQS5O7ubrxA2t/fHwaDAWlpafj000/xxhtvGPvJ5XLo9foa21efzFsipVIJmUyGpKQkY5HyuNranty%2BoqLiuZePqmeSCgsLa3x29%2B5dWFlZwcHBwZilIeMvk8lqbR87dizGjh2LsrIyfP3114iPj8fs2bNx4sQJuLm5GftV3z6hrtkuIkvEpTEiwuLFi%2BHo6IgtW7YYbxAIAG5ubvj%2B%2B%2B9N%2Bn711VcoKytr0uM358zRk4KCgiAIAgoKCqDRaGq8nvw21pO6du0KAMjLy3uu43ft2hXt27fH0aNHIQiCsb2srAz//Oc/4eXlZZwN6tSpE4qKikyWqvR6Pb788svnOnabNm0QGBiIOXPmoKKiosYF07du3ULbtm2ferE4kaXhjBARwdHREbNmzcKGDRuQnp6O0NBQAEBoaCji4uIQFxeH/v37IycnBx999JHx209NRaVSAQA%2B%2BOADDB48GFZWVlCr1c%2BcnXkeffv2xYQJE7B8%2BXJ8%2B%2B238PX1hZ2dHQoLC3H%2B/HmoVCq8%2BeabdW5f/W2xixcvGq//aQgrKyssXrwYixYtwuzZszFhwgTo9Xrs2rULWq0Wf/jDH4x9R44ciS1btiAqKgozZsxAeXk5PvzwQ1RVVdX7eNHR0WjdujV8fHzg4uKCwsJC7NixA/b29sZZwWrZ2dno379/nTNLRJaIhRARAQCmTJmCpKQkbN26FcHBwbC2tsb06dPx4MEDHD58GLt370afPn0QFxfX5Hd6Dg4ORlZWFpKTk5GYmAhBEJCRkYFOnTo16XGqrVmzBp6enkhJScGBAwdgMBjg6uoKHx8f9OnT56nb/uY3v0G/fv2M9wF6HiEhIbCzs8OOHTsQFRUFa2treHp6Yv/%2B/fDx8TH269y5MxITE7F582ZERkbCxcUF4eHhKC4urvNO3E/q168fDh06hOPHj6O0tBRKpRJ9%2B/bF%2BvXr4eTkZOyXl5eHa9euYf78%2Bc/1eyJqqWTC43OzRET0TCdOnEBUVBROnTqF9u3bix2nSbz33ns4cuQIPvvss0Z/e5CoJeE1QkREDTRixAhoNBps375d7ChNQqvVIjk5GVFRUSyCSHJYCBERNZBMJsOf//xn49fdW7r8/HzMmjULISEhYkchMjsujREREZFkcUaIiIiIJIuFEBEREUkWCyEiIiKSLBZCREREJFkshIiIiEiyWAgRERGRZLEQIiIiIsliIURERESS9T90w7IUBIk%2B8gAAAABJRU5ErkJggg%3D%3D">
 
 <br>
 <br>
@@ -372,7 +406,7 @@
 <br>
 
 <h3 id="Number_of_reads_over_time">Number of reads over time</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHKCAYAAADhBVpHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzde1xUdf4/8NcwMIgjA4OgrqQkGiSIipWCN7xmLiIqXtq8RJmXxGu5Xoq%2BlpmXzdRUNNHVIjXTNLZYKJPSagszMS1F4%2BKioiHKADooM8D5/eGP2UZA58ycmYHx9Xw8euiczzln3vN2kpefc5MJgiCAiIiIyME42bsAIiIiImtgyCEiIiKHxJBDREREDokhh4iIiBwSQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUNiyCGqx4EDBxAYGIiQkBAUFBTUGp84cSKGDRtmh8qAo0ePIjAwEF988YVd3l%2BsS5cuYerUqejevTsCAwPx1ltv2buke1q0aBEGDBhg7zJs6vPPP8f7779f51hgYCA2bNhg24KIJOBs7wKIGjqdTod169bh7bfftncpjdaKFStw8uRJLF%2B%2BHN7e3vDx8bF3SXSXlJQUZGdnIzY2ttbYxx9/jFatWtm%2BKCILcSaH6D769OmDlJQUnD171t6l2Nzt27chxePtsrOz0blzZwwaNAhdu3aFr6%2BvydsKgoDbt29bXAPB7D527dqVIYcaJYYcovt44YUX4Onped%2BZnEuXLiEwMBAHDhyoNXb3dP%2BGDRsQGBiIs2fPYvbs2XjsscfQvXt3rFixApWVlcjLy8PkyZMRGhqKAQMGYOvWrXW%2BZ0VFBVasWIFevXqhc%2BfOmDBhAs6cOVNrvV9//RXTp09H9%2B7dERISghEjRiA1NdVonZrDc99//z0WL16MsLAwdOnSBTqdrt7PfPnyZcyfPx/h4eHo1KkThg4diu3bt6O6uhrA/w6r5efn49tvv0VgYCACAwNx6dKlevcZGBiIpUuX4qOPPsLQoUMREhKCTz/9FMCdWbVNmzbhqaeeQqdOnRAWFobFixejuLjYaB%2Bpqal4/vnn0bt3b3Tu3BlDhw7F6tWrUV5eXuv9Dhw4gCFDhhjqT05OrrOu3bt3Y/jw4QgNDUVoaCieeuoprFmzpt7PUaOkpASvv/46%2BvTpg06dOmHgwIFYu3atUV9HjBiBZ555pta2VVVV6NOnD2bOnGlYZmoPBgwYgGnTpuHgwYMYMWIEQkJCsHHjxjprnDhxIg4fPoyCggLDn1FgYKBh/O7vb8135ccff0R8fDx69OiBbt26YcGCBSgvL0dRURHmzJmDxx9/HL1798aqVaug1%2BuN3tPUz0FkCR6uIroPpVKJF198EW%2B99RZ%2B/PFHhIeHS7bvuXPnYvjw4Xj66afxn//8B9u2bUNlZSV%2B%2BOEHPPPMM5g8eTI%2B//xzrF69Gn5%2BfnjyySeNtl%2B7di2CgoKwbNky3LhxAxs3bsTEiRORnJyMNm3aAAAyMjLwwgsvoEuXLnj99dfh7u6O1NRUzJs3D7dv38aoUaOM9vnKK6%2BgX79%2B%2BMc//oFbt27B2bnuvyaKi4vx9NNPQ6/XY86cOfD19cXhw4exatUqXLhwAa%2B//jqCg4Px8ccfY%2BbMmWjTpg0WLlwIAGjRosU9%2B3Lo0CH8/PPPiIuLg7e3N5o3b47q6mrMmDEDx48fx%2BTJk9GtWzcUFBRgw4YNOHXqFPbv348mTZoAAP773/%2Bib9%2B%2BePbZZ%2BHm5oa8vDxs3boVp06dQlJSkuF9Dhw4gMWLF2PgwIFYtGiRoYc6nQ5OTv/7N%2BC///1vvPHGG5g4cSIWLlwIJycn5OfnIycn556fo6KiApMmTcLFixcxa9YsBAYG4ueff0ZiYiKysrKQmJgIABg1ahTeeust/Pe//8XDDz9s2P7777/H1atXDX9GYnoAAKdPn0Zubi5efPFFPPTQQ3Bzc6uzziVLluC1117DxYsX6w1CdYmPj8eTTz6JNWvW4MyZM1i7di2qqqpw/vx5DB48GOPGjcMPP/yArVu3okWLFnjuuefM%2BhxEZhOIqE779%2B8XAgIChFOnTgkVFRXCwIEDhVGjRgnV1dWCIAjChAkThMjISMP6Fy9eFAICAoT9%2B/fX2ldAQICwfv16w%2Bv169cLAQEBwvbt243Wi46OFgICAoSDBw8alun1eiEsLEyYOXOmYVlGRoYQEBAgjBw50lCPIAjCpUuXhODgYOHVV181LHvqqaeEESNGCHq93ui9pk2bJvTq1Uuoqqoy%2BrwLFiwwqT%2BrV68WAgIChJMnTxotX7JkiRAYGCjk5eUZlvXv31%2BYOnWqSfsNCAgQHnvsMaGkpMRoeUpKihAQECB8%2BeWXRstPnTolBAQECLt27apzf9XV1YJerxd%2B%2BuknISAgQMjKyhIEQRCqqqqE3r1719vD/v37G5YtXbpUePzxx02q/88%2B%2BugjISAgQEhNTTVanpiYKAQEBAjff/%2B9IAiCUFxcLAQHBwtr1qwxWm/OnDlCz549DX92YnrQv39/oWPHjkZ/DvcydepUo8/8Z3d/f2u%2BK2%2B%2B%2BabRejNmzBACAgKEHTt2GC2Pjo4WRo4caXht7p8lkVg8XEVkAoVCgblz5%2BK3335DWlqaZPvt16%2Bf0ev27dtDJpOhb9%2B%2BhmXOzs7w8/Or8wqvYcOGQSaTGV77%2BvoiNDQUR48eBQDk5%2BcjLy8PUVFRAIDKykrDf3379kVRURHOnz9vtM%2B7Z4vqk5GRgQ4dOqBz585Gy0eNGgVBEJCRkWHSfuoSFhYGDw8Po2XffPMNVCoV%2Bvfvb/Q5OnbsCB8fH/z000%2BGdS9evIiXX34ZvXr1QseOHREcHIwJEyYAAPLy8gAA58%2Bfx9WrV%2Bvt4Z%2BFhISgrKwML730Eg4dOmTyIZWMjAw0bdoUTz31lNHympmZH3/8EQCgVqsxYMAAfPrpp4ZDfaWlpUhPT0d0dLRhNk1MD4A7h5natWtnUq3mqOv7CwARERG1lv/5%2Byv2cxCZi4eriEwUGRmJ7du3Y%2B3atRg8eLAk%2B7z7B7mLiwvc3Nzg6upaa/nNmzdrbe/t7V3nspqTpK9duwYAWLVqFVatWlVnDRqNxui1qVc%2BlZSU1HkCcc2hqJKSEpP2U5e6arh%2B/TrKysrQqVOnOrep%2BRxarRbPPPMMXF1dMXfuXDz88MNo0qQJ/vjjD8ycOdNw8m3N%2BvX18M8/lEeMGIGqqirs27cPs2fPRnV1NUJCQjB37lz06tWr3s9RUlICb29voxAFAM2bN4ezs7NRj2JiYvDll1/iP//5j%2BFkd51OZ3Q40dQe1LD2VWx1fX/rW/7nc5DEfg4iczHkEJlIJpNh/vz5eO6557B3795a4zXB5O4Tda35F3ZNiLl7maenJ4A7MwQAMG3atHqD2d3/0r/7B3J9PD09UVRUVGv51atXjd7bHHXVoFar4enpiW3bttW5jVKpBHBn9uTq1av48MMP0b17d8P4jRs3au0PqL%2BHd4uJiUFMTAzKy8tx7NgxbNiwAdOmTcOXX35Z79Vinp6eOHnyJARBMPpM169fR2VlpVGPevfujRYtWuDAgQPo06cPDhw4gC5duqBDhw6ie1DD1D9LWxP7OYjMxZBDJELPnj3Rq1cvJCQk1Lqk1tvbG66urjh37pzR8vT0dKvVk5KSgueee87ww6ygoAAnTpxAdHQ0AMDf3x8PP/wwzp49i5deeknS9w4PD8eWLVtw%2BvRpBAcHG5YnJydDJpOhR48ekr5fv3798O9//xvV1dXo0qVLvevV9EKhUBgt37Nnj9Hrdu3awcfHp94e1ndydNOmTREREQG9Xo%2B4uDjk5OTUG3LCw8ORlpaGQ4cOGYXMmiu4/nwSu1wuR3R0ND744AP8/PPP%2BO2337B06VKzemAOhUJhs0v1rfk5iP6MIYdIpPnz52PUqFG4fv06HnnkEcNymUyG4cOHY//%2B/Wjbti0effRRnDp1CikpKVarpbi4GHFxcRg7dixu3LiBDRs2QKFQYNq0aYZ13njjDUyZMgWTJ0/GyJEj0bJlS5SWliI3NxenT5/G%2BvXrzXrv2NhYJCcnY9q0aZg9ezZat26Nw4cPY/fu3fjb3/4m%2BbkgkZGR%2BPzzzzF16lRMnDgRnTt3houLC/744w8cPXoUAwcOxODBgxEaGgoPDw8sWbIEM2fOhLOzMz7//PNa4dPJyQlz5sxBfHy8oYdlZWXYuHFjrUNY8fHxaNKkCbp16wYfHx8UFRUhMTER7u7uCAkJqbfmESNGYNeuXVi4cCEKCgoQEBCA48ePY8uWLYiIiEDPnj2N1o%2BJicHWrVvx8ssvo0mTJvjrX/9qVg/MERAQgIMHD2L37t3o1KkTZDLZPT%2BbJaz5OYj%2BjCGHSKSgoCBERkbWGV4WLVoEANi2bRvKy8vRo0cPvPfee1Z7RMC8efPw66%2B/YvHixbh58yY6d%2B6MNWvWoG3btoZ1wsLCsG/fPrz33ntYvnw5ysrK4Onpifbt22Po0KFmv7eXlxf27NmDd955B%2B%2B88w60Wi0eeugh/P3vfzdcKiwluVyOzZs3IykpCf/617%2BQmJgIuVyOVq1a4YknnkBAQACAO4dCtmzZglWrVuHvf/873NzcDPemGTlypNE%2Bx4wZA%2BDOn9fMmTPh6%2BuLadOm4dixY0Ynvz7%2B%2BOM4cOAA0tLSUFpaCrVajcceewyrVq2Cl5dXvTW7uroiKSkJa9euxbZt26DRaNCyZUs8//zzRve%2BqdGuXTuEhobixIkTiIqKgru7u1k9MMekSZOQnZ2NtWvX4saNGxAEoVYwlIo1PwfRn8kEQYLbmRIRERE1MLyEnIiIiBwSQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUNiyCEiIiKH9EDfDFAQBFRXW%2Bc2QU5OMqvtm2pjv22HvbYt9tu22G/bMbfXTk4yk5/L9kCHnOpqAcXFWsn36%2BzsBLVaibKyclRWVku%2BfzLGftsOe21b7Ldtsd%2B2Y0mvvbyUkMtNCzk8XEVEREQOiSGHiIiIHBJDDhERETkkhhwiIiJySAw5RERE5JAYcoiIiMghMeQQERGRQ2LIISIiIofEkENEREQOiSGHiIiIHBJDDhERETkkhhwiIiJySAw5REREJJpGp8UvmovQ6KR/0LVUHuinkBMREZF4Gp0W68%2BlQ6PXQu2ixOzAgVArlPYuqxbO5BAREZEo%2BdpiaPRaKOWu0Oi1yNcW27ukOjHkEBERkSh%2BSi%2BoXZTQVlVA7aKEn9LL3iXViYeriIiISBS14s4hqnxt8Z3A0wAPVQEMOURERGQGtULZYMNNDR6uIiIiIofEkENEREQOiSGHiIiIHBJDDhERETkkhhwiIiJySAw5RERE5JAYcoiIiMghMeQQERGRQ2LIISIiIofEkENEREQOiSGHiIiIHBJDDhERETmkBhNy9u3bh%2BHDhyMkJATh4eGYPn260fiRI0cwYsQIhISEYPDgwdi1a5edKiUiIqLGoEE8hXzDhg14//33MX36dHTp0gWlpaX47rvvDOMnTpzAjBkzEB0djUWLFiEzMxPLli2DQqHAmDFj7Fg5ERERNVR2Dzm5ubnYvHkzEhMT0bt3b8PywYMHG36fkJCAoKAgLF%2B%2BHAAQFhaGK1eu4N1330VMTAycnBrMhBQRERE1EHZPBwcOHECbNm2MAs6f6XQ6ZGRkIDIy0mh5VFQUioqKcObMGVuUSURERI2M3WdyTp48iYCAACQkJGDnzp24ceMGunbtildffRUdO3bEhQsXoNfr4e/vb7Rdhw4dANyZCerUqZPZ7%2B/sLH3Ok8udjH4l62K/bYe9ti3227bYb9uxVa/tHnKKiopw%2BvRpZGdn44033oCLiws2btyI5557DgcPHkRpaSkAQKVSGW1X87pm3BxOTjKo1Urzi78PlcrNavum2thv22GvbYv9ti3223as3Wu7hxxBEFBeXo4NGzbgkUceAQAEBwdj4MCB%2BPjjj9GtWzcAgEwmq3P7%2BpaborpaQFlZudnb10cud4JK5YaysluoqqqWfP9kjP22Hfbatthv22K/bceSXqtUbibPANk95Hh4eMDb29sQcACgRYsW8Pf3R05ODvr37w%2Bg9oxNWVkZgNozPGJVVlrvi1xVVW3V/ZMx9tt22GvbYr9ti/22HWv32u4HHtu3b1/nckEQ4OTkhLZt28LFxQV5eXlG4zk5OffcnoiIiB5sdg85/fr1w7Vr1/D7778blhUWFiIvLw%2BBgYFQKBQICwtDWlqa0XYpKSnw8fFBUFCQrUsmIiKiRsDuIWfw4MEIDg7GrFmzkJqaikOHDmH69Onw8vLC2LFjAQBxcXH47bffEB8fj6NHj2Lz5s3Yt28f5syZw3vkEBERUZ1kgiAI9i7i%2BvXrWL58OY4cOYLKyko88cQTWLx4sdFl40eOHMGaNWuQm5uLVq1a4bnnnsP48eMtet%2BqqmoUF2stLb8WZ2cnqNVKaDRaHte1Afbbdthr22K/bYv9th1Leu3lpTT5xOMGEXLshSHHMbDftsNe2xb7bVvst%2B3YKuTwWA8RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUMS/ViHwsJCaLVaw%2BXdVVVV2L59O86cOYNevXph9OjRkhdJREREJJbokLNkyRL85S9/wZIlSwAAmzZtQkJCAlQqFb744gu4uLggOjpa8kKJiIiIxBB9uOr06dPo0aOH4fXevXsRGxuLn376CWPHjsXu3bslLZCIiIjIHKJDTklJCby9vQEAubm5KCoqwsiRIwEAQ4YMwfnz56WtkIiIiMgMokOOu7s7iouLAQDHjh2Dh4cHAgMDAQAymQx6vV7aComIiIjMIPqcnM6dO2Pr1q1wdnZGUlISevfubRi7ePEiWrRoIWmBREREROYQPZMzZ84cXLx4ETNmzMD169cxffp0w9ihQ4cQEhIiaYFERERE5hA9k9OxY0d88803yMvLg5%2BfH5o1a2YYe%2BaZZ%2BDn5ydpgURERETmEB1yAMDNzQ3BwcG1lvfr18/SeoiIiIgkYdYdj4uLi/HOO%2B9g3LhxGDJkCLKzswEAe/bswZkzZyQtkIiIiMgcokPOxYsXMXz4cHz44YeQyWS4cOECdDodAODcuXP48MMPJS%2BSiIiISCzRIeftt9%2BGSqXCl19%2BiZ07d0IQBMPYY489hszMTEkLJCIiIjKH6JCTkZGBmTNnomXLlpDJZEZjPj4%2BuHr1qmTFEREREZlLdMipqKiAh4dHnWO3bt2qFXyIiIiI7EF0yGnXrh1%2B%2BOGHOseOHTuGgIAAi4siIiIispTokDNmzBgkJSXhgw8%2BQGlpKQBAr9fjiy%2B%2BwO7duzFu3DjJiyQiIiISS/R9csaPH4%2BzZ89ixYoVWLVqFYA7NwEUBAFjxowxPKyTiIiIyJ7Muhngm2%2B%2BiZiYGBw%2BfBjXr1%2BHWq1Gv3790K1bN6nrIyIiIjKL6JBz%2BfJl%2BPj4oGvXrujatavRWGVlJa5evYrWrVtLViARERGROUSfkzNw4EBkZWXVOXb27FkMHDjQ4qKIiIiILCU65Pz55n93q66u5iXkRERE1CCY9eyquuh0Onz77bdQq9VS7ZKIiIjIbCadk7Nx40YkJCQAAGQy2T0vEx8zZow0lRERERFZwKSQExISYrhMfPfu3RgyZAi8vb2N1lEoFAgICMCwYcOsUigRERGRGCaFnIiICERERAC48%2BiGGTNmoE2bNlYtjIiIiMgSoi8hX7FihTXqICIiIpKU6JCTnJx833VGjBhhVjFEREREUhEdchYtWlTn8j9fOs6QQ0RERPYmOuSkp6fXWqbRaJCeno7U1FSsXbtWksKIiIiILCE65Pj6%2Bta5rFOnTqisrERSUhJWrlwpSXFERERE5pLsZoAAEB4ejq%2B//lrKXRIRERGZRdKQU1BQACcnSXdJREREZBbRh6uOHTtWa5lOp8O5c%2BewZcsWhIeHS1IYERERkSVEh5yJEyfWeghnzUM7e/bsiddee02ayoiIiIgsIDrkJCUl1Vrm6uoKX1/fWo96ICIiIrIX0SGne/fukhZw4MABLF68uNbyKVOmYP78%2BYbXR44cwdq1a5Gbm4tWrVohNjYW48ePl7QWIiIichyiQ461bNu2De7u7obXLVu2NPz%2BxIkTmDFjBqKjo7Fo0SJkZmZi2bJlUCgUfOo5ERER1Ul0yNHr9di6dStSUlJw%2BfJlVFRUGI3LZDKcOXNGdCHBwcHw8vKqcywhIQFBQUFYvnw5ACAsLAxXrlzBu%2B%2B%2Bi5iYGF7RRURERLWIDjlr1qzB%2B%2B%2B/j759%2B2LQoEFQKBTWqMtAp9MhIyPD6NAVAERFRWHv3r04c%2BYMOnXqZNUaiIiIqPERHXLS0tIQFxeHmTNnSlrIsGHDoNFo0Lp1a4wdOxYvvPAC5HI5Lly4AL1eD39/f6P1O3ToAADIzc21KOQ4O0s/CySXOxn9StbFftsOe21b7Ldtsd%2B2Y6teiw45paWlePzxxyUrwMfHB7NmzUKXLl0gk8nw9ddfY926dSgsLMT//d//obS0FACgUqmMtqt5XTNuDicnGdRqpfnF34dK5Wa1fVNt7LftsNe2xX7bFvttO9buteiQ88QTT%2BDs2bMICwuTpIA%2BffqgT58%2Bhte9e/eGq6srPvjgA0yfPt2w/O5789xvuSmqqwWUlZWbvX195HInqFRuKCu7haqqasn3T8bYb9thr22L/bYt9tt2LOm1SuVm8gyQ6JATHx%2BPGTNmoHXr1ujXr59VzskZOnQotm/fjqysLMMDQe%2BesSkrKwNQe4ZHrMpK632Rq6qqrbp/MsZ%2B2w57bVvst22x37Zj7V6LDjnR0dGorKzEnDlzIJPJ0KRJE6NxmUyG48ePS1Zg27Zt4eLigry8PPTt29ewPCcnBwDQvn17yd6LiIiIHIfokDNkyBCLDhGZIjU1FXK5HEFBQVAoFAgLC0NaWhpiY2MN66SkpMDHxwdBQUFWrYWIiIgaJ9EhZ%2BXKlZIWMHnyZISFhSEgIAAAkJ6ejr1792LSpEnw8fEBAMTFxWHChAmIj49HVFQUMjMzsW/fPixdupT3yCEiIqI62f2Ox%2B3atcMnn3yCP/74A9XV1Xj44YfxyiuvYOLEiYZ1QkNDsWnTJqxZswbJyclo1aoV4uPjebdjIiIiqpdJIefYsWMICgqCUqnEsWPH7rv%2BE088YXIB8fHxJq0XERGBiIgIk/dLREREDzaTQs7EiROxd%2B9edO7cGRMnTqz3nBxBECCTyZCVlSVpkURERERimRRykpKSDFcxJSUlWbUgIiIiIimYFHK6d%2B9e5%2B%2BJiIiIGipemkREREQOyayrq86cOYPPP/8cly9fRkVFhdGYTCbD5s2bJSmOiIiIyFyiQ05ycjIWL14MJycneHl5wcXFxWjc2jcKJCIiIjKF6JCzefNmREREYNWqVfDw8LBGTUREREQWE31OztWrVzFp0iQGHCIiImrQRIecjh07orCw0Bq1EBEREUlGdMhZsGABEhMTcfbsWWvUQ0RERCQJ0efkdO3aFU8%2B%2BSRGjhwJHx%2BfWoetZDIZPvvsM8kKJCIiIjKH6JCTmJiILVu2wMvLC61bt651dRURERFRQyA65CQlJSEmJgZLly6FXC63Rk1EREREFhN9To5Wq8WwYcMYcIiIiKhBEx1yunXrhtzcXGvUQkRERCQZ0SHn1VdfxZ49e3Do0CHodDpr1ERERERkMdHn5MTExKCyshKzZs2CTCZDkyZNjMZlMhmOHz8uWYFERERE5hAdcoYMGcLnUxEREVGDJzrkrFy50hp1EBEREUlK9Dk5RERERI0BQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUMSdQm5IAg4efIksrOzodFoIJPJ4OnpiUceeQRdunTh/XOIiIiowTA55Pz73//GP/7xD1y9ehWCIBiNyWQytGjRAgsWLEBkZKTkRRIRERGJZVLISU1Nxcsvv4xevXphwYIFCAwMhIeHBwCgtLQU586dw6effor58%2BfDyckJQ4cOtWrRRERERPdjUshJTEzE2LFjsXTp0lpjPj4%2B6NChAyIjI/Haa69hy5YtDDlERERkdyadeJyXl4dhw4bdd71hw4YhLy/P4qKIiIiILGVSyPHw8EB%2Bfv5917tw4YLhMBYRERGRPZkUcp566imsXr0aqampqK6urjVeXV2NtLQ0rF69moeqiIiIqEEw6ZycefPmITc3Fy%2B99BJee%2B01tG/fHh4eHpDJZCgpKUFubi7Ky8vRs2dPzJs3z9o1ExEREd2XSSGnadOm2L59O44cOYKvvvoKOTk5uHDhAgBArVYjMjISgwYNQt%2B%2Bfa1aLBEREZGpRN0MMCIiAhEREdaqhYiIiEgyfKwDEREROSRJQ05ubi42btwo5S6JiIiIzCJpyMnJyUFCQoKUuyQiIiIyCw9XERERkUMy6cTjgQMHmrSz27dvW1SMVqvF0KFDUVhYiE8%2B%2BQQhISGGsSNHjmDt2rXIzc1Fq1atEBsbi/Hjx1v0fkREROS4TAo5ly9fRtu2bdGuXbt7rldUVITi4mKzi9m0aROqqqpqLT9x4gRmzJiB6OhoLFq0CJmZmVi2bBkUCgXGjBlj9vsRERGR4zIp5Pj5%2BaFLly5YtWrVPdf74osvzL4ZYG5uLnbv3o2FCxdiyZIlRmMJCQkICgrC8uXLAQBhYWG4cuUK3n33XcTExMDJiUfdiIiIyJhJ6SAoKAhZWVn3XU8mk5ldyFtvvYWnn3661myRTqdDRkYGIiMjjZZHRUWhqKgIZ86cMfs9iYiIyHGZNJPTt29flJSU3He9Dh06IC4uTnQRX3zxBc6ePYv169fj9OnTRmMXLlyAXq%2BHv79/rfcC7swAderUSfR71nB2ln4WSC53MvqVrIv9th322rbYb9tiv23HVr02KeSMGDECI0aMuO967du3x8yZM0UVcOvWLaxcuRIvvfQSmjVrVmu8tLQUAKBSqYyW17yuGTeHk5MMarXS7O3vR6Vys9q%2BqTb223bYa9tiv22L/bYda/da1GMdrGHz5s1o3rw5Ro0adc/16jsUZskhsupqAWVl5WZvXx%2B53AkqlRvKym6hqqr2U9tJWuy37bDXtsV%2B26Twa/4AACAASURBVBb7bTuW9FqlcjN5BsiuIaegoADbt29HQkICbt68CQAoLy83/KrVauHh4QGg9oxNWVkZgNozPGJVVlrvi1xVVW3V/ZMx9tt22GvbYr9ti/22HWv32q4h59KlS9Dr9Zg6dWqtsUmTJqFLly7YuXMnXFxckJeXZ/SU85ycHAB3DpERERER3c2uIadjx45ISkoyWpaVlYUVK1bgjTfeQEhICBQKBcLCwpCWlobY2FjDeikpKfDx8UFQUJCNqyYiIqLGwK4hR6VSoUePHnWOBQcHIzg4GAAQFxeHCRMmID4%2BHlFRUcjMzMS%2BffuwdOlS3iOHiIiI6iQqIVRVVeH8%2BfOG82FsJTQ0FJs2bcKvv/6KyZMnY//%2B/YiPj%2BfdjomIiKheomZyBEFAZGQkNm/ejIiICKsU1KNHD5w7d67W8oiICKu9JxERETkeUTM5zs7O8Pb2hiAI1qqHiIiISBKiT2iJjIxEcnKyNWohIiIikozoE48fffRRpKamYtKkSXjyySfh4%2BNT64Z8Tz75pGQFEhEREZlDdMhZuHAhAKCwsBA//fRTrXGZTGbSwzyJiIiIrEl0yLn7vjZEREREDZHokNO9e3dr1EFEREQkKbNvBnjjxg388ssv0Gg0iIiIMDxjioiIiKghMCvkJCQkYOvWrbh9%2BzZkMhk%2B%2BeQTeHh44Nlnn0WvXr3qfBYVERERkS2JvoR8165dSEhIwOjRo7Flyxaje%2Bb0798fhw8flrI%2BIiIiIrOInsnZtWsXYmNjsWDBAlRVVRmN%2Bfn5IT8/X7LiiIiIiMwleibn4sWL6NOnT51jSqXS5s%2B1IiIiIqqL6Jkcd3d3XLt2rc6xgoICNG/e3OKiGrviCi2yC6%2BiuaCESu5m73KIiIgeSKJncsLDw7Ft2zaUl5cblslkMlRWVuKjjz5C7969JS2wsdHotFiX9RU2nErHuqyvoNFp7V0SERHRA0n0TM7s2bMxevRoREZGYtCgQZDJZNi5cyeysrJw%2BfJlrFu3zhp1Nhr52mJodOVQuTaBpqIc%2BdpiqBVKe5dFRET0wBE9k%2BPn54ePPvoI/v7%2B%2BOijjyAIAv71r39BrVZj9%2B7daN26tTXqbDT8lF5QK5rihr4CakVT%2BCm97F0SERHRA8ms%2B%2BR06NAB//znP6HT6aDRaODh4YEmTZpIXVujpFYoMbfjYFyXaXlODhERkR2ZfcdjAHBxcYFSqYSrq6tU9TgEL1cl2qtbQKPRorKy2t7lEBERPZDMCjknT57E%2BvXrcezYMej1eri4uOCJJ57ArFmz0LVrV6lrJCIiIhJNdMj58ccfMWXKFCiVSkRGRsLb2xvXrl3D119/jQkTJmDr1q0IDw%2B3Rq1EREREJhMdclavXo2goCDs2LEDSuX/rhq6efMmYmNjsXr1auzfv1/SIomIiIjEEn11VXZ2Nl544QWjgAMAzZo1w5QpU5CdnS1ZcURERETmEh1ymjdvDienujeTy%2BXw8uIl00RERGR/okPOuHHj8P7770Ov1xst1%2Bl02LFjB8aOHStZcURE5Fg0Oi1%2B0Vzk3eDJJkSfk%2BPs7IyCggIMGjQIgwcPho%2BPD4qKivDVV19BLpfD1dUVO3bsAHDncQ%2BxsbFS10xERI2QRqfF%2BnPp0Oi1ULsoMTtwIO8IT1Zl1onHNXbu3Flr/O233zb8niGHiIhq5GuLodFroZS7QqPX8rE3ZHWiQ056ero16iAiIgfnp/SC2kVpmMnhY2/I2kSHHF9fX2vUQUREDk6tuHOIKl9b/P%2Bf88dZHLIuix7rQEREJIZaoWS4IZsRfXUVERERUWPAkENEREQOiSGHiIiIHBJDDhERETkkSULOlStX8O2330Kj0UixOyIiIiKLib66au3atbh16xZeeeUVAMAPP/yA6dOnQ6/XQ6VSYefOnXjkkUckL5SIiIhIDNEzOQcPHkSHDh0Mr9etW4fAwEBs3LgRrVu3xubNmyUtkIiIiMgcomdyCgsL0bZtWwCARqPBr7/%2BisTERPTp0wcVFRVYtWqV5EUSERERiSV6JkcQBAiCAADIzMyEXC7HE088AQBo0aIFz8shIiKiBkF0yGnbti2%2B%2BeYbAEBqaipCQkLQpEkTAMDVq1ehUqmkrZCIiIjIDKJDzrhx45CUlIQePXogNTUVY8eONYxlZmYana9DREREZC%2Biz8l55pln4OHhgRMnTiAkJATR0dGGsYqKCowcOVLSAomIiIjMIRNqTrCxk%2B%2B%2B%2Bw5btmxBTk4Obt68iZYtW2LQoEGYOXMm3N3dDesdOXIEa9euRW5uLlq1aoXY2FiMHz/eoveuqqpGcbHW0o9Qi7OzE9RqJTQaLSorqyXfPxljv22HvbYt9tu22G/bsaTXXl5KyOWmHYiy%2B1PIS0tLERoaimeffRYqlQrZ2dnYsGEDsrOzsX37dgDAiRMnMGPGDERHR2PRokXIzMzEsmXLoFAoMGbMGDt/AiIiImqITAo5AwYMgEwmM3mn6enpJq87bNgwDBs2zPC6R48eUCgUeO2111BYWIiWLVsiISEBQUFBWL58OQAgLCwMV65cwbvvvouYmBg4OfHpFERERGTMpHTQvXt3o/%2Bqq6tRWFiI1q1bo0uXLmjdujUKCwshCAK6d%2B9ucVGenp4AgMrKSuh0OmRkZCAyMtJonaioKBQVFeHMmTMWvx8RERE5HpNmclauXGn4fXJyMjIzM3Hw4EG0bt3asLygoADPP/%2B82SGnqqoKlZWVyMnJQUJCAvr37w9fX1/k5ORAr9fD39/faP2aq7hyc3PRqVMns94TuHNcUGo1xwpNPWZIlmG/bYe9ti3227bYb9uxVa9Fn5OzdetWzJo1yyjgAICvry/i4uKwefNms66w6t%2B/PwoLCwEAffr0wZo1awDcOWcHQK3779S8rhk3h5OTDGq10uzt70elcrPavqk29tt22GvbYr9ti/22HWv3WnTIuXDhgtFVT3/m4eGBgoICswpJTExEeXk5cnJysGnTJkyfPh07duwwjNd3TpCYc4XuVl0toKys3Ozt6yOXO0GlckNZ2S1UVfEMfWtjv22HvbYt9tu22G/bsaTXKpWb9a6u8vX1xSeffIKIiIhaY3v37q01w2OqRx99FADQrVs3BAUFISYmBl999ZXhsNTdMzZlZWUAas/wiGXNywSrqqp5GaINsd%2B2w17bFvttW%2By37Vi716JDztSpU/HKK69g9OjRGDZsGLy9vXHt2jWkpKTg9OnTWLZsmcVFdezYEXK5HBcuXMCAAQPg4uKCvLw89O3b17BOTk4OAKB9%2B/YWvx8RERE5HtEhZ9SoUQCAdevWGZ2Q7OPjgzfffBMxMTEWF3XixAlUVVXhoYcegkKhQFhYGNLS0hAbG2tYJyUlBT4%2BPggKCrL4/YiIiMjxmHUzwFGjRmHkyJHIy8tDSUkJPD094e/vb9b5MTNnzkSnTp0QGBiIJk2a4OzZs9i2bRsCAwMxaNAgAEBcXBwmTJiA%2BPh4REVFITMzE/v27cPSpUt5jxwiIiKqk9l3PJbJZJIcKurcuTNSU1ORmJgIQRDg6%2BuLsWPHYvLkyVAoFACA0NBQbNq0CWvWrEFycjJatWqF%2BPh43u2YiIiI6mX2s6t%2B//135ObmoqKiotbYiBEjLC7MFvjsKsfAftsOe21b7Ldtsd%2B202CfXXXr1i28%2BOKLyMjIgEwmQ01G%2BvOhqsYScoiIiMhxiT6hZdOmTSgoKMDOnTshCAI2btyIHTt2YPDgwfDz88Onn35qjTqJiIiIRBEdctLT0zFlyhSEhoYCAP7yl78gPDwc69evR3BwMHbv3i15kURERERiiQ45BQUF8Pf3h1wuh0wmw61btwxjUVFRop5ATkRERGQtokOOu7s7ysvvPAqhefPmyM/PN4xVVlYaxoiIiIjsSXTICQwMxH//%2B18AQI8ePbBlyxb8/PPPOHXqFBISEgyPZyAiIiKyJ9EhJyYmBlrtncuu586di1u3bmHixIkYN24cLl%2B%2BjEWLFkle5INEo9PiF81FaHTSX9pORNTQ8e9AkpLoS8j/%2Bte/Gn7fpk0bfPnll4bLyUNDQ%2BHp6SlpgQ8SjU6L9efSodFroXZRYnbgQKgVSnuXRURkE/w7kKRm9h2PazRt2hQDBgyQopYHXr62GBq9Fkq5KzR6LfK1xfwfnIgeGPw7kKRm1oOfdDod9uzZg5deegnPPfec4RydQ4cO4eLFi1LW90DxU3pB7aKEtqoCahcl/JRe9i6JiMhm%2BHcgSU30TE5xcTGeffZZZGdnw9vbG9evXzeco5Oeno7vv/8er7/%2ButR1PhDUijvTs/na4jv/s/NfMET0AOHfgSQ10TM5b7/9NsrKyrB//34cPnwYf370VY8ePXDs2DFJC3zQqBVKdFW34f/cRPRA4t%2BBJCXRIefw4cOYPXs2goODjZ5XBQAtW7bEH3/8IVlxREREROYSHXJu3ryJ1q1b1zlWWVmJqqoqi4siIiIispTokPPQQw/hl19%2BqXPs1KlTaNeuncVFEREREVlKdMiJiorC1q1bcejQIcP5ODKZDKdOnUJSUhKio6MlL5KIiIhILNFXV02ZMgWZmZmYOXMmPDw8AACTJ09GSUkJ%2BvTpg0mTJkleJBEREZFYokOOi4sLtm7ditTUVBw%2BfBjXr1%2BHWq1Gv379EBkZCScns269Q0RERCQpUSGnoqICycnJePzxxxEZGYnIyEhr1UVERERkEVHTLq6urli2bBmuX79urXqIiIiIJCH62FKbNm1w7do1a9RCREREJBnRIWfSpElITEzEzZs3rVEPERERkSREn3ick5MDjUaDAQMGICwsDD4%2BPrXufBwfHy9ZgURERETmEB1ydu7cafj9wYMHa43LZDKGHCIiIrI70SHn7Nmz1qiDiIiISFK8qQ0RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUMyKeSsWLECV65cAQBcvnwZer3eqkURERERWcqkkPPBBx%2BgqKgIADBw4EBkZWVZtSgiIiIiS5kUcjw8PAzPqxIEwaoFEREREUnBpJsBdunSBa%2B%2B%2Bio6d%2B4MAFi1ahXc3d3rXFcmk2Hz5s3SVUhERERkBpNCzpIlS7B8%2BXLk5ORAJpMhPz8fCoWiznXvfo4VERERkT2YFHJ8fX2RkJAAAHj00UexadMmw6wOERERUUMk%2BhLypKQktG/f3hq1EBEREUlG9AM6u3fvDgDIz89HRkYGSkpKoFar0aNHD/j5%2BUleIJlOo9MiX1sMP6UX1AqlvcshIqIHWEP4mSQ65AiCgDfffBN79uxBdXW1YbmTkxOeeeYZxMfHS1ogmUaj02L9uXRo9FqoXZSYHTiQQYeIiOyiofxMEh1y3n//fezevRt/%2B9vfMHLkSLRs2RKFhYVITk7G7t278dBDDyE2Ntbk/aWlpeHzzz/H6dOnUVpaijZt2uBvf/sbnn76aTg5/e9o2pEjR7B27Vrk5uaiVatWiI2Nxfjx48WW77DytcXQ6LVQyl2h0d9Jzww5RERkDw3lZ5LokLNv3z5MmDDBaMamZcuW6Ny5M5ycnLB3715RIWfHjh1o3bo1FixYgObNm%2BPo0aN46623cPHiRSxcuBAAcOLECcyYMQPR0dFYtGgRMjMzsWzZMigUCowZM0bsR3BIfkovqF2UhtTsp/Syd0lERPSAaig/k0SHnIsXL6J///51jvXv3x8ff/yxqP2999578PL634cPCwtDeXk5du3ahXnz5kGhUCAhIQFBQUFYvny5YZ0rV67g3XffRUxMjNGMz4NKrbgzHWjv459EREQN5WeS6HTg7u6Oy5cv1zl2%2BfJlNGvWTNT%2B/hxwanTs2BEVFRUoKSmBTqdDRkYGIiMjjdaJiopCUVERzpw5I%2Br9GgKNTotfNBeh0Wkl3a9aoURXdRsGHCIisruG8DNJ9ExOz549sW7dOnTs2BGdOnUyLM/KysL69evRu3dvi4s6fvw4PD090bx5c5w/fx56vR7%2B/v5G63To0AEAkJuba1SHWM7O0s8CyeVORr/%2BWXGFFht%2BT4dGVw61oinmdhwML1eGEkvcq98kLfbatthv22K/bcdWvRYdcl5%2B%2BWWMGzcOY8aMQYcOHeDj44OioiLk5OSgRYsWePnlly0q6Ndff8WBAwcQFxcHuVyO0tJSAIBKpTJar%2BZ1zbg5nJxkUKutFzBUKrday7ILr6Kk8hZUrk1Qor%2BF6zIt2qtbWK2GB0ld/SbrYK9ti/22Lfbbdqzda9Eh5y9/%2BQuSk5OxY8cOHD16FJcuXYKnpyemTp2KZ599ts7DT6YqKirC7NmzERISgilTphiN1fe4CEseI1FdLaCsrNzs7esjlztBpXJDWdktVFVVG401F5TwdHaDpuLOTE5zQQmNRtrDVg%2Bae/WbpMVe2xb7bVvst%2B1Y0muVys3kGSDRIQe4cx6NpTM2d7tx4wamTJmCJk2aYPPmzXBxcQFw5wnoQO0Zm7KyMgC1Z3jEqqy03he5qqq61v5VcjfMCvjfyVgquZtVa3iQ1NVvsg722rbYb9tiv23H2r1uEAceKyoq8OKLL%2BLatWvYtm0b1Gq1Yaxt27ZwcXFBXl6e0TY5OTkA0CgfMdEQTsYiIiJydHYPOZWVlZgzZw7Onj2Lbdu2wdfX12hcoVAgLCwMaWlpRstTUlLg4%2BODoKAgW5ZLREREjYRZh6uktHTpUnzzzTf4%2B9//jtu3b%2BOXX34xjHXo0AHNmjVDXFyc4QaEUVFRyMzMxL59%2B7B06VLeI4eIiIjqZPeQ8/333wMA3n777VpjSUlJ6NGjB0JDQ7Fp0yasWbMGycnJaNWqFeLj43m3YyIiIqqX6JCj0%2Bng4uJi0VVNf/b111%2BbtF5ERAQiIiIkeU8iIiJyfKKO9VRUVKBLly44dOiQteohIiIikoSokOPq6gpPT0%2B4ufFGSfZiySMhrPU4CSIiooZI9OGq/v3746uvvpLk8Q0kjkanxfpz6Yanus4OHGjyZeiWbEtERNQYiQ45kZGRePXVV7F48WI8%2BeST8PHxqXV%2BTnBwsGQF0v/ka4uh0WuhlLtCo9ciX1tsclCxZFsiIqLGSHTImTx5MgDg008/RXJystGYIAiQyWTIysqSpjoy4qf0gtpFaZiN8VOa/ggNS7YlIiJqjESHnBUrVlijDjKBWnHnMFPNIyHEzMRYsi0REVFjJDrkjBw50hp1kInUCqXZAcWSbYmIiBobi24XnJeXh%2BPHj6O8XPoneRMRERFZwqyQk5ycjL59%2ByIyMhITJkzA%2BfPnAQBz5szB3r17JS2QiIiIyByiQ05aWhoWLVqEoKAgvPbaaxAEwTAWHBxc60GaRERERPYgOuQkJiZi1KhReO%2B99zBu3DijMX9/f%2BTk5EhWHBEREZG5RIec3NxcREZG1jnm6emJkpISi4siIiIispTokOPm5oYbN27UOVZYWAgPDw%2BLiyIiIiKylOiQExoail27dhmdi1PjwIED6N69uySFEREREVlCdMiJi4vDL7/8gtGjR%2BPDDz%2BETCbDwYMHMX36dPz888%2BYPn26NeokIiIiEkV0yAkJCcHWrVtRXl6OlStXQhAEbNmyBefPn0diYiICAgKsUScRERGRKKLveAwAYWFhSEtLw4ULF3Dt2jWo1Wq0a9dO6tqIiIiIzGZWyKnRtm1btG3bVqpaiIiIiCRjVsi5dOkSEhMTcfToUZSUlMDT0xM9evTAlClT0KZNG6lrJCIiIhJN9Dk5WVlZGDlyJA4cOIAWLVqgV69eaNGiBQ4cOICRI0ciKyvLGnUSERERiSJ6Jmf58uXw8vLCjh070Lp1a8PygoICPP/881i%2BfDk%2B/PBDSYskIiIiEkv0TM6pU6cwa9Yso4ADAL6%2Bvpg5cyZOnTolWXFERERE5hIdctzd3eHu7l7nmEqlQrNmzSwuihoejU6LXzQXodFp7V0KERGRSUSHnGHDhmHfvn11ju3du7fe51pR46XRabH%2BXDreP/891p9LZ9AhIqJGwaRzcg4ePGj4fXBwML788kuMHj0aw4YNg7e3N65du4aUlBQUFxfjqaeeslqxZB/52mJo9Foo5a7Q6LXI1xZDrVDauywiIqJ7MinkzJ49GzKZDIIgGH69cuUKfvvtt1rrLliwAFFRUZIXSvbjp/SC2kUJjV4LtYsSfkove5dERER0XyaFnKSkJGvXQQ2YWqHE7MCByNcW3wk8nMUhIqJGwKSQwyeLPxg0Om29QUatUDLcEBFRo2LRYx3IcdScXFxzSGp24ECGGiIiatTMCjmHDh3CZ599hsuXL6OiosJoTCaT4bPPPpOkOLIdnlxMRESORnTI2bZtG1avXg0vLy%2B0bdsWbm5u1qiLbIwnFxMRkaMRHXJ2796NmJgYLF26FHK53Bo1kR3w5GIiInI0okNOSUkJhg0bxoDjgKx5cvG9Tmq%2B1xgREZG5RIecbt26IS8vD%2BHh4daohxzQvU5q5gnPRERkLaIf6/DKK69g165dSE9Ph06ns0ZN5GDqOqnZlDEiIiJLiJ7J8fPzQ8%2BePTFz5kzIZDI0adLEaFwmk%2BH48eOSFUiN371OauYJz0REZC2iQ87bb7%2BNnTt3omPHjvD394dCobBGXeRA7nVSM094JiIiaxEdcj799FNMmTIFL7/8sjXqIQd1r5OaeTdlIiKyBtHn5FRVVaFnz57WqIWoThqdFr9oLkKj09q7FCIiakREh5xevXrh5MmT1qiFqJaaq6/eP//9nauwGHSIiMhEog9XzZgxA/PmzYObmxv69esHDw%2BPWut4enqavL/8/Hz885//xMmTJ5GdnQ1/f3%2BkpKTUWu/IkSNYu3YtcnNz0apVK8TGxmL8%2BPFiy6dGho%2BbICIic4kOOdHR0QCAlStXYuXKlXWuk5WVZfL%2BsrOzceTIEXTp0gXV1dUQBKHWOidOnMCMGTMQHR2NRYsWITMzE8uWLYNCocCYMWPEfgRqRHj1FRERmUt0yImLi4NMJpOsgAEDBmDQoEEAgEWLFuG3336rtU5CQgKCgoKwfPlyAEBYWBiuXLmCd999FzExMXByEn3UjRoJXn1FRETmEh1yZs2aJWkB9wsoOp0OGRkZmD9/vtHyqKgo7N27F2fOnEGnTp0krYnEs%2BajGe539VVxhRbZhVfRXFBCJecDY4mI6A7RIcfWLly4AL1eD39/f6PlHTp0AADk5uZaFHKcnaWfBZLLnYx%2BdXTFFVps%2BD0dGl051IqmmNtxMLxcbTPjUlyhxbqzh1CiL4enS1PMfXSQzd77QfSgfbftjf22LfbbdmzVa9EhZ%2BPGjfccl8lkiIuLM7ugu5WWlgIAVCqV0fKa1zXj5nBykkGttt4PRJXqwZhVyC68ipLKW1C5NkGJ/hauy7Ror25hu/fWl8PdxRUl%2BnKbvveD7EH5bjcU7Ldtsd%2B2Y%2B1eN/iQ8%2Bf9illuiupqAWVl5WZvXx%2B53AkqlRvKym6hqqpa8v03NM0FJTyd3aCpuDOT01xQQqOxzaXezQUlPF2aGmZybPneD6IH7bttb%2By3bbHftmNJr1UqN5NngESHnLNnz9ZaVlJSgkOHDuGDDz5AYmKi2F3eU80l6nfP2JSVlQGoPcMjVmWl9b7IVVXVVt1/Q6GSu2FWwP9ODlbJ3Wz2uVVyN8x9dBCuy7SGc3IehJ7b24Py3W4o2G/bYr9tx9q9luRgmKenJ0aPHo2oqCgsW7ZMil0atG3bFi4uLsjLyzNanpOTAwBo3769pO9H5lErlOiqbmOXq5%2B8XJXo3rIdz8UhIiIjkp7xExISgh9//FHKXUKhUCAsLAxpaWlGy1NSUuDj44OgoCBJ34%2BIiIgcg6RXV507dw5NmzYVtc2tW7dw5MgRAEBBQQFu3ryJL774AgDQvXt3eHl5IS4uDhMmTEB8fDyioqKQmZmJffv2YenSpbxHDhEREdVJdMhJTk6utUyn0%2BHcuXPYv38/hg8fLmp/169fx5w5c4yW1bxOSkpCjx49EBoaik2bNmHNmjVITk5Gq1atEB8fz7sdExERUb1kQl3PUbiHRx99tM7lrq6uGD58OBYuXIhmzZpJUpy1VVVVo7hY%2BitxnJ2doFbfucqHJ69ZH/ttO%2By1bbHftsV%2B244lvfbyUlrv6qr09PRay1xdXeHt7S12V0RERERWIzrk%2BPr6WqMOIiIiIknxrF0iIiJySCbN5ERFRZm8Q5lMhs8%2B%2B8zsgoiIiIikYFLI8fT0vO865eXlOH36tEWPWSAiIiKSikkh58MPP6x3rLKyEh9//DE2bdoEmUyGYcOGSVYcERERkbksuhlgWloa1q1bhwsXLqBnz56YP38%2BOnbsKFVtRERERGYzK%2BQcPXoUq1evxq%2B//oqgoCBs374d4eHhUtdGREREZDZRIefcuXNYvXo1vv/%2Bezz00EN45513EBkZaa3aiIiIiMxmUsi5cuUK1q1bh5SUFHh4eOCVV17B008/DRcXF2vXR0RERGQWk0LOkCFDoNfr0adPH7zwwgtQKpX4/fff610/ODhYsgKJiIiIzGFSyNHpdACAb7/9Ft9991296wmCAJlMhqysLGmqIyIiIjKTSSFnxYoV1q6DiIiISFImhZyRI0dauw4iIiIiSfHZVUREROSQGHKIiIjIITHkEBERkUNiyCEiIiKHxJBDREREDokhh4iIiBwSQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUNiyCEiIiKHxJBDREREDokhhxyaRqfFL5qL0Oi09i6FiIhszNneBRBZi0anxfpz6dDotVC7KDE7cCDUCqW9yyIiIhvhTA45rHxtMTR6LZRyV2j0WuRri%2B1dEhER2RBDDjksP6UX1C5KaKsqoHZRwk/pZe%2BSiIjIhni4ihyWWnHnEFW%2BtvhO4OGhKiKiBwpDDjk0tULJcENE9IDi4SoiIiJySAw5RERE5JAYcoiIiMghMeQQERGRQ2LIISIiIofEkENEREQOqdGEnPPnz2Py5Mno2rUrgOFcpQAAFNhJREFUwsPDsWzZMty%2BfdveZREREVED1Sjuk1NWVoZnn30WrVu3xvr161FcXIwVK1agpKQEq1evtnd5RERE1AA1ipCzZ88elJWVITk5GV5ed27NL5fLMX/%2BfLz44oto3769nSskIiKihqZRHK769ttvER4ebgg4ADBkyBAoFAocOXLEjpVRY6fRafGL5iI0Oq2oMUvHG%2Bu%2Biyu0%2BKnwPIorGlbdjbWf99vWkn431M9sKWvWfa9%2BN9TvmD3ragwaxUxObm4uYmJijJYpFAq0bdsWubm5Fu3b2Vn6nCeXOxn9StZlbr%2BLK7TY8Hs6NLpyqBVNMbfjYHi5Ku87Zul4Y973urOHUKIvh6dLU8x9dFCDqLsx9/N%2B25rb74b6mS1l7brr67e9vwcN8ftpKVv9nGwUIaesrAwqlarWcpVKhdLSUrP36%2BQkg1ptvecaqVRuVts31Sa239mFV1FSeQsq1yYo0d/CdZkW7dUt7jtm6Xij3re%2BHO4urijRlzeYuht1P%2B%2B3rZn9bqif2VJWr7ueftv9e9AAv59SsfbPyUYRcuojCAJkMpnZ21dXCygrK5ewojvkcieoVG4oK7uFqqpqyfdPxsztd3NBCU9nN2gq7vxLpbmghEajve%2BYpeONet8uTQ3/0m0odTfqft5vWzP73VA/s6WsXnc9/bb796ABfj8tZcnPSZXKzeQZIJkgCII5BdpSeHg4YmJiMH/%2BfKPlkZGR6Nq1K9566y2z9ltVVY3iYumPNTo7O0GtvvOFqKxkyLE2S/qt0WmRry2Gn9Kr1tPK7zVm6Xhj3XdZ1Z1/0TUXlFDJa/8LzF51N9Z%2B3m9bS/rdUD%2BzpaxZ97363VC/Y/asyxKW/L3t5aV0rJAzYcIEuLu7Y/PmzYZlOp0Ojz32GObNm4fnn3/erP0y5DgG9tt22GvbYr9ti/22HVuFnEZxZmzfvn2RkZEBjUZjWPbVV19Bp9MhIiLCjpURERFRQ9UoQs7TTz8Nd3d3zJgxA9999x2Sk5Px5ptvIioqivfIISIiojo1ihOPVSoVPvjgAyxbtgyzZs3C/2vv/qNqvv84gD/7ISUKJYY6S3MvcfWDVLQkx6%2BJnGE5LNah/FxkNbGGfNHMr1FpfkYUyepYDMMIG7ahmB%2BzylQYFbp0uf24n%2B8f%2B3aPVH4kPt8%2BPR/n3MN9f368n30c9/Pq/f58PtfQ0BBeXl5VrtEhIiIiqlAvihwAsLa2xqZNm8SOQURERPVEvZiuIiIiInpVLHKIiIhIkljkEBERkSSxyCEiIiJJYpFDREREksQih4iIiCSJRQ4RERFJEoscIiIikqR68QWdb4ogCNBo3syPr6en%2B8pfH0%2B1x%2BP99vBYv1083m8Xj/fbU9tjraurAx0dnZdat0EXOURERCRdnK4iIiIiSWKRQ0RERJLEIoeIiIgkiUUOERERSRKLHCIiIpIkFjlEREQkSSxyiIiISJJY5BAREZEkscghIiIiSWKRQ0RERJLEIoeIiIgkiUUOERERSRKLHCIiIpIkFjl16Pr165gwYQLs7e3h6uqKRYsW4cmTJ2LHkqT9%2B/dj6tSp6NOnD%2Bzt7TF06FAkJCRAo9GIHU3yiouL4e7uDrlcjosXL4odR7KSkpIwbNgwKBQKuLq6YvLkyWJHkqzDhw9j1KhRcHR0RK9evTB9%2BnRkZ2eLHaveu3HjBubNmwdvb2/Y2trCy8ur2vXS0tIwfPhwKBQK9O/fH/Hx8XWWQb/O9tTAKZVKjB8/Hm3btsWaNWtw7949RERE4MGDB1i%2BfLnY8SQnNjYWbdu2xeeffw4zMzOcOXMGixcvRm5uLmbPni12PElbu3YtysvLxY4haZGRkdiyZQsmT54MOzs7FBUV4cSJE2LHkqRffvkF06dPx7BhwzBz5kwolUpERUXBz88P%2B/btQ9OmTcWOWG/99ddfSEtLg52dHTQaDQRBqLLO%2BfPnMXXqVHh7eyM0NBTnzp3DokWLYGBggFGjRr1%2BCIHqxLp16wQ7OzuhsLBQ2/b9998LMplMyMzMFDGZND19nCssWbJEUCgUglqtFiFRw5CZmSnY29sLO3bsEGQymXDhwgWxI0lOZmam0LlzZ%2BHEiRNiR2kQ5s6dK/Tt21fQaDTatoyMDEEmkwnHjh0TMVn9V15erv377NmzhSFDhlRZZ8KECcLIkSMrtYWFhQm9e/eutH1tcbqqjhw/fhyurq5o2bKltm3gwIEwMDBAWlqaiMmk6enjXKFz585Qq9V48OCBCIkahsWLF2P06NGwtrYWO4pkJScnw9LSEm5ubmJHaRDKyspgbGwMHR0dbVuzZs1ETCQdurrPLzFKSkpw%2BvRpDBkypFL70KFDkZ%2Bfj8uXL79%2BhtfeAwEAsrKyYGNjU6nNwMAAVlZWyMrKEilVw3L27Fk0b94cZmZmYkeRpAMHDuDq1auYNm2a2FEkLSMjAzKZDNHR0XB1dUXXrl3x8ccf48qVK2JHk6SRI0ciOzsb27Ztg1KpRF5eHpYuXQobGxu4urqKHU/ScnJyUFpaig4dOlRqf%2B%2B99wCgTs6dLHLqiFKphImJSZV2ExMTFBUViZCoYbl48SKSk5Mxfvx46OnpiR1Hch4/foyvvvoKs2bN4jUKb1h%2Bfj5OnjyJ1NRUhIeHIzIyEo8fP4afnx%2BUSqXY8STHyckJUVFRWLVqFZycnNCvXz/k5uZi8%2BbNMDAwEDuepFWcG589d1a8r4tzJ4ucN0wQhErDoFT38vPzERgYCIVCAX9/f7HjSFJMTAzMzMzw4Ycfih1F8gRBgEqlQmRkJAYMGIC%2BffsiJiYGxcXFSExMFDue5Jw7dw4hISEYMWIEtmzZgqioKBgaGsLf3x%2BPHj0SO16DUNM5si7Onby7qo6YmJhU%2B1vWw4cPq0xjUd15%2BPAh/P39YWhoiJiYGDRq1EjsSJJz8%2BZNbN68GdHR0doPfZVKpf2zuLgYxsbGYkaUFFNTU5ibm6Njx47aNgsLC3To0AGZmZkiJpOmRYsWwcXFBV988YW2rXv37nB3d0dSUhL8/PxETCdtpqamAKqO2FScS6ubHXlVLHLqiI2NTZX5w5KSEuTk5GDEiBEipZI2tVqNKVOmoKCgAImJiWjRooXYkSQpLy8PpaWlCAgIqLJs3LhxsLOzw65du0RIJk02Nja4detWlXZBEF54ISe9uqysLHh6elZqa9myJSwsLJCTkyNSqobBysoKjRo1QnZ2Ntzd3bXtFcV8XQwQsMipI%2B7u7oiJicH9%2B/e1J9tDhw6hpKQEffr0ETmd9JSVlWHGjBm4evUqtm/fjnbt2okdSbI6d%2B6MuLi4Sm1XrlxBREQEwsPDoVAoREomTR4eHkhJScG1a9cgk8kAAHfu3EF2djanC9%2BAtm3b4tKlS5Xa8vPzcffuXX6uvGEGBgZwcXHB/v378cknn2jb9%2B7di1atWsHW1va1%2B9BbsGDBgtfeC6Fjx4747rvvcOLECbRu3Rrnz5/HkiVL0L9/f4wePVrseJKzYMEC7N27FzNmzICFhQX%2B%2Becf7atp06a8YLAONW7cGO3bt6/0UqvVSElJwfTp09G1a1exI0qKtbU1jh07hj179sDMzAw3btzA/PnzAQARERGckn0Dtm7divv370NfXx%2BXLl3C/Pnz8eTJE4SHh3Mq9jU8fvwYR44cQWZmJn7%2B%2BWcUFBSgTZs2yMzMRMuWLWFkZARLS0t8%2B%2B23uH37NoyNjZGamorY2FjMmTOnTj5bdAShmkcQUq1cv34dixYtwtmzZ2FoaAgvLy8EBwfD0NBQ7GiS4%2BnpiZs3b1a7LC4uDs7Ozm85UcNy5swZjBs3Drt37%2BZIzhtQWFiIJUuWIC0tDWVlZXBycsKcOXOq3GpLr08QBOzatQsJCQnIyclBkyZNoFAoEBQUBLlcLna8ei0vLw/9%2BvWrdtnTn9NpaWlYuXIlsrKy0KZNG/j5%2BWHs2LF1koFFDhEREUkSr2IjIiIiSWKRQ0RERJLEIoeIiIgkiUUOERERSRKLHCIiIpIkFjlEREQkSSxyiIiISJJY5BAREZEkscghkoDk5GTI5XLty9bWFm5ubggKCsLff/8tWq60tDRERkZWu8zT0xOhoaFvOdGLRUVF4YMPPoBGowHw71Nb5XI5Nm3aJHKyV3fq1Ck4ODjgzp07YkchEgWLHCIJiYiIQGJiImJjYzF27Fj89NNPGDNmDIqKikTJk5aWhqioqGqXRUVFYerUqW850fPduXMHmzZtQmBgoCS%2B8dvV1RUKhQIrV64UOwqRKOr//2Ii0urYsSPs7e3h7OyMKVOmwN/fH4WFhTh8%2BLDY0aqwtbWFlZWV2DEqiYuLQ7NmzTBgwACxo9RIEAQ8efLkpdcfO3YsUlNTcfv27TeYiuj/E4scIgmr%2BPLMwsLCSu1yubzaaaRnp5AqpsFOnz6N%2BfPnw9nZGc7Ozpg%2BffoLp0BCQ0MRHx%2Bv7a/ilZeXV21fZ86cgVwuR2pqKpYtWwY3Nzc4ODhg8uTJKCgowKNHj/Dll19qM8yZMwfFxcWV%2BhQEAfHx8fD29ka3bt3g5OSEwMBA5ObmvvBYlZSUYPfu3fDy8qpxFCc2Nhaenp5wcHCAj48P0tPTq6xz5MgR%2BPj4wM7ODg4ODvDz88P58%2BerHBtPT88q20ZGRlb5Uki5XI6FCxdix44dGDx4MBQKBVJSUgAACQkJGDZsGBwcHODg4IBBgwZVGbXp27cvmjRpgl27dr3wGBBJjb7YAYjozakoKN59993X2k9YWBg8PDywYsUK3L59G8uWLUNISAji4uJq3Gbq1KlQqVQ4ePAgEhMTte0WFhbP7WvVqlVwdnZGREQEbt68iaVLl2LWrFnQ19eHXC7HypUrcfnyZaxatQrGxsYICwvTbjtv3jykpKTA19cXwcHBKCoqQnR0NEaPHo09e/bA3Ny8xn4vXLiABw8e1PgN9vHx8ejQoQPmzp0LAFi9ejUCAgJw5MgRNGvWDACQmpqK4OBguLm5YcWKFSgpKcHGjRvh6%2BuLLVu2oEePHs/92Wty%2BPBh/P7775g2bRrMzc1hZmaGffv2ITw8HL6%2Bvpg9ezZ0dXVx48YNZGZmVtrWwMAADg4OSEtLw4wZM2rVP1F9xSKHSEI0Gg3KysqgVqtx7tw5xMTEwMnJqdpRg1fx/vvvVyomioqKsGzZMuTn56NVq1bVbmNlZaUtKuzt7V%2B6L5lMhoiICO377OxsbN26VXsyB4DevXsjPT0dqamp2lzp6enYtWsXQkND4efnp92%2BR48eGDhwIGJjYxESElJjvxWjLV26dKl2ubGxMdatWwc9PT0A/xZro0aNwvHjxzFkyBBoNBp8/fXXkMlk2LBhg3Y0qE%2BfPujfvz%2BWL1%2BOnTt3vvRxeJpKpUJqaipMTU21bTt37oSJiUmlfxdXV9dqt7e1tcX69euhUqnQpEmTWmUgqo84XUUkIR999BG6dOkCR0dHTJw4ESYmJli7di309V/v95lni6SKKZVbt2691n6r07dv30rvbWxsAAAeHh5V2h88eKCdsjp69Ch0dHQwbNgwlJWVaV/m5ubo1KkTfv311%2Bf2e/fuXejo6KBFixbVLvfw8NAWOADQqVMnAMDNmzcBANevX8fdu3fh7e1dabrL2NgYAwYMQEZGBh4/fvwSR6AqFxeXSgUO8O9UpFKpxKxZs3D48GHcu3evxu3NzMyg0WhQUFBQq/6J6iuO5BBJyNKlS2FjY4Pi4mL88MMPSExMxKxZs7Bx48bX2m/z5s0rvTcwMACAV7oA9mU9ezJv1KjRc9vVajWMjY1RWFgIQRDQq1evavdraWn53H7VajX09fUrFTJPq%2BkYqNVqAMD9%2B/cBoNqRLQsLC2g0GiiVShgZGT03R3Wq2%2Bfw4cNRXl6OpKQkBAYGQqPRQKFQYObMmejdu3eldRs3bgzgzfx7Ef0/Y5FDJCE2Njbai41dXFyg0WiQlJSEAwcOYNCgQdr1DAwMUFJSUmX7ihN1fdSiRQvo6OggPj5eW4A8rbq2Z7cvLS2t9ZROxQhQfn5%2BlWV3796Frq4uTExMtFle5fjr6OhU2z5ixAiMGDECKpUKv/32GyIjIzFp0iQcPHgQ7dq1065X8QiBmkapiKSK01VEEhYSEgJTU1OsWbNG%2B3A7AGjXrh3%2B/PPPSuueOnUKKpWqTvt/kyM%2Bz/Lw8IAgCLhz5w4UCkWV17N3LT3L2toaAJCTk1Or/q2trdG6dWvs3bsXgiBo21UqFX788UfY29trR3Hat2%2BPwsLCStNHJSUlOHnyZK36btKkCfr06YPJkyejtLS0ysXHubm5aN68%2BXMvvCaSIo7kEEmYqakpAgICsGzZMqSmpsLb2xsA4O3tjdWrV2P16tXo2bMnMjMzsX37du1dQnVFJpMBADZs2AB3d3fo6upCLpe/cFSlNrp37w4fHx/MnTsXf/zxB5ycnGBkZIT8/HycPXsWMpkMY8aMqXH7iruqMjIytNfbvApdXV2EhIQgODgYkyZNgo%2BPD0pKSrBp0yYolUp89tln2nUHDx6MNWvWICgoCBMnToRarca2bdtQXl7%2B0v2FhYXB0NAQjo6OaNWqFfLz87F%2B/Xo0a9ZMO5pXIT09HT179qxxRIhIqljkEEmcr68v4uPjsXbtWnh5eUFPTw8TJkzAo0ePkJKSgs2bN6Nbt25YvXp1nT%2BB2MvLC%2BfOnUNCQgKio6MhCAKOHDmC9u3b12k/FRYuXAg7OzskJiZix44d0Gg0sLCwgKOjI7p16/bcbd955x306NFD%2B5yb2hg6dCiMjIywfv16BAUFQU9PD3Z2doiLi4Ojo6N2PUtLS0RHR2PVqlUIDAxEq1at4Ofnh3v37tX4hOhn9ejRA8nJydi/fz%2BKiorQokULdO/eHUuXLkXLli216%2BXk5ODatWv49NNPa/UzEdVnOsLT46pERA3YwYMHERQUhKNHj6J169Zix6kT33zzDfbs2YNDhw699l12RPUNr8khIvqfAQMGQKFQYN26dWJHqRNKpRIJCQkICgpigUMNEoscIqL/0dHRwX/%2B8x/tLd/1XV5eHgICAjB06FCxoxCJgtNVREREJEkcySEiIiJJYpFDREREksQih4iIiCSJRQ4RERFJEoscIiIikiQWOURERCRJLHKIiIhIkljkEBERkST9F7vfvAoXa3b4AAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHKCAYAAADhBVpHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1xUdf4/8NcwMIgjA4OgrqQkGiSIipWCN7xmLiIqXtq8RJmXxGu5Xoq%2BlpmXzdRUNNHVIjXTNLZYKJPSagszMS1F4%2BKioiHKADooM8D5/eGP2UZA58ycmYHx9Xw8euiczzln3vN2kpefc5MJgiCAiIiIyME42bsAIiIiImtgyCEiIiKHxJBDREREDokhh4iIiBwSQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUNiyCGqx4EDBxAYGIiQkBAUFBTUGp84cSKGDRtmh8qAo0ePIjAwEF988YVd3l%2BsS5cuYerUqejevTsCAwPx1ltv2buke1q0aBEGDBhg7zJs6vPPP8f7779f51hgYCA2bNhg24KIJOBs7wKIGjqdTod169bh7bfftncpjdaKFStw8uRJLF%2B%2BHN7e3vDx8bF3SXSXlJQUZGdnIzY2ttbYxx9/jFatWtm%2BKCILcSaH6D769OmDlJQUnD171t6l2Nzt27chxePtsrOz0blzZwwaNAhdu3aFr6%2BvydsKgoDbt29bXAPB7D527dqVIYcaJYYcovt44YUX4Onped%2BZnEuXLiEwMBAHDhyoNXb3dP%2BGDRsQGBiIs2fPYvbs2XjsscfQvXt3rFixApWVlcjLy8PkyZMRGhqKAQMGYOvWrXW%2BZ0VFBVasWIFevXqhc%2BfOmDBhAs6cOVNrvV9//RXTp09H9%2B7dERISghEjRiA1NdVonZrDc99//z0WL16MsLAwdOnSBTqdrt7PfPnyZcyfPx/h4eHo1KkThg4diu3bt6O6uhrA/w6r5efn49tvv0VgYCACAwNx6dKlevcZGBiIpUuX4qOPPsLQoUMREhKCTz/9FMCdWbVNmzbhqaeeQqdOnRAWFobFixejuLjYaB%2Bpqal4/vnn0bt3b3Tu3BlDhw7F6tWrUV5eXuv9Dhw4gCFDhhjqT05OrrOu3bt3Y/jw4QgNDUVoaCieeuoprFmzpt7PUaOkpASvv/46%2BvTpg06dOmHgwIFYu3atUV9HjBiBZ555pta2VVVV6NOnD2bOnGlYZmoPBgwYgGnTpuHgwYMYMWIEQkJCsHHjxjprnDhxIg4fPoyCggLDn1FgYKBh/O7vb8135ccff0R8fDx69OiBbt26YcGCBSgvL0dRURHmzJmDxx9/HL1798aqVaug1%2BuN3tPUz0FkCR6uIroPpVKJF198EW%2B99RZ%2B/PFHhIeHS7bvuXPnYvjw4Xj66afxn//8B9u2bUNlZSV%2B%2BOEHPPPMM5g8eTI%2B//xzrF69Gn5%2BfnjyySeNtl%2B7di2CgoKwbNky3LhxAxs3bsTEiRORnJyMNm3aAAAyMjLwwgsvoEuXLnj99dfh7u6O1NRUzJs3D7dv38aoUaOM9vnKK6%2BgX79%2B%2BMc//oFbt27B2bnuvyaKi4vx9NNPQ6/XY86cOfD19cXhw4exatUqXLhwAa%2B//jqCg4Px8ccfY%2BbMmWjTpg0WLlwIAGjRosU9%2B3Lo0CH8/PPPiIuLg7e3N5o3b47q6mrMmDEDx48fx%2BTJk9GtWzcUFBRgw4YNOHXqFPbv348mTZoAAP773/%2Bib9%2B%2BePbZZ%2BHm5oa8vDxs3boVp06dQlJSkuF9Dhw4gMWLF2PgwIFYtGiRoYc6nQ5OTv/7N%2BC///1vvPHGG5g4cSIWLlwIJycn5OfnIycn556fo6KiApMmTcLFixcxa9YsBAYG4ueff0ZiYiKysrKQmJgIABg1ahTeeust/Pe//8XDDz9s2P7777/H1atXDX9GYnoAAKdPn0Zubi5efPFFPPTQQ3Bzc6uzziVLluC1117DxYsX6w1CdYmPj8eTTz6JNWvW4MyZM1i7di2qqqpw/vx5DB48GOPGjcMPP/yArVu3okWLFnjuuefM%2BhxEZhOIqE779%2B8XAgIChFOnTgkVFRXCwIEDhVGjRgnV1dWCIAjChAkThMjISMP6Fy9eFAICAoT9%2B/fX2ldAQICwfv16w%2Bv169cLAQEBwvbt243Wi46OFgICAoSDBw8alun1eiEsLEyYOXOmYVlGRoYQEBAgjBw50lCPIAjCpUuXhODgYOHVV181LHvqqaeEESNGCHq93ui9pk2bJvTq1Uuoqqoy%2BrwLFiwwqT%2BrV68WAgIChJMnTxotX7JkiRAYGCjk5eUZlvXv31%2BYOnWqSfsNCAgQHnvsMaGkpMRoeUpKihAQECB8%2BeWXRstPnTolBAQECLt27apzf9XV1YJerxd%2B%2BuknISAgQMjKyhIEQRCqqqqE3r1719vD/v37G5YtXbpUePzxx02q/88%2B%2BugjISAgQEhNTTVanpiYKAQEBAjff/%2B9IAiCUFxcLAQHBwtr1qwxWm/OnDlCz549DX92YnrQv39/oWPHjkZ/DvcydepUo8/8Z3d/f2u%2BK2%2B%2B%2BabRejNmzBACAgKEHTt2GC2Pjo4WRo4caXht7p8lkVg8XEVkAoVCgblz5%2BK3335DWlqaZPvt16%2Bf0ev27dtDJpOhb9%2B%2BhmXOzs7w8/Or8wqvYcOGQSaTGV77%2BvoiNDQUR48eBQDk5%2BcjLy8PUVFRAIDKykrDf3379kVRURHOnz9vtM%2B7Z4vqk5GRgQ4dOqBz585Gy0eNGgVBEJCRkWHSfuoSFhYGDw8Po2XffPMNVCoV%2Bvfvb/Q5OnbsCB8fH/z000%2BGdS9evIiXX34ZvXr1QseOHREcHIwJEyYAAPLy8gAA58%2Bfx9WrV%2Bvt4Z%2BFhISgrKwML730Eg4dOmTyIZWMjAw0bdoUTz31lNHympmZH3/8EQCgVqsxYMAAfPrpp4ZDfaWlpUhPT0d0dLRhNk1MD4A7h5natWtnUq3mqOv7CwARERG1lv/5%2Byv2cxCZi4eriEwUGRmJ7du3Y%2B3atRg8eLAk%2B7z7B7mLiwvc3Nzg6upaa/nNmzdrbe/t7V3nspqTpK9duwYAWLVqFVatWlVnDRqNxui1qVc%2BlZSU1HkCcc2hqJKSEpP2U5e6arh%2B/TrKysrQqVOnOrep%2BRxarRbPPPMMXF1dMXfuXDz88MNo0qQJ/vjjD8ycOdNw8m3N%2BvX18M8/lEeMGIGqqirs27cPs2fPRnV1NUJCQjB37lz06tWr3s9RUlICb29voxAFAM2bN4ezs7NRj2JiYvDll1/iP//5j%2BFkd51OZ3Q40dQe1LD2VWx1fX/rW/7nc5DEfg4iczHkEJlIJpNh/vz5eO6557B3795a4zXB5O4Tda35F3ZNiLl7maenJ4A7MwQAMG3atHqD2d3/0r/7B3J9PD09UVRUVGv51atXjd7bHHXVoFar4enpiW3bttW5jVKpBHBn9uTq1av48MMP0b17d8P4jRs3au0PqL%2BHd4uJiUFMTAzKy8tx7NgxbNiwAdOmTcOXX35Z79Vinp6eOHnyJARBMPpM169fR2VlpVGPevfujRYtWuDAgQPo06cPDhw4gC5duqBDhw6ie1DD1D9LWxP7OYjMxZBDJELPnj3Rq1cvJCQk1Lqk1tvbG66urjh37pzR8vT0dKvVk5KSgueee87ww6ygoAAnTpxAdHQ0AMDf3x8PP/wwzp49i5deeknS9w4PD8eWLVtw%2BvRpBAcHG5YnJydDJpOhR48ekr5fv3798O9//xvV1dXo0qVLvevV9EKhUBgt37Nnj9Hrdu3awcfHp94e1ndydNOmTREREQG9Xo%2B4uDjk5OTUG3LCw8ORlpaGQ4cOGYXMmiu4/nwSu1wuR3R0ND744AP8/PPP%2BO2337B06VKzemAOhUJhs0v1rfk5iP6MIYdIpPnz52PUqFG4fv06HnnkEcNymUyG4cOHY//%2B/Wjbti0effRRnDp1CikpKVarpbi4GHFxcRg7dixu3LiBDRs2QKFQYNq0aYZ13njjDUyZMgWTJ0/GyJEj0bJlS5SWliI3NxenT5/G%2BvXrzXrv2NhYJCcnY9q0aZg9ezZat26Nw4cPY/fu3fjb3/4m%2BbkgkZGR%2BPzzzzF16lRMnDgRnTt3houLC/744w8cPXoUAwcOxODBgxEaGgoPDw8sWbIEM2fOhLOzMz7//PNa4dPJyQlz5sxBfHy8oYdlZWXYuHFjrUNY8fHxaNKkCbp16wYfHx8UFRUhMTER7u7uCAkJqbfmESNGYNeuXVi4cCEKCgoQEBCA48ePY8uWLYiIiEDPnj2N1o%2BJicHWrVvx8ssvo0mTJvjrX/9qVg/MERAQgIMHD2L37t3o1KkTZDLZPT%2BbJaz5OYj%2BjCGHSKSgoCBERkbWGV4WLVoEANi2bRvKy8vRo0cPvPfee1Z7RMC8efPw66%2B/YvHixbh58yY6d%2B6MNWvWoG3btoZ1wsLCsG/fPrz33ntYvnw5ysrK4Onpifbt22Po0KFmv7eXlxf27NmDd955B%2B%2B88w60Wi0eeugh/P3vfzdcKiwluVyOzZs3IykpCf/617%2BQmJgIuVyOVq1a4YknnkBAQACAO4dCtmzZglWrVuHvf/873NzcDPemGTlypNE%2Bx4wZA%2BDOn9fMmTPh6%2BuLadOm4dixY0Ynvz7%2B%2BOM4cOAA0tLSUFpaCrVajcceewyrVq2Cl5dXvTW7uroiKSkJa9euxbZt26DRaNCyZUs8//zzRve%2BqdGuXTuEhobixIkTiIqKgru7u1k9MMekSZOQnZ2NtWvX4saNGxAEoVYwlIo1PwfRn8kEQYLbmRIRERE1MLyEnIiIiBwSQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUNiyCEiIiKH9EDfDFAQBFRXW%2Bc2QU5OMqvtm2pjv22HvbYt9tu22G/bMbfXTk4yk5/L9kCHnOpqAcXFWsn36%2BzsBLVaibKyclRWVku%2BfzLGftsOe21b7Ldtsd%2B2Y0mvvbyUkMtNCzk8XEVEREQOiSGHiIiIHBJDDhERETkkhhwiIiJySAw5RERE5JAYcoiIiMghMeQQERGRQ2LIISIiIofEkENEREQOiSGHiIiIHBJDDhERETkkhhwiIiJySAw5REREJJpGp8UvmovQ6KR/0LVUHuinkBMREZF4Gp0W68%2BlQ6PXQu2ixOzAgVArlPYuqxbO5BAREZEo%2BdpiaPRaKOWu0Oi1yNcW27ukOjHkEBERkSh%2BSi%2BoXZTQVlVA7aKEn9LL3iXViYeriIiISBS14s4hqnxt8Z3A0wAPVQEMOURERGQGtULZYMNNDR6uIiIiIofEkENEREQOiSGHiIiIHBJDDhERETkkhhwiIiJySAw5RERE5JAYcoiIiMghMeQQERGRQ2LIISIiIofEkENEREQOiSGHiIiIHBJDDhERETmkBhNy9u3bh%2BHDhyMkJATh4eGYPn260fiRI0cwYsQIhISEYPDgwdi1a5edKiUiIqLGoEE8hXzDhg14//33MX36dHTp0gWlpaX47rvvDOMnTpzAjBkzEB0djUWLFiEzMxPLli2DQqHAmDFj7Fg5ERERNVR2Dzm5ubnYvHkzEhMT0bt3b8PywYMHG36fkJCAoKAgLF%2B%2BHAAQFhaGK1eu4N1330VMTAycnBrMhBQRERE1EHZPBwcOHECbNm2MAs6f6XQ6ZGRkIDIy0mh5VFQUioqKcObMGVuUSURERI2M3WdyTp48iYCAACQkJGDnzp24ceMGunbtildffRUdO3bEhQsXoNfr4e/vb7Rdhw4dANyZCerUqZPZ7%2B/sLH3Ok8udjH4l62K/bYe9ti3227bYb9uxVa/tHnKKiopw%2BvRpZGdn44033oCLiws2btyI5557DgcPHkRpaSkAQKVSGW1X87pm3BxOTjKo1Urzi78PlcrNavum2thv22GvbYv9ti3223as3Wu7hxxBEFBeXo4NGzbgkUceAQAEBwdj4MCB%2BPjjj9GtWzcAgEwmq3P7%2BpaborpaQFlZudnb10cud4JK5YaysluoqqqWfP9kjP22Hfbatthv22K/bceSXqtUbibPANk95Hh4eMDb29sQcACgRYsW8Pf3R05ODvr37w%2Bg9oxNWVkZgNozPGJVVlrvi1xVVW3V/ZMx9tt22GvbYr9ti/22HWv32u4HHtu3b1/nckEQ4OTkhLZt28LFxQV5eXlG4zk5OffcnoiIiB5sdg85/fr1w7Vr1/D7778blhUWFiIvLw%2BBgYFQKBQICwtDWlqa0XYpKSnw8fFBUFCQrUsmIiKiRsDuIWfw4MEIDg7GrFmzkJqaikOHDmH69Onw8vLC2LFjAQBxcXH47bffEB8fj6NHj2Lz5s3Yt28f5syZw3vkEBERUZ1kgiAI9i7i%2BvXrWL58OY4cOYLKyko88cQTWLx4sdFl40eOHMGaNWuQm5uLVq1a4bnnnsP48eMtet%2BqqmoUF2stLb8WZ2cnqNVKaDRaHte1Afbbdthr22K/bYv9th1Leu3lpTT5xOMGEXLshSHHMbDftsNe2xb7bVvst%2B3YKuTwWA8RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUMS/ViHwsJCaLVaw%2BXdVVVV2L59O86cOYNevXph9OjRkhdJREREJJbokLNkyRL85S9/wZIlSwAAmzZtQkJCAlQqFb744gu4uLggOjpa8kKJiIiIxBB9uOr06dPo0aOH4fXevXsRGxuLn376CWPHjsXu3bslLZCIiIjIHKJDTklJCby9vQEAubm5KCoqwsiRIwEAQ4YMwfnz56WtkIiIiMgMokOOu7s7iouLAQDHjh2Dh4cHAgMDAQAymQx6vV7aComIiIjMIPqcnM6dO2Pr1q1wdnZGUlISevfubRi7ePEiWrRoIWmBREREROYQPZMzZ84cXLx4ETNmzMD169cxffp0w9ihQ4cQEhIiaYFERERE5hA9k9OxY0d88803yMvLg5%2BfH5o1a2YYe%2BaZZ%2BDn5ydpgURERETmEB1yAMDNzQ3BwcG1lvfr18/SeoiIiIgkYdYdj4uLi/HOO%2B9g3LhxGDJkCLKzswEAe/bswZkzZyQtkIiIiMgcokPOxYsXMXz4cHz44YeQyWS4cOECdDodAODcuXP48MMPJS%2BSiIiISCzRIeftt9%2BGSqXCl19%2BiZ07d0IQBMPYY489hszMTEkLJCIiIjKH6JCTkZGBmTNnomXLlpDJZEZjPj4%2BuHr1qmTFEREREZlLdMipqKiAh4dHnWO3bt2qFXyIiIiI7EF0yGnXrh1%2B%2BOGHOseOHTuGgIAAi4siIiIispTokDNmzBgkJSXhgw8%2BQGlpKQBAr9fjiy%2B%2BwO7duzFu3DjJiyQiIiISS/R9csaPH4%2BzZ89ixYoVWLVqFYA7NwEUBAFjxowxPKyTiIiIyJ7Muhngm2%2B%2BiZiYGBw%2BfBjXr1%2BHWq1Gv3790K1bN6nrIyIiIjKL6JBz%2BfJl%2BPj4oGvXrujatavRWGVlJa5evYrWrVtLViARERGROUSfkzNw4EBkZWXVOXb27FkMHDjQ4qKIiIiILCU65Pz55n93q66u5iXkRERE1CCY9eyquuh0Onz77bdQq9VS7ZKIiIjIbCadk7Nx40YkJCQAAGQy2T0vEx8zZow0lRERERFZwKSQExISYrhMfPfu3RgyZAi8vb2N1lEoFAgICMCwYcOsUigRERGRGCaFnIiICERERAC48%2BiGGTNmoE2bNlYtjIiIiMgSoi8hX7FihTXqICIiIpKU6JCTnJx833VGjBhhVjFEREREUhEdchYtWlTn8j9fOs6QQ0RERPYmOuSkp6fXWqbRaJCeno7U1FSsXbtWksKIiIiILCE65Pj6%2Bta5rFOnTqisrERSUhJWrlwpSXFERERE5pLsZoAAEB4ejq%2B//lrKXRIRERGZRdKQU1BQACcnSXdJREREZBbRh6uOHTtWa5lOp8O5c%2BewZcsWhIeHS1IYERERkSVEh5yJEyfWeghnzUM7e/bsiddee02ayoiIiIgsIDrkJCUl1Vrm6uoKX1/fWo96ICIiIrIX0SGne/fukhZw4MABLF68uNbyKVOmYP78%2BYbXR44cwdq1a5Gbm4tWrVohNjYW48ePl7QWIiIichyiQ461bNu2De7u7obXLVu2NPz%2BxIkTmDFjBqKjo7Fo0SJkZmZi2bJlUCgUfOo5ERER1Ul0yNHr9di6dStSUlJw%2BfJlVFRUGI3LZDKcOXNGdCHBwcHw8vKqcywhIQFBQUFYvnw5ACAsLAxXrlzBu%2B%2B%2Bi5iYGF7RRURERLWIDjlr1qzB%2B%2B%2B/j759%2B2LQoEFQKBTWqMtAp9MhIyPD6NAVAERFRWHv3r04c%2BYMOnXqZNUaiIiIqPERHXLS0tIQFxeHmTNnSlrIsGHDoNFo0Lp1a4wdOxYvvPAC5HI5Lly4AL1eD39/f6P1O3ToAADIzc21KOQ4O0s/CySXOxn9StbFftsOe21b7Ldtsd%2B2Y6teiw45paWlePzxxyUrwMfHB7NmzUKXLl0gk8nw9ddfY926dSgsLMT//d//obS0FACgUqmMtqt5XTNuDicnGdRqpfnF34dK5Wa1fVNt7LftsNe2xX7bFvttO9buteiQ88QTT%2BDs2bMICwuTpIA%2BffqgT58%2Bhte9e/eGq6srPvjgA0yfPt2w/O5789xvuSmqqwWUlZWbvX195HInqFRuKCu7haqqasn3T8bYb9thr22L/bYt9tt2LOm1SuVm8gyQ6JATHx%2BPGTNmoHXr1ujXr59VzskZOnQotm/fjqysLMMDQe%2BesSkrKwNQe4ZHrMpK632Rq6qqrbp/MsZ%2B2w57bVvst22x37Zj7V6LDjnR0dGorKzEnDlzIJPJ0KRJE6NxmUyG48ePS1Zg27Zt4eLigry8PPTt29ewPCcnBwDQvn17yd6LiIiIHIfokDNkyBCLDhGZIjU1FXK5HEFBQVAoFAgLC0NaWhpiY2MN66SkpMDHxwdBQUFWrYWIiIgaJ9EhZ%2BXKlZIWMHnyZISFhSEgIAAAkJ6ejr1792LSpEnw8fEBAMTFxWHChAmIj49HVFQUMjMzsW/fPixdupT3yCEiIqI62f2Ox%2B3atcMnn3yCP/74A9XV1Xj44YfxyiuvYOLEiYZ1QkNDsWnTJqxZswbJyclo1aoV4uPjebdjIiIiqpdJIefYsWMICgqCUqnEsWPH7rv%2BE088YXIB8fHxJq0XERGBiIgIk/dLREREDzaTQs7EiROxd%2B9edO7cGRMnTqz3nBxBECCTyZCVlSVpkURERERimRRykpKSDFcxJSUlWbUgIiIiIimYFHK6d%2B9e5%2B%2BJiIiIGipemkREREQOyayrq86cOYPPP/8cly9fRkVFhdGYTCbD5s2bJSmOiIiIyFyiQ05ycjIWL14MJycneHl5wcXFxWjc2jcKJCIiIjKF6JCzefNmREREYNWqVfDw8LBGTUREREQWE31OztWrVzFp0iQGHCIiImrQRIecjh07orCw0Bq1EBEREUlGdMhZsGABEhMTcfbsWWvUQ0RERCQJ0efkdO3aFU8%2B%2BSRGjhwJHx%2BfWoetZDIZPvvsM8kKJCIiIjKH6JCTmJiILVu2wMvLC61bt651dRURERFRQyA65CQlJSEmJgZLly6FXC63Rk1EREREFhN9To5Wq8WwYcMYcIiIiKhBEx1yunXrhtzcXGvUQkRERCQZ0SHn1VdfxZ49e3Do0CHodDpr1ERERERkMdHn5MTExKCyshKzZs2CTCZDkyZNjMZlMhmOHz8uWYFERERE5hAdcoYMGcLnUxEREVGDJzrkrFy50hp1EBEREUlK9Dk5RERERI0BQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUMSdQm5IAg4efIksrOzodFoIJPJ4OnpiUceeQRdunTh/XOIiIiowTA55Pz73//GP/7xD1y9ehWCIBiNyWQytGjRAgsWLEBkZKTkRRIRERGJZVLISU1Nxcsvv4xevXphwYIFCAwMhIeHBwCgtLQU586dw6effor58%2BfDyckJQ4cOtWrRRERERPdjUshJTEzE2LFjsXTp0lpjPj4%2B6NChAyIjI/Haa69hy5YtDDlERERkdyadeJyXl4dhw4bdd71hw4YhLy/P4qKIiIiILGVSyPHw8EB%2Bfv5917tw4YLhMBYRERGRPZkUcp566imsXr0aqampqK6urjVeXV2NtLQ0rF69moeqiIiIqEEw6ZycefPmITc3Fy%2B99BJee%2B01tG/fHh4eHpDJZCgpKUFubi7Ky8vRs2dPzJs3z9o1ExEREd2XSSGnadOm2L59O44cOYKvvvoKOTk5uHDhAgBArVYjMjISgwYNQt%2B%2Bfa1aLBEREZGpRN0MMCIiAhEREdaqhYiIiEgyfKwDEREROSRJQ05ubi42btwo5S6JiIiIzCJpyMnJyUFCQoKUuyQiIiIyCw9XERERkUMy6cTjgQMHmrSz27dvW1SMVqvF0KFDUVhYiE8%2B%2BQQhISGGsSNHjmDt2rXIzc1Fq1atEBsbi/Hjx1v0fkREROS4TAo5ly9fRtu2bdGuXbt7rldUVITi4mKzi9m0aROqqqpqLT9x4gRmzJiB6OhoLFq0CJmZmVi2bBkUCgXGjBlj9vsRERGR4zIp5Pj5%2BaFLly5YtWrVPdf74osvzL4ZYG5uLnbv3o2FCxdiyZIlRmMJCQkICgrC8uXLAQBhYWG4cuUK3n33XcTExMDJiUfdiIiIyJhJ6SAoKAhZWVn3XU8mk5ldyFtvvYWnn3661myRTqdDRkYGIiMjjZZHRUWhqKgIZ86cMfs9iYiIyHGZNJPTt29flJSU3He9Dh06IC4uTnQRX3zxBc6ePYv169fj9OnTRmMXLlyAXq%2BHv79/rfcC7swAderUSfR71nB2ln4WSC53MvqVrIv9th322rbYb9tiv23HVr02KeSMGDECI0aMuO967du3x8yZM0UVcOvWLaxcuRIvvfQSmjVrVmu8tLQUAKBSqYyW17yuGTeHk5MMarXS7O3vR6Vys9q%2BqTb223bYa9tiv22L/bYda/da1GMdrGHz5s1o3rw5Ro0adc/16jsUZskhsupqAWVl5WZvXx%2B53AkqlRvKym6hqqr2U9tJWuy37bDXtsV%2B26Twa/4AACAASURBVBb7bTuW9FqlcjN5BsiuIaegoADbt29HQkICbt68CQAoLy83/KrVauHh4QGg9oxNWVkZgNozPGJVVlrvi1xVVW3V/ZMx9tt22GvbYr9ti/22HWv32q4h59KlS9Dr9Zg6dWqtsUmTJqFLly7YuXMnXFxckJeXZ/SU85ycHAB3DpERERER3c2uIadjx45ISkoyWpaVlYUVK1bgjTfeQEhICBQKBcLCwpCWlobY2FjDeikpKfDx8UFQUJCNqyYiIqLGwK4hR6VSoUePHnWOBQcHIzg4GAAQFxeHCRMmID4%2BHlFRUcjMzMS%2BffuwdOlS3iOHiIiI6iQqIVRVVeH8%2BfOG82FsJTQ0FJs2bcKvv/6KyZMnY//%2B/YiPj%2BfdjomIiKheomZyBEFAZGQkNm/ejIiICKsU1KNHD5w7d67W8oiICKu9JxERETkeUTM5zs7O8Pb2hiAI1qqHiIiISBKiT2iJjIxEcnKyNWohIiIikozoE48fffRRpKamYtKkSXjyySfh4%2BNT64Z8Tz75pGQFEhEREZlDdMhZuHAhAKCwsBA//fRTrXGZTGbSwzyJiIiIrEl0yLn7vjZEREREDZHokNO9e3dr1EFEREQkKbNvBnjjxg388ssv0Gg0iIiIMDxjioiIiKghMCvkJCQkYOvWrbh9%2BzZkMhk%2B%2BeQTeHh44Nlnn0WvXr3qfBYVERERkS2JvoR8165dSEhIwOjRo7Flyxaje%2Bb0798fhw8flrI%2BIiIiIrOInsnZtWsXYmNjsWDBAlRVVRmN%2Bfn5IT8/X7LiiIiIiMwleibn4sWL6NOnT51jSqXS5s%2B1IiIiIqqL6Jkcd3d3XLt2rc6xgoICNG/e3OKiGrviCi2yC6%2BiuaCESu5m73KIiIgeSKJncsLDw7Ft2zaUl5cblslkMlRWVuKjjz5C7969JS2wsdHotFiX9RU2nErHuqyvoNFp7V0SERHRA0n0TM7s2bMxevRoREZGYtCgQZDJZNi5cyeysrJw%2BfJlrFu3zhp1Nhr52mJodOVQuTaBpqIc%2BdpiqBVKe5dFRET0wBE9k%2BPn54ePPvoI/v7%2B%2BOijjyAIAv71r39BrVZj9%2B7daN26tTXqbDT8lF5QK5rihr4CakVT%2BCm97F0SERHRA8ms%2B%2BR06NAB//znP6HT6aDRaODh4YEmTZpIXVujpFYoMbfjYFyXaXlODhERkR2ZfcdjAHBxcYFSqYSrq6tU9TgEL1cl2qtbQKPRorKy2t7lEBERPZDMCjknT57E%2BvXrcezYMej1eri4uOCJJ57ArFmz0LVrV6lrJCIiIhJNdMj58ccfMWXKFCiVSkRGRsLb2xvXrl3D119/jQkTJmDr1q0IDw%2B3Rq1EREREJhMdclavXo2goCDs2LEDSuX/rhq6efMmYmNjsXr1auzfv1/SIomIiIjEEn11VXZ2Nl544QWjgAMAzZo1w5QpU5CdnS1ZcURERETmEh1ymjdvDienujeTy%2BXw8uIl00RERGR/okPOuHHj8P7770Ov1xst1%2Bl02LFjB8aOHStZcURE5Fg0Oi1%2B0Vzk3eDJJkSfk%2BPs7IyCggIMGjQIgwcPho%2BPD4qKivDVV19BLpfD1dUVO3bsAHDncQ%2BxsbFS10xERI2QRqfF%2BnPp0Oi1ULsoMTtwIO8IT1Zl1onHNXbu3Flr/O233zb8niGHiIhq5GuLodFroZS7QqPX8rE3ZHWiQ056ero16iAiIgfnp/SC2kVpmMnhY2/I2kSHHF9fX2vUQUREDk6tuHOIKl9b/P%2Bf88dZHLIuix7rQEREJIZaoWS4IZsRfXUVERERUWPAkENEREQOiSGHiIiIHBJDDhERETkkSULOlStX8O2330Kj0UixOyIiIiKLib66au3atbh16xZeeeUVAMAPP/yA6dOnQ6/XQ6VSYefOnXjkkUckL5SIiIhIDNEzOQcPHkSHDh0Mr9etW4fAwEBs3LgRrVu3xubNmyUtkIiIiMgcomdyCgsL0bZtWwCARqPBr7/%2BisTERPTp0wcVFRVYtWqV5EUSERERiSV6JkcQBAiCAADIzMyEXC7HE088AQBo0aIFz8shIiKiBkF0yGnbti2%2B%2BeYbAEBqaipCQkLQpEkTAMDVq1ehUqmkrZCIiIjIDKJDzrhx45CUlIQePXogNTUVY8eONYxlZmYana9DREREZC%2Biz8l55pln4OHhgRMnTiAkJATR0dGGsYqKCowcOVLSAomIiIjMIRNqTrCxk%2B%2B%2B%2Bw5btmxBTk4Obt68iZYtW2LQoEGYOXMm3N3dDesdOXIEa9euRW5uLlq1aoXY2FiMHz/eoveuqqpGcbHW0o9Qi7OzE9RqJTQaLSorqyXfPxljv22HvbYt9tu22G/bsaTXXl5KyOWmHYiy%2B1PIS0tLERoaimeffRYqlQrZ2dnYsGEDsrOzsX37dgDAiRMnMGPGDERHR2PRokXIzMzEsmXLoFAoMGbMGDt/AiIiImqITAo5AwYMgEwmM3mn6enpJq87bNgwDBs2zPC6R48eUCgUeO2111BYWIiWLVsiISEBQUFBWL58OQAgLCwMV65cwbvvvouYmBg4OfHpFERERGTMpHTQvXt3o/%2Bqq6tRWFiI1q1bo0uXLmjdujUKCwshCAK6d%2B9ucVGenp4AgMrKSuh0OmRkZCAyMtJonaioKBQVFeHMmTMWvx8RERE5HpNmclauXGn4fXJyMjIzM3Hw4EG0bt3asLygoADPP/%2B82SGnqqoKlZWVyMnJQUJCAvr37w9fX1/k5ORAr9fD39/faP2aq7hyc3PRqVMns94TuHNcUGo1xwpNPWZIlmG/bYe9ti3227bYb9uxVa9Fn5OzdetWzJo1yyjgAICvry/i4uKwefNms66w6t%2B/PwoLCwEAffr0wZo1awDcOWcHQK3779S8rhk3h5OTDGq10uzt70elcrPavqk29tt22GvbYr9ti/22HWv3WnTIuXDhgtFVT3/m4eGBgoICswpJTExEeXk5cnJysGnTJkyfPh07duwwjNd3TpCYc4XuVl0toKys3Ozt6yOXO0GlckNZ2S1UVfEMfWtjv22HvbYt9tu22G/bsaTXKpWb9a6u8vX1xSeffIKIiIhaY3v37q01w2OqRx99FADQrVs3BAUFISYmBl999ZXhsNTdMzZlZWUAas/wiGXNywSrqqp5GaINsd%2B2w17bFvttW%2By37Vi716JDztSpU/HKK69g9OjRGDZsGLy9vXHt2jWkpKTg9OnTWLZsmcVFdezYEXK5HBcuXMCAAQPg4uKCvLw89O3b17BOTk4OAKB9%2B/YWvx8RERE5HtEhZ9SoUQCAdevWGZ2Q7OPjgzfffBMxMTEWF3XixAlUVVXhoYcegkKhQFhYGNLS0hAbG2tYJyUlBT4%2BPggKCrL4/YiIiMjxmHUzwFGjRmHkyJHIy8tDSUkJPD094e/vb9b5MTNnzkSnTp0QGBiIJk2a4OzZs9i2bRsCAwMxaNAgAEBcXBwmTJiA%2BPh4REVFITMzE/v27cPSpUt5jxwiIiKqk9l3PJbJZJIcKurcuTNSU1ORmJgIQRDg6%2BuLsWPHYvLkyVAoFACA0NBQbNq0CWvWrEFycjJatWqF%2BPh43u2YiIiI6mX2s6t%2B//135ObmoqKiotbYiBEjLC7MFvjsKsfAftsOe21b7Ldtsd%2B202CfXXXr1i28%2BOKLyMjIgEwmQ01G%2BvOhqsYScoiIiMhxiT6hZdOmTSgoKMDOnTshCAI2btyIHTt2YPDgwfDz88Onn35qjTqJiIiIRBEdctLT0zFlyhSEhoYCAP7yl78gPDwc69evR3BwMHbv3i15kURERERiiQ45BQUF8Pf3h1wuh0wmw61btwxjUVFRop5ATkRERGQtokOOu7s7ysvvPAqhefPmyM/PN4xVVlYaxoiIiIjsSXTICQwMxH//%2B18AQI8ePbBlyxb8/PPPOHXqFBISEgyPZyAiIiKyJ9EhJyYmBlrtncuu586di1u3bmHixIkYN24cLl%2B%2BjEWLFkle5INEo9PiF81FaHTSX9pORNTQ8e9AkpLoS8j/%2Bte/Gn7fpk0bfPnll4bLyUNDQ%2BHp6SlpgQ8SjU6L9efSodFroXZRYnbgQKgVSnuXRURkE/w7kKRm9h2PazRt2hQDBgyQopYHXr62GBq9Fkq5KzR6LfK1xfwfnIgeGPw7kKRm1oOfdDod9uzZg5deegnPPfec4RydQ4cO4eLFi1LW90DxU3pB7aKEtqoCahcl/JRe9i6JiMhm%2BHcgSU30TE5xcTGeffZZZGdnw9vbG9evXzeco5Oeno7vv/8er7/%2ButR1PhDUijvTs/na4jv/s/NfMET0AOHfgSQ10TM5b7/9NsrKyrB//34cPnwYf370VY8ePXDs2DFJC3zQqBVKdFW34f/cRPRA4t%2BBJCXRIefw4cOYPXs2goODjZ5XBQAtW7bEH3/8IVlxREREROYSHXJu3ryJ1q1b1zlWWVmJqqoqi4siIiIispTokPPQQw/hl19%2BqXPs1KlTaNeuncVFEREREVlKdMiJiorC1q1bcejQIcP5ODKZDKdOnUJSUhKio6MlL5KIiIhILNFXV02ZMgWZmZmYOXMmPDw8AACTJ09GSUkJ%2BvTpg0mTJkleJBEREZFYokOOi4sLtm7ditTUVBw%2BfBjXr1%2BHWq1Gv379EBkZCScns269Q0RERCQpUSGnoqICycnJePzxxxEZGYnIyEhr1UVERERkEVHTLq6urli2bBmuX79urXqIiIiIJCH62FKbNm1w7do1a9RCREREJBnRIWfSpElITEzEzZs3rVEPERERkSREn3ick5MDjUaDAQMGICwsDD4%2BPrXufBwfHy9ZgURERETmEB1ydu7cafj9wYMHa43LZDKGHCIiIrI70SHn7Nmz1qiDiIiISFK8qQ0RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUMyKeSsWLECV65cAQBcvnwZer3eqkURERERWcqkkPPBBx%2BgqKgIADBw4EBkZWVZtSgiIiIiS5kUcjw8PAzPqxIEwaoFEREREUnBpJsBdunSBa%2B%2B%2Bio6d%2B4MAFi1ahXc3d3rXFcmk2Hz5s3SVUhERERkBpNCzpIlS7B8%2BXLk5ORAJpMhPz8fCoWiznXvfo4VERERkT2YFHJ8fX2RkJAAAHj00UexadMmw6wOERERUUMk%2BhLypKQktG/f3hq1EBEREUlG9AM6u3fvDgDIz89HRkYGSkpKoFar0aNHD/j5%2BUleIJlOo9MiX1sMP6UX1AqlvcshIqIHWEP4mSQ65AiCgDfffBN79uxBdXW1YbmTkxOeeeYZxMfHS1ogmUaj02L9uXRo9FqoXZSYHTiQQYeIiOyiofxMEh1y3n//fezevRt/%2B9vfMHLkSLRs2RKFhYVITk7G7t278dBDDyE2Ntbk/aWlpeHzzz/H6dOnUVpaijZt2uBvf/sbnn76aTg5/e9o2pEjR7B27Vrk5uaiVatWiI2Nxfjx48WW77DytcXQ6LVQyl2h0d9Jzww5RERkDw3lZ5LokLNv3z5MmDDBaMamZcuW6Ny5M5ycnLB3715RIWfHjh1o3bo1FixYgObNm%2BPo0aN46623cPHiRSxcuBAAcOLECcyYMQPR0dFYtGgRMjMzsWzZMigUCowZM0bsR3BIfkovqF2UhtTsp/Syd0lERPSAaig/k0SHnIsXL6J///51jvXv3x8ff/yxqP2999578PL634cPCwtDeXk5du3ahXnz5kGhUCAhIQFBQUFYvny5YZ0rV67g3XffRUxMjNGMz4NKrbgzHWjv459EREQN5WeS6HTg7u6Oy5cv1zl2%2BfJlNGvWTNT%2B/hxwanTs2BEVFRUoKSmBTqdDRkYGIiMjjdaJiopCUVERzpw5I%2Br9GgKNTotfNBeh0Wkl3a9aoURXdRsGHCIisruG8DNJ9ExOz549sW7dOnTs2BGdOnUyLM/KysL69evRu3dvi4s6fvw4PD090bx5c5w/fx56vR7%2B/v5G63To0AEAkJuba1SHWM7O0s8CyeVORr/%2BWXGFFht%2BT4dGVw61oinmdhwML1eGEkvcq98kLfbatthv22K/bcdWvRYdcl5%2B%2BWWMGzcOY8aMQYcOHeDj44OioiLk5OSgRYsWePnlly0q6Ndff8WBAwcQFxcHuVyO0tJSAIBKpTJar%2BZ1zbg5nJxkUKutFzBUKrday7ILr6Kk8hZUrk1Qor%2BF6zIt2qtbWK2GB0ld/SbrYK9ti/22Lfbbdqzda9Eh5y9/%2BQuSk5OxY8cOHD16FJcuXYKnpyemTp2KZ599ts7DT6YqKirC7NmzERISgilTphiN1fe4CEseI1FdLaCsrNzs7esjlztBpXJDWdktVFVVG401F5TwdHaDpuLOTE5zQQmNRtrDVg%2Bae/WbpMVe2xb7bVvst%2B1Y0muVys3kGSDRIQe4cx6NpTM2d7tx4wamTJmCJk2aYPPmzXBxcQFw5wnoQO0Zm7KyMgC1Z3jEqqy03he5qqq61v5VcjfMCvjfyVgquZtVa3iQ1NVvsg722rbYb9tiv23H2r1uEAceKyoq8OKLL%2BLatWvYtm0b1Gq1Yaxt27ZwcXFBXl6e0TY5OTkA0CgfMdEQTsYiIiJydHYPOZWVlZgzZw7Onj2Lbdu2wdfX12hcoVAgLCwMaWlpRstTUlLg4%2BODoKAgW5ZLREREjYRZh6uktHTpUnzzzTf4%2B9//jtu3b%2BOXX34xjHXo0AHNmjVDXFyc4QaEUVFRyMzMxL59%2B7B06VLeI4eIiIjqZPeQ8/333wMA3n777VpjSUlJ6NGjB0JDQ7Fp0yasWbMGycnJaNWqFeLj43m3YyIiIqqX6JCj0%2Bng4uJi0VVNf/b111%2BbtF5ERAQiIiIkeU8iIiJyfKKO9VRUVKBLly44dOiQteohIiIikoSokOPq6gpPT0%2B4ufFGSfZiySMhrPU4CSIiooZI9OGq/v3746uvvpLk8Q0kjkanxfpz6Yanus4OHGjyZeiWbEtERNQYiQ45kZGRePXVV7F48WI8%2BeST8PHxqXV%2BTnBwsGQF0v/ka4uh0WuhlLtCo9ciX1tsclCxZFsiIqLGSHTImTx5MgDg008/RXJystGYIAiQyWTIysqSpjoy4qf0gtpFaZiN8VOa/ggNS7YlIiJqjESHnBUrVlijDjKBWnHnMFPNIyHEzMRYsi0REVFjJDrkjBw50hp1kInUCqXZAcWSbYmIiBobi24XnJeXh%2BPHj6O8XPoneRMRERFZwqyQk5ycjL59%2ByIyMhITJkzA%2BfPnAQBz5szB3r17JS2QiIiIyByiQ05aWhoWLVqEoKAgvPbaaxAEwTAWHBxc60GaRERERPYgOuQkJiZi1KhReO%2B99zBu3DijMX9/f%2BTk5EhWHBEREZG5RIec3NxcREZG1jnm6emJkpISi4siIiIispTokOPm5oYbN27UOVZYWAgPDw%2BLiyIiIiKylOiQExoail27dhmdi1PjwIED6N69uySFEREREVlCdMiJi4vDL7/8gtGjR%2BPDDz%2BETCbDwYMHMX36dPz888%2BYPn26NeokIiIiEkV0yAkJCcHWrVtRXl6OlStXQhAEbNmyBefPn0diYiICAgKsUScRERGRKKLveAwAYWFhSEtLw4ULF3Dt2jWo1Wq0a9dO6tqIiIiIzGZWyKnRtm1btG3bVqpaiIiIiCRjVsi5dOkSEhMTcfToUZSUlMDT0xM9evTAlClT0KZNG6lrJCIiIhJN9Dk5WVlZGDlyJA4cOIAWLVqgV69eaNGiBQ4cOICRI0ciKyvLGnUSERERiSJ6Jmf58uXw8vLCjh070Lp1a8PygoICPP/881i%2BfDk%2B/PBDSYskIiIiEkv0TM6pU6cwa9Yso4ADAL6%2Bvpg5cyZOnTolWXFERERE5hIdctzd3eHu7l7nmEqlQrNmzSwuihoejU6LXzQXodFp7V0KERGRSUSHnGHDhmHfvn11ju3du7fe51pR46XRabH%2BXDreP/891p9LZ9AhIqJGwaRzcg4ePGj4fXBwML788kuMHj0aw4YNg7e3N65du4aUlBQUFxfjqaeeslqxZB/52mJo9Foo5a7Q6LXI1xZDrVDauywiIqJ7MinkzJ49GzKZDIIgGH69cuUKfvvtt1rrLliwAFFRUZIXSvbjp/SC2kUJjV4LtYsSfkove5dERER0XyaFnKSkJGvXQQ2YWqHE7MCByNcW3wk8nMUhIqJGwKSQwyeLPxg0Om29QUatUDLcEBFRo2LRYx3IcdScXFxzSGp24ECGGiIiatTMCjmHDh3CZ599hsuXL6OiosJoTCaT4bPPPpOkOLIdnlxMRESORnTI2bZtG1avXg0vLy%2B0bdsWbm5u1qiLbIwnFxMRkaMRHXJ2796NmJgYLF26FHK53Bo1kR3w5GIiInI0okNOSUkJhg0bxoDjgKx5cvG9Tmq%2B1xgREZG5RIecbt26IS8vD%2BHh4daohxzQvU5q5gnPRERkLaIf6/DKK69g165dSE9Ph06ns0ZN5GDqOqnZlDEiIiJLiJ7J8fPzQ8%2BePTFz5kzIZDI0adLEaFwmk%2BH48eOSFUiN371OauYJz0REZC2iQ87bb7%2BNnTt3omPHjvD394dCobBGXeRA7nVSM094JiIiaxEdcj799FNMmTIFL7/8sjXqIQd1r5OaeTdlIiKyBtHn5FRVVaFnz57WqIWoThqdFr9oLkKj09q7FCIiakREh5xevXrh5MmT1qiFqJaaq6/eP//9nauwGHSIiMhEog9XzZgxA/PmzYObmxv69esHDw%2BPWut4enqavL/8/Hz885//xMmTJ5GdnQ1/f3%2BkpKTUWu/IkSNYu3YtcnNz0apVK8TGxmL8%2BPFiy6dGho%2BbICIic4kOOdHR0QCAlStXYuXKlXWuk5WVZfL%2BsrOzceTIEXTp0gXV1dUQBKHWOidOnMCMGTMQHR2NRYsWITMzE8uWLYNCocCYMWPEfgRqRHj1FRERmUt0yImLi4NMJpOsgAEDBmDQoEEAgEWLFuG3336rtU5CQgKCgoKwfPlyAEBYWBiuXLmCd999FzExMXByEn3UjRoJXn1FRETmEh1yZs2aJWkB9wsoOp0OGRkZmD9/vtHyqKgo7N27F2fOnEGnTp0krYnEs%2BajGe539VVxhRbZhVfRXFBCJecDY4mI6A7RIcfWLly4AL1eD39/f6PlHTp0AADk5uZaFHKcnaWfBZLLnYx%2BdXTFFVps%2BD0dGl051IqmmNtxMLxcbTPjUlyhxbqzh1CiL4enS1PMfXSQzd77QfSgfbftjf22LfbbdmzVa9EhZ%2BPGjfccl8lkiIuLM7ugu5WWlgIAVCqV0fKa1zXj5nBykkGttt4PRJXqwZhVyC68ipLKW1C5NkGJ/hauy7Ror25hu/fWl8PdxRUl%2BnKbvveD7EH5bjcU7Ldtsd%2B2Y%2B1eN/iQ8%2Bf9illuiupqAWVl5WZvXx%2B53AkqlRvKym6hqqpa8v03NM0FJTyd3aCpuDOT01xQQqOxzaXezQUlPF2aGmZybPneD6IH7bttb%2By3bbHftmNJr1UqN5NngESHnLNnz9ZaVlJSgkOHDuGDDz5AYmKi2F3eU80l6nfP2JSVlQGoPcMjVmWl9b7IVVXVVt1/Q6GSu2FWwP9ODlbJ3Wz2uVVyN8x9dBCuy7SGc3IehJ7b24Py3W4o2G/bYr9tx9q9luRgmKenJ0aPHo2oqCgsW7ZMil0atG3bFi4uLsjLyzNanpOTAwBo3769pO9H5lErlOiqbmOXq5%2B8XJXo3rIdz8UhIiIjkp7xExISgh9//FHKXUKhUCAsLAxpaWlGy1NSUuDj44OgoCBJ34%2BIiIgcg6RXV507dw5NmzYVtc2tW7dw5MgRAEBBQQFu3ryJL774AgDQvXt3eHl5IS4uDhMmTEB8fDyioqKQmZmJffv2YenSpbxHDhEREdVJdMhJTk6utUyn0%2BHcuXPYv38/hg8fLmp/169fx5w5c4yW1bxOSkpCjx49EBoaik2bNmHNmjVITk5Gq1atEB8fz7sdExERUb1kQl3PUbiHRx99tM7lrq6uGD58OBYuXIhmzZpJUpy1VVVVo7hY%2BitxnJ2doFbfucqHJ69ZH/ttO%2By1bbHftsV%2B244lvfbyUlrv6qr09PRay1xdXeHt7S12V0RERERWIzrk%2BPr6WqMOIiIiIknxrF0iIiJySCbN5ERFRZm8Q5lMhs8%2B%2B8zsgoiIiIikYFLI8fT0vO865eXlOH36tEWPWSAiIiKSikkh58MPP6x3rLKyEh9//DE2bdoEmUyGYcOGSVYcERERkbksuhlgWloa1q1bhwsXLqBnz56YP38%2BOnbsKFVtRERERGYzK%2BQcPXoUq1evxq%2B//oqgoCBs374d4eHhUtdGREREZDZRIefcuXNYvXo1vv/%2Bezz00EN45513EBkZaa3aiIiIiMxmUsi5cuUK1q1bh5SUFHh4eOCVV17B008/DRcXF2vXR0RERGQWk0LOkCFDoNfr0adPH7zwwgtQKpX4/fff610/ODhYsgKJiIiIzGFSyNHpdACAb7/9Ft9991296wmCAJlMhqysLGmqIyIiIjKTSSFnxYoV1q6DiIiISFImhZyRI0dauw4iIiIiSfHZVUREROSQGHKIiIjIITHkEBERkUNiyCEiIiKHxJBDREREDokhh4iIiBwSQw4RERE5JIYcIiIickgMOUREROSQGHKIiIjIITHkEBERkUNiyCEiIiKHxJBDREREDokhhxyaRqfFL5qL0Oi09i6FiIhszNneBRBZi0anxfpz6dDotVC7KDE7cCDUCqW9yyIiIhvhTA45rHxtMTR6LZRyV2j0WuRri%2B1dEhER2RBDDjksP6UX1C5KaKsqoHZRwk/pZe%2BSiIjIhni4ihyWWnHnEFW%2BtvhO4OGhKiKiBwpDDjk0tULJcENE9IDi4SoiIiJySAw5RERE5JAYcoiIiMghMeQQERGRQ2LIISIiIofEkENEREQOqdGEnPPnz2Py5Mno2rUrgOFcpQAAFNhJREFUwsPDsWzZMty%2BfdveZREREVED1Sjuk1NWVoZnn30WrVu3xvr161FcXIwVK1agpKQEq1evtnd5RERE1AA1ipCzZ88elJWVITk5GV5ed27NL5fLMX/%2BfLz44oto3769nSskIiKihqZRHK769ttvER4ebgg4ADBkyBAoFAocOXLEjpVRY6fRafGL5iI0Oq2oMUvHG%2Bu%2Biyu0%2BKnwPIorGlbdjbWf99vWkn431M9sKWvWfa9%2BN9TvmD3ragwaxUxObm4uYmJijJYpFAq0bdsWubm5Fu3b2Vn6nCeXOxn9StZlbr%2BLK7TY8Hs6NLpyqBVNMbfjYHi5Ku87Zul4Y973urOHUKIvh6dLU8x9dFCDqLsx9/N%2B25rb74b6mS1l7brr67e9vwcN8ftpKVv9nGwUIaesrAwqlarWcpVKhdLSUrP36%2BQkg1ptvecaqVRuVts31Sa239mFV1FSeQsq1yYo0d/CdZkW7dUt7jtm6Xij3re%2BHO4urijRlzeYuht1P%2B%2B3rZn9bqif2VJWr7ueftv9e9AAv59SsfbPyUYRcuojCAJkMpnZ21dXCygrK5ewojvkcieoVG4oK7uFqqpqyfdPxsztd3NBCU9nN2gq7vxLpbmghEajve%2BYpeONet8uTQ3/0m0odTfqft5vWzP73VA/s6WsXnc9/bb796ABfj8tZcnPSZXKzeQZIJkgCII5BdpSeHg4YmJiMH/%2BfKPlkZGR6Nq1K9566y2z9ltVVY3iYumPNTo7O0GtvvOFqKxkyLE2S/qt0WmRry2Gn9Kr1tPK7zVm6Xhj3XdZ1Z1/0TUXlFDJa/8LzF51N9Z%2B3m9bS/rdUD%2BzpaxZ97363VC/Y/asyxKW/L3t5aV0rJAzYcIEuLu7Y/PmzYZlOp0Ojz32GObNm4fnn3/erP0y5DgG9tt22GvbYr9ti/22HVuFnEZxZmzfvn2RkZEBjUZjWPbVV19Bp9MhIiLCjpURERFRQ9UoQs7TTz8Nd3d3zJgxA9999x2Sk5Px5ptvIioqivfIISIiojo1ihOPVSoVPvjgAyxbtgyzZs3C/2vv/qNqvv84gD/7ISUKJYY6S3MvcfWDVLQkx6%2BJnGE5LNah/FxkNbGGfNHMr1FpfkYUyepYDMMIG7ahmB%2BzylQYFbp0uf24n%2B8f%2B3aPVH4kPt8%2BPR/n3MN9f368n30c9/Pq/f58PtfQ0BBeXl5VrtEhIiIiqlAvihwAsLa2xqZNm8SOQURERPVEvZiuIiIiInpVLHKIiIhIkljkEBERkSSxyCEiIiJJYpFDREREksQih4iIiCSJRQ4RERFJEoscIiIikqR68QWdb4ogCNBo3syPr6en%2B8pfH0%2B1x%2BP99vBYv1083m8Xj/fbU9tjraurAx0dnZdat0EXOURERCRdnK4iIiIiSWKRQ0RERJLEIoeIiIgkiUUOERERSRKLHCIiIpIkFjlEREQkSSxyiIiISJJY5BAREZEkscghIiIiSWKRQ0RERJLEIoeIiIgkiUUOERERSRKLHCIiIpIkFjl16Pr165gwYQLs7e3h6uqKRYsW4cmTJ2LHkqT9%2B/dj6tSp6NOnD%2Bzt7TF06FAkJCRAo9GIHU3yiouL4e7uDrlcjosXL4odR7KSkpIwbNgwKBQKuLq6YvLkyWJHkqzDhw9j1KhRcHR0RK9evTB9%2BnRkZ2eLHaveu3HjBubNmwdvb2/Y2trCy8ur2vXS0tIwfPhwKBQK9O/fH/Hx8XWWQb/O9tTAKZVKjB8/Hm3btsWaNWtw7949RERE4MGDB1i%2BfLnY8SQnNjYWbdu2xeeffw4zMzOcOXMGixcvRm5uLmbPni12PElbu3YtysvLxY4haZGRkdiyZQsmT54MOzs7FBUV4cSJE2LHkqRffvkF06dPx7BhwzBz5kwolUpERUXBz88P%2B/btQ9OmTcWOWG/99ddfSEtLg52dHTQaDQRBqLLO%2BfPnMXXqVHh7eyM0NBTnzp3DokWLYGBggFGjRr1%2BCIHqxLp16wQ7OzuhsLBQ2/b9998LMplMyMzMFDGZND19nCssWbJEUCgUglqtFiFRw5CZmSnY29sLO3bsEGQymXDhwgWxI0lOZmam0LlzZ%2BHEiRNiR2kQ5s6dK/Tt21fQaDTatoyMDEEmkwnHjh0TMVn9V15erv377NmzhSFDhlRZZ8KECcLIkSMrtYWFhQm9e/eutH1tcbqqjhw/fhyurq5o2bKltm3gwIEwMDBAWlqaiMmk6enjXKFz585Qq9V48OCBCIkahsWLF2P06NGwtrYWO4pkJScnw9LSEm5ubmJHaRDKyspgbGwMHR0dbVuzZs1ETCQdurrPLzFKSkpw%2BvRpDBkypFL70KFDkZ%2Bfj8uXL79%2BhtfeAwEAsrKyYGNjU6nNwMAAVlZWyMrKEilVw3L27Fk0b94cZmZmYkeRpAMHDuDq1auYNm2a2FEkLSMjAzKZDNHR0XB1dUXXrl3x8ccf48qVK2JHk6SRI0ciOzsb27Ztg1KpRF5eHpYuXQobGxu4urqKHU/ScnJyUFpaig4dOlRqf%2B%2B99wCgTs6dLHLqiFKphImJSZV2ExMTFBUViZCoYbl48SKSk5Mxfvx46OnpiR1Hch4/foyvvvoKs2bN4jUKb1h%2Bfj5OnjyJ1NRUhIeHIzIyEo8fP4afnx%2BUSqXY8STHyckJUVFRWLVqFZycnNCvXz/k5uZi8%2BbNMDAwEDuepFWcG589d1a8r4tzJ4ucN0wQhErDoFT38vPzERgYCIVCAX9/f7HjSFJMTAzMzMzw4Ycfih1F8gRBgEqlQmRkJAYMGIC%2BffsiJiYGxcXFSExMFDue5Jw7dw4hISEYMWIEtmzZgqioKBgaGsLf3x%2BPHj0SO16DUNM5si7Onby7qo6YmJhU%2B1vWw4cPq0xjUd15%2BPAh/P39YWhoiJiYGDRq1EjsSJJz8%2BZNbN68GdHR0doPfZVKpf2zuLgYxsbGYkaUFFNTU5ibm6Njx47aNgsLC3To0AGZmZkiJpOmRYsWwcXFBV988YW2rXv37nB3d0dSUhL8/PxETCdtpqamAKqO2FScS6ubHXlVLHLqiI2NTZX5w5KSEuTk5GDEiBEipZI2tVqNKVOmoKCgAImJiWjRooXYkSQpLy8PpaWlCAgIqLJs3LhxsLOzw65du0RIJk02Nja4detWlXZBEF54ISe9uqysLHh6elZqa9myJSwsLJCTkyNSqobBysoKjRo1QnZ2Ntzd3bXtFcV8XQwQsMipI%2B7u7oiJicH9%2B/e1J9tDhw6hpKQEffr0ETmd9JSVlWHGjBm4evUqtm/fjnbt2okdSbI6d%2B6MuLi4Sm1XrlxBREQEwsPDoVAoREomTR4eHkhJScG1a9cgk8kAAHfu3EF2djanC9%2BAtm3b4tKlS5Xa8vPzcffuXX6uvGEGBgZwcXHB/v378cknn2jb9%2B7di1atWsHW1va1%2B9BbsGDBgtfeC6Fjx4747rvvcOLECbRu3Rrnz5/HkiVL0L9/f4wePVrseJKzYMEC7N27FzNmzICFhQX%2B%2Becf7atp06a8YLAONW7cGO3bt6/0UqvVSElJwfTp09G1a1exI0qKtbU1jh07hj179sDMzAw3btzA/PnzAQARERGckn0Dtm7divv370NfXx%2BXLl3C/Pnz8eTJE4SHh3Mq9jU8fvwYR44cQWZmJn7%2B%2BWcUFBSgTZs2yMzMRMuWLWFkZARLS0t8%2B%2B23uH37NoyNjZGamorY2FjMmTOnTj5bdAShmkcQUq1cv34dixYtwtmzZ2FoaAgvLy8EBwfD0NBQ7GiS4%2BnpiZs3b1a7LC4uDs7Ozm85UcNy5swZjBs3Drt37%2BZIzhtQWFiIJUuWIC0tDWVlZXBycsKcOXOq3GpLr08QBOzatQsJCQnIyclBkyZNoFAoEBQUBLlcLna8ei0vLw/9%2BvWrdtnTn9NpaWlYuXIlsrKy0KZNG/j5%2BWHs2LF1koFFDhEREUkSr2IjIiIiSWKRQ0RERJLEIoeIiIgkiUUOERERSRKLHCIiIpIkFjlEREQkSSxyiIiISJJY5BAREZEkscghkoDk5GTI5XLty9bWFm5ubggKCsLff/8tWq60tDRERkZWu8zT0xOhoaFvOdGLRUVF4YMPPoBGowHw71Nb5XI5Nm3aJHKyV3fq1Ck4ODjgzp07YkchEgWLHCIJiYiIQGJiImJjYzF27Fj89NNPGDNmDIqKikTJk5aWhqioqGqXRUVFYerUqW850fPduXMHmzZtQmBgoCS%2B8dvV1RUKhQIrV64UOwqRKOr//2Ii0urYsSPs7e3h7OyMKVOmwN/fH4WFhTh8%2BLDY0aqwtbWFlZWV2DEqiYuLQ7NmzTBgwACxo9RIEAQ8efLkpdcfO3YsUlNTcfv27TeYiuj/E4scIgmr%2BPLMwsLCSu1yubzaaaRnp5AqpsFOnz6N%2BfPnw9nZGc7Ozpg%2BffoLp0BCQ0MRHx%2Bv7a/ilZeXV21fZ86cgVwuR2pqKpYtWwY3Nzc4ODhg8uTJKCgowKNHj/Dll19qM8yZMwfFxcWV%2BhQEAfHx8fD29ka3bt3g5OSEwMBA5ObmvvBYlZSUYPfu3fDy8qpxFCc2Nhaenp5wcHCAj48P0tPTq6xz5MgR%2BPj4wM7ODg4ODvDz88P58%2BerHBtPT88q20ZGRlb5Uki5XI6FCxdix44dGDx4MBQKBVJSUgAACQkJGDZsGBwcHODg4IBBgwZVGbXp27cvmjRpgl27dr3wGBBJjb7YAYjozakoKN59993X2k9YWBg8PDywYsUK3L59G8uWLUNISAji4uJq3Gbq1KlQqVQ4ePAgEhMTte0WFhbP7WvVqlVwdnZGREQEbt68iaVLl2LWrFnQ19eHXC7HypUrcfnyZaxatQrGxsYICwvTbjtv3jykpKTA19cXwcHBKCoqQnR0NEaPHo09e/bA3Ny8xn4vXLiABw8e1PgN9vHx8ejQoQPmzp0LAFi9ejUCAgJw5MgRNGvWDACQmpqK4OBguLm5YcWKFSgpKcHGjRvh6%2BuLLVu2oEePHs/92Wty%2BPBh/P7775g2bRrMzc1hZmaGffv2ITw8HL6%2Bvpg9ezZ0dXVx48YNZGZmVtrWwMAADg4OSEtLw4wZM2rVP1F9xSKHSEI0Gg3KysqgVqtx7tw5xMTEwMnJqdpRg1fx/vvvVyomioqKsGzZMuTn56NVq1bVbmNlZaUtKuzt7V%2B6L5lMhoiICO377OxsbN26VXsyB4DevXsjPT0dqamp2lzp6enYtWsXQkND4efnp92%2BR48eGDhwIGJjYxESElJjvxWjLV26dKl2ubGxMdatWwc9PT0A/xZro0aNwvHjxzFkyBBoNBp8/fXXkMlk2LBhg3Y0qE%2BfPujfvz%2BWL1%2BOnTt3vvRxeJpKpUJqaipMTU21bTt37oSJiUmlfxdXV9dqt7e1tcX69euhUqnQpEmTWmUgqo84XUUkIR999BG6dOkCR0dHTJw4ESYmJli7di309V/v95lni6SKKZVbt2691n6r07dv30rvbWxsAAAeHh5V2h88eKCdsjp69Ch0dHQwbNgwlJWVaV/m5ubo1KkTfv311%2Bf2e/fuXejo6KBFixbVLvfw8NAWOADQqVMnAMDNmzcBANevX8fdu3fh7e1dabrL2NgYAwYMQEZGBh4/fvwSR6AqFxeXSgUO8O9UpFKpxKxZs3D48GHcu3evxu3NzMyg0WhQUFBQq/6J6iuO5BBJyNKlS2FjY4Pi4mL88MMPSExMxKxZs7Bx48bX2m/z5s0rvTcwMACAV7oA9mU9ezJv1KjRc9vVajWMjY1RWFgIQRDQq1evavdraWn53H7VajX09fUrFTJPq%2BkYqNVqAMD9%2B/cBoNqRLQsLC2g0GiiVShgZGT03R3Wq2%2Bfw4cNRXl6OpKQkBAYGQqPRQKFQYObMmejdu3eldRs3bgzgzfx7Ef0/Y5FDJCE2Njbai41dXFyg0WiQlJSEAwcOYNCgQdr1DAwMUFJSUmX7ihN1fdSiRQvo6OggPj5eW4A8rbq2Z7cvLS2t9ZROxQhQfn5%2BlWV3796Frq4uTExMtFle5fjr6OhU2z5ixAiMGDECKpUKv/32GyIjIzFp0iQcPHgQ7dq1065X8QiBmkapiKSK01VEEhYSEgJTU1OsWbNG%2B3A7AGjXrh3%2B/PPPSuueOnUKKpWqTvt/kyM%2Bz/Lw8IAgCLhz5w4UCkWV17N3LT3L2toaAJCTk1Or/q2trdG6dWvs3bsXgiBo21UqFX788UfY29trR3Hat2%2BPwsLCStNHJSUlOHnyZK36btKkCfr06YPJkyejtLS0ysXHubm5aN68%2BXMvvCaSIo7kEEmYqakpAgICsGzZMqSmpsLb2xsA4O3tjdWrV2P16tXo2bMnMjMzsX37du1dQnVFJpMBADZs2AB3d3fo6upCLpe/cFSlNrp37w4fHx/MnTsXf/zxB5ycnGBkZIT8/HycPXsWMpkMY8aMqXH7iruqMjIytNfbvApdXV2EhIQgODgYkyZNgo%2BPD0pKSrBp0yYolUp89tln2nUHDx6MNWvWICgoCBMnToRarca2bdtQXl7%2B0v2FhYXB0NAQjo6OaNWqFfLz87F%2B/Xo0a9ZMO5pXIT09HT179qxxRIhIqljkEEmcr68v4uPjsXbtWnh5eUFPTw8TJkzAo0ePkJKSgs2bN6Nbt25YvXp1nT%2BB2MvLC%2BfOnUNCQgKio6MhCAKOHDmC9u3b12k/FRYuXAg7OzskJiZix44d0Gg0sLCwgKOjI7p16/bcbd955x306NFD%2B5yb2hg6dCiMjIywfv16BAUFQU9PD3Z2doiLi4Ojo6N2PUtLS0RHR2PVqlUIDAxEq1at4Ofnh3v37tX4hOhn9ejRA8nJydi/fz%2BKiorQokULdO/eHUuXLkXLli216%2BXk5ODatWv49NNPa/UzEdVnOsLT46pERA3YwYMHERQUhKNHj6J169Zix6kT33zzDfbs2YNDhw699l12RPUNr8khIvqfAQMGQKFQYN26dWJHqRNKpRIJCQkICgpigUMNEoscIqL/0dHRwX/%2B8x/tLd/1XV5eHgICAjB06FCxoxCJgtNVREREJEkcySEiIiJJYpFDREREksQih4iIiCSJRQ4RERFJEoscIiIikiQWOURERCRJLHKIiIhIkljkEBERkST9F7vfvAoXa3b4AAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -380,7 +414,7 @@
 <br>
 
 <h3 id="Number_of_active_pores_over_time">Number of active pores over time</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHKCAYAAADhBVpHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeXhU9dnG8XuyTICBIRMhKiAU0CSEnSoJCEECaJVEtqJo2QQEZBMtFlG0hQq4FRUEcYEqioos0hrBpSgor4JaIlTZwbIJEciEwABZz/sHV6aOCZIzW5Lh%2B7kuL5jzO3PmmSeDc%2Bd3NothGIYAAABCTFhFFwAAABAIhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcVBkrV65UfHy8WrZsqcOHD5caHzRokNLS0iqgMmnTpk2Kj4/XBx98UCGvb9ahQ4c0cuRItW/fXvHx8ZoxY0ZQXnf9%2BvWaO3dumWOpqal68MEHg1IHKh6fBQRDREUXAJiVn5%2BvZ599Vk899VRFl1JlzZo1S1u2bNHMmTNVp04d1a1bNyivu379ei1ZskTjx48vNfb888%2BrZs2aQakDFY/PAoKBkIMqp3PnzsrIyNDw4cOVkJBQ0eUE1blz5xQVFSWLxeLTdnbv3q1WrVqpe/fufqrMd4mJiRVdQsAUFRWpqKhIVqu1oksJqrNnz6p69eqmnxfKnwUEF7urUOWMGDFC0dHRF53JOXTokOLj47Vy5cpSY/Hx8R5T5XPnzlV8fLx27NihCRMm6Le//a3at2%2BvWbNmqbCwUPv27dPw4cPVtm1bpaam6uWXXy7zNfPy8jRr1ixdf/31atWqlQYOHKht27aVWu8///mPRo8erfbt26tly5bq3bu3Vq9e7bFOye65DRs2aMqUKUpOTlbr1q2Vn59/wff8448/atKkSerQoYNatGihm2%2B%2BWYsWLVJxcbGk/%2B1W279/vz777DPFx8crPj5ehw4duuA2lyxZoj/84Q/q0KGD2rRpo/T0dL388ssqKCgote5nn32mIUOG6Le//a1at26tm2%2B%2BWS%2B%2B%2BKIk6cEHH9SSJUvc/f/la/98F0V2drZatGihZ599ttRr7N27V/Hx8Vq8eLF72bFjx/Too48qJSVFLVq0UGpqqp5//nkVFhZe8H2VSE1N1ahRo/Txxx8rPT1dLVu2VLdu3Ty2X97%2BSv/73L388suaP3%2B%2BUlNT1bJlS23cuFGSdPr0aT3xxBNKTU1VixYt1LlzZ82YMUNnzpzxeK01a9aof//%2B7l5269ZNU6ZMuej7ycvL09/%2B9jeP7U%2BbNk25ubnudcaMGaOuXbt61F2if//%2B6tOnj/uxYRhasmSJevXqpVatWum6667ThAkTdPDgQY/nlewu/vrrrzVgwAC1bt1aDz30UJk1mvksSP/73L733nt66qmn1KlTJ7Vt21ajR4/W8ePHdfr0aT3yyCNKSkpSUlKSpkyZIpfL5fGa5X0fCC3M5KDKsdlsuueeezRjxgx9%2BeWX6tChg9%2B2PXHiRN16660aMGCA/u///k%2BvvPKKCgsL9cUXX%2BjOO%2B/U8OHD9d577%2Bnpp59Wo0aNdOONN3o8/5lnnlFiYqIee%2BwxnTp1Ss8//7wGDRqkVatW6aqrrpIkbdy4USNGjFDr1q31l7/8RbVq1dLq1at133336dy5c%2Brbt6/HNh966CHdcMMNevLJJ3X27FlFRJT9zzY7O1sDBgxQQUGB7r33XtWvX1/r1q3TE088oQMHDugvf/mLmjdvrqVLl2rcuHG66qqrNHnyZElSbGzsBXty4MABpaWlqUGDBoqMjNSOHTu0YMEC7du3T7NmzXKvt2zZMj3yyCO67rrrNG3aNF122WX64YcftHv3bknnv1jPnDmjDz/8UEuXLnU/r6zXjomJ0Q033KBVq1ZpwoQJCgv73%2B9jK1euVGRkpNLT0yWdDzj9%2B/dXWFiYxo4dq4YNGyozM1MvvPCCDh8%2B7FHjhWzfvl0zZ87UuHHjVKdOHb333nuaMWOGCgoKNHz48HL39%2Bdef/11/eY3v9HkyZNVs2ZNNWrUSGfPntXAgQN19OhRjR49WvHx8dq9e7fmzJmjXbt26dVXX5XFYlFmZqbuu%2B8%2B3XLLLRo3bpyioqL0448/uoPShRiGoTFjxmjjxo0aOXKkrr32Wu3cuVNz587Vt99%2Bq6VLl8pqtapfv37u9Tp27Oh%2B/t69e7V161ZNnTrVvezRRx/Vu%2B%2B%2Bq0GDBmnSpEk6efKk5s2bpwEDBugf//iH6tSp41732LFjeuCBBzRixAjdd999Hj%2B3nzPzWfi5Z555RklJSZo1a5YOHz6sJ554Qvfff78iIiIUHx%2Bv2bNna9u2bXrmmWdks9m8fh8IIQZQRaxYscKIi4sztm7dauTl5RndunUz%2BvbtaxQXFxuGYRgDBw40evbs6V7/4MGDRlxcnLFixYpS24qLizPmzJnjfjxnzhwjLi7OWLRokcd6vXr1MuLi4oyPPvrIvaygoMBITk42xo0b5162ceNGIy4uzujTp4%2B7HsMwjEOHDhnNmzc3Hn74Yfey3/3ud0bv3r2NgoICj9caNWqUcf311xtFRUUe7/dPf/pTufrz9NNPG3FxccaWLVs8lv/5z3824uPjjX379rmXde3a1Rg5cmS5tvtzRUVFRkFBgfHuu%2B8azZo1M3JycgzDMIzTp08b7dq1M%2B644w6P9/9L06ZNM%2BLi4soc69q1qzF58mT347Vr1xpxcXHGhg0b3MsKCwuNTp06GePHj3cve%2BSRR4w2bdoYhw8f9tjewoULjbi4OGP37t2/%2Bp66du1qxMfHG9u3b/dYftdddxnt2rUzzpw5YxhG%2Bftb8rnr3r27kZ%2Bf77Huiy%2B%2BaCQkJBhbt271WP7BBx8YcXFxxrp16zxqz83N/dXaf%2Bmzzz4z4uLijJdfftlj%2Bfvvv2/ExcUZS5cuNQzj/Ge4Y8eOxv333%2B%2Bx3pNPPmk0b97cyM7ONgzDMDIzM8v8d3HkyBGjVatWxpNPPuleNnDgQCMuLs744osvylWrmc9Cyb%2BvUaNGeaw3Y8YMIy4uzvjrX//qsXzMmDFG%2B/bt3Y/NvA%2BEFnZXoUqyWq2aOHGivvvuO61Zs8Zv273hhhs8Hjdt2lQWi0UpKSnuZREREWrUqFGZZ3ilpaV5HC9Tv359tW3bVps2bZIk7d%2B/X/v27XPPQhQWFrr/S0lJ0bFjx/TDDz94bPOXs0UXsnHjRl199dVq1aqVx/K%2BffvKMIyLzgJcyLZt2zR69GglJSWpWbNmat68uSZPnqyioiL997//lSRlZmbq9OnTuvPOO30%2BXqhESkqK6tat67G7ccOGDfrpp5/Ur18/97J169YpKSlJsbGxpfopSV999dVFX%2Buaa64pdXxXWlqaTp8%2Bre%2B//16S%2Bf6mpqYqMjLSY9mnn36qa665Rs2aNfOotVOnTrJYLO5aW7ZsKen8zOLq1auVlZV10fdQUmNJTT938803q0aNGvryyy8lnf8M33rrrfr444916tQpSeePG/rHP/6hbt26yeFwuOu1WCy69dZbPeqtU6eOEhISSvW2du3afp1Z/aWuXbt6PG7atKmksv/d5uTkuHdZmX0fCB3srkKV1bNnTy1atEjPPPOMevTo4Zdt1q5d2%2BNxZGSkqlevrqioqFLLT58%2BXer5ZU1516lTRzt27JAkHT9%2BXJL0xBNP6IknniizBqfT6fG4vGc%2B5eTkqH79%2BqWWl%2BwCyMnJKdd2fu7HH3/UH/7wBzVu3FgPPfSQ6tevr6ioKG3dulXTp0/XuXPnJJ3flSNJV1xxhenXuJCSL%2BI33nhDubm5stvtWrlyperWratOnTq51ztx4oQ%2B/fRTNW/evMzt/LKfZbnQz036X9/M9resn9uJEye0f//%2Bi9Z63XXXad68eXr99dc1efJk5efn65prrtHo0aN/9TIJOTk5ioiIUExMjMdyi8WiOnXqeNTYr18/LVq0SO%2B//74GDBigDRs26NixYx4B6cSJEzIMw2OX1s%2BV7IL9tffsT2X9%2B/y15Xl5ebLZbKbfB0IHIQdVlsVi0aRJk3TXXXfpnXfeKTVeEkx%2BeaBueb70vFUSYn65LDo6WpLcvyGPGjXqgsGscePGHo/LOzMSHR2tY8eOlVr%2B008/eby2Gf/617905swZzZ071%2BMLviS0lSj5Uj169Kjp1/g1/fr108KFC/X%2B%2B%2B/rlltu0SeffKIhQ4YoPDzcvY7D4VB8fLwmTpxY5jYudpyHdOGfmyT3z85sf8v6uTkcDkVFRWnmzJll1vHzbXTv3l3du3dXfn6%2Bvv32W7344ov64x//6J4dLEt0dLQKCwuVnZ3tEXQMw9Dx48fdM0SS3LNSK1eu1IABA7RixQrFxsZ6BEiHwyGLxaIlS5aUeWbYL5f5axbP38y%2BD4QOdlehSuvYsaOuv/56zZs3r9TZFHXq1FFUVJR27tzpsXzt2rUBqycjI0OGYbgfHz58WJmZmWrfvr0kqUmTJvrNb36jHTt2qGXLlmX%2B5%2B31QTp06KA9e/a4d6%2BUWLVqlSwWi5KSkkxvs%2BRL6%2BdfAoZhlAqVbdu2Va1atfT22297vP9fKtlOyQzQxTRt2lStW7fWypUrlZGRofz8/FK7Ym644Qbt2rVLDRs2LLOfl19%2B%2BUVfZ/fu3aWCW0ZGhmw2m3vWxR/9veGGG3Tw4EFFR0eXWWuDBg1KPcdqtap9%2B/Z64IEHJKnMs/VKlOwq%2Buc//%2Bmx/MMPP9SZM2dK7Urq27evtmzZom%2B%2B%2BUaffvqp%2BvTp4xEgb7jhBhmGoaysrDLrjY%2BPv%2Bh7vhCznwVfBPJ9oHJjJgdV3qRJk9S3b1%2BdOHFC11xzjXt5yT74FStWqGHDhkpISNDWrVuVkZERsFqys7M1duxY3XbbbTp16pTmzp0rq9WqUaNGudeZNm2a7r77bg0fPlx9%2BvTR5ZdfrpMnT2rv3r36/vvvNWfOHK9ee%2BjQoVq1apVGjRqlCRMmqF69elq3bp3efPNN3XHHHaVmiMqjY8eOioyM1P33368RI0YoPz9fb731lsfpyNL5M94mT56sqVOnaujQobrtttt02WWX6cCBA9qxY4ceffRRSVJcXJwk6eWXX1ZKSorCwsIUHx//q79J9%2BvXT48%2B%2Bqh%2B%2BukntW3bVk2aNPEYnzBhgr744gsNGDBAgwYNUuPGjZWfn69Dhw7ps88%2B07Rp0y66Gy02Nlb33HOPxo0bp7p16%2Bqf//yn/u///k%2BTJk1yX%2BfFH/0dMmSIPvroIw0cOFBDhw5VfHy8iouLdeTIEW3YsEHDhg1T69at9dxzz%2Bno0aPq0KGDrrjiCuXm5mrx4sWKjIx0B%2BayXH/99erUqZOefvppnT59Wu3atdPOnTs1Z84cJSYmqlevXh7rp6Wl6fHHH9cf//hH5efne5w6Lkm//e1vdfvtt%2Buhhx7Sd999p%2Buuu07Vq1fXsWPH9O9//1txcXG68847L/q%2By%2BLNZ8FbgXwfqNwIOajyEhMT1bNnzzLDS8m1Nl555RWdOXNGSUlJWrBggVJTUwNSy3333af//Oc/mjJlik6fPq1WrVpp9uzZatiwoXud5ORkLVu2TAsWLNDMmTOVm5ur6OhoNW3aVDfffLPXrx0TE6O3335bf/vb3/S3v/1NLpdLDRo00AMPPKC77rrLq202bdpUc%2BfO1bPPPqvx48crOjpaaWlpGjp0qO6%2B%2B26Pdfv376/Y2Fi98sormjp1qgzDUP369dW7d2/3Omlpadq8ebPefPNNzZs3T4ZhaO3atWXOYJTo2bOnZs6cqaNHj2rcuHGlxmNjY7V8%2BXLNnz9fCxcuVFZWlmw2m%2BrXr6/OnTvLbrdf9H02a9ZMffv21dy5c/Xf//5XsbGxmjJlioYOHepexx/9rVGjhpYsWaKXXnpJS5cu1aFDh1StWjVdeeWV6tixo3uXYOvWrfXdd9/p6aefVnZ2tux2u1q0aKFXX33VI8j/ksVi0fz58zV37lytXLlSCxYsUHR0tHr16qX777%2B/VICoVauWunfvroyMDLVr167MoDZ9%2BnS1bt1aS5cu1VtvvaXi4mLFxsaqXbt2pQ7CNsObz4IvAvU%2BULlZjF%2BbWwaAEJeamqprrrnGfdFCAKGDY3IAAEBIIuQAAICQxO4qAAAQkpjJAQAAIYmQAwAAQhIhBwAAhCRCDgAACEmX9MUADcNQcXFgjrsOC7MEbNsojX4HD70OLvodXPQ7eLztdViYpdz3SbukQ05xsaHsbNfFVzQpIiJMDodNublnVFhY7PftwxP9Dh56HVz0O7jod/D40uuYGJvCw8sXcthdBQAAQhIhBwAAhCRCDgAACEmEHAAAEJIIOQAAICQRcgAAQEgi5AAAgJBEyAEAACGJkAMAAEISIQcAAIQkQg4AAAhJhBwAABCSCDkAAMA0Z75L3zoPypnv/xtd%2B8slfRdyAABgnjPfpTk718pZ4JIj0qYJ8d3ksNoquqxSmMkBAACm7Hdly1ngki08Ss4Cl/a7siu6pDIRcgAAgCmNbDFyRNrkKsqTI9KmRraYii6pTBUeclauXKn4%2BPhS/z399NMe661fv169e/dWy5Yt1aNHDy1ZsqSCKgYA4NLmsJ7fRTW0cadKu6tKqkTH5LzyyiuqVauW%2B/Hll1/u/ntmZqbGjBmjXr166cEHH9TmzZv12GOPyWq1qn///hVRLgAAlzSH1VZpw02JShNymjdvrpiYsqe75s2bp8TERM2cOVOSlJycrCNHjui5555Tv379FBZW4RNSAACgkqn06SA/P18bN25Uz549PZanp6fr2LFj2rZtWwVVBgAAKrNKM5OTlpYmp9OpevXq6bbbbtOIESMUHh6uAwcOqKCgQE2aNPFY/%2Bqrr5Yk7d27Vy1atPD6dSMi/J/zwsPDPP5EYNHv4KHXwUW/g4t%2BB0%2Bwel3hIadu3boaP368WrduLYvFok8%2B%2BUTPPvussrKy9Oijj%2BrkyZOSJLvd7vG8kscl494IC7PI4Qjc/kS7vXrAto3S6Hfw0Ovgot/BRb%2BDJ9C9rvCQ07lzZ3Xu3Nn9uFOnToqKitJrr72m0aNHu5dbLJYyn3%2Bh5eVRXGwoN/eM18%2B/kPDwMNnt1ZWbe1ZFRcV%2B3z480e/godfBRb%2BDi34Hjy%2B9tturl3sGqMJDTlluvvlmLVq0SNu3b1f9%2BvUllZ6xyc3NlVR6hseswsLAfZCLiooDun14ot/BQ6%2BDi34HF/0OnkD3utLveGzYsKEiIyO1b98%2Bj%2BV79uyRJDVt2rQiygIAAJVcpQw5q1evVnh4uBITE2W1WpWcnKw1a9Z4rJORkaG6desqMTGxgqoEAACVWYXvrho%2BfLiSk5MVFxcnSVq7dq3eeecdDR48WHXr1pUkjR07VgMHDtTUqVOVnp6uzZs3a9myZZo%2BfTrXyAEAAGWq8JDTuHFjLV%2B%2BXEePHlVxcbF%2B85vf6KGHHtKgQYPc67Rt21bz58/X7NmztWrVKl1xxRWaOnUqVzsGAAAXVOEhZ%2BrUqeVar0uXLurSpUuAqwEAAKGCfT0AACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFyAABASCLkAACAkETIAQAAIYmQAwAAQhIhBwAAhCRCDgAACEmEHAAAEJIIOQAAICQRcgAAQEgi5AAAgJBEyAEAACGJkAMAAEISIQcAAIQkQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFyAABASCLkAACAkETIAQAAIYmQAwAAQpJfQs6WLVv01ltvae/evf7YHAAAgM8izD7h4YcfVlFRkR5//HFJ0vvvv69JkybJMAxFRkZq8eLFatu2rd8LBQAAMMP0TM6mTZuUnJzsfrxgwQJ16tRJq1atUtu2bfXiiy/6tUAAAABvmA45x48fV7169SRJWVlZ2r17t0aNGqWEhAQNHjxY3333nd%2BLBAAAMMt0yImIiFBeXp4kafPmzYqKilLr1q0lSbVr11Zubq5/KwQAAPCC6ZDTpEkT/eMf/9Dp06e1fPlytWvXTpGRkZKko0ePKiYmxu9FAgAAmGU65Nx11116//33dd111%2BmLL77QoEGD3GNffvml4uPj/VogAACAN0yfXXXzzTfryiuvVGZmplq2bKlrr73WPXbFFVfopptu8muBAAAA3jAdciSpTZs2atOmTanlEyZM8LkgAAAAf/Aq5EjS559/rq%2B%2B%2BkpOp1NjxoxRvXr1tHXrVjVo0IDjcgAAQIUzHXLOnj2rMWPG6Msvv5TFYpEk3XHHHapXr54WLVqkK6%2B8UpMnT/Z7oQAAAGaYPvD4mWee0Xfffae5c%2Bfqm2%2B%2BkWEY7rHrr79eX3zxhV8LBAAA8IbpmZwPPvhA9957r3r06KGioiKPsXr16unIkSN%2BKw4AAMBbpmdysrOzdfXVV5e9sbAwnTt3zueiAAAAfGU65Fx%2B%2BeXatWtXmWM7d%2B5UgwYNfC4KAADAV6ZDzo033qgFCxZo27Zt7mUWi0WHDx/Wq6%2B%2Bqt/97nd%2BLRAAAMAbpkPO2LFjFRsbq/79%2B6tfv36yWCyaMmWK0tLSFBMTo5EjR3pdjMvlUkpKiuLj4/Wf//zHY2z9%2BvXq3bu3WrZsqR49emjJkiVevw4AAAh9pkNOzZo19fbbb%2Bvee%2B9VjRo11LBhQ1WvXl2jRo3SkiVLVK1aNa%2BLmT9/fqmDmSUpMzNTY8aMUWJiol5%2B%2BWX16dNHjz32mJYtW%2Bb1awEAgNDm1cUAq1WrppEjR/o0a/NLe/fu1ZtvvqnJkyfrz3/%2Bs8fYvHnzlJiYqJkzZ0qSkpOTdeTIET333HPq16%2BfwsJMZzUAABDiTKeDbt26aceOHWWO7dq1S926dfOqkBkzZmjAgAFq3Lixx/L8/Hxt3LhRPXv29Fienp6uY8eOeRwbBAAAUML0TM7hw4eVn59f5lheXp5%2B/PFH00V88MEH2rFjh%2BbMmaPvv//eY%2BzAgQMqKChQkyZNPJaXnMa%2Bd%2B9etWjRwvRrloiI8P8sUHh4mMefCCz6HTz0Orjod3DR7%2BAJVq%2B9vndVWQ4ePCibzWbqOWfPntXjjz%2Bu%2B%2B%2B/XzVr1iw1fvLkSUmS3W73WF7yuGTcG2FhFjkc5uo1w26vHrBtozT6HTz0Orjod3DR7%2BAJdK/LFXLeffddvfvuu%2B7Hf/nLX0oFkry8PO3YsUPXXXedqQJeeOEFXXbZZerbt%2B%2Bvrldyn6zyLi%2BP4mJDublnvH7%2BhYSHh8lur67c3LMqKir2%2B/bhiX4HD70OLvodXPQ7eHzptd1evdwzQOUKOWfPnpXT6ZR0PlScOnVKBQUFHutERkbqlltu0fjx48td6OHDh7Vo0SLNmzdPp0%2BfliSdOXPG/afL5VLt2rUllZ6xyc3NlVR6hseswsLAfZCLiooDun14ot/BQ6%2BDi34HF/0OnkD3ulwh584779Sdd94pSUpNTdXcuXOVkJDg84sfOnRIBQUFZZ6lNXjwYLVu3VpvvPGGIiMjtW/fPqWkpLjH9%2BzZI0lq2rSpz3UAAIDQY/qYnE8%2B%2BcRvL96sWTMtXrzYY9n27ds1a9YsTZs2TS1btpTValVycrLWrFmjoUOHutfLyMhQ3bp1lZiY6Ld6AABA6DAdcspz9lS9evXKtS273a6kpKQyx5o3b67mzZtLOn%2BV5YEDB2rq1KlKT0/X5s2btWzZMk2fPp1r5AAAgDKZDjmpqakXPdh3%2B/btXhdUlrZt22r%2B/PmaPXu2Vq1apSuuuEJTp05V//79/fo6AAAgdJgOOTNnziwVcpxOpz755BMdPXpU99xzj08FJSUlaefOnaWWd%2BnSRV26dPFp2wAA4NJhOuRc6FTvYcOGacKECTpy5IjPRQEAAPjKrwe09O3bV8uXL/fnJgEAALzi15BTWFjovn4NAABARfLLbR0KCgq0c%2BdOv10/BwAAwFemQ05CQsIFz66y2%2B1auHChz0UBAAD4ynTIGTt2bKmQY7Va1aBBA6WkpJR5k00AAIBgMx1yzNybCgAAoKJwuWAAABCSvDrw%2BJtvvlFGRoZ%2B/PFHnTt3zmPMYrHotdde80txAAAA3jIdclasWKGHH35YtWvXVuPGjRUZGekxbhiG34oDAADwlumQ88orr%2Bjmm2/WE088IavVGoiaAAAAfGb6mJwff/xR/fv3J%2BAAAIBKzXTIadq0qY4fPx6IWgAAAPzGdMi577779PLLLysrKysQ9QAAAPiF6WNylixZolOnTummm25SQkKCoqOjPcYtFoteeOEFvxUIAADgDdMhZ9euXQoLC1NMTIx%2B%2Bukn/fTTTx7jF7rlAwAAQDCZDjmffPJJIOoAAADwK654DAAAQhIhBwAAhKRy7a5q1qyZli5dqlatWikhIeFXj7uxWCzatm2b3woEAADwRrlCztixY3X55Ze7/87BxQAAoLIrV8gZN26c%2B%2B/jx48PWDEAAAD%2BwjE5AAAgJJk%2BhVyS8vPz9cUXX%2Bjw4cPKz8/3GLNYLBo6dKg/agMAAPCa6ZDz3XffafTo0Tpx4oQMwyg1TsgBAACVgemQM23aNNWsWVPTpk1T06ZNFRkZGYi6AAAAfGI65OzZs0dPP/20unXrFoh6AAAA/ML0gcdXXnllIOoAAADwK9MhZ8SIEVq0aFGpA44BAAAqE9O7q/r27avDhw%2Bre/fuat%2B%2BvaKjo0utM3XqVL8UBwAA4C3TIWfdunV68cUXVVhYqIyMjFLjFouFkAMAACqc6ZDz5JNPqnnz5pxdBQAAKjXTIefw4cN6/vnnlZCQEIh6AAAA/ML0gcdNmjTR6dOnA1ELAACA35gOOffee69eeOEFHTt2LBD1AAAA%2BIXp3VVvv/22cnNzdeONNyohIUG1a9f2GLdYLHrhhRf8ViAAAIA3TIecXbt2KSwsTA6HQ1lZWcrKyvIYt1gsfiuuqsrOc2l31k%2B6zLDJHl69ossBAOCSZDrkfPLJJ4GoI2Q4812au2utcgrPKjqiusbHdZPDaqvosgAAuOSYPiYHv26/K1vO/DOqFRklZ/4Z7XdlV3RJAABckgg5ftbIFiOHtYZOFeTJYa2hRraYihLe/OMAACAASURBVC4JAIBLkundVfh1DqtNE5v10AmLi2NyAACoQIScAIiJsqmpI1ZOp0uFhcUVXQ4AAJckdlcBAICQRMgBAAAhyfTuquLiYh08eFA5OTmyWCyqXbu2rrrqKoWFkZcAAEDlUe6Q89///ldz5szRp59%2BqnPnznmMVatWTampqRo3bpwaN27s9yIBAADMKlfI2bZtmwYNGiSr1ar09HTFx8crOjpakpSTk6OdO3fqX//6l9avX6833niDO5QDAIAKZzEMw7jYSsOGDVNeXp5efPFF1axZs8x1Tp8%2BrdGjRysqKkoLFy70e6GBUFRUrOxsl9%2B3GxERJofDxtlVQUK/g4deBxf9Di76HTy%2B9Domxqbw8PIdIlOutTIzMzVq1KgLBhxJqlmzpu6%2B%2B25t3ry5fFUCAAAEULlCTkREhPLz8y%2B6XkFBgSIiuPQOAKBsznyXvnUelDPf/7PowC%2BVK%2BQkJSXpueee09GjRy%2B4TlZWlubOnavk5GS/FQcACB3OfJfm7FyrV3/YoDk71xJ0EHDlmnaZPHmy7rzzTvXo0UPJycmKj49X7dq1ZbFYlJOTo127dmnjxo2Kjo7W888/H%2BiaAQBV0H5XtpwFLtnCo%2BQscGm/K1sOq62iy0IIK1fIueqqq/SPf/xDr7zyitauXasNGzao5Hhli8Wihg0bavDgwRo2bJhiYszdkPLzzz/Xiy%2B%2BqD179uj06dO6/PLL1b17d40bN061atVyr7d%2B/Xo988wz2rt3r6644goNHTpUf/jDH0y9FgCg4jSyxcgRaZOzwCVHpI0bGCPgynV21S/l5eXp5MmTkqTatWsrKirK6wIyMjK0c%2BdOtWrVSna7Xbt379bcuXPVvHlzLVq0SNL5A58HDhyoXr166dZbb9XmzZs1d%2B5cTZ8%2BXf379/f6tTm7KjTQ7%2BCh18EViv125p%2BfwWlki6l0szih2O/KKlhnV3l1lHBUVJRiY2O9eWopaWlpSktLcz9OSkqS1WrVI488oqysLF1%2B%2BeWaN2%2BeEhMTNXPmTElScnKyjhw5oueee079%2BvXjassAUEU4rLZKF24QuvyaDrKzs/X111/7vJ2SCw0WFhYqPz9fGzduVM%2BePT3WSU9P17Fjx7Rt2zafXw8AAIQev4acr7/%2BWoMHD/bquUVFRcrLy9P333%2BvefPmqWvXrqpfv74OHDiggoICNWnSxGP9q6%2B%2BWpK0d%2B9en%2BsGAAChp9Jc1KZr167KysqSJHXu3FmzZ8%2BWJPexP3a73WP9kscl496KiPD/rq6SfYXl3WcI39Dv4KHXwUW/g4t%2BB0%2Bwel2ukDNlypRybezHH3/0upCXXnpJZ86c0Z49ezR//nyNHj1af//7393jFoulzOddaHl5hIVZ5HAEbt%2Bw3V49YNtGafQ7eOh1cNHv4KLfwRPoXpcr5Lz77ruyWq0KDw//1fWKi70/Gr3kpp7t2rVTYmKi%2BvXrp48//ti9W%2BqXMza5ubmSSs/wmFFcbCg394zXz7%2BQ8PAw2e3VlZt7VkVFHKEfaPQ7eOh1cNHv4KLfweNLr%2B326v49uyo2NlbdunXTn//8519d74MPPtB9991Xrhf%2BNc2aNVN4eLgOHDig1NRURUZGat%2B%2BfUpJSXGvs2fPHklS06ZNfXqtQJ4mWFRUzGmIQUS/g4deBxf9Di76HTyB7nW5olBiYqK2b99%2B0fV82XX0c5mZmSoqKlKDBg1ktVqVnJysNWvWeKyTkZGhunXrKjEx0S%2BvCQAAQku5ZnLi4%2BO1ePHii64XExOja6%2B91lQB48aNU4sWLRQfH69q1appx44deuWVVxQfH6/u3btLksaOHauBAwdq6tSpSk9P1%2BbNm7Vs2TJNnz6da%2BQAAIAyeXXFY3966aWXtHr1ah04cECGYah%2B/frq0aOHhg8frpo1a7rXW79%2BvWbPnu2%2BrcNdd93l820duOJxaKDfwUOvg4t%2BBxf9Dp5gXfG4wkNORSLkhAb6HTz0Orjod3DR7%2BAJVshhXw8AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQZCrknDt3Tp07d9Ynn3wSqHoAAAD8wlTIqVatmvLy8lS9OjcvAwAAlZvp3VXJycn68ssvA1ELAACA35Trtg4/N3r0aI0fP15Wq1U33nij6tatW%2BqeVdHR0X4rEAAAwBumQ07fvn0lSc8//7zmzZtX5jrluZknAABAIJkOOWPHjvXb3cYBAAACxXTIGT9%2BfCDqAAAA8CufrpNz7tw5ZWVlqbCw0F/1AAAA%2BIVXIWfjxo26/fbb1a5dO3Xt2lU7d%2B6UJE2bNk0fffSRXwsEAADwhumQ8%2BWXX2r48OHKy8vTsGHDVFz8v1ukOxwOrVy50q8FAgAAeMN0yJkzZ45SUlK0atUqTZw40WMsISFBO3bs8FtxAAAA3jIdcrZv364BAwZIUqmzrGJiYnTixAn/VAYAAOAD0yEnPDxcBQUFZY6dOHFCNpvN56IAAAB8ZTrktGzZUv/85z/LHPvwww/Vpk0bn4sCAADwlenr5IwcOVLDhw/X2LFj1bt3b1ksFm3ZskUrVqzQhx9%2BqNdeey0QdQIAAJhiOuR07NhRjz/%2BuGbOnKm1a9dKkqZPny673a5Zs2bp2muv9XuRAAAAZpkOOZLUq1cv3XTTTdq8ebNOnDghh8Ohdu3aqUaNGv6uDwAAwCtehRxJqlatmjp27OjPWgAAAPzGq5Bz%2BvRpLVmyRJs2bVJOTo6io6OVlJSkO%2B64Q3a73d81AgAAmGY65Bw8eFBDhgzRjz/%2BqHr16qlu3br673//qy%2B%2B%2BEJvv/22Fi9erKuuuioQtQIAAJSb6ZAzY8YM5eXl6a233lLbtm3dyzdv3qzx48drxowZWrBggV%2BLBAAAMMv0dXI2bdqkiRMnegQcSWrXrp0mTpyoTZs2%2Ba04AAAAb5kOOVarVVdeeWWZY1deeaWsVqvPRQEAAPjKdMhJTU3VBx98UObYBx98oBtuuMHXmgAAAHxm%2Bpic9PR0Pfzww5owYYLS09NVp04dHT9%2BXO%2B9956%2B%2B%2B47zZgxQ99//717/ebNm/u1YAAAgPIwHXKGDRsmSTpy5Ig%2B/vhj93LDMDzGDcOQxWLR9u3b/VHnJcOZ79J%2BV7Ya2WLksHKzUwAAvGU65MyaNSsQdUDnA86cnWvlLHDJEWnThPhuBB0AALxkOuT06dMnEHVA0n5XtpwFLtnCo%2BQsOD%2BjQ8gBAMA7pg88RuA0ssXIEWmTqyhPjkibGtliKrokAACqLK/vXQX/c1jP76LimBwAAHxHyKlkHFYb4QYAAD9gdxUAAAhJhBwAABCS/BZy8vLy/LUpAAAAn5kOOatXr9aSJUvcj/fv369bbrlFbdq00Z133qmTJ0/6tUAAAABvmA45Cxcu1NmzZ92Pn3zySeXm5mrw4MHat2%2BfFixY4NcCAQAAvGE65Bw6dEjXXHONpPO7qDZs2KBJkyZpypQpmjhxotauXev3IgEAAMwyHXLOnj2rGjVqSJK2bNmi/Px8paSkSJKuvvpqZWVl%2BbdCAAAAL5gOOXXr1nXfdPPzzz9X48aNFRNz/sq8J0%2BeVLVq1fxbIQAAgBdMXwzwxhtv1DPPPKOvv/5an332me6%2B%2B2732M6dO9WwYUO/FggAuHQ4811c9R1%2BYzrk3HvvvXK5XMrMzFRaWppGjBjhHlu3bp06duzo1wIBAJcGZ75Lc3aulbPAJUfk%2BdvcEHTgC9Mhp1q1apo%2BfXqZY%2B%2B8847PBQEALk37XdlyFrhkC4%2BSs%2BD8jA4hB77w6WKA%2B/bt07///W%2BdOXPGX/UAAC5RjWwxckTa5CrKkyPSpka2mIouCVWcVzfoXLVqlWbPnq1jx45JkpYvX67mzZvr3nvv1fXXX6/bbrvNr0UCAEKfw3p%2BFxXH5MBfTM/krFmzRg8%2B%2BKASExP1yCOPyDAM91jz5s21Zs0avxYIALh0OKw2tXFcRcCBX5gOOS%2B99JL69u2rBQsW6Pbbb/cYa9Kkifbs2eO34gAAALxlOuTs3btXPXv2LHMsOjpaOTk5PhcFAADgK9Mhp3r16jp16lSZY1lZWapdu7bPRQEAAPjKdMhp27atlixZ4nEsTomVK1eqffv2pra3Zs0ajRkzRl26dFGbNm2Unp6uN998U8XFxR7rrV%2B/Xr1791bLli3Vo0cPjzuhAwAA/JLps6vGjh2rO%2B%2B8U7///e%2BVnp4ui8Wijz76SHPnztU333yjZcuWmdre3//%2Bd9WrV09/%2BtOfdNlll2nTpk2aMWOGDh48qMmTJ0uSMjMzNWbMGPXq1UsPPvigNm/erMcee0xWq1X9%2B/c3%2BxYAAMAlwGKUNSVzERs3btS0adP0ww8/uJc1atRI06dPV1JSkqltZWdnu%2B99VWLWrFl666239M0338hqtWrEiBE6efKkR4B65JFH9Omnn%2Bqzzz5TWJh3l/spKipWdrbLq%2Bf%2BmoiIMDkcNjmdLhUWFl/8CfAJ/Q4eeh1c9Du46Hfw%2BNLrmBibwsPL973v1XVykpOTtWbNGh04cEDHjx%2BXw%2BFQ48aNvdlUqYAjSc2aNVNeXp5ycnIUHR2tjRs3atKkSR7rpKen65133tG2bdvUokULr14bAACELlNTIOfOnVPnzp31ySefSJIaNmyodu3aeR1wLuTf//63oqOjddlll%2BnAgQMqKChQkyZNPNa5%2BuqrJZ0/2wsAAOCXTM3kVKtWTXl5eapevXqg6tF//vMfrVy5UmPHjlV4eLhOnjwpSbLb7R7rlTwuGfdWRIRPd7YoU8k0Wnmn0%2BAb%2Bh089Dq46Hdw0e/gCVavTe%2BuSk5O1pdffqkOHTr4vZhjx45pwoQJatmype6%2B%2B26PMYvFUuZzLrS8PMLCLHI4AndVTbs9cGEQpdHv4KHXwUW/g4t%2BB0%2Bge2065IwePVrjx4%2BX1WrVjTfeqLp165YKGtHR0aYLOXXqlO6%2B%2B25Vq1ZNL7zwgiIjIyXJfd2dX87Y5ObmSio9w2NGcbGh3Fz/31w0PDxMdnt15eaeVVERB68FGv0OHnodXPQ7uOh38PjSa7u9euAOPO7bt68k6fnnn9e8efPKXGf79u2mtpmXl6d77rlHx48f19KlS%2BVwONxjDRs2VGRkpPbt26eUlBT38pLbRzRt2tTsW/AQyCPoi4qKOUI/iOh38NDr4KLfwUW/gyfQvfbqOjm%2B7CL6pcLCQt17773asWOH3njjDdWvX99j3Gq1us/mGjp0qHt5RkaG6tatq8TERL/VAgAAQofpkDN%2B/Hi/FjB9%2BnR9%2BumneuCBB3Tu3Dl9%2B%2B237rGrr75aNWvW1NixYzVw4EBNnTpV6enp2rx5s5YtW6bp06d7fY0cAAAQ2ry6Tk6JvLw8nTx5UrVr11ZUVJRX29iwYYMk6amnnio1tnjxYiUlJalt27aaP3%2B%2BZs%2BerVWrVumKK67Q1KlTudoxAAC4IK9CzubNm/X0009ry5YtKi4uVlhYmNq2bas//vGPatu2raltlVxz52K6dOmiLl26eFMuAAC4BJkOOd9%2B%2B62GDBkiu92u2267TbGxscrKytLHH3%2BsIUOG6PXXX1fr1q0DUSsAAEC5mQ45c%2BbMUXx8vBYvXqwaNWq4l//pT3/S4MGDNWfOHC1cuNCvRQIAAJhl%2Bqjdb7/9ViNGjPAIOJJUo0YNDR8%2BXJmZmX4rDgAAwFumQ05xcbGsVmuZY1FRUSou5toCAACg4pkOOQkJCXrrrbfKHFu6dKkSEhJ8LirUOfNd%2BtZ5UM58V0WXAgBAyDJ9TM7dd9%2BtsWPHqnfv3rr11ltVt25dHTt2TBkZGdq%2BffsFr4KM85z5Ls3ZuVbOApcckTZNiO8mhzVw988CAOBSZTrkdOvWTU899ZSeeuopPfnkk%2B7ll19%2BuZ566imlpqb6tcBQs9%2BVLWeBS7bwKDkLXNrvyibkAAAQAF5dJyc9PV1paWnat2%2BfcnJyFB0drSZNmvj1dg%2BhqpEtRo5Im3smp5EtpqJLAgAgJHl9xWOLxeLzzTEvRQ7r%2BV1U%2B13Z5wMPszgAAASEVyHn0KFDeumll7Rp0yb3TE5SUpLuvvtuXXXVVf6uMeQ4rDbCDQAAAWb67Krt27erT58%2BWrlypWJjY3X99dcrNjZWK1euVJ8%2BfbR9%2B/ZA1Ily4KwtAEBlURm%2Bk0zP5MycOVMxMTH6%2B9//rnr16rmXHz58WMOGDdPMmTP1%2Buuv%2B7VIXBxnbQEAKovK8p1keiZn69atGj9%2BvEfAkaT69etr3Lhx2rp1q9%2BKQ/mVddYWAAAVobJ8J5kOObVq1VKtWrXKHLPb7apZs6bPRcG8krO2XEV5nLUFAKhQleU7yfTuqrS0NC1btkxdunQpNfbOO%2B%2BoZ8%2BefikM5nDWFgCgsqgs30mmQ05iYqI%2B/PBD/f73v1daWprq1Kmj48ePKyMjQ9nZ2frd736njz76yL3%2BjTfe6NeCcWGctQUAqCwqw3eSxTAMw8wTLnZvKovFopJNWiyWSn22VVFRsbKz/X/Ud0REmBwOm5xOlwoLuWFpoNHv4KHXwUW/g4t%2BB48vvY6JsSk8vHxH25ieyVm8eLHZp8CPnPkur6f/fHkuAABVjemQ0759%2B0DUgXLw5ZS8ynI6HwAAwWL67CpUHF9Oyassp/MBABAshJwqxJdT8irL6XwAAASL1zfoRPD5ckpeZTmdDwCAYCHkVDG%2BnJJXGU7nAwAgWNhdBQAAQpJPIefcuXPKyspSYWGhv%2BoBAADwC69CzsaNG3X77berXbt26tq1q3bu3ClJmjZtmsfVjgEAACqK6ZDz5Zdfavjw4crLy9OwYcNUXPy/KxU6HA6tXLnSrwUCAAB4w3TImTNnjlJSUrRq1SpNnDjRYywhIUE7duzwW3EAAADeMh1ytm/frgEDBkg6f2%2Bqn4uJidGJEyf8UxkAAIAPTIec8PBwFRQUlDl24sQJ2WycogwAACqe6ZDTsmVL/fOf/yxz7MMPP1SbNm18LgoAAMBXpi8GOHLkSA0fPlxjx45V7969ZbFYtGXLFq1YsUIffvihXnvttUDUCQAAYIrpkNOxY0c9/vjjmjlzptauXStJmj59uux2u2bNmqVrr73W70UCAACY5dVtHXr16qWbbrpJmZmZOn78uBwOh9q1a6caNWr4uz4AAACvmA45OTk5io6OVrVq1dShQ4dA1AQAAOAz0wced%2BrUSffee6/Wr18vwzACURMAAIDPTIecIUOGKDMzU6NGjVJKSopmz56tH374IRC1AQAAeM10yHnggQe0bt06vfjii2rXrp1effVV3XLLLbrjjju0fPlyuVyuQNSJCubMd%2Blb50E58/n5AgCqBovh4z6n3Nxcvffee3r33Xf1/fffq1q1asrMzPRXfQFVVFSs7Gz/f2lHRITJ4bDJ6XSpsLD44k%2Bo5Jz5Ls3ZuVbOApcckTZNiO8mh7XyXPQx1PpdmdHr4KLfwUW/g8eXXsfE2BQeXr45Gq/Orvo5u92uXr16KSwsTCdOnNDRo0d93SQqmf2ubDkLXLKFR8lZ4NJ%2BV3alCjkAAJTFp5DzxRdfaMWKFVq7dq3y8vLUunVrjRkzxl%2B1oZJoZIuRI9LmnslpZIup6JIAALgo0yHn4MGDWrlypVatWqWjR4%2BqTp06GjhwoPr27asmTZoEokZUMIf1/C6q/a7s84GHWRwAQBVgOuT06NFDkZGR6tq1q/785z8rJSVFYWGmj19GFeOw2gg3AIAqxXTImTJlim699VY5HI5A1IMQ5cx3MRMEAAgq0yFnyJAhgagDIayyn50FAAhN5Qo5X3/9tRITE2Wz2fT1119fdP3rrrvO58IQOjg7CwBQEcoVcgYNGqR33nlHrVq10qBBg2SxWMpczzAMWSwWbd%2B%2B3a9Fomrj7CwAQEUoV8hZvHixmjZtKkl67bXXLhhygLJwdhYAoCKUK%2BS0b9/e/fekpKSAFYPQxdlZAIBgM33u9%2BDBg7V3794yx3744QcNHjzY56IAAAB8ZTrkfPXVVxe8CafL5SrXgcmonLgJJwAglPh876qfO3bsmKpVq%2BbPTSJIOM0bABBqyhVy/vWvf2nt2rXux/Pnzy91McC8vDx99dVXSkxM9G%2BFCApO8wYAhJpyhZy9e/fqgw8%2BkCRZLBZt3Lix1BlWVqtVcXFxevjhh00VsH//fi1cuFBbtmzR7t271aRJE2VkZJRab/369XrmmWe0d%2B9eXXHFFRo6dKj%2B8Ic/mHotXBineQMAQk25Qs6oUaM0atQoSVJCQoIWL16sVq1a%2BaWA3bt3a/369WrdurWKi4tlGEapdTIzMzVmzBj16tVLDz74oDZv3qzHHntMVqtV/fv390sdlzpO8wYAhBrTx%2BTs2LHDrwWkpqaqe/fukqQHH3xQ3333Xal15s2bp8TERM2cOVOSlJycrCNHjui5555Tv379uEGon3CaNwAglJhOB99%2B%2B61Wr15d5tjq1au1ZcsWcwVcJKDk5%2Bdr48aN6tmzp8fy9PR0HTt2TNu2bTP1egAA4NJgOuTMnj1bu3btKnNs7969evbZZ30u6ucOHDiggoICNWnSxGP51Vdf7X5NVG0XO3X9YuPZeS59lfWDsvM49R0A8D%2Bmd1ft3LlTw4YNK3OsVatWevPNN30u6udOnjwpSbLb7R7LSx6XjHsrIsL/u7rCw8M8/sSFZee5NHfXWjnzz8hhraGJzXooJspmavzZHf9STsEZRUfW0MSE7h7j8C8%2B28FFv4OLfgdPsHptOuScPXtW4eHhZY6FhYVd8EKBvrrQ/bJ8uY9WWJhFDkfgvhDt9uoB23ao2J31k3IKz8oeVU05BWd1wuJSU0esufGCM6oVGaWcgjOlxhEYfLaDi34HF/0OnkD32nTIadCggTZt2qTOnTuXGtu0aZPq1avnl8JK1K5dW1LpGZvc3FxJpWd4zCguNpSbe8b74i4gPDxMdnt15eaeVVFRsd%2B3H0ouM2yKjqguZ975mZrLDJucTpe58cga7pmcX47Dv/hsBxf9Di76HTy%2B9Npur17uGSDTIeeWW27RggUL1LhxY/Xr18%2B9fOXKlXrttdfcp5r7S8OGDRUZGal9%2B/YpJSXFvXzPnj2S5L47urcKCwP3QS4qKg7o9kOBPby6xsf979R1e3h1j56VZ3xiQnedsLh0mWErNY7A4LMdXPQ7uOh38AS616ZDzsiRI/XVV1/p4Ycf1l//%2BlfFxsbqp59%2BUl5entq3b6%2BRI0f6tUCr1ark5GStWbNGQ4cOdS/PyMhQ3bp1ucJyCLjYqesXG4%2BJsqmpI1ZOp4v/MQEA3EyHHKvVqr///e9677339Pnnn8vpdKply5ZKSUlRWlraBY/XuZCzZ89q/fr1kqTDhw/r9OnT7qsrt2/fXjExMRo7dqwGDhyoqVOnKj09XZs3b9ayZcs0ffp0rpEDAADKZDHKusSwD7KzsxUTU/5bAhw6dEjdunUrc2zx4sVKSkqSdP62DrNnz3bf1uGuu%2B7y%2BbYORUXFys72//EbERFhcjhszCwECf0OHnodXPQ7uOh38PjS65gYW%2BCOySmLYRj67LPPtHz5cn366adlXrX4Qho0aKCdO3dedL0uXbqoS5cuvpQJAAAuIT6FnAMHDmjFihV69913dezYMUVGRuqmm27yV20AAABeMx1y8vLytGbNGq1YsULffPONDMOQxWLR0KFDNXLkSDkcjkDUCQAAYEq5Q87WrVu1fPlyrV69Wi6XS9WrV1efPn100003adSoUUpNTSXgAACASqNcISc9Pd19XZo2bdqoX79%2BuuWWW1SjRg2dOnUqoAUCAAB4o1whZ/fu3bJYLOrSpYsmTZrkvjkmAABAZVWuc7AeeughxcfHa926dUpPT9ftt9%2BuZcuW6fTp04GuDwAAwCvlCjmDBw/WqlWrtGzZMt12223at2%2BfHnnkEXXu3FmPPPKILBaLTzfKBAAA8DevLgZY1hlWjRo10u23364%2BffpUmQOQuRhgaKDfwUOvg4t%2BBxf9Dp5gXQzQ5yseHzhwQMuXL9eqVav0008/KSoqSlu2bPFlk0FDyAkN9Dt46HVw0e/got/BE6yQ4/ONnxo2bKj7779f69at0wsvvKDOnTv7ukkAAACf%2BeW2DpIUFhamrl27qmvXrv7aJKoQZ75L%2B13ZamSL%2BdU7hgMAECx%2BCzm4dDnzXZqzc62cBS45Im2aEN%2BNoAMAqHA%2B764C9ruy5SxwyRYeJWfB%2BRkdAAAqGiEHPmtki5Ej0iZXUZ4ckTY1ssVUdEkAALC7Cr5zWM/vouKYHABAZULIgV84rDbCDQCgUmF3FQAACEmEHAAAEJIIOQAAICQRcgAAQEgi5AAAgJBEyAEAACGJkAMAAEISIQcAAIQkQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFyAABASCLkAACAkETIQUhz5rv0rfOgnPmuii4FABBkERVdABAoznyX5uxcK2eBS45ImybEd5PDaqvosgAAQcJMDkLWfle2nAUu2cKj5Cxwab8ru6JLAgAEESEHIauRLUaOSJtcRXlyRNrUyBZT0SUBAIKI3VUIWQ7r%2BV1U%2B13Z5wMPu6oA4JJCyEFIc1hthBsAuESxuwoAAIQkQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISVUm5Pzwww8aPny42rRpow4dOuixxx7TuXPnKrosAABQSVWJe1fl5uZqyJAhqlevnubMmaPs7GzNmjVLOTk5evrppyu6PAAAUAlViZDz9ttvKzc3V6tWrVJMTIwkKTw8XJMmTdI999yjpk2bVnCFAACgsqkSu6s%2B%2B%2BwzdejQwR1wJOmmm26S1WrV%2BvXrK7AyVHXOfJe%2BdR6UM99laszX8aq67ew8l77K%2BkHZeZWr7qraz4s915d%2BV9b37KtA1v1r/a6sn7GKrKsqqBIzOXv37lW/fv08L6SZIwAAE/ZJREFUllmtVjVs2FB79%2B71adsREf7PeeHhYR5/IrC87Xd2nktzd62VM/%2BMHNYamtish2KibBcd83W8Km/72R3/Uk7BGUVH1tDEhO6Vou6q3M%2BLPdfbflfW9%2ByrQNd9oX5X9OegMn4%2BfRWs78kqEXJyc3Nlt9tLLbfb7Tp58qTX2w0Ls8jh8N8P7Zfs9uoB2zZKM9vv3Vk/KafwrOxR1ZRTcFYnLC41dcRedMzX8Sq97YIzqhUZpZyCM5Wm7irdz4s918t%2BV9b37KuA132Bflf456ASfj79JdDfk1Ui5FyIYRiyWCxeP7%2B42FBu7hk/VnReeHiY7Pbqys09q6KiYr9vH5687fdlhk3REdXlzDv/m8plhk1Op%2BuiY76OV%2BltR9Zw/6ZbWequ0v282HO97Hdlfc%2B%2BCnjdF%2Bh3hX8OKuHn01e%2BfE/a7dXLPQNkMQzD8KbAYOrQoYP69eunSZMmeSzv2bOn2rRpoxkzZni13aKiYmVn%2B39fY0REmByO8x%2BIwkJCTqD50m9nvkv7XdlqZIuRw2or95iv41V127lF53%2Bju8ywyR5e%2Bjewiqq7qvbzYs/1pd%2BV9T37KpB1/1q/K%2BtnrCLr8oUv/9%2BOibGFVsgZOHCgatWqpRdeeMG9LD8/X7/97W913333adiwYV5tl5ATGuh38NDr4KLfwUW/gydYIadKHBmbkpKijRs3yul0upd9/PHHys/PV5cuXSqwMgAAUFlViZAzYMAA1apVS2PGjNHnn3%2BuVatW6a9//avS09O5Rg4AAChTlTjw2G6367XXXtNjjz2m8ePHq1q1akpLSyt1jA4AAECJKhFyJKlx48ZauHBhRZcBAACqiCqxuwoAAMAsQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCUpW4QWegGIah4uLAvP3w8DDTt4%2BH9%2Bh38NDr4KLfwUW/g8fbXoeFWWSxWMq17iUdcgAAQOhidxUAAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFy8P/t3X9UzfcfB/BnP6QfKv1kqLM09xJXP5SKlsoRph/OYjks1qEkLWo1sYb2jdZCS6X5GVFUVsdimBphwzYp5sesMv1gdYu6VG4/7uf7x77d46r86trn26fX45x7uO/Pj/ezj%2BN%2BXr3fn8/nEkIIIZxERQ4hhBBCOImKHDm6c%2BcOFi9eDAsLC9jb2yM6OhpPnjxhOxYnHT9%2BHIGBgZgyZQosLCzg7u6OjIwMSCQStqNxXlNTExwdHcHn83Ht2jW243BWdnY2PDw8IBAIYG9vj4CAALYjcVZ%2Bfj7mzp0LKysrTJo0CUFBQSgvL2c7Vp939%2B5drF27Fp6enjAzM4Obm1u36xUWFmL27NkQCASYNm0a0tPT5ZZBWW576udEIhEWLVqEYcOGYevWrXjw4AFiYmLQ0NCATZs2sR2Pc1JTUzFs2DB8%2Bumn0NPTw6VLl7BhwwZUVlZi1apVbMfjtG3btqGjo4PtGJyWmJiIvXv3IiAgAObm5mhsbMS5c%2BfYjsVJP//8M4KCguDh4YGVK1dCJBIhKSkJvr6%2BOHbsGAYNGsR2xD7rzz//RGFhIczNzSGRSMAwTJd1rly5gsDAQHh6eiIiIgJFRUWIjo6GiooK5s6d2/sQDJGL7du3M%2Bbm5kx9fb207bvvvmN4PB5TWlrKYjJuevo4d9q4cSMjEAgYsVjMQqL%2BobS0lLGwsGAOHjzI8Hg85urVq2xH4pzS0lJmzJgxzLlz59iO0i%2BsWbOGcXZ2ZiQSibStpKSE4fF4zJkzZ1hM1vd1dHRI/75q1Spm1qxZXdZZvHgxM2fOHJm2yMhIZvLkyTLbvy6arpKTs2fPwt7eHrq6utK26dOnQ0VFBYWFhSwm46anj3OnMWPGQCwWo6GhgYVE/cOGDRswb948mJiYsB2Fs3JycmBkZAQHBwe2o/QL7e3t0NDQgIKCgrRNU1OTxUTcoaj4/BKjtbUVFy9exKxZs2Ta3d3dIRQKcePGjd5n6PUeCACgrKwMpqamMm0qKiowNjZGWVkZS6n6l8uXL2Pw4MHQ09NjOwonnThxArdu3cLy5cvZjsJpJSUl4PF4SE5Ohr29PcaNG4cPP/wQN2/eZDsaJ82ZMwfl5eXYv38/RCIRqqqqEBsbC1NTU9jb27Mdj9MqKirQ1taGkSNHyrS/8847ACCXcycVOXIiEomgpaXVpV1LSwuNjY0sJOpfrl27hpycHCxatAhKSkpsx%2BGclpYWfPnllwgNDaVrFN4woVCI8%2BfPIy8vD1FRUUhMTERLSwt8fX0hEonYjsc5NjY2SEpKQnx8PGxsbDB16lRUVlZiz549UFFRYTsep3WeG589d3a%2Bl8e5k4qcN4xhGJlhUCJ/QqEQwcHBEAgE8PPzYzsOJ6WkpEBPTw/vv/8%2B21E4j2EYNDc3IzExEa6urnB2dkZKSgqampqQmZnJdjzOKSoqQnh4OLy8vLB3714kJSVBVVUVfn5%2BePz4Mdvx%2BoWezpHyOHfS3VVyoqWl1e1vWY8ePeoyjUXk59GjR/Dz84OqqipSUlIwYMAAtiNxTnV1Nfbs2YPk5GTph35zc7P0z6amJmhoaLAZkVO0tbWhr6%2BPUaNGSdsMDQ0xcuRIlJaWspiMm6Kjo2FnZ4fPPvtM2jZhwgQ4OjoiOzsbvr6%2BLKbjNm1tbQBdR2w6z6XdzY68Kipy5MTU1LTL/GFraysqKirg5eXFUipuE4vFWLZsGerq6pCZmQkdHR22I3FSVVUV2tra4O/v32XZwoULYW5ujqysLBaScZOpqSnu3bvXpZ1hmBdeyEleXVlZGVxcXGTadHV1YWhoiIqKCpZS9Q/GxsYYMGAAysvL4ejoKG3vLOblMUBARY6cODo6IiUlBQ8fPpSebE%2BdOoXW1lZMmTKF5XTc097ejhUrVuDWrVs4cOAAhg8fznYkzhozZgzS0tJk2m7evImYmBhERUVBIBCwlIybnJyckJubi9u3b4PH4wEAampqUF5eTtOFb8CwYcNw/fp1mTahUIja2lr6XHnDVFRUYGdnh%2BPHj%2BOjjz6Sth89ehQGBgYwMzPrdR9K69evX9/rvRCMGjUK3377Lc6dO4chQ4bgypUr2LhxI6ZNm4Z58%2BaxHY9z1q9fj6NHj2LFihUwNDTE33//LX0NGjSILhiUo4EDB2LEiBEyL7FYjNzcXAQFBWHcuHFsR%2BQUExMTnDlzBkeOHIGenh7u3r2LdevWAQBiYmJoSvYN2LdvHx4%2BfAhlZWVcv34d69atw5MnTxAVFUVTsb3Q0tKCgoIClJaW4qeffkJdXR2GDh2K0tJS6OrqQk1NDUZGRvjmm29w//59aGhoIC8vD6mpqVi9erVcPlsUGKabRxCS13Lnzh1ER0fj8uXLUFVVhZubG8LCwqCqqsp2NM5xcXFBdXV1t8vS0tJga2v7LyfqXy5duoSFCxfi8OHDNJLzBtTX12Pjxo0oLCxEe3s7bGxssHr16i632pLeYxgGWVlZyMjIQEVFBdTV1SEQCBASEgI%2Bn892vD6tqqoKU6dO7XbZ05/ThYWF2LJlC8rKyjB06FD4%2BvpiwYIFcslARQ4hhBBCOImuYiOEEEIIJ1GRQwghhBBOoiKHEEIIIZxERQ4hhBBCOImKHEIIIYRwEhU5hBBCCOEkKnIIIYQQwklU5BBCCCGEk6jIIYQDcnJywOfzpS8zMzM4ODggJCQEf/31F2u5CgsLkZiY2O0yFxcXRERE/MuJXiwpKQnvvfceJBIJgH%2Be2srn87F7926Wk726CxcuwNLSEjU1NWxHIYQVVOQQwiExMTHIzMxEamoqFixYgB9//BHz589HY2MjK3kKCwuRlJTU7bKkpCQEBgb%2By4mer6amBrt370ZwcDAnvvHb3t4eAoEAW7ZsYTsKIazo%2B/%2BLCSFSo0aNgoWFBWxtbbFs2TL4%2Bfmhvr4e%2Bfn5bEfrwszMDMbGxmzHkJGWlgZNTU24urqyHaVHDMPgyZMnL73%2BggULkJeXh/v377/BVIT8f6IihxAO6/zyzPr6epl2Pp/f7TTSs1NIndNgFy9exLp162BrawtbW1sEBQW9cAokIiIC6enp0v46X1VVVd32denSJfD5fOTl5SEuLg4ODg6wtLREQEAA6urq8PjxY3z%2B%2BefSDKtXr0ZTU5NMnwzDID09HZ6enhg/fjxsbGwQHByMysrKFx6r1tZWHD58GG5ubj2O4qSmpsLFxQWWlpbw9vZGcXFxl3UKCgrg7e0Nc3NzWFpawtfXF1euXOlybFxcXLpsm5iY2OVLIfl8Pr744gscPHgQM2fOhEAgQG5uLgAgIyMDHh4esLS0hKWlJWbMmNFl1MbZ2Rnq6urIysp64TEghGuU2Q5ACHlzOguKt99%2Bu1f7iYyMhJOTEzZv3oz79%2B8jLi4O4eHhSEtL63GbwMBANDc34%2BTJk8jMzJS2GxoaPrev%2BPh42NraIiYmBtXV1YiNjUVoaCiUlZXB5/OxZcsW3LhxA/Hx8dDQ0EBkZKR027Vr1yI3Nxc%2BPj4ICwtDY2MjkpOTMW/ePBw5cgT6%2Bvo99nv16lU0NDT0%2BA326enpGDlyJNasWQMASEhIgL%2B/PwoKCqCpqQkAyMvLQ1hYGBwcHLB582a0trZi165d8PHxwd69e2Ftbf3cn70n%2Bfn5%2BO2337B8%2BXLo6%2BtDT08Px44dQ1RUFHx8fLBq1SooKiri7t27KC0tldlWRUUFlpaWKCwsxIoVK16rf0L6KipyCOEQiUSC9vZ2iMViFBUVISUlBTY2Nt2OGryKd999V6aYaGxsRFxcHIRCIQwMDLrdxtjYWFpUWFhYvHRfPB4PMTEx0vfl5eXYt2%2Bf9GQOAJMnT0ZxcTHy8vKkuYqLi5GVlYWIiAj4%2BvpKt7e2tsb06dORmpqK8PDwHvvtHG0ZO3Zst8s1NDSwfft2KCkpAfinWJs7dy7Onj2LWbNmQSKR4KuvvgKPx8POnTulo0FTpkzBtGnTsGnTJhw6dOilj8PTmpubkZeXB21tbWnboUOHoKWlJfPvYm9v3%2B32ZmZm2LFjB5qbm6Gurv5aGQjpi2i6ihAO%2BeCDDzB27FhYWVlhyZIl0NLSwrZt26Cs3LvfZ54tkjqnVO7du9er/XbH2dlZ5r2pqSkAwMnJqUt7Q0ODdMrq9OnTUFBQgIeHB9rb26UvfX19jB49Gr/88stz%2B62trYWCggJ0dHS6Xe7k5CQtcABg9OjRAIDq6moAwJ07d1BbWwtPT0%2BZ6S4NDQ24urqipKQELS0tL3EEurKzs5MpcIB/piJFIhFCQ0ORn5%2BPBw8e9Li9np4eJBIJ6urqXqt/QvoqGskhhENiY2NhamqKpqYmfP/998jMzERoaCh27drVq/0OHjxY5r2KigoAvNIFsC/r2ZP5gAEDntsuFouhoaGB%2Bvp6MAyDSZMmdbtfIyOj5/YrFouhrKwsU8g8radjIBaLAQAPHz4EgG5HtgwNDSGRSCASiaCmpvbcHN3pbp%2BzZ89GR0cHsrOzERwcDIlEAoFAgJUrV2Ly5Mky6w4cOBDAm/n3IuT/GRU5hHCIqamp9GJjOzs7SCQSZGdn48SJE5gxY4Z0PRUVFbS2tnbZvvNE3Rfp6OhAQUEB6enp0gLkad21Pbt9W1vba0/pdI4ACYXCLstqa2uhqKgILS0taZZXOf4KCgrdtnt5ecHLywvNzc349ddfkZiYiKVLl%2BLkyZMYPny4dL3ORwj0NEpFCFfRdBUhHBYeHg5tbW1s3bpV%2BnA7ABg%2BfDj%2B%2BOMPmXUvXLiA5uZmufb/Jkd8nuXk5ASGYVBTUwOBQNDl9exdS88yMTEBAFRUVLxW/yYmJhgyZAiOHj0KhmGk7c3Nzfjhhx9gYWEhHcUZMWIE6uvrZaaPWltbcf78%2BdfqW11dHVOmTEFAQADa2tq6XHxcWVmJwYMHP/fCa0K4iEZyCOEwbW1t%2BPv7Iy4uDnl5efD09AQAeHp6IiEhAQkJCZg4cSJKS0tx4MAB6V1C8sLj8QAAO3fuhKOjIxQVFcHn8184qvI6JkyYAG9vb6xZswa///47bGxsoKamBqFQiMuXL4PH42H%2B/Pk9bt95V1VJSYn0eptXoaioiPDwcISFhWHp0qXw9vZGa2srdu/eDZFIhE8%2B%2BUS67syZM7F161aEhIRgyZIlEIvF2L9/Pzo6Ol66v8jISKiqqsLKygoGBgYQCoXYsWMHNDU1paN5nYqLizFx4sQeR4QI4SoqcgjhOB8fH6Snp2Pbtm1wc3ODkpISFi9ejMePHyM3Nxd79uzB%2BPHjkZCQIPcnELu5uaGoqAgZGRlITk4GwzAoKCjAiBEj5NpPpy%2B%2B%2BALm5ubIzMzEwYMHIZFIYGhoCCsrK4wfP/6527711luwtraWPufmdbi7u0NNTQ07duxASEgIlJSUYG5ujrS0NFhZWUnXMzIyQnJyMuLj4xEcHAwDAwP4%2BvriwYMHPT4h%2BlnW1tbIycnB8ePH0djYCB0dHUyYMAGxsbHQ1dWVrldRUYHbt2/j448/fq2fiZC%2BTIF5elyVEEL6sZMnTyIkJASnT5/GkCFD2I4jF19//TWOHDmCU6dO9fouO0L6GromhxBC/sfV1RUCgQDbt29nO4pciEQiZGRkICQkhAoc0i9RkUMIIf%2BjoKCA//znP9Jbvvu6qqoq%2BPv7w93dne0ohLCCpqsIIYQQwkk0kkMIIYQQTqIihxBCCCGcREUOIYQQQjiJihxCCCGEcBIVOYQQQgjhJCpyCCGEEMJJVOQQQgghhJOoyCGEEEIIJ/0XTqka4MwpJ5sAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHKCAYAAADhBVpHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeXhU9dnG8XuyTICBIRMhKiAU0CSEnSoJCEECaJVEtqJo2QQEZBMtFlG0hQq4FRUEcYEqioos0hrBpSgor4JaIlTZwbIJEciEwABZz/sHV6aOCZIzW5Lh%2B7kuL5jzO3PmmSeDc%2Bd3NothGIYAAABCTFhFFwAAABAIhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcVBkrV65UfHy8WrZsqcOHD5caHzRokNLS0iqgMmnTpk2Kj4/XBx98UCGvb9ahQ4c0cuRItW/fXvHx8ZoxY0ZQXnf9%2BvWaO3dumWOpqal68MEHg1IHKh6fBQRDREUXAJiVn5%2BvZ599Vk899VRFl1JlzZo1S1u2bNHMmTNVp04d1a1bNyivu379ei1ZskTjx48vNfb888%2BrZs2aQakDFY/PAoKBkIMqp3PnzsrIyNDw4cOVkJBQ0eUE1blz5xQVFSWLxeLTdnbv3q1WrVqpe/fufqrMd4mJiRVdQsAUFRWpqKhIVqu1oksJqrNnz6p69eqmnxfKnwUEF7urUOWMGDFC0dHRF53JOXTokOLj47Vy5cpSY/Hx8R5T5XPnzlV8fLx27NihCRMm6Le//a3at2%2BvWbNmqbCwUPv27dPw4cPVtm1bpaam6uWXXy7zNfPy8jRr1ixdf/31atWqlQYOHKht27aVWu8///mPRo8erfbt26tly5bq3bu3Vq9e7bFOye65DRs2aMqUKUpOTlbr1q2Vn59/wff8448/atKkSerQoYNatGihm2%2B%2BWYsWLVJxcbGk/%2B1W279/vz777DPFx8crPj5ehw4duuA2lyxZoj/84Q/q0KGD2rRpo/T0dL388ssqKCgote5nn32mIUOG6Le//a1at26tm2%2B%2BWS%2B%2B%2BKIk6cEHH9SSJUvc/f/la/98F0V2drZatGihZ599ttRr7N27V/Hx8Vq8eLF72bFjx/Too48qJSVFLVq0UGpqqp5//nkVFhZe8H2VSE1N1ahRo/Txxx8rPT1dLVu2VLdu3Ty2X97%2BSv/73L388suaP3%2B%2BUlNT1bJlS23cuFGSdPr0aT3xxBNKTU1VixYt1LlzZ82YMUNnzpzxeK01a9aof//%2B7l5269ZNU6ZMuej7ycvL09/%2B9jeP7U%2BbNk25ubnudcaMGaOuXbt61F2if//%2B6tOnj/uxYRhasmSJevXqpVatWum6667ThAkTdPDgQY/nlewu/vrrrzVgwAC1bt1aDz30UJk1mvksSP/73L733nt66qmn1KlTJ7Vt21ajR4/W8ePHdfr0aT3yyCNKSkpSUlKSpkyZIpfL5fGa5X0fCC3M5KDKsdlsuueeezRjxgx9%2BeWX6tChg9%2B2PXHiRN16660aMGCA/u///k%2BvvPKKCgsL9cUXX%2BjOO%2B/U8OHD9d577%2Bnpp59Wo0aNdOONN3o8/5lnnlFiYqIee%2BwxnTp1Ss8//7wGDRqkVatW6aqrrpIkbdy4USNGjFDr1q31l7/8RbVq1dLq1at133336dy5c%2Brbt6/HNh966CHdcMMNevLJJ3X27FlFRJT9zzY7O1sDBgxQQUGB7r33XtWvX1/r1q3TE088oQMHDugvf/mLmjdvrqVLl2rcuHG66qqrNHnyZElSbGzsBXty4MABpaWlqUGDBoqMjNSOHTu0YMEC7du3T7NmzXKvt2zZMj3yyCO67rrrNG3aNF122WX64YcftHv3bknnv1jPnDmjDz/8UEuXLnU/r6zXjomJ0Q033KBVq1ZpwoQJCgv73%2B9jK1euVGRkpNLT0yWdDzj9%2B/dXWFiYxo4dq4YNGyozM1MvvPCCDh8%2B7FHjhWzfvl0zZ87UuHHjVKdOHb333nuaMWOGCgoKNHz48HL39%2Bdef/11/eY3v9HkyZNVs2ZNNWrUSGfPntXAgQN19OhRjR49WvHx8dq9e7fmzJmjXbt26dVXX5XFYlFmZqbuu%2B8%2B3XLLLRo3bpyioqL0448/uoPShRiGoTFjxmjjxo0aOXKkrr32Wu3cuVNz587Vt99%2Bq6VLl8pqtapfv37u9Tp27Oh%2B/t69e7V161ZNnTrVvezRRx/Vu%2B%2B%2Bq0GDBmnSpEk6efKk5s2bpwEDBugf//iH6tSp41732LFjeuCBBzRixAjdd999Hj%2B3nzPzWfi5Z555RklJSZo1a5YOHz6sJ554Qvfff78iIiIUHx%2Bv2bNna9u2bXrmmWdks9m8fh8IIQZQRaxYscKIi4sztm7dauTl5RndunUz%2BvbtaxQXFxuGYRgDBw40evbs6V7/4MGDRlxcnLFixYpS24qLizPmzJnjfjxnzhwjLi7OWLRokcd6vXr1MuLi4oyPPvrIvaygoMBITk42xo0b5162ceNGIy4uzujTp4%2B7HsMwjEOHDhnNmzc3Hn74Yfey3/3ud0bv3r2NgoICj9caNWqUcf311xtFRUUe7/dPf/pTufrz9NNPG3FxccaWLVs8lv/5z3824uPjjX379rmXde3a1Rg5cmS5tvtzRUVFRkFBgfHuu%2B8azZo1M3JycgzDMIzTp08b7dq1M%2B644w6P9/9L06ZNM%2BLi4soc69q1qzF58mT347Vr1xpxcXHGhg0b3MsKCwuNTp06GePHj3cve%2BSRR4w2bdoYhw8f9tjewoULjbi4OGP37t2/%2Bp66du1qxMfHG9u3b/dYftdddxnt2rUzzpw5YxhG%2Bftb8rnr3r27kZ%2Bf77Huiy%2B%2BaCQkJBhbt271WP7BBx8YcXFxxrp16zxqz83N/dXaf%2Bmzzz4z4uLijJdfftlj%2Bfvvv2/ExcUZS5cuNQzj/Ge4Y8eOxv333%2B%2Bx3pNPPmk0b97cyM7ONgzDMDIzM8v8d3HkyBGjVatWxpNPPuleNnDgQCMuLs744osvylWrmc9Cyb%2BvUaNGeaw3Y8YMIy4uzvjrX//qsXzMmDFG%2B/bt3Y/NvA%2BEFnZXoUqyWq2aOHGivvvuO61Zs8Zv273hhhs8Hjdt2lQWi0UpKSnuZREREWrUqFGZZ3ilpaV5HC9Tv359tW3bVps2bZIk7d%2B/X/v27XPPQhQWFrr/S0lJ0bFjx/TDDz94bPOXs0UXsnHjRl199dVq1aqVx/K%2BffvKMIyLzgJcyLZt2zR69GglJSWpWbNmat68uSZPnqyioiL997//lSRlZmbq9OnTuvPOO30%2BXqhESkqK6tat67G7ccOGDfrpp5/Ur18/97J169YpKSlJsbGxpfopSV999dVFX%2Buaa64pdXxXWlqaTp8%2Bre%2B//16S%2Bf6mpqYqMjLSY9mnn36qa665Rs2aNfOotVOnTrJYLO5aW7ZsKen8zOLq1auVlZV10fdQUmNJTT938803q0aNGvryyy8lnf8M33rrrfr444916tQpSeePG/rHP/6hbt26yeFwuOu1WCy69dZbPeqtU6eOEhISSvW2du3afp1Z/aWuXbt6PG7atKmksv/d5uTkuHdZmX0fCB3srkKV1bNnTy1atEjPPPOMevTo4Zdt1q5d2%2BNxZGSkqlevrqioqFLLT58%2BXer5ZU1516lTRzt27JAkHT9%2BXJL0xBNP6IknniizBqfT6fG4vGc%2B5eTkqH79%2BqWWl%2BwCyMnJKdd2fu7HH3/UH/7wBzVu3FgPPfSQ6tevr6ioKG3dulXTp0/XuXPnJJ3flSNJV1xxhenXuJCSL%2BI33nhDubm5stvtWrlyperWratOnTq51ztx4oQ%2B/fRTNW/evMzt/LKfZbnQz036X9/M9resn9uJEye0f//%2Bi9Z63XXXad68eXr99dc1efJk5efn65prrtHo0aN/9TIJOTk5ioiIUExMjMdyi8WiOnXqeNTYr18/LVq0SO%2B//74GDBigDRs26NixYx4B6cSJEzIMw2OX1s%2BV7IL9tffsT2X9%2B/y15Xl5ebLZbKbfB0IHIQdVlsVi0aRJk3TXXXfpnXfeKTVeEkx%2BeaBueb70vFUSYn65LDo6WpLcvyGPGjXqgsGscePGHo/LOzMSHR2tY8eOlVr%2B008/eby2Gf/617905swZzZ071%2BMLviS0lSj5Uj169Kjp1/g1/fr108KFC/X%2B%2B%2B/rlltu0SeffKIhQ4YoPDzcvY7D4VB8fLwmTpxY5jYudpyHdOGfmyT3z85sf8v6uTkcDkVFRWnmzJll1vHzbXTv3l3du3dXfn6%2Bvv32W7344ov64x//6J4dLEt0dLQKCwuVnZ3tEXQMw9Dx48fdM0SS3LNSK1eu1IABA7RixQrFxsZ6BEiHwyGLxaIlS5aUeWbYL5f5axbP38y%2BD4QOdlehSuvYsaOuv/56zZs3r9TZFHXq1FFUVJR27tzpsXzt2rUBqycjI0OGYbgfHz58WJmZmWrfvr0kqUmTJvrNb36jHTt2qGXLlmX%2B5%2B31QTp06KA9e/a4d6%2BUWLVqlSwWi5KSkkxvs%2BRL6%2BdfAoZhlAqVbdu2Va1atfT22297vP9fKtlOyQzQxTRt2lStW7fWypUrlZGRofz8/FK7Ym644Qbt2rVLDRs2LLOfl19%2B%2BUVfZ/fu3aWCW0ZGhmw2m3vWxR/9veGGG3Tw4EFFR0eXWWuDBg1KPcdqtap9%2B/Z64IEHJKnMs/VKlOwq%2Buc//%2Bmx/MMPP9SZM2dK7Urq27evtmzZom%2B%2B%2BUaffvqp%2BvTp4xEgb7jhBhmGoaysrDLrjY%2BPv%2Bh7vhCznwVfBPJ9oHJjJgdV3qRJk9S3b1%2BdOHFC11xzjXt5yT74FStWqGHDhkpISNDWrVuVkZERsFqys7M1duxY3XbbbTp16pTmzp0rq9WqUaNGudeZNm2a7r77bg0fPlx9%2BvTR5ZdfrpMnT2rv3r36/vvvNWfOHK9ee%2BjQoVq1apVGjRqlCRMmqF69elq3bp3efPNN3XHHHaVmiMqjY8eOioyM1P33368RI0YoPz9fb731lsfpyNL5M94mT56sqVOnaujQobrtttt02WWX6cCBA9qxY4ceffRRSVJcXJwk6eWXX1ZKSorCwsIUHx//q79J9%2BvXT48%2B%2Bqh%2B%2BukntW3bVk2aNPEYnzBhgr744gsNGDBAgwYNUuPGjZWfn69Dhw7ps88%2B07Rp0y66Gy02Nlb33HOPxo0bp7p16%2Bqf//yn/u///k%2BTJk1yX%2BfFH/0dMmSIPvroIw0cOFBDhw5VfHy8iouLdeTIEW3YsEHDhg1T69at9dxzz%2Bno0aPq0KGDrrjiCuXm5mrx4sWKjIx0B%2BayXH/99erUqZOefvppnT59Wu3atdPOnTs1Z84cJSYmqlevXh7rp6Wl6fHHH9cf//hH5efne5w6Lkm//e1vdfvtt%2Buhhx7Sd999p%2Buuu07Vq1fXsWPH9O9//1txcXG68847L/q%2By%2BLNZ8FbgXwfqNwIOajyEhMT1bNnzzLDS8m1Nl555RWdOXNGSUlJWrBggVJTUwNSy3333af//Oc/mjJlik6fPq1WrVpp9uzZatiwoXud5ORkLVu2TAsWLNDMmTOVm5ur6OhoNW3aVDfffLPXrx0TE6O3335bf/vb3/S3v/1NLpdLDRo00AMPPKC77rrLq202bdpUc%2BfO1bPPPqvx48crOjpaaWlpGjp0qO6%2B%2B26Pdfv376/Y2Fi98sormjp1qgzDUP369dW7d2/3Omlpadq8ebPefPNNzZs3T4ZhaO3atWXOYJTo2bOnZs6cqaNHj2rcuHGlxmNjY7V8%2BXLNnz9fCxcuVFZWlmw2m%2BrXr6/OnTvLbrdf9H02a9ZMffv21dy5c/Xf//5XsbGxmjJlioYOHepexx/9rVGjhpYsWaKXXnpJS5cu1aFDh1StWjVdeeWV6tixo3uXYOvWrfXdd9/p6aefVnZ2tux2u1q0aKFXX33VI8j/ksVi0fz58zV37lytXLlSCxYsUHR0tHr16qX777%2B/VICoVauWunfvroyMDLVr167MoDZ9%2BnS1bt1aS5cu1VtvvaXi4mLFxsaqXbt2pQ7CNsObz4IvAvU%2BULlZjF%2BbWwaAEJeamqprrrnGfdFCAKGDY3IAAEBIIuQAAICQxO4qAAAQkpjJAQAAIYmQAwAAQhIhBwAAhCRCDgAACEmX9MUADcNQcXFgjrsOC7MEbNsojX4HD70OLvodXPQ7eLztdViYpdz3SbukQ05xsaHsbNfFVzQpIiJMDodNublnVFhY7PftwxP9Dh56HVz0O7jod/D40uuYGJvCw8sXcthdBQAAQhIhBwAAhCRCDgAACEmEHAAAEJIIOQAAICQRcgAAQEgi5AAAgJBEyAEAACGJkAMAAEISIQcAAIQkQg4AAAhJhBwAABCSCDkAAMA0Z75L3zoPypnv/xtd%2B8slfRdyAABgnjPfpTk718pZ4JIj0qYJ8d3ksNoquqxSmMkBAACm7Hdly1ngki08Ss4Cl/a7siu6pDIRcgAAgCmNbDFyRNrkKsqTI9KmRraYii6pTBUeclauXKn4%2BPhS/z399NMe661fv169e/dWy5Yt1aNHDy1ZsqSCKgYA4NLmsJ7fRTW0cadKu6tKqkTH5LzyyiuqVauW%2B/Hll1/u/ntmZqbGjBmjXr166cEHH9TmzZv12GOPyWq1qn///hVRLgAAlzSH1VZpw02JShNymjdvrpiYsqe75s2bp8TERM2cOVOSlJycrCNHjui5555Tv379FBZW4RNSAACgkqn06SA/P18bN25Uz549PZanp6fr2LFj2rZtWwVVBgAAKrNKM5OTlpYmp9OpevXq6bbbbtOIESMUHh6uAwcOqKCgQE2aNPFY/%2Bqrr5Yk7d27Vy1atPD6dSMi/J/zwsPDPP5EYNHv4KHXwUW/g4t%2BB0%2Bwel3hIadu3boaP368WrduLYvFok8%2B%2BUTPPvussrKy9Oijj%2BrkyZOSJLvd7vG8kscl494IC7PI4Qjc/kS7vXrAto3S6Hfw0Ovgot/BRb%2BDJ9C9rvCQ07lzZ3Xu3Nn9uFOnToqKitJrr72m0aNHu5dbLJYyn3%2Bh5eVRXGwoN/eM18%2B/kPDwMNnt1ZWbe1ZFRcV%2B3z480e/godfBRb%2BDi34Hjy%2B9tturl3sGqMJDTlluvvlmLVq0SNu3b1f9%2BvUllZ6xyc3NlVR6hseswsLAfZCLiooDun14ot/BQ6%2BDi34HF/0OnkD3utLveGzYsKEiIyO1b98%2Bj%2BV79uyRJDVt2rQiygIAAJVcpQw5q1evVnh4uBITE2W1WpWcnKw1a9Z4rJORkaG6desqMTGxgqoEAACVWYXvrho%2BfLiSk5MVFxcnSVq7dq3eeecdDR48WHXr1pUkjR07VgMHDtTUqVOVnp6uzZs3a9myZZo%2BfTrXyAEAAGWq8JDTuHFjLV%2B%2BXEePHlVxcbF%2B85vf6KGHHtKgQYPc67Rt21bz58/X7NmztWrVKl1xxRWaOnUqVzsGAAAXVOEhZ%2BrUqeVar0uXLurSpUuAqwEAAKGCfT0AACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFyAABASCLkAACAkETIAQAAIYmQAwAAQhIhBwAAhCRCDgAACEmEHAAAEJIIOQAAICQRcgAAQEgi5AAAgJBEyAEAACGJkAMAAEISIQcAAIQkQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFyAABASCLkAACAkETIAQAAIYmQAwAAQpJfQs6WLVv01ltvae/evf7YHAAAgM8izD7h4YcfVlFRkR5//HFJ0vvvv69JkybJMAxFRkZq8eLFatu2rd8LBQAAMMP0TM6mTZuUnJzsfrxgwQJ16tRJq1atUtu2bfXiiy/6tUAAAABvmA45x48fV7169SRJWVlZ2r17t0aNGqWEhAQNHjxY3333nd%2BLBAAAMMt0yImIiFBeXp4kafPmzYqKilLr1q0lSbVr11Zubq5/KwQAAPCC6ZDTpEkT/eMf/9Dp06e1fPlytWvXTpGRkZKko0ePKiYmxu9FAgAAmGU65Nx11116//33dd111%2BmLL77QoEGD3GNffvml4uPj/VogAACAN0yfXXXzzTfryiuvVGZmplq2bKlrr73WPXbFFVfopptu8muBAAAA3jAdciSpTZs2atOmTanlEyZM8LkgAAAAf/Aq5EjS559/rq%2B%2B%2BkpOp1NjxoxRvXr1tHXrVjVo0IDjcgAAQIUzHXLOnj2rMWPG6Msvv5TFYpEk3XHHHapXr54WLVqkK6%2B8UpMnT/Z7oQAAAGaYPvD4mWee0Xfffae5c%2Bfqm2%2B%2BkWEY7rHrr79eX3zxhV8LBAAA8IbpmZwPPvhA9957r3r06KGioiKPsXr16unIkSN%2BKw4AAMBbpmdysrOzdfXVV5e9sbAwnTt3zueiAAAAfGU65Fx%2B%2BeXatWtXmWM7d%2B5UgwYNfC4KAADAV6ZDzo033qgFCxZo27Zt7mUWi0WHDx/Wq6%2B%2Bqt/97nd%2BLRAAAMAbpkPO2LFjFRsbq/79%2B6tfv36yWCyaMmWK0tLSFBMTo5EjR3pdjMvlUkpKiuLj4/Wf//zHY2z9%2BvXq3bu3WrZsqR49emjJkiVevw4AAAh9pkNOzZo19fbbb%2Bvee%2B9VjRo11LBhQ1WvXl2jRo3SkiVLVK1aNa%2BLmT9/fqmDmSUpMzNTY8aMUWJiol5%2B%2BWX16dNHjz32mJYtW%2Bb1awEAgNDm1cUAq1WrppEjR/o0a/NLe/fu1ZtvvqnJkyfrz3/%2Bs8fYvHnzlJiYqJkzZ0qSkpOTdeTIET333HPq16%2BfwsJMZzUAABDiTKeDbt26aceOHWWO7dq1S926dfOqkBkzZmjAgAFq3Lixx/L8/Hxt3LhRPXv29Fienp6uY8eOeRwbBAAAUML0TM7hw4eVn59f5lheXp5%2B/PFH00V88MEH2rFjh%2BbMmaPvv//eY%2BzAgQMqKChQkyZNPJaXnMa%2Bd%2B9etWjRwvRrloiI8P8sUHh4mMefCCz6HTz0Orjod3DR7%2BAJVq%2B9vndVWQ4ePCibzWbqOWfPntXjjz%2Bu%2B%2B%2B/XzVr1iw1fvLkSUmS3W73WF7yuGTcG2FhFjkc5uo1w26vHrBtozT6HTz0Orjod3DR7%2BAJdK/LFXLeffddvfvuu%2B7Hf/nLX0oFkry8PO3YsUPXXXedqQJeeOEFXXbZZerbt%2B%2Bvrldyn6zyLi%2BP4mJDublnvH7%2BhYSHh8lur67c3LMqKir2%2B/bhiX4HD70OLvodXPQ7eHzptd1evdwzQOUKOWfPnpXT6ZR0PlScOnVKBQUFHutERkbqlltu0fjx48td6OHDh7Vo0SLNmzdPp0%2BfliSdOXPG/afL5VLt2rUllZ6xyc3NlVR6hseswsLAfZCLiooDun14ot/BQ6%2BDi34HF/0OnkD3ulwh584779Sdd94pSUpNTdXcuXOVkJDg84sfOnRIBQUFZZ6lNXjwYLVu3VpvvPGGIiMjtW/fPqWkpLjH9%2BzZI0lq2rSpz3UAAIDQY/qYnE8%2B%2BcRvL96sWTMtXrzYY9n27ds1a9YsTZs2TS1btpTValVycrLWrFmjoUOHutfLyMhQ3bp1lZiY6Ld6AABA6DAdcspz9lS9evXKtS273a6kpKQyx5o3b67mzZtLOn%2BV5YEDB2rq1KlKT0/X5s2btWzZMk2fPp1r5AAAgDKZDjmpqakXPdh3%2B/btXhdUlrZt22r%2B/PmaPXu2Vq1apSuuuEJTp05V//79/fo6AAAgdJgOOTNnziwVcpxOpz755BMdPXpU99xzj08FJSUlaefOnaWWd%2BnSRV26dPFp2wAA4NJhOuRc6FTvYcOGacKECTpy5IjPRQEAAPjKrwe09O3bV8uXL/fnJgEAALzi15BTWFjovn4NAABARfLLbR0KCgq0c%2BdOv10/BwAAwFemQ05CQsIFz66y2%2B1auHChz0UBAAD4ynTIGTt2bKmQY7Va1aBBA6WkpJR5k00AAIBgMx1yzNybCgAAoKJwuWAAABCSvDrw%2BJtvvlFGRoZ%2B/PFHnTt3zmPMYrHotdde80txAAAA3jIdclasWKGHH35YtWvXVuPGjRUZGekxbhiG34oDAADwlumQ88orr%2Bjmm2/WE088IavVGoiaAAAAfGb6mJwff/xR/fv3J%2BAAAIBKzXTIadq0qY4fPx6IWgAAAPzGdMi577779PLLLysrKysQ9QAAAPiF6WNylixZolOnTummm25SQkKCoqOjPcYtFoteeOEFvxUIAADgDdMhZ9euXQoLC1NMTIx%2B%2Bukn/fTTTx7jF7rlAwAAQDCZDjmffPJJIOoAAADwK654DAAAQhIhBwAAhKRy7a5q1qyZli5dqlatWikhIeFXj7uxWCzatm2b3woEAADwRrlCztixY3X55Ze7/87BxQAAoLIrV8gZN26c%2B%2B/jx48PWDEAAAD%2BwjE5AAAgJJk%2BhVyS8vPz9cUXX%2Bjw4cPKz8/3GLNYLBo6dKg/agMAAPCa6ZDz3XffafTo0Tpx4oQMwyg1TsgBAACVgemQM23aNNWsWVPTpk1T06ZNFRkZGYi6AAAAfGI65OzZs0dPP/20unXrFoh6AAAA/ML0gcdXXnllIOoAAADwK9MhZ8SIEVq0aFGpA44BAAAqE9O7q/r27avDhw%2Bre/fuat%2B%2BvaKjo0utM3XqVL8UBwAA4C3TIWfdunV68cUXVVhYqIyMjFLjFouFkAMAACqc6ZDz5JNPqnnz5pxdBQAAKjXTIefw4cN6/vnnlZCQEIh6AAAA/ML0gcdNmjTR6dOnA1ELAACA35gOOffee69eeOEFHTt2LBD1AAAA%2BIXp3VVvv/22cnNzdeONNyohIUG1a9f2GLdYLHrhhRf8ViAAAIA3TIecXbt2KSwsTA6HQ1lZWcrKyvIYt1gsfiuuqsrOc2l31k%2B6zLDJHl69ossBAOCSZDrkfPLJJ4GoI2Q4812au2utcgrPKjqiusbHdZPDaqvosgAAuOSYPiYHv26/K1vO/DOqFRklZ/4Z7XdlV3RJAABckgg5ftbIFiOHtYZOFeTJYa2hRraYihLe/OMAACAASURBVC4JAIBLkundVfh1DqtNE5v10AmLi2NyAACoQIScAIiJsqmpI1ZOp0uFhcUVXQ4AAJckdlcBAICQRMgBAAAhyfTuquLiYh08eFA5OTmyWCyqXbu2rrrqKoWFkZcAAEDlUe6Q89///ldz5szRp59%2BqnPnznmMVatWTampqRo3bpwaN27s9yIBAADMKlfI2bZtmwYNGiSr1ar09HTFx8crOjpakpSTk6OdO3fqX//6l9avX6833niDO5QDAIAKZzEMw7jYSsOGDVNeXp5efPFF1axZs8x1Tp8%2BrdGjRysqKkoLFy70e6GBUFRUrOxsl9%2B3GxERJofDxtlVQUK/g4deBxf9Di76HTy%2B9Domxqbw8PIdIlOutTIzMzVq1KgLBhxJqlmzpu6%2B%2B25t3ry5fFUCAAAEULlCTkREhPLz8y%2B6XkFBgSIiuPQOAKBsznyXvnUelDPf/7PowC%2BVK%2BQkJSXpueee09GjRy%2B4TlZWlubOnavk5GS/FQcACB3OfJfm7FyrV3/YoDk71xJ0EHDlmnaZPHmy7rzzTvXo0UPJycmKj49X7dq1ZbFYlJOTo127dmnjxo2Kjo7W888/H%2BiaAQBV0H5XtpwFLtnCo%2BQscGm/K1sOq62iy0IIK1fIueqqq/SPf/xDr7zyitauXasNGzao5Hhli8Wihg0bavDgwRo2bJhiYszdkPLzzz/Xiy%2B%2BqD179uj06dO6/PLL1b17d40bN061atVyr7d%2B/Xo988wz2rt3r6644goNHTpUf/jDH0y9FgCg4jSyxcgRaZOzwCVHpI0bGCPgynV21S/l5eXp5MmTkqTatWsrKirK6wIyMjK0c%2BdOtWrVSna7Xbt379bcuXPVvHlzLVq0SNL5A58HDhyoXr166dZbb9XmzZs1d%2B5cTZ8%2BXf379/f6tTm7KjTQ7%2BCh18EViv125p%2BfwWlki6l0szih2O/KKlhnV3l1lHBUVJRiY2O9eWopaWlpSktLcz9OSkqS1WrVI488oqysLF1%2B%2BeWaN2%2BeEhMTNXPmTElScnKyjhw5oueee079%2BvXjassAUEU4rLZKF24QuvyaDrKzs/X111/7vJ2SCw0WFhYqPz9fGzduVM%2BePT3WSU9P17Fjx7Rt2zafXw8AAIQev4acr7/%2BWoMHD/bquUVFRcrLy9P333%2BvefPmqWvXrqpfv74OHDiggoICNWnSxGP9q6%2B%2BWpK0d%2B9en%2BsGAAChp9Jc1KZr167KysqSJHXu3FmzZ8%2BWJPexP3a73WP9kscl496KiPD/rq6SfYXl3WcI39Dv4KHXwUW/g4t%2BB0%2Bwel2ukDNlypRybezHH3/0upCXXnpJZ86c0Z49ezR//nyNHj1af//7393jFoulzOddaHl5hIVZ5HAEbt%2Bw3V49YNtGafQ7eOh1cNHv4KLfwRPoXpcr5Lz77ruyWq0KDw//1fWKi70/Gr3kpp7t2rVTYmKi%2BvXrp48//ti9W%2BqXMza5ubmSSs/wmFFcbCg394zXz7%2BQ8PAw2e3VlZt7VkVFHKEfaPQ7eOh1cNHv4KLfweNLr%2B326v49uyo2NlbdunXTn//8519d74MPPtB9991Xrhf%2BNc2aNVN4eLgOHDig1NRURUZGat%2B%2BfUpJSXGvs2fPHklS06ZNfXqtQJ4mWFRUzGmIQUS/g4deBxf9Di76HTyB7nW5olBiYqK2b99%2B0fV82XX0c5mZmSoqKlKDBg1ktVqVnJysNWvWeKyTkZGhunXrKjEx0S%2BvCQAAQku5ZnLi4%2BO1ePHii64XExOja6%2B91lQB48aNU4sWLRQfH69q1appx44deuWVVxQfH6/u3btLksaOHauBAwdq6tSpSk9P1%2BbNm7Vs2TJNnz6da%2BQAAIAyeXXFY3966aWXtHr1ah04cECGYah%2B/frq0aOHhg8frpo1a7rXW79%2BvWbPnu2%2BrcNdd93l820duOJxaKDfwUOvg4t%2BBxf9Dp5gXfG4wkNORSLkhAb6HTz0Orjod3DR7%2BAJVshhXw8AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQZCrknDt3Tp07d9Ynn3wSqHoAAAD8wlTIqVatmvLy8lS9OjcvAwAAlZvp3VXJycn68ssvA1ELAACA35Trtg4/N3r0aI0fP15Wq1U33nij6tatW%2BqeVdHR0X4rEAAAwBumQ07fvn0lSc8//7zmzZtX5jrluZknAABAIJkOOWPHjvXb3cYBAAACxXTIGT9%2BfCDqAAAA8CufrpNz7tw5ZWVlqbCw0F/1AAAA%2BIVXIWfjxo26/fbb1a5dO3Xt2lU7d%2B6UJE2bNk0fffSRXwsEAADwhumQ8%2BWXX2r48OHKy8vTsGHDVFz8v1ukOxwOrVy50q8FAgAAeMN0yJkzZ45SUlK0atUqTZw40WMsISFBO3bs8FtxAAAA3jIdcrZv364BAwZIUqmzrGJiYnTixAn/VAYAAOAD0yEnPDxcBQUFZY6dOHFCNpvN56IAAAB8ZTrktGzZUv/85z/LHPvwww/Vpk0bn4sCAADwlenr5IwcOVLDhw/X2LFj1bt3b1ksFm3ZskUrVqzQhx9%2BqNdeey0QdQIAAJhiOuR07NhRjz/%2BuGbOnKm1a9dKkqZPny673a5Zs2bp2muv9XuRAAAAZpkOOZLUq1cv3XTTTdq8ebNOnDghh8Ohdu3aqUaNGv6uDwAAwCtehRxJqlatmjp27OjPWgAAAPzGq5Bz%2BvRpLVmyRJs2bVJOTo6io6OVlJSkO%2B64Q3a73d81AgAAmGY65Bw8eFBDhgzRjz/%2BqHr16qlu3br673//qy%2B%2B%2BEJvv/22Fi9erKuuuioQtQIAAJSb6ZAzY8YM5eXl6a233lLbtm3dyzdv3qzx48drxowZWrBggV%2BLBAAAMMv0dXI2bdqkiRMnegQcSWrXrp0mTpyoTZs2%2Ba04AAAAb5kOOVarVVdeeWWZY1deeaWsVqvPRQEAAPjKdMhJTU3VBx98UObYBx98oBtuuMHXmgAAAHxm%2Bpic9PR0Pfzww5owYYLS09NVp04dHT9%2BXO%2B9956%2B%2B%2B47zZgxQ99//717/ebNm/u1YAAAgPIwHXKGDRsmSTpy5Ig%2B/vhj93LDMDzGDcOQxWLR9u3b/VHnJcOZ79J%2BV7Ya2WLksHKzUwAAvGU65MyaNSsQdUDnA86cnWvlLHDJEWnThPhuBB0AALxkOuT06dMnEHVA0n5XtpwFLtnCo%2BQsOD%2BjQ8gBAMA7pg88RuA0ssXIEWmTqyhPjkibGtliKrokAACqLK/vXQX/c1jP76LimBwAAHxHyKlkHFYb4QYAAD9gdxUAAAhJhBwAABCS/BZy8vLy/LUpAAAAn5kOOatXr9aSJUvcj/fv369bbrlFbdq00Z133qmTJ0/6tUAAAABvmA45Cxcu1NmzZ92Pn3zySeXm5mrw4MHat2%2BfFixY4NcCAQAAvGE65Bw6dEjXXHONpPO7qDZs2KBJkyZpypQpmjhxotauXev3IgEAAMwyHXLOnj2rGjVqSJK2bNmi/Px8paSkSJKuvvpqZWVl%2BbdCAAAAL5gOOXXr1nXfdPPzzz9X48aNFRNz/sq8J0%2BeVLVq1fxbIQAAgBdMXwzwxhtv1DPPPKOvv/5an332me6%2B%2B2732M6dO9WwYUO/FggAuHQ4811c9R1%2BYzrk3HvvvXK5XMrMzFRaWppGjBjhHlu3bp06duzo1wIBAJcGZ75Lc3aulbPAJUfk%2BdvcEHTgC9Mhp1q1apo%2BfXqZY%2B%2B8847PBQEALk37XdlyFrhkC4%2BSs%2BD8jA4hB77w6WKA%2B/bt07///W%2BdOXPGX/UAAC5RjWwxckTa5CrKkyPSpka2mIouCVWcVzfoXLVqlWbPnq1jx45JkpYvX67mzZvr3nvv1fXXX6/bbrvNr0UCAEKfw3p%2BFxXH5MBfTM/krFmzRg8%2B%2BKASExP1yCOPyDAM91jz5s21Zs0avxYIALh0OKw2tXFcRcCBX5gOOS%2B99JL69u2rBQsW6Pbbb/cYa9Kkifbs2eO34gAAALxlOuTs3btXPXv2LHMsOjpaOTk5PhcFAADgK9Mhp3r16jp16lSZY1lZWapdu7bPRQEAAPjKdMhp27atlixZ4nEsTomVK1eqffv2pra3Zs0ajRkzRl26dFGbNm2Unp6uN998U8XFxR7rrV%2B/Xr1791bLli3Vo0cPjzuhAwAA/JLps6vGjh2rO%2B%2B8U7///e%2BVnp4ui8Wijz76SHPnztU333yjZcuWmdre3//%2Bd9WrV09/%2BtOfdNlll2nTpk2aMWOGDh48qMmTJ0uSMjMzNWbMGPXq1UsPPvigNm/erMcee0xWq1X9%2B/c3%2BxYAAMAlwGKUNSVzERs3btS0adP0ww8/uJc1atRI06dPV1JSkqltZWdnu%2B99VWLWrFl666239M0338hqtWrEiBE6efKkR4B65JFH9Omnn%2Bqzzz5TWJh3l/spKipWdrbLq%2Bf%2BmoiIMDkcNjmdLhUWFl/8CfAJ/Q4eeh1c9Du46Hfw%2BNLrmBibwsPL973v1XVykpOTtWbNGh04cEDHjx%2BXw%2BFQ48aNvdlUqYAjSc2aNVNeXp5ycnIUHR2tjRs3atKkSR7rpKen65133tG2bdvUokULr14bAACELlNTIOfOnVPnzp31ySefSJIaNmyodu3aeR1wLuTf//63oqOjddlll%2BnAgQMqKChQkyZNPNa5%2BuqrJZ0/2wsAAOCXTM3kVKtWTXl5eapevXqg6tF//vMfrVy5UmPHjlV4eLhOnjwpSbLb7R7rlTwuGfdWRIRPd7YoU8k0Wnmn0%2BAb%2Bh089Dq46Hdw0e/gCVavTe%2BuSk5O1pdffqkOHTr4vZhjx45pwoQJatmype6%2B%2B26PMYvFUuZzLrS8PMLCLHI4AndVTbs9cGEQpdHv4KHXwUW/g4t%2BB0%2Bge2065IwePVrjx4%2BX1WrVjTfeqLp165YKGtHR0aYLOXXqlO6%2B%2B25Vq1ZNL7zwgiIjIyXJfd2dX87Y5ObmSio9w2NGcbGh3Fz/31w0PDxMdnt15eaeVVERB68FGv0OHnodXPQ7uOh38PjSa7u9euAOPO7bt68k6fnnn9e8efPKXGf79u2mtpmXl6d77rlHx48f19KlS%2BVwONxjDRs2VGRkpPbt26eUlBT38pLbRzRt2tTsW/AQyCPoi4qKOUI/iOh38NDr4KLfwUW/gyfQvfbqOjm%2B7CL6pcLCQt17773asWOH3njjDdWvX99j3Gq1us/mGjp0qHt5RkaG6tatq8TERL/VAgAAQofpkDN%2B/Hi/FjB9%2BnR9%2BumneuCBB3Tu3Dl9%2B%2B237rGrr75aNWvW1NixYzVw4EBNnTpV6enp2rx5s5YtW6bp06d7fY0cAAAQ2ry6Tk6JvLw8nTx5UrVr11ZUVJRX29iwYYMk6amnnio1tnjxYiUlJalt27aaP3%2B%2BZs%2BerVWrVumKK67Q1KlTudoxAAC4IK9CzubNm/X0009ry5YtKi4uVlhYmNq2bas//vGPatu2raltlVxz52K6dOmiLl26eFMuAAC4BJkOOd9%2B%2B62GDBkiu92u2267TbGxscrKytLHH3%2BsIUOG6PXXX1fr1q0DUSsAAEC5mQ45c%2BbMUXx8vBYvXqwaNWq4l//pT3/S4MGDNWfOHC1cuNCvRQIAAJhl%2Bqjdb7/9ViNGjPAIOJJUo0YNDR8%2BXJmZmX4rDgAAwFumQ05xcbGsVmuZY1FRUSou5toCAACg4pkOOQkJCXrrrbfKHFu6dKkSEhJ8LirUOfNd%2BtZ5UM58V0WXAgBAyDJ9TM7dd9%2BtsWPHqnfv3rr11ltVt25dHTt2TBkZGdq%2BffsFr4KM85z5Ls3ZuVbOApcckTZNiO8mhzVw988CAOBSZTrkdOvWTU899ZSeeuopPfnkk%2B7ll19%2BuZ566imlpqb6tcBQs9%2BVLWeBS7bwKDkLXNrvyibkAAAQAF5dJyc9PV1paWnat2%2BfcnJyFB0drSZNmvj1dg%2BhqpEtRo5Im3smp5EtpqJLAgAgJHl9xWOLxeLzzTEvRQ7r%2BV1U%2B13Z5wMPszgAAASEVyHn0KFDeumll7Rp0yb3TE5SUpLuvvtuXXXVVf6uMeQ4rDbCDQAAAWb67Krt27erT58%2BWrlypWJjY3X99dcrNjZWK1euVJ8%2BfbR9%2B/ZA1Ily4KwtAEBlURm%2Bk0zP5MycOVMxMTH6%2B9//rnr16rmXHz58WMOGDdPMmTP1%2Buuv%2B7VIXBxnbQEAKovK8p1keiZn69atGj9%2BvEfAkaT69etr3Lhx2rp1q9%2BKQ/mVddYWAAAVobJ8J5kOObVq1VKtWrXKHLPb7apZs6bPRcG8krO2XEV5nLUFAKhQleU7yfTuqrS0NC1btkxdunQpNfbOO%2B%2BoZ8%2BefikM5nDWFgCgsqgs30mmQ05iYqI%2B/PBD/f73v1daWprq1Kmj48ePKyMjQ9nZ2frd736njz76yL3%2BjTfe6NeCcWGctQUAqCwqw3eSxTAMw8wTLnZvKovFopJNWiyWSn22VVFRsbKz/X/Ud0REmBwOm5xOlwoLuWFpoNHv4KHXwUW/g4t%2BB48vvY6JsSk8vHxH25ieyVm8eLHZp8CPnPkur6f/fHkuAABVjemQ0759%2B0DUgXLw5ZS8ynI6HwAAwWL67CpUHF9Oyassp/MBABAshJwqxJdT8irL6XwAAASL1zfoRPD5ckpeZTmdDwCAYCHkVDG%2BnJJXGU7nAwAgWNhdBQAAQpJPIefcuXPKyspSYWGhv%2BoBAADwC69CzsaNG3X77berXbt26tq1q3bu3ClJmjZtmsfVjgEAACqK6ZDz5Zdfavjw4crLy9OwYcNUXPy/KxU6HA6tXLnSrwUCAAB4w3TImTNnjlJSUrRq1SpNnDjRYywhIUE7duzwW3EAAADeMh1ytm/frgEDBkg6f2%2Bqn4uJidGJEyf8UxkAAIAPTIec8PBwFRQUlDl24sQJ2WycogwAACqe6ZDTsmVL/fOf/yxz7MMPP1SbNm18LgoAAMBXpi8GOHLkSA0fPlxjx45V7969ZbFYtGXLFq1YsUIffvihXnvttUDUCQAAYIrpkNOxY0c9/vjjmjlzptauXStJmj59uux2u2bNmqVrr73W70UCAACY5dVtHXr16qWbbrpJmZmZOn78uBwOh9q1a6caNWr4uz4AAACvmA45OTk5io6OVrVq1dShQ4dA1AQAAOAz0wced%2BrUSffee6/Wr18vwzACURMAAIDPTIecIUOGKDMzU6NGjVJKSopmz56tH374IRC1AQAAeM10yHnggQe0bt06vfjii2rXrp1effVV3XLLLbrjjju0fPlyuVyuQNSJCubMd%2Blb50E58/n5AgCqBovh4z6n3Nxcvffee3r33Xf1/fffq1q1asrMzPRXfQFVVFSs7Gz/f2lHRITJ4bDJ6XSpsLD44k%2Bo5Jz5Ls3ZuVbOApcckTZNiO8mh7XyXPQx1PpdmdHr4KLfwUW/g8eXXsfE2BQeXr45Gq/Orvo5u92uXr16KSwsTCdOnNDRo0d93SQqmf2ubDkLXLKFR8lZ4NJ%2BV3alCjkAAJTFp5DzxRdfaMWKFVq7dq3y8vLUunVrjRkzxl%2B1oZJoZIuRI9LmnslpZIup6JIAALgo0yHn4MGDWrlypVatWqWjR4%2BqTp06GjhwoPr27asmTZoEokZUMIf1/C6q/a7s84GHWRwAQBVgOuT06NFDkZGR6tq1q/785z8rJSVFYWGmj19GFeOw2gg3AIAqxXTImTJlim699VY5HI5A1IMQ5cx3MRMEAAgq0yFnyJAhgagDIayyn50FAAhN5Qo5X3/9tRITE2Wz2fT1119fdP3rrrvO58IQOjg7CwBQEcoVcgYNGqR33nlHrVq10qBBg2SxWMpczzAMWSwWbd%2B%2B3a9Fomrj7CwAQEUoV8hZvHixmjZtKkl67bXXLhhygLJwdhYAoCKUK%2BS0b9/e/fekpKSAFYPQxdlZAIBgM33u9%2BDBg7V3794yx3744QcNHjzY56IAAAB8ZTrkfPXVVxe8CafL5SrXgcmonLgJJwAglPh876qfO3bsmKpVq%2BbPTSJIOM0bABBqyhVy/vWvf2nt2rXux/Pnzy91McC8vDx99dVXSkxM9G%2BFCApO8wYAhJpyhZy9e/fqgw8%2BkCRZLBZt3Lix1BlWVqtVcXFxevjhh00VsH//fi1cuFBbtmzR7t271aRJE2VkZJRab/369XrmmWe0d%2B9eXXHFFRo6dKj%2B8Ic/mHotXBineQMAQk25Qs6oUaM0atQoSVJCQoIWL16sVq1a%2BaWA3bt3a/369WrdurWKi4tlGEapdTIzMzVmzBj16tVLDz74oDZv3qzHHntMVqtV/fv390sdlzpO8wYAhBrTx%2BTs2LHDrwWkpqaqe/fukqQHH3xQ3333Xal15s2bp8TERM2cOVOSlJycrCNHjui5555Tv379uEGon3CaNwAglJhOB99%2B%2B61Wr15d5tjq1au1ZcsWcwVcJKDk5%2Bdr48aN6tmzp8fy9PR0HTt2TNu2bTP1egAA4NJgOuTMnj1bu3btKnNs7969evbZZ30u6ucOHDiggoICNWnSxGP51Vdf7X5NVG0XO3X9YuPZeS59lfWDsvM49R0A8D%2Bmd1ft3LlTw4YNK3OsVatWevPNN30u6udOnjwpSbLb7R7LSx6XjHsrIsL/u7rCw8M8/sSFZee5NHfXWjnzz8hhraGJzXooJspmavzZHf9STsEZRUfW0MSE7h7j8C8%2B28FFv4OLfgdPsHptOuScPXtW4eHhZY6FhYVd8EKBvrrQ/bJ8uY9WWJhFDkfgvhDt9uoB23ao2J31k3IKz8oeVU05BWd1wuJSU0esufGCM6oVGaWcgjOlxhEYfLaDi34HF/0OnkD32nTIadCggTZt2qTOnTuXGtu0aZPq1avnl8JK1K5dW1LpGZvc3FxJpWd4zCguNpSbe8b74i4gPDxMdnt15eaeVVFRsd%2B3H0ouM2yKjqguZ975mZrLDJucTpe58cga7pmcX47Dv/hsBxf9Di76HTy%2B9Npur17uGSDTIeeWW27RggUL1LhxY/Xr18%2B9fOXKlXrttdfcp5r7S8OGDRUZGal9%2B/YpJSXFvXzPnj2S5L47urcKCwP3QS4qKg7o9kOBPby6xsf979R1e3h1j56VZ3xiQnedsLh0mWErNY7A4LMdXPQ7uOh38AS616ZDzsiRI/XVV1/p4Ycf1l//%2BlfFxsbqp59%2BUl5entq3b6%2BRI0f6tUCr1ark5GStWbNGQ4cOdS/PyMhQ3bp1ucJyCLjYqesXG4%2BJsqmpI1ZOp4v/MQEA3EyHHKvVqr///e9677339Pnnn8vpdKply5ZKSUlRWlraBY/XuZCzZ89q/fr1kqTDhw/r9OnT7qsrt2/fXjExMRo7dqwGDhyoqVOnKj09XZs3b9ayZcs0ffp0rpEDAADKZDHKusSwD7KzsxUTU/5bAhw6dEjdunUrc2zx4sVKSkqSdP62DrNnz3bf1uGuu%2B7y%2BbYORUXFys72//EbERFhcjhszCwECf0OHnodXPQ7uOh38PjS65gYW%2BCOySmLYRj67LPPtHz5cn366adlXrX4Qho0aKCdO3dedL0uXbqoS5cuvpQJAAAuIT6FnAMHDmjFihV69913dezYMUVGRuqmm27yV20AAABeMx1y8vLytGbNGq1YsULffPONDMOQxWLR0KFDNXLkSDkcjkDUCQAAYEq5Q87WrVu1fPlyrV69Wi6XS9WrV1efPn100003adSoUUpNTSXgAACASqNcISc9Pd19XZo2bdqoX79%2BuuWWW1SjRg2dOnUqoAUCAAB4o1whZ/fu3bJYLOrSpYsmTZrkvjkmAABAZVWuc7AeeughxcfHa926dUpPT9ftt9%2BuZcuW6fTp04GuDwAAwCvlCjmDBw/WqlWrtGzZMt12223at2%2BfHnnkEXXu3FmPPPKILBaLTzfKBAAA8DevLgZY1hlWjRo10u23364%2BffpUmQOQuRhgaKDfwUOvg4t%2BBxf9Dp5gXQzQ5yseHzhwQMuXL9eqVav0008/KSoqSlu2bPFlk0FDyAkN9Dt46HVw0e/got/BE6yQ4/ONnxo2bKj7779f69at0wsvvKDOnTv7ukkAAACf%2BeW2DpIUFhamrl27qmvXrv7aJKoQZ75L%2B13ZamSL%2BdU7hgMAECx%2BCzm4dDnzXZqzc62cBS45Im2aEN%2BNoAMAqHA%2B764C9ruy5SxwyRYeJWfB%2BRkdAAAqGiEHPmtki5Ej0iZXUZ4ckTY1ssVUdEkAALC7Cr5zWM/vouKYHABAZULIgV84rDbCDQCgUmF3FQAACEmEHAAAEJIIOQAAICQRcgAAQEgi5AAAgJBEyAEAACGJkAMAAEISIQcAAIQkQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFyAABASCLkAACAkETIQUhz5rv0rfOgnPmuii4FABBkERVdABAoznyX5uxcK2eBS45ImybEd5PDaqvosgAAQcJMDkLWfle2nAUu2cKj5Cxwab8ru6JLAgAEESEHIauRLUaOSJtcRXlyRNrUyBZT0SUBAIKI3VUIWQ7r%2BV1U%2B13Z5wMPu6oA4JJCyEFIc1hthBsAuESxuwoAAIQkQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISVUm5Pzwww8aPny42rRpow4dOuixxx7TuXPnKrosAABQSVWJe1fl5uZqyJAhqlevnubMmaPs7GzNmjVLOTk5evrppyu6PAAAUAlViZDz9ttvKzc3V6tWrVJMTIwkKTw8XJMmTdI999yjpk2bVnCFAACgsqkSu6s%2B%2B%2BwzdejQwR1wJOmmm26S1WrV%2BvXrK7AyVHXOfJe%2BdR6UM99laszX8aq67ew8l77K%2BkHZeZWr7qraz4s915d%2BV9b37KtA1v1r/a6sn7GKrKsqqBIzOXv37lW/fv08L6SZIwAAE/ZJREFUllmtVjVs2FB79%2B71adsREf7PeeHhYR5/IrC87Xd2nktzd62VM/%2BMHNYamtish2KibBcd83W8Km/72R3/Uk7BGUVH1tDEhO6Vou6q3M%2BLPdfbflfW9%2ByrQNd9oX5X9OegMn4%2BfRWs78kqEXJyc3Nlt9tLLbfb7Tp58qTX2w0Ls8jh8N8P7Zfs9uoB2zZKM9vv3Vk/KafwrOxR1ZRTcFYnLC41dcRedMzX8Sq97YIzqhUZpZyCM5Wm7irdz4s918t%2BV9b37KuA132Bflf456ASfj79JdDfk1Ui5FyIYRiyWCxeP7%2B42FBu7hk/VnReeHiY7Pbqys09q6KiYr9vH5687fdlhk3REdXlzDv/m8plhk1Op%2BuiY76OV%2BltR9Zw/6ZbWequ0v282HO97Hdlfc%2B%2BCnjdF%2Bh3hX8OKuHn01e%2BfE/a7dXLPQNkMQzD8KbAYOrQoYP69eunSZMmeSzv2bOn2rRpoxkzZni13aKiYmVn%2B39fY0REmByO8x%2BIwkJCTqD50m9nvkv7XdlqZIuRw2or95iv41V127lF53%2Bju8ywyR5e%2Bjewiqq7qvbzYs/1pd%2BV9T37KpB1/1q/K%2BtnrCLr8oUv/9%2BOibGFVsgZOHCgatWqpRdeeMG9LD8/X7/97W913333adiwYV5tl5ATGuh38NDr4KLfwUW/gydYIadKHBmbkpKijRs3yul0upd9/PHHys/PV5cuXSqwMgAAUFlViZAzYMAA1apVS2PGjNHnn3%2BuVatW6a9//avS09O5Rg4AAChTlTjw2G6367XXXtNjjz2m8ePHq1q1akpLSyt1jA4AAECJKhFyJKlx48ZauHBhRZcBAACqiCqxuwoAAMAsQg4AAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCUpW4QWegGIah4uLAvP3w8DDTt4%2BH9%2Bh38NDr4KLfwUW/g8fbXoeFWWSxWMq17iUdcgAAQOhidxUAAAhJhBwAABCSCDkAACAkEXIAAEBIIuQAAICQRMgBAAAhiZADAABCEiEHAACEJEIOAAAISYQcAAAQkgg5AAAgJBFy8P/t3X9UzfcfB/BnP6QfKv1kqLM09xJXP5SKlsoRph/OYjks1qEkLWo1sYb2jdZCS6X5GVFUVsdimBphwzYp5sesMv1gdYu6VG4/7uf7x77d46r86trn26fX45x7uO/Pj/ezj%2BN%2BXr3fn8/nEkIIIZxERQ4hhBBCOImKHDm6c%2BcOFi9eDAsLC9jb2yM6OhpPnjxhOxYnHT9%2BHIGBgZgyZQosLCzg7u6OjIwMSCQStqNxXlNTExwdHcHn83Ht2jW243BWdnY2PDw8IBAIYG9vj4CAALYjcVZ%2Bfj7mzp0LKysrTJo0CUFBQSgvL2c7Vp939%2B5drF27Fp6enjAzM4Obm1u36xUWFmL27NkQCASYNm0a0tPT5ZZBWW576udEIhEWLVqEYcOGYevWrXjw4AFiYmLQ0NCATZs2sR2Pc1JTUzFs2DB8%2Bumn0NPTw6VLl7BhwwZUVlZi1apVbMfjtG3btqGjo4PtGJyWmJiIvXv3IiAgAObm5mhsbMS5c%2BfYjsVJP//8M4KCguDh4YGVK1dCJBIhKSkJvr6%2BOHbsGAYNGsR2xD7rzz//RGFhIczNzSGRSMAwTJd1rly5gsDAQHh6eiIiIgJFRUWIjo6GiooK5s6d2/sQDJGL7du3M%2Bbm5kx9fb207bvvvmN4PB5TWlrKYjJuevo4d9q4cSMjEAgYsVjMQqL%2BobS0lLGwsGAOHjzI8Hg85urVq2xH4pzS0lJmzJgxzLlz59iO0i%2BsWbOGcXZ2ZiQSibStpKSE4fF4zJkzZ1hM1vd1dHRI/75q1Spm1qxZXdZZvHgxM2fOHJm2yMhIZvLkyTLbvy6arpKTs2fPwt7eHrq6utK26dOnQ0VFBYWFhSwm46anj3OnMWPGQCwWo6GhgYVE/cOGDRswb948mJiYsB2Fs3JycmBkZAQHBwe2o/QL7e3t0NDQgIKCgrRNU1OTxUTcoaj4/BKjtbUVFy9exKxZs2Ta3d3dIRQKcePGjd5n6PUeCACgrKwMpqamMm0qKiowNjZGWVkZS6n6l8uXL2Pw4MHQ09NjOwonnThxArdu3cLy5cvZjsJpJSUl4PF4SE5Ohr29PcaNG4cPP/wQN2/eZDsaJ82ZMwfl5eXYv38/RCIRqqqqEBsbC1NTU9jb27Mdj9MqKirQ1taGkSNHyrS/8847ACCXcycVOXIiEomgpaXVpV1LSwuNjY0sJOpfrl27hpycHCxatAhKSkpsx%2BGclpYWfPnllwgNDaVrFN4woVCI8%2BfPIy8vD1FRUUhMTERLSwt8fX0hEonYjsc5NjY2SEpKQnx8PGxsbDB16lRUVlZiz549UFFRYTsep3WeG589d3a%2Bl8e5k4qcN4xhGJlhUCJ/QqEQwcHBEAgE8PPzYzsOJ6WkpEBPTw/vv/8%2B21E4j2EYNDc3IzExEa6urnB2dkZKSgqampqQmZnJdjzOKSoqQnh4OLy8vLB3714kJSVBVVUVfn5%2BePz4Mdvx%2BoWezpHyOHfS3VVyoqWl1e1vWY8ePeoyjUXk59GjR/Dz84OqqipSUlIwYMAAtiNxTnV1Nfbs2YPk5GTph35zc7P0z6amJmhoaLAZkVO0tbWhr6%2BPUaNGSdsMDQ0xcuRIlJaWspiMm6Kjo2FnZ4fPPvtM2jZhwgQ4OjoiOzsbvr6%2BLKbjNm1tbQBdR2w6z6XdzY68Kipy5MTU1LTL/GFraysqKirg5eXFUipuE4vFWLZsGerq6pCZmQkdHR22I3FSVVUV2tra4O/v32XZwoULYW5ujqysLBaScZOpqSnu3bvXpZ1hmBdeyEleXVlZGVxcXGTadHV1YWhoiIqKCpZS9Q/GxsYYMGAAysvL4ejoKG3vLOblMUBARY6cODo6IiUlBQ8fPpSebE%2BdOoXW1lZMmTKF5XTc097ejhUrVuDWrVs4cOAAhg8fznYkzhozZgzS0tJk2m7evImYmBhERUVBIBCwlIybnJyckJubi9u3b4PH4wEAampqUF5eTtOFb8CwYcNw/fp1mTahUIja2lr6XHnDVFRUYGdnh%2BPHj%2BOjjz6Sth89ehQGBgYwMzPrdR9K69evX9/rvRCMGjUK3377Lc6dO4chQ4bgypUr2LhxI6ZNm4Z58%2BaxHY9z1q9fj6NHj2LFihUwNDTE33//LX0NGjSILhiUo4EDB2LEiBEyL7FYjNzcXAQFBWHcuHFsR%2BQUExMTnDlzBkeOHIGenh7u3r2LdevWAQBiYmJoSvYN2LdvHx4%2BfAhlZWVcv34d69atw5MnTxAVFUVTsb3Q0tKCgoIClJaW4qeffkJdXR2GDh2K0tJS6OrqQk1NDUZGRvjmm29w//59aGhoIC8vD6mpqVi9erVcPlsUGKabRxCS13Lnzh1ER0fj8uXLUFVVhZubG8LCwqCqqsp2NM5xcXFBdXV1t8vS0tJga2v7LyfqXy5duoSFCxfi8OHDNJLzBtTX12Pjxo0oLCxEe3s7bGxssHr16i632pLeYxgGWVlZyMjIQEVFBdTV1SEQCBASEgI%2Bn892vD6tqqoKU6dO7XbZ05/ThYWF2LJlC8rKyjB06FD4%2BvpiwYIFcslARQ4hhBBCOImuYiOEEEIIJ1GRQwghhBBOoiKHEEIIIZxERQ4hhBBCOImKHEIIIYRwEhU5hBBCCOEkKnIIIYQQwklU5BBCCCGEk6jIIYQDcnJywOfzpS8zMzM4ODggJCQEf/31F2u5CgsLkZiY2O0yFxcXRERE/MuJXiwpKQnvvfceJBIJgH%2Be2srn87F7926Wk726CxcuwNLSEjU1NWxHIYQVVOQQwiExMTHIzMxEamoqFixYgB9//BHz589HY2MjK3kKCwuRlJTU7bKkpCQEBgb%2By4mer6amBrt370ZwcDAnvvHb3t4eAoEAW7ZsYTsKIazo%2B/%2BLCSFSo0aNgoWFBWxtbbFs2TL4%2Bfmhvr4e%2Bfn5bEfrwszMDMbGxmzHkJGWlgZNTU24urqyHaVHDMPgyZMnL73%2BggULkJeXh/v377/BVIT8f6IihxAO6/zyzPr6epl2Pp/f7TTSs1NIndNgFy9exLp162BrawtbW1sEBQW9cAokIiIC6enp0v46X1VVVd32denSJfD5fOTl5SEuLg4ODg6wtLREQEAA6urq8PjxY3z%2B%2BefSDKtXr0ZTU5NMnwzDID09HZ6enhg/fjxsbGwQHByMysrKFx6r1tZWHD58GG5ubj2O4qSmpsLFxQWWlpbw9vZGcXFxl3UKCgrg7e0Nc3NzWFpawtfXF1euXOlybFxcXLpsm5iY2OVLIfl8Pr744gscPHgQM2fOhEAgQG5uLgAgIyMDHh4esLS0hKWlJWbMmNFl1MbZ2Rnq6urIysp64TEghGuU2Q5ACHlzOguKt99%2Bu1f7iYyMhJOTEzZv3oz79%2B8jLi4O4eHhSEtL63GbwMBANDc34%2BTJk8jMzJS2GxoaPrev%2BPh42NraIiYmBtXV1YiNjUVoaCiUlZXB5/OxZcsW3LhxA/Hx8dDQ0EBkZKR027Vr1yI3Nxc%2BPj4ICwtDY2MjkpOTMW/ePBw5cgT6%2Bvo99nv16lU0NDT0%2BA326enpGDlyJNasWQMASEhIgL%2B/PwoKCqCpqQkAyMvLQ1hYGBwcHLB582a0trZi165d8PHxwd69e2Ftbf3cn70n%2Bfn5%2BO2337B8%2BXLo6%2BtDT08Px44dQ1RUFHx8fLBq1SooKiri7t27KC0tldlWRUUFlpaWKCwsxIoVK16rf0L6KipyCOEQiUSC9vZ2iMViFBUVISUlBTY2Nt2OGryKd999V6aYaGxsRFxcHIRCIQwMDLrdxtjYWFpUWFhYvHRfPB4PMTEx0vfl5eXYt2%2Bf9GQOAJMnT0ZxcTHy8vKkuYqLi5GVlYWIiAj4%2BvpKt7e2tsb06dORmpqK8PDwHvvtHG0ZO3Zst8s1NDSwfft2KCkpAfinWJs7dy7Onj2LWbNmQSKR4KuvvgKPx8POnTulo0FTpkzBtGnTsGnTJhw6dOilj8PTmpubkZeXB21tbWnboUOHoKWlJfPvYm9v3%2B32ZmZm2LFjB5qbm6Gurv5aGQjpi2i6ihAO%2BeCDDzB27FhYWVlhyZIl0NLSwrZt26Cs3LvfZ54tkjqnVO7du9er/XbH2dlZ5r2pqSkAwMnJqUt7Q0ODdMrq9OnTUFBQgIeHB9rb26UvfX19jB49Gr/88stz%2B62trYWCggJ0dHS6Xe7k5CQtcABg9OjRAIDq6moAwJ07d1BbWwtPT0%2BZ6S4NDQ24urqipKQELS0tL3EEurKzs5MpcIB/piJFIhFCQ0ORn5%2BPBw8e9Li9np4eJBIJ6urqXqt/QvoqGskhhENiY2NhamqKpqYmfP/998jMzERoaCh27drVq/0OHjxY5r2KigoAvNIFsC/r2ZP5gAEDntsuFouhoaGB%2Bvp6MAyDSZMmdbtfIyOj5/YrFouhrKwsU8g8radjIBaLAQAPHz4EgG5HtgwNDSGRSCASiaCmpvbcHN3pbp%2BzZ89GR0cHsrOzERwcDIlEAoFAgJUrV2Ly5Mky6w4cOBDAm/n3IuT/GRU5hHCIqamp9GJjOzs7SCQSZGdn48SJE5gxY4Z0PRUVFbS2tnbZvvNE3Rfp6OhAQUEB6enp0gLkad21Pbt9W1vba0/pdI4ACYXCLstqa2uhqKgILS0taZZXOf4KCgrdtnt5ecHLywvNzc349ddfkZiYiKVLl%2BLkyZMYPny4dL3ORwj0NEpFCFfRdBUhHBYeHg5tbW1s3bpV%2BnA7ABg%2BfDj%2B%2BOMPmXUvXLiA5uZmufb/Jkd8nuXk5ASGYVBTUwOBQNDl9exdS88yMTEBAFRUVLxW/yYmJhgyZAiOHj0KhmGk7c3Nzfjhhx9gYWEhHcUZMWIE6uvrZaaPWltbcf78%2BdfqW11dHVOmTEFAQADa2tq6XHxcWVmJwYMHP/fCa0K4iEZyCOEwbW1t%2BPv7Iy4uDnl5efD09AQAeHp6IiEhAQkJCZg4cSJKS0tx4MAB6V1C8sLj8QAAO3fuhKOjIxQVFcHn8184qvI6JkyYAG9vb6xZswa///47bGxsoKamBqFQiMuXL4PH42H%2B/Pk9bt95V1VJSYn0eptXoaioiPDwcISFhWHp0qXw9vZGa2srdu/eDZFIhE8%2B%2BUS67syZM7F161aEhIRgyZIlEIvF2L9/Pzo6Ol66v8jISKiqqsLKygoGBgYQCoXYsWMHNDU1paN5nYqLizFx4sQeR4QI4SoqcgjhOB8fH6Snp2Pbtm1wc3ODkpISFi9ejMePHyM3Nxd79uzB%2BPHjkZCQIPcnELu5uaGoqAgZGRlITk4GwzAoKCjAiBEj5NpPpy%2B%2B%2BALm5ubIzMzEwYMHIZFIYGhoCCsrK4wfP/6527711luwtraWPufmdbi7u0NNTQ07duxASEgIlJSUYG5ujrS0NFhZWUnXMzIyQnJyMuLj4xEcHAwDAwP4%2BvriwYMHPT4h%2BlnW1tbIycnB8ePH0djYCB0dHUyYMAGxsbHQ1dWVrldRUYHbt2/j448/fq2fiZC%2BTIF5elyVEEL6sZMnTyIkJASnT5/GkCFD2I4jF19//TWOHDmCU6dO9fouO0L6GromhxBC/sfV1RUCgQDbt29nO4pciEQiZGRkICQkhAoc0i9RkUMIIf%2BjoKCA//znP9Jbvvu6qqoq%2BPv7w93dne0ohLCCpqsIIYQQwkk0kkMIIYQQTqIihxBCCCGcREUOIYQQQjiJihxCCCGEcBIVOYQQQgjhJCpyCCGEEMJJVOQQQgghhJOoyCGEEEIIJ/0XTqka4MwpJ5sAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -388,7 +422,7 @@
 <br>
 
 <h3 id="Violin_plot_of_read_lengths_over_time">Violin plot of read lengths over time</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmAAAAHUCAYAAACd2JQuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzde1iUZf4/8DeMjJgwKoaykvRVaGZFRg6pwKagEHmCVUO/Up6WCBOwzNTERLd1yUNbTJ4NpYOF2pc0UxbW1HKkdrFNsPLUL5AVRVRAYQBlBobn94fXPMswqDOIQM77dV1e7NzPZ%2B75zMg67%2B7nnmdsBEEQQERERETtxrajGyAiIiKyNgxgRERERO2MAYyIiIionTGAEREREbUzBjAiIiKidsYARkRERNTOGMCIiIiI2hkDGBEREVE7YwAjIiIiamcMYER3kZCQgCFDhkCj0dyxZuHChRg8eDDKy8sBAAqFAhs2bLD4sS5dugSFQoG9e/eKY3v37oVCocClS5csb/4%2BHT9%2BHAqFAsePH7f4vnl5ediwYcNdX7fWysrKwoQJEzBkyBAoFAqcPXu2zR%2BjLZnz%2B9DS331Hunr1KjZs2NDia5uYmAhfX98O6KrzOXDgAD766KMWj7X23wGyHgxgRHcxZcoUaLVaHDhwoMXj1dXVOHz4MEaNGoVHH30UAPDZZ59h6tSpbfL4o0aNwmeffYY%2Bffq0yXztJT8/Hxs3bmzzAHb9%2BnW8/vrr6N%2B/P7Zv347PPvsM//M//9Omj0HAtWvXsHHjxk4fbjtaZmYmduzY0eKxtvx3gB5OXTq6AaLOLCgoCH369MGePXswffp0k%2BOZmZmoq6vDlClTxDEfH582e3wnJyc4OTm12Xy/dUVFRaivr8cf//hHDB8%2B3OL719XVoWvXrrCxsXkA3dHDqK6uDvb29hbfry3/HaCHE1fAiO5CIpFg8uTJOH36NH755ReT43v37oWzszOCgoLEsZZOPfy///f/EBcXh2HDhkGpVGLixIn44osv7vn4LZ2CnDlzJsLDw/HTTz/h%2Beefh7e3N0JDQ5GamorGxsZ7zqlQKLBy5Urs3r0bY8aMgZeXF8aPH4%2B///3v97wvABw5cgTTpk2Dt7c3fH19ER0djfz8fPH4hg0b8PbbbwMAQkNDoVAozDqVea95ExMT8fzzzwMAFixYAIVCgZkzZ95xPsNr9%2B2332Lp0qUICAiAt7c3dDodAOA///kPFi5ciMDAQHh5eWHcuHFIT083mkOr1WLNmjWYOHEinnzySQwfPhzTpk3D4cOHTR6vpqYGSUlJ8Pf3h6%2BvL2JiYlBUVHSPV/PuzOnRcKo4MzMTKpUKI0aMgJ%2BfH/70pz/h/PnzRrWCIGDr1q0YPXo0lEolnn32WXz33XeYOXOm%2BFoeP35c/A%2BKpUuXin9/zX%2BnL1y4gNjYWPj6%2BiI4OBhr1qwRX1uDnTt34o9//CN8fX3h6%2BuLsWPHIiUl5Z7Pu7KyEm%2B%2B%2BSZGjhwJLy8vhIaGQqVSGc0/adIk8fehKb1ej5EjR2LevHnimE6nw%2BbNmzF27Fh4eXkhICAAS5cuxfXr143uGxISgpdeeglfffUVJk2aBKVSiY0bN7bY48yZM3H06FGUlJSIr5FCoRCPN3/NDL%2BP//rXv8TfEz8/P7z%2B%2Buu4efMmysrKMH/%2BfAwdOhQjRozA2rVrUV9fb/SY5j4P%2Bm3gChjRPURGRiI1NRV79uzBG2%2B8IY4XFBTgp59%2Bwpw5cyCRSO54//PnzyMqKgq9e/fGsmXL0KtXL%2Bzfvx%2BJiYkoLy9HbGysxT2VlZVh8eLFiI6Oxrx583Do0CG8%2B%2B676NOnDyZNmnTP%2B3/99dc4fvw4XnnlFXTr1g07d%2B7Ea6%2B9BolEgrFjx97xfgcOHMCiRYswYsQIvPvuu9DpdNi%2BfTtmzpyJjz76CEOHDsXUqVNRVVWFTz75BBs3boSzszMAwMPD477mjY%2BPh1KpxMqVK/Haa6/B398fDg4O93yub7zxBkaNGoW3334bt27dQpcuXVBQUICoqCj87ne/w5IlS%2BDs7Ixvv/0WycnJuHHjhvjmrdPpUFVVhRdeeAF9%2B/ZFfX09/vnPf%2BLll1/G6tWrxddaEATEx8cjPz8fCQkJUCqVyMvLa9XfrYG5PRqkpKTAz88Pb731FmpqavDOO%2B8gLi4OWVlZ4u%2BnSqXC%2B%2B%2B/j2nTpiEsLAxXrlxBUlIS6uvrMWDAAADA4MGDsXr1aixduhRxcXEYNWoUAMDFxUV8rPr6esTFxWHKlCl44YUX8O9//xubN2%2BGg4OD2Nff//53/OUvf8HMmTOxZMkS2Nra4sKFCygoKLjr89ZqtZg1axYuXryIl19%2BGQqFAj/88ANSU1Nx9uxZpKamAgCeffZZvPXWW/jPf/5jdBr622%2B/xbVr1/Dss88CABobGxEfH48TJ04gJiYGfn5%2BKCkpwYYNG/DTTz9hz549Ritcp0%2BfRmFhIeLi4vDYY4%2BhW7duLfb55z//GcuXL8fFixfvGNJakpSUhGeeeQYpKSk4c%2BYMVCoV9Ho9ioqKEBYWhmnTpuGf//wntm3bhj59%2BiA6OrpVz4N%2BAwQiuqcZM2YI/v7%2Bgk6nE8fWrFkjyOVyoaioyKhWLpcL69evF28vWLBA8PLyEi5fvmxU9%2BKLLwre3t6CRqMRBEEQLl68KMjlcmHPnj1izZ49ewS5XC5cvHjRqBe5XC78%2BOOPRvONHz9eeOGFF%2B75XORyuTBkyBChrKxMHGtoaBDGjh0rhIWFiWO5ubmCXC4XcnNzBUEQBL1eL4wYMUIIDw8X9Hq9WFdTUyMEBgYK06ZNE8e2b99u0vedWDKvoafs7Ox7zmt47V5//XWTYy%2B88IIQFBQkVFdXG42vXLlSUCqVQmVlZYtzNjQ0CPX19cIbb7whTJo0SRxXq9WCXC4XPv74Y6P6LVu2mPw%2BtKSlv3tzezS8JrGxsUZ1WVlZglwuF/Lz8wVBEITKykrBy8tLePXVV43q8vPzBblcLsyYMUMc%2B%2Bmnn0z6MViyZIkgl8uFrKwso/HY2FhhzJgxRn0OHTr0rs%2B7Jbt27Wpx/tTUVEEulwvffvutIAiCcP36dWHw4MFCSkqKUd38%2BfOFP/zhD0J9fb0gCIKQmZkpyOVy4eDBg0Z1hueYnp4ujo0ePVoYNGiQcP78ebN6nTNnjjB69OgWjzX/ezf8Pv71r381qouPjxfkcrnw4YcfGo1PnDhRmDx5snjbkudBvw08BUlkhsjISNy4cQNff/01AKChoQH79%2B/H0KFD77kJPDc3F4GBgfjd735nND558mTcunXL6DSbuZydnTFkyBCjMYVCgcuXL5t1/8DAQPFDA8DtU63jx4/HhQsXcOXKlRbvU1RUhGvXrmHixImwtf3vPx3du3fHM888gx9//BG3bt2y%2BLk8qHkNnnnmGaPbWq0Wubm5CAsLg729PRoaGsQ/QUFB0Gq1OHnypFifnZ2NqKgo%2BPr6wtPTE4MHD8bnn3%2BOwsJCscZwejUiIsLoscLDw1vVs6U9ArdPnzVlOB1m%2BJ04efIkdDodxo0bZ1Tn4%2BMDV1dXi/qzsbFp8fGa/v4plUpoNBq89tprOHz4sNmnyXJzc/HII4%2BYrMQaVrT%2B9a9/AQB69eqFkJAQfPHFF%2BKp96qqKhw5cgQTJ05Ely63T/B88803kMlkGD16tNHrOGjQIDg7O%2BP77783eR6G1cAHwbCiaODu7g4ACA4ONhkvKSkRb1v6PKjz4ylIIjOMHTsWycnJ2Lt3L8aMGQO1Wo3y8nIsWrTonvetrKwUT8M1ZfhkY2VlpcX99OzZ02RMKpVCq9Wadf%2Bm4av5WGVlpdHpJoMbN24AwB2fS2NjIzQazR1P2dzJg5rXoPm8lZWVaGhowCeffIJPPvnkrj199dVXePXVVzF27Fi8%2BOKLePTRRyGRSLBr1y7s2bPHaM4uXbqgV69ed31sc1nSo0Hz3wmpVArg9iZyw5wA0Lt3b5O5Wvp9uJtu3bqha9euJo/X9Pdv0qRJ0Ov1yMjIwCuvvILGxkYolUq8%2BuqreOqpp%2B44d2VlJR599FGTD0r07t0bXbp0Mfr/S2RkJA4ePIjvvvsOI0eORGZmJnQ6nRjWAKCiogIajQZeXl4tPl7z17G1f2fm6tGjh9FtOzu7O4433fNm6fOgzo8BjMgM9vb2mDBhAjIyMnDt2jXs2bMH3bt3v%2Bt%2BKYOePXuirKzMZPzatWsAYPKm3R4M1yxraaylcAf8t887PRdbW1vIZDKLe3lQ8xo0fyOXyWSQSCSYOHFii5u4AeCxxx4DAOzfvx%2BPPfYY3nvvPaN5Pv74Y6P6nj17oqGhATdu3DD6%2B2zpOZnDkh7NZfh7raioMDlWXl5u8SqYOSIjIxEZGYmbN2/i3//%2BNzZs2ICXXnoJBw8evOPj9ezZEz/%2B%2BCMEQTB6zSsqKtDQ0GD0%2Bo4YMQJ9%2BvTB3r17MXLkSOzduxfe3t5G%2Bw179eqFnj17Yvv27S0%2BXvfu3Y1ud9ZPyFr6PKjz4ylIIjNNmTIFer0eaWlpOHbsGCZMmGDWqkxgYCByc3Nx9epVo/Evv/wS3bp165CPq//rX/8yCmF6vR5ZWVlwc3NrcfULAAYMGIC%2BffsiMzMTgiCI4zdv3sRXX30FHx8f8fUwrL6YsyJnybxtoVu3bvD398eZM2egUCigVCpN/hje5G1sbGBnZ2f0plxWVoYjR44Yzenv7w8AJteLy8zMfOA9msvb2xtSqRRZWVlG4ydPnjQ61QWYrp7dr0ceeQTBwcGYO3cu6uvr77oRPzAwEDdv3jT5pOm%2BffvE4waGkHr48GH88MMPOHXqFCIjI43uN2rUKFRWVoorcM3/DBw4sNXPSyqVttlrdC8P8nlQx%2BAKGJGZlEolFAoFPv74YwiCYHTtr7tJSEjAN998g1mzZiEhIQE9evTAgQMHcPToUSxevBiOjo4PuHNTvXr1wuzZsxEfHy9%2BCvL8%2BfNQqVR3vI%2BtrS0WL16MRYsW4aWXXsK0adOg0%2BmQlpYGjUaDhQsXirVyuRzA7ZWiyZMno0uXLhgwYECLn1q0ZN62smzZMjz//POYPn06nnvuObi6uqK2thbFxcX4%2BuuvxYtrjho1Cl999RXefPNNjBkzBleuXMHmzZvRp08f/Oc//xHnGzFiBIYNG4a//e1vuHXrFry8vJCXl4cvv/zygfdorp49eyI6Ohrvv/8%2BZDKZ%2BCnITZs2wdnZ2Shkurm5wd7eHgcOHIC7uzseeeQR9OnTB3379jX78ZKSkmBvbw8/Pz84OzujrKwMqampcHR0hFKpvOP9Jk2ahPT0dCxZsgQlJSWQy%2BU4ceIE3n//fQQHB%2BMPf/iDUX1kZCS2bduGhQsXwt7eHuPHjzc6PmHCBBw4cABz5szBzJkzMWTIENjZ2eHKlSs4fvw4QkNDERYWZvbzakoul%2BOrr77Czp074eXlBRsbm7s%2Bt/vxIJ8HdQwGMCILTJkyBW%2B99RY8PDzg7e1t1n0GDhyI3bt3IyUlBStXrkRdXR3c3d2xevVqo70q7SkkJAQeHh547733UFpaiv79%2B%2BOdd94xefNqLiIiAt26dUNqaioWLFgAiUQCb29v7NixA35%2BfmKdv78/XnrpJXzxxRfIyMhAY2MjduzYIa4UtXbetuLh4YG9e/di8%2BbNeO%2B993D9%2BnU4Ojri8ccfN9oMHRkZiYqKCuzevRt79uxB//79MWfOHFy5csXo0gO2trbYsmULVq9eje3bt6O%2Bvh5%2Bfn5ITU012fTe1j1aYsGCBejWrRt2796NvXv3YuDAgXjzzTehUqmMTvN269YNq1atwsaNGxETE4P6%2BnrMmzcPL7/8stmPNXToUOzduxfZ2dmoqqpCr1698OSTT2Lt2rV3vbhw165dsWPHDqhUKmzfvh03btxA37598cILL5hcegO4vYLq6%2BuL/Px8REREmPwHjUQiwZYtW7Bjxw58%2BeWXSE1NhUQigYuLC4YNGyb%2Bx0JrzJo1C7/%2B%2BitUKhWqq6shCEKL1wtsCw/yeVDHsBGarvkT0UNPoVBg%2BvTpWLFiRUe3Qp3AxYsXMW7cOMybNw9z587t6HaIrAZXwIiIrMS5c%2BeQmZkJX19fODg4oKioCNu3b4eDg4PZp9SJqG0wgBERWYlu3brh1KlT%2BPzzz1FdXQ0HBwf4%2B/vj1VdftfhSFER0f3gKkoiIiKid8TIURERERO2MAYyIiIionTGAEREREbUzbsLvhIYOHQqdTvfAv5OMiIiI2k5ZWRmkUil%2B%2BOGHe9YygHVCWq0Wer2%2Bo9sgIiIiCzQ0NMDczzYygHVCffr0AQCT75sjIiKizis0NNTsWu4BIyIiImpnDGBERERE7YwBjIiIiKidMYARERERtbNOFcBqa2sRFBQEhUKBn3/%2B2eiYWq3GpEmToFQqERYWhvT09BbnSEtLQ0hICJRKJSIjI3H8%2BHGTmpqaGqxYsQL%2B/v7w9fXF3LlzUVJSYlJXVFSEmJgY%2BPj4IDAwEMnJyairqzOpM7c3IiIiIqCTBbDNmze3ePmF/Px8xMfHw9PTE9u2bcPkyZORnJyMjIwMo7q0tDSoVCpMnz4dqampePzxxxEbG4tffvnFqG7hwoX4%2BuuvsXz5cqhUKly7dg3R0dFG4Uqj0WD27Nmora3F%2BvXrsWTJEhw4cABJSUmt6o2IiIhIJHQSBQUFgo%2BPj7Br1y5BLpcLP/30k3gsJiZGmDJlilF9UlKS8NRTTwl6vV4QBEHQarXCk08%2BKaxdu1asaWhoEMaNGye8%2Buqr4tjJkycFuVwuHD16VBwrKSkRPD09hZ07d4pj77//vuDt7S1UVFSIY/v37xfkcrlQUFBgUW%2BWCgkJEUJCQlp1XyIiIuoYlrx/d5oVsLfeegtRUVEYMGCA0bhOp0Nubi4mTJhgNB4REYGysjKcOXMGAJCXl4fq6mqEh4eLNRKJBOPHj4darRYvjKZWqyGTyRAUFCTW9evXD35%2BflCr1eLYsWPHEBgYCCcnJ3FszJgxkEqlYp25vRERERE11SkC2D/%2B8Q%2BcO3cOCQkJJseKi4tRX1%2BPgQMHGo17eHgAAAoLC41%2BNq9zd3dHbW0trl69KtYNGDAANjY2JvMZ5jDUubu7G9VIpVK4ubmJdeb2RkRERNRUhwewW7duYc2aNXjttdfg4OBgcryqqgoAIJPJjMYNtw3HNRoNpFIp7O3tjep69OgBAKisrBTrHB0dTR5HJpOJcxnqmj9m8zpzeyMiIiJqqsMD2JYtW9C7d288%2B%2Byzd61rvmLV0nhLNYZTj/equ9t48/ma193PfERERGR9OjSAlZSU4IMPPsArr7yCmpoaaDQa3Lx5EwBw8%2BZN1NbWiitYzVeTNBoNgP%2BuNslkMmi1Wmi12hbrDPPIZDJxrHld05WsO9VVV1eLdeb2RkRERNRUhwawS5cuob6%2BHnPmzMGwYcMwbNgwzJ07FwAwa9YsREdHw83NDXZ2djh//rzRfQsKCgBA3Kdl%2BNl831VhYSG6d%2B%2BOvn37inVFRUUm31ZeUFBgtOfL3d3dZC6dTofi4mKxztzeiIiIiJrq0AA2aNAg7Nixw%2BjP0qVLAQB/%2Bctf8Oc//xlSqRQBAQHIzs42um9mZiacnZ3h6ekJAPDz84OjoyOysrLEGr1ej%2BzsbAQHB4unA4ODg6HRaJCTkyPWlZaWIi8vD8HBweJYUFAQcnNzcePGDXHs0KFD0Ol0Yp25vRERERE11aUjH1wmk8Hf37/FY4MHD8bgwYMBAAkJCZgxYwaSkpIQERGBvLw8ZGRkYOXKlbC1vZ0hpVIp4uLioFKp4OTkBE9PT2RkZODixYtISUkR5/X29saoUaOwbNkyJCYmwsHBAevWrYOrqysmT54s1kVFReHTTz9FfHw84uPjUVFRgTVr1iAiIsJoZcuc3sh8jY2NfN2IiOih16EBzFy%2Bvr7YvHkzUlJSsG/fPri4uCApKQlTp041qnvhhRcgCAI%2B%2BeQTlJeXQy6XIzU1FQqFwqju3Xffxdq1a/GXv/wF9fX18Pf3x4YNG4w%2BQSmTyfDxxx8jOTkZL7/8Muzt7REeHo5Fixa1qjcyT9mNWvTtbfopVSIiooeJjdB8MxR1uNDQUADAkSNHOriT9ne1opoBjIiIfpMsef/muR4iIiKidsYARkRERNTOGMCoU%2BHFa4mIyBowgBERERG1MwYwIiIionbGAEadCs9AEhGRNWAAIyIiImpnDGBERERE7YwBjDoVG/AcJBERPfwYwKhT4R4wIiKyBgxgRERERO2MAYyIiIionTGAUafCK%2BETEZE1YAAjIiIiamcMYERERETtjAGMOhWegiQiImvAAEZERETUzhjAiIiIiNoZAxgRERFRO2MAIyIiImpnDGBERERE7YwBjDoXQejoDoiIiB44BjDqVBi/iIjIGjCAEREREbUzBjAiIiKidsYARp2KwD1gRERkBRjAqFNh/iIiImvAAEadisBt%2BEREZAUYwKhT4QoYERFZgw4PYDk5OZgxYwYCAgLg5eWF0NBQrF69GtXV1WJNYmIiFAqFyZ9jx46ZzJeWloaQkBAolUpERkbi%2BPHjJjU1NTVYsWIF/P394evri7lz56KkpMSkrqioCDExMfDx8UFgYCCSk5NRV1dnUqdWqzFp0iQolUqEhYUhPT39Pl8VIiIieph16egGqqqq4Ovri9mzZ0Mmk%2BHXX3/Fhg0b8Ouvv%2BKDDz4Q6/r374933nnH6L7u7u5Gt9PS0qBSqbBgwQJ4enoiIyMDsbGxyMjIgEKhEOsWLlyI06dPY/ny5XBwcMD69esRHR2N/fv3w97eHgCg0Wgwe/Zs9OvXD%2BvXr8f169exevVqVFZWGvWRn5%2BP%2BPh4TJw4EYmJicjLy0NycjKkUimmTp36IF6yhxo34RMRkTXo8AAWHh6O8PBw8ba/vz%2BkUimWL1%2BOq1evom/fvgAAe3t7%2BPj43HEenU6HLVu2YNasWYiJiQEADB8%2BHBEREdi6dStUKhUA4Mcff8TRo0eRmpqK4OBgAIBcLkdYWBi%2B%2BOILPPfccwCA3bt3Q6PRYN%2B%2BfXBycgIASCQSLFq0CHFxcWL427RpEzw9PbFq1SoAQEBAAEpLS7Fu3TpERkbC1rbDFxl/U5i/iIjIGnTKdNCzZ08AQENDg9n3ycvLQ3V1tVGYk0gkGD9%2BPNRqtbiyolarIZPJEBQUJNb169cPfn5%2BUKvV4tixY8cQGBgohi8AGDNmDKRSqVin0%2BmQm5uLCRMmGPUSERGBsrIynDlzxoJnTQBXwIiIyDp0mgCm1%2Buh1Wpx%2BvRpbNq0CaNHj4arq6t4vLi4GEOHDoWXlxeeffZZHD582Oj%2BhYWFAICBAwcajbu7u6O2thZXr14V6wYMGAAbGxujOg8PD3EOQ13zU5xSqRRubm5iXXFxMerr600e08PDw6gnIiIioqY6/BSkwejRo8WQNHLkSKSkpIjHBg0aBKVSCQ8PD1RXV2PXrl1ISEjAunXrMHbsWAC392xJpVJxD5dBjx49AACVlZVwcXGBRqOBo6OjyePLZDJUVVWJtzUaDWQy2V3rDD%2Bb1xluN52PzNPIFTAiIrICnSaApaam4ubNmygoKMDmzZsxd%2B5cfPjhh5BIJJg9e7ZRbUhICKKiorB%2B/XoxgAEwWdUC/ntKq%2BmxluruNt58vuZ19zMfGRMaGcCIiOjh12lOQf7%2B97%2BHn58f/vd//xcbN27E8ePHcejQoRZrbW1t8cwzz6CwsFC8LIRMJoNWq4VWqzWq1Wg0AP67EiaTycSx5nVNV7LuVFddXS3WGeZsvtJluF9LK2h0d4xfRERkDTpNAGtq0KBBkEgkKC4uvmNN883ahv1azfddFRYWonv37uKnKd3d3VFUVGRy/4KCAqM9X%2B7u7iZz6XQ6FBcXi3Vubm6ws7PD%2BfPnTeZq2hOZj5vwiYjIGnTKAJafnw%2B9Xo/HHnusxeONjY04ePAgnnjiCXHPl5%2BfHxwdHZGVlSXW6fV6ZGdnIzg4WDwdGBwcDI1Gg5ycHLGutLQUeXl54mUpACAoKAi5ubm4ceOGOHbo0CHodDqxTiqVIiAgANnZ2Ub9ZWZmwtnZGZ6envf5ShAREdHDqMP3gM2bNw9eXl5QKBSwt7fHuXPnsH37digUCjz99NMoKSlBYmIiwsPD4ebmhqqqKuzatQunTp3Chg0bxHmkUini4uKgUqng5OQkXoj14sWLRhv6vb29MWrUKCxbtgyJiYlwcHDAunXr4OrqismTJ4t1UVFR%2BPTTTxEfH4/4%2BHhUVFRgzZo1iIiIMFrZSkhIwIwZM5CUlISIiAjk5eUhIyMDK1eu5DXAWoGb8ImIyBrYCB18zic1NRVZWVkoLi6GIAhwdXVFWFgYYmJi4ODggMrKSixduhSnT5/G9evXYWdnBy8vL8yZMwcjR440mksQBKSlpSE9PR3l5eWQy%2BVYvHgxAgICjOpqamqwdu1aHDx4EPX19fD398fy5cuNLnsB3P4qouTkZJw4cQL29vYIDw/HokWLTD5pqVarkZKSgsLCQri4uCA6OhrTp09v9WsSGhoKADhy5Eir5/itKrp0HQMec7p3IRERUSdjyft3hwcwMmXNAez8pQoMfKx3R7dBRERkMUvev3mOjDoV/ucAERFZAwYwIiIionbGAEZERETUzhjAqFPhlkQiIrIGDGBERERE7YwBjIiIiKidMYBRp8IzkEREZA0YwIiIiIjaGQMYERERUTtjACMiIiJqZwxgRERERO2MAYyIiIionTGAEREREbUzBjAiIiKidsYARp2KjU1Hd0BERPTgMYARERERtTMGMOpUbLgERkREVoABjDoVxi8iIrIGDGDUqXAFjIiIrAEDGHUqzF9ERGQNGMCoc2EAIyIiK8AARp2KLZfAiIjICjCAUafCPWBERGQNGMCoU2H8IiIia8AARp2KjS0jGBERPfwYwKhTseEaGBERWQEGMOpUuAWMiIisAQMYdSrchE9ERNaAAYw6FVvuASMiIivAAEadCq8DRkRE1qDDA1hOTg5mzJiBgIAAeHl5ITQ0FKtXr0Z1dbVRnVqtxqRJk6BUKhEWFob09PQW50tLS0NISAiUSiUiIyNx/Phxk5qamhqsWLEC/v7%2B8PX1xdy5c1FSUmJSV1RUhJiYGPj4%2BPoC2WIAACAASURBVCAwMBDJycmoq6szqTO3N7o35i8iIrIGHR7Aqqqq4Ovri7/%2B9a9IS0tDdHQ09u3bh/nz54s1%2Bfn5iI%2BPh6enJ7Zt24bJkycjOTkZGRkZRnOlpaVBpVJh%2BvTpSE1NxeOPP47Y2Fj88ssvRnULFy7E119/jeXLl0OlUuHatWuIjo42ClcajQazZ89GbW0t1q9fjyVLluDAgQNISkoymsvc3sg8XAEjIiKrIHRCn332mSCXy4UrV64IgiAIMTExwpQpU4xqkpKShKeeekrQ6/WCIAiCVqsVnnzySWHt2rViTUNDgzBu3Djh1VdfFcdOnjwpyOVy4ejRo%2BJYSUmJ4OnpKezcuVMce//99wVvb2%2BhoqJCHNu/f78gl8uFgoICccyc3iwVEhIihISEtOq%2Bv3U3NDc7ugUiIqJWseT9u8NXwFrSs2dPAEBDQwN0Oh1yc3MxYcIEo5qIiAiUlZXhzJkzAIC8vDxUV1cjPDxcrJFIJBg/fjzUajUEQQBw%2B3ShTCZDUFCQWNevXz/4%2BflBrVaLY8eOHUNgYCCcnJzEsTFjxkAqlYp15vZG5uP6FxERWYNOE8D0ej20Wi1Onz6NTZs2YfTo0XB1dUVxcTHq6%2BsxcOBAo3oPDw8AQGFhodHP5nXu7u6ora3F1atXxboBAwaYXO7Aw8NDnMNQ5%2B7ublQjlUrh5uYm1pnbG5mPl6EgIiJr0KWjGzAYPXq0GJJGjhyJlJQUALf3iAGATCYzqjfcNhzXaDSQSqWwt7c3quvRowcAoLKyEi4uLtBoNHB0dDR5fJlMJs5lmK/5YzavM7c3sgDzFxERWYFOE8BSU1Nx8%2BZNFBQUYPPmzZg7dy4%2B/PBD8fidVkaajrdUYzj1eK%2B6u403n6953f3MR8a4CZ%2BIiKxBpwlgv//97wEAfn5%2B8PT0RGRkJA4dOiSezmu%2BmqTRaAD8d7VJJpNBq9VCq9Wia9euJnWGlTCZTIbS0lKTx2%2B%2B4iWTycT7NlVdXS2emjTMea/eyHwMrUREZA06zR6wpgYNGgSJRILi4mK4ubnBzs4O58%2BfN6opKCgAADEMGX4233dVWFiI7t27o2/fvmJdUVGRuDLWdL6me77c3d1N5tLpdCguLhbrzO2NzMf4RURE1qBTBrD8/Hzo9Xo89thjkEqlCAgIQHZ2tlFNZmYmnJ2d4enpCeD2ypmjoyOysrLEGr1ej%2BzsbAQHB4srK8HBwdBoNMjJyRHrSktLkZeXh%2BDgYHEsKCgIubm5uHHjhjh26NAh6HQ6sc7c3sgCXAEjIiIrIHnzzTff7MgG5s2bh%2BLiYlRXV%2BPKlSs4fPgwVq1ahf79%2ByMxMRESiQT9%2B/fH1q1bUVpaiu7du%2BPAgQP48MMPsXTpUnh5ed1%2BIhIJJBIJtm7dCnt7e2i1Wqxbtw75%2Bfl4%2B%2B238eijjwIAXFxccOrUKXz22Wfo27cvSktLsWLFCtjb22PlypXo0uX2WdknnngCe/bsQU5ODvr27Yv8/HysWrUKYWFhiIqKEvs3pzdL7dixAwAwe/bs%2B3lpf5MaGhph10XS0W0QERFZzJL3bxuh%2Bbm4dpaamoqsrCwUFxdDEAS4uroiLCwMMTExcHBwEOvUajVSUlJQWFgIFxcXREdHY/r06UZzCYKAtLQ0pKeno7y8HHK5HIsXL0ZAQIBRXU1NDdauXYuDBw%2Bivr4e/v7%2BWL58OVxdXY3qioqKkJycjBMnTsDe3h7h4eFYtGiRySctzenNEqGhoQCAI0eOtHqO36o6XQPspZ1mayIREZHZLHn/7vAARqasOYBpdQ3oygBGRES/QZa8f3fKPWBkvbgFjIiIrAEDGHUyTGBERPTwYwCjToUrYEREZA0YwIiIiIjaGQMYERERUTtjAKNOhV9FRERE1oABjIiIiKidMYARERERtTMGMOpUbHkGkoiIrAADGBEREVE7YwAjIiIiamcMYERERETtjAGMOhluAiMioocfAxgRERFRO2MAo05G6OgGiIiIHjgGMCIiIqJ2xgBGRERE1M4YwIiIiIjaGQMYdSoCt4AREZEVYAAjIiIiamcMYERERETtjAGMOhWegSQiImvAAEZERETUzhjAqHPhLnwiIrICDGDUqTQyfxERkRVgAKNOhgmMiIgefgxg1KnwDCQREVkDBjDqVJi/iIjIGjCAUacicBMYERFZAQYwIiIionbW4QEsOzsb8fHxCA4Oho%2BPDyIiIrBz5040NjaKNYmJiVAoFCZ/jh07ZjJfWloaQkJCoFQqERkZiePHj5vU1NTUYMWKFfD394evry/mzp2LkpISk7qioiLExMTAx8cHgYGBSE5ORl1dnUmdWq3GpEmToFQqERYWhvT09Pt8VawX17%2BIiMgadOnoBj788EP069cPr7/%2BOnr37o3jx4/jrbfewsWLF7FkyRKxrn///njnnXeM7uvu7m50Oy0tDSqVCgsWLICnpycyMjIQGxuLjIwMKBQKsW7hwoU4ffo0li9fDgcHB6xfvx7R0dHYv38/7O3tAQAajQazZ89Gv379sH79ely/fh2rV69GZWWlUR/5%2BfmIj4/HxIkTkZiYiLy8PCQnJ0MqlWLq1KkP4iV7qAnchU9ERFagwwPY1q1b4eTkJN4OCAjAzZs3kZ6ejgULFkAqlQIA7O3t4ePjc8d5dDodtmzZglmzZiEmJgYAMHz4cERERGDr1q1QqVQAgB9//BFHjx5FamoqgoODAQByuRxhYWH44osv8NxzzwEAdu/eDY1Gg3379on9SSQSLFq0CHFxcWL427RpEzw9PbFq1Sqx/9LSUqxbtw6RkZGwte3wRcbfFAYwIiKyBq0KYJcuXUJ2djYuX75sckrOxsZGDCPmaBq%2BDAYNGgStVovKykr06dPHrHny8vJQXV2N8PBwcUwikWD8%2BPH44IMPIAgCbGxsoFarIZPJEBQUJNb169cPfn5%2BUKvVYgA7duwYAgMDjfobM2YM3njjDajVari7u0On0yE3NxeLFi0y6iUiIgL/93//hzNnzsDLy8vs14KARgYwIiKyAhYHsKNHj2LevHlobGyEk5OTuEJlYGNjc99NnThxAj179kTv3r3FseLiYgwdOhR1dXWQy%2BWIj4/H008/LR4vLCwEAAwcONBoLnd3d9TW1uLq1atwcXFBYWEhBgwYYNKnh4cHvv32W6P5IiMjjWqkUinc3NzExyouLkZ9fb3JY3p4eIhzMIBZhvmLiIisgcUBTKVSwc/PDyqVyiggtZWff/4Ze/fuRUJCAiQSCYDbK2JKpRIeHh6orq7Grl27kJCQgHXr1mHs2LEAbu/Zkkql4h4ugx49egAAKisr4eLiAo1GA0dHR5PHlclkqKqqEm9rNBrIZLK71hl%2BNq8z3G46H5mnUd947yIiIqLfOIsD2IULF7Bhw4YHEr7KysrwyiuvQKlUIjY2VhyfPXu2UV1ISAiioqKwfv16MYABLa%2B%2BGfYUNT12p1U6c1bvDKcyzblfW6wGWhteBoyIiKyBxTvE%2B/Xrh5s3b7Z5I9XV1YiNjYW9vT22bNkCOzu7O9ba2trimWeeQWFhobgHTSaTQavVQqvVGtVqNBoA/10Jk8lk4ljzuqYrWXeqq66uFusMczZf6TLcr6UVNLo7bsInIiJrYHEAe%2Bmll/DBBx/g1q1bbdaEVqtFXFwcysvLsX37dvTq1eue92n%2BRm34VKJhf5ZBYWEhunfvjr59%2B4p1RUVFJvcvKCgwuqyFu7u7yVw6nQ7FxcVinZubG%2Bzs7HD%2B/HmTuZr2ROZjACMiImtg1inI5ORko9vl5eUICwuDv79/i2EpKSnJ7AYaGhowf/58nDt3Dp9%2B%2BilcXV3veZ/GxkYcPHgQTzzxhLjny8/PD46OjsjKyoKnpycAQK/XIzs7G8HBweLpwODgYGzatAk5OTniJyFLS0uRl5dn1HdQUBC2bNmCGzduiM/x0KFD0Ol04uUrpFIpAgICkJ2djT/96U/ifTMzM%2BHs7Cz2QebjpyCJiMgamBXAPv300xbH//73v5uM2djYWBTAVq5ciW%2B%2B%2BQaLFy9GXV0dTp48KR7z8PBAVVUVEhMTER4eDjc3N1RVVWHXrl04deoUNmzYINZKpVLExcVBpVLByclJvBDrxYsXkZKSItZ5e3tj1KhRWLZsGRITE%2BHg4IB169bB1dUVkydPFuuioqLw6aefIj4%2BHvHx8aioqMCaNWsQERFhtLKVkJCAGTNmICkpCREREcjLy0NGRgZWrlzJa4C1QiM3gRERkRWwETr4nE9ISEiLXwMEADt27IBCocDSpUtx%2BvRpXL9%2BHXZ2dvDy8sKcOXMwcuRIo3pBEJCWlob09HSUl5dDLpdj8eLFCAgIMKqrqanB2rVrcfDgQdTX18Pf3x/Lly83WX0rKipCcnIyTpw4AXt7e4SHh2PRokUmn7RUq9VISUlBYWEhXFxcEB0djenTp7f6NQkNDQUAHDlypNVz/FaVXK2Ca98eHd0GERGRxSx5/7Y4gF2%2BfBnOzs4tbpJvaGjAtWvX0K9fP0umpGasOYBdvFKJ/i49O7oNIiIii1ny/m3xObLQ0FCcPXu2xWPnzp0TH5yoNbgJn4iIrIHFAexub5CNjY289hXdF27CJyIia9Bmu8R1Oh2OHTtm1iUkiO6Em/CJiMgamPUpyI0bN2LTpk0Abn/Kcdq0aXesnTp1att0RlaJAYyIiKyBWQFMqVTi%2BeefhyAI2LlzJ8aMGYNHH33UqEYqlUIulyM8PPyBNErWgWcgiYjIGpgVwIKDg8WLj966dQvx8fHo37//A22MrJO%2BkV/GTUREDz%2BLv4x79erVD6IPIgD8FCQREVkHiwPYvn377njMxsYGMpkMnp6e4ncvElmC%2BYuIiKyBxQEsMTFRvNRE09WKpmO2traYOHEi/vrXv6JLF4sfgqwYV8CIiMgaWJyOMjIysGDBAjz11FMIDw9H7969UV5ejszMTHz33Xd48803cfr0aWzatAmurq6YN2/eg%2BibHlL8FCQREVkDiwPYjh07EBYWhiVLlohjAwcOxPDhw7FmzRrs2bMH7733HqqqqnDgwAEGMLII4xcREVkDiy/EevToUZMvwTYICgrCt99%2BCwAICAjA5cuX7687sjo8BUlERNbA4gCm1%2BtRXFzc4rELFy6Ib6BSqRRSqfT%2BuiOrw1OQRERkDSwOYCNGjMB7772H7777zmg8JycH69atw1NPPQUAOH/%2BPFxdXdumSyIiIqKHiMV7wJYtW4aZM2fixRdfRPfu3dG7d29UVFSgtrYWbm5uWLZsmVg7e/bsNm2WHn48BUlERNbA4gDWt29ffPnll9i7dy9%2B%2BOEHVFZWwtPTE8OGDcPkyZPRrVs3AMD06dPbvFl6%2BDF/ERGRNWjVRbq6deuG6dOnM2QRERERtYLFe8CIiIiI6P5YvAJWX1%2BPbdu2ITMzE5cvX4ZWqzU6bmNjgzNnzrRZg0REREQPG4sDWEpKCj766CMEBQXh6aef5qUmiIiIiCxkcQDLzs5GQkICr3BPD4ZNRzdARET04Fm8B6yqqgpDhw59EL0QERERWQWLA9iwYcNw7ty5B9ELERERkVWwOIAlJSXh888/x1dffQWdTvcgeiIrZmvDc5BERPTws3gP2MSJE9HQ0ID58%2BfDxsYG9vb2RsdtbGxw4sSJNmuQiIiI6GFjcQAbM2YMbLhKQURERNRqFgewNWvWPIg%2BiIiIiKwGr4RPnYqtLVdXiYjo4deqAFZYWIjXXnsNI0aMgJeXF06fPg0A2LhxI3Jzc9u0QbIuPL1NRETWwOIAdvbsWUyZMgXff/89hg8fDr1eLx6rra3F7t27LZovOzsb8fHxCA4Oho%2BPDyIiIrBz5040NjYa1anVakyaNAlKpRJhYWFIT09vcb60tDSEhIRAqVQiMjISx48fN6mpqanBihUr4O/vD19fX8ydOxclJSUmdUVFRYiJiYGPjw8CAwORnJyMuro6kzpze6N7Y/4iIiJrYHEAe%2Bedd6BQKHDo0CG8/fbbEARBPDZkyBD8/PPPFs334YcfQiqV4vXXX8fWrVvx9NNP46233sLf/vY3sSY/Px/x8fHw9PTEtm3bMHnyZCQnJyMjI8NorrS0NKhUKkyfPh2pqal4/PHHERsbi19%2B%2BcWobuHChfj666%2BxfPlyqFQqXLt2DdHR0UbhSqPRYPbs2aitrcX69euxZMkSHDhwAElJSUZzmdsbmceGl8InIiJrIFjIx8dHOHTokCAIgtDQ0CAoFArh1KlTgiAIwvfffy8MGTLEovkqKipMxlatWiUolUpBq9UKgiAIMTExwpQpU4xqkpKShKeeekrQ6/WCIAiCVqsVnnzySWHt2rViTUNDgzBu3Djh1VdfFcdOnjwpyOVy4ejRo%2BJYSUmJ4OnpKezcuVMce//99wVvb2%2Bj/vbv3y/I5XKhoKBAHDOnN0uFhIQIISEhrbrvb92pX0s7ugUiIqJWseT9u1V7wOzs7Focr6qqsvjLuZ2cnEzGBg0aBK1Wi8rKSuh0OuTm5mLChAlGNRERESgrK8OZM2cAAHl5eaiurkZ4eLhYI5FIMH78eKjVanGlTq1WQyaTISgoSKzr168f/Pz8oFarxbFjx44hMDDQqL8xY8ZAKpWKdeb2RkRERNSUxQFMoVDg8OHDLR7LycnB4MGD77upEydOoGfPnujduzeKi4tRX1%2BPgQMHGtV4eHgAuP2BgKY/m9e5u7ujtrYWV69eFesGDBhgstnbw8NDnMNQ5%2B7ublQjlUrh5uYm1pnbG5mPn4IkIiJrYPF1wGbNmoWFCxeiW7dumDhxIgCgtLQUubm52LNnD9avX39fDf3888/Yu3cvEhISIJFIUFVVBQCQyWRGdYbbhuMajQZSqdTkyvw9evQAAFRWVsLFxQUajQaOjo4mjyuTycS5DPM1f8zmdeb2RubjpyCJiMgaWBzAxo8fj%2BLiYmzcuBGffPIJAODll1%2BGRCLBK6%2B8gpCQkFY3U1ZWhldeeQVKpRKxsbFGx%2B70xtx0vKUaw6nHe9Xdbbz5fM3r7mc%2BIiIisj4WBzAAmDt3LiZNmoScnBxUVFSgV69eGDFiBFxdXVvdSHV1NWJjY2Fvb48tW7aI%2B8wMK1jNV5M0Gg2A/642yWQyaLVaaLVadO3a1aTOMI9MJkNpaanJ4zdf8ZLJZOJ9m/dpODVpbm9kPn4ZNxERWYNWXwnfxcUFU6dOxdy5czFt2rT7Cl9arRZxcXEoLy/H9u3b0atXL/GYm5sb7OzscP78eaP7FBQUAIAYhgw/m%2B%2B7KiwsRPfu3dG3b1%2BxrqioyOjyGYb5mu75cnd3N5lLp9OhuLhYrDO3NzIfVw2JiMgadPhXETU0NGD%2B/Pk4d%2B4ctm/fbhLkpFIpAgICkJ2dbTSemZkJZ2dneHp6AgD8/Pzg6OiIrKwssUav1yM7OxvBwcHiG3twcDA0Gg1ycnLEutLSUuTl5SE4OFgcCwoKQm5uLm7cuCGOHTp0CDqdTqwztzcyH/MXERFZA7NOQf7%2B9783e2XCxsbGossvrFy5Et988w0WL16Muro6nDx5Ujzm4eEBBwcHJCQkYMaMGUhKSkJERATy8vKQkZGBlStXwtb2doaUSqWIi4uDSqWCk5MTPD09kZGRgYsXLyIlJUWc09vbG6NGjcKyZcuQmJgIBwcHrFu3Dq6urpg8ebJYFxUVhU8//RTx8fGIj49HRUUF1qxZg4iICKOVLXN6I/NxBYyIiKyBjdD8XFwLNmzYYNEb47x588yuDQkJafFrgABgx44d8Pf3B3D7%2Bl0pKSkoLCyEi4sLoqOjMX36dKN6QRCQlpaG9PR0lJeXQy6XY/HixQgICDCqq6mpwdq1a3Hw4EHU19fD398fy5cvN1l9KyoqQnJyMk6cOAF7e3uEh4dj0aJFJp%2B0NKc3S4SGhgIAjhw50uo5fquKLl3HgMdMrw1HRETU2Vny/m1WAKP2Zc0B7D%2BXr%2BN/%2BjGAERHRb48l7988R0adCr8LkoiIrAEDGHUq3AJGRETWgAGMOhVuwiciImvAAEadCgMYERFZAwYw6lSYv4iIyBowgFGnwq8iIiIia2DWhVgvX75s0aT9%2BvVrVTNEPAVJRETWwKwAFhISYtEb49mzZ1vdEFk35i8iIrIGZgWwVatWiQGsoaEBW7Zsgb29PcaPH49HH30UZWVlyMrKQl1dHeLj4x9ow/Rw4woYERFZA7MC2LPPPiv%2B75SUFLi7u%2BP99983%2Bq7DhIQEzJkzBxcuXGj7LomIiIgeIhZvwt%2B3bx%2Bef/55ky%2BatrW1xfPPP48vv/yyzZojIiIiehhZHMAqKytRV1fX4rG6ujpoNJr7boqsF09AEhGRNbA4gHl6emLz5s24fv260fj169exefNmDBo0qM2aIyvEBEZERFbArD1gTSUmJiI6OhqhoaEICAiAs7MzysrKkJubCwD48MMP27xJIiIiooeJxQHMx8cHn3/%2BOTZu3Ijvv/8elZWV6NmzJ0aPHo24uDg88cQTD6JPIiIiooeGxQEMANzd3aFSqdq6FyLY8BwkERFZAX4VEREREVE7a9UKWGVlJTIzM1FYWGjyiUgbGxusWrWqTZoj6yNA6OgWiIiIHjiLA9jly5cxZcoU3Lp1C3V1dejVqxeqqqqg1%2BvRo0cPODg4PIg%2BiYiIiB4aFp%2BCfPfdd%2BHh4YF//vOfEAQB27ZtQ35%2BPpYvXw6pVIrU1NQH0SdZCy6AERGRFbA4gOXn5%2BO5555D165dAQCCIEAqlWL69OmYMmUK3n777TZvkqxHo8AERkREDz%2BLA1hFRQWcnZ1ha2sLiUSCmpoa8djw4cNx4sSJNm2QrEtjIwMYERE9/CwOYL1790ZVVRUAwNXVFadOnRKPXbp0CRKJpO26IyIiInoItepCrGfPnkVoaCjCwsKwadMm6HQ62NnZIS0tDQEBAQ%2BiT7ISXAEjIiJrYHEAe%2BGFF1BSUgIASEhIQGFhITZs2ABBEDBs2DAsW7aszZsk68E9YEREZA0sDmBeXl7w8vICADzyyCPYunWruA%2BMl6Cg%2B8UVMCIisgatuhBrcwxe1Fb0jY0d3QIREdED16qvIiosLMRrr72GESNGwMvLC6dPnwYAbNy4Ebm5uW3aIFkXroAREZE1sDiAnT17FlOmTMH333%2BP4cOHQ6/Xi8dqa2uxe/fuNm2QrEuDnitgRET08LM4gL3zzjtQKBQ4dOgQ3n77bQhNNk0PGTIEP//8c5s2SNZFzwBGRERWwOIAlpeXhxdffBHdunWDjY2N0bFHH30U5eXlFs134cIFrFixAhMnToSnpyfCw8NNahITE6FQKEz%2BHDt2zKQ2LS0NISEhUCqViIyMxPHjx01qampqsGLFCvj7%2B8PX1xdz584VP9nZVFFREWJiYuDj44PAwEAkJyebfPk4AKjVakyaNAlKpRJhYWFIT0%2B36DWg/9LzFCQREVmBVm3Ct7Oza3G8qqoKUqnUorl%2B/fVXqNVqeHt7o7Gx0WhFran%2B/fvjnXfeMRpzd3c3up2WlgaVSoUFCxbA09MTGRkZiI2NRUZGBhQKhVi3cOFCnD59GsuXL4eDgwPWr1%2BP6Oho7N%2B/H/b29gAAjUaD2bNno1%2B/fli/fj2uX7%2BO1atXo7Ky0qiP/Px8xMfHY%2BLEiUhMTEReXh6Sk5MhlUoxdepUi14LAhoa9PcuIiIi%2Bo2zOIApFAocPnwYwcHBJsdycnIwePBgi%2BYLCQnB008/DeD2SlfTK%2Bs3ZW9vDx8fnzvOo9PpsGXLFsyaNQsxMTEAbn81UkREBLZu3QqVSgUA%2BPHHH3H06FGkpqaKz0EulyMsLAxffPEFnnvuOQDA7t27odFosG/fPjg5OQEAJBIJFi1ahLi4ODH8bdq0CZ6enli1ahUAICAgAKWlpVi3bh0iIyNha9uqzzlYLe4BIyIia2BxOpg1axY%2B//xzrFq1CufOnQMAlJaWIi0tDXv27MGsWbMsa6CNAkpeXh6qq6uNTmFKJBKMHz8earVaXFlTq9WQyWQICgoS6/r16wc/Pz%2Bo1Wpx7NixYwgMDBTDFwCMGTMGUqlUrNPpdMjNzcWECROMeomIiEBZWRnOnDnTJs/NmjCAERGRNbA4/YwfPx7z58/Hzp07MWXKFADAyy%2B/DJVKhVdeeQUhISFt3iQAFBcXY%2BjQofDy8sKzzz6Lw4cPGx0vLCwEAAwcONBo3N3dHbW1tbh69apYN2DAAJP9ax4eHuIchrrmpzilUinc3NzEuuLiYtTX15s8poeHh1FPZL6GBgYwIiJ6%2BLVqD9jcuXMxadIk5OTkoKKiAr169cKIESPg6ura1v0BAAYNGgSlUgkPDw9UV1dj165dSEhIwLp16zB27FgAt/dsSaVScQ%2BXQY8ePQAAlZWVcHFxgUajgaOjo8ljyGQy8UvGDfPJZLK71hl%2BNq8z3G46H5mnnnvAiIjICrT6SvguLi4tbjIXBMFkdel%2BzZ492%2Bh2SEgIoqKisH79ejGAAWjxcQ2nHpseu1N/5vTd0vO7n/nIGE9BEhGRNWjTHeL79%2B/HuHHj2nLKFtna2uKZZ55BYWGheFkImUwGrVYLrVZrVKvRaAD8dyVMJpOJY83rmq5k3amuurparDPM2Xyly3C/llbQ6O64AkZERNbA7ABWXV2NL774Atu2bcPhw4fR2OQ7%2B7766iuEh4fj9ddfh06neyCNNtf8chWG/VrN910VFhaie/fu6Nu3r1hXVFRkcv%2BCggKjPV/u7u4mc%2Bl0OhQXF4t1bm5usLOzw/nz503matoTmY8BjIiIrIFZAezChQsYN24c3njjDbz77rt4%2BeWX8ac//Qk1NTWYM2cO5s%2Bfj7KyMixevBj/%2BMc/HnTPaGxsxMGDB/HEE0%2BIe778/Pzg6OiIrKwssU6v1yM7OxvBwcHi6cDg4GBoNBrk5OSIdaWlpcjLyzO6tEZQUBByc3Nx48YNcezQoUPQ6XRinVQqRUBAALKzs436y8zMhLOzMzw9Pdv%2ByT/kAiZ81QAAIABJREFUGhoa%2BX2QRET00DNrD9i6detQU1ODefPmwcvLC5cuXcKWLVsQFRWFgoICTJ06FYsXL27VKbdbt26Jl3UoKSlBTU2NGOKGDx%2BOW7duITExEeHh4XBzc0NVVRV27dqFU6dOYcOGDeI8UqkUcXFxUKlUcHJyEi/EevHiRaSkpIh13t7eGDVqFJYtW4bExEQ4ODhg3bp1cHV1xeTJk8W6qKgofPrpp4iPj0d8fDwqKiqwZs0aREREGK1sJSQkYMaMGUhKSkJERATy8vKQkZGBlStX8hpgraBvFNAoCLAF988REdHDy0a406XnmxgxYgRmzpyJl156SRzLyclBbGwsoqKi8Oabb7a6gUuXLiE0NLTFYzt27IBCocDSpUtx%2BvRpXL9%2BHXZ2dvDy8sKcOXMwcuRIo3pBEJCWlob09HSUl5dDLpdj8eLFCAgIMKqrqanB2rVrcfDgQdTX18Pf3x/Lly83%2BRRnUVERkpOTceLECdjb2yM8PByLFi0y%2BaSlWq1GSkoKCgsL4eLigujoaEyfPr3Vr4nh9Thy5Eir5/it2vn3PEx5Zgikdq3%2BfAgREVGHsOT926wANnjwYHz00UcYNmyYOHbz5k34%2Bflhx44dGD58%2BH20S81ZcwD75MAJTAkbgm72LX/dFRERUWdlyfu3WefI9Ho9unbtajRmuN29e3dL%2ByO6o8ZGAfpGXoqCiIgebmaf5zl//jwkEol4W6/Xi%2BPNWfp9kEQG%2BkZuwiciooef2QFs6dKlLY6//vrr4v82XKT07Nmz998ZWSW9XoCeF2MlIqKHnFkBbPXq1Q%2B6D/r/7d17XNRV/j/w1zAwgMCAIMhFUUQlUUQNRfyqmGamwqpZLuZt1Szx0u6mbaZmZay3WvCSZiq7WetqmZeMX2ZekTXBEnPzLje5iNxhuAzM9feHzeQAKuAwN17Px6OH8Zn3nHmDIi/POZ8zBOD%2BESOqx29LJCIiMmtNCmAPHs9A1JqUKjWUXIIkIiILx4OqyKSoVFyCJCIiy8cARiaFS5BERNQWMICRSVGq1LwLkoiILB4DGJkUlZrngBERkeVjACOTolLyHDAiIrJ8DGBkUlRqLkESEZHlYwAjk8I9YERE1BYwgJFJ4XtBEhFRW8AARiZFxfeCJCKiNoABjEyKSqXmOWBERGTxGMDIpHATPhERtQUMYGRSlEoGMCIisnwMYGRSOANGRERtAQMYmRSVSsW7IImIyOIxgJFJUarUUCoZwIiIyLIxgJFJUSp5FyQREVk%2BBjAyKfeXIBnAiIjIsjGAkUnhWxEREVFbwABGJkWpVHEPGBERWTwGMDIpSr4XJBERtQEMYGRSlCoVlEouQRIRkWVjACOTolSqoOASJBERWTgGMDIpSiUPYiUiIsvHAEYmQ61WQ6lSQ6FgACMiIsvGAEYmQ3P3I5cgiYjI0hk9gN25cwerVq3ChAkTEBgYiIiIiEbrEhMTMXHiRAQFBWH06NHYs2dPo3Xx8fEYOXIkgoKCMHnyZKSkpDSoqaqqwqpVqxAaGor%2B/ftj/vz5yMvLa1CXmZmJuXPnol%2B/fggLC0NMTAxqa2tb3Bs9miZ48RgKIiKydEYPYLdv30ZiYiK6dOkCf3//RmsuXbqEBQsWIDAwEDt37sSkSZMQExOD/fv369TFx8cjLi4O06ZNw44dO9ClSxfMmzcPN2/e1KlbsmQJTp06hXfeeQdxcXEoLCzE7NmzdcKVRCLBrFmzUF1djc2bN%2BOtt97Ct99%2Bi5UrV7aoN3o8BWfAiIiojbA2dgMjR47Es88%2BCwBYtmwZrly50qBm69atCAwMxJo1awAAgwcPRn5%2BPjZt2oTJkyfDysoKMpkMn3zyCWbOnIm5c%2BcCAAYNGoTIyEhs374dcXFxAIDLly/jzJkz2LFjB8LDwwEAPXv2xOjRo3Ho0CFMnToVALBv3z5IJBIcPnwYrq6uAAChUIilS5ciOjpaGxab0hs1jfy3vV8KhdLInRAREbUuo6eDxwUUmUyG5ORkjB8/Xud6ZGQkioqKcO3aNQBAamoqKisrdZYwhUIhxo0bh8TERKh/e4PnxMREiMViDB8%2BXFvn7e2NAQMGIDExUXvt7NmzCAsL04YvABgzZgxEIpG2rqm9UdNogpecM2BERGThjB7AHic7OxtyuRzdunXTud69e3cAQHp6us6v9ev8/f1RXV2NgoICbZ2fnx8EAkGD8TRjaOrqL4mKRCL4%2Bvpq65raGzWNTBPA5JwBIyIiy2byAayiogIAIBaLda5rPtY8LpFIIBKJYGdnp1Pn7OwMACgvL9fWOTk5NXgdsVisHUtTV/8169c1tTdqGs3xE9wDRkREls7kA5hG/Rmrxq43VqNZenxc3aOu1x%2Bvft2TjEe/k/82AyaTK4zcCRERUesy%2BQCmmcGqP5skkUgA/D7bJBaLUVdXh7q6ukbrNOOIxWLttfp1D85kPayusrJSW9fU3qhpZHLNEiRnwIiIyLKZfADz9fWFjY0NMjIydK6npaUBgHaflubX%2Bvuu0tPT4eDggI4dO2rrMjMztTNjD4734J4vf3//BmPJZDJkZ2dr65raGzWNdgaMd0ESEZGFM/kAJhKJMHjwYBw9elTnekJCAtzd3REYGAgAGDBgAJycnPDdd99pa5RKJY4ePYrw8HDtcmB4eDgkEgmSkpK0dfn5%2BUhNTdUeSwEAw4cPR3JyMsrKyrTXjh8/DplMpq1ram/UNJoZMC5BEhGRpTP6OWBSqVR7rENeXh6qqqrw/fffA7h/jperqysWLlyI6dOnY%2BXKlYiMjERqair279%2BP1atXa4%2BxEIlEiI6ORlxcHFxdXREYGIj9%2B/cjJycHsbGx2tcLDg7GiBEjsGLFCixbtgyOjo7YtGkTfHx8MGnSJG1dVFQU/v3vf2PBggVYsGABSkpKsG7dOkRGRurMbDWlN2qaOtn94CXjXZBERGThBOr6a3EGlpubi1GjRjX62Oeff47Q0FAA98/vio2NRXp6Ojw9PTF79mxMmzZNp16tViM%2BPh579uxBcXExevbsiTfffBODBw/WqauqqsL69etx7NgxyOVyhIaG4p133oGPj49OXWZmJmJiYnDx4kXY2dkhIiICS5cubXCnZVN6aw7N1%2BPkyZMtHsMcnU5Jw84DKXB1boePV0x6/BOIiIhMSHN%2Bfhs9gFFDbTWAff/fG/j8yEU42Iuw8/2XjN0OERFRszTn5zfXyMhk/L4EyT1gRERk2RjAyGRoAphcoYJKxaMoiIjIcjGAkcmok/2%2B%2Bb5Wxo34RERkuRjAyGTUyuTa/6%2Brkz%2BikoiIyLwxgJHJqK37fe9XrYz7wIiIyHIxgJHJeDB0PRjGiIiILA0DGJmM2geWHWu5BElERBaMAYxMhvSBWS8pAxgREVkwBjAyGdLa30MXAxgREVkyBjAyGbpLkNwDRkRElosBjEzGg7NeNbUyI3ZCRETUuhjAyCQolCrI5L8fvvrgciQREZGlYQAjk1A/cEm5BElERBaMAYxMQv0lRy5BEhGRJWMAI5NQfwashkuQRERkwRjAyCTUD1xSKQMYERFZLgYwMgnVUt0lx2ouQRIRkQVjACOTwCVIIiJqSxjAyCTUn/GqkXIGjIiILBcDGJmE%2BoGrplYOlUptpG6IiIhaFwMYmYSaepvu1Wq1zlsTERERWRIGMDIJVdK6Btfqb8wnIiKyFAxgZBKqaxqGLQYwIiKyVAxgZBKqGglbVY2EMiIiIkvAAEYmoaqm4RJkY9eIiIgsAQMYmYSq6oZhq5IBjIiILBQDGBmdWq1%2ByBIkAxgREVkmBjAyumqprNEzvyRVDGBERGSZGMDI6B4WtCqraw3cCRERkWEwgJHRSR4StCo4A0ZERBbKLALYwYMHERAQ0OC/jz76SKcuMTEREydORFBQEEaPHo09e/Y0Ol58fDxGjhyJoKAgTJ48GSkpKQ1qqqqqsGrVKoSGhqJ///6YP38%2B8vLyGtRlZmZi7ty56NevH8LCwhATE4PaWs7cNIekqvGvl6RKauBOiIiIDMPa2A00x65du%2BDk5KT9uGPHjtr/v3TpEhYsWIAJEyZg2bJlSE1NRUxMDEQiEV566SVtXXx8POLi4vDXv/4VgYGB2L9/P%2BbNm4f9%2B/cjICBAW7dkyRJcvXoV77zzDhwdHbF582bMnj0bR44cgZ2dHQBAIpFg1qxZ8Pb2xubNm1FaWoq1a9eivLy8QTikhyuTNB60yiQMskREZJnMKoD17t0brq6ujT62detWBAYGYs2aNQCAwYMHIz8/H5s2bcLkyZNhZWUFmUyGTz75BDNnzsTcuXMBAIMGDUJkZCS2b9%2BOuLg4AMDly5dx5swZ7NixA%2BHh4QCAnj17YvTo0Th06BCmTp0KANi3bx8kEgkOHz6s7UsoFGLp0qWIjo6Gv79/q349LEWZpKbR61U1dZArlLCxFhq4IyIiotZlFkuQjyOTyZCcnIzx48frXI%2BMjERRURGuXbsGAEhNTUVlZSUiIiK0NUKhEOPGjUNiYiLU6vt34iUmJkIsFmP48OHaOm9vbwwYMACJiYnaa2fPnkVYWJhOKBwzZgxEIpFOHT3aw2bAHvcYERGRuTKrABYREYFevXph1KhR%2BPTTT6FUKgEA2dnZkMvl6Natm0599%2B7dAQDp6ek6v9av8/f3R3V1NQoKCrR1fn5%2BEAgEDcbTjKGpqz/LJRKJ4Ovrq1NHj1ZcVv3Qx0oe8RgREZG5MoslSHd3dyxevBjBwcEQCAQ4deoUNm7ciIKCAqxatQoVFRUAALFYrPM8zceaxyUSCUQikXYPl4azszMAoLy8HJ6enpBIJDp7zR4cTzOWZrz6r9lYHT1a0SNCVlFZNXoZsBciIiJDMIsANmzYMAwbNkz78dChQ2Fra4vdu3dj/vz52uv1Z6wau95YjWbp8XF1j7pef7ym1BGgVKpQWtH4HjAAKCqrMmA3REREhmFWS5APGjt2LJRKJa5fv66dwao/6ySRSAD8PhMmFotRV1eHurq6Rus044jFYu21%2BnUPzng9rK6ysrLRmTFqqLi8utFT8DUKShjAiIjI8phtAHuQr68vbGxskJGRoXM9LS0NALT7tDS/1t%2BflZ6eDgcHB%2B2xFv7%2B/sjMzNTOjD043oN7vvz9/RuMJZPJkJ2dzTsgm%2BhuYcMA%2B6D8okc/TkREZI7MNoB99913EAqFCAwMhEgkwuDBg3H06FGdmoSEBLi7uyMwMBAAMGDAADg5OeG7777T1iiVShw9ehTh4eHaZcPw8HBIJBIkJSVp6/Lz85Gamqo9lgIAhg8fjuTkZJSVlWmvHT9%2BHDKZTKeOHu7uYwLW3SJJgyBMRERk7sxiD9jcuXMxePBg9OzZEwBw8uRJfPXVV5g5cybc3d0BAAsXLsT06dOxcuVKREZGIjU1Ffv378fq1athZXU/Z4pEIkRHRyMuLg6urq7ag1hzcnIQGxurfb3g4GCMGDECK1aswLJly%2BDo6IhNmzbBx8cHkyZN0tZFRUXh3//%2BNxYsWIAFCxagpKQE69atQ2RkJGfAmuhu4aNvVpDWylEukaK9czsDdURERNT6zCKA%2Bfn54euvv8a9e/egUqnQtWtXLF%2B%2BHDNmzNDW9O/fH9u2bUNsbCwOHz4MT09PrFy5UucUfACYM2cO1Go1vvjiCxQXF6Nnz57YsWOHzin4APCPf/wD69evx/vvvw%2B5XI7Q0FBs2bJF5w5KsViM3bt3IyYmBosXL4adnR0iIiKwdOnS1v2CWJDs/PLH19wrZwAjIiKLIlBzfcfkjBo1CsD9mT5LplSqMOedryBXKB9ZFzW2H/7wTG8DdUVERNQyzfn5bbZ7wMj85RdXPjZ8AUBWXqkBuiEiIjIcBjAymozckibWMYAREZFlYQAjo7l9p7hJdYWlVaioqm3lboiIiAyHAYyMJi27aQEMANKaGNaIiIjMAQMYGYW0Vt6kOyA1bt0pasVuiIiIDIsBjIzi1p2iZh2wej2jsBW7ISIiMiwGMDKKa%2BkFzarPyC1BbZ28lbohIiIyLAYwMorrGc0LYCqVGjezuAxJRESWwSxOwifLUiOVIT2n%2BUdLXE27h%2BAA71boiIj0QaaQ47Mfv8SdkpxmP9dKYIWpgyYi0Dvg8cVEFoABjAzuekZhi95g%2B0pa82bNiMiw/nnuP0jOSG3x8%2BNO7MQ7EX%2BFr6uPHrsiMk0MYGRwV9Luteh5d%2B6WoqqmDo7tbPXcERE9qcLK4icKXwAgV8rx/ZXTeHX4dD11RYZSfPUarnz2OdRKxSPr2vfsgaA5syEUiQzUmeliACODu9rCAKZW39%2B8PyjIV88dEdGTshHaQAAB1HiytxcWWdvoqSMylLwfz%2BN/O%2BOhVj7%2BreWkxSWQFhUj5I2/wMbBwQDdmS5uwieDqqiUIregosXPv9rMuyeJyDDat3PGyF5Dn2gMOxtbjAsapaeOyBDuJqfg8qc7mxS%2BNMpup%2BHCh/%2BAorZtv8MJAxgZVHOPn2jw/BbOnhFR65s6cCL6dgps0XOthdZ4feRceDh10HNX1Fok2dn4385d95cnmqkiIxO//vMz/TdlRhjAyKCeNIDlFUpQXinVUzdEpE/WQmssemYOenn1aNbzhAIrLH5mDu%2BANCNqtRq//vMzqOSP3vP1KPnJKSj85bIeuzIvDGBkUPp4S6FbPA%2BMyGSJrG2w6Jk5cHN0bfJz/jhwAoI7927FrkjfCn%2B5jIqMzCce59bBwy26K94SMICRwdRIZU%2B0/0vjNt%2BYm8ikOdi2w/O9RzSp1snOEaN6DWvdhkjvsk%2Bd1ss4kqwsVGQ%2BeZAzRwxgZDDpOSUt2SrQwG2%2BMTeRyRNZN%2B2YARsra1gJ%2BKPInMgqK1H86xW9jXf3fIrexjIn/FNPBpN1t/mn3zfmTn45VKq2OWVNZA5kChmOX0tsUm1pTTnOZ1xs5Y5In4p%2BvQK1SqW38Qp/%2BUVvY5kTBjAymLwCiV7GqZMpUFJRrZexiEi/qutqsPHETuSW5Tf5Of88txc/ZbXNH8LmqCIzS6/j1RQUQl5To9cxzQEDGBlMbuGT7//SyNPDXjIi0q/r%2Bbfx7pEPcS3/VrOep1AqsPX0v/DF%2Ba9RK69rpe5IX2SVla0wZpXexzR1PAmfDOZesf6%2BafOLK9FPb6MR0ZMor6nA/osJOJd24YnGOXkjCZdyfkXUwIkY2LUfBAKBnjokvWqNuxbV%2BlvSNBcMYGQQCoUSNVKZ3sarrGrbJygTmYLquhp8f/U0jl09A5lCP9/fpdXl2HbmM/i7d8XkAePRy6sHg5iJkZaUtMKYpXDw9NT7uKaMAYwMorJGf%2BELACqruUxBZCwlVWU4eT0Jp27%2Bt9WWDNOLsrDh2FZ09/DD2D4j0b9zH1hZcdeMsRX971eU3bqt93HTjnyL9j17QGjTdt4LlAGMDKKyWr8zVpU1DGBEhqRQKvC/3OtISkvB5ZyrUBloySitMBNbTsXDzdEVw3uEYoj/QLg7uRnktel38upqZB49hvT/912rjF96/QbOr45Br2lT4RoQ0CZmPRnAyCy10YOTiQxKKq/Ftbs3kZp9Bb9kX0G1zHh3qpVUleLQpaM4dOko/Dr44ukufdG/cx94u3i2iR/WxiCrqkLJ1Wu4dzEVBamXoJLpdyWjPsmdbKSsWQ/HTj7wDh0E9%2BBgiH07Q2ChM58MYGQQQqF%2Bv4Gs9TweEQFypQKZxXdwPT8N1/JvIa0wE0qV0thtNZBZnI3M4mx8fTEBrg4u6O0dgF5ePfCUZw%2B4OrgYuz2zpJTJUXU3D5I72SjPyER5Wjoqc3ON8q/dqtw83Mo9hFsHDsHGwQEu3bvDxb8bnP26QOzrC1sXF4sI3QxgZBD6DkzW1gxgRE%2BqqrYaaUVZSCvMwO2CTGQUZ0OulBu7rWYprS5H0u0UJN2%2Bf5p6B0dX9OjYDT08/NDdww%2BdXLy4d%2Bw3arUasspK1BQUoPpeAarv3UPV3XxU3b2LmoJCvR6uqi/y6moUXb6Mosu/v2m3jYMDHH284ejtDQcvTzh4esLBsyPaubvDytp8Yo35dEpmrZ1d096WxFjjEVk6lVqFvLJ7SCvMRFpRFtILs3BPUmjstvSuuKoUxVWlOJ/%2BMwDAztoWfu6%2B6O7uh%2B4eXdHdww8Otu2M3GXrUSkUkJaUoqaoCNLCQtQUFaGmsAg1hYWoKSyCQio1dotPTF5djbJbtxveDCAQwN7NDe083NHOwwPt3N3RzsMd9u7uaOfuDhtHB5OaOWMA04PMzEzExMTg4sWLsLe3x/jx47F06VLY2dkZuzWT4dhOBHtba0jrFHoZz729g17GIbJUarUauWX5uHr3Jq7fu43bBRmokZn/D9/mqlXU4Xr%2BbVzPv//DWgABfNp7IsCzOwK9eiLQqyfsReb1d7WithbV9wruz2QVFqKmsBDSwqL7oauktO1uklWrIS0uhrS4GCXXrjd42NreHu3c3WHvcT%2BQtevoAQcPDzh4doSdq6vB95oxgD0hiUSCWbNmwdvbG5s3b0ZpaSnWrl2L8vJyfPTRR8Zuz2QIBAK4uzoiO79cL%2BO5uzrqZRwiS1NUWYJTN/6LC5mXUFJdZux2TI4a94Npblk%2BTl5PgtBKiF5ePTC8x2CEdAk2qeVKtVqNmsIilKenQ5J1B5W5uajKu4vaMv6%2BtoRCKoUkOxuS7OwGj1mJRHD09IRjJ2%2BIO/vCuZsfXLr5QWhr22r9MIA9oX379kEikeDw4cNwdXUFAAiFQixduhTR0dHw9/c3coemo6Obk94CWEc3BjCi%2Bm7cS8NHx7ZBYYIb502VUqXElbwbuJJ3A0E%2BvbDkufnGbgkAcOfUaWR%2BdxQ1hUXGbqVNUMlk2nB2F8kAACtra3QI6oPeM6fD3k3/R5%2BYTtQ3U2fPnkVYWJg2fAHAmDFjIBKJkJiYaMTOTI9/Z/38AbYTWcPHw1kvYxFZEk%2BxOwK9A4zdhlkS2zkipGuwsdvQatehAxy8vFp1BoYezd69Axy9vGBtZ98q43MG7Amlp6dj8uTJOtdEIhF8fX2Rnp5upK5MU48uHfQyjr%2Bvm96PtSCyBC7tnPHG6NdQVFmCX3Ku4OrdW7hdmIHqOuOd32WqBBCgk6s3nuroj6BOgQj06gFroen8SHTvGwT3vkFQKZWozs%2BHJDsH1XfzUXXv3m8b6guhqGl7e/r0TWBlBbvfNu47dOwIBy9POHXqBLGvL0ROrbvSYjp/2syURCKBWCxucF0sFqOiosIIHZmubp3c4NjOFqonvNW5V7eOeuqIyDK5O7lhdGA4RgeGQ61Wo0BShKySHBRV6v89/MyNyFoEX1cfdO3QGfY2pr/53koohFOnTnDq1KnBY/LqGkhLiiEtLoG0pAS1paWQlpSirqwctWWlkFczeAuEQti5uMC2fXvYu7nCzrU97N3cYO/mBjs3N9i5toeVUGiU3hjAWolarTap211Nga3IGjvee9HYbRC1KQKBAJ7OHvB09jB2K6RnNg7tYOPgC7Gvr7FboRbgOs4TEovFkEgkDa5XVlY2OjNGRERExAD2hPz9/Rvs9ZLJZMjOzuYdkERERNQoBrAnNHz4cCQnJ6PsgXNZjh8/DplMhvDwcCN2RkRERKaKAewJRUVFwcnJCQsWLEBSUhIOHz6MDz74AJGRkZwBIyIiokZxE/4TEovF2L17N2JiYrB48WLY2dkhIiICS5cuNXZrREREZKIYwPTAz88P8fHxxm6DiIiIzASXIImIiIgMjAGMiIiIyMAYwIiIiIgMjAGMiIiIyMAYwIiIiIgMjAGMiIiIyMAYwIiIiIgMjAGMiIiIyMB4EKsJKiwshFKpxKhRo4zdChERETVRfn4%2BhEJhk2o5A2aCbG1tYW3NbExERGROrK2tYWtr26RagVqtVrdyP0RERET0AM6AERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRmQSVSmXsFoiIDIYBjEyOQqGATCYDACiVSiN3Q63t559/xp07d2Blxb%2BO2gKFQgG5XG7sNsjA1Gq19u9ztVpt5G5Mg7WxGyB6UGJiIhISElBYWIjo6GgMHjzY2C1RKzp9%2BjTWr1%2BPt956C126dDF2O9TKTp8%2BjYSEBJSUlGDy5Ml4%2Bumn4e3tbey2qJWdPXsWJ06cQF5eHhYuXIgBAwZApVK1%2BX90te3PnkzK2bNnsXHjRkRGRiI0NBQbNmzQzoSR5UlLS8OHH36I9evX45lnnoFSqeSMpwU7d%2B4cNm7ciBdffBGTJ0/Gtm3bsGXLFly/ft3YrVErOnPmDGJjYzFixAgEBwdj0aJFyM7ObvPhC%2BAMGJmI27dv4%2BOPP8bbb7%2BNQYMGwcXFBampqdi9ezd69%2B6NQYMGwdqaf1wtSXl5Obp3747g4GDk5OQgPj4eBQUFGDJkCIYOHQo/Pz9jt0h6dOHCBcyePRthYWEAgLt37%2BKbb77BDz/8AB8fH4jFYiN3SPqWk5ODHTt2YOXKlQgJCcHIkSORl5eHS5cuwdfX19jtGR0jKJmETp064d1338WgQYNQXFyMd999F97e3rCxscEHH3yAH374wdgtkp7Z29vDysoKtbW1eP/999GjRw%2BMGzcOFy5cwKlTp4zdHulZfn4%2BUlNTtR8rlUoMGTIEx44dw5UrV4zYGbUWFxcXTJkyBf3794dCoQAAWFlZITMzU1vTlveDcUqBjE6lUsHe3h69e/cGAGRlZWH%2B/PkYM2YMgPvfsAkJCXj%2B%2Bec5bW1Bunbtihs3bmDRokUYNGgQpk2bBgBwdnbGrl27MG3aNNjZ2Rm5S9KXRYsWYerUqSgpKYGDgwPKysqwc%2BdObN68GSkpKRgyZIixWyQ9c3Jywvjx4yEUCrVBq2vXrrC3twcAHD16FC4uLtpZ0baGP83I6OqHqpCQEG34AgChUAhkg7upAAAQIklEQVQvLy8IBAJDt0atRKVSwcHBATt37kR6ejoSEhK0/0KWSqVwdnY2coekD5qjRVQqFXx9fXH48GEMHz4cI0aMwNatWwEAMpmMv98WJD09HXl5edqP628dEQgEcHNzw4kTJ7Bx40Z07NjR0C2aDIG6Lc//kUnQ3A3T2F0x3333HeLj47Fu3Tr06NHDSB2SPimVSgiFQigUClhbWyM7OxuvvPIKQkNDIRKJkJqairVr1%2BKpp54ydqvUQjdv3oSPjw8cHR211%2BRyOWxsbHTqDhw4gF27dmHr1q3o1q2bodskPTt16hQWLFiAGTNmYObMmejcuXODmm3btmHfvn3w8PDAunXr0L17dyN0aho4A0YGl5SUhLi4OKxfvx5ZWVna0GVlZYVbt24hOTkZALB//35s3ryZ4cvMnTt3DnFxcVi9ejUKCgogFAqhVCphbW2NGzduQC6X4%2BDBg3jmmWfQt29fbNy4keHLjJ0%2BfRrLly/HjRs3tNeUSiVsbGx0vr9//vlnHDt2DHFxcQxfFuDevXs4cOAAXn/9ddy7dw9ffvklcnJytI9r5no0//j66KOP2nT4AhjAyMCSkpIQExMDDw8PyGQyzJ07V7vB/ueff8bf/vY37b6fUaNGYdeuXQxfZiwpKQkffvghOnXqhLKyMsTFxQG4/5fw%2BfPnsWzZMpSVlcHR0REjR47EhAkTeB6YGbt8%2BTLWrVuH5cuXIyQkRHtdKBQiOTlZ5/u7b9%2B%2BWL9%2BPcO2hXB1dUVUVBQWLFiAP//5z7h27Rq%2B%2Buor3LlzBwC0W0giIiKwZ88edO3a1Yjdmgbhe%2B%2B9956xm6C24z//%2BQ%2BGDRuG6dOnIzw8HPb29vjqq68gEAhw/vx5/OEPf8DQoUOhVCrh4ODAW9PNWGpqKt5//3289957GD16NFQqFYqKiqBQKKBQKHDixAmMHTsW4eHhxm6V9CQlJQX29vb44x//iJycHOzduxdHjhyBWCzGjz/%2BiLFjx2q/v21sbLSbscm8qdVqWFtbo3PnzhAIBHB1dUWfPn1w4MABFBUVISQkBEeOHEFFRQUCAwPRvn17Y7dsEjgDRgZlZWWFoqIi7cdTpkxBZGQkNm7ciAkTJuD555%2BHWq2GUCg0YpekD56ennjvvfcQEhKCoqIibNq0CWVlZUhKSsK0adPw7LPPYuzYsW36NnRL8%2BDdbm%2B%2B%2BSasrKzg4OCA2NhYDB48GGPGjIFKpeL3t4XRzG5ptpMolUr4%2B/tj%2BfLlyMrKwty5c7FmzRoGr3o4A0YG5ezsjDVr1sDHx0e7tNinTx9kZWWhoqICTz/9NADwjkcL4OTkhE6dOgEAjh8/jv79%2B%2BONN97AiBEjkJGRgdzcXAwdOpS/1xZEKBRi7dq1yMjIQFhYGObOnYuhQ4eisLAQp0%2Bf5lEyFkqtVkMgEEClUkEgEGh/j11dXXHz5k2cPXsWe/bsQc%2BePY3cqWnhOWBkUEFBQVi5ciV27twJABg3bhyA%2Bwf2aW5Z5w9kyzNx4kQAv/9F7ePjAwcHByN3Rfrm7%2B%2BPmJgYfPDBBzrXPTw8UFxcrP39J/OWlJSElJQUSCQSvPzyy%2BjZs6c2eN26dQulpaUYPHgwbt%2B%2BjatXr%2BKzzz7jXt5GcAaMDM7f3x/Ozs5YvXo1SktLceHCBZw8eRILFy6Eq6ursdujViQQCHD06FEcOHAAr776KpckLFDXrl3h5uaG7du3w9raGikpKTh8%2BDD%2B8pe/oEOHDsZuj55QYmIiPvroI4waNQrV1dVYvXo1HB0d0bdvX6SmpmLlypV49tln4enpCScnJzzzzDPamXDSxXPAyGiuXbuGxMRE1NXVISIios3fkmzpZDIZDh48iN27d2PLli38/bZw169fx48//gipVIqxY8fC39/f2C3RE5LL5VixYgUmTZqkPb3%2B9ddfx82bNzF79mykp6fj6aefxvPPP9/ouY6kiwGMiAxCrVbj0qVLcHV15S3oRGZIJpPhT3/6EyZOnIgpU6YAALZs2YLc3FwkJSUhPj4evXr14lJzE3EPGBEZhEAgwIABA4zdBhG1kEgkwsyZM7Fx40bk5eWhoqIChYWF2LZtG5YsWYKMjAz06tXL2G2aDQYwIiIiapLnnnsOTk5OOH/%2BPLp06YK3334bwP1wJhKJAPBGqqbiEiQRERG12DfffINPP/0Un376aaPv/0iN4w45IiIiapEffvgBe/bsQWxsLMNXM3EGjIiIiFqkuLgYCoUCnp6exm7F7DCAERERERkYlyCJiIiIDIwBjIiIiMjAGMCIiIiIDIwBjIiIiMjAGMCIiIiIDIwBjIiIiMjAGMCIyCgOHjyIgIAA/Prrr81%2BrlQqxZYtW5CSktIKnelfbm4uAgICcPDgwSbV//zzz%2BjTpw/y8vK010aOHInXXnuttVpsNRUVFQgJCcGJEyeM3QqRSWEAIyKzI5VK8fHHH%2BPChQvGbkXv1Go11qxZgylTpsDHx8fY7TwxZ2dn/OlPf8KGDRsgk8mM3Q6RyWAAIyL6jVwuh0KhMGoPZ8%2BexdWrVzF9%2BnSj9vE4Uqm0ybVRUVHIy8vDsWPHWrEjIvPCAEZEJmPZsmXo378/7ty5g3nz5qF///4IDw/HunXrtLMnubm5CAsLAwB8/PHHCAgIQEBAAJYtW6YdJysrC0uWLEFYWBj69OmDsWPHYs%2BePTqvlZKSgoCAABw%2BfBjr1q3DsGHDEBQUhLS0NAQEBGD//v0N%2BktMTERAQABOnjwJALhz5w7efvttPPfccwgODsawYcMwf/583Lx5s8Vfg7179yIoKAjdunVr9PGzZ89i0qRJ6Nu3L55//nl8/fXXDWpu3bqF6OhoDBw4EEFBQZgwYQIOHTqkU6NZAs7NzdW5rvm6PLi8O2PGDEREROCnn35CVFQUgoODsXz5cgDA%2BfPnMWPGDISGhqJv374YMWIEFi9erBPQOnTogCFDhmDfvn0t/roQWRprYzdARPQguVyO6OhovPjii5gzZw5%2B%2BuknbNu2DY6Ojli0aBE8PDywa9cuvPLKK3jxxRfx0ksvAQBcXV0BAGlpaYiKioKXlxfeeustuLu747///S9iYmJQVlaGRYsW6bxebGws%2BvXrh/fffx9WVlbw9PREYGAgDh48qB1b49ChQ3Bzc0N4eDgAoLCwEC4uLliyZAlcXV1RUVGBQ4cOYcqUKTh06NBDQ9TDyGQynD9//qGzXzdu3MD69esxb948dOjQAfv378eKFSvQpUsXDBw4EACQkZGBqKgouLm5YcWKFWjfvj2OHDmCZcuWobi4GPPmzWtWTxpFRUV488038corr%2BCvf/0rrKyskJubi9deew0hISH4%2B9//DrFYjIKCAiQlJUEul8Pe3l77/EGDBiE2NhYSiQRisbhFPRBZEgYwIjIpcrkcixcvxtixYwEAYWFhuHLlChISErBo0SKIRCL07t0bAODp6Yl%2B/frpPH/t2rVwcHDA3r174ejoCAD4v//7P8hkMuzYsQMzZsyAs7Oztt7X1xebN2/WGeOFF15ATEwMMjMz4efnB%2BD%2BZvKTJ09i%2BvTpsLa%2B/1fnwIEDtcEHAJRKJcLDwxEREYEvv/wSb7/9drM%2B9xs3bqC2tlb7%2BdVXVlaGvXv3wtvbW/v6ycnJ%2BPbbb7V9fPzxx5DL5fj888/h5eUFAAgPD4dEIsHWrVsRFRUFJyenZvUFAOXl5di4caN29hEAjh07hrq6Ovztb3/DU089pb0eGRnZ4Pm9e/eGSqXCL7/8guHDhzf79YksDZcgicikCAQCjBw5UudaQEAA7t69%2B9jn1tXVITk5GaNHj4adnR0UCoX2v%2BHDh6Ourg6//PKLznOee%2B65BuNERkZCJBLpLNslJCRAJpPhhRde0F5TKBTYvn07xo0bhz59%2BiAwMBB9%2BvRBVlYW0tPTm/upo7CwEMDvs3n19erVSxu%2BAMDW1hZdu3bV%2BdokJycjLCxMG740Jk2aBKlUikuXLjW7L%2BD%2BZvoHw5emHxsbG7zzzjs4dOgQcnJyHvp8zedUUFDQotcnsjScASMik2Jvbw9bW1udayKRCHV1dY99bnl5ORQKBb744gt88cUXjdaUlZXpfOzu7t6gxsXFBSNHjsThw4fx5z//GUKhEIcOHULfvn3Ro0cPbd26deuwZ88ezJs3DwMHDoSzszMEAgFWrlzZpH7rq62tBYAGn/%2BDfdVX/2tTXl7e6Ofk4eGhfbwlGhvT19cXn332GXbt2oXVq1ejpqYGnTt3xowZMzBr1iydWs3n1JKvC5ElYgAjIoshFoshFAoxYcIEvPzyy43WdOrUSedjgUDQaN0LL7yA77//HufOnYO3tzd%2B/fVXvPfeezo1R44cwcSJE/HGG2/oXC8rK2vRPqf27dsDuL/c2VIuLi4oKipqcF0zu6Z5DU0gqn80RP2AqvGwr1NISAhCQkKgVCpx5coVfPHFF1izZg06dOiA8ePHa%2Bs0n5Pm9YnaOgYwIjI7IpEIwO8zRhr29vYIDQ3FtWvXEBAQoK1riaFDh6Jjx444ePAgvLy8YGtri4iICJ0agUAAGxsbnWtnzpxBQUEBunTp0uzX9Pf3BwBkZ2e3uO%2BwsDAcP34cBQUF6Nixo/b6N998A3t7e%2B2eOc0ZYzdv3tS5WeDUqVMtel2hUIjg4GB069YN3377La5evaoTwDTLk5rPkaitYwAjIrPj6OgIHx8fnDx5EmFhYXB2dkb79u3RqVMnrFixAi%2B//DKmTZuGqVOnwsfHB9XV1cjOzsapU6fw%2BeefN%2Bk1hEIhJk6ciH/9619wdHTE6NGjG2xeHzFihPZux4CAAFy9ehXx8fHw9PRs0efl6emJzp074/Llyy16PgAsXLgQp0%2BfxsyZM7Fw4UI4Ozvj22%2B/xZkzZ/Dmm29qP4egoCD4%2Bflhw4YNUCqVEIvFOHHiBC5evNjk19q7dy%2BSk5MxYsQIeHl5oa6uDgcOHAAADBkyRKf28uXLcHFxQUBAQIs/NyJLwgBGRGbp73//OzZs2IDo6GjIZDJMmjQJ69atQ/fu3XHw4EFs27YNGzduRGlpKZycnNClSxft8RFN9cILL%2BDTTz9FaWkpJk%2Be3ODxFStWwNraGjt27EBNTQ0CAwOxZcsWbNq0qcWfV2RkJPbs2QOZTNaiGbxu3bph3759iI2NxerVq1FbWwt/f3%2BsXbtW5wYCoVCI7du344MPPsC7774LkUiE8ePHY9WqVXj11Veb9Fq9evXCuXPnsGXLFhQVFaFdu3bo2bMnPvnkEwwdOlRbp1arcerUKURGRj50KZOorRGo1Wq1sZsgIqL7CgoKMGrUKGzYsAHjxo0zdjt6cf78ecyZMwcJCQlcgiT6DY%2BhICIyIR07dsSsWbPwySefQKVSGbsdvdi2bRsmT57M8EX0AC5BEhGZmOjoaNjb26OgoKDBeV7mpqKiAoMGDXroXalEbRWXIImIiIgMjEuQRERERAbGAEZERERkYAxgRERERAbGAEZERERkYAxgRERERAbGAEZERERkYAxgRERERAbGAEZERERkYP8fdwJPO0fjmMoAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAmAAAAHUCAYAAACd2JQuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1iUZf4/8DeMjJgwKoaykvRVaGZFRg6pwKagEHmCVUO/Up6WCBOwzNTERLd1yUNbTJ4NpYOF2pc0UxbW1HKkdrFNsPLUL5AVRVRAYQBlBobn94fXPMswqDOIQM77dV1e7NzPZ%2B75zMg67%2B7nnmdsBEEQQERERETtxrajGyAiIiKyNgxgRERERO2MAYyIiIionTGAEREREbUzBjAiIiKidsYARkRERNTOGMCIiIiI2hkDGBEREVE7YwAjIiIiamcMYER3kZCQgCFDhkCj0dyxZuHChRg8eDDKy8sBAAqFAhs2bLD4sS5dugSFQoG9e/eKY3v37oVCocClS5csb/4%2BHT9%2BHAqFAsePH7f4vnl5ediwYcNdX7fWysrKwoQJEzBkyBAoFAqcPXu2zR%2BjLZnz%2B9DS331Hunr1KjZs2NDia5uYmAhfX98O6KrzOXDgAD766KMWj7X23wGyHgxgRHcxZcoUaLVaHDhwoMXj1dXVOHz4MEaNGoVHH30UAPDZZ59h6tSpbfL4o0aNwmeffYY%2Bffq0yXztJT8/Hxs3bmzzAHb9%2BnW8/vrr6N%2B/P7Zv347PPvsM//M//9Omj0HAtWvXsHHjxk4fbjtaZmYmduzY0eKxtvx3gB5OXTq6AaLOLCgoCH369MGePXswffp0k%2BOZmZmoq6vDlClTxDEfH582e3wnJyc4OTm12Xy/dUVFRaivr8cf//hHDB8%2B3OL719XVoWvXrrCxsXkA3dHDqK6uDvb29hbfry3/HaCHE1fAiO5CIpFg8uTJOH36NH755ReT43v37oWzszOCgoLEsZZOPfy///f/EBcXh2HDhkGpVGLixIn44osv7vn4LZ2CnDlzJsLDw/HTTz/h%2Beefh7e3N0JDQ5GamorGxsZ7zqlQKLBy5Urs3r0bY8aMgZeXF8aPH4%2B///3v97wvABw5cgTTpk2Dt7c3fH19ER0djfz8fPH4hg0b8PbbbwMAQkNDoVAozDqVea95ExMT8fzzzwMAFixYAIVCgZkzZ95xPsNr9%2B2332Lp0qUICAiAt7c3dDodAOA///kPFi5ciMDAQHh5eWHcuHFIT083mkOr1WLNmjWYOHEinnzySQwfPhzTpk3D4cOHTR6vpqYGSUlJ8Pf3h6%2BvL2JiYlBUVHSPV/PuzOnRcKo4MzMTKpUKI0aMgJ%2BfH/70pz/h/PnzRrWCIGDr1q0YPXo0lEolnn32WXz33XeYOXOm%2BFoeP35c/A%2BKpUuXin9/zX%2BnL1y4gNjYWPj6%2BiI4OBhr1qwRX1uDnTt34o9//CN8fX3h6%2BuLsWPHIiUl5Z7Pu7KyEm%2B%2B%2BSZGjhwJLy8vhIaGQqVSGc0/adIk8fehKb1ej5EjR2LevHnimE6nw%2BbNmzF27Fh4eXkhICAAS5cuxfXr143uGxISgpdeeglfffUVJk2aBKVSiY0bN7bY48yZM3H06FGUlJSIr5FCoRCPN3/NDL%2BP//rXv8TfEz8/P7z%2B%2Buu4efMmysrKMH/%2BfAwdOhQjRozA2rVrUV9fb/SY5j4P%2Bm3gChjRPURGRiI1NRV79uzBG2%2B8IY4XFBTgp59%2Bwpw5cyCRSO54//PnzyMqKgq9e/fGsmXL0KtXL%2Bzfvx%2BJiYkoLy9HbGysxT2VlZVh8eLFiI6Oxrx583Do0CG8%2B%2B676NOnDyZNmnTP%2B3/99dc4fvw4XnnlFXTr1g07d%2B7Ea6%2B9BolEgrFjx97xfgcOHMCiRYswYsQIvPvuu9DpdNi%2BfTtmzpyJjz76CEOHDsXUqVNRVVWFTz75BBs3boSzszMAwMPD477mjY%2BPh1KpxMqVK/Haa6/B398fDg4O93yub7zxBkaNGoW3334bt27dQpcuXVBQUICoqCj87ne/w5IlS%2BDs7Ixvv/0WycnJuHHjhvjmrdPpUFVVhRdeeAF9%2B/ZFfX09/vnPf%2BLll1/G6tWrxddaEATEx8cjPz8fCQkJUCqVyMvLa9XfrYG5PRqkpKTAz88Pb731FmpqavDOO%2B8gLi4OWVlZ4u%2BnSqXC%2B%2B%2B/j2nTpiEsLAxXrlxBUlIS6uvrMWDAAADA4MGDsXr1aixduhRxcXEYNWoUAMDFxUV8rPr6esTFxWHKlCl44YUX8O9//xubN2%2BGg4OD2Nff//53/OUvf8HMmTOxZMkS2Nra4sKFCygoKLjr89ZqtZg1axYuXryIl19%2BGQqFAj/88ANSU1Nx9uxZpKamAgCeffZZvPXWW/jPf/5jdBr622%2B/xbVr1/Dss88CABobGxEfH48TJ04gJiYGfn5%2BKCkpwYYNG/DTTz9hz549Ritcp0%2BfRmFhIeLi4vDYY4%2BhW7duLfb55z//GcuXL8fFixfvGNJakpSUhGeeeQYpKSk4c%2BYMVCoV9Ho9ioqKEBYWhmnTpuGf//wntm3bhj59%2BiA6OrpVz4N%2BAwQiuqcZM2YI/v7%2Bgk6nE8fWrFkjyOVyoaioyKhWLpcL69evF28vWLBA8PLyEi5fvmxU9%2BKLLwre3t6CRqMRBEEQLl68KMjlcmHPnj1izZ49ewS5XC5cvHjRqBe5XC78%2BOOPRvONHz9eeOGFF%2B75XORyuTBkyBChrKxMHGtoaBDGjh0rhIWFiWO5ubmCXC4XcnNzBUEQBL1eL4wYMUIIDw8X9Hq9WFdTUyMEBgYK06ZNE8e2b99u0vedWDKvoafs7Ox7zmt47V5//XWTYy%2B88IIQFBQkVFdXG42vXLlSUCqVQmVlZYtzNjQ0CPX19cIbb7whTJo0SRxXq9WCXC4XPv74Y6P6LVu2mPw%2BtKSlv3tzezS8JrGxsUZ1WVlZglwuF/Lz8wVBEITKykrBy8tLePXVV43q8vPzBblcLsyYMUMc%2B%2Bmnn0z6MViyZIkgl8uFrKwso/HY2FhhzJgxRn0OHTr0rs%2B7Jbt27Wpx/tTUVEEulwvffvutIAiCcP36dWHw4MFCSkqKUd38%2BfOFP/zhD0J9fb0gCIKQmZkpyOVy4eDBg0Z1hueYnp4ujo0ePVoYNGiQcP78ebN6nTNnjjB69OgWjzX/ezf8Pv71r381qouPjxfkcrnw4YcfGo1PnDhRmDx5snjbkudBvw08BUlkhsjISNy4cQNff/01AKChoQH79%2B/H0KFD77kJPDc3F4GBgfjd735nND558mTcunXL6DSbuZydnTFkyBCjMYVCgcuXL5t1/8DAQPFDA8DtU63jx4/HhQsXcOXKlRbvU1RUhGvXrmHixImwtf3vPx3du3fHM888gx9//BG3bt2y%2BLk8qHkNnnnmGaPbWq0Wubm5CAsLg729PRoaGsQ/QUFB0Gq1OHnypFifnZ2NqKgo%2BPr6wtPTE4MHD8bnn3%2BOwsJCscZwejUiIsLoscLDw1vVs6U9ArdPnzVlOB1m%2BJ04efIkdDodxo0bZ1Tn4%2BMDV1dXi/qzsbFp8fGa/v4plUpoNBq89tprOHz4sNmnyXJzc/HII4%2BYrMQaVrT%2B9a9/AQB69eqFkJAQfPHFF%2BKp96qqKhw5cgQTJ05Ely63T/B88803kMlkGD16tNHrOGjQIDg7O%2BP77783eR6G1cAHwbCiaODu7g4ACA4ONhkvKSkRb1v6PKjz4ylIIjOMHTsWycnJ2Lt3L8aMGQO1Wo3y8nIsWrTonvetrKwUT8M1ZfhkY2VlpcX99OzZ02RMKpVCq9Wadf%2Bm4av5WGVlpdHpJoMbN24AwB2fS2NjIzQazR1P2dzJg5rXoPm8lZWVaGhowCeffIJPPvnkrj199dVXePXVVzF27Fi8%2BOKLePTRRyGRSLBr1y7s2bPHaM4uXbqgV69ed31sc1nSo0Hz3wmpVArg9iZyw5wA0Lt3b5O5Wvp9uJtu3bqha9euJo/X9Pdv0qRJ0Ov1yMjIwCuvvILGxkYolUq8%2BuqreOqpp%2B44d2VlJR599FGTD0r07t0bXbp0Mfr/S2RkJA4ePIjvvvsOI0eORGZmJnQ6nRjWAKCiogIajQZeXl4tPl7z17G1f2fm6tGjh9FtOzu7O4433fNm6fOgzo8BjMgM9vb2mDBhAjIyMnDt2jXs2bMH3bt3v%2Bt%2BKYOePXuirKzMZPzatWsAYPKm3R4M1yxraaylcAf8t887PRdbW1vIZDKLe3lQ8xo0fyOXyWSQSCSYOHFii5u4AeCxxx4DAOzfvx%2BPPfYY3nvvPaN5Pv74Y6P6nj17oqGhATdu3DD6%2B2zpOZnDkh7NZfh7raioMDlWXl5u8SqYOSIjIxEZGYmbN2/i3//%2BNzZs2ICXXnoJBw8evOPj9ezZEz/%2B%2BCMEQTB6zSsqKtDQ0GD0%2Bo4YMQJ9%2BvTB3r17MXLkSOzduxfe3t5G%2Bw179eqFnj17Yvv27S0%2BXvfu3Y1ud9ZPyFr6PKjz4ylIIjNNmTIFer0eaWlpOHbsGCZMmGDWqkxgYCByc3Nx9epVo/Evv/wS3bp165CPq//rX/8yCmF6vR5ZWVlwc3NrcfULAAYMGIC%2BffsiMzMTgiCI4zdv3sRXX30FHx8f8fUwrL6YsyJnybxtoVu3bvD398eZM2egUCigVCpN/hje5G1sbGBnZ2f0plxWVoYjR44Yzenv7w8AJteLy8zMfOA9msvb2xtSqRRZWVlG4ydPnjQ61QWYrp7dr0ceeQTBwcGYO3cu6uvr77oRPzAwEDdv3jT5pOm%2BffvE4waGkHr48GH88MMPOHXqFCIjI43uN2rUKFRWVoorcM3/DBw4sNXPSyqVttlrdC8P8nlQx%2BAKGJGZlEolFAoFPv74YwiCYHTtr7tJSEjAN998g1mzZiEhIQE9evTAgQMHcPToUSxevBiOjo4PuHNTvXr1wuzZsxEfHy9%2BCvL8%2BfNQqVR3vI%2BtrS0WL16MRYsW4aWXXsK0adOg0%2BmQlpYGjUaDhQsXirVyuRzA7ZWiyZMno0uXLhgwYECLn1q0ZN62smzZMjz//POYPn06nnvuObi6uqK2thbFxcX4%2BuuvxYtrjho1Cl999RXefPNNjBkzBleuXMHmzZvRp08f/Oc//xHnGzFiBIYNG4a//e1vuHXrFry8vJCXl4cvv/zygfdorp49eyI6Ohrvv/8%2BZDKZ%2BCnITZs2wdnZ2Shkurm5wd7eHgcOHIC7uzseeeQR9OnTB3379jX78ZKSkmBvbw8/Pz84OzujrKwMqampcHR0hFKpvOP9Jk2ahPT0dCxZsgQlJSWQy%2BU4ceIE3n//fQQHB%2BMPf/iDUX1kZCS2bduGhQsXwt7eHuPHjzc6PmHCBBw4cABz5szBzJkzMWTIENjZ2eHKlSs4fvw4QkNDERYWZvbzakoul%2BOrr77Czp074eXlBRsbm7s%2Bt/vxIJ8HdQwGMCILTJkyBW%2B99RY8PDzg7e1t1n0GDhyI3bt3IyUlBStXrkRdXR3c3d2xevVqo70q7SkkJAQeHh547733UFpaiv79%2B%2BOdd94xefNqLiIiAt26dUNqaioWLFgAiUQCb29v7NixA35%2BfmKdv78/XnrpJXzxxRfIyMhAY2MjduzYIa4UtXbetuLh4YG9e/di8%2BbNeO%2B993D9%2BnU4Ojri8ccfN9oMHRkZiYqKCuzevRt79uxB//79MWfOHFy5csXo0gO2trbYsmULVq9eje3bt6O%2Bvh5%2Bfn5ITU012fTe1j1aYsGCBejWrRt2796NvXv3YuDAgXjzzTehUqmMTvN269YNq1atwsaNGxETE4P6%2BnrMmzcPL7/8stmPNXToUOzduxfZ2dmoqqpCr1698OSTT2Lt2rV3vbhw165dsWPHDqhUKmzfvh03btxA37598cILL5hcegO4vYLq6%2BuL/Px8REREmPwHjUQiwZYtW7Bjxw58%2BeWXSE1NhUQigYuLC4YNGyb%2Bx0JrzJo1C7/%2B%2BitUKhWqq6shCEKL1wtsCw/yeVDHsBGarvkT0UNPoVBg%2BvTpWLFiRUe3Qp3AxYsXMW7cOMybNw9z587t6HaIrAZXwIiIrMS5c%2BeQmZkJX19fODg4oKioCNu3b4eDg4PZp9SJqG0wgBERWYlu3brh1KlT%2BPzzz1FdXQ0HBwf4%2B/vj1VdftfhSFER0f3gKkoiIiKid8TIURERERO2MAYyIiIionTGAEREREbUzbsLvhIYOHQqdTvfAv5OMiIiI2k5ZWRmkUil%2B%2BOGHe9YygHVCWq0Wer2%2Bo9sgIiIiCzQ0NMDczzYygHVCffr0AQCT75sjIiKizis0NNTsWu4BIyIiImpnDGBERERE7YwBjIiIiKidMYARERERtbNOFcBqa2sRFBQEhUKBn3/%2B2eiYWq3GpEmToFQqERYWhvT09BbnSEtLQ0hICJRKJSIjI3H8%2BHGTmpqaGqxYsQL%2B/v7w9fXF3LlzUVJSYlJXVFSEmJgY%2BPj4IDAwEMnJyairqzOpM7c3IiIiIqCTBbDNmze3ePmF/Px8xMfHw9PTE9u2bcPkyZORnJyMjIwMo7q0tDSoVCpMnz4dqampePzxxxEbG4tffvnFqG7hwoX4%2BuuvsXz5cqhUKly7dg3R0dFG4Uqj0WD27Nmora3F%2BvXrsWTJEhw4cABJSUmt6o2IiIhIJHQSBQUFgo%2BPj7Br1y5BLpcLP/30k3gsJiZGmDJlilF9UlKS8NRTTwl6vV4QBEHQarXCk08%2BKaxdu1asaWhoEMaNGye8%2Buqr4tjJkycFuVwuHD16VBwrKSkRPD09hZ07d4pj77//vuDt7S1UVFSIY/v37xfkcrlQUFBgUW%2BWCgkJEUJCQlp1XyIiIuoYlrx/d5oVsLfeegtRUVEYMGCA0bhOp0Nubi4mTJhgNB4REYGysjKcOXMGAJCXl4fq6mqEh4eLNRKJBOPHj4darRYvjKZWqyGTyRAUFCTW9evXD35%2BflCr1eLYsWPHEBgYCCcnJ3FszJgxkEqlYp25vRERERE11SkC2D/%2B8Q%2BcO3cOCQkJJseKi4tRX1%2BPgQMHGo17eHgAAAoLC41%2BNq9zd3dHbW0trl69KtYNGDAANjY2JvMZ5jDUubu7G9VIpVK4ubmJdeb2RkRERNRUhwewW7duYc2aNXjttdfg4OBgcryqqgoAIJPJjMYNtw3HNRoNpFIp7O3tjep69OgBAKisrBTrHB0dTR5HJpOJcxnqmj9m8zpzeyMiIiJqqsMD2JYtW9C7d288%2B%2Byzd61rvmLV0nhLNYZTj/equ9t48/ma193PfERERGR9OjSAlZSU4IMPPsArr7yCmpoaaDQa3Lx5EwBw8%2BZN1NbWiitYzVeTNBoNgP%2BuNslkMmi1Wmi12hbrDPPIZDJxrHld05WsO9VVV1eLdeb2RkRERNRUhwawS5cuob6%2BHnPmzMGwYcMwbNgwzJ07FwAwa9YsREdHw83NDXZ2djh//rzRfQsKCgBA3Kdl%2BNl831VhYSG6d%2B%2BOvn37inVFRUUm31ZeUFBgtOfL3d3dZC6dTofi4mKxztzeiIiIiJrq0AA2aNAg7Nixw%2BjP0qVLAQB/%2Bctf8Oc//xlSqRQBAQHIzs42um9mZiacnZ3h6ekJAPDz84OjoyOysrLEGr1ej%2BzsbAQHB4unA4ODg6HRaJCTkyPWlZaWIi8vD8HBweJYUFAQcnNzcePGDXHs0KFD0Ol0Yp25vRERERE11aUjH1wmk8Hf37/FY4MHD8bgwYMBAAkJCZgxYwaSkpIQERGBvLw8ZGRkYOXKlbC1vZ0hpVIp4uLioFKp4OTkBE9PT2RkZODixYtISUkR5/X29saoUaOwbNkyJCYmwsHBAevWrYOrqysmT54s1kVFReHTTz9FfHw84uPjUVFRgTVr1iAiIsJoZcuc3sh8jY2NfN2IiOih16EBzFy%2Bvr7YvHkzUlJSsG/fPri4uCApKQlTp041qnvhhRcgCAI%2B%2BeQTlJeXQy6XIzU1FQqFwqju3Xffxdq1a/GXv/wF9fX18Pf3x4YNG4w%2BQSmTyfDxxx8jOTkZL7/8Muzt7REeHo5Fixa1qjcyT9mNWvTtbfopVSIiooeJjdB8MxR1uNDQUADAkSNHOriT9ne1opoBjIiIfpMsef/muR4iIiKidsYARkRERNTOGMCoU%2BHFa4mIyBowgBERERG1MwYwIiIionbGAEadCs9AEhGRNWAAIyIiImpnDGBERERE7YwBjDoVG/AcJBERPfwYwKhT4R4wIiKyBgxgRERERO2MAYyIiIionTGAUafCK%2BETEZE1YAAjIiIiamcMYERERETtjAGMOhWegiQiImvAAEZERETUzhjAiIiIiNoZAxgRERFRO2MAIyIiImpnDGBERERE7YwBjDoXQejoDoiIiB44BjDqVBi/iIjIGjCAEREREbUzBjAiIiKidsYARp2KwD1gRERkBRjAqFNh/iIiImvAAEadisBt%2BEREZAUYwKhT4QoYERFZgw4PYDk5OZgxYwYCAgLg5eWF0NBQrF69GtXV1WJNYmIiFAqFyZ9jx46ZzJeWloaQkBAolUpERkbi%2BPHjJjU1NTVYsWIF/P394evri7lz56KkpMSkrqioCDExMfDx8UFgYCCSk5NRV1dnUqdWqzFp0iQolUqEhYUhPT39Pl8VIiIieph16egGqqqq4Ovri9mzZ0Mmk%2BHXX3/Fhg0b8Ouvv%2BKDDz4Q6/r374933nnH6L7u7u5Gt9PS0qBSqbBgwQJ4enoiIyMDsbGxyMjIgEKhEOsWLlyI06dPY/ny5XBwcMD69esRHR2N/fv3w97eHgCg0Wgwe/Zs9OvXD%2BvXr8f169exevVqVFZWGvWRn5%2BP%2BPh4TJw4EYmJicjLy0NycjKkUimmTp36IF6yhxo34RMRkTXo8AAWHh6O8PBw8ba/vz%2BkUimWL1%2BOq1evom/fvgAAe3t7%2BPj43HEenU6HLVu2YNasWYiJiQEADB8%2BHBEREdi6dStUKhUA4Mcff8TRo0eRmpqK4OBgAIBcLkdYWBi%2B%2BOILPPfccwCA3bt3Q6PRYN%2B%2BfXBycgIASCQSLFq0CHFxcWL427RpEzw9PbFq1SoAQEBAAEpLS7Fu3TpERkbC1rbDFxl/U5i/iIjIGnTKdNCzZ08AQENDg9n3ycvLQ3V1tVGYk0gkGD9%2BPNRqtbiyolarIZPJEBQUJNb169cPfn5%2BUKvV4tixY8cQGBgohi8AGDNmDKRSqVin0%2BmQm5uLCRMmGPUSERGBsrIynDlzxoJnTQBXwIiIyDp0mgCm1%2Buh1Wpx%2BvRpbNq0CaNHj4arq6t4vLi4GEOHDoWXlxeeffZZHD582Oj%2BhYWFAICBAwcajbu7u6O2thZXr14V6wYMGAAbGxujOg8PD3EOQ13zU5xSqRRubm5iXXFxMerr600e08PDw6gnIiIioqY6/BSkwejRo8WQNHLkSKSkpIjHBg0aBKVSCQ8PD1RXV2PXrl1ISEjAunXrMHbsWAC392xJpVJxD5dBjx49AACVlZVwcXGBRqOBo6OjyePLZDJUVVWJtzUaDWQy2V3rDD%2Bb1xluN52PzNPIFTAiIrICnSaApaam4ubNmygoKMDmzZsxd%2B5cfPjhh5BIJJg9e7ZRbUhICKKiorB%2B/XoxgAEwWdUC/ntKq%2BmxluruNt58vuZ19zMfGRMaGcCIiOjh12lOQf7%2B97%2BHn58f/vd//xcbN27E8ePHcejQoRZrbW1t8cwzz6CwsFC8LIRMJoNWq4VWqzWq1Wg0AP67EiaTycSx5nVNV7LuVFddXS3WGeZsvtJluF9LK2h0d4xfRERkDTpNAGtq0KBBkEgkKC4uvmNN883ahv1azfddFRYWonv37uKnKd3d3VFUVGRy/4KCAqM9X%2B7u7iZz6XQ6FBcXi3Vubm6ws7PD%2BfPnTeZq2hOZj5vwiYjIGnTKAJafnw%2B9Xo/HHnusxeONjY04ePAgnnjiCXHPl5%2BfHxwdHZGVlSXW6fV6ZGdnIzg4WDwdGBwcDI1Gg5ycHLGutLQUeXl54mUpACAoKAi5ubm4ceOGOHbo0CHodDqxTiqVIiAgANnZ2Ub9ZWZmwtnZGZ6envf5ShAREdHDqMP3gM2bNw9eXl5QKBSwt7fHuXPnsH37digUCjz99NMoKSlBYmIiwsPD4ebmhqqqKuzatQunTp3Chg0bxHmkUini4uKgUqng5OQkXoj14sWLRhv6vb29MWrUKCxbtgyJiYlwcHDAunXr4OrqismTJ4t1UVFR%2BPTTTxEfH4/4%2BHhUVFRgzZo1iIiIMFrZSkhIwIwZM5CUlISIiAjk5eUhIyMDK1eu5DXAWoGb8ImIyBrYCB18zic1NRVZWVkoLi6GIAhwdXVFWFgYYmJi4ODggMrKSixduhSnT5/G9evXYWdnBy8vL8yZMwcjR440mksQBKSlpSE9PR3l5eWQy%2BVYvHgxAgICjOpqamqwdu1aHDx4EPX19fD398fy5cuNLnsB3P4qouTkZJw4cQL29vYIDw/HokWLTD5pqVarkZKSgsLCQri4uCA6OhrTp09v9WsSGhoKADhy5Eir5/itKrp0HQMec7p3IRERUSdjyft3hwcwMmXNAez8pQoMfKx3R7dBRERkMUvev3mOjDoV/ucAERFZAwYwIiIionbGAEZERETUzhjAqFPhlkQiIrIGDGBERERE7YwBjIiIiKidMYBRp8IzkEREZA0YwIiIiIjaGQMYERERUTtjACMiIiJqZwxgRERERO2MAYyIiIionTGAEREREbUzBjAiIiKidsYARp2KjU1Hd0BERPTgMYARERERtTMGMOpUbLgERkREVoABjDoVxi8iIrIGDGDUqXAFjIiIrAEDGHUqzF9ERGQNGMCoc2EAIyIiK8AARp2KLZfAiIjICjCAUafCPWBERGQNGMCoU2H8IiIia8AARp2KjS0jGBERPfwYwKhTseEaGBERWQEGMOpUuAWMiIisAQMYdSrchE9ERNaAAYw6FVvuASMiIivAAEadCq8DRkRE1qDDA1hOTg5mzJiBgIAAeHl5ITQ0FKtXr0Z1dbVRnVqtxqRJk6BUKhEWFob09PQW50tLS0NISAiUSiUiIyNx/Phxk5qamhqsWLEC/v7%2B8PX1xdy5c1FSUmJSV1RUhJiYGPj4%2BPoC2WIAACAASURBVCAwMBDJycmoq6szqTO3N7o35i8iIrIGHR7Aqqqq4Ovri7/%2B9a9IS0tDdHQ09u3bh/nz54s1%2Bfn5iI%2BPh6enJ7Zt24bJkycjOTkZGRkZRnOlpaVBpVJh%2BvTpSE1NxeOPP47Y2Fj88ssvRnULFy7E119/jeXLl0OlUuHatWuIjo42ClcajQazZ89GbW0t1q9fjyVLluDAgQNISkoymsvc3sg8XAEjIiKrIHRCn332mSCXy4UrV64IgiAIMTExwpQpU4xqkpKShKeeekrQ6/WCIAiCVqsVnnzySWHt2rViTUNDgzBu3Djh1VdfFcdOnjwpyOVy4ejRo%2BJYSUmJ4OnpKezcuVMce//99wVvb2%2BhoqJCHNu/f78gl8uFgoICccyc3iwVEhIihISEtOq%2Bv3U3NDc7ugUiIqJWseT9u8NXwFrSs2dPAEBDQwN0Oh1yc3MxYcIEo5qIiAiUlZXhzJkzAIC8vDxUV1cjPDxcrJFIJBg/fjzUajUEQQBw%2B3ShTCZDUFCQWNevXz/4%2BflBrVaLY8eOHUNgYCCcnJzEsTFjxkAqlYp15vZG5uP6FxERWYNOE8D0ej20Wi1Onz6NTZs2YfTo0XB1dUVxcTHq6%2BsxcOBAo3oPDw8AQGFhodHP5nXu7u6ora3F1atXxboBAwaYXO7Aw8NDnMNQ5%2B7ublQjlUrh5uYm1pnbG5mPl6EgIiJr0KWjGzAYPXq0GJJGjhyJlJQUALf3iAGATCYzqjfcNhzXaDSQSqWwt7c3quvRowcAoLKyEi4uLtBoNHB0dDR5fJlMJs5lmK/5YzavM7c3sgDzFxERWYFOE8BSU1Nx8%2BZNFBQUYPPmzZg7dy4%2B/PBD8fidVkaajrdUYzj1eK%2B6u403n6953f3MR8a4CZ%2BIiKxBpwlgv//97wEAfn5%2B8PT0RGRkJA4dOiSezmu%2BmqTRaAD8d7VJJpNBq9VCq9Wia9euJnWGlTCZTIbS0lKTx2%2B%2B4iWTycT7NlVdXS2emjTMea/eyHwMrUREZA06zR6wpgYNGgSJRILi4mK4ubnBzs4O58%2BfN6opKCgAADEMGX4233dVWFiI7t27o2/fvmJdUVGRuDLWdL6me77c3d1N5tLpdCguLhbrzO2NzMf4RURE1qBTBrD8/Hzo9Xo89thjkEqlCAgIQHZ2tlFNZmYmnJ2d4enpCeD2ypmjoyOysrLEGr1ej%2BzsbAQHB4srK8HBwdBoNMjJyRHrSktLkZeXh%2BDgYHEsKCgIubm5uHHjhjh26NAh6HQ6sc7c3sgCXAEjIiIrIHnzzTff7MgG5s2bh%2BLiYlRXV%2BPKlSs4fPgwVq1ahf79%2ByMxMRESiQT9%2B/fH1q1bUVpaiu7du%2BPAgQP48MMPsXTpUnh5ed1%2BIhIJJBIJtm7dCnt7e2i1Wqxbtw75%2Bfl4%2B%2B238eijjwIAXFxccOrUKXz22Wfo27cvSktLsWLFCtjb22PlypXo0uX2WdknnngCe/bsQU5ODvr27Yv8/HysWrUKYWFhiIqKEvs3pzdL7dixAwAwe/bs%2B3lpf5MaGhph10XS0W0QERFZzJL3bxuh%2Bbm4dpaamoqsrCwUFxdDEAS4uroiLCwMMTExcHBwEOvUajVSUlJQWFgIFxcXREdHY/r06UZzCYKAtLQ0pKeno7y8HHK5HIsXL0ZAQIBRXU1NDdauXYuDBw%2Bivr4e/v7%2BWL58OVxdXY3qioqKkJycjBMnTsDe3h7h4eFYtGiRySctzenNEqGhoQCAI0eOtHqO36o6XQPspZ1mayIREZHZLHn/7vAARqasOYBpdQ3oygBGRES/QZa8f3fKPWBkvbgFjIiIrAEDGHUyTGBERPTwYwCjToUrYEREZA0YwIiIiIjaGQMYERERUTtjAKNOhV9FRERE1oABjIiIiKidMYARERERtTMGMOpUbHkGkoiIrAADGBEREVE7YwAjIiIiamcMYERERETtjAGMOhluAiMioocfAxgRERFRO2MAo05G6OgGiIiIHjgGMCIiIqJ2xgBGRERE1M4YwIiIiIjaGQMYdSoCt4AREZEVYAAjIiIiamcMYERERETtjAGMOhWegSQiImvAAEZERETUzhjAqHPhLnwiIrICDGDUqTQyfxERkRVgAKNOhgmMiIgefgxg1KnwDCQREVkDBjDqVJi/iIjIGjCAUacicBMYERFZAQYwIiIionbW4QEsOzsb8fHxCA4Oho%2BPDyIiIrBz5040NjaKNYmJiVAoFCZ/jh07ZjJfWloaQkJCoFQqERkZiePHj5vU1NTUYMWKFfD394evry/mzp2LkpISk7qioiLExMTAx8cHgYGBSE5ORl1dnUmdWq3GpEmToFQqERYWhvT09Pt8VawX17%2BIiMgadOnoBj788EP069cPr7/%2BOnr37o3jx4/jrbfewsWLF7FkyRKxrn///njnnXeM7uvu7m50Oy0tDSqVCgsWLICnpycyMjIQGxuLjIwMKBQKsW7hwoU4ffo0li9fDgcHB6xfvx7R0dHYv38/7O3tAQAajQazZ89Gv379sH79ely/fh2rV69GZWWlUR/5%2BfmIj4/HxIkTkZiYiLy8PCQnJ0MqlWLq1KkP4iV7qAnchU9ERFagwwPY1q1b4eTkJN4OCAjAzZs3kZ6ejgULFkAqlQIA7O3t4ePjc8d5dDodtmzZglmzZiEmJgYAMHz4cERERGDr1q1QqVQAgB9//BFHjx5FamoqgoODAQByuRxhYWH44osv8NxzzwEAdu/eDY1Gg3379on9SSQSLFq0CHFxcWL427RpEzw9PbFq1Sqx/9LSUqxbtw6RkZGwte3wRcbfFAYwIiKyBq0KYJcuXUJ2djYuX75sckrOxsZGDCPmaBq%2BDAYNGgStVovKykr06dPHrHny8vJQXV2N8PBwcUwikWD8%2BPH44IMPIAgCbGxsoFarIZPJEBQUJNb169cPfn5%2BUKvVYgA7duwYAgMDjfobM2YM3njjDajVari7u0On0yE3NxeLFi0y6iUiIgL/93//hzNnzsDLy8vs14KARgYwIiKyAhYHsKNHj2LevHlobGyEk5OTuEJlYGNjc99NnThxAj179kTv3r3FseLiYgwdOhR1dXWQy%2BWIj4/H008/LR4vLCwEAAwcONBoLnd3d9TW1uLq1atwcXFBYWEhBgwYYNKnh4cHvv32W6P5IiMjjWqkUinc3NzExyouLkZ9fb3JY3p4eIhzMIBZhvmLiIisgcUBTKVSwc/PDyqVyiggtZWff/4Ze/fuRUJCAiQSCYDbK2JKpRIeHh6orq7Grl27kJCQgHXr1mHs2LEAbu/Zkkql4h4ugx49egAAKisr4eLiAo1GA0dHR5PHlclkqKqqEm9rNBrIZLK71hl%2BNq8z3G46H5mnUd947yIiIqLfOIsD2IULF7Bhw4YHEr7KysrwyiuvQKlUIjY2VhyfPXu2UV1ISAiioqKwfv16MYABLa%2B%2BGfYUNT12p1U6c1bvDKcyzblfW6wGWhteBoyIiKyBxTvE%2B/Xrh5s3b7Z5I9XV1YiNjYW9vT22bNkCOzu7O9ba2trimWeeQWFhobgHTSaTQavVQqvVGtVqNBoA/10Jk8lk4ljzuqYrWXeqq66uFusMczZf6TLcr6UVNLo7bsInIiJrYHEAe%2Bmll/DBBx/g1q1bbdaEVqtFXFwcysvLsX37dvTq1eue92n%2BRm34VKJhf5ZBYWEhunfvjr59%2B4p1RUVFJvcvKCgwuqyFu7u7yVw6nQ7FxcVinZubG%2Bzs7HD%2B/HmTuZr2ROZjACMiImtg1inI5ORko9vl5eUICwuDv79/i2EpKSnJ7AYaGhowf/58nDt3Dp9%2B%2BilcXV3veZ/GxkYcPHgQTzzxhLjny8/PD46OjsjKyoKnpycAQK/XIzs7G8HBweLpwODgYGzatAk5OTniJyFLS0uRl5dn1HdQUBC2bNmCGzduiM/x0KFD0Ol04uUrpFIpAgICkJ2djT/96U/ifTMzM%2BHs7Cz2QebjpyCJiMgamBXAPv300xbH//73v5uM2djYWBTAVq5ciW%2B%2B%2BQaLFy9GXV0dTp48KR7z8PBAVVUVEhMTER4eDjc3N1RVVWHXrl04deoUNmzYINZKpVLExcVBpVLByclJvBDrxYsXkZKSItZ5e3tj1KhRWLZsGRITE%2BHg4IB169bB1dUVkydPFuuioqLw6aefIj4%2BHvHx8aioqMCaNWsQERFhtLKVkJCAGTNmICkpCREREcjLy0NGRgZWrlzJa4C1QiM3gRERkRWwETr4nE9ISEiLXwMEADt27IBCocDSpUtx%2BvRpXL9%2BHXZ2dvDy8sKcOXMwcuRIo3pBEJCWlob09HSUl5dDLpdj8eLFCAgIMKqrqanB2rVrcfDgQdTX18Pf3x/Lly83WX0rKipCcnIyTpw4AXt7e4SHh2PRokUmn7RUq9VISUlBYWEhXFxcEB0djenTp7f6NQkNDQUAHDlypNVz/FaVXK2Ca98eHd0GERGRxSx5/7Y4gF2%2BfBnOzs4tbpJvaGjAtWvX0K9fP0umpGasOYBdvFKJ/i49O7oNIiIii1ny/m3xObLQ0FCcPXu2xWPnzp0TH5yoNbgJn4iIrIHFAexub5CNjY289hXdF27CJyIia9Bmu8R1Oh2OHTtm1iUkiO6Em/CJiMgamPUpyI0bN2LTpk0Abn/Kcdq0aXesnTp1att0RlaJAYyIiKyBWQFMqVTi%2BeefhyAI2LlzJ8aMGYNHH33UqEYqlUIulyM8PPyBNErWgWcgiYjIGpgVwIKDg8WLj966dQvx8fHo37//A22MrJO%2BkV/GTUREDz%2BLv4x79erVD6IPIgD8FCQREVkHiwPYvn377njMxsYGMpkMnp6e4ncvElmC%2BYuIiKyBxQEsMTFRvNRE09WKpmO2traYOHEi/vrXv6JLF4sfgqwYV8CIiMgaWJyOMjIysGDBAjz11FMIDw9H7969UV5ejszMTHz33Xd48803cfr0aWzatAmurq6YN2/eg%2BibHlL8FCQREVkDiwPYjh07EBYWhiVLlohjAwcOxPDhw7FmzRrs2bMH7733HqqqqnDgwAEGMLII4xcREVkDiy/EevToUZMvwTYICgrCt99%2BCwAICAjA5cuX7687sjo8BUlERNbA4gCm1%2BtRXFzc4rELFy6Ib6BSqRRSqfT%2BuiOrw1OQRERkDSwOYCNGjMB7772H7777zmg8JycH69atw1NPPQUAOH/%2BPFxdXdumSyIiIqKHiMV7wJYtW4aZM2fixRdfRPfu3dG7d29UVFSgtrYWbm5uWLZsmVg7e/bsNm2WHn48BUlERNbA4gDWt29ffPnll9i7dy9%2B%2BOEHVFZWwtPTE8OGDcPkyZPRrVs3AMD06dPbvFl6%2BDF/ERGRNWjVRbq6deuG6dOnM2QRERERtYLFe8CIiIiI6P5YvAJWX1%2BPbdu2ITMzE5cvX4ZWqzU6bmNjgzNnzrRZg0REREQPG4sDWEpKCj766CMEBQXh6aef5qUmiIiIiCxkcQDLzs5GQkICr3BPD4ZNRzdARET04Fm8B6yqqgpDhw59EL0QERERWQWLA9iwYcNw7ty5B9ELERERkVWwOIAlJSXh888/x1dffQWdTvcgeiIrZmvDc5BERPTws3gP2MSJE9HQ0ID58%2BfDxsYG9vb2RsdtbGxw4sSJNmuQiIiI6GFjcQAbM2YMbLhKQURERNRqFgewNWvWPIg%2BiIiIiKwGr4RPnYqtLVdXiYjo4deqAFZYWIjXXnsNI0aMgJeXF06fPg0A2LhxI3Jzc9u0QbIuPL1NRETWwOIAdvbsWUyZMgXff/89hg8fDr1eLx6rra3F7t27LZovOzsb8fHxCA4Oho%2BPDyIiIrBz5040NjYa1anVakyaNAlKpRJhYWFIT09vcb60tDSEhIRAqVQiMjISx48fN6mpqanBihUr4O/vD19fX8ydOxclJSUmdUVFRYiJiYGPjw8CAwORnJyMuro6kzpze6N7Y/4iIiJrYHEAe%2Bedd6BQKHDo0CG8/fbbEARBPDZkyBD8/PPPFs334YcfQiqV4vXXX8fWrVvx9NNP46233sLf/vY3sSY/Px/x8fHw9PTEtm3bMHnyZCQnJyMjI8NorrS0NKhUKkyfPh2pqal4/PHHERsbi19%2B%2BcWobuHChfj666%2BxfPlyqFQqXLt2DdHR0UbhSqPRYPbs2aitrcX69euxZMkSHDhwAElJSUZzmdsbmceGl8InIiJrIFjIx8dHOHTokCAIgtDQ0CAoFArh1KlTgiAIwvfffy8MGTLEovkqKipMxlatWiUolUpBq9UKgiAIMTExwpQpU4xqkpKShKeeekrQ6/WCIAiCVqsVnnzySWHt2rViTUNDgzBu3Djh1VdfFcdOnjwpyOVy4ejRo%2BJYSUmJ4OnpKezcuVMce//99wVvb2%2Bj/vbv3y/I5XKhoKBAHDOnN0uFhIQIISEhrbrvb92pX0s7ugUiIqJWseT9u1V7wOzs7Focr6qqsvjLuZ2cnEzGBg0aBK1Wi8rKSuh0OuTm5mLChAlGNRERESgrK8OZM2cAAHl5eaiurkZ4eLhYI5FIMH78eKjVanGlTq1WQyaTISgoSKzr168f/Pz8oFarxbFjx44hMDDQqL8xY8ZAKpWKdeb2RkRERNSUxQFMoVDg8OHDLR7LycnB4MGD77upEydOoGfPnujduzeKi4tRX1%2BPgQMHGtV4eHgAuP2BgKY/m9e5u7ujtrYWV69eFesGDBhgstnbw8NDnMNQ5%2B7ublQjlUrh5uYm1pnbG5mPn4IkIiJrYPF1wGbNmoWFCxeiW7dumDhxIgCgtLQUubm52LNnD9avX39fDf3888/Yu3cvEhISIJFIUFVVBQCQyWRGdYbbhuMajQZSqdTkyvw9evQAAFRWVsLFxQUajQaOjo4mjyuTycS5DPM1f8zmdeb2RubjpyCJiMgaWBzAxo8fj%2BLiYmzcuBGffPIJAODll1%2BGRCLBK6%2B8gpCQkFY3U1ZWhldeeQVKpRKxsbFGx%2B70xtx0vKUaw6nHe9Xdbbz5fM3r7mc%2BIiIisj4WBzAAmDt3LiZNmoScnBxUVFSgV69eGDFiBFxdXVvdSHV1NWJjY2Fvb48tW7aI%2B8wMK1jNV5M0Gg2A/642yWQyaLVaaLVadO3a1aTOMI9MJkNpaanJ4zdf8ZLJZOJ9m/dpODVpbm9kPn4ZNxERWYNWXwnfxcUFU6dOxdy5czFt2rT7Cl9arRZxcXEoLy/H9u3b0atXL/GYm5sb7OzscP78eaP7FBQUAIAYhgw/m%2B%2B7KiwsRPfu3dG3b1%2BxrqioyOjyGYb5mu75cnd3N5lLp9OhuLhYrDO3NzIfVw2JiMgadPhXETU0NGD%2B/Pk4d%2B4ctm/fbhLkpFIpAgICkJ2dbTSemZkJZ2dneHp6AgD8/Pzg6OiIrKwssUav1yM7OxvBwcHiG3twcDA0Gg1ycnLEutLSUuTl5SE4OFgcCwoKQm5uLm7cuCGOHTp0CDqdTqwztzcyH/MXERFZA7NOQf7%2B9783e2XCxsbGossvrFy5Et988w0WL16Muro6nDx5Ujzm4eEBBwcHJCQkYMaMGUhKSkJERATy8vKQkZGBlStXwtb2doaUSqWIi4uDSqWCk5MTPD09kZGRgYsXLyIlJUWc09vbG6NGjcKyZcuQmJgIBwcHrFu3Dq6urpg8ebJYFxUVhU8//RTx8fGIj49HRUUF1qxZg4iICKOVLXN6I/NxBYyIiKyBjdD8XFwLNmzYYNEb47x588yuDQkJafFrgABgx44d8Pf3B3D7%2Bl0pKSkoLCyEi4sLoqOjMX36dKN6QRCQlpaG9PR0lJeXQy6XY/HixQgICDCqq6mpwdq1a3Hw4EHU19fD398fy5cvN1l9KyoqQnJyMk6cOAF7e3uEh4dj0aJFJp%2B0NKc3S4SGhgIAjhw50uo5fquKLl3HgMdMrw1HRETU2Vny/m1WAKP2Zc0B7D%2BXr%2BN/%2BjGAERHRb48l7988R0adCr8LkoiIrAEDGHUq3AJGRETWgAGMOhVuwiciImvAAEadCgMYERFZAwYw6lSYv4iIyBowgFGnwq8iIiIia2DWhVgvX75s0aT9%2BvVrVTNEPAVJRETWwKwAFhISYtEb49mzZ1vdEFk35i8iIrIGZgWwVatWiQGsoaEBW7Zsgb29PcaPH49HH30UZWVlyMrKQl1dHeLj4x9ow/Rw4woYERFZA7MC2LPPPiv%2B75SUFLi7u%2BP99983%2Bq7DhIQEzJkzBxcuXGj7LomIiIgeIhZvwt%2B3bx%2Bef/55ky%2BatrW1xfPPP48vv/yyzZojIiIiehhZHMAqKytRV1fX4rG6ujpoNJr7boqsF09AEhGRNbA4gHl6emLz5s24fv260fj169exefNmDBo0qM2aIyvEBEZERFbArD1gTSUmJiI6OhqhoaEICAiAs7MzysrKkJubCwD48MMP27xJIiIiooeJxQHMx8cHn3/%2BOTZu3Ijvv/8elZWV6NmzJ0aPHo24uDg88cQTD6JPIiIiooeGxQEMANzd3aFSqdq6FyLY8BwkERFZAX4VEREREVE7a9UKWGVlJTIzM1FYWGjyiUgbGxusWrWqTZoj6yNA6OgWiIiIHjiLA9jly5cxZcoU3Lp1C3V1dejVqxeqqqqg1%2BvRo0cPODg4PIg%2BiYiIiB4aFp%2BCfPfdd%2BHh4YF//vOfEAQB27ZtQ35%2BPpYvXw6pVIrU1NQH0SdZCy6AERGRFbA4gOXn5%2BO5555D165dAQCCIEAqlWL69OmYMmUK3n777TZvkqxHo8AERkREDz%2BLA1hFRQWcnZ1ha2sLiUSCmpoa8djw4cNx4sSJNm2QrEtjIwMYERE9/CwOYL1790ZVVRUAwNXVFadOnRKPXbp0CRKJpO26IyIiInoItepCrGfPnkVoaCjCwsKwadMm6HQ62NnZIS0tDQEBAQ%2BiT7ISXAEjIiJrYHEAe%2BGFF1BSUgIASEhIQGFhITZs2ABBEDBs2DAsW7aszZsk68E9YEREZA0sDmBeXl7w8vICADzyyCPYunWruA%2BMl6Cg%2B8UVMCIisgatuhBrcwxe1Fb0jY0d3QIREdED16qvIiosLMRrr72GESNGwMvLC6dPnwYAbNy4Ebm5uW3aIFkXroAREZE1sDiAnT17FlOmTMH333%2BP4cOHQ6/Xi8dqa2uxe/fuNm2QrEuDnitgRET08LM4gL3zzjtQKBQ4dOgQ3n77bQhNNk0PGTIEP//8c5s2SNZFzwBGRERWwOIAlpeXhxdffBHdunWDjY2N0bFHH30U5eXlFs134cIFrFixAhMnToSnpyfCw8NNahITE6FQKEz%2BHDt2zKQ2LS0NISEhUCqViIyMxPHjx01qampqsGLFCvj7%2B8PX1xdz584VP9nZVFFREWJiYuDj44PAwEAkJyebfPk4AKjVakyaNAlKpRJhYWFIT0%2B36DWg/9LzFCQREVmBVm3Ct7Oza3G8qqoKUqnUorl%2B/fVXqNVqeHt7o7Gx0WhFran%2B/fvjnXfeMRpzd3c3up2WlgaVSoUFCxbA09MTGRkZiI2NRUZGBhQKhVi3cOFCnD59GsuXL4eDgwPWr1%2BP6Oho7N%2B/H/b29gAAjUaD2bNno1%2B/fli/fj2uX7%2BO1atXo7Ky0qiP/Px8xMfHY%2BLEiUhMTEReXh6Sk5MhlUoxdepUi14LAhoa9PcuIiIi%2Bo2zOIApFAocPnwYwcHBJsdycnIwePBgi%2BYLCQnB008/DeD2SlfTK%2Bs3ZW9vDx8fnzvOo9PpsGXLFsyaNQsxMTEAbn81UkREBLZu3QqVSgUA%2BPHHH3H06FGkpqaKz0EulyMsLAxffPEFnnvuOQDA7t27odFosG/fPjg5OQEAJBIJFi1ahLi4ODH8bdq0CZ6enli1ahUAICAgAKWlpVi3bh0iIyNha9uqzzlYLe4BIyIia2BxOpg1axY%2B//xzrFq1CufOnQMAlJaWIi0tDXv27MGsWbMsa6CNAkpeXh6qq6uNTmFKJBKMHz8earVaXFlTq9WQyWQICgoS6/r16wc/Pz%2Bo1Wpx7NixYwgMDBTDFwCMGTMGUqlUrNPpdMjNzcWECROMeomIiEBZWRnOnDnTJs/NmjCAERGRNbA4/YwfPx7z58/Hzp07MWXKFADAyy%2B/DJVKhVdeeQUhISFt3iQAFBcXY%2BjQofDy8sKzzz6Lw4cPGx0vLCwEAAwcONBo3N3dHbW1tbh69apYN2DAAJP9ax4eHuIchrrmpzilUinc3NzEuuLiYtTX15s8poeHh1FPZL6GBgYwIiJ6%2BLVqD9jcuXMxadIk5OTkoKKiAr169cKIESPg6ura1v0BAAYNGgSlUgkPDw9UV1dj165dSEhIwLp16zB27FgAt/dsSaVScQ%2BXQY8ePQAAlZWVcHFxgUajgaOjo8ljyGQy8UvGDfPJZLK71hl%2BNq8z3G46H5mnnnvAiIjICrT6SvguLi4tbjIXBMFkdel%2BzZ492%2Bh2SEgIoqKisH79ejGAAWjxcQ2nHpseu1N/5vTd0vO7n/nIGE9BEhGRNWjTHeL79%2B/HuHHj2nLKFtna2uKZZ55BYWGheFkImUwGrVYLrVZrVKvRaAD8dyVMJpOJY83rmq5k3amuurparDPM2Xyly3C/llbQ6O64AkZERNbA7ABWXV2NL774Atu2bcPhw4fR2OQ7%2B7766iuEh4fj9ddfh06neyCNNtf8chWG/VrN910VFhaie/fu6Nu3r1hXVFRkcv%2BCggKjPV/u7u4mc%2Bl0OhQXF4t1bm5usLOzw/nz503matoTmY8BjIiIrIFZAezChQsYN24c3njjDbz77rt4%2BeWX8ac//Qk1NTWYM2cO5s%2Bfj7KyMixevBj/%2BMc/HnTPaGxsxMGDB/HEE0%2BIe778/Pzg6OiIrKwssU6v1yM7OxvBwcHi6cDg4GBoNBrk5OSIdaWlpcjLyzO6tEZQUBByc3Nx48YNcezQoUPQ6XRinVQqRUBAALKzs436y8zMhLOzMzw9Pdv%2ByT/kAiZ81QAAIABJREFUGhoa%2BX2QRET00DNrD9i6detQU1ODefPmwcvLC5cuXcKWLVsQFRWFgoICTJ06FYsXL27VKbdbt26Jl3UoKSlBTU2NGOKGDx%2BOW7duITExEeHh4XBzc0NVVRV27dqFU6dOYcOGDeI8UqkUcXFxUKlUcHJyEi/EevHiRaSkpIh13t7eGDVqFJYtW4bExEQ4ODhg3bp1cHV1xeTJk8W6qKgofPrpp4iPj0d8fDwqKiqwZs0aREREGK1sJSQkYMaMGUhKSkJERATy8vKQkZGBlStX8hpgraBvFNAoCLAF988REdHDy0a406XnmxgxYgRmzpyJl156SRzLyclBbGwsoqKi8Oabb7a6gUuXLiE0NLTFYzt27IBCocDSpUtx%2BvRpXL9%2BHXZ2dvDy8sKcOXMwcuRIo3pBEJCWlob09HSUl5dDLpdj8eLFCAgIMKqrqanB2rVrcfDgQdTX18Pf3x/Lly83%2BRRnUVERkpOTceLECdjb2yM8PByLFi0y%2BaSlWq1GSkoKCgsL4eLigujoaEyfPr3Vr4nh9Thy5Eir5/it2vn3PEx5Zgikdq3%2BfAgREVGHsOT926wANnjwYHz00UcYNmyYOHbz5k34%2Bflhx44dGD58%2BH20S81ZcwD75MAJTAkbgm72LX/dFRERUWdlyfu3WefI9Ho9unbtajRmuN29e3dL%2ByO6o8ZGAfpGXoqCiIgebmaf5zl//jwkEol4W6/Xi%2BPNWfp9kEQG%2BkZuwiciooef2QFs6dKlLY6//vrr4v82XKT07Nmz998ZWSW9XoCeF2MlIqKHnFkBbPXq1Q%2B6D/r/7d17XNRV/j/w1zAwgMCAIMhFUUQlUUQNRfyqmGamwqpZLuZt1Szx0u6mbaZmZay3WvCSZiq7WetqmZeMX2ZekTXBEnPzLje5iNxhuAzM9feHzeQAKuAwN17Px6OH8Zn3nHmDIi/POZ8zBOD%2BESOqx29LJCIiMmtNCmAPHs9A1JqUKjWUXIIkIiILx4OqyKSoVFyCJCIiy8cARiaFS5BERNQWMICRSVGq1LwLkoiILB4DGJkUlZrngBERkeVjACOTolLyHDAiIrJ8DGBkUlRqLkESEZHlYwAjk8I9YERE1BYwgJFJ4XtBEhFRW8AARiZFxfeCJCKiNoABjEyKSqXmOWBERGTxGMDIpHATPhERtQUMYGRSlEoGMCIisnwMYGRSOANGRERtAQMYmRSVSsW7IImIyOIxgJFJUarUUCoZwIiIyLIxgJFJUSp5FyQREVk%2BBjAyKfeXIBnAiIjIsjGAkUnhWxEREVFbwABGJkWpVHEPGBERWTwGMDIpSr4XJBERtQEMYGRSlCoVlEouQRIRkWVjACOTolSqoOASJBERWTgGMDIpSiUPYiUiIsvHAEYmQ61WQ6lSQ6FgACMiIsvGAEYmQ3P3I5cgiYjI0hk9gN25cwerVq3ChAkTEBgYiIiIiEbrEhMTMXHiRAQFBWH06NHYs2dPo3Xx8fEYOXIkgoKCMHnyZKSkpDSoqaqqwqpVqxAaGor%2B/ftj/vz5yMvLa1CXmZmJuXPnol%2B/fggLC0NMTAxqa2tb3Bs9miZ48RgKIiKydEYPYLdv30ZiYiK6dOkCf3//RmsuXbqEBQsWIDAwEDt37sSkSZMQExOD/fv369TFx8cjLi4O06ZNw44dO9ClSxfMmzcPN2/e1KlbsmQJTp06hXfeeQdxcXEoLCzE7NmzdcKVRCLBrFmzUF1djc2bN%2BOtt97Ct99%2Bi5UrV7aoN3o8BWfAiIiojbA2dgMjR47Es88%2BCwBYtmwZrly50qBm69atCAwMxJo1awAAgwcPRn5%2BPjZt2oTJkyfDysoKMpkMn3zyCWbOnIm5c%2BcCAAYNGoTIyEhs374dcXFxAIDLly/jzJkz2LFjB8LDwwEAPXv2xOjRo3Ho0CFMnToVALBv3z5IJBIcPnwYrq6uAAChUIilS5ciOjpaGxab0hs1jfy3vV8KhdLInRAREbUuo6eDxwUUmUyG5ORkjB8/Xud6ZGQkioqKcO3aNQBAamoqKisrdZYwhUIhxo0bh8TERKh/e4PnxMREiMViDB8%2BXFvn7e2NAQMGIDExUXvt7NmzCAsL04YvABgzZgxEIpG2rqm9UdNogpecM2BERGThjB7AHic7OxtyuRzdunXTud69e3cAQHp6us6v9ev8/f1RXV2NgoICbZ2fnx8EAkGD8TRjaOrqL4mKRCL4%2Bvpq65raGzWNTBPA5JwBIyIiy2byAayiogIAIBaLda5rPtY8LpFIIBKJYGdnp1Pn7OwMACgvL9fWOTk5NXgdsVisHUtTV/8169c1tTdqGs3xE9wDRkREls7kA5hG/Rmrxq43VqNZenxc3aOu1x%2Bvft2TjEe/k/82AyaTK4zcCRERUesy%2BQCmmcGqP5skkUgA/D7bJBaLUVdXh7q6ukbrNOOIxWLttfp1D85kPayusrJSW9fU3qhpZHLNEiRnwIiIyLKZfADz9fWFjY0NMjIydK6npaUBgHaflubX%2Bvuu0tPT4eDggI4dO2rrMjMztTNjD4734J4vf3//BmPJZDJkZ2dr65raGzWNdgaMd0ESEZGFM/kAJhKJMHjwYBw9elTnekJCAtzd3REYGAgAGDBgAJycnPDdd99pa5RKJY4ePYrw8HDtcmB4eDgkEgmSkpK0dfn5%2BUhNTdUeSwEAw4cPR3JyMsrKyrTXjh8/DplMpq1ram/UNJoZMC5BEhGRpTP6OWBSqVR7rENeXh6qqqrw/fffA7h/jperqysWLlyI6dOnY%2BXKlYiMjERqair279%2BP1atXa4%2BxEIlEiI6ORlxcHFxdXREYGIj9%2B/cjJycHsbGx2tcLDg7GiBEjsGLFCixbtgyOjo7YtGkTfHx8MGnSJG1dVFQU/v3vf2PBggVYsGABSkpKsG7dOkRGRurMbDWlN2qaOtn94CXjXZBERGThBOr6a3EGlpubi1GjRjX62Oeff47Q0FAA98/vio2NRXp6Ojw9PTF79mxMmzZNp16tViM%2BPh579uxBcXExevbsiTfffBODBw/WqauqqsL69etx7NgxyOVyhIaG4p133oGPj49OXWZmJmJiYnDx4kXY2dkhIiICS5cubXCnZVN6aw7N1%2BPkyZMtHsMcnU5Jw84DKXB1boePV0x6/BOIiIhMSHN%2Bfhs9gFFDbTWAff/fG/j8yEU42Iuw8/2XjN0OERFRszTn5zfXyMhk/L4EyT1gRERk2RjAyGRoAphcoYJKxaMoiIjIcjGAkcmok/2%2B%2Bb5Wxo34RERkuRjAyGTUyuTa/6%2Brkz%2BikoiIyLwxgJHJqK37fe9XrYz7wIiIyHIxgJHJeDB0PRjGiIiILA0DGJmM2geWHWu5BElERBaMAYxMhvSBWS8pAxgREVkwBjAyGdLa30MXAxgREVkyBjAyGbpLkNwDRkRElosBjEzGg7NeNbUyI3ZCRETUuhjAyCQolCrI5L8fvvrgciQREZGlYQAjk1A/cEm5BElERBaMAYxMQv0lRy5BEhGRJWMAI5NQfwashkuQRERkwRjAyCTUD1xSKQMYERFZLgYwMgnVUt0lx2ouQRIRkQVjACOTwCVIIiJqSxjAyCTUn/GqkXIGjIiILBcDGJmE%2BoGrplYOlUptpG6IiIhaFwMYmYSaepvu1Wq1zlsTERERWRIGMDIJVdK6Btfqb8wnIiKyFAxgZBKqaxqGLQYwIiKyVAxgZBKqGglbVY2EMiIiIkvAAEYmoaqm4RJkY9eIiIgsAQMYmYSq6oZhq5IBjIiILBQDGBmdWq1%2ByBIkAxgREVkmBjAyumqprNEzvyRVDGBERGSZGMDI6B4WtCqraw3cCRERkWEwgJHRSR4StCo4A0ZERBbKLALYwYMHERAQ0OC/jz76SKcuMTEREydORFBQEEaPHo09e/Y0Ol58fDxGjhyJoKAgTJ48GSkpKQ1qqqqqsGrVKoSGhqJ///6YP38%2B8vLyGtRlZmZi7ty56NevH8LCwhATE4PaWs7cNIekqvGvl6RKauBOiIiIDMPa2A00x65du%2BDk5KT9uGPHjtr/v3TpEhYsWIAJEyZg2bJlSE1NRUxMDEQiEV566SVtXXx8POLi4vDXv/4VgYGB2L9/P%2BbNm4f9%2B/cjICBAW7dkyRJcvXoV77zzDhwdHbF582bMnj0bR44cgZ2dHQBAIpFg1qxZ8Pb2xubNm1FaWoq1a9eivLy8QTikhyuTNB60yiQMskREZJnMKoD17t0brq6ujT62detWBAYGYs2aNQCAwYMHIz8/H5s2bcLkyZNhZWUFmUyGTz75BDNnzsTcuXMBAIMGDUJkZCS2b9%2BOuLg4AMDly5dx5swZ7NixA%2BHh4QCAnj17YvTo0Th06BCmTp0KANi3bx8kEgkOHz6s7UsoFGLp0qWIjo6Gv79/q349LEWZpKbR61U1dZArlLCxFhq4IyIiotZlFkuQjyOTyZCcnIzx48frXI%2BMjERRURGuXbsGAEhNTUVlZSUiIiK0NUKhEOPGjUNiYiLU6vt34iUmJkIsFmP48OHaOm9vbwwYMACJiYnaa2fPnkVYWJhOKBwzZgxEIpFOHT3aw2bAHvcYERGRuTKrABYREYFevXph1KhR%2BPTTT6FUKgEA2dnZkMvl6Natm0599%2B7dAQDp6ek6v9av8/f3R3V1NQoKCrR1fn5%2BEAgEDcbTjKGpqz/LJRKJ4Ovrq1NHj1ZcVv3Qx0oe8RgREZG5MoslSHd3dyxevBjBwcEQCAQ4deoUNm7ciIKCAqxatQoVFRUAALFYrPM8zceaxyUSCUQikXYPl4azszMAoLy8HJ6enpBIJDp7zR4cTzOWZrz6r9lYHT1a0SNCVlFZNXoZsBciIiJDMIsANmzYMAwbNkz78dChQ2Fra4vdu3dj/vz52uv1Z6wau95YjWbp8XF1j7pef7ym1BGgVKpQWtH4HjAAKCqrMmA3REREhmFWS5APGjt2LJRKJa5fv66dwao/6ySRSAD8PhMmFotRV1eHurq6Rus044jFYu21%2BnUPzng9rK6ysrLRmTFqqLi8utFT8DUKShjAiIjI8phtAHuQr68vbGxskJGRoXM9LS0NALT7tDS/1t%2BflZ6eDgcHB%2B2xFv7%2B/sjMzNTOjD043oN7vvz9/RuMJZPJkJ2dzTsgm%2BhuYcMA%2B6D8okc/TkREZI7MNoB99913EAqFCAwMhEgkwuDBg3H06FGdmoSEBLi7uyMwMBAAMGDAADg5OeG7777T1iiVShw9ehTh4eHaZcPw8HBIJBIkJSVp6/Lz85Gamqo9lgIAhg8fjuTkZJSVlWmvHT9%2BHDKZTKeOHu7uYwLW3SJJgyBMRERk7sxiD9jcuXMxePBg9OzZEwBw8uRJfPXVV5g5cybc3d0BAAsXLsT06dOxcuVKREZGIjU1Ffv378fq1athZXU/Z4pEIkRHRyMuLg6urq7ag1hzcnIQGxurfb3g4GCMGDECK1aswLJly%2BDo6IhNmzbBx8cHkyZN0tZFRUXh3//%2BNxYsWIAFCxagpKQE69atQ2RkJGfAmuhu4aNvVpDWylEukaK9czsDdURERNT6zCKA%2Bfn54euvv8a9e/egUqnQtWtXLF%2B%2BHDNmzNDW9O/fH9u2bUNsbCwOHz4MT09PrFy5UucUfACYM2cO1Go1vvjiCxQXF6Nnz57YsWOHzin4APCPf/wD69evx/vvvw%2B5XI7Q0FBs2bJF5w5KsViM3bt3IyYmBosXL4adnR0iIiKwdOnS1v2CWJDs/PLH19wrZwAjIiKLIlBzfcfkjBo1CsD9mT5LplSqMOedryBXKB9ZFzW2H/7wTG8DdUVERNQyzfn5bbZ7wMj85RdXPjZ8AUBWXqkBuiEiIjIcBjAymozckibWMYAREZFlYQAjo7l9p7hJdYWlVaioqm3lboiIiAyHAYyMJi27aQEMANKaGNaIiIjMAQMYGYW0Vt6kOyA1bt0pasVuiIiIDIsBjIzi1p2iZh2wej2jsBW7ISIiMiwGMDKKa%2BkFzarPyC1BbZ28lbohIiIyLAYwMorrGc0LYCqVGjezuAxJRESWwSxOwifLUiOVIT2n%2BUdLXE27h%2BAA71boiIj0QaaQ47Mfv8SdkpxmP9dKYIWpgyYi0Dvg8cVEFoABjAzuekZhi95g%2B0pa82bNiMiw/nnuP0jOSG3x8%2BNO7MQ7EX%2BFr6uPHrsiMk0MYGRwV9Luteh5d%2B6WoqqmDo7tbPXcERE9qcLK4icKXwAgV8rx/ZXTeHX4dD11RYZSfPUarnz2OdRKxSPr2vfsgaA5syEUiQzUmeliACODu9rCAKZW39%2B8PyjIV88dEdGTshHaQAAB1HiytxcWWdvoqSMylLwfz%2BN/O%2BOhVj7%2BreWkxSWQFhUj5I2/wMbBwQDdmS5uwieDqqiUIregosXPv9rMuyeJyDDat3PGyF5Dn2gMOxtbjAsapaeOyBDuJqfg8qc7mxS%2BNMpup%2BHCh/%2BAorZtv8MJAxgZVHOPn2jw/BbOnhFR65s6cCL6dgps0XOthdZ4feRceDh10HNX1Fok2dn4385d95cnmqkiIxO//vMz/TdlRhjAyKCeNIDlFUpQXinVUzdEpE/WQmssemYOenn1aNbzhAIrLH5mDu%2BANCNqtRq//vMzqOSP3vP1KPnJKSj85bIeuzIvDGBkUPp4S6FbPA%2BMyGSJrG2w6Jk5cHN0bfJz/jhwAoI7927FrkjfCn%2B5jIqMzCce59bBwy26K94SMICRwdRIZU%2B0/0vjNt%2BYm8ikOdi2w/O9RzSp1snOEaN6DWvdhkjvsk%2Bd1ss4kqwsVGQ%2BeZAzRwxgZDDpOSUt2SrQwG2%2BMTeRyRNZN%2B2YARsra1gJ%2BKPInMgqK1H86xW9jXf3fIrexjIn/FNPBpN1t/mn3zfmTn45VKq2OWVNZA5kChmOX0tsUm1pTTnOZ1xs5Y5In4p%2BvQK1SqW38Qp/%2BUVvY5kTBjAymLwCiV7GqZMpUFJRrZexiEi/qutqsPHETuSW5Tf5Of88txc/ZbXNH8LmqCIzS6/j1RQUQl5To9cxzQEDGBlMbuGT7//SyNPDXjIi0q/r%2Bbfx7pEPcS3/VrOep1AqsPX0v/DF%2Ba9RK69rpe5IX2SVla0wZpXexzR1PAmfDOZesf6%2BafOLK9FPb6MR0ZMor6nA/osJOJd24YnGOXkjCZdyfkXUwIkY2LUfBAKBnjokvWqNuxbV%2BlvSNBcMYGQQCoUSNVKZ3sarrGrbJygTmYLquhp8f/U0jl09A5lCP9/fpdXl2HbmM/i7d8XkAePRy6sHg5iJkZaUtMKYpXDw9NT7uKaMAYwMorJGf%2BELACqruUxBZCwlVWU4eT0Jp27%2Bt9WWDNOLsrDh2FZ09/DD2D4j0b9zH1hZcdeMsRX971eU3bqt93HTjnyL9j17QGjTdt4LlAGMDKKyWr8zVpU1DGBEhqRQKvC/3OtISkvB5ZyrUBloySitMBNbTsXDzdEVw3uEYoj/QLg7uRnktel38upqZB49hvT/912rjF96/QbOr45Br2lT4RoQ0CZmPRnAyCy10YOTiQxKKq/Ftbs3kZp9Bb9kX0G1zHh3qpVUleLQpaM4dOko/Dr44ukufdG/cx94u3i2iR/WxiCrqkLJ1Wu4dzEVBamXoJLpdyWjPsmdbKSsWQ/HTj7wDh0E9%2BBgiH07Q2ChM58MYGQQQqF%2Bv4Gs9TweEQFypQKZxXdwPT8N1/JvIa0wE0qV0thtNZBZnI3M4mx8fTEBrg4u6O0dgF5ePfCUZw%2B4OrgYuz2zpJTJUXU3D5I72SjPyER5Wjoqc3ON8q/dqtw83Mo9hFsHDsHGwQEu3bvDxb8bnP26QOzrC1sXF4sI3QxgZBD6DkzW1gxgRE%2BqqrYaaUVZSCvMwO2CTGQUZ0OulBu7rWYprS5H0u0UJN2%2Bf5p6B0dX9OjYDT08/NDdww%2BdXLy4d%2Bw3arUasspK1BQUoPpeAarv3UPV3XxU3b2LmoJCvR6uqi/y6moUXb6Mosu/v2m3jYMDHH284ejtDQcvTzh4esLBsyPaubvDytp8Yo35dEpmrZ1d096WxFjjEVk6lVqFvLJ7SCvMRFpRFtILs3BPUmjstvSuuKoUxVWlOJ/%2BMwDAztoWfu6%2B6O7uh%2B4eXdHdww8Otu2M3GXrUSkUkJaUoqaoCNLCQtQUFaGmsAg1hYWoKSyCQio1dotPTF5djbJbtxveDCAQwN7NDe083NHOwwPt3N3RzsMd9u7uaOfuDhtHB5OaOWMA04PMzEzExMTg4sWLsLe3x/jx47F06VLY2dkZuzWT4dhOBHtba0jrFHoZz729g17GIbJUarUauWX5uHr3Jq7fu43bBRmokZn/D9/mqlXU4Xr%2BbVzPv//DWgABfNp7IsCzOwK9eiLQqyfsReb1d7WithbV9wruz2QVFqKmsBDSwqL7oauktO1uklWrIS0uhrS4GCXXrjd42NreHu3c3WHvcT%2BQtevoAQcPDzh4doSdq6vB95oxgD0hiUSCWbNmwdvbG5s3b0ZpaSnWrl2L8vJyfPTRR8Zuz2QIBAK4uzoiO79cL%2BO5uzrqZRwiS1NUWYJTN/6LC5mXUFJdZux2TI4a94Npblk%2BTl5PgtBKiF5ePTC8x2CEdAk2qeVKtVqNmsIilKenQ5J1B5W5uajKu4vaMv6%2BtoRCKoUkOxuS7OwGj1mJRHD09IRjJ2%2BIO/vCuZsfXLr5QWhr22r9MIA9oX379kEikeDw4cNwdXUFAAiFQixduhTR0dHw9/c3coemo6Obk94CWEc3BjCi%2Bm7cS8NHx7ZBYYIb502VUqXElbwbuJJ3A0E%2BvbDkufnGbgkAcOfUaWR%2BdxQ1hUXGbqVNUMlk2nB2F8kAACtra3QI6oPeM6fD3k3/R5%2BYTtQ3U2fPnkVYWJg2fAHAmDFjIBKJkJiYaMTOTI9/Z/38AbYTWcPHw1kvYxFZEk%2BxOwK9A4zdhlkS2zkipGuwsdvQatehAxy8vFp1BoYezd69Axy9vGBtZ98q43MG7Amlp6dj8uTJOtdEIhF8fX2Rnp5upK5MU48uHfQyjr%2Bvm96PtSCyBC7tnPHG6NdQVFmCX3Ku4OrdW7hdmIHqOuOd32WqBBCgk6s3nuroj6BOgQj06gFroen8SHTvGwT3vkFQKZWozs%2BHJDsH1XfzUXXv3m8b6guhqGl7e/r0TWBlBbvfNu47dOwIBy9POHXqBLGvL0ROrbvSYjp/2syURCKBWCxucF0sFqOiosIIHZmubp3c4NjOFqonvNW5V7eOeuqIyDK5O7lhdGA4RgeGQ61Wo0BShKySHBRV6v89/MyNyFoEX1cfdO3QGfY2pr/53koohFOnTnDq1KnBY/LqGkhLiiEtLoG0pAS1paWQlpSirqwctWWlkFczeAuEQti5uMC2fXvYu7nCzrU97N3cYO/mBjs3N9i5toeVUGiU3hjAWolarTap211Nga3IGjvee9HYbRC1KQKBAJ7OHvB09jB2K6RnNg7tYOPgC7Gvr7FboRbgOs4TEovFkEgkDa5XVlY2OjNGRERExAD2hPz9/Rvs9ZLJZMjOzuYdkERERNQoBrAnNHz4cCQnJ6PsgXNZjh8/DplMhvDwcCN2RkRERKaKAewJRUVFwcnJCQsWLEBSUhIOHz6MDz74AJGRkZwBIyIiokZxE/4TEovF2L17N2JiYrB48WLY2dkhIiICS5cuNXZrREREZKIYwPTAz88P8fHxxm6DiIiIzASXIImIiIgMjAGMiIiIyMAYwIiIiIgMjAGMiIiIyMAYwIiIiIgMjAGMiIiIyMAYwIiIiIgMjAGMiIiIyMB4EKsJKiwshFKpxKhRo4zdChERETVRfn4%2BhEJhk2o5A2aCbG1tYW3NbExERGROrK2tYWtr26RagVqtVrdyP0RERET0AM6AERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRERGRgTGAERERERkYAxgRmQSVSmXsFoiIDIYBjEyOQqGATCYDACiVSiN3Q63t559/xp07d2Blxb%2BO2gKFQgG5XG7sNsjA1Gq19u9ztVpt5G5Mg7WxGyB6UGJiIhISElBYWIjo6GgMHjzY2C1RKzp9%2BjTWr1%2BPt956C126dDF2O9TKTp8%2BjYSEBJSUlGDy5Ml4%2Bumn4e3tbey2qJWdPXsWJ06cQF5eHhYuXIgBAwZApVK1%2BX90te3PnkzK2bNnsXHjRkRGRiI0NBQbNmzQzoSR5UlLS8OHH36I9evX45lnnoFSqeSMpwU7d%2B4cNm7ciBdffBGTJ0/Gtm3bsGXLFly/ft3YrVErOnPmDGJjYzFixAgEBwdj0aJFyM7ObvPhC%2BAMGJmI27dv4%2BOPP8bbb7%2BNQYMGwcXFBampqdi9ezd69%2B6NQYMGwdqaf1wtSXl5Obp3747g4GDk5OQgPj4eBQUFGDJkCIYOHQo/Pz9jt0h6dOHCBcyePRthYWEAgLt37%2BKbb77BDz/8AB8fH4jFYiN3SPqWk5ODHTt2YOXKlQgJCcHIkSORl5eHS5cuwdfX19jtGR0jKJmETp064d1338WgQYNQXFyMd999F97e3rCxscEHH3yAH374wdgtkp7Z29vDysoKtbW1eP/999GjRw%2BMGzcOFy5cwKlTp4zdHulZfn4%2BUlNTtR8rlUoMGTIEx44dw5UrV4zYGbUWFxcXTJkyBf3794dCoQAAWFlZITMzU1vTlveDcUqBjE6lUsHe3h69e/cGAGRlZWH%2B/PkYM2YMgPvfsAkJCXj%2B%2Bec5bW1Bunbtihs3bmDRokUYNGgQpk2bBgBwdnbGrl27MG3aNNjZ2Rm5S9KXRYsWYerUqSgpKYGDgwPKysqwc%2BdObN68GSkpKRgyZIixWyQ9c3Jywvjx4yEUCrVBq2vXrrC3twcAHD16FC4uLtpZ0baGP83I6OqHqpCQEG34AgChUAhkg7upAAAQIklEQVQvLy8IBAJDt0atRKVSwcHBATt37kR6ejoSEhK0/0KWSqVwdnY2coekD5qjRVQqFXx9fXH48GEMHz4cI0aMwNatWwEAMpmMv98WJD09HXl5edqP628dEQgEcHNzw4kTJ7Bx40Z07NjR0C2aDIG6Lc//kUnQ3A3T2F0x3333HeLj47Fu3Tr06NHDSB2SPimVSgiFQigUClhbWyM7OxuvvPIKQkNDIRKJkJqairVr1%2BKpp54ydqvUQjdv3oSPjw8cHR211%2BRyOWxsbHTqDhw4gF27dmHr1q3o1q2bodskPTt16hQWLFiAGTNmYObMmejcuXODmm3btmHfvn3w8PDAunXr0L17dyN0aho4A0YGl5SUhLi4OKxfvx5ZWVna0GVlZYVbt24hOTkZALB//35s3ryZ4cvMnTt3DnFxcVi9ejUKCgogFAqhVCphbW2NGzduQC6X4%2BDBg3jmmWfQt29fbNy4keHLjJ0%2BfRrLly/HjRs3tNeUSiVsbGx0vr9//vlnHDt2DHFxcQxfFuDevXs4cOAAXn/9ddy7dw9ffvklcnJytI9r5no0//j66KOP2nT4AhjAyMCSkpIQExMDDw8PyGQyzJ07V7vB/ueff8bf/vY37b6fUaNGYdeuXQxfZiwpKQkffvghOnXqhLKyMsTFxQG4/5fw%2BfPnsWzZMpSVlcHR0REjR47EhAkTeB6YGbt8%2BTLWrVuH5cuXIyQkRHtdKBQiOTlZ5/u7b9%2B%2BWL9%2BPcO2hXB1dUVUVBQWLFiAP//5z7h27Rq%2B%2Buor3LlzBwC0W0giIiKwZ88edO3a1Yjdmgbhe%2B%2B9956xm6C24z//%2BQ%2BGDRuG6dOnIzw8HPb29vjqq68gEAhw/vx5/OEPf8DQoUOhVCrh4ODAW9PNWGpqKt5//3289957GD16NFQqFYqKiqBQKKBQKHDixAmMHTsW4eHhxm6V9CQlJQX29vb44x//iJycHOzduxdHjhyBWCzGjz/%2BiLFjx2q/v21sbLSbscm8qdVqWFtbo3PnzhAIBHB1dUWfPn1w4MABFBUVISQkBEeOHEFFRQUCAwPRvn17Y7dsEjgDRgZlZWWFoqIi7cdTpkxBZGQkNm7ciAkTJuD555%2BHWq2GUCg0YpekD56ennjvvfcQEhKCoqIibNq0CWVlZUhKSsK0adPw7LPPYuzYsW36NnRL8%2BDdbm%2B%2B%2BSasrKzg4OCA2NhYDB48GGPGjIFKpeL3t4XRzG5ptpMolUr4%2B/tj%2BfLlyMrKwty5c7FmzRoGr3o4A0YG5ezsjDVr1sDHx0e7tNinTx9kZWWhoqICTz/9NADwjkcL4OTkhE6dOgEAjh8/jv79%2B%2BONN97AiBEjkJGRgdzcXAwdOpS/1xZEKBRi7dq1yMjIQFhYGObOnYuhQ4eisLAQp0%2Bf5lEyFkqtVkMgEEClUkEgEGh/j11dXXHz5k2cPXsWe/bsQc%2BePY3cqWnhOWBkUEFBQVi5ciV27twJABg3bhyA%2Bwf2aW5Z5w9kyzNx4kQAv/9F7ePjAwcHByN3Rfrm7%2B%2BPmJgYfPDBBzrXPTw8UFxcrP39J/OWlJSElJQUSCQSvPzyy%2BjZs6c2eN26dQulpaUYPHgwbt%2B%2BjatXr%2BKzzz7jXt5GcAaMDM7f3x/Ozs5YvXo1SktLceHCBZw8eRILFy6Eq6ursdujViQQCHD06FEcOHAAr776KpckLFDXrl3h5uaG7du3w9raGikpKTh8%2BDD%2B8pe/oEOHDsZuj55QYmIiPvroI4waNQrV1dVYvXo1HB0d0bdvX6SmpmLlypV49tln4enpCScnJzzzzDPamXDSxXPAyGiuXbuGxMRE1NXVISIios3fkmzpZDIZDh48iN27d2PLli38/bZw169fx48//gipVIqxY8fC39/f2C3RE5LL5VixYgUmTZqkPb3%2B9ddfx82bNzF79mykp6fj6aefxvPPP9/ouY6kiwGMiAxCrVbj0qVLcHV15S3oRGZIJpPhT3/6EyZOnIgpU6YAALZs2YLc3FwkJSUhPj4evXr14lJzE3EPGBEZhEAgwIABA4zdBhG1kEgkwsyZM7Fx40bk5eWhoqIChYWF2LZtG5YsWYKMjAz06tXL2G2aDQYwIiIiapLnnnsOTk5OOH/%2BPLp06YK3334bwP1wJhKJAPBGqqbiEiQRERG12DfffINPP/0Un376aaPv/0iN4w45IiIiapEffvgBe/bsQWxsLMNXM3EGjIiIiFqkuLgYCoUCnp6exm7F7DCAERERERkYlyCJiIiIDIwBjIiIiMjAGMCIiIiIDIwBjIiIiMjAGMCIiIiIDIwBjIiIiMjAGMCIyCgOHjyIgIAA/Prrr81%2BrlQqxZYtW5CSktIKnelfbm4uAgICcPDgwSbV//zzz%2BjTpw/y8vK010aOHInXXnuttVpsNRUVFQgJCcGJEyeM3QqRSWEAIyKzI5VK8fHHH%2BPChQvGbkXv1Go11qxZgylTpsDHx8fY7TwxZ2dn/OlPf8KGDRsgk8mM3Q6RyWAAIyL6jVwuh0KhMGoPZ8%2BexdWrVzF9%2BnSj9vE4Uqm0ybVRUVHIy8vDsWPHWrEjIvPCAEZEJmPZsmXo378/7ty5g3nz5qF///4IDw/HunXrtLMnubm5CAsLAwB8/PHHCAgIQEBAAJYtW6YdJysrC0uWLEFYWBj69OmDsWPHYs%2BePTqvlZKSgoCAABw%2BfBjr1q3DsGHDEBQUhLS0NAQEBGD//v0N%2BktMTERAQABOnjwJALhz5w7efvttPPfccwgODsawYcMwf/583Lx5s8Vfg7179yIoKAjdunVr9PGzZ89i0qRJ6Nu3L55//nl8/fXXDWpu3bqF6OhoDBw4EEFBQZgwYQIOHTqkU6NZAs7NzdW5rvm6PLi8O2PGDEREROCnn35CVFQUgoODsXz5cgDA%2BfPnMWPGDISGhqJv374YMWIEFi9erBPQOnTogCFDhmDfvn0t/roQWRprYzdARPQguVyO6OhovPjii5gzZw5%2B%2BuknbNu2DY6Ojli0aBE8PDywa9cuvPLKK3jxxRfx0ksvAQBcXV0BAGlpaYiKioKXlxfeeustuLu747///S9iYmJQVlaGRYsW6bxebGws%2BvXrh/fffx9WVlbw9PREYGAgDh48qB1b49ChQ3Bzc0N4eDgAoLCwEC4uLliyZAlcXV1RUVGBQ4cOYcqUKTh06NBDQ9TDyGQynD9//qGzXzdu3MD69esxb948dOjQAfv378eKFSvQpUsXDBw4EACQkZGBqKgouLm5YcWKFWjfvj2OHDmCZcuWobi4GPPmzWtWTxpFRUV488038corr%2BCvf/0rrKyskJubi9deew0hISH4%2B9//DrFYjIKCAiQlJUEul8Pe3l77/EGDBiE2NhYSiQRisbhFPRBZEgYwIjIpcrkcixcvxtixYwEAYWFhuHLlChISErBo0SKIRCL07t0bAODp6Yl%2B/frpPH/t2rVwcHDA3r174ejoCAD4v//7P8hkMuzYsQMzZsyAs7Oztt7X1xebN2/WGeOFF15ATEwMMjMz4efnB%2BD%2BZvKTJ09i%2BvTpsLa%2B/1fnwIEDtcEHAJRKJcLDwxEREYEvv/wSb7/9drM%2B9xs3bqC2tlb7%2BdVXVlaGvXv3wtvbW/v6ycnJ%2BPbbb7V9fPzxx5DL5fj888/h5eUFAAgPD4dEIsHWrVsRFRUFJyenZvUFAOXl5di4caN29hEAjh07hrq6Ovztb3/DU089pb0eGRnZ4Pm9e/eGSqXCL7/8guHDhzf79YksDZcgicikCAQCjBw5UudaQEAA7t69%2B9jn1tXVITk5GaNHj4adnR0UCoX2v%2BHDh6Ourg6//PKLznOee%2B65BuNERkZCJBLpLNslJCRAJpPhhRde0F5TKBTYvn07xo0bhz59%2BiAwMBB9%2BvRBVlYW0tPTm/upo7CwEMDvs3n19erVSxu%2BAMDW1hZdu3bV%2BdokJycjLCxMG740Jk2aBKlUikuXLjW7L%2BD%2BZvoHw5emHxsbG7zzzjs4dOgQcnJyHvp8zedUUFDQotcnsjScASMik2Jvbw9bW1udayKRCHV1dY99bnl5ORQKBb744gt88cUXjdaUlZXpfOzu7t6gxsXFBSNHjsThw4fx5z//GUKhEIcOHULfvn3Ro0cPbd26deuwZ88ezJs3DwMHDoSzszMEAgFWrlzZpH7rq62tBYAGn/%2BDfdVX/2tTXl7e6Ofk4eGhfbwlGhvT19cXn332GXbt2oXVq1ejpqYGnTt3xowZMzBr1iydWs3n1JKvC5ElYgAjIoshFoshFAoxYcIEvPzyy43WdOrUSedjgUDQaN0LL7yA77//HufOnYO3tzd%2B/fVXvPfeezo1R44cwcSJE/HGG2/oXC8rK2vRPqf27dsDuL/c2VIuLi4oKipqcF0zu6Z5DU0gqn80RP2AqvGwr1NISAhCQkKgVCpx5coVfPHFF1izZg06dOiA8ePHa%2Bs0n5Pm9YnaOgYwIjI7IpEIwO8zRhr29vYIDQ3FtWvXEBAQoK1riaFDh6Jjx444ePAgvLy8YGtri4iICJ0agUAAGxsbnWtnzpxBQUEBunTp0uzX9Pf3BwBkZ2e3uO%2BwsDAcP34cBQUF6Nixo/b6N998A3t7e%2B2eOc0ZYzdv3tS5WeDUqVMtel2hUIjg4GB069YN3377La5evaoTwDTLk5rPkaitYwAjIrPj6OgIHx8fnDx5EmFhYXB2dkb79u3RqVMnrFixAi%2B//DKmTZuGqVOnwsfHB9XV1cjOzsapU6fw%2BeefN%2Bk1hEIhJk6ciH/9619wdHTE6NGjG2xeHzFihPZux4CAAFy9ehXx8fHw9PRs0efl6emJzp074/Llyy16PgAsXLgQp0%2BfxsyZM7Fw4UI4Ozvj22%2B/xZkzZ/Dmm29qP4egoCD4%2Bflhw4YNUCqVEIvFOHHiBC5evNjk19q7dy%2BSk5MxYsQIeHl5oa6uDgcOHAAADBkyRKf28uXLcHFxQUBAQIs/NyJLwgBGRGbp73//OzZs2IDo6GjIZDJMmjQJ69atQ/fu3XHw4EFs27YNGzduRGlpKZycnNClSxft8RFN9cILL%2BDTTz9FaWkpJk%2Be3ODxFStWwNraGjt27EBNTQ0CAwOxZcsWbNq0qcWfV2RkJPbs2QOZTNaiGbxu3bph3759iI2NxerVq1FbWwt/f3%2BsXbtW5wYCoVCI7du344MPPsC7774LkUiE8ePHY9WqVXj11Veb9Fq9evXCuXPnsGXLFhQVFaFdu3bo2bMnPvnkEwwdOlRbp1arcerUKURGRj50KZOorRGo1Wq1sZsgIqL7CgoKMGrUKGzYsAHjxo0zdjt6cf78ecyZMwcJCQlcgiT6DY%2BhICIyIR07dsSsWbPwySefQKVSGbsdvdi2bRsmT57M8EX0AC5BEhGZmOjoaNjb26OgoKDBeV7mpqKiAoMGDXroXalEbRWXIImIiIgMjEuQRERERAbGAEZERERkYAxgRERERAbGAEZERERkYAxgRERERAbGAEZERERkYAxgRERERAbGAEZERERkYP8fdwJPO0fjmMoAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -396,7 +430,7 @@
 <br>
 
 <h3 id="Violin_plot_of_quality_over_time">Violin plot of quality over time</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHUCAYAAADY2TmsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeXhU1fkH8O/MJJN93xe2EBK2JKCyryKoP2URtEXLIm5FwYraUvCxtdq61bov2IraCnUXpIpIkSUB2dewCCH7nsxkzyQzme3%2B/qCJDAQyM5k7595z38/z%2BDzmZube770Zct%2Bcc%2B45KkEQBBBCCCGEcEbNOgAhhBBCiBioyCGEEEIIl6jIIYQQQgiXqMghhBBCCJeoyCGEEEIIl6jIIYQQQgiXqMghhBBCCJeoyCGEEEIIl6jIIYQQQgiXqMgh3Fu%2BfDkyMzPR0tJyxdf89re/xbBhw1BXVwcASE9Px1tvveXysSoqKpCeno6NGzd2bdu4cSPS09NRUVHhevheOnjwINLT03Hw4EGX33vs2DG89dZbV71u7tqyZQtuvfVWZGZmIj09HWfPnvX4MTzh0s9Bd9czJyfHrc8KL672OVm0aBEWLVrEIBUhF1CRQ7h3xx13oKOjA99%2B%2B223329tbcX27dsxdepUREdHAwA%2B//xz/OIXv/DI8adOnYrPP/8csbGxHtmftxw/fhxvv/22x4uchoYG/P73v0efPn3w/vvv4/PPP0f//v09egyxDBs2DJ9//jmGDRvWtS0nJwdvv/02w1RsXe1z8qc//Ql/%2BtOfGKQi5AIf1gEIEdvkyZMRGxuLDRs2YMGCBZd9f/PmzTCZTLjjjju6to0YMcJjx4%2BMjERkZKTH9id3xcXFsFgsmD17NkaPHs06jkuCg4M9%2BtmQC6PRiICAAJffl5qaKkIaQpxHLTmEexqNBnPnzsWZM2eQl5d32fc3btyImJgYTJ48uWtbd91V58%2Bfx0MPPYRRo0YhIyMDc%2BbMwddff93j8bvrrlq0aBFmzpyJkydP4le/%2BhWysrJwww034L333oPdbu9xn%2Bnp6fjzn/%2BMzz77DDfddBOGDx%2BOW265Bd99912P7wWAHTt2YP78%2BcjKysLIkSNxzz334Pjx413ff%2Butt/DSSy8BAG644Qakp6c71e3V035Xr16NX/3qVwCAxx57DOnp6T12Z5w4cQJ33nknMjIyMHHiRLzyyiv44osvLrumV%2BpinDZtGlavXt31dUNDA55%2B%2BmnccsstGDlyJMaNG4fFixfjyJEjV80BXN5dtXr1anz88cddx%2B/8r6KiAnfffTduvvlmXLoGsiAImDFjBn79619f9Vh2ux1r167FzTffjOHDh2PcuHH4/e9/j5qamq7XPPfccxgxYgQMBsNl73/00Ucxfvx4WCyWrm1btmzB/PnzMWLECIwcORL33XcffvrpJ4f3rV69GiNHjkReXh7uvfdejBw5EkuWLOk2Y0%2Bfk0u7qzq7c99//3289957mDZtGjIzM7Fo0aKu4vfll1/GxIkTce2112L58uWor6%2B/7LjOnAchABU5RCFuv/12qFQqbNiwwWF7QUEBTp48iblz50Kj0Vzx/UVFRbjzzjtRUFCAJ598Em%2B//TZSU1OxevVqrF271q1Mer0eK1euxOzZs/Huu%2B9i8uTJeOWVV/DNN9849f6dO3di/fr1eOSRR/Dmm28iMTERjz/%2BOLZu3XrV93377bdYtmwZgoOD8corr%2BC5555Dc3MzFi1a1HWj/8UvftF1c3r77bfx%2BeefX9ZN485%2Bly1bhqeeegoA8Pjjj%2BPzzz%2B/andGQUEBlixZgtbWVrz44ot45pln8NNPP%2BHdd9916hp1p6mpCQDw8MMP4x//%2BAdeeOEF9OnTB4sWLXJ57NKyZctw0003AUDXNersmly8eDGKi4uxf/9%2Bh/fs3r0bZWVl3bYqXuzpp5/Gyy%2B/jAkTJuDdd9/FihUrsGfPHtx5551oaGgAcOFzbTQa8f333zu8t6WlBTt27MDs2bPh6%2BsLAPj73/%2BOxx9/HAMHDsTrr7%2BOl156CW1tbViwYAEKCgoc3m%2BxWPDQQw9h7NixWLNmDX7zm990m9GdzwkAfPLJJzh27BieeuopPPvssygqKsKDDz6IJ598Eg0NDXj%2B%2BeexcuVK7Nu3D08%2B%2BaTDe105D0IgEKIQCxcuFMaMGSOYzeaubS%2B%2B%2BKKQlpYmFBcXO7w2LS1NePPNN7u%2Bfuyxx4Thw4cLVVVVDq%2B7//77haysLKGlpUUQBEEoLy8X0tLShA0bNnS9ZsOGDUJaWppQXl7ukCUtLU3Izc112N8tt9wi3HvvvT2eS1pampCZmSno9fqubVarVbj55puFGTNmdG07cOCAkJaWJhw4cEAQBEGw2WzCxIkThZkzZwo2m63rdQaDQRg3bpwwf/78rm3vv//%2BZbmvxJX9dmb6/vvve9zvo48%2BesXzvDTbpT%2BzTtdff72watWqKx7DarUKFotFuPvuu4Xly5c7fO/SfV56PQVBEJ555hkhLS3tsv3abDbhhhtuEB566CGH7ffff78wffp0wW63XzFTQUGBkJaWJjz99NMO23Nzc4W0tDTh1Vdf7do2d%2B5ch%2BsrCILw8ccfC2lpaUJeXp4gCIJQVVUlDB06VPjLX/7i8DqDwSBMmDBBWLFiRde2VatWCWlpacJXX311xXwXu9rnZOHChcLChQu7vu789zF79myHz8m//vUvIS0tTXjwwQcd3v/cc88JaWlpQmtrq8vnQYggCAK15BDFuP3229HY2IidO3cCAKxWK7755htcd911PQ58PXDgAMaNG4eEhASH7XPnzoXRaHToknFWTEwMMjMzHbalp6ejqqrKqfePGzeua6A0cKFb7pZbbkFpaalDl8bFiouLodPpMGfOHKjVP//zDwoKwo033ojc3FwYjUaXz0Ws/R48ePCK59kbn376KebOnYuMjAwMHToUw4YNw/79%2B1FYWNir/V5MrVZj4cKFyM7O7vqZlpWVYc%2BePfjVr34FlUp1xfd2tijNnTvXYXtmZiYGDhzo0Do0b948HD9%2BHEVFRV3bNm7ciIyMDKSlpQEAfvzxR1itVsyZMwdWq7XrPz8/P4waNQqHDh26LENnC5UYpkyZ4vA5GThwIIALg/Qv1rm98/q5cx5E2ajIIYpx8803IyQkpOvx7pycHNTV1TkMOL6SpqYmxMTEXLa984mpzi4QV4SHh1%2B2TavVoqOjw6n3X3zjv3TblfI0NjYCwBXPxW63u/U0lVj7bWpquup5uuOf//wnnn76aWRmZuKtt97CF198ga%2B%2B%2BgqTJk1y%2Bto76/bbb4efnx8%2B%2B%2BwzAMDHH38Mf39/3H777Vd9X%2BfPr7sn8mJjYx1%2BvrNmzYJWq%2B0aH1ZQUIBTp05h3rx5Xa/pnBrhjjvuwLBhwxz%2B27JlS9fPr1NAQACCg4PdOGPnhIWFOXzd2aV2pe2dPxdXz4MQerqKKIa/vz9uvfVWfPnll9DpdNiwYQOCgoJw88039/je8PBw6PX6y7brdDoAQEREhMfz9qTzF35327oroICfc17pXNRqNUJDQ13OItZ%2Bw8PDr3qeF9NqtTCbzZdtv/TG980332D06NF45plnHLa3tbW5nK8nISEhmDt3Lr788kvce%2B%2B92LhxI2bOnNnjtej8%2Bel0OsTHxzt8T6fTOXzewsLCcMMNN2DTpk149NFHsWHDBvj5%2BWHmzJldr%2Bl8fefYrZ5crZWJJVfPgxBqySGKcscdd8Bms%2BGDDz7A7t27ceuttzr1aOy4ceNw4MAB1NbWOmz/z3/%2Bg4CAACaPFe/fv9/hZm%2Bz2bBlyxb07dv3shtjpwEDBiAuLg6bN292eOqnvb0d27Ztw4gRI7quh1arBQCnWjdc2a8rxowZc8XzvFRSUtJlT8/t378f7e3tDttUKlXXuXU6d%2B4cTpw44XI%2B4OfrZDKZuv3%2BokWL0NjYiEceeQQtLS1YuHBhj/scO3YsAFw2CP3kyZMoLCzs%2Bn6nefPmQafTIScnB99%2B%2By1mzJjhUEhNnDgRPj4%2BKCsrQ0ZGRrf/ucuVz0lviXkehE/UkkMUJSMjA%2Bnp6fjoo48gCIJTXVXAhVmTd%2B3ahcWLF2P58uUICwvDt99%2Bi%2BzsbKxcuRIhISEiJ79cREQE7r77bixbtgwBAQH45JNPUFRUhNdee%2B2K71Gr1Vi5ciV%2B97vfYenSpZg/fz7MZjM%2B%2BOADtLS04Le//W3XazvHc3z00UeYO3cufHx8MGDAgG67MVzZryseeugh7Ny5E3fffTeWL18Of39/fPzxx92O75kzZw7eeOMNvPHGGxg9ejQKCgrw73//%2B7KfzdSpU7FmzRq8%2BeabGDVqFIqLi7FmzRokJyfDZrO5nLHzOq1duxaTJ0%2BGWq1Genp6181/wIABmDRpEnbv3o1rr70WgwcP7nGfKSkpmD9/Pv79739DrVZj8uTJqKysxBtvvIGEhITLHumeOHEi4uPj8cwzz0Cv1zt0VQFAcnIyHnnkEbz%2B%2BusoLy/H5MmTERoairq6Opw6dQoBAQF45JFHXD73i8/fmc9Jb4l5HoRPVOQQxbnjjjvw3HPPITU1FVlZWU69JyUlBZ999hleffVV/PnPf4bJZMLAgQPxwgsvXHZD8ZZp06YhNTUVr7/%2BOqqrq9GnTx%2B8/PLLPQ7KnTVrFgICAvDee%2B/hscceg0ajQVZWFtatW4drrrmm63VjxozB0qVL8fXXX%2BPLL7%2BE3W7HunXrMGbMmF7t1xVpaWn45z//ib/%2B9a9YtWoVwsLCMHv2bNx000344x//6PDa%2B%2B67DwaDAV9//TU%2B/PBDZGZm4o033sCyZcscXvfggw/CaDTiq6%2B%2Bwvvvv4/U1FQ8/fTT2L59u1sDV2fOnIljx47hk08%2BwTvvvANBELBjxw4kJyd3veaWW27B7t27nWrF6fT000%2BjT58%2B%2BOqrr/DJJ58gODgYkyZNwm9/%2B9vLukfVajVuu%2B02/P3vf0dCQgLGjRt32f6WLl2KgQMHYt26dfjuu%2B9gNpsRExOD4cOH46677nL5vDu5%2BjnpLbHOg/BJJQiXzFRFCJG89PR0LFiwoGvOGaXZuHEjnnjiicuKCan6zW9%2BgxMnTmDnzp1dg2kJIeKjlhxCCBGB2WzGmTNncPLkSfzwww9YvXo1FTiEeBkVOYQQIgKdToc777wTwcHBmD9/Pq3GTQgD1F1FCCGEEC7RI%2BSEEEII4RIVOYQQQgjhEhU5hBBCCOGSYgceX3fddV3zKxBCCCFEHvR6PbRaLY4cOdLjaxVb5HR0dLg1uykhhBBC2LFarXD2mSnFFjmdq/vu2LGDcRJCCCGEOOuGG25w%2BrU0JocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFc8mEdgBBCCCE9E%2Bx2WI2mHl%2Bn9tFA4%2BfnhUTSR0UOIYQQIgPNxSXY98xfenxdTFYmRv32MS8kkj7qriKEEEJkoKmwyOnXCYIgchp5oCKHEEIIkYGmokKnXmcxGNCu04ucRh6oyCGEEEJkoKnAuZYcAGgqdK4g4h0VOYQQQojEmZqa0K7TOf36hrzzIqaRDypyCCGEEIlrdLFoaTxPRQ5ARQ4hhBAiea62zBgqq2BubRUpjXxQkUMIIYRIXP1PZ11/z9lzIiSRFypyCCGEEAkzNTbCUFXl8vvqzvwkQhp5oSKHEEIIkTB3WnEAoJ6KHPYzHpeWluKDDz5Abm4u8vPzkZKSgs2bNzu85sMPP8Q333yDiooKWK1W9OnTB/Pnz8eCBQugUqkYJSeEEELEpz95yq33tet0aKutRVBcnIcTyQfzIic/Px85OTnIysqC3W7vdpbG1tZWzJw5E4MGDYKvry/279%2BPZ599FgaDAQ8%2B%2BCCD1IQQ4h3nagqwr/CIaPsP8PXDXaPnirZ/0juC3e52kQMAuhO5GHDTjR5MJC/Mi5xp06Zh%2BvTpAIDVq1fj9OnTl71mxYoVDl%2BPHz8eVVVV%2BPrrr6nIIYRwbV/BYezOPyDqMW4adj0ig8JFPQZxT1NhISxtbW6/X597UtFFDvMxOWq1exEiIiJgsVg8nIYQQqTlbE2%2B6Mc454VjEPfoTuT26v0N5/JgNRo9lEZ%2BmBc5rrBarWhra0N2djY2bdqExYsXs45ECCGiqTc0Qt9aL/pxzlZTkSNVNUeO9er9dqu1V91dcse8u8pZpaWluPHGn5vcHnroISxZsoRdIEIIEdm5mgKvHCevhtY5kiJDZRXaqqt7vZ%2BaI0eRMGa0BxLJj2yKnISEBHz11Vdob2/H4cOHsXbtWqjVajzyyCOsoxFCiCi81Y2ka61DvaERUcERXjkecU7N0aMe2Y8u9yRsZgs0Wl%2BP7E9OZFPkaLVaZGRkAADGjBmDwMBAvPzyy7jrrrsQExPDOB0hhHiet1pyOo81IXWU145HelZ98JBH9mMzmaA/eRLx113rkf3JiazG5Fxs2LBhsNlsqKysZB2FEEI8rt7Q4JXxOJ3yvFhQkZ61VlSitbzCY/urOnDQY/uSE9kWOUePHoVKpUJycjLrKIQQ4nHnvDxOxputRqRnVQc8O22A7vgJRT5lxby7ymg0IicnBwBQWVkJg8GArVu3AgBGjx4NX19fPPDAA5g9ezb69esHq9WKAwcOYP369Zg/fz6io6NZxieEEFF4%2B7FuXWsdGtqaaL4cCRDsdlTt92zLi91iQc2Ro0ieNNGj%2B5U65kVOfX39ZZP9dX69bt06jBw5EgMGDMC//vUv1NbWwt/fH3379sUzzzyD2267jUVkQggRHYsnns7VFGD8wOu8flziqOH8eRj1eo/vt/LHvVTkeFtycjLy8vKu%2BpoXXnjBS2kIIYS9xrYm6FrrvH7c8zWFVORIQOWevaLst/7sORjr6hCgoB4Q2Y7JIYQQXuXVFjE6Ls2Xw5rVZEL1YfHWKqv4UZwCSqqoyCGEEIlh9aRTdXMtmo0tTI5NLqg%2BeAg2k0m0/Vfs3gPBbhdt/1LDvLuK9E670YzcvCrRjxMZHoj0/rGiH4cQApxn2KJyvrYIo/qPYHZ8pSvblSPq/o119ag7fQYxmRmiHkcqqMiRuT3HivHRf8Rr2uwUFuyPt5%2BcC42GGv8IEZPB1IbKphpmxz9fU0hFDiMtZWVoLhK/q7JsV7Ziihy6Y8lczhHv9N03G0xeaTEiROnOMxqP04nG5bBTumOXV46jO34CxoYGrxyLNSpyZKysuhElld77oHqroCJEyc7r2P47K2%2BsgtEs3pgQ0j1LWzuq9u7zyrEEux3lIneLSQUVOTK228tFx7GzlWht6/DqMQlRmnzGLTmCIKBQX8I0gxJV/PgjbGaz145Xlp0Nu9XqteOxQkWOTFltdvx4vMSrx7TZ7Nh3wrvHJERJzFYzSurLWcdg3mWmNILdjtLtO716THNzC6oPHfbqMVmgIkemTuZVocXg/SZlb7ceEaIkxXXlsNltrGOgQFfMOoKi6E%2BeQnttrdePW/LfbRAEwevH9SYqcmRq91E2xUZxZQMqapqYHJsQ3kmluCjSl0qi2FKK4v9uY3Lc5uISNBXwvTArFTkyZGjvwLGfKpkdf88xafwiJoQ3UilyTNYOVDRWs46hCC3l5ag/8xOz4xdvZVNgeQsVOTK0P7cUVhu7GSt/PFYMu4JmzCTEGwRBQIGEBvxKpeDiHesio%2BbIUbTrdEwziImKHBn6kXFLSmOLEWcKvN9/TAjP9K31aDUZWMfoUqgvZR2Be6bGRlTt2882hCCg%2BL8/sM0gIipyZKa2vhX5pd5fnfhSe738ZBchvCvQS6vlpJBackRX8sN2CDb2Y58qcnbDbJBOge1JVOTIjFQe4T58ugxmC/9zLBDiLYU6abWc1LbWSapliTcWoxFlO70zw3FPbGYzynZ49xF2b6EiR0YEQcA%2BibSgGDusTAc/E8KboroS1hEuU0RdVqIp35UNa7uRdYwuJdu2e3UyQm%2BhIkdGymuaUKlrYR2jy/5c%2BgVIiCeYrRaUNUhvbbiiOvo3Lga71crssfErMbe2omLPj6xjeBwVOTKy74S0fuGcOFeJdpOFdQxCZK%2BsoUKS89LQ4GNxVO7bj45G6c03VrRlK%2BwSGCPkSVTkyIQgCDh4Ulq/cCxWO479VME6BiGyJ9VuoeK6Mu5nxPU2wW5H0XdbWMfollGvRw1nSz1QkSMTZdVNqK2X3iDAw6fZr7NDiNwV15WxjtCtto526FvrWcfgSs3RY2irrmEd44oKN2/hqrClIkcmpFpM5OZVwWSmp6wI6Y3iOmn%2B%2BwaAIokWYHIkCAKKNn/HOsZVtZaXQ597knUMj6EiRyYOn5bmLxqzxYaTedIbMEmIXLSbjahpke6MsyVU5HhM/Zmf0FxcwjpGjwolXoi5goocGdA3GFBe08w6xhUdO0uPkhPirtJ6aY9rK66XbiuT3BR%2Bu5l1BKc0ns9HQ9551jE8goocGZB6EXHibCXsdn76cAnxJqmOx%2BlUWlcOu0Br1fVWY0Eh6s%2BeYx3DaXIpyHpCRY4MHJd4kdPS1oHCchqcSIg7SiQ8Hge4sCJ5TbOedQzZk1vRoD95Cs0l0nzqzxVU5Eic2WLF2SLp9td3OnmexuUQ4o5SGXQHySGjlLVWVEB3/ATrGC6T%2BiBpZ1CRI3HnivWwWKU/OdOp89WsIxAiO%2B1mI2pb2S%2B425MSKnJ6pXCzNOfF6Un14SNoq5Hu4%2B7OoCJH4uRSPBSU16PNyN%2B6J4SISeqDjjuVyCSnFLXr9ag%2BcJB1DPcIAoq%2B%2B551il6hIkfizhTWso7gFLtdQF6x9LvVCJESuRQ5ZfUVNPjYTcXfb4Vgl%2B%2B1q/hxL0wNjaxjuI2KHAlrM5pRWiWfD5ccxg4RIiVyGetitJhQ19rAOobsdLS0oDxnD%2BsYvSLYbJJbTNQVVORIWF6xTlbTa58tkkerEyFSIZeWHIDG5bijZNsPsFvkv4hx2a5sWNraWMdwCxU5Ena%2BVPoDEi9WUtWIDlrigRCndFg6UC3hmY4vVdYgn4JMCqwmE0q372QdwyNsJhNKd%2B5iHcMtVORIWGG5vIocu11AcSU1aRPijPLGKlm11NLgY9eUZ%2B%2BGtb2ddQyPKdn2A2xm%2BbVKUZEjUXa7HYVl8ptgr6BMXoUZIazIqasKuJBXTkUZS3arFcVb/8s6hkeZm1tQuXcf6xguoyJHoqr1rbJc3buoglpyCHGG3IqcVpMBTe3SXUNPSqoPHYapgb/fhXJ8UoyKHImS01NVF5NrbkK8rVSGY1zkmNnbBEFA8fdbWccQRVtNDXS5J1nHcAkVORJVUiXPvwJq6lpg6pBfvy0h3mS121DZKI%2BJPi9WWi/tdfSkoOHsObSUSnvR1d6QWwFHRY5ElVU3sY7gFkEAKmqpSZuQq6lqqoHVLv3lWi5VJrMuNhZ4G4tzqYZzeWguLmEdw2lU5EhUlU6%2BhUKljLMT4g1yG4/Tibqrrq6tpga6E7msY4iuZNsPrCM4jYocCTKZrahrku%2Bjh1W6FtYRCJE0uRY5dYYGGDrkOSmcN5Rs2846gldUHTgIU5M8ehuYFzmlpaV46qmnMGfOHAwdOhQzZ850%2BL7NZsPatWuxcOFCjB07FqNGjcKCBQuwf/9%2BRonFV1Mn7yKhSi/v/ISITc4T65XRuJxuWdraUbHnR9YxvEKw2VAmk4kOmRc5%2Bfn5yMnJQb9%2B/TBw4MDLvm8ymfCPf/wDgwcPxgsvvIBXX30VcXFxuOeee7BrlzxnYOyJrt7AOkKvyD0/IWKyC3ZZFwrUZdW9ij17YOvoYB3Da8p2ZcMmgyUrfFgHmDZtGqZPnw4AWL16NU6fPu3wfX9/f%2BzYsQNhYWFd2yZOnIiSkhJ8%2BOGHuP76672a1xtqZV4k6BoMEAQBKpWKdRRCJEfXUgeTVb43Q7l2tYlJsNu5WcLBWebWVtQcOoykCeNZR7kq5i05avXVI2g0GocCBwBUKhUGDx4MnU4%2B6764Qt8o7yKnw2xFa5t8f4kTIia5L49ARc7l9KdOo53T%2B9HVlG7fwTpCj5gXOe6w2%2B04fvx4t91bPGiQ8aDjTg3N8j8HQsRQKvPVvGuadTBZ6I%2BYi8nhZi%2BGpsIiNBUVs45xVbIsctavX4/i4mLcc889rKOIgocCoZ6DcyBEDCUyL3IECLIeOO1p7Xo99CdPsY7BTJnEVyeXXZFz6NAh/O1vf8O9996LUaNGsY4jCh6KHB7OgRBPEwSBi%2B6ekjp5F2qeVJ6dc2EWVIWqOnAQljbp/r6XVZFz7tw5LFu2DNOnT8fKlStZxxGFzWZHa7v8m4KbW02sIxAiOfrWerSbjaxj9JrcxxV5it1qRXnOHtYxmLKbzajcu5d1jCuSTZFTVlaG%2B%2B%2B/H0OHDsVLL73E7ZM7hvYOLv4oaGmjIoeQSxXX8bGmUQkn59FbtceOw9xC84KVZedAkOiNSxZFjl6vx7333ovo6GisWbMGWq2WdSTRNBv4KA5aODkPQjxJ7uNxOlXT4GMA/%2BuqIjBUVKKpsIh1jG4xnyfHaDQiJ%2BfCB6WyshIGgwFbt15Y5XT06NEIDAzE/fffj/r6eqxevRoFBQUO7x8xYoTXM4uprd3MOoJHGDg5D0I8iZeWHAECSuvLkR6fyjoKM%2B36OtSd%2BYl1DMkoz85BRKr0nnhmXuTU19djxYoVDts6v163bh2SkpJw7tw5AMDy5csve39eXp74Ib3IYOSjOOClWCPEU%2ByCnZuWHAAoqitTdJFTsWePogccX6r6wEEMXXAXfAICWEdxwLzISU5O7rFQ4a2QuZo2Toocg5Gasgm5GG/zy/DSKuUOwW5HxR7pDrZlwWY2o/rQYfSZMpl1FAeyGJOjJO2cFDlGk/TXNCHEm4r0fBUFxZydjyvqfzoLU3096xiSI8UFSqnIkRhjBx/FgbHDItnR9oSwUFRXwjqCR%2BkN9WgxyXsJGndJ8WYuBY3n89FWU8M6hgMqciSGlxYQQQBMHVbWMQiRjEJ9KesIHlekL2EdwessRiNqjh5jHUOyKvfuZx3BARU5EmPkqDAwmfk5F0J6w2w1o6KhioFtfpAAACAASURBVHUMj%2BOxcOtJzeEjsJv5GFYghsq9%2ByDY7axjdKEiR2I6OCoMeDoXQnqjtL4CNkE6v/g9pUiBRU7l3n2sI0iasa4OjefzWcfoQkWOxHRY%2BCkMqMgh5IICXQnrCKIo0pfCzmHxdiXG%2Bno0nD3HOobkVe6TTpcVFTkSw1NhYDLzMb6IkN4q5HTsitFiQnVTLesYXlN94BDrCLJQc/gIbBZp/P6nIkdizBwVOWaLjXUEQpgTBAEFumLWMUSTz/G5Xapyv3RaKKTM0taGupOnWMcAQEWO5HRwVBiYzfycCyHuqjM0oMnI7yKOPBdwF2utrERrGT8zVoutav8B1hEAUJEjOTy1fvA0vogQd/He0sH7%2BXWqPkhdVa7QnciFtYP9DN9U5EiMmaPCgKeCjRB38d7SUduiR4uxlXUMUQmCQONxXGQzm6E7foJ1DCpypIanwsDC0bkQ4q782iLWEUTHe2tOa1m55GbylYPqAwdZR6AiR2p4KnKou4ooXVtHOyoaq1nHEB3vhVz1IWrFcYf%2B1ClYjEamGajIkRBBEKi7ihCOFOpLIID/NdzOc1zkCIKA6kOHWceQJbvFyrzLioocCbFYbeBpTUue5vwhxB3nawtZR/CK0vpydFjYDzIVQ2tZOdprdaxjyFbN4SNMj09FjoR0cPbINRU5ROnyapRR5NgEO7cTHrK%2BScud/uQpWE0mZsenIkdCeJshmIocomRmqxnFdWWsY3hNHqetVjVHj7KOIGt2iwV6hhMDUpEjIdSSQwg/CvWlsNr5%2Bjd9NTy2WhmqqmGo5G/1eG%2BrOcKuUKQiR0JMHXy15Bg7qMghyqWU8TidCvWlsNj4%2BjdPrTieoT%2BRy2wtKypyJMTIWZHDW9FGiCvO1RSwjuBVFpsFxXWlrGN4VO3R46wjcMFqMjFbvZ2KHAkxmvgqCto5Ox9CnGW1WVGoK2Edw%2BvOcdRlZWpoRHMRv4/Ge1vN0WNMjktFjoTwVhQYTWbWEQhhoriuDGYbX/%2BenZHHUetV7XFqxfEk3bHjEOx2rx%2BXihwJaTPyVRS0cVa0EeKssxzd7F2RryuGlZNxOawnseNNR3MzmotLvH5cKnIkpK2dr8m0jCYLbDbvV%2B6EsJZXk886AhMXHpsvZx2j16wmE%2Bp/Oss6BndYFI5U5EgIby05AJ/nRMjVWG1W5NfyvWDl1ZzjoMCrO30GdisfLVJSUnuCihxFa23jqyUHAFo5a50ipCdKHY/TiYenynS5uawjcKm1rBzGhgavHpOKHAlp4bHI4fCcCLkapY7H6ST3cTmCIECfy26GXt55%2B9q6XOT897//hZ3BCGklaDGwW99DLDyeEyFXc65a/t01vSH35Sxay8rR0dTEOga39CdPevV4Lhc5K1aswPXXX493330X9fX1YmRSrGYOC4LmVv7OiZArsdisKNApdzxOJzm3ZulyvXsTVpq6Mz95dbyTy0XO%2BvXrMWLECLzzzjuYOnUqVq5ciRMMBhPxxmq1cdm109hqZB2BEK8p0pcqejxOJzm3ZtWdPs06AtdsJhMaC7xXBPu4%2BoZRo0Zh1KhR0Ol0%2BPTTT/Hll19i8%2BbNGDJkCBYuXIiZM2dCq9WKkZVrTZy2eDS1UJFDlIOHQbeeUKArhsVmha/G5VsMU1ajEY359DMUW92pM4gaPNgrx3J74HFsbCxWrFiB7Oxs/O1vf4NKpcKTTz6JyZMn45VXXoFOp/NkTu41cloMNDS3s45AiNfw8Pi0J5hluo5V/bk8CDblrBzPiv6U91rLev10VUVFBXJzc1FaWgqNRoO0tDSsW7cON910E3bu3OmJjIpQ39TGOoIo6qnIIQphUeh6VVcix3Ws6s/8xDqCIrSUlsJsMHjlWG4VOYIgYMeOHbjvvvtwyy23YPPmzViwYAF27NiBdevWYefOnRgzZgxeeOEFT%2BflVn0Tn8VAfWMbBEFgHYMQ0RXX0Xici8lx1ue6n6jI8QpB8Nqq5C53mL733nv47LPPUFVVhcGDB%2BMvf/kLZs2a5TAOJyoqCvfddx8WL17s0bA8q%2BO0JcdktqLNaEZwoB/rKISISo4tF2LK15XAarfBR61hHcUpHc3NMFRUso6hGPVnzyJ%2B1HWiH8flIueNN97AtGnT8OKLL2L06NFXfF3fvn2xfPnyXoVTEl19K%2BsIotE1GKjIIdzjaQVuTzBbzSipK0Nq7ADWUZzScC6PdQRFqZdqS862bduQlJTU4%2Bvi4uLw8MMPuxVKiXSNfLbkAIC%2BoQ0pyVGsYxAiGqvdRvPjdONcTYF8ipy886wjKIqhsgrmVgO0IcGiHsflMTlPPPEECgu7b5YtLi6mLio32O0C9A3eGYTFQi3HrVSEAEBZfQU6rLQY7aXO1xaxjuC0hvNU5HhboxeuuctFzqFDh9DW1n2rQ1tbGw4fPtzrUErT2GKE2cLvY4tU5BDe5dF4nG7l1xbJYhkgS3s7WssrWMdQHG8Ulh5doFOv18Pf39%2BTu1SEmroW1hFEVVNHRQ7h2/laKnK6Y7SYUN5YxTpGj5qKigF6CtTrmgrEb%2BlzakzO9u3bsWPHjq6v16xZg4iICIfXdHR04NChQxg6dKhnEyoA70VAtZ7v8yPKJggCjce5inxdMfpFJbOOcVVNBVSkstBcUgK71Qq1j3gzYzu158LCQmzduhUAoFKpcODAAahUKofXaLVapKWl4cknn3QpQGlpKT744APk5uYiPz8fKSkp2Lx5s8Nr9u7di40bNyI3Nxfl5eVYsGABnnrqKZeOI2VVer5bcppajWg3WRDo78s6CiEeV9OiQ2sHvw8O9FaBrgjTh0xiHeOqmq4wzpSIy26xoKWsHOEp4g1Od6rIWbp0KZYuXQoAGDx4MNatW4fMzEyPBMjPz0dOTg6ysrJgt9u7nThu9%2B7dOHv2LEaNGoXm5maPHFdKqnT8ndOlqnTNSO0bzToGIR6XX0utOFcj9esjCAKai0tYx1Cs5pIS9kXOxc6d8%2Byz7dOmTcP06dMBAKtXr8bpblaAXbVqFZ544gkAwMGDBz16fCmo0vHdkgNcOEcqcgiPCvQlrCNIWn1bIxrbmhARFM46Src6mppgbuH/d7BUtZSKu8aZRwceuxVA3XMEZ14jVyazFXqO58jpVKmA1iqiTIU0HqdHUi4EW0rLWEdQNLGvv1MtOTfccAPeeecdDB48GNOmTbtsPM7FVCoVtm/f7rGAvKuqVcbNv0Ih50mUpd1sRFVTLesYkleoL8Wo/iNYx%2BhWS3k56wiK1lpeAcFuh0qkxgynipzRo0cjKCio6/%2BvVuQQ11QopIWDihzCo%2BK6MgigR497UiThlhxDpfQfceeZ3WKBsa4OgbGxouzfqSLn4tXEX3zxRVGCKFVFTRPrCF6hbzDAZLbCXyveo4KEeFtxHXV1OKOkvgJ2u12SQw8MVdWsIyieoapatCJHep84hSmvUU4LRyW15hDOUJHjHLPVjKrmGtYxLiMIAtqqqchhzVAlXmuaU39WV7kYIDEx0a0wSlSukJYc4MK5DuxDC3USfpTU0XgOZxXXlSE5Qlr3BnNrK2wdHaxjKF67vk60fTtV5PQ02PhSZ8%2BedTuQkhjaO9DQ3M46hteUVyunoCP8M5jaUN/WyDqGbJTWV2LSINYpHBlFvLkS5xnrGBc5zz//vGiDjY1GI3JycgAAlZWVMBgMXbMrjx49GpGRkaisrMSpU6e6Xl9WVtb1mptvvlmUXN6gtMG4ZQpqtSL8K22gBR1dUSbB69Wu17OOQCBuselUkTNv3jzRAtTX12PFihUO2zq/XrduHcaMGYODBw92TQYIAHv27MGePXsAAHl5eaJlE5vSWjaU1DVH%2BFdWX8k6gqyU1VfCLtihVklnKKipkVripMDU0CDavpk/6pKcnNxjoTJv3jxRCy1WymuVddNvMZjQbDAhLJhWqifyVyGD1bWlxGTtQL2hETEh0hmXRzMdS4PVZILNbIZGq/X4vt0qcmw2G3bv3o3CwkKYTCaH76lUKixfvtwj4XinlMfHL1ZR04Sw1HjWMQjptYpGeirHVRWN1ZIqcjqaqciRCnNLCwKiPb/0j8tFTmNjIxYsWICioiKoVKquBTUvHrNDRU7PBEFAmYIeH%2B9UXtOEYVTkEJmz2%2B2oaqaZjl1V0ViFkX2Hs47RxdxqYB2B/E9HS6soRY7LnaOvvfYa/Pz8sGvXLgiCgC%2B%2B%2BALbtm3DkiVL0L9/f2RnZ3s8JI8aW4xoN5pZx/A6Jc0LRPhVZ2iAxWZhHUN2qpt1rCM4sF3SE0HYEetRfpeLnAMHDmDJkiWI/d/shGq1Gn379sWqVaswfvx4/PWvf/V4SB4p7cmqTpUKG4dE%2BEStOO6plth1s9IcOZIhmSKnpqYGSUlJ0Gg0UKvVMBqNXd%2B7/vrrsXfvXo8G5JUSx%2BMAF4q7zi5OQuSqRmItEnJR06yT1L9/mghQOqwitaq5XORERETAYLjQjxkbG4vz5893fa%2B5uRk2m81z6Tim1JacdpMFjS3Gnl9IiITVttD8Ku4wWkxoMbWyjtFFsNtZRyCdRCp%2BXR54PGzYMOTn52Pq1KmYPHky1qxZg%2BDgYPj6%2BuLVV19FVlaWGDm5U6WQ1ce7U6lrRmRYIOsYhLhN31rPOoJs6VsbEBYQyjoGUQiXW3IWLlyIkJAQAMCjjz6K6OhorFq1Co8//jg0Gg2efPJJj4fkjSAIqNQp99HFKgWfO%2BGD3kBFjrvq6NoRL3K5JWf8%2BPEYP348ACAyMhKbNm3C%2BfPnoVKpkJKSAh8f5vMLSl5LWwfaFPhkVSclt2IR%2BbMLdtQZxJuhlXdSagVT%2B2hYRyD/o9KI87PodUWiUqmQnp7uiSyKUa1XdktGdZ10%2BuQJcVWryQCbncYeuquxXToPXfj40%2BzrUiHWz8LlIufw4cM9vmbUqFFuhVGKGoXf5JV%2B/kTeGtuoJbI3GiR0/TR%2BVORIhUYqRc6iRYt6XJH87NmzbgdSgpo6Zbfk1De1wWyxQutLXZtEfqTUEiFHUrp%2BPoEBrCOQ//EJkEiRs27dusu2NTY2YseOHTh27BieeuopjwTjWW29sqcSFwRA39CGpLgw1lEIcVmzkVoie6NFQtfPL4x%2BB0mFf3i4KPt1ucgZPXp0t9tvuukmPPXUU9izZw8mT57c62A80ym8yAEAXYOBihwiS60m%2BvfbG60mAwRB6LFHwBv8I8S5sRLXqDQa%2BAYHi7Jvlx8hv5oZM2Zgy5Ytntwll3QN9EuSrgGRqxYqcnrFarfBaJHGmlF%2BIrUeENf4hYeLVvR6tMhpaWmB2azcR6Od0W6yKPrx8U51jW2sIxDilvaOdtYRZK9NItcwMCaGdQQCIDBWvJ%2BDy91VVVVVl20zm83Iy8vDK6%2B8QjMe96ChiW7uAFBH14HIVLtEWiHkTCotOcEJCawjEIj7c3C5yJk2bVq3zUqCIGDAgAE08LgHdHO/gFpyiFwZzbT2Wm9J5Rpqw0LhExAAq1EaeZQqKD5etH27XOQ8//zzlxU5fn5%2BSEpKQkZGBtRqj/aAcaexmf4xAaBFOolsdVipu7m3TBZprP6tUqkQnJSIpoJC1lEULTgpUbR9u1zkzJs3T4wcitHYSjd3AGhuNcJuF6BWs3/CghBXWGwW1hFkz2q3so7QJWzAACpyGAsb0F%2B0fVOzi5dRC8YFNruA1nZp/DVHiCssNuncoOVKStcwPGUA6wiKFhgbC61Ij48DbrTkLF682OnXqlQqfPTRR64egmstBmkMuJOC5lYjwoJpWnUiL1Zat6rXpFTkhA2gIoelMJGLTJeLHEEQUFxcjLq6OiQmJiImJgZ6vR5VVVWIiYlB//79HV5LHLW2UZHTqbWNWnKI/AiCnXUEDkjn3hCUEA9tWCjMzcpeboeVyMHiLvDtcpHzwAMP4I9//CM%2B/fRTjBw5smv7sWPH8Nhjj%2BH%2B%2B%2B/HlClTPBqSJ3Rj/xl1VxFZks79Wbak9PevSqVC1JAhqD5wkHUURYoaMkTU/bs8Juf111/Hww8/7FDgAMA111yDhx9%2BGK%2B99prHwvGotZ2ezOhEBR%2BRI4GqnF6T2jWMGjKYdQRF8osIR1B8nKjHcLnIKSgoQMIVJu5JSEhAUVFRr0PxShAEtNNsx12MJnpKhciPRq1hHUH2fCR2DWMyhrOOoEgxGRmir2HmcpETHR2Nbdu2dfu9rVu3Ijo6uteheGWx2mC1UX9%2BJ1regsiRj9rlXn5yCY3ErmFAdDRC%2B/ZlHUNx4q4Z2fOLesnlT9pdd92FV155BU1NTZg1axaio6NRV1eHb7/9Fj/88AMef/xxMXJyoZ1aLhxQqxaRI6m1QsiRRoKTxsZeMxItZWWsYyiGWqtF9LChoh/HrYHHJpMJ77//Pn744QcAF7ph/Pz88OCDD%2BKBBx7weEhemDqk89ikFHRY6HoQ%2BdH6aFlHkD0/Hz/WES4Tf901KNj0H9YxFCMmYzg0fuJ/DtxqM/zNb36DJUuW4Pjx42hqakJ4eDhGjBiB0NBQT%2BfjSoeZbuoX6zDTfCNEfvx9pXeDlpsACV7DkD59EJyYCEM3i1ATz0scN9Yrx3G7YzQkJASTJ0/2ZBbuUZHjyNRB3XdEfqjI6T0pXkOVSoXEcWNwfsPXrKNwz8ffH7EjsrxyLOl1jHLMYqWWi4tZrDQIm8hPgDaAdQTZk%2Bo19FbrgtLFXXctNFrvdPtSkeNFZgsVORejoo/IUYhfEOsIsifVaxgYG4tImjNHdH0mT/LasajI8SJ6fNyRlVpyiAwF%2B0vzBi0XPhofSQ/e7jOFhmGIKSg%2BHhHpaV47HhU5XmSz0039YnQ9iByF%2BIu3YrIShPoFiz4BXG/EX3cdfIOokBVLnymTvfrzpyLHi%2Bw2aU1lzprNTteDyE94AD1F2hvhgWGsI1yVRuuL5EkTWcfgktrXB0mTJnj3mF49msJRy4UjO10PIkNSv0lLXXig9IvEfjNuACTc2iRXiePGwc/LU8049Qj5tGnTnG5eUqlU2L59e69C8UpKK%2B9KATXkEDmKCApnHUHWIgKlf/0CY2IQd81I1B49xjoKV/rfON3rx3SqyBk9erSk%2B1DlQmor7zJHVR%2BRoRC/IGh9tDBbaVkSd0QFR7CO4JT%2BN86gIseDIocMZrI%2BmFNFzosvvih2DqJAVOIQOVKpVIgOjkRVUw3rKLIUExLFOoJTIgenIyxlAJqLillH4ULKLf/H5LjMx%2BSUlpbiqaeewpw5czB06FDMnDmz29fl5OTgtttuQ0ZGBmbMmIGPP/7Yy0mJp1HbIJGrmOBI1hFkKyZYHkWOSqVidmPmTUifZMRkZjA5tlMtOVUuruWRmJjo9Gvz8/ORk5ODrKws2O12CN10YRw/fhzLli3DnDlzsHr1ahw7dgzPPvsstFotfvGLX7iUjSXq8nNE14PIVWxoDOsIshUbGs06gtPir7sWgXGxaK/VsY4iaym3/B%2Bz3/ceH3gMAGfPnnX6tdOmTcP06RcGI61evRqnT5%2B%2B7DXvvPMOhg4diueffx4AMHbsWFRXV%2BONN97A7bffDrWaeYOUU9R0U3dAl4PIVUJYLOsIshQaEIJAiS7p0B2VWo2BM2/FqQ/%2ByTqKbAXExCBhzGhmx3eqyHn%2B%2BedFq8J6KlDMZjMOHDiA3/3udw7bZ82ahS%2B%2B%2BAI//fQThg8fLko2T6ObuiMq%2BohcxYdSkeOOBBlet6QJ45G/6RuY6utZR5GlgTNvhdrH7bXAe82pI8%2BbN0/sHFdUVlYGi8WClJQUh%2B2pqakAgMLCQtkUORqZtDh5i1pD14PIU2J4HOsIspQQJr/rpvbxwcCZt%2BDMR%2BtZR5Ed/8hIJHt58r9LSf4u09zcDAAIvWQCoc6vO78vB2o1tVxcTEPXg8hUWEAogvwCWceQneSIBNYR3JI8eRL8I%2BTx6LuUsG7FAZxsybmUzWbD7t27UVhYCJPJ5PA9lUqF5cuXeyTcpft1ZbsUUUuOI7mMpSLkUiqVCskRicirKWAdRVaSI51/KEVKNL6%2BGDh7JrXmuMA/MhLJU7y32viVuFzkNDY2YsGCBSgqKoJKpep6GuriYsOTRU5Y2IUp1C9tsWlpaQFweQuPlPn40E39Yj7UXUVkLDkigYocFyWHy7MlB7jQmlO4eQuNzXFS6pxZ0Pj6so7henfVa6%2B9Bj8/P%2BzatQuCIOCLL77Atm3bsGTJEvTv3x/Z2dkeDdi3b1/4%2BvqiqKjIYXtBwYVfLgMHDvTo8cRELTmOfDTyaYUj5FL9IpNZR5CVqKAIBPvLd3Vvja8vUmd3P48bcRQQHSWZRU5dvuseOHAAS5YsQWzshVHyarUaffv2xapVqzB%2B/Hj89a9/9WhArVaLsWPH4vvvv3fYvnnzZsTExGDo0KEePZ6YqCXHkUajYR2BELf1i6IixxU8XK/kSRMRGEtzJPUk9bY5zMfidHL5rltTU4OkpCRoNBqo1WoYjcau711//fXYu3evS/szGo3YunUrtm7disrKShgMhq6vGxoaAFzo/jp9%2BjT%2B8Ic/4ODBg3j33Xfx5ZdfYsWKFbIa10HdM458qegjMpYUHg8fNRXqzuKhyFH7%2BCD1tjmsY0haYFwckiaMZx2ji8ulVkREBAwGAwAgNjYW58%2Bfx6hRowBcGDdjs9lc2l99fT1WrFjhsK3z63Xr1mHMmDEYOXIk1qxZg1dffRWbNm1CfHw8/vCHP8hqtmOAWnIuRUUfkTMfjQ/6RiajqK6UdRRZGBDdj3UEj0gaPw6F336Htupq1lEkadDcOVBLqJXe5SJn2LBhyM/Px9SpUzF58mSsWbMGwcHB8PX1xauvvoqsrCyX9pecnIy8vLweXzdlyhRMmTLF1biS4iuhH7wU%2BPjQ9SDylhLTj4ocJ6XEeH8FajGo1Gqk3T4Xx99ewzqK5IT0SUbi2DGsYzhwuchZuHAhysrKAACPPvoocnNzsWrVKgAXBgk/%2BeSTnk3IEV9fuqlfTEtFDpG5lJi%2BgPOr2ChWXEg0gv3kO%2Bj4UvHXXYvQvn3R8r97Ibkgbd5cqCQ2hMTlImf8%2BPEYP/5Cf1tkZCQ2bdqE8%2BfPX1ixNSUFPhIZbCRFvnRTd0BjcojcpcYMYB1BFgbG8nWdVGo10u6YhyOvvs46imSEpaQg9pqRrGNcptcViUqlQnp6uieycI9u6o6ou4rIXUxIFEL9g9FiMrCOImmpsf1ZR/C4mKxMRAxKRWM%2BzZUEAGl3zJPk5Lwu33U3bNiAt956q9vvvfXWW9i0aVOvQ/FKS91VDuh6ELlTqVQYFJvS8wsVjsdrpFKpkHY7u3UdpSRycDqih0lzOheXi5z169dfcZbhiIgIrFu3rteheOVDA48dUPcd4cGgOP5u4J4UoA1AUng86xiiiBo6BFEymqtNLGm3S7MVB3CjyCktLUVaWlq33xs4cCBKS%2BlJgytRq1XUZXURaskhPEiPl8%2Bs6yykxaXIaj4zV6XdoezWnJjMDESmd18TSIFbn7zW1tZutxsMBpfnyVEarS8NzO7kp6VrQeSvb2QS/H39WMeQrMFxqawjiCoidSBisjJZx2Bm0LzbWEe4KpeLnPT0dHz33Xfdfm/z5s1XbOUhF/hpqfWiE7XkEB5o1Boux5x4ihJautLmzWUdgYnYkSMQniLtz77LRc6CBQvw3//%2BF6tWrUJubi5qa2uRm5uL1atXY9u2bVi4cKEYOblBLTk/oyKH8GJIwiDWESTJ39ePi%2BUcehI2oD/iJPj4tNjkUNy5fMedNWsWioqK8N577%2BGbb77p2q5Wq/HQQw9h9uzZHg3IGz8qcrpQdxXhBRU53UuPT4VGIet7DZp7G2qPHWcdw2virr0Gof2kP4u1W3eZFStW4Pbbb8fevXvR2NiIyMhITJgwAUlJSZ7Oxx3qrvoZFTmEF/0ikxGgDYDRbOz5xQoyJF45xV9ov76Iu2akYgqdQTJZqNTtu0xycjLmz5/vySyKQDf2n9G1ILxQq9UYEp%2BKY2WnWEeRlGGJyhqjmTpntiKKnNiRI2TRigO4%2BXSV2WzGZ599hscffxz33nsvSkpKAADbt29HeXm5J/Nxx9/Pl3UEyfCnIodwZGgizfx%2BsVD/YCRFJLCO4VVhA/ojxsVFquUodY58hqW4fJdpaGjA3Xffjfz8fERHR6O%2Bvh5tbW0AgB07duDHH3/E008/7emc3KDWi59RwUd4orRWi54MTUyDWsXv/DhXkjp7JvS5uaxjiCY6YzjCU%2BSzFpnLn8C//e1vaGlpwYYNG5CdnQ1BELq%2BN2bMGBw%2BfNijAXkT4EdFTid/uhaEI/GhsYgKimAdQzKGJQ5mHYGJiEGpiBzC77mnzprJOoJLXC5ysrOz8cgjj2DYsGGXTeMcFxeHmpoaj4XjEbVe/MxfS9eC8EOlUmFYEr83N1cNV3D3ndwKAWdFDBqEyMHy%2Brm6XOQYDAYkJiZ2%2Bz2r1UozHvcgwJ9u7ADgo1HTPDmEO0q%2BsV8sKTweEUHhrGMwEzVsqGwG5roiZeYtrCO4zOUiJzk5GSdOnOj2eydPnsSAAfLpq2MhkIocAHQdCJ%2BGJaZLdqFCbxqu8BYtlUqFAf93M%2BsYHhWUkIBYGS5f4XKRM2vWLKxduxbbt2/vGo%2BjUqlw8uRJrFu3DnPmyOPZeVYC/bWsI0gCtWgRHgX5BWJgdD/WMZjLSBrCOgJzCaNHwT8qinUMj0n5v5ugkuFCqy4nfuCBB3DNNdfg4YcfxoQJEwAA9913H%2BbPn4%2BsrCwsXrzY4yF5Qi0YFwQFULFH%2BJSRrOwbvFbji7Q4/ter6onaxwf9b5zBOoZHaENCkDh%2BPOsYbnH58RZfX1%2BsXbsWW7ZsQXZ2Nurr6xEREYGpU6fi1ltvhVqGlZ43BdLNHQBdB8KvjKQh%2BPr496xjMDM4PhVaH/pjDgD6TJ6E/A0bYTObWUfplb7XT4VGpg%2BKuPUMr0qlwq233opbb73V03m4F0w3dwDUkkP41T%2B6D0L8gtDa0cY6ChOZyUNZR5AMcWNPvwAAIABJREFU36BAJE2cgLKdu1hHcZtKo0HfadezjuE2l5tdOjo6YDAYHLZt2bIFL7/8Mvbt2%2BexYLwKDvJjHUESggPpOhA%2BqVVqRQ%2B8pSLHUb8ZN7CO0Cvx110L/0j5zv/kcpGzcuVKPPvss11fr1u3Do8//jjef/993HfffcjJyfFoQN5QS84FIYF0HQi/lHqjjwuNQWxoNOsYkhKSlCS7uWUu1vcG%2BbbiAG4UOadOncKkSZO6vl6/fj1mz56NI0eOYMaMGfjggw88GpA3Pj4aerII1JJD%2BJaRNAQqKO9R8iyFFnc96Xv9VNYR3BKUkIDIdPkWaIAbRU5DQwPi4uIAAOXl5SgvL8fChQsRHByMO%2B64A/n5%2BR4PyZvQIH/WEZgLC6FrQPgV7B%2BEgTHKe5RcqS1YPYm77lpoQ4JZx3BZ3%2BunyH7eJ5eLHH9/f7S2tgIAjh49isDAQGRkZAAA/Pz80N7e7tmEHAoLplaM0GAqcgjfMvsMYx3Bq/x8tEiPT2UdQ5I0vr6yewRbpdEgaYK8MnfH5SInLS0NH3/8MfLy8vDJJ59gzJgxXZVedXU1oqOpP7YndIOn1izCP6V13QxNTIevhhbdvZLkSRNZR3BJ7MgR0IaEsI7Ray4XOcuWLcPhw4dx22234dy5c7j//vu7vpednY1hw5T114s7wkICWEdgLjyUrgHhW9/IJIQHhLKO4TVKK%2BpcFdq3j6zWs5JbUXYlLpfd48aNw5YtW3DmzBkMGTIEffr06fre2LFjMWSIsmf7dEaEwm/wGrUKITTwmHBOpVIhM3koducfYB3FK2g8Ts%2BSJk5AS2kZ6xg90oaEICZjOOsYHuHW9MRJSUm48cYbHQocALjzzjuRlZXlkWA8i1B4S05YSADUankPZiPEGVl9lHHj7xOZhEgFrzrurIQxowEZDOSNHz0Kah8%2Buh57dRYNDQ0wmUyXbU9MTOzNbrkXGR7IOgJTkWHKPn%2BiHEMT06FRa2Cz21hHERV1VTnHPzwcUUMGo/6ns6yjXFXi2DGsI3iMW0XOmjVrsH79ejQ1NXX7/bNnpf0DZC1K4Tf5KIUXeUQ5Anz9MTh%2BIM5UnWcdRVRZyTQW01mJY8dIusjxj4xExCB%2BnpJzubvqq6%2B%2Bwtq1a7Fo0SIIgoClS5fi17/%2BNeLj49GvXz%2BH2ZBJ95TekqH08yfKksl5ARDkF6jIOYHcFXftNZLusoofdR1UHC207fKZfPLJJ1i6dCmWLl0KAJgxYwYee%2BwxfP/99wgKCkJjY6PHQ/ImMECLQAXPehwdEcQ6AiFew3tXTmbSEKg5uimKTRsSgigJL/MQf921rCN4lMufzNLSUmRlZXV9qC0WC4ALkwTee%2B%2B9%2BOKLLzybkFMxEfKb/dJTYqjIIQoSHxaLuNAY1jFEk6WwSQ89IU6ihYQ2NJSrrirAjSLH538jrlUqFYKDg1FTU9P1vYiICNTW1nouHceU3Jqh5HMnysRra45KpVL0iuvuirtmJOsI3YodmcVVVxXgRpHTr1%2B/rsImIyMDX375JSwWC2w2Gz7//HMkJSV5PCSPYiKVe6OPVXArFlEmXueQSY3pj2A/5f4uc1dAVBRCLpmCRQpiR4xgHcHjXC5yJk%2BejMOHDwMAfv3rX%2BPAgQMYNWoURo8ejW3btuGBBx7weEgexUXJf7psd4QE%2BSEwQMs6BiFelR6fCj8f/j731FXlvtgR0ppTTu3jg%2Bhh/BXjLj9C/vDDD3f9/7hx4/Dpp5/iu%2B%2B%2Bg1qtxpQpUzB27FiPBuRVXJQyWzOUet5E2Xw1PhiamI7jZadYR/EoXluovCF2RCYKv93MOkaXyMHp8PHnb03BXk9pmJmZiczMTE9kURSltuTERirzvAnJSh7KVZETHhiGPhE08au7wlJS4BMQAKvRyDoKACB6OJ%2Btcr0eYWQwGHDq1ClUVlZ6Is8V7dq1C3PnzsXw4cMxZcoUvPnmm7DZ5DuLaExkMDQKXNogMUY5CxYScrGMJL7W9ctMHgqVhOd7kTq1RoOoIdIZtK34Iic7Oxu/%2B93v8MQTT2Dfvn0AgI8//hiTJk3CL3/5S0yfPh2PPPJI1yPlnnTixAksW7YMKSkpePfdd3HPPffggw8%2BwMsvv%2BzxY3mLj0aNmEjldd3ER1NLDlGmqOAIJEcksI7hMVnJfBVtLERJpLDQhoYiJDmZdQxRONVdlZ2djQcffBBarRa%2Bvr745ptv8Mc//hHPPvssJkyYgPT0dJw9exY//PADPv30UyxevNijId966y0MGTIEr7zyCgBg0qRJsNlseO2113DfffchOjrao8fzloSYUNTUtbKO4VXxMVTkEOXKTBqKisZq1jF6TaNSY2iCdCe0kwuptOREDU7n7tHxTk6d1QcffIBx48bh8OHDOHr0KO666y688MIL%2BOUvf4n3338fK1euxIcffoi5c%2Bdi06ZNHg959uxZTJw40WHbpEmTYLFY8OOPP3r8eN6ixK6bxNgw1hEIYSaDk9aPQXEpCNDyN0jV24ITE6ENYf%2BHX%2BRgaRRbYnCqyCkoKMCCBQvg5%2BcHALj//vvR0dGBGTNmOLzupptuQkVFhcdDdnR0wNfXcRkErfbC45iFhYUeP563JMUp64YfHR4If22vx7oTIluDYgfA38ePdYxe4218ESsqlQqREljiQQoZxOJUkdPY2IiYmJ%2BnJe/sHoqIiHB4XXh4OFpbPd/90r9/f5w8edJh24kTJwAAzc3NHj%2BetyTGKqslJ4FacYjC%2BWh8MDQxjXWMXsvkpEVKCiLSBjE9vm9QEIKT%2BH1KzulOuItH0Xt7RP2CBQuwe/dufPTRR2hqasKRI0fw%2BuuvQ6PRyHp0f5LCbvrJCmu5IqQ7cm8FCQ8IRTI9Ou4xrNeKCk9NlfV9tCdO9x0UFRVBo9EAQNej20VFRZe9Rgxz587F%2BfPn8dJLL%2BH555%2BHr68vHn74YXz00UcOLUxyExSgRURoABpbpDFPgtiSFVbUEdIdua/1lJE8hOuboreF9u0Lta8v7CI8meyMiEEDmRzXW5wucp544onLtv3%2B9793%2BFoQBFE%2B/CqVCqtXr8by5ctRWVmJxMREWK1WvPbaa8jKktbU2K5KigtTTJGTGKes7jlCuhMTEoX4sFjUNOtYR3HL8ER5F2lSo/bxQdiA/mg8n8/k%2BOEDqcjBCy%2B8IHYOp4SEhGDw/0aBv/HGG0hKSsL48eMZp%2BqdPnHhOJ1f0/MLOdAnLpx1BEIkISNxsCyLHBVUGJbI7yBVVsIGDGBW5IQN6M/kuN7iVJEzd%2B5csXNc1cmTJ3Ho0CEMGTIEJpMJO3fuxH/%2B8x%2BsXbu2qwtNrpQyTiUyLJAW5iTkf4YlDcYPZ3ezjuGy/tF9EOxPq457GqtCIyg%2BHr6BgUyO7S2yeJ7X19cX27ZtwzvvvAMAyMrKwvr16zFy5EjGyXovOV4ZrRtKKeYIccbg%2BFRo1BrY7PJamoa6qsQRNmAAk%2BOG9u/H5LjeJIsiZ8iQIfjiiy9YxxCFUubK6aOQYo4QZ/j7%2BmFQ7ACcqylgHcUlw5Koq0oMQXGx0Pj7w2YyefW4YQoocvicx1lGAv19ER3Bf/MvFTmEOBoqs7Etfj5apMb0Zx2DSyq1GiHJSV4/bkjfvl4/prdRkSMBfRTQmkPdVYQ4Gi6zIic9PhU%2BGlk0/stSKIOCI7RvH68f09uoyJEA3sflqFTK6ZYjxFn9o/ogUBvAOobThnEwU7OUeXsVcG1oKPxC%2BZ/Wg4ocCeC9KycuKgR%2BtGYVIQ7UajUGx7Od7dYVQxOoyBFTcLJ3Z5EO4Xgph4tRkSMBvBc51FVFSPfkUjiE%2BAcjKSKBdQyuhSR5d0xOsJePxwoVORKQEBMKtZrfadJ5L%2BIIcZdcFuscEj8IahXdLsSkDQmBNiTEa8fjeVHOi9GnVgK0vhrERXnvw%2B1t1JJDSPcSwuIQGiD9f/uDE%2BTTrSZnQQnxXB6LJSpyJILnQoD3gdWEuEulUsliXM6QhEGsIyhCULwXixwvHoslKnIkgtciR6NWISFa%2Bn%2BpEsLKkHhpFxDhAaGID41lHUMRguLjvHIctVYL/3Bl/PFJRY5E8FrkxEeHwMdH3uuLESKmdIm35KTHp0Kl4nfMoJQExnqnmAyMjYFKrYzbvzLOUgZ4nUeG1/MixFMSwmIR4h/MOsYVpccPZB1BMQJjY7xznBjvHEcKqMiRiISYUC7/WkqMpSKHkKtRqVRIj5NuISHlbLwJjPFWS45yuh%2BpyJEIXx8NYiOl%2B9ecu5Ji%2BZ9Rk5DeGhSXwjpCt4K0gUgI9844EQL4BgXCJzBQ9OMEREeJfgypoCJHQngsCJKoJYeQHg2KHcA6QrdSY/vT/DheFhAV6YVjUJFDGEiI4a/IiacnqwjpUd%2BoZGh9tKxjXEaqLUw8848UvwChIocwwVuRExkWAH8/X9YxCJE8H7UGKdHeX4W6J1JtYeKZN1py/L1wDKmgIkdCeJtPJj6ar6KNEDGlxvZnHcGBRqVGfwkWXrzzE3n%2BGpVGA20wf%2BM/r4SKHAnhrWuH56UqCPG0gTHSajXpE5kEPwl2ofHOP1zccYx%2BYaGKmSMHoCJHUsJDA6D15WfivPho5fy1QEhvDYzpxzqCgxSJ5VEKsVtyxN6/1FCRIyEqlYqrx8ipJYcQ54UGhCAqWDpjJVKiqchhQRsqbje/n8j7lxoqciSGp8IgNoqfgo0QbxggoTEwA2Kkk0VJ/ELFvQdoQ/i5xziDihyJiYkMYh3BY2IiqMghxBVSecLK38cPCbQoJxNiFyFakYsoqaEiR2J4KQwCA7QICqBBi4S4ol9UMusIAIC%2BUUlQK2hwqpRo/Pyg1or3u1MbTEUOYSg6go%2BWnBhOzoMQb%2BoXKY0iRyo5lMo3SLylHcTctxRRkSMx0eF8FAe8nAch3hTsH4SooAjWMdBXIi1KSuUbKN7vT58gZf1upiJHYiLD%2BaiyI8MCWEcgRJb6RiaxjiCJDErmK%2BIinWLuW4qoyJGY0CA/%2BPrI/8cSRS05hLglOTKR6fHVKjUSw%2BOZZlA6nwB/We5biuR/N%2BWMSqVCeKj8K%2B2IUGrJIcQdfSLYFjkJYbHw1fx/e/ceF1Wd/w/8deZ%2Bn%2BEiV%2B%2BopIKm4gUjMS1Tk7xmlllZWblS2%2BbDLdNWI1NxeyiF2U13K9e0XMGU1jTFxPVuaI%2B0tJJQsAK84a9SYGbO74%2B%2BzIaXXcQ5c86ZeT0fj/5wOHzOe5gGXvP%2BfM7n6GStIdTpTBKGHFNo/W5myFGgYAgIYUEQ1Ijk0FzmkBMfFivr%2BQnQShhytCajZGMrEUOOAgVDyHEFwXMgkkOUIxJaQb5fzfGcqpKd1ihdENFJOLYSMeQokMuu/oDgsofWvC%2BRv%2Bg0WkQ75duIj%2Btx5Kc16CUbW6MPrf3LGHIUyGlTd0DQaTXcCJDoOsQ5o0Py3PQbKYOIRh9a660YchRI7SHHYTNBEAS5yyBSrRiZOjkCBEQ5mslybvoPrV6aTo5Grwu5380MOQrkUHvIsYbWnC%2BRv0XLFDQibGG8skoBBJ1WknE1IfjaMuQokF3lIcGu8pBGJLcYmW6OKVe4ooY0WmlCjiDRuErGkKNAqg85FnXXTyS3KEeELOeNdkTKcl5qSNAw5PgLQ44CqT7kqLx%2BIrk5THYYdIFfvN/MxpCjBIJGmnUzQgjeWT70nrEKWEx6qHltmM3CK6uIrocgCIiyBb6b08wuTweJSCoMOQqk0WhgMak3KNg4XUV03SLs4QE/Z6Qt8OekK5DqU66KPzw3FUOOQql5nxmLSbqNrIhCRYTVFfBzhtvCAn5OupIQTCMSYchRKIuKQ46aAxqRUoRbAxs49Fo97EZrQM9JVyF6JRpXmmGVTDUhZ/PmzbjrrrvQvXt39O3bF5mZmSgpKZG7LMlYzerthqg5oBEpRaBDTrjFGXIbxSmVKEqTRkSpwpOCqSLk7Ny5E5mZmWjTpg1yc3Px/PPP4/vvv8fEiRPx888/y12eJNS8JofTVUTXL8ziDOj5XDJMj9GVSRVy4A29kKOK7Q8//vhjxMXFITs72/dJIz4%2BHnfddRc%2B//xzpKeny1yh/5lVHBTUHNCIlMJlcQT0fGEBPh9dnej2SDKu1xN6IUcVnRy32w2r1dqglWq322WsSHpq7oaouXYipXAFuJPjNDPkKIXolSbkiCHYyVFFyBkzZgxKSkqwfPlynD9/HuXl5cjOzkZCQgJSU1PlLk8Sau6GmIwMOUTXy6QzwqAN3HuJIUc5vB6JQo7HLcm4SqaKkNOzZ08sXrwYixYtQs%2BePTFw4ECUlZXhb3/7GwwG9YaB/8as0qBgNuqgkWi3TqJQIggC7ObAdawdpuDujquJ6JYmjHjdHunW%2ByiUKkJOcXExpk2bhtGjR%2BOdd97B4sWLYTKZMGnSpCBeeKzSkKPiDhSR0jgDGDwcZlvAzkX/nVeiNTkQxZCbslLFwuM5c%2BagT58%2BmDFjhu%2BxHj16oF%2B/fli9ejUmTpwoY3XSUOvCY7XWTaRENlPg9q2xmxhylMLrrpNwbLdkdzlXIlV0co4dO4YbbrihwWPh4eGIiorCiRMnZKpKWmoNC2rtQBEpkS2Am/MF8lz030nWyQHgrZMuQCmRKkJOXFwcDh8%2B3OCxqqoqVFZWIj4%2BXqaqpKXWkKPWtURESmQzWgJ4LoYcpZAyiHglWu%2BjVKoIOePHj0dhYSGysrKwY8cObNiwAZMmTYLFYsGdd94pd3mSsKg0LKg1nBEpkTVAwUMjaGDS88a6SiFpyKkLrZCjijU548ePh16vx/vvv4/8/HxYLBYkJycjOzsbUVFRcpcnCbUu4OV0FZH/WA3mgJ2Ht3RQDklDTm2tZGMrkSpCjiAIuPvuu3H33XfLXUrAqDUsqHl/HyKlsQRouipQ56HG8XC6ym9UMV0VikxGnSo/WVlUfGNRIqWxBKiTYzGYAnIeahwpOzlSBiglYshRKEEQVHkncnZyiPzHrA9M%2BDDrAxOmqHGkXDfDq6tIMaxm9QUGNdZMpFTmAHVYAhWmqHGk7LZ4QmxNDkOOgqkxMKixZiKlClT4MHG6SlF4Cbn/MOQomNWivks6bSqsmUipAnVZNy8fVxZJdzzmdBUphV2FgcFuVV/NREplCtiaHL5vlYRrcvyHIUfB1BgY1FgzkVLpNFpoBel/TRt1fN8qidcjXcgRPdLdMkKJGHIUTG2BQasRVLu/D5ESCYIAYwC6LJyuUhZRwnUzUt4XS4kYchTMaVPXYkCHzaTKvX2IlMyok34xvyEA56DG80rYbeHCY1IMp11dIUdtoYxIDQLSyeF0laKIEnZbRC87OaQQLru6NuhSWygjUoNAdHKMenZylEQUvdKN7ZVubCViyFGwMIe67icT7lRXvURqEIhFwVx4rCyiV1Tl2ErEkKNgLru61rgw5BD5nykQnRyuyVEUKbst7OSQYmi1GoQ51DMFxJBD5H%2BGAKzJCcS6H1IGFX1u9guGHIWLDLPJXUKjNVNRrURqEZA1OezkUJBiyFG4ZmFWuUtotGbh6qmVSC0YcoiajiFH4dQScgQBiOB0FZHfBeLyboYcZdFotZKNLWikG1uJGHIULibSIXcJjRIZZoNOF1pvHqJAkHq9jEbQQK/lTuVKImik%2B9MsaEPrz35oPVsVimlml7uERomNVEedRGpjkngPG6PeqKqrOEOBwE6O3zDkKFysSjo5MQw5RJKQeg%2BbQFyiTtdGI2FXXKPTSTa2EjHkKJzdaoRDBbdLaB7tlLsEoqBk0kv7/pd6fLp2Ggm7dxpDaE1NMuSoQIsY5QeI5jEuuUsgCkpmidfkmBlyFEdrlC7kaA2h1bljyFGB5tHKDxDs5BBJQ/pODjcCVBopg4jWGFqvN0OOCrSKC5O7hP8q0mWBzRJabxyiQDEbpA057OQoj84s3c2ZdebQer0ZclSgdbyyQ07r%2BHC5SyAKWhaDdH/wAMBilHZ8unaShhxTaL3eDDkq0DzKCZ2C9zZgyCGSjuQhR%2BLx6dpJ2W2RMkApkXL/cpKPTqdFSwVPWbVhyCGSjElvhADp9rHhdJXyGGzS3QdQyrGViCFHJdq3jJS7hKtq30q5tRGpnUbQSNptsRrVceuYUKK3SbPvmKDRQGdhJ4cUSKkhJ7aZg4uOiSRmNUp3Xzgpx6amkarborfZQm53a4YclWjfWpkhpwO7OESSkzTkcE2O4hgc0nRypBpXyRhyVKJZmA2RCrwjece20XKXQBT07BJOKdlNobVGQw2MLmn2RjNJNK6SMeSoSMe2UXKXcBkl1kQUbKQMIgw5ymNySbO5qtEZepu2MuSoiNK6JpEuiyK7S0TBxmZiJyeUSNXJMYaxk0MKltw%2BRu4SGkhqHxtyi9iI5OAwSbRGQ6uHkXchVxytwQCD3f%2BvuTkiwu9jKh1DjopEuKyIbeaQuwwfpYUuomDlNEvzvneaHfygolAmCQIJQw4pXpcOsXKXAAAQBKAzQw5RQDjM0nRypBqXrp85UoKQI8GYSseQozJdE5URchJaRMBh5U6pRIHglCiMSDUuXT9LM/9vz2GODL0tPxhyVKZTQjQMeq3cZeDGxHi5SyAKGWFWaRaMhllCbyGqWlii/XuhidHphM4Ueh9MGXJUxqDXoXOC/FdZ3dgxTu4SiEKGzWiBVuP/Dzcui3LW%2BFFDlij/bs/h7/HUgiFHhbp3ai7r%2BcOdZt6UkyiANIIGLov/9zhhJ0e5rH7u5FiiGXIUbcKECUhMTLzifx9//LHc5QWU3CGne6fmvCKDKMAiJJiyCpdoGoyunzkiHBq93m/j2WKVsZ4z0HRyF9BYs2bNws8//9zgsXfffRebNm1CamqqTFXJI8xhRkKLCBwrOy3L%2BXvIHLKIQlG4NczvY0bY/D8m%2BYeg0cAaE4P/V1bml/GscQw5itauXbvLHps6dSpuuukmhIeH3tRJz6QWsoQci0mviDVBRKGmY2x7/Frzq1/H5HSVsjW/%2BSZUlx73y1jOVi39Mo7aqCbkXKq4uBjl5eV46qmn5C5FFj2TWmDVhoMBP2/3TvHQ6eS/uoso1KR3SEV6h9DqWoe6NoNvl7sE1VNtyCkoKIDZbMbAgQPlLkUWsc0caNcyEj9UVgf0vL2SQ/PTABERqY8qQ47b7cYnn3yCgQMHwmKxyF2ObLIymfKJiIiuRjVXV/3ejh07cPr0aQwbNkzuUoiIiEihVBlyCgoK4HK5kJaWJncpREREpFCqCzkXL17Eli1bMHjwYOj9uIcAERERBRfVhZzCwkL88ssvyMjIkLsUIiIiUjDVhZz169cjLi4OPXr0kLsUIiIiUjBVhZzq6mps374dQ4cO5W0FiIiI6L9S1SXkTqcThw4dkrsMIiIiUgFVdXKIiIiIGoshh4iIiIISQw4REREFJYYcIiIiCkoMOURERBSUGHKIiIgoKDHkEBERUVBS1T45/lRZWQmPx4OBAwfKXQoRERE10o8//gitVtuoY0O2k2M0GqHThWzGIyIiUiWdTgej0dioYwVRFEWJ6yEiIiIKuJDt5BAREVFwY8ghIiKioMSQQ0REREGJIYeIiIiCEkMOERERBSWGHCIiIgpKDDlEREQUlBhyiIiIKCgx5BAREVFQYsghIiKioMSQQ0REREGJIYeIiIiCEkMOERERBSWGHKIQ4vV65S6BiChgGHJClNvtRm1tLQDA4/HIXA1Jbf/%2B/Th%2B/Dg0Gr7lQ4Hb7UZdXZ3cZVCAiaLo%2B30uiqLM1SiDTu4CKPC2bduGgoICVFZWYvLkyejTp4/cJZGEtm7diuzsbDzzzDNo1aqV3OWQxLZu3YqCggKcPn0ao0ePRo8ePRAXFyd3WSSxoqIibN68GSdPnsSUKVPQvXt3eL3ekP9gE9rPPgQVFRUhJycHGRkZ6N27NxYsWODr6FDw%2Be677/DXv/4V2dnZuOWWW%2BDxeNi5C2I7duxATk4OxowZg9GjR2PJkiXIzc3F119/LXdpJKHPPvsMCxcuRP/%2B/dG1a1dkZmbixIkTIR9wAHZyQsq3336LxYsXY/r06ejVqxdcLheKi4vx7rvvonPnzujVqxd0Ov4vEUzOnTuHdu3aoWvXrigrK8OyZctQUVGBvn37Ii0tDW3atJG7RPKjvXv3YuLEiUhNTQUA/PDDD/joo4%2BwadMmxMfHw%2BFwyFwh%2BVtZWRneeustzJw5EykpKRgwYABOnjyJAwcOoGXLlnKXJzvGvBDSvHlzzJo1C7169cKpU6cwa9YsxMXFQa/X48UXX8SmTZvkLpH8zGw2Q6PR4OLFi3jhhRfQvn17DB06FHv37kVhYaHc5ZGf/fjjjyguLvb92%2BPxoG/fvti4cSMOHTokY2UkFZfLhbFjx6Jbt25wu90AAI1Gg%2B%2B//953TCivz%2BHH9hDh9XphNpvRuXNnAEBpaSkef/xx3H777QB%2Be1MUFBRg8ODBbHEGkdatW%2BPIkSPIzMxEr169MH78eACA0%2BnE0qVLMX78eJhMJpmrJH/JzMzEPffcg9OnT8NqteLs2bN4%2B%2B238eqrr2LPnj3o27ev3CWSn9ntdtxxxx3QarW%2BMNO6dWuYzWYAwIYNG%2BByuXzdvVDDv2Yh4tLgkpKS4gs4AKDVahEbGwtBEAJdGknE6/XCarXi7bffxrFjx1BQUOD7pHfhwgU4nU6ZKyR/qN8WwOv1omXLlli7di369euH/v3747XXXgMA1NbW8vUOIseOHcPJkyd9/750mYEgCIiIiMDmzZuRk5OD6OjoQJeoGIIYyn2sEFK/yv5Kq%2B3/9a9/YdmyZZg/fz7at28vU4XkTx6PB1qtFm63GzqdDidOnMAjjzyC3r17w2AwoLi4GPPmzcMNN9wgd6nUREePHkV8fDxsNpvvsbq6Ouj1%2BgbHrVmzBkuXLsVrr72Gtm3bBrpM8rPCwkL84Q9/wIQJE3D//fejRYsWlx2zZMkSrFq1ClFRUZg/fz7atWsnQ6XKwE5OkNq%2BfTsWLVqE7OxslJaW%2BoKNRqP3WKGVAAAO/ElEQVTBN998g927dwMAVq9ejVdffZUBR%2BV27NiBRYsWISsrCxUVFdBqtfB4PNDpdDhy5Ajq6uqQl5eHW265BV26dEFOTg4Djopt3boVzz33HI4cOeJ7zOPxQK/XN3h/79%2B/Hxs3bsSiRYsYcILATz/9hDVr1uDJJ5/ETz/9hA8%2B%2BABlZWW%2Br9f3LOo/4Lz88sshHXAAACIFnaKiInHQoEHiP/7xDzErK0scMGCAuHHjRlEURXHfvn3i8OHDxQMHDoiiKIqnT58Wy8rK5CyXrlNRUZE4fPhw8cMPPxSfeuop8ZlnnvF9befOneLw4cPFffv2yVgh%2BdPBgwfFQYMGifv377/sa7t27Wrw/q6pqRHPnDkT6BJJIjU1NWJRUZEoiqL47bffihMnThRffvllsbS0tMFx5eXlYklJiRwlKo529uzZs%2BUOWuRf77//Pm6%2B%2BWbcd999SE9Ph9lsxocffghBELBr1y7ceeedSEtLg8fjgdVq5WWlKlZcXIwXXngBs2fPxm233Qav14uqqiq43W643W5s3rwZQ4YMQXp6utylkp/s2bMHZrMZd999N8rKyrBy5UqsW7cODocDO3fuxJAhQ3zvb71e71uASuomiiJ0Oh1atGgBQRAQHh6OpKQkrFmzBlVVVUhJScG6detQXV2NTp06ISwsTO6SFYHTVUFIo9GgqqrK9%2B%2BxY8ciIyMDOTk5GD58OAYPHgxRFKHVamWskvwhJiYGs2fPRkpKCqqqqvDKK6/g7Nmz2L59O8aPH49bb70VQ4YMCelLSIPN76%2BimTZtGjQaDaxWKxYuXIg%2Bffrg9ttvh9fr5fs7yNRfFFK/9MDj8SAhIQHPPfccSktL8fDDD2Pu3LkMN5dgJycIOZ1OzJ07F/Hx8b51NklJSSgtLUV1dTV69OgBALySKgjY7XY0b94cAPDpp5%2BiW7duePrpp9G/f3%2BUlJSgvLwcaWlpfK2DiFarxbx581BSUoLU1FQ8/PDDSEtLQ2VlJbZu3cptIIKUKIoQBAFerxeCIPhe4/DwcBw9ehRFRUVYsWIFOnToIHOlysJ9coJQcnIyZs6cibfffhsAMHToUAC/bRpVf7kp/%2BgFnxEjRgD4zy/D%2BPh4WK1Wmasif0tISMCcOXPw4osvNng8KioKp06d8r3%2BpG7bt2/Hnj17cP78edx7773o0KGDL9x88803OHPmDPr06YNvv/0Whw8fxjvvvMOLR66AnZwglZCQAKfTiaysLJw5cwZ79%2B7Fli1bMGXKFISHh8tdHklIEARs2LABa9aswaOPPsr2dRBq3bo1IiIi8MYbb0Cn02HPnj1Yu3YtnnrqKURGRspdHl2nbdu24eWXX8bAgQPxyy%2B/ICsrCzabDV26dEFxcTFmzpyJW2%2B9FTExMbDb7bjlllt8HV1qiPvkBLmvvvoK27ZtQ01NDYYNG8bLCYNcbW0t8vLy8O677yI3N5evd5D7%2BuuvsXPnTly4cAFDhgxBQkKC3CXRdaqrq8OMGTMwcuRI3y7FTz75JI4ePYqJEyfi2LFj6NGjBwYPHsy7jDcCQw5REBFFEQcOHEB4eDhat24tdzlEdI1qa2vx4IMPYsSIERg7diwAIDc3F%2BXl5di%2BfTuWLVuGjh07clqykbgmhyiICIKA7t27y10GETWRwWDA/fffj5ycHJw8eRLV1dWorKzEkiVLMHXqVJSUlKBjx45yl6kaDDlEREQKMmjQINjtduzatQutWrXC9OnTAfwWgAwGAwBePNJYnK4iIiJSuI8%2B%2Bghvvvkm3nzzzSver4qujCuWiIiIFGzTpk1YsWIFFi5cyIBzjdjJISIiUrBTp07B7XYjJiZG7lJUhyGHiIiIghKnq4iIiCgoMeQQERFRUGLIISIioqDEkENERERBiSGHiIiIghJDDhEREQUlhhyiIJaXl4fExER8%2BeWX1/y9Fy5cQG5uLvbs2SNBZf5XXl6OxMRE5OXlNer4/fv3IykpCSdPnvQ9NmDAADz22GNSlSiZ6upqpKSkYPPmzXKXQqQoDDlEdEUXLlzA4sWLsXfvXrlL8TtRFDF37lyMHTsW8fHxcpdz3ZxOJx588EEsWLAAtbW1cpdDpBgMOUQUUHV1dXC73bLWUFRUhMOHD%2BO%2B%2B%2B6TtY7/5cKFC40%2Bdty4cTh58iQ2btwoYUVE6sKQQxRinn32WXTr1g3Hjx/HpEmT0K1bN6Snp2P%2B/Pm%2BLkB5eTlSU1MBAIsXL0ZiYiISExPx7LPP%2BsYpLS3F1KlTkZqaiqSkJAwZMgQrVqxocK49e/YgMTERa9euxfz583HzzTcjOTkZ3333HRITE7F69erL6tu2bRsSExOxZcsWAMDx48cxffp0DBo0CF27dsXNN9%2BMxx9/HEePHm3yz2DlypVITk5G27Ztr/j1oqIijBw5El26dMHgwYPxz3/%2B87JjvvnmG0yePBk9e/ZEcnIyhg8fjvz8/AbH1E8XlpeXN3i8/ufy%2B6nACRMmYNiwYdi3bx/GjRuHrl274rnnngMA7Nq1CxMmTEDv3r3RpUsX9O/fH0888USDEBQZGYm%2Bffti1apVTf65EAUbndwFEFHg1dXVYfLkyRgzZgweeugh7Nu3D0uWLIHNZkNmZiaioqKwdOlSPPLIIxgzZgzuuusuAEB4eDgA4LvvvsO4ceMQGxuLZ555Bs2aNcO///1vzJkzB2fPnkVmZmaD8y1cuBA33ngjXnjhBWg0GsTExKBTp07Iy8vzjV0vPz8fERERSE9PBwBUVlbC5XJh6tSpCA8PR3V1NfLz8zF27Fjk5%2BdfNahcTW1tLXbt2nXVLs6RI0eQnZ2NSZMmITIyEqtXr8aMGTPQqlUr9OzZEwBQUlKCcePGISIiAjNmzEBYWBjWrVuHZ599FqdOncKkSZOuqaZ6VVVVmDZtGh555BH86U9/gkajQXl5OR577DGkpKTgpZdegsPhQEVFBbZv3466ujqYzWbf9/fq1QsLFy7E%2BfPn4XA4mlQDUTBhyCEKQXV1dXjiiScwZMgQAEBqaioOHTqEgoICZGZmwmAwoHPnzgCAmJgY3HjjjQ2%2Bf968ebBarVi5ciVsNhsA4KabbkJtbS3eeustTJgwAU6n03d8y5Yt8eqrrzYYY9SoUZgzZw6%2B//57tGnTBsBvC2i3bNmC%2B%2B67Dzrdb7%2Beevbs6QsXAODxeJCeno5hw4bhgw8%2BwPTp06/puR85cgQXL170Pb9LnT17FitXrkRcXJzv/Lt378b69et9dSxevBh1dXV47733EBsbCwBIT0/H%2BfPn8dprr2HcuHGw2%2B3XVBcAnDt3Djk5Ob4uGgBs3LgRNTU1%2BPOf/4wbbrjB93hGRsZl39%2B5c2d4vV4cPHgQ/fr1u%2BbzEwUbTlcRhSBBEDBgwIAGjyUmJuKHH374n99bU1OD3bt347bbboPJZILb7fb9169fP9TU1ODgwYMNvmfQoEGXjZORkQGDwdBgiqegoAC1tbUYNWqU7zG324033ngDQ4cORVJSEjp16oSkpCSUlpbi2LFj1/rUUVlZCeA/XalLdezY0RdwAMBoNKJ169YNfja7d%2B9GamqqL%2BDUGzlyJC5cuIADBw5cc13AbwuIfx9w6uvR6/V4/vnnkZ%2Bfj7Kysqt%2Bf/1zqqioaNL5iYINOzlEIchsNsNoNDZ4zGAwoKam5n9%2B77lz5%2BB2u7F8%2BXIsX778isecPXu2wb%2BbNWt22TEulwsDBgzA2rVr8cc//hFarRb5%2Bfno0qUL2rdv7ztu/vz5WLFiBSZNmoSePXvC6XRCEATMnDmzUfVe6uLFiwBw2fP/fV2XuvRnc%2B7cuSs%2Bp6ioKN/Xm%2BJKY7Zs2RLvvPMOli5diqysLPz6669o0aIFJkyYgAceeKDBsfXPqSk/F6JgxJBDRNfE4XBAq9Vi%2BPDhuPfee694TPPmzRv8WxCEKx43atQofPLJJ9ixYwfi4uLw5ZdfYvbs2Q2OWbduHUaMGIGnn366weNnz55t0rqTsLAwAL9NjTWVy%2BVCVVXVZY/Xd4nqz1EfOi69rPvSEFjvaj%2BnlJQUpKSkwOPx4NChQ1i%2BfDnmzp2LyMhI3HHHHb7j6p9T/fmJQh1DDhFdkcFgAPCfzkc9s9mM3r1746uvvkJiYqLvuKZIS0tDdHQ08vLyEBsbC6PRiGHDhjU4RhAE6PX6Bo999tlnqKioQKtWra75nAkJCQCAEydONLnu1NRUfPrpp6ioqEB0dLTv8Y8%2B%2Bghms9m3hql%2BD56jR482WCBdWFjYpPNqtVp07doVbdu2xfr163H48OEGIad%2BKqv%2BORKFOoYcIroim82G%2BPh4bNmyBampqXA6nQgLC0Pz5s0xY8YM3HvvvRg/fjzuuecexMfH45dffsGJEydQWFiI9957r1Hn0Gq1GDFiBP7%2B97/DZrPhtttuu2zBbv/%2B/X1XUSUmJuLw4cNYtmwZYmJimvS8YmJi0KJFC3zxxRdN%2Bn4AmDJlCrZu3Yr7778fU6ZMgdPpxPr16/HZZ59h2rRpvueQnJyMNm3aYMGCBfB4PHA4HNi8eTM%2B//zzRp9r5cqV2L17N/r374/Y2FjU1NRgzZo1AIC%2Bffs2OPaLL76Ay%2BVCYmJik58bUTBhyCGiq3rppZewYMECTJ48GbW1tRg5ciTmz5%2BPdu3aIS8vD0uWLEFOTg7OnDkDu92OVq1a%2BS79bqxRo0bhzTffxJkzZzB69OjLvj5jxgzodDq89dZb%2BPXXX9GpUyfk5ubilVdeafLzysjIwIoVK1BbW9ukTlTbtm2xatUqLFy4EFlZWbh48SISEhIwb968BoumtVot3njjDbz44ouYNWsWDAYD7rjjDvzlL3/Bo48%2B2qhzdezYETt27EBubi6qqqpgsVjQoUMHvP7660hLS/MdJ4oiCgsLkZGRcdVpL6JQI4iiKMpdBBFRIFVUVGDgwIFYsGABhg4dKnc5frFr1y489NBDKCgo4HQV0f/hJeREFHKio6PxwAMP4PXXX4fX65W7HL9YsmQJRo8ezYBD9DucriKikDR58mSYzWZUVFRctt%2BN2lRXV6NXr15XvdqNKFRxuoqIiIiCEqeriIiIKCgx5BAREVFQYsghIiKioMSQQ0REREGJIYeIiIiCEkMOERERBSWGHCIiIgpKDDlEREQUlP4/fpGCIC%2BXTtwAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHUCAYAAADY2TmsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeXhU1fkH8O/MJJN93xe2EBK2JKCyryKoP2URtEXLIm5FwYraUvCxtdq61bov2IraCnUXpIpIkSUB2dewCCH7nsxkzyQzme3%2B/qCJDAQyM5k7595z38/z%2BDzmZube770Zct%2Bcc%2B45KkEQBBBCCCGEcEbNOgAhhBBCiBioyCGEEEIIl6jIIYQQQgiXqMghhBBCCJeoyCGEEEIIl6jIIYQQQgiXqMghhBBCCJeoyCGEEEIIl6jIIYQQQgiXqMgh3Fu%2BfDkyMzPR0tJyxdf89re/xbBhw1BXVwcASE9Px1tvveXysSoqKpCeno6NGzd2bdu4cSPS09NRUVHhevheOnjwINLT03Hw4EGX33vs2DG89dZbV71u7tqyZQtuvfVWZGZmIj09HWfPnvX4MTzh0s9Bd9czJyfHrc8KL672OVm0aBEWLVrEIBUhF1CRQ7h3xx13oKOjA99%2B%2B223329tbcX27dsxdepUREdHAwA%2B//xz/OIXv/DI8adOnYrPP/8csbGxHtmftxw/fhxvv/22x4uchoYG/P73v0efPn3w/vvv4/PPP0f//v09egyxDBs2DJ9//jmGDRvWtS0nJwdvv/02w1RsXe1z8qc//Ql/%2BtOfGKQi5AIf1gEIEdvkyZMRGxuLDRs2YMGCBZd9f/PmzTCZTLjjjju6to0YMcJjx4%2BMjERkZKTH9id3xcXFsFgsmD17NkaPHs06jkuCg4M9%2BtmQC6PRiICAAJffl5qaKkIaQpxHLTmEexqNBnPnzsWZM2eQl5d32fc3btyImJgYTJ48uWtbd91V58%2Bfx0MPPYRRo0YhIyMDc%2BbMwddff93j8bvrrlq0aBFmzpyJkydP4le/%2BhWysrJwww034L333oPdbu9xn%2Bnp6fjzn/%2BMzz77DDfddBOGDx%2BOW265Bd99912P7wWAHTt2YP78%2BcjKysLIkSNxzz334Pjx413ff%2Butt/DSSy8BAG644Qakp6c71e3V035Xr16NX/3qVwCAxx57DOnp6T12Z5w4cQJ33nknMjIyMHHiRLzyyiv44osvLrumV%2BpinDZtGlavXt31dUNDA55%2B%2BmnccsstGDlyJMaNG4fFixfjyJEjV80BXN5dtXr1anz88cddx%2B/8r6KiAnfffTduvvlmXLoGsiAImDFjBn79619f9Vh2ux1r167FzTffjOHDh2PcuHH4/e9/j5qamq7XPPfccxgxYgQMBsNl73/00Ucxfvx4WCyWrm1btmzB/PnzMWLECIwcORL33XcffvrpJ4f3rV69GiNHjkReXh7uvfdejBw5EkuWLOk2Y0%2Bfk0u7qzq7c99//3289957mDZtGjIzM7Fo0aKu4vfll1/GxIkTce2112L58uWor6%2B/7LjOnAchABU5RCFuv/12qFQqbNiwwWF7QUEBTp48iblz50Kj0Vzx/UVFRbjzzjtRUFCAJ598Em%2B//TZSU1OxevVqrF271q1Mer0eK1euxOzZs/Huu%2B9i8uTJeOWVV/DNN9849f6dO3di/fr1eOSRR/Dmm28iMTERjz/%2BOLZu3XrV93377bdYtmwZgoOD8corr%2BC5555Dc3MzFi1a1HWj/8UvftF1c3r77bfx%2BeefX9ZN485%2Bly1bhqeeegoA8Pjjj%2BPzzz%2B/andGQUEBlixZgtbWVrz44ot45pln8NNPP%2BHdd9916hp1p6mpCQDw8MMP4x//%2BAdeeOEF9OnTB4sWLXJ57NKyZctw0003AUDXNersmly8eDGKi4uxf/9%2Bh/fs3r0bZWVl3bYqXuzpp5/Gyy%2B/jAkTJuDdd9/FihUrsGfPHtx5551oaGgAcOFzbTQa8f333zu8t6WlBTt27MDs2bPh6%2BsLAPj73/%2BOxx9/HAMHDsTrr7%2BOl156CW1tbViwYAEKCgoc3m%2BxWPDQQw9h7NixWLNmDX7zm990m9GdzwkAfPLJJzh27BieeuopPPvssygqKsKDDz6IJ598Eg0NDXj%2B%2BeexcuVK7Nu3D08%2B%2BaTDe105D0IgEKIQCxcuFMaMGSOYzeaubS%2B%2B%2BKKQlpYmFBcXO7w2LS1NePPNN7u%2Bfuyxx4Thw4cLVVVVDq%2B7//77haysLKGlpUUQBEEoLy8X0tLShA0bNnS9ZsOGDUJaWppQXl7ukCUtLU3Izc112N8tt9wi3HvvvT2eS1pampCZmSno9fqubVarVbj55puFGTNmdG07cOCAkJaWJhw4cEAQBEGw2WzCxIkThZkzZwo2m63rdQaDQRg3bpwwf/78rm3vv//%2BZbmvxJX9dmb6/vvve9zvo48%2BesXzvDTbpT%2BzTtdff72watWqKx7DarUKFotFuPvuu4Xly5c7fO/SfV56PQVBEJ555hkhLS3tsv3abDbhhhtuEB566CGH7ffff78wffp0wW63XzFTQUGBkJaWJjz99NMO23Nzc4W0tDTh1Vdf7do2d%2B5ch%2BsrCILw8ccfC2lpaUJeXp4gCIJQVVUlDB06VPjLX/7i8DqDwSBMmDBBWLFiRde2VatWCWlpacJXX311xXwXu9rnZOHChcLChQu7vu789zF79myHz8m//vUvIS0tTXjwwQcd3v/cc88JaWlpQmtrq8vnQYggCAK15BDFuP3229HY2IidO3cCAKxWK7755htcd911PQ58PXDgAMaNG4eEhASH7XPnzoXRaHToknFWTEwMMjMzHbalp6ejqqrKqfePGzeua6A0cKFb7pZbbkFpaalDl8bFiouLodPpMGfOHKjVP//zDwoKwo033ojc3FwYjUaXz0Ws/R48ePCK59kbn376KebOnYuMjAwMHToUw4YNw/79%2B1FYWNir/V5MrVZj4cKFyM7O7vqZlpWVYc%2BePfjVr34FlUp1xfd2tijNnTvXYXtmZiYGDhzo0Do0b948HD9%2BHEVFRV3bNm7ciIyMDKSlpQEAfvzxR1itVsyZMwdWq7XrPz8/P4waNQqHDh26LENnC5UYpkyZ4vA5GThwIIALg/Qv1rm98/q5cx5E2ajIIYpx8803IyQkpOvx7pycHNTV1TkMOL6SpqYmxMTEXLa984mpzi4QV4SHh1%2B2TavVoqOjw6n3X3zjv3TblfI0NjYCwBXPxW63u/U0lVj7bWpquup5uuOf//wnnn76aWRmZuKtt97CF198ga%2B%2B%2BgqTJk1y%2Bto76/bbb4efnx8%2B%2B%2BwzAMDHH38Mf39/3H777Vd9X%2BfPr7sn8mJjYx1%2BvrNmzYJWq%2B0aH1ZQUIBTp05h3rx5Xa/pnBrhjjvuwLBhwxz%2B27JlS9fPr1NAQACCg4PdOGPnhIWFOXzd2aV2pe2dPxdXz4MQerqKKIa/vz9uvfVWfPnll9DpdNiwYQOCgoJw88039/je8PBw6PX6y7brdDoAQEREhMfz9qTzF35327oroICfc17pXNRqNUJDQ13OItZ%2Bw8PDr3qeF9NqtTCbzZdtv/TG980332D06NF45plnHLa3tbW5nK8nISEhmDt3Lr788kvce%2B%2B92LhxI2bOnNnjtej8%2Bel0OsTHxzt8T6fTOXzewsLCcMMNN2DTpk149NFHsWHDBvj5%2BWHmzJldr%2Bl8fefYrZ5crZWJJVfPgxBqySGKcscdd8Bms%2BGDDz7A7t27ceuttzr1aOy4ceNw4MAB1NbWOmz/z3/%2Bg4CAACaPFe/fv9/hZm%2Bz2bBlyxb07dv3shtjpwEDBiAuLg6bN292eOqnvb0d27Ztw4gRI7quh1arBQCnWjdc2a8rxowZc8XzvFRSUtJlT8/t378f7e3tDttUKlXXuXU6d%2B4cTpw44XI%2B4OfrZDKZuv3%2BokWL0NjYiEceeQQtLS1YuHBhj/scO3YsAFw2CP3kyZMoLCzs%2Bn6nefPmQafTIScnB99%2B%2By1mzJjhUEhNnDgRPj4%2BKCsrQ0ZGRrf/ucuVz0lviXkehE/UkkMUJSMjA%2Bnp6fjoo48gCIJTXVXAhVmTd%2B3ahcWLF2P58uUICwvDt99%2Bi%2BzsbKxcuRIhISEiJ79cREQE7r77bixbtgwBAQH45JNPUFRUhNdee%2B2K71Gr1Vi5ciV%2B97vfYenSpZg/fz7MZjM%2B%2BOADtLS04Le//W3XazvHc3z00UeYO3cufHx8MGDAgG67MVzZryseeugh7Ny5E3fffTeWL18Of39/fPzxx92O75kzZw7eeOMNvPHGGxg9ejQKCgrw73//%2B7KfzdSpU7FmzRq8%2BeabGDVqFIqLi7FmzRokJyfDZrO5nLHzOq1duxaTJ0%2BGWq1Genp6181/wIABmDRpEnbv3o1rr70WgwcP7nGfKSkpmD9/Pv79739DrVZj8uTJqKysxBtvvIGEhITLHumeOHEi4uPj8cwzz0Cv1zt0VQFAcnIyHnnkEbz%2B%2BusoLy/H5MmTERoairq6Opw6dQoBAQF45JFHXD73i8/fmc9Jb4l5HoRPVOQQxbnjjjvw3HPPITU1FVlZWU69JyUlBZ999hleffVV/PnPf4bJZMLAgQPxwgsvXHZD8ZZp06YhNTUVr7/%2BOqqrq9GnTx%2B8/PLLPQ7KnTVrFgICAvDee%2B/hscceg0ajQVZWFtatW4drrrmm63VjxozB0qVL8fXXX%2BPLL7%2BE3W7HunXrMGbMmF7t1xVpaWn45z//ib/%2B9a9YtWoVwsLCMHv2bNx000344x//6PDa%2B%2B67DwaDAV9//TU%2B/PBDZGZm4o033sCyZcscXvfggw/CaDTiq6%2B%2Bwvvvv4/U1FQ8/fTT2L59u1sDV2fOnIljx47hk08%2BwTvvvANBELBjxw4kJyd3veaWW27B7t27nWrF6fT000%2BjT58%2B%2BOqrr/DJJ58gODgYkyZNwm9/%2B9vLukfVajVuu%2B02/P3vf0dCQgLGjRt32f6WLl2KgQMHYt26dfjuu%2B9gNpsRExOD4cOH46677nL5vDu5%2BjnpLbHOg/BJJQiXzFRFCJG89PR0LFiwoGvOGaXZuHEjnnjiicuKCan6zW9%2BgxMnTmDnzp1dg2kJIeKjlhxCCBGB2WzGmTNncPLkSfzwww9YvXo1FTiEeBkVOYQQIgKdToc777wTwcHBmD9/Pq3GTQgD1F1FCCGEEC7RI%2BSEEEII4RIVOYQQQgjhEhU5hBBCCOGSYgceX3fddV3zKxBCCCFEHvR6PbRaLY4cOdLjaxVb5HR0dLg1uykhhBBC2LFarXD2mSnFFjmdq/vu2LGDcRJCCCGEOOuGG25w%2BrU0JocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFcoiKHEEIIIVyiIocQQgghXKIihxBCCCFc8mEdgBBCCCE9E%2Bx2WI2mHl%2Bn9tFA4%2BfnhUTSR0UOIYQQIgPNxSXY98xfenxdTFYmRv32MS8kkj7qriKEEEJkoKmwyOnXCYIgchp5oCKHEEIIkYGmokKnXmcxGNCu04ucRh6oyCGEEEJkoKnAuZYcAGgqdK4g4h0VOYQQQojEmZqa0K7TOf36hrzzIqaRDypyCCGEEIlrdLFoaTxPRQ5ARQ4hhBAiea62zBgqq2BubRUpjXxQkUMIIYRIXP1PZ11/z9lzIiSRFypyCCGEEAkzNTbCUFXl8vvqzvwkQhp5oSKHEEIIkTB3WnEAoJ6KHPYzHpeWluKDDz5Abm4u8vPzkZKSgs2bNzu85sMPP8Q333yDiooKWK1W9OnTB/Pnz8eCBQugUqkYJSeEEELEpz95yq33tet0aKutRVBcnIcTyQfzIic/Px85OTnIysqC3W7vdpbG1tZWzJw5E4MGDYKvry/279%2BPZ599FgaDAQ8%2B%2BCCD1IQQ4h3nagqwr/CIaPsP8PXDXaPnirZ/0juC3e52kQMAuhO5GHDTjR5MJC/Mi5xp06Zh%2BvTpAIDVq1fj9OnTl71mxYoVDl%2BPHz8eVVVV%2BPrrr6nIIYRwbV/BYezOPyDqMW4adj0ig8JFPQZxT1NhISxtbW6/X597UtFFDvMxOWq1exEiIiJgsVg8nIYQQqTlbE2%2B6Mc454VjEPfoTuT26v0N5/JgNRo9lEZ%2BmBc5rrBarWhra0N2djY2bdqExYsXs45ECCGiqTc0Qt9aL/pxzlZTkSNVNUeO9er9dqu1V91dcse8u8pZpaWluPHGn5vcHnroISxZsoRdIEIIEdm5mgKvHCevhtY5kiJDZRXaqqt7vZ%2BaI0eRMGa0BxLJj2yKnISEBHz11Vdob2/H4cOHsXbtWqjVajzyyCOsoxFCiCi81Y2ka61DvaERUcERXjkecU7N0aMe2Y8u9yRsZgs0Wl%2BP7E9OZFPkaLVaZGRkAADGjBmDwMBAvPzyy7jrrrsQExPDOB0hhHiet1pyOo81IXWU145HelZ98JBH9mMzmaA/eRLx113rkf3JiazG5Fxs2LBhsNlsqKysZB2FEEI8rt7Q4JXxOJ3yvFhQkZ61VlSitbzCY/urOnDQY/uSE9kWOUePHoVKpUJycjLrKIQQ4nHnvDxOxputRqRnVQc8O22A7vgJRT5lxby7ymg0IicnBwBQWVkJg8GArVu3AgBGjx4NX19fPPDAA5g9ezb69esHq9WKAwcOYP369Zg/fz6io6NZxieEEFF4%2B7FuXWsdGtqaaL4cCRDsdlTt92zLi91iQc2Ro0ieNNGj%2B5U65kVOfX39ZZP9dX69bt06jBw5EgMGDMC//vUv1NbWwt/fH3379sUzzzyD2267jUVkQggRHYsnns7VFGD8wOu8flziqOH8eRj1eo/vt/LHvVTkeFtycjLy8vKu%2BpoXXnjBS2kIIYS9xrYm6FrrvH7c8zWFVORIQOWevaLst/7sORjr6hCgoB4Q2Y7JIYQQXuXVFjE6Ls2Xw5rVZEL1YfHWKqv4UZwCSqqoyCGEEIlh9aRTdXMtmo0tTI5NLqg%2BeAg2k0m0/Vfs3gPBbhdt/1LDvLuK9E670YzcvCrRjxMZHoj0/rGiH4cQApxn2KJyvrYIo/qPYHZ8pSvblSPq/o119ag7fQYxmRmiHkcqqMiRuT3HivHRf8Rr2uwUFuyPt5%2BcC42GGv8IEZPB1IbKphpmxz9fU0hFDiMtZWVoLhK/q7JsV7Ziihy6Y8lczhHv9N03G0xeaTEiROnOMxqP04nG5bBTumOXV46jO34CxoYGrxyLNSpyZKysuhElld77oHqroCJEyc7r2P47K2%2BsgtEs3pgQ0j1LWzuq9u7zyrEEux3lIneLSQUVOTK228tFx7GzlWht6/DqMQlRmnzGLTmCIKBQX8I0gxJV/PgjbGaz145Xlp0Nu9XqteOxQkWOTFltdvx4vMSrx7TZ7Nh3wrvHJERJzFYzSurLWcdg3mWmNILdjtLtO716THNzC6oPHfbqMVmgIkemTuZVocXg/SZlb7ceEaIkxXXlsNltrGOgQFfMOoKi6E%2BeQnttrdePW/LfbRAEwevH9SYqcmRq91E2xUZxZQMqapqYHJsQ3kmluCjSl0qi2FKK4v9uY3Lc5uISNBXwvTArFTkyZGjvwLGfKpkdf88xafwiJoQ3UilyTNYOVDRWs46hCC3l5ag/8xOz4xdvZVNgeQsVOTK0P7cUVhu7GSt/PFYMu4JmzCTEGwRBQIGEBvxKpeDiHesio%2BbIUbTrdEwziImKHBn6kXFLSmOLEWcKvN9/TAjP9K31aDUZWMfoUqgvZR2Be6bGRlTt2882hCCg%2BL8/sM0gIipyZKa2vhX5pd5fnfhSe738ZBchvCvQS6vlpJBackRX8sN2CDb2Y58qcnbDbJBOge1JVOTIjFQe4T58ugxmC/9zLBDiLYU6abWc1LbWSapliTcWoxFlO70zw3FPbGYzynZ49xF2b6EiR0YEQcA%2BibSgGDusTAc/E8KboroS1hEuU0RdVqIp35UNa7uRdYwuJdu2e3UyQm%2BhIkdGymuaUKlrYR2jy/5c%2BgVIiCeYrRaUNUhvbbiiOvo3Lga71crssfErMbe2omLPj6xjeBwVOTKy74S0fuGcOFeJdpOFdQxCZK%2BsoUKS89LQ4GNxVO7bj45G6c03VrRlK%2BwSGCPkSVTkyIQgCDh4Ulq/cCxWO479VME6BiGyJ9VuoeK6Mu5nxPU2wW5H0XdbWMfollGvRw1nSz1QkSMTZdVNqK2X3iDAw6fZr7NDiNwV15WxjtCtto526FvrWcfgSs3RY2irrmEd44oKN2/hqrClIkcmpFpM5OZVwWSmp6wI6Y3iOmn%2B%2BwaAIokWYHIkCAKKNn/HOsZVtZaXQ597knUMj6EiRyYOn5bmLxqzxYaTedIbMEmIXLSbjahpke6MsyVU5HhM/Zmf0FxcwjpGjwolXoi5goocGdA3GFBe08w6xhUdO0uPkhPirtJ6aY9rK66XbiuT3BR%2Bu5l1BKc0ns9HQ9551jE8goocGZB6EXHibCXsdn76cAnxJqmOx%2BlUWlcOu0Br1fVWY0Eh6s%2BeYx3DaXIpyHpCRY4MHJd4kdPS1oHCchqcSIg7SiQ8Hge4sCJ5TbOedQzZk1vRoD95Cs0l0nzqzxVU5Eic2WLF2SLp9td3OnmexuUQ4o5SGXQHySGjlLVWVEB3/ATrGC6T%2BiBpZ1CRI3HnivWwWKU/OdOp89WsIxAiO%2B1mI2pb2S%2B425MSKnJ6pXCzNOfF6Un14SNoq5Hu4%2B7OoCJH4uRSPBSU16PNyN%2B6J4SISeqDjjuVyCSnFLXr9ag%2BcJB1DPcIAoq%2B%2B551il6hIkfizhTWso7gFLtdQF6x9LvVCJESuRQ5ZfUVNPjYTcXfb4Vgl%2B%2B1q/hxL0wNjaxjuI2KHAlrM5pRWiWfD5ccxg4RIiVyGetitJhQ19rAOobsdLS0oDxnD%2BsYvSLYbJJbTNQVVORIWF6xTlbTa58tkkerEyFSIZeWHIDG5bijZNsPsFvkv4hx2a5sWNraWMdwCxU5Ena%2BVPoDEi9WUtWIDlrigRCndFg6UC3hmY4vVdYgn4JMCqwmE0q372QdwyNsJhNKd%2B5iHcMtVORIWGG5vIocu11AcSU1aRPijPLGKlm11NLgY9eUZ%2B%2BGtb2ddQyPKdn2A2xm%2BbVKUZEjUXa7HYVl8ptgr6BMXoUZIazIqasKuJBXTkUZS3arFcVb/8s6hkeZm1tQuXcf6xguoyJHoqr1rbJc3buoglpyCHGG3IqcVpMBTe3SXUNPSqoPHYapgb/fhXJ8UoyKHImS01NVF5NrbkK8rVSGY1zkmNnbBEFA8fdbWccQRVtNDXS5J1nHcAkVORJVUiXPvwJq6lpg6pBfvy0h3mS121DZKI%2BJPi9WWi/tdfSkoOHsObSUSnvR1d6QWwFHRY5ElVU3sY7gFkEAKmqpSZuQq6lqqoHVLv3lWi5VJrMuNhZ4G4tzqYZzeWguLmEdw2lU5EhUlU6%2BhUKljLMT4g1yG4/Tibqrrq6tpga6E7msY4iuZNsPrCM4jYocCTKZrahrku%2Bjh1W6FtYRCJE0uRY5dYYGGDrkOSmcN5Rs2846gldUHTgIU5M8ehuYFzmlpaV46qmnMGfOHAwdOhQzZ850%2BL7NZsPatWuxcOFCjB07FqNGjcKCBQuwf/9%2BRonFV1Mn7yKhSi/v/ISITc4T65XRuJxuWdraUbHnR9YxvEKw2VAmk4kOmRc5%2Bfn5yMnJQb9%2B/TBw4MDLvm8ymfCPf/wDgwcPxgsvvIBXX30VcXFxuOeee7BrlzxnYOyJrt7AOkKvyD0/IWKyC3ZZFwrUZdW9ij17YOvoYB3Da8p2ZcMmgyUrfFgHmDZtGqZPnw4AWL16NU6fPu3wfX9/f%2BzYsQNhYWFd2yZOnIiSkhJ8%2BOGHuP76672a1xtqZV4k6BoMEAQBKpWKdRRCJEfXUgeTVb43Q7l2tYlJsNu5WcLBWebWVtQcOoykCeNZR7kq5i05avXVI2g0GocCBwBUKhUGDx4MnU4%2B6764Qt8o7yKnw2xFa5t8f4kTIia5L49ARc7l9KdOo53T%2B9HVlG7fwTpCj5gXOe6w2%2B04fvx4t91bPGiQ8aDjTg3N8j8HQsRQKvPVvGuadTBZ6I%2BYi8nhZi%2BGpsIiNBUVs45xVbIsctavX4/i4mLcc889rKOIgocCoZ6DcyBEDCUyL3IECLIeOO1p7Xo99CdPsY7BTJnEVyeXXZFz6NAh/O1vf8O9996LUaNGsY4jCh6KHB7OgRBPEwSBi%2B6ekjp5F2qeVJ6dc2EWVIWqOnAQljbp/r6XVZFz7tw5LFu2DNOnT8fKlStZxxGFzWZHa7v8m4KbW02sIxAiOfrWerSbjaxj9JrcxxV5it1qRXnOHtYxmLKbzajcu5d1jCuSTZFTVlaG%2B%2B%2B/H0OHDsVLL73E7ZM7hvYOLv4oaGmjIoeQSxXX8bGmUQkn59FbtceOw9xC84KVZedAkOiNSxZFjl6vx7333ovo6GisWbMGWq2WdSTRNBv4KA5aODkPQjxJ7uNxOlXT4GMA/%2BuqIjBUVKKpsIh1jG4xnyfHaDQiJ%2BfCB6WyshIGgwFbt15Y5XT06NEIDAzE/fffj/r6eqxevRoFBQUO7x8xYoTXM4uprd3MOoJHGDg5D0I8iZeWHAECSuvLkR6fyjoKM%2B36OtSd%2BYl1DMkoz85BRKr0nnhmXuTU19djxYoVDts6v163bh2SkpJw7tw5AMDy5csve39eXp74Ib3IYOSjOOClWCPEU%2ByCnZuWHAAoqitTdJFTsWePogccX6r6wEEMXXAXfAICWEdxwLzISU5O7rFQ4a2QuZo2Toocg5Gasgm5GG/zy/DSKuUOwW5HxR7pDrZlwWY2o/rQYfSZMpl1FAeyGJOjJO2cFDlGk/TXNCHEm4r0fBUFxZydjyvqfzoLU3096xiSI8UFSqnIkRhjBx/FgbHDItnR9oSwUFRXwjqCR%2BkN9WgxyXsJGndJ8WYuBY3n89FWU8M6hgMqciSGlxYQQQBMHVbWMQiRjEJ9KesIHlekL2EdwessRiNqjh5jHUOyKvfuZx3BARU5EmPkqDAwmfk5F0J6w2w1o6KhioFtfpAAACAASURBVHUMj%2BOxcOtJzeEjsJv5GFYghsq9%2ByDY7axjdKEiR2I6OCoMeDoXQnqjtL4CNkE6v/g9pUiBRU7l3n2sI0iasa4OjefzWcfoQkWOxHRY%2BCkMqMgh5IICXQnrCKIo0pfCzmHxdiXG%2Bno0nD3HOobkVe6TTpcVFTkSw1NhYDLzMb6IkN4q5HTsitFiQnVTLesYXlN94BDrCLJQc/gIbBZp/P6nIkdizBwVOWaLjXUEQpgTBAEFumLWMUSTz/G5Xapyv3RaKKTM0taGupOnWMcAQEWO5HRwVBiYzfycCyHuqjM0oMnI7yKOPBdwF2utrERrGT8zVoutav8B1hEAUJEjOTy1fvA0vogQd/He0sH7%2BXWqPkhdVa7QnciFtYP9DN9U5EiMmaPCgKeCjRB38d7SUduiR4uxlXUMUQmCQONxXGQzm6E7foJ1DCpypIanwsDC0bkQ4q782iLWEUTHe2tOa1m55GbylYPqAwdZR6AiR2p4KnKou4ooXVtHOyoaq1nHEB3vhVz1IWrFcYf%2B1ClYjEamGajIkRBBEKi7ihCOFOpLIID/NdzOc1zkCIKA6kOHWceQJbvFyrzLioocCbFYbeBpTUue5vwhxB3nawtZR/CK0vpydFjYDzIVQ2tZOdprdaxjyFbN4SNMj09FjoR0cPbINRU5ROnyapRR5NgEO7cTHrK%2BScud/uQpWE0mZsenIkdCeJshmIocomRmqxnFdWWsY3hNHqetVjVHj7KOIGt2iwV6hhMDUpEjIdSSQwg/CvWlsNr5%2Bjd9NTy2WhmqqmGo5G/1eG%2BrOcKuUKQiR0JMHXy15Bg7qMghyqWU8TidCvWlsNj4%2BjdPrTieoT%2BRy2wtKypyJMTIWZHDW9FGiCvO1RSwjuBVFpsFxXWlrGN4VO3R46wjcMFqMjFbvZ2KHAkxmvgqCto5Ox9CnGW1WVGoK2Edw%2BvOcdRlZWpoRHMRv4/Ge1vN0WNMjktFjoTwVhQYTWbWEQhhoriuDGYbX/%2BenZHHUetV7XFqxfEk3bHjEOx2rx%2BXihwJaTPyVRS0cVa0EeKssxzd7F2RryuGlZNxOawnseNNR3MzmotLvH5cKnIkpK2dr8m0jCYLbDbvV%2B6EsJZXk886AhMXHpsvZx2j16wmE%2Bp/Oss6BndYFI5U5EgIby05AJ/nRMjVWG1W5NfyvWDl1ZzjoMCrO30GdisfLVJSUnuCihxFa23jqyUHAFo5a50ipCdKHY/TiYenynS5uawjcKm1rBzGhgavHpOKHAlp4bHI4fCcCLkapY7H6ST3cTmCIECfy26GXt55%2B9q6XOT897//hZ3BCGklaDGwW99DLDyeEyFXc65a/t01vSH35Sxay8rR0dTEOga39CdPevV4Lhc5K1aswPXXX493330X9fX1YmRSrGYOC4LmVv7OiZArsdisKNApdzxOJzm3ZulyvXsTVpq6Mz95dbyTy0XO%2BvXrMWLECLzzzjuYOnUqVq5ciRMMBhPxxmq1cdm109hqZB2BEK8p0pcqejxOJzm3ZtWdPs06AtdsJhMaC7xXBPu4%2BoZRo0Zh1KhR0Ol0%2BPTTT/Hll19i8%2BbNGDJkCBYuXIiZM2dCq9WKkZVrTZy2eDS1UJFDlIOHQbeeUKArhsVmha/G5VsMU1ajEY359DMUW92pM4gaPNgrx3J74HFsbCxWrFiB7Oxs/O1vf4NKpcKTTz6JyZMn45VXXoFOp/NkTu41cloMNDS3s45AiNfw8Pi0J5hluo5V/bk8CDblrBzPiv6U91rLev10VUVFBXJzc1FaWgqNRoO0tDSsW7cON910E3bu3OmJjIpQ39TGOoIo6qnIIQphUeh6VVcix3Ws6s/8xDqCIrSUlsJsMHjlWG4VOYIgYMeOHbjvvvtwyy23YPPmzViwYAF27NiBdevWYefOnRgzZgxeeOEFT%2BflVn0Tn8VAfWMbBEFgHYMQ0RXX0Xici8lx1ue6n6jI8QpB8Nqq5C53mL733nv47LPPUFVVhcGDB%2BMvf/kLZs2a5TAOJyoqCvfddx8WL17s0bA8q%2BO0JcdktqLNaEZwoB/rKISISo4tF2LK15XAarfBR61hHcUpHc3NMFRUso6hGPVnzyJ%2B1HWiH8flIueNN97AtGnT8OKLL2L06NFXfF3fvn2xfPnyXoVTEl19K%2BsIotE1GKjIIdzjaQVuTzBbzSipK0Nq7ADWUZzScC6PdQRFqZdqS862bduQlJTU4%2Bvi4uLw8MMPuxVKiXSNfLbkAIC%2BoQ0pyVGsYxAiGqvdRvPjdONcTYF8ipy886wjKIqhsgrmVgO0IcGiHsflMTlPPPEECgu7b5YtLi6mLio32O0C9A3eGYTFQi3HrVSEAEBZfQU6rLQY7aXO1xaxjuC0hvNU5HhboxeuuctFzqFDh9DW1n2rQ1tbGw4fPtzrUErT2GKE2cLvY4tU5BDe5dF4nG7l1xbJYhkgS3s7WssrWMdQHG8Ulh5doFOv18Pf39%2BTu1SEmroW1hFEVVNHRQ7h2/laKnK6Y7SYUN5YxTpGj5qKigF6CtTrmgrEb%2BlzakzO9u3bsWPHjq6v16xZg4iICIfXdHR04NChQxg6dKhnEyoA70VAtZ7v8yPKJggCjce5inxdMfpFJbOOcVVNBVSkstBcUgK71Qq1j3gzYzu158LCQmzduhUAoFKpcODAAahUKofXaLVapKWl4cknn3QpQGlpKT744APk5uYiPz8fKSkp2Lx5s8Nr9u7di40bNyI3Nxfl5eVYsGABnnrqKZeOI2VVer5bcppajWg3WRDo78s6CiEeV9OiQ2sHvw8O9FaBrgjTh0xiHeOqmq4wzpSIy26xoKWsHOEp4g1Od6rIWbp0KZYuXQoAGDx4MNatW4fMzEyPBMjPz0dOTg6ysrJgt9u7nThu9%2B7dOHv2LEaNGoXm5maPHFdKqnT8ndOlqnTNSO0bzToGIR6XX0utOFcj9esjCAKai0tYx1Cs5pIS9kXOxc6d8%2Byz7dOmTcP06dMBAKtXr8bpblaAXbVqFZ544gkAwMGDBz16fCmo0vHdkgNcOEcqcgiPCvQlrCNIWn1bIxrbmhARFM46Src6mppgbuH/d7BUtZSKu8aZRwceuxVA3XMEZ14jVyazFXqO58jpVKmA1iqiTIU0HqdHUi4EW0rLWEdQNLGvv1MtOTfccAPeeecdDB48GNOmTbtsPM7FVCoVtm/f7rGAvKuqVcbNv0Ih50mUpd1sRFVTLesYkleoL8Wo/iNYx%2BhWS3k56wiK1lpeAcFuh0qkxgynipzRo0cjKCio6/%2BvVuQQ11QopIWDihzCo%2BK6MgigR497UiThlhxDpfQfceeZ3WKBsa4OgbGxouzfqSLn4tXEX3zxRVGCKFVFTRPrCF6hbzDAZLbCXyveo4KEeFtxHXV1OKOkvgJ2u12SQw8MVdWsIyieoapatCJHep84hSmvUU4LRyW15hDOUJHjHLPVjKrmGtYxLiMIAtqqqchhzVAlXmuaU39WV7kYIDEx0a0wSlSukJYc4MK5DuxDC3USfpTU0XgOZxXXlSE5Qlr3BnNrK2wdHaxjKF67vk60fTtV5PQ02PhSZ8%2BedTuQkhjaO9DQ3M46hteUVyunoCP8M5jaUN/WyDqGbJTWV2LSINYpHBlFvLkS5xnrGBc5zz//vGiDjY1GI3JycgAAlZWVMBgMXbMrjx49GpGRkaisrMSpU6e6Xl9WVtb1mptvvlmUXN6gtMG4ZQpqtSL8K22gBR1dUSbB69Wu17OOQCBuselUkTNv3jzRAtTX12PFihUO2zq/XrduHcaMGYODBw92TQYIAHv27MGePXsAAHl5eaJlE5vSWjaU1DVH%2BFdWX8k6gqyU1VfCLtihVklnKKipkVripMDU0CDavpk/6pKcnNxjoTJv3jxRCy1WymuVddNvMZjQbDAhLJhWqifyVyGD1bWlxGTtQL2hETEh0hmXRzMdS4PVZILNbIZGq/X4vt0qcmw2G3bv3o3CwkKYTCaH76lUKixfvtwj4XinlMfHL1ZR04Sw1HjWMQjptYpGeirHVRWN1ZIqcjqaqciRCnNLCwKiPb/0j8tFTmNjIxYsWICioiKoVKquBTUvHrNDRU7PBEFAmYIeH%2B9UXtOEYVTkEJmz2%2B2oaqaZjl1V0ViFkX2Hs47RxdxqYB2B/E9HS6soRY7LnaOvvfYa/Pz8sGvXLgiCgC%2B%2B%2BALbtm3DkiVL0L9/f2RnZ3s8JI8aW4xoN5pZx/A6Jc0LRPhVZ2iAxWZhHUN2qpt1rCM4sF3SE0HYEetRfpeLnAMHDmDJkiWI/d/shGq1Gn379sWqVaswfvx4/PWvf/V4SB4p7cmqTpUKG4dE%2BEStOO6plth1s9IcOZIhmSKnpqYGSUlJ0Gg0UKvVMBqNXd%2B7/vrrsXfvXo8G5JUSx%2BMAF4q7zi5OQuSqRmItEnJR06yT1L9/mghQOqwitaq5XORERETAYLjQjxkbG4vz5893fa%2B5uRk2m81z6Tim1JacdpMFjS3Gnl9IiITVttD8Ku4wWkxoMbWyjtFFsNtZRyCdRCp%2BXR54PGzYMOTn52Pq1KmYPHky1qxZg%2BDgYPj6%2BuLVV19FVlaWGDm5U6WQ1ce7U6lrRmRYIOsYhLhN31rPOoJs6VsbEBYQyjoGUQiXW3IWLlyIkJAQAMCjjz6K6OhorFq1Co8//jg0Gg2efPJJj4fkjSAIqNQp99HFKgWfO%2BGD3kBFjrvq6NoRL3K5JWf8%2BPEYP348ACAyMhKbNm3C%2BfPnoVKpkJKSAh8f5vMLSl5LWwfaFPhkVSclt2IR%2BbMLdtQZxJuhlXdSagVT%2B2hYRyD/o9KI87PodUWiUqmQnp7uiSyKUa1XdktGdZ10%2BuQJcVWryQCbncYeuquxXToPXfj40%2BzrUiHWz8LlIufw4cM9vmbUqFFuhVGKGoXf5JV%2B/kTeGtuoJbI3GiR0/TR%2BVORIhUYqRc6iRYt6XJH87NmzbgdSgpo6Zbfk1De1wWyxQutLXZtEfqTUEiFHUrp%2BPoEBrCOQ//EJkEiRs27dusu2NTY2YseOHTh27BieeuopjwTjWW29sqcSFwRA39CGpLgw1lEIcVmzkVoie6NFQtfPL4x%2BB0mFf3i4KPt1ucgZPXp0t9tvuukmPPXUU9izZw8mT57c62A80ym8yAEAXYOBihwiS60m%2BvfbG60mAwRB6LFHwBv8I8S5sRLXqDQa%2BAYHi7Jvlx8hv5oZM2Zgy5Ytntwll3QN9EuSrgGRqxYqcnrFarfBaJHGmlF%2BIrUeENf4hYeLVvR6tMhpaWmB2azcR6Od0W6yKPrx8U51jW2sIxDilvaOdtYRZK9NItcwMCaGdQQCIDBWvJ%2BDy91VVVVVl20zm83Iy8vDK6%2B8QjMe96ChiW7uAFBH14HIVLtEWiHkTCotOcEJCawjEIj7c3C5yJk2bVq3zUqCIGDAgAE08LgHdHO/gFpyiFwZzbT2Wm9J5Rpqw0LhExAAq1EaeZQqKD5etH27XOQ8//zzlxU5fn5%2BSEpKQkZGBtRqj/aAcaexmf4xAaBFOolsdVipu7m3TBZprP6tUqkQnJSIpoJC1lEULTgpUbR9u1zkzJs3T4wcitHYSjd3AGhuNcJuF6BWs3/CghBXWGwW1hFkz2q3so7QJWzAACpyGAsb0F%2B0fVOzi5dRC8YFNruA1nZp/DVHiCssNuncoOVKStcwPGUA6wiKFhgbC61Ij48DbrTkLF682OnXqlQqfPTRR64egmstBmkMuJOC5lYjwoJpWnUiL1Zat6rXpFTkhA2gIoelMJGLTJeLHEEQUFxcjLq6OiQmJiImJgZ6vR5VVVWIiYlB//79HV5LHLW2UZHTqbWNWnKI/AiCnXUEDkjn3hCUEA9tWCjMzcpeboeVyMHiLvDtcpHzwAMP4I9//CM%2B/fRTjBw5smv7sWPH8Nhjj%2BH%2B%2B%2B/HlClTPBqSJ3Rj/xl1VxFZks79Wbak9PevSqVC1JAhqD5wkHUURYoaMkTU/bs8Juf111/Hww8/7FDgAMA111yDhx9%2BGK%2B99prHwvGotZ2ezOhEBR%2BRI4GqnF6T2jWMGjKYdQRF8osIR1B8nKjHcLnIKSgoQMIVJu5JSEhAUVFRr0PxShAEtNNsx12MJnpKhciPRq1hHUH2fCR2DWMyhrOOoEgxGRmir2HmcpETHR2Nbdu2dfu9rVu3Ijo6uteheGWx2mC1UX9%2BJ1regsiRj9rlXn5yCY3ErmFAdDRC%2B/ZlHUNx4q4Z2fOLesnlT9pdd92FV155BU1NTZg1axaio6NRV1eHb7/9Fj/88AMef/xxMXJyoZ1aLhxQqxaRI6m1QsiRRoKTxsZeMxItZWWsYyiGWqtF9LChoh/HrYHHJpMJ77//Pn744QcAF7ph/Pz88OCDD%2BKBBx7weEhemDqk89ikFHRY6HoQ%2BdH6aFlHkD0/Hz/WES4Tf901KNj0H9YxFCMmYzg0fuJ/DtxqM/zNb36DJUuW4Pjx42hqakJ4eDhGjBiB0NBQT%2BfjSoeZbuoX6zDTfCNEfvx9pXeDlpsACV7DkD59EJyYCEM3i1ATz0scN9Yrx3G7YzQkJASTJ0/2ZBbuUZHjyNRB3XdEfqjI6T0pXkOVSoXEcWNwfsPXrKNwz8ffH7EjsrxyLOl1jHLMYqWWi4tZrDQIm8hPgDaAdQTZk%2Bo19FbrgtLFXXctNFrvdPtSkeNFZgsVORejoo/IUYhfEOsIsifVaxgYG4tImjNHdH0mT/LasajI8SJ6fNyRlVpyiAwF%2B0vzBi0XPhofSQ/e7jOFhmGIKSg%2BHhHpaV47HhU5XmSz0039YnQ9iByF%2BIu3YrIShPoFiz4BXG/EX3cdfIOokBVLnymTvfrzpyLHi%2Bw2aU1lzprNTteDyE94AD1F2hvhgWGsI1yVRuuL5EkTWcfgktrXB0mTJnj3mF49msJRy4UjO10PIkNSv0lLXXig9IvEfjNuACTc2iRXiePGwc/LU8049Qj5tGnTnG5eUqlU2L59e69C8UpKK%2B9KATXkEDmKCApnHUHWIgKlf/0CY2IQd81I1B49xjoKV/rfON3rx3SqyBk9erSk%2B1DlQmor7zJHVR%2BRoRC/IGh9tDBbaVkSd0QFR7CO4JT%2BN86gIseDIocMZrI%2BmFNFzosvvih2DqJAVOIQOVKpVIgOjkRVUw3rKLIUExLFOoJTIgenIyxlAJqLillH4ULKLf/H5LjMx%2BSUlpbiqaeewpw5czB06FDMnDmz29fl5OTgtttuQ0ZGBmbMmIGPP/7Yy0mJp1HbIJGrmOBI1hFkKyZYHkWOSqVidmPmTUifZMRkZjA5tlMtOVUuruWRmJjo9Gvz8/ORk5ODrKws2O12CN10YRw/fhzLli3DnDlzsHr1ahw7dgzPPvsstFotfvGLX7iUjSXq8nNE14PIVWxoDOsIshUbGs06gtPir7sWgXGxaK/VsY4iaym3/B%2Bz3/ceH3gMAGfPnnX6tdOmTcP06RcGI61evRqnT5%2B%2B7DXvvPMOhg4diueffx4AMHbsWFRXV%2BONN97A7bffDrWaeYOUU9R0U3dAl4PIVUJYLOsIshQaEIJAiS7p0B2VWo2BM2/FqQ/%2ByTqKbAXExCBhzGhmx3eqyHn%2B%2BedFq8J6KlDMZjMOHDiA3/3udw7bZ82ahS%2B%2B%2BAI//fQThg8fLko2T6ObuiMq%2BohcxYdSkeOOBBlet6QJ45G/6RuY6utZR5GlgTNvhdrH7bXAe82pI8%2BbN0/sHFdUVlYGi8WClJQUh%2B2pqakAgMLCQtkUORqZtDh5i1pD14PIU2J4HOsIspQQJr/rpvbxwcCZt%2BDMR%2BtZR5Ed/8hIJHt58r9LSf4u09zcDAAIvWQCoc6vO78vB2o1tVxcTEPXg8hUWEAogvwCWceQneSIBNYR3JI8eRL8I%2BTx6LuUsG7FAZxsybmUzWbD7t27UVhYCJPJ5PA9lUqF5cuXeyTcpft1ZbsUUUuOI7mMpSLkUiqVCskRicirKWAdRVaSI51/KEVKNL6%2BGDh7JrXmuMA/MhLJU7y32viVuFzkNDY2YsGCBSgqKoJKpep6GuriYsOTRU5Y2IUp1C9tsWlpaQFweQuPlPn40E39Yj7UXUVkLDkigYocFyWHy7MlB7jQmlO4eQuNzXFS6pxZ0Pj6so7henfVa6%2B9Bj8/P%2BzatQuCIOCLL77Atm3bsGTJEvTv3x/Z2dkeDdi3b1/4%2BvqiqKjIYXtBwYVfLgMHDvTo8cRELTmOfDTyaYUj5FL9IpNZR5CVqKAIBPvLd3Vvja8vUmd3P48bcRQQHSWZRU5dvuseOHAAS5YsQWzshVHyarUaffv2xapVqzB%2B/Hj89a9/9WhArVaLsWPH4vvvv3fYvnnzZsTExGDo0KEePZ6YqCXHkUajYR2BELf1i6IixxU8XK/kSRMRGEtzJPUk9bY5zMfidHL5rltTU4OkpCRoNBqo1WoYjcau711//fXYu3evS/szGo3YunUrtm7disrKShgMhq6vGxoaAFzo/jp9%2BjT%2B8Ic/4ODBg3j33Xfx5ZdfYsWKFbIa10HdM458qegjMpYUHg8fNRXqzuKhyFH7%2BCD1tjmsY0haYFwckiaMZx2ji8ulVkREBAwGAwAgNjYW58%2Bfx6hRowBcGDdjs9lc2l99fT1WrFjhsK3z63Xr1mHMmDEYOXIk1qxZg1dffRWbNm1CfHw8/vCHP8hqtmOAWnIuRUUfkTMfjQ/6RiajqK6UdRRZGBDdj3UEj0gaPw6F336Htupq1lEkadDcOVBLqJXe5SJn2LBhyM/Px9SpUzF58mSsWbMGwcHB8PX1xauvvoqsrCyX9pecnIy8vLweXzdlyhRMmTLF1biS4iuhH7wU%2BPjQ9SDylhLTj4ocJ6XEeH8FajGo1Gqk3T4Xx99ewzqK5IT0SUbi2DGsYzhwuchZuHAhysrKAACPPvoocnNzsWrVKgAXBgk/%2BeSTnk3IEV9fuqlfTEtFDpG5lJi%2BgPOr2ChWXEg0gv3kO%2Bj4UvHXXYvQvn3R8r97Ibkgbd5cqCQ2hMTlImf8%2BPEYP/5Cf1tkZCQ2bdqE8%2BfPX1ixNSUFPhIZbCRFvnRTd0BjcojcpcYMYB1BFgbG8nWdVGo10u6YhyOvvs46imSEpaQg9pqRrGNcptcViUqlQnp6uieycI9u6o6ou4rIXUxIFEL9g9FiMrCOImmpsf1ZR/C4mKxMRAxKRWM%2BzZUEAGl3zJPk5Lwu33U3bNiAt956q9vvvfXWW9i0aVOvQ/FKS91VDuh6ELlTqVQYFJvS8wsVjsdrpFKpkHY7u3UdpSRycDqih0lzOheXi5z169dfcZbhiIgIrFu3rteheOVDA48dUPcd4cGgOP5u4J4UoA1AUng86xiiiBo6BFEymqtNLGm3S7MVB3CjyCktLUVaWlq33xs4cCBKS%2BlJgytRq1XUZXURaskhPEiPl8%2Bs6yykxaXIaj4zV6XdoezWnJjMDESmd18TSIFbn7zW1tZutxsMBpfnyVEarS8NzO7kp6VrQeSvb2QS/H39WMeQrMFxqawjiCoidSBisjJZx2Bm0LzbWEe4KpeLnPT0dHz33Xfdfm/z5s1XbOUhF/hpqfWiE7XkEB5o1Boux5x4ihJautLmzWUdgYnYkSMQniLtz77LRc6CBQvw3//%2BF6tWrUJubi5qa2uRm5uL1atXY9u2bVi4cKEYOblBLTk/oyKH8GJIwiDWESTJ39ePi%2BUcehI2oD/iJPj4tNjkUNy5fMedNWsWioqK8N577%2BGbb77p2q5Wq/HQQw9h9uzZHg3IGz8qcrpQdxXhBRU53UuPT4VGIet7DZp7G2qPHWcdw2virr0Gof2kP4u1W3eZFStW4Pbbb8fevXvR2NiIyMhITJgwAUlJSZ7Oxx3qrvoZFTmEF/0ikxGgDYDRbOz5xQoyJF45xV9ov76Iu2akYgqdQTJZqNTtu0xycjLmz5/vySyKQDf2n9G1ILxQq9UYEp%2BKY2WnWEeRlGGJyhqjmTpntiKKnNiRI2TRigO4%2BXSV2WzGZ599hscffxz33nsvSkpKAADbt29HeXm5J/Nxx9/Pl3UEyfCnIodwZGgizfx%2BsVD/YCRFJLCO4VVhA/ojxsVFquUodY58hqW4fJdpaGjA3Xffjfz8fERHR6O%2Bvh5tbW0AgB07duDHH3/E008/7emc3KDWi59RwUd4orRWi54MTUyDWsXv/DhXkjp7JvS5uaxjiCY6YzjCU%2BSzFpnLn8C//e1vaGlpwYYNG5CdnQ1BELq%2BN2bMGBw%2BfNijAXkT4EdFTid/uhaEI/GhsYgKimAdQzKGJQ5mHYGJiEGpiBzC77mnzprJOoJLXC5ysrOz8cgjj2DYsGGXTeMcFxeHmpoaj4XjEbVe/MxfS9eC8EOlUmFYEr83N1cNV3D3ndwKAWdFDBqEyMHy%2Brm6XOQYDAYkJiZ2%2Bz2r1UozHvcgwJ9u7ADgo1HTPDmEO0q%2BsV8sKTweEUHhrGMwEzVsqGwG5roiZeYtrCO4zOUiJzk5GSdOnOj2eydPnsSAAfLpq2MhkIocAHQdCJ%2BGJaZLdqFCbxqu8BYtlUqFAf93M%2BsYHhWUkIBYGS5f4XKRM2vWLKxduxbbt2/vGo%2BjUqlw8uRJrFu3DnPmyOPZeVYC/bWsI0gCtWgRHgX5BWJgdD/WMZjLSBrCOgJzCaNHwT8qinUMj0n5v5ugkuFCqy4nfuCBB3DNNdfg4YcfxoQJEwAA9913H%2BbPn4%2BsrCwsXrzY4yF5Qi0YFwQFULFH%2BJSRrOwbvFbji7Q4/ter6onaxwf9b5zBOoZHaENCkDh%2BPOsYbnH58RZfX1%2BsXbsWW7ZsQXZ2Nurr6xEREYGpU6fi1ltvhVqGlZ43BdLNHQBdB8KvjKQh%2BPr496xjMDM4PhVaH/pjDgD6TJ6E/A0bYTObWUfplb7XT4VGpg%2BKuPUMr0qlwq233opbb73V03m4F0w3dwDUkkP41T%2B6D0L8gtDa0cY6ChOZyUNZR5AMcWNPvwAAIABJREFU36BAJE2cgLKdu1hHcZtKo0HfadezjuE2l5tdOjo6YDAYHLZt2bIFL7/8Mvbt2%2BexYLwKDvJjHUESggPpOhA%2BqVVqRQ%2B8pSLHUb8ZN7CO0Cvx110L/0j5zv/kcpGzcuVKPPvss11fr1u3Do8//jjef/993HfffcjJyfFoQN5QS84FIYF0HQi/lHqjjwuNQWxoNOsYkhKSlCS7uWUu1vcG%2BbbiAG4UOadOncKkSZO6vl6/fj1mz56NI0eOYMaMGfjggw88GpA3Pj4aerII1JJD%2BJaRNAQqKO9R8iyFFnc96Xv9VNYR3BKUkIDIdPkWaIAbRU5DQwPi4uIAAOXl5SgvL8fChQsRHByMO%2B64A/n5%2BR4PyZvQIH/WEZgLC6FrQPgV7B%2BEgTHKe5RcqS1YPYm77lpoQ4JZx3BZ3%2BunyH7eJ5eLHH9/f7S2tgIAjh49isDAQGRkZAAA/Pz80N7e7tmEHAoLplaM0GAqcgjfMvsMYx3Bq/x8tEiPT2UdQ5I0vr6yewRbpdEgaYK8MnfH5SInLS0NH3/8MfLy8vDJJ59gzJgxXZVedXU1oqOpP7YndIOn1izCP6V13QxNTIevhhbdvZLkSRNZR3BJ7MgR0IaEsI7Ray4XOcuWLcPhw4dx22234dy5c7j//vu7vpednY1hw5T114s7wkICWEdgLjyUrgHhW9/IJIQHhLKO4TVKK%2BpcFdq3j6zWs5JbUXYlLpfd48aNw5YtW3DmzBkMGTIEffr06fre2LFjMWSIsmf7dEaEwm/wGrUKITTwmHBOpVIhM3koducfYB3FK2g8Ts%2BSJk5AS2kZ6xg90oaEICZjOOsYHuHW9MRJSUm48cYbHQocALjzzjuRlZXlkWA8i1B4S05YSADUankPZiPEGVl9lHHj7xOZhEgFrzrurIQxowEZDOSNHz0Kah8%2Buh57dRYNDQ0wmUyXbU9MTOzNbrkXGR7IOgJTkWHKPn%2BiHEMT06FRa2Cz21hHERV1VTnHPzwcUUMGo/6ns6yjXFXi2DGsI3iMW0XOmjVrsH79ejQ1NXX7/bNnpf0DZC1K4Tf5KIUXeUQ5Anz9MTh%2BIM5UnWcdRVRZyTQW01mJY8dIusjxj4xExCB%2BnpJzubvqq6%2B%2Bwtq1a7Fo0SIIgoClS5fi17/%2BNeLj49GvXz%2BH2ZBJ95TekqH08yfKksl5ARDkF6jIOYHcFXftNZLusoofdR1UHC207fKZfPLJJ1i6dCmWLl0KAJgxYwYee%2BwxfP/99wgKCkJjY6PHQ/ImMECLQAXPehwdEcQ6AiFew3tXTmbSEKg5uimKTRsSgigJL/MQf921rCN4lMufzNLSUmRlZXV9qC0WC4ALkwTee%2B%2B9%2BOKLLzybkFMxEfKb/dJTYqjIIQoSHxaLuNAY1jFEk6WwSQ89IU6ihYQ2NJSrrirAjSLH538jrlUqFYKDg1FTU9P1vYiICNTW1nouHceU3Jqh5HMnysRra45KpVL0iuvuirtmJOsI3YodmcVVVxXgRpHTr1%2B/rsImIyMDX375JSwWC2w2Gz7//HMkJSV5PCSPYiKVe6OPVXArFlEmXueQSY3pj2A/5f4uc1dAVBRCLpmCRQpiR4xgHcHjXC5yJk%2BejMOHDwMAfv3rX%2BPAgQMYNWoURo8ejW3btuGBBx7weEgexUXJf7psd4QE%2BSEwQMs6BiFelR6fCj8f/j731FXlvtgR0ppTTu3jg%2Bhh/BXjLj9C/vDDD3f9/7hx4/Dpp5/iu%2B%2B%2Bg1qtxpQpUzB27FiPBuRVXJQyWzOUet5E2Xw1PhiamI7jZadYR/EoXluovCF2RCYKv93MOkaXyMHp8PHnb03BXk9pmJmZiczMTE9kURSltuTERirzvAnJSh7KVZETHhiGPhE08au7wlJS4BMQAKvRyDoKACB6OJ%2Btcr0eYWQwGHDq1ClUVlZ6Is8V7dq1C3PnzsXw4cMxZcoUvPnmm7DZ5DuLaExkMDQKXNogMUY5CxYScrGMJL7W9ctMHgqVhOd7kTq1RoOoIdIZtK34Iic7Oxu/%2B93v8MQTT2Dfvn0AgI8//hiTJk3CL3/5S0yfPh2PPPJI1yPlnnTixAksW7YMKSkpePfdd3HPPffggw8%2BwMsvv%2BzxY3mLj0aNmEjldd3ER1NLDlGmqOAIJEcksI7hMVnJfBVtLERJpLDQhoYiJDmZdQxRONVdlZ2djQcffBBarRa%2Bvr745ptv8Mc//hHPPvssJkyYgPT0dJw9exY//PADPv30UyxevNijId966y0MGTIEr7zyCgBg0qRJsNlseO2113DfffchOjrao8fzloSYUNTUtbKO4VXxMVTkEOXKTBqKisZq1jF6TaNSY2iCdCe0kwuptOREDU7n7tHxTk6d1QcffIBx48bh8OHDOHr0KO666y688MIL%2BOUvf4n3338fK1euxIcffoi5c%2Bdi06ZNHg959uxZTJw40WHbpEmTYLFY8OOPP3r8eN6ixK6bxNgw1hEIYSaDk9aPQXEpCNDyN0jV24ITE6ENYf%2BHX%2BRgaRRbYnCqyCkoKMCCBQvg5%2BcHALj//vvR0dGBGTNmOLzupptuQkVFhcdDdnR0wNfXcRkErfbC45iFhYUeP563JMUp64YfHR4If22vx7oTIluDYgfA38ePdYxe4218ESsqlQqREljiQQoZxOJUkdPY2IiYmJ%2BnJe/sHoqIiHB4XXh4OFpbPd/90r9/f5w8edJh24kTJwAAzc3NHj%2BetyTGKqslJ4FacYjC%2BWh8MDQxjXWMXsvkpEVKCiLSBjE9vm9QEIKT%2BH1KzulOuItH0Xt7RP2CBQuwe/dufPTRR2hqasKRI0fw%2BuuvQ6PRyHp0f5LCbvrJCmu5IqQ7cm8FCQ8IRTI9Ou4xrNeKCk9NlfV9tCdO9x0UFRVBo9EAQNej20VFRZe9Rgxz587F%2BfPn8dJLL%2BH555%2BHr68vHn74YXz00UcOLUxyExSgRURoABpbpDFPgtiSFVbUEdIdua/1lJE8hOuboreF9u0Lta8v7CI8meyMiEEDmRzXW5wucp544onLtv3%2B9793%2BFoQBFE%2B/CqVCqtXr8by5ctRWVmJxMREWK1WvPbaa8jKktbU2K5KigtTTJGTGKes7jlCuhMTEoX4sFjUNOtYR3HL8ER5F2lSo/bxQdiA/mg8n8/k%2BOEDqcjBCy%2B8IHYOp4SEhGDw/0aBv/HGG0hKSsL48eMZp%2BqdPnHhOJ1f0/MLOdAnLpx1BEIkISNxsCyLHBVUGJbI7yBVVsIGDGBW5IQN6M/kuN7iVJEzd%2B5csXNc1cmTJ3Ho0CEMGTIEJpMJO3fuxH/%2B8x%2BsXbu2qwtNrpQyTiUyLJAW5iTkf4YlDcYPZ3ezjuGy/tF9EOxPq457GqtCIyg%2BHr6BgUyO7S2yeJ7X19cX27ZtwzvvvAMAyMrKwvr16zFy5EjGyXovOV4ZrRtKKeYIccbg%2BFRo1BrY7PJamoa6qsQRNmAAk%2BOG9u/H5LjeJIsiZ8iQIfjiiy9YxxCFUubK6aOQYo4QZ/j7%2BmFQ7ACcqylgHcUlw5Koq0oMQXGx0Pj7w2YyefW4YQoocvicx1lGAv19ER3Bf/MvFTmEOBoqs7Etfj5apMb0Zx2DSyq1GiHJSV4/bkjfvl4/prdRkSMBfRTQmkPdVYQ4Gi6zIic9PhU%2BGlk0/stSKIOCI7RvH68f09uoyJEA3sflqFTK6ZYjxFn9o/ogUBvAOobThnEwU7OUeXsVcG1oKPxC%2BZ/Wg4ocCeC9KycuKgR%2BtGYVIQ7UajUGx7Od7dYVQxOoyBFTcLJ3Z5EO4Xgph4tRkSMBvBc51FVFSPfkUjiE%2BAcjKSKBdQyuhSR5d0xOsJePxwoVORKQEBMKtZrfadJ5L%2BIIcZdcFuscEj8IahXdLsSkDQmBNiTEa8fjeVHOi9GnVgK0vhrERXnvw%2B1t1JJDSPcSwuIQGiD9f/uDE%2BTTrSZnQQnxXB6LJSpyJILnQoD3gdWEuEulUsliXM6QhEGsIyhCULwXixwvHoslKnIkgtciR6NWISFa%2Bn%2BpEsLKkHhpFxDhAaGID41lHUMRguLjvHIctVYL/3Bl/PFJRY5E8FrkxEeHwMdH3uuLESKmdIm35KTHp0Kl4nfMoJQExnqnmAyMjYFKrYzbvzLOUgZ4nUeG1/MixFMSwmIR4h/MOsYVpccPZB1BMQJjY7xznBjvHEcKqMiRiISYUC7/WkqMpSKHkKtRqVRIj5NuISHlbLwJjPFWS45yuh%2BpyJEIXx8NYiOl%2B9ecu5Ji%2BZ9Rk5DeGhSXwjpCt4K0gUgI9844EQL4BgXCJzBQ9OMEREeJfgypoCJHQngsCJKoJYeQHg2KHcA6QrdSY/vT/DheFhAV6YVjUJFDGEiI4a/IiacnqwjpUd%2BoZGh9tKxjXEaqLUw8848UvwChIocwwVuRExkWAH8/X9YxCJE8H7UGKdHeX4W6J1JtYeKZN1py/L1wDKmgIkdCeJtPJj6ar6KNEDGlxvZnHcGBRqVGfwkWXrzzE3n%2BGpVGA20wf%2BM/r4SKHAnhrWuH56UqCPG0gTHSajXpE5kEPwl2ofHOP1zccYx%2BYaGKmSMHoCJHUsJDA6D15WfivPho5fy1QEhvDYzpxzqCgxSJ5VEKsVtyxN6/1FCRIyEqlYqrx8ipJYcQ54UGhCAqWDpjJVKiqchhQRsqbje/n8j7lxoqciSGp8IgNoqfgo0QbxggoTEwA2Kkk0VJ/ELFvQdoQ/i5xziDihyJiYkMYh3BY2IiqMghxBVSecLK38cPCbQoJxNiFyFakYsoqaEiR2J4KQwCA7QICqBBi4S4ol9UMusIAIC%2BUUlQK2hwqpRo/Pyg1or3u1MbTEUOYSg6go%2BWnBhOzoMQb%2BoXKY0iRyo5lMo3SLylHcTctxRRkSMx0eF8FAe8nAch3hTsH4SooAjWMdBXIi1KSuUbKN7vT58gZf1upiJHYiLD%2BaiyI8MCWEcgRJb6RiaxjiCJDErmK%2BIinWLuW4qoyJGY0CA/%2BPrI/8cSRS05hLglOTKR6fHVKjUSw%2BOZZlA6nwB/We5biuR/N%2BWMSqVCeKj8K%2B2IUGrJIcQdfSLYFjkJYbHw1fx/e/ceF1Wd/w/8deZ%2Bn%2BEiV%2B%2BopIKm4gUjMS1Tk7xmlllZWblS2%2BbDLdNWI1NxeyiF2U13K9e0XMGU1jTFxPVuaI%2B0tJJQsAK84a9SYGbO74%2B%2BzIaXXcQ5c86ZeT0fj/5wOHzOe5gGXvP%2BfM7n6GStIdTpTBKGHFNo/W5myFGgYAgIYUEQ1Ijk0FzmkBMfFivr%2BQnQShhytCajZGMrEUOOAgVDyHEFwXMgkkOUIxJaQb5fzfGcqpKd1ihdENFJOLYSMeQokMuu/oDgsofWvC%2BRv%2Bg0WkQ75duIj%2Btx5Kc16CUbW6MPrf3LGHIUyGlTd0DQaTXcCJDoOsQ5o0Py3PQbKYOIRh9a660YchRI7SHHYTNBEAS5yyBSrRiZOjkCBEQ5mslybvoPrV6aTo5Grwu5380MOQrkUHvIsYbWnC%2BRv0XLFDQibGG8skoBBJ1WknE1IfjaMuQokF3lIcGu8pBGJLcYmW6OKVe4ooY0WmlCjiDRuErGkKNAqg85FnXXTyS3KEeELOeNdkTKcl5qSNAw5PgLQ44CqT7kqLx%2BIrk5THYYdIFfvN/MxpCjBIJGmnUzQgjeWT70nrEKWEx6qHltmM3CK6uIrocgCIiyBb6b08wuTweJSCoMOQqk0WhgMak3KNg4XUV03SLs4QE/Z6Qt8OekK5DqU66KPzw3FUOOQql5nxmLSbqNrIhCRYTVFfBzhtvCAn5OupIQTCMSYchRKIuKQ46aAxqRUoRbAxs49Fo97EZrQM9JVyF6JRpXmmGVTDUhZ/PmzbjrrrvQvXt39O3bF5mZmSgpKZG7LMlYzerthqg5oBEpRaBDTrjFGXIbxSmVKEqTRkSpwpOCqSLk7Ny5E5mZmWjTpg1yc3Px/PPP4/vvv8fEiRPx888/y12eJNS8JofTVUTXL8ziDOj5XDJMj9GVSRVy4A29kKOK7Q8//vhjxMXFITs72/dJIz4%2BHnfddRc%2B//xzpKeny1yh/5lVHBTUHNCIlMJlcQT0fGEBPh9dnej2SDKu1xN6IUcVnRy32w2r1dqglWq322WsSHpq7oaouXYipXAFuJPjNDPkKIXolSbkiCHYyVFFyBkzZgxKSkqwfPlynD9/HuXl5cjOzkZCQgJSU1PlLk8Sau6GmIwMOUTXy6QzwqAN3HuJIUc5vB6JQo7HLcm4SqaKkNOzZ08sXrwYixYtQs%2BePTFw4ECUlZXhb3/7GwwG9YaB/8as0qBgNuqgkWi3TqJQIggC7ObAdawdpuDujquJ6JYmjHjdHunW%2ByiUKkJOcXExpk2bhtGjR%2BOdd97B4sWLYTKZMGnSpCBeeKzSkKPiDhSR0jgDGDwcZlvAzkX/nVeiNTkQxZCbslLFwuM5c%2BagT58%2BmDFjhu%2BxHj16oF%2B/fli9ejUmTpwoY3XSUOvCY7XWTaRENlPg9q2xmxhylMLrrpNwbLdkdzlXIlV0co4dO4YbbrihwWPh4eGIiorCiRMnZKpKWmoNC2rtQBEpkS2Am/MF8lz030nWyQHgrZMuQCmRKkJOXFwcDh8%2B3OCxqqoqVFZWIj4%2BXqaqpKXWkKPWtURESmQzWgJ4LoYcpZAyiHglWu%2BjVKoIOePHj0dhYSGysrKwY8cObNiwAZMmTYLFYsGdd94pd3mSsKg0LKg1nBEpkTVAwUMjaGDS88a6SiFpyKkLrZCjijU548ePh16vx/vvv4/8/HxYLBYkJycjOzsbUVFRcpcnCbUu4OV0FZH/WA3mgJ2Ht3RQDklDTm2tZGMrkSpCjiAIuPvuu3H33XfLXUrAqDUsqHl/HyKlsQRouipQ56HG8XC6ym9UMV0VikxGnSo/WVlUfGNRIqWxBKiTYzGYAnIeahwpOzlSBiglYshRKEEQVHkncnZyiPzHrA9M%2BDDrAxOmqHGkXDfDq6tIMaxm9QUGNdZMpFTmAHVYAhWmqHGk7LZ4QmxNDkOOgqkxMKixZiKlClT4MHG6SlF4Cbn/MOQomNWivks6bSqsmUipAnVZNy8fVxZJdzzmdBUphV2FgcFuVV/NREplCtiaHL5vlYRrcvyHIUfB1BgY1FgzkVLpNFpoBel/TRt1fN8qidcjXcgRPdLdMkKJGHIUTG2BQasRVLu/D5ESCYIAYwC6LJyuUhZRwnUzUt4XS4kYchTMaVPXYkCHzaTKvX2IlMyok34xvyEA56DG80rYbeHCY1IMp11dIUdtoYxIDQLSyeF0laKIEnZbRC87OaQQLru6NuhSWygjUoNAdHKMenZylEQUvdKN7ZVubCViyFGwMIe67icT7lRXvURqEIhFwVx4rCyiV1Tl2ErEkKNgLru61rgw5BD5nykQnRyuyVEUKbst7OSQYmi1GoQ51DMFxJBD5H%2BGAKzJCcS6H1IGFX1u9guGHIWLDLPJXUKjNVNRrURqEZA1OezkUJBiyFG4ZmFWuUtotGbh6qmVSC0YcoiajiFH4dQScgQBiOB0FZHfBeLyboYcZdFotZKNLWikG1uJGHIULibSIXcJjRIZZoNOF1pvHqJAkHq9jEbQQK/lTuVKImik%2B9MsaEPrz35oPVsVimlml7uERomNVEedRGpjkngPG6PeqKqrOEOBwE6O3zDkKFysSjo5MQw5RJKQeg%2BbQFyiTtdGI2FXXKPTSTa2EjHkKJzdaoRDBbdLaB7tlLsEoqBk0kv7/pd6fLp2Ggm7dxpDaE1NMuSoQIsY5QeI5jEuuUsgCkpmidfkmBlyFEdrlC7kaA2h1bljyFGB5tHKDxDs5BBJQ/pODjcCVBopg4jWGFqvN0OOCrSKC5O7hP8q0mWBzRJabxyiQDEbpA057OQoj84s3c2ZdebQer0ZclSgdbyyQ07r%2BHC5SyAKWhaDdH/wAMBilHZ8unaShhxTaL3eDDkq0DzKCZ2C9zZgyCGSjuQhR%2BLx6dpJ2W2RMkApkXL/cpKPTqdFSwVPWbVhyCGSjElvhADp9rHhdJXyGGzS3QdQyrGViCFHJdq3jJS7hKtq30q5tRGpnUbQSNptsRrVceuYUKK3SbPvmKDRQGdhJ4cUSKkhJ7aZg4uOiSRmNUp3Xzgpx6amkarborfZQm53a4YclWjfWpkhpwO7OESSkzTkcE2O4hgc0nRypBpXyRhyVKJZmA2RCrwjece20XKXQBT07BJOKdlNobVGQw2MLmn2RjNJNK6SMeSoSMe2UXKXcBkl1kQUbKQMIgw5ymNySbO5qtEZepu2MuSoiNK6JpEuiyK7S0TBxmZiJyeUSNXJMYaxk0MKltw%2BRu4SGkhqHxtyi9iI5OAwSbRGQ6uHkXchVxytwQCD3f%2BvuTkiwu9jKh1DjopEuKyIbeaQuwwfpYUuomDlNEvzvneaHfygolAmCQIJQw4pXpcOsXKXAAAQBKAzQw5RQDjM0nRypBqXrp85UoKQI8GYSseQozJdE5URchJaRMBh5U6pRIHglCiMSDUuXT9LM/9vz2GODL0tPxhyVKZTQjQMeq3cZeDGxHi5SyAKGWFWaRaMhllCbyGqWlii/XuhidHphM4Ueh9MGXJUxqDXoXOC/FdZ3dgxTu4SiEKGzWiBVuP/Dzcui3LW%2BFFDlij/bs/h7/HUgiFHhbp3ai7r%2BcOdZt6UkyiANIIGLov/9zhhJ0e5rH7u5FiiGXIUbcKECUhMTLzifx9//LHc5QWU3CGne6fmvCKDKMAiJJiyCpdoGoyunzkiHBq93m/j2WKVsZ4z0HRyF9BYs2bNws8//9zgsXfffRebNm1CamqqTFXJI8xhRkKLCBwrOy3L%2BXvIHLKIQlG4NczvY0bY/D8m%2BYeg0cAaE4P/V1bml/GscQw5itauXbvLHps6dSpuuukmhIeH3tRJz6QWsoQci0mviDVBRKGmY2x7/Frzq1/H5HSVsjW/%2BSZUlx73y1jOVi39Mo7aqCbkXKq4uBjl5eV46qmn5C5FFj2TWmDVhoMBP2/3TvHQ6eS/uoso1KR3SEV6h9DqWoe6NoNvl7sE1VNtyCkoKIDZbMbAgQPlLkUWsc0caNcyEj9UVgf0vL2SQ/PTABERqY8qQ47b7cYnn3yCgQMHwmKxyF2ObLIymfKJiIiuRjVXV/3ejh07cPr0aQwbNkzuUoiIiEihVBlyCgoK4HK5kJaWJncpREREpFCqCzkXL17Eli1bMHjwYOj9uIcAERERBRfVhZzCwkL88ssvyMjIkLsUIiIiUjDVhZz169cjLi4OPXr0kLsUIiIiUjBVhZzq6mps374dQ4cO5W0FiIiI6L9S1SXkTqcThw4dkrsMIiIiUgFVdXKIiIiIGoshh4iIiIISQw4REREFJYYcIiIiCkoMOURERBSUGHKIiIgoKDHkEBERUVBS1T45/lRZWQmPx4OBAwfKXQoRERE10o8//gitVtuoY0O2k2M0GqHThWzGIyIiUiWdTgej0dioYwVRFEWJ6yEiIiIKuJDt5BAREVFwY8ghIiKioMSQQ0REREGJIYeIiIiCEkMOERERBSWGHCIiIgpKDDlEREQUlBhyiIiIKCgx5BAREVFQYsghIiKioMSQQ0REREGJIYeIiIiCEkMOERERBSWGHKIQ4vV65S6BiChgGHJClNvtRm1tLQDA4/HIXA1Jbf/%2B/Th%2B/Dg0Gr7lQ4Hb7UZdXZ3cZVCAiaLo%2B30uiqLM1SiDTu4CKPC2bduGgoICVFZWYvLkyejTp4/cJZGEtm7diuzsbDzzzDNo1aqV3OWQxLZu3YqCggKcPn0ao0ePRo8ePRAXFyd3WSSxoqIibN68GSdPnsSUKVPQvXt3eL3ekP9gE9rPPgQVFRUhJycHGRkZ6N27NxYsWODr6FDw%2Be677/DXv/4V2dnZuOWWW%2BDxeNi5C2I7duxATk4OxowZg9GjR2PJkiXIzc3F119/LXdpJKHPPvsMCxcuRP/%2B/dG1a1dkZmbixIkTIR9wAHZyQsq3336LxYsXY/r06ejVqxdcLheKi4vx7rvvonPnzujVqxd0Ov4vEUzOnTuHdu3aoWvXrigrK8OyZctQUVGBvn37Ii0tDW3atJG7RPKjvXv3YuLEiUhNTQUA/PDDD/joo4%2BwadMmxMfHw%2BFwyFwh%2BVtZWRneeustzJw5EykpKRgwYABOnjyJAwcOoGXLlnKXJzvGvBDSvHlzzJo1C7169cKpU6cwa9YsxMXFQa/X48UXX8SmTZvkLpH8zGw2Q6PR4OLFi3jhhRfQvn17DB06FHv37kVhYaHc5ZGf/fjjjyguLvb92%2BPxoG/fvti4cSMOHTokY2UkFZfLhbFjx6Jbt25wu90AAI1Gg%2B%2B//953TCivz%2BHH9hDh9XphNpvRuXNnAEBpaSkef/xx3H777QB%2Be1MUFBRg8ODBbHEGkdatW%2BPIkSPIzMxEr169MH78eACA0%2BnE0qVLMX78eJhMJpmrJH/JzMzEPffcg9OnT8NqteLs2bN4%2B%2B238eqrr2LPnj3o27ev3CWSn9ntdtxxxx3QarW%2BMNO6dWuYzWYAwIYNG%2BByuXzdvVDDv2Yh4tLgkpKS4gs4AKDVahEbGwtBEAJdGknE6/XCarXi7bffxrFjx1BQUOD7pHfhwgU4nU6ZKyR/qN8WwOv1omXLlli7di369euH/v3747XXXgMA1NbW8vUOIseOHcPJkyd9/750mYEgCIiIiMDmzZuRk5OD6OjoQJeoGIIYyn2sEFK/yv5Kq%2B3/9a9/YdmyZZg/fz7at28vU4XkTx6PB1qtFm63GzqdDidOnMAjjzyC3r17w2AwoLi4GPPmzcMNN9wgd6nUREePHkV8fDxsNpvvsbq6Ouj1%2BgbHrVmzBkuXLsVrr72Gtm3bBrpM8rPCwkL84Q9/wIQJE3D//fejRYsWlx2zZMkSrFq1ClFRUZg/fz7atWsnQ6XKwE5OkNq%2BfTsWLVqE7OxslJaW%2BoKNRqP3WKGVAAAO/ElEQVTBN998g927dwMAVq9ejVdffZUBR%2BV27NiBRYsWISsrCxUVFdBqtfB4PNDpdDhy5Ajq6uqQl5eHW265BV26dEFOTg4Djopt3boVzz33HI4cOeJ7zOPxQK/XN3h/79%2B/Hxs3bsSiRYsYcILATz/9hDVr1uDJJ5/ETz/9hA8%2B%2BABlZWW%2Br9f3LOo/4Lz88sshHXAAACIFnaKiInHQoEHiP/7xDzErK0scMGCAuHHjRlEURXHfvn3i8OHDxQMHDoiiKIqnT58Wy8rK5CyXrlNRUZE4fPhw8cMPPxSfeuop8ZlnnvF9befOneLw4cPFffv2yVgh%2BdPBgwfFQYMGifv377/sa7t27Wrw/q6pqRHPnDkT6BJJIjU1NWJRUZEoiqL47bffihMnThRffvllsbS0tMFx5eXlYklJiRwlKo529uzZs%2BUOWuRf77//Pm6%2B%2BWbcd999SE9Ph9lsxocffghBELBr1y7ceeedSEtLg8fjgdVq5WWlKlZcXIwXXngBs2fPxm233Qav14uqqiq43W643W5s3rwZQ4YMQXp6utylkp/s2bMHZrMZd999N8rKyrBy5UqsW7cODocDO3fuxJAhQ3zvb71e71uASuomiiJ0Oh1atGgBQRAQHh6OpKQkrFmzBlVVVUhJScG6detQXV2NTp06ISwsTO6SFYHTVUFIo9GgqqrK9%2B%2BxY8ciIyMDOTk5GD58OAYPHgxRFKHVamWskvwhJiYGs2fPRkpKCqqqqvDKK6/g7Nmz2L59O8aPH49bb70VQ4YMCelLSIPN76%2BimTZtGjQaDaxWKxYuXIg%2Bffrg9ttvh9fr5fs7yNRfFFK/9MDj8SAhIQHPPfccSktL8fDDD2Pu3LkMN5dgJycIOZ1OzJ07F/Hx8b51NklJSSgtLUV1dTV69OgBALySKgjY7XY0b94cAPDpp5%2BiW7duePrpp9G/f3%2BUlJSgvLwcaWlpfK2DiFarxbx581BSUoLU1FQ8/PDDSEtLQ2VlJbZu3cptIIKUKIoQBAFerxeCIPhe4/DwcBw9ehRFRUVYsWIFOnToIHOlysJ9coJQcnIyZs6cibfffhsAMHToUAC/bRpVf7kp/%2BgFnxEjRgD4zy/D%2BPh4WK1Wmasif0tISMCcOXPw4osvNng8KioKp06d8r3%2BpG7bt2/Hnj17cP78edx7773o0KGDL9x88803OHPmDPr06YNvv/0Whw8fxjvvvMOLR66AnZwglZCQAKfTiaysLJw5cwZ79%2B7Fli1bMGXKFISHh8tdHklIEARs2LABa9aswaOPPsr2dRBq3bo1IiIi8MYbb0Cn02HPnj1Yu3YtnnrqKURGRspdHl2nbdu24eWXX8bAgQPxyy%2B/ICsrCzabDV26dEFxcTFmzpyJW2%2B9FTExMbDb7bjlllt8HV1qiPvkBLmvvvoK27ZtQ01NDYYNG8bLCYNcbW0t8vLy8O677yI3N5evd5D7%2BuuvsXPnTly4cAFDhgxBQkKC3CXRdaqrq8OMGTMwcuRI3y7FTz75JI4ePYqJEyfi2LFj6NGjBwYPHsy7jDcCQw5REBFFEQcOHEB4eDhat24tdzlEdI1qa2vx4IMPYsSIERg7diwAIDc3F%2BXl5di%2BfTuWLVuGjh07clqykbgmhyiICIKA7t27y10GETWRwWDA/fffj5ycHJw8eRLV1dWorKzEkiVLMHXqVJSUlKBjx45yl6kaDDlEREQKMmjQINjtduzatQutWrXC9OnTAfwWgAwGAwBePNJYnK4iIiJSuI8%2B%2Bghvvvkm3nzzzSver4qujCuWiIiIFGzTpk1YsWIFFi5cyIBzjdjJISIiUrBTp07B7XYjJiZG7lJUhyGHiIiIghKnq4iIiCgoMeQQERFRUGLIISIioqDEkENERERBiSGHiIiIghJDDhEREQUlhhyiIJaXl4fExER8%2BeWX1/y9Fy5cQG5uLvbs2SNBZf5XXl6OxMRE5OXlNer4/fv3IykpCSdPnvQ9NmDAADz22GNSlSiZ6upqpKSkYPPmzXKXQqQoDDlEdEUXLlzA4sWLsXfvXrlL8TtRFDF37lyMHTsW8fHxcpdz3ZxOJx588EEsWLAAtbW1cpdDpBgMOUQUUHV1dXC73bLWUFRUhMOHD%2BO%2B%2B%2B6TtY7/5cKFC40%2Bdty4cTh58iQ2btwoYUVE6sKQQxRinn32WXTr1g3Hjx/HpEmT0K1bN6Snp2P%2B/Pm%2BLkB5eTlSU1MBAIsXL0ZiYiISExPx7LPP%2BsYpLS3F1KlTkZqaiqSkJAwZMgQrVqxocK49e/YgMTERa9euxfz583HzzTcjOTkZ3333HRITE7F69erL6tu2bRsSExOxZcsWAMDx48cxffp0DBo0CF27dsXNN9%2BMxx9/HEePHm3yz2DlypVITk5G27Ztr/j1oqIijBw5El26dMHgwYPxz3/%2B87JjvvnmG0yePBk9e/ZEcnIyhg8fjvz8/AbH1E8XlpeXN3i8/ufy%2B6nACRMmYNiwYdi3bx/GjRuHrl274rnnngMA7Nq1CxMmTEDv3r3RpUsX9O/fH0888USDEBQZGYm%2Bffti1apVTf65EAUbndwFEFHg1dXVYfLkyRgzZgweeugh7Nu3D0uWLIHNZkNmZiaioqKwdOlSPPLIIxgzZgzuuusuAEB4eDgA4LvvvsO4ceMQGxuLZ555Bs2aNcO///1vzJkzB2fPnkVmZmaD8y1cuBA33ngjXnjhBWg0GsTExKBTp07Iy8vzjV0vPz8fERERSE9PBwBUVlbC5XJh6tSpCA8PR3V1NfLz8zF27Fjk5%2BdfNahcTW1tLXbt2nXVLs6RI0eQnZ2NSZMmITIyEqtXr8aMGTPQqlUr9OzZEwBQUlKCcePGISIiAjNmzEBYWBjWrVuHZ599FqdOncKkSZOuqaZ6VVVVmDZtGh555BH86U9/gkajQXl5OR577DGkpKTgpZdegsPhQEVFBbZv3466ujqYzWbf9/fq1QsLFy7E%2BfPn4XA4mlQDUTBhyCEKQXV1dXjiiScwZMgQAEBqaioOHTqEgoICZGZmwmAwoHPnzgCAmJgY3HjjjQ2%2Bf968ebBarVi5ciVsNhsA4KabbkJtbS3eeustTJgwAU6n03d8y5Yt8eqrrzYYY9SoUZgzZw6%2B//57tGnTBsBvC2i3bNmC%2B%2B67Dzrdb7%2Beevbs6QsXAODxeJCeno5hw4bhgw8%2BwPTp06/puR85cgQXL170Pb9LnT17FitXrkRcXJzv/Lt378b69et9dSxevBh1dXV47733EBsbCwBIT0/H%2BfPn8dprr2HcuHGw2%2B3XVBcAnDt3Djk5Ob4uGgBs3LgRNTU1%2BPOf/4wbbrjB93hGRsZl39%2B5c2d4vV4cPHgQ/fr1u%2BbzEwUbTlcRhSBBEDBgwIAGjyUmJuKHH374n99bU1OD3bt347bbboPJZILb7fb9169fP9TU1ODgwYMNvmfQoEGXjZORkQGDwdBgiqegoAC1tbUYNWqU7zG324033ngDQ4cORVJSEjp16oSkpCSUlpbi2LFj1/rUUVlZCeA/XalLdezY0RdwAMBoNKJ169YNfja7d%2B9GamqqL%2BDUGzlyJC5cuIADBw5cc13AbwuIfx9w6uvR6/V4/vnnkZ%2Bfj7Kysqt%2Bf/1zqqioaNL5iYINOzlEIchsNsNoNDZ4zGAwoKam5n9%2B77lz5%2BB2u7F8%2BXIsX778isecPXu2wb%2BbNWt22TEulwsDBgzA2rVr8cc//hFarRb5%2Bfno0qUL2rdv7ztu/vz5WLFiBSZNmoSePXvC6XRCEATMnDmzUfVe6uLFiwBw2fP/fV2XuvRnc%2B7cuSs%2Bp6ioKN/Xm%2BJKY7Zs2RLvvPMOli5diqysLPz6669o0aIFJkyYgAceeKDBsfXPqSk/F6JgxJBDRNfE4XBAq9Vi%2BPDhuPfee694TPPmzRv8WxCEKx43atQofPLJJ9ixYwfi4uLw5ZdfYvbs2Q2OWbduHUaMGIGnn366weNnz55t0rqTsLAwAL9NjTWVy%2BVCVVXVZY/Xd4nqz1EfOi69rPvSEFjvaj%2BnlJQUpKSkwOPx4NChQ1i%2BfDnmzp2LyMhI3HHHHb7j6p9T/fmJQh1DDhFdkcFgAPCfzkc9s9mM3r1746uvvkJiYqLvuKZIS0tDdHQ08vLyEBsbC6PRiGHDhjU4RhAE6PX6Bo999tlnqKioQKtWra75nAkJCQCAEydONLnu1NRUfPrpp6ioqEB0dLTv8Y8%2B%2Bghms9m3hql%2BD56jR482WCBdWFjYpPNqtVp07doVbdu2xfr163H48OEGIad%2BKqv%2BORKFOoYcIroim82G%2BPh4bNmyBampqXA6nQgLC0Pz5s0xY8YM3HvvvRg/fjzuuecexMfH45dffsGJEydQWFiI9957r1Hn0Gq1GDFiBP7%2B97/DZrPhtttuu2zBbv/%2B/X1XUSUmJuLw4cNYtmwZYmJimvS8YmJi0KJFC3zxxRdN%2Bn4AmDJlCrZu3Yr7778fU6ZMgdPpxPr16/HZZ59h2rRpvueQnJyMNm3aYMGCBfB4PHA4HNi8eTM%2B//zzRp9r5cqV2L17N/r374/Y2FjU1NRgzZo1AIC%2Bffs2OPaLL76Ay%2BVCYmJik58bUTBhyCGiq3rppZewYMECTJ48GbW1tRg5ciTmz5%2BPdu3aIS8vD0uWLEFOTg7OnDkDu92OVq1a%2BS79bqxRo0bhzTffxJkzZzB69OjLvj5jxgzodDq89dZb%2BPXXX9GpUyfk5ubilVdeafLzysjIwIoVK1BbW9ukTlTbtm2xatUqLFy4EFlZWbh48SISEhIwb968BoumtVot3njjDbz44ouYNWsWDAYD7rjjDvzlL3/Bo48%2B2qhzdezYETt27EBubi6qqqpgsVjQoUMHvP7660hLS/MdJ4oiCgsLkZGRcdVpL6JQI4iiKMpdBBFRIFVUVGDgwIFYsGABhg4dKnc5frFr1y489NBDKCgo4HQV0f/hJeREFHKio6PxwAMP4PXXX4fX65W7HL9YsmQJRo8ezYBD9DucriKikDR58mSYzWZUVFRctt%2BN2lRXV6NXr15XvdqNKFRxuoqIiIiCEqeriIiIKCgx5BAREVFQYsghIiKioMSQQ0REREGJIYeIiIiCEkMOERERBSWGHCIiIgpKDDlEREQUlP4/fpGCIC%2BXTtwAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
--- a/test-data/bam-LogTransformed_HistogramReadlength.svg	Fri Jun 21 19:13:55 2019 -0400
+++ b/test-data/bam-LogTransformed_HistogramReadlength.svg	Sun Jan 19 19:03:02 2020 -0500
@@ -2,17 +2,17 @@
 <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
   "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
 <!-- Created with matplotlib (https://matplotlib.org/) -->
-<svg height="331.389812pt" version="1.1" viewBox="0 0 410.95639 331.389812" width="410.95639pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg height="331.389812pt" version="1.1" viewBox="0 0 428.128125 331.389812" width="428.128125pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
   <style type="text/css">
-*{stroke-linecap:butt;stroke-linejoin:round;white-space:pre;}
+*{stroke-linecap:butt;stroke-linejoin:round;}
   </style>
  </defs>
  <g id="figure_1">
   <g id="patch_1">
    <path d="M 0 331.389812 
-L 410.95639 331.389812 
-L 410.95639 0 
+L 428.128125 331.389812 
+L 428.128125 0 
 L 0 0 
 z
 " style="fill:#ffffff;"/>
@@ -29,12 +29,40 @@
    <g id="matplotlib.axis_1">
     <g id="xtick_1">
      <g id="line2d_1">
-      <path clip-path="url(#p98bde64374)" d="M 48.376613 288.430125 
-L 48.376613 22.318125 
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 288.430125 
+L 46.31125 22.318125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
      <g id="text_1">
-      <!-- 0 -->
+      <!-- 1 -->
+      <defs>
+       <path d="M 12.40625 8.296875 
+L 28.515625 8.296875 
+L 28.515625 63.921875 
+L 10.984375 60.40625 
+L 10.984375 69.390625 
+L 28.421875 72.90625 
+L 38.28125 72.90625 
+L 38.28125 8.296875 
+L 54.390625 8.296875 
+L 54.390625 0 
+L 12.40625 0 
+z
+" id="DejaVuSans-49"/>
+      </defs>
+      <g style="fill:#262626;" transform="translate(42.811875 306.288406)scale(0.11 -0.11)">
+       <use xlink:href="#DejaVuSans-49"/>
+      </g>
+     </g>
+    </g>
+    <g id="xtick_2">
+     <g id="line2d_2">
+      <path clip-path="url(#pb3c92462d3)" d="M 135.59125 288.430125 
+L 135.59125 22.318125 
+" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
+     </g>
+     <g id="text_2">
+      <!-- 10 -->
       <defs>
        <path d="M 31.78125 66.40625 
 Q 24.171875 66.40625 20.328125 58.90625 
@@ -58,86 +86,22 @@
 z
 " id="DejaVuSans-48"/>
       </defs>
-      <g style="fill:#262626;" transform="translate(44.877238 306.288406)scale(0.11 -0.11)">
-       <use xlink:href="#DejaVuSans-48"/>
-      </g>
-     </g>
-    </g>
-    <g id="xtick_2">
-     <g id="line2d_2">
-      <path clip-path="url(#p98bde64374)" d="M 91.049397 288.430125 
-L 91.049397 22.318125 
-" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
-     </g>
-     <g id="text_2">
-      <!-- 250 -->
-      <defs>
-       <path d="M 19.1875 8.296875 
-L 53.609375 8.296875 
-L 53.609375 0 
-L 7.328125 0 
-L 7.328125 8.296875 
-Q 12.9375 14.109375 22.625 23.890625 
-Q 32.328125 33.6875 34.8125 36.53125 
-Q 39.546875 41.84375 41.421875 45.53125 
-Q 43.3125 49.21875 43.3125 52.78125 
-Q 43.3125 58.59375 39.234375 62.25 
-Q 35.15625 65.921875 28.609375 65.921875 
-Q 23.96875 65.921875 18.8125 64.3125 
-Q 13.671875 62.703125 7.8125 59.421875 
-L 7.8125 69.390625 
-Q 13.765625 71.78125 18.9375 73 
-Q 24.125 74.21875 28.421875 74.21875 
-Q 39.75 74.21875 46.484375 68.546875 
-Q 53.21875 62.890625 53.21875 53.421875 
-Q 53.21875 48.921875 51.53125 44.890625 
-Q 49.859375 40.875 45.40625 35.40625 
-Q 44.1875 33.984375 37.640625 27.21875 
-Q 31.109375 20.453125 19.1875 8.296875 
-z
-" id="DejaVuSans-50"/>
-       <path d="M 10.796875 72.90625 
-L 49.515625 72.90625 
-L 49.515625 64.59375 
-L 19.828125 64.59375 
-L 19.828125 46.734375 
-Q 21.96875 47.46875 24.109375 47.828125 
-Q 26.265625 48.1875 28.421875 48.1875 
-Q 40.625 48.1875 47.75 41.5 
-Q 54.890625 34.8125 54.890625 23.390625 
-Q 54.890625 11.625 47.5625 5.09375 
-Q 40.234375 -1.421875 26.90625 -1.421875 
-Q 22.3125 -1.421875 17.546875 -0.640625 
-Q 12.796875 0.140625 7.71875 1.703125 
-L 7.71875 11.625 
-Q 12.109375 9.234375 16.796875 8.0625 
-Q 21.484375 6.890625 26.703125 6.890625 
-Q 35.15625 6.890625 40.078125 11.328125 
-Q 45.015625 15.765625 45.015625 23.390625 
-Q 45.015625 31 40.078125 35.4375 
-Q 35.15625 39.890625 26.703125 39.890625 
-Q 22.75 39.890625 18.8125 39.015625 
-Q 14.890625 38.140625 10.796875 36.28125 
-z
-" id="DejaVuSans-53"/>
-      </defs>
-      <g style="fill:#262626;" transform="translate(80.551272 306.288406)scale(0.11 -0.11)">
-       <use xlink:href="#DejaVuSans-50"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-53"/>
-       <use x="127.246094" xlink:href="#DejaVuSans-48"/>
+      <g style="fill:#262626;" transform="translate(128.5925 306.288406)scale(0.11 -0.11)">
+       <use xlink:href="#DejaVuSans-49"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
     <g id="xtick_3">
      <g id="line2d_3">
-      <path clip-path="url(#p98bde64374)" d="M 133.722182 288.430125 
-L 133.722182 22.318125 
+      <path clip-path="url(#pb3c92462d3)" d="M 224.87125 288.430125 
+L 224.87125 22.318125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
      <g id="text_3">
-      <!-- 500 -->
-      <g style="fill:#262626;" transform="translate(123.224057 306.288406)scale(0.11 -0.11)">
-       <use xlink:href="#DejaVuSans-53"/>
+      <!-- 100 -->
+      <g style="fill:#262626;" transform="translate(214.373125 306.288406)scale(0.11 -0.11)">
+       <use xlink:href="#DejaVuSans-49"/>
        <use x="63.623047" xlink:href="#DejaVuSans-48"/>
        <use x="127.246094" xlink:href="#DejaVuSans-48"/>
       </g>
@@ -145,54 +109,13 @@
     </g>
     <g id="xtick_4">
      <g id="line2d_4">
-      <path clip-path="url(#p98bde64374)" d="M 176.394967 288.430125 
-L 176.394967 22.318125 
+      <path clip-path="url(#pb3c92462d3)" d="M 314.15125 288.430125 
+L 314.15125 22.318125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
      <g id="text_4">
-      <!-- 750 -->
-      <defs>
-       <path d="M 8.203125 72.90625 
-L 55.078125 72.90625 
-L 55.078125 68.703125 
-L 28.609375 0 
-L 18.3125 0 
-L 43.21875 64.59375 
-L 8.203125 64.59375 
-z
-" id="DejaVuSans-55"/>
-      </defs>
-      <g style="fill:#262626;" transform="translate(165.896842 306.288406)scale(0.11 -0.11)">
-       <use xlink:href="#DejaVuSans-55"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-53"/>
-       <use x="127.246094" xlink:href="#DejaVuSans-48"/>
-      </g>
-     </g>
-    </g>
-    <g id="xtick_5">
-     <g id="line2d_5">
-      <path clip-path="url(#p98bde64374)" d="M 219.067751 288.430125 
-L 219.067751 22.318125 
-" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
-     </g>
-     <g id="text_5">
       <!-- 1000 -->
-      <defs>
-       <path d="M 12.40625 8.296875 
-L 28.515625 8.296875 
-L 28.515625 63.921875 
-L 10.984375 60.40625 
-L 10.984375 69.390625 
-L 28.421875 72.90625 
-L 38.28125 72.90625 
-L 38.28125 8.296875 
-L 54.390625 8.296875 
-L 54.390625 0 
-L 12.40625 0 
-z
-" id="DejaVuSans-49"/>
-      </defs>
-      <g style="fill:#262626;" transform="translate(205.070251 306.288406)scale(0.11 -0.11)">
+      <g style="fill:#262626;" transform="translate(300.15375 306.288406)scale(0.11 -0.11)">
        <use xlink:href="#DejaVuSans-49"/>
        <use x="63.623047" xlink:href="#DejaVuSans-48"/>
        <use x="127.246094" xlink:href="#DejaVuSans-48"/>
@@ -200,71 +123,24 @@
       </g>
      </g>
     </g>
-    <g id="xtick_6">
-     <g id="line2d_6">
-      <path clip-path="url(#p98bde64374)" d="M 261.740536 288.430125 
-L 261.740536 22.318125 
+    <g id="xtick_5">
+     <g id="line2d_5">
+      <path clip-path="url(#pb3c92462d3)" d="M 403.43125 288.430125 
+L 403.43125 22.318125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
-     <g id="text_6">
-      <!-- 1250 -->
-      <g style="fill:#262626;" transform="translate(247.743036 306.288406)scale(0.11 -0.11)">
+     <g id="text_5">
+      <!-- 10000 -->
+      <g style="fill:#262626;" transform="translate(385.934375 306.288406)scale(0.11 -0.11)">
        <use xlink:href="#DejaVuSans-49"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-50"/>
-       <use x="127.246094" xlink:href="#DejaVuSans-53"/>
-       <use x="190.869141" xlink:href="#DejaVuSans-48"/>
-      </g>
-     </g>
-    </g>
-    <g id="xtick_7">
-     <g id="line2d_7">
-      <path clip-path="url(#p98bde64374)" d="M 304.413321 288.430125 
-L 304.413321 22.318125 
-" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
-     </g>
-     <g id="text_7">
-      <!-- 1500 -->
-      <g style="fill:#262626;" transform="translate(290.415821 306.288406)scale(0.11 -0.11)">
-       <use xlink:href="#DejaVuSans-49"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-53"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
        <use x="127.246094" xlink:href="#DejaVuSans-48"/>
        <use x="190.869141" xlink:href="#DejaVuSans-48"/>
+       <use x="254.492188" xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
-    <g id="xtick_8">
-     <g id="line2d_8">
-      <path clip-path="url(#p98bde64374)" d="M 347.086105 288.430125 
-L 347.086105 22.318125 
-" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
-     </g>
-     <g id="text_8">
-      <!-- 1750 -->
-      <g style="fill:#262626;" transform="translate(333.088605 306.288406)scale(0.11 -0.11)">
-       <use xlink:href="#DejaVuSans-49"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-55"/>
-       <use x="127.246094" xlink:href="#DejaVuSans-53"/>
-       <use x="190.869141" xlink:href="#DejaVuSans-48"/>
-      </g>
-     </g>
-    </g>
-    <g id="xtick_9">
-     <g id="line2d_9">
-      <path clip-path="url(#p98bde64374)" d="M 389.75889 288.430125 
-L 389.75889 22.318125 
-" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
-     </g>
-     <g id="text_9">
-      <!-- 2000 -->
-      <g style="fill:#262626;" transform="translate(375.76139 306.288406)scale(0.11 -0.11)">
-       <use xlink:href="#DejaVuSans-50"/>
-       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
-       <use x="127.246094" xlink:href="#DejaVuSans-48"/>
-       <use x="190.869141" xlink:href="#DejaVuSans-48"/>
-      </g>
-     </g>
-    </g>
-    <g id="text_10">
+    <g id="text_6">
      <!-- Read length -->
      <defs>
       <path d="M 44.390625 34.1875 
@@ -492,12 +368,12 @@
    </g>
    <g id="matplotlib.axis_2">
     <g id="ytick_1">
-     <g id="line2d_10">
-      <path clip-path="url(#p98bde64374)" d="M 46.31125 288.430125 
+     <g id="line2d_6">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 288.430125 
 L 403.43125 288.430125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
-     <g id="text_11">
+     <g id="text_7">
       <!-- 0 -->
       <g style="fill:#262626;" transform="translate(29.8125 292.609266)scale(0.11 -0.11)">
        <use xlink:href="#DejaVuSans-48"/>
@@ -505,61 +381,189 @@
      </g>
     </g>
     <g id="ytick_2">
-     <g id="line2d_11">
-      <path clip-path="url(#p98bde64374)" d="M 46.31125 233.334473 
-L 403.43125 233.334473 
+     <g id="line2d_7">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 253.230125 
+L 403.43125 253.230125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
-     <g id="text_12">
+     <g id="text_8">
       <!-- 5 -->
-      <g style="fill:#262626;" transform="translate(29.8125 237.513613)scale(0.11 -0.11)">
+      <defs>
+       <path d="M 10.796875 72.90625 
+L 49.515625 72.90625 
+L 49.515625 64.59375 
+L 19.828125 64.59375 
+L 19.828125 46.734375 
+Q 21.96875 47.46875 24.109375 47.828125 
+Q 26.265625 48.1875 28.421875 48.1875 
+Q 40.625 48.1875 47.75 41.5 
+Q 54.890625 34.8125 54.890625 23.390625 
+Q 54.890625 11.625 47.5625 5.09375 
+Q 40.234375 -1.421875 26.90625 -1.421875 
+Q 22.3125 -1.421875 17.546875 -0.640625 
+Q 12.796875 0.140625 7.71875 1.703125 
+L 7.71875 11.625 
+Q 12.109375 9.234375 16.796875 8.0625 
+Q 21.484375 6.890625 26.703125 6.890625 
+Q 35.15625 6.890625 40.078125 11.328125 
+Q 45.015625 15.765625 45.015625 23.390625 
+Q 45.015625 31 40.078125 35.4375 
+Q 35.15625 39.890625 26.703125 39.890625 
+Q 22.75 39.890625 18.8125 39.015625 
+Q 14.890625 38.140625 10.796875 36.28125 
+z
+" id="DejaVuSans-53"/>
+      </defs>
+      <g style="fill:#262626;" transform="translate(29.8125 257.409266)scale(0.11 -0.11)">
        <use xlink:href="#DejaVuSans-53"/>
       </g>
      </g>
     </g>
     <g id="ytick_3">
-     <g id="line2d_12">
-      <path clip-path="url(#p98bde64374)" d="M 46.31125 178.238821 
-L 403.43125 178.238821 
+     <g id="line2d_8">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 218.030125 
+L 403.43125 218.030125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
-     <g id="text_13">
+     <g id="text_9">
       <!-- 10 -->
-      <g style="fill:#262626;" transform="translate(22.81375 182.417961)scale(0.11 -0.11)">
+      <g style="fill:#262626;" transform="translate(22.81375 222.209266)scale(0.11 -0.11)">
        <use xlink:href="#DejaVuSans-49"/>
        <use x="63.623047" xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
     <g id="ytick_4">
-     <g id="line2d_13">
-      <path clip-path="url(#p98bde64374)" d="M 46.31125 123.143168 
-L 403.43125 123.143168 
+     <g id="line2d_9">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 182.830125 
+L 403.43125 182.830125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
-     <g id="text_14">
+     <g id="text_10">
       <!-- 15 -->
-      <g style="fill:#262626;" transform="translate(22.81375 127.322309)scale(0.11 -0.11)">
+      <g style="fill:#262626;" transform="translate(22.81375 187.009266)scale(0.11 -0.11)">
        <use xlink:href="#DejaVuSans-49"/>
        <use x="63.623047" xlink:href="#DejaVuSans-53"/>
       </g>
      </g>
     </g>
     <g id="ytick_5">
-     <g id="line2d_14">
-      <path clip-path="url(#p98bde64374)" d="M 46.31125 68.047516 
-L 403.43125 68.047516 
+     <g id="line2d_10">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 147.630125 
+L 403.43125 147.630125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
      </g>
-     <g id="text_15">
+     <g id="text_11">
       <!-- 20 -->
-      <g style="fill:#262626;" transform="translate(22.81375 72.226657)scale(0.11 -0.11)">
+      <defs>
+       <path d="M 19.1875 8.296875 
+L 53.609375 8.296875 
+L 53.609375 0 
+L 7.328125 0 
+L 7.328125 8.296875 
+Q 12.9375 14.109375 22.625 23.890625 
+Q 32.328125 33.6875 34.8125 36.53125 
+Q 39.546875 41.84375 41.421875 45.53125 
+Q 43.3125 49.21875 43.3125 52.78125 
+Q 43.3125 58.59375 39.234375 62.25 
+Q 35.15625 65.921875 28.609375 65.921875 
+Q 23.96875 65.921875 18.8125 64.3125 
+Q 13.671875 62.703125 7.8125 59.421875 
+L 7.8125 69.390625 
+Q 13.765625 71.78125 18.9375 73 
+Q 24.125 74.21875 28.421875 74.21875 
+Q 39.75 74.21875 46.484375 68.546875 
+Q 53.21875 62.890625 53.21875 53.421875 
+Q 53.21875 48.921875 51.53125 44.890625 
+Q 49.859375 40.875 45.40625 35.40625 
+Q 44.1875 33.984375 37.640625 27.21875 
+Q 31.109375 20.453125 19.1875 8.296875 
+z
+" id="DejaVuSans-50"/>
+      </defs>
+      <g style="fill:#262626;" transform="translate(22.81375 151.809266)scale(0.11 -0.11)">
        <use xlink:href="#DejaVuSans-50"/>
        <use x="63.623047" xlink:href="#DejaVuSans-48"/>
       </g>
      </g>
     </g>
-    <g id="text_16">
+    <g id="ytick_6">
+     <g id="line2d_11">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 112.430125 
+L 403.43125 112.430125 
+" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
+     </g>
+     <g id="text_12">
+      <!-- 25 -->
+      <g style="fill:#262626;" transform="translate(22.81375 116.609266)scale(0.11 -0.11)">
+       <use xlink:href="#DejaVuSans-50"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-53"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_7">
+     <g id="line2d_12">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 77.230125 
+L 403.43125 77.230125 
+" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
+     </g>
+     <g id="text_13">
+      <!-- 30 -->
+      <defs>
+       <path d="M 40.578125 39.3125 
+Q 47.65625 37.796875 51.625 33 
+Q 55.609375 28.21875 55.609375 21.1875 
+Q 55.609375 10.40625 48.1875 4.484375 
+Q 40.765625 -1.421875 27.09375 -1.421875 
+Q 22.515625 -1.421875 17.65625 -0.515625 
+Q 12.796875 0.390625 7.625 2.203125 
+L 7.625 11.71875 
+Q 11.71875 9.328125 16.59375 8.109375 
+Q 21.484375 6.890625 26.8125 6.890625 
+Q 36.078125 6.890625 40.9375 10.546875 
+Q 45.796875 14.203125 45.796875 21.1875 
+Q 45.796875 27.640625 41.28125 31.265625 
+Q 36.765625 34.90625 28.71875 34.90625 
+L 20.21875 34.90625 
+L 20.21875 43.015625 
+L 29.109375 43.015625 
+Q 36.375 43.015625 40.234375 45.921875 
+Q 44.09375 48.828125 44.09375 54.296875 
+Q 44.09375 59.90625 40.109375 62.90625 
+Q 36.140625 65.921875 28.71875 65.921875 
+Q 24.65625 65.921875 20.015625 65.03125 
+Q 15.375 64.15625 9.8125 62.3125 
+L 9.8125 71.09375 
+Q 15.4375 72.65625 20.34375 73.4375 
+Q 25.25 74.21875 29.59375 74.21875 
+Q 40.828125 74.21875 47.359375 69.109375 
+Q 53.90625 64.015625 53.90625 55.328125 
+Q 53.90625 49.265625 50.4375 45.09375 
+Q 46.96875 40.921875 40.578125 39.3125 
+z
+" id="DejaVuSans-51"/>
+      </defs>
+      <g style="fill:#262626;" transform="translate(22.81375 81.409266)scale(0.11 -0.11)">
+       <use xlink:href="#DejaVuSans-51"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-48"/>
+      </g>
+     </g>
+    </g>
+    <g id="ytick_8">
+     <g id="line2d_13">
+      <path clip-path="url(#pb3c92462d3)" d="M 46.31125 42.030125 
+L 403.43125 42.030125 
+" style="fill:none;stroke:#ffffff;stroke-linecap:round;"/>
+     </g>
+     <g id="text_14">
+      <!-- 35 -->
+      <g style="fill:#262626;" transform="translate(22.81375 46.209266)scale(0.11 -0.11)">
+       <use xlink:href="#DejaVuSans-51"/>
+       <use x="63.623047" xlink:href="#DejaVuSans-53"/>
+      </g>
+     </g>
+    </g>
+    <g id="text_15">
      <!-- Number of reads -->
      <defs>
       <path d="M 9.8125 72.90625 
@@ -759,107 +763,115 @@
     </g>
    </g>
    <g id="patch_3">
-    <path clip-path="url(#p98bde64374)" d="M 62.543977 288.430125 
-L 95.009432 288.430125 
-L 95.009432 222.315342 
-L 62.543977 222.315342 
+    <path clip-path="url(#pb3c92462d3)" d="M 217.646542 288.430125 
+L 228.83643 288.430125 
+L 228.83643 274.350125 
+L 217.646542 274.350125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_4">
-    <path clip-path="url(#p98bde64374)" d="M 95.009432 288.430125 
-L 127.474886 288.430125 
-L 127.474886 46.009255 
-L 95.009432 46.009255 
+    <path clip-path="url(#pb3c92462d3)" d="M 228.83643 288.430125 
+L 240.026318 288.430125 
+L 240.026318 288.430125 
+L 228.83643 288.430125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_5">
-    <path clip-path="url(#p98bde64374)" d="M 127.474886 288.430125 
-L 159.940341 288.430125 
-L 159.940341 112.124038 
-L 127.474886 112.124038 
+    <path clip-path="url(#pb3c92462d3)" d="M 240.026318 288.430125 
+L 251.216206 288.430125 
+L 251.216206 267.310125 
+L 240.026318 267.310125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_6">
-    <path clip-path="url(#p98bde64374)" d="M 159.940341 288.430125 
-L 192.405795 288.430125 
-L 192.405795 156.20056 
-L 159.940341 156.20056 
+    <path clip-path="url(#pb3c92462d3)" d="M 251.216206 288.430125 
+L 262.406093 288.430125 
+L 262.406093 281.390125 
+L 251.216206 281.390125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_7">
-    <path clip-path="url(#p98bde64374)" d="M 192.405795 288.430125 
-L 224.87125 288.430125 
-L 224.87125 34.990125 
-L 192.405795 34.990125 
+    <path clip-path="url(#pb3c92462d3)" d="M 262.406093 288.430125 
+L 273.595981 288.430125 
+L 273.595981 239.150125 
+L 262.406093 239.150125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_8">
-    <path clip-path="url(#p98bde64374)" d="M 224.87125 288.430125 
-L 257.336705 288.430125 
-L 257.336705 68.047516 
-L 224.87125 68.047516 
+    <path clip-path="url(#pb3c92462d3)" d="M 273.595981 288.430125 
+L 284.785869 288.430125 
+L 284.785869 182.830125 
+L 273.595981 182.830125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_9">
-    <path clip-path="url(#p98bde64374)" d="M 257.336705 288.430125 
-L 289.802159 288.430125 
-L 289.802159 101.104908 
-L 257.336705 101.104908 
+    <path clip-path="url(#pb3c92462d3)" d="M 284.785869 288.430125 
+L 295.975757 288.430125 
+L 295.975757 203.950125 
+L 284.785869 203.950125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_10">
-    <path clip-path="url(#p98bde64374)" d="M 289.802159 288.430125 
-L 322.267614 288.430125 
-L 322.267614 68.047516 
-L 289.802159 68.047516 
+    <path clip-path="url(#pb3c92462d3)" d="M 295.975757 288.430125 
+L 307.165645 288.430125 
+L 307.165645 175.790125 
+L 295.975757 175.790125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_11">
-    <path clip-path="url(#p98bde64374)" d="M 322.267614 288.430125 
-L 354.733068 288.430125 
-L 354.733068 211.296212 
-L 322.267614 211.296212 
+    <path clip-path="url(#pb3c92462d3)" d="M 307.165645 288.430125 
+L 318.355533 288.430125 
+L 318.355533 34.990125 
+L 307.165645 34.990125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_12">
-    <path clip-path="url(#p98bde64374)" d="M 354.733068 288.430125 
-L 387.198523 288.430125 
-L 387.198523 145.181429 
-L 354.733068 145.181429 
+    <path clip-path="url(#pb3c92462d3)" d="M 318.355533 288.430125 
+L 329.545421 288.430125 
+L 329.545421 70.190125 
+L 318.355533 70.190125 
 z
 " style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
    </g>
    <g id="patch_13">
+    <path clip-path="url(#pb3c92462d3)" d="M 329.545421 288.430125 
+L 340.735308 288.430125 
+L 340.735308 56.110125 
+L 329.545421 56.110125 
+z
+" style="fill:#ffff00;opacity:0.8;stroke:#ffff00;stroke-linejoin:miter;stroke-width:0.2;"/>
+   </g>
+   <g id="patch_14">
     <path d="M 46.31125 288.430125 
 L 46.31125 22.318125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;"/>
    </g>
-   <g id="patch_14">
+   <g id="patch_15">
     <path d="M 403.43125 288.430125 
 L 403.43125 22.318125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;"/>
    </g>
-   <g id="patch_15">
+   <g id="patch_16">
     <path d="M 46.31125 288.430125 
 L 403.43125 288.430125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;"/>
    </g>
-   <g id="patch_16">
+   <g id="patch_17">
     <path d="M 46.31125 22.318125 
 L 403.43125 22.318125 
 " style="fill:none;stroke:#ffffff;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.25;"/>
    </g>
-   <g id="text_17">
-    <!-- Histogram of read lengths -->
+   <g id="text_16">
+    <!-- Histogram of read lengths after log transformation -->
     <defs>
      <path d="M 9.8125 72.90625 
 L 19.671875 72.90625 
@@ -887,7 +899,7 @@
 z
 " id="DejaVuSans-105"/>
     </defs>
-    <g style="fill:#262626;" transform="translate(146.349063 16.318125)scale(0.12 -0.12)">
+    <g style="fill:#262626;" transform="translate(72.495625 16.318125)scale(0.12 -0.12)">
      <use xlink:href="#DejaVuSans-72"/>
      <use x="75.195312" xlink:href="#DejaVuSans-105"/>
      <use x="102.978516" xlink:href="#DejaVuSans-115"/>
@@ -913,12 +925,37 @@
      <use x="1154.021484" xlink:href="#DejaVuSans-116"/>
      <use x="1193.230469" xlink:href="#DejaVuSans-104"/>
      <use x="1256.609375" xlink:href="#DejaVuSans-115"/>
+     <use x="1308.708984" xlink:href="#DejaVuSans-32"/>
+     <use x="1340.496094" xlink:href="#DejaVuSans-97"/>
+     <use x="1401.775391" xlink:href="#DejaVuSans-102"/>
+     <use x="1436.964844" xlink:href="#DejaVuSans-116"/>
+     <use x="1476.173828" xlink:href="#DejaVuSans-101"/>
+     <use x="1537.697266" xlink:href="#DejaVuSans-114"/>
+     <use x="1578.810547" xlink:href="#DejaVuSans-32"/>
+     <use x="1610.597656" xlink:href="#DejaVuSans-108"/>
+     <use x="1638.380859" xlink:href="#DejaVuSans-111"/>
+     <use x="1699.5625" xlink:href="#DejaVuSans-103"/>
+     <use x="1763.039062" xlink:href="#DejaVuSans-32"/>
+     <use x="1794.826172" xlink:href="#DejaVuSans-116"/>
+     <use x="1834.035156" xlink:href="#DejaVuSans-114"/>
+     <use x="1875.148438" xlink:href="#DejaVuSans-97"/>
+     <use x="1936.427734" xlink:href="#DejaVuSans-110"/>
+     <use x="1999.806641" xlink:href="#DejaVuSans-115"/>
+     <use x="2051.90625" xlink:href="#DejaVuSans-102"/>
+     <use x="2087.111328" xlink:href="#DejaVuSans-111"/>
+     <use x="2148.292969" xlink:href="#DejaVuSans-114"/>
+     <use x="2189.390625" xlink:href="#DejaVuSans-109"/>
+     <use x="2286.802734" xlink:href="#DejaVuSans-97"/>
+     <use x="2348.082031" xlink:href="#DejaVuSans-116"/>
+     <use x="2387.291016" xlink:href="#DejaVuSans-105"/>
+     <use x="2415.074219" xlink:href="#DejaVuSans-111"/>
+     <use x="2476.255859" xlink:href="#DejaVuSans-110"/>
     </g>
    </g>
   </g>
  </g>
  <defs>
-  <clipPath id="p98bde64374">
+  <clipPath id="pb3c92462d3">
    <rect height="266.112" width="357.12" x="46.31125" y="22.318125"/>
   </clipPath>
  </defs>
--- a/test-data/bam-report.html	Fri Jun 21 19:13:55 2019 -0400
+++ b/test-data/bam-report.html	Sun Jan 19 19:03:02 2020 -0500
@@ -38,6 +38,7 @@
 <p style="margin-left:20px"><a href="#Histogram_of_read_lengths_after_log_transformation">Histogram of read lengths after log transformation</a></p>
 <p style="margin-left:20px"><a href="#Weighted_Histogram_of_read_lengths">Weighted Histogram of read lengths</a></p>
 <p style="margin-left:20px"><a href="#Weighted_Histogram_of_read_lengths_after_log_transformation">Weighted Histogram of read lengths after log transformation</a></p>
+<p style="margin-left:20px"><a href="#Dynamic_histogram_of_Read_length">Dynamic histogram of Read length</a></p>
 <p style="margin-left:20px"><a href="#Yield_by_length">Yield by length</a></p>
 <p style="margin-left:20px"><a href="#Read_lengths_vs_Average_read_quality_plot_using_dots">Read lengths vs Average read quality plot using dots</a></p>
 <p style="margin-left:20px"><a href="#Read_lengths_vs_Average_read_quality_plot_using_a_kernel_density_estimation">Read lengths vs Average read quality plot using a kernel density estimation</a></p>
@@ -51,6 +52,7 @@
 <p style="margin-left:20px"><a href="#Percent_identity_vs_Average_Base_Quality_plot_using_a_kernel_density_estimation">Percent identity vs Average Base Quality plot using a kernel density estimation</a></p>
 <p style="margin-left:20px"><a href="#Aligned_read_length_vs_Percent_identity_plot_using_dots">Aligned read length vs Percent identity plot using dots</a></p>
 <p style="margin-left:20px"><a href="#Aligned_read_length_vs_Percent_identity_plot_using_a_kernel_density_estimation">Aligned read length vs Percent identity plot using a kernel density estimation</a></p>
+<p style="margin-left:20px"><a href="#Dynamic_histogram_of_percent_identity">Dynamic histogram of percent identity</a></p>
 </div>
 <div class="panel panelM"> <h1>NanoPlot report</h1>
 <h2 id="stats0">Summary statistics</h2>
@@ -68,7 +70,7 @@
     </tr>
     <tr>
       <th>Average percent identity</th>
-      <td>85.3</td>
+      <td>86.4</td>
     </tr>
     <tr>
       <th>Mean read length</th>
@@ -80,7 +82,7 @@
     </tr>
     <tr>
       <th>Median percent identity</th>
-      <td>87.3</td>
+      <td>87.9</td>
     </tr>
     <tr>
       <th>Median read length</th>
@@ -183,7 +185,7 @@
 <h2 id="plots">Plots</h2>
 
 <h3 id="Histogram_of_read_lengths">Histogram of read lengths</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHKCAYAAADhBVpHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzde5yM9f//8ec1y7LsrnWWY6x2syxWWMoh26cQQvThU3SgLWeJovIpSQ4lCTn36UPRQeRXGxF9bPX5RH1DOtAnh5BTTmutZU9z/f7Yz07GnmZ2Z8zs5XG/3dzsvK9rr3m9ruuamede1zUzhmmapgAAACzG5usCAAAAvIGQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQA7hozZo1ioyM1A8//JDn9EcffVRxcXFOY3FxcZowYYJb97N9%2B3bNnTtXycnJRa71WrNu3Tp169ZNTZs2VWRkpHbv3u3rkgoUGRmpuXPnFjjP77//rsjISK1Zs%2BYqVVWwEydOaO7cuXmu2wkTJigmJsYHVQEFK%2BXrAgArmzdvnoKDg936nR07dmjevHnq3bu3QkNDvVSZdZw5c0ZPPvmk2rVrp%2Beee06BgYG6/vrrfV2W5fzxxx%2BaN2%2BeatWqpUaNGvm6HMAlhBzAi6KionxdgtsyMjJkGIZKlSoZTw8HDhxQRkaG7rrrLrVu3drt37906ZLKlCkjwzC8UB0AX%2BJ0FeBFV56ustvtmj9/vjp37qymTZuqZcuW6tGjh5YtWyZJmjt3rl566SVJ0m233abIyEhFRkZq27Ztjt9fsmSJunTpoiZNmqht27Z68skndfz4caf7NU1TCxcuVKdOnRQdHa27775b//73vzVw4EANHDjQMd%2B2bdsUGRmptWvXavr06Wrfvr2io6N18OBBnTlzRpMmTdKdd96pmJgYtW3bVvfff7/%2B7//%2Bz%2Bm%2Bck6rLF26VIsXL1ZcXJyaNm2qgQMHOgLIzJkz1a5dO910000aPny4Tp8%2B7dL627x5s/r166dmzZopJiZGDz30kHbs2OGYPmHCBN17772SpDFjxigyMtKpvyvlnHL86quv9NRTT6lNmzZq1qyZ0tPTJUm//fabxo4dq7Zt26pJkybq2rWrVqxY4bSMtLQ0TZ8%2BXT179tRNN92k1q1bq1%2B/ftq0aVOu%2B0tJSdHEiRMVGxurmJgYDR48WAcOHHCp9/y4UmPOdk1ISNCrr76qdu3aqUWLFnrwwQe1f/9%2Bp3ld2Ve2bdumvn37SpKeeuopx3555Sm3gwcPKj4%2BXjExMerYsaOmT5/uWLc5Vq5cqbvuuksxMTGKiYlRly5dNGvWrGKtEyA/JeNPNcCP2O12ZWZm5ho3TbPQ3126dKnmzZunoUOHqmXLlsrMzNT%2B/ft1/vx5SdI999yjc%2BfO6a233tK8efNUtWpVSVLDhg0lSZMmTdJ7772nAQMG6NZbb9WRI0f02muv6ZtvvtGaNWtUqVIlSdKrr76qRYsWqV%2B/frr99tt1/PhxTZw4URkZGapfv36uumbNmqXmzZvr%2Beefl81mU%2BXKlXXmzBlJ0ogRI1SlShWlpqbqs88%2B08CBA/XPf/5TsbGxTstYuXKlIiIi9Oyzzyo5OVkzZszQkCFD1KxZM5UqVUpTp07V0aNHNWPGDD3zzDNauHBhgevq448/1rhx49SuXTu98sorSk9P19KlSx3337JlSw0bNkzR0dGaPHmyHn/8ccXGxrp0evDpp5/WrbfeqpdeekkXL15UqVKltHfvXvXv31/XXXedxo8fr6pVq%2Bqrr77SlClTdPbsWY0YMUKSlJ6ernPnzmnQoEGqXr26MjIy9J///EcjR47UtGnT1KtXL0nZ%2B8OwYcO0Y8cODR8%2BXNHR0dq%2Bfbvi4%2BMLrS8/rtaYY9asWWrRooVefPFFpaSkaObMmRo6dKjWrVungIAASa7tK40bN9a0adP01FNPaejQobr11lslSTVq1HDcV0ZGhoYOHaq%2Bfftq0KBB%2BvbbbzV//nwFBwc76vrkk0/0/PPPa%2BDAgRo/frxsNpsOHjyovXv3FnmdAAUyAbhk9erVZkRERIH/OnXq5PQ7nTp1MsePH%2B%2B4/eijj5o9e/Ys8H6WLl1qRkREmIcPH3Ya37t3rxkREWFOmjTJafz77783IyIizFmzZpmmaZpJSUlmkyZNzMcee8xpvh07dpgRERHmgAEDHGNbt241IyIizPvuu6/Q/jMzM82MjAzzgQceMIcPH%2B4YP3z4sBkREWHeddddZlZWlmP8n//8pxkREWEOGTLEaTkvvviiGRERYZ4/fz7f%2B8rKyjLbtWtndu/e3WmZKSkpZtu2bc1%2B/frl6mH9%2BvWF9pCzDZ988slc0wYNGmR26NAhV12TJ082o6OjzaSkpDyXmbNenn76abNXr16O8cTERDMiIsJctmyZ0/wLFiwwIyIizDlz5hRYa856Xb16tds15qyT%2BPh4p/nWrVtnRkREmDt27DBN0719ZdeuXbnqyTF%2B/HgzIiLCXLdundN4fHy82blzZ6c6W7ZsWWDfgCdxugpw04wZM/TBBx/k%2BnfTTTcV%2BrvR0dHas2ePJk2apC%2B//FIpKSku32/OKavevXs7jTdt2lTh4eH6%2BuuvJUk7d%2B5Uenq6unbt6jRf8%2BbNVatWrTyXfccdd%2BQ5/s4776h3796Kjo5WVFSUGjdurK%2B//lr79u3LNW/Hjh1ls/35lBIeHi5Jjr/6rxw/evRofq3qwIED%2BuOPP9SzZ0%2BnZZYvX1533HGHvv/%2Be128eDHf3y/Mlf2mpaVp69atuv3221W2bFllZmY6/nXo0EFpaWnauXOnY/7169erf//%2BiomJcayXDz74wGm95GyvHj16ON1X9%2B7di1SzuzVKyvVuv8jISEl/rvui7Cv5MQwjz/u7fDtHR0crOTlZjz/%2BuDZt2uQ4Wgh4C6erADeFh4crOjo613hISEiua2Ou9Oijj6pcuXL66KOP9O677yogIEAtW7bUuHHj8lzm5ZKSkiRJ1apVyzWtWrVqjheTnPkqV66ca74qVarkueyc02KXe/PNNzV9%2BnT1799fo0ePVsWKFWWz2fTaa6/luq5DkipUqOB0u3Tp0gWOp6Wl5VmLJJ09ezbfuqpVqya73a7k5GQFBQXlu4yCXLncpKQkZWZm6q233tJbb71VYE0bN27UY489pi5duujhhx9WlSpVFBAQoHfeeUerV692WmapUqVUsWLFAu/bVe7UmCMsLMzpdmBgoKTsi61zlim5t6/kJygoSGXKlMl1f5dv5169eikrK0urVq3SqFGjZLfbFR0drccee0y33HKLW/cHuIKQA1xFpUqV0kMPPaSHHnpIycnJ%2Bs9//qNXX31VDz/8sLZs2VLgi3bOC9Yff/zhdC1EzljOi2nOfHld3Hvq1Kk8/0LP651FH330kVq3bq3nn3/eafzChQuFdFl8Ob2cPHky17Q//vhDNputWG%2Bvv7Lf0NBQBQQEqGfPno4Lma9Uu3ZtSdnrpXbt2po9e7bTcnIuHs8RFhamzMxMnT171ino5NWTK9yp0VVF2VeKq0%2BfPurTp49SU1P17bffau7cuXr00Ue1YcMGr9wfrm2crgJ8JDQ0VF26dNG9996rpKQkHTlyRNKff21feaSjTZs2krJfZC%2B3a9cu7du3zzG9WbNmCgwM1Lp165zm27lzp%2BM%2BXGEYhqOWHHv27Ml1SsQb6tevr%2BrVqyshIcHpgu7U1FRt3LhRzZs3L/JRnLwEBQUpNjZWP//8syIjIxUdHZ3rX05QMQxDpUuXdgo4J0%2Be1ObNm52WmXNh9scff%2Bw0npCQ4PUaXeXOvnLlUaDiKleunDp27KghQ4YoIyODi4/hFRzJAa6iIUOG6IYbblCTJk1UqVIlHTlyRMuWLVOtWrVUr149SVJERISk7CMDvXv3VqlSpVS/fn01aNBA/fr109tvvy2bzaYOHTo43l113XXX6cEHH5SU/df5Qw89pEWLFik0NNTxjpnXX39dVatWdfnzYG699VbNnz9fc%2BbMUatWrXTgwAHNnz9ftWvXVlZWllfWTw6bzaYnnnhC48aN06OPPqp%2B/fopPT1db7zxhpKTkzV27FiP3%2Bczzzyje%2B%2B9V/fdd5/%2B9re/qVatWrpw4YIOHTqkzz//XMuXL5eUvV42btyoSZMmqXPnzjp%2B/Ljmz5%2BvatWq6bfffnMsr127dmrVqpVefvllXbx4UU2aNNH27dv1//7f//N6ja5yZ1%2BpW7euypYtq48//ljh4eEqV66cqlWrpurVq7t8fxMnTlTZsmXVokULVa1aVSdPntTixYsVEhJS6OlaoCgIOcBVFBsbqw0bNmjVqlVKSUlR1apVdfPNN2vYsGGOa1ViY2P16KOP6sMPP9SqVatkt9u1fPlyxcbGatKkSapTp44%2B%2BOADrVy5UsHBwWrfvr3Gjh3r9Ff8mDFjFBQUpHfffVdr1qxRgwYNNGnSJL366qsun%2BYZMmSILl68qA8%2B%2BEBLly5Vw4YNNWnSJG3atEnffPONV9bP5Xr06KGgoCAtXrxYY8aMUUBAgJo1a6bly5erRYsWHr%2B/hg0bas2aNZo/f75mz56tM2fOKCQkRPXq1VPHjh0d8/Xp00enT5/Wu%2B%2B%2Bq9WrV6tOnTp65JFHdPz4cc2bN88xn81m04IFCzRt2jQtXbpUGRkZatGihRYvXpzrQl9P1%2BgOV/eVoKAgTZ06VfPmzdPgwYOVkZGhESNGaOTIkS7fV8uWLbVmzRqtX79e586dU8WKFXXTTTdpxowZjo8/ADzJME0XPtwDQIl3%2BPBhde3aVSNGjNCQIUN8XQ78GPsKrIIjOYAF7dmzRwkJCYqJiVFwcLAOHDigpUuXKjg42PHJtYDEvgJrI%2BQAFhQUFKQff/xRH3zwgc6fP6/g4GDFxsbqsccec/utwbA29hVYGaerAACAJfEWcgAAYEmEHAAAYEmEHAAAYEmEHAAAYEnX9LurTNOU3Z593bXNZjh%2BtrprqVfp2uqXXq3pWupVurb6pdeiLcfVT26/pkOO3W7qzJkLKlXKpooVyys5OVWZmXZfl%2BVV11Kv0rXVL71a07XUq3Rt9UuvRVOpUnkFBLgWcjhdBQAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALKmUrwsA4O/sstmO%2BroIJ4Zhk1ROhpEqm82e5zx2e03xdxxwbSPkACiQzXZUFSr0kmmW9nUpDoYhSTYFB9tlmnlNz9C5c2tlt9e%2B2qUB8COEHACFyg44gb4u4wo2SXkfxckr%2BAC49nAsFwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBLfQo7/sctmO%2BrrItxmt9cUWR0AkBdCDiRJNttRVajQS6ZZ2teluMwwMnTu3FrZ7bV9XQoAwA8RcuCQHXACfV2Gy0zT1xUAAPwZx/kBAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAl%2BTzkrF%2B/XsOGDVPHjh3VvHlz9ejRQytXrpTdbneaLzExUb169VJ0dLRuv/12rVixwkcVAwCAkqCUrwt48803VbNmTT355JOqXLmytm3bphdffFGHDx/W%2BPHjJUk7duzQsGHD1LNnT02YMEHbt2/XlClTFBgYqHvuucfHHQAAAH/k85CzcOFCVapUyXG7TZs2Sk1N1YoVKzRmzBgFBgbq9ddfV1RUlKZOneqY59ixY3rttdfUp08f2Ww%2BPyAFAAD8jM/TweUBJ0ejRo2UlpampKQkpaena%2BvWrerWrZvTPD169NDJkyf1888/X61SAQBACeLzIzl5%2Be677xQWFqbKlSvrwIEDysjIUIMGDZzmadiwoSRp3759atKkSZHvq1QpmwICsrNezv9Wll%2BvhmGTYfiiouIJCLAVeCSPbVt8/rhv5NSTf12mSpU6IdMsWdvdNGvqyr89/Xsftsswjnp0idl9llWpUpdkGPZC5y%2BqvNb11ebf29azfNWr34WcH374QWvWrNHw4cMVEBCgc%2BfOSZJCQ0Od5su5nTO9KGw2QxUrlr9smUFFXlZJk7vXcsp%2BwJekB5tNYWHlJJUvdM5re9sWl//uG/k/YWapQoWHlV17SZEhaaOkOnlO9c99%2BLCkXpJKe3zJISEeX%2BRlCl7XV5t/blvvuNq9%2BlXIOXnypEaNGqXo6GjFx8c7TTPy%2BZMtv3FX2O2mkpNTFRBgU2hokJKTLyory3t/OfiD/Ho1jFQFB9sllaT%2B7UpJSZVpXsh3DrZt8fnjvmEY2f1mZdllmnnNYUoKkJ89xRUi7/3Zn/fh7H3Ds%2Bu58G3rCYU/d1wN/rxtPc2TvYaGBrl8RMhvngHOnz%2Bv%2BPh4lS1bVgsWLFDp0tl/GVSoUEFS7iM2ycnJknIf4XFXZuafKzsry%2B5028qu7NVm8%2BYTivdkZdlzfdxAfvNdq9u2uPx53zBN5VubYeQ/zV8VtD/74z7szX2joG3rCa4%2Bd1wN/rhtveVq9%2BoXx5/T0tI0dOhQnTp1SkuXLlXFihUd0%2BrWravSpUtr//79Tr%2Bzd%2B9eSVJ4ePhVrRUAAJQMPg85mZmZGj16tPbs2aOlS5eqVq1aTtMDAwPVpk0brV%2B/3mk8ISFBVatWVVRU1NUsFwAAlBA%2BP101efJk/etf/9ITTzyhS5cuaefOnY5pDRs2VHBwsIYPH64BAwZo4sSJ6tGjh7Zv365Vq1Zp8uTJfEYOAADIk89DzldffSVJevnll3NNW758uWJjYxUTE6P58%2Bdr1qxZWrt2rWrUqKGJEyfyaccAACBfPg85n3/%2BuUvzdezYUR07dvRyNQAAwCo41wMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyplK8LAABIkimb7ViuUcOwSSonw0iVzWa/%2BmUVILte09dlAPki5ACAX8hUSMjDMs1yTqOGIUk2BQfbZfpZnjCMVEmlZZplfF0KkCdCDgD4jdKSAvMYt0nyr6M4kmSaGf8LYYB/4pocAABgSYQcAABgSYQcAABgSYQcAABgSYQcAABgSR4JOceOHdMXX3yhs2fPemJxAAAAxeb2W8hfffVVXbx4UU8//bQk6T//%2BY%2BGDBmijIwMhYaG6u2339YNN9zg8UIBAADc4faRnI0bN6phw4aO27Nnz1ZkZKTmzZunmjVrasGCBR4tEAAAoCjcPpJz4sQJ1a1bV5J09uxZ/fDDD1q8eLHat2%2BvtLQ0zZgxw%2BNFAgAAuMvtIzmmacr832eLb9%2B%2BXQEBAWrVqpUkqVq1alyXAwAA/ILbIadu3br617/%2BJUlat26doqOjVbZsWUnSH3/8odDQUM9WCAAAUARuh5x%2B/fpp%2BfLlio2N1bp16/TXv/7VMW379u1O1%2BsAAAD4itvX5Nx7772qUKGCduzYoejoaPXs2dMxLS0tTb179/ZogUD%2BTNlsxwqcwzBsksrJMFJls/nHFxza7TXFR1QBgPcV6VvIu3Xrpm7duuUaf%2BGFF4pdEOC6TIWEPCzTLJfvHNnfkGxTcLBd/7uUzKcMI0Pnzq2V3V7b16UAgOUVKeQA/qO0pMBC5rFJ8o%2BjOP4QtADgWuFSyImLi5OR/SexSzZv3lzkggAAADzBpZDTunVrp5CzdetWnTx5UjExMapatapOnjypHTt2qFq1aoqNjfVasQAAAK5yKeRMnz7d8fPatWu1fft2bdy4UTVr1nSMHzlyRIMGDVLr1q09XyUAAICb3H6Lx5IlSzRy5EingCNJtWrV0vDhw7V48WKPFQcAAFBUboecQ4cOKSQkJM9pFSpU0JEjR4pdFAAAQHG5HXJq1aqlDz74IM9p77//fq4jPAAAAL7g9lvIH3nkET399NPq27evunfvripVqujUqVNKSEjQTz/9pClTpnijTgAAALe4HXLuvvtuSdLs2bOdLkiuWrWqXnjhBfXp08dz1QEAABRRkT4M8O6771bv3r21f/9%2BJSUlKSwsTA0aNHDrs3RyHDx4UG%2B88Ya%2B//57/frrr2rQoIESEhKc5pkwYYI%2B/PDDXL%2B7ZMkSdejQoSgtAAAAiyvyJx4bhqHw8PBiF/Drr78qMTFRzZo1k91ul5nPR8LWqVNHM2fOdBrzxP0DAABrKnLI%2Be9//6t9%2B/YpLS0t17RevXq5vJy4uDj95S9/kZR9xObHH3/Mc76yZcuqefPmRSsWAABcc9wOORcvXtTQoUO1detWGYbhOPJy%2Bakqd0KOzca3MQMAAM9zO2HMnz9fR44c0dtvvy3TNDVv3jy9%2Beabuv3221WvXr08r53xhEOHDqlly5Zq0qSJ7r77bm3atMkr9wMAAKzB7SM5mzdvVnx8vGJiYiRJ1113nRo3bqy2bdtq7NixWrlypSZPnuzRIhs1aqTo6Gg1bNhQ58%2Bf1zvvvKPhw4frtddeU5cuXYq17FKlbAoIyM56Of9bWX69GoZNRbhu3C8UVHfONH/qLSDA5pUjmN7aj/1x33B1u/pb3a64smZ/3Iev5Mnarla/3noculvD5f9bma96dTvkHDlyRA0aNFBAQIAMw9DFixcd03r06KFnnnnG4yHngQcecLodFxen/v37a86cOcUKOTaboYoVyztuh4YGFXlZJU3uXssp%2B8BeSXqw5TwLFl6z/zyJ2BQWVk5S%2BULnLCrP78f%2Bu2/kv11d3zf8R8E1%2B88%2BfDnvrWfv9uv9x6E7ru3XHu9yO%2BSEhIQoNTVVklS5cmUdPHhQLVu2lCRlZmY6pnmTzWbTHXfcoZdfflmXLl1S2bJli7Qcu91UcnKqAgJsCg0NUnLyRWVl2T1crX/Jr1fDSFVwsF1SSeo/5514%2BddsGNk9Z2XZlc8b964yu1JSUmWaFzy%2BZG/tx/64bxS%2BXQvfN/xP3jX73z58Oc%2Bv56vTr/ceh%2B7gtadoQkODXA7BboecyMhI/fbbb%2BrQoYNiY2O1aNEi1atXT4GBgXr99dd14403ul1wUeT3VnN3ZWb%2BubKzsuxOt63syl5tNn98Ai2cYciluk3Ttfmuhqwsu%2Bx27%2B1nnt6P/XnfKGi7urpv%2BJOCavanffhy3lrP3u7X249Dd1zLrz3e5nbI6dOnjw4ePChJeuyxx3Tvvfdq4MCBkqTQ0NCr8i3kdrtdGzZs0A033FDkozgAAMDa3A45d955p%2BPnOnXqaMOGDY63k8fExCgsLMyt5V28eFGJiYmSsq/3SUlJ0aeffipJat26tS5evKgJEyaoe/fuqlu3rs6dO6d33nlHP/74o%2BbOnetu%2BQAA4BpR5A8DzFGuXDnFxcUV%2BfdPnz6t0aNHO43l3F6%2BfLkiIyMVHBys119/XWfOnFHp0qXVpEkTLVmyRO3bty9W7QAAwLqKFHLS09O1Zs0affPNNzp79qyee%2B45XX/99dq0aZMiIyNVp04dl5dVu3Zt/fLLLwXOs2DBgqKUCQAArmFuh5wzZ87ogQce0K%2B//qoqVaro9OnTunAh%2Bwr1zZs366uvvtKkSZM8XScAAIBb3P4ggpdfflnJyclavXq1tmzZ4vQup9jYWH377bceLRAAAKAo3A45W7Zs0ahRo9S4cWOn76uSpOrVq%2Bv48eMeKw4AAKCo3A45KSkpqlmzZp7TMjMzlZWVVeyiAAAAisvtkFO7dm3t3Lkzz2m7du1S/fr1i10UAABAcbkdcnr06KElS5Zo06ZNjutxDMPQrl27tHz5cvXs2dPjRQIAALjL7XdXxcfHa/v27RoxYoQqVKggSRo8eLCSkpLUvn173X///R4vEgAAwF1uh5zSpUtryZIlWrdunbZs2aLTp0%2BrYsWKuvXWW9WtWzeff3U9AACA5GbISUtL09q1a9WyZUt169ZN3bp181ZdAAAAxeLWYZcyZcpoypQpOn36tLfqAQAA8Ai3zy3VqVNHp06d8kYtAAAAHuN2yLn//vu1ePFipaSkeKMeAAAAj3D7wuO9e/fq7NmziouLU5s2bVS1atVcn3w8ceJEjxUIAABQFG6HnLffftvx88aNG3NNNwyDkAMAAHzO7ZCzZ88eb9QBAADgUXyoDQAAsCRCDgAAsCRCDgAAsCRCDgAAsCRCDgAAsCSXQs60adN07NgxSdLRo0eVkZHh1aIAAACKy6WQs2zZMp08eVKSdNttt2n37t1eLQoAAKC4XPqcnAoVKji%2Br8o0Ta8WBAAArmSXzXbU10W4zW6vKV9eGeNSyGnWrJmeeeYZNW3aVJI0Y8YMhYSE5DmvYRhasGCB5yoEAOAaZ7MdVYUKvWSapX1dissMI0Pnzq2V3V7bZzW4FHKee%2B45TZ06VXv37pVhGDp48KACAwPznPfK77ECAADFlx1w8n7t9Uf%2BcOLHpZBTq1Ytvf7665KkG2%2B8UfPnz3cc1QEAAPBHbp8oW758ucLDw71RCwAAgMe4/QWdrVu3liQdPHhQW7duVVJSkipWrKjY2FjVq1fP4wUCAAAUhdshxzRNvfDCC3r33Xdlt9sd4zabTffee68mTpzo0QIBAACKwu2Q889//lMrV67U3/72N/Xu3VvVq1fXiRMntHbtWq1cuVK1a9fWgw8%2B6IVSAQAAXOd2yFm1apUGDBjgdMSmevXqatq0qWw2m95//31CDgAA8Dm3Lzw%2BfPiwOnXqlOe0Tp066fDhw3Txu6sAACAASURBVMUuCgAAoLjcDjkhISE6ejTvT108evSogoODi10UAABAcbkdcm6%2B%2BWbNnj1bP/74o9P47t27NWfOHLVr185jxQEAABSV29fkjB07Vv369dM999yjhg0bqmrVqjp58qT27t2ratWqaezYsd6oEwAAwC1uH8m57rrrtHbtWj388MMKCgrS77//rqCgID3yyCP68MMPVaNGDW/UCQAA4Ba3j%2BRIUqVKlThiAwAA/Jrvvv8cAADAi4p0JAdAUZmy2Y55ZcmGYZNUToaRKpvNXuj8rsqu1w%2B%2BThgA3ETIAa6qTIWEPCzTLOfxJRuGJNkUHGyX6cFMYhipkkrLNMt4bqEAcBUQcoCrrrSkQC8t2ybJc0dxJMk0M/4XoACgZHH7mpz09HSZnvwzEQAAwAvcCjlpaWlq1qyZNm3a5K16AAAAPMKtkFOmTBmFhYUpKCjIW/UAAAB4hNunqzp16qTPPvvMG7UAAAB4jNsXHnfr1k3PPPOMnnrqKd1xxx2qWrWqjCuuSmzcuLHHCgQAACgKt0PO4MGDJUkffvih1q5d6zTNNE0ZhqHdu3d7pjoAAIAicjvkTJs2zRt1AAAAeJTbIad3797eqAMAAMCjivXdVfv379d3332n1NRUT9UDAADgEUUKOWvXrlWHDh3UrVs3DRgwQAcOHJAkjR49Wu%2B//75HCwQAACgKt0PO%2BvXrNWHCBEVFRenvf/%2B706cfN27cWOvXr/dogQAAAEXhdshZvHix7r77bi1cuFD9%2BvVzmtagQQPt3bvXY8UBAAAUldshZ9%2B%2BferWrVue08LCwpSUlFTsogAAAIrL7ZATFBSk8%2BfP5zntxIkTqlChQrGLAgAAKC63Q05MTIxWrFiR5zeRr1mzRq1bt/ZIYQAAAMXhdsgZPny4du7cqb59%2B%2Bqtt96SYRjauHGjhgwZov/7v//TkCFDvFEnAACAW9wOOdHR0VqyZIlSU1M1ffp0maapRYsW6cCBA1q8eLEiIiK8UScAAIBb3P7EY0lq06aN1q9fr0OHDunUqVOqWLGi6tev7%2BnaAAAAiqxIISdH3bp1VbduXU/VAgAA4DFFCjm///67Fi9erG3btikpKUlhYWGKjY1VfHy86tSp4%2BkaAQAA3Ob2NTm7d%2B9W7969tWbNGlWrVk233HKLqlWrpjVr1qh3797avXu3N%2BoEAABwi9tHcqZOnapKlSrpzTffVM2aNR3jR44c0aBBgzR16lS99dZbHi0SAADAXW4fydm1a5dGjhzpFHAkqVatWhoxYoR27drlseIAAACKyu2QExISopCQkDynhYaGKjg42K3lHTx4UM8%2B%2B6x69uypqKgode/ePc/5EhMT1atXL0VHR%2Bv222/XihUr3C0dAABcQ9wOOd27d9eqVavynPb%2B%2B%2B/n%2B71W%2Bfn111%2BVmJioevXqKTw8PM95duzYoWHDhikqKkpLlixR7969NWXKlHzrAAAAcOmanI0bNzp%2Bbty4sTZs2KC%2Bffuqe/fuqlKlik6dOqWEhASdOXNGXbp0cauAuLg4/eUvf5EkTZgwQT/%2B%2BGOueV5//XVFRUVp6tSpkrI/p%2BfYsWN67bXX1KdPH9lsbmc1AABgcS6FnFGjRskwDJmm6fj/2LFjeQaSJ598Uj169HC5gMICSnp6urZu3apx48Y5jffo0UPvv/%2B%2Bfv75ZzVp0sTl%2BwMAANcGl0LO8uXLvV1Hvg4dOqSMjAw1aNDAabxhw4aSpH379hUr5JQqZVNAQHbQyvnfyvLr1TBsMgxfVFR8BdWdM83fevNGPd7u1Z/Woau9%2BlPNrrqyZn/dhy/nydquVr8BATafnwVw57WnpD5H56xnX73OuhRyfPnN4ufOnZOUfVHz5XJu50wvCpvNUMWK5S9bZlCRl1XS5O61nLIv0SpJQS/nEV94zf4TYF2vuag836v3ay6q/Hv135rzV3DN/rMPX85769m7/doUFlZOUvlC57waXHvtKYnP0bnX89V%2BnS3W1zpcTUY%2BETa/cVfY7aaSk1MVEGBTaGiQkpMvKivLXuTllQT59WoYqQoOtksqSf2b//s//5oNI7vnrCy7TDPf2a6iwmsuKu/16r2ai6rwXv2v5sLlXbP/7cOX8/x6vjr92pWSkirTvOCtO3CJO689JfM5%2Bs/17MnX2dDQIJdDcJFCzqZNm/TRRx/p6NGjSktLc5pmGIY%2B%2Buijoiw2TxUqVJCU%2B4hNcnKypNxHeNyVmfnnys7KsjvdtrIre7XZ/PEJtHCGIZfqNk3X5rsaXK25qLzRq7drLqqCevXXmgtSUM3%2BtA9fzlvr2dv9ZmXZZbf7x/O9K689JfU5%2Bsr1fLVfZ90OOUuXLtXMmTNVqVIl1a1bV0FB3j30VLduXZUuXVr79%2B9Xhw4dHON79%2B6VpHzfdg4AAK5tboeclStXqk%2BfPpo8ebICAgK8UZOTwMBAtWnTRuvXr9eDDz7oGE9ISFDVqlUVFRXl9RoAAEDJ43bISUpKUvfu3T0WcC5evKjExERJ2d9/lZKSok8//VRS9gXPlSpV0vDhwzVgwABNnDhRPXr00Pbt27Vq1SpNnjzZ51fHAwAA/%2BR2yGnRooX279%2Bvtm3beqSA06dPa/To0U5jObeXL1%2Bu2NhYxcTEaP78%2BZo1a5bWrl2rGjVqaOLEibrnnns8UgMAALAet0PO008/rREjRqhGjRpq3769AgMDi1VA7dq19csvvxQ6X8eOHdWxY8di3RcAALh2uB1y6tWrp5tvvlkjRoyQYRgqW7as03TDMPTdd995rEAAAICicDvkvPzyy3r77bfVqFEjNWjQoNhHcgAAALzB7ZDz4YcfKj4%2BXmPHjvVGPQAAAB7h9luTsrKydPPNN3ujFgAAAI9xO%2BTccsst%2Bv77771RCwAAgMe4fbpq2LBhGjNmjIKCgnTrrbc6vnbhcmFhYR4pDgAAoKjcDjk9e/aUJE2fPl3Tp0/Pc57du3cXryoAAIBicjvkDB8%2BvFjf/A0AAHA1uB1yRo4c6Y06AAAAPIovfgIAAJbk9pGcefPmFTjdMAwNHz68yAUBAAB4AiEHAABYktshZ8%2BePbnGkpKStGnTJi1btkyLFy/2SGEAAADF4ZFrcsLCwtS3b1/16NFDU6ZM8cQiAQAAisWjFx5HR0fr66%2B/9uQiAQAAisSjIeeXX35RuXLlPLlIAACAInH7mpy1a9fmGktPT9cvv/yi1atX66677vJIYQAAAMXhdsiZMGFCnuNlypTRXXfdpSeffLLYRQEAABSX2yFn8%2BbNucbKlCmjKlWqeKQgAAAAT3A75NSqVcsbdQAAAHgUX%2BsAAAAsyaUjOT169HB5gYZh6KOPPipyQQAAAJ7gUsgJCwsrdJ7U1FT99NNPMgyj2EUBAAAUl0sh56233sp3WmZmpt577z3Nnz9fhmGoe/fuHisOAACgqNy%2B8Phy69ev1%2BzZs3Xo0CHdfPPNGjdunBo1auSp2gAAAIqsSCFn27Ztmjlzpn744QdFRUXpH//4h9q2bevp2gAAAIrMrZDzyy%2B/aObMmfrqq69Uu3ZtvfLKK%2BrWrZu3agMAACgyl0LOsWPHNHv2bCUkJKhChQp6%2Bumn1b9/f5UuXdrb9QEAABSJSyGnc%2BfOysjIUPv27fXwww%2BrfPny%2Bu9//5vv/I0bN/ZYgQAAAEXhUshJT0%2BXJH3xxRf68ssv853PNE0ZhqHdu3d7pjoAAIAicinkTJs2zdt1AAAAeJRLIad3797ergMAAMCj%2BO4qAABgSYQcAABgSYQcAABgSYQcAABgSYQcAABgScX6gk4AAEoeUzbbMV8XIcOwSSonw0iVzWYvcN7ses2rUpeVEHIAANeYTIWEPCzTLOfTKgxDkmwKDrbLLCS/GEaqpNIyzTJXoTLrIOQAAK5BpSUF%2BroIZV81UvBRHEkyzYz/hSK4g2tyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJfEFnV5hl8121NdF5MkwbJLKyTBSZbP9%2BaVwNtsxSYV8DS4AACUIIccLbLajqlChl0yztK9LySX7W2xtCg62yzQvH0%2BVVFqmWcZHlQEA4FmEHC/JDjiBvi4jHzZJdqcR08z4XwACAMAauCYHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYUokIOWvWrFFkZGSufzNnzvR1aQAAwE%2BVqE88Xrp0qUJCQhy3q1ev7sNqAACAPytRIadx48aqVKmSr8sAAAAlQIk4XQUAAOCuEhVyunfvrkaNGum2227TokWLlJWV5euSAACAnyoRp6uqVq2qkSNHqlmzZjIMQ59//rlmz56tEydO6Nlnny3WskuVsikgIDvr5fxfXIZh89tv9M6pK7/6/LXughRUc2H9%2Boo36vF2r/60Dl3t1Z9qdtWVNfvrPnw5T9Z2Nfv19TotSq%2B%2BrtldAQE22Wyef511lWGapnlV79FDZsyYoWXLlmnLli2qVq1akZZhmqYMr%2BwxhyV1kxTohWV7S8r//g/2aRXuoearg5qvDmq%2Bekpi3SWx5nRJn0iq47MKSsSRnLx07dpV//jHP7R79%2B4ihxy73VRycqoCAmwKDQ1ScvJFZWXZi12bYaQqONguqfjL8jTDyE7SWVl2OcfbnBv%2BV3P%2BCq85/359xXvr2Xu9%2Bt%2B%2BUXiv/ldz4fKu2f/24ct5fj1fnX79Y/9wr1f/qNk9dqWkpMo0L3j0dTY0NMjlI0IlNuR4Smbmnys7K8vudLuobDZ/fDJyZprKVaNh5B7zd67WnFe/vuLt9eyNXv113yioV3%2BtuSAF1exP%2B/DlvLWevd2vP%2B0frvbqTzW7KivLLrvd86%2BzripRFx5fbt26dQoICFBUVJSvSwEAAH6oRBzJGTx4sNq0aaOIiAhJ0ubNm/X%2B%2B%2B/r/vvvV9WqVX1cHQAA8EclIuTUr19fH3zwgY4fPy673a7rr79eTz/9tAYOHOjr0gAAgJ8qESFn4sSJvi4BAACUMCX2mhwAAICCEHIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAllZiQc%2BDAAQ0ePFjNmzdX27ZtNWXKFF26dMnXZQEAAD9VytcFuCI5OVkPPPCAatasqTlz5ujMmTOaNm2akpKSNHPmTF%2BXBwAA/FCJCDnvvvuukpOTtXbtWlWqVEmSFBAQoHHjxmno0KEKDw/3cYUAAMDflIjTVV988YXatm3rCDiS1LlzZwUGBioxMdGHlQEAAH9VIo7k7Nu3T3369HEaCwwMVN26dbVv374iL9dmM1SpUnkZRvbtChWCZJrFqTRHuGy29Z5YkJcYCgi4slHTMa3kcLXmvPr1FW%2BvZ2/06q/7RkG9%2BmvNBSmoZn/ahy/nrfXs7X79af9wtVd/qtl1YWHVJZXy6Ouszeb6OigRISc5OVmhoaG5xkNDQ3Xu3LkiL9cwDAUE/LmybDZPHdgKlFTHQ8vyDqNkPU6K7Vrql16t6VrqVbq2%2BrVyrwEBzrc99zrrmhJxuio/pmnKsPLeAQAAiqxEhJzQ0FAlJyfnGj9//nyeR3gAAABKRMgJDw/Pde1Nenq6Dh06xDurAABAnkpEyOnQoYO2bt2qs2fPOsY%2B%2B%2Bwzpaenq2PHjj6sDAAA%2BCvDND3zfiJvSk5OVvfu3VWrVi0NGzZMp0%2Bf1vTp09WuXTs%2BDBAAAOSpRIQcKftrHaZMmaLvvvtOZcuWVffu3TVu3DiVLVvW16UBAAA/VGJCDgAAgDtKxDU5AAAA7iLkAAAASyLkAAAASyLkAAAASyLkAAAASyLkAAAAS7qmQ86BAwc0ePBgNW/eXG3bttWUKVN06dIlX5fllvXr12vYsGHq2LGjmjdvrh49emjlypWy2%2B2OeSZMmKDIyMhc/7744otcy3vjjTcUFxen6Oho9enTR9u2bbua7RRozZo1efZx5QdCJiYmqlevXoqOjtbtt9%2BuFStW5Lk8f%2B5VkgYOHJhnv5GRkfrkk08klcxte/DgQT377LPq2bOnoqKi1L179zzn8%2BR2TElJ0bPPPqvY2FjFxMRoyJAhOnLkiEf7yk9h/WZlZWnJkiUaMGCA2rRpo1atWum%2B%2B%2B7T119/nWtZcXFxeW7vtLQ0p/l81a8r29bT%2B6w/95rf4zcyMlJ//PGHYz5/366uvM5I/vmYLeX2b1hEcnKyHnjgAdWsWVNz5szRmTNnNG3aNCUlJZWoT1F%2B8803VbNmTT355JOqXLmytm3bphdffFGHDx/W%2BPHjHfPVqVMnV19Xfu/XG2%2B8oVdffVVjxoxRVFSUVq1apfj4eK1atUqRkZFXpR9XLF26VCEhIY7b1atXd/y8Y8cODRs2TD179tSECRO0fft2TZkyRYGBgbrnnnsc85WEXp977jmlpKQ4jS1btkwbN25U27ZtHWMlbdv%2B%2BuuvSkxMVLNmzWS325XXR3V5ejuOHTtWP/30k/7%2B978rODhYc%2BbM0UMPPaSPPvrI6x8oWli/ly5d0qJFi9SrVy8NHjxYpUqV0ocffqiHHnpICxYsUKdOnZzm79y5swYNGuQ0FhgY6HTbV/26sm0lz%2B6z/tzre%2B%2B9l2ts/PjxCgoKUrVq1ZzG/Xm7uvI647ePWfMatWjRIrNZs2bm6dOnHWMfffSRGRERYe7du9eHlbnn8vpzTJ061YyOjjbT0tJM0zTN8ePHm926dStwOWlpaeZNN91kzpgxwzGWmZlpdu3a1Xzsscc8W3QRrV692oyIiMiz5xyDBw82%2B/bt6zQ2ceJE85ZbbjGzsrJM0ywZveYnLi7OjI%2BPd9wuids2ZzuYZv71e3I77ty504yIiDC3bNniGDty5IgZFRVlrly50mN95aewfjMzM82kpCSnMbvdbvbu3dscMGCA03inTp3M559/vsD782W/rmxbT%2B6z/t7rlQ4fPmxGRESYS5YscRr39%2B3qyuuMvz5mr9nTVV988YXatm2rSpUqOcY6d%2B6swMBAJSYm%2BrAy91xef45GjRopLS1NSUlJLi9n%2B/btOn/%2BvNMh14CAAN15551KTEzM9y8yf5Kenq6tW7eqW7duTuM9evTQyZMn9fPPP0squb1u375dv//%2Bu3r06OH27/lTvzZbwU87nt6OiYmJCg0NVYcOHRzz1axZUy1atLgqj/XC%2Bg0ICFCFChWcxgzD0I033uh0SsNVvuy3sF5dVRK2bVF6TUhIkGEY%2BZ6iLYgvey3sdcafH7PXbMjZt29frsOjgYGBqlu3rvbt2%2Bejqjzju%2B%2B%2BU1hYmCpXruwYO3TokFq2bKkmTZro7rvv1qZNm5x%2BJ6fnBg0aOI2Hh4frwoULOnHihPcLd1H37t3VqFEj3XbbbVq0aJGysrIkZfeYkZGRq4eGDRtK%2BrPHktTr5RISEhQUFKTbbrvNadxK21by/Hbct2%2Bf6tevL8Mwci3PXx/rdrtdO3bsyPUcJUkff/yxmjRpopiYGMXHx%2BuXX35xml4S%2BvXUPlsSer3cJ598olatWqlGjRq5ppW07Xr564w/P2av6WtyQkNDc42Hhobq3LlzPqjIM3744QetWbNGw4cPV0BAgKTsxB0dHa2GDRvq/PnzeueddzR8%2BHC99tpr6tKli6Ts9REYGJjrXGfOX5hJSUl5PjCvpqpVq2rkyJFq1qyZDMPQ559/rtmzZ%2BvEiRN69tlnHdvtyu2acztnekno9UqZmZn69NNPddttt6lcuXKOcats28t5ejsmJyc7XcN1%2BfL89bH%2B1ltv6cCBA5o8ebLTeFxcnJo2baqaNWvq8OHDWrhwoe69916tXbtWderUkSS/79eT%2B6y/93q5PXv26L///W%2BubSqVvO165euMPz9mr9mQkx/TNHOlx5Li5MmTGjVqlKKjoxUfH%2B8Yf%2BCBB5zmi4uLU//%2B/TVnzhzHk4qkPPvOOXzoD%2Bukffv2at%2B%2BveN2u3btVKZMGS1btkxDhgxxjOdX6%2BXj/t7rlf7973/r9OnTuQ5zW2Xb5sWT29GVZfmLb775Ri%2B//LIGDRqkVq1aOU2bOHGi4%2BeWLVvqlltuUdeuXfXGG29o0qRJjmn%2B3K%2Bn91l/7vVyH3/8sUqXLq3OnTvnmlaStmt%2BrzMF1eHLx%2Bw1e7oqNDRUycnJucbPnz%2Bf5xEef3f%2B/HnFx8erbNmyWrBggUqXLp3vvDabTXfccYf27dvneMt8aGio0tLScr1lMWcdXXnNgL/o2rWrsrKytHv3bkeNVyb9nB5ytmtJ7DUhIUFhYWFq165dgfNZYdt6ejvm91jP72iuL%2B3Zs0fDhg3TX/7yFz3xxBOFzl%2BtWjXddNNN%2BumnnxxjJalfqXj7bEnp1TRNrVu3Tu3bt1dYWFih8/vrds3vdcafH7PXbMgJDw/PdW4vPT1dhw4dyvM8uD9LS0vT0KFDderUKS1dulQVK1Ys9HeuvNg0p%2Bcr18m%2BfftUvnx5p7dp%2B6u6deuqdOnS2r9/v9P43r17Jf3ZY0nr9dKlS9q8ebO6dOlSYHjNUdK3rae3Y3h4uA4cOJBrvezdu9evHuuHDh3Sww8/rKioKL300ksu/8Wa1/YuCf1erqj7bEnp9bvvvtPRo0fdetOAv23Xgl5n/Pkxe82GnA4dOmjr1q06e/asY%2Byzzz5Tenq6Onbs6MPK3JOZmanRo0drz549Wrp0qWrVqlXo79jtdm3YsEE33HCD49xoixYtFBISonXr1jnmy8rK0vr169WxY0e/O/SbY926dQoICFBUVJQCAwPVpk0brV%2B/3mmehIQEVa1aVVFRUZJKXq%2Bff/65Lly44NITpBW2rae3Y8eOHZWcnKwvv/zSMd%2BxY8e0fft2v3msnzx5UoMGDVKVKlU0f/78XJ%2BPkp8TJ05o%2B/btio6OdoyVhH4vV5x9tqT0%2BvHHH6tcuXK5PvMoP/62XQt7nfHnx2zApMtP%2BF1DbrjhBq1evVpffvmlqlevrh07dmjq1Km6/fbb1b9/f1%2BX57JJkyYpISFBo0ePVrVq1XT8%2BHHHv%2BDgYJ08eVLDhw9XRkaGzp8/r59%2B%2BklTpkzRjh079PzzzztScUBAgAICArRw4UKVLVtWaWlpeu2117Rjxw699NJLqlKlio87lQYPHqw//vhDKSkpOnjwoP7xj39oxYoVGjhwoONcfp06dbRw4UIdO3ZM5cuX18cff6w333xTTz31lJo0aSKpZPR6uVmzZiktLU1PPfWUUyA5cuRIidy2Fy9e1ObNm7V37179%2B9//1qlTp1SjRg3t3btXlSpVUlBQkEe3Y40aNfTjjz/qvffeU/Xq1XXs2DE9%2B%2ByzKlu2rCZPnqxSpbx7aWJh/RqGofvvv1/Hjx/XxIkTdenSJafHcc5F4QkJCVq8eLEuXbqks2fP6uuvv9Yzzzyj9PR0TZs2zXGo35f9FtbrmTNnPLrP%2BnOvQUFBkrIDwjPPPKNOnTrpzjvvzLWckrBdC3udCQwM9NvHrGH664eCXAUHDhzQlClT9N1336ls2bLq3r27xo0b5/VPQPWkuLi4fD/qevny5YqMjNRTTz2ln376SWfOnFHp0qXVpEkTPfLII04X8UrZh0ffeOMNrVixQqdOnVJERISeeOIJtWnT5mq0UqgpU6boyy%2B/1PHjx2W323X99dfrnnvu0cCBA51e/BMTEzVr1izt27dPNWrU0EMPPaT77rvPaVn%2B3muOc%2BfO6ZZbbtEDDzyQ6xqNpKSkErltf//991xvg8%2BxfPlyxcbGSvLsdkxJSdGMGTO0YcMGZWRkKDY2Vn//%2B99dOvJZXIX1W6tWrXynS3K8lXjnzp165ZVX9Ouvv%2Br8%2BfMKCQlRmzZtNGrUqFxvyfVVv4X16o3nI3/tNWc/3rJlix599FEtXrw4z6MQJWG7FvY648%2BP2Ws65AAAAOu6Zq/JAQAA1kbIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAZDLmjVrFBkZ6fgXFRWldu3aacyYMfrtt998Xtfvv/9e4Hxz585VZGTkVaqqcImJiZo7d26e0yIjIzV58uSrXBFwbfDul7YAKNGmTZumBg0aKC0tTdu3b9fChQu1bds2rV%2B/3vGdOihcYmKiVqxYoZEjR/q6FOCaQsgBkK8bbrjB8U3IsbGxysrK0ty5c7Vp0yb16dPHx9UBQME4XQXAZTmB5/Tp07mmrVu3Tv369VPz5s0VExOjwYMH6%2Beff3aa54cfftCYMWMUFxenpk2bKi4uTo8//nieX/63c%2BdO9e/fX9HR0WrXrp1eeeUVZWZmFqt%2BV2qcMGGCYmJidPDgQcXHxysmJkYdO3bU9OnTlZ6e7jTv8ePHNWrUKMXExKhly5YaO3asdu3apcjISK1Zs8axvBUrVkiS0ynAK0%2B5rV27Vl27dlWzZs1011136V//%2BlexegXAkRwAbsh5Yb7%2B%2BuudxhcuXKjZs2fr7rvv1tChQ5WRkaE33nhD9913n1atWqWGDRtKko4cOaL69eurW7duqlChgk6ersZBjQAABYJJREFUPKl33nlHffv21SeffKJKlSpJkvbu3asHH3xQtWrV0vTp01W2bFmtXLlSCQkJRa7d1RolKSMjQ0OHDlXfvn01aNAgffvtt5o/f76Cg4M1YsQISVJqaqruv/9%2BnTt3TuPGjVO9evX05ZdfasyYMU73O2zYMKWmpmrDhg167733HOPVqlVz/Lxlyxb98MMPGjVqlMqVK6elS5dqxIgR%2BvTTT1WnTp0i9wxc80wAuMLq1avNiIgIc%2BfOnWZGRoaZkpJifvHFF%2BYtt9xi3nfffWZGRoZj3qNHj5pRUVHmCy%2B84LSMlJQU85ZbbjFHjx6d7/1kZmaaFy5cMJs3b24uW7bMMf7YY4%2BZTZs2NU%2BePOk0b5cuXcyIiAjz8OHDBdY/Z84cMyIiokg1jh8/3oyIiDDXrVvnNG98fLzZuXNnx%2B23337bjIiIMBMTE53m%2B/vf/25GRESYq1evdow9//zzTvVcLiIiwrz55pvN8%2BfPO8ZOnjxp3njjjeaiRYsK7BNAwTiSAyBff/3rX51uh4eHa/78%2BSpV6s%2Bnjq%2B%2B%2BkqZmZnq2bOn0%2BmkMmXKqFWrVtq2bZtj7MKFC5o/f742btyoI0eOKCsryzFt3759jp%2B3bdumtm3bqkqVKo6xgIAA3XnnnZo3b57bfbhToyQZhqG4uDinscjISG3dutVx%2B9tvv1X58uXVoUMHp/m6d%2B/udMTGFbGxsQoODnbcrlKliipXrpznaTwAriPkAMjXjBkzFB4ergsXLmjdunV677339Pjjj2vp0qWOeU6dOiVJ6tu3b57LsNn%2BvPRv7Nix2rp1q4YNG6bo6GiVL19ehmHokUceUVpammO%2BpKQkp4CTI68xV7hToyQFBQWpTJkyTmOBgYEu1Vi5cmW36wsLC8s1duX9AXAfIQdAvsLDwx0XG7dp00Z2u12rVq3Sp59%2Bqi5dukiSKlasKEmaM2eOatasme%2Byzp8/ry1btmjEiBF65JFHHOPp6ek6d%2B6c07xhYWGOYHK5vMZc4WqN7ggLC9OuXbtyjRe1RgCeR8gB4LInnnhCGzdu1Jw5c3THHXfIZrOpXbt2KlWqlA4dOqTOnTvn%2B7uGYcg0TQUGBjqNr1q1yum0lZR9%2Bubzzz/XqVOnHEdLsrKytG7duiLV7WqN7mjVqpXWr1%2BvxMREdezY0TH%2BySef5Jo3p%2BdLly6p7P9v5%2B5VGgnDMAzfazVKTLDzDwSL5AiiXY5AFEGxChaiEhNjl3R6AKOgjY1IGPyp7OxFQgpJqwcQUBHE3iJFrFYIW2wMgsvsffXD%2B3zdw7wfXxB8y3xJf2fJkdSzVCrFxsYGYRhyfX3NwsICk5OTlMtlDg8PeXx8JJfLkUwmeXt74/7%2BnsHBQcrlMolEgmw2y%2BnpKSMjI0xMTNBsNrm6uiKZTHbNKRQK3NzcsLq6SrFYJAgCLi4ueH9/7yt3rxm/YnFxkSiKqFQq7OzsMDU1Rb1ep9FoAN0rsHQ6DcDJyQm5XI6BgQEymcwfhU/S9/KdHElfks/nGR8f5/j4%2BPMPzObmJkdHR7RaLarVKmtra%2Bzv7/P8/Ew2m/389uDggNnZWcIwpFQq8fDwQK1WY3h4uGtGOp2mVquRSCSoVqvs7u6SyWTY2trqO3evGXs1NDREFEXMzMwQhiHb29u8vLywt7cH0HWmubk5lpeXuby8ZGVlhaWlJV5fX/s%2Bi6Te/Op0Op2fDiFJcfH7PZ7b21tGR0d/Oo70X3NdJUl9Oj8/B2B6epp2u83d3R1nZ2fMz89bcKR/gCVHkvoUBAFRFPH09ES73WZsbIz19XUKhcJPR5OE6ypJkhRTXjyWJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmx9AGwhvamlRj6hgAAAABJRU5ErkJggg%3D%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjkAAAHKCAYAAADhBVpHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde5yM9f//8ec1y7LsrnWWY6x2syxWWMoh26cQQvThU3SgLWeJovIpSQ4lCTn36UPRQeRXGxF9bPX5RH1DOtAnh5BTTmutZU9z/f7Yz07GnmZ2Z8zs5XG/3dzsvK9rr3m9ruuamede1zUzhmmapgAAACzG5usCAAAAvIGQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQA7hozZo1ioyM1A8//JDn9EcffVRxcXFOY3FxcZowYYJb97N9%2B3bNnTtXycnJRa71WrNu3Tp169ZNTZs2VWRkpHbv3u3rkgoUGRmpuXPnFjjP77//rsjISK1Zs%2BYqVVWwEydOaO7cuXmu2wkTJigmJsYHVQEFK%2BXrAgArmzdvnoKDg936nR07dmjevHnq3bu3QkNDvVSZdZw5c0ZPPvmk2rVrp%2Beee06BgYG6/vrrfV2W5fzxxx%2BaN2%2BeatWqpUaNGvm6HMAlhBzAi6KionxdgtsyMjJkGIZKlSoZTw8HDhxQRkaG7rrrLrVu3drt37906ZLKlCkjwzC8UB0AX%2BJ0FeBFV56ustvtmj9/vjp37qymTZuqZcuW6tGjh5YtWyZJmjt3rl566SVJ0m233abIyEhFRkZq27Ztjt9fsmSJunTpoiZNmqht27Z68skndfz4caf7NU1TCxcuVKdOnRQdHa27775b//73vzVw4EANHDjQMd%2B2bdsUGRmptWvXavr06Wrfvr2io6N18OBBnTlzRpMmTdKdd96pmJgYtW3bVvfff7/%2B7//%2Bz%2Bm%2Bck6rLF26VIsXL1ZcXJyaNm2qgQMHOgLIzJkz1a5dO910000aPny4Tp8%2B7dL627x5s/r166dmzZopJiZGDz30kHbs2OGYPmHCBN17772SpDFjxigyMtKpvyvlnHL86quv9NRTT6lNmzZq1qyZ0tPTJUm//fabxo4dq7Zt26pJkybq2rWrVqxY4bSMtLQ0TZ8%2BXT179tRNN92k1q1bq1%2B/ftq0aVOu%2B0tJSdHEiRMVGxurmJgYDR48WAcOHHCp9/y4UmPOdk1ISNCrr76qdu3aqUWLFnrwwQe1f/9%2Bp3ld2Ve2bdumvn37SpKeeuopx3555Sm3gwcPKj4%2BXjExMerYsaOmT5/uWLc5Vq5cqbvuuksxMTGKiYlRly5dNGvWrGKtEyA/JeNPNcCP2O12ZWZm5ho3TbPQ3126dKnmzZunoUOHqmXLlsrMzNT%2B/ft1/vx5SdI999yjc%2BfO6a233tK8efNUtWpVSVLDhg0lSZMmTdJ7772nAQMG6NZbb9WRI0f02muv6ZtvvtGaNWtUqVIlSdKrr76qRYsWqV%2B/frr99tt1/PhxTZw4URkZGapfv36uumbNmqXmzZvr%2Beefl81mU%2BXKlXXmzBlJ0ogRI1SlShWlpqbqs88%2B08CBA/XPf/5TsbGxTstYuXKlIiIi9Oyzzyo5OVkzZszQkCFD1KxZM5UqVUpTp07V0aNHNWPGDD3zzDNauHBhgevq448/1rhx49SuXTu98sorSk9P19KlSx3337JlSw0bNkzR0dGaPHmyHn/8ccXGxrp0evDpp5/WrbfeqpdeekkXL15UqVKltHfvXvXv31/XXXedxo8fr6pVq%2Bqrr77SlClTdPbsWY0YMUKSlJ6ernPnzmnQoEGqXr26MjIy9J///EcjR47UtGnT1KtXL0nZ%2B8OwYcO0Y8cODR8%2BXNHR0dq%2Bfbvi4%2BMLrS8/rtaYY9asWWrRooVefPFFpaSkaObMmRo6dKjWrVungIAASa7tK40bN9a0adP01FNPaejQobr11lslSTVq1HDcV0ZGhoYOHaq%2Bfftq0KBB%2BvbbbzV//nwFBwc76vrkk0/0/PPPa%2BDAgRo/frxsNpsOHjyovXv3FnmdAAUyAbhk9erVZkRERIH/OnXq5PQ7nTp1MsePH%2B%2B4/eijj5o9e/Ys8H6WLl1qRkREmIcPH3Ya37t3rxkREWFOmjTJafz77783IyIizFmzZpmmaZpJSUlmkyZNzMcee8xpvh07dpgRERHmgAEDHGNbt241IyIizPvuu6/Q/jMzM82MjAzzgQceMIcPH%2B4YP3z4sBkREWHeddddZlZWlmP8n//8pxkREWEOGTLEaTkvvviiGRERYZ4/fz7f%2B8rKyjLbtWtndu/e3WmZKSkpZtu2bc1%2B/frl6mH9%2BvWF9pCzDZ988slc0wYNGmR26NAhV12TJ082o6OjzaSkpDyXmbNenn76abNXr16O8cTERDMiIsJctmyZ0/wLFiwwIyIizDlz5hRYa856Xb16tds15qyT%2BPh4p/nWrVtnRkREmDt27DBN0719ZdeuXbnqyTF%2B/HgzIiLCXLdundN4fHy82blzZ6c6W7ZsWWDfgCdxugpw04wZM/TBBx/k%2BnfTTTcV%2BrvR0dHas2ePJk2apC%2B//FIpKSku32/OKavevXs7jTdt2lTh4eH6%2BuuvJUk7d%2B5Uenq6unbt6jRf8%2BbNVatWrTyXfccdd%2BQ5/s4776h3796Kjo5WVFSUGjdurK%2B//lr79u3LNW/Hjh1ls/35lBIeHi5Jjr/6rxw/evRofq3qwIED%2BuOPP9SzZ0%2BnZZYvX1533HGHvv/%2Be128eDHf3y/Mlf2mpaVp69atuv3221W2bFllZmY6/nXo0EFpaWnauXOnY/7169erf//%2BiomJcayXDz74wGm95GyvHj16ON1X9%2B7di1SzuzVKyvVuv8jISEl/rvui7Cv5MQwjz/u7fDtHR0crOTlZjz/%2BuDZt2uQ4Wgh4C6erADeFh4crOjo613hISEiua2Ou9Oijj6pcuXL66KOP9O677yogIEAtW7bUuHHj8lzm5ZKSkiRJ1apVyzWtWrVqjheTnPkqV66ca74qVarkueyc02KXe/PNNzV9%2BnT1799fo0ePVsWKFWWz2fTaa6/luq5DkipUqOB0u3Tp0gWOp6Wl5VmLJJ09ezbfuqpVqya73a7k5GQFBQXlu4yCXLncpKQkZWZm6q233tJbb71VYE0bN27UY489pi5duujhhx9WlSpVFBAQoHfeeUerV692WmapUqVUsWLFAu/bVe7UmCMsLMzpdmBgoKTsi61zlim5t6/kJygoSGXKlMl1f5dv5169eikrK0urVq3SqFGjZLfbFR0drccee0y33HKLW/cHuIKQA1xFpUqV0kMPPaSHHnpIycnJ%2Bs9//qNXX31VDz/8sLZs2VLgi3bOC9Yff/zhdC1EzljOi2nOfHld3Hvq1Kk8/0LP651FH330kVq3bq3nn3/eafzChQuFdFl8Ob2cPHky17Q//vhDNputWG%2Bvv7Lf0NBQBQQEqGfPno4Lma9Uu3ZtSdnrpXbt2po9e7bTcnIuHs8RFhamzMxMnT171ino5NWTK9yp0VVF2VeKq0%2BfPurTp49SU1P17bffau7cuXr00Ue1YcMGr9wfrm2crgJ8JDQ0VF26dNG9996rpKQkHTlyRNKff21feaSjTZs2krJfZC%2B3a9cu7du3zzG9WbNmCgwM1Lp165zm27lzp%2BM%2BXGEYhqOWHHv27Ml1SsQb6tevr%2BrVqyshIcHpgu7U1FRt3LhRzZs3L/JRnLwEBQUpNjZWP//8syIjIxUdHZ3rX05QMQxDpUuXdgo4J0%2Be1ObNm52WmXNh9scff%2Bw0npCQ4PUaXeXOvnLlUaDiKleunDp27KghQ4YoIyODi4/hFRzJAa6iIUOG6IYbblCTJk1UqVIlHTlyRMuWLVOtWrVUr149SVJERISk7CMDvXv3VqlSpVS/fn01aNBA/fr109tvvy2bzaYOHTo43l113XXX6cEHH5SU/df5Qw89pEWLFik0NNTxjpnXX39dVatWdfnzYG699VbNnz9fc%2BbMUatWrXTgwAHNnz9ftWvXVlZWllfWTw6bzaYnnnhC48aN06OPPqp%2B/fopPT1db7zxhpKTkzV27FiP3%2Bczzzyje%2B%2B9V/fdd5/%2B9re/qVatWrpw4YIOHTqkzz//XMuXL5eUvV42btyoSZMmqXPnzjp%2B/Ljmz5%2BvatWq6bfffnMsr127dmrVqpVefvllXbx4UU2aNNH27dv1//7f//N6ja5yZ1%2BpW7euypYtq48//ljh4eEqV66cqlWrpurVq7t8fxMnTlTZsmXVokULVa1aVSdPntTixYsVEhJS6OlaoCgIOcBVFBsbqw0bNmjVqlVKSUlR1apVdfPNN2vYsGGOa1ViY2P16KOP6sMPP9SqVatkt9u1fPlyxcbGatKkSapTp44%2B%2BOADrVy5UsHBwWrfvr3Gjh3r9Ff8mDFjFBQUpHfffVdr1qxRgwYNNGnSJL366qsun%2BYZMmSILl68qA8%2B%2BEBLly5Vw4YNNWnSJG3atEnffPONV9bP5Xr06KGgoCAtXrxYY8aMUUBAgJo1a6bly5erRYsWHr%2B/hg0bas2aNZo/f75mz56tM2fOKCQkRPXq1VPHjh0d8/Xp00enT5/Wu%2B%2B%2Bq9WrV6tOnTp65JFHdPz4cc2bN88xn81m04IFCzRt2jQtXbpUGRkZatGihRYvXpzrQl9P1%2BgOV/eVoKAgTZ06VfPmzdPgwYOVkZGhESNGaOTIkS7fV8uWLbVmzRqtX79e586dU8WKFXXTTTdpxowZjo8/ADzJME0XPtwDQIl3%2BPBhde3aVSNGjNCQIUN8XQ78GPsKrIIjOYAF7dmzRwkJCYqJiVFwcLAOHDigpUuXKjg42PHJtYDEvgJrI%2BQAFhQUFKQff/xRH3zwgc6fP6/g4GDFxsbqsccec/utwbA29hVYGaerAACAJfEWcgAAYEmEHAAAYEmEHAAAYEmEHAAAYEnX9LurTNOU3Z593bXNZjh%2BtrprqVfp2uqXXq3pWupVurb6pdeiLcfVT26/pkOO3W7qzJkLKlXKpooVyys5OVWZmXZfl%2BVV11Kv0rXVL71a07XUq3Rt9UuvRVOpUnkFBLgWcjhdBQAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALImQAwAALKmUrwsA4O/sstmO%2BroIJ4Zhk1ROhpEqm82e5zx2e03xdxxwbSPkACiQzXZUFSr0kmmW9nUpDoYhSTYFB9tlmnlNz9C5c2tlt9e%2B2qUB8COEHACFyg44gb4u4wo2SXkfxckr%2BAC49nAsFwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBIhBwAAWBLfQo7/sctmO%2BrrItxmt9cUWR0AkBdCDiRJNttRVajQS6ZZ2teluMwwMnTu3FrZ7bV9XQoAwA8RcuCQHXACfV2Gy0zT1xUAAPwZx/kBAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAl%2BTzkrF%2B/XsOGDVPHjh3VvHlz9ejRQytXrpTdbneaLzExUb169VJ0dLRuv/12rVixwkcVAwCAkqCUrwt48803VbNmTT355JOqXLmytm3bphdffFGHDx/W%2BPHjJUk7duzQsGHD1LNnT02YMEHbt2/XlClTFBgYqHvuucfHHQAAAH/k85CzcOFCVapUyXG7TZs2Sk1N1YoVKzRmzBgFBgbq9ddfV1RUlKZOneqY59ixY3rttdfUp08f2Ww%2BPyAFAAD8jM/TweUBJ0ejRo2UlpampKQkpaena%2BvWrerWrZvTPD169NDJkyf1888/X61SAQBACeLzIzl5%2Be677xQWFqbKlSvrwIEDysjIUIMGDZzmadiwoSRp3759atKkSZHvq1QpmwICsrNezv9Wll%2BvhmGTYfiiouIJCLAVeCSPbVt8/rhv5NSTf12mSpU6IdMsWdvdNGvqyr89/Xsftsswjnp0idl9llWpUpdkGPZC5y%2BqvNb11ebf29azfNWr34WcH374QWvWrNHw4cMVEBCgc%2BfOSZJCQ0Od5su5nTO9KGw2QxUrlr9smUFFXlZJk7vXcsp%2BwJekB5tNYWHlJJUvdM5re9sWl//uG/k/YWapQoWHlV17SZEhaaOkOnlO9c99%2BLCkXpJKe3zJISEeX%2BRlCl7XV5t/blvvuNq9%2BlXIOXnypEaNGqXo6GjFx8c7TTPy%2BZMtv3FX2O2mkpNTFRBgU2hokJKTLyory3t/OfiD/Ho1jFQFB9sllaT%2B7UpJSZVpXsh3DrZt8fnjvmEY2f1mZdllmnnNYUoKkJ89xRUi7/3Zn/fh7H3Ds%2Bu58G3rCYU/d1wN/rxtPc2TvYaGBrl8RMhvngHOnz%2Bv%2BPh4lS1bVgsWLFDp0tl/GVSoUEFS7iM2ycnJknIf4XFXZuafKzsry%2B5028qu7NVm8%2BYTivdkZdlzfdxAfvNdq9u2uPx53zBN5VubYeQ/zV8VtD/74z7szX2joG3rCa4%2Bd1wN/rhtveVq9%2BoXx5/T0tI0dOhQnTp1SkuXLlXFihUd0%2BrWravSpUtr//79Tr%2Bzd%2B9eSVJ4ePhVrRUAAJQMPg85mZmZGj16tPbs2aOlS5eqVq1aTtMDAwPVpk0brV%2B/3mk8ISFBVatWVVRU1NUsFwAAlBA%2BP101efJk/etf/9ITTzyhS5cuaefOnY5pDRs2VHBwsIYPH64BAwZo4sSJ6tGjh7Zv365Vq1Zp8uTJfEYOAADIk89DzldffSVJevnll3NNW758uWJjYxUTE6P58%2Bdr1qxZWrt2rWrUqKGJEyfyaccAACBfPg85n3/%2BuUvzdezYUR07dvRyNQAAwCo41wMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyJkAMAACyplK8LAABIkimb7ViuUcOwSSonw0iVzWa/%2BmUVILte09dlAPki5ACAX8hUSMjDMs1yTqOGIUk2BQfbZfpZnjCMVEmlZZplfF0KkCdCDgD4jdKSAvMYt0nyr6M4kmSaGf8LYYB/4pocAABgSYQcAABgSYQcAABgSYQcAABgSYQcAABgSR4JOceOHdMXX3yhs2fPemJxAAAAxeb2W8hfffVVXbx4UU8//bQk6T//%2BY%2BGDBmijIwMhYaG6u2339YNN9zg8UIBAADc4faRnI0bN6phw4aO27Nnz1ZkZKTmzZunmjVrasGCBR4tEAAAoCjcPpJz4sQJ1a1bV5J09uxZ/fDDD1q8eLHat2%2BvtLQ0zZgxw%2BNFAgAAuMvtIzmmacr832eLb9%2B%2BXQEBAWrVqpUkqVq1alyXAwAA/ILbIadu3br617/%2BJUlat26doqOjVbZsWUnSH3/8odDQUM9WCAAAUARuh5x%2B/fpp%2BfLlio2N1bp16/TXv/7VMW379u1O1%2BsAAAD4itvX5Nx7772qUKGCduzYoejoaPXs2dMxLS0tTb179/ZogUD%2BTNlsxwqcwzBsksrJMFJls/nHFxza7TXFR1QBgPcV6VvIu3Xrpm7duuUaf%2BGFF4pdEOC6TIWEPCzTLJfvHNnfkGxTcLBd/7uUzKcMI0Pnzq2V3V7b16UAgOUVKeQA/qO0pMBC5rFJ8o%2BjOP4QtADgWuFSyImLi5OR/SexSzZv3lzkggAAADzBpZDTunVrp5CzdetWnTx5UjExMapatapOnjypHTt2qFq1aoqNjfVasQAAAK5yKeRMnz7d8fPatWu1fft2bdy4UTVr1nSMHzlyRIMGDVLr1q09XyUAAICb3H6Lx5IlSzRy5EingCNJtWrV0vDhw7V48WKPFQcAAFBUboecQ4cOKSQkJM9pFSpU0JEjR4pdFAAAQHG5HXJq1aqlDz74IM9p77//fq4jPAAAAL7g9lvIH3nkET399NPq27evunfvripVqujUqVNKSEjQTz/9pClTpnijTgAAALe4HXLuvvtuSdLs2bOdLkiuWrWqXnjhBfXp08dz1QEAABRRkT4M8O6771bv3r21f/9%2BJSUlKSwsTA0aNHDrs3RyHDx4UG%2B88Ya%2B//57/frrr2rQoIESEhKc5pkwYYI%2B/PDDXL%2B7ZMkSdejQoSgtAAAAiyvyJx4bhqHw8PBiF/Drr78qMTFRzZo1k91ul5nPR8LWqVNHM2fOdBrzxP0DAABrKnLI%2Be9//6t9%2B/YpLS0t17RevXq5vJy4uDj95S9/kZR9xObHH3/Mc76yZcuqefPmRSsWAABcc9wOORcvXtTQoUO1detWGYbhOPJy%2Bakqd0KOzca3MQMAAM9zO2HMnz9fR44c0dtvvy3TNDVv3jy9%2Beabuv3221WvXr08r53xhEOHDqlly5Zq0qSJ7r77bm3atMkr9wMAAKzB7SM5mzdvVnx8vGJiYiRJ1113nRo3bqy2bdtq7NixWrlypSZPnuzRIhs1aqTo6Gg1bNhQ58%2Bf1zvvvKPhw4frtddeU5cuXYq17FKlbAoIyM56Of9bWX69GoZNRbhu3C8UVHfONH/qLSDA5pUjmN7aj/1x33B1u/pb3a64smZ/3Iev5Mnarla/3noculvD5f9bma96dTvkHDlyRA0aNFBAQIAMw9DFixcd03r06KFnnnnG4yHngQcecLodFxen/v37a86cOcUKOTaboYoVyztuh4YGFXlZJU3uXssp%2B8BeSXqw5TwLFl6z/zyJ2BQWVk5S%2BULnLCrP78f%2Bu2/kv11d3zf8R8E1%2B88%2BfDnvrWfv9uv9x6E7ru3XHu9yO%2BSEhIQoNTVVklS5cmUdPHhQLVu2lCRlZmY6pnmTzWbTHXfcoZdfflmXLl1S2bJli7Qcu91UcnKqAgJsCg0NUnLyRWVl2T1crX/Jr1fDSFVwsF1SSeo/5514%2BddsGNk9Z2XZlc8b964yu1JSUmWaFzy%2BZG/tx/64bxS%2BXQvfN/xP3jX73z58Oc%2Bv56vTr/ceh%2B7gtadoQkODXA7BboecyMhI/fbbb%2BrQoYNiY2O1aNEi1atXT4GBgXr99dd14403ul1wUeT3VnN3ZWb%2BubKzsuxOt63syl5tNn98Ai2cYciluk3Ttfmuhqwsu%2Bx27%2B1nnt6P/XnfKGi7urpv%2BJOCavanffhy3lrP3u7X249Dd1zLrz3e5nbI6dOnjw4ePChJeuyxx3Tvvfdq4MCBkqTQ0NCr8i3kdrtdGzZs0A033FDkozgAAMDa3A45d955p%2BPnOnXqaMOGDY63k8fExCgsLMyt5V28eFGJiYmSsq/3SUlJ0aeffipJat26tS5evKgJEyaoe/fuqlu3rs6dO6d33nlHP/74o%2BbOnetu%2BQAA4BpR5A8DzFGuXDnFxcUV%2BfdPnz6t0aNHO43l3F6%2BfLkiIyMVHBys119/XWfOnFHp0qXVpEkTLVmyRO3bty9W7QAAwLqKFHLS09O1Zs0affPNNzp79qyee%2B45XX/99dq0aZMiIyNVp04dl5dVu3Zt/fLLLwXOs2DBgqKUCQAArmFuh5wzZ87ogQce0K%2B//qoqVaro9OnTunAh%2Bwr1zZs366uvvtKkSZM8XScAAIBb3P4ggpdfflnJyclavXq1tmzZ4vQup9jYWH377bceLRAAAKAo3A45W7Zs0ahRo9S4cWOn76uSpOrVq%2Bv48eMeKw4AAKCo3A45KSkpqlmzZp7TMjMzlZWVVeyiAAAAisvtkFO7dm3t3Lkzz2m7du1S/fr1i10UAABAcbkdcnr06KElS5Zo06ZNjutxDMPQrl27tHz5cvXs2dPjRQIAALjL7XdXxcfHa/v27RoxYoQqVKggSRo8eLCSkpLUvn173X///R4vEgAAwF1uh5zSpUtryZIlWrdunbZs2aLTp0%2BrYsWKuvXWW9WtWzeff3U9AACA5GbISUtL09q1a9WyZUt169ZN3bp181ZdAAAAxeLWYZcyZcpoypQpOn36tLfqAQAA8Ai3zy3VqVNHp06d8kYtAAAAHuN2yLn//vu1ePFipaSkeKMeAAAAj3D7wuO9e/fq7NmziouLU5s2bVS1atVcn3w8ceJEjxUIAABQFG6HnLffftvx88aNG3NNNwyDkAMAAHzO7ZCzZ88eb9QBAADgUXyoDQAAsCRCDgAAsCRCDgAAsCRCDgAAsCRCDgAAsCSXQs60adN07NgxSdLRo0eVkZHh1aIAAACKy6WQs2zZMp08eVKSdNttt2n37t1eLQoAAKC4XPqcnAoVKji%2Br8o0Ta8WBAAArmSXzXbU10W4zW6vKV9eGeNSyGnWrJmeeeYZNW3aVJI0Y8YMhYSE5DmvYRhasGCB5yoEAOAaZ7MdVYUKvWSapX1dissMI0Pnzq2V3V7bZzW4FHKee%2B45TZ06VXv37pVhGDp48KACAwPznPfK77ECAADFlx1w8n7t9Uf%2BcOLHpZBTq1Ytvf7665KkG2%2B8UfPnz3cc1QEAAPBHbp8oW758ucLDw71RCwAAgMe4/QWdrVu3liQdPHhQW7duVVJSkipWrKjY2FjVq1fP4wUCAAAUhdshxzRNvfDCC3r33Xdlt9sd4zabTffee68mTpzo0QIBAACKwu2Q889//lMrV67U3/72N/Xu3VvVq1fXiRMntHbtWq1cuVK1a9fWgw8%2B6IVSAQAAXOd2yFm1apUGDBjgdMSmevXqatq0qWw2m95//31CDgAA8Dm3Lzw%2BfPiwOnXqlOe0Tp066fDhw3Txu6sAACAASURBVMUuCgAAoLjcDjkhISE6ejTvT108evSogoODi10UAABAcbkdcm6%2B%2BWbNnj1bP/74o9P47t27NWfOHLVr185jxQEAABSV29fkjB07Vv369dM999yjhg0bqmrVqjp58qT27t2ratWqaezYsd6oEwAAwC1uH8m57rrrtHbtWj388MMKCgrS77//rqCgID3yyCP68MMPVaNGDW/UCQAA4Ba3j%2BRIUqVKlThiAwAA/Jrvvv8cAADAi4p0JAdAUZmy2Y55ZcmGYZNUToaRKpvNXuj8rsqu1w%2B%2BThgA3ETIAa6qTIWEPCzTLOfxJRuGJNkUHGyX6cFMYhipkkrLNMt4bqEAcBUQcoCrrrSkQC8t2ybJc0dxJMk0M/4XoACgZHH7mpz09HSZnvwzEQAAwAvcCjlpaWlq1qyZNm3a5K16AAAAPMKtkFOmTBmFhYUpKCjIW/UAAAB4hNunqzp16qTPPvvMG7UAAAB4jNsXHnfr1k3PPPOMnnrqKd1xxx2qWrWqjCuuSmzcuLHHCgQAACgKt0PO4MGDJUkffvih1q5d6zTNNE0ZhqHdu3d7pjoAAIAicjvkTJs2zRt1AAAAeJTbIad3797eqAMAAMCjivXdVfv379d3332n1NRUT9UDAADgEUUKOWvXrlWHDh3UrVs3DRgwQAcOHJAkjR49Wu%2B//75HCwQAACgKt0PO%2BvXrNWHCBEVFRenvf/%2B706cfN27cWOvXr/dogQAAAEXhdshZvHix7r77bi1cuFD9%2BvVzmtagQQPt3bvXY8UBAAAUldshZ9%2B%2BferWrVue08LCwpSUlFTsogAAAIrL7ZATFBSk8%2BfP5zntxIkTqlChQrGLAgAAKC63Q05MTIxWrFiR5zeRr1mzRq1bt/ZIYQAAAMXhdsgZPny4du7cqb59%2B%2Bqtt96SYRjauHGjhgwZov/7v//TkCFDvFEnAACAW9wOOdHR0VqyZIlSU1M1ffp0maapRYsW6cCBA1q8eLEiIiK8UScAAIBb3P7EY0lq06aN1q9fr0OHDunUqVOqWLGi6tev7%2BnaAAAAiqxIISdH3bp1VbduXU/VAgAA4DFFCjm///67Fi9erG3btikpKUlhYWGKjY1VfHy86tSp4%2BkaAQAA3Ob2NTm7d%2B9W7969tWbNGlWrVk233HKLqlWrpjVr1qh3797avXu3N%2BoEAABwi9tHcqZOnapKlSrpzTffVM2aNR3jR44c0aBBgzR16lS99dZbHi0SAADAXW4fydm1a5dGjhzpFHAkqVatWhoxYoR27drlseIAAACKyu2QExISopCQkDynhYaGKjg42K3lHTx4UM8%2B%2B6x69uypqKgode/ePc/5EhMT1atXL0VHR%2Bv222/XihUr3C0dAABcQ9wOOd27d9eqVavynPb%2B%2B%2B/n%2B71W%2Bfn111%2BVmJioevXqKTw8PM95duzYoWHDhikqKkpLlixR7969NWXKlHzrAAAAcOmanI0bNzp%2Bbty4sTZs2KC%2Bffuqe/fuqlKlik6dOqWEhASdOXNGXbp0cauAuLg4/eUvf5EkTZgwQT/%2B%2BGOueV5//XVFRUVp6tSpkrI/p%2BfYsWN67bXX1KdPH9lsbmc1AABgcS6FnFGjRskwDJmm6fj/2LFjeQaSJ598Uj169HC5gMICSnp6urZu3apx48Y5jffo0UPvv/%2B%2Bfv75ZzVp0sTl%2BwMAANcGl0LO8uXLvV1Hvg4dOqSMjAw1aNDAabxhw4aSpH379hUr5JQqZVNAQHbQyvnfyvLr1TBsMgxfVFR8BdWdM83fevNGPd7u1Z/Woau9%2BlPNrrqyZn/dhy/nydquVr8BATafnwVw57WnpD5H56xnX73OuhRyfPnN4ufOnZOUfVHz5XJu50wvCpvNUMWK5S9bZlCRl1XS5O61nLIv0SpJQS/nEV94zf4TYF2vuag836v3ay6q/Hv135rzV3DN/rMPX85769m7/doUFlZOUvlC57waXHvtKYnP0bnX89V%2BnS3W1zpcTUY%2BETa/cVfY7aaSk1MVEGBTaGiQkpMvKivLXuTllQT59WoYqQoOtksqSf2b//s//5oNI7vnrCy7TDPf2a6iwmsuKu/16r2ai6rwXv2v5sLlXbP/7cOX8/x6vjr92pWSkirTvOCtO3CJO689JfM5%2Bs/17MnX2dDQIJdDcJFCzqZNm/TRRx/p6NGjSktLc5pmGIY%2B%2Buijoiw2TxUqVJCU%2B4hNcnKypNxHeNyVmfnnys7KsjvdtrIre7XZ/PEJtHCGIZfqNk3X5rsaXK25qLzRq7drLqqCevXXmgtSUM3%2BtA9fzlvr2dv9ZmXZZbf7x/O9K689JfU5%2Bsr1fLVfZ90OOUuXLtXMmTNVqVIl1a1bV0FB3j30VLduXZUuXVr79%2B9Xhw4dHON79%2B6VpHzfdg4AAK5tboeclStXqk%2BfPpo8ebICAgK8UZOTwMBAtWnTRuvXr9eDDz7oGE9ISFDVqlUVFRXl9RoAAEDJ43bISUpKUvfu3T0WcC5evKjExERJ2d9/lZKSok8//VRS9gXPlSpV0vDhwzVgwABNnDhRPXr00Pbt27Vq1SpNnjzZ51fHAwAA/%2BR2yGnRooX279%2Bvtm3beqSA06dPa/To0U5jObeXL1%2Bu2NhYxcTEaP78%2BZo1a5bWrl2rGjVqaOLEibrnnns8UgMAALAet0PO008/rREjRqhGjRpq3769AgMDi1VA7dq19csvvxQ6X8eOHdWxY8di3RcAALh2uB1y6tWrp5tvvlkjRoyQYRgqW7as03TDMPTdd995rEAAAICicDvkvPzyy3r77bfVqFEjNWjQoNhHcgAAALzB7ZDz4YcfKj4%2BXmPHjvVGPQAAAB7h9luTsrKydPPNN3ujFgAAAI9xO%2BTccsst%2Bv77771RCwAAgMe4fbpq2LBhGjNmjIKCgnTrrbc6vnbhcmFhYR4pDgAAoKjcDjk9e/aUJE2fPl3Tp0/Pc57du3cXryoAAIBicjvkDB8%2BvFjf/A0AAHA1uB1yRo4c6Y06AAAAPIovfgIAAJbk9pGcefPmFTjdMAwNHz68yAUBAAB4AiEHAABYktshZ8%2BePbnGkpKStGnTJi1btkyLFy/2SGEAAADF4ZFrcsLCwtS3b1/16NFDU6ZM8cQiAQAAisWjFx5HR0fr66%2B/9uQiAQAAisSjIeeXX35RuXLlPLlIAACAInH7mpy1a9fmGktPT9cvv/yi1atX66677vJIYQAAAMXhdsiZMGFCnuNlypTRXXfdpSeffLLYRQEAABSX2yFn8%2BbNucbKlCmjKlWqeKQgAAAAT3A75NSqVcsbdQAAAHgUX%2BsAAAAsyaUjOT169HB5gYZh6KOPPipyQQAAAJ7gUsgJCwsrdJ7U1FT99NNPMgyj2EUBAAAUl0sh56233sp3WmZmpt577z3Nnz9fhmGoe/fuHisOAACgqNy%2B8Phy69ev1%2BzZs3Xo0CHdfPPNGjdunBo1auSp2gAAAIqsSCFn27Ztmjlzpn744QdFRUXpH//4h9q2bevp2gAAAIrMrZDzyy%2B/aObMmfrqq69Uu3ZtvfLKK%2BrWrZu3agMAACgyl0LOsWPHNHv2bCUkJKhChQp6%2Bumn1b9/f5UuXdrb9QEAABSJSyGnc%2BfOysjIUPv27fXwww%2BrfPny%2Bu9//5vv/I0bN/ZYgQAAAEXhUshJT0%2BXJH3xxRf68ssv853PNE0ZhqHdu3d7pjoAAIAicinkTJs2zdt1AAAAeJRLIad3797ergMAAMCj%2BO4qAABgSYQcAABgSYQcAABgSYQcAABgSYQcAABgScX6gk4AAEoeUzbbMV8XIcOwSSonw0iVzWYvcN7ses2rUpeVEHIAANeYTIWEPCzTLOfTKgxDkmwKDrbLLCS/GEaqpNIyzTJXoTLrIOQAAK5BpSUF%2BroIZV81UvBRHEkyzYz/hSK4g2tyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJRFyAACAJfEFnV5hl8121NdF5MkwbJLKyTBSZbP9%2BaVwNtsxSYV8DS4AACUIIccLbLajqlChl0yztK9LySX7W2xtCg62yzQvH0%2BVVFqmWcZHlQEA4FmEHC/JDjiBvi4jHzZJdqcR08z4XwACAMAauCYHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYEiEHAABYUokIOWvWrFFkZGSufzNnzvR1aQAAwE%2BVqE88Xrp0qUJCQhy3q1ev7sNqAACAPytRIadx48aqVKmSr8sAAAAlQIk4XQUAAOCuEhVyunfvrkaNGum2227TokWLlJWV5euSAACAnyoRp6uqVq2qkSNHqlmzZjIMQ59//rlmz56tEydO6Nlnny3WskuVsikgIDvr5fxfXIZh89tv9M6pK7/6/LXughRUc2H9%2Boo36vF2r/60Dl3t1Z9qdtWVNfvrPnw5T9Z2Nfv19TotSq%2B%2BrtldAQE22Wyef511lWGapnlV79FDZsyYoWXLlmnLli2qVq1akZZhmqYMr%2BwxhyV1kxTohWV7S8r//g/2aRXuoearg5qvDmq%2Bekpi3SWx5nRJn0iq47MKSsSRnLx07dpV//jHP7R79%2B4ihxy73VRycqoCAmwKDQ1ScvJFZWXZi12bYaQqONguqfjL8jTDyE7SWVl2OcfbnBv%2BV3P%2BCq85/359xXvr2Xu9%2Bt%2B%2BUXiv/ldz4fKu2f/24ct5fj1fnX79Y/9wr1f/qNk9dqWkpMo0L3j0dTY0NMjlI0IlNuR4Smbmnys7K8vudLuobDZ/fDJyZprKVaNh5B7zd67WnFe/vuLt9eyNXv113yioV3%2BtuSAF1exP%2B/DlvLWevd2vP%2B0frvbqTzW7KivLLrvd86%2BzripRFx5fbt26dQoICFBUVJSvSwEAAH6oRBzJGTx4sNq0aaOIiAhJ0ubNm/X%2B%2B%2B/r/vvvV9WqVX1cHQAA8EclIuTUr19fH3zwgY4fPy673a7rr79eTz/9tAYOHOjr0gAAgJ8qESFn4sSJvi4BAACUMCX2mhwAAICCEHIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAlEXIAAIAllZiQc%2BDAAQ0ePFjNmzdX27ZtNWXKFF26dMnXZQEAAD9VytcFuCI5OVkPPPCAatasqTlz5ujMmTOaNm2akpKSNHPmTF%2BXBwAA/FCJCDnvvvuukpOTtXbtWlWqVEmSFBAQoHHjxmno0KEKDw/3cYUAAMDflIjTVV988YXatm3rCDiS1LlzZwUGBioxMdGHlQEAAH9VIo7k7Nu3T3369HEaCwwMVN26dbVv374iL9dmM1SpUnkZRvbtChWCZJrFqTRHuGy29Z5YkJcYCgi4slHTMa3kcLXmvPr1FW%2BvZ2/06q/7RkG9%2BmvNBSmoZn/ahy/nrfXs7X79af9wtVd/qtl1YWHVJZXy6Ouszeb6OigRISc5OVmhoaG5xkNDQ3Xu3LkiL9cwDAUE/LmybDZPHdgKlFTHQ8vyDqNkPU6K7Vrql16t6VrqVbq2%2BrVyrwEBzrc99zrrmhJxuio/pmnKsPLeAQAAiqxEhJzQ0FAlJyfnGj9//nyeR3gAAABKRMgJDw/Pde1Nenq6Dh06xDurAABAnkpEyOnQoYO2bt2qs2fPOsY%2B%2B%2Bwzpaenq2PHjj6sDAAA%2BCvDND3zfiJvSk5OVvfu3VWrVi0NGzZMp0%2Bf1vTp09WuXTs%2BDBAAAOSpRIQcKftrHaZMmaLvvvtOZcuWVffu3TVu3DiVLVvW16UBAAA/VGJCDgAAgDtKxDU5AAAA7iLkAAAASyLkAAAASyLkAAAASyLkAAAASyLkAAAAS7qmQ86BAwc0ePBgNW/eXG3bttWUKVN06dIlX5fllvXr12vYsGHq2LGjmjdvrh49emjlypWy2%2B2OeSZMmKDIyMhc/7744otcy3vjjTcUFxen6Oho9enTR9u2bbua7RRozZo1efZx5QdCJiYmqlevXoqOjtbtt9%2BuFStW5Lk8f%2B5VkgYOHJhnv5GRkfrkk08klcxte/DgQT377LPq2bOnoqKi1L179zzn8%2BR2TElJ0bPPPqvY2FjFxMRoyJAhOnLkiEf7yk9h/WZlZWnJkiUaMGCA2rRpo1atWum%2B%2B%2B7T119/nWtZcXFxeW7vtLQ0p/l81a8r29bT%2B6w/95rf4zcyMlJ//PGHYz5/366uvM5I/vmYLeX2b1hEcnKyHnjgAdWsWVNz5szRmTNnNG3aNCUlJZWoT1F%2B8803VbNmTT355JOqXLmytm3bphdffFGHDx/W%2BPHjHfPVqVMnV19Xfu/XG2%2B8oVdffVVjxoxRVFSUVq1apfj4eK1atUqRkZFXpR9XLF26VCEhIY7b1atXd/y8Y8cODRs2TD179tSECRO0fft2TZkyRYGBgbrnnnsc85WEXp977jmlpKQ4jS1btkwbN25U27ZtHWMlbdv%2B%2BuuvSkxMVLNmzWS325XXR3V5ejuOHTtWP/30k/7%2B978rODhYc%2BbM0UMPPaSPPvrI6x8oWli/ly5d0qJFi9SrVy8NHjxYpUqV0ocffqiHHnpICxYsUKdOnZzm79y5swYNGuQ0FhgY6HTbV/26sm0lz%2B6z/tzre%2B%2B9l2ts/PjxCgoKUrVq1ZzG/Xm7uvI647ePWfMatWjRIrNZs2bm6dOnHWMfffSRGRERYe7du9eHlbnn8vpzTJ061YyOjjbT0tJM0zTN8ePHm926dStwOWlpaeZNN91kzpgxwzGWmZlpdu3a1Xzsscc8W3QRrV692oyIiMiz5xyDBw82%2B/bt6zQ2ceJE85ZbbjGzsrJM0ywZveYnLi7OjI%2BPd9wuids2ZzuYZv71e3I77ty504yIiDC3bNniGDty5IgZFRVlrly50mN95aewfjMzM82kpCSnMbvdbvbu3dscMGCA03inTp3M559/vsD782W/rmxbT%2B6z/t7rlQ4fPmxGRESYS5YscRr39%2B3qyuuMvz5mr9nTVV988YXatm2rSpUqOcY6d%2B6swMBAJSYm%2BrAy91xef45GjRopLS1NSUlJLi9n%2B/btOn/%2BvNMh14CAAN15551KTEzM9y8yf5Kenq6tW7eqW7duTuM9evTQyZMn9fPPP0squb1u375dv//%2Bu3r06OH27/lTvzZbwU87nt6OiYmJCg0NVYcOHRzz1axZUy1atLgqj/XC%2Bg0ICFCFChWcxgzD0I033uh0SsNVvuy3sF5dVRK2bVF6TUhIkGEY%2BZ6iLYgvey3sdcafH7PXbMjZt29frsOjgYGBqlu3rvbt2%2Bejqjzju%2B%2B%2BU1hYmCpXruwYO3TokFq2bKkmTZro7rvv1qZNm5x%2BJ6fnBg0aOI2Hh4frwoULOnHihPcLd1H37t3VqFEj3XbbbVq0aJGysrIkZfeYkZGRq4eGDRtK%2BrPHktTr5RISEhQUFKTbbrvNadxK21by/Hbct2%2Bf6tevL8Mwci3PXx/rdrtdO3bsyPUcJUkff/yxmjRpopiYGMXHx%2BuXX35xml4S%2BvXUPlsSer3cJ598olatWqlGjRq5ppW07Xr564w/P2av6WtyQkNDc42Hhobq3LlzPqjIM3744QetWbNGw4cPV0BAgKTsxB0dHa2GDRvq/PnzeueddzR8%2BHC99tpr6tKli6Ts9REYGJjrXGfOX5hJSUl5PjCvpqpVq2rkyJFq1qyZDMPQ559/rtmzZ%2BvEiRN69tlnHdvtyu2acztnekno9UqZmZn69NNPddttt6lcuXKOcats28t5ejsmJyc7XcN1%2BfL89bH%2B1ltv6cCBA5o8ebLTeFxcnJo2baqaNWvq8OHDWrhwoe69916tXbtWderUkSS/79eT%2B6y/93q5PXv26L///W%2BubSqVvO165euMPz9mr9mQkx/TNHOlx5Li5MmTGjVqlKKjoxUfH%2B8Yf%2BCBB5zmi4uLU//%2B/TVnzhzHk4qkPPvOOXzoD%2Bukffv2at%2B%2BveN2u3btVKZMGS1btkxDhgxxjOdX6%2BXj/t7rlf7973/r9OnTuQ5zW2Xb5sWT29GVZfmLb775Ri%2B//LIGDRqkVq1aOU2bOHGi4%2BeWLVvqlltuUdeuXfXGG29o0qRJjmn%2B3K%2Bn91l/7vVyH3/8sUqXLq3OnTvnmlaStmt%2BrzMF1eHLx%2Bw1e7oqNDRUycnJucbPnz%2Bf5xEef3f%2B/HnFx8erbNmyWrBggUqXLp3vvDabTXfccYf27dvneMt8aGio0tLScr1lMWcdXXnNgL/o2rWrsrKytHv3bkeNVyb9nB5ytmtJ7DUhIUFhYWFq165dgfNZYdt6ejvm91jP72iuL%2B3Zs0fDhg3TX/7yFz3xxBOFzl%2BtWjXddNNN%2BumnnxxjJalfqXj7bEnp1TRNrVu3Tu3bt1dYWFih8/vrds3vdcafH7PXbMgJDw/PdW4vPT1dhw4dyvM8uD9LS0vT0KFDderUKS1dulQVK1Ys9HeuvNg0p%2Bcr18m%2BfftUvnx5p7dp%2B6u6deuqdOnS2r9/v9P43r17Jf3ZY0nr9dKlS9q8ebO6dOlSYHjNUdK3rae3Y3h4uA4cOJBrvezdu9evHuuHDh3Sww8/rKioKL300ksu/8Wa1/YuCf1erqj7bEnp9bvvvtPRo0fdetOAv23Xgl5n/Pkxe82GnA4dOmjr1q06e/asY%2Byzzz5Tenq6Onbs6MPK3JOZmanRo0drz549Wrp0qWrVqlXo79jtdm3YsEE33HCD49xoixYtFBISonXr1jnmy8rK0vr169WxY0e/O/SbY926dQoICFBUVJQCAwPVpk0brV%2B/3mmehIQEVa1aVVFRUZJKXq%2Bff/65Lly44NITpBW2rae3Y8eOHZWcnKwvv/zSMd%2BxY8e0fft2v3msnzx5UoMGDVKVKlU0f/78XJ%2BPkp8TJ05o%2B/btio6OdoyVhH4vV5x9tqT0%2BvHHH6tcuXK5PvMoP/62XQt7nfHnx2zApMtP%2BF1DbrjhBq1evVpffvmlqlevrh07dmjq1Km6/fbb1b9/f1%2BX57JJkyYpISFBo0ePVrVq1XT8%2BHHHv%2BDgYJ08eVLDhw9XRkaGzp8/r59%2B%2BklTpkzRjh079PzzzztScUBAgAICArRw4UKVLVtWaWlpeu2117Rjxw699NJLqlKlio87lQYPHqw//vhDKSkpOnjwoP7xj39oxYoVGjhwoONcfp06dbRw4UIdO3ZM5cuX18cff6w333xTTz31lJo0aSKpZPR6uVmzZiktLU1PPfWUUyA5cuRIidy2Fy9e1ObNm7V37179%2B9//1qlTp1SjRg3t3btXlSpVUlBQkEe3Y40aNfTjjz/qvffeU/Xq1XXs2DE9%2B%2ByzKlu2rCZPnqxSpbx7aWJh/RqGofvvv1/Hjx/XxIkTdenSJafHcc5F4QkJCVq8eLEuXbqks2fP6uuvv9Yzzzyj9PR0TZs2zXGo35f9FtbrmTNnPLrP%2BnOvQUFBkrIDwjPPPKNOnTrpzjvvzLWckrBdC3udCQwM9NvHrGH664eCXAUHDhzQlClT9N1336ls2bLq3r27xo0b5/VPQPWkuLi4fD/qevny5YqMjNRTTz2ln376SWfOnFHp0qXVpEkTPfLII04X8UrZh0ffeOMNrVixQqdOnVJERISeeOIJtWnT5mq0UqgpU6boyy%2B/1PHjx2W323X99dfrnnvu0cCBA51e/BMTEzVr1izt27dPNWrU0EMPPaT77rvPaVn%2B3muOc%2BfO6ZZbbtEDDzyQ6xqNpKSkErltf//991xvg8%2BxfPlyxcbGSvLsdkxJSdGMGTO0YcMGZWRkKDY2Vn//%2B99dOvJZXIX1W6tWrXynS3K8lXjnzp165ZVX9Ouvv%2Br8%2BfMKCQlRmzZtNGrUqFxvyfVVv4X16o3nI3/tNWc/3rJlix599FEtXrw4z6MQJWG7FvY648%2BP2Ws65AAAAOu6Zq/JAQAA1kbIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAQAAlkTIAZDLmjVrFBkZ6fgXFRWldu3aacyYMfrtt998Xtfvv/9e4Hxz585VZGTkVaqqcImJiZo7d26e0yIjIzV58uSrXBFwbfDul7YAKNGmTZumBg0aKC0tTdu3b9fChQu1bds2rV%2B/3vGdOihcYmKiVqxYoZEjR/q6FOCaQsgBkK8bbrjB8U3IsbGxysrK0ty5c7Vp0yb16dPHx9UBQME4XQXAZTmB5/Tp07mmrVu3Tv369VPz5s0VExOjwYMH6%2Beff3aa54cfftCYMWMUFxenpk2bKi4uTo8//nieX/63c%2BdO9e/fX9HR0WrXrp1eeeUVZWZmFqt%2BV2qcMGGCYmJidPDgQcXHxysmJkYdO3bU9OnTlZ6e7jTv8ePHNWrUKMXExKhly5YaO3asdu3apcjISK1Zs8axvBUrVkiS0ynAK0%2B5rV27Vl27dlWzZs1011136V//%2BlexegXAkRwAbsh5Yb7%2B%2BuudxhcuXKjZs2fr7rvv1tChQ5WRkaE33nhD9913n1atWqWGDRtKko4cOaL69eurW7duqlChgk6ersZBjQAABYJJREFUPKl33nlHffv21SeffKJKlSpJkvbu3asHH3xQtWrV0vTp01W2bFmtXLlSCQkJRa7d1RolKSMjQ0OHDlXfvn01aNAgffvtt5o/f76Cg4M1YsQISVJqaqruv/9%2BnTt3TuPGjVO9evX05ZdfasyYMU73O2zYMKWmpmrDhg167733HOPVqlVz/Lxlyxb98MMPGjVqlMqVK6elS5dqxIgR%2BvTTT1WnTp0i9wxc80wAuMLq1avNiIgIc%2BfOnWZGRoaZkpJifvHFF%2BYtt9xi3nfffWZGRoZj3qNHj5pRUVHmCy%2B84LSMlJQU85ZbbjFHjx6d7/1kZmaaFy5cMJs3b24uW7bMMf7YY4%2BZTZs2NU%2BePOk0b5cuXcyIiAjz8OHDBdY/Z84cMyIiokg1jh8/3oyIiDDXrVvnNG98fLzZuXNnx%2B23337bjIiIMBMTE53m%2B/vf/25GRESYq1evdow9//zzTvVcLiIiwrz55pvN8%2BfPO8ZOnjxp3njjjeaiRYsK7BNAwTiSAyBff/3rX51uh4eHa/78%2BSpV6s%2Bnjq%2B%2B%2BkqZmZnq2bOn0%2BmkMmXKqFWrVtq2bZtj7MKFC5o/f742btyoI0eOKCsryzFt3759jp%2B3bdumtm3bqkqVKo6xgIAA3XnnnZo3b57bfbhToyQZhqG4uDinscjISG3dutVx%2B9tvv1X58uXVoUMHp/m6d%2B/udMTGFbGxsQoODnbcrlKliipXrpznaTwAriPkAMjXjBkzFB4ergsXLmjdunV677339Pjjj2vp0qWOeU6dOiVJ6tu3b57LsNn%2BvPRv7Nix2rp1q4YNG6bo6GiVL19ehmHokUceUVpammO%2BpKQkp4CTI68xV7hToyQFBQWpTJkyTmOBgYEu1Vi5cmW36wsLC8s1duX9AXAfIQdAvsLDwx0XG7dp00Z2u12rVq3Sp59%2Bqi5dukiSKlasKEmaM2eOatasme%2Byzp8/ry1btmjEiBF65JFHHOPp6ek6d%2B6c07xhYWGOYHK5vMZc4WqN7ggLC9OuXbtyjRe1RgCeR8gB4LInnnhCGzdu1Jw5c3THHXfIZrOpXbt2KlWqlA4dOqTOnTvn%2B7uGYcg0TQUGBjqNr1q1yum0lZR9%2Bubzzz/XqVOnHEdLsrKytG7duiLV7WqN7mjVqpXWr1%2BvxMREdezY0TH%2BySef5Jo3p%2BdLly6p7P9v5%2B5VGgnDMAzfazVKTLDzDwSL5AiiXY5AFEGxChaiEhNjl3R6AKOgjY1IGPyp7OxFQgpJqwcQUBHE3iJFrFYIW2wMgsvsffXD%2B3zdw7wfXxB8y3xJf2fJkdSzVCrFxsYGYRhyfX3NwsICk5OTlMtlDg8PeXx8JJfLkUwmeXt74/7%2BnsHBQcrlMolEgmw2y%2BnpKSMjI0xMTNBsNrm6uiKZTHbNKRQK3NzcsLq6SrFYJAgCLi4ueH9/7yt3rxm/YnFxkSiKqFQq7OzsMDU1Rb1ep9FoAN0rsHQ6DcDJyQm5XI6BgQEymcwfhU/S9/KdHElfks/nGR8f5/j4%2BPMPzObmJkdHR7RaLarVKmtra%2Bzv7/P8/Ew2m/389uDggNnZWcIwpFQq8fDwQK1WY3h4uGtGOp2mVquRSCSoVqvs7u6SyWTY2trqO3evGXs1NDREFEXMzMwQhiHb29u8vLywt7cH0HWmubk5lpeXuby8ZGVlhaWlJV5fX/s%2Bi6Te/Op0Op2fDiFJcfH7PZ7b21tGR0d/Oo70X3NdJUl9Oj8/B2B6epp2u83d3R1nZ2fMz89bcKR/gCVHkvoUBAFRFPH09ES73WZsbIz19XUKhcJPR5OE6ypJkhRTXjyWJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmxZMmRJEmx9AGwhvamlRj6hgAAAABJRU5ErkJggg%3D%3D">
 
 <br>
 <br>
@@ -191,7 +193,7 @@
 <br>
 
 <h3 id="Histogram_of_read_lengths_after_log_transformation">Histogram of read lengths after log transformation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlEAAAHKCAYAAAAjNR7DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVxUZf//8feZAQRFQMslUSw1yAUVM9Fyz1Zxy0zzdinNcis1rcysrNtcbs1cccEyl1zS1F95651ZaXmXtmjZoiVqrmmaIiIqMHN%2Bf3gzX0dAmcMgg7yej4eP4pzrOuczc50Z3lznzBnDNE1TAAAA8IitoAsAAAAojAhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUT5o5cqVioqK0k8//ZTt%2BqeeekotW7Z0W9ayZUsNHz7co/1s27ZN06ZNU3JysuVai5q1a9eqdevWql27tqKiorRz586CLumKoqKiNG3atCu2OXTokKKiorRy5cprVNWVHTt2TNOmTcv2uR0%2BfLhiYmIKoKqs0tLS9Morr6hx48aqXr262rVrJ0maNWuWNmzYcE1rsfL694bExERNmzZNhw4duub7tuLrr7/WQw89pLp16yoqKuqaj5M35HR8bd26VVFRUdq6dWsBVFV0%2BRV0AfCO6dOnKzg42KM%2B27dv1/Tp09WhQweFhITkU2XXj5MnT%2Br5559X48aN9eqrryogIEA333xzQZd13fnrr780ffp0hYeHq3r16gVdTo6WLFmiZcuW6eWXX1bNmjVVvHhxSdLs2bN13333qVWrVgVcYf5LTEzU9OnT1aBBA1WsWLGgy7ki0zQ1ePBg3XzzzZo5c6aCgoJ0yy23FHRZHsvp%2BKpZs6aWLVumatWqFVBlRRMh6jpRo0aNgi7BY%2Bnp6TIMQ35%2BheMw3Ldvn9LT09W2bVs1aNDA4/7nz59XsWLFZBhGPlSHa2337t0KDAxUt27d8n1fDodDDodDAQEB%2Bb6v/HTu3DkFBQUVyL7/%2BusvJSUlqVWrVmrUqJFXtulLr%2Bng4GDVrVu3oMsocjidd524fDrf6XQqPj5e9913n2rXrq369eurTZs2mj9/viRp2rRp%2Bte//iVJuvvuuxUVFeU2Fex0OpWQkKD7779ftWrVUqNGjfT888/r6NGjbvs1TVOzZs1SixYtFB0drYceekj//e9/1b17d3Xv3t3VLnOqefXq1Ro3bpyaNGmi6Oho7d%2B/XydPntSoUaP04IMPKiYmRo0aNVKPHj303Xffue0r87TT3LlzNWfOHLVs2VK1a9dW9%2B7dXQFn4sSJaty4sW6//XYNGDBAf//9d66ev08//VSdO3dWnTp1FBMTo8cff1zbt293rR8%2BfLi6du0qSRoyZIiioqLcHt/lMk/Jbt68WS%2B%2B%2BKIaNmyoOnXqKC0tTZL0xx9/aOjQoWrUqJFq1aqlBx54QO%2B9957bNi5cuKBx48apXbt2uv3229WgQQN17tw526n8lJQUjRw5UrGxsYqJiVHv3r21b9%2B%2BXD32nOSmxsxxXbNmjd566y01btxY9erV02OPPaa9e/e6tc3NsbJ161Y9/PDDkqQXX3zRdVxefkpy//796tOnj2JiYtSsWTONGzfO9dxmWrx4sdq2bauYmBjFxMTo/vvv16RJk676uKdPn65OnTqpQYMGqlevnjp06KDly5fr0u9qj4qK0vLly3X%2B/HlXjZljnpqaqlWrVrmWX3qcHD9%2BXK%2B88oqaNm2qWrVqqWXLlpo%2BfboyMjJcbTKP84SEBMXHx6tly5aKjo7Wli1brlr7pY4cOaJhw4a5jd8777wjp9Pp1u7o0aN65plnFBMTo/r162vo0KHasWPHVU/xrly5UoMGDZIk9ejRw%2B15kKTu3bsrLi5O3377rbp06aI6depoxIgRki6eFu/Vq5caN26s2rVr64EHHtDEiROVmprqto/M07d5He9p06apadOmkqSJEycqKirK7ZKI7777Tj179lRMTIzq1KmjLl26aOPGjVkeb06v6WnTpikqKkq7du3SM88843q9jh07VhkZGdq7d6969%2B6tmJgYtWzZUgkJCW7bzu1r/UrHV06n86723pb5/ERFRWn37t169tlndfvtt%2BvOO%2B/Uiy%2B%2BqDNnzuR4DICZKJ/mdDrd3lwzXfpmnpO5c%2Bdq%2BvTp6tevn%2BrXr%2B96IWe%2BIDp16qTTp09r4cKFmj59usqUKSNJrqngUaNGadmyZerWrZuaN2%2Buw4cPa8qUKfrmm2%2B0cuVKlS5dWpL01ltvafbs2ercubPuueceHT16VCNHjlR6enq2U%2BWTJk1S3bp19dprr8lms%2BmGG27QyZMnJUkDBw7UjTfeqNTUVH3yySfq3r273n33XcXGxrptY/HixYqMjNQrr7yi5ORkjR8/Xn379lWdOnXk5%2BenMWPG6MiRIxo/frxeeuklzZo164rP1UcffaRhw4apcePGevPNN5WWlqa5c%2Be69l%2B/fn31799f0dHRev311/Xss88qNjY2V6dPR4wYoebNm%2Btf//qXzp07Jz8/PyUmJqpLly666aab9MILL6hMmTLavHmzRo8erVOnTmngwIGSLl5zc/r0afXq1UvlypVTenq6vvrqKz399NMaO3as2rdvL%2Bni8dC/f39t375dAwYMUHR0tLZt26Y%2Bffpctb6c5LbGTJMmTVK9evX0xhtvKCUlRRMnTlS/fv20du1a2e12Sbk7VmrWrKmxY8fqxRdfVL9%2B/dS8eXNJUvny5V37Sk9PV79%2B/fTwww%2BrV69e%2BvbbbxUfH6/g4GBXXf/%2B97/12muvqXv37nrhhRdks9m0f/9%2BJSYmXvWxHz58WJ07d1aFChUkST/88INGjx6tY8eOuba/bNkyxcfHa%2BvWra4/TCIiIrRs2TL17NlTsbGx6t%2B/vyS5jpPjx4%2BrU6dOstlsGjBggCIiIrR9%2B3bNnDlThw8f1tixY93qWLhwoW6%2B%2BWa98MILCg4OVuXKlXM9fidPnlSXLl2Unp6uQYMGKTw8XBs3btT48eN14MABjRo1SpKUmpqqHj166PTp0xo2bJgqV66sL7/8UkOGDLnqPpo3b65nn31WkyZN0iuvvKKaNWu6nodMx48f13PPPacnnnhCQ4YMkc128e/2P/74Q02bNlXPnj0VFBSkvXv3KiEhQTt27NCCBQvc9uON8e7UqZNuu%2B02DRw40BXuMmf1vvnmG/Xq1UuRkZF64403FBAQoCVLlqhv376aNGmSHnzwQbd6sntNZxo8eLDatm2rLl266L///a/mzp2rjIwMffXVV%2Bratat69%2B6tjz76SBMnTlTlypV17733Ssr9a/1Kx1d2cvPedqmnn35aDz74oB5%2B%2BGH9/vvvevPNNyUpy7GJS5jwOR988IEZGRl5xX8tWrRw69OiRQvzhRdecP381FNPme3atbvifubOnWtGRkaaBw8edFuemJhoRkZGmqNGjXJb/uOPP5qRkZHmpEmTTNM0zaSkJLNWrVrm4MGD3dpt377djIyMNLt16%2BZatmXLFjMyMtL8xz/%2BcdXHn5GRYaanp5s9e/Y0BwwY4Fp%2B8OBBMzIy0mzbtq3pcDhcy999910zMjLS7Nu3r9t23njjDTMyMtI8c%2BZMjvtyOBxm48aNzbi4OLdtpqSkmI0aNTI7d%2B6c5TGsW7fuqo8hcwyff/75LOt69eplNm3aNEtdr7/%2BuhkdHW0mJSVlu83M52XEiBFm%2B/btXcs3bdpkRkZGmvPnz3drP3PmTDMyMtKcOnXqFWvNfF4/%2BOADj2vMfE769Onj1m7t2rVmZGSkuX37dtM0PTtWduzYkaWeTC%2B88IIZGRlprl271m15nz59zPvuu8%2Btzvr161/xceeGw%2BEw09PTzenTp5sNGjQwnU6nWy1169bN0qdu3bpur8VML7/8slm3bl3z8OHDbsvffvttMzIy0ty9e7dpmv83Hq1atTLT0tJyVeflr/%2BJEyeakZGR5o8//ujW7tVXXzWjoqLMvXv3mqZpmosWLTIjIyPNTZs2Zak1pzG41Lp168zIyEhzy5YtWdZ169bNjIyMNL/66qsrbsPpdJrp6enmN998Y0ZGRpo7d%2B50rfPmeGc%2Br3PnznVb/sgjj5iNGjUyU1JSXMsyMjLMuLg4s2nTpq4xv9JreurUqWZkZKT5zjvvuC1v166dGRkZaa5fv961LD093WzYsKE5cODAHGvN6bVumjkfX5mvxcyx8OS9LbP%2BhIQEt22OGjXKjI6Odjvu4Y7TeT5s/PjxWrFiRZZ/t99%2B%2B1X7RkdHa9euXRo1apS%2B/PJLpaSk5Hq/mdPBHTp0cFteu3ZtVa1aVV9//bWki3%2Bhp6Wl6YEHHnBrV7duXYWHh2e77cy/vC63ZMkSdejQQdHR0apRo4Zq1qypr7/%2BWnv27MnStlmzZq6/aCWpatWqkuSatbh8%2BZEjR3J6qNq3b5/%2B%2BusvtWvXzm2bJUqU0L333qsff/xR586dy7H/1Vz%2BeC9cuKAtW7bonnvuUWBgoDIyMlz/mjZtqgsXLuiHH35wtV%2B3bp26dOmimJgY1/OyYsUKt%2Bclc7zatGnjtq%2B4uDhLNXtao6QsnxaNioqS9H/PvZVjJSeGYWS7v0vHOTo6WsnJyXr22We1YcMG12xnbnz99dd67LHHdPvtt6t69eqqWbOmpk6dqqSkpFyfHs7Oxo0bFRsbq7Jly2Z5TqWLMyKXatmypfz9/S3ta8uWLapWrZpq167ttvyhhx6SaZquU4PffvutSpQo4aohk9Vj53KhoaHZXn908OBBDR06VHfddZfrOc68tuzy08D5Od6pqan68ccfdd9996lEiRKu5Xa7XW3bttXRo0ez1JPTe5iU/XuQYRhuz6%2Bfn58qV66sw4cPu7XNzWvdE1be27J7ni9cuJCn4/56x%2Bk8H1a1alVFR0dnWV6yZMks1yZd7qmnnlLx4sX14YcfaunSpbLb7apfv76GDRuW7TYvlZSUJEkqW7ZslnVly5Z1vXlltrvhhhuytLvxxhuz3XbmacNLzZs3T%2BPGjVOXLl00aNAglSpVSjabTVOmTMnyBiZdfGO%2BVOYvmpyWX7hwIdtaJOnUqVM51lW2bFk5nU4lJydbvhj28u0mJSUpIyNDCxcu1MKFC69Y0/r16zV48GDdf//9euKJJ3TjjTfKbrdryZIl%2BuCDD9y26efnp1KlSl1x37nlSY2ZwsLC3H7OPFVy/vx51zYlz46VnAQFBalYsWJZ9nfpOLdv314Oh0PLly/XM888I6fTqejoaA0ePFh33XVXjtvesWOHevfurQYNGuif//ynypcvL39/f23YsEGzZs1yPR4r/v77b33%2B%2Beeu016Xu/w5tTp%2B0sXnO7twmvmazhyPpKSkbJ//7MbJiuwew9mzZ9W1a1cVK1bM9Wm5wMBAHT16VAMHDszyHOfneCcnJ8s0zRxf/9L/PVdXekyZsnsPyq5%2Bf39/tz9sc/ta94SV97arvY6RFSHqOuXn56fHH39cjz/%2BuJKTk/XVV1/prbfe0hNPPKGNGzdeMRRkvpD%2B%2Busvt2tRMpdl/rLObJfdXyknTpzI9k08u0%2BxfPjhh2rQoIFee%2B01t%2BVnz569yqPMu8zHcvz48Szr/vrrL9lstjzd/uHyxxsSEiK73a527dq5LlS/XOZHxT/88ENVrFhRkydPdttO5jU4mcLCwpSRkaFTp065BansHlNueFJjblk5VvKqY8eO6tixo1JTU/Xtt99q2rRpeuqpp/Txxx/nuL9///vf8vPz0%2BzZs91%2B8XnjfkKlSpVSVFSUBg8enO36y/9oycsnvsLCwnI8pjNryWy3Y8eOLO1OnDhhed%2BXyu4xbNmyRX/99ZcWLlzo9inXvF7AbGW8Q0JCZLPZcvVcZcqPT%2BLl9rXuifx%2Bb8NFnM4rAkJCQnT//fera9euSkpKck0jZ/6VcflMTcOGDSVdfGFfaseOHdqzZ49rfZ06dRQQEKC1a9e6tfvhhx%2ByTFVfiWEYWT66vWvXriynjPLDLbfconLlymnNmjVuF%2BynpqZq/fr1qlu3rlc/kh0UFKTY2Fj9%2BuuvioqKUnR0dJZ/mW9%2BhmHI39/f7U31%2BPHj%2BvTTT922mXnh/UcffeS2fM2aNfleY255cqx4%2B6/f4sWLq1mzZurbt6/S09OveHG5YRiy2%2B1upz/Onz%2Bf5bVwJQEBAdnW3rx5c/3%2B%2B%2B%2BKiIjI9jktV66cZw/sCho1aqTExET98ssvbstXr14twzBcx8wdd9yhs2fPatOmTW7t/v3vf%2BdqP1bGKvN4vvw1v3Tp0lxv40o8Ge/ixYurTp06%2BuSTT9weg9Pp1Icffqjy5ctfk3tJ5fa1LuV8fF3uWr%2B3FVXMRF2n%2Bvbtq1tvvVW1atVS6dKldfjwYc2fP1/h4eGuT/lERkZKuvjXTocOHeTn56dbbrlFVapUUefOnbVo0SLZbDY1bdrU9em8m266SY899piki3/FPv7445o9e7ZCQkJcn7iaMWOGypQpk%2Bu/2Jo3b674%2BHhNnTpVd9xxh/bt26f4%2BHhVrFhRDocjX56fTDabTc8995yGDRump556Sp07d1ZaWprefvttJScna%2BjQoV7f50svvaSuXbvqH//4hx599FGFh4fr7NmzOnDggD777DPXp5OaN2%2Bu9evXa9SoUbrvvvt09OhRxcfHq2zZsvrjjz9c22vcuLHuuOMOTZgwQefOnVOtWrW0bds2/b//9//yvcbc8uRYiYiIUGBgoD766CNVrVpVxYsXV9myZT0KGSNHjlRgYKDq1aunMmXK6Pjx45ozZ45Klix5xdPZzZo107x58zR06FB17txZSUlJevvttz26P1NkZKS%2B%2BeYbffbZZypTpoxKlCihKlWq6JlnntFXX32lLl26qHv37rrllluUlpamQ4cO6YsvvtBrr72WZebXqscee0yrV6/WU089pWeeeUYVKlTQxo0btXjxYj366KOuYNChQwfNnz9fzz//vAYNGqTKlSvriy%2B%2B0ObNmyXJLUxm59Zbb5Ukvf/%2B%2BypRooSKFSumihUrXjFkx8TEKDQ0VK%2B%2B%2BqoGDhwoPz8/ffTRR/rtt98sP16r4y1Jzz77rHr16qUePXqoV69e8vf31%2BLFi7V7925NmjTpmtwDKrevdSnn4%2BtyBfHeVhQRoq5TsbGx%2Bvjjj7V8%2BXKlpKSoTJkyuvPOO9W/f3/XtUKxsbF66qmntGrVKi1fvlxOp1MLFixQbGysRo0apUqVKmnFihVavHixgoOD1aRJEw0dOtTtDXLIkCEKCgrS0qVLtXLlSlWpUkWjRo3SW2%2B9leup4r59%2B%2BrcuXNasWKF5s6dq2rVqmnUqFHasGFDlott80ObNm0UFBSkOXPmaMiQIbLb7apTp44WLFigevXqeX1/1apV08qVKxUfH6/Jkyfr5MmTKlmypCpXrqxmzZq52nXs2FF///23li5dqg8%2B%2BECVKlXSk08%2BqaNHj2r69OmudjabTTNnztTYsWM1d%2B5cpaenq169epozZ06WC7m9XaMncnusBAUFacyYMZo%2Bfbp69%2B6t9PR0DRw4UE8//XSu91W/fn2tXLlS69at0%2BnTp1WqVCndfvvtGj9%2BvOv2HNlp1KiRxowZo4SEBPXt21flypXTI488otKlS%2Bull17K1b5feuklvfbaa3r22Wd17tw5NWjQQAsXLlTZsmW1YsUKxcfH6%2B2339axY8dUokQJhYeHq0mTJl49tVK6dGktXbpUb775pt58802dPXtWFStW1HPPPafHH3/c1a548eKaP3%2B%2BxowZowkTJsgwDNcd%2BZ988kmVLFnyivupVKmSRowYoQULFqhHjx5yOBwaO3asHnrooRz7lCpVSrNnz9b48eP13HPPKSgoSHfffbfeeuutLB9myS2r4y1JDRo00Lvvvqtp06bpxRdflNPp1G233aaZM2eqRYsWlurxVG5f61LOx1d2rvV7W1FkmGYubjoEeODgwYN64IEHNHDgQPXt27egy4EP41jxTbNmzdLkyZO1ceNGr82OAdcjZqKQJ7t27dKaNWsUExOj4OBg7du3T3PnzlVwcLDrztOAxLHiqxYtWiRJqlKlitLT07VlyxYtXLhQbdu2JUABV0GIQp4EBQXp559/1ooVK3TmzBkFBwcrNjZWgwcP9vij67i%2Bcaz4psDAQM2fP1%2BHDh1Senq6brrpJvXp00f9%2BvUr6NIAn8fpPAAAAAu4xQEAAIAFhCgAAAALCFEAAAAWEKIAAAAsKNKfzjNNU04n19UXFTabwXgXIYx30cJ4Fx02m3FN7iSfG0U6RBmGoeTkVGVkOAu6FOQzPz%2BbSpUqwXgXEYx30cJ4Fy2lS5eQ3e4bIYrTeQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAr%2BCLgAAgJw5ZbMduWILw7BJKi7DSJXN5nTv7awg5guQXwhRAACfZbMdUWhoe5mmf45tDEOSbAoOdso0L12ertOnV8vprJjvdaJoIkQBAHzaxQAVcJVWNknus1CXBiogPzDHCQAAYAEhCgAAwAJCFAAAgAUFfk3Ul19%2BqdmzZysxMVEpKSkqV66cWrVqpYEDB6pkyZKSpOHDh2vVqlVZ%2BiYkJKhp06bXumQAAICCD1GnT59WTEyMevbsqZCQEO3evVvTpk3T7t279c4777jaVapUSRMnTnTrW7Vq1WtdLgAAgCQfCFFxcXGKi4tz/RwbG6uAgAC9/PLLOnbsmMqVKydJCgwMVN26dQuqTAAAADc%2BeU1UWFiYJCkjI6OAKwEAAMhegc9EZXI4HMrIyFBiYqJmzJihFi1aKDw83LX%2BwIEDql%2B/vs6fP6/IyEj1799frVq1yvN%2B7XafzJHwssxxZryLBsb7%2BmEYtv/dTPNKbdz/eym73SabjePgenK14%2BFaMkzTN25H1rRpUx07dkyS1KRJE02dOlXFixeXJM2fP19%2Bfn6qVq2azpw5oyVLlmjz5s2aMmWK7r///oIsGwCQrw5Kaq2r32wzO2mS/i2pklcrAjL5TIjatWuXUlNTlZiYqPj4eEVERGjevHmy2%2B1Z2jqdTnXp0kUpKSlau3ZtnvabnHxODofz6g1RqNntNoWEBDHeRQTjff0wjEMKDu6oK4Uow7g45g6H87K7lKcpJeUDmSZf%2B3I9CQ0N8pnZRZ85nXfbbbdJkurVq6caNWqoY8eO%2BuSTT7KdabLZbLr33ns1YcIEnT9/XoGBgZb363A4lZHBm2xRwXgXLYx34WezXR6McmaaWb/qxeFwyunkGLie%2BMbUz0W%2BEeUuU716ddntdh04cCDHNj4ygQYAAIoonwxR27dvl8PhUMWK2U/BOp1Offzxx7r11lvzNAsFAABgVYGfzhs4cKBq1aqlqKgoBQYGateuXZo7d66ioqLUqlUrHT58WMOHD1dcXJwiIiJ0%2BvRpLVmyRD///LOmTZtW0OUDAIAiqsBDVO3atbV27VrNmTNHpmkqPDxcjzzyiHr37q2AgACVKFFCwcHBmjFjhk6ePCl/f3/VqlVLCQkJatKkSUGXDwAAiiif%2BXReQTl16iwXnhYBfn42lSpVgvEuIhjv64fNdkghIZ10tU/n%2BfnZlJGR9dN5ycnL5XTy6bzrSenSJXzmHnC%2BUQUAAEAhQ4gCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYEGBfwExAAC%2BySmb7Yj13s4KYq7i%2BkaIAgAgGzbbEYWGtpdp%2Bnvc1zDSdfr0ar78%2BDpHiAIAIAcXA1SAhX7erwW%2Bh3lGAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFfgVdAAAA%2BcOUzfan5d4X%2B5reKwfXHUIUAOA6laGSJZ%2BQaRa31NswUiX5yzSLebcsXDcIUQCA65i/pABLPU0zXYbh3WpwfeGaKAAAAAsIUQAAABYQogAAACwo8BD15Zdfqlu3bmrYsKFq1aqlu%2B%2B%2BW2PHjtWZM2fc2m3atEnt27dXdHS07rnnHr333nsFVDEAAIAPXFh%2B%2BvRpxcTEqGfPngoJCdHu3bs1bdo07d69W%2B%2B8844kafv27erfv7/atWun4cOHa9u2bRo9erQCAgLUqVOnAn4EAACgKCrwEBUXF6e4uDjXz7GxsQoICNDLL7%2BsY8eOqVy5cpoxY4Zq1KihMWPGSJIaNmyoP//8U1OmTFHHjh1lsxX4hBoAAChifDJ9hIWFSZIyMjKUlpamLVu2qHXr1m5t2rRpo%2BPHj%2BvXX38tiBIBAEARV%2BAzUZkcDocyMjKUmJioGTNmqEWLFgoPD1diYqLS09NVpUoVt/bVqlWTJO3Zs0e1atWyvF%2B73SdzJLwsc5wZ76KB8b5%2BGIbtqvdqylyfU7u83uvJan%2B73caZknzgS/fu8pkQ1aJFCx07dkyS1KRJE02aNEnSxWumJCkkJMStfebPmeutCgkJylN/FC6Md9HCeF8PiuviSZOrh5GsoTnzt63VIJOX/jaFhRWXVMLivlEY%2BEyImjNnjlJTU5WYmKj4%2BHj17dtX8%2BbNc603coieOS3PreTkc3I4nHnaBnyf3W5TSEgQ411EMN7XD8NIVXCwU1LO42gYF8fc4XDKdPuqu8wfrB4DeenvVEpKqkzzrMV9IyehoUE%2BM8PnMyHqtttukyTVq1dPNWrUUMeOHfXJJ5%2B4TttdPuOUnJwsKesMlaccDqcyMniTLSoY76KF8S78bLbLg1HOTFNZ2hpG1mWeyEt/h8Mpp5Pjz9vyMp7e5htR7jLVq1eX3W7XgQMHFBERIX9/f%2B3du9etTWJioiSpatWqBVEiAAAo4nwyRG3fvl0Oh0MVK1ZUQECAGjZsqHXr1rm1WbNmjcqUKaMaNWoUUJUAAKAoK/DTeQMHDlStWrUUFRWlwMBA7dq1S3PnzlVUVJRatWolSRowYIC6deumkSNHqk2bNtq2bZuWL1%2Bu119/3fL3eYMAACAASURBVGfOiwIAgKKlwENU7dq1tXbtWs2ZM0emaSo8PFyPPPKIevfurYCAAElSTEyM4uPjNWnSJK1evVrly5fXyJEjuVs5AAAoMIZp%2BtIlWtfeqVNnufC0CPDzs6lUqRKMdxHBeF8/bLZDCgnpJCkgxzaGcXHMMzIuvwj97P8uDLd6m4G89E9TcvJyOZ0VLe4bOSlduoTP3APON6oAAAAoZAhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAVeCVF//vmnvvjiC506dcobmwMAAPB5fp52eOutt3Tu3DmNGDFCkvTVV1%2Bpb9%2B%2BSk9PV0hIiBYtWqRbb73V64UCAAD4Eo9notavX69q1aq5fp48ebKioqI0ffp0VahQQTNnzvRqgQAAAL7I45moY8eOKSIiQpJ06tQp/fTTT5ozZ46aNGmiCxcuaPz48R5tb926dfroo4/0yy%2B/6PTp06pUqZIeffRRdenSRTbbxYw3fPhwrVq1KkvfhIQENW3a1NOHAAAAkGcehyjTNGWapiRp27ZtstvtuuOOOyRJZcuW9fi6qHnz5qlChQp6/vnndcMNN2jr1q164403dPDgQb3wwguudpUqVdLEiRPd%2BlatWtXT8gEAALzC4xAVERGhzz//XI0aNdLatWsVHR2twMBASdJff/2lkJAQj7Y3a9YslS5d2vVzw4YNlZqaqvfee09DhgxRQECAJCkwMFB169b1tFwAAIB84fE1UZ07d9aCBQsUGxurtWvX6pFHHnGt27Ztm9v1UrlxaYDKVL16dV24cEFJSUmelgcAAHBNeDwT1bVrV4WGhmr79u2Kjo5Wu3btXOsuXLigDh065Lmo77//XmFhYbrhhhtcyw4cOKD69evr/PnzioyMVP/%2B/dWqVas87wsAAMAKw8y8wMlH/PTTT%2BrSpYsGDBig/v37S5Lmz58vPz8/VatWTWfOnNGSJUu0efNmTZkyRffff3%2Be9pecfE4Oh9MbpcOH2e02hYQEMd5FBON9/TCMQwoO7igp4AptLo65w%2BGU%2B2%2B0s//7bwmLe89L/zSlpHwg06xocd/ISWhokOuDZwXNp0LU8ePH9cgjj6hcuXJauHCh/P39s23ndDrVpUsXpaSkaO3atde4SgDAtXNQUmtdKUTlLOV//w22uO%2B89E%2BT9G9JlSzuG4VBrk7ntWzZUoZh5Hqjn376qceFnDlzRn369FFgYKBmzpyZY4CSJJvNpnvvvVcTJkzQ%2BfPnXRe2W8FfqkUDMxNFC%2BN9/TCMVAUHOyXlPI45z0Rl/mD1GMhLf6dSUlJlmmev3hQe8aWZqFyFqAYNGriFqC1btuj48eOKiYlRmTJldPz4cW3fvl1ly5ZVbGysx0VcuHBB/fr104kTJ7Rs2TKVKlXqqn28NYHmcDiVkcGbbFHBeBctjHfhZ7NdHoxyZprK0tYwsi7zRF76OxxOOZ0cf97mO%2BfPchmixo0b5/r/1atXa9u2bVq/fr0qVKjgWn748GH16tVLDRo08KiAjIwMDRo0SLt27dKiRYsUHh5%2B1T5Op1Mff/yxbr311jzNQgEAAFjl8afzEhIS9PTTT7sFKEkKDw/XgAEDNHPmTI8%2Boff666/r888/13PPPafz58/rhx9%2BcK2rVq2aTp8%2BreHDhysuLk4RERE6ffq0lixZop9//lnTpk3ztHwAAACv8DhEHThwQCVLlsx2XWhoqA4fPuzR9jZv3ixJmjBhQpZ1CxYsUFRUlIKDgzVjxgydPHlS/v7%2BqlWrlhISEtSkSRNPywcAAPAKj0NUeHi4VqxYoWbNmmVZ9/7772eZobqazz777Kpt%2BFJjAADgazwOUU8%2B%2BaRGjBihhx9%2BWHFxcbrxxht14sQJrVmzRr/88otGjx6dH3UCAAD4FI9D1EMPPSRJmjx5stsF52XKlNE///lPdezY0XvVAQAA%2BCiPQ5R0MUh16NBBe/fuVVJSksLCwlSlShWP7iUFAABQmFkKUZJkGIaqVq3qzVoAAAAKDcsh6vfff9eePXt04cKFLOvat2%2Bfp6IAAAB8ncch6ty5c%2BrXr5%2B2bNkiwzBcdw6/9FQeIQoAAFzvPP7ymfj4eB0%2BfFiLFi2SaZqaPn265s2bp3vuuUeVK1fWqlWr8qNOAAAAn%2BJxiPr000/Vp08fxcTESJJuuukmNWrUSFOnTlXNmjW1ePFirxcJAADgazwOUYcPH1aVKlVkt9tlGIbOnTvnWtemTRt9%2BumnXi0QAADAF3kcokqWLKnU1FRJ0g033KD9%2B/e71mVkZLjWAQAAXM88DlFRUVH6448/JEmxsbGaPXu2vvvuO%2B3YsUMzZszQbbfd5u0aAQAAfI7Hn87r2LGja/Zp8ODB6tq1q7p37y5JCgkJ0Zw5c7xbIQAAgA/yOEQ9%2BOCDrv%2BvVKmSPv74Y9ftDmJiYhQWFubVAgEAAHyR5ZttZipevLhatmzpjVoAAAAKDY%2BviZKktLQ0LV26VM8%2B%2B6wef/xx1zVSGzZs0MGDB71ZHwAAgE/yeCbq5MmT6tmzp3bv3q0bb7xRf//9t86ePSvp4j2kNm/erFGjRnm7TgAAAJ/i8UzUhAkTlJycrA8%2B%2BEAbN250fe2LdPHTet9%2B%2B61XCwQAAPBFHoeojRs36plnnlHNmjXdvi9PksqVK6ejR496rTgAAABf5XGISklJUYUKFbJdl5GRIYfDkeeiAAAAfJ3HIapixYr64Ycfsl23Y8cO3XLLLXkuCgAAwNd5HKLatGmjhIQEbdiwwXU9lGEY2rFjhxYsWKB27dp5vUgAAABf4/Gn8/r06aNt27Zp4MCBCg0NlST17t1bSUlJatKkiXr06OH1IgEAAHyNxyHK399fCQkJWrt2rTZu3Ki///5bpUqVUvPmzdW6dWvZbJZuPQUAAFCoeBSiLly4oNWrV6t%2B/fpq3bq1WrdunV91AQAA%2BDSPpo2KFSum0aNH6%2B%2B//86vegAAAAoFj8%2B9VapUSSdOnMiPWgAAAAoNj0NUjx49NGfOHKWkpORHPQAAAIWCxxeWJyYm6tSpU2rZsqUaNmyoMmXKZLlz%2BciRI71WIAAAgC/yOEQtWrTI9f/r16/Pst4wDEIUAAC47nkconbt2pUfdQAAABQq3NQJAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALMhViBo7dqz%2B/PNPSdKRI0eUnp6er0UBAAD4ulyFqPnz5%2Bv48eOSpLvvvls7d%2B70WgHr1q1T//791axZM9WtW1dt2rTR4sWL5XQ63dpt2rRJ7du3V3R0tO655x699957XqsBAADAU7m6T1RoaKjr%2B/JM0/RqAfPmzVOFChX0/PPP64YbbtDWrVv1xhtv6ODBg3rhhRckSdu3b1f//v3Vrl07DR8%2BXNu2bdPo0aMVEBCgTp06ebUeAACA3MhViKpTp45eeukl1a5dW5I0fvx4lSxZMtu2hmFo5syZuS5g1qxZKl26tOvnhg0bKjU1Ve%2B9956GDBmigIAAzZgxQzVq1NCYMWNcbf78809NmTJFHTt2lM3GpV0AAODaylWIevXVVzVmzBglJibKMAzt379fAQEB2ba9/Hv0rubSAJWpevXqunDhgpKSkhQWFqYtW7Zo2LBhbm3atGmj999/X7/%2B%2Bqtq1arl0T4BAADyKlchKjw8XDNmzJAk3XbbbYqPj3fNSuWH77//XmFhYbrhhhu0b98%2Bpaenq0qVKm5tqlWrJknas2cPIQoAAFxzHn933oIFC1S1atX8qEWS9NNPP2nlypUaMGCA7Ha7Tp8%2BLUkKCQlxa5f5c%2BZ6q%2Bx2TgUWBZnjzHgXDYz39cMwbLraCY7M9Tm18/AEidf62%2B02LjfJB3kdT2/yOEQ1aNBAkrR//35t2bJFSUlJKlWqlGJjY1W5cuU8FXP8%2BHE988wzio6OVp8%2BfdzW5XSa0NPTh5cLCQnKU38ULox30cJ4Xw%2BK6%2BIHya8eRrKG5szfD1aDTF762xQWVlxSCYv7RmHgcYgyTVP//Oc/tXTpUrfbENhsNnXt2lUjR460VMiZM2fUp08fBQYGaubMmfL395d08ZOBUtYZp%2BTkZElZZ6g8lZx8Tg6H8%2BoNUajZ7TaFhAQx3kUE4339MIxUBQc7JeU8joZxccwdDqfcP0Ce%2BYPVYyAv/Z1KSUmVaZ61uG/kJDQ0yGdm%2BDwOUe%2B%2B%2B64WL16sRx99VB06dFC5cuV07NgxrV69WosXL1bFihX12GOPebTNCxcuqF%2B/fjpx4oSWLVumUqVKudZFRETI399fe/fuVdOmTV3LExMTJSnPpxYdDqcyMniTLSoY76KF8S78bLbLg1HOTFNZ2hpG1mWeyEt/h8OZ5Z6HyDsv32kpTzwOUcuXL1e3bt3cZpzKlSun2rVry2az6f333/coRGVkZGjQoEHatWuXFi1apPDwcLf1AQEBatiwodatW%2Be23TVr1qhMmTKqUaOGpw8BAAAgzzyeDzt48KBatGiR7boWLVro4MGDHm3v9ddf1%2Beff66%2Bffvq/Pnz%2BuGHH1z/UlJSJEkDBgzQzz//rJEjR2rr1q2aOXOmli9frkGDBvnMlB4AAChaPJ6JKlmypI4cOZLtuiNHjig4ONij7W3evFmSNGHChCzrFixYoNjYWMXExCg%2BPl6TJk3S6tWrVb58eY0cOZK7lQMAgALjcYi68847NXnyZFWvXt3t/kw7d%2B7U1KlT1bhxY4%2B299lnn%2BWqXbNmzdSsWTOPtg0AAJBfPA5RQ4cOVefOndWpUydVq1ZNZcqU0fHjx5WYmKiyZctq6NCh%2BVEnAACAT/H4gqKbbrpJq1ev1hNPPKGgoCAdOnRIQUFBevLJJ7Vq1SqVL18%2BP%2BoEAADwKR7PREkXv%2B%2BOGScAAFCU8dE2AAAACwhRAAAAFhCiAAAALCBEAQAAWOBxiEpLS5PpS19cAwAAUAA8ClEXLlxQnTp1tGHDhvyqBwAAoFDwKEQVK1ZMYWFhCgoKyq96AAAACgWPT%2Be1aNFCn3zySX7UAgAAUGh4fLPN1q1b66WXXtKLL76oe%2B%2B9V2XKlJFhGG5tatas6bUCAQAAfJHHIap3796SpFWrVmn16tVu60zTlGEY2rlzp3eqAwAA8FEeh6ixY8fmRx0AAACFischqkOHDvlRBwAAQKGSp5tt7t27V99//71SU1O9VQ8AAEChYClErV69Wk2bNlXr1q3VrVs37du3T5I0aNAgvf/%2B%2B14tEAAAwBd5HKLWrVun4cOHq0aNGnr55Zfd7l5es2ZNrVu3zqsFAgAA%2BCKPQ9ScOXP00EMPadasWercubPbuipVqigxMdFrxQEAAPgqj0PUnj171Lp162zXhYWFKSkpKc9FAQAA%2BDqPQ1RQUJDOnDmT7bpjx44pNDQ0z0UBAAD4Oo9DVExMjN577z23a6EyrVy5Ug0aNPBKYQAAAL7M4xA1YMAA/fDDD3r44Ye1cOFCGYah9evXq2/fvvruu%2B/Ut2/f/KgTAADAp3gcoqKjo5WQkKDU1FSNGzdOpmlq9uzZ2rdvn%2BbMmaPIyMj8qBMAAMCneHzHcklq2LCh1q1bpwMHDujEiRMqVaqUbrnlFm/XBgAA4LMshahMERERioiI8FYtAAAAhYalEHXo0CHNmTNHW7duVVJSksLCwhQbG6s%2BffqoUqVK3q4RAADA53h8TdTOnTvVoUMHrVy5UmXLltVdd92lsmXLauXKlerQoYN27tyZH3UCAAD4FI9nosaMGaPSpUtr3rx5qlChgmv54cOH1atXL40ZM0YLFy70apEAAAC%2BxuOZqB07dujpp592C1CSFB4eroEDB2rHjh1eKw4AAMBXeRyiSpYsqZIlS2a7LiQkRMHBwXkuCgAAwNd5fDovLi5Oy5cvV7NmzbKse//993P8Xj0AQFHklM12xHJvm%2B1PSVm/IQPwBbkKUevXr3f9f82aNfXxxx/r4YcfVlxcnG688UadOHFCa9as0cmTJ3X//ffnW7EAgMLFZjui0ND2Mk1/S/0NI1WSv0yzmHcLA7zAMLP7ErzL3HbbbTIMQ6Zpuv6b4wYNo1B9Qu/UqbPKyHAWdBnIZ35%2BNpUqVYLxLiIYb99hsx1SSEgnSQEWt3BWhiGZZokcWxjGxTHPyHDK/dfT1fvmdd85S1Ny8nI5nRUt7hs5KV26hOx2j69Gyhe5molasGBBftcBAABQqOQqRDVo0CC/6wAAAChU8vS1L96wf/9%2Bvf322/rxxx%2B1e/duValSRWvWrHFrM3z4cK1atSpL34SEBDVt2vRalQoAAOBiKURt2LBBH374oY4cOaILFy64rTMMQx9%2B%2BGGut7V7925t2rRJderUkdPpzPF6q0qVKmnixIluy6pWrep58QAAAF7gcYiaO3euJk6cqNKlSysiIkJBQUF5KqBly5Zq1aqVpIszTj///HO27QIDA1W3bt087QsAAMBbPA5RixcvVseOHfX666/LbrfnuQCbzTeusAcAAPCExwkmKSlJcXFxXglQnjhw4IDq16%2BvWrVq6aGHHtKGDRuu6f4BAAAu5fFMVL169bR37141atQoP%2BrJVvXq1RUdHa1q1arpzJkzWrJkiQYMGKApU6bk%2BeaevnKvCeSvzHFmvIsGxvtyThmG9buGm2YFWfibW5JkGDYZhuVdX7Kdq6/LqU1e92%2B1v91u42xLPvDG8eQtHoeoESNGaODAgSpfvryaNGmigACrN1DLvZ49e7r93LJlS3Xp0kVTp07Nc4gKCcnbNV0oXBjvooXxznRQUntJVu4ani5pvaRKFvddXBcDmNUwkfkb8%2Br9s4bm3PfN676zsiksrLgkqzf6RGHgcYiqXLmy7rzzTg0cOFCGYSgwMNBtvWEY%2Bv77771WYHZsNpvuvfdeTZgwQefPn89SgyeSk8/J4eCOxtc7u92mkJAgxruIYLzdGUaqgoPtsvaBbKdSUlJlmmfzsG%2BnJKvjkPmJ7Zz7G8bFMXc4Lr9j%2BdX75nXfOcvb84achYYG%2BcwMn8evqAkTJmjRokWqXr26qlSpck1morKTi2%2BryRWHw8nXQhQhjHfRwnhfZLNdHi4843A45XRaex7zum9J//vqlau3M82s7XLbN6/7zk5enjfkzEu//r3C4xC1atUq9enTR0OHDs2PenLF6XTq448/1q233pqnWSgAAACrPA5RDodDd955p9cKOHfunDZt2iRJOnz4sFJSUvSf//xH0sWvmzl37pyGDx%2BuuLg4RURE6PTp01qyZIl%2B/vlnTZs2zWt1AAAAeMLjEHXXXXfpxx9/9Nqn8/7%2B%2B28NGjTIbVnmzwsWLFBUVJSCg4M1Y8YMnTx5Uv7%2B/qpVq5YSEhLUpEkTr9QAAADgKY9DVP/%2B/TVkyBAFBQWpefPmCg0NzdImLCws19urWLGifvvttyu2mTlzpqdlAgAA5CuPQ1S7du0kSePGjdO4ceOybbNz5868VQUAAODjPA5RAwYMkOFLd7oCAAAoAB6HqKeffjo/6gAAAChUfONuVQAAAIWMxzNR06dPv%2BJ6wzA0YMAAywUBAAAUBoQoAAAACzwOUbt27cqyLCkpSRs2bND8%2BfM1Z84crxQGAADgy7xyTVRYWJgefvhhtWnTRqNHj/bGJgEAAHyaVy8sj46O1tdff%2B3NTQIAAPgkr4ao3377TcWLF/fmJgEAAHySx9dErV69OsuytLQ0/fbbb/rggw/Utm1brxQGAADgyzwOUcOHD892ebFixdS2bVs9//zzeS4KAADA13kcoj799NMsy4oVK6Ybb7zRKwUBAAAUBh6HqPDw8PyoAwAAoFDha18AAAAsyNVMVJs2bXK9QcMw9OGHH1ouCAAAoDDIVYgKCwu7apvU1FT98ssvMgwjz0UBAAD4ulyFqIULF%2Ba4LiMjQ8uWLVN8fLwMw1BcXJzXigMAAPBVHl9Yfql169Zp8uTJOnDggO68804NGzZM1atX91ZtAAAAPstSiNq6dasmTpyon376STVq1NA777yjRo0aebs2AAAAn%2BVRiPrtt980ceJEbd68WRUrVtSbb76p1q1b51dtAAAAPitXIerPP//U5MmTtWbNGoWGhmrEiBHq0qWL/P3987s%2BAECBMmWz/Wm598W%2BpvfKAXxIrkLUfffdp/T0dDVp0kRPPPGESpQood9//z3H9jVr1vRagQCAgpShkiWfkGla%2B3J5w0iV5C/TLObdsgAfkKsQlZaWJkn64osv9OWXX%2BbYzjRNGYahnTt3eqc6AIAP8JcUYKmnaaaLO9/gepWrEDV27Nj8rgMAAKBQyVWI6tChQ37XAQAAUKjw3XkAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCjwELV//3698sorateunWrUqKG4uLhs223atEnt27dXdHS07rnnHr333nvXuFIAAID/U%2BAhavfu3dq0aZMqV66sqlWrZttm%2B/bt6t%2B/v2rUqKGEhAR16NBBo0eP1vLly69xtQAAABfl6guI81PLli3VqlUrSdLw4cP1888/Z2kzY8YM1ahRQ2PGjJEkNWzYUH/%2B%2BaemTJmijh07ymYr8CwIAACKmAJPH1cLQGlpadqyZYtat27ttrxNmzY6fvy4fv311/wsDwAAIFsFPhN1NQcOHFB6erqqVKnitrxatWqSpD179qhWrVqWt2%2B3F3iOxDWQOc6Md9HAeLszDJsMI6/b8N3%2BmetyalNQtdvtNs6U5IO8jqc3%2BXyIOn36tCQpJCTEbXnmz5nrrQoJCcpTfxQujHfRwnhnKq6LJx6s/ELP/I1lNQxcu/5ZQ3NB1m5TWFhxSSUs7huFgc%2BHqExGDtEzp%2BW5lZx8Tg6HM0/bgO%2Bz220KCQlivIsIxtudYaQqONgpycpzYf7vv1afx/zvbxgXx9zhcMo0L11TkLU7lZKSKtM8a3HfyEloaJDPzPD5fIgKDQ2VlHXGKTk5WVLWGSpPORxOZWTwJltUMN5FC%2BN9kc12ebjwjGGoUPQ3zaztCrJ2h8Mpp5Pjz9vyMp7e5htR7goiIiLk7%2B%2BvvXv3ui1PTEyUpBxviwAAAJCffD5EBQQEqGHDhlq3bp3b8jVr1qhMmTKqUaNGAVUGAACKsgI/nXfu3Dlt2rRJknT48GGlpKToP//5jySpQYMGKl26tAYMGKBu3bpp5MiRatOmjbZt26bly5fr9ddf95nzogAAoGgxTLNgzy4eOnRId999d7brFixYoNjYWEkXv/Zl0qRJ2rNnj8qXL6/HH39c//jHP/K8/1OnznLNRBHg52dTqVIlGO8igvF2Z7MdUkhIJ0kBFnqf/d91QVY/ZZb//Q3j4phnZFx%2B7VdB1p6m5OTlcjorWtw3clK6dAmfuX1Jgc9EVaxYUb/99ttV2zVr1kzNmjW7BhUBAABcnW9EOQAAgEKGEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAv8CroAAMDVOGWzHbHc22b7U5LpvXIASCJEAYDPs9mOKDS0vUzT31J/w0iV5C/TLObdwoAijhAFAIXAxQAVYLFvugzDu/UA4JooAAAASwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhQKELUypUrFRUVleXfxIkTC7o0AABQRPkVdAGemDt3rkqWLOn6uVy5cgVYDQAAKMoKVYiqWbOmSpcuXdBlAAAAFI7TeQAAAL6mUM1ExcXF6dSpU6pQoYIeeeQRPfHEE7Lb7Xnapt1OjiwKMseZ8S4arrfxNgybDMMb2ymYvvndP3NdTm0Kqna73Sab7fo4Bn2JN14L3lIoQlSZMmX09NNPq06dOjIMQ5999pkmT56sY8eO6ZVXXsnTtkNCgrxUJQoDxrtouX7Gu7gunjiw%2Bgs587eOlf556Xtt%2B2cNzQVZu01hYcUllbC4bxQGhmmaZkEXYcX48eM1f/58bdy4UWXLlrW8neTkc3I4nF6sDL7IbrcpJCSI8S4irrfxNoxDCg7uKCnA4hbO/u%2B/Vn6h56XvtelvGBfH3OFwyv03WkHWnqaUlA9kmhUt7hs5CQ0N8pkZvkIxE5WdBx54QO%2B884527tyZpxDlcDiVkVH432SRO4x30XK9jLfNdnk48JxhyPI28tL3WvY3zaztCrJ2h8Mpp7PwH3%2B%2BxpemfnwjygEAABQyhTZErV27Vna7XTVq1CjoUgAAQBFUKE7n9e7dWw0bNlRkZKQk6dNPP9X777%2BvHj16qEyZMgVcHQAAKIoKRYi65ZZbtGLFCh09elROp1M333yzRowYoe7duxd0aQAAoIgqFCFq5MiRBV0CAACAm0J7TRQAAEBBIkQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsKBQfHceABQ8p2y2I3nbgrOC%2BNsVuH4QogAgF2y2IwoNbS/T9LfU3zDSdfr0ajmdFb1cGYCCQogCgFy6GKACLPb1bi0ACh7zygAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAF3CcKQCGSu7uGG4ZNUnEZRqpsNqf7FrhrOAAvIUQBKDRye9dww5Akm4KDnW43ueSuyohR5QAAD2FJREFU4QC8iRAFoFDJ/V3DbZLcZ6G4azgAb2JOGwAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFjALQ4A4JowZbP9aannxX7cnwHwNYQoALgmMlSy5BMyzeIe9zSMVEn%2BMs1i3i8LgGWEKAC4ZnJ7o1B3ppn%2Bv7uwA/AlXBMFAABgASEKAADAAkIUAACABYUmRO3bt0%2B9e/dW3bp11ahRI40ePVrnz58v6LIAAEARVSguLE9OTlbPnj1VoUIFTZ06VSdPntTYsWOVlJSkiRMnFnR5AACgCCoUIWrp0qVKTk7W6tWrVbp0aUmS3W7XsGHD1K9fP1WtWrWAKwQAAEVNoTid98UXX6hRo0auACVJ9913nwICArRp06YCrAwAABRVhWImas%2BePerYsaPbsoCAAEVERGjPnj152nZoaJBMbgR83cu8xw7jXdhVlc22LpdtDdntWQe7VKkbZZp2j/dsGDfLMHK77%2Bxk1mLlhk956VuY9%2B1J/%2BzGu2BrDwsrp0Lya7ZQsdl856ZphWJ0k5OTFRISkmV5SEiITp8%2Bnadt22yFYjIOXsJ4F3YBkirlunV2N6jM200rc79vXHu%2BdkNSu%2BdZHYVMof6NYpqmDF971QAAgCKhUISokJAQJScnZ1l%2B5syZbGeoAAAA8luhCFFVq1bNcu1TWlqaDhw4wCfzAABAgSgUIapp06basmWLTp065Vr2ySefKC0tTc2aNSvAygAAQFFlmKbvf1Yp%2Bf%2B3d/8xUdd/HMCfgJ2HwIFIQZCSnN61WyhYBASDjWaoXJJJ6cbKjEFBiCIYtQmVsYLIVGgMU8YooTHCtVBQK%2BLANsgJTJxbiwtFiBJYcoAKB32%2Bf/Tl6vihd9fBQTwfm%2BPude/7fF5vX599eN3nfdxpNFAqlfDw8EBCQgL6%2BvqQlZWF4OBgftgmERERWcS8aKKAv772JTMzExcvXoRYLIZSqURqairEYrGlUyMiIqIFaN40UURERERzybx4TxQRERHRXMMmioiIiMgEbKKIiIiITMAmioiIiMgEbKKIiIiITMAmioiIiMgEC66JunbtGjIyMhAZGQmFQgGlUmnplMhMDK2tSqXCs88%2BC29vb6xfvx4lJSWznCkZy9y1LSwsRFhYGLy9vbF161Y0NjbOZPp0F5ao7eDgIDIyMuDv7w9fX1%2B89tpr6OrqMuu86C9zub7t7e2IiYmBj48PAgMDkZmZiTt37hg1vwXXRP38889QqVTw9PTk9%2B79xxhS2%2BbmZiQkJEChUODYsWPYsmULMjMzUV5ePsvZkjHMWdvCwkIcOnQI0dHR%2BPTTT%2BHp6YnY2Fj89NNPszEVmsAStU1JSUFNTQ3S09Nx6NAh3LhxAzt37jT6Fyjd21ytr0ajwY4dOzA0NITc3FykpaWhsrIS%2B/fvN26CwgIzNjamu52WliZERERYMBsyJ0NqGxMTI0RFRenF9u/fLwQFBek9n%2BYWc9V2eHhYeOyxx4Ts7GzdmNHRUWHjxo3Cnj17Zih7upvZrm1LS4sgk8mE2tpaXayrq0tQKBRCaWmp2eZFf5mr9T169Kiwdu1aoa%2BvTxf7%2BuuvBZlMJrS1tRk8vwV3JcraesFNecG4V21HRkbQ0NCAiIgIvfgzzzyDnp4eXLlyZSbTo3/BXLVtamrCwMCA3pKCjY0NNm3aBJVKBYFf4DDrZru2KpUKEokEISEhunHu7u5Yt24dVCqVuaZF/zdX61tXV4fAwEA4OzvrYuHh4RCJREYdB%2BwoaMHo6OiAVquFl5eXXnzVqlUAALVabYm0yAwMre34z4njpFIphoaG8Pvvv89CtmQMc9dWrVZj5cqVsLKymrQ9ngNmn6Xqq1arJy0vikQirFixwqjjgE0ULRj9/f0AAIlEohcfvz/%2BOM0/htZWo9FAJBJN%2BuJyR0dHAMDNmzdnOlUykrlrq9Fo4ODgMGk/EomE5wALsFR9NRrNpH1ONe5e2ETRgjPxFcq94jR/GFLbqcaMLwXwGJi7zFlbngPmnrlSX0EQjDoO2ETRgjH%2BimXiqwyNRgNg8ishmj8Mra1EIsHw8DCGh4enHDe%2BHZo7zF1biUSii00cx3PA7LNUfacbNzAwYNRxwCaKFowVK1bgvvvuwy%2B//KIXb2trAwB%2B5MU8Zmhtx39OfM%2BDWq2GnZ0dXF1dZyFbMoa5ayuVStHe3j7pjwja2tp4DrAAS9VXKpVO2tbIyAg6OjqMOg7YRNGCIRKJEBAQgOrqar34qVOncP/990OhUFgoM/q3DK3tunXr4ODggKqqKt2YsbExVFdXIzQ0lMs5c5C5axsaGgqNRoP6%2BnrduO7ubjQ1NSE0NHQWZkT/ZKn6hoSEoKGhAX/88Ycu9s0332BkZMSo48DmnXfeeceoGc9zt2/fxnfffYe2tjb88MMP6O3thZubG9ra2uDs7AxbW1tLp0gmMqS2y5cvR0FBAbq7u2FnZ4fKykoUFRXhrbfewqOPPmrpKdA0zFVbGxsb2NjYoKCgAGKxGMPDwzhy5Aiam5vx4YcfwsXFxcIzXXhmu7Zubm64fPkyysrK4Orqiu7ubmRkZEAsFuPAgQNYtGiRJf87/nPman1Xr16NiooK1NfXw9XVFc3NzXj//fexfv16bN%2B%2B3eD5WQkL7INROjs78dRTT0352GeffQZ/f/9ZzojMxdDaqlQqfPzxx1Cr1XBzc8POnTsRHR09m6mSkcxZW0EQUFhYiJKSEvT29kImk2Hfvn0ICAiY8XnQZJao7eDgILKzs3H27FlotVr4%2B/sjPT0dHh4eMzPJBWwu17e9vR2ZmZm4ePEixGIxlEolUlNTJ/0F4N0suCaKiIiIyBz4nigiIiIiE7CJIiIiIjIBmygiIiIiE7CJIiIiIjIBmygiIiIiE7CJIiIiIjIBmygiIiIiE7CJIiIiIjIBmygimuTkyZOQy%2BW6fwqFAsHBwUhOTsbVq1ctnldnZ%2Bddx%2BXl5UEul89SVvemUqmQl5c35WNyuRwHDhyY5YyIyBz4JUFENK0PPvgAXl5eGB4eRlNTEwoKCtDY2Ijq6mo4OjpaOr15Q6VSoaSkBLt27bJ0KkRkRmyiiGhaq1evhre3NwDA398fY2NjyMvLw7fffoutW7daODsiIsvich4RGWy8oerr65v0WFVVFbZt2wYfHx/4%2BvoiJiYGV65c0RvT2tqK5ORkhIWFYc2aNQgLC8PevXvR1dU1aXstLS3Yvn07vL29ERwcjIMHD2J0dPRf5W9Ijm%2B%2B%2BSZ8fX1x7do1xMbGwtfXF6GhocjKysLIyIje2N9%2B%2Bw1JSUnw9fXF448/jpSUFFy6dAlyuRwnT57Uba%2BkpAQA9JZIJy5JfvXVV9i4cSPWrl2LzZs34/vvv/9XcyWimccrUURksPFf/A8//LBevKCgAIcPH8Zzzz2H%2BPh4aLVaFBYWIjo6GuXl5Vi1ahUAoKurCytXrkRERAQcHR3R09ODL774AlFRUTh9%2BjScnZ0BAG1tbXj55Zfh4eGBrKwsiMVilJaW4tSpUybnbmiOAKDVahEfH4%2BoqCi88soruHDhAvLz82Fvb4/ExEQAwK1bt/DSSy%2Bhv78fqamp8PT0RH19PZKTk/X2m5CQgFu3buHs2bMoKyvTxR944AHd7draWrS2tiIpKQlLlizB8ePHkZiYiDNnzmD58uUmz5mIZphARDRBRUWFIJPJhJaWFkGr1QqDg4NCXV2dEBQUJERHRwtarVY39tdffxUUCoXw3nvv6W1jcHBQCAoKEnbv3j3tfkZHR4WhoSHBx8dHKC4u1sX37NkjrFmzRujp6dEbu2HDBkEmkwnXr1%2B/a/65ubmCTCYzKce0tDRBJpMJVVVVemNjY2OF8PBw3f0TJ04IMplMUKlUeuPS09MFmUwmVFRU6GLvvvuuXj7/JJPJhCeffFIYGBjQxXp6eoRHHnlEOHr06F3nSUSWxStRRDStF154Qe%2B%2BVCpFfn4%2BFi36%2B9Rx/vx5jI6OIjIyUm%2B5bfHixfDz80NjY6MuNjQ0hPz8fJw7dw5dXV0YGxvTPaZWq3W3GxsbERgYCBcXF13MxsYGmzZtwieffGL0PIzJEQCsrKwQFhamF5PL5WhoaNDdv3DhAuzs7BASEqI3TqlU6l1xMoS/vz/s7e11911cXLBs2bIplzmJaO5gE0VE08rOzoZUKsXQ0BCqqqpQVlaGvXv34vjx47oxvb29AICoqKgpt2Ft/fdbL1NSUtDQ0ICEhAR4e3vDzs4OVlZWiIuLw/DwsG7czZs39RqocVPFDGFMjgBga2uLxYsX68VEIpFBOS5btszo/JycnCbFJu6PiOYeNlFENC2pVKp7M3lAQAD%2B/PNPlJeX48yZM9iwYQMAYOnSpQCA3NxcuLu7T7utgYEB1NbWIjExEXFxcbr4yMgI%2Bvv79cY6OTnpGp9/mipmCENzNIaTkxMuXbo0KW5qjkQ0/7CJIiKD7du3D%2BfOnUNubi6efvppWFtbIzg4GIsWLUJHRwfCw8Onfa6VlRUEQYBIJNKLl5eX6y3rAX8tb9XU1KC3t1d3tWdsbAxVVVUm5W1ojsbw8/NDdXU1VCoVQkNDdfHTp09PGjs%2B5zt37kAsFptl/0RkeWyiiMhgjo6OiIuLQ05ODiorKxEZGYmHHnoISUlJOHz4MK5fv46QkBBIJBL09vaitbUVtra2SEpKgr29Pfz8/FBYWIilS5fCw8MDP/74I7788ktIJBK9/cTHx6OmpgY7duzA66%2B/DrFYjJKSEty%2BfdukvA3N0RhbtmxBcXEx3njjDezevRuenp6oq6vD%2BfPnAegvEcpkMgDAsWPHEBISAmtra8jl8kkNJRHNL/ycKCIyyosvvgh3d3fk5%2BfrriC9%2BuqrOHLkCK5evYq0tDTExMTgo48%2BQldXF/z8/HTPPXjwIPz9/ZGTk4PExERcvnwZRUVFcHBw0NuHTCZDUVER7O3tkZaWhoyMDMjlciQkJJict6E5GmrJkiUoLi7GE088gZycHOzatQvd3d14%2B%2B23AUBvTkqlEs8//zxKS0uxbds2REVF4caNGybPhYjmBitBEARLJ0FE9F8x/nlUtbW1cHNzs3Q6RDSDuJxHRGSiEydOAAC8vLyg1WrR0NCAzz//HJs3b2YDRbQAsIkiIjKRWCxGcXExOjs7odVq8eCDDyI2Nhbx8fGWTo2IZgGX84iIiIhMwDeWExEREZmATRQRERGRCdhEEREREZmATRQRERGRCdhEEREREZmATRQRERGRCdhEEREREZmATRQRERGRCf4Hn5ppyKZxYDcAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlEAAAHKCAYAAAAjNR7DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeVxUZf//8feZAQRFQMslUSw1yAUVM9Fyz1Zxy0zzdinNcis1rcysrNtcbs1cccEyl1zS1F95651ZaXmXtmjZoiVqrmmaIiIqMHN%2Bf3gzX0dAmcMgg7yej4eP4pzrOuczc50Z3lznzBnDNE1TAAAA8IitoAsAAAAojAhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUT5o5cqVioqK0k8//ZTt%2BqeeekotW7Z0W9ayZUsNHz7co/1s27ZN06ZNU3JysuVai5q1a9eqdevWql27tqKiorRz586CLumKoqKiNG3atCu2OXTokKKiorRy5cprVNWVHTt2TNOmTcv2uR0%2BfLhiYmIKoKqs0tLS9Morr6hx48aqXr262rVrJ0maNWuWNmzYcE1rsfL694bExERNmzZNhw4duub7tuLrr7/WQw89pLp16yoqKuqaj5M35HR8bd26VVFRUdq6dWsBVFV0%2BRV0AfCO6dOnKzg42KM%2B27dv1/Tp09WhQweFhITkU2XXj5MnT%2Br5559X48aN9eqrryogIEA333xzQZd13fnrr780ffp0hYeHq3r16gVdTo6WLFmiZcuW6eWXX1bNmjVVvHhxSdLs2bN13333qVWrVgVcYf5LTEzU9OnT1aBBA1WsWLGgy7ki0zQ1ePBg3XzzzZo5c6aCgoJ0yy23FHRZHsvp%2BKpZs6aWLVumatWqFVBlRRMh6jpRo0aNgi7BY%2Bnp6TIMQ35%2BheMw3Ldvn9LT09W2bVs1aNDA4/7nz59XsWLFZBhGPlSHa2337t0KDAxUt27d8n1fDodDDodDAQEB%2Bb6v/HTu3DkFBQUVyL7/%2BusvJSUlqVWrVmrUqJFXtulLr%2Bng4GDVrVu3oMsocjidd524fDrf6XQqPj5e9913n2rXrq369eurTZs2mj9/viRp2rRp%2Bte//iVJuvvuuxUVFeU2Fex0OpWQkKD7779ftWrVUqNGjfT888/r6NGjbvs1TVOzZs1SixYtFB0drYceekj//e9/1b17d3Xv3t3VLnOqefXq1Ro3bpyaNGmi6Oho7d%2B/XydPntSoUaP04IMPKiYmRo0aNVKPHj303Xffue0r87TT3LlzNWfOHLVs2VK1a9dW9%2B7dXQFn4sSJaty4sW6//XYNGDBAf//9d66ev08//VSdO3dWnTp1FBMTo8cff1zbt293rR8%2BfLi6du0qSRoyZIiioqLcHt/lMk/Jbt68WS%2B%2B%2BKIaNmyoOnXqKC0tTZL0xx9/aOjQoWrUqJFq1aqlBx54QO%2B9957bNi5cuKBx48apXbt2uv3229WgQQN17tw526n8lJQUjRw5UrGxsYqJiVHv3r21b9%2B%2BXD32nOSmxsxxXbNmjd566y01btxY9erV02OPPaa9e/e6tc3NsbJ161Y9/PDDkqQXX3zRdVxefkpy//796tOnj2JiYtSsWTONGzfO9dxmWrx4sdq2bauYmBjFxMTo/vvv16RJk676uKdPn65OnTqpQYMGqlevnjp06KDly5fr0u9qj4qK0vLly3X%2B/HlXjZljnpqaqlWrVrmWX3qcHD9%2BXK%2B88oqaNm2qWrVqqWXLlpo%2BfboyMjJcbTKP84SEBMXHx6tly5aKjo7Wli1brlr7pY4cOaJhw4a5jd8777wjp9Pp1u7o0aN65plnFBMTo/r162vo0KHasWPHVU/xrly5UoMGDZIk9ejRw%2B15kKTu3bsrLi5O3377rbp06aI6depoxIgRki6eFu/Vq5caN26s2rVr64EHHtDEiROVmprqto/M07d5He9p06apadOmkqSJEycqKirK7ZKI7777Tj179lRMTIzq1KmjLl26aOPGjVkeb06v6WnTpikqKkq7du3SM88843q9jh07VhkZGdq7d6969%2B6tmJgYtWzZUgkJCW7bzu1r/UrHV06n86723pb5/ERFRWn37t169tlndfvtt%2BvOO%2B/Uiy%2B%2BqDNnzuR4DICZKJ/mdDrd3lwzXfpmnpO5c%2Bdq%2BvTp6tevn%2BrXr%2B96IWe%2BIDp16qTTp09r4cKFmj59usqUKSNJrqngUaNGadmyZerWrZuaN2%2Buw4cPa8qUKfrmm2%2B0cuVKlS5dWpL01ltvafbs2ercubPuueceHT16VCNHjlR6enq2U%2BWTJk1S3bp19dprr8lms%2BmGG27QyZMnJUkDBw7UjTfeqNTUVH3yySfq3r273n33XcXGxrptY/HixYqMjNQrr7yi5ORkjR8/Xn379lWdOnXk5%2BenMWPG6MiRIxo/frxeeuklzZo164rP1UcffaRhw4apcePGevPNN5WWlqa5c%2Be69l%2B/fn31799f0dHRev311/Xss88qNjY2V6dPR4wYoebNm%2Btf//qXzp07Jz8/PyUmJqpLly666aab9MILL6hMmTLavHmzRo8erVOnTmngwIGSLl5zc/r0afXq1UvlypVTenq6vvrqKz399NMaO3as2rdvL%2Bni8dC/f39t375dAwYMUHR0tLZt26Y%2Bffpctb6c5LbGTJMmTVK9evX0xhtvKCUlRRMnTlS/fv20du1a2e12Sbk7VmrWrKmxY8fqxRdfVL9%2B/dS8eXNJUvny5V37Sk9PV79%2B/fTwww%2BrV69e%2BvbbbxUfH6/g4GBXXf/%2B97/12muvqXv37nrhhRdks9m0f/9%2BJSYmXvWxHz58WJ07d1aFChUkST/88INGjx6tY8eOuba/bNkyxcfHa%2BvWra4/TCIiIrRs2TL17NlTsbGx6t%2B/vyS5jpPjx4%2BrU6dOstlsGjBggCIiIrR9%2B3bNnDlThw8f1tixY93qWLhwoW6%2B%2BWa98MILCg4OVuXKlXM9fidPnlSXLl2Unp6uQYMGKTw8XBs3btT48eN14MABjRo1SpKUmpqqHj166PTp0xo2bJgqV66sL7/8UkOGDLnqPpo3b65nn31WkyZN0iuvvKKaNWu6nodMx48f13PPPacnnnhCQ4YMkc128e/2P/74Q02bNlXPnj0VFBSkvXv3KiEhQTt27NCCBQvc9uON8e7UqZNuu%2B02DRw40BXuMmf1vvnmG/Xq1UuRkZF64403FBAQoCVLlqhv376aNGmSHnzwQbd6sntNZxo8eLDatm2rLl266L///a/mzp2rjIwMffXVV%2Bratat69%2B6tjz76SBMnTlTlypV17733Ssr9a/1Kx1d2cvPedqmnn35aDz74oB5%2B%2BGH9/vvvevPNNyUpy7GJS5jwOR988IEZGRl5xX8tWrRw69OiRQvzhRdecP381FNPme3atbvifubOnWtGRkaaBw8edFuemJhoRkZGmqNGjXJb/uOPP5qRkZHmpEmTTNM0zaSkJLNWrVrm4MGD3dpt377djIyMNLt16%2BZatmXLFjMyMtL8xz/%2BcdXHn5GRYaanp5s9e/Y0BwwY4Fp%2B8OBBMzIy0mzbtq3pcDhcy999910zMjLS7Nu3r9t23njjDTMyMtI8c%2BZMjvtyOBxm48aNzbi4OLdtpqSkmI0aNTI7d%2B6c5TGsW7fuqo8hcwyff/75LOt69eplNm3aNEtdr7/%2BuhkdHW0mJSVlu83M52XEiBFm%2B/btXcs3bdpkRkZGmvPnz3drP3PmTDMyMtKcOnXqFWvNfF4/%2BOADj2vMfE769Onj1m7t2rVmZGSkuX37dtM0PTtWduzYkaWeTC%2B88IIZGRlprl271m15nz59zPvuu8%2Btzvr161/xceeGw%2BEw09PTzenTp5sNGjQwnU6nWy1169bN0qdu3bpur8VML7/8slm3bl3z8OHDbsvffvttMzIy0ty9e7dpmv83Hq1atTLT0tJyVeflr/%2BJEyeakZGR5o8//ujW7tVXXzWjoqLMvXv3mqZpmosWLTIjIyPNTZs2Zak1pzG41Lp168zIyEhzy5YtWdZ169bNjIyMNL/66qsrbsPpdJrp6enmN998Y0ZGRpo7d%2B50rfPmeGc%2Br3PnznVb/sgjj5iNGjUyU1JSXMsyMjLMuLg4s2nTpq4xv9JreurUqWZkZKT5zjvvuC1v166dGRkZaa5fv961LD093WzYsKE5cODAHGvN6bVumjkfX5mvxcyx8OS9LbP%2BhIQEt22OGjXKjI6Odjvu4Y7TeT5s/PjxWrFiRZZ/t99%2B%2B1X7RkdHa9euXRo1apS%2B/PJLpaSk5Hq/mdPBHTp0cFteu3ZtVa1aVV9//bWki3%2Bhp6Wl6YEHHnBrV7duXYWHh2e77cy/vC63ZMkSdejQQdHR0apRo4Zq1qypr7/%2BWnv27MnStlmzZq6/aCWpatWqkuSatbh8%2BZEjR3J6qNq3b5/%2B%2BusvtWvXzm2bJUqU0L333qsff/xR586dy7H/1Vz%2BeC9cuKAtW7bonnvuUWBgoDIyMlz/mjZtqgsXLuiHH35wtV%2B3bp26dOmimJgY1/OyYsUKt%2Bclc7zatGnjtq%2B4uDhLNXtao6QsnxaNioqS9H/PvZVjJSeGYWS7v0vHOTo6WsnJyXr22We1YcMG12xnbnz99dd67LHHdPvtt6t69eqqWbOmpk6dqqSkpFyfHs7Oxo0bFRsbq7Jly2Z5TqWLMyKXatmypfz9/S3ta8uWLapWrZpq167ttvyhhx6SaZquU4PffvutSpQo4aohk9Vj53KhoaHZXn908OBBDR06VHfddZfrOc68tuzy08D5Od6pqan68ccfdd9996lEiRKu5Xa7XW3bttXRo0ez1JPTe5iU/XuQYRhuz6%2Bfn58qV66sw4cPu7XNzWvdE1be27J7ni9cuJCn4/56x%2Bk8H1a1alVFR0dnWV6yZMks1yZd7qmnnlLx4sX14YcfaunSpbLb7apfv76GDRuW7TYvlZSUJEkqW7ZslnVly5Z1vXlltrvhhhuytLvxxhuz3XbmacNLzZs3T%2BPGjVOXLl00aNAglSpVSjabTVOmTMnyBiZdfGO%2BVOYvmpyWX7hwIdtaJOnUqVM51lW2bFk5nU4lJydbvhj28u0mJSUpIyNDCxcu1MKFC69Y0/r16zV48GDdf//9euKJJ3TjjTfKbrdryZIl%2BuCDD9y26efnp1KlSl1x37nlSY2ZwsLC3H7OPFVy/vx51zYlz46VnAQFBalYsWJZ9nfpOLdv314Oh0PLly/XM888I6fTqejoaA0ePFh33XVXjtvesWOHevfurQYNGuif//ynypcvL39/f23YsEGzZs1yPR4r/v77b33%2B%2Beeu016Xu/w5tTp%2B0sXnO7twmvmazhyPpKSkbJ//7MbJiuwew9mzZ9W1a1cVK1bM9Wm5wMBAHT16VAMHDszyHOfneCcnJ8s0zRxf/9L/PVdXekyZsnsPyq5%2Bf39/tz9sc/ta94SV97arvY6RFSHqOuXn56fHH39cjz/%2BuJKTk/XVV1/prbfe0hNPPKGNGzdeMRRkvpD%2B%2Busvt2tRMpdl/rLObJfdXyknTpzI9k08u0%2BxfPjhh2rQoIFee%2B01t%2BVnz569yqPMu8zHcvz48Szr/vrrL9lstjzd/uHyxxsSEiK73a527dq5LlS/XOZHxT/88ENVrFhRkydPdttO5jU4mcLCwpSRkaFTp065BansHlNueFJjblk5VvKqY8eO6tixo1JTU/Xtt99q2rRpeuqpp/Txxx/nuL9///vf8vPz0%2BzZs91%2B8XnjfkKlSpVSVFSUBg8enO36y/9oycsnvsLCwnI8pjNryWy3Y8eOLO1OnDhhed%2BXyu4xbNmyRX/99ZcWLlzo9inXvF7AbGW8Q0JCZLPZcvVcZcqPT%2BLl9rXuifx%2Bb8NFnM4rAkJCQnT//fera9euSkpKck0jZ/6VcflMTcOGDSVdfGFfaseOHdqzZ49rfZ06dRQQEKC1a9e6tfvhhx%2ByTFVfiWEYWT66vWvXriynjPLDLbfconLlymnNmjVuF%2BynpqZq/fr1qlu3rlc/kh0UFKTY2Fj9%2BuuvioqKUnR0dJZ/mW9%2BhmHI39/f7U31%2BPHj%2BvTTT922mXnh/UcffeS2fM2aNfleY255cqx4%2B6/f4sWLq1mzZurbt6/S09OveHG5YRiy2%2B1upz/Onz%2Bf5bVwJQEBAdnW3rx5c/3%2B%2B%2B%2BKiIjI9jktV66cZw/sCho1aqTExET98ssvbstXr14twzBcx8wdd9yhs2fPatOmTW7t/v3vf%2BdqP1bGKvN4vvw1v3Tp0lxv40o8Ge/ixYurTp06%2BuSTT9weg9Pp1Icffqjy5ctfk3tJ5fa1LuV8fF3uWr%2B3FVXMRF2n%2Bvbtq1tvvVW1atVS6dKldfjwYc2fP1/h4eGuT/lERkZKuvjXTocOHeTn56dbbrlFVapUUefOnbVo0SLZbDY1bdrU9em8m266SY899piki3/FPv7445o9e7ZCQkJcn7iaMWOGypQpk%2Bu/2Jo3b674%2BHhNnTpVd9xxh/bt26f4%2BHhVrFhRDocjX56fTDabTc8995yGDRump556Sp07d1ZaWprefvttJScna%2BjQoV7f50svvaSuXbvqH//4hx599FGFh4fr7NmzOnDggD777DPXp5OaN2%2Bu9evXa9SoUbrvvvt09OhRxcfHq2zZsvrjjz9c22vcuLHuuOMOTZgwQefOnVOtWrW0bds2/b//9//yvcbc8uRYiYiIUGBgoD766CNVrVpVxYsXV9myZT0KGSNHjlRgYKDq1aunMmXK6Pjx45ozZ45Klix5xdPZzZo107x58zR06FB17txZSUlJevvttz26P1NkZKS%2B%2BeYbffbZZypTpoxKlCihKlWq6JlnntFXX32lLl26qHv37rrllluUlpamQ4cO6YsvvtBrr72WZebXqscee0yrV6/WU089pWeeeUYVKlTQxo0btXjxYj366KOuYNChQwfNnz9fzz//vAYNGqTKlSvriy%2B%2B0ObNmyXJLUxm59Zbb5Ukvf/%2B%2BypRooSKFSumihUrXjFkx8TEKDQ0VK%2B%2B%2BqoGDhwoPz8/ffTRR/rtt98sP16r4y1Jzz77rHr16qUePXqoV69e8vf31%2BLFi7V7925NmjTpmtwDKrevdSnn4%2BtyBfHeVhQRoq5TsbGx%2Bvjjj7V8%2BXKlpKSoTJkyuvPOO9W/f3/XtUKxsbF66qmntGrVKi1fvlxOp1MLFixQbGysRo0apUqVKmnFihVavHixgoOD1aRJEw0dOtTtDXLIkCEKCgrS0qVLtXLlSlWpUkWjRo3SW2%2B9leup4r59%2B%2BrcuXNasWKF5s6dq2rVqmnUqFHasGFDlott80ObNm0UFBSkOXPmaMiQIbLb7apTp44WLFigevXqeX1/1apV08qVKxUfH6/Jkyfr5MmTKlmypCpXrqxmzZq52nXs2FF///23li5dqg8%2B%2BECVKlXSk08%2BqaNHj2r69OmudjabTTNnztTYsWM1d%2B5cpaenq169epozZ06WC7m9XaMncnusBAUFacyYMZo%2Bfbp69%2B6t9PR0DRw4UE8//XSu91W/fn2tXLlS69at0%2BnTp1WqVCndfvvtGj9%2BvOv2HNlp1KiRxowZo4SEBPXt21flypXTI488otKlS%2Bull17K1b5feuklvfbaa3r22Wd17tw5NWjQQAsXLlTZsmW1YsUKxcfH6%2B2339axY8dUokQJhYeHq0mTJl49tVK6dGktXbpUb775pt58802dPXtWFStW1HPPPafHH3/c1a548eKaP3%2B%2BxowZowkTJsgwDNcd%2BZ988kmVLFnyivupVKmSRowYoQULFqhHjx5yOBwaO3asHnrooRz7lCpVSrNnz9b48eP13HPPKSgoSHfffbfeeuutLB9myS2r4y1JDRo00Lvvvqtp06bpxRdflNPp1G233aaZM2eqRYsWlurxVG5f61LOx1d2rvV7W1FkmGYubjoEeODgwYN64IEHNHDgQPXt27egy4EP41jxTbNmzdLkyZO1ceNGr82OAdcjZqKQJ7t27dKaNWsUExOj4OBg7du3T3PnzlVwcLDrztOAxLHiqxYtWiRJqlKlitLT07VlyxYtXLhQbdu2JUABV0GIQp4EBQXp559/1ooVK3TmzBkFBwcrNjZWgwcP9vij67i%2Bcaz4psDAQM2fP1%2BHDh1Senq6brrpJvXp00f9%2BvUr6NIAn8fpPAAAAAu4xQEAAIAFhCgAAAALCFEAAAAWEKIAAAAsKNKfzjNNU04n19UXFTabwXgXIYx30cJ4Fx02m3FN7iSfG0U6RBmGoeTkVGVkOAu6FOQzPz%2BbSpUqwXgXEYx30cJ4Fy2lS5eQ3e4bIYrTeQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAr%2BCLgAAgJw5ZbMduWILw7BJKi7DSJXN5nTv7awg5guQXwhRAACfZbMdUWhoe5mmf45tDEOSbAoOdso0L12ertOnV8vprJjvdaJoIkQBAHzaxQAVcJVWNknus1CXBiogPzDHCQAAYAEhCgAAwAJCFAAAgAUFfk3Ul19%2BqdmzZysxMVEpKSkqV66cWrVqpYEDB6pkyZKSpOHDh2vVqlVZ%2BiYkJKhp06bXumQAAICCD1GnT59WTEyMevbsqZCQEO3evVvTpk3T7t279c4777jaVapUSRMnTnTrW7Vq1WtdLgAAgCQfCFFxcXGKi4tz/RwbG6uAgAC9/PLLOnbsmMqVKydJCgwMVN26dQuqTAAAADc%2BeU1UWFiYJCkjI6OAKwEAAMhegc9EZXI4HMrIyFBiYqJmzJihFi1aKDw83LX%2BwIEDql%2B/vs6fP6/IyEj1799frVq1yvN%2B7XafzJHwssxxZryLBsb7%2BmEYtv/dTPNKbdz/eym73SabjePgenK14%2BFaMkzTN25H1rRpUx07dkyS1KRJE02dOlXFixeXJM2fP19%2Bfn6qVq2azpw5oyVLlmjz5s2aMmWK7r///oIsGwCQrw5Kaq2r32wzO2mS/i2pklcrAjL5TIjatWuXUlNTlZiYqPj4eEVERGjevHmy2%2B1Z2jqdTnXp0kUpKSlau3ZtnvabnHxODofz6g1RqNntNoWEBDHeRQTjff0wjEMKDu6oK4Uow7g45g6H87K7lKcpJeUDmSZf%2B3I9CQ0N8pnZRZ85nXfbbbdJkurVq6caNWqoY8eO%2BuSTT7KdabLZbLr33ns1YcIEnT9/XoGBgZb363A4lZHBm2xRwXgXLYx34WezXR6McmaaWb/qxeFwyunkGLie%2BMbUz0W%2BEeUuU716ddntdh04cCDHNj4ygQYAAIoonwxR27dvl8PhUMWK2U/BOp1Offzxx7r11lvzNAsFAABgVYGfzhs4cKBq1aqlqKgoBQYGateuXZo7d66ioqLUqlUrHT58WMOHD1dcXJwiIiJ0%2BvRpLVmyRD///LOmTZtW0OUDAIAiqsBDVO3atbV27VrNmTNHpmkqPDxcjzzyiHr37q2AgACVKFFCwcHBmjFjhk6ePCl/f3/VqlVLCQkJatKkSUGXDwAAiiif%2BXReQTl16iwXnhYBfn42lSpVgvEuIhjv64fNdkghIZ10tU/n%2BfnZlJGR9dN5ycnL5XTy6bzrSenSJXzmHnC%2BUQUAAEAhQ4gCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYEGBfwExAAC%2BySmb7Yj13s4KYq7i%2BkaIAgAgGzbbEYWGtpdp%2Bnvc1zDSdfr0ar78%2BDpHiAIAIAcXA1SAhX7erwW%2Bh3lGAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFfgVdAAAA%2BcOUzfan5d4X%2B5reKwfXHUIUAOA6laGSJZ%2BQaRa31NswUiX5yzSLebcsXDcIUQCA65i/pABLPU0zXYbh3WpwfeGaKAAAAAsIUQAAABYQogAAACwo8BD15Zdfqlu3bmrYsKFq1aqlu%2B%2B%2BW2PHjtWZM2fc2m3atEnt27dXdHS07rnnHr333nsFVDEAAIAPXFh%2B%2BvRpxcTEqGfPngoJCdHu3bs1bdo07d69W%2B%2B8844kafv27erfv7/atWun4cOHa9u2bRo9erQCAgLUqVOnAn4EAACgKCrwEBUXF6e4uDjXz7GxsQoICNDLL7%2BsY8eOqVy5cpoxY4Zq1KihMWPGSJIaNmyoP//8U1OmTFHHjh1lsxX4hBoAAChifDJ9hIWFSZIyMjKUlpamLVu2qHXr1m5t2rRpo%2BPHj%2BvXX38tiBIBAEARV%2BAzUZkcDocyMjKUmJioGTNmqEWLFgoPD1diYqLS09NVpUoVt/bVqlWTJO3Zs0e1atWyvF%2B73SdzJLwsc5wZ76KB8b5%2BGIbtqvdqylyfU7u83uvJan%2B73caZknzgS/fu8pkQ1aJFCx07dkyS1KRJE02aNEnSxWumJCkkJMStfebPmeutCgkJylN/FC6Md9HCeF8PiuviSZOrh5GsoTnzt63VIJOX/jaFhRWXVMLivlEY%2BEyImjNnjlJTU5WYmKj4%2BHj17dtX8%2BbNc603coieOS3PreTkc3I4nHnaBnyf3W5TSEgQ411EMN7XD8NIVXCwU1LO42gYF8fc4XDKdPuqu8wfrB4DeenvVEpKqkzzrMV9IyehoUE%2BM8PnMyHqtttukyTVq1dPNWrUUMeOHfXJJ5%2B4TttdPuOUnJwsKesMlaccDqcyMniTLSoY76KF8S78bLbLg1HOTFNZ2hpG1mWeyEt/h8Mpp5Pjz9vyMp7e5htR7jLVq1eX3W7XgQMHFBERIX9/f%2B3du9etTWJioiSpatWqBVEiAAAo4nwyRG3fvl0Oh0MVK1ZUQECAGjZsqHXr1rm1WbNmjcqUKaMaNWoUUJUAAKAoK/DTeQMHDlStWrUUFRWlwMBA7dq1S3PnzlVUVJRatWolSRowYIC6deumkSNHqk2bNtq2bZuWL1%2Bu119/3fL3eYMAACAASURBVGfOiwIAgKKlwENU7dq1tXbtWs2ZM0emaSo8PFyPPPKIevfurYCAAElSTEyM4uPjNWnSJK1evVrly5fXyJEjuVs5AAAoMIZp%2BtIlWtfeqVNnufC0CPDzs6lUqRKMdxHBeF8/bLZDCgnpJCkgxzaGcXHMMzIuvwj97P8uDLd6m4G89E9TcvJyOZ0VLe4bOSlduoTP3APON6oAAAAoZAhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAVeCVF//vmnvvjiC506dcobmwMAAPB5fp52eOutt3Tu3DmNGDFCkvTVV1%2Bpb9%2B%2BSk9PV0hIiBYtWqRbb73V64UCAAD4Eo9notavX69q1aq5fp48ebKioqI0ffp0VahQQTNnzvRqgQAAAL7I45moY8eOKSIiQpJ06tQp/fTTT5ozZ46aNGmiCxcuaPz48R5tb926dfroo4/0yy%2B/6PTp06pUqZIeffRRdenSRTbbxYw3fPhwrVq1KkvfhIQENW3a1NOHAAAAkGcehyjTNGWapiRp27ZtstvtuuOOOyRJZcuW9fi6qHnz5qlChQp6/vnndcMNN2jr1q164403dPDgQb3wwguudpUqVdLEiRPd%2BlatWtXT8gEAALzC4xAVERGhzz//XI0aNdLatWsVHR2twMBASdJff/2lkJAQj7Y3a9YslS5d2vVzw4YNlZqaqvfee09DhgxRQECAJCkwMFB169b1tFwAAIB84fE1UZ07d9aCBQsUGxurtWvX6pFHHnGt27Ztm9v1UrlxaYDKVL16dV24cEFJSUmelgcAAHBNeDwT1bVrV4WGhmr79u2Kjo5Wu3btXOsuXLigDh065Lmo77//XmFhYbrhhhtcyw4cOKD69evr/PnzioyMVP/%2B/dWqVas87wsAAMAKw8y8wMlH/PTTT%2BrSpYsGDBig/v37S5Lmz58vPz8/VatWTWfOnNGSJUu0efNmTZkyRffff3%2Be9pecfE4Oh9MbpcOH2e02hYQEMd5FBON9/TCMQwoO7igp4AptLo65w%2BGU%2B2%2B0s//7bwmLe89L/zSlpHwg06xocd/ISWhokOuDZwXNp0LU8ePH9cgjj6hcuXJauHCh/P39s23ndDrVpUsXpaSkaO3atde4SgDAtXNQUmtdKUTlLOV//w22uO%2B89E%2BT9G9JlSzuG4VBrk7ntWzZUoZh5Hqjn376qceFnDlzRn369FFgYKBmzpyZY4CSJJvNpnvvvVcTJkzQ%2BfPnXRe2W8FfqkUDMxNFC%2BN9/TCMVAUHOyXlPI45z0Rl/mD1GMhLf6dSUlJlmmev3hQe8aWZqFyFqAYNGriFqC1btuj48eOKiYlRmTJldPz4cW3fvl1ly5ZVbGysx0VcuHBB/fr104kTJ7Rs2TKVKlXqqn28NYHmcDiVkcGbbFHBeBctjHfhZ7NdHoxyZprK0tYwsi7zRF76OxxOOZ0cf97mO%2BfPchmixo0b5/r/1atXa9u2bVq/fr0qVKjgWn748GH16tVLDRo08KiAjIwMDRo0SLt27dKiRYsUHh5%2B1T5Op1Mff/yxbr311jzNQgEAAFjl8afzEhIS9PTTT7sFKEkKDw/XgAEDNHPmTI8%2Boff666/r888/13PPPafz58/rhx9%2BcK2rVq2aTp8%2BreHDhysuLk4RERE6ffq0lixZop9//lnTpk3ztHwAAACv8DhEHThwQCVLlsx2XWhoqA4fPuzR9jZv3ixJmjBhQpZ1CxYsUFRUlIKDgzVjxgydPHlS/v7%2BqlWrlhISEtSkSRNPywcAAPAKj0NUeHi4VqxYoWbNmmVZ9/7772eZobqazz777Kpt%2BFJjAADgazwOUU8%2B%2BaRGjBihhx9%2BWHFxcbrxxht14sQJrVmzRr/88otGjx6dH3UCAAD4FI9D1EMPPSRJmjx5stsF52XKlNE///lPdezY0XvVAQAA%2BCiPQ5R0MUh16NBBe/fuVVJSksLCwlSlShWP7iUFAABQmFkKUZJkGIaqVq3qzVoAAAAKDcsh6vfff9eePXt04cKFLOvat2%2Bfp6IAAAB8ncch6ty5c%2BrXr5%2B2bNkiwzBcdw6/9FQeIQoAAFzvPP7ymfj4eB0%2BfFiLFi2SaZqaPn265s2bp3vuuUeVK1fWqlWr8qNOAAAAn%2BJxiPr000/Vp08fxcTESJJuuukmNWrUSFOnTlXNmjW1ePFirxcJAADgazwOUYcPH1aVKlVkt9tlGIbOnTvnWtemTRt9%2BumnXi0QAADAF3kcokqWLKnU1FRJ0g033KD9%2B/e71mVkZLjWAQAAXM88DlFRUVH6448/JEmxsbGaPXu2vvvuO%2B3YsUMzZszQbbfd5u0aAQAAfI7Hn87r2LGja/Zp8ODB6tq1q7p37y5JCgkJ0Zw5c7xbIQAAgA/yOEQ9%2BOCDrv%2BvVKmSPv74Y9ftDmJiYhQWFubVAgEAAHyR5ZttZipevLhatmzpjVoAAAAKDY%2BviZKktLQ0LV26VM8%2B%2B6wef/xx1zVSGzZs0MGDB71ZHwAAgE/yeCbq5MmT6tmzp3bv3q0bb7xRf//9t86ePSvp4j2kNm/erFGjRnm7TgAAAJ/i8UzUhAkTlJycrA8%2B%2BEAbN250fe2LdPHTet9%2B%2B61XCwQAAPBFHoeojRs36plnnlHNmjXdvi9PksqVK6ejR496rTgAAABf5XGISklJUYUKFbJdl5GRIYfDkeeiAAAAfJ3HIapixYr64Ycfsl23Y8cO3XLLLXkuCgAAwNd5HKLatGmjhIQEbdiwwXU9lGEY2rFjhxYsWKB27dp5vUgAAABf4/Gn8/r06aNt27Zp4MCBCg0NlST17t1bSUlJatKkiXr06OH1IgEAAHyNxyHK399fCQkJWrt2rTZu3Ki///5bpUqVUvPmzdW6dWvZbJZuPQUAAFCoeBSiLly4oNWrV6t%2B/fpq3bq1WrdunV91AQAA%2BDSPpo2KFSum0aNH6%2B%2B//86vegAAAAoFj8%2B9VapUSSdOnMiPWgAAAAoNj0NUjx49NGfOHKWkpORHPQAAAIWCxxeWJyYm6tSpU2rZsqUaNmyoMmXKZLlz%2BciRI71WIAAAgC/yOEQtWrTI9f/r16/Pst4wDEIUAAC47nkconbt2pUfdQAAABQq3NQJAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALMhViBo7dqz%2B/PNPSdKRI0eUnp6er0UBAAD4ulyFqPnz5%2Bv48eOSpLvvvls7d%2B70WgHr1q1T//791axZM9WtW1dt2rTR4sWL5XQ63dpt2rRJ7du3V3R0tO655x699957XqsBAADAU7m6T1RoaKjr%2B/JM0/RqAfPmzVOFChX0/PPP64YbbtDWrVv1xhtv6ODBg3rhhRckSdu3b1f//v3Vrl07DR8%2BXNu2bdPo0aMVEBCgTp06ebUeAACA3MhViKpTp45eeukl1a5dW5I0fvx4lSxZMtu2hmFo5syZuS5g1qxZKl26tOvnhg0bKjU1Ve%2B9956GDBmigIAAzZgxQzVq1NCYMWNcbf78809NmTJFHTt2lM3GpV0AAODaylWIevXVVzVmzBglJibKMAzt379fAQEB2ba9/Hv0rubSAJWpevXqunDhgpKSkhQWFqYtW7Zo2LBhbm3atGmj999/X7/%2B%2Bqtq1arl0T4BAADyKlchKjw8XDNmzJAk3XbbbYqPj3fNSuWH77//XmFhYbrhhhu0b98%2Bpaenq0qVKm5tqlWrJknas2cPIQoAAFxzHn933oIFC1S1atX8qEWS9NNPP2nlypUaMGCA7Ha7Tp8%2BLUkKCQlxa5f5c%2BZ6q%2Bx2TgUWBZnjzHgXDYz39cMwbLraCY7M9Tm18/AEidf62%2B02LjfJB3kdT2/yOEQ1aNBAkrR//35t2bJFSUlJKlWqlGJjY1W5cuU8FXP8%2BHE988wzio6OVp8%2BfdzW5XSa0NPTh5cLCQnKU38ULox30cJ4Xw%2BK6%2BIHya8eRrKG5szfD1aDTF762xQWVlxSCYv7RmHgcYgyTVP//Oc/tXTpUrfbENhsNnXt2lUjR460VMiZM2fUp08fBQYGaubMmfL395d08ZOBUtYZp%2BTkZElZZ6g8lZx8Tg6H8%2BoNUajZ7TaFhAQx3kUE4339MIxUBQc7JeU8joZxccwdDqfcP0Ce%2BYPVYyAv/Z1KSUmVaZ61uG/kJDQ0yGdm%2BDwOUe%2B%2B%2B64WL16sRx99VB06dFC5cuV07NgxrV69WosXL1bFihX12GOPebTNCxcuqF%2B/fjpx4oSWLVumUqVKudZFRETI399fe/fuVdOmTV3LExMTJSnPpxYdDqcyMniTLSoY76KF8S78bLbLg1HOTFNZ2hpG1mWeyEt/h8OZ5Z6HyDsv32kpTzwOUcuXL1e3bt3cZpzKlSun2rVry2az6f333/coRGVkZGjQoEHatWuXFi1apPDwcLf1AQEBatiwodatW%2Be23TVr1qhMmTKqUaOGpw8BAAAgzzyeDzt48KBatGiR7boWLVro4MGDHm3v9ddf1%2Beff66%2Bffvq/Pnz%2BuGHH1z/UlJSJEkDBgzQzz//rJEjR2rr1q2aOXOmli9frkGDBvnMlB4AAChaPJ6JKlmypI4cOZLtuiNHjig4ONij7W3evFmSNGHChCzrFixYoNjYWMXExCg%2BPl6TJk3S6tWrVb58eY0cOZK7lQMAgALjcYi68847NXnyZFWvXt3t/kw7d%2B7U1KlT1bhxY4%2B299lnn%2BWqXbNmzdSsWTOPtg0AAJBfPA5RQ4cOVefOndWpUydVq1ZNZcqU0fHjx5WYmKiyZctq6NCh%2BVEnAACAT/H4gqKbbrpJq1ev1hNPPKGgoCAdOnRIQUFBevLJJ7Vq1SqVL18%2BP%2BoEAADwKR7PREkXv%2B%2BOGScAAFCU8dE2AAAACwhRAAAAFhCiAAAALCBEAQAAWOBxiEpLS5PpS19cAwAAUAA8ClEXLlxQnTp1tGHDhvyqBwAAoFDwKEQVK1ZMYWFhCgoKyq96AAAACgWPT%2Be1aNFCn3zySX7UAgAAUGh4fLPN1q1b66WXXtKLL76oe%2B%2B9V2XKlJFhGG5tatas6bUCAQAAfJHHIap3796SpFWrVmn16tVu60zTlGEY2rlzp3eqAwAA8FEeh6ixY8fmRx0AAACFischqkOHDvlRBwAAQKGSp5tt7t27V99//71SU1O9VQ8AAEChYClErV69Wk2bNlXr1q3VrVs37du3T5I0aNAgvf/%2B%2B14tEAAAwBd5HKLWrVun4cOHq0aNGnr55Zfd7l5es2ZNrVu3zqsFAgAA%2BCKPQ9ScOXP00EMPadasWercubPbuipVqigxMdFrxQEAAPgqj0PUnj171Lp162zXhYWFKSkpKc9FAQAA%2BDqPQ1RQUJDOnDmT7bpjx44pNDQ0z0UBAAD4Oo9DVExMjN577z23a6EyrVy5Ug0aNPBKYQAAAL7M4xA1YMAA/fDDD3r44Ye1cOFCGYah9evXq2/fvvruu%2B/Ut2/f/KgTAADAp3gcoqKjo5WQkKDU1FSNGzdOpmlq9uzZ2rdvn%2BbMmaPIyMj8qBMAAMCneHzHcklq2LCh1q1bpwMHDujEiRMqVaqUbrnlFm/XBgAA4LMshahMERERioiI8FYtAAAAhYalEHXo0CHNmTNHW7duVVJSksLCwhQbG6s%2BffqoUqVK3q4RAADA53h8TdTOnTvVoUMHrVy5UmXLltVdd92lsmXLauXKlerQoYN27tyZH3UCAAD4FI9nosaMGaPSpUtr3rx5qlChgmv54cOH1atXL40ZM0YLFy70apEAAAC%2BxuOZqB07dujpp592C1CSFB4eroEDB2rHjh1eKw4AAMBXeRyiSpYsqZIlS2a7LiQkRMHBwXkuCgAAwNd5fDovLi5Oy5cvV7NmzbKse//993P8Xj0AQFHklM12xHJvm%2B1PSVm/IQPwBbkKUevXr3f9f82aNfXxxx/r4YcfVlxcnG688UadOHFCa9as0cmTJ3X//ffnW7EAgMLFZjui0ND2Mk1/S/0NI1WSv0yzmHcLA7zAMLP7ErzL3HbbbTIMQ6Zpuv6b4wYNo1B9Qu/UqbPKyHAWdBnIZ35%2BNpUqVYLxLiIYb99hsx1SSEgnSQEWt3BWhiGZZokcWxjGxTHPyHDK/dfT1fvmdd85S1Ny8nI5nRUt7hs5KV26hOx2j69Gyhe5molasGBBftcBAABQqOQqRDVo0CC/6wAAAChU8vS1L96wf/9%2Bvf322/rxxx%2B1e/duValSRWvWrHFrM3z4cK1atSpL34SEBDVt2vRalQoAAOBiKURt2LBBH374oY4cOaILFy64rTMMQx9%2B%2BGGut7V7925t2rRJderUkdPpzPF6q0qVKmnixIluy6pWrep58QAAAF7gcYiaO3euJk6cqNKlSysiIkJBQUF5KqBly5Zq1aqVpIszTj///HO27QIDA1W3bt087QsAAMBbPA5RixcvVseOHfX666/LbrfnuQCbzTeusAcAAPCExwkmKSlJcXFxXglQnjhw4IDq16%2BvWrVq6aGHHtKGDRuu6f4BAAAu5fFMVL169bR37141atQoP%2BrJVvXq1RUdHa1q1arpzJkzWrJkiQYMGKApU6bk%2BeaevnKvCeSvzHFmvIsGxvtyThmG9buGm2YFWfibW5JkGDYZhuVdX7Kdq6/LqU1e92%2B1v91u42xLPvDG8eQtHoeoESNGaODAgSpfvryaNGmigACrN1DLvZ49e7r93LJlS3Xp0kVTp07Nc4gKCcnbNV0oXBjvooXxznRQUntJVu4ani5pvaRKFvddXBcDmNUwkfkb8%2Br9s4bm3PfN676zsiksrLgkqzf6RGHgcYiqXLmy7rzzTg0cOFCGYSgwMNBtvWEY%2Bv77771WYHZsNpvuvfdeTZgwQefPn89SgyeSk8/J4eCOxtc7u92mkJAgxruIYLzdGUaqgoPtsvaBbKdSUlJlmmfzsG%2BnJKvjkPmJ7Zz7G8bFMXc4Lr9j%2BdX75nXfOcvb84achYYG%2BcwMn8evqAkTJmjRokWqXr26qlSpck1morKTi2%2BryRWHw8nXQhQhjHfRwnhfZLNdHi4843A45XRaex7zum9J//vqlau3M82s7XLbN6/7zk5enjfkzEu//r3C4xC1atUq9enTR0OHDs2PenLF6XTq448/1q233pqnWSgAAACrPA5RDodDd955p9cKOHfunDZt2iRJOnz4sFJSUvSf//xH0sWvmzl37pyGDx%2BuuLg4RURE6PTp01qyZIl%2B/vlnTZs2zWt1AAAAeMLjEHXXXXfpxx9/9Nqn8/7%2B%2B28NGjTIbVnmzwsWLFBUVJSCg4M1Y8YMnTx5Uv7%2B/qpVq5YSEhLUpEkTr9QAAADgKY9DVP/%2B/TVkyBAFBQWpefPmCg0NzdImLCws19urWLGifvvttyu2mTlzpqdlAgAA5CuPQ1S7du0kSePGjdO4ceOybbNz5868VQUAAODjPA5RAwYMkOFLd7oCAAAoAB6HqKeffjo/6gAAAChUfONuVQAAAIWMxzNR06dPv%2BJ6wzA0YMAAywUBAAAUBoQoAAAACzwOUbt27cqyLCkpSRs2bND8%2BfM1Z84crxQGAADgy7xyTVRYWJgefvhhtWnTRqNHj/bGJgEAAHyaVy8sj46O1tdff%2B3NTQIAAPgkr4ao3377TcWLF/fmJgEAAHySx9dErV69OsuytLQ0/fbbb/rggw/Utm1brxQGAADgyzwOUcOHD892ebFixdS2bVs9//zzeS4KAADA13kcoj799NMsy4oVK6Ybb7zRKwUBAAAUBh6HqPDw8PyoAwAAoFDha18AAAAsyNVMVJs2bXK9QcMw9OGHH1ouCAAAoDDIVYgKCwu7apvU1FT98ssvMgwjz0UBAAD4ulyFqIULF%2Ba4LiMjQ8uWLVN8fLwMw1BcXJzXigMAAPBVHl9Yfql169Zp8uTJOnDggO68804NGzZM1atX91ZtAAAAPstSiNq6dasmTpyon376STVq1NA777yjRo0aebs2AAAAn%2BVRiPrtt980ceJEbd68WRUrVtSbb76p1q1b51dtAAAAPitXIerPP//U5MmTtWbNGoWGhmrEiBHq0qWL/P3987s%2BAECBMmWz/Wm598W%2BpvfKAXxIrkLUfffdp/T0dDVp0kRPPPGESpQood9//z3H9jVr1vRagQCAgpShkiWfkGla%2B3J5w0iV5C/TLObdsgAfkKsQlZaWJkn64osv9OWXX%2BbYzjRNGYahnTt3eqc6AIAP8JcUYKmnaaaLO9/gepWrEDV27Nj8rgMAAKBQyVWI6tChQ37XAQAAUKjw3XkAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCjwELV//3698sorateunWrUqKG4uLhs223atEnt27dXdHS07rnnHr333nvXuFIAAID/U%2BAhavfu3dq0aZMqV66sqlWrZttm%2B/bt6t%2B/v2rUqKGEhAR16NBBo0eP1vLly69xtQAAABfl6guI81PLli3VqlUrSdLw4cP1888/Z2kzY8YM1ahRQ2PGjJEkNWzYUH/%2B%2BaemTJmijh07ymYr8CwIAACKmAJPH1cLQGlpadqyZYtat27ttrxNmzY6fvy4fv311/wsDwAAIFsFPhN1NQcOHFB6erqqVKnitrxatWqSpD179qhWrVqWt2%2B3F3iOxDWQOc6Md9HAeLszDJsMI6/b8N3%2BmetyalNQtdvtNs6U5IO8jqc3%2BXyIOn36tCQpJCTEbXnmz5nrrQoJCcpTfxQujHfRwnhnKq6LJx6s/ELP/I1lNQxcu/5ZQ3NB1m5TWFhxSSUs7huFgc%2BHqExGDtEzp%2BW5lZx8Tg6HM0/bgO%2Bz220KCQlivIsIxtudYaQqONgpycpzYf7vv1afx/zvbxgXx9zhcMo0L11TkLU7lZKSKtM8a3HfyEloaJDPzPD5fIgKDQ2VlHXGKTk5WVLWGSpPORxOZWTwJltUMN5FC%2BN9kc12ebjwjGGoUPQ3zaztCrJ2h8Mpp5Pjz9vyMp7e5htR7goiIiLk7%2B%2BvvXv3ui1PTEyUpBxviwAAAJCffD5EBQQEqGHDhlq3bp3b8jVr1qhMmTKqUaNGAVUGAACKsgI/nXfu3Dlt2rRJknT48GGlpKToP//5jySpQYMGKl26tAYMGKBu3bpp5MiRatOmjbZt26bly5fr9ddf95nzogAAoGgxTLNgzy4eOnRId999d7brFixYoNjYWEkXv/Zl0qRJ2rNnj8qXL6/HH39c//jHP/K8/1OnznLNRBHg52dTqVIlGO8igvF2Z7MdUkhIJ0kBFnqf/d91QVY/ZZb//Q3j4phnZFx%2B7VdB1p6m5OTlcjorWtw3clK6dAmfuX1Jgc9EVaxYUb/99ttV2zVr1kzNmjW7BhUBAABcnW9EOQAAgEKGEAUAAGABIQoAAMACQhQAAIAFhCgAAAALCFEAAAAWEKIAAAAsIEQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAv8CroAAMDVOGWzHbHc22b7U5LpvXIASCJEAYDPs9mOKDS0vUzT31J/w0iV5C/TLObdwoAijhAFAIXAxQAVYLFvugzDu/UA4JooAAAASwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsIAQBQAAYAEhCgAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFhQKELUypUrFRUVleXfxIkTC7o0AABQRPkVdAGemDt3rkqWLOn6uVy5cgVYDQAAKMoKVYiqWbOmSpcuXdBlAAAAFI7TeQAAAL6mUM1ExcXF6dSpU6pQoYIeeeQRPfHEE7Lb7Xnapt1OjiwKMseZ8S4arrfxNgybDMMb2ymYvvndP3NdTm0Kqna73Sab7fo4Bn2JN14L3lIoQlSZMmX09NNPq06dOjIMQ5999pkmT56sY8eO6ZVXXsnTtkNCgrxUJQoDxrtouX7Gu7gunjiw%2Bgs587eOlf556Xtt%2B2cNzQVZu01hYcUllbC4bxQGhmmaZkEXYcX48eM1f/58bdy4UWXLlrW8neTkc3I4nF6sDL7IbrcpJCSI8S4irrfxNoxDCg7uKCnA4hbO/u%2B/Vn6h56XvtelvGBfH3OFwyv03WkHWnqaUlA9kmhUt7hs5CQ0N8pkZvkIxE5WdBx54QO%2B884527tyZpxDlcDiVkVH432SRO4x30XK9jLfNdnk48JxhyPI28tL3WvY3zaztCrJ2h8Mpp7PwH3%2B%2BxpemfnwjygEAABQyhTZErV27Vna7XTVq1CjoUgAAQBFUKE7n9e7dWw0bNlRkZKQk6dNPP9X777%2BvHj16qEyZMgVcHQAAKIoKRYi65ZZbtGLFCh09elROp1M333yzRowYoe7duxd0aQAAoIgqFCFq5MiRBV0CAACAm0J7TRQAAEBBIkQBAABYQIgCAACwgBAFAABgASEKAADAAkIUAACABYQoAAAACwhRAAAAFhCiAAAALCBEAQAAWECIAgAAsKBQfHceABQ8p2y2I3nbgrOC%2BNsVuH4QogAgF2y2IwoNbS/T9LfU3zDSdfr0ajmdFb1cGYCCQogCgFy6GKACLPb1bi0ACh7zygAAABYQogAAACwgRAEAAFhAiAIAALCAEAUAAGABIQoAAMACQhQAAIAF3CcKQCGSu7uGG4ZNUnEZRqpsNqf7FrhrOAAvIUQBKDRye9dww5Akm4KDnW43ueSuyohR5QAAD2FJREFU4QC8iRAFoFDJ/V3DbZLcZ6G4azgAb2JOGwAAwAJCFAAAgAWEKAAAAAsIUQAAABYQogAAACwgRAEAAFjALQ4A4JowZbP9aannxX7cnwHwNYQoALgmMlSy5BMyzeIe9zSMVEn%2BMs1i3i8LgGWEKAC4ZnJ7o1B3ppn%2Bv7uwA/AlXBMFAABgASEKAADAAkIUAACABYUmRO3bt0%2B9e/dW3bp11ahRI40ePVrnz58v6LIAAEARVSguLE9OTlbPnj1VoUIFTZ06VSdPntTYsWOVlJSkiRMnFnR5AACgCCoUIWrp0qVKTk7W6tWrVbp0aUmS3W7XsGHD1K9fP1WtWrWAKwQAAEVNoTid98UXX6hRo0auACVJ9913nwICArRp06YCrAwAABRVhWImas%2BePerYsaPbsoCAAEVERGjPnj152nZoaJBMbgR83cu8xw7jXdhVlc22LpdtDdntWQe7VKkbZZp2j/dsGDfLMHK77%2Bxk1mLlhk956VuY9%2B1J/%2BzGu2BrDwsrp0Lya7ZQsdl856ZphWJ0k5OTFRISkmV5SEiITp8%2Bnadt22yFYjIOXsJ4F3YBkirlunV2N6jM200rc79vXHu%2BdkNSu%2BdZHYVMof6NYpqmDF971QAAgCKhUISokJAQJScnZ1l%2B5syZbGeoAAAA8luhCFFVq1bNcu1TWlqaDhw4wCfzAABAgSgUIapp06basmWLTp065Vr2ySefKC0tTc2aNSvAygAAQFFlmKbvf1Yp%2Bf%2B3d/8xUdd/HMCfgJ2HwIFIQZCSnN61WyhYBASDjWaoXJJJ6cbKjEFBiCIYtQmVsYLIVGgMU8YooTHCtVBQK%2BLANsgJTJxbiwtFiBJYcoAKB32%2Bf/Tl6vihd9fBQTwfm%2BPude/7fF5vX599eN3nfdxpNFAqlfDw8EBCQgL6%2BvqQlZWF4OBgftgmERERWcS8aKKAv772JTMzExcvXoRYLIZSqURqairEYrGlUyMiIqIFaN40UURERERzybx4TxQRERHRXMMmioiIiMgEbKKIiIiITMAmioiIiMgEbKKIiIiITMAmioiIiMgEC66JunbtGjIyMhAZGQmFQgGlUmnplMhMDK2tSqXCs88%2BC29vb6xfvx4lJSWznCkZy9y1LSwsRFhYGLy9vbF161Y0NjbOZPp0F5ao7eDgIDIyMuDv7w9fX1%2B89tpr6OrqMuu86C9zub7t7e2IiYmBj48PAgMDkZmZiTt37hg1vwXXRP38889QqVTw9PTk9%2B79xxhS2%2BbmZiQkJEChUODYsWPYsmULMjMzUV5ePsvZkjHMWdvCwkIcOnQI0dHR%2BPTTT%2BHp6YnY2Fj89NNPszEVmsAStU1JSUFNTQ3S09Nx6NAh3LhxAzt37jT6Fyjd21ytr0ajwY4dOzA0NITc3FykpaWhsrIS%2B/fvN26CwgIzNjamu52WliZERERYMBsyJ0NqGxMTI0RFRenF9u/fLwQFBek9n%2BYWc9V2eHhYeOyxx4Ts7GzdmNHRUWHjxo3Cnj17Zih7upvZrm1LS4sgk8mE2tpaXayrq0tQKBRCaWmp2eZFf5mr9T169Kiwdu1aoa%2BvTxf7%2BuuvBZlMJrS1tRk8vwV3JcraesFNecG4V21HRkbQ0NCAiIgIvfgzzzyDnp4eXLlyZSbTo3/BXLVtamrCwMCA3pKCjY0NNm3aBJVKBYFf4DDrZru2KpUKEokEISEhunHu7u5Yt24dVCqVuaZF/zdX61tXV4fAwEA4OzvrYuHh4RCJREYdB%2BwoaMHo6OiAVquFl5eXXnzVqlUAALVabYm0yAwMre34z4njpFIphoaG8Pvvv89CtmQMc9dWrVZj5cqVsLKymrQ9ngNmn6Xqq1arJy0vikQirFixwqjjgE0ULRj9/f0AAIlEohcfvz/%2BOM0/htZWo9FAJBJN%2BuJyR0dHAMDNmzdnOlUykrlrq9Fo4ODgMGk/EomE5wALsFR9NRrNpH1ONe5e2ETRgjPxFcq94jR/GFLbqcaMLwXwGJi7zFlbngPmnrlSX0EQjDoO2ETRgjH%2BimXiqwyNRgNg8ishmj8Mra1EIsHw8DCGh4enHDe%2BHZo7zF1biUSii00cx3PA7LNUfacbNzAwYNRxwCaKFowVK1bgvvvuwy%2B//KIXb2trAwB%2B5MU8Zmhtx39OfM%2BDWq2GnZ0dXF1dZyFbMoa5ayuVStHe3j7pjwja2tp4DrAAS9VXKpVO2tbIyAg6OjqMOg7YRNGCIRKJEBAQgOrqar34qVOncP/990OhUFgoM/q3DK3tunXr4ODggKqqKt2YsbExVFdXIzQ0lMs5c5C5axsaGgqNRoP6%2BnrduO7ubjQ1NSE0NHQWZkT/ZKn6hoSEoKGhAX/88Ycu9s0332BkZMSo48DmnXfeeceoGc9zt2/fxnfffYe2tjb88MMP6O3thZubG9ra2uDs7AxbW1tLp0gmMqS2y5cvR0FBAbq7u2FnZ4fKykoUFRXhrbfewqOPPmrpKdA0zFVbGxsb2NjYoKCgAGKxGMPDwzhy5Aiam5vx4YcfwsXFxcIzXXhmu7Zubm64fPkyysrK4Orqiu7ubmRkZEAsFuPAgQNYtGiRJf87/nPman1Xr16NiooK1NfXw9XVFc3NzXj//fexfv16bN%2B%2B3eD5WQkL7INROjs78dRTT0352GeffQZ/f/9ZzojMxdDaqlQqfPzxx1Cr1XBzc8POnTsRHR09m6mSkcxZW0EQUFhYiJKSEvT29kImk2Hfvn0ICAiY8XnQZJao7eDgILKzs3H27FlotVr4%2B/sjPT0dHh4eMzPJBWwu17e9vR2ZmZm4ePEixGIxlEolUlNTJ/0F4N0suCaKiIiIyBz4nigiIiIiE7CJIiIiIjIBmygiIiIiE7CJIiIiIjIBmygiIiIiE7CJIiIiIjIBmygiIiIiE7CJIiIiIjIBmygimuTkyZOQy%2BW6fwqFAsHBwUhOTsbVq1ctnldnZ%2Bddx%2BXl5UEul89SVvemUqmQl5c35WNyuRwHDhyY5YyIyBz4JUFENK0PPvgAXl5eGB4eRlNTEwoKCtDY2Ijq6mo4OjpaOr15Q6VSoaSkBLt27bJ0KkRkRmyiiGhaq1evhre3NwDA398fY2NjyMvLw7fffoutW7daODsiIsvich4RGWy8oerr65v0WFVVFbZt2wYfHx/4%2BvoiJiYGV65c0RvT2tqK5ORkhIWFYc2aNQgLC8PevXvR1dU1aXstLS3Yvn07vL29ERwcjIMHD2J0dPRf5W9Ijm%2B%2B%2BSZ8fX1x7do1xMbGwtfXF6GhocjKysLIyIje2N9%2B%2Bw1JSUnw9fXF448/jpSUFFy6dAlyuRwnT57Uba%2BkpAQA9JZIJy5JfvXVV9i4cSPWrl2LzZs34/vvv/9XcyWimccrUURksPFf/A8//LBevKCgAIcPH8Zzzz2H%2BPh4aLVaFBYWIjo6GuXl5Vi1ahUAoKurCytXrkRERAQcHR3R09ODL774AlFRUTh9%2BjScnZ0BAG1tbXj55Zfh4eGBrKwsiMVilJaW4tSpUybnbmiOAKDVahEfH4%2BoqCi88soruHDhAvLz82Fvb4/ExEQAwK1bt/DSSy%2Bhv78fqamp8PT0RH19PZKTk/X2m5CQgFu3buHs2bMoKyvTxR944AHd7draWrS2tiIpKQlLlizB8ePHkZiYiDNnzmD58uUmz5mIZphARDRBRUWFIJPJhJaWFkGr1QqDg4NCXV2dEBQUJERHRwtarVY39tdffxUUCoXw3nvv6W1jcHBQCAoKEnbv3j3tfkZHR4WhoSHBx8dHKC4u1sX37NkjrFmzRujp6dEbu2HDBkEmkwnXr1%2B/a/65ubmCTCYzKce0tDRBJpMJVVVVemNjY2OF8PBw3f0TJ04IMplMUKlUeuPS09MFmUwmVFRU6GLvvvuuXj7/JJPJhCeffFIYGBjQxXp6eoRHHnlEOHr06F3nSUSWxStRRDStF154Qe%2B%2BVCpFfn4%2BFi36%2B9Rx/vx5jI6OIjIyUm%2B5bfHixfDz80NjY6MuNjQ0hPz8fJw7dw5dXV0YGxvTPaZWq3W3GxsbERgYCBcXF13MxsYGmzZtwieffGL0PIzJEQCsrKwQFhamF5PL5WhoaNDdv3DhAuzs7BASEqI3TqlU6l1xMoS/vz/s7e11911cXLBs2bIplzmJaO5gE0VE08rOzoZUKsXQ0BCqqqpQVlaGvXv34vjx47oxvb29AICoqKgpt2Ft/fdbL1NSUtDQ0ICEhAR4e3vDzs4OVlZWiIuLw/DwsG7czZs39RqocVPFDGFMjgBga2uLxYsX68VEIpFBOS5btszo/JycnCbFJu6PiOYeNlFENC2pVKp7M3lAQAD%2B/PNPlJeX48yZM9iwYQMAYOnSpQCA3NxcuLu7T7utgYEB1NbWIjExEXFxcbr4yMgI%2Bvv79cY6OTnpGp9/mipmCENzNIaTkxMuXbo0KW5qjkQ0/7CJIiKD7du3D%2BfOnUNubi6efvppWFtbIzg4GIsWLUJHRwfCw8Onfa6VlRUEQYBIJNKLl5eX6y3rAX8tb9XU1KC3t1d3tWdsbAxVVVUm5W1ojsbw8/NDdXU1VCoVQkNDdfHTp09PGjs%2B5zt37kAsFptl/0RkeWyiiMhgjo6OiIuLQ05ODiorKxEZGYmHHnoISUlJOHz4MK5fv46QkBBIJBL09vaitbUVtra2SEpKgr29Pfz8/FBYWIilS5fCw8MDP/74I7788ktIJBK9/cTHx6OmpgY7duzA66%2B/DrFYjJKSEty%2BfdukvA3N0RhbtmxBcXEx3njjDezevRuenp6oq6vD%2BfPnAegvEcpkMgDAsWPHEBISAmtra8jl8kkNJRHNL/ycKCIyyosvvgh3d3fk5%2BfrriC9%2BuqrOHLkCK5evYq0tDTExMTgo48%2BQldXF/z8/HTPPXjwIPz9/ZGTk4PExERcvnwZRUVFcHBw0NuHTCZDUVER7O3tkZaWhoyMDMjlciQkJJict6E5GmrJkiUoLi7GE088gZycHOzatQvd3d14%2B%2B23AUBvTkqlEs8//zxKS0uxbds2REVF4caNGybPhYjmBitBEARLJ0FE9F8x/nlUtbW1cHNzs3Q6RDSDuJxHRGSiEydOAAC8vLyg1WrR0NCAzz//HJs3b2YDRbQAsIkiIjKRWCxGcXExOjs7odVq8eCDDyI2Nhbx8fGWTo2IZgGX84iIiIhMwDeWExEREZmATRQRERGRCdhEEREREZmATRQRERGRCdhEEREREZmATRQRERGRCdhEEREREZmATRQRERGRCf4Hn5ppyKZxYDcAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -199,7 +201,7 @@
 <br>
 
 <h3 id="Weighted_Histogram_of_read_lengths">Weighted Histogram of read lengths</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlcAAAHKCAYAAAAuK26EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzde1wU9f4/8NfuygICC5IKeaEUWxJFgZLLKUFN0xTsKJpo/TRvhZiZaUamnlLykhcSRQw185pJKUc9cPJyFO2UZmGWHjUlv0rKQVRgEYWF3fn9QTvHZRF3YVYWeD0fDx64M5/9zPs9O7O8/cxnZ2WCIAggIiIiIknI6zsAIiIiosaExRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRU1Of/85z/h4%2BOD9PR0k3WDBw%2BGj48Pjh49arKub9%2B%2BGDJkiMXbmzFjBvr161erWBMSEuDj4wONRvPAtqtXr8bBgwdrtZ2aXL58GT4%2BPvj73/9eY7vvvvsOPj4%2BOHDgQLXr586dC19fX6NlI0eOxKuvvmpRPL/99htWrlyJa9euWfS8puzf//43hg4dCn9/f/j4%2BODQoUP1HVKNwsLC8P7779fYpqKiAj4%2BPli9evVDiqpmJSUlWLlyJU6cOGGyzpLzmBoHFlfU5AQFBUEmk%2BHYsWNGywsLC/Hbb7%2BhefPmOH78uNG6//73v8jJyUFwcLDF23vzzTeRmJhYp5jNkZycjH/9619W346U5s%2Bfjzlz5lj0nAsXLmDVqlUsrsyk0%2BkwdepU2NvbIzk5GV9%2B%2BSWeeuqp%2Bg6r0blz5w5WrVpVbXFFTU%2Bz%2Bg6A6GFzd3fHE088gR9%2B%2BMFo%2BYkTJ9CsWTNERUWZFFeGQqw2xZWXl1ftg23kOnXqVN8hWEyn00Gn00GpVNZ3KGb573//i%2BLiYjz//PMIDQ21%2BPlarRZyuRzNmvHPBZG5OHJFTVJwcDAuXbqE69evi8uOHz%2BOrl27Ijw8HGfOnMHt27fFdT/88AMUCgWefvppcZkgCNiyZQsGDx4MPz8/9OjRA2%2B%2B%2BSZycnKMtlXdZcHCwkK899576NGjBwICAhATE4P/%2B7//u%2B9ljvz8fLz11lsIDAzEM888g/fff1%2BMz3B5RKvV4quvvoKPjw98fHyMLrfl5eVh9uzZ6NmzJ7p27Yq%2Bffti9erV0Ol0RtvJy8vDm2%2B%2BiYCAADz99NOYPn06bt68afkONlN1lwW3bt2KyMhIBAQEICAgAAMGDMAnn3wCAEhNTcXbb78NAHj55ZfFXO%2B9ZLljxw5ERkbCz88PQUFBeOONN/D777%2BbbHv79u14/vnn4efnh4iICKSnp5u8VoZLop999hlWrVqFPn36wM/PDz/%2B%2BCNKS0uxcOFCDB48GE899RSCgoIQHR1tMnpoeH0%2B%2BugjpKamon///ujWrRuioqLwyy%2B/QBAEpKSkoE%2BfPggICMCrr75qcgzdz4kTJzB69GgEBASge/fuiI6ORmZmprg%2BISEBffr0AQAsWrQIPj4%2BNV6iNlza3bNnDxYsWIBnn30W3bp1w9WrVwGYfxytWLECw4YNQ1BQEAIDAzF06FDs3LkTgiAYtdNqtVi8eDGeeeYZdO/eHaNGjcKvv/5qVu73Y06Mhtf1888/x7p168R9Hx0djV9%2B%2BcWkzwcdK5cvX8azzz4r5m44Lqte2qzpPDZIT0/HsGHD8NRTT8Hf3x99%2B/bF7Nmz67RP6OHjf0WoSQoJCcHmzZvxww8/ICIiAkBlcdW7d28EBgZCJpPhp59%2BQnh4uLjO19cXLi4uYh%2BzZs3Cnj17MHr0aLzzzjsoLCxEUlISRo4cid27d8Pd3b3abet0Orz%2B%2Bus4d%2B4cpkyZgs6dOyMrKwuvvfbafeN94403MGjQILz00ks4d%2B4cEhISIJfLMX/%2BfDRr1gxffvklXnnlFfTs2ROvv/46AIix5uXlYfjw4bCzs8OUKVPQvn17/PTTT1i9ejWuXbuG%2BPh4AMDdu3cxevRo3Lp1CzNmzICXlxcOHz6M6dOnW7Rv9Xo9KioqLHqOwd///nfMmzcPo0ePRq9evSCTyXD58mVcunQJAPDcc88hPz8fK1aswLx58%2BDj4wPgf6ODSUlJSExMRGRkJGbMmIGCggKsXLkSI0aMwNdffy2227p1K%2BbNm4cBAwbg/fffR1FREVasWAGtVlvtCM3nn3%2BOjh07Ii4uDk5OTnj88cdRWloKjUaDCRMmoHXr1tBqtfjuu%2B8wefJkfPzxx4iMjDTq4%2BDBgzhz5gxmzJgBAFiyZAlee%2B01REZGIjc3F3PnzkVRUREWL16MqVOnYufOnTXuq%2B%2B//x4TJkyAr68vFixYADs7O2zZsgWvv/46PvnkEwwYMAAjR45E586dMXXqVIwZMwYDBw6Evb39A1%2BHJUuWIDAwEPPnzwcAuLm5mX0cAcC1a9cwcuRIPProoxAEAT///DM%2B%2BOADXL9%2BHTExMWK7WbNm4R//%2BAfGjx%2BP0NBQnD9/HpMnTzYpOMxlSYwAsGnTJnTq1AmzZs0CAHzyySeYOHEiDh48CGdnZwDmHSuPPvooUlJS8Nprr2HEiBEYOnQoAOCRRx4x2l5N5zEA/Pjjj3j77bcRERGBKVOmwN7eHlevXuWlxoZIIGqCCgsLhSeffFKYM2eOIAiCcOvWLcHHx0c4cuSIIAiCMGzYMGHRokWCIAjCtWvXBLVaLXz88cfi80%2BcOCGo1Wph48aNRv3%2B8ccfQteuXYXly5eLy6ZPny707dtXfHzgwAFBrVYLO3bsMHpuUlKSoFarhaSkJHHZ8uXLBbVaLWzYsMGo7Zw5cwR/f3%2BjZV27dhVmzZplkuusWbOEwMBAITc312j5p59%2BKvj4%2BAi///67IAiCsHnzZkGtVguHDx82ahcXFyeo1WohLS3NpO97/fvf/xbUanWNP507dzZ6TnR0tDBmzBjx8dy5c4Xg4OAat7N3715BrVYLJ06cMFp%2B69YtoWvXrkJMTIzR8pycHKFLly7CzJkzBUEQhPLyciEkJESIjo42anflyhXB19fX6LX6v//7P0GtVgvPP/%2B8UF5eXmNcFRUVQnl5ufDuu%2B8KUVFR4vLy8nJBrVYLzz77rHDnzh1x%2BT//%2BU9BrVYLQ4YMEfR6vbh8/fr1glqtFi5evFjj9oYOHSo888wzRn1WVFQIL7zwgtC7d2%2BTHKoeQ9UxvIajR482WWfucVSVTqcTysvLhRUrVgihoaHi8vPnzwtqtVpYvHixUftdu3YJarW62mP5Xob9eu/5Ym6Mhn3y4osvCjqdTmyXlZUlqNVqISMjQ9yGucfK9evXTeIxMPc8/vTTTwW1Wi2UlJTUmDvZPl4WpCbJ1dUVTz75pDi36sSJE1AoFAgMDAQA9OjRQ1xn%2BH3vfKvDhw9DLpcjMjISFRUV4o%2BHhwfUarXJnK17Gf4X%2BsILLxgtN4ygVcdwacfAx8cHd%2B7cQUFBwQNzPXz4MEJDQ9GyZUujWMPCwiAIghjP8ePHoVKpxNE6g6ojMA/y7rvv4quvvjL5ef755x/43G7duqGgoADTp0/HwYMHzcrP4OTJk9BqteKogUG7du0QFBSE77//HgCQnZ2NW7dumez/9u3bo3v37tX2/dxzz1U7opWeno7o6Gj4%2B/vD19cXXbp0wa5du5CdnW3SNjQ0FI6OjuJjb29vAEB4eDhkMpnJcsOluOrcvn0bZ86cwYABA4z6VCgUGDx4MK5evYrLly/f9/kPUt1rZe5xBFReXhwzZgyeeuopdO7cGV26dEFSUhJu3rwpvqaGc2Tw4MFG2xk4cCDk8tr9abIkRgDo1auX0bYMI6GGD0vU5lipyYPO427dugGo/BBMeno68vLyLN4G2QZeFqQmKzg4GBs2bEBeXh6OHz%2BOLl26wMnJCUDlJwo3bNiA4uJiHD9%2BHM2aNTP6hNXNmzeh1%2BsREhJSbd%2BPP/74fbdbWFgIe3t78bKDQdVLCPdyc3MzemyYTF1WVlZjjoZY9%2B/fjy5dulS73vDGXlhYiJYtW5qsr25ZTby8vODn52eyvEWLFg987tChQ6HX6/HVV19hypQpEAQBfn5%2BmDZt2gMnYxcWFgIAWrVqZbKudevW%2BPHHH43a3S/X/Pz8ap9fVXp6OqZNm4aBAwdiwoQJaNmyJRQKBbZs2YI9e/aYtHd1dTV6bGdnV%2BNyrVZrmuSfCgsLIQhCtXEZlhUWFuKxxx67bx81qa5fc4%2BjkydPYsKECQgJCUF8fDw8PT3RrFkz7Nu3DykpKeIxe7/XQalUQqVS1Spuc2M0uN95VVpaWmOMhmXVHSs1edB5HBISglWrVmHz5s2YOXMmysvLoVarMWnSJAwcONCibVH9YnFFTZahuPrhhx/www8/ICwsTFxnKKROnDiB48ePw8/PTyy8gMo3Sblcjm3btlU7olHTvBY3NzeUlZWhuLjYaA7XjRs3pEir2u1169YNU6ZMqXa9h4eH2O7cuXMm660VV3VkMhmGDx%2BO4cOHo6SkBCdOnEBiYiJef/117Nu3D56envd9ruEPV3V/8K5fvy4Wd4Z21eVlyR/L3bt34/HHH8fy5cuNRp5qKoqk4ubmBplMZvSBDAPDMnOK2fu5N597t2nOcfSPf/wDSqUSa9asMfpE5TfffGPSH1D5OtxbvGi12lrfD8rcGC3pzxBjVZYWVubq168f%2BvXrB61Wi6ysLKSkpODtt99Gu3btxJEtsn28LEhNVo8ePaBQKPDNN9/gwoULCAoKEte5uLigc%2BfOSEtLw9WrV01uwdC7d2/o9Xrk5%2BfDz8/P5EetVte4XQDIyMgwWv6Pf/yjTvkolUrxf9xVYz1//jwef/zxamM1jFIEBwdDo9EYfdoMQLWjMA%2BDk5MTevXqhddffx1lZWW4ePEigPuP2gUGBkKpVGL37t1Gy69du4YffvhBHPny9vaGu7u7yf7Pycmp9pNi9yOTyWBnZ2dUiOTl5eHw4cNm91Fbzs7O6Nq1K/bt22e0H3Q6Hfbs2YO2bdtKfgsQc48jAGjWrJnR5ba7d%2B%2BavC6Gc6rq8vT0dOj1eqvHaA5LjhVLRpPNoVQqERISgrfffhuCIODs2bOS9EsPB0euqMlydnaGr68vDhw4ALlcbnJjxR49emDjxo0ATO9vFRQUhKioKLz77rs4deoUevToAQcHB%2BTn5%2BPHH3%2BEr68vRowYUe12e/XqBX9/f3z00UfQaDTw9fVFVlaW%2BEemtvNNDHO9Dh06hJYtW8LZ2RkdOnTAW2%2B9he%2B//x7R0dF45ZVX0KFDB5SVleGPP/7A4cOHsWDBArRq1QpDhw7Fpk2b8M4772Dq1Kl47LHHcOjQIZObrVrTe%2B%2B9BycnJwQGBqJVq1bIz8/HmjVr4OrqKl7qeeKJJwAAX375Jezt7WFvb4/27dvDzc0NMTExSExMxHvvvYcXXngBt27dwqpVq%2BDo6IjY2FgAlX/433jjDcybNw9vvfUWhgwZgqKiIiQlJaF169Zm7//evXtjzpw5mD9/Pvr27Yvc3FyxD3NvpVAX06dPx4QJEzBmzBiMHTsWCoUC27ZtQ3Z2NlasWCH59sw9jnr16oXNmzfjnXfewfDhw1FQUIB169YZzQ0DKo/XQYMGYcOGDVAoFAgJCcFvv/2GDRs2GI0SWyNGc1lyrLi6usLDwwP79%2B9HUFAQVCoV3N3d0bZtW7O3t3z5cty4cQOhoaHw8PCARqPBxo0bYWdnZ3QbGLJ9LK6oSQsODsavv/6Kzp07m8yB6tGjBz7//HPY2dkhICDA5LkfffQRAgICsGPHDmzduhWCIMDDwwOBgYHVzjkyUCgU%2BPTTT7Fo0SKsWbMGFRUVeOqpp7B48WJER0cbXSq0xOzZszF//ny89dZbKC0tRWhoKD7//HN4eHjg66%2B/RnJyMtauXYvr16/DyckJ7dq1Q8%2BePcXtNW/eHBs3bsSCBQuwdOlSyOVyPPvss1i6dClGjRpVq5gs9fTTT%2BPvf/87MjIyUFRUhBYtWqBHjx5YtmyZeJnr8ccfR1xcHDZv3ozRo0dDp9Ph448/xosvvojJkyejZcuW4rwnR0dHBAUF4e233zYayXn55Zchl8vx2Wef4cCBA2jXrh0mTZqEjIwMs%2B/rNXz4cNy6dQs7duzAjh074OXlhUmTJiEnJwdr1661yv65V2hoKDZs2IBVq1YhLi4Oer0enTt3xqeffmryoQQpmHscPfvss4iPj8e6devw%2Buuvw8PDAyNGjIBKpcLcuXON%2Bly0aBFatWqFr776Chs3boSvry9WrVqFN954w6oxWsKSY2XhwoX4%2BOOPERMTA61Wi2HDhuGjjz4ye1v%2B/v7Ytm0bPv74YxQUFEClUqFbt27YtGmT%2BEEHahhkglDlrm5EVC/S0tLw7rvvIjU1lXMr6kFRURGef/55vPDCC/jggw/qOxyyYTxW6EE4ckVUD3bv3o0bN27giSeegEwmw88//4z169cjODiYhdVDkJeXh7Vr1yIoKAhubm64evUqNmzYgNLSUvy///f/6js8siE8Vqg2WFwR1YPmzZtj7969uHz5MkpLS9G6dWsMGzYMU6dOre/QmgSlUomcnBykp6ejqKgIjo6O8Pf3R3x8PC%2B/kBEeK1QbvCxIREREJCHeioGIiIhIQiyuiIiIiCTE4oqIiIhIQiyuiIiIiCTETwvWA0EQoNcLkMtl0OubzucJmlK%2BzLVxakq5Ak0rX%2BbaeEmVr1wuq/Z7N6vD4qoe6PUCNJq7aNHCCRrNHVRU1O57tBqSZs3kTSZf5to4NaVcgaaVL3NtvKTM193dCQqFecUVLwsSERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSajei6ujR4/ilVdeQUhICLp27YrnnnsOCxcuRHFxsVG7zMxM/PWvf4Wfnx/69euHrVu3Vtvf%2BvXr0adPH/j5%2BSEqKgrHjx83aXP79m3MnTsXwcHBCAgIQExMDK5evWrS7tKlSxg/fjz8/f0RGhqK%2BPh4lJaWSpM4ERERNUrN6juAoqIiBAQEYMyYMVCpVLhw4QJWrlyJCxcu4LPPPgMAnDx5ErGxsXjxxRcRFxeHrKwsxMfHQ6lUYvjw4WJf69evR0JCAqZNmwZfX1%2BkpqZi4sSJSE1NhY%2BPj9hu%2BvTpOHPmDObMmQNnZ2ckJiZi7Nix2L17NxwcHAAAGo0GY8aMQZs2bZCYmIhbt25h4cKFKCwsxNKlSx/uTiIionvoIZdfk6w3mUwOoDlksjuQy/WS9VuVXt8GNjCmQQ9BvRdXERERiIiIEB8HBwdDqVRizpw5yMvLg4eHB5KSkuDr64sFCxYAAEJCQpCbm4sVK1YgKioKcrkcWq0WycnJGD16NMaPHw8ACAoKQmRkJNasWYOEhAQAwKlTp3D48GGkpKQgPDwcAKBWq9GvXz/s2rULI0eOBABs374dGo0GaWlpcHd3BwAoFArMmDEDkyZNgre390PbR0RE9D9y%2BTW4uv4VgmAnSX8yGQDI4eyshyBI0mU12yhHUVEa9Pp21tkA2RSbLKHd3NwAABUVFdBqtTh27BgGDRpk1CYyMhL5%2Bfn4z3/%2BAwDIyspCcXGxUaGmUCgwcOBAZGZmQvjzjMnMzIRKpUJYWJjYrk2bNggMDERmZqa47MiRIwgNDRULKwDo378/lEqlUTsiInr4KgsrZYP5kaoQpIbBZoornU6HsrIynDlzBklJSejduzfatm2LK1euoLy8HB07djRq36lTJwBAdna20e%2Bq7by9vVFSUoK8vDyxXYcOHSCr/K%2BKUX%2BGPgztqo5OKZVKeHl5GbUjIiIiule9XxY06N27t1gA9ezZE8uXLwdQOScLAFQqlVF7w2PDeo1GA6VSKc6ZMnB1dQUAFBYWwtPTExqNBi4uLibbV6lUYl%2BG/qpus7p2taVQyI1%2BN3ZNKV/m2jg1pVwB285XJpOjyv%2BP69if8W9rUSjkkMvrd3/a8utqDfWVr80UVykpKbhz5w4uXryI1atXIyYmBhs2bBDXVx1pqm55dW0MlwMf1K6m5VX7M6ddTeRyGVQqRwAQfzcVTSlf5to4NaVcAVvNtzkqL7xI%2BwfTun%2BA5XBzaw7AyYrbMJ9tvq7W87DztZni6sknnwQABAYGwtfXF1FRUdi/f794%2Ba/qaJFGowHwvxEslUqFsrIylJWVwd7e3qSdYQRLpVIhNzfXZPtVR6pUKpX43HsVFxfXeTK7Xi%2BgpKQUKpUjNJq70Oms9%2BkUW6FQyJtMvsy1cWpKuQK2na9MdgfOznoA0sQlk1Xmq9NZb0I7oMft23cgCCXW2oBZbPl1tQYp81WpHM0uwG2muLpX586doVAocOXKFfTp0wd2dnb4/fffjSahX7x4EQDEQsfwOzs7G76%2BvmK77OxsODk5wcPDQ2z33XffmYxAXbx40aho8vb2NplbpdVqceXKFURFRdU5R8OLrNPpUVHR%2BA9wg6aUL3NtnJpSroBt5iuXW6cIEgRYsbiq3Jd6vW3sS1t8Xa3pYedrkxddT548CZ1Oh3bt2kGpVCIkJAQZGRlGbfbu3YtWrVqJhVRgYCBcXFyQnp4uttHpdMjIyEB4eLhYSIWHh0Oj0eDo0aNiu9zcXGRlZYm3ZgCAsLAwHDt2DAUFBeKy/fv3Q6vVGrUjIiIiule9j1y98cYb6Nq1K3x8fODg4IBz585h3bp18PHxQd%2B%2BfQEAkydPxiuvvILZs2cjMjISWVlZSE1Nxbx588TJgUqlEpMmTUJCQgLc3d3Fm4jm5OSIk%2BMBoHv37ujVqxfef/99xMXFwdnZGStWrEDbtm0xZMgQsV10dDS2bNmC2NhYxMbG4ubNm1i0aBEiIyN5jysiIiK6r3ovrrp164b09HSkpKRAEAS0bdsWL730EsaPHw%2BlUgkACAgIwOrVq7F8%2BXKkpaXB09MTs2fPNro7OwCMGzcOgiBg8%2BbNuHHjBtRqNVJSUozuzg4Ay5Ytw%2BLFi/Hhhx%2BivLwcwcHBWLlypdEnDVUqFTZu3Ij4%2BHhMmTIFDg4OiIiIwIwZM6y/U4iIiKjBkgmCNa8wU3V0Oj00mrto0cIJBQUlTeK6d7Nm8iaTL3NtnJpSroBt5yuX/wGVajgqb9BZdzJZZb4VFdac0K6FRpNa73dot%2BXX1RqkzNfd3cnsCe02OeeKiIiIqKFicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkoXovrjIyMhAbG4vw8HD4%2B/sjMjIS27Ztg16vF9vExcXBx8fH5OfIkSMm/a1fvx59%2BvSBn58foqKicPz4cZM2t2/fxty5cxEcHIyAgADExMTg6tWrJu0uXbqE8ePHw9/fH6GhoYiPj0dpaam0O4CIiIgalWb1HcCGDRvQpk0bzJw5E4888giOHz%2BOjz76CDk5OXj33XfFdu3bt8fSpUuNnuvt7W30eP369UhISMC0adPg6%2BuL1NRUTJw4EampqfDx8RHbTZ8%2BHWfOnMGcOXPg7OyMxMREjB07Frt374aDgwMAQKPRYMyYMWjTpg0SExNx69YtLFy4EIWFhSZxEBERERnUe3G1Zs0auLu7i49DQkJw584dbN26FdOmTYNSqQQAODg4wN/f/779aLVaJCcnY/To0Rg/fjwAICgoCJGRkVizZg0SEhIAAKdOncLhw4eRkpKC8PBwAIBarUa/fv2wa9cujBw5EgCwfft2aDQapKWlifEpFArMmDEDkyZNMinsiIiIiAAbuCx4b2Fl0LlzZ5SVlaGwsNDsfrKyslBcXIyIiAhxmUKhwMCBA5GZmQlBEAAAmZmZUKlUCAsLE9u1adMGgYGByMzMFJcdOXIEoaGhRvH1798fSqXSqB0RERHRvep95Ko6P/30E9zc3PDII4%2BIy65cuYKnn34apaWlUKvViI2NRd%2B%2BfcX12dnZAICOHTsa9eXt7Y2SkhLk5eXB09MT2dnZ6NChA2QymVG7Tp064dtvvzXqLyoqyqiNUqmEl5eXuK26UCjkRr8bu6aUL3NtnJpSroBt5yuTyVHlLbyO/Rn/thaFQg65vH73p2Wvqx4y2TXrBmQFgtAGhrGj%2BjqOba64%2BvXXX7Fz505MnjwZCoUCQOVIlp%2BfHzp16oTi4mJ88cUXmDx5MlasWIEBAwYAqJwjpVQqxTlTBq6urgCAwsJCeHp6QqPRwMXFxWS7KpUKRUVF4mONRgOVSvXAdrUhl8ugUjn%2B2Z9jnfpqaJpSvsy1cWpKuQK2mm9zVP7xlPYPpnX/AMvh5tYcgJMVt2E%2B817XHAB/BWBn5WikVA5gH4D2Rksf9nFsU8VVfn4%2B3nzzTfj5%2BWHixIni8jFjxhi169OnD6Kjo5GYmCgWVwBMRqMAiJcD711XXbuallftz5x2NdHrBZSUlEKlcoRGcxc6nf7BT2rgFAp5k8mXuTZOTSlXwLbzlcnuwNlZD0CauGSyynx1Oj3%2B/JNhBXrcvn0HglBirQ2YxZLXtXI/K2BjpcIDGO9nKY9jlcrR7ALcZvZYcXExJk6cCAcHByQnJ8PO7v6Vslwux/PPP48lS5agtLQUDg4OUKlUKCsrQ1lZGezt7cW2Go0GwP9GsFQqFXJzc036rDpSpVKpxOdWjVOKyeyGF1mn06OiwrbeuKypKeXLXE8wUtIAACAASURBVBunppQrYJv5yuXWKYIEAVYsrir35b23GapP5ryu1trP1lbdfn7Yx7FNXEwvKyvDpEmTcOPGDaxbtw4tWrR44HOEKq%2B4oeCpOh8qOzsbTk5O8PDwENtdunTJ5PkXL140Kpq8vb1N%2BtJqtbhy5Qo/KUhERET3Ve/FVUVFBaZOnYpz585h3bp1aNu27QOfo9fr8c033%2BCJJ54Q51gFBgbCxcUF6enpYjudToeMjAyEh4eLl/LCw8Oh0Whw9OhRsV1ubi6ysrLEWzMAQFhYGI4dO4aCggJx2f79%2B6HVao3aEREREd2r3i8Lzps3D4cOHcI777yD0tJS/Pzzz%2BK6Tp06oaioCHFxcYiIiICXlxeKiorwxRdf4PTp01i5cqXYVqlUYtKkSUhISIC7u7t4E9GcnBwsX75cbNe9e3f06tUL77//PuLi4uDs7IwVK1agbdu2GDJkiNguOjoaW7ZsQWxsLGJjY3Hz5k0sWrQIkZGRHLkiIiKi%2B6r34spw%2B4MlS5aYrNu0aRN8fHzg7OyMpKQk3Lp1C3Z2dujatSvWrl2Lnj17GrUfN24cBEHA5s2bcePGDajVaqSkpBjdnR0Ali1bhsWLF%2BPDDz9EeXk5goODsXLlSqNPGqpUKmzcuBHx8fGYMmUKHBwcEBERgRkzZlhhLxAREVFjIROqTj4iq9Pp9NBo7qJFCycUFJTY3GRRa2jWTN5k8mWujVNTyhWw7Xzl8j%2BgUg0HoJSkP5msMt%2BKCmtO4NZCo0mFXt/OWhswiyWvq9T7%2BeEw3s9SHsfu7k5mf1qw3udcERERETUmLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJNSsvgMgIqL6pIdcfs1kqUwmB9AcMtkdyOX6hx9WDeTyXABCfYdBdF8sroiImjC5/BpcXf8KQbAzWi6TAYAczs56CDZWx8hkdwDYQRDs6zsUomqxuCIiauIqCytlNWvkAGxr1AoABKH8z%2BKPyDZxzhURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIt2IgIpJM9TfktGW8ISeR9CQprnJzc3HhwgX4%2BfmhRYsWUnRJRNTg3O%2BGnLaMN%2BQkkp7FxVVCQgLu3r2LWbNmAQC%2B%2B%2B47xMTEoLy8HCqVClu2bMETTzwheaBERA3B/W/IaZt4Q04i6VlcXO3btw9jx44VH3/yySfw8fFBTEwMVq1aheTkZCxfvlzSIImoqbG9y2vmfNceL7EREVCL4iovLw9eXl4AgIKCAvz6669ISUlBz549UVZWhsWLF0seJBE1LbZ4ec2c79rjJTYiAmpRXAmCAOHPd5asrCwoFAr06NEDANC6dWsUFBRIGyERNUm2eXmt5u/a4yU2IgJqcSsGLy8vHDp0CACQnp4OPz8/ODg4AACuX78OlUolbYREREREDYjFxdWIESOwadMmBAcHIz09HS%2B99JK4LisrC506dZI0QCIiIqKGxOLLgqNGjYKrqytOnjwJPz8/vPjii%2BK6srIyDBkyRNIAiYiIiBqSWt3natCgQRg0aJDJ8vnz59c5ICIiIqKGrNY3Ec3OzsaJEydQUFCAYcOGoVWrVsjLy4Orq6s4B4uIiIioqbG4uNLpdJgzZw527doFQRAgk8kQFhaGVq1a4W9/%2Bxs6d%2B6MqVOnWiNWIiIiIptn8YT25ORk7N27FzNnzsTevXvF2zIAQM%2BePXH06FFJAyQiIiJqSCweudq1axdiY2MxduxY6HQ6o3Xt2rXDH3/8IVlwRERERA2NxSNXeXl58Pf3r3advb09SkpK6hwUERERUUNlcXH1yCOPICcnp9p1ly5dgqenZ52DIiIiImqoLC6uwsPDsWbNGuTl5YnLZDIZiouLsXnzZvTu3VvSAImIiIgaEovnXL355ps4cuQIBg4ciODgYMhkMixfvhwXLlxAs2bNEBsba404iYiIiBoEi0euWrZsia%2B%2B%2BgqDBg3CmTNnoFAocO7cOYSFhWH79u1wc3OzqL%2BMjAzExsYiPDwc/v7%2BiIyMxLZt26DXG385amZmJv7617/Cz88P/fr1w9atW6vtb/369ejTpw/8/PwQFRWF48ePm7S5ffs25s6di%2BDgYAQEBCAmJgZXr141aXfp0iWMHz8e/v7%2BCA0NRXx8PEpLSy3Kj4iIiJqWWt1EtGXLlpg3b54kAWzYsAFt2rTBzJkz8cgjj%2BD48eP46KOPkJOTg3fffRcAcPLkScTGxuLFF19EXFwcsrKyEB8fD6VSieHDh4t9rV%2B/HgkJCZg2bRp8fX2RmpqKiRMnIjU1FT4%2BPmK76dOn48yZM5gzZw6cnZ2RmJiIsWPHYvfu3eINUDUaDcaMGYM2bdogMTERt27dwsKFC1FYWIilS5dKkjsRERE1PrW%2BQ/u9cnNzceHCBfj5%2BaFFixYWPXfNmjVwd3cXH4eEhODOnTvYunUrpk2bBqVSiaSkJPj6%2BmLBggVim9zcXKxYsQJRUVGQy%2BXQarVITk7G6NGjMX78eABAUFAQIiMjsWbNGiQkJAAATp06hcOHDyMlJQXh4eEAALVajX79%2BmHXrl0YOXIkAGD79u3QaDRIS0sT41MoFJgxYwYmTZoEb2/vuu00IiIiapQsviyYkJAgFjkA8N1336F///547bXXMGDAAFy4cMGi/u4trAw6d%2B6MsrIyFBYWQqvV4tixYybfZRgZGYn8/Hz85z//AQBkZWWhuLgYERERYhuFQoGBAwciMzNTvNlpZmYmVCoVwsLCxHZt2rRBYGAgMjMzxWVHjhxBaGioUXz9%2B/eHUqk0akdERER0L4tHrvbt24exY8eKjz/55BP4%2BPggJiYGq1atQnJyMpYvX16noH766Se4ubnhkUcewaVLl1BeXo6OHTsatenUqROAyu847Nq1K7KzswHApJ23tzdKSkqQl5cHT09PZGdno0OHDpDJZCb9ffvtt%2BLj7OxsREVFGbVRKpXw8vISt1UXCoXc6Hdj15TyZa51J5PJUeUUrXeGeMyJy9ZiN0fVmC3Jt75IFdvDylWhkEMur9/3BUvOWVs8D81x736ur/dji4urvLw8eHl5AQAKCgrw66%2B/IiUlBT179kRZWRkWL15cp4B%2B/fVX7Ny5E5MnT4ZCoUBRUREAQKVSGbUzPDas12g0UCqVJl8a7erqCgAoLCyEp6cnNBoNXFxcTLarUqnEvgz9Vd1mde1qQy6XQaVy/LM/xzr11dA0pXyZa100R%2BXAuu0VqDW/SRv%2BEtle3PdXc8y2%2BZ8E6%2Bxn6%2BYqh5tbcwBOVtyG%2Bcw7Z233PLy/6vfzw34/tri4EgRBvMSWlZUFhUKBHj16AABat26NgoKCWgeTn5%2BPN998E35%2Bfpg4caLRuqojTdUtr66NIdYHtatpedX%2BzGlXE71eQElJKVQqR2g0d6HT6R/8pAZOoZA3mXyZa93JZHfg7KwHYDv7TyarzFen0%2BOer1StwrDCduJ%2BsOpjNi/f%2BiLtfn44uepx%2B/YdCEL9fouJJeesLZ6HD2a8n6V8j1KpHM0uwC0urry8vHDo0CGEhoYiPT0dfn5%2B4mjR9evXqx3tMUdxcTEmTpwIBwcHJCcnw87ODsD/Rp6qjhZpNBoA/xvBUqlUKCsrQ1lZGezt7U3aGfpRqVTIzc012X7VkSqVSiU%2Bt2qcUkxmN7zIOp0eFRUN6cCtm6aUL3OtPbncFv%2BgVxIE1BibTFbzeltUU8wPyre%2BWGM/WztXnU5vcpuh%2BmLOOWvL52FNqtvPD/v92OKxvhEjRmDTpk0IDg5Geno6XnrpJXFdVlaWOBfKEmVlZZg0aRJu3LiBdevWGX3i0MvLC3Z2dvj999%2BNnnPx4kUAEAsdw%2B%2Bq86Gys7Ph5OQEDw8Psd2lS5fEEa17%2B7u3aPL29jbpS6vV4sqVK/ykIBEREd2XxcXVqFGjsGzZMkRGRmLRokUYMmSIuK6srMzosTkqKiowdepUnDt3DuvWrUPbtm2N1iuVSoSEhCAjI8No%2Bd69e9GqVSv4%2BvoCAAIDA%2BHi4oL09HSxjU6nQ0ZGBsLDw8VLeeHh4dBoNDh69KjYLjc3F1lZWeKtGQAgLCwMx44dM7rMuX//fmi1WqN2RERERPdSfPDBBx9Y%2BiS1Wo2wsDA8%2BeSTRsv79OljsuxBPvjgA%2BzduxdTp05F69at8d///lf8cXZ2hlKpRPv27bFmzRrk5ubCyckJe/bswYYNG/Dee%2B%2Bha9eulYkoFFAoFFizZg0cHBxQVlaGFStW4OTJk/j444/RsmVLAICnpydOnz6NL7/8Eh4eHsjNzcXcuXPh4OCAefPmoVmzyiulTzzxBL7%2B%2BmscPXoUHh4eOHnyJBYsWIB%2B/fohOjra0l1mRBAElJVVwNFRidLScuj1DXDc1UJyuazJ5Mtc604m08DePhWAQrI%2B60omq8y35jzL//x0lfIhRSWF6mM2L9/6Iu1%2Bfji56lBW9hIEoXZTZ6RiyTlri%2BfhgxnvZynfoxwdlZDLzZtzLclNROvCcPuDJUuWmKwzXH4MCAjA6tWrsXz5cqSlpcHT0xOzZ882ujs7AIwbNw6CIGDz5s24ceMG1Go1UlJSjO7ODgDLli3D4sWL8eGHH6K8vBzBwcFYuXKl0ScNVSoVNm7ciPj4eEyZMgUODg6IiIjAjBkzrLAXiIiIqLGQCVUnH5nhxIkT2Lx5M7Kzs6v9rr2DBw9KElxjpdPpodHcRYsWTigoKGkSk56bNZM3mXyZa93J5X9ApRoOWxoBkskq862oqGmSb8mfE61t4%2BP25qk%2BZvPyrS/S7ueHk6sWGk0q9Pp21tqAWSw5Z23xPHww4/0s5XuUu7uT2Z8WtHjO1Y8//ohXX30VxcXFyM7ORseOHcXLa82aNUNQUJDFARMRERE1FhYXVytXrsTQoUOxbt06AMBbb72Fbdu2YefOnSgpKUG/fv0kD5KIiIioobC4uLpw4QL69u0rfvpOp9MBAJ588knExsYiKSlJ2giJiIiIGhCLi6u7d%2B/CyckJcrkcSqXS6FYFHTt2lOR794iIiIgaKouLqzZt2uDGjRsAKr/sODMzU1x34sQJuLm5SRcdERERUQNj8a0YgoKC8MMPP2DAgAEYPnw4PvzwQ2RnZ0OpVOLf//43xo4da404iYiIiBoEi4urKVOmiN/zN3LkSJSWlmLPnj0AgEmTJiEmJkbaCImIiIgaEIuLK3d3d7i7u4uPx44dy9EqIiIioj/V6Q7teXl5KCwshJubm/jFyERERERNWa2Kq3379mHZsmW4cuWKuMzLywvTpk3DgAEDJAuOiIiIqKGxuLhKT0/H22%2B/jY4dO2Ly5Mlo2bIl8vPzkZ6ejmnTpkGv12PgwIHWiJWIiIjI5llcXCUlJSEsLAxr1qyBXP6/OzlMnjwZr732GpKSklhcERERUZNl8X2urly5glGjRhkVVgAgl8sxatQoo0uFRERERE1NrW4ievfu3WrXlZaW4tFHH61zUEREREQNlcXF1bhx47B69WrcunXLaPnNmzeRnJyMcePGSRYcERERUUNj1pyr%2BPh4o8e3b9/Gc889h5CQELRq1Qr5%2Bfk4duwYWrRogYsXL1olUCIiIqKGwKziasuWLdUuP3TokNHju3fvYuvWrZg9e3bdIyMiIiJqgMwqrs6dO2ftOIiIiIgaBYvnXBERERHR/bG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCZlVXC1cuBC5ubkAgGvXrqG8vNyqQRERERE1VGYVVxs3bkR%2Bfj4A4LnnnsPZs2etGhQRERFRQ2VWceXq6oobN24AAARBsGpARERERA2ZWTcR7d69O95//31069YNALB48WK4uLhU21YmkyE5OVm6CImIiIgaELOKq7/97W9YsGABLl68CJlMhsuXL0OpVFbbViaTSRogERERUUNiVnHVtm1bJCUlAQCefPJJrF69WhzFIiIiIqL/sfhWDJs2bYK3t7c1YiEiIiJq8MwaubpXUFAQAODy5cs4duwYCgsL0aJFCwQHB%2BOxxx6TPEAiIiKihsTi4koQBMyfPx/bt2%2BHXq8Xl8vlcowaNQqzZ8%2BWNEAiIiKihsTi4urzzz/Htm3bMHLkSAwZMgQeHh7Iy8tDWloatm3bhnbt2uHVV1%2B1QqhEREREts/i4io1NRWvvPKK0QiVh4cHunXrBrlcjh07drC4IiIioibL4gntOTk56N27d7XrevfujZycnDoHRURERNRQWVxcubi44Nq1a9Wuu3btGpydnescFBEREVFDZXFx9Ze//AWffPIJTp8%2BbbT87NmzSExMxLPPPitZcEREREQNjcVzrqZPn44RI0Zg%2BPDh6NSpE1q1aoX8/HxcvHgRrVu3xvTp060RJxEREVGDYPHI1aOPPoq0tDRMmDABjo6O%2BOOPP%2BDo6IjXXnsNu3btgqenpzXiJCIiImoQLB65AgB3d3eOUBERERFVw%2BKRKyIiIiK6PxZXRERERBJicUVEREQkIRZXRERERBKyuLjSarUQBMEasRARERE1eBYVV2VlZejevTsOHDggWQCXL1/G3Llz8eKLL8LX1xcREREmbeLi4uDj42Pyc%2BTIEZO269evR58%2BfeDn54eoqCgcP37cpM3t27cxd%2B5cBAcHIyAgADExMbh69apJu0uXLmH8%2BPHw9/dHaGgo4uPjUVpaKk3iRERE1ChZdCsGe3t7uLm5wdHRUbIALly4gMzMTHTv3h16vf6%2Bo2Lt27fH0qVLjZZ5e3sbPV6/fj0SEhIwbdo0%2BPr6IjU1FRMnTkRqaip8fHzEdtOnT8eZM2cwZ84cODs7IzExEWPHjsXu3bvh4OAAANBoNBgzZgzatGmDxMRE3Lp1CwsXLkRhYaFJHEREREQGFt/nqnfv3ti/f79kX3PTp08f9O3bF0DlCFXVr9UxcHBwgL%2B//3370Wq1SE5OxujRozF%2B/HgAQFBQECIjI7FmzRokJCQAAE6dOoXDhw8jJSUF4eHhAAC1Wo1%2B/fph165dGDlyJABg%2B/bt0Gg0SEtLg7u7OwBAoVBgxowZmDRpkklhR0RERATUYs7VoEGDkJmZiffeew%2BHDh3C6dOncebMGaMfiwKQSzOnPisrC8XFxUaXFRUKBQYOHIjMzExxRCwzMxMqlQphYWFiuzZt2iAwMBCZmZnisiNHjiA0NFQsrACgf//%2BUCqVRu2IiIiI7mXxyJVhVGjXrl1IS0szWicIAmQyGc6ePStNdPe4cuUKnn76aZSWlkKtViM2NlYc8QKA7OxsAEDHjh2Nnuft7Y2SkhLk5eXB09MT2dnZ6NChA2QymVG7Tp064dtvvzXqLyoqyqiNUqmEl5eXuK26UCjkRr8bu6aUL3OtO5lMjiqnaL0zxGNOXLYWuzmqxmxJvvVFqtgeVq4KhVyyAYW6xHDv75rY4nlojnv3c329H1tcXC1cuNAacdSoc%2BfO8PPzQ6dOnVBcXIwvvvgCkydPxooVKzBgwAAAlXOklEqlOGfKwNXVFQBQWFgIT09PaDQauLi4mGxDpVKhqKhIfKzRaKBSqR7YrjbkchlUKsc/%2B5Nu/lpD0JTyZa510RyVA%2Bu2V6DW/CZt%2BEtke3HfX80x2%2BZ/Eqyzn62bqxxubs0BOFlxG%2BYz75y13fPw/qrfzw/7/dji4mrIkCHWiKNGY8aMMXrcp08fREdHIzExUSyuAJiMRgEQLwfeu666djUtr9qfOe1qotcLKCkphUrlCI3mLnQ6fZ36awgUCnmTyZe51p1MdgfOznoAtrP/ZLLKfHU6Pe5/NxrDCtuJ%2B8Gqj9m8fOuLtPv54eSqx%2B3bdyAIJdbagFksOWdt8Tx8MOP9LOV7lErlaHYBXqsvbjb4/fffUVBQgM6dO6N58%2BZ16coicrkczz//PJYsWYLS0lI4ODhApVKhrKwMZWVlsLe3F9tqNBoA/xvBUqlUyM3NNemz6kiVSqUSn3uv4uJiSSazG15knU6PioqGdODWTVPKl7nWnlxui3/QKwkCaoxNJqt5vS2qKeYH5VtfrLGfrZ2rTqeHXm8b7wnmnLO2fB7WpLr9/LDfj2s11peWloawsDAMGjQIr7zyCi5dugQAmDp1Knbs2CFpgPdT9ZYNhoKn6nyo7OxsODk5wcPDQ2x36dIlk%2BdfvHjRqGjy9vY26Uur1eLKlSv8pCARERHdl8XFVUZGBuLi4uDr64s5c%2BYYFSldunRBRkaGpAFWR6/X45tvvsETTzwhzrEKDAyEi4sL0tPTxXY6nQ4ZGRkIDw8XL%2BWFh4dDo9Hg6NGjYrvc3FxkZWWJt2YAgLCwMBw7dgwFBQXisv3790Or1Rq1IyIiIrqXxZcFU1JSMHToUCxYsAA6nQ7z5s0T13Xs2BGbN2%2B2qL%2B7d%2B%2BKtza4evUqbt%2B%2BjX/%2B858AKu9TdffuXcTFxSEiIgJeXl4oKirCF198gdOnT2PlypViP0qlEpMmTUJCQgLc3d3Fm4jm5ORg%2BfLlYrvu3bujV69eeP/99xEXFwdnZ2esWLECbdu2NZpPFh0djS1btiA2NhaxsbG4efMmFi1ahMjISI5cERER0X1ZXFxlZ2djxowZ1a5zc3NDYWGhRf3dvHkTU6dONVpmeLxp0yb4%2BPjA2dkZSUlJuHXrFuzs7NC1a1esXbsWPXv2NHreuHHjIAgCNm/ejBs3bkCtViMlJcXo7uwAsGzZMixevBgffvghysvLERwcjJUrVxp90lClUmHjxo2Ij4/HlClT4ODggIiIiPvmTkRERATUorhydHREcXFxtevy8vLEiePmateuHc6fP19jm%2BTkZLP6kslkmDBhAiZMmFBjO2dnZ8yfPx/z58%2BvsV2HDh2wfv16s7ZNREREBNRizlVAQAC2bt1a7XcA7ty5E0FBQZIERkRERNQQWVxcTZ48GT///DOGDRuGzZs3QyaTYd%2B%2BfYiJicGPP/6ImJgYa8RJRERE1CBYXFz5%2Bflh7dq1uHPnDhYtWgRBEPDpp5/i0qVLSElJgVqttkacRERERA1CrW4iGhISgoyMDFy5cgU3btxAixYt0KFDB6ljIyIiImpw6nSHdi8vL3h5eUkVCxEREVGDV6vi6o8//kBKSgqOHz%2BOwsJCuLm5ITg4GBMnTkT79u2ljpGIiIiowbB4ztXZs2cxZMgQ7Ny5E61bt8YzzzyD1q1bY%2BfOnRgyZAjOnj1rjTiJiIiIGgSLR64WLFgAd3d3bNiwAW3atBGXX716FePGjcOCBQssvks7ERERUWNh8cjVL7/8gilTphgVVgDQtm1bvPHGG/jll18kC46IiIioobG4uHJxcYGLi0u161QqFZydnescFBEREVFDZXFxFRERgdTU1GrX7dixA4MGDapzUEREREQNlVlzrvbt2yf%2Bu0uXLvjmm28wbNgwREREoGXLlrhx4wb27t2LW7duYcCAAVYLloiIiMjWmVVcvfnmm5DJZBAEQfydm5uL06dPm7SdOXMmIiMjJQ%2BUiIiIqCEwq7jatGmTteMgIiIiahTMKq6CgoKsHQcRERFRo2DxhHYiIiIiur9aff3NgQMHsHv3bly7dg1lZWVG62QyGXbv3i1JcEREREQNjcXF1bp167B06VK4u7vDy8sLjo6O1oiLiIiIqEGyuLjatm0boqKiMG/ePCgUCmvERERERNRgWTznqrCwEBERESysiIiIiKphcXEVGBiI33//3RqxEBERETV4FhdXs2bNwtatW3Hw4EFotVprxERERETUYFk85%2Bqxxx7DX/7yF7zxxhuQyWRwcHAwWi%2BTyfDTTz9JFiARERFRQ2JxcbVkyRJs2bIFnTt3RseOHaFUKq0RFxEREVGDZHFxtWvXLkycOBHTp0%2B3RjxEREREDZrFc650Oh3%2B8pe/WCMWIiIiogbP4pGrZ555BqdOnUJoaKg14iEiImqEBMjlufUdBGQyOYDmkMnuQC7X19i2Ml7hocTV2FhcXMXGxmLatGlwdHREr1694OrqatLGzc1NkuCIiIgahwq4uEyAIDSv1yhkMgCQw9lZD%2BEBdZNMdgeAHQTB/iFE1rhYXFy9%2BOKLAIBFixZh0aJF1bY5e/Zs3aIiIiJqdOwA2MKHwOQAah61AgBBKP%2BzGCNLWVxcTZ48GTLubSIiIqJqWVxcTZkyxRpxEBERETUKFn9akIiIiIjuz%2BKRq1WrVtW4XiaTYfLkybUOiIiIiKghY3FFREREJCGLi6tz586ZLCssLMSBAwewceNGpKSkSBIYERERUUMkyZwrNzc3DBs2DJGRkYiPj5eiSyIiIqIGSdIJ7X5%2Bfvj%2B%2B%2B%2Bl7JKIiIioQZG0uDp//jyaN6/fu88SERER1SeL51ylpaWZLNNqtTh//jy%2B/vprDB48WJLAiIiIiBoii4uruLi4apfb29tj8ODBmDlzZp2DIiIiImqoLC6uDh48aLLM3t4eLVu2lCQgIiIioobM4uKqbdu21oiDiIiIqFHg198QERERSciskavIyEizO5TJZNi9e3etAyIiIiJqyMwqrtzc3B7Y5s6dOzhz5gxkMlmdgyIiIiJqqMwqrjZv3nzfdRUVFfjyyy%2BxevVqyGQyREREWBTA5cuXsX79epw6dQoXLlxAx44dsXfvXpN2mZmZSEhIQHZ2Njw9PfHqq6/i5ZdfNmm3fv16bN26Ffn5%2BVCr1Zg5cyaCg4ON2ty%2BfRsff/wxvvnmG2i1WgQHB2POnDkm88kuXbqE%2BPh4/PTTT3B0dMSgQYMwY8YMODg4WJQjERERNR11mnOVkZGBQYMGIT4%2BHk8%2B%2BSR27tyJJUuWWNTHhQsXkJmZicceewze3t7Vtjl58iRiY2Ph6%2BuLtWvXYsiQIYiPj0dqaqpRu/Xr1yMhIQEvv/wyUlJS8Nhjet0t%2BQAAIABJREFUj2HixIk4f/68Ubvp06fjX//6F%2BbMmYOEhARcv34dY8eORWlpqdhGo9FgzJgxKCkpQWJiIt59913s2bMHs2fPtig/IiIialos/rQgABw/fhxLly7Fr7/%2BCl9fX3z22WcIDQ2tVQB9%2BvRB3759AVTeQ%2Bv06dMmbZKSkuDr64sFCxYAAEJCQpCbm4sVK1YgKioKcrkcWq0WycnJGD16NMaPHw8ACAoKQmRkJNasWYOEhAQAwKlTp3D48GGkpKQgPDwcAKBWq9GvXz/s2rULI0eOBABs374dGo0GaWlpcHd3BwAoFArMmDEDkyZNum8hSERERE2bRSNX58%2Bfx8SJE/Hqq6%2BisLAQy5Ytw86dO2tdWAGAXF5zCFqtFseOHcOgQYOMlkdGRiI/Px//%2Bc9/AABZWVkoLi42uiypUCgwcOBAZGZmQhAEAJWXF1UqFcLCwsR2bdq0QWBgIDIzM8VlR44cQWhoqFhYAUD//v2hVCqN2hERERHdy6yRq9zcXHzyySfYu3cvXF1dMWvWLERHR8POzs7a8eHKlSsoLy9Hx44djZZ36tQJAJCdnY2uXbsiOzsbAEzaeXt7o6SkBHl5efD09ER2djY6dOhgMvG%2BU6dO%2BPbbb8XH2dnZiIqKMmqjVCrh5eUlbqsuFAq50e/Grinly1zrTiaTw9Y%2BG2OIx5y4bC12c1SN2ZJ864tUsT3MXOt7f9Ym1/qO2VIKhVwcuKmv92Oziqv%2B/fujvLwcPXv2xIQJE%2BDk5ITffvvtvu27dOkiWYBFRUUAAJVKZbTc8NiwXqPRQKlUmkw2d3V1BQAUFhbC09MTGo0GLi4uJttRqVRiX4b%2Bqm6zuna1IZfLoFI5/tmfY536amiaUr7MtS6ao3Jg3fYK1P/f3v1HRVXmfwB/z4wOIDAi/oDFtBQdipUUi8BVYcM1f2Fqarlr6iphir8yNfWbkrqsZuYv3DU0yUOFrUuaJxGy0nWkNqwjuJnVbkwUamig4gDKADP3%2BwfNjWEGGODC3NH36xyPzDMPdz6f%2B9w798O9z9xp/E3achSSX9wNazxmef6R0DbruW1zlde24Viu8orZMUr4%2BHQC4GnV2t7vxw4VV1VVVQBqL5VlZ2c32E8QBCgUCnzzzTfSRFdHQ7d4qNtur4/lcmBT/Rprr7%2B81t5uwmwWUFFRCY3GAwbDbZhM5lYtzxWoVMq7Jl/m2noKxS14eZkByGf9KRS1%2BZpMZvzytmKH5Qn5xN00%2BzE7lq%2BzSLue2ydXeWwbzctVHjE3jxnl5bcgCBUApH2P0mg8HC7AHSquNm3a1KqAWsNy5qn%2B2SKDwQDg1zNYGo0GRqMRRqMRbm5uNv0sy9FoNCgqKrJ5nfpnqjQajfi7dZWVlUkymd0yyCaTGTU1rrThts7dlC9zbTmlUo4H9FqCgEZjUygaf16OGou5qXydpS3Wc1vnKqdtw9Fc5RSzo0wmM8xms01be74fO1RcTZo0qa3jaFDv3r3RsWNHfP/991aT0PPz8wFALHQs/%2Bv1egQHB4v99Ho9PD094efnJ/b797//bXMGKj8/36poCgwMtJlbVVVVhcLCQpu5WEREREQWsr%2BQqlarERERgaysLKv2jIwMdO/eXSykBg8eDG9vb2RmZop9TCYTsrKyEBUVJRZSUVFRMBgMVpc3i4qKkJubK96aAQAiIyORk5ODGzduiG0fffQRqqqqrPoRERER1aVat27dOmcGcPv2bZw4cQL5%2Bfn49NNPUVJSAn9/f%2BTn58PX1xceHh7o1asXkpOTUVRUBE9PTxw9ehT79%2B/H6tWrMWDAgNpEVCqoVCokJyfD3d0dRqMRO3fuRF5eHl555RV069YNAODv74%2BvvvoKBw8ehJ%2BfH4qKipCQkAB3d3ds2LABHTrUnszr378/Dh06hOzsbPj5%2BSEvLw8bN27EyJEjMW3atFblLAgCjMYaeHioUVlZDbPZxc65toBSqbhr8mWuradQGODmlg5AJdkyW0uhqM238Tyrf/lklbqdopKC/Zgdy9dZpF3P7ZOrPLaN5uUqj5ibxwSj8UkIQu00Hynfozw81FAqHZtzrRAE515NvXTpEkaMGGH3uTfffFP86hqdTodt27aJX38ze/Zsm6%2B/EQRB/PqbkpISaLVarFixAhEREVb9ysvLsXnzZhw/fhzV1dUOff2Nu7s7YmJiJPn6G5PJDIPhNrp08cSNGxV3xbycDh2Ud02%2BzLX1lMpL0GimQk5v6gpFbb41NY3NB6v4ZY6KZ0MdZMh%2BzI7l6yzSruf2yVUe20bzcpVHzM1TBYMhHWbzPQCkfY/y9fV0eEK704uruxGLqzs7X%2Bbaeiyu2hOLKxZXDZFHzM0jj%2BKqRV9/Q3T3MkOp/KnRHgqFEkAnKBS3oFTKo7gymwPgAlMsiYjuCCyuiJpBqfwJnTtPhCA0/O0EtXMUlPDyksdf/ApFNW7ePCL%2BJUdERG2LxRVRM9UWVk1drlJCLjfek0OBR0R0N%2BF1AiIiIiIJ8cwV0R1PgFJp%2B60EUmir%2BWW18fKUGxG5JhZXRHe8Gnh7PwNB6CT5kttqfplCcQtARwiCW5N9iYjkhsUV0V3BkXliLSX9/DJBsNy8kIjI9XDOFREREZGEWFwRERERSYiXBcmJmr4hp9xwojURETWFxRU5jSM35JQbTrQmIqKmsLgip3LshpzywYnWRETUFM65IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpKQSxRXhw8fRlBQkM2/V1991aqfTqfDxIkTERISgpEjRyItLc3u8lJSUhAdHY2QkBBMnjwZZ86cselTXl6OhIQEhIeHIzQ0FPPmzcPly5fbJD8iIiK6c3RwdgDNsW/fPnh7e4uP/fz8xJ/z8vIQHx%2BPCRMmYNWqVcjNzUViYiLUajWmTp0q9ktJScH27duxdOlSBAcHIz09HXFxcUhPT0dQUJDYb9myZbhw4QLWrl0LLy8vJCUlYfbs2Xj//ffh7u7ePgkTERGRy3Gp4uq3v/0tfH197T7397//HcHBwdi4cSMAICIiAkVFRdi5cycmT54MpVKJqqoqvPbaa5g5cyZiY2MBAI888gjGjx%2BP5ORkbN%2B%2BHQDwn//8B6dOncLevXsRFRUFANBqtRg5ciTee%2B89/PGPf2yHbImIiMgVucRlwaZUVVUhJycH48aNs2ofP348iouL8fXXXwMAcnNzUVZWhpiYGLGPSqXC2LFjodPpIAgCgNrLixqNBpGRkWK/gIAADB48GDqdrh0yIiIiIlflUmeuYmJicOPGDQQEBODJJ5/EM888A5VKhcLCQlRXV6Nv375W/fv16wcA0Ov1GDBgAPR6PQDY9AsMDERFRQWuXr0Kf39/6PV69OnTBwqFwmZ5n3zyiSS5qFRKq//vdPbyVSiUqLeKXUZjcVuek1tubRFPW%2Bcqp3XYnFzlFLej6scs1%2B24Lqlia89cnb0%2BW5Krs2NuLpVKCaXS%2BpjT3sdalyiuunfvjkWLFmHgwIFQKBQ4efIkduzYgatXryIhIQE3b94EAGg0Gqvfszy2PG8wGKBWq23mTHXu3BkAUFpaCn9/fxgMBqu5XXWXZ1lWayiVCmg0Hr8s06PVy3Ml1vl2Qu3JU1cqMC3vMk3HLJ/C2fGYW0r6XNs%2B5pZqPFf5xt2wxmOWz3ZcV9us57bNVV7bhmO5yitmxyjh49MJgKdVa3sfa12iuBo%2BfDiGDx8uPh42bBjc3NyQmpqKefPmie31zzTZa7fXx3I5sKl%2BjbU3h9ksoKKiEhqNBwyG2zCZzK1eptypVEqbfBWKW/DyMgNwpfyFX/5vOGaFojZfk8kMQWiwWztqOuaWartc2y7mlnIsV/nF3TT7MctvO65L2vXcPrnKY9toXq7yiLl5zCgvvwVBqABg/9jTUhqNh8MFuEsUV/aMGTMGb7zxBr755hv07NkTAGzOKhkMBgC/nsHSaDQwGo0wGo1wc3Oz6Wc5g6XRaFBUVGTzmgaDwebsWEtZBtlkMqOmxpU23Napm69SKcc37aYpFHAobkFwrF97cDTmlmqLXNs65pZqKle5xt2YxmKW03ZcV1us57bOVU7bhqO5yilmR5lMZpjNZpu29jzWutK5vgb17t0bHTt2xPfff2/Vnp%2BfD6B2TlXd/y1zryz0ej08PT3FWzsEBgaioKBAPKNVd3mWZRARERHZ47LFVWZmJlQqFYKDg6FWqxEREYGsrCyrPhkZGejevTuCg4MBAIMHD4a3tzcyMzPFPiaTCVlZWYiKihIv%2BUVFRcFgMCA7O1vsV1RUhNzcXPHWDERERET2uMRlwdjYWERERECr1QIATpw4gX/%2B85%2BYOXMmunfvDgBYsGABnn76aaxZswbjx49Hbm4u0tPTsWHDBvFTA2q1GvPnz8f27dvh6%2Bsr3kT04sWL2LZtm/h6AwcOxO9//3u8%2BOKLWLVqFby8vLBz50707NkTkyZNav8VQERERC7DJYqrPn364N1338WVK1dgNptx33334f/%2B7/8wY8YMsU9oaCh2796Nbdu24ciRI/D398eaNWus7s4OAHPmzIEgCHjrrbdQUlICrVaLvXv3Wt2dHQC2bt2KzZs3Y/369aiurkZ4eDh27drFu7MTERFRoxRC/YlF1OZMJjMMhtvo0sUTN25U3BUT2jt0UNrkq1RegkYzFYDaucE1S8UvEzw9G%2ByhUNTmW1Mjlwn7TcfcUm2Xa9vF3FKO5Sq/uJtmP2b5bcd1Sbue2ydXeWwbzctVHjE3TxUMhnSYzfcAsH/saSlfX0%2BHPy3osnOuiIiIiOSIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhDo4OwCSihlK5U/ODqJBCoUSQCcoFLegVJoBAEplEQDBqXERERFJjcXVHUKp/AmdO0%2BEIHR0dih2KRQAoISXlxmCYGm7BaAjBMHNiZERERFJi8XVHaS2sFI7O4xGKAGYxUeCUP1L0UVERHTn4JwrIiIiIgmxuCIiIiKSEIsrIiIiIgmxuCIiIiKSEIurJhQUFCA2NhaDBg3CkCFDkJiYiMrKSmeHRURERDLFTws2wmAwYNasWQgICEBSUhKuX7%2BOTZs2obS0FK%2B%2B%2BqqzwyMiIiIZYnHViH/84x8wGAw4cuQIfH19AQAqlQrLly/H/PnzERgY6OQIiYiISG54WbARp0%2BfxpAhQ8TCCgBGjRoFtVoNnU7nxMiIiIhIrnjmqhF6vR6TJ0%2B2alOr1ejduzf0en2Ll6tUKtC5swcAoHNnD/GO5a0TCKUyS4oFtSEFVKq6yQpiu%2BtwNOb6uTpTW6/ntshVrttGU7nKNe7GNBaznLbjutpiPbd1rnLaNhzNVU4xO87Hxw%2BW8sZyo2opjrVKpePrgcVVIwwGAzQajU27RqPBzZs3W7xchUIBxS8jrlRKdfJQDaCXRMtqO3fTHdmZ653pbsoVuLvyZa53BpXKtk26Y61jeFmwBQRBEIsjIiIiorpYXDVCo9HAYDDYtJeVldk9o0VERETE4qoRgYGBNnOrqqqqUFhYyE8KEhERkV0srhoRGRmJnJwc3LhxQ2z76KOPUFVVhaioKCdGRkRERHKlEARpPqt2JzIYDIiJiUHPnj0RHx%2BPa9eu4eWXX8awYcN4E1EiIiKyi8VVEwoKCpCYmIizZ8/C3d0dMTExWL58Odzd3Z0dGhEREckQiysiIiIiCXHOFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFVTsrKChAbGwsBg0ahCFDhiAxMRGVlZXODqtZsrKyEB8fj6ioKAwaNAjjx4/HgQMHYDabxT6rVq1CUFCQzb/Tp0/bLC8lJQXR0dEICQnB5MmTcebMmfZMp1GHDx%2B2m0f9m8jqdDpMnDgRISEhGDlyJNLS0uwuT865AsCMGTPs5hsUFIRjx44BcN2x/fHHH5GQkIAJEyYgODgYMTExdvtJOZbl5eVISEhAeHg4QkNDMW/ePFy%2BfFnSvOxpKleTyYTXX38dTz/9NCIiIhAWFobp06fjs88%2Bs1lWdHS03fE2Go1W/eSaKyD9NivnXBvaf4OCgvDzzz%2BL/eQ%2Bro4cZwD57q8dWvRb1CIGgwGzZs1CQEAAkpKScP36dWzatAmlpaUudcf3/fv3IyAgAC%2B88AK6du2KM2fO4K9//SsuXryIlStXiv169eplk1f972RMSUnB9u3bsXTpUgQHByM9PR1xcXFIT09HUFBQu%2BTjiH379sHb21t87OfnJ/6cl5eH%2BPh4TJgwAatWrUJubi4SExOhVqsxdepUsZ8r5PrSSy%2BhvLzcqi01NRUffvghhgwZIra54th%2B99130Ol0GDhwIMxmM%2Bzd4k/qsVy2bBkuXLiAtWvXwsvLC0lJSZg9ezbef//9Nr0RcVO5VlZWYs%2BePZg4cSJiY2PRoUMHvPfee5g9ezZee%2B01PProo1b9R40ahTlz5li1qdVqq8dyzdVCym1WzrkePHjQpm3lypXw8PBAjx49rNrlPK6OHGdkvb8K1G727NkjDBw4ULh27ZrY9v777wtarVbIz893YmTNUzd%2Bi40bNwohISGC0WgUBEEQVq5cKYwbN67R5RiNRuGhhx4SNm/eLLbV1NQIY8aMEZ577jlpg26hQ4cOCVqt1m7OFrGxscKUKVOs2tasWSMMHTpUMJlMgiC4Rq4NiY6OFuLi4sTHrjq2lrEQhIZzkHIsz507J2i1WuHUqVNi2%2BXLl4Xg4GDhwIEDkuVlT1O51tTUCKWlpVZtZrNZmDRpkvD0009btT/66KPC%2BvXrG309OefaWHtdd8K42nPx4kVBq9UKr7/%2BulW73MfVkeOMnPdXXhZsR6dPn8aQIUPg6%2Bsrto0aNQpqtRo6nc6JkTVP3fgtHnjgARiNRpSWljq8nNzcXJSVlVmd2lapVBg7dix0Ol2Df4HKSVVVFXJycjBu3Dir9vHjx6O4uBhff/01ANfNNTc3F5cuXcL48eOb/Xtyy1epbPztTuqx1Ol00Gg0iIyMFPsFBARg8ODBbb6/N5WrSqVC586drdoUCgXuv/9%2Bq0tHjpJzro66E8bVnoyMDCgUigYvgzfGmbk2dZyR%2B/7K4qod6fV6m9PQarUavXv3hl6vd1JU0jh79ix8fHzQtWtXsa2wsBAPP/wwBgwYgCeeeAIff/yx1e9Ycu7bt69Ve2BgICoqKnD16tW2D9xBMTExeOCBBzBixAjs2bMHJpMJQG2O1dXVNjn069cPwK85ulKudWVkZMDDwwMjRoywar%2BTxtZC6rHU6/Xo06cPFAqFzfLkuL%2BbzWbk5eXZvEcBwNGjRzFgwACEhoYiLi4O//3vf62ed4VcpdpmXSHXuo4dO4awsDD4%2B/vbPOdq41r3OCP3/ZVzrtqRwWCARqOxaddoNLh586YTIpLG%2BfPncfjwYSxYsAAqlQpA7V8YISEh6NevH8rKyvDOO%2B9gwYIF2LlzJ0aPHg2gdn2o1Wqba9mWv6hLS0vtviG0p%2B7du2PRokUYOHAgFAoFTp48iR07duDq1atISEgQx63%2BuFoeW553hVzrq6mpwQcffIARI0agU6dOYvudMrb1ST2WBoPBap5e3eXJcX9/6623UFBQgA0bNli1R0dH48EHH0RAQAAuXryI5ORk/OlPf8KRI0fQq1cvAJB9rlJus3LPta5vv/0W//vf/2zGFHC9ca1/nJH7/sriSgYEQbCpll1FcXExFi9ejJCQEMTFxYnts2bNsuoXHR2NadOmISkpSXwzA2A3b8tpWjmsk%2BHDh2P48OHi42HDhsHNzQ2pqamYN2%2Be2N5QrHXb5Z5rfZ9%2B%2BimuXbtmcznhThnbhkg5lo4sSw4%2B//xzbNmyBXPmzEFYWJjVc2vWrBF/fvjhhzF06FCMGTMGKSkpWLdunficnHOVepuVc651HT16FB07dsSoUaNsnnOlcW3oONNYHM7eX3lZsB1pNBoYDAab9rKyMrtntOSurKwMcXFxcHd3x2uvvYaOHTs22FepVOKxxx6DXq8Xbz2h0WhgNBptPvprWUf154TIxZgxY2AymfDNN9%2BIMdb/y8aSg2VcXTHXjIwM%2BPj4YNiwYY32u1PGVuqxbGh/b%2BgMtrN8%2B%2B23iI%2BPxx/%2B8AesWLGiyf49evTAQw89hAsXLohtrpKrRWu2WVfJVRAEZGZmYvjw4fDx8Wmyv1zHtaHjjNz3VxZX7SgwMNDm2m1VVRUKCwvtznOQM6PRiPnz56OkpAT79u1Dly5dmvyd%2BpOYLTnXXyd6vR6enp5WtzuQq969e6Njx474/vvvrdrz8/MB/Jqjq%2BVaWVmJEydOYPTo0Y0WzRZ3wthKPZaBgYEoKCiwWTf5%2Bfmy2d8LCwvxzDPPIDg4GK%2B88orDf6HbG2%2B551pfS7dZV8n17Nmz%2BOmnn5r1YRS5jWtjxxm5768srtpRZGQkcnJycOPGDbHto48%2BQlVVFaKiopwYWfPU1NRgyZIl%2BPbbb7Fv3z707Nmzyd8xm804fvw4%2BvfvL177Hjx4MLy9vZGZmSn2M5lMyMrKQlRUlOxOsVtkZmZCpVIhODgYarUaERERyMrKsuqTkZGB7t27Izg4GIDr5Xry5ElUVFQ49MZ8p4yt1GMZFRUFg8GA7OxssV9RURFyc3Nlsb8XFxdjzpw56NatG3bv3m1zf6OGXL16Fbm5uQgJCRHb5J5rfa3ZZl0l16NHj6JTp0429yxriNzGtanjjNz3V9W6uhdXqU31798fhw4dQnZ2Nvz8/JCXl4eNGzdi5MiRmDZtmrPDc9i6deuQkZGBJUuWoEePHrhy5Yr4z8vLC8XFxViwYAGqq6tRVlaGCxcuIDExEXl5eVi/fr34V4BKpYJKpUJycjLc3d1hNBqxc%2BdO5OXl4ZVXXkG3bt2cnCkQGxuLn3/%2BGeXl5fjxxx/xxhtvIC0tDTNmzBDnavTq1QvJyckoKiqCp6cnjh49iv3792P16tUYMGAAANfIta5t27bBaDRi9erVVoXQ5cuXXXZsb9%2B%2BjRMnTiA/Px%2BffvopSkpK4O/vj/z8fPj6%2BsLDw0PSsfT398dXX32FgwcPws/PD0VFRUhISIC7uzs2bNiADh3absprU7kqFArMnDkTV65cwZo1a1BZWWm1H1s%2BbJCRkYG9e/eisrISN27cwGeffYYXX3wRVVVV2LRpk3hJRc65Xr9%2BXdJtVs65enh4AKgtTF588UU8%2BuijGDt2rM1yXGFcmzrOqNVqWe%2BvCkGuN9i5QxUUFCAxMRFnz56Fu7s7YmJisHz58ja9063UoqOjG/xKgDfffBNBQUFYvXo1Lly4gOvXr6Njx44YMGAA5s6dazU5HKg9DZ2SkoK0tDSUlJRAq9VixYoViIiIaI9UmpSYmIjs7GxcuXIFZrMZ9913H6ZOnYoZM2ZYFR06nQ7btm2DXq%2BHv78/Zs%2BejenTp1stS%2B65Wty8eRNDhw7FrFmzbObglJaWuuzYXrp0yeaWEhZvvvkmwsPDAUg7luXl5di8eTOOHz%2BO6upqhIeHY%2B3atQ6d7W2NpnLt2bNng88DED%2BSf%2B7cOWzduhXfffcdysrK4O3tjYiICCxevNjmo%2B1yzbUt3o/kmqtlGz516hSeffZZ7N271%2B5ZF1cY16aOM3LfX1lcEREREUmIc66IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6ISBYOHz6MoKAg8V9wcDCGDRuGpUuX4ocffnB6XJcuXWq0365duxAUFNROUTVNp9Nh165ddp8LCgrChg0b2jkiortH230xEBFRC2zatAl9%2B/aF0WhEbm4ukpOTcebMGWRlZYnfeUZN0%2Bl0SEtLw6JFi5wdCtFdh8UVEclK//79ERISAgAIDw%2BHyWTCrl278PHHH2Py5MlOjo6IqGm8LEhEsmYptK5du2bzXGZmJp566ikMGjQIoaGhiI2Nxddff23V5/z581i6dCmio6Px4IMPIjo6Gs8//7zdL4U9d%2B4cpk2bhpCQEAwbNgxbt25FTU1Nq%2BJ3JMZVq1YhNDQUP/74I%2BLi4hAaGoqoqCi8/PLLqKqqsup75coVLF68GKGhoXj44YexbNkyfPnllwgKCsLhw4fF5aWlpQGA1aXW%2Bpc2jxw5gjFjxmDgwIF4/PHH8a9//atVuRJRLZ65IiJZsxQE9913n1V7cnIyduzYgSeeeALz589HdXU1UlJSMH36dKSnp6Nfv34AgMuXL6NPnz4YN24cOnfujOLiYrzzzjuYMmUKjh07Bl9fXwBAfn4%2B/vznP6Nnz554%2BeWX4e7ujgMHDiAjI6PFsTsaIwBUV1dj/vz5mDJlCubMmYMTEcQbAAAFKklEQVQvvvgCu3fvhpeXFxYuXAgAuHXrFmbOnImbN29i%2BfLluPfee5GdnY2lS5davW58fDxu3bqF48eP4%2BDBg2J7jx49xJ9PnTqF8%2BfPY/HixejUqRP27duHhQsX4oMPPkCvXr1anDMRARCIiGTg0KFDglarFc6dOydUV1cL5eXlwunTp4WhQ4cK06dPF6qrq8W%2BP/30kxAcHCz85S9/sVpGeXm5MHToUGHJkiUNvk5NTY1QUVEhDBo0SEhNTRXbn3vuOeHBBx8UiouLrfqOHj1a0Gq1wsWLFxuNPykpSdBqtS2KceXKlYJWqxUyMzOt%2BsbFxQmjRo0SH7/99tuCVqsVdDqdVb%2B1a9cKWq1WOHTokNi2fv16q3jq0mq1wu9%2B9zuhrKxMbCsuLhbuv/9%2BYc%2BePY3mSURN45krIpKVJ5980upxYGAgdu/ejQ4dfn27%2BuSTT1BTU4MJEyZYXbZzc3NDWFgYzpw5I7ZVVFRg9%2B7d%2BPDDD3H58mWYTCbxOb1eL/585swZDBkyBN26dRPbVCoVxo4di7/97W/NzqM5MQKAQqFAdHS0VVtQUBBycnLEx1988QU8PT0RGRlp1S8mJsbqDJUjwsPD4eXlJT7u1q0bunbtavdyKRE1D4srIpKVzZs3IzAwEBUVFcjMzMTBgwfx/PPPY9%2B%2BfWKfkpISAMCUKVPsLkOp/HU66bJly5CTk4P4%2BHiEhITA09MTCoUCc%2BfOhdFoFPuVlpZaFVYW9toc0ZwYAcDDwwNubm5WbWq12qEYu3bt2uz4fHx8bNrqvx4RtQyLKyKSlcDAQHESe0REBMxmM9LT0/HBBx9g9OjRAIAuXboAAJKSkhAQENDgssrKynDq1CksXLgQc%2BfOFdurqqpw8%2BZNq74%2BPj5iQVSXvTZHOBpjc/j4%2BODLL7%2B0aW9pjETUNlhcEZGsrVixAh9%2B%2BCGSkpLw2GOPQalUYtiwYejQoQMKCwsxatSoBn9XoVBAEASo1Wqr9vT0dKvLg0DtZbKTJ0%2BipKREPDtkMpmQmZnZorgdjbE5wsLCkJWVBZ1Oh6ioKLH92LFjNn0tOVdWVsLd3V2S1ycix7C4IiJZ69y5M%2BbOnYstW7bg6NGjmDBhAu655x4sXrwYO3bswMWLFxEZGQmNRoOSkhKcP38eHh4eWLx4Mby8vBAWFoaUlBR06dIFPXv2xOeff453330XGo3G6nXmz5%2BPkydPYtasWViwYAHc3d2RlpaG27dvtyhuR2NsjkmTJiE1NRUvvPAClixZgnvvvRenT5/GJ598AsD6UqNWqwUAvP7664iMjIRSqURQUJBNoUlE0uN9rohI9mbMmIGAgADs3r1bPOP07LPPYufOnfjhhx%2BwcuVKxMbG4tVXX8Xly5cRFhYm/u7WrVsRHh6OLVu2YOHChfjqq6%2Bwf/9%2BeHt7W72GVqvF/v374eXlhZUrVyIhIQFBQUGIj49vcdyOxuioTp06ITU1FY888gi2bNmCRYsWoaioCC%2B99BIAWOUUExODqVOn4sCBA3jqqacwZcoU/Pzzzy3OhYgcpxAEQXB2EERE1HKW%2B2mdOnUK/v7%2Bzg6H6K7Hy4JERC7k7bffBgD07dsX1dXVyMnJwVtvvYXHH3%2BchRWRTLC4IiJyIe7u7khNTcWlS5dQXV2N3/zmN4iLi8P8%2BfOdHRoR/YKXBYmIiIgkxAntRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkof8HK7BpuEn9LEoAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlcAAAHKCAYAAAAuK26EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde1wU9f4/8NfuygICC5IKeaEUWxJFgZLLKUFN0xTsKJpo/TRvhZiZaUamnlLykhcSRQw185pJKUc9cPJyFO2UZmGWHjUlv0rKQVRgEYWF3fn9QTvHZRF3YVYWeD0fDx64M5/9zPs9O7O8/cxnZ2WCIAggIiIiIknI6zsAIiIiosaExRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRU1Of/85z/h4%2BOD9PR0k3WDBw%2BGj48Pjh49arKub9%2B%2BGDJkiMXbmzFjBvr161erWBMSEuDj4wONRvPAtqtXr8bBgwdrtZ2aXL58GT4%2BPvj73/9eY7vvvvsOPj4%2BOHDgQLXr586dC19fX6NlI0eOxKuvvmpRPL/99htWrlyJa9euWfS8puzf//43hg4dCn9/f/j4%2BODQoUP1HVKNwsLC8P7779fYpqKiAj4%2BPli9evVDiqpmJSUlWLlyJU6cOGGyzpLzmBoHFlfU5AQFBUEmk%2BHYsWNGywsLC/Hbb7%2BhefPmOH78uNG6//73v8jJyUFwcLDF23vzzTeRmJhYp5jNkZycjH/9619W346U5s%2Bfjzlz5lj0nAsXLmDVqlUsrsyk0%2BkwdepU2NvbIzk5GV9%2B%2BSWeeuqp%2Bg6r0blz5w5WrVpVbXFFTU%2Bz%2Bg6A6GFzd3fHE088gR9%2B%2BMFo%2BYkTJ9CsWTNERUWZFFeGQqw2xZWXl1ftg23kOnXqVN8hWEyn00Gn00GpVNZ3KGb573//i%2BLiYjz//PMIDQ21%2BPlarRZyuRzNmvHPBZG5OHJFTVJwcDAuXbqE69evi8uOHz%2BOrl27Ijw8HGfOnMHt27fFdT/88AMUCgWefvppcZkgCNiyZQsGDx4MPz8/9OjRA2%2B%2B%2BSZycnKMtlXdZcHCwkK899576NGjBwICAhATE4P/%2B7//u%2B9ljvz8fLz11lsIDAzEM888g/fff1%2BMz3B5RKvV4quvvoKPjw98fHyMLrfl5eVh9uzZ6NmzJ7p27Yq%2Bffti9erV0Ol0RtvJy8vDm2%2B%2BiYCAADz99NOYPn06bt68afkONlN1lwW3bt2KyMhIBAQEICAgAAMGDMAnn3wCAEhNTcXbb78NAHj55ZfFXO%2B9ZLljxw5ERkbCz88PQUFBeOONN/D777%2BbbHv79u14/vnn4efnh4iICKSnp5u8VoZLop999hlWrVqFPn36wM/PDz/%2B%2BCNKS0uxcOFCDB48GE899RSCgoIQHR1tMnpoeH0%2B%2BugjpKamon///ujWrRuioqLwyy%2B/QBAEpKSkoE%2BfPggICMCrr75qcgzdz4kTJzB69GgEBASge/fuiI6ORmZmprg%2BISEBffr0AQAsWrQIPj4%2BNV6iNlza3bNnDxYsWIBnn30W3bp1w9WrVwGYfxytWLECw4YNQ1BQEAIDAzF06FDs3LkTgiAYtdNqtVi8eDGeeeYZdO/eHaNGjcKvv/5qVu73Y06Mhtf1888/x7p168R9Hx0djV9%2B%2BcWkzwcdK5cvX8azzz4r5m44Lqte2qzpPDZIT0/HsGHD8NRTT8Hf3x99%2B/bF7Nmz67RP6OHjf0WoSQoJCcHmzZvxww8/ICIiAkBlcdW7d28EBgZCJpPhp59%2BQnh4uLjO19cXLi4uYh%2BzZs3Cnj17MHr0aLzzzjsoLCxEUlISRo4cid27d8Pd3b3abet0Orz%2B%2Bus4d%2B4cpkyZgs6dOyMrKwuvvfbafeN94403MGjQILz00ks4d%2B4cEhISIJfLMX/%2BfDRr1gxffvklXnnlFfTs2ROvv/46AIix5uXlYfjw4bCzs8OUKVPQvn17/PTTT1i9ejWuXbuG%2BPh4AMDdu3cxevRo3Lp1CzNmzICXlxcOHz6M6dOnW7Rv9Xo9KioqLHqOwd///nfMmzcPo0ePRq9evSCTyXD58mVcunQJAPDcc88hPz8fK1aswLx58%2BDj4wPgf6ODSUlJSExMRGRkJGbMmIGCggKsXLkSI0aMwNdffy2227p1K%2BbNm4cBAwbg/fffR1FREVasWAGtVlvtCM3nn3%2BOjh07Ii4uDk5OTnj88cdRWloKjUaDCRMmoHXr1tBqtfjuu%2B8wefJkfPzxx4iMjDTq4%2BDBgzhz5gxmzJgBAFiyZAlee%2B01REZGIjc3F3PnzkVRUREWL16MqVOnYufOnTXuq%2B%2B//x4TJkyAr68vFixYADs7O2zZsgWvv/46PvnkEwwYMAAjR45E586dMXXqVIwZMwYDBw6Evb39A1%2BHJUuWIDAwEPPnzwcAuLm5mX0cAcC1a9cwcuRIPProoxAEAT///DM%2B%2BOADXL9%2BHTExMWK7WbNm4R//%2BAfGjx%2BP0NBQnD9/HpMnTzYpOMxlSYwAsGnTJnTq1AmzZs0CAHzyySeYOHEiDh48CGdnZwDmHSuPPvooUlJS8Nprr2HEiBEYOnQoAOCRRx4x2l5N5zEA/Pjjj3j77bcRERGBKVOmwN7eHlevXuWlxoZIIGqCCgsLhSeffFKYM2eOIAiCcOvWLcHHx0c4cuSIIAiCMGzYMGHRokWCIAjCtWvXBLVaLXz88cfi80%2BcOCGo1Wph48aNRv3%2B8ccfQteuXYXly5eLy6ZPny707dtXfHzgwAFBrVYLO3bsMHpuUlKSoFarhaSkJHHZ8uXLBbVaLWzYsMGo7Zw5cwR/f3%2BjZV27dhVmzZplkuusWbOEwMBAITc312j5p59%2BKvj4%2BAi///67IAiCsHnzZkGtVguHDx82ahcXFyeo1WohLS3NpO97/fvf/xbUanWNP507dzZ6TnR0tDBmzBjx8dy5c4Xg4OAat7N3715BrVYLJ06cMFp%2B69YtoWvXrkJMTIzR8pycHKFLly7CzJkzBUEQhPLyciEkJESIjo42anflyhXB19fX6LX6v//7P0GtVgvPP/%2B8UF5eXmNcFRUVQnl5ufDuu%2B8KUVFR4vLy8nJBrVYLzz77rHDnzh1x%2BT//%2BU9BrVYLQ4YMEfR6vbh8/fr1glqtFi5evFjj9oYOHSo888wzRn1WVFQIL7zwgtC7d2%2BTHKoeQ9UxvIajR482WWfucVSVTqcTysvLhRUrVgihoaHi8vPnzwtqtVpYvHixUftdu3YJarW62mP5Xob9eu/5Ym6Mhn3y4osvCjqdTmyXlZUlqNVqISMjQ9yGucfK9evXTeIxMPc8/vTTTwW1Wi2UlJTUmDvZPl4WpCbJ1dUVTz75pDi36sSJE1AoFAgMDAQA9OjRQ1xn%2BH3vfKvDhw9DLpcjMjISFRUV4o%2BHhwfUarXJnK17Gf4X%2BsILLxgtN4ygVcdwacfAx8cHd%2B7cQUFBwQNzPXz4MEJDQ9GyZUujWMPCwiAIghjP8ePHoVKpxNE6g6ojMA/y7rvv4quvvjL5ef755x/43G7duqGgoADTp0/HwYMHzcrP4OTJk9BqteKogUG7du0QFBSE77//HgCQnZ2NW7dumez/9u3bo3v37tX2/dxzz1U7opWeno7o6Gj4%2B/vD19cXXbp0wa5du5CdnW3SNjQ0FI6OjuJjb29vAEB4eDhkMpnJcsOluOrcvn0bZ86cwYABA4z6VCgUGDx4MK5evYrLly/f9/kPUt1rZe5xBFReXhwzZgyeeuopdO7cGV26dEFSUhJu3rwpvqaGc2Tw4MFG2xk4cCDk8tr9abIkRgDo1auX0bYMI6GGD0vU5lipyYPO427dugGo/BBMeno68vLyLN4G2QZeFqQmKzg4GBs2bEBeXh6OHz%2BOLl26wMnJCUDlJwo3bNiA4uJiHD9%2BHM2aNTP6hNXNmzeh1%2BsREhJSbd%2BPP/74fbdbWFgIe3t78bKDQdVLCPdyc3MzemyYTF1WVlZjjoZY9%2B/fjy5dulS73vDGXlhYiJYtW5qsr25ZTby8vODn52eyvEWLFg987tChQ6HX6/HVV19hypQpEAQBfn5%2BmDZt2gMnYxcWFgIAWrVqZbKudevW%2BPHHH43a3S/X/Pz8ap9fVXp6OqZNm4aBAwdiwoQJaNmyJRQKBbZs2YI9e/aYtHd1dTV6bGdnV%2BNyrVZrmuSfCgsLIQhCtXEZlhUWFuKxxx67bx81qa5fc4%2BjkydPYsKECQgJCUF8fDw8PT3RrFkz7Nu3DykpKeIxe7/XQalUQqVS1Spuc2M0uN95VVpaWmOMhmXVHSs1edB5HBISglWrVmHz5s2YOXMmysvLoVarMWnSJAwcONCibVH9YnFFTZahuPrhhx/www8/ICwsTFxnKKROnDiB48ePw8/PTyy8gMo3Sblcjm3btlU7olHTvBY3NzeUlZWhuLjYaA7XjRs3pEir2u1169YNU6ZMqXa9h4eH2O7cuXMm660VV3VkMhmGDx%2BO4cOHo6SkBCdOnEBiYiJef/117Nu3D56envd9ruEPV3V/8K5fvy4Wd4Z21eVlyR/L3bt34/HHH8fy5cuNRp5qKoqk4ubmBplMZvSBDAPDMnOK2fu5N597t2nOcfSPf/wDSqUSa9asMfpE5TfffGPSH1D5OtxbvGi12lrfD8rcGC3pzxBjVZYWVubq168f%2BvXrB61Wi6ysLKSkpODtt99Gu3btxJEtsn28LEhNVo8ePaBQKPDNN9/gwoULCAoKEte5uLigc%2BfOSEtLw9WrV01uwdC7d2/o9Xrk5%2BfDz8/P5EetVte4XQDIyMgwWv6Pf/yjTvkolUrxf9xVYz1//jwef/zxamM1jFIEBwdDo9EYfdoMQLWjMA%2BDk5MTevXqhddffx1lZWW4ePEigPuP2gUGBkKpVGL37t1Gy69du4YffvhBHPny9vaGu7u7yf7Pycmp9pNi9yOTyWBnZ2dUiOTl5eHw4cNm91Fbzs7O6Nq1K/bt22e0H3Q6Hfbs2YO2bdtKfgsQc48jAGjWrJnR5ba7d%2B%2BavC6Gc6rq8vT0dOj1eqvHaA5LjhVLRpPNoVQqERISgrfffhuCIODs2bOS9EsPB0euqMlydnaGr68vDhw4ALlcbnJjxR49emDjxo0ATO9vFRQUhKioKLz77rs4deoUevToAQcHB%2BTn5%2BPHH3%2BEr68vRowYUe12e/XqBX9/f3z00UfQaDTw9fVFVlaW%2BEemtvNNDHO9Dh06hJYtW8LZ2RkdOnTAW2%2B9he%2B//x7R0dF45ZVX0KFDB5SVleGPP/7A4cOHsWDBArRq1QpDhw7Fpk2b8M4772Dq1Kl47LHHcOjQIZObrVrTe%2B%2B9BycnJwQGBqJVq1bIz8/HmjVr4OrqKl7qeeKJJwAAX375Jezt7WFvb4/27dvDzc0NMTExSExMxHvvvYcXXngBt27dwqpVq%2BDo6IjY2FgAlX/433jjDcybNw9vvfUWhgwZgqKiIiQlJaF169Zm7//evXtjzpw5mD9/Pvr27Yvc3FyxD3NvpVAX06dPx4QJEzBmzBiMHTsWCoUC27ZtQ3Z2NlasWCH59sw9jnr16oXNmzfjnXfewfDhw1FQUIB169YZzQ0DKo/XQYMGYcOGDVAoFAgJCcFvv/2GDRs2GI0SWyNGc1lyrLi6usLDwwP79%2B9HUFAQVCoV3N3d0bZtW7O3t3z5cty4cQOhoaHw8PCARqPBxo0bYWdnZ3QbGLJ9LK6oSQsODsavv/6Kzp07m8yB6tGjBz7//HPY2dkhICDA5LkfffQRAgICsGPHDmzduhWCIMDDwwOBgYHVzjkyUCgU%2BPTTT7Fo0SKsWbMGFRUVeOqpp7B48WJER0cbXSq0xOzZszF//ny89dZbKC0tRWhoKD7//HN4eHjg66%2B/RnJyMtauXYvr16/DyckJ7dq1Q8%2BePcXtNW/eHBs3bsSCBQuwdOlSyOVyPPvss1i6dClGjRpVq5gs9fTTT%2BPvf/87MjIyUFRUhBYtWqBHjx5YtmyZeJnr8ccfR1xcHDZv3ozRo0dDp9Ph448/xosvvojJkyejZcuW4rwnR0dHBAUF4e233zYayXn55Zchl8vx2Wef4cCBA2jXrh0mTZqEjIwMs%2B/rNXz4cNy6dQs7duzAjh074OXlhUmTJiEnJwdr1661yv65V2hoKDZs2IBVq1YhLi4Oer0enTt3xqeffmryoQQpmHscPfvss4iPj8e6devw%2Buuvw8PDAyNGjIBKpcLcuXON%2Bly0aBFatWqFr776Chs3boSvry9WrVqFN954w6oxWsKSY2XhwoX4%2BOOPERMTA61Wi2HDhuGjjz4ye1v%2B/v7Ytm0bPv74YxQUFEClUqFbt27YtGmT%2BEEHahhkglDlrm5EVC/S0tLw7rvvIjU1lXMr6kFRURGef/55vPDCC/jggw/qOxyyYTxW6EE4ckVUD3bv3o0bN27giSeegEwmw88//4z169cjODiYhdVDkJeXh7Vr1yIoKAhubm64evUqNmzYgNLSUvy///f/6js8siE8Vqg2WFwR1YPmzZtj7969uHz5MkpLS9G6dWsMGzYMU6dOre/QmgSlUomcnBykp6ejqKgIjo6O8Pf3R3x8PC%2B/kBEeK1QbvCxIREREJCHeioGIiIhIQiyuiIiIiCTE4oqIiIhIQiyuiIiIiCTETwvWA0EQoNcLkMtl0OubzucJmlK%2BzLVxakq5Ak0rX%2BbaeEmVr1wuq/Z7N6vD4qoe6PUCNJq7aNHCCRrNHVRU1O57tBqSZs3kTSZf5to4NaVcgaaVL3NtvKTM193dCQqFecUVLwsSERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSajei6ujR4/ilVdeQUhICLp27YrnnnsOCxcuRHFxsVG7zMxM/PWvf4Wfnx/69euHrVu3Vtvf%2BvXr0adPH/j5%2BSEqKgrHjx83aXP79m3MnTsXwcHBCAgIQExMDK5evWrS7tKlSxg/fjz8/f0RGhqK%2BPh4lJaWSpM4ERERNUrN6juAoqIiBAQEYMyYMVCpVLhw4QJWrlyJCxcu4LPPPgMAnDx5ErGxsXjxxRcRFxeHrKwsxMfHQ6lUYvjw4WJf69evR0JCAqZNmwZfX1%2BkpqZi4sSJSE1NhY%2BPj9hu%2BvTpOHPmDObMmQNnZ2ckJiZi7Nix2L17NxwcHAAAGo0GY8aMQZs2bZCYmIhbt25h4cKFKCwsxNKlSx/uTiIionvoIZdfk6w3mUwOoDlksjuQy/WS9VuVXt8GNjCmQQ9BvRdXERERiIiIEB8HBwdDqVRizpw5yMvLg4eHB5KSkuDr64sFCxYAAEJCQpCbm4sVK1YgKioKcrkcWq0WycnJGD16NMaPHw8ACAoKQmRkJNasWYOEhAQAwKlTp3D48GGkpKQgPDwcAKBWq9GvXz/s2rULI0eOBABs374dGo0GaWlpcHd3BwAoFArMmDEDkyZNgre390PbR0RE9D9y%2BTW4uv4VgmAnSX8yGQDI4eyshyBI0mU12yhHUVEa9Pp21tkA2RSbLKHd3NwAABUVFdBqtTh27BgGDRpk1CYyMhL5%2Bfn4z3/%2BAwDIyspCcXGxUaGmUCgwcOBAZGZmQvjzjMnMzIRKpUJYWJjYrk2bNggMDERmZqa47MiRIwgNDRULKwDo378/lEqlUTsiInr4KgsrZYP5kaoQpIbBZoornU6HsrIynDlzBklJSejduzfatm2LK1euoLy8HB07djRq36lTJwBAdna20e%2Bq7by9vVFSUoK8vDyxXYcOHSCr/K%2BKUX%2BGPgztqo5OKZVKeHl5GbUjIiIiule9XxY06N27t1gA9ezZE8uXLwdQOScLAFQqlVF7w2PDeo1GA6VSKc6ZMnB1dQUAFBYWwtPTExqNBi4uLibbV6lUYl%2BG/qpus7p2taVQyI1%2BN3ZNKV/m2jg1pVwB285XJpOjyv%2BP69if8W9rUSjkkMvrd3/a8utqDfWVr80UVykpKbhz5w4uXryI1atXIyYmBhs2bBDXVx1pqm55dW0MlwMf1K6m5VX7M6ddTeRyGVQqRwAQfzcVTSlf5to4NaVcAVvNtzkqL7xI%2BwfTun%2BA5XBzaw7AyYrbMJ9tvq7W87DztZni6sknnwQABAYGwtfXF1FRUdi/f794%2Ba/qaJFGowHwvxEslUqFsrIylJWVwd7e3qSdYQRLpVIhNzfXZPtVR6pUKpX43HsVFxfXeTK7Xi%2BgpKQUKpUjNJq70Oms9%2BkUW6FQyJtMvsy1cWpKuQK2na9MdgfOznoA0sQlk1Xmq9NZb0I7oMft23cgCCXW2oBZbPl1tQYp81WpHM0uwG2muLpX586doVAocOXKFfTp0wd2dnb4/fffjSahX7x4EQDEQsfwOzs7G76%2BvmK77OxsODk5wcPDQ2z33XffmYxAXbx40aho8vb2NplbpdVqceXKFURFRdU5R8OLrNPpUVHR%2BA9wg6aUL3NtnJpSroBt5iuXW6cIEgRYsbiq3Jd6vW3sS1t8Xa3pYedrkxddT548CZ1Oh3bt2kGpVCIkJAQZGRlGbfbu3YtWrVqJhVRgYCBcXFyQnp4uttHpdMjIyEB4eLhYSIWHh0Oj0eDo0aNiu9zcXGRlZYm3ZgCAsLAwHDt2DAUFBeKy/fv3Q6vVGrUjIiIiule9j1y98cYb6Nq1K3x8fODg4IBz585h3bp18PHxQd%2B%2BfQEAkydPxiuvvILZs2cjMjISWVlZSE1Nxbx588TJgUqlEpMmTUJCQgLc3d3Fm4jm5OSIk%2BMBoHv37ujVqxfef/99xMXFwdnZGStWrEDbtm0xZMgQsV10dDS2bNmC2NhYxMbG4ubNm1i0aBEiIyN5jysiIiK6r3ovrrp164b09HSkpKRAEAS0bdsWL730EsaPHw%2BlUgkACAgIwOrVq7F8%2BXKkpaXB09MTs2fPNro7OwCMGzcOgiBg8%2BbNuHHjBtRqNVJSUozuzg4Ay5Ytw%2BLFi/Hhhx%2BivLwcwcHBWLlypdEnDVUqFTZu3Ij4%2BHhMmTIFDg4OiIiIwIwZM6y/U4iIiKjBkgmCNa8wU3V0Oj00mrto0cIJBQUlTeK6d7Nm8iaTL3NtnJpSroBt5yuX/wGVajgqb9BZdzJZZb4VFdac0K6FRpNa73dot%2BXX1RqkzNfd3cnsCe02OeeKiIiIqKFicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkoXovrjIyMhAbG4vw8HD4%2B/sjMjIS27Ztg16vF9vExcXBx8fH5OfIkSMm/a1fvx59%2BvSBn58foqKicPz4cZM2t2/fxty5cxEcHIyAgADExMTg6tWrJu0uXbqE8ePHw9/fH6GhoYiPj0dpaam0O4CIiIgalWb1HcCGDRvQpk0bzJw5E4888giOHz%2BOjz76CDk5OXj33XfFdu3bt8fSpUuNnuvt7W30eP369UhISMC0adPg6%2BuL1NRUTJw4EampqfDx8RHbTZ8%2BHWfOnMGcOXPg7OyMxMREjB07Frt374aDgwMAQKPRYMyYMWjTpg0SExNx69YtLFy4EIWFhSZxEBERERnUe3G1Zs0auLu7i49DQkJw584dbN26FdOmTYNSqQQAODg4wN/f/779aLVaJCcnY/To0Rg/fjwAICgoCJGRkVizZg0SEhIAAKdOncLhw4eRkpKC8PBwAIBarUa/fv2wa9cujBw5EgCwfft2aDQapKWlifEpFArMmDEDkyZNMinsiIiIiAAbuCx4b2Fl0LlzZ5SVlaGwsNDsfrKyslBcXIyIiAhxmUKhwMCBA5GZmQlBEAAAmZmZUKlUCAsLE9u1adMGgYGByMzMFJcdOXIEoaGhRvH1798fSqXSqB0RERHRvep95Ko6P/30E9zc3PDII4%2BIy65cuYKnn34apaWlUKvViI2NRd%2B%2BfcX12dnZAICOHTsa9eXt7Y2SkhLk5eXB09MT2dnZ6NChA2QymVG7Tp064dtvvzXqLyoqyqiNUqmEl5eXuK26UCjkRr8bu6aUL3NtnJpSroBt5yuTyVHlLbyO/Rn/thaFQg65vH73p2Wvqx4y2TXrBmQFgtAGhrGj%2BjqOba64%2BvXXX7Fz505MnjwZCoUCQOVIlp%2BfHzp16oTi4mJ88cUXmDx5MlasWIEBAwYAqJwjpVQqxTlTBq6urgCAwsJCeHp6QqPRwMXFxWS7KpUKRUVF4mONRgOVSvXAdrUhl8ugUjn%2B2Z9jnfpqaJpSvsy1cWpKuQK2mm9zVP7xlPYPpnX/AMvh5tYcgJMVt2E%2B817XHAB/BWBn5WikVA5gH4D2Rksf9nFsU8VVfn4%2B3nzzTfj5%2BWHixIni8jFjxhi169OnD6Kjo5GYmCgWVwBMRqMAiJcD711XXbuallftz5x2NdHrBZSUlEKlcoRGcxc6nf7BT2rgFAp5k8mXuTZOTSlXwLbzlcnuwNlZD0CauGSyynx1Oj3%2B/JNhBXrcvn0HglBirQ2YxZLXtXI/K2BjpcIDGO9nKY9jlcrR7ALcZvZYcXExJk6cCAcHByQnJ8PO7v6Vslwux/PPP48lS5agtLQUDg4OUKlUKCsrQ1lZGezt7cW2Go0GwP9GsFQqFXJzc036rDpSpVKpxOdWjVOKyeyGF1mn06OiwrbeuKypKeXLXE8wUtIAACAASURBVBunppQrYJv5yuXWKYIEAVYsrir35b23GapP5ryu1trP1lbdfn7Yx7FNXEwvKyvDpEmTcOPGDaxbtw4tWrR44HOEKq%2B4oeCpOh8qOzsbTk5O8PDwENtdunTJ5PkXL140Kpq8vb1N%2BtJqtbhy5Qo/KUhERET3Ve/FVUVFBaZOnYpz585h3bp1aNu27QOfo9fr8c033%2BCJJ54Q51gFBgbCxcUF6enpYjudToeMjAyEh4eLl/LCw8Oh0Whw9OhRsV1ubi6ysrLEWzMAQFhYGI4dO4aCggJx2f79%2B6HVao3aEREREd2r3i8Lzps3D4cOHcI777yD0tJS/Pzzz%2BK6Tp06oaioCHFxcYiIiICXlxeKiorwxRdf4PTp01i5cqXYVqlUYtKkSUhISIC7u7t4E9GcnBwsX75cbNe9e3f06tUL77//PuLi4uDs7IwVK1agbdu2GDJkiNguOjoaW7ZsQWxsLGJjY3Hz5k0sWrQIkZGRHLkiIiKi%2B6r34spw%2B4MlS5aYrNu0aRN8fHzg7OyMpKQk3Lp1C3Z2dujatSvWrl2Lnj17GrUfN24cBEHA5s2bcePGDajVaqSkpBjdnR0Ali1bhsWLF%2BPDDz9EeXk5goODsXLlSqNPGqpUKmzcuBHx8fGYMmUKHBwcEBERgRkzZlhhLxAREVFjIROqTj4iq9Pp9NBo7qJFCycUFJTY3GRRa2jWTN5k8mWujVNTyhWw7Xzl8j%2BgUg0HoJSkP5msMt%2BKCmtO4NZCo0mFXt/OWhswiyWvq9T7%2BeEw3s9SHsfu7k5mf1qw3udcERERETUmLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJNSsvgMgIqL6pIdcfs1kqUwmB9AcMtkdyOX6hx9WDeTyXABCfYdBdF8sroiImjC5/BpcXf8KQbAzWi6TAYAczs56CDZWx8hkdwDYQRDs6zsUomqxuCIiauIqCytlNWvkAGxr1AoABKH8z%2BKPyDZxzhURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIt2IgIpJM9TfktGW8ISeR9CQprnJzc3HhwgX4%2BfmhRYsWUnRJRNTg3O%2BGnLaMN%2BQkkp7FxVVCQgLu3r2LWbNmAQC%2B%2B%2B47xMTEoLy8HCqVClu2bMETTzwheaBERA3B/W/IaZt4Q04i6VlcXO3btw9jx44VH3/yySfw8fFBTEwMVq1aheTkZCxfvlzSIImoqbG9y2vmfNceL7EREVCL4iovLw9eXl4AgIKCAvz6669ISUlBz549UVZWhsWLF0seJBE1LbZ4ec2c79rjJTYiAmpRXAmCAOHPd5asrCwoFAr06NEDANC6dWsUFBRIGyERNUm2eXmt5u/a4yU2IgJqcSsGLy8vHDp0CACQnp4OPz8/ODg4AACuX78OlUolbYREREREDYjFxdWIESOwadMmBAcHIz09HS%2B99JK4LisrC506dZI0QCIiIqKGxOLLgqNGjYKrqytOnjwJPz8/vPjii%2BK6srIyDBkyRNIAiYiIiBqSWt3natCgQRg0aJDJ8vnz59c5ICIiIqKGrNY3Ec3OzsaJEydQUFCAYcOGoVWrVsjLy4Orq6s4B4uIiIioqbG4uNLpdJgzZw527doFQRAgk8kQFhaGVq1a4W9/%2Bxs6d%2B6MqVOnWiNWIiIiIptn8YT25ORk7N27FzNnzsTevXvF2zIAQM%2BePXH06FFJAyQiIiJqSCweudq1axdiY2MxduxY6HQ6o3Xt2rXDH3/8IVlwRERERA2NxSNXeXl58Pf3r3advb09SkpK6hwUERERUUNlcXH1yCOPICcnp9p1ly5dgqenZ52DIiIiImqoLC6uwsPDsWbNGuTl5YnLZDIZiouLsXnzZvTu3VvSAImIiIgaEovnXL355ps4cuQIBg4ciODgYMhkMixfvhwXLlxAs2bNEBsba404iYiIiBoEi0euWrZsia%2B%2B%2BgqDBg3CmTNnoFAocO7cOYSFhWH79u1wc3OzqL%2BMjAzExsYiPDwc/v7%2BiIyMxLZt26DXG385amZmJv7617/Cz88P/fr1w9atW6vtb/369ejTpw/8/PwQFRWF48ePm7S5ffs25s6di%2BDgYAQEBCAmJgZXr141aXfp0iWMHz8e/v7%2BCA0NRXx8PEpLSy3Kj4iIiJqWWt1EtGXLlpg3b54kAWzYsAFt2rTBzJkz8cgjj%2BD48eP46KOPkJOTg3fffRcAcPLkScTGxuLFF19EXFwcsrKyEB8fD6VSieHDh4t9rV%2B/HgkJCZg2bRp8fX2RmpqKiRMnIjU1FT4%2BPmK76dOn48yZM5gzZw6cnZ2RmJiIsWPHYvfu3eINUDUaDcaMGYM2bdogMTERt27dwsKFC1FYWIilS5dKkjsRERE1PrW%2BQ/u9cnNzceHCBfj5%2BaFFixYWPXfNmjVwd3cXH4eEhODOnTvYunUrpk2bBqVSiaSkJPj6%2BmLBggVim9zcXKxYsQJRUVGQy%2BXQarVITk7G6NGjMX78eABAUFAQIiMjsWbNGiQkJAAATp06hcOHDyMlJQXh4eEAALVajX79%2BmHXrl0YOXIkAGD79u3QaDRIS0sT41MoFJgxYwYmTZoEb2/vuu00IiIiapQsviyYkJAgFjkA8N1336F///547bXXMGDAAFy4cMGi/u4trAw6d%2B6MsrIyFBYWQqvV4tixYybfZRgZGYn8/Hz85z//AQBkZWWhuLgYERERYhuFQoGBAwciMzNTvNlpZmYmVCoVwsLCxHZt2rRBYGAgMjMzxWVHjhxBaGioUXz9%2B/eHUqk0akdERER0L4tHrvbt24exY8eKjz/55BP4%2BPggJiYGq1atQnJyMpYvX16noH766Se4ubnhkUcewaVLl1BeXo6OHTsatenUqROAyu847Nq1K7KzswHApJ23tzdKSkqQl5cHT09PZGdno0OHDpDJZCb9ffvtt%2BLj7OxsREVFGbVRKpXw8vISt1UXCoXc6Hdj15TyZa51J5PJUeUUrXeGeMyJy9ZiN0fVmC3Jt75IFdvDylWhkEMur9/3BUvOWVs8D81x736ur/dji4urvLw8eHl5AQAKCgrw66%2B/IiUlBT179kRZWRkWL15cp4B%2B/fVX7Ny5E5MnT4ZCoUBRUREAQKVSGbUzPDas12g0UCqVJl8a7erqCgAoLCyEp6cnNBoNXFxcTLarUqnEvgz9Vd1mde1qQy6XQaVy/LM/xzr11dA0pXyZa100R%2BXAuu0VqDW/SRv%2BEtle3PdXc8y2%2BZ8E6%2Bxn6%2BYqh5tbcwBOVtyG%2Bcw7Z233PLy/6vfzw34/tri4EgRBvMSWlZUFhUKBHj16AABat26NgoKCWgeTn5%2BPN998E35%2Bfpg4caLRuqojTdUtr66NIdYHtatpedX%2BzGlXE71eQElJKVQqR2g0d6HT6R/8pAZOoZA3mXyZa93JZHfg7KwHYDv7TyarzFen0%2BOer1StwrDCduJ%2BsOpjNi/f%2BiLtfn44uepx%2B/YdCEL9fouJJeesLZ6HD2a8n6V8j1KpHM0uwC0urry8vHDo0CGEhoYiPT0dfn5%2B4mjR9evXqx3tMUdxcTEmTpwIBwcHJCcnw87ODsD/Rp6qjhZpNBoA/xvBUqlUKCsrQ1lZGezt7U3aGfpRqVTIzc012X7VkSqVSiU%2Bt2qcUkxmN7zIOp0eFRUN6cCtm6aUL3OtPbncFv%2BgVxIE1BibTFbzeltUU8wPyre%2BWGM/WztXnU5vcpuh%2BmLOOWvL52FNqtvPD/v92OKxvhEjRmDTpk0IDg5Geno6XnrpJXFdVlaWOBfKEmVlZZg0aRJu3LiBdevWGX3i0MvLC3Z2dvj999%2BNnnPx4kUAEAsdw%2B%2Bq86Gys7Ph5OQEDw8Psd2lS5fEEa17%2B7u3aPL29jbpS6vV4sqVK/ykIBEREd2XxcXVqFGjsGzZMkRGRmLRokUYMmSIuK6srMzosTkqKiowdepUnDt3DuvWrUPbtm2N1iuVSoSEhCAjI8No%2Bd69e9GqVSv4%2BvoCAAIDA%2BHi4oL09HSxjU6nQ0ZGBsLDw8VLeeHh4dBoNDh69KjYLjc3F1lZWeKtGQAgLCwMx44dM7rMuX//fmi1WqN2RERERPdSfPDBBx9Y%2BiS1Wo2wsDA8%2BeSTRsv79OljsuxBPvjgA%2BzduxdTp05F69at8d///lf8cXZ2hlKpRPv27bFmzRrk5ubCyckJe/bswYYNG/Dee%2B%2Bha9eulYkoFFAoFFizZg0cHBxQVlaGFStW4OTJk/j444/RsmVLAICnpydOnz6NL7/8Eh4eHsjNzcXcuXPh4OCAefPmoVmzyiulTzzxBL7%2B%2BmscPXoUHh4eOHnyJBYsWIB%2B/fohOjra0l1mRBAElJVVwNFRidLScuj1DXDc1UJyuazJ5Mtc604m08DePhWAQrI%2B60omq8y35jzL//x0lfIhRSWF6mM2L9/6Iu1%2Bfji56lBW9hIEoXZTZ6RiyTlri%2BfhgxnvZynfoxwdlZDLzZtzLclNROvCcPuDJUuWmKwzXH4MCAjA6tWrsXz5cqSlpcHT0xOzZ882ujs7AIwbNw6CIGDz5s24ceMG1Go1UlJSjO7ODgDLli3D4sWL8eGHH6K8vBzBwcFYuXKl0ScNVSoVNm7ciPj4eEyZMgUODg6IiIjAjBkzrLAXiIiIqLGQCVUnH5nhxIkT2Lx5M7Kzs6v9rr2DBw9KElxjpdPpodHcRYsWTigoKGkSk56bNZM3mXyZa93J5X9ApRoOWxoBkskq862oqGmSb8mfE61t4%2BP25qk%2BZvPyrS/S7ueHk6sWGk0q9Pp21tqAWSw5Z23xPHww4/0s5XuUu7uT2Z8WtHjO1Y8//ohXX30VxcXFyM7ORseOHcXLa82aNUNQUJDFARMRERE1FhYXVytXrsTQoUOxbt06AMBbb72Fbdu2YefOnSgpKUG/fv0kD5KIiIioobC4uLpw4QL69u0rfvpOp9MBAJ588knExsYiKSlJ2giJiIiIGhCLi6u7d%2B/CyckJcrkcSqXS6FYFHTt2lOR794iIiIgaKouLqzZt2uDGjRsAKr/sODMzU1x34sQJuLm5SRcdERERUQNj8a0YgoKC8MMPP2DAgAEYPnw4PvzwQ2RnZ0OpVOLf//43xo4da404iYiIiBoEi4urKVOmiN/zN3LkSJSWlmLPnj0AgEmTJiEmJkbaCImIiIgaEIuLK3d3d7i7u4uPx44dy9EqIiIioj/V6Q7teXl5KCwshJubm/jFyERERERNWa2Kq3379mHZsmW4cuWKuMzLywvTpk3DgAEDJAuOiIiIqKGxuLhKT0/H22%2B/jY4dO2Ly5Mlo2bIl8vPzkZ6ejmnTpkGv12PgwIHWiJWIiIjI5llcXCUlJSEsLAxr1qyBXP6/OzlMnjwZr732GpKSklhcERERUZNl8X2urly5glGjRhkVVgAgl8sxatQoo0uFRERERE1NrW4ievfu3WrXlZaW4tFHH61zUEREREQNlcXF1bhx47B69WrcunXLaPnNmzeRnJyMcePGSRYcERERUUNj1pyr%2BPh4o8e3b9/Gc889h5CQELRq1Qr5%2Bfk4duwYWrRogYsXL1olUCIiIqKGwKziasuWLdUuP3TokNHju3fvYuvWrZg9e3bdIyMiIiJqgMwqrs6dO2ftOIiIiIgaBYvnXBERERHR/bG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCZlVXC1cuBC5ubkAgGvXrqG8vNyqQRERERE1VGYVVxs3bkR%2Bfj4A4LnnnsPZs2etGhQRERFRQ2VWceXq6oobN24AAARBsGpARERERA2ZWTcR7d69O95//31069YNALB48WK4uLhU21YmkyE5OVm6CImIiIgaELOKq7/97W9YsGABLl68CJlMhsuXL0OpVFbbViaTSRogERERUUNiVnHVtm1bJCUlAQCefPJJrF69WhzFIiIiIqL/sfhWDJs2bYK3t7c1YiEiIiJq8MwaubpXUFAQAODy5cs4duwYCgsL0aJFCwQHB%2BOxxx6TPEAiIiKihsTi4koQBMyfPx/bt2%2BHXq8Xl8vlcowaNQqzZ8%2BWNEAiIiKihsTi4urzzz/Htm3bMHLkSAwZMgQeHh7Iy8tDWloatm3bhnbt2uHVV1%2B1QqhEREREts/i4io1NRWvvPKK0QiVh4cHunXrBrlcjh07drC4IiIioibL4gntOTk56N27d7XrevfujZycnDoHRURERNRQWVxcubi44Nq1a9Wuu3btGpydnescFBEREVFDZXFx9Ze//AWffPIJTp8%2BbbT87NmzSExMxLPPPitZcEREREQNjcVzrqZPn44RI0Zg%2BPDh6NSpE1q1aoX8/HxcvHgRrVu3xvTp060RJxEREVGDYPHI1aOPPoq0tDRMmDABjo6O%2BOOPP%2BDo6IjXXnsNu3btgqenpzXiJCIiImoQLB65AgB3d3eOUBERERFVw%2BKRKyIiIiK6PxZXRERERBJicUVEREQkIRZXRERERBKyuLjSarUQBMEasRARERE1eBYVV2VlZejevTsOHDggWQCXL1/G3Llz8eKLL8LX1xcREREmbeLi4uDj42Pyc%2BTIEZO269evR58%2BfeDn54eoqCgcP37cpM3t27cxd%2B5cBAcHIyAgADExMbh69apJu0uXLmH8%2BPHw9/dHaGgo4uPjUVpaKk3iRERE1ChZdCsGe3t7uLm5wdHRUbIALly4gMzMTHTv3h16vf6%2Bo2Lt27fH0qVLjZZ5e3sbPV6/fj0SEhIwbdo0%2BPr6IjU1FRMnTkRqaip8fHzEdtOnT8eZM2cwZ84cODs7IzExEWPHjsXu3bvh4OAAANBoNBgzZgzatGmDxMRE3Lp1CwsXLkRhYaFJHEREREQGFt/nqnfv3ti/f79kX3PTp08f9O3bF0DlCFXVr9UxcHBwgL%2B//3370Wq1SE5OxujRozF%2B/HgAQFBQECIjI7FmzRokJCQAAE6dOoXDhw8jJSUF4eHhAAC1Wo1%2B/fph165dGDlyJABg%2B/bt0Gg0SEtLg7u7OwBAoVBgxowZmDRpkklhR0RERATUYs7VoEGDkJmZiffeew%2BHDh3C6dOncebMGaMfiwKQSzOnPisrC8XFxUaXFRUKBQYOHIjMzExxRCwzMxMqlQphYWFiuzZt2iAwMBCZmZnisiNHjiA0NFQsrACgf//%2BUCqVRu2IiIiI7mXxyJVhVGjXrl1IS0szWicIAmQyGc6ePStNdPe4cuUKnn76aZSWlkKtViM2NlYc8QKA7OxsAEDHjh2Nnuft7Y2SkhLk5eXB09MT2dnZ6NChA2QymVG7Tp064dtvvzXqLyoqyqiNUqmEl5eXuK26UCjkRr8bu6aUL3OtO5lMjiqnaL0zxGNOXLYWuzmqxmxJvvVFqtgeVq4KhVyyAYW6xHDv75rY4nlojnv3c329H1tcXC1cuNAacdSoc%2BfO8PPzQ6dOnVBcXIwvvvgCkydPxooVKzBgwAAAlXOklEqlOGfKwNXVFQBQWFgIT09PaDQauLi4mGxDpVKhqKhIfKzRaKBSqR7YrjbkchlUKsc/%2B5Nu/lpD0JTyZa510RyVA%2Bu2V6DW/CZt%2BEtke3HfX80x2%2BZ/Eqyzn62bqxxubs0BOFlxG%2BYz75y13fPw/qrfzw/7/dji4mrIkCHWiKNGY8aMMXrcp08fREdHIzExUSyuAJiMRgEQLwfeu666djUtr9qfOe1qotcLKCkphUrlCI3mLnQ6fZ36awgUCnmTyZe51p1MdgfOznoAtrP/ZLLKfHU6Pe5/NxrDCtuJ%2B8Gqj9m8fOuLtPv54eSqx%2B3bdyAIJdbagFksOWdt8Tx8MOP9LOV7lErlaHYBXqsvbjb4/fffUVBQgM6dO6N58%2BZ16coicrkczz//PJYsWYLS0lI4ODhApVKhrKwMZWVlsLe3F9tqNBoA/xvBUqlUyM3NNemz6kiVSqUSn3uv4uJiSSazG15knU6PioqGdODWTVPKl7nWnlxui3/QKwkCaoxNJqt5vS2qKeYH5VtfrLGfrZ2rTqeHXm8b7wnmnLO2fB7WpLr9/LDfj2s11peWloawsDAMGjQIr7zyCi5dugQAmDp1Knbs2CFpgPdT9ZYNhoKn6nyo7OxsODk5wcPDQ2x36dIlk%2BdfvHjRqGjy9vY26Uur1eLKlSv8pCARERHdl8XFVUZGBuLi4uDr64s5c%2BYYFSldunRBRkaGpAFWR6/X45tvvsETTzwhzrEKDAyEi4sL0tPTxXY6nQ4ZGRkIDw8XL%2BWFh4dDo9Hg6NGjYrvc3FxkZWWJt2YAgLCwMBw7dgwFBQXisv3790Or1Rq1IyIiIrqXxZcFU1JSMHToUCxYsAA6nQ7z5s0T13Xs2BGbN2%2B2qL%2B7d%2B%2BKtza4evUqbt%2B%2BjX/%2B858AKu9TdffuXcTFxSEiIgJeXl4oKirCF198gdOnT2PlypViP0qlEpMmTUJCQgLc3d3Fm4jm5ORg%2BfLlYrvu3bujV69eeP/99xEXFwdnZ2esWLECbdu2NZpPFh0djS1btiA2NhaxsbG4efMmFi1ahMjISI5cERER0X1ZXFxlZ2djxowZ1a5zc3NDYWGhRf3dvHkTU6dONVpmeLxp0yb4%2BPjA2dkZSUlJuHXrFuzs7NC1a1esXbsWPXv2NHreuHHjIAgCNm/ejBs3bkCtViMlJcXo7uwAsGzZMixevBgffvghysvLERwcjJUrVxp90lClUmHjxo2Ij4/HlClT4ODggIiIiPvmTkRERATUorhydHREcXFxtevy8vLEiePmateuHc6fP19jm%2BTkZLP6kslkmDBhAiZMmFBjO2dnZ8yfPx/z58%2BvsV2HDh2wfv16s7ZNREREBNRizlVAQAC2bt1a7XcA7ty5E0FBQZIERkRERNQQWVxcTZ48GT///DOGDRuGzZs3QyaTYd%2B%2BfYiJicGPP/6ImJgYa8RJRERE1CBYXFz5%2Bflh7dq1uHPnDhYtWgRBEPDpp5/i0qVLSElJgVqttkacRERERA1CrW4iGhISgoyMDFy5cgU3btxAixYt0KFDB6ljIyIiImpw6nSHdi8vL3h5eUkVCxEREVGDV6vi6o8//kBKSgqOHz%2BOwsJCuLm5ITg4GBMnTkT79u2ljpGIiIiowbB4ztXZs2cxZMgQ7Ny5E61bt8YzzzyD1q1bY%2BfOnRgyZAjOnj1rjTiJiIiIGgSLR64WLFgAd3d3bNiwAW3atBGXX716FePGjcOCBQssvks7ERERUWNh8cjVL7/8gilTphgVVgDQtm1bvPHGG/jll18kC46IiIioobG4uHJxcYGLi0u161QqFZydnescFBEREVFDZXFxFRERgdTU1GrX7dixA4MGDapzUEREREQNlVlzrvbt2yf%2Bu0uXLvjmm28wbNgwREREoGXLlrhx4wb27t2LW7duYcCAAVYLloiIiMjWmVVcvfnmm5DJZBAEQfydm5uL06dPm7SdOXMmIiMjJQ%2BUiIiIqCEwq7jatGmTteMgIiIiahTMKq6CgoKsHQcRERFRo2DxhHYiIiIiur9aff3NgQMHsHv3bly7dg1lZWVG62QyGXbv3i1JcEREREQNjcXF1bp167B06VK4u7vDy8sLjo6O1oiLiIiIqEGyuLjatm0boqKiMG/ePCgUCmvERERERNRgWTznqrCwEBERESysiIiIiKphcXEVGBiI33//3RqxEBERETV4FhdXs2bNwtatW3Hw4EFotVprxERERETUYFk85%2Bqxxx7DX/7yF7zxxhuQyWRwcHAwWi%2BTyfDTTz9JFiARERFRQ2JxcbVkyRJs2bIFnTt3RseOHaFUKq0RFxEREVGDZHFxtWvXLkycOBHTp0%2B3RjxEREREDZrFc650Oh3%2B8pe/WCMWIiIiogbP4pGrZ555BqdOnUJoaKg14iEiImqEBMjlufUdBGQyOYDmkMnuQC7X19i2Ml7hocTV2FhcXMXGxmLatGlwdHREr1694OrqatLGzc1NkuCIiIgahwq4uEyAIDSv1yhkMgCQw9lZD%2BEBdZNMdgeAHQTB/iFE1rhYXFy9%2BOKLAIBFixZh0aJF1bY5e/Zs3aIiIiJqdOwA2MKHwOQAah61AgBBKP%2BzGCNLWVxcTZ48GTLubSIiIqJqWVxcTZkyxRpxEBERETUKFn9akIiIiIjuz%2BKRq1WrVtW4XiaTYfLkybUOiIiIiKghY3FFREREJCGLi6tz586ZLCssLMSBAwewceNGpKSkSBIYERERUUMkyZwrNzc3DBs2DJGRkYiPj5eiSyIiIqIGSdIJ7X5%2Bfvj%2B%2B%2B%2Bl7JKIiIioQZG0uDp//jyaN6/fu88SERER1SeL51ylpaWZLNNqtTh//jy%2B/vprDB48WJLAiIiIiBoii4uruLi4apfb29tj8ODBmDlzZp2DIiIiImqoLC6uDh48aLLM3t4eLVu2lCQgIiIioobM4uKqbdu21oiDiIiIqFHg198QERERSciskavIyEizO5TJZNi9e3etAyIiIiJqyMwqrtzc3B7Y5s6dOzhz5gxkMlmdgyIiIiJqqMwqrjZv3nzfdRUVFfjyyy%2BxevVqyGQyREREWBTA5cuXsX79epw6dQoXLlxAx44dsXfvXpN2mZmZSEhIQHZ2Njw9PfHqq6/i5ZdfNmm3fv16bN26Ffn5%2BVCr1Zg5cyaCg4ON2ty%2BfRsff/wxvvnmG2i1WgQHB2POnDkm88kuXbqE%2BPh4/PTTT3B0dMSgQYMwY8YMODg4WJQjERERNR11mnOVkZGBQYMGIT4%2BHk8%2B%2BSR27tyJJUuWWNTHhQsXkJmZicceewze3t7Vtjl58iRiY2Ph6%2BuLtWvXYsiQIYiPj0dqaqpRu/Xr1yMhIQEvv/wyUlJS8Nhjet0t%2BQAAIABJREFUj2HixIk4f/68Ubvp06fjX//6F%2BbMmYOEhARcv34dY8eORWlpqdhGo9FgzJgxKCkpQWJiIt59913s2bMHs2fPtig/IiIialos/rQgABw/fhxLly7Fr7/%2BCl9fX3z22WcIDQ2tVQB9%2BvRB3759AVTeQ%2Bv06dMmbZKSkuDr64sFCxYAAEJCQpCbm4sVK1YgKioKcrkcWq0WycnJGD16NMaPHw8ACAoKQmRkJNasWYOEhAQAwKlTp3D48GGkpKQgPDwcAKBWq9GvXz/s2rULI0eOBABs374dGo0GaWlpcHd3BwAoFArMmDEDkyZNum8hSERERE2bRSNX58%2Bfx8SJE/Hqq6%2BisLAQy5Ytw86dO2tdWAGAXF5zCFqtFseOHcOgQYOMlkdGRiI/Px//%2Bc9/AABZWVkoLi42uiypUCgwcOBAZGZmQhAEAJWXF1UqFcLCwsR2bdq0QWBgIDIzM8VlR44cQWhoqFhYAUD//v2hVCqN2hERERHdy6yRq9zcXHzyySfYu3cvXF1dMWvWLERHR8POzs7a8eHKlSsoLy9Hx44djZZ36tQJAJCdnY2uXbsiOzsbAEzaeXt7o6SkBHl5efD09ER2djY6dOhgMvG%2BU6dO%2BPbbb8XH2dnZiIqKMmqjVCrh5eUlbqsuFAq50e/Grinly1zrTiaTw9Y%2BG2OIx5y4bC12c1SN2ZJ864tUsT3MXOt7f9Ym1/qO2VIKhVwcuKmv92Oziqv%2B/fujvLwcPXv2xIQJE%2BDk5ITffvvtvu27dOkiWYBFRUUAAJVKZbTc8NiwXqPRQKlUmkw2d3V1BQAUFhbC09MTGo0GLi4uJttRqVRiX4b%2Bqm6zuna1IZfLoFI5/tmfY536amiaUr7MtS6ao3Jg3fYK1P/f3v1HRVXmfwB/z4wOIDAi/oDFtBQdipUUi8BVYcM1f2Fqarlr6iphir8yNfWbkrqsZuYv3DU0yUOFrUuaJxGy0nWkNqwjuJnVbkwUamig4gDKADP3%2BwfNjWEGGODC3NH36xyPzDMPdz6f%2B9w798O9z9xp/E3achSSX9wNazxmef6R0DbruW1zlde24Viu8orZMUr4%2BHQC4GnV2t7vxw4VV1VVVQBqL5VlZ2c32E8QBCgUCnzzzTfSRFdHQ7d4qNtur4/lcmBT/Rprr7%2B81t5uwmwWUFFRCY3GAwbDbZhM5lYtzxWoVMq7Jl/m2noKxS14eZkByGf9KRS1%2BZpMZvzytmKH5Qn5xN00%2BzE7lq%2BzSLue2ydXeWwbzctVHjE3jxnl5bcgCBUApH2P0mg8HC7AHSquNm3a1KqAWsNy5qn%2B2SKDwQDg1zNYGo0GRqMRRqMRbm5uNv0sy9FoNCgqKrJ5nfpnqjQajfi7dZWVlUkymd0yyCaTGTU1rrThts7dlC9zbTmlUo4H9FqCgEZjUygaf16OGou5qXydpS3Wc1vnKqdtw9Fc5RSzo0wmM8xms01be74fO1RcTZo0qa3jaFDv3r3RsWNHfP/991aT0PPz8wFALHQs/%2Bv1egQHB4v99Ho9PD094efnJ/b797//bXMGKj8/36poCgwMtJlbVVVVhcLCQpu5WEREREQWsr%2BQqlarERERgaysLKv2jIwMdO/eXSykBg8eDG9vb2RmZop9TCYTsrKyEBUVJRZSUVFRMBgMVpc3i4qKkJubK96aAQAiIyORk5ODGzduiG0fffQRqqqqrPoRERER1aVat27dOmcGcPv2bZw4cQL5%2Bfn49NNPUVJSAn9/f%2BTn58PX1xceHh7o1asXkpOTUVRUBE9PTxw9ehT79%2B/H6tWrMWDAgNpEVCqoVCokJyfD3d0dRqMRO3fuRF5eHl555RV069YNAODv74%2BvvvoKBw8ehJ%2BfH4qKipCQkAB3d3ds2LABHTrUnszr378/Dh06hOzsbPj5%2BSEvLw8bN27EyJEjMW3atFblLAgCjMYaeHioUVlZDbPZxc65toBSqbhr8mWuradQGODmlg5AJdkyW0uhqM238Tyrf/lklbqdopKC/Zgdy9dZpF3P7ZOrPLaN5uUqj5ibxwSj8UkIQu00Hynfozw81FAqHZtzrRAE515NvXTpEkaMGGH3uTfffFP86hqdTodt27aJX38ze/Zsm6%2B/EQRB/PqbkpISaLVarFixAhEREVb9ysvLsXnzZhw/fhzV1dUOff2Nu7s7YmJiJPn6G5PJDIPhNrp08cSNGxV3xbycDh2Ud02%2BzLX1lMpL0GimQk5v6gpFbb41NY3NB6v4ZY6KZ0MdZMh%2BzI7l6yzSruf2yVUe20bzcpVHzM1TBYMhHWbzPQCkfY/y9fV0eEK704uruxGLqzs7X%2Bbaeiyu2hOLKxZXDZFHzM0jj%2BKqRV9/Q3T3MkOp/KnRHgqFEkAnKBS3oFTKo7gymwPgAlMsiYjuCCyuiJpBqfwJnTtPhCA0/O0EtXMUlPDyksdf/ApFNW7ePCL%2BJUdERG2LxRVRM9UWVk1drlJCLjfek0OBR0R0N%2BF1AiIiIiIJ8cwV0R1PgFJp%2B60EUmir%2BWW18fKUGxG5JhZXRHe8Gnh7PwNB6CT5kttqfplCcQtARwiCW5N9iYjkhsUV0V3BkXliLSX9/DJBsNy8kIjI9XDOFREREZGEWFwRERERSYiXBcmJmr4hp9xwojURETWFxRU5jSM35JQbTrQmIqKmsLgip3LshpzywYnWRETUFM65IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpIQiysiIiIiCbG4IiIiIpKQSxRXhw8fRlBQkM2/V1991aqfTqfDxIkTERISgpEjRyItLc3u8lJSUhAdHY2QkBBMnjwZZ86cselTXl6OhIQEhIeHIzQ0FPPmzcPly5fbJD8iIiK6c3RwdgDNsW/fPnh7e4uP/fz8xJ/z8vIQHx%2BPCRMmYNWqVcjNzUViYiLUajWmTp0q9ktJScH27duxdOlSBAcHIz09HXFxcUhPT0dQUJDYb9myZbhw4QLWrl0LLy8vJCUlYfbs2Xj//ffh7u7ePgkTERGRy3Gp4uq3v/0tfH197T7397//HcHBwdi4cSMAICIiAkVFRdi5cycmT54MpVKJqqoqvPbaa5g5cyZiY2MBAI888gjGjx%2BP5ORkbN%2B%2BHQDwn//8B6dOncLevXsRFRUFANBqtRg5ciTee%2B89/PGPf2yHbImIiMgVucRlwaZUVVUhJycH48aNs2ofP348iouL8fXXXwMAcnNzUVZWhpiYGLGPSqXC2LFjodPpIAgCgNrLixqNBpGRkWK/gIAADB48GDqdrh0yIiIiIlflUmeuYmJicOPGDQQEBODJJ5/EM888A5VKhcLCQlRXV6Nv375W/fv16wcA0Ov1GDBgAPR6PQDY9AsMDERFRQWuXr0Kf39/6PV69OnTBwqFwmZ5n3zyiSS5qFRKq//vdPbyVSiUqLeKXUZjcVuek1tubRFPW%2Bcqp3XYnFzlFLej6scs1%2B24Lqlia89cnb0%2BW5Krs2NuLpVKCaXS%2BpjT3sdalyiuunfvjkWLFmHgwIFQKBQ4efIkduzYgatXryIhIQE3b94EAGg0Gqvfszy2PG8wGKBWq23mTHXu3BkAUFpaCn9/fxgMBqu5XXWXZ1lWayiVCmg0Hr8s06PVy3Ml1vl2Qu3JU1cqMC3vMk3HLJ/C2fGYW0r6XNs%2B5pZqPFf5xt2wxmOWz3ZcV9us57bNVV7bhmO5yitmxyjh49MJgKdVa3sfa12iuBo%2BfDiGDx8uPh42bBjc3NyQmpqKefPmie31zzTZa7fXx3I5sKl%2BjbU3h9ksoKKiEhqNBwyG2zCZzK1eptypVEqbfBWKW/DyMgNwpfyFX/5vOGaFojZfk8kMQWiwWztqOuaWartc2y7mlnIsV/nF3TT7MctvO65L2vXcPrnKY9toXq7yiLl5zCgvvwVBqABg/9jTUhqNh8MFuEsUV/aMGTMGb7zxBr755hv07NkTAGzOKhkMBgC/nsHSaDQwGo0wGo1wc3Oz6Wc5g6XRaFBUVGTzmgaDwebsWEtZBtlkMqOmxpU23Napm69SKcc37aYpFHAobkFwrF97cDTmlmqLXNs65pZqKle5xt2YxmKW03ZcV1us57bOVU7bhqO5yilmR5lMZpjNZpu29jzWutK5vgb17t0bHTt2xPfff2/Vnp%2BfD6B2TlXd/y1zryz0ej08PT3FWzsEBgaioKBAPKNVd3mWZRARERHZ47LFVWZmJlQqFYKDg6FWqxEREYGsrCyrPhkZGejevTuCg4MBAIMHD4a3tzcyMzPFPiaTCVlZWYiKihIv%2BUVFRcFgMCA7O1vsV1RUhNzcXPHWDERERET2uMRlwdjYWERERECr1QIATpw4gX/%2B85%2BYOXMmunfvDgBYsGABnn76aaxZswbjx49Hbm4u0tPTsWHDBvFTA2q1GvPnz8f27dvh6%2Bsr3kT04sWL2LZtm/h6AwcOxO9//3u8%2BOKLWLVqFby8vLBz50707NkTkyZNav8VQERERC7DJYqrPn364N1338WVK1dgNptx33334f/%2B7/8wY8YMsU9oaCh2796Nbdu24ciRI/D398eaNWus7s4OAHPmzIEgCHjrrbdQUlICrVaLvXv3Wt2dHQC2bt2KzZs3Y/369aiurkZ4eDh27drFu7MTERFRoxRC/YlF1OZMJjMMhtvo0sUTN25U3BUT2jt0UNrkq1RegkYzFYDaucE1S8UvEzw9G%2ByhUNTmW1Mjlwn7TcfcUm2Xa9vF3FKO5Sq/uJtmP2b5bcd1Sbue2ydXeWwbzctVHjE3TxUMhnSYzfcAsH/saSlfX0%2BHPy3osnOuiIiIiOSIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhFhcEREREUmIxRURERGRhDo4OwCSihlK5U/ODqJBCoUSQCcoFLegVJoBAEplEQDBqXERERFJjcXVHUKp/AmdO0%2BEIHR0dih2KRQAoISXlxmCYGm7BaAjBMHNiZERERFJi8XVHaS2sFI7O4xGKAGYxUeCUP1L0UVERHTn4JwrIiIiIgmxuCIiIiKSEIsrIiIiIgmxuCIiIiKSEIurJhQUFCA2NhaDBg3CkCFDkJiYiMrKSmeHRURERDLFTws2wmAwYNasWQgICEBSUhKuX7%2BOTZs2obS0FK%2B%2B%2BqqzwyMiIiIZYnHViH/84x8wGAw4cuQIfH19AQAqlQrLly/H/PnzERgY6OQIiYiISG54WbARp0%2BfxpAhQ8TCCgBGjRoFtVoNnU7nxMiIiIhIrnjmqhF6vR6TJ0%2B2alOr1ejduzf0en2Ll6tUKtC5swcAoHNnD/GO5a0TCKUyS4oFtSEFVKq6yQpiu%2BtwNOb6uTpTW6/ntshVrttGU7nKNe7GNBaznLbjutpiPbd1rnLaNhzNVU4xO87Hxw%2BW8sZyo2opjrVKpePrgcVVIwwGAzQajU27RqPBzZs3W7xchUIBxS8jrlRKdfJQDaCXRMtqO3fTHdmZ653pbsoVuLvyZa53BpXKtk26Y61jeFmwBQRBEIsjIiIiorpYXDVCo9HAYDDYtJeVldk9o0VERETE4qoRgYGBNnOrqqqqUFhYyE8KEhERkV0srhoRGRmJnJwc3LhxQ2z76KOPUFVVhaioKCdGRkRERHKlEARpPqt2JzIYDIiJiUHPnj0RHx%2BPa9eu4eWXX8awYcN4E1EiIiKyi8VVEwoKCpCYmIizZ8/C3d0dMTExWL58Odzd3Z0dGhEREckQiysiIiIiCXHOFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFFREREZGEWFwRERERSYjFVTsrKChAbGwsBg0ahCFDhiAxMRGVlZXODqtZsrKyEB8fj6ioKAwaNAjjx4/HgQMHYDabxT6rVq1CUFCQzb/Tp0/bLC8lJQXR0dEICQnB5MmTcebMmfZMp1GHDx%2B2m0f9m8jqdDpMnDgRISEhGDlyJNLS0uwuT865AsCMGTPs5hsUFIRjx44BcN2x/fHHH5GQkIAJEyYgODgYMTExdvtJOZbl5eVISEhAeHg4QkNDMW/ePFy%2BfFnSvOxpKleTyYTXX38dTz/9NCIiIhAWFobp06fjs88%2Bs1lWdHS03fE2Go1W/eSaKyD9NivnXBvaf4OCgvDzzz%2BL/eQ%2Bro4cZwD57q8dWvRb1CIGgwGzZs1CQEAAkpKScP36dWzatAmlpaUudcf3/fv3IyAgAC%2B88AK6du2KM2fO4K9//SsuXryIlStXiv169eplk1f972RMSUnB9u3bsXTpUgQHByM9PR1xcXFIT09HUFBQu%2BTjiH379sHb21t87OfnJ/6cl5eH%2BPh4TJgwAatWrUJubi4SExOhVqsxdepUsZ8r5PrSSy%2BhvLzcqi01NRUffvghhgwZIra54th%2B99130Ol0GDhwIMxmM%2Bzd4k/qsVy2bBkuXLiAtWvXwsvLC0lJSZg9ezbef//9Nr0RcVO5VlZWYs%2BePZg4cSJiY2PRoUMHvPfee5g9ezZee%2B01PProo1b9R40ahTlz5li1qdVqq8dyzdVCym1WzrkePHjQpm3lypXw8PBAjx49rNrlPK6OHGdkvb8K1G727NkjDBw4ULh27ZrY9v777wtarVbIz893YmTNUzd%2Bi40bNwohISGC0WgUBEEQVq5cKYwbN67R5RiNRuGhhx4SNm/eLLbV1NQIY8aMEZ577jlpg26hQ4cOCVqt1m7OFrGxscKUKVOs2tasWSMMHTpUMJlMgiC4Rq4NiY6OFuLi4sTHrjq2lrEQhIZzkHIsz507J2i1WuHUqVNi2%2BXLl4Xg4GDhwIEDkuVlT1O51tTUCKWlpVZtZrNZmDRpkvD0009btT/66KPC%2BvXrG309OefaWHtdd8K42nPx4kVBq9UKr7/%2BulW73MfVkeOMnPdXXhZsR6dPn8aQIUPg6%2Bsrto0aNQpqtRo6nc6JkTVP3fgtHnjgARiNRpSWljq8nNzcXJSVlVmd2lapVBg7dix0Ol2Df4HKSVVVFXJycjBu3Dir9vHjx6O4uBhff/01ANfNNTc3F5cuXcL48eOb/Xtyy1epbPztTuqx1Ol00Gg0iIyMFPsFBARg8ODBbb6/N5WrSqVC586drdoUCgXuv/9%2Bq0tHjpJzro66E8bVnoyMDCgUigYvgzfGmbk2dZyR%2B/7K4qod6fV6m9PQarUavXv3hl6vd1JU0jh79ix8fHzQtWtXsa2wsBAPP/wwBgwYgCeeeAIff/yx1e9Ycu7bt69Ve2BgICoqKnD16tW2D9xBMTExeOCBBzBixAjs2bMHJpMJQG2O1dXVNjn069cPwK85ulKudWVkZMDDwwMjRoywar%2BTxtZC6rHU6/Xo06cPFAqFzfLkuL%2BbzWbk5eXZvEcBwNGjRzFgwACEhoYiLi4O//3vf62ed4VcpdpmXSHXuo4dO4awsDD4%2B/vbPOdq41r3OCP3/ZVzrtqRwWCARqOxaddoNLh586YTIpLG%2BfPncfjwYSxYsAAqlQpA7V8YISEh6NevH8rKyvDOO%2B9gwYIF2LlzJ0aPHg2gdn2o1Wqba9mWv6hLS0vtviG0p%2B7du2PRokUYOHAgFAoFTp48iR07duDq1atISEgQx63%2BuFoeW553hVzrq6mpwQcffIARI0agU6dOYvudMrb1ST2WBoPBap5e3eXJcX9/6623UFBQgA0bNli1R0dH48EHH0RAQAAuXryI5ORk/OlPf8KRI0fQq1cvAJB9rlJus3LPta5vv/0W//vf/2zGFHC9ca1/nJH7/sriSgYEQbCpll1FcXExFi9ejJCQEMTFxYnts2bNsuoXHR2NadOmISkpSXwzA2A3b8tpWjmsk%2BHDh2P48OHi42HDhsHNzQ2pqamYN2%2Be2N5QrHXb5Z5rfZ9%2B%2BimuXbtmcznhThnbhkg5lo4sSw4%2B//xzbNmyBXPmzEFYWJjVc2vWrBF/fvjhhzF06FCMGTMGKSkpWLdunficnHOVepuVc651HT16FB07dsSoUaNsnnOlcW3oONNYHM7eX3lZsB1pNBoYDAab9rKyMrtntOSurKwMcXFxcHd3x2uvvYaOHTs22FepVOKxxx6DXq8Xbz2h0WhgNBptPvprWUf154TIxZgxY2AymfDNN9%2BIMdb/y8aSg2VcXTHXjIwM%2BPj4YNiwYY32u1PGVuqxbGh/b%2BgMtrN8%2B%2B23iI%2BPxx/%2B8AesWLGiyf49evTAQw89hAsXLohtrpKrRWu2WVfJVRAEZGZmYvjw4fDx8Wmyv1zHtaHjjNz3VxZX7SgwMNDm2m1VVRUKCwvtznOQM6PRiPnz56OkpAT79u1Dly5dmvyd%2BpOYLTnXXyd6vR6enp5WtzuQq969e6Njx474/vvvrdrz8/MB/Jqjq%2BVaWVmJEydOYPTo0Y0WzRZ3wthKPZaBgYEoKCiwWTf5%2Bfmy2d8LCwvxzDPPIDg4GK%2B88orDf6HbG2%2B551pfS7dZV8n17Nmz%2BOmnn5r1YRS5jWtjxxm5768srtpRZGQkcnJycOPGDbHto48%2BQlVVFaKiopwYWfPU1NRgyZIl%2BPbbb7Fv3z707Nmzyd8xm804fvw4%2BvfvL177Hjx4MLy9vZGZmSn2M5lMyMrKQlRUlOxOsVtkZmZCpVIhODgYarUaERERyMrKsuqTkZGB7t27Izg4GIDr5Xry5ElUVFQ49MZ8p4yt1GMZFRUFg8GA7OxssV9RURFyc3Nlsb8XFxdjzpw56NatG3bv3m1zf6OGXL16Fbm5uQgJCRHb5J5rfa3ZZl0l16NHj6JTp0429yxriNzGtanjjNz3V9W6uhdXqU31798fhw4dQnZ2Nvz8/JCXl4eNGzdi5MiRmDZtmrPDc9i6deuQkZGBJUuWoEePHrhy5Yr4z8vLC8XFxViwYAGqq6tRVlaGCxcuIDExEXl5eVi/fr34V4BKpYJKpUJycjLc3d1hNBqxc%2BdO5OXl4ZVXXkG3bt2cnCkQGxuLn3/%2BGeXl5fjxxx/xxhtvIC0tDTNmzBDnavTq1QvJyckoKiqCp6cnjh49iv3792P16tUYMGAAANfIta5t27bBaDRi9erVVoXQ5cuXXXZsb9%2B%2BjRMnTiA/Px%2BffvopSkpK4O/vj/z8fPj6%2BsLDw0PSsfT398dXX32FgwcPws/PD0VFRUhISIC7uzs2bNiADh3absprU7kqFArMnDkTV65cwZo1a1BZWWm1H1s%2BbJCRkYG9e/eisrISN27cwGeffYYXX3wRVVVV2LRpk3hJRc65Xr9%2BXdJtVs65enh4AKgtTF588UU8%2BuijGDt2rM1yXGFcmzrOqNVqWe%2BvCkGuN9i5QxUUFCAxMRFnz56Fu7s7YmJisHz58ja9063UoqOjG/xKgDfffBNBQUFYvXo1Lly4gOvXr6Njx44YMGAA5s6dazU5HKg9DZ2SkoK0tDSUlJRAq9VixYoViIiIaI9UmpSYmIjs7GxcuXIFZrMZ9913H6ZOnYoZM2ZYFR06nQ7btm2DXq%2BHv78/Zs%2BejenTp1stS%2B65Wty8eRNDhw7FrFmzbObglJaWuuzYXrp0yeaWEhZvvvkmwsPDAUg7luXl5di8eTOOHz%2BO6upqhIeHY%2B3atQ6d7W2NpnLt2bNng88DED%2BSf%2B7cOWzduhXfffcdysrK4O3tjYiICCxevNjmo%2B1yzbUt3o/kmqtlGz516hSeffZZ7N271%2B5ZF1cY16aOM3LfX1lcEREREUmIc66IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6IiIiIJMTiioiIiEhCLK6ISBYOHz6MoKAg8V9wcDCGDRuGpUuX4ocffnB6XJcuXWq0365duxAUFNROUTVNp9Nh165ddp8LCgrChg0b2jkiortH230xEBFRC2zatAl9%2B/aF0WhEbm4ukpOTcebMGWRlZYnfeUZN0%2Bl0SEtLw6JFi5wdCtFdh8UVEclK//79ERISAgAIDw%2BHyWTCrl278PHHH2Py5MlOjo6IqGm8LEhEsmYptK5du2bzXGZmJp566ikMGjQIoaGhiI2Nxddff23V5/z581i6dCmio6Px4IMPIjo6Gs8//7zdL4U9d%2B4cpk2bhpCQEAwbNgxbt25FTU1Nq%2BJ3JMZVq1YhNDQUP/74I%2BLi4hAaGoqoqCi8/PLLqKqqsup75coVLF68GKGhoXj44YexbNkyfPnllwgKCsLhw4fF5aWlpQGA1aXW%2Bpc2jxw5gjFjxmDgwIF4/PHH8a9//atVuRJRLZ65IiJZsxQE9913n1V7cnIyduzYgSeeeALz589HdXU1UlJSMH36dKSnp6Nfv34AgMuXL6NPnz4YN24cOnfujOLiYrzzzjuYMmUKjh07Bl9fXwBAfn4%2B/vznP6Nnz554%2BeWX4e7ujgMHDiAjI6PFsTsaIwBUV1dj/vz5mDJlCubMmYMTEcQbAAAFKklEQVQvvvgCu3fvhpeXFxYuXAgAuHXrFmbOnImbN29i%2BfLluPfee5GdnY2lS5davW58fDxu3bqF48eP4%2BDBg2J7jx49xJ9PnTqF8%2BfPY/HixejUqRP27duHhQsX4oMPPkCvXr1anDMRARCIiGTg0KFDglarFc6dOydUV1cL5eXlwunTp4WhQ4cK06dPF6qrq8W%2BP/30kxAcHCz85S9/sVpGeXm5MHToUGHJkiUNvk5NTY1QUVEhDBo0SEhNTRXbn3vuOeHBBx8UiouLrfqOHj1a0Gq1wsWLFxuNPykpSdBqtS2KceXKlYJWqxUyMzOt%2BsbFxQmjRo0SH7/99tuCVqsVdDqdVb%2B1a9cKWq1WOHTokNi2fv16q3jq0mq1wu9%2B9zuhrKxMbCsuLhbuv/9%2BYc%2BePY3mSURN45krIpKVJ5980upxYGAgdu/ejQ4dfn27%2BuSTT1BTU4MJEyZYXbZzc3NDWFgYzpw5I7ZVVFRg9%2B7d%2BPDDD3H58mWYTCbxOb1eL/585swZDBkyBN26dRPbVCoVxo4di7/97W/NzqM5MQKAQqFAdHS0VVtQUBBycnLEx1988QU8PT0RGRlp1S8mJsbqDJUjwsPD4eXlJT7u1q0bunbtavdyKRE1D4srIpKVzZs3IzAwEBUVFcjMzMTBgwfx/PPPY9%2B%2BfWKfkpISAMCUKVPsLkOp/HU66bJly5CTk4P4%2BHiEhITA09MTCoUCc%2BfOhdFoFPuVlpZaFVYW9toc0ZwYAcDDwwNubm5WbWq12qEYu3bt2uz4fHx8bNrqvx4RtQyLKyKSlcDAQHESe0REBMxmM9LT0/HBBx9g9OjRAIAuXboAAJKSkhAQENDgssrKynDq1CksXLgQc%2BfOFdurqqpw8%2BZNq74%2BPj5iQVSXvTZHOBpjc/j4%2BODLL7%2B0aW9pjETUNlhcEZGsrVixAh9%2B%2BCGSkpLw2GOPQalUYtiwYejQoQMKCwsxatSoBn9XoVBAEASo1Wqr9vT0dKvLg0DtZbKTJ0%2BipKREPDtkMpmQmZnZorgdjbE5wsLCkJWVBZ1Oh6ioKLH92LFjNn0tOVdWVsLd3V2S1ycix7C4IiJZ69y5M%2BbOnYstW7bg6NGjmDBhAu655x4sXrwYO3bswMWLFxEZGQmNRoOSkhKcP38eHh4eWLx4Mby8vBAWFoaUlBR06dIFPXv2xOeff453330XGo3G6nXmz5%2BPkydPYtasWViwYAHc3d2RlpaG27dvtyhuR2NsjkmTJiE1NRUvvPAClixZgnvvvRenT5/GJ598AsD6UqNWqwUAvP7664iMjIRSqURQUJBNoUlE0uN9rohI9mbMmIGAgADs3r1bPOP07LPPYufOnfjhhx%2BwcuVKxMbG4tVXX8Xly5cRFhYm/u7WrVsRHh6OLVu2YOHChfjqq6%2Bwf/9%2BeHt7W72GVqvF/v374eXlhZUrVyIhIQFBQUGIj49vcdyOxuioTp06ITU1FY888gi2bNmCRYsWoaioCC%2B99BIAWOUUExODqVOn4sCBA3jqqacwZcoU/Pzzzy3OhYgcpxAEQXB2EERE1HKW%2B2mdOnUK/v7%2Bzg6H6K7Hy4JERC7k7bffBgD07dsX1dXVyMnJwVtvvYXHH3%2BchRWRTLC4IiJyIe7u7khNTcWlS5dQXV2N3/zmN4iLi8P8%2BfOdHRoR/YKXBYmIiIgkxAntRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkIRZXRERERBJicUVEREQkof8HK7BpuEn9LEoAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -207,7 +209,40 @@
 <br>
 
 <h3 id="Weighted_Histogram_of_read_lengths_after_log_transformation">Weighted Histogram of read lengths after log transformation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm4AAAHKCAYAAAC6zcd2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVxUVf8H8M/M4AACA5KKoWKKDoJigMmSCi5hpmApUrik4ZK4oLmUK1aKuJW4IYShuf5MSkkNn9RKtKdEE54WH7UkcyXUBAdRGZi5vz94ZnKYEZlhEEc%2B79eLl8695577vXPuvXw55y4iQRAEEBEREdFjT1zXARARERFR9TBxIyIiIrIQTNyIiIiILAQTNyIiIiILwcSNiIiIyEIwcSMiIiKyEEzciIiIiCwEEzciIiIiC8HEjYiIiMhCMHGrJf/617/g4eGBzMxMvXkDBgyAh4cHjh49qjfvhRdewMCBA41e34wZMxAaGmpSrImJifDw8IBCoXho2XXr1uHrr782aT1VuXDhAjw8PPDFF19UWe7777%2BHh4cHDh06ZHD%2B/Pnz4eXlpTNtyJAheOONN4yK57fffsOaNWtw9epVo5arz/79739j0KBB8PHxgYeHB7799tu6DqlKwcHBmDt3bpVlysvL4eHhgXXr1j2iqKpWUlKCNWvW4MSJE3rzjDmOa5sgCPjwww8REhICLy8vBAQEAAC2bt2KjIyMRxqLKce/Ofz1119Ys2YNzpw588jXbYpff/0VQ4cOhZ%2BfHzw8PLB169a6DsloD9q/qvv7xVJY1XUATyp/f3%2BIRCIcO3YM/fr1004vKirCb7/9hoYNGyI7Oxvdu3fXzvvrr79w6dIlREdHG72%2ByZMno6SkxCyxVyU5ORkDBgxA7969a31d5rJw4UKIRCKjlvn999%2Bxdu1aBAUFwdXVtZYie3KoVCpMmTIF7dq1Q3JyMmxtbdGmTZu6DuuJc%2BfOHaxduxYSiQRdunSp63Ae6MCBA0hNTcXEiRPRtWtXWFtbA6j4xdqsWTO88sordRxh7fvrr7%2Bwdu1auLm5oX379nUdzkPNnj0bZWVlWLlyJWQyGVq0aFHXIRntQfvX008/jU8//RRubm51FJl5MXGrJc7OzmjXrh2OHz%2BuM/3EiROwsrJCREQEsrOzdeYdO3YMALR/nRrjSdkha0Pbtm3rOgSjqVQqqFQqSKXSug6lWv766y8UFxejT58%2BCAoKMnp5pVIJsVgMKyuekp4Ev//%2BOwBgxIgRcHJyqtV1CYIApVKpTQ4t1d27d2Fra1sn61ar1Th37hyGDRuG4OBgs9T5OB3TUqkUPj4%2BdR2G2XCotBYFBATg/PnzuHbtmnZadnY2OnbsiJCQEJw6dQq3b9/Wzjt%2B/DgkEgmee%2B457TRBELB161YMGDAA3t7e6NKlCyZPnoxLly7prMvQUGlRURFmz56NLl26wNfXFzExMfjzzz8fOPRz/fp1vPXWW/Dz80PXrl0xd%2B5cbXyaISOlUonPPvsMHh4e8PDw0BmCKCgowLx589C9e3d07NgRL7zwAtatWweVSqWznoKCAkyePBm%2Bvr547rnnMH36dPz999/Gf8HVZGioZNu2bQgPD4evry98fX3Rt29frFy5EgCQnp6OadOmAQCGDRum3db7u9l37tyJ8PBweHt7w9/fH5MmTcIff/yht%2B4dO3agT58%2B8Pb2RlhYGDIzM/XaStONv2HDBqxduxa9evWCt7c3fvzxR9y7dw%2BLFy/GgAED0LlzZ/j7%2ByMqKgrffPONzno07bNo0SKkp6fjxRdfRKdOnRAREYGff/4ZgiAgNTUVvXr1gq%2BvL9544w29fehBTpw4gREjRsDX1xfPPvssoqKikJWVpZ2fmJiIXr16AQCWLFkCDw%2BPKoftNcPde/fuRUJCArp164ZOnTrhypUrAKq/H61atQqDBw%2BGv78//Pz8MGjQIOzatQuCIOiUUyqVWLp0Kbp27Ypnn30WQ4cOxS%2B//FKtbX%2BQ6sSoaddPPvkEH3/8sfa7j4qKws8//6xX58P2lQsXLqBbt27abdfsl5WHe6s6jjUyMzMxePBgdO7cGT4%2BPnjhhRcwb968h273li1bMHToUAQGBsLHxwfh4eFIS0tDeXm5tkxwcDDWrFkDoOIcqDnfBAcH4/z58/jhhx%2B0sd%2B/nxQXF2PJkiXo1asXOnbsiODgYCxevBh3797Vlrl/P9%2B2bRv69u2Ljh07Ys%2BePQ%2BN/X6FhYWYP38%2BunXrho4dO6J3795YuXIllEqlTjljz6Ea33//PV577TUAwDvvvKPdXs0yM2bMwHPPPYczZ84gOjoavr6%2BGDVqFADg6NGjiImJQXBwMDp16oQ%2BffrgvffeQ2Fhoc46NEPjeXl5NWrv9PR0eHp6Qq1WY8uWLfDw8NC53OTs2bOIiYnBc889B29vb7zyyit6w5FVHdPp6enw8PBAdnY25syZA39/f3Tu3BmzZs3C3bt3tb8POnfujG7dumH58uU6%2BxNQvWO9qv3rQUOlDzu3ab4fDw8PnDhxAvPnz0dAQAACAgIwefJkXL9%2B/YH7QG2q%2B1T4CRYYGIgtW7bg%2BPHjCAsLA1CRuPXs2RN%2Bfn4QiUQ4efIkQkJCtPO8vLzg4OCgrWPOnDnYu3cvRowYgbfffhtFRUVISkrCkCFDsGfPHjg7Oxtct0qlwrhx43DmzBnExsbC09MTOTk5ePPNNx8Y76RJk9C/f3%2B8%2BuqrOHPmDBITEyEWi7Fw4UJYWVnh008/xfDhw9G9e3eMGzcOALSxFhQUIDIyEg0aNEBsbCxatmyJkydPYt26dbh69Sri4%2BMBVPxVOWLECNy8eRMzZsyAm5sbDh8%2BjOnTpxv13arVar2Du7q%2B%2BOILLFiwACNGjECPHj0gEolw4cIFnD9/HgDQu3dvXL9%2BHatWrcKCBQvg4eEB4J9ezaSkJKxevRrh4eGYMWMGCgsLsWbNGrz22mv4/PPPteW2bduGBQsWoG/fvpg7dy5u3bqFVatWQalUGvwr9JNPPkGbNm0wa9Ys2NnZ4ZlnnsG9e/egUCgwZswYNG3aFEqlEt9//z0mTpyIZcuWITw8XKeOr7/%2BGqdOncKMGTMAAMuXL8ebb76J8PBw5OfnY/78%2Bbh16xaWLl2KKVOmYNeuXVV%2BVz/88APGjBkDLy8vJCQkoEGDBti6dSvGjRuHlStXom/fvhgyZAg8PT0xZcoUjBw5Ev369atW78fy5cvh5%2BeHhQsXAgCcnJyqvR8BwNWrVzFkyBA8/fTTEAQB//nPf/Dee%2B/h2rVriImJ0ZabM2cOvvzyS4wePRpBQUE4e/YsJk6cqPfLrbqMiREANm/ejLZt22LOnDkAgJUrV2Ls2LH4%2BuuvYW9vD6B6%2B8rTTz%2BN1NRUvPnmm3jttdcwaNAgAMBTTz2ls76qjmMA%2BPHHHzFt2jSEhYUhNjYW1tbWuHLlisHr5iq7ePEiwsPD0aJFC1hZWeHMmTNISUnBn3/%2Bqa0/JSUFW7Zswa5du7Bx40Y0bNgQTz/9NHr06IFJkybB2dlZmzRo9pOSkhIMHToUN27cQExMDORyOc6ePYs1a9bg999/R1pams7lDl999RWeeuopxMbG4qmnnkLjxo2r3X6ac9Dly5cxefJkyOVyHD9%2BHKmpqTh79iySk5MBmHYO1ejUqRPi4%2BMxb948xMbGahPup59%2BWlumtLQUEyZMQFRUFN58802o1Wrtd%2Bzn54dXX30VDg4OuHz5MjZs2IDhw4fjiy%2B%2B0Dt31LS9e/fujTZt2mDo0KHo168fRo4cqf2uz507h6ioKDRp0gRxcXFwdHRERkYGZs6cicLCQr3Legwd0xpz585Fnz59kJiYiFOnTmHlypVQqVT4/fff8dJLLyEqKgpHjx7Fxx9/DBcXF4wYMUK7bHWO9ZSUlAfuX4ZU59x2vzlz5qBnz5748MMPcfXqVSxfvhwzZ87Ehg0bqtwXaoVAtaaoqEho3769EBcXJwiCINy8eVPw8PAQjhw5IgiCIAwePFhYsmSJIAiCcPXqVUEulwvLli3TLn/ixAlBLpcLmzZt0qn38uXLQseOHYUVK1Zop02fPl144YUXtJ8PHTokyOVyYefOnTrLJiUlCXK5XEhKStJOW7FihSCXy4WNGzfqlI2LixN8fHx0pnXs2FGYM2eO3rbOmTNH8PPzE/Lz83Wmf/TRR4KHh4fwxx9/CIIgCFu2bBHkcrlw%2BPBhnXKzZs0S5HK5kJGRoVf3/f79738Lcrm8yh9PT0%2BdZaKiooSRI0dqP8%2BfP18ICAiocj379u0T5HK5cOLECZ3pN2/eFDp27CjExMToTL906ZLQoUMH4Z133hEEQRDKysqEwMBAISoqSqfcxYsXBS8vL522%2BvPPPwW5XC706dNHKCsrqzKu8vJyoaysTJg5c6YQERGhnV5WVibI5XKhW7duwp07d7TT//WvfwlyuVwYOHCgoFartdPT0tIEuVwunDt3rsr1DRo0SOjatatOneXl5cJLL70k9OzZU28bKu9DhmjacMSIEXrzqrsfVaZSqYSysjJh1apVQlBQkHb62bNnBblcLixdulSn/O7duwW5XG5wX76f5nu9/3ipboya7%2BTll18WVCqVtlxOTo4gl8uF/fv3a9dR3X3l2rVrevFoVPc4/uijjwS5XC6UlJRUue0Po/nOP/vsM8HLy0soLi7Wi%2BXWrVs6y7z44os6x6JGUlKS4OnpKZw6dUpn%2BpdffinI5XLhu%2B%2B%2BEwThn/bo0qWLoFAoqhVn5eN/69atglwuFw4cOKBTLjk5WZDL5cIPP/wgCIJx51BDcnNzH3hOmz59uiCXy4Xdu3dXWYdarRbKysqEixcv6p03zdnemu81Pj5eZ3psbKzg7e0t/PXXXzrTR40aJfj4%2BGjbvKpjeufOnYJcLhcSEhJ0po8bN06Qy%2BXC5s2bdaaHhYUJgwcPfmCsDzrWBeHB%2B5fmWLy/Lap7btPEv3DhQp06U1JSBLlcLvz9998PjLW2cKi0Fjk6OqJ9%2B/baa9lOnDgBiUQCPz8/AECXLl208zT/3n992%2BHDhyEWixEeHo7y8nLtj4uLC%2BRyud41cvfT/DX10ksv6UzX9PwZohnu0vDw8MCdO3f0uugNOXz4MIKCgtC4cWOdWIODgyEIgjae7OxsyGQybS%2BjRuWeo4eZOXMmPvvsM72fPn36PHTZTp06obCwENOnT8fXX39dre3TyM3NhVKp1PZ2aLRo0QL%2B/v744YcfAAB5eXm4efOm3vffsmVLPPvsswbr7t27t8GeuMzMTERFRcHHxwdeXl7o0KEDdu/ejby8PL2yQUFBOtfJuLu7AwBCQkJ0eiw00zXDk4bcvn0bp06dQt%2B%2BfXXqlEgkGDBgAK5cuYILFy48cPmHMdRW1d2PgIrhmZEjR6Jz587w9PREhw4dkJSUhL///lvbpppjZMCAATrr6devH8Ri005/xsQIAD169NBZl6YHV3PHsin7SlUedhx36tQJQMUNTZmZmSgoKKh23b/%2B%2BitiYmIQEBCg/c7nzJmD8vJy/Pnnn0bHqnH48GG0b98ecrlc5zvV3LxV%2BVrhoKAgnZEJYxw7dgz29vZ6w/mau/k1x7Ap51BjGToGbty4gbi4OAQHB2uP9xdeeAEADB7ztdne2dnZ6Nq1K1xcXHSmv/LKK7hz547ekH9V598ePXrofNbcvGRoeuW7%2BatzrBvDlHNb5RvyKh/HjxKHSmtZQEAANm7ciIKCAmRnZ6NDhw6ws7MDUHHn6caNG1FcXIzs7GxYWVmhc%2BfO2mX//vtvqNVqBAYGGqz7mWeeeeB6i4qKYG1trR2K0ag8rHK/yhcRay6MLy0trXIbNbEePHgQHTp0MDhfc3AVFRUZHNYwZqgDqBi29Pb21pveqFGjhy47aNAgqNVqfPbZZ4iNjYUgCPD29sbUqVMfemF9UVERAKBJkyZ685o2bYoff/xRp9yDttXQtRFNmzbVm5aZmYmpU6eiX79%2BGDNmDBo3bgyJRIKtW7di7969euUdHR11Pjdo0KDK6ZWv6blfUVERBEEwGJdmWlFREVq1avXAOqpiqN7q7ke5ubkYM2YMAgMDER8fj2bNmsHKykp7N6Nmn31QO0ilUshkMpPirm6MGg86ru7du1dljJppxl5H87DjODAwEGvXrsWWLVvwzjvvoKysDHK5HOPHj9e5A76yS5cuYfjw4XB3d8ecOXPQokULSKVS5ObmYtGiRdrtMcWNGzdw5cqVan%2Bnho6/6ioqKjK4fJMmTSASibTtYco51Bj29vZo2LChzjSVSoXo6GjcvHkT48ePR7t27WBra4uysjIMHTrU4HdcW%2B0NALdu3XrguQ74Z9%2BtPN2QynFWdW66/3dOdY91Y5hybnvYcfwoMXGrZZrE7fjx4zh%2B/LjOHTuaJO3EiRPIzs6Gt7e3NqkDKnYUsViM7du3G%2ByJqWr83snJCaWlpSguLtb5y/TGjRvm2CyD6%2BvUqRNiY2MNztf8xebk5GTwuUa1FZchIpEIkZGRiIyMRElJCU6cOIHVq1dj3LhxOHDgAJo1a/bAZTUHr6FfpteuXdMmjppyhrbLmF/Ee/bswTPPPIMVK1bo9JhVlXCZi5OTE0Qikc7NNRqaadVJlB/E0CNaqrsfffnll5BKpUhJSdG58/arr77Sqw%2BoaIf7EyOlUmny886qG6Mx9WlirKy2Ln4ODQ1FaGgolEolcnJykJqaimnTpqFFixbaHprKDh06hLt37yIpKUnnGPn1119rHE%2BjRo0gk8m010ZVVvlaXmMf73M/JycnnD59Wm/69evXIQiCzjFcm%2BdQQ9tw5swZ/Pbbb1i%2BfLlOL7GhnjZjmNLeQEVS9aBzHaB//NekXR6kuse6MWr73FbbOFRay7p06QKJRIKvvvoKv//%2BO/z9/bXzHBwc4OnpiYyMDFy5ckXvMSA9e/aEWq3G9evX4e3trfcjl8urXC8A7N%2B/X2f6l19%2BWaPtkUqlBv/C6NmzJ86ePYtnnnnGYKyav2ICAgKgUCj07twx1Hv0KNjZ2aFHjx4YN24cSktLce7cOQAP7m308/ODVCrVu4vt6tWrOH78uLbHzt3dHc7Oznrf/6VLlwzeUfggIpEIDRo00DkhFhQU4PDhw9Wuw1T29vbo2LEjDhw4oPM9qFQq7N27F82bNzf7Y2iqux8BgJWVlc4Q5N27d/XaRXNMVZ6emZmpvRi8NmOsDmP2FWN6watDKpUiMDAQ06ZNgyAIBhMaDc0%2BeP8vT7VajfT0dKPW96Dzx4ULF%2BDs7GzwO23evLkRW1W1wMBAFBcX692ZrbnjUHMM1/QcakpbGfqOAeDTTz%2Btdh0Pi6m67Q1UfFc//PCDXrKakZGBhg0bGhz1qA3VOdaBB%2B9fldXFuc2c2ONWy%2Bzt7eHl5YVDhw5BLBbrDIUCFSeHTZs2AdB/fpu/vz8iIiIwc%2BZM/PTTT%2BjSpQtsbGxw/fp1/Pjjj/Dy8tLecl5Zjx494OPjg0WLFkGhUMDLyws5OTnand3U63s019Z9%2B%2B23aNy4Mezt7dG6dWu89dZb%2BOGHHxAVFYXhw4ejdevWKC0txeXLl3H48GEkJCSgSZMmGDRoEDZv3oy3334bU6ZMQatWrfDtt99qn2H3KMyePRt2dnbw8/NDkyZNcP36daSkpMDR0VE7VNOuXTsAFSdMa2trWFtbo2XLlnByckJMTAxWr16N2bNn46WXXsLNmzexdu1a2NraYsKECQAqTjSTJk3CggUL8NZbb2HgwIG4desWkpKS0LRp02p//z179kRcXBwWLlyIF154Afn5%2Bdo6qvs4j5qYPn06xowZg5EjRyI6OhoSiQTbt29HXl4eVq1aZfb1VXc/6tGjB7Zs2YK3334bkZGRKCwsxMcff6z3HCy5XI7%2B/ftj48aNkEgkCAwMxG%2B//YaNGzfq9G7XRozVZcy%2B4ujoCBcXFxw8eBD%2B/v6QyWRwdnY2KrFZsWIFbty4gaCgILi4uEChUGDTpk1o0KCBzqOIKuvatSsaNGiAadOmITo6GqWlpdi%2BfbtRD/6Wy%2BU4cOAAMjMz0aJFC9jY2EAul%2BONN97AwYMHMXz4cIwcORJyuRwqlQr5%2Bfn47rvvMHbsWLMlCYMGDcKOHTvw9ttvY/LkyWjbti1%2B/PFH7eNyNOfhmp5DW7VqBWtra3zxxRd45plnYGtrCxcXlyoT%2B7Zt26J58%2BZYvnw5VCoVHBwc8M0332ivuzOFqe0NALGxsThy5Ahef/11TJgwATKZDF988QW%2B%2B%2B47zJo1S28YuTZU91gHHrx/GfKoz23mxMTtEQgICMAvv/wCT09PvR29S5cu%2BOSTT9CgQQP4%2BvrqLbto0SL4%2Bvpi586d2LZtGwRBgIuLC/z8/Ko8kUkkEnz00UdYsmQJUlJSUF5ejs6dO2Pp0qWIiooy%2BcLeefPmYeHChXjrrbdw7949BAUF4ZNPPoGLiws%2B//xzJCcnY/369bh27Rrs7OzQokULdO/eXbu%2Bhg0bYtOmTUhISMAHH3wAsViMbt264YMPPsDQoUNNislYzz33HL744gvs378ft27dQqNGjdClSxd8%2BOGH2u7xZ555BrNmzcKWLVswYsQIqFQqLFu2DC%2B//DImTpyIxo0ba68zs7W1hb%2B/P6ZNm6bzV9qwYcMgFouxYcMGHDp0CC1atMD48eOxf//%2Baj%2B3LjIyEjdv3sTOnTuxc%2BdOuLm5Yfz48bh06RLWr19fK9/P/YKCgrBx40asXbsWs2bNglqthqenJz766CO9G0zMobr7Ubdu3RAfH4%2BPP/4Y48aNg4uLC1577TXIZDLMnz9fp84lS5agSZMm%2BOyzz7Bp0yZ4eXlh7dq1mDRpUq3GaAxj9pXFixdj2bJliImJgVKpxODBg7Fo0aJqr8vHxwfbt2/HsmXLUFhYCJlMhk6dOmHz5s3am1YMadeuHVatWoVVq1YhNjYWjRo1Qnh4ON544w3t44EeZsqUKbh58ybmzp2LO3fuwM3NDQcPHoS9vT22b9%2BO1NRU7NixA5cvX4aNjQ1cXV3x/PPPm7XHzdbWFps3b0ZiYiLWr1%2BPwsJCuLi4YMyYMZg4caK2XE3PoXZ2doiPj8e6deswatQolJWVYcqUKdo/7gyRSqX46KOPkJCQgLi4OFhZWaFr167YsGGD3k0I1WVqewMVieT//d//YeXKlXjvvfegVCrh7u6OpUuXPrK3XxhzrD9o/zLkUZ/bzEkkCJWeVklPNM0zeNLT06u8toFqx61bt9CnTx%2B89NJLeO%2B99%2Bo6HHqMcV95PPEcSnWNPW5PsD179uDGjRto164dRCIR/vOf/yAtLQ0BAQE84TwCBQUFWL9%2BPfz9/eHk5IQrV65g48aNuHfvHl5//fW6Do8eI9xXHk88h9LjiInbE6xhw4bYt28fLly4gHv37qFp06YYPHgwpkyZUteh1QtSqRSXLl1CZmYmbt26BVtbW/j4%2BCA%2BPv6hQxRUv3BfeTzxHEqPIw6VEhEREVkIPg6EiIiIyEIwcSMiIiKyEEzciIiIiCwEEzciIiIiC8G7SuuAIAhQq3lPSH0hFovY3vUI27t%2BYXvXH2KxqFbex2osJm51QCQSQaG4g/Jy096VSJbDykqMRo3s2N71BNu7fmF71y/OznaQSOo%2BceNQKREREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGs6joAIiIi0lBDLL5q%2BtJqV7BP5snGxI2IiOgxIRZfhaPjKxCEBkYvKxKV4datDKjVLWohMnpcMHEjIiJ6jFQkbVITljN/LPT4YX8qERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYWo88Rt165d8PDw0Pv54IMPdMplZWXhlVdegbe3N0JDQ7Ft2zaD9aWlpaFXr17w9vZGREQEsrOz9crcvn0b8%2BfPR0BAAHx9fRETE4MrV67olTt//jxGjx4NHx8fBAUFIT4%2BHvfu3TPPhhMREREZyaquA9D4%2BOOP4eDgoP3s4uKi/X9ubi4mTJiAl19%2BGbNmzUJOTg7i4%2BMhlUoRGRmpLZeWlobExERMnToVXl5eSE9Px9ixY5Geng4PDw9tuenTp%2BPUqVOIi4uDvb09Vq9ejejoaOzZswc2NjYAAIVCgZEjR8LV1RWrV6/GzZs3sXjxYhQVFekllURERESPwmOTuHXo0AHOzs4G5yUlJcHLywsJCQkAgMDAQOTn52PVqlWIiIiAWCyGUqlEcnIyRowYgdGjRwMA/P39ER4ejpSUFCQmJgIAfvrpJxw%2BfBipqakICQkBAMjlcoSGhmL37t0YMmQIAGDHjh1QKBTIyMjQxiWRSDBjxgyMHz8e7u7utfp9EBEREVVW50OlD6NUKnHs2DH0799fZ3p4eDiuX7%2BO//73vwCAnJwcFBcXIywsTFtGIpGgX79%2ByMrKgiAIACqGXGUyGYKDg7XlXF1d4efnh6ysLO20I0eOICgoSCeZfPHFFyGVSnXKERERET0qj02PW1hYGAoLC%2BHq6opXX30VY8aMgUQiwcWLF1FWVoY2bdrolG/bti0AIC8vDx07dkReXh4A6JVzd3dHSUkJCgoK0KxZM%2BTl5aF169YQiUR69X333Xfaz3l5eYiIiNApI5VK4ebmpl1XTUgkj33OTGagaWe2d/3A9q5faqO9RSIxKv16MopEIoZYzP2vNtSkXcypzhO3Jk2aIDY2Fs8%2B%2ByxEIhG%2B%2Bat30OMAACAASURBVOYbrFy5EgUFBZg/fz5u3boFAJDJZDrLaT5r5isUCkilUu01ahqOjo4AgKKiIjRr1gwKhULnWrr769PUpamv8joNlTOVTGZb4zrIcrC96xe2d/1i3vZuiIrBMFOSLzGcnBoCsDNjPPS4qfPErXv37ujevbv2c7du3WBtbY1NmzYhJiZGO71yD5mh6YbKaIZIH1auqumV66tOuYdRKO5CpVLXuB56vEkkYshktmzveoLtXb/URnuLRHdgb68GYEp9aty%2BfQeCUGKWWEiXo6PtY9GbWeeJmyEvvfQSNmzYgNOnT6N58%2BYAoNfLpVAoAPzT8yaTyVBaWorS0lJYW1vrldP0vMlkMuTn5%2Buts3IPm0wm0y57v%2BLiYrPcmKBSqVFezhN7fcH2rl/Y3vWLOdtbLFbjf/0NJseiVnPfqw01aRdzqvvU8SHc3NzQoEED/PHHHzrTz507BwDaJErzb%2BXrz/Ly8mBnZ6d9vIi7uzvOnz%2Bv7Ym7v777EzJ3d3e9upRKJS5evMg7SomIiKhOPJaJW2ZmJiQSCby8vCCVShEYGIj9%2B/frlNm3bx%2BaNGkCLy8vAICfnx8cHByQmZmpLaNSqbB//36EhIRohzdDQkKgUChw9OhRbbn8/Hzk5ORoHw8CAMHBwTh27BgKCwu10w4ePAilUqlTjoiIiOhRkbz33nvv1WUAo0ePxrVr13D79m1cuHABGzZswLZt2/D666%2Bjb9%2B%2BAICWLVsiJSUF%2Bfn5sLOzw969e7Fx40bMnj0bHTt2BFDx6A%2BJRIKUlBTY2NigtLQUq1atQm5uLpYtW4bGjRsDAJo1a4Zff/0Vn376KVxcXJCfn4/58%2BfDxsYGCxYsgJVVxehxu3bt8Pnnn%2BPo0aNwcXFBbm4uEhISEBoaiqioqBpv9717ZVCrH5N%2BV6o1YrEItrZStnc9wfauX2qjvUUiBayt0wFITFhahdLSVyEI%2BjfWUc3Z2kohFtf9raUiofKY4SMWHx%2BPo0eP4q%2B//oJarcYzzzyDyMhIvP766zo3AWRlZWHFihXIy8tDs2bNEB0djWHDhunUJQgC0tLSsG3bNty4cQNyuRxvv/02AgMDdcrdvn0bS5cuxVdffYWysjIEBAQgLi5Oez2dxvnz5xEfH4%2BTJ0/CxsYGYWFhmDFjht6dq6YoLCzhNTD1gJWVGI0a2bG96wm2d/1SG%2B0tFl%2BGTBYJQGrC0kooFOlQq1uYJRbS5exs91g86qfOE7f6iif2%2BoG/yOsXtnf9wsStfnlcEre6j4CIiIiIqoWJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYUwS%2BKWn5%2BPI0eOoLCw0BzVEREREZEBVsYukJiYiLt372LOnDkAgO%2B//x4xMTEoKyuDTCbD1q1b0a5dO7MHSkRE9PhTQyy%2BavLSYnE%2BAMF84dATx%2BgetwMHDqBt27bazytXroSHhwfWrl0LV1dXJCcnmxxMSUkJgoOD4eHhgV9%2B%2BUVnXlZWFl555RV4e3sjNDQU27ZtM1hHWloaevXqBW9vb0RERCA7O1uvzO3btzF//nwEBATA19cXMTExuHLlil658%2BfPY/To0fDx8UFQUBDi4%2BNx7949k7ePiIiebGLxVTg6vgKZLNKkHweHMRCJyut6M%2BgxZnTiVlBQADc3NwBAYWEhfvnlF0yePBm9e/fG2LFjcfLkSZODWbduHVQqld703NxcTJgwAV5eXli/fj0GDhyI%2BPh4pKen65RLS0tDYmIihg0bhtTUVLRq1Qpjx47F2bNndcpNnz4d33zzDeLi4pCYmIhr164hOjpaJylTKBQYOXIkSkpKsHr1asycORN79%2B7FvHnzTN4%2BIiJ68glCAwBSk34qliV6MKOHSgVBgCBUdOPm5ORAIpGgS5cuAICmTZuafJ1bXl4etm/fjpkzZ%2BLdd9/VmZeUlAQvLy8kJCQAAAIDA5Gfn49Vq1YhIiICYrEYSqUSycnJGDFiBEaPHg0A8Pf3R3h4OFJSUpCYmAgA%2BOmnn3D48GGkpqYiJCQEACCXyxEaGordu3djyJAhAIAdO3ZAoVAgIyMDzs7OAACJRIIZM2Zg/PjxcHd3N2k7iYiIiExldI%2Bbm5sbvv32WwBAZmYmvL29YWNjAwC4du0aZDKZSYEsWrQIUVFRaN26tc50pVKJY8eOoX///jrTw8PDcf36dfz3v/8FUJFEFhcXIywsTFtGIpGgX79%2ByMrK0iabWVlZkMlkCA4O1pZzdXWFn58fsrKytNOOHDmCoKAgbdIGAC%2B%2B%2BCKkUqlOOSIiIqJHxejE7bXXXsPmzZsREBCAzMxMvPrqq9p5OTk5Ote/Vde//vUvnDlzBhMnTtSbd/HiRZSVlaFNmzY60zXrycvL0/m3cjl3d3eUlJSgoKBAW65169YQiUR69Wnq0JSr3KsmlUrh5uamU46IiIjoUTF6qHTo0KFwdHREbm4uvL298fLLL2vnlZaWYuDAgUbVd/fuXSxZsgTTpk2Dvb293vxbt24BgF5PnuazZr5CoYBUKtX2/mk4OjoCAIqKitCsWTMoFAo4ODjorUcmk2nr0tRnqPewcjlTSSR8hF59oGlntnf9wPauXwy1t0gkRqV%2BAZOYWodEIoZYzP2vNpijXc3B6MQNAPr37683dAkACxcuNLqu5ORkPPXUUxg0aFCV5Sr3kBmabqiMZoj0YeWqml65vuqUexiZzLbGdZDlYHvXL2zv%2BkW3vRuiYjDL1ORJ8/vFlOXFcHJqCMDOxHWTJTApcQMqhhJPnDiBwsJCDB48GE2aNEFBQQEcHR31er0e5MqVK9iwYQOSkpJw%2B/ZtAMCdO3e0/5aUlGh7zCr3cikUCgD/9LzJZDKUlpaitLQU1tbWeuU09chkMuTn5%2BvFUrmHTSaTaZe9X3FxsVluTFAo7kKlUte4Hnq8SSRiyGS2bO96gu1dvxhqb5HoDuzt1QBMbX/NM9xMWV6N27fvQBBKTFw3VcXR0fax6M00OnFTqVSIi4vD7t27tb1PwcHBaNKkCd599114enpiypQp1arr8uXLKCsrw5tvvqk3b8SIEXj22WexdetWNGjQAH/88YfODQXnzp0DAG0Spfk3Ly8PXl5e2nJ5eXmws7ODi4uLttz333%2Bv13N27tw5nYTM3d1d71o2pVKJixcvIiIiolrbVxWVSo3ycp7Y6wu2d/3C9q5f7m9vsVgNoYbPzxWJYHIdKpUaajX3vdpQ03Y1F6NTx%2BTkZOzbtw/vvPMO9u3bpx2KBIDu3bvj6NGj1a7L09MTmzdv1vmZPXs2AOD999/Hu%2B%2B%2BC6lUisDAQOzfv19n2X379qFJkybaJM3Pzw8ODg7IzMzUllGpVNi/fz9CQkK0SVpISAgUCoVOnPn5%2BcjJydE%2BHgQAgoODcezYMZ3Hmxw8eBBKpVKnHBEREdGjYnSP2%2B7duzFhwgRER0frPSy3RYsWuHz5crXrkslkCAgIMDivQ4cO6NChAwBg4sSJGD58OObNm4fw8HDk5OQgPT0dCxYs0HZbSqVSjB8/HomJiXB2doaXlxfS09Nx6dIlrFixQlvvs88%2Bix49emDu3LmYNWsW7O3tsWrVKjRv3lznxoqoqChs3boVEyZMwIQJE/D3339jyZIlCA8P5zPciIiIqE4YnbgVFBTAx8fH4Dxra2uUlJh/bN3X1xfr1q3DihUrkJGRgWbNmmHevHmIjIzUKTdq1CgIgoAtW7bgxo0bkMvlSE1NhYeHh065Dz/8EEuXLsX777%2BPsrIyBAQEYM2aNTrX5slkMmzatAnx8fGIjY2FjY0NwsLCMGPGDLNvHxEREVF1iATBuFHbkJAQTJo0CZGRkVCpVOjQoQM%2B//xzdOjQAf/3f/%2BHDRs24ODBg7UV7xOjsLCE18DUA1ZWYjRqZMf2rifY3vWLofYWiy9DJotExSusTFHyv2vcTLkzVAmFIh1qdQsT101VcXa2eywe9WN0BCEhIUhJSdE%2B0BaoeIxGcXExtmzZgp49e5o1QCIiIiKqYPRQ6eTJk3HkyBH069cPAQEBEIlEWLFiBX7//XdYWVlhwoQJtREnERERUb1ndI9b48aN8dlnn6F///44deoUJBIJzpw5g%2BDgYOzYsQNOTk61EScRERFRvWfSA3gbN26MBQsWmDsWIiIiIqqCWa6yy8/Px5EjR3SeeUZERERE5mV0j1tiYiLu3r2LOXPmAAC%2B//57xMTEQKlUwtHREVu3bkW7du3MHigRERFRfWd0j9uBAwfQtm1b7eeVK1fCw8MDSUlJcHV1RXJyslkDJCIiIqIKJj2A183NDQBQWFiIX375BampqejevTtKS0uxdOlSswdJRERERCb0uAmCoH0/aU5ODiQSCbp06QIAaNq0Ka9zIyIiIqolRidubm5u%2BPbbbwEAmZmZ8Pb21r4q6tq1a5DJZOaNkIiIiIgAmJC4vfbaa9i8eTMCAgKQmZmJV199VTsvJydH5/o3IiIiIjIfo69xGzp0KBwdHZGbmwtvb2%2B8/PLL2nmlpaUYOHCgWQMkIiIiogpGv2SezIMvoa4f%2BNLx%2BoXtXb/wJfP1i8W%2BZJ6IiIiI6oZJr7w6ceIEtmzZgry8PNy7d09v/tdff13jwIiIiIhIl9E9bj/%2B%2BCPeeOMNFBcXIy8vD23atIGLiwvy8/NhZWUFf3//2oiTiIiIqN4zOnFbs2YNBg0ahI8//hgA8NZbb2H79u3YtWsXSkpKEBoaavYgiYiIiMiExO3333/HCy%2B8AJFIBABQqVQAgPbt22PChAlISkoyb4REREREBMCExO3u3buws7ODWCyGVCrVeVNCmzZtkJeXZ9YAiYiIiKiC0TcnuLq64saNGwCAtm3bIisrCyEhIQAqblpwcnIyb4RERESPlBpi8dWHlhKJxAAaQiS6A7FY8ziQfAB8yhbVHqMTN39/fxw/fhx9%2B/ZFZGQk3n//feTl5UEqleLf//43oqOjayNOIiKiR0IsvgpHx1cgCA2qLFdxxZAY9vZqaJ6IKhLdAdAAgmBd22FSPWV04hYbG4tbt24BAIYMGYJ79%2B5h7969AIDx48cjJibGvBESERE9YhVJW3UeoisG8M/DlgWh7H8JHVHtMDpxc3Z2hrOzs/ZzdHQ0e9mIiIiIHgGTHsCrUVBQgKKiIjg5OcHFxcVcMRERERGRASYlbgcOHMCHH36Iixcvaqe5ublh6tSp6Nu3r9mCIyIiIqJ/GJ24ZWZmYtq0aWjTpg0mTpyIxo0b4/r168jMzMTUqVOhVqvRr1%2B/2oiViIiIqF4TCYJg1H3L/fv3R/PmzZGSkgKx%2BJ/HwKnVarz55pvIz8/Hl19%2BafZAnzSFhSUoL1c/vCBZNCsrMRo1smN71xNs7yeDWHwZMlkkHnZzgkhU0ebl5f/cVQqUQCQCBMHOxLXXZHklFIp0qNUtTFw3VcXZ2Q4SidGPvzU7oyO4ePEihg4dqpO0AYBYLMbQoUN1hk%2BJiIiIyHyMTtxcXV1x9%2B5dg/Pu3buHp59%2BusZBEREREZE%2BoxO3UaNGYd26dbh586bO9L///hvJyckYNWqU2YIjIiIion9U6%2BaE%2BPh4nc%2B3b99G7969ERgYiCZNmuD69es4duwYGjVqhHPnztVKoERERET1XbVuTmjfvn31KxSJcPr06RoFVR/w4uX6gRer1y9s7ycDb04gQx6XmxOq1eN25syZ2o6DiIiIiB6i7lNHIiIiIqoWJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZiGolbosXL0Z%2Bfj4A4OrVqygrK6vVoIiIiIhIX7USt02bNuH69esAgN69e/M5bURERER1oFqJm6OjI27cuAEAqMbzeomIiIioFlTrAbzPPvss5s6di06dOgEAli5dCgcHB4NlRSIRkpOTzRchEREREQGoZuL27rvvIiEhAefOnYNIJMKFCxcglRp%2BFYhIJDJrgERERERUoVqJW/PmzZGUlASg4r2l69at0/a%2BEREREdGjYfTjQDZv3gx3d/faiIWIiIiIqlCtHrf7%2Bfv7AwAuXLiAY8eOoaioCI0aNUJAQABatWpl9gCJiIiIqILRiZsgCFi4cCF27NgBtVqtnS4WizF06FDMmzfPrAESERERUQWjE7dPPvkE27dvx5AhQzBw4EC4uLigoKAAGRkZ2L59O1q0aIE33nijFkIlIiIiqt%2BMTtzS09MxfPhwnZ41FxcXdOrUCWKxGDt37mTiRkRERFQLjL454dKlS%2BjZs6fBeT179sSlS5eMqu/o0aMYPnw4AgMD0bFjR/Tu3RuLFy9GcXGxTrmsrCy88sor8Pb2RmhoKLZt22awvrS0NPTq1Qve3t6IiIhAdna2Xpnbt29j/vz5CAgIgK%2BvL2JiYnDlyhW9cufPn8fo0aPh4%2BODoKAgxMfH4969e0ZtHxEREZG5GJ24OTg44OrVqwbnXb16Ffb29kbVd%2BvWLfj6%2BmLhwoVIS0tDdHQ0MjIyMGXKFG2Z3NxcTJgwAV5eXli/fj0GDhyI%2BPh4pKen69SVlpaGxMREDBs2DKmpqWjVqhXGjh2Ls2fP6pSbPn06vvnmG8TFxSExMRHXrl1DdHS0TlKmUCgwcuRIlJSUYPXq1Zg5cyb27t3La/iIiIiozhg9VPr8889j5cqV8PT0RMeOHbXTT58%2BjdWrV6Nbt25G1RcWFoawsDDt54CAAEilUsTFxaGgoAAuLi5ISkqCl5cXEhISAACBgYHIz8/HqlWrEBERAbFYDKVSieTkZIwYMQKjR48GUHEHbHh4OFJSUpCYmAgA%2BOmnn3D48GGkpqYiJCQEACCXyxEaGordu3djyJAhAIAdO3ZAoVAgIyMDzs7OAACJRIIZM2Zg/PjxfCQKERERPXJG97hNnz4dEokEkZGRCA8Px6hRoxAeHo5BgwZBLBZj%2BvTpNQ7KyckJAFBeXg6lUoljx46hf//%2BOmXCw8Nx/fp1/Pe//wUA5OTkoLi4WCcJlEgk6NevH7KysrTvWM3KyoJMJkNwcLC2nKurK/z8/JCVlaWdduTIEQQFBWmTNgB48cUXIZVKdcoRERERPSpG97g9/fTTyMjIwMaNG5GdnY3Lly/DyckJb775JkaOHKmT6BhDpVKhvLwc586dQ1JSEnr27InmzZvj3LlzKCsrQ5s2bXTKt23bFgCQl5eHjh07Ii8vDwD0yrm7u6OkpAQFBQVo1qwZ8vLy0Lp1a71Xc7Vt2xbfffed9nNeXh4iIiJ0ykilUri5uWnXVRMSidE5M1kgTTuzvesHtveTQSQSozpvb9SUMVS2pm9/NHV5iUQMsZj7X214XN7oaXTiBgDOzs5m6Vm7X8%2BePVFQUAAA6N69O1asWAGg4ho4AJDJZDrlNZ818xUKBaRSKWxsbHTKOTo6AgCKiorQrFkzKBQKODg46K1fJpNp69LUV3mdhsqZSiazrXEdZDnY3vUL29vSNUTFgFT1EiDdRF3z293U5Kkmy4vh5NQQgJ2J6yZLYFLiVhtSU1Nx584dnDt3DuvWrUNMTAw2btyonf%2Bgl9ffP91QGc0Q6cPKVTW9cn3VKfcwCsVdqFTqhxckiyaRiCGT2bK96wm295NBJLoDe3s1gKrbUCSqaHOVSo3//aoBoPmPqe1fk%2BXVuH37DgShxMR1U1UcHW0fi97MxyZxa9%2B%2BPQDAz88PXl5eiIiIwMGDB7VDopV7uRQKBYB/et5kMhlKS0tRWloKa2trvXKanjeZTIb8/Hy99VfuYZPJZNpl71dcXGyWGxNUKjXKy3liry/Y3vUL29uyicX3J2IPJwjQKS8SwajlK6vJ8iqVWuetRmQ%2BNWlTc6r71NEAT09PSCQSXLx4EW5ubmjQoAH%2B%2BOMPnTLnzp0DAG0Spfm38vVneXl5sLOzg4uLi7bc%2BfPntT1x99d3f0Lm7u6uV5dSqcTFixd5RykRERHViccyccvNzYVKpUKLFi0glUoRGBiI/fv365TZt28fmjRpAi8vLwAVPXUODg7IzMzUllGpVNi/fz9CQkK0w5shISFQKBQ4evSotlx%2Bfj5ycnK0jwcBgODgYBw7dgyFhYXaaQcPHoRSqdQpR0RERPSoSN577733jFlAqVRCLBab5TovAJg0aRIuXryI4uJi/PXXXzh06BASEhLQsmVLzJo1CxKJBC1btkRKSgry8/NhZ2eHvXv3YuPGjZg9e7b2WXISiQQSiQQpKSmwsbFBaWkpVq1ahdzcXCxbtgyNGzcGADRr1gy//vorPv30U7i4uCA/Px/z58%2BHjY0NFixYACuritHjdu3a4fPPP8fRo0fh4uKC3NxcJCQkIDQ0FFFRUTXe7nv3yqBWPyb9rlRrxGIRbG2lbO96gu39ZBCJFLC2TgcgeUi5ijbXbeuy/919KDVx7TVZXoXS0lchCPo31lHN2dpKIRbX/a2lIqHymGEVSktL4ePjg9WrVyM0NNQsAaSmpiIzMxMXL16EIAho3rw5QkNDMXr0aJ23MGRlZWHFihXIy8tDs2bNEB0djWHDhunUJQgC0tLSsG3bNty4cQNyuRxvv/02AgMDdcrdvn0bS5cuxVdffYWysjIEBAQgLi4OzZs31yl3/vx5xMfH4%2BTJk7CxsUFYWBhmzJihd%2BeqKQoLS3gNTD1gZSVGo0Z2bO96gu39ZBCLL0Mmi8TDkieRqKLNy8vvvyau5H/XqJl6Z2dNlldCoUiHWt3CxHVTVZyd7R6LR/0YlbgBQFBQEJYvX270GxJIF0/s9QN/kdcvbO8nAxM3MuRxSdyMjqBnz544ePBgbcRCRERERFUw%2BnEg/fv3x9y5czF79mz06dMHTZo00bverUOHDmYLkIiIiIgqGJ24aV7gvnv3bmRkZOjM0zyc9vTp0%2BaJjoiIiIi0jE7cFi9eXBtxEBEREdFDGJ24DRw4sDbiICIiIqKHqNHtEX/88QdOnjyJO3fumCseIiIiInoAkxK3jIwMBAcHo3///hg%2BfDjOnz8PAJgyZQp27txp1gCJiIiIqILRidv%2B/fsxa9YseHl5IS4uTuednx06dNB7NRURERERmYfRiVtqaioGDRqElJQUvPbaazrz2rRpo335OxERERGZl9GJW15eHvr3729wnpOTE4qKimocFBERERHpMzpxs7W1RXFxscF5BQUFcHR0rHFQRERERKTP6MTN19cX27Ztg6FXnO7atQv%2B/v5mCYyIiIiIdBmduE2cOBH/%2Bc9/MHjwYGzZsgUikQgHDhxATEwMfvzxR8TExNRGnERERET1ntGJm7e3N9avX487d%2B5gyZIlEAQBH330Ec6fP4/U1FTI5fLaiJOIiIio3jP6zQkAEBgYiP379%2BPixYu4ceMGGjVqhNatW5s7NiIiIiK6j0mJm4abmxvc3NzMFQsRERERVcGkxO3y5ctITU1FdnY2ioqK4OTkhICAAIwdOxYtW7Y0d4xEREREBBOucTt9%2BjQGDhyIXbt2oWnTpujatSuaNm2KXbt2YeDAgTh9%2BnRtxElERERU7xnd45aQkABnZ2ds3LgRrq6u2ulXrlzBqFGjkJCQgC1btpg1SCIiIiIyocft559/RmxsrE7SBgDNmzfHpEmT8PPPP5stOCIiIiL6h9GJm4ODAxwcHAzOk8lksLe3r3FQRERERKTP6MQtLCwM6enpBuft3Lnzge8xJSIiIqKaqdY1bgcOHND%2Bv0OHDvjqq68wePBghIWFoXHjxrhx4wb27duHmzdvom/fvrUWLBEREVF9JhIMvXS0kvbt20MkEkEQBO2/D6xQJOKdpdVQWFiC8nJ1XYdBtczKSoxGjezY3vUE2/vJIBZfhkwWCUBaZTmRqKLNy8vV%2BOfXYglEIkAQ7Exce02WV0KhSIda3cLEdVNVnJ3tIJEYPVBpdtXqcdu8eXNtx0FERERED1GtxM3f37%2B24yAiIiKih6j7Pj8iIiIiqhaTXnl16NAh7NmzB1evXkVpaanOPJFIhD179pglOCIiIiL6h9GJ28cff4wPPvgAzs7OcHNzg62tbW3ERURERESVGJ24bd%2B%2BHREREViwYAEkEkltxEREREREBhh9jVtRURHCwsKYtBERERE9YkYnbn5%2Bfvjjjz9qIxYiIiIiqoLRiducOXOwbds2fP3111AqlbURExEREREZYPQ1bq1atcLzzz%2BPSZMmQSQSwcbGRme%2BSCTCyZMnzRYgEREREVUwOnFbvnw5tm7dCk9PT7Rp0wZSadWvBCEiIiIi8zA6cdu9ezfGjh2L6dOn10Y8RERERPQARl/jplKp8Pzzz9dGLERERERUBaMTt65du%2BKnn36qjViIiIiIqApGD5VOmDABU6dOha2tLXr06AFHR0e9Mk5OTmYJjoiIiIj%2BIRIEQTBmgfbt21csKBI9sMzp06drFlU9UFhYgvJydV2HQbXMykqMRo3s2N71BNv7ySAWX4ZMFgmg6pvvRKKKNi8vV%2BOf36QlEIkAQbAzce01WV4JhSIdanULE9dNVXF2toNEYvRApdkZ3eM2ceLEKpM2IiIiIqodRidusbGxtREHERERET1E3ff5EREREVG1GN3jtnbt2irni0QiTJw40eSAiIiIE29ZzwAAIABJREFUiMgwJm5EREREFsLoxO3MmTN604qKinDo0CFs2rQJqampZgmMiIiIiHSZ5Ro3JycnDB48GOHh4YiPjzdHlURERERUiVlvTvD29sYPP/xgziqJiIiI6H/MmridPXsWDRs2NGeVRERERPQ/Rl/jlpGRoTdNqVTi7Nmz%2BPzzzzFgwACj6tu/fz/27t2LU6dO4datW2jZsiWGDBmCqKgoiMX/5JVZWVlITExEXl4emjVrhjfeeAPDhg3Tqy8tLQ3btm3D9evXIZfL8c477yAgIECnzO3bt7Fs2TJ89dVXUCqVCAgIQFxcHJo3b65T7vz584iPj8fJkydha2uL/v37Y8aMGbCxsTFqG4mIiIjMwejEbdasWQanW1tbY8CAAXjnnXeMqm/jxo1wdXXFO%2B%2B8g6eeegrZ2dlYtGgRLl26hJkzZwIAcnNzMWHCBLz88suYNWsWcnJyEB8fD6lUisjISG1daWlpSExMxNSpU%2BHl5YX09HSMHTsW6enp8PDw0JabPn06Tp06hbi4ONjb22P16tWIjo7Gnj17tEmZQqHAyJEj4erqitWrV%2BPmzZtYvHgxioqK8MEHHxj7tRERERHVmNGJ29dff603zdraGo0bNzYpgJSUFDg7O2s/BwYG4s6dO9i2bRumTp0KqVSKpKQkeHl5ISEhQVsmPz8fq1atQkREBMRiMZRKJZKTkzFixAiMHj0aAODv74/w8HCkpKQgMTERAPDTTz/h8OHDSE1NRUhICABALpcjNDQUu3fvxpAhQwAAO3bsgEKhQEZGhjY%2BiUSCGTNmYPz48XB3dzdpe4mIiIhMZfQ1bs2bN9f7MTVpA6CTtGl4enqitLQURUVFUCqVOHbsGPr3///27ji46fr%2B4/grCYSUQloQbQcCg0JwHVVgw7aTtXc4hkIRGTjZcZMxhrOIIAJDdlIZvx6KqAhuWJWOQ8XJMZgnSEUmI6C7Mg/qhLF5NlaRWpU6IG2RNm2/vz%2BwGWlLSdO0yZc%2BH3dc6Sfv7/f7%2BfIO6avfb775TgyomTRpkk6dOqXjx49Lko4cOaKKigplZWX5a2w2myZMmCC32y3jmzsAu91uOZ1OZWRk%2BOv69u2rUaNGye12%2B8cOHDig9PT0gPmNHz9edrs9oA4AAKCjtPqIW0c4fPiw4uPjddVVV6mkpEQ%2Bn0%2BDBw8OqBkyZIgkyePxaPjw4fJ4PJLUpC4pKUlVVVX64osvlJiYKI/Ho0GDBslisTRZ39tvv%2B3/3uPxaOrUqQE1drtdAwYM8G%2BrLWw27jbWGTT0mX53DvT7ymCxWNXoR8Ql6gK/NvdY6HMIbTmbzRrw/nCET1t7Gi5BBbdJkyYFvUKLxaLXXnst5AkdPXpUO3bs0L333iubzaazZ89KkpxOZ0Bdw/cNj3u9Xtnt9iYXDsTFxUm68CHBiYmJ8nq96tmzZ5PtOp1O/7oa1td4m83VhcrpjGnzOmAe9Ltzod9m110XTkgFF4ACg3rDT/dQw1NblrcqPr67pNgQtw0zCCq4xcfHX7bm3Llz%2Bte//tXkSFZrnDp1SvPnz1dKSormzJkT8Nil1nvxeHM1DadIL1fX0njj9bVlHxt4vV%2Brrq6%2BzetBdLPZrHI6Y%2Bh3J0G/rwwWyzn16FEvqeUeWiwXel5XV69vftRIavhLqP1vy/L1qqw8J8OoCnHbaElcXExUHM0MKri9%2BOKLl3ystrZWW7du1YYNG2SxWALeY9YaFRUVmjNnjhwOh5555hl17dpV0v%2BOmDU%2ByuX1eiX978ib0%2BlUdXW1qqur1a1btyZ1DetxOp0qKytrsv3GR9icTqd/2cbzDMeFCXV19aqt5YW9s6DfnQv9Njer9eIgdnmGoYB6i0WtWr6xtixfV1ev%2Bnqee%2B2hLT0NpzZFx4KCAk2cOFG5ubm67rrrtGPHDq1Zs6bV66murlZ2drbKy8u1ceNG9erVy//YgAED1LVrV3300UcByxQXF0uSP0Q1fG38/jOPx6PY2FglJCT460pKSvxH4i5e38WBLCkpqcm6ampqdOLECa4oBQAAERFScDt06JDuuOMOLVy4ULGxsfrjH/%2Bo/Px8fec732n1umpra7VgwQL95z//0caNG5t8CK7dbldaWpoKCgoCxnft2qWrr75aycnJkqRRo0apZ8%2Be2r17t7%2Bmrq5OBQUFyszM9J/ezMzMlNfr1cGDB/11ZWVlOnLkiP/jQSQpIyNDhYWFOn36tH9s7969qqmpCagDAADoKLYVK1asCLb4gw8%2B0LJly7R%2B/XrZ7XY9/PDDWr58ufr37x/yBFasWKFdu3ZpwYIFuuaaa/T555/7//To0UN2u139%2B/dXXl6eysrKFBsbq507d2rTpk1atmyZhg8ffmFHbDbZbDbl5eXJ4XCourpa69atU1FRkR577DH/R5YkJibq2LFj2rp1qxISElRWVqacnBw5HA6tXLlSXbpcOHs8dOhQbd%2B%2BXQcPHlRCQoKKioq0atUqjRs3TtOnTw95fxucP%2B9TfX2UHHdFu7FaLYqJsdPvToJ%2BXxksFq%2B6ddsmyXaZugs9D%2By175urD%2B0hbr0ty9epuvqnMoymF9ah7WJi7LJaI39pqcVofM6wGWVlZXrqqae0a9cuxcXFKTs7W9OnT/e/D60txo4dq9LS0mYfe%2BGFF/y3q3K73XryySf9t7yaNWtWk1teGYbhv%2BVVeXm5XC6XlixZorS0tIC6yspKrV69Wnv27JHP5wvqllcOh0NZWVlhu%2BXV6dNVvAemE%2BjSxapevWLpdydBv68MVutJOZ136HLhyWK50PPa2ovfE1f1zXvUQr2ysy3L18jr3ab6%2BmtD3DZa0rt3bFR81E9Qwe3666%2BXz%2BfTD3/4Q/3qV79SbGzLT6jvfve7YZvglYoX9s6BH%2BSdC/2%2BMhDc0JxoCW5BXVVaU1Mj6cLdBC5%2Bb1hjDR%2BV8e9//zs8swMAAIBfUMHtkUceae95AAAA4DKCCm5Tpkxp73kAAADgMiJ/shYAAABBIbgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACT6BLpCQAAEF71slo/C3lpq7VMkhG%2B6QBhRHADAFxRrNbPFBd3uwyja0jLWyznJHWVYXQL78SAMCC4AQCuOBdCmz3EZX2yWMI7HyBceI8bAACASUQ8uH3yySfKycnR5MmTlZycrKysrGbr3G63br/9dqWkpGjcuHHasmVLs3X5%2BfkaO3asUlJSNHXqVB06dKhJTWVlpXJycpSamqqRI0fqnnvuUWlpaZO6kpISzZ49WyNGjFB6erpyc3N1/vz5tu0wAABAiCIe3D788EO53W4NHDhQSUlJzdYUFRVp7ty5Sk5O1vPPP68pU6YoNzdX27ZtC6jLz8/X2rVrNWPGDD333HMaOHCg5syZow8%2B%2BCCgbtGiRdq3b5%2BWL1%2ButWvX6ssvv9SsWbMCQpnX69XMmTNVVVWl9evXa%2BnSpdq5c6ceeuih8P8jAAAABCHi73EbO3asfvSjH0mSHnzwQR07dqxJzR/%2B8AclJydr1apVkqS0tDSVlZVp3bp1mjp1qqxWq2pqavTMM8/orrvu0uzZsyVJN954oyZNmqS8vDytXbtWkvTPf/5T%2B/fv13PPPafMzExJksvl0rhx4/SXv/xFP/vZzyRJr7zyirxer1599VX17t1bkmSz2bR48WJlZ2dfMmQCAAC0l4gfcbNaW55CTU2NCgsLNXHixIDxSZMm6dSpUzp%2B/Lgk6ciRI6qoqAg41Wqz2TRhwgS53W4ZxoVLu91ut5xOpzIyMvx1ffv21ahRo%2BR2u/1jBw4cUHp6uj%2B0SdL48eNlt9sD6gAAADpKxIPb5Zw4cUI%2Bn0%2BDBw8OGB8yZIgkyePxBHxtXJeUlKSqqip98cUX/rpBgwbJ0uiSoSFDhvjX0VDX%2BKia3W7XgAEDAuoAAAA6SsRPlV7O2bNnJUlOpzNgvOH7hse9Xq/sdrscDkdAXVxcnCTpzJkzSkxMlNfrVc%2BePZtsx%2Bl0%2BtfVsL7G22yuLlQ2W9RnZoRBQ5/pd%2BdAv6ODxWINy8d5XG4dDY83V9fW7Ye6vM1mveyZLIQmWj4iJuqDW4PGR8iaG2%2BupuEU6eXqWhpvvL5g6i7H6Yxp8zpgHvS7c6HfkdZdF04ohRpgGl7jg1s%2BMKi3btm2bjuQVfHx3SXFhrhtmEHUB7eGI2aNj3J5vV5J/zvy5nQ6VV1drerqanXr1q1JXcN6nE6nysrKmmyn8RE2p9PpX/ZiFRUVYbkwwev9WnV19W1eD6KbzWaV0xlDvzsJ%2Bh0dLJZz6tGjXlKoPWi43VXLy1ssF3peV1cvw3%2BHrOCWbeu2m1evyspzMoyqELeNlsTFxUTF0cyoD24DBgxQ165d9dFHHwVcUFBcXCxJ/hDV8NXj8Sg5Odlf5/F4FBsbq4SEBH/d3//%2B9yZHzoqLiwMCWVJSUpP3stXU1OjEiROaOnVqm/errq5etbW8sHcW9Ltzod%2BRZbVeHKRCY7Eo6HUYRmBta5Zt67Ybq6urV309z7320NbnVLhEPjpeht1uV1pamgoKCgLGd%2B3apauvvtof0kaNGqWePXtq9%2B7d/pq6ujoVFBQoMzPTH9IyMzPl9Xp18OBBf11ZWZmOHDni/3gQScrIyFBhYaFOnz7tH9u7d69qamoC6gAAADqKbcWKFSsiOYGvv/5ab731loqLi/XOO%2B%2BovLxciYmJKi4uVu/evRUTE6P%2B/fsrLy9PZWVlio2N1c6dO7Vp0yYtW7ZMw4cPv7AjNptsNpvy8vLkcDhUXV2tdevWqaioSI899pj69OkjSUpMTNSxY8e0detWJSQkqKysTDk5OXI4HFq5cqW6dLlwEHLo0KHavn27Dh48qISEBBUVFWnVqlUaN26cpk%2Bf3ub9Pn/ep/r6KInvaDdWq0UxMXb63UnQ7%2BhgsXjVrds2SbYQ19Bwr9KW73VqsVzoeWCvg1u2rdtuXp2qq38qw2h6YR3aLibGLqs18lcoWAwjsgf/Tp48qZtvvrnZx1544QWlpqZKuvD5a08%2B%2BaQ8Ho8SExM1a9YszZgxI6DeMAzl5%2Bdry5YtKi8vl8vl0pIlS5SWlhZQV1lZqdWrV2vPnj3y%2BXxKTU3V8uXL1a9fv4C6kpIS5ebm6vDhw3I4HMrKytLixYubXLkaitOnqziV0gl06WJVr16x9LuToN/RwWo9KafzDoUenqq%2BOV3Z8pv8LZYLPa%2BtvfjUbHDLtnXbzauR17tN9fXXhrhttKR379iouGI84sGts%2BKFvXPgB3nnQr%2BjA8GN4NYeoiW4RX4GAAAACArBDQAAwCQIbgAAACZBcAMAADAJghsAAIBJENwAAABMguAGAABgEgQ3AAAAkyC4AQAAmATBDQAAwCQIbgAAACZBcAMAADCJLpGeAAAATdXLav0spCWt1jJJxmXrADMiuAEAoo7V%2Bpni4m6XYXRt9bIWyzlJXWUY3cI/MSDCCG4AgKh0IbTZQ1jOJ4sl/PMBogHBDQDQDkI/1SlxuhO4FIIbACDs2nKqU%2BJ0J3ApBDcAQLsI9VTnhWU53Qk0h48DAQAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACT6BLpCQAAolW9rNbPQlrSai2TZIR3OgAIbgCA5lmtnyku7nYZRtdWL2uxnJPUVYbRLfwTAzoxghsA4JIuhDZ7CMv5ZLGEfz5AZ8d73AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmC22WUlJRo9uzZGjFihNLT05Wbm6vz589HeloAAKAT4gN4W%2BD1ejVz5kz17dtX69ev13//%2B1898sgjOnPmjB5//PFITw9ApxD6backqb6%2Br/gdHbhyENxa8Morr8jr9erVV19V7969JUk2m02LFy9Wdna2kpKSIjxDAFe6tt12yqezZ19Vff217TAzAJFAcGvBgQMHlJ6e7g9tkjR%2B/Hj99re/ldvtJrgBnULwR7wsFquk7rJYzslqrf/fGtp41Cv0204Z39zsPTTcKB6IPgS3Fng8Hk2dOjVgzG63a8CAAfJ4PG1ad1xcjAxeD694DfdqpN9mViurNVZS8DfejIvrftF3hgzDLsOwhbR1i%2BXbslgKQlpWMhQfL7Vm7oGGSCoIcfmGJ3yo227L8h25bYtstov/c0dyv6X4%2BATxo719WK3RcfNdutsCr9crp9PZZNzpdOrs2bNtWrfVyntOOhP6bWZ2SQNatUTjm6u3/Wbr/du6ArSjtvc3fGyh/X4AE%2BGnSQgMw5Almv6nAgCAToHg1gKn0ymv19tkvKKiotkjcQAAAO2J4NaCpKSkJu9lq6mp0YkTJ7gwAQAAdDiCWwsyMjJUWFio06dP%2B8f27t2rmpoaZWZmRnBmAACgM7IYBte6XYrX61VWVpb69eunuXPn6quvvtKjjz6qMWPG8AG8AACgwxHcLqOkpES5ubk6fPiwHA6HsrKytHjxYjkcjkhPDQAAdDIENwAAAJPgPW4AAAAmQXADAAAwCYIbAACASRDcAAAATILgBgAAYBIENwAAAJMguHWATz75RDk5OZo8ebKSk5OVlZUV6SkhTILtrdvt1u23366UlBSNGzdOW7Zs6eCZIhTh7m9%2Bfr7Gjh2rlJQUTZ06VYcOHWrP6aMFkehtZWWlcnJylJqaqpEjR%2Bqee%2B5RaWlpWPcL0d3bkpISzZ49WyNGjFB6erpyc3N1/vz5Vu0fwa0DfPjhh3K73Ro4cCD3OL3CBNPboqIizZ07V8nJyXr%2B%2Bec1ZcoU5ebmatu2bR08W7RWOPubn5%2BvtWvXasaMGXruuec0cOBAzZkzRx988EFH7AoaiURvFy1apH379mn58uVau3atvvzyS82aNavVP7jRsmjtrdfr1cyZM1VVVaX169dr6dKl2rlzpx566KHW7aCBdldXV%2Bf/%2B9KlS42JEydGcDYIp2B6O3v2bGPatGkBYw899JBx0003BSyP6BOu/lZXVxvf%2B973jNWrV/tramtrjVtvvdW4//7722n2aElH9/a9994zXC6XsX//fv9YaWmpkZycbLz88sth2y9Eb2%2BfffZZ44YbbjC%2B%2Buor/9hrr71muFwuo7i4OOj944hbB7Ba%2BWe%2BUl2utzU1NSosLNTEiRMDxidNmqRTp07p%2BPHj7Tk9tFG4%2BnvkyBFVVFQEnLKx2WyaMGGC3G63DG5g0%2BE6urdut1tOp1MZGRn%2Bur59%2B2rUqFFyu93h2i0oent74MABpaenq3fv3v6x8ePHy263t%2Bo5QKIA2tGJEyfk8/k0ePDggPEhQ4ZIkjweTySmhTAJtr8NXxvXJSUlqaqqSl988UUHzBatEe7eejweDRo0SBaLpcn6eB3oWJHqrcfjaXLq1m63a8CAAa16DhDcgHZ09uxZSZLT6QwYb/i%2B4XGYU7D99Xq9stvtcjgcAXVxcXGSpDNnzrT3VNFK4e6t1%2BtVz549m2zH6XTyOtDBItVbr9fbZJvN1V0OwQ3oAI1/E7vcOMwlmP42V9NwqoXnQfQKZ295HYgu0dJbwzBa9RwguAHtqOE3s8a/TXm9XklNf%2BODuQTbX6fTqerqalVXVzdb17AeRI9w99bpdPrHGtfxOtCxItXbS9VVVFS06jlAcAPa0YABA9S1a1d99NFHAePFxcWSxMfDmFyw/W342vh9LB6PR7GxsUpISOiA2aI1wt3bpKQklZSUNLkQpbi4mNeBDhap3iYlJTVZV01NjU6cONGq5wDBDWhHdrtdaWlpKigoCBjftWuXrr76aiUnJ0doZgiHYPs7atQo9ezZU7t37/bX1NXVqaCgQJmZmZwqi0Lh7m1mZqa8Xq8OHjzorysrK9ORI0eUmZnZAXuEBpHqbUZGhgoLC3X69Gn/2N69e1VTU9Oq54BtxYoVK1q1x2i1r7/%2BWm%2B99ZaKi4v1zjvvqLy8XImJiSouLlbv3r0VExMT6SkiRMH0tn///srLy1NZWZliY2O1c%2BdObdq0ScuWLdPw4cMjvQtoQbj6a7PZZLPZlJeXJ4fDoerqaq1bt05FRUV67LHH1KdPnwjvaefT0b1NTEzUsWPHtHXrViUkJKisrEw5OTlyOBxauXKlunTpEsl/jitKtPZ26NCh2r59uw4ePKiEhAQVFRVp1apVGjdunKZPnx70/lkMPkCo3Z08eVI333xzs4%2B98MILSk1N7eAZIVyC7a3b7daTTz4pj8ejxMREzZo1SzNmzOjIqSIE4eyvYRjKz8/Xli1bVF5eLpfLpSVLligtLa3d9wNNRaK3lZWVWr16tfbs2SOfz6fU1FQtX75c/fr1a5%2Bd7KSiubclJSXKzc3V4cOH5XA4lJWVpcWLFze5crUlBDcAAACT4D1uAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAKLCjh07NGzYMP%2Bf5ORkjRkzRgsXLtTHH38c8XmdPHmyxbqnn35aw4YN66BZXZ7b7dbTTz/d7GPDhg3TypUrO3hGAMKBm6MBiCqPPPKIBg8erOrqah05ckR5eXk6dOiQCgoKFBcXF%2BnpmYbb7daWLVt03333RXoqAMKI4AYgqgwdOlQpKSmSpNTUVNXV1enpp5/WX//6V02dOjXCswOAyOJUKYCo1hDivvrqqyaP7d69W3feeadGjBihkSNHavbs2Tp%2B/HhAzdGjR7Vw4UKNHTtW119/vcaOHasHHnhApaWlTdb33nvvafr06UpJSdGYMWP0xBNPqLa2tk3zD2aODz74oEaOHKlPPvlEc%2BbM0ciRI5WZmalHH31UNTU1AbWff/655s%2Bfr5EjR%2Br73/%2B%2BFi1apPfff1/Dhg3Tjh07/OvbsmWLJAWcfm58uvfVV1/VrbfeqhtuuEG33Xab/va3v7VpXwG0P464AYhqDWHj29/%2BdsB4Xl6ennrqKf3kJz9Rdna2fD6f8vPzNWPGDG3btk1DhgyRJJWWlmrQoEGaOHGi4uLidOrUKf3pT3/StGnT9Prrr6t3796SpOLiYv3iF79Qv3799Oijj8rhcOjll1/Wrl27Qp57sHOUJJ/Pp%2BzsbE2bNk2//OUv9e6772rDhg3q0aOH5s2bJ0k6d%2B6c7rrrLp09e1aLFy/WwIEDdfDgQS1cuDBgu3PnztW5c%2Be0Z88ebd261T9%2BzTXX%2BP%2B%2Bf/9%2BHT16VPPnz1f37t21ceNGzZs3T2%2B88Yb69%2B8f8j4DaGcGAESB7du3Gy6Xy3jvvfcMn89nVFZWGgcOHDBuuukmY8aMGYbP5/PXfvbZZ0ZycrLxf//3fwHrqKysNG666SZjwYIFl9xObW2tUVVVZYwYMcLYvHmzf/z%2B%2B%2B83rr/%2BeuPUqVMBtbfccovhcrmMTz/9tMX5r1%2B/3nC5XCHNcenSpYbL5TJ2794dUDtnzhxj/Pjx/u9feuklw%2BVyGW63O6Bu%2BfLlhsvlMrZv3%2B4f%2B93vfhcwn4u5XC7jBz/4gVFRUeEfO3XqlHHdddcZzz77bIv7CSCyOOIGIKr89Kc/Dfg%2BKSlJGzZsUJcu/3u5evvtt1VbW6vJkycHnMrs1q2bRo8erUOHDvnHqqqqtGHDBr355psqLS1VXV2d/zGPx%2BP/%2B6FDh5Senq4%2Bffr4x2w2myZMmKDf//73rd6P1sxRkiwWi8aOHRswNmzYMBUWFvq/f/fddxUbG6uMjIyAuqysrIAja8FITU1Vjx49/N/36dNHV111VbOnkAFED4IbgKiyevVqJSUlqaqqSrt379bWrVv1wAMPaOPGjf6a8vJySdK0adOaXYfV%2Br%2B37y5atEiFhYWaO3euUlJSFBsbK4vForvvvlvV1dX%2BujNnzgSEtgbNjQWjNXOUpJiYGHXr1i1gzG63BzXHq666qtXzi4%2BPbzLWeHsAog/BDUBUSUpK8l%2BQkJaWpvr6em3btk1vvPGGbrnlFklSr169JEnr169X3759L7muiooK7d%2B/X/PmzdPdd9/tH6%2BpqdHZs2cDauPj4/1h62LNjQUj2Dm2Rnx8vN5///0m46HOEYD5ENwARLUlS5bozTff1Pr16/XjH/9YVqtVY8aMUZcuXXTixAmNHz/%2BkstaLBYZhiG73R4wvm3btoBTptKFU4f79u1TeXm5/6hWXV2ddu/eHdK8g51ja4wePVoFBQVyu93KzMz0j7/%2B%2ButNahv2%2Bfz583I4HGHZPoDII7gBiGpxcXG6%2B%2B67tWbNGu3cuVOTJ0/Wtddeq/nz5%2Bupp57Sp59%2BqoyMDDmdTpWXl%2Bvo0aOKiYnR/Pnz1aNHD40ePVr5%2Bfnq1auX%2BvXrp3/84x/685//LKfTGbCd7Oxs7du3TzNnztS9994rh8OhLVu26Ouvvw5p3sHOsTWmTJmizZs36ze/%2BY0WLFiggQMH6sCBA3r77bclBZ5%2BdblckqTnn39eGRkZslqtGjZsWJMQC8Bc%2BBw3AFHv5z//ufr27asNGzb4j5T9%2Bte/1rp16/Txxx9r6dKlmj17th5//HGVlpZq9OjR/mWfeOIJpaamas2aNZo3b56OHTumTZs2qWfPngHbcLlc2rRpk3o7ISG6AAAA8klEQVT06KGlS5cqJydHw4YN09y5c0Oed7BzDFb37t21efNm3XjjjVqzZo3uu%2B8%2BlZWV6eGHH5akgH3KysrSHXfcoZdffll33nmnpk2bpi%2B//DLkfQEQHSyGYRiRngQAIHQNnxe3f/9%2BJSYmRno6ANoRp0oBwEReeuklSdLgwYPl8/lUWFioF198UbfddhuhDegECG4AYCIOh0ObN2/WyZMn5fP59K1vfUtz5sxRdnZ2pKcGoANwqhQAAMAkuDgBAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYxP8DlAIwLACN17gAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAm4AAAHKCAYAAAC6zcd2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeVxUVf8H8M/M4AACA5KKoWKKDoJigMmSCi5hpmApUrik4ZK4oLmUK1aKuJW4IYShuf5MSkkNn9RKtKdEE54WH7UkcyXUBAdRGZi5vz94ZnKYEZlhEEc%2B79eLl8695577vXPuvXw55y4iQRAEEBEREdFjT1zXARARERFR9TBxIyIiIrIQTNyIiIiILAQTNyIiIiILwcSNiIiIyEIwcSMiIiKyEEzciIiIiCwEEzciIiIiC8HEjYiIiMhCMHGrJf/617/g4eGBzMxMvXkDBgyAh4cHjh49qjfvhRdewMCBA41e34wZMxAaGmpSrImJifDw8IBCoXho2XXr1uHrr782aT1VuXDhAjw8PPDFF19UWe7777%2BHh4cHDh06ZHD%2B/Pnz4eXlpTNtyJAheOONN4yK57fffsOaNWtw9epVo5arz/79739j0KBB8PHxgYeHB7799tu6DqlKwcHBmDt3bpVlysvL4eHhgXXr1j2iqKpWUlKCNWvW4MSJE3rzjDmOa5sgCPjwww8REhICLy8vBAQEAAC2bt2KjIyMRxqLKce/Ofz1119Ys2YNzpw588jXbYpff/0VQ4cOhZ%2BfHzw8PLB169a6DsloD9q/qvv7xVJY1XUATyp/f3%2BIRCIcO3YM/fr1004vKirCb7/9hoYNGyI7Oxvdu3fXzvvrr79w6dIlREdHG72%2ByZMno6SkxCyxVyU5ORkDBgxA7969a31d5rJw4UKIRCKjlvn999%2Bxdu1aBAUFwdXVtZYie3KoVCpMmTIF7dq1Q3JyMmxtbdGmTZu6DuuJc%2BfOHaxduxYSiQRdunSp63Ae6MCBA0hNTcXEiRPRtWtXWFtbA6j4xdqsWTO88sordRxh7fvrr7%2Bwdu1auLm5oX379nUdzkPNnj0bZWVlWLlyJWQyGVq0aFHXIRntQfvX008/jU8//RRubm51FJl5MXGrJc7OzmjXrh2OHz%2BuM/3EiROwsrJCREQEsrOzdeYdO3YMALR/nRrjSdkha0Pbtm3rOgSjqVQqqFQqSKXSug6lWv766y8UFxejT58%2BCAoKMnp5pVIJsVgMKyuekp4Ev//%2BOwBgxIgRcHJyqtV1CYIApVKpTQ4t1d27d2Fra1sn61ar1Th37hyGDRuG4OBgs9T5OB3TUqkUPj4%2BdR2G2XCotBYFBATg/PnzuHbtmnZadnY2OnbsiJCQEJw6dQq3b9/Wzjt%2B/DgkEgmee%2B457TRBELB161YMGDAA3t7e6NKlCyZPnoxLly7prMvQUGlRURFmz56NLl26wNfXFzExMfjzzz8fOPRz/fp1vPXWW/Dz80PXrl0xd%2B5cbXyaISOlUonPPvsMHh4e8PDw0BmCKCgowLx589C9e3d07NgRL7zwAtatWweVSqWznoKCAkyePBm%2Bvr547rnnMH36dPz999/Gf8HVZGioZNu2bQgPD4evry98fX3Rt29frFy5EgCQnp6OadOmAQCGDRum3db7u9l37tyJ8PBweHt7w9/fH5MmTcIff/yht%2B4dO3agT58%2B8Pb2RlhYGDIzM/XaStONv2HDBqxduxa9evWCt7c3fvzxR9y7dw%2BLFy/GgAED0LlzZ/j7%2ByMqKgrffPONzno07bNo0SKkp6fjxRdfRKdOnRAREYGff/4ZgiAgNTUVvXr1gq%2BvL9544w29fehBTpw4gREjRsDX1xfPPvssoqKikJWVpZ2fmJiIXr16AQCWLFkCDw%2BPKoftNcPde/fuRUJCArp164ZOnTrhypUrAKq/H61atQqDBw%2BGv78//Pz8MGjQIOzatQuCIOiUUyqVWLp0Kbp27Ypnn30WQ4cOxS%2B//FKtbX%2BQ6sSoaddPPvkEH3/8sfa7j4qKws8//6xX58P2lQsXLqBbt27abdfsl5WHe6s6jjUyMzMxePBgdO7cGT4%2BPnjhhRcwb968h273li1bMHToUAQGBsLHxwfh4eFIS0tDeXm5tkxwcDDWrFkDoOIcqDnfBAcH4/z58/jhhx%2B0sd%2B/nxQXF2PJkiXo1asXOnbsiODgYCxevBh3797Vlrl/P9%2B2bRv69u2Ljh07Ys%2BePQ%2BN/X6FhYWYP38%2BunXrho4dO6J3795YuXIllEqlTjljz6Ea33//PV577TUAwDvvvKPdXs0yM2bMwHPPPYczZ84gOjoavr6%2BGDVqFADg6NGjiImJQXBwMDp16oQ%2BffrgvffeQ2Fhoc46NEPjeXl5NWrv9PR0eHp6Qq1WY8uWLfDw8NC53OTs2bOIiYnBc889B29vb7zyyit6w5FVHdPp6enw8PBAdnY25syZA39/f3Tu3BmzZs3C3bt3tb8POnfujG7dumH58uU6%2BxNQvWO9qv3rQUOlDzu3ab4fDw8PnDhxAvPnz0dAQAACAgIwefJkXL9%2B/YH7QG2q%2B1T4CRYYGIgtW7bg%2BPHjCAsLA1CRuPXs2RN%2Bfn4QiUQ4efIkQkJCtPO8vLzg4OCgrWPOnDnYu3cvRowYgbfffhtFRUVISkrCkCFDsGfPHjg7Oxtct0qlwrhx43DmzBnExsbC09MTOTk5ePPNNx8Y76RJk9C/f3%2B8%2BuqrOHPmDBITEyEWi7Fw4UJYWVnh008/xfDhw9G9e3eMGzcOALSxFhQUIDIyEg0aNEBsbCxatmyJkydPYt26dbh69Sri4%2BMBVPxVOWLECNy8eRMzZsyAm5sbDh8%2BjOnTpxv13arVar2Du7q%2B%2BOILLFiwACNGjECPHj0gEolw4cIFnD9/HgDQu3dvXL9%2BHatWrcKCBQvg4eEB4J9ezaSkJKxevRrh4eGYMWMGCgsLsWbNGrz22mv4/PPPteW2bduGBQsWoG/fvpg7dy5u3bqFVatWQalUGvwr9JNPPkGbNm0wa9Ys2NnZ4ZlnnsG9e/egUCgwZswYNG3aFEqlEt9//z0mTpyIZcuWITw8XKeOr7/%2BGqdOncKMGTMAAMuXL8ebb76J8PBw5OfnY/78%2Bbh16xaWLl2KKVOmYNeuXVV%2BVz/88APGjBkDLy8vJCQkoEGDBti6dSvGjRuHlStXom/fvhgyZAg8PT0xZcoUjBw5Ev369atW78fy5cvh5%2BeHhQsXAgCcnJyqvR8BwNWrVzFkyBA8/fTTEAQB//nPf/Dee%2B/h2rVriImJ0ZabM2cOvvzyS4wePRpBQUE4e/YsJk6cqPfLrbqMiREANm/ejLZt22LOnDkAgJUrV2Ls2LH4%2BuuvYW9vD6B6%2B8rTTz%2BN1NRUvPnmm3jttdcwaNAgAMBTTz2ls76qjmMA%2BPHHHzFt2jSEhYUhNjYW1tbWuHLlisHr5iq7ePEiwsPD0aJFC1hZWeHMmTNISUnBn3/%2Bqa0/JSUFW7Zswa5du7Bx40Y0bNgQTz/9NHr06IFJkybB2dlZmzRo9pOSkhIMHToUN27cQExMDORyOc6ePYs1a9bg999/R1pams7lDl999RWeeuopxMbG4qmnnkLjxo2r3X6ac9Dly5cxefJkyOVyHD9%2BHKmpqTh79iySk5MBmHYO1ejUqRPi4%2BMxb948xMbGahPup59%2BWlumtLQUEyZMQFRUFN58802o1Wrtd%2Bzn54dXX30VDg4OuHz5MjZs2IDhw4fjiy%2B%2B0Dt31LS9e/fujTZt2mDo0KHo168fRo4cqf2uz507h6ioKDRp0gRxcXFwdHRERkYGZs6cicLCQr3Legwd0xpz585Fnz59kJiYiFOnTmHlypVQqVT4/fff8dJLLyEqKgpHjx7Fxx9/DBcXF4wYMUK7bHWO9ZSUlAfuX4ZU59x2vzlz5qBnz5748MMPcfXqVSxfvhwzZ87Ehg0bqtwXaoVAtaaoqEho3769EBcXJwiCINy8eVPw8PAQjhw5IgiCIAwePFhYsmSJIAiCcPXqVUEulwvLli3TLn/ixAlBLpcLmzZt0qn38uXLQseOHYUVK1Zop02fPl144YUXtJ8PHTokyOVyYefOnTrLJiUlCXK5XEhKStJOW7FihSCXy4WNGzfqlI2LixN8fHx0pnXs2FGYM2eO3rbOmTNH8PPzE/Lz83Wmf/TRR4KHh4fwxx9/CIIgCFu2bBHkcrlw%2BPBhnXKzZs0S5HK5kJGRoVf3/f79738Lcrm8yh9PT0%2BdZaKiooSRI0dqP8%2BfP18ICAiocj379u0T5HK5cOLECZ3pN2/eFDp27CjExMToTL906ZLQoUMH4Z133hEEQRDKysqEwMBAISoqSqfcxYsXBS8vL522%2BvPPPwW5XC706dNHKCsrqzKu8vJyoaysTJg5c6YQERGhnV5WVibI5XKhW7duwp07d7TT//WvfwlyuVwYOHCgoFartdPT0tIEuVwunDt3rsr1DRo0SOjatatOneXl5cJLL70k9OzZU28bKu9DhmjacMSIEXrzqrsfVaZSqYSysjJh1apVQlBQkHb62bNnBblcLixdulSn/O7duwW5XG5wX76f5nu9/3ipboya7%2BTll18WVCqVtlxOTo4gl8uF/fv3a9dR3X3l2rVrevFoVPc4/uijjwS5XC6UlJRUue0Po/nOP/vsM8HLy0soLi7Wi%2BXWrVs6y7z44os6x6JGUlKS4OnpKZw6dUpn%2BpdffinI5XLhu%2B%2B%2BEwThn/bo0qWLoFAoqhVn5eN/69atglwuFw4cOKBTLjk5WZDL5cIPP/wgCIJx51BDcnNzH3hOmz59uiCXy4Xdu3dXWYdarRbKysqEixcv6p03zdnemu81Pj5eZ3psbKzg7e0t/PXXXzrTR40aJfj4%2BGjbvKpjeufOnYJcLhcSEhJ0po8bN06Qy%2BXC5s2bdaaHhYUJgwcPfmCsDzrWBeHB%2B5fmWLy/Lap7btPEv3DhQp06U1JSBLlcLvz9998PjLW2cKi0Fjk6OqJ9%2B/baa9lOnDgBiUQCPz8/AECXLl208zT/3n992%2BHDhyEWixEeHo7y8nLtj4uLC%2BRyud41cvfT/DX10ksv6UzX9PwZohnu0vDw8MCdO3f0uugNOXz4MIKCgtC4cWOdWIODgyEIgjae7OxsyGQybS%2BjRuWeo4eZOXMmPvvsM72fPn36PHTZTp06obCwENOnT8fXX39dre3TyM3NhVKp1PZ2aLRo0QL%2B/v744YcfAAB5eXm4efOm3vffsmVLPPvsswbr7t27t8GeuMzMTERFRcHHxwdeXl7o0KEDdu/ejby8PL2yQUFBOtfJuLu7AwBCQkJ0eiw00zXDk4bcvn0bp06dQt%2B%2BfXXqlEgkGDBgAK5cuYILFy48cPmHMdRW1d2PgIrhmZEjR6Jz587w9PREhw4dkJSUhL///lvbpppjZMCAATrr6devH8Ri005/xsQIAD169NBZl6YHV3PHsin7SlUedhx36tQJQMUNTZmZmSgoKKh23b/%2B%2BitiYmIQEBCg/c7nzJmD8vJy/Pnnn0bHqnH48GG0b98ecrlc5zvV3LxV%2BVrhoKAgnZEJYxw7dgz29vZ6w/mau/k1x7Ap51BjGToGbty4gbi4OAQHB2uP9xdeeAEADB7ztdne2dnZ6Nq1K1xcXHSmv/LKK7hz547ekH9V598ePXrofNbcvGRoeuW7%2BatzrBvDlHNb5RvyKh/HjxKHSmtZQEAANm7ciIKCAmRnZ6NDhw6ws7MDUHHn6caNG1FcXIzs7GxYWVmhc%2BfO2mX//vtvqNVqBAYGGqz7mWeeeeB6i4qKYG1trR2K0ag8rHK/yhcRay6MLy0trXIbNbEePHgQHTp0MDhfc3AVFRUZHNYwZqgDqBi29Pb21pveqFGjhy47aNAgqNVqfPbZZ4iNjYUgCPD29sbUqVMfemF9UVERAKBJkyZ685o2bYoff/xRp9yDttXQtRFNmzbVm5aZmYmpU6eiX79%2BGDNmDBo3bgyJRIKtW7di7969euUdHR11Pjdo0KDK6ZWv6blfUVERBEEwGJdmWlFREVq1avXAOqpiqN7q7ke5ubkYM2YMAgMDER8fj2bNmsHKykp7N6Nmn31QO0ilUshkMpPirm6MGg86ru7du1dljJppxl5H87DjODAwEGvXrsWWLVvwzjvvoKysDHK5HOPHj9e5A76yS5cuYfjw4XB3d8ecOXPQokULSKVS5ObmYtGiRdrtMcWNGzdw5cqVan%2Bnho6/6ioqKjK4fJMmTSASibTtYco51Bj29vZo2LChzjSVSoXo6GjcvHkT48ePR7t27WBra4uysjIMHTrU4HdcW%2B0NALdu3XrguQ74Z9%2BtPN2QynFWdW66/3dOdY91Y5hybnvYcfwoMXGrZZrE7fjx4zh%2B/LjOHTuaJO3EiRPIzs6Gt7e3NqkDKnYUsViM7du3G%2ByJqWr83snJCaWlpSguLtb5y/TGjRvm2CyD6%2BvUqRNiY2MNztf8xebk5GTwuUa1FZchIpEIkZGRiIyMRElJCU6cOIHVq1dj3LhxOHDgAJo1a/bAZTUHr6FfpteuXdMmjppyhrbLmF/Ee/bswTPPPIMVK1bo9JhVlXCZi5OTE0Qikc7NNRqaadVJlB/E0CNaqrsfffnll5BKpUhJSdG58/arr77Sqw%2BoaIf7EyOlUmny886qG6Mx9WlirKy2Ln4ODQ1FaGgolEolcnJykJqaimnTpqFFixbaHprKDh06hLt37yIpKUnnGPn1119rHE%2BjRo0gk8m010ZVVvlaXmMf73M/JycnnD59Wm/69evXIQiCzjFcm%2BdQQ9tw5swZ/Pbbb1i%2BfLlOL7GhnjZjmNLeQEVS9aBzHaB//NekXR6kuse6MWr73FbbOFRay7p06QKJRIKvvvoKv//%2BO/z9/bXzHBwc4OnpiYyMDFy5ckXvMSA9e/aEWq3G9evX4e3trfcjl8urXC8A7N%2B/X2f6l19%2BWaPtkUqlBv/C6NmzJ86ePYtnnnnGYKyav2ICAgKgUCj07twx1Hv0KNjZ2aFHjx4YN24cSktLce7cOQAP7m308/ODVCrVu4vt6tWrOH78uLbHzt3dHc7Oznrf/6VLlwzeUfggIpEIDRo00DkhFhQU4PDhw9Wuw1T29vbo2LEjDhw4oPM9qFQq7N27F82bNzf7Y2iqux8BgJWVlc4Q5N27d/XaRXNMVZ6emZmpvRi8NmOsDmP2FWN6watDKpUiMDAQ06ZNgyAIBhMaDc0%2BeP8vT7VajfT0dKPW96Dzx4ULF%2BDs7GzwO23evLkRW1W1wMBAFBcX692ZrbnjUHMM1/QcakpbGfqOAeDTTz%2Btdh0Pi6m67Q1UfFc//PCDXrKakZGBhg0bGhz1qA3VOdaBB%2B9fldXFuc2c2ONWy%2Bzt7eHl5YVDhw5BLBbrDIUCFSeHTZs2AdB/fpu/vz8iIiIwc%2BZM/PTTT%2BjSpQtsbGxw/fp1/Pjjj/Dy8tLecl5Zjx494OPjg0WLFkGhUMDLyws5OTnand3U63s019Z9%2B%2B23aNy4Mezt7dG6dWu89dZb%2BOGHHxAVFYXhw4ejdevWKC0txeXLl3H48GEkJCSgSZMmGDRoEDZv3oy3334bU6ZMQatWrfDtt99qn2H3KMyePRt2dnbw8/NDkyZNcP36daSkpMDR0VE7VNOuXTsAFSdMa2trWFtbo2XLlnByckJMTAxWr16N2bNn46WXXsLNmzexdu1a2NraYsKECQAqTjSTJk3CggUL8NZbb2HgwIG4desWkpKS0LRp02p//z179kRcXBwWLlyIF154Afn5%2Bdo6qvs4j5qYPn06xowZg5EjRyI6OhoSiQTbt29HXl4eVq1aZfb1VXc/6tGjB7Zs2YK3334bkZGRKCwsxMcff6z3HCy5XI7%2B/ftj48aNkEgkCAwMxG%2B//YaNGzfq9G7XRozVZcy%2B4ujoCBcXFxw8eBD%2B/v6QyWRwdnY2KrFZsWIFbty4gaCgILi4uEChUGDTpk1o0KCBzqOIKuvatSsaNGiAadOmITo6GqWlpdi%2BfbtRD/6Wy%2BU4cOAAMjMz0aJFC9jY2EAul%2BONN97AwYMHMXz4cIwcORJyuRwqlQr5%2Bfn47rvvMHbsWLMlCYMGDcKOHTvw9ttvY/LkyWjbti1%2B/PFH7eNyNOfhmp5DW7VqBWtra3zxxRd45plnYGtrCxcXlyoT%2B7Zt26J58%2BZYvnw5VCoVHBwc8M0332ivuzOFqe0NALGxsThy5Ahef/11TJgwATKZDF988QW%2B%2B%2B47zJo1S28YuTZU91gHHrx/GfKoz23mxMTtEQgICMAvv/wCT09PvR29S5cu%2BOSTT9CgQQP4%2BvrqLbto0SL4%2Bvpi586d2LZtGwRBgIuLC/z8/Ko8kUkkEnz00UdYsmQJUlJSUF5ejs6dO2Pp0qWIiooy%2BcLeefPmYeHChXjrrbdw7949BAUF4ZNPPoGLiws%2B//xzJCcnY/369bh27Rrs7OzQokULdO/eXbu%2Bhg0bYtOmTUhISMAHH3wAsViMbt264YMPPsDQoUNNislYzz33HL744gvs378ft27dQqNGjdClSxd8%2BOGH2u7xZ555BrNmzcKWLVswYsQIqFQqLFu2DC%2B//DImTpyIxo0ba68zs7W1hb%2B/P6ZNm6bzV9qwYcMgFouxYcMGHDp0CC1atMD48eOxf//%2Baj%2B3LjIyEjdv3sTOnTuxc%2BdOuLm5Yfz48bh06RLWr19fK9/P/YKCgrBx40asXbsWs2bNglqthqenJz766CO9G0zMobr7Ubdu3RAfH4%2BPP/4Y48aNg4uLC1577TXIZDLMnz9fp84lS5agSZMm%2BOyzz7Bp0yZ4eXlh7dq1mDRpUq3GaAxj9pXFixdj2bJliImJgVKpxODBg7Fo0aJqr8vHxwfbt2/HsmXLUFhYCJlMhk6dOmHz5s3am1YMadeuHVatWoVVq1YhNjYWjRo1Qnh4ON544w3t44EeZsqUKbh58ybmzp2LO3fuwM3NDQcPHoS9vT22b9%2BO1NRU7NixA5cvX4aNjQ1cXV3x/PPPm7XHzdbWFps3b0ZiYiLWr1%2BPwsJCuLi4YMyYMZg4caK2XE3PoXZ2doiPj8e6deswatQolJWVYcqUKdo/7gyRSqX46KOPkJCQgLi4OFhZWaFr167YsGGD3k0I1WVqewMVieT//d//YeXKlXjvvfegVCrh7u6OpUuXPrK3XxhzrD9o/zLkUZ/bzEkkCJWeVklPNM0zeNLT06u8toFqx61bt9CnTx%2B89NJLeO%2B99%2Bo6HHqMcV95PPEcSnWNPW5PsD179uDGjRto164dRCIR/vOf/yAtLQ0BAQE84TwCBQUFWL9%2BPfz9/eHk5IQrV65g48aNuHfvHl5//fW6Do8eI9xXHk88h9LjiInbE6xhw4bYt28fLly4gHv37qFp06YYPHgwpkyZUteh1QtSqRSXLl1CZmYmbt26BVtbW/j4%2BCA%2BPv6hQxRUv3BfeTzxHEqPIw6VEhEREVkIPg6EiIiIyEIwcSMiIiKyEEzciIiIiCwEEzciIiIiC8G7SuuAIAhQq3lPSH0hFovY3vUI27t%2BYXvXH2KxqFbex2osJm51QCQSQaG4g/Jy096VSJbDykqMRo3s2N71BNu7fmF71y/OznaQSOo%2BceNQKREREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGs6joAIiIi0lBDLL5q%2BtJqV7BP5snGxI2IiOgxIRZfhaPjKxCEBkYvKxKV4datDKjVLWohMnpcMHEjIiJ6jFQkbVITljN/LPT4YX8qERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYWo88Rt165d8PDw0Pv54IMPdMplZWXhlVdegbe3N0JDQ7Ft2zaD9aWlpaFXr17w9vZGREQEsrOz9crcvn0b8%2BfPR0BAAHx9fRETE4MrV67olTt//jxGjx4NHx8fBAUFIT4%2BHvfu3TPPhhMREREZyaquA9D4%2BOOP4eDgoP3s4uKi/X9ubi4mTJiAl19%2BGbNmzUJOTg7i4%2BMhlUoRGRmpLZeWlobExERMnToVXl5eSE9Px9ixY5Geng4PDw9tuenTp%2BPUqVOIi4uDvb09Vq9ejejoaOzZswc2NjYAAIVCgZEjR8LV1RWrV6/GzZs3sXjxYhQVFekllURERESPwmOTuHXo0AHOzs4G5yUlJcHLywsJCQkAgMDAQOTn52PVqlWIiIiAWCyGUqlEcnIyRowYgdGjRwMA/P39ER4ejpSUFCQmJgIAfvrpJxw%2BfBipqakICQkBAMjlcoSGhmL37t0YMmQIAGDHjh1QKBTIyMjQxiWRSDBjxgyMHz8e7u7utfp9EBEREVVW50OlD6NUKnHs2DH0799fZ3p4eDiuX7%2BO//73vwCAnJwcFBcXIywsTFtGIpGgX79%2ByMrKgiAIACqGXGUyGYKDg7XlXF1d4efnh6ysLO20I0eOICgoSCeZfPHFFyGVSnXKERERET0qj02PW1hYGAoLC%2BHq6opXX30VY8aMgUQiwcWLF1FWVoY2bdrolG/bti0AIC8vDx07dkReXh4A6JVzd3dHSUkJCgoK0KxZM%2BTl5aF169YQiUR69X333Xfaz3l5eYiIiNApI5VK4ebmpl1XTUgkj33OTGagaWe2d/3A9q5faqO9RSIxKv16MopEIoZYzP2vNtSkXcypzhO3Jk2aIDY2Fs8%2B%2ByxEIhG%2B%2Bat30OMAACAASURBVOYbrFy5EgUFBZg/fz5u3boFAJDJZDrLaT5r5isUCkilUu01ahqOjo4AgKKiIjRr1gwKhULnWrr769PUpamv8joNlTOVTGZb4zrIcrC96xe2d/1i3vZuiIrBMFOSLzGcnBoCsDNjPPS4qfPErXv37ujevbv2c7du3WBtbY1NmzYhJiZGO71yD5mh6YbKaIZIH1auqumV66tOuYdRKO5CpVLXuB56vEkkYshktmzveoLtXb/URnuLRHdgb68GYEp9aty%2BfQeCUGKWWEiXo6PtY9GbWeeJmyEvvfQSNmzYgNOnT6N58%2BYAoNfLpVAoAPzT8yaTyVBaWorS0lJYW1vrldP0vMlkMuTn5%2Buts3IPm0wm0y57v%2BLiYrPcmKBSqVFezhN7fcH2rl/Y3vWLOdtbLFbjf/0NJseiVnPfqw01aRdzqvvU8SHc3NzQoEED/PHHHzrTz507BwDaJErzb%2BXrz/Ly8mBnZ6d9vIi7uzvOnz%2Bv7Ym7v777EzJ3d3e9upRKJS5evMg7SomIiKhOPJaJW2ZmJiQSCby8vCCVShEYGIj9%2B/frlNm3bx%2BaNGkCLy8vAICfnx8cHByQmZmpLaNSqbB//36EhIRohzdDQkKgUChw9OhRbbn8/Hzk5ORoHw8CAMHBwTh27BgKCwu10w4ePAilUqlTjoiIiOhRkbz33nvv1WUAo0ePxrVr13D79m1cuHABGzZswLZt2/D666%2Bjb9%2B%2BAICWLVsiJSUF%2Bfn5sLOzw969e7Fx40bMnj0bHTt2BFDx6A%2BJRIKUlBTY2NigtLQUq1atQm5uLpYtW4bGjRsDAJo1a4Zff/0Vn376KVxcXJCfn4/58%2BfDxsYGCxYsgJVVxehxu3bt8Pnnn%2BPo0aNwcXFBbm4uEhISEBoaiqioqBpv9717ZVCrH5N%2BV6o1YrEItrZStnc9wfauX2qjvUUiBayt0wFITFhahdLSVyEI%2BjfWUc3Z2kohFtf9raUiofKY4SMWHx%2BPo0eP4q%2B//oJarcYzzzyDyMhIvP766zo3AWRlZWHFihXIy8tDs2bNEB0djWHDhunUJQgC0tLSsG3bNty4cQNyuRxvv/02AgMDdcrdvn0bS5cuxVdffYWysjIEBAQgLi5Oez2dxvnz5xEfH4%2BTJ0/CxsYGYWFhmDFjht6dq6YoLCzhNTD1gJWVGI0a2bG96wm2d/1SG%2B0tFl%2BGTBYJQGrC0kooFOlQq1uYJRbS5exs91g86qfOE7f6iif2%2BoG/yOsXtnf9wsStfnlcEre6j4CIiIiIqoWJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYVg4kZERERkIZi4EREREVkIJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZCCZuRERERBaCiRsRERGRhWDiRkRERGQhmLgRERERWQgmbkREREQWgokbERERkYUwS%2BKWn5%2BPI0eOoLCw0BzVEREREZEBVsYukJiYiLt372LOnDkAgO%2B//x4xMTEoKyuDTCbD1q1b0a5dO7MHSkRE9PhTQyy%2BavLSYnE%2BAMF84dATx%2BgetwMHDqBt27bazytXroSHhwfWrl0LV1dXJCcnmxxMSUkJgoOD4eHhgV9%2B%2BUVnXlZWFl555RV4e3sjNDQU27ZtM1hHWloaevXqBW9vb0RERCA7O1uvzO3btzF//nwEBATA19cXMTExuHLlil658%2BfPY/To0fDx8UFQUBDi4%2BNx7949k7ePiIiebGLxVTg6vgKZLNKkHweHMRCJyut6M%2BgxZnTiVlBQADc3NwBAYWEhfvnlF0yePBm9e/fG2LFjcfLkSZODWbduHVQqld703NxcTJgwAV5eXli/fj0GDhyI%2BPh4pKen65RLS0tDYmIihg0bhtTUVLRq1Qpjx47F2bNndcpNnz4d33zzDeLi4pCYmIhr164hOjpaJylTKBQYOXIkSkpKsHr1asycORN79%2B7FvHnzTN4%2BIiJ68glCAwBSk34qliV6MKOHSgVBgCBUdOPm5ORAIpGgS5cuAICmTZuafJ1bXl4etm/fjpkzZ%2BLdd9/VmZeUlAQvLy8kJCQAAAIDA5Gfn49Vq1YhIiICYrEYSqUSycnJGDFiBEaPHg0A8Pf3R3h4OFJSUpCYmAgA%2BOmnn3D48GGkpqYiJCQEACCXyxEaGordu3djyJAhAIAdO3ZAoVAgIyMDzs7OAACJRIIZM2Zg/PjxcHd3N2k7iYiIiExldI%2Bbm5sbvv32WwBAZmYmvL29YWNjAwC4du0aZDKZSYEsWrQIUVFRaN26tc50pVKJY8eOoX///jrTw8PDcf36dfz3v/8FUJFEFhcXIywsTFtGIpGgX79%2ByMrK0iabWVlZkMlkCA4O1pZzdXWFn58fsrKytNOOHDmCoKAgbdIGAC%2B%2B%2BCKkUqlOOSIiIqJHxejE7bXXXsPmzZsREBCAzMxMvPrqq9p5OTk5Ote/Vde//vUvnDlzBhMnTtSbd/HiRZSVlaFNmzY60zXrycvL0/m3cjl3d3eUlJSgoKBAW65169YQiUR69Wnq0JSr3KsmlUrh5uamU46IiIjoUTF6qHTo0KFwdHREbm4uvL298fLLL2vnlZaWYuDAgUbVd/fuXSxZsgTTpk2Dvb293vxbt24BgF5PnuazZr5CoYBUKtX2/mk4OjoCAIqKitCsWTMoFAo4ODjorUcmk2nr0tRnqPewcjlTSSR8hF59oGlntnf9wPauXwy1t0gkRqV%2BAZOYWodEIoZYzP2vNpijXc3B6MQNAPr37683dAkACxcuNLqu5ORkPPXUUxg0aFCV5Sr3kBmabqiMZoj0YeWqml65vuqUexiZzLbGdZDlYHvXL2zv%2BkW3vRuiYjDL1ORJ8/vFlOXFcHJqCMDOxHWTJTApcQMqhhJPnDiBwsJCDB48GE2aNEFBQQEcHR31er0e5MqVK9iwYQOSkpJw%2B/ZtAMCdO3e0/5aUlGh7zCr3cikUCgD/9LzJZDKUlpaitLQU1tbWeuU09chkMuTn5%2BvFUrmHTSaTaZe9X3FxsVluTFAo7kKlUte4Hnq8SSRiyGS2bO96gu1dvxhqb5HoDuzt1QBMbX/NM9xMWV6N27fvQBBKTFw3VcXR0fax6M00OnFTqVSIi4vD7t27tb1PwcHBaNKkCd599114enpiypQp1arr8uXLKCsrw5tvvqk3b8SIEXj22WexdetWNGjQAH/88YfODQXnzp0DAG0Spfk3Ly8PXl5e2nJ5eXmws7ODi4uLttz333%2Bv13N27tw5nYTM3d1d71o2pVKJixcvIiIiolrbVxWVSo3ycp7Y6wu2d/3C9q5f7m9vsVgNoYbPzxWJYHIdKpUaajX3vdpQ03Y1F6NTx%2BTkZOzbtw/vvPMO9u3bpx2KBIDu3bvj6NGj1a7L09MTmzdv1vmZPXs2AOD999/Hu%2B%2B%2BC6lUisDAQOzfv19n2X379qFJkybaJM3Pzw8ODg7IzMzUllGpVNi/fz9CQkK0SVpISAgUCoVOnPn5%2BcjJydE%2BHgQAgoODcezYMZ3Hmxw8eBBKpVKnHBEREdGjYnSP2%2B7duzFhwgRER0frPSy3RYsWuHz5crXrkslkCAgIMDivQ4cO6NChAwBg4sSJGD58OObNm4fw8HDk5OQgPT0dCxYs0HZbSqVSjB8/HomJiXB2doaXlxfS09Nx6dIlrFixQlvvs88%2Bix49emDu3LmYNWsW7O3tsWrVKjRv3lznxoqoqChs3boVEyZMwIQJE/D3339jyZIlCA8P5zPciIiIqE4YnbgVFBTAx8fH4Dxra2uUlJh/bN3X1xfr1q3DihUrkJGRgWbNmmHevHmIjIzUKTdq1CgIgoAtW7bgxo0bkMvlSE1NhYeHh065Dz/8EEuXLsX777%2BPsrIyBAQEYM2aNTrX5slkMmzatAnx8fGIjY2FjY0NwsLCMGPGDLNvHxEREVF1iATBuFHbkJAQTJo0CZGRkVCpVOjQoQM%2B//xzdOjQAf/3f/%2BHDRs24ODBg7UV7xOjsLCE18DUA1ZWYjRqZMf2rifY3vWLofYWiy9DJotExSusTFHyv2vcTLkzVAmFIh1qdQsT101VcXa2eywe9WN0BCEhIUhJSdE%2B0BaoeIxGcXExtmzZgp49e5o1QCIiIiKqYPRQ6eTJk3HkyBH069cPAQEBEIlEWLFiBX7//XdYWVlhwoQJtREnERERUb1ndI9b48aN8dlnn6F///44deoUJBIJzpw5g%2BDgYOzYsQNOTk61EScRERFRvWfSA3gbN26MBQsWmDsWIiIiIqqCWa6yy8/Px5EjR3SeeUZERERE5mV0j1tiYiLu3r2LOXPmAAC%2B//57xMTEQKlUwtHREVu3bkW7du3MHigRERFRfWd0j9uBAwfQtm1b7eeVK1fCw8MDSUlJcHV1RXJyslkDJCIiIqIKJj2A183NDQBQWFiIX375BampqejevTtKS0uxdOlSswdJRERERCb0uAmCoH0/aU5ODiQSCbp06QIAaNq0Ka9zIyIiIqolRidubm5u%2BPbbbwEAmZmZ8Pb21r4q6tq1a5DJZOaNkIiIiIgAmJC4vfbaa9i8eTMCAgKQmZmJV199VTsvJydH5/o3IiIiIjIfo69xGzp0KBwdHZGbmwtvb2%2B8/PLL2nmlpaUYOHCgWQMkIiIiogpGv2SezIMvoa4f%2BNLx%2BoXtXb/wJfP1i8W%2BZJ6IiIiI6oZJr7w6ceIEtmzZgry8PNy7d09v/tdff13jwIiIiIhIl9E9bj/%2B%2BCPeeOMNFBcXIy8vD23atIGLiwvy8/NhZWUFf3//2oiTiIiIqN4zOnFbs2YNBg0ahI8//hgA8NZbb2H79u3YtWsXSkpKEBoaavYgiYiIiMiExO3333/HCy%2B8AJFIBABQqVQAgPbt22PChAlISkoyb4REREREBMCExO3u3buws7ODWCyGVCrVeVNCmzZtkJeXZ9YAiYiIiKiC0TcnuLq64saNGwCAtm3bIisrCyEhIQAqblpwcnIyb4RERESPlBpi8dWHlhKJxAAaQiS6A7FY8ziQfAB8yhbVHqMTN39/fxw/fhx9%2B/ZFZGQk3n//feTl5UEqleLf//43oqOjayNOIiKiR0IsvgpHx1cgCA2qLFdxxZAY9vZqaJ6IKhLdAdAAgmBd22FSPWV04hYbG4tbt24BAIYMGYJ79%2B5h7969AIDx48cjJibGvBESERE9YhVJW3UeoisG8M/DlgWh7H8JHVHtMDpxc3Z2hrOzs/ZzdHQ0e9mIiIiIHgGTHsCrUVBQgKKiIjg5OcHFxcVcMRERERGRASYlbgcOHMCHH36Iixcvaqe5ublh6tSp6Nu3r9mCIyIiIqJ/GJ24ZWZmYtq0aWjTpg0mTpyIxo0b4/r168jMzMTUqVOhVqvRr1%2B/2oiViIiIqF4TCYJg1H3L/fv3R/PmzZGSkgKx%2BJ/HwKnVarz55pvIz8/Hl19%2BafZAnzSFhSUoL1c/vCBZNCsrMRo1smN71xNs7yeDWHwZMlkkHnZzgkhU0ebl5f/cVQqUQCQCBMHOxLXXZHklFIp0qNUtTFw3VcXZ2Q4SidGPvzU7oyO4ePEihg4dqpO0AYBYLMbQoUN1hk%2BJiIiIyHyMTtxcXV1x9%2B5dg/Pu3buHp59%2BusZBEREREZE%2BoxO3UaNGYd26dbh586bO9L///hvJyckYNWqU2YIjIiIion9U6%2BaE%2BPh4nc%2B3b99G7969ERgYiCZNmuD69es4duwYGjVqhHPnztVKoERERET1XbVuTmjfvn31KxSJcPr06RoFVR/w4uX6gRer1y9s7ycDb04gQx6XmxOq1eN25syZ2o6DiIiIiB6i7lNHIiIiIqoWJm5EREREFoKJGxEREZGFYOJGREREZCGYuBERERFZiGolbosXL0Z%2Bfj4A4OrVqygrK6vVoIiIiIhIX7USt02bNuH69esAgN69e/M5bURERER1oFqJm6OjI27cuAEAqMbzeomIiIioFlTrAbzPPvss5s6di06dOgEAli5dCgcHB4NlRSIRkpOTzRchEREREQGoZuL27rvvIiEhAefOnYNIJMKFCxcglRp%2BFYhIJDJrgERERERUoVqJW/PmzZGUlASg4r2l69at0/a%2BEREREdGjYfTjQDZv3gx3d/faiIWIiIiIqlCtHrf7%2Bfv7AwAuXLiAY8eOoaioCI0aNUJAQABatWpl9gCJiIiIqILRiZsgCFi4cCF27NgBtVqtnS4WizF06FDMmzfPrAESERERUQWjE7dPPvkE27dvx5AhQzBw4EC4uLigoKAAGRkZ2L59O1q0aIE33nijFkIlIiIiqt%2BMTtzS09MxfPhwnZ41FxcXdOrUCWKxGDt37mTiRkRERFQLjL454dKlS%2BjZs6fBeT179sSlS5eMqu/o0aMYPnw4AgMD0bFjR/Tu3RuLFy9GcXGxTrmsrCy88sor8Pb2RmhoKLZt22awvrS0NPTq1Qve3t6IiIhAdna2Xpnbt29j/vz5CAgIgK%2BvL2JiYnDlyhW9cufPn8fo0aPh4%2BODoKAgxMfH4969e0ZtHxEREZG5GJ24OTg44OrVqwbnXb16Ffb29kbVd%2BvWLfj6%2BmLhwoVIS0tDdHQ0MjIyMGXKFG2Z3NxcTJgwAV5eXli/fj0GDhyI%2BPh4pKen69SVlpaGxMREDBs2DKmpqWjVqhXGjh2Ls2fP6pSbPn06vvnmG8TFxSExMRHXrl1DdHS0TlKmUCgwcuRIlJSUYPXq1Zg5cyb27t3La/iIiIiozhg9VPr8889j5cqV8PT0RMeOHbXTT58%2BjdWrV6Nbt25G1RcWFoawsDDt54CAAEilUsTFxaGgoAAuLi5ISkqCl5cXEhISAACBgYHIz8/HqlWrEBERAbFYDKVSieTkZIwYMQKjR48GUHEHbHh4OFJSUpCYmAgA%2BOmnn3D48GGkpqYiJCQEACCXyxEaGordu3djyJAhAIAdO3ZAoVAgIyMDzs7OAACJRIIZM2Zg/PjxfCQKERERPXJG97hNnz4dEokEkZGRCA8Px6hRoxAeHo5BgwZBLBZj%2BvTpNQ7KyckJAFBeXg6lUoljx46hf//%2BOmXCw8Nx/fp1/Pe//wUA5OTkoLi4WCcJlEgk6NevH7KysrTvWM3KyoJMJkNwcLC2nKurK/z8/JCVlaWdduTIEQQFBWmTNgB48cUXIZVKdcoRERERPSpG97g9/fTTyMjIwMaNG5GdnY3Lly/DyckJb775JkaOHKmT6BhDpVKhvLwc586dQ1JSEnr27InmzZvj3LlzKCsrQ5s2bXTKt23bFgCQl5eHjh07Ii8vDwD0yrm7u6OkpAQFBQVo1qwZ8vLy0Lp1a71Xc7Vt2xbfffed9nNeXh4iIiJ0ykilUri5uWnXVRMSidE5M1kgTTuzvesHtveTQSQSozpvb9SUMVS2pm9/NHV5iUQMsZj7X214XN7oaXTiBgDOzs5m6Vm7X8%2BePVFQUAAA6N69O1asWAGg4ho4AJDJZDrlNZ818xUKBaRSKWxsbHTKOTo6AgCKiorQrFkzKBQKODg46K1fJpNp69LUV3mdhsqZSiazrXEdZDnY3vUL29vSNUTFgFT1EiDdRF3z293U5Kkmy4vh5NQQgJ2J6yZLYFLiVhtSU1Nx584dnDt3DuvWrUNMTAw2btyonf%2Bgl9ffP91QGc0Q6cPKVTW9cn3VKfcwCsVdqFTqhxckiyaRiCGT2bK96wm295NBJLoDe3s1gKrbUCSqaHOVSo3//aoBoPmPqe1fk%2BXVuH37DgShxMR1U1UcHW0fi97MxyZxa9%2B%2BPQDAz88PXl5eiIiIwMGDB7VDopV7uRQKBYB/et5kMhlKS0tRWloKa2trvXKanjeZTIb8/Hy99VfuYZPJZNpl71dcXGyWGxNUKjXKy3liry/Y3vUL29uyicX3J2IPJwjQKS8SwajlK6vJ8iqVWuetRmQ%2BNWlTc6r71NEAT09PSCQSXLx4EW5ubmjQoAH%2B%2BOMPnTLnzp0DAG0Spfm38vVneXl5sLOzg4uLi7bc%2BfPntT1x99d3f0Lm7u6uV5dSqcTFixd5RykRERHViccyccvNzYVKpUKLFi0glUoRGBiI/fv365TZt28fmjRpAi8vLwAVPXUODg7IzMzUllGpVNi/fz9CQkK0w5shISFQKBQ4evSotlx%2Bfj5ycnK0jwcBgODgYBw7dgyFhYXaaQcPHoRSqdQpR0RERPSoSN577733jFlAqVRCLBab5TovAJg0aRIuXryI4uJi/PXXXzh06BASEhLQsmVLzJo1CxKJBC1btkRKSgry8/NhZ2eHvXv3YuPGjZg9e7b2WXISiQQSiQQpKSmwsbFBaWkpVq1ahdzcXCxbtgyNGzcGADRr1gy//vorPv30U7i4uCA/Px/z58%2BHjY0NFixYACuritHjdu3a4fPPP8fRo0fh4uKC3NxcJCQkIDQ0FFFRUTXe7nv3yqBWPyb9rlRrxGIRbG2lbO96gu39ZBCJFLC2TgcgeUi5ijbXbeuy/919KDVx7TVZXoXS0lchCPo31lHN2dpKIRbX/a2lIqHymGEVSktL4ePjg9WrVyM0NNQsAaSmpiIzMxMXL16EIAho3rw5QkNDMXr0aJ23MGRlZWHFihXIy8tDs2bNEB0djWHDhunUJQgC0tLSsG3bNty4cQNyuRxvv/02AgMDdcrdvn0bS5cuxVdffYWysjIEBAQgLi4OzZs31yl3/vx5xMfH4%2BTJk7CxsUFYWBhmzJihd%2BeqKQoLS3gNTD1gZSVGo0Z2bO96gu39ZBCLL0Mmi8TDkieRqKLNy8vvvyau5H/XqJl6Z2dNlldCoUiHWt3CxHVTVZyd7R6LR/0YlbgBQFBQEJYvX270GxJIF0/s9QN/kdcvbO8nAxM3MuRxSdyMjqBnz544ePBgbcRCRERERFUw%2BnEg/fv3x9y5czF79mz06dMHTZo00bverUOHDmYLkIiIiIgqGJ24aV7gvnv3bmRkZOjM0zyc9vTp0%2BaJjoiIiIi0jE7cFi9eXBtxEBEREdFDGJ24DRw4sDbiICIiIqKHqNHtEX/88QdOnjyJO3fumCseIiIiInoAkxK3jIwMBAcHo3///hg%2BfDjOnz8PAJgyZQp27txp1gCJiIiIqILRidv%2B/fsxa9YseHl5IS4uTuednx06dNB7NRURERERmYfRiVtqaioGDRqElJQUvPbaazrz2rRpo335OxERERGZl9GJW15eHvr3729wnpOTE4qKimocFBERERHpMzpxs7W1RXFxscF5BQUFcHR0rHFQRERERKTP6MTN19cX27Ztg6FXnO7atQv%2B/v5mCYyIiIiIdBmduE2cOBH/%2Bc9/MHjwYGzZsgUikQgHDhxATEwMfvzxR8TExNRGnERERET1ntGJm7e3N9avX487d%2B5gyZIlEAQBH330Ec6fP4/U1FTI5fLaiJOIiIio3jP6zQkAEBgYiP379%2BPixYu4ceMGGjVqhNatW5s7NiIiIiK6j0mJm4abmxvc3NzMFQsRERERVcGkxO3y5ctITU1FdnY2ioqK4OTkhICAAIwdOxYtW7Y0d4xEREREBBOucTt9%2BjQGDhyIXbt2oWnTpujatSuaNm2KXbt2YeDAgTh9%2BnRtxElERERU7xnd45aQkABnZ2ds3LgRrq6u2ulXrlzBqFGjkJCQgC1btpg1SCIiIiIyocft559/RmxsrE7SBgDNmzfHpEmT8PPPP5stOCIiIiL6h9GJm4ODAxwcHAzOk8lksLe3r3FQRERERKTP6MQtLCwM6enpBuft3Lnzge8xJSIiIqKaqdY1bgcOHND%2Bv0OHDvjqq68wePBghIWFoXHjxrhx4wb27duHmzdvom/fvrUWLBEREVF9JhIMvXS0kvbt20MkEkEQBO2/D6xQJOKdpdVQWFiC8nJ1XYdBtczKSoxGjezY3vUE2/vJIBZfhkwWCUBaZTmRqKLNy8vV%2BOfXYglEIkAQ7Exce02WV0KhSIda3cLEdVNVnJ3tIJEYPVBpdtXqcdu8eXNtx0FERERED1GtxM3f37%2B24yAiIiKih6j7Pj8iIiIiqhaTXnl16NAh7NmzB1evXkVpaanOPJFIhD179pglOCIiIiL6h9GJ28cff4wPPvgAzs7OcHNzg62tbW3ERURERESVGJ24bd%2B%2BHREREViwYAEkEkltxEREREREBhh9jVtRURHCwsKYtBERERE9YkYnbn5%2Bfvjjjz9qIxYiIiIiqoLRiducOXOwbds2fP3111AqlbURExEREREZYPQ1bq1atcLzzz%2BPSZMmQSQSwcbGRme%2BSCTCyZMnzRYgEREREVUwOnFbvnw5tm7dCk9PT7Rp0wZSadWvBCEiIiIi8zA6cdu9ezfGjh2L6dOn10Y8RERERPQARl/jplKp8Pzzz9dGLERERERUBaMTt65du%2BKnn36qjViIiIiIqApGD5VOmDABU6dOha2tLXr06AFHR0e9Mk5OTmYJjoiIiIj%2BIRIEQTBmgfbt21csKBI9sMzp06drFlU9UFhYgvJydV2HQbXMykqMRo3s2N71BNv7ySAWX4ZMFgmg6pvvRKKKNi8vV%2BOf36QlEIkAQbAzce01WV4JhSIdanULE9dNVXF2toNEYvRApdkZ3eM2ceLEKpM2IiIiIqodRidusbGxtREHERERET1E3ff5EREREVG1GN3jtnbt2irni0QiTJw40eSAiIiIE29ZzwAAIABJREFUiMgwJm5EREREFsLoxO3MmTN604qKinDo0CFs2rQJqampZgmMiIiIiHSZ5Ro3JycnDB48GOHh4YiPjzdHlURERERUiVlvTvD29sYPP/xgziqJiIiI6H/MmridPXsWDRs2NGeVRERERPQ/Rl/jlpGRoTdNqVTi7Nmz%2BPzzzzFgwACj6tu/fz/27t2LU6dO4datW2jZsiWGDBmCqKgoiMX/5JVZWVlITExEXl4emjVrhjfeeAPDhg3Tqy8tLQ3btm3D9evXIZfL8c477yAgIECnzO3bt7Fs2TJ89dVXUCqVCAgIQFxcHJo3b65T7vz584iPj8fJkydha2uL/v37Y8aMGbCxsTFqG4mIiIjMwejEbdasWQanW1tbY8CAAXjnnXeMqm/jxo1wdXXFO%2B%2B8g6eeegrZ2dlYtGgRLl26hJkzZwIAcnNzMWHCBLz88suYNWsWcnJyEB8fD6lUisjISG1daWlpSExMxNSpU%2BHl5YX09HSMHTsW6enp8PDw0JabPn06Tp06hbi4ONjb22P16tWIjo7Gnj17tEmZQqHAyJEj4erqitWrV%2BPmzZtYvHgxioqK8MEHHxj7tRERERHVmNGJ29dff603zdraGo0bNzYpgJSUFDg7O2s/BwYG4s6dO9i2bRumTp0KqVSKpKQkeHl5ISEhQVsmPz8fq1atQkREBMRiMZRKJZKTkzFixAiMHj0aAODv74/w8HCkpKQgMTERAPDTTz/h8OHDSE1NRUhICABALpcjNDQUu3fvxpAhQwAAO3bsgEKhQEZGhjY%2BiUSCGTNmYPz48XB3dzdpe4mIiIhMZfQ1bs2bN9f7MTVpA6CTtGl4enqitLQURUVFUCqVOHbsGPr3///27ji46fr%2B4/grCYSUQloQbQcCg0JwHVVgw7aTtXc4hkIRGTjZcZMxhrOIIAJDdlIZvx6KqAhuWJWOQ8XJMZgnSEUmI6C7Mg/qhLF5NlaRWpU6IG2RNm2/vz%2BwGWlLSdO0yZc%2BH3dc6Sfv7/f7%2BfIO6avfb775TgyomTRpkk6dOqXjx49Lko4cOaKKigplZWX5a2w2myZMmCC32y3jmzsAu91uOZ1OZWRk%2BOv69u2rUaNGye12%2B8cOHDig9PT0gPmNHz9edrs9oA4AAKCjtPqIW0c4fPiw4uPjddVVV6mkpEQ%2Bn0%2BDBw8OqBkyZIgkyePxaPjw4fJ4PJLUpC4pKUlVVVX64osvlJiYKI/Ho0GDBslisTRZ39tvv%2B3/3uPxaOrUqQE1drtdAwYM8G%2BrLWw27jbWGTT0mX53DvT7ymCxWNXoR8Ql6gK/NvdY6HMIbTmbzRrw/nCET1t7Gi5BBbdJkyYFvUKLxaLXXnst5AkdPXpUO3bs0L333iubzaazZ89KkpxOZ0Bdw/cNj3u9Xtnt9iYXDsTFxUm68CHBiYmJ8nq96tmzZ5PtOp1O/7oa1td4m83VhcrpjGnzOmAe9Ltzod9m110XTkgFF4ACg3rDT/dQw1NblrcqPr67pNgQtw0zCCq4xcfHX7bm3Llz%2Bte//tXkSFZrnDp1SvPnz1dKSormzJkT8Nil1nvxeHM1DadIL1fX0njj9bVlHxt4vV%2Brrq6%2BzetBdLPZrHI6Y%2Bh3J0G/rwwWyzn16FEvqeUeWiwXel5XV69vftRIavhLqP1vy/L1qqw8J8OoCnHbaElcXExUHM0MKri9%2BOKLl3ystrZWW7du1YYNG2SxWALeY9YaFRUVmjNnjhwOh5555hl17dpV0v%2BOmDU%2ByuX1eiX978ib0%2BlUdXW1qqur1a1btyZ1DetxOp0qKytrsv3GR9icTqd/2cbzDMeFCXV19aqt5YW9s6DfnQv9Njer9eIgdnmGoYB6i0WtWr6xtixfV1ev%2Bnqee%2B2hLT0NpzZFx4KCAk2cOFG5ubm67rrrtGPHDq1Zs6bV66murlZ2drbKy8u1ceNG9erVy//YgAED1LVrV3300UcByxQXF0uSP0Q1fG38/jOPx6PY2FglJCT460pKSvxH4i5e38WBLCkpqcm6ampqdOLECa4oBQAAERFScDt06JDuuOMOLVy4ULGxsfrjH/%2Bo/Px8fec732n1umpra7VgwQL95z//0caNG5t8CK7dbldaWpoKCgoCxnft2qWrr75aycnJkqRRo0apZ8%2Be2r17t7%2Bmrq5OBQUFyszM9J/ezMzMlNfr1cGDB/11ZWVlOnLkiP/jQSQpIyNDhYWFOn36tH9s7969qqmpCagDAADoKLYVK1asCLb4gw8%2B0LJly7R%2B/XrZ7XY9/PDDWr58ufr37x/yBFasWKFdu3ZpwYIFuuaaa/T555/7//To0UN2u139%2B/dXXl6eysrKFBsbq507d2rTpk1atmyZhg8ffmFHbDbZbDbl5eXJ4XCourpa69atU1FRkR577DH/R5YkJibq2LFj2rp1qxISElRWVqacnBw5HA6tXLlSXbpcOHs8dOhQbd%2B%2BXQcPHlRCQoKKioq0atUqjRs3TtOnTw95fxucP%2B9TfX2UHHdFu7FaLYqJsdPvToJ%2BXxksFq%2B6ddsmyXaZugs9D%2By175urD%2B0hbr0ty9epuvqnMoymF9ah7WJi7LJaI39pqcVofM6wGWVlZXrqqae0a9cuxcXFKTs7W9OnT/e/D60txo4dq9LS0mYfe%2BGFF/y3q3K73XryySf9t7yaNWtWk1teGYbhv%2BVVeXm5XC6XlixZorS0tIC6yspKrV69Wnv27JHP5wvqllcOh0NZWVlhu%2BXV6dNVvAemE%2BjSxapevWLpdydBv68MVutJOZ136HLhyWK50PPa2ovfE1f1zXvUQr2ysy3L18jr3ab6%2BmtD3DZa0rt3bFR81E9Qwe3666%2BXz%2BfTD3/4Q/3qV79SbGzLT6jvfve7YZvglYoX9s6BH%2BSdC/2%2BMhDc0JxoCW5BXVVaU1Mj6cLdBC5%2Bb1hjDR%2BV8e9//zs8swMAAIBfUMHtkUceae95AAAA4DKCCm5Tpkxp73kAAADgMiJ/shYAAABBIbgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACT6BLpCQAAEF71slo/C3lpq7VMkhG%2B6QBhRHADAFxRrNbPFBd3uwyja0jLWyznJHWVYXQL78SAMCC4AQCuOBdCmz3EZX2yWMI7HyBceI8bAACASUQ8uH3yySfKycnR5MmTlZycrKysrGbr3G63br/9dqWkpGjcuHHasmVLs3X5%2BfkaO3asUlJSNHXqVB06dKhJTWVlpXJycpSamqqRI0fqnnvuUWlpaZO6kpISzZ49WyNGjFB6erpyc3N1/vz5tu0wAABAiCIe3D788EO53W4NHDhQSUlJzdYUFRVp7ty5Sk5O1vPPP68pU6YoNzdX27ZtC6jLz8/X2rVrNWPGDD333HMaOHCg5syZow8%2B%2BCCgbtGiRdq3b5%2BWL1%2ButWvX6ssvv9SsWbMCQpnX69XMmTNVVVWl9evXa%2BnSpdq5c6ceeuih8P8jAAAABCHi73EbO3asfvSjH0mSHnzwQR07dqxJzR/%2B8AclJydr1apVkqS0tDSVlZVp3bp1mjp1qqxWq2pqavTMM8/orrvu0uzZsyVJN954oyZNmqS8vDytXbtWkvTPf/5T%2B/fv13PPPafMzExJksvl0rhx4/SXv/xFP/vZzyRJr7zyirxer1599VX17t1bkmSz2bR48WJlZ2dfMmQCAAC0l4gfcbNaW55CTU2NCgsLNXHixIDxSZMm6dSpUzp%2B/Lgk6ciRI6qoqAg41Wqz2TRhwgS53W4ZxoVLu91ut5xOpzIyMvx1ffv21ahRo%2BR2u/1jBw4cUHp6uj%2B0SdL48eNlt9sD6gAAADpKxIPb5Zw4cUI%2Bn0%2BDBw8OGB8yZIgkyePxBHxtXJeUlKSqqip98cUX/rpBgwbJ0uiSoSFDhvjX0VDX%2BKia3W7XgAEDAuoAAAA6SsRPlV7O2bNnJUlOpzNgvOH7hse9Xq/sdrscDkdAXVxcnCTpzJkzSkxMlNfrVc%2BePZtsx%2Bl0%2BtfVsL7G22yuLlQ2W9RnZoRBQ5/pd%2BdAv6ODxWINy8d5XG4dDY83V9fW7Ye6vM1mveyZLIQmWj4iJuqDW4PGR8iaG2%2BupuEU6eXqWhpvvL5g6i7H6Yxp8zpgHvS7c6HfkdZdF04ohRpgGl7jg1s%2BMKi3btm2bjuQVfHx3SXFhrhtmEHUB7eGI2aNj3J5vV5J/zvy5nQ6VV1drerqanXr1q1JXcN6nE6nysrKmmyn8RE2p9PpX/ZiFRUVYbkwwev9WnV19W1eD6KbzWaV0xlDvzsJ%2Bh0dLJZz6tGjXlKoPWi43VXLy1ssF3peV1cvw3%2BHrOCWbeu2m1evyspzMoyqELeNlsTFxUTF0cyoD24DBgxQ165d9dFHHwVcUFBcXCxJ/hDV8NXj8Sg5Odlf5/F4FBsbq4SEBH/d3//%2B9yZHzoqLiwMCWVJSUpP3stXU1OjEiROaOnVqm/errq5etbW8sHcW9Ltzod%2BRZbVeHKRCY7Eo6HUYRmBta5Zt67Ybq6urV309z7320NbnVLhEPjpeht1uV1pamgoKCgLGd%2B3apauvvtof0kaNGqWePXtq9%2B7d/pq6ujoVFBQoMzPTH9IyMzPl9Xp18OBBf11ZWZmOHDni/3gQScrIyFBhYaFOnz7tH9u7d69qamoC6gAAADqKbcWKFSsiOYGvv/5ab731loqLi/XOO%2B%2BovLxciYmJKi4uVu/evRUTE6P%2B/fsrLy9PZWVlio2N1c6dO7Vp0yYtW7ZMw4cPv7AjNptsNpvy8vLkcDhUXV2tdevWqaioSI899pj69OkjSUpMTNSxY8e0detWJSQkqKysTDk5OXI4HFq5cqW6dLlwEHLo0KHavn27Dh48qISEBBUVFWnVqlUaN26cpk%2Bf3ub9Pn/ep/r6KInvaDdWq0UxMXb63UnQ7%2BhgsXjVrds2SbYQ19Bwr9KW73VqsVzoeWCvg1u2rdtuXp2qq38qw2h6YR3aLibGLqs18lcoWAwjsgf/Tp48qZtvvrnZx1544QWlpqZKuvD5a08%2B%2BaQ8Ho8SExM1a9YszZgxI6DeMAzl5%2Bdry5YtKi8vl8vl0pIlS5SWlhZQV1lZqdWrV2vPnj3y%2BXxKTU3V8uXL1a9fv4C6kpIS5ebm6vDhw3I4HMrKytLixYubXLkaitOnqziV0gl06WJVr16x9LuToN/RwWo9KafzDoUenqq%2BOV3Z8pv8LZYLPa%2BtvfjUbHDLtnXbzauR17tN9fXXhrhttKR379iouGI84sGts%2BKFvXPgB3nnQr%2BjA8GN4NYeoiW4RX4GAAAACArBDQAAwCQIbgAAACZBcAMAADAJghsAAIBJENwAAABMguAGAABgEgQ3AAAAkyC4AQAAmATBDQAAwCQIbgAAACZBcAMAADCJLpGeAAAATdXLav0spCWt1jJJxmXrADMiuAEAoo7V%2Bpni4m6XYXRt9bIWyzlJXWUY3cI/MSDCCG4AgKh0IbTZQ1jOJ4sl/PMBogHBDQDQDkI/1SlxuhO4FIIbACDs2nKqU%2BJ0J3ApBDcAQLsI9VTnhWU53Qk0h48DAQAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACT6BLpCQAAolW9rNbPQlrSai2TZIR3OgAIbgCA5lmtnyku7nYZRtdWL2uxnJPUVYbRLfwTAzoxghsA4JIuhDZ7CMv5ZLGEfz5AZ8d73AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAAAAJkFwAwAAMAmC22WUlJRo9uzZGjFihNLT05Wbm6vz589HeloAAKAT4gN4W%2BD1ejVz5kz17dtX69ev13//%2B1898sgjOnPmjB5//PFITw9ApxD6backqb6%2Br/gdHbhyENxa8Morr8jr9erVV19V7969JUk2m02LFy9Wdna2kpKSIjxDAFe6tt12yqezZ19Vff217TAzAJFAcGvBgQMHlJ6e7g9tkjR%2B/Hj99re/ldvtJrgBnULwR7wsFquk7rJYzslqrf/fGtp41Cv0204Z39zsPTTcKB6IPgS3Fng8Hk2dOjVgzG63a8CAAfJ4PG1ad1xcjAxeD694DfdqpN9mViurNVZS8DfejIvrftF3hgzDLsOwhbR1i%2BXbslgKQlpWMhQfL7Vm7oGGSCoIcfmGJ3yo227L8h25bYtstov/c0dyv6X4%2BATxo719WK3RcfNdutsCr9crp9PZZNzpdOrs2bNtWrfVyntOOhP6bWZ2SQNatUTjm6u3/Wbr/du6ArSjtvc3fGyh/X4AE%2BGnSQgMw5Almv6nAgCAToHg1gKn0ymv19tkvKKiotkjcQAAAO2J4NaCpKSkJu9lq6mp0YkTJ7gwAQAAdDiCWwsyMjJUWFio06dP%2B8f27t2rmpoaZWZmRnBmAACgM7IYBte6XYrX61VWVpb69eunuXPn6quvvtKjjz6qMWPG8AG8AACgwxHcLqOkpES5ubk6fPiwHA6HsrKytHjxYjkcjkhPDQAAdDIENwAAAJPgPW4AAAAmQXADAAAwCYIbAACASRDcAAAATILgBgAAYBIENwAAAJMguHWATz75RDk5OZo8ebKSk5OVlZUV6SkhTILtrdvt1u23366UlBSNGzdOW7Zs6eCZIhTh7m9%2Bfr7Gjh2rlJQUTZ06VYcOHWrP6aMFkehtZWWlcnJylJqaqpEjR%2Bqee%2B5RaWlpWPcL0d3bkpISzZ49WyNGjFB6erpyc3N1/vz5Vu0fwa0DfPjhh3K73Ro4cCD3OL3CBNPboqIizZ07V8nJyXr%2B%2Bec1ZcoU5ebmatu2bR08W7RWOPubn5%2BvtWvXasaMGXruuec0cOBAzZkzRx988EFH7AoaiURvFy1apH379mn58uVau3atvvzyS82aNavVP7jRsmjtrdfr1cyZM1VVVaX169dr6dKl2rlzpx566KHW7aCBdldXV%2Bf/%2B9KlS42JEydGcDYIp2B6O3v2bGPatGkBYw899JBx0003BSyP6BOu/lZXVxvf%2B973jNWrV/tramtrjVtvvdW4//7722n2aElH9/a9994zXC6XsX//fv9YaWmpkZycbLz88sth2y9Eb2%2BfffZZ44YbbjC%2B%2Buor/9hrr71muFwuo7i4OOj944hbB7Ba%2BWe%2BUl2utzU1NSosLNTEiRMDxidNmqRTp07p%2BPHj7Tk9tFG4%2BnvkyBFVVFQEnLKx2WyaMGGC3G63DG5g0%2BE6urdut1tOp1MZGRn%2Bur59%2B2rUqFFyu93h2i0oent74MABpaenq3fv3v6x8ePHy263t%2Bo5QKIA2tGJEyfk8/k0ePDggPEhQ4ZIkjweTySmhTAJtr8NXxvXJSUlqaqqSl988UUHzBatEe7eejweDRo0SBaLpcn6eB3oWJHqrcfjaXLq1m63a8CAAa16DhDcgHZ09uxZSZLT6QwYb/i%2B4XGYU7D99Xq9stvtcjgcAXVxcXGSpDNnzrT3VNFK4e6t1%2BtVz549m2zH6XTyOtDBItVbr9fbZJvN1V0OwQ3oAI1/E7vcOMwlmP42V9NwqoXnQfQKZ295HYgu0dJbwzBa9RwguAHtqOE3s8a/TXm9XklNf%2BODuQTbX6fTqerqalVXVzdb17AeRI9w99bpdPrHGtfxOtCxItXbS9VVVFS06jlAcAPa0YABA9S1a1d99NFHAePFxcWSxMfDmFyw/W342vh9LB6PR7GxsUpISOiA2aI1wt3bpKQklZSUNLkQpbi4mNeBDhap3iYlJTVZV01NjU6cONGq5wDBDWhHdrtdaWlpKigoCBjftWuXrr76aiUnJ0doZgiHYPs7atQo9ezZU7t37/bX1NXVqaCgQJmZmZwqi0Lh7m1mZqa8Xq8OHjzorysrK9ORI0eUmZnZAXuEBpHqbUZGhgoLC3X69Gn/2N69e1VTU9Oq54BtxYoVK1q1x2i1r7/%2BWm%2B99ZaKi4v1zjvvqLy8XImJiSouLlbv3r0VExMT6SkiRMH0tn///srLy1NZWZliY2O1c%2BdObdq0ScuWLdPw4cMjvQtoQbj6a7PZZLPZlJeXJ4fDoerqaq1bt05FRUV67LHH1KdPnwjvaefT0b1NTEzUsWPHtHXrViUkJKisrEw5OTlyOBxauXKlunTpEsl/jitKtPZ26NCh2r59uw4ePKiEhAQVFRVp1apVGjdunKZPnx70/lkMPkCo3Z08eVI333xzs4%2B98MILSk1N7eAZIVyC7a3b7daTTz4pj8ejxMREzZo1SzNmzOjIqSIE4eyvYRjKz8/Xli1bVF5eLpfLpSVLligtLa3d9wNNRaK3lZWVWr16tfbs2SOfz6fU1FQtX75c/fr1a5%2Bd7KSiubclJSXKzc3V4cOH5XA4lJWVpcWLFze5crUlBDcAAACT4D1uAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYBMENAADAJAhuAKLCjh07NGzYMP%2Bf5ORkjRkzRgsXLtTHH38c8XmdPHmyxbqnn35aw4YN66BZXZ7b7dbTTz/d7GPDhg3TypUrO3hGAMKBm6MBiCqPPPKIBg8erOrqah05ckR5eXk6dOiQCgoKFBcXF%2BnpmYbb7daWLVt03333RXoqAMKI4AYgqgwdOlQpKSmSpNTUVNXV1enpp5/WX//6V02dOjXCswOAyOJUKYCo1hDivvrqqyaP7d69W3feeadGjBihkSNHavbs2Tp%2B/HhAzdGjR7Vw4UKNHTtW119/vcaOHasHHnhApaWlTdb33nvvafr06UpJSdGYMWP0xBNPqLa2tk3zD2aODz74oEaOHKlPPvlEc%2BbM0ciRI5WZmalHH31UNTU1AbWff/655s%2Bfr5EjR%2Br73/%2B%2BFi1apPfff1/Dhg3Tjh07/OvbsmWLJAWcfm58uvfVV1/VrbfeqhtuuEG33Xab/va3v7VpXwG0P464AYhqDWHj29/%2BdsB4Xl6ennrqKf3kJz9Rdna2fD6f8vPzNWPGDG3btk1DhgyRJJWWlmrQoEGaOHGi4uLidOrUKf3pT3/StGnT9Prrr6t3796SpOLiYv3iF79Qv3799Oijj8rhcOjll1/Wrl27Qp57sHOUJJ/Pp%2BzsbE2bNk2//OUv9e6772rDhg3q0aOH5s2bJ0k6d%2B6c7rrrLp09e1aLFy/WwIEDdfDgQS1cuDBgu3PnztW5c%2Be0Z88ebd261T9%2BzTXX%2BP%2B%2Bf/9%2BHT16VPPnz1f37t21ceNGzZs3T2%2B88Yb69%2B8f8j4DaGcGAESB7du3Gy6Xy3jvvfcMn89nVFZWGgcOHDBuuukmY8aMGYbP5/PXfvbZZ0ZycrLxf//3fwHrqKysNG666SZjwYIFl9xObW2tUVVVZYwYMcLYvHmzf/z%2B%2B%2B83rr/%2BeuPUqVMBtbfccovhcrmMTz/9tMX5r1%2B/3nC5XCHNcenSpYbL5TJ2794dUDtnzhxj/Pjx/u9feuklw%2BVyGW63O6Bu%2BfLlhsvlMrZv3%2B4f%2B93vfhcwn4u5XC7jBz/4gVFRUeEfO3XqlHHdddcZzz77bIv7CSCyOOIGIKr89Kc/Dfg%2BKSlJGzZsUJcu/3u5evvtt1VbW6vJkycHnMrs1q2bRo8erUOHDvnHqqqqtGHDBr355psqLS1VXV2d/zGPx%2BP/%2B6FDh5Senq4%2Bffr4x2w2myZMmKDf//73rd6P1sxRkiwWi8aOHRswNmzYMBUWFvq/f/fddxUbG6uMjIyAuqysrIAja8FITU1Vjx49/N/36dNHV111VbOnkAFED4IbgKiyevVqJSUlqaqqSrt379bWrVv1wAMPaOPGjf6a8vJySdK0adOaXYfV%2Br%2B37y5atEiFhYWaO3euUlJSFBsbK4vForvvvlvV1dX%2BujNnzgSEtgbNjQWjNXOUpJiYGHXr1i1gzG63BzXHq666qtXzi4%2BPbzLWeHsAog/BDUBUSUpK8l%2BQkJaWpvr6em3btk1vvPGGbrnlFklSr169JEnr169X3759L7muiooK7d%2B/X/PmzdPdd9/tH6%2BpqdHZs2cDauPj4/1h62LNjQUj2Dm2Rnx8vN5///0m46HOEYD5ENwARLUlS5bozTff1Pr16/XjH/9YVqtVY8aMUZcuXXTixAmNHz/%2BkstaLBYZhiG73R4wvm3btoBTptKFU4f79u1TeXm5/6hWXV2ddu/eHdK8g51ja4wePVoFBQVyu93KzMz0j7/%2B%2ButNahv2%2Bfz583I4HGHZPoDII7gBiGpxcXG6%2B%2B67tWbNGu3cuVOTJ0/Wtddeq/nz5%2Bupp57Sp59%2BqoyMDDmdTpWXl%2Bvo0aOKiYnR/Pnz1aNHD40ePVr5%2Bfnq1auX%2BvXrp3/84x/685//LKfTGbCd7Oxs7du3TzNnztS9994rh8OhLVu26Ouvvw5p3sHOsTWmTJmizZs36ze/%2BY0WLFiggQMH6sCBA3r77bclBZ5%2BdblckqTnn39eGRkZslqtGjZsWJMQC8Bc%2BBw3AFHv5z//ufr27asNGzb4j5T9%2Bte/1rp16/Txxx9r6dKlmj17th5//HGVlpZq9OjR/mWfeOIJpaamas2aNZo3b56OHTumTZs2qWfPngHbcLlc2rRpk3o7ISG6AAAA8klEQVT06KGlS5cqJydHw4YN09y5c0Oed7BzDFb37t21efNm3XjjjVqzZo3uu%2B8%2BlZWV6eGHH5akgH3KysrSHXfcoZdffll33nmnpk2bpi%2B//DLkfQEQHSyGYRiRngQAIHQNnxe3f/9%2BJSYmRno6ANoRp0oBwEReeuklSdLgwYPl8/lUWFioF198UbfddhuhDegECG4AYCIOh0ObN2/WyZMn5fP59K1vfUtz5sxRdnZ2pKcGoANwqhQAAMAkuDgBAADAJAhuAAAAJkFwAwAAMAmCGwAAgEkQ3AAAAEyC4AYAAGASBDcAAACTILgBAACYxP8DlAIwLACN17gAAAAASUVORK5CYII%3D">
+
+<br>
+<br>
+<br>
+<br>
+
+<h3 id="Dynamic_histogram_of_Read_length">Dynamic histogram of Read length</h3>
+<div>
+        
+                <script type="text/javascript">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>
+        <script type="text/javascript">/**
+* plotly.js v1.51.2
+* Copyright 2012-2019, Plotly, Inc.
+* All rights reserved.
+* Licensed under the MIT license
+*/
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return a(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o<n.length;o++)a(n[o]);return a}}()({1:[function(t,e,r){"use strict";var n=t("../src/lib"),a={"X,X div":"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;","X input,X button":"font-family:'Open Sans', verdana, arial, sans-serif;","X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;","Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var i in a){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,a[i])}},{"../src/lib":716}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1294}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":863}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":875}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":885}],6:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":589}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":894}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":913}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":927}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":934}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":940}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":955}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":966}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":694}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":974}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1295}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnel")},{"../src/traces/funnel":984}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnelarea")},{"../src/traces/funnelarea":993}],19:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1296}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":1006}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1015}],22:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":1027}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":1033}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1037}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/image")},{"../src/traces/image":1044}],26:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./contour"),t("./scatterternary"),t("./violin"),t("./funnel"),t("./waterfall"),t("./image"),t("./pie"),t("./sunburst"),t("./treemap"),t("./funnelarea"),t("./scatter3d"),t("./surface"),t("./isosurface"),t("./volume"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./parcats"),t("./scattermapbox"),t("./choroplethmapbox"),t("./densitymapbox"),t("./sankey"),t("./indicator"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./image":25,"./indicator":27,"./isosurface":28,"./mesh3d":29,"./ohlc":30,"./parcats":31,"./parcoords":32,"./pie":33,"./pointcloud":34,"./sankey":35,"./scatter3d":36,"./scattercarpet":37,"./scattergeo":38,"./scattergl":39,"./scattermapbox":40,"./scatterpolar":41,"./scatterpolargl":42,"./scatterternary":43,"./sort":44,"./splom":45,"./streamtube":46,"./sunburst":47,"./surface":48,"./table":49,"./treemap":50,"./violin":51,"./volume":52,"./waterfall":53}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/indicator")},{"../src/traces/indicator":1052}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":1058}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":1063}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":1068}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1077}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1087}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1098}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1107}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1113}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1150}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1157}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1165}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1177}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1187}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1195}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1202}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1210}],44:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1298}],45:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1219}],46:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1227}],47:[function(t,e,r){"use strict";e.exports=t("../src/traces/sunburst")},{"../src/traces/sunburst":1235}],48:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1244}],49:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1252}],50:[function(t,e,r){"use strict";e.exports=t("../src/traces/treemap")},{"../src/traces/treemap":1261}],51:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1273}],52:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":1281}],53:[function(t,e,r){"use strict";e.exports=t("../src/traces/waterfall")},{"../src/traces/waterfall":1289}],54:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t("turntable-camera-controller"),a=t("orbit-camera-controller"),i=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push("a"+n);var a="var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i]."+t[0]+"("+r.join()+")}";s[e]=Function.apply(null,r.concat(a))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],a=Math.max(r.lastT(),n.lastT());r.recalcMatrix(a),n.setMatrix(a,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{"matrix-camera-controller":434,"orbit-camera-controller":457,"turntable-camera-controller":540}],55:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){"use strict";function i(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}a=a&&a.hasOwnProperty("default")?a.default:a;var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function c(t,e){return h(t.source,e.source)||t.index-e.index}function u(t,e){return h(t.target,e.target)||t.index-e.index}function h(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function f(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function v(t){return t.index}function m(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function b(t,e){return e(t)}var _=25,w=10,k=.3;function T(t,e){var r=0,n=0;t.links.forEach(function(a){a.circular&&(a.source.circularLinkType||a.target.circularLinkType?a.circularLinkType=a.source.circularLinkType?a.source.circularLinkType:a.target.circularLinkType:a.circularLinkType=r<n?"top":"bottom","top"==a.circularLinkType?r+=1:n+=1,t.nodes.forEach(function(t){b(t,e)!=b(a.source,e)&&b(t,e)!=b(a.target,e)||(t.circularLinkType=a.circularLinkType)}))}),t.links.forEach(function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),Y(t,e)&&(t.circularLinkType=t.source.circularLinkType))})}function A(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function M(t,e){var r=0;t.sourceLinks.forEach(function(t){r=t.circular&&!Y(t,e)?r+1:r});var n=0;return t.targetLinks.forEach(function(t){n=t.circular&&!Y(t,e)?n+1:n}),r+n}function S(t){var e=t.source.sourceLinks,r=0;e.forEach(function(t){r=t.circular?r+1:r});var n=t.target.targetLinks,a=0;return n.forEach(function(t){a=t.circular?a+1:a}),!(r>1||a>1)}function E(t,e,r){return t.sort(C),t.forEach(function(n,a){var i,o,s=0;if(Y(n,r)&&S(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<a;l++)if(i=t[a],o=t[l],!(i.source.column<o.target.column||i.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}}),t}function L(t,r,a,i){var o=e.min(t.links,function(t){return t.source.y0});t.links.forEach(function(t){t.circular&&(t.circularPathData={})}),E(t.links.filter(function(t){return"top"==t.circularLinkType}),r,i),E(t.links.filter(function(t){return"bottom"==t.circularLinkType}),r,i),t.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+w,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,Y(e,i)&&S(e))e.circularPathData.leftSmallArcRadius=w+e.width/2,e.circularPathData.leftLargeArcRadius=w+e.width/2,e.circularPathData.rightSmallArcRadius=w+e.width/2,e.circularPathData.rightLargeArcRadius=w+e.width/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});"bottom"==e.circularLinkType?c.sort(O):c.sort(P);var u=0;c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=w+e.width/2+u,e.circularPathData.leftLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),s=e.target.column,c=t.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l}),"bottom"==e.circularLinkType?c.sort(I):c.sort(z),u=0,c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=w+e.width/2+u,e.circularPathData.rightLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e="";e="top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY;return e}(e);else{var h=n.linkHorizontal().source(function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]}).target(function(t){return[t.target.x0,t.y1]});e.path=h(e)}})}function C(t,e){return D(t)==D(e)?"bottom"==t.circularLinkType?O(t,e):P(t,e):D(e)-D(t)}function P(t,e){return t.y0-e.y0}function O(t,e){return e.y0-t.y0}function z(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function D(t){return t.target.column-t.source.column}function R(t){return t.target.x0-t.source.x1}function F(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1+n:t.y1-n}function B(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1-n:t.y1+n}function N(t,e,r,n){t.links.forEach(function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach(function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,v=g-a.width/2,m=g+a.width/2;v>o.y0&&v<o.y1?(c=o.y1-v+10,c="bottom"==o.circularLinkType?c:-c,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&j(o,t)&&V(t,c,e,r)})):m>o.y0&&m<o.y1?(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)})):v<o.y0&&m>o.y1&&(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)}))}})}})}function j(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function V(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach(function(t){t.y1=t.y1+e}),t.sourceLinks.forEach(function(t){t.y0=t.y0+e})),t}function U(t,e,r,n){t.nodes.forEach(function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter(function(t){return b(t.source,r)==b(a,r)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!H(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=B(e,t);return t.y1-r}if(e.target.column>t.target.column)return B(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0});var s=a.y0;i.forEach(function(t){t.y0=s+t.width/2,s+=t.width}),i.forEach(function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=i[r].width;t.y0=a.y1-n-t.width/2}})})}function q(t,e,r){t.nodes.forEach(function(e){var n=t.links.filter(function(t){return b(t.target,r)==b(e,r)}),a=n.length;a>1&&n.sort(function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!H(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=F(e,t);return t.y0-r}if(t.source.column<e.source.column)return F(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(t){t.y1=i+t.width/2,i+=t.width}),n.forEach(function(t,r){if("bottom"==t.circularLinkType){for(var i=r+1,o=0;i<a;i++)o+=n[i].width;t.y1=e.y1-o-t.width/2}})})}function H(t,e){return G(t)==G(e)}function G(t){return t.y0-t.y1>0?"up":"down"}function Y(t,e){return b(t.source,e)==b(t.target,e)}t.sankeyCircular=function(){var t,n,i=0,b=0,A=1,S=1,E=24,C=v,P=o,O=m,z=y,I=32,D=2,R=null;function F(){var o={nodes:O.apply(null,arguments),links:z.apply(null,arguments)};!function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,C);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;"object"!==("undefined"==typeof n?"undefined":l(n))&&(n=t.source=x(e,n)),"object"!==("undefined"==typeof a?"undefined":l(a))&&(a=t.target=x(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(o),function(t,e,r){var n=0;if(null===r){for(var i=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;i[l]||(i[l]=[]),i[c]||(i[c]=[]),-1===i[l].indexOf(c)&&i[l].push(c)}var u=a(i);u.sort(function(t,e){return t.length-e.length});var h={};for(o=0;o<u.length;o++){var f=u[o],p=f.slice(-2);h[p[0]]||(h[p[0]]={}),h[p[0]][p[1]]=!0}t.links.forEach(function(t){var e=t.target.index,r=t.source.index;e===r||h[r]&&h[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1})}else t.links.forEach(function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)})}(o,0,R),function(t){t.nodes.forEach(function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f)),t.sourceLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}),t.targetLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})})}(o),function(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.depth=n,t.sourceLinks.forEach(function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)})});for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.height=n,t.targetLinks.forEach(function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)})});t.nodes.forEach(function(t){t.column=Math.floor(P.call(null,t,n))})}(o),T(o,C),function(a,o,s){var l=r.nest().key(function(t){return t.column}).sortKeys(e.ascending).entries(a.nodes).map(function(t){return t.values});(function(r){if(n){var o=1/0;l.forEach(function(t){var e=S*n/(t.length+1);o=e<o?e:o}),t=o}var s=e.min(l,function(r){return(S-b-(r.length-1)*t)/e.sum(r,f)});s*=k,a.links.forEach(function(t){t.width=t.value*s});var c=function(t){var r=0,n=0,a=0,i=0,o=e.max(t.nodes,function(t){return t.column});return t.links.forEach(function(t){t.circular&&("top"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(i+=t.width),t.source.column==o&&(a+=t.width))}),{top:r=r>0?r+_+w:r,bottom:n=n>0?n+_+w:n,left:i=i>0?i+_+w:i,right:a=a>0?a+_+w:a}}(a),u=function(t,r){var n=e.max(t.nodes,function(t){return t.column}),a=A-i,o=S-b,s=a+r.right+r.left,l=o+r.top+r.bottom,c=a/s,u=o/l;return i=i*c+r.left,A=0==r.right?A:A*c,b=b*u+r.top,S*=u,t.nodes.forEach(function(t){t.x0=i+t.column*((A-i-E)/n),t.x1=t.x0+E}),u}(a,c);s*=u,a.links.forEach(function(t){t.width=t.value*s}),l.forEach(function(t){var e=t.length;t.forEach(function(t,n){t.depth==l.length-1&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):0==t.depth&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):t.partOfCycle?0==M(t,r)?(t.y0=S/2+n,t.y1=t.y0+t.value*s):"top"==t.circularLinkType?(t.y0=b+n,t.y1=t.y0+t.value*s):(t.y0=S-t.value*s-n,t.y1=t.y0+t.value*s):0==c.top||0==c.bottom?(t.y0=(S-b)/e*n,t.y1=t.y0+t.value*s):(t.y0=(S-b)/2-e/2+n,t.y1=t.y0+t.value*s)})})})(s),m();for(var c=1,u=o;u>0;--u)v(c*=.99,s),m();function v(t,r){var n=l.length;l.forEach(function(a){var i=a.length,o=a[0].depth;a.forEach(function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&M(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}})})}function m(){l.forEach(function(e){var r,n,a,i=b,o=e.length;for(e.sort(h),a=0;a<o;++a)r=e[a],(n=i-r.y0)>0&&(r.y0+=n,r.y1+=n),i=r.y1+t;if((n=i-t-S)>0)for(i=r.y0-=n,r.y1-=n,a=o-2;a>=0;--a)r=e[a],(n=r.y1+t-i)>0&&(r.y0-=n,r.y1-=n),i=r.y0})}}(o,I,C),B(o);for(var s=0;s<4;s++)U(o,S,C),q(o,0,C),N(o,b,S,C),U(o,S,C),q(o,0,C);return function(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach(function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)}),0==o||0==s){var l=e.min(a,function(t){return t.y0}),c=e.max(a,function(t){return t.y1}),u=c-l,h=n-r,f=h/u;a.forEach(function(t){var e=(t.y1-t.y0)*f;t.y0=(t.y0-l)*f,t.y1=t.y0+e}),i.forEach(function(t){t.y0=(t.y0-l)*f,t.y1=(t.y1-l)*f,t.width=t.width*f})}}(o,b,S),L(o,D,S,C),o}function B(t){t.nodes.forEach(function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)}),t.nodes.forEach(function(t){var e=t.y0,r=e,n=t.y1,a=n;t.sourceLinks.forEach(function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)}),t.targetLinks.forEach(function(t){t.circular?(t.y1=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)})})}return F.nodeId=function(t){return arguments.length?(C="function"==typeof t?t:s(t),F):C},F.nodeAlign=function(t){return arguments.length?(P="function"==typeof t?t:s(t),F):P},F.nodeWidth=function(t){return arguments.length?(E=+t,F):E},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(O="function"==typeof t?t:s(t),F):O},F.links=function(t){return arguments.length?(z="function"==typeof t?t:s(t),F):z},F.size=function(t){return arguments.length?(i=b=0,A=+t[0],S=+t[1],F):[A-i,S-b]},F.extent=function(t){return arguments.length?(i=+t[0][0],A=+t[1][0],b=+t[0][1],S=+t[1][1],F):[[i,b],[A,S]]},F.iterations=function(t){return arguments.length?(I=+t,F):I},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(n=+t,F):n},F.sortNodes=function(t){return arguments.length?(R=t,F):R},F.update=function(t){return T(t,C),B(t),t.links.forEach(function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<S?"top":"bottom",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)}),U(t,S,C,!1),q(t,0,C),L(t,D,S,C),t},F},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-array"),t("d3-collection"),t("d3-shape"),t("elementary-circuits-directed-graph")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)},{"d3-array":153,"d3-collection":154,"d3-shape":162,"elementary-circuits-directed-graph":174}],56:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n){"use strict";function a(t){return t.target.depth}function i(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function h(t){return(t.y0+t.y1)/2}function f(t){return h(t.source)*t.value}function p(t){return h(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function v(t){return t.links}function m(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,a=1,y=1,x=24,b=8,_=d,w=i,k=g,T=v,A=32,M=2/3;function S(){var i={nodes:k.apply(null,arguments),links:T.apply(null,arguments)};return function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,_);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;"object"!=typeof n&&(n=t.source=m(e,n)),"object"!=typeof a&&(a=t.target=m(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(i),function(t){t.nodes.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))})}(i),function(e){var r,n,i;for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.depth=i,t.sourceLinks.forEach(function(t){n.indexOf(t.target)<0&&n.push(t.target)})});for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.height=i,t.targetLinks.forEach(function(t){n.indexOf(t.source)<0&&n.push(t.source)})});var o=(a-t-x)/(i-1);e.nodes.forEach(function(e){e.x1=(e.x0=t+Math.max(0,Math.min(i-1,Math.floor(w.call(null,e,i))))*o)+x})}(i),function(t){var a=r.nest().key(function(t){return t.x0}).sortKeys(e.ascending).entries(t.nodes).map(function(t){return t.values});(function(){var r=e.max(a,function(t){return t.length}),i=M*(y-n)/(r-1);b>i&&(b=i);var o=e.min(a,function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)});a.forEach(function(t){t.forEach(function(t,e){t.y1=(t.y0=e)+t.value*o})}),t.links.forEach(function(t){t.width=t.value*o})})(),d();for(var i=1,o=A;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach(function(r){r.forEach(function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function l(t){a.slice().reverse().forEach(function(r){r.forEach(function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function d(){a.forEach(function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a<o;++a)e=t[a],(r=i-e.y0)>0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)e=t[a],(r=e.y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0})}}(i),E(i),i}function E(t){t.nodes.forEach(function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)}),t.nodes.forEach(function(t){var e=t.y0,r=e;t.sourceLinks.forEach(function(t){t.y0=e+t.width/2,e+=t.width}),t.targetLinks.forEach(function(t){t.y1=r+t.width/2,r+=t.width})})}return S.update=function(t){return E(t),t},S.nodeId=function(t){return arguments.length?(_="function"==typeof t?t:o(t),S):_},S.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:o(t),S):w},S.nodeWidth=function(t){return arguments.length?(x=+t,S):x},S.nodePadding=function(t){return arguments.length?(b=+t,S):b},S.nodes=function(t){return arguments.length?(k="function"==typeof t?t:o(t),S):k},S.links=function(t){return arguments.length?(T="function"==typeof t?t:o(t),S):T},S.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],S):[a-t,y-n]},S.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],S):[[t,n],[a,y]]},S.iterations=function(t){return arguments.length?(A=+t,S):A},S},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-array"),t("d3-collection"),t("d3-shape")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":153,"d3-collection":154,"d3-shape":162}],57:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),a=6378137;function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(o(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(o(t[r]))}return e}function o(t){var e,r,n,i,o,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(n=u-2,i=u-1,o=0):l===u-1?(n=u-1,i=0,o=1):(n=l,i=l+1,o=l+2),e=t[n],r=t[i],c+=(s(t[o][0])-s(e[0]))*Math.sin(s(r[1]));c=c*a*a/2}return c}function s(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,function(t,e){return t+function(t){var e,r=0;switch(t.type){case"Polygon":return i(t.coordinates);case"MultiPolygon":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(e)},0)}},{"@turf/meta":60}],58:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),a=t("@turf/helpers");r.default=function(t,e){void 0===e&&(e={});var r=0,i=0,o=0;return n.coordEach(t,function(t){r+=t[0],i+=t[1],o++}),a.point([r/o,i/o],e.properties)}},{"@turf/helpers":59,"@turf/meta":60}],59:[function(t,e,r){"use strict";function n(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function a(t,e,r){return void 0===r&&(r={}),n({type:"Point",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var a=0,i=t;a<i.length;a++){var o=i[a];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:"MultiLineString",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:"MultiPoint",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:"MultiPolygon",coordinates:t},e,r)}function h(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t*n}function f(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\s*$/.test(t)}Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:3.86e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return a(e).geometry;case"LineString":return o(e).geometry;case"Polygon":return i(e).geometry;case"MultiPoint":return c(e).geometry;case"MultiLineString":return l(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},r.point=a,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return a(t,e)}),r)},r.polygon=i,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return i(t,e)}),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return o(t,e)}),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:"GeometryCollection",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var a=r.areaFactors[e];if(!a)throw new Error("invalid original units");var i=r.areaFactors[n];if(!i)throw new Error("invalid final units");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach(function(t){if(!d(t))throw new Error("bbox must only contain numbers")})},r.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},r.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},r.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},r.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},r.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},r.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},r.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},r.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},{}],60:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/helpers");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g="FeatureCollection"===d,v="Feature"===d,m=g?t.features.length:1,y=0;y<m;y++){l=(h=!!(u=g?t.features[y].geometry:v?t.geometry:t)&&"GeometryCollection"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=h?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(f=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<c.length;n++){for(i=0;i<c[n].length-f;i++){if(!1===e(c[n][i],p,y,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<c.length;n++){for(_=0,i=0;i<c[n].length;i++){for(o=0;o<c[n][i].length-f;o++){if(!1===e(c[n][i][o],p,y,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===a(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function i(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,a,i,o,s,l,c,u,h,f=0,p="FeatureCollection"===t.type,d="Feature"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,h=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,a=0;a<o;a++)if(null!==(i=l?s.geometries[a]:s))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(i,f,c,u,h))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===e(i.geometries[n],f,c,u,h))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,f,c,u,h))return!1;f++}}function l(t,e){s(t,function(t,r,a,i,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,a,{bbox:i,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,a),r,c))return!1}})}function c(t,e){l(t,function(t,r,i){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,c=0,u=0,h=0;return!1!==a(t,function(a,s,f,p,d){if(void 0===l||r>c||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a})&&void 0}}})}function u(t,e){if(!t)throw new Error("geojson is required");l(t,function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case"LineString":if(!1===e(t,r,a,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,a,s))return!1}}})}r.coordEach=a,r.coordReduce=function(t,e,r,n){var i=r;return a(t,function(t,n,a,o,s){i=0===n&&void 0===r?t:e(i,t,n,a,o,s)},n),i},r.propEach=i,r.propReduce=function(t,e,r){var n=r;return i(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.coordAll=function(t){var e=[];return a(t,function(t){e.push(t)}),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,function(t,a,i,o,s){n=0===a&&void 0===r?t:e(n,t,a,i,o,s)}),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,function(t,a,i){n=0===a&&0===i&&void 0===r?t:e(n,t,a,i)}),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,a=!1;return c(t,function(t,i,o,s,l){n=!1===a&&void 0===r?t:e(n,t,i,o,s,l),a=!0}),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,function(t,a,i,o){n=0===a&&void 0===r?t:e(n,t,a,i,o)}),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s-1),n.lineString([c[i][s],c[i][s+1]],l,e);case"MultiPolygon":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s-1),n.lineString([c[i][o][s],c[i][o][s+1]],l,e)}throw new Error("geojson is invalid")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":return n.point(c,l,e);case"MultiPoint":return i<0&&(i=c.length+i),n.point(c[i],l,e);case"LineString":return s<0&&(s=c.length+s),n.point(c[s],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s),n.point(c[i][s],l,e);case"MultiPolygon":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s),n.point(c[i][o][s],l,e)}throw new Error("geojson is invalid")}},{"@turf/helpers":59}],61:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,a=t("gl-buffer"),i=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=i(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":243,"gl-vao":328,"weak-map":550}],62:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,a=0;return t.map(function(t){var i=(t=t.slice())[0],o=i.toUpperCase();if(i!=o)switch(t[0]=o,i){case"a":t[6]+=n,t[7]+=a;break;case"v":t[1]+=a;break;case"h":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=a}switch(o){case"Z":n=e,a=r;break;case"H":n=t[1];break;case"V":a=t[1];break;case"M":n=e=t[1],a=r=t[2];break;default:n=t[t.length-2],a=t[t.length-1]}return t})}},{}],63:[function(t,e,r){var n=t("pad-left");e.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var a=t.split(/\r?\n/),i=String(a.length+e-1).length;return a.map(function(t,a){var o=a+e,s=String(o).length,l=n(o,i-s);return l+r+t}).join("\n")}},{"pad-left":458}],64:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],o=1;o<e;++o)if(n.push(t[o]),a(n,r)){if(i.push(o),i.length===r+1)return i}else n.pop();return i};var n=t("robust-orientation");function a(t,e){for(var r=new Array(e+1),a=0;a<t.length;++a)r[a]=t[a];for(a=0;a<=t.length;++a){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-a,s);r[i]=o}if(n.apply(void 0,r))return!0}return!1}},{"robust-orientation":508}],65:[function(t,e,r){"use strict";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1})};var n=t("delaunay-triangulate"),a=t("circumradius")},{circumradius:115,"delaunay-triangulate":166}],66:[function(t,e,r){e.exports=function(t,e){return a(n(t,e))};var n=t("alpha-complex"),a=t("simplicial-complex-boundary")},{"alpha-complex":65,"simplicial-complex-boundary":515}],67:[function(t,e,r){"use strict";e.exports=function(t,e){if(!t||null==t.length)throw Error("Argument should be an array");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var a=-1/0,i=1/0,o=n,s=t.length;o<s;o+=e)t[o]>a&&(a=t[o]),t[o]<i&&(i=t[o]);r[n]=i,r[e+n]=a}return r}},{}],68:[function(t,e,r){e.exports=function(t,e){var r="number"==typeof t,n="number"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var a=(e|=0)-(t|=0);if(a<0)throw new Error("array length must be positive");for(var i=new Array(a),o=0,s=t;o<a;o++,s++)i[o]=s;return i}},{}],69:[function(t,e,r){(function(r){"use strict";var n=t("object-assign");function a(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a<i;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t("util/"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c="foo"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function h(t){return!i(t)&&("function"==typeof r.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=y,p=/\s*function\s+([^\(\s]*)\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function v(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return"[Function"+(e?": "+e:"")+"]"}function m(t,e,r,n,a){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:a})}function y(t,e){t||m(t,!0,e,"==",f.ok)}function x(t,e,r,n){if(t===e)return!0;if(i(t)&&i(e))return 0===a(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(h(t)&&h(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===a(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=b(t),i=b(e);if(a&&!i||!a&&i)return!1;if(a)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=k(t),h=k(e);if(u.length!==h.length)return!1;for(u.sort(),h.sort(),c=u.length-1;c>=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!a&&m(a,r,"Missing expected exception"+n);var i="string"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&m(a,r,"Got unwanted exception"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=g(v((e=this).actual),128)+" "+e.operator+" "+g(v(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var a=n.stack,i=d(r),o=a.indexOf("\n"+i);if(o>=0){var s=a.indexOf("\n",o+1);a=a.substring(s+1)}this.stack=a}}},o.inherits(f.AssertionError,Error),f.fail=m,f.ok=y,f.equal=function(t,e,r){t!=e&&m(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||m(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||m(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&m(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&m(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n(function t(e,r){e||m(e,!0,r,"==",t)},f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":455,"util/":72}],70:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],71:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],72:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!m(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,i=n.length,o=String(t).replace(a,function(t){if("%%"===t)return"%";if(r>=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),l=n[r];r<i;l=n[++r])g(l)||!b(l)?o+=" "+l:o+=" "+s(l);return o},r.deprecate=function(t,a){if(y(n.process))return function(){return r.deprecate(t,a).apply(this,arguments)};if(!0===e.noDeprecation)return t;var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(a);e.traceDeprecation?console.trace(a):console.error(a),i=!0}return t.apply(this,arguments)}};var i,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return m(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(e);if(0===o.length){if(k(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return h(e)}var c,b="",T=!1,A=["{","}"];(p(e)&&(T=!0,A=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+h(e)),0!==o.length||T&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=T?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o<s;++o)S(e,String(o))?i.push(f(t,e,r,n,String(o),!0)):i.push("");return a.forEach(function(a){a.match(/^\d+$/)||i.push(f(t,e,r,n,a,!0))}),i}(t,e,n,s,o):o.map(function(r){return f(t,e,n,s,r,T)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n  ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),S(n,a)||(o="["+a+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map(function(t){return"  "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return"   "+t}).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(i&&a.match(/^\d+$/))return s;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function v(t){return"number"==typeof t}function m(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===T(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===T(t)}function w(t){return b(t)&&("[object Error]"===T(t)||t instanceof Error)}function k(t){return"function"==typeof t}function T(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=v,r.isString=m,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":71,_process:483,inherits:70}],73:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],74:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(var o=0;o<=r;++o)i[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(i,c),h=a(u[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=a(u[o])/h;return f};var n=t("robust-linear-solve");function a(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{"robust-linear-solve":507}],75:[function(t,e,r){"use strict";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,h=s>0?o-4:o;for(r=0;r<h;r+=4)e=a[t.charCodeAt(r)]<<18|a[t.charCodeAt(r+1)]<<12|a[t.charCodeAt(r+2)]<<6|a[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;o<s;o+=16383)i.push(u(t,o,o+16383>s?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return i.join("")};for(var n=[],a=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)n[s]=o[s],a[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,i,o=[],s=e;s<r;s+=3)a=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(i=a)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},{}],76:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],77:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],78:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":86}],79:[function(t,e,r){"use strict";var n=t("./is-rat"),a=t("./lib/is-bn"),i=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,h;if(a(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))u=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=i(e)}}if(n(r))u.mul(r[1]),h=r[0].clone();else if(a(r))h=r.clone();else if("string"==typeof r)h=o(r);else if(r)if(r===Math.floor(r))h=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;h=i(r)}else h=i(1);c>0?u=u.ushln(c):c<0&&(h=h.ushln(-c));return s(u,h)}},{"./div":78,"./is-rat":80,"./lib/is-bn":84,"./lib/num-to-bn":85,"./lib/rationalize":86,"./lib/str-to-bn":87}],80:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":84}],81:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":95}],82:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var o=r[i];a+=o*Math.pow(67108864,i)}return n(t)*a}},{"./bn-sign":81}],83:[function(t,e,r){"use strict";var n=t("double-bits"),a=t("bit-twiddle").countTrailingZeros;e.exports=function(t){var e=a(n.lo(t));if(e<32)return e;var r=a(n.hi(t));if(r>20)return 52;return r+32}},{"bit-twiddle":93,"double-bits":168}],84:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":95}],85:[function(t,e,r){"use strict";var n=t("bn.js"),a=t("double-bits");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":95,"double-bits":168}],86:[function(t,e,r){"use strict";var n=t("./num-to-bn"),a=t("./bn-sign");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":81,"./num-to-bn":85}],87:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":95}],88:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":86}],89:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":81}],90:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],91:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),a=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{"./lib/bn-to-num":82,"./lib/ctz":83}],92:[function(t,e,r){"use strict";function n(t,e,r,n,a,i){var o=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",a?".get(m)":"[m]"];return i?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),i?o.push("return -1};"):o.push("return i};"),o.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],!1,a),n("B","x"+t+"y",e,["y"],!0,a),n("P","c(x,y)"+t+"0",e,["y","c"],!1,a),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,a),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],93:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<<a&255}}(a),r.reverse=function(t){return a[255&t]<<24|a[t>>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],94:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,v=null==e.cutoff?.25:e.cutoff,m=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext("2d"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),T=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?a:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?a:0===A?0:Math.pow(Math.max(0,A-.5),2)}i(x,r,o,_,w,T,k),i(b,r,o,_,w,T,k);var M=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)M[d]=n(1-((x[d]-b[d])/m+v),0,1);return M};var a=1e20;function i(t,e,r,n,a,i,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,a,i,s,r),c=0;c<r;c++)t[c*e+l]=a[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,a,i,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(a[l])}}function o(t,e,r,n,i){r[0]=0,n[0]=-a,n[1]=+a;for(var o=1,s=0;o<i;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+a}for(o=0,s=0;o<i;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:116}],95:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function a(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,a=Math.min(t.length,r),i=e;i<a;i++){var o=t.charCodeAt(i)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;a*=n,a+=s>=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a<this.length;a++)this.words[a]=0;var i,o,s=0;if("be"===r)for(a=t.length-1,i=0;a>=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(a=0,i=0;a<t.length;a+=3)o=t[a]|t[a+1]<<8|t[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,a,i=0;for(r=t.length-6,n=0;r>=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(a),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var h=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var a=0,i=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<a|i)).toString(16);r=0!==(i=s>>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<i;s++)c[s]=0}else{for(s=0;s<i-a;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[i-s-1]=o}return c},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a<e;a++)this.words[a]=67108863&~this.words[a];return r>0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<a:this.words[r]&~(1<<a),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i<n.length;i++)e=(0|r.words[i])+(0|n.words[i])+a,this.words[i]=67108863&e,a=e>>>26;for(;0!==a&&i<r.length;i++)e=(0|r.words[i])+a,this.words[i]=67108863&e,a=e>>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)i=(e=(0|r.words[o])-(0|n.words[o])+i)>>26,this.words[o]=67108863&e;for(;0!==i&&o<r.length;o++)i=(e=(0|r.words[o])+i)>>26,this.words[o]=67108863&e;if(0===i&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,a,i,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,T=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,z=P>>>13,I=0|o[8],D=8191&I,R=I>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var mt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),a=(a=Math.imul(m,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,X)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,X)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(m,H)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,X)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),a=(a=Math.imul(k,U))+Math.imul(T,V)|0,i=Math.imul(T,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,X)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,V),a=(a=Math.imul(M,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(k,H)|0,a=(a=a+Math.imul(k,G)|0)+Math.imul(T,H)|0,i=i+Math.imul(T,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,X)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,a=(a=a+Math.imul(m,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,V),a=(a=Math.imul(L,U))+Math.imul(C,V)|0,i=Math.imul(C,U),n=n+Math.imul(M,H)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(k,W)|0,a=(a=a+Math.imul(k,X)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,X)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,a=(a=a+Math.imul(m,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,V),a=(a=Math.imul(O,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(L,H)|0,a=(a=a+Math.imul(L,G)|0)+Math.imul(C,H)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,X)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,a=(a=a+Math.imul(k,K)|0)+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,a=(a=a+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(O,H)|0,a=(a=a+Math.imul(O,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(L,W)|0,a=(a=a+Math.imul(L,X)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,X)|0,n=n+Math.imul(M,J)|0,a=(a=a+Math.imul(M,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,a=(a=a+Math.imul(k,tt)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(m,it)|0,a=(a=a+Math.imul(m,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var Tt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(O,W)|0,a=(a=a+Math.imul(O,X)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,X)|0,n=n+Math.imul(L,J)|0,a=(a=a+Math.imul(L,K)|0)+Math.imul(C,J)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(M,$)|0,a=(a=a+Math.imul(M,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,a=(a=a+Math.imul(k,nt)|0)+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,a=(a=a+Math.imul(m,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,X)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,X)|0,n=n+Math.imul(O,J)|0,a=(a=a+Math.imul(O,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(L,$)|0,a=(a=a+Math.imul(L,tt)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,a=(a=a+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(k,it)|0,a=(a=a+Math.imul(k,ot)|0)+Math.imul(T,it)|0,i=i+Math.imul(T,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(m,ht)|0,a=(a=a+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,X))+Math.imul(N,W)|0,i=Math.imul(N,X),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(O,$)|0,a=(a=a+Math.imul(O,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(L,rt)|0,a=(a=a+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,i=i+Math.imul(C,nt)|0,n=n+Math.imul(M,it)|0,a=(a=a+Math.imul(M,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,a=(a=a+Math.imul(k,ct)|0)+Math.imul(T,lt)|0,i=i+Math.imul(T,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(m,dt)|0)|0)+((8191&(a=(a=a+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,a=(a=a+Math.imul(O,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(L,it)|0,a=(a=a+Math.imul(L,ot)|0)+Math.imul(C,it)|0,i=i+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,a=(a=a+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(k,ht)|0,a=(a=a+Math.imul(k,ft)|0)+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(O,it)|0,a=(a=a+Math.imul(O,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(L,lt)|0,a=(a=a+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,i=i+Math.imul(C,ct)|0,n=n+Math.imul(M,ht)|0,a=(a=a+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Lt=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(a=(a=a+Math.imul(k,gt)|0)+Math.imul(T,dt)|0))<<13)|0;c=((i=i+Math.imul(T,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,a=(a=a+Math.imul(O,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(L,ht)|0,a=(a=a+Math.imul(L,ft)|0)+Math.imul(C,ht)|0,i=i+Math.imul(C,ft)|0;var Ct=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(a=(a=a+Math.imul(M,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(O,ht)|0,a=(a=a+Math.imul(O,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(a=(a=a+Math.imul(L,gt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((i=i+Math.imul(C,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var Ot=(c+(n=n+Math.imul(O,dt)|0)|0)+((8191&(a=(a=a+Math.imul(O,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var It=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Tt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=zt,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i<r.length-1;i++){var o=a;a=0;for(var s=67108863&n,l=Math.min(i,e.length-1),c=Math.max(0,i-t.length+1);c<=l;c++){var u=i-c,h=(0|t.words[u])*(0|e.words[c]),f=67108863&h;s=67108863&(f=f+s|0),a+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,a=0;a<e;a++)n|=(1&t)<<e-a-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o<i;o++)n[o]=e[t[o]],a[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,a,i){this.permute(i,t,e,r,n,a);for(var o=1;o<a;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<a;u+=s)for(var h=l,f=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],v=r[u+p+o],m=n[u+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[u+p]=d+v,n[u+p]=g+m,r[u+p+o]=d-v,n[u+p+o]=g-m,p!==s&&(y=l*h-c*f,f=l*f+c*h,h=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,a=0;for(r=r/2|0;r;r>>>=1)a++;return 1<<a+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var a=t[n];t[n]=t[r-n-1],t[r-n-1]=a,a=e[n],e[n]=-e[r-n-1],e[r-n-1]=-a}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var a=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&a,r=a<67108864?0:a/67108864|0}return t},g.prototype.convert13b=function(t,e,r,a){for(var i=0,o=0;o<e;o++)i+=0|t[o],r[2*o]=8191&i,i>>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o<a;++o)r[o]=0;n(0===i),n(0==(-8192&i))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),a=this.makeRBT(n),i=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,i,s,l,n,a),this.transform(c,i,u,h,n,a);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,i,n,a),this.conjugate(f,i,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),d(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var a=(0|this.words[r])*t,i=(67108863&a)+(67108863&e);e>>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,a=r%26;e[r]=(t.words[n]&1<<a)>>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&i,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e<a;e++)this.words[e]=0;this.length+=a}return this.strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var a;n("number"==typeof t&&t>=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<<i,l=r;if(a-=o,a=Math.max(0,a),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<<e;return!(this.length<=r)&&!!(this.words[r]&a)},i.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<<e;this.words[this.length-1]&=a}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var a,i,o=t.length+r;this._expand(o);var s=0;for(a=0;a<t.length;a++){i=(0|this.words[a+r])+s;var l=(0|t.words[a])*e;s=((i-=67108863&l)>>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a<this.length-r;a++)s=(i=(0|this.words[a+r])+s)>>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a<this.length;a++)s=(i=-(0|this.words[a])+s)>>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if("mod"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(a,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(a=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,a=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=a,this;for(var i=a,o=r;0!==i&&o<this.length;o++){var s=0|this.words[o];i=(s+=i)>>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var a=0|this.words[0];e=a===t?0:a<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){n<a?e=-1:n>a&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},a(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];for(e.words[e.length++]=4194303&a,n=10;n<t.length;n++){var i=0|t.words[n];t.words[n-10]=(4194303&i)<<4|a>>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},a(x,m),a(b,m),a(_,m),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,a=67108863&n;n>>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},a(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:104}],96:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e<a;++e)i+=t[e].length;var o=new Array(i),s=0;for(e=0;e<a;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),h=0;for(n=0;n<c;++n)n!==r&&(u[h++]=l[n]);if(1&r){var f=u[1];u[1]=u[0],u[0]=f}}}return o}},{}],97:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(a=t,a,u,!0),n;case 2:return"function"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error("box-intersect: Invalid arguments")}var a};var n,a=t("typedarray-pool"),i=t("./lib/sweep"),o=t("./lib/intersect");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var a=0,i=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[a++]=c[u];n[i++]=o}}return i}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}},{"./lib/intersect":99,"./lib/sweep":103,"typedarray-pool":543}],98:[function(t,e,r){"use strict";var n="d",a="ax",i="vv",o="fp",s="es",l="rs",c="re",u="rb",h="ri",f="rp",p="bs",d="be",g="bb",v="bi",m="bp",y="rv",x="Q",b=[n,a,i,l,c,u,h,p,d,g,v];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+f+"="+s+"*"+l+";i<"+c+";++i,"+f+"+="+s+"){var x0="+u+"["+a+"+"+f+"],x1="+u+"["+a+"+"+f+"+"+n+"],xi="+h+"[i];",k="for(var j="+p+","+m+"="+s+"*"+p+";j<"+d+";++j,"+m+"+="+s+"){var y0="+g+"["+a+"+"+m+"],"+(r?"y1="+g+"["+a+"+"+m+"+"+n+"],":"")+"yi="+v+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1<x0||x1<y0)continue;"):e?_.push("if(y0<=x0||x1<y0)continue;"):_.push("if(y0<x0||x1<y0)continue;"),_.push("for(var k="+a+"+1;k<"+n+";++k){var r0="+u+"[k+"+f+"],r1="+u+"[k+"+n+"+"+f+"],b0="+g+"[k+"+m+"],b1="+g+"[k+"+n+"+"+m+"];if(r1<b0||b1<r0)continue "+x+";}var "+y+"="+i+"("),e?_.push("yi,xi"):_.push("xi,yi"),_.push(");if("+y+"!==void 0)return "+y+";}}}"),{name:o,code:_.join("")}}(e,o,t);r.push(_.code),w.push("return "+_.name+"("+b.join()+");")}w.push("if("+c+"-"+l+">"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var T=r.join("")+w.join("");return new Function(T)()}r.partial=_(!1),r.full=_(!0)},{}],99:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,u,S,E,L,C){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(b*r);w.length<i&&(n.free(w),w=n.mallocInt32(i));var o=a.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,i+E);var P,O=0,z=2*t;T(O++,0,0,i,0,E,r?16:0,-1/0,1/0),r||T(O++,0,0,E,0,i,1,-1/0,1/0);for(;O>0;){var I=(O-=1)*b,D=w[I],R=w[I+1],F=w[I+2],B=w[I+3],N=w[I+4],j=w[I+5],V=O*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),Y=u,W=S,X=L,Z=C;if(H&&(Y=L,W=C,X=u,Z=S),!(2&j&&(F=v(t,D,R,F,Y,W,q),R>=F)||4&j&&(R=m(t,D,R,F,Y,W,U))>=F)){var J=F-R,K=N-B;if(G){if(t*J*(J+K)<p){if(void 0!==(P=l.scanComplete(t,D,e,R,F,Y,W,B,N,X,Z)))return P;continue}}else{if(t*Math.min(J,K)<h){if(void 0!==(P=o(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}if(t*J*K<f){if(void 0!==(P=l.scanBipartite(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}}var Q=d(t,D,R,F,Y,W,U,q);if(R<Q)if(t*(Q-R)<h){if(void 0!==(P=s(t,D+1,e,R,Q,Y,W,B,N,X,Z)))return P}else if(D===t-2){if(void 0!==(P=H?l.sweepBipartite(t,e,B,N,X,Z,R,Q,Y,W):l.sweepBipartite(t,e,R,Q,Y,W,B,N,X,Z)))return P}else T(O++,D+1,R,Q,B,N,H,-1/0,1/0),T(O++,D+1,B,N,R,Q,1^H,-1/0,1/0);if(Q<F){var $=c(t,D,B,N,X,Z),tt=X[z*$+D],et=g(t,D,$,N,X,Z,tt);if(et<N&&T(O++,D,Q,F,et,N,(4|H)+(G?16:0),tt,q),B<$&&T(O++,D,Q,F,B,$,(2|H)+(G?16:0),U,tt),$+1===et){if(void 0!==(P=G?M(t,D,e,Q,F,Y,W,$,X,Z[$]):A(t,D,e,H,Q,F,Y,W,$,X,Z[$])))return P}else if($<et){var rt;if(G){if(rt=y(t,D,Q,F,Y,W,tt),Q<rt){var nt=g(t,D,Q,rt,Y,W,tt);if(D===t-2){if(Q<nt&&void 0!==(P=l.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return P;if(nt<rt&&void 0!==(P=l.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return P}else Q<nt&&T(O++,D+1,Q,nt,$,et,16,-1/0,1/0),nt<rt&&(T(O++,D+1,nt,rt,$,et,0,-1/0,1/0),T(O++,D+1,$,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,Q,F,Y,W,tt):y(t,D,Q,F,Y,W,tt),Q<rt&&(D===t-2?P=H?l.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):l.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(T(O++,D+1,Q,rt,$,et,H,-1/0,1/0),T(O++,D+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var n=t("typedarray-pool"),a=t("bit-twiddle"),i=t("./brute"),o=i.partial,s=i.full,l=t("./sweep"),c=t("./median"),u=t("./partition"),h=128,f=1<<22,p=1<<22,d=u("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),v=u("lo<p0",["p0"]),m=u("hi<=p0",["p0"]),y=u("lo<=p0&&p0<=hi",["p0"]),x=u("lo<p0&&p0<=hi",["p0"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function T(t,e,r,n,a,i,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=a,w[c+4]=i,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,a,i,o,s,l,c,u){var h=2*t,f=l*h,p=c[f+e];t:for(var d=a,g=a*h;d<i;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=c[f+b],w=c[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function M(t,e,r,n,a,i,o,s,l,c){var u=2*t,h=s*u,f=l[h+e];t:for(var p=n,d=n*u;p<a;++p,d+=u){var g=o[p];if(g!==c){var v=i[d+e],m=i[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=i[d+y],m=i[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{"./brute":98,"./median":100,"./partition":101,"./sweep":103,"bit-twiddle":93,"typedarray-pool":543}],100:[function(t,e,r){"use strict";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,h=o+r>>>1,f=2*t,p=h,d=s[f*h+e];for(;c<u;){if(u-c<a){i(t,e,c,u,s,l),d=s[f*h+e];break}var g=u-c,v=Math.random()*g+c|0,m=s[f*v+e],y=Math.random()*g+c|0,x=s[f*y+e],b=Math.random()*g+c|0,_=s[f*b+e];m<=x?_>=x?(p=y,d=x):m>=_?(p=v,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=v,d=m):(p=b,d=_);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var M=l[u-1];l[u-1]=l[p],l[p]=M,p=n(t,e,c,u-1,s,l,d);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var M=l[u-1];if(l[u-1]=l[p],l[p]=M,h<p){for(u=p-1;c<u&&s[f*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<h))break;for(c=p+1;c<u&&s[f*c+e]===d;)c+=1}}return n(t,e,r,h,s,l,s[f*h+e])};var n=t("./partition")("lo<p0",["p0"]),a=8;function i(t,e,r,n,a,i){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=a[s],u=l,h=o*(l-1);u>r&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=a[f];a[f]=a[p],a[p]=g}var v=i[u];i[u]=i[u-1],i[u-1]=v}}},{"./partition":101}],101:[function(t,e,r){"use strict";e.exports=function(t,e){var r="abcdef".split("").concat(e),a=[];t.indexOf("lo")>=0&&a.push("lo=e[k+n]");t.indexOf("hi")>=0&&a.push("hi=e[k+o]");return r.push(n.replace("_",a.join()).replace("$",t)),Function.apply(void 0,r)};var n="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"},{}],102:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?a(0,e-1,t):function t(e,r,h){var f=(r-e+1)/6|0,p=e+f,d=r-f,g=e+r>>1,v=g-f,m=g+f,y=p,x=v,b=g,_=m,w=d,k=e+1,T=r-1,A=0;c(y,x,h)&&(A=y,y=x,x=A);c(_,w,h)&&(A=_,_=w,w=A);c(y,b,h)&&(A=y,y=b,b=A);c(x,b,h)&&(A=x,x=b,b=A);c(y,_,h)&&(A=y,y=_,_=A);c(b,_,h)&&(A=b,b=_,_=A);c(x,w,h)&&(A=x,x=w,w=A);c(x,b,h)&&(A=x,x=b,b=A);c(_,w,h)&&(A=_,_=w,w=A);var M=h[2*x];var S=h[2*x+1];var E=h[2*_];var L=h[2*_+1];var C=2*y;var P=2*b;var O=2*w;var z=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var F=h[C+R],B=h[P+R],N=h[O+R];h[z+R]=F,h[I+R]=B,h[D+R]=N}o(v,e,h);o(m,r,h);for(var j=k;j<=T;++j)if(u(j,M,S,h))j!==k&&i(j,k,h),++k;else if(!u(j,E,L,h))for(;;){if(u(T,E,L,h)){u(T,M,S,h)?(s(j,k,T,h),++k,--T):(i(j,T,h),--T);break}if(--T<j)break}l(e,k-1,M,S,h);l(r,T+1,E,L,h);k-2-e<=n?a(e,k-2,h):t(e,k-2,h);r-(T+2)<=n?a(T+2,r,h):t(T+2,r,h);T-k<=n?a(k,T,h):t(k,T,h)}(0,e-1,t)};var n=32;function a(t,e,r){for(var n=2*(t+1),a=t+1;a<=e;++a){for(var i=r[n++],o=r[n++],s=a,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<i)break;if(c===i&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=i,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],a=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=a}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var a=n[t*=2],i=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=a,n[r+1]=i}function l(t,e,r,n,a){e*=2,a[t*=2]=a[e],a[e]=r,a[t+1]=a[e+1],a[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],a=r[e];return!(n<a)&&(n!==a||r[t+1]>r[e+1])}function u(t,e,r,n){var a=n[t*=2];return a<e||a===e&&n[t+1]<r}},{}],103:[function(t,e,r){"use strict";e.exports={init:function(t){var e=a.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,a,h,f,v,m,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var T=h[k],A=b*k;p[x++]=a[A+_],p[x++]=-(T+1),p[x++]=a[A+w],p[x++]=T}for(var k=f;k<v;++k){var T=y[k]+o,M=b*k;p[x++]=m[M+_],p[x++]=-T,p[x++]=m[M+w],p[x++]=T}var S=x>>>1;i(p,S);for(var E=0,L=0,k=0;k<S;++k){var C=0|p[2*k+1];if(C>=o)d(c,u,L--,C=C-o|0);else if(C>=0)d(s,l,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P<E;++P){var O=e(s[P],C);if(void 0!==O)return O}g(c,u,L++,C)}else{C=-C-1|0;for(var P=0;P<L;++P){var O=e(C,c[P]);if(void 0!==O)return O}g(s,l,E++,C)}}},sweepComplete:function(t,e,r,n,a,o,v,m,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,T=r;T<n;++T){var A=o[T]+1<<1,M=_*T;p[b++]=a[M+w],p[b++]=-A,p[b++]=a[M+k],p[b++]=A}for(var T=v;T<m;++T){var A=x[T]+1<<1,S=_*T;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var E=b>>>1;i(p,E);for(var L=0,C=0,P=0,T=0;T<E;++T){var O=0|p[2*T+1],z=1&O;if(T<E-1&&O>>1==p[2*T+3]>>1&&(z=2,T+=1),O<0){for(var I=-(O>>1)-1,D=0;D<P;++D){var R=e(h[D],I);if(void 0!==R)return R}if(0!==z)for(var D=0;D<L;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==z)for(var D=0;D<C;++D){var R=e(c[D],I);if(void 0!==R)return R}0===z?g(s,l,L++,I):1===z?g(c,u,C++,I):2===z&&g(h,f,P++,I)}else{var I=(O>>1)-1;0===z?d(s,l,L--,I):1===z?d(c,u,C--,I):2===z&&d(h,f,P--,I)}}},scanBipartite:function(t,e,r,n,a,c,u,h,f,v,m,y){var x=0,b=2*t,_=e,w=e+t,k=1,T=1;n?T=o:k=o;for(var A=a;A<c;++A){var M=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-M,p[x++]=u[S+w],p[x++]=M}for(var A=f;A<v;++A){var M=A+T,E=b*A;p[x++]=m[E+_],p[x++]=-M}var L=x>>>1;i(p,L);for(var C=0,A=0;A<L;++A){var P=0|p[2*A+1];if(P<0){var M=-P,O=!1;if(M>=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(s,l,C++,M);else{var z=y[M],I=b*M,D=m[I+e+1],R=m[I+e+1+t];t:for(var F=0;F<C;++F){var B=s[F],N=b*B;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(m[I+j+t]<u[N+j]||u[N+j+t]<m[I+j])continue t;var V,U=h[B];if(void 0!==(V=n?r(z,U):r(U,z)))return V}}}}else d(s,l,C--,P-k)}},scanComplete:function(t,e,r,n,a,l,c,u,h,f,d){for(var g=0,v=2*t,m=e,y=e+t,x=n;x<a;++x){var b=x+o,_=v*x;p[g++]=l[_+m],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<h;++x){var b=x+1,w=v*x;p[g++]=f[w+m],p[g++]=-b}var k=g>>>1;i(p,k);for(var T=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[T++]=b-o;else{var M=d[b-=1],S=v*b,E=f[S+e+1],L=f[S+e+1+t];t:for(var C=0;C<T;++C){var P=s[C],O=c[P];if(O===M)break;var z=v*P;if(!(L<l[z+e+1]||l[z+e+1+t]<E)){for(var I=e+2;I<t;++I)if(f[S+I+t]<l[z+I]||l[z+I+t]<f[S+I])continue t;var D=r(O,M);if(void 0!==D)return D}}}}else{for(var b=A-o,C=T-1;C>=0;--C)if(s[C]===b){for(var I=C+1;I<T;++I)s[I-1]=s[I];break}--T}}}};var n=t("typedarray-pool"),a=t("bit-twiddle"),i=t("./sort"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),h=n.mallocInt32(1024),f=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var a=e[n],i=t[r-1];t[a]=i,e[i]=a}function g(t,e,r,n){t[r]=n,e[n]=r}},{"./sort":102,"bit-twiddle":93,"typedarray-pool":543}],104:[function(t,e,r){},{}],105:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},a=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function h(t,e,r,a){var i,o,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if("function"==typeof s?s=o[e]=a?[r,s]:[s,r]:a?s.unshift(r):s.push(r),!s.warned&&(i=u(t))&&i>0&&s.length>i){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=i.call(f,n);return a.listener=r,n.wrapFn=a,a}function d(t,e,r){var n=t._events;if(!n)return[];var a=n[e];return a?"function"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(a):v(a,a.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if("function"==typeof r)return 1;if(r)return r.length}return 0}function v(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||t!=t)throw new TypeError('"defaultMaxListeners" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,a,i,o,s="error"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled "error" event. ('+e+")");throw l.context=e,l}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,a=v(t,n),i=0;i<n;++i)a[i].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,a){if(e)t.call(r,n,a);else for(var i=t.length,o=v(t,i),s=0;s<i;++s)o[s].call(r,n,a)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,a,i){if(e)t.call(r,n,a,i);else for(var o=t.length,s=v(t,o),l=0;l<o;++l)s[l].call(r,n,a,i)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),i=1;i<n;i++)a[i-1]=arguments[i];!function(t,e,r,n){if(e)t.apply(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].apply(r,n)}(r,c,this,a)}return!0},o.prototype.addListener=function(t,e){return h(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return h(this,t,e,!0)},o.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,a,i,o,s;if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');if(!(a=this._events))return this;if(!(r=a[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete a[t],a.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n<a;r+=1,n+=1)t[r]=t[n];t.pop()}(r,i),1===r.length&&(a[t]=r[0]),a.removeListener&&this.emit("removeListener",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,i;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=a(r);for(i=0;i<s.length;++i)"removeListener"!==(o=s[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=n(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],106:[function(t,e,r){(function(e){"use strict";var n=t("base64-js"),a=t("ieee754"),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;var o=2147483647;function s(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var r=new Uint8Array(t);return Object.setPrototypeOf(r,e.prototype),r}function e(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,r,n){if("string"==typeof t)return function(t,r){"string"==typeof r&&""!==r||(r="utf8");if(!e.isEncoding(r))throw new TypeError("Unknown encoding: "+r);var n=0|p(t,r),a=s(n),i=a.write(t,r);i!==n&&(a=a.slice(0,i));return a}(t,r);if(ArrayBuffer.isView(t))return h(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength<r)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<r+(n||0))throw new RangeError('"length" is outside of buffer bounds');var a;a=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);return Object.setPrototypeOf(a,e.prototype),a}(t,r,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var a=t.valueOf&&t.valueOf();if(null!=a&&a!==t)return e.from(a,r,n);var i=function(t){if(e.isBuffer(t)){var r=0|f(t.length),n=s(r);return 0===n.length?n:(t.copy(n,0,0,r),n)}if(void 0!==t.length)return"number"!=typeof t.length||V(t.length)?s(0):h(t);if("Buffer"===t.type&&Array.isArray(t.data))return h(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return e.from(t[Symbol.toPrimitive]("string"),r,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return c(t),s(t<0?0:0|f(t))}function h(t){for(var e=t.length<0?0:0|f(t.length),r=s(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function f(t){if(t>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function p(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return F(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(t).length;default:if(i)return a?-1:F(t).length;r=(""+r).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,r,n,a,i){if(0===t.length)return-1;if("string"==typeof n?(a=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof r&&(r=e.from(r,a)),e.isBuffer(r))return 0===r.length?-1:v(t,r,n,a,i);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):v(t,[r],n,a,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,n,a){var i,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var u=-1;for(i=r;i<s;i++)if(c(t,i)===c(e,-1===u?0:i-u)){if(-1===u&&(u=i),i-u+1===l)return u*o}else-1!==u&&(i-=i-u),u=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;f<l;f++)if(c(t,i+f)!==c(e,f)){h=!1;break}if(h)return i}return-1}function m(t,e,r,n){r=Number(r)||0;var a=t.length-r;n?(n=Number(n))>a&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(F(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(B(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,a,i=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a<r;){var i,o,s,l,c=t[a],u=null,h=c>239?4:c>223?3:c>191?2:1;if(a+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=h}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=o,e.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),e.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(e.prototype,"parent",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.buffer}}),Object.defineProperty(e.prototype,"offset",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),e.poolSize=8192,e.from=function(t,e,r){return l(t,e,r)},Object.setPrototypeOf(e.prototype,Uint8Array.prototype),Object.setPrototypeOf(e,Uint8Array),e.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?s(t):void 0!==e?"string"==typeof r?s(t).fill(e,r):s(t).fill(e):s(t)}(t,e,r)},e.allocUnsafe=function(t){return u(t)},e.allocUnsafeSlow=function(t){return u(t)},e.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==e.prototype},e.compare=function(t,r){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),j(r,Uint8Array)&&(r=e.from(r,r.offset,r.byteLength)),!e.isBuffer(t)||!e.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;for(var n=t.length,a=r.length,i=0,o=Math.min(n,a);i<o;++i)if(t[i]!==r[i]){n=t[i],a=r[i];break}return n<a?-1:a<n?1:0},e.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},e.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return e.alloc(0);var n;if(void 0===r)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var a=e.allocUnsafe(r),i=0;for(n=0;n<t.length;++n){var o=t[n];if(j(o,Uint8Array)&&(o=e.from(o)),!e.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(a,i),i+=o.length}return a},e.byteLength=p,e.prototype._isBuffer=!0,e.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},e.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},e.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},e.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?T(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return E(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return M(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},e.prototype.toLocaleString=e.prototype.toString,e.prototype.equals=function(t){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===e.compare(this,t)},e.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},i&&(e.prototype[i]=e.prototype.inspect),e.prototype.compare=function(t,r,n,a,i){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===a&&(a=0),void 0===i&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError("out of range index");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(a>>>=0),s=(n>>>=0)-(r>>>=0),l=Math.min(o,s),c=this.slice(a,i),u=t.slice(r,n),h=0;h<l;++h)if(c[h]!==u[h]){o=c[h],s=u[h];break}return o<s?-1:s<o?1:0},e.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},e.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},e.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},e.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function M(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(127&t[a]);return n}function S(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(t[a]);return n}function E(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var a="",i=e;i<r;++i)a+=R(t[i]);return a}function L(t,e,r){for(var n=t.slice(e,r),a="",i=0;i<n.length;i+=2)a+=String.fromCharCode(n[i]+256*n[i+1]);return a}function C(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function P(t,r,n,a,i,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||r<o)throw new RangeError('"value" argument is out of bounds');if(n+a>t.length)throw new RangeError("Index out of range")}function O(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function z(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,8),a.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r<t&&(r=t);var a=this.subarray(t,r);return Object.setPrototypeOf(a,e.prototype),a},e.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n},e.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n>=(a*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},e.prototype.readInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i<r&&(a*=256);)this[e+i]=t/a&255;return e+r},e.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeFloatLE=function(t,e,r){return z(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return z(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,a){if(!e.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),a||0===a||(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a<n&&(a=n),a===n)return 0;if(0===t.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),t.length-r<a-n&&(a=t.length-r+n);var i=a-n;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(r,n,a);else if(this===t&&n<r&&r<a)for(var o=i-1;o>=0;--o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,a),r);return i},e.prototype.fill=function(t,r,n,a){if("string"==typeof t){if("string"==typeof r?(a=r,r=0,n=this.length):"string"==typeof n&&(a=n,n=this.length),void 0!==a&&"string"!=typeof a)throw new TypeError("encoding must be a string");if("string"==typeof a&&!e.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(1===t.length){var i=t.charCodeAt(0);("utf8"===a&&i<128||"latin1"===a)&&(t=i)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;var o;if(r>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=r;o<n;++o)this[o]=t;else{var s=e.isBuffer(t)?t:e.from(t,a),l=s.length;if(0===l)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<n-r;++o)this[o+r]=s[o%l]}return this};var D=/[^+/0-9A-Za-z-_]/g;function R(t){return t<16?"0"+t.toString(16):t.toString(16)}function F(t,e){var r;e=e||1/0;for(var n=t.length,a=null,i=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function B(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var a=0;a<n&&!(a+r>=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this,t("buffer").Buffer)},{"base64-js":75,buffer:106,ieee754:413}],107:[function(t,e,r){"use strict";var n=t("./lib/monotone"),a=t("./lib/triangulation"),i=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),h=!!c(r,"interior",!0),f=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!h&&!f||0===t.length)return[];var d=n(t,e);if(u||h!==f||p){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),v=0;v<d.length;++v){var m=d[v];g.addTriangle(m[0],m[1],m[2])}return u&&i(t,g),f?h?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{"./lib/delaunay":108,"./lib/filter":109,"./lib/monotone":110,"./lib/triangulation":111}],108:[function(t,e,r){"use strict";var n=t("robust-in-sphere")[4];t("binary-search-bounds");function a(t,e,r,a,i,o){var s=e.opposite(a,i);if(!(s<0)){if(i<a){var l=a;a=i,i=l,l=o,o=s,s=l}e.isConstraint(a,i)||n(t[a],t[i],t[o],t[s])<0&&r.push(a,i)}}e.exports=function(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var h=l[c-1],f=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){f=l[p];break}f<0||n(t[s],t[u],t[h],t[f])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],v=l[d];g===u?f=v:v===u&&(h=g)}h<0||f<0||(n(t[s],t[u],t[h],t[f])>=0||(e.flip(s,u),a(t,e,r,h,s,f),a(t,e,r,s,f,h),a(t,e,r,f,u,h),a(t,e,r,u,h,f)))}}},{"binary-search-bounds":112,"robust-in-sphere":506}],109:[function(t,e,r){"use strict";var n,a=t("binary-search-bounds");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a<n;++a){var s=r[a],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var h=new Array(n),a=0;a<h.length;++a)h[a]=0;var f=[],p=[],d=new Array(3*n),g=new Array(3*n),v=null;e&&(v=[]);for(var m=new i(r,d,g,h,f,p,v),a=0;a<n;++a)for(var s=r[a],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*a+y]=m.locate(c,l,t.opposite(c,l)),b=g[3*a+y]=t.isConstraint(l,c);x<0&&(b?p.push(a):(f.push(a),h[a]=1),e&&v.push([c,l,-1]))}return m}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var a=1,s=n.active,l=n.next,c=n.flags,u=n.cells,h=n.constraint,f=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-a){c[p]=a;u[p];for(var d=0;d<3;++d){var g=f[3*p+d];g>=0&&0===c[g]&&(h[3*p+d]?l.push(g):(s.push(g),c[g]=a))}}}var v=l;l=s,s=v,l.length=0,a=-a}var m=function(t,e,r){for(var n=0,a=0;a<t.length;++a)e[a]===r&&(t[n++]=t[a]);return t.length=n,t}(u,c,e);if(r)return m.concat(n.boundary);return m},i.prototype.locate=(n=[0,0,0],function(t,e,r){var i=t,s=e,l=r;return e<r?e<t&&(i=e,s=r,l=t):r<t&&(i=r,s=t,l=e),i<0?-1:(n[0]=i,n[1]=s,n[2]=l,a.eq(this.cells,n,o))})},{"binary-search-bounds":112}],110:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("robust-orientation")[3],i=0,o=1,s=2;function l(t,e,r,n,a){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=a}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==i&&(r=a(t.a,t.b,e.b))?r:t.idx-e.idx)}function h(t,e){return a(t.a,t.b,e)}function f(t,e,r,i,o){for(var s=n.lt(e,i,h),l=n.gt(e,i,h),c=s;c<l;++c){for(var u=e[c],f=u.lowerIds,p=f.length;p>1&&a(r[f[p-2]],r[f[p-1]],i)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=u.upperIds;for(p=d.length;p>1&&a(r[d[p-2]],r[d[p-1]],i)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?a(t.a,t.b,e.a):a(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?a(t.a,t.b,e.b):a(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var a=n.le(t,r,p),i=t[a],o=i.upperIds,s=o[o.length-1];i.upperIds=[s],t.splice(a+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var a=r.a;r.a=r.b,r.b=a;var i=n.eq(t,r,p),o=t[i];t[i-1].upperIds=o.upperIds,t.splice(i,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,a=[],h=0;h<r;++h)a.push(new c(t[h],null,i,h));for(var h=0;h<n;++h){var p=e[h],v=t[p[0]],m=t[p[1]];v[0]<m[0]?a.push(new c(v,m,s,h),new c(m,v,o,h)):v[0]>m[0]&&a.push(new c(m,v,s,h),new c(v,m,o,h))}a.sort(u);for(var y=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],h=0,_=a.length;h<_;++h){var w=a[h],k=w.type;k===i?f(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":112,"robust-orientation":508}],111:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function a(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new a(r,e)};var i=a.prototype;function o(t,e,r){for(var n=1,a=t.length;n<a;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[a-2],t[n]=t[a-1],void(t.length=a-2)}i.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,a){return t[0]=Math.min(r,a),t[1]=Math.max(r,a),n.eq(this.edges,t,e)>=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;n<a;n+=2)if(r[n]===t)return r[n-1];return-1},i.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},i.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2)e.push([a[i],a[i+1]]);return e},i.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2){var s=a[i],l=a[i+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{"binary-search-bounds":112}],112:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return a?e.indexOf("c")<0?i.push(";if(x===y){return m}else if(x<=y){"):i.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):i.push(";if(",e,"){i=m;"),r?i.push("l=m+1}else{h=m-1}"):i.push("h=m-1}else{l=m+1}"),i.push("}"),a?i.push("return -1};"):i.push("return i};"),i.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],a),n("P","c(x,y)"+t+"0",e,["y","c"],a),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],113:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],114:[function(t,e,r){"use strict";var n=t("dup"),a=t("robust-linear-solve");function i(t,e){for(var r=0,n=t.length,a=0;a<n;++a)r+=t[a]*e[a];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*i(t[s],t[l]);o[s]=i(t[s],t[s])}var c=a(r,o),u=0,h=c[e+1];for(s=0;s<h.length;++s)u+=h[s];var f=new Array(e);for(s=0;s<e;++s){h=c[s];var p=0;for(l=0;l<h.length;++l)p+=h[l];f[s]=p/u}return f}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),a=o(t),i=0;i<t.length;++i)for(var s=0;s<e;++s)r[s]+=t[i][s]*a[i];return r}s.barycenetric=o,e.exports=s},{dup:171,"robust-linear-solve":507}],115:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,a=0;a<t.length;++a)for(var i=t[a],o=0;o<e.length;++o)r+=Math.pow(i[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t("circumcenter")},{circumcenter:114}],116:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],117:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;i<e.length;++i){var o=e[i];a[i]=[o[0],o[1],r[i]]}e=a}var s=function(t,e,r){var n=d(t,[],p(t));return m(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var i=0;i<e.length;++i){var o=e[i];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t("union-find"),a=t("box-intersect"),i=t("robust-segment-intersect"),o=t("big-rat"),s=t("big-rat/cmp"),l=t("big-rat/to-float"),c=t("rat-vec"),u=t("nextafter"),h=t("./lib/rat-seg-intersect");function f(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var i=e.length,o=new n(i),s=[],l=0;l<e.length;++l){var c=e[l],h=f(c[0]),p=f(c[1]);s.push([u(h[0],-1/0),u(p[0],-1/0),u(h[1],1/0),u(p[1],1/0)])}a(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(i);for(l=0;l<i;++l){(m=o.find(l))!==l&&(d=!1,t[m]=[Math.min(t[l][0],t[m][0]),Math.min(t[l][1],t[m][1])])}if(d)return null;var v=0;for(l=0;l<i;++l){var m;(m=o.find(l))===l?(g[l]=v,t[v++]=t[l]):g[l]=-1}t.length=v;for(l=0;l<i;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function v(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var a=e[(o=t[n])[0]],i=e[o[1]];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}else for(n=0;n<t.length;++n){var o;a=(o=t[n])[0],i=o[1];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}r?t.sort(v):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var a=e[n],i=t[a[0]],o=t[a[1]];r[n]=[u(Math.min(i[0],o[0]),-1/0),u(Math.min(i[1],o[1]),-1/0),u(Math.max(i[0],o[0]),1/0),u(Math.max(i[1],o[1]),1/0)]}return r}(t,e),f=function(t,e,r){var n=[];return a(r,function(r,a){var o=e[r],s=e[a];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],h=t[s[1]];i(l,c,u,h)&&n.push([r,a])}}),n}(t,e,n),g=p(t),v=function(t,e,r,n){var o=[];return a(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var s=t[n],l=t[a[0]],c=t[a[1]];i(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,a){var i,u,f=t.map(function(t){return[o(t[0]),o(t[1])]});for(i=0;i<r.length;++i){var p=r[i];u=p[0];var d=p[1],g=e[u],v=e[d],m=h(c(t[g[0]]),c(t[g[1]]),c(t[v[0]]),c(t[v[1]]));if(m){var y=t.length;t.push([l(m[0]),l(m[1])]),f.push(m),n.push([u,y],[d,y])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=f[t[1]],n=f[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),i=n.length-1;i>=0;--i){var x=e[u=(S=n[i])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var T=b;b=_,_=T}x[0]=b;var A,M=x[1]=S[1];for(a&&(A=x[2]);i>0&&n[i-1][0]===u;){var S,E=(S=n[--i])[1];a?e.push([M,E,A]):e.push([M,E]),M=E}a?e.push([M,_,A]):e.push([M,_])}return f}(t,e,f,v,r));return m(e,y,r),!!y||(f.length>0||v.length>0)}},{"./lib/rat-seg-intersect":118,"big-rat":79,"big-rat/cmp":77,"big-rat/to-float":91,"box-intersect":97,nextafter:452,"rat-vec":487,"robust-segment-intersect":511,"union-find":544}],118:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=s(e,t),h=s(n,r),f=u(i,h);if(0===o(f))return null;var p=s(t,r),d=u(h,p),g=a(d,f),v=c(i,g);return l(t,v)};var n=t("big-rat/mul"),a=t("big-rat/div"),i=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":78,"big-rat/mul":88,"big-rat/sign":89,"big-rat/sub":90,"rat-vec/add":486,"rat-vec/muls":488,"rat-vec/sub":489}],119:[function(t,e,r){"use strict";var n=t("clamp");function a(t,e){null==e&&(e=!0);var r=t[0],a=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,a*=255,i*=255,o*=255),16777216*(r=255&n(r,0,255))+((a=255&n(a,0,255))<<16)+((i=255&n(i,0,255))<<8)+(o=255&n(o,0,255))}e.exports=a,e.exports.to=a,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,a=(65280&t)>>>8,i=255&t;return!1===e?[r,n,a,i]:[r/255,n/255,a/255,i/255]}},{clamp:116}],120:[function(t,e,r){"use strict";e.exports={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]}},{}],121:[function(t,e,r){"use strict";var n=t("color-rgba"),a=t("clamp"),i=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(i(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:116,"color-rgba":123,dtype:170}],122:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),a=t("is-plain-obj"),i=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),h=u.length,f=h<=4;c=1,f?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var p=e[1],d="rgb"===p,u=p.replace(/a$/,"");s=u;var h="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=d?1:void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(a(t)){var g=i(t.r,t.red,t.R,null);null!==g?(s="rgb",l=[g,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s="hsl",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),c=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":120,defined:165,"is-plain-obj":423}],123:[function(t,e,r){"use strict";var n=t("color-parse"),a=t("color-space/hsl"),i=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),"h"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:116,"color-parse":122,"color-space/hsl":124}],124:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[c]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":125}],125:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],126:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],127:[function(t,e,r){"use strict";var n=t("./colorScale"),a=t("lerp");function i(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,h,f,p,d,g;t||(t={});p=(t.nshades||72)-1,f=t.format||"hex",(h=t.colormap)||(h="jet");if("string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var v=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),m=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=v[g],l=v[g+1];for(var y=0;y<c;y++){var x=y/c;m.push([Math.round(a(r[0],l[0],x)),Math.round(a(r[1],l[1],x)),Math.round(a(r[2],l[2],x)),a(r[3],l[3],x)])}}m.push(u[u.length-1].rgb.concat(d[1])),"hex"===f?m=m.map(o):"rgbaString"===f?m=m.map(s):"float"===f&&(m=m.map(i));return m}},{"./colorScale":126,lerp:426}],128:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){var o=n(e,r,i);if(0===o){var s=a(n(t,e,r)),c=a(n(t,e,i));if(s===c){if(0===s){var u=l(t,e,r),h=l(t,e,i);return u===h?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,i)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:a(c-s)}var f=n(t,e,r);if(f>0)return o>0&&n(t,e,i)>0?1:-1;if(f<0)return o>0||n(t,e,i)>0?1:-1;var p=n(t,e,i);return p>0?1:l(t,e,r)?1:-1};var n=t("robust-orientation"),a=t("signum"),i=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),c=i(r[1],-e[1]),u=s(o(n,l),o(a,c));return u[u.length-1]>=0}},{"robust-orientation":508,"robust-product":509,"robust-sum":513,signum:514,"two-sum":542}],129:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=e[0],g=e[1],v=e[2],m=e[3];return u+h+f+p-(d+g+v+m)||n(u,h,f,p)-n(d,g,v,m,d)||n(u+h,u+f,u+p,h+f,h+p,f+p)-n(d+g,d+v,d+m,g+v,g+m,v+m)||n(u+h+f,u+h+p,u+f+p,h+f+p)-n(d+g+v,d+g+m,d+v+m,g+v+m);default:for(var y=t.slice().sort(a),x=e.slice().sort(a),b=0;b<r;++b)if(i=y[b]-x[b])return i;return 0}};var n=Math.min;function a(t,e){return t-e}},{}],130:[function(t,e,r){"use strict";var n=t("compare-cell"),a=t("cell-orientation");e.exports=function(t,e){return n(t,e)||a(t)-a(e)}},{"cell-orientation":113,"compare-cell":129}],131:[function(t,e,r){"use strict";var n=t("./lib/ch1d"),a=t("./lib/ch2d"),i=t("./lib/chnd");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return a(t);return i(t,r)}},{"./lib/ch1d":132,"./lib/ch2d":133,"./lib/chnd":134}],132:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],133:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o<r;++o){var s=e[o];a[o]=[i,s],i=s}return a};var n=t("monotone-convex-hull-2d")},{"monotone-convex-hull-2d":435}],134:[function(t,e,r){"use strict";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=a(t);if(r.length<=e)return[];var i=function(t,e){for(var r=t.length,n=new Array(r),a=0;a<e.length;++a)n[a]=t[e[a]];for(var i=e.length,a=0;a<r;++a)e.indexOf(a)<0&&(n[i++]=t[a]);return n}(t,r),o=n(i,!0);return function(t,e){for(var r=t.length,n=e.length,a=0;a<r;++a)for(var i=t[a],o=0;o<i.length;++o){var s=i[o];if(s<n)i[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);i[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),a=t("affine-hull")},{"affine-hull":64,"incremental-convex-hull":414}],135:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],136:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],137:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],138:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],139:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],140:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":142,"./stringify":143}],141:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":136}],142:[function(t,e,r){"use strict";var n=t("unquote"),a=t("css-global-keywords"),i=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=f;var h=f.cache={};function f(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(h[t])return h[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==i.indexOf(t))return h[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},f=c(t,/\s+/);e=f.shift();){if(-1!==a.indexOf(e))return["style","variant","weight","stretch"].forEach(function(t){r[t]=e}),h[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error("Missing required font-family.");return r.family=c(f.join(" "),/\s*,\s*/).map(n),h[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{"./lib/util":141,"css-font-stretch-keywords":137,"css-font-style-keywords":138,"css-font-weight-keywords":139,"css-global-keywords":144,"css-system-font-keywords":145,"string-split-by":527,unquote:546}],143:[function(t,e,r){"use strict";var n=t("pick-by-alias"),a=t("./lib/util").isSize,i=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},h={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!i[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=f),"number"==typeof t.size&&(t.size+="px"),!a)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map(function(t){return h[t]?t:'"'+t+'"'}).join(", "));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||"normal"===t.lineHeight||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(" ")}},{"./lib/util":141,"css-font-stretch-keywords":137,"css-font-style-keywords":138,"css-font-weight-keywords":139,"css-global-keywords":144,"css-system-font-keywords":145,"pick-by-alias":466}],144:[function(t,e,r){e.exports=["inherit","initial","unset"]},{}],145:[function(t,e,r){e.exports=["caption","icon","menu","message-box","small-caption","status-bar"]},{}],146:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i){var o=a-1,s=a*a,l=o*o,c=(1+2*a)*l,u=a*l,h=s*(3-2*a),f=s*o;if(t.length){i||(i=new Array(t.length));for(var p=t.length-1;p>=0;--p)i[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return i}return c*t+u*e+h*r+f*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,c=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var u=t.length-1;u>=0;--u)i[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return i}return o*t+s*e+l*r[u]+c*n}},{}],147:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if("array"===o||"object"==typeof o&&o.blockIndices){if(e.argTypes[i]="array",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push("array"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array args");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array index");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array index");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array shape");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+r[i]);e.argTypes[i]="offset",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(e.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":149}],148:[function(t,e,r){"use strict";var n=t("uniq");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,h=0;for(n=0;n<i;++n)c.push(["i",n,"=0"].join(""));for(a=0;a<o;++a)for(n=0;n<i;++n)h=u,u=t[n],0===n?c.push(["d",a,"s",n,"=t",a,"p",u].join("")):c.push(["d",a,"s",n,"=(t",a,"p",u,"-s",h,"*t",a,"p",h,")"].join(""));for(c.length>0&&l.push("var "+c.join(",")),n=i-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"<s",u,";++i",n,"){"].join(""));for(l.push(r),n=0;n<i;++n){for(h=u,u=t[n],a=0;a<o;++a)l.push(["p",a,"+=d",a,"s",n].join(""));s&&(n>0&&l.push(["index[",h,"]-=s",h].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,"g"),c="",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case"offset":var h=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[h].array,c="+q"+h;case"array":c="p"+u+c;var f="l"+o,p="a"+u;if(0===e.arrayBlockIndices[u])1===s.count?"generic"===r[u]?s.lvalue?(a.push(["var ",f,"=",p,".get(",c,")"].join("")),n=n.replace(l,f),i.push([p,".set(",c,",",f,")"].join(""))):n=n.replace(l,[p,".get(",c,")"].join("")):n=n.replace(l,[p,"[",c,"]"].join("")):"generic"===r[u]?(a.push(["var ",f,"=",p,".get(",c,")"].join("")),n=n.replace(l,f),s.lvalue&&i.push([p,".set(",c,",",f,")"].join(""))):(a.push(["var ",f,"=",p,"[",c,"]"].join("")),n=n.replace(l,f),s.lvalue&&i.push([p,"[",c,"]=",f].join("")));else{for(var d=[s.name],g=[c],v=0;v<Math.abs(e.arrayBlockIndices[u]);v++)d.push("\\s*\\[([^\\]]+)\\]"),g.push("$"+(v+1)+"*t"+u+"b"+v);if(l=new RegExp(d.join(""),"g"),c=g.join("+"),"generic"===r[u])throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(l,[p,"[",c,"]"].join(""))}break;case"scalar":n=n.replace(l,"Y"+e.scalarArgs.indexOf(o));break;case"index":n=n.replace(l,"index");break;case"shape":n=n.replace(l,"shape")}}}return[a.join("\n"),n,i.join("\n")].join("\n").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],h=[],f=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(h.push(0),f.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(h.push(t.arrayBlockIndices[l]),f.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)h[l]<=o[l][g]&&o[l][g]<f[l]&&d.push(o[l][g]-h[l]);p.push(d)}var v=["SS"],m=["'use strict'"],y=[];for(g=0;g<r;++g)y.push(["s",g,"=SS[",g,"]"].join(""));for(l=0;l<t.arrayArgs.length;++l){for(v.push("a"+l),v.push("t"+l),v.push("p"+l),g=0;g<r;++g)y.push(["t",l,"p",g,"=t",l,"[",h[l]+g,"]"].join(""));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push(["t",l,"b",g,"=t",l,"[",c[l]+g,"]"].join(""))}for(l=0;l<t.scalarArgs.length;++l)v.push("Y"+l);if(t.shapeArgs.length>0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]="0";y.push(["index=[",x.join(","),"]"].join(""))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push(["t",b.array,"p",g].join("")):_.push([b.offset[g],"*t",b.array,"p",g].join("")));0===_.length?y.push("q"+l+"=0"):y.push(["q",l,"=",_.join("+")].join(""))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&m.push("var "+y.join(",")),l=0;l<t.arrayArgs.length;++l)m.push("p"+l+"|=0");t.pre.body.length>3&&m.push(i(t.pre,t,s));var k=i(t.body,t,s),T=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(p);T<r?m.push(function(t,e,r,n){for(var i=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push(["var offset",u,"=p",u].join(""));for(u=t;u<i;++u)c.push(["for(var j"+u+"=SS[",e[u],"]|0;j",u,">0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u<o;++u){for(var h=["offset"+u],f=t;f<i;++f)h.push(["j",f,"*t",u,"p",e[f]].join(""));c.push(["p",u,"=(",h.join("+"),")"].join(""))}for(c.push(a(e,r,n)),u=t;u<i;++u)c.push("}");return c.join("\n")}(T,p[0],t,k)):m.push(a(p[0],t,k)),t.post.body.length>3&&m.push(i(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+m.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",T,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var a=t[n],i=a.match(/\d+/);i=i?i[0]:"",0===a.charAt(0)?e[n]="u"+a.charAt(1)+i:e[n]=a.charAt(0)+i,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",A,"(",v.join(","),"){",m.join("\n"),"} return ",A].join(""))()}},{uniq:545}],149:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],a=t.funcName+"_cwise_thunk";e.push(["return function ",a,"(",t.shimArgs.join(","),"){"].join(""));for(var i=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var h=t.arrayArgs[u];r.push(["t",h,"=array",h,".dtype,","r",h,"=array",h,".order"].join("")),i.push("t"+h),i.push("r"+h),o.push("t"+h),o.push("r"+h+".join()"),s.push("array"+h+".data"),s.push("array"+h+".stride"),s.push("array"+h+".offset|0"),u>0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+h+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+h+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;u<t.scalarArgs.length;++u)s.push("scalar"+t.scalarArgs[u]);return r.push(["type=[",o.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),e.push("var "+r.join(",")),e.push(["if(!proc){","CACHED[type]=proc=compile([",i.join(","),"])}","return proc(",s.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+e.join("\n")+"\n----------"),new Function("compile",e.join("\n"))(n.bind(void 0,t))}},{"./compile.js":148}],150:[function(t,e,r){e.exports=t("cwise-compiler")},{"cwise-compiler":147}],151:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/copy"),i=t("es5-ext/object/normalize-options"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/map"),l=t("es5-ext/object/valid-callable"),c=t("es5-ext/object/valid-value"),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=c(e)&&l(e.value);return delete(n=a(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&f.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),h(this,t,e),this[t])},n},e.exports=function(t){var e=i(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{"es5-ext/object/copy":191,"es5-ext/object/map":200,"es5-ext/object/normalize-options":201,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207}],152:[function(t,e,r){"use strict";var n=t("es5-ext/object/assign"),a=t("es5-ext/object/normalize-options"),i=t("es5-ext/object/is-callable"),o=t("es5-ext/string/#/contains");(e.exports=function(t,e){var r,i,s,l,c;return arguments.length<2||"string"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,i=!1):(r=o.call(t,"c"),i=o.call(t,"e"),s=o.call(t,"w")),c={value:e,configurable:r,enumerable:i,writable:s},l?n(a(l),c):c}).gs=function(t,e,r){var s,l,c,u;return"string"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:i(e)?null==r?r=void 0:i(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,"c"),l=o.call(t,"e")),u={get:e,set:r,configurable:s,enumerable:l},c?n(a(c),u):u}},{"es5-ext/object/assign":188,"es5-ext/object/is-callable":194,"es5-ext/object/normalize-options":201,"es5-ext/string/#/contains":208}],153:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}var n=r(e),a=n.right,i=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,a=t.length,i=0,o=-1,l=0,c=0;if(null==e)for(;++o<a;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++i)));else for(;++o<a;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++i)));if(i>1)return c/(i-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,a,i=t.length,o=-1;if(null==e){for(;++o<i;)if(null!=(r=t[o])&&r>=r)for(n=a=r;++o<i;)null!=(r=t[o])&&(n>r&&(n=r),a<r&&(a=r))}else for(;++o<i;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=a=r;++o<i;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),a<r&&(a=r));return[n,a]}var h=Array.prototype,f=h.slice,p=h.map;function d(t){return function(){return t}}function g(t){return t}function v(t,e,r){t=+t,e=+e,r=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+r;for(var n=-1,a=0|Math.max(0,Math.ceil((e-t)/r)),i=new Array(a);++n<a;)i[n]=t+n*r;return i}var m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),a=Math.floor(Math.log(n)/Math.LN10),i=n/Math.pow(10,a);return a>=0?(i>=m?10:i>=y?5:i>=x?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=m?10:i>=y?5:i>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),a=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/a;return i>=m?a*=10:i>=y?a*=5:i>=x&&(a*=2),e<t?-a:a}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function k(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,a=(n-1)*e,i=Math.floor(a),o=+r(t[i],i,t);return o+(+r(t[i+1],i+1,t)-o)*(a-i)}}function T(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&n>r&&(n=r);return n}function A(t){if(!(a=t.length))return[];for(var e=-1,r=T(t,M),n=new Array(r);++e<r;)for(var a,i=-1,o=n[e]=new Array(a);++i<a;)o[i]=t[i][e];return n}function M(t){return t.length}t.bisect=a,t.bisectRight=a,t.bisectLeft=i,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,a,i,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=i=0;n<l;++n)for(s=t[n],a=0;a<c;++a,++i)u[i]=r(s,e[a]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var i,o,s=n.length,l=new Array(s);for(i=0;i<s;++i)l[i]=t(n[i],i,n);var c=e(l),u=c[0],h=c[1],f=r(l,u,h);Array.isArray(f)||(f=_(u,h,f),f=v(Math.ceil(u/f)*f,h,f));for(var p=f.length;f[0]<=u;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(i=0;i<=p;++i)(d=g[i]=[]).x0=i>0?f[i-1]:u,d.x1=i<p?f[i]:h;for(i=0;i<s;++i)u<=(o=l[i])&&o<=h&&g[a(f,o,0,p)].push(n[i]);return g}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e="function"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:Array.isArray(t)?d(f.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,a=n,i=-1,o=0;if(null==e)for(;++i<n;)isNaN(r=s(t[i]))?--a:o+=r;else for(;++i<n;)isNaN(r=s(e(t[i],i,t)))?--a:o+=r;if(a)return o/a},t.median=function(t,r){var n,a=t.length,i=-1,o=[];if(null==r)for(;++i<a;)isNaN(n=s(t[i]))||o.push(n);else for(;++i<a;)isNaN(n=s(r(t[i],i,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r},t.min=T,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r<n;)i[r]=e(a,a=t[++r]);return i},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=v,t.scan=function(t,r){if(n=t.length){var n,a,i=0,o=0,s=t[o];for(null==r&&(r=e);++i<n;)(r(a=t[i],s)<0||0!==r(s,s))&&(s=a,o=i);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,a,i=(null==r?t.length:r)-(e=null==e?0:+e);i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.sum=function(t,e){var r,n=t.length,a=-1,i=0;if(null==e)for(;++a<n;)(r=+t[a])&&(i+=r);else for(;++a<n;)(r=+e(t[a],a,t))&&(i+=r);return i},t.ticks=function(t,e,r){var n,a,i,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(a=t,t=e,e=a),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),i=new Array(a=Math.ceil(e-t+1));++s<a;)i[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),i=new Array(a=Math.ceil(t-e+1));++s<a;)i[s]=(t-s)/o;return n&&i.reverse(),i},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],154:[function(t,e,r){var n;n=this,function(t){"use strict";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var a,i=-1,o=t.length;if(null==r)for(;++i<o;)n.set(i,t[i]);else for(;++i<o;)n.set(r(a=t[i],i,t),a)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function a(t,e,r){t[e]=r}function i(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,a=t.length;if(null==e)for(;++n<a;)r.add(t[n]);else for(;++n<a;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this["$"+(t+="")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],c=[];function u(n,a,i,o){if(a>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,h,f=-1,p=n.length,d=l[a++],g=r(),v=i();++f<p;)(h=g.get(s=d(c=n[f])+""))?h.push(c):g.set(s,[c]);return g.each(function(t,e){o(v,e,u(t,a,i,o))}),v}return s={object:function(t){return u(t,0,n,a)},map:function(t){return u(t,0,i,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var a,i=c[n-1];return null!=e&&n>=l.length?a=r.entries():(a=[],r.each(function(e,r){a.push({key:r,values:t(e,n)})})),null!=i?a.sort(function(t,e){return i(t.key,e.key)}):a}(u(t,0,i,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],155:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var a="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[a,a,a]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),h=new RegExp("^rgba\\("+[a,a,a,i]+"\\)$"),f=new RegExp("^rgba\\("+[o,o,o,i]+"\\)$"),p=new RegExp("^hsl\\("+[i,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[i,o,o,i]+"\\)$"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function v(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function T(t,e,r,a){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,a=t.b/255,i=Math.min(e,r,a),o=Math.max(e,r,a),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-a)/l+6*(r<a):r===o?(a-e)/l+2:(e-r)/l+4,l/=c<.5?o+i:2-o-i,s*=60):l=c>0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==a?1:a)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function M(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(A,T,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,a=2*r-n;return new _(M(t>=240?t-240:t+120,a,n),M(t,a,n),M(t<120?t+240:t-120,a,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var S=Math.PI/180,E=180/Math.PI,L=.96422,C=1,P=.82521,O=4/29,z=6/29,I=3*z*z,D=z*z*z;function R(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new B(t.l,0,0,t.opacity);var e=t.h*S;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,a=U(t.r),i=U(t.g),o=U(t.b),s=N((.2225045*a+.7168786*i+.0606169*o)/C);return a===i&&i===o?r=n=s:(r=N((.4360747*a+.3850649*i+.1430804*o)/L),n=N((.0139322*a+.0971045*i+.7141733*o)/P)),new B(116*s-16,500*(r-s),200*(s-n),t.opacity)}function F(t,e,r,n){return 1===arguments.length?R(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>D?Math.pow(t,1/3):t/I+O}function j(t){return t>z?t*t*t:I*(t-O)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof B||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,F,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=L*j(e))-1.6168667*(t=C*j(t))-.4906146*(r=P*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,J=1.97294,K=J*Z,Q=J*W,$=W*X-Z*Y;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,a=($*n+K*e-Q*r)/($+K-Q),i=n-a,o=(J*(r-a)-X*i)/Z,s=Math.sqrt(o*o+i*i)/(J*a*(1-a)),l=s?Math.atan2(o,i)*E-120:NaN;return new et(l<0?l+360:l,s,a,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),a=Math.sin(t);return new _(255*(e+r*(Y*n+W*a)),255*(e+r*(X*n+Z*a)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=T,t.lab=F,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new B(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],156:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,a={};e<r;++e){if(!(t=arguments[e]+"")||t in a)throw new Error("illegal type: "+t);a[t]=[]}return new n(a)}function n(t){this._=t}function a(t,e){for(var r,n=0,a=t.length;n<a;++n)if((r=t[n]).name===e)return r.value}function i(t,r,n){for(var a=0,i=t.length;a<i;++a)if(t[a].name===r){t[a]=e,t=t.slice(0,a).concat(t.slice(a+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l<c;)if(r=(t=s[l]).type)o[r]=i(o[r],t.name,e);else if(null==e)for(r in o)o[r]=i(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=a(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,a=new Array(r),i=0;i<r;++i)a[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=0,r=(n=this._[t]).length;i<r;++i)n[i].value.apply(e,a)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],a=0,i=n.length;a<i;++a)n[a].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],157:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){"use strict";var i=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function h(t){return t.x}function f(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,a,i=r.length,o=0,s=0;for(n=0;n<i;++n)o+=(a=r[n]).x,s+=a.y;for(o=o/i-t,s=s/i-e,n=0;n<i;++n)(a=r[n]).x-=o,a.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,a=1,c=1;function u(){for(var t,i,u,f,p,d,g,v=r.length,m=0;m<c;++m)for(i=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)u=r[t],d=n[u.index],g=d*d,f=u.x+u.vx,p=u.y+u.vy,i.visit(y);function y(t,e,r,n,i){var s=t.data,l=t.r,c=d+l;if(!s)return e>f+c||n<f-c||r>p+c||i<p-c;if(s.index>u.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<c*c&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(c-(m=Math.sqrt(m)))/m*a,u.vx+=(h*=m)*(c=(l*=l)/(g+l)),u.vy+=(v*=m)*c,s.vx-=h*(c=1-c),s.vy-=v*c)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function f(){if(r){var e,a,i=r.length;for(n=new Array(i),e=0;e<i;++e)a=r[e],n[a.index]=+t(a,e,r)}}return"function"!=typeof t&&(t=i(null==t?1:+t)),u.initialize=function(t){r=t,f()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(a=+t,u):a},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),f(),u):t},u},t.forceLink=function(t){var e,n,a,s,l,h=c,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=i(30),d=1;function g(r){for(var a=0,i=t.length;a<d;++a)for(var s,c,u,h,f,p,g,v=0;v<i;++v)c=(s=t[v]).source,h=(u=s.target).x+u.vx-c.x-c.vx||o(),f=u.y+u.vy-c.y-c.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,u.vx-=h*(g=l[v]),u.vy-=f*g,c.vx+=h*(g=1-g),c.vy+=f*g}function v(){if(a){var i,o,c=a.length,f=t.length,p=r.map(a,h);for(i=0,s=new Array(c);i<f;++i)(o=t[i]).index=i,"object"!=typeof o.source&&(o.source=u(p,o.source)),"object"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(i=0,l=new Array(f);i<f;++i)o=t[i],l[i]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(a)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(a)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){a=t,v()},g.links=function(e){return arguments.length?(t=e,v(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(f="function"==typeof t?t:i(+t),m(),g):f},g.distance=function(t){return arguments.length?(p="function"==typeof t?t:i(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,a,s=i(-30),l=1,c=1/0,u=.81;function p(a){var i,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=a,i=0;i<o;++i)r=t[i],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(a=new Array(n),e=0;e<n;++e)r=t[e],a[r.index]=+s(r,e,t)}}function g(t){var e,r,n,i,o,s=0,l=0;if(t.length){for(n=i=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,i+=r*e.y);t.x=n/l,t.y=i/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=a[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,i,s){if(!t.value)return!0;var h=t.x-r.x,f=t.y-r.y,p=s-e,d=h*h+f*f;if(p*p/u<d)return d<c&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)),r.vx+=h*t.value*n/d,r.vy+=f*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=a[t.data.index]*n/d,r.vx+=h*p,r.vy+=f*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s="function"==typeof t?t:i(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,a,o,s=i(.1);function l(t){for(var i=0,s=n.length;i<s;++i){var l=n[i],c=l.x-e||1e-6,u=l.y-r||1e-6,h=Math.sqrt(c*c+u*u),f=(o[i]-h)*a[i]*t/h;l.vx+=c*f,l.vy+=u*f}}function c(){if(n){var e,r=n.length;for(a=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),a[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return"function"!=typeof t&&(t=i(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:i(+t),c(),l):s},l.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,i=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),h=a.timer(g),f=n.dispatch("tick","end");function g(){v(),f.call("tick",e),i<o&&(h.stop(),f.call("end",e))}function v(){var e,r,n=t.length;for(i+=(l-i)*s,u.each(function(t){t(i)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var a=p*Math.sqrt(r),i=r*d;e.x=a*Math.cos(i),e.y=a*Math.sin(i)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),u.each(y),e):t},alpha:function(t){return arguments.length?(i=+t,e):i},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var a,i,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(a=e-(s=t[c]).x)*a+(i=r-s.y)*i)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vx+=(n[i]-a.x)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.x=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vy+=(n[i]-a.y)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.y=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-quadtree"),t("d3-collection"),t("d3-dispatch"),t("d3-timer")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{"d3-collection":154,"d3-dispatch":156,"d3-quadtree":161,"d3-timer":163}],158:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function a(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function i(t,e){var r,n,a,i,s,u=new c(t),h=+t.value&&(u.value=t.value),f=[u];for(null==e&&(e=o);r=f.pop();)if(h&&(r.value=+r.data.value),(a=e(r.data))&&(s=a.length))for(r.children=new Array(s),i=s-1;i>=0;--i)f.push(n=r.children[i]=new c(a[i])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(a)},each:function(t){var e,r,n,a,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(t(i),r=i.children)for(n=0,a=r.length;n<a;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,a=this,i=[a],o=[];a=i.pop();)if(o.push(a),e=a.children)for(r=0,n=e.length;r<n;++r)i.push(e[r]);for(;a=o.pop();)t(a);return this},eachBefore:function(t){for(var e,r,n=this,a=[n];n=a.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)a.push(e[r]);return this},sum:function(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,a=n&&n.length;--a>=0;)r+=n[a].value;e.value=r})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),a=null;for(t=r.pop(),e=n.pop();t===e;)a=t,t=r.pop(),e=n.pop();return a}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var a=n.length;t!==r;)n.splice(a,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e},copy:function(){return i(this).eachBefore(s)}};var u=Array.prototype.slice;function h(t){for(var e,r,n=0,a=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,i=[];n<a;)e=t[n],r&&d(r,e)?++n:(r=v(i=f(i,e)),n=0);return r}function f(t,e){var r,n;if(g(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&g(m(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(m(t[r],t[n]),e)&&p(m(t[r],e),t[n])&&p(m(t[n],e),t[r])&&g(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,a=e.y-t.y;return r<0||r*r<n*n+a*a}function d(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function g(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function v(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return m(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function m(t,e){var r=t.x,n=t.y,a=t.r,i=e.x,o=e.y,s=e.r,l=i-r,c=o-n,u=s-a,h=Math.sqrt(l*l+c*c);return{x:(r+i+l/h*u)/2,y:(n+o+c/h*u)/2,r:(h+a+s)/2}}function y(t,e,r){var n=t.x,a=t.y,i=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,h=r.r,f=n-o,p=n-c,d=a-s,g=a-u,v=l-i,m=h-i,y=n*n+a*a-i*i,x=y-o*o-s*s+l*l,b=y-c*c-u*u+h*h,_=p*d-f*g,w=(d*b-g*x)/(2*_)-n,k=(g*v-d*m)/_,T=(p*x-f*b)/(2*_)-a,A=(f*m-p*v)/_,M=k*k+A*A-1,S=2*(i+w*k+T*A),E=w*w+T*T-i*i,L=-(M?(S+Math.sqrt(S*S-4*M*E))/(2*M):E/S);return{x:n+w+k*L,y:a+T+A*L,r:L}}function x(t,e,r){var n,a,i,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(a=e.r+r.r,a*=a,o=t.r+r.r,a>(o*=o)?(n=(c+o-a)/(2*c),i=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-i*l,r.y=t.y-n*l+i*s):(n=(c+a-o)/(2*c),i=Math.sqrt(Math.max(0,a/c-n*n)),r.x=e.x+n*s-i*l,r.y=e.y+n*l+i*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function _(t){var e=t._,r=t.next._,n=e.r+r.r,a=(e.x*r.r+r.x*e.r)/n,i=(e.y*r.r+r.y*e.r)/n;return a*a+i*i}function w(t){this._=t,this.next=null,this.previous=null}function k(t){if(!(a=t.length))return 0;var e,r,n,a,i,o,s,l,c,u,f;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<a;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,f=e._.r;do{if(u<=f){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}f+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,i=_(e);(n=n.next)!==r;)(o=_(n))<i&&(e=n,i=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=h(e),s=0;s<a;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function T(t){if("function"!=typeof t)throw new Error;return t}function A(){return 0}function M(t){return function(){return t}}function S(t){return Math.sqrt(t.value)}function E(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function L(t,e){return function(r){if(n=r.children){var n,a,i,o=n.length,s=t(r)*e||0;if(s)for(a=0;a<o;++a)n[a].r+=s;if(i=k(n),s)for(a=0;a<o;++a)n[a].r-=s;r.r=i+s}}}function C(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function P(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function O(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(i=o[s]).y0=r,i.y1=a,i.x0=e,i.x1=e+=i.value*c}var z="$",I={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function V(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function U(t,e,r){return t.a.parent===e.parent?t.a:r}function q(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function H(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(a-r)/t.value;++s<l;)(i=o[s]).x0=e,i.x1=n,i.y0=r,i.y1=r+=i.value*c}q.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,a,i){for(var o,s,l,c,u,h,f,p,d,g,v,m=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=a-r,c=i-n;do{u=y[b++].value}while(!u&&b<_);for(h=f=u,v=u*u*(g=Math.max(c/l,l/c)/(w*t)),d=Math.max(f/v,v/h);b<_;++b){if(u+=s=y[b].value,s<h&&(h=s),s>f&&(f=s),v=u*u*g,(p=Math.max(f/v,v/h))>d){u-=s;break}d=p}m.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?O(o,r,n,a,w?n+=c*u/w:i):H(o,r,n,w?r+=l*u/w:a,i),w-=u,x=b}return m}var W=function t(e){function r(t,r,n,a,i){Y(e,t,r,n,a,i)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);var X=function t(e){function r(t,r,n,a,i){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h<f;){for(l=(s=o[h]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?O(s,r,n,a,n+=(i-n)*s.value/p):H(s,r,n,r+=(a-r)*s.value/p,i),p-=s.value}else t._squarify=o=Y(e,t,r,n,a,i),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,a=1,i=1,o=!1;function s(e){var s,l=0;e.eachAfter(function(e){var a=e.children;a?(e.x=function(t){return t.reduce(r,0)/t.length}(a),e.y=function(t){return 1+t.reduce(n,0)}(a)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)});var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),h=c.x-t(c,u)/2,f=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*a,t.y=(e.y-t.y)*i}:function(t){t.x=(t.x-h)/(f-h)*a,t.y=(1-(e.y?t.y/e.y:1))*i})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,a=+t[0],i=+t[1],s):o?null:[a,i]},s.nodeSize=function(t){return arguments.length?(o=!0,a=+t[0],i=+t[1],s):o?[a,i]:null},s},t.hierarchy=i,t.pack=function(){var t=null,e=1,r=1,n=A;function a(a){return a.x=e/2,a.y=r/2,t?a.eachBefore(E(t)).eachAfter(L(n,.5)).eachBefore(C(1)):a.eachBefore(E(S)).eachAfter(L(A,1)).eachAfter(L(n,a.r/Math.min(e,r))).eachBefore(C(Math.min(e,r)/(2*a.r))),a}return a.radius=function(e){return arguments.length?(t=null==(r=e)?null:T(r),a):t;var r},a.size=function(t){return arguments.length?(e=+t[0],r=+t[1],a):[e,r]},a.padding=function(t){return arguments.length?(n="function"==typeof t?t:M(+t),a):n},a},t.packSiblings=function(t){return k(t),t},t.packEnclose=h,t.partition=function(){var t=1,e=1,r=0,n=!1;function a(a){var i=a.height+1;return a.x0=a.y0=r,a.x1=t,a.y1=e/i,a.eachBefore(function(t,e){return function(n){n.children&&O(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var a=n.x0,i=n.y0,o=n.x1-r,s=n.y1-r;o<a&&(a=o=(a+o)/2),s<i&&(i=s=(i+s)/2),n.x0=a,n.y0=i,n.x1=o,n.y1=s}}(e,i)),n&&a.eachBefore(P),a}return a.round=function(t){return arguments.length?(n=!!t,a):n},a.size=function(r){return arguments.length?(t=+r[0],e=+r[1],a):[t,e]},a.padding=function(t){return arguments.length?(r=+t,a):r},a},t.stratify=function(){var t=R,e=F;function r(r){var n,a,i,o,s,u,h,f=r.length,p=new Array(f),d={};for(a=0;a<f;++a)n=r[a],s=p[a]=new c(n),null!=(u=t(n,a,r))&&(u+="")&&(d[h=z+(s.id=u)]=h in d?D:s);for(a=0;a<f;++a)if(s=p[a],null!=(u=e(r[a],a,r))&&(u+="")){if(!(o=d[z+u]))throw new Error("missing: "+u);if(o===D)throw new Error("ambiguous: "+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(i)throw new Error("multiple roots");i=s}if(!i)throw new Error("no root");if(i.parent=I,i.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(l),i.parent=null,f>0)throw new Error("cycle");return i}return r.id=function(e){return arguments.length?(t=T(e),r):t},r.parentId=function(t){return arguments.length?(e=T(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function a(a){var l=function(t){for(var e,r,n,a,i,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(i=n.length),a=i-1;a>=0;--a)s.push(r=e.children[a]=new q(n[a],a)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(a);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(o),n)a.eachBefore(s);else{var c=a,u=a,h=a;a.eachBefore(function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>h.depth&&(h=t)});var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),g=r/(h.depth||1);a.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*g})}return a}function i(e){var r=e.children,n=e.parent.children,a=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,a=t.children,i=a.length;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var i=(r[0].z+r[r.length-1].z)/2;a?(e.z=a.z+t(e._,a._),e.m=e.z-i):e.z=i}else a&&(e.z=a.z+t(e._,a._));e.parent.A=function(e,r,n){if(r){for(var a,i=e,o=e,s=r,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=j(s),i=N(i),s&&i;)l=N(l),(o=j(o)).a=e,(a=s.z+h-i.z-c+t(s._,i._))>0&&(V(U(s,e,n),e,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),i&&!N(l)&&(l.t=i,l.m+=c-f,n=e)}return n}(e,a,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return a.separation=function(e){return arguments.length?(t=e,a):t},a.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],a):n?null:[e,r]},a.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],a):n?[e,r]:null},a},t.treemap=function(){var t=W,e=!1,r=1,n=1,a=[0],i=A,o=A,s=A,l=A,c=A;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),a=[0],e&&t.eachBefore(P),t}function h(e){var r=a[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h<n&&(n=h=(n+h)/2),f<u&&(u=f=(u+f)/2),e.x0=n,e.y0=u,e.x1=h,e.y1=f,e.children&&(r=a[e.depth+1]=i(e)/2,n+=c(e)-r,u+=o(e)-r,(h-=s(e)-r)<n&&(n=h=(n+h)/2),(f-=l(e)-r)<u&&(u=f=(u+f)/2),t(e,n,u,h,f))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=T(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(i="function"==typeof t?t:M(+t),u):i},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:M(+t),u):o},u.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:M(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:M(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c="function"==typeof t?t:M(+t),u):c},u},t.treemapBinary=function(t,e,r,n,a){var i,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=i=0;i<l;++i)c[i+1]=o+=s[i].value;!function t(e,r,n,a,i,o,l){if(e>=r-1){var u=s[e];return u.x0=a,u.y0=i,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p<d;){var g=p+d>>>1;c[g]<f?p=g+1:d=g}f-c[p-1]<c[p]-f&&e+1<p&&--p;var v=c[p]-h,m=n-v;if(o-a>l-i){var y=(a*m+o*v)/n;t(e,p,v,a,i,y,l),t(p,r,m,y,i,o,l)}else{var x=(i*m+l*v)/n;t(e,p,v,a,i,o,x),t(p,r,m,a,x,o,l)}}(0,l,t.value,e,r,n,a)},t.treemapDice=O,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,a){(1&t.depth?H:O)(t,e,r,n,a)},t.treemapSquarify=W,t.treemapResquarify=X,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],159:[function(t,e,r){var n,a;n=this,a=function(t,e){"use strict";function r(t,e,r,n,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*r+(1+3*t+3*i-3*o)*n+o*a)/6}function n(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a<e-1?t[a+2]:2*o-i;return r((n-a/e)*e,s,i,o,l)}}function a(t){var e=t.length;return function(n){var a=Math.floor(((n%=1)<0?++n:n)*e),i=t[(a+e-1)%e],o=t[a%e],s=t[(a+1)%e],l=t[(a+2)%e];return r((n-a/e)*e,i,o,s,l)}}function i(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):i(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):i(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):i(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function a(t,r){var a=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),i=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=a(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return a.gamma=t,a}(1);function h(t){return function(r){var n,a,i=r.length,o=new Array(i),s=new Array(i),l=new Array(i);for(n=0;n<i;++n)a=e.rgb(r[n]),o[n]=a.r||0,s[n]=a.g||0,l[n]=a.b||0;return o=t(o),s=t(s),l=t(l),a.opacity=1,function(t){return a.r=o(t),a.g=s(t),a.b=l(t),a+""}}}var f=h(n),p=h(a);function d(t,e){var r,n=e?e.length:0,a=t?Math.min(n,t.length):0,i=new Array(a),o=new Array(n);for(r=0;r<a;++r)i[r]=_(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<a;++r)o[r]=i[r](t);return o}}function g(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}}function v(t,e){return e-=t=+t,function(r){return t+e*r}}function m(t,e){var r,n={},a={};for(r in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)r in t?n[r]=_(t[r],e[r]):a[r]=e[r];return function(t){for(r in n)a[r]=n[r](t);return a}}var y=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,x=new RegExp(y.source,"g");function b(t,e){var r,n,a,i=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=y.exec(t))&&(n=x.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:v(r,n)})),i=x.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}function _(t,r){var n,a=typeof r;return null==r||"boolean"===a?i(r):("number"===a?v:"string"===a?(n=e.color(r))?(r=n,u):b:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?m:v)(t,r)}var w,k,T,A,M=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function E(t,e,r,n,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*M,skewX:Math.atan(l)*M,scaleX:o,scaleY:s}}function L(t,e,r,n){function a(t){return t.length?t.pop()+" ":""}return function(i,o){var s=[],l=[];return i=t(i),o=t(o),function(t,n,a,i,o,s){if(t!==a||n!==i){var l=o.push("translate(",null,e,null,r);s.push({i:l-4,x:v(t,a)},{i:l-2,x:v(n,i)})}else(a||i)&&o.push("translate("+a+e+i+r)}(i.translateX,i.translateY,o.translateX,o.translateY,s,l),function(t,e,r,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:r.push(a(r)+"rotate(",null,n)-2,x:v(t,e)})):e&&r.push(a(r)+"rotate("+e+n)}(i.rotate,o.rotate,s,l),function(t,e,r,i){t!==e?i.push({i:r.push(a(r)+"skewX(",null,n)-2,x:v(t,e)}):e&&r.push(a(r)+"skewX("+e+n)}(i.skewX,o.skewX,s,l),function(t,e,r,n,i,o){if(t!==r||e!==n){var s=i.push(a(i)+"scale(",null,",",null,")");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||i.push(a(i)+"scale("+r+","+n+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,s,l),i=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join("")}}}var C=L(function(t){return"none"===t?S:(w||(w=document.createElement("DIV"),k=document.documentElement,T=document.defaultView),w.style.transform=t,t=T.getComputedStyle(k.appendChild(w),null).getPropertyValue("transform"),k.removeChild(w),E(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),P=L(function(t){return null==t?S:(A||(A=document.createElementNS("http://www.w3.org/2000/svg","g")),A.setAttribute("transform",t),(t=A.transform.baseVal.consolidate())?E((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):S)},", ",")",")"),O=Math.SQRT2,z=2,I=4,D=1e-12;function R(t){return((t=Math.exp(t))+1/t)/2}function F(t){return function(r,n){var a=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),i=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.s=i(t),r.l=o(t),r.opacity=s(t),r+""}}}var B=F(s),N=F(c);function j(t){return function(r,n){var a=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),i=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.c=i(t),r.l=o(t),r.opacity=s(t),r+""}}}var V=j(s),U=j(c);function q(t){return function r(n){function a(r,a){var i=t((r=e.cubehelix(r)).h,(a=e.cubehelix(a)).h),o=c(r.s,a.s),s=c(r.l,a.l),l=c(r.opacity,a.opacity);return function(t){return r.h=i(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+""}}return n=+n,a.gamma=r,a}(1)}var H=q(s),G=q(c);t.interpolate=_,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=a,t.interpolateDate=g,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateNumber=v,t.interpolateObject=m,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=b,t.interpolateTransformCss=C,t.interpolateTransformSvg=P,t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<D)n=Math.log(c/o)/O,r=function(t){return[a+t*u,i+t*h,o*Math.exp(O*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+I*f)/(2*o*z*p),g=(c*c-o*o-I*f)/(2*c*z*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/O,r=function(t){var e,r=t*n,s=R(v),l=o/(z*p)*(s*(e=O*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/R(O*r+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateHsl=B,t.interpolateHslLong=N,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),a=c(t.a,r.a),i=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=a(e),t.b=i(e),t.opacity=o(e),t+""}},t.interpolateHcl=V,t.interpolateHclLong=U,t.interpolateCubehelix=H,t.interpolateCubehelixLong=G,t.piecewise=function(t,e){for(var r=0,n=e.length-1,a=e[0],i=new Array(n<0?0:n);r<n;)i[r]=t(a,a=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return i[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-color")):a(n.d3=n.d3||{},n.d3)},{"d3-color":155}],160:[function(t,e,r){var n;n=this,function(t){"use strict";var e=Math.PI,r=2*e,n=r-1e-6;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function i(){return new a}a.prototype=i.prototype={constructor:a,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,a,i){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+a)+","+(this._y1=+i)},arcTo:function(t,r,n,a,i){t=+t,r=+r,n=+n,a=+a,i=+i;var o=this._x1,s=this._y1,l=n-t,c=a-r,u=o-t,h=s-r,f=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=r);else if(f>1e-6)if(Math.abs(h*l-c*u)>1e-6&&i){var p=n-o,d=a-s,g=l*l+c*c,v=p*p+d*d,m=Math.sqrt(g),y=Math.sqrt(f),x=i*Math.tan((e-Math.acos((g+f-v)/(2*m*y)))/2),b=x/y,_=x/m;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(r+b*h)),this._+="A"+i+","+i+",0,0,"+ +(h*p>u*d)+","+(this._x1=t+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=t)+","+(this._y1=r);else;},arc:function(t,a,i,o,s,l){t=+t,a=+a;var c=(i=+i)*Math.cos(o),u=i*Math.sin(o),h=t+c,f=a+u,p=1^l,d=l?o-s:s-o;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+h+","+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+h+","+f),i&&(d<0&&(d=d%r+r),d>n?this._+="A"+i+","+i+",0,1,"+p+","+(t-c)+","+(a-u)+"A"+i+","+i+",0,1,"+p+","+(this._x1=h)+","+(this._y1=f):d>1e-6&&(this._+="A"+i+","+i+",0,"+ +(d>=e)+","+p+","+(this._x1=t+i*Math.cos(s))+","+(this._y1=a+i*Math.sin(s))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},t.path=i,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],161:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var a,i,o,s,l,c,u,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o,a=p,!(p=p[h=u<<1|c]))return a[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,a?a[h]=d:t._root=d,t;do{a=a?a[h]=new Array(4):t._root=new Array(4),(c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=i));return a[f]=p,a[h]=d,t}var r=function(t,e,r,n,a){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=a};function n(t){return t[0]}function a(t){return t[1]}function i(t,e,r){var i=new o(null==e?n:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function o(t,e,r,n,a,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=a,this._y1=i,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=i.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var a=0;a<4;++a)(e=n.source[a])&&(e.length?t.push({source:e,target:n.target[a]=new Array(4)}):n.target[a]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,a,i,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(a=+this._x.call(null,r=t[n]))||isNaN(i=+this._y.call(null,r))||(s[n]=a,l[n]=i,a<c&&(c=a),a>h&&(h=a),i<u&&(u=i),i>f&&(f=i));for(h<c&&(c=this._x0,h=this._x1),f<u&&(u=this._y0,f=this._y1),this.cover(c,u).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,a=this._x1,i=this._y1;if(isNaN(r))a=(r=Math.floor(t))+1,i=(n=Math.floor(e))+1;else{if(!(r>t||t>a||n>e||e>i))return this;var o,s,l=a-r,c=this._root;switch(s=(e<(n+i)/2)<<1|t<(r+a)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),t>(a=r+l)||e>i);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),(r=a-l)>t||e>i);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),t>(a=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),(r=a-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=a,this._y1=i,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var a,i,o,s,l,c,u,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(v=c.node)||(i=c.x0)>p||(o=c.y0)>d||(s=c.x1)<h||(l=c.y1)<f))if(v.length){var m=(i+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],i,y,m,l),new r(v[1],m,o,s,y),new r(v[0],i,o,m,y)),(u=(e>=y)<<1|t>=m)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,a=v.data}}return a},l.remove=function(t){if(isNaN(i=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,a,i,o,s,l,c,u,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((c=i>=(s=(d+v)/2))?d=s:v=s,(u=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(a=p.next)&&delete p.next,n?(a?n.next=a:delete n.next,this):e?(a?e[h]=a:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=a,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,a,i,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,a=e.x0,i=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(a+o)/2,h=(i+s)/2;(n=c[3])&&l.push(new r(n,u,h,o,s)),(n=c[2])&&l.push(new r(n,a,h,u,s)),(n=c[1])&&l.push(new r(n,u,i,o,h)),(n=c[0])&&l.push(new r(n,a,i,u,h))}return this},l.visitAfter=function(t){var e,n=[],a=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,h=(s+c)/2,f=(l+u)/2;(o=i[0])&&n.push(new r(o,s,l,h,f)),(o=i[1])&&n.push(new r(o,h,l,c,f)),(o=i[2])&&n.push(new r(o,s,f,h,u)),(o=i[3])&&n.push(new r(o,h,f,c,u))}a.push(e)}for(;e=a.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=i,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],162:[function(t,e,r){var n,a;n=this,a=function(t,e){"use strict";function r(t){return function(){return t}}var n=Math.abs,a=Math.atan2,i=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=1e-12,h=Math.PI,f=h/2,p=2*h;function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function g(t){return t.innerRadius}function v(t){return t.outerRadius}function m(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,a,i,s){var l=t-r,u=e-n,h=(s?i:-i)/c(l*l+u*u),f=h*u,p=-h*l,d=t+f,g=e+p,v=r+f,m=n+p,y=(d+v)/2,x=(g+m)/2,b=v-d,_=m-g,w=b*b+_*_,k=a-i,T=d*m-v*g,A=(_<0?-1:1)*c(o(0,k*k*w-T*T)),M=(T*_-b*A)/w,S=(-T*b-_*A)/w,E=(T*_+b*A)/w,L=(-T*b+_*A)/w,C=M-y,P=S-x,O=E-y,z=L-x;return C*C+P*P>O*O+z*z&&(M=E,S=L),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(a/k-1),y11:S*(a/k-1)}}function _(t){this._context=t}function w(t){return new _(t)}function k(t){return t[0]}function T(t){return t[1]}function A(){var t=k,n=T,a=r(!0),i=null,o=w,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==i&&(s=o(u=e.path())),l=0;l<=h;++l)!(l<h&&a(c=r[l],l,r))===f&&((f=!f)?s.lineStart():s.lineEnd()),f&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+""||null}return l.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(a="function"==typeof t?t:r(!!t),l):a},l.curve=function(t){return arguments.length?(o=t,null!=i&&(s=o(i)),l):o},l.context=function(t){return arguments.length?(null==t?i=s=null:s=o(i=t),l):i},l}function M(){var t=k,n=null,a=r(0),i=T,o=r(!0),s=null,l=w,c=null;function u(r){var u,h,f,p,d,g=r.length,v=!1,m=new Array(g),y=new Array(g);for(null==s&&(c=l(d=e.path())),u=0;u<=g;++u){if(!(u<g&&o(p=r[u],u,r))===v)if(v=!v)h=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),f=u-1;f>=h;--f)c.point(m[f],y[f]);c.lineEnd(),c.areaEnd()}v&&(m[u]=+t(p,u,r),y[u]=+a(p,u,r),c.point(n?+n(p,u,r):m[u],i?+i(p,u,r):y[u]))}if(d)return c=null,d+""||null}function h(){return A().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i=null,u):a},u.y0=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),u):a},u.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:r(+t),u):i},u.lineX0=u.lineY0=function(){return h().x(t).y(a)},u.lineY1=function(){return h().x(t).y(i)},u.lineX1=function(){return h().x(n).y(a)},u.defined=function(t){return arguments.length?(o="function"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function S(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function E(t){return t}_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=P(w);function C(t){this._curve=t}function P(t){function e(e){return new C(t(e))}return e._curve=t,e}function O(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function z(){return O(A().curve(L))}function I(){var t=M().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return O(r())},delete t.lineX0,t.lineEndAngle=function(){return O(n())},delete t.lineX1,t.lineInnerRadius=function(){return O(a())},delete t.lineY0,t.lineOuterRadius=function(){return O(i())},delete t.lineY1,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function D(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}C.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var R=Array.prototype.slice;function F(t){return t.source}function B(t){return t.target}function N(t){var n=F,a=B,i=k,o=T,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=a.apply(this,l);if(s||(s=r=e.path()),t(s,+i.apply(this,(l[0]=c,l)),+o.apply(this,l),+i.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(a=t,l):a},l.x=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),l):i},l.y=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function j(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,a,n,a)}function V(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+a)/2,n,r,n,a)}function U(t,e,r,n,a){var i=D(e,r),o=D(e,r=(r+a)/2),s=D(n,r),l=D(n,a);t.moveTo(i[0],i[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(t,e){var r=Math.sqrt(e/h);t.moveTo(r,0),t.arc(0,0,r,0,p)}},H={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},G=Math.sqrt(1/3),Y=2*G,W={draw:function(t,e){var r=Math.sqrt(e/Y),n=r*G;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(h/10)/Math.sin(7*h/10),Z=Math.sin(p/10)*X,J=-Math.cos(p/10)*X,K={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=Z*r,a=J*r;t.moveTo(0,-r),t.lineTo(n,a);for(var i=1;i<5;++i){var o=p*i/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*a,l*n+s*a)}t.closePath()}},Q={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},$=Math.sqrt(3),tt={draw:function(t,e){var r=-Math.sqrt(e/(3*$));t.moveTo(0,2*r),t.lineTo(-$*r,-r),t.lineTo($*r,-r),t.closePath()}},et=-.5,rt=Math.sqrt(3)/2,nt=1/Math.sqrt(12),at=3*(nt/2+1),it={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,a=r*nt,i=n,o=r*nt+r,s=-i,l=o;t.moveTo(n,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(et*n-rt*a,rt*n+et*a),t.lineTo(et*i-rt*o,rt*i+et*o),t.lineTo(et*s-rt*l,rt*s+et*l),t.lineTo(et*n+rt*a,et*a-rt*n),t.lineTo(et*i+rt*o,et*o-rt*i),t.lineTo(et*s+rt*l,et*l-rt*s),t.closePath()}},ot=[q,H,W,Q,K,tt,it];function st(){}function lt(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ct(t){this._context=t}function ut(t){this._context=t}function ht(t){this._context=t}function ft(t,e){this._basis=new ct(t),this._beta=e}ct.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:lt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ut.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,a=t[0],i=e[0],o=t[r]-a,s=e[r]-i,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+n*o),this._beta*e[l]+(1-this._beta)*(i+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var pt=function t(e){function r(t){return 1===e?new ct(t):new ft(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function dt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function gt(t,e){this._context=t,this._k=(1-e)/6}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:dt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new gt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var yt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function xt(t,e){this._context=t,this._k=(1-e)/6}xt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var bt=function t(e){function r(t){return new xt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function _t(t,e,r){var n=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>u){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>u){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*c+t._x1*t._l23_2a-e*t._l12_2a)/h,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,a,i,o,t._x2,t._y2)}function wt(t,e){this._context=t,this._alpha=e}wt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new wt(t,e):new gt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var At=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Mt(t,e){this._context=t,this._alpha=e}Mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var St=function t(e){function r(t){return e?new Mt(t,e):new xt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Et(t){this._context=t}function Lt(t){return t<0?-1:1}function Ct(t,e,r){var n=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(n||a<0&&-0),o=(r-t._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(Lt(i)+Lt(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function Pt(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Ot(t,e,r){var n=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,a+s*e,i-s,o-s*r,i,o)}function zt(t){this._context=t}function It(t){this._context=new Dt(t)}function Dt(t){this._context=t}function Rt(t){this._context=t}function Ft(t){var e,r,n=t.length-1,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)a[e]=1,i[e]=4,o[e]=4*t[e]+2*t[e+1];for(a[n-1]=2,i[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=a[e]/i[e-1],i[e]-=r,o[e]-=r*o[e-1];for(a[n-1]=o[n-1]/i[n-1],e=n-2;e>=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-a[e+1];return[a,i]}function Bt(t,e){this._context=t,this._t=e}function Nt(t,e){if((a=t.length)>1)for(var r,n,a,i=1,o=t[e[0]],s=o.length;i<a;++i)for(n=o,o=t[e[i]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function jt(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ut(t){var e=t.map(qt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function qt(t){for(var e,r=-1,n=0,a=t.length,i=-1/0;++r<a;)(e=+t[r][1])>i&&(i=e,n=r);return n}function Ht(t){var e=t.map(Gt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function Gt(t){for(var e,r=0,n=-1,a=t.length;++n<a;)(e=+t[n][1])&&(r+=e);return r}Et.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Ot(this,this._t0,Pt(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Ot(this,Pt(this,r=Ct(this,t,e)),r);break;default:Ot(this,this._t0,r=Ct(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(It.prototype=Object.create(zt.prototype)).point=function(t,e){zt.prototype.point.call(this,e,t)},Dt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,a,i){this._context.bezierCurveTo(e,t,n,r,i,a)}},Rt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Ft(t),a=Ft(e),i=0,o=1;o<r;++i,++o)this._context.bezierCurveTo(n[0][i],a[0][i],n[1][i],a[1][i],t[o],e[o]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=v,_=r(0),w=null,k=m,T=y,A=x,M=null;function S(){var r,g,v,m=+t.apply(this,arguments),y=+o.apply(this,arguments),x=k.apply(this,arguments)-f,S=T.apply(this,arguments)-f,E=n(S-x),L=S>x;if(M||(M=r=e.path()),y<m&&(g=y,y=m,m=g),y>u)if(E>p-u)M.moveTo(y*i(x),y*l(x)),M.arc(0,0,y,x,S,!L),m>u&&(M.moveTo(m*i(S),m*l(S)),M.arc(0,0,m,S,x,L));else{var C,P,O=x,z=S,I=x,D=S,R=E,F=E,B=A.apply(this,arguments)/2,N=B>u&&(w?+w.apply(this,arguments):c(m*m+y*y)),j=s(n(y-m)/2,+_.apply(this,arguments)),V=j,U=j;if(N>u){var q=d(N/m*l(B)),H=d(N/y*l(B));(R-=2*q)>u?(I+=q*=L?1:-1,D-=q):(R=0,I=D=(x+S)/2),(F-=2*H)>u?(O+=H*=L?1:-1,z-=H):(F=0,O=z=(x+S)/2)}var G=y*i(O),Y=y*l(O),W=m*i(D),X=m*l(D);if(j>u){var Z,J=y*i(z),K=y*l(z),Q=m*i(I),$=m*l(I);if(E<h&&(Z=function(t,e,r,n,a,i,o,s){var l=r-t,c=n-e,h=o-a,f=s-i,p=f*l-h*c;if(!(p*p<u))return[t+(p=(h*(e-i)-f*(t-a))/p)*l,e+p*c]}(G,Y,Q,$,J,K,W,X))){var tt=G-Z[0],et=Y-Z[1],rt=J-Z[0],nt=K-Z[1],at=1/l(((v=(tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))>1?0:v<-1?h:Math.acos(v))/2),it=c(Z[0]*Z[0]+Z[1]*Z[1]);V=s(j,(m-it)/(at-1)),U=s(j,(y-it)/(at+1))}}F>u?U>u?(C=b(Q,$,G,Y,y,U,L),P=b(J,K,W,X,y,U,L),M.moveTo(C.cx+C.x01,C.cy+C.y01),U<j?M.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(P.y01,P.x01),!L):(M.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(C.y11,C.x11),!L),M.arc(0,0,y,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),!L),M.arc(P.cx,P.cy,U,a(P.y11,P.x11),a(P.y01,P.x01),!L))):(M.moveTo(G,Y),M.arc(0,0,y,O,z,!L)):M.moveTo(G,Y),m>u&&R>u?V>u?(C=b(W,X,J,K,m,-V,L),P=b(G,Y,Q,$,m,-V,L),M.lineTo(C.cx+C.x01,C.cy+C.y01),V<j?M.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(P.y01,P.x01),!L):(M.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(C.y11,C.x11),!L),M.arc(0,0,m,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),L),M.arc(P.cx,P.cy,V,a(P.y11,P.x11),a(P.y01,P.x01),!L))):M.arc(0,0,m,D,I,L):M.lineTo(W,X)}else M.moveTo(0,0);if(M.closePath(),r)return M=null,r+""||null}return S.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +T.apply(this,arguments))/2-h/2;return[i(r)*e,l(r)*e]},S.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),S):t},S.outerRadius=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),S):o},S.cornerRadius=function(t){return arguments.length?(_="function"==typeof t?t:r(+t),S):_},S.padRadius=function(t){return arguments.length?(w=null==t?null:"function"==typeof t?t:r(+t),S):w},S.startAngle=function(t){return arguments.length?(k="function"==typeof t?t:r(+t),S):k},S.endAngle=function(t){return arguments.length?(T="function"==typeof t?t:r(+t),S):T},S.padAngle=function(t){return arguments.length?(A="function"==typeof t?t:r(+t),S):A},S.context=function(t){return arguments.length?(M=null==t?null:t,S):M},S},t.area=M,t.line=A,t.pie=function(){var t=E,e=S,n=null,a=r(0),i=r(p),o=r(0);function s(r){var s,l,c,u,h,f=r.length,d=0,g=new Array(f),v=new Array(f),m=+a.apply(this,arguments),y=Math.min(p,Math.max(-p,i.apply(this,arguments)-m)),x=Math.min(Math.abs(y)/f,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<f;++s)(h=v[g[s]=s]=+t(r[s],s,r))>0&&(d+=h);for(null!=e?g.sort(function(t,r){return e(v[t],v[r])}):null!=n&&g.sort(function(t,e){return n(r[t],r[e])}),s=0,c=d?(y-f*b)/d:0;s<f;++s,m=u)l=g[s],u=m+((h=v[l])>0?h*c:0)+b,v[l]={data:r[l],index:s,value:h,startAngle:m,endAngle:u,padAngle:x};return v}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),s):a},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),s):i},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),s):o},s},t.areaRadial=I,t.radialArea=I,t.lineRadial=z,t.radialLine=z,t.pointRadial=D,t.linkHorizontal=function(){return N(j)},t.linkVertical=function(){return N(V)},t.linkRadial=function(){var t=N(U);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){var t=r(q),n=r(64),a=null;function i(){var r;if(a||(a=r=e.path()),t.apply(this,arguments).draw(a,+n.apply(this,arguments)),r)return a=null,r+""||null}return i.type=function(e){return arguments.length?(t="function"==typeof e?e:r(e),i):t},i.size=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),i):n},i.context=function(t){return arguments.length?(a=null==t?null:t,i):a},i},t.symbols=ot,t.symbolCircle=q,t.symbolCross=H,t.symbolDiamond=W,t.symbolSquare=Q,t.symbolStar=K,t.symbolTriangle=tt,t.symbolWye=it,t.curveBasisClosed=function(t){return new ut(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBasis=function(t){return new ct(t)},t.curveBundle=pt,t.curveCardinalClosed=yt,t.curveCardinalOpen=bt,t.curveCardinal=vt,t.curveCatmullRomClosed=At,t.curveCatmullRomOpen=St,t.curveCatmullRom=kt,t.curveLinearClosed=function(t){return new Et(t)},t.curveLinear=w,t.curveMonotoneX=function(t){return new zt(t)},t.curveMonotoneY=function(t){return new It(t)},t.curveNatural=function(t){return new Rt(t)},t.curveStep=function(t){return new Bt(t,.5)},t.curveStepAfter=function(t){return new Bt(t,1)},t.curveStepBefore=function(t){return new Bt(t,0)},t.stack=function(){var t=r([]),e=jt,n=Nt,a=Vt;function i(r){var i,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(i=0;i<c;++i){for(var h,f=s[i],p=u[i]=new Array(l),d=0;d<l;++d)p[d]=h=[0,+a(r[d],f,d,r)],h.data=r[d];p.key=f}for(i=0,o=e(u);i<c;++i)u[o[i]].index=i;return n(u,o),u}return i.keys=function(e){return arguments.length?(t="function"==typeof e?e:r(R.call(e)),i):t},i.value=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i):a},i.order=function(t){return arguments.length?(e=null==t?jt:"function"==typeof t?t:r(R.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?Nt:t,i):n},i},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,a,i=0,o=t[0].length;i<o;++i){for(a=r=0;r<n;++r)a+=t[r][i][1]||0;if(a)for(r=0;r<n;++r)t[r][i][1]/=a}Nt(t,e)}},t.stackOffsetDiverging=function(t,e){if((s=t.length)>1)for(var r,n,a,i,o,s,l=0,c=t[e[0]].length;l<c;++l)for(i=o=0,r=0;r<s;++r)(a=(n=t[e[r]][l])[1]-n[0])>=0?(n[0]=i,n[1]=i+=a):a<0?(n[1]=o,n[0]=o+=a):n[0]=i},t.stackOffsetNone=Nt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,a=t[e[0]],i=a.length;n<i;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;a[n][1]+=a[n][0]=-s/2}Nt(t,e)}},t.stackOffsetWiggle=function(t,e){if((a=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,a,i=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<a;++s){for(var u=t[e[s]],h=u[o][1]||0,f=(h-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];f+=(d[o][1]||0)-(d[o-1][1]||0)}l+=h,c+=f*h}r[o-1][1]+=r[o-1][0]=i,l&&(i-=c/l)}r[o-1][1]+=r[o-1][0]=i,Nt(t,e)}},t.stackOrderAppearance=Ut,t.stackOrderAscending=Ht,t.stackOrderDescending=function(t){return Ht(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,a=t.map(Gt),i=Ut(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=i[e],o<s?(o+=a[r],l.push(r)):(s+=a[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=jt,t.stackOrderReverse=function(t){return jt(t).reverse()},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-path")):a(n.d3=n.d3||{},n.d3)},{"d3-path":160}],163:[function(t,e,r){var n;n=this,function(t){"use strict";var e,r,n=0,a=0,i=0,o=1e3,s=0,l=0,c=0,u="object"==typeof performance&&performance.now?performance:Date,h="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=u.now())+c,n=a=0;try{v()}finally{n=0,function(){var t,n,a=e,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),t=a,a=a._next):(n=a._next,a._next=null,a=t?t._next=n:e=n);r=t,x(i)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(a&&(a=clearTimeout(a)),t-l>24?(t<1/0&&(a=setTimeout(m,t-u.now()-c)),i&&(i=clearInterval(i))):(i||(s=u.now(),i=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,a){if("function"!=typeof t)throw new TypeError("callback is not a function");a=(null==a?f():+a)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=a,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,a=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function i(o){o+=a,n.restart(i,a+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],164:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(a)try{n(a.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,h=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){h.call(this,t,e+"",r)}}function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=f,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(n=t[i])&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=t[i])&&(r>n&&(r=n),a<n&&(a=n))}else{for(;++i<o;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=e.call(t,t[i],i))&&(r>n&&(r=n),a<n&&(a=n))}return[r,a]},t.sum=function(t,e){var r,n=0,a=t.length,i=-1;if(1===arguments.length)for(;++i<a;)d(r=+t[i])&&(n+=r);else for(;++i<a;)d(r=+e.call(t,t[i],i))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,a=t.length,i=-1,o=a;if(1===arguments.length)for(;++i<a;)d(r=p(t[i]))?n+=r:--o;else for(;++i<a;)d(r=p(e.call(t,t[i],i)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),a=+t[n-1],i=r-n;return i?a+i*(t[n]-a):a},t.median=function(e,r){var n,a=[],i=e.length,o=-1;if(1===arguments.length)for(;++o<i;)d(n=p(e[o]))&&a.push(n);else for(;++o<i;)d(n=p(r.call(e,e[o],o)))&&a.push(n);if(a.length)return t.quantile(a.sort(f),.5)},t.variance=function(t,e){var r,n,a=t.length,i=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<a;)d(r=p(t[s]))&&(o+=(n=r-i)*(r-(i+=n/++l)));else for(;++s<a;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-i)*(r-(i+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e<r;)a[e]=[n,n=t[++e]];return a},t.transpose=function(e){if(!(i=e.length))return[];for(var r=-1,n=t.min(e,m),a=new Array(n);++r<n;)for(var i,o=-1,s=a[r]=new Array(i);++o<i;)s[o]=e[o][r];return a},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,a=[],i=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)<e;)a.push(n/i);return a},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,a=-1,i=t.length;if(1===arguments.length)for(;++a<i;)r.set(a,t[a]);else for(;++a<i;)r.set(e.call(t,n=t[a],a),n)}else for(var o in t)r.set(o,t[o]);return r};var _="__proto__",w="\0";function k(t){return(t+="")===_||t[0]===w?w+t:t}function T(t){return(t+="")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function M(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(T(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function L(){for(var t in this._)return!1;return!0}function C(){this._=Object.create(null)}function P(t){return t}function O(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function z(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=I.length;r<n;++r){var a=I[r]+e;if(a in t)return a}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:M,keys:S,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},a=[],i=[];function o(t,i,s){if(s>=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,c,u,h,f=-1,p=i.length,d=a[s++],g=new b;++f<p;)(h=g.get(l=d(c=i[f])))?h.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=a.length)return e;var n=[],o=i[r++];return e.forEach(function(e,a){n.push({key:e,values:t(a,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(C,{has:A,add:function(t){return this._[k(t+="")]=!0,t},remove:M,values:S,size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,a=arguments.length;++n<a;)t[r=arguments[n]]=O(t,e,e[r]);return t};var I=["webkit","ms","moz","Moz","o","O"];function D(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,a=-1,i=n.length;++a<i;)(r=n[a].on)&&r.apply(this,arguments);return t}return n.on=function(n,a){var i,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(n)),a&&e.push(r.set(n,{on:a})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,a=arguments.length;++n<a;)r[arguments[n]]=F(r);return r.of=function(n,a){return function(i){try{var o=i.sourceEvent=t.event;i.target=e,t.event=i,r[i.type].apply(n,a)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.prototype.on=function(t,e){var r=t.indexOf("."),n="";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,W),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},Y=function(t,e){var r=t.matches||t[z(t,"matchesSelector")];return(Y=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,Y=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var W=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}W.select=function(t){var e,r,n,a,i=[];t=X(t);for(var o=-1,s=this.length;++o<s;){i.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(a=n[l])?(e.push(r=t.call(a,a.__data__,l,o)),r&&"__data__"in a&&(r.__data__=a.__data__)):e.push(null)}return q(i)},W.selectAll=function(t){var e,r,a=[];t=Z(t);for(var i=-1,o=this.length;++i<o;)for(var s=this[i],l=-1,c=s.length;++l<c;)(r=s[l])&&(a.push(e=n(t.call(r,r.__data__,l,i))),e.parentNode=r);return q(a)};var J="http://www.w3.org/1999/xhtml",K={svg:"http://www.w3.org/2000/svg",xhtml:J,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Q(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:"function"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function $(t){return t.trim().replace(/\s+/g," ")}function tt(e){return new RegExp("(?:^|\\s+)"+t.requote(e)+"(?:\\s+|$)","g")}function et(t){return(t+"").trim().split(/^|\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return"function"==typeof e?function(){for(var n=-1,a=e.apply(this,arguments);++n<r;)t[n](this,a)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(a=r.classList)return n?a.add(t):a.remove(t);var a=r.getAttribute("class")||"";n?(e.lastIndex=0,e.test(a)||r.setAttribute("class",$(a+" "+t))):r.setAttribute("class",$(a.replace(e," ")))}}function at(t,e,r){return null==e?function(){this.style.removeProperty(t)}:"function"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function it(t,e){return null==e?function(){delete this[t]}:"function"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return"function"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return Y(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var a,i=t[r],o=0,s=i.length;o<s;o++)(a=i[o])&&e(a,o,r);return t}function ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(":"),r=t;return e>=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},W.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},W.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,a=-1;if(e=r.classList){for(;++a<n;)if(!e.contains(t[a]))return!1}else for(e=r.getAttribute("class");++a<n;)if(!tt(t[a]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},W.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.each(at(r,t[r],e));return this}if(n<2){var a=this.node();return o(a).getComputedStyle(a,null).getPropertyValue(t)}r=""}return this.each(at(t,e,r))},W.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(it(e,t[e]));return this}return this.each(it(t,e))},W.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},W.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},W.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},W.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},W.remove=function(){return this.each(st)},W.data=function(t,e){var r,n,a=-1,i=this.length;if(!arguments.length){for(t=new Array(i=(r=this[0]).length);++a<i;)(n=r[a])&&(t[a]=n.__data__);return t}function o(t,r){var n,a,i,o=t.length,u=r.length,h=Math.min(o,u),f=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(a=t[n])&&(v.has(g=e.call(a,a.__data__,n))?d[n]=a:v.set(g,a),m[n]=g);for(n=-1;++n<u;)(a=v.get(g=e.call(r,i=r[n],n)))?!0!==a&&(f[n]=a,a.__data__=i):p[n]=lt(i),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)a=t[n],i=r[n],a?(a.__data__=i,f[n]=a):p[n]=lt(i);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=f,p.parentNode=f.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(f),c.push(d)}var s=ht([]),l=q([]),c=q([]);if("function"==typeof t)for(;++a<i;)o(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<i;)o(r=this[a],t);return l.enter=function(){return s},l.exit=function(){return c},l},W.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},W.filter=function(t){var e,r,n,a=[];"function"!=typeof t&&(t=ct(t));for(var i=0,o=this.length;i<o;i++){a.push(e=[]),e.parentNode=(r=this[i]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,i)&&e.push(n)}return q(a)},W.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],a=n.length-1,i=n[a];--a>=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},W.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},W.each=function(t){return ut(this,function(e,r,n){t.call(e,e.__data__,r,n)})},W.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},W.empty=function(){return!this.node()},W.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,a=r.length;n<a;n++){var i=r[n];if(i)return i}return null},W.size=function(){var t=0;return ut(this,function(){++t}),t};var ft=[];function pt(e,r,a){var i="__on"+e,o=e.indexOf("."),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?D:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=W.append,ft.empty=W.empty,ft.node=W.node,ft.call=W.call,ft.size=W.size,ft.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s<l;){n=(a=this[s]).update,o.push(e=[]),e.parentNode=a.parentNode;for(var c=-1,u=a.length;++c<u;)(i=a[c])?(e.push(n[c]=r=t.call(a.parentNode,i.__data__,c,s)),r.__data__=i.__data__):e.push(null)}return q(o)},ft.insert=function(t,e){var r,n,a;return arguments.length<2&&(r=this,e=function(t,e,i){var o,s=r[i].update,l=s.length;for(i!=a&&(a=i,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),W.insert.call(this,t,e)},t.select=function(t){var e;return"string"==typeof t?(e=[H(t,a)]).parentNode=a.documentElement:(e=[t]).parentNode=i(t),q([e])},t.selectAll=function(t){var e;return"string"==typeof t?(e=n(G(t,a))).parentNode=a.documentElement:(e=n(t)).parentNode=null,q([e])},W.on=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()["__on"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:"mouseover",mouseleave:"mouseout"});function gt(e,r){return function(n){var a=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=a}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}a&&dt.forEach(function(t){"on"+t in a&&dt.remove(t)});var mt,yt=0;function xt(e){var r=".dragsuppress-"+ ++yt,n="click"+r,a=t.select(o(e)).on("touchmove"+r,B).on("dragstart"+r,B).on("selectstart"+r,B);if(null==mt&&(mt=!("onselectstart"in e)&&z(e.style,"userSelect")),mt){var s=i(e).style,l=s[mt];s[mt]="none"}return function(t){if(a.on(r,null),mt&&(s[mt]=l),t){var e=function(){a.on(n,null)};a.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var a=n.createSVGPoint();if(bt<0){var i=o(e);if(i.scrollX||i.scrollY){var s=(n=t.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(a.x=r.pageX,a.y=r.pageY):(a.x=r.clientX,a.y=r.clientY),[(a=a.matrixTransform(e.getScreenCTM().inverse())).x,a.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,a=0,i=e.length;a<i;++a)if((n=e[a]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(i,"drag","dragstart","dragend"),r=null,n=s(D,t.mouse,o,"mousemove","mouseup"),a=s(wt,t.touch,P,"touchmove","touchend");function i(){this.on("mousedown.drag",n).on("touchstart.drag",a)}function s(n,a,i,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=".drag"+(null==p?"":"-"+p),g=t.select(i(c)).on(o+d,function(){var t,e,r=a(u,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!a(u,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:"dragend"})}),v=xt(c),m=a(u,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:"dragstart"})}}return i.origin=function(t){return arguments.length?(r=t,i):r},t.rebind(i,e,"on")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Tt=kt*kt,At=Math.PI,Mt=2*At,St=Mt-kt,Et=At/2,Lt=At/180,Ct=180/At;function Pt(t){return t>0?1:t<0?-1:0}function Ot(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function zt(t){return t>1?0:t<-1?At:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<Tt)n=Math.log(c/o)/Ft,r=function(t){return[a+t*u,i+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),g=(c*c-o*o-4*f)/(2*c*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Dt(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/Dt(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,i,s,l,c,u,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m="mousedown.zoom",y="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=j(w,"zoomstart","zoom","zoomend");function w(t){t.on(m,P).on(Nt+".zoom",z).on("dblclick.zoom",I).on(b,O)}function k(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function T(t){f.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*f.k+f.x,t[1]*f.k+f.y]}(e),f.x+=t[0]-e[0],f.y+=t[1]-e[1]}function M(e,n,a,i){e.__chart__={x:f.x,y:f.y,k:f.k},T(Math.pow(2,i)),A(r=n,a),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(u.range().map(function(t){return(t-f.y)/f.k}).map(u.invert))}function E(t){v++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function C(t){--v||(t({type:"zoomend"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),i),L(r)}).on(x,function(){a.on(y,null).on(x,null),s(n),C(r)}),i=k(t.mouse(e)),s=xt(e);hs.call(e),E(r)}function O(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in a&&(a[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)a[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];M(r,m,a[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];i=b*b+_*_}}function v(){var o,l,c,u,h=t.touches(r);hs.call(r);for(var f=0,p=h.length;f<p;++f,u=null)if(c=h[f],u=a[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=i&&Math.sqrt(d/i);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],T(g*e)}s=null,A(o,l),L(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,i=e.length;r<i;++r)delete a[e[r].identifier];for(var s in a)return void d()}t.selectAll(u).on(o,null),h.on(m,P).on(b,O),p(),C(n)}g(),E(n),h.on(m,null).on(b,g)}function z(){var a=_.of(this,arguments);i?clearTimeout(i):(hs.call(this),e=k(r=n||t.mouse(this)),E(a)),i=setTimeout(function(){i=null,C(a)},50),B(),T(Math.pow(2,.002*Bt())*f.k),A(r,e),L(a)}function I(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;M(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt="onwheel"in a?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(Bt=function(){return t.event.wheelDelta},"mousewheel"):(Bt=function(){return-t.event.detail},"MozMousePixelScroll")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;ds?t.select(this).transition().each("start.zoom",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween("zoom:zoom",function(){var a=p[0],i=p[1],o=r?r[0]:a/2,s=r?r[1]:i/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,a/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,a/n.k]);return function(t){var r=l(t),n=a/r[2];this.__chart__=f={x:o-r[0]*n,y:s-r[1]*n,k:n},L(e)}}).each("interrupt.zoom",function(){C(e)}).each("end.zoom",function(){C(e)}):(this.__chart__=f,E(e),L(e),C(e))})},w.translate=function(t){return arguments.length?(f={x:+t[0],y:+t[1],k:f.k},S(),w):[f.x,f.y]},w.scale=function(t){return arguments.length?(f={x:f.x,y:f.y,k:null},T(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),f={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(h=t,u=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,"on")};var Bt,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(""+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+""},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,a;function i(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ie(i(t+120),i(t),i(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Yt=Gt.prototype=new Vt;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Wt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Xt(t,e,r)}Yt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Yt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Yt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ie(ae(3.2404542*(a=re(a)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(i=re(i)*Qt)),ae(-.969266*a+1.8760108*n+.041556*i),ae(.0556434*a-.2040259*n+1.0572252*i))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ae(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,Ht):new ie(t,e,r)}function oe(t){return new ie(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ie;var le=ie.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(","),n[1]){case"hsl":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case"rgb":return e(de(a[0]),de(a[1]),de(a[2]))}return(i=ge.get(t))?e(i.r,i.g,i.b):(null==t||"#"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function he(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,a=l>0&&l<1?0:n),new Ut(n,a,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),a=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*a-16,500*(n-a),200*(a-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e<a&&(e=a),r&&r<a&&(r=a),n&&n<a&&(n=a),new ie(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ie(a,a,a)},le.darker=function(t){return new ie((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return"#"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function ve(t){return"function"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&"function"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,a,i){var o={},s=t.dispatch("beforesend","progress","load","error"),l={},c=new XMLHttpRequest,u=null;function h(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(e)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return a=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var i in l)c.setRequestHeader(i,l[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on("error",a).on("load",function(t){a(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(P),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=ye(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return a.parse=function(t,e){var r;return a.parseRows(t,function(t,n){if(r)return r(t,n-1);var a=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(a(t),r)}:a})},a.parseRows=function(t,e){var r,a,i={},o={},s=[],l=t.length,c=0,u=0;function h(){if(c>=l)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(a=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(a=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))a=!0;else if(13===s)a=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==i&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,u++))||s.push(f)}return s},a.format=function(e){if(Array.isArray(e[0]))return a.formatRows(e);var r=new C,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join("\n")},a.formatRows=function(t){return t.map(s).join("\n")},a},t.csv=t.dsv(",","text/csv"),t.tsv=t.dsv("\t","text/tab-separated-values");var xe,be,_e,we,ke=this[z(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};function Te(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var a={c:t,t:r+e,n:null};return be?be.n=a:xe=a,be=a,_e||(we=clearTimeout(we),_e=1,ke(Ae)),a}function Ae(){var t=Me(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Te.apply(this,arguments)},t.timer.flush=function(){Me(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Le=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Le[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Pe=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Oe(t){return t+""}var ze=t.time={},Ie=Date;function De(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}De.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r<n-e?r:n}function a(r){return e(r=t(new Ie(r-1)),1),r}function i(t,r){return e(t=new Ie(+t),r),t}function o(t,n,i){var o=a(t),s=[];if(i>1)for(;o<n;)r(o)%i||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=a,t.offset=i,t.range=o;var s=t.utc=Be(t);return s.floor=s,s.round=Be(n),s.ceil=Be(a),s.offset=Be(i),s.range=function(t,e,r){try{Ie=De;var n=new De;return n._=t,o(n,e,r)}finally{Ie=Date}},t}function Be(t){return function(e,r){try{Ie=De;var n=new De;return n._=e,t(n,r)._}finally{Ie=Date}}}ze.year=Fe(function(t){return(t=ze.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),ze.years=ze.year.range,ze.years.utc=ze.year.utc.range,ze.day=Fe(function(t){var e=new Ie(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),ze.days=ze.day.range,ze.days.utc=ze.day.utc.range,ze.dayOfYear=function(t){var e=ze.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var r=ze[t]=Fe(function(t){return(t=ze.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=ze.year(t).getDay();return Math.floor((ze.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});ze[t+"s"]=r.range,ze[t+"s"].utc=r.utc.range,ze[t+"OfYear"]=function(t){var r=ze.year(t).getDay();return Math.floor((ze.dayOfYear(t)+(r+e)%7)/7)}}),ze.week=ze.sunday,ze.weeks=ze.sunday.range,ze.weeks.utc=ze.sunday.utc.range,ze.weekOfYear=ze.sundayOfYear;var Ne={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?"-":"",a=(n?-t:t)+"",i=a.length;return n+(i<r?new Array(r-i+1).join(e)+a:a)}function qe(e){return new RegExp("^(?:"+e.map(t.requote).join("|")+")","i")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,a=je.exec(e.slice(r,r+2));return a?(t.y=(n=+a[0])+(n>68?1900:2e3),r+a[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ar(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,a=y(e)%60;return r+Ue(n,"0",2)+Ue(a,"0",2)}function ir(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,a=e.grouping,i=e.currency,o=a&&n?function(t,e){for(var r=t.length,i=[],o=0,s=a[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:P;return function(e){var n=Ce.exec(e),a=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v="",m="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===a&&"="===s)&&(u=a="0",s="="),d){case"n":f=!0,d="g";break;case"%":g=100,m="%",d="f";break;case"p":g=100,m="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(v=i[0],m=i[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=Pe.get(d)||Oe;var b=u&&f;return function(e){var n=m;if(y&&e%1)return"";var i=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+m}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var T=x?e.lastIndexOf("e"):-1;T<0?(_=e,w=""):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&f&&(_=o(_,1/0));var A=v.length+_.length+w.length+(b?0:i.length),M=A<h?new Array(A=h-A+1).join(a):"";return b&&(_=o(M+_,M.length?h-w.length:1/0)),i+=v,e=_+w,("<"===s?i+e+M:">"===s?M+i+e:"^"===s?M.substring(0,A>>=1)+i+e+M.substring(A):i+(b?e:M+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,a=e.time,i=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,a,i,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(a=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(i=_[n])&&(n=i(r,null==a?"e"===n?" ":"0":a)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join("")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(h(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Ie!==De,a=new(n?De:Ie);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?a._:a},r.toString=function(){return t},r}function h(t,e,r,n){for(var a,i,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in Ne?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ie=De);return r._=t,e(r)}finally{Ie=Date}}return r.parse=function(t){try{Ie=De;var r=e.parse(t);return r&&r._}finally{Ie=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(c),b=He(c);i.forEach(function(t,e){f.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+ze.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(ze.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(ze.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ar,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ir};return u}(e)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,a=n-t,i=n-a;r.t=t-i+(e-a)}function hr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&fr.hasOwnProperty(t.type)?fr[t.type](t,e):hr(t,e)};var fr={Feature:function(t,e){hr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,a=r.length;++n<a;)hr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,a=r.length;++n<a;)hr(r[n],e)}};function dr(t,e,r){var n,a=-1,i=t.length-r;for(e.lineStart();++a<i;)n=t[a],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return vr=0,t.geo.stream(e,Lr),vr};var vr,mr,yr,xr,br,_r,wr,kr,Tr,Ar,Mr,Sr,Er=new lr,Lr={sphere:function(){vr+=4*At},point:D,lineStart:D,lineEnd:D,polygonStart:function(){Er.reset(),Lr.lineStart=Cr},polygonEnd:function(){var t=2*Er;vr+=t<0?4*At+t:t,Lr.lineStart=Lr.lineEnd=Lr.point=D}};function Cr(){var t,e,r,n,a;function i(t,e){e=e*Lt/2+At/4;var i=(t*=Lt)-r,o=i>=0?1:-1,s=o*i,l=Math.cos(e),c=Math.sin(e),u=a*c,h=n*l+u*Math.cos(s),f=u*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,a=c}Lr.point=function(o,s){Lr.point=i,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+At/4),a=Math.sin(s)},Lr.lineEnd=function(){i(t,e)}}function Pr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Or(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ir(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Fr(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Br(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,a,i,o,s,l,c,u,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,c=0,Lr.polygonStart()},polygonEnd:function(){Lr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Er<0?(e=-(n=180),r=-(a=90)):c>kt?a=90:c<-kt&&(r=-90),h[0]=e,h[1]=n}};function p(t,i){u.push(h=[e=t,n=t]),i<r&&(r=i),i>a&&(a=i)}function d(t,o){var s=Pr([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var h=t-i,f=h>0?1:-1,d=u[0]*Ct*f,g=y(h)>180;if(g^(f*i<d&&d<f*t))(v=u[1]*Ct)>a&&(a=v);else if(g^(f*i<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-u[1]*Ct)<r&&(r=v)}else o<r&&(r=o),o>a&&(a=o);g?t<i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,i=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-i;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Lr.point(t,e),d(t,e)}function x(){Lr.lineStart()}function b(){m(o,s),Lr.lineEnd(),y(c)>kt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(i){if(a=n=-(e=r=1/0),u=[],t.geo.stream(i,f),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=kr=Tr=Ar=Mr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Mr,a=Sr,i=r*r+n*n+a*a;return i<Tt&&(r=wr,n=kr,a=Tr,yr<kt&&(r=xr,n=br,a=_r),(i=r*r+n*n+a*a)<Tt)?[NaN,NaN]:[Math.atan2(n,r)*Ct,It(a/Math.sqrt(i))*Ct]};var Nr={sphere:D,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Lt;var r=Math.cos(e*=Lt);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++mr,br+=(e-br)/mr,_r+=(r-_r)/mr}function Ur(){var t,e,r;function n(n,a){n*=Lt;var i=Math.cos(a*=Lt),o=i*Math.cos(n),s=i*Math.sin(n),l=Math.sin(a),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),kr+=c*(e+(e=s)),Tr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(a,i){a*=Lt;var o=Math.cos(i*=Lt);t=o*Math.cos(a),e=o*Math.sin(a),r=Math.sin(i),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,a;function i(t,e){t*=Lt;var i=Math.cos(e*=Lt),o=i*Math.cos(t),s=i*Math.sin(t),l=Math.sin(e),c=n*l-a*s,u=a*o-r*l,h=r*s-n*o,f=Math.sqrt(c*c+u*u+h*h),p=r*o+n*s+a*l,d=f&&-zt(p)/f,g=Math.atan2(f,p);Ar+=d*c,Mr+=d*u,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Tr+=g*(a+(a=l)),Vr(r,n,a)}Nr.point=function(o,s){t=o,e=s,Nr.point=i,o*=Lt;var l=Math.cos(s*=Lt);r=l*Math.cos(o),n=l*Math.sin(o),a=Math.sin(s),Vr(r,n,a)},Nr.lineEnd=function(){i(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Yr(){return!0}function Wr(t,e,r,n,a){var i=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){a.lineStart();for(var s=0;s<e;++s)a.point((r=t[s])[0],r[1]);a.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,i.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,i.push(l),o.push(c)}}}),o.sort(e),Xr(i),Xr(o),i.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,h,f=i[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;u=p.z,a.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)a.point((h=u[s])[0],h[1]);else n(p.x,p.n.x,1,a);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)a.point((h=u[s])[0],h[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);a.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n<e;)a.n=r=t[n],r.p=a,a=r;a.n=r=t[0],r.p=a}}function Zr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function Jr(e,r,n,a){return function(i,o){var s,l=r(o),c=i.invert(a[0],a[1]),u={point:h,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=h,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],a=[Math.sin(r),-Math.cos(r),0],i=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var h=c[0],f=h[0],p=h[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===u&&(v=0);var m=(t=c[v])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,k=w*_,T=k>At,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),i+=T?_+w*Mt:_,T^f>=r^m>=r){var M=zr(Pr(h),Pr(t));Rr(M);var S=zr(a,M);Rr(S);var E=(T^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(M[0]||M[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(i<-kt||i<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Wr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(t,r){var n=i(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=i(t,e);l.point(r[0],r[1])}function p(){u.point=f,l.lineStart()}function d(){u.point=h,l.lineEnd()}var g,v,m=Qr(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=i(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var a,i=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i<n;)o.point((a=t[i])[0],a[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var tn=Jr(Yr,function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?At:-At,l=y(i-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=At&&(y(r-a)<kt&&(r-=a*kt),y(i-s)<kt&&(i-=s*kt),n=function(t,e,r,n){var a,i,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var a;if(null==t)a=r*Et,n.point(-At,a),n.point(0,a),n.point(At,a),n.point(At,0),n.point(At,-a),n.point(0,-a),n.point(-At,-a),n.point(-At,0),n.point(-At,a);else if(y(t[0]-e[0])>kt){var i=t[0]<e[0]?At:-At;a=r*i/2,n.point(-i,a),n.point(0,a),n.point(i,a)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(a){var i,o=a.a,s=a.b,l=o.x,c=o.y,u=0,h=1,f=s.x-l,p=s.y-c;if(i=t-l,f||!(i>0)){if(i/=f,f<0){if(i<u)return;i<h&&(h=i)}else if(f>0){if(i>h)return;i>u&&(u=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>u&&(u=i)}else if(f>0){if(i<u)return;i<h&&(h=i)}if(i=e-c,p||!(i>0)){if(i/=p,p<0){if(i<u)return;i<h&&(h=i)}else if(p>0){if(i>h)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>h)return;i>u&&(u=i)}else if(p>0){if(i<u)return;i<h&&(h=i)}return u>0&&(a.a={x:l+u*f,y:c+u*p}),h<1&&(a.b={x:l+h*f,y:c+h*p}),a}}}}}}var rn=1e9;function nn(e,r,n,a){return function(l){var c,u,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,a),k={point:M,lineStart:function(){k.point=S,u&&u.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){c&&(S(f,p),d&&m&&_.rejoin(),c.push(_.buffer()));k.point=M,m&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;a<r;++a)for(var i,o=1,s=u[a],l=s.length,c=s[0];o<l;++o)i=s[o],c[1]<=n?i[1]>n&&Ot(c,i,t)>0&&++e:i[1]<=n&&Ot(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),T(null,null,1,l),l.lineEnd()),i&&Wr(c,o,r,T,l),l.polygonEnd()),c=u=h=null}};function T(t,o,l,c){var u=0,h=0;if(null==t||(u=i(t,l))!==(h=i(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+l+4)%4)!==h);else c.point(o[0],o[1])}function A(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function M(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,v=e,m=r}return k};function i(t,a){return y(t[0]-e)<kt?a>0?0:3:y(t[0]-n)<kt?a>0?2:1:y(t[1]-r)<kt?a>0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Ln(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,It((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],h=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,h-.238*e],[u+.455*e,h+.238*e]]).stream(l).point,n=o.translate([u-.307*e,h+.201*e]).clipExtent([[u-.425*e+kt,h+.12*e+kt],[u-.214*e-kt,h+.234*e-kt]]).stream(l).point,a=s.translate([u-.205*e,h+.212*e]).clipExtent([[u-.214*e+kt,h+.166*e+kt],[u-.115*e-kt,h+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,hn,fn,pn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=D,sn+=y(ln/2)}};function dn(){var t,e,r,n;function a(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(i,o){pn.point=a,t=r=i,e=n=o},pn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>hn&&(hn=t);e<un&&(un=e);e>fn&&(fn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function vn(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function a(t,n){e.push("M",t,",",n),r.point=i}function i(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Tr+=o,bn(t=r,e=n)}xn.point=function(n,a){xn.point=r,bn(t=n,e=a)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Tr+=o,Ar+=(o=n*t-r*e)*(r+t),Mr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(i,o){xn.point=a,bn(t=r=i,e=n=o)},xn.lineEnd=function(){a(t,e)}}function Tn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Mt)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Lt),n=16;function a(e){return(n?function(e){var r,a,o,s,l,c,u,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,a){var o=Pr([r,a]),s=t(r,a);i(h,f,u,p,d,g,h=s[0],f=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=k}function w(t,e){x(r=t,e),a=h,o=f,s=p,l=d,c=g,v.point=x}function k(){i(h,f,u,p,d,g,a,o,r,s,l,c,n,e),v.lineEnd=b,b()}return v}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function i(n,a,o,s,l,c,u,h,f,p,d,g,v,m){var x=u-n,b=h-a,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,k=l+d,T=c+g,A=Math.sqrt(w*w+k*k+T*T),M=Math.asin(T/=A),S=y(y(T)-1)<kt||y(o-f)<kt?(o+f)/2:Math.atan2(k,w),E=t(S,M),L=E[0],C=E[1],P=L-n,O=C-a,z=b*P-x*O;(z*z/_>e||y((x*P+b*O)/_-.5)>.3||s*p+l*d+c*g<r)&&(i(n,a,o,s,l,c,L,C,S,w/=A,k/=A,T,v,m),m.point(L,C),i(L,C,S,w,k,T,u,h,f,p,d,g,v,m))}}return a.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,a):Math.sqrt(e)},a}function Mn(t){this.stream=t}function Sn(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function En(t){return Ln(function(){return t})()}function Ln(e){var r,n,a,i,o,s,l=An(function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]}),c=150,u=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=P,b=null,_=null;function w(t){return[(t=a(t[0]*Lt,t[1]*Lt))[0]*c+i,o-t[1]*c]}function k(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Ct,t[1]*Ct]}function T(){a=Gr(n=zn(d,g,v),r);var t=r(f,p);return i=u-t[0]*c,o=h+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(a,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,f){var p,d=[h,f],g=a(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?At:-At),f):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=i(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=a(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=i(d,e),t.point(p[0],p[1])):(p=i(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=i(d,e,!0))||(u=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Fn(t,6*Lt),r?[0,-t]:[-At,t-At]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=zr(Pr(t),Pr(r)),o=Or(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,h=zr(a,i),f=Dr(a,c);Ir(f,Dr(i,u));var p=h,d=Or(f,p),g=Or(p,p),v=d*d-g*(Or(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Dr(p,(-d-m)/g);if(Ir(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],T=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,M=y(A-At)<kt;if(!M&&T<k&&(b=k,k=T,T=b),M||A<kt?M?k+T>0^x[1]<(y(x[0]-_)<kt?k:T):k<=x[1]&&x[1]<=T:A>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+m)/g);return Ir(S,f),[x,Fr(S)]}}}function o(e,n){var a=r?t:At-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}((b=+t)*Lt),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):P,A()):_},w.scale=function(t){return arguments.length?(c=+t,T()):c},w.translate=function(t){return arguments.length?(u=+t[0],h=+t[1],T()):[u,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Lt,p=t[1]%360*Lt,T()):[f*Ct,p*Ct]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,v=t.length>2?t[2]%360*Lt:0,T()):[d*Ct,g*Ct,v*Ct]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,T()}}function Cn(t){return Sn(t,function(e,r){t.point(e*Lt,r*Lt)})}function Pn(t,e){return[t,e]}function On(t,e){return[t>At?t-Mt:t<-At?t+Mt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),Rn(e,r)):Dn(t):e||r?Rn(e,r):On}function In(t){return function(e,r){return[(e+=t)>At?e-Mt:e<-At?e+Mt:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Rn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*a-u*i,s*r-c*n),It(u*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*a-l*i;return[Math.atan2(l*a+c*i,s*r+u*n),It(u*r-s*n)]},o}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=Bn(r,a),i=Bn(r,i),(o>0?a<i:a>i)&&(a+=o*Mt)):(a=t+o*Mt,i=t-.5*l);for(var c,u=a;o>0?u>i:u<i;u-=l)s.point((c=Fr([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Bn(t,e){var r=Pr(e);r[0]-=t,Rr(r);var n=zt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Nn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[t,e]})}}function jn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[e,t]})}}function Vn(t){return t.source}function Un(t){return t.target}t.geo.path=function(){var e,r,n,a,i,o=4.5;function s(e){return e&&("function"==typeof o&&a.pointRadius(+o.apply(this,arguments)),i&&i.valid||(i=n(a)),t.geo.stream(e,i)),a.result()}function l(){return i=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=kr=Tr=Ar=Mr=Sr=0,t.geo.stream(e,n(xn)),Sr?[Ar/Sr,Mr/Sr]:Tr?[wr/Tr,kr/Tr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,a=An(function(t,e){return r([t*Ct,e*Ct])}),function(t){return Cn(a(t))}):P,l()):e;var r,a},s.context=function(t){return arguments.length?(a=null==(r=t)?new vn:new Tn(t),"function"!=typeof o&&a.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(a.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Mn(e);for(var n in t)r[n]=t[n];return r}}},Mn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},t.geo.projection=En,t.geo.projectionMutator=Ln,(t.geo.equirectangular=function(){return En(Pn)}).raw=Pn.invert=Pn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e}return t=zn(t[0]%360*Lt,t[1]*Lt,t.length>2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e},e},On.invert=Pn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t="function"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Lt,-t[1]*Lt,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Ct,t[1]*=Ct}}),{type:"Polygon",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Fn((t=+r)*Lt,n*Lt),a):t},a.precision=function(r){return arguments.length?(e=Fn(t*Lt,(n=+r)*Lt),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,a=t[1]*Lt,i=e[1]*Lt,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),c=Math.cos(a),u=Math.sin(i),h=Math.cos(i);return Math.atan2(Math.sqrt((r=h*o)*r+(r=c*u-l*h*s)*r),l*u+c*h*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,c,u,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,i,d).filter(function(t){return y(t%v)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},x.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[a,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(m)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,c=Nn(o,i,90),u=jn(r,e,m),h=Nn(l,s,90),f=jn(a,n,m),x):m},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,a=Un;function i(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,a=e[0]*Lt,i=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(a),p=l*Math.sin(a),d=2*Math.asin(Math.sqrt(Rt(i-n)+o*l*Rt(a-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*f,a=r*h+e*p,i=r*s+e*c;return[Math.atan2(a,n)*Ct,Math.atan2(i,Math.sqrt(n*n+a*a))*Ct]}:function(){return[r*Ct,n*Ct]}).distance=d,v;var r,n,a,i,o,s,l,c,u,h,f,p,d,g,v},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Lt),o=Math.cos(a),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}qn.point=function(a,i){t=a*Lt,e=Math.sin(i*=Lt),r=Math.cos(i),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Hn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return En(Gn)}).raw=Gn;var Yn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},P);function Wn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Jn;function o(t,e){i>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=Pt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Et]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)<kt)return Pn;function i(t,e){var r=a-e;return[r*Math.sin(n*t),a-r*Math.cos(n*t)]}return i.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,a-Pt(n)*Math.sqrt(t*t+r*r)]},i}(t.geo.azimuthalEquidistant=function(){return En(Yn)}).raw=Yn,(t.geo.conicConformal=function(){return an(Wn)}).raw=Wn,(t.geo.conicEquidistant=function(){return an(Xn)}).raw=Xn;var Zn=Hn(function(t){return 1/t},Math.atan);function Jn(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Kn(t){var e,r=En(t),n=r.scale,a=r.translate,i=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=a.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=i.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=a();i([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return En(Zn)}).raw=Zn,Jn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Kn(Jn)}).raw=Jn;var Qn=Hn(function(){return 1},Math.asin);(t.geo.orthographic=function(){return En(Qn)}).raw=Qn;var $n=Hn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ta(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ea(t){return t[0]}function ra(t){return t[1]}function na(t){for(var e=t.length,r=[0,1],n=2,a=2;a<e;a++){for(;n>1&&Ot(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function aa(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return En($n)}).raw=$n,ta.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Kn(ta),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ta,t.geom={},t.geom.hull=function(t){var e=ea,r=ra;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=ve(e),i=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+a.call(this,t[n],n),+i.call(this,t[n],n),n]);for(s.sort(aa),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=na(s),u=na(l),h=u[0]===c[0],f=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;n<u.length-f;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ia),t};var ia=t.geom.polygon.prototype=[];function oa(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function sa(t,e,r,n){var a=t[0],i=r[0],o=e[0]-a,s=n[0]-i,l=t[1],c=r[1],u=e[1]-l,h=n[1]-c,f=(s*(l-c)-h*(a-i))/(h*o-s*u);return[a+f*o,l+f*u]}function la(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ia.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],a=0;++e<r;)t=n,n=this[e],a+=t[1]*n[0]-t[0]*n[1];return.5*a},ia.centroid=function(t){var e,r,n=-1,a=this.length,i=0,o=0,s=this[a-1];for(arguments.length||(t=-1/(6*this.area()));++n<a;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],i+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[i*t,o*t]},ia.clip=function(t){for(var e,r,n,a,i,o,s=la(t),l=-1,c=this.length-la(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,a=this[l],i=e[(n=e.length-s)-1],r=-1;++r<n;)oa(o=e[r],u,a)?(oa(i,u,a)||t.push(sa(i,o,u,a)),t.push(o)):oa(i,u,a)&&t.push(sa(i,o,u,a)),i=o;s&&t.push(t[0]),u=a}return t};var ca,ua,ha,fa,pa,da=[],ga=[];function va(){Ia(this),this.edge=this.site=this.circle=null}function ma(t){var e=da.pop()||new va;return e.site=t,e}function ya(t){Sa(t),ha.remove(t),da.push(t),Ia(t)}function xa(t){var e=t.circle,r=e.x,n=e.cy,a={x:r,y:n},i=t.P,o=t.N,s=[t];ya(t);for(var l=i;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)i=l.P,s.unshift(l),ya(l),l=i;s.unshift(l),Sa(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),ya(c),c=o;s.push(c),Sa(c);var u,h=s.length;for(u=1;u<h;++u)c=s[u],l=s[u-1],Pa(c.edge,l.site,c.site,a);l=s[0],(c=s[h-1]).edge=Ca(l.site,c.site,null,a),Ma(l),Ma(c)}function ba(t){for(var e,r,n,a,i=t.x,o=t.y,s=ha._;s;)if((n=_a(s,o)-i)>kt)s=s.L;else{if(!((a=i-wa(s,o))>kt)){n>-kt?(e=s.P,r=s):a>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=ma(t);if(ha.insert(e,l),e||r){if(e===r)return Sa(e),r=ma(e.site),ha.insert(l,r),l.edge=r.edge=Ca(e.site,l.site),Ma(e),void Ma(r);if(r){Sa(e),Sa(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,g=d.x-u,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+u,y:(f*x-g*y)/m+h};Pa(r.edge,c,d,b),l.edge=Ca(c,t,null,b),r.edge=Ca(t,d,null,b),Ma(e),Ma(r)}else l.edge=Ca(e.site,l.site)}}function _a(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/i-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+a-i/2)))/h+n:(n+s)/2}function wa(t,e){var r=t.N;if(r)return _a(r,e);var n=t.site;return n.y===e?n.x:1/0}function ka(t){this.site=t,this.edges=[]}function Ta(t,e){return e.angle-t.angle}function Aa(){Ia(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ma(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,c=n.y-s,u=i.x-o,h=2*(l*(v=i.y-s)-c*u);if(!(h>=-Tt)){var f=l*l+c*c,p=u*u+v*v,d=(v*f-c*p)/h,g=(l*p-u*f)/h,v=g+s,m=ga.pop()||new Aa;m.arc=t,m.site=a,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=pa._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}pa.insert(y,m),y||(fa=m)}}}}function Sa(t){var e=t.circle;e&&(e.P||(fa=e.N),pa.remove(e),ga.push(e),Ia(e),t.circle=null)}function Ea(t,e){var r=t.b;if(r)return!0;var n,a,i=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,h=t.r,f=u.x,p=u.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(i){if(i.y>=c)return}else i={x:v,y:l};r={x:v,y:c}}else{if(i){if(i.y<l)return}else i={x:v,y:c};r={x:v,y:l}}}else if(a=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){if(i){if(i.y>=c)return}else i={x:(l-a)/n,y:l};r={x:(c-a)/n,y:c}}else{if(i){if(i.y<l)return}else i={x:(c-a)/n,y:c};r={x:(l-a)/n,y:l}}else if(p<g){if(i){if(i.x>=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.x<o)return}else i={x:s,y:n*s+a};r={x:o,y:n*o+a}}return t.a=i,t.b=r,!0}function La(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ca(t,e,r,n){var a=new La(t,e);return ca.push(a),r&&Pa(a,t,e,r),n&&Pa(a,e,t,n),ua[t.i].edges.push(new Oa(a,t,e)),ua[e.i].edges.push(new Oa(a,e,t)),a}function Pa(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Oa(t,e,r){var n=t.a,a=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(a.x-n.x,n.y-a.y):Math.atan2(n.x-a.x,a.y-n.y)}function za(){this._=null}function Ia(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Da(t,e){var r=e,n=e.R,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ra(t,e){var r=e,n=e.L,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Fa(t){for(;t.L;)t=t.L;return t}function Ba(t,e){var r,n,a,i=t.sort(Na).pop();for(ca=[],ua=new Array(t.length),ha=new za,pa=new za;;)if(a=fa,i&&(!a||i.y<a.y||i.y===a.y&&i.x<a.x))i.x===r&&i.y===n||(ua[i.i]=new ka(i),ba(i),r=i.x,n=i.y),i=t.pop();else{if(!a)break;xa(a.arc)}e&&(function(t){for(var e,r=ca,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),a=r.length;a--;)(!Ea(e=r[a],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(a,1))}(e),function(t){for(var e,r,n,a,i,o,s,l,c,u,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=ua,v=g.length;v--;)if((i=g[v])&&i.prepare())for(l=(s=i.edges).length,o=0;o<l;)n=(u=s[o].end()).x,a=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(a-r)>kt)&&(s.splice(o,0,new Oa((m=i.site,x=u,b=y(n-h)<kt&&d-a>kt?{x:h,y:y(e-h)<kt?r:d}:y(a-d)<kt&&f-n>kt?{x:y(r-d)<kt?e:f,y:d}:y(n-f)<kt&&a-p>kt?{x:f,y:y(e-f)<kt?r:p}:y(a-p)<kt&&n-h>kt?{x:y(r-p)<kt?e:h,y:p}:null,_=void 0,_=new La(m,null),_.a=x,_.b=b,ca.push(_),_),i.site,null)),++l);var m,x,b,_}(e));var o={cells:ua,edges:ca};return ha=pa=ca=ua=null,o}function Na(t,e){return e.y-t.y||e.x-t.x}ka.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Ta),e.length},Oa.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},za.prototype={insert:function(t,e){var r,n,a;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Fa(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(a=n.R)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.R&&(Da(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ra(this,n)):(a=n.L)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.L&&(Ra(this,r),r=(t=r).U),r.C=!1,n.C=!0,Da(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,a=t.U,i=t.L,o=t.R;if(r=i?o?Fa(o):i:o,a?a.L===t?a.L=r:a.R=r:this._=r,i&&o?(n=r.C,r.C=t.C,r.L=i,i.U=r,r!==o?(a=r.U,r.U=t.U,t=r.R,a.L=t,r.R=o,o.U=r):(r.U=a,a=r,t=r.R)):(n=t.C,t=r),t&&(t.U=a),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===a.L){if((e=a.R).C&&(e.C=!1,a.C=!0,Da(this,a),e=a.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ra(this,e),e=a.R),e.C=a.C,a.C=e.R.C=!1,Da(this,a),t=this._;break}}else if((e=a.L).C&&(e.C=!1,a.C=!0,Ra(this,a),e=a.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Da(this,e),e=a.L),e.C=a.C,a.C=e.L.C=!1,Ra(this,a),t=this._;break}e.C=!0,t=a,a=a.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ea,r=ra,n=e,a=r,i=ja;if(t)return o(t);function o(t){var e=new Array(t.length),r=i[0][0],n=i[0][1],a=i[1][0],o=i[1][1];return Ba(s(t),i).cells.forEach(function(i,s){var l=i.edges,c=i.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Ba(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Ba(s(t)).cells.forEach(function(r,n){for(var a,i,o,s,l=r.site,c=r.edges.sort(Ta),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++u<h;)f,a=p,p=(f=c[u].edge).l===l?f.r:f.l,n<a.i&&n<p.i&&(o=a,s=p,((i=l).x-s.x)*(o.y-i.y)-(i.x-o.x)*(s.y-i.y)<0)&&e.push([t[n],t[a.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(a=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(i=null==t?ja:t,o):i===ja?null:i},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):i===ja?null:i&&i[1]},o};var ja=[[-1e6,-1e6],[1e6,1e6]];function Va(t){return t.x}function Ua(t){return t.y}function qa(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,a=e.g,i=e.b,o=r.r-n,s=r.g-a,l=r.b-i;return function(t){return"#"+ce(Math.round(n+o*t))+ce(Math.round(a+s*t))+ce(Math.round(i+l*t))}}function Ha(t,e){var r,n={},a={};for(r in t)r in e?n[r]=Za(t[r],e[r]):a[r]=t[r];for(r in e)r in t||(a[r]=e[r]);return function(t){for(r in n)a[r]=n[r](t);return a}}function Ga(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ya(t,e){var r,n,a,i=Wa.lastIndex=Xa.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=Wa.exec(t))&&(n=Xa.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Ga(r,n)})),i=Xa.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,a){var i,o=ea,s=ra;if(i=arguments.length)return o=Va,s=Ua,3===i&&(a=r,n=e,r=e=0),l(t);function l(t){var l,c,u,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=a;else if(g=v=-(p=d=1/0),c=[],u=[],f=t.length,i)for(h=0;h<f;++h)(l=t[h]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>v&&(v=l.y),c.push(l.x),u.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),c.push(b),u.push(_)}var w=g-p,k=v-d;function T(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,a,i,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,a,i,o,s),A(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,a,i,o,s)}function A(t,e,r,n,a,i,o,s){var l=.5*(a+o),c=.5*(i+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?a=l:o=l,h?i=c:s=c,T(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}}),e,r,n,a,i,o,s)}w>k?v=d+w:g=p+k;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(M.visit=function(t){!function t(e,r,n,a,i,o){if(!e(r,n,a,i,o)){var s=.5*(n+i),l=.5*(a+o),c=r.nodes;c[0]&&t(e,c[0],n,a,s,l),c[1]&&t(e,c[1],s,a,i,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,i,o)}}(t,M,p,d,g,v)},M.find=function(t){return function(t,e,r,n,a,i,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>i||h>o||f<n||p<a)){if(d=c.point){var d,g=e-c.x,v=r-c.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,a=r-y,i=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,h,b,_);break;case 1:t(c,b,h,f,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,f,p)}}}(t,n,a,i,o),s}(M,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)T(M,t[h],c[h],u[h],p,d,g,v);--h}else t.forEach(M.add);return c=u=t=l=null,M}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],a=+t[1][1]),l):null==e?null:[[e,r],[n,a]]},l.size=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=r=0,n=+t[0],a=+t[1]),l):null==e?null:[n-e,a-r]},l},t.interpolateRgb=qa,t.interpolateObject=Ha,t.interpolateNumber=Ga,t.interpolateString=Ya;var Wa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xa=new RegExp(Wa.source,"g");function Za(e,r){for(var n,a=t.interpolators.length;--a>=0&&!(n=t.interpolators[a](e,r)););return n}function Ja(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Za(t[r],e[r]));for(;r<i;++r)a[r]=t[r];for(;r<o;++r)a[r]=e[r];return function(t){for(r=0;r<s;++r)a[r]=n[r](t);return a}}t.interpolate=Za,t.interpolators=[function(t,e){var r=typeof e;return("string"===r?ge.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?qa:Ya:e instanceof Vt?qa:Array.isArray(e)?Ja:"object"===r&&isNaN(e)?Ha:Ga)(t,e)}],t.interpolateArray=Ja;var Ka=function(){return P},Qa=t.map({linear:Ka,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return ri},cubic:function(){return ni},sin:function(){return ii},exp:function(){return oi},circle:function(){return si},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Mt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Mt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return li}}),$a=t.map({in:P,out:ti,"in-out":ei,"out-in":function(t){return ei(ti(t))}});function ti(t){return function(e){return 1-t(1-e)}}function ei(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function ri(t){return t*t}function ni(t){return t*t*t}function ai(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ii(t){return 1-Math.cos(t*Et)}function oi(t){return Math.pow(2,10*(t-1))}function si(t){return 1-Math.sqrt(1-t*t)}function li(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function ci(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ui(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=fi(a),s=hi(a,i),l=fi(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]<i[0]*a[1]&&(a[0]*=-1,a[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(a[1],a[0]):Math.atan2(-i[0],i[1]))*Ct,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Ct:0}function hi(t,e){return t[0]*e[0]+t[1]*e[1]}function fi(t){var e=Math.sqrt(hi(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf("-"),a=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):"in";return a=Qa.get(a)||Ka,i=$a.get(i)||P,e=i(a.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Wt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,a+s*t,i+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return te(n+o*t,a+s*t,i+l*t)+""}},t.interpolateRound=ci,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ui(e?e.matrix:pi)})(e)},ui.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pi={a:1,b:0,c:0,d:1,e:0,f:0};function di(t){return t.length?t.pop()+",":""}function gi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push("translate(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(di(r)+"rotate(",null,")")-2,x:Ga(t,e)})):e&&r.push(di(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(di(r)+"skewX(",null,")")-2,x:Ga(t,e)}):e&&r.push(di(r)+"skewX("+e+")")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(di(r)+"scale(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(di(r)+"scale("+e+")")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r<i;)n[(e=a[r]).i]=e.x(t);return n.join("")}}function vi(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function mi(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function yi(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=xi(t),n=xi(e),a=r.pop(),i=n.pop(),o=null;for(;a===i;)o=a,a=r.pop(),i=n.pop();return o}(e,r),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;r!==n;)a.splice(i,0,r),r=r.parent;return a}function xi(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function bi(t){t.fixed|=2}function _i(t){t.fixed&=-7}function wi(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ki(t){t.fixed&=-5}t.interpolateTransform=gi,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(yi(t[r]));return e}},t.layout.chord=function(){var e,r,n,a,i,o,s,l={},c=0;function u(){var l,u,f,p,d,g={},v=[],m=t.range(a),y=[];for(e=[],r=[],l=0,p=-1;++p<a;){for(u=0,d=-1;++d<a;)u+=n[p][d];v.push(u),y.push(t.range(a)),l+=u}for(i&&m.sort(function(t,e){return i(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Mt-c*a)/l,u=0,p=-1;++p<a;){for(f=u,d=-1;++d<a;){var x=m[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+"-"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:f,endAngle:u,value:v[x]},u+=c}for(p=-1;++p<a;)for(d=p-1;++d<a;){var T=g[p+"-"+d],A=g[d+"-"+p];(T.value||A.value)&&e.push(T.value<A.value?{source:A,target:T}:{source:T,target:A})}s&&h()}function h(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(a=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(i=t,e=r=null,l):i},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&h(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,a,i,o,s={},l=t.dispatch("start","tick","end"),c=[1,1],u=.9,h=Ti,f=Ai,p=-30,d=Mi,g=.1,v=.64,m=[],y=[];function x(t){return function(e,r,n,a){if(e.point!==t){var i=e.cx-t.x,o=e.cy-t.y,s=a-r,l=i*i+o*o;if(s*s/v<l){if(l<d){var c=e.charge/l;t.px-=i*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=i*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:"end",alpha:n=0}),!0;var r,s,h,f,d,v,b,_,w,k=m.length,T=y.length;for(s=0;s<T;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*i[s]*((v=Math.sqrt(v))-a[s])/v,w*=v,d.x-=_*(b=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=w*b,f.x+=_*(b=1-b),f.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var a=0,i=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,a+=o.charge*o.cx,i+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,a+=u*e.point.x,i+=u*e.point.y}e.cx=a/e.charge;e.cy=i/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<k;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<k;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*u,h.y-=(h.py-(h.py=h.y))*u);l.tick({type:"tick",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=Te(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)"number"==typeof(r=y[t]).source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g("x",u)),isNaN(r.y)&&(r.y=g("y",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(a=[],"function"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(i=[],"function"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(o=[],"function"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,a){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var i=y[c];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*a}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(P).on("dragstart.force",bi).on("drag.force",b).on("dragend.force",_i)),!arguments.length)return r;this.on("mouseover.force",wi).on("mouseout.force",ki).call(r)},t.rebind(s,l,"on")};var Ti=20,Ai=1,Mi=1/0;function Si(e,r){return t.rebind(e,r,"sort","children","value"),e.nodes=e,e.links=zi,e}function Ei(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(a=t.children)&&(n=a.length))for(var n,a;--n>=0;)r.push(a[n])}function Li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o<a;)r.push(i[o]);for(;null!=(t=n.pop());)e(t)}function Ci(t){return t.children}function Pi(t){return t.value}function Oi(t,e){return e.value-t.value}function zi(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Oi,e=Ci,r=Pi;function n(a){var i,o=[a],s=[];for(a.depth=0;null!=(i=o.pop());)if(s.push(i),(c=e.call(n,i,i.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Li(a,function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ei(t,function(t){t.children&&(t.value=0)}),Li(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=i[c],r,l=s.value*n,a),r+=l}}(a[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(a=r.length))for(var a,i=-1;++i<a;)n=Math.max(n,t(r[i]));return 1+n}(a[0])),a}return n.size=function(t){return arguments.length?(r=t,n):r},Si(n,e)},t.layout.pie=function(){var e=Number,r=Ii,n=0,a=Mt,i=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),h=+("function"==typeof n?n.apply(this,arguments):n),f=("function"==typeof a?a.apply(this,arguments):a)-h,p=Math.min(Math.abs(f)/c,+("function"==typeof i?i.apply(this,arguments):i)),d=p*(f<0?-1:1),g=t.sum(u),v=g?(f-c*d)/g:0,m=t.range(c),y=[];return null!=r&&m.sort(r===Ii?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=u[t],startAngle:h,endAngle:h+=l*v+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(a=t,o):a},o.padAngle=function(t){return arguments.length?(i=t,o):i},o};var Ii={};function Di(t){return t.x}function Ri(t){return t.y}function Fi(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=P,r=ji,n=Vi,a=Fi,i=Di,o=Ri;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),h=u.map(function(t){return t.map(function(t,e){return[i.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,c);u=t.permute(u,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,c),y=u[0].length;for(g=0;g<y;++g)for(a.call(s,u[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)a.call(s,u[d][g],v+=h[d-1][g][1],h[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r="function"==typeof t?t:Bi.get(t)||ji,s):r},s.offset=function(t){return arguments.length?(n="function"==typeof t?t:Ni.get(t)||Vi,s):n},s.x=function(t){return arguments.length?(i=t,s):i},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(a=t,s):a},s};var Bi=t.map({"inside-out":function(e){var r,n,a=e.length,i=e.map(Ui),o=e.map(qi),s=t.range(a).sort(function(t,e){return i[t]-i[e]}),l=0,c=0,u=[],h=[];for(r=0;r<a;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],h.push(n));return h.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:ji}),Ni=t.map({silhouette:function(t){var e,r,n,a=t.length,i=t[0].length,o=[],s=0,l=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<i;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,a,i,o,s,l,c,u=t.length,h=t[0],f=h.length,p=[];for(p[0]=l=c=0,r=1;r<f;++r){for(e=0,a=0;e<u;++e)a+=t[e][r][1];for(e=0,i=0,s=h[r][0]-h[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;i+=o*t[e][r][1]}p[r]=l-=a?i/a*s:0,l<c&&(c=l)}for(r=0;r<f;++r)p[r]-=c;return p},expand:function(t){var e,r,n,a=t.length,i=t[0].length,o=1/a,s=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];if(n)for(e=0;e<a;e++)t[e][r][1]/=n;else for(e=0;e<a;e++)t[e][r][1]=o}for(r=0;r<i;++r)s[r]=0;return s},zero:Vi});function ji(e){return t.range(e.length)}function Vi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ui(t){for(var e,r=1,n=0,a=t[0][1],i=t.length;r<i;++r)(e=t[r][1])>a&&(n=r,a=e);return n}function qi(t){return t.reduce(Hi,0)}function Hi(t,e){return t+e[1]}function Gi(t,e){return Yi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Yi(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Wi(e){return[t.min(e),t.max(e)]}function Xi(t,e){return t.value-e.value}function Zi(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ji(t,e){t._pack_next=e,e._pack_prev=t}function Ki(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function Qi(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach($i),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(eo(r,n,a=e[2]),x(a),Zi(r,a),r._pack_prev=a,Zi(a,n),n=r._pack_next,i=3;i<l;i++){eo(r,n,a=e[i]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ki(o,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ki(s,a);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Ji(r,n=o):Ji(r=s,n),i--):(Zi(r,a),n=a,x(a))}var v=(c+u)/2,m=(h+f)/2,y=0;for(i=0;i<l;i++)(a=e[i]).x-=v,a.y-=m,y=Math.max(y,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=y,e.forEach(to)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function $i(t){t._pack_next=t._pack_prev=t}function to(t){delete t._pack_next,delete t._pack_prev}function eo(t,e,r){var n=t.r+r.r,a=e.x-t.x,i=e.y-t.y;if(n&&(a||i)){var o=e.r+r.r,s=a*a+i*i,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*a+c*i,r.y=t.y+l*i-c*a}else r.x=t.x+n,r.y=t.y}function ro(t,e){return t.parent==e.parent?1:2}function no(t){var e=t.children;return e.length?e[0]:t.t}function ao(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function io(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function oo(t,e,r){return t.a.parent===e.parent?t.a:r}function so(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function lo(t,e){var r=t.x+e[3],n=t.y+e[0],a=t.dx-e[1]-e[3],i=t.dy-e[0]-e[2];return a<0&&(r+=a/2,a=0),i<0&&(n+=i/2,i=0),{x:r,y:n,dx:a,dy:i}}function co(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function uo(t){return t.rangeExtent?t.rangeExtent():co(t.range())}function ho(t,e,r,n){var a=r(t[0],t[1]),i=n(e[0],e[1]);return function(t){return i(a(t))}}function fo(t,e){var r,n=0,a=t.length-1,i=t[n],o=t[a];return o<i&&(r=n,n=a,a=r,r=i,i=o,o=r),t[n]=e.floor(i),t[a]=e.ceil(o),t}function po(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:go}t.layout.histogram=function(){var e=!0,r=Number,n=Wi,a=Gi;function i(i,o){for(var s,l,c=[],u=i.map(r,this),h=n.call(this,u,o),f=a.call(this,h,u,o),p=(o=-1,u.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=h[0]&&l<=h[1]&&((s=c[t.bisect(f,l,1,d)-1]).y+=g,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=ve(t),i):n},i.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return Yi(e,t)}:ve(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Xi),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],c=a[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Li(s,function(t){t.r=+u(t.value)}),Li(s,Qi),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Li(s,function(t){t.r+=h}),Li(s,Qi),Li(s,function(t){t.r-=h})}return function t(e,r,n,a){var i=e.children;e.x=r+=a*e.x;e.y=n+=a*e.y;e.r*=a;if(i)for(var o=-1,s=i.length;++o<s;)t(i[o],r,n,a)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(a=t,i):a},i.radius=function(t){return arguments.length?(e=null==t||"function"==typeof t?t:+t,i):e},i.padding=function(t){return arguments.length?(n=+t,i):n},Si(i,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=null;function i(t,i){var c=e.call(this,t,i),u=c[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var a,i=e.children,o=0,s=i.length;o<s;++o)n.push((i[o]=a={_:i[o],parent:e,children:(a=i[o].children)&&a.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=a);return r.children[0]}(u);if(Li(h,o),h.parent.m=-h.z,Ei(h,s),a)Ei(u,l);else{var f=u,p=u,d=u;Ei(u,function(t){t.x<f.x&&(f=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(f,p)/2-f.x,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Ei(u,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=ao(s),i=no(i),s&&i;)l=no(l),(o=ao(o)).a=t,(a=s.z+h-i.z-c+r(s._,i._))>0&&(io(oo(s,t,n),t,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!ao(o)&&(o.t=s,o.m+=h-u),i&&!no(l)&&(l.t=i,l.m+=c-f,n=t)}return n}(t,a,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Si(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),c=l[0],u=0;Li(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return Li(c,a?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Si(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=so,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a<i;)n=(r=t[a]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function h(t){var e=t.children;if(e&&e.length){var r,n,a,i=o(t),s=[],c=e.slice(),f=1/0,g="slice"===l?i.dx:"dice"===l?i.dy:"slice-dice"===l?1&t.depth?i.dy:i.dx:Math.min(i.dx,i.dy);for(u(c,i.dx*i.dy/t.value),s.area=0;(a=c.length)>0;)s.push(r=c[a-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,i,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(d(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<i&&(i=r),r>a&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function d(t,e,r,a){var i,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++o<s;)(i=t[o]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?n(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((a||u>r.dx)&&(u=r.dx);++o<s;)(i=t[o]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?n(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),i=n[0];return i.x=i.y=0,i.value?(i.dx=a[0],i.dy=a[1]):i.dx=i.dy=0,e&&r.revalue(i),u([i],i.dx*i.dy/i.value),(e?f:h)(i),s&&(e=n),n}return g.size=function(t){return arguments.length?(a=t,g):a},g.padding=function(t){if(!arguments.length)return i;function e(e){return lo(e,t)}var r;return o=null==(i=t)?so:"function"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?so(e):lo(e,"number"==typeof r?[r,r,r,r]:r)}:"number"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+"",g):l},Si(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,a;do{a=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!a||a>1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var go={floor:P,ceil:P};function vo(e,r,n,a){var i=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)i.push(n(e[s-1],e[s])),o.push(a(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](i[n](r))}}function mo(e,r){return t.rebind(e,r,"range","rangeRound","interpolate","clamp")}function yo(t,e){return fo(t,po(xo(t,e)[2])),fo(t,po(xo(t,e)[2])),t}function xo(t,e){null==e&&(e=10);var r=co(t),n=r[1]-r[0],a=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),i=e/n*a;return i<=.15?a*=10:i<=.35?a*=5:i<=.75&&(a*=2),r[0]=Math.ceil(r[0]/a)*a,r[1]=Math.floor(r[1]/a)*a+.5*a,r[2]=a,r}function bo(e,r){return t.range.apply(t,xo(e,r))}function _o(e,r,n){var a=xo(e,r);if(n){var i=Ce.exec(n);if(i.shift(),"s"===i[8]){var o=t.formatPrefix(Math.max(y(a[0]),y(a[1])));return i[7]||(i[7]="."+ko(o.scale(a[2]))),i[8]="f",n=t.format(i.join("")),function(t){return n(o.scale(t))+o.symbol}}i[7]||(i[7]="."+function(t,e){var r=ko(e[2]);return t in wo?Math.abs(r-ko(Math.max(y(e[0]),y(e[1]))))+ +("e"!==t):r-2*("%"===t)}(i[8],a)),n=i.join("")}else n=",."+ko(a[2])+"f";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,a){var i,o;function s(){var t=Math.min(e.length,r.length)>2?vo:ho,s=a?mi:vi;return i=t(e,r,s,n),o=t(r,e,s,Za),l}function l(t){return i(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(ci)};l.clamp=function(t){return arguments.length?(a=t,s()):a};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,a)};return s()}([0,1],[0,1],Za,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i};l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n};l.nice=function(){var t=fo(i.map(o),a?Math:Ao);return r.domain(t),i=t.map(s),l};l.ticks=function(){var t=co(i),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(u-c)){if(a){for(;c<u;c++)for(var f=1;f<h;f++)e.push(s(c)*f);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var f=h-1;f>0;f--)e.push(s(c)*f);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return To;arguments.length<2?r=To:"function"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=a?r(t):""}};l.copy=function(){return e(r.copy(),n,a,i)};return mo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var To=t.format(".0e"),Ao={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Mo(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var a=Mo(r),i=Mo(1/r);function o(t){return e(a(t))}o.invert=function(t){return i(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(a)),o):n};o.ticks=function(t){return bo(n,t)};o.tickFormat=function(t,e){return _o(n,t,e)};o.nice=function(t){return o.domain(yo(n,t))};o.exponent=function(t){return arguments.length?(a=Mo(r=t),i=Mo(1/r),e.domain(n.map(a)),o):r};o.copy=function(){return t(e.copy(),r,n)};return mo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var a,i,o;function s(t){return i[((a.get(t)||("range"===n.t?a.set(t,r.push(t)):NaN))-1)%i.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],a=new b;for(var e,i=-1,o=t.length;++i<o;)a.has(e=t[i])||a.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(i=t,o=0,n={t:"range",a:arguments},s):i};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=(a+c)/2,0):(c-a)/(r.length-1+e);return i=l(a+u*e/2,u),o=0,n={t:"rangePoints",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=c=Math.round((a+c)/2),0):(c-a)/(r.length-1+e)|0;return i=l(a+Math.round(u*e/2+(c-a-(r.length-1+e)*u)/2),u),o=0,n={t:"rangeRoundPoints",a:arguments},s};s.rangeBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=(h-u)/(r.length-e+2*a);return i=l(u+f*a,f),c&&i.reverse(),o=f*(1-e),n={t:"rangeBands",a:arguments},s};s.rangeRoundBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=Math.floor((h-u)/(r.length-e+2*a));return i=l(u+Math.round((h-u-(r.length-e)*f)/2),f),c&&i.reverse(),o=Math.round(f*(1-e)),n={t:"rangeRoundBands",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return co(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:"range",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(So)},t.scale.category20=function(){return t.scale.ordinal().range(Eo)},t.scale.category20b=function(){return t.scale.ordinal().range(Lo)},t.scale.category20c=function(){return t.scale.ordinal().range(Co)};var So=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Eo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Lo=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),Co=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function Po(){return 0}t.scale.quantile=function(){return function e(r,n){var a;function i(){var e=0,i=n.length;for(a=[];++e<i;)a[e-1]=t.quantile(r,e/i);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(a,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),i()):r};o.range=function(t){return arguments.length?(n=t,i()):n};o.quantiles=function(){return a};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?a[t-1]:r[0],t<a.length?a[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return i()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var a,i;function o(t){return n[Math.max(0,Math.min(i,Math.floor(a*(t-e))))]}function s(){return a=n.length/(r-e),i=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/a+e,t+1/a]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function a(e){if(e<=e)return n[t.bisect(r,e)]}a.domain=function(t){return arguments.length?(r=t,a):r};a.range=function(t){return arguments.length?(n=t,a):n};a.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};a.copy=function(){return e(r,n)};return a}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return bo(e,t)};r.tickFormat=function(t,r){return _o(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=zo,e=Io,r=Po,n=Oo,a=Do,i=Ro,o=Fo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=a.apply(this,arguments)-Et,h=i.apply(this,arguments)-Et,f=Math.abs(h-u),p=u>h?0:1;if(c<s&&(d=c,c=s,s=d),f>=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,v,m,y,x,b,_,w,k,T,A,M=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Oo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(v/c*Math.sin(m))),s&&(M=It(v/s*Math.sin(m)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var L=Math.abs(h-u-2*S)<=At?0:1;if(S&&Bo(y,x,b,_)===p^L){var C=(u+h)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-M),k=s*Math.sin(h-M),T=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-h+2*M)<=At?0:1;if(M&&Bo(w,k,T,A)===1-p^P){var O=(u+h)/2;w=s*Math.cos(O),k=s*Math.sin(O),T=A=null}}else w=k=0;if(f>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var z=d,I=d;if(f<At){var D=null==T?[w,k]:null==b?[y,x]:sa([y,x],[T,A],[b,_],[w,k]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);I=Math.min(d,(s-V)/(j-1)),z=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=No(null==T?[w,k]:[T,A],[y,x],c,z,p),q=No([b,_],[w,k],c,z,p);d===z?E.push("M",U[0],"A",z,",",z," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-p^Bo(U[1][0],U[1][1],q[1][0],q[1][1]),",",p," ",q[1],"A",z,",",z," 0 0,",g," ",q[0]):E.push("M",U[0],"A",z,",",z," 0 1,",g," ",q[0])}else E.push("M",y,",",x);if(null!=T){var H=No([y,x],[T,A],s,-I,p),G=No([w,k],null==b?[y,x]:[b,_],s,-I,p);d===I?E.push("L",G[0],"A",I,",",I," 0 0,",g," ",G[1],"A",s,",",s," 0 ",p^Bo(G[1][0],G[1][1],H[1][0],H[1][1]),",",1-p," ",H[1],"A",I,",",I," 0 0,",g," ",H[0]):E.push("L",G[0],"A",I,",",I," 0 0,",g," ",H[0])}else E.push("L",w,",",k)}else E.push("M",y,",",x),null!=b&&E.push("A",c,",",c," 0 ",L,",",p," ",b,",",_),E.push("L",w,",",k),null!=T&&E.push("A",s,",",s," 0 ",P,",",1-p," ",T,",",A);return E.push("Z"),E.join("")}function l(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}return s.innerRadius=function(e){return arguments.length?(t=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Oo?Oo:ve(t),s):n},s.startAngle=function(t){return arguments.length?(a=ve(t),s):a},s.endAngle=function(t){return arguments.length?(i=ve(t),s):i},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +i.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Oo="auto";function zo(t){return t.innerRadius}function Io(t){return t.outerRadius}function Do(t){return t.startAngle}function Ro(t){return t.endAngle}function Fo(t){return t&&t.padAngle}function Bo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function No(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,c=-s*i,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,g=(h+p)/2,v=f-u,m=p-h,y=v*v+m*m,x=r-n,b=u*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,k=(-b*v-m*_)/y,T=(b*m+v*_)/y,A=(-b*v+m*_)/y,M=w-d,S=k-g,E=T-d,L=A-g;return M*M+S*S>E*E+L*L&&(w=T,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ea,r=ra,n=Yr,a=Uo,i=a.key,o=.7;function s(i){var s,l=[],c=[],u=-1,h=i.length,f=ve(e),p=ve(r);function d(){l.push("M",a(t(c),o))}for(;++u<h;)n.call(this,s=i[u],u)?c.push([+f.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(""):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(i="function"==typeof t?a=t:(a=Vo.get(t)||Uo).key,s):i},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return jo(P)};var Vo=t.map({linear:Uo,"linear-closed":qo,step:function(t){var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];for(;++e<r;)a.push("H",(n[0]+(n=t[e])[0])/2,"V",n[1]);r>1&&a.push("H",n[0]);return a.join("")},"step-before":Ho,"step-after":Go,basis:Xo,"basis-open":function(t){if(t.length<4)return Uo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(Zo(Qo,i)+","+Zo(Qo,o)),--n;for(;++n<a;)e=t[n],i.shift(),i.push(e[0]),o.shift(),o.push(e[1]),$o(r,i,o);return r.join("")},"basis-closed":function(t){var e,r,n=-1,a=t.length,i=a+4,o=[],s=[];for(;++n<4;)r=t[n%a],o.push(r[0]),s.push(r[1]);e=[Zo(Qo,o),",",Zo(Qo,s)],--n;for(;++n<i;)r=t[n%a],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),$o(e,o,s);return e.join("")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,a,i=t[0][0],o=t[0][1],s=t[r][0]-i,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],a=c/r,n[0]=e*n[0]+(1-e)*(i+a*s),n[1]=e*n[1]+(1-e)*(o+a*l);return Xo(t)},cardinal:function(t,e){return t.length<3?Uo(t):t[0]+Yo(t,Wo(t,e))},"cardinal-open":function(t,e){return t.length<4?Uo(t):t[1]+Yo(t.slice(1,-1),Wo(t,e))},"cardinal-closed":function(t,e){return t.length<3?qo(t):t[0]+Yo((t.push(t[0]),t),Wo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Uo(t):t[0]+Yo(t,function(t){var e,r,n,a,i=[],o=function(t){var e=0,r=t.length-1,n=[],a=t[0],i=t[1],o=n[0]=ts(a,i);for(;++e<r;)n[e]=(o+(o=ts(a=i,i=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=ts(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(a=r*r+n*n)>9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Uo(t){return t.length>1?t.join("L"):t+"Z"}function qo(t){return t.join("L")+"Z"}function Ho(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e<r;)a.push("V",(n=t[e])[1],"H",n[0]);return a.join("")}function Go(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e<r;)a.push("H",(n=t[e])[0],"V",n[1]);return a.join("")}function Yo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Uo(t);var r=t.length!=e.length,n="",a=t[0],i=t[1],o=e[0],s=o,l=1;if(r&&(n+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],a=t[1],l=2),e.length>1){s=e[1],i=t[l],l++,n+="C"+(a[0]+o[0])+","+(a[1]+o[1])+","+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1];for(var c=2;c<e.length;c++,l++)i=t[l],s=e[c],n+="S"+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1]}if(r){var u=t[l];n+="Q"+(i[0]+2*s[0]/3)+","+(i[1]+2*s[1]/3)+","+u[0]+","+u[1]}return n}function Wo(t,e){for(var r,n=[],a=(1-e)/2,i=t[0],o=t[1],s=1,l=t.length;++s<l;)r=i,i=o,o=t[s],n.push([a*(o[0]-r[0]),a*(o[1]-r[1])]);return n}function Xo(t){if(t.length<3)return Uo(t);var e=1,r=t.length,n=t[0],a=n[0],i=n[1],o=[a,a,a,(n=t[1])[0]],s=[i,i,i,n[1]],l=[a,",",i,"L",Zo(Qo,o),",",Zo(Qo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),$o(l,o,s);return t.pop(),l.push("L",n),l.join("")}function Zo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Vo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Jo=[0,2/3,1/3,0],Ko=[0,1/3,2/3,0],Qo=[0,1/6,2/3,1/6];function $o(t,e,r){t.push("C",Zo(Jo,e),",",Zo(Jo,r),",",Zo(Ko,e),",",Zo(Ko,r),",",Zo(Qo,e),",",Zo(Qo,r))}function ts(t,e){return(e[1]-t[1])/(e[0]-t[0])}function es(t){for(var e,r,n,a=-1,i=t.length;++a<i;)r=(e=t[a])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function rs(t){var e=ea,r=ea,n=0,a=ra,i=Yr,o=Uo,s=o.key,l=o,c="L",u=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===a?function(){return p}:ve(a);function k(){d.push("M",o(t(v),u),c,l(t(g.reverse()),u),"Z")}for(;++m<y;)i.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(k(),g=[],v=[]);return g.length&&k(),d.length?d.join(""):null}return h.x=function(t){return arguments.length?(e=r=t,h):r},h.x0=function(t){return arguments.length?(e=t,h):e},h.x1=function(t){return arguments.length?(r=t,h):r},h.y=function(t){return arguments.length?(n=a=t,h):a},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(a=t,h):a},h.defined=function(t){return arguments.length?(i=t,h):i},h.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Vo.get(t)||Uo).key,l=o.reverse||o,c=o.closed?"M":"L",h):s},h.tension=function(t){return arguments.length?(u=t,h):u},h}function ns(t){return t.radius}function as(t){return[t.x,t.y]}function is(){return 64}function os(){return"circle"}function ss(t){var e=Math.sqrt(t/At);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}t.svg.line.radial=function(){var t=jo(es);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ho.reverse=Go,Go.reverse=Ho,t.svg.area=function(){return rs(P)},t.svg.area.radial=function(){var t=rs(es);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=Un,r=ns,n=Do,a=Ro;function i(r,n){var a,i,c=o(this,t,r,n),u=o(this,e,r,n);return"M"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(i=u,(a=c).a0==i.a0&&a.a1==i.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+"Z"}function o(t,e,i,o){var s=e.call(t,i,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=a.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return"A"+t+","+t+" 0 "+ +(r>At)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return i.radius=function(t){return arguments.length?(r=ve(t),i):r},i.source=function(e){return arguments.length?(t=ve(e),i):t},i.target=function(t){return arguments.length?(e=ve(t),i):e},i.startAngle=function(t){return arguments.length?(n=ve(t),i):n},i.endAngle=function(t){return arguments.length?(a=ve(t),i):a},i},t.svg.diagonal=function(){var t=Vn,e=Un,r=as;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=as,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=is;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var ls=t.map({circle:ss,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*us)),r=e*us;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Lt);W.transition=function(t){for(var e,r,n=ds||++ms,a=bs(t),i=[],o=gs||{time:Date.now(),ease:ai,delay:0,duration:250},s=-1,l=this.length;++s<l;){i.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(r=c[u])&&_s(r,u,a,n,o),e.push(r)}return ps(i,a,n)},W.interrupt=function(t){return this.each(null==t?hs:fs(bs(t)))};var hs=fs(bs());function fs(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function ps(t,e,r){return U(t,vs),t.namespace=e,t.id=r,t}var ds,gs,vs=[],ms=0;function ys(t,e,r,n){var a=t.id,i=t.namespace;return ut(t,"function"==typeof r?function(t,o,s){t[i][a].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[i][a].tween.set(e,r)}))}function xs(t){return null==t&&(t=""),function(){this.textContent=t}}function bs(t){return null==t?"__transition__":"__transition_"+t+"__"}function _s(t,e,r,n,a){var i,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),h=u[n];function f(r){var a=u.active,f=u[a];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--u.count,delete u[a],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,Te(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,i),u.active=n,h.event&&h.event.start.call(t,t.__data__,e),c=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=h.ease,s=h.duration}function p(a){for(var i=a/s,o=l(i),f=c.length;f>0;)c[--f].call(t,o);if(i>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(i=a.time,o=Te(function(t){var e=h.delay;if(o.t=e+i,e<=t)return f(t-e);o.c=f},0,i),h=u[n]={tween:new b,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}vs.call=W.call,vs.empty=W.empty,vs.node=W.node,vs.size=W.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=vs,vs.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?("__data__"in n&&(r.__data__=n.__data__),_s(r,u,i,a,n[i][a]),e.push(r)):e.push(null)}return ps(o,i,a)},vs.selectAll=function(t){var e,r,n,a,i,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var h=this[c],f=-1,p=h.length;++f<p;)if(n=h[f]){i=n[s][o],r=t.call(n,n.__data__,f,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(a=r[d])&&_s(a,d,s,o,i),e.push(a)}return ps(l,s,o)},vs.filter=function(t){var e,r,n=[];"function"!=typeof t&&(t=ct(t));for(var a=0,i=this.length;a<i;a++){n.push(e=[]);for(var o,s=0,l=(o=this[a]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,a)&&e.push(r)}return ps(n,this.namespace,this.id)},vs.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(a){a[n][r].tween.set(t,e)})},vs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n="transform"==e?gi:Za,a=t.ns.qualify(e);function i(){this.removeAttribute(a)}function o(){this.removeAttributeNS(a.space,a.local)}return ys(this,"attr."+e,r,a.local?function(t){return null==t?o:(t+="",function(){var e,r=this.getAttributeNS(a.space,a.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(a.space,a.local,e(t))})})}:function(t){return null==t?i:(t+="",function(){var e,r=this.getAttribute(a);return r!==t&&(e=n(r,t),function(t){this.setAttribute(a,e(t))})})})},vs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween("attr."+e,n.local?function(t,e){var a=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return a&&function(t){this.setAttributeNS(n.space,n.local,a(t))}}:function(t,e){var a=r.call(this,t,e,this.getAttribute(n));return a&&function(t){this.setAttribute(n,a(t))}})},vs.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.style(r,t[r],e);return this}r=""}function a(){this.style.removeProperty(t)}return ys(this,"style."+t,e,function(e){return null==e?a:(e+="",function(){var n,a=o(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(n=Za(a,e),function(e){this.style.setProperty(t,n(e),r)})})})},vs.styleTween=function(t,e,r){return arguments.length<3&&(r=""),this.tween("style."+t,function(n,a){var i=e.call(this,n,a,o(this).getComputedStyle(this,null).getPropertyValue(t));return i&&function(e){this.style.setProperty(t,i(e),r)}})},vs.text=function(t){return ys(this,"text",t,xs)},vs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},vs.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:("function"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,function(t){t[n][r].ease=e}))},vs.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,"function"==typeof t?function(n,a,i){n[r][e].delay=+t.call(n,n.__data__,a,i)}:(t=+t,function(n){n[r][e].delay=t}))},vs.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,"function"==typeof t?function(n,a,i){n[r][e].duration=Math.max(1,t.call(n,n.__data__,a,i))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},vs.each=function(e,r){var n=this.id,a=this.namespace;if(arguments.length<2){var i=gs,o=ds;try{ds=n,ut(this,function(t,r,i){gs=t[a][n],e.call(t,t.__data__,r,i)})}finally{gs=i,ds=o}}else ut(this,function(i){var o=i[a][n];(o.event||(o.event=t.dispatch("start","end","interrupt"))).on(e,r)});return this},vs.transition=function(){for(var t,e,r,n=this.id,a=++ms,i=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,h=(c=this[s]).length;u<h;u++)(e=c[u])&&_s(e,u,i,a,{time:(r=e[i][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return ps(o,i,a)},t.svg.axis=function(){var e,r=t.scale.linear(),a=ws,i=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==c?f.ticks?f.ticks.apply(f,l):f.domain():c,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):P:e,g=u.selectAll(".tick").data(p,f),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",kt),m=t.transition(g.exit()).style("opacity",kt).remove(),y=t.transition(g.order()).style("opacity",1),x=Math.max(i,0)+s,b=uo(f),_=u.selectAll(".domain").data([0]),w=(_.enter().append("path").attr("class","domain"),t.transition(_));v.append("line"),v.append("text");var k,T,A,M,S=v.select("line"),E=y.select("line"),L=g.select("text").text(d),C=v.select("text"),O=y.select("text"),z="top"===a||"left"===a?-1:1;if("bottom"===a||"top"===a?(n=Ts,k="x",A="y",T="x2",M="y2",L.attr("dy",z<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+z*o+"V0H"+b[1]+"V"+z*o)):(n=As,k="y",A="x",T="y2",M="x2",L.attr("dy",".32em").style("text-anchor",z<0?"end":"start"),w.attr("d","M"+z*o+","+b[0]+"H0V"+b[1]+"H"+z*o)),S.attr(M,z*i),C.attr(A,z*x),E.attr(T,0).attr(M,z*i),O.attr(k,0).attr(A,z*x),f.rangeBand){var I=f,D=I.rangeBand()/2;h=f=function(t){return I(t)+D}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(a=t in ks?t+"":ws,u):a},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(i=+t,o=+arguments[e-1],u):i},u.innerTickSize=function(t){return arguments.length?(i=+t,u):i},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var ws="bottom",ks={top:1,right:1,bottom:1,left:1};function Ts(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate("+(isFinite(n)?n:r(t))+",0)"})}function As(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate(0,"+(isFinite(n)?n:r(t))+")"})}t.svg.brush=function(){var e,r,n=j(f,"brushstart","brush","brushend"),a=null,i=null,s=[0,0],l=[0,0],c=!0,u=!0,h=Ss[0];function f(e){e.each(function(){var e=t.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",v).on("touchstart.brush",v),r=e.selectAll(".background").data([0]);r.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),e.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var n=e.selectAll(".resize").data(h,P);n.exit().remove(),n.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ms[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),n.style("display",f.empty()?"none":null);var o,s=t.transition(e),l=t.transition(r);a&&(o=uo(a),l.attr("x",o[0]).attr("width",o[1]-o[0]),d(s)),i&&(o=uo(i),l.attr("y",o[0]).attr("height",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+s[+/e$/.test(t)]+","+l[+/^s/.test(t)]+")"})}function d(t){t.select(".extent").attr("x",s[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,k=!/^(e|w)$/.test(_)&&i,T=y.classed("extent"),A=xt(m),M=t.mouse(m),S=t.select(o(m)).on("keydown.brush",function(){32==t.event.keyCode&&(T||(h=null,M[0]-=s[1],M[1]-=l[1],T=2),B())}).on("keyup.brush",function(){32==t.event.keyCode&&2==T&&(M[0]+=s[1],M[1]+=l[1],T=0,B())});if(t.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",O):S.on("mousemove.brush",C).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),T)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);v=[s[1-E]-M[0],l[1-L]-M[1]],M[0]=s[E],M[1]=l[L]}else t.event.altKey&&(h=M.slice());function C(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]<h[0])],M[1]=l[+(e[1]<h[1])]):h=null),w&&P(e,a,0)&&(d(b),r=!0),k&&P(e,i,1)&&(g(b),r=!0),r&&(p(b),x({type:"brush",mode:T?"move":"resize"}))}function P(t,n,a){var i,o,f=uo(n),p=f[0],d=f[1],g=M[a],v=a?l:s,m=v[1]-v[0];if(T&&(p-=g,d-=m+g),i=(a?u:c)?Math.max(p,Math.min(d,t[a])):t[a],T?o=(i+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[a]-i))),g<i?(o=i,i=g):o=g),v[0]!=i||v[1]!=o)return a?r=null:e=null,v[0]=i,v[1]=o,!0}function O(){C(),b.style("pointer-events","all").selectAll(".resize").style("display",f.empty()?"none":null),t.select("body").style("cursor",null),S.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),A(),x({type:"brushend"})}b.style("pointer-events","none").selectAll(".resize").style("display",null),t.select("body").style("cursor",y.style("cursor")),x({type:"brushstart"}),C()}return f.event=function(a){a.each(function(){var a=n.of(this,arguments),i={x:s,y:l,i:e,j:r},o=this.__chart__||i;this.__chart__=i,ds?t.select(this).transition().each("start.brush",function(){e=o.i,r=o.j,s=o.x,l=o.y,a({type:"brushstart"})}).tween("brush:brush",function(){var t=Ja(s,i.x),n=Ja(l,i.y);return e=r=null,function(e){s=i.x=t(e),l=i.y=n(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){e=i.i,r=i.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},f.x=function(t){return arguments.length?(h=Ss[!(a=t)<<1|!i],f):a},f.y=function(t){return arguments.length?(h=Ss[!a<<1|!(i=t)],f):i},f.clamp=function(t){return arguments.length?(a&&i?(c=!!t[0],u=!!t[1]):a?c=!!t:i&&(u=!!t),f):a&&i?[c,u]:a?c:i?u:null},f.extent=function(t){var n,o,c,u,h;return arguments.length?(a&&(n=t[0],o=t[1],i&&(n=n[0],o=o[0]),e=[n,o],a.invert&&(n=a(n),o=a(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),i&&(c=t[0],u=t[1],a&&(c=c[1],u=u[1]),r=[c,u],i.invert&&(c=i(c),u=i(u)),u<c&&(h=c,c=u,u=h),c==l[0]&&u==l[1]||(l=[c,u])),f):(a&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],a.invert&&(n=a.invert(n),o=a.invert(o)),o<n&&(h=n,n=o,o=h))),i&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],i.invert&&(c=i.invert(c),u=i.invert(u)),u<c&&(h=c,c=u,u=h))),a&&i?[[n,c],[o,u]]:a?[n,o]:i&&[c,u])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!a&&s[0]==s[1]||!!i&&l[0]==l[1]},t.rebind(f,n,"on")};var Ms={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ss=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Es=ze.format=sr.timeFormat,Ls=Es.utc,Cs=Ls("%Y-%m-%dT%H:%M:%S.%LZ");function Ps(t){return t.toISOString()}function Os(e,r,n){function a(t){return e(t)}function i(e,n){var a=(e[1]-e[0])/n,i=t.bisect(Is,a);return i==Is.length?[r.year,xo(e.map(function(t){return t/31536e6}),n)[2]]:i?r[a/Is[i-1]<Is[i]/a?i-1:i]:[Fs,xo(e,n)[2]]}return a.invert=function(t){return zs(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain(t),a):e.domain().map(zs)},a.nice=function(t,e){var r=a.domain(),n=co(r),o=null==t?i(n,10):"number"==typeof t&&i(n,t);function s(r){return!isNaN(r)&&!t.range(r,zs(+r+1),e).length}return o&&(t=o[0],e=o[1]),a.domain(fo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=zs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=zs(+e+1);return e}}:t))},a.ticks=function(t,e){var r=co(a.domain()),n=null==t?i(r,10):"number"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],zs(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Os(e.copy(),r,n)},mo(a,e)}function zs(t){return new Date(t)}Es.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ps:Cs,Ps.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ps.toString=Cs.toString,ze.second=Fe(function(t){return new Ie(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),ze.seconds=ze.second.range,ze.seconds.utc=ze.second.utc.range,ze.minute=Fe(function(t){return new Ie(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),ze.minutes=ze.minute.range,ze.minutes.utc=ze.minute.utc.range,ze.hour=Fe(function(t){var e=t.getTimezoneOffset()/60;return new Ie(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),ze.hours=ze.hour.range,ze.hours.utc=ze.hour.utc.range,ze.month=Fe(function(t){return(t=ze.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),ze.months=ze.month.range,ze.months.utc=ze.month.utc.range;var Is=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ds=[[ze.second,1],[ze.second,5],[ze.second,15],[ze.second,30],[ze.minute,1],[ze.minute,5],[ze.minute,15],[ze.minute,30],[ze.hour,1],[ze.hour,3],[ze.hour,6],[ze.hour,12],[ze.day,1],[ze.day,2],[ze.week,1],[ze.month,1],[ze.month,3],[ze.year,1]],Rs=Es.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Yr]]),Fs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(zs)},floor:P,ceil:P};Ds.year=ze.year,ze.scale=function(){return Os(t.scale.linear(),Ds,Rs)};var Bs=Ds.map(function(t){return[t[0].utc,t[1]]}),Ns=Ls.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Yr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Bs.year=ze.year.utc,ze.scale.utc=function(){return Os(t.scale.linear(),Bs,Ns)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",js,e)},t.html=function(t,e){return ye(t,"text/html",Vs,e)},t.xml=me(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],165:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],166:[function(t,e,r){"use strict";var n=t("incremental-convex-hull"),a=t("uniq");function i(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,a=r.length,i=0;i<a;++i){var o=n[i]-r[i];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var a=new Array(t-1),i=1;i<t;++i){var o=n[i-1],s=n[i];a[i-1]=[o[1],s[1]]}r&&a.push([-1,a[0][1]],[a[t-1][1],-1]);return a}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var h=t[u],f=new Array(s+1),p=0,d=0;d<s;++d){var g=h[d];f[d]=g,p+=g*g}f[s]=p,l[u]=new i(f,u),c=Math.max(p,c)}a(l,o),r=l.length;for(var v=new Array(r+s+1),m=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,v[0]=x.slice(),m[0]=-1;for(var u=0;u<=s;++u){var f=x.slice();f[u]=1,v[u+1]=f,m[u+1]=-1}for(var u=0;u<r;++u){var b=l[u];v[u+s+1]=b.point,m[u+s+1]=b.index}var _=n(v,!1);_=e?_.filter(function(t){for(var e=0,r=0;r<=s;++r){var n=m[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],f=b[0];b[0]=b[1],b[1]=f}return _}},{"incremental-convex-hull":414,uniq:545}],167:[function(t,e,r){"use strict";e.exports=i;var n=(i.canvas=document.createElement("canvas")).getContext("2d"),a=o([32,126]);function i(t,e){Array.isArray(t)&&(t=t.join(", "));var r,i={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=a),n.font=s+"px "+t;for(var c=0;c<r.length;c++){var u=r[c],h=n.measureText(u[0]).width+n.measureText(u[1]).width,f=n.measureText(u).width;if(Math.abs(h-f)>s*l){var p=(f-h)/s;i[u]=1e3*p}}return i}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),a=t[0];a<t[1];a++){var i=n+String.fromCharCode(a);e.push(i)}return e}i.createPairs=o,i.ascii=a},{}],168:[function(t,e,r){(function(t){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),a=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===a[1]){e.exports=function(t){return n[0]=t,[a[0],a[1]]},e.exports.pack=function(t,e){return a[0]=t,a[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[0]},e.exports.hi=function(t){return n[0]=t,a[1]}}else if(1072693248===a[0]){e.exports=function(t){return n[0]=t,[a[1],a[0]]},e.exports.pack=function(t,e){return a[1]=t,a[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[1]},e.exports.hi=function(t){return n[0]=t,a[0]}}else r=!1}if(!r){var i=new t(8);e.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},e.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},e.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:106}],169:[function(t,e,r){var n=t("abs-svg-path"),a=t("normalize-svg-path"),i={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),a(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[i[r]].apply(t,n)}),t.closePath()}},{"abs-svg-path":62,"normalize-svg-path":453}],170:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],171:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case"object":if("number"==typeof t.length)return function t(e,r,n){var a=0|e[n];if(a<=0)return[];var i,o=new Array(a);if(n===e.length-1)for(i=0;i<a;++i)o[i]=r;else for(i=0;i<a;++i)o[i]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],172:[function(t,e,r){"use strict";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,v=e&&e.length,m=v?e[0]*r:t.length,y=a(t,0,m,r,!0),x=[];if(!y||y.next===y.prev)return x;if(v&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=a(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(g(u));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=i(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<m;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function a(t,e,r,n,a){var i,o;if(a===E(t,e,r,n)>0)for(i=e;i<r;i+=n)o=A(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=A(i,t[i],t[i+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,a,h,f){if(t){!f&&h&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=d(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,h);for(var p,g,v=t;t.prev!==t.next;)if(p=t.prev,g=t.next,h?l(t,n,a,h):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=c(i(t),e,r),e,r,n,a,h,2):2===f&&u(t,e,r,n,a,h):o(i(t),e,r,n,a,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(v(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&y(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function l(t,e,r,n){var a=t.prev,i=t,o=t.next;if(y(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=d(s,l,e,r,n),f=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=h&&g&&g.z<=f;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=f;){if(g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var a=n.prev,o=n.next.next;!x(a,o)&&b(a,n,n.next,o)&&k(a,o)&&k(o,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return i(n)}function u(t,e,r,n,a,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=T(l,c);return l=i(l,l.next),u=i(u,u.next),o(l,e,r,n,a,s),void o(u,e,r,n,a,s)}c=c.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&v(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),k(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=T(e,t);i(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function v(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(k(t,e)&&k(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var a=w(y(t,e,r)),i=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return a!==i&&o!==s||(!(0!==a||!_(t,r,e))||(!(0!==i||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function k(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function T(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function A(t,e,r,n){var a=new S(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(E(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r}},{}],173:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var a=0;a<r;++a){var i=t[a];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),a=0;a<e;++a)o[a]=[];for(var a=0;a<r;++a){var i=t[a];o[i[0]].push(i[1]),o[i[1]].push(i[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t("uniq")},{uniq:545}],174:[function(t,e,r){var n=t("strongly-connected-components");e.exports=function(t){var e,r=[],a=[],i=[],o={},s=[];function l(t){var r,n,u=!1;for(a.push(t),i[t]=!0,r=0;r<s[t].length;r++)(n=s[t][r])===e?(c(e,a),u=!0):i[n]||(u=l(n));if(u)!function t(e){i[e]=!1,o.hasOwnProperty(e)&&Object.keys(o[e]).forEach(function(r){delete o[e][r],i[r]&&t(r)})}(t);else for(r=0;r<s[t].length;r++){n=s[t][r];var h=o[n];h||(h={},o[n]=h),h[n]=!0}return a.pop(),u}function c(t,e){var n=[].concat(e).concat(t);r.push(n)}function u(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter(function(t){return t>=e})}(e);for(var r,a=n(t).components.filter(function(t){return t.length>1}),i=1/0,o=0;o<a.length;o++)for(var s=0;s<a[o].length;s++)a[o][s]<i&&(i=a[o][s],r=o);var l=a[r];return!!l&&{leastVertex:i,adjList:t.map(function(t,e){return-1===l.indexOf(e)?[]:t.filter(function(t){return-1!==l.indexOf(t)})})}}e=0;for(var h=t.length;e<h;){var f=u(e);if(e=f.leastVertex,s=f.adjList){for(var p=0;p<s.length;p++)for(var d=0;d<s[p].length;d++){var g=s[p][d];i[+g]=!1,o[g]={}}l(e),e+=1}else e=h}return r}},{"strongly-connected-components":528}],175:[function(t,e,r){"use strict";var n=t("../../object/valid-value");e.exports=function(){return n(this).length=0,this}},{"../../object/valid-value":207}],176:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Array.from:t("./shim")},{"./is-implemented":177,"./shim":178}],177:[function(t,e,r){"use strict";e.exports=function(){var t,e,r=Array.from;return"function"==typeof r&&(e=r(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},{}],178:[function(t,e,r){"use strict";var n=t("es6-symbol").iterator,a=t("../../function/is-arguments"),i=t("../../function/is-function"),o=t("../../number/to-pos-integer"),s=t("../../object/valid-callable"),l=t("../../object/valid-value"),c=t("../../object/is-value"),u=t("../../string/is-string"),h=Array.isArray,f=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,v,m,y,x,b,_,w,k=arguments[1],T=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&i(this))e=this;else{if(!k){if(a(t))return 1!==(m=t.length)?Array.apply(null,t):((v=new Array(1))[0]=t[0],v);if(h(t)){for(v=new Array(m=t.length),r=0;r<m;++r)v[r]=t[r];return v}}v=[]}if(!h(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(v=new e),b=x.next(),r=0;!b.done;)w=k?f.call(k,T,b.value,r):b.value,e?(p.value=w,d(v,r,p)):v[r]=w,b=x.next(),++r;m=r}else if(u(t)){for(m=t.length,e&&(v=new e),r=0,g=0;r<m;++r)w=t[r],r+1<m&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=k?f.call(k,T,w,g):w,e?(p.value=w,d(v,g,p)):v[g]=w,++g;m=g}if(void 0===m)for(m=o(t.length),e&&(v=new e(m)),r=0;r<m;++r)w=k?f.call(k,T,t[r],r):t[r],e?(p.value=w,d(v,r,p)):v[r]=w;return e&&(p.value=null,v.length=m),v}},{"../../function/is-arguments":179,"../../function/is-function":180,"../../number/to-pos-integer":186,"../../object/is-value":196,"../../object/valid-callable":205,"../../object/valid-value":207,"../../string/is-string":211,"es6-symbol":221}],179:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===a}},{}],180:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call(t("./noop"));e.exports=function(t){return"function"==typeof t&&n.call(t)===a}},{"./noop":181}],181:[function(t,e,r){"use strict";e.exports=function(){}},{}],182:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Math.sign:t("./shim")},{"./is-implemented":183,"./shim":184}],183:[function(t,e,r){"use strict";e.exports=function(){var t=Math.sign;return"function"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],184:[function(t,e,r){"use strict";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],185:[function(t,e,r){"use strict";var n=t("../math/sign"),a=Math.abs,i=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*i(a(t)):t}},{"../math/sign":182}],186:[function(t,e,r){"use strict";var n=t("./to-integer"),a=Math.max;e.exports=function(t){return a(0,n(t))}},{"./to-integer":185}],187:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./valid-value"),i=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(a(r)),n(c),u=s(r),f&&u.sort("function"==typeof f?i.call(f,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e})}}},{"./valid-callable":205,"./valid-value":207}],188:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":189,"./shim":190}],189:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],190:[function(t,e,r){"use strict";var n=t("../keys"),a=t("../valid-value"),i=Math.max;e.exports=function(t,e){var r,o,s,l=i(arguments.length,2);for(t=Object(a(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{"../keys":197,"../valid-value":207}],191:[function(t,e,r){"use strict";var n=t("../array/from"),a=t("./assign"),i=t("./valid-value");e.exports=function(t){var e=Object(i(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,function(e){(o.ensure||e in t)&&(s[e]=t[e])}):a(s,t),s}},{"../array/from":176,"./assign":188,"./valid-value":207}],192:[function(t,e,r){"use strict";var n,a,i,o,s=Object.create;t("./set-prototype-of/is-implemented")()||(n=t("./set-prototype-of/shim")),e.exports=n?1!==n.level?s:(a={},i={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){i[t]="__proto__"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(a,i),Object.defineProperty(n,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:a}),function(t,e){return s(null===t?a:t,e)}):s},{"./set-prototype-of/is-implemented":203,"./set-prototype-of/shim":204}],193:[function(t,e,r){"use strict";e.exports=t("./_iterate")("forEach")},{"./_iterate":187}],194:[function(t,e,r){"use strict";e.exports=function(t){return"function"==typeof t}},{}],195:[function(t,e,r){"use strict";var n=t("./is-value"),a={function:!0,object:!0};e.exports=function(t){return n(t)&&a[typeof t]||!1}},{"./is-value":196}],196:[function(t,e,r){"use strict";var n=t("../function/noop")();e.exports=function(t){return t!==n&&null!==t}},{"../function/noop":181}],197:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.keys:t("./shim")},{"./is-implemented":198,"./shim":199}],198:[function(t,e,r){"use strict";e.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},{}],199:[function(t,e,r){"use strict";var n=t("../is-value"),a=Object.keys;e.exports=function(t){return a(n(t)?Object(t):t)}},{"../is-value":196}],200:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./for-each"),i=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),a(t,function(t,n,a,s){r[n]=i.call(e,o,t,n,a,s)}),r}},{"./for-each":193,"./valid-callable":205}],201:[function(t,e,r){"use strict";var n=t("./is-value"),a=Array.prototype.forEach,i=Object.create;e.exports=function(t){var e=i(null);return a.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{"./is-value":196}],202:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.setPrototypeOf:t("./shim")},{"./is-implemented":203,"./shim":204}],203:[function(t,e,r){"use strict";var n=Object.create,a=Object.getPrototypeOf,i={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return"function"==typeof t&&a(t(e(null),i))===i}},{}],204:[function(t,e,r){"use strict";var n,a,i,o,s=t("../is-object"),l=t("../valid-value"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,h={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError("Prototype must be null or an object")},e.exports=(a=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}())?(2===a.level?a.set?(o=a.set,i=function(t,e){return o.call(n(t,e),e),t}):i=function(t,e){return n(t,e).__proto__=e,t}:i=function t(e,r){var a;return n(e,r),(a=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,a&&u(t.nullPolyfill,"__proto__",h),e},Object.defineProperty(i,"level",{configurable:!1,enumerable:!1,writable:!1,value:a.level})):null,t("../create")},{"../create":192,"../is-object":195,"../valid-value":207}],205:[function(t,e,r){"use strict";e.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},{}],206:[function(t,e,r){"use strict";var n=t("./is-object");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not an Object");return t}},{"./is-object":195}],207:[function(t,e,r){"use strict";var n=t("./is-value");e.exports=function(t){if(!n(t))throw new TypeError("Cannot use null or undefined");return t}},{"./is-value":196}],208:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?String.prototype.contains:t("./shim")},{"./is-implemented":209,"./shim":210}],209:[function(t,e,r){"use strict";var n="razdwatrzy";e.exports=function(){return"function"==typeof n.contains&&(!0===n.contains("dwa")&&!1===n.contains("foo"))}},{}],210:[function(t,e,r){"use strict";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],211:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===a)||!1}},{}],212:[function(t,e,r){"use strict";var n=Object.create(null),a=Math.random;e.exports=function(){var t;do{t=a().toString(36).slice(2)}while(n[t]);return t}},{}],213:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?i.call(e,"key+value")?"key+value":i.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},a&&a(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es5-ext/string/#/contains":208,"es6-symbol":221}],214:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/valid-callable"),i=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,h,f,p,d,g,v,m=arguments[2];if(s(t)||n(t)?r="array":i(t)?r="string":t=o(t),a(e),h=function(){f=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,m,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(v=g.charCodeAt(0))>=55296&&v<=56319&&(g+=t[++p]),l.call(e,m,g,h),!f);++p);else c.call(t,function(t){return l.call(e,m,t,h),f})}},{"./get":215,"es5-ext/function/is-arguments":179,"es5-ext/object/valid-callable":205,"es5-ext/string/is-string":211}],215:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/string/is-string"),i=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new i(t):a(t)?new o(t):new i(t)}},{"./array":213,"./string":218,"./valid-iterable":219,"es5-ext/function/is-arguments":179,"es5-ext/string/is-string":211,"es6-symbol":221}],216:[function(t,e,r){"use strict";var n,a=t("es5-ext/array/#/clear"),i=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),h=Object.defineProperty,f=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");f(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,f(n.prototype,i({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)}),toString:l(function(){return"[object "+(this[u.toStringTag]||"Object")+"]"})},c({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):h(this,"__redo__",l("c",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&a.call(this.__redo__),this.__nextIndex__=0})}))),h(n.prototype,u.iterator,l(function(){return this}))},{d:152,"d/auto-bind":151,"es5-ext/array/#/clear":175,"es5-ext/object/assign":188,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207,"es6-symbol":221}],217:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/is-value"),i=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!a(t)&&(!!s(t)||(!!i(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":179,"es5-ext/object/is-value":196,"es5-ext/string/is-string":211,"es6-symbol":221}],218:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",i("",t.length))},a&&a(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:i(function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,i("c","String Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es6-symbol":221}],219:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":217}],220:[function(t,e,r){(function(n,a){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},i=0,o=void 0,s=void 0,l=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(s?s(v):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},h=u.MutationObserver||u.WebKitMutationObserver,f="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(v,1)}}var g=new Array(1e3);function v(){for(var t=0;t<i;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}i=0}var m,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,a=new this.constructor(A);void 0===a[T]&&U(a);var i,o=n._state;return o?(i=r[o-1],l(function(){return j(o,a,i,n._result)})):R(n,a,t,e),a}function k(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(A);return O(e,t),e}f?_=function(){return n.nextTick(v)}:h?(y=0,x=new h(v),b=document.createTextNode(""),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((m=new MessageChannel).port1.onmessage=v,_=function(){return m.port2.postMessage(0)}):_=void 0===c&&"function"==typeof t?function(){try{var e=t("vertx");return o=e.runOnLoop||e.runOnContext,function(){o(v)}}catch(t){return d()}}():d();var T=Math.random().toString(36).substring(16);function A(){}var M=void 0,S=1,E=2,L=new B;function C(t){try{return t.then}catch(t){return L.error=t,L}}function P(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?I(t,e._result):e._state===E?D(t,e._result):R(e,void 0,function(e){return O(t,e)},function(e){return D(t,e)})}(t,r):n===L?D(t,L.error):void 0===n?I(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,a=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?O(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&a&&(n=!0,D(t,a))},t)}(t,r,n):I(t,r)}function O(t,e){var r;t===e?D(t,new TypeError("You cannot resolve a promise with itself")):"function"==typeof(r=e)||"object"==typeof r&&null!==r?P(t,e,C(e)):I(t,e)}function z(t){t._onerror&&t._onerror(t._result),F(t)}function I(t,e){t._state===M&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(F,t))}function D(t,e){t._state===M&&(t._state=E,t._result=e,l(z,t))}function R(t,e,r,n){var a=t._subscribers,i=a.length;t._onerror=null,a[i]=e,a[i+S]=r,a[i+E]=n,0===i&&t._state&&l(F,t)}function F(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,a=void 0,i=t._result,o=0;o<e.length;o+=3)n=e[o],a=e[o+r],n?j(r,n,a,i):a(i);t._subscribers.length=0}}function B(){this.error=null}var N=new B;function j(t,r,n,a){var i=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(i){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,a))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void D(r,new TypeError("A promises callback cannot return that same promise."))}else o=a,l=!0;r._state!==M||(i&&l?O(r,o):c?D(r,s):t===S?I(r,o):t===E&&D(r,o))}var V=0;function U(t){t[T]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[T]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error("Array Methods must be provided an Array"))}function H(t){this[T]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof H?function(t,e){try{e(function(e){O(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}function G(){var t=void 0;if("undefined"!=typeof a)t=a;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===r&&!e.cast)return}t.Promise=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===M&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var a=C(t);if(a===w&&t._state!==M)this._settledAt(t._state,e,t._result);else if("function"!=typeof a)this._remaining--,this._result[e]=t;else if(r===H){var i=new r(A);P(i,t,a),this._willSettleAt(i,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===M&&(this._remaining--,t===E?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(E,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var a=t.length,i=0;i<a;i++)e.resolve(t[i]).then(r,n)}):new e(function(t,e){return e(new TypeError("You must pass an array to race."))})},H.resolve=k,H.reject=function(t){var e=new this(A);return D(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:483}],221:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Symbol:t("./polyfill")},{"./is-implemented":222,"./polyfill":224}],222:[function(t,e,r){"use strict";var n={object:!0,symbol:!0};e.exports=function(){var t;if("function"!=typeof Symbol)return!1;t=Symbol("test symbol");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],223:[function(t,e,r){"use strict";e.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&("Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))}},{}],224:[function(t,e,r){"use strict";var n,a,i,o,s=t("d"),l=t("./validate-symbol"),c=Object.create,u=Object.defineProperties,h=Object.defineProperty,f=Object.prototype,p=c(null);if("function"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||"")];)++n;return d[t+=n||""]=!0,h(f,e="@@"+t,s.gs(null,function(t){r||(r=!0,h(this,e,s(t)),r=!1)})),e});i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return a(t)},e.exports=a=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return o?n(e):(r=c(i.prototype),e=void 0===e?"":String(e),u(r,{__description__:s("",e),__name__:s("",g(e))}))},u(a,{for:s(function(t){return p[t]?p[t]:p[t]=a(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s("",n&&n.hasInstance||a("hasInstance")),isConcatSpreadable:s("",n&&n.isConcatSpreadable||a("isConcatSpreadable")),iterator:s("",n&&n.iterator||a("iterator")),match:s("",n&&n.match||a("match")),replace:s("",n&&n.replace||a("replace")),search:s("",n&&n.search||a("search")),species:s("",n&&n.species||a("species")),split:s("",n&&n.split||a("split")),toPrimitive:s("",n&&n.toPrimitive||a("toPrimitive")),toStringTag:s("",n&&n.toStringTag||a("toStringTag")),unscopables:s("",n&&n.unscopables||a("unscopables"))}),u(i.prototype,{constructor:s(a),toString:s("",function(){return this.__name__})}),u(a.prototype,{toString:s(function(){return"Symbol ("+l(this).__description__+")"}),valueOf:s(function(){return l(this)})}),h(a.prototype,a.toPrimitive,s("",function(){var t=l(this);return"symbol"==typeof t?t:t.toString()})),h(a.prototype,a.toStringTag,s("c","Symbol")),h(i.prototype,a.toStringTag,s("c",a.prototype[a.toStringTag])),h(i.prototype,a.toPrimitive,s("c",a.prototype[a.toPrimitive]))},{"./validate-symbol":225,d:152}],225:[function(t,e,r){"use strict";var n=t("./is-symbol");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},{"./is-symbol":223}],226:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,a=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[a*t[12]-t[8],a*t[13]-t[9],a*t[14]-t[10],a*t[15]-t[11]]]}},{}],227:[function(t,e,r){"use strict";var n=t("is-string-blank");e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},{"is-string-blank":424}],228:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if("number"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),a=t("binary-search-bounds");function i(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=a.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=a.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,h=this.bounds;if(o<0)for(var f=u-1,p=0;p<u;++p,--f)s[p]=l[f];else if(o>=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--f)s[p]=l[f]+d*c[f]}else{f=u*(o+1)-1;var g=e[o],v=e[o+1]-g||1,m=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--f)m[p]=l[f],x[p]=c[f]*v,y[p]=l[f+u],b[p]=c[f+u]*v,_=_&&m[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=m[p];else n(m,x,y,b,(t-g)/v,s)}var w=h[0],k=h[1];for(p=0;p<u;++p)s[p]=i(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,i=a.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(i>=r-1)for(var u=s.length-1,h=(e[r-1],0);h<c;++h,--u)o[h]=l[u];else{u=c*(i+1)-1;var f=e[i],p=e[i+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(h=0;h<c;++h,--u)d[h]=s[u],v[h]=l[u]*p,g[h]=s[u+c],m[h]=l[u+c]*p,y=y&&d[h]===g[h]&&v[h]===m[h]&&0===v[h];if(y)for(h=0;h<c;++h)o[h]=0;else{n.derivative(d,v,g,m,(t-f)/p,o);for(h=0;h<c;++h)o[h]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var h=0;h<r;++h)n.push(n[o++]),a.push(0);this._time.push(t);for(h=r;h>0;--h)n.push(i(l[h-1],c[h-1],arguments[h])),a.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=i(c[f-1],u[f-1],arguments[f]);n.push(p),a.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(i(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(i(l[f-1],c[f-1],n[o++]+p)),a.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,a=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)n.push(i(l[h],c[h],n[o]+u*a[o])),a.push(0),o+=1}}},{"binary-search-bounds":92,"cubic-hermite":146}],229:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var a,i,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(a=0,o=r;a<t.length;a++)for(i=0;i<l;i++)e[o++]=null===t[a][i]?NaN:t[a][i]}else if(e&&"string"!=typeof e)e.set(t,r);else{var h=n(e||"float32");if(Array.isArray(t)||"array"===e)for(e=new h(t.length+r),a=0,o=r,s=e.length;o<s;o++,a++)e[o]=null===t[a]?NaN:t[a];else 0===r?e=new h(t):(e=new h(t.length+r)).set(t,r)}return e}},{dtype:170}],230:[function(t,e,r){"use strict";var n=t("css-font/stringify"),a=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement("canvas"),i=t.font,o="number"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||a;i&&"string"!=typeof i&&(i=n(i));if(Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");e=e.slice(),r.width=e[0],r.height=e[1];var h=r.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,r.width,r.height),h.font=i,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";for(var f=o[0]/2,p=o[1]/2,c=0;c<s.length;c++)h.fillText(s[c],f,p),(f+=o[0])>e[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":143}],231:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return a(n.cache[r],c);var u=e.canvas||n.canvas,h=u.getContext("2d"),f={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d={top:0};h.clearRect(0,0,p,p),h.textBaseline="top",h.fillStyle="black",h.fillText("H",0,0);var g=i(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline="bottom",h.fillText("H",0,p);var v=i(h.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-v+g,h.clearRect(0,0,p,p),h.textBaseline="alphabetic",h.fillText("H",0,p);var m=p-i(h.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=m,h.clearRect(0,0,p,p),h.textBaseline="middle",h.fillText("H",0,.5*p);var y=i(h.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="hanging",h.fillText("H",0,.5*p);var x=i(h.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="ideographic",h.fillText("H",0,p);var b=i(h.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.upper,0,0),d.upper=i(h.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.lower,0,0),d.lower=i(h.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.tittle,0,0),d.tittle=i(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.ascent,0,0),d.ascent=i(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.descent,0,0),d.descent=o(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.overshoot,0,0);var _=o(h.getImageData(0,0,p,p));d.overshoot=_-m}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,a(d,c)}function a(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function i(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],232:[function(t,e,r){"use strict";e.exports=function(t){return new c(t||d,null)};var n=0,a=1;function i(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function o(t){return new i(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new i(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,"keys",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,"values",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,"length",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],h=[];o;){var f=r(t,o.key);u.push(o),h.push(f),o=f<=0?o.left:o.right}u.push(new i(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];h[p]<=0?u[p]=new i(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new i(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===a||o._color===a)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(v=g.right)||v._color!==n){if(g._color=n,g.left=d.right,d._color=a,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).left===g?m.left=d:m.right=d;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else{if(!(v=g.right)||v._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=a,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).left===g?m.left=o:m.right=o;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else if(d.right===o){if(!(v=g.left)||v._color!==n){if(g._color=n,g.right=d.left,d._color=a,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).right===g?m.right=d:m.left=d;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}else{var v;if(!(v=g.left)||v._color!==n){var m;if(d.left=o.right,g._color=n,g.right=o.left,o._color=a,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).right===g?m.right=o:m.left=o;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}}return u[0]._color=a,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,a){if(r(e,a.key)<=0){var i;if(a.left&&(i=t(e,r,n,a.left)))return i;if(i=n(a.key,a.value))return i}if(a.right)return t(e,r,n,a.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,a,i){var o,s=n(e,i.key),l=n(r,i.key);if(s<=0){if(i.left&&(o=t(e,r,n,a,i.left)))return o;if(l>0&&(o=a(i.key,i.value)))return o}if(l>0&&i.right)return t(e,r,n,a,i.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),u.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new h(this,n);r=a<=0?r.left:r.right}return new h(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=h.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new h(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new i(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new i(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var h=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var f=e[h-1];e.push(new i(r._color,f.key,f.value,r.left,r.right,r._count)),e[h-1].key=r.key,e[h-1].value=r.value;for(u=e.length-2;u>=h;--u)r=e[u],e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count);e[h-1].left=e[h]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=a;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,i,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=a);if((r=t[u-1]).left===e){if((i=r.right).right&&i.right._color===n)return c=(i=r.right=o(i)).right=o(i.right),r.right=i.left,i.left=r,i.right=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),void(t[u-1]=i);if(i.left&&i.left._color===n)return c=(i=r.right=o(i)).left=o(i.left),r.right=c.left,i.left=c.right,c.left=r,c.right=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).left===r?h.left=c:h.right=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.right=s(n,i));r.right=s(n,i);continue}i=o(i),r.right=i.left,i.left=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((i=r.left).left&&i.left._color===n)return c=(i=r.left=o(i)).left=o(i.left),r.left=i.right,i.right=r,i.left=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),void(t[u-1]=i);if(i.right&&i.right._color===n)return c=(i=r.left=o(i)).right=o(i.right),r.left=c.right,i.right=c.left,c.right=r,c.left=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).right===r?h.right=c:h.left=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.left=s(n,i));r.left=s(n,i);continue}var h;i=o(i),r.left=i.right,i.right=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(f,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new i(n._color,n.key,t,n.left,n.right,n._count);for(var a=e.length-2;a>=0;--a)(n=e[a]).left===e[a+1]?r[a]=new i(n._color,n.key,n.value,r[a+1],n.right,n._count):r[a]=new i(n._color,n.key,n.value,n.left,r[a+1],n._count);return new c(this.tree._compare,r[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],233:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number("0/0");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r},e.exports.log=o},{}],234:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf("webgl")&&i.push("experimental-"+t);for(var o=0;o<i.length;o++)if(n=r.getContext(i[o],a))return n}catch(t){n=null}return n||null}},{}],235:[function(t,e,r){"use strict";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t("./lib/text.js"),a=t("./lib/lines.js"),i=t("./lib/background.js"),o=t("./lib/cube.js"),s=t("./lib/ticks.js"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=i(t)}var h=u.prototype;function f(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}h.update=function(t){function e(e,r,n){if(n in t){var a,i=t[n],o=this[n];(e?Array.isArray(i)&&Array.isArray(i[0]):Array.isArray(i))?this[n]=a=[r(i[0]),r(i[1]),r(i[2])]:this[n]=a=[r(i),r(i),r(i)];for(var s=0;s<3;++s)if(a[s]!==o[s])return!0}return!1}t=t||{};var r,i=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),u=!1,h=!1;if("bounds"in t)for(var f=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)f[p][d]!==this.bounds[p][d]&&(h=!0),this.bounds[p][d]=f[p][d];if("ticks"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else i("tickSpacing")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),h=!0,u=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort(function(t,e){return t.x-e.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),i("tickSize"),i("tickAngle"),i("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),o("labelEnable"),i("labelSize"),i("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),i("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),i("lineTickLength"),i("lineTickWidth"),c("lineTickColor"),o("gridEnable"),i("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),i("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=a(this.gl,this.bounds,this.ticks))};var p=[new f,new f,new f];function d(t,e,r,n,a){for(var i=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=i,f=s,p=o,d=l;c&1<<u&&(h=s,f=i,p=l,d=o),h[u]=r[0][u],f[u]=r[1][u],a[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};h.isOpaque=function(){return!0},h.isTransparent=function(){return!1},h.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],x=[0,0,0];h.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,u=o(r,n,a,i,s),h=u.cubeEdges,f=u.axis,b=n[12],_=n[13],w=n[14],k=n[15],T=(s?2:1)*this.pixelRatio*(a[3]*b+a[7]*_+a[11]*w+a[15]*k)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=h[A],this.lastCubeProps.axis[A]=f[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,h,f);e=this.gl;var S,E=g;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=f[A]:E[A]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(A=0;A<3;++A){var L=[0,0,0];f[A]>0?L[A]=i[1][A]:L[A]=i[0][A];for(var C=0;C<2;++C){var P=(A+1+C)%3,O=(A+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,O,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(A+1+C)%3,O=(A+1+(1^C))%3;this.zeroEnable[O]&&Math.min(i[0][O],i[1][O])<=0&&Math.max(i[0][O],i[1][O])>=0&&this._lines.drawZero(P,O,this.bounds,L,this.zeroLineColor[O],this.zeroLineWidth[O]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=c(m,M[A].primalMinor),I=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=T/r[5*C];z[C]*=D[C]*R,I[C]*=D[C]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,I,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0?N(n):i>0&&l<0?N(n):i<0&&l>0?N(n):i<0&&l<0?N(n):o>0&&s>0?N(a):o>0&&s<0?N(a):o<0&&s>0?N(a):o<0&&s<0&&N(a)}for(A=0;A<3;++A){var V=M[A].primalMinor,U=M[A].mirrorMinor,q=c(x,M[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(q[C]+=T*V[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,F=1,"auto"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]),B=[0,0,0],j(A,V,U);for(C=0;C<3;++C)q[C]+=T*V[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),"auto"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(C=0;C<3;++C)q[C]+=T*V[C]*this.labelPad[C]/r[5*C];q[A]+=.5*(i[0][A]+i[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},h.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":236,"./lib/cube.js":237,"./lib/lines.js":238,"./lib/text.js":240,"./lib/ticks.js":241}],236:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var g=-1;g<=1;g+=2)h[u]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var v=c;c=u,u=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=i(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,m,x,b)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:a,colors:i},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":239,"gl-buffer":243,"gl-vao":328}],237:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,p){a(s,e,t),a(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=i[x][2];for(var b=0;b<2;++b){u[1]=i[b][1];for(var _=0;_<2;++_)u[0]=i[_][0],f(l[y],u,s),y+=1}}for(var w=-1,x=0;x<8;++x){for(var k=l[x][3],T=0;T<3;++T)c[x][T]=l[x][T]/k;p&&(c[x][2]*=-1),k<0&&(w<0?w=x:c[x][2]<c[w][2]&&(w=x))}if(w<0){w=0;for(var A=0;A<3;++A){for(var M=(A+2)%3,S=(A+1)%3,E=-1,L=-1,C=0;C<2;++C){var P=C<<A,O=P+(C<<M)+(1-C<<S),z=P+(1-C<<M)+(C<<S);o(c[P],c[O],c[z],h)<0||(C?E=1:L=1)}if(E<0||L<0)L>E&&(w|=1<<A);else{for(var C=0;C<2;++C){var P=C<<A,O=P+(C<<M)+(1-C<<S),z=P+(1-C<<M)+(C<<S),I=d([l[P],l[O],l[z],l[P+(1<<M)+(1<<S)]]);C?E=I:L=I}L>E&&(w|=1<<A)}}}for(var D=7^w,R=-1,x=0;x<8;++x)x!==w&&x!==D&&(R<0?R=x:c[R][1]>c[x][1]&&(R=x));for(var F=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D){F<0&&(F=B);var S=c[B];S[0]<c[F][0]&&(F=B)}}for(var N=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D&&B!==F){N<0&&(N=B);var S=c[B];S[0]>c[N][0]&&(N=B)}}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^N)]=R&N;var V=7^N;V===w||V===D?(V=7^F,j[n.log2(N^V)]=V&N):j[n.log2(F^V)]=V&F;for(var U=v,q=w,A=0;A<3;++A)U[A]=q&1<<A?-1:1;return m};var n=t("bit-twiddle"),a=t("gl-mat4/multiply"),i=t("split-polygon"),o=t("robust-orientation"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),h=[0,0,0];function f(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var a=0;a<3;++a)t[n]+=e[a]*r[4*a+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=i.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],a=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-a,h=l[0]/l[3]-n,f=l[1]/l[3]-a;o+=Math.abs(c*f-u*h)}return o}var g=[1,1,1],v=[0,0,0],m={cubeEdges:g,axis:v}},{"bit-twiddle":93,"gl-mat4/multiply":269,"robust-orientation":508,"split-polygon":525}],238:[function(t,e,r){"use strict";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h<3;++h){for(var f=o.length/3|0,d=0;d<r[h].length;++d){var g=+r[h][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;s[h]=f,l[h]=v-f;for(var f=o.length/3|0,m=0;m<r[h].length;++m){var g=+r[h][m].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;c[h]=f,u[h]=v-f}var y=n(t,new Float32Array(o)),x=a(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=i(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function h(t){return t[0]=t[1]=t[2]=0,t}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,a,i,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=a,this.tickOffset=i,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,a){var i=h(s);this.shader.uniforms.majorAxis=s,i[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=i;var o,u=f(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=n,(o=h(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=h(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,a){if(this.tickCount[t]){var i=h(o);i[t]=1,this.shader.uniforms.majorAxis=i,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=a;var s=h(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,a,i){if(this.gridCount[t]){var u=h(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=f(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=h(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=h(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,a,i){var o=h(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=f(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=h(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{"./shaders":239,"gl-buffer":243,"gl-vao":328}],239:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n  vec3 major = position.x * majorAxis;\n  vec3 minor = position.y * minorAxis;\n\n  vec3 vPosition = major + minor + offset;\n  vec3 pPosition = project(vPosition);\n  vec3 offset = project(vPosition + screenAxis * position.z);\n\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);r.line=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"}])};var s=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n  vec3 A = project(a);\n  vec3 B = project(b);\n\n  return atan(\n    (B.y - A.y) * resolution.y,\n    (B.x - A.x) * resolution.x\n  );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio =       alignOpt.y;\nbool enableAlign =    (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n  return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n  return mod_angle((a < 0.0) ?\n    a + TWO_PI :\n    a\n  );\n}\n\nfloat look_upwards(float a) {\n  float b = positive_angle(a);\n  return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n    b - PI :\n    b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n  // ratio controls the ratio between being horizontal to (vertical + horizontal)\n  // if ratio is set to 0.5 then it is 50%, 50%.\n  // when using a higher ratio e.g. 0.75 the result would\n  // likely be more horizontal than vertical.\n\n  float b = positive_angle(a);\n\n  return\n    (b < (      ratio) * HALF_PI) ? 0.0 :\n    (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n    (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n    (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n                                    0.0;\n}\n\nfloat roundTo(float a, float b) {\n  return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n  float b = positive_angle(a);\n  float div = TWO_PI / float(n);\n  float c = roundTo(b, div);\n  return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n  return\n    (option >  2) ? look_round_n_directions(rawAngle + delta, option) :       // option 3-n: round to n directions\n    (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n    (option == 1) ? rawAngle + delta :       // use free angle, and flip to align with one direction of the axis\n    (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n    (option ==-1) ? 0.0 :                    // useful for backward compatibility, all texts remains horizontal\n                    rawAngle;                // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n                   (axis.y == 0.0) &&\n                   (axis.z == 0.0);\n\nvoid main() {\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n\n  float beta = angle; // i.e. user defined attributes for each tick\n\n  float axisAngle;\n  float clipAngle;\n  float flip;\n\n  if (enableAlign) {\n    axisAngle = (isAxisTitle) ? HALF_PI :\n                      computeViewAngle(dataPosition, dataPosition + axis);\n    clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n    axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n    clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n    flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n                vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n    beta += applyAlignOption(clipAngle, flip * PI);\n  }\n\n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n\n  mat2 planeXform = scale * mat2(\n     cos(beta), sin(beta),\n    -sin(beta), cos(beta)\n  );\n\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute clip position\n  vec3 clipPosition = project(dataPosition);\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec3(viewOffset, 0.0);\n\n  //Done\n  gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);r.text=function(t){return a(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n  vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n  vec3 realNormal = signAxis * normal;\n\n  if(dot(realNormal, enable) > 0.0) {\n    vec3 minRange = min(bounds[0], bounds[1]);\n    vec3 maxRange = max(bounds[0], bounds[1]);\n    vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\n  } else {\n    gl_Position = vec4(0,0,0,0);\n  }\n\n  colorChannel = abs(realNormal);\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n  gl_FragColor = colorChannel.x * colors[0] +\n                 colorChannel.y * colors[1] +\n                 colorChannel.z * colors[2];\n}"]);r.bg=function(t){return a(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":303,glslify:410}],240:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,i,s,l){var u=n(t),h=a(t,[{buffer:u,size:3}]),f=o(t);f.attributes.position.location=0;var p=new c(t,f,u,h);return p.update(e,r,i,s,l),p};var n=t("gl-buffer"),a=t("gl-vao"),i=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,h=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return i(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:a,styletags:s}));for(var h=(n||12)/12,f=u.positions,p=u.cells,d=0,g=p.length;d<g;++d)for(var v=p[d],m=2;m>=0;--m){var y=f[v[m]];o.push(h*y[0],-h*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var g=0;g<n[d].length;++g)n[d][g].text&&s(n[d][g].x,n[d][g].text,n[d][g].font||a,n[d][g].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=h,this.labelCount=f},u.drawTicks=function(t,e,r,n,a,i,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,a,i,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t("_process"))},{"./shaders":239,_process:483,"gl-buffer":243,"gl-vao":328,"vectorize-text":548}],241:[function(t,e,r){"use strict";function n(t,e){var r=t+"",n=r.indexOf("."),a=0;n>=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/i,c=o%i;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),a){for(var h=""+c;h.length<a;)h="0"+h;return u+"."+h}return u}r.create=function(t,e){for(var r=[],a=0;a<3;++a){for(var i=[],o=(t[0][a],t[1][a],0);o*e[a]<=t[1][a];++o)i.push({x:o*e[a],text:n(e[a],o)});for(var o=-1;o*e[a]>=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var a=t[r][n],i=e[r][n];if(a.x!==i.x||a.text!==i.text||a.font!==i.font||a.fontColor!==i.fontColor||a.fontSize!==i.fontSize||a.dx!==i.dx||a.dy!==i.dy)return!1}}return!0}},{}],242:[function(t,e,r){"use strict";e.exports=function(t,e,r,l,h){var f=e.model||c,p=e.view||c,m=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(h=h||i(f,p,m,x,y)).axis;o(u,p,f),o(u,m,u);for(var _=g,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var k=n(s(u,u));s(u,u);for(var T=0;T<3;++T){var A=(T+1)%3,M=(T+2)%3,S=v;t:for(var w=0;w<2;++w){var E=[];if(b[T]<0!=!!w){S[T]=x[w][T];for(var L=0;L<2;++L){S[A]=x[L^w][A];for(var C=0;C<2;++C)S[M]=x[C^L^w][M],E.push(S.slice())}for(var P=y?5:4,L=P;L===P;++L){if(0===E.length)continue t;E=a.positive(E,k[L])}for(var L=0;L<E.length;++L)for(var M=E[L],O=d(v,u,M,r,l),C=0;C<3;++C)_[C].lo=Math.min(_[C].lo,M[C]),_[C].hi=Math.max(_[C].hi,M[C]),C!==T&&(_[C].pixelsPerDataUnit=Math.min(_[C].pixelsPerDataUnit,Math.abs(O[C])))}}}return _};var n=t("extract-frustum-planes"),a=t("split-polygon"),i=t("./lib/cube.js"),o=t("gl-mat4/multiply"),s=t("gl-mat4/transpose"),l=t("gl-vec4/transformMat4"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function h(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var f=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,a){for(var i=0;i<3;++i){for(var o=f,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[i]+=1,l(s,s,e),s[3]<0&&(t[i]=1/0),o[i]-=1,l(o,o,e),o[3]<0&&(t[i]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,h=(o[1]/o[3]-s[1]/s[3])*a;t[i]=.25*Math.sqrt(u*u+h*h)}return t}var g=[new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0)],v=[0,0,0]},{"./lib/cube.js":237,"extract-frustum-planes":226,"gl-mat4/multiply":269,"gl-mat4/transpose":278,"gl-vec4/transformMat4":399,"split-polygon":525}],243:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=t("ndarray-ops"),i=t("ndarray"),o=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function s(t,e,r,n,a){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=a}var l=s.prototype;function c(t,e,r,n,a,i){var o=a.length*a.BYTES_PER_ELEMENT;if(i<0)return t.bufferData(e,a,n),o;if(o+i>r)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,i,a),r}function u(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i<a;++i)r[i]=t[i];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if("number"!=typeof e&&(e=-1),this.bind(),"object"==typeof t&&"undefined"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension("OES_element_index_uint")&&"uint16"!==r?"uint32":"uint16";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=i(s,t.shape);a.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],244:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),i;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,g=[],v=1/0,m=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),c=Math.min(x[1],c),u=Math.max(x[1],u),h=Math.min(x[2],h),f=Math.max(x[2],f);var b=a[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(v=Math.min(v,_),m=!1):m=!0}m||(p=x,d=b),g.push(b)}var w=[s,c,h],k=[l,u,f];e&&(e[0]=w,e[1]=k),0===o&&(o=1);var T=1/o;isFinite(v)||(v=1),i.vectorScale=v;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*T),i.coneScale=A;y=0;for(var M=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],L=x[2],C=g[y],P=n.length(C)*T,O=0;O<8;O++){i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vertexIntensity.push(P,P,P),i.vertexIntensity.push(P,P,P);var z=i.positions.length;i.cells.push([z-6,z-5,z-4],[z-3,z-2,z-1])}return i};var a=t("./lib/shaders");e.exports.createMesh=t("./create_mesh"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:a,traceType:"cone"})}},{"./create_mesh":245,"./lib/shaders":246,"gl-vec3":347}],245:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("gl-mat4/multiply"),l=t("gl-mat4/invert"),c=t("ndarray"),u=t("colormap"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e,r,n,a,i,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=a,this.triangleVectors=i,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=h,this._view=h,this._projection=h,this._resolution=[1,1]}var p=f.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=a;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var v=0;v<p.length;++v){var m=p[v];d=Math.min(d,m),g=Math.max(g,m)}else for(v=0;v<n.length;++v){m=n[v][2];d=Math.min(d,m),g=Math.max(g,m)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(v=0;v<n.length;++v)for(var y=n[v],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;t:for(v=0;v<r.length;++v){var _=r[v];switch(_.length){case 3:for(x=0;x<3;++x){y=n[k=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue t}for(x=0;x<3;++x){var k;y=n[k=_[2-x]];i.push(y[0],y[1],y[2],y[3]);var T=a[k];o.push(T[0],T[1],T[2],T[3]||0);var A,M=f;3===M.length?s.push(M[0],M[1],M[2],1):s.push(M[0],M[1],M[2],M[3]),A=p?[(p[k]-d)/(g-d),0]:[(y[2]-d)/(g-d),0],l.push(A[0],A[1]),h.push(v)}b+=1}}this.triangleCount=b,this.trianglePositions.update(i),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(h))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var c={model:r,view:n,projection:a,inverseModel:h.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/f}if(this.triangleCount>0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?a.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),u=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),h=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=t.LINEAR_MIPMAP_LINEAR,h.magFilter=t.LINEAR;var p=a(t),d=a(t),g=a(t),v=a(t),m=a(t),y=new f(t,h,l,u,p,d,m,g,v,i(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return y.update(e),y}},{colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-shader":303,"gl-texture2d":323,"gl-vao":328,ndarray:451}],246:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * conePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\n  vec4 t_position  = view * conePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = conePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n  gl_Position = projection * view * conePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:410}],247:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34000:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],248:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":247}],249:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=a(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=i(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,a=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var i=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(a[3]*i+a[7]*s+a[11]*l+a[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var a=-1;a<=1;a+=2){var i=[0,0,0];i[(n+e)%3]=a,r.push(i)}t[e]=r}return t}();function h(t,e,r,n){for(var a=u[n],i=0;i<a.length;++i){var o=a[i];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return a.length}l.update=function(t){"lineWidth"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var a=[],i=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<i;++l){for(var u=r[l],f=0;f<3;++f)if(isNaN(u[f])||!isFinite(u[f]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length?d=[d[0],d[1],d[2],1]:4===d.length&&(d=[d[0],d[1],d[2],d[3]],!this.hasAlpha&&d[3]<1&&(this.hasAlpha=!0)),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(a)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":250,"gl-buffer":243,"gl-vao":328}],250:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n  vec4 worldPosition  = model * vec4(position, 1.0);\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n  gl_Position         = projection * view * worldPosition;\n  fragColor           = color;\n  fragPosition        = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":303,glslify:410}],251:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){a||(a=t.FRAMEBUFFER_UNSUPPORTED,i=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var a=new Array(r),i=0;i<n;++i)a[i]=t.COLOR_ATTACHMENT0+i;for(var i=n;i<r;++i)a[i]=t.NONE;l[n]=a}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if("number"!=typeof e)throw new Error("gl-fbo: Missing shape parameter");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var v=!1;"stencil"in n&&(v=!!n.stencil);return new d(t,e,r,f,h,g,v,c)};var a,i,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case a:throw new Error("gl-fbo: Framebuffer unsupported");case i:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(t,e,r,a,i,o){if(!a)return null;var s=n(t,e,r,i,a);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,a){var i=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,i),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,a,t.RENDERBUFFER,i),i}function d(t,e,r,n,a,i,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(a);for(var d=0;d<a;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=i,this._useStencil=o;var g=this,v=[0|e,0|r];Object.defineProperties(v,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=v,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),a=t._shape[0],i=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,v=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var m=0;m<o;++m)t.color[m]=f(r,a,i,v,r.RGBA,r.COLOR_ATTACHMENT0+m);0===o?(t._color_rb=p(r,a,i,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=f(r,a,i,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=f(r,a,i,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,a,i,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,a,i,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,a,i,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),m=0;m<t.color.length;++m)t.color[m].dispose(),t.color[m]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),h(x)}u(r,e)}(this)}var g=d.prototype;function v(t,e,r){if(t._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,a=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var i=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,i),h(s)),u(n,i)}}Object.defineProperties(g,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error("gl-fbo: Shape vector must be length 2");var e=0|t[0],r=0|t[1];return v(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return v(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,v(this,this._shape[0],t),t},enumerable:!1}}),g.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{"gl-texture2d":323}],252:[function(t,e,r){var n=t("sprintf-js").sprintf,a=t("gl-constants/lookup"),i=t("glsl-shader-name"),o=t("add-line-numbers");e.exports=function(t,e,r){"use strict";var s=i(e)||"of unknown name (see npm glsl-shader-name)",l="unknown type";void 0!==r&&(l=r===a.FRAGMENT_SHADER?"fragment":"vertex");for(var c=n("Error compiling %s shader %s:\n",l,s),u=n("%s%s",c,t),h=t.split("\n"),f={},p=0;p<h.length;p++){var d=h[p];if(""!==d&&"\0"!==d){var g=parseInt(d.split(":")[2]);if(isNaN(g))throw new Error(n("Could not parse error: %s",d));f[g]=d}}for(var v=o(e).split("\n"),p=0;p<v.length;p++)if(f[p+3]||f[p+2]||f[p+1]){var m=v[p];if(c+=m+"\n",f[p+1]){var y=f[p+1];y=y.substr(y.split(":",3).join(":").length+1).trim(),c+=n("^^^ %s\n\n",y)}}return{long:c.trim(),short:u.trim()}}},{"add-line-numbers":63,"gl-constants/lookup":248,"glsl-shader-name":402,"sprintf-js":526}],253:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),a=o(r,l.pickVertex,l.pickFragment),i=s(r),u=s(r),h=s(r),f=s(r),p=new c(t,n,a,i,u,h,f);return p.update(e),t.addObject(p),p};var n=t("binary-search-bounds"),a=t("iota-array"),i=t("typedarray-pool"),o=t("gl-shader"),s=t("gl-buffer"),l=t("./lib/shaders");function c(t,e,r,n,a,i,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=a,this.colorBuffer=i,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,h=c.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];h.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var a=t.gl,i=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=i[2]-i[0],c=i[3]-i[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-i[0])/l-1,u[7]=2*(r[1]-i[1])/c-1,e.bind();var h=e.uniforms;h.viewTransform=u,h.shape=this.shape;var f=e.attributes;this.positionBuffer.bind(),f.position.pointer(),this.weightBuffer.bind(),f.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),f.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,n)}}),h.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,a=this.pickShader,i=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=i[2]-i[0],u=i[3]-i[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*c/h,t[4]=2*u/f,t[6]=2*(i[0]-l[0])/h-1,t[7]=2*(i[1]-l[1])/f-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,a.bind();var d=a.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=a.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,a=this.shape[0]*this.shape[1];if(r<n||r>=n+a)return null;var i=r-n,o=this.xData,s=this.yData;return{object:this,pointId:i,dataCoord:[o[i%this.shape[0]],s[i/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),o=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,p=h[0]=r[0],d=h[1]=o[0],g=1/((h[2]=r[r.length-1])-p),v=1/((h[3]=o[o.length-1])-d),m=e[0],y=e[1];this.shape=[m,y];var x=(m-1)*(y-1)*(f.length>>>1);this.numVertices=x;for(var b=i.mallocUint8(4*x),_=i.mallocFloat32(2*x),w=i.mallocUint8(2*x),k=i.mallocUint32(x),T=0,A=0;A<y-1;++A)for(var M=v*(o[A]-d),S=v*(o[A+1]-d),E=0;E<m-1;++E)for(var L=g*(r[E]-p),C=g*(r[E+1]-p),P=0;P<f.length;P+=2){var O,z,I,D,R=f[P],F=f[P+1],B=s[(A+F)*m+(E+R)],N=n.le(l,B);if(N<0)O=c[0],z=c[1],I=c[2],D=c[3];else if(N===u-1)O=c[4*u-4],z=c[4*u-3],I=c[4*u-2],D=c[4*u-1];else{var j=(B-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);O=V*c[U]+j*c[q],z=V*c[U+1]+j*c[q+1],I=V*c[U+2]+j*c[q+2],D=V*c[U+3]+j*c[q+3]}b[4*T]=255*O,b[4*T+1]=255*z,b[4*T+2]=255*I,b[4*T+3]=255*D,_[2*T]=.5*L+.5*C,_[2*T+1]=.5*M+.5*S,w[2*T]=R,w[2*T+1]=F,k[T]=A*m+E,T+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),i.free(_),i.free(b),i.free(w),i.free(k)},h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{"./lib/shaders":254,"binary-search-bounds":255,"gl-buffer":243,"gl-shader":303,"iota-array":417,"typedarray-pool":543}],254:[function(t,e,r){"use strict";var n=t("glslify");e.exports={fragment:n(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  fragColor = color;\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n  vec2 d = step(.5, vWeight);\n  vec4 id = fragId + pickOffset;\n  id.x += d.x + d.y*shape.x;\n\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  gl_FragColor = id/255.;\n}\n"]),pickVertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n  vWeight = weight;\n\n  fragId = pickId;\n\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},{glslify:410}],255:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],256:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  vec4 startPoint = project(position);\n  vec4 endPoint   = project(nextPosition);\n\n  vec2 A = startPoint.xy / startPoint.w;\n  vec2 B =   endPoint.xy /   endPoint.w;\n\n  float clipAngle = atan(\n    (B.y - A.y) * screenShape.y,\n    (B.x - A.x) * screenShape.x\n  );\n\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n    sin(clipAngle),\n    -cos(clipAngle)\n  ) / screenShape;\n\n  gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3      clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float     dashScale;\nuniform float     opacity;\n\nvarying vec3    worldPosition;\nvarying float   pixelArcLength;\nvarying vec4    fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight < 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\nlowp vec4 encode_float_1540259130(highp float v) {\n  highp float av = abs(v);\n\n  //Handle special cases\n  if(av < FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v > FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v < -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  highp vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  highp float e = floor(log2(av));\n  highp float m = av * pow(2.0, -e) - 1.0;\n  \n  //Unpack mantissa\n  c[1] = floor(128.0 * m);\n  m -= c[1] / 128.0;\n  c[2] = floor(32768.0 * m);\n  m -= c[2] / 32768.0;\n  c[3] = floor(8388608.0 * m);\n  \n  //Unpack exponent\n  highp float ebias = e + 127.0;\n  c[0] = floor(ebias / 2.0);\n  ebias -= c[0] * 2.0;\n  c[1] += floor(ebias) * 128.0; \n\n  //Unpack sign bit\n  c[0] += 128.0 * step(0.0, -v);\n\n  //Scale back to range\n  return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return a(t,i,o,null,l)},r.createPickShader=function(t){return a(t,i,s,null,l)}},{"gl-shader":303,glslify:410}],257:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=a(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),f=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)f.data[p]=255;var d=i(e,f);d.wrap=e.REPEAT;var g=new v(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),a=t("gl-vao"),i=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,h=c.createPickShader,f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var a=t[n]-e[n];r+=a*a}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,a,i){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=a,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=i,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=v.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||f,view:t.view||f,projection:t.projection||f,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||f,view:t.view||f,projection:t.projection||f,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var a=[],i=[],o=[],c=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var d=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,v=!1;t:for(e=1;e<f.length;++e){var m,y,x,b=f[e-1],_=f[e];for(i.push(c),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&a.length>0){for(var w=0;w<24;++w)a.push(a[a.length-12]);u+=2,v=!0}continue t}h[0][r]=Math.min(h[0][r],b[r],_[r]),h[1][r]=Math.max(h[1][r],b[r],_[r])}Array.isArray(d[0])?(m=d.length>e-1?d[e-1]:d.length>0?d[d.length-1]:[0,0,0,1],y=d.length>e?d[e]:d.length>0?d[d.length-1]:[0,0,0,1]):m=y=d,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var k=c;if(c+=p(b,_),v){for(r=0;r<2;++r)a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3]);u+=2,v=!1}a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],c,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],c,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(a),i.push(c),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=i,"dashes"in t){var T=t.dashes.slice();for(T.unshift(0),e=1;e<T.length;++e)T[e]=T[e-1]+T[e];var A=l(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&s.le(T,T[T.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}},m.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},m.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],a=this.points[Math.min(r+1,this.points.length-1)],i=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-i,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+i*a[u];var h=Math.min(i<.5?r:r+1,this.points.length-1);return new g(e,c,h,this.points[h])}},{"./lib/shaders":256,"binary-search-bounds":258,"gl-buffer":243,"gl-texture2d":323,"gl-vao":328,"glsl-read-float":401,ndarray:451}],258:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],259:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*i-a*n;return o?(o=1/o,t[0]=i*o,t[1]=-n*o,t[2]=-a*o,t[3]=r*o,t):null}},{}],260:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=u*o-s*c,f=-u*i+s*l,p=c*i-o*l,d=r*h+n*f+a*p;return d?(d=1/d,t[0]=h*d,t[1]=(-u*n+a*c)*d,t[2]=(s*n-a*o)*d,t[3]=f*d,t[4]=(u*r-a*l)*d,t[5]=(-s*r+a*i)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*i)*d,t):null}},{}],261:[function(t,e,r){e.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],262:[function(t,e,r){e.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],263:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11],p=t[12],d=t[13],g=t[14],v=t[15];return(e*o-r*i)*(h*v-f*g)-(e*s-n*i)*(u*v-f*d)+(e*l-a*i)*(u*g-h*d)+(r*s-n*o)*(c*v-f*p)-(r*l-a*o)*(c*g-h*p)+(n*l-a*s)*(c*d-u*p)}},{}],264:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,l=a+a,c=r*o,u=n*o,h=n*s,f=a*o,p=a*s,d=a*l,g=i*o,v=i*s,m=i*l;return t[0]=1-h-d,t[1]=u+m,t[2]=f-v,t[3]=0,t[4]=u-m,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],265:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=n+n,l=a+a,c=i+i,u=n*s,h=n*l,f=n*c,p=a*l,d=a*c,g=i*c,v=o*s,m=o*l,y=o*c;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-m,t[3]=0,t[4]=h-y,t[5]=1-(u+g),t[6]=d+v,t[7]=0,t[8]=f+m,t[9]=d-v,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],266:[function(t,e,r){e.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],267:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,k=a*c-i*l,T=u*g-h*d,A=u*v-f*d,M=u*m-p*d,S=h*v-f*g,E=h*m-p*g,L=f*m-p*v,C=y*L-x*E+b*S+_*M-w*A+k*T;if(!C)return null;return C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(a*E-n*L-i*S)*C,t[2]=(g*k-v*w+m*_)*C,t[3]=(f*w-h*k-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-a*M+i*A)*C,t[6]=(v*b-d*k-m*x)*C,t[7]=(u*k-f*b+p*x)*C,t[8]=(o*E-s*M+c*T)*C,t[9]=(n*M-r*E-i*T)*C,t[10]=(d*w-g*b+m*y)*C,t[11]=(h*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*T)*C,t[13]=(r*S-n*A+a*T)*C,t[14]=(g*x-d*_-v*y)*C,t[15]=(u*_-h*x+f*y)*C,t}},{}],268:[function(t,e,r){var n=t("./identity");e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g=e[0],v=e[1],m=e[2],y=a[0],x=a[1],b=a[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(v-w)<1e-6&&Math.abs(m-k)<1e-6)return n(t);h=g-_,f=v-w,p=m-k,d=1/Math.sqrt(h*h+f*f+p*p),i=x*(p*=d)-b*(f*=d),o=b*(h*=d)-y*p,s=y*f-x*h,(d=Math.sqrt(i*i+o*o+s*s))?(i*=d=1/d,o*=d,s*=d):(i=0,o=0,s=0);l=f*s-p*o,c=p*i-h*s,u=h*o-f*i,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=i,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=c,t[6]=f,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(i*g+o*v+s*m),t[13]=-(l*g+c*v+u*m),t[14]=-(h*g+f*v+p*m),t[15]=1,t}},{"./identity":266}],269:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*v,t[2]=x*i+b*c+_*p+w*m,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*a+b*l+_*f+w*v,t[6]=x*i+b*c+_*p+w*m,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*a+b*l+_*f+w*v,t[10]=x*i+b*c+_*p+w*m,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*a+b*l+_*f+w*v,t[14]=x*i+b*c+_*p+w*m,t[15]=x*o+b*u+_*d+w*y,t}},{}],270:[function(t,e,r){e.exports=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t}},{}],271:[function(t,e,r){e.exports=function(t,e,r,n,a){var i=1/Math.tan(e/2),o=1/(n-a);return t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(a+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*a*n*o,t[15]=0,t}},{}],272:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_,w,k,T,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);if(Math.abs(P)<1e-6)return null;E*=P=1/P,L*=P,C*=P,a=Math.sin(r),i=Math.cos(r),o=1-i,s=e[0],l=e[1],c=e[2],u=e[3],h=e[4],f=e[5],p=e[6],d=e[7],g=e[8],v=e[9],m=e[10],y=e[11],x=E*E*o+i,b=L*E*o+C*a,_=C*E*o-L*a,w=E*L*o-C*a,k=L*L*o+i,T=C*L*o+E*a,A=E*C*o+L*a,M=L*C*o-E*a,S=C*C*o+i,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+v*_,t[2]=c*x+p*b+m*_,t[3]=u*x+d*b+y*_,t[4]=s*w+h*k+g*T,t[5]=l*w+f*k+v*T,t[6]=c*w+p*k+m*T,t[7]=u*w+d*k+y*T,t[8]=s*A+h*M+g*S,t[9]=l*A+f*M+v*S,t[10]=c*A+p*M+m*S,t[11]=u*A+d*M+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],273:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t}},{}],274:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a-c*n,t[1]=o*a-u*n,t[2]=s*a-h*n,t[3]=l*a-f*n,t[8]=i*n+c*a,t[9]=o*n+u*a,t[10]=s*n+h*a,t[11]=l*n+f*a,t}},{}],275:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t}},{}],276:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],277:[function(t,e,r){e.exports=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],v=r[1],m=r[2];e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=a*g+l*v+f*m+e[13],t[14]=i*g+c*v+p*m+e[14],t[15]=o*g+u*v+d*m+e[15]);return t}},{}],278:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},{}],279:[function(t,e,r){"use strict";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:a(t,e);break;case 16:i(t,e);break;default:throw new Error("currently supports matrices up to 4x4")}return t};var n=t("gl-mat2/invert"),a=t("gl-mat3/invert"),i=t("gl-mat4/invert")},{"gl-mat2/invert":259,"gl-mat3/invert":260,"gl-mat4/invert":267}],280:[function(t,e,r){"use strict";var n=t("barycentric"),a=t("polytope-closest-point/lib/closest_point_2d.js");function i(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var a=0;a<4;++a)r[a]+=t[4*n+a]*e[n];return r}function o(t,e,r,n,a){for(var o=i(n,i(r,i(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}e.exports=function(t,e,r,i,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,i,s,l);for(var h=0,f=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<f&&(f=p,h=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,i=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),i+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),i=Math.sqrt(i),r+i<1e-6?[1,0]:[i/(r+i),r/(i+r)]}if(3===t.length){var s=[0,0];return a(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),v=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;v+=g[u]}if(Math.abs(v-1)>.001)return null;return[h,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var a=t[n],i=e[n],o=0;o<3;++o)r[o]+=i*a[o];return r}(t,g),g]}},{barycentric:74,"polytope-closest-point/lib/closest_point_2d.js":482}],281:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection\n           , inverseModel;\nuniform vec3 eyePosition\n           , lightPosition;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  gl_Position      = project(position);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * vec4(position , 1.0);\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal  = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  f_color          = color;\n  f_data           = position;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (f_color.a == 0.0 ||\n    outOfRange(clipBounds[0], clipBounds[1], f_data)\n  ) discard;\n\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_color = color;\n  f_data  = position;\n  f_uv    = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n  } else {\n    gl_Position = projection * view * model * vec4(position, 1.0);\n  }\n  gl_PointSize = pointSize;\n  f_color = color;\n  f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n  if(dot(pointR, pointR) > 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_id        = id;\n  f_position  = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3  position;\nattribute float pointSize;\nattribute vec4  id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n  } else {\n    gl_Position  = projection * view * model * vec4(position, 1.0);\n    gl_PointSize = pointSize;\n  }\n  f_id         = id;\n  f_position   = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:410}],282:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),h=t("colormap"),f=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),v=d.meshShader,m=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_,k,T,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=a,this.pickShader=i,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=T,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var T=k.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(t){this.pickId=t},T.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,a=e.vertexWeights,i=r.length,o=p.mallocFloat32(6*i),s=0,l=0;l<i;++l)for(var c=r[l],u=0;u<2;++u){var h=c[0];2===c.length&&(h=c[u]);for(var d=n[h][0],g=n[h][1],v=a[h],m=1-v,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=v*y[b]+m*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},T.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,"opacity"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),"opacityscale"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=h({colormap:t,nshades:256,format:"rgba"}),n=new Uint8Array(1024),a=0;a<256;++a){for(var i=r[a],o=0;o<3;++o)n[4*a+o]=i[o];n[4*a+3]=e?255*A(a/255,e):255*i[3]}return u(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var a=[],i=[],l=[],c=[],f=[],p=[],d=[],g=[],v=[],m=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,M=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,M)),k||w||(w=s.vertexNormals(r,n,T));var S=t.vertexColors,E=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,z=t.cellIntensity,I=1/0,D=-1/0;if(!C&&!O)if(P)if(t.vertexIntensityBounds)I=+t.vertexIntensityBounds[0],D=+t.vertexIntensityBounds[1];else for(var R=0;R<P.length;++R){var F=P[R];I=Math.min(I,F),D=Math.max(D,F)}else if(z)for(R=0;R<z.length;++R){F=z[R];I=Math.min(I,F),D=Math.max(D,F)}else for(R=0;R<n.length;++R){F=n[R][2];I=Math.min(I,F),D=Math.max(D,F)}this.intensity=P||(z?function(t,e,r){for(var n=new Array(e),a=0;a<e;++a)n[a]=0;var i=t.length;for(a=0;a<i;++a)for(var o=t[a],s=0;s<o.length;++s)n[o[s]]=r[a];return n}(r,n.length,z):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var B=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(R=0;R<n.length;++R)for(var j=n[R],V=0;V<3;++V)!isNaN(j[V])&&isFinite(j[V])&&(this.bounds[0][V]=Math.min(this.bounds[0][V],j[V]),this.bounds[1][V]=Math.max(this.bounds[1][V],j[V]));var U=0,q=0,H=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],V=0;V<3;++V)if(isNaN(j[V])||!isFinite(j[V]))continue t;m.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?y.push(X[0],X[1],X[2],this.opacity):(y.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],x.push(Z[0],Z[1]),B?b.push(B[W]):b.push(N),_.push(R),H+=1;break;case 2:for(V=0;V<2;++V){j=n[W=G[V]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t}for(V=0;V<2;++V){j=n[W=G[V]];p.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?d.push(X[0],X[1],X[2],this.opacity):(d.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],g.push(Z[0],Z[1]),v.push(R)}q+=1;break;case 3:for(V=0;V<3;++V)for(j=n[W=G[V]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t;for(V=0;V<3;++V){var W,X,Z,J;j=n[W=G[2-V]];a.push(j[0],j[1],j[2]),(X=S?S[W]:E?E[R]:L)?this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?i.push(X[0],X[1],X[2],this.opacity):(i.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)):i.push(.5,.5,.5,1),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],c.push(Z[0],Z[1]),J=w?w[W]:k[R],l.push(J[0],J[1],J[2]),f.push(R)}U+=1}}this.pointCount=H,this.edgeCount=q,this.triangleCount=U,this.pointPositions.update(m),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(v)),this.trianglePositions.update(a),this.triangleColors.update(i),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(f))}},T.drawTransparent=T.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:a,inverseModel:w.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=c(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var h,f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/f}this.triangleCount>0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:a,clipBounds:i,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},T.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,a=new Array(r.length),i=0;i<r.length;++i)a[i]=n[r[i]];var o=g(a,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(i=0;i<r.length;++i)l+=s[i]*this.intensity[r[i]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},T.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension("OES_standard_derivatives")||t.getExtension("MOZ_OES_standard_derivatives")||t.getExtension("WEBKIT_OES_standard_derivatives")))throw new Error("derivatives not supported");var r=function(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),s=function(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),l=M(t),c=S(t),h=E(t),f=L(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=a(t),g=a(t),y=a(t),x=a(t),b=a(t),_=i(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=a(t),T=a(t),A=a(t),C=a(t),P=i(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:A,type:t.FLOAT,size:2}]),O=a(t),z=a(t),I=a(t),D=a(t),R=a(t),F=i(t,[{buffer:O,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:t.FLOAT,size:4},{buffer:I,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),B=a(t),N=new k(t,p,r,s,l,c,h,f,d,b,g,y,x,_,w,C,T,A,P,O,R,z,I,D,F,B,i(t,[{buffer:B,type:t.FLOAT,size:3}]));return N.update(e),N}},{"./lib/closest-point":280,"./lib/shaders":281,colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-shader":303,"gl-texture2d":323,"gl-vao":328,ndarray:451,normals:454,"simplicial-complex-contour":516,"typedarray-pool":543}],283:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=a(e,i.boxVert,i.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,a){var i=this.plot,o=this.shader,c=i.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=a,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"gl-buffer":243,"gl-shader":303}],284:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,o.gridVert,o.gridFrag),l=a(e,o.tickVert,o.gridFrag);return new s(t,r,i,l)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("binary-search-bounds"),o=t("./shaders");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,h,f,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],h=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,a=t.gl,i=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,f=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var v=i[g],m=i[g+2]-v,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*m/x,c[g]=2*(v-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){h[0]=h[1]=0,h[g]=1,r.uniforms.dataAxis=h,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=f[g];var _=6*n[g].length;p[g]&&_&&a.drawArrays(a.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,h=this.ticks,f=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,v=s.pixelRatio,m=s.screenBox,y=m[2]-m[0],x=m[3]-m[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var k=p[w],T=p[w+2]-k,A=.5*(d[w+2]+d[w]),M=d[w+2]-d[w];e[w]=2*T/M,t[w]=2*(k-A)/M}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,L=s.tickMarkWidth,C=s.tickMarkColor,P=6*h[0].length,O=Math.min(i.ge(h[0],(d[0]-p[0])/(p[2]-p[0]),l),h[0].length),z=Math.min(i.gt(h[0],(d[2]-p[0])/(p[2]-p[0]),l),h[0].length),I=0+6*O,D=6*Math.max(0,z-O),R=Math.min(i.ge(h[1],(d[1]-p[1])/(p[3]-p[1]),l),h[1].length),F=Math.min(i.gt(h[1],(d[3]-p[1])/(p[3]-p[1]),l),h[1].length),B=P+6*R,N=6*Math.max(0,F-R);a[0]=2*(g[0]-E[1])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[1]*v/y,o[1]=L[1]*v/x,N&&(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[1]-E[0])/x-1,o[0]=L[0]*v/y,o[1]=E[0]*v/x,D&&(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,I,D)),a[0]=2*(g[2]+E[3])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[3]*v/y,o[1]=L[3]*v/x,N&&(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[3]+E[2])/x-1,o[0]=L[2]*v/y,o[1]=E[2]*v/x,D&&(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,I,D))}}(),d.update=(f=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),a=(this.plot.zeroLineEnable,0),i=[[],[]],o=0;o<2;++o)for(var s=i[o],l=e[o],c=r[o],u=r[o+2],h=0;h<l.length;++h){var d=(l[h].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[a++]=d,n[a++]=f[g],n[a++]=p[g]}this.ticks=i,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{"./shaders":286,"binary-search-bounds":288,"gl-buffer":243,"gl-shader":303}],285:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=a(e,i.lineVert,i.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,a,i){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=a*o.pixelRatio,c.uniforms.color=i,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"gl-buffer":243,"gl-shader":303}],286:[function(t,e,r){"use strict";var n=t("glslify"),a=n(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);e.exports={lineVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n  return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  vec2 delta = normalize(perp(start - end));\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:a,textVert:n(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n  float dataOffset  = textCoordinate.z;\n  vec2 glyphOffset  = textCoordinate.xy;\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n    glyphMatrix * glyphOffset * textScale + screenOffset;\n  gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:a,gridVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n  gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:a,boxVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},{glslify:410}],287:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,s.textVert,s.textFrag);return new l(t,r,i)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("text-cache"),o=t("binary-search-bounds"),s=t("./shaders");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,h,f,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],h=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],a=this.tickOffset[t],i=e.gl,s=e.viewBox,l=e.dataBox,f=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,v=e.tickColor,m=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],k=this.labelCount[t],T=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(f[2+t]-f[t])-1;var M=2/f[2+(1^t)]-f[1^t];u[1^t]=M*s[1^t]-1,d[t]&&(u[1^t]-=M*p*g[t],T<A&&a[A]>a[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t],r.uniforms.angle=m[t],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t]&&k&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],i.drawArrays(i.TRIANGLES,w,k)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*g[t+2],T<A&&a[A]>a[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t+2],r.uniforms.angle=m[t+2],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t+2]&&k&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],i.drawArrays(i.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,a=r.gl,i=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-i[u])/(i[2+u]-i[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,a.drawArrays(a.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,a=t.screenBox,i=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=i[o],g=i[o+2]-h,v=a[o],m=a[o+2]-v;p[o]=2*l/u*g/m,f[o]=2*(s-c)/u*g/m}d[1]=2*t.pixelRatio/(a[3]-a[1]),d[0]=d[1]*(a[3]-a[1])/(a[2]-a[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,a,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e<f.length;++e){var p=f[e],d=p.x,g=p.text,v=p.font||"sans-serif";a=p.fontSize||12;for(var m=1/(c[o+2]-c[o]),y=c[o],x=g.split("\n"),b=0;b<x.length;b++)for(n=i(v,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*a,-n[r+1]*a-b*a*1.2,(d-y)*m);u.push(Math.floor(s.length/3)),h.push(d)}this.tickOffset[o]=u,this.tickX[o]=h}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=i(t.labelFont[o],t.labels[o],{textAlign:"center"}).data,a=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=i(t.titleFont,t.title).data,a=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"binary-search-bounds":288,"gl-buffer":243,"gl-shader":303,"text-cache":534}],288:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],289:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=a(c),c.text=i(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t("gl-select-static"),a=t("./lib/grid"),i=t("./lib/text"),o=t("./lib/line"),s=t("./lib/box");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function h(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,a=this.pixelRatio,i=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),i.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,p=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var d=0;d<2;++d)if(h[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var v=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(v[1]&&o.drawLine(r[0],r[1]-.5*m[1]*a,r[0],r[3]+.5*m[3]*a,m[1],y[1]),v[0]&&o.drawLine(r[0]-.5*m[0]*a,r[1],r[2]+.5*m[2]*a,r[1],m[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*m[1]*a,r[2],r[3]+.5*m[3]*a,m[3],y[3]),v[2]&&o.drawLine(r[0]-.5*m[0]*a,r[3],r[2]+.5*m[2]*a,r[3],m[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,a=this.viewBox,i=0|Math.round((t-a[0]/r)*n),o=0|Math.round((e-a[1]/r)*n),s=this.pickBuffer.query(i,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var h=c[u].pick(i,o,l);if(h)return h}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,a=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/a,10,10/a]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!("titleEnable"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var i=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=i[s].slice(0);0!==l.length&&(l.sort(h),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:i}),this.text.update({bounds:o,ticks:i,labels:t.labels||["x","y"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||["sans-serif","sans-serif"],title:t.title||"",titleSize:t.titleSize||18,titleFont:t.titleFont||"sans-serif"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{"./lib/box":283,"./lib/grid":284,"./lib/line":285,"./lib/text":287,"gl-select-static":302}],290:[function(t,e,r){"use strict";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];"distanceLimits"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);"zoomMin"in e&&(r[0]=e.zoomMin);"zoomMax"in e&&(r[1]=e.zoomMax);var c=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,p=t.clientHeight,d={keyBindingMode:"rotate",enableWheel:!0,view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,_ortho:e._ortho||e.projection&&"orthographic"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,a=e-2*r;c.idle(e-r),c.recalcMatrix(a),c.flush(e-(100+2*r));for(var i=!0,o=c.computedMatrix,s=0;s<16;++s)i=i&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===p;return f=t.clientWidth,p=t.clientHeight,i?!l:(h=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),a=c.computedCenter.slice();if(c.setMode(t),"turntable"===t){var i=n();c._active.lookAt(i,r,a,e),c._active.lookAt(i+500,r,a,[0,0,1]),c._active.flush(i)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",function(t){return t.preventDefault(),!1}),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,a,i){var o=d.keyBindingMode;if(!1!==o){var s="rotate"===o,l="pan"===o,u="zoom"===o,f=!!i.control,p=!!i.alt,g=!!i.shift,v=!!(1&e),m=!!(2&e),y=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(a-d._lastY),w=d.flipX?1:-1,k=d.flipY?1:-1,T=Math.PI*d.rotateSpeed,A=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&v&&!f&&!p&&!g||v&&!f&&!p&&g)&&c.rotate(A,w*T*b,-k*T*_,0),(l&&v&&!f&&!p&&!g||m||v&&f&&!p&&!g)&&c.pan(A,-d.translateSpeed*b*h,d.translateSpeed*_*h,0),u&&v&&!f&&!p&&!g||y||v&&!f&&p&&!g)){var M=-d.zoomSpeed*_/window.innerHeight*(A-c.lastT())*100;c.pan(A,0,0,h*(Math.exp(M)-1))}return d._lastX=r,d._lastY=a,d._lastMods=i,!0}}d.mouseListener=i(t,e),t.addEventListener("touchstart",function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods),r.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchmove",function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchend",function(t){e(0,d._lastX,d._lastY,d._lastMods),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,a=d.flipY?1:-1,i=n();if(Math.abs(t)>Math.abs(e))c.rotate(i,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*a*e/window.innerHeight*(i-c.lastT())/20;c.pan(i,0,0,h*(Math.exp(o)-1))}}},!0)},d.enableMouseListeners(),d};var n=t("right-now"),a=t("3d-view"),i=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":54,"has-passive-events":412,"mouse-change":436,"mouse-event-offset":437,"mouse-wheel":439,"right-now":502}],291:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n  uv = position;\n  gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n  gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":303,glslify:410}],292:[function(t,e,r){"use strict";var n=t("./camera.js"),a=t("gl-axes3d"),i=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),h=t("gl-mat4/perspective"),f=t("gl-mat4/ortho"),p=t("./lib/shader"),d=t("is-mobile")({tablet:!0});function g(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function v(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e)if(e=document.createElement("canvas"),t.container){var r=t.container;r.appendChild(e)}else document.body.appendChild(e);var y=t.gl;y||(y=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!y)throw new Error("webgl not supported");var x=t.bounds||[[-10,-10,-10],[10,10,10]],b=new g,_=l(y,[y.drawingBufferWidth,y.drawingBufferHeight],{preferFloat:!d}),w=p(y),k=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:k},A=t.axes||{},M=a(y,A);M.enable=!A.disable;var S=t.spikes||{},E=o(y,S),L=[],C=[],P=[],O=[],z=!0,I=!0,D=new Array(16),R=new Array(16),F={view:null,projection:D,model:R,_ortho:!1},I=!0,B=[y.drawingBufferWidth,y.drawingBufferHeight],N=t.cameraObject||n(e,T),j={gl:y,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:b,camera:N,axes:M,axesPixels:null,spikes:E,bounds:x,objects:L,shape:B,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:F,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z}},V=[y.drawingBufferWidth/j.pixelRatio|0,y.drawingBufferHeight/j.pixelRatio|0];function U(){if(!j._stopped&&j.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var a=0|Math.ceil(r*j.pixelRatio),i=0|Math.ceil(n*j.pixelRatio);if(a!==e.width||i!==e.height){e.width=a,e.height=i;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",z=!0}}}j.autoResize&&U();function q(){for(var t=L.length,e=O.length,r=0;r<e;++r)P[r]=0;t:for(var r=0;r<t;++r){var n=L[r],a=n.pickSlots;if(a){for(var i=0;i<e;++i)if(P[i]+a<255){C[r]=i,n.setPickBase(P[i]+1),P[i]+=a;continue t}var o=s(y,B);C[r]=e,O.push(o),P.push(a),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===P[e-1];)P.pop(),O.pop().dispose()}function H(){if(j.contextLost)return!0;y.isContextLost()&&(j.contextLost=!0,j.mouseListener.enabled=!1,j.selection.object=null,j.oncontextloss&&j.oncontextloss())}window.addEventListener("resize",U),j.update=function(t){j._stopped||(t=t||{},z=!0,I=!0)},j.add=function(t){j._stopped||(t.axes=M,L.push(t),C.push(-1),z=!0,I=!0,q())},j.remove=function(t){if(!j._stopped){var e=L.indexOf(t);e<0||(L.splice(e,1),C.pop(),z=!0,I=!0,q())}},j.dispose=function(){if(!j._stopped&&(j._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",H),j.mouseListener.enabled=!1,!j.contextLost)){M.dispose(),E.dispose();for(var t=0;t<L.length;++t)L[t].dispose();_.dispose();for(var t=0;t<O.length;++t)O[t].dispose();w.dispose(),y=null,M=null,E=null,L=[]}},j._mouseRotating=!1,j._prevButtons=0,j.enableMouseListeners=function(){j.mouseListener=u(e,function(t,e,r){if(!j._stopped){var n=O.length,a=L.length,i=b.object;b.distance=1/0,b.mouse[0]=e,b.mouse[1]=r,b.object=null,b.screen=null,b.dataCoordinate=b.dataPosition=null;var o=!1;if(t&&j._prevButtons)j._mouseRotating=!0;else{j._mouseRotating&&(I=!0),j._mouseRotating=!1;for(var s=0;s<n;++s){var l=O[s].query(e,V[1]-r-1,j.pickRadius);if(l){if(l.distance>b.distance)continue;for(var c=0;c<a;++c){var u=L[c];if(C[c]===s){var h=u.pick(l);h&&(b.buttons=t,b.screen=l.coord,b.distance=l.distance,b.object=u,b.index=h.distance,b.dataPosition=h.position,b.dataCoordinate=h.dataCoordinate,b.data=h,o=!0)}}}}}i&&i!==b.object&&(i.highlight&&i.highlight(null),z=!0),b.object&&(b.object.highlight&&b.object.highlight(b.data),z=!0),(o=o||b.object!==i)&&j.onselect&&j.onselect(b),1&t&&!(1&j._prevButtons)&&j.onclick&&j.onclick(b),j._prevButtons=t}})},e.addEventListener("webglcontextlost",H);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Y=[G[0].slice(),G[1].slice()];function W(){if(!H()){U();var t=j.camera.tick();F.view=j.camera.matrix,z=z||t,I=I||t,M.pixelRatio=j.pixelRatio,E.pixelRatio=j.pixelRatio;var e=L.length,r=G[0],n=G[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var a=0;a<e;++a){var o=L[a];o.pixelRatio=j.pixelRatio,o.axes=j.axes,z=z||!!o.dirty,I=I||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],p=0;p<3;++p)r[p]=Math.min(r[p],l[p]),n[p]=Math.max(n[p],u[p])}var d=j.bounds;if(j.autoBounds)for(var p=0;p<3;++p){if(n[p]<r[p])r[p]=-1,n[p]=1;else{r[p]===n[p]&&(r[p]-=1,n[p]+=1);var g=.05*(n[p]-r[p]);r[p]=r[p]-g,n[p]=n[p]+g}d[0][p]=r[p],d[1][p]=n[p]}for(var m=!1,p=0;p<3;++p)m=m||Y[0][p]!==d[0][p]||Y[1][p]!==d[1][p],Y[0][p]=d[0][p],Y[1][p]=d[1][p];if(I=I||m,z=z||m){if(m){for(var x=[0,0,0],a=0;a<3;++a)x[a]=v((d[1][a]-d[0][a])/10);M.autoTicks?M.update({bounds:d,tickSpacing:x}):M.update({bounds:d})}var T=y.drawingBufferWidth,A=y.drawingBufferHeight;B[0]=T,B[1]=A,V[0]=0|Math.max(T/j.pixelRatio,1),V[1]=0|Math.max(A/j.pixelRatio,1),k?(f(D,-T/A,T/A,-1,1,j.zNear,j.zFar),F._ortho=!0):(h(D,j.fovy,T/A,j.zNear,j.zFar),F._ortho=!1);for(var a=0;a<16;++a)R[a]=0;R[15]=1;for(var S=0,a=0;a<3;++a)S=Math.max(S,d[1][a]-d[0][a]);for(var a=0;a<3;++a)j.autoScale?R[5*a]=j.aspect[a]/(d[1][a]-d[0][a]):R[5*a]=1/S,j.autoCenter&&(R[12+a]=.5*-R[5*a]*(d[0][a]+d[1][a]));for(var a=0;a<e;++a){var o=L[a];o.axesBounds=d,j.clipToBounds&&(o.clipBounds=d)}b.object&&(j.snapToData?E.position=b.dataCoordinate:E.position=b.dataPosition,E.bounds=d),I&&(I=!1,function(){if(H())return;y.colorMask(!0,!0,!0,!0),y.depthMask(!0),y.disable(y.BLEND),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL);for(var t=L.length,e=O.length,r=0;r<e;++r){var n=O[r];n.shape=V,n.begin();for(var a=0;a<t;++a)if(C[a]===r){var i=L[a];i.drawPick&&(i.pixelRatio=1,i.drawPick(F))}n.end()}}()),j.axesPixels=i(j.axes,F,T,A),j.onrender&&j.onrender(),y.bindFramebuffer(y.FRAMEBUFFER,null),y.viewport(0,0,T,A);var P=j.clearColor;y.clearColor(P[0],P[1],P[2],P[3]),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),y.depthMask(!0),y.colorMask(!0,!0,!0,!0),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL),y.disable(y.BLEND),y.disable(y.CULL_FACE);var N=!1;M.enable&&(N=N||M.isTransparent(),M.draw(F)),E.axes=M,b.object&&E.draw(F),y.disable(y.CULL_FACE);for(var a=0;a<e;++a){var o=L[a];o.axes=M,o.pixelRatio=j.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(F),o.isTransparent&&o.isTransparent()&&(N=!0)}if(N){_.shape=B,_.bind(),y.clear(y.DEPTH_BUFFER_BIT),y.colorMask(!1,!1,!1,!1),y.depthMask(!0),y.depthFunc(y.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(F);for(var a=0;a<e;++a){var o=L[a];o.isOpaque&&o.isOpaque()&&o.draw(F)}y.enable(y.BLEND),y.blendEquation(y.FUNC_ADD),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.colorMask(!0,!0,!0,!0),y.depthMask(!1),y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(F);for(var a=0;a<e;++a){var o=L[a];o.isTransparent&&o.isTransparent()&&o.drawTransparent(F)}y.bindFramebuffer(y.FRAMEBUFFER,null),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.disable(y.DEPTH_TEST),w.bind(),_.color[0].bind(0),w.uniforms.accumBuffer=0,c(y),y.disable(y.BLEND)}z=!1;for(var a=0;a<e;++a)L[a].dirty=!1}}}return j.enableMouseListeners(),function t(){j._stopped||j.contextLost||(W(),requestAnimationFrame(t))}(),j.redraw=function(){j._stopped||(z=!0,W())},j},createCamera:n}},{"./camera.js":290,"./lib/shader":291,"a-big-triangle":61,"gl-axes3d":235,"gl-axes3d/properties":242,"gl-fbo":251,"gl-mat4/ortho":270,"gl-mat4/perspective":271,"gl-select-static":302,"gl-spikes3d":312,"is-mobile":421,"mouse-change":436}],293:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n  highp float a = 12.9898;\n  highp float b = 78.233;\n  highp float c = 43758.5453;\n  highp float d = dot(co.xy, vec2(a, b));\n  highp float e = mod(d, 3.14);\n  return fract(sin(e) * c);\n}\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n    // if we don't jitter the point size a bit, overall point cloud\n    // saturation 'jumps' on zooming, which is disturbing and confusing\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    // get the same square surface as circle would be\n    gl_PointSize *= 0.886;\n  }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n  float radius;\n  vec4 baseColor;\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    if(centerFraction == 1.0) {\n      gl_FragColor = color;\n    } else {\n      gl_FragColor = mix(borderColor, color, centerFraction);\n    }\n  } else {\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\n    if(radius > 1.0) {\n      discard;\n    }\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n  }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n  gl_PointSize = pointSize;\n\n  vec4 id = pickId + pickOffset;\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n  if(radius > 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:410}],294:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,a){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=a,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,i=a(r),l=a(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),h=new s(t,i,l,c,u);return h.update(e),t.addObject(h),h};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,a=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=a?s:i.mallocFloat32(s.length),c=o?t.idToIndex:i.mallocInt32(n);if(a||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),a||i.free(l),o||i.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,a=this.plot.dataBox;if(0===this.pointCount)return t;var i=a[2]-a[0],o=a[3]-a[1],s=function(t,e){var r,n=0,a=t.length>>>1;for(r=0;r<a;r++){var i=t[2*r],o=t[2*r+1];i>=e[0]&&i<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,a),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/i,l[4]=2/o,l[6]=-2*a[0]/i-1,l[7]=-2*a[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,a=this.pointCount;if(r<n||r>=n+a)return null;var i=r-n,o=this.points;return{object:this,pointId:i,dataCoord:[o[2*i],o[2*i+1]]}}},{"./lib/shader":293,"gl-buffer":243,"gl-shader":303,"typedarray-pool":543}],295:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(i=c*p+u*d+h*g+f*v)<0&&(i=-i,p=-p,d=-d,g=-g,v=-v);1-i>1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t}},{}],296:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],297:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var i=a[e];i||(i=a[e]={});if(t in i)return i[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(c=0;c<s.positions[l].length;++c)s.positions[l][c]/=r;for(l=0;l<u.positions.length;++l)for(c=0;c<u.positions[l].length;++c)u.positions[l][c]/=r}var h=[[1/0,1/0],[-1/0,-1/0]],f=u.positions.length;for(l=0;l<f;++l){var p=u.positions[l];for(c=0;c<2;++c)h[0][c]=Math.min(h[0][c],p[c]),h[1][c]=Math.max(h[1][c],p[c])}return i[t]=[s,u,h]};var a={}},{"vectorize-text":548}],298:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) < 0.0001) {\n      scale = highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1);\n    vec4 viewPosition = view * worldPosition;\n    viewPosition = viewPosition / viewPosition.w;\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\n      scale *= highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1.0);\n    vec4 viewPosition = view * worldPosition;\n    vec4 clipPosition = projection * viewPosition;\n    clipPosition /= clipPosition.w;\n\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) < 0.0001) {\n      lscale *= highlightScale;\n    }\n\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = dataPosition;\n  }\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (\n    outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n    interpColor.a * opacity == 0.\n  ) discard;\n  gl_FragColor = interpColor * opacity;\n}\n"]),c=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n  gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:i,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:i,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},v={vertex:s,fragment:c,attributes:u};function m(t,e){var r=n(t,e),a=r.attributes;return a.position.location=0,a.color.location=1,a.glyph.location=2,a.id.location=3,r}r.createPerspective=function(t){return m(t,h)},r.createOrtho=function(t){return m(t,f)},r.createProject=function(t){return m(t,p)},r.createPickPerspective=function(t){return m(t,d)},r.createPickOrtho=function(t){return m(t,g)},r.createPickProject=function(t){return m(t,v)}},{"gl-shader":303,glslify:410}],299:[function(t,e,r){"use strict";var n=t("is-string-blank"),a=t("gl-buffer"),i=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),c=t("./lib/glyphs"),u=t("./lib/get-simple-string"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e){var r=t[0],n=t[1],a=t[2],i=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*a+e[12]*i,t[1]=e[1]*r+e[5]*n+e[9]*a+e[13]*i,t[2]=e[2]*r+e[6]*n+e[10]*a+e[14]*i,t[3]=e[3]*r+e[7]*n+e[11]*a+e[15]*i,t}function p(t,e,r,n){return f(n,n),f(n,n),f(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t?1:t>1?1:t}function v(t,e,r,n,a,i,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=a,this.colorBuffer=i,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=a(e),f=a(e),p=a(e),d=a(e),g=i(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),m=new v(e,r,n,o,h,f,p,d,g,s,c,u);return m.update(t),m};var m=v.prototype;m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},m.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],k=h.slice(),T=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function L(t,e,r,n){var a,i=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,d=e.axesBounds,g=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(i[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var m=k,L=0;L<16;++L)m[L]=0;for(L=0;L<4;++L)m[5*L]=1;m[5*v]=0,a[v]<0?m[12+v]=d[0][v]:m[12+v]=d[1][v],s(m,c,m),l.model=m;var C=(v+1)%3,P=(v+2)%3,O=M(x),z=M(b);O[C]=1,z[P]=1;var I=p(0,0,0,S(_,O)),D=p(0,0,0,S(w,z));if(Math.abs(I[1])>Math.abs(D[1])){var R=I;I=D,D=R,R=O,O=z,z=R;var F=C;C=P,P=F}I[0]<0&&(O[C]=-1),D[1]>0&&(z[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(c[4*C+L],2),N+=Math.pow(c[4*P+L],2);O[C]/=Math.sqrt(B),z[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=z,l.fragClipBounds[0]=E(T,g[0],v,-1e8),l.fragClipBounds[1]=E(T,g[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,a,i,o){var s=r.gl;if((i===r.projectHasAlpha||o)&&L(e,r,n,a),i===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||h,l.view=n.view||h,l.projection=n.projection||h,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=a,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*a),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,a){var i;i=Array.isArray(t)?e<t.length?t[e]:void 0:t,i=u(i);var o=!0;n(i)&&(i="\u25bc",o=!1);var s=c(i,r,a);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}m.draw=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},m.drawTransparent=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},m.drawPick=function(t){P(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},m.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var a=0;a<3;++a)n.position[a]=n.dataCoordinate[a]=r[a];return n},m.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,a=e>>16&255;this.highlightId=[r/255,n/255,a/255,0]}else this.highlightId=[1,1,1,1]},m.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var a,i,s=t.position,l=t.font||"normal",c=t.alignment||[0,0];if(2===c.length)a=c[0],i=c[1];else{a=[],i=[];for(n=0;n<c.length;++n)a[n]=c[n][0],i[n]=c[n][1]}var u=[1/0,1/0,1/0],h=[-1/0,-1/0,-1/0],f=t.glyph,p=t.color,d=t.size,v=t.angle,m=t.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],k=0;k<3;++k)if(isNaN(w[k])||!isFinite(w[k]))continue t;var T=(N=O(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;x+=3*T.cells.length,b+=2*A.edges.length}}var S=x+b,E=o.mallocFloat(3*S),L=o.mallocFloat(4*S),C=o.mallocFloat(2*S),P=o.mallocUint32(S);if(S>0){var z=0,I=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(m)&&Array.isArray(m[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],k=0;k<3;++k){if(isNaN(w[k])||!isFinite(w[k]))continue t;h[k]=Math.max(h[k],w[k]),u[k]=Math.min(u[k],w[k])}T=(N=O(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(V=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(k=0;k<3;++k)D[k]=V[k];D[3]=1}else if(4===V.length){for(k=0;k<4;++k)D[k]=V[k];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else D[0]=D[1]=D[2]=0,D[3]=1;else D=[1,1,1,0];if(j)if(Array.isArray(m)){var V;if(3===(V=B?n<m.length?m[n]:[0,0,0,0]:m).length){for(k=0;k<3;++k)R[k]=V[k];R[k]=1}else if(4===V.length){for(k=0;k<4;++k)R[k]=V[k];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var U=.5;j?Array.isArray(d)?U=n<d.length?+d[n]:12:d?U=+d:this.useOrtho&&(U=12):U=0;var q=0;Array.isArray(v)?q=n<v.length?+v[n]:0:v&&(q=+v);var H=Math.cos(q),G=Math.sin(q);for(w=s[n],k=0;k<3;++k)h[k]=Math.max(h[k],w[k]),u[k]=Math.min(u[k],w[k]);var Y=a,W=i;Y=0;Array.isArray(a)?Y=n<a.length?a[n]:0:a&&(Y=a);W=0;Array.isArray(i)?W=n<i.length?i[n]:0:i&&(W=i);var X=[Y*=Y>0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],Z=T.cells||[],J=T.positions||[];for(k=0;k<Z.length;++k)for(var K=Z[k],Q=0;Q<3;++Q){for(var $=0;$<3;++$)E[3*z+$]=w[$];for($=0;$<4;++$)L[4*z+$]=D[$];P[z]=y;var tt=J[K[Q]];C[2*z]=U*(H*tt[0]-G*tt[1]+X[0]),C[2*z+1]=U*(G*tt[0]+H*tt[1]+X[1]),z+=1}for(Z=A.edges,J=A.positions,k=0;k<Z.length;++k)for(K=Z[k],Q=0;Q<2;++Q){for($=0;$<3;++$)E[3*I+$]=w[$];for($=0;$<4;++$)L[4*I+$]=R[$];P[I]=y;tt=J[K[Q]];C[2*I]=U*(H*tt[0]-G*tt[1]+X[0]),C[2*I+1]=U*(G*tt[0]+H*tt[1]+X[1]),I+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(L),this.glyphBuffer.update(C),this.idBuffer.update(P),o.free(E),o.free(L),o.free(C),o.free(P)},m.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{"./lib/get-simple-string":296,"./lib/glyphs":297,"./lib/shaders":298,"gl-buffer":243,"gl-mat4/multiply":269,"gl-vao":328,"is-string-blank":424,"typedarray-pool":543}],300:[function(t,e,r){"use strict";var n=t("glslify");r.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),r.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n"])},{glslify:410}],301:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("./lib/shaders");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=a(r,[0,0,0,1,1,0,1,1]),l=n(r,i.boxVertex,i.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),a=(this.outerFill,this.outerColor),i=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,h=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],f=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(h=Math.max(h,c[0]),f=Math.max(f,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,a),o.drawBox(0,f,h,d,a),o.drawBox(0,d,g,v,a),o.drawBox(p,f,g,d,a)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var m=r*u;o.drawBox(h-m,f-m,p+m,f+m,i),o.drawBox(h-m,d-m,p+m,d+m,i),o.drawBox(h-m,f-m,h+m,d+m,i),o.drawBox(p-m,f-m,p+m,d+m,i)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":300,"gl-buffer":243,"gl-shader":303}],302:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),i=a.mallocUint8(e[0]*e[1]*4);return new c(t,r,i)};var n=t("gl-fbo"),a=t("typedarray-pool"),i=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}",args:[{name:"_inline_16_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg4_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg5_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg6_",lvalue:!1,rvalue:!0,count:4}],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:["_inline_16_a","_inline_16_f","_inline_16_l"]},post:{body:"{return[this_closestX,this_closestY,this_closestD2]}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});function l(t,e,r,n,a){this.coord=[t,e],this.id=r,this.value=n,this.distance=a}function c(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=c.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(o(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),u.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},u.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,"number"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),c=0|Math.min(Math.max(e-r,0),n[1]),u=0|Math.min(Math.max(e+r,0),n[1]);if(o<=a||u<=c)return null;var h=[o-a,u-c],f=i(this.buffer,[h[0],h[1],4],[4,4*n[0],1],4*(a+n[0]*c)),p=s(f.hi(h[0],h[1],1),r,r),d=p[0],g=p[1];return d<0||Math.pow(this.radius,2)<p[2]?null:new l(d+a|0,g+c|0,f.get(d,g,0),[f.get(d,g,1),f.get(d,g,2),f.get(d,g,3)],Math.sqrt(p[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{"bit-twiddle":93,"cwise/lib/wrapper":150,"gl-fbo":251,ndarray:451,"typedarray-pool":543}],303:[function(t,e,r){"use strict";var n=t("./lib/create-uniforms"),a=t("./lib/create-attributes"),i=t("./lib/reflect"),o=t("./lib/shader-cache"),s=t("./lib/runtime-reflect"),l=t("./lib/GLError");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function h(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var f=this,p=f.gl,d=f._vref;f._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),f.vertShader=f._vref.shader;var g=this._fref;if(f._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),f.fragShader=f._fref.shader,!r||!c){var v=p.createProgram();if(p.attachShader(v,f.fragShader),p.attachShader(v,f.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var m=p.getProgramInfoLog(v);throw new l(m,"Error linking program:"+m)}r=r||s.uniforms(p,v),c=c||s.attributes(p,v),p.deleteProgram(v)}(c=c.slice()).sort(h);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf("mat")>=0){for(var k=0|w.type.charAt(w.type.length-1),T=new Array(k),A=0;A<k;++A)T[A]=_.length,b.push(w.name+"["+A+"]"),"number"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&"number"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:T})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),"number"==typeof w.location?_.push(0|w.location):_.push(-1)}var M=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(M)>=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(f.program,r[t].name)}E(),f._relink=E,f.types={uniforms:i(r),attributes:i(c)},f.attributes=a(p,f,x,_),Object.defineProperty(f,"uniforms",n(p,f,r,S))},e.exports=function(t,e,r,n,a){var i=new c(t);return i.update(e,r,n,a),i}},{"./lib/GLError":304,"./lib/create-attributes":305,"./lib/create-uniforms":306,"./lib/reflect":307,"./lib/runtime-reflect":308,"./lib/shader-cache":309}],304:[function(t,e,r){function n(t,e,r){this.shortMessage=e||"",this.longMessage=r||"",this.rawError=t||"",this.message="gl-shader: "+(e||t||"")+(r?"\n"+r:""),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name="GLError",n.prototype.constructor=n,e.exports=n},{}],305:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){for(var i={},l=0,c=r.length;l<c;++l){var u=r[l],h=u.name,f=u.type,p=u.locations;switch(f){case"bool":case"int":case"float":o(t,e,p[0],a,1,i,h);break;default:if(f.indexOf("vec")>=0){var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);o(t,e,p[0],a,d,i,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(t,e,p,a,d,i,h)}}}return i};var n=t("./GLError");function a(t,e,r,n,a,i){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=a,this._constFunc=i}var i=a.prototype;function o(t,e,r,n,i,o,s){for(var l=["gl","v"],c=[],u=0;u<i;++u)l.push("x"+u),c.push("x"+u);l.push("if(x0.length===void 0){return gl.vertexAttrib"+i+"f(v,"+c.join()+")}else{return gl.vertexAttrib"+i+"fv(v,x0)}");var h=Function.apply(null,l),f=new a(t,e,r,n,i,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),h(t,n[r],e),e},get:function(){return f},enumerable:!0})}function s(t,e,r,n,a,i,s){for(var l=new Array(a),c=new Array(a),u=0;u<a;++u)o(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,"location",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)c[e].location=t[e];else for(e=0;e<a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e<a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l<a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var h=new Array(a),f=t["vertexAttrib"+a+"fv"];Object.defineProperty(i,s,{set:function(e){for(var i=0;i<a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))f.call(t,o,e[i]);else{for(var s=0;s<a;++s)h[s]=e[a*i+s];f.call(t,o,h)}}return e},get:function(){return l},enumerable:!0})}i.pointer=function(t,e,r,n){var a=this._gl,i=this._locations[this._index];a.vertexAttribPointer(i,this._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(i)},i.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(i,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{"./GLError":304}],306:[function(t,e,r){"use strict";var n=t("./reflect"),a=t("./GLError");function i(t){return new Function("y","return function(){return y}")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case"bool":case"int":case"sampler2D":case"samplerCube":return"gl.uniform1i(locations["+e+"],obj"+t+")";case"float":return"gl.uniform1f(locations["+e+"],obj"+t+")";default:var n=r.indexOf("vec");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf("mat")&&4===r.length){var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+i+"fv(locations["+e+"],false,obj"+t+")"}throw new a("","Unknown uniform data type for "+name+": "+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new a("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+i+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+i+"fv(locations["+e+"],obj"+t+")";default:throw new a("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],a=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var a in r){var i=r[a],o=e;parseInt(a)+""===a?o+="["+a+"]":o+="."+a,"object"==typeof i?n.push.apply(n,t(o,i)):n.push([o,i])}return n}("",e),i=0;i<a.length;++i){var o=a[i],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push("return obj}");var h=new Function("gl","locations",n.join("\n"));return h(t,s)}function u(n,l,u){if("object"==typeof u){var f=h(u);Object.defineProperty(n,l,{get:i(f),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function("gl","wrapper","locations","return function(){return gl.getUniform(wrapper.program,locations["+p+"])}")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new a("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new a("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var f=n(r,!0);return{get:i(h(f)),set:c(f),enumerable:!0,configurable:!0}}},{"./GLError":304,"./reflect":307}],307:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var a=t[n].name,i=a.split("."),o=r,s=0;s<i.length;++s){var l=i[s].split("[");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<i.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<i.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],308:[function(t,e,r){"use strict";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=i(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace("[0]","["+l+"]"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&n.push({name:o.name,type:i(t,o.type)})}return n};var n={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},a=null;function i(t,e){if(!a){var r=Object.keys(n);a={};for(var i=0;i<r.length;++i){var o=r[i];a[t[o]]=n[o]}}return a[e]}},{}],309:[function(t,e,r){"use strict";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,a){return u(t).getProgram(e,r,n,a)};var n=t("./GLError"),a=t("gl-format-compiler-error"),i=new("undefined"==typeof WeakMap?t("weakmap-shim"):WeakMap),o=0;function s(t,e,r,n,a,i,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=i,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,a=r.length;n<a;++n){var i=t.programs[r[n]];i&&(delete t.programs[n],e.deleteProgram(i))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=i.get(t);return e||(e=new l(t),i.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],l=i[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var i=t.createShader(e);if(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(i);try{var s=a(o,r,e)}catch(t){throw console.warn("Failed to format compiler error: "+t),new n(o,"Error compiling shader:\n"+o)}throw new n(o,s.short,s.long)}return i}(r,t,e);l=i[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,a){var i=[t.id,e.id,r.join(":"),a.join(":")].join("@"),o=this.programs[i];return o&&this.gl.isProgram(o)||(this.programs[i]=o=function(t,e,r,a,i){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<a.length;++s)t.bindAttribLocation(o,i[s],a[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,"Error linking program: "+l)}return o}(this.gl,t.shader,e.shader,r,a),t.programs.push(i),e.programs.push(i)),o}},{"./GLError":304,"gl-format-compiler-error":252,"weakmap-shim":553}],310:[function(t,e,r){"use strict";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var a=n.prototype;a.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},a.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,a=this.plot,i=a.line,o=a.dataBox,s=a.viewBox;if(i.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&i.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&i.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&i.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&i.drawLine(l,c,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],311:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vertexPosition = mix(coordinates[0],\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n  vec2 delta = weight * clipOffset * screenShape;\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},{"gl-shader":303,glslify:410}],312:[function(t,e,r){"use strict";var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index");e.exports=function(t,e){var r=[];function o(t,e,n,a,i,o){var s=[t,e,n,0,0,0,1];s[a+3]=1,s[a]=i,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[a]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[a]=i,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=a(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=i(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var h=new s(t,l,c,u);return h.update(e),h};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],h=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var a,i=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(a=this.axes.lastCubeProps.axis);for(var f=c,p=u,d=0;d<3;++d)a&&a[d]<0?(f[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(f[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);h[0]=e.drawingBufferWidth,h[1]=e.drawingBufferHeight,n.uniforms.model=i,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,f,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=h;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&("bounds"in t&&(this.bounds=t.bounds),"position"in t&&(this.position=t.position),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"colors"in t&&(this.colors=t.colors),"enabled"in t&&(this.enabled=t.enabled),"drawSides"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders/index":311,"gl-buffer":243,"gl-vao":328}],313:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * tubePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(tubePosition, 1.0);\n  vec4 t_position  = view * tubePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = tubePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  gl_Position = projection * view * tubePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:410}],314:[function(t,e,r){"use strict";var n=t("gl-vec3"),a=t("gl-vec4"),i=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,i){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++)o=Math.max(o,n.length(l[c]));var u=t.map(function(t){return function(t,e,r,i){for(var o=t.points,s=t.velocities,l=t.divergences,c=[],u=[],h=[],f=[],p=[],d=[],g=0,v=0,m=a.create(),y=a.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),v=n.length(_)/i,m=a.create(),n.copy(m,_),m[3]=w;for(var k=0;k<8;k++)p[k]=[b[0],b[1],b[2],k];if(f.length>0)for(k=0;k<8;k++){var T=(k+1)%8;c.push(f[k],p[k],p[T],p[T],f[T],f[k]),h.push(y,m,m,m,y,y),d.push(g,v,v,v,g,g);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=y;y=m,m=S;var E=g;g=v,v=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,i,o)}),h=[],f=[],p=[],d=[];for(s=0;s<u.length;s++){var g=u[s],v=h.length;h=h.concat(g.positions),p=p.concat(g.vectors),d=d.concat(g.vertexIntensity);for(c=0;c<g.cells.length;c++){var m=g.cells[c],y=[];f.push(y);for(var x=0;x<m.length;x++)y.push(m[x]+v)}}return{positions:h,cells:f,vectors:p,vertexIntensity:d,colormap:e}},s=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var a=t[r];if(a===e)return r;if(a>e)return r-1}return r},l=function(t,e,r){return t<e?e:t>r?r:t},c=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=t.length,n=1;n<r;n++){var a=Math.abs(t[n]-t[n-1]);a<e&&(e=a)}return e};e.exports=function(t,e){var r=t.startingPositions,a=t.maxLength||1e3,u=t.tubeSize||1,h=t.absoluteTubeSize,f=t.gridFill||"+x+y+z",p={};-1!==f.indexOf("-x")&&(p.reversedX=!0),-1!==f.indexOf("-y")&&(p.reversedY=!0),-1!==f.indexOf("-z")&&(p.reversedZ=!0),p.filled=i.indexOf(f.replace(/-/g,"").replace(/\+/g,""));var d=t.getVelocity||function(e){return function(t,e,r){var a=e.vectors,i=e.meshgrid,o=t[0],c=t[1],u=t[2],h=i[0].length,f=i[1].length,p=i[2].length,d=s(i[0],o),g=s(i[1],c),v=s(i[2],u),m=d+1,y=g+1,x=v+1;if(d=l(d,0,h-1),m=l(m,0,h-1),g=l(g,0,f-1),y=l(y,0,f-1),v=l(v,0,p-1),x=l(x,0,p-1),d<0||g<0||v<0||m>h-1||y>f-1||x>p-1)return n.create();var b,_,w,k,T,A,M=i[0][d],S=i[0][m],E=i[1][g],L=i[1][y],C=i[2][v],P=(o-M)/(S-M),O=(c-E)/(L-E),z=(u-C)/(i[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,m=h-1-m),r.reversedY&&(g=f-1-g,y=f-1-y),r.reversedZ&&(v=p-1-v,x=p-1-x),r.filled){case 5:T=v,A=x,w=g*p,k=y*p,b=d*p*f,_=m*p*f;break;case 4:T=v,A=x,b=d*p,_=m*p,w=g*p*h,k=y*p*h;break;case 3:w=g,k=y,T=v*f,A=x*f,b=d*f*p,_=m*f*p;break;case 2:w=g,k=y,b=d*f,_=m*f,T=v*f*h,A=x*f*h;break;case 1:b=d,_=m,T=v*h,A=x*h,w=g*h*p,k=y*h*p;break;default:b=d,_=m,w=g*h,k=y*h,T=v*h*f,A=x*h*f}var I=a[b+w+T],D=a[b+w+A],R=a[b+k+T],F=a[b+k+A],B=a[_+w+T],N=a[_+w+A],j=a[_+k+T],V=a[_+k+A],U=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(U,I,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,V,P);var Y=n.create(),W=n.create();n.lerp(Y,U,H,O),n.lerp(W,q,G,O);var X=n.create();return n.lerp(X,Y,W,z),X}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),a=1e-4;n.add(r,t,[a,0,0]);var i=d(r);n.subtract(i,i,e),n.scale(i,i,1e4),n.add(r,t,[0,a,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1e4),n.add(r,t,[0,0,a]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1e4),n.add(r,i,o),n.add(r,r,s),r},v=[],m=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],k=function(t){var e=t[0],r=t[1],n=t[2];return!(e<m||e>b||r<y||r>_||n<x||n>w)},T=10*n.distance(e[0],e[1])/a,A=T*T,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],a={},i={},o={},s=t.length,l=0;l<s;l++){var u=t[l],h=u[0],f=u[1],p=u[2];a[h]||(e.push(h),a[h]=!0),i[f]||(r.push(f),i[f]=!0),o[p]||(n.push(p),o[p]=!0)}var d=c(e),g=c(r),v=c(n),m=Math.min(d,g,v);return isFinite(m)?m:1}(r));for(var L=0;L<E;L++){var C=n.create();n.copy(C,r[L]);var P=[C],O=[],z=d(C),I=C;O.push(z);var D=[],R=g(C,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F),v.push({points:P,velocities:O,divergences:D});for(var B=0;B<100*a&&P.length<a&&k(C);){B++;var N=n.clone(z),j=n.squaredLength(N);if(0===j)break;if(j>A&&n.scale(N,N,T/Math.sqrt(j)),n.add(N,N,C),z=d(N),n.squaredDistance(I,N)-A>-1e-4*A){P.push(N),I=N,O.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}C=N}}var V=o(v,t.colormap,S,M);return h?V.tubeScale=h:(0===S&&(S=1),V.tubeScale=.5*u*M/S),V};var u=t("./lib/shaders"),h=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return h(t,e,{shaders:u,traceType:"streamtube"})}},{"./lib/shaders":313,"gl-cone3d":244,"gl-vec3":347,"gl-vec4":383}],315:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 localCoordinate = vec3(uv.zw, f.x);\n  worldCoordinate = objectOffset + localCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n  vec4 clipPosition = projection * view * worldPosition;\n  gl_Position = clipPosition;\n  kill = f.y;\n  value = f.z;\n  planeCoordinate = uv.xy;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * worldPosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  lightDirection = lightPosition - cameraCoordinate.xyz;\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  if ((kill > 0.0) ||\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n  vec3 N = normalize(surfaceNormal);\n  vec3 V = normalize(eyeDirection);\n  vec3 L = normalize(lightDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  //decide how to interpolate color \u2014 in vertex or in fragment\n  vec4 surfaceColor =\n    step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n    step(.5, vertexColor) * vColor;\n\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n  worldCoordinate = objectOffset + dataCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z += zOffset;\n\n  gl_Position = clipPosition;\n  value = f + objectOffset.z;\n  kill = -1.0;\n  planeCoordinate = uv.zw;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Don't do lighting for contours\n  surfaceNormal   = vec3(1,0,0);\n  eyeDirection    = vec3(0,1,0);\n  lightDirection  = vec3(0,0,1);\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n  float vh = 255.0 * v;\n  float upper = floor(vh);\n  float lower = fract(vh);\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n  if ((kill > 0.0) ||\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,i,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":303,glslify:410}],316:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],317:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=a(e),u=i(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=a(e),f=i(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=a(e),d=i(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,h,f,p,d,[0,0,0]),m={levels:[[],[],[]]};for(var k in t)m[k]=t[k];return m.colormap=m.colormap||"jet",v.update(m),v};var n=t("bit-twiddle"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),h=t("ndarray"),f=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),v=t("ndarray-gradient"),m=t("./lib/shaders"),y=m.createShader,x=m.createContourShader,b=m.createPickShader,_=m.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,a){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=a}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,a,i,o,l,c,u,f,p,d,g,v){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=v,this.intensityBounds=[],this._shader=n,this._pickShader=a,this._coordinateBuffer=i,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.isTransparent=function(){return this.opacity<1},L.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],P={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,a,i=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=P.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(i[r]>0)][r],p(l,t.model,l);var c=P.clipBounds[r];for(a=0;a<2;++a)for(n=0;n<3;++n)c[a][n]=t.clipBounds[a][n];c[0][r]=-1e8,c[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var z={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var a=0;a<2;++a)for(var i=n.clipBounds[a],o=0;o<3;++o)i[o]=Math.min(Math.max(this.clipBounds[a][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),a=0;a<3;++a)n.eyePosition[a]=s[12+a]/s[15];var l=s[15];for(a=0;a<3;++a)l+=this.lightPosition[a]*s[4*a+3];for(a=0;a<3;++a){var c=s[12+a];for(o=0;o<3;++o)c+=s[4*o+a]*this.lightPosition[o];n.lightPosition[a]=c/l}var u=O(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a<3;++a)this.surfaceProject[a]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[a],this._shader.uniforms.clipBounds=u.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),a=0;a<3;++a)for(h.uniforms.permutation=A[a],r.lineWidth(this.contourWidth[a]*this.pixelRatio),o=0;o<this.contourLevels[a].length;++o)o===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==o&&o-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),this._contourCounts[a][o]&&(h.uniforms.height=this.contourLevels[a][o],f.draw(r.LINES,this._contourCounts[a][o],this._contourOffsets[a][o]));for(a=0;a<3;++a)for(h.uniforms.model=u.projections[a],h.uniforms.clipBounds=u.clipBounds[a],o=0;o<3;++o)if(this.contourProject[a][o]){h.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][g]&&(h.uniforms.height=this.contourLevels[o][g],f.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g]))}for(f.unbind(),(f=this._dynamicVAO).bind(),a=0;a<3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=A[a],r.lineWidth(this.dynamicWidth[a]*this.pixelRatio),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),o=0;o<3;++o)this.contourProject[o][a]&&(h.uniforms.model=u.projections[o],h.uniforms.clipBounds=u.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));f.unbind()}}L.draw=function(t){return R.call(this,t,!1)},L.drawTransparent=function(t){return R.call(this,t,!0)};var F={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function B(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function N(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function j(t){if(Array.isArray(t)){if(Array.isArray(t))return[N(t[0]),N(t[1]),N(t[2])];var e=N(t);return[e.slice(),e.slice(),e.slice()]}}L.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=F;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=D;for(var n=0;n<2;++n)for(var a=r.clipBounds[n],i=0;i<3;++i)a[i]=Math.min(Math.max(this.clipBounds[n][i],-1e8),1e8);var o=O(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),i=0;i<3;++i)for(e.lineWidth(this.contourWidth[i]*this.pixelRatio),s.uniforms.permutation=A[i],n=0;n<this.contourLevels[i].length;++n)this._contourCounts[i][n]&&(s.uniforms.height=this.contourLevels[i][n],l.draw(e.LINES,this._contourCounts[i][n],this._contourOffsets[i][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],i=0;i<3;++i)if(this.contourProject[n][i]){s.uniforms.permutation=A[i],e.lineWidth(this.contourWidth[i]*this.pixelRatio);for(var c=0;c<this.contourLevels[i].length;++c)this._contourCounts[i][c]&&(s.uniforms.height=this.contourLevels[i][c],l.draw(e.LINES,this._contourCounts[i][c],this._contourOffsets[i][c]))}l.unbind()}},L.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,a=Math.floor(n),i=n-a,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;a+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?i:1-i,f=0;f<2;++f)for(var p=a+u,d=s+f,v=h*(f?l:1-l),m=0;m<3;++m)c[m]+=this._field[m].get(p,d)*v;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=i<.5?a:a+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,function(t){return B(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var a=(e.shape[0]+2)*(e.shape[1]+2);a>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(a))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==i[b])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var m=g[o];if((Array.isArray(m)||m.length)&&(m=h(m)),m.shape[0]!==i[o])throw new Error("gl-surface: invalid tick length");var y=h(m.data,i);y.stride[o]=m.stride[0],y.stride[1^o]=0,this.padField(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<i[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),b=0;b<i[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,i[1]+1,i[1]-1)}var _=this._field,w=h(s.mallocFloat(3*_[2].size*2),[3,i[0]+2,i[1]+2,2]);for(o=0;o<3;++o)v(w.pick(o),_[o],"mirror");var k=h(s.mallocFloat(3*_[2].size),[i[0]+2,i[1]+2,3]);for(o=0;o<i[0]+2;++o)for(b=0;b<i[1]+2;++b){var A=w.get(0,o,b,0),M=w.get(0,o,b,1),E=w.get(1,o,b,0),L=w.get(1,o,b,1),C=w.get(2,o,b,0),P=w.get(2,o,b,1),O=E*P-L*C,z=C*M-P*A,I=A*L-M*E,D=Math.sqrt(O*O+z*z+I*I);D<1e-8?(D=Math.max(Math.abs(O),Math.abs(z),Math.abs(I)))<1e-8?(I=1,z=O=0,D=1):D=1/D:D=1/Math.sqrt(D),k.set(o,b,0,O*D),k.set(o,b,1,z*D),k.set(o,b,2,I*D)}s.free(w.data);var R=[1/0,1/0,1/0],F=[-1/0,-1/0,-1/0],N=1/0,V=-1/0,U=(i[0]-1)*(i[1]-1)*6,q=s.mallocFloat(n.nextPow2(10*U)),H=0,G=0;for(o=0;o<i[0]-1;++o)t:for(b=0;b<i[1]-1;++b){for(var Y=0;Y<2;++Y)for(var W=0;W<2;++W)for(var X=0;X<3;++X){var Z=this._field[X].get(1+o+Y,1+b+W);if(isNaN(Z)||!isFinite(Z))continue t}for(X=0;X<6;++X){var J=o+T[X][0],K=b+T[X][1],Q=this._field[0].get(J+1,K+1),$=this._field[1].get(J+1,K+1);Z=this._field[2].get(J+1,K+1),O=k.get(J+1,K+1,0),z=k.get(J+1,K+1,1),I=k.get(J+1,K+1,2),t.intensity&&(tt=t.intensity.get(J,K));var tt=t.intensity?t.intensity.get(J,K):Z+this.objectOffset[2];q[H++]=J,q[H++]=K,q[H++]=Q,q[H++]=$,q[H++]=Z,q[H++]=0,q[H++]=tt,q[H++]=O,q[H++]=z,q[H++]=I,R[0]=Math.min(R[0],Q+this.objectOffset[0]),R[1]=Math.min(R[1],$+this.objectOffset[1]),R[2]=Math.min(R[2],Z+this.objectOffset[2]),N=Math.min(N,tt),F[0]=Math.max(F[0],Q+this.objectOffset[0]),F[1]=Math.max(F[1],$+this.objectOffset[1]),F[2]=Math.max(F[2],Z+this.objectOffset[2]),V=Math.max(V,tt),G+=1}}for(t.intensityBounds&&(N=+t.intensityBounds[0],V=+t.intensityBounds[1]),o=6;o<H;o+=10)q[o]=(q[o]-N)/(V-N);this._vertexCount=G,this._coordinateBuffer.update(q.subarray(0,H)),s.freeFloat(q),s.free(k.data),this.bounds=[R,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===N&&this.intensityBounds[1]===V||(r=!0),this.intensityBounds=[N,V]}if("levels"in t){var et=t.levels;for(et=Array.isArray(et[0])?et.slice():[[],[],et],o=0;o<3;++o)et[o]=et[o].slice(),et[o].sort(function(t,e){return t-e});for(o=0;o<3;++o)for(b=0;b<et[o].length;++b)et[o][b]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(et[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<et[o].length;++b)if(et[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=et}if(r){_=this._field,i=this.shape;for(var rt=[],nt=0;nt<3;++nt){var at=this.contourLevels[nt],it=[],ot=[],st=[0,0,0];for(o=0;o<at.length;++o){var lt=f(this._field[nt],at[o]);it.push(rt.length/5|0),G=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(X=0;X<2;++X){var ut=lt.positions[ct[X]],ht=ut[0],ft=0|Math.floor(ht),pt=ht-ft,dt=ut[1],gt=0|Math.floor(dt),vt=dt-gt,mt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(nt+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(J=0|Math.min(Math.max(ft+Y,0),i[0]),W=0;W<2;++W){var _t=W?vt:1-vt;if(K=0|Math.min(Math.max(gt+W,0),i[1]),Z=yt<2?this._field[xt].get(J,K):(this.intensity.get(J,K)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(Z)||isNaN(Z)){mt=!0;break e}var wt=bt*_t;st[yt]+=wt*Z}}}if(mt){if(X>0){for(var kt=0;kt<5;++kt)rt.pop();G-=1}continue t}rt.push(st[0],st[1],ut[0],ut[1],st[2]),G+=1}}ot.push(G)}this._contourOffsets[nt]=it,this._contourCounts[nt]=ot}var Tt=s.mallocFloat(rt.length);for(o=0;o<rt.length;++o)Tt[o]=rt[o];this._contourBuffer.update(Tt),s.freeFloat(Tt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:S,format:"rgba"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,a=this.shape,i=s.mallocFloat(12*a[0]*a[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],h=this._field[l],p=this._field[c],d=f(u,r[o]),g=d.cells,v=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var m=g[e],y=0;y<2;++y){var x=v[m[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,a[0]),k=b-_,T=1-k,A=+x[1],M=0|A,S=0|Math.min(M+1,a[1]),E=A-M,L=1-E,C=T*L,P=T*E,O=k*L,z=k*E,I=C*h.get(_,M)+P*h.get(_,S)+O*h.get(w,M)+z*h.get(w,S),D=C*p.get(_,M)+P*p.get(_,S)+O*p.get(w,M)+z*p.get(w,S);if(isNaN(I)||isNaN(D)){y&&(n-=1);break}i[2*n+0]=I,i[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(i.subarray(0,2*n)),s.freeFloat(i)}}},{"./lib/shaders":315,"binary-search-bounds":316,"bit-twiddle":93,colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-texture2d":323,"gl-vao":328,ndarray:451,"ndarray-gradient":442,"ndarray-ops":445,"ndarray-pack":446,"surface-nets":529,"typedarray-pool":543}],318:[function(t,e,r){"use strict";var n=t("css-font"),a=t("pick-by-alias"),i=t("regl"),o=t("gl-util/context"),s=t("es6-weak-map"),l=t("color-normalize"),c=t("font-atlas"),u=t("typedarray-pool"),h=t("parse-rect"),f=t("is-plain-obj"),p=t("parse-unit"),d=t("to-px"),g=t("detect-kerning"),v=t("object-assign"),m=t("font-measure"),y=t("flatten-vertex-data"),x=t("bit-twiddle").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var k=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||i({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(t)?t:{})};k.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t"+(k.normalViewport?"":"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);")+"\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t"+(k.normalViewport?"position.y = 1. - position.y;":"")+"\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},k.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=a(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(t){return parseFloat(t)}):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),k.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=k.baseFontSize+"px sans-serif");var r,i=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(k.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var a=n.stringify({size:k.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&a==e.font[r].baseString||(i=!0,e.font[r]=k.fonts[a],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:a,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:m(c,{origin:"top",fontSize:k.baseFontSize,fontStyle:u.join(" ")})},k.fonts[a]=e.font[r]}}),(i||o)&&this.font.forEach(function(r,a){var i=n.stringify({size:e.fontSize[a],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[a]=e.shader.atlas[i],!e.fontAtlas[a]){var o=r.metrics;e.shader.atlas[i]=e.fontAtlas[a]={fontString:i,step:2*Math.ceil(e.fontSize[a]*o.bottom*.5),em:e.fontSize[a],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)}),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f<s.length;f++)s[f]=t.text;t.text=s}if(null!=t.text||i){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach(function(t,n){k.atlasContext.font=t.baseString;for(var a=e.fontAtlas[n],i=0;i<e.text.length;i++){var o=e.text.charAt(i);if(null==a.ids[o]&&(a.ids[o]=a.chars.length,a.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=k.atlasContext.measureText(o).width/k.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);v(t.kerning,g(t.family,{pairs:s}))}}})}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,T=u.mallocFloat(2*this.count),A=0,M=0;A<this.counts.length;A++){var S=this.counts[A];if(w)for(var E=0;E<S;E++)T[M++]=t.position[2*A],T[M++]=t.position[2*A+1];else for(var L=0;L<S;L++)T[M++]=t.position[A][0],T[M++]=t.position[A][1]}this.position.call?this.position({type:"float",data:T}):this.position=this.regl.buffer({type:"float",data:T}),u.freeFloat(T)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||i){var C=u.mallocUint8(this.count),P=u.mallocFloat(2*this.count);this.textWidth=[];for(var O=0,z=0;O<this.counts.length;O++){for(var I=this.counts[O],D=this.font[O]||this.font[0],R=this.fontAtlas[O]||this.fontAtlas[0],F=0;F<I;F++){var B=this.text.charAt(z),N=this.text.charAt(z-1);if(C[z]=R.ids[B],P[2*z]=D.width[B],F){var j=P[2*z-2],V=P[2*z],U=P[2*z-1]+.5*j+.5*V;if(this.kerning){var q=D.kerning[N+B];q&&(U+=.001*q)}P[2*z+1]=U}else P[2*z+1]=.5*P[2*z];z++}this.textWidth.push(P.length?.5*P[2*z-2]+P[2*z-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:C,type:"uint8",usage:"stream"}),this.sizeBuffer({data:P,type:"float",usage:"stream"}),u.freeUint8(C),u.freeFloat(P),r.length&&this.font.forEach(function(t,r){var n=e.fontAtlas[r],a=n.step,i=Math.floor(k.maxAtlasSize/a),o=Math.min(i,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*a),u=x(s*a);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:k.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[a,a]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0})),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(t,r){var n=(e.font[r]||e.font[0]).metrics,a=0;return a+=.5*n.bottom,a+="number"==typeof t?t-n.baseline:-n[t],k.normalViewport||(a*=-1),a})),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W<G;W+=4)H.set(l(Y(W,W+4),"uint8"),W)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,"uint8"),4*Z)}this.color=H}else this.color=l(t.color,"uint8");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text="",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement("canvas"),k.atlasContext=k.atlasCanvas.getContext("2d",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{"bit-twiddle":93,"color-normalize":121,"css-font":140,"detect-kerning":167,"es6-weak-map":319,"flatten-vertex-data":229,"font-atlas":230,"font-measure":231,"gl-util/context":324,"is-plain-obj":423,"object-assign":455,"parse-rect":460,"parse-unit":462,"pick-by-alias":466,regl:500,"to-px":537,"typedarray-pool":543}],319:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?WeakMap:t("./polyfill")},{"./is-implemented":320,"./polyfill":322}],320:[function(t,e,r){"use strict";e.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&("function"==typeof t.set&&(t.set({},1)===t&&("function"==typeof t.delete&&("function"==typeof t.has&&"one"===t.get(e)))))}},{}],321:[function(t,e,r){"use strict";e.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},{}],322:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/is-value"),i=t("es5-ext/object/set-prototype-of"),o=t("es5-ext/object/valid-object"),s=t("es5-ext/object/valid-value"),l=t("es5-ext/string/random-uniq"),c=t("d"),u=t("es6-iterator/get"),h=t("es6-iterator/for-of"),f=t("es6-symbol").toStringTag,p=t("./is-native-implemented"),d=Array.isArray,g=Object.defineProperty,v=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,a(e)&&(d(e)||(e=u(e))),g(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(h(e,function(e){s(e),t.set(e[0],e[1])}),t):t},p&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c(function(t){return!!v.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:c(function(t){if(v.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:c(function(t){return v.call(o(t),this.__weakMapData__)}),set:c(function(t,e){return g(o(t),this.__weakMapData__,c("c",e)),this}),toString:c(function(){return"[object WeakMap]"})}),g(n.prototype,f,c("c","WeakMap"))},{"./is-native-implemented":321,d:152,"es5-ext/object/is-value":196,"es5-ext/object/set-prototype-of":202,"es5-ext/object/valid-object":206,"es5-ext/object/valid-value":207,"es5-ext/string/random-uniq":212,"es6-iterator/for-of":214,"es6-iterator/get":215,"es6-symbol":221}],323:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("ndarray-ops"),i=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||function(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if("number"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return function(t,e,r,n,a,i){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,a,a,i,e),new f(t,o,r,n,a,i)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return function(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var h,p,v=0;if(2===o.length)v=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])v=t.ALPHA;else if(2===o[2])v=t.LUMINANCE_ALPHA;else if(3===o[2])v=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var m=e.size;if(l)h=0===e.offset&&e.data.length===m?e.data:e.data.subarray(e.offset,e.offset+m);else{var y=[o[2],o[2]*o[0],1];p=i.malloc(m,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?a.assign(x,e):u(x,e),h=p.subarray(0,m)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,v,o[0],o[1],0,v,c,h),l||i.free(p);return new f(t,b,o[0],o[1],v,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){a.muls(t,e,255)};function h(t,e,r){var n=t.gl,a=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function f(t,e,r,n,a,i){this.gl=t,this.handle=e,this.format=a,this.type=i,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=f.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,a){var i=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture shape");if(a===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,a,null),new f(t,o,e,r,n,a)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,v=0,m=d(p,h.stride.slice());"float32"===f?g=t.FLOAT:"float64"===f?(g=t.FLOAT,m=!1,f="float32"):"uint8"===f?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,m=!1,f="uint8");if(2===p.length)v=t.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])v=t.ALPHA;else if(2===p[2])v=t.LUMINANCE_ALPHA;else if(3===p[2])v=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}p[2]}v!==t.LUMINANCE&&v!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(v=s);if(v!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=h.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&m)0===h.offset&&h.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+y));else{var b;b=l===t.FLOAT?i.mallocFloat32(y):i.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,h):a.assign(_,h),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?i.freeFloat32(b):i.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],324:[function(t,e,r){(function(r){"use strict";var n=t("pick-by-alias");function a(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function i(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},i(t)?t={container:t}:t="string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}i(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),a(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),a(t)}if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"pick-by-alias":466}],325:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var a=0;a<r.length;++a){var i=r[a];if(i.buffer){var o=i.buffer,s=i.size||4,l=i.type||t.FLOAT,c=!!i.normalized,u=i.stride||0,h=i.offset||0;o.bind(),t.enableVertexAttribArray(a),t.vertexAttribPointer(a,s,l,c,u,h)}else{if("number"==typeof i)t.vertexAttrib1f(a,i);else if(1===i.length)t.vertexAttrib1f(a,i[0]);else if(2===i.length)t.vertexAttrib2f(a,i[0],i[1]);else if(3===i.length)t.vertexAttrib3f(a,i[0],i[1],i[2]);else{if(4!==i.length)throw new Error("gl-vao: Invalid vertex attribute");t.vertexAttrib4f(a,i[0],i[1],i[2],i[3])}t.disableVertexAttribArray(a)}}for(;a<n;++a)t.disableVertexAttribArray(a)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),a=0;a<n;++a)t.disableVertexAttribArray(a)}},{}],326:[function(t,e,r){"use strict";var n=t("./do-bind.js");function a(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},a.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.dispose=function(){},a.prototype.unbind=function(){},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new a(t)}},{"./do-bind.js":325}],327:[function(t,e,r){"use strict";var n=t("./do-bind.js");function a(t,e,r,n,a,i){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=a,this.d=i}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var o=t[i];"number"==typeof o?this._attribs.push(new a(i,1,o)):Array.isArray(o)&&this._attribs.push(new a(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new i(t,e,e.createVertexArrayOES())}},{"./do-bind.js":325}],328:[function(t,e,r){"use strict";var n=t("./lib/vao-native.js"),a=t("./lib/vao-emulated.js");function i(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new i(t):t.getExtension("OES_vertex_array_object");return(s=l?n(t,l):a(t)).update(e,r,o),s}},{"./lib/vao-emulated.js":326,"./lib/vao-native.js":327}],329:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],330:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);a(r,r),a(o,o);var s=i(r,o);return s>1?0:Math.acos(s)};var n=t("./fromValues"),a=t("./normalize"),i=t("./dot")},{"./dot":340,"./fromValues":346,"./normalize":357}],331:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],332:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],333:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],334:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],335:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t}},{}],336:[function(t,e,r){e.exports=t("./distance")},{"./distance":337}],337:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}},{}],338:[function(t,e,r){e.exports=t("./divide")},{"./divide":339}],339:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],340:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],341:[function(t,e,r){e.exports=1e-6},{}],342:[function(t,e,r){e.exports=function(t,e){var r=t[0],a=t[1],i=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-s)<=n*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n*Math.max(1,Math.abs(i),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":341}],343:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],344:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],345:[function(t,e,r){e.exports=function(t,e,r,a,i,o){var s,l;e||(e=3);r||(r=0);l=a?Math.min(a*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],i(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t("./create")()},{"./create":334}],346:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],347:[function(t,e,r){e.exports={EPSILON:t("./epsilon"),create:t("./create"),clone:t("./clone"),angle:t("./angle"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),equals:t("./equals"),exactEquals:t("./exactEquals"),add:t("./add"),subtract:t("./subtract"),sub:t("./sub"),multiply:t("./multiply"),mul:t("./mul"),divide:t("./divide"),div:t("./div"),min:t("./min"),max:t("./max"),floor:t("./floor"),ceil:t("./ceil"),round:t("./round"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),dist:t("./dist"),squaredDistance:t("./squaredDistance"),sqrDist:t("./sqrDist"),length:t("./length"),len:t("./len"),squaredLength:t("./squaredLength"),sqrLen:t("./sqrLen"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),cross:t("./cross"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformMat3:t("./transformMat3"),transformQuat:t("./transformQuat"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),forEach:t("./forEach")}},{"./add":329,"./angle":330,"./ceil":331,"./clone":332,"./copy":333,"./create":334,"./cross":335,"./dist":336,"./distance":337,"./div":338,"./divide":339,"./dot":340,"./epsilon":341,"./equals":342,"./exactEquals":343,"./floor":344,"./forEach":345,"./fromValues":346,"./inverse":348,"./len":349,"./length":350,"./lerp":351,"./max":352,"./min":353,"./mul":354,"./multiply":355,"./negate":356,"./normalize":357,"./random":358,"./rotateX":359,"./rotateY":360,"./rotateZ":361,"./round":362,"./scale":363,"./scaleAndAdd":364,"./set":365,"./sqrDist":366,"./sqrLen":367,"./squaredDistance":368,"./squaredLength":369,"./sub":370,"./subtract":371,"./transformMat3":372,"./transformMat4":373,"./transformQuat":374}],348:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],349:[function(t,e,r){e.exports=t("./length")},{"./length":350}],350:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],351:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}},{}],352:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],353:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],354:[function(t,e,r){e.exports=t("./multiply")},{"./multiply":355}],355:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],356:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],357:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},{}],358:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}},{}],359:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[1],i=r[2],o=e[1]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=a+o*c-s*l,t[2]=i+o*l+s*c,t}},{}],360:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[2],o=e[0]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+s*l+o*c,t[1]=e[1],t[2]=i+s*c-o*l,t}},{}],361:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[1],o=e[0]-a,s=e[1]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+o*c-s*l,t[1]=i+o*l+s*c,t[2]=e[2],t}},{}],362:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],363:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],364:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],365:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],366:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":368}],367:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":369}],368:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}},{}],369:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],370:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":371}],371:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],372:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}},{}],373:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},{}],375:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],376:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],377:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],378:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],379:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)}},{}],380:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],381:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],382:[function(t,e,r){e.exports=function(t,e,r,n){var a=new Float32Array(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}},{}],383:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":375,"./clone":376,"./copy":377,"./create":378,"./distance":379,"./divide":380,"./dot":381,"./fromValues":382,"./inverse":384,"./length":385,"./lerp":386,"./max":387,"./min":388,"./multiply":389,"./negate":390,"./normalize":391,"./random":392,"./scale":393,"./scaleAndAdd":394,"./set":395,"./squaredDistance":396,"./squaredLength":397,"./subtract":398,"./transformMat4":399,"./transformQuat":400}],384:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],385:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)}},{}],386:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],387:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],388:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],389:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],390:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],391:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o);return t}},{}],392:[function(t,e,r){var n=t("./normalize"),a=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),a(t,t,e),t}},{"./normalize":391,"./scale":393}],393:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],394:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],395:[function(t,e,r){e.exports=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}},{}],396:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i}},{}],397:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a}},{}],398:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],399:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}},{}],400:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},{}],401:[function(t,e,r){e.exports=function(t,e,r,i){return n[0]=i,n[1]=r,n[2]=e,n[3]=t,a[0]};var n=new Uint8Array(4),a=new Float32Array(n.buffer)},{}],402:[function(t,e,r){var n=t("glsl-tokenizer"),a=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var i=e[r];if("preprocessor"===i.type){var o=i.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?a(l):l).trim()}}}}},{"atob-lite":73,"glsl-tokenizer":409}],403:[function(t,e,r){e.exports=function(t){var e,r,k,T=0,A=0,M=l,S=[],E=[],L=1,C=0,P=0,O=!1,z=!1,I="",D=i,R=n;"300 es"===(t=t||{}).version&&(D=s,R=o);return function(t){return E=[],null!==t?function(t){var r;T=0,k=(I+=t).length;for(;e=I[T],T<k;){switch(r=T,M){case u:T=V();break;case h:case f:T=j();break;case p:T=U();break;case d:T=G();break;case _:T=H();break;case g:T=Y();break;case c:T=W();break;case x:T=N();break;case l:T=B()}if(r!==T)switch(I[r]){case"\n":C=0,++L;break;default:++C}}return A+=T,I=I.slice(T),E}(t.replace?t.replace(/\r\n/g,"\n"):t):function(t){S.length&&F(S.join(""));return M=b,F("(eof)"),E}()};function F(t){t.length&&E.push({type:w[M],data:t,position:P,line:L,column:C})}function B(){return S=S.length?[]:S,"/"===r&&"*"===e?(P=A+T-1,M=u,r=e,T+1):"/"===r&&"/"===e?(P=A+T-1,M=h,r=e,T+1):"#"===e?(M=f,P=A+T,T):/\s/.test(e)?(M=x,P=A+T,T):(O=/\d/.test(e),z=/[^\w_]/.test(e),P=A+T,M=O?d:z?p:c,T)}function N(){return/[^\s]/g.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function j(){return"\r"!==e&&"\n"!==e||"\\"===r?(S.push(e),r=e,T+1):(F(S.join("")),M=l,T)}function V(){return"/"===e&&"*"===r?(S.push(e),F(S.join("")),M=l,T+1):(S.push(e),r=e,T+1)}function U(){if("."===r&&/\d/.test(e))return M=g,T;if("/"===r&&"*"===e)return M=u,T;if("/"===r&&"/"===e)return M=h,T;if("."===e&&S.length){for(;q(S););return M=g,T}if(";"===e||")"===e||"("===e){if(S.length)for(;q(S););return F(e),M=l,T+1}var t=2===S.length&&"="!==e;if(/[\w_\d\s]/.test(e)||t){for(;q(S););return M=l,T}return S.push(e),r=e,T+1}function q(t){for(var e,r,n=0;;){if(e=a.indexOf(t.slice(0,t.length+n).join("")),r=a[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join("")}return F(r),P+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function G(){return"."===e?(S.push(e),M=g,r=e,T+1):/[eE]/.test(e)?(S.push(e),M=g,r=e,T+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function Y(){return"f"===e&&(S.push(e),r=e,T+=1),/[eE]/.test(e)?(S.push(e),r=e,T+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function W(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=R.indexOf(t)>-1?y:D.indexOf(t)>-1?m:v,F(S.join("")),M=l,T}return S.push(e),r=e,T+1}};var n=t("./lib/literals"),a=t("./lib/operators"),i=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,g=5,v=6,m=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":405,"./lib/builtins-300es":404,"./lib/literals":407,"./lib/literals-300es":406,"./lib/operators":408}],404:[function(t,e,r){var n=t("./builtins");n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":405}],405:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],406:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":407}],407:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],408:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],409:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),a=[];return a=(a=a.concat(r(t))).concat(r(null))}},{"./index":403}],410:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},{}],411:[function(t,e,r){(function(r){"use strict";var n,a=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:a,e.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":418}],412:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":418}],413:[function(t,e,r){r.read=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},r.write=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],414:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var a=t[0].length;if(r<=a)throw new Error("Must input at least d+1 points");var o=t.slice(0,a+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(a+1),u=0;u<=a;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var h=new i(l,new Array(a+1),!1),f=h.adjacent,p=new Array(a+2),u=0;u<=a;++u){for(var d=l.slice(),g=0;g<=a;++g)g===u&&(d[g]=-1);var v=d[0];d[0]=d[1],d[1]=v;var m=new i(d,new Array(a+1),!0);f[u]=m,p[u]=m}p[a+1]=h;for(var u=0;u<=a;++u)for(var d=f[u].vertices,y=f[u].adjacent,g=0;g<=a;++g){var x=d[g];if(x<0)y[g]=h;else for(var b=0;b<=a;++b)f[b].vertices.indexOf(x)<0&&(y[g]=f[b])}for(var _=new c(a,o,p),w=!!e,u=a+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t("robust-orientation"),a=t("simplicial-complex").compareCells;function i(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return a(t.vertices,e.vertices)}i.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var a=0;a<=t;++a)this.tuple[a]=this.vertices[a];var i=l[t];i||(i=l[t]=function(t){for(var e=["function orient(){var tuple=this.tuple;return test("],r=0;r<=t;++r)r>0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var a=new Function("test",e.join("")),i=n[t+1];return i||(i=n),a(i)}(t)),this.orient=i}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,a=this.tuple,i=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];a[h]=f<0?e:i[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,i=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)i[u]=a[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=i[u];i[u]=t;var p=this.orient();if(i[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var v=0;v<=n;++v)if(v!==g){var m=d[v];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=a[y[b]];if(this.orient()>0){y[x]=r,m.boundary=!1,c.push(m),h.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=p.slice(),k=d.slice(),T=new i(w,k,!0);u.push(T);var A=_.indexOf(e);if(!(A<0)){_[A]=T,k[g]=m,w[v]=-1,k[v]=e,d[v]=T,T.flip();for(b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}f.push(new o(S,T,b))}}}}}}f.sort(s);for(v=0;v+1<f.length;v+=2){var P=f[v],O=f[v+1],z=P.index,I=O.index;z<0||I<0||(P.cell.adjacent[P.index]=O.cell,O.cell.adjacent[O.index]=P.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var a=this.dimension,i=this.tuple,o=0;o<=a;++o){var s=n.vertices[o];i[o]=s<0?t:r[s]}var l=this.orient(i);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,a=0;a<n;++a){var i=r[a];if(i.boundary){for(var o=new Array(t),s=i.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{"robust-orientation":508,"simplicial-complex":518}],415:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=0,i=1;function o(t,e,r,n,a){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=a,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function h(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?a:(r.splice(n,1),c(t,r),i)}function f(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var a=r(t[n]);if(a)return a}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var a=r(t[n]);if(a)return a}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function v(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function m(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(g);var n=e[e.length>>1],a=[],i=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?a.push(l):n<l[0]?i.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(v),u.sort(m),new o(n,y(a),y(i),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,v),a=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(a,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?h(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?h(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(1===this.count)return this.leftPoints[0]===t?2:a;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return i}for(s=n.ge(this.leftPoints,t,v);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,m);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),i}return a},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return f(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?f(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==a}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":92}],416:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],417:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],418:[function(t,e,r){e.exports=!0},{}],419:[function(t,e,r){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],420:[function(t,e,r){"use strict";e.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],421:[function(t,e,r){"use strict";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,a=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function i(t){t||(t={});var e=t.ua;return e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"==typeof e&&(t.tablet?a.test(e):n.test(e))}},{}],422:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},{}],423:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],424:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],425:[function(t,e,r){"use strict";e.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},{}],426:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],427:[function(t,e,r){var n,a;n=this,a=function(){"use strict";var t,e,r;function n(n,a){if(t)if(e){var i="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=a(o)).workerUrl=window.URL.createObjectURL(new Blob([i],{type:"text/javascript"}))}else e=a;else t=a}return n(0,function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,a,i,o;for(void 0===e&&(e=1e-6),a=t,o=0;o<8;o++){if(i=this.sampleCurveX(a)-t,Math.abs(i)<e)return a;var s=this.sampleCurveDerivativeX(a);if(Math.abs(s)<1e-6)break;a-=i/s}if((a=t)<(r=0))return r;if(a>(n=1))return n;for(;r<n;){if(i=this.sampleCurveX(a),Math.abs(i-t)<e)return a;t>i?r=a:n=a,a=.5*(n-r)+r}return a},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=i;function i(t,e){this.x=t,this.y=e}function o(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!o(t[r],e[r]))return!1;return!0}if("object"==typeof t&&null!==t&&null!==e){if("object"!=typeof e)return!1;if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var n in t)if(!o(t[n],e[n]))return!1;return!0}return t===e}function s(t,e,n,a){var i=new r(t,e,n,a);return function(t){return i.solve(t)}}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,a=r*this.x+e*this.y;return this.x=n,this.y=a,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),a=e.x+r*(this.x-e.x)-n*(this.y-e.y),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=a,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var l=s(.25,.1,.25,1);function c(t,e,r){return Math.min(r,Math.max(e,t))}function u(t,e,r){var n=r-e,a=((t-e)%n+n)%n+e;return a===e?r:a}function h(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}var f=1;function p(){return f++}function d(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function g(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function y(t,e,r){var n={};for(var a in t)n[a]=e.call(r||this,t[a],a,t);return n}function x(t,e,r){var n={};for(var a in t)e.call(r||this,t[a],a,t)&&(n[a]=t[a]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?y(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function k(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,a=n-1,i=void 0,o=void 0;r<n;a=r++)i=t[r],e+=((o=t[a]).x-i.x)*(i.y+o.y);return e}function A(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(t,r,n,a){var i=n||a;return e[r]=!i||i.toLowerCase(),""}),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}function M(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var S,E,L,C,P=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,z=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,I={now:P,frame:function(t){var e=O(t);return{cancel:function(){return z(e)}}},getImageData:function(t){var e=self.document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},resolveURL:function(t){return S||(S=self.document.createElement("a")),S.href=t,S.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==E&&(E=self.matchMedia("(prefers-reduced-motion: reduce)")),E.matches)}},D={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},R={supported:!1,testSupport:function(t){!F&&C&&(B?N(t):L=t)}},F=!1,B=!1;function N(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,C),t.isContextLost())return;R.supported=!0}catch(t){}t.deleteTexture(e),F=!0}self.document&&((C=self.document.createElement("img")).onload=function(){L&&N(L),L=null,B=!0},C.onerror=function(){F=!0,L=null},C.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var j="01",V=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function U(t){return 0===t.indexOf("mapbox:")}V.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",j,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},V.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},V.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},V.prototype.normalizeStyleURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeGlyphsURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSourceURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSpriteURL=function(t,e,r,n){var a=Y(t);return U(t)?(a.path="/styles/v1"+a.path+"/sprite"+e+r,this._makeAPIURL(a,this._customAccessToken||n)):(a.path+=""+e+r,W(a))},V.prototype.normalizeTileURL=function(t,e,r){if(this._isSkuTokenExpired()&&this._createSkuToken(),!e||!U(e))return t;var n=Y(t),a=I.devicePixelRatio>=2||512===r?"@2x":"",i=R.supported?".webp":"$1";return n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+a+i),n.path=n.path.replace(/^.+\/v4\//,"/"),n.path="/v4"+n.path,D.REQUIRE_ACCESS_TOKEN&&(D.ACCESS_TOKEN||this._customAccessToken)&&this._skuToken&&n.params.push("sku="+this._skuToken),this._makeAPIURL(n,this._customAccessToken)},V.prototype.canonicalizeTileURL=function(t){var e=Y(t);if(!e.path.match(/(^\/v4\/)/)||!e.path.match(/\.[\w]+$/))return t;var r="mapbox://tiles/";r+=e.path.replace("/v4/","");var n=e.params.filter(function(t){return!t.match(/^access_token=/)});return n.length&&(r+="?"+n.join("&")),r},V.prototype.canonicalizeTileset=function(t,e){if(!U(e))return t.tiles||[];for(var r=[],n=0,a=t.tiles;n<a.length;n+=1){var i=a[n],o=this.canonicalizeTileURL(i);r.push(o)}return r},V.prototype._makeAPIURL=function(t,e){var r="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",n=Y(D.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"/"!==n.path&&(t.path=""+n.path+t.path),!D.REQUIRE_ACCESS_TOKEN)return W(t);if(!(e=e||D.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter(function(t){return-1===t.indexOf("access_token")}),t.params.push("access_token="+e),W(t)};var q=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function H(t){return q.test(t)}var G=/^(\w+):\/\/([^\/?]*)(\/[^?]+)?\??(.+)?/;function Y(t){var e=t.match(G);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function W(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}function X(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(self.atob(e).split("").map(function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)}).join(""))))}catch(t){return null}}var Z=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Z.prototype.getStorageKey=function(t){var e,r=X(D.ACCESS_TOKEN),n="";return r&&r.u?(e=r.u,n=self.btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(t,e){return String.fromCharCode(Number("0x"+e))}))):n=D.ACCESS_TOKEN||"",t?"mapbox.eventData."+t+":"+n:"mapbox.eventData:"+n},Z.prototype.fetchEventData=function(){var t=M("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var a=self.localStorage.getItem(r);a&&(this.anonId=a)}catch(t){w("Unable to read from LocalStorage")}},Z.prototype.saveEventData=function(){var t=M("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Z.prototype.processRequests=function(t){},Z.prototype.postEvent=function(t,e,r,n){var a=this;if(D.EVENTS_URL){var i=Y(D.EVENTS_URL);i.params.push("access_token="+(n||D.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.3.2",skuId:j,userId:this.anonId},s=e?h(o,e):o,l={url:W(i),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=mt(l,function(t){a.pendingRequest=null,r(t),a.saveEventData(),a.processRequests(n)})}},Z.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var J,K=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(D.EVENTS_URL&&n||D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(t)}))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,a=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),g(this.anonId)||(this.anonId=d()),this.postEvent(a,{skuToken:this.skuToken},function(t){t||n&&(e.success[n]=!0)},t))}},e}(Z),Q=new(function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){D.EVENTS_URL&&D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(t)})&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=X(D.ACCESS_TOKEN),n=r?r.u:D.ACCESS_TOKEN,a=n!==this.eventData.tokenU;g(this.anonId)||(this.anonId=d(),a=!0);var i=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(i),l=(i-this.eventData.lastSuccess)/864e5;a=a||l>=1||l<-1||o.getDate()!==s.getDate()}else a=!0;if(!a)return this.processRequests();this.postEvent(i,{"enabled.telemetry":!1},function(t){t||(e.eventData.lastSuccess=i,e.eventData.tokenU=n)},t)}},e}(Z)),$=Q.postTurnstileEvent.bind(Q),tt=new K,et=tt.postMapLoadEvent.bind(tt),rt="mapbox-tiles",nt=500,at=50,it=42e4;function ot(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}var st=1/0,lt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(lt);var ct=function(t){function e(e,r,n){401===r&&H(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error);function ut(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}var ht=ut()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function ft(t,e){var r,n=new self.AbortController,a=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ht(),signal:n.signal}),i=!1,o=!1,s=(r=a.url).indexOf("sku=")>0&&H(r);"json"===t.type&&a.headers.set("Accept","application/json");var l=function(r,n,i){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&i)return c(n);var l=Date.now();self.fetch(a).then(function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new ct(r.statusText,r.status,t.url))}).catch(function(t){20!==t.code&&e(new Error(t.message))})}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then(function(t){o||(n&&s&&function(t,e,r){if(self.caches){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach(function(t,e){return n.headers.set(e,t)});var a=A(e.headers.get("Cache-Control")||"");a["no-store"]||(a["max-age"]&&n.headers.set("Expires",new Date(r+1e3*a["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<it||function(t,e){if(void 0===J)try{new Response(new ReadableStream),J=!0}catch(t){J=!1}J?e(t.body):t.blob().then(e)}(e,function(e){var r=new self.Response(e,n);self.caches.open(rt).then(function(e){return e.put(ot(t.url),r)}).catch(function(t){return w(t.message)})}))}}(a,n,s),i=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))}).catch(function(t){return e(new Error(t.message))})};return s?function(t,e){if(!self.caches)return e(null);var r=ot(t.url);self.caches.open(rt).then(function(t){t.match(r).then(function(n){var a=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")),r=A(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),a&&t.put(r,n.clone()),e(null,n,a)}).catch(e)}).catch(e)}(a,l):l(null,null),{cancel:function(){o=!0,i||n.abort()}}}var pt,dt,gt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(ht())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return ft(t,e);if(ut()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e)}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new ct(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},vt=function(t,e){return gt(h(t,{type:"arrayBuffer"}),e)},mt=function(t,e){return gt(h(t,{method:"POST"}),e)};pt=[],dt=0;var yt=function(t,e){if(dt>=D.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,a=function(){if(!n)for(n=!0,dt--;pt.length&&dt<D.MAX_PARALLEL_IMAGE_REQUESTS;){var t=pt.shift(),e=t.requestParameters,r=t.callback;t.cancelled||(t.cancel=yt(e,r).cancel)}},i=vt(t,function(t,r,n,i){if(a(),t)e(t);else if(r){var o=new self.Image,s=self.URL||self.webkitURL;o.onload=function(){e(null,o),s.revokeObjectURL(o.src)},o.onerror=function(){return e(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."))};var l=new self.Blob([new Uint8Array(r)],{type:"image/png"});o.cacheControl=n,o.expires=i,o.src=r.byteLength?s.createObjectURL(l):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}});return{cancel:function(){i.cancel(),a()}}};function xt(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function bt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var _t=function(t,e){void 0===e&&(e={}),h(this,e),this.type=t},wt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",h({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(_t),kt=function(){};kt.prototype.on=function(t,e){return this._listeners=this._listeners||{},xt(t,e,this._listeners),this},kt.prototype.off=function(t,e){return bt(t,e,this._listeners),bt(t,e,this._oneTimeListeners),this},kt.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},xt(t,e,this._oneTimeListeners),this},kt.prototype.fire=function(t,e){"string"==typeof t&&(t=new _t(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,a=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<a.length;n+=1)a[n].call(this,t);for(var i=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];i<o.length;i+=1){var s=o[i];bt(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(h(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof wt&&console.error(t.error);return this},kt.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},kt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Tt={$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"},sources:{required:!0,type:"sources"},sprite:{type:"string"},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"},"*":{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"},"*":{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:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1}},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"],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:"string",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:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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:{},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-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"},{"!":"text-variable-anchor"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,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":{}}},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:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},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}},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:"string",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:"string",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:"string",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:"string",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"}}},At=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Mt(t){var e=t.key,r=t.value;return r?[new At(e,r,"constants have been deprecated as of v8")]:[]}function St(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}function Et(t){return t instanceof Number||t instanceof String||t instanceof Boolean}function Lt(t){return Et(t)?t.valueOf():t}function Ct(t){if(Array.isArray(t))return t.map(Ct);if(t instanceof Object&&!Et(t)){var e={};for(var r in t)e[r]=Ct(t[r]);return e}return Lt(t)}var Pt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),Ot=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var a=n[r],i=a[0],o=a[1];this.bindings[i]=o}};Ot.prototype.concat=function(t){return new Ot(this,t)},Ot.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},Ot.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var zt={kind:"null"},It={kind:"number"},Dt={kind:"string"},Rt={kind:"boolean"},Ft={kind:"color"},Bt={kind:"object"},Nt={kind:"value"},jt={kind:"collator"},Vt={kind:"formatted"};function Ut(t,e){return{kind:"array",itemType:t,N:e}}function qt(t){if("array"===t.kind){var e=qt(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Ht=[zt,It,Dt,Rt,Ft,Vt,Bt,Ut(Nt)];function Gt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Gt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Ht;r<n.length;r+=1)if(!Gt(n[r],e))return null}return"Expected "+qt(t)+" but found "+qt(e)+" instead."}var Yt=e(function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function a(t){return t<0?0:t>1?1:t}function i(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?a(parseFloat(t)/100):a(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,a=t.replace(/ /g,"").toLowerCase();if(a in r)return r[a].slice();if("#"===a[0])return 4===a.length?(e=parseInt(a.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===a.length&&(e=parseInt(a.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=a.indexOf("("),c=a.indexOf(")");if(-1!==l&&c+1===a.length){var u=a.substr(0,l),h=a.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),g=o(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*s(m,v,p+1/3)),n(255*s(m,v,p)),n(255*s(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}}).parseCSSColor,Wt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Wt.parse=function(t){if(t){if(t instanceof Wt)return t;if("string"==typeof t){var e=Yt(t);if(e)return new Wt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Wt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],a=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+a+")"},Wt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},Wt.black=new Wt(0,0,0,1),Wt.white=new Wt(1,1,1,1),Wt.transparent=new Wt(0,0,0,0),Wt.red=new Wt(1,0,0,1);var Xt=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Xt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Xt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Zt=function(t,e,r,n){this.text=t,this.scale=e,this.fontStack=r,this.textColor=n},Jt=function(t){this.sections=t};function Kt(t,e,r,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function Qt(t){if(null===t)return zt;if("string"==typeof t)return Dt;if("boolean"==typeof t)return Rt;if("number"==typeof t)return It;if(t instanceof Wt)return Ft;if(t instanceof Xt)return jt;if(t instanceof Jt)return Vt;if(Array.isArray(t)){for(var e,r=t.length,n=0,a=t;n<a.length;n+=1){var i=Qt(a[n]);if(e){if(e===i)continue;e=Nt;break}e=i}return Ut(e||Nt,r)}return Bt}function $t(t){var e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Wt||t instanceof Jt?t.toString():JSON.stringify(t)}Jt.fromString=function(t){return new Jt([new Zt(t,null,null,null)])},Jt.prototype.toString=function(){return this.sections.map(function(t){return t.text}).join("")},Jt.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.text);var a={};n.fontStack&&(a["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(a["font-scale"]=n.scale),n.textColor&&(a["text-color"]=["rgba"].concat(n.textColor.toArray())),t.push(a)}return t};var te=function(t,e){this.type=t,this.value=e};te.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!function t(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Wt)return!0;if(e instanceof Xt)return!0;if(e instanceof Jt)return!0;if(Array.isArray(e)){for(var r=0,n=e;r<n.length;r+=1)if(!t(n[r]))return!1;return!0}if("object"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1}(t[1]))return e.error("invalid value");var r=t[1],n=Qt(r),a=e.expectedType;return"array"!==n.kind||0!==n.N||!a||"array"!==a.kind||"number"==typeof a.N&&0!==a.N||(n=a),new te(n,r)},te.prototype.evaluate=function(){return this.value},te.prototype.eachChild=function(){},te.prototype.possibleOutputs=function(){return[this.value]},te.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Wt?["rgba"].concat(this.value.toArray()):this.value instanceof Jt?this.value.serialize():this.value};var ee=function(t){this.name="ExpressionEvaluationError",this.message=t};ee.prototype.toJSON=function(){return this.message};var re={string:Dt,number:It,boolean:Rt,object:Bt},ne=function(t,e){this.type=t,this.args=e};ne.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r,n=1,a=t[0];if("array"===a){var i,o;if(t.length>2){var s=t[1];if("string"!=typeof s||!(s in re)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=re[s],n++}else i=Nt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Ut(i,o)}else r=re[a];for(var l=[];n<t.length;n++){var c=e.parse(t[n],n,Nt);if(!c)return null;l.push(c)}return new ne(r,l)},ne.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Gt(this.type,Qt(r)))return r;if(e===this.args.length-1)throw new ee("Expected value to be of type "+qt(this.type)+", but found "+qt(Qt(r))+" instead.")}return null},ne.prototype.eachChild=function(t){this.args.forEach(t)},ne.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},ne.prototype.serialize=function(){var t=this.type,e=[t.kind];if("array"===t.kind){var r=t.itemType;if("string"===r.kind||"number"===r.kind||"boolean"===r.kind){e.push(r.kind);var n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map(function(t){return t.serialize()}))};var ae=function(t){this.type=Vt,this.sections=t};ae.parse=function(t,e){if(t.length<3)return e.error("Expected at least two arguments.");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");for(var r=[],n=1;n<t.length-1;n+=2){var a=e.parse(t[n],1,Nt);if(!a)return null;var i=a.type.kind;if("string"!==i&&"value"!==i&&"null"!==i)return e.error("Formatted text type must be 'string', 'value', or 'null'.");var o=t[n+1];if("object"!=typeof o||Array.isArray(o))return e.error("Format options argument must be an object.");var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,It)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Ut(Dt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Ft)))return null;r.push({text:a,scale:s,font:l,textColor:c})}return new ae(r)},ae.prototype.evaluate=function(t){return new Jt(this.sections.map(function(e){return new Zt($t(e.text.evaluate(t)),e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)}))},ae.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.text),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},ae.prototype.possibleOutputs=function(){return[void 0]},ae.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.text.serialize());var a={};n.scale&&(a["font-scale"]=n.scale.serialize()),n.font&&(a["text-font"]=n.font.serialize()),n.textColor&&(a["text-color"]=n.textColor.serialize()),t.push(a)}return t};var ie={"to-boolean":Rt,"to-color":Ft,"to-number":It,"to-string":Dt},oe=function(t,e){this.type=t,this.args=e};oe.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ie[r],a=[],i=1;i<t.length;i++){var o=e.parse(t[i],i,Nt);if(!o)return null;a.push(o)}return new oe(n,a)},oe.prototype.evaluate=function(t){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(t));if("color"===this.type.kind){for(var e,r,n=0,a=this.args;n<a.length;n+=1){if(r=null,(e=a[n].evaluate(t))instanceof Wt)return e;if("string"==typeof e){var i=t.parseColor(e);if(i)return i}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":Kt(e[0],e[1],e[2],e[3])))return new Wt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ee(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var c=Number(o);if(!isNaN(c))return c}throw new ee("Could not convert "+JSON.stringify(o)+" to number.")}return"formatted"===this.type.kind?Jt.fromString($t(this.args[0].evaluate(t))):$t(this.args[0].evaluate(t))},oe.prototype.eachChild=function(t){this.args.forEach(t)},oe.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},oe.prototype.serialize=function(){if("formatted"===this.type.kind)return new ae([{text:this.args[0],scale:null,font:null,textColor:null}]).serialize();var t=["to-"+this.type.kind];return this.eachChild(function(e){t.push(e.serialize())}),t};var se=["Unknown","Point","LineString","Polygon"],le=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={}};le.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},le.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?se[this.feature.type]:this.feature.type:null},le.prototype.properties=function(){return this.feature&&this.feature.properties||{}},le.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Wt.parse(t)),e};var ce=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};ce.prototype.evaluate=function(t){return this._evaluate(t,this.args)},ce.prototype.eachChild=function(t){this.args.forEach(t)},ce.prototype.possibleOutputs=function(){return[void 0]},ce.prototype.serialize=function(){return[this.name].concat(this.args.map(function(t){return t.serialize()}))},ce.parse=function(t,e){var r,n=t[0],a=ce.definitions[n];if(!a)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var i=Array.isArray(a)?a[0]:a.type,o=Array.isArray(a)?[[a[1],a[2]]]:a.overloads,s=o.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),l=null,c=0,u=s;c<u.length;c+=1){var h=u[c],f=h[0],p=h[1];l=new ge(e.registry,e.path,null,e.scope);for(var d=[],g=!1,v=1;v<t.length;v++){var m=t[v],y=Array.isArray(f)?f[v-1]:f.type,x=l.parse(m,1+d.length,y);if(!x){g=!0;break}d.push(x)}if(!g)if(Array.isArray(f)&&f.length!==d.length)l.error("Expected "+f.length+" arguments, but found "+d.length+" instead.");else{for(var b=0;b<d.length;b++){var _=Array.isArray(f)?f[b]:f.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new ce(n,i,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var k=(s.length?s:o).map(function(t){var e;return e=t[0],Array.isArray(e)?"("+e.map(qt).join(", ")+")":"("+qt(e.type)+"...)"}).join(" | "),T=[],A=1;A<t.length;A++){var M=e.parse(t[A],1+T.length);if(!M)return null;T.push(qt(M.type))}e.error("Expected arguments of type "+k+", but found ("+T.join(", ")+") instead.")}return null},ce.register=function(t,e){for(var r in ce.definitions=e,e)t[r]=ce};var ue=function(t,e,r){this.type=jt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function he(t){if(t instanceof ce){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}var e=!0;return t.eachChild(function(t){e&&!he(t)&&(e=!1)}),e}function fe(t){if(t instanceof ce&&"feature-state"===t.name)return!1;var e=!0;return t.eachChild(function(t){e&&!fe(t)&&(e=!1)}),e}function pe(t,e){if(t instanceof ce&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild(function(t){r&&!pe(t,e)&&(r=!1)}),r}ue.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,Rt);if(!n)return null;var a=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,Rt);if(!a)return null;var i=null;return r.locale&&!(i=e.parse(r.locale,1,Dt))?null:new ue(n,a,i)},ue.prototype.evaluate=function(t){return new Xt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ue.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},ue.prototype.possibleOutputs=function(){return[void 0]},ue.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var de=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};de.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new de(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},de.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},de.prototype.eachChild=function(){},de.prototype.possibleOutputs=function(){return[void 0]},de.prototype.serialize=function(){return["var",this.name]};var ge=function(t,e,r,n,a){void 0===e&&(e=[]),void 0===n&&(n=new Ot),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return"["+t+"]"}).join(""),this.scope=n,this.errors=a,this.expectedType=r};function ve(t,e){for(var r,n,a=t.length-1,i=0,o=a,s=0;i<=o;)if(r=t[s=Math.floor((i+o)/2)],n=t[s+1],r<=e){if(s===a||e<n)return s;i=s+1}else{if(!(r>e))throw new ee("Input is not a number.");o=s-1}return 0}ge.prototype.parse=function(t,e,r,n,a){return void 0===a&&(a={}),e?this.concat(e,r,n)._parse(t,a):this._parse(t,a)},ge.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ne(e,[t]):"coerce"===r?new oe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var a=this.registry[n];if(a){var i=a.parse(t,this);if(!i)return null;if(this.expectedType){var o=this.expectedType,s=i.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else i=r(i,o,e.typeAnnotation||"coerce");else i=r(i,o,e.typeAnnotation||"assert")}if(!(i instanceof te)&&function t(e){if(e instanceof de)return t(e.boundExpression);if(e instanceof ce&&"error"===e.name)return!1;if(e instanceof ue)return!1;var r=e instanceof oe||e instanceof ne,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof te}),!!n&&(he(e)&&pe(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]))}(i)){var l=new le;try{i=new te(i.type,i.evaluate(l))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},ge.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new ge(this.registry,n,e||null,a,this.errors)},ge.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map(function(t){return"["+t+"]"}).join("");this.errors.push(new Pt(n,t))},ge.prototype.checkSubtype=function(t,e){var r=Gt(t,e);return r&&this.error(r),r};var me=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,a=r;n<a.length;n+=1){var i=a[n],o=i[0],s=i[1];this.labels.push(o),this.outputs.push(s)}};function ye(t,e,r){return t*(1-r)+e*r}me.parse=function(t,e){if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");var r=e.parse(t[1],1,It);if(!r)return null;var n=[],a=null;e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType);for(var i=1;i<t.length;i+=2){var o=1===i?-1/0:t[i],s=t[i+1],l=i,c=i+1;if("number"!=typeof o)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,a);if(!u)return null;a=a||u.type,n.push([o,u])}return new me(a,r,n)},me.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[ve(e,n)].evaluate(t)},me.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},me.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}))},me.prototype.serialize=function(){for(var t=["step",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var xe=Object.freeze({number:ye,color:function(t,e,r){return new Wt(ye(t.r,e.r,r),ye(t.g,e.g,r),ye(t.b,e.b,r),ye(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return ye(t,e[n],r)})}}),be=.95047,_e=1,we=1.08883,ke=4/29,Te=6/29,Ae=3*Te*Te,Me=Te*Te*Te,Se=Math.PI/180,Ee=180/Math.PI;function Le(t){return t>Me?Math.pow(t,1/3):t/Ae+ke}function Ce(t){return t>Te?t*t*t:Ae*(t-ke)}function Pe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function ze(t){var e=Oe(t.r),r=Oe(t.g),n=Oe(t.b),a=Le((.4124564*e+.3575761*r+.1804375*n)/be),i=Le((.2126729*e+.7151522*r+.072175*n)/_e);return{l:116*i-16,a:500*(a-i),b:200*(i-Le((.0193339*e+.119192*r+.9503041*n)/we)),alpha:t.a}}function Ie(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=_e*Ce(e),r=be*Ce(r),n=we*Ce(n),new Wt(Pe(3.2404542*r-1.5371385*e-.4985314*n),Pe(-.969266*r+1.8760108*e+.041556*n),Pe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var De={forward:ze,reverse:Ie,interpolate:function(t,e,r){return{l:ye(t.l,e.l,r),a:ye(t.a,e.a,r),b:ye(t.b,e.b,r),alpha:ye(t.alpha,e.alpha,r)}}},Re={forward:function(t){var e=ze(t),r=e.l,n=e.a,a=e.b,i=Math.atan2(a,n)*Ee;return{h:i<0?i+360:i,c:Math.sqrt(n*n+a*a),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Se,r=t.c;return Ie({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:ye(t.c,e.c,r),l:ye(t.l,e.l,r),alpha:ye(t.alpha,e.alpha,r)}}},Fe=Object.freeze({lab:De,hcl:Re}),Be=function(t,e,r,n,a){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var i=0,o=a;i<o.length;i+=1){var s=o[i],l=s[0],c=s[1];this.labels.push(l),this.outputs.push(c)}};function Ne(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}Be.interpolationFactor=function(t,e,n,a){var i=0;if("exponential"===t.name)i=Ne(e,t.base,n,a);else if("linear"===t.name)i=Ne(e,1,n,a);else if("cubic-bezier"===t.name){var o=t.controlPoints;i=new r(o[0],o[1],o[2],o[3]).solve(Ne(e,1,n,a))}return i},Be.parse=function(t,e){var r=t[0],n=t[1],a=t[2],i=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){var o=n[1];if("number"!=typeof o)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:o}}else{if("cubic-bezier"!==n[0])return e.error("Unknown interpolation type "+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some(function(t){return"number"!=typeof t||t<0||t>1}))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(a=e.parse(a,2,It)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Ft:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u<i.length;u+=2){var h=i[u],f=i[u+1],p=u+3,d=u+4;if("number"!=typeof h)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,c);if(!g)return null;c=c||g.type,l.push([h,g])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new Be(c,r,n,a,l):e.error("Type "+qt(c)+" is not interpolatable.")},Be.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;if(n>=e[a-1])return r[a-1].evaluate(t);var i=ve(e,n),o=e[i],s=e[i+1],l=Be.interpolationFactor(this.interpolation,n,o,s),c=r[i].evaluate(t),u=r[i+1].evaluate(t);return"interpolate"===this.operator?xe[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?Re.reverse(Re.interpolate(Re.forward(c),Re.forward(u),l)):De.reverse(De.interpolate(De.forward(c),De.forward(u),l))},Be.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},Be.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}))},Be.prototype.serialize=function(){var t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var je=function(t,e){this.type=t,this.args=e};je.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var a=[],i=0,o=t.slice(1);i<o.length;i+=1){var s=o[i],l=e.parse(s,1+a.length,r,void 0,{typeAnnotation:"omit"});if(!l)return null;r=r||l.type,a.push(l)}var c=n&&a.some(function(t){return Gt(n,t.type)});return new je(c?Nt:r,a)},je.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},je.prototype.eachChild=function(t){this.args.forEach(t)},je.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},je.prototype.serialize=function(){var t=["coalesce"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Ve=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};Ve.prototype.evaluate=function(t){return this.result.evaluate(t)},Ve.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},Ve.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var a=t[n];if("string"!=typeof a)return e.error("Expected string, but found "+typeof a+" instead.",n);if(/[^a-zA-Z0-9_]/.test(a))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var i=e.parse(t[n+1],n+1);if(!i)return null;r.push([a,i])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new Ve(r,o):null},Ve.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},Ve.prototype.serialize=function(){for(var t=["let"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];t.push(a,i.serialize())}return t.push(this.result.serialize()),t};var Ue=function(t,e,r){this.type=t,this.index=e,this.input=r};Ue.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,It),n=e.parse(t[2],2,Ut(e.expectedType||Nt));if(!r||!n)return null;var a=n.type;return new Ue(a.itemType,r,n)},Ue.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ee("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new ee("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ee("Array index must be an integer, but found "+e+" instead.");return r[e]},Ue.prototype.eachChild=function(t){t(this.index),t(this.input)},Ue.prototype.possibleOutputs=function(){return[void 0]},Ue.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var qe=function(t,e,r,n,a,i){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=a,this.otherwise=i};qe.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var a={},i=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error("Expected at least one branch label.");for(var u=0,h=s;u<h.length;u+=1){var f=h[u];if("number"!=typeof f&&"string"!=typeof f)return c.error("Branch labels must be numbers or strings.");if("number"==typeof f&&Math.abs(f)>Number.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,Qt(f)))return null}else r=Qt(f);if(void 0!==a[String(f)])return c.error("Branch labels must be unique.");a[String(f)]=i.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,i.push(p)}var d=e.parse(t[1],1,Nt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new qe(r,n,d,a,i,g):null},qe.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(Qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},qe.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},qe.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs())},qe.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},a=0,i=Object.keys(this.cases).sort();a<i.length;a+=1){var o=i[a];void 0===(h=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[h][1].push(o)}for(var s=function(e){return"number"===t.inputType.kind?Number(e):e},l=0,c=r;l<c.length;l+=1){var u=c[l],h=u[0],f=u[1];1===f.length?e.push(s(f[0])):e.push(f.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var He=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};function Ge(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function Ye(t,e,r,n){return 0===n.compare(e,r)}function We(t,e,r){var n="=="!==t&&"!="!==t;return function(){function a(t,e,r){this.type=Rt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}return a.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var r=t[0],i=e.parse(t[1],1,Nt);if(!i)return null;if(!Ge(r,i.type))return e.concat(1).error('"'+r+"\" comparisons are not supported for type '"+qt(i.type)+"'.");var o=e.parse(t[2],2,Nt);if(!o)return null;if(!Ge(r,o.type))return e.concat(2).error('"'+r+"\" comparisons are not supported for type '"+qt(o.type)+"'.");if(i.type.kind!==o.type.kind&&"value"!==i.type.kind&&"value"!==o.type.kind)return e.error("Cannot compare types '"+qt(i.type)+"' and '"+qt(o.type)+"'.");n&&("value"===i.type.kind&&"value"!==o.type.kind?i=new ne(o.type,[i]):"value"!==i.type.kind&&"value"===o.type.kind&&(o=new ne(i.type,[o])));var s=null;if(4===t.length){if("string"!==i.type.kind&&"string"!==o.type.kind&&"value"!==i.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(s=e.parse(t[3],3,jt)))return null}return new a(i,o,s)},a.prototype.evaluate=function(a){var i=this.lhs.evaluate(a),o=this.rhs.evaluate(a);if(n&&this.hasUntypedArgument){var s=Qt(i),l=Qt(o);if(s.kind!==l.kind||"string"!==s.kind&&"number"!==s.kind)throw new ee('Expected arguments for "'+t+'" to be (string, string) or (number, number), but found ('+s.kind+", "+l.kind+") instead.")}if(this.collator&&!n&&this.hasUntypedArgument){var c=Qt(i),u=Qt(o);if("string"!==c.kind||"string"!==u.kind)return e(a,i,o)}return this.collator?r(a,i,o,this.collator.evaluate(a)):e(a,i,o)},a.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},a.prototype.possibleOutputs=function(){return[!0,!1]},a.prototype.serialize=function(){var e=[t];return this.eachChild(function(t){e.push(t.serialize())}),e},a}()}He.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],a=1;a<t.length-1;a+=2){var i=e.parse(t[a],a,Rt);if(!i)return null;var o=e.parse(t[a+1],a+1,r);if(!o)return null;n.push([i,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new He(r,n,s):null},He.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];if(a.evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},He.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];t(a),t(i)}t(this.otherwise)},He.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs())},He.prototype.serialize=function(){var t=["case"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Xe=We("==",function(t,e,r){return e===r},Ye),Ze=We("!=",function(t,e,r){return e!==r},function(t,e,r,n){return!Ye(0,e,r,n)}),Je=We("<",function(t,e,r){return e<r},function(t,e,r,n){return n.compare(e,r)<0}),Ke=We(">",function(t,e,r){return e>r},function(t,e,r,n){return n.compare(e,r)>0}),Qe=We("<=",function(t,e,r){return e<=r},function(t,e,r,n){return n.compare(e,r)<=0}),$e=We(">=",function(t,e,r){return e>=r},function(t,e,r,n){return n.compare(e,r)>=0}),tr=function(t,e,r,n,a){this.type=Dt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=a};tr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,It);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var a=null;if(n.locale&&!(a=e.parse(n.locale,1,Dt)))return null;var i=null;if(n.currency&&!(i=e.parse(n.currency,1,Dt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,It)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,It))?null:new tr(r,a,i,o,s)},tr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},tr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},tr.prototype.possibleOutputs=function(){return[void 0]},tr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var er=function(t){this.type=It,this.input=t};er.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+qt(r.type)+" instead."):new er(r):null},er.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ee("Expected value to be of type string or array, but found "+qt(Qt(e))+" instead.")},er.prototype.eachChild=function(t){t(this.input)},er.prototype.possibleOutputs=function(){return[void 0]},er.prototype.serialize=function(){var t=["length"];return this.eachChild(function(e){t.push(e.serialize())}),t};var rr={"==":Xe,"!=":Ze,">":Ke,"<":Je,">=":$e,"<=":Qe,array:ne,at:Ue,boolean:ne,case:He,coalesce:je,collator:ue,format:ae,interpolate:Be,"interpolate-hcl":Be,"interpolate-lab":Be,length:er,let:Ve,literal:te,match:qe,number:ne,"number-format":tr,object:ne,step:me,string:ne,"to-boolean":oe,"to-color":oe,"to-number":oe,"to-string":oe,var:de};function nr(t,e){var r=e[0],n=e[1],a=e[2],i=e[3];r=r.evaluate(t),n=n.evaluate(t),a=a.evaluate(t);var o=i?i.evaluate(t):1,s=Kt(r,n,a,o);if(s)throw new ee(s);return new Wt(r/255*o,n/255*o,a/255*o,o)}function ar(t,e){return t in e}function ir(t,e){var r=e[t];return void 0===r?null:r}function or(t){return{type:t}}function sr(t){return{result:"success",value:t}}function lr(t){return{result:"error",value:t}}function cr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function ur(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function hr(t){return!!t.expression&&t.expression.interpolated}function fr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function pr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function dr(t){return t}function gr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function vr(t,e,r,n,a){return gr(typeof r===a?n[r]:void 0,t.default,e.default)}function mr(t,e,r){if("number"!==fr(r))return gr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=ve(t.stops.map(function(t){return t[0]}),r);return t.stops[a][1]}function yr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==fr(r))return gr(t.default,e.default);var a=t.stops.length;if(1===a)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[a-1][0])return t.stops[a-1][1];var i=ve(t.stops.map(function(t){return t[0]}),r),o=function(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}(r,n,t.stops[i][0],t.stops[i+1][0]),s=t.stops[i][1],l=t.stops[i+1][1],c=xe[e.type]||dr;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=Fe[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function xr(t,e,r){return"color"===e.type?r=Wt.parse(r):"formatted"===e.type?r=Jt.fromString(r.toString()):fr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),gr(r,t.default,e.default)}ce.register(rr,{error:[{kind:"error"},[Dt],function(t,e){var r=e[0];throw new ee(r.evaluate(t))}],typeof:[Dt,[Nt],function(t,e){return qt(Qt(e[0].evaluate(t)))}],"to-rgba":[Ut(It,4),[Ft],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Ft,[It,It,It],nr],rgba:[Ft,[It,It,It,It],nr],has:{type:Rt,overloads:[[[Dt],function(t,e){return ar(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ar(r.evaluate(t),n.evaluate(t))}]]},get:{type:Nt,overloads:[[[Dt],function(t,e){return ir(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ir(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Nt,[Dt],function(t,e){return ir(e[0].evaluate(t),t.featureState||{})}],properties:[Bt,[],function(t){return t.properties()}],"geometry-type":[Dt,[],function(t){return t.geometryType()}],id:[Nt,[],function(t){return t.id()}],zoom:[It,[],function(t){return t.globals.zoom}],"heatmap-density":[It,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[It,[],function(t){return t.globals.lineProgress||0}],accumulated:[Nt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[It,or(It),function(t,e){for(var r=0,n=0,a=e;n<a.length;n+=1)r+=a[n].evaluate(t);return r}],"*":[It,or(It),function(t,e){for(var r=1,n=0,a=e;n<a.length;n+=1)r*=a[n].evaluate(t);return r}],"-":{type:It,overloads:[[[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[It],function(t,e){return-e[0].evaluate(t)}]]},"/":[It,[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],"%":[It,[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[It,[],function(){return Math.LN2}],pi:[It,[],function(){return Math.PI}],e:[It,[],function(){return Math.E}],"^":[It,[It,It],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[It,[It],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN10}],ln:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN2}],sin:[It,[It],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[It,[It],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[It,[It],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[It,[It],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[It,[It],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[It,[It],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[It,or(It),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[It,or(It),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],abs:[It,[It],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[It,[It],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[It,[It],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[It,[It],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],"filter-==":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[Rt,[Nt],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[Rt,[Dt],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<i}],"filter-id-<":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<a}],"filter->":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>i}],"filter-id->":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>a}],"filter-<=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<=i}],"filter-id-<=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<=a}],"filter->=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>=i}],"filter-id->=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>=a}],"filter-has":[Rt,[Nt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Rt,[],function(t){return null!==t.id()}],"filter-type-in":[Rt,[Ut(Dt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Rt,[Ut(Nt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var a=r+n>>1;if(e[a]===t)return!0;e[a]>t?n=a-1:r=a+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Rt,overloads:[[[Rt,Rt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[or(Rt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:Rt,overloads:[[[Rt,Rt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[or(Rt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},"!":[Rt,[Rt],function(t,e){return!e[0].evaluate(t)}],"is-supported-script":[Rt,[Dt],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[Dt,[Dt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Dt,[Dt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Dt,or(Nt),function(t,e){return e.map(function(e){return $t(e.evaluate(t))}).join("")}],"resolved-locale":[Dt,[jt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var br=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new le,this._defaultValue=e?function(t){return"color"===t.type&&pr(t.default)?new Wt(0,0,0,0):"color"===t.type?Wt.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null};function _r(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in rr}function wr(t,e){var r=new ge(rr,[],e?function(t){var e={color:Ft,string:Dt,number:It,enum:Dt,boolean:Rt,formatted:Vt};return"array"===t.type?Ut(e[t.value]||Nt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?sr(new br(n,e)):lr(r.errors)}br.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.formattedSection=n,this.expression.evaluate(this._evaluator)},br.prototype.evaluate=function(t,e,r,n){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.formattedSection=n||null;try{var a=this.expression.evaluate(this._evaluator);if(null==a)return this._defaultValue;if(this._enumValues&&!(a in this._enumValues))throw new ee("Expected value to be one of "+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(", ")+", but found "+JSON.stringify(a)+" instead.");return a}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var kr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!fe(e.expression)};kr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n)},kr.prototype.evaluate=function(t,e,r,n){return this._styleExpression.evaluate(t,e,r,n)};var Tr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!fe(e.expression),this.interpolationType=n};function Ar(t,e){if("error"===(t=wr(t,e)).result)return t;var r=t.value.expression,n=he(r);if(!n&&!cr(e))return lr([new Pt("","data expressions not supported")]);var a=pe(r,["zoom"]);if(!a&&!ur(e))return lr([new Pt("","zoom expressions not supported")]);var i=function t(e){var r=null;if(e instanceof Ve)r=t(e.result);else if(e instanceof je)for(var n=0,a=e.args;n<a.length;n+=1){var i=a[n];if(r=t(i))break}else(e instanceof me||e instanceof Be)&&e.input instanceof ce&&"zoom"===e.input.name&&(r=e);return r instanceof Pt?r:(e.eachChild(function(e){var n=t(e);n instanceof Pt?r=n:!r&&n?r=new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):r&&n&&r!==n&&(r=new Pt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),r)}(r);if(!i&&!a)return lr([new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(i instanceof Pt)return lr([i]);if(i instanceof Be&&!hr(e))return lr([new Pt("",'"interpolate" expressions cannot be used with this property')]);if(!i)return sr(new kr(n?"constant":"source",t.value));var o=i instanceof Be?i.interpolation:void 0;return sr(new Tr(n?"camera":"composite",t.value,i.labels,o))}Tr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n)},Tr.prototype.evaluate=function(t,e,r,n){return this._styleExpression.evaluate(t,e,r,n)},Tr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?Be.interpolationFactor(this.interpolationType,t,e,r):0};var Mr=function(t,e){this._parameters=t,this._specification=e,St(this,function t(e,r){var n,a,i,o="color"===r.type,s=e.stops&&"object"==typeof e.stops[0][0],l=s||void 0!==e.property,c=s||!l,u=e.type||(hr(r)?"exponential":"interval");if(o&&((e=St({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],Wt.parse(t[1])]})),e.default?e.default=Wt.parse(e.default):e.default=Wt.parse(r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!Fe[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===u)n=yr;else if("interval"===u)n=mr;else if("categorical"===u){n=vr,a=Object.create(null);for(var h=0,f=e.stops;h<f.length;h+=1){var p=f[h];a[p[0]]=p[1]}i=typeof e.stops[0][0]}else{if("identity"!==u)throw new Error('Unknown function type "'+u+'"');n=xr}if(s){for(var d={},g=[],v=0;v<e.stops.length;v++){var m=e.stops[v],y=m[0].zoom;void 0===d[y]&&(d[y]={zoom:y,type:e.type,property:e.property,default:e.default,stops:[]},g.push(y)),d[y].stops.push([m[0].value,m[1]])}for(var x=[],b=0,_=g;b<_.length;b+=1){var w=_[b];x.push([d[w].zoom,t(d[w],r)])}var k={name:"linear"};return{kind:"composite",interpolationType:k,interpolationFactor:Be.interpolationFactor.bind(void 0,k),zoomStops:x.map(function(t){return t[0]}),evaluate:function(t,n){var a=t.zoom;return yr({stops:x,base:e.base},r,a).evaluate(a,n)}}}if(c){var T="exponential"===u?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:T,interpolationFactor:Be.interpolationFactor.bind(void 0,T),zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var o=t.zoom;return n(e,r,o,a,i)}}}return{kind:"source",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?gr(e.default,r.default):n(e,r,s,a,i)}}}(this._parameters,this._specification))};function Sr(t){var e=t.key,r=t.value,n=t.valueSpec||{},a=t.objectElementValidators||{},i=t.style,o=t.styleSpec,s=[],l=fr(r);if("object"!==l)return[new At(e,r,"object expected, "+l+" found")];for(var c in r){var u=c.split(".")[0],h=n[u]||n["*"],f=void 0;if(a[u])f=a[u];else if(n[u])f=Kr;else if(a["*"])f=a["*"];else{if(!n["*"]){s.push(new At(e,r[c],'unknown property "'+c+'"'));continue}f=Kr}s=s.concat(f({key:(e?e+".":e)+c,value:r[c],valueSpec:h,style:i,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)a[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new At(e,r,'missing required property "'+p+'"'));return s}function Er(t){var e=t.value,r=t.valueSpec,n=t.style,a=t.styleSpec,i=t.key,o=t.arrayElementValidator||Kr;if("array"!==fr(e))return[new At(i,e,"array expected, "+fr(e)+" found")];if(r.length&&e.length!==r.length)return[new At(i,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return[new At(i,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value,values:r.values};a.$version<7&&(s.function=r.function),"object"===fr(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:a,key:i+"["+c+"]"}));return l}function Lr(t){var e=t.key,r=t.value,n=t.valueSpec,a=fr(r);return"number"!==a?[new At(e,r,"number expected, "+a+" found")]:"minimum"in n&&r<n.minimum?[new At(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new At(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function Cr(t){var e,r,n,a=t.valueSpec,i=Lt(t.value.type),o={},s="categorical"!==i&&void 0===t.value.property,l=!s,c="array"===fr(t.value.stops)&&"array"===fr(t.value.stops[0])&&"object"===fr(t.value.stops[0][0]),u=Sr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new At(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Er({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===fr(r)&&0===r.length&&e.push(new At(t.key,r,"array must have at least one stop")),e},default:function(t){return Kr({key:t.key,value:t.value,valueSpec:a,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&s&&u.push(new At(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||u.push(new At(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!hr(t.valueSpec)&&u.push(new At(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!cr(t.valueSpec)?u.push(new At(t.key,t.value,"property functions not supported")):s&&!ur(t.valueSpec)&&u.push(new At(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||u.push(new At(t.key,t.value,'"property" property is required')),u;function h(t){var e=[],i=t.value,s=t.key;if("array"!==fr(i))return[new At(s,i,"array expected, "+fr(i)+" found")];if(2!==i.length)return[new At(s,i,"array length 2 expected, length "+i.length+" found")];if(c){if("object"!==fr(i[0]))return[new At(s,i,"object expected, "+fr(i[0])+" found")];if(void 0===i[0].zoom)return[new At(s,i,"object stop key must have zoom")];if(void 0===i[0].value)return[new At(s,i,"object stop key must have value")];if(n&&n>Lt(i[0].zoom))return[new At(s,i[0].zoom,"stop zoom values must appear in ascending order")];Lt(i[0].zoom)!==n&&(n=Lt(i[0].zoom),r=void 0,o={}),e=e.concat(Sr({key:s+"[0]",value:i[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Lr,value:f}}))}else e=e.concat(f({key:s+"[0]",value:i[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},i));return _r(Ct(i[1]))?e.concat([new At(s+"[1]",i[1],"expressions are not allowed in function stops.")]):e.concat(Kr({key:s+"[1]",value:i[1],valueSpec:a,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=fr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new At(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new At(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==i){var u="number expected, "+s+" found";return cr(a)&&void 0===i&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new At(t.key,c,u)]}return"categorical"!==i||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===s&&void 0!==r&&l<r?[new At(t.key,c,"stop domain values must appear in ascending order")]:(r=l,"categorical"===i&&l in o?[new At(t.key,c,"stop domain values must be unique")]:(o[l]=!0,[])):[new At(t.key,c,"integer expected, found "+l)]}}function Pr(t){var e=("property"===t.expressionContext?Ar:wr)(Ct(t.value),t.valueSpec);if("error"===e.result)return e.value.map(function(e){return new At(""+t.key+e.key,t.value,e.message)});var r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&-1!==r.possibleOutputs().indexOf(void 0))return[new At(t.key,t.value,'Invalid data expression for "'+t.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===t.expressionContext&&"layout"===t.propertyType&&!fe(r))return[new At(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!fe(r))return[new At(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!pe(r,["zoom","feature-state"]))return[new At(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!he(r))return[new At(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Or(t){var e=t.key,r=t.value,n=t.valueSpec,a=[];return Array.isArray(n.values)?-1===n.values.indexOf(Lt(r))&&a.push(new At(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(Lt(r))&&a.push(new At(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),a}function zr(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!zr(n)&&"boolean"!=typeof n)return!1}return!0;default:return!0}}Mr.deserialize=function(t){return new Mr(t._parameters,t._specification)},Mr.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var Ir={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Dr(t){if(null==t)return function(){return!0};zr(t)||(t=Fr(t));var e=wr(t,Ir);if("error"===e.result)throw new Error(e.value.map(function(t){return t.key+": "+t.message}).join(", "));return function(t,r){return e.value.evaluate(t,r)}}function Rr(t,e){return t<e?-1:t>e?1:0}function Fr(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?Br(t[1],t[2],"=="):"!="===r?Vr(Br(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?Br(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(Fr))):"all"===r?["all"].concat(t.slice(1).map(Fr)):"none"===r?["all"].concat(t.slice(1).map(Fr).map(Vr)):"in"===r?Nr(t[1],t.slice(2)):"!in"===r?Vr(Nr(t[1],t.slice(2))):"has"===r?jr(t[1]):"!has"!==r||Vr(jr(t[1]))}function Br(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Nr(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?["filter-in-large",t,["literal",e.sort(Rr)]]:["filter-in-small",t,["literal",e]]}}function jr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Vr(t){return["!",t]}function Ur(t){return zr(Ct(t.value))?Pr(St({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==fr(r))return[new At(n,r,"array expected, "+fr(r)+" found")];var a,i=e.styleSpec,o=[];if(r.length<1)return[new At(n,r,"filter array must have at least 1 element")];switch(o=o.concat(Or({key:n+"[0]",value:r[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===Lt(r[1])&&o.push(new At(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new At(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(a=fr(r[1]))&&o.push(new At(n+"[1]",r[1],"string expected, "+a+" found"));for(var s=2;s<r.length;s++)a=fr(r[s]),"$type"===Lt(r[1])?o=o.concat(Or({key:n+"["+s+"]",value:r[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):"string"!==a&&"number"!==a&&"boolean"!==a&&o.push(new At(n+"["+s+"]",r[s],"string, number, or boolean expected, "+a+" found"));break;case"any":case"all":case"none":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+"["+l+"]",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":a=fr(r[1]),2!==r.length?o.push(new At(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"string"!==a&&o.push(new At(n+"[1]",r[1],"string expected, "+a+" found"))}return o}(t)}function qr(t,e){var r=t.key,n=t.style,a=t.styleSpec,i=t.value,o=t.objectKey,s=a[e+"_"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if("paint"===e&&l&&s[l[1]]&&s[l[1]].transition)return Kr({key:r,value:i,valueSpec:a.transition,style:n,styleSpec:a});var c,u=t.valueSpec||s[o];if(!u)return[new At(r,i,'unknown property "'+o+'"')];if("string"===fr(i)&&cr(u)&&!u.tokens&&(c=/^{([^}]+)}$/.exec(i)))return[new At(r,i,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(c[1])+" }`.")];var h=[];return"symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&h.push(new At(r,i,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&pr(Ct(i))&&"identity"===Lt(i.type)&&h.push(new At(r,i,'"text-font" does not support identity functions'))),h.concat(Kr({key:t.key,value:i,valueSpec:u,style:n,styleSpec:a,expressionContext:"property",propertyType:e,propertyKey:o}))}function Hr(t){return qr(t,"paint")}function Gr(t){return qr(t,"layout")}function Yr(t){var e=[],r=t.value,n=t.key,a=t.style,i=t.styleSpec;r.type||r.ref||e.push(new At(n,r,'either "type" or "ref" is required'));var o,s=Lt(r.type),l=Lt(r.ref);if(r.id)for(var c=Lt(r.id),u=0;u<t.arrayIndex;u++){var h=a.layers[u];Lt(h.id)===c&&e.push(new At(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+h.id.__line__))}if("ref"in r)["type","source","source-layer","filter","layout"].forEach(function(t){t in r&&e.push(new At(n,r[t],'"'+t+'" is prohibited for ref layers'))}),a.layers.forEach(function(t){Lt(t.id)===l&&(o=t)}),o?o.ref?e.push(new At(n,r.ref,"ref cannot reference another ref layer")):s=Lt(o.type):e.push(new At(n,r.ref,'ref layer "'+l+'" not found'));else if("background"!==s)if(r.source){var f=a.sources&&a.sources[r.source],p=f&&Lt(f.type);f?"vector"===p&&"raster"===s?e.push(new At(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===p&&"raster"!==s?e.push(new At(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==p||r["source-layer"]?"raster-dem"===p&&"hillshade"!==s?e.push(new At(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===p&&f.lineMetrics||e.push(new At(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new At(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new At(n,r.source,'source "'+r.source+'" not found'))}else e.push(new At(n,r,'missing required property "source"'));return e=e.concat(Sr({key:n,value:r,valueSpec:i.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return Kr({key:n+".type",value:r.type,valueSpec:i.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:Ur,layout:function(t){return Sr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Gr(St({layerType:s},t))}}})},paint:function(t){return Sr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Hr(St({layerType:s},t))}}})}}}))}function Wr(t){var e=t.value,r=t.key,n=t.styleSpec,a=t.style;if(!e.type)return[new At(r,e,'"type" is required')];var i,o=Lt(e.type);switch(o){case"vector":case"raster":case"raster-dem":return Sr({key:r,value:e,valueSpec:n["source_"+o.replace("-","_")],style:t.style,styleSpec:n});case"geojson":if(i=Sr({key:r,value:e,valueSpec:n.source_geojson,style:a,styleSpec:n}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],c=l[0],u=l[1],h="string"==typeof c?[c,["accumulated"],["get",s]]:c;i.push.apply(i,Pr({key:r+"."+s+".map",value:u,expressionContext:"cluster-map"})),i.push.apply(i,Pr({key:r+"."+s+".reduce",value:h,expressionContext:"cluster-reduce"}))}return i;case"video":return Sr({key:r,value:e,valueSpec:n.source_video,style:a,styleSpec:n});case"image":return Sr({key:r,value:e,valueSpec:n.source_image,style:a,styleSpec:n});case"canvas":return[new At(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Or({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:a,styleSpec:n})}}function Xr(t){var e=t.value,r=t.styleSpec,n=r.light,a=t.style,i=[],o=fr(e);if(void 0===e)return i;if("object"!==o)return i.concat([new At("light",e,"object expected, "+o+" found")]);for(var s in e){var l=s.match(/^(.*)-transition$/);i=l&&n[l[1]]&&n[l[1]].transition?i.concat(Kr({key:s,value:e[s],valueSpec:r.transition,style:a,styleSpec:r})):n[s]?i.concat(Kr({key:s,value:e[s],valueSpec:n[s],style:a,styleSpec:r})):i.concat([new At(s,e[s],'unknown property "'+s+'"')])}return i}function Zr(t){var e=t.value,r=t.key,n=fr(e);return"string"!==n?[new At(r,e,"string expected, "+n+" found")]:[]}var Jr={"*":function(){return[]},array:Er,boolean:function(t){var e=t.value,r=t.key,n=fr(e);return"boolean"!==n?[new At(r,e,"boolean expected, "+n+" found")]:[]},number:Lr,color:function(t){var e=t.key,r=t.value,n=fr(r);return"string"!==n?[new At(e,r,"color expected, "+n+" found")]:null===Yt(r)?[new At(e,r,'color expected, "'+r+'" found')]:[]},constants:Mt,enum:Or,filter:Ur,function:Cr,layer:Yr,object:Sr,source:Wr,light:Xr,string:Zr,formatted:function(t){return 0===Zr(t).length?[]:Pr(t)}};function Kr(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&pr(Lt(e))?Cr(t):r.expression&&_r(Ct(e))?Pr(t):r.type&&Jr[r.type]?Jr[r.type](t):Sr(St({},t,{valueSpec:r.type?n[r.type]:r}))}function Qr(t){var e=t.value,r=t.key,n=Zr(t);return n.length?n:(-1===e.indexOf("{fontstack}")&&n.push(new At(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new At(r,e,'"glyphs" url must include a "{range}" token')),n)}function $r(t,e){e=e||Tt;var r=[];return r=r.concat(Kr({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Qr,"*":function(){return[]}}})),t.constants&&(r=r.concat(Mt({key:"constants",value:t.constants,style:t,styleSpec:e}))),tn(r)}function tn(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function en(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return tn(t.apply(this,e))}}$r.source=en(Wr),$r.light=en(Xr),$r.layer=en(Yr),$r.filter=en(Ur),$r.paintProperty=en(Hr),$r.layoutProperty=en(Gr);var rn=$r,nn=rn.light,an=rn.paintProperty,on=rn.layoutProperty;function sn(t,e){var r=!1;if(e&&e.length)for(var n=0,a=e;n<a.length;n+=1){var i=a[n];t.fire(new wt(new Error(i.message))),r=!0}return r}var ln=un,cn=3;function un(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var i=0;i<this.d*this.d;i++){var o=a[cn+i],s=a[cn+i+1];n.push(o===s?null:a.subarray(o,s))}var l=a[cn+n.length],c=a[cn+n.length+1];this.keys=a.subarray(l,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var u=0;u<this.d*this.d;u++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}un.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},un.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},un.prototype._insertCell=function(t,e,r,n,a,i){this.cells[a].push(i)},un.prototype.query=function(t,e,r,n,a){var i=this.min,o=this.max;if(t<=i&&e<=i&&o<=r&&o<=n&&!a)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},a),s},un.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=this.cells[a];if(null!==l)for(var c=this.keys,u=this.bboxes,h=0;h<l.length;h++){var f=l[h];if(void 0===o[f]){var p=4*f;(s?s(u[p+0],u[p+1],u[p+2],u[p+3]):t<=u[p+2]&&e<=u[p+3]&&r>=u[p+0]&&n>=u[p+1])?(o[f]=!0,i.push(c[f])):o[f]=!1}}},un.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&a.call(this,t,e,r,n,d,i,o,s))return}},un.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},un.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},un.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cn+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var i=e,o=0;o<t.length;o++){var s=t[o];a[cn+o]=i,a.set(s,i),i+=s.length}return a[cn+t.length]=i,a.set(this.keys,i),i+=this.keys.length,a[cn+t.length+1]=i,a.set(this.bboxes,i),i+=this.bboxes.length,a.buffer};var hn=self.ImageData,fn={};function pn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),fn[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var dn in pn("Object",Object),ln.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},ln.deserialize=function(t){return new ln(t.buffer)},pn("Grid",ln),pn("Color",Wt),pn("Error",Error),pn("StylePropertyFunction",Mr),pn("StyleExpression",br,{omit:["_evaluator"]}),pn("ZoomDependentExpression",Tr),pn("ZoomConstantExpression",kr),pn("CompoundExpression",ce,{omit:["_evaluate"]}),rr)rr[dn]._classRegistryKey||pn("Expression_"+dn,rr[dn]);function gn(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(t instanceof ArrayBuffer)return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof hn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],a=0,i=t;a<i.length;a+=1){var o=i[a];n.push(gn(o,e))}return n}if("object"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error("can't serialize object of unregistered class");var c=s.serialize?s.serialize(t,e):{};if(!s.serialize){for(var u in t)if(t.hasOwnProperty(u)&&!(fn[l].omit.indexOf(u)>=0)){var h=t[u];c[u]=fn[l].shallow.indexOf(u)>=0?h:gn(h,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof t)}function vn(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof hn)return t;if(Array.isArray(t))return t.map(vn);if("object"==typeof t){var e=t.$name||"Object",r=fn[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),a=0,i=Object.keys(t);a<i.length;a+=1){var o=i[a];if("$name"!==o){var s=t[o];n[o]=fn[e].shallow.indexOf(o)>=0?s:vn(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var mn=function(){this.first=!0};mn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var yn={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function xn(t){for(var e=0,r=t;e<r.length;e+=1)if(_n(r[e].charCodeAt(0)))return!0;return!1}function bn(t){return!(yn.Arabic(t)||yn["Arabic Supplement"](t)||yn["Arabic Extended-A"](t)||yn["Arabic Presentation Forms-A"](t)||yn["Arabic Presentation Forms-B"](t))}function _n(t){return!!(746===t||747===t||!(t<4352)&&(yn["Bopomofo Extended"](t)||yn.Bopomofo(t)||yn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||yn["CJK Compatibility Ideographs"](t)||yn["CJK Compatibility"](t)||yn["CJK Radicals Supplement"](t)||yn["CJK Strokes"](t)||!(!yn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yn["CJK Unified Ideographs Extension A"](t)||yn["CJK Unified Ideographs"](t)||yn["Enclosed CJK Letters and Months"](t)||yn["Hangul Compatibility Jamo"](t)||yn["Hangul Jamo Extended-A"](t)||yn["Hangul Jamo Extended-B"](t)||yn["Hangul Jamo"](t)||yn["Hangul Syllables"](t)||yn.Hiragana(t)||yn["Ideographic Description Characters"](t)||yn.Kanbun(t)||yn["Kangxi Radicals"](t)||yn["Katakana Phonetic Extensions"](t)||yn.Katakana(t)&&12540!==t||!(!yn["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!yn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yn["Unified Canadian Aboriginal Syllabics"](t)||yn["Unified Canadian Aboriginal Syllabics Extended"](t)||yn["Vertical Forms"](t)||yn["Yijing Hexagram Symbols"](t)||yn["Yi Syllables"](t)||yn["Yi Radicals"](t)))}function wn(t){return!(_n(t)||function(t){return!!(yn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yn["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||yn["Letterlike Symbols"](t)||yn["Number Forms"](t)||yn["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||yn["Control Pictures"](t)&&9251!==t||yn["Optical Character Recognition"](t)||yn["Enclosed Alphanumerics"](t)||yn["Geometric Shapes"](t)||yn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||yn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yn["CJK Symbols and Punctuation"](t)||yn.Katakana(t)||yn["Private Use Area"](t)||yn["CJK Compatibility Forms"](t)||yn["Small Form Variants"](t)||yn["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function kn(t,e){return!(!e&&(t>=1424&&t<=2303||yn["Arabic Presentation Forms-A"](t)||yn["Arabic Presentation Forms-B"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yn.Khmer(t))}var Tn,An=!1,Mn=null,Sn=!1,En=new kt,Ln={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Sn||null!=Ln.applyArabicShaping}},Cn=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new mn,this.transition={})};Cn.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!kn(n[r].charCodeAt(0),e))return!1;return!0}(t,Ln.isLoaded())},Cn.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Cn.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Pn=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(pr(t))return new Mr(t,e);if(_r(t)){var r=Ar(t,e);if("error"===r.result)throw new Error(r.value.map(function(t){return t.key+": "+t.message}).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=Wt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Pn.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Pn.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var On=function(t){this.property=t,this.value=new Pn(t,void 0)};On.prototype.transitioned=function(t,e){return new In(this.property,this.value,e,h({},t.transition,this.transition),t.now)},On.prototype.untransitioned=function(){return new In(this.property,this.value,null,{},0)};var zn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};zn.prototype.getValue=function(t){return b(this._values[t].value.value)},zn.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].value=new Pn(this._values[t].property,null===e?void 0:b(e))},zn.prototype.getTransition=function(t){return b(this._values[t].transition)},zn.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].transition=b(e)||void 0},zn.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a);var i=this.getTransition(n);void 0!==i&&(t[n+"-transition"]=i)}return t},zn.prototype.transitioned=function(t,e){for(var r=new Dn(this._properties),n=0,a=Object.keys(this._values);n<a.length;n+=1){var i=a[n];r._values[i]=this._values[i].transitioned(t,e._values[i])}return r},zn.prototype.untransitioned=function(){for(var t=new Dn(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var In=function(t,e,r,n,a){this.property=t,this.value=e,this.begin=a+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};In.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var a=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,function(t){if(a<=0)return 0;if(a>=1)return 1;var e=a*a,r=e*a;return 4*(a<.5?r:3*(a-e)+r-.75)}())}return r};var Dn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Dn.prototype.possiblyEvaluate=function(t){for(var e=new Bn(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var a=n[r];e._values[a]=this._values[a].possiblyEvaluate(t)}return e},Dn.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var Rn=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};Rn.prototype.getValue=function(t){return b(this._values[t].value)},Rn.prototype.setValue=function(t,e){this._values[t]=new Pn(this._values[t].property,null===e?void 0:b(e))},Rn.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a)}return t},Rn.prototype.possiblyEvaluate=function(t){for(var e=new Bn(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var a=n[r];e._values[a]=this._values[a].possiblyEvaluate(t)}return e};var Fn=function(t,e,r){this.property=t,this.value=e,this.parameters=r};Fn.prototype.isConstant=function(){return"constant"===this.value.kind},Fn.prototype.constantOr=function(t){return"constant"===this.value.kind?this.value.value:t},Fn.prototype.evaluate=function(t,e){return this.property.evaluate(this.value,this.parameters,t,e)};var Bn=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};Bn.prototype.get=function(t){return this._values[t]};var Nn=function(t){this.specification=t};Nn.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},Nn.prototype.interpolate=function(t,e,r){var n=xe[this.specification.type];return n?n(t,e,r):t};var jn=function(t,e){this.specification=t,this.overrides=e};jn.prototype.possiblyEvaluate=function(t,e){return"constant"===t.expression.kind||"camera"===t.expression.kind?new Fn(this,{kind:"constant",value:t.expression.evaluate(e)},e):new Fn(this,t.expression,e)},jn.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Fn(this,{kind:"constant",value:void 0},t.parameters);var n=xe[this.specification.type];return n?new Fn(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.parameters):t},jn.prototype.evaluate=function(t,e,r,n){return"constant"===t.kind?t.value:t.evaluate(e,r,n)};var Vn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(t,e){if(void 0===t.value)return new Fn(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){var r=t.expression.evaluate(e),n=this._calculate(r,r,r,e);return new Fn(this,{kind:"constant",value:n},e)}if("camera"===t.expression.kind){var a=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Fn(this,{kind:"constant",value:a},e)}return new Fn(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n){if("source"===t.kind){var a=t.evaluate(e,r,n);return this._calculate(a,a,a,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(jn),Un=function(t){this.specification=t};Un.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if("constant"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate(new Cn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom+1),e)),e)}},Un.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Un.prototype.interpolate=function(t){return t};var qn=function(t){this.specification=t};qn.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},qn.prototype.interpolate=function(){return!1};var Hn=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Pn(r,void 0),a=this.defaultTransitionablePropertyValues[e]=new On(r);this.defaultTransitioningPropertyValues[e]=a.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pn("DataDrivenProperty",jn),pn("DataConstantProperty",Nn),pn("CrossFadedDataDrivenProperty",Vn),pn("CrossFadedProperty",Un),pn("ColorRampProperty",qn);var Gn=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter=function(){return!0},"custom"!==e.type&&(e=e,this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new Rn(r.layout)),r.paint)){for(var n in this._transitionablePaint=new zn(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var a in e.layout)this.setLayoutProperty(a,e.layout[a],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(on,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(an,n,t,e,r))return!1}if(m(t,"-transition"))return this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0),!1;var a=this._transitionablePaint._values[t],i="cross-faded-data-driven"===a.property.specification["property-type"],o=a.value.isDataDriven(),s=a.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||i||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={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&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),x(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&sn(this,t.call(rn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Tt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Fn&&cr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(kt),Yn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wn=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Xn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Zn(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var a,i=(a=t.type,Yn[a].BYTES_PER_ELEMENT),o=r=Jn(r,Math.max(e,i)),s=t.components||1;return n=Math.max(n,i),r+=i*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Jn(r,Math.max(n,e)),alignment:e}}function Jn(t,e){return Math.ceil(t/e)*e}Xn.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Xn.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Xn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Xn.prototype.clear=function(){this.length=0},Xn.prototype.resize=function(t){this.reserve(t),this.length=t},Xn.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Xn.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Kn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Xn);Kn.prototype.bytesPerElement=4,pn("StructArrayLayout2i4",Kn);var Qn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,this.int16[i+3]=a,t},e}(Xn);Qn.prototype.bytesPerElement=8,pn("StructArrayLayout4i8",Qn);var $n=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);$n.prototype.bytesPerElement=12,pn("StructArrayLayout2i4i12",$n);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=a,this.uint8[l+6]=i,this.uint8[l+7]=o,t},e}(Xn);ta.prototype.bytesPerElement=8,pn("StructArrayLayout2i4ub8",ta);var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ea.prototype.bytesPerElement=16,pn("StructArrayLayout8ui16",ea);var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ra.prototype.bytesPerElement=16,pn("StructArrayLayout4i4ui16",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t},e}(Xn);na.prototype.bytesPerElement=12,pn("StructArrayLayout3f12",na);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Xn);aa.prototype.bytesPerElement=4,pn("StructArrayLayout1ul4",aa);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,a,i,o,s,l,c,u)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h){var f=12*t,p=6*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=a,this.int16[f+4]=i,this.int16[f+5]=o,this.uint32[p+3]=s,this.uint16[f+8]=l,this.uint16[f+9]=c,this.int16[f+10]=u,this.int16[f+11]=h,t},e}(Xn);ia.prototype.bytesPerElement=24,pn("StructArrayLayout6i1ul2ui2i24",ia);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);oa.prototype.bytesPerElement=12,pn("StructArrayLayout2i2i2i12",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=12*t,o=3*t;return this.uint8[i+0]=e,this.uint8[i+1]=r,this.float32[o+1]=n,this.float32[o+2]=a,t},e}(Xn);sa.prototype.bytesPerElement=12,pn("StructArrayLayout2ub2f12",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){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)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v){var m=22*t,y=11*t,x=44*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=a,this.uint32[y+2]=i,this.uint32[y+3]=o,this.uint32[y+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=c,this.uint16[m+12]=u,this.float32[y+7]=h,this.float32[y+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=d,this.uint8[x+38]=g,this.uint32[y+10]=v,t},e}(Xn);la.prototype.bytesPerElement=44,pn("StructArrayLayout2i2ui3ul3ui2f3ub1ul44",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){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)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x){var b=this.length;return this.resize(b+1),this.emplace(b,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b){var _=24*t,w=12*t;return this.int16[_+0]=e,this.int16[_+1]=r,this.int16[_+2]=n,this.int16[_+3]=a,this.int16[_+4]=i,this.int16[_+5]=o,this.uint16[_+6]=s,this.uint16[_+7]=l,this.uint16[_+8]=c,this.uint16[_+9]=u,this.uint16[_+10]=h,this.uint16[_+11]=f,this.uint16[_+12]=p,this.uint16[_+13]=d,this.uint16[_+14]=g,this.uint16[_+15]=v,this.uint16[_+16]=m,this.uint32[w+9]=y,this.float32[w+10]=x,this.float32[w+11]=b,t},e}(Xn);ca.prototype.bytesPerElement=48,pn("StructArrayLayout6i11ui1ul2f48",ca);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Xn);ua.prototype.bytesPerElement=4,pn("StructArrayLayout1f4",ua);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,t},e}(Xn);ha.prototype.bytesPerElement=6,pn("StructArrayLayout3i6",ha);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=2*t,i=4*t;return this.uint32[a+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(Xn);fa.prototype.bytesPerElement=8,pn("StructArrayLayout1ul2ui8",fa);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,t},e}(Xn);pa.prototype.bytesPerElement=6,pn("StructArrayLayout3ui6",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Xn);da.prototype.bytesPerElement=4,pn("StructArrayLayout2ui4",da);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Xn);ga.prototype.bytesPerElement=2,pn("StructArrayLayout1ui2",ga);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Xn);va.prototype.bytesPerElement=8,pn("StructArrayLayout2f8",va);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,this.float32[i+3]=a,t},e}(Xn);ma.prototype.bytesPerElement=16,pn("StructArrayLayout4f16",ma);var ya=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wn);ya.prototype.size=24;var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ya(this,t)},e}(ia);pn("CollisionBoxArray",xa);var ba=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},Object.defineProperties(e.prototype,r),e}(Wn);ba.prototype.size=44;var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ba(this,t)},e}(la);pn("PlacedSymbolArray",_a);var wa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},radialTextOffset:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.rightJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+2]=t},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.centerJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+3]=t},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.leftJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+4]=t},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.verticalPlacedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+5]=t},r.key.get=function(){return this._structArray.uint16[this._pos2+6]},r.key.set=function(t){this._structArray.uint16[this._pos2+6]=t},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+7]},r.textBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+7]=t},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.verticalTextBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.iconBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.featureIndex.set=function(t){this._structArray.uint16[this._pos2+13]=t},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+14]},r.numHorizontalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+14]=t},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+15]},r.numVerticalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+15]=t},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+16]},r.numIconVertices.set=function(t){this._structArray.uint16[this._pos2+16]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+9]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+9]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+10]},r.textBoxScale.set=function(t){this._structArray.float32[this._pos4+10]=t},r.radialTextOffset.get=function(){return this._structArray.float32[this._pos4+11]},r.radialTextOffset.set=function(t){this._structArray.float32[this._pos4+11]=t},Object.defineProperties(e.prototype,r),e}(Wn);wa.prototype.size=48;var ka=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new wa(this,t)},e}(ca);pn("SymbolInstanceArray",ka);var Ta=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ta.prototype.size=4;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new Ta(this,t)},e}(ua);pn("GlyphOffsetArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ma.prototype.size=6;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new Ma(this,t)},e}(ha);pn("SymbolLineVertexArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ea.prototype.size=8;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(fa);pn("FeatureIndexArray",La);var Ca=Zn([{name:"a_pos",components:2,type:"Int16"}],4).members,Pa=function(t){void 0===t&&(t=[]),this.segments=t};function Oa(t,e){return 256*(t=c(Math.floor(t),0,255))+c(Math.floor(e),0,255)}Pa.prototype.prepareSegment=function(t,e,r,n){var a=this.segments[this.segments.length-1];return t>Pa.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Pa.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!a||a.vertexLength+t>Pa.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n)&&(a={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(a.sortKey=n),this.segments.push(a)),a},Pa.prototype.get=function(){return this.segments},Pa.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},Pa.simpleSegment=function(t,e,r,n){return new Pa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},Pa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,pn("SegmentVector",Pa);var za=function(){this.ids=[],this.positions=[],this.indexed=!1};function Ia(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}za.prototype.add=function(t,e,r,n){this.ids.push(t),this.positions.push(e,r,n)},za.prototype.getPositions=function(t){for(var e=0,r=this.ids.length-1;e<r;){var n=e+r>>1;this.ids[n]>=t?r=n:e=n+1}for(var a=[];this.ids[e]===t;){var i=this.positions[3*e],o=this.positions[3*e+1],s=this.positions[3*e+2];a.push({index:i,start:o,end:s}),e++}return a},za.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,a){if(!(n>=a)){for(var i=e[n+a>>1],o=n-1,s=a+1;;){do{o++}while(e[o]<i);do{s--}while(e[s]>i);if(o>=s)break;Ia(e,o,s),Ia(r,3*o,3*s),Ia(r,3*o+1,3*s+1),Ia(r,3*o+2,3*s+2)}t(e,r,n,s),t(e,r,s+1,a)}}(r,n,0,r.length-1),e.push(r.buffer,n.buffer),{ids:r,positions:n}},za.deserialize=function(t){var e=new za;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e},pn("FeaturePositionMap",za);var Da=function(t,e){this.gl=t.gl,this.location=e},Ra=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(Da),Fa=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(Da),Ba=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(Da),Na=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(Da),ja=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(Da),Va=function(t){function e(e,r){t.call(this,e,r),this.current=Wt.transparent}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(Da),Ua=new Float32Array(16),qa=function(t){function e(e,r){t.call(this,e,r),this.current=Ua}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(Da);function Ha(t){return[Oa(255*t.r,255*t.g),Oa(255*t.b,255*t.a)]}var Ga=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0};Ga.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ga.prototype.setConstantPatternPositions=function(){},Ga.prototype.populatePaintArray=function(){},Ga.prototype.updatePaintArray=function(){},Ga.prototype.upload=function(){},Ga.prototype.destroy=function(){},Ga.prototype.setUniforms=function(t,e,r,n){e.set(n.constantOr(this.value))},Ga.prototype.getBinding=function(t,e){return"color"===this.type?new Va(t,e):new Fa(t,e)},Ga.serialize=function(t){var e=t.value,r=t.names,n=t.type;return{value:gn(e),names:r,type:n}},Ga.deserialize=function(t){var e=t.value,r=t.names,n=t.type;return new Ga(vn(e),r,n)};var Ya=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0,this.patternPositions={patternTo:null,patternFrom:null}};Ya.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ya.prototype.populatePaintArray=function(){},Ya.prototype.updatePaintArray=function(){},Ya.prototype.upload=function(){},Ya.prototype.destroy=function(){},Ya.prototype.setConstantPatternPositions=function(t,e){this.patternPositions.patternTo=t.tlbr,this.patternPositions.patternFrom=e.tlbr},Ya.prototype.setUniforms=function(t,e,r,n,a){var i=this.patternPositions;"u_pattern_to"===a&&i.patternTo&&e.set(i.patternTo),"u_pattern_from"===a&&i.patternFrom&&e.set(i.patternFrom)},Ya.prototype.getBinding=function(t,e){return new ja(t,e)};var Wa=function(t,e,r,n){this.expression=t,this.names=e,this.type=r,this.uniformNames=this.names.map(function(t){return"a_"+t}),this.maxValue=-1/0,this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}}),this.paintVertexArray=new n};Wa.prototype.defines=function(){return[]},Wa.prototype.setConstantPatternPositions=function(){},Wa.prototype.populatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=a.length;a.reserve(t);var o=this.expression.evaluate(new Cn(0),e,{},n);if("color"===this.type)for(var s=Ha(o),l=i;l<t;l++)a.emplaceBack(s[0],s[1]);else{for(var c=i;c<t;c++)a.emplaceBack(o);this.maxValue=Math.max(this.maxValue,o)}},Wa.prototype.updatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=this.expression.evaluate({zoom:0},r,n);if("color"===this.type)for(var o=Ha(i),s=t;s<e;s++)a.emplace(s,o[0],o[1]);else{for(var l=t;l<e;l++)a.emplace(l,i);this.maxValue=Math.max(this.maxValue,i)}},Wa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Wa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Wa.prototype.setUniforms=function(t,e){e.set(0)},Wa.prototype.getBinding=function(t,e){return new Fa(t,e)};var Xa=function(t,e,r,n,a,i){this.expression=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t+"_t"}),this.type=r,this.useIntegerZoom=n,this.zoom=a,this.maxValue=-1/0;var o=i;this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?4:2,offset:0}}),this.paintVertexArray=new o};Xa.prototype.defines=function(){return[]},Xa.prototype.setConstantPatternPositions=function(){},Xa.prototype.populatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=a.length;a.reserve(t);var o=this.expression.evaluate(new Cn(this.zoom),e,{},n),s=this.expression.evaluate(new Cn(this.zoom+1),e,{},n);if("color"===this.type)for(var l=Ha(o),c=Ha(s),u=i;u<t;u++)a.emplaceBack(l[0],l[1],c[0],c[1]);else{for(var h=i;h<t;h++)a.emplaceBack(o,s);this.maxValue=Math.max(this.maxValue,o,s)}},Xa.prototype.updatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=this.expression.evaluate({zoom:this.zoom},r,n),o=this.expression.evaluate({zoom:this.zoom+1},r,n);if("color"===this.type)for(var s=Ha(i),l=Ha(o),c=t;c<e;c++)a.emplace(c,s[0],s[1],l[0],l[1]);else{for(var u=t;u<e;u++)a.emplace(u,i,o);this.maxValue=Math.max(this.maxValue,i,o)}},Xa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Xa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Xa.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},Xa.prototype.setUniforms=function(t,e,r){e.set(this.interpolationFactor(r.zoom))},Xa.prototype.getBinding=function(t,e){return new Fa(t,e)};var Za=function(t,e,r,n,a,i,o){this.expression=t,this.names=e,this.type=r,this.uniformNames=this.names.map(function(t){return"u_"+t+"_t"}),this.useIntegerZoom=n,this.zoom=a,this.maxValue=-1/0,this.layerId=o,this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Uint16",components:4,offset:0}}),this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};Za.prototype.defines=function(){return[]},Za.prototype.setConstantPatternPositions=function(){},Za.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray,a=this.zoomOutPaintVertexArray,i=this.layerId,o=n.length;if(n.reserve(t),a.reserve(t),r&&e.patterns&&e.patterns[i]){var s=e.patterns[i],l=s.min,c=s.mid,u=s.max,h=r[l],f=r[c],p=r[u];if(!h||!f||!p)return;for(var d=o;d<t;d++)n.emplaceBack(f.tl[0],f.tl[1],f.br[0],f.br[1],h.tl[0],h.tl[1],h.br[0],h.br[1]),a.emplaceBack(f.tl[0],f.tl[1],f.br[0],f.br[1],p.tl[0],p.tl[1],p.br[0],p.br[1])}},Za.prototype.updatePaintArray=function(t,e,r,n,a){var i=this.zoomInPaintVertexArray,o=this.zoomOutPaintVertexArray,s=this.layerId;if(a&&r.patterns&&r.patterns[s]){var l=r.patterns[s],c=l.min,u=l.mid,h=l.max,f=a[c],p=a[u],d=a[h];if(!f||!p||!d)return;for(var g=t;g<e;g++)i.emplace(g,p.tl[0],p.tl[1],p.br[0],p.br[1],f.tl[0],f.tl[1],f.br[0],f.br[1]),o.emplace(g,p.tl[0],p.tl[1],p.br[0],p.br[1],d.tl[0],d.tl[1],d.br[0],d.br[1])}},Za.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Za.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()},Za.prototype.setUniforms=function(t,e){e.set(0)},Za.prototype.getBinding=function(t,e){return new Fa(t,e)};var Ja=function(){this.binders={},this.cacheKey="",this._buffers=[],this._featureMap=new za,this._bufferOffset=0};Ja.createDynamic=function(t,e,r){var n=new Ja,a=[];for(var i in t.paint._values)if(r(i)){var o=t.paint.get(i);if(o instanceof Fn&&cr(o.property.specification)){var s=Qa(i,t.type),l=o.property.specification.type,c=o.property.useIntegerZoom;if("cross-faded"===o.property.specification["property-type"]||"cross-faded-data-driven"===o.property.specification["property-type"])if("constant"===o.value.kind)n.binders[i]=new Ya(o.value.value,s,l),a.push("/u_"+i);else{var u=$a(i,l,"source");n.binders[i]=new Za(o.value,s,l,c,e,u,t.id),a.push("/a_"+i)}else if("constant"===o.value.kind)n.binders[i]=new Ga(o.value.value,s,l),a.push("/u_"+i);else if("source"===o.value.kind){var h=$a(i,l,"source");n.binders[i]=new Wa(o.value,s,l,h),a.push("/a_"+i)}else{var f=$a(i,l,"composite");n.binders[i]=new Xa(o.value,s,l,c,e,f),a.push("/z_"+i)}}}return n.cacheKey=a.sort().join(""),n},Ja.prototype.populatePaintArrays=function(t,e,r,n,a){for(var i in this.binders)this.binders[i].populatePaintArray(t,e,n,a);void 0!==e.id&&this._featureMap.add(+e.id,r,this._bufferOffset,t),this._bufferOffset=t},Ja.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders)this.binders[r].setConstantPatternPositions(t,e)},Ja.prototype.updatePaintArrays=function(t,e,r,n){var a=!1;for(var i in t)for(var o=0,s=this._featureMap.getPositions(+i);o<s.length;o+=1){var l=s[o],c=e.feature(l.index);for(var u in this.binders){var h=this.binders[u];if(!(h instanceof Ga||h instanceof Ya)&&!0===h.expression.isStateDependent){var f=r.paint.get(u);h.expression=f.value,h.updatePaintArray(l.start,l.end,c,t[i],n),a=!0}}}return a},Ja.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},Ja.prototype.getPaintVertexBuffers=function(){return this._buffers},Ja.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders)for(var a=this.binders[n],i=0,o=a.uniformNames;i<o.length;i+=1){var s=o[i];if(e[s]){var l=a.getBinding(t,e[s]);r.push({name:s,property:n,binding:l})}}return r},Ja.prototype.setUniforms=function(t,e,r,n){for(var a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.name,l=o.property,c=o.binding;this.binders[l].setUniforms(t,c,n,r.get(l),s)}},Ja.prototype.updatePatternPaintBuffers=function(t){var e=[];for(var r in this.binders){var n=this.binders[r];if(n instanceof Za){var a=2===t.fromScale?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;a&&e.push(a)}else(n instanceof Wa||n instanceof Xa)&&n.paintVertexBuffer&&e.push(n.paintVertexBuffer)}this._buffers=e},Ja.prototype.upload=function(t){for(var e in this.binders)this.binders[e].upload(t);var r=[];for(var n in this.binders){var a=this.binders[n];(a instanceof Wa||a instanceof Xa)&&a.paintVertexBuffer&&r.push(a.paintVertexBuffer)}this._buffers=r},Ja.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var Ka=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var a=0,i=e;a<i.length;a+=1){var o=i[a];this.programConfigurations[o.id]=Ja.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}this.needsUpload=!1};function Qa(t,e){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"],"fill-pattern":["pattern_to","pattern_from"],"fill-extrusion-pattern":["pattern_to","pattern_from"]}[t]||[t.replace(e+"-","").replace(/-/g,"_")]}function $a(t,e,r){var n={color:{source:va,composite:ma},number:{source:ua,composite:va}},a=function(t){return{"line-pattern":{source:ea,composite:ea},"fill-pattern":{source:ea,composite:ea},"fill-extrusion-pattern":{source:ea,composite:ea}}[t]}(t);return a&&a[r]||n[e][r]}Ka.prototype.populatePaintArrays=function(t,e,r,n,a){for(var i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,r,n,a);this.needsUpload=!0},Ka.prototype.updatePaintArrays=function(t,e,r,n){for(var a=0,i=r;a<i.length;a+=1){var o=i[a];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,e,o,n)||this.needsUpload}},Ka.prototype.get=function(t){return this.programConfigurations[t]},Ka.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},Ka.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},pn("ConstantBinder",Ga),pn("CrossFadedConstantBinder",Ya),pn("SourceExpressionBinder",Wa),pn("CrossFadedCompositeBinder",Za),pn("CompositeExpressionBinder",Xa),pn("ProgramConfiguration",Ja,{omit:["_buffers"]}),pn("ProgramConfigurationSet",Ka);var ti=8192,ei=(15,{min:-1*Math.pow(2,14),max:Math.pow(2,14)-1});function ri(t){for(var e=ti/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var a=r[n],i=0;i<a.length;i++){var o=a[i];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<ei.min||o.x>ei.max||o.y<ei.min||o.y>ei.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=c(o.x,ei.min,ei.max),o.y=c(o.y,ei.min,ei.max))}return r}function ni(t,e,r,n,a){t.emplaceBack(2*e+(n+1)/2,2*r+(a+1)/2)}var ai=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Kn,this.indexArray=new pa,this.segments=new Pa,this.programConfigurations=new Ka(Ca,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function ii(t,e){for(var r=0;r<t.length;r++)if(di(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(di(t,e[n]))return!0;return!!ci(t,e)}function oi(t,e,r){return!!di(t,e)||!!hi(e,t,r)}function si(t,e){if(1===t.length)return pi(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(di(t,n[a]))return!0;for(var i=0;i<t.length;i++)if(pi(e,t[i]))return!0;for(var o=0;o<e.length;o++)if(ci(t,e[o]))return!0;return!1}function li(t,e,r){if(t.length>1){if(ci(t,e))return!0;for(var n=0;n<e.length;n++)if(hi(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(hi(t[a],e,r))return!0;return!1}function ci(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],a=t[r+1],i=0;i<e.length-1;i++)if(ui(n,a,e[i],e[i+1]))return!0;return!1}function ui(t,e,r,n){return k(t,r,n)!==k(e,r,n)&&k(t,e,r)!==k(t,e,n)}function hi(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var a=1;a<e.length;a++)if(fi(t,e[a-1],e[a])<n)return!0;return!1}function fi(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var a=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return a<0?t.distSqr(e):a>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(a)._add(e))}function pi(t,e){for(var r,n,a,i=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],a=r[l],n.y>e.y!=a.y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i);return i}function di(t,e){for(var r=!1,n=0,a=t.length-1;n<t.length;a=n++){var i=t[n],o=t[a];i.y>e.y!=o.y>e.y&&e.x<(o.x-i.x)*(e.y-i.y)/(o.y-i.y)+i.x&&(r=!r)}return r}function gi(t,e,r){var n=r[0],a=r[2];if(t.x<n.x&&e.x<n.x||t.x>a.x&&e.x>a.x||t.y<n.y&&e.y<n.y||t.y>a.y&&e.y>a.y)return!1;var i=k(t,e,r[0]);return i!==k(t,e,r[1])||i!==k(t,e,r[2])||i!==k(t,e,r[3])}function vi(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].maxValue}function mi(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function yi(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++){var c=t[l];s.push(c.sub(o))}return s}ai.prototype.populate=function(t,e){var r=this.layers[0],n=[],a=null;"circle"===r.type&&(a=r.layout.get("circle-sort-key"));for(var i=0,o=t;i<o.length;i+=1){var s=o[i],l=s.feature,c=s.index,u=s.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),l)){var h=ri(l),f=a?a.evaluate(l,{}):void 0,p={id:l.id,properties:l.properties,type:l.type,sourceLayerIndex:u,index:c,geometry:h,patterns:{},sortKey:f};n.push(p)}}a&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var d=0,g=n;d<g.length;d+=1){var v=g[d],m=v,y=m.geometry,x=m.index,b=m.sourceLayerIndex,_=t[x].feature;this.addFeature(v,y,x),e.featureIndex.insert(_,y,x,b,this.index)}},ai.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},ai.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ai.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ai.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ca),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},ai.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ai.prototype.addFeature=function(t,e,r){for(var n=0,a=e;n<a.length;n+=1)for(var i=0,o=a[n];i<o.length;i+=1){var s=o[i],l=s.x,c=s.y;if(!(l<0||l>=ti||c<0||c>=ti)){var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=u.vertexLength;ni(this.layoutVertexArray,l,c,-1,-1),ni(this.layoutVertexArray,l,c,1,-1),ni(this.layoutVertexArray,l,c,1,1),ni(this.layoutVertexArray,l,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),u.vertexLength+=4,u.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{})},pn("CircleBucket",ai,{omit:["layers"]});var xi,bi=new Hn({"circle-sort-key":new jn(Tt.layout_circle["circle-sort-key"])}),_i={paint:new Hn({"circle-radius":new jn(Tt.paint_circle["circle-radius"]),"circle-color":new jn(Tt.paint_circle["circle-color"]),"circle-blur":new jn(Tt.paint_circle["circle-blur"]),"circle-opacity":new jn(Tt.paint_circle["circle-opacity"]),"circle-translate":new Nn(Tt.paint_circle["circle-translate"]),"circle-translate-anchor":new Nn(Tt.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Nn(Tt.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Nn(Tt.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new jn(Tt.paint_circle["circle-stroke-width"]),"circle-stroke-color":new jn(Tt.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new jn(Tt.paint_circle["circle-stroke-opacity"])}),layout:bi},wi="undefined"!=typeof Float32Array?Float32Array:Array;function ki(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)}),xi=new wi(3),wi!=Float32Array&&(xi[0]=0,xi[1]=0,xi[2]=0),function(){var t=new wi(4);wi!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ti=function(t){function e(e){t.call(this,e,_i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ai(t)},e.prototype.queryRadius=function(t){var e=t;return vi("circle-radius",this,e)+vi("circle-stroke-width",this,e)+mi(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o,s){for(var l=yi(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(t,e){return l.map(function(t){return Ai(t,e)})}(0,s),f=u?c*o:c,p=0,d=n;p<d.length;p+=1)for(var g=0,v=d[p];g<v.length;g+=1){var m=v[g],y=u?m:Ai(m,s),x=f,b=ki([],[m.x,m.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?x*=b[3]/i.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(x*=i.cameraToCenterDistance/b[3]),oi(h,y,x))return!0}return!1},e}(Gn);function Ai(t,e){var r=ki([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}var Mi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(ai);function Si(t,e,r,n){var a=e.width,i=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==a*i*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(a*i*r);return t.width=a,t.height=i,t.data=n,t}function Ei(t,e,r){var n=e.width,a=e.height;if(n!==t.width||a!==t.height){var i=Si({},{width:n,height:a},r);Li(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,a)},r),t.width=n,t.height=a,t.data=i.data}}function Li(t,e,r,n,a,i){if(0===a.width||0===a.height)return e;if(a.width>t.width||a.height>t.height||r.x>t.width-a.width||r.y>t.height-a.height)throw new RangeError("out of range source coordinates for image copy");if(a.width>e.width||a.height>e.height||n.x>e.width-a.width||n.y>e.height-a.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l<a.height;l++)for(var c=((r.y+l)*t.width+r.x)*i,u=((n.y+l)*e.width+n.x)*i,h=0;h<a.width*i;h++)s[u+h]=o[c+h];return e}pn("HeatmapBucket",Mi,{omit:["layers"]});var Ci=function(t,e){Si(this,t,1,e)};Ci.prototype.resize=function(t){Ei(this,t,1)},Ci.prototype.clone=function(){return new Ci({width:this.width,height:this.height},new Uint8Array(this.data))},Ci.copy=function(t,e,r,n,a){Li(t,e,r,n,a,1)};var Pi=function(t,e){Si(this,t,4,e)};Pi.prototype.resize=function(t){Ei(this,t,4)},Pi.prototype.replace=function(t,e){e?this.data.set(t):t instanceof Uint8ClampedArray?this.data=new Uint8Array(t.buffer):this.data=t},Pi.prototype.clone=function(){return new Pi({width:this.width,height:this.height},new Uint8Array(this.data))},Pi.copy=function(t,e,r,n,a){Li(t,e,r,n,a,4)},pn("AlphaImage",Ci),pn("RGBAImage",Pi);var Oi={paint:new Hn({"heatmap-radius":new jn(Tt.paint_heatmap["heatmap-radius"]),"heatmap-weight":new jn(Tt.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Nn(Tt.paint_heatmap["heatmap-intensity"]),"heatmap-color":new qn(Tt.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Nn(Tt.paint_heatmap["heatmap-opacity"])})};function zi(t,e){for(var r=new Uint8Array(1024),n={},a=0,i=0;a<256;a++,i+=4){n[e]=a/255;var o=t.evaluate(n);r[i+0]=Math.floor(255*o.r/o.a),r[i+1]=Math.floor(255*o.g/o.a),r[i+2]=Math.floor(255*o.b/o.a),r[i+3]=Math.floor(255*o.a)}return new Pi({width:256,height:1},r)}var Ii=function(t){function e(e){t.call(this,e,Oi),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Mi(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){"heatmap-color"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=zi(t,"heatmapDensity"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(Gn),Di={paint:new Hn({"hillshade-illumination-direction":new Nn(Tt.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new Nn(Tt.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new Nn(Tt.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new Nn(Tt.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new Nn(Tt.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new Nn(Tt.paint_hillshade["hillshade-accent-color"])})},Ri=function(t){function e(e){t.call(this,e,Di)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(Gn),Fi=Zn([{name:"a_pos",components:2,type:"Int16"}],4).members,Bi=ji,Ni=ji;function ji(t,e,r){r=r||2;var n,a,i,o,s,l,c,u=e&&e.length,h=u?e[0]*r:t.length,f=Vi(t,0,h,r,!0),p=[];if(!f||f.next===f.prev)return p;if(u&&(f=function(t,e,r,n){var a,i,o,s=[];for(a=0,i=e.length;a<i;a++)(o=Vi(t,e[a]*n,a<i-1?e[a+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Qi(o));for(s.sort(Xi),a=0;a<s.length;a++)Zi(s[a],r),r=Ui(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=i=t[0],a=o=t[1];for(var d=r;d<h;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<a&&(a=l),s>i&&(i=s),l>o&&(o=l);c=0!==(c=Math.max(i-n,o-a))?1/c:0}return qi(f,p,r,n,a,c),p}function Vi(t,e,r,n,a){var i,o;if(a===ho(t,e,r,n)>0)for(i=e;i<r;i+=n)o=lo(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=lo(i,t[i],t[i+1],o);return o&&ro(o,o.next)&&(co(o),o=o.next),o}function Ui(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!ro(n,n.next)&&0!==eo(n.prev,n,n.next))n=n.next;else{if(co(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function qi(t,e,r,n,a,i,o){if(t){!o&&i&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=Ki(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,i);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,i?Gi(t,n,a,i):Hi(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),co(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?qi(t=Yi(Ui(t),e,r),e,r,n,a,i,2):2===o&&Wi(t,e,r,n,a,i):qi(Ui(t),e,r,n,a,i,1);break}}}function Hi(t){var e=t.prev,r=t,n=t.next;if(eo(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if($i(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&eo(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function Gi(t,e,r,n){var a=t.prev,i=t,o=t.next;if(eo(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=Ki(s,l,e,r,n),f=Ki(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Yi(t,e,r){var n=t;do{var a=n.prev,i=n.next.next;!ro(a,i)&&no(a,n,n.next,i)&&oo(a,i)&&oo(i,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(i.i/r),co(n),co(n.next),n=t=i),n=n.next}while(n!==t);return Ui(n)}function Wi(t,e,r,n,a,i){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&to(o,s)){var l=so(o,s);return o=Ui(o,o.next),l=Ui(l,l.next),qi(o,e,r,n,a,i),void qi(l,e,r,n,a,i)}s=s.next}o=o.next}while(o!==t)}function Xi(t,e){return t.x-e.x}function Zi(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&$i(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),oo(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&Ji(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=so(e,t);Ui(r,r.next)}}function Ji(t,e){return eo(t.prev,t,e.prev)<0&&eo(e.next,t,t.next)<0}function Ki(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Qi(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function $i(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function to(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&no(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(oo(t,e)&&oo(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(eo(t.prev,t,e.prev)||eo(t,e.prev,e))||ro(t,e)&&eo(t.prev,t,t.next)>0&&eo(e.prev,e,e.next)>0)}function eo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function ro(t,e){return t.x===e.x&&t.y===e.y}function no(t,e,r,n){var a=io(eo(t,e,r)),i=io(eo(t,e,n)),o=io(eo(r,n,t)),s=io(eo(r,n,e));return a!==i&&o!==s||!(0!==a||!ao(t,r,e))||!(0!==i||!ao(t,n,e))||!(0!==o||!ao(r,t,n))||!(0!==s||!ao(r,e,n))}function ao(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function io(t){return t>0?1:t<0?-1:0}function oo(t,e){return eo(t.prev,t,t.next)<0?eo(t,e,t.next)>=0&&eo(t,t.prev,e)>=0:eo(t,e,t.prev)<0||eo(t,t.next,e)<0}function so(t,e){var r=new uo(t.i,t.x,t.y),n=new uo(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function lo(t,e,r,n){var a=new uo(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function co(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function uo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ho(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}function fo(t,e,r,n,a){!function t(e,r,n,a,i){for(;a>n;){if(a-n>600){var o=a-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(a,Math.floor(r+(o-s)*c/o+u)),i)}var h=e[r],f=n,p=a;for(po(e,n,r),i(e[a],h)>0&&po(e,n,a);f<p;){for(po(e,f,p),f++,p--;i(e[f],h)<0;)f++;for(;i(e[p],h)>0;)p--}0===i(e[n],h)?po(e,n,p):po(e,++p,a),p<=r&&(n=p+1),r<=p&&(a=p-1)}}(t,e,r||0,n||t.length-1,a||go)}function po(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function go(t,e){return t<e?-1:t>e?1:0}function vo(t,e){var r=t.length;if(r<=1)return[t];for(var n,a,i=[],o=0;o<r;o++){var s=T(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===a&&(a=s<0),a===s<0?(n&&i.push(n),n=[t[o]]):n.push(t[o]))}if(n&&i.push(n),e>1)for(var l=0;l<i.length;l++)i[l].length<=e||(fo(i[l],e,1,i[l].length-1,mo),i[l]=i[l].slice(0,e));return i}function mo(t,e){return e.area-t.area}function yo(t,e,r){for(var n=r.patternDependencies,a=!1,i=0,o=e;i<o.length;i+=1){var s=o[i].paint.get(t+"-pattern");s.isConstant()||(a=!0);var l=s.constantOr(null);l&&(a=!0,n[l.to]=!0,n[l.from]=!0)}return a}function xo(t,e,r,n,a){for(var i=a.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.paint.get(t+"-pattern").value;if("constant"!==c.kind){var u=c.evaluate({zoom:n-1},r,{}),h=c.evaluate({zoom:n},r,{}),f=c.evaluate({zoom:n+1},r,{});i[u]=!0,i[h]=!0,i[f]=!0,r.patterns[l.id]={min:u,mid:h,max:f}}}return r}ji.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(ho(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(ho(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},ji.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r},Bi.default=Ni;var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kn,this.indexArray=new pa,this.indexArray2=new da,this.programConfigurations=new Ka(Fi,t.layers,t.zoom),this.segments=new Pa,this.segments2=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};bo.prototype.populate=function(t,e){this.hasPattern=yo("fill",this.layers,e);for(var r=this.layers[0].layout.get("fill-sort-key"),n=[],a=0,i=t;a<i.length;a+=1){var o=i[a],s=o.feature,l=o.index,c=o.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),s)){var u=ri(s),h=r?r.evaluate(s,{}):void 0,f={id:s.id,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:u,patterns:{},sortKey:h};n.push(f)}}r&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var p=0,d=n;p<d.length;p+=1){var g=d[p],v=g,m=v.geometry,y=v.index,x=v.sourceLayerIndex;if(this.hasPattern){var b=xo("fill",this.layers,g,this.zoom,e);this.patternFeatures.push(b)}else this.addFeature(g,m,y,{});var _=t[y].feature;e.featureIndex.insert(_,m,y,x,this.index)}},bo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},bo.prototype.addFeatures=function(t,e){for(var r=0,n=this.patternFeatures;r<n.length;r+=1){var a=n[r];this.addFeature(a,a.geometry,a.index,e)}},bo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},bo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},bo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Fi),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},bo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},bo.prototype.addFeature=function(t,e,r,n){for(var a=0,i=vo(e,500);a<i.length;a+=1){for(var o=i[a],s=0,l=0,c=o;l<c.length;l+=1)s+=c[l].length;for(var u=this.segments.prepareSegment(s,this.layoutVertexArray,this.indexArray),h=u.vertexLength,f=[],p=[],d=0,g=o;d<g.length;d+=1){var v=g[d];if(0!==v.length){v!==o[0]&&p.push(f.length/2);var m=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),y=m.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(y+v.length-1,y),f.push(v[0].x),f.push(v[0].y);for(var x=1;x<v.length;x++)this.layoutVertexArray.emplaceBack(v[x].x,v[x].y),this.indexArray2.emplaceBack(y+x-1,y+x),f.push(v[x].x),f.push(v[x].y);m.vertexLength+=v.length,m.primitiveLength+=v.length}}for(var b=Bi(f,p),_=0;_<b.length;_+=3)this.indexArray.emplaceBack(h+b[_],h+b[_+1],h+b[_+2]);u.vertexLength+=s,u.primitiveLength+=b.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,n)},pn("FillBucket",bo,{omit:["layers","patternFeatures"]});var _o=new Hn({"fill-sort-key":new jn(Tt.layout_fill["fill-sort-key"])}),wo={paint:new Hn({"fill-antialias":new Nn(Tt.paint_fill["fill-antialias"]),"fill-opacity":new jn(Tt.paint_fill["fill-opacity"]),"fill-color":new jn(Tt.paint_fill["fill-color"]),"fill-outline-color":new jn(Tt.paint_fill["fill-outline-color"]),"fill-translate":new Nn(Tt.paint_fill["fill-translate"]),"fill-translate-anchor":new Nn(Tt.paint_fill["fill-translate-anchor"]),"fill-pattern":new Vn(Tt.paint_fill["fill-pattern"])}),layout:_o},ko=function(t){function e(e){t.call(this,e,wo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e);var r=this.paint._values["fill-outline-color"];"constant"===r.value.kind&&void 0===r.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(){return mi(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o){return si(yi(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),i.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(Gn),To=Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,Ao=Mo;function Mo(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(So,this,e)}function So(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],a=e._values[t.readVarint()];e.properties[n]=a}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function Eo(t){for(var e,r,n=0,a=0,i=t.length,o=i-1;a<i;o=a++)e=t[a],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}Mo.types=["Unknown","Point","LineString","Polygon"],Mo.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos<r;){if(i<=0){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Mo.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,a=0,i=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(a+=t.readSVarint())<o&&(o=a),a>s&&(s=a),(i+=t.readSVarint())<l&&(l=i),i>c&&(c=i);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Mo.prototype.toGeoJSON=function(t,e,r){var n,a,i=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Mo.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+s)/i;t[e]=[360*(r.x+o)/i-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var h=[];for(n=0;n<l.length;n++)h[n]=l[n][0];u(l=h);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,a=[],i=0;i<e;i++){var o=Eo(t[i]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&a.push(r),r=[t[i]]):r.push(t[i]))}return r&&a.push(r),a}(l),n=0;n<l.length;n++)for(a=0;a<l[n].length;a++)u(l[n][a])}1===l.length?l=l[0]:c="Multi"+c;var f={type:"Feature",geometry:{type:c,coordinates:l},properties:this.properties};return"id"in this&&(f.id=this.id),f};var Lo=Co;function Co(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(Po,this,e),this.length=this._features.length}function Po(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Oo(t,e,r){if(3===t){var n=new Lo(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Co.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ao(this._pbf,e,this.extent,this._keys,this._values)};var zo={VectorTile:function(t,e){this.layers=t.readFields(Oo,{},e)},VectorTileFeature:Ao,VectorTileLayer:Lo},Io=zo.VectorTileFeature.types,Do=Math.pow(2,13);function Ro(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,2*Math.floor(n*Do)+o,a*Do*2,i*Do*2,Math.round(s))}var Fo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new $n,this.indexArray=new pa,this.programConfigurations=new Ka(To,t.layers,t.zoom),this.segments=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function Bo(t,e){return t.x===e.x&&(t.x<0||t.x>ti)||t.y===e.y&&(t.y<0||t.y>ti)}function No(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>ti})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>ti})}Fo.prototype.populate=function(t,e){this.features=[],this.hasPattern=yo("fill-extrusion",this.layers,e);for(var r=0,n=t;r<n.length;r+=1){var a=n[r],i=a.feature,o=a.index,s=a.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),i)){var l=ri(i),c={sourceLayerIndex:s,index:o,geometry:l,properties:i.properties,type:i.type,patterns:{}};void 0!==i.id&&(c.id=i.id),this.hasPattern?this.features.push(xo("fill-extrusion",this.layers,c,this.zoom,e)):this.addFeature(c,l,o,{}),e.featureIndex.insert(i,l,o,s,this.index,!0)}}},Fo.prototype.addFeatures=function(t,e){for(var r=0,n=this.features;r<n.length;r+=1){var a=n[r],i=a.geometry;this.addFeature(a,i,a.index,e)}},Fo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Fo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Fo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,To),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Fo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Fo.prototype.addFeature=function(t,e,r,n){for(var a=0,i=vo(e,500);a<i.length;a+=1){for(var o=i[a],s=0,l=0,c=o;l<c.length;l+=1)s+=c[l].length;for(var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,f=o;h<f.length;h+=1){var p=f[h];if(0!==p.length&&!No(p))for(var d=0,g=0;g<p.length;g++){var v=p[g];if(g>=1){var m=p[g-1];if(!Bo(v,m)){u.vertexLength+4>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var y=v.sub(m)._perp()._unit(),x=m.dist(v);d+x>32768&&(d=0),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,1,d),d+=x,Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,1,d);var b=u.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),u.vertexLength+=4,u.primitiveLength+=2}}}}if(u.vertexLength+s>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(s,this.layoutVertexArray,this.indexArray)),"Polygon"===Io[t.type]){for(var _=[],w=[],k=u.vertexLength,T=0,A=o;T<A.length;T+=1){var M=A[T];if(0!==M.length){M!==o[0]&&w.push(_.length/2);for(var S=0;S<M.length;S++){var E=M[S];Ro(this.layoutVertexArray,E.x,E.y,0,0,1,1,0),_.push(E.x),_.push(E.y)}}}for(var L=Bi(_,w),C=0;C<L.length;C+=3)this.indexArray.emplaceBack(k+L[C],k+L[C+2],k+L[C+1]);u.primitiveLength+=L.length/3,u.vertexLength+=s}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,n)},pn("FillExtrusionBucket",Fo,{omit:["layers","features"]});var jo={paint:new Hn({"fill-extrusion-opacity":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Vn(Tt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})},Vo=function(t){function e(e){t.call(this,e,jo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Fo(t)},e.prototype.queryRadius=function(){return mi(this.paint.get("fill-extrusion-translate"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s,l){var c=yi(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(e,r),h=this.paint.get("fill-extrusion-base").evaluate(e,r),f=function(t,e,r,n){for(var i=[],o=0,s=t;o<s.length;o+=1){var l=s[o],c=[l.x,l.y,0,1];ki(c,c,e),i.push(new a(c[0]/c[3],c[1]/c[3]))}return i}(c,l),p=function(t,e,r,n){for(var i=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r,g=0,v=t;g<v.length;g+=1){for(var m=[],y=[],x=0,b=v[g];x<b.length;x+=1){var _=b[x],w=_.x,k=_.y,T=n[0]*w+n[4]*k+n[12],A=n[1]*w+n[5]*k+n[13],M=n[2]*w+n[6]*k+n[14],S=n[3]*w+n[7]*k+n[15],E=M+c,L=S+u,C=T+h,P=A+f,O=M+p,z=S+d,I=new a((T+s)/L,(A+l)/L);I.z=E/L,m.push(I);var D=new a(C/z,P/z);D.z=O/z,y.push(D)}i.push(m),o.push(y)}return[i,o]}(n,h,u,l);return function(t,e,r){var n=1/0;si(r,e)&&(n=qo(r,e[0]));for(var a=0;a<e.length;a++)for(var i=e[a],o=t[a],s=0;s<i.length-1;s++){var l=i[s],c=i[s+1],u=o[s],h=[l,c,o[s+1],u,l];ii(r,h)&&(n=Math.min(n,qo(r,h)))}return n!==1/0&&n}(p[0],p[1],f)},e}(Gn);function Uo(t,e){return t.x*e.x+t.y*e.y}function qo(t,e){if(1===t.length){var r=e[0],n=e[1],a=e[3],i=t[0],o=n.sub(r),s=a.sub(r),l=i.sub(r),c=Uo(o,o),u=Uo(o,s),h=Uo(s,s),f=Uo(l,o),p=Uo(l,s),d=c*h-u*u,g=(h*f-u*p)/d,v=(c*p-u*f)/d,m=1-g-v;return r.z*m+n.z*g+a.z*v}for(var y=1/0,x=0,b=e;x<b.length;x+=1){var _=b[x];y=Math.min(y,_.z)}return y}var Ho=Zn([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,Go=zo.VectorTileFeature.types,Yo=Math.cos(Math.PI/180*37.5),Wo=Math.pow(2,14)/.5,Xo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ta,this.indexArray=new pa,this.programConfigurations=new Ka(Ho,t.layers,t.zoom),this.segments=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};Xo.prototype.populate=function(t,e){this.hasPattern=yo("line",this.layers,e);for(var r=this.layers[0].layout.get("line-sort-key"),n=[],a=0,i=t;a<i.length;a+=1){var o=i[a],s=o.feature,l=o.index,c=o.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),s)){var u=ri(s),h=r?r.evaluate(s,{}):void 0,f={id:s.id,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:u,patterns:{},sortKey:h};n.push(f)}}r&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var p=0,d=n;p<d.length;p+=1){var g=d[p],v=g,m=v.geometry,y=v.index,x=v.sourceLayerIndex;if(this.hasPattern){var b=xo("line",this.layers,g,this.zoom,e);this.patternFeatures.push(b)}else this.addFeature(g,m,y,{});var _=t[y].feature;e.featureIndex.insert(_,m,y,x,this.index)}},Xo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Xo.prototype.addFeatures=function(t,e){for(var r=0,n=this.patternFeatures;r<n.length;r+=1){var a=n[r];this.addFeature(a,a.geometry,a.index,e)}},Xo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Xo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Xo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ho),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Xo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Xo.prototype.addFeature=function(t,e,r,n){for(var a=this.layers[0].layout,i=a.get("line-join").evaluate(t,{}),o=a.get("line-cap"),s=a.get("line-miter-limit"),l=a.get("line-round-limit"),c=0,u=e;c<u.length;c+=1){var h=u[c];this.addLine(h,t,i,o,s,l,r,n)}},Xo.prototype.addLine=function(t,e,r,n,a,i,o,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var l=0;l<t.length-1;l++)this.totalDistance+=t[l].dist(t[l+1])}for(var c="Polygon"===Go[e.type],u=t.length;u>=2&&t[u-1].equals(t[u-2]);)u--;for(var h=0;h<u-1&&t[h].equals(t[h+1]);)h++;if(!(u<(c?3:2))){"bevel"===r&&(a=1.05);var f,p=ti/(512*this.overscaling)*15,d=this.segments.prepareSegment(10*u,this.layoutVertexArray,this.indexArray),g=void 0,v=void 0,m=void 0,y=void 0;this.e1=this.e2=-1,c&&(f=t[u-2],y=t[h].sub(f)._unit()._perp());for(var x=h;x<u;x++)if(!(v=c&&x===u-1?t[h+1]:t[x+1])||!t[x].equals(v)){y&&(m=y),f&&(g=f),f=t[x],y=v?v.sub(f)._unit()._perp():m;var b=(m=m||y).add(y);0===b.x&&0===b.y||b._unit();var _=m.x*y.x+m.y*y.y,w=b.x*y.x+b.y*y.y,k=0!==w?1/w:1/0,T=2*Math.sqrt(2-2*w),A=w<Yo&&g&&v,M=m.x*y.y-m.y*y.x>0;if(A&&x>h){var S=f.dist(g);if(S>2*p){var E=f.sub(f.sub(g)._mult(p/S)._round());this.updateDistance(g,E),this.addCurrentVertex(E,m,0,0,d),g=E}}var L=g&&v,C=L?r:c?"butt":n;if(L&&"round"===C&&(k<i?C="miter":k<=2&&(C="fakeround")),"miter"===C&&k>a&&(C="bevel"),"bevel"===C&&(k>2&&(C="flipbevel"),k<a&&(C="miter")),g&&this.updateDistance(g,f),"miter"===C)b._mult(k),this.addCurrentVertex(f,b,0,0,d);else if("flipbevel"===C){if(k>100)b=y.mult(-1);else{var P=k*m.add(y).mag()/m.sub(y).mag();b._perp()._mult(P*(M?-1:1))}this.addCurrentVertex(f,b,0,0,d),this.addCurrentVertex(f,b.mult(-1),0,0,d)}else if("bevel"===C||"fakeround"===C){var O=-Math.sqrt(k*k-1),z=M?O:0,I=M?0:O;if(g&&this.addCurrentVertex(f,m,z,I,d),"fakeround"===C)for(var D=Math.round(180*T/Math.PI/20),R=1;R<D;R++){var F=R/D;if(.5!==F){var B=F-.5;F+=F*B*(F-1)*((1.0904+_*(_*(3.55645-1.43519*_)-3.2452))*B*B+(.848013+_*(.215638*_-1.06021)))}var N=y.sub(m)._mult(F)._add(m)._unit()._mult(M?-1:1);this.addHalfVertex(f,N.x,N.y,!1,M,0,d)}v&&this.addCurrentVertex(f,y,-z,-I,d)}else if("butt"===C)this.addCurrentVertex(f,b,0,0,d);else if("square"===C){var j=g?1:-1;this.addCurrentVertex(f,b,j,j,d)}else"round"===C&&(g&&(this.addCurrentVertex(f,m,0,0,d),this.addCurrentVertex(f,m,1,1,d,!0)),v&&(this.addCurrentVertex(f,y,-1,-1,d,!0),this.addCurrentVertex(f,y,0,0,d)));if(A&&x<u-1){var V=f.dist(v);if(V>2*p){var U=f.add(v.sub(f)._mult(p/V)._round());this.updateDistance(f,U),this.addCurrentVertex(U,y,0,0,d),f=U}}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,o,s)}},Xo.prototype.addCurrentVertex=function(t,e,r,n,a,i){void 0===i&&(i=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,i,!1,r,a),this.addHalfVertex(t,l,c,i,!0,-n,a),this.distance>Wo/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,a,i))},Xo.prototype.addHalfVertex=function(t,e,r,n,a,i,o){var s=t.x,l=t.y,c=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(a?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===i?0:i<0?-1:1)|(63&c)<<2,c>>6);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),a?this.e2=u:this.e1=u},Xo.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Wo-1):this.distance},pn("LineBucket",Xo,{omit:["layers","patternFeatures"]});var Zo=new Hn({"line-cap":new Nn(Tt.layout_line["line-cap"]),"line-join":new jn(Tt.layout_line["line-join"]),"line-miter-limit":new Nn(Tt.layout_line["line-miter-limit"]),"line-round-limit":new Nn(Tt.layout_line["line-round-limit"]),"line-sort-key":new jn(Tt.layout_line["line-sort-key"])}),Jo={paint:new Hn({"line-opacity":new jn(Tt.paint_line["line-opacity"]),"line-color":new jn(Tt.paint_line["line-color"]),"line-translate":new Nn(Tt.paint_line["line-translate"]),"line-translate-anchor":new Nn(Tt.paint_line["line-translate-anchor"]),"line-width":new jn(Tt.paint_line["line-width"]),"line-gap-width":new jn(Tt.paint_line["line-gap-width"]),"line-offset":new jn(Tt.paint_line["line-offset"]),"line-blur":new jn(Tt.paint_line["line-blur"]),"line-dasharray":new Un(Tt.paint_line["line-dasharray"]),"line-pattern":new Vn(Tt.paint_line["line-pattern"]),"line-gradient":new qn(Tt.paint_line["line-gradient"])}),layout:Zo},Ko=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Cn(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,a){return r=h({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,a)},e}(jn))(Jo.paint.properties["line-width"].specification);Ko.useIntegerZoom=!0;var Qo=function(t){function e(e){t.call(this,e,Jo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=zi(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=Ko.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new Xo(t)},e.prototype.queryRadius=function(t){var e=t,r=$o(vi("line-width",this,e),vi("line-gap-width",this,e)),n=vi("line-offset",this,e);return r/2+Math.abs(n)+mi(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=yi(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*$o(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i<t.length;i++){for(var o=t[i],s=[],l=0;l<o.length;l++){var c=o[l-1],u=o[l],h=o[l+1],f=0===l?n:u.sub(c)._unit()._perp(),p=l===o.length-1?n:h.sub(u)._unit()._perp(),d=f._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(u))}r.push(s)}return r}(n,u*s)),function(t,e,r){for(var n=0;n<e.length;n++){var a=e[n];if(t.length>=3)for(var i=0;i<a.length;i++)if(di(t,a[i]))return!0;if(li(t,a,r))return!0}return!1}(l,n,c)},e.prototype.isTileClipped=function(){return!0},e}(Gn);function $o(t,e){return e>0?e+2*t:t}var ts=Zn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),es=Zn([{name:"a_projected_pos",components:3,type:"Float32"}],4),rs=(Zn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Zn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),ns=(Zn([{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"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),as=Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);function is(t,e,r){return t.sections.forEach(function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ln.applyArabicShaping&&(t=Ln.applyArabicShaping(t)),t}(t.text,e,r)}),t}Zn([{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"}]),Zn([{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:"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:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"radialTextOffset"}]),Zn([{type:"Float32",name:"offsetX"}]),Zn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var os={"!":"\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"},ss=24,ls={horizontal:1,vertical:2,horizontalOnly:3},cs=function(){this.text="",this.sectionIndex=[],this.sections=[]};function us(t,e,r,n,a,i,o,s,l,c,u){var h,f=cs.fromFeature(t,r);c===ls.vertical&&f.verticalizePunctuation();var p=Ln.processBidirectionalText,d=Ln.processStyledBidirectionalText;if(p&&1===f.sections.length){h=[];for(var g=0,v=p(f.toString(),vs(f,s,n,e));g<v.length;g+=1){var m=v[g],y=new cs;y.text=m,y.sections=f.sections;for(var x=0;x<m.length;x++)y.sectionIndex.push(0);h.push(y)}}else if(d){h=[];for(var b=0,_=d(f.text,f.sectionIndex,vs(f,s,n,e));b<_.length;b+=1){var w=_[b],k=new cs;k.text=w[0],k.sectionIndex=w[1],k.sections=f.sections,h.push(k)}}else h=function(t,e){for(var r=[],n=t.text,a=0,i=0,o=e;i<o.length;i+=1){var s=o[i];r.push(t.substring(a,s)),a=s}return a<n.length&&r.push(t.substring(a,n.length)),r}(f,vs(f,s,n,e));var T=[],A={positionedGlyphs:T,text:f.toString(),top:l[1],bottom:l[1],left:l[0],right:l[0],writingMode:c,lineCount:h.length,yOffset:-17};return function(t,e,r,n,a,i,o,s,l){for(var c=0,u=t.yOffset,h=0,f=t.positionedGlyphs,p="right"===i?1:"left"===i?0:.5,d=0,g=r;d<g.length;d+=1){var v=g[d];v.trim();var m=v.getMaxScale();if(v.length()){for(var y=f.length,x=0;x<v.length();x++){var b=v.getSection(x),_=v.getSectionIndex(x),w=v.getCharCode(x),k=24*(m-b.scale),T=e[b.fontStack],A=T&&T[w];A&&(o===ls.horizontal||!l&&!_n(w)||l&&(hs[w]||(S=w,yn.Arabic(S)||yn["Arabic Supplement"](S)||yn["Arabic Extended-A"](S)||yn["Arabic Presentation Forms-A"](S)||yn["Arabic Presentation Forms-B"](S)))?(f.push({glyph:w,x:c,y:u+k,vertical:!1,scale:b.scale,fontStack:b.fontStack,sectionIndex:_}),c+=A.metrics.advance*b.scale+s):(f.push({glyph:w,x:c,y:u+k,vertical:!0,scale:b.scale,fontStack:b.fontStack,sectionIndex:_}),c+=ss*b.scale+s))}if(f.length!==y){var M=c-s;h=Math.max(M,h),ys(f,e,y,f.length-1,p)}c=0,u+=n*m}else u+=n}var S,E=ms(a),L=E.horizontalAlign,C=E.verticalAlign;!function(t,e,r,n,a,i,o){for(var s=(e-r)*a,l=(-n*o+.5)*i,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(f,p,L,C,h,n,r.length);var P=u-t.yOffset;t.top+=-C*P,t.bottom=t.top+P,t.left+=-L*h,t.right=t.left+h}(A,e,h,a,i,o,c,s,u),!!T.length&&A}cs.fromFeature=function(t,e){for(var r=new cs,n=0;n<t.sections.length;n++){var a=t.sections[n];r.sections.push({scale:a.scale||1,fontStack:a.fontStack||e}),r.text+=a.text;for(var i=0;i<a.text.length;i++)r.sectionIndex.push(n)}return r},cs.prototype.length=function(){return this.text.length},cs.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},cs.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},cs.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},cs.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,a=t.charCodeAt(r-1)||null;n&&wn(n)&&!os[t[r+1]]||a&&wn(a)&&!os[t[r-1]]||!os[t[r]]?e+=t[r]:e+=os[t[r]]}return e}(this.text)},cs.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&hs[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&hs[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},cs.prototype.substring=function(t,e){var r=new cs;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},cs.prototype.toString=function(){return this.text},cs.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce(function(e,r){return Math.max(e,t.sections[r].scale)},0)};var hs={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},fs={};function ps(t,e,r,n){var a=Math.pow(t-e,2);return n?t<e?a/2:2*a:a+Math.abs(r)*r}function ds(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function gs(t,e,r,n,a,i){for(var o=null,s=ps(e,r,a,i),l=0,c=n;l<c.length;l+=1){var u=c[l],h=ps(e-u.x,r,a,i)+u.badness;h<=s&&(o=u,s=h)}return{index:t,x:e,priorBreak:o,badness:s}}function vs(t,e,r,n){if(!r)return[];if(!t)return[];for(var a,i=[],o=function(t,e,r,n){for(var a=0,i=0;i<t.length();i++){var o=t.getSection(i),s=n[o.fontStack],l=s&&s[t.getCharCode(i)];l&&(a+=l.metrics.advance*o.scale+e)}return a/Math.max(1,Math.ceil(a/r))}(t,e,r,n),s=t.text.indexOf("\u200b")>=0,l=0,c=0;c<t.length();c++){var u=t.getSection(c),h=t.getCharCode(c),f=n[u.fontStack],p=f&&f[h];if(p&&!hs[h]&&(l+=p.metrics.advance*u.scale+e),c<t.length()-1){var d=!((a=h)<11904||!(yn["Bopomofo Extended"](a)||yn.Bopomofo(a)||yn["CJK Compatibility Forms"](a)||yn["CJK Compatibility Ideographs"](a)||yn["CJK Compatibility"](a)||yn["CJK Radicals Supplement"](a)||yn["CJK Strokes"](a)||yn["CJK Symbols and Punctuation"](a)||yn["CJK Unified Ideographs Extension A"](a)||yn["CJK Unified Ideographs"](a)||yn["Enclosed CJK Letters and Months"](a)||yn["Halfwidth and Fullwidth Forms"](a)||yn.Hiragana(a)||yn["Ideographic Description Characters"](a)||yn["Kangxi Radicals"](a)||yn["Katakana Phonetic Extensions"](a)||yn.Katakana(a)||yn["Vertical Forms"](a)||yn["Yi Radicals"](a)||yn["Yi Syllables"](a)));(fs[h]||d)&&i.push(gs(c+1,l,o,i,ds(h,t.getCharCode(c+1),d&&s),!1))}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(gs(t.length(),l,o,i,0,!0))}function ms(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:e,verticalAlign:r}}function ys(t,e,r,n,a){if(a){var i=t[n],o=e[i.fontStack],s=o&&o[i.glyph];if(s)for(var l=s.metrics.advance*i.scale,c=(t[n].x+l)*a,u=r;u<=n;u++)t[u].x-=c}}fs[10]=!0,fs[32]=!0,fs[38]=!0,fs[40]=!0,fs[41]=!0,fs[43]=!0,fs[45]=!0,fs[47]=!0,fs[173]=!0,fs[183]=!0,fs[8203]=!0,fs[8208]=!0,fs[8211]=!0,fs[8231]=!0;var xs=function(t){function e(e,r,n,a){t.call(this,e,r),this.angle=n,void 0!==a&&(this.segment=a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(a);pn("Anchor",xs);var bs=256;function _s(t,e){var r=e.expression;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Cn(t+1))};if("source"===r.kind)return{kind:"source"};for(var n=r.zoomStops,a=r.interpolationType,i=0;i<n.length&&n[i]<=t;)i++;for(var o=i=Math.max(0,i-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[i],l=n[o];return"composite"===r.kind?{kind:"composite",minZoom:s,maxZoom:l,interpolationType:a}:{kind:"camera",minZoom:s,maxZoom:l,minSize:r.evaluate(new Cn(s)),maxSize:r.evaluate(new Cn(l)),interpolationType:a}}function ws(t,e,r){var n=e.uSize,a=e.uSizeT,i=r.lowerSize,o=r.upperSize;return"source"===t.kind?i/bs:"composite"===t.kind?ye(i/bs,o/bs,a):n}function ks(t,e){var r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){var a=t.interpolationType,i=t.minZoom,o=t.maxZoom,s=a?c(Be.interpolationFactor(a,e,i,o),0,1):0;"camera"===t.kind?n=ye(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}}var Ts=Object.freeze({getSizeData:_s,evaluateSizeForFeature:ws,evaluateSizeForZoom:ks,SIZE_PACK_FACTOR:bs}),As=zo.VectorTileFeature.types,Ms=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function Ss(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,Math.round(32*n),Math.round(32*a),i,o,s?s[0]:0,s?s[1]:0)}function Es(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var Ls=function(t){this.layoutVertexArray=new ra,this.indexArray=new pa,this.programConfigurations=t,this.segments=new Pa,this.dynamicLayoutVertexArray=new na,this.opacityVertexArray=new aa,this.placedSymbolArray=new _a};Ls.prototype.upload=function(t,e,r,n){r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ts.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,es.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Ms,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t)},Ls.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},pn("SymbolBuffers",Ls);var Cs=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Pa,this.collisionVertexArray=new sa};Cs.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,rs.members,!0)},Cs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},pn("CollisionBuffers",Cs);var Ps=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasPaintOverrides=!1;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=_s(this.zoom,e["text-size"]),this.iconSizeData=_s(this.zoom,e["icon-size"]);var r=this.layers[0].layout,n=r.get("symbol-sort-key"),a=r.get("symbol-z-order");this.sortFeaturesByKey="viewport-y"!==a&&void 0!==n.constantOr(1);var i="viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey;this.sortFeaturesByY=i&&(r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")),"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map(function(t){return ls[t]})),this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id}),this.sourceID=t.sourceID};Ps.prototype.createArrays=function(){var t=this.layers[0].layout;this.hasPaintOverrides=Ds.hasPaintOverrides(t),this.text=new Ls(new Ka(ts.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new Ls(new Ka(ts.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new Cs(oa,ns.members,da),this.collisionCircle=new Cs(oa,as.members,pa),this.glyphOffsetArray=new Aa,this.lineVertexArray=new Sa,this.symbolInstances=new ka},Ps.prototype.calculateGlyphDependencies=function(t,e,r,n,a){for(var i=0;i<t.length;i++)if(e[t.charCodeAt(i)]=!0,(r||n)&&a){var o=os[t.charAt(i)];o&&(e[o.charCodeAt(0)]=!0)}},Ps.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,a=n.get("text-font"),i=n.get("text-field"),o=n.get("icon-image"),s=("constant"!==i.value.kind||i.value.value.toString().length>0)&&("constant"!==a.value.kind||a.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0,c=n.get("symbol-sort-key");if(this.features=[],s||l){for(var u=e.iconDependencies,h=e.glyphDependencies,f=new Cn(this.zoom),p=0,d=t;p<d.length;p+=1){var g=d[p],v=g.feature,m=g.index,y=g.sourceLayerIndex;if(r._featureFilter(f,v)){var x=void 0;if(s){var b=r.getValueAndResolveTokens("text-field",v);x=is(b instanceof Jt?b:Jt.fromString(b),r,v)}var _=void 0;if(l&&(_=r.getValueAndResolveTokens("icon-image",v)),x||_){var w=this.sortFeaturesByKey?c.evaluate(v,{}):void 0,k={text:x,icon:_,index:m,sourceLayerIndex:y,geometry:ri(v),properties:v.properties,type:As[v.type],sortKey:w};if(void 0!==v.id&&(k.id=v.id),this.features.push(k),_&&(u[_]=!0),x){var T=a.evaluate(v,{}).join(","),A="map"===n.get("text-rotation-alignment")&&"point"!==n.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(ls.vertical)>=0;for(var M=0,S=x.sections;M<S.length;M+=1){var E=S[M],L=xn(x.toString()),C=E.fontStack||T,P=h[C]=h[C]||{};this.calculateGlyphDependencies(E.text,P,A,this.allowVerticalPlacement,L)}}}}}"line"===n.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],a=0;function i(e){n.push(t[e]),a++}function o(t,e,a){var i=r[t];return delete r[t],r[e]=i,n[i].geometry[0].pop(),n[i].geometry[0]=n[i].geometry[0].concat(a[0]),i}function s(t,r,a){var i=e[r];return delete e[r],e[t]=i,n[i].geometry[0].shift(),n[i].geometry[0]=a[0].concat(n[i].geometry[0]),i}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.text?u.text.toString():null;if(f){var p=l(f,h),d=l(f,h,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,h),v=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(f,n[v].geometry,!0)]=v,n[g].geometry=null}else p in r?o(p,d,h):d in e?s(p,d,h):(i(c),e[p]=a-1,r[d]=a-1)}else i(c)}return n.filter(function(t){return t.geometry})}(this.features)),this.sortFeaturesByKey&&this.features.sort(function(t,e){return t.sortKey-e.sortKey})}},Ps.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},Ps.prototype.isEmpty=function(){return 0===this.symbolInstances.length},Ps.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},Ps.prototype.upload=function(t){this.uploaded||(this.collisionBox.upload(t),this.collisionCircle.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},Ps.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},Ps.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),a=t.dist(e[t.segment]),i={},o=t.segment+1;o<e.length;o++)i[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)i[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:a},s>0&&(a+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=i[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Ps.prototype.addSymbols=function(t,e,r,n,a,i,o,s,l,c){var u=this,h=t.indexArray,f=t.layoutVertexArray,p=t.dynamicLayoutVertexArray,d=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray,i.sortKey),g=this.glyphOffsetArray.length,v=d.vertexLength,m=this.allowVerticalPlacement&&o===ls.vertical?Math.PI/2:0,y=function(t){var e=t.tl,n=t.tr,a=t.bl,i=t.br,o=t.tex,l=d.vertexLength,c=t.glyphOffset[1];Ss(f,s.x,s.y,e.x,c+e.y,o.x,o.y,r),Ss(f,s.x,s.y,n.x,c+n.y,o.x+o.w,o.y,r),Ss(f,s.x,s.y,a.x,c+a.y,o.x,o.y+o.h,r),Ss(f,s.x,s.y,i.x,c+i.y,o.x+o.w,o.y+o.h,r),Es(p,s,m),h.emplaceBack(l,l+1,l+2),h.emplaceBack(l+1,l+2,l+3),d.vertexLength+=4,d.primitiveLength+=2,u.glyphOffsetArray.emplaceBack(t.glyphOffset[0])};if(i.text&&i.text.sections){var x=i.text.sections;if(this.hasPaintOverrides){for(var b,_=function(e,r){void 0===b||b===e&&!r||t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{},x[b]),b=e},w=0,k=e;w<k.length;w+=1){var T=k[w];_(T.sectionIndex,!1),y(T)}_(b,!0)}else{for(var A=0,M=e;A<M.length;A+=1)y(M[A]);t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{},x[0])}}else{for(var S=0,E=e;S<E.length;S+=1)y(E[S]);t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{})}t.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,v,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0)},Ps.prototype._addCollisionDebugVertex=function(t,e,r,n,a,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,a,Math.round(i.x),Math.round(i.y))},Ps.prototype.addCollisionDebugVertices=function(t,e,r,n,i,o,s,l){var c=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=c.vertexLength,h=i.layoutVertexArray,f=i.collisionVertexArray,p=s.anchorX,d=s.anchorY;if(this._addCollisionDebugVertex(h,f,o,p,d,new a(t,e)),this._addCollisionDebugVertex(h,f,o,p,d,new a(r,e)),this._addCollisionDebugVertex(h,f,o,p,d,new a(r,n)),this._addCollisionDebugVertex(h,f,o,p,d,new a(t,n)),c.vertexLength+=4,l){var g=i.indexArray;g.emplaceBack(u,u+1,u+2),g.emplaceBack(u,u+2,u+3),c.primitiveLength+=2}else{var v=i.indexArray;v.emplaceBack(u,u+1),v.emplaceBack(u+1,u+2),v.emplaceBack(u+2,u+3),v.emplaceBack(u+3,u),c.primitiveLength+=4}},Ps.prototype.addDebugCollisionBoxes=function(t,e,r){for(var n=t;n<e;n++){var a=this.collisionBoxArray.get(n),i=a.x1,o=a.y1,s=a.x2,l=a.y2,c=a.radius>0;this.addCollisionDebugVertices(i,o,s,l,c?this.collisionCircle:this.collisionBox,a.anchorPoint,r,c)}},Ps.prototype.generateCollisionDebugBuffers=function(){for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e)}},Ps.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,a,i,o){for(var s={},l=e;l<r;l++){var c=t.get(l);if(0===c.radius){s.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},s.textFeatureIndex=c.featureIndex;break}s.textCircles||(s.textCircles=[],s.textFeatureIndex=c.featureIndex),s.textCircles.push(c.anchorPointX,c.anchorPointY,c.radius,c.signedDistanceFromAnchor,1)}for(var u=n;u<a;u++){var h=t.get(u);if(0===h.radius){s.verticalTextBox={x1:h.x1,y1:h.y1,x2:h.x2,y2:h.y2,anchorPointX:h.anchorPointX,anchorPointY:h.anchorPointY},s.verticalTextFeatureIndex=h.featureIndex;break}}for(var f=i;f<o;f++){var p=t.get(f);if(0===p.radius){s.iconBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},s.iconFeatureIndex=p.featureIndex;break}}return s},Ps.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex))}},Ps.prototype.hasTextData=function(){return this.text.segments.get().length>0},Ps.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ps.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ps.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ps.prototype.addIndicesForPlacedTextSymbol=function(t){for(var e=this.text.placedSymbolArray.get(t),r=e.vertexStartIndex+4*e.numGlyphs,n=e.vertexStartIndex;n<r;n+=4)this.text.indexArray.emplaceBack(n,n+1,n+2),this.text.indexArray.emplaceBack(n+1,n+2,n+3)},Ps.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],a=[],i=[],o=0;o<this.symbolInstances.length;++o){i.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),a.push(s.featureIndex)}return i.sort(function(t,e){return n[t]-n[e]||a[e]-a[t]}),i},Ps.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var a=n[r],i=this.symbolInstances.get(a);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach(function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedTextSymbol(t)}),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedTextSymbol(i.verticalPlacedTextSymbolIndex);var o=this.icon.placedSymbolArray.get(a);if(o.numGlyphs){var s=o.vertexStartIndex;this.icon.indexArray.emplaceBack(s,s+1,s+2),this.icon.indexArray.emplaceBack(s+1,s+2,s+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},pn("SymbolBucket",Ps,{omit:["layers","collisionBoxArray","features","compareText"]}),Ps.MAX_GLYPHS=65535,Ps.addDynamicAttributes=Es;var Os=new Hn({"symbol-placement":new Nn(Tt.layout_symbol["symbol-placement"]),"symbol-spacing":new Nn(Tt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Nn(Tt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new jn(Tt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Nn(Tt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Nn(Tt.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Nn(Tt.layout_symbol["icon-ignore-placement"]),"icon-optional":new Nn(Tt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Nn(Tt.layout_symbol["icon-rotation-alignment"]),"icon-size":new jn(Tt.layout_symbol["icon-size"]),"icon-text-fit":new Nn(Tt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Nn(Tt.layout_symbol["icon-text-fit-padding"]),"icon-image":new jn(Tt.layout_symbol["icon-image"]),"icon-rotate":new jn(Tt.layout_symbol["icon-rotate"]),"icon-padding":new Nn(Tt.layout_symbol["icon-padding"]),"icon-keep-upright":new Nn(Tt.layout_symbol["icon-keep-upright"]),"icon-offset":new jn(Tt.layout_symbol["icon-offset"]),"icon-anchor":new jn(Tt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Nn(Tt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Nn(Tt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Nn(Tt.layout_symbol["text-rotation-alignment"]),"text-field":new jn(Tt.layout_symbol["text-field"]),"text-font":new jn(Tt.layout_symbol["text-font"]),"text-size":new jn(Tt.layout_symbol["text-size"]),"text-max-width":new jn(Tt.layout_symbol["text-max-width"]),"text-line-height":new Nn(Tt.layout_symbol["text-line-height"]),"text-letter-spacing":new jn(Tt.layout_symbol["text-letter-spacing"]),"text-justify":new jn(Tt.layout_symbol["text-justify"]),"text-radial-offset":new jn(Tt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Nn(Tt.layout_symbol["text-variable-anchor"]),"text-anchor":new jn(Tt.layout_symbol["text-anchor"]),"text-max-angle":new Nn(Tt.layout_symbol["text-max-angle"]),"text-writing-mode":new Nn(Tt.layout_symbol["text-writing-mode"]),"text-rotate":new jn(Tt.layout_symbol["text-rotate"]),"text-padding":new Nn(Tt.layout_symbol["text-padding"]),"text-keep-upright":new Nn(Tt.layout_symbol["text-keep-upright"]),"text-transform":new jn(Tt.layout_symbol["text-transform"]),"text-offset":new jn(Tt.layout_symbol["text-offset"]),"text-allow-overlap":new Nn(Tt.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Nn(Tt.layout_symbol["text-ignore-placement"]),"text-optional":new Nn(Tt.layout_symbol["text-optional"])}),zs={paint:new Hn({"icon-opacity":new jn(Tt.paint_symbol["icon-opacity"]),"icon-color":new jn(Tt.paint_symbol["icon-color"]),"icon-halo-color":new jn(Tt.paint_symbol["icon-halo-color"]),"icon-halo-width":new jn(Tt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new jn(Tt.paint_symbol["icon-halo-blur"]),"icon-translate":new Nn(Tt.paint_symbol["icon-translate"]),"icon-translate-anchor":new Nn(Tt.paint_symbol["icon-translate-anchor"]),"text-opacity":new jn(Tt.paint_symbol["text-opacity"]),"text-color":new jn(Tt.paint_symbol["text-color"],{runtimeType:Ft,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new jn(Tt.paint_symbol["text-halo-color"]),"text-halo-width":new jn(Tt.paint_symbol["text-halo-width"]),"text-halo-blur":new jn(Tt.paint_symbol["text-halo-blur"]),"text-translate":new Nn(Tt.paint_symbol["text-translate"]),"text-translate-anchor":new Nn(Tt.paint_symbol["text-translate-anchor"])}),layout:Os},Is=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:zt,this.defaultValue=t};Is.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},Is.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},Is.prototype.possibleOutputs=function(){return[void 0]},Is.prototype.serialize=function(){return null},pn("FormatSectionOverride",Is,{omit:["defaultValue"]});var Ds=function(t){function e(e){t.call(this,e,zs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){if(t.prototype.recalculate.call(this,e),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var r=this.layout.get("text-writing-mode");if(r){for(var n=[],a=0,i=r;a<i.length;a+=1){var o=i[a];n.indexOf(o)<0&&n.push(o)}this.layout._values["text-writing-mode"]=n}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e,{}),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||_r(n.value)?r:function(t,e){return r.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):""})}(e.properties)},e.prototype.createBucket=function(t){return new Ps(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=zs.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var a,i=this.paint.get(n),o=new Is(i),s=new br(o,i.property.specification);a="constant"===i.value.kind||"source"===i.value.kind?new kr("source",s):new Tr("composite",s,i.value.zoomStops,i.value._interpolationType),this.paint._values[n]=new Fn(i.property,a,i.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get("text-field"),n=zs.paint.properties[e],a=!1,i=function(t){for(var e=0,r=t;e<r.length;e+=1){var i=r[e];if(n.overrides&&n.overrides.hasOverride(i))return void(a=!0)}};if("constant"===r.value.kind&&r.value.value instanceof Jt)i(r.value.value.sections);else if("source"===r.value.kind){var o=function(t){if(!a)if(t instanceof te&&Qt(t.value)===Vt){var e=t.value;i(e.sections)}else t instanceof ae?i(t.sections):t.eachChild(o)},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return a},e.hasPaintOverrides=function(t){for(var r=0,n=zs.paint.overridableProperties;r<n.length;r+=1){var a=n[r];if(e.hasPaintOverride(t,a))return!0}return!1},e}(Gn),Rs={paint:new Hn({"background-color":new Nn(Tt.paint_background["background-color"]),"background-pattern":new Un(Tt.paint_background["background-pattern"]),"background-opacity":new Nn(Tt.paint_background["background-opacity"])})},Fs=function(t){function e(e){t.call(this,e,Rs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Gn),Bs={paint:new Hn({"raster-opacity":new Nn(Tt.paint_raster["raster-opacity"]),"raster-hue-rotate":new Nn(Tt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Nn(Tt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Nn(Tt.paint_raster["raster-brightness-max"]),"raster-saturation":new Nn(Tt.paint_raster["raster-saturation"]),"raster-contrast":new Nn(Tt.paint_raster["raster-contrast"]),"raster-resampling":new Nn(Tt.paint_raster["raster-resampling"]),"raster-fade-duration":new Nn(Tt.paint_raster["raster-fade-duration"])})},Ns=function(t){function e(e){t.call(this,e,Bs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Gn),js=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.is3D=function(){return"3d"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(Gn),Vs={circle:Ti,heatmap:Ii,hillshade:Ri,fill:ko,"fill-extrusion":Vo,line:Qo,symbol:Ds,background:Fs,raster:Ns};function Us(t){for(var e=0,r=0,n=0,a=t;n<a.length;n+=1){var i=a[n];e+=i.w*i.h,r=Math.max(r,i.w)}t.sort(function(t,e){return e.h-t.h});for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,c=0,u=t;c<u.length;c+=1)for(var h=u[c],f=o.length-1;f>=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f<o.length&&(o[f]=d)}else h.h===p.h?(p.x+=h.w,p.w-=h.w):h.w===p.w?(p.y+=h.h,p.h-=h.h):(o.push({x:p.x+h.w,y:p.y,w:p.w-h.w,h:h.h}),p.y+=h.h,p.h-=h.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}var qs=function(t,e){var r=e.pixelRatio,n=e.version;this.paddedRect=t,this.pixelRatio=r,this.version=n},Hs={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};Hs.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},Hs.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},Hs.tlbr.get=function(){return this.tl.concat(this.br)},Hs.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(qs.prototype,Hs);var Gs=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var a=[];this.addImages(t,r,a),this.addImages(e,n,a);var i=Us(a),o=i.w,s=i.h,l=new Pi({width:o||1,height:s||1});for(var c in t){var u=t[c],h=r[c].paddedRect;Pi.copy(u.data,l,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(var f in e){var p=e[f],d=n[f].paddedRect,g=d.x+1,v=d.y+1,m=p.data.width,y=p.data.height;Pi.copy(p.data,l,{x:0,y:0},{x:g,y:v},p.data),Pi.copy(p.data,l,{x:0,y:y-1},{x:g,y:v-1},{width:m,height:1}),Pi.copy(p.data,l,{x:0,y:0},{x:g,y:v+y},{width:m,height:1}),Pi.copy(p.data,l,{x:m-1,y:0},{x:g-1,y:v},{width:1,height:y}),Pi.copy(p.data,l,{x:0,y:0},{x:g+m,y:v},{width:1,height:y})}this.image=l,this.iconPositions=r,this.patternPositions=n};Gs.prototype.addImages=function(t,e,r){for(var n in t){var a=t[n],i={x:0,y:0,w:a.data.width+2,h:a.data.height+2};r.push(i),e[n]=new qs(i,a),a.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},Gs.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},Gs.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl,a=n[0],i=n[1];r.update(e.data,void 0,{x:a,y:i})}},pn("ImagePosition",qs),pn("ImageAtlas",Gs);var Ys=self.HTMLImageElement,Ws=self.HTMLCanvasElement,Xs=self.HTMLVideoElement,Zs=self.ImageData,Js=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};Js.prototype.update=function(t,e,r){var n=t.width,a=t.height,i=!(this.size&&this.size[0]===n&&this.size[1]===a||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),i)this.size=[n,a],t instanceof Ys||t instanceof Ws||t instanceof Xs||t instanceof Zs?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,a,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},c=l.x,u=l.y;t instanceof Ys||t instanceof Ws||t instanceof Xs||t instanceof Zs?s.texSubImage2D(s.TEXTURE_2D,0,c,u,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,c,u,n,a,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},Js.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},Js.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Js.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Ks=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},Qs=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},$s=tl;function tl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function el(t){return t.type===tl.Bytes?t.readVarint()+t.pos:t.pos+1}function rl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var a=r.pos-1;a>=t;a--)r.buf[a+n]=r.buf[a]}function al(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function il(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function ol(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function sl(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function ll(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function cl(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function ul(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function hl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function fl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function pl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function dl(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function gl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}tl.Varint=0,tl.Fixed64=1,tl.Bytes=2,tl.Fixed32=5,tl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),a=n>>3,i=this.pos;this.type=7&n,t(a,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=pl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=gl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*pl(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*gl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Ks(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ks(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,a,i=r.buf;if(n=(112&(a=i[r.pos++]))>>4,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<3,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<10,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<17,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<24,a<128)return rl(t,n,e);if(n|=(1&(a=i[r.pos++]))<<31,a<128)return rl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n="",a=e;a<r;){var i,o,s,l=t[a],c=null,u=l>239?4:l>223?3:l>191?2:1;if(a+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(i=t[a+1]))&&(c=(31&l)<<6|63&i)<=127&&(c=null):3===u?(i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&((c=(15&l)<<12|(63&i)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&i)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),a+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==tl.Bytes)return t.push(this.readVarint(e));var r=el(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==tl.Bytes)return t.push(this.readSVarint());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==tl.Bytes)return t.push(this.readBoolean());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==tl.Bytes)return t.push(this.readFloat());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==tl.Bytes)return t.push(this.readDouble());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==tl.Bytes)return t.push(this.readFixed32());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==tl.Bytes)return t.push(this.readSFixed32());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==tl.Bytes)return t.push(this.readFixed64());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==tl.Bytes)return t.push(this.readSFixed64());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===tl.Varint)for(;this.buf[this.pos++]>127;);else if(e===tl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===tl.Fixed32)this.pos+=4;else{if(e!==tl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),dl(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),dl(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),dl(this.buf,-1&t,this.pos),dl(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),dl(this.buf,-1&t,this.pos),dl(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,a,i=0;i<e.length;i++){if((n=e.charCodeAt(i))>55295&&n<57344){if(!a){n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):a=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else a&&(t[r++]=239,t[r++]=191,t[r++]=189,a=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Qs(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,tl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,al,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,il,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ll,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,ol,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,sl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,cl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,ul,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,fl,e)},writeBytesField:function(t,e){this.writeTag(t,tl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,tl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,tl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var vl=3;function ml(t,e,r){1===t&&r.readMessage(yl,e)}function yl(t,e,r){if(3===t){var n=r.readMessage(xl,{}),a=n.id,i=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:a,bitmap:new Ci({width:o+2*vl,height:s+2*vl},i),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function xl(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var bl=vl,_l=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};_l.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){t._triggered=!1,t._callback()},0))};var wl=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},v(["receive","process"],this),this.invoker=new _l(this.process),this.target.addEventListener("message",this.receive,!1)};function kl(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}wl.prototype.send=function(t,e,r,n){var a=this,i=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[i]=r);var o=[];return this.target.postMessage({id:i,type:t,hasCallback:!!r,targetMapId:n,sourceMapId:this.mapId,data:gn(e,o)},o),{cancel:function(){r&&delete a.callbacks[i],a.target.postMessage({id:i,type:"<cancel>",targetMapId:n,sourceMapId:a.mapId})}}},wl.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if("<cancel>"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()},wl.prototype.process=function(){var t=this;if(this.taskQueue.length){var e=this.taskQueue.shift(),r=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),r)if("<response>"===r.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(r.error?n(vn(r.error)):n(null,vn(r.data)))}else{var a=!1,i=r.hasCallback?function(r,n){a=!0,delete t.cancelCallbacks[e];var i=[];t.target.postMessage({id:e,type:"<response>",sourceMapId:t.mapId,error:r?gn(r):null,data:gn(n,i)},i)}:function(t){a=!0},o=null,s=vn(r.data);if(this.parent[r.type])o=this.parent[r.type](r.sourceMapId,s,i);else if(this.parent.getWorkerSource){var l=r.type.split(".");o=this.parent.getWorkerSource(r.sourceMapId,l[0],s.source)[l[1]](s,i)}else i(new Error("Could not find function "+r.type));!a&&o&&o.cancel&&(this.cancelCallbacks[e]=o.cancel)}}},wl.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)};var Tl=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Tl.prototype.setNorthEast=function(t){return this._ne=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.setSouthWest=function(t){return this._sw=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.extend=function(t){var e,r,n=this._sw,a=this._ne;if(t instanceof Al)e=t,r=t;else{if(!(t instanceof Tl))return Array.isArray(t)?t.every(Array.isArray)?this.extend(Tl.convert(t)):this.extend(Al.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||a?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),a.lng=Math.max(r.lng,a.lng),a.lat=Math.max(r.lat,a.lat)):(this._sw=new Al(e.lng,e.lat),this._ne=new Al(r.lng,r.lat)),this},Tl.prototype.getCenter=function(){return new Al((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Tl.prototype.getSouthWest=function(){return this._sw},Tl.prototype.getNorthEast=function(){return this._ne},Tl.prototype.getNorthWest=function(){return new Al(this.getWest(),this.getNorth())},Tl.prototype.getSouthEast=function(){return new Al(this.getEast(),this.getSouth())},Tl.prototype.getWest=function(){return this._sw.lng},Tl.prototype.getSouth=function(){return this._sw.lat},Tl.prototype.getEast=function(){return this._ne.lng},Tl.prototype.getNorth=function(){return this._ne.lat},Tl.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Tl.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Tl.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Tl.convert=function(t){return!t||t instanceof Tl?t:new Tl(t)};var Al=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Al.prototype.wrap=function(){return new Al(u(this.lng,-180,180),this.lat)},Al.prototype.toArray=function(){return[this.lng,this.lat]},Al.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Al.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Tl(new Al(this.lng-r,this.lat-e),new Al(this.lng+r,this.lat+e))},Al.convert=function(t){if(t instanceof Al)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Al(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Al(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var Ml=2*Math.PI*6378137;function Sl(t){return Ml*Math.cos(t*Math.PI/180)}function El(t){return(180+t)/360}function Ll(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Cl(t,e){return t/Sl(e)}function Pl(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Ol=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Ol.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Al.convert(t);return new Ol(El(r.lng),Ll(r.lat),Cl(e,r.lat))},Ol.prototype.toLngLat=function(){return new Al(360*this.x-180,Pl(this.y))},Ol.prototype.toAltitude=function(){return this.z*Sl(Pl(this.y))},Ol.prototype.meterInMercatorCoordinateUnits=function(){return 1/Ml*(t=Pl(this.y),1/Math.cos(t*Math.PI/180));var t};var zl=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Rl(0,t,e,r)};zl.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},zl.prototype.url=function(t,e){var r,n,a,i,o,s=(r=this.x,n=this.y,a=this.z,i=kl(256*r,256*(n=Math.pow(2,a)-n-1),a),o=kl(256*(r+1),256*(n+1),a),i[0]+","+i[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,a="",i=t;i>0;i--)a+=(e&(n=1<<i-1)?1:0)+(r&n?2:0);return a}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",l).replace("{bbox-epsg-3857}",s)},zl.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new a((t.x*e-this.x)*ti,(t.y*e-this.y)*ti)};var Il=function(t,e){this.wrap=t,this.canonical=e,this.key=Rl(t,e.z,e.x,e.y)},Dl=function(t,e,r,n,a){this.overscaledZ=t,this.wrap=e,this.canonical=new zl(r,+n,+a),this.key=Rl(e,t,n,a)};function Rl(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var a=1<<e;return 32*(a*a*t+a*n+r)+e}Dl.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Dl.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Dl(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Dl(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Dl.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Dl.prototype.children=function(t){if(this.overscaledZ>=t)return[new Dl(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Dl(e,this.wrap,e,r,n),new Dl(e,this.wrap,e,r+1,n),new Dl(e,this.wrap,e,r,n+1),new Dl(e,this.wrap,e,r+1,n+1)]},Dl.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Dl.prototype.wrapped=function(){return new Dl(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Dl.prototype.unwrapTo=function(t){return new Dl(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Dl.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Dl.prototype.toUnwrapped=function(){return new Il(this.wrap,this.canonical)},Dl.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},Dl.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Ol(t.x-this.wrap,t.y))},pn("CanonicalTileID",zl),pn("OverscaledTileID",Dl,{omit:["posMatrix"]});var Fl=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError("DEM tiles must be square");if(r&&"mapbox"!==r&&"terrarium"!==r)return w('"'+r+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');var n=this.dim=e.height;this.stride=this.dim+2,this.data=new Int32Array(this.stride*this.stride);for(var a=e.data,i="terrarium"===r?this._unpackTerrarium:this._unpackMapbox,o=0;o<n;o++)for(var s=0;s<n;s++){var l=4*(o*n+s);this.set(s,o,i(a[l],a[l+1],a[l+2]))}for(var c=0;c<n;c++)this.set(-1,c,this.get(0,c)),this.set(n,c,this.get(n-1,c)),this.set(c,-1,this.get(c,0)),this.set(c,n,this.get(c,n-1));this.set(-1,-1,this.get(0,0)),this.set(n,-1,this.get(n-1,0)),this.set(-1,n,this.get(0,n-1)),this.set(n,n,this.get(n-1,n-1))};Fl.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},Fl.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},Fl.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Fl.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Fl.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Fl.prototype.getPixels=function(){return new Pi({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Fl.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,a=e*this.dim+this.dim,i=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=a-1;break;case 1:a=n+1}switch(r){case-1:i=o-1;break;case 1:o=i+1}for(var s=-e*this.dim,l=-r*this.dim,c=i;c<o;c++)for(var u=n;u<a;u++)this.set(u,c,t.get(u+s,c+l))},pn("DEMData",Fl);var Bl=Zn([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),Nl=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Nl.prototype.encode=function(t){return this._stringToNumber[t]},Nl.prototype.decode=function(t){return this._numberToString[t]};var jl=function(t,e,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},Vl={geometry:{configurable:!0}};Vl.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Vl.geometry.set=function(t){this._geometry=t},jl.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(jl.prototype,Vl);var Ul=function(){this.state={},this.stateChanges={},this.deletedStates={}};Ul.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},h(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var a in this.deletedStates[t]={},this.state[t])a!==n&&(this.deletedStates[t][a]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var i in this.deletedStates[t][n]={},this.state[t][n])r[i]||(this.deletedStates[t][n][i]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]},Ul.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e&&e>=0)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e&&e>=0)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},Ul.prototype.getState=function(t,e){var r=String(e),n=this.state[t]||{},a=this.stateChanges[t]||{},i=h({},n[r],a[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var o=this.deletedStates[t][e];if(null===o)return{};for(var s in o)delete i[s]}return i},Ul.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},Ul.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var a={};for(var i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),h(this.state[n][i],this.stateChanges[n][i]),a[i]=this.state[n][i];r[n]=a}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var u=0,f=Object.keys(this.deletedStates[o][c]);u<f.length;u+=1){var p=f[u];delete this.state[o][c][p]}s[c]=this.state[o][c]}r[o]=r[o]||{},h(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var d in t)t[d].setFeatureState(r,e)};var ql=function(t,e,r){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=e||new ln(ti,16,0),this.grid3D=new ln(ti,16,0),this.featureIndexArray=r||new La};function Hl(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,i=0,o=t;i<o.length;i+=1){var s=o[i];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),a=Math.max(a,s.y)}return{minX:e,minY:r,maxX:n,maxY:a}}function Gl(t,e){return e-t}ql.prototype.insert=function(t,e,r,n,a,i){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,a);for(var s=i?this.grid3D:this.grid,l=0;l<e.length;l++){for(var c=e[l],u=[1/0,1/0,-1/0,-1/0],h=0;h<c.length;h++){var f=c[h];u[0]=Math.min(u[0],f.x),u[1]=Math.min(u[1],f.y),u[2]=Math.max(u[2],f.x),u[3]=Math.max(u[3],f.y)}u[0]<ti&&u[1]<ti&&u[2]>=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},ql.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new zo.VectorTile(new $s(this.rawTileData)).layers,this.sourceLayerCoder=new Nl(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},ql.prototype.query=function(t,e,r){var n=this;this.loadVTLayers();for(var i=t.params||{},o=ti/t.tileSize/t.scale,s=Dr(i.filter),l=t.queryGeometry,c=t.queryPadding*o,u=Hl(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=Hl(t.cameraQueryGeometry),p=0,d=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u<h.length;u+=1)if(di(t,h[u]))return!0;for(var f=0;f<t.length-1;f++)if(gi(t[f],t[f+1],c))return!0;return!1}(t.cameraQueryGeometry,e-c,r-c,n+c,i+c)});p<d.length;p+=1){var g=d[p];h.push(g)}h.sort(Gl);for(var v,m={},y=function(a){var c=h[a];if(c!==v){v=c;var u=n.featureIndexArray.get(c),f=null;n.loadMatchingFeature(m,u.bucketIndex,u.sourceLayerIndex,u.featureIndex,s,i.layers,e,function(e,a){f||(f=ri(e));var i={};return e.id&&(i=r.getState(a.sourceLayer||"_geojsonTileLayer",e.id)),a.queryIntersectsFeature(l,e,i,f,n.z,t.transform,o,t.pixelPosMatrix)})}},x=0;x<h.length;x++)y(x);return m},ql.prototype.loadMatchingFeature=function(t,e,r,n,a,i,o,s){var l=this.bucketLayerIDs[e];if(!i||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(i,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(a(new Cn(this.tileID.overscaledZ),u))for(var h=0;h<l.length;h++){var f=l[h];if(!(i&&i.indexOf(f)<0)){var p=o[f];if(p){var d=!s||s(u,p);if(d){var g=new jl(u,this.z,this.x,this.y);g.layer=p.serialize();var v=t[f];void 0===v&&(v=t[f]=[]),v.push({featureIndex:n,feature:g,intersectionZ:d})}}}}}},ql.prototype.lookupSymbolFeatures=function(t,e,r,n,a,i){var o={};this.loadVTLayers();for(var s=Dr(n),l=0,c=t;l<c.length;l+=1){var u=c[l];this.loadMatchingFeature(o,e,r,u,s,a,i)}return o},ql.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,a=r[e];n<a.length;n+=1)if(t===a[n])return!0;return!1},pn("FeatureIndex",ql,{omit:["rawTileData","sourceLayerCoder"]});var Yl=function(t,e){this.tileID=t,this.uid=p(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.expiredRequestCount=0,this.state="loading"};function Wl(t,e,r,n,a){if(void 0===e.segment)return!0;for(var i=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(i),i=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var p=u.angleTo(h)-h.angleTo(f);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>a)return!1;o++,s+=h.dist(f)}return!0}function Xl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Zl(t,e,r){return t?.6*e*r:0}function Jl(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Kl(t,e,r,n,a,i){for(var o=Zl(r,a,i),s=Jl(r,n)*i,l=0,c=Xl(t)/2,u=0;u<t.length-1;u++){var h=t[u],f=t[u+1],p=h.dist(f);if(l+p>c){var d=(c-l)/p,g=ye(h.x,f.x,d),v=ye(h.y,f.y,d),m=new xs(g,v,f.angleTo(h),u);return m._round(),!o||Wl(t,m,s,o,e)?m:void 0}l+=p}}function Ql(t,e,r,n,a,i,o,s,l){var c=Zl(n,i,o),u=Jl(n,a),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h<e/4&&(e=h+e/4),function t(e,r,n,a,i,o,s,l,c){for(var u=o/2,h=Xl(e),f=0,p=r-n,d=[],g=0;g<e.length-1;g++){for(var v=e[g],m=e[g+1],y=v.dist(m),x=m.angleTo(v);p+n<f+y;){var b=((p+=n)-f)/y,_=ye(v.x,m.x,b),w=ye(v.y,m.y,b);if(_>=0&&_<c&&w>=0&&w<c&&p-u>=0&&p+u<=h){var k=new xs(_,w,x,g);k._round(),a&&!Wl(e,k,o,a,i)||d.push(k)}}f+=y}return l||d.length||s||(d=t(e,f/2,n,a,i,o,s,!0,c)),d}(t,f?e/2*s%e:(u/2+2*i)*o*s%e,e,c,r,h,f,!1,l)}Yl.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<I.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},Yl.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state},Yl.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=i[a],n=t.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map(function(t){return n.filter(function(e){return e.id===t})[0]}));for(var o=0,s=n;o<s.length;o+=1){var l=s[o];r[l.id]=t}}},a=0,i=t;a<i.length;a+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var a=this.buckets[n];if(a instanceof Ps){if(this.hasSymbolBuckets=!0,!r)break;a.justReloaded=!0}}for(var i in this.queryPadding=0,this.buckets){var o=this.buckets[i];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(i).queryRadius(o))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new xa},Yl.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"},Yl.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state="unloaded"},Yl.prototype.getBucket=function(t){return this.buckets[t.id]},Yl.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Js(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Js(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},Yl.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},Yl.prototype.queryRenderedFeatures=function(t,e,r,n,a,i,o,s,l){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:o,params:i,queryPadding:this.queryPadding*s},t,e):{}},Yl.prototype.querySourceFeatures=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData){var r=this.latestFeatureIndex.loadVTLayers(),n=e?e.sourceLayer:"",a=r._geojsonTileLayer||r[n];if(a)for(var i=Dr(e&&e.filter),o=this.tileID.canonical,s=o.z,l=o.x,c=o.y,u={z:s,x:l,y:c},h=0;h<a.length;h++){var f=a.feature(h);if(i(new Cn(this.tileID.overscaledZ),f)){var p=new jl(f,s,l,c);p.tile=u,t.push(p)}}}},Yl.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},Yl.prototype.setMask=function(t,e){if(!o(this.mask,t)&&(this.mask=t,this.clearMask(),!o(t,{0:!0}))){var r=new Qn,n=new pa;this.segments=new Pa,this.segments.prepareSegment(0,r,n);for(var i=Object.keys(t),s=0;s<i.length;s++){var l=t[+i[s]],c=ti>>l.z,u=new a(l.x*c,l.y*c),h=new a(u.x+c,u.y+c),f=this.segments.prepareSegment(4,r,n);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(h.x,u.y,h.x,u.y),r.emplaceBack(u.x,h.y,u.x,h.y),r.emplaceBack(h.x,h.y,h.x,h.y);var p=f.vertexLength;n.emplaceBack(p,p+1,p+2),n.emplaceBack(p+1,p+2,p+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,Bl.members),this.maskedIndexBuffer=e.createIndexBuffer(n)}},Yl.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},Yl.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Yl.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=A(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),a=!1;if(this.expirationTime>n)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var i=this.expirationTime-e;i?this.expirationTime=n+Math.max(i,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}},Yl.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},Yl.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets){var a=this.buckets[n],i=a.layers[0].sourceLayer||"_geojsonTileLayer",o=r[i],s=t[i];o&&s&&0!==Object.keys(s).length&&(a.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{}),e&&e.style&&(this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(n).queryRadius(a))))}}},Yl.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},Yl.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<I.now()},Yl.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Yl.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=I.now()+t};var $l=function(t,e,r,n,i,o,s,l,c,u,h,f){var p=s.top*l-c,d=s.bottom*l+c,g=s.left*l-c,v=s.right*l+c;if(this.boxStartIndex=t.length,u){var m=d-p,y=v-g;m>0&&(m=Math.max(10*l,m),this._addLineCollisionCircles(t,e,r,r.segment,y,m,n,i,o,h))}else{if(f){var x=new a(g,p),b=new a(v,p),_=new a(g,d),w=new a(v,d),k=f*Math.PI/180;x._rotate(k),b._rotate(k),_._rotate(k),w._rotate(k),g=Math.min(x.x,b.x,_.x,w.x),v=Math.max(x.x,b.x,_.x,w.x),p=Math.min(x.y,b.y,_.y,w.y),d=Math.max(x.y,b.y,_.y,w.y)}t.emplaceBack(r.x,r.y,g,p,v,d,n,i,o,0,0)}this.boxEndIndex=t.length};$l.prototype._addLineCollisionCircles=function(t,e,r,n,a,i,o,s,l,c){var u=i/2,h=Math.floor(a/u)||1,f=1+.4*Math.log(c)/Math.LN2,p=Math.floor(h*f/2),d=-i/2,g=r,v=n+1,m=d,y=-a/2,x=y-a/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_<h+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>a&&(k+=w-a),!(k<m)){for(;m+b<k;){if(m+=b,++v+1>=e.length)return;b=e[v].dist(e[v+1])}var T=k-m,A=e[v],M=e[v+1].sub(A)._unit()._mult(T)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(M.x,M.y,-i/2,-i/2,i/2,i/2,o,s,l,i/2,S)}}};var tc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=ec),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function ec(t,e){return t<e?-1:t>e?1:0}function rc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;c<l.length;c++){var u=l[c];(!c||u.x<n)&&(n=u.x),(!c||u.y<i)&&(i=u.y),(!c||u.x>o)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,g=new tc([],nc);if(0===p)return new a(n,i);for(var v=n;v<o;v+=p)for(var m=i;m<s;m+=p)g.push(new ac(v+d,m+d,d,t));for(var y=function(t){for(var e=0,r=0,n=0,a=t[0],i=0,o=a.length,s=o-1;i<o;s=i++){var l=a[i],c=a[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new ac(r/e,n/e,0,t)}(t),x=g.length;g.length;){var b=g.pop();(b.d>y.d||!y.d)&&(y=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=e||(d=b.h/2,g.push(new ac(b.p.x-d,b.p.y-d,d,t)),g.push(new ac(b.p.x+d,b.p.y-d,d,t)),g.push(new ac(b.p.x-d,b.p.y+d,d,t)),g.push(new ac(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+y.d)),y.p}function nc(t,e){return e.max-t.max}function ac(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,a=0;a<e.length;a++)for(var i=e[a],o=0,s=i.length,l=s-1;o<s;l=o++){var c=i[o],u=i[l];c.y>t.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,fi(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}tc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},tc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},tc.prototype.peek=function(){return this.data[0]},tc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var a=t-1>>1,i=e[a];if(r(n,i)>=0)break;e[t]=i,t=a}e[t]=n},tc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,a=e[t];t<n;){var i=1+(t<<1),o=e[i],s=i+1;if(s<this.length&&r(e[s],o)<0&&(i=s,o=e[s]),r(o,a)>=0)break;e[t]=o,t=i}e[t]=a};var ic=e(function(t){t.exports=function(t,e){var r,n,a,i,o,s,l,c;for(r=3&t.length,n=t.length-r,a=e,o=3432918353,s=461845907,c=0;c<n;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,a=27492+(65535&(i=5*(65535&(a=(a^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(i>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}}),oc=e(function(t){t.exports=function(t,e){for(var r,n=t.length,a=e^n,i=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(i)|(255&t.charCodeAt(++i))<<8|(255&t.charCodeAt(++i))<<16|(255&t.charCodeAt(++i))<<24))+((1540483477*(r>>>16)&65535)<<16),a=1540483477*(65535&a)+((1540483477*(a>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++i;switch(n){case 3:a^=(255&t.charCodeAt(i+2))<<16;case 2:a^=(255&t.charCodeAt(i+1))<<8;case 1:a=1540483477*(65535&(a^=255&t.charCodeAt(i)))+((1540483477*(a>>>16)&65535)<<16)}return a=1540483477*(65535&(a^=a>>>13))+((1540483477*(a>>>16)&65535)<<16),(a^=a>>>15)>>>0}}),sc=ic,lc=ic,cc=oc;sc.murmur3=lc,sc.murmur2=cc;var uc=7;function hc(t,e){var r=0,n=0,a=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=a-uc;break;case"bottom-right":case"bottom-left":n=-a+uc;break;case"bottom":n=-e+uc;break;case"top":n=e-uc}switch(t){case"top-right":case"bottom-right":r=-a;break;case"top-left":case"bottom-left":r=a;break;case"left":r=e;break;case"right":r=-e}return[r,n]}function fc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var pc=65535;function dc(t,e,r,n,i,o,s,l,c,u,h,f,p){var d=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=e.positionedGlyphs,h=[],f=0;f<u.length;f++){var p=u[f],d=s[p.fontStack],g=d&&d[p.glyph];if(g){var v=g.rect;if(v){var m=bl+1,y=g.metrics.advance*p.scale/2,x=i?[p.x+y,p.y]:[0,0],b=i?[0,0]:[p.x+y+r[0],p.y+r[1]],_=(i||l)&&p.vertical,w=[0,0];_&&(w=b,b=[0,0]);var k=(g.metrics.left-m)*p.scale-y+b[0],T=(-g.metrics.top-m)*p.scale+b[1],A=k+v.w*p.scale,M=T+v.h*p.scale,S=new a(k,T),E=new a(A,T),L=new a(k,M),C=new a(A,M);if(_){var P=new a(-y,y-e.yOffset),O=-Math.PI/2,z=ss/2-y,I=new a(5-e.yOffset-z,0),D=new(Function.prototype.bind.apply(a,[null].concat(w)));S._rotateAround(O,P)._add(I)._add(D),E._rotateAround(O,P)._add(I)._add(D),L._rotateAround(O,P)._add(I)._add(D),C._rotateAround(O,P)._add(I)._add(D)}if(c){var R=Math.sin(c),F=Math.cos(c),B=[F,-R,R,F];S._matMult(B),E._matMult(B),L._matMult(B),C._matMult(B)}h.push({tl:S,tr:E,bl:L,br:C,tex:v,writingMode:e.writingMode,glyphOffset:x,sectionIndex:p.sectionIndex})}}}return h}(0,r,s,n,i,o,f,t.allowVerticalPlacement),g=t.textSizeData,v=null;"source"===g.kind?(v=[bs*n.layout.get("text-size").evaluate(o,{})])[0]>pc&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'):"composite"===g.kind&&((v=[bs*p.compositeTextSizes[0].evaluate(o,{}),bs*p.compositeTextSizes[1].evaluate(o,{})])[0]>pc||v[1]>pc)&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'),t.addSymbols(t.text,d,v,s,i,o,c,e,l.lineStartIndex,l.lineLength);for(var m=0,y=u;m<y.length;m+=1)h[y[m]]=t.text.placedSymbolArray.length-1;return 4*d.length}function gc(t){for(var e in t)return t[e];return null}function vc(t,e,r,n){var a=t.compareText;if(e in a){for(var i=a[e],o=i.length-1;o>=0;o--)if(n.dist(i[o])<r)return!0}else a[e]=[];return a[e].push(n),!1}t.Actor=wl,t.AlphaImage=Ci,t.CanonicalTileID=zl,t.CollisionBoxArray=xa,t.Color=Wt,t.DEMData=Fl,t.DataConstantProperty=Nn,t.DictionaryCoder=Nl,t.EXTENT=ti,t.ErrorEvent=wt,t.EvaluationParameters=Cn,t.Event=_t,t.Evented=kt,t.FeatureIndex=ql,t.FillBucket=bo,t.FillExtrusionBucket=Fo,t.ImageAtlas=Gs,t.ImagePosition=qs,t.LineBucket=Xo,t.LngLat=Al,t.LngLatBounds=Tl,t.MercatorCoordinate=Ol,t.ONE_EM=ss,t.OverscaledTileID=Dl,t.Point=a,t.Point$1=a,t.ProgramConfiguration=Ja,t.Properties=Hn,t.Protobuf=$s,t.RGBAImage=Pi,t.RequestManager=V,t.ResourceType=lt,t.SegmentVector=Pa,t.SourceFeatureState=Ul,t.StructArrayLayout1ui2=ga,t.StructArrayLayout2i4=Kn,t.StructArrayLayout2ui4=da,t.StructArrayLayout3ui6=pa,t.StructArrayLayout4i8=Qn,t.SymbolBucket=Ps,t.Texture=Js,t.Tile=Yl,t.Transitionable=zn,t.Uniform1f=Fa,t.Uniform1i=Ra,t.Uniform2f=Ba,t.Uniform3f=Na,t.Uniform4f=ja,t.UniformColor=Va,t.UniformMatrix4f=qa,t.UnwrappedTileID=Il,t.ValidationError=At,t.WritingMode=ls,t.ZoomHistory=mn,t.addDynamicAttributes=Es,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,a=new Array(t.length),i=null;t.forEach(function(t,o){e(t,function(t,e){t&&(i=t),a[o]=e,0==--n&&r(i,a)})})},t.bezier=s,t.bindAll=v,t.browser=I,t.cacheEntryPossiblyAdded=function(t){++st>at&&(t.getActor().send("enforceCacheSizeLimit",nt),st=0)},t.clamp=c,t.clearTileCache=function(t){var e=self.caches.delete(rt);t&&e.catch(t).then(function(){return t()})},t.clone=function(t){var e=new wi(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=b,t.config=D,t.create=function(){var t=new wi(16);return wi!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new wi(9);return wi!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new wi(4);return wi!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=wr,t.createLayout=Zn,t.createStyleLayer=function(t){return"custom"===t.type?new js(t):new Vs[t.type](t)},t.deepEqual=o,t.ease=l,t.emitValidationErrors=sn,t.endsWith=m,t.enforceCacheSizeLimit=function(t){self.caches&&self.caches.open(rt).then(function(e){e.keys().then(function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])})})},t.evaluateRadialOffset=hc,t.evaluateSizeForFeature=ws,t.evaluateSizeForZoom=ks,t.evented=En,t.extend=h,t.featureFilter=Dr,t.filterObject=x,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=ms,t.getAnchorJustification=fc,t.getArrayBuffer=vt,t.getImage=yt,t.getJSON=function(t,e){return gt(h(t,{type:"json"}),e)},t.getReferrer=ht,t.getVideo=function(t,e){var r,n,a=self.document.createElement("video");a.muted=!0,a.onloadstart=function(){e(null,a)};for(var i=0;i<t.length;i++){var o=self.document.createElement("source");r=t[i],n=void 0,(n=self.document.createElement("a")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(a.crossOrigin="Anonymous"),o.src=t[i],a.appendChild(o)}return{cancel:function(){}}},t.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,k=a*c-i*l,T=u*g-h*d,A=u*v-f*d,M=u*m-p*d,S=h*v-f*g,E=h*m-p*g,L=f*m-p*v,C=y*L-x*E+b*S+_*M-w*A+k*T;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(a*E-n*L-i*S)*C,t[2]=(g*k-v*w+m*_)*C,t[3]=(f*w-h*k-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-a*M+i*A)*C,t[6]=(v*b-d*k-m*x)*C,t[7]=(u*k-f*b+p*x)*C,t[8]=(o*E-s*M+c*T)*C,t[9]=(n*M-r*E-i*T)*C,t[10]=(d*w-g*b+m*y)*C,t[11]=(h*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*T)*C,t[13]=(r*S-n*A+a*T)*C,t[14]=(g*x-d*_-v*y)*C,t[15]=(u*_-h*x+f*y)*C,t):null},t.isChar=yn,t.isMapboxURL=U,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=gt,t.mapObject=y,t.mercatorXfromLng=El,t.mercatorYfromLat=Ll,t.mercatorZfromAltitude=Cl,t.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*v,t[2]=x*i+b*c+_*p+w*m,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*a+b*l+_*f+w*v,t[6]=x*i+b*c+_*p+w*m,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*a+b*l+_*f+w*v,t[10]=x*i+b*c+_*p+w*m,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*a+b*l+_*f+w*v,t[14]=x*i+b*c+_*p+w*m,t[15]=x*o+b*u+_*d+w*y,t},t.mvt=zo,t.number=ye,t.ortho=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new $s(t).readFields(ml,[])},t.pbf=$s,t.performSymbolLayout=function(t,e,r,n,i,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=ti/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if("composite"===t.textSizeData.kind){var h=t.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new Cn(f)),c["text-size"].possiblyEvaluate(new Cn(p))]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,g=d.minZoom,v=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new Cn(g)),c["icon-size"].possiblyEvaluate(new Cn(v))]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new Cn(t.zoom+1)),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new Cn(t.zoom+1)),u.textMaxSize=c["text-size"].possiblyEvaluate(new Cn(18));for(var m=l.get("text-line-height")*ss,y="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=function(){var o=k[_],s=l.get("text-font").evaluate(o,{}).join(","),c=r,h={horizontal:{},vertical:void 0},f=o.text,p=[0,0];if(f){var d=f.toString(),g=l.get("text-letter-spacing").evaluate(o,{})*ss,v=function(t){for(var e=0,r=d;e<r.length;e+=1)if(!bn(r[e].charCodeAt(0)))return!1;return!0}()?g:0,b=l.get("text-anchor").evaluate(o,{}),T=l.get("text-variable-anchor"),A=l.get("text-radial-offset").evaluate(o,{});T||(p=A?hc(b,A*ss):l.get("text-offset").evaluate(o,{}).map(function(t){return t*ss}));var M=y?"center":l.get("text-justify").evaluate(o,{}),S="point"===l.get("symbol-placement")?l.get("text-max-width").evaluate(o,{})*ss:0,E=function(){t.allowVerticalPlacement&&xn(d)&&(h.vertical=us(f,e,s,S,m,b,"left",v,p,ls.vertical,!0))};if(!y&&T){for(var L="auto"===M?T.map(function(t){return fc(t)}):[M],C=!1,P=0;P<L.length;P++){var O=L[P];if(!h.horizontal[O])if(C)h.horizontal[O]=h.horizontal[0];else{var z=us(f,e,s,S,m,"center",O,v,p,ls.horizontal,!1);z&&(h.horizontal[O]=z,C=1===z.lineCount)}}E()}else{"auto"===M&&(M=fc(b));var I=us(f,e,s,S,m,b,M,v,p,ls.horizontal,!1);I&&(h.horizontal[M]=I),E(),xn(d)&&y&&x&&(h.vertical=us(f,e,s,S,m,b,M,v,p,ls.vertical,!1))}}var D=void 0;if(o.icon){var R=n[o.icon];R&&(D=function(t,e,r){var n=ms(r),a=n.horizontalAlign,i=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*a,c=l+t.displaySize[0],u=s-t.displaySize[1]*i;return{image:t,top:u,bottom:u+t.displaySize[1],left:l,right:c}}(i[o.icon],l.get("icon-offset").evaluate(o,{}),l.get("icon-anchor").evaluate(o,{})),void 0===t.sdfIcons?t.sdfIcons=R.sdf:t.sdfIcons!==R.sdf&&w("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),R.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get("icon-rotate").constantOr(1)&&(t.iconsNeedLinear=!0))}(Object.keys(h.horizontal).length||D)&&function(t,e,r,n,i,o,s){var l=o.layoutTextSize.evaluate(e,{}),c=o.layoutIconSize.evaluate(e,{}),u=o.textMaxSize.evaluate(e,{});void 0===u&&(u=l);var h=t.layers[0].layout,f=h.get("icon-offset").evaluate(e,{}),p=gc(r.horizontal),d=l/24,g=t.tilePixelRatio*d,v=t.tilePixelRatio*u/24,m=t.tilePixelRatio*c,y=t.tilePixelRatio*h.get("symbol-spacing"),x=h.get("text-padding")*t.tilePixelRatio,b=h.get("icon-padding")*t.tilePixelRatio,_=h.get("text-max-angle")/180*Math.PI,k="map"===h.get("text-rotation-alignment")&&"point"!==h.get("symbol-placement"),T="map"===h.get("icon-rotation-alignment")&&"point"!==h.get("symbol-placement"),A=h.get("symbol-placement"),M=y/2,S=function(l,c){c.x<0||c.x>=ti||c.y<0||c.y>=ti||function(t,e,r,n,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_){var k,T,A,M=t.addToLineVertexArray(e,r),S=0,E=0,L=0,C={},P=sc(""),O=(o.layout.get("text-radial-offset").evaluate(x,{})||0)*ss;if(t.allowVerticalPlacement&&n.vertical){var z=o.layout.get("text-rotate").evaluate(x,{})+90,I=n.vertical;A=new $l(s,r,e,l,c,u,I,h,f,p,t.overscaling,z)}for(var D in n.horizontal){var R=n.horizontal[D];if(!k){P=sc(R.text);var F=o.layout.get("text-rotate").evaluate(x,{});k=new $l(s,r,e,l,c,u,R,h,f,p,t.overscaling,F)}var B=1===R.lineCount;if(E+=dc(t,e,R,o,p,x,d,M,n.vertical?ls.horizontal:ls.horizontalOnly,B?Object.keys(n.horizontal):[D],C,b,_),B)break}n.vertical&&(L+=dc(t,e,n.vertical,o,p,x,d,M,ls.vertical,["vertical"],C,b,_));var N=k?k.boxStartIndex:t.collisionBoxArray.length,j=k?k.boxEndIndex:t.collisionBoxArray.length,V=A?A.boxStartIndex:t.collisionBoxArray.length,U=A?A.boxEndIndex:t.collisionBoxArray.length;if(i){var q=function(t,e,r,n,i,o){var s,l,c,u,h=e.image,f=r.layout,p=e.top-1/h.pixelRatio,d=e.left-1/h.pixelRatio,g=e.bottom+1/h.pixelRatio,v=e.right+1/h.pixelRatio;if("none"!==f.get("icon-text-fit")&&i){var m=v-d,y=g-p,x=f.get("text-size").evaluate(o,{})/24,b=i.left*x,_=i.right*x,w=i.top*x,k=_-b,T=i.bottom*x-w,A=f.get("icon-text-fit-padding")[0],M=f.get("icon-text-fit-padding")[1],S=f.get("icon-text-fit-padding")[2],E=f.get("icon-text-fit-padding")[3],L="width"===f.get("icon-text-fit")?.5*(T-y):0,C="height"===f.get("icon-text-fit")?.5*(k-m):0,P="width"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?k:m,O="height"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?T:y;s=new a(b+C-E,w+L-A),l=new a(b+C+M+P,w+L-A),c=new a(b+C+M+P,w+L+S+O),u=new a(b+C-E,w+L+S+O)}else s=new a(d,p),l=new a(v,p),c=new a(v,g),u=new a(d,g);var z=r.layout.get("icon-rotate").evaluate(o,{})*Math.PI/180;if(z){var I=Math.sin(z),D=Math.cos(z),R=[D,-I,I,D];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:h.paddedRect,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0}]}(0,i,o,0,gc(n.horizontal),x),H=o.layout.get("icon-rotate").evaluate(x,{});T=new $l(s,r,e,l,c,u,i,g,v,!1,t.overscaling,H),S=4*q.length;var G=t.iconSizeData,Y=null;"source"===G.kind?(Y=[bs*o.layout.get("icon-size").evaluate(x,{})])[0]>pc&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'):"composite"===G.kind&&((Y=[bs*_.compositeIconSizes[0].evaluate(x,{}),bs*_.compositeIconSizes[1].evaluate(x,{})])[0]>pc||Y[1]>pc)&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'),t.addSymbols(t.icon,q,Y,y,m,x,!1,e,M.lineStartIndex,M.lineLength)}var W=T?T.boxStartIndex:t.collisionBoxArray.length,X=T?T.boxEndIndex:t.collisionBoxArray.length;t.glyphOffsetArray.length>=Ps.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),t.symbolInstances.emplaceBack(e.x,e.y,C.right>=0?C.right:-1,C.center>=0?C.center:-1,C.left>=0?C.left:-1,C.vertical||-1,P,N,j,V,U,W,X,l,E,L,S,0,h,O)}(t,c,l,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,g,x,k,s,m,b,T,f,e,i,o)};if("line"===A)for(var E=0,L=function(t,e,r,n,i){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],c=void 0,u=0;u<l.length-1;u++){var h=l[u],f=l[u+1];h.x<0&&f.x<0||(h.x<0?h=new a(0,h.y+(f.y-h.y)*((0-h.x)/(f.x-h.x)))._round():f.x<0&&(f=new a(0,h.y+(f.y-h.y)*((0-h.x)/(f.x-h.x)))._round()),h.y<0&&f.y<0||(h.y<0?h=new a(h.x+(f.x-h.x)*((0-h.y)/(f.y-h.y)),0)._round():f.y<0&&(f=new a(h.x+(f.x-h.x)*((0-h.y)/(f.y-h.y)),0)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),c&&h.equals(c[c.length-1])||(c=[h],o.push(c)),c.push(f)))))}return o}(e.geometry,0,0,ti,ti);E<L.length;E+=1)for(var C=L[E],P=0,O=Ql(C,y,_,r.vertical||p,n,24,v,t.overscaling,ti);P<O.length;P+=1){var z=O[P];p&&vc(t,p.text,M,z)||S(C,z)}else if("line-center"===A)for(var I=0,D=e.geometry;I<D.length;I+=1){var R=D[I];if(R.length>1){var F=Kl(R,_,r.vertical||p,n,24,v);F&&S(R,F)}}else if("Polygon"===e.type)for(var B=0,N=vo(e.geometry,0);B<N.length;B+=1){var j=N[B],V=rc(j,16);S(j[0],new xs(V.x,V.y,0))}else if("LineString"===e.type)for(var U=0,q=e.geometry;U<q.length;U+=1){var H=q[U];S(H,new xs(H[0].x,H[0].y,0))}else if("Point"===e.type)for(var G=0,Y=e.geometry;G<Y.length;G+=1)for(var W=0,X=Y[G];W<X.length;W+=1){var Z=X[W];S([Z],new xs(Z.x,Z.y,0))}}(t,o,h,D,c,u,p)},_=0,k=t.features;_<k.length;_+=1)b();o&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,a){var i,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=a&&a!==1/0?(i=1/(n-a),t[10]=(a+n)*i,t[14]=2*a*n*i):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var a=e[n];a in t&&(r[a]=t[a])}return r},t.plugin=Ln,t.polygonIntersectsPolygon=ii,t.postMapLoadEvent=et,t.postTurnstileEvent=$,t.potpack=Us,t.rasterBoundsAttributes=Bl,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.register=pn,t.registerForPluginAvailability=function(t){return Mn?t({pluginURL:Mn,completionCallback:Tn}):En.once("pluginAvailable",t),t},t.rotate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=a*l+o*s,t[2]=n*-s+i*l,t[3]=a*-s+o*l,t},t.rotateX=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t},t.scale=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.setCacheLimits=function(t,e){nt=t,at=e},t.setRTLTextPlugin=function(t,e){if(An)throw new Error("setRTLTextPlugin cannot be called multiple times.");An=!0,Mn=I.resolveURL(t),Tn=function(t){t?(An=!1,Mn=null,e&&e(t)):Sn=!0},En.fire(new _t("pluginAvailable",{pluginURL:Mn,completionCallback:Tn}))},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.styleSpec=Tt,t.symbolSize=Ts,t.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},t.transformMat4=ki,t.translate=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=a*g+l*v+f*m+e[13],t[14]=i*g+c*v+p*m+e[14],t[15]=o*g+u*v+d*m+e[15]),t},t.uniqueId=p,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:"layers."+r+': missing required property "id"'}),void 0===t.render&&e.push({message:"layers."+r+': missing required method "render"'}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:"layers."+r+': property "renderingMode" must be either "2d" or "3d"'}),e},t.validateLight=nn,t.validateStyle=rn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=zo,t.version="1.3.2",t.warnOnce=w,t.webpSupported=R,t.window=self,t.wrap=u}),n(0,function(t){function e(t){var r=typeof t;if("number"===r||"boolean"===r||"string"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n="[",a=0,i=t;a<i.length;a+=1)n+=e(i[a])+",";return n+"]"}for(var o=Object.keys(t).sort(),s="{",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+":"+e(t[o[l]])+",";return s+"}"}function r(r){for(var n="",a=0,i=t.refProperties;a<i.length;a+=1)n+="/"+e(r[i[a]]);return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var a=this,i=0,o=e;i<o.length;i+=1){var s=o[i];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var c=0,u=n;c<u.length;c+=1){var h=u[c];delete this.keyCache[h],delete this._layerConfigs[h],delete this._layers[h]}this.familiesBySource={};for(var f=0,p=function(t,e){for(var n={},a=0;a<t.length;a++){var i=e&&e[t[a].id]||r(t[a]);e&&(e[t[a].id]=i);var o=n[i];o||(o=n[i]=[]),o.push(t[a])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);f<p.length;f+=1){var d=p[f].map(function(t){return a._layers[t.id]}),g=d[0];if("none"!==g.visibility){var v=g.source||"",m=this.familiesBySource[v];m||(m=this.familiesBySource[v]={});var y=g.sourceLayer||"_geojsonTileLayer",x=m[y];x||(x=m[y]=[]),x.push(d)}}};var a=function(e){var r={},n=[];for(var a in e){var i=e[a],o=r[a]={};for(var s in i){var l=i[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var c={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(c),o[s]={rect:c,metrics:l.metrics}}}}var u=t.potpack(n),h=u.w,f=u.h,p=new t.AlphaImage({width:h||1,height:f||1});for(var d in e){var g=e[d];for(var v in g){var m=g[+v];if(m&&0!==m.bitmap.width&&0!==m.bitmap.height){var y=r[d][v].rect;t.AlphaImage.copy(m.bitmap,p,{x:0,y:0},{x:y.x+1,y:y.y+1},m.bitmap)}}}this.image=p,this.positions=r};t.register("GlyphAtlas",a);var i=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies};function o(e,r){for(var n=new t.EvaluationParameters(r),a=0,i=e;a<i.length;a+=1)i[a].recalculate(n)}i.prototype.parse=function(e,r,n,i){var s=this;this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID);c.bucketLayerIDs=[];var u,h,f,p,d={},g={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{}},v=r.familiesBySource[this.source];for(var m in v){var y=e.layers[m];if(y){1===y.version&&t.warnOnce('Vector tile source "'+this.source+'" layer "'+m+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var x=l.encode(m),b=[],_=0;_<y.length;_++){var w=y.feature(_);b.push({feature:w,index:_,sourceLayerIndex:x})}for(var k=0,T=v[m];k<T.length;k+=1){var A=T[k],M=A[0];M.minzoom&&this.zoom<Math.floor(M.minzoom)||M.maxzoom&&this.zoom>=M.maxzoom||"none"!==M.visibility&&(o(A,this.zoom),(d[M.id]=M.createBucket({index:c.bucketLayerIDs.length,layers:A,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:x,sourceID:this.source})).populate(b,g),c.bucketLayerIDs.push(A.map(function(t){return t.id})))}}}var S=t.mapObject(g.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send("getGlyphs",{uid:this.uid,stacks:S},function(t,e){u||(u=t,h=e,C.call(s))}):h={};var E=Object.keys(g.iconDependencies);E.length?n.send("getImages",{icons:E},function(t,e){u||(u=t,f=e,C.call(s))}):f={};var L=Object.keys(g.patternDependencies);function C(){if(u)return i(u);if(h&&f&&p){var e=new a(h),r=new t.ImageAtlas(f,p);for(var n in d){var s=d[n];s instanceof t.SymbolBucket?(o(s.layers,this.zoom),t.performSymbolLayout(s,h,e.positions,f,r.iconPositions,this.showCollisionBoxes)):s.hasPattern&&(s instanceof t.LineBucket||s instanceof t.FillBucket||s instanceof t.FillExtrusionBucket)&&(o(s.layers,this.zoom),s.addFeatures(g,r.patternPositions))}this.status="done",i(null,{buckets:t.values(d).filter(function(t){return!t.isEmpty()}),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}L.length?n.send("getImages",{icons:L},function(t,e){u||(u=t,p=e,C.call(s))}):p={},C.call(this)};var s="undefined"!=typeof performance,l={getEntriesByName:function(t){return!!(s&&performance&&performance.getEntriesByName)&&performance.getEntriesByName(t)},mark:function(t){return!!(s&&performance&&performance.mark)&&performance.mark(t)},measure:function(t,e,r){return!!(s&&performance&&performance.measure)&&performance.measure(t,e,r)},clearMarks:function(t){return!!(s&&performance&&performance.clearMarks)&&performance.clearMarks(t)},clearMeasures:function(t){return!!(s&&performance&&performance.clearMeasures)&&performance.clearMeasures(t)}},c=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},l.mark(this._marks.start)};function u(e,r){var n=t.getArrayBuffer(e.request,function(e,n,a,i){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:a,expires:i})});return function(){n.cancel(),r()}}c.prototype.finish=function(){l.mark(this._marks.end);var t=l.getEntriesByName(this._marks.measure);return 0===t.length&&(l.measure(this._marks.measure,this._marks.start,this._marks.end),t=l.getEntriesByName(this._marks.measure),l.clearMarks(this._marks.start),l.clearMarks(this._marks.end),l.clearMeasures(this._marks.measure)),t},l.Performance=c;var h=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||u,this.loading={},this.loaded={}};h.prototype.loadTile=function(e,r){var n=this,a=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new l.Performance(e.request),s=this.loading[a]=new i(e);s.abort=this.loadVectorData(e,function(e,i){if(delete n.loading[a],e||!i)return s.status="done",n.loaded[a]=s,r(e);var l=i.rawData,c={};i.expires&&(c.expires=i.expires),i.cacheControl&&(c.cacheControl=i.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=i.vectorTile,s.parse(i.vectorTile,n.layerIndex,n.actor,function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))}),n.loaded=n.loaded||{},n.loaded[a]=s})},h.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,a=this;if(r&&r[n]){var i=r[n];i.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=i.reloadCallback;n&&(delete i.reloadCallback,i.parse(i.vectorTile,a.layerIndex,a.actor,n)),e(t,r)};"parsing"===i.status?i.reloadCallback=o:"done"===i.status&&(i.vectorTile?i.parse(i.vectorTile,this.layerIndex,this.actor,o):o())}},h.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},h.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var f=function(){this.loaded={}};f.prototype.loadTile=function(e,r){var n=e.uid,a=e.encoding,i=e.rawImageData,o=new t.DEMData(n,i,a);this.loaded=this.loaded||{},this.loaded[n]=o,r(null,o)},f.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function d(t){var e=0;if(t&&t.length>0){e+=Math.abs(g(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(g(t[r]))}return e}function g(t){var e,r,n,a,i,o,s=0,l=t.length;if(l>2){for(o=0;o<l;o++)o===l-2?(n=l-2,a=l-1,i=0):o===l-1?(n=l-1,a=0,i=1):(n=o,a=o+1,i=o+2),e=t[n],r=t[a],s+=(v(t[i][0])-v(e[0]))*Math.sin(v(r[1]));s=s*p.RADIUS*p.RADIUS/2}return s}function v(t){return t*Math.PI/180}var m={geometry:function t(e){var r,n=0;switch(e.type){case"Polygon":return d(e.coordinates);case"MultiPolygon":for(r=0;r<e.coordinates.length;r++)n+=d(e.coordinates[r]);return n;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(r=0;r<e.geometries.length;r++)n+=t(e.geometries[r]);return n}},ring:g};function y(t,e){return function(r){return t(r,e)}}function x(t,e){e=!!e,t[0]=b(t[0],e);for(var r=1;r<t.length;r++)t[r]=b(t[r],!e);return t}function b(t,e){return function(t){return m.ring(t)>=0}(t)===e?t:t.reverse()}var _=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,w=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};w.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var a=n[r];e.push([new t.Point$1(a[0],a[1])])}return e}for(var i=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var h=u[c];l.push(new t.Point$1(h[0],h[1]))}i.push(l)}return i},w.prototype.toGeoJSON=function(t,e,r){return _.call(this,t,e,r)};var k=function(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e};k.prototype.feature=function(t){return new w(this._features[t])};var T=t.vectorTile.VectorTileFeature,A=M;function M(t,e){this.options=e||{},this.features=t,this.length=t.length}function S(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}M.prototype.feature=function(t){return new S(this.features[t],this.options.extent)},S.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],a=[],i=0;i<n.length;i++)a.push(new t.Point$1(n[i][0],n[i][1]));this.geometry.push(a)}return this.geometry},S.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,a=-1/0,i=0;i<t.length;i++)for(var o=t[i],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.y)}return[e,n,r,a]},S.prototype.toGeoJSON=T.prototype.toGeoJSON;var E=P,L=P,C=A;function P(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,O,t.layers[r])}(e,r),r.finish()}function O(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,z,n);var a=n.keys;for(r=0;r<a.length;r++)e.writeStringField(3,a[r]);var i=n.values;for(r=0;r<i.length;r++)e.writeMessage(4,B,i[r])}function z(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,I,t),e.writeVarintField(3,r.type),e.writeMessage(4,F,r)}function I(t,e){var r=t.feature,n=t.keys,a=t.values,i=t.keycache,o=t.valuecache;for(var s in r.properties){var l=i[s];void 0===l&&(n.push(s),l=n.length-1,i[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var h=u+":"+c,f=o[h];void 0===f&&(a.push(c),f=a.length-1,o[h]=f),e.writeVarint(f)}}function D(t,e){return(e<<3)+(7&t)}function R(t){return t<<1^t>>31}function F(t,e){for(var r=t.loadGeometry(),n=t.type,a=0,i=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(D(1,c));for(var u=3===n?l.length-1:l.length,h=0;h<u;h++){1===h&&1!==n&&e.writeVarint(D(2,u-1));var f=l[h].x-a,p=l[h].y-i;e.writeVarint(R(f)),e.writeVarint(R(p)),a+=f,i+=p}3===n&&e.writeVarint(D(7,1))}}function B(t,e){var r=typeof t;"string"===r?e.writeStringField(1,t):"boolean"===r?e.writeBooleanField(7,t):"number"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function N(t,e,r,n){j(t,r,n),j(e,2*r,2*n),j(e,2*r+1,2*n+1)}function j(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function V(t,e,r,n){var a=t-r,i=e-n;return a*a+i*i}E.fromVectorTileJs=L,E.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new A(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return P({layers:r})},E.GeoJSONWrapper=C;var U=function(t){return t[0]},q=function(t){return t[1]},H=function(t,e,r,n,a){void 0===e&&(e=U),void 0===r&&(r=q),void 0===n&&(n=64),void 0===a&&(a=Float64Array),this.nodeSize=n,this.points=t;for(var i=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new i(t.length),s=this.coords=new a(2*t.length),l=0;l<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);!function t(e,r,n,a,i,o){if(!(i-a<=n)){var s=a+i>>1;!function t(e,r,n,a,i,o){for(;i>a;){if(i-a>600){var s=i-a+1,l=n-a+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(a,Math.floor(n-l*u/s+h)),Math.min(i,Math.floor(n+(s-l)*u/s+h)),o)}var f=r[2*n+o],p=a,d=i;for(N(e,r,a,n),r[2*i+o]>f&&N(e,r,a,i);p<d;){for(N(e,r,p,d),p++,d--;r[2*p+o]<f;)p++;for(;r[2*d+o]>f;)d--}r[2*a+o]===f?N(e,r,a,d):N(e,r,++d,i),d<=n&&(a=d+1),n<=d&&(i=d-1)}}(e,r,s,a,i,o%2),t(e,r,n,a,s-1,o+1),t(e,r,n,s+1,i,o+1)}}(o,s,n,0,o.length-1,0)};H.prototype.range=function(t,e,r,n){return function(t,e,r,n,a,i,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var h=c.pop(),f=c.pop(),p=c.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(v)),(0===h?a>=s:i>=l)&&(c.push(g+1),c.push(f),c.push(v))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},H.prototype.within=function(t,e,r){return function(t,e,r,n,a,i){for(var o=[0,t.length-1,0],s=[],l=a*a;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=i)for(var f=h;f<=u;f++)V(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],g=e[2*p+1];V(d,g,r,n)<=l&&s.push(t[p]);var v=(c+1)%2;(0===c?r-a<=d:n-a<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===c?r+a>=d:n+a>=g)&&(o.push(p+1),o.push(u),o.push(v))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var G={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,map:function(t){return t}},Y=function(t){this.options=$(Object.create(G),t),this.trees=new Array(this.options.maxZoom+1)};function W(t,e,r,n,a){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:a}}function X(t,e){var r=t.geometry.coordinates,n=r[0],a=r[1];return{x:K(n),y:Q(a),zoom:1/0,index:e,parentId:-1}}function Z(t){return{type:"Feature",id:t.id,properties:J(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function J(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return $($({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function K(t){return t/360+.5}function Q(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function $(t,e){for(var r in e)t[r]=e[r];return t}function tt(t){return t.x}function et(t){return t.y}function rt(t,e,r,n,a,i){var o=a-r,s=i-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=a,n=i):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function nt(t,e,r,n){var a={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)at(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n<e.length;n++)at(t,e[n]);else if("MultiPolygon"===r)for(n=0;n<e.length;n++)for(var a=0;a<e[n].length;a++)at(t,e[n][a])}(a),a}function at(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function it(t,e,r,n){if(e.geometry){var a=e.geometry.coordinates,i=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),"Point"===i)ot(a,s);else if("MultiPoint"===i)for(var c=0;c<a.length;c++)ot(a[c],s);else if("LineString"===i)st(a,s,o,!1);else if("MultiLineString"===i){if(r.lineMetrics){for(c=0;c<a.length;c++)s=[],st(a[c],s,o,!1),t.push(nt(l,"LineString",s,e.properties));return}lt(a,s,o,!1)}else if("Polygon"===i)lt(a,s,o,!0);else{if("MultiPolygon"!==i){if("GeometryCollection"===i){for(c=0;c<e.geometry.geometries.length;c++)it(t,{id:l,geometry:e.geometry.geometries[c],properties:e.properties},r,n);return}throw new Error("Input data is not a valid GeoJSON object.")}for(c=0;c<a.length;c++){var u=[];lt(a[c],u,o,!0),s.push(u)}}t.push(nt(l,i,s,e.properties))}}function ot(t,e){e.push(ct(t[0])),e.push(ut(t[1])),e.push(0)}function st(t,e,r,n){for(var a,i,o=0,s=0;s<t.length;s++){var l=ct(t[s][0]),c=ut(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(a*c-l*i)/2:Math.sqrt(Math.pow(l-a,2)+Math.pow(c-i,2))),a=l,i=c}var u=e.length-3;e[2]=1,function t(e,r,n,a){for(var i,o=a,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],h=e[n],f=e[n+1],p=r+3;p<n;p+=3){var d=rt(e[p],e[p+1],c,u,h,f);if(d>o)i=p,o=d;else if(d===o){var g=Math.abs(p-s);g<l&&(i=p,l=g)}}o>a&&(i-r>3&&t(e,r,i,a),e[i+2]=o,n-i>3&&t(e,i,n,a))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function lt(t,e,r,n){for(var a=0;a<t.length;a++){var i=[];st(t[a],i,r,n),e.push(i)}}function ct(t){return t/360+.5}function ut(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function ht(t,e,r,n,a,i,o,s){if(n/=e,i>=(r/=e)&&o<n)return t;if(o<r||i>=n)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.type,p=0===a?u.minX:u.minY,d=0===a?u.maxX:u.maxY;if(p>=r&&d<n)l.push(u);else if(!(d<r||p>=n)){var g=[];if("Point"===f||"MultiPoint"===f)ft(h,g,r,n,a);else if("LineString"===f)pt(h,g,r,n,a,!1,s.lineMetrics);else if("MultiLineString"===f)gt(h,g,r,n,a,!1);else if("Polygon"===f)gt(h,g,r,n,a,!0);else if("MultiPolygon"===f)for(var v=0;v<h.length;v++){var m=[];gt(h[v],m,r,n,a,!0),m.length&&g.push(m)}if(g.length){if(s.lineMetrics&&"LineString"===f){for(v=0;v<g.length;v++)l.push(nt(u.id,f,g[v],u.tags));continue}"LineString"!==f&&"MultiLineString"!==f||(1===g.length?(f="LineString",g=g[0]):f="MultiLineString"),"Point"!==f&&"MultiPoint"!==f||(f=3===g.length?"Point":"MultiPoint"),l.push(nt(u.id,f,g,u.tags))}}}return l.length?l:null}function ft(t,e,r,n,a){for(var i=0;i<t.length;i+=3){var o=t[i+a];o>=r&&o<=n&&(e.push(t[i]),e.push(t[i+1]),e.push(t[i+2]))}}function pt(t,e,r,n,a,i,o){for(var s,l,c=dt(t),u=0===a?mt:yt,h=t.start,f=0;f<t.length-3;f+=3){var p=t[f],d=t[f+1],g=t[f+2],v=t[f+3],m=t[f+4],y=0===a?p:d,x=0===a?v:m,b=!1;o&&(s=Math.sqrt(Math.pow(p-v,2)+Math.pow(d-m,2))),y<r?x>r&&(l=u(c,p,d,v,m,r),o&&(c.start=h+s*l)):y>n?x<n&&(l=u(c,p,d,v,m,n),o&&(c.start=h+s*l)):vt(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,v,m,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,v,m,n),b=!0),!i&&b&&(o&&(c.end=h+s*l),e.push(c),c=dt(t)),o&&(h+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===a?p:d)>=r&&y<=n&&vt(c,p,d,g),_=c.length-3,i&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&vt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function gt(t,e,r,n,a,i){for(var o=0;o<t.length;o++)pt(t[o],e,r,n,a,i,!1)}function vt(t,e,r,n){t.push(e),t.push(r),t.push(n)}function mt(t,e,r,n,a,i){var o=(i-e)/(n-e);return t.push(i),t.push(r+(a-r)*o),t.push(1),o}function yt(t,e,r,n,a,i){var o=(i-r)/(a-r);return t.push(e+(n-e)*o),t.push(i),t.push(1),o}function xt(t,e){for(var r=[],n=0;n<t.length;n++){var a,i=t[n],o=i.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)a=bt(i.geometry,e);else if("MultiLineString"===o||"Polygon"===o){a=[];for(var s=0;s<i.geometry.length;s++)a.push(bt(i.geometry[s],e))}else if("MultiPolygon"===o)for(a=[],s=0;s<i.geometry.length;s++){for(var l=[],c=0;c<i.geometry[s].length;c++)l.push(bt(i.geometry[s][c],e));a.push(l)}r.push(nt(i.id,o,a,i.tags))}return r}function bt(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function _t(t,e){if(t.transformed)return t;var r,n,a,i=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(wt(c[n],c[n+1],e,i,o,s));else for(n=0;n<c.length;n++){var h=[];for(a=0;a<c[n].length;a+=2)h.push(wt(c[n][a],c[n][a+1],e,i,o,s));l.geometry.push(h)}}return t.transformed=!0,t}function wt(t,e,r,n,a,i){return[Math.round(r*(t*n-a)),Math.round(r*(e*n-i))]}function kt(t,e,r,n,a){for(var i=e===a.maxZoom?0:a.tolerance/((1<<e)*a.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,Tt(o,t[s],i,a);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,h=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function Tt(t,e,r,n){var a=e.geometry,i=e.type,o=[];if("Point"===i||"MultiPoint"===i)for(var s=0;s<a.length;s+=3)o.push(a[s]),o.push(a[s+1]),t.numPoints++,t.numSimplified++;else if("LineString"===i)At(o,a,t,r,!1,!1);else if("MultiLineString"===i||"Polygon"===i)for(s=0;s<a.length;s++)At(o,a[s],t,r,"Polygon"===i,0===s);else if("MultiPolygon"===i)for(var l=0;l<a.length;l++){var c=a[l];for(s=0;s<c.length;s++)At(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if("LineString"===i&&n.lineMetrics){for(var h in u={},e.tags)u[h]=e.tags[h];u.mapbox_clip_start=a.start/a.size,u.mapbox_clip_end=a.end/a.size}var f={geometry:o,type:"Polygon"===i||"MultiPolygon"===i?3:"LineString"===i||"MultiLineString"===i?2:1,tags:u};null!==e.id&&(f.id=e.id),t.features.push(f)}}function At(t,e,r,n,a,i){var o=n*n;if(n>0&&e.size<(a?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,a=t.length,i=a-2;n<a;i=n,n+=2)r+=(t[n]-t[i])*(t[n+1]+t[i+1]);if(r>0===e)for(n=0,a=t.length;n<a/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[a-2-n],t[n+1]=t[a-1-n],t[a-2-n]=o,t[a-1-n]=s}}(s,i),t.push(s)}}function Mt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time("preprocess data"),e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n<t.features.length;n++)it(r,t.features[n],e,n);else"Feature"===t.type?it(r,t,e):it(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",e.indexMaxZoom,e.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,a=ht(t,1,-1-r,r,0,-1,2,e),i=ht(t,1,1-r,2+r,0,-1,2,e);return(a||i)&&(n=ht(t,1,-r,1+r,0,-1,2,e)||[],a&&(n=xt(a,1).concat(n)),i&&(n=n.concat(xt(i,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}function St(t,e,r){return 32*((1<<t)*r+e)+t}function Et(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var a=new k(n.features),i=E(a);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),e(null,{vectorTile:a,rawData:i.buffer})}Y.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,a=e.maxZoom,i=e.nodeSize;r&&console.time("total time");var o="prepare "+t.length+" points";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(X(t[l],l));this.trees[a+1]=new H(s,tt,et,i,Float32Array),r&&console.timeEnd(o);for(var c=a;c>=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new H(s,tt,et,i,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},Y.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),a=180===t[2]?180:((t[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,a=180;else if(r>a){var o=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,a,i],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(K(r),Q(i),K(a),Q(n));u<h.length;u+=1){var f=h[u],p=l.points[f];c.push(p.numPoints?Z(p):this.points[p.index])}return c},Y.prototype.getChildren=function(t){var e=t>>5,r=t%32,n="No cluster with the specified id.",a=this.trees[r];if(!a)throw new Error(n);var i=a.points[e];if(!i)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=a.within(i.x,i.y,o);l<c.length;l+=1){var u=c[l],h=a.points[u];h.parentId===t&&s.push(h.numPoints?Z(h):this.points[h.index])}if(0===s.length)throw new Error(n);return s},Y.prototype.getLeaves=function(t,e,r){e=e||10,r=r||0;var n=[];return this._appendLeaves(n,t,e,r,0),n},Y.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],a=Math.pow(2,t),i=this.options,o=i.extent,s=i.radius/o,l=(r-s)/a,c=(r+1+s)/a,u={features:[]};return this._addTileFeatures(n.range((e-s)/a,l,(e+1+s)/a,c),n.points,e,r,a,u),0===e&&this._addTileFeatures(n.range(1-s/a,l,1,c),n.points,a,r,a,u),e===a-1&&this._addTileFeatures(n.range(0,l,s/a,c),n.points,-1,r,a,u),u.features.length?u:null},Y.prototype.getClusterExpansionZoom=function(t){for(var e=t%32-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},Y.prototype._appendLeaves=function(t,e,r,n,a){for(var i=0,o=this.getChildren(e);i<o.length;i+=1){var s=o[i],l=s.properties;if(l&&l.cluster?a+l.point_count<=n?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r,n,a):a<n?a++:t.push(s),t.length===r)break}return a},Y.prototype._addTileFeatures=function(t,e,r,n,a,i){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],c={type:1,geometry:[[Math.round(this.options.extent*(l.x*a-r)),Math.round(this.options.extent*(l.y*a-n))]],tags:l.numPoints?J(l):this.points[l.index].properties},u=l.numPoints?l.id:this.points[l.index].id;void 0!==u&&(c.id=u),i.features.push(c)}},Y.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},Y.prototype._cluster=function(t,e){for(var r=[],n=this.options,a=n.radius,i=n.extent,o=n.reduce,s=a/(i*Math.pow(2,e)),l=0;l<t.length;l++){var c=t[l];if(!(c.zoom<=e)){c.zoom=e;for(var u=this.trees[e+1],h=u.within(c.x,c.y,s),f=c.numPoints||1,p=c.x*f,d=c.y*f,g=o&&f>1?this._map(c,!0):null,v=(l<<5)+(e+1),m=0,y=h;m<y.length;m+=1){var x=y[m],b=u.points[x];if(!(b.zoom<=e)){b.zoom=e;var _=b.numPoints||1;p+=b.x*_,d+=b.y*_,f+=_,b.parentId=v,o&&(g||(g=this._map(c,!0)),o(g,this._map(b)))}}1===f?r.push(c):(c.parentId=v,r.push(W(p/f,d/f,v,f,g)))}}return r},Y.prototype._map=function(t,e){if(t.numPoints)return e?$({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?$({},n):n},Mt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Mt.prototype.splitTile=function(t,e,r,n,a,i,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,h=St(e,r,n),f=this.tiles[h];if(!f&&(c>1&&console.time("creation"),f=this.tiles[h]=kt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,a){if(e===l.maxZoom||e===a)continue;var d=1<<a-e;if(r!==Math.floor(i/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue;if(f.source=null,0!==t.length){c>1&&console.time("clipping");var g,v,m,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,T=1+_;g=v=m=y=null,x=ht(t,u,r-_,r+k,0,f.minX,f.maxX,l),b=ht(t,u,r+w,r+T,0,f.minX,f.maxX,l),t=null,x&&(g=ht(x,u,n-_,n+k,1,f.minY,f.maxY,l),v=ht(x,u,n+w,n+T,1,f.minY,f.maxY,l),x=null),b&&(m=ht(b,u,n-_,n+k,1,f.minY,f.maxY,l),y=ht(b,u,n+w,n+T,1,f.minY,f.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(m||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},Mt.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,i=n.debug;if(t<0||t>24)return null;var o=1<<t,s=St(t,e=(e%o+o)%o,r);if(this.tiles[s])return _t(this.tiles[s],a);i>1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[St(c,u,h)];return l&&l.source?(i>1&&console.log("found parent tile z%d-%d-%d",c,u,h),i>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,r),i>1&&console.timeEnd("drilling down"),this.tiles[s]?_t(this.tiles[s],a):null):null};var Lt=function(e){function r(t,r,n){e.call(this,t,r,Et),n&&(this.loadGeoJSON=n)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var a=!!(n&&n.request&&n.request.collectResourceTiming)&&new l.Performance(n.request);this.loadGeoJSON(n,function(i,o){if(i||!o)return r(i);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));!function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(y(t,r)),e;case"GeometryCollection":return e.geometries=e.geometries.map(y(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=x(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(y(x,e))),t}(e,r);default:return e}}(o,!0);try{e._geoJSONIndex=n.cluster?new Y(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var a={},i={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c<u.length;c+=1){var h=u[c],f=n[h],p=f[0],d=f[1],g=t.createExpression(d),v=t.createExpression("string"==typeof p?[p,["accumulated"],["get",h]]:p);a[h]=g.value,i[h]=v.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var i=n[r];e[i]=a[i].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var a=n[r];o.accumulated=t[a],t[a]=i[a].evaluate(o,s)}},r}(n)).load(o.features):new Mt(o,n.geojsonVtOptions)}catch(i){return r(i)}e.loaded={};var s={};if(a){var l=a.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)})}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,a=t.uid;return n&&n[a]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))},r.prototype.getClusterChildren=function(t,e){e(null,this._geoJSONIndex.getChildren(t.clusterId))},r.prototype.getClusterLeaves=function(t,e){e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))},r}(h),Ct=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:h,geojson:Lt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name "'+t+'" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isLoaded())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return Ct.prototype.setReferrer=function(t,e){this.referrer=e},Ct.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},Ct.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},Ct.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},Ct.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},Ct.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},Ct.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},Ct.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},Ct.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},Ct.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},Ct.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},Ct.prototype.loadRTLTextPlugin=function(e,r,n){try{t.plugin.isLoaded()||(this.self.importScripts(r),n(t.plugin.isLoaded()?null:new Error("RTL Text Plugin failed to import scripts from "+r)))}catch(t){n(t.toString())}},Ct.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},Ct.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var a={send:function(e,r,a){n.actor.send(e,r,a,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](a,this.getLayerIndex(t))}return this.workerSources[t][e][r]},Ct.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new f),this.demWorkerSources[t][e]},Ct.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},"undefined"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new Ct(t.window)),Ct}),n(0,function(t){var e=t.createCommonjsModule(function(t){function e(t){return!!("undefined"!=typeof window&&"undefined"!=typeof document&&Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray&&Function.prototype&&Function.prototype.bind&&Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions&&"JSON"in window&&"parse"in JSON&&"stringify"in JSON&&function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,r=new Blob([""],{type:"text/javascript"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&"Uint8ClampedArray"in window&&ArrayBuffer.isView&&function(t){return void 0===r[t]&&(r[t]=function(t){var r=document.createElement("canvas"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext("webgl",n)||r.probablySupportsContext("experimental-webgl",n):r.supportsContext?r.supportsContext("webgl",n)||r.supportsContext("experimental-webgl",n):r.getContext("webgl",n)||r.getContext("experimental-webgl",n)}(t)),r[t]}(t&&t.failIfMajorPerformanceCaveat))}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e);var r={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),r={create:function(e,r,n){var a=t.window.document.createElement(e);return void 0!==r&&(a.className=r),n&&n.appendChild(a),a},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function a(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var i,o=a(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);r.disableDrag=function(){n&&o&&(i=n[o],n[o]="none")},r.enableDrag=function(){n&&o&&(n[o]=i)};var s=a(["transform","WebkitTransform"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var c=Object.defineProperty({},"passive",{get:function(){l=!0}});t.window.addEventListener("test",c,c),t.window.removeEventListener("test",c,c)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener("click",u,!0)};function h(t){var e=t.userImage;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}r.suppressClick=function(){t.window.addEventListener("click",u,!0),t.window.setTimeout(function(){t.window.removeEventListener("click",u,!0)},0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect(),a=t.window.TouchEvent&&r instanceof t.window.TouchEvent?r.touches[0]:r;return new t.Point(a.clientX-n.left-e.clientLeft,a.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),a=[],i="touchend"===r.type?r.changedTouches:r.touches,o=0;o<i.length;o++)a.push(new t.Point(i[o].clientX-n.left-e.clientLeft,i[o].clientY-n.top-e.clientTop));return a},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],a=n.ids,i=n.callback;this._notify(a,i)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this.images[t]=e},r.prototype.updateImage=function(t,e){var r=this.images[t];e.version=r.version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,a=t;n<a.length;n+=1){var i=a[n];this.images[i]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a];this.images[o]||this.fire(new t.Event("styleimagemissing",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image "'+o+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var a={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.ImagePosition(a,n);this.patterns[e]={bin:a,position:i}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),a=n.w,i=n.h,o=this.atlasImage;for(var s in o.resize({width:a||1,height:i||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,h=this.images[s].data,f=h.width,p=h.height;t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u},{width:f,height:p}),t.RGBAImage.copy(h,o,{x:0,y:p-1},{x:c,y:u-1},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u+p},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:f-1,y:0},{x:c-1,y:u},{width:1,height:p}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c+f,y:u},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var a=this.images[n];h(a)&&this.updateImage(n,a)}}},r}(t.Evented),p=v,d=v,g=1e20;function v(t,e,r,n,a,i){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=a||"sans-serif",this.fontWeight=i||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function m(t,e,r,n,a,i,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(y(n,a,i,o,r),l=0;l<r;l++)t[l*e+s]=a[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(y(n,a,i,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(a[s])}}function y(t,e,r,n,a){r[0]=0,n[0]=-g,n[1]=+g;for(var i=1,o=0;i<a;i++){for(var s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);s<=n[o];)o--,s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);r[++o]=i,n[o]=s,n[o+1]=+g}for(i=0,o=0;i<a;i++){for(;n[o+1]<i;)o++;e[i]=(i-r[o])*(i-r[o])+t[r[o]]}}v.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var a=e.data[4*n+3]/255;this.gridOuter[n]=1===a?0:0===a?g:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?g:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(m(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),m(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var i=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(i/this.radius+this.cutoff))))}return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,a=[];for(var i in e)for(var o=0,s=e[i];o<s.length;o+=1){var l=s[o];a.push({stack:i,id:l})}t.asyncAll(a,function(t,e){var r=t.stack,a=t.id,i=n.entries[r];i||(i=n.entries[r]={glyphs:{},requests:{}});var o=i.glyphs[a];if(void 0===o){if(o=n._tinySDF(i,r,a))return i.glyphs[a]=o,void e(null,{stack:r,id:a,glyph:o});var s=Math.floor(a/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else{var l=i.requests[s];l||(l=i.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,function(t,e){if(e)for(var r in e)n._doesCharSupportLocalGlyph(+r)||(i.glyphs[+r]=e[+r]);for(var a=0,o=l;a<o.length;a+=1)(0,o[a])(t,e);delete i.requests[s]})),l.push(function(t,n){t?e(t):n&&e(null,{stack:r,id:a,glyph:n[a]||null})})}}else e(null,{stack:r,id:a,glyph:o})},function(t,e){if(t)r(t);else if(e){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}})},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar["CJK Unified Ideographs"](e)||t.isChar["Hangul Syllables"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var a=this.localIdeographFontFamily;if(a&&this._doesCharSupportLocalGlyph(n)){var i=e.tinySDF;if(!i){var o="400";/bold/i.test(r)?o="900":/medium/i.test(r)?o="500":/light/i.test(r)&&(o="200"),i=e.tinySDF=new x.TinySDF(24,3,8,.25,a,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},i.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,a,i){var o=256*r,s=o+255,l=a.transformRequest(a.normalizeGlyphsURL(n).replace("{fontstack}",e).replace("{range}",o+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,function(e,r){if(e)i(e);else if(r){for(var n={},a=0,o=t.parseGlyphPBF(r);a<o.length;a+=1){var s=o[a];n[s.id]=s}i(null,n)}})},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var a=e[n];t.endsWith(n,"-transition")?this._transitionable.setTransition(n.slice(0,-"-transition".length),a):this._transitionable.setValue(n,a)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),k=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};k.prototype.getDash=function(t,e){var r=t.join(",")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},k.prototype.addDash=function(e,r){var n=r?7:0,a=2*n+1;if(this.nextRow+a>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var i=0,o=0;o<e.length;o++)i+=e[o];for(var s=this.width/i,l=s/2,c=e.length%2==1,u=-n;u<=n;u++)for(var h=this.nextRow+n+u,f=this.width*h,p=c?-e[e.length-1]:0,d=e[0],g=1,v=0;v<this.width;v++){for(;d<v/s;)p=d,d+=e[g],c&&g===e.length-1&&(d+=e[0]),g++;var m=Math.abs(v-p*s),y=Math.abs(v-d*s),x=Math.min(m,y),b=g%2==1,_=void 0;if(r){var w=n?u/n*(l+1):0;if(b){var k=l-Math.abs(w);_=Math.sqrt(x*x+k*k)}else _=l-Math.sqrt(x*x+w*w)}else _=(b?1:-1)*x;this.data[3+4*(f+v)]=Math.max(0,Math.min(255,_+128))}var T={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:i};return this.nextRow+=a,this.dirty=!0,T},k.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))};var T=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var a=this.workerPool.acquire(this.id),i=0;i<a.length;i++){var o=a[i],s=new e.Actor(o,n,this.id);s.name="Worker "+i,this.actors.push(s)}};function A(e,r,n){var a=function(a,i){if(a)return n(a);if(i){var o=t.pick(t.extend(i,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);i.vector_layers&&(o.vectorLayers=i.vector_layers,o.vectorLayerIds=o.vectorLayers.map(function(t){return t.id})),e.url&&(o.tiles=r.canonicalizeTileset(o,e.url)),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),a):t.browser.frame(function(){return a(null,e)})}T.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,function(t,n){t.send(e,r,n)},n)},T.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},T.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},T.Actor=t.Actor;var M=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};M.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},M.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),a=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),i=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<i&&e.y>=a&&e.y<o};var S=function(e){function r(r,n,a,i){if(e.call(this),this.id=r,this.dispatcher=a,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,["url","scheme","tileSize"])),this._options=t.extend({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=A(this._options,this.map._requestManager,function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,null),a={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};function i(n,a){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(a&&a.resourceTiming&&(e.resourceTiming=a.resourceTiming),this.map._refreshExpiredTiles&&a&&e.setExpiryData(a),e.loadVectorData(a,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}a.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=r:e.request=e.actor.send("reloadTile",a,i.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",a,i.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),E=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.dispatcher=a,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},n),t.extend(this,t.pick(n,["url","scheme","tileSize"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=A(this._options,this.map._requestManager,function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,a=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(a,t.ResourceType.Tile),function(a,i){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(a)e.state="errored",r(a);else if(i){n.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new t.Texture(o,i,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}})},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),L=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(n)e.state="errored",r(n);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var i=t.browser.getImageData(a),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",o,function(t,n){t&&(e.state="errored",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state="loaded",r(null))}.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),a=(r.x-1+n)%n,i=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&t.actor.send("removeDEMTile",{uid:t.uid,source:this.id})},r}(E),C=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=a.getActor(),this.setEventedParent(i),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution);var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:"source",sourceDataType:"metadata"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}}),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),a=this._data;"string"==typeof a?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(a),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(a),this.actor.send(this.type+".loadData",n,function(t,a){r._removed||a&&a.abandoned||(r._loaded=!0,a&&a.resourceTiming&&a.resourceTiming[r.id]&&(r._resourceTiming=a.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))})},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,a=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var i={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};e.request=this.actor.send(a,i,function(t,i){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(i,n.map.painter,"reloadTile"===a),r(null))})},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=function(e){function r(t,r,n,a){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),function(a,i){n._loaded=!0,a?n.fire(new t.ErrorEvent(a)):i&&(n.image=i,e&&(n.coordinates=e),r&&r(),n._finishLoading())})},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,function(){e.texture=null}),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,a=-1/0,i=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.x),i=Math.max(i,l.y)}var c=a-r,u=i-n,h=Math.max(c,u),f=Math.max(0,Math.floor(-Math.log(h)/Math.LN2)),p=Math.pow(2,f);return new t.CanonicalTileID(f,Math.floor((r+a)/2*p),Math.floor((n+i)/2*p))}(n),this.minzoom=this.maxzoom=this.tileID.z;var a=n.map(function(t){return r.tileID.getTilePoint(t)._round()});return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(a[2].x,a[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=function(e){function r(t,r,n,a){e.call(this,t,r,n,a),this.roundZoom=!0,this.type="video",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,a=r.urls;n<a.length;n+=1){var i=a[n];this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url)}t.getVideo(this.urls,function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener("playing",function(){e.map.triggerRepaint()}),e.map&&e.video.play(),e._finishLoading())})},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),z=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some(function(t){return!Array.isArray(t)||2!==t.length||t.some(function(t){return"number"!=typeof t})})||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,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 t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(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())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var a in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var i=this.tiles[a];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(P),I={vector:S,raster:E,"raster-dem":L,geojson:C,video:O,image:P,canvas:z},D=function(e,r,n,a){var i=new I[r.type](e,r,n,a);if(i.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+i.id);return t.bindAll(["load","abort","unload","serialize","prepare"],i),i};function R(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function F(t,e,r,n,a){var i=function(t,e,r){if(t)for(var n=0,a=t;n<a.length;n+=1){var i=e[a[n]];if(i&&i.source===r&&"fill-extrusion"===i.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&"fill-extrusion"===s.type)return!0}return!1}(n&&n.layers,e,t.id),o=a.maxPitchScaleFactor(),s=t.tilesIn(r,o,i);s.sort(B);for(var l=[],c=0,u=s;c<u.length;c+=1){var h=u[c];l.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,t._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,n,a,o,R(t.transform,h.tileID))})}var f=function(t){for(var e={},r={},n=0,a=t;n<a.length;n+=1){var i=a[n],o=i.queryResults,s=i.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],h=l[c]=l[c]||{},f=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g))}}return e}(l);for(var p in f)f[p].forEach(function(e){var r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n});return f}function B(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var N=function(t,e){this.max=t,this.onRemove=e,this.reset()};N.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},N.prototype.add=function(t,e,r){var n=this,a=t.wrapped().key;void 0===this.data[a]&&(this.data[a]=[]);var i={value:e,timeout:void 0};if(void 0!==r&&(i.timeout=setTimeout(function(){n.remove(t,i)},r)),this.data[a].push(i),this.order.push(a),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),a=this.data[r][n];return this.data[r].splice(n,1),a.timeout&&clearTimeout(a.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(a.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this};var j=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var V={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},U=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};U.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},U.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},U.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],a=e.attributes[n.name];void 0!==a&&t.enableVertexAttribArray(a)}},U.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var a=this.attributes[n],i=e.attributes[a.name];void 0!==i&&t.vertexAttribPointer(i,a.components,t[V[a.type]],!1,this.itemSize,a.offset+this.itemSize*(r||0))}},U.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var q=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(t){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var H=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),G=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(q),Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(q),W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),X=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(q),Z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(q),J=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(q),K=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(q),Q=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(q),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(q),et=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(q),rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(q),nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),at=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),it=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(q),ot=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(q),st=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(q),lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(q),ct=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(q),ut=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(q),ht=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),ft=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(q),pt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(q),dt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(q),gt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(q),vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(q),mt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(q),yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(q),xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),bt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),_t=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e}(q),wt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(_t),kt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(_t),Tt=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,a=this.framebuffer=n.createFramebuffer();this.colorAttachment=new wt(t,a),this.depthAttachment=new kt(t,a)};Tt.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)};var At=function(t,e,r){this.func=t,this.mask=e,this.range=r};At.ReadOnly=!1,At.ReadWrite=!0,At.disabled=new At(519,At.ReadOnly,[0,1]);var Mt=function(t,e,r,n,a,i){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=a,this.pass=i};Mt.disabled=new Mt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Et=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Et.disabled=new Et(!1,1029,2305),Et.backCCW=new Et(!0,1029,2305);var Lt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.clearColor=new H(this),this.clearDepth=new G(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new Z(this),this.stencilFunc=new J(this),this.stencilOp=new K(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new rt(this),this.blendFunc=new nt(this),this.blendColor=new at(this),this.blendEquation=new it(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ht(this),this.bindFramebuffer=new ft(this),this.bindRenderbuffer=new pt(this),this.bindTexture=new dt(this),this.bindVertexBuffer=new gt(this),this.bindElementBuffer=new vt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new mt(this),this.pixelStoreUnpack=new yt(this),this.pixelStoreUnpackPremultiplyAlpha=new xt(this),this.pixelStoreUnpackFlipY=new bt(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&t.getExtension("OES_texture_half_float_linear")};Lt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Lt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Lt.prototype.createIndexBuffer=function(t,e){return new j(this,t,e)},Lt.prototype.createVertexBuffer=function(t,e,r){return new U(this,t,e,r)},Lt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,a=n.createRenderbuffer();return this.bindRenderbuffer.set(a),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),a},Lt.prototype.createFramebuffer=function(t,e){return new Tt(this,t,e)},Lt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,a=0;e&&(a|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(a|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(a)},Lt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Lt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Lt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Lt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Lt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Ct=function(e){function r(r,n,a){var i=this;e.call(this),this.id=r,this.dispatcher=a,this.on("data",function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on("error",function(){i._sourceErrored=!0}),this._source=D(r,n,a,this),this._tiles={},this._cache=new N(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return Object.keys(this._tiles).map(Number).sort(Pt)},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var a in this._tiles)this._isIdRenderable(+a,e)&&n.push(+a);return e?n.sort(function(e,n){var a=r._tiles[e].tileID,i=r._tiles[n].tileID,o=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle),s=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle);return a.overscaledZ-i.overscaledZ||s.y-o.y||s.x-o.x}):n.sort(Pt)},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,a){if(a)return e.state="errored",void(404!==a.status?this._source.fire(new t.ErrorEvent(a,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var a=this.getTileByID(n);i(t,a),i(a,t)}}function i(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,a=Math.pow(2,t.tileID.canonical.z),i=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+a)?r+=a:1===Math.abs(r-a)&&(r-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[i]&&(t.neighboringTiles[i].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var a in this._tiles){var i=this._tiles[a];if(!(n[a]||!i.hasData()||i.tileID.overscaledZ<=e||i.tileID.overscaledZ>r)){for(var o=i.tileID;i&&i.tileID.overscaledZ>e+1;){var s=i.tileID.scaledTo(i.tileID.overscaledZ-1);(i=this._tiles[s.key])&&i.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){for(var r=t.overscaledZ-1;r>=e;r--){var n=t.scaledTo(r);if(!n)return;var a=String(n.key),i=this._tiles[a];if(i&&i.hasData())return i;if(this._cache.has(n))return this._cache.get(n)}},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var a in this._tiles){var i=this._tiles[a];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+r),n[i.tileID.key]=i}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var a;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?a=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)}):(a=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(a=a.filter(function(t){return n._source.hasTile(t)}))):a=[];var i=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),o=Math.max(i-r.maxOverzooming,this._source.minzoom),s=Math.max(i+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(a,i);if(Ot(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);h<f.length;h+=1){var p=f[h],d=l[p],g=this._tiles[p];if(g&&!(g.fadeEndTime&&g.fadeEndTime<=t.browser.now())){var v=this.findLoadedParent(d,o);v&&(this._addTile(v.tileID),c[v.tileID.key]=v.tileID),u[p]=d}}for(var m in this._retainLoadedChildren(u,i,s,l),c)l[m]||(this._coveredTiles[m]=!0,l[m]=c[m])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},a={},i=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],h=this._addTile(u);n[u.key]=u,h.hasData()||e<this._source.maxzoom&&(s[u.key]=u)}this._retainLoadedChildren(s,e,o,n);for(var f=0,p=t;f<p.length;f+=1){var d=p[f],g=this._tiles[d.key];if(!g.hasData()){if(e+1>this._source.maxzoom){var v=d.children(this._source.maxzoom)[0],m=this.getTile(v);if(m&&m.hasData()){n[v.key]=v;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=i;--b){var _=d.scaledTo(b);if(a[_.key])break;if(a[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,"expired"),delete r._timers[t]},n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var a=this,i=[],o=this.transform;if(!o)return i;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map(function(t){return o.pointCoordinate(t)}),c=s.map(function(t){return o.pointCoordinate(t)}),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,g=0,v=c;g<v.length;g+=1){var m=v[g];h=Math.min(h,m.x),f=Math.min(f,m.y),p=Math.max(p,m.x),d=Math.max(d,m.y)}for(var y=function(e){var n=a._tiles[u[e]];if(!n.holdingForFade()){var s=n.tileID,g=Math.pow(2,o.zoom-n.tileID.overscaledZ),v=r*n.queryPadding*t.EXTENT/n.tileSize/g,m=[s.getTilePoint(new t.MercatorCoordinate(h,f)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(m[0].x-v<t.EXTENT&&m[0].y-v<t.EXTENT&&m[1].x+v>=0&&m[1].y+v>=0){var y=l.map(function(t){return s.getTilePoint(t)}),x=c.map(function(t){return s.getTilePoint(t)});i.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},x=0;x<u.length;x++)y(x);return i},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map(function(t){return e._tiles[t].tileID}),n=0,a=r;n<a.length;n+=1){var i=a[n];i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Ot(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r}(t.Evented);function Pt(t,e){return t%32-e%32||e-t}function Ot(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(Qn.workerUrl)}Ct.maxOverzooming=10,Ct.maxUnderzooming=3;var It=function(){this.active={}};It.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<It.workerCount;)this.workers.push(new zt);return this.active[t]=!0,this.workers.slice()},It.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)};var Dt,Rt=Math.floor(t.browser.hardwareConcurrency/2);function Ft(e,r){var n={};for(var a in e)"ref"!==a&&(n[a]=e[a]);return t.refProperties.forEach(function(t){t in r&&(n[t]=r[t])}),n}function Bt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=Ft(t[n],e[t[n].ref]));return t}It.workerCount=Math.max(Math.min(Rt,6),1);var Nt={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function jt(t,e,r){r.push({command:Nt.addSource,args:[t,e[t]]})}function Vt(t,e,r){e.push({command:Nt.removeSource,args:[t]}),r[t]=!0}function Ut(t,e,r,n){Vt(t,r,n),jt(t,e,r)}function qt(e,r,n){var a;for(a in e[n])if(e[n].hasOwnProperty(a)&&"data"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;for(a in r[n])if(r[n].hasOwnProperty(a)&&"data"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;return!0}function Ht(e,r,n,a,i,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}))}function Gt(t){return t.id}function Yt(t,e){return t[e.id]=e,t}var Wt=function(t,e,r){var n=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var i=0;i<this.xCellCount*this.yCellCount;i++)n.push([]),a.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function Xt(e,r,n,a,i){var o=t.create();return r?(t.scale(o,o,[1/i,1/i,1]),n||t.rotateZ(o,o,a.angle)):t.multiply(o,a.labelPlaneMatrix,e),o}function Zt(e,r,n,a,i){if(r){var o=t.clone(e);return t.scale(o,o,[i,i,1]),n||t.rotateZ(o,o,-a.angle),o}return a.glCoordMatrix}function Jt(e,r){var n=[e.x,e.y,0,1];oe(n,n,r);var a=n[3];return{point:new t.Point(n[0]/a,n[1]/a),signedDistanceFromCamera:a}}function Kt(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function Qt(e,r,n,a,i,o,s,l){var c=a?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,v=!1,m=0;m<d.length;m++){var y=d.get(m);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!v)ie(y.numGlyphs,f);else{v=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.transformMat4(x,x,r),Kt(x,h)){var b=.5+x[3]/n.transform.cameraToCenterDistance*.5,_=t.evaluateSizeForFeature(c,u,y),w=s?_*b:_/b,k=new t.Point(y.anchorX,y.anchorY),T=Jt(k,i).point,A={},M=ee(y,w,!1,l,r,i,o,e.glyphOffsetArray,p,f,T,k,A,g);v=M.useVertical,(M.notEnoughRoom||v||M.needsFlipping&&ee(y,w,!0,l,r,i,o,e.glyphOffsetArray,p,f,T,k,A,g).notEnoughRoom)&&ie(y.numGlyphs,f)}else ie(y.numGlyphs,f)}}a?e.text.dynamicLayoutVertexBuffer.updateData(f):e.icon.dynamicLayoutVertexBuffer.updateData(f)}function $t(t,e,r,n,a,i,o,s,l,c,u,h){var f=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,g=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(f-1),m=ne(t*g,r,n,a,i,o,s.segment,p,d,l,c,u,h);if(!m)return null;var y=ne(t*v,r,n,a,i,o,s.segment,p,d,l,c,u,h);return y?{first:m,last:y}:null}function te(e,r,n,a){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ee(e,r,n,a,i,o,s,l,c,u,h,f,p,d){var g,v=r/24,m=e.lineOffsetX*v,y=e.lineOffsetY*v;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=$t(v,l,m,y,n,h,f,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=Jt(w.first.point,s).point,T=Jt(w.last.point,s).point;if(a&&!n){var A=te(e.writingMode,k,T,d);if(A)return A}g=[w.first];for(var M=e.glyphStartIndex+1;M<x-1;M++)g.push(ne(v*l.getoffsetX(M),m,y,n,h,f,e.segment,b,_,c,o,p,!1));g.push(w.last)}else{if(a&&!n){var S=Jt(f,i).point,E=e.lineStartIndex+e.segment+1,L=new t.Point(c.getx(E),c.gety(E)),C=Jt(L,i),P=C.signedDistanceFromCamera>0?C.point:re(f,L,S,1,i),O=te(e.writingMode,S,P,d);if(O)return O}var z=ne(v*l.getoffsetX(e.glyphStartIndex),m,y,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!z)return{notEnoughRoom:!0};g=[z]}for(var I=0,D=g;I<D.length;I+=1){var R=D[I];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function re(t,e,r,n,a){var i=Jt(t.add(t.sub(e)._unit()),a).point,o=r.sub(i);return r.add(o._mult(n/o.mag()))}function ne(e,r,n,a,i,o,s,l,c,u,h,f,p){var d=a?e-r:e+r,g=d>0?1:-1,v=0;a&&(g*=-1,v=Math.PI),g<0&&(v+=Math.PI);for(var m=g>0?l+s:l+s+1,y=m,x=i,b=i,_=0,w=0,k=Math.abs(d);_+w<=k;){if((m+=g)<l||m>=c)return null;if(b=x,void 0===(x=f[m])){var T=new t.Point(u.getx(m),u.gety(m)),A=Jt(T,h);if(A.signedDistanceFromCamera>0)x=f[m]=A.point;else{var M=m-g;x=re(0===_?o:new t.Point(u.getx(M),u.gety(M)),T,b,k-_+1,h)}}_+=w,w=b.dist(x)}var S=(k-_)/w,E=x.sub(b),L=E.mult(S)._add(b);return L._add(E._unit()._perp()._mult(n*g)),{point:L,angle:v+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:m-g===y?0:u.gettileUnitDistanceFromAnchor(m-g),lastSegmentViewportDistance:k-_}:null}}Wt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Wt.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},Wt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Wt.prototype._insertBoxCell=function(t,e,r,n,a,i){this.boxCells[a].push(i)},Wt.prototype._insertCircleCell=function(t,e,r,n,a,i){this.circleCells[a].push(i)},Wt.prototype._query=function(t,e,r,n,a,i){if(r<0||t>this.width||n<0||e>this.height)return!a&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(a)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],h=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:c-h,y1:u-h,x2:c+h,y2:u+h})}return i?o.filter(i):o}var f={hitTest:a,seenUids:{box:{},circle:{}}};return this._forEachCell(t,e,r,n,this._queryCell,o,f,i),a?o.length>0:o},Wt.prototype._queryCircle=function(t,e,r,n,a){var i=t-r,o=t+r,s=e-r,l=e+r;if(o<0||i>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,s,o,l,this._queryCellCircle,c,u,a),n?c.length>0:c},Wt.prototype.query=function(t,e,r,n,a){return this._query(t,e,r,n,!1,a)},Wt.prototype.hitTest=function(t,e,r,n,a){return this._query(t,e,r,n,!0,a)},Wt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Wt.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=o.seenUids,c=this.boxCells[a];if(null!==c)for(var u=this.bboxes,h=0,f=c;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=u[d+2]&&e<=u[d+3]&&r>=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return i.push(!0),!0;i.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[a];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(v[b],v[b+1],v[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return i.push(!0),!0;var _=v[b],w=v[b+1],k=v[b+2];i.push({key:this.circleKeys[x],x1:_-k,y1:w-k,x2:_+k,y2:w+k})}}}},Wt.prototype._queryCellCircle=function(t,e,r,n,a,i,o,s){var l=o.circle,c=o.seenUids,u=this.boxCells[a];if(null!==u)for(var h=this.bboxes,f=0,p=u;f<p.length;f+=1){var d=p[f];if(!c.box[d]){c.box[d]=!0;var g=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,h[g+0],h[g+1],h[g+2],h[g+3])&&(!s||s(this.boxKeys[d])))return i.push(!0),!0}}var v=this.circleCells[a];if(null!==v)for(var m=this.circles,y=0,x=v;y<x.length;y+=1){var b=x[y];if(!c.circle[b]){c.circle[b]=!0;var _=3*b;if(this._circlesCollide(m[_],m[_+1],m[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return i.push(!0),!0}}},Wt.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.xCellCount*p+f;if(a.call(this,t,e,r,n,d,i,o,s))return}},Wt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Wt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Wt.prototype._circlesCollide=function(t,e,r,n,a,i){var o=n-t,s=a-e,l=r+i;return l*l>o*o+s*s},Wt.prototype._circleAndRectCollide=function(t,e,r,n,a,i,o){var s=(i-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-a)/2,u=Math.abs(e-(a+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var ae=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ie(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(ae,3*n)}}function oe(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t[3]=r[3]*n+r[7]*a+r[15],t}var se=function(t,e,r){void 0===e&&(e=new Wt(t.width+200,t.height+200,25)),void 0===r&&(r=new Wt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function le(t,e,r){t[e+4]=r?1:0}function ce(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}se.prototype.placeCollisionBox=function(t,e,r,n,a){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*i.perspectiveRatio,s=t.x1*o+i.point.x,l=t.y1*o+i.point.y,c=t.x2*o+i.point.x,u=t.y2*o+i.point.y;return!this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,a)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},se.prototype.approximateTileDistance=function(t,e,r,n,a){var i=a?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(i-1)*o*Math.abs(Math.sin(e))},se.prototype.placeCollisionCircles=function(e,r,n,a,i,o,s,l,c,u,h,f,p){var d=[],g=this.projectAnchor(c,i.anchorX,i.anchorY),v=l/24,m=i.lineOffsetX*l,y=i.lineOffsetY*l,x=new t.Point(i.anchorX,i.anchorY),b=$t(v,s,m,y,!1,Jt(x,u).point,x,i,o,u,{},!0),_=!1,w=!1,k=!0,T=g.perspectiveRatio*a,A=1/(a*n),M=0,S=0;b&&(M=this.approximateTileDistance(b.first.tileDistance,b.first.angle,A,g.cameraDistance,f),S=this.approximateTileDistance(b.last.tileDistance,b.last.angle,A,g.cameraDistance,f));for(var E=0;E<e.length;E+=5){var L=e[E],C=e[E+1],P=e[E+2],O=e[E+3];if(!b||O<-M||O>S)le(e,E,!1);else{var z=this.projectPoint(c,L,C),I=P*T;if(d.length>0){var D=z.x-d[d.length-4],R=z.y-d[d.length-3];if(I*I*2>D*D+R*R&&E+8<e.length){var F=e[E+8];if(F>-M&&F<S){le(e,E,!1);continue}}}var B=E/5;d.push(z.x,z.y,I,B),le(e,E,!0);var N=z.x-I,j=z.y-I,V=z.x+I,U=z.y+I;if(k=k&&this.isOffscreen(N,j,V,U),w=w||this.isInsideGrid(N,j,V,U),!r&&this.grid.hitTestCircle(z.x,z.y,I,p)){if(!h)return{circles:[],offscreen:!1};_=!0}}}return{circles:_||!w?[]:d,offscreen:k}},se.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,a=1/0,i=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);n=Math.min(n,u.x),a=Math.min(a,u.y),i=Math.max(i,u.x),o=Math.max(o,u.y),r.push(u)}for(var h={},f={},p=0,d=this.grid.query(n,a,i,o).concat(this.ignoredGrid.query(n,a,i,o));p<d.length;p+=1){var g=d[p],v=g.key;if(void 0===h[v.bucketInstanceId]&&(h[v.bucketInstanceId]={}),!h[v.bucketInstanceId][v.featureIndex]){var m=[new t.Point(g.x1,g.y1),new t.Point(g.x2,g.y1),new t.Point(g.x2,g.y2),new t.Point(g.x1,g.y2)];t.polygonIntersectsPolygon(r,m)&&(h[v.bucketInstanceId][v.featureIndex]=!0,void 0===f[v.bucketInstanceId]&&(f[v.bucketInstanceId]=[]),f[v.bucketInstanceId].push(v.featureIndex))}}return f},se.prototype.insertCollisionBox=function(t,e,r,n,a){var i={bucketInstanceId:r,featureIndex:n,collisionGroupID:a};(e?this.ignoredGrid:this.grid).insert(i,t[0],t[1],t[2],t[3])},se.prototype.insertCollisionCircles=function(t,e,r,n,a){for(var i=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:a},s=0;s<t.length;s+=4)i.insertCircle(o,t[s],t[s+1],t[s+2])},se.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return oe(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},se.prototype.projectPoint=function(e,r,n){var a=[r,n,0,1];return oe(a,a,e),new t.Point((a[0]/a[3]+1)/2*this.transform.width+100,(-a[1]/a[3]+1)/2*this.transform.height+100)},se.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var a=[r,n,0,1];return oe(a,a,e),{point:new t.Point((a[0]/a[3]+1)/2*this.transform.width+100,(-a[1]/a[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/a[3]*.5}},se.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},se.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary};var ue=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};ue.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var he=function(t,e,r,n,a){this.text=new ue(t?t.text:null,e,r,a),this.icon=new ue(t?t.icon:null,e,n,a)};he.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var fe=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},pe=function(t,e,r,n,a){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=a},de=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function ge(e,r,n,a,i){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,c=t.evaluateRadialOffset(e,a);return new t.Point(s+c[0]*i,l+c[1]*i)}de.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var ve=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new se(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new de(r),this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function me(t,e,r,n,a){t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0)}ve.prototype.placeLayerTile=function(e,r,n,a){var i=r.getBucket(e),o=r.latestFeatureIndex;if(i&&o&&e.id===i.layerIds[0]){var s=r.collisionBoxArray,l=i.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/t.EXTENT,h=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),f=Xt(h,"map"===l.get("text-pitch-alignment"),"map"===l.get("text-rotation-alignment"),this.transform,ce(r,1,this.transform.zoom)),p=Xt(h,"map"===l.get("icon-pitch-alignment"),"map"===l.get("icon-rotation-alignment"),this.transform,ce(r,1,this.transform.zoom));this.retainedQueryData[i.bucketInstanceId]=new pe(i.bucketInstanceId,o,i.sourceLayerIndex,i.index,r.tileID),this.placeLayerBucket(i,h,f,p,c,u,n,r.holdingForFade(),a,s)}},ve.prototype.attemptAnchorPlacement=function(e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v,m=ge(e,n,a,i,o),y=this.collisionIndex.placeCollisionBox(function(e,r,n,a,i,o){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,h=e.anchorPointX,f=e.anchorPointY,p=new t.Point(r,n);return a&&p._rotate(i?o:-o),{x1:s+p.x,y1:c+p.y,x2:l+p.x,y2:u+p.y,anchorPointX:h,anchorPointY:f}}(r,m.x,m.y,s,l,this.transform.angle),f,c,u,h.predicate);if(y.box.length>0)return this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(v=this.prevPlacement.variableOffsets[p.crossTileID].anchor),this.variableOffsets[p.crossTileID]={radialOffset:i,width:n,height:a,anchor:e,textBoxScale:o,prevAnchor:v},this.markUsedJustification(d,e,p,g),d.allowVerticalPlacement&&(this.markUsedOrientation(d,g,p),this.placedOrientations[p.crossTileID]=g),y},ve.prototype.placeLayerBucket=function(e,r,n,a,i,o,s,l,c,u){var h=this,f=e.layers[0].layout,p=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom),d=f.get("text-optional"),g=f.get("icon-optional"),v=f.get("text-allow-overlap"),m=f.get("icon-allow-overlap"),y=v&&(m||!e.hasIconData()||g),x=m&&(v||!e.hasTextData()||d),b=this.collisionGroups.get(e.sourceID),_="map"===f.get("text-rotation-alignment"),w="map"===f.get("text-pitch-alignment"),k="viewport-y"===f.get("symbol-z-order");!e.collisionArrays&&u&&e.deserializeCollisionBoxes(u);var T=function(a,u){if(!c[a.crossTileID])if(l)h.placements[a.crossTileID]=new fe(!1,!1,!1);else{var m,k=!1,T=!1,A=!0,M={box:null,offscreen:null},S={box:null,offscreen:null},E=null,L=null,C=0,P=0,O=0;u.textFeatureIndex&&(C=u.textFeatureIndex),u.verticalTextFeatureIndex&&(P=u.verticalTextFeatureIndex);var z=u.textBox;if(z){var I=function(r){var n=t.WritingMode.horizontal;if(e.allowVerticalPlacement&&!r&&h.prevPlacement){var i=h.prevPlacement.placedOrientations[a.crossTileID];i&&(h.placedOrientations[a.crossTileID]=i,n=i,h.markUsedOrientation(e,n,a))}return n},D=function(r,n){if(e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&u.verticalTextBox)for(var i=0,o=e.writingModes;i<o.length&&(o[i]===t.WritingMode.vertical?(M=n(),S=M):M=r(),!(M&&M.box&&M.box.length));i+=1);else M=r()};if(f.get("text-variable-anchor")){var R=f.get("text-variable-anchor");if(h.prevPlacement&&h.prevPlacement.variableOffsets[a.crossTileID]){var F=h.prevPlacement.variableOffsets[a.crossTileID];R.indexOf(F.anchor)>0&&(R=R.filter(function(t){return t!==F.anchor})).unshift(F.anchor)}var B=function(t,n){for(var i=t.x2-t.x1,s=t.y2-t.y1,l=a.textBoxScale,c={box:[],offscreen:!1},u=v?2*R.length:R.length,f=0;f<u;++f){var p=R[f%R.length],d=f>=R.length;if((c=h.attemptAnchorPlacement(p,t,i,s,a.radialTextOffset,l,_,w,o,r,b,d,a,e,n))&&c.box&&c.box.length){k=!0;break}}return c};D(function(){return B(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox,n=M&&M.box&&M.box.length;return e.allowVerticalPlacement&&!n&&a.numVerticalGlyphVertices>0&&r?B(r,t.WritingMode.vertical):{box:null,offscreen:null}}),M&&(k=M.box,A=M.offscreen);var N=I(M&&M.box);if(!k&&h.prevPlacement){var j=h.prevPlacement.variableOffsets[a.crossTileID];j&&(h.variableOffsets[a.crossTileID]=j,h.markUsedJustification(e,j.anchor,a,N))}}else{var V=function(t,n){var i=h.collisionIndex.placeCollisionBox(t,f.get("text-allow-overlap"),o,r,b.predicate);return i&&i.box&&i.box.length&&(h.markUsedOrientation(e,n,a),h.placedOrientations[a.crossTileID]=n),i};D(function(){return V(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox;return e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&r?V(r,t.WritingMode.vertical):{box:null,offscreen:null}}),I(M&&M.box&&M.box.length)}}k=(m=M)&&m.box&&m.box.length>0,A=m&&m.offscreen;var U=u.textCircles;if(U){var q=e.text.placedSymbolArray.get(a.centerJustifiedTextSymbolIndex),H=t.evaluateSizeForFeature(e.textSizeData,p,q);E=h.collisionIndex.placeCollisionCircles(U,f.get("text-allow-overlap"),i,o,q,e.lineVertexArray,e.glyphOffsetArray,H,r,n,s,w,b.predicate),k=f.get("text-allow-overlap")||E.circles.length>0,A=A&&E.offscreen}u.iconFeatureIndex&&(O=u.iconFeatureIndex),u.iconBox&&(T=(L=h.collisionIndex.placeCollisionBox(u.iconBox,f.get("icon-allow-overlap"),o,r,b.predicate)).box.length>0,A=A&&L.offscreen);var G=d||0===a.numHorizontalGlyphVertices&&0===a.numVerticalGlyphVertices,Y=g||0===a.numIconVertices;G||Y?Y?G||(T=T&&k):k=T&&k:T=k=T&&k,k&&m&&m.box&&(S&&S.box&&P?h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,P,b.ID):h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID)),T&&L&&h.collisionIndex.insertCollisionBox(L.box,f.get("icon-ignore-placement"),e.bucketInstanceId,O,b.ID),k&&E&&h.collisionIndex.insertCollisionCircles(E.circles,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID),h.placements[a.crossTileID]=new fe(k||y,T||x,A||e.justReloaded),c[a.crossTileID]=!0}};if(k)for(var A=e.getSortedSymbolIndexes(this.transform.angle),M=A.length-1;M>=0;--M){var S=A[M];T(e.symbolInstances.get(S),e.collisionArrays[S])}else for(var E=0;E<e.symbolInstances.length;++E)T(e.symbolInstances.get(E),e.collisionArrays[E]);e.justReloaded=!1},ve.prototype.markUsedJustification=function(e,r,n,a){var i,o={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex};i=a===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:o[t.getAnchorJustification(r)];for(var s=0,l=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];s<l.length;s+=1){var c=l[s];c>=0&&(e.text.placedSymbolArray.get(c).crossTileID=i>=0&&c!==i?0:n.crossTileID)}},ve.prototype.markUsedOrientation=function(e,r,n){for(var a=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,i=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1){var l=s[o];e.text.placedSymbolArray.get(l).placedOrientation=a}n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=i)},ve.prototype.commit=function(t){this.commitTime=t;var e=this.prevPlacement,r=!1,n=e&&0!==this.fadeDuration?(this.commitTime-e.commitTime)/this.fadeDuration:1,a=e?e.opacities:{},i=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=a[s];c?(this.opacities[s]=new he(c,n,l.text,l.icon),r=r||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new he(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var u in a){var h=a[u];if(!this.opacities[u]){var f=new he(h,n,!1,!1);f.isHidden()||(this.opacities[u]=f,r=r||h.text.placed||h.icon.placed)}}for(var p in i)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=i[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},ve.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,a=e;n<a.length;n+=1){var i=a[n],o=i.getBucket(t);o&&i.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,i.collisionBoxArray)}},ve.prototype.updateBucketOpacities=function(e,r,n){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasCollisionBoxData()&&e.collisionBox.collisionVertexArray.clear(),e.hasCollisionCircleData()&&e.collisionCircle.collisionVertexArray.clear();var a=e.layers[0].layout,i=new he(null,0,!1,!1,!0),o=a.get("text-allow-overlap"),s=a.get("icon-allow-overlap"),l=a.get("text-variable-anchor"),c="map"===a.get("text-rotation-alignment"),u="map"===a.get("text-pitch-alignment"),h=new he(null,0,o&&(s||!e.hasIconData()||a.get("icon-optional")),s&&(o||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasCollisionBoxData()||e.hasCollisionCircleData())&&e.deserializeCollisionBoxes(n);for(var f=0;f<e.symbolInstances.length;f++){var p=e.symbolInstances.get(f),d=p.numHorizontalGlyphVertices,g=p.numVerticalGlyphVertices,v=p.crossTileID,m=r[v],y=this.opacities[v];m?y=i:y||(y=h,this.opacities[v]=y),r[v]=!0;var x=d>0||g>0,b=p.numIconVertices>0;if(x){for(var _=Ae(y.text),w=(d+g)/4,k=0;k<w;k++)e.text.opacityVertexArray.emplaceBack(_);var T=y.text.isHidden()?1:0,A=this.placedOrientations[p.crossTileID],M=A===t.WritingMode.horizontal||A===t.WritingMode.horizontalOnly?1:0,S=A===t.WritingMode.vertical?1:0;[p.rightJustifiedTextSymbolIndex,p.centerJustifiedTextSymbolIndex,p.leftJustifiedTextSymbolIndex].forEach(function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=T||S)}),p.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(p.verticalPlacedTextSymbolIndex).hidden=T||M);var E=this.variableOffsets[p.crossTileID];E&&this.markUsedJustification(e,E.anchor,p,A);var L=this.placedOrientations[p.crossTileID];L&&(this.markUsedJustification(e,"left",p,L),this.markUsedOrientation(e,L,p))}if(b){for(var C=Ae(y.icon),P=0;P<p.numIconVertices/4;P++)e.icon.opacityVertexArray.emplaceBack(C);e.icon.placedSymbolArray.get(f).hidden=y.icon.isHidden()}if(e.hasCollisionBoxData()||e.hasCollisionCircleData()){var O=e.collisionArrays[f];if(O){if(O.textBox){var z=new t.Point(0,0),I=!0;if(l){var D=this.variableOffsets[v];D?(z=ge(D.anchor,D.width,D.height,D.radialOffset,D.textBoxScale),c&&z._rotate(u?this.transform.angle:-this.transform.angle)):I=!1}me(e.collisionBox.collisionVertexArray,y.text.placed,!I,z.x,z.y)}O.iconBox&&me(e.collisionBox.collisionVertexArray,y.icon.placed,!1);var R=O.textCircles;if(R&&e.hasCollisionCircleData())for(var F=0;F<R.length;F+=5){var B=m||0===R[F+4];me(e.collisionCircle.collisionVertexArray,y.text.placed,B)}}}}e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasCollisionBoxData()&&e.collisionBox.collisionVertexBuffer&&e.collisionBox.collisionVertexBuffer.updateData(e.collisionBox.collisionVertexArray),e.hasCollisionCircleData()&&e.collisionCircle.collisionVertexBuffer&&e.collisionCircle.collisionVertexBuffer.updateData(e.collisionCircle.collisionVertexArray)},ve.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},ve.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},ve.prototype.stillRecent=function(t){return this.commitTime+this.fadeDuration>t},ve.prototype.setStale=function(){this.stale=!0};var ye=Math.pow(2,25),xe=Math.pow(2,24),be=Math.pow(2,17),_e=Math.pow(2,16),we=Math.pow(2,9),ke=Math.pow(2,8),Te=Math.pow(2,1);function Ae(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*ye+e*xe+r*be+e*_e+r*we+e*ke+r*Te+e}var Me=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Me.prototype.continuePlacement=function(t,e,r,n,a){for(;this._currentTileIndex<t.length;){var i=t[this._currentTileIndex];if(e.placeLayerTile(n,i,r,this._seenCrossTileIDs),this._currentTileIndex++,a())return!0}};var Se=function(t,e,r,n,a,i,o){this.placement=new ve(t,a,i,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Se.prototype.isDone=function(){return this._done},Se.prototype.continuePlacement=function(e,r,n){for(var a=this,i=t.browser.now(),o=function(){var e=t.browser.now()-i;return!a._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Me),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Se.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Ee=512/t.EXTENT/2,Le=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var a=e.get(n),i=a.key;this.indexedSymbolInstances[i]||(this.indexedSymbolInstances[i]=[]),this.indexedSymbolInstances[i].push({crossTileID:a.crossTileID,coord:this.getScaledCoordinates(a,t)})}};Le.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,a=Ee/Math.pow(2,n);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*a),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*a)}},Le.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),a=0;a<t.length;a++){var i=t.get(a);if(!i.crossTileID){var o=this.indexedSymbolInstances[i.key];if(o)for(var s=this.getScaledCoordinates(i,e),l=0,c=o;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=n&&Math.abs(u.coord.y-s.y)<=n&&!r[u.crossTileID]){r[u.crossTileID]=!0,i.crossTileID=u.crossTileID;break}}}}};var Ce=function(){this.maxCrossTileID=0};Ce.prototype.generate=function(){return++this.maxCrossTileID};var Pe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Pe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],a={};for(var i in n){var o=n[i];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),a[o.tileID.key]=o}this.indexes[r]=a}this.lng=t},Pe.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0;n<e.symbolInstances.length;n++)e.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var a=this.usedCrossTileIDs[t.overscaledZ];for(var i in this.indexes){var o=this.indexes[i];if(Number(i)>t.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,a)}else{var c=o[t.scaledTo(Number(i)).key];c&&c.findMatches(e.symbolInstances,t,a)}}for(var u=0;u<e.symbolInstances.length;u++){var h=e.symbolInstances.get(u);h.crossTileID||(h.crossTileID=r.generate(),a[h.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new Le(t,e.symbolInstances,e.bucketInstanceId),!0},Pe.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,a=e.indexedSymbolInstances[r];n<a.length;n+=1){var i=a[n];delete this.usedCrossTileIDs[t][i.crossTileID]}},Pe.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var a in n)t[n[a].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[a]),delete n[a],e=!0)}return e};var Oe=function(){this.layerIndexes={},this.crossTileIDs=new Ce,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Oe.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Pe);var a=!1,i={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(a=!0),i[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(i)&&(a=!0),a},Oe.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var ze=function(e,r){return t.emitValidationErrors(e,r&&r.filter(function(t){return"source.canvas"!==t.identifier}))},Ie=t.pick(Nt,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),De=t.pick(Nt,["setCenter","setZoom","setBearing","setPitch"]),Re=function(e){function r(n,a){var i=this;void 0===a&&(a={}),e.call(this),this.map=n,this.dispatcher=new T((Dt||(Dt=new It),Dt),this),this.imageManager=new f,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,a.localIdeographFontFamily),this.lineAtlas=new k(256,512),this.crossTileSymbolIndex=new Oe,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginAvailability(function(t){for(var e in o.dispatcher.broadcast("loadRTLTextPlugin",t.pluginURL,t.completionCallback),o.sourceCaches)o.sourceCaches[e].reload()}),this.on("data",function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=i.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in i._layers){var a=i._layers[n];a.source===r.id&&i._validateLayer(a)}}}})}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var a="boolean"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var i=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(i,function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,a)})},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.browser.frame(function(){n._request=null,n._load(e,!1!==r.validate)})},r.prototype._load=function(e,r){var n=this;if(!r||!ze(this,t.validateStyle(e))){for(var a in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(a,e.sources[a],{validate:!1});e.sprite?this._spriteRequest=function(e,r,n){var a,i,o,s=t.browser.devicePixelRatio>1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),function(t,e){l=null,o||(o=t,a=e,u())}),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),function(t,e){c=null,o||(o=t,i=e,u())});function u(){if(o)n(o);else if(a&&i){var e=t.browser.getImageData(i),r={};for(var s in a){var l=a[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,g=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,g,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:g,pixelRatio:d,sdf:p}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e.sprite,this.map._requestManager,function(e,r){if(n._spriteRequest=null,e)n.fire(new t.ErrorEvent(e));else if(r)for(var a in r)n.imageManager.addImage(a,r[a]);n.imageManager.setLoaded(!0),n.fire(new t.Event("data",{dataType:"style"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=Bt(this.stylesheet.layers);this._order=i.map(function(t){return t.id}),this._layers={};for(var o=0,s=i;o<s.length;o+=1){var l=s[o];(l=t.createStyleLayer(l)).setEventedParent(this,{layer:{id:l.id}}),this._layers[l.id]=l}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var a=r.getSource();("geojson"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+a.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var a=n[r],i=this._layers[a];"custom"!==i.type&&e.push(i.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);for(var i in(n.length||a.length)&&this._updateWorkerLayers(n,a),this._updatedSources){var o=this._updatedSources[i];"reload"===o?this._reloadSource(i):"clear"===o&&this._clearSource(i)}for(var s in this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var c=0,u=this._order;c<u.length;c+=1){var h=u[c],f=this._layers[h];f.recalculate(e),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event("data",{dataType:"style"}))}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),ze(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=Bt(e.layers);var n=function(e,r){if(!e)return[{command:Nt.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Nt.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Nt.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Nt.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Nt.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Nt.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Nt.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Nt.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Nt.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Nt.setLight,args:[r.light]});var a={},i=[];!function(e,r,n,a){var i;for(i in r=r||{},e=e||{})e.hasOwnProperty(i)&&(r.hasOwnProperty(i)||Vt(i,n,a));for(i in r)r.hasOwnProperty(i)&&(e.hasOwnProperty(i)?t.deepEqual(e[i],r[i])||("geojson"===e[i].type&&"geojson"===r[i].type&&qt(e,r,i)?n.push({command:Nt.setGeoJSONSourceData,args:[i,r[i].data]}):Ut(i,r,n,a)):jt(i,r,n))}(e.sources,r.sources,i,a);var o=[];e.layers&&e.layers.forEach(function(t){a[t.source]?n.push({command:Nt.removeLayer,args:[t.id]}):o.push(t)}),n=n.concat(i),function(e,r,n){r=r||[];var a,i,o,s,l,c,u,h=(e=e||[]).map(Gt),f=r.map(Gt),p=e.reduce(Yt,{}),d=r.reduce(Yt,{}),g=h.slice(),v=Object.create(null);for(a=0,i=0;a<h.length;a++)o=h[a],d.hasOwnProperty(o)?i++:(n.push({command:Nt.removeLayer,args:[o]}),g.splice(g.indexOf(o,i),1));for(a=0,i=0;a<f.length;a++)o=f[f.length-1-a],g[g.length-1-a]!==o&&(p.hasOwnProperty(o)?(n.push({command:Nt.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-i),1)):i++,c=g[g.length-a],n.push({command:Nt.addLayer,args:[d[o],c]}),g.splice(g.length-a,0,o),v[o]=!0);for(a=0;a<f.length;a++)if(s=p[o=f[a]],l=d[o],!v[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s["source-layer"],l["source-layer"])&&t.deepEqual(s.type,l.type)){for(u in Ht(s.layout,l.layout,n,o,null,Nt.setLayoutProperty),Ht(s.paint,l.paint,n,o,null,Nt.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Nt.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Nt.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Ht(s[u],l[u],n,o,u.slice(6),Nt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Nt.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Ht(s[u],l[u],n,o,u.slice(6),Nt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Nt.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:Nt.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:Nt.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn("Unable to compute style diff:",t),n=[{command:Nt.setStyle,args:[r]}]}return n}(this.serialize(),e).filter(function(t){return!(t.command in De)});if(0===n.length)return!1;var a=n.filter(function(t){return!(t.command in Ie)});if(a.length>0)throw new Error("Unimplemented: "+a.map(function(t){return t.command}).join(", ")+".");return n.forEach(function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)}),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var a=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var i=this.sourceCaches[e]=new Ct(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}}),i.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=e.id;if(this.getLayer(a))this.fire(new t.ErrorEvent(new Error('Layer with id "'+a+'" already exists on this map')));else{var i;if("custom"===e.type){if(ze(this,t.validateCustomStyleLayer(e)))return;i=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,"layers."+a,e,{arrayIndex:-1},n))return;i=t.createStyleLayer(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var a=r?this._order.indexOf(r):this._order.length;r&&-1===a?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(a,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===r&&a.maxzoom===n||(null!=r&&(a.minzoom=r),null!=n&&(a.maxzoom=n),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=this.getLayer(e);if(a){if(!t.deepEqual(a.filter,r))return null==r?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,"layers."+a.id+".filter",r,null,n)||(a.filter=t.clone$1(r),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n,a),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getPaintProperty(r),n)||(i.setPaintProperty(r,n,a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=e.sourceLayer,i=this.sourceCaches[n],o=parseInt(e.id,10);if(void 0!==i){var s=i.getSource().type;"geojson"===s&&a?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==s||a?isNaN(o)||o<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative."))):i.setFeatureState(a,o,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=this.sourceCaches[n];if(void 0!==a){var i=a.getSource().type,o="vector"===i?e.sourceLayer:void 0,s=parseInt(e.id,10);"vector"!==i||o?void 0!==e.id&&isNaN(s)||s<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be non-negative."))):r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):a.removeFeatureState(o,s,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,a=this.sourceCaches[r],i=parseInt(e.id,10);if(void 0!==a)if("vector"!==a.getSource().type||n){if(!(isNaN(i)||i<0))return a.getFeatureState(n,i);this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative.")))}else this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._serializeLayers(this._order)},function(t){return void 0!==t})},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},a=[],i=this._order.length-1;i>=0;i--){var o=this._order[i];if(r(o)){n[o]=i;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][o];if(c)for(var u=0,h=c;u<h.length;u+=1){var f=h[u];a.push(f)}}}}a.sort(function(t,e){return e.intersectionZ-t.intersectionZ});for(var p=[],d=this._order.length-1;d>=0;d--){var g=this._order[d];if(r(g))for(var v=a.length-1;v>=0;v--){var m=a[v].feature;if(n[m.layer.id]<d)break;p.push(m),a.pop()}else for(var y=0,x=t;y<x.length;y+=1){var b=x[y][g];if(b)for(var _=0,w=b;_<w.length;_+=1){var k=w[_];p.push(k.feature)}}}return p},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",r.filter,null,r);var a={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var i=0,o=r.layers;i<o.length;i+=1){var s=o[i],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];a[l.source]=!0}}var c=[];for(var u in this.sourceCaches)r.layers&&!a[u]||c.push(F(this.sourceCaches[u],this._layers,e,r,n));return this.placement&&c.push(function(t,e,r,n,a,i){for(var o={},s=a.queryRenderedSymbols(r),l=[],c=0,u=Object.keys(s).map(Number);c<u.length;c+=1){var h=u[c];l.push(i[h])}l.sort(B);for(var f=function(){var e=d[p],r=e.featureIndex.lookupSymbolFeatures(s[e.bucketInstanceId],e.bucketIndex,e.sourceLayerIndex,n.filter,n.layers,t);for(var a in r){var i=o[a]=o[a]||[],l=r[a];l.sort(function(t,r){var n=e.featureSortOrder;if(n){var a=n.indexOf(t.featureIndex);return n.indexOf(r.featureIndex)-a}return r.featureIndex-t.featureIndex});for(var c=0,u=l;c<u.length;c+=1){var h=u[c];i.push(h)}}},p=0,d=l;p<d.length;p+=1)f();var g=function(r){o[r].forEach(function(n){var a=n.feature,i=t[r],o=e[i.source].getFeatureState(a.layer["source-layer"],a.id);a.source=a.layer.source,a.layer["source-layer"]&&(a.sourceLayer=a.layer["source-layer"]),a.state=o})};for(var v in o)g(v);return o}(this._layers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],a={},i=0;i<r.length;i++){var o=r[i],s=o.tileID.canonical.key;a[s]||(a[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called "'+t+'" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),a=!1;for(var i in e)if(!t.deepEqual(e[i],n[i])){a=!0;break}if(a){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,a,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&ze(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},a)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginAvailable",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[e].clearTiles();this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,a){for(var i=!1,o=!1,s={},l=0,c=this._order;l<c.length;l+=1){var u=c[l],h=this._layers[u];if("symbol"===h.type){if(!s[h.source]){var f=this.sourceCaches[h.source];s[h.source]=f.getRenderableIds(!0).map(function(t){return f.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var p=this.crossTileSymbolIndex.addLayer(h,s[h.source],e.center.lng);i=i||p}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged||0===n;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now()))&&(this.pauseablePlacement=new Se(e,this._order,d,r,n,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,s),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),o=!0),i&&this.pauseablePlacement.placement.setStale()),o||i)for(var g=0,v=this._order;g<v.length;g+=1){var m=v[g],y=this._layers[m];"symbol"===y.type&&this.placement.updateLayerOpacities(y,s[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);Re.getSourceType=function(t){return I[t]},Re.setSourceType=function(t,e){I[t]=e},Re.registerForPluginAvailability=t.registerForPluginAvailability;var Fe=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Be=cr("#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","#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;}"),Ne=cr("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);}"),je=cr("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);}"),Ve=cr("varying vec3 v_data;\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=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;\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);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,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,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);}"),Ue=cr("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);}"),qe=cr("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;}"),He=cr("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;}"),Ge=cr("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,0.0,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;}"),Ye=cr("uniform float u_overscale_factor;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;void main() {float alpha=0.5;vec4 color=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {color=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {color*=.2;}float extrude_scale_length=length(v_extrude_scale);float extrude_length=length(v_extrude)*extrude_scale_length;float stroke_width=15.0*extrude_scale_length/u_overscale_factor;float radius=v_radius*extrude_scale_length;float distance_to_edge=abs(extrude_length-radius);float opacity_t=smoothstep(-stroke_width,0.0,-distance_to_edge);gl_FragColor=opacity_t*color;}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;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,0.0,1.0);highp float padding_factor=1.2;gl_Position.xy+=a_extrude*u_extrude_scale*padding_factor*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;v_radius=abs(a_extrude.y);v_extrude=a_extrude*padding_factor;v_extrude_scale=u_extrude_scale*u_camera_to_center_distance*collision_perspective_ratio;}"),We=cr("uniform highp vec4 u_color;void main() {gl_FragColor=u_color;}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),Xe=cr("#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);}"),Ze=cr("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;}"),Je=cr("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 vec4 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\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;float pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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;}"),Ke=cr("uniform 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 vec4 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\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;float pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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);}"),Qe=cr("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;varying 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;base=max(0.0,base);height=max(0.0,height);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;}"),$e=cr("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\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\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 vec4 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;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\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\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 pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);base=max(0.0,base);height=max(0.0,height);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;}"),tr=cr("#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 float u_maxzoom;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;return (data.r+data.g*256.0+data.b*256.0*256.0)/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 exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*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;}"),er=cr("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;}"),rr=cr("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;float 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;v_width2=vec2(outset,inset);}"),nr=cr("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 float v_lineprogress;\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,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\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_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\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;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;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;float 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;v_width2=vec2(outset,inset);}"),ar=cr("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec4 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 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 pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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 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,1.0);float x_b=mod(v_linesofar/pattern_size_b.x,1.0);float y_a=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_a.y+2.0)/2.0)/pattern_size_a.y);float y_b=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_b.y+2.0)/2.0)/pattern_size_b.y);vec2 pos_a=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,vec2(x_a,y_a));vec2 pos_b=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,vec2(x_b,y_b));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;\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 vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_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;float 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;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);}"),ir=cr("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;float 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;v_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);}"),or=cr("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;}"),sr=cr("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 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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,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),0,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,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,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;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),lr=cr("#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 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;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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,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),0,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,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 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 interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=vec2(tex.x,tex.y);v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}");function cr(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,function(t,e,r,a,i){return n[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"}),vertexSource:e=e.replace(r,function(t,e,r,a,i){var o="float"===a?"vec2":"vec4",s=i.match(/color/)?"color":o;return n[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+i+" = a_"+i+";\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = a_"+i+";\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"})}}var ur=Object.freeze({prelude:Be,background:Ne,backgroundPattern:je,circle:Ve,clippingMask:Ue,heatmap:qe,heatmapTexture:He,collisionBox:Ge,collisionCircle:Ye,debug:We,fill:Xe,fillOutline:Ze,fillOutlinePattern:Je,fillPattern:Ke,fillExtrusion:Qe,fillExtrusionPattern:$e,hillshadePrepare:tr,hillshade:er,line:rr,lineGradient:nr,linePattern:ar,lineSDF:ir,raster:or,symbolIcon:sr,symbolSDF:lr}),hr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};hr.prototype.bind=function(t,e,r,n,a,i,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==a||this.boundVertexOffset!==i||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,a,i,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),a&&a.dynamicDraw&&a.bind(),s&&s.bind())},hr.prototype.freshBind=function(t,e,r,n,a,i,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=a,this.boundDynamicVertexBuffer=i,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var h=l;h<s;h++)u.disableVertexAttribArray(h)}e.enableAttributes(u,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(u,t);i&&i.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,a);for(var d=0,g=r;d<g.length;d+=1){var v=g[d];v.bind(),v.setVertexAttribPointers(u,t,a)}i&&(i.bind(),i.setVertexAttribPointers(u,t,a)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,a)),c.currentNumAttributes=l},hr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var fr=function(t,e,r,n,a){var i=t.gl;this.program=i.createProgram();var o=r.defines();a&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(Be.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(Be.vertexSource,e.vertexSource).join("\n"),c=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var h=r.layoutAttributes||[],f=0;f<h.length;f++)i.bindAttribLocation(this.program,f,h[f].name);i.linkProgram(this.program),this.numAttributes=i.getProgramParameter(this.program,i.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var g=i.getActiveAttrib(this.program,d);g&&(this.attributes[g.name]=i.getAttribLocation(this.program,g.name))}for(var v=i.getProgramParameter(this.program,i.ACTIVE_UNIFORMS),m=0;m<v;m++){var y=i.getActiveUniform(this.program,m);y&&(p[y.name]=i.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r.getUniforms(t,p)};function pr(e,r,n){var a=1/ce(n,1,r.transform.tileZoom),i=Math.pow(2,n.tileID.overscaledZ),o=n.tileSize*Math.pow(2,r.transform.tileZoom)/i,s=o*(n.tileID.canonical.x+n.tileID.wrap*i),l=o*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[t.browser.devicePixelRatio,a,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[s>>16,l>>16],u_pixel_coord_lower:[65535&s,65535&l]}}fr.prototype.draw=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v,m=t.gl;for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(a),t.setCullFace(i),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(v={},v[m.LINES]=2,v[m.TRIANGLES]=3,v[m.LINE_STRIP]=1,v)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],k=w.vaos||(w.vaos={});(k[s]||(k[s]=new hr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),m.drawElements(e,w.primitiveLength*x,m.UNSIGNED_SHORT,w.primitiveOffset*x*2)}};var dr=function(e,r,n,a){var i=r.style.light,o=i.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===i.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=i.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:i.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:a}},gr=function(e,r,n,a,i,o,s){return t.extend(dr(e,r,n,a),pr(o,r,s),{u_height_factor:-Math.pow(2,i.overscaledZ)/s.tileSize/8})},vr=function(t){return{u_matrix:t}},mr=function(e,r,n,a){return t.extend(vr(e),pr(n,r,a))},yr=function(t,e){return{u_matrix:t,u_world:e}},xr=function(e,r,n,a,i){return t.extend(mr(e,r,n,a),{u_world:i})},br=function(e,r,n,a){var i,o,s=e.transform;if("map"===a.paint.get("circle-pitch-alignment")){var l=ce(n,1,s.zoom);i=!0,o=[l,l]}else i=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===a.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,a.paint.get("circle-translate"),a.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},_r=function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},wr=function(t,e,r){var n=ce(r,1,e.zoom),a=Math.pow(2,e.zoom-r.tileID.overscaledZ),i=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*a),e.pixelsToGLUnits[1]/(n*a)],u_overscale_factor:i}},kr=function(t,e){return{u_matrix:t,u_color:e}},Tr=function(t){return{u_matrix:t}},Ar=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ce(e,1,r),u_intensity:n}},Mr=function(t,e,r){var n=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),i=r.paint.get("hillshade-accent-color"),o=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(o-=t.transform.angle);var s=!t.options.moving;return{u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),s),u_image:0,u_latrange:Er(t,e.tileID),u_light:[r.paint.get("hillshade-exaggeration"),o],u_shadow:n,u_highlight:a,u_accent:i}},Sr=function(e,r){var n=e.dem.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[n,n],u_zoom:e.tileID.overscaledZ,u_maxzoom:r}};function Er(e,r){var n=Math.pow(2,r.canonical.z),a=r.canonical.y;return[new t.MercatorCoordinate(0,a/n).toLngLat().lat,new t.MercatorCoordinate(0,(a+1)/n).toLngLat().lat]}var Lr=function(e,r,n){var a=e.transform;return{u_matrix:Ir(e,r,n),u_ratio:1/ce(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Cr=function(e,r,n){return t.extend(Lr(e,r,n),{u_image:0})},Pr=function(e,r,n,a){var i=e.transform,o=zr(r,i);return{u_matrix:Ir(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ce(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[t.browser.devicePixelRatio,o,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Or=function(e,r,n,a,i){var o=e.transform,s=e.lineAtlas,l=zr(r,o),c="round"===n.layout.get("line-cap"),u=s.getDash(a.from,c),h=s.getDash(a.to,c),f=u.width*i.fromScale,p=h.width*i.toScale;return t.extend(Lr(e,r,n),{u_patternscale_a:[l/f,-u.height/2],u_patternscale_b:[l/p,-h.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:i.t})};function zr(t,e){return 1/ce(t,1,e.tileZoom)}function Ir(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Dr=function(t,e,r,n,a){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*a.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get("raster-brightness-min"),u_brightness_high:a.paint.get("raster-brightness-max"),u_saturation_factor:(o=a.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(i=a.paint.get("raster-contrast"),i>0?1/(1-i):1+i),u_spin_weights:function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(a.paint.get("raster-hue-rotate"))};var i,o};var Rr=function(t,e,r,n,a,i,o,s,l,c){var u=a.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:i,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Fr=function(e,r,n,a,i,o,s,l,c,u,h){var f=i.transform;return t.extend(Rr(e,r,n,a,i,o,s,l,c,u),{u_gamma_scale:a?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Br=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Nr=function(e,r,n,a,i,o){return t.extend(function(t,e,r,n){var a=r.imageManager.getPattern(t.from),i=r.imageManager.getPattern(t.to),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:i.tl,u_pattern_br_b:i.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:i.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ce(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(a,o,n,i),{u_matrix:e,u_opacity:r})},jr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:_r,collisionCircle:_r,debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1f(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1f(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1f(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Vr(e,r){for(var n=e.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),a=0;a<n.length;a++){var i={},o=n[a],s=n.slice(a+1);Ur(o.tileID.wrapped(),o.tileID,s,new t.OverscaledTileID(0,o.tileID.wrap+1,0,0,0),i),o.setMask(i,r)}}function Ur(e,r,n,a,i){for(var o=0;o<n.length;o++){var s=n[o];if(a.isLessThan(s.tileID))break;if(r.key===s.tileID.key)return;if(s.tileID.isChildOf(r)){for(var l=r.children(1/0),c=0;c<l.length;c++)Ur(e,l[c],n.slice(o),a,i);return}}var u=r.overscaledZ-e.overscaledZ,h=new t.CanonicalTileID(u,r.canonical.x-(e.canonical.x<<u),r.canonical.y-(e.canonical.y<<u));i[h.key]=i[h.key]||h}function qr(t,e,r,n,a){for(var i=t.context,o=i.gl,s=a?t.useProgram("collisionCircle"):t.useProgram("collisionBox"),l=0;l<n.length;l++){var c=n[l],u=e.getTile(c),h=u.getBucket(r);if(h){var f=a?h.collisionCircle:h.collisionBox;f&&s.draw(i,a?o.TRIANGLES:o.LINES,At.disabled,Mt.disabled,t.colorModeForRenderPass(),Et.disabled,wr(c.posMatrix,t.transform,u),r.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,null,t.transform.zoom,null,null,f.collisionVertexBuffer)}}}var Hr=t.identity(new Float32Array(16));function Gr(e,r,n,a,i,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,c=-(s.verticalAlign-.5)*n,u=t.evaluateRadialOffset(e,a);return new t.Point((l/i+u[0])*o,(c/i+u[1])*o)}function Yr(e,r,n,a,i,o,s,l,c,u){var h=e.text.placedSymbolArray,f=e.text.dynamicLayoutVertexArray;f.clear();for(var p=0;p<h.length;p++){var d=h.get(p),g=e.allowVerticalPlacement&&!d.placedOrientation,v=d.hidden||!d.crossTileID||g?null:a[d.crossTileID];if(v){var m=new t.Point(d.anchorX,d.anchorY),y=Jt(m,n?l:s),x=.5+o.cameraToCenterDistance/y.signedDistanceFromCamera*.5,b=i.evaluateSizeForFeature(e.textSizeData,u,d)*x/t.ONE_EM;n&&(b*=e.tilePixelRatio/c);for(var _=v.width,w=v.height,k=v.radialOffset,T=v.textBoxScale,A=Gr(v.anchor,_,w,k,T,b),M=n?Jt(m.add(A),s).point:y.point.add(r?A.rotate(-o.angle):A),S=e.allowVerticalPlacement&&d.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,E=0;E<d.numGlyphs;E++)t.addDynamicAttributes(f,M,S)}else ie(d.numGlyphs,f)}e.text.dynamicLayoutVertexBuffer.updateData(f)}function Wr(e){var r=e.text.placedSymbolArray,n=e.text.dynamicLayoutVertexArray;n.clear();for(var a=0;a<r.length;a++){var i=r.get(a);if(i.hidden||!i.placedOrientation)ie(i.numGlyphs,n);else for(var o=new t.Point(i.anchorX,i.anchorY),s=e.allowVerticalPlacement&&i.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,l=0;l<i.numGlyphs;l++)t.addDynamicAttributes(n,o,s)}e.text.dynamicLayoutVertexBuffer.updateData(n)}function Xr(e,r,n,a,i,o,s,l,c,u,h,f,p){for(var d,g,v=e.context,m=v.gl,y=e.transform,x="map"===l,b="map"===c,_=x&&"point"!==n.layout.get("symbol-placement"),w=x&&!b&&!_,k=void 0!==n.layout.get("symbol-sort-key").constantOr(1),T=e.depthModeForSublayer(0,At.ReadOnly),A=n.layout.get("text-variable-anchor"),M=[],S=0,E=a;S<E.length;S+=1){var L=E[S],C=r.getTile(L),P=C.getBucket(n);if(P){var O=i?P.text:P.icon;if(O&&O.segments.get().length){var z=O.programConfigurations.get(n.id),I=i||P.sdfIcons,D=i?P.textSizeData:P.iconSizeData;d||(d=e.useProgram(I?"symbolSDF":"symbolIcon",z),g=t.evaluateSizeForZoom(D,y.zoom)),v.activeTexture.set(m.TEXTURE0);var R=void 0,F=void 0,B=void 0;if(i)F=C.glyphAtlasTexture,B=m.LINEAR,R=C.glyphAtlasTexture.size;else{var N=1!==n.layout.get("icon-size").constantOr(0)||P.iconsNeedLinear,j=b||0!==y.pitch;F=C.imageAtlasTexture,B=I||e.options.rotating||e.options.zooming||N||j?m.LINEAR:m.NEAREST,R=C.imageAtlasTexture.size}var V=ce(C,1,e.transform.zoom),U=Xt(L.posMatrix,b,x,e.transform,V),q=Zt(L.posMatrix,b,x,e.transform,V);if(_)Qt(P,L.posMatrix,e,i,U,q,b,u);else if(i&&g&&A){var H=Math.pow(2,y.zoom-C.tileID.overscaledZ);Yr(P,x,b,p,t.symbolSize,y,U,L.posMatrix,H,g)}else i&&g&&P.allowVerticalPlacement&&Wr(P);var G=e.translatePosMatrix(L.posMatrix,C,o,s),Y=_||i&&A?Hr:U,W=e.translatePosMatrix(q,C,o,s,!0),X=I&&0!==n.paint.get(i?"text-halo-width":"icon-halo-width").constantOr(1),Z={program:d,buffers:O,uniformValues:I?Fr(D.kind,g,w,b,e,G,Y,W,i,R,!0):Rr(D.kind,g,w,b,e,G,Y,W,i,R),atlasTexture:F,atlasInterpolation:B,isSDF:I,hasHalo:X};if(k)for(var J=0,K=O.segments.get();J<K.length;J+=1){var Q=K[J];M.push({segments:new t.SegmentVector([Q]),sortKey:Q.sortKey,state:Z})}else M.push({segments:O.segments,sortKey:0,state:Z})}}}k&&M.sort(function(t,e){return t.sortKey-e.sortKey});for(var $=0,tt=M;$<tt.length;$+=1){var et=tt[$],rt=et.state;if(rt.atlasTexture.bind(rt.atlasInterpolation,m.CLAMP_TO_EDGE),rt.isSDF){var nt=rt.uniformValues;rt.hasHalo&&(nt.u_is_halo=1,Zr(rt.buffers,et.segments,n,e,rt.program,T,h,f,nt)),nt.u_is_halo=0}Zr(rt.buffers,et.segments,n,e,rt.program,T,h,f,rt.uniformValues)}}function Zr(t,e,r,n,a,i,o,s,l){var c=n.context,u=c.gl;a.draw(c,u.TRIANGLES,i,o,s,Et.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Jr(t,e,r,n,a,i,o){var s,l,c,u,h,f=t.context.gl,p=r.paint.get("fill-pattern"),d=p&&p.constantOr(1),g=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=f.LINES):(l=d?"fillPattern":"fill",s=f.TRIANGLES);for(var v=0,m=n;v<m.length;v+=1){var y=m[v],x=e.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(f.TEXTURE0),x.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),_.updatePatternPaintBuffers(g));var k=p.constantOr(null);if(k&&x.imageAtlas){var T=x.imageAtlas.patternPositions[k.to],A=x.imageAtlas.patternPositions[k.from];T&&A&&_.setConstantPatternPositions(T,A)}var M=t.translatePosMatrix(y.posMatrix,x,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=b.indexBuffer2,h=b.segments2;var S=[f.drawingBufferWidth,f.drawingBufferHeight];c="fillOutlinePattern"===l&&d?xr(M,t,g,x,S):yr(M,S)}else u=b.indexBuffer,h=b.segments,c=d?mr(M,t,g,x):vr(M);w.draw(t.context,s,a,t.stencilModeForClipping(y),i,Et.disabled,c,r.id,b.layoutVertexBuffer,u,h,r.paint,t.transform.zoom,_)}}}}function Kr(t,e,r,n,a,i,o){for(var s=t.context,l=s.gl,c=r.paint.get("fill-extrusion-pattern"),u=c.constantOr(1),h=r.getCrossfadeParameters(),f=r.paint.get("fill-extrusion-opacity"),p=0,d=n;p<d.length;p+=1){var g=d[p],v=e.getTile(g),m=v.getBucket(r);if(m){var y=m.programConfigurations.get(r.id),x=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",y);u&&(t.context.activeTexture.set(l.TEXTURE0),v.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePatternPaintBuffers(h));var b=c.constantOr(null);if(b&&v.imageAtlas){var _=v.imageAtlas.patternPositions[b.to],w=v.imageAtlas.patternPositions[b.from];_&&w&&y.setConstantPatternPositions(_,w)}var k=t.translatePosMatrix(g.posMatrix,v,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),T=r.paint.get("fill-extrusion-vertical-gradient"),A=u?gr(k,t,T,f,g,h,v):dr(k,t,T,f);x.draw(s,s.gl.TRIANGLES,a,i,o,Et.backCCW,A,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,t.transform.zoom,y)}}}function Qr(t,e,r,n,a,i){var o=t.context,s=o.gl,l=e.fbo;if(l){var c=t.useProgram("hillshade");o.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.colorAttachment.get());var u=Mr(t,e,r);e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments?c.draw(o,s.TRIANGLES,n,a,i,Et.disabled,u,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments):c.draw(o,s.TRIANGLES,n,a,i,Et.disabled,u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}function $r(e,r,n,a,i,o,s){var l=e.context,c=l.gl;if(r.dem&&r.dem.data){var u=r.dem.dim,h=r.dem.stride,f=r.dem.getPixels();if(l.activeTexture.set(c.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){var p=r.demTexture;p.update(f,{premultiply:!1}),p.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,f,c.RGBA,{premultiply:!1}),r.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);l.activeTexture.set(c.TEXTURE0);var d=r.fbo;if(!d){var g=new t.Texture(l,{width:u,height:u,data:null},c.RGBA);g.bind(c.LINEAR,c.CLAMP_TO_EDGE),(d=r.fbo=l.createFramebuffer(u,u)).colorAttachment.set(g.texture)}l.bindFramebuffer.set(d.framebuffer),l.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(l,c.TRIANGLES,i,o,s,Et.disabled,Sr(r,a),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function tn(e,r,n,a,i){var o=a.paint.get("raster-fade-duration");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=i.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}function en(e,r,n){var a=e.context,i=a.gl,o=n.posMatrix,s=e.useProgram("debug"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass(),h="$debug";s.draw(a,i.LINE_STRIP,l,c,u,Et.disabled,kr(o,t.Color.red),h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);for(var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),g=r.getTile(n).tileSize,v=512/Math.min(g,512),m=function(t,e,r,n){n=n||1;var a,i,o,s,l,c,u,h,f=[];for(a=0,i=t.length;a<i;a++)if(l=rn[t[a]]){for(h=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?h=null:(c=e+l[1][o]*n,u=r-l[1][o+1]*n,h&&f.push(h.x,h.y,c,u),h={x:c,y:u});e+=l[0]*n}return f}(n.toString()+" "+d+"kb",50,200*v,5*v),y=new t.StructArrayLayout2i4,x=new t.StructArrayLayout2ui4,b=0;b<m.length;b+=2)y.emplaceBack(m[b],m[b+1]),x.emplaceBack(b,b+1);for(var _=a.createVertexBuffer(y,Fe.members),w=a.createIndexBuffer(x),k=t.SegmentVector.simpleSegment(0,0,y.length/2,y.length/2),T=t.EXTENT/(Math.pow(2,e.transform.zoom-n.overscaledZ)*g*v),A=[],M=-1;M<=1;M++)for(var S=-1;S<=1&&(0!==M||0!==S);S++)A.push([M,S]);for(var E=0;E<A.length;E++){var L=A[E];s.draw(a,i.LINES,l,c,u,Et.disabled,kr(t.translate([],o,[T*L[0],T*L[1],0]),t.Color.white),h,_,w,k)}s.draw(a,i.LINES,l,c,u,Et.disabled,kr(o,t.Color.black),h,_,w,k)}var rn={" ":[16,[]],"!":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'"':[16,[4,21,4,14,-1,-1,12,21,12,14]],"#":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],"%":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],"&":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],"'":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],"(":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],")":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],"*":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],"+":[26,[13,18,13,0,-1,-1,4,9,22,9]],",":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"-":[26,[4,9,22,9]],".":[10,[5,2,4,1,5,0,6,1,5,2]],"/":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],":":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],";":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"<":[24,[20,18,4,9,20,0]],"=":[26,[4,12,22,12,-1,-1,4,6,22,6]],">":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},nn={symbol:function(t,e,r,n,a){if("translucent"===t.renderPass){var i=Mt.disabled,o=t.colorModeForRenderPass();0!==r.paint.get("icon-opacity").constantOr(1)&&Xr(t,e,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),i,o,a),0!==r.paint.get("text-opacity").constantOr(1)&&Xr(t,e,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),i,o,a),e.map.showCollisionBoxes&&function(t,e,r,n){qr(t,e,r,n,!1),qr(t,e,r,n,!0)}(t,e,r,n)}},circle:function(e,r,n,a){if("translucent"===e.renderPass){var i=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0!==i.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,At.ReadOnly),f=Mt.disabled,p=e.colorModeForRenderPass(),d=[],g=0;g<a.length;g++){var v=a[g],m=r.getTile(v),y=m.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram("circle",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:br(e,v,m,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var k=w[_];d.push({segments:new t.SegmentVector([k]),sortKey:k.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort(function(t,e){return t.sortKey-e.sortKey});for(var T=0,A=d;T<A.length;T+=1){var M=A[T],S=M.state,E=S.programConfiguration,L=S.program,C=S.layoutVertexBuffer,P=S.indexBuffer,O=S.uniformValues,z=M.segments;L.draw(c,u.TRIANGLES,h,f,p,Et.disabled,O,n.id,C,P,z,n.paint,e.transform.zoom,E)}}}},heatmap:function(e,r,n,a){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var i=e.context,o=i.gl,s=e.depthModeForSublayer(0,At.ReadOnly),l=Mt.disabled,c=new St([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var a=r.heatmapFbo;if(a)n.bindTexture(n.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer);else{var i=n.createTexture();n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),a=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,a){var i=e.gl;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,r.width/4,r.height/4,0,i.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE,null),a.colorAttachment.set(n),e.extTextureHalfFloat&&i.checkFramebufferStatus(i.FRAMEBUFFER)!==i.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,a.colorAttachment.setDirty(),t(e,r,n,a))}(t,e,i,a)}}(i,e,n),i.clear({color:t.Color.transparent});for(var u=0;u<a.length;u++){var h=a[u];if(!r.hasRenderableParent(h)){var f=r.getTile(h),p=f.getBucket(n);if(p){var d=p.programConfigurations.get(n.id),g=e.useProgram("heatmap",d),v=e.transform.zoom;g.draw(i,o.TRIANGLES,s,l,c,Et.disabled,Ar(h.posMatrix,f,v,n.paint.get("heatmap-intensity")),n.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,n.paint,e.transform.zoom,d)}}}i.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,a=n.gl,i=r.heatmapFbo;if(i){n.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,i.colorAttachment.get()),n.activeTexture.set(a.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,a.RGBA)),o.bind(a.LINEAR,a.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,a.TRIANGLES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,function(e,r,n,a){var i=t.create();t.ortho(i,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:i,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:a,u_opacity:r.paint.get("heatmap-opacity")}}(e,r,0,1),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}}(e,n))},line:function(e,r,n,a){if("translucent"===e.renderPass){var i=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0!==i.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,At.ReadOnly),l=e.colorModeForRenderPass(),c=n.paint.get("line-dasharray"),u=n.paint.get("line-pattern"),h=u.constantOr(1),f=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=c?"lineSDF":h?"linePattern":f?"lineGradient":"line",g=e.context,v=g.gl,m=!0;if(f){g.activeTexture.set(v.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new t.Texture(g,n.gradient,v.RGBA)),y.bind(v.LINEAR,v.CLAMP_TO_EDGE)}for(var x=0,b=a;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!h||w.patternsLoaded()){var k=w.getBucket(n);if(k){var T=k.programConfigurations.get(n.id),A=e.context.program.get(),M=e.useProgram(d,T),S=m||M.program!==A,E=u.constantOr(null);if(E&&w.imageAtlas){var L=w.imageAtlas.patternPositions[E.to],C=w.imageAtlas.patternPositions[E.from];L&&C&&T.setConstantPatternPositions(L,C)}var P=c?Or(e,w,n,c,p):h?Pr(e,w,n,p):f?Cr(e,w,n):Lr(e,w,n);c&&(S||e.lineAtlas.dirty)?(g.activeTexture.set(v.TEXTURE0),e.lineAtlas.bind(g)):h&&(g.activeTexture.set(v.TEXTURE0),w.imageAtlasTexture.bind(v.LINEAR,v.CLAMP_TO_EDGE),T.updatePatternPaintBuffers(p)),M.draw(g,v.TRIANGLES,s,e.stencilModeForClipping(_),l,Et.disabled,P,n.id,k.layoutVertexBuffer,k.indexBuffer,k.segments,n.paint,e.transform.zoom,T),m=!1}}}}}},fill:function(e,r,n,a){var i=n.paint.get("fill-color"),o=n.paint.get("fill-opacity");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===i.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){var u=e.depthModeForSublayer(1,"opaque"===e.renderPass?At.ReadWrite:At.ReadOnly);Jr(e,r,n,a,u,s,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){var h=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,At.ReadOnly);Jr(e,r,n,a,h,s,!0)}}},"fill-extrusion":function(t,e,r,n){var a=r.paint.get("fill-extrusion-opacity");if(0!==a&&"translucent"===t.renderPass){var i=new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D);if(1!==a||r.paint.get("fill-extrusion-pattern").constantOr(1))Kr(t,e,r,n,i,Mt.disabled,St.disabled),Kr(t,e,r,n,i,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();Kr(t,e,r,n,i,Mt.disabled,o)}}},hillshade:function(t,e,r,n){if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var a=t.context,i=e.getSource().maxzoom,o=t.depthModeForSublayer(0,At.ReadOnly),s=Mt.disabled,l=t.colorModeForRenderPass(),c=0,u=n;c<u.length;c+=1){var h=u[c],f=e.getTile(h);f.needsHillshadePrepare&&"offscreen"===t.renderPass?$r(t,f,r,i,o,s,l):"translucent"===t.renderPass&&Qr(t,f,r,o,s,l)}a.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity"))for(var a=t.context,i=a.gl,o=e.getSource(),s=t.useProgram("raster"),l=Mt.disabled,c=t.colorModeForRenderPass(),u=n.length&&n[0].overscaledZ,h=!t.options.moving,f=0,p=n;f<p.length;f+=1){var d=p[f],g=t.depthModeForSublayer(d.overscaledZ-u,1===r.paint.get("raster-opacity")?At.ReadWrite:At.ReadOnly,i.LESS),v=e.getTile(d),m=t.transform.calculatePosMatrix(d.toUnwrapped(),h);v.registerFadeDuration(r.paint.get("raster-fade-duration"));var y=e.findLoadedParent(d,0),x=tn(v,y,e,r,t.transform),b=void 0,_=void 0,w="nearest"===r.paint.get("raster-resampling")?i.NEAREST:i.LINEAR;a.activeTexture.set(i.TEXTURE0),v.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),a.activeTexture.set(i.TEXTURE1),y?(y.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),_=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST);var k=Dr(m,_||[0,0],b||1,x,r);o instanceof P?s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):v.maskedBoundsBuffer&&v.maskedIndexBuffer&&v.segments?s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,v.maskedBoundsBuffer,v.maskedIndexBuffer,v.segments,r.paint,t.transform.zoom):s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0!==a){var i=t.context,o=i.gl,s=t.transform,l=s.tileSize,c=r.paint.get("background-pattern");if(!t.isPatternMissing(c)){var u=!c&&1===n.a&&1===a&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass===u){var h=Mt.disabled,f=t.depthModeForSublayer(0,"opaque"===u?At.ReadWrite:At.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(c?"backgroundPattern":"background"),g=s.coveringTiles({tileSize:l});c&&(i.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var v=r.getCrossfadeParameters(),m=0,y=g;m<y.length;m+=1){var x=y[m],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=c?Nr(b,a,t,c,{tileID:x,tileSize:l},v):Br(b,a,n);d.draw(i,o.TRIANGLES,f,h,p,Et.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)en(t,e,r[n])},custom:function(t,e,r){var n=t.context,a=r.implementation;if("offscreen"===t.renderPass){var i=a.prerender;i&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),i.call(a,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Mt.disabled);var o="3d"===a.renderingMode?new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,At.ReadOnly);n.setDepthMode(o),a.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},an=function(e,r){this.context=new Lt(e),this.transform=r,this._tileTextures={},this.setup(),this.numSublayers=Ct.maxUnderzooming+Ct.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new t.ProgramConfiguration,this.crossTileSymbolIndex=new Oe};function on(t,e){if(t.y>e.y){var r=t;t=e,e=r}return{x0:t.x,y0:t.y,x1:e.x,y1:e.y,dx:e.x-t.x,dy:e.y-t.y}}function sn(t,e,r,n,a){var i=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,h=e.dx<0,f=i;f<o;f++){var p=l*Math.max(0,Math.min(t.dy,f+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;a(Math.floor(d),Math.ceil(p),f)}}function ln(t,e,r,n,a,i){var o,s=on(t,e),l=on(e,r),c=on(r,t);s.dy>l.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&sn(c,s,n,a,i),l.dy&&sn(c,l,n,a,i)}an.prototype.resize=function(e,r){var n=this.context.gl;if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var a=0,i=this.style._order;a<i.length;a+=1){var o=i[a];this.style._layers[o].resize()}this.depthRbo&&(n.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},an.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,Fe.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,Fe.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var a=new t.StructArrayLayout4i8;a.emplaceBack(0,0,0,0),a.emplaceBack(t.EXTENT,0,t.EXTENT,0),a.emplaceBack(0,t.EXTENT,0,t.EXTENT),a.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(a,t.rasterBoundsAttributes.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(i,Fe.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);var l=this.context.gl;this.stencilClearMode=new Mt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},an.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,At.disabled,this.stencilClearMode,St.disabled,Et.disabled,Tr(n),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},an.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var a=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var i=0,o=e;i<o.length;i+=1){var s=o[i],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;a.draw(r,n.TRIANGLES,At.disabled,new Mt({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),St.disabled,Et.disabled,Tr(s.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},an.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?St.unblended:St.alphaBlended},an.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return At.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new At(r||this.context.gl.LEQUAL,e,[n,n])},an.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},an.prototype.render=function(e,r){this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var n=this.style._order,a=this.style.sourceCaches;for(var i in a){var o=a[i];o.used&&o.prepare(this.context)}var s={},l={},c={};for(var u in a){var h=a[u];s[u]=h.getVisibleCoordinates(),l[u]=s[u].slice().reverse(),c[u]=h.getVisibleCoordinates(!0).reverse()}for(var f in a){var p=a[f],d=p.getSource();if("raster"===d.type||"raster-dem"===d.type){for(var g=[],v=0,m=s[f];v<m.length;v+=1){var y=m[v];g.push(p.getTile(y))}Vr(g,this.context)}}this.opaquePassCutoff=1/0;for(var x=0;x<n.length;x++){var b=n[x];if(this.style._layers[b].is3D()){this.opaquePassCutoff=x;break}}this.renderPass="offscreen",this.depthRboNeedsClear=!0;for(var _=0,w=n;_<w.length;_+=1){var k=w[_],T=this.style._layers[k];if(T.hasOffscreenPass()&&!T.isHidden(this.transform.zoom)){var A=l[T.source];("custom"===T.type||A.length)&&this.renderLayer(this,a[T.source],T,A)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=n.length-1;this.currentLayer>=0;this.currentLayer--){var M=this.style._layers[n[this.currentLayer]],S=a[M.source],E=s[M.source];this._renderTileClippingMasks(M,E),this.renderLayer(this,S,M,E)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<n.length;this.currentLayer++){var L=this.style._layers[n[this.currentLayer]],C=a[L.source],P=("symbol"===L.type?c:l)[L.source];this._renderTileClippingMasks(L,s[L.source]),this.renderLayer(this,C,L,P)}if(this.options.showTileBoundaries)for(var O in a){nn.debug(this,a[O],s[O]);break}this.context.setDefault()},an.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},an.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||("background"===r.type||"custom"===r.type||n.length)&&(this.id=r.id,nn[r.type](t,e,r,n,this.style.placement.variableOffsets))},an.prototype.translatePosMatrix=function(e,r,n,a,i){if(!n[0]&&!n[1])return e;var o=i?"map"===a?this.transform.angle:0:"viewport"===a?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[i?n[0]:ce(r,n[0],this.transform.zoom),i?n[1]:ce(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},an.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},an.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},an.prototype.isPatternMissing=function(t){if(!t)return!1;var e=this.imageManager.getPattern(t.from),r=this.imageManager.getPattern(t.to);return!e||!r},an.prototype.useProgram=function(t,e){void 0===e&&(e=this.emptyProgramConfiguration),this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new fr(this.context,ur[t],e,jr[t],this._showOverdrawInspector)),this.cache[r]},an.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},an.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)};var cn=function(e,r,n){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===n||n,this._minZoom=e||0,this._maxZoom=r||22,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},un={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};cn.prototype.clone=function(){var t=new cn(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},un.minZoom.get=function(){return this._minZoom},un.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},un.maxZoom.get=function(){return this._maxZoom},un.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},un.renderWorldCopies.get=function(){return this._renderWorldCopies},un.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},un.worldSize.get=function(){return this.tileSize*this.scale},un.centerPoint.get=function(){return this.size._div(2)},un.size.get=function(){return new t.Point(this.width,this.height)},un.bearing.get=function(){return-this.angle/Math.PI*180},un.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},un.pitch.get=function(){return this._pitch/Math.PI*180},un.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},un.fov.get=function(){return this._fov/Math.PI*180},un.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},un.zoom.get=function(){return this._zoom},un.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},un.center.get=function(){return this._center},un.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},cn.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},cn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),a=this.pointCoordinate(new t.Point(this.width,0)),i=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,a.x,i.x,o.x)),l=Math.floor(Math.max(n.x,a.x,i.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},cn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var a=t.MercatorCoordinate.fromLngLat(this.center),i=Math.pow(2,r),o=new t.Point(i*a.x-.5,i*a.y-.5);return function(e,r,n,a){void 0===a&&(a=!0);var i=1<<e,o={};function s(r,s,l){var c,u,h,f;if(l>=0&&l<=i)for(c=r;c<s;c++)u=Math.floor(c/i),h=(c%i+i)%i,0!==u&&!0!==a||(f=new t.OverscaledTileID(n,u,e,h,l),o[f.key]=f)}var l=r.map(function(e){return new t.Point(e.x,e.y)._mult(i)});return ln(l[0],l[1],l[2],0,i,s),ln(l[2],l[3],l[0],0,i,s),Object.keys(o).map(function(t){return o[t]})}(r,[this.pointCoordinate(new t.Point(0,0)),this.pointCoordinate(new t.Point(this.width,0)),this.pointCoordinate(new t.Point(this.width,this.height)),this.pointCoordinate(new t.Point(0,this.height))],e.reparseOverscaled?n:r,this._renderWorldCopies).sort(function(t,e){return o.dist(t.canonical)-o.dist(e.canonical)})},cn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},un.unmodified.get=function(){return this._unmodified},cn.prototype.zoomScale=function(t){return Math.pow(2,t)},cn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},cn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},cn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},un.point.get=function(){return this.project(this.center)},cn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),a=this.pointCoordinate(this.centerPoint),i=this.locationCoordinate(e),o=new t.MercatorCoordinate(i.x-(n.x-a.x),i.y-(n.y-a.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},cn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},cn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},cn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},cn.prototype.coordinateLocation=function(t){return t.toLngLat()},cn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var a=r[3],i=n[3],o=r[0]/a,s=n[0]/i,l=r[1]/a,c=n[1]/i,u=r[2]/a,h=n[2]/i,f=u===h?0:(0-u)/(h-u);return new t.MercatorCoordinate(t.number(o,s,f)/this.worldSize,t.number(l,c,f)/this.worldSize)},cn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},cn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},cn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},cn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},cn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,a=r?this._alignedPosMatrixCache:this._posMatrixCache;if(a[n])return a[n];var i=e.canonical,o=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,i.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),a[n]=new Float32Array(l),a[n]},cn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},cn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,a,i=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;i=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-i<c.y?c.y/(o-i):0}if(this.lngRange){var f=this.lngRange;s=t.mercatorXfromLng(f[0])*this.worldSize,r=(l=t.mercatorXfromLng(f[1])*this.worldSize)-s<c.x?c.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+i)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var g=p.y,v=c.y/2;g-v<i&&(a=i+v),g+v>o&&(a=o-v)}if(this.lngRange){var m=p.x,y=c.x/2;m-y<s&&(n=s+y),m+y>l&&(n=l-y)}void 0===n&&void 0===a||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==a?a:p.y))),this._unmodified=u,this._constraining=!1}},cn.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var e=this._fov/2,r=Math.PI/2+this._pitch,n=Math.sin(e)*this.cameraToCenterDistance/Math.sin(Math.PI-r-e),a=this.point,i=a.x,o=a.y,s=1.01*(Math.cos(Math.PI/2-this._pitch)*n+this.cameraToCenterDistance),l=this.height/50,c=new Float64Array(16);t.perspective(c,this._fov,this.width/this.height,l,s),t.scale(c,c,[1,-1,1]),t.translate(c,c,[0,0,-this.cameraToCenterDistance]),t.rotateX(c,c,this._pitch),t.rotateZ(c,c,this.angle),t.translate(c,c,[-i,-o,0]),this.mercatorMatrix=t.scale([],c,[this.worldSize,this.worldSize,this.worldSize]),t.scale(c,c,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=c;var u=this.width%2/2,h=this.height%2/2,f=Math.cos(this.angle),p=Math.sin(this.angle),d=i-Math.round(i)+f*u+p*h,g=o-Math.round(o)+f*h+p*u,v=new Float64Array(c);if(t.translate(v,v,[d>.5?d-1:d,g>.5?g-1:g,0]),this.alignedProjMatrix=v,c=t.create(),t.scale(c,c,[this.width/2,-this.height/2,1]),t.translate(c,c,[1,-1,0]),this.labelPlaneMatrix=c,c=t.create(),t.scale(c,c,[1,-1,1]),t.translate(c,c,[-1,-1,0]),t.scale(c,c,[2/this.width,2/this.height,1]),this.glCoordMatrix=c,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(c=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=c,this._posMatrixCache={},this._alignedPosMatrixCache={}}},cn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},cn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},cn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,a=r.y,i=r.x,o=r.y,s=0,l=e;s<l.length;s+=1){var c=l[s];n=Math.min(n,c.x),a=Math.min(a,c.y),i=Math.max(i,c.x),o=Math.max(o,c.y)}return[new t.Point(n,a),new t.Point(i,a),new t.Point(i,o),new t.Point(n,o),new t.Point(n,a)]},Object.defineProperties(cn.prototype,un);var hn=function(){var e,r,n,a;t.bindAll(["_onHashChange","_updateHash"],this),this._updateHash=(e=this._updateHashUnthrottled.bind(this),300,r=!1,n=null,a=function(){n=null,r&&(e(),n=setTimeout(a,300),r=!1)},function(){return r=!0,n||a(),n})};hn.prototype.addTo=function(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},hn.prototype.remove=function(){return t.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},hn.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,n),i=Math.round(e.lng*a)/a,o=Math.round(e.lat*a)/a,s=this._map.getBearing(),l=this._map.getPitch(),c="";return c+=t?"#/"+i+"/"+o+"/"+r:"#"+r+"/"+o+"/"+i,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),c},hn.prototype._onHashChange=function(){var e=t.window.location.hash.replace("#","").split("/");return e.length>=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},hn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var fn=function(e){function n(n,a,i,o){void 0===o&&(o={});var s=r.mousePos(a.getCanvasContainer(),i),l=a.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:i},o)),this._defaultPrevented=!1,this.target=a}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),pn=function(e){function n(n,a,i){var o=r.touchPos(a.getCanvasContainer(),i),s=o.map(function(t){return a.unproject(t)}),l=o.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.Point(0,0)),c=a.unproject(l);e.call(this,n,{points:o,point:l,lngLats:s,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),dn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),gn=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};gn.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gn.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gn.prototype.isEnabled=function(){return!!this._enabled},gn.prototype.isActive=function(){return!!this._active},gn.prototype.isZooming=function(){return!!this._zooming},gn.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gn.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),a=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":a>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this.isActive()||this._start(e)),e.preventDefault()}},gn.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},gn.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0,this._map.fire(new t.Event("movestart",{originalEvent:e})),this._map.fire(new t.Event("zoomstart",{originalEvent:e}))),this._finishTimeout&&clearTimeout(this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}},gn.prototype._onScrollFrame=function(){var e=this;if(this._frameId=null,this.isActive()){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,a=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==a&&(a=1/a);var i="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(i*a))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o="number"==typeof this._targetZoom?this._targetZoom:r.zoom,s=this._startZoom,l=this._easing,c=!1;if("wheel"===this._type&&s&&l){var u=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=l(u);r.zoom=t.number(s,o,h),u<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):c=!0}else r.zoom=o,c=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event("move",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event("zoom",{originalEvent:this._lastWheelEvent})),c&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._zooming=!1,e._map.fire(new t.Event("zoomend",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event("moveend",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},gn.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,a=(t.browser.now()-n.start)/n.duration,i=n.easing(a+.01)-n.easing(a),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r};var vn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMouseMove","_onMouseUp","_onKeyDown"],this)};vn.prototype.isEnabled=function(){return!!this._enabled},vn.prototype.isActive=function(){return!!this._active},vn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},vn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},vn.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.window.document.addEventListener("mousemove",this._onMouseMove,!1),t.window.document.addEventListener("keydown",this._onKeyDown,!1),t.window.document.addEventListener("mouseup",this._onMouseUp,!1),r.disableDrag(),this._startPos=this._lastPos=r.mousePos(this._el,e),this._active=!0)},vn.prototype._onMouseMove=function(t){var e=r.mousePos(this._el,t);if(!(this._lastPos.equals(e)||!this._box&&e.dist(this._startPos)<this._clickTolerance)){var n=this._startPos;this._lastPos=e,this._box||(this._box=r.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var a=Math.min(n.x,e.x),i=Math.max(n.x,e.x),o=Math.min(n.y,e.y),s=Math.max(n.y,e.y);r.setTransform(this._box,"translate("+a+"px,"+o+"px)"),this._box.style.width=i-a+"px",this._box.style.height=s-o+"px"}},vn.prototype._onMouseUp=function(e){if(0===e.button){var n=this._startPos,a=r.mousePos(this._el,e);this._finish(),r.suppressClick(),n.x===a.x&&n.y===a.y?this._fireEvent("boxzoomcancel",e):this._map.fitScreenCoordinates(n,a,this._map.getBearing(),{linear:!0}).fire(new t.Event("boxzoomend",{originalEvent:e}))}},vn.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",t))},vn.prototype._finish=function(){this._active=!1,t.window.document.removeEventListener("mousemove",this._onMouseMove,!1),t.window.document.removeEventListener("keydown",this._onKeyDown,!1),t.window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},vn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var mn=t.bezier(0,0,.25,1),yn=function(e,r){this._map=e,this._el=r.element||e.getCanvasContainer(),this._state="disabled",this._button=r.button||"right",this._bearingSnap=r.bearingSnap||0,this._pitchWithRotate=!1!==r.pitchWithRotate,t.bindAll(["onMouseDown","_onMouseMove","_onMouseUp","_onBlur","_onDragFrame"],this)};yn.prototype.isEnabled=function(){return"disabled"!==this._state},yn.prototype.isActive=function(){return"active"===this._state},yn.prototype.enable=function(){this.isEnabled()||(this._state="enabled")},yn.prototype.disable=function(){if(this.isEnabled())switch(this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend"),this._pitchWithRotate&&this._fireEvent("pitchend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},yn.prototype.onMouseDown=function(e){if("enabled"===this._state){var n="touchstart"===e.type;if(n)this._startTime=Date.now();else if("right"===this._button){if(this._eventButton=r.mouseButton(e),this._eventButton!==(e.ctrlKey?0:2))return}else{if(e.ctrlKey||0!==r.mouseButton(e))return;this._eventButton=0}r.disableDrag(),n?(t.window.document.addEventListener("touchmove",this._onMouseMove,{capture:!0}),t.window.document.addEventListener("touchend",this._onMouseUp)):(t.window.document.addEventListener("mousemove",this._onMouseMove,{capture:!0}),t.window.document.addEventListener("mouseup",this._onMouseUp)),t.window.addEventListener("blur",this._onBlur),this._state="pending",this._inertia=[[t.browser.now(),this._map.getBearing()]],this._startPos=this._prevPos=this._lastPos=r.mousePos(this._el,e),this._center=this._map.transform.centerPoint,e.preventDefault()}},yn.prototype._onMouseMove=function(t){var e=r.mousePos(this._el,t);this._lastPos.equals(e)||(this._lastMoveEvent=t,this._lastPos=e,"pending"===this._state&&(this._state="active",this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))},yn.prototype._onDragFrame=function(){this._frameId=null;var e=this._lastMoveEvent;if(e){var r=this._map.transform,n=this._prevPos,a=this._lastPos,i=.8*(n.x-a.x),o=-.5*(n.y-a.y),s=r.bearing-i,l=r.pitch-o,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([t.browser.now(),this._map._normalizeBearing(s,u[1])]),r.bearing=s,this._pitchWithRotate&&(this._fireEvent("pitch",e),r.pitch=l),this._fireEvent("rotate",e),this._fireEvent("move",e),delete this._lastMoveEvent,this._prevPos=this._lastPos}},yn.prototype._onMouseUp=function(t){if("touchend"===t.type&&this._startPos===this._lastPos&&Date.now()-this._startTime<300&&this._el.click(),r.mouseButton(t)===this._eventButton)switch(this._state){case"active":this._state="enabled",r.suppressClick(),this._unbind(),this._deactivate(),this._inertialRotate(t);break;case"pending":this._state="enabled",this._unbind()}},yn.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend",t),this._pitchWithRotate&&this._fireEvent("pitchend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},yn.prototype._unbind=function(){t.window.document.removeEventListener("mousemove",this._onMouseMove,{capture:!0}),t.window.document.removeEventListener("mouseup",this._onMouseUp),t.window.document.removeEventListener("touchmove",this._onMouseMove,{capture:!0}),t.window.document.removeEventListener("touchend",this._onMouseUp),t.window.removeEventListener("blur",this._onBlur),r.enableDrag()},yn.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._startPos,delete this._prevPos,delete this._lastPos},yn.prototype._inertialRotate=function(t){var e=this;this._fireEvent("rotateend",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),a=this._inertia,i=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):e._fireEvent("moveend",t),e._pitchWithRotate&&e._fireEvent("pitchend",t)};if(a.length<2)i();else{var o=a[0],s=a[a.length-1],l=a[a.length-2],c=r._normalizeBearing(n,l[1]),u=s[1]-o[1],h=u<0?-1:1,f=(s[0]-o[0])/1e3;if(0!==u&&0!==f){var p=Math.abs(u*(.25/f));p>180&&(p=180);var d=p/180;c+=h*p*(d/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*d,easing:mn,noMoveStart:!0},{originalEvent:t})}else i()}},yn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},yn.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>0&&r-e[0][0]>160;)e.shift()};var xn=t.bezier(0,0,.3,1),bn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._state="disabled",this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMove","_onMouseUp","_onTouchEnd","_onBlur","_onDragFrame"],this)};bn.prototype.isEnabled=function(){return"disabled"!==this._state},bn.prototype.isActive=function(){return"active"===this._state},bn.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._state="enabled")},bn.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("dragend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},bn.prototype.onMouseDown=function(e){"enabled"===this._state&&(e.ctrlKey||0!==r.mouseButton(e)||(r.addEventListener(t.window.document,"mousemove",this._onMove,{capture:!0}),r.addEventListener(t.window.document,"mouseup",this._onMouseUp),this._start(e)))},bn.prototype.onTouchStart=function(e){"enabled"===this._state&&(e.touches.length>1||(r.addEventListener(t.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),r.addEventListener(t.window.document,"touchend",this._onTouchEnd),this._start(e)))},bn.prototype._start=function(e){t.window.addEventListener("blur",this._onBlur),this._state="pending",this._startPos=this._mouseDownPos=this._prevPos=this._lastPos=r.mousePos(this._el,e),this._inertia=[[t.browser.now(),this._startPos]]},bn.prototype._onMove=function(e){e.preventDefault();var n=r.mousePos(this._el,e);this._lastPos.equals(n)||"pending"===this._state&&n.dist(this._mouseDownPos)<this._clickTolerance||(this._lastMoveEvent=e,this._lastPos=n,this._drainInertiaBuffer(),this._inertia.push([t.browser.now(),this._lastPos]),"pending"===this._state&&(this._state="active",this._fireEvent("dragstart",e),this._fireEvent("movestart",e)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))},bn.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform;e.setLocationAtPoint(e.pointLocation(this._prevPos),this._lastPos),this._fireEvent("drag",t),this._fireEvent("move",t),this._prevPos=this._lastPos,delete this._lastMoveEvent}},bn.prototype._onMouseUp=function(t){if(0===r.mouseButton(t))switch(this._state){case"active":this._state="enabled",r.suppressClick(),this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._onTouchEnd=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("dragend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._unbind=function(){r.removeEventListener(t.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),r.removeEventListener(t.window.document,"touchend",this._onTouchEnd),r.removeEventListener(t.window.document,"mousemove",this._onMove,{capture:!0}),r.removeEventListener(t.window.document,"mouseup",this._onMouseUp),r.removeEventListener(t.window,"blur",this._onBlur)},bn.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._startPos,delete this._prevPos,delete this._mouseDownPos,delete this._lastPos},bn.prototype._inertialPan=function(t){this._fireEvent("dragend",t),this._drainInertiaBuffer();var e=this._inertia;if(e.length<2)this._fireEvent("moveend",t);else{var r=e[e.length-1],n=e[0],a=r[1].sub(n[1]),i=(r[0]-n[0])/1e3;if(0===i||r[1].equals(n[1]))this._fireEvent("moveend",t);else{var o=a.mult(.3/i),s=o.mag();s>1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:xn,noMoveStart:!0},{originalEvent:t})}}},bn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},bn.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>0&&r-e[0][0]>160;)e.shift()};var _n=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onKeyDown"],this)};function wn(t){return t*(2-t)}_n.prototype.isEnabled=function(){return!!this._enabled},_n.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},_n.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},_n.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,a=0,i=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),i=-1);break;case 40:t.shiftKey?n=-1:(i=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:wn,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-a,100*-i],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var kn=function(e){this._map=e,t.bindAll(["_onDblClick","_onZoomEnd"],this)};kn.prototype.isEnabled=function(){return!!this._enabled},kn.prototype.isActive=function(){return!!this._active},kn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},kn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},kn.prototype.onTouchStart=function(t){var e=this;if(this.isEnabled()&&!(t.points.length>1))if(this._tapped){var r=t.points[0],n=this._tappedPoint;if(n&&n.dist(r)<=30){t.originalEvent.preventDefault();var a=function(){e._tapped&&e._zoom(t),e._map.off("touchcancel",i),e._resetTapped()},i=function(){e._map.off("touchend",a),e._resetTapped()};this._map.once("touchend",a),this._map.once("touchcancel",i)}else this._resetTapped()}else this._tappedPoint=t.points[0],this._tapped=setTimeout(function(){e._tapped=null,e._tappedPoint=null},300)},kn.prototype._resetTapped=function(){clearTimeout(this._tapped),this._tapped=null,this._tappedPoint=null},kn.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},kn.prototype._zoom=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},kn.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)};var Tn=t.bezier(0,0,.15,1),An=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onMove","_onEnd","_onTouchFrame"],this)};An.prototype.isEnabled=function(){return!!this._enabled},An.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)},An.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._enabled=!1)},An.prototype.disableRotation=function(){this._rotationDisabled=!0},An.prototype.enableRotation=function(){this._rotationDisabled=!1},An.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var n=r.mousePos(this._el,e.touches[0]),a=r.mousePos(this._el,e.touches[1]),i=n.add(a).div(2);this._startVec=n.sub(a),this._startAround=this._map.transform.pointLocation(i),this._gestureIntent=void 0,this._inertia=[],r.addEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.addEventListener(t.window.document,"touchend",this._onEnd)}},An.prototype._getTouchEventData=function(t){var e=r.mousePos(this._el,t.touches[0]),n=r.mousePos(this._el,t.touches[1]),a=e.sub(n);return{vec:a,center:e.add(n).div(2),scale:a.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI}},An.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,a=r.scale,i=r.bearing;if(!this._gestureIntent){var o=this._rotationDisabled&&1!==a||Math.abs(1-a)>.15;Math.abs(i)>10?this._gestureIntent="rotate":o&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+"start",{originalEvent:e})),this._map.fire(new t.Event("movestart",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},An.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),a=n.center,i=n.bearing,o=n.scale,s=r.pointLocation(a),l=r.locationPoint(s);"rotate"===e&&(r.bearing=this._startBearing+i),r.zoom=r.scaleZoom(this._startScale*o),r.setLocationAtPoint(this._startAround,l),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event("move",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([t.browser.now(),o,a])}},An.prototype._onEnd=function(e){r.removeEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.removeEventListener(t.window.document,"touchend",this._onEnd);var n=this._gestureIntent,a=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,n){this._map.fire(new t.Event(n+"end",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,o=this._map;if(i.length<2)o.snapToNorth({},{originalEvent:e});else{var s=i[i.length-1],l=i[0],c=o.transform.scaleZoom(a*s[1]),u=o.transform.scaleZoom(a*l[1]),h=c-u,f=(s[0]-l[0])/1e3,p=s[2];if(0!==f&&c!==u){var d=.15*h/f;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),v=c+d*g/2e3;v<0&&(v=0),o.easeTo({zoom:v,duration:g,easing:Tn,around:this._aroundCenter?o.getCenter():o.unproject(p),noMoveStart:!0},{originalEvent:e})}else o.snapToNorth({},{originalEvent:e})}}},An.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>2&&r-e[0][0]>160;)e.shift()};var Mn={scrollZoom:gn,boxZoom:vn,dragRotate:yn,dragPan:bn,keyboard:_n,doubleClickZoom:kn,touchZoomRotate:An},Sn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,a){if("number"==typeof(a=t.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},a)).padding){var i=a.padding;a.padding={top:i,bottom:i,right:i,left:i}}if(t.deepEqual(Object.keys(a.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),["bottom","left","right","top"])){var o=this.transform,s=o.project(t.LngLat.convert(e)),l=o.project(t.LngLat.convert(r)),c=s.rotate(-n*Math.PI/180),u=l.rotate(-n*Math.PI/180),h=new t.Point(Math.max(c.x,u.x),Math.max(c.y,u.y)),f=new t.Point(Math.min(c.x,u.x),Math.min(c.y,u.y)),p=h.sub(f),d=(o.width-a.padding.left-a.padding.right)/p.x,g=(o.height-a.padding.top-a.padding.bottom)/p.y;if(!(g<0||d<0)){var v=Math.min(o.scaleZoom(o.scale*Math.min(d,g)),a.maxZoom),m=t.Point.convert(a.offset),y=(a.padding.left-a.padding.right)/2,x=(a.padding.top-a.padding.bottom)/2,b=new t.Point(m.x+y,m.y+x).mult(o.scale/o.zoomScale(v));return{center:o.unproject(s.add(l).div(2).sub(b)),zoom:v,bearing:n}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}else t.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,a,i){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,a),a,i)},r.prototype._fitInternal=function(e,r,n){return e?(r=t.extend(e,r)).linear?this.easeTo(r,n):this.flyTo(r,n):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,a=!1,i=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(a=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(i=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),a&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),i&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this.stop(),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||t.browser.prefersReducedMotion)&&(e.duration=0);var a=this.transform,i=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?+e.zoom:i,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h=a.centerPoint.add(t.Point.convert(e.offset)),f=a.pointLocation(h),p=t.LngLat.convert(e.center||f);this._normalizeCenter(p);var d,g,v=a.project(f),m=a.project(p).sub(v),y=a.zoomScale(l-i);return e.around&&(d=t.LngLat.convert(e.around),g=a.locationPoint(d)),this._zooming=l!==i,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(a.zoom=t.number(i,l,e)),n._rotating&&(a.bearing=t.number(o,c,e)),n._pitching&&(a.pitch=t.number(s,u,e)),d)a.setLocationAtPoint(d,g);else{var f=a.zoomScale(a.zoom-i),p=l>i?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=a.unproject(v.add(m.mult(e*x)).mult(f));a.setLocationAtPoint(a.renderWorldCopies?b.wrap():b,h)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event("movestart",e)),this._zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e){var r=this._zooming,n=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))},r.prototype.flyTo=function(e,r){var n=this;if(t.browser.prefersReducedMotion){var a=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(a,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c="zoom"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):o,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,f=i.zoomScale(c-o),p=i.centerPoint.add(t.Point.convert(e.offset)),d=i.pointLocation(p),g=t.LngLat.convert(e.center||d);this._normalizeCenter(g);var v=i.project(d),m=i.project(g).sub(v),y=e.curve,x=Math.max(i.width,i.height),b=x/f,_=m.mag();if("minZoom"in e){var w=t.clamp(Math.min(e.minZoom,o,c),i.minZoom,i.maxZoom),k=x/i.zoomScale(w-o);y=Math.sqrt(k/_*2)}var T=y*y;function A(t){var e=(b*b-x*x+(t?-1:1)*T*T*_*_)/(2*(t?b:x)*T*_);return Math.log(Math.sqrt(e*e+1)-e)}function M(t){return(Math.exp(t)-Math.exp(-t))/2}function S(t){return(Math.exp(t)+Math.exp(-t))/2}var E=A(0),L=function(t){return S(E)/S(E+y*t)},C=function(t){return x*((S(E)*(M(e=E+y*t)/S(e))-M(E))/T)/_;var e},P=(A(1)-E)/y;if(Math.abs(_)<1e-6||!isFinite(P)){if(Math.abs(x-b)<1e-6)return this.easeTo(e,r);var O=b<x?-1:1;P=Math.abs(Math.log(b/x))/y,C=function(){return 0},L=function(t){return Math.exp(O*y*t)}}if("duration"in e)e.duration=+e.duration;else{var z="screenSpeed"in e?+e.screenSpeed/y:+e.speed;e.duration=1e3*P/z}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._prepareEase(r,!1),this._ease(function(e){var a=e*P,f=1/L(a);i.zoom=1===e?c:o+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(s,u,e)),n._pitching&&(i.pitch=t.number(l,h,e));var d=1===e?g:i.unproject(v.add(m.mult(C(a))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?d.wrap():d,p),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),En=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};En.prototype.getDefaultPosition=function(){return"bottom-right"},En.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},En.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},En.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce(function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n<r.length-1?"&":"")),t},"?");e.href=t.config.FEEDBACK_URL+"/"+n+(this._map._hash?this._map._hash.getHashString(!0):""),e.rel="noopener nofollow"}},En.prototype._updateData=function(t){!t||"metadata"!==t.sourceDataType&&"style"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},En.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map(function(t){return"string"!=typeof t?"":t})):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var a=r[n];if(a.used){var i=a.getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}}t.sort(function(t,e){return t.length-e.length});var o=(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},En.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var Ln=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Ln.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label","Mapbox logo"),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Ln.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Ln.prototype.getDefaultPosition=function(){return"bottom-left"},Ln.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Ln.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Ln.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Cn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Cn.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Cn.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var a=n[r];if(a.id===t)return void(a.cancelled=!0)}},Cn.prototype.run=function(){var t=this._currentlyRunning=this._queue;this._queue=[];for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!n.cancelled&&(n.callback(),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},Cn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Pn=t.window.HTMLImageElement,On=t.window.HTMLElement,zn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,clickTolerance:3,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},In=function(n){function a(e){var a=this;if(null!=(e=t.extend({},zn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new cn(e.minZoom,e.maxZoom,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Cn,this._controls=[],this._mapId=t.uniqueId(),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof On))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return a._update(!1)}),this.on("moveend",function(){return a._update(!1)}),this.on("zoom",function(){return a._update(!0)}),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),function(t,e){var n=t.getCanvasContainer(),a=null,i=!1,o=null;for(var s in Mn)t[s]=new Mn[s](t,e),e.interactive&&e[s]&&t[s].enable(e[s]);r.addEventListener(n,"mouseout",function(e){t.fire(new fn("mouseout",t,e))}),r.addEventListener(n,"mousedown",function(a){i=!0,o=r.mousePos(n,a);var s=new fn("mousedown",t,a);t.fire(s),s.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(a),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(a),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(a))}),r.addEventListener(n,"mouseup",function(e){var r=t.dragRotate.isActive();a&&!r&&t.fire(new fn("contextmenu",t,a)),a=null,i=!1,t.fire(new fn("mouseup",t,e))}),r.addEventListener(n,"mousemove",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mousemove",t,e))}}),r.addEventListener(n,"mouseover",function(e){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mouseover",t,e))}),r.addEventListener(n,"touchstart",function(r){var n=new pn("touchstart",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),r.addEventListener(n,"touchmove",function(e){t.fire(new pn("touchmove",t,e))},{passive:!1}),r.addEventListener(n,"touchend",function(e){t.fire(new pn("touchend",t,e))}),r.addEventListener(n,"touchcancel",function(e){t.fire(new pn("touchcancel",t,e))}),r.addEventListener(n,"click",function(a){var i=r.mousePos(n,a);(!o||i.equals(o)||i.dist(o)<e.clickTolerance)&&t.fire(new fn("click",t,a))}),r.addEventListener(n,"dblclick",function(e){var r=new fn("dblclick",t,e);t.fire(r),r.defaultPrevented||t.doubleClickZoom.onDblClick(r)}),r.addEventListener(n,"contextmenu",function(e){var r=t.dragRotate.isActive();i||r?i&&(a=e):t.fire(new fn("contextmenu",t,e)),(t.dragRotate.isEnabled()||t.listens("contextmenu"))&&e.preventDefault()}),r.addEventListener(n,"wheel",function(r){e.interactive&&t.stop();var n=new dn("wheel",t,r);t.fire(n),n.defaultPrevented||t.scrollZoom.onWheel(r)},{passive:!1})}(this,e),this._hash=e.hash&&(new hn).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new En({customAttribution:e.customAttribution})),this.addControl(new Ln,e.logoPosition),this.on("style.load",function(){a.transform.unmodified&&a.jumpTo(a.style.stylesheet)}),this.on("data",function(e){a._update("style"===e.dataType),a.fire(new t.Event(e.dataType+"data",e))}),this.on("dataloading",function(e){a.fire(new t.Event(e.dataType+"dataloading",e))})}n&&(a.__proto__=n),a.prototype=Object.create(n&&n.prototype),a.prototype.constructor=a;var i={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return a.prototype._getMapId=function(){return this._mapId},a.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var a=this._controlPositions[r];return-1!==r.indexOf("bottom")?a.insertBefore(n,a.firstChild):a.appendChild(n),this},a.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},a.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],a=r[1];return this._resizeCanvas(n,a),this.transform.resize(n,a),this.painter.resize(n,a),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)).fire(new t.Event("resize",e)).fire(new t.Event("moveend",e)),this},a.prototype.getBounds=function(){return this.transform.getBounds()},a.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},a.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},a.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between 0 and the current maxZoom, inclusive")},a.prototype.getMinZoom=function(){return this.transform.minZoom},a.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=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")},a.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},a.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},a.prototype.getMaxZoom=function(){return this.transform.maxZoom},a.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},a.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},a.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},a.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isZooming()},a.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},a.prototype.on=function(t,e,r){var a=this;if(void 0===r)return n.prototype.on.call(this,t,e);var i=function(){var n;if("mouseenter"===t||"mouseover"===t){var i=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?i||(i=!0,r.call(a,new fn(t,a,n.originalEvent,{features:o}))):i=!1},mouseout:function(){i=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(a,new fn(t,a,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(a,new fn(t,a,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(a,t),delete t.features)},n)}}();for(var o in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(o,i.delegates[o]);return this},a.prototype.off=function(t,e,r){if(void 0===r)return n.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var a=this._delegatedListeners[t],i=0;i<a.length;i++){var o=a[i];if(o.layer===e&&o.listener===r){for(var s in o.delegates)this.off(s,o.delegates[s]);return a.splice(i,1),this}}return this},a.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||"number"==typeof e[0])n=[t.Point.convert(e)];else{var a=t.Point.convert(e[0]),i=t.Point.convert(e[1]);n=[a,new t.Point(i.x,a.y),i,new t.Point(a.x,i.y),a]}return this.style.queryRenderedFeatures(n,r,this.transform)},a.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},a.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},a.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new Re(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},a.prototype._diffStyle=function(e,r){var n=this;if("string"==typeof e){var a=this._requestManager.normalizeStyleURL(e),i=this._requestManager.transformRequest(a,t.ResourceType.Style);t.getJSON(i,function(e,a){e?n.fire(new t.ErrorEvent(e)):a&&n._updateDiff(a,r)})}else"object"==typeof e&&this._updateDiff(e,r)},a.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce("Unable to perform style diff: "+(n.message||n.error||n)+".  Rebuilding the style from scratch."),this._updateStyle(e,r)}},a.prototype.getStyle=function(){if(this.style)return this.style.serialize()},a.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},a.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0)},a.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")))},a.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var a=r[n];if("loaded"!==a.state&&"errored"!==a.state)return!1}}return!0},a.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},a.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},a.prototype.getSource=function(t){return this.style.getSource(t)},a.prototype.addImage=function(e,r,n){void 0===n&&(n={});var a=n.pixelRatio;void 0===a&&(a=1);var i=n.sdf;if(void 0===i&&(i=!1),r instanceof Pn){var o=t.browser.getImageData(r),s=o.width,l=o.height,c=o.data;this.style.addImage(e,{data:new t.RGBAImage({width:s,height:l},c),pixelRatio:a,sdf:i,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var u=r.width,h=r.height,f=r.data,p=r;this.style.addImage(e,{data:new t.RGBAImage({width:u,height:h},new Uint8Array(f)),pixelRatio:a,sdf:i,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e)}},a.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var a=r instanceof Pn?t.browser.getImageData(r):r,i=a.width,o=a.height,s=a.data;if(void 0===i||void 0===o)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(i!==n.data.width||o!==n.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));var l=!(r instanceof Pn);n.data.replace(s,l),this.style.updateImage(e,n)},a.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},a.prototype.removeImage=function(t){this.style.removeImage(t)},a.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},a.prototype.listImages=function(){return this.style.listImages()},a.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0)},a.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},a.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},a.prototype.getLayer=function(t){return this.style.getLayer(t)},a.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},a.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},a.prototype.getFilter=function(t){return this.style.getFilter(t)},a.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},a.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},a.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},a.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},a.prototype.setLight=function(t,e){return void 0===e&&(e={}),this.style.setLight(t,e),this._update(!0)},a.prototype.getLight=function(){return this.style.getLight()},a.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},a.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},a.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},a.prototype.getContainer=function(){return this._container},a.prototype.getCanvasContainer=function(){return this._canvasContainer},a.prototype.getCanvas=function(){return this._canvas},a.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},a.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},a.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=r.create("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();var e=this._canvasContainer=r.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=r.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",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");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var a=this._controlContainer=r.create("div","mapboxgl-control-container",t),i=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){i[t]=r.create("div","mapboxgl-ctrl-"+t,a)})},a.prototype._resizeCanvas=function(e,r){var n=t.window.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+"px",this._canvas.style.height=r+"px"},a.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext("webgl",r)||this._canvas.getContext("experimental-webgl",r);n?(this.painter=new an(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))},a.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},a.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},a.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},a.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},a.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},a.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},a.prototype._render=function(){this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run();var e=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var r=this.transform.zoom,n=t.browser.now();this.style.zoomHistory.update(r,n);var a=new t.EvaluationParameters(r,{now:n,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=a.crossFadingFactor();1===i&&i===this._crossFadingFactor||(e=!0,this._crossFadingFactor=i),this.style.update(a)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||e)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),this},a.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1)r[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener("resize",this._onWindowResize,!1),t.window.removeEventListener("online",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),Dn(this._canvasContainer),Dn(this._controlContainer),Dn(this._missingCSSCanary),this._container.classList.remove("mapboxgl-map"),this.fire(new t.Event("remove"))},a.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame(function(){e._frame=null,e._render()}))},a.prototype._onWindowOnline=function(){this._update()},a.prototype._onWindowResize=function(){this._trackResize&&this.resize()._update()},i.showTileBoundaries.get=function(){return!!this._showTileBoundaries},i.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},i.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},i.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},i.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},i.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},i.repaint.get=function(){return!!this._repaint},i.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},i.vertices.get=function(){return!!this._vertices},i.vertices.set=function(t){this._vertices=t,this._update()},a.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},i.version.get=function(){return t.version},Object.defineProperties(a.prototype,i),a}(Sn);function Dn(t){t.parentNode&&t.parentNode.removeChild(t)}var Rn={showCompass:!0,showZoom:!0,visualizePitch:!1},Fn=function(e){var n=this;this.options=t.extend({},Rn,e),this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this.options.showZoom&&(t.bindAll(["_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom in",function(){return n._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom out",function(){return n._map.zoomOut()})),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset bearing to north",function(){n.options.visualizePitch?n._map.resetNorthPitch():n._map.resetNorth()}),this._compassArrow=r.create("span","mapboxgl-ctrl-compass-arrow",this._compass))};function Bn(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var a=new t.LngLat(e.lng-360,e.lat),i=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(a).distSqr(r)<o?e=a:n.locationPoint(i).distSqr(r)<o&&(e=i)}for(;Math.abs(e.lng-n.center.lng)>180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Fn.prototype._updateZoomButtons=function(){var t=this._map.getZoom();t===this._map.getMaxZoom()?this._zoomInButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomInButton.classList.remove("mapboxgl-ctrl-icon-disabled"),t===this._map.getMinZoom()?this._zoomOutButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomOutButton.classList.remove("mapboxgl-ctrl-icon-disabled")},Fn.prototype._rotateCompassArrow=function(){var t=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._compassArrow.style.transform=t},Fn.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new yn(t,{button:"left",element:this._compass}),r.addEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.addEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.enable()),this._container},Fn.prototype.onRemove=function(){r.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),r.removeEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.removeEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.disable(),delete this._handler),delete this._map},Fn.prototype._createButton=function(t,e,n){var a=r.create("button",t,this._container);return a.type="button",a.title=e,a.setAttribute("aria-label",e),a.addEventListener("click",n),a};var Nn={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 jn(t,e,r){var n=t.classList;for(var a in Nn)n.remove("mapboxgl-"+r+"-anchor-"+a);n.add("mapboxgl-"+r+"-anchor-"+e)}var Vn,Un=function(e){function n(n,a){if(e.call(this),(n instanceof t.window.HTMLElement||a)&&(n=t.extend({element:n},a)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick"],this),this._anchor=n&&n.anchor||"center",this._color=n&&n.color||"#3FB1CE",this._draggable=n&&n.draggable||!1,this._state="inactive",n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create("div");var i=r.createNS("http://www.w3.org/2000/svg","svg");i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height","41px"),i.setAttributeNS(null,"width","27px"),i.setAttributeNS(null,"viewBox","0 0 27 41");var o=r.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");var s=r.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");var l=r.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");for(var c=0,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"}];c<u.length;c+=1){var h=u[c],f=r.createNS("http://www.w3.org/2000/svg","ellipse");f.setAttributeNS(null,"opacity","0.04"),f.setAttributeNS(null,"cx","10.5"),f.setAttributeNS(null,"cy","5.80029008"),f.setAttributeNS(null,"rx",h.rx),f.setAttributeNS(null,"ry",h.ry),l.appendChild(f)}var p=r.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"fill",this._color);var d=r.createNS("http://www.w3.org/2000/svg","path");d.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"),p.appendChild(d);var g=r.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"fill","#000000");var v=r.createNS("http://www.w3.org/2000/svg","path");v.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"),g.appendChild(v);var m=r.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");var y=r.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"transform","translate(8.0, 8.0)");var x=r.createNS("http://www.w3.org/2000/svg","circle");x.setAttributeNS(null,"fill","#000000"),x.setAttributeNS(null,"opacity","0.25"),x.setAttributeNS(null,"cx","5.5"),x.setAttributeNS(null,"cy","5.5"),x.setAttributeNS(null,"r","5.4999962");var b=r.createNS("http://www.w3.org/2000/svg","circle");b.setAttributeNS(null,"fill","#FFFFFF"),b.setAttributeNS(null,"cx","5.5"),b.setAttributeNS(null,"cy","5.5"),b.setAttributeNS(null,"r","5.4999962"),y.appendChild(x),y.appendChild(b),s.appendChild(l),s.appendChild(p),s.appendChild(g),s.appendChild(m),s.appendChild(y),i.appendChild(s),this._element.appendChild(i),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",function(t){t.preventDefault()}),jn(this._element,this._anchor,"marker"),this._popup=null}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},n.prototype.remove=function(){return 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),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null),t){if(!("offset"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[e,-1*(24.6+e)],"bottom-right":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)}return this},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=Bn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&"moveend"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,Nn[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px)"))},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag"))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),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))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(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},n.prototype.isDraggable=function(){return this._draggable},n}(t.Evented),qn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},Hn=function(e){function n(r){e.call(this),this.options=t.extend({},qn,r),t.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){var n;return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Vn?n(Vn):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then(function(t){Vn="denied"!==t.state,n(Vn)}):(Vn=!!t.window.navigator.geolocation,n(Vn)),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),r.remove(this._container),this._map=void 0},n.prototype._onSuccess=function(e){if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,a=this._map.getBearing(),i=t.extend({bearing:a},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),i,{geolocateSource:!0})},n.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},n.prototype._onError=function(e){if(this.options.trackUserLocation)if(1===e.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;!1!==e?(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=r.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Un(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(e){e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))})):t.warnOnce("Geolocation support is not available, the GeolocateControl will not be visible.")},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("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 t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Gn={maxWidth:100,unit:"metric"},Yn=function(e){this.options=t.extend({},Gn,e),t.bindAll(["_onMove","setUnit"],this)};function Wn(t,e,r){var n,a,i,o,s,l,c=r&&r.maxWidth||100,u=t._container.clientHeight/2,h=(n=t.unproject([0,u]),a=t.unproject([c,u]),i=Math.PI/180,o=n.lat*i,s=a.lat*i,l=Math.sin(o)*Math.sin(s)+Math.cos(o)*Math.cos(s)*Math.cos((a.lng-n.lng)*i),6371e3*Math.acos(Math.min(l,1)));if(r&&"imperial"===r.unit){var f=3.2808*h;f>5280?Xn(e,c,f/5280,"mi"):Xn(e,c,f,"ft")}else r&&"nautical"===r.unit?Xn(e,c,h/1852,"nm"):Xn(e,c,h,"m")}function Xn(t,e,r,n){var a,i,o,s=(a=r,(i=Math.pow(10,(""+Math.floor(a)).length-1))*(o=(o=a/i)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;"m"===n&&s>=1e3&&(s/=1e3,n="km"),t.style.width=e*l+"px",t.innerHTML=s+n}Yn.prototype.getDefaultPosition=function(){return"bottom-left"},Yn.prototype._onMove=function(){Wn(this._map,this._container,this.options)},Yn.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Yn.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Yn.prototype.setUnit=function(t){this.options.unit=t,Wn(this._map,this._container,this.options)};var Zn=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange"),this._className="mapboxgl-ctrl"};Zn.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Zn.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Zn.prototype._setupUI=function(){(this._fullscreenButton=r.create("button",this._className+"-icon "+this._className+"-fullscreen",this._controlContainer)).type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._updateTitle=function(){var t=this._isFullscreen()?"Exit fullscreen":"Enter fullscreen";this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Zn.prototype._isFullscreen=function(){return this._fullscreen},Zn.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"),this._updateTitle())},Zn.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Jn={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},Kn=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Jn),r),t.bindAll(["_update","_onClickClose","remove"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){var r=this;return this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",function(t){r._update(t.point)}),this._map.on("mouseup",function(t){r._update(t.point)}),this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),this._map.off("remove",this.remove),this._map.off("mousemove"),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove"),this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){var t=this;return this._trackPointer=!0,this._pos=null,this._map&&(this._map.off("move",this._update),this._map.on("mousemove",function(e){t._update(e.point)}),this._map.on("drag",function(e){t._update(e.point)}),this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),a=t.window.document.createElement("body");for(a.innerHTML=e;r=a.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClickClose))},n.prototype._update=function(e){var n=this,a=this._lngLat||this._trackPointer;if(this._map&&a&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(t){return n._container.classList.add(t)})),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=Bn(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),o=this.options.anchor,s=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),"top-left":new t.Point(n,n),"top-right":new t.Point(-n,n),bottom:new t.Point(0,-r),"bottom-left":new t.Point(n,-n),"bottom-right":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var a=t.Point.convert(r);return{center:a,top:a,"top-left":a,"top-right":a,bottom:a,"bottom-left":a,"bottom-right":a,left:a,right:a}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),"top-left":t.Point.convert(r["top-left"]||[0,0]),"top-right":t.Point.convert(r["top-right"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),"bottom-left":t.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(r["bottom-right"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!o){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=i.y+s.bottom.y<u?["top"]:i.y>this._map.transform.height-u?["bottom"]:[],i.x<c/2?l.push("left"):i.x>this._map.transform.width-c/2&&l.push("right"),o=0===l.length?"bottom":l.join("-")}var h=i.add(s[o]).round();r.setTransform(this._container,Nn[o]+" translate("+h.x+"px,"+h.y+"px)"),jn(this._container,o,"popup")}},n.prototype._onClickClose=function(){this.remove()},n}(t.Evented),Qn={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,Map:In,NavigationControl:Fn,GeolocateControl:Hn,AttributionControl:En,ScaleControl:Yn,FullscreenControl:Zn,Popup:Kn,Marker:Un,Style:Re,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return It.workerCount},set workerCount(t){It.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return Qn}),r},"object"==typeof r&&"undefined"!=typeof e?e.exports=a():(n=n||self).mapboxgl=a()},{}],428:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r};var n=t("convex-hull");function a(t,e,r){for(var n=new Array(t),a=0;a<t;++a)n[a]=0,a===e&&(n[a]+=.5),a===r&&(n[a]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],o=0;o<=t;++o)if(e&1<<o){r.push(a(t,o-1,o-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(a(t,o-1,s-1)),i.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],h=[];for(s=0;s<u.length;++s){if(!i[u[s]])continue t;h.push(i[u[s]].slice())}c.push(h)}return c}},{"convex-hull":131}],429:[function(t,e,r){var n=t("./normalize"),a=t("gl-mat4/create"),i=t("gl-mat4/clone"),o=t("gl-mat4/determinant"),s=t("gl-mat4/invert"),l=t("gl-mat4/transpose"),c={length:t("gl-vec3/length"),normalize:t("gl-vec3/normalize"),dot:t("gl-vec3/dot"),cross:t("gl-vec3/cross")},u=a(),h=a(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,a){t[0]=e[0]*n+r[0]*a,t[1]=e[1]*n+r[1]*a,t[2]=e[2]*n+r[2]*a}e.exports=function(t,e,r,a,v,m){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),v||(v=[0,0,0,1]),m||(m=[0,0,0,1]),!n(u,t))return!1;if(i(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8))return!1;var y,x,b,_,w,k,T,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(f[0]=A,f[1]=M,f[2]=S,f[3]=P,!s(h,h))return!1;l(h,h),y=v,b=h,_=(x=f)[0],w=x[1],k=x[2],T=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*T,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*T,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*T,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*T}else v[0]=v[1]=v[2]=0,v[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),a[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-a[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),a[0]/=r[1],a[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-a[1]),a[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-a[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return m[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),m[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),m[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),m[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(m[0]=-m[0]),p[0][2]>p[2][0]&&(m[1]=-m[1]),p[1][0]>p[0][1]&&(m[2]=-m[2]),!0}},{"./normalize":430,"gl-mat4/clone":261,"gl-mat4/create":262,"gl-mat4/determinant":263,"gl-mat4/invert":267,"gl-mat4/transpose":278,"gl-vec3/cross":335,"gl-vec3/dot":340,"gl-vec3/length":350,"gl-vec3/normalize":357}],430:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,a=0;a<16;a++)t[a]=e[a]*n;return!0}},{}],431:[function(t,e,r){var n=t("gl-vec3/lerp"),a=t("mat4-recompose"),i=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=i(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=i(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),a(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{"gl-mat4/determinant":263,"gl-vec3/lerp":351,"mat4-decompose":429,"mat4-recompose":432,"quat-slerp":484}],432:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},a=(n.create(),n.create());e.exports=function(t,e,r,i,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(a),0!==i[2]&&(a[9]=i[2],n.multiply(t,t,a)),0!==i[1]&&(a[9]=0,a[8]=i[1],n.multiply(t,t,a)),0!==i[0]&&(a[8]=0,a[4]=i[0],n.multiply(t,t,a)),n.scale(t,t,r),t}},{"gl-mat4/create":262,"gl-mat4/fromRotationTranslation":265,"gl-mat4/identity":266,"gl-mat4/multiply":269,"gl-mat4/scale":276,"gl-mat4/translate":277}],433:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],434:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("mat4-interpolate"),i=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),h=(t("gl-mat4/scale"),t("gl-vec3/normalize")),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else a(o,f,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],h(g,g);var v=this.computedInverse;i(v,o);var m=this.computedEye,y=v[15];m[0]=v[12]/y,m[1]=v[13]/y,m[2]=v[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=m[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||f,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var a=0,i=0;i<3;++i)a+=Math.pow(r[i]-e[i],2);a=Math.log(Math.sqrt(a)),this.computedRadius[0]=a},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var a=this.computedInverse;e&&s(a,a,e),r&&o(a,a,r),n&&l(a,a,n),this.setMatrix(t,i(this.computedMatrix,a))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var a=this.computedInverse;u(a,a,g),this.setMatrix(t,i(a,a))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var a=this.computedMatrix;u(a,a,g),this.setMatrix(t,a)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{"binary-search-bounds":92,"gl-mat4/invert":267,"gl-mat4/lookAt":268,"gl-mat4/rotateX":273,"gl-mat4/rotateY":274,"gl-mat4/rotateZ":275,"gl-mat4/scale":276,"gl-mat4/translate":277,"gl-vec3/normalize":357,"mat4-interpolate":431}],435:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),a=0;a<e;++a)r[a]=a;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var i=new Array(e),a=0;a<e;++a)i[a]=a;i.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[i[0],i[1]],s=[i[0],i[1]],a=2;a<e;++a){for(var l=i[a],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,a=0,f=o.length;a<f;++a)r[h++]=o[a];for(var p=s.length-2;p>0;--p)r[h++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":508}],436:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,a=0,i=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==a||u!==i||l(s))&&(r=0|t,a=c||0,i=u||0,e&&e(r,a,i,o))}function u(t){c(0,t)}function h(){(r||a||i||o.shift||o.alt||o.meta||o.control)&&(a=i=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,a,i,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function v(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}v();var m={element:t};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(e){e?v():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return a},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=t("mouse-event")},{"mouse-event":438}],437:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var a=t.clientX||0,i=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],438:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],439:[function(t,e,r){"use strict";var n=t("to-px");e.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var a=n("ex",t),i=function(t){r&&t.preventDefault();var n=t.deltaX||0,i=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=a;break;case 2:l=window.innerHeight}if(i*=l,o*=l,(n*=l)||i||o)return e(n,i,o,t)};return t.addEventListener("wheel",i),i}},{"to-px":537}],440:[function(t,e,r){"use strict";var n=t("typedarray-pool");function a(t){return"a"+t}function i(t){return"d"+t}function o(t,e){return"c"+t+"_"+e}function s(t){return"s"+t}function l(t,e){return"t"+t+"_"+e}function c(t){return"o"+t}function u(t){return"x"+t}function h(t){return"p"+t}function f(t,e){return"d"+t+"_"+e}function p(t){return"i"+t}function d(t,e){return"u"+t+"_"+e}function g(t){return"b"+t}function v(t){return"y"+t}function m(t){return"e"+t}function y(t){return"v"+t}e.exports=function(t){function e(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&e("Must specify arguments");var r=t.order;Array.isArray(r)||e("Must specify order");var M=t.arrayArguments||1;M<1&&e("Must have at least one array argument");var S=t.scalarArguments||0;S<0&&e("Scalar arg count must be > 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var E=t.getters||[],L=new Array(M),C=0;C<M;++C)E.indexOf(C)>=0?L[C]=!0:L[C]=!1;return function(t,e,r,M,S,E){var L=E.length,C=S.length;if(C<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var P="extractContour"+S.join("_"),O=[],z=[],I=[],D=0;D<L;++D)I.push(a(D));for(var D=0;D<M;++D)I.push(u(D));for(var D=0;D<C;++D)z.push(s(D)+"="+a(0)+".shape["+D+"]|0");for(var D=0;D<L;++D){z.push(i(D)+"="+a(D)+".data",c(D)+"="+a(D)+".offset|0");for(var R=0;R<C;++R)z.push(l(D,R)+"="+a(D)+".stride["+R+"]|0")}for(var D=0;D<L;++D){z.push(h(D)+"="+c(D)),z.push(o(D,0));for(var R=1;R<1<<C;++R){for(var F=[],B=0;B<C;++B)R&1<<B&&F.push("-"+l(D,B));z.push(f(D,R)+"=("+F.join("")+")|0"),z.push(o(D,R)+"=0")}}for(var D=0;D<L;++D)for(var R=0;R<C;++R){var N=[l(D,S[R])];R>0&&N.push(l(D,S[R-1])+"*"+s(S[R-1])),z.push(d(D,S[R])+"=("+N.join("-")+")|0")}for(var D=0;D<C;++D)z.push(p(D)+"=0");z.push(_+"=0");for(var j=["2"],D=C-2;D>=0;--D)j.push(s(S[D]));z.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),z.push(g(0)+"=0");for(var R=1;R<1<<C;++R){for(var V=[],U=[],B=0;B<C;++B)R&1<<B&&(0===U.length?V.push("1"):V.unshift(U.join("*"))),U.push(s(S[B]));var q="";V[0].indexOf(s(S[C-2]))<0&&(q="-");var H=A(C,R,S);z.push(m(H)+"=(-"+V.join("-")+")|0",v(H)+"=("+q+V.join("-")+")|0",g(H)+"=0")}function G(t,e){O.push("for(",p(S[t]),"=",e,";",p(S[t]),"<",s(S[t]),";","++",p(S[t]),"){")}function Y(t){for(var e=0;e<L;++e)O.push(h(e),"+=",d(e,S[t]),";");O.push("}")}function W(){for(var t=1;t<1<<C;++t)O.push(T,"=",m(t),";",m(t),"=",v(t),";",v(t),"=",T,";")}z.push(y(0)+"=0",T+"=0"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<L;++e)E[e]?O.push(o(e,0),"=",i(e),".get(",h(e),");"):O.push(o(e,0),"=",i(e),"[",h(e),"];");for(var r=[],e=0;e<L;++e)r.push(o(e,0));for(var e=0;e<M;++e)r.push(u(e));O.push(g(0),"=",b,"[",k,"]=phase(",r.join(),");");for(var n=1;n<1<<C;++n)O.push(g(n),"=",b,"[",k,"+",m(n),"];");for(var a=[],n=1;n<1<<C;++n)a.push("("+g(0)+"!=="+g(n)+")");O.push("if(",a.join("||"),"){");for(var s=[],e=0;e<C;++e)s.push(p(e));for(var e=0;e<L;++e){s.push(o(e,0));for(var n=1;n<1<<C;++n)E[e]?O.push(o(e,n),"=",i(e),".get(",h(e),"+",f(e,n),");"):O.push(o(e,n),"=",i(e),"[",h(e),"+",f(e,n),"];"),s.push(o(e,n))}for(var e=0;e<1<<C;++e)s.push(g(e));for(var e=0;e<M;++e)s.push(u(e));O.push("vertex(",s.join(),");",y(0),"=",x,"[",k,"]=",_,"++;");for(var l=(1<<C)-1,c=g(l),n=0;n<C;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,v=g(d),w=[],T=d;T>0;T=T-1&d)w.push(x+"["+k+"+"+m(T)+"]");w.push(y(0));for(var T=0;T<L;++T)1&n?w.push(o(T,l),o(T,d)):w.push(o(T,d),o(T,l));1&n?w.push(c,v):w.push(v,c);for(var T=0;T<M;++T)w.push(u(T));O.push("if(",c,"!==",v,"){","face(",w.join(),")}")}O.push("}",k,"+=1;")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<L;++e)E[e]?r.push(i(e)+".get("+h(e)+")"):r.push(i(e)+"["+h(e)+"]");for(var e=0;e<M;++e)r.push(u(e));O.push(b,"[",k,"++]=phase(",r.join(),");");for(var e=0;e<t;++e)Y(e);for(var n=0;n<L;++n)O.push(h(n),"+=",d(n,S[t]),";")}(e);O.push("if(",s(S[e]),">0){",p(S[e]),"=1;");t(e-1,r|1<<S[e]);for(var n=0;n<L;++n)O.push(h(n),"+=",d(n,S[e]),";");e===C-1&&(O.push(k,"=0;"),W());G(e,2);t(e-1,r);e===C-1&&(O.push("if(",p(S[C-1]),"&1){",k,"=0;}"),W());Y(e);O.push("}")}(C-1,0),O.push("freeUint32(",x,");freeUint32(",b,");");var X=["'use strict';","function ",P,"(",I.join(),"){","var ",z.join(),";",O.join(""),"}","return ",P].join("");return new Function("vertex","face","phase","mallocUint32","freeUint32",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,L)};var x="V",b="P",_="N",w="Q",k="X",T="T";function A(t,e,r){for(var n=0,a=0;a<t;++a)e&1<<a&&(n|=1<<r[a]);return n}},{"typedarray-pool":543}],441:[function(t,e,r){"use strict";var n=t("cwise/lib/wrapper")({args:["index","array","scalar"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{"cwise/lib/wrapper":150}],442:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error("ndarray-gradient: invalid boundary conditions")}else r=n(e.dimension,"string"==typeof r?r:"clamp");if(t.dimension!==e.dimension+1)throw new Error("ndarray-gradient: output dimension must be +1 input dimension");if(t.shape[e.dimension]!==e.dimension)throw new Error("ndarray-gradient: output shape must match input shape");for(var a=0;a<e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error("ndarray-gradient: shape mismatch");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(m=o[e])return m;var r=t.length,n=["function gradient(dst,src){var s=src.shape.slice();"];function a(e){for(var a=r-e.length,i=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),i.push("1"),o.push("s["+l+"]-2"));var c=".lo("+i.join()+").hi("+o.join()+")";if(0===i.length&&(c=""),a>0){n.push("if(1");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",a,"(src.pick(",s.join(),")",c);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,h="dst.pick("+s.join()+","+u+")"+c;switch(t[u]){case"clamp":var f=s.slice(),p=s.slice();e[l]<0?f[u]="s["+u+"]-2":p[u]="1",0===a?n.push("if(s[",u,"]>1){dst.set(",s.join(),",",u,",0.5*(src.get(",f.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",h,",src.pick(",f.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",h,");};");break;case"mirror":0===a?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",h,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===a?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",h,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",h,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}a>0&&n.push("};")}for(var s=0;s<1<<r;++s){for(var h=[],f=0;f<r;++f)s&1<<f&&h.push(f+1);for(var p=0;p<1<<h.length;++p){for(var d=h.slice(),f=0;f<h.length;++f)p&1<<f&&(d[f]=-d[f]);a(d)}}n.push("return dst;};return gradient");for(var g=["diff","zero"],v=[l,c],s=1;s<=r;++s)g.push("grad"+s),v.push(u(s));g.push(n.join(""));var m=Function.apply(void 0,g).apply(void 0,v);return i[e]=m,m}(r)(t,e)};var n=t("dup"),a=t("cwise-compiler"),i={},o={},s={body:"",args:[],thisVars:[],localVars:[]},l=a({args:["array","array","array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1},{name:"left",lvalue:!1,rvalue:!0,count:1},{name:"right",lvalue:!1,rvalue:!0,count:1}],body:"out=0.5*(left-right)",thisVars:[],localVars:[]},funcName:"cdiff"}),c=a({args:["array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1}],body:"out=0",thisVars:[],localVars:[]},funcName:"zero"});function u(t){if(t in i)return i[t];for(var e=[],r=0;r<t;++r)e.push("out",r,"s=0.5*(inp",r,"l-inp",r,"r);");var o=["array"],l=["junk"];for(r=0;r<t;++r){o.push("array"),l.push("out"+r+"s");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push("inp"+r+"l","inp"+r+"r")}return i[t]=a({args:o,pre:s,post:s,body:{body:e.join(""),args:l.map(function(t){return{name:t,lvalue:0===t.indexOf("out"),rvalue:0===t.indexOf("inp"),count:"junk"!==t|0}}),thisVars:[],localVars:[]},funcName:"fdTemplate"+t})}},{"cwise-compiler":147,dup:171}],443:[function(t,e,r){"use strict";var n=t("ndarray-warp"),a=t("gl-matrix-invert");e.exports=function(t,e,r){var i=e.dimension,o=a([],r);return n(t,e,function(t,e){for(var r=0;r<i;++r){t[r]=o[(i+1)*i+r];for(var n=0;n<i;++n)t[r]+=o[(i+1)*n+r]*e[n]}var a=o[(i+1)*(i+1)-1];for(n=0;n<i;++n)a+=o[(i+1)*n+i]*e[n];var s=1/a;for(r=0;r<i;++r)t[r]*=s;return t}),t}},{"gl-matrix-invert":279,"ndarray-warp":450}],444:[function(t,e,r){"use strict";function n(t,e){var r=Math.floor(e),n=e-r,a=0<=r&&r<t.shape[0],i=0<=r+1&&r+1<t.shape[0];return(1-n)*(a?+t.get(r):0)+n*(i?+t.get(r+1):0)}function a(t,e,r){var n=Math.floor(e),a=e-n,i=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],h=i&&c?t.get(n,s):0,f=i&&u?t.get(n,s+1):0;return(1-l)*((1-a)*h+a*(o&&c?t.get(n+1,s):0))+l*((1-a)*f+a*(o&&u?t.get(n+1,s+1):0))}function i(t,e,r,n){var a=Math.floor(e),i=e-a,o=0<=a&&a<t.shape[0],s=0<=a+1&&a+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),p=n-f,d=0<=f&&f<t.shape[2],g=0<=f+1&&f+1<t.shape[2],v=o&&u&&d?t.get(a,l,f):0,m=o&&h&&d?t.get(a,l+1,f):0,y=s&&u&&d?t.get(a+1,l,f):0,x=s&&h&&d?t.get(a+1,l+1,f):0,b=o&&u&&g?t.get(a,l,f+1):0,_=o&&h&&g?t.get(a,l+1,f+1):0;return(1-p)*((1-c)*((1-i)*v+i*y)+c*((1-i)*m+i*x))+p*((1-c)*((1-i)*b+i*(s&&u&&g?t.get(a+1,l,f+1):0))+c*((1-i)*_+i*(s&&h&&g?t.get(a+1,l+1,f+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return a(t,e,r);case 3:return i(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,a=new Array(n),i=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],a[e]=Math.floor(r),i[e]=r-a[e],o[e]=0<=a[e]&&a[e]<t.shape[e],s[e]=0<=a[e]+1&&a[e]+1<t.shape[e];var l,c,u,h=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=i[l],u+=t.stride[l]*(a[l]+1)}else{if(!o[l])continue t;c*=1-i[l],u+=t.stride[l]*a[l]}h+=c*t.data[u]}return h}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=a,e.exports.d3=i},{}],445:[function(t,e,r){"use strict";var n=t("cwise-compiler"),a={body:"",args:[],thisVars:[],localVars:[]};function i(t){if(!t)return a;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function o(t){for(var e=[],r=0;r<t.args.length;++r)e.push("a"+r);return new Function("P",["return function ",t.funcName,"_ndarrayops(",e.join(","),") {P(",e.join(","),");return a0}"].join(""))(function(t){return n({args:t.args,pre:i(t.pre),body:i(t.body),post:i(t.proc),funcName:t.funcName})}(t))}var s={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:e}),r[e+"eq"]=o({args:["array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"})}}();var h=["max","min","atan2","pow"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e}),r[e+"s"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e+"s"}),r[e+"eq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"}),r[e+"seq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"seq"})}}();var f=["atan2","pow"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e+"op"]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"op"}),r[e+"ops"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"ops"}),r[e+"opeq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opeq"}),r[e+"opseq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opseq"})}}(),r.any=n({args:["array"],pre:a,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),r.all=n({args:["array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),r.sum=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),r.prod=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),r.norm2squared=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),r.norm2=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),r.norminf=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.argmin=n({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.argmax=n({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":147}],446:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("./doConvert.js");e.exports=function(t,e){for(var r=[],i=t,o=1;Array.isArray(i);)r.push(i.length),o*=i.length,i=i[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),a(e,t),e)}},{"./doConvert.js":447,ndarray:451}],447:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":147}],448:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=32;function i(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push("s"+r);for(r=0;r<t;++r)e.push("n"+r);for(r=1;r<t;++r)e.push("d"+r);for(r=1;r<t;++r)e.push("e"+r);for(r=1;r<t;++r)e.push("f"+r);return e}e.exports=function(t,e){var r=["'use strict'"],n=["ndarraySortWrapper",t.join("d"),e].join("");r.push(["function ",n,"(",["array"].join(","),"){"].join(""));for(var s=["data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride"],l=0;l<t.length;++l)s.push(["s",l,"=stride[",l,"]|0,n",l,"=shape[",l,"]|0"].join(""));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l)0!==(p=t[l])&&(0===u.length?c[p]="1":c[p]=u.join("*"),u.push("n"+p));var h=-1,f=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(h>0?s.push(["d",d,"=s",d,"-d",h,"*n",h].join("")):s.push(["d",d,"=s",d].join("")),h=d),0!=(p=t.length-1-l)&&(f>0?s.push(["e",p,"=s",p,"-e",f,"*n",f,",f",p,"=",c[p],"-f",f,"*n",f].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),f=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",a,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var v=new Function("insertionSort","quickSort",r.join("\n")),m=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),a=["left","right","data","offset"].concat(o(t.length)),s=i(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push("i"+u),c.push("n"+u);s?l.push("scratch=malloc("+c.join("*")+")"):l.push("scratch=new Array("+c.join("*")+")"),l.push("dptr","sptr","a","b")}else l.push("scratch");function h(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function f(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}if(r.push(["function ",n,"(",a.join(","),"){var ",l.join(",")].join(""),"for(i=left+1;i<=right;++i){","j=i;ptr+=s0","cptr=ptr"),t.length>1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push("scratch[dptr++]=",h("sptr")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push("sptr+=d"+p,"}");for(r.push("__g:while(j--\x3eleft){","dptr=0","sptr=cptr-s0"),u=1;u<t.length;++u)1===u&&r.push("__l:"),r.push(["for(i",u,"=0;i",u,"<n",u,";++i",u,"){"].join(""));for(r.push(["a=",h("sptr"),"\nb=scratch[dptr]\nif(a<b){break __g}\nif(a>b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(f("dptr",h("sptr"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(["dptr+=d",p,";sptr+=d",p].join(""),"}");for(r.push("cptr-=s0\n}"),r.push("dptr=cptr;sptr=0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(f("dptr","scratch[sptr++]")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push("dptr+=d"+p,"}")}}else r.push("scratch="+h("ptr"),"while((j--\x3eleft)&&("+h("cptr-s0")+">scratch)){",f("cptr",h("cptr-s0")),"cptr-=s0","}",f("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=i(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var h=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var f=[],p=1;p<t.length;++p)f.push("n"+p),h.push("i"+p);for(p=0;p<8;++p)h.push("b_ptr"+p);h.push("ptr3","ptr4","ptr5","ptr6","ptr7","pivot_ptr","ptr_shift","elementSize="+f.join("*")),c?h.push("pivot1=malloc(elementSize)","pivot2=malloc(elementSize)"):h.push("pivot1=new Array(elementSize),pivot2=new Array(elementSize)")}else h.push("pivot1","pivot2");function d(t){return["(offset+",t,"*s0)"].join("")}function g(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function v(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}function m(e,r,a){if(1===e.length)n.push("ptr0="+d(e[0]));else for(var i=0;i<e.length;++i)n.push(["b_ptr",i,"=s0*",e[i]].join(""));for(r&&n.push("pivot_ptr=0"),n.push("ptr_shift=offset"),i=t.length-1;i>=0;--i)0!==(o=t[i])&&n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(e.length>1)for(i=0;i<e.length;++i)n.push(["ptr",i,"=b_ptr",i,"+ptr_shift"].join(""));for(n.push(a),r&&n.push("++pivot_ptr"),i=0;i<t.length;++i){var o;0!==(o=t[i])&&(e.length>1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,a,i){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o<r.length;++o)n.push(["b_ptr",o,"=s0*",r[o]].join(""));n.push("ptr_shift=offset")}for(a&&n.push("pivot_ptr=0"),e&&n.push(e+":"),o=1;o<t.length;++o)n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(r.length>1)for(o=0;o<r.length;++o)n.push(["ptr",o,"=b_ptr",o,"+ptr_shift"].join(""));for(n.push(i),o=t.length-1;o>=1;--o)a&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var a="el"+e,i="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[a,i],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",a,";",a,"=",i,";",i,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(a)),">",g(d(i)),"){tmp0=",a,";",a,"=",i,";",i,"=tmp0}"].join(""))}function _(e,r){t.length>1?m([e,r],!1,v("ptr0",g("ptr1"))):n.push(v(d(e),g(d(r))))}function w(e,r,a){if(t.length>1){var i="__l"+ ++u;y(i,[r],!0,[e,"=",g("ptr0"),"-pivot",a,"[pivot_ptr]\n","if(",e,"!==0){break ",i,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",a].join(""))}function k(e,r){t.length>1?m([e,r],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join(""))}function T(e,r,a){t.length>1?(m([e,r,a],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join("")),n.push("++"+r,"--"+a)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(a),"\n","++",r,"\n","--",a,"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join(""))}function A(t,e){k(t,e),n.push("--"+e)}function M(e,r,a){t.length>1?m([e,r],!0,[v("ptr0",g("ptr1")),"\n",v("ptr1",["pivot",a,"[pivot_ptr]"].join(""))].join("")):n.push(v(d(e),g(d(r))),v(d(r),"pivot"+a))}function S(e,r){n.push(["if((",r,"-",e,")<=",a,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,a){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),m([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(a,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",a,"}"].join(""))}return n.push("var "+h.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?m(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",v("ptr5","x"),"\n",v("ptr6","y"),"\n",v("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",v(d("index1"),"x"),"\n",v(d("index3"),"y"),"\n",v(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),T("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),T("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),M("left","(less-1)",1),M("right","(great+1)",2),S("left","(less-2)"),S("(great+2)","right"),n.push("if(pivots_are_equal){"),x(),n.push("return"),n.push("}"),n.push("if(less<index1&&great>index5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),T("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),x(),S("less","great"),n.push("}return "+s),t.length>1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,m);return v(m,y)}},{"typedarray-pool":543}],449:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),a={};e.exports=function(t){var e=t.order,r=t.dtype,i=[e,r].join(":"),o=a[i];return o||(a[i]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":448}],450:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:i(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:a(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":150,"ndarray-linear-interpolate":444}],451:[function(t,e,r){var n=t("iota-array"),a=t("is-buffer"),i="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=["View",e,"d",t].join("");e<0&&(r="View_Nil"+t);var a="generic"===t;if(-1===e){var i="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(i)()}if(0===e){i="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(a?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(a?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",i)(c[t][0])}i=["'use strict'"];var o=n(e),l=o.map(function(t){return"i"+t}),u="this.offset+"+o.map(function(t){return"this.stride["+t+"]*i"+t}).join("+"),h=o.map(function(t){return"b"+t}).join(","),f=o.map(function(t){return"c"+t}).join(",");i.push("function "+r+"(a,"+h+","+f+",d){this.data=a","this.shape=["+h+"]","this.stride=["+f+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+t+"'","proto.dimension="+e),i.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+o.map(function(t){return"this.shape["+t+"]"}).join("*"),"}})"),1===e?i.push("proto.order=[0]"):(i.push("Object.defineProperty(proto,'order',{get:"),e<4?(i.push("function "+r+"_order(){"),2===e?i.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&i.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):i.push("ORDER})")),i.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),a?i.push("return this.data.set("+u+",v)}"):i.push("return this.data["+u+"]=v}"),i.push("proto.get=function "+r+"_get("+l.join(",")+"){"),a?i.push("return this.data.get("+u+")}"):i.push("return this.data["+u+"]}"),i.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),i.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});i.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'&&i"+g+">=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");i.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),i.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'){d=i"+g+"|0;if(d<0){c+=b"+g+"*(a"+g+"-1);a"+g+"=ceil(-a"+g+"/d)}else{a"+g+"=ceil(a"+g+"/d)}b"+g+"*=d}");i.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"b"+t}).join(",")+",c)}");var v=new Array(e),m=new Array(e);for(g=0;g<e;++g)v[g]="a[i"+g+"]",m[g]="b[i"+g+"]";i.push("proto.transpose=function "+r+"_transpose("+l+"){"+l.map(function(t,e){return t+"=("+t+"===undefined?"+e+":"+t+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+v.join(",")+","+m.join(",")+",this.offset)}"),i.push("proto.pick=function "+r+"_pick("+l+"){var a=[],b=[],c=this.offset");for(g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'&&i"+g+">=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return i.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),i.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",i.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var h=function(t){if(a(t))return"buffer";if(i)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped"}return Array.isArray(t)?"array":"generic"}(t),f=c[h];f.length<=o+1;)f.push(l(h,f.length-1));return(0,f[o+1])(t,e,r,n)}},{"iota-array":417,"is-buffer":419}],452:[function(t,e,r){"use strict";var n=t("double-bits"),a=Math.pow(2,-1074),i=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===i?(r+=1,o=0):o+=1:0===o?(o=i,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":168}],453:[function(t,e,r){var n=Math.PI,a=c(120);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}function s(t,e,r,i,o,c,u,h,f,p){if(p)k=p[0],T=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(h=(d=l(h,f,-o)).x))/2,v=(e-(f=d.y))/2,m=g*g/(r*r)+v*v/(i*i);m>1&&(r*=m=Math.sqrt(m),i*=m);var y=r*r,x=i*i,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*v*v-x*g*g)/(y*v*v+x*g*g)));b==1/0&&(b=1);var _=b*r*v/i+(t+h)/2,w=b*-i*g/r+(e+f)/2,k=Math.asin(((e-w)/i).toFixed(9)),T=Math.asin(((f-w)/i).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(T=h<_?n-T:T)<0&&(T=2*n+T),u&&k>T&&(k-=2*n),!u&&T>k&&(T-=2*n)}if(Math.abs(T-k)>a){var A=T,M=h,S=f;T=k+a*(u&&T>k?1:-1);var E=s(h=_+r*Math.cos(T),f=w+i*Math.sin(T),r,i,o,0,u,M,S,[T,A,_,w])}var L=Math.tan((T-k)/4),C=4/3*r*L,P=4/3*i*L,O=[2*t-(t+C*Math.sin(k)),2*e-(e-P*Math.cos(k)),h+C*Math.sin(T),f-P*Math.cos(T),h,f];if(p)return O;E&&(O=O.concat(E));for(var z=0;z<O.length;){var I=l(O[z],O[z+1],o);O[z++]=I.x,O[z++]=I.y}return O}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,a=0,l=0,u=0,h=null,f=null,p=0,d=0,g=0,v=t.length;g<v;g++){var m=t[g],y=m[0];switch(y){case"M":l=m[1],u=m[2];break;case"A":(m=s(p,d,m[1],m[2],c(m[3]),m[4],m[5],m[6],m[7])).unshift("C"),m.length>7&&(r.push(m.splice(0,7)),m.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-a),m=["C",x,b,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),m=o(p,d,h,f,m[1],m[2]);break;case"Q":h=m[1],f=m[2],m=o(p,d,m[1],m[2],m[3],m[4]);break;case"L":m=i(p,d,m[1],m[2]);break;case"H":m=i(p,d,m[1],d);break;case"V":m=i(p,d,p,m[1]);break;case"Z":m=i(p,d,l,u)}e=y,p=m[m.length-2],d=m[m.length-1],m.length>4?(n=m[m.length-4],a=m[m.length-3]):(n=p,a=d),r.push(m)}return r}},{}],454:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o)a[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],h=0;h<s.length;++h){l=c,c=u,u=s[(h+1)%s.length];for(var f=e[l],p=e[c],d=e[u],g=new Array(3),v=0,m=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],v+=g[x]*g[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(v*y>i){var b=a[c],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(m[w]*g[k]-m[k]*g[w])}}}for(o=0;o<n;++o){b=a[o];var T=0;for(x=0;x<3;++x)T+=b[x]*b[x];if(T>i)for(_=1/Math.sqrt(T),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),h=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],h[c]=l[2][c]-l[0][c];var f=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;f[c]=u[d]*h[g]-u[g]*h[d],p+=f[c]*f[c]}p=p>i?1/Math.sqrt(p):0;for(c=0;c<3;++c)f[c]*=p;a[o]=f}return a}},{}],455:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))a.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)i.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],456:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i,o,s,l,c){var u=e+i+c;if(h>0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-i)/h,t[3]=.5*h}else{var f=Math.max(e,i,c),h=Math.sqrt(2*f-u+1);e>=f?(t[0]=.5*h,t[1]=.5*(a+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):i>=f?(t[0]=.5*(r+a)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-a)/h)}return t}},{}],457:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var a=new h(r,e,Math.log(n));a.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&a.lookAt(0,t.eye,t.center,t.up);return a};var n=t("filtered-vector"),a=t("gl-mat4/lookAt"),i=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=c(r,n,a,i);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=a/o,t[3]=i/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;i(r,e);var n=this.computedCenter,a=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);a[0]=n[0]+s*r[2],a[1]=n[1]+s*r[6],a[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*a[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=a[1],o=a[5],s=a[9],c=l(i,o,s);i/=c,o/=c,s/=c;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=l(u-=i*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var g=a[2],v=a[6],m=a[10],y=g*i+v*o+m*s,x=g*u+v*h+m*f,b=l(g-=y*i+x*u,v-=y*o+x*h,m-=y*s+x*f);g/=b,v/=b,m/=b;var _=u*e+i*r,w=h*e+o*r,k=f*e+s*r;this.center.move(t,_,w,k);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(t,Math.log(T))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var a=this.computedMatrix,i=a[0],o=a[4],s=a[8],u=a[1],h=a[5],f=a[9],p=a[2],d=a[6],g=a[10],v=e*i+r*u,m=e*o+r*h,y=e*s+r*f,x=-(d*y-g*m),b=-(g*v-p*y),_=-(p*m-d*v),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var T=this.computedRotation,A=T[0],M=T[1],S=T[2],E=T[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var I=c(L,C,P,O);I>1e-6?(L/=I,C/=I,P/=I,O/=I):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;a(i,e,r,n);var o=this.computedRotation;s(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var a=n[15];if(Math.abs(a)>1e-6){var i=n[12]/a,l=n[13]/a,c=n[14]/a;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,i-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var a=t.distance;a&&a>0&&this.radius.set(e,Math.log(a)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":456,"filtered-vector":228,"gl-mat4/fromQuat":264,"gl-mat4/invert":267,"gl-mat4/lookAt":268}],458:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":501}],459:[function(t,e,r){"use strict";function n(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],a=e.escape||"___",i=!!e.flat;n.forEach(function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function i(e,i,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),a+s+a}r.forEach(function(t,n){for(var a,o=0;t!=a;)if(a=t,t=t.replace(e,i),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t}),n=n.reverse(),r=r.map(function(e){return n.forEach(function(r){e=e.replace(new RegExp("(\\"+a+r+"\\"+a+")","g"),t[0]+"$1"+t[1])}),e})});var o=new RegExp("\\"+a+"([0-9]+)\\"+a);return i?r:function t(e,r,n){for(var a,i=[],s=0;a=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");i.push(e.slice(0,a.index)),i.push(t(r[a[1]],r)),e=e.slice(a.index+a[0].length)}return i.push(e),i}(r[0],r)}function a(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",a=t[0];if(!a)return"";for(var i=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;a!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=a,a=a.replace(i,s)}return a}return t.reduce(function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r},"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function i(t,e){return Array.isArray(t)?a(t,e):n(t,e)}i.parse=n,i.stringify=a,e.exports=i},{}],460:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":466}],461:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(a,function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(i);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(e.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==n[o])return a.unshift(r),e.push(a);if(a.length<n[o])throw new Error("malformed path data");e.push([r].concat(a.splice(0,n[o])))}}),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var i=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],462:[function(t,e,r){e.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},{}],463:[function(t,e,r){(function(t){(function(){var r,n,a,i,o,s;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,i=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=i-s):Date.now?(e.exports=function(){return Date.now()-a},a=Date.now()):(e.exports=function(){return(new Date).getTime()-a},a=(new Date).getTime())}).call(this)}).call(this,t("_process"))},{_process:483}],464:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,i=0;i<e;++i)for(var o=0;o<i;++o)if(t[i]<t[o])r=-r;else if(t[i]===t[o])return 0;return r}for(var s=a.mallocUint8(e),i=0;i<e;++i)s[i]=0;for(var r=1,i=0;i<e;++i)if(!s[i]){var l=1;s[i]=1;for(var o=t[i];o!==i;o=t[o]){if(s[o])return a.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return a.freeUint8(s),r};var n=32,a=t("typedarray-pool")},{"typedarray-pool":543}],465:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=t("invert-permutation");r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,i,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(a(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)i=l[o],r=s[o],s[o]=s[i],s[i]=r,l[o]=l[r],l[r]=i,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,a,i,o=1;for((r=r||new Array(t))[0]=0,i=1;i<t;++i)r[i]=i,o=o*i|0;for(i=t-1;i>0;--i)e=e-(n=e/o|0)*o|0,o=o/i|0,a=0|r[i],r[i]=0|r[n],r[n]=0|a;return r}},{"invert-permutation":416,"typedarray-pool":543}],466:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,i,o={};if("string"==typeof e&&(e=a(e)),Array.isArray(e)){var s={};for(i=0;i<e.length;i++)s[e[i]]=!0;e=s}for(n in e)e[n]=a(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(i=0;i<c.length;i++){var u=c[i];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var h=i;h<c.length;h++)l[c[h]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function a(t){return n[t]?n[t]:("string"==typeof t&&(t=n[t]=t.split(/\s*,\s*|\s+/)),t)}},{}],467:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,a=t.length,i=[new Array(r),new Array(r)],o=0;o<r;++o)i[0][o]=[],i[1][o]=[];for(var o=0;o<a;++o){var s=t[o];i[0][s[0]].push(s),i[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)i[0][o].length+i[1][o].length===0&&l.push([o]);function c(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,a){for(var o,s,l,u=0;u<2;++u)if(i[u][r].length>0){o=i[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=i[h][r],p=0;p<f.length;++p){var d=f[p],g=d[1^h],v=n(e[t],e[r],e[s],e[g]);v>0&&(o=d,s=g,l=h)}return a?s:(o&&c(o,l),s)}function h(t,r){var a=i[r][t][0],o=[t];c(a,r);for(var s=a[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(i[0][t].length+i[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];i[p][o].length>0;){i[0][o].length;var g=h(o,p);f(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":128}],468:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),a=new Array(e.length),i=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;i[s]=l,a[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();a[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var h=u[s];0==--i[h]&&o.push(h)}}for(var f=new Array(e.length),p=[],s=0;s<e.length;++s)if(a[s]){var c=p.length;f[s]=c,p.push(e[s])}else f[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];a[g[0]]&&a[g[1]]&&d.push([f[g[0]],f[g[1]]])}return[d,p]};var n=t("edges-to-adjacency-list")},{"edges-to-adjacency-list":173}],469:[function(t,e,r){"use strict";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var h=(e=r[1]).length,f=(t.length,n(t,e.length)),p=0;p<h;++p)if(f[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=a(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],a=0;a<r;++a){var i=e[t[a]],l=e[t[(a+1)%r]],c=o(-i[0],i[1]),u=o(-i[0],l[1]),h=o(l[0],i[1]),f=o(l[0],l[1]);n=s(n,s(s(c,u),s(h,f)))}return n[n.length-1]>0})).length,v=new Array(g),m=new Array(g),p=0;p<g;++p){v[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=i([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],T=k.length,A=0;A<T;++A){var M=b(e[k[A]]);if(0!==M){M<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}m[p]=[_,p,y]}m.sort(function(t,e){return e[0]-t[0]});for(var p=0;p<g;++p)for(var y=m[p],S=y[1],E=y[2],w=0;w<g;++w)E[w]&&(v[w]=S);for(var L=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)L[p].push(v[p]),L[v[p]].push(p);for(var C={},P=u(h,!1),p=0;p<g;++p)for(var k=d[p],T=k.length,w=0;w<T;++w){var O=k[w],z=k[(w+1)%T],I=Math.min(O,z)+":"+Math.max(O,z);if(I in C){var D=C[I];L[D].push(p),L[p].push(D),P[O]=P[z]=!0}else C[I]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!P[t[r]])return!1;return!0}for(var F=[],B=u(g,-1),p=0;p<g;++p)v[p]!==p||R(d[p])?B[p]=-1:(F.push(p),B[p]=0);var r=[];for(;F.length>0;){var N=F.pop(),j=L[N];l(j,function(t,e){return t-e});var V,U=j.length,q=B[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(B[H]>=0)&&(B[H]=1^q,F.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t("edges-to-adjacency-list"),a=t("planar-dual"),i=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{"./lib/trim-leaves":468,"edges-to-adjacency-list":173,"planar-dual":467,"point-in-big-polygon":473,"robust-sum":513,"two-product":541,uniq:545}],470:[function(t,e,r){"use strict";e.exports=t("./quad")},{"./quad":472}],471:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],472:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("clamp"),i=t("parse-rect"),o=t("array-bounds"),s=t("pick-by-alias"),l=t("defined"),c=t("flatten-vertex-data"),u=t("is-obj"),h=t("dtype"),f=t("math-log2"),p=1073741824;function d(t,e){for(var r=e[0],n=e[1],i=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=a((t[2*l]-r)*i,0,1),s[2*l+1]=a((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,"float64"),e=s(e,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var r=l(e.maxDepth,255),a=l(e.bounds,o(t,2));a[0]===a[2]&&a[2]++,a[1]===a[3]&&a[3]++;var g,v=d(t,a),m=t.length>>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?g=new(h(e.dtype))(m):e.dtype&&(g=e.dtype,Array.isArray(g)&&(g.length=m));for(var y=0;y<m;++y)g[y]=y;var x=[],b=[],_=[],w=[];!function t(e,n,a,i,o,s){if(!i.length)return null;var l=x[o]||(x[o]=[]);var c=_[o]||(_[o]=[]);var u=b[o]||(b[o]=[]);var h=l.length;o++;if(o>r||s>p){for(var f=0;f<i.length;f++)l.push(i[f]),c.push(s),u.push(null,null,null,null);return h}l.push(i[0]);c.push(s);if(i.length<=1)return u.push(null,null,null,null),h;var d=.5*a;var g=e+d,m=n+d;var y=[],w=[],k=[],T=[];for(var A=1,M=i.length;A<M;A++){var S=i[A],E=v[2*S],L=v[2*S+1];E<g?L<m?y.push(S):w.push(S):L<m?k.push(S):T.push(S)}s<<=2;u.push(t(e,n,d,y,o,s),t(e,m,d,w,o,s+1),t(g,n,d,k,o,s+2),t(g,m,d,T,o,s+3));return h}(0,0,1,g,0,1);for(var k=0,T=0;T<x.length;T++){var A=x[T];if(g.set)g.set(A,k);else for(var M=0,S=A.length;M<S;M++)g[M+k]=A[M];var E=k+x[T].length;w[T]=[k,E],k=E}return g.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else e={};r.length||(r=a);var h=i.apply(void 0,r),p=[Math.min(h.x,h.x+h.width),Math.min(h.y,h.y+h.height),Math.max(h.x,h.x+h.width),Math.max(h.y,h.y+h.height)],g=p[0],v=p[1],m=p[2],y=p[3],k=d([g,v,m,y],a),T=k[0],A=k[1],M=k[2],S=k[3],E=l(e.level,x.length);if(null!=e.d){var C;"number"==typeof e.d?C=[e.d,e.d]:e.d.length&&(C=e.d),E=Math.min(Math.max(Math.ceil(-f(Math.abs(C[0])/(a[2]-a[0]))),Math.ceil(-f(Math.abs(C[1])/(a[3]-a[1])))),E)}if(E=Math.min(E,x.length),e.lod)return function(t,e,r,a,i){for(var o=[],s=0;s<i;s++){var l=_[s],c=w[s][0],u=L(t,e,s),h=L(r,a,s),f=n.ge(l,u),p=n.gt(l,h,f,l.length-1);o[s]=[f+c,p+c]}return o}(T,A,M,S,E);var P=[];return function e(r,n,a,i,o,s){if(null!==o&&null!==s){var l=r+a,c=n+a;if(!(T>l||A>c||M<r||S<n||i>=E||o===s)){var u=x[i];void 0===s&&(s=u.length);for(var h=o;h<s;h++){var f=u[h],p=t[2*f],d=t[2*f+1];p>=g&&p<=m&&d>=v&&d<=y&&P.push(f)}var _=b[i],w=_[4*o+0],k=_[4*o+1],L=_[4*o+2],C=_[4*o+3],O=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(_,o+1),z=.5*a,I=i+1;e(r,n,z,I,w,k||L||C||O),e(r,n+z,z,I,k,L||C||O),e(r+z,n,z,I,L,C||O),e(r+z,n+z,z,I,C,O)}}}(0,0,1,0,0,1),P},g;function L(t,e,r){for(var n=1,a=.5,i=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<a?e<i?0:1:e<i?2:3,o*=.5,a+=t<a?-o:o,i+=e<i?-o:o;return n}}},{"array-bounds":67,"binary-search-bounds":471,clamp:116,defined:165,dtype:170,"flatten-vertex-data":229,"is-obj":422,"math-log2":433,"parse-rect":460,"pick-by-alias":466}],473:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],i=[],s=0;s<e;++s)for(var u=t[s],h=u.length,f=h-1,p=0;p<h;f=p++){var d=u[f],g=u[p];d[0]===g[0]?i.push([d,g]):r.push([d,g])}if(0===r.length)return 0===i.length?c:(v=l(i),function(t){return v(t[0],t[1])?0:1});var v;var m=a(r),y=function(t,e){return function(r){var a=o.le(e,r[0]);if(a<0)return 1;var i=t[a];if(!i){if(!(a>0&&e[a]===r[0]))return 1;i=t[a-1]}for(var s=1;i;){var l=i.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)i=i.left;else{if(!(c>0))return 0;s=-1,i=i.right}else if(c>0)i=i.left;else{if(!(c<0))return 0;s=1,i=i.right}}return s}}(m.slabs,m.coordinates);return 0===i.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(i),y)};var n=t("robust-orientation")[3],a=t("slab-decomposition"),i=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];a in e?e[a].push(c):e[a]=[c]}var u={},h=Object.keys(e);for(r=0;r<h.length;++r){var f=e[h[r]];u[h[r]]=i(f)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{"binary-search-bounds":92,"interval-tree-1d":415,"robust-orientation":508,"slab-decomposition":524}],474:[function(t,e,r){var n,a=t("./lib/build-log"),i=t("./lib/epsilon"),o=t("./lib/intersecter"),s=t("./lib/segment-chainer"),l=t("./lib/segment-selector"),c=t("./lib/geojson"),u=!1,h=i();function f(t,e,r){var a=n.segments(t),i=n.segments(e),o=r(n.combine(a,i));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=a():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=o(!0,h,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,h,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,h,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,h,t)},union:function(t,e){return f(t,e,n.selectUnion)},intersect:function(t,e){return f(t,e,n.selectIntersect)},difference:function(t,e){return f(t,e,n.selectDifference)},differenceRev:function(t,e){return f(t,e,n.selectDifferenceRev)},xor:function(t,e){return f(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),e.exports=n},{"./lib/build-log":475,"./lib/epsilon":476,"./lib/geojson":477,"./lib/intersecter":478,"./lib/segment-chainer":480,"./lib/segment-selector":481}],475:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1,"  ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},{}],476:[function(t,e,r){e.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var a=r[0],i=r[1],o=n[0],s=n[1],l=e[0];return(o-a)*(e[1]-i)-(s-i)*(l-a)>=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*i+a*s;return!(l<t||l-(i*i+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var a=e[0]-r[0],i=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(a*s-o*i)<t},linesIntersect:function(e,r,n,a){var i=r[0]-e[0],o=r[1]-e[1],s=a[0]-n[0],l=a[1]-n[1],c=i*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*u)/c,p=(i*h-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+f*i,e[1]+f*o]};return d.alongA=f<=-t?-2:f<t?-1:f-1<=-t?0:f-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],a=e[1],i=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-a>t!=o-a>t&&(i-c)*(a-u)/(o-u)+c-n>t&&(s=!s),i=c,o=u}return s}};return e}},{}],477:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),a=1;a<e.length;a++)n=t.selectDifference(t.combine(n,r(e[a])));return n}if("Polygon"===e.type)return t.polygon(r(e.coordinates));if("MultiPolygon"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),a=0;a<e.coordinates.length;a++)n=t.selectUnion(t.combine(n,r(e.coordinates[a])));return t.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function a(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var i=a(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var i=a(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(i.children.push(s),t.children.splice(r,1),r--)}t.children.push(i)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(i,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],a=t[t.length-1][1],i=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];i.push([s,l]),r+=l*n-s*a,n=s,a=l}return r<0!==e&&i.reverse(),i.push([i[0][0],i[0][1]]),i}var u=[];function h(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(f(t.children[r]))}function f(t){for(var e=0;e<t.children.length;e++)h(t.children[e]);return c(t.region,!0)}for(s=0;s<i.children.length;s++)h(i.children[s]);return u.length<=0?{type:"Polygon",coordinates:[]}:1==u.length?{type:"Polygon",coordinates:u[0]}:{type:"MultiPolygon",coordinates:u}}};e.exports=n},{}],478:[function(t,e,r){var n=t("./linked-list");e.exports=function(t,e,r){function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var i=n.create();function o(t,r){i.insertBefore(t,function(n){return function(t,r,n,a,i,o){var s=e.pointsCompare(r,i);return 0!==s?s:e.pointsSame(n,o)?0:t!==a?t?1:-1:e.pointAboveOrOnLine(n,a?i:o,a?o:i)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var a=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=a,o(a,t.pt)}(r,t,e),r}function l(t,e){var n=a(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(a,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,a,i,o,s,l;return n=t,a=r.ev,i=n.seg.start,o=n.seg.end,s=a.seg.start,l=a.seg.end,(e.pointsCollinear(i,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(i,s,l)?1:-1)>0})}function u(t,n){var a=t.seg,i=n.seg,o=a.start,s=a.end,c=i.start,u=i.end;r&&r.checkIntersection(a,i);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(f)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!i.isEmpty();){var f=i.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function v(){if(d){var t=u(f,d);if(t)return t}return!!g&&u(f,g)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!g&&g.seg);var m,y,x=v();if(x)t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=f.seg.myFill,r&&r.segmentUpdate(x.seg),f.other.remove(),f.remove();if(i.getHead()!==f){r&&r.rewind(f.seg);continue}t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=g?g.seg.myFill.above:a,f.seg.myFill.above=y?!f.seg.myFill.below:f.seg.myFill.below):null===f.seg.otherFill&&(m=g?f.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:f.primary?o:a,f.seg.otherFill={above:m,below:m}),r&&r.status(f.seg,!!d&&d.seg,!!g&&g.seg),f.other.status=p.insert(n.node({ev:f}))}else{var b=f.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}i.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((a=c<0?n:o,i=c<0?o:n,{id:r?r.segmentId():-1,start:a,end:i,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(a(t.start,t.end,t),!0)}),r.forEach(function(t){s(a(t.start,t.end,t),!1)}),c(e,n)}}}},{"./linked-list":479}],479:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,a=t.root.next;null!==a;){if(r(a))return e.prev=a.prev,e.next=a,a.prev.next=e,void(a.prev=e);n=a,a=a.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],480:[function(t,e,r){e.exports=function(t,e,r){var n=[],a=[];return t.forEach(function(t){var i=t.start,o=t.end;if(e.pointsSame(i,o))console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var h=(v=n[u])[0],f=(v[1],v[v.length-1]);if(v[v.length-2],e.pointsSame(h,i)){if(T(u,!0,!0))break}else if(e.pointsSame(h,o)){if(T(u,!0,!1))break}else if(e.pointsSame(f,i)){if(T(u,!1,!0))break}else if(e.pointsSame(f,o)&&T(u,!1,!1))break}if(c===s)return n.push([i,o]),void(r&&r.chainNew(i,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:i,g=s.matches_head,v=n[p],m=g?v[0]:v[v.length-1],y=g?v[1]:v[v.length-2],x=g?v[v.length-1]:v[0],b=g?v[v.length-2]:v[1];return e.pointsCollinear(y,m,d)&&(g?(r&&r.chainRemoveHead(s.index,d),v.shift()):(r&&r.chainRemoveTail(s.index,d),v.pop()),m=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,m)&&(g?(r&&r.chainRemoveTail(s.index,m),v.pop()):(r&&r.chainRemoveHead(s.index,m),v.shift())),r&&r.chainClose(s.index),void a.push(v)):void(g?(r&&r.chainAddHead(s.index,d),v.unshift(d)):(r&&r.chainAddTail(s.index,d),v.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),M(_,w)):(A(w),M(w,_)):M(w,_):l.matches_head?M(_,w):k?(A(_),M(w,_)):(A(w),M(_,w))}function T(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function M(t,a){var i=n[t],o=n[a],s=i[i.length-1],l=i[i.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),i.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(a,c),o.shift()),r&&r.chainJoin(t,a),n[t]=i.concat(o),n.splice(a,1)}}),a}},{}],481:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var a=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[a]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[a],below:2===e[a]},otherFill:null})}),r&&r.selected(n),n}var a={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=a},{}],482:[function(t,e,r){"use strict";var n=new Float64Array(4),a=new Float64Array(4),i=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),a=new Float64Array(o.length),i=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],a[l]=e[l]-t[l],i[l]=r[l]-t[l];var c=0,u=0,h=0,f=0,p=0,d=0;for(l=0;l<o.length;++l){var g=a[l],v=i[l],m=n[l];c+=g*g,u+=g*v,h+=v*v,f+=m*g,p+=m*v,d+=m*m}var y,x,b,_,w,k=Math.abs(c*h-u*u),T=u*p-h*f,A=u*f-c*p;if(T+A<=k)if(T<0)A<0&&f<0?(A=0,-f>=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d):(T=0,p>=0?(A=0,y=d):-p>=h?(A=1,y=h+2*p+d):y=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(T=0,y=d):-f>=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d;else{var M=1/k;y=(T*=M)*(c*T+u*(A*=M)+2*f)+A*(u*T+h*A+2*p)+d}else T<0?(b=h+p)>(x=u+f)?(_=b-x)>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d:(T=0,b<=0?(A=1,y=h+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/h)+d):A<0?(b=c+f)>(x=u+p)?(_=b-x)>=(w=c-2*u+h)?(A=1,T=0,y=h+2*p+d):y=(T=1-(A=_/w))*(c*T+u*A+2*f)+A*(u*T+h*A+2*p)+d:(A=0,b<=0?(T=1,y=c+2*f+d):f>=0?(T=0,y=d):y=f*(T=-f/c)+d):(_=h+p-u-f)<=0?(T=0,A=1,y=h+2*p+d):_>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d;var S=1-T-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+T*e[l]+A*r[l];return y<0?0:y}},{}],483:[function(t,e,r){var n,a,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(t){a=s}}();var c,u=[],h=!1,f=-1;function p(){h&&c&&(h=!1,c.length?u=c.concat(u):f=-1,u.length&&d())}function d(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++f<e;)c&&c[f].run();f=-1,e=u.length}c=null,h=!1,function(t){if(a===clearTimeout)return clearTimeout(t);if((a===s||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(t);try{a(t)}catch(e){try{return a.call(null,t)}catch(e){return a.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function v(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||h||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],484:[function(t,e,r){e.exports=t("gl-quat/slerp")},{"gl-quat/slerp":295}],485:[function(t,e,r){(function(r){for(var n=t("performance-now"),a="undefined"==typeof window?r:window,i=["moz","webkit"],o="AnimationFrame",s=a["request"+o],l=a["cancel"+o]||a["cancelRequest"+o],c=0;!s&&c<i.length;c++)s=a[i[c]+"Request"+o],l=a[i[c]+"Cancel"+o]||a[i[c]+"CancelRequest"+o];if(!s||!l){var u=0,h=0,f=[];s=function(t){if(0===f.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=f.slice(0);f.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout(function(){throw t},0)}},Math.round(r))}return f.push({handle:++h,callback:t,cancelled:!1}),h},l=function(t){for(var e=0;e<f.length;e++)f[e].handle===t&&(f[e].cancelled=!0)}}e.exports=function(t){return s.call(a,t)},e.exports.cancel=function(){l.apply(a,arguments)},e.exports.polyfill=function(t){t||(t=a),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"performance-now":463}],486:[function(t,e,r){"use strict";var n=t("big-rat/add");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{"big-rat/add":76}],487:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t("big-rat")},{"big-rat":79}],488:[function(t,e,r){"use strict";var n=t("big-rat"),a=t("big-rat/mul");e.exports=function(t,e){for(var r=n(e),i=t.length,o=new Array(i),s=0;s<i;++s)o[s]=a(t[s],r);return o}},{"big-rat":79,"big-rat/mul":88}],489:[function(t,e,r){"use strict";var n=t("big-rat/sub");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{"big-rat/sub":90}],490:[function(t,e,r){"use strict";var n=t("compare-cell"),a=t("compare-oriented-cell"),i=t("cell-orientation");e.exports=function(t){t.sort(a);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=i(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&i(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":113,"compare-cell":129,"compare-oriented-cell":130}],491:[function(t,e,r){"use strict";var n=t("array-bounds"),a=t("color-normalize"),i=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,h=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,v,m=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),v=t.buffer({usage:"static",type:"float",data:f}),k(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:v,stride:24,offset:0},lineOffset:{buffer:v,stride:24,offset:8},capOffset:{buffer:v,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:f.length}),s(b,{update:k,draw:_,destroy:T,regl:t,gl:m,canvas:m.canvas,groups:x}),b;function b(t){t?k(t):null===t&&T(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),i(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var i=0;i<r;i++)t[i]=n}if(t.length<r)throw Error("Not enough colors");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=a(t[s],"uint8");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=h(e.scale),e.translateFract=h(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:m.drawingBufferWidth,height:m.drawingBufferHeight},e}}]),u):u}),e||r){var f=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),v=new Float64Array(2*f),_=new Uint8Array(4*f),w=new Float32Array(4*f);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,a=t.offset,i=t.color,o=t.errors;n&&(_.set(i,4*a),w.set(o,4*a),v.set(r,2*a))}}),c(u(v)),p(h(v)),d(_),g(w)}}}function T(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),v.destroy()}};var f=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{"array-bounds":67,"color-normalize":121,"flatten-vertex-data":229,"object-assign":455,"pick-by-alias":466,"to-float32":536,"update-diff":547}],492:[function(t,e,r){"use strict";var n=t("color-normalize"),a=t("array-bounds"),i=t("object-assign"),o=t("glslify"),s=t("pick-by-alias"),l=t("flatten-vertex-data"),c=t("earcut"),u=t("array-normalize"),h=t("to-float32"),f=h.float32,p=h.fract32,d=t("es6-weak-map"),g=t("parse-rect");function v(t,e){if(!(this instanceof v))return new v(t,e);if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=v.shaders.has(t)?v.shaders.get(t):v.shaders.set(t,v.createShaders(t)).get(t),this.update(e)}e.exports=v,v.dashMult=2,v.maxPatternLength=256,v.precisionThreshold=3e6,v.maxPoints=1e4,v.maxLines=2048,v.shaders=new d,v.createShaders=function(t){var e,r=t.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:t.prop("count"),count:4,offset:0,uniforms:{miterMode:function(t,e){return"round"===e.join?2:1},miterLimit:t.prop("miterLimit"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),thickness:t.prop("thickness"),dashPattern:t.prop("dashTexture"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),dashSize:t.prop("dashLength"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport")},a=t(i({vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{e=t(i({cull:{enable:!0,face:"back"},vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n  vec2 adjustedScale;\n  adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n  adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n  vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=a}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:e}},v.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},v.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,h){var d=e.passes[h];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[h]=d={id:h,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=i({},v.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,h<v.maxLines&&(d.depth=2*(v.maxLines-1-h%v.maxLines)/v.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,"uint8"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var m,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),m=new Float64Array(2*y);for(var _=0;_<y;_++)m[2*_]=x[_],m[2*_+1]=b[_]}else m=l(t.positions,"float64"),y=d.count=Math.floor(m.length/2);var w=d.bounds=a(m,2);if(d.fill){for(var k=[],T={},A=0,M=0,S=0,E=d.count;M<E;M++){var L=m[2*M],C=m[2*M+1];isNaN(L)||isNaN(C)||null==L||null==C?(L=m[2*A],C=m[2*A+1],T[M]=A):A=M,k[S++]=L,k[S++]=C}for(var P=c(k,d.hole||[]),O=0,z=P.length;O<z;O++)null!=T[P[O]]&&(P[O]=T[P[O]]);d.triangles=P}var I=new Float64Array(m);u(I,2,w);var D=new Float64Array(2*y+6);d.close?m[0]===m[2*y-2]&&m[1]===m[2*y-1]?(D[0]=I[2*y-4],D[1]=I[2*y-3]):(D[0]=I[2*y-2],D[1]=I[2*y-1]):(D[0]=I[0],D[1]=I[1]),D.set(I,2),d.close?m[0]===m[2*y-2]&&m[1]===m[2*y-1]?(D[2*y+2]=I[2],D[2*y+3]=I[3],d.count-=1):(D[2*y+2]=I[0],D[2*y+3]=I[1],D[2*y+4]=I[2],D[2*y+5]=I[3]):(D[2*y+2]=I[2*y-2],D[2*y+3]=I[2*y-1],D[2*y+4]=I[2*y-2],D[2*y+5]=I[2*y-1]),d.positionBuffer(f(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,F=R[2]-R[0],B=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[F/N,B/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var V,U=0;if(!t.dashes||t.dashes.length<2)U=1,V=new Uint8Array([255,255,255,255,255,255,255,255]);else{U=0;for(var q=0;q<t.dashes.length;++q)U+=t.dashes[q];V=new Uint8Array(U*v.dashMult);for(var H=0,G=255,Y=0;Y<2;Y++)for(var W=0;W<t.dashes.length;++W){for(var X=0,Z=t.dashes[W]*v.dashMult*.5;X<Z;++X)V[H++]=G;G^=255}}d.dashLength=U,d.dashTexture({channels:1,data:V,width:V.length,height:1,mag:"linear",min:"linear"},0,0)}if(t.color){var J=d.count,K=t.color;K||(K="transparent");var Q=new Uint8Array(4*J+4);if(Array.isArray(K)&&"number"!=typeof K[0]){for(var $=0;$<J;$++){var tt=n(K[$],"uint8");Q.set(tt,4*$)}Q.set(n(K[0],"uint8"),4*J)}else for(var et=n(K,"uint8"),rt=0;rt<J+1;rt++)Q.set(et,4*rt);d.colorBuffer({usage:"dynamic",type:"uint8",data:Q})}}else e.passes[h]=null}),t.length<this.passes.length){for(var h=t.length;h<this.passes.length;h++){var d=e.passes[h];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var m=[],y=0;y<this.passes.length;y++)null!==e.passes[y]&&m.push(e.passes[y]);return this.passes=m,this}},v.prototype.destroy=function(){return this.passes.forEach(function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()}),this.passes.length=0,this}},{"array-bounds":67,"array-normalize":493,"color-normalize":121,earcut:172,"es6-weak-map":494,"flatten-vertex-data":229,glslify:410,"object-assign":455,"parse-rect":460,"pick-by-alias":466,"to-float32":536}],493:[function(t,e,r){"use strict";var n=t("array-bounds");e.exports=function(t,e,r){if(!t||null==t.length)throw Error("Argument should be an array");null==e&&(e=1);null==r&&(r=n(t,e));for(var a=0;a<e;a++){var i=r[e+a],o=r[a],s=a,l=t.length;if(i===1/0&&o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:t[s]===o?0:.5;else if(i===1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:0;else if(o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=i-o;for(s=a;s<l;s+=e)isNaN(t[s])||(t[s]=0===c?.5:(t[s]-o)/c)}}return t}},{"array-bounds":67}],494:[function(t,e,r){arguments[4][319][0].apply(r,arguments)},{"./is-implemented":495,"./polyfill":497,dup:319}],495:[function(t,e,r){arguments[4][320][0].apply(r,arguments)},{dup:320}],496:[function(t,e,r){arguments[4][321][0].apply(r,arguments)},{dup:321}],497:[function(t,e,r){arguments[4][322][0].apply(r,arguments)},{"./is-native-implemented":496,d:152,dup:322,"es5-ext/object/is-value":196,"es5-ext/object/set-prototype-of":202,"es5-ext/object/valid-object":206,"es5-ext/object/valid-value":207,"es5-ext/string/random-uniq":212,"es6-iterator/for-of":214,"es6-iterator/get":215,"es6-symbol":221}],498:[function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var i=t("color-normalize"),o=t("array-bounds"),s=t("color-id"),l=t("point-cluster"),c=t("object-assign"),u=t("glslify"),h=t("pick-by-alias"),f=t("update-diff"),p=t("flatten-vertex-data"),d=t("is-iexplorer"),g=t("to-float32"),v=t("parse-rect"),m=y;function y(t,e){var r=this;if(!(this instanceof y))return new y(t,e);"function"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,a=(t=e.regl)._gl,i=[];this.tooManyColors=d,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),c(this,{regl:t,gl:a,groups:[],markerCache:[null],markerTextures:[null],palette:i,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:a.canvas}),this.update(e);var o={uniforms:{pixelRatio:t.context("pixelRatio"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translate:t.prop("translate"),translateFract:t.prop("translateFract"),opacity:t.prop("opacity"),marker:t.prop("markerTexture")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?i.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?i.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop("elements"),count:t.prop("count"),offset:t.prop("offset"),primitive:"points"},s=c({},o);s.frag=u(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n  // max-distance alpha\n  if (dist < 0.003) discard;\n\n  // null-border case\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n  }\n  else {\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n    vec4 color = fragBorderColor;\n    color.a *= borderColorAmt;\n    color = mix(color, fragColor, colorAmt);\n    color.a *= opacity;\n\n    gl_FragColor = color;\n  }\n\n}\n"]),s.vert=u(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pixelRatio;\n  fragPointSize = size * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}"]),this.drawMarker=t(s);var l=c({},o);l.frag=u(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=u(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  // ignore inactive points\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n"]),d&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}y.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},y.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},y.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var i=0;i<r.length;i++)this.drawItem(i,r[i]);else a.forEach(function(e,r){t.drawItem(r)});return this},y.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if("number"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var i=[],o=1;o<n.activation.length;o++)n.activation[o]&&(!0===n.activation[o]||n.activation[o].data.length)&&i.push.apply(i,a(this.getMarkerDrawOptions(o,n,e)));i.length&&this.drawMarker(i)}},y.prototype.getMarkerDrawOptions=function(t,e,r){var a=e.range,i=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,u=e.count;this.regl;if(!i)return r?[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var h=[],f=i.range(a,{lod:!0,px:[(a[2]-a[0])/o.width,(a[3]-a[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(u),g=0;g<r.length;g++){var v=r[g];d[v]=p?p[v]:1}l.subdata(d)}for(var m=f.length;m--;){var y=n(f[m],2),x=y[0],b=y[1];h.push(c({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return h},y.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var a=this.groups,i=this.gl,s=this.regl,u=this.maxSize,d=this.maxColors,m=this.palette;this.groups=a=r.map(function(e,r){var n=a[r];if(void 0===e)return n;null===e?e={positions:null}:"function"==typeof e?e={ondraw:e}:"number"==typeof e[0]&&(e={positions:e}),null===(e=h(e,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits",tooManyColors:"tooManyColors palette paletteMode optimizePalette enablePalette"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(a[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:s.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})},e=c({},y.defaults,e)),!e.positions||"marker"in e||(e.marker=n.marker,delete n.marker),!e.marker||"positions"in e||(e.positions=n.positions,delete n.positions);var x=0,b=0;if(f(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=y.defaults.size),x+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=y.defaults.borderSize),x+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=y.defaults.color),e=t.updateColor(e),b++,e},borderColor:function(e,r){return null==e&&(e=y.defaults.borderColor),e=t.updateColor(e),b++,e},bounds:function(t,e,r){return"range"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,a=e.positionBuffer,i=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:s.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:s.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=p(t,"float64");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?o(t,2):null;if(r.range||e.range||(delete e.range,r.range=h),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||u>n)?e.tree=l(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(f):e.elements=s.elements(f)}return a({data:g.float(t),usage:"dynamic"}),i({data:g.fract(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var a=r.activation;if(a.forEach(function(t){return t&&t.destroy&&t.destroy()}),a.length=0,e&&"number"!=typeof e[0]){for(var i=[],o=0,l=Math.min(e.length,r.count);o<l;o++){var c=t.addMarker(e[o]);i[c]||(i[c]=new Uint8Array(r.count)),i[c][o]=1}for(var u=0;u<i.length;u++)if(i[u]){var h={data:i[u],type:"uint8",usage:"static"};a[u]?a[u](h):a[u]=s.buffer(h),a[u].data=i[u]}}else{a[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=g.fract(e.scale),e.translateFract=g.fract(e.translate),t},viewport:function(t){return v(t||[i.drawingBufferWidth,i.drawingBufferHeight])}}]),x){var _=n,w=_.count,k=_.size,T=_.borderSize,A=_.sizeBuffer,M=new Uint8Array(2*w);if(k.length||T.length)for(var S=0;S<w;S++)M[2*S]=Math.round(255*(null==k[S]?k:k[S])/u),M[2*S+1]=Math.round(255*(null==T[S]?T:T[S])/u);A({data:M,usage:"dynamic"})}if(b){var E,L=n,C=L.count,P=L.color,O=L.borderColor,z=L.colorBuffer;if(t.tooManyColors){if(P.length||O.length){E=new Uint8Array(8*C);for(var I=0;I<C;I++){var D=P[I];E[8*I]=m[4*D],E[8*I+1]=m[4*D+1],E[8*I+2]=m[4*D+2],E[8*I+3]=m[4*D+3];var R=O[I];E[8*I+4]=m[4*R],E[8*I+5]=m[4*R+1],E[8*I+6]=m[4*R+2],E[8*I+7]=m[4*R+3]}}}else if(P.length||O.length){E=new Uint8Array(4*C+2);for(var F=0;F<C;F++)null!=P[F]&&(E[4*F]=P[F]%d,E[4*F+1]=Math.floor(P[F]/d)),null!=O[F]&&(E[4*F+2]=O[F]%d,E[4*F+3]=Math.floor(O[F]/d))}z({data:E||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return n})}},y.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,a=this.markerCache,i=null==t?0:a.indexOf(t);if(i>=0)return i;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return i=r.length,a.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:"linear",min:"linear"})),i},y.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var a=[];if("number"==typeof t[0]){var o=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)o.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)o.push(t.subarray(c,c+4));t=o}for(var u=0;u<t.length;u++){var h=t[u];h=i(h,"uint8");var f=s(h,!1);if(null==e[f]){var p=r.length;e[f]=Math.floor(p/4),r[p]=h[0],r[p+1]=h[1],r[p+2]=h[2],r[p+3]=h[3]}a[u]=e[f]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===a.length?a[0]:a},y.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var a=.25*(t=t.slice()).length%e;a<n*e;a++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},y.prototype.destroy=function(){return this.groups.forEach(function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(t){return t&&t.destroy&&t.destroy()}),this};var x=t("object-assign");e.exports=function(t,e){var r=new m(t,e),n=r.render.bind(r);return x(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},{"array-bounds":67,"color-id":119,"color-normalize":121,"flatten-vertex-data":229,glslify:410,"is-iexplorer":420,"object-assign":455,"parse-rect":460,"pick-by-alias":466,"point-cluster":470,"to-float32":536,"update-diff":547}],499:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),a=t("pick-by-alias"),i=t("array-bounds"),o=t("raf"),s=t("array-range"),l=t("parse-rect"),c=t("flatten-vertex-data");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function h(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function f(t,e,r){var n,a,i,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],a=s[3]):s.length?(n=s[0],a=s[1]):(s.x,n=s.y,s.x+s.width,a=s.y+s.height),l.length>2?(i=l[0],o=l[2],l[1],l[3]):l.length?(i=l[0],o=l[1]):(i=l.x,l.y,o=l.x+l.width,l.y+l.height),[i,n,o,a]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var a=[],i=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)a.push(this.passes[l[c]]);s.passOffset=i,i+=s.passes.length}return(t=this.scatter).update.apply(t,a),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=a(e,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=i(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&"number"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&"number"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,v=s.count,m=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=m/g,w=y/g;s.passes=[];for(var k=0;k<g;k++)for(var T=0;T<g;T++)if((s.diagonal||T!==k)&&(s.upper||!(k>T))&&(s.lower||!(k<T))){var A=h(s.id,k,T),M=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?M.positions={x:{buffer:s.buffer,offset:T,count:v,stride:g},y:{buffer:s.buffer,offset:k,count:v,stride:g}}:M.positions={x:{buffer:s.buffer,offset:T*v,count:v},y:{buffer:s.buffer,offset:k*v,count:v}},M.bounds=f(s.bounds,k,T)),o.domain||o.viewport||o.data){var S=d?f(s.padding,k,T):s.padding;if(s.domain){var E=f(s.domain,k,T),L=E[0],C=E[1],P=E[2],O=E[3];M.viewport=[x+L*m+S[0],b+C*y+S[1],x+P*m-S[2],b+O*y-S[3]]}else M.viewport=[x+T*_+_*S[0],b+k*w+w*S[1],x+(T+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(M.color=s.color),o.size&&(M.size=s.size),o.marker&&(M.marker=s.marker),o.borderSize&&(M.borderSize=s.borderSize),o.borderColor&&(M.borderColor=s.borderColor),o.opacity&&(M.opacity=s.opacity),o.range&&(M.range=n?f(s.range,k,T):s.range||M.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],a=0;a<e.length;a++)if("number"==typeof e[a]){var i=this.traces[e[a]],o=i.passes,l=i.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[a].length){var c=e[a],u=this.traces[a],h=u.passes,f=u.passOffset;h=h.map(function(t,e){n[f+e]=c})}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach(function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{"array-bounds":67,"array-range":68,"flatten-vertex-data":229,"parse-rect":460,"pick-by-alias":466,raf:485,"regl-scatter2d":498}],500:[function(t,e,r){var n,a;n=this,a=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return"["+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('"'===r||"'"===r))return['"'+e.substr(1,e.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(r=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(".")).length)return['"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join("][")+"]"}function r(t){return"string"==typeof t?t.split():t}function n(t){return"string"==typeof t?document.querySelector(t):t}function a(t){var e,a,i,o,s=t||{};t={};var l=[],c=[],u="undefined"==typeof window?1:window.devicePixelRatio,h=!1,f=function(t){},p=function(){};if("string"==typeof s?e=document.querySelector(s):"object"==typeof s&&("string"==typeof s.nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?e=s:"function"==typeof s.drawArrays||"function"==typeof s.drawElements?i=(o=s).canvas:("gl"in s?o=s.gl:"canvas"in s?i=n(s.canvas):"container"in s&&(a=n(s.container)),"attributes"in s&&(t=s.attributes),"extensions"in s&&(l=r(s.extensions)),"optionalExtensions"in s&&(c=r(s.optionalExtensions)),"onDone"in s&&(f=s.onDone),"profile"in s&&(h=!!s.profile),"pixelRatio"in s&&(u=+s.pixelRatio))),e&&("canvas"===e.nodeName.toLowerCase()?i=e:a=e),!o){if(!i){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*e,a.height=r*n,j(a.style,{width:e+"px",height:n+"px"})}var a=document.createElement("canvas");return j(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position="absolute",j(t.style,{margin:0,padding:0})),window.addEventListener("resize",n,!1),n(),{canvas:a,onDestroy:function(){window.removeEventListener("resize",n),t.removeChild(a)}}}(a||document.body,0,u)))return null;i=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,t)}return o?{gl:o,canvas:i,container:a,extensions:l,optionalExtensions:c,pixelRatio:u,profile:h,onDone:f,onDestroy:p}:(p(),f("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function i(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=i(8,function(){return[]});return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||W(t.data))}function c(t,e,r,n,a,i){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)a[i++]=c[u]}function u(t){return 0|J[Object.prototype.toString.call(t)]}function h(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function f(t,e,r,n,a,i,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[a*l+i*c+o]}function p(t,e,r,n){function a(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,a,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){a=tt(e);for(var s=n=1;s<a.length;++s)n*=a[s];t.dimension=n,i(t,e=$(e,a,t.dtype),r),o?t.persistentData=e:G.freeType(e)}else"number"==typeof e[0]?(t.dimension=a,h(a=G.allocType(t.dtype,e.length),e),i(t,a,r),o?t.persistentData=a:G.freeType(a)):W(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:G.freeType(e))}else if(W(e))t.dtype=n||u(e),t.dimension=a,i(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){a=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,v=0;1===a.length?(p=a[0],d=1,g=c[0],v=0):2===a.length&&(p=a[0],d=a[1],g=c[0],v=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,f(a=G.allocType(t.dtype,p*d),e.data,p,d,g,v,s),i(t,a,r),o?t.persistentData=a:G.freeType(a)}}function s(r){e.bufferCount--;for(var a=0;a<n.state.length;++a){var i=n.state[a];i.buffer===r&&(t.disableVertexAttribArray(a),i.buffer=null)}t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};a.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},a.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach(function(e){t+=p[e].stats.size}),t}),{create:function(n,i,c,d){function g(e){var n=35044,a=null,i=0,s=0,c=1;return Array.isArray(e)||W(e)||l(e)?a=e:"number"==typeof e?i=0|e:e&&("data"in e&&(a=e.data),"usage"in e&&(n=Q[e.usage]),"type"in e&&(s=K[e.type]),"dimension"in e&&(c=0|e.dimension),"length"in e&&(i=0|e.length)),v.bind(),a?o(v,a,n,s,c,d):(i&&t.bufferData(v.type,i,n),v.dtype=s||5121,v.usage=n,v.dimension=c,v.byteLength=i),r.profile&&(v.stats.size=v.byteLength*et[v.dtype]),g}e.bufferCount++;var v=new a(i);return p[v.id]=v,c||g(n),g._reglType="buffer",g._buffer=v,g.subdata=function(e,r){var n,a=0|(r||0);if(v.bind(),W(e))t.bufferSubData(v.type,a,e);else if(Array.isArray(e)){if(0<e.length)if("number"==typeof e[0]){var i=G.allocType(v.dtype,e.length);h(i,e),t.bufferSubData(v.type,a,i),G.freeType(i)}else(Array.isArray(e[0])||W(e[0]))&&(n=tt(e),i=$(e,n,v.dtype),t.bufferSubData(v.type,a,i),G.freeType(i))}else if(l(e)){n=e.shape;var o=e.stride,s=i=0,c=0,p=0;1===n.length?(i=n[0],s=1,c=o[0],p=0):2===n.length&&(i=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?v.dtype:u(e.data),f(n=G.allocType(n,i*s),e.data,i,s,c,p,e.offset),t.bufferSubData(v.type,a,n),G.freeType(n)}return g},r.profile&&(g.stats=v.stats),g.destroy=function(){s(v)},g},createStream:function(t,e){var r=d.pop();return r||(r=new a(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){X(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof a?t._buffer:null},restore:function(){X(p).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function d(t,e,r,n){function a(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function i(n,a,i,o,s,c,u){if(n.buffer.bind(),a){var h=u;u||W(a)&&(!l(a)||W(a.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,a,i,h,3)}else t.bufferData(34963,c,i),n.buffer.dtype=h||5121,n.buffer.usage=i,n.buffer.dimension=3,n.buffer.byteLength=c;if(h=u,!u){switch(n.buffer.dtype){case 5121:case 5120:h=5121;break;case 5123:case 5122:h=5123;break;case 5125:case 5124:h=5125}n.buffer.dtype=h}n.type=h,0>(a=s)&&(a=n.buffer.byteLength,5123===h?a>>=1:5125===h&&(a>>=2)),n.vertCount=a,a=o,0>o&&(a=4,1===(o=n.buffer.dimension)&&(a=0),2===o&&(a=1),3===o&&(a=4)),n.primType=a}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),a.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,a=-1,o=0,f=0;Array.isArray(t)||W(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=Q[t.usage]),"primitive"in t&&(n=rt[t.primitive]),"count"in t&&(a=0|t.count),"type"in t&&(f=u[t.type]),"length"in t?o=0|t.length:(o=a,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),i(h,e,r,n,a,o,f)}else c(),h.primType=4,h.vertCount=0,h.type=5121;return s}var c=r.create(null,34963,!0),h=new a(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=h,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new a(r.create(null,34963,!0,!1)._buffer)),i(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof a?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(i=at[0])>>>31<<15,a=(i<<1>>>24)-127,i=i>>13&1023;e[r]=-24>a?n:-14>a?n+(i+1024>>-14-a):15<a?n+31744:n+(a+15<<10)+i}return e}function v(t){return Array.isArray(t)||W(t)}function m(t){return"[object "+t+"]"}function y(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=pt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),G.freeType(e)):t.data=e}function k(t,e,r,n,a,i){if(t="undefined"!=typeof gt[t]?gt[t]:st[t]*dt[e],i&&(t*=6),a){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function T(t,e,r,n,a,i,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if("object"==typeof e&&e){"premultiplyAlpha"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(t.flipY=e.flipY),"alignment"in e&&(t.unpackAlignment=e.alignment),"colorSpace"in e&&(t.colorSpace=q[e.colorSpace]),"type"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,a=t.channels,i=!1;"shape"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(a=e.shape[2],i=!0)):("radius"in e&&(r=n=e.radius),"width"in e&&(r=e.width),"height"in e&&(n=e.height),"channels"in e&&(a=e.channels,i=!0)),t.width=0|r,t.height=0|n,t.channels=0|a,r=!1,"format"in e&&(r=e.format,n=t.internalformat=Y[r],t.format=pt[n],r in H&&!("type"in e)&&(t.type=H[r]),r in K&&(t.compressed=!0),r=!0),!i&&r?t.channels=st[t.format]:i&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function h(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function f(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),"x"in e&&(t.xOffset=0|e.x),"y"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=a.viewportWidth,i=a.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||i-t.yOffset,t.needsCopy=!0}else if(r){if(W(r))t.channels=t.channels||4,t.data=r,"type"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,i=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(i=G.allocType(t.type,i)).set(n),t.data=i;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);i=r.shape;var o,s,c,h,f=r.stride;3===i.length?(c=i[2],h=f[2]):h=c=1,o=i[0],s=i[1],i=f[0],f=f[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,o=h,r=r.offset,c=t.width,h=t.height,s=t.channels;for(var p=G.allocType(36193===t.type?5126:t.type,c*h*s),d=0,m=0;m<h;++m)for(var k=0;k<c;++k)for(var T=0;T<s;++T)p[d++]=n[i*k+f*m+o*T+r];w(t,p)}else if(b(r)===lt||b(r)===ct)b(r)===lt?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ut)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===ft)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,i=t.height||r.length,f=t.channels,f=v(r[0][0])?f||r[0][0].length:f||1,o=Z.shape(r),c=1,h=0;h<o.length;++h)c*=o[h];c=G.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,o,"",c),w(t,c),t.alignment=1,t.width=n,t.height=i,t.channels=f,t.format=t.internalformat=ot[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,a,i,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,a,i,u,f,s):e.compressed?t.compressedTexSubImage2D(r,o,a,i,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,a,i,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,a,i,p,d,u,f,l)}function m(){return dt.pop()||new f}function T(t){t.needsFree&&G.freeType(t.data),f.call(t),dt.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function M(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=m(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,a=0;a<n.length;++a)c(r=t.images[a]=m(),t),r.width>>=a,r.height>>=a,p(r,n[a]),t.mipmask|=1<<a;else c(r=t.images[0]=m(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var a=e.images,i=0;i<a.length&&a[i];++i){var o=a[i],s=r,l=i,c=o.element,u=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,v=o.height,m=o.channels;h(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,f,g,v,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,v,0)):((o=!u)&&(u=G.zero.allocType(d,g*v*m)),t.texImage2D(s,l,p,g,v,0,p,d,u),o&&u&&G.zero.freeType(u))}}function L(){var t=gt.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&T(e[r]),e[r]=null;gt.push(t)}function P(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function O(t,e){"min"in e&&(t.minFilter=U[e.min],0<=it.indexOf(t.minFilter)&&!("faces"in e)&&(t.genMipmaps=!0)),"mag"in e&&(t.magFilter=V[e.mag]);var r=t.wrapS,n=t.wrapT;if("wrap"in e){var a=e.wrap;"string"==typeof a?r=n=N[a]:Array.isArray(a)&&(r=N[a[0]],n=N[a[1]])}else"wrapS"in e&&(r=N[e.wrapS]),"wrapT"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,"anisotropic"in e&&(t.anisotropic=e.anisotropic),"mipmap"in e){switch(r=!1,typeof e.mipmap){case"string":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case"boolean":r=t.genMipmaps=e.mipmap;break;case"object":t.genMipmaps=!1,r=!0}!r||"min"in e||(t.minFilter=9984)}}function z(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=vt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new P,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=xt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,a=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(a,null),xt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete mt[e.id],i.textureCount--}var B={"don't care":4352,"dont care":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},V={nearest:9728,linear:9729},U=j({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},V),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},Y={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},K={};e.ext_srgb&&(Y.srgb=35904,Y.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H["half float"]=36193),e.webgl_depth_texture&&(j(Y,{depth:6402,"depth stencil":34041}),j(H,{uint16:5123,uint32:5125,"depth stencil":34042})),e.webgl_compressed_texture_s3tc&&j(K,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),e.webgl_compressed_texture_atc&&j(K,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),e.webgl_compressed_texture_pvrtc&&j(K,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),e.webgl_compressed_texture_etc1&&(K["rgb etc1"]=36196);var Q=Array.prototype.slice.call(t.getParameter(34467));Object.keys(K).forEach(function(t){var e=K[t];0<=Q.indexOf(e)&&(Y[t]=e)});var $=Object.keys(Y);r.textureFormats=$;var tt=[];Object.keys(Y).forEach(function(t){tt[Y[t]]=t});var et=[];Object.keys(H).forEach(function(t){et[H[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(U).forEach(function(t){nt[U[t]]=t});var at=[];Object.keys(N).forEach(function(t){at[N[t]]=t});var pt=$.reduce(function(t,e){var r=Y[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf("rgba")?t[r]=6408:t[r]=6407,t},{}),dt=[],gt=[],vt=0,mt={},yt=r.maxTextureUnits,xt=Array(yt).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<yt;++r){var n=xt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}xt[r]=this,e=r;break}o.profile&&i.maxTextureUnits<e+1&&(i.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(i.getTotalTextureSize=function(){var t=0;return Object.keys(mt).forEach(function(e){t+=mt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=a.texInfo;P.call(r);var i=L();return"number"==typeof t?M(i,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(i,t)):M(i,1,1),r.genMipmaps&&(i.mipmask=(i.width<<1)-1),a.mipmask=i.mipmask,c(a,i),a.internalformat=i.internalformat,n.width=i.width,n.height=i.height,D(a),E(i,3553),z(r,3553),R(),C(i),o.profile&&(a.stats.size=k(a.internalformat,a.type,i.width,i.height,r.genMipmaps,!1)),n.format=tt[a.internalformat],n.type=et[a.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=at[r.wrapS],n.wrapT=at[r.wrapT],n}var a=new I(3553);return mt[a.id]=a,i.textureCount++,n(e,r),n.subimage=function(t,e,r,i){e|=0,r|=0,i|=0;var o=m();return c(o,a),o.width=0,o.height=0,p(o,t),o.width=o.width||(a.width>>i)-e,o.height=o.height||(a.height>>i)-r,D(a),d(o,3553,e,r,i),R(),T(o),n},n.resize=function(e,r){var i=0|e,s=0|r||i;if(i===a.width&&s===a.height)return n;n.width=a.width=i,n.height=a.height=s,D(a);for(var l,c=a.channels,u=a.type,h=0;a.mipmask>>h;++h){var f=i>>h,p=s>>h;if(!f||!p)break;l=G.zero.allocType(u,f*p*c),t.texImage2D(3553,h,a.format,f,p,0,a.format,a.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(a.stats.size=k(a.internalformat,a.type,i,s,!1,!1)),n},n._reglType="texture2d",n._texture=a,o.profile&&(n.stats=a.stats),n.destroy=function(){a.decRef()},n},createCube:function(e,r,n,a,s,l){function h(t,e,r,n,a,i){var s,l=f.texInfo;for(P.call(l),s=0;6>s;++s)g[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],a),S(g[5],i);else if(O(l,t),u(f,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],f),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(g[s],t,t);for(c(f,g[0]),f.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,f.internalformat=g[0].internalformat,h.width=g[0].width,h.height=g[0].height,D(f),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=tt[f.internalformat],h.type=et[f.type],h.mag=rt[l.magFilter],h.min=nt[l.minFilter],h.wrapS=at[l.wrapS],h.wrapT=at[l.wrapT],s=0;6>s;++s)C(g[s]);return h}var f=new I(34067);mt[f.id]=f,i.cubeCount++;var g=Array(6);return h(e,r,n,a,s,l),h.subimage=function(t,e,r,n,a){r|=0,n|=0,a|=0;var i=m();return c(i,f),i.width=0,i.height=0,p(i,e),i.width=i.width||(f.width>>a)-r,i.height=i.height||(f.height>>a)-n,D(f),d(i,34069+t,r,n,a),R(),T(i),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<yt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),xt[e]=null;X(mt).forEach(F),i.cubeCount=0,i.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<yt;++e){var r=xt[e];r&&(r.bindCount=0,r.unit=-1,xt[e]=null)}X(mt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)})}}}function A(t,e,r,n,a,i){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,a=t;return"object"==typeof t&&(a=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=a._reglType)?r=a:"textureCube"===t?r=a:"renderbuffer"===t&&(n=a,e=36161),new o(e,r,n)}function h(t,e,r,i,s){return r?((t=n.create2D({width:t,height:e,format:i,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=a.create({width:t,height:e,format:i}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=k++,T[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,i.framebufferCount--,delete T[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var a=e.colorAttachments;for(n=0;n<a.length;++n)c(36064+n,a[n]);for(n=a.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var a,i=0,o=0,s=!0,c=!0;a=null;var p=!0,d="rgba",v="uint8",y=1,x=null,w=null,k=null,T=!1;"number"==typeof t?(i=0|t,o=0|e||i):t?("shape"in t?(i=(o=t.shape)[0],o=o[1]):("radius"in t&&(i=o=t.radius),"width"in t&&(i=t.width),"height"in t&&(o=t.height)),("color"in t||"colors"in t)&&(a=t.color||t.colors,Array.isArray(a)),a||("colorCount"in t&&(y=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(v=t.colorType,!p)&&("half float"===v||"float16"===v?d="rgba16f":"float"!==v&&"float32"!==v||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(T=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),"stencil"in t&&("boolean"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?s=c=t.depthStencil:(k=t.depthStencil,c=s=!1))):i=o=1;var A=null,M=null,S=null,E=null;if(Array.isArray(a))A=a.map(u);else if(a)A=[u(a)];else for(A=Array(y),a=0;a<y;++a)A[a]=h(i,o,p,d,v);for(i=i||A[0].width,o=o||A[0].height,x?M=u(x):s&&!c&&(M=h(i,o,T,"depth","uint32")),w?S=u(w):c&&!s&&(S=h(i,o,!1,"stencil","uint8")),k?E=u(k):!x&&!w&&c&&s&&(E=h(i,o,T,"depth stencil","depth stencil")),s=null,a=0;a<A.length;++a)l(A[a]),A[a]&&A[a].texture&&(c=yt[A[a].texture._texture.format]*xt[A[a].texture._texture.type],null===s&&(s=c));return l(M),l(S),l(E),g(n),n.width=i,n.height=o,n.colorAttachments=A,n.depthAttachment=M,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(f),r.depth=f(M),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return i.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var a=Math.max(0|t,1),i=Math.max(0|e||a,1);if(a===n.width&&i===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],a,i);return p(n.depthAttachment,a,i),p(n.stencilAttachment,a,i),p(n.depthStencilAttachment,a,i),n.width=r.width=a,n.height=r.height=i,m(n),r},_reglType:"framebuffer",_framebuffer:n,destroy:function(){v(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],_=["rgba4","rgb565","rgb5 a1"];e.ext_srgb&&_.push("srgba"),e.ext_color_buffer_half_float&&_.push("rgba16f","rgb16f"),e.webgl_color_buffer_float&&_.push("rgba32f");var w=["uint8"];e.oes_texture_half_float&&w.push("half float","float16"),e.oes_texture_float&&w.push("float","float32");var k=0,T={};return j(x,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var a,i={color:null},o=0,s=null;a="rgba";var l="uint8",c=1;if("number"==typeof t?o=0|t:t?("shape"in t?o=t.shape[0]:("radius"in t&&(o=0|t.radius),"width"in t?o=0|t.width:"height"in t&&(o=0|t.height)),("color"in t||"colors"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||("colorCount"in t&&(c=0|t.colorCount),"colorType"in t&&(l=t.colorType),"colorFormat"in t&&(a=t.colorFormat)),"depth"in t&&(i.depth=t.depth),"stencil"in t&&(i.stencil=t.stencil),"depthStencil"in t&&(i.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],a=0;a<s.length;++a)t[a]=s[a];else t=[s];else for(t=Array(c),s={radius:o,format:a,type:l},a=0;a<c;++a)t[a]=n.createCube(s);for(i.color=Array(t.length),a=0;a<t.length;++a)c=t[a],o=o||c.width,i.color[a]={target:34069,data:t[a]};for(a=0;6>a;++a){for(c=0;c<t.length;++c)i.color[c].target=34069+a;0<a&&(i.depth=r[0].depth,i.stencil=r[0].stencil,i.depthStencil=r[0].depthStencil),r[a]?r[a](i):r[a]=y(i)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var a=e.color;for(t=0;t<a.length;++t)a[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(T).forEach(v)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,X(T).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function M(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function a(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function i(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,a){if(!(o=(a=35632===r?c:u)[n])){var i=e.str(n),o=t.createShader(r);t.shaderSource(o,i),t.compileShader(o),a[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var h=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=h);var f=r.uniforms;for(l=0;l<h;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace("[0]","["+p+"]");i(f,new a(d,e.id(d),t.getUniformLocation(u,d),c))}else i(f,new a(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(h=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=h),f=r.attributes,l=0;l<h;++l)(c=t.getActiveAttrib(u,l))&&i(f,new a(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},h={},f=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var a=h[e];a||(a=h[e]={});var i=a[t];return i||(i=new s(e,t),r.shaderCount++,l(i),a[t]=i,f.push(i)),i},restore:function(){c={},u={};for(var t=0;t<f.length;++t)l(f[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,a,i,o){function s(a){var i;i=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return W(a)?u=a:a&&(o=0|a.x,s=0|a.y,l=0|(a.width||n.framebufferWidth-o),c=0|(a.height||n.framebufferHeight-s),u=a.data||null),r(),a=l*c*4,u||(5121===i?u=new Uint8Array(a):5126===i&&(u=u||new Float32Array(a))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,i,u),u}return function(t){return t&&"framebuffer"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=s(t)}),r}(t):s(t)}}function L(t){return Array.prototype.slice.call(t)}function C(t){return L(t).join("")}function P(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,L(arguments))},{def:function(){var n="v"+r++;return e.push(n),0<arguments.length&&(t.push(n,"="),t.push.apply(t,L(arguments)),t.push(";")),n},toString:function(){return C([0<e.length?"var "+e+";":"",C(t)])}})}function e(){function e(t,e){n(t,e,"=",r.def(t,e),";")}var r=t(),n=t(),a=r.toString,i=n.toString;return j(function(){r.apply(r,L(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,a){e(t,n),r(t,n,"=",a,";")},toString:function(){return a()+i()}})}var r=0,n=[],a=[],i=t(),o={};return{global:i,link:function(t){for(var e=0;e<a.length;++e)if(a[e]===t)return n[e];return e="g"+r++,n.push(e),a.push(t),e},block:t,proc:function(t,r){function n(){var t="a"+a.length;return a.push(t),t}var a=[];r=r||0;for(var i=0;i<r;++i)n();var s=(i=e()).toString;return o[t]=j(i,{arg:n,toString:function(){return C(["function(",a.join(),"){",s(),"}"])}})},scope:e,cond:function(){var t=C(arguments),r=e(),n=e(),a=r.toString,i=n.toString;return j(r,{then:function(){return r.apply(r,L(arguments)),this},else:function(){return n.apply(n,L(arguments)),this},toString:function(){var e=i();return e&&(e="else{"+e+"}"),C(["if(",t,"){",a(),"}",e])}})},compile:function(){var t=['"use strict";',i,"return {"];Object.keys(o).forEach(function(e){t.push('"',e,'":',o[e].toString(),",")}),t.push("}");var e=C(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,n.concat(e)).apply(null,a)}}}function O(t){return Array.isArray(t)||W(t)||l(t)}function z(t){return t.sort(function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1})}function I(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function D(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new I(!1,!1,!1,t)}function F(t,e){var r=t.type;return 0===r?new I(!0,1<=(r=t.data.length),2<=r,e):4===r?new I((r=t.data).thisDep,r.contextDep,r.propDep,e):new I(3===r,2===r,1===r,e)}function B(t,e,r,n,a,o,s,l,c,u,h,f,p,d,g){function m(t){return t.replace(".","_")}function y(t,e,r){var n=m(t);nt.push(t),et[n]=tt[n]=!!r,at[n]=e}function x(t,e,r){var n=m(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,it[n]=e}function b(){var t=P(),r=t.link,n=t.global;t.id=lt++,t.batchId="0";var a=r(ot),i=t.shared={props:"a0"};Object.keys(ot).forEach(function(t){i[t]=n.def(a,".",t)});var o=t.next={},s=t.current={};Object.keys(it).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(i.next,".",t),s[t]=n.def(i.current,".",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var a=["this",i.context,i.props,t.batchId];return e.def(r(n.data),".call(",a.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(i.props,n.data);case 2:return e.def(i.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if("framebuffer"in r){var a=r.framebuffer;return a?(a=l.getFramebuffer(a),R(function(t,e){var r=t.link(a),n=t.shared;return e.set(n.framebuffer,".next",r),n=n.context,e.set(n,".framebufferWidth",r+".width"),e.set(n,".framebufferHeight",r+".height"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,".next","null"),r=r.context,e.set(r,".framebufferWidth",r+".drawingBufferWidth"),e.set(r,".framebufferHeight",r+".drawingBufferHeight"),"null"})}if("framebuffer"in n){var i=n.framebuffer;return F(i,function(t,e){var r=t.invoke(e,i),n=t.shared,a=n.framebuffer;r=e.def(a,".getFramebuffer(",r,")");return e.set(a,".next",r),n=n.context,e.set(n,".framebufferWidth",r+"?"+r+".width:"+n+".drawingBufferWidth"),e.set(n,".framebufferHeight",r+"?"+r+".height:"+n+".drawingBufferHeight"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in a){var i=a[t];return F(i,function(t,e){var r=t.invoke(e,i);return e.def(t.shared.strings,".id(",r,")")})}return null}var n=t.static,a=t.dynamic,i=r("frag"),o=r("vert"),s=null;return D(i)&&D(o)?(s=h.program(o.id,i.id),t=R(function(t,e){return t.link(s)})):t=new I(i&&i.thisDep||o&&o.thisDep,i&&i.contextDep||o&&o.contextDep,i&&i.propDep||o&&o.propDep,function(t,e){var r,n,a=t.shared.shader;return r=i?i.append(t,e):e.def(a,".","frag"),n=o?o.append(t,e):e.def(a,".","vert"),e.def(a+".program("+n+","+r+")")}),{frag:i,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in a){var o=a[t];return F(o,function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n})}return e&&i?R(function(t,e){return t.OFFSET="0",0}):null}var n=t.static,a=t.dynamic,i=function(){if("elements"in n){var t=n.elements;O(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if("elements"in a){var r=a.elements;return F(r,function(t,e){var n=(a=t.shared).isBufferArgs,a=a.elements,i=t.invoke(e,r),o=e.def("null");n=e.def(n,"(",i,")"),i=t.cond(n).then(o,"=",a,".createStream(",i,");").else(o,"=",a,".getElements(",i,");");return e.entry(i),e.exit(t.cond(n).then(a,".destroyStream(",o,");")),t.ELEMENTS=o})}return null}(),s=r("offset",!0);return{elements:i,primitive:function(){if("primitive"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if("primitive"in a){var e=a.primitive;return F(e,function(t,r){var n=t.constants.primTypes,a=t.invoke(r,e);return r.def(n,"[",a,"]")})}return i?D(i)?i.value?R(function(t,e){return e.def(t.ELEMENTS,".primType")}):R(function(){return 4}):new I(i.thisDep,i.contextDep,i.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,"?",r,".primType:",4)}):null}(),count:function(){if("count"in n){var t=0|n.count;return R(function(){return t})}if("count"in a){var e=a.count;return F(e,function(t,r){return t.invoke(r,e)})}return i?D(i)?i?s?new I(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,".vertCount-",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,".vertCount")}):R(function(){return-1}):new I(i.thisDep||s.thisDep,i.contextDep||s.contextDep,i.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,"?",r,".vertCount-",t.OFFSET,":-1"):e.def(r,"?",r,".vertCount:-1")}):null}(),instances:r("instances",!1),offset:s}}function T(t,r){var n=t.static,i=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],i=e.id(t),s=new Z;if(O(r))s.state=1,s.buffer=a.getBuffer(a.create(r,34962,!1,!0)),s.type=0;else if(c=a.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if("constant"in r){var l=r.constant;s.buffer="null",s.state=2,"number"==typeof l?s.x=l:bt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=O(r.buffer)?a.getBuffer(a.create(r.buffer,34962,!1,!0)):a.getBuffer(r.buffer),u=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;"type"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=f,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=h,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(i in r)return r[i];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+".dtype"),r[i]=n})}),Object.keys(i).forEach(function(t){var e=i[t];o[t]=F(e,function(t,r){function n(t){r(l[t],"=",a,".",t,"|0;")}var a=t.invoke(r,e),i=t.shared,o=i.isBufferArgs,s=i.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(""+c[t])});var u=l.buffer,h=l.type;return r("if(",o,"(",a,")){",l.isStream,"=true;",u,"=",s,".createStream(",34962,",",a,");",h,"=",u,".dtype;","}else{",u,"=",s,".getBuffer(",a,");","if(",u,"){",h,"=",u,".dtype;",'}else if("constant" in ',a,"){",l.state,"=",2,";","if(typeof "+a+'.constant === "number"){',l[bt[0]],"=",a,".constant;",bt.slice(1).map(function(t){return l[t]}).join("="),"=0;","}else{",bt.map(function(t,e){return l[t]+"="+a+".constant.length>"+e+"?"+a+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",a,".buffer)){",u,"=",s,".createStream(",34962,",",a,".buffer);","}else{",u,"=",s,".getBuffer(",a,".buffer);","}",h,'="type" in ',a,"?",i.glTypes,"[",a,".type]:",u,".dtype;",l.normalized,"=!!",a,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function A(t,e,r,n,a){var o=_(t),s=function(t,e,r){function n(t){if(t in a){var r=a[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new I(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var a=t.shared.context,i=n;"width"in r||(i=e.def(a,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(a,".","framebufferHeight","-",l)),[s,l,i,c]})}if(t in i){var c=i[t];return t=F(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,a=e.def(r,".x|0"),i=e.def(r,".y|0");return[a,i,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",a,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",i,")")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new I(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]}):null}var a=t.static,i=t.dynamic;if(t=n("viewport")){var o=t;t=new I(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r})}return{viewport:t,scissor_box:n("scissor.box")}}(t,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,a={};return nt.forEach(function(t){function e(e,i){if(t in r){var s=e(r[t]);a[o]=R(function(){return s})}else if(t in n){var l=n[t];a[o]=F(l,function(t,e){return i(t,e,t.invoke(e,l))})}}var o=m(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e(function(t){return t},function(t,e,r){return r});case"depth.func":return e(function(t){return kt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")});case"depth.range":return e(function(t){return t},function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]});case"blend.func":return e(function(t){return[wt["srcRGB"in t?t.srcRGB:t.src],wt["dstRGB"in t?t.dstRGB:t.dst],wt["srcAlpha"in t?t.srcAlpha:t.src],wt["dstAlpha"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var a=n("src","RGB"),i=n("dst","RGB"),o=(a=e.def(t,"[",a,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[a,i=e.def(t,"[",i,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]});case"blend.equation":return e(function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,a=e.def(),i=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(a,"=",i,"=",n,"[",r,"];"),t.else(a,"=",n,"[",r,".rgb];",i,"=",n,"[",r,".alpha];"),e(t),[a,i]});case"blend.color":return e(function(t){return i(4,function(e){return+t[e]})},function(t,e,r){return i(4,function(t){return e.def("+",r,"[",t,"]")})});case"stencil.mask":return e(function(t){return 0|t},function(t,e,r){return e.def(r,"|0")});case"stencil.func":return e(function(t){return[kt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]},function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return e(function(e){return["stencil.opBack"===t?1029:1028,Tt[e.fail||"keep"],Tt[e.zfail||"keep"],Tt[e.zpass||"keep"]]},function(e,r,n){function a(t){return r.def('"',t,'" in ',n,"?",i,"[",n,".",t,"]:",7680)}var i=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,a("fail"),a("zfail"),a("zpass")]});case"polygonOffset.offset":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]});case"cull.face":return e(function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e},function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)});case"lineWidth":return e(function(t){return t},function(t,e,r){return r});case"frontFace":return e(function(t){return At[t]},function(t,e,r){return e.def(r+'==="cw"?2304:2305')});case"colorMask":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return i(4,function(t){return"!!"+r+"["+t+"]"})});case"sample.coverage":return e(function(t){return["value"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]})}}),a}(t),u=w(t),h=s.viewport;return h&&(c.viewport=h),(s=s[h=m("scissor.box")])&&(c[h]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,"profile"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if("profile"in t){var a=t.profile;e=F(a,function(t,e){return t.invoke(e,a)})}return e}(t),o.uniforms=function(t,e){var r=t.static,n=t.dynamic,a={};return Object.keys(r).forEach(function(t){var e,n=r[t];if("number"==typeof n||"boolean"==typeof n)e=R(function(){return n});else if("function"==typeof n){var o=n._reglType;"texture2d"===o||"textureCube"===o?e=R(function(t){return t.link(n)}):"framebuffer"!==o&&"framebufferCube"!==o||(e=R(function(t){return t.link(n.color[0])}))}else v(n)&&(e=R(function(t){return t.global.def("[",i(n.length,function(t){return n[t]}),"]")}));e.value=n,a[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];a[t]=F(e,function(t,r){return t.invoke(r,e)})}),a}(r),o.attributes=T(e),o.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(function(t,e){return"number"==typeof r||"boolean"==typeof r?""+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=F(e,function(t,r){return t.invoke(r,e)})}),n}(n),o}function M(t,e,r){var n=t.shared.context,a=t.scope();Object.keys(r).forEach(function(i){e.save(n,"."+i),a(n,".",i,"=",r[i].append(t,e),";")}),e(a)}function S(t,e,r,n){var a,i=(s=t.shared).gl,o=s.framebuffer;$&&(a=e.def(s.extensions,".webgl_draw_buffers"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,".next"),n||e("if(",t,"!==",o,".cur){"),e("if(",t,"){",i,".bindFramebuffer(",36160,",",t,".framebuffer);"),$&&e(a,".drawBuffersWEBGL(",s,"[",t,".colorAttachments.length]);"),e("}else{",i,".bindFramebuffer(",36160,",null);"),$&&e(a,".drawBuffersWEBGL(",l,");"),e("}",o,".cur=",t,";"),n||e("}")}function E(t,e,r){var n=t.shared,a=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,".dirty");nt.forEach(function(e){var n,h;if(!((e=m(e))in r.state))if(e in s){n=s[e],h=o[e];var f=i(tt[e].length,function(t){return u.def(n,"[",t,"]")});u(t.cond(f.map(function(t,e){return t+"!=="+h+"["+e+"]"}).join("||")).then(a,".",it[e],"(",f,");",f.map(function(t,e){return h+"["+e+"]="+t}).join(";"),";"))}else n=u.def(c,".",e),f=t.cond(n,"!==",l,".",e),u(f),e in at?f(t.cond(n).then(a,".enable(",at[e],");").else(a,".disable(",at[e],");"),l,".",e,"=",n,";"):f(a,".",it[e],"(",n,");",l,".",e,"=",n,";")}),0===Object.keys(r.state).length&&u(l,".dirty=false;"),e(u)}function L(t,e,r,n){var a=t.shared,i=t.current,o=a.current,s=a.gl;z(Object.keys(r)).forEach(function(a){var l=r[a];if(!n||n(l)){var c=l.append(t,e);if(at[a]){var u=at[a];D(l)?e(s,c?".enable(":".disable(",u,");"):e(t.cond(c).then(s,".enable(",u,");").else(s,".disable(",u,");")),e(o,".",a,"=",c,";")}else if(v(c)){var h=i[a];e(s,".",it[a],"(",c,");",c.map(function(t,e){return h+"["+e+"]="+t}).join(";"),";")}else e(s,".",it[a],"(",c,");",o,".",a,"=",c,";")}})}function C(t,e){Q&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function B(t,e,r,n,a){function i(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(t){t(c=e.def(),"=",i(),";"),"string"==typeof a?t(f,".count+=",a,";"):t(f,".count++;"),d&&(n?t(u=e.def(),"=",g,".getNumPendingQueries();"):t(g,".beginQuery(",f,");"))}function s(t){t(f,".cpuTime+=",i(),"-",c,";"),d&&(n?t(g,".pushScopeStats(",u,",",g,".getNumPendingQueries(),",f,");"):t(g,".endQuery();"))}function l(t){var r=e.def(p,".profile");e(p,".profile=",t,";"),e.exit(p,".profile=",r,";")}var c,u,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(D(r))return void(r.enable?(o(e),s(e.exit),l("true")):l("false"));l(r=r.append(t,e))}else r=e.def(p,".profile");o(h=t.block()),e("if(",r,"){",h,"}"),s(t=t.block()),e.exit("if(",r,"){",t,"}")}function N(t,e,r,n,a){function i(r,n,a){function i(){e("if(!",u,".buffer){",l,".enableVertexAttribArray(",c,");}");var r,i=a.type;r=a.size?e.def(a.size,"||",n):n,e("if(",u,".type!==",i,"||",u,".size!==",r,"||",p.map(function(t){return u+"."+t+"!=="+a[t]}).join("||"),"){",l,".bindBuffer(",34962,",",h,".buffer);",l,".vertexAttribPointer(",[c,r,i,a.normalized,a.stride,a.offset],");",u,".type=",i,";",u,".size=",r,";",p.map(function(t){return u+"."+t+"="+a[t]+";"}).join(""),"}"),Q&&(i=a.divisor,e("if(",u,".divisor!==",i,"){",t.instancing,".vertexAttribDivisorANGLE(",[c,i],");",u,".divisor=",i,";}"))}function s(){e("if(",u,".buffer){",l,".disableVertexAttribArray(",c,");","}if(",bt.map(function(t,e){return u+"."+t+"!=="+f[e]}).join("||"),"){",l,".vertexAttrib4f(",c,",",f,");",bt.map(function(t,e){return u+"."+t+"="+f[e]+";"}).join(""),"}")}var l=o.gl,c=e.def(r,".location"),u=e.def(o.attributes,"[",c,"]");r=a.state;var h=a.buffer,f=[a.x,a.y,a.z,a.w],p=["buffer","normalized","offset","stride"];1===r?i():2===r?s():(e("if(",r,"===",1,"){"),i(),e("}else{"),s(),e("}"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!a(l))return;o=l.append(t,e)}else{if(!a(Mt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,".",t)})}i(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,a,o){for(var s,l=t.shared,c=l.gl,u=0;u<a.length;++u){var h,f=(g=a[u]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+".location";if(d){if(!o(d))continue;if(D(d)){if(f=d.value,35678===p||35680===p)r(c,".uniform1i(",g,",",(p=t.link(f._texture||f.color[0]._texture))+".bind());"),r.exit(p,".unbind();");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,".uniformMatrix",d,"fv(",g,",false,",f=t.global.def("new Float32Array(["+Array.prototype.slice.call(f)+"])"),");");else{switch(p){case 5126:s="1f";break;case 35664:s="2f";break;case 35665:s="3f";break;case 35666:s="4f";break;case 35670:case 5124:s="1i";break;case 35671:case 35667:s="2i";break;case 35672:case 35668:s="3i";break;case 35673:s="4i";break;case 35669:s="4i"}r(c,".uniform",s,"(",g,",",v(f)?Array.prototype.slice.call(f):f,");")}continue}h=d.append(t,r)}else{if(!o(Mt))continue;h=r.def(l.uniforms,"[",e.id(f),"]")}switch(35678===p?r("if(",h,"&&",h,'._reglType==="framebuffer"){',h,"=",h,".color[0];","}"):35680===p&&r("if(",h,"&&",h,'._reglType==="framebufferCube"){',h,"=",h,".color[0];","}"),f=1,p){case 35678:case 35680:p=r.def(h,"._texture"),r(c,".uniform1i(",g,",",p,".bind());"),r.exit(p,".unbind();");continue;case 5124:case 35670:s="1i";break;case 35667:case 35671:s="2i",f=2;break;case 35668:case 35672:s="3i",f=3;break;case 35669:case 35673:s="4i",f=4;break;case 5126:s="1f";break;case 35664:s="2f",f=2;break;case 35665:s="3f",f=3;break;case 35666:s="4f",f=4;break;case 35674:s="Matrix2fv";break;case 35675:s="Matrix3fv";break;case 35676:s="Matrix4fv"}if(r(c,".uniform",s,"(",g,","),"M"===s.charAt(0)){g=Math.pow(p-35674+2,2);var m=t.global.def("new Float32Array(",g,")");r("false,(Array.isArray(",h,")||",h," instanceof Float32Array)?",h,":(",i(g,function(t){return m+"["+t+"]="+h+"["+t+"]"}),",",m,")")}else r(1<f?i(f,function(t){return h+"["+t+"]"}):h);r(");")}}function V(t,e,r,n){function a(a){var i=f[a];return i?i.contextDep&&n.contextDynamic||i.propDep?i.append(t,r):i.append(t,e):e.def(h,".",a)}function i(){function t(){r(l,".drawElementsInstancedANGLE(",[d,v,m,g+"<<(("+m+"-5121)>>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,v,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,v,m,g+"<<(("+m+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,v]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var a=f.elements,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","elements"),a&&i("if("+a+")"+u+".bindBuffer(34963,"+a+".buffer.buffer);"),a}(),d=a("primitive"),g=a("offset"),v=function(){var a=f.count,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","count"),a}();if("number"==typeof v){if(0===v)return}else r("if(",v,"){"),r.exit("}");Q&&(s=a("instances"),l=t.instancing);var m=p+".type",y=f.elements&&D(f.elements);Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),i(),r("}else if(",s,"<0){"),o(),r("}")):i():o()}function q(t,e,r,n,a){return a=(e=b()).proc("body",a),Q&&(e.instancing=a.def(e.shared.extensions,".angle_instanced_arrays")),t(e,a,r,n),e.compile().body}function H(t,e,r,n){C(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function a(){return!0}t.batchId="a1",C(t,e),N(t,e,r,n.attributes,a),j(t,e,r,n.uniforms,a),V(t,e,e,r)}function Y(t,e,r,n){function a(t){return t.contextDep&&o||t.propDep}function i(t){return!a(t)}C(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&M(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),L(t,u,r.state,a),r.profile&&a(r.profile)&&B(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,i),N(t,u,r,n.attributes,a),j(t,c,r,n.uniforms,i),j(t,u,r,n.uniforms,a),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function W(t,r){function n(e){var n=r.shader[e];n&&a.set(i.shader,"."+e,n.append(t,a))}var a=t.proc("scope",3);t.batchId="a2";var i=t.shared,o=i.current;M(t,a,r.context),r.framebuffer&&r.framebuffer.append(t,a),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,a);v(n)?n.forEach(function(r,n){a.set(t.next[e],"["+n+"]",r)}):a.set(i.next,"."+e,n)}),B(t,a,r,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(e){var n=r.draw[e];n&&a.set(i.draw,"."+e,""+n.append(t,a))}),Object.keys(r.uniforms).forEach(function(n){a.set(i.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,a))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,a),i=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){a.set(i,"."+t,n[t])})}),n("vert"),n("frag"),0<Object.keys(r.state).length&&(a(o,".dirty=true;"),a.exit(o,".dirty=true;")),a("a1(",t.shared.context,",a0,",t.batchId,");")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if("object"==typeof t&&!v(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var a=t.global,i=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def("{}");i.forEach(function(e){var r=n[e];if(U.isDynamic(r))"function"==typeof r&&(r=n[e]=U.unbox(r)),e=F(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(a(c,".",e,"="),typeof r){case"number":a(r);break;case"string":a('"',r,'"');break;case"object":Array.isArray(r)&&a("[",r.join(),"]");break;default:a(t.link(r))}a(";")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){i.forEach(function(r){var a=n[r];U.isDynamic(a)&&(a=t.invoke(e,a),e(c,".",r,"=",a,";"))})}}),delete e.static[r]}}var Z=u.Record,J={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],at={},it={};y("dither",3024),y("blend.enable",3042),x("blend.color","blendColor",[0,0,0,0]),x("blend.equation","blendEquationSeparate",[32774,32774]),x("blend.func","blendFuncSeparate",[1,0,1,0]),y("depth.enable",2929,!0),x("depth.func","depthFunc",513),x("depth.range","depthRange",[0,1]),x("depth.mask","depthMask",!0),x("colorMask","colorMask",[!0,!0,!0,!0]),y("cull.enable",2884),x("cull.face","cullFace",1029),x("frontFace","frontFace",2305),x("lineWidth","lineWidth",1),y("polygonOffset.enable",32823),x("polygonOffset.offset","polygonOffset",[0,0]),y("sample.alpha",32926),y("sample.enable",32928),x("sample.coverage","sampleCoverage",[1,!1]),y("stencil.enable",2960),x("stencil.mask","stencilMask",-1),x("stencil.func","stencilFunc",[519,0,-1]),x("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),x("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),y("scissor.enable",3089),x("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:f,elements:o,buffer:a,shader:h,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:O},st={primTypes:rt,compareFuncs:kt,blendFuncs:wt,blendEquations:J,stencilOps:Tt,glTypes:K,orientationType:At};$&&(st.backBuffer=[1029],st.drawBuffer=i(n.maxDrawbuffers,function(t){return 0===t?[0]:i(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc("poll"),r=t.proc("refresh"),a=t.block();e(a),r(a);var o,s=t.shared,l=s.gl,c=s.next,u=s.current;a(u,".dirty=false;"),S(t,e),S(t,r,null,!0),Q&&(o=t.link(Q));for(var h=0;h<n.maxAttributes;++h){var f=r.def(s.attributes,"[",h,"]"),p=t.cond(f,".buffer");p.then(l,".enableVertexAttribArray(",h,");",l,".bindBuffer(",34962,",",f,".buffer.buffer);",l,".vertexAttribPointer(",h,",",f,".size,",f,".type,",f,".normalized,",f,".stride,",f,".offset);").else(l,".disableVertexAttribArray(",h,");",l,".vertexAttrib4f(",h,",",f,".x,",f,".y,",f,".z,",f,".w);",f,".buffer=null;"),r(p),Q&&r(o,".vertexAttribDivisorANGLE(",h,",",f,".divisor);")}return Object.keys(at).forEach(function(n){var i=at[n],o=a.def(c,".",n),s=t.block();s("if(",o,"){",l,".enable(",i,")}else{",l,".disable(",i,")}",u,".",n,"=",o,";"),r(s),e("if(",o,"!==",u,".",n,"){",s,"}")}),Object.keys(it).forEach(function(n){var o,s,h=it[n],f=tt[n],p=t.block();p(l,".",h,"("),v(f)?(h=f.length,o=t.global.def(c,".",n),s=t.global.def(u,".",n),p(i(h,function(t){return o+"["+t+"]"}),");",i(h,function(t){return s+"["+t+"]="+o+"["+t+"];"}).join("")),e("if(",i(h,function(t){return o+"["+t+"]!=="+s+"["+t+"]"}).join("||"),"){",p,"}")):(o=a.def(c,".",n),s=a.def(u,".",n),p(o,");",u,".",n,"=",o,";"),e("if(",o,"!==",s,"){",p,"}")),r(p)}),t.compile()}(),compile:function(t,e,r,n,a){var i=b();return i.stats=i.link(a),Object.keys(e.static).forEach(function(t){X(i,e,t)}),_t.forEach(function(e){X(i,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc("draw",1);C(t,r),M(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),L(t,r,e.state),B(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,".useProgram(",n,".program);"),e.shader.program)H(t,r,e,e.shader.program);else{var a=t.global.def("{}"),i=r.def(n,".id"),o=r.def(a,"[",i,"]");r(t.cond(o).then(o,".call(this,a0);").else(o,"=",a,"[",i,"]=",t.link(function(r){return q(H,t,e,r,1)}),"(",n,");",o,".call(this,a0);"))}0<Object.keys(e.state).length&&r(t.shared.current,".dirty=true;")}(i,r),W(i,r),function(t,e){function r(t){return t.contextDep&&a||t.propDep}var n=t.proc("batch",2);t.batchId="0",C(t,n);var a=!1,i=!0;Object.keys(e.context).forEach(function(t){a=a||e.context[t].propDep}),a||(M(t,n,e.context),i=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?a=o=!0:s.contextDep&&a&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(a=!0),E(t,n,e),L(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||B(t,n,e,!1,"a1"),e.contextDep=a,e.needsContext=i,e.needsFramebuffer=o,(i=e.shader.progVar).contextDep&&a||i.propDep)Y(t,n,e,null);else if(i=i.append(t,n),n(t.shared.gl,".useProgram(",i,".program);"),e.shader.program)Y(t,n,e,e.shader.program);else{var s=t.global.def("{}"),l=(o=n.def(i,".id"),n.def(s,"[",o,"]"));n(t.cond(l).then(l,".call(this,a0,a1);").else(l,"=",s,"[",o,"]=",t.link(function(r){return q(Y,t,e,r,2)}),"(",i,");",l,".call(this,a0,a1);"))}0<Object.keys(e.state).length&&n(t.shared.current,".dirty=true;")}(i,r),i.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+""))},isDynamic:function(e){return"function"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return"function"==typeof e?new t(0,e):e},accessor:e},q={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},H="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=s();G.zero=s();var Y=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,a=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),a=t.getParameter(36063));var i=!!e.oes_texture_float;if(i){i=t.createTexture(),t.bindTexture(3553,i),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,i,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))i=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=G.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?i=!1:(t.deleteFramebuffer(o),t.deleteTexture(i),i=1===s[0]),G.freeType(s)}}return s=!0,"undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=G.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),G.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter(function(t){return!!e[t]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:a,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:i,npotTextureCube:s}},W=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},X=function(t){return Object.keys(t).map(function(e){return t[e]})},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var a=1;if(e.length)for(var i=0;i<e.length;++i)a*=e[i];else a=0;switch(r=n||G.allocType(r,a),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],i=a=0;i<n;++i)for(var o=t[i],s=0;s<e;++s)r[a++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,a,i){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],h=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,h,r,a,i),i+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,a,i),i+=o}(t,e,0,r,0)}return r}},J={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},nt=new Float32Array(1),at=new Uint32Array(nt.buffer),it=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=m("HTMLCanvasElement"),ct=m("CanvasRenderingContext2D"),ut=m("ImageBitmap"),ht=m("HTMLImageElement"),ft=m("HTMLVideoElement"),pt=Object.keys(J).concat([lt,ct,ut,ht,ft]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var gt=[];gt[32854]=2,gt[32855]=2,gt[36194]=2,gt[34041]=4,gt[33776]=.5,gt[33777]=.5,gt[33778]=1,gt[33779]=1,gt[35986]=.5,gt[35987]=1,gt[34798]=1,gt[35840]=.5,gt[35841]=.25,gt[35842]=.5,gt[35843]=.25,gt[36196]=.5;var vt=[];vt[32854]=2,vt[32855]=2,vt[36194]=2,vt[33189]=2,vt[36168]=1,vt[34041]=4,vt[35907]=4,vt[34836]=16,vt[34842]=8,vt[34843]=6;var mt=function(t,e,r,n,a){function i(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,a.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var c=0,u={};return i.prototype.decRef=function(){0>=--this.refCount&&o(this)},a.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,i=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(i=e.shape)[0],i=0|i[1]):("radius"in e&&(n=i=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(i=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,i="number"==typeof r?0|r:n):e||(n=i=1),n!==c.width||i!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=i,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new i(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,i=0|r||n;return n===c.width&&i===c.height?o:(o.width=c.width=n,o.height=c.height=i,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o)},o._reglType="renderbuffer",o._renderbuffer=c,a.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=["x","y","z","w"],_t="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),wt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},kt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Tt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},At={cw:2304,ccw:2305},Mt=new I(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),$=null;else{$=q.next(e),h();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(P,null,0)}v.flush(),w&&w.update()}}function r(){!$&&0<Z.length&&($=q.next(e))}function n(){$&&(q.cancel(e),$=null)}function i(t){t.preventDefault(),n(),J.forEach(function(t){t()})}function o(t){v.getError(),y.restore(),D.restore(),z.restore(),R.restore(),F.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),K.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var a=t[n];U.isDynamic(a)?r[n]=U.unbox(a,n):e[n]=a}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),a=e(t.attributes||{}),i=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach(function(n){r[t+"."+n]=e[n]})}}var r=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,"stencil"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e("blend"),e("depth"),e("cull"),e("stencil"),e("polygonOffset"),e("scissor"),e("sample"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(i,a,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(function(t,e){var r;if("function"==typeof t)return l.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if("number"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),"depth"in e&&(v.clearDepth(+e.depth),r|=256),"stencil"in e&&(v.clearStencil(0|e.stencil),r|=1024),v.clear(r)}function c(t){return Z.push(t),r(),{cancel:function(){var e=N(Z,t);Z[e]=function t(){var e=N(Z,t);Z[e]=Z[Z.length-1],--Z.length,0>=Z.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){P.tick+=1,P.time=g(),u(),G.procs.poll()}function f(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=a(t)))return null;var v=t.gl,m=v.getContextAttributes();v.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},a=0;a<e.extensions.length;++a){var i=e.extensions[a];if(!r(i))return e.onDestroy(),e.onDone('"'+i+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach(function(t){if(n[t]&&!r(t))throw Error("(regl): error restoring extension "+t)})}}}(v,t);if(!y)return null;var x=function(){var t={"":0},e=[""];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var a=o.pop()||new r;a.startQueryIndex=t,a.endQueryIndex=e,a.sum=0,a.stats=n,s.push(a)}if(!e.ext_disjoint_timer_query)return null;var a=[],i=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var r=a.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),i.push(r),n(i.length-1,i.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=i.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=c[0]=0;for(r=t=0;r<i.length;++r){var u=i[r];e.ext_disjoint_timer_query.getQueryObjectEXT(u,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(u,34918),a.push(u)):i[t++]=u,l[r+1]=n,c[r+1]=t}for(i.length=t,r=t=0;r<s.length;++r){var h=(n=s[r]).startQueryIndex;u=n.endQueryIndex,n.sum+=l[u]-l[h],h=c[h],(u=c[u])===h?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=h,n.endQueryIndex=u,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return i.length},clear:function(){a.push.apply(a,i);for(var t=0;t<a.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(a[t]);i.length=0,a.length=0},restore:function(){i.length=0,a.length=0}}}(0,_),k=H(),L=v.drawingBufferWidth,C=v.drawingBufferHeight,P={tick:0,time:0,viewportWidth:L,viewportHeight:C,framebufferWidth:L,framebufferHeight:C,drawingBufferWidth:L,drawingBufferHeight:C,pixelRatio:t.pixelRatio},O=Y(v,_),z=(L=function(t,e,r,n){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new M;return{Record:M,scope:{},state:e}}(v,_,O),p(v,b,t,L)),I=d(v,_,z,b),D=S(v,x,b,t),R=T(v,_,O,function(){G.procs.poll()},P,b,t),F=mt(v,_,0,b,t),V=A(v,_,O,R,F,b),G=B(v,x,_,O,z,I,0,V,{},L,D,{elements:null,primitive:4,count:-1,offset:0,instances:-1},P,w,t),W=(x=E(v,V,G.procs.poll,P),G.next),X=v.canvas,Z=[],J=[],K=[],Q=[t.onDestroy],$=null;X&&(X.addEventListener("webglcontextlost",i,!1),X.addEventListener("webglcontextrestored",o,!1));var tt=V.setFBO=s({framebuffer:U.define.call(null,1,"framebuffer")});return f(),m=j(s,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var e=0;6>e;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return I.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=J;break;case"restore":r=K;break;case"destroy":r=Q}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:O,hasExtension:function(t){return 0<=O.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){Z.length=0,n(),X&&(X.removeEventListener("webglcontextlost",i),X.removeEventListener("webglcontextrestored",o)),D.clear(),V.clear(),F.clear(),R.clear(),I.clear(),z.clear(),w&&w.clear(),Q.forEach(function(t){t()})},_gl:v,_refresh:f,poll:function(){h(),w&&w.update()},now:g,stats:b}),t.onDone(null,m),m}},"object"==typeof r&&"undefined"!=typeof e?e.exports=a():n.createREGL=a()},{}],501:[function(t,e,r){"use strict";var n,a="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,a="";else if(a.length>=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a=(a+=t).substr(0,r)}},{}],502:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],503:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,a=e-2;a>=0;--a){var i=r,o=t[a],s=(r=i+o)-i,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,a=n;a<e;++a){var i=t[a],o=r,s=(r=i+o)-i,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],504:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-compress"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(2===t.length)return["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("");for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(l(t,r)),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return function t(e){if(1===e.length)return e[0];if(2===e.length)return["sum(",e[0],",",e[1],")"].join("");var r=e.length>>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m[",r,"][",n,"]"].join("")}return e}(t)),")};return robustDeterminant",t].join(""))(a,i,n,o)}var h=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;h.length<s;)h.push(u(h.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<s;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var a=Function.apply(void 0,t);for(e.exports=a.apply(void 0,h.concat([h,u])),n=0;n<h.length;++n)e.exports[n]=h[n]}()},{"robust-compress":503,"robust-scale":510,"robust-sum":513,"two-product":541}],505:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum");e.exports=function(t,e){for(var r=n(t[0],e[0]),i=1;i<t.length;++i)r=a(r,n(t[i],e[i]));return r}},{"robust-sum":513,"two-product":541}],506:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-subtract"),o=t("robust-scale"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function h(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(h(l(t,r))),",",(n=r,!0&n?"-":""),t[0][r],")"].join(""));return e;var n}function f(t,e){for(var r=[],n=0;n<e-2;++n)r.push(["prod(m",t,"[",n,"],m",t,"[",n,"])"].join(""));return c(r)}function p(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-2,"]"].join("")}return e}(t),u=0;u<t;++u)s[0][u]="1",s[t-1][u]="w"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,h(l(s,u))):r.push.apply(r,h(l(s,u)));var p=c(e),d=c(r),g="exactInSphere"+t,v=[];for(u=0;u<t;++u)v.push("m"+u);var m=["function ",g,"(",v.join(),"){"];for(u=0;u<t;++u){m.push("var w",u,"=",f(u,t),";");for(var y=0;y<t;++y)y!==u&&m.push("var w",u,"m",y,"=scale(w",u,",m",y,"[0]);")}return m.push("var p=",p,",n=",d,",d=diff(p,n);return d[d.length-1];}return ",g),new Function("sum","diff","prod","scale",m.join(""))(a,i,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var a=["function testInSphere(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),r.push(a.join(""));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":510,"robust-subtract":512,"robust-sum":513,"two-product":541}],507:[function(t,e,r){"use strict";var n=t("robust-determinant"),a=6;function i(t){for(var e="robustLinearSolve"+t+"d",r=["function ",e,"(A,b){return ["],a=0;a<t;++a){r.push("det([");for(var i=0;i<t;++i){i>0&&r.push(","),r.push("[");for(var o=0;o<t;++o)o>0&&r.push(","),o===a?r.push("+b[",i,"]"):r.push("+A[",i,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<a;)o.push(i(o.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<a;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,i])),n=0;n<a;++n)e.exports[n]=o[n]}()},{"robust-determinant":504}],508:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-subtract"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(u(l(t,r))),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return e;var n}function h(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-1,"]"].join("")}return e}(t),h=[],f=0;f<t;++f)0==(1&f)?e.push.apply(e,u(l(s,f))):r.push.apply(r,u(l(s,f))),h.push("m"+f);var p=c(e),d=c(r),g="orientation"+t+"Exact",v=["function ",g,"(",h.join(),"){var p=",p,",n=",d,",d=sub(p,n);return d[d.length-1];};return ",g].join("");return new Function("sum","prod","scale","sub",v)(a,n,i,o)}var f=h(3),p=h(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,a=(t[1]-r[1])*(e[0]-r[0]),i=(t[0]-r[0])*(e[1]-r[1]),o=a-i;if(a>0){if(i<=0)return o;n=a+i}else{if(!(a<0))return o;if(i>=0)return o;n=-(a+i)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var a=t[0]-n[0],i=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=i*c,g=o*l,v=o*s,m=a*c,y=a*l,x=i*s,b=u*(d-g)+h*(v-m)+f*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(v)+Math.abs(m))*Math.abs(h)+(Math.abs(y)+Math.abs(x))*Math.abs(f));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(h(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var a=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),r.push(a.join(""));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=h(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":510,"robust-subtract":512,"robust-sum":513,"two-product":541}],509:[function(t,e,r){"use strict";var n=t("robust-sum"),a=t("robust-scale");e.exports=function(t,e){if(1===t.length)return a(e,t[0]);if(1===e.length)return a(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var i=0;i<t.length;++i)r=n(r,a(e,t[i]));else for(var i=0;i<e.length;++i)r=n(r,a(t,e[i]));return r}},{"robust-scale":510,"robust-sum":513}],510:[function(t,e,r){"use strict";var n=t("two-product"),a=t("two-sum");e.exports=function(t,e){var r=t.length;if(1===r){var i=n(t[0],e);return i[0]?i:[i[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var h=s[1];a(h,l[0],s),s[0]&&(o[c++]=s[0]);var f=l[1],p=s[1],d=f+p,g=d-f,v=p-g;s[1]=d,v&&(o[c++]=v)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{"two-product":541,"two-sum":542}],511:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){var i=n(t,r,a),o=n(e,r,a);if(i>0&&o>0||i<0&&o<0)return!1;var s=n(r,t,e),l=n(a,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===i&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var a=0;a<2;++a){var i=t[a],o=e[a],s=Math.min(i,o),l=Math.max(i,o),c=r[a],u=n[a],h=Math.min(c,u),f=Math.max(c,u);if(f<s||l<h)return!1}return!0}(t,e,r,a);return!0};var n=t("robust-orientation")[3]},{"robust-orientation":508}],512:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],-e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=-e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,v,m=a+i,y=m-a,x=i-y,b=x,_=m;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(i=b)-(y=(m=a+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(i=b)-(y=(m=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(m=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],513:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,v,m=a+i,y=m-a,x=i-y,b=x,_=m;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(i=b)-(y=(m=a+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(i=b)-(y=(m=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(m=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],514:[function(t,e,r){"use strict";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],515:[function(t,e,r){"use strict";e.exports=function(t){return a(n(t))};var n=t("boundary-cells"),a=t("reduce-simplicial-complex")},{"boundary-cells":96,"reduce-simplicial-complex":490}],516:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=a.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=a.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,h=0;h<e;++h)for(var f=0;f<h;++f){var p=u[f],d=u[h];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}i(n(s,[l/2|0,2]));for(var g=2,c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,i){for(var o=t.data,s=t.shape[0],l=a.mallocDouble(s),c=0,u=0;u<s;++u){var h=o[2*u],f=o[2*u+1];if(r[h]!==r[f]){var p=e[h],d=e[f];o[2*c]=h,o[2*c+1]=f,l[c++]=(d-i)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),h=function(t,e){var r=a.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=i[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),f=o(s)(t,c.data,h,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),a=0;a<e;++a)n[a]=[r[2*a],r[2*a+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return a.free(l),a.free(c.data),a.free(u.data),a.free(h),{cells:f,vertexIds:p,vertexWeights:d}};var n=t("ndarray"),a=t("typedarray-pool"),i=t("ndarray-sort"),o=t("./lib/codegen")},{"./lib/codegen":517,ndarray:451,"ndarray-sort":449,"typedarray-pool":543}],517:[function(t,e,r){"use strict";e.exports=function(t){var e=i[t];e||(e=i[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var i=1;i<=t;++i)for(var o=r[i]=a(i),s=0;s<o.length;++s)e=Math.max(e,o[i].length);var l=["function B(C,E,i,j){","var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];","while(l<h){","var m=(l+h)>>1,v=E[2*m+1];","if(v===b){return m}","if(b<v){h=m}else{l=m+1}","}","return l;","};","function getContour",t,"d(F,E,C,S){","var n=F.length,R=[];","for(var i=0;i<n;++i){var c=F[i],l=c.length;"];function c(t){if(!(t.length<=0)){l.push("R.push(");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(","),l.push("[");for(var n=0;n<r.length;++n){var a=r[n];n>0&&l.push(","),l.push("B(C,E,c[",a[0],"],c[",a[1],"])")}l.push("]")}l.push(");")}}for(var i=t+1;i>1;--i){i<t+1&&l.push("else "),l.push("if(l===",i,"){");for(var u=[],s=0;s<i;++s)u.push("(S[c["+s+"]]<<"+s+")");l.push("var M=",u.join("+"),";if(M===0||M===",(1<<i)-1,"){continue}switch(M){");for(var o=r[i-1],s=0;s<o.length;++s)l.push("case ",s,":"),c(o[s]),l.push("break;");l.push("}}")}return l.push("}return R;};return getContour",t,"d"),new Function("pool",l.join(""))(n)}(t));return e};var n=t("typedarray-pool"),a=t("marching-simplex-table"),i={}},{"marching-simplex-table":428,"typedarray-pool":543}],518:[function(t,e,r){"use strict";var n=t("bit-twiddle"),a=t("union-find");function i(t,e){var r=t.length,n=t.length-e.length,a=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||a(t[0],t[1])-a(e[0],e[1]);case 3:var i=t[0]+t[1],o=e[0]+e[1];if(s=i+t[2]-(o+e[2]))return s;var s,l=a(t[0],t[1]),c=a(e[0],e[1]);return(s=a(l,t[2])-a(c,e[2]))||a(l+t[2],i)-a(c+e[2],o);default:var u=t.slice(0);u.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=u[f]-h[f])return n;return 0}}function o(t,e){return i(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=[t[a],e[a]];n.sort(o);for(a=0;a<r;++a)t[a]=n[a][0],e[a]=n[a][1];return t}return t.sort(i),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var a=t[n];if(i(a,t[n-1])){if(n===e){e++;continue}t[e++]=a}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,a=-1;r<=n;){var o=r+n>>1,s=i(t[o],e);s<=0?(0===s&&(a=o),r=o+1):s>0&&(n=o-1)}return a}function u(t,e){for(var r=new Array(t.length),a=0,o=r.length;a<o;++a)r[a]=[];for(var s=[],l=(a=0,e.length);a<l;++a)for(var u=e[a],h=u.length,f=1,p=1<<h;f<p;++f){s.length=n.popCount(f);for(var d=0,g=0;g<h;++g)f&1<<g&&(s[d++]=u[g]);var v=c(t,s);if(!(v<0))for(;r[v++].push(a),!(v>=t.length||0!==i(t[v],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],a=(1<<e+1)-1,i=0;i<t.length;++i)for(var o=t[i],l=a;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,h=0;h<o.length;++h)l&1<<h&&(c[u++]=o[h]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,a=t.length;n<a;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)e=r(e,i[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=i,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(h(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)r[i[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0|a.length,o=1,l=1<<i;o<l;++o){for(var c=[],u=0;u<i;++u)o>>>u&1&&c.push(a[u]);e.push(c)}return s(e)},r.skeleton=h,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;++i){for(var l=new Array(a.length-1),c=0,u=0;c<o;++c)c!==i&&(l[u++]=a[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new a(e),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var s=o+1;s<i.length;++s)r.link(i[o],i[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(h(t,0))),r=new a(e.length),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var u=c(e,[i[o]]),f=o+1;f<i.length;++f)r.link(u,c(e,[i[f]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{"bit-twiddle":93,"union-find":544}],519:[function(t,e,r){arguments[4][93][0].apply(r,arguments)},{dup:93}],520:[function(t,e,r){arguments[4][518][0].apply(r,arguments)},{"bit-twiddle":519,dup:518,"union-find":521}],521:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],522:[function(t,e,r){"use strict";e.exports=function(t,e,r){for(var i=e.length,o=t.length,s=new Array(i),l=new Array(i),c=new Array(i),u=new Array(i),h=0;h<i;++h)s[h]=l[h]=-1,c[h]=1/0,u[h]=!1;for(var h=0;h<o;++h){var f=t[h];if(2!==f.length)throw new Error("Input must be a graph");var p=f[1],d=f[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,a,i,o,c,h=s[t],f=l[t];return h<0||f<0?1/0:(r=e[t],a=e[h],i=e[f],o=Math.abs(n(r,a,i)),c=Math.sqrt(Math.pow(a[0]-i[0],2)+Math.pow(a[1]-i[1],2)),o/c)}function v(t,e){var r=T[t],n=T[e];T[t]=n,T[e]=r,A[r]=e,A[n]=t}function m(t){return c[T[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=m(t);;){var r=e,n=2*t+1,a=2*(t+1),i=t;if(n<S){var o=m(n);o<r&&(i=n,r=o)}if(a<S){var s=m(a);s<r&&(i=a)}if(i===t)return t;v(t,i),t=i}}function b(t){for(var e=m(t);t>0;){var r=y(t);if(r>=0){var n=m(r);if(e<n){v(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=T[0];return v(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=T[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var T=[],A=new Array(i),h=0;h<i;++h){var M=c[h]=g(h);M<1/0?(A[h]=T.length,T.push(h)):A[h]=-1}for(var S=T.length,h=S>>1;h>=0;--h)x(h);for(;;){var E=_();if(E<0||c[E]>r)break;k(E)}for(var L=[],h=0;h<i;++h)u[h]||(A[h]=L.length,L.push(e[h].slice()));L.length;function C(t,e){if(t[e]<0)return e;var r=e,n=e;do{var a=t[n];if(!u[n]||a<0||a===n)break;if(a=t[n=a],!u[n]||a<0||a===n)break;n=a,r=t[r]}while(r!==n);for(var i=e;i!==n;i=t[i])t[i]=n;return n}var P=[];return t.forEach(function(t){var e=C(s,t[0]),r=C(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],a=A[r];n!==a&&P.push([n,a])}}),a.unique(a.normalize(P)),{positions:L,edges:P}};var n=t("robust-orientation"),a=t("simplicial-complex")},{"robust-orientation":508,"simplicial-complex":520}],523:[function(t,e,r){"use strict";e.exports=function(t,e){var r,i,o,s;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return a(e,t);r=e[1],i=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-a(t,e);o=t[1],s=t[0]}var l=n(r,i,s),c=n(r,i,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,i),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return i[0]-s[0]};var n=t("robust-orientation");function a(t,e){var r,a,i,o;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],a=e[0]}t[0][1]<t[1][1]?(i=t[0],o=t[1]):(i=t[1],o=t[0]);var h=n(a,r,i);return h||((h=n(a,r,o))||o-a)}},{"robust-orientation":508}],524:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var l=t[i],c=l[0][0]<l[1][0];n[2*i]=new h(l[0][0],l,c,i),n[2*i+1]=new h(l[1][0],l,!c,i)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var f=a(o),p=[],d=[],g=[],i=0;i<r;){for(var v=n[i].x,m=[];i<r;){var y=n[i];if(y.x!==v)break;i+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(m.push(new u(y.segment[0][1],y.index,!0,!0)),m.push(new u(y.segment[1][1],y.index,!1,!1))):(m.push(new u(y.segment[1][1],y.index,!0,!1)),m.push(new u(y.segment[0][1],y.index,!1,!0)))):f=y.create?f.insert(y.segment,y.index):f.remove(y.segment)}p.push(f.root),d.push(v),g.push(m)}return new s(p,d,g)};var n=t("binary-search-bounds"),a=t("functional-red-black-tree"),i=t("robust-orientation"),o=t("./lib/order-segments");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,a,o=t.key;o[0][0]<o[1][0]?(n=o[0],a=o[1]):(n=o[1],a=o[0]);var s=i(n,a,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),a=-1;if(r&&(a=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,a=u.value):(a=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f<h.length){var p=h[f];if(t[1]===p.y){if(p.closed)return p.index;for(;f<h.length-1&&h[f+1].y===t[1];)if((p=h[f+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((f+=1)>=h.length)return a;p=h[f]}}if(p.start)if(s){var d=i(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(a=p.index)}else a=p.index;else p.y!==t[1]&&(a=p.index)}}}return a}},{"./lib/order-segments":523,"binary-search-bounds":92,"functional-red-black-tree":232,"robust-orientation":508}],525:[function(t,e,r){"use strict";var n=t("robust-dot-product"),a=t("robust-sum");function i(t,e){var r=a(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var a=-e/(n-e);a<0?a=0:a>1&&(a=1);for(var i=1-a,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=a*t[l]+i*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],a=i(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=i(l=t[c],e);if(a<0&&u>0||a>0&&u<0){var h=o(s,u,l,a);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),a=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":505,"robust-sum":513}],526:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(r){return function(r,n){var a,i,o,s,l,c,u,h,f,p=1,d=r.length,g="";for(i=0;i<d;i++)if("string"==typeof r[i])g+=r[i];else if("object"==typeof r[i]){if((s=r[i]).keys)for(a=n[p],o=0;o<s.keys.length;o++){if(null==a)throw new Error(e('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[o],s.keys[o-1]));a=a[s.keys[o]]}else a=s.param_no?n[s.param_no]:n[p++];if(t.not_type.test(s.type)&&t.not_primitive.test(s.type)&&a instanceof Function&&(a=a()),t.numeric_arg.test(s.type)&&"number"!=typeof a&&isNaN(a))throw new TypeError(e("[sprintf] expecting number but found %T",a));switch(t.number.test(s.type)&&(h=a>=0),s.type){case"b":a=parseInt(a,10).toString(2);break;case"c":a=String.fromCharCode(parseInt(a,10));break;case"d":case"i":a=parseInt(a,10);break;case"j":a=JSON.stringify(a,null,s.width?parseInt(s.width):0);break;case"e":a=s.precision?parseFloat(a).toExponential(s.precision):parseFloat(a).toExponential();break;case"f":a=s.precision?parseFloat(a).toFixed(s.precision):parseFloat(a);break;case"g":a=s.precision?String(Number(a.toPrecision(s.precision))):parseFloat(a);break;case"o":a=(parseInt(a,10)>>>0).toString(8);break;case"s":a=String(a),a=s.precision?a.substring(0,s.precision):a;break;case"t":a=String(!!a),a=s.precision?a.substring(0,s.precision):a;break;case"T":a=Object.prototype.toString.call(a).slice(8,-1).toLowerCase(),a=s.precision?a.substring(0,s.precision):a;break;case"u":a=parseInt(a,10)>>>0;break;case"v":a=a.valueOf(),a=s.precision?a.substring(0,s.precision):a;break;case"x":a=(parseInt(a,10)>>>0).toString(16);break;case"X":a=(parseInt(a,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=a:(!t.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",a=a.toString().replace(t.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+a).length,l=s.width&&u>0?c.repeat(u):"",g+=s.align?f+a+l:"0"===c?f+l+a:l+f+a)}return g}(function(e){if(a[e])return a[e];var r,n=e,i=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var a=Object.create(null);"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],527:[function(t,e,r){"use strict";var n=t("parenthesis");e.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map(function(t){return 1===t.length&&(t+=t),t}));var a=n.parse(t,{flat:!0,brackets:r.ignore}),i=a[0].split(e);if(r.escape){for(var o=[],s=0;s<i.length;s++){var l=i[s],c=i[s+1];"\\"===l[l.length-1]&&"\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}i=o}for(s=0;s<i.length;s++)a[0]=i[s],i[s]=n.stringify(a,{flat:!0});return i}},{parenthesis:459}],528:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),a=new Array(e),i=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,a[l]=!1,i[l]=0,o[l]=-1,s[l]=[];var c,u=0,h=[],f=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,a[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(i[e]<p.length){for(var d=i[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,a[g]=!0,u+=1,l.push(g),c.push(g);break}a[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}i[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(a[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];f.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort(function(t,e){return t-e}),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);f[l]=c}}return{components:h,adjacencyList:f}}},{}],529:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;s<n;++s)a[s]=[r[s]],o[s]=[s];return{positions:a,cells:o}}(t,e);var r=t.order.join()+"-"+t.dtype,s=o[r],e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,i=["'use strict';"],o="surfaceNets"+t.join("_")+"d"+e;i.push("var contour=genContour({","order:[",t.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },"),"generic"===e&&i.push("getters:[0],");for(var s=[],l=[],c=0;c<r;++c)s.push("d"+c),l.push("d"+c);for(var c=0;c<1<<r;++c)s.push("v"+c),l.push("v"+c);for(var c=0;c<1<<r;++c)s.push("p"+c),l.push("p"+c);s.push("a","b","c"),l.push("a","c"),i.push("vertex:function vertexFunc(",s.join(),"){");for(var u=[],c=0;c<1<<r;++c)u.push("(p"+c+"<<"+c+")");i.push("var m=(",u.join("+"),")|0;if(m===0||m===",(1<<(1<<r))-1,"){return}");var h=[],f=[];1<<(1<<r)<=128?(i.push("switch(m){"),f=i):i.push("switch(m>>>7){");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){h.length>0&&f.push("}}");var p="vExtra"+h.length;i.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),f=["function ",p,"(m,",l.join(),"){switch(m){"],h.push(f)}f.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),v=new Array(r),m=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],v[x]=0,m[x]=0;for(var x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push("v"+_+"-v"+x):(g[b].push("v"+x+"-v"+_),w=-w),w<0?(d[b].push("-v"+x+"-v"+_),v[b]+=2):(d[b].push("v"+x+"+v"+_),v[b]-=2),y+=1;for(var k=0;k<r;++k)k!==b&&(_&1<<k?m[k]+=1:m[k]-=1)}}for(var T=[],b=0;b<r;++b)if(0===d[b].length)T.push("d"+b+"-0.5");else{var A="";v[b]<0?A=v[b]+"*c":v[b]>0&&(A="+"+v[b]+"*c");var M=d[b].length/y*.5,S=.5+m[b]/y*.5;T.push("d"+b+"-"+S+"-"+M+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}f.push("a.push([",T.join(),"]);","break;")}i.push("}},"),h.length>0&&f.push("}}");for(var E=[],c=0;c<1<<r-1;++c)E.push("v"+c);E.push("c0","c1","p0","p1","a","b","c"),i.push("cell:function cellFunc(",E.join(),"){");var L=a(r-1);i.push("if(p0){b.push(",L.map(function(t){return"["+t.map(function(t){return"v"+t})+"]"}).join(),")}else{b.push(",L.map(function(t){var e=t.slice();return e.reverse(),"["+e.map(function(t){return"v"+t})+"]"}).join(),")}}});function ",o,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",o,";");for(var c=0;c<h.length;++c)i.push(h[c].join(""));return new Function("genContour",i.join(""))(n)}(t.order,t.dtype));return s(t,e)};var n=t("ndarray-extract-contour"),a=t("triangulate-hypercube"),i=t("zero-crossings");var o={}},{"ndarray-extract-contour":440,"triangulate-hypercube":539,"zero-crossings":572}],530:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{!n&&s.return&&s.return()}finally{if(a)throw i}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=2*Math.PI,i=function(t,e,r,n,a,i,o){var s=t.x,l=t.y;return{x:n*(s*=e)-a*(l*=r)+i,y:a*s+n*l+o}},o=function(t,e){var r=.551915024494*(e<0?-1:1),n=Math.cos(t),a=Math.sin(t),i=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-a*r,y:a+n*r},{x:i+o*r,y:o-i*r},{x:i,y:o}]},s=function(t,e,r,n){var a=t*n-e*r<0?-1:1,i=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return i>1&&(i=1),i<-1&&(i=-1),a*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,h=t.ry,f=t.xAxisRotation,p=void 0===f?0:f,d=t.largeArcFlag,g=void 0===d?0:d,v=t.sweepFlag,m=void 0===v?0:v,y=[];if(0===u||0===h)return[];var x=Math.sin(p*a/360),b=Math.cos(p*a/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),h=Math.abs(h);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(h,2);k>1&&(u*=Math.sqrt(k),h*=Math.sqrt(k));var T=function(t,e,r,n,i,o,l,c,u,h,f,p){var d=Math.pow(i,2),g=Math.pow(o,2),v=Math.pow(f,2),m=Math.pow(p,2),y=d*g-d*m-g*v;y<0&&(y=0),y/=d*m+g*v;var x=(y=Math.sqrt(y)*(l===c?-1:1))*i/o*p,b=y*-o/i*f,_=h*x-u*b+(t+r)/2,w=u*x+h*b+(e+n)/2,k=(f-x)/i,T=(p-b)/o,A=(-f-x)/i,M=(-p-b)/o,S=s(1,0,k,T),E=s(k,T,A,M);return 0===c&&E>0&&(E-=a),1===c&&E<0&&(E+=a),[_,w,S,E]}(e,r,l,c,u,h,g,m,x,b,_,w),A=n(T,4),M=A[0],S=A[1],E=A[2],L=A[3],C=Math.abs(L)/(a/4);Math.abs(1-C)<1e-7&&(C=1);var P=Math.max(Math.ceil(C),1);L/=P;for(var O=0;O<P;O++)y.push(o(E,L)),E+=L;return y.map(function(t){var e=i(t[0],u,h,b,x,M,S),r=e.x,n=e.y,a=i(t[1],u,h,b,x,M,S),o=a.x,s=a.y,l=i(t[2],u,h,b,x,M,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],531:[function(t,e,r){"use strict";var n=t("parse-svg-path"),a=t("abs-svg-path"),i=t("normalize-svg-path"),o=t("is-svg-path"),s=t("assert");e.exports=function(t){Array.isArray(t)&&1===t.length&&"string"==typeof t[0]&&(t=t[0]);"string"==typeof t&&(s(o(t),"String is not an SVG path."),t=n(t));if(s(Array.isArray(t),"Argument should be a string or an array of path segments."),t=a(t),!(t=i(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":62,assert:69,"is-svg-path":425,"normalize-svg-path":532,"parse-svg-path":461}],532:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,g=t.length;d<g;d++){var v=t[d],m=v[0];switch(m){case"M":l=v[1],c=v[2];break;case"A":var y=n({px:f,py:p,cx:v[6],cy:v[7],rx:v[1],ry:v[2],xAxisRotation:v[3],largeArcFlag:v[4],sweepFlag:v[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],v=["C",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(v);break;case"S":var _=f,w=p;"C"!=e&&"S"!=e||(_+=_-o,w+=w-s),v=["C",_,w,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(u=2*f-u,h=2*p-h):(u=f,h=p),v=i(f,p,u,h,v[1],v[2]);break;case"Q":u=v[1],h=v[2],v=i(f,p,v[1],v[2],v[3],v[4]);break;case"L":v=a(f,p,v[1],v[2]);break;case"H":v=a(f,p,v[1],p);break;case"V":v=a(f,p,f,v[1]);break;case"Z":v=a(f,p,l,c)}e=m,f=v[v.length-2],p=v[v.length-1],v.length>4?(o=v[v.length-4],s=v[v.length-3]):(o=f,s=p),r.push(v)}return r};var n=t("svg-arc-to-cubic-bezier");function a(t,e,r,n){return["C",t,e,r,n,r,n]}function i(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}},{"svg-arc-to-cubic-bezier":530}],533:[function(t,e,r){"use strict";var n,a=t("svg-path-bounds"),i=t("parse-svg-path"),o=t("draw-svg-path"),s=t("is-svg-path"),l=t("bitmap-sdf"),c=document.createElement("canvas"),u=c.getContext("2d");e.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");e||(e={});var r,h;e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||a(t),g=[r/(d[2]-d[0]),h/(d[3]-d[1])],v=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle="black",u.fillRect(0,0,r,h),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*h),u.scale(v,v),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var m=new Path2D(t);u.fill(m),p&&u.stroke(m)}else{var y=i(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},{"bitmap-sdf":94,"draw-svg-path":169,"is-svg-path":425,"parse-svg-path":461,"svg-path-bounds":531}],534:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,a){var a=a||{};var o=i[e];o||(o=i[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),a=0,i=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[a++]=c[0],n[a++]=c[1]+1.4,i=Math.max(c[0],i)}return{data:n,shape:i}}(n(r,{triangles:!0,font:e,textAlign:a.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\d|\s)/),c=new Array(l.length),u=0,h=0,f=0;f<l.length;++f)c[f]=t(e,l[f]),u+=c[f].data.length,h+=c[f].shape,f>0&&(h+=.02);for(var p=new Float32Array(u),d=0,g=-.5*h,f=0;f<c.length;++f){for(var v=c[f].data,m=0;m<v.length;m+=2)p[d++]=v[m]+g,p[d++]=v[m+1];g+=c[f].shape+.02}s=o[r]={data:p,shape:h}}return s};var n=t("vectorize-text"),a=window||r.global||{},i=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t("_process"))},{_process:483,"vectorize-text":548}],535:[function(t,e,r){!function(t){var r=/^\s+/,n=/\s+$/,a=0,i=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||"")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var a={r:0,g:0,b:0},i=1,l=null,c=null,u=null,h=!1,f=!1;"string"==typeof e&&(e=function(t){t=t.replace(r,"").replace(n,"").toLowerCase();var e,a=!1;if(S[t])t=S[t],a=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:O(e[1]),g:O(e[2]),b:O(e[3]),a:R(e[4]),format:a?"name":"hex8"};if(e=j.hex6.exec(t))return{r:O(e[1]),g:O(e[2]),b:O(e[3]),format:a?"name":"hex"};if(e=j.hex4.exec(t))return{r:O(e[1]+""+e[1]),g:O(e[2]+""+e[2]),b:O(e[3]+""+e[3]),a:R(e[4]+""+e[4]),format:a?"name":"hex8"};if(e=j.hex3.exec(t))return{r:O(e[1]+""+e[1]),g:O(e[2]+""+e[2]),b:O(e[3]+""+e[3]),format:a?"name":"hex"};return!1}(e));"object"==typeof e&&(V(e.r)&&V(e.g)&&V(e.b)?(p=e.r,d=e.g,g=e.b,a={r:255*C(p,255),g:255*C(d,255),b:255*C(g,255)},h=!0,f="%"===String(e.r).substr(-1)?"prgb":"rgb"):V(e.h)&&V(e.s)&&V(e.v)?(l=I(e.s),c=I(e.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,o=n*(1-r),s=n*(1-i*r),l=n*(1-(1-i)*r),c=a%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),h=!0,f="hsv"):V(e.h)&&V(e.s)&&V(e.l)&&(l=I(e.s),u=I(e.l),a=function(t,e,r){var n,a,i;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),a=o(l,s,t),i=o(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,l,u),h=!0,f="hsl"),e.hasOwnProperty("a")&&(i=e.a));var p,d,g;return i=L(i),{ok:h,format:e.format||f,r:o(255,s(a.r,0)),g:o(255,s(a.g,0)),b:o(255,s(a.b,0)),a:i}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=i(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=u.ok,this._tc_id=a++}function u(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=(i+l)/2;if(i==l)n=a=0;else{var u=i-l;switch(a=c>.5?u/(2-i-l):u/(i+l),i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,l:c}}function h(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=i,u=i-l;if(a=0===i?0:u/i,i==l)n=0;else{switch(i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,v:c}}function f(t,e,r,n){var a=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))];return n&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function p(t,e,r,n){return[z(D(n)),z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))].join("")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=P(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=P(r.s),c(r)}function v(t){return c(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=P(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-i(-e/100*255))),r.g=s(0,o(255,r.g-i(-e/100*255))),r.b=s(0,o(255,r.b-i(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=P(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function T(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),a=360/r,i=[c(t)];for(n.h=(n.h-(a*e>>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(c(n));return i}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:a,v:i})),i=(i+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16)),z(D(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*C(this._r,255))+"%",g:i(100*C(this._g,255))+"%",b:i(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%)":"rgba("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=c(t);r="#"+p(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(m,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(T,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:I(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),a=c(e).toRgb(),i=r/100;return c({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},c.readability=function(e,r){var n=c(e),a=c(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,a,i=c.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},c.mostReadable=function(t,e,r){var n,a,i,o,s=null,l=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:i,size:o})||!a?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function O(t){return parseInt(t,16)}function z(t){return 1==t.length?"0"+t:""+t}function I(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return O(t)/255}var F,B,N,j=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",N="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],536:[function(t,e,r){"use strict";e.exports=a,e.exports.float32=e.exports.float=a,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=a(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}return a(t-a(t))};var n=new Float32Array(1);function a(t){if(t.length){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}return n[0]=t,n[0]}},{}],537:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=o;var a=96;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return a;case"cm":return a/2.54;case"mm":return a/25.4;case"pt":return a/72;case"pc":return a/6}return 1}},{"parse-unit":462}],538:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,a,i=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=a=0),t[0]=(n+=t[0])*i+s,t[1]=(a+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>h&&(h=l[0]),l[1]<u&&(u=l[1]),l[1]>f&&(f=l[1])}function a(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(a);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var i,o,s=r(t),l=new Array(2),c=1/0,u=c,h=-c,f=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)i=t[e],l[0]=i[0],l[1]=i[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>h&&(h=l[0]),l[1]<u&&(u=l[1]),l[1]>f&&(f=l[1])}),t.objects)a(t.objects[o]);e=t.bbox=[c,u,h,f]}return e},a=function(t,e){for(var r,n=t.length,a=n-e;a<--n;)r=t[a],t[a++]=t[n],t[n]=r};function i(t,e){var r=e.id,n=e.bbox,a=null==e.properties?{}:e.properties,i=o(t,e);return null==r&&null==n?{type:"Feature",properties:a,geometry:i}:null==n?{type:"Feature",id:r,properties:a,geometry:i}:{type:"Feature",id:r,bbox:n,properties:a,geometry:i}}function o(t,e){var n=r(t),i=t.arcs;function o(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&a(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(t)};case"Point":r=s(e.coordinates);break;case"MultiPoint":r=e.coordinates.map(s);break;case"LineString":r=l(e.arcs);break;case"MultiLineString":r=e.arcs.map(l);break;case"Polygon":r=u(e.arcs);break;case"MultiPolygon":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},a={},i=[],o=-1;function s(t,e){for(var n in t){var a=t[n];delete e[a.start],delete a.start,delete a.end,a.forEach(function(t){r[t<0?~t:t]=1}),i.push(a)}}return e.forEach(function(r,n){var a,i=t.arcs[r<0?~r:r];i.length<3&&!i[1][0]&&!i[1][1]&&(a=e[++o],e[o]=r,e[n]=a)}),e.forEach(function(e){var r,i,o=function(e){var r,n=t.arcs[e<0?~e:e],a=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,a]:[a,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,i=n[l]){delete n[i.start];var c=i===r?r:r.concat(i);n[c.start=r.start]=a[c.end=i.end]=c}else n[r.start]=a[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,i=a[s]){delete a[i.end];var u=i===r?r:i.concat(r);n[u.start=i.start]=a[u.end=r.end]=u}else n[r.start]=a[r.end]=r;else n[(r=[e]).start=s]=a[r.end=l]=r}),s(a,n),s(n,a),e.forEach(function(t){r[t<0?~t:t]||i.push([t])}),i};function l(t,e,r){var n,a,i;if(arguments.length>1)n=function(t,e,r){var n,a=[],i=[];function o(t){var e=t<0?~t:t;(i[e]||(i[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":e.arcs.forEach(l)}}(e),i.forEach(null==r?function(t){a.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&a.push(t[0].i)}),a}(0,e,r);else for(a=0,n=new Array(i=t.arcs.length);a<i;++a)n[a]=a;return{type:"MultiLineString",arcs:s(t,n)}}function c(t,e){var r={},n=[],a=[];function i(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,a=t[n-1],i=0;++r<n;)e=a,a=t[r],i+=e[0]*a[1]-e[1]*a[0];return Math.abs(i)}(o(t,{type:"Polygon",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"Polygon":i(e.arcs);break;case"MultiPolygon":e.arcs.forEach(i)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,a.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:"MultiPolygon",arcs:a.map(function(e){var n,a=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&a.push(t)})})}),(n=(a=s(t,a)).length)>1)for(var i,o,c=1,u=l(a[0]);c<n;++c)(i=l(a[c]))>u&&(o=a[0],a[0]=a[c],a[c]=o,u=i);return a})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var a=r+n>>>1;t[a]<e?r=a+1:n=a}return r};t.bbox=n,t.feature=function(t,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return i(t,e)})}:i(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function a(t,e){t.forEach(function(t){n(t,e)})}var i={LineString:n,MultiLineString:a,Polygon:a,MultiPolygon:function(t,e){t.forEach(function(t){a(t,e)})}};for(var o in t.forEach(function t(e,r){"GeometryCollection"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in i&&i[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var h=c+1;h<l;++h){var f,p=s[c],d=s[h];(f=r[p])[o=u(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=u(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,a=n(t),i=a[0],o=(a[2]-i)/(e-1)||1,s=a[1],l=(a[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-i)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,a=1,c=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-i)/o),p=h[1]=Math.round((h[1]-s)/l);a<u;++a)h=t[a],r=Math.round((h[0]-i)/o),n=Math.round((h[1]-s)/l),r===f&&n===p||((e=t[c++])[0]=r-f,f=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[i,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,a,i=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=a=0);var r=Math.round((t[0]-s)/i),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-a,a=c,t}},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.topojson=n.topojson||{})},{}],539:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(i(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);a(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t("permutation-rank"),a=t("permutation-parity"),i=t("gamma")},{gamma:233,"permutation-parity":464,"permutation-rank":465}],540:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||h(r),a=t.radius||1,i=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=h(r):s(n,n),a=c(d[0],d[1],d[2]);var g=l(r,d)/a,v=l(n,d)/a;u=Math.acos(g),i=Math.acos(v)}return a=Math.log(a),new f(t.zoomMin,t.zoomMax,e,r,n,a,i,u)};var n=t("filtered-vector"),a=t("gl-mat4/invert"),i=t("gl-mat4/rotate"),o=t("gl-vec3/cross"),s=t("gl-vec3/normalize"),l=t("gl-vec3/dot");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function h(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),a=[0,0,0];e>Math.max(r,n)?a[2]=1:r>Math.max(e,n)?a[0]=1:a[1]=1;for(var i=0,o=0,l=0;l<3;++l)i+=t[l]*t[l],o+=a[l]*t[l];for(l=0;l<3;++l)a[l]-=o/i*t[l];return s(a,a),a}function f(t,e,r,a,i,o,s,l){this.center=n(r),this.up=n(a),this.right=n(i),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,a=0,i=0;i<3;++i)a+=e[i]*r[i],n+=e[i]*e[i];var l=Math.sqrt(n),u=0;for(i=0;i<3;++i)r[i]-=e[i]*a/n,u+=r[i]*r[i],e[i]/=l;var h=Math.sqrt(u);for(i=0;i<3;++i)r[i]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],v=Math.cos(d),m=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=v*y,w=m*y,k=x,T=-v*x,A=-m*x,M=y,S=this.computedEye,E=this.computedMatrix;for(i=0;i<3;++i){var L=_*r[i]+w*f[i]+k*e[i];E[4*i+1]=T*r[i]+A*f[i]+M*e[i],E[4*i+2]=L,E[4*i+3]=0}var C=E[1],P=E[5],O=E[9],z=E[2],I=E[6],D=E[10],R=P*D-O*I,F=O*z-C*D,B=C*I-P*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(i=0;i<3;++i)S[i]=b[i]+E[2+4*i]*p;for(i=0;i<3;++i){u=0;for(var j=0;j<3;++j)u+=E[i+4*j]*S[j];E[12+i]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var a=this.computedMatrix;d[0]=a[2],d[1]=a[6],d[2]=a[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)a[4*c]=o[c],a[4*c+1]=s[c],a[4*c+2]=l[c];i(a,a,n,d);for(c=0;c<3;++c)o[c]=a[4*c],s[c]=a[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=(Math.exp(this.computedRadius[0]),a[1]),o=a[5],s=a[9],l=c(i,o,s);i/=l,o/=l,s/=l;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=c(u-=i*p,h-=o*p,f-=s*p),g=(u/=d)*e+i*r,v=(h/=d)*e+o*r,m=(f/=d)*e+s*r;this.center.move(t,g,v,m);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var i=1;"number"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var o=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[i],l=e[i+4],h=e[i+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),g=Math.max(f,p,d);f===g?(s=s<0?-1:1,l=h=0):d===g?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var v=c(s,l,h);s/=v,l/=v,h/=v}var m,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*h,k=c(x-=s*w,b-=l*w,_-=h*w),T=l*(_/=k)-h*(b/=k),A=h*(x/=k)-s*_,M=s*b-l*x,S=c(T,A,M);if(T/=S,A/=S,M/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,b,_),2===i){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*T+L*A+C*M;m=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(O,P)}else{var z=e[2],I=e[6],D=e[10],R=z*s+I*l+D*h,F=z*x+I*b+D*_,B=z*T+I*A+D*M;m=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,m),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;a(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,Y=U[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Y-V*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var a=(n=n||this.computedUp)[0],i=n[1],o=n[2],s=c(a,i,o);if(!(s<1e-6)){a/=s,i/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,g=d[0],v=d[1],m=d[2],y=a*g+i*v+o*m,x=c(g-=y*a,v-=y*i,m-=y*o);if(!(x<.01&&(x=c(g=i*f-o*h,v=o*l-a*f,m=a*h-i*l))<1e-6)){g/=x,v/=x,m/=x,this.up.set(t,a,i,o),this.right.set(t,g,v,m),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=i*m-o*v,_=o*g-a*m,w=a*v-i*g,k=c(b,_,w),T=a*l+i*h+o*f,A=g*l+v*h+m*f,M=(b/=k)*l+(_/=k)*h+(w/=k)*f,S=Math.asin(u(T)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),z=Math.abs(C-E),I=Math.abs(C-2*Math.PI-E);O<z&&(C+=2*Math.PI),I<z&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,P),this.angle.set(t,E,S)}}}}},{"filtered-vector":228,"gl-mat4/invert":267,"gl-mat4/rotate":272,"gl-vec3/cross":335,"gl-vec3/dot":340,"gl-vec3/normalize":357}],541:[function(t,e,r){"use strict";e.exports=function(t,e,r){var a=t*e,i=n*t,o=i-(i-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,h=s*u-(a-o*c-s*c-o*u);if(r)return r[0]=h,r[1]=a,r;return[h,a]};var n=+(Math.pow(2,27)+1)},{}],542:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t+e,a=n-t,i=e-a,o=t-(n-a);if(r)return r[0]=o+i,r[1]=n,r;return[o+i,n]}},{}],543:[function(t,e,r){(function(e,n){"use strict";var a=t("bit-twiddle"),i=t("dup");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=i([32,0])),s.BUFFER||(s.BUFFER=i([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=a.log2(e);l[r].push(t)}}function h(t){t=a.nextPow2(t);var e=a.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function f(t){return new Uint8Array(h(t),0,t)}function p(t){return new Uint16Array(h(2*t),0,t)}function d(t){return new Uint32Array(h(4*t),0,t)}function g(t){return new Int8Array(h(t),0,t)}function v(t){return new Int16Array(h(2*t),0,t)}function m(t){return new Int32Array(h(4*t),0,t)}function y(t){return new Float32Array(h(4*t),0,t)}function x(t){return new Float64Array(h(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(h(t),0,t):f(t)}function _(t){return new DataView(h(t),0,t)}function w(t){t=a.nextPow2(t);var e=a.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[a.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|a.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[a.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return h(t);switch(e){case"uint8":return f(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return v(t);case"int32":return m(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=h,r.mallocUint8=f,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=v,r.mallocInt32=m,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":93,buffer:106,dup:171}],544:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var a=n.prototype;Object.defineProperty(a,"length",{get:function(){return this.roots.length}}),a.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},a.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},a.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],545:[function(t,e,r){"use strict";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,a=t[0],i=t[0],o=1;o<n;++o)if(i=a,e(a=t[o],i)){if(o===r){r++;continue}t[r++]=a}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],a=t[0],i=1;i<r;++i,a=n)if(a=n,(n=t[i])!==a){if(i===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],546:[function(t,e,r){var n=/[\'\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},{}],547:[function(t,e,r){"use strict";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,a=r.length;n<a;n++){var i=r[n];for(var o in i)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===i[o])s=e[o];else{if(!1===i[o])continue;if("function"==typeof i[o]&&void 0===(s=i[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],548:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||a,e.context||i,e)};var n=t("./lib/vtext"),a=null,i=null;"undefined"!=typeof document&&((a=document.createElement("canvas")).width=8192,a.height=1024,i=a.getContext("2d"))},{"./lib/vtext":549}],549:[function(t,e,r){e.exports=function(t,e,r,n){var i=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};n&&(n.size&&n.size>0&&(i=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,i+"px",n.font].filter(function(t){return t}).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,i,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\<br\>/g,"\n"):r.replace(/\<br\>/g," ");var s="",l=[];for(k=0;k<r.length;++k)l[k]=s;!0===o.bolds&&(l=x(c,u,r,l)),!0===o.italics&&(l=x(h,f,r,l)),!0===o.superscripts&&(l=x(p,g,r,l)),!0===o.subscripts&&(l=x(v,y,r,l));var b=[],_="";for(k=0;k<r.length;++k)null!==l[k]&&(_+=r[k],b.push(l[k]));var w,k,T,A,M,S=_.split("\n"),E=S.length,L=Math.round(i*n),C=n,P=2*n,O=0,z=E*L+P;t.height<z&&(t.height=z),e.fillStyle="#000",e.fillRect(0,0,t.width,t.height),e.fillStyle="#fff";var I=0,D="";function R(){if(""!==D){var t=e.measureText(D).width;e.fillText(D,C+T,P+A),T+=t}}function F(){return Math.round(M)+"px "}function B(t,r){var n=""+e.font;if(!0===o.subscripts){var a=t.indexOf(m),i=r.indexOf(m),s=a>-1?parseInt(t[1+a]):0,l=i>-1?parseInt(r[1+i]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,g=h>-1?parseInt(r[1+h]):0;p!==g&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,g-p),n=n.replace("?px ",F())),A-=.25*L*(g-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,y=r.indexOf(u)>-1;!v&&y&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!y&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(f)>-1,b=r.indexOf(f)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w<E;++w){var N=S[w]+"\n";for(T=0,A=w*L,M=n,D="",k=0;k<N.length;++k){var j=k+I<b.length?b[k+I]:b[b.length-1];s===j?D+=N[k]:(R(),D=N[k],void 0!==j&&(B(s,j),s=j))}R(),I+=N.length;var V=0|Math.round(T+2*C);O<V&&(O=V)}var U=O,q=P+L*E;return a(e.getImageData(0,0,U,q).data,[q,U,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i,o,s),n,i)},e.exports.processPixels=w;var n=t("surface-nets"),a=t("ndarray"),i=t("simplify-planar-graph"),o=t("clean-pslg"),s=t("cdt2d"),l=t("planar-graph-to-polyline"),c="b",u="b|",h="i",f="i|",p="sup",d="+",g="+1",v="sub",m="-",y="-1";function x(t,e,r,n){for(var a="<"+t+">",i="</"+t+">",o=a.length,s=i.length,l=e[0]===d||e[0]===m,c=0,u=-s;c>-1&&-1!==(c=r.indexOf(a,c))&&-1!==(u=r.indexOf(i,c+o))&&!(u<=c);){for(var h=c;h<u+s;++h)if(h<c+o||h>=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,g=r.substr(p,u-p).indexOf(a);c=-1!==g?g:u+s}return n}function b(t,e){var r=n(t,128);return e?i(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var a=b(t,n),i=function(t,e,r){for(var n=e.textAlign||"start",a=e.textBaseline||"alphabetic",i=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)i[u]=0|Math.min(i[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var h=0;switch(n){case"center":h=-.5*(i[0]+o[0]);break;case"right":case"end":h=-o[0];break;case"left":case"start":h=-i[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+n+"'")}var f=0;switch(a){case"hanging":case"top":f=-i[1];break;case"middle":f=-.5*(i[1]+o[1]);break;case"alphabetic":case"ideographic":f=-3*r;break;case"bottom":f=-o[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+a+"'")}var p=1/r;return"lineHeight"in e?p*=+e.lineHeight:"width"in e?p=e.width/(o[0]-i[0]):"height"in e&&(p=e.height/(o[1]-i[1])),t.map(function(t){return[p*(t[0]+h),p*(t[1]+f)]})}(a.positions,e,r),c=a.edges,u="ccw"===e.orientation;if(o(i,c),e.polygons||e.polygon||e.polyline){for(var h=l(c,i),f=new Array(h.length),p=0;p<h.length;++p){for(var d=h[p],g=new Array(d.length),v=0;v<d.length;++v){for(var m=d[v],y=new Array(m.length),x=0;x<m.length;++x)y[x]=i[m[x]].slice();u&&y.reverse(),g[v]=y}f[p]=g}return f}return e.triangles||e.triangulate||e.triangle?{cells:s(i,c,{delaunay:!1,exterior:!1,interior:!0}),positions:i}:{edges:c,positions:i}}function w(t,e,r){try{return _(t,e,r,!0)}catch(t){}try{return _(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:107,"clean-pslg":117,ndarray:451,"planar-graph-to-polyline":469,"simplify-planar-graph":522,"surface-nets":529}],550:[function(t,e,r){!function(){"use strict";if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=v);var t=!1;if("function"==typeof WeakMap){var r=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,a=Object.freeze({});if(n.set(a,1),1===n.get(a))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l="weakmap:",c=l+"ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var u=new ArrayBuffer(25),h=new Uint8Array(u);crypto.getRandomValues(h),c=l+"rand:"+Array.prototype.map.call(h,function(t){return(t%36).toString(36)}).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(t){return i(t).filter(m)}}),"getPropertyNames"in Object){var f=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(t){return f(t).filter(m)}})}!function(){var t=Object.freeze;o(Object,"freeze",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,"seal",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,"preventExtensions",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,a){var i,o=y(n);return o?r in o?o[r]:a:(i=t.indexOf(n))>=0?e[i]:a})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,a){var i,o=y(n);return o?o[r]=a:(i=t.indexOf(n))>=0?e[i]=a:(i=t.length,e[i]=a,t[i]=n),this})},delete___:{value:x(function(n){var a,i,o=y(n);return o?r in o&&delete o[r]:!((a=t.indexOf(n))<0||(i=t.length-1,t[a]=void 0,e[a]=e[i],t[a]=t[i],t.length=i,e.length=i,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,a=void 0,i=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(a||(a=new g),a.set(t,e)),this}:function(t,e){if(i)try{n.set(t,e)}catch(r){a||(a=new g),a.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return a?n.has(t)?n.get(t):a.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!a&&a.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return a&&a.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==v)throw new Error("bogus call to permitHostObjects___");i=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function v(t){t.permitHostObjects___&&t.permitHostObjects___(v)}function m(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],551:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":552}],552:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],553:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":551}],554:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":234}],555:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),a=t.month(),i=""+this.toChineseMonth(n,a);return e&&i.length<2&&(i="0"+i),this.isIntercalaryMonth(n,a)&&(i+="i"),i},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var a=e[e.length-1];r="i"===a||"I"===a}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var a=this.intercalaryMonth(t);if(r&&e!==a||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return a?!r&&e<=a?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),h[t-h[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var a,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(a=i.newDate(l,c,u)).add(4-(a.dayOfWeek()||7),"d");var h=this.toJD(t,e,r)-a.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(a.year()),e=a.month(),r=a.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,a){var i,o,s;if("object"==typeof t)o=t,i=e||{};else{var l="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,i=n):(u=!!n,i=a||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=h[o.year-h[0]],v=g>>13;d=v?o.month>v?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var m=0;m<d;m++){var y=g&1<<12-m?30:29;s+=y}var x=f[o.year-f[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return i.year=b.getFullYear(),i.month=1+b.getMonth(),i.day=b.getDate(),i}(t,s,r,o);return i.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=i.fromJD(t),r=function(t,e,r,n){var a,i;if("object"==typeof t)a=t,i=e||{};else{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");a={year:t,month:e,day:r},i=n||{}}var c=f[a.year-f[0]],u=a.year<<9|a.month<<5|a.day;i.year=u>=c?a.year:a.year-1,c=f[i.year-f[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(a.year,a.month-1,a.day);p=Math.round((g-d)/864e5);var v,m=h[i.year-h[0]];for(v=0;v<13;v++){var y=m&1<<12-v?30:29;if(p<y)break;p-=y}var x=m>>13;!x||v<x?(i.isIntercalary=!1,i.month=1+v):v===x?(i.isIntercalary=!0,i.month=v):(i.isIntercalary=!1,i.month=v);return i.day=1+p,i}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],a=!!e[3],i=this.toMonthIndex(r,n,a),o=+e[4];return this.newDate(r,i,o)},add:function(t,e,r){var n=t.year(),a=t.month(),i=this.isIntercalaryMonth(n,a),s=this.toChineseMonth(n,a),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if("y"===r){var c=l.year(),u=l.month(),h=this.isIntercalaryMonth(c,s),f=i&&h?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);f!==u&&l.month(f)}return l}});var s=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,l=/^\d?\d[iI]?/m,c=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m,u=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m;n.calendars.chinese=o;var h=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],f=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{"../main":569,"object-assign":455}],556:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.coptic=i},{"../main":569,"object-assign":455}],557:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year()+(a.year()<0?1:0),e=a.month(),(r=a.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=i},{"../main":569,"object-assign":455}],558:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.ethiopian=i},{"../main":569,"object-assign":455}],559:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(a)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(a)%10-3]}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=i},{"../main":569,"object-assign":455}],560:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),t=t<=0?t+1:t,(r=a.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=i},{"../main":569,"object-assign":455}],561:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),r=a.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),a=Math.floor((e-n)/30.6001),i=a-Math.floor(a<14?1:13),o=r-Math.floor(i>2?4716:4715),s=e-n-Math.floor(30.6001*a);return o<=0&&o--,this.newDate(o,i,s)}}),n.calendars.julian=i},{"../main":569,"object-assign":455}],562:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate).toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return a.day()+20*a.month()+360*a.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=i},{"../main":569,"object-assign":455}],563:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar;var o=n.instance("gregorian");a(i.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidMonth);(t=a.year())<0&&t++;for(var i=a.day(),s=1;s<a.month();s++)i+=this.daysPerMonth[s-1];return i+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=i},{"../main":569,"object-assign":455}],564:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=i.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],i.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),a=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)++o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var c=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)"undefined"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2000:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=i},{"../main":569,"object-assign":455}],565:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xe6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xe6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t-(t>=0?474:473),s=474+o(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),a=2820;if(1029982!==n){var i=Math.floor(n/366),s=o(n,366);a=Math.floor((2134*i+2816*s+2815)/1028522)+i+1}var l=a+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=i,n.calendars.jalali=i},{"../main":569,"object-assign":455}],566:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":569,"object-assign":455}],567:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":569,"object-assign":455}],568:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,a=0,i=0;i<o.length;i++){if(o[i]>r)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate),i=12*(a.year()-1)+a.month()-15292;return a.day()+o[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),s=i+1,l=a-12*i,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var a=n.baseCalendar.prototype.isValid.apply(this,arguments);return a&&(a=(t=null!=t.year?t.year:t)>=1276&&t<=1500),a},_validate:function(t,e,r,a){var i=n.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw a.replace(/\{0\}/,this.local.name);return i}}),n.calendars.ummalqura=i;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":569,"object-assign":455}],569:[function(t,e,r){var n=t("object-assign");function a(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(a.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,a){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,a):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n="",a=0;r>0;){var i=r%10;n=(0===i?"":t[i]+e[a])+n,a++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(i.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),a=t.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);a=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):"m"===r&&(!function(t){for(;o<t.minMonth;)i--,o+=t.monthsInYear(i);for(var e=t.monthsInYear(i);o>e-1+t.minMonth;)i++,o-=e,e=t.monthsInYear(i)}(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var s=[i,this.fromMonthOfYear(i,o),a];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var a={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;e=this._add(t,r*a[0]+i*a[1],a[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),a="m"===r?e:t.month(),i="d"===r?e:t.day();return"y"!==r&&"m"!==r||(i=Math.min(i,this.daysInMonth(n,a))),t.date(n,a,i)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var a=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(a)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(a)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\{0\}/,this.local.name);var a=this.newDate(t,e,r);return this._validateLevel--,a}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var a=Math.floor(t/100),i=2-a+Math.floor(a/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+i-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,a=Math.floor((n-122.1)/365.25),i=Math.floor(365.25*a),o=Math.floor((n-i)/30.6001),s=n-i-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=a-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new a;c.cdate=i,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":455}],570:[function(t,e,r){var n=t("object-assign"),a=t("./main");n(a.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),a.local=a.regionalOptions[""],n(a.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(a.baseCalendar.prototype,{UNIX_EPOCH:a.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:a.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw a.local.invalidFormat||a.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,i,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,h=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var a=""+e;if(p(t,n))for(;a.length<r;)a="0"+a;return a},g=this,v=function(t){return"function"==typeof u?u.call(g,t,p("m")):x(d("m",t.month(),2))},m=function(t,e){return e?"function"==typeof f?f.call(g,t):f[t.month()-g.minMonth]:"function"==typeof h?h.call(g,t):h[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b="",_=!1,w=0;w<t.length;w++)if(_)"'"!==t.charAt(w)||p("'")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case"d":b+=x(d("d",e.day(),2));break;case"D":b+=(n="D",i=e.dayOfWeek(),o=l,s=c,p(n)?s[i]:o[i]);break;case"o":b+=d("o",e.dayOfYear(),3);break;case"w":b+=d("w",e.weekOfYear(),2);break;case"m":b+=v(e);break;case"M":b+=m(e,p("M"));break;case"y":b+=p("y",2)?e.year():(e.year()%100<10?"0":"")+e.year()%100;break;case"Y":p("Y",2),b+=e.formatYear();break;case"J":b+=e.toJD();break;case"@":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":p("'")?b+="'":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw a.local.invalidArguments||a.regionalOptions[""].invalidArguments;if(""===(e="object"==typeof e?e.toString():e+""))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n="string"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,h=-1,f=-1,p=-1,d=-1,g=-1,v=!1,m=!1,y=function(e,r){for(var n=1;M+n<t.length&&t.charAt(M+n)===e;)n++;return M+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),i=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+i+"}"),s=e.substring(A).match(o);if(!s)throw(a.local.missingNumberAt||a.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,i){for(var o=y(t,i)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(a.local.unknownNameAt||a.regionalOptions[""].unknownNameAt).replace(/\{0\}/,A)},k=function(){if("function"==typeof u){var t=y("M")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w("M",c,u)},T=function(){if(e.charAt(A)!==t.charAt(M))throw(a.local.unexpectedLiteralAt||a.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,M=0;M<t.length;M++)if(m)"'"!==t.charAt(M)||y("'")?T():m=!1;else switch(t.charAt(M)){case"d":d=x("d");break;case"D":w("D",i,o);break;case"o":g=x("o");break;case"w":x("w");break;case"m":p=_();break;case"M":p=k();break;case"y":var S=M;v=!y("y",2),M=S,f=x("y",2);break;case"Y":f=x("Y",2);break;case"J":h=x("J")+.5,"."===e.charAt(A)&&(A++,x("J"));break;case"@":h=x("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":h=x("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":A=e.length;break;case"'":y("'")?T():m=!0;break;default:T()}if(A<e.length)throw a.local.unexpectedText||a.regionalOptions[""].unexpectedText;if(-1===f?f=this.today().year():f<100&&v&&(f+=-1===n?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),"string"==typeof p&&(p=s.call(this,f,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,a){r&&"object"!=typeof r&&(a=n,n=r,r=null),"string"!=typeof n&&(a=n,n="");var i=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return i.parseDate(n,t,a)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||i.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:i.today().add(t,"d"):i.newDate(t)}})},{"./main":569,"object-assign":455}],571:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":147}],572:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":571}],573:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],574:[function(t,e,r){"use strict";var n=t("./arrow_paths"),a=t("../../plots/font_attributes"),i=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:a({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",i.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:a({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/font_attributes":790,"./arrow_paths":573}],575:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)})}function s(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],s=t["a"+i],l=t[i+"ref"],c=t["a"+i+"ref"],u=t["_"+i+"padplus"],h=t["_"+i+"padminus"],f={x:1,y:-1}[i]*t[i+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,g=p-f,v=3*t.startarrowsize*t.arrowwidth||0,m=v+f,y=v-f;if(c===l){var x=a.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=a.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,m),ppadminus:Math.max(h,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,m),ppadminus:Math.max(h,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{"../../lib":716,"../../plots/cartesian/axes":764,"./draw":580}],576:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,a,i,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(i=(a=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===a.xref&&c._id===a.yref&&l.d2r(o.x)===s(a._xclick,l)&&c.d2r(o.y)===s(a._yclick,c)){(a.visible?"onout"===i?f:p:h).push(r);break}n===d&&a.visible&&"onout"===i&&f.push(r)}return{on:h,off:f,explicitOff:p}}function s(t,e){return"log"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=i(t.layout,"annotations",f[c[r]])).modifyItem("visible",!0),n.extendFlat(h,s.getUpdateObj());for(r=0;r<u.length;r++)(s=i(t.layout,"annotations",f[u[r]])).modifyItem("visible",!1),n.extendFlat(h,s.getUpdateObj());return a.call("update",t,{},h)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845}],577:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color");e.exports=function(t,e,r,i){i("opacity");var o=i("bgcolor"),s=i("bordercolor"),l=a.opacity(s);i("borderpad");var c=i("borderwidth"),u=i("showarrow");if(i("text",u?" ":r._dfltTitle.annotation),i("textangle"),n.coerceFont(i,"font",r.font),i("width"),i("align"),i("height")&&i("valign"),u){var h,f,p=i("arrowside");-1!==p.indexOf("end")&&(h=i("arrowhead"),f=i("arrowsize")),-1!==p.indexOf("start")&&(i("startarrowhead",h),i("startarrowsize",f)),i("arrowcolor",l?e.bordercolor:a.defaultLine),i("arrowwidth",2*(l&&c||1)),i("standoff"),i("startstandoff")}var d=i("hovertext"),g=r.hoverlabel||{};if(d){var v=i("hoverlabel.bgcolor",g.bgcolor||(a.opacity(o)?a.rgb(o):a.defaultLine)),m=i("hoverlabel.bordercolor",g.bordercolor||a.contrast(v));n.coerceFont(i,"hoverlabel.font",{family:g.font.family,size:g.font.size,color:g.font.color||m})}i("captureevents",!!d)}},{"../../lib":716,"../color":591}],578:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib/to_log_range");e.exports=function(t,e,r,i){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,h=e._id.charAt(0),f=0;f<u.length;f++)l=u[f],c="annotations["+f+"].",l[h+"ref"]===e._id&&p(h),l["a"+h+"ref"]===e._id&&p("a"+h);function p(t){var r=l[t],s=null;s=o?a(r,e.range):Math.pow(10,r),n(s)||(s=null),i(c+t,s)}}},{"../../lib/to_log_range":742,"fast-isnumeric":227}],579:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./common_defaults"),s=t("./attributes");function l(t,e,r){function i(r,a){return n.coerce(t,e,s,r,a)}var l=i("visible"),c=i("clicktoshow");if(l||c){o(t,e,r,i);for(var u=e.showarrow,h=["x","y"],f=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=h[d],v=a.coerceRef(t,e,p,g,"","paper");if("paper"!==v)a.getFromId(p,v)._annIndices.push(e._index);if(a.coercePosition(e,p,i,v,g,.5),u){var m="a"+g,y=a.coerceRef(t,e,p,m,"pixel");"pixel"!==y&&y!==v&&(y=e[m]="pixel");var x="pixel"===y?f[d]:.4;a.coercePosition(e,p,i,y,m,x)}i(g+"anchor"),i(g+"shift")}if(n.noneOrAll(t,e,["x","y"]),u&&n.noneOrAll(t,e,["ax","ay"]),c){var b=i("xclick"),_=i("yclick");e._xclick=void 0===b?e.x:a.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:a.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){i(t,e,{name:"annotations",handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":574,"./common_defaults":577}],580:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../../lib"),s=t("../../plots/cartesian/axes"),l=t("../color"),c=t("../drawing"),u=t("../fx"),h=t("../../lib/svg_text_utils"),f=t("../../lib/setcursor"),p=t("../dragelement"),d=t("../../plot_api/plot_template").arrayEditor,g=t("./draw_arrow_head");function v(t,e){var r=t._fullLayout.annotations[e]||{},n=s.getFromId(t,r.xref),a=s.getFromId(t,r.yref);n&&n.setScale(),a&&a.setScale(),m(t,r,e,!1,n,a)}function m(t,e,r,i,s,v){var m,y,x=t._fullLayout,b=t._fullLayout._size,_=t._context.edits;i?(m="annotation-"+i,y=i+".annotations"):(m="annotation",y="annotations");var w=d(t.layout,y,e),k=w.modifyBase,T=w.modifyItem,A=w.getUpdateObj;x._infolayer.selectAll("."+m+'[data-index="'+r+'"]').remove();var M="clip"+x._uid+"_ann"+r;if(e._input&&!1!==e.visible){var S={x:{},y:{}},E=+e.textangle||0,L=x._infolayer.append("g").classed(m,!0).attr("data-index",String(r)).style("opacity",e.opacity),C=L.append("g").classed("annotation-text-g",!0),P=_[e.showarrow?"annotationTail":"annotationPosition"],O=e.captureevents||_.annotationText||P,z=C.append("g").style("pointer-events",O?"all":null).call(f,"pointer").on("click",function(){t._dragging=!1,t.emit("plotly_clickannotation",q(n.event))});e.hovertext&&z.on("mouseover",function(){var r=e.hoverlabel,n=r.font,a=this.getBoundingClientRect(),i=t.getBoundingClientRect();u.loneHover({x0:a.left-i.left,x1:a.right-i.left,y:(a.top+a.bottom)/2-i.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:t})}).on("mouseout",function(){u.loneUnhover(x._hoverlayer.node())});var I=e.borderwidth,D=e.borderpad,R=I+D,F=z.append("rect").attr("class","bg").style("stroke-width",I+"px").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),B=e.width||e.height,N=x._topclips.selectAll("#"+M).data(B?[0]:[]);N.enter().append("clipPath").classed("annclip",!0).attr("id",M).append("rect"),N.exit().remove();var j=e.font,V=x._meta?o.templateString(e.text,x._meta):e.text,U=z.append("text").classed("annotation-text",!0).text(V);_.annotationText?U.call(h.makeEditable,{delegate:z,gd:t}).call(H).on("edit",function(r){e.text=r,this.call(H),T("text",r),s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0),a.call("_guiRelayout",t,A())}):U.call(H)}else n.selectAll("#"+M).remove();function q(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return i&&(n.subplotId=i),n}function H(r){return r.call(c.font,j).attr({"text-anchor":{left:"start",right:"end"}[e.align]||"middle"}),h.convertToTspans(r,t,G),r}function G(){var r=U.selectAll("a");1===r.size()&&r.text()===U.text()&&z.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(F.node());var n=z.select(".annotation-text-math-group"),u=!n.empty(),d=c.bBox((u?n:U).node()),m=d.width,y=d.height,w=e.width||m,O=e.height||y,D=Math.round(w+2*R),j=Math.round(O+2*R);function V(t,e){return"auto"===e&&(e=t<1/3?"left":t>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var H=!1,G=["x","y"],Y=0;Y<G.length;Y++){var W,X,Z,J,K,Q=G[Y],$=e[Q+"ref"]||Q,tt=e["a"+Q+"ref"],et={x:s,y:v}[Q],rt=(E+("x"===Q?0:-90))*Math.PI/180,nt=D*Math.cos(rt),at=j*Math.sin(rt),it=Math.abs(nt)+Math.abs(at),ot=e[Q+"anchor"],st=e[Q+"shift"]*("x"===Q?1:-1),lt=S[Q];if(et){var ct=et.r2fraction(e[Q]);(ct<0||ct>1)&&(tt===$?((ct=et.r2fraction(e["a"+Q]))<0||ct>1)&&(H=!0):H=!0),W=et._offset+et.r2p(e[Q]),J=.5}else"x"===Q?(Z=e[Q],W=b.l+b.w*Z):(Z=1-e[Q],W=b.t+b.h*Z),J=e.showarrow?.5:Z;if(e.showarrow){lt.head=W;var ut=e["a"+Q];K=nt*V(.5,e.xanchor)-at*V(.5,e.yanchor),tt===$?(lt.tail=et._offset+et.r2p(ut),X=K):(lt.tail=W+ut,X=K+ut),lt.text=lt.tail+K;var ht=x["x"===Q?"width":"height"];if("paper"===$&&(lt.head=o.constrain(lt.head,1,ht-1)),"pixel"===tt){var ft=-Math.max(lt.tail-3,lt.text),pt=Math.min(lt.tail+3,lt.text)-ht;ft>0?(lt.tail+=ft,lt.text+=ft):pt>0&&(lt.tail-=pt,lt.text-=pt)}lt.tail+=st,lt.head+=st}else X=K=it*V(J,ot),lt.text=W+K;lt.text+=st,K+=st,X+=st,e["_"+Q+"padplus"]=it/2+X,e["_"+Q+"padminus"]=it/2-X,e["_"+Q+"size"]=it,e["_"+Q+"shift"]=K}if(H)z.remove();else{var dt=0,gt=0;if("left"!==e.align&&(dt=(w-m)*("center"===e.align?.5:1)),"top"!==e.valign&&(gt=(O-y)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:R+dt-1,y:R+gt}).call(c.setClipUrl,B?M:null,t);else{var vt=R+gt-d.top,mt=R+dt-d.left;U.call(h.positionText,mt,vt).call(c.setClipUrl,B?M:null,t)}N.select("rect").call(c.setRect,R,R,w,O),F.call(c.setRect,I/2,I/2,D-I,j-I),z.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),C.attr({transform:"rotate("+E+","+S.x.text+","+S.y.text+")"});var yt,xt=function(r,n){L.selectAll(".annotation-arrow-g").remove();var u=S.x.head,h=S.y.head,f=S.x.tail+r,d=S.y.tail+n,m=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,m,y),w=o.apply2DTransform(x),M=o.apply2DTransform2(x),P=+F.attr("width"),O=+F.attr("height"),I=m-.5*P,D=I+P,R=y-.5*O,B=R+O,N=[[I,R,I,B],[I,B,D,B],[D,B,D,R],[D,R,I,R]].map(M);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,h,u+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(f,d,u,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=L.append("g").style({opacity:l.opacity(V)}).classed("annotation-arrow-g",!0),H=q.append("path").attr("d","M"+f+","+d+"L"+u+","+h).style("stroke-width",j+"px").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!i){var G=u,Y=h;if(e.standoff){var W=Math.sqrt(Math.pow(u-f,2)+Math.pow(h-d,2));G+=e.standoff*(f-u)/W,Y+=e.standoff*(d-h)/W}var X,Z,J=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(f-G)+","+(d-Y),transform:"translate("+G+","+Y+")"}).style("stroke-width",j+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0)},moveFn:function(t,r){var n=w(X,Z),a=n[0]+t,i=n[1]+r;z.call(c.setTranslate,a,i),T("x",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),T("y",v?v.p2r(v.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&T("ax",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&T("ay",v.p2r(v.r2p(e.ay)+r)),q.attr("transform","translate("+t+","+r+")"),C.attr({transform:"rotate("+E+","+a+","+i+")"})},doneFn:function(){a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&xt(0,0),P)p.init({element:z.node(),gd:t,prepFn:function(){yt=C.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?T("ax",s.p2r(s.r2p(e.ax)+t)):T("ax",e.ax+t),e.ayref===e.yref?T("ay",v.p2r(v.r2p(e.ay)+r)):T("ay",e.ay+r),xt(t,r);else{if(i)return;var a,o;if(s)a=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;a=p.align(c+t/b.w,l,0,1,e.xanchor)}if(v)o=v.p2r(v.r2p(e.y)+r);else{var u=e._ysize/b.h,h=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(h-r/b.h,u,0,1,e.yanchor)}T("x",a),T("y",o),s&&v||(n=p.getCursor(s?.5:a,v?.5:o,e.xanchor,e.yanchor))}C.attr({transform:"translate("+t+","+r+")"+yt}),f(z,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",q(n))},doneFn:function(){f(z),a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&v(t,r);return i.previousPromises(t)},drawOne:v,drawRaw:m}},{"../../lib":716,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/cartesian/axes":764,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"../fx":629,"./draw_arrow_head":581,d3:164}],581:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color"),i=t("./arrow_paths");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),h=i[r.arrowhead||0],f=i[r.startarrowhead||0],p=(r.arrowwidth||1)*(r.arrowsize||1),d=(r.arrowwidth||1)*(r.startarrowsize||1),g=e.indexOf("start")>=0,v=e.indexOf("end")>=0,m=h.backoff*p+r.standoff,y=f.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,m&&y&&m+y>Math.sqrt(x*x+b*b))return void P();if(m){if(m*m>x*x+b*b)return void P();var _=m*Math.cos(l),w=m*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void P();var k=y*Math.cos(l),T=y*Math.sin(l);o.x-=k,o.y-=T,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),M="";if(A<m+y)return void P();var S=u.getPointAtLength(0),E=u.getPointAtLength(.1);l=Math.atan2(S.y-E.y,S.x-E.x),o=u.getPointAtLength(Math.min(y,A)),M="0px,"+y+"px,";var L=u.getPointAtLength(A),C=u.getPointAtLength(A-.1);c=Math.atan2(L.y-C.y,L.x-C.x),s=u.getPointAtLength(Math.max(0,A-m)),M+=A-(M?y+m:m)+"px,"+A+"px",t.style("stroke-dasharray",M)}function P(){t.style("stroke-dasharray","0px,100px")}function O(e,i,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:"translate("+i.x+","+i.y+")"+(o?"rotate("+180*o/Math.PI+")":"")+"scale("+s+")"}).style({fill:a.rgb(r.arrowcolor),"stroke-width":0}))}g&&O(f,o,l,d),v&&O(h,s,c,p)}},{"../color":591,"./arrow_paths":573,d3:164}],582:[function(t,e,r){"use strict";var n=t("./draw"),a=t("./click");e.exports={moduleType:"component",name:"annotations",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("annotations"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:a.hasClickToShow,onClick:a.onClick,convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":774,"./attributes":574,"./calc_autorange":575,"./click":576,"./convert_coords":578,"./defaults":579,"./draw":580}],583:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),a=t("../../plot_api/edit_types").overrideAll,i=t("../../plot_api/plot_template").templatedArray;e.exports=a(i("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},{"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../annotations/attributes":574}],584:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes");function i(t,e){var r=e.fullSceneLayout.domain,i=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),a.setConvert(t._xa),t._xa._offset=i.l+r.x[0]*i.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*i.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),a.setConvert(t._ya),t._ya._offset=i.t+(1-r.y[1])*i.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*i.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)i(e[r],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()}},{"../../lib":716,"../../plots/cartesian/axes":764}],585:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("../annotations/common_defaults"),s=t("./attributes");function l(t,e,r,i){function l(r,a){return n.coerce(t,e,s,r,a)}function c(t){var n=t+"axis",i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,l,t,t,.5)}l("visible")&&(o(t,e,i.fullLayout,l),c("x"),c("y"),c("z"),n.noneOrAll(t,e,["x","y","z"]),e.xref="x",e.yref="y",e.zref="z",l("xanchor"),l("yanchor"),l("xshift"),l("yshift"),e.showarrow&&(e.axref="pixel",e.ayref="pixel",l("ax",-10),l("ay",-30),n.noneOrAll(t,e,["ax","ay"])))}e.exports=function(t,e,r){i(t,e,{name:"annotations",handleItemDefaults:l,fullLayout:r.fullLayout})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"../annotations/common_defaults":577,"./attributes":583}],586:[function(t,e,r){"use strict";var n=t("../annotations/draw").drawRaw,a=t("../../plots/gl3d/project"),i=["x","y","z"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var h=i[u],f=l[h],p=e[h+"axis"].r2fraction(f);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=a(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":813,"../annotations/draw":580}],587:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var i=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];i.test(l)&&(t[l].annotations||[]).length&&(a.pushUnique(e._basePlotModules,r),a.pushUnique(e._subplots.gl3d,l))}},convert:t("./convert"),draw:t("./draw")}},{"../../lib":716,"../../registry":845,"./attributes":583,"./convert":584,"./defaults":585,"./draw":586}],588:[function(t,e,r){"use strict";e.exports=t("world-calendars/dist/main"),t("world-calendars/dist/plus"),t("world-calendars/dist/calendars/chinese"),t("world-calendars/dist/calendars/coptic"),t("world-calendars/dist/calendars/discworld"),t("world-calendars/dist/calendars/ethiopian"),t("world-calendars/dist/calendars/hebrew"),t("world-calendars/dist/calendars/islamic"),t("world-calendars/dist/calendars/julian"),t("world-calendars/dist/calendars/mayan"),t("world-calendars/dist/calendars/nanakshahi"),t("world-calendars/dist/calendars/nepali"),t("world-calendars/dist/calendars/persian"),t("world-calendars/dist/calendars/taiwan"),t("world-calendars/dist/calendars/thai"),t("world-calendars/dist/calendars/ummalqura")},{"world-calendars/dist/calendars/chinese":555,"world-calendars/dist/calendars/coptic":556,"world-calendars/dist/calendars/discworld":557,"world-calendars/dist/calendars/ethiopian":558,"world-calendars/dist/calendars/hebrew":559,"world-calendars/dist/calendars/islamic":560,"world-calendars/dist/calendars/julian":561,"world-calendars/dist/calendars/mayan":562,"world-calendars/dist/calendars/nanakshahi":563,"world-calendars/dist/calendars/nepali":564,"world-calendars/dist/calendars/persian":565,"world-calendars/dist/calendars/taiwan":566,"world-calendars/dist/calendars/thai":567,"world-calendars/dist/calendars/ummalqura":568,"world-calendars/dist/main":569,"world-calendars/dist/plus":570}],589:[function(t,e,r){"use strict";var n=t("./calendars"),a=t("../../lib"),i=t("../../constants/numerical"),o=i.EPOCHJD,s=i.ONEDAY,l={valType:"enumerated",values:Object.keys(n.calendars),editType:"calc",dflt:"gregorian"},c=function(t,e,r,n){var i={};return i[r]=l,a.coerce(t,e,i,r,n)},u="##",h={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:u,w:u,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};var f={};function p(t){var e=f[t];return e||(e=f[t]=n.instance(t))}function d(t){return a.extendFlat({},l,{description:t})}function g(t){return"Sets the calendar system to use with `"+t+"` date data."}var v={xcalendar:d(g("x"))},m=a.extendFlat({},v,{ycalendar:d(g("y"))}),y=a.extendFlat({},m,{zcalendar:d(g("z"))}),x=d(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));e.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:y,surface:y,mesh3d:y,scattergl:m,ohlc:v,candlestick:v},layout:{calendar:d(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d(["Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:d(["Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var a=0;a<r.length;a++)c(t,e,r[a]+"calendar",n.calendar)},CANONICAL_SUNDAY:{chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},CANONICAL_TICK:{chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},DFLTRANGE:{chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},getCal:p,worldCalFmt:function(t,e,r){for(var n,a,i,l,c,f=Math.floor((e+.05)/s)+o,d=p(r).fromJD(f),g=0;-1!==(g=t.indexOf("%",g));)"0"===(n=t.charAt(g+1))||"-"===n||"_"===n?(i=3,a=t.charAt(g+2),"_"===n&&(n="-")):(a=n,n="0",i=2),(l=h[a])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+i),g+=c.length):g+=i;return t}}},{"../../constants/numerical":692,"../../lib":716,"./calendars":588}],590:[function(t,e,r){"use strict";r.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],r.defaultLine="#444",r.lightLine="#eee",r.background="#fff",r.borderLine="#BEC8D9",r.lightFraction=1e3/11},{}],591:[function(t,e,r){"use strict";var n=t("tinycolor2"),a=t("fast-isnumeric"),i=e.exports={},o=t("./attributes");i.defaults=o.defaults;var s=i.defaultLine=o.defaultLine;i.lightLine=o.lightLine;var l=i.background=o.background;function c(t){if(a(t)||"string"!=typeof t)return t;var e=t.trim();if("rgb"!==e.substr(0,3))return t;var r=e.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return t;var n=r[1].trim().split(/\s*[\s,]\s*/),i="a"===e.charAt(3)&&4===n.length;if(!i&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return i?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}i.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||l).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,l))),(a.isDark()?e?a.lighten(e):l:r?a.darken(r):s).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),"stroke-opacity":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),"fill-opacity":r.getAlpha()})},i.clean=function(t){if(t&&"object"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e<o.length;e++)if(a=t[n=o[e]],"color"===n.substr(n.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=c(a[r]);else t[n]=c(a);else if("colorscale"===n.substr(n.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=c(a[r][1]));else if(Array.isArray(a)){var s=a[0];if(!Array.isArray(s)&&s&&"object"==typeof s)for(r=0;r<a.length;r++)i.clean(a[r])}else a&&"object"==typeof a&&i.clean(a)}}},{"./attributes":590,"fast-isnumeric":227,tinycolor2:535}],592:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/layout_attributes"),a=t("../../plots/font_attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll;e.exports=o({thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",dflt:1.02,min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",dflt:.5,min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle"},ypad:{valType:"number",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:i({},n.ticks,{dflt:""}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:a({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{text:{valType:"string"},font:a({}),side:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}},_deprecated:{title:{valType:"string"},titlefont:a({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/cartesian/layout_attributes":776,"../../plots/font_attributes":790}],593:[function(t,e,r){"use strict";e.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},{}],594:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("../../plots/cartesian/tick_value_defaults"),o=t("../../plots/cartesian/tick_mark_defaults"),s=t("../../plots/cartesian/tick_label_defaults"),l=t("./attributes");e.exports=function(t,e,r){var c=a.newContainer(e,"colorbar"),u=t.colorbar||{};function h(t,e){return n.coerce(u,c,l,t,e)}var f=h("thicknessmode");h("thickness","fraction"===f?30/(r.width-r.margin.l-r.margin.r):30);var p=h("lenmode");h("len","fraction"===p?1:r.height-r.margin.t-r.margin.b),h("x"),h("xanchor"),h("xpad"),h("y"),h("yanchor"),h("ypad"),n.noneOrAll(u,c,["x","y"]),h("outlinecolor"),h("outlinewidth"),h("bordercolor"),h("borderwidth"),h("bgcolor"),i(u,c,h,"linear");var d={outerTicks:!1,font:r.font};s(u,c,h,"linear",d),o(u,c,h,"linear",d),h("title.text",r._dfltTitle.colorbar),n.coerceFont(h,"title.font",r.font),h("title.side")}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_mark_defaults":784,"../../plots/cartesian/tick_value_defaults":785,"./attributes":592}],595:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../dragelement"),c=t("../../lib"),u=t("../../lib/extend").extendFlat,h=t("../../lib/setcursor"),f=t("../drawing"),p=t("../color"),d=t("../titles"),g=t("../../lib/svg_text_utils"),v=t("../colorscale/helpers").flipScale,m=t("../../plots/cartesian/axis_defaults"),y=t("../../plots/cartesian/position_defaults"),x=t("../../plots/cartesian/layout_attributes"),b=t("../../constants/alignment"),_=b.LINE_SPACING,w=b.FROM_TL,k=b.FROM_BR,T=t("./constants").cn;e.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll("g."+T.colorbar).data(function(t){var e,r,n,a,i=t._fullLayout,o=t.calcdata,s=[];function l(t){return u(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof a.calc?a.calc(t,n,e):(e._fillgradient=r.reversescale?v(r.colorscale):r.colorscale,e._zrange=[r[a.min],r[a.max]])}for(var h=0;h<o.length;h++){var f=o[h],p=(n=f[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),g=d?p:[p],m=0;m<g.length;m++){var y=(a=g[m]).container;(r=y?n[y]:n)&&r.showscale&&((e=l(r.colorbar))._id="cb"+n.uid+(d&&y?"-"+y:""),e._traceIndex=n.index,e._propPrefix=(y?y+".":"")+"colorbar.",e._meta=n._meta,c(),s.push(e))}}for(var x in i._colorAxes)if((r=i[x]).showscale){var b=i._colorAxes[x];(e=l(r.colorbar))._id="cb"+x,e._propPrefix=x+".colorbar.",e._meta=i._meta,a={min:"cmin",max:"cmax"},"heatmap"!==b[0]&&(n=b[1],a.calc=n._module.colorbar.calc),c(),s.push(e)}return s}(t),function(t){return t._id});e.enter().append("g").attr("class",function(t){return t._id}).classed(T.colorbar,!0),e.each(function(e){var r=n.select(this);c.ensureSingle(r,"rect",T.cbbg),c.ensureSingle(r,"g",T.cbfills),c.ensureSingle(r,"g",T.cblines),c.ensureSingle(r,"g",T.cbaxis,function(t){t.classed(T.crisp,!0)}),c.ensureSingle(r,"g",T.cbtitleunshift,function(t){t.append("g").classed(T.cbtitle,!0)}),c.ensureSingle(r,"rect",T.cboutline);var v=function(t,e,r){var o=r._fullLayout,l=o._size,h=e._fillcolor,v=e._line,b=e.title,A=b.side,M=e._zrange||n.extent(("function"==typeof h?h:v.color).domain()),S="function"==typeof v.color?v.color:function(){return v.color},E="function"==typeof h?h:function(){return h},L=e._levels,C=function(t,e,r){var n,a,i=e._levels,o=[],s=[],l=i.end+i.size/100,c=i.size,u=1.001*r[0]-.001*r[1],h=1.001*r[1]-.001*r[0];for(a=0;a<1e5&&(n=i.start+a*c,!(c>0?n>=l:n<=l));a++)n>u&&n<h&&o.push(n);if(e._fillgradient)s=[0];else if("function"==typeof e._fillcolor){var f=e._filllevels;if(f)for(l=f.end+f.size/100,c=f.size,a=0;a<1e5&&(n=f.start+a*c,!(c>0?n>=l:n<=l));a++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map(function(t){return t-i.size/2})).push(s[s.length-1]+i.size)}else e._fillcolor&&"string"==typeof e._fillcolor&&(s=[0]);return i.size<0&&(o.reverse(),s.reverse()),{line:o,fill:s}}(0,e,M),P=C.fill,O=C.line,z=Math.round(e.thickness*("fraction"===e.thicknessmode?l.w:1)),I=z/l.w,D=Math.round(e.len*("fraction"===e.lenmode?l.h:1)),R=D/l.h,F=e.xpad/l.w,B=(e.borderwidth+e.outlinewidth)/2,N=e.ypad/l.h,j=Math.round(e.x*l.w+e.xpad),V=e.x-I*({middle:.5,right:1}[e.xanchor]||0),U=e.y+R*(({top:-.5,bottom:.5}[e.yanchor]||0)-.5),q=Math.round(l.h*(1-U)),H=q-D;e._lenFrac=R,e._thickFrac=I,e._xLeftFrac=V,e._yBottomFrac=U;var G=e._axis=function(t,e,r){var n=t._fullLayout,a={type:"linear",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:"free",side:"right",position:1},i={type:"linear",_id:"y"+e._id},o={letter:"y",font:n.font,noHover:!0,noTickson:!0,calendar:n.calendar};function s(t,e){return c.coerce(a,i,x,t,e)}return m(a,i,s,o,n),y(a,i,s,o),i}(r,e,M);if(G.position=e.x+F+I,-1!==["top","bottom"].indexOf(A)&&(G.title.side=A,G.titlex=e.x+F,G.titley=U+("top"===b.side?R-N:N)),v.color&&"auto"===e.tickmode){G.tickmode="linear",G.tick0=L.start;var Y=L.size,W=c.constrain((q-H)/50,4,15)+1,X=(M[1]-M[0])/((e.nticks||W)*Y);if(X>1){var Z=Math.pow(10,Math.floor(Math.log(X)/Math.LN10));Y*=Z*c.roundUp(X/Z,[2,5,10]),(Math.abs(L.start)/L.size+1e-6)%1<2e-6&&(G.tick0=0)}G.dtick=Y}G.domain=[U+N,U+R-N],G.setScale(),t.attr("transform","translate("+Math.round(l.l)+","+Math.round(l.t)+")");var J,K=t.select("."+T.cbtitleunshift).attr("transform","translate(-"+Math.round(l.l)+",-"+Math.round(l.t)+")"),Q=t.select("."+T.cbaxis),$=0;function tt(n,a){var i={propContainer:G,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+T.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(r,n,u(i,a||{}))}return c.syncOrAsync([i.previousPromises,function(){if(-1!==["top","bottom"].indexOf(A)){var t,r=l.l+(e.x+F)*l.w,n=G.title.font.size;t="top"===A?(1-(U+R-N))*l.h+l.t+3+.75*n:(1-(U+N))*l.h+l.t-3-.25*n,tt(G._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(A)){var i=t.select("."+T.cbtitle),o=i.select("text"),u=[-e.outlinewidth/2,e.outlinewidth/2],h=i.select(".h"+G._id+"title-math-group").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*_),h?($=f.bBox(h).height)>p&&(u[1]-=($-p)/2):o.node()&&!o.classed(T.jsPlaceholder)&&($=f.bBox(o.node()).height),$){if($+=5,"top"===A)G.domain[1]-=$/l.h,u[1]*=-1;else{G.domain[0]+=$/l.h;var d=g.lineCount(o);u[1]+=(1-d)*p}i.attr("transform","translate("+u+")"),G.setScale()}}t.selectAll("."+T.cbfills+",."+T.cblines).attr("transform","translate(0,"+Math.round(l.h*(1-G.domain[1]))+")"),Q.attr("transform","translate(0,"+Math.round(-l.t)+")");var m=t.select("."+T.cbfills).selectAll("rect."+T.cbfill).data(P);m.enter().append("rect").classed(T.cbfill,!0).style("stroke","none"),m.exit().remove();var y=M.map(G.c2p).map(Math.round).sort(function(t,e){return t-e});m.each(function(t,i){var o=[0===i?M[0]:(P[i]+P[i-1])/2,i===P.length-1?M[1]:(P[i]+P[i+1])/2].map(G.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,y[0],y[1]);var s=n.select(this).attr({x:j,width:Math.max(z,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)f.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=E(t).replace("e-","");s.attr("fill",a(l).toHexString())}});var x=t.select("."+T.cblines).selectAll("path."+T.cbline).data(v.color&&v.width?O:[]);x.enter().append("path").classed(T.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr("d","M"+j+","+(Math.round(G.c2p(t))+v.width/2%1)+"h"+z).call(f.lineGroupStyle,v.width,S(t),v.dash)}),Q.selectAll("g."+G._id+"tick,path").remove();var b=j+z+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),w=s.calcTicks(G),k=s.makeTransFn(G),L=s.getTickSigns(G)[2];return s.drawTicks(r,G,{vals:"inside"===G.ticks?s.clipEnds(G,w):w,layer:Q,path:s.makeTickPath(G,b,L),transFn:k}),s.drawLabels(r,G,{vals:w,layer:Q,transFn:k,labelFns:s.makeLabelFns(G,b)})},function(){if(-1===["top","bottom"].indexOf(A)){var t=G.title.font.size,e=G._offset+G._length/2,a=l.l+(G.position||0)*l.w+("right"===G.side?10+t*(G.showticklabels?1:.5):-10-t*(G.showticklabels?.5:0));tt("h"+G._id+"title",{avoid:{selection:n.select(r).selectAll("g."+G._id+"tick"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},i.previousPromises,function(){var n=z+e.outlinewidth/2+f.bBox(Q.node()).width;if((J=K.select("text")).node()&&!J.classed(T.jsPlaceholder)){var a,o=K.select(".h"+G._id+"title-math-group").node();a=o&&-1!==["top","bottom"].indexOf(A)?f.bBox(o).width:f.bBox(K.node()).right-j-l.l,n=Math.max(n,a)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=q-H;t.select("."+T.cbbg).attr({x:j-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:H-B,width:Math.max(s,2),height:Math.max(c+2*B,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+T.cboutline).attr({x:j,y:H+e.ypad+("top"===A?$:0),width:Math.max(z,2),height:Math.max(c-2*e.ypad-$,2)}).call(p.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var u=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform","translate("+(l.l-u)+","+l.t+")");var h={},d=w[e.yanchor],g=k[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=c*d,h.b=c*g):(h.t=h.b=0,h.yt=e.y+e.len*d,h.yb=e.y-e.len*g);var v=w[e.xanchor],m=k[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*v,h.r=s*m;else{var y=s-z;h.l=y*v,h.r=y*m,h.xl=e.x-e.thickness*v,h.xr=e.x+e.thickness*m}i.autoMargin(r,e._id,h)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,a,i,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+" translate("+r+","+o+")"),a=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),i=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(a,i,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==a&&void 0!==i){var n={};n[e._propPrefix+"x"]=a,n[e._propPrefix+"y"]=i,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)}),e.exit().each(function(e){i.autoMargin(t,e._id)}).remove(),e.order()}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/extend":707,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"../../plots/plots":825,"../../registry":845,"../color":591,"../colorscale/helpers":602,"../dragelement":609,"../drawing":612,"../titles":678,"./constants":593,d3:164,tinycolor2:535}],596:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":716}],597:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":592,"./defaults":594,"./draw":595,"./has_colorbar":596}],598:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),a=t("../../lib/regex").counter,i=t("./scales.js").scales;Object.keys(i);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===s,u="string"==typeof e.colorscaleDflt?i[e.colorscaleDflt]:null,h=e.editTypeOverride||"",f=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(f+(r={z:"z",c:"color"}[s]));var p=s+"auto",d=s+"min",g=s+"max",v=s+"mid",m=(o(f+p),o(f+d),o(f+g),{});m[d]=m[g]=void 0;var y={};y[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:h||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:m},x[d]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[g]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[v]={valType:"number",dflt:null,editType:"calc",impliedEdits:m},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:a("coloraxis"),dflt:null,editType:"calc"}),x}},{"../../lib/regex":732,"../colorbar/attributes":592,"./scales.js":606}],599:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?a.nestedProperty(e,c).get():e,h=i(u),f=!1!==h.auto,p=h.min,d=h.max,g=h.mid,v=function(){return a.aggNums(Math.min,null,l)},m=function(){return a.aggNums(Math.max,null,l)};(void 0===p?p=v():f&&(p=u._colorAx&&n(p)?Math.min(p,v()):v()),void 0===d?d=m():f&&(d=u._colorAx&&n(d)?Math.max(d,m()):m()),f&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g<g-p&&(d=g+(g-p))),p===d&&(p-=.5,d+=.5),h._sync("min",p),h._sync("max",d),h.autocolorscale)&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}},{"../../lib":716,"./helpers":602,"fast-isnumeric":227}],600:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./helpers").hasColorscale,i=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,a){var o=a.container?n.nestedProperty(t,a.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=i(o),l=s.auto;(l||void 0===s.min)&&r(o,a.min),(l||void 0===s.max)&&r(o,a.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s<t.length;s++){var l=t[s],c=l._module.colorbar;if(c)if(Array.isArray(c))for(var u=0;u<c.length;u++)o(l,c[u]);else o(l,c);a(l,"marker.line")&&o(l,{container:"marker.line",min:"cmin",max:"cmax"})}for(var h in e._colorAxes)o(e[h],{min:"cmin",max:"cmax"})}},{"../../lib":716,"./helpers":602}],601:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./scales").isValid,l=t("../../registry").traceIs;function c(t,e){var r=e.slice(0,e.length-1);return e?a.nestedProperty(t,r).get()||{}:t}e.exports=function t(e,r,u,h,f){var p=f.prefix,d=f.cLetter,g="_module"in r,v=c(e,p),m=c(r,p),y=c(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,u,h,f)};if(g){var b=u._colorAxes||{},_=h(p+"coloraxis");if(_){var w=l(r,"contour")&&a.nestedProperty(r,"contours.coloring").get()||"heatmap",k=b[_];return void(k?(k[2].push(x),k[0]!==w&&(k[0]=!1,a.warn(["Ignoring coloraxis:",_,"setting","as it is linked to incompatible colorscales."].join(" ")))):b[_]=[w,r,[x]])}}var T=v[d+"min"],A=v[d+"max"],M=n(T)&&n(A)&&T<A;h(p+d+"auto",!M)?h(p+d+"mid"):(h(p+d+"min"),h(p+d+"max"));var S,E,L=v.colorscale,C=y.colorscale;(void 0!==L&&(S=!s(L)),void 0!==C&&(S=!s(C)),h(p+"autocolorscale",S),h(p+"colorscale"),h(p+"reversescale"),"marker.line."!==p)&&(p&&g&&(E=i(v)),h(p+"showscale",E)&&o(v,m,u))}},{"../../lib":716,"../../registry":845,"../colorbar/defaults":594,"../colorbar/has_colorbar":596,"./scales":606,"fast-isnumeric":227}],602:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("fast-isnumeric"),o=t("../../lib"),s=t("../color"),l=t("./scales").isValid;var c=["showscale","autocolorscale","colorscale","reversescale","colorbar"],u=["min","max","mid","auto"];function h(t){var e,r,n,a=t._colorAx,i=a||t,o={};for(r=0;r<c.length;r++)o[n=c[r]]=i[n];if(a)for(e="c",r=0;r<u.length;r++)o[n=u[r]]=i["c"+n];else{var s;for(r=0;r<u.length;r++)(s="c"+(n=u[r]))in i?o[n]=i[s]:(s="z"+n)in i&&(o[n]=i[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==u.indexOf(t)?e+t:t;i[n]=i["_"+n]=r},o}function f(t){for(var e=h(t),r=e.min,n=e.max,a=e.reversescale?p(e.colorscale):e.colorscale,i=a.length,o=new Array(i),s=new Array(i),l=0;l<i;l++){var c=a[l];o[l]=r+c[0]*(n-r),s[l]=c[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,a=0;n>=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u<l;u++){var h=a(o[u]).toRgb();c[u]=[h.r,h.g,h.b,h.a]}var f,p=n.scale.linear().domain(r).range(c).clamp(!0),d=e.noNumericCheck,v=e.returnArray;return(f=d&&v?p:d?function(t){return g(p(t))}:v?function(t){return i(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return i(t)?g(p(t)):a(t).isValid()?t:s.defaultLine}).domain=p.domain,f.range=function(){return o},f}function g(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}e.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,a=n[r||"color"],s=!1;if(o.isArrayOrTypedArray(a))for(var c=0;c<a.length;c++)if(i(a[c])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||i(n.cmin)&&i(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:h,extractScale:f,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(f(t),e)}}},{"../../lib":716,"../color":591,"./scales":606,d3:164,"fast-isnumeric":227,tinycolor2:535}],603:[function(t,e,r){"use strict";var n=t("./scales"),a=t("./helpers");e.exports={moduleType:"component",name:"colorscale",attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),handleDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc"),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:a.hasColorscale,extractOpts:a.extractOpts,extractScale:a.extractScale,flipScale:a.flipScale,makeColorScaleFunc:a.makeColorScaleFunc,makeColorScaleFuncFromTrace:a.makeColorScaleFuncFromTrace}},{"./attributes":598,"./calc":599,"./cross_trace_defaults":600,"./defaults":601,"./helpers":602,"./layout_attributes":604,"./layout_defaults":605,"./scales":606}],604:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("./attributes"),i=t("./scales").scales;e.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:i.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:i.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:i.RdBu,editType:"calc"}},coloraxis:n({_isSubplotObj:!0,editType:"calc"},a("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}},{"../../lib/extend":707,"./attributes":598,"./scales":606}],605:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("./layout_attributes"),o=t("./defaults");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("colorscale.sequential"),r("colorscale.sequentialminus"),r("colorscale.diverging");var s,l,c=e._colorAxes;function u(t,e){return n.coerce(s,l,i.coloraxis,t,e)}for(var h in c){var f=c[h];if(f[0])s=t[h]||{},(l=a.newContainer(e,h,"coloraxis"))._name=h,o(s,l,e,u,{prefix:"",cLetter:"c"});else{for(var p=0;p<f[2].length;p++)f[2][p]();delete e._colorAxes[h]}}}},{"../../lib":716,"../../plot_api/plot_template":754,"./defaults":601,"./layout_attributes":604}],606:[function(t,e,r){"use strict";var n=t("tinycolor2"),a={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},i=a.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var a=t[r];if(2!==a.length||+a[0]<e||!n(a[1]).isValid())return!1;e=+a[0]}return!0}e.exports={scales:a,defaultScale:i,get:function(t,e){if(e||(e=i),!t)return e;function r(){try{t=a[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==a[t]||o(t)}}},{tinycolor2:535}],607:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=(t-r)/(n-r),o=i+e/(n-r),s=(i+o)/2;return"left"===a||"bottom"===a?i:"center"===a||"middle"===a?s:"right"===a||"top"===a?o:i<2/3-s?i:o>4/3-s?o:s}},{}],608:[function(t,e,r){"use strict";var n=t("../../lib"),a=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,i){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===i?0:"middle"===i?1:"top"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{"../../lib":716}],609:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),a=t("has-hover"),i=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var c=t("./unhover");function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,g,v=t.gd,m=1,y=v._context.doubleClickDelay,x=t.element;v._mouseDownTime||(v._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(i){v._dragged=!1,v._dragging=!0;var o=h(i);e=o[0],r=o[1],d=i.target,p=i,g=2===i.buttons||i.ctrlKey,"undefined"==typeof i.clientX&&"undefined"==typeof i.clientY&&(i.clientX=e,i.clientY=r),(n=(new Date).getTime())-v._mouseDownTime<y?m+=1:(m=1,v._mouseDownTime=n),t.prepFn&&t.prepFn(i,e,r),a&&!g?(f=u()).style.cursor=window.getComputedStyle(x).cursor:a||(f=document,c=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener("mouseup",k),document.addEventListener("touchend",k),!1!==t.dragmode&&(i.preventDefault(),document.addEventListener("mousemove",w),document.addEventListener("touchmove",w,{passive:!1}))}function w(n){n.preventDefault();var a=h(n),i=t.minDrag||s.MINDRAG,o=b(a[0]-e,a[1]-r,i),c=o[0],u=o[1];(c||u)&&(v._dragged=!0,l.unhover(v)),v._dragged&&t.moveFn&&!g&&(v._dragdata={element:x,dx:c,dy:u},t.moveFn(c,u))}function k(e){if(delete v._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener("mousemove",w),document.removeEventListener("touchmove",w)),document.removeEventListener("mouseup",k),document.removeEventListener("touchend",k),a?o(f):c&&(f.documentElement.style.cursor=c,c=null),v._dragging){if(v._dragging=!1,(new Date).getTime()-v._mouseDownTime>y&&(m=Math.max(m-1,1)),v._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(m,p),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=h(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}v._dragging=!1,v._dragged=!1}else v._dragged=!1}},l.coverSlip=u},{"../../lib":716,"../../plots/cartesian/constants":770,"./align":607,"./cursor":608,"./unhover":610,"has-hover":411,"has-passive-events":412,"mouse-event-offset":437}],610:[function(t,e,r){"use strict";var n=t("../../lib/events"),a=t("../../lib/throttle"),i=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,a=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&a&&t.emit("plotly_unhover",{event:e,points:a}))}},{"../../lib/dom":705,"../../lib/events":706,"../../lib/throttle":741,"../fx/constants":624}],611:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],612:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),f=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),v=t("../../components/fx/helpers").appendArrayPointValue,m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},m.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},m.setRect=function(t,e,r,n,a){t.call(m.setPosition,e,r).call(m.setSize,n,a)},m.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",o):e.attr("transform","translate("+i+","+o+")"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var a=n.select(this);m.translatePoint(t,a,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr("display",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:"none")},m.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each(function(e){var i=e[0].trace,s=i.xcalendar,l=i.ycalendar,c=o.traceIs(i,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each(function(t){m.hideOutsideRangePoint(t,n.select(this),r,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,a){e.style("fill","none");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,l=a||i.dash||"";s.stroke(e,n||i.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,a){t.style("fill","none").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,l=a||i.dash||"";n.select(this).call(s.stroke,r||i.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)})};var y=t("./symbol_defs");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(y).forEach(function(t){var e=y[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var x=m.symbolNames.length,b="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function _(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?b:"")}m.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},k={x1:0,x2:0,y1:1,y2:0},T=n.format("~.1f"),A={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:k},verticalreversed:{node:"linearGradient",attrs:k,reversed:!0}};m.gradient=function(t,e,r,a,o,l){for(var u=o.length,h=A[a],f=new Array(u),p=0;p<u;p++)h.reversed?f[u-1-p]=[T(100*(1-o[p][0])),o[p][1]]:f[p]=[T(100*o[p][0]),o[p][1]];var d="g"+e._fullLayout._uid+"-"+r,g=e._fullLayout._defs.select(".gradients").selectAll("#"+d).data([a+f.join(";")],c.identity);g.exit().remove(),g.enter().append(h.node).each(function(){var t=n.select(this);h.attrs&&t.attr(h.attrs),t.attr("id",d);var e=t.selectAll("stop").data(f);e.exit().remove(),e.enter().append("stop"),e.each(function(t){var e=i(t[1]);n.select(this).attr({offset:t[0]+"%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})})}),t.style(l,D(d,e)).style(l+"-opacity",null)},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove()},m.pointStyle=function(t,e,r){if(t.size()){var a=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,a,r)})}},m.singlePointStyle=function(t,e,r,n,a){var i=r.marker,o=i.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?i.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===i.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||i.symbol)||0;t.om=u%200>=100,e.attr("d",_(u,l))}var h,f,p,d=!1;if(t.so)p=o.outlierwidth,f=o.outliercolor,h=i.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,f="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(i.color)&&(h=s.defaultLine,d=!0),h="mc"in t?t.mcc=n.markerScale(t.mc):i.color||"rgba(0,0,0,0)",n.selectedColorFn&&(h=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,h).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:p)+"px");var v=i.gradient,y=t.mgt;if(y?d=!0:y=v&&v.type,Array.isArray(y)&&(y=y[0],A[y]||(y=0)),y&&"none"!==y){var x=t.mgc;x?d=!0:x=v.color;var b=r.uid;d&&(b+="-"+t.i),m.gradient(e,a,b,y,[[0,x],[1,h]],"fill")}else s.fill(e,h);p&&s.stroke(e,f)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,""),e.lineScale=m.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},s=n.marker||{},l=a.opacity,u=i.opacity,h=s.opacity,f=void 0!==u,d=void 0!==h;(c.isArrayOrTypedArray(l)||f||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:d?h:p*e});var g=a.color,v=i.color,m=s.color;(v||m)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:m||e});var y=a.size,x=i.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},l=a.color,c=i.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&i.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&i.push(function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr("d",_(m.symbolNumber(n),i)),e.mrc2=i}),i.length&&t.each(function(t){for(var e=n.select(this),r=0;r<i.length;r++)i[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&c.isArrayOrTypedArray(n))return l.makeColorScaleFuncFromTrace(r)}return c.identity};var M={start:1,end:-1,middle:0,bottom:1,top:-1};function S(t,e,r,a){var i=n.select(t.node().parentNode),o=-1!==e.indexOf("top")?"top":-1!==e.indexOf("bottom")?"bottom":"middle",s=-1!==e.indexOf("left")?"end":-1!==e.indexOf("right")?"start":"middle",l=a?a/.8+1:0,c=(u.lineCount(t)-1)*f+1,h=M[s]*l,p=.75*r+M[o]*l+(M[o]-1)*c*r/2;t.attr("text-anchor",s),i.attr("transform","translate("+h+","+p+")")}function E(t,e){var r=t.ts||e.textfont.size;return a(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=m.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each(function(t){var i=n.select(this),l=o?c.extractOption(t,e,"txt","texttemplate"):c.extractOption(t,e,"tx","text");if(l||0===l){if(o){var h=e._module.formatLabels?e._module.formatLabels(t,e,s):{},f={};v(f,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,h,s._d3locale,f,t,p)}var d=t.tp||e.textposition,g=E(t,e),y=a?a(t):t.tc||e.textfont.color;i.call(m.font,t.tf||e.textfont.family,g,y).text(l).call(u.convertToTspans,r).call(S,d,g,t.mrc)}else i.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=E(t,e);s.fill(a,i),S(a,o,l,t.mrc2||t.mrc)})}};var L=.5;function C(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(i*i+o*o,L/2),u=Math.pow(s*s+l*l,L/2),h=(u*u*i-c*c*s)*a,f=(u*u*o-c*c*l)*a,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&h/p),2),n.round(e[1]+(p&&f/p),2)],[n.round(e[0]-(d&&h/d),2),n.round(e[1]-(d&&f/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],a=[];for(r=1;r<t.length-1;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(n+="Q"+a[0][0]+" "+t[1],r=2;r<t.length-1;r++)n+="C"+a[r-2][1]+" "+a[r-1][0]+" "+t[r];return n+="Q"+a[t.length-3][1]+" "+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return"M"+t.join("L")+"Z";var r,n="M"+t[0],a=t.length-1,i=[C(t[a],t[0],t[1],e)];for(r=1;r<a;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(i.push(C(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+="C"+i[r-1][1]+" "+i[r][0]+" "+t[r];return n+="C"+i[a][1]+" "+i[0][0]+" "+t[0]+"Z"};var P={hv:function(t,e){return"H"+n.round(e[0],2)+"V"+n.round(e[1],2)},vh:function(t,e){return"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},hvh:function(t,e){return"H"+n.round((t[0]+e[0])/2,2)+"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},vhv:function(t,e){return"V"+n.round((t[1]+e[1])/2,2)+"H"+n.round(e[0],2)+"V"+n.round(e[1],2)}},O=function(t,e){return"L"+n.round(e[0],2)+","+n.round(e[1],2)};m.steps=function(t){var e=P[t]||O;return function(t){for(var r="M"+n.round(t[0][0],2)+","+n.round(t[0][1],2),a=1;a<t.length;a++)r+=e(t[a-1],t[a]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select("body"),"svg","js-plotly-tester",function(t){t.attr(h.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),e=c.ensureSingle(t,"path","js-reference-point",function(t){t.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});m.tester=t,m.testref=e},m.savedBBoxes={};var z=0;function I(t){var e=t.getAttribute("data-unformatted");if(null!==e)return e+t.getAttribute("data-math")+t.getAttribute("text-anchor")+t.getAttribute("style")}function D(t,e){if(!t)return null;var r=e._context;return"url('"+(r._exportedPlot?"":r._baseUrl||"")+"#"+t+"')"}m.bBox=function(t,e,r){var a,i,o;if(r||(r=I(t)),r){if(a=m.savedBBoxes[r])return c.extendFlat({},a)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=I(s)){var l=+s.getAttribute("x")||0,h=+s.getAttribute("y")||0,f=s.getAttribute("transform");if(!f){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),h&&(p.top+=h,p.bottom+=h),p}if(r+="~"+l+"~"+h+"~"+f,a=m.savedBBoxes[r])return c.extendFlat({},a)}}e?i=t:(o=m.tester.node(),i=t.cloneNode(!0),o.appendChild(i)),n.select(i).attr("transform",null).call(u.positionText,0,0);var d=i.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(i);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return z>=1e4&&(m.savedBBoxes={},z=0),r&&(m.savedBBoxes[r]=v),z++,c.extendFlat({},v)},m.setClipUrl=function(t,e,r){t.attr("clip-path",D(e,r))},m.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||0,r=r||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=" translate("+e+", "+r+")").trim(),t[a]("transform",i),i},m.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||1,r=r||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+=" scale("+e+", "+r+")").trim(),t[a]("transform",i),i};var R=/\s*sc.*/;m.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":" scale("+e+","+r+")";t.each(function(){var t=(this.getAttribute("transform")||"").replace(R,"");t=(t+=n).trim(),this.setAttribute("transform",t)})}};var F=/translate\([^)]*\)\s*$/;m.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,a=n.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(a.attr("transform")||"").match(F);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),a.attr("transform",t.join(" "))}})}},{"../../components/fx/helpers":626,"../../constants/alignment":685,"../../constants/interactions":691,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../lib/svg_text_utils":740,"../../registry":845,"../../traces/scatter/make_bubble_size_func":1135,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale":603,"./symbol_defs":613,d3:164,"fast-isnumeric":227,tinycolor2:535}],613:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,a="l"+e+",-"+e,i="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+a+i+a+i+o+i+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),a=n.round(-t,2),i=n.round(-.309*t,2);return"M"+e+","+i+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+i+"L0,"+a+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+e+"L-"+a+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+e+",0L"+r+",-"+a+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+a+"L"+i+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+i+","+c+"L-"+a+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return"M-"+a+",0l-"+r+",-"+e+"h"+a+"l"+r+",-"+e+"l"+r+","+e+"h"+a+"l-"+r+","+e+"l"+r+","+e+"h-"+a+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+a+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+a+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+a+"-"+e+","+e+a+e+","+e+a+e+",-"+e+a+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+a+"0,"+e+a+e+",0"+a+"0,-"+e+a+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+","+a+"L0,0M"+e+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+",-"+a+"L0,0M"+e+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M"+a+","+e+"L0,0M"+a+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+a+","+e+"L0,0M-"+a+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:164}],614:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],615:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,a){var l=e["error_"+a]||{},c=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=s(l),h=0;h<t.length;h++){var f=t[h],p=f.i;if(void 0===p)p=h;else if(null===p)continue;var d=f[a];if(n(r.c2l(d))){var g=u(d,p);if(n(g[0])&&n(g[1])){var v=f[a+"s"]=d-g[0],m=f[a+"h"]=d+g[1];c.push(v,m)}}}var y=r._id,x=e._extremes[y],b=i.findExtremes(r,c,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&a.traceIs(o,"errorBarsOK")){var s=i.getFromId(t,o.xaxis),c=i.getFromId(t,o.yaxis);l(n,o,s,"x"),l(n,o,c,"y")}}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./compute_error":616,"fast-isnumeric":227}],616:[function(t,e,r){"use strict";function n(t,e){return"percent"===t?function(t){return Math.abs(t*e/100)}:"constant"===t?function(){return Math.abs(e)}:"sqrt"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if("data"===e){var a=t.array||[];if(r)return function(t,e){var r=+a[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+a[e],n=+i[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],617:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../lib"),o=t("../../plot_api/plot_template"),s=t("./attributes");e.exports=function(t,e,r,l){var c="error_"+l.axis,u=o.newContainer(e,c),h=t[c]||{};function f(t,e){return i.coerce(h,u,s,t,e)}if(!1!==f("visible",void 0!==h.array||void 0!==h.value||"sqrt"===h.type)){var p=f("type","array"in h?"data":"percent"),d=!0;"sqrt"!==p&&(d=f("symmetric",!(("data"===p?"arrayminus":"valueminus")in h))),"data"===p?(f("array"),f("traceref"),d||(f("arrayminus"),f("tracerefminus"))):"percent"!==p&&"constant"!==p||(f("value"),d||f("valueminus"));var g="copy_"+l.inherit+"style";if(l.inherit)(e["error_"+l.inherit]||{}).visible&&f(g,!(h.color||n(h.thickness)||n(h.width)));l.inherit&&u[g]||(f("color",r),f("thickness"),f("width",a.traceIs(e,"gl3d")?0:4))}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845,"./attributes":614,"fast-isnumeric":227}],618:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/edit_types").overrideAll,i=t("./attributes"),o={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i),error_z:n.extendFlat({},i)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:a(s,"calc","nested"),scattergl:a(o,"calc","nested")}},supplyDefaults:t("./defaults"),calc:t("./calc"),makeComputeError:t("./compute_error"),plot:t("./plot"),style:t("./style"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{"../../lib":716,"../../plot_api/edit_types":747,"./attributes":614,"./calc":615,"./compute_error":616,"./defaults":617,"./plot":619,"./style":620}],619:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../drawing"),o=t("../../traces/scatter/subtypes");e.exports=function(t,e,r,s){var l=r.xaxis,c=r.yaxis,u=s&&s.duration>0;e.each(function(e){var h,f=e[0].trace,p=f.error_x||{},d=f.error_y||{};f.ids&&(h=function(t){return t.id});var g=o.hasMarkers(f)&&f.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var v=n.select(this).selectAll("g.errorbar").data(e,h);if(v.exit().remove(),e.length){p.visible||v.selectAll("path.xerror").remove(),d.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var m=v.enter().append("g").classed("errorbar",!0);u&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(v,r.layerClipId,t),v.each(function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var i,o=e.select("path.yerror");if(d.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var h=d.width;i="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(i+="m-"+h+",0h"+2*h),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",i)}else o.remove();var f=e.select("path.xerror");if(p.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var v=(p.copy_ystyle?d:p).width;i="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(i+="m0,-"+v+"v"+2*v),!f.size()?f=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(f=f.transition().duration(s.duration).ease(s.easing)),f.attr("d",i)}else f.remove()}})}})}},{"../../traces/scatter/subtypes":1142,"../drawing":612,d3:164,"fast-isnumeric":227}],620:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a.stroke,i.color)})}},{"../color":591,d3:164}],621:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./layout_attributes").hoverlabel,i=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:i({},a.bgcolor,{arrayOk:!0}),bordercolor:i({},a.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:i({},a.align,{arrayOk:!0}),namelength:i({},a.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":707,"../../plots/font_attributes":790,"./layout_attributes":630}],622:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!a.traceIs(c,"pie-like")){var u=a.traceIs(c,"2dMap")?i:n.fillArray;u(c.hoverinfo,l,"hi",o(c)),c.hovertemplate&&u(c.hovertemplate,l,"ht"),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,"hbg"),u(c.hoverlabel.bordercolor,l,"hbc"),u(c.hoverlabel.font.size,l,"hts"),u(c.hoverlabel.font.color,l,"htc"),u(c.hoverlabel.font.family,l,"htf"),u(c.hoverlabel.namelength,l,"hnl"),u(c.hoverlabel.align,l,"hta"))}}}},{"../../lib":716,"../../registry":845}],623:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./hover").hover;e.exports=function(t,e,r){var i=n.getComponentMethod("annotations","onClick")(t,t._hoverdata);function o(){t.emit("plotly_click",{points:t._hoverdata,event:e})}void 0!==r&&a(t,e,r,!0),t._hoverdata&&e&&e.target&&(i&&i.then?i.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{"../../registry":845,"./hover":627}],624:[function(t,e,r){"use strict";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},{}],625:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./hoverlabel_defaults");e.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),i(t,e,function(r,i){return n.coerce(t,e,a,r,i)},s)}},{"../../lib":716,"./attributes":621,"./hoverlabel_defaults":628}],626:[function(t,e,r){"use strict";var n=t("../../lib");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if("splom"===t.type){for(var n=t.xaxes||[],a=t.yaxes||[],i=0;i<n.length;i++)for(var o=0;o<a.length;o++)if(-1!==e.indexOf(n[i]+a[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,a){return"closest"===t?a||r.quadrature(e,n):"x"===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var a=e(t[n]);a<=r.distance&&(r.index=n,r.distance=a)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),a=e(r);return Math.sqrt(n*n+a*a)}},r.makeEventData=function(t,e,n){var a="index"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:a};if(e._indexToPoints){var o=e._indexToPoints[a];1===o.length?i.pointIndex=o[0]:i.pointIndices=o}else i.pointIndex=a;return e._module.eventData?i=e._module.eventData(i,t,e,n,a):("xVal"in t?i.x=t.xVal:"x"in t&&(i.x=t.x),"yVal"in t?i.y=t.yVal:"y"in t&&(i.y=t.y),t.xa&&(i.xaxis=t.xa),t.ya&&(i.yaxis=t.ya),void 0!==t.zLabelVal&&(i.z=t.zLabelVal)),r.appendArrayPointValue(i,e,a),i},r.appendArrayPointValue=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),h=new Array(r.length),f=0;f<r.length;f++)h[f]=o(u,r[f]);t[c]=h}}};var a={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function i(t){return a[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}},{"../../lib":716}],627:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../lib"),s=t("../../lib/events"),l=t("../../lib/svg_text_utils"),c=t("../../lib/override_cursor"),u=t("../drawing"),h=t("../color"),f=t("../dragelement"),p=t("../../plots/cartesian/axes"),d=t("../../registry"),g=t("./helpers"),v=t("./constants"),m=v.YANGLE,y=Math.PI*m/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=v.HOVERARROWSIZE,k=v.HOVERTEXTPAD;r.hover=function(t,e,r,i){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+v.HOVERID,v.HOVERMINTIME,function(){!function(t,e,r,i){r||(r="xy");var l=Array.isArray(r)?r:[r],u=t._fullLayout,p=u._plots||[],v=p[r],m=u._has("cartesian");if(v){var y=v.overlays.map(function(t){return t.id});l=l.concat(y)}for(var b=l.length,_=new Array(b),w=new Array(b),k=!1,T=0;T<b;T++){var C=l[T];if(p[C])k=!0,_[T]=p[C].xaxis,w[T]=p[C].yaxis;else{if(!u[C]||!u[C]._subplot)return void o.warn("Unrecognized subplot: "+C);var P=u[C]._subplot;_[T]=P.xaxis,w[T]=P.yaxis}}var O=e.hovermode||u.hovermode;O&&!k&&(O="closest");if(-1===["x","y","closest"].indexOf(O)||!t.calcdata||t.querySelector(".zoombox")||t._dragging)return f.unhoverRaw(t,e);var z,I,D,R,F,B,N,j,V,U,q,H,G,Y=-1===u.hoverdistance?1/0:u.hoverdistance,W=-1===u.spikedistance?1/0:u.spikedistance,X=[],Z=[],J={hLinePoint:null,vLinePoint:null},K=!1;if(Array.isArray(e))for(O="array",D=0;D<e.length;D++)(F=t.calcdata[e[D].curveNumber||0])&&(B=F[0].trace,"skip"!==F[0].trace.hoverinfo&&(Z.push(F),"h"===B.orientation&&(K=!0)));else{for(R=0;R<t.calcdata.length;R++)F=t.calcdata[R],"skip"!==(B=F[0].trace).hoverinfo&&g.isTraceInSubplots(B,l)&&(Z.push(F),"h"===B.orientation&&(K=!0));var Q,$,tt=!e.target;if(tt)Q="xpx"in e?e.xpx:_[0]._length/2,$="ypx"in e?e.ypx:w[0]._length/2;else{if(!1===s.triggerHandler(t,"plotly_beforehover",e))return;var et=e.target.getBoundingClientRect();if(Q=e.clientX-et.left,$=e.clientY-et.top,Q<0||Q>_[0]._length||$<0||$>w[0]._length)return f.unhoverRaw(t,e)}if(e.pointerX=Q+_[0]._offset,e.pointerY=$+w[0]._offset,z="xval"in e?g.flat(l,e.xval):g.p2c(_,Q),I="yval"in e?g.flat(l,e.yval):g.p2c(w,$),!a(z[0])||!a(I[0]))return o.warn("Fx.hover failed",e,t),f.unhoverRaw(t,e)}var rt=1/0;for(R=0;R<Z.length;R++)if((F=Z[R])&&F[0]&&F[0].trace&&!0===(B=F[0].trace).visible&&0!==B._length&&-1===["carpet","contourcarpet"].indexOf(B._module.name)){if("splom"===B.type?N=l[j=0]:(N=g.getSubplot(B),j=l.indexOf(N)),V=O,H={cd:F,trace:B,xa:_[j],ya:w[j],maxHoverDistance:Y,maxSpikeDistance:W,index:!1,distance:Math.min(rt,Y),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:h.defaultLine,name:B.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[N]&&(H.subplot=u[N]._subplot),u._splomScenes&&u._splomScenes[B.uid]&&(H.scene=u._splomScenes[B.uid]),G=X.length,"array"===V){var nt=e[R];"pointNumber"in nt?(H.index=nt.pointNumber,V="closest"):(V="","xval"in nt&&(U=nt.xval,V="x"),"yval"in nt&&(q=nt.yval,V=V?"closest":"y"))}else U=z[j],q=I[j];if(0!==Y)if(B._module&&B._module.hoverPoints){var at=B._module.hoverPoints(H,U,q,V,u._hoverlayer);if(at)for(var it,ot=0;ot<at.length;ot++)it=at[ot],a(it.x0)&&a(it.y0)&&X.push(S(it,O))}else o.log("Unrecognized trace type in hover:",B);if("closest"===O&&X.length>G&&(X.splice(0,G),rt=X[0].distance),m&&0!==W&&0===X.length){H.distance=W,H.index=!1;var st=B._module.hoverPoints(H,U,q,"closest",u._hoverlayer);if(st&&(st=st.filter(function(t){return t.spikeDistance<=W})),st&&st.length){var lt,ct=st.filter(function(t){return t.xa.showspikes});if(ct.length){var ut=ct[0];a(ut.x0)&&a(ut.y0)&&(lt=dt(ut),(!J.vLinePoint||J.vLinePoint.spikeDistance>lt.spikeDistance)&&(J.vLinePoint=lt))}var ht=st.filter(function(t){return t.ya.showspikes});if(ht.length){var ft=ht[0];a(ft.x0)&&a(ft.y0)&&(lt=dt(ft),(!J.hLinePoint||J.hLinePoint.spikeDistance>lt.spikeDistance)&&(J.hLinePoint=lt))}}}}function pt(t,e){for(var r,n=null,a=1/0,i=0;i<t.length;i++)(r=t[i].spikeDistance)<a&&r<=e&&(n=t[i],a=r);return n}function dt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var gt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},vt=t._spikepoints,mt={vLinePoint:J.vLinePoint,hLinePoint:J.hLinePoint};if(t._spikepoints=mt,m&&0!==W&&0!==X.length){var yt=X.filter(function(t){return t.ya.showspikes}),xt=pt(yt,W);J.hLinePoint=dt(xt);var bt=X.filter(function(t){return t.xa.showspikes}),_t=pt(bt,W);J.vLinePoint=dt(_t)}if(0===X.length){var wt=f.unhoverRaw(t,e);return!m||null===J.hLinePoint&&null===J.vLinePoint||L(vt)&&E(t,J,gt),wt}m&&L(vt)&&E(t,J,gt);X.sort(function(t,e){return t.distance-e.distance});var kt=t._hoverdata,Tt=[];for(D=0;D<X.length;D++){var At=X[D],Mt=g.makeEventData(At,At.trace,At.cd);if(!1!==At.hovertemplate){var St=!1;At.cd[At.index]&&At.cd[At.index].ht&&(St=At.cd[At.index].ht),At.hovertemplate=St||At.trace.hovertemplate||!1}At.eventData=[Mt],Tt.push(Mt)}t._hoverdata=Tt;var Et="y"===O&&(Z.length>1||X.length>1)||"closest"===O&&K&&X.length>1,Lt=h.combine(u.plot_bgcolor||h.background,u.paper_bgcolor),Ct={hovermode:O,rotateLabels:Et,bgColor:Lt,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Pt=A(X,Ct,t);if(function(t,e,r){var n,a,i,o,s,l,c,u=0,h=1,f=t.size(),p=new Array(f),d=0;function g(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=i;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,i=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=i;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(t.each(function(t){var n=t[e],a="x"===n._id.charAt(0),i=n.range;0===d&&i&&i[0]>i[1]!==a&&(h=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}),p.sort(function(t,e){return t[0].posref-e[0].posref||h*(e[0].traceIndex-t[0].traceIndex)});!n&&u<=f;){for(u++,n=!0,o=0;o<p.length-1;){var v=p[o],m=p[o+1],y=v[v.length-1],b=m[0];if((a=y.pos+y.dp+y.size-b.pos-b.dp+b.size)>.01&&y.pmin===b.pmin&&y.pmax===b.pmax){for(s=m.length-1;s>=0;s--)m[s].dp+=a;for(v.push.apply(v,m),p.splice(o+1,1),c=0,s=v.length-1;s>=0;s--)c+=v[s].dp;for(i=c/v.length,s=v.length-1;s>=0;s--)v[s].dp-=i;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var _=p[o];for(s=_.length-1;s>=0;s--){var w=_[s],k=w.datum;k.offset=w.dp,k.del=w.del}}}(Pt,Et?"xa":"ya",u),M(Pt,Et),e.target&&e.target.tagName){var Ot=d.getComponentMethod("annotations","hasClickToShow")(t,Tt);c(n.select(e.target),Ot?"pointer":"")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,kt))return;kt&&t.emit("plotly_unhover",{event:e,points:kt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:z,yvals:I})}(t,e,r,i)})},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var a=t.map(function(t){return{color:t.color||h.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}}),i=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):i,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||h.background,container:i,outerContainer:o},l=A(a,s,e.gd),c=0,u=0;return l.sort(function(t,e){return t.y0-e.y0}).each(function(t,r){var n=t.y0-t.by/2;t.offset=n-5<c?c-n+5:0,c=n+t.by+t.offset,r===e.anchorIndex&&(u=t.offset)}).each(function(t){t.offset-=u}),M(l,s.rotateLabels),r?l:l.node()};var T=/<extra>([\s\S]*)<\/extra>/;function A(t,e,r){var a=r._fullLayout,i=e.hovermode,s=e.rotateLabels,c=e.bgColor,f=e.container,p=e.outerContainer,d=e.commonLabelOpts||{},g=e.fontFamily||v.HOVERFONT,y=e.fontSize||v.HOVERFONTSIZE,x=t[0],b=x.xa,_=x.ya,A="y"===i?"yLabel":"xLabel",M=x[A],S=(String(M)||"").split(" ")[0],E=p.node().getBoundingClientRect(),L=E.top,P=E.width,O=E.height,z=void 0!==M&&x.distance<=e.hoverdistance&&("x"===i||"y"===i);if(z){var I,D,R=!0;for(I=0;I<t.length;I++)if(R&&void 0===t[I].zLabel&&(R=!1),D=t[I].hoverinfo||t[I].trace.hoverinfo){var F=Array.isArray(D)?D:D.split("+");if(-1===F.indexOf("all")&&-1===F.indexOf(i)){z=!1;break}}R&&(z=!1)}var B=f.selectAll("g.axistext").data(z?[0]:[]);B.enter().append("g").classed("axistext",!0),B.exit().remove(),B.each(function(){var e=n.select(this),s=o.ensureSingle(e,"path","",function(t){t.style({"stroke-width":"1px"})}),c=o.ensureSingle(e,"text","",function(t){t.attr("data-notex",1)}),f=d.bgcolor||h.defaultLine,p=d.bordercolor||h.contrast(f),v=h.contrast(f),m={family:d.font.family||g,size:d.font.size||y,color:d.font.color||v};s.style({fill:f,stroke:p}),c.text(M).call(u.font,m).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr("transform","");var T,E,C=c.node().getBoundingClientRect();if("x"===i){var P="top"===b.side?"-":"";c.attr("text-anchor","middle").call(l.positionText,0,"top"===b.side?L-C.bottom-w-k:L-C.top+w+k),T=b._offset+(x.x0+x.x1)/2,E=_._offset+("top"===b.side?0:_._length);var O=C.width/2+k;T<O?(T=O,s.attr("d","M-"+(O-w)+",0L-"+(O-2*w)+","+P+w+"H"+(k+C.width/2)+"v"+P+(2*k+C.height)+"H-"+O+"V"+P+w+"Z")):T>a.width-O?(T=a.width-O,s.attr("d","M"+(O-w)+",0L"+O+","+P+w+"v"+P+(2*k+C.height)+"H-"+O+"V"+P+w+"H"+(O-2*w)+"Z")):s.attr("d","M0,0L"+w+","+P+w+"H"+(k+C.width/2)+"v"+P+(2*k+C.height)+"H-"+(k+C.width/2)+"V"+P+w+"H-"+w+"Z")}else{var z,I,D;"right"===_.side?(z="start",I=1,D="",T=b._offset+b._length):(z="end",I=-1,D="-",T=b._offset),E=_._offset+(x.y0+x.y1)/2,c.attr("text-anchor",z),s.attr("d","M0,0L"+D+w+","+w+"V"+(k+C.height/2)+"h"+D+(2*k+C.width)+"V-"+(k+C.height/2)+"H"+D+w+"V-"+w+"Z");var R,F=C.height/2,B=L-C.top-F,N="clip"+a._uid+"commonlabel"+_._id;if(T<C.width+2*k+w){R="M-"+(w+k)+"-"+F+"h-"+(C.width-k)+"V"+F+"h"+(C.width-k)+"Z";var j=C.width-T+k;l.positionText(c,j,B),"end"===z&&c.selectAll("tspan").each(function(){var t=n.select(this),e=u.tester.append("text").text(t.text()).call(u.font,m),r=e.node().getBoundingClientRect();Math.round(r.width)<Math.round(C.width)&&t.attr("x",j-r.width),e.remove()})}else l.positionText(c,I*(k+w),B),R=null;var V=a._topclips.selectAll("#"+N).data(R?[0]:[]);V.enter().append("clipPath").attr("id",N).append("path"),V.exit().remove(),V.select("path").attr("d",R),u.setClipUrl(c,R?N:null,r)}e.attr("transform","translate("+T+","+E+")"),t=t.filter(function(t){return void 0!==t.zLabelVal||(t[A]||"").split(" ")[0]===S})});var N=f.selectAll("g.hovertext").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||""].join(",")});return N.enter().append("g").classed("hovertext",!0).each(function(){var t=n.select(this);t.append("rect").call(h.fill,h.addOpacity(c,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(u.font,g,y)}),N.exit().remove(),N.each(function(t){var e=n.select(this).attr("transform",""),f="",p="",d=t.bgcolor||t.color,v=h.combine(h.opacity(d)?d:h.defaultLine,c),x=h.combine(h.opacity(t.color)?t.color:h.defaultLine,c),b=t.borderColor||h.contrast(v);void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),f=C(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(p+="x: "+t.xLabel+"<br>"),void 0!==t.yLabel&&(p+="y: "+t.yLabel+"<br>"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(p+=(p?"z: ":"")+t.zLabel)):z&&t[i+"Label"]===M?p=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(p=t.yLabel):p=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(p+=(p?"<br>":"")+t.text),void 0!==t.extraText&&(p+=(p?"<br>":"")+t.extraText),""!==p||t.hovertemplate||(""===f&&e.remove(),p=f);var _=a._d3locale,A=t.hovertemplate||!1,S=t.hovertemplateLabels||t,E=t.eventData[0]||{};A&&(p=(p=o.hovertemplateString(A,S,_,E,t.trace._meta)).replace(T,function(e,r){return f=C(r,t.nameLength),""}));var I=e.select("text.nums").call(u.font,t.fontFamily||g,t.fontSize||y,t.fontColor||b).text(p).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),D=e.select("text.name"),R=0,F=0;if(f&&f!==p){D.call(u.font,t.fontFamily||g,t.fontSize||y,x).text(f).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r);var B=D.node().getBoundingClientRect();R=B.width+2*k,F=B.height+2*k}else D.remove(),e.select("rect").remove();e.select("path").style({fill:v,stroke:b});var N,j,V=I.node().getBoundingClientRect(),U=t.xa._offset+(t.x0+t.x1)/2,q=t.ya._offset+(t.y0+t.y1)/2,H=Math.abs(t.x1-t.x0),G=Math.abs(t.y1-t.y0),Y=V.width+w+k+R;if(t.ty0=L-V.top,t.bx=V.width+2*k,t.by=Math.max(V.height+2*k,F),t.anchor="start",t.txwidth=V.width,t.tx2width=R,t.offset=0,s)t.pos=U,N=q+G/2+Y<=O,j=q-G/2-Y>=0,"top"!==t.idealAlign&&N||!j?N?(q+=G/2,t.anchor="start"):t.anchor="middle":(q-=G/2,t.anchor="end");else if(t.pos=q,N=U+H/2+Y<=P,j=U-H/2-Y>=0,"left"!==t.idealAlign&&N||!j)if(N)U+=H/2,t.anchor="start";else{t.anchor="middle";var W=Y/2,X=U+W-P,Z=U-W;X>0&&(U-=X),Z<0&&(U+=-Z)}else U-=H/2,t.anchor="end";I.attr("text-anchor",t.anchor),R&&D.attr("text-anchor",t.anchor),e.attr("transform","translate("+U+","+q+")"+(s?"rotate("+m+")":""))}),N}function M(t,e){t.each(function(t){var r=n.select(this);if(t.del)return r.remove();var a=r.select("text.nums"),i=t.anchor,o="end"===i?-1:1,s={start:1,end:-1,middle:0}[i],c=s*(w+k),h=c+s*(t.txwidth+k),f=0,p=t.offset;"middle"===i&&(c-=t.tx2width/2,h+=t.txwidth/2+k),e&&(p*=-_,f=t.offset*b),r.select("path").attr("d","middle"===i?"M-"+(t.bx/2+t.tx2width/2)+","+(p-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(o*w+f)+","+(w+p)+"v"+(t.by/2-w)+"h"+o*t.bx+"v-"+t.by+"H"+(o*w+f)+"V"+(p-w)+"Z");var d=c+f,g=p+t.ty0-t.by/2+k,v=t.textAlign||"auto";"auto"!==v&&("left"===v&&"start"!==i?(a.attr("text-anchor","start"),d="middle"===i?-t.bx/2-t.tx2width/2+k:-t.bx-k):"right"===v&&"end"!==i&&(a.attr("text-anchor","end"),d="middle"===i?t.bx/2-t.tx2width/2-k:t.bx+k)),a.call(l.positionText,d,g),t.tx2width&&(r.select("text.name").call(l.positionText,h+s*k+f,p+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,h+(s-1)*t.tx2width/2+f,p-t.by/2-1,t.tx2width,t.by+2))})}function S(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],s=t.cd[r]||{};function l(t){return t||a(t)&&0===t}var c=Array.isArray(r)?function(t,e){var a=o.castOption(i,r,t);return l(a)?a:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var a=c(r,n);l(a)&&(t[e]=a)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var h=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+h+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+h,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var f=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+f+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+f,"y"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&"all"!==d&&(-1===(d=Array.isArray(d)?d:d.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===d.indexOf("y")&&(t.yLabel=void 0),-1===d.indexOf("z")&&(t.zLabel=void 0),-1===d.indexOf("text")&&(t.text=void 0),-1===d.indexOf("name")&&(t.name=void 0)),t}function E(t,e,r){var n,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,f=!!e.hLinePoint,d=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),d||f){var g=h.combine(s.plot_bgcolor,s.paper_bgcolor);if(f){var v,m,y=e.hLinePoint;n=y&&y.xa,"cursor"===(a=y&&y.ya).spikesnap?(v=c.pointerX,m=c.pointerY):(v=n._offset+y.x,m=a._offset+y.y);var x,b,_=i.readability(y.color,g)<1.5?h.contrast(g):y.color,w=a.spikemode,k=a.spikethickness,T=a.spikecolor||_,A=p.getPxPosition(t,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k,stroke:T,"stroke-dasharray":u.dashStyle(a.spikedash,k)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?k:-k),cy:m,r:k,fill:T}).classed("spikeline",!0)}if(d){var E,L,C=e.vLinePoint;n=C&&C.xa,a=C&&C.ya,"cursor"===n.spikesnap?(E=c.pointerX,L=c.pointerY):(E=n._offset+C.x,L=a._offset+C.y);var P,O,z=i.readability(C.color,g)<1.5?h.contrast(g):C.color,I=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=p.getPxPosition(t,n);if(-1!==I.indexOf("toaxis")||-1!==I.indexOf("across")){if(-1!==I.indexOf("toaxis")&&(P=F,O=L),-1!==I.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D,stroke:R,"stroke-dasharray":u.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==I.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function L(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function C(t,e){return l.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":716,"../../lib/events":706,"../../lib/override_cursor":727,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":624,"./helpers":626,d3:164,"fast-isnumeric":227,tinycolor2:535}],628:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a){r("hoverlabel.bgcolor",(a=a||{}).bgcolor),r("hoverlabel.bordercolor",a.bordercolor),r("hoverlabel.namelength",a.namelength),n.coerceFont(r,"hoverlabel.font",a.font),r("hoverlabel.align",a.align)}},{"../../lib":716}],629:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes"),l=t("./hover");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return a.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return a.castOption(t,r,"hoverinfo",function(r){return a.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:l.hover,unhover:i.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=a.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":716,"../dragelement":609,"./attributes":621,"./calc":622,"./click":623,"./constants":624,"./defaults":625,"./helpers":626,"./hover":627,"./layout_attributes":630,"./layout_defaults":631,"./layout_global_defaults":632,d3:164}],630:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../plots/font_attributes")({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":790,"./constants":624}],631:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}var o,s=i("clickmode");"select"===i("dragmode")&&i("selectdirection"),e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n<t.length;n++){var a=t[n],i=a.xaxis+a.yaxis,o=r[i]||{},s=o[a.stackgroup]||{};if("h"!==a.orientation&&"h"!==s.orientation)return!1}return!0}(r,e),o=e._isHoriz?"y":"x"):o="closest",i("hovermode",o)&&(i("hoverdistance"),i("spikedistance"));var l=e._has("mapbox"),c=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((l||c)&&1===u||l&&c&&2===u)&&(e.dragmode="pan")}},{"../../lib":716,"./layout_attributes":630}],632:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./hoverlabel_defaults"),i=t("./layout_attributes");e.exports=function(t,e){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)})}},{"../../lib":716,"./hoverlabel_defaults":628,"./layout_attributes":630}],633:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../lib/regex").counter,i=t("../../plots/domain").attributes,o=t("../../plots/cartesian/constants").idRegex,s=t("../../plot_api/plot_template"),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[a("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:i({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],a=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:a.length?a:void 0}function u(t,e,r,n,a,i){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(a),c=s[0],u=(s[1]-c)/(a-o),h=u*(1-o),f=0;f<a;f++){var p=c+u*f;l[i?a-1-f:f]=[p,p+h]}return l}function h(t,e,r,n,a){var i,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=""}if(Array.isArray(t))for(i=0;i<r;i++)s(i,t[i]);else for(s(0,a),i=1;i<r;i++)s(i,a+(i+1));return o}e.exports={moduleType:"component",name:"grid",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},a=c(e,r,"x"),i=c(e,r,"y");if(t.grid||a||i){var o,h,f=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(a),d=Array.isArray(i),g=p&&a!==r.xaxes&&d&&i!==r.yaxes;f?(o=r.subplots.length,h=r.subplots[0].length):(d&&(o=i.length),p&&(h=a.length));var v=s.newContainer(e,"grid"),m=T("rows",o),y=T("columns",h);if(m*y>1){f||p||d||"independent"===T("pattern")&&(f=!0),v._hasSubplotGrid=f;var x,b,_="top to bottom"===T("roworder"),w=f?.2:.1,k=f?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),v._domains={x:u("x",T,w,x,y),y:u("y",T,k,b,m,_)}}else delete e.grid}function T(t,e){return n.coerce(r,v,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,v=r.columns,m="independent"===r.pattern,y=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(v),w=x[n]||[];for(a=0;a<v;a++)if(m?(s=1===b?"xy":"x"+b+"y"+b,b++):s=w[a],_[a]="",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf("y"),i=s.slice(0,u),o=s.slice(u),void 0!==y[i]&&y[i]!==a||void 0!==y[o]&&y[o]!==n)continue;_[a]=s,y[i]=a,y[o]=n}}}else{var k=c(e,f,"x"),T=c(e,f,"y");r.xaxes=h(k,p.xaxis,v,y,"x"),r.yaxes=h(T,p.yaxis,g,y,"y")}var A=r._anchors={},M="top to bottom"===r.roworder;for(var S in y){var E,L,C,P=S.charAt(0),O=r[P+"side"];if(O.length<8)A[S]="free";else if("x"===P){if("t"===O.charAt(0)===M?(E=0,L=1,C=g):(E=g-1,L=-1,C=-1),d){var z=y[S];for(n=E;n!==C;n+=L)if((s=l[n][z])&&(u=s.indexOf("y"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==C;n+=L)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if("l"===O.charAt(0)?(E=0,L=1,C=v):(E=v-1,L=-1,C=-1),d){var I=y[S];for(n=E;n!==C;n+=L)if((s=l[I][n])&&(u=s.indexOf("y"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==C;n+=L)if(i=r.xaxes[n],-1!==p.cartesian.indexOf(i+S)){A[S]=i;break}}}}}},{"../../lib":716,"../../lib/regex":732,"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/domain":789}],634:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/constants"),a=t("../../plot_api/plot_template").templatedArray;e.exports=a("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},{"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770}],635:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib/to_log_range");e.exports=function(t,e,r,i){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,h=e._id.charAt(0),f=0;f<u.length;f++)if(c="images["+f+"].",(l=u[f])[h+"ref"]===e._id){var p=l[h],d=l["size"+h],g=null,v=null;if(o){g=a(p,e.range);var m=d/Math.pow(10,g)/2;v=2*Math.log(m+Math.sqrt(1+m*m))/Math.LN10}else v=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(v)||(v=null):(g=null,v=null),i(c+h,g),i(c+"size"+h,v)}}},{"../../lib/to_log_range":742,"fast-isnumeric":227}],636:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./attributes");function s(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}var s=i("source");if(!i("visible",!!s))return e;i("layer"),i("xanchor"),i("yanchor"),i("sizex"),i("sizey"),i("sizing"),i("opacity");for(var l={_fullLayout:r},c=["x","y"],u=0;u<2;u++){var h=c[u],f=a.coerceRef(t,e,l,h,"paper");if("paper"!==f)a.getFromId(l,f)._imgIndices.push(e._index);a.coercePosition(e,l,i,f,h,0)}return e}e.exports=function(t,e){i(t,e,{name:"images",handleItemDefaults:s})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":634}],637:[function(t,e,r){"use strict";var n=t("d3"),a=t("../drawing"),i=t("../../plots/cartesian/axes"),o=t("../../constants/xmlns_namespaces");e.exports=function(t){var e,r,s=t._fullLayout,l=[],c={},u=[];for(r=0;r<s.images.length;r++){var h=s.images[r];if(h.visible)if("below"===h.layer&&"paper"!==h.xref&&"paper"!==h.yref){e=h.xref+h.yref;var f=s._plots[e];if(!f){u.push(h);continue}f.mainplot&&(e=f.mainplot.id),c[e]||(c[e]=[]),c[e].push(h)}else"above"===h.layer?l.push(h):u.push(h)}var p={x:{left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-.5},right:{sizing:"xMax",offset:-1}},y:{top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-.5},bottom:{sizing:"YMax",offset:-1}}};function d(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr("xmlns",o.svg),e.source&&"data:"===e.source.slice(0,5))r.attr("xlink:href",e.source),this._imgSrc=e.source;else{var a=new Promise(function(t){var n=new Image;function a(){r.remove(),t()}this.img=n,n.setAttribute("crossOrigin","anonymous"),n.onerror=a,n.onload=function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d").drawImage(this,0,0);var n=e.toDataURL("image/png");r.attr("xlink:href",n),t()},r.on("error",a),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(a)}}function g(e){var r=n.select(this),o=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,h=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,f=u*p.x[e.xanchor].offset,d=h*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,v=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+f,m=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case"fill":g+=" slice";break;case"stretch":g="none"}r.attr({x:v,y:m,width:u,height:h,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:"")+(l?l._id:"");a.setClipUrl(r,y?"clip"+s._uid+y:null,t)}var v=s._imageLowerLayer.selectAll("image").data(u),m=s._imageUpperLayer.selectAll("image").data(l);v.enter().append("image"),m.enter().append("image"),v.exit().remove(),m.exit().remove(),v.each(function(t){d.bind(this)(t),g.bind(this)(t)}),m.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll("image").data(c[e]||[]);b.enter().append("image"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{"../../constants/xmlns_namespaces":693,"../../plots/cartesian/axes":764,"../drawing":612,d3:164}],638:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"images",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("images"),draw:t("./draw"),convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":774,"./attributes":634,"./convert_coords":635,"./defaults":636,"./draw":637}],639:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:a.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},x:{valType:"number",min:-2,max:3,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":790,"../color/attributes":590}],640:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},textGap:40,itemGap:5}},{}],641:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plot_api/plot_template"),o=t("./attributes"),s=t("../../plots/layout_attributes"),l=t("./helpers");e.exports=function(t,e,r){for(var c=t.legend||{},u=0,h=!1,f="normal",p=0;p<r.length;p++){var d=r[p];d.visible&&((d.showlegend||d._dfltShowLegend)&&(u++,d.showlegend&&(h=!0,(n.traceIs(d,"pie-like")||!0===d._input.showlegend)&&u++)),(n.traceIs(d,"bar")&&"stack"===e.barmode||-1!==["tonextx","tonexty"].indexOf(d.fill))&&(f=l.isGrouped({traceorder:f})?"grouped+reversed":"reversed"),void 0!==d.legendgroup&&""!==d.legendgroup&&(f=l.isReversed({traceorder:f})?"reversed+grouped":"grouped"))}var g=a.coerce(t,e,s,"showlegend",h&&u>1);if(!1!==g||c.uirevision){var v,m,y,x=i.newContainer(e,"legend");if(b("uirevision",e.uirevision),!1!==g)b("bgcolor",e.paper_bgcolor),b("bordercolor"),b("borderwidth"),a.coerceFont(b,"font",e.font),"h"===b("orientation")?(v=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(m=1.1,y="bottom"):(m=-.1,y="top")):(v=1.02,m=1,y="auto"),b("traceorder",f),l.isGrouped(e.legend)&&b("tracegroupgap"),b("itemsizing"),b("itemclick"),b("itemdoubleclick"),b("x",v),b("xanchor"),b("y",m),b("yanchor",y),b("valign"),a.noneOrAll(c,x,["x","y"])}function b(t,e){return a.coerce(c,x,o,t,e)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/layout_attributes":816,"../../registry":845,"./attributes":639,"./helpers":645}],642:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),h=t("../../lib/svg_text_utils"),f=t("./handle_click"),p=t("./constants"),d=t("../../constants/alignment"),g=d.LINE_SPACING,v=d.FROM_TL,m=d.FROM_BR,y=t("./get_legend_data"),x=t("./style"),b=t("./helpers");function _(t,e,r,n,a){var i=r.data()[0][0].trace,l={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(l.group=i._group),o.traceIs(i,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout(function(){f(r,t,n)},t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&f(r,t,n)}}function w(t,e){var r=t.data()[0][0],n=e._fullLayout,i=n.legend,s=r.trace,l=o.traceIs(s,"pie-like"),u=s.index,f=e._context.edits.legendText&&!l,d=i._maxNameLength,v=l?r.label:s.name;s._meta&&(v=a.templateString(v,s._meta));var m=a.ensureSingle(t,"text","legendtext");function y(r){h.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,a,i=t.select("g[class*=math-group]"),o=i.node(),s=e._fullLayout.legend.font.size*g;if(o){var l=c.bBox(o);n=l.height,a=l.width,c.setTranslate(i,0,n/4)}else{var u=t.select(".legendtext"),f=h.lineCount(u),d=u.node();n=s*f,a=d?c.bBox(d).width:0;var v=s*(.3+(1-f)/2);h.positionText(u,p.textGap,v)}r.lineHeight=s,r.height=Math.max(n,16)+3,r.width=a}(t,e)})}m.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,n.legend.font).text(f?k(v,d):v),h.positionText(m,p.textGap,0),f?m.call(h.makeEditable,{gd:e,text:v}).call(y).on("edit",function(t){this.text(k(t,d)).call(y);var n=r.trace._fullInput||{},i={};if(o.hasTransform(n,"groupby")){var s=o.getTransformIndices(n,"groupby"),l=s[s.length-1],c=a.keyedContainer(n,"transforms["+l+"].styles","target","value.name");c.set(r.trace._group,t),i=c.constructUpdate()}else i.name=t;return o.call("_guiRestyle",e,i,u)}):y(m)}function k(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function T(t,e){var r,i=e._context.doubleClickDelay,o=1,s=a.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});s.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTime<i?o+=1:(o=1,e._legendMouseDownTime=r)}),s.on("mouseup",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>i&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})}function A(t){return a.isRightAnchor(t)?"right":a.isCenterAnchor(t)?"center":"left"}function M(t){return a.isBottomAnchor(t)?"bottom":a.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,h=e.showlegend&&y(t.calcdata,s),f=e.hiddenlabels||[];if(!e.showlegend||!h.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),i.autoMargin(t,"legend");var d=a.ensureSingle(e._infolayer,"g","legend",function(t){t.attr("pointer-events","all")}),g=a.ensureSingleById(e._topdefs,"clipPath",r,function(t){t.append("rect")}),k=a.ensureSingle(d,"rect","bg",function(t){t.attr("shape-rendering","crispEdges")});k.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style("stroke-width",s.borderwidth+"px");var S=a.ensureSingle(d,"g","scrollbox"),E=a.ensureSingle(d,"rect","scrollbar",function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)}),L=S.selectAll("g.groups").data(h);L.enter().append("g").attr("class","groups"),L.exit().remove();var C=L.selectAll("g.traces").data(a.identity);C.enter().append("g").attr("class","traces"),C.exit().remove(),C.style("opacity",function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==f.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1}).each(function(){n.select(this).call(w,t)}).call(x,t).each(function(){n.select(this).call(T,t)}),a.syncOrAsync([i.previousPromises,function(){return function(t,e,r){var a=t._fullLayout,i=a.legend,o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,h=2*u,f=p.textGap,d=p.itemGap,g=2*(u+d),v=M(i),m=i.y<0||0===i.y&&"top"===v,y=i.y>1||1===i.y&&"bottom"===v;i._maxHeight=Math.max(m||y?a.height/2:o.h,30);var x=0;if(i._width=0,i._height=0,s)r.each(function(t){var e=t[0].height;c.setTranslate(this,u,d+u+i._height+e/2),i._height+=e,i._width=Math.max(i._width,t[0].width)}),x=f+i._width,i._width+=d+f+h,i._height+=g,l&&(e.each(function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)}),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var _=A(i),w=i.x<0||0===i.x&&"right"===_,k=i.x>1||1===i.x&&"left"===_,T=y||m,S=a.width/2;i._maxWidth=Math.max(w?T&&"left"===_?o.l+o.w:S:k?T&&"right"===_?o.r+o.w:S:o.w,2*f);var E=0,L=0;r.each(function(t){var e=t[0].width+f;E=Math.max(E,e),L+=e}),x=null;var C=0;if(l){var P=0,O=0,z=0;e.each(function(){var t=0,e=0;n.select(this).selectAll("g.traces").each(function(r){var n=r[0].height;c.setTranslate(this,0,d+u+n/2+e),e+=n,t=Math.max(t,f+r[0].width)}),P=Math.max(P,e);var r=t+d;r+u+O>i._maxWidth&&(C=Math.max(C,O),O=0,z+=P+i.tracegroupgap,P=e),c.setTranslate(this,O,z),O+=r}),i._width=Math.max(C,O)+u,i._height=z+P+g}else{var I=r.size(),D=L+h+(I-1)*d<i._maxWidth,R=0,F=0,B=0,N=0;r.each(function(t){var e=t[0].height,r=f+t[0].width,n=(D?r:E)+d;n+u+F>i._maxWidth&&(C=Math.max(C,N),F=0,B+=R,i._height+=R,R=0),c.setTranslate(this,u+F,d+u+e/2+B),N=F+r+d,F+=n,R=Math.max(R,e)}),D?(i._width=F+h,i._height=R+g):(i._width=Math.max(C,N)+h,i._height+=R+g)}}i._width=Math.ceil(i._width),i._height=Math.ceil(i._height),i._effHeight=Math.min(i._height,i._maxHeight);var j=t._context.edits,V=j.legendText||j.legendPosition;r.each(function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=V?f:x||f+t[0].width;s||(a+=d/2),c.setRect(e,0,-r/2,a,r)})}(t,L,C)},function(){if(!function(t){var e=t._fullLayout.legend,r=A(e),n=M(e);return i.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*m[r],b:e._effHeight*m[n],t:e._effHeight*v[n]})}(t)){var u,h,f,y,x=e._size,b=s.borderwidth,w=x.l+x.w*s.x-v[A(s)]*s._width,T=x.t+x.h*(1-s.y)-v[M(s)]*s._effHeight;if(e.margin.autoexpand){var L=w,C=T;w=a.constrain(w,0,e.width-s._width),T=a.constrain(T,0,e.height-s._effHeight),w!==L&&a.log("Constrain legend.x to make legend fit inside graph"),T!==C&&a.log("Constrain legend.y to make legend fit inside graph")}if(c.setTranslate(d,w,T),E.on(".drag",null),d.on("wheel",null),s._height<=s._maxHeight||t._context.staticPlot)k.attr({width:s._width-b,height:s._effHeight-b,x:b/2,y:b/2}),c.setTranslate(S,0,0),g.select("rect").attr({width:s._width-2*b,height:s._effHeight-2*b,x:b,y:b}),c.setClipUrl(S,r,t),c.setRect(E,0,0,0,0),delete s._scrollY;else{var P,O,z,I=Math.max(p.scrollBarMinHeight,s._effHeight*s._effHeight/s._height),D=s._effHeight-I-2*p.scrollBarMargin,R=s._height-s._effHeight,F=D/R,B=Math.min(s._scrollY||0,R);k.attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-b,x:b/2,y:b/2}),g.select("rect").attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-2*b,x:b,y:b+B}),c.setClipUrl(S,r,t),V(B,I,F),d.on("wheel",function(){V(B=a.constrain(s._scrollY+n.event.deltaY/D*R,0,R),I,F),0!==B&&B!==R&&n.event.preventDefault()});var N=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;P="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,z=B}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,V(B=function(t,e,r){var n=(r-e)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});E.call(N);var j=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(P=t.changedTouches[0].clientY,z=B)}).on("drag",function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(O=t.changedTouches[0].clientY,V(B=function(t,e,r){var n=(e-r)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});S.call(j)}if(t._context.edits.legendPosition)d.classed("cursor-move",!0),l.init({element:d.node(),gd:t,prepFn:function(){var t=c.getTranslate(d);f=t.x,y=t.y},moveFn:function(t,e){var r=f+t,n=y+e;c.setTranslate(d,r,n),u=l.align(r,0,x.l,x.l+x.w,s.xanchor),h=l.align(n,0,x.t+x.h,x.t,s.yanchor)},doneFn:function(){void 0!==u&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":u,"legend.y":h})},clickFn:function(r,n){var a=e._infolayer.selectAll("g.traces").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});a.size()>0&&_(t,d,a,r,n)}})}function V(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(S,0,-e),c.setRect(E,s._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),g.select("rect").attr("y",b+e)}}],t)}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/events":706,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":640,"./get_legend_data":643,"./handle_click":644,"./helpers":645,"./style":647,d3:164}],643:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./helpers");e.exports=function(t,e){var r,i,o={},s=[],l=!1,c={},u=0,h=0;function f(t,r){if(""!==t&&a.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var p=t[r],d=p[0],g=d.trace,v=g.legendgroup;if(g.visible&&g.showlegend)if(n.traceIs(g,"pie-like"))for(c[v]||(c[v]={}),i=0;i<p.length;i++){var m=p[i].label;c[v][m]||(f(v,{label:m,color:p[i].color,i:p[i].i,trace:g,pts:p[i].pts}),c[v][m]=!0,h=Math.max(h,(m||"").length))}else f(v,d),h=Math.max(h,(g.name||"").length)}if(!s.length)return[];var y,x,b=s.length;if(l&&a.isGrouped(e))for(x=new Array(b),r=0;r<b;r++)y=o[s[r]],x[r]=a.isReversed(e)?y.reverse():y;else{for(x=[new Array(b)],r=0;r<b;r++)y=o[s[r]][0],x[0][a.isReversed(e)?b-r-1:r]=y;b=1}return e._lgroupsLength=b,e._maxNameLength=h,x}},{"../../registry":845,"./helpers":645}],644:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=!0;e.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,c=o.legend.itemdoubleclick;if(1===r&&"toggle"===l&&"toggleothers"===c&&i&&e.data&&e._context.showTips?(n.notifier(n._(e,"Double-click on legend to isolate one trace"),"long"),i=!1):i=!1,1===r?s=l:2===r&&(s=c),s){var u,h,f,p,d,g=o.hiddenlabels?o.hiddenlabels.slice():[],v=t.data()[0][0],m=e._fullData,y=v.trace,x=y.legendgroup,b={},_=[],w=[],k=[];if(a.traceIs(y,"pie-like")){var T=v.label,A=g.indexOf(T);"toggle"===s?-1===A?g.push(T):g.splice(A,1):"toggleothers"===s&&(g=[],e.calcdata[0].forEach(function(t){T!==t.label&&g.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===g.length&&-1===A&&(g=[])),a.call("_guiRelayout",e,"hiddenlabels",g)}else{var M,S=x&&x.length,E=[];if(S)for(u=0;u<m.length;u++)(M=m[u]).visible&&M.legendgroup===x&&E.push(u);if("toggle"===s){var L;switch(y.visible){case!0:L="legendonly";break;case!1:L=!1;break;case"legendonly":L=!0}if(S)for(u=0;u<m.length;u++)!1!==m[u].visible&&m[u].legendgroup===x&&R(m[u],L);else R(y,L)}else if("toggleothers"===s){var C,P,O=!0;for(u=0;u<m.length;u++)if(!(m[u]===y)&&!(C=S&&m[u].legendgroup===x)&&!0===m[u].visible&&!a.traceIs(m[u],"notLegendIsolatable")){O=!1;break}for(u=0;u<m.length;u++)if(!1!==m[u].visible&&!a.traceIs(m[u],"notLegendIsolatable"))switch(y.visible){case"legendonly":R(m[u],!0);break;case!0:P=!!O||"legendonly",C=m[u]===y||S&&m[u].legendgroup===x,R(m[u],!!C||P)}}for(u=0;u<w.length;u++)if(f=w[u]){var z=f.constructUpdate(),I=Object.keys(z);for(h=0;h<I.length;h++)p=I[h],(b[p]=b[p]||[])[k[u]]=z[p]}for(d=Object.keys(b),u=0;u<d.length;u++)for(p=d[u],h=0;h<_.length;h++)b[p].hasOwnProperty(h)||(b[p][h]=void 0);a.call("_guiRestyle",e,b,_)}}}function D(t,e,r){var n=_.indexOf(t),a=b[e];return a||(a=b[e]=[]),-1===_.indexOf(t)&&(_.push(t),n=_.length-1),a[n]=r,n}function R(t,e){var r=t._fullInput;if(a.hasTransform(r,"groupby")){var i=w[r.index];if(!i){var o=a.getTransformIndices(r,"groupby"),s=o[o.length-1];i=n.keyedContainer(r,"transforms["+s+"].styles","target","value.visible"),w[r.index]=i}var l=i.get(t._group);void 0===l&&(l=!0),!1!==l&&i.set(t._group,e),k[r.index]=D(r.index,"visible",!1!==r.visible)}else{var c=!1!==r.visible&&e;D(r.index,"visible",c)}}}},{"../../lib":716,"../../registry":845}],645:[function(t,e,r){"use strict";r.isGrouped=function(t){return-1!==(t.traceorder||"").indexOf("grouped")},r.isVertical=function(t){return"h"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||"").indexOf("reversed")}},{}],646:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"legend",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw"),style:t("./style")}},{"./attributes":639,"./defaults":641,"./draw":642,"./style":647}],647:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../drawing"),s=t("../color"),l=t("../colorscale/helpers").extractOpts,c=t("../../traces/scatter/subtypes"),u=t("../../traces/pie/style_one"),h=t("../../traces/pie/helpers").castOption,f=12,p=5,d=2,g=10,v=5;function m(t){return t?"horizontal":"horizontalreversed"}e.exports=function(t,e){var r=e._fullLayout.legend,y="constant"===r.itemsizing,x=function(t,e,r,n){var a;if(t+1)a=t;else{if(!(e&&e.width>0))return 0;a=e.width}return y?n:Math.min(a,r)};function b(t,e,r){var i=t[0].trace,o=i.marker||{},l=o.line||{},c=r?i.visible&&i.type===r:a.traceIs(i,"bar"),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(c?[t]:[]);u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),u.exit().remove(),u.each(function(t){var e=n.select(this),r=t[0],a=x(r.mlw,o.line,v,d);e.style("stroke-width",a+"px").call(s.fill,r.mc||o.color),a&&s.stroke(e,r.mlc||l.color)})}function _(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:a.traceIs(s,r),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),c.exit().remove(),c.size()){var f=(s.marker||{}).line,p=x(h(f.width,o.pts),f,v,d),g=i.minExtend(s,{marker:{line:{width:p}}});g.marker.line.color=f.color;var m=i.minExtend(o,{trace:g});u(c,m,g)}}t.each(function(t){var e=n.select(this),a=i.ensureSingle(e,"g","layers");a.style("opacity",t[0].trace.opacity);var o=r.valign,s=t[0].lineHeight,l=t[0].height;if("middle"!==o&&s&&l){var c={top:1,bottom:-1}[o]*(.5*(s-l+3));a.attr("transform","translate(0,"+c+")")}else a.attr("transform",null);a.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),a.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var u=a.selectAll("g.legendsymbols").data([t]);u.enter().append("g").classed("legendsymbols",!0),u.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)}).each(function(t){var e=t[0].trace,r=[];e.visible&&"waterfall"===e.type&&(r=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var a=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(r);a.enter().append("path").classed("legendwaterfall",!0).attr("transform","translate(20,0)").style("stroke-miterlimit",1),a.exit().remove(),a.each(function(t){var r=n.select(this),a=e[t[0]].marker,i=x(void 0,a.line,v,d);r.attr("d",t[1]).style("stroke-width",i+"px").call(s.fill,a.color),i&&r.call(s.stroke,a.line.color)})}).each(function(t){b(t,this,"funnel")}).each(function(t){b(t,this)}).each(function(t){var r=t[0].trace,l=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&a.traceIs(r,"box-violin")?[t]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),l.exit().remove(),l.each(function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==s.opacity(r.fillcolor)||0!==s.opacity((r.line||{}).color)){var a=x(void 0,r.line,v,d);t.style("stroke-width",a+"px").call(s.fill,r.fillcolor),a&&s.stroke(t,r.line.color)}else{var c=i.minExtend(r,{marker:{size:y?f:i.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,e)}})}).each(function(t){_(t,this,"funnelarea")}).each(function(t){_(t,this,"pie")}).each(function(t){var r,a,s=t[0],u=s.trace,h=u.visible&&u.fill&&"none"!==u.fill,f=c.hasLines(u),d=u.contours,v=!1,y=!1,b=l(u),_=b.colorscale,w=b.reversescale;if(d){var k=d.coloring;"lines"===k?v=!0:f="none"===k||"heatmap"===k||d.showlines,"constraint"===d.type?h="="!==d._operation:"fill"!==k&&"heatmap"!==k||(y=!0)}var T=c.hasMarkers(u)||c.hasText(u),A=h||y,M=f||v,S=T||!A?"M5,0":M?"M5,-2":"M5,-3",E=n.select(this),L=E.select(".legendfill").selectAll("path").data(h||y?[t]:[]);if(L.enter().append("path").classed("js-fill",!0),L.exit().remove(),L.attr("d",S+"h30v6h-30z").call(h?o.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+u.uid;o.gradient(t,e,r,m(w),_,"fill")}}),f||v){var C=x(void 0,u.line,g,p);a=i.minExtend(u,{line:{width:C}}),r=[i.minExtend(s,{trace:a})]}var P=E.select(".legendlines").selectAll("path").data(f||v?[r]:[]);P.enter().append("path").classed("js-line",!0),P.exit().remove(),P.attr("d",S+(v?"l30,0.0001":"h30")).call(f?o.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+u.uid;o.lineGroupStyle(t),o.gradient(t,e,r,m(w),_,"stroke")}})}).each(function(t){var r,a,s=t[0],l=s.trace,u=c.hasMarkers(l),h=c.hasText(l),g=c.hasLines(l);function v(t,e,r,n){var a=i.nestedProperty(l,t).get(),o=i.isArrayOrTypedArray(a)&&e?e(a):a;if(y&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function m(t){return t[0]}if(u||h||g){var x={},b={};if(u){x.mc=v("marker.color",m),x.mx=v("marker.symbol",m),x.mo=v("marker.opacity",i.mean,[.2,1]),x.mlc=v("marker.line.color",m),x.mlw=v("marker.line.width",i.mean,[0,5],d),b.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var _=v("marker.size",i.mean,[2,16],f);x.ms=_,b.marker.size=_}g&&(b.line={width:v("line.width",m,[0,10],p)}),h&&(x.tx="Aa",x.tp=v("textposition",m),x.ts=10,x.tc=v("textfont.color",m),x.tf=v("textfont.family",m)),r=[i.minExtend(s,x)],(a=i.minExtend(l,b)).selectedpoints=null,a.texttemplate=null}var w=n.select(this).select("g.legendpoints"),k=w.selectAll("path.scatterpts").data(u?r:[]);k.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),k.exit().remove(),k.call(o.pointStyle,a,e),u&&(r[0].mrc=3);var T=w.selectAll("g.pointtext").data(h?r:[]);T.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),T.exit().remove(),T.selectAll("text").call(o.textPointStyle,a,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],o=x(void 0,i.line,v,d);a.style("stroke-width",o+"px").call(s.fill,i.fillcolor),o&&s.stroke(a,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],l=x(void 0,i.line,v,d);a.style("fill","none").call(o.dashLine,i.line.dash,l),l&&s.stroke(a,i.line.color)})})}},{"../../lib":716,"../../registry":845,"../../traces/pie/helpers":1097,"../../traces/pie/style_one":1103,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale/helpers":602,"../drawing":612,d3:164}],648:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/plots"),i=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../fonts/ploticon"),l=o._,c=e.exports={};function u(t,e){var r,a,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},h=i.list(t,null,!0),f=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,v=(1-d)/2;for(a=0;a<h.length;a++)if(!(r=h[a]).fixedrange)if(p=r._name,"auto"===l)u[p+".autorange"]=!0;else if("reset"===l){if(void 0===r._rangeInitial)u[p+".autorange"]=!0;else{var m=r._rangeInitial.slice();u[p+".range[0]"]=m[0],u[p+".range[1]"]=m[1]}void 0!==r._showSpikeInitial&&(u[p+".showspikes"]=r._showSpikeInitial,"on"!==f||r._showSpikeInitial||(f="off"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+v*y[1],g*y[1]+v*y[0]];u[p+".range[0]"]=r.l2r(x[0]),u[p+".range[1]"]=r.l2r(x[1])}}else"hovermode"!==s||"x"!==l&&"y"!==l||(l=c._isHoriz?"y":"x",o.setAttribute("data-val",l)),u[s]=l;c._cartesianSpikesEnabled=f,n.call("_guiRelayout",t,u)}function h(t,e){for(var r=e.currentTarget,a=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,o=t._fullLayout._subplots.gl3d,s={},l=a.split("."),c=0;c<o.length;c++)s[o[c]+"."+l[1]]=i;var u="pan"===i?i:"zoom";s.dragmode=u,n.call("_guiRelayout",t,s)}function f(t,e){for(var r=e.currentTarget.getAttribute("data-attr"),a=t._fullLayout,i=a._subplots.gl3d||[],o={},s=0;s<i.length;s++){var l,c=i[s],u=c+".camera",h=c+".aspectratio",f=a[c]._scene;"resetLastSave"===r?(o[u+".up"]=f.viewInitial.up,o[u+".eye"]=f.viewInitial.eye,o[u+".center"]=f.viewInitial.center,l=!0):"resetDefault"===r&&(o[u+".up"]=null,o[u+".eye"]=null,o[u+".center"]=null,l=!0),l&&(o[h+".x"]=f.viewInitial.aspectratio.x,o[h+".y"]=f.viewInitial.aspectratio.y,o[h+".z"]=f.viewInitial.aspectratio.z)}n.call("_guiRelayout",t,o)}function p(t,e){var r=e.currentTarget,n=r._previousVal,a=t._fullLayout,i=a._subplots.gl3d||[],o=["xaxis","yaxis","zaxis"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var c=0;c<i.length;c++){var u=i[c],h=a[u],f=u+".hovermode";s[f]=h.hovermode,l[f]=!1;for(var p=0;p<3;p++){var d=o[p],g=u+"."+d+".showspikes";l[g]=!1,s[g]=h[d].showspikes}}r._previousVal=s}return l}function d(t,e){for(var r=e.currentTarget,a=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,o=t._fullLayout,s=o._subplots.geo,l=0;l<s.length;l++){var c=s[l],u=o[c];if("zoom"===a){var h=u.projection.scale,f="in"===i?2*h:.5*h;n.call("_guiRelayout",t,c+".projection.scale",f)}else"reset"===a&&m(t,"geo")}}function g(t){var e=t._fullLayout;return!e.hovermode&&(e._has("cartesian")?e._isHoriz?"y":"x":"closest")}function v(t){var e=g(t);n.call("_guiRelayout",t,"hovermode",e)}function m(t,e){for(var r=t._fullLayout,a=r._subplots[e]||[],i={},o=0;o<a.length;o++)for(var s=a[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var h=c[u];i[s+"."+h]=l[h]}n.call("_guiRelayout",t,i)}c.toImage={name:"toImage",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||"png";return l(t,"png"===e?"Download plot as a png":"Download plot")},icon:s.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||"png"};o.notifier(l(t,"Taking snapshot - this may take a few seconds"),"long"),"svg"!==r.format&&o.isIE()&&(o.notifier(l(t,"IE only supports svg.  Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(t){t in e&&(r[t]=e[t])}),n.call("downloadImage",t,r).then(function(e){o.notifier(l(t,"Snapshot succeeded")+" - "+e,"long")}).catch(function(){o.notifier(l(t,"Sorry, there was a problem downloading your snapshot!"),"long")})}},c.sendDataToCloud={name:"sendDataToCloud",title:function(t){return l(t,"Edit in Chart Studio")},icon:s.disk,click:function(t){a.sendDataToCloud(t)}},c.editInChartStudio={name:"editInChartStudio",title:function(t){return l(t,"Edit in Chart Studio")},icon:s.pencil,click:function(t){a.sendDataToCloud(t)}},c.zoom2d={name:"zoom2d",title:function(t){return l(t,"Zoom")},attr:"dragmode",val:"zoom",icon:s.zoombox,click:u},c.pan2d={name:"pan2d",title:function(t){return l(t,"Pan")},attr:"dragmode",val:"pan",icon:s.pan,click:u},c.select2d={name:"select2d",title:function(t){return l(t,"Box Select")},attr:"dragmode",val:"select",icon:s.selectbox,click:u},c.lasso2d={name:"lasso2d",title:function(t){return l(t,"Lasso Select")},attr:"dragmode",val:"lasso",icon:s.lasso,click:u},c.zoomIn2d={name:"zoomIn2d",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:u},c.zoomOut2d={name:"zoomOut2d",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:u},c.autoScale2d={name:"autoScale2d",title:function(t){return l(t,"Autoscale")},attr:"zoom",val:"auto",icon:s.autoscale,click:u},c.resetScale2d={name:"resetScale2d",title:function(t){return l(t,"Reset axes")},attr:"zoom",val:"reset",icon:s.home,click:u},c.hoverClosestCartesian={name:"hoverClosestCartesian",title:function(t){return l(t,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:u},c.hoverCompareCartesian={name:"hoverCompareCartesian",title:function(t){return l(t,"Compare data on hover")},attr:"hovermode",val:function(t){return t._fullLayout._isHoriz?"y":"x"},icon:s.tooltip_compare,gravity:"ne",click:u},c.zoom3d={name:"zoom3d",title:function(t){return l(t,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:s.zoombox,click:h},c.pan3d={name:"pan3d",title:function(t){return l(t,"Pan")},attr:"scene.dragmode",val:"pan",icon:s.pan,click:h},c.orbitRotation={name:"orbitRotation",title:function(t){return l(t,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:s["3d_rotate"],click:h},c.tableRotation={name:"tableRotation",title:function(t){return l(t,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:s["z-axis"],click:h},c.resetCameraDefault3d={name:"resetCameraDefault3d",title:function(t){return l(t,"Reset camera to default")},attr:"resetDefault",icon:s.home,click:f},c.resetCameraLastSave3d={name:"resetCameraLastSave3d",title:function(t){return l(t,"Reset camera to last save")},attr:"resetLastSave",icon:s.movie,click:f},c.hoverClosest3d={name:"hoverClosest3d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:function(t,e){var r=p(t,e);n.call("_guiRelayout",t,r)}},c.zoomInGeo={name:"zoomInGeo",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:"zoomOutGeo",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:d},c.resetGeo={name:"resetGeo",title:function(t){return l(t,"Reset")},attr:"reset",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:"hoverClosestGeo",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:v},c.hoverClosestGl2d={name:"hoverClosestGl2d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:v},c.hoverClosestPie={name:"hoverClosestPie",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:v},c.resetViewSankey={name:"resetSankeyGroup",title:function(t){return l(t,"Reset view")},icon:s.home,click:function(t){for(var e={"node.groups":[],"node.x":[],"node.y":[]},r=0;r<t._fullData.length;r++){var a=t._fullData[r]._viewInitial;e["node.groups"].push(a.node.groups.slice()),e["node.x"].push(a.node.x.slice()),e["node.y"].push(a.node.y.slice())}n.call("restyle",t,e)}},c.toggleHover={name:"toggleHover",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:function(t,e){var r=p(t,e);r.hovermode=g(t),n.call("_guiRelayout",t,r)}},c.resetViews={name:"resetViews",title:function(t){return l(t,"Reset views")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),u(t,e),r.setAttribute("data-attr","resetLastSave"),f(t,e),m(t,"geo"),m(t,"mapbox")}},c.toggleSpikelines={name:"toggleSpikelines",title:function(t){return l(t,"Toggle Spike Lines")},icon:s.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled="on"===r?"off":"on",n.call("_guiRelayout",t,function(t){for(var e="on"===t._fullLayout._cartesianSpikesEnabled,r=i.list(t,null,!0),n={},a=0;a<r.length;a++){var o=r[a];n[o._name+".showspikes"]=!!e||o._showSpikeInitial}return n}(t))}},c.resetViewMapbox={name:"resetViewMapbox",title:function(t){return l(t,"Reset view")},attr:"reset",icon:s.home,click:function(t){m(t,"mapbox")}}},{"../../fonts/ploticon":696,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845}],649:[function(t,e,r){"use strict";r.manage=t("./manage")},{"./manage":650}],650:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),a=t("../../traces/scatter/subtypes"),i=t("../../registry"),o=t("./modebar"),s=t("./buttons");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var a=r[n];if("string"==typeof a){if(void 0===s[a])throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "));t[e][n]=s[a]}}return t}(u):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,o=t._context,l=o.modeBarButtonsToRemove,c=o.modeBarButtonsToAdd,u=e._has("cartesian"),h=e._has("gl3d"),f=e._has("geo"),p=e._has("pie"),d=e._has("funnelarea"),g=e._has("gl2d"),v=e._has("ternary"),m=e._has("mapbox"),y=e._has("polar"),x=e._has("sankey"),b=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),_=[];function w(t){if(t.length){for(var e=[],r=0;r<t.length;r++){var n=t[r];-1===l.indexOf(n)&&e.push(s[n])}_.push(e)}}var k=["toImage"];o.showEditInChartStudio?k.push("editInChartStudio"):o.showSendToCloud&&k.push("sendDataToCloud");w(k);var T=[],A=[],M=[],S=[];(u||g||p||d||v)+f+h+m+y>1?(A=["toggleHover"],M=["resetViews"]):f?(T=["zoomInGeo","zoomOutGeo"],A=["hoverClosestGeo"],M=["resetGeo"]):h?(A=["hoverClosest3d"],M=["resetCameraDefault3d","resetCameraLastSave3d"]):m?(A=["toggleHover"],M=["resetViewMapbox"]):g?A=["hoverClosestGl2d"]:p?A=["hoverClosestPie"]:x?(A=["hoverClosestCartesian","hoverCompareCartesian"],M=["resetViewSankey"]):A=["toggleHover"];u&&(A=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e<t.length;e++)if(!i.traceIs(t[e],"noHover"))return!1;return!0})(r)&&(A=[]);!u&&!g||b||(T=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==M[0]&&(M=["resetScale2d"]));h?S=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||g)&&!b||v?S=["zoom2d","pan2d"]:m||f?S=["pan2d"]:y&&(S=["zoom2d"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(i.traceIs(n,"scatter-like")?(a.hasMarkers(n)||a.hasText(n))&&(e=!0):i.traceIs(n,"box-violin")&&"all"!==n.boxpoints&&"all"!==n.points||(e=!0))}return e})(r)&&S.push("select2d","lasso2d");return w(S),w(T.concat(M)),w(A),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(_,c)}(t),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{"../../plots/cartesian/axis_ids":767,"../../registry":845,"../../traces/scatter/subtypes":1142,"./buttons":648,"./modebar":651}],651:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../fonts/ploticon"),s=new DOMParser;function l(t){this.container=t.container,this.element=document.createElement("div"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var c=l.prototype;c.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,a="modebar-"+n._uid;this.element.setAttribute("id",a),this._uid=a,this.element.className="modebar","hover"===r.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===n.modebar.orientation&&(this.element.className+=" vertical",e=e.reverse());var o=n.modebar,s="hover"===r.displayModeBar?".js-plotly-plot .plotly:hover ":"";i.deleteRelatedStyleRule(a),i.addRelatedStyleRule(a,s+"#"+a+" .modebar-group","background-color: "+o.bgcolor),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn .icon path","fill: "+o.color),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn:hover .icon path","fill: "+o.activecolor),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn.active .icon path","fill: "+o.activecolor);var l=!this.hasButtons(e),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var h=this.getLogo();r.watermark&&(h.className=h.className+" watermark"),"v"===n.modebar.orientation?this.element.insertBefore(h,this.element.childNodes[0]):this.element.appendChild(h),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==e.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");e.buttonsNames.push(n);var a=e.createButton(t);e.buttonElements.push(a),r.appendChild(a)}),e.element.appendChild(r)})},c.createGroup=function(){var t=document.createElement("div");return t.className="modebar-group",t},c.createButton=function(t){var e=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var a=t.title;void 0===a?a=t.name:"function"==typeof a&&(a=a(this.graphInfo)),(a||0===a)&&r.setAttribute("data-title",a),void 0!==t.attr&&r.setAttribute("data-attr",t.attr);var i=t.val;if(void 0!==i&&("function"==typeof i&&(i=i(this.graphInfo)),r.setAttribute("data-val",i)),"function"!=typeof t.click)throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute("data-toggle",t.toggle||!1),t.toggle&&n.select(r).classed("active",!0);var s=t.icon;return"function"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute("data-gravity",t.gravity||"n"),r},c.createIcon=function(t){var e,r=a(t.height)?Number(t.height):t.ascent-t.descent,n="http://www.w3.org/2000/svg";if(t.path){(e=document.createElementNS(n,"svg")).setAttribute("viewBox",[0,0,t.width,r].join(" ")),e.setAttribute("class","icon");var i=document.createElementNS(n,"path");i.setAttribute("d",t.path),t.transform?i.setAttribute("transform",t.transform):void 0!==t.ascent&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+t.ascent+")"),e.appendChild(i)}t.svg&&(e=s.parseFromString(t.svg,"application/xml").childNodes[0]);return e.setAttribute("height","1em"),e.setAttribute("width","1em"),e},c.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute("data-attr"):null;this.buttonElements.forEach(function(t){var a=t.getAttribute("data-val")||!0,o=t.getAttribute("data-attr"),s="true"===t.getAttribute("data-toggle"),l=n.select(t);if(s)o===r&&l.classed("active",!l.classed("active"));else{var c=null===o?o:i.nestedProperty(e,o).get();l.classed("active",c===a)}})},c.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},c.getLogo=function(){var t=this.createGroup(),e=document.createElement("a");return e.href="https://plot.ly/",e.target="_blank",e.setAttribute("data-title",i._(this.graphInfo,"Produced with Plotly")),e.className="modebar-btn plotlyjsicon modebar-btn--logo",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){i.removeElement(this.container.querySelector(".modebar")),i.deleteRelatedStyleRule(this._uid)},e.exports=function(t,e){var r=t._fullLayout,a=new l({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(a.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),a}},{"../../fonts/ploticon":696,"../../lib":716,d3:164,"fast-isnumeric":227}],652:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=(0,t("../../plot_api/plot_template").templatedArray)("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});e.exports={visible:{valType:"boolean",editType:"plot"},buttons:i,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:n({editType:"plot"}),bgcolor:{valType:"color",dflt:a.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:a.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},{"../../plot_api/plot_template":754,"../../plots/font_attributes":790,"../color/attributes":590}],653:[function(t,e,r){"use strict";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],654:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color"),i=t("../../plot_api/plot_template"),o=t("../../plots/array_container_defaults"),s=t("./attributes"),l=t("./constants");function c(t,e,r,a){var i=a.calendar;function o(r,a){return n.coerce(t,e,s.buttons,r,a)}if(o("visible")){var l=o("step");"all"!==l&&(!i||"gregorian"===i||"month"!==l&&"year"!==l?o("stepmode"):e.stepmode="backward",o("count")),o("label")}}e.exports=function(t,e,r,u,h){var f=t.rangeselector||{},p=i.newContainer(e,"rangeselector");function d(t,e){return n.coerce(f,p,s,t,e)}if(d("visible",o(f,p,{name:"buttons",handleItemDefaults:c,calendar:h}).length>0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),a=0,i=0;i<n.length;i++){var o=e[n[i]].domain;o&&(a=Math.max(o[1],a))}return[t.domain[0],a+l.yPad]}(e,r,u);d("x",g[0]),d("y",g[1]),n.noneOrAll(t,e,["x","y"]),d("xanchor"),d("yanchor"),n.coerceFont(d,"font",r.font);var v=d("bgcolor");d("activecolor",a.contrast(v,l.lightAmount,l.darkAmount)),d("bordercolor"),d("borderwidth")}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../color":591,"./attributes":652,"./constants":653}],655:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../color"),s=t("../drawing"),l=t("../../lib"),c=t("../../lib/svg_text_utils"),u=t("../../plots/cartesian/axis_ids"),h=t("../../constants/alignment"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR,g=t("./constants"),v=t("./get_update_object");function m(t){return t._id}function y(t,e,r){var n=l.ensureSingle(t,"rect","selector-rect",function(t){t.attr("shape-rendering","crispEdges")});n.attr({rx:g.rx,ry:g.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style("stroke-width",e.borderwidth+"px")}function x(t,e,r,n){l.ensureSingle(t,"text","selector-text",function(t){t.classed("user-select-none",!0).attr("text-anchor","middle")}).call(s.font,e.font).text(function(t,e){if(t.label)return e?l.templateString(t.label,e):t.label;return"all"===t.step?"all":t.count+t.step.charAt(0)}(r,n._fullLayout._meta)).call(function(t){c.convertToTspans(t,n)})}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(".rangeselector").data(function(t){for(var e=u.list(t,"x",!0),r=[],n=0;n<e.length;n++){var a=e[n];a.rangeselector&&a.rangeselector.visible&&r.push(a)}return r}(t),m);e.enter().append("g").classed("rangeselector",!0),e.exit().remove(),e.style({cursor:"pointer","pointer-events":"all"}),e.each(function(e){var r=n.select(this),o=e,u=o.rangeselector,h=r.selectAll("g.button").data(l.filterVisible(u.buttons));h.enter().append("g").classed("button",!0),h.exit().remove(),h.each(function(e){var r=n.select(this),i=v(o,e);e._isActive=function(t,e,r){if("all"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,i),r.call(y,u,e),r.call(x,u,e,t),r.on("click",function(){t._dragged||a.call("_guiRelayout",t,i)}),r.on("mouseover",function(){e._isHovered=!0,r.call(y,u,e)}),r.on("mouseout",function(){e._isHovered=!1,r.call(y,u,e)})}),function(t,e,r,a,o){var u=0,h=0,v=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(".selector-text"),a=r.font.size*f,i=Math.max(a*c.lineCount(e),16)+3;h=Math.max(h,i)}),e.each(function(){var t=n.select(this),e=t.select(".selector-rect"),a=t.select(".selector-text"),i=a.node()&&s.bBox(a.node()).width,o=r.font.size*f,l=c.lineCount(a),p=Math.max(i+10,g.minButtonWidth);t.attr("transform","translate("+(v+u)+","+v+")"),e.attr({x:0,y:0,width:p,height:h}),c.positionText(a,p/2,h/2-(l-1)*o/2+3),u+=p+5});var m=t._fullLayout._size,y=m.l+m.w*r.x,x=m.t+m.h*(1-r.y),b="left";l.isRightAnchor(r)&&(y-=u,b="right");l.isCenterAnchor(r)&&(y-=u/2,b="center");var _="top";l.isBottomAnchor(r)&&(x-=h,_="bottom");l.isMiddleAnchor(r)&&(x-=h/2,_="middle");u=Math.ceil(u),h=Math.ceil(h),y=Math.round(y),x=Math.round(x),i.autoMargin(t,a+"-range-selector",{x:r.x,y:r.y,l:u*p[b],r:u*d[b],b:h*d[_],t:h*p[_]}),o.attr("transform","translate("+y+","+x+")")}(t,h,u,o._name,r)})}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845,"../color":591,"../drawing":612,"./constants":653,"./get_update_object":656,d3:164}],656:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e){var r=t._name,a={};if("all"===e.step)a[r+".autorange"]=!0;else{var i=function(t,e){var r,a=t.range,i=new Date(t.r2l(a[1])),o=e.step,s=e.count;switch(e.stepmode){case"backward":r=t.l2r(+n.time[o].utc.offset(i,-s));break;case"todate":var l=n.time[o].utc.offset(i,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=a[1];return[r,c]}(t,e);a[r+".range[0]"]=i[0],a[r+".range[1]"]=i[1]}return a}},{d3:164}],657:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":652,"./defaults":654,"./draw":655}],658:[function(t,e,r){"use strict";var n=t("../color/attributes");e.exports={bgcolor:{valType:"color",dflt:n.background,editType:"plot"},bordercolor:{valType:"color",dflt:n.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}},{"../color/attributes":590}],659:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids").list,a=t("../../plots/cartesian/autorange").getAutoRange,i=t("./constants");e.exports=function(t){for(var e=n(t,"x",!0),r=0;r<e.length;r++){var o=e[r],s=o[i.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=a(t,o))}}},{"../../plots/cartesian/autorange":763,"../../plots/cartesian/axis_ids":767,"./constants":660}],660:[function(t,e,r){"use strict";e.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],661:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("../../plots/cartesian/axis_ids"),o=t("./attributes"),s=t("./oppaxis_attributes");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,h,f=l.rangeslider,p=a.newContainer(c,"rangeslider");if(_("visible")){_("bgcolor",e.plot_bgcolor),_("bordercolor"),_("borderwidth"),_("thickness"),_("autorange",!c.isValidRange(f.range)),_("range");var d=e._subplots;if(d)for(var g=d.cartesian.filter(function(t){return t.substr(0,t.indexOf("y"))===i.name2id(r)}).map(function(t){return t.substr(t.indexOf("y"),t.length)}),v=n.simpleMap(g,i.id2name),m=0;m<v.length;m++){var y=v[m];u=f[y]||{},h=a.newContainer(p,y,"yaxis");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x="fixed"),"match"!==w("rangemode",x)&&w("range",b.range.slice())}p._input=f}}function _(t,e){return n.coerce(f,p,o,t,e)}function w(t,e){return n.coerce(u,h,s,t,e)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/cartesian/axis_ids":767,"./attributes":658,"./oppaxis_attributes":665}],662:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../../lib"),s=t("../drawing"),l=t("../color"),c=t("../titles"),u=t("../../plots/cartesian"),h=t("../../plots/cartesian/axis_ids"),f=t("../dragelement"),p=t("../../lib/setcursor"),d=t("./constants");function g(t,e,r,n){var a=o.ensureSingle(t,"rect",d.bgClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}),i=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);a.attr({width:n._width+i,height:n._height+i,transform:"translate("+l+","+l+")",fill:n.bgcolor,stroke:n.bordercolor,"stroke-width":c})}function v(t,e,r,n){var a=e._fullLayout;o.ensureSingleById(a._topdefs,"clipPath",n._clipId,function(t){t.append("rect").attr({x:0,y:0})}).select("rect").attr({width:n._width,height:n._height})}function m(t,e,r,a){var l,c=e.calcdata,f=t.selectAll("g."+d.rangePlotClassName).data(r._subplotsWith,o.identity);f.enter().append("g").attr("class",function(t){return d.rangePlotClassName+" "+t}).call(s.setClipUrl,a._clipId,e),f.order(),f.exit().remove(),f.each(function(t,o){var s=n.select(this),f=0===o,p=h.getFromId(e,t,"y"),d=p._name,g=a[d],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:a.range.slice(),calendar:r.calendar},width:a._width,height:a._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};v.layout[d]={type:p.type,domain:[0,1],range:"match"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},i.supplyDefaults(v);var m=v._fullLayout.xaxis,y=v._fullLayout[d];m.clearCalc(),m.setScale(),y.clearCalc(),y.setScale();var x={id:t,plotgroup:s,xaxis:m,yaxis:y,isRangePlot:!0};f?l=x:(x.mainplot="xy",x.mainplotinfo=l),u.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n],i=a[0].trace;i.xaxis+i.yaxis===e&&r.push(a)}return r}(c,t))})}function y(t,e,r,n,a){(o.ensureSingle(t,"rect",d.maskMinClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),o.ensureSingle(t,"rect",d.maskMaxClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),"match"!==a.rangemode)&&(o.ensureSingle(t,"rect",d.maskMinOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).call(l.fill,d.maskOppAxisColor),o.ensureSingle(t,"rect",d.maskMaxOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).style("border-top",d.maskOppBorder).call(l.fill,d.maskOppAxisColor))}function x(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,"rect",d.slideBoxClassName,function(t){t.attr({y:0,cursor:d.slideBoxCursor,"shape-rendering":"crispEdges"})}).attr({height:n._height,fill:d.slideBoxFill})}function b(t,e,r,n){var a=o.ensureSingle(t,"g",d.grabberMinClassName),i=o.ensureSingle(t,"g",d.grabberMaxClassName),s={x:0,width:d.handleWidth,rx:d.handleRadius,fill:l.background,stroke:l.defaultLine,"stroke-width":d.handleStrokeWidth,"shape-rendering":"crispEdges"},c={y:Math.round(n._height/4),height:Math.round(n._height/2)};if(o.ensureSingle(a,"rect",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(i,"rect",d.handleMaxClassName,function(t){t.attr(s)}).attr(c),!e._context.staticPlot){var u={width:d.grabAreaWidth,x:0,y:0,fill:d.grabAreaFill,cursor:d.grabAreaCursor};o.ensureSingle(a,"rect",d.grabAreaMinClassName,function(t){t.attr(u)}).attr("height",n._height),o.ensureSingle(i,"rect",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr("height",n._height)}}e.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,i=0;i<r.length;i++){var s=r[i][d.name];s._clipId=s._id+"-"+e._uid}var l=e._infolayer.selectAll("g."+d.containerClassName).data(r,function(t){return t._name});l.exit().each(function(t){var r=t[d.name];e._topdefs.select("#"+r._clipId).remove()}).remove(),0!==r.length&&(l.enter().append("g").classed(d.containerClassName,!0).attr("pointer-events","all"),l.each(function(r){var i=n.select(this),s=r[d.name],l=e[h.id2name(r.anchor)],u=s[h.id2name(r.anchor)];if(s.range){var _,w=o.simpleMap(s.range,r.r2l),k=o.simpleMap(r.range,r.r2l);_=k[0]<k[1]?[Math.min(w[0],k[0]),Math.max(w[1],k[1])]:[Math.max(w[0],k[0]),Math.min(w[1],k[1])],s.range=s._input.range=o.simpleMap(_,r.l2r)}r.cleanRange("rangeslider.range");var T=e._size,A=r.domain;s._width=T.w*(A[1]-A[0]);var M=Math.round(T.l+T.w*A[0]),S=Math.round(T.t+T.h*(1-r._counterDomainMin)+("bottom"===r.side?r._depth:0)+s._offsetShift+d.extraPad);i.attr("transform","translate("+M+","+S+")");var E=r.r2l(s.range[0]),L=r.r2l(s.range[1]),C=L-E;if(s.p2d=function(t){return t/s._width*C+E},s.d2p=function(t){return(t-E)/C*s._width},s._rl=[E,L],"match"!==u.rangemode){var P=l.r2l(u.range[0]),O=l.r2l(u.range[1])-P;s.d2pOppAxis=function(t){return(t-P)/O*s._height}}i.call(g,t,r,s).call(v,t,r,s).call(m,t,r,s).call(y,t,r,s,u).call(x,t,r,s).call(b,t,r,s),function(t,e,r,i){var s=t.select("rect."+d.slideBoxClassName).node(),l=t.select("rect."+d.grabAreaMinClassName).node(),c=t.select("rect."+d.grabAreaMaxClassName).node();t.on("mousedown",function(){var u=n.event,h=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,v=i.d2p(r._rl[0]),m=i.d2p(r._rl[1]),y=f.coverSlip();function x(t){var u,f,x,b=+t.clientX-d;switch(h){case s:x="ew-resize",u=v+b,f=m+b;break;case l:x="col-resize",u=v+b,f=m;break;case c:x="col-resize",u=v,f=m+b;break;default:x="ew-resize",u=g,f=g+b}if(f<u){var _=f;f=u,u=_}i._pixelMin=u,i._pixelMax=f,p(n.select(y),x),function(t,e,r,n){function i(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=i(n.p2d(n._pixelMin)),l=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){a.call("_guiRelayout",e,r._name+".range",[s,l])})}(0,e,r,i)}y.addEventListener("mousemove",x),y.addEventListener("mouseup",function t(){y.removeEventListener("mousemove",x);y.removeEventListener("mouseup",t);o.removeElement(y)})})}(i,t,r,s),function(t,e,r,n,a,i){var s=d.handleWidth/2;function l(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function u(t){return o.constrain(t,-s,n._width+s)}var h=l(n.d2p(r._rl[0])),f=l(n.d2p(r._rl[1]));if(t.select("rect."+d.slideBoxClassName).attr("x",h).attr("width",f-h),t.select("rect."+d.maskMinClassName).attr("width",h),t.select("rect."+d.maskMaxClassName).attr("x",f).attr("width",n._width-f),"match"!==i.rangemode){var p=n._height-c(n.d2pOppAxis(a._rl[1])),g=n._height-c(n.d2pOppAxis(a._rl[0]));t.select("rect."+d.maskMinOppAxisClassName).attr("x",h).attr("height",p).attr("width",f-h),t.select("rect."+d.maskMaxOppAxisClassName).attr("x",h).attr("y",g).attr("height",n._height-g).attr("width",f-h),t.select("rect."+d.slideBoxClassName).attr("y",p).attr("height",g-p)}var v=Math.round(u(h-s))-.5,m=Math.round(u(f-s))+.5;t.select("g."+d.grabberMinClassName).attr("transform","translate("+v+",0.5)"),t.select("g."+d.grabberMaxClassName).attr("transform","translate("+m+",0.5)")}(i,0,r,s,l,u),"bottom"===r.side&&c.draw(t,r._id+"title",{propContainer:r,propName:r._name+".title",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:S+s._height+s._offsetShift+10+1.5*r.title.font.size,"text-anchor":"middle"}})}))}},{"../../lib":716,"../../lib/setcursor":736,"../../plots/cartesian":775,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"../titles":678,"./constants":660,d3:164}],663:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),a=t("../../lib/svg_text_utils"),i=t("./constants"),o=t("../../constants/alignment").LINE_SPACING,s=i.name;function l(t){var e=t&&t[s];return e&&e.visible}r.isVisible=l,r.makeData=function(t){var e=n.list({_fullLayout:t},"x",!0),r=t.margin,a=[];if(!t._has("gl2d"))for(var i=0;i<e.length;i++){var o=e[i];if(l(o)){a.push(o);var c=o[s];c._id=s+o._id,c._height=(t.height-r.b-r.t)*c.thickness,c._offsetShift=Math.floor(c.borderwidth/2)}}t._rangeSliderData=a},r.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),c=0,u=0;"bottom"===e.side&&(c=e._depth,e.title.text!==r._dfltTitle[l]&&(u=1.5*e.title.font.size+10+n._offsetShift,u+=(e.title.text.match(a.BR_TAG_ALL)||[]).length*e.title.font.size*o));return{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+c+Math.max(r.margin.b,u),pad:i.extraPad+2*n._offsetShift}}},{"../../constants/alignment":685,"../../lib/svg_text_utils":740,"../../plots/cartesian/axis_ids":767,"./constants":660}],664:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./oppaxis_attributes"),o=t("./helpers");e.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},a,{yaxis:i})}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),calcAutorange:t("./calc_autorange"),draw:t("./draw"),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},{"../../lib":716,"./attributes":658,"./calc_autorange":659,"./defaults":661,"./draw":662,"./helpers":663,"./oppaxis_attributes":665}],665:[function(t,e,r){"use strict";e.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},{}],666:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),a=t("../../traces/scatter/attributes").line,i=t("../drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray;e.exports=s("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:o({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:o({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:o({},a.color,{editType:"arraydraw"}),width:o({},a.width,{editType:"calc+arraydraw"}),dash:o({},i,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},editType:"arraydraw"})},{"../../lib/extend":707,"../../plot_api/plot_template":754,"../../traces/scatter/attributes":1118,"../annotations/attributes":574,"../drawing/attributes":611}],667:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./constants"),o=t("./helpers");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,a,s,l){var c=t/2,u=l;if("pixel"===e){var h=s?o.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[r,a],f=n.aggNums(Math.max,null,h),p=n.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,g=f>0?f+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,a){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,h,f=1/0,p=-1/0,d=n.match(i.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=a[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(i.paramRE))||u.length<c||((h=s(u[c]))<f&&(f=h),h>p&&(p=h)));return p>=f?[f,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,h,f=r[o];if(f._extremes={},"paper"!==f.xref){var p="pixel"===f.xsizemode?f.xanchor:f.x0,d="pixel"===f.xsizemode?f.xanchor:f.x1;(h=u(c=a.getFromId(t,f.xref),p,d,f.path,i.paramIsX))&&(f._extremes[c._id]=a.findExtremes(c,h,s(f)))}if("paper"!==f.yref){var g="pixel"===f.ysizemode?f.yanchor:f.y0,v="pixel"===f.ysizemode?f.yanchor:f.y1;(h=u(c=a.getFromId(t,f.yref),g,v,f.path,i.paramIsY))&&(f._extremes[c._id]=a.findExtremes(c,h,l(f)))}}}},{"../../lib":716,"../../plots/cartesian/axes":764,"./constants":668,"./helpers":671}],668:[function(t,e,r){"use strict";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],669:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./attributes"),s=t("./helpers");function l(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}if(i("visible")){i("layer"),i("opacity"),i("fillcolor"),i("line.color"),i("line.width"),i("line.dash");for(var l=i("type",t.path?"path":"rect"),c=i("xsizemode"),u=i("ysizemode"),h=["x","y"],f=0;f<2;f++){var p,d,g,v=h[f],m=v+"anchor",y="x"===v?c:u,x={_fullLayout:r},b=a.coerceRef(t,e,x,v,"","paper");if("paper"!==b?((p=a.getFromId(x,b))._shapeIndices.push(e._index),g=s.rangeToShapePosition(p),d=s.shapePositionToRange(p)):d=g=n.identity,"path"!==l){var _=v+"0",w=v+"1",k=t[_],T=t[w];t[_]=d(t[_],!0),t[w]=d(t[w],!0),"pixel"===y?(i(_,0),i(w,10)):(a.coercePosition(e,x,i,b,_,.25),a.coercePosition(e,x,i,b,w,.75)),e[_]=g(e[_]),e[w]=g(e[w]),t[_]=k,t[w]=T}if("pixel"===y){var A=t[m];t[m]=d(t[m],!0),a.coercePosition(e,x,i,b,m,.25),e[m]=g(e[m]),t[m]=A}}"path"===l?i("path"):n.noneOrAll(t,e,["x0","x1","y0","y1"])}}e.exports=function(t,e){i(t,e,{name:"shapes",handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":666,"./helpers":671}],670:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../color"),s=t("../drawing"),l=t("../../plot_api/plot_template").arrayEditor,c=t("../dragelement"),u=t("../../lib/setcursor"),h=t("./constants"),f=t("./helpers");function p(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+e+'"]').remove();var r=t._fullLayout.shapes[e]||{};if(r._input&&!1!==r.visible)if("below"!==r.layer)m(t._fullLayout._shapeUpperLayer);else if("paper"===r.xref||"paper"===r.yref)m(t._fullLayout._shapeLowerLayer);else{var p=t._fullLayout._plots[r.xref+r.yref];if(p)m((p.mainplotinfo||p).shapelayer);else m(t._fullLayout._shapeLowerLayer)}function m(p){var m={"data-index":e,"fill-rule":"evenodd",d:g(t,r)},y=r.line.width?r.line.color:"rgba(0,0,0,0)",x=p.append("path").attr(m).style("opacity",r.opacity).call(o.stroke,y).call(o.fill,r.fillcolor).call(s.dashLine,r.line.dash,r.line.width);d(x,t,r),t._context.edits.shapePosition&&function(t,e,r,o,p){var m,y,x,b,_,w,k,T,A,M,S,E,L,C,P,O,z=10,I=10,D="pixel"===r.xsizemode,R="pixel"===r.ysizemode,F="line"===r.type,B="path"===r.type,N=l(t.layout,"shapes",r),j=N.modifyItem,V=i.getFromId(t,r.xref),U=i.getFromId(t,r.yref),q=f.getDataToPixel(t,V),H=f.getDataToPixel(t,U,!0),G=f.getPixelToData(t,V),Y=f.getPixelToData(t,U,!0),W=F?function(){var t=Math.max(r.line.width,10),n=p.append("g").attr("data-index",o);n.append("path").attr("d",e.attr("d")).style({cursor:"move","stroke-width":t,"stroke-opacity":"0"});var a={"fill-opacity":"0"},i=t/2>10?t/2:10;return n.append("circle").attr({"data-line-point":"start-point",cx:D?q(r.xanchor)+r.x0:q(r.x0),cy:R?H(r.yanchor)-r.y0:H(r.y0),r:i}).style(a).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:D?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:i}).style(a).classed("cursor-grab",!0),n}():e,X={element:W.node(),gd:t,prepFn:function(n){D&&(_=q(r.xanchor));R&&(w=H(r.yanchor));"path"===r.type?P=r.path:(m=D?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=D?r.x1:q(r.x1),b=R?r.y1:H(r.y1));m<x?(A=m,L="x0",M=x,C="x1"):(A=x,L="x1",M=m,C="x0");!R&&y<b||R&&y>b?(k=y,S="y0",T=b,E="y1"):(k=b,S="y1",T=y,E="y0");Z(n),Q(p,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),l=i.getFromId(r,a),c="";"paper"===n||o.autorange||(c+=n);"paper"===a||l.autorange||(c+=a);s.setClipUrl(t,c?"clip"+r._fullLayout._uid+c:null,r)}(e,r,t),X.moveFn="move"===O?J:K},doneFn:function(){u(e),$(p),d(e,t,r),n.call("_guiRelayout",t,N.getUpdateObj())},clickFn:function(){$(p)}};function Z(t){if(F)O="path"===t.target.tagName?"move":"start-point"===t.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,a=r.bottom-r.top,i=t.clientX-r.left,o=t.clientY-r.top,s=!B&&n>z&&a>I&&!t.shiftKey?c.getCursor(i/n,1-o/a):"move";u(e,s),O=s.split("-")[0]}}function J(n,a){if("path"===r.type){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else D?j("xanchor",r.xanchor=G(_+n)):(j("x0",r.x0=G(m+n)),j("x1",r.x1=G(x+n))),R?j("yanchor",r.yanchor=Y(w+a)):(j("y0",r.y0=Y(y+a)),j("y1",r.y1=Y(b+a)));e.attr("d",g(t,r)),Q(p,r)}function K(n,a){if(B){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else if(F){if("resize-over-start-point"===O){var l=m+n,c=R?y-a:y+a;j("x0",r.x0=D?l:G(l)),j("y0",r.y0=R?c:Y(c))}else if("resize-over-end-point"===O){var u=x+n,h=R?b-a:b+a;j("x1",r.x1=D?u:G(u)),j("y1",r.y1=R?h:Y(h))}}else{var d=~O.indexOf("n")?k+a:k,N=~O.indexOf("s")?T+a:T,W=~O.indexOf("w")?A+n:A,X=~O.indexOf("e")?M+n:M;~O.indexOf("n")&&R&&(d=k-a),~O.indexOf("s")&&R&&(N=T-a),(!R&&N-d>I||R&&d-N>I)&&(j(S,r[S]=R?d:Y(d)),j(E,r[E]=R?N:Y(N))),X-W>z&&(j(L,r[L]=D?W:G(W)),j(C,r[C]=D?X:G(X)))}e.attr("d",g(t,r)),Q(p,r)}function Q(t,e){(D||R)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=q(D?e.xanchor:a.midRange(r?[e.x0,e.x1]:f.extractPathCoords(e.path,h.paramIsX))),o=H(R?e.yanchor:a.midRange(r?[e.y0,e.y1]:f.extractPathCoords(e.path,h.paramIsY)));if(i=f.roundPositionForSharpStrokeRendering(i,1),o=f.roundPositionForSharpStrokeRendering(o,1),D&&R){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(D){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function $(t){t.selectAll(".visual-cue").remove()}c.init(X),W.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");s.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=i.getFromId(t,e.xref),v=i.getFromId(t,e.yref),m=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return m.l+m.w*t},v?(o=f.shapePositionToRange(v),s=function(t){return v._offset+v.r2p(o(t,!0))}):s=function(t){return m.t+m.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=f.decodeDate(n)),v&&"date"===v.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(h.segmentRE,function(t){var n=0,c=t.charAt(0),u=h.paramIsX[c],f=h.paramIsY[c],p=h.numParams[c],d=t.substr(1).replace(h.paramRE,function(t){return u[n]?t="pixel"===i?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),a.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+u+"L"+c+","+p;if("rect"===d)return"M"+l+","+u+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),T="A"+w+","+k,A=b+w+","+_;return"M"+A+T+" 0 1,1 "+(b+","+(_-k))+T+" 0 0,1 "+A+"Z"}function v(t,e,r){return t.replace(h.segmentRE,function(t){var n=0,a=t.charAt(0),i=h.paramIsX[a],o=h.paramIsY[a],s=h.numParams[a];return a+t.substr(1).replace(h.paramRE,function(t){return n>=s?t:(i[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var a=0;a<e.shapes.length;a++)e.shapes[a].visible&&p(t,a)},drawOne:p}},{"../../lib":716,"../../lib/setcursor":736,"../../plot_api/plot_template":754,"../../plots/cartesian/axes":764,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":668,"./helpers":671}],671:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib");r.rangeToShapePosition=function(t){return"log"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return"log"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace("_"," ")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(" ","_")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach(function(t){var i=e[t.charAt(0)].drawn;if(void 0!==i){var o=t.substr(1).match(n.paramRE);!o||o.length<i||r.push(a.cleanNumber(o[i]))}}),r},r.getDataToPixel=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);a=function(t){return e._offset+e.r2p(o(t,!0))},"date"===e.type&&(a=r.decodeDate(a))}else a=n?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return a},r.getPixelToData=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);a=function(t){return o(e.p2r(t-e._offset))}}else a=n?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return a},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n}},{"../../lib":716,"./constants":668}],672:[function(t,e,r){"use strict";var n=t("./draw");e.exports={moduleType:"component",name:"shapes",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("shapes"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne}},{"../../plots/cartesian/include_components":774,"./attributes":666,"./calc_autorange":667,"./defaults":669,"./draw":670}],673:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/pad_attributes"),i=t("../../lib/extend").extendDeepAll,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/animation_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=t("./constants"),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:i(a({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/animation_attributes":759,"../../plots/font_attributes":790,"../../plots/pad_attributes":824,"./constants":674}],674:[function(t,e,r){"use strict";e.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],675:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.steps;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=a(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o("visible")){e._stepCount=l;var h=e._visibleSteps=n.filterVisible(s);(s[o("active")]||{}).visible||(e.active=h[0]._index),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("len"),o("lenmode"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("currentvalue.visible")&&(o("currentvalue.xanchor"),o("currentvalue.prefix"),o("currentvalue.suffix"),o("currentvalue.offset"),n.coerceFont(o,"currentvalue.font",e.font)),o("transition.duration"),o("transition.easing"),o("bgcolor"),o("activebgcolor"),o("bordercolor"),o("borderwidth"),o("ticklen"),o("tickwidth"),o("tickcolor"),o("minorticklen")}}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}if("skip"===t.method||Array.isArray(t.args)?r("visible"):e.visible=!1){r("method"),r("args");var a=r("label","step-"+e._index);r("value",a),r("execute")}}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"./attributes":673,"./constants":674}],676:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("./constants"),h=t("../../constants/alignment"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR;function g(t){return u.autoMarginIdRoot+t._index}function v(t){return t._index}function m(t,e){var r=o.tester.selectAll("g."+u.labelGroupClass).data(e._visibleSteps);r.enter().append("g").classed(u.labelGroupClass,!0);var i=0,c=0;r.each(function(t){var r=b(n.select(this),{step:t},e).node();if(r){var a=o.bBox(r);c=Math.max(c,a.height),i=Math.max(i,a.width)}}),r.remove();var h=e._dims={};h.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var f=t._fullLayout._size;h.lx=f.l+f.w*e.x,h.ly=f.t+f.h*(1-e.y),"fraction"===e.lenmode?h.outerLength=Math.round(f.w*e.len):h.outerLength=e.len,h.inputAreaStart=0,h.inputAreaLength=Math.round(h.outerLength-e.pad.l-e.pad.r);var v=(h.inputAreaLength-2*u.stepInset)/(e._stepCount-1),m=i+u.labelPadding;if(h.labelStride=Math.max(1,Math.ceil(m/v)),h.labelHeight=c,h.currentValueMaxWidth=0,h.currentValueHeight=0,h.currentValueTotalHeight=0,h.currentValueMaxLines=1,e.currentvalue.visible){var x=o.tester.append("g");r.each(function(t){var r=y(x,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},a=l.lineCount(r);h.currentValueMaxWidth=Math.max(h.currentValueMaxWidth,Math.ceil(n.width)),h.currentValueHeight=Math.max(h.currentValueHeight,Math.ceil(n.height)),h.currentValueMaxLines=Math.max(h.currentValueMaxLines,a)}),h.currentValueTotalHeight=h.currentValueHeight+e.currentvalue.offset,x.remove()}h.height=h.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+h.labelHeight+e.pad.t+e.pad.b;var _="left";s.isRightAnchor(e)&&(h.lx-=h.outerLength,_="right"),s.isCenterAnchor(e)&&(h.lx-=h.outerLength/2,_="center");var w="top";s.isBottomAnchor(e)&&(h.ly-=h.height,w="bottom"),s.isMiddleAnchor(e)&&(h.ly-=h.height/2,w="middle"),h.outerLength=Math.ceil(h.outerLength),h.height=Math.ceil(h.height),h.lx=Math.round(h.lx),h.ly=Math.round(h.ly);var k={y:e.y,b:h.height*d[w],t:h.height*p[w]};"fraction"===e.lenmode?(k.l=0,k.xl=e.x-e.len*p[_],k.r=0,k.xr=e.x+e.len*d[_]):(k.x=e.x,k.l=h.outerLength*p[_],k.r=h.outerLength*d[_]),a.autoMargin(t,g(e),k)}function y(t,e,r){if(e.currentvalue.visible){var n,a,i=e._dims;switch(e.currentvalue.xanchor){case"right":n=i.inputAreaLength-u.currentValueInset-i.currentValueMaxWidth,a="left";break;case"center":n=.5*i.inputAreaLength,a="middle";break;default:n=u.currentValueInset,a="left"}var c=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":a,"data-notex":1})}),h=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)h+=r;else{var p=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(p=s.templateString(p,d)),h+=p}e.currentvalue.suffix&&(h+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(h).call(l.convertToTspans,e._gd);var g=l.lineCount(c),v=(i.currentValueMaxLines+1-g)*e.currentvalue.font.size*f;return l.positionText(c,n,v),c}}function x(t,e,r){s.ensureSingle(t,"rect",u.gripRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")}).attr({width:u.gripWidth,height:u.gripHeight,rx:u.gripRadius,ry:u.gripRadius}).call(i.stroke,r.bordercolor).call(i.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function b(t,e,r){var n=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"middle","data-notex":1})}),a=e.step.label,i=r._gd._fullLayout._meta;return i&&(a=s.templateString(a,i)),n.call(o.font,r.font).text(a).call(l.convertToTspans,r._gd),n}function _(t,e){var r=s.ensureSingle(t,"g",u.labelsClass),a=e._dims,i=r.selectAll("g."+u.labelGroupClass).data(a.labelSteps);i.enter().append("g").classed(u.labelGroupClass,!0),i.exit().remove(),i.each(function(t){var r=n.select(this);r.call(b,t,e),o.setTranslate(r,S(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*f+u.labelOffset+a.currentValueTotalHeight)})}function w(t,e,r,n,a){var i=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[i]._index;o!==r.active&&k(t,e,r,o,!0,a)}function k(t,e,r,n,i,o){var s=r.active;r.active=n,c(t.layout,u.name,r).applyUpdate("active",n);var l=r.steps[r.active];e.call(M,r,o),e.call(y,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:i,previousActive:s}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:i,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&a.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function T(t,e,r){var a=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+u.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(i.fill,t.activebgcolor);var c=E(t,n.mouse(a)[0]);w(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",function(){var t=s(),i=E(t,n.mouse(a)[0]);w(e,r,t,i,!1)}),o.on("mouseup",function(){var t=s();t._dragging=!1,l.call(i.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})})})}function A(t,e){var r=t.selectAll("rect."+u.tickRectClass).data(e._visibleSteps),a=e._dims;r.enter().append("rect").classed(u.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each(function(t,r){var s=r%a.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(i.fill,e.tickcolor),o.setTranslate(l,S(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+a.currentValueTotalHeight)})}function M(t,e,r){for(var n=t.select("rect."+u.gripRectClass),a=0,i=0;i<e._stepCount;i++)if(e._visibleSteps[i]._index===e.active){a=i;break}var o=S(e,a/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform","translate("+(o-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function S(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function E(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,a=s.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")});a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function C(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,a=s.ensureSingle(t,"rect",u.railRectClass);a.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(a,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],a=0;a<r.length;a++){var i=r[a];i.visible&&(i._gd=e,n.push(i))}return n}(e,t),i=e._infolayer.selectAll("g."+u.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,g(e))}if(i.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),i.exit().each(function(){n.select(this).selectAll("g."+u.groupClassName).each(s)}).remove(),0!==r.length){var l=i.selectAll("g."+u.groupClassName).data(r,v);l.enter().append("g").classed(u.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var h=r[c];m(t,h)}l.each(function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),a.manageCommandObserver(t,e,e._visibleSteps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||k(t,r,n,e.index,!1,!0))}),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(y,r).call(C,r).call(_,r).call(A,r).call(L,t,r).call(x,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(M,r,!1),e.call(y,r)}(t,n.select(this),e)})}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/plots":825,"../color":591,"../drawing":612,"./constants":674,d3:164}],677:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":673,"./constants":674,"./defaults":675,"./draw":676}],678:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../drawing"),c=t("../color"),u=t("../../lib/svg_text_utils"),h=t("../../constants/interactions"),f=t("../../constants/alignment").OPPOSITE_SIDE,p=/ [XY][0-9]* /;e.exports={draw:function(t,e,r){var d,g=r.propContainer,v=r.propName,m=r.placeholder,y=r.traceIndex,x=r.avoid||{},b=r.attributes,_=r.transform,w=r.containerGroup,k=t._fullLayout,T=1,A=!1,M=g.title,S=(M&&M.text?M.text:"").trim(),E=M&&M.font?M.font:{},L=E.family,C=E.size,P=E.color;"title.text"===v?d="titleText":-1!==v.indexOf("axis")?d="axisTitleText":v.indexOf(!0)&&(d="colorbarTitleText");var O=t._context.edits[d];""===S?T=0:S.replace(p," % ")===m.replace(p," % ")&&(T=.2,A=!0,O||(S="")),r._meta?S=s.templateString(S,r._meta):k._meta&&(S=s.templateString(S,k._meta));var z=S||O;w||(w=s.ensureSingle(k._infolayer,"g","g-"+e));var I=w.selectAll("text").data(z?[0]:[]);if(I.enter().append("text"),I.text(S).attr("class",e),I.exit().remove(),!z)return w;function D(t){s.syncOrAsync([R,F],t)}function R(e){var r;return _?(r="",_.rotate&&(r+="rotate("+[_.rotate,b.x,b.y]+")"),_.offset&&(r+="translate(0, "+_.offset+")")):r=null,e.attr("transform",r),e.style({"font-family":L,"font-size":n.round(C,2)+"px",fill:c.rgb(P),opacity:T*c.opacity(P),"font-weight":i.fontWeight}).attr(b).call(u.convertToTspans,t),i.previousPromises(t)}function F(t){var e=n.select(t.node().parentNode);if(x&&x.selection&&x.side&&S){e.attr("transform",null);var r=f[x.side],i="left"===x.side||"top"===x.side?-1:1,o=a(x.pad)?x.pad:2,c=l.bBox(e.node()),u={left:0,top:0,right:k.width,bottom:k.height},h=x.maxShift||i*(u[x.side]-c[x.side]),p=0;if(h<0)p=h;else{var d=x.offsetLeft||0,g=x.offsetTop||0;c.left-=d,c.right-=d,c.top-=g,c.bottom-=g,x.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(c,t,o)&&(p=Math.max(p,i*(t[x.side]-c[r])+o))}),p=Math.min(h,p)}if(p>0||h<0){var v={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr("transform","translate("+v+")")}}}return I.call(D),O&&(S?I.on(".opacity",null):(T=0,A=!0,I.text(m).on("mouseover.opacity",function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)})),I.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==y?o.call("_guiRestyle",t,v,e,y):o.call("_guiRelayout",t,v,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(D)}).on("input",function(t){this.text(t||" ").call(u.positionText,b.x,b.y)})),I.classed("js-placeholder",A),w}}},{"../../constants/alignment":685,"../../constants/interactions":691,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../drawing":612,d3:164,"fast-isnumeric":227}],679:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:i(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:a.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/font_attributes":790,"../../plots/pad_attributes":824,"../color/attributes":590}],680:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:"  "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],681:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.buttons;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o("visible",a(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"./attributes":679,"./constants":680}],682:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,h=t("./constants"),f=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?m(t,n,null,null,e):"dropdown"===e.type&&(a.attr(h.menuIndexAttrName,"-1"),v(t,n,a,i,e),s||m(t,n,a,i,e))}function v(t,e,r,n,a){var i=s.ensureSingle(e,"g",h.headerClassName,function(t){t.style("pointer-events","all")}),l=a._dims,c=a.active,u=a.buttons[c]||h.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};i.call(y,a,u,t).call(M,a,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,a.font).text(h.arrowSymbol[a.direction])}).attr({x:l.headerWidth-h.arrowOffsetX+a.pad.l,y:l.headerHeight/2+h.textOffsetY+a.pad.t}),i.on("click",function(){r.call(S,String(d(r,a)?-1:a._index)),m(t,e,r,n,a)}),i.on("mouseover",function(){i.call(w)}),i.on("mouseout",function(){i.call(k,a)}),o.setTranslate(e,l.lx,l.ly)}function m(t,e,r,i,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,v=0,m=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?v=m.headerHeight+h.gapButtonHeader:d=m.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-h.gapButtonHeader+h.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-m.openWidth);var b={x:m.lx+d+o.pad.l,y:m.ly+v+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},T={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on("click",function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,i,-1),a.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,i,l),a.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))}),c.on("mouseover",function(){c.call(w)}),c.on("mouseout",function(){c.call(k,o),u.call(_,o)})}),u.call(_,o),x?(T.w=Math.max(m.openWidth,m.headerWidth),T.h=b.y-T.t):(T.w=b.x-T.l,T.h=Math.max(m.openHeight,m.headerHeight)),T.direction=o.direction,i&&(u.size()?function(t,e,r,n,a,i){var o,s,l,c=a.direction,u="up"===c||"down"===c,f=a._dims,p=a.active;if(u)for(s=0,l=0;l<p;l++)s+=f.heights[l]+h.gapButton;else for(o=0,l=0;l<p;l++)o+=f.widths[l]+h.gapButton;n.enable(i,o,s),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1");n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}(0,0,0,i,o,T):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr("opacity","0").each("end",function(){e=!1,r||t.disable()});r&&t.vbar.transition().attr("opacity","0").each("end",function(){r=!1,e||t.disable()})}(i))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,"rect",h.itemRectClassName,function(t){t.attr({rx:h.rx,ry:h.ry,"shape-rendering":"crispEdges"})}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var a=s.ensureSingle(t,"text",h.itemTextClassName,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"start","data-notex":1})}),i=r.label,c=n._fullLayout._meta;c&&(i=s.templateString(i,c)),a.call(o.font,e.font).text(i).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each(function(t,a){var o=n.select(this);a===r&&e.showactive&&o.select("rect."+h.itemRectClassName).call(i.fill,h.activeColor)})}function w(t){t.select("rect."+h.itemRectClassName).call(i.fill,h.hoverColor)}function k(t,e){t.select("rect."+h.itemRectClassName).call(i.fill,e.bgcolor)}function T(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=o.tester.selectAll("g."+h.dropdownButtonClassName).data(s.filterVisible(e.buttons));i.enter().append("g").classed(h.dropdownButtonClassName,!0);var c=-1!==["up","down"].indexOf(e.direction);i.each(function(a,i){var s=n.select(this);s.call(y,e,a,t);var f=s.select("."+h.itemTextClassName),p=f.node()&&o.bBox(f.node()).width,d=Math.max(p+h.textPadX,h.minWidth),g=e.font.size*u,v=l.lineCount(f),m=Math.max(g*v,h.minHeight)+h.textOffsetY;m=Math.ceil(m),d=Math.ceil(d),r.widths[i]=d,r.heights[i]=m,r.height1=Math.max(r.height1,m),r.width1=Math.max(r.width1,d),c?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=m+h.gapButton,r.openHeight+=m+h.gapButton):(r.totalWidth+=d+h.gapButton,r.openWidth+=d+h.gapButton,r.totalHeight=Math.max(r.totalHeight,m),r.openHeight=r.totalHeight)}),c?r.totalHeight-=h.gapButton:r.totalWidth-=h.gapButton,r.headerWidth=r.width1+h.arrowPadX,r.headerHeight=r.height1,"dropdown"===e.type&&(c?(r.width1+=h.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=h.arrowPadX),i.remove();var f=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var g="left";s.isRightAnchor(e)&&(r.lx-=f,g="right"),s.isCenterAnchor(e)&&(r.lx-=f/2,g="center");var v="top";s.isBottomAnchor(e)&&(r.ly-=p,v="bottom"),s.isMiddleAnchor(e)&&(r.ly-=p/2,v="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),a.autoMargin(t,A(e),{x:e.x,y:e.y,l:f*({right:1,center:.5}[g]||0),r:f*({left:1,center:.5}[g]||0),b:p*({top:1,middle:.5}[v]||0),t:p*({bottom:1,middle:.5}[v]||0)})}function A(t){return h.autoMarginIdRoot+t._index}function M(t,e,r,n){n=n||{};var a=t.select("."+h.itemRectClassName),i=t.select("."+h.itemTextClassName),s=e.borderwidth,c=r.index,f=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==["up","down"].indexOf(e.direction),d=n.height||(p?f.heights[c]:f.height1);a.attr({x:0,y:0,width:n.width||(p?f.width1:f.widths[c]),height:d});var g=e.font.size*u,v=(l.lineCount(i)-1)*g/2;l.positionText(i,h.textOffsetX,d/2-v+h.textOffsetY),p?r.y+=f.heights[c]+r.yPad:r.x+=f.widths[c]+r.xPad,r.index++}function S(t,e){t.attr(h.menuIndexAttrName,e||"-1").selectAll("g."+h.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[h.name]);function i(e){a.autoMargin(t,A(e))}var o=e._menulayer.selectAll("g."+h.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each(function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(i)}).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,p);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,function(t){t.style("pointer-events","all")}),u=0;u<r.length;u++){var y=r[u];T(t,y)}var x="updatemenus"+e._uid,b=new f(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(S)),l.exit().each(function(t){c.call(S),i(t)}).remove(),l.each(function(e){var r=n.select(this),i="dropdown"===e.type?c:null;a.manageCommandObserver(t,e,e.buttons,function(n){g(t,e,e.buttons[n.index],r,i,b,n.index,!0)}),"dropdown"===e.type?(v(t,r,c,b,e),d(c,e)&&m(t,r,c,b,e)):m(t,r,null,null,e)})}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/plots":825,"../color":591,"../drawing":612,"./constants":680,"./scrollbox":684,d3:164}],683:[function(t,e,r){arguments[4][677][0].apply(r,arguments)},{"./attributes":679,"./constants":680,"./defaults":681,"./draw":682,dup:677}],684:[function(t,e,r){"use strict";e.exports=s;var n=t("d3"),a=t("../color"),i=t("../drawing"),o=t("../../lib");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor="#808BA4",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,h,f,p,d=this.position.l,g=this.position.w,v=this.position.t,m=this.position.h,y=this.position.direction,x="down"===y,b="left"===y,_="up"===y,w=g,k=m;x||b||"right"===y||_||(this.position.direction="down",x=!0),x||_?(h=(u=d)+w,x?(f=v,k=(p=Math.min(f+k,c))-f):k=(p=v+k)-(f=Math.max(p-k,0))):(p=(f=v)+k,b?w=(h=d+w)-(u=Math.max(h-w,0)):(u=d,w=(h=Math.min(u+w,l))-u)),this._box={l:u,t:f,w:w,h:k};var T=g>w,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=v+m;E+M>c&&(E=c-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(a.fill,s.barColor),T?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=m>k,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,z=d+g,I=v;z+P>l&&(z=l-P);var D=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(a.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:I,width:P,height:O}),this._vbarYMin=I+O/2,this._vbarTranslateMax=k-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=C?h+P+.5:h+.5,N=f-.5,j=T?p+M+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(T||C?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),T||C?(this._clipRect=V.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:v,width:g,height:m})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||C){var U=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,s=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,s)-i)/(s-i)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(i.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(i.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":716,"../color":591,"../drawing":612,d3:164}],685:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],686:[function(t,e,r){"use strict";e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25b2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25bc"}}},{}],687:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format"}},{}],688:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],689:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],690:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],691:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],692:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],693:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],694:[function(t,e,r){"use strict";r.version="1.51.2",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),a=r.register=n.register,i=t("./plot_api"),o=Object.keys(i),s=0;s<o.length;s++){var l=o[s];"_"!==l.charAt(0)&&(r[l]=i[l]),a({moduleType:"apiMethod",name:l,fn:i[l]})}a(t("./traces/scatter")),a([t("./components/fx"),t("./components/legend"),t("./components/annotations"),t("./components/annotations3d"),t("./components/shapes"),t("./components/images"),t("./components/updatemenus"),t("./components/sliders"),t("./components/rangeslider"),t("./components/rangeselector"),t("./components/grid"),t("./components/errorbars"),t("./components/colorscale"),t("./components/colorbar")]),a([t("./locale-en"),t("./locale-en-us")]),r.Icons=t("./fonts/ploticon"),r.Plots=t("./plots/plots"),r.Fx=t("./components/fx"),r.Snapshot=t("./snapshot"),r.PlotSchema=t("./plot_api/plot_schema"),r.Queue=t("./lib/queue"),r.d3=t("d3")},{"../build/plotcss":1,"./components/annotations":582,"./components/annotations3d":587,"./components/colorbar":597,"./components/colorscale":603,"./components/errorbars":618,"./components/fx":629,"./components/grid":633,"./components/images":638,"./components/legend":646,"./components/rangeselector":657,"./components/rangeslider":664,"./components/shapes":672,"./components/sliders":677,"./components/updatemenus":683,"./fonts/mathjax_config":695,"./fonts/ploticon":696,"./lib/queue":731,"./locale-en":745,"./locale-en-us":744,"./plot_api":749,"./plot_api/plot_schema":753,"./plots/plots":825,"./registry":845,"./snapshot":850,"./traces/scatter":1130,d3:164,"es6-promise":220}],695:[function(t,e,r){"use strict";e.exports=function(){"undefined"!=typeof MathJax&&("local"!==(window.PlotlyConfig||{}).MathJaxConfig&&(MathJax.Hub.Config({messageStyle:"none",skipStartupTypeset:!0,displayAlign:"left",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}}),MathJax.Hub.Configured()))}},{}],696:[function(t,e,r){"use strict";e.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #119dff;} .cls-2 {fill: #25fefd;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>"}}},{}],697:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],698:[function(t,e,r){"use strict";var n=t("./mod"),a=n.mod,i=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return i(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=a(r,s))>(n=a(n,s))&&(n+=s);var i=a(t,s),o=i+s;return i>=r&&i<=n||o>=r&&o<=n}function h(t,e,r,n,a,i,c){a=a||0,i=i||0;var u,h,f,p,d,g=l([r,n]);function v(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(u=0,h=o,f=s):r<n?(u=r,f=n):(u=n,f=r),t<e?(p=t,d=e):(p=e,d=t);var m,y=Math.abs(f-u)<=o?0:1;function x(t,e,r){return"A"+[t,t]+" "+[0,y,r]+" "+v(t,e)}return g?m=null===p?"M"+v(d,u)+x(d,h,0)+x(d,f,0)+"Z":"M"+v(p,u)+x(p,h,0)+x(p,f,0)+"ZM"+v(d,u)+x(d,h,1)+x(d,f,1)+"Z":null===p?(m="M"+v(d,u)+x(d,f,0),c&&(m+="L0,0Z")):m="M"+v(p,u)+"L"+v(d,u)+x(d,f,0)+"L"+v(p,f)+x(p,u,1)+"Z",m}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(a=r[0],i=r[1]):(a=r[1],i=r[0]),t>=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return h(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return h(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return h(t,e,r,n,a,i,1)}}},{"./mod":723}],699:[function(t,e,r){"use strict";var n=Array.isArray,a="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,a=0;a<t.length;a++)n=e(n,t[a].length);return n}return t.length}return 0}r.isTypedArray=o,r.isArrayOrTypedArray=s,r.isArray1D=function(t){return!s(t[0])},r.ensureArray=function(t,e){return n(t)||(t=[]),t.length=e,t},r.concat=function(){var t,e,r,a,i,o,s,l,c=[],u=!0,h=0;for(r=0;r<arguments.length;r++)(o=(a=arguments[r]).length)&&(e?c.push(a):(e=a,i=o),n(a)?t=!1:(u=!1,h?t!==a.constructor&&(t=!1):t=a.constructor),h+=o);if(!h)return[];if(!c.length)return e;if(u)return e.concat.apply(e,c);if(t){for((s=new t(h)).set(e),r=0;r<c.length;r++)a=c[r],s.set(a,i),i+=a.length;return s}for(s=new Array(h),l=0;l<e.length;l++)s[l]=e[l];for(r=0;r<c.length;r++){for(a=c[r],l=0;l<a.length;l++)s[i+l]=a[l];i+=l}return s},r.maxRowLength=function(t){return l(t,Math.max,0)},r.minRowLength=function(t){return l(t,Math.min,1/0)}},{}],700:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../constants/numerical").BADNUM,i=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(i,"")),n(t)?Number(t):a}},{"../constants/numerical":692,"fast-isnumeric":227}],701:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],702:[function(t,e,r){"use strict";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],703:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("../plots/attributes"),o=t("../components/colorscale/scales"),s=t("../constants/interactions").DESELECTDIM,l=t("./nested_property"),c=t("./regex").counter,u=t("./mod").modHalf,h=t("./array").isArrayOrTypedArray;function f(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&h(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var a={},i=a,o={set:function(t){i=t}};return n.coerceFunction(t,o,a,e),i!==a}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){h(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var a=String(r[n]);if("/"===a.charAt(0)&&"/"===a.charAt(a.length-1)){if(new RegExp(a.substr(1,a.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,a){!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var a="number"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return a(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var a=n.regex||c(r);"string"==typeof t&&a.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var a=t.split("+"),i=0;i<a.length;){var o=a[i];-1===n.flags.indexOf(o)||a.indexOf(o)<i?a.splice(i,1):i++}a.length?e.set(a.join("+")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,a){function i(t,e,n){var a,i={set:function(t){a=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,i,n,e),a}var o=2===a.dimensions||"1-2"===a.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,h,f,p=a.items,d=[],g=Array.isArray(p),v=g&&o&&Array.isArray(p[0]),m=o&&g&&!v,y=g&&!m?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],h=m?p.length:g?p[s].length:c.length,l=0;l<h;l++)u=m?p[l]:g?p[s][l]:p,void 0!==(f=i(c[l],u,(n[s]||[])[l]))&&(d[s][l]=f);else for(s=0;s<y;s++)void 0!==(f=i(t[s],g?p[s]:p,n[s]))&&(d[s]=f);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),a=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var i=0;i<t.length;i++)if(a){if(!Array.isArray(t[i])||!e.freeLength&&t[i].length!==r[i].length)return!1;for(var o=0;o<t[i].length;o++)if(!f(t[i][o],n?r[i][o]:r))return!1}else if(!f(t[i],n?r[i]:r))return!1;return!0}}},r.coerce=function(t,e,n,a,i){var o=l(n,a).get(),s=l(t,a),c=l(e,a),u=s.get(),p=e._template;if(void 0===u&&p&&(u=l(p,a).get(),p=0),void 0===i&&(i=o.dflt),o.arrayOk&&h(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,i,o);var g=c.get();return p&&g===i&&!f(u,o)&&(d(u=l(p,a).get(),c,i,o),g=c.get()),g},r.coerce2=function(t,e,n,a,i){var o=l(t,a),s=r.coerce(t,e,n,a,i),c=o.get();return null!=c&&s},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+".family",r.family),n.size=t(e+".size",r.size),n.color=t(e+".color",r.color),n},r.coerceHoverinfo=function(t,e,n){var a,o=e._module.attributes,s=o.hoverinfo?o:i,l=s.hoverinfo;if(1===n._dataLength){var c="all"===l.dflt?l.flags.slice():l.dflt.split("+");c.splice(c.indexOf("name"),1),a=c.join("+")}return r.coerce(t,e,s,"hoverinfo",a)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,a=t.marker.opacity;if(void 0!==a)h(a)||t.selected||t.unselected||(r=a,n=s*a),e("selected.marker.opacity",r),e("unselected.marker.opacity",n)}},r.validate=f},{"../components/colorscale/scales":606,"../constants/interactions":691,"../plots/attributes":761,"./array":699,"./mod":723,"./nested_property":724,"./regex":732,"fast-isnumeric":227,tinycolor2:535}],704:[function(t,e,r){"use strict";var n,a,i=t("d3"),o=t("fast-isnumeric"),s=t("./loggers"),l=t("./mod").mod,c=t("../constants/numerical"),u=c.BADNUM,h=c.ONEDAY,f=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,v=t("../registry"),m=i.time.format.utc,y=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,x=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&v.componentsRegistry.calendars&&"string"==typeof t&&"gregorian"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){return _(t)?e?v.getComponentMethod("calendars","CANONICAL_SUNDAY")[t]:v.getComponentMethod("calendars","CANONICAL_TICK")[t]:e?"2000-01-02":"2000-01-01"},r.dfltRange=function(t){return _(t)?v.getComponentMethod("calendars","DFLTRANGE")[t]:["2000-01-01","2001-01-01"]},r.isJSDate=function(t){return"object"==typeof t&&null!==t&&"function"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var i=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;i=i-s/2+l(o-i+s/2,s)}return(t=Number(t)-i)>=n&&t<=a?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),m=t.charAt(0);!c||"G"!==m&&"g"!==m||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var T=k[1],A=k[3]||"1",M=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),L=Number(k[11]||0);if(c){if(2===T.length)return u;var C;T=Number(T);try{var P=v.getComponentMethod("calendars","getCal")(e);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(T,P.toMonthIndex(T,A,O),M)}else C=P.newDate(T,Number(A),M)}catch(t){return u}return C?(C.toJD()-g)*h+S*f+E*p+L*d:u}T=2===T.length?(Number(T)+2e3-b)%100+b:Number(T),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(T),z.getUTCMonth()!==A?u:z.getUTCDate()!==M?u:z.getTime()+L*d},n=r.MIN_MS=r.dateTime2ms("-9999"),a=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*h,T=3*f,A=5*p;function M(t,e,r,n,a){if((e||r||n||a)&&(t+=" "+w(e,2)+":"+w(r,2),(n||a)&&(t+=":"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+="."+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=a))return u;e||(e=0);var i,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/h)+g,E=Math.floor(l(t,h));try{i=v.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){i=m("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=e<k?Math.floor(E/f):0,s=e<k?Math.floor(E%f/p):0,c=e<T?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),i=m("%Y-%m-%d")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<T?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return M(i,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+h&&t<=a-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(i.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var a=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(a)}var L=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if("y"===r)e=i.year;else if("m"===r)e=i.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var a=(100+Math.min(l(t/d,60),L[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(t,r)+"\n"+E(i.dayMonthYear,t,n,a);e=i.dayMonth+"\n"+i.year}return E(e,t,n,a)};var C=3*h;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var a=Math.round(t/h)+g,i=v.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return e%12?i.add(o,e,"m"):i.add(o,e/12,"y"),(o.toJD()-g)*h+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+C);return c.setUTCMonth(c.getUTCMonth()+e)+n-C},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,s=0,l=0,c=_(e)&&v.getComponentMethod("calendars","getCal")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%h))if(c)try{1===(r=c.fromJD(n/h+g)).day()?1===r.month()?a++:i++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?a++:i++:s++}else l++;s+=i+=a;var f=t.length-l;return{exactYears:a/f,exactMonths:i/f,exactDays:s/f}}},{"../constants/numerical":692,"../registry":845,"./loggers":720,"./mod":723,d3:164,"fast-isnumeric":227}],705:[function(t,e,r){"use strict";var n=t("d3"),a=t("./loggers");function i(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function o(t,e,r){var n="plotly.js-style-"+t,i=document.getElementById(n);i||((i=document.createElement("style")).setAttribute("id",n),i.appendChild(document.createTextNode("")),document.head.appendChild(i));var o=i.sheet;o.insertRule?o.insertRule(e+"{"+r+"}",0):o.addRule?o.addRule(e,r,0):a.warn("addStyleRule failed")}e.exports={getGraphDiv:function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null==t)throw new Error("DOM element provided is null or undefined");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed("js-plotly-plot")},removeElement:i,addStyleRule:function(t,e){o("global",t,e)},addRelatedStyleRule:o,deleteRelatedStyleRule:function(t){var e="plotly.js-style-"+t,r=document.getElementById(e);r&&i(r)}}},{"./loggers":720,d3:164}],706:[function(t,e,r){"use strict";var n=t("events").EventEmitter,a={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,a){"undefined"!=typeof jQuery&&jQuery(t).trigger(n,a),e.emit(n,a),r.emit(n,a)},t},triggerHandler:function(t,e,r){var n,a;"undefined"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var i=t._ev;if(!i)return n;var o,s=i._events[e];if(!s)return n;function l(t){return t.listener?(i.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(i,[r]))):t.apply(i,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return a=l(s[o]),void 0!==n?n:a},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=a},{events:105}],707:[function(t,e,r){"use strict";var n=t("./is_plain_object.js"),a=Array.isArray;function i(t,e,r,o){var s,l,c,u,h,f,p=t[0],d=t.length;if(2===d&&a(p)&&a(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&"object"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&a(u)?p[l]=u:e&&u&&(n(u)||(h=a(u)))?(h?(h=!1,f=c&&a(c)?c:[]):f=c&&n(c)?c:{},p[l]=i([f,u],e,r,o)):("undefined"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return i(arguments,!1,!1,!1)},r.extendDeep=function(){return i(arguments,!0,!1,!1)},r.extendDeepAll=function(){return i(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return i(arguments,!0,!1,!0)}},{"./is_plain_object.js":717}],708:[function(t,e,r){"use strict";e.exports=function(t){for(var e={},r=[],n=0,a=0;a<t.length;a++){var i=t[a];1!==e[i]&&(e[i]=1,r[n++]=i)}return r}},{}],709:[function(t,e,r){"use strict";function n(t){return!0===t.visible}function a(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?a:n),i=[],o=0;o<t.length;o++){var s=t[o];r(s)&&i.push(s)}return i}},{}],710:[function(t,e,r){"use strict";var n=t("country-regex"),a=t("../lib"),i=Object.keys(n),o={"ISO-3":a.identity,"USA-states":a.identity,"country names":function(t){for(var e=0;e<i.length;e++){var r=i[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return a.log("Unrecognized country name: "+t+"."),!1}};e.exports={locationToFeature:function(t,e,r){if(!e||"string"!=typeof e)return!1;var n,i,s,l=o[t](e);if(l){if("USA-states"===t)for(n=[],s=0;s<r.length;s++)(i=r[s]).properties&&i.properties.gu&&"USA"===i.properties.gu&&n.push(i);else n=r;for(s=0;s<n.length;s++)if((i=n[s]).id===l)return i;a.log(["Location with id",l,"does not have a matching topojson feature at this resolution."].join(" "))}return!1}}},{"../lib":716,"country-regex":135}],711:[function(t,e,r){"use strict";var n=t("../constants/numerical").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],a=[],i=0;i<t.length;i++){var o=t[i].lonlat;o[0]!==n?a.push(o):!e&&a.length>0&&(r.push(a),a=[])}return a.length>0&&r.push(a),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:"MultiPolygon",coordinates:e}},r.makeBlank=function(){return{type:"Point",coordinates:[]}}},{"../constants/numerical":692}],712:[function(t,e,r){"use strict";var n,a,i,o=t("./mod").mod;function s(t,e,r,n,a,i,o,s){var l=r-t,c=a-t,u=o-a,h=n-e,f=i-e,p=s-i,d=l*p-u*h;if(0===d)return null;var g=(c*p-u*f)/d,v=(c*h-l*f)/d;return v<0||v>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function l(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,s=a-e;return o*o+s*s}var l=n*e-a*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,a,i,o,c){if(s(t,e,r,n,a,i,o,c))return 0;var u=r-t,h=n-e,f=o-a,p=c-i,d=u*u+h*h,g=f*f+p*p,v=Math.min(l(u,h,d,a-t,i-e),l(u,h,d,o-t,c-e),l(f,p,g,t-a,e-i),l(f,p,g,r-a,n-i));return Math.sqrt(v)},r.getTextLocation=function(t,e,r,s){if(t===a&&s===i||(n={},a=t,i=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(a=r);var c=r.x<i?i-r.x:r.x>o?r.x-o:0,h=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<c;){if(a=(f+p)/2,o=(i=t.getPointAtLength(a))[r]-e,Math.abs(o)<l)return i;u*o>0?p=a:f=a,h++}return i}},{"./mod":723}],713:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,c=i(s),u=1;function h(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=i(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,a,s,d,g,v=t.color,m=l(v),y=l(e),x=o.extractOpts(t),b=[];if(n=void 0!==x.colorscale?o.makeColorScaleFuncFromTrace(t):f,a=m?function(t,e){return void 0===t[e]?c:i(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,m||y)for(var _=0;_<r;_++)d=a(v,_),g=s(e,_),b[_]=h(d,g);else b=h(i(v),e);return b},parseColorScale:function(t,e){void 0===e&&(e=1);var r=o.extractOpts(t);return(r.reversescale?o.flipScale(r.colorscale):r.colorscale).map(function(t){var r=t[0],n=a(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}}},{"../components/color/attributes":590,"../components/colorscale":603,"./array":699,"color-normalize":121,"fast-isnumeric":227,tinycolor2:535}],714:[function(t,e,r){"use strict";var n=t("./identity");function a(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:a,descend:n,wrap:a,unwrap:function(t){return t[0]}}},{"./identity":715}],715:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],716:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../constants/numerical"),o=i.FP_SAFE,s=i.BADNUM,l=e.exports={};l.nestedProperty=t("./nested_property"),l.keyedContainer=t("./keyed_container"),l.relativeAttr=t("./relative_attr"),l.isPlainObject=t("./is_plain_object"),l.toLogRange=t("./to_log_range"),l.relinkPrivateKeys=t("./relink_private");var c=t("./array");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D,l.ensureArray=c.ensureArray,l.concat=c.concat,l.maxRowLength=c.maxRowLength,l.minRowLength=c.minRowLength;var u=t("./mod");l.mod=u.mod,l.modHalf=u.modHalf;var h=t("./coerce");l.valObjectMeta=h.valObjectMeta,l.coerce=h.coerce,l.coerce2=h.coerce2,l.coerceFont=h.coerceFont,l.coerceHoverinfo=h.coerceHoverinfo,l.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,l.validate=h.validate;var f=t("./dates");l.dateTime2ms=f.dateTime2ms,l.isDateTime=f.isDateTime,l.ms2DateTime=f.ms2DateTime,l.ms2DateTimeLocal=f.ms2DateTimeLocal,l.cleanDate=f.cleanDate,l.isJSDate=f.isJSDate,l.formatDate=f.formatDate,l.incrementMonth=f.incrementMonth,l.dateTick0=f.dateTick0,l.dfltRange=f.dfltRange,l.findExactDates=f.findExactDates,l.MIN_MS=f.MIN_MS,l.MAX_MS=f.MAX_MS;var p=t("./search");l.findBin=p.findBin,l.sorterAsc=p.sorterAsc,l.sorterDes=p.sorterDes,l.distinctVals=p.distinctVals,l.roundUp=p.roundUp,l.sort=p.sort,l.findIndexOfMin=p.findIndexOfMin;var d=t("./stats");l.aggNums=d.aggNums,l.len=d.len,l.mean=d.mean,l.median=d.median,l.midRange=d.midRange,l.variance=d.variance,l.stdev=d.stdev,l.interp=d.interp;var g=t("./matrix");l.init2dArray=g.init2dArray,l.transposeRagged=g.transposeRagged,l.dot=g.dot,l.translationMatrix=g.translationMatrix,l.rotationMatrix=g.rotationMatrix,l.rotationXYMatrix=g.rotationXYMatrix,l.apply2DTransform=g.apply2DTransform,l.apply2DTransform2=g.apply2DTransform2;var v=t("./angles");l.deg2rad=v.deg2rad,l.rad2deg=v.rad2deg,l.angleDelta=v.angleDelta,l.angleDist=v.angleDist,l.isFullCircle=v.isFullCircle,l.isAngleInsideSector=v.isAngleInsideSector,l.isPtInsideSector=v.isPtInsideSector,l.pathArc=v.pathArc,l.pathSector=v.pathSector,l.pathAnnulus=v.pathAnnulus;var m=t("./anchor_utils");l.isLeftAnchor=m.isLeftAnchor,l.isCenterAnchor=m.isCenterAnchor,l.isRightAnchor=m.isRightAnchor,l.isTopAnchor=m.isTopAnchor,l.isMiddleAnchor=m.isMiddleAnchor,l.isBottomAnchor=m.isBottomAnchor;var y=t("./geometry2d");l.segmentsIntersect=y.segmentsIntersect,l.segmentDistance=y.segmentDistance,l.getTextLocation=y.getTextLocation,l.clearLocationCache=y.clearLocationCache,l.getVisibleSegment=y.getVisibleSegment,l.findPointOnPath=y.findPointOnPath;var x=t("./extend");l.extendFlat=x.extendFlat,l.extendDeep=x.extendDeep,l.extendDeepAll=x.extendDeepAll,l.extendDeepNoArrays=x.extendDeepNoArrays;var b=t("./loggers");l.log=b.log,l.warn=b.warn,l.error=b.error;var _=t("./regex");l.counterRegex=_.counter;var w=t("./throttle");l.throttle=w.throttle,l.throttleDone=w.done,l.clearThrottle=w.clear;var k=t("./dom");function T(t){var e={};for(var r in t)for(var n=t[r],a=0;a<n.length;a++)e[n[a]]=+r;return e}l.getGraphDiv=k.getGraphDiv,l.isPlotDiv=k.isPlotDiv,l.removeElement=k.removeElement,l.addStyleRule=k.addStyleRule,l.addRelatedStyleRule=k.addRelatedStyleRule,l.deleteRelatedStyleRule=k.deleteRelatedStyleRule,l.clearResponsive=t("./clear_responsive"),l.makeTraceGroups=t("./make_trace_groups"),l._=t("./localize"),l.notifier=t("./notifier"),l.filterUnique=t("./filter_unique"),l.filterVisible=t("./filter_visible"),l.pushUnique=t("./push_unique"),l.cleanNumber=t("./clean_number"),l.ensureNumber=function(t){return a(t)?(t=Number(t))<-o||t>o?s:a(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},l.noop=t("./noop"),l.identity=t("./identity"),l.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},l.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var a=0;a<e.length;a++){var i=e[a],o=l.nestedProperty(t,i.replace("?",r)),s=l.nestedProperty(t,i.replace("?",n)),c=o.get();o.set(s.get()),s.set(c)}},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var a=t.length,i=new Array(a),o=0;o<a;o++)i[o]=e(t[o],r,n);return i},l.randstr=function t(e,r,n,a){if(n||(n=16),void 0===r&&(r=24),r<=0)return"0";var i,o,s=Math.log(Math.pow(2,r))/Math.log(n),c="";for(i=2;s===1/0;i*=2)s=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var u=s-Math.floor(s);for(i=0;i<Math.floor(s);i++)c=Math.floor(Math.random()*n).toString(n)+c;u&&(o=Math.pow(n,u),c=Math.floor(Math.random()*o).toString(n)+c);var h=parseInt(c,n);return e&&e[c]||h!==1/0&&h>=Math.pow(2,r)?a>10?(l.warn("randstr failed uniqueness"),c):t(e,r,n,(a||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(i=0,n=0;n<l;n++)(a=r+n+1-e)<-o?a-=s*Math.round(a/s):a>=s&&(a-=s*Math.floor(a/s)),a<0?a=-1-a:a>=o&&(a=s-1-a),i+=t[a]*c[n];u[r]=i}return u},l.syncOrAsync=function(t,e,r){var n;function a(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?a=!0:i=!1;if(a&&!i)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r,n){var a="function"==typeof n;if(l.isArrayOrTypedArray(t))for(var i=Math.min(t.length,e.length),o=0;o<i;o++){var s=t[o];e[o][r]=a?n(s):s}},l.mergeArrayCastPositive=function(t,e,r){return l.mergeArray(t,e,r,function(t){var e=+t;return isFinite(e)&&e>0?e:0})},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var a=0;a<e.length;a++)e[a][r]=n(t[a])},l.castOption=function(t,e,r,n){n=n||l.identity;var a=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(a)?Array.isArray(e)&&l.isArrayOrTypedArray(a[e[0]])?n(a[e[0]][e[1]]):n(a[e]):a},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var a=l.nestedProperty(e,n).get();return Array.isArray(a)?void 0:a},l.tagSelected=function(t,e,r){var n,a,i=e.selectedpoints,o=e._indexToPoints;o&&(n=T(o));for(var s=0;s<i.length;s++){var c=i[s];if(l.isIndex(c)){var u=n?n[c]:c,h=r?r[u]:u;void 0!==(a=h)&&a<t.length&&(t[h].selected=1)}}},l.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=T(r),a=[],i=0;i<e.length;i++){var o=e[i];if(l.isIndex(o)){var s=n[o];l.isIndex(s)&&a.push(s)}}return a}return e},l.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,a,i,o=Object.keys(t);for(n=0;n<o.length;n++)i=t[a=o[n]],"_"!==a.charAt(0)&&"function"!=typeof i&&("module"===a?r[a]=i:Array.isArray(i)?r[a]="colorscale"===a?i.slice():i.slice(0,3):l.isTypedArray(i)?r[a]=i.subarray(0,3):r[a]=i&&"object"==typeof i?l.minExtend(t[a],e[a]):i);for(o=Object.keys(e),n=0;n<o.length;n++)"object"==typeof(i=e[a=o[n]])&&a in r&&"object"==typeof r[a]||(r[a]=i);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isIE=function(){return"undefined"!=typeof window.navigator.msSaveBlob};var A=/MSIE [1-9]\./;l.isIE9orBelow=function(){return l.isIE()&&A.test(window.navigator.userAgent)};var M=/Version\/[\d\.]+.*Safari/;l.isSafari=function(){return M.test(window.navigator.userAgent)},l.isD3Selection=function(t){return t&&"function"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var a=t.select(e+(r?"."+r:""));if(a.size())return a;var i=t.append(e);return r&&i.classed(r,!0),n&&i.call(n),i},l.ensureSingleById=function(t,e,r,n){var a=t.select(e+"#"+r);if(a.size())return a;var i=t.append(e).attr("id",r);return n&&i.call(n),i},l.objectFromPath=function(t,e){for(var r,n=t.split("."),a=r={},i=0;i<n.length;i++){var o=n[i],s=null,l=n[i].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],r=r[o]=[],i===n.length-1?r[s]=e:r[s]={},r=r[s]):(i===n.length-1?r[o]=e:r[o]={},r=r[o])}return a};var S=/^([^\[\.]+)\.(.+)?/,E=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,a,i,o,s;if("object"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(S))?(a=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(a))[n])):(e=r.match(E))?(a=t[r],n=e[1],i=parseInt(e[2]),delete t[r],t[n]=t[n]||[],"."===e[3]?(s=e[4],o=t[n][i]=t[n][i]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(a)))):t[n][i]=l.expandObjectPaths(a)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),"string"!=typeof e||0===e.length)throw new Error("Separator string required for formatting!");"number"==typeof t&&(t=String(t));var n=/(\d+)(\d{3})/,a=e.charAt(0),i=e.charAt(1),o=t.split("."),s=o[0],l=o.length>1?a+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+i+"$2");return s+l},l.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var L=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,n){return L.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};var C={max:10,count:0,name:"hovertemplate"};l.hovertemplateString=function(){return z.apply(C,arguments)};var P={max:10,count:0,name:"texttemplate"};l.texttemplateString=function(){return z.apply(P,arguments)};var O=/^[:|\|]/;function z(t,e,r){var a=this,i=arguments;e||(e={});var o={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,s,c){var u,h,f,p;for(f=3;f<i.length;f++)if(u=i[f]){if(u.hasOwnProperty(s)){h=u[s];break}if(L.test(s)||(h=o[s]||l.nestedProperty(u,s).get())&&(o[s]=h),void 0!==h)break}if(void 0===h&&a)return a.count<a.max&&(l.warn("Variable '"+s+"' in "+a.name+" could not be found!"),h=t),a.count===a.max&&l.warn("Too many "+a.name+" warnings - additional warnings will be suppressed"),a.count++,t;if(c){if(":"===c[0]&&(h=(p=r?r.numberFormat:n.format)(c.replace(O,""))(h)),"|"===c[0]){p=r?r.timeFormat.utc:n.time.format.utc;var d=l.dateTime2ms(h);h=l.formatDate(d,c.replace(O,""),!1,p)}}else e.hasOwnProperty(s+"Label")&&(h=e[s+"Label"]);return h})}l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,a=0,i=0;i<r;i++){var o=t.charCodeAt(i)||0,s=e.charCodeAt(i)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(a=10*a+s-48),!l||!c){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var I=2e9;l.seedPseudoRandom=function(){I=2e9},l.pseudoRandom=function(){var t=I;return I=(69069*I+1)%4294967296,Math.abs(I-t)<429496729?l.pseudoRandom():I/4294967296},l.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},a=l.extractOption(t,e,"htx","hovertext");if(l.isValidTextValue(a))return n(a);var i=l.extractOption(t,e,"tx","text");return l.isValidTextValue(i)?n(i):void 0},l.isValidTextValue=function(t){return t||0===t},l.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n<e;n++)-1!==r.indexOf(".")&&(r=(r=r.replace("0%","%")).replace(".%","%"));return r},l.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||"none"===e},l.getTextTransform=function(t){var e,r=t.textX,n=t.textY,a=t.targetX,i=t.targetY,o=t.scale,s=t.rotate;return o<1?e="scale("+o+") ":(o=1,e=""),"translate("+(a-o*r)+" "+(i-o*n)+")"+e+(s?"rotate("+s+" "+r+" "+n+") ":"")}},{"../constants/numerical":692,"./anchor_utils":697,"./angles":698,"./array":699,"./clean_number":700,"./clear_responsive":702,"./coerce":703,"./dates":704,"./dom":705,"./extend":707,"./filter_unique":708,"./filter_visible":709,"./geometry2d":712,"./identity":715,"./is_plain_object":717,"./keyed_container":718,"./localize":719,"./loggers":720,"./make_trace_groups":721,"./matrix":722,"./mod":723,"./nested_property":724,"./noop":725,"./notifier":726,"./push_unique":730,"./regex":732,"./relative_attr":733,"./relink_private":734,"./search":735,"./stats":738,"./throttle":741,"./to_log_range":742,d3:164,"fast-isnumeric":227}],717:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],718:[function(t,e,r){"use strict";var n=t("./nested_property"),a=/^\w*$/;e.exports=function(t,e,r,i){var o,s,l;r=r||"name",i=i||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var h=a.test(i),f={set:function(t,e){var a=null===e?4:0;if(!s){if(!l||4===a)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===a)return;a|=3,o=s.length,u[t]=o}else e!==(h?s[o][i]:n(s[o],i).get())&&(a|=2);var p=s[o]=s[o]||{};return p[r]=t,h?p[i]=e:n(p,i).set(e),null!==e&&(a&=-5),c[o]=c[o]|a,f},get:function(t){if(s){var e=u[t];return void 0===e?void 0:h?s[e][i]:n(s[e],i).get()}},rename:function(t,e){var n=u[t];return void 0===n?f:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,f)},remove:function(t){var e=u[t];if(void 0===e)return f;var a=s[e];if(Object.keys(a).length>2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(a,i).set(null),c[e]=6|c[e];return f},constructUpdate:function(){for(var t,a,o={},l=Object.keys(c),u=0;u<l.length;u++)a=l[u],t=e+"["+a+"]",s[a]?(1&c[a]&&(o[t+"."+r]=s[a][r]),2&c[a]&&(o[t+"."+i]=h?4&c[a]?null:s[a][i]:4&c[a]?null:n(s[a],i).get())):o[t]=null;return o}};return f}},{"./nested_property":724}],719:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t,e){for(var r=t._context.locale,a=0;a<2;a++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}i=n.localeRegistry}var c=r.split("-")[0];if(c===r)break;r=c}return e}},{"../registry":845}],720:[function(t,e,r){"use strict";var n=t("../plot_api/plot_config").dfltConfig,a=e.exports={};function i(t,e){if(t&&t.apply)try{return void t.apply(console,e)}catch(t){}for(var r=0;r<e.length;r++)try{t(e[r])}catch(t){console.log(e[r])}}a.log=function(){if(n.logging>1){for(var t=["LOG:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.trace||console.log,t)}},a.warn=function(){if(n.logging>0){for(var t=["WARN:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.trace||console.log,t)}},a.error=function(){if(n.logging>0){for(var t=["ERROR:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.error,t)}}},{"../plot_api/plot_config":752}],721:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e,r){var a=t.selectAll("g."+r.replace(/\s/g,".")).data(e,function(t){return t[0].trace.uid});a.exit().remove(),a.enter().append("g").attr("class",r),a.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return a.each(function(t){t[0][i]=n.select(this)}),a}},{d3:164}],722:[function(t,e,r){"use strict";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,a=t.length;for(e=0;e<a;e++)n=Math.max(n,t[e].length);var i=new Array(n);for(e=0;e<n;e++)for(i[e]=new Array(a),r=0;r<a;r++)i[e][r]=t[r][e];return i},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,a,i=t.length;if(t[0].length)for(n=new Array(i),a=0;a<i;a++)n[a]=r.dot(t[a],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),a=0;a<o.length;a++)n[a]=r.dot(t,o[a])}else for(n=0,a=0;a<i;a++)n+=t[a]*e[a];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],723:[function(t,e,r){"use strict";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],724:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;e.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,i,o,l=0,c=e.split(".");l<c.length;){if(r=String(c[l]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)throw"bad property string";c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split("]["),o=0;o<i.length;o++)l++,c.splice(l,0,Number(i[o]))}l++}return"object"!=typeof t?function(t,e,r){return{set:function(){throw"bad container"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:s(t,c,e),get:function t(e,r){return function(){var n,i,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(i=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(i=!1);return i?o[0]:o}if("number"==typeof n&&!a(c))return;if("object"!=typeof(c=c[n])||null===c)return}if("object"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var i=/(^|\.)args\[/;function o(t,e){return void 0===t||null===t&&!e.match(i)}function s(t,e,r){return function(n){var i,s,h=t,f="",p=[[t,f]],d=o(n,r);for(s=0;s<e.length-1;s++){if("number"==typeof(i=e[s])&&!a(h))throw"array index but container is not an array";if(-1===i){if(d=!c(h,e.slice(s+1),n,r))break;return}if(!u(h,i,e[s+1],d))break;if("object"!=typeof(h=h[i])||null===h)throw"container is not an object";f=l(f,i),p.push([h,f])}if(d){if(s===e.length-1&&(delete h[e[s]],Array.isArray(h)&&+e[s]==h.length-1))for(;h.length&&void 0===h[h.length-1];)h.pop()}else h[e[s]]=n}}function l(t,e){var r=e;return n(e)?r="["+e+"]":t&&(r="."+e),t+r}function c(t,e,r,n){var i,l=a(r),c=!0,h=r,f=n.replace("-1",0),p=!l&&o(r,f),d=e[0];for(i=0;i<t.length;i++)f=n.replace("-1",i),l&&(p=o(h=r[i%r.length],f)),p&&(c=!1),u(t,i,d,p)&&s(t[i],e,n.replace("-1",i))(h);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]="number"==typeof r?[]:{}}return!0}},{"./array":699,"fast-isnumeric":227}],725:[function(t,e,r){"use strict";e.exports=function(){}},{}],726:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=[];e.exports=function(t,e){if(-1===i.indexOf(t)){i.push(t);var r=1e3;a(e)?r=e:"long"===e&&(r=3e3);var o=n.select("body").selectAll(".plotly-notifier").data([0]);o.enter().append("div").classed("plotly-notifier",!0),o.selectAll(".notifier-note").data(i).enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(t){var e=n.select(this);e.append("button").classed("notifier-close",!0).html("&times;").on("click",function(){e.transition().call(s)});for(var a=e.append("p"),i=t.split(/<br\s*\/?>/g),o=0;o<i.length;o++)o&&a.append("br"),a.append("span").text(i[o]);e.transition().duration(700).style("opacity",1).transition().delay(r).call(s)})}function s(t){t.duration(700).style("opacity",0).each("end",function(t){var e=i.indexOf(t);-1!==e&&i.splice(e,1),n.select(this).remove()})}}},{d3:164,"fast-isnumeric":227}],727:[function(t,e,r){"use strict";var n=t("./setcursor"),a="data-savedcursor";e.exports=function(t,e){var r=t.attr(a);if(e){if(!r){for(var i=(t.attr("class")||"").split(" "),o=0;o<i.length;o++){var s=i[o];0===s.indexOf("cursor-")&&t.attr(a,s.substr(7)).classed(s,!1)}t.attr(a)||t.attr(a,"!!")}n(t,e)}else r&&(t.attr(a,null),"!!"===r?n(t):n(t,r))}},{"./setcursor":736}],728:[function(t,e,r){"use strict";var n=t("./matrix").dot,a=t("../constants/numerical").BADNUM,i=e.exports={};i.tester=function(t){var e,r=t.slice(),n=r[0][0],i=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),i=Math.max(i,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,h=r[0];for(e=1;e<r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===a||r<n||r>i||c===a||c<o||c>s||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===a||l<n||l>i||c===a||c<o||c>s)return!1;var u,h,f,p,d,g=r.length,v=r[0][0],m=r[0][1],y=0;for(u=1;u<g;u++)if(h=v,f=m,v=r[u][0],m=r[u][1],!(l<(p=Math.min(h,v))||l>Math.max(h,v)||c>Math.max(f,m)))if(c<Math.min(f,m))l!==p&&y++;else{if(c===(d=v===h?c:f+(l-h)*(m-f)/(v-h)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}},i.isSegmentBent=function(t,e,r,a){var i,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),h=Math.sqrt(u),f=[-c[1]/h,c[0]/h];for(i=e+1;i<r;i++)if(o=[t[i][0]-l[0],t[i][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,f))>a)return!0;return!1},i.filter=function(t,e){var r=[t[0]],n=0,a=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||i.isSegmentBent(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,a=r.length-1),l=c)}t.length>1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":692,"./matrix":722}],729:[function(t,e,r){(function(r){"use strict";var n=t("./show_no_webgl_msg"),a=t("regl");e.exports=function(t,e){var i=t._fullLayout,o=!0;return i._glcanvas.each(function(n){if(!n.regl&&(!n.pick||i._has("parcoords"))){try{n.regl=a({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}o&&this.addEventListener("webglcontextlost",function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})},!1)}}),o||n({container:i._glcontainer.node()}),o}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":737,regl:500}],730:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],731:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_config").dfltConfig;var i={add:function(t,e,r,n,i){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(i)),t.undoQueue.queue.length>a.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)i.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)i.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};i.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,a=[],i=0;i<e.length;i++)r=e[i],a[i]=r===t?r:"object"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return a}(t,r),e.apply(null,r)},e.exports=i},{"../lib":716,"../plot_api/plot_config":752}],732:[function(t,e,r){"use strict";r.counter=function(t,e,r,n){var a=(e||"")+(r?"":"$"),i=!1===n?"":"^";return"xy"===t?new RegExp(i+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+a):new RegExp(i+t+"([2-9]|[1-9][0-9]+)?"+a)}},{}],733:[function(t,e,r){"use strict";var n=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,a=/^[^\.\[\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(a))throw new Error("bad relativeAttr call:"+[t,e]);t=""}if("^"!==e.charAt(0))break;e=e.slice(1)}return t&&"["!==e.charAt(0)?t+"."+e:t+e}},{}],734:[function(t,e,r){"use strict";var n=t("./array").isArrayOrTypedArray,a=t("./is_plain_object");e.exports=function t(e,r){for(var i in r){var o=r[i],s=e[i];if(s!==o)if("_"===i.charAt(0)||"function"==typeof o){if(i in e)continue;e[i]=o}else if(n(o)&&n(s)&&a(o[0])){if("customdata"===i||"ids"===i)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&a(o[c])&&a(s[c])&&t(s[c],o[c])}else a(o)&&a(s)&&(t(s,o),Object.keys(s).length||delete e[i])}}},{"./array":699,"./is_plain_object":717}],735:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./loggers"),i=t("./identity");function o(t,e){return t<e}function s(t,e){return t<=e}function l(t,e){return t>e}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,u,h=0,f=e.length,p=0,d=f>1?(e[f-1]-e[0])/(f-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);h<f&&p++<100;)u(e[i=Math.floor((h+f)/2)],t)?h=i+1:f=i;return p>90&&a.log("Long binary search..."),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,a=e[n]-e[0]||1,i=a/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+i&&(a=Math.min(a,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:a}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;a<i&&o++<100;)e[n=c((a+i)/2)]<=t?a=n+s:i=n-l;return e[a]},r.sort=function(t,e){for(var r=0,n=0,a=1;a<t.length;a++){var i=e(t[a],t[a-1]);if(i<0?r=1:i>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;a<t.length;a++){var o=e(t[a]);o<n&&(n=o,r=a)}return r}},{"./identity":715,"./loggers":720,"fast-isnumeric":227}],736:[function(t,e,r){"use strict";e.exports=function(t,e){(t.attr("class")||"").split(" ").forEach(function(e){0===e.indexOf("cursor-")&&t.classed(e,!1)}),e&&t.classed("cursor-"+e,!0)}},{}],737:[function(t,e,r){"use strict";var n=t("../components/color"),a=function(){};e.exports=function(t){for(var e in t)"function"==typeof t[e]&&(t[e]=a);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement("div");r.className="no-webgl",r.style.cursor="pointer",r.style.fontSize="24px",r.style.color=n.defaults[0],r.style.position="absolute",r.style.left=r.style.top="0px",r.style.width=r.style.height="100%",r.style["background-color"]=n.lightLine,r.style["z-index"]=30;var i=document.createElement("p");return i.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",i.style.position="relative",i.style.top="50%",i.style.left="50%",i.style.height="30%",i.style.width="50%",i.style.margin="-15% 0 0 -25%",r.appendChild(i),t.container.appendChild(r),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}},{"../components/color":591}],738:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;r.aggNums=function(t,e,i,o){var s,l;if((!o||o>i.length)&&(o=i.length),n(e)||(e=!1),a(i[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,i[s]);i=l}for(s=0;s<o;s++)n(e)?n(i[s])&&(e=t(+e,+i[s])):e=i[s];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,a){return e||(e=r.len(t)),n(a)||(a=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-a,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.median=function(t){var e=t.slice().sort();return r.interp(e,.5)},r.interp=function(t,e){if(!n(e))throw"n should be a finite number";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":699,"fast-isnumeric":227}],739:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":121}],740:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,M){var S=t.text(),L=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),L?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),i={fontSize:r};!function(t,e,r){var i,o,s,l;MathJax.Hub.Queue(function(){return o=a.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})},function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")},function(){var r="math-output-"+a.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt ")),MathJax.Hub.Typeset(l.node())},function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())a.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==i)return MathJax.Hub.setRenderer(i)},function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})}(L[2],i,function(n,a,i){C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return O(),void e();var l=C.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(o.node()),a&&a.node()&&o.node().insertBefore(a.node().cloneNode(!0),o.node().firstChild),o.attr({class:P,height:i.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black",u=o.select("g");u.attr({fill:c,stroke:c});var h=s(u,"width"),f=s(u,"height"),p=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],d=-(r||s(t,"height"))/4;"y"===P[0]?(l.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-h/2,d-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===P[0]?o.attr({x:t.attr("x"),y:d-f/2}):"a"===P[0]&&0!==P.indexOf("atitle")?o.attr({x:0,y:d}):o.attr({x:p,y:+t.attr("y")+d-f/2}),M&&M.call(t,l),e(l)})})):O(),t}function O(){C.empty()||(P=t.attr("class")+"-math",C.select("svg."+P).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(i.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var a=l;if(l=[{node:e}],a.length>1)for(var s=1;s<a.length;s++)M(a[s])}function M(t){var e,a=t.type,o={};if("a"===a){e="a";var s=t.target,c=t.href,u=t.popup;c&&(o={"xlink:xlink:show":"_blank"===s||"_"!==s.charAt(0)?"new":"replace",target:s,"xlink:xlink:href":c},u&&(o.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+u+'");return false;'))}else e="tspan";t.style&&(o.style=t.style);var h=document.createElementNS(i.svg,e);if("sup"===a||"sub"===a){S(r,d),r.appendChild(h);var g=document.createElementNS(i.svg,"tspan");S(g,d),n.select(g).attr("dy",p[a]),o.dy=f[a],r.appendChild(h),r.appendChild(g)}else r.appendChild(h);n.select(h).attr(o),r=t.node=h,l.push(t)}function S(t,e){t.appendChild(document.createTextNode(e))}function L(t){if(1!==l.length){var n=l.pop();t!==n.type&&a.log("Start tag <"+n.type+"> doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else a.log("Ignoring unexpected end tag </"+t+">.",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(m),P=0;P<C.length;P++){var O=C[P],z=O.match(y),I=z&&z[2].toLowerCase(),D=h[I];if("br"===I)u();else if(void 0===D)S(r,E(O));else if(z[1])L(I);else{var R=z[4],F={type:I},B=T(R,b);if(B?(B=B.replace(A,"$1 fill:"),D&&(B+=";"+D)):D&&(B=D),B&&(F.style=B),"a"===I){s=!0;var N=T(R,_);if(N){var j=document.createElement("a");j.href=N,-1!==g.indexOf(j.protocol)&&(F.href=encodeURI(decodeURI(N)),F.target=T(R,w)||"_blank",F.popup=T(R,k))}}M(F)}}return s}(t.node(),S)&&t.style("pointer-events","all"),r.positionText(t),M&&M.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},f={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},d="\u200b",g=["http:","https:","mailto:","",void 0,":"],v=r.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=/<br(\s+.*)?>/i;r.BR_TAG_ALL=/<br(\s+.*)?>/gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],a="...".length,i=t.split(m),o=[],s="",l=0,c=0;c<i.length;c++){var u=i[c],h=u.match(y),f=h&&h[2].toLowerCase();if(f)-1!==n.indexOf(f)&&(o.push(u),s=f);else{var p=u.length;if(l+p<r)o.push(u),l+=p;else if(l<r){var d=r-l;s&&("br"!==s||d<=a||p<=a)&&o.pop(),r>a?o.push(u.substr(0,d-a)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var M={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):M[e])||t})}function L(t,e,r){var n,a,i,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},i="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:a()-c.top+"px",left:i()-c.left+"px","z-index":1e3}),this}}r.convertEntities=E,r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function a(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var i=a("x",e),o=a("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:i,y:o})})},r.makeEditable=function(t,e){var r=e.gd,a=e.delegate,i=n.dispatch("edit","input","cancel"),o=a||t;if(t.style({"pointer-events":a?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var a=n.select(r).select(".svg-container"),o=a.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(L(t,a,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,a=n.select(this).attr("class");(e=a?"."+a.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),i.edit.call(t,o)}).on("focus",function(){var t=this;r._editing=!0,n.select(document).on("mouseup",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on("keyup",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),i.cancel.call(t,this.textContent)):(i.input.call(t,this.textContent),n.select(this).call(L(t,a,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var a,s=o.attr("class");(a=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(a).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,i,"on")}},{"../constants/alignment":685,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],741:[function(t,e,r){"use strict";var n={};function a(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var i=n[t],o=Date.now();if(!i){for(var s in n)n[s].ts<o-6e4&&delete n[s];i=n[t]={ts:0,timer:null}}function l(){r(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}a(i),o>i.ts+e?l():i.timer=setTimeout(function(){l(),i.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],742:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":227}],743:[function(t,e,r){"use strict";var n=e.exports={},a=t("../plots/geo/constants").locationmodeToLayer,i=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=a[t.locationmode],n=e.objects[r];return i(e,n).features}},{"../plots/geo/constants":792,"topojson-client":538}],744:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],745:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],746:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s<i.length;s++)if((r=t.match(i[s]))&&0===r.index){e=r[0];break}if(e||(e=a[a.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||""}:{array:e,index:"",property:""}}},{"../registry":845}],747:[function(t,e,r){"use strict";var n=t("../lib"),a=n.extendFlat,i=n.isPlainObject,o={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},s={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},l=o.flags.slice().concat(["fullReplot"]),c=s.flags.slice().concat("layoutReplot");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function h(t,e,r){var n=a({},t);for(var o in n){var s=n[o];i(s)&&(n[o]=f(s,e,r,o))}return"from-root"===r&&(n.editType=e),n}function f(t,e,r,n){if(t.valType){var i=a({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)i.items[o]=f(t.items[o],e,"from-root")}return i}return h(t,e,"_"===n.charAt(0)?"nested":"from-root")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&"none"!==r)for(var n=r.split("+"),a=0;a<n.length;a++)t[n[a]]=!0},overrideAll:h}},{"../lib":716}],748:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("gl-mat4/fromQuat"),i=t("../registry"),o=t("../lib"),s=t("../plots/plots"),l=t("../plots/cartesian/axis_ids"),c=t("../components/color"),u=l.cleanId,h=l.getFromTrace,f=i.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&"paper"!==r&&(t[e]=u(r,n))}function d(t){function e(e,r){var n=t[e],a=t.title&&t.title[r];n&&!a&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&("string"!=typeof t.title&&"number"!=typeof t.title||(t.title={text:t.title}),e("titlefont","font"),e("titleposition","position"),e("titleside","side"),e("titleoffset","offset"))}function g(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,("string"==typeof e||"number"==typeof e)&&String(e)}function v(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var a,i=Math.min(t.length,e.length);for(a=0;a<i&&t.charAt(a)===e.charAt(a);a++);return t.substr(0,a).trim()}function m(t){var e="middle",r="center";return"string"==typeof t&&(-1!==t.indexOf("top")?e="top":-1!==t.indexOf("bottom")&&(e="bottom"),-1!==t.indexOf("left")?r="left":-1!==t.indexOf("right")&&(r="right")),e+" "+r}function y(t,e){return e in t&&"object"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e<g.length;e++){var v=g[e];if(i&&i.test(v)){var m=t[v];m.anchor&&"free"!==m.anchor&&(m.anchor=u(m.anchor)),m.overlaying&&(m.overlaying=u(m.overlaying)),m.type||(m.isdate?m.type="date":m.islog?m.type="log":!1===m.isdate&&!1===m.islog&&(m.type="linear")),"withzero"!==m.autorange&&"tozero"!==m.autorange||(m.autorange=!0,m.rangemode="tozero"),delete m.islog,delete m.isdate,delete m.categories,y(m,"domain")&&delete m.domain,void 0!==m.autotick&&(void 0===m.tickmode&&(m.tickmode=m.autotick?"auto":"linear"),delete m.autotick),d(m)}else if(l&&l.test(v)){d(t[v].radialaxis)}else if(h&&h.test(v)){var x=t[v];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(f&&f.test(v)){var b=t[v],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],k=_[1],T=_[2],A=a([],w),M=[];for(n=0;n<3;++n)M[n]=k[n]+T*A[2+4*n];b.camera={eye:{x:M[0],y:M[1],z:M[2]},center:{x:k[0],y:k[1],z:k[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<S;e++){var E=t.annotations[e];o.isPlainObject(E)&&(E.ref&&("paper"===E.ref?(E.xref="paper",E.yref="paper"):"data"===E.ref&&(E.xref="x",E.yref="y"),delete E.ref),p(E,"xref"),p(E,"yref"))}var L=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<L;e++){var C=t.shapes[e];o.isPlainObject(C)&&(p(C,"xref"),p(C,"yref"))}var P=t.legend;return P&&(P.x>3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,a=t[e];if("histogramy"===a.type&&"xbins"in a&&!("ybins"in a)&&(a.ybins=a.xbins,delete a.xbins),a.error_y&&"opacity"in a.error_y){var l=c.defaults,h=a.error_y.color||(f(a,"bar")?c.defaultLine:l[e%l.length]);a.error_y.color=c.addOpacity(c.rgb(h),c.opacity(h)*a.error_y.opacity),delete a.error_y.opacity}if("bardir"in a&&("h"!==a.bardir||!f(a,"bar")&&"histogram"!==a.type.substr(0,9)||(a.orientation="h",r.swapXYData(a)),delete a.bardir),"histogramy"===a.type&&r.swapXYData(a),"histogramx"!==a.type&&"histogramy"!==a.type||(a.type="histogram"),"scl"in a&&!("colorscale"in a)&&(a.colorscale=a.scl,delete a.scl),"reversescl"in a&&!("reversescale"in a)&&(a.reversescale=a.reversescl,delete a.reversescl),a.xaxis&&(a.xaxis=u(a.xaxis,"x")),a.yaxis&&(a.yaxis=u(a.yaxis,"y")),f(a,"gl3d")&&a.scene&&(a.scene=s.subplotsRegistry.gl3d.cleanId(a.scene)),!f(a,"pie-like")&&!f(a,"bar-like"))if(Array.isArray(a.textposition))for(n=0;n<a.textposition.length;n++)a.textposition[n]=m(a.textposition[n]);else a.textposition&&(a.textposition=m(a.textposition));var p=i.getModule(a);if(p&&p.colorbar){var x=p.colorbar.container,b=x?a[x]:a;b&&b.colorscale&&("YIGnBu"===b.colorscale&&(b.colorscale="YlGnBu"),"YIOrRd"===b.colorscale&&(b.colorscale="YlOrRd"))}if("surface"===a.type&&o.isPlainObject(a.contours)){var _=["x","y","z"];for(n=0;n<_.length;n++){var w=a.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if("candlestick"===a.type||"ohlc"===a.type){var k=!1!==(a.increasing||{}).showlegend,T=!1!==(a.decreasing||{}).showlegend,A=g(a.increasing),M=g(a.decreasing);if(!1!==A&&!1!==M){var S=v(A,M,k,T);S&&(a.name=S)}else!A&&!M||a.name||(a.name=A||M)}if(Array.isArray(a.transforms)){var E=a.transforms;for(n=0;n<E.length;n++){var L=E[n];if(o.isPlainObject(L))switch(L.type){case"filter":L.filtersrc&&(L.target=L.filtersrc,delete L.filtersrc),L.calendar&&(L.valuecalendar||(L.valuecalendar=L.calendar),delete L.calendar);break;case"groupby":if(L.styles=L.styles||L.style,L.styles&&!Array.isArray(L.styles)){var C=L.styles,P=Object.keys(C);L.styles=[];for(var O=0;O<P.length;O++)L.styles.push({target:P[O],value:C[P[O]]})}}}}y(a,"line")&&delete a.line,"marker"in a&&(y(a.marker,"line")&&delete a.marker.line,y(a,"marker")&&delete a.marker),c.clean(a),a.autobinx&&(delete a.autobinx,delete a.xbins),a.autobiny&&(delete a.autobiny,delete a.ybins),d(a),a.colorbar&&d(a.colorbar),a.marker&&a.marker.colorbar&&d(a.marker.colorbar),a.line&&a.line.colorbar&&d(a.line.colorbar),a.aaxis&&d(a.aaxis),a.baxis&&d(a.baxis)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,["error_?.copy_ystyle"]),n&&o.swapAttrs(t,["error_?.color","error_?.thickness","error_?.width"])}if("string"==typeof t.hoverinfo){var a=t.hoverinfo.split("+");for(e=0;e<a.length;e++)"x"===a[e]?a[e]="y":"y"===a[e]&&(a[e]="x");t.hoverinfo=a.join("+")}},r.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map(function(t,e){return e});if(Array.isArray(e)){for(var r=[],a=0;a<e.length;a++)o.isIndex(e[a],t.data.length)?r.push(e[a]):o.warn("trace index (",e[a],") is not a number or is out of bounds");return r}return e},r.manageArrayContainers=function(t,e,r){var a=t.obj,i=t.parts,s=i.length,l=i[s-1],c=n(l);if(c&&null===e){var u=i.slice(0,s-1).join(".");o.nestedProperty(a,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var a=t._fullData[n],i=0;i<3;i++){var s=h(t,a,_[i]);if(s&&"log"!==s.type){var l=s._name,c=s._id.substr(1);if("scene"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+"."+l}var u=l+".type";void 0===r[l]&&void 0===r[u]&&o.nestedProperty(t.layout,u).set(null)}}}},{"../components/color":591,"../lib":716,"../plots/cartesian/axis_ids":767,"../plots/plots":825,"../registry":845,"fast-isnumeric":227,"gl-mat4/fromQuat":264}],749:[function(t,e,r){"use strict";var n=t("./plot_api");r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r._guiRestyle=n._guiRestyle,r._guiRelayout=n._guiRelayout,r._guiUpdate=n._guiUpdate,r._storeDirectGUIEdit=n._storeDirectGUIEdit,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t("./to_image"),r.validate=t("./validate"),r.downloadImage=t("../snapshot/download");var a=t("./template_api");r.makeTemplate=a.makeTemplate,r.validateTemplate=a.validateTemplate},{"../snapshot/download":847,"./plot_api":751,"./template_api":756,"./to_image":757,"./validate":758}],750:[function(t,e,r){"use strict";var n=t("../lib/is_plain_object"),a=t("../lib/noop"),i=t("../lib/loggers"),o=t("../lib/search").sorterAsc,s=t("../registry");r.containerArrayMatch=t("./container_array_match");var l=r.isAddVal=function(t){return"add"===t||n(t)},c=r.isRemoveVal=function(t){return null===t||"remove"===t};r.applyContainerArrayChanges=function(t,e,r,n,u){var h=e.astr,f=s.getComponentMethod(h,"supplyLayoutDefaults"),p=s.getComponentMethod(h,"draw"),d=s.getComponentMethod(h,"drawOne"),g=n.replot||n.recalc||f===a||p===a,v=t.layout,m=t._fullLayout;if(r[""]){Object.keys(r).length>1&&i.warn("Full array edits are incompatible with other edits",h);var y=r[""][""];if(c(y))e.set(null);else{if(!Array.isArray(y))return i.warn("Unrecognized full array edit value",h,y),!0;e.set(y)}return!g&&(f(v,m),p(t),!0)}var x,b,_,w,k,T,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=u(m,h).get(),P=[],O=-1,z=L.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],k=Object.keys(w),T=w[""],A=l(T),_<0||_>L.length-(A?0:1))i.warn("index out of range",h,_);else if(void 0!==T)k.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",h,_),c(T)?P.push(_):A?("add"===T&&(T={}),L.splice(_,0,T),C&&C.splice(_,0,{})):i.warn("Unrecognized full object edit value",h,_,T),-1===O&&(O=_);else for(b=0;b<k.length;b++)M=h+"["+_+"].",u(L[_],k[b],M).set(w[k[b]]);for(x=P.length-1;x>=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),g)return!1;if(f(v,m),d!==a){var I;if(-1===O)I=S;else{for(z=Math.max(L.length,z),I=[],x=0;x<S.length&&!((_=S[x])>=O);x++)I.push(_);for(x=O;x<z;x++)I.push(x)}for(x=0;x<I.length;x++)d(t,I[x])}else p(t);return!0}},{"../lib/is_plain_object":717,"../lib/loggers":720,"../lib/noop":725,"../lib/search":735,"../registry":845,"./container_array_match":746}],751:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("has-hover"),o=t("../lib"),s=o.nestedProperty,l=t("../lib/events"),c=t("../lib/queue"),u=t("../registry"),h=t("./plot_schema"),f=t("../plots/plots"),p=t("../plots/polar/legacy"),d=t("../plots/cartesian/axes"),g=t("../components/drawing"),v=t("../components/color"),m=t("../plots/cartesian/graph_interact").initInteractions,y=t("../constants/xmlns_namespaces"),x=t("../lib/svg_text_utils"),b=t("../plots/cartesian/select").clearSelect,_=t("./plot_config").dfltConfig,w=t("./manage_arrays"),k=t("./helpers"),T=t("./subroutines"),A=t("./edit_types"),M=t("../plots/cartesian/constants").AX_NAME_PATTERN,S=0,E=5;function L(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit("plotly_afterplot")}function C(t,e){try{t._fullLayout._paper.style("background",e)}catch(t){o.error(t)}}function P(t,e){C(t,v.combine(e,"white"))}function O(t,e){if(!t._context){t._context=o.extendDeep({},_);var r=n.select("base");t._context._baseUrl=r.size()&&r.attr("href")?window.location.href.split("#")[0]:""}var a,s,l,c=t._context;if(e){for(s=Object.keys(e),a=0;a<s.length;a++)"editable"!==(l=s[a])&&"edits"!==l&&l in c&&("setBackground"===l&&"opaque"===e[l]?c[l]=P:c[l]=e[l]);e.plot3dPixelRatio&&!c.plotGlPixelRatio&&(c.plotGlPixelRatio=c.plot3dPixelRatio);var u=e.editable;if(void 0!==u)for(c.editable=u,s=Object.keys(c.edits),a=0;a<s.length;a++)c.edits[s[a]]=u;if(e.edits)for(s=Object.keys(e.edits),a=0;a<s.length;a++)(l=s[a])in c.edits&&(c.edits[l]=e.edits[l]);c._exportedPlot=e._exportedPlot}c.staticPlot&&(c.editable=!1,c.edits={},c.autosizable=!1,c.scrollZoom=!1,c.doubleClick=!1,c.showTips=!1,c.showLink=!1,c.displayModeBar=!1),"hover"!==c.displayModeBar||i||(c.displayModeBar=!0),"transparent"!==c.setBackground&&"function"==typeof c.setBackground||(c.setBackground=C),c._hasZeroHeight=c._hasZeroHeight||0===t.clientHeight,c._hasZeroWidth=c._hasZeroWidth||0===t.clientWidth;var h=c.scrollZoom,f=c._scrollZoom={};if(!0===h)f.cartesian=1,f.gl3d=1,f.geo=1,f.mapbox=1;else if("string"==typeof h){var p=h.split("+");for(a=0;a<p.length;a++)f[p[a]]=1}else!1!==h&&(f.gl3d=1,f.geo=1,f.mapbox=1)}function z(t,e){var r,n,a=e+1,i=[];for(r=0;r<t.length;r++)(n=t[r])<0?i.push(a+n):i.push(n);return i}function I(t,e,r){var n,a;for(n=0;n<e.length;n++){if((a=e[n])!==parseInt(a,10))throw new Error("all values in "+r+" must be integers");if(a>=t.data.length||a<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&I(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function R(t,e,r,n,i){!function(t,e,r,n){var a=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var i in I(t,r,"indices"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var i,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=z(r,t.data.length-1),e)for(var g=0;g<r.length;g++){if(i=t.data[r[g]],l=(c=s(i,d)).get(),u=e[d][g],!o.isArrayOrTypedArray(u))throw new Error("attribute: "+d+" index: "+g+" must be an array");if(!o.isArrayOrTypedArray(l))throw new Error("cannot extend missing or non-array attribute: "+d);if(l.constructor!==u.constructor)throw new Error("cannot extend array with an array of a different type: "+d);h=f?n[d][g]:n,a(h)||(h=-1),p.push({prop:c,target:l,insert:u,maxp:Math.floor(h)})}return p}(t,e,r,n),c={},u={},h=0;h<l.length;h++){var f=l[h].prop,p=l[h].maxp,d=i(l[h].target,l[h].insert,p);f.set(d[0]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(d[1]),Array.isArray(u[f.astr])||(u[f.astr]=[]),u[f.astr].push(l[h].target.length)}return{update:c,maxPoints:u}}function F(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function B(t,e,n,a){t=o.getGraphDiv(t),k.clearPromiseQueue(t);var i={};if("string"==typeof e)i[e]=n;else{if(!o.isPlainObject(e))return o.warn("Restyle fail.",e,n,a),Promise.reject();i=o.extendFlat({},e),void 0===a&&(a=n)}Object.keys(i).length&&(t.changed=!0);var s=k.coerceTraceIndices(t,a),l=U(t,i,s),u=l.flags;u.calc&&(t.calcdata=void 0),u.clearAxisTypes&&k.clearAxisTypes(t,s,{});var h=[];u.fullReplot?h.push(r.plot):(h.push(f.previousPromises),f.supplyDefaults(t),u.markerSize&&(f.doCalcdata(t),Y(h)),u.style&&h.push(T.doTraceStyle),u.colorbars&&h.push(T.doColorBars),h.push(L)),h.push(f.rehover,f.redrag),c.add(t,B,[t,l.undoit,l.traces],B,[t,l.redoit,l.traces]);var p=o.syncOrAsync(h,t);return p&&p.then||(p=Promise.resolve()),p.then(function(){return t.emit("plotly_restyle",l.eventData),t})}function N(t){return void 0===t?null:t}function j(t,e){return e?function(e,r,n){var a=s(e,r),i=a.set;return a.set=function(e){V((n||"")+r,a.get(),e,t),i(e)},a}:s}function V(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var a=Array.isArray(e)?e:[],i=Array.isArray(r)?r:[],s=Math.max(a.length,i.length),l=0;l<s;l++)V(t+"["+l+"]",a[l],i[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var c=o.isPlainObject(e)?e:{},u=o.isPlainObject(r)?r:{},h=o.extendFlat({},c,u);for(var f in h)V(t+"."+f,c[f],u[f],n)}else void 0===n[t]&&(n[t]=N(e))}function U(t,e,r){var n,a=t._fullLayout,i=t._fullData,l=t.data,c=a._guiEditing,p=j(a._preGUI,c),g=o.extendDeepAll({},e);q(e);var v,m=A.traceFlags(),y={},x={};function b(){return r.map(function(){})}function _(t){var e=d.id2name(t);-1===v.indexOf(e)&&v.push(e)}function w(t){return"LAYOUT"+t+".autorange"}function T(t){return"LAYOUT"+t+".range"}function M(t){for(var e=t;e<i.length;e++)if(i[e]._input===l[t])return i[e]}function S(n,i,o){if(Array.isArray(n))n.forEach(function(t){S(t,i,o)});else if(!(n in e||k.hasParent(e,n))){var s;if("LAYOUT"===n.substr(0,6))s=p(t.layout,n.replace("LAYOUT",""));else{var u=r[o];s=j(a._tracePreGUI[M(u)._fullInput.uid],c)(l[u],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=N(s.get())),void 0!==i&&s.set(i)}}function E(t){return function(e){return i[e][t]}}function L(t){return function(e,n){return!1===e?i[r[n]][t]:null}}for(var C in e){if(k.hasParent(e,C))throw new Error("cannot set "+C+" and a parent attribute simultaneously");var P,O,z,I,D,R,F=e[C];if("autobinx"!==C&&"autobiny"!==C||(C=C.charAt(C.length-1)+"bins",F=Array.isArray(F)?F.map(L(C)):!1===F?r.map(E(C)):null),y[C]=F,"LAYOUT"!==C.substr(0,6)){for(x[C]=b(),n=0;n<r.length;n++){if(P=l[r[n]],O=M(r[n]),I=(z=j(a._tracePreGUI[O._fullInput.uid],c)(P,C)).get(),void 0!==(D=Array.isArray(F)?F[n%F.length]:F)){var B=z.parts[z.parts.length-1],V=C.substr(0,C.length-B.length-1),U=V?V+".":"",H=V?s(O,V).get():O;if((R=h.getTraceValObject(O,z.parts))&&R.impliedEdits&&null!==D)for(var G in R.impliedEdits)S(o.relativeAttr(C,G),R.impliedEdits[G],n);else if("thicknessmode"!==B&&"lenmode"!==B||I===D||"fraction"!==D&&"pixels"!==D||!H){if("type"===C&&("pie"===D!=("pie"===I)||"funnelarea"===D!=("funnelarea"===I))){var Y="x",W="y";"bar"!==D&&"bar"!==I||"h"!==P.orientation||(Y="y",W="x"),o.swapAttrs(P,["?","?src"],"labels",Y),o.swapAttrs(P,["d?","?0"],"label",Y),o.swapAttrs(P,["?","?src"],"values",W),"pie"===I||"funnelarea"===I?(s(P,"marker.color").set(s(P,"marker.colors").get()),a._pielayer.selectAll("g.trace").remove()):u.traceIs(P,"cartesian")&&s(P,"marker.colors").set(s(P,"marker.color").get())}}else{var X=a._size,Z=H.orient,J="top"===Z||"bottom"===Z;if("thicknessmode"===B){var K=J?X.h:X.w;S(U+"thickness",H.thickness*("fraction"===D?1/K:K),n)}else{var Q=J?X.w:X.h;S(U+"len",H.len*("fraction"===D?1/Q:Q),n)}}x[C][n]=N(I);if(-1!==["swapxy","swapxyaxes","orientation","orientationaxes"].indexOf(C)){if("orientation"===C){z.set(D);var $=P.x&&!P.y?"h":"v";if((z.get()||$)===O.orientation)continue}else"orientationaxes"===C&&(P.orientation={v:"h",h:"v"}[O.orientation]);k.swapXYData(P),m.calc=m.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(z.parts[0])?(k.manageArrayContainers(z,D,x),m.calc=!0):(R?R.arrayOk&&!u.traceIs(O,"regl")&&(o.isArrayOrTypedArray(D)||o.isArrayOrTypedArray(I))?m.calc=!0:A.update(m,R):m.calc=!0,z.set(D))}}if(-1!==["swapxyaxes","orientationaxes"].indexOf(C)&&d.swap(t,r),"orientationaxes"===C){var tt=s(t.layout,"hovermode");"x"===tt.get()?tt.set("y"):"y"===tt.get()&&tt.set("x")}if(-1!==["orientation","type"].indexOf(C)){for(v=[],n=0;n<r.length;n++){var et=l[r[n]];u.traceIs(et,"cartesian")&&(_(et.xaxis||"x"),_(et.yaxis||"y"))}S(v.map(w),!0,0),S(v.map(T),[0,1],0)}}else z=p(t.layout,C.replace("LAYOUT","")),x[C]=[N(z.get())],z.set(Array.isArray(F)?F[0]:F),m.calc=!0}return(m.calc||m.plot)&&(m.fullReplot=!0),{flags:m,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[g,r])}}function q(t){var e,r,n,a=o.counterRegex("axis",".title",!1,!1),i=/colorbar\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],"title"!==r&&!a.test(r)&&!i.test(r)||"string"!=typeof n&&"number"!=typeof n?r.indexOf("titlefont")>-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function H(t,e,r){if(t=o.getGraphDiv(t),k.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var a=J(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var s=[f.previousPromises];i.layoutReplot?s.push(T.layoutReplot):Object.keys(n).length&&(G(t,i,a)||f.supplyDefaults(t),i.legend&&s.push(T.doLegend),i.layoutstyle&&s.push(T.layoutStyles),i.axrange&&Y(s,a.rangesAltered),i.ticks&&s.push(T.doTicksRelayout),i.modebar&&s.push(T.doModeBar),i.camera&&s.push(T.doCamera),i.colorbars&&s.push(T.doColorBars),s.push(L)),s.push(f.rehover,f.redrag),c.add(t,H,[t,a.undoit],H,[t,a.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then(function(){return t.emit("plotly_relayout",a.eventData),t})}function G(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var a in e)if("axrange"!==a&&e[a])return!1;for(var i in r.rangesAltered){var o=d.id2name(i),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,l.range=s.range.slice(),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==i){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function Y(t,e){var r=e?function(t){var r=[],n=!0;for(var a in e){var i=d.getFromId(t,a);if(r.push(a),i._matchGroup)for(var o in i._matchGroup)e[o]||r.push(o);i.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(b,T.doAutoRangeAndConstraints,r,T.drawData,T.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,X=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function J(t,e){var r,n,a,i=t.layout,l=t._fullLayout,c=l._guiEditing,f=j(l._preGUI,c),p=Object.keys(e),g=d.list(t),v=o.extendDeepAll({},e),m={};for(q(e),p=Object.keys(e),n=0;n<p.length;n++)if(0===p[n].indexOf("allaxes")){for(a=0;a<g.length;a++){var y=g[a]._id.substr(1),x=-1!==y.indexOf("scene")?y+".":"",b=p[n].replace("allaxes",x+g[a]._name);e[b]||(e[b]=e[p[n]])}delete e[p[n]]}var _=A.layoutFlags(),T={},S={};function E(t,r){if(Array.isArray(t))t.forEach(function(t){E(t,r)});else if(!(t in e||k.hasParent(e,t))){var n=f(i,t);t in S||(S[t]=N(n.get())),void 0!==r&&n.set(r)}}var L,C={};function P(t){var e=d.name2id(t.split(".")[0]);return C[e]=1,e}for(var O in e){if(k.hasParent(e,O))throw new Error("cannot set "+O+" and a parent attribute simultaneously");for(var z=f(i,O),I=e[O],D=z.parts.length-1;D>0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,B=z.parts.slice(0,D).join("."),V=s(t.layout,B).get(),U=s(l,B).get(),H=z.get();if(void 0!==I){T[O]=I,S[O]="reverse"===R?I:N(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==I)for(var Y in G.impliedEdits)E(o.relativeAttr(O,Y),G.impliedEdits[Y]);if(-1!==["width","height"].indexOf(O))if(I){E("autosize",null);var J="height"===O?"width":"height";E(J,l[J])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",I?null:l.width),E("height",I?null:l.height);else if(F.match(W))P(F),s(l,B+"._inputRange").set(null);else if(F.match(X)){P(F),s(l,B+"._inputRange").set(null);var Q=s(l,B).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(Z)&&s(l,B+"._inputDomain").set(null);if("type"===R){var $=V,tt="linear"===U.type&&"log"===I,et="log"===U.type&&"linear"===I;if(tt||et){if($&&$.range)if(U.autorange)tt&&($.range=$.range[1]>$.range[0]?[1,2]:[2,1]);else{var rt=$.range[0],nt=$.range[1];tt?(rt<=0&&nt<=0&&E(B+".autorange",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),E(B+".range[0]",Math.log(rt)/Math.LN10),E(B+".range[1]",Math.log(nt)/Math.LN10)):(E(B+".range[0]",Math.pow(10,rt)),E(B+".range[1]",Math.pow(10,nt)))}else E(B+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,U,I,E),u.getComponentMethod("images","convertCoords")(t,U,I,E)}else E(B+".autorange",!0),E(B+".range",null);s(l,B+"._inputRange").set(null)}else if(R.match(M)){var at=s(l,O).get(),it=(I||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,at,it,E),u.getComponentMethod("images","convertCoords")(t,at,it,E)}var ot=w.containerArrayMatch(O);if(ot){r=ot.array,n=ot.index;var st=ot.property,lt=G||{editType:"calc"};""!==n&&""===st&&(w.isAddVal(I)?S[O]=null:w.isRemoveVal(I)?S[O]=(s(i,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,lt),m[r]||(m[r]={});var ct=m[r][n];ct||(ct=m[r][n]={}),ct[st]=I,delete e[O]}else"reverse"===R?(V.range?V.range.reverse():(E(B+".autorange",!0),V.range=[1,0]),U.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===I||"select"===I)&&"lasso"!==H&&"select"!==H?_.plot=!0:l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,z.set(I))}}for(r in m){w.applyContainerArrayChanges(t,f(i,r),m[r],_,f)||(_.plot=!0)}var ut=l._axisConstraintGroups||[];for(L in C)for(n=0;n<ut.length;n++){var ht=ut[n];if(ht[L])for(var ft in _.calc=!0,ht)C[ft]||(d.getFromId(t,ft)._constraintShrinkable=!0)}return(K(t)||e.height||e.width)&&(_.plot=!0),(_.plot||_.calc)&&(_.layoutReplot=!0),{flags:_,rangesAltered:C,undoit:S,redoit:T,eventData:v}}function K(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&f.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function Q(t,e,n,a){if(t=o.getGraphDiv(t),k.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var i=k.coerceTraceIndices(t,a),s=U(t,o.extendFlat({},e),i),l=s.flags,u=J(t,o.extendFlat({},n)),h=u.flags;(l.calc||h.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&k.clearAxisTypes(t,i,n);var p=[];h.layoutReplot?p.push(T.layoutReplot):l.fullReplot?p.push(r.plot):(p.push(f.previousPromises),G(t,h,u)||f.supplyDefaults(t),l.style&&p.push(T.doTraceStyle),(l.colorbars||h.colorbars)&&p.push(T.doColorBars),h.legend&&p.push(T.doLegend),h.layoutstyle&&p.push(T.layoutStyles),h.axrange&&Y(p,u.rangesAltered),h.ticks&&p.push(T.doTicksRelayout),h.modebar&&p.push(T.doModeBar),h.camera&&p.push(T.doCamera),p.push(L)),p.push(f.rehover,f.redrag),c.add(t,Q,[t,s.undoit,u.undoit,s.traces],Q,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then(function(){return t.emit("plotly_update",{data:s.eventData,layout:u.eventData}),t})}function $(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var tt=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],et=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function rt(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=t.match(n.pattern);if(a)return{head:a[1],attr:n.attr}}}function nt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(".");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function at(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function it(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function ot(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function st(t,e,r,n){var a,i,l,c=n.getValObject,u=n.flags,h=n.immutable,f=n.inArray,p=n.arrayIndex;function d(){var t=a.editType;f&&-1!==t.indexOf("arraydraw")?o.pushUnique(u.arrays[f],p):(A.update(u,a),"none"!==t&&u.nChanges++,n.transition&&a.anim&&u.nChangesAnim++,(W.test(l)||X.test(l))&&(u.rangesAltered[r[0]]=1),Z.test(l)&&s(e,"_inputDomain").set(null),"datarevision"===i&&(u.newDataRevision=1))}function g(t){return"data_array"===t.valType||t.arrayOk}for(i in t){if(u.calc&&!n.transition)return;var v=t[i],m=e[i],y=r.concat(i);if(l=y.join("."),"_"!==i.charAt(0)&&"function"!=typeof v&&v!==m){if(("tick0"===i||"dtick"===i)&&"geo"!==r[0]){var x=e.tickmode;if("auto"===x||"array"===x||!x)continue}if(("range"!==i||!e.autorange)&&("zmin"!==i&&"zmax"!==i||"contourcarpet"!==e.type)&&(a=c(y))&&(!a._compareAsJSON||JSON.stringify(v)!==JSON.stringify(m))){var b,_=a.valType,w=g(a),k=Array.isArray(v),T=Array.isArray(m);if(k&&T){var M="_input_"+i,S=t[M],E=e[M];if(Array.isArray(S)&&S===E)continue}if(void 0===m)w&&k?u.calc=!0:d();else if(a._isLinkedToArray){var L=[],C=!1;f||(u.arrays[i]=L);var P=Math.min(v.length,m.length),O=Math.max(v.length,m.length);if(P!==O){if("arraydraw"!==a.editType){d();continue}C=!0}for(b=0;b<P;b++)st(v[b],m[b],y.concat(b),o.extendFlat({inArray:i,arrayIndex:b},n));if(C)for(b=P;b<O;b++)L.push(b)}else!_&&o.isPlainObject(v)?st(v,m,y,n):w?k&&T?(h&&(u.calc=!0),(h||n.newDataRevision)&&d()):k!==T?u.calc=!0:d():k&&T&&v.length===m.length&&String(v)===String(m)||d()}}}for(i in e)if(!(i in t||"_"===i.charAt(0)||"function"==typeof e[i])){if(g(a=c(r.concat(i)))&&Array.isArray(e[i]))return void(u.calc=!0);d()}}function lt(t){var e=n.select(t),r=t._fullLayout;if(r._container=e.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var a={};n.selectAll("defs").each(function(){this.id&&(a[this.id.split("-")[1]]=1)}),r._uid=o.randstr(a)}r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var i=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=i.append("g").classed("imagelayer",!0),r._shapeLowerLayer=i.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var s=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=s.append("g").classed("imagelayer",!0),r._shapeUpperLayer=s.append("g").classed("shapelayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),t.emit("plotly_framework")}r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var a=(r=f.supplyAnimationDefaults(r)).transition,i=r.frame;function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(i,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,k.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,v=0;function m(t){return Array.isArray(a)?v>=a.length?t.transitionOpts=a[v]:t.transitionOpts=a[0]:t.transitionOpts=a,v++,t}var y=[],x=null==e,b=Array.isArray(e);if(x||b||!o.isPlainObject(e)){if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:"byname",name:String(g.name),data:m({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==["number","string"].indexOf(typeof _)?(_=String(_),y.push({type:"byname",name:_,data:m({name:_})})):o.isPlainObject(_)&&y.push({type:"object",data:m(o.extendFlat({},_))})}}else y.push({type:"object",data:m(o.extendFlat({},e))});for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: "'+g.data.name+'"'),void u();-1!==["next","immediate"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit("plotly_animationinterrupted",[])}}(),"reverse"===r.direction&&y.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var T=-1;for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&g.name===w){T=d;break}if(T>0&&T<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],("byname"!==y[d].type||d>T)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var a=0;a<e.length;a++){var o;o="byname"===e[a].type?f.computeFrame(t,e[a].name):e[a].data;var h=l(a),d=s(a);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[a].name,frameOpts:h,transitionOpts:d};a===e.length-1&&(g.onComplete=c(i,2),g.onInterrupt=u),n._frameQueue.push(g)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit("plotly_animated"),i())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/");var n,a,i,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+e);var h=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(u[g]||d[g]||{}).name,m=e[n].name,y=u[v]||d[v];v&&m&&"number"==typeof m&&y&&S<E&&(S++,o.warn('addFrames: overwriting frame "'+(u[v]||d[v]).name+'" with a frame whose name of type "number" also equates to "'+v+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),S===E&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if("number"==typeof(a=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;u[a.name="frame "+t._transitionData._counter++];);if(u[a.name]){for(i=0;i<l.length&&(l[i]||{}).name!==a.name;i++);x.push({type:"replace",index:i,value:a}),b.unshift({type:"replace",index:i,value:l[i]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:"insert",index:s,value:a}),b.unshift({type:"delete",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,T=[t,b],A=[t,x];return c&&c.add(t,w,T,k,A),f.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);var r,n,a=t._transitionData._frames,i=[],s=[];if(!e)for(e=[],r=0;r<a.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],i.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:a[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,i];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,i)},r.addTraces=function t(e,n,a){e=o.getGraphDiv(e);var i,s,l=[],u=r.deleteTraces,h=t,f=[e,l],p=[e,n];for(function(t,e,r){var n,a;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if("object"!=typeof(a=e[n])||Array.isArray(a)||null===a)throw new Error("all values in traces array must be non-array objects");if("undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&r.length!==e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}(e,n,a),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),k.cleanData(n),i=0;i<n.length;i++)e.data.push(n[i]);for(i=0;i<n.length;i++)l.push(-n.length+i);if("undefined"==typeof a)return s=r.redraw(e),c.add(e,u,f,h,p),s;Array.isArray(a)||(a=[a]);try{D(e,l,a)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return c.startSequence(e),c.add(e,u,f,h,p),s=r.moveTraces(e,l,a),c.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var a,i,s=[],l=r.addTraces,u=t,h=[e,s,n],f=[e,n];if("undefined"==typeof n)throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),I(e,n,"indices"),(n=z(n,e.data.length-1)).sort(o.sorterDes),a=0;a<n.length;a+=1)i=e.data.splice(n[a],1)[0],s.push(i);var p=r.redraw(e);return c.add(e,l,h,u,f),p},r.extendTraces=function t(e,n,a,i){var s=R(e=o.getGraphDiv(e),n,a,i,function(t,e,r){var n,a;if(o.isTypedArray(t))if(r<0){var i=new t.constructor(0),s=F(t,e);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),a.set(t),a.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),a.set(t.subarray(0,u))}else n=t.concat(e),a=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,a]}),l=r.redraw(e),u=[e,s.update,a,s.maxPoints];return c.add(e,r.prependTraces,u,t,arguments),l},r.moveTraces=function t(e,n,a){var i,s=[],l=[],u=t,h=t,f=[e=o.getGraphDiv(e),a,n],p=[e,n,a];if(D(e,n,a),n=Array.isArray(n)?n:[n],"undefined"==typeof a)for(a=[],i=0;i<n.length;i++)a.push(-n.length+i);for(a=Array.isArray(a)?a:[a],n=z(n,e.data.length-1),a=z(a,e.data.length-1),i=0;i<e.data.length;i++)-1===n.indexOf(i)&&s.push(e.data[i]);for(i=0;i<n.length;i++)l.push({newIndex:a[i],trace:e.data[n[i]]});for(l.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<l.length;i+=1)s.splice(l[i].newIndex,0,l[i].trace);e.data=s;var d=r.redraw(e);return c.add(e,u,f,h,p),d},r.prependTraces=function t(e,n,a,i){var s=R(e=o.getGraphDiv(e),n,a,i,function(t,e,r){var n,a;if(o.isTypedArray(t))if(r<=0){var i=new t.constructor(0),s=F(e,t);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),a.set(e.subarray(l)),a.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),a.set(t.subarray(c))}else n=e.concat(t),a=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,a]}),l=r.redraw(e),u=[e,s.update,a,s.maxPoints];return c.add(e,r.extendTraces,u,t,arguments),l},r.newPlot=function(t,e,n,a){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),f.purge(t),r.plot(t,e,n,a)},r.plot=function(t,e,a,i){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(e)){var c=e;e=c.data,a=c.layout,i=c.config,s=c.frames}if(!1===l.triggerHandler(t,"plotly_beforeplot",[e,a,i]))return Promise.reject();e||a||o.isPlotDiv(t)||o.warn("Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.",t),O(t,i),a||(a={}),n.select(t).classed("js-plotly-plot",!0),g.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var h=0===(t.data||[]).length&&Array.isArray(e);Array.isArray(e)&&(k.cleanData(e),h?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!h||(t.layout=k.cleanLayout(a)),f.supplyDefaults(t);var v=t._fullLayout,y=v._has("cartesian");if(!v._has("polar")&&e&&e[0]&&e[0].r)return o.log("Legacy polar charts are deprecated!"),function(t,e,r){var a=n.select(t).selectAll(".plot-container").data([0]);a.enter().insert("div",":first-child").classed("plot-container plotly",!0);var i=a.selectAll(".svg-container").data([0]);i.enter().append("div").classed("svg-container",!0).style("position","relative"),i.html(""),e&&(t.data=e),r&&(t.layout=r),p.manager.fillLayout(t),i.style({width:t._fullLayout.width+"px",height:t._fullLayout.height+"px"}),t.framework=p.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title?t._fullLayout.title.text:"";""!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},h=s.select(".title-group text").call(u);if(t._context.edits.titleText){var d=o._(t,"Click to enter Plot title");c&&c!==d||(l=.2,h.attr({"data-unformatted":d}).text(d).style({opacity:l}).on("mouseover.opacity",function(){n.select(this).transition().duration(100).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(1e3).style("opacity",0)}));var g=function(){this.call(x.makeEditable,{gd:t}).on("edit",function(e){t.framework({layout:{title:{text:e}}}),this.text(e).call(u),this.call(g)}).on("cancel",function(){var t=this.attr("data-unformatted");this.text(t).call(u)})};h.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,a);v._replotting=!0,h&&lt(t),t.framework!==lt&&(t.framework=lt,lt(t)),g.initGradients(t),h&&d.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&f.doCalcdata(t);for(var _=0;_<t.calcdata.length;_++)t.calcdata[_][0].trace=t._fullData[_];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||f.resize(t)},window.addEventListener("resize",t._responsiveChartHandler)):o.clearResponsive(t);var w=o.extendFlat({},v._size),A=0;function M(){if(f.clearAutoMarginIds(t),T.drawMarginPushers(t),d.allowAutoMargin(t),v._has("pie"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];"pie"===n.type&&n.automargin&&f.allowAutoMargin(t,"pie."+n.uid+".automargin")}return f.doAutoMargin(t),f.previousPromises(t)}function S(){t._transitioning||(T.doAutoRangeAndConstraints(t),h&&d.saveRangeInitial(t),u.getComponentMethod("rangeslider","calcAutorange")(t))}var E=[f.previousPromises,function(){if(s)return r.addFrames(t,s)},function e(){for(var r=v._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!v._glcanvas&&v._has("gl")&&(v._glcanvas=v._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],function(t){return t.key}),v._glcanvas.enter().append("canvas").attr("class",function(t){return"gl-canvas gl-canvas-"+t.key.replace("Layer","")}).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"})),v._glcanvas){v._glcanvas.attr("width",v.width).attr("height",v.height);var a=v._glcanvas.data()[0].regl;if(a&&(Math.floor(v.width)!==a._gl.drawingBufferWidth||Math.floor(v.height)!==a._gl.drawingBufferHeight)){var i="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(!A)return o.log(i+" Clearing graph and plotting again."),f.cleanPlot([],{},t._fullData,v),f.supplyDefaults(t),v=t._fullLayout,f.doCalcdata(t),A++,e();o.error(i)}}return"h"===v.modebar.orientation?v._modebardiv.style("height",null).style("width","100%"):v._modebardiv.style("width",null).style("height",v.height+"px"),f.previousPromises(t)},M,function(){if(f.didMarginChange(w,v._size))return o.syncOrAsync([M,T.layoutStyles],t)}];y&&E.push(function(){if(b)return o.syncOrAsync([u.getComponentMethod("shapes","calcAutorange"),u.getComponentMethod("annotations","calcAutorange"),S],t);S()}),E.push(T.layoutStyles),y&&E.push(function(){return d.draw(t,h?"":"redraw")}),E.push(T.drawData,T.finalDraw,m,f.addLinks,f.rehover,f.redrag,f.doAutoMargin,f.previousPromises);var C=o.syncOrAsync(E,t);return C&&C.then||(C=Promise.resolve()),C.then(function(){return L(t),t})},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return f.cleanPlot([],{},r,e),f.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},r.react=function(t,e,n,a){var i,l;t=o.getGraphDiv(t),k.clearPromiseQueue(t);var c=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&c&&p){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,a=d.config,i=d.frames}var g=!1;if(a){var v=o.extendDeep({},t._context);t._context=void 0,O(t,a),g=function t(e,r){var n;for(n in e)if("_"!==n.charAt(0)){var a=e[n],i=r[n];if(a!==i)if(o.isPlainObject(a)&&o.isPlainObject(i)){if(t(a,i))return!0}else{if(!Array.isArray(a)||!Array.isArray(i))return!0;if(a.length!==i.length)return!0;for(var s=0;s<a.length;s++)if(a[s]!==i[s]){if(!o.isPlainObject(a[s])||!o.isPlainObject(i[s]))return!0;if(t(a[s],i[s]))return!0}}}}(v,t._context)}t.data=e||[],k.cleanData(t.data),t.layout=n||{},k.cleanLayout(t.layout),function(t,e,r,n){var a,i,l,c,u,h,f,p,d=n._preGUI,g=[],v={};for(a in d){if(u=rt(a,tt)){if(i=u.attr||u.head+".uirevision",(c=(l=s(n,i).get())&&nt(i,e))&&c===l&&(null===(h=d[a])&&(h=void 0),ot(p=(f=s(e,a)).get(),h))){void 0===p&&"autorange"===a.substr(a.length-9)&&g.push(a.substr(0,a.length-10)),f.set(N(s(n,a).get()));continue}}else o.warn("unrecognized GUI edit: "+a);delete d[a],"range["===a.substr(a.length-8,6)&&(v[a.substr(0,a.length-9)]=1)}for(var m=0;m<g.length;m++){var y=g[m];if(v[y]){var x=s(e,y).get();x&&delete x.autorange}}var b=n._tracePreGUI;for(var _ in b){var w,k=b[_],T=null;for(a in k){if(!T){var A=at(_,r);if(A<0){delete b[_];break}var M=it(_,t,(w=r[A]._fullInput).index);if(M<0){delete b[_];break}T=t[M]}if(u=rt(a,et)){if(u.attr?c=(l=s(n,u.attr).get())&&nt(u.attr,e):(l=w.uirevision,void 0===(c=T.uirevision)&&(c=e.uirevision)),c&&c===l&&(null===(h=k[a])&&(h=void 0),ot(p=(f=s(T,a)).get(),h))){f.set(N(s(w,a).get()));continue}}else o.warn("unrecognized GUI edit: "+a+" in trace uid "+_);delete k[a]}}}(t.data,t.layout,c,p),f.supplyDefaults(t,{skipUpdateCalc:!0});var m=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=y.transition,_=function(t,e,r,n,a){var i=A.layoutFlags();return i.arrays={},i.rangesAltered={},i.nChanges=0,i.nChangesAnim=0,st(e,r,[],{getValObject:function(t){return h.getLayoutValObject(r,t)},flags:i,immutable:n,transition:a,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0),a&&i.nChanges&&i.nChangesAnim&&(i.anim=i.nChanges===i.nChangesAnim?"all":"some"),i}(t,p,y,x,b),w=_.newDataRevision,M=function(t,e,r,n,a,i){var o=e.length===r.length;if(!a&&!o)return{fullReplot:!0,calc:!0};var s,l,c=A.traceFlags();c.arrays={},c.nChanges=0,c.nChangesAnim=0;var u={getValObject:function(t){var e=h.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:c,immutable:n,transition:a,newDataRevision:i,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,f.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,st(e[s]._fullInput,l,[],u)}return(c.calc||c.plot)&&(c.fullReplot=!0),a&&c.nChanges&&c.nChangesAnim&&(c.anim=c.nChanges===c.nChangesAnim&&o?"all":"some"),c}(t,c,m,x,b,w);K(t)&&(_.layoutReplot=!0),M.calc||_.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,m);var S=[];if(i&&(t._transitionData={},f.createTransitionData(t),S.push(function(){return r.addFrames(t,i)})),y.transition&&!g&&(M.anim||_.anim))f.doCalcdata(t),T.doAutoRangeAndConstraints(t),S.push(function(){return f.transitionFromReact(t,M,_,p)});else if(M.fullReplot||_.layoutReplot||g)t._fullLayout._skipDefaults=!0,S.push(r.plot);else{for(var E in _.arrays){var C=_.arrays[E];if(C.length){var P=u.getComponentMethod(E,"drawOne");if(P!==o.noop)for(var z=0;z<C.length;z++)P(t,C[z]);else{var I=u.getComponentMethod(E,"draw");if(I===o.noop)throw new Error("cannot draw components: "+E);I(t)}}}S.push(f.previousPromises),M.style&&S.push(T.doTraceStyle),(M.colorbars||_.colorbars)&&S.push(T.doColorBars),_.legend&&S.push(T.doLegend),_.layoutstyle&&S.push(T.layoutStyles),_.axrange&&Y(S),_.ticks&&S.push(T.doTicksRelayout),_.modebar&&S.push(T.doModeBar),_.camera&&S.push(T.doCamera),S.push(L)}S.push(f.rehover,f.redrag),(l=o.syncOrAsync(S,t))&&l.then||(l=Promise.resolve(t))}else l=r.newPlot(t,e,n,a);return l.then(function(){return t.emit("plotly_react",{data:e,layout:n}),t})},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return k.cleanData(t.data),k.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit("plotly_redraw"),t})},r.relayout=H,r.restyle=B,r.setPlotConfig=function(t){return o.extendFlat(_,t)},r.update=Q,r._guiRelayout=$(H),r._guiRestyle=$(B),r._guiUpdate=$(Q),r._storeDirectGUIEdit=function(t,e,r){for(var n in r)V(n,s(t,n).get(),r[n],e)}},{"../components/color":591,"../components/drawing":612,"../constants/xmlns_namespaces":693,"../lib":716,"../lib/events":706,"../lib/queue":731,"../lib/svg_text_utils":740,"../plots/cartesian/axes":764,"../plots/cartesian/constants":770,"../plots/cartesian/graph_interact":773,"../plots/cartesian/select":781,"../plots/plots":825,"../plots/polar/legacy":833,"../registry":845,"./edit_types":747,"./helpers":748,"./manage_arrays":750,"./plot_config":752,"./plot_schema":753,"./subroutines":755,d3:164,"fast-isnumeric":227,"has-hover":411}],752:[function(t,e,r){"use strict";var n={staticPlot:{valType:"boolean",dflt:!1},plotlyServerURL:{valType:"string",dflt:"https://plot.ly"},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"boolean",dflt:1},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},a={};!function t(e,r){for(var n in e){var a=e[n];a.valType?r[n]=a.dflt:(r[n]||(r[n]={}),t(a,r[n]))}}(n,a),e.exports={configAttributes:n,dfltConfig:a}},{}],753:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib"),i=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("./plot_config").configAttributes,u=t("../plots/polar/legacy/area_attributes"),h=t("../plots/polar/legacy/axis_attributes"),f=t("./edit_types"),p=a.extendFlat,d=a.extendDeepAll,g=a.isPlainObject,v=a.isArrayOrTypedArray,m=a.nestedProperty,y=a.valObjectMeta,x="_isSubplotObj",b="_isLinkedToArray",_=[x,b,"_arrayAttrRegexps","_deprecated"];function w(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(k(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!g(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!k(e[++r]))return!1}else if("info_array"===t.valType){var a=e[++r];if(!k(a))return!1;var i=t.items;if(Array.isArray(i)){if(a>=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!k(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function k(t){return t===Math.round(t)&&t>=0}function T(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):g(t)&&(t.role="object")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[b];if(!n)return;delete t[b],r[e]={items:{}},r[e].items[n]=t,r[e].role="object"})}(t),function(t){!function t(e){for(var r in e)if(g(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function A(t,e,r){var n=m(t,r),a=d({},e.layoutAttributes);a[x]=!0,n.set(a)}function M(t,e,r){var n=m(t,r);n.set(d(n.get()||{},e))}r.IS_SUBPLOT_OBJ=x,r.IS_LINKED_TO_ARRAY=b,r.DEPRECATED="_deprecated",r.UNDERSCORE_ATTRS=_,r.get=function(){var t={};n.allTypes.concat("area").forEach(function(e){t[e]=function(t){var e,a;"area"===t?(e={attributes:u},a={}):(e=n.modules[t]._module,a=e.basePlotModule);var o={type:null},s=d({},i),l=d({},e.attributes);r.crawl(l,function(t,e,r,n,a){m(s,a).set(void 0),void 0===t&&m(l,a).set(void 0)}),d(o,s),n.traceIs(t,"noOpacity")&&delete o.opacity;n.traceIs(t,"showLegend")||(delete o.showlegend,delete o.legendgroup);n.traceIs(t,"noHover")&&(delete o.hoverinfo,delete o.hoverlabel);e.selectPoints||delete o.selectedpoints;d(o,l),a.attributes&&d(o,a.attributes);o.type=t;var c={meta:e.meta||{},categories:e.categories||{},animatable:Boolean(e.animatable),type:t,attributes:T(o)};if(e.layoutAttributes){var h={};d(h,e.layoutAttributes),c.layoutAttributes=T(h)}e.animatable||r.crawl(c,function(t){r.isValObject(t)&&"anim"in t&&delete t.anim});return c}(e)});var e,a={};return Object.keys(n.transformsRegistry).forEach(function(t){a[t]=function(t){var e=n.transformsRegistry[t],r=d({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var a=n.componentsRegistry[e];a.schema&&a.schema.transforms&&a.schema.transforms[t]&&Object.keys(a.schema.transforms[t]).forEach(function(e){M(r,a.schema.transforms[t][e],e)})}),{attributes:T(r)}}(t)}),{defs:{valObjects:y,metaKeys:_.concat(["description","role","editType","impliedEdits"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in d(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var a=0;a<e.attr.length;a++)A(r,e,e.attr[a]);else{var i="subplot"===e.attr?e.name:e.attr;A(r,e,i)}for(t in r=function(t){return p(t,{radialaxis:h.radialaxis,angularaxis:h.angularaxis}),p(t,h.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else"colorscale"===e.name?d(r,e.layoutAttributes):e.layoutAttributes&&M(r,e.layoutAttributes,e.name)}return{layoutAttributes:T(r)}}(),transforms:a,frames:(e={frames:d({},s)},T(e),e.frames),animation:T(l),config:T(c)}},r.crawl=function(t,e,n,a){var i=n||0;a=a||"",Object.keys(t).forEach(function(n){var o=t[n];if(-1===_.indexOf(n)){var s=(a?a+".":"")+n;e(o,n,t,i,s),r.isValObject(o)||g(o)&&"impliedEdits"!==n&&r.crawl(o,e,i+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,a=[],o=[],s=[];function l(t,r,i,l){o=o.slice(0,l).concat([r]),s=s.slice(0,l).concat([t&&t._isLinkedToArray]),t&&("data_array"===t.valType||!0===t.arrayOk)&&!("colorbar"===o[l-1]&&("ticktext"===r||"tickvals"===r))&&function t(e,r,i){var l=e[o[r]];var c=i+o[r];if(r===o.length-1)v(l)&&a.push(n+c);else if(s[r]){if(Array.isArray(l))for(var u=0;u<l.length;u++)g(l[u])&&t(l[u],r+1,c+"["+u+"].")}else g(l)&&t(l,r+1,c+".")}(e,0,"")}e=t,n="",r.crawl(i,l),t._module&&t._module.attributes&&r.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var u=0;u<c.length;u++){var h=c[u],f=h._module;f&&(n="transforms["+u+"].",e=h,r.crawl(f.attributes,l))}return a},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if("transforms"===o){if(1===e.length)return i.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var c=e[1];if(!k(c)||c>=l.length)return!1;a=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)a=u[o];else{var h=t._module;if(h||(h=(n.modules[t.type||i.type.dflt]||{})._module),!h)return!1;if(!(a=(r=h.attributes)&&r[o])){var f=h.basePlotModule;f&&f.attributes&&(a=f.attributes[o])}a||(a=i[o])}return w(a,e,s)},r.getLayoutValObject=function(t,e){return w(function(t,e){var r,a,i,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((i=l[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!c&&i.layoutAttributes&&(c=i.layoutAttributes)}var u=i.baseLayoutAttrOverrides;if(u&&e in u)return u[e]}if(c)return c}var f=t._modules;if(f)for(r=0;r<f.length;r++)if((s=f[r].layoutAttributes)&&e in s)return s[e];for(a in n.componentsRegistry){if("colorscale"===(i=n.componentsRegistry[a]).name&&0===e.indexOf("coloraxis"))return i.layoutAttributes[e];if(!i.schema&&e===i.name)return i.layoutAttributes}if(e in o)return o[e];if("radialaxis"===e||"angularaxis"===e)return h[e];return h.layout[e]||!1}(t,e[0]),e,1)}},{"../lib":716,"../plots/animation_attributes":759,"../plots/attributes":761,"../plots/frame_attributes":791,"../plots/layout_attributes":816,"../plots/polar/legacy/area_attributes":831,"../plots/polar/legacy/axis_attributes":832,"../registry":845,"./edit_types":747,"./plot_config":752}],754:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/attributes"),i="templateitemname",o={name:{valType:"string",editType:"none"}};function s(t){return t&&"string"==typeof t}function l(t){var e=t.length-1;return"s"!==t.charAt(e)&&n.warn("bad argument to arrayDefaultKey: "+t),t.substr(0,t.length-1)+"defaults"}o[i]={valType:"string",editType:"calc"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=o.name,e[i]=o[i],e},r.traceTemplater=function(t){var e,r,i={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(i[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},a,"type"),_template:null};if(e in i){r=t[e];var l=i[e]%r.length;i[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var a=t._template,i=a&&(a[e]||r&&a[r]);return n.isPlainObject(i)||(i=null),t[e]={_template:i}},r.arrayTemplater=function(t,e,r){var n=t._template,a=n&&n[l(e)],o=n&&n[e];Array.isArray(o)&&o.length||(o=[]);var c={};return{newItem:function(t){var e={name:t.name,_input:t},n=e[i]=t[i];if(!s(n))return e._template=a,e;for(var l=0;l<o.length;l++){var u=o[l];if(u.name===n)return c[n]=1,e._template=u,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<o.length;e++){var r=o[e],n=r.name;if(s(n)&&!c[n]){var a={_template:r,name:n,_input:{_templateitemname:n}};a[i]=r[i],t.push(a),c[n]=1}}return t}}},r.arrayDefaultKey=l,r.arrayEditor=function(t,e,r){var a=(n.nestedProperty(t,e).get()||[]).length,o=r._index,s=o>=a&&(r._input||{})._templateitemname;s&&(o=a);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][i]=s)}function h(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function f(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:h,getUpdateObj:f,applyUpdate:function(e,r){e&&h(e,r);var a=f();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{"../lib":716,"../plots/attributes":761}],755:[function(t,e,r){"use strict";var n=t("d3"),a=t("../registry"),i=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),h=t("../components/modebar"),f=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,v=d.clean,m=t("../plots/cartesian/autorange").doAutoRange,y="start",x="middle",b="end";function _(t,e,r){for(var n=0;n<r.length;n++){var a=r[n][0],i=r[n][1];if(!(a[0]>=t[1]||a[1]<=t[0])&&(i[0]<e[1]&&i[1]>e[0]))return!0}return!1}function w(t){var e,a,s,u,d,g,v=t._fullLayout,m=v._size,y=m.p,x=f.list(t,"",!0);if(v._paperdiv.style({width:t._context.responsive&&v.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":v.width+"px",height:t._context.responsive&&v.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":v.height+"px"}).selectAll(".main-svg").call(c.setSize,v.width,v.height),t._context.setBackground(t,v.paper_bgcolor),r.drawMainTitle(t),h.manage(t),!v._has("cartesian"))return i.previousPromises(t);function b(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-y-n:e._offset+e._length+y+n:m.t+m.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+y+n:e._offset-y-n:m.l+m.w*(t.position||0)+n%1}for(e=0;e<x.length;e++){var w=(u=x[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=b(u,w,u.side),u._mainMirrorPosition=u.mirror&&w?b(u,w,p.OPPOSITE_SIDE[u.side]):null}var T=[],M=[],S=[],E=1===l.opacity(v.paper_bgcolor)&&1===l.opacity(v.plot_bgcolor)&&v.paper_bgcolor===v.plot_bgcolor;for(a in v._plots)if((s=v._plots[a]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,P=s.plotgroup;if(_(L,C,S)){var O=P.node(),z=s.bg=o.ensureSingle(P,"rect","bg");O.insertBefore(z.node(),O.childNodes[0]),M.push(a)}else P.select("rect.bg").remove(),S.push([L,C]),E||(T.push(a),M.push(a))}var I,D,R,F,B,N,j,V,U,q,H,G,Y,W=v._bgLayer.selectAll(".bg").data(T);for(W.enter().append("rect").classed("bg",!0),W.exit().remove(),W.each(function(t){v._plots[t].bg=n.select(this)}),e=0;e<M.length;e++)s=v._plots[M[e]],d=s.xaxis,g=s.yaxis,s.bg&&s.bg.call(c.setRect,d._offset-y,g._offset-y,d._length+2*y,g._length+2*y).call(l.fill,v.plot_bgcolor).style("stroke-width",0);if(!v._hasOnlyLargeSploms)for(a in v._plots){s=v._plots[a],d=s.xaxis,g=s.yaxis;var X,Z,J=s.clipId="clip"+v._uid+a+"plot",K=o.ensureSingleById(v._clips,"clipPath",J,function(t){t.classed("plotclip",!0).append("rect")});s.clipRect=K.select("rect").attr({width:d._length,height:g._length}),c.setTranslate(s.plot,d._offset,g._offset),s._hasClipOnAxisFalse?(X=null,Z=J):(X=J,Z=null),c.setClipUrl(s.plot,X,t),s.layerClipId=Z}function Q(t){return"M"+I+","+t+"H"+D}function $(t){return"M"+d._offset+","+t+"h"+d._length}function tt(t){return"M"+t+","+V+"V"+j}function et(t){return"M"+t+","+g._offset+"v"+g._length}function rt(t,e,r){if(!t.showline||a!==t._mainSubplot)return"";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(a in v._plots){s=v._plots[a],d=s.xaxis,g=s.yaxis;var nt="M0,0";k(d,a)&&(B=A(d,"left",g,x),I=d._offset-(B?y+B:0),N=A(d,"right",g,x),D=d._offset+d._length+(N?y+N:0),R=b(d,g,"bottom"),F=b(d,g,"top"),!(Y=!d._anchorAxis||a!==d._mainSubplot)||"allticks"!==d.mirror&&"all"!==d.mirror||(d._linepositions[a]=[R,F]),nt=rt(d,Q,$),Y&&d.showline&&("all"===d.mirror||"allticks"===d.mirror)&&(nt+=Q(R)+Q(F)),s.xlines.style("stroke-width",d._lw+"px").call(l.stroke,d.showline?d.linecolor:"rgba(0,0,0,0)")),s.xlines.attr("d",nt);var at="M0,0";k(g,a)&&(H=A(g,"bottom",d,x),j=g._offset+g._length+(H?y:0),G=A(g,"top",d,x),V=g._offset-(G?y:0),U=b(g,d,"left"),q=b(g,d,"right"),!(Y=!g._anchorAxis||a!==g._mainSubplot)||"allticks"!==g.mirror&&"all"!==g.mirror||(g._linepositions[a]=[U,q]),at=rt(g,tt,et),Y&&g.showline&&("all"===g.mirror||"allticks"===g.mirror)&&(at+=tt(U)+tt(q)),s.ylines.style("stroke-width",g._lw+"px").call(l.stroke,g.showline?g.linecolor:"rgba(0,0,0,0)")),s.ylines.attr("d",at)}return f.makeClipPaths(t),i.previousPromises(t)}function k(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||"all"===t.mirror||"allticks"===t.mirror)}function T(t,e,r){if(!r.showline||!r._lw)return!1;if("all"===r.mirror||"allticks"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var a=p.FROM_BL[e];return r.side===e?n.domain[a]===t.domain[a]:r.mirror&&n.domain[1-a]===t.domain[1-a]}function A(t,e,r,n){if(T(t,e,r))return r._lw;for(var a=0;a<n.length;a++){var i=n[a];if(i._mainAxis===r._mainAxis&&T(t,e,i))return i._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([i.doAutoMargin,w],t)},r.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r=x;o.isRightAnchor(e)?r=b:o.isLeftAnchor(e)&&(r=y);return r}(e),n=function(t){var e=t.title,r="0em";o.isTopAnchor(e)?r=p.CAP_SHIFT+"em":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+"em");return r}(e);u.draw(t,"gtitle",{propContainer:e,propName:"title.text",placeholder:e._dfltTitle.plot,attributes:{x:function(t,e){var r=t.title,n=t._size,a=0;e===y?a=r.pad.l:e===b&&(a=-r.pad.r);switch(r.xref){case"paper":return n.l+n.w*r.x+a;case"container":default:return t.width*r.x+a}}(e,r),y:function(t,e){var r=t.title,n=t._size,a=0;"0em"!==e&&e?e===p.CAP_SHIFT+"em"&&(a=r.pad.t):a=-r.pad.b;if("auto"===r.y)return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+a;case"container":default:return t.height-t.height*r.y+a}}(e,n),"text-anchor":r,dy:n}})},r.doTraceStyle=function(t){var e,n=t.calcdata,o=[];for(e=0;e<n.length;e++){var l=n[e],c=l[0]||{},u=c.trace||{},h=u._module||{},f=h.arraysToCalcdata;f&&f(l,u);var p=h.editStyle;p&&o.push({fn:p,cd0:c})}if(o.length){for(e=0;e<o.length;e++){var d=o[e];d.fn(t,d.cd0)}s(t),r.redrawReglTraces(t)}return i.style(t),a.getComponentMethod("legend","draw")(t),i.previousPromises(t)},r.doColorBars=function(t){return a.getComponentMethod("colorbar","draw")(t),i.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,a.call("plot",t,"",e)},r.doLegend=function(t){return a.getComponentMethod("legend","draw")(t),i.previousPromises(t)},r.doTicksRelayout=function(t){return f.draw(t,"redraw"),t._fullLayout._hasOnlyLargeSploms&&(a.subplotsRegistry.splom.updateGrid(t),s(t),r.redrawReglTraces(t)),r.drawMainTitle(t),i.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;h.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return i.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var a=e[r[n]];a._scene.setViewport(a)}},r.drawData=function(t){var e=t._fullLayout;s(t);for(var n=e._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return r.redrawReglTraces(t),i.style(t),a.getComponentMethod("shapes","draw")(t),a.getComponentMethod("annotations","draw")(t),a.getComponentMethod("images","draw")(t),e._replotting=!1,i.previousPromises(t)},r.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has("regl")){var r,n,a=t._fullData,i=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<a.length;r++){var l=a[r];!0===l.visible&&0!==l._length&&("splom"===l.type?e._splomScenes[l.uid].draw():"scattergl"===l.type?o.pushUnique(i,l.xaxis+l.yaxis):"scatterpolargl"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<i.length;r++)(n=e._plots[i[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},r.doAutoRangeAndConstraints=function(t){for(var e,r,n=t._fullLayout,a=f.list(t,"",!0),i=n._axisMatchGroups||[],s=0;s<a.length;s++)e=a[s],v(t,e),m(t,e);g(t);t:for(var l=0;l<i.length;l++){var c,u=i[l],h=null;for(c in u){if(!1===(e=f.getFromId(t,c)).autorange)continue t;r=o.simpleMap(e.range,e.r2l),h?h[0]<h[1]?(h[0]=Math.min(h[0],r[0]),h[1]=Math.max(h[1],r[1])):(h[0]=Math.max(h[0],r[0]),h[1]=Math.min(h[1],r[1])):h=r}for(c in u)(e=f.getFromId(t,c)).range=o.simpleMap(h,e.l2r),e._input.range=e.range.slice(),e.setScale()}},r.finalDraw=function(t){a.getComponentMethod("rangeslider","draw")(t),a.getComponentMethod("rangeselector","draw")(t)},r.drawMarginPushers=function(t){a.getComponentMethod("legend","draw")(t),a.getComponentMethod("rangeselector","draw")(t),a.getComponentMethod("sliders","draw")(t),a.getComponentMethod("updatemenus","draw")(t),a.getComponentMethod("colorbar","draw")(t)}},{"../components/color":591,"../components/drawing":612,"../components/modebar":649,"../components/titles":678,"../constants/alignment":685,"../lib":716,"../lib/clear_gl_canvases":701,"../plots/cartesian/autorange":763,"../plots/cartesian/axes":764,"../plots/cartesian/constraints":771,"../plots/plots":825,"../registry":845,d3:164}],756:[function(t,e,r){"use strict";var n=t("../lib"),a=n.isPlainObject,i=t("./plot_schema"),o=t("../plots/plots"),s=t("../plots/attributes"),l=t("./plot_template"),c=t("./plot_config").dfltConfig;function u(t,e){t=n.extendDeep({},t);var r,i,o=Object.keys(t).sort();function s(e,r,n){if(a(r)&&a(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(i=0;i<r.length;i++){var s=r[i],c=o.newItem(s)._template;c&&u(c,s)}var h=o.defaultItems();for(i=0;i<h.length;i++)r.push(h[i]._template);for(i=0;i<r.length;i++)delete r[i].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],f=t[c];if(c in e?s(f,e[c],c):e[c]=f,h(c)===c)for(var p in e){var d=h(p);p===d||d!==c||p in t||s(f,e[p],c)}}}function h(t){return t.replace(/[0-9]+$/,"")}function f(t,e,r,i,o){var s=o&&r(o);for(var c in t){var u=t[c],d=p(t,c,i),g=p(t,c,o),v=r(g);if(!v){var m=h(c);m!==c&&(v=r(g=p(t,m,o)))}if((!s||s!==v)&&!(!v||v._noTemplating||"data_array"===v.valType||v.arrayOk&&Array.isArray(u)))if(!v.valType&&a(u))f(u,e,r,d,g);else if(v._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(a(w)){var k=w.name;if(k)b[k]||(f(w,e,r,p(u,x,d),p(u,x,g)),x++,b[k]=1);else if(!y){var T=p(t,l.arrayDefaultKey(c),i),A=p(u,x,d);f(w,e,r,A,p(u,x,g));var M=n.nestedProperty(e,A);n.nestedProperty(e,T).set(M.get()),M.set(null),y=!0}}}else{n.nestedProperty(e,d).set(u)}}}function p(t,e,r){return r?Array.isArray(t)?r+"["+e+"]":r+"."+e:e}function d(t){for(var e=0;e<t.length;e++)if(a(t[e]))return!0}function g(t){var e;switch(t.code){case"data":e="The template has no key data.";break;case"layout":e="The template has no key layout.";break;case"missing":e=t.path?"There are no templates for item "+t.path+" with name "+t.templateitemname:"There are no templates for trace "+t.index+", of type "+t.traceType+".";break;case"unused":e=t.path?"The template item at "+t.path+" was not used in constructing the plot.":t.dataCount?"Some of the templates of type "+t.traceType+" were not used. The template has "+t.templateCount+" traces, the data only has "+t.dataCount+" of this type.":"The template has "+t.templateCount+" traces of type "+t.traceType+" but there are none in the data.";break;case"reused":e="Some of the templates of type "+t.traceType+" were used more than once. The template has "+t.templateCount+" traces, the data has "+t.dataCount+" of this type."}return t.msg=e,t}r.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:c},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var l={data:{},layout:{}};e.forEach(function(t){var e={};f(t,e,function(t,e){return i.getTraceValObject(t,n.nestedProperty({},e).parts)}.bind(null,t));var r=n.coerce(t,{},s,"type"),a=l.data[r];a||(a=l.data[r]=[]),a.push(e)}),f(r,l.layout,function(t,e){return i.getLayoutValObject(t,n.nestedProperty({},e).parts)}.bind(null,r)),delete l.layout.template;var h=r.template;if(a(h)){var p,d,g,v,m,y,x=h.layout;a(x)&&u(x,l.layout);var b=h.data;if(a(b)){for(d in l.data)if(g=b[d],Array.isArray(g)){for(y=(m=l.data[d]).length,v=g.length,p=0;p<y;p++)u(g[p%v],m[p]);for(p=y;p<v;p++)m.push(n.extendDeep({},g[p]))}for(d in b)d in l.data||(l.data[d]=n.extendDeep([],b[d]))}}return l},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),i=r.layout||{};a(e)||(e=i.template||{});var s=e.layout,l=e.data,u=[];r.layout=i,r.layout.template=e,o.supplyDefaults(r);var f=r._fullLayout,v=r._fullData,m={};if(a(s)?(!function t(e,r){for(var n in e)if("_"!==n.charAt(0)&&a(e[n])){var i,o=h(n),s=[];for(i=0;i<r.length;i++)s.push(p(e,n,r[i])),o!==n&&s.push(p(e,o,r[i]));for(i=0;i<s.length;i++)m[s[i]]=1;t(e[n],s)}}(f,["layout"]),function t(e,r){for(var n in e)if(-1===n.indexOf("defaults")&&a(e[n])){var i=p(e,n,r);m[i]?t(e[n],i):u.push({code:"unused",path:i})}}(s,"layout")):u.push({code:"layout"}),a(l)){for(var y,x={},b=0;b<v.length;b++){var _=v[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:"missing",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,k=x[y]||0;w>k?u.push({code:"unused",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var i=e[n],o=p(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&u.push({code:"missing",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&d(i)&&t(i,o)}}({data:v,layout:f},""),u.length)return u.map(g)}},{"../lib":716,"../plots/attributes":761,"../plots/plots":825,"./plot_config":752,"./plot_schema":753,"./plot_template":754}],757:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./plot_api"),i=t("../lib"),o=t("../snapshot/helpers"),s=t("../snapshot/tosvg"),l=t("../snapshot/svgtoimg"),c={format:{valType:"enumerated",values:["png","jpeg","webp","svg"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,u,h,f;function p(t){return!(t in e)||i.validate(e[t],c[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},h=t.config||{},f={}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),h=t._context,f=t._fullLayout||{}),!p("width")&&null!==e.width||!p("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!p("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var d={};function g(t,r){return i.coerce(e,d,c,t,r)}var v=g("format"),m=g("width"),y=g("height"),x=g("scale"),b=g("setBackground"),_=g("imageDataOnly"),w=document.createElement("div");w.style.position="absolute",w.style.left="-5000px",document.body.appendChild(w);var k=i.extendFlat({},u);m?k.width=m:null===e.width&&n(f.width)&&(k.width=f.width),y?k.height=y:null===e.height&&n(f.height)&&(k.height=f.height);var T=i.extendFlat({},h,{_exportedPlot:!0,staticPlot:!0,setBackground:b}),A=o.getRedrawFunc(w);function M(){return new Promise(function(t){setTimeout(t,o.getDelay(w._fullLayout))})}function S(){return new Promise(function(t,e){var r=s(w,v,x),n=w._fullLayout.width,c=w._fullLayout.height;if(a.purge(w),document.body.removeChild(w),"svg"===v)return t(_?r:o.encodeSVG(r));var u=document.createElement("canvas");u.id=i.randstr(),l({format:v,width:n,height:c,scale:x,canvas:u,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){a.plot(w,r,k,T).then(A).then(M).then(S).then(function(e){t(function(t){return _?t.replace(o.IMAGE_URL_PREFIX,""):t}(e))}).catch(function(t){e(t)})})}},{"../lib":716,"../snapshot/helpers":849,"../snapshot/svgtoimg":851,"../snapshot/tosvg":853,"./plot_api":751,"fast-isnumeric":227}],758:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/plots"),i=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,a,i,o){o=o||[];for(var h=Object.keys(t),f=0;f<h.length;f++){var v=h[f];if("transforms"!==v){var m=o.slice();m.push(v);var y=t[v],x=e[v],b=g(r,v),_="info_array"===(b||{}).valType,w="colorscale"===(b||{}).valType,k=(b||{}).items;if(d(r,v))if(s(y)&&s(x))u(y,x,b,a,i,m);else if(_&&l(y)){y.length>x.length&&a.push(p("unused",i,m.concat(x.length)));var T,A,M,S,E,L=x.length,C=Array.isArray(k);if(C&&(L=Math.min(L,k.length)),2===b.dimensions)for(A=0;A<L;A++)if(l(y[A])){y[A].length>x[A].length&&a.push(p("unused",i,m.concat(A,x[A].length)));var P=x[A].length;for(T=0;T<(C?Math.min(P,k[A].length):P);T++)M=C?k[A][T]:k,S=y[A][T],E=x[A][T],n.validate(S,M)?E!==S&&E!==+S&&a.push(p("dynamic",i,m.concat(A,T),S,E)):a.push(p("value",i,m.concat(A,T),S))}else a.push(p("array",i,m.concat(A),y[A]));else for(A=0;A<L;A++)M=C?k[A]:k,S=y[A],E=x[A],n.validate(S,M)?E!==S&&E!==+S&&a.push(p("dynamic",i,m.concat(A),S,E)):a.push(p("value",i,m.concat(A),S))}else if(b.items&&!_&&l(y)){var O,z,I=k[Object.keys(k)[0]],D=[];for(O=0;O<x.length;O++){var R=x[O]._index||O;if((z=m.slice()).push(R),s(y[R])&&s(x[O])){D.push(R);var F=y[R],B=x[O];s(F)&&!1!==F.visible&&!1===B.visible?a.push(p("invisible",i,z)):u(F,B,I,a,i,z)}}for(O=0;O<y.length;O++)(z=m.slice()).push(O),s(y[O])?-1===D.indexOf(O)&&a.push(p("unused",i,z)):a.push(p("object",i,z,y[O]))}else!s(y)&&s(x)?a.push(p("object",i,m,y)):c(y)||!c(x)||_||w?v in e?n.validate(y,b)?"enumerated"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&a.push(p("dynamic",i,m,y,x)):a.push(p("value",i,m,y)):a.push(p("unused",i,m,y)):a.push(p("array",i,m,y));else a.push(p("schema",i,m))}}return a}e.exports=function(t,e){var r,c,h=i.get(),f=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],f.push(p("array","data"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&f.push(p("object","layout"))),a.supplyDefaults(d);for(var g=d._fullData,v=r.length,m=0;m<v;m++){var y=r[m],x=["data",m];if(s(y)){var b=g[m],_=b.type,w=h.traces[_].attributes;w.type={valType:"enumerated",values:[_]},!1===b.visible&&!1!==y.visible&&f.push(p("invisible",x)),u(y,b,w,f,x);var k=y.transforms,T=b.transforms;if(k){l(k)||f.push(p("array",x,["transforms"])),x.push("transforms");for(var A=0;A<k.length;A++){var M=["transforms",A],S=k[A].type;if(s(k[A])){var E=h.transforms[S]?h.transforms[S].attributes:{};E.type={valType:"enumerated",values:Object.keys(h.transforms)},u(k[A],T[A],E,f,x,M)}else f.push(p("object",x,M))}}}else f.push(p("object",x))}return u(c,d._fullLayout,function(t,e){for(var r=t.layout.layoutAttributes,a=0;a<e.length;a++){var i=e[a],o=t.traces[i.type],s=o.layoutAttributes;s&&(i.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}(h,g),f,"layout"),0===f.length?void 0:f};var h={object:function(t,e){return("layout"===t&&""===e?"The layout argument":"data"===t[0]&&""===e?"Trace "+t[1]+" in the data argument":f(t)+"key "+e)+" must be linked to an object container"},array:function(t,e){return("data"===t?"The data argument":f(t)+"key "+e)+" must be linked to an array container"},schema:function(t,e){return f(t)+"key "+e+" is not part of the schema"},unused:function(t,e,r){var n=s(r)?"container":"key";return f(t)+n+" "+e+" did not get coerced"},dynamic:function(t,e,r,n){return[f(t)+"key",e,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(t,e){return(e?f(t)+"item "+e:"Trace "+t[1])+" got defaulted to be not visible"},value:function(t,e,r){return[f(t)+"key "+e,"is set to an invalid value ("+r+")"].join(" ")}};function f(t){return l(t)?"In data trace "+t[1]+", ":"In "+t+", "}function p(t,e,r,a,i){var o,s;r=r||"",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e="",r=0;r<t.length;r++){var n=t[r];"number"==typeof n?e=e.substr(0,e.length-1)+"["+n+"]":e+=n,r<t.length-1&&(e+=".")}return e}(r),u=h[t](e,c,a,i);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=m(e),n=r.keyMinusId,a=r.id;return!!(n in t&&t[n]._isSubplotObj&&a)||e in t}function g(t,e){return e in t?t[e]:t[m(e).keyMinusId]}var v=n.counterRegex("([a-z]+)");function m(t){var e=t.match(v);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{"../lib":716,"../plots/plots":825,"./plot_config":752,"./plot_schema":753}],759:[function(t,e,r){"use strict";e.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}},{}],760:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_template");e.exports=function(t,e,r){var i,o,s=r.name,l=r.inclusionAttr||"visible",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],h=e[s]=[],f=a.arrayTemplater(e,s,l);for(i=0;i<u.length;i++){var p=u[i];n.isPlainObject(p)?o=f.newItem(p):(o=f.newItem({}))[l]=!1,o._index=i,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),h.push(o)}var d=f.defaultItems();for(i=0;i<d.length;i++)(o=d[i])._index=h.length,r.handleItemDefaults({},o,e,r,{}),h.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,h.length);for(i=0;i<g;i++)n.relinkPrivateKeys(h[i],c[i])}return h}},{"../lib":716,"../plot_api/plot_template":754}],761:[function(t,e,r){"use strict";var n=t("../components/fx/attributes");e.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:n.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}},{"../components/fx/attributes":621}],762:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],763:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").FP_SAFE,o=t("../../registry");function s(t,e){var r,n,i=[],o=l(e),s=c(t,e),u=s.min,h=s.max;if(0===u.length||0===h.length)return a.simpleMap(e.range,e.r2l);var f=u[0].val,p=h[0].val;for(r=1;r<u.length&&f===p;r++)f=Math.min(f,u[r].val);for(r=1;r<h.length&&f===p;r++)p=Math.max(p,h[r].val);var d=!1;if(e.range){var g=a.simpleMap(e.range,e.r2l);d=g[1]<g[0]}"reversed"===e.autorange&&(d=!0,e.autorange=!0);var v,m,y,x,b,_,w=e.rangemode,k="tozero"===w,T="nonnegative"===w,A=e._length,M=A/10,S=0;for(r=0;r<u.length;r++)for(v=u[r],n=0;n<h.length;n++)(_=(m=h[n]).val-v.val)>0&&((b=A-o(v)-o(m))>M?_/b>S&&(y=v,x=m,S=_/b):_/A>S&&(y={val:v.val,pad:0},x={val:m.val,pad:0},S=_/A));if(f===p){var E=f-1,L=f+1;if(k)if(0===f)i=[0,1];else{var C=(f>0?h:u).reduce(function(t,e){return Math.max(t,o(e))},0),P=f/(1-Math.min(.5,C/A));i=f>0?[0,P]:[P,0]}else i=T?[Math.max(0,E),Math.max(1,L)]:[E,L]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):T&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(A-o(y)-o(x)),i=[y.val-S*o(y),x.val+S*o(x)];return d&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function l(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,a,i=e._id,o=t._fullData,s=t._fullLayout,l=[],c=[];function f(t,e){for(r=0;r<e.length;r++){var o=t[e[r]],s=(o._extremes||{})[i];if(!0===o.visible&&s){for(n=0;n<s.min.length;n++)a=s.min[n],u(l,a.val,a.pad,{extrapad:a.extrapad});for(n=0;n<s.max.length;n++)a=s.max[n],h(c,a.val,a.pad,{extrapad:a.extrapad})}}}return f(o,e._traceIndices),f(s.annotations||[],e._annIndices||[]),f(s.shapes||[],e._shapeIndices||[]),{min:l,max:c}}function u(t,e,r,n){f(t,e,r,n,d)}function h(t,e,r,n){f(t,e,r,n,g)}function f(t,e,r,n,a){for(var i=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(a(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}a(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=i&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function p(t){return n(t)&&Math.abs(t)<i}function d(t,e){return t<=e}function g(t,e){return t>=e}e.exports={getAutoRange:s,makePadFn:l,doAutoRange:function(t,e){if(e.setScale(),e.autorange){e.range=s(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+".range"]=e.range,n[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var i=e._anchorAxis;if(i&&i.rangeslider){var l=i.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=s(t,e)),i._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var a,o,s,l,c,f,d,g,v,m=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,k=!1,T=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!k){if(g=1/0,v=-1/0,w)for(a=0;a<x;a++)(o=e[a])<g&&o>0&&(g=o),o>v&&o<i&&(v=o);else for(a=0;a<x;a++)(o=e[a])<g&&o>-i&&(g=o),o>v&&o<i&&(v=o);e=[g,v],x=2}var C={tozero:_,extrapad:b};function P(r){s=e[r],n(s)&&(f=M(r),d=S(r),T?(l=t.c2l(s)-L(r),c=t.c2l(s)+E(r)):(g=s-L(r),v=s+E(r),w&&g<v/10&&(g=v/10),l=t.c2l(g),c=t.c2l(v)),_&&(l=Math.min(0,l),c=Math.max(0,c)),p(l)&&u(m,l,d,C),p(c)&&h(y,c,f,C))}var O=Math.min(6,x);for(a=0;a<O;a++)P(a);for(a=x-1;a>=O;a--)P(a);return{min:m,max:y,opts:r}},concatExtremes:c}},{"../../constants/numerical":692,"../../lib":716,"../../registry":845,"fast-isnumeric":227}],764:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),h=t("../../components/drawing"),f=t("./layout_attributes"),p=t("./clean_ticks"),d=t("../../constants/numerical"),g=d.ONEAVGYEAR,v=d.ONEAVGMONTH,m=d.ONEDAY,y=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=d.MINUS_SIGN,w=d.BADNUM,k=t("../../constants/alignment"),T=k.MID_SHIFT,A=k.CAP_SHIFT,M=k.LINE_SPACING,S=k.OPPOSITE_SIDE,E=e.exports={};E.setConvert=t("./set_convert");var L=t("./axis_autotype"),C=t("./axis_ids");E.id2name=C.id2name,E.name2id=C.name2id,E.cleanId=C.cleanId,E.list=C.list,E.listIds=C.listIds,E.getFromId=C.getFromId,E.getFromTrace=C.getFromTrace;var P=t("./autorange");E.getAutoRange=P.getAutoRange,E.findExtremes=P.findExtremes,E.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return a||(a=l[0]||i),i||(i=a),u[c]={valType:"enumerated",values:l.concat(i?[i]:[]),dflt:a},s.coerce(t,e,u,c)},E.coercePosition=function(t,e,r,n,a,i){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(a,i);else{var c=E.getFromId(e,n);l=r(a,i=c.fraction2r(i)),o=c.cleanPos}t[a]=o(l)},E.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:E.getFromId(e,r).cleanPos)(t)},E.redrawComponents=function(t,e){e=e||E.listIds(t);var r=t._fullLayout;function n(n,a,i,s){for(var l=o.getComponentMethod(n,a),c={},u=0;u<e.length;u++)for(var h=r[E.id2name(e[u])][i],f=0;f<h.length;f++){var p=h[f];if(!c[p]&&(l(t,p),c[p]=1,s))return}}n("annotations","drawOne","_annIndices"),n("shapes","drawOne","_shapeIndices"),n("images","draw","_imgIndices",!0)};var O=E.getDataConversions=function(t,e,r,n){var a,i="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(i)){if(a={type:L(n),_categories:[]},E.setConvert(a),"category"===a.type)for(var o=0;o<n.length;o++)a.d2c(n[o])}else a=E.getFromTrace(t,e,i);return a?{d2c:a.d2c,c2d:a.c2d}:"ids"===i?{d2c:I,c2d:I}:{d2c:z,c2d:z}};function z(t){return+t}function I(t){return String(t)}E.getDataToCoordFunc=function(t,e,r,n){return O(t,e,r,n).d2c},E.counterLetter=function(t){var e=t.charAt(0);return"x"===e?"y":"y"===e?"x":void 0},E.minDtick=function(t,e,r,n){-1===["log","category","multicategory"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},E.saveRangeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a=0;a<r.length;a++){var i=r[a],o=void 0===i._rangeInitial,s=o||!(i.range[0]===i._rangeInitial[0]&&i.range[1]===i._rangeInitial[1]);(o&&!1===i.autorange||e&&s)&&(i._rangeInitial=i.range.slice(),n=!0)}return n},E.saveShowSpikeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a="on",i=0;i<r.length;i++){var o=r[i],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),"on"!==a||o.showspikes||(a="off")}return t._fullLayout._cartesianSpikesEnabled=a,n},E.autoBin=function(t,e,r,n,i,o){var l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if("category"===e.type||"multicategory"===e.type)return{start:c-.5,end:u+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:u-c};if(i||(i=e.calendar),l="log"===e.type?{type:"linear",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,i),calendar:i},E.setConvert(l),o=o&&p.dtick(o,l.type))l.dtick=o,l.tick0=p.tick0(void 0,l.type,i);else{var h;if(r)h=(u-c)/r;else{var f=s.distinctVals(t),d=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),g=d*s.roundUp(f.minDiff/d,[.9,1.9,4.9,9.9],!0);h=Math.max(g,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),a(h)||(h=1)}E.autoTicks(l,h)}var v,y=l.dtick,x=E.tickIncrement(E.tickFirst(l),y,"reverse",i);if("number"==typeof y)v=(x=function(t,e,r,n,i){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:a(e[h])||c++,u(e[h])&&o++,u(e[h]+r.dtick/2)&&s++;var f=e.length-c;if(l===f&&"date"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*f&&(o>.3*f||u(n)||u(i))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(x,t,l,c,u))+(1+Math.floor((u-x)/y))*y;else for("M"===l.dtick.charAt(0)&&(x=function(t,e,r,n,a){var i=s.findExactDates(e,a);if(i.exactDays>.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=E.tickIncrement(t,"M6","reverse")+1.5*m:i.exactMonths>.8?t=E.tickIncrement(t,"M1","reverse")+15.5*m:t-=m/2;var l=E.tickIncrement(t,r);if(l<=n)return l}return t}(x,t,y,c,i)),v=x,0;v<=u;)v=E.tickIncrement(v,y,!1,i),0;return{start:e.c2r(x,0,i),end:e.c2r(v,0,i),size:y,_dataSpan:u-c}},E.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type||"multicategory"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),E.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),q(t)},E.calcTicks=function(t){E.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),a=s.simpleMap(t.range,t.r2l),i=1.0001*a[0]-1e-4*a[1],o=1.0001*a[1]-1e-4*a[0],l=Math.min(i,o),c=Math.max(i,o),u=0;Array.isArray(r)||(r=[]);var h="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var f=0;f<e.length;f++){var p=h(e[f]);p>l&&p<c&&(void 0===r[f]?n[u]=E.tickText(t,p):n[u]=H(t,p,String(r[f])),u++)}u<e.length&&n.splice(u,e.length-u);return n}(t);t._tmin=E.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var o=[];"category"!==t.type&&"multicategory"!==t.type||(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var l="log"===t.type&&!(a(t.dtick)||"L"===t.dtick.charAt(0)),c=null,u=Math.max(1e3,t._length||0),h=t._tmin;(i?h>=n:h<=n)&&!(o.length>u||h===c);h=E.tickIncrement(h,t.dtick,i,t.calendar)){c=h;var f=!1;l&&h!==(0|h)&&(f=!0),o.push({minor:f,value:h})}it(t)&&360===Math.abs(e[1]-e[0])&&o.pop(),t._tmax=(o[o.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;for(var p=new Array(o.length),d=0;d<o.length;d++)p[d]=E.tickText(t,o[d].value,!1,o[d].minor);return t._inCalcTicks=!1,p};var D=[2,5,10],R=[1,2,3,6,12],F=[1,2,5,10,15,30],B=[1,2,3,7,14],N=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],j=[-.301,0,.301,.699,1],V=[15,30,45,90,180];function U(t,e,r){return e*s.roundUp(t/e,r)}function q(t){var e=t.dtick;if(t._tickexponent=0,a(e)||"string"==typeof e||(e=1),"category"!==t.type&&"multicategory"!==t.type||(t._tickround=null),"date"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,""),i=n.length;if("M"===String(e).charAt(0))i>10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=m&&i<=10||e>=15*m)t._tickround="d";else if(e>=x&&i<=16||e>=y)t._tickround="M";else if(e>=b&&i<=19||e>=x)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);a(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(Y(t.exponentformat)&&!W(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function H(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}E.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var i=2*e;i>g?(e/=g,r=n(10),t.dtick="M"+12*U(e,r,D)):i>v?(e/=v,t.dtick="M"+U(e,1,R)):i>m?(t.dtick=U(e,m,B),t.tick0=s.dateTick0(t.calendar,!0)):i>y?t.dtick=U(e,y,R):i>x?t.dtick=U(e,x,F):i>b?t.dtick=U(e,b,F):(r=n(10),t.dtick=U(e,r,D))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+U(e,r,D)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):it(t)?(t.tick0=0,r=1,t.dtick=U(e,r,V)):(t.tick0=0,r=n(10),t.dtick=U(e,r,D));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},E.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,i);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?j:N,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(e)},E.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),i=r[1]<r[0],o=i?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(a(c)){var h=o((l-u)/c)*c+u;return"category"!==t.type&&"multicategory"!==t.type||(h=s.constrain(h,0,t._categories.length-1)),h}var f=c.charAt(0),p=Number(c.substr(1));if("M"===f){for(var d,g,v,m=0,y=u;m<10;){if(((d=E.tickIncrement(y,c,i,t.calendar))-l)*(y-l)<=0)return i?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),v=f+(Math.abs(Math.round(g))||1)*p,y=E.tickIncrement(y,v,g<0?!i:i,t.calendar),m++}return s.error("tickFirst did not converge",t),y}if("L"===f)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if("D"===f){var x="D2"===c?j:N,b=s.roundUp(s.mod(l,1),x,i);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw"unrecognized dtick "+String(c)},E.tickText=function(t,e,r,n){var i,o=H(t,e),l="array"===t.tickmode,c=r||l,u=t.type,h="category"===u?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),p=Math.abs(f[1]-f[0])/1e4;for(i=0;i<t.ticktext.length&&!(Math.abs(e-h(t.tickvals[i]))<p);i++);if(i<t.ticktext.length)return o.text=String(t.ticktext[i]),o}function d(n){if(void 0===n)return!0;if(r)return"none"===n;var a={first:t._tmin,last:t._tmax}[n];return"all"!==n&&e!==a}var g=r?"never":"none"!==t.exponentformat&&d(t.showexponent)?"hide":"";if("date"===u?function(t,e,r,n){var i=t._tickround,o=r&&t.hoverformat||E.getTickFormat(t);n&&(i=a(i)?4:{y:"m",m:"d",d:"M",M:"S",S:4}[i]);var l,c=s.formatDate(e.x,o,i,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf("\n");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&("00:00:00"===c||"00:00"===c?(c=l,l=""):8===c.length&&(c=c.replace(/:00$/,"")));l&&(r?"d"===i?c+=", "+l:c=l+(c?", "+c:""):t._inCalcTicks&&l===t._prevDateHead||(c+="<br>"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,i){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===i&&(i="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=X(Math.pow(10,l),t,i,n);else if(a(o)||"D"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;"power"===p||Y(p)&&W(h)?(e.text=0===h?1:1===h?"10":"10<sup>"+(h>1?"":_)+f+"</sup>",e.fontSize*=1.25):("e"===p||"E"===p)&&f>2?e.text="1"+p+(h>0?"+":_)+f:(e.text=X(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?"":String(a[1]),o=void 0===a[0]?"":String(a[0]);r?e.text=o+" - "+i:(e.text=i,e.text2=o)}(t,o,r):it(t)?function(t,e,r,n,a){if("radians"!==t.thetaunit||r)e.text=X(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=X(s.deg2rad(e.x),t,a,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["<sup>",o[0],"</sup>","\u2044","<sub>",o[1],"</sub>","\u03c0"].join(""),l&&(e.text=_+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,a){"never"===a?a="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a="hide");e.text=X(e.x,t,a,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var v=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[v(o.x-.5),v(o.x+t.dtick-.5)]}return o},E.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return E.hoverLabelText(t,e)+" - "+E.hoverLabelText(t,r);var n="log"===t.type&&e<=0,a=E.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":_+a:a};var G=["f","p","n","\u03bc","m","","k","M","G","T"];function Y(t){return"SI"===t||"B"===t}function W(t){return t>14||t<-15}function X(t,e,r,n){var i=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=E.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};q(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))<d)t="0",i=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+="0"}else{var v=(t=String(t)).indexOf(".")+1;v&&(t=t.substr(0,v+o).replace(/\.?0+$/,""))}t=s.numSeparate(t,e._separators,h)}c&&"hide"!==l&&(Y(l)&&W(c)&&(l="power"),p=c<0?_+-c:"power"!==l?"+"+c:String(c),"e"===l||"E"===l?t+=l+p:"power"===l?t+="\xd710<sup>"+p+"</sup>":"B"===l&&9===c?t+="B":Y(l)&&(t+=G[c/3+5]));return i?_+t:t}function Z(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function J(t){var e=t.title.font.size,r=(t.title.text.match(l.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty("standoff")?r?e*(A+r*M):e*A:r?e*(r+1)*M:e}function K(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function Q(t){var e=n.select(t),r=e.select(".text-math-group");return r.empty()?e.select("text"):r}function $(t){return t._id+".automargin"}function tt(t){return $(t)+".mirror"}function et(t){return t._id+".rangeslider"}function rt(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function nt(t,e,r){var n,a,i=[],o=[],l=t.layout;for(n=0;n<e.length;n++)i.push(E.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(E.getFromId(t,r[n]));var c=Object.keys(f),u=["anchor","domain","overlaying","position","side","tickangle","editType"],h=["linear","log"];for(n=0;n<c.length;n++){var p=c[n],d=i[0][p],g=o[0][p],v=!0,m=!1,y=!1;if("_"!==p.charAt(0)&&"function"!=typeof d&&-1===u.indexOf(p)){for(a=1;a<i.length&&v;a++){var x=i[a][p];"type"===p&&-1!==h.indexOf(d)&&-1!==h.indexOf(x)&&d!==x?m=!0:x!==d&&(v=!1)}for(a=1;a<o.length&&v;a++){var b=o[a][p];"type"===p&&-1!==h.indexOf(g)&&-1!==h.indexOf(b)&&g!==b?y=!0:o[a][p]!==g&&(v=!1)}v&&(m&&(l[i[0]._name].type="linear"),y&&(l[o[0]._name].type="linear"),at(l,p,i,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],["?"])}}function at(t,e,r,n,a){var i,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for("title"===e&&(l&&l.text===a.x&&(l.text=a.y),c&&c.text===a.y&&(c.text=a.x)),i=0;i<r.length;i++)o(t,r[i]._name+"."+e).set(c);for(i=0;i<n.length;i++)o(t,n[i]._name+"."+e).set(l)}function it(t){return"angularaxis"===t._id}E.getTickFormat=function(t){var e,r,n,a,i,o,s,l;function c(t){return"string"!=typeof t?t:Number(t.replace("M",""))*v}function u(t,e){var r=["L","D"];if(typeof t==typeof e){if("number"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),a=r.indexOf(e.charAt(0));return n===a?Number(t.replace(/(L|D)/g,""))-Number(e.replace(/(L|D)/g,"")):n-a}return"number"==typeof t?1:-1}function h(t,e){var r=null===e[0],n=null===e[1],a=u(t,e[0])>=0,i=u(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(a=t.dtick,i=n.dtickrange,o=void 0,void 0,void 0,o=c||function(t){return t},s=i[0],l=i[1],(!s&&"number"!=typeof s||o(s)<=o(a))&&(!l&&"number"!=typeof l||o(l)>=o(a)))){r=n;break}break;case"log":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&h(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},E.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),a=e?E.findSubplotsWithAxis(n,e):n;return a.sort(function(t,e){var r=t.substr(1).split("y"),n=e.substr(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),a},E.findSubplotsWithAxis=function(t,e){for(var r=new RegExp("x"===e._id.charAt(0)?"^"+e._id+"y":e._id+"$"),n=[],a=0;a<t.length;a++){var i=t[a];r.test(i)&&n.push(i)}return n},E.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,a,i={_offset:0,_length:e.width,_id:""},o={_offset:0,_length:e.height,_id:""},s=E.list(t,"x",!0),l=E.list(t,"y",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),a=0;a<l.length;a++)0===r&&c.push({x:i,y:l[a]}),c.push({x:s[r],y:l[a]});var u=e._clips.selectAll(".axesclip").data(c,function(t){return t.x._id+t.y._id});u.enter().append("clipPath").classed("axesclip",!0).attr("id",function(t){return"clip"+e._uid+t.x._id+t.y._id}).append("rect"),u.exit().remove(),u.each(function(t){n.select(this).select("rect").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})}},E.draw=function(t,e,r){var n=t._fullLayout;"redraw"===e&&n._paper.selectAll("g.subplot").each(function(t){var e=t[0],r=n._plots[e],a=r.xaxis,i=r.yaxis;r.xaxislayer.selectAll("."+a._id+"tick").remove(),r.yaxislayer.selectAll("."+i._id+"tick").remove(),r.xaxislayer.selectAll("."+a._id+"tick2").remove(),r.yaxislayer.selectAll("."+i._id+"tick2").remove(),r.xaxislayer.selectAll("."+a._id+"divider").remove(),r.yaxislayer.selectAll("."+i._id+"divider").remove(),r.gridlayer&&r.gridlayer.selectAll("path").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+a._id+"title").remove(),n._infolayer.select(".g-"+i._id+"title").remove()});var a=e&&"redraw"!==e?e:E.listIds(t);return s.syncOrAsync(a.map(function(e){return function(){if(e){var n=E.getFromId(t,e),a=E.drawOne(t,n,r);return n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),a}}}))},E.drawOne=function(t,e,r){var n,a,l;r=r||{},e.setScale();var f=t._fullLayout,p=e._id,d=p.charAt(0),g=E.counterLetter(p),v=e._mainLinePosition,m=e._mainMirrorPosition,y=f._plots[e._mainSubplot][d+"axislayer"],x=e._vals=E.calcTicks(e),b=[e.mirror,v,m].join("_");for(n=0;n<x.length;n++)x[n].axInfo=b;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var _={};function w(t){var r=p+(t||"tick");return _[r]||(_[r]=function(t,e){var r,n,a,i;t._selections[e].size()?(r=1/0,n=-1/0,a=1/0,i=-1/0,t._selections[e].each(function(){var t=Q(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),a=Math.min(a,e.left),i=Math.max(i,e.right)})):(r=0,n=0,a=0,i=0);return{top:r,bottom:n,left:a,right:i,height:n-r,width:i-a}}(e,r)),_[r]}if(e.visible){var k,T,A=E.makeTransFn(e);if("boundaries"===e.tickson){var L=function(t,e){var r,n=[],a=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)a(e[r],0);a(e[r-1],1)}return n}(0,x);T=E.clipEnds(e,L),k="inside"===e.ticks?T:L}else T=E.clipEnds(e,x),k="inside"===e.ticks?T:x;var C=e._gridVals=T,P=function(t,e){var r,n,a=[],i=function(t,e){var r=t.xbnd[e];null!==r&&a.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var o=e[r];o.text2!==n&&i(o,0),n=o.text2}i(e[r-1],1)}return a}(e,x);if(!f._hasOnlyLargeSploms){var O=e._subplotsWith,z={};for(n=0;n<O.length;n++){a=O[n];var I=(l=f._plots[a])[g+"axis"],D=I._mainAxis._id;if(!z[D]){z[D]=1;var R="x"===d?"M0,"+I._offset+"v"+I._length:"M"+I._offset+",0h"+I._length;E.drawGrid(t,e,{vals:C,counterAxis:I,layer:l.gridlayer.select("."+p),path:R,transFn:A}),E.drawZeroLine(t,e,{counterAxis:I,layer:l.zerolinelayer,path:R,transFn:A})}}}var F=E.getTickSigns(e),B=[];if(e.ticks){var N,j,V,U=E.makeTickPath(e,v,F[2]);if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(N=E.makeTickPath(e,m,F[3]),j=U+N):(N="",j=U),e.showdividers&&"outside"===e.ticks&&"boundaries"===e.tickson){var q={};for(n=0;n<P.length;n++)q[P[n].x]=1;V=function(t){return q[t.x]?N:j}}else V=j;E.drawTicks(t,e,{vals:k,layer:y,path:V,transFn:A}),"allticks"===e.mirror&&(B=Object.keys(e._linepositions||{}))}for(n=0;n<B.length;n++){a=B[n],l=f._plots[a];var G=e._linepositions[a]||[],Y=E.makeTickPath(e,G[0],F[0])+E.makeTickPath(e,G[1],F[1]);E.drawTicks(t,e,{vals:k,layer:l[d+"axislayer"],path:Y,transFn:A})}var W=[];if(W.push(function(){return E.drawLabels(t,e,{vals:x,layer:y,transFn:A,labelFns:E.makeLabelFns(e,v)})}),"multicategory"===e.type){var X={x:2,y:10}[d];W.push(function(){var r={x:"height",y:"width"}[d],n=w()[r]+X+(e._tickAngles[p+"tick"]?e.tickfont.size*M:0);return E.drawLabels(t,e,{vals:function(t,e){for(var r=[],n={},a=0;a<e.length;a++){var i=e[a];n[i.text2]?n[i.text2].push(i.x):n[i.text2]=[i.x]}for(var o in n)r.push(H(t,s.interp(n[o],.5),o));return r}(e,x),layer:y,cls:p+"tick2",repositionOnUpdate:!0,secondary:!0,transFn:A,labelFns:E.makeLabelFns(e,v+n*F[4])})}),W.push(function(){return e._depth=F[4]*(w("tick2")[e.side]-v),function(t,e,r){var n=e._id+"divider",a=r.vals,i=r.layer.selectAll("path."+n).data(a,Z);i.exit().remove(),i.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(u.stroke,e.dividercolor).style("stroke-width",h.crispRound(t,e.dividerwidth,1)+"px"),i.attr("transform",r.transFn).attr("d",r.path)}(t,e,{vals:P,layer:y,path:E.makeTickPath(e,v,F[4],e._depth),transFn:A})})}else e.title.hasOwnProperty("standoff")&&W.push(function(){e._depth=F[4]*(w()[e.side]-v)});var K=o.getComponentMethod("rangeslider","isVisible")(e);return W.push(function(){var r,n,a,s,l=e.side.charAt(0),c=S[e.side].charAt(0),u=E.getPxPosition(t,e),h="outside"===e.ticks?e.ticklen:0;if((e.automargin||K)&&("multicategory"===e.type?r=w("tick2"):(r=w(),"x"===d&&"b"===l&&(e._depth=Math.max(r.width>0?r.bottom-u:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if("x"===d){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),p.reverse()),r.width>0){var v=r.right-(e._offset+e._length);v>0&&(n.xr=1,n.r=v);var m=e._offset-r.left;m>0&&(n.xl=0,n.l=m)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?u-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-u:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==f._dfltTitle[d]&&(n[l]+=J(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((a={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(a[c]+=h),!0===e.mirror||"ticks"===e.mirror?a[g]=e._anchorAxis.domain[p[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(a[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}K&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),i.autoMargin(t,$(e),n),i.autoMargin(t,tt(e),a),i.autoMargin(t,et(e),s)}),r.skipTitle||K&&"bottom"===e.side||W.push(function(){return function(t,e){var r,n=t._fullLayout,a=e._id,i=a.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+J(e);else{if("multicategory"===e.type)r=e._depth;else{r=10+1.5*o+(e.linewidth?e.linewidth-1:0)}r+="x"===i?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0)}var s,l,u,f,p=E.getPxPosition(t,e);"x"===i?(l=e._offset+e._length/2,u="top"===e.side?p-r:p+r):(u=e._offset+e._length/2,l="right"===e.side?p+r:p-r,s={rotate:"-90",offset:0});if("multicategory"!==e.type){var d=e._selections[e._id+"tick"];if(f={selection:d,side:e.side},d&&d.node()&&d.node().parentNode){var g=h.getTranslate(d.node().parentNode);f.offsetLeft=g.x,f.offsetTop=g.y}e.title.hasOwnProperty("standoff")&&(f.pad=0)}return c.draw(t,a+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[i],avoid:f,transform:s,attributes:{x:l,y:u,"text-anchor":"middle"}})}(t,e)}),s.syncOrAsync(W)}},E.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(a=a.map(function(t){return-t})),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},E.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return"x"===e?function(e){return"translate("+(r+t.l2p(e.x))+",0)"}:function(e){return"translate(0,"+(r+t.l2p(e.x))+")"}},E.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return"x"===a?"M0,"+(e+i*r)+"v"+n*r:"M"+(e+i*r)+",0h"+n*r},E.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),i="boundaries"!==t.tickson&&"outside"===t.ticks,o=0,l=0;if(i&&(o+=t.ticklen),r&&"outside"===t.ticks){var c=s.deg2rad(r);o=t.ticklen*Math.cos(c)+1,l=t.ticklen*Math.sin(c)}t.showticklabels&&(i||t.showline)&&(o+=.2*t.tickfont.size);var u,h,f,p,d={labelStandoff:o+=(t.linewidth||1)/2,labelShift:l};return"x"===n?(p="bottom"===t.side?1:-1,u=l*p,h=e+o*p,f="bottom"===t.side?1:-.2,d.xFn=function(t){return t.dx+u},d.yFn=function(t){return t.dy+h+t.fontSize*f},d.anchorFn=function(t,e){return a(e)&&0!==e&&180!==e?e*p<0?"end":"start":"middle"},d.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side?-n:0}):"y"===n&&(p="right"===t.side?1:-1,u=o,h=-l*p,f=90===Math.abs(t.tickangle)?.5:0,d.xFn=function(t){return t.dx+e+(u+t.fontSize*f)*p},d.yFn=function(t){return t.dy+h+t.fontSize*T},d.anchorFn=function(e,r){return a(r)&&90===Math.abs(r)?"middle":"right"===t.side?"start":"end"},d.heightFn=function(e,r,n){return(r*="left"===t.side?1:-1)<-30?-n:r<30?-.5*n:0}),d},E.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",a=r.layer.selectAll("path."+n).data(e.ticks?r.vals:[],Z);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(u.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},E.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&E.shouldShowZeroLine(t,e,i))for(var o="array"===e.tickmode,s=0;s<a.length;s++){var l=a[s].x;if(o?!l:Math.abs(l)<e.dtick/100){if(a=a.slice(0,s).concat(a.slice(s+1)),!o)break;s--}}var c=r.layer.selectAll("path."+n).data(a,Z);c.exit().remove(),c.enter().append("path").classed(n,1).classed("crisp",!1!==r.crisp),e._gw=h.crispRound(t,e.gridwidth,1),c.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,e.gridcolor||"#ddd").style("stroke-width",e._gw+"px"),"function"==typeof r.path&&c.attr("d",r.path)},E.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",a=E.shouldShowZeroLine(t,e,r.counterAxis),i=r.layer.selectAll("path."+n).data(a?[{x:0,id:e._id}]:[]);i.exit().remove(),i.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each(function(){r.layer.selectAll("path").sort(function(t,e){return C.idSort(t.id,e.id)})}),i.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,e.zerolinecolor||u.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px")},E.drawLabels=function(t,e,r){r=r||{};var i=t._fullLayout,o=e._id,c=o.charAt(0),u=r.cls||o+"tick",f=r.vals,p=r.labelFns,d=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[u],v=r.layer.selectAll("g."+u).data(e.showticklabels?f:[],Z),m=[];function y(t,e){t.each(function(t){var i=n.select(this),o=i.select(".text-math-group"),s=p.anchorFn(t,e),c=r.transFn.call(i.node(),t)+(a(e)&&0!=+e?" rotate("+e+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),u=l.lineCount(i),f=M*t.fontSize,d=p.heightFn(t,a(e)?+e:0,(u-1)*f);if(d&&(c+=" translate(0, "+d+")"),o.empty())i.select("text").attr({transform:c,"text-anchor":s});else{var g=h.bBox(o.node()).width*{end:-.5,start:.5}[s];o.attr("transform",c+(g?"translate("+g+",0)":""))}})}v.enter().append("g").classed(u,1).append("text").attr("text-anchor","middle").each(function(e){var r=n.select(this),a=t._promises.length;r.call(l.positionText,p.xFn(e),p.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),t._promises[a]?m.push(t._promises.pop().then(function(){y(r,d)})):y(r,d)}),v.exit().remove(),r.repositionOnUpdate&&v.each(function(t){n.select(this).select("text").call(l.positionText,p.xFn(t),p.yFn(t))}),y(v,g+1?g:d);var x=null;e._selections&&(e._selections[u]=v);var b=[function(){return m.length&&Promise.all(m)}];e.automargin&&i._redrawFromAutoMarginCount&&90===g?(x=90,b.push(function(){y(v,g)})):b.push(function(){if(y(v,d),f.length&&"x"===c&&!a(d)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=0;var t,n=0,i=[];if(v.each(function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),a=Q(this),o=h.bBox(a.node());i.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})}),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=f.length,l=Math.abs((f[o-1].x-f[0].x)*e._m)/(o-1)<2.5*n||"multicategory"===e.type;for(t=0;t<i.length-1;t++)if(s.bBoxIntersect(i[t],i[t+1])){x=l?90:30;break}}else{var u=2;for(e.ticks&&(u+=e.tickwidth/2),t=0;t<i.length;t++){var p=f[t].xbnd,g=i[t];if(null!==p[0]&&g.left-e.l2p(p[0])<u||null!==p[1]&&e.l2p(p[1])-g.right<u){x=90;break}}}x&&y(v,x)}}),e._tickAngles&&b.push(function(){e._tickAngles[u]=null===x?a(d)?d:0:x});var _=s.syncOrAsync(b);return _&&_.then&&t._promises.push(_),_},E.getPxPosition=function(t,e){var r,n=t._fullLayout._size,a=e._id.charAt(0),i=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===a?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===a&&(r={_offset:n.l+(e.position||0)*n.w,_length:0}),"top"===i||"left"===i?r._offset:"bottom"===i||"right"===i?r._offset+r._length:void 0},E.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&(K(e,0)||!function(t,e,r,n){var a=r._mainAxis;if(!a)return;var i=t._fullLayout,o=e._id.charAt(0),s=E.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==("x"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return"number"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var a=t._linepositions||{};for(var i in a)if(n(a[i][0])||n(a[i][1]))return!0}var u=i._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var h=E.list(t,s),f=0;f<h.length;f++){var p=h[f];if(p._mainAxis===a&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,a=e._id.charAt(0),i=0;i<r.length;i++){var s=r[i];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,"bar-like")&&s.orientation==={x:"h",y:"v"}[a])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===a)return!0}}return!1}(t,e))},E.clipEnds=function(t,e){return e.filter(function(e){return K(t,e.x)})},E.allowAutoMargin=function(t){for(var e=E.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(i.allowAutoMargin(t,$(n)),n.mirror&&i.allowAutoMargin(t,tt(n))),o.getComponentMethod("rangeslider","isVisible")(n)&&i.allowAutoMargin(t,et(n))}},E.swap=function(t,e){for(var r=function(t,e){var r,n,a=[];for(r=0;r<e.length;r++){var i=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<a.length;n++)-1===a[n].x.indexOf(o)&&-1===a[n].y.indexOf(s)||i.push(n);if(i.length){var l,c=a[i[0]];if(i.length>1)for(n=1;n<i.length;n++)l=a[i[n]],rt(c.x,l.x),rt(c.y,l.y);rt(c.x,[o]),rt(c.y,[s])}else a.push({x:[o],y:[s]})}}return a}(t,e),n=0;n<r.length;n++)nt(t,r[n].x,r[n].y)}},{"../../components/color":591,"../../components/drawing":612,"../../components/titles":678,"../../constants/alignment":685,"../../constants/numerical":692,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"./autorange":763,"./axis_autotype":765,"./axis_ids":767,"./clean_ticks":769,"./layout_attributes":776,"./set_convert":782,d3:164,"fast-isnumeric":227}],765:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){return!(r=r||{}).noMultiCategory&&(o=t,a.isArrayOrTypedArray(o[0])&&a.isArrayOrTypedArray(o[1]))?"multicategory":function(t,e){for(var r=Math.max(1,(t.length-1)/1e3),i=0,o=0,s={},l=0;l<t.length;l+=r){var c=t[Math.round(l)],u=String(c);s[u]||(s[u]=1,a.isDateTime(c,e)&&(i+=1),n(c)&&(o+=1))}return i>2*o}(t,e)?"date":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},s=0;s<t.length;s+=e){var l=t[Math.round(s)],c=String(l);o[c]||(o[c]=1,"boolean"==typeof l?n++:a.cleanNumber(l)!==i?r++:"string"==typeof l&&n++)}return n>2*r}(t)?"category":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}(t)?"linear":"-";var o}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],766:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("./layout_attributes"),o=t("./tick_value_defaults"),s=t("./tick_mark_defaults"),l=t("./tick_label_defaults"),c=t("./category_order_defaults"),u=t("./line_grid_defaults"),h=t("./set_convert");e.exports=function(t,e,r,f,p){var d=f.letter,g=f.font||{},v=f.splomStash||{},m=r("visible",!f.visibleDflt),y=e.type;"date"===y&&n.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",f.calendar);h(e,p);var x=!e.isValidRange(t.range);x&&f.reverseDflt&&(x="reversed"),!r("autorange",x)||"linear"!==y&&"-"!==y||r("rangemode"),r("range"),e.cleanRange(),c(t,e,r,f),"category"===y||f.noHover||r("hoverformat");var b=r("color"),_=b!==i.color.dflt?b:g.color,w=v.label||p._dfltTitle[d];if(l(t,e,r,y,f,{pass:1}),!m)return e;r("title.text",w),a.coerceFont(r,"title.font",{family:g.family,size:Math.round(1.2*g.size),color:_}),o(t,e,r,y),l(t,e,r,y,f,{pass:2}),s(t,e,r,f),u(t,e,r,{dfltColor:b,bgColor:f.bgColor,showGrid:f.showGrid,attributes:i}),(e.showline||e.ticks)&&r("mirror"),f.automargin&&r("automargin");var k,T="multicategory"===e.type;f.noTickson||"category"!==e.type&&!T||!e.ticks&&!e.showgrid||(T&&(k="boundaries"),r("tickson",k));T&&(r("showdividers")&&(r("dividercolor"),r("dividerwidth")));return e}},{"../../lib":716,"../../registry":845,"./category_order_defaults":768,"./layout_attributes":776,"./line_grid_defaults":778,"./set_convert":782,"./tick_label_defaults":783,"./tick_mark_defaults":784,"./tick_value_defaults":785}],767:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./constants");r.id2name=function(t){if("string"==typeof t&&t.match(a.AX_ID_PATTERN)){var e=t.substr(1);return"1"===e&&(e=""),t.charAt(0)+"axis"+e}},r.name2id=function(t){if(t.match(a.AX_NAME_PATTERN)){var e=t.substr(5);return"1"===e&&(e=""),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(a.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,"");return"1"===r&&(r=""),t.charAt(0)+r}},r.list=function(t,e,n){var a=t._fullLayout;if(!a)return[];var i,o=r.listIds(t,e),s=new Array(o.length);for(i=0;i<o.length;i++){var l=o[i];s[i]=a[l.charAt(0)+"axis"+l.substr(1)]}if(!n){var c=a._subplots.gl3d||[];for(i=0;i<c.length;i++){var u=a[c[i]];e?s.push(u[e+"axis"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+"axis"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var a=t._fullLayout;return"x"===n?e=e.replace(/y[0-9]*/,""):"y"===n&&(e=e.replace(/x[0-9]*/,"")),a[r.id2name(e)]},r.getFromTrace=function(t,e,a){var i=t._fullLayout,o=null;if(n.traceIs(e,"gl3d")){var s=e.scene;"scene"===s.substr(0,5)&&(o=i[s][a+"axis"])}else o=r.getFromId(t,e[a+"axis"]||a);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++){if(r[n][e])return"g"+n}return e}},{"../../registry":845,"./constants":770}],768:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var a,i=t.categoryarray,o=Array.isArray(i)&&i.length>0;o&&(a="array");var s,l=r("categoryorder",a);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[i+"axis"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][i];for(a=0;a<l.length;a++){var c=l[a];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),"category ascending"===l?e._initialCategories=s:"category descending"===l&&(e._initialCategories=s.reverse()))}}},{}],769:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").ONEDAY;r.dtick=function(t,e){var r="log"===e,a="date"===e,o="category"===e,s=a?i:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:o?Math.max(1,Math.round(t)):a?Math.max(.1,t):t;if("string"!=typeof t||!a&&!r)return s;var l=t.charAt(0),c=t.substr(1);return(c=n(c)?Number(c):0)<=0||!(a&&"M"===l&&c===Math.round(c)||r&&"L"===l||r&&"D"===l&&(1===c||2===c))?s:t},r.tick0=function(t,e,r,i){return"date"===e?a.cleanDate(t,a.dateTick0(r)):"D1"!==i&&"D2"!==i?n(t)?Number(t):0:void 0}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],770:[function(t,e,r){"use strict";var n=t("../../lib/regex").counter;e.exports={idRegex:{x:n("x"),y:n("y")},attrRegex:n("[xy]axis"),xAxisMatch:n("xaxis"),yAxisMatch:n("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},{"../../lib/regex":732}],771:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./axis_ids").id2name,i=t("./scale_zoom"),o=t("./autorange").makePadFn,s=t("./autorange").concatExtremes,l=t("../../constants/numerical").ALMOST_EQUAL,c=t("../../constants/alignment").FROM_BL;function u(t,e,r,n,i){var o,s,l,c,u="range"!==i,h=n[a(e)].type,f=[];for(s=0;s<r.length;s++)if((l=r[s])!==e&&(c=n[a(l)]).type===h)if(c.fixedrange){if(u&&c.anchor){n[a(c.anchor)].fixedrange&&f.push(l)}}else f.push(l);for(o=0;o<t.length;o++)if(t[o][e]){var p=t[o],d=[];for(s=0;s<f.length;s++)p[l=f[s]]||d.push(l);return{linkableAxes:d,thisGroup:p}}return{linkableAxes:f,thisGroup:null}}function h(t,e,r,n,a){var i,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(i=0;i<t.length;i++)if(s=t[i],i!==c&&s[n]){var h=s[n];for(o=0;o<u.length;o++)s[l=u[o]]=h*a*e[l];return void t.splice(c,1)}if(1!==a)for(o=0;o<u.length;o++)e[u[o]]*=a;e[n]=1}function f(t,e){var r=t._inputDomain,n=c[t.constraintoward],a=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[a+(r[0]-a)/e,a+(r[1]-a)/e],t.setScale()}r.handleConstraintDefaults=function(t,e,r,a){var i,o,s,l,c=a.allAxisIds,f=a.layoutOut,p=a.scaleanchorDflt,d=a.constrainDflt,g=f._axisConstraintGroups,v=f._axisMatchGroups,m=e._id,y=m.charAt(0),x=((f._splomAxes||{})[y]||{})[m]||{},b=e._id,_=b.charAt(0),w=r("constrain",d);if(n.coerce(t,e,{constraintoward:{valType:"enumerated",values:"x"===_?["left","center","right"]:["bottom","middle","top"],dflt:"x"===_?"center":"middle"}},"constraintoward"),!t.matches&&!x.matches||e.fixedrange||(o=u(v,b,c,f),i=n.coerce(t,e,{matches:{valType:"enumerated",values:o.linkableAxes||[],dflt:x.matches}},"matches")),i||e.fixedrange&&"domain"!==w||!t.scaleanchor&&!p||(l=u(g,b,c,f,w),s=n.coerce(t,e,{scaleanchor:{valType:"enumerated",values:l.linkableAxes||[]}},"scaleanchor",p)),i?(delete e.constrain,h(v,o.thisGroup,b,i,1)):-1!==c.indexOf(t.matches)&&n.warn("ignored "+e._name+'.matches: "'+t.matches+'" to avoid either an infinite loop or because the target axis has fixed range.'),s){var k=r("scaleratio");k||(k=e.scaleratio=1),h(g,l.thisGroup,b,s,k)}else-1!==c.indexOf(t.scaleanchor)&&n.warn("ignored "+e._name+'.scaleanchor: "'+t.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the target axis has fixed range or this axis declares a *matches* constraint.')},r.enforce=function(t){var e,r,n,c,u,h,p,d=t._fullLayout,g=d._axisConstraintGroups||[];for(e=0;e<g.length;e++){var v=g[e],m=Object.keys(v),y=1/0,x=0,b=1/0,_={},w={},k=!1;for(r=0;r<m.length;r++)w[n=m[r]]=c=d[a(n)],c._inputDomain?c.domain=c._inputDomain.slice():c._inputDomain=c.domain.slice(),c._inputRange||(c._inputRange=c.range.slice()),c.setScale(),_[n]=u=Math.abs(c._m)/v[n],y=Math.min(y,u),"domain"!==c.constrain&&c._constraintShrinkable||(b=Math.min(b,u)),delete c._constraintShrinkable,x=Math.max(x,u),"domain"===c.constrain&&(k=!0);if(!(y>l*x)||k)for(r=0;r<m.length;r++)if(u=_[n=m[r]],h=(c=w[n]).constrain,u!==b||"domain"===h)if(p=u/b,"range"===h)i(c,p);else{var T=c._inputDomain,A=(c.domain[1]-c.domain[0])/(T[1]-T[0]),M=(c.r2l(c.range[1])-c.r2l(c.range[0]))/(c.r2l(c._inputRange[1])-c.r2l(c._inputRange[0]));if((p/=A)*M<1){c.domain=c._input.domain=T.slice(),i(c,p);continue}if(M<1&&(c.range=c._input.range=c._inputRange.slice(),p*=M),c.autorange){var S=c.r2l(c.range[0]),E=c.r2l(c.range[1]),L=(S+E)/2,C=L,P=L,O=Math.abs(E-L),z=L-O*p*1.0001,I=L+O*p*1.0001,D=o(c);f(c,p);var R,F,B=Math.abs(c._m),N=s(t,c),j=N.min,V=N.max;for(F=0;F<j.length;F++)(R=j[F].val-D(j[F])/B)>z&&R<C&&(C=R);for(F=0;F<V.length;F++)(R=V[F].val+D(V[F])/B)<I&&R>P&&(P=R);p/=(P-C)/(2*O),C=c.l2r(C),P=c.l2r(P),c.range=c._input.range=S<E?[C,P]:[P,C]}f(c,p)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,a=t._fullLayout._axisConstraintGroups,i=0;i<a.length;i++)if(a[i][n]){r=!0;break}r&&"domain"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{"../../constants/alignment":685,"../../constants/numerical":692,"../../lib":716,"./autorange":763,"./axis_ids":767,"./scale_zoom":780}],772:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/color"),u=t("../../components/drawing"),h=t("../../components/fx"),f=t("./axes"),p=t("../../lib/setcursor"),d=t("../../components/dragelement"),g=t("../../constants/alignment").FROM_TL,v=t("../../lib/clear_gl_canvases"),m=t("../../plot_api/subroutines").redrawReglTraces,y=t("../plots"),x=t("./axis_ids").getFromId,b=t("./select").prepSelect,_=t("./select").clearSelect,w=t("./select").selectOnClick,k=t("./scale_zoom"),T=t("./constants"),A=T.MINDRAG,M=T.MINZOOM,S=!0;function E(t,e,r,n){var a=s.ensureSingle(t.draglayer,e,r,function(e){e.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",t.id)});return a.call(p,n),a.node()}function L(t,e,r,a,i,o,s){var l=E(t,"rect",e,r);return n.select(l).call(u.setRect,a,i,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return""}function P(t,e,r,n,a){for(var i=0;i<t.length;i++){var o=t[i];if(!o.fixedrange){var s=o._rl[0],l=o._rl[1]-s;n[o._name+".range[0]"]=o.l2r(s+l*e),n[o._name+".range[1]"]=o.l2r(s+l*r)}}if(a&&a.length){var c=(e+(1-r))/2;P(a,c,1-c,n,[])}}function O(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function z(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function I(t,e,r,n,a){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform","translate("+r+", "+n+")").attr("d",a+"Z")}function D(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function R(t,e,r,n,a,i){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),F(t,e,a,i)}function F(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function B(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function N(t){S&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),S=!1)}function j(t){return"lasso"===t||"select"===t}function V(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function U(t,e,r,n){for(var a,i,o,l,c=!1,u={},h={},f=0;f<e.length;f++){var p=e[f];for(a in r)if(p[a]){for(o in p)("x"===o.charAt(0)?r:n)[o]||(u[o]=a);for(i in n)p[i]&&(c=!0)}for(i in n)if(p[i])for(l in p)("x"===l.charAt(0)?r:n)[l]||(h[l]=i)}c&&(s.extendFlat(u,h),h={});var d={},g=[];for(o in u){var v=x(t,o);g.push(v),d[v._id]=v}var m={},y=[];for(l in h){var b=x(t,l);y.push(b),m[b._id]=b}return{xaHash:d,yaHash:m,xaxes:g,yaxes:y,xLinks:u,yLinks:h,isSubplotConstrained:c}}function q(t,e){if(i){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function H(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,i,c,p,S,E){var F,G,Y,W,X,Z,J,K,Q,$,tt,et,rt,nt,at,it,ot,st,lt,ct,ut,ht=t._fullLayout._zoomlayer,ft=S+E==="nsew",pt=1===(S+E).length;function dt(){if(F=e.xaxis,G=e.yaxis,Q=F._length,$=G._length,J=F._offset,K=G._offset,(Y={})[F._id]=F,(W={})[G._id]=G,S&&E)for(var r=e.overlays,n=0;n<r.length;n++){var a=r[n].xaxis;Y[a._id]=a;var i=r[n].yaxis;W[i._id]=i}X=H(Y),Z=H(W),rt=C(X,E),nt=C(Z,S),at=!nt&&!rt,tt=U(t,t._fullLayout._axisConstraintGroups,Y,W),et=U(t,t._fullLayout._axisMatchGroups,Y,W),it=E||tt.isSubplotConstrained||et.isSubplotConstrained,ot=S||tt.isSubplotConstrained||et.isSubplotConstrained;var o=t._fullLayout;st=o._has("scattergl"),lt=o._has("splom"),ct=o._has("svg")}dt();var gt=function(t,e,r){return t?"nsew"===t?r?"":"pan"===e?"move":"crosshair":t.toLowerCase()+"-resize":"pointer"}(nt+rt,t._fullLayout.dragmode,ft),vt=L(e,S+E+"drag",gt,r,i,c,p);if(at&&!ft)return vt.onmousedown=null,vt.style.pointerEvents="none",vt;var mt,yt,xt,bt,_t,wt,kt,Tt,At,Mt,St={element:vt,gd:t,plotinfo:e};function Et(){St.plotinfo.selection=!1,_(t)}function Lt(r,a){var i=t._fullLayout.clickmode;if(B(t),2!==r||pt||function(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];rt&&(r=r.concat(X)),nt&&(r=r.concat(Z)),et.xaxes&&(r=r.concat(et.xaxes)),et.yaxes&&(r=r.concat(et.yaxes));var n,a,i,s={};if("reset+autosize"===e)for(e="autosize",a=0;a<r.length;a++)if((n=r[a])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e="reset";break}if("autosize"===e)for(a=0;a<r.length;a++)(n=r[a]).fixedrange||(s[n._name+".autorange"]=!0);else if("reset"===e)for((rt||tt.isSubplotConstrained)&&(r=r.concat(tt.xaxes)),nt&&!tt.isSubplotConstrained&&(r=r.concat(tt.yaxes)),tt.isSubplotConstrained&&(rt?nt||(r=r.concat(Z)):r=r.concat(X)),a=0;a<r.length;a++)(n=r[a]).fixedrange||(n._rangeInitial?(i=n._rangeInitial,s[n._name+".range[0]"]=i[0],s[n._name+".range[1]"]=i[1]):s[n._name+".autorange"]=!0);t.emit("plotly_doubleclick",null),o.call("_guiRelayout",t,s)}}(),ft)i.indexOf("select")>-1&&w(a,t,X,Z,e.id,St),i.indexOf("event")>-1&&h.click(t,a,e.id);else if(1===r&&pt){var s=S?G:F,c="s"===S||"w"===E?0:1,u=s._name+".range["+c+"]",f=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return"date"===t.type?a:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format("."+String(r)+"g")(a))}(s,c),p="left",d="middle";if(s.fixedrange)return;S?(d="n"===S?"top":"bottom","right"===s.side&&(p="right")):"e"===E&&(p="right"),t._context.showAxisRangeEntryBoxes&&n.select(vt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:d}).on("edit",function(e){var r=s.d2r(e);void 0!==r&&o.call("_guiRelayout",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(Q,e+mt)),a=Math.max(0,Math.min($,r+yt)),i=Math.abs(n-mt),o=Math.abs(a-yt);function s(){kt="",xt.r=xt.l,xt.t=xt.b,At.attr("d","M0,0Z")}if(xt.l=Math.min(mt,n),xt.r=Math.max(mt,n),xt.t=Math.min(yt,a),xt.b=Math.max(yt,a),tt.isSubplotConstrained)i>M||o>M?(kt="xy",i/Q>o/$?(o=i*$/Q,yt>a?xt.t=yt-o:xt.b=yt+o):(i=o*Q/$,mt>n?xt.l=mt-i:xt.r=mt+i),At.attr("d",V(xt))):s();else if(et.isSubplotConstrained)if(i>M||o>M){kt="xy";var l=Math.min(xt.l/Q,($-xt.b)/$),c=Math.max(xt.r/Q,($-xt.t)/$);xt.l=l*Q,xt.r=c*Q,xt.b=(1-l)*$,xt.t=(1-c)*$,At.attr("d",V(xt))}else s();else!nt||o<Math.min(Math.max(.6*i,A),M)?i<A||!rt?s():(xt.t=0,xt.b=$,kt="x",At.attr("d",function(t,e){return"M"+(t.l-.5)+","+(e-M-.5)+"h-3v"+(2*M+1)+"h3ZM"+(t.r+.5)+","+(e-M-.5)+"h3v"+(2*M+1)+"h-3Z"}(xt,yt))):!rt||i<Math.min(.6*o,M)?(xt.l=0,xt.r=Q,kt="y",At.attr("d",function(t,e){return"M"+(e-M-.5)+","+(t.t-.5)+"v-3h"+(2*M+1)+"v3ZM"+(e-M-.5)+","+(t.b+.5)+"v3h"+(2*M+1)+"v-3Z"}(xt,mt))):(kt="xy",At.attr("d",V(xt)));xt.w=xt.r-xt.l,xt.h=xt.b-xt.t,kt&&(Mt=!0),t._dragged=Mt,R(Tt,At,xt,_t,wt,bt),Pt(),t.emit("plotly_relayouting",ut),wt=!0}function Pt(){ut={},"xy"!==kt&&"x"!==kt||(P(X,xt.l/Q,xt.r/Q,ut,tt.xaxes),Bt("x",ut)),"xy"!==kt&&"y"!==kt||(P(Z,($-xt.b)/$,($-xt.t)/$,ut,tt.yaxes),Bt("y",ut))}function Ot(){Pt(),B(t),jt(),N(t)}St.prepFn=function(e,r,n){var i=St.dragmode,o=t._fullLayout.dragmode;o!==i&&(St.dragmode=o),dt(),at||(ft?e.shiftKey?"pan"===o?o="zoom":j(o)||(o="pan"):e.ctrlKey&&(o="pan"):o="pan"),St.minDrag="lasso"===o?1:void 0,j(o)?(St.xaxes=X,St.yaxes=Z,b(e,r,n,St,o)):(St.clickFn=Lt,j(i)&&Et(),at||("zoom"===o?(St.moveFn=Ct,St.doneFn=Ot,St.minDrag=1,function(e,r,n){var i=vt.getBoundingClientRect();mt=r-i.left,yt=n-i.top,xt={l:mt,r:mt,w:0,t:yt,b:yt,h:0},bt=t._hmpixcount?t._hmlumcount/t._hmpixcount:a(t._fullLayout.plot_bgcolor).getLuminance(),wt=!1,kt="xy",Mt=!1,Tt=I(ht,bt,J,K,_t="M0,0H"+Q+"V"+$+"H0V0"),At=D(ht,J,K)}(0,r,n)):"pan"===o&&(St.moveFn=Ft,St.doneFn=jt))),t._fullLayout._redrag=function(){var e=t._dragdata;e&&e.element===vt&&(j(t._fullLayout.dragmode)||(dt(),Vt([0,0,Q,$]),St.moveFn(e.dx,e.dy)))}},d.init(St);var zt=[0,0,Q,$],It=null,Dt=T.REDRAWDELAY,Rt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Ft(e,r){if(!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,"ew"===rt||"ns"===nt)return rt&&(O(X,e),Bt("x")),nt&&(O(Z,r),Bt("y")),Vt([rt?-e:0,nt?-r:0,Q,$]),Nt(),void t.emit("plotly_relayouting",ut);if(tt.isSubplotConstrained&&rt&&nt){var n="w"===rt==("n"===nt)?1:-1,a=(e/Q+n*r/$)/2;e=a*Q,r=n*a*$}"w"===rt?e=l(X,0,e):"e"===rt?e=l(X,1,-e):rt||(e=0),"n"===nt?r=l(Z,1,r):"s"===nt?r=l(Z,0,-r):nt||(r=0);var i="w"===rt?e:0,o="n"===nt?r:0;if(tt.isSubplotConstrained){var s;if(!rt&&1===nt.length){for(s=0;s<X.length;s++)X[s].range=X[s]._r.slice(),k(X[s],1-r/$);i=(e=r*Q/$)/2}if(!nt&&1===rt.length){for(s=0;s<Z.length;s++)Z[s].range=Z[s]._r.slice(),k(Z[s],1-e/Q);o=(r=e*$/Q)/2}}Bt("x"),Bt("y"),Vt([i,o,Q-e,$-r]),Nt(),t.emit("plotly_relayouting",ut)}function l(t,e,r){for(var n,a,i=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,a=s._rl[i]+(s._rl[e]-s._rl[i])/z(r/s._length);var l=s.l2r(a);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-a)/(n._rl[e]-n._rl[i])}}function Bt(t,e){for(var r=et.isSubplotConstrained?{x:Z,y:X}[t]:et[t+"axes"],n=et.isSubplotConstrained?{x:X,y:Z}[t]:[],a=0;a<r.length;a++){var i=r[a],o=i._id,s=et.xLinks[o]||et.yLinks[o],l=n[0]||Y[s]||W[s];l&&(e?(e[i._name+".range[0]"]=e[l._name+".range[0]"],e[i._name+".range[1]"]=e[l._name+".range[1]"]):i.range=l.range.slice())}}function Nt(){var e,r=[];function n(t){for(e=0;e<t.length;e++)t[e].fixedrange||r.push(t[e]._id)}for(it&&(n(X),n(tt.xaxes),n(et.xaxes)),ot&&(n(Z),n(tt.yaxes),n(et.yaxes)),ut={},e=0;e<r.length;e++){var a=r[e],i=x(t,a);f.drawOne(t,i,{skipTitle:!0}),ut[i._name+".range[0]"]=i.range[0],ut[i._name+".range[1]"]=i.range[1]}f.redrawComponents(t,r)}function jt(){Vt([0,0,Q,$]),s.syncOrAsync([y.previousPromises,function(){t._fullLayout._replotting=!1,o.call("_guiRelayout",t,ut)}],t)}function Vt(e){var r,n,a,i,l=t._fullLayout,c=l._plots,h=l._subplots.cartesian;if(lt&&o.subplotsRegistry.splom.drag(t),st)for(r=0;r<h.length;r++)if(a=(n=c[h[r]]).xaxis,i=n.yaxis,n._scene){var f=s.simpleMap(a.range,a.r2l),p=s.simpleMap(i.range,i.r2l);n._scene.update({range:[f[0],p[0],f[1],p[1]]})}if((lt||st)&&(v(t),m(t)),ct){var d=e[2]/F._length,g=e[3]/G._length;for(r=0;r<h.length;r++){a=(n=c[h[r]]).xaxis,i=n.yaxis;var y,x,b,_,w=it&&!a.fixedrange&&Y[a._id],k=ot&&!i.fixedrange&&W[i._id];if(w?(y=d,b=E?e[0]:Ht(a,y)):et.xaHash[a._id]?(y=d,b=e[0]*a._length/F._length):et.yaHash[a._id]?(y=g,b="ns"===nt?-e[1]*a._length/G._length:Ht(a,y,{n:"top",s:"bottom"}[nt])):b=qt(a,y=Ut(a,d,g)),k?(x=g,_=S?e[1]:Ht(i,x)):et.yaHash[i._id]?(x=g,_=e[1]*i._length/G._length):et.xaHash[i._id]?(x=d,_="ew"===rt?-e[0]*i._length/F._length:Ht(i,x,{e:"right",w:"left"}[rt])):_=qt(i,x=Ut(i,d,g)),y||x){y||(y=1),x||(x=1);var T=a._offset-b/y,A=i._offset-_/x;n.clipRect.call(u.setTranslate,b,_).call(u.setScale,y,x),n.plot.call(u.setTranslate,T,A).call(u.setScale,1/y,1/x),y===n.xScaleFactor&&x===n.yScaleFactor||(u.setPointGroupScale(n.zoomScalePts,y,x),u.setTextPointsScale(n.zoomScaleTxt,y,x)),u.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=y,n.yScaleFactor=x}}}}function Ut(t,e,r){return t.fixedrange?0:it&&tt.xaHash[t._id]?e:ot&&(tt.isSubplotConstrained?tt.xaHash:tt.yaHash)[t._id]?r:0}function qt(t,e){return e?(t.range=t._r.slice(),k(t,e),Ht(t,e)):0}function Ht(t,e,r){return t._length*(1-e)*g[r||t.constraintoward||"middle"]}return S.length*E.length!=1&&q(vt,function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(Et(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();dt(),clearTimeout(It);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,a=Math.exp(-Math.min(Math.max(r,-20),20)/200),i=Rt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),o=(e.clientX-i.left)/i.width,l=(i.bottom-e.clientY)/i.height;if(it){for(E||(o=.5),n=0;n<X.length;n++)c(X[n],o,a);Bt("x"),zt[2]*=a,zt[0]+=zt[2]*o*(1/a-1)}if(ot){for(S||(l=.5),n=0;n<Z.length;n++)c(Z[n],l,a);Bt("y"),zt[3]*=a,zt[1]+=zt[3]*(1-l)*(1/a-1)}Vt(zt),Nt(),t.emit("plotly_relayouting",ut),It=setTimeout(function(){zt=[0,0,Q,$],jt()},Dt),e.preventDefault()}else s.log("Did not find wheel motion attributes: ",e)}function c(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),a=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(a+(e-a)*r)})}}}),vt},makeDragger:E,makeRectDragger:L,makeZoombox:I,makeCorners:D,updateZoombox:R,xyCorners:V,transitionZoombox:F,removeZoombox:B,showDoubleClickNotifier:N,attachWheelEventHandler:q}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../constants/alignment":685,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plot_api/subroutines":755,"../../registry":845,"../plots":825,"./axes":764,"./axis_ids":767,"./constants":770,"./scale_zoom":780,"./select":781,d3:164,"has-passive-events":412,tinycolor2:535}],773:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/fx"),i=t("../../components/dragelement"),o=t("../../lib/setcursor"),s=t("./dragbox").makeDragBox,l=t("./constants").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(".drag").remove();else if(e._has("cartesian")||e._has("splom")){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split("y"),a=r.split("y");return n[0]===a[0]?Number(n[1]||1)-Number(a[1]||1):Number(n[0]||1)-Number(a[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,"ns","ew");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&t._fullLayout._plots[r]&&a.hover(t,e,r)},a.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,"n","w"),s(t,n,o._offset+o._length,c._offset-l,l,l,"n","e"),s(t,n,o._offset-l,c._offset+c._length,l,l,"s","w"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,"s","e"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var h=o._mainLinePosition;"top"===o.side&&(h-=l),s(t,n,o._offset+.1*o._length,h,.8*o._length,l,"","ew"),s(t,n,o._offset,h,.1*o._length,l,"","w"),s(t,n,o._offset+.9*o._length,h,.1*o._length,l,"","e")}if(r===c._mainSubplot){var f=c._mainLinePosition;"right"!==c.side&&(f-=l),s(t,n,f,c._offset+.1*c._length,l,.8*c._length,"ns",""),s(t,n,f,c._offset+.9*c._length,l,.1*c._length,"s",""),s(t,n,f,c._offset,l,.1*c._length,"n","")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,a.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,a.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r="pan"===e.dragmode?"move":"crosshair";o(e._draggers,r)}},{"../../components/dragelement":609,"../../components/fx":629,"../../lib/setcursor":736,"./constants":770,"./dragbox":772,d3:164}],774:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t){return function(e,r){var i=e[t];if(Array.isArray(i))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,h=l.cartesian,f=r._has("cartesian")||r._has("gl2d"),p=0;p<i.length;p++){var d=i[p];if(a.isPlainObject(d)){var g=d.xref,v=d.yref,m=s.x.test(g),y=s.y.test(v);if(m||y){f||a.pushUnique(r._basePlotModules,o);var x=!1;m&&-1===c.indexOf(g)&&(c.push(g),x=!0),y&&-1===u.indexOf(v)&&(u.push(v),x=!0),x&&m&&y&&h.push(g+v)}}}}}},{"../../lib":716,"../../registry":845}],775:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../plots"),s=t("../../components/drawing"),l=t("../get_data").getModuleCalcData,c=t("./axis_ids"),u=t("./constants"),h=t("../../constants/xmlns_namespaces"),f=i.ensureSingle;function p(t,e,r){return i.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,i,o){for(var c,h,f,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,v=[],m=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=a.modules[x].categories;if(b.svg){var _=c.layerName||x+"layer",w=c.plot;f=(h=l(r,w))[0],r=h[1],f.length&&v.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:f}),b.zoomScale&&m.push("."+_)}}v.sort(function(t,e){return t.i-e.i});var k=e.plot.selectAll("g.mlayer").data(v,function(t){return t.className});if(k.enter().append("g").attr("class",function(t){return t.className}).classed("mlayer",!0).classed("rangeplot",e.isRangePlot),k.exit().remove(),k.order(),k.each(function(r){var a=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,a,i,o),-1===u.clipOnAxisFalseQuery.indexOf("."+l)&&s.setClipUrl(a,e.layerClipId,t)}),d._has("scattergl")&&(c=a.getModule("scattergl"),f=l(r,c)[0],c.plot(t,e,f)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(u.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),m.length)){var T=e.plot.selectAll(m.join(",")).selectAll(".trace");e.zoomScalePts=T.selectAll("path.point"),e.zoomScaleTxt=T.selectAll(".textpoint")}}function g(t,e){var r=e.plotgroup,n=e.id,a=u.layerValue2layerClass[e.xaxis.layer],i=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,h=n+"-x",d=n+"-y";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,f(s.overlinesBelow,"path",h),f(s.overlinesBelow,"path",d),f(s.overaxesBelow,"g",h),f(s.overaxesBelow,"g",d),e.plot=f(s.overplot,"g",n),f(s.overlinesAbove,"path",h),f(s.overlinesAbove,"path",d),f(s.overaxesAbove,"g",h),f(s.overaxesAbove,"g",d),e.xlines=l.select(".overlines-"+a).select("."+h),e.ylines=l.select(".overlines-"+i).select("."+d),e.xaxislayer=l.select(".overaxes-"+a).select("."+h),e.yaxislayer=l.select(".overaxes-"+i).select("."+d)}else if(o)e.xlines=f(r,"path","xlines-above"),e.ylines=f(r,"path","ylines-above"),e.xaxislayer=f(r,"g","xaxislayer-above"),e.yaxislayer=f(r,"g","yaxislayer-above");else{var g=f(r,"g","layer-subplot");e.shapelayer=f(g,"g","shapelayer"),e.imagelayer=f(g,"g","imagelayer"),e.gridlayer=f(r,"g","gridlayer"),e.zerolinelayer=f(r,"g","zerolinelayer"),f(r,"path","xlines-below"),f(r,"path","ylines-below"),e.overlinesBelow=f(r,"g","overlines-below"),f(r,"g","xaxislayer-below"),f(r,"g","yaxislayer-below"),e.overaxesBelow=f(r,"g","overaxes-below"),e.plot=f(r,"g","plot"),e.overplot=f(r,"g","overplot"),e.xlines=f(r,"path","xlines-above"),e.ylines=f(r,"path","ylines-above"),e.overlinesAbove=f(r,"g","overlines-above"),f(r,"g","xaxislayer-above"),f(r,"g","yaxislayer-above"),e.overaxesAbove=f(r,"g","overaxes-above"),e.xlines=r.select(".xlines-"+a),e.ylines=r.select(".ylines-"+i),e.xaxislayer=r.select(".xaxislayer-"+a),e.yaxislayer=r.select(".yaxislayer-"+i)}o||(p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map(function(t){return t[0]}).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0)}function v(t,e){if(t){var r={};for(var a in t.each(function(t){var a=t[0];n.select(this).remove(),m(a,e),r[a]=!0}),e._plots)for(var i=e._plots[a].overlays||[],o=0;o<i.length;o++){var s=i[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function m(t,e){e._draggers.selectAll("g."+t).remove(),e._defs.select("#clip"+e._uid+t+"plot").remove()}r.name="cartesian",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t("./attributes"),r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.transitionAxes=t("./transition_axes"),r.finalizeSubplots=function(t,e){var r,n,a,o=e._subplots,s=o.xaxis,l=o.yaxis,h=o.cartesian,f=h.concat(o.gl2d||[]),p={},d={};for(r=0;r<f.length;r++){var g=f[r].split("y");p[g[0]]=1,d["y"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(a=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(a)||(a="y"),h.push(n+a),f.push(n+a),d[a]||(d[a]=1,i.pushUnique(l,a)));for(r=0;r<l.length;r++)d[a=l[r]]||(n=(t[c.id2name(a)]||{}).anchor,u.idRegex.x.test(n)||(n="x"),h.push(n+a),f.push(n+a),p[n]||(p[n]=1,i.pushUnique(s,n)));if(!f.length){for(var v in n="",a="",t){if(u.attrRegex.test(v))"x"===v.charAt(0)?(!n||+v.substr(5)<+n.substr(5))&&(n=v):(!a||+v.substr(5)<+a.substr(5))&&(a=v)}n=n?c.name2id(n):"x",a=a?c.name2id(a):"y",s.push(n),l.push(a),h.push(n+a)}},r.plot=function(t,e,r,n){var a,i=t._fullLayout,o=i._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<s.length;a++)e.push(a);for(a=0;a<o.length;a++){for(var l,c=o[a],u=i._plots[c],h=[],f=0;f<s.length;f++){var p=s[f],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==["tonextx","tonexty","tonext"].indexOf(g.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}d(t,u,h,r,n)}},r.clean=function(t,e,r,n){var a,i,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(a=s[o]).plotgroup&&a.plotgroup.remove();var h=n._has&&n._has("gl"),f=e._has&&e._has("gl");if(h&&!f)for(o in s)(a=s[o])._scene&&a._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(i=0;i<p.length;i++){var d=p[i];e[c.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var g=n._has&&n._has("cartesian"),y=e._has&&e._has("cartesian");if(g&&!y)v(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups;else if(u.cartesian)for(i=0;i<u.cartesian.length;i++){var x=u.cartesian[i];if(!l[x]){var b="."+x+",."+x+"-x,."+x+"-y";n._cartesianlayer.selectAll(b).remove(),m(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,a,i,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],h=[];for(e=0;e<c;e++){n=l[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var f=i._mainAxis,p=o._mainAxis,d=f._id+p._id,g=s._plots[d];a.overlays=[],d!==n&&g?(a.mainplot=d,a.mainplotinfo=g,h.push(n)):(a.mainplot=void 0,a.mainPlotinfo=void 0,u.push(n))}for(e=0;e<h.length;e++)n=h[e],(a=s._plots[n]).mainplotinfo.overlays.push(a);var v=u.concat(h),m=new Array(c);for(e=0;e<c;e++){n=v[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var y=[n,i.layer,o.layer,i.overlaying||"",o.overlaying||""];for(r=0;r<a.overlays.length;r++)y.push(a.overlays[r].id);m[e]=y}return m}(t),a=e._cartesianlayer.selectAll(".subplot").data(r,String);a.enter().append("g").attr("class",function(t){return"subplot "+t[0]}),a.order(),a.exit().call(v,e),a.each(function(r){var a=r[0],i=e._plots[a];i.plotgroup=n.select(this),g(t,i),i.draglayer=f(e._draggers,"g",a)})},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:h.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t("./graph_interact").updateFx},{"../../components/drawing":612,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../registry":845,"../get_data":799,"../plots":825,"./attributes":762,"./axis_ids":767,"./constants":770,"./graph_interact":773,"./layout_attributes":776,"./layout_defaults":777,"./transition_axes":786,d3:164}],776:[function(t,e,r){"use strict";var n=t("../font_attributes"),a=t("../../components/color/attributes"),i=t("../../components/drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray,l=(t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").DATE_FORMAT_LINK,t("./constants"));e.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:a.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:n({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},scaleanchor:{valType:"enumerated",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],dflt:"range",editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"calc"},tickmode:{valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:"integer",min:0,dflt:0,editType:"ticks"},tick0:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},dtick:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},tickvals:{valType:"data_array",editType:"ticks"},ticktext:{valType:"data_array",editType:"ticks"},ticks:{valType:"enumerated",values:["outside","inside",""],editType:"ticks"},tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:{valType:"number",min:0,dflt:5,editType:"ticks"},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},tickcolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},automargin:{valType:"boolean",dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:o({},i,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor"],dflt:"data",editType:"none"},tickfont:n({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks"},tickformatstops:s("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:a.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:{valType:"boolean",editType:"ticks"},gridcolor:{valType:"color",dflt:a.lightLine,editType:"ticks"},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:n({editType:"ticks"})}}},{"../../components/color/attributes":590,"../../components/drawing/attributes":611,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/plot_template":754,"../font_attributes":790,"./constants":770}],777:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../plot_api/plot_template"),o=t("../layout_attributes"),s=t("./layout_attributes"),l=t("./type_defaults"),c=t("./axis_defaults"),u=t("./constraints").handleConstraintDefaults,h=t("./position_defaults"),f=t("./axis_ids"),p=f.id2name,d=f.name2id,g=t("../../registry"),v=g.traceIs,m=g.getComponentMethod;function y(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var f,g,x={},b={},_={},w={},k={},T={},A={},M={},S={},E={};for(f=0;f<r.length;f++){var L=r[f];if(v(L,"cartesian")||v(L,"gl2d")){var C,P;if(L.xaxis)y(x,C=p(L.xaxis),L);else if(L.xaxes)for(g=0;g<L.xaxes.length;g++)y(x,p(L.xaxes[g]),L);if(L.yaxis)y(x,P=p(L.yaxis),L);else if(L.yaxes)for(g=0;g<L.yaxes.length;g++)y(x,p(L.yaxes[g]),L);if("funnel"===L.type?"h"===L.orientation?(C&&(b[C]=!0),P&&(A[P]=!0)):P&&(_[P]=!0):"image"===L.type?(P&&(M[P]=!0),C&&(M[C]=!0)):(P&&(k[P]=!0,T[P]=!0),v(L,"carpet")&&("carpet"!==L.type||L._cheater)||C&&(w[C]=!0)),"carpet"===L.type&&L._cheater&&C&&(b[C]=!0),v(L,"2dMap")&&(S[C]=!0,S[P]=!0),v(L,"oriented"))E["h"===L.orientation?P:C]=!0}}var O=e._subplots,z=O.xaxis,I=O.yaxis,D=n.simpleMap(z,p),R=n.simpleMap(I,p),F=D.concat(R),B=a.background;z.length&&I.length&&(B=n.coerce(t,e,o,"plot_bgcolor"));var N,j,V,U,q=a.combine(B,e.paper_bgcolor);function H(t,e){return n.coerce(V,U,s,t,e)}function G(t,e){return n.coerce2(V,U,s,t,e)}function Y(t){return"x"===t?I:z}var W={x:Y("x"),y:Y("y")},X=W.x.concat(W.y);function Z(e,r){for(var n="x"===e?D:R,a=[],i=0;i<n.length;i++){var o=n[i];o===r||(t[o]||{}).overlaying||a.push(d(o))}return a}for(f=0;f<F.length;f++){j=(N=F[f]).charAt(0),n.isPlainObject(t[N])||(t[N]={}),V=t[N],U=i.newContainer(e,N,j+"axis");var J=x[N]||[];U._traceIndices=J.map(function(t){return t._expandedIndex}),U._annIndices=[],U._shapeIndices=[],U._imgIndices=[],U._subplotsWith=[],U._counterAxes=[],U._name=U._attr=N;var K=U._id=d(N),Q=Z(j,N),$="x"===j&&!w[N]&&b[N]||"y"===j&&!k[N]&&_[N],tt="y"===j&&(!T[N]&&A[N]||M[N]),et={letter:j,font:e.font,outerTicks:S[N],showGrid:!E[N],data:J,bgColor:q,calendar:e.calendar,automargin:!0,visibleDflt:$,reverseDflt:tt,splomStash:((e._splomAxes||{})[j]||{})[K]};H("uirevision",e.uirevision),l(V,U,H,et),c(V,U,H,et,e);var rt=G("spikecolor"),nt=G("spikethickness"),at=G("spikedash"),it=G("spikemode"),ot=G("spikesnap");H("showspikes",!!(rt||nt||at||it||ot))||(delete U.spikecolor,delete U.spikethickness,delete U.spikedash,delete U.spikemode,delete U.spikesnap),h(V,U,H,{letter:j,counterAxes:W[j],overlayableAxes:Q,grid:e.grid}),H("title.standoff"),U._input=V}var st=m("rangeslider","handleDefaults"),lt=m("rangeselector","handleDefaults");for(f=0;f<D.length;f++)N=D[f],V=t[N],U=e[N],st(t,e,N),"date"===U.type&&lt(V,U,e,R,U.calendar),H("fixedrange");for(f=0;f<R.length;f++){N=R[f],V=t[N],U=e[N];var ct=e[p(U.anchor)];H("fixedrange",m("rangeslider","isVisible")(ct))}var ut=e._axisConstraintGroups=[],ht=e._axisMatchGroups=[];for(f=0;f<F.length;f++){var ft,pt;j=(N=F[f]).charAt(0),V=t[N],U=e[N],ft="y"===j&&!V.hasOwnProperty("scaleanchor")&&M[N]?U.anchor:void 0,pt=!V.hasOwnProperty("constrain")&&M[N]?"domain":void 0,u(V,U,H,{allAxisIds:X,layoutOut:e,scaleanchorDflt:ft,constrainDflt:pt})}for(f=0;f<ht.length;f++){var dt,gt=ht[f],vt=null,mt=null;for(dt in gt)(U=e[p(dt)]).matches||(vt=U.range,mt=U.autorange);if(null===vt||null===mt)for(dt in gt){vt=(U=e[p(dt)]).range,mt=U.autorange;break}for(dt in gt)(U=e[p(dt)]).matches&&(U.range=vt.slice(),U.autorange=mt),U._matchGroup=gt;if(ut.length)for(dt in gt)for(g=0;g<ut.length;g++){var yt=ut[g];for(var xt in yt)dt===xt&&(n.warn("Axis "+xt+" is set with both a *scaleanchor* and *matches* constraint; ignoring the scale constraint."),delete yt[xt],Object.keys(yt).length<2&&ut.splice(g,1))}}}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845,"../layout_attributes":816,"./axis_defaults":766,"./axis_ids":767,"./constraints":771,"./layout_attributes":776,"./position_defaults":779,"./type_defaults":787}],778:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,a=t("../../components/color/attributes").lightFraction,i=t("../../lib");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return i.coerce2(t,e,o.attributes,r,n)}var c=l("linecolor",s),u=l("linewidth");r("showline",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var h=l("gridcolor",n(s,o.bgColor,o.blend||a).toRgbString()),f=l("gridwidth");if(r("showgrid",o.showGrid||!!h||!!f)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l("zerolinecolor",s),d=l("zerolinewidth");r("zeroline",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{"../../components/color/attributes":590,"../../lib":716,tinycolor2:535}],779:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib");e.exports=function(t,e,r,i){var o,s,l,c,u=i.counterAxes||[],h=i.overlayableAxes||[],f=i.letter,p=i.grid;p&&(s=p._domains[f][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[f+"side"].split(" ")[0],c=p.domain[f]["right"===l||"top"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?"free":u[0]||"free"),l=l||("x"===f?"bottom":"left"),c=c||0,"free"===a.coerce(t,e,{anchor:{valType:"enumerated",values:["free"].concat(u),dflt:o}},"anchor")&&r("position",c),a.coerce(t,e,{side:{valType:"enumerated",values:"x"===f?["bottom","top"]:["left","right"],dflt:l}},"side");var d=!1;if(h.length&&(d=a.coerce(t,e,{overlaying:{valType:"enumerated",values:[!1].concat(h),dflt:!1}},"overlaying")),!d){var g=r("domain",s);g[0]>g[1]-1/4096&&(e.domain=s),a.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":716,"fast-isnumeric":227}],780:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)]}},{"../../constants/alignment":685}],781:[function(t,e,r){"use strict";var n=t("polybooljs"),a=t("../../registry"),i=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/polygon"),c=t("../../lib/throttle"),u=t("../../components/fx/helpers").makeEventData,h=t("./axis_ids").getFromId,f=t("../../lib/clear_gl_canvases"),p=t("../../plot_api/subroutines").redrawReglTraces,d=t("./constants"),g=d.MINSELECT,v=l.filter,m=l.tester;function y(t){return t._id}function x(t,e,r,n,a,i,o){var s,l,c,u,h,f,p,d,g,v=e._hoverdata,m=e._fullLayout.clickmode.indexOf("event")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(v)){k(t,e,i);var x=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],a.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===a.hoverOnBox)break;void 0!==a.pointNumber?i=a.pointNumber:void 0!==a.binNumber&&(i=a.binNumber,o=a.pointNumbers);break}return{pointNumber:i,pointNumbers:o,searchInfo:r}}(v,s=A(e,r,n,a));if(x.pointNumbers.length>0?function(t,e){var r,n,a,i=[];for(a=0;a<t.length;a++)(r=t[a]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a<e.pointNumbers.length;a++)if(n.selectedpoints.indexOf(e.pointNumbers[a])<0)return!1;return!0}return!1}(s,x):function(t){var e,r,n,a=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(s)&&(f=S(x))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);E(e,s),T(i),m&&e.emit("plotly_deselect",null)}else{for(p=t.shiftKey&&(void 0!==f?f:S(x)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(x.pointNumber,x.searchInfo,p),u=w(i.selectionDefs.concat([c])),g=0;g<s.length;g++)if(h=L(s[g]._module.selectPoints(s[g],u),s[g]),y.length)for(var b=0;b<h.length;b++)y.push(h[b]);else y=h;E(e,s,d={points:y}),c&&i&&i.selectionDefs.push(c),o&&M(i.mergedPolygons,o),m&&e.emit("plotly_selected",d)}}}function b(t){return"pointNumber"in t&&"searchInfo"in t}function _(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,a){var i=t.searchInfo.cd[0].trace._expandedIndex;return a.cd[0].trace._expandedIndex===i&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function w(t){for(var e=[],r=b(t[0])?0:t[0][0][0],n=r,a=b(t[0])?0:t[0][0][1],i=a,o=0;o<t.length;o++)if(b(t[o]))e.push(_(t[o]));else{var s=l.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),a=Math.min(a,s.ymin),i=Math.max(i,s.ymax)}return{xmin:r,xmax:n,ymin:a,ymax:i,pts:[],contains:function(t,r,n,a){for(var i=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,a)&&(i=!1===e[o].subtract);return i},isRect:!1,degenerate:!1}}function k(t,e,r){var n=e._fullLayout,a=r.plotinfo,i=n._lastSelectedSubplot&&n._lastSelectedSubplot===a.id,o=t.shiftKey||t.altKey;i&&o&&a.selection&&a.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=a.selection.selectionDefs,r.mergedPolygons=a.selection.mergedPolygons):o&&a.selection||T(r),i||(C(e),n._lastSelectedSubplot=a.id)}function T(t){var e=t.plotinfo;e.selection={},e.selection.selectionDefs=t.selectionDefs=[],e.selection.mergedPolygons=t.mergedPolygons=[]}function A(t,e,r,n){var a,i,o,s=[],l=e.map(y),c=r.map(y);for(o=0;o<t.calcdata.length;o++)if(!0===(i=(a=t.calcdata[o])[0].trace).visible&&i._module&&i._module.selectPoints)if(!n||i.subplot!==n&&i.geo!==n)if("splom"===i.type&&i._xaxes[l[0]]&&i._yaxes[c[0]]){var u=p(i._module,a,e[0],r[0]);u.scene=t._fullLayout._splomScenes[i.uid],s.push(u)}else if("sankey"===i.type){var f=p(i._module,a,e[0],r[0]);s.push(f)}else{if(-1===l.indexOf(i.xaxis))continue;if(-1===c.indexOf(i.yaxis))continue;s.push(p(i._module,a,h(t,i.xaxis),h(t,i.yaxis)))}else s.push(p(i._module,a,e[0],r[0]));return s;function p(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function M(t,e){var r,n,a=[];for(r=0;r<t.length;r++){var i=t[r];a.push(i.join("L")+"L"+i[0])}n=t.length>0?"M"+a.join("M")+"Z":"M0,0Z",e.attr("d",n)}function S(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,a=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function E(t,e,r){var n,i,o,s;for(n=0;n<e.length;n++){var l=e[n].cd[0].trace._fullInput,c=t._fullLayout._tracePreGUI[l.uid]||{};void 0===c.selectedpoints&&(c.selectedpoints=l._input.selectedpoints||null)}if(r){var u=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace)._input.selectedpoints=s._fullInput.selectedpoints=[],s._fullInput!==s&&(s.selectedpoints=[]);for(n=0;n<u.length;n++){var h=u[n],d=h.data,g=h.fullData;h.pointIndices?([].push.apply(d.selectedpoints,h.pointIndices),s._fullInput!==s&&[].push.apply(g.selectedpoints,h.pointIndices)):(d.selectedpoints.push(h.pointIndex),s._fullInput!==s&&g.selectedpoints.push(h.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints,s._fullInput!==s&&delete s._fullInput.selectedpoints;var v=!1;for(n=0;n<e.length;n++){s=(o=(i=e[n]).cd)[0].trace,a.traceIs(s,"regl")&&(v=!0);var m=i._module,y=m.styleOnSelect||m.style;y&&(y(t,o,o[0].node3),o[0].nodeRangePlot3&&y(t,o,o[0].nodeRangePlot3))}v&&(f(t),p(t))}function L(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,a=0;a<t.length;a++)t[a]=u(t[a],n,r);return t}function C(t){var e=(t._fullLayout||{})._zoomlayer;e&&e.selectAll(".select-outline").remove()}e.exports={prepSelect:function(t,e,r,a,l){var u,h,f,p,y,b,_,S=a.gd,C=S._fullLayout,P=C._zoomlayer,O=a.element.getBoundingClientRect(),z=a.plotinfo,I=z.xaxis._offset,D=z.yaxis._offset,R=e-O.left,F=r-O.top,B=R,N=F,j="M"+R+","+F,V=a.xaxes[0]._length,U=a.yaxes[0]._length,q=a.xaxes.concat(a.yaxes),H=t.altKey;k(t,S,a),"lasso"===l&&(u=v([[R,F]],d.BENDPX));var G=P.selectAll("path.select-outline-"+z.id).data([1,2]);G.enter().append("path").attr("class",function(t){return"select-outline select-outline-"+t+" select-outline-"+z.id}).attr("transform","translate("+I+", "+D+")").attr("d",j+"Z");var Y,W=P.append("path").attr("class","zoombox-corners").style({fill:i.background,stroke:i.defaultLine,"stroke-width":1}).attr("transform","translate("+I+", "+D+")").attr("d","M0,0Z"),X=C._uid+d.SELECTID,Z=[],J=A(S,a.xaxes,a.yaxes,a.subplot);function K(t,e){return"log"===t.type?t.p2d(e):t.p2r(e)}function Q(t){var e="y"===t._id.charAt(0)?1:0;return function(r){return K(t,r[e])}}function $(t,e){return t-e}Y=z.fillRangeItems?z.fillRangeItems:"select"===l?function(t,e){var r=t.range={};for(y=0;y<q.length;y++){var n=q[y],a=n._id.charAt(0);r[n._id]=[K(n,e[a+"min"]),K(n,e[a+"max"])].sort($)}}:function(t,e,r){var n=t.lassoPoints={};for(y=0;y<q.length;y++){var a=q[y];n[a._id]=r.filtered.map(Q(a))}},a.moveFn=function(t,e){B=Math.max(0,Math.min(V,t+R)),N=Math.max(0,Math.min(U,e+F));var r=Math.abs(B-R),i=Math.abs(N-F);if("select"===l){var o=C.selectdirection;"h"===(o="any"===C.selectdirection?i<Math.min(.6*r,g)?"h":r<Math.min(.6*i,g)?"v":"d":C.selectdirection)?((p=[[R,0],[R,U],[B,U],[B,0]]).xmin=Math.min(R,B),p.xmax=Math.max(R,B),p.ymin=Math.min(0,U),p.ymax=Math.max(0,U),W.attr("d","M"+p.xmin+","+(F-g)+"h-4v"+2*g+"h4ZM"+(p.xmax-1)+","+(F-g)+"h4v"+2*g+"h-4Z")):"v"===o?((p=[[0,F],[0,N],[V,N],[V,F]]).xmin=Math.min(0,V),p.xmax=Math.max(0,V),p.ymin=Math.min(F,N),p.ymax=Math.max(F,N),W.attr("d","M"+(R-g)+","+p.ymin+"v-4h"+2*g+"v4ZM"+(R-g)+","+(p.ymax-1)+"v4h"+2*g+"v-4Z")):"d"===o&&((p=[[R,F],[R,N],[B,N],[B,F]]).xmin=Math.min(R,B),p.xmax=Math.max(R,B),p.ymin=Math.min(F,N),p.ymax=Math.max(F,N),W.attr("d","M0,0Z"))}else"lasso"===l&&(u.addPt([B,N]),p=u.filtered);a.selectionDefs&&a.selectionDefs.length?(f=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(a.mergedPolygons,p,H),p.subtract=H,h=w(a.selectionDefs.concat([p]))):(f=[p],h=m(p)),M(f,G),c.throttle(X,d.SELECTDELAY,function(){var t;Z=[];var e,r=[];for(y=0;y<J.length;y++)if(e=(b=J[y])._module.selectPoints(b,h),r.push(e),t=L(e,b),Z.length)for(var n=0;n<t.length;n++)Z.push(t[n]);else Z=t;E(S,J,_={points:Z}),Y(_,p,u),a.gd.emit("plotly_selecting",_)})},a.clickFn=function(t,e){var r=C.clickmode;W.remove(),c.done(X).then(function(){if(c.clear(X),2===t){for(G.remove(),y=0;y<J.length;y++)(b=J[y])._module.selectPoints(b,!1);E(S,J),T(a),S.emit("plotly_deselect",null)}else r.indexOf("select")>-1&&x(e,S,a.xaxes,a.yaxes,a.subplot,a,G),"event"===r&&S.emit("plotly_selected",void 0);o.click(S,e)}).catch(s.error)},a.doneFn=function(){W.remove(),c.done(X).then(function(){c.clear(X),a.gd.emit("plotly_selected",_),p&&a.selectionDefs&&(p.subtract=H,a.selectionDefs.push(p),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,f)),a.doneFnCompleted&&a.doneFnCompleted(Z)}).catch(s.error)}},clearSelect:C,selectOnClick:x}},{"../../components/color":591,"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/polygon":728,"../../lib/throttle":741,"../../plot_api/subroutines":755,"../../registry":845,"./axis_ids":767,"./constants":770,polybooljs:474}],782:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=i.cleanNumber,s=i.ms2DateTime,l=i.dateTime2ms,c=i.ensureNumber,u=i.isArrayOrTypedArray,h=t("../../constants/numerical"),f=h.FP_SAFE,p=h.BADNUM,d=h.LOG_CLIP,g=t("./constants"),v=t("./axis_ids");function m(t){return Math.pow(10,t)}function y(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function x(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],a=t.range[1];return.5*(n+a-2*d*Math.abs(n-a))}return p}function b(e,r,n){var o=l(e,n||t.calendar);if(o===p){if(!a(e))return p;e=+e;var s=Math.floor(10*i.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function _(e,r,n){return s(e,r,n||t.calendar)}function w(e){return t._categories[Math.round(e)]}function k(e){if(y(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function T(e){if(t._categoriesMap)return t._categoriesMap[e]}function A(t){var e=T(t);return void 0!==e?e:a(t)?+t:void 0}function M(e){return a(e)?n.round(t._b+t._m*e,2):p}function S(e){return(e-t._b)/t._m}t.c2l="log"===t.type?x:c,t.l2c="log"===t.type?m:c,t.l2p=M,t.p2l=S,t.c2p="log"===t.type?function(t,e){return M(x(t,e))}:M,t.p2c="log"===t.type?function(t){return m(S(t))}:S,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=S,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return x(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=x,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(S(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=S,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=i.identity,t.d2c=t.r2c=t.d2l=t.r2l=b,t.c2d=t.c2r=t.l2d=t.l2r=_,t.d2p=t.r2p=function(e,r,n){return t.l2p(b(e,0,n))},t.p2d=t.p2r=function(t,e,r){return _(S(t),e,r)},t.cleanPos=function(e){return i.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=k,t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=T,t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(n){var a,o,s=t._traceIndices,l=e._axisMatchGroups;if(l&&l.length&&0===t._categories.length)for(a=0;a<l.length;a++){var c=l[a];if(c[r])for(var f in c)if(f!==r){var p=e[v.id2name(f)];s=s.concat(p._traceIndices)}}var d=[[0,{}],[0,{}]],g=[];for(a=0;a<s.length;a++){var m=n[s[a]];if(h in m){var x=m[h],b=m._length||i.minRowLength(x);if(u(x[0])&&u(x[1]))for(o=0;o<b;o++){var _=x[0][o],w=x[1][o];y(_)&&y(w)&&(g.push([_,w]),_ in d[0][1]||(d[0][1][_]=d[0][0]++),w in d[1][1]||(d[1][1][w]=d[1][0]++))}}}for(g.sort(function(t,e){var r=d[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var a=d[1][1];return a[t[1]]-a[e[1]]}),a=0;a<g.length;a++)k(g[a])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,r){r||(r={}),e||(e="range");var n,o,s=i.nestedProperty(t,e).get();if(o=(o="date"===t.type?i.dfltRange(t.calendar):"y"===h?g.DFLTRANGEY:r.dfltRange||g.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(o[0]=0),s&&2===s.length)for("date"!==t.type||t.autorange||(s[0]=i.cleanDate(s[0],p,t.calendar),s[1]=i.cleanDate(s[1],p,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!i.isDateTime(s[n],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=i.constrain(t.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=o;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]<-f?s[n]=-f:s[n]>f&&(s[n]=f),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else i.nestedProperty(t,e).set(o)},t.setScale=function(r){var n=e._size;if(t.overlaying){var a=v.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var i=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(i);var s=t.r2l(t[i][0],o),l=t.r2l(t[i][1],o);if("y"===h?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,a,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||i.minRowLength(n),i.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}if("multicategory"===l)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var a=(t[0]||[])[n],i=(t[1]||[])[n];r[n]=T([a,i])}return r}(n,s);for(a=new Array(s),o=0;o<s;o++)a[o]=t.d2c(n[o],0,c)}else{var u=r+"0"in e?t.d2c(e[r+"0"],0,c):0,h=e["d"+r]?Number(e["d"+r]):1;for(n=e[{x:"y",y:"x"}[r]],s=e._length||n.length,a=new Array(s),o=0;o<s;o++)a[o]=u+o*h}return a},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[h],null,r),a=t.r2l(t.range[0]),i=t.r2l(t.range[1]);return a<i?a<=n&&n<=i:i<=n&&n<=a},t.clearCalc=function(){var n=function(){t._categories=[],t._categoriesMap={}},a=e._axisMatchGroups;if(a&&a.length){for(var i=!1,o=0;o<a.length;o++){var s=a[o];if(s[r]){i=!0;var l=null,c=null;for(var u in s){var h=e[v.id2name(u)];if(h._categories){l=h._categories,c=h._categoriesMap;break}}l&&c?(t._categories=l,t._categoriesMap=c):n();break}}i||n()}else n();if(t._initialCategories)for(var f=0;f<t._initialCategories.length;f++)k(t._initialCategories[f])},t.sortByInitialCategories=function(){var n=[];if(t._categories=[],t._categoriesMap={},t._initialCategories)for(var a=0;a<t._initialCategories.length;a++)k(t._initialCategories[a]);n=n.concat(t._traceIndices);var i=t._matchGroup;for(var o in i)if(r!==o){var s=e[v.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var E=e._d3locale;"date"===t.type&&(t._dateFormat=E?E.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=E?E.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{"../../constants/numerical":692,"../../lib":716,"./axis_ids":767,"./constants":770,d3:164,"fast-isnumeric":227}],783:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../array_container_defaults");function o(t){var e=["showexponent","showtickprefix","showticksuffix"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}function s(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r("enabled")&&(r("dtickrange"),r("value"))}e.exports=function(t,e,r,l,c,u){u&&1!==u.pass||function(t,e,r,n,a){var i=o(t);r("tickprefix")&&r("showtickprefix",i);r("ticksuffix",a.tickSuffixDflt)&&r("showticksuffix",i)}(t,0,r,0,c),u&&2!==u.pass||function(t,e,r,l,c){var u=o(t);r("tickprefix")&&r("showtickprefix",u);r("ticksuffix",c.tickSuffixDflt)&&r("showticksuffix",u);if(r("showticklabels")){var h=c.font||{},f=e.color,p=f&&f!==a.color.dflt?f:h.color;if(n.coerceFont(r,"tickfont",{family:h.family,size:h.size,color:p}),r("tickangle"),"category"!==l){var d=r("tickformat"),g=t.tickformatstops;Array.isArray(g)&&g.length&&i(t,e,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:s}),d||"date"===l||(r("showexponent",u),r("exponentformat"),r("separatethousands"))}}}(t,e,r,l,c)}},{"../../lib":716,"../array_container_defaults":760,"./layout_attributes":776}],784:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r,i){var o=n.coerce2(t,e,a,"ticklen"),s=n.coerce2(t,e,a,"tickwidth"),l=n.coerce2(t,e,a,"tickcolor",e.color);r("ticks",i.outerTicks||o||s||l?"outside":"")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{"../../lib":716,"./layout_attributes":776}],785:[function(t,e,r){"use strict";var n=t("./clean_ticks");e.exports=function(t,e,r,a){var i;"array"!==t.tickmode||"log"!==a&&"date"!==a?i=r("tickmode",Array.isArray(t.tickvals)?"array":t.dtick?"linear":"auto"):i=e.tickmode="auto";if("auto"===i)r("nticks");else if("linear"===i){var o=e.dtick=n.dtick(t.dtick,a);e.tick0=n.tick0(t.tick0,a,e.calendar,o)}else if("multicategory"!==a){void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"./clean_ticks":769}],786:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../../components/drawing"),s=t("./axes");e.exports=function(t,e,r,l){var c=t._fullLayout;if(0!==e.length){var u,h,f,p;l&&(u=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr0&&(r[o._name+".range"]=i.xr0.slice()),i.yr0&&(r[s._name+".range"]=i.yr0.slice())}return a.call("relayout",t,r).then(function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)})}()}),h=Date.now(),p=window.requestAnimationFrame(function n(){f=Date.now();for(var i=Math.min(1,(f-h)/r.duration),o=d(i),s=0;s<e.length;s++)v(e[s],o);f-h>r.duration?(function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr1&&(r[o._name+".range"]=i.xr1.slice()),i.yr1&&(r[s._name+".range"]=i.yr1.slice())}u&&u(),a.call("relayout",t,r).then(function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)})}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)}),Promise.resolve()}function g(t){var e=t.xaxis,r=t.yaxis;c._defs.select("#"+t.clipId+"> rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function v(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,c=a._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=i.simpleMap(e.xr0,a.r2l),g=i.simpleMap(e.xr1,a.r2l),v=d[1]-d[0],m=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*m/v),a.range[0]=a.l2r(d[0]*(1-r)+r*g[0]),a.range[1]=a.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(f){var y=i.simpleMap(e.yr0,l.r2l),x=i.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=a.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,a,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[a._id,l._id]);var w=h?c/p[2]:1,k=f?u/p[3]:1,T=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=a._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,T,A).call(o.setScale,1/w,1/k),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,k),o.setPointGroupScale(n.zoomScalePts,1/w,1/k),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/k)}s.redrawComponents(t)}},{"../../components/drawing":612,"../../lib":716,"../../registry":845,"./axes":764,d3:164}],787:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,a=t("./axis_autotype");function i(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=i(t),a=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf("scene")&&(r=s);var l=function(t,e,r){for(var n=0;n<t.length;n++){var a=t[n];if("splom"===a.type&&a._length>0&&(a["_"+r+"axes"]||{})[e])return a;if((a[r+"axis"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}(e,r,s);if(!l)return;if("histogram"===l.type&&s==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=s+"calendar",h=l[u],f={noMultiCategory:!n(l,"cartesian")||n(l,"noMultiCategory")};if(o(l,s)){var p=i(l),d=[];for(c=0;c<e.length;c++){var g=e[c];n(g,"box-violin")&&(g[s+"axis"]||s)===r&&(void 0!==g[p]?d.push(g[p][0]):void 0!==g.name?d.push(g.name):d.push("text"),g[u]!==h&&(h=void 0))}t.type=a(d,h,f)}else if("splom"===l.type){var v=l.dimensions,m=v[l._axesDim[r]];m.visible&&(t.type=a(m.values,h,f))}else t.type=a(l[s]||[l[s+"0"]],h,f)}(e,s.data),"-"===e.type?e.type="linear":t.type=e.type)}},{"../../registry":845,"./axis_autotype":765}],788:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib");function i(t,e,r){var n,i,o,s=!1;if("data"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if("layout"!==e.type)return!1;n=t._fullLayout}return i=a.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==i&&(s=!0),o[e.prop]=i,{changed:s,value:i}}function o(t,e){var r=[],n=e[0],i={};if("string"==typeof n)i[n]=e[1];else{if(!a.isPlainObject(n))return r;i=n}return l(i,function(t,e,n){r.push({type:"layout",prop:t,value:n})},"",0),r}function s(t,e){var r,n,i,o,s=[];if(n=e[0],i=e[1],r=e[2],o={},"string"==typeof n)o[n]=i;else{if(!a.isPlainObject(n))return s;o=n,void 0===r&&(r=i)}return void 0===r&&(r=null),l(o,function(e,n,a){var i,o;if(Array.isArray(a)){o=a.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),i=[];for(var c=0;c<l;c++)i[c]=r?r[c]:c}else o=a,i=r?r.slice():null;if(null===i)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(i)){if(!Array.isArray(o)){var u=o;o=[];for(var h=0;h<i.length;h++)o[h]=u}o.length=Math.min(i.length,o.length)}s.push({type:"data",prop:e,traces:i,value:o})},"",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(i){var o=t[i];if("_"!==i[0]){var s=r+(n>0?".":"")+i;a.isPlainObject(o)?l(o,e,s,n+1):e(s,i,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){i(t,c,s.cache),s.check=function(){if(l){var e=i(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h<u.length;h++)t._internalOn(u[h],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else a.log("Unable to automatically bind plot updates to API command"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var a,i,o=e.length;for(a=0;a<o;a++){var s,l=e[a],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var h=r.computeAPICommandBindings(t,c,u);if(1!==h.length)return!1;if(i){if((s=h[0]).type!==i.type)return!1;if(s.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<i.traces.length;f++)if(i.traces[f]!==s.traces[f])return!1}else if(s.prop!==i.prop)return!1}else i=h[0],Array.isArray(i.traces)&&i.traces.sort();var p=(s=h[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=a)}return i},r.executeAPICommand=function(t,e,r){if("skip"===e)return Promise.resolve();var i=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return i.apply(null,o).catch(function(t){return a.warn("API call to Plotly."+e+" rejected.",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case"restyle":n=s(t,r);break;case"relayout":n=o(t,r);break;case"update":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case"animate":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==["string","number"].indexOf(typeof e[0][0])?[{type:"layout",prop:"_currentFrame",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{"../lib":716,"../registry":845}],789:[function(t,e,r){"use strict";var n=t("../lib/extend").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:"info_array",editType:(t=t||{}).editType,items:[{valType:"number",min:0,max:1,editType:t.editType},{valType:"number",min:0,max:1,editType:t.editType}],dflt:[0,1]},a=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(a.row={valType:"integer",min:0,dflt:0,editType:t.editType},a.column={valType:"integer",min:0,dflt:0,editType:t.editType}),a},r.defaults=function(t,e,r,n){var a=n&&n.x||[0,1],i=n&&n.y||[0,1],o=e.grid;if(o){var s=r("domain.column");void 0!==s&&(s<o.columns?a=o._domains.x[s]:delete t.domain.column);var l=r("domain.row");void 0!==l&&(l<o.rows?i=o._domains.y[l]:delete t.domain.row)}var c=r("domain.x",a),u=r("domain.y",i);c[0]<c[1]||(t.domain.x=a.slice()),u[0]<u[1]||(t.domain.y=i.slice())}},{"../lib/extend":707}],790:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:"string",noBlank:!0,strict:!0,editType:e},size:{valType:"number",min:1,editType:e},color:{valType:"color",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],791:[function(t,e,r){"use strict";e.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},{}],792:[function(t,e,r){"use strict";r.projNames={equirectangular:"equirectangular",mercator:"mercator",orthographic:"orthographic","natural earth":"naturalEarth",kavrayskiy7:"kavrayskiy7",miller:"miller",robinson:"robinson",eckert4:"eckert4","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant","conic equal area":"conicEqualArea","conic conformal":"conicConformal","conic equidistant":"conicEquidistant",gnomonic:"gnomonic",stereographic:"stereographic",mollweide:"mollweide",hammer:"hammer","transverse mercator":"transverseMercator","albers usa":"albersUsa","winkel tripel":"winkel3",aitoff:"aitoff",sinusoidal:"sinusoidal"},r.axesNames=["lonaxis","lataxis"],r.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},r.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor="#F0DC82",r.waterColor="#3399FF",r.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},r.sphereSVG={type:"Sphere"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],r.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],r.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},{}],793:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../components/fx"),c=t("../plots"),u=t("../cartesian/axes"),h=t("../../components/dragelement"),f=t("../cartesian/select").prepSelect,p=t("../cartesian/select").selectOnClick,d=t("./zoom"),g=t("./constants"),v=t("../../lib/topojson_utils"),m=t("topojson-client").feature;function y(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t("./projections")(n);var x=y.prototype;e.exports=function(t){return new y(t)},x.plot=function(t,e,r){var n=this,a=e[this.id],i=!1;for(var o in g.layerNameToAdjective)if("frame"!==o&&a["show"+o]){i=!0;break}for(var s=0;s<t.length;s++)if(t[0][0].trace.locationmode){i=!0;break}if(!i)return n.update(t,e);var l=v.getTopojsonName(a);null===n.topojson||l!==n.topojsonName?(n.topojsonName=l,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},x.fetchTopojson=function(){var t=v.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,a){if(n)return 404===n.status?r(new Error(["plotly.js could not find topojson file at",t,".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):r(new Error(["unexpected error while fetching topojson file at",t].join(" ")));e(a)})})},x.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if("choropleth"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var a=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=a.selectAll(".point"),this.dataPoints.text=a.selectAll("text"),this.dataPaths.line=a.selectAll(".js-line");var i=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=i.selectAll("path"),this.render()}},x.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[g.projNames[e]](),a=t._isClipped?g.lonaxisSpan[e]/2:null,i=["center","rotate","parallels","clipExtent"],o=function(t){return t?r:[]},s=0;s<i.length;s++){var l=i[s];"function"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(a){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>a*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],a=t[1][1]-t[0][1],i=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),i&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),a/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(a-s*(o[1][1]+o[0][1]))/2;return i&&r.clipExtent(i),r.scale(150*s).translate([l,c])},r.precision(g.precision),a&&r.clipAngle(a-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var h=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],f=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.clipPad,n=t[0]+r,a=t[1]-r,i=e[0]+r,o=e[1]-r;n>0&&a<0&&(a+=360);var s=(a-n)/4;return{type:"Polygon",coordinates:[[[n,i],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[a,o],[a,i],[a-s,i],[a-2*s,i],[a-3*s,i],[n,i]]]}}(f.range,p.range);u.fitExtent(h,d);var v=this.bounds=u.getBounds(d),m=this.fitScale=u.scale(),y=u.translate();if(!isFinite(v[0][0])||!isFinite(v[0][1])||!isFinite(v[1][0])||!isFinite(v[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k<b.length;k++)w[this.id+"."+b[k]]=null;return this.viewInitial=null,i.warn(_),x._promises.push(a.call("relayout",x,w)),_}var T=this.midPt=[(v[0][0]+v[1][0])/2,(v[0][1]+v[1][1])/2];if(u.scale(s.scale*m).translate([y[0]+(T[0]-y[0]),y[1]+(T[1]-y[1])]).clipExtent(v),e._isAlbersUsa){var A=u([c.lon,c.lat]),M=u.translate();u.translate([M[0]-(A[0]-M[0]),M[1]-(A[1]-M[1])])}},x.updateBaseLayers=function(t,e){var r=this,a=r.topojson,i=r.layers,l=r.basePaths;function c(t){return"lonaxis"===t||"lataxis"===t}function h(t){return Boolean(g.lineLayers[t])}function f(t){return Boolean(g.fillLayers[t])}var p=(this.hasChoropleth?g.layersForChoropleth:g.layers).filter(function(t){return h(t)||f(t)?e["show"+t]:!c(t)||e[t].showgrid}),d=r.framework.selectAll(".layer").data(p,String);d.exit().each(function(t){delete i[t],delete l[t],n.select(this).remove()}),d.enter().append("g").attr("class",function(t){return"layer "+t}).each(function(t){var e=i[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):c(t)?l[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):h(t)?l[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):f(t)&&(l[t]=e.append("path").style("stroke","none"))}),d.order(),d.each(function(r){var n=l[r],i=g.layerNameToAdjective[r];"frame"===r?n.datum(g.sphereSVG):h(r)||f(r)?n.datum(m(a,a.objects[r])):c(r)&&n.datum(function(t,e,r){var n,a,i,o=e[t],s=g.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,a=s.lataxisRange,i=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,a=s.lonaxisRange,i=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};u.setConvert(l,r);var c=u.calcTicks(l);e.isScoped||"lonaxis"!==t||c.pop();for(var h=c.length,f=new Array(h),p=0;p<h;p++)for(var d=c[p].x,v=f[p]=[],m=a[0];m<a[1]+2.5;m+=2.5)v.push(i(d,m));return{type:"MultiLineString",coordinates:f}}(r,e,t)).call(o.stroke,e[r].gridcolor).call(s.dashLine,"",e[r].gridwidth),h(r)?n.call(o.stroke,e[i+"color"]).call(s.dashLine,"",e[i+"width"]):f(r)&&n.call(o.fill,e[i+"color"])})},x.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,a=r[0][0]-n,i=r[0][1]-n,l=r[1][0]-a+n,c=r[1][1]-i+n;s.setRect(this.clipRect,a,i,l,c),this.bgRect.call(s.setRect,a,i,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=a,this.xaxis._length=l,this.yaxis._offset=i,this.yaxis._length=c},x.updateFx=function(t,e){var r=this,i=r.graphDiv,o=r.bgRect,s=t.dragmode,c=t.clickmode;if(!r.isStatic){var u;"select"===s?u=function(t,e){(t.range={})[r.id]=[v([e.xmin,e.ymin]),v([e.xmax,e.ymax])]}:"lasso"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(v)});var g={element:r.bgRect.node(),gd:i,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(".select-outline").remove()}};"pan"===s?(o.node().onmousedown=null,o.call(d(r,e)),o.on("dblclick.zoom",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+"."+n]=t[n];a.call("_guiRelayout",i,e),i.emit("plotly_doubleclick",null)}),i._context._scrollZoom.geo||o.on("wheel.zoom",null)):"select"!==s&&"lasso"!==s||(o.on(".zoom",null),g.prepFn=function(t,e,r){f(t,e,r,g,s)},h.init(g)),o.on("mousemove",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return h.unhover(i,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(i,n.event,r.id)}),o.on("mouseout",function(){i._dragging||h.unhover(i,n.event)}),o.on("click",function(){"select"!==s&&"lasso"!==s&&(c.indexOf("select")>-1&&p(n.event,i,[r.xaxis],[r.yaxis],r.id,g),c.indexOf("event")>-1&&l.click(i,n.event))})}function v(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,a="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",a),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(s.setClipUrl,a,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},u.setConvert(t.mockAxis,r)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale}:t._isClipped?this.viewInitial={"projection.scale":r.scale,"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale,"projection.rotation.lon":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?"translate("+r[0]+","+r[1]+")":null}function a(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr("display",a).attr("transform",n)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/topojson_utils":743,"../../registry":845,"../cartesian/axes":764,"../cartesian/select":781,"../plots":825,"./constants":792,"./projections":797,"./zoom":798,d3:164,"topojson-client":538}],794:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./geo"),o="geo",s=a(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[o],s=0;s<a.length;s++){var l=a[s],c=n(r,o,l),u=e[l]._subplot;u||(u=i({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots[o],n=0;n<r.length;n++){var a=e[r[n]];a._subplot.updateFx(e,a)}},clean:function(t,e,r,n){for(var a=n._subplots[o]||[],i=0;i<a.length;i++){var s=a[i],l=n[s]._subplot;!e[s]&&l&&(l.framework.remove(),l.clipDef.remove())}}}},{"../../lib":716,"../../plots/get_data":799,"./geo":793,"./layout_attributes":795,"./layout_defaults":796}],795:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../domain").attributes,i=t("./constants"),o=t("../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};(e.exports=o({domain:a({name:"geo"},{}),resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(i.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(i.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:i.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:i.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:i.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:i.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":590,"../../plot_api/edit_types":747,"../domain":789,"./constants":792}],796:[function(t,e,r){"use strict";var n=t("../subplot_defaults"),a=t("./constants"),i=t("./layout_attributes"),o=a.axesNames;function s(t,e,r){var n=r("resolution"),i=r("scope"),s=a.scopeDefaults[i],l=r("projection.type",s.projType),c=e._isAlbersUsa="albers usa"===l;c&&(i=e.scope="usa");var u=e._isScoped="world"!==i,h=e._isConic=-1!==l.indexOf("conic");e._isClipped=!!a.lonaxisSpan[l];for(var f=0;f<o.length;f++){var p,d=o[f],g=[30,10][f];if(u)p=s[d+"Range"];else{var v=a[d+"Span"],m=(v[l]||v["*"])/2,y=r("projection.rotation."+d.substr(0,3),s.projRotate[f]);p=[y-m,y+m]}r(d+".range",p),r(d+".tick0"),r(d+".dtick",g),r(d+".showgrid")&&(r(d+".gridcolor"),r(d+".gridwidth"))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_>0&&w<0&&(w+=360);var k,T,A,M=(_+w)/2;if(!c){var S=u?s.projRotate:[M,0,0];k=r("projection.rotation.lon",S[0]),r("projection.rotation.lat",S[1]),r("projection.rotation.roll",S[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(T=-96.6,A=38.7):(T=u?M:k,A=(b[0]+b[1])/2),r("center.lon",T),r("center.lat",A),h)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==i)&&(r("countrycolor"),r("countrywidth")),("usa"===i||"north america"===i&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:i,handleDefaults:s,partition:"y"})}},{"../subplot_defaults":839,"./constants":792,"./layout_attributes":795}],797:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var a=c[e.type];return t.geo.stream(e,n(a)),a.result()}t.geo.project=function(t,e){var a=e.stream;if(!a)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,a)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map(function(t){return e(t,r)})}}},a=[],i=[],o={point:function(t,e){a.push([t,e])},result:function(){var t=a.length?a.length<2?{type:"Point",coordinates:a[0]}:{type:"MultiPoint",coordinates:a}:null;return a=[],t}},s={lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){a.length&&(i.push(a),a=[])},result:function(){var t=i.length?i.length<2?{type:"LineString",coordinates:i[0]}:{type:"MultiLineString",coordinates:i}:null;return i=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){var t=a.length;if(t){do{a.push(a[0].slice())}while(++t<4);i.push(a),a=[]}},polygonEnd:u,result:function(){if(!i.length)return null;var t=[],e=[];return i.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(t,e){for(var r=e[0],n=e[1],a=!1,i=0,o=t.length,s=o-1;i<o;s=i++){var l=t[i],c=l[0],u=l[1],h=t[s],f=h[0],p=h[1];u>n^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(a=!a)}return a}(t[0],r))return t.push(e),!0})||t.push([e])}),i=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,a=1/0;n<10&&Math.abs(a)>h;n++){var i=Math.cos(e);e-=a=(e+Math.sin(e)*(i+2)-r)/(2*i*(1+i))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function a(t,r){for(var a=r<0?-1:1,i=n[+(r<0)],o=0,s=i.length-1;o<s&&t>i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],a*r>a*i[o][0][1]?i[o][0][1]:r)[0],l}e.invert&&(a.invert=function(t,i){for(var o=r[+(i<0)],s=n[+(i<0)],c=0,u=o.length;c<u;++c){var h=o[c];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=i&&i<h[1][1]){var f=e.invert(t-e(s[c][1][0],0)[0],i);return f[0]+=s[c][1][0],l(a(f[0],f[1]),[t,i])?f:null}}});var i=t.geo.projection(a),o=i.stream;function s(t,e){for(var r,n,a,i=-1,o=t.length,s=t[0],l=[];++i<o;){n=((r=t[i])[0]-s[0])/e,a=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*a]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return i.stream=function(e){var r=i.rotate(),a=o(e),l=(i.rotate([0,0]),o(e));return i.rotate(r),a.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],a=0,i=n[0].length;a<i;++a){var o=n[0][a],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[h-e,u-e],[h-e,f+e]],30))}for(var a=n[1].length-1;a>=0;--a){var o=n[1][a],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},a},i.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],a=e(t[2][0],t[2][1])[0],i=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return i>o&&(r=i,i=o,o=r),[[n,i],[a,o]]})}),i):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},i},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),a=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+a)),m((n+r*(a+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return T;function r(r,n){var a=w(r/e,n);return a[0]*=t,a}return r.invert=function(r,n){var a=w.invert(r/t,n);return a[0]*=e,a},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function M(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),a=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--a>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,M.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(M)}).raw=M,S(p);var E=function(t,e,r){var n=S(r);function a(r,a){return[t*r*Math.cos(a=n(a)),e*Math.sin(a)]}return a.invert=function(n,a){var i=m(a/e);return[n/(t*Math.cos(i)),m((2*i+Math.sin(2*i))/r)]},a}(Math.SQRT2/d,Math.SQRT2,p);function L(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,L.invert=function(t,e){var r,n=e,a=25;do{var i=n*n,o=i*i;n-=r=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-e)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--a>0);return[t/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(L)}).raw=L;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function P(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),a=Math.floor(n),i=n-a,o=(r=C[a])[0],s=r[1],l=(r=C[++a])[0],c=r[1],u=(r=C[Math.min(19,++a)])[0],h=r[1];return[t*(l+i*(u-o)/2+i*i*(u-2*l+o)/2),(e>0?d:-d)*(c+i*(h-s)/2+i*i*(h-2*c+s)/2)]}function O(t,e){return[t*Math.cos(e),e]}function z(t,e){var r,n=Math.cos(e),a=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*a,Math.sin(e)*a]}function I(t,e){var r=z(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}C.forEach(function(t){t[1]*=1.0144}),P.invert=function(t,e){var r=e/d,n=90*r,a=Math.min(18,Math.abs(n/5)),i=Math.max(0,Math.floor(a));do{var o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],c=l-o,u=l-2*s+o,h=2*(Math.abs(r)-s)/c,p=u/c,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===i){n=(e>=0?5:-5)*(m+a);var y,x=50;do{m=(a=Math.min(18,Math.abs(n)/5))-(i=Math.floor(a)),o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--i>=0);var b=C[i][0],_=C[i+1][0],w=C[Math.min(19,i+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(P)}).raw=P,O.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(O)}).raw=O,z.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,a=25;do{var i,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),f=Math.sin(2*n),d=c*c,g=u*u,v=s*s,m=1-g*l*l,x=m?y(u*l)*Math.sqrt(i=1/m):i=0,b=2*x*u*s-t,_=x*c-e,w=i*(g*v+x*u*l*d),k=i*(.5*o*f-2*x*c*s),T=.25*i*(f*s-x*c*g*o),A=i*(d*l+x*v*u),M=k*T-A*w;if(!M)break;var S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]}},(t.geo.aitoff=function(){return x(z)}).raw=z,I.invert=function(t,e){var r=t,n=e,a=25;do{var i,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-u*p*p,x=m?y(o*p)*Math.sqrt(i=1/m):i=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*i*(u*v+x*o*p*c)+.5/d,k=i*(f*l/4-x*s*g),T=.125*i*(l*g-x*s*u*f),A=.5*i*(c*p+x*v*o)+.5,M=k*T-A*w,S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]},(t.geo.winkel3=function(){return x(I)}).raw=I}},{}],798:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../registry"),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+"."+t]=a.nestedProperty(l,t).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=a.nestedProperty(u,t);r.get()!==e&&(r.set(e),a.nestedProperty(l,t).set(e),f[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),o.emit("plotly_relayout",f)}function f(t,e){var r=u(0,e);function a(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",function(){n.select(this).style(l)}).on("zoom",function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})}).on("zoomend",function(){n.select(this).style(c),h(t,e,a)}),r}function p(t,e){var r,a,i,o,s,f,p,d,g,v=u(0,e),m=2;function y(t){return e.invert(t)}function x(r){var n=e.rotate(),a=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",a[0]),r("center.lat",a[1])}return v.on("zoomstart",function(){n.select(this).style(l),r=n.mouse(this),a=e.rotate(),i=e.translate(),o=a,s=y(r)}).on("zoom",function(){if(f=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>m||Math.abs(n[1]-t[1])>m}(r))return v.scale(e.scale()),void v.translate(e.translate());e.scale(n.event.scale),e.translate([i[0],n.event.translate[1]]),s?y(f)&&(d=y(f),p=[o[0]+(d[0]-s[0]),a[1],a[2]],e.rotate(p),o=p):s=y(r=f),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})}).on("zoomend",function(){n.select(this).style(c),g&&h(t,e,x)}),v}function d(t,e){var r,a={r:e.rotate(),k:e.scale()},i=u(0,e),f=function(t){var e=0,r=arguments.length,a=[];for(;++e<r;)a.push(arguments[e]);var i=n.dispatch.apply(null,a);return i.of=function(e,r){return function(a){var o;try{o=a.sourceEvent=n.event,a.target=t,n.event=a,i[a.type].apply(e,r)}finally{n.event=o}}},i}(i,"zoomstart","zoom","zoomend"),p=0,d=i.on;function m(t){var r=e.rotate();t("projection.rotation.lon",-r[0]),t("projection.rotation.lat",-r[1])}return i.on("zoomstart",function(){n.select(this).style(l);var t,c,u,h,m,b,_,w,k,T,A,M=n.mouse(this),S=e.rotate(),E=S,L=e.translate(),C=(c=.5*(t=S)[0]*o,u=.5*t[1]*o,h=.5*t[2]*o,m=Math.sin(c),b=Math.cos(c),_=Math.sin(u),w=Math.cos(u),k=Math.sin(h),T=Math.cos(h),[b*w*T+m*_*k,m*w*T-b*_*k,b*_*T+m*w*k,b*w*k-m*_*T]);r=g(e,M),d.call(i,"zoom",function(){var t,i,o,l,c,u,h,p,d,m,b=n.mouse(this);if(e.scale(a.k=n.event.scale),r){if(g(e,b)){e.rotate(S).translate(L);var _=g(e,b),w=function(t,e){if(!t||!e)return;var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(x(r,r)),a=.5*Math.acos(Math.max(-1,Math.min(1,x(t,e)))),i=Math.sin(a)/n;return n&&[Math.cos(a),r[2]*i,-r[1]*i,r[0]*i]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}((i=w,o=(t=C)[0],l=t[1],c=t[2],u=t[3],h=i[0],p=i[1],d=i[2],m=i[3],[o*h-l*p-c*d-u*m,o*p+l*h+c*m-u*d,o*d-l*m+c*h+u*p,o*m+l*d-c*p+u*h])),T=a.r=function(t,e,r){var n=y(e,2,t[0]);n=y(n,1,t[1]),n=y(n,0,t[2]-r[2]);var a,i,o=e[0],l=e[1],c=e[2],u=n[0],h=n[1],f=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(h)>d?(i=(h>0?90:-90)-p,a=0):(i=Math.asin(h/d)*s-p,a=Math.sqrt(d*d-h*h));var g=180-i-2*p,m=(Math.atan2(f,u)-Math.atan2(c,a))*s,x=(Math.atan2(f,u)-Math.atan2(c,-a))*s,b=v(r[0],r[1],i,m),_=v(r[0],r[1],g,x);return b<=_?[i,m,r[2]]:[g,x,r[2]]}(k,r,E);isFinite(T[0])&&isFinite(T[1])&&isFinite(T[2])||(T=E),e.rotate(T),E=T}}else r=g(e,M=b);f.of(this,arguments)({type:"zoom"})}),A=f.of(this,arguments),p++||A({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(c),d.call(i,"zoom",null),r=f.of(this,arguments),--p||r({type:"zoomend"}),h(t,e,m)}).on("zoom.redraw",function(){t.render();var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})}),n.rebind(i,f,"on")}function g(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function v(t,e,r,n){var a=m(r-t),i=m(n-e);return Math.sqrt(a*a+i*i)}function m(t){return(t%360+540)%360-180}function y(t,e,r){var n=r*o,a=t.slice(),i=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return a[i]=t[i]*l-t[s]*c,a[s]=t[s]*l+t[i]*c,a}function x(t,e){for(var r=0,n=0,a=t.length;n<a;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?d:p)(t,r)}},{"../../lib":716,"../../registry":845,d3:164}],799:[function(t,e,r){"use strict";var n=t("../registry"),a=t("./cartesian/constants").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var a=n.subplotsRegistry[e];if(!a)return[];for(var i=a.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[i]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,a=[],i=[];if(!(r="string"==typeof e?n.getModule(e).plot:"function"==typeof e?e:e.plot))return[a,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?a.push(s):i.push(s))}return[a,i]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var i,o,s,l=n.subplotsRegistry[e].attr,c=[];if("gl2d"===e){var u=r.match(a);o="x"+u[1],s="y"+u[2]}for(var h=0;h<t.length;h++)i=t[h],"gl2d"===e&&n.traceIs(i,"gl2d")?i[l[0]]===o&&i[l[1]]===s&&c.push(i):i[l]===r&&c.push(i);return c}},{"../registry":845,"./cartesian/constants":770}],800:[function(t,e,r){"use strict";var n=t("mouse-change"),a=t("mouse-wheel"),i=t("mouse-event-offset"),o=t("../cartesian/constants"),s=t("has-passive-events");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function h(e,n,a){var i,s,l=t.calcDataBox(),h=r.viewBox,f=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function v(e,r,n){var a=Math.min(r,n),i=Math.max(r,n);a!==i?(l[e]=a,l[e+2]=i,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,a*=r.pixelRatio,a=h[3]-h[1]-a,t.fullLayout.dragmode){case"zoom":if(e){var m=n/(h[2]-h[0])*(l[2]-l[0])+l[0],y=a/(h[3]-h[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=m,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=a),c.boxEnd[0]=m,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-a)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,a=0;a<e.length;a++)if(-1!==e[a][r]){if(-1!==e[a][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{i=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(i*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(i)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(i>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(i=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],i||s?(i&&(v(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(v(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=a),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-a)<d&&(a=c.dragStart[1]),i=(f-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-a)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=i,l[2]+=i,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=a}return c.mouseListener=n(e,h),e.addEventListener("touchstart",function(t){var r=i(t.changedTouches[0],e);h(0,r[0],r[1]),h(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchmove",function(t){t.preventDefault();var r=i(t.changedTouches[0],e);h(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchend",function(t){h(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),c.wheelListener=a(e,function(e,n){if(!t.scrollZoom)return!1;var a=t.calcDataBox(),i=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(i[3]-i[1])),h=o/(i[2]-i[0])*(a[2]-a[0])+a[0],f=s/(i[3]-i[1])*(a[3]-a[1])+a[1];return a[0]=(a[0]-h)*l+h,a[2]=(a[2]-h)*l+h,a[1]=(a[1]-f)*l+f,a[3]=(a[3]-f)*l+f,t.setRanges(a),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),c}},{"../cartesian/constants":770,"has-passive-events":412,"mouse-change":436,"mouse-event-offset":437,"mouse-wheel":439}],801:[function(t,e,r){"use strict";var n=t("../cartesian/axes"),a=t("../../lib/str2rgbarray");function i(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=i.prototype,s=["xaxis","yaxis"];o.merge=function(t){var e,r,n,i,o,l,c,u,h,f,p;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),f=0;f<2;++f){var d=(e=s[f]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?"":r.title.text,p=0;p<=2;p+=2)this.labelEnable[f+p]=!1,this.labels[f+p]=n,this.labelColor[f+p]=a(r.title.font.color),this.labelFont[f+p]=r.title.font.family,this.labelSize[f+p]=r.title.font.size,this.labelPad[f+p]=this.getLabelPad(e,r),this.tickEnable[f+p]=!1,this.tickColor[f+p]=a((r.tickfont||{}).color),this.tickAngle[f+p]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[f+p]=this.getTickPad(r),this.tickMarkLength[f+p]=0,this.tickMarkWidth[f+p]=r.tickwidth||0,this.tickMarkColor[f+p]=a(r.tickcolor),this.borderLineEnable[f+p]=!1,this.borderLineColor[f+p]=a(r.linecolor),this.borderLineWidth[f+p]=r.linewidth||0;c=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!c,l=this.hasAxisInAltrPos(e,r)&&!c,i=r.mirror||!1,u=c?-1!==String(i).indexOf("all"):!!i,h=c?"allticks"===i:-1!==String(i).indexOf("ticks"),o?this.labelEnable[f]=!0:l&&(this.labelEnable[f+2]=!0),o?this.tickEnable[f]=r.showticklabels:l&&(this.tickEnable[f+2]=r.showticklabels),(o||u)&&(this.borderLineEnable[f]=r.showline),(l||u)&&(this.borderLineEnable[f+2]=r.showline),(o||h)&&(this.tickMarkLength[f]=this.getTickMarkLength(r)),(l||h)&&(this.tickMarkLength[f+2]=this.getTickMarkLength(r)),this.gridLineEnable[f]=r.showgrid,this.gridLineColor[f]=a(r.gridcolor),this.gridLineWidth[f]=r.gridwidth,this.zeroLineEnable[f]=r.zeroline,this.zeroLineColor[f]=a(r.zerolinecolor),this.zeroLineWidth[f]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return"xaxis"===t?"bottom"===r:"yaxis"===t?"left"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return"xaxis"===t?"top"===r:"yaxis"===t?"right"===r:void 0},o.getLabelPad=function(t,e){var r=e.title.font.size,n=e.showticklabels;return"xaxis"===t?"top"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:"yaxis"===t?"right"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},o.getTickPad=function(t){return"outside"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return"inside"===t.ticks?-e:e},e.exports=function(t){return new i(t)}},{"../../lib/str2rgbarray":739,"../cartesian/axes":764}],802:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("./scene2d"),i=t("../layout_attributes"),o=t("../../constants/xmlns_namespaces"),s=t("../cartesian/constants"),l=t("../cartesian"),c=t("../../components/fx/layout_attributes"),u=t("../get_data").getSubplotData;r.name="gl2d",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t("../cartesian/attributes"),r.supplyLayoutDefaults=function(t,e,r){e._has("cartesian")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,"plot","from-root"),r.baseLayoutAttrOverrides=n({plot_bgcolor:i.plot_bgcolor,hoverlabel:c.hoverlabel},"plot","nested"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var o=n[i],s=e._plots[o],l=u(r,"gl2d",o),c=s._scene2d;void 0===c&&(c=new a({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl2d||[],i=0;i<a.length;i++){var o=a[i],s=n._plots[o];if(s._scene2d)0===u(t,"gl2d",o).length&&(s._scene2d.destroy(),delete n._plots[o])}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var a=e._plots[r[n]]._scene2d,i=a.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":i,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),a.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{"../../components/fx/layout_attributes":630,"../../constants/xmlns_namespaces":693,"../../plot_api/edit_types":747,"../cartesian":775,"../cartesian/attributes":762,"../cartesian/constants":770,"../get_data":799,"../layout_attributes":816,"./scene2d":803}],803:[function(t,e,r){"use strict";var n,a,i=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../../components/fx"),l=t("gl-plot2d"),c=t("gl-spikes2d"),u=t("gl-select-box"),h=t("webgl-context"),f=t("./convert"),p=t("./camera"),d=t("../../lib/show_no_webgl_msg"),g=t("../cartesian/constraints"),v=g.enforce,m=g.clean,y=t("../cartesian/autorange").doAutoRange,x=["xaxis","yaxis"],b=t("../cartesian/constants").SUBPLOT_PATTERN;function _(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=f(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=_;var w=_.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(a||(n=document.createElement("canvas"),a=h({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error("Error creating static canvas/context for image server");this.canvas=n,this.gl=a}else{var t=this.container.querySelector(".gl-canvas-focus"),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r),r.className+=" user-select-none";var i=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none";var o=this.mouseContainer=document.createElement("div");o.style.position="absolute",o.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var s=this.container;s.appendChild(i),s.appendChild(o);var l=this;o.addEventListener("mouseout",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener("mouseover",function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=i[4*(r*o+l)+c];i[4*(r*o+l)+c]=i[4*(r*s+l)+c],i[4*(r*s+l)+c]=u}var h=document.createElement("canvas");h.width=r,h.height=a;var f,p=h.getContext("2d"),d=p.createImageData(r,a);switch(d.data.set(i),p.putImageData(d,0,0),t){case"jpeg":f=h.toDataURL("image/jpeg");break;case"webp":f=h.toDataURL("image/webp");break;default:f=h.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(n),f},w.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,a=r.height,i=0|Math.ceil(e*n),o=0|Math.ceil(e*a);return t.width===i&&t.height===o||(t.width=i,t.height=o),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+"";return t},w.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(b),r="xaxis"+e[1],n="yaxis"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,a={},o=a[e._name+".range"]=e.range.slice(),s=a[r._name+".range"]=r.range.slice();a[e._name+".autorange"]=e.autorange,a[r._name+".autorange"]=r.autorange,i.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,a);var l=n[e._name];l.range=o,l.autorange=e.autorange;var c=n[r._name];c.range=s,c.autorange=r.autorange,a.lastInputTime=this.camera.lastInputTime,t.emit("plotly_relayout",a)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],a=e[r];if(n.length!==a.length)return!0;for(var i=0;i<n.length;++i)if(n[i].x!==a[i].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&i.getComponentMethod("annotations","drawOne")(t,r)}},w.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var a=r.width,i=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,a,i];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};m(s,this.xaxis),m(s,this.yaxis);var l,c,u=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[u.l+h[0]*u.w,u.b+f[0]*u.h,a-u.r-(1-h[1])*u.w,i-u.t-(1-f[1])*u.h],this.mouseContainer.style.width=u.w*(h[1]-h[0])+"px",this.mouseContainer.style.height=u.h*(f[1]-f[0])+"px",this.mouseContainer.height=u.h*(f[1]-f[0]),this.mouseContainer.style.left=u.l+h[0]*u.w+"px",this.mouseContainer.style.top=u.t+(1-f[1])*u.h+"px",c=0;c<2;++c)(l=this[x[c]])._length=o.viewBox[c+2]-o.viewBox[c],y(this.graphDiv,l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,a=t.r2l,i=e.r2l;return[a(r[0]),i(n[0]),a(r[1]),i(n[1])]},w.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,a=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[a(t[1]),a(t[3])]},w.updateTraces=function(t,e){var r,n,a,i=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<i.length;r++){var o=i[r],s=this.traces[o];for(n=0;n<t.length;n++)if((a=t[n]).uid===o&&a.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){a=t[r];var l=e[r],c=this.traces[a.uid];c?c.update(a,l):(c=a._module.plot(this,a,l),this.traces[a.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},w.updateFx=function(t){"lasso"===t||"select"===t?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),this.mouseContainer.style.cursor="pan"===t?"move":"zoom"===t?"crosshair":null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,a=t.pointIndex,i=0;i<this.fullData.length;i++)this.fullData[i].uid===n&&(r=this.fullData[i]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:a,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,a),this.graphDiv.emit(e,{points:[o]})},w.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,a=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var i,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&"zoom"===a.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var h=a._size,f=this.xaxis.domain,p=this.yaxis.domain,d=(i=t.pick(o/t.pixelRatio+h.l+f[0]*h.w,l/t.pixelRatio-(h.t+(1-p[1])*h.h)))&&i.object._trace.handlePick(i);if(d&&n&&this.emitPointAction(d,"plotly_click"),i&&"skip"!==i.object._trace.hoverinfo&&a.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:i.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(i.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(i.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,"plotly_hover");var v=this.fullData[g.trace.index]||{},m=g.pointIndex,y=s.castHoverinfo(v,a,m);if(y&&"all"!==y){var x=y.split("+");-1===x.indexOf("x")&&(g.traceCoord[0]=void 0),-1===x.indexOf("y")&&(g.traceCoord[1]=void 0),-1===x.indexOf("z")&&(g.traceCoord[2]=void 0),-1===x.indexOf("text")&&(g.textLabel=void 0),-1===x.indexOf("name")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter("xaxis",g.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(v,m,"bgcolor")||g.color,borderColor:s.castHoverOption(v,m,"bordercolor"),fontFamily:s.castHoverOption(v,m,"font.family"),fontSize:s.castHoverOption(v,m,"font.size"),fontColor:s.castHoverOption(v,m,"font.color"),nameLength:s.castHoverOption(v,m,"namelength"),textAlign:s.castHoverOption(v,m,"align")},{container:this.svgContainer,gd:this.graphDiv})}}i||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),s.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),"hover").text}}},{"../../components/fx":629,"../../lib/show_no_webgl_msg":737,"../../plots/cartesian/axes":764,"../../registry":845,"../cartesian/autorange":763,"../cartesian/constants":770,"../cartesian/constraints":771,"./camera":800,"./convert":801,"gl-plot2d":289,"gl-select-box":301,"gl-spikes2d":310,"webgl-context":554}],804:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../components/fx/layout_attributes"),i=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:a.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,a=0;a<n.length;a++){var s=n[a],l=o(r,"gl3d",s),c=e[s],u=c.camera,h=c._scene;h||(h=new i({id:s,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},e),c._scene=h),h.viewInitial||(h.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),h.plot(l,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl3d||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],o=i.domain,s=i._scene,c=s.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return"1"===e&&(e=""),"scene"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{"../../components/fx/layout_attributes":630,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../plot_api/edit_types":747,"../get_data":799,"./layout/attributes":805,"./layout/defaults":809,"./layout/layout_attributes":810,"./scene":814}],805:[function(t,e,r){"use strict";e.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},{}],806:[function(t,e,r){"use strict";var n=t("../../../components/color"),a=t("../../cartesian/layout_attributes"),i=t("../../../lib/extend").extendFlat,o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({visible:a.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:n.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:a.color,categoryorder:a.categoryorder,categoryarray:a.categoryarray,title:{text:a.title.text,font:a.title.font},type:i({},a.type,{values:["-","linear","log","date","category"]}),autorange:a.autorange,rangemode:a.rangemode,range:i({},a.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,mirror:a.mirror,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,tickfont:a.tickfont,tickangle:a.tickangle,tickprefix:a.tickprefix,showtickprefix:a.showtickprefix,ticksuffix:a.ticksuffix,showticksuffix:a.showticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:a.showline,linecolor:a.linecolor,linewidth:a.linewidth,showgrid:a.showgrid,gridcolor:i({},a.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:a.gridwidth,zeroline:a.zeroline,zerolinecolor:a.zerolinecolor,zerolinewidth:a.zerolinewidth,_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},"plot","from-root")},{"../../../components/color":591,"../../../lib/extend":707,"../../../plot_api/edit_types":747,"../../cartesian/layout_attributes":776}],807:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,a=t("../../../lib"),i=t("../../../plot_api/plot_template"),o=t("./axis_attributes"),s=t("../../cartesian/type_defaults"),l=t("../../cartesian/axis_defaults"),c=["xaxis","yaxis","zaxis"];e.exports=function(t,e,r){var u,h;function f(t,e){return a.coerce(u,h,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(h=i.newContainer(e,d))._id=d[0]+r.scene,h._name=d,s(u,h,f,r),l(u,h,f,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),f("gridcolor",n(h.color,r.bgColor,13600/187).toRgbString()),f("title.text",d[0]),h.setScale=a.noop,f("showspikes")&&(f("spikesides"),f("spikethickness"),f("spikecolor",h.color)),f("showaxeslabels"),f("showbackground")&&f("backgroundcolor")}}},{"../../../lib":716,"../../../plot_api/plot_template":754,"../../cartesian/axis_defaults":766,"../../cartesian/type_defaults":787,"./axis_attributes":806,tinycolor2:535}],808:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=t("../../../lib"),i=["xaxis","yaxis","zaxis"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=0;r<3;++r){var o=e[i[r]];o.visible?(this.labels[r]=t._meta?a.templateString(o.title.text,t._meta):o.title.text,"font"in o.title&&(o.title.font.color&&(this.labelColor[r]=n(o.title.font.color)),o.title.font.family&&(this.labelFont[r]=o.title.font.family),o.title.font.size&&(this.labelSize[r]=o.title.font.size)),"showline"in o&&(this.lineEnable[r]=o.showline),"linecolor"in o&&(this.lineColor[r]=n(o.linecolor)),"linewidth"in o&&(this.lineWidth[r]=o.linewidth),"showgrid"in o&&(this.gridEnable[r]=o.showgrid),"gridcolor"in o&&(this.gridColor[r]=n(o.gridcolor)),"gridwidth"in o&&(this.gridWidth[r]=o.gridwidth),"log"===o.type?this.zeroEnable[r]=!1:"zeroline"in o&&(this.zeroEnable[r]=o.zeroline),"zerolinecolor"in o&&(this.zeroLineColor[r]=n(o.zerolinecolor)),"zerolinewidth"in o&&(this.zeroLineWidth[r]=o.zerolinewidth),"ticks"in o&&o.ticks?this.lineTickEnable[r]=!0:this.lineTickEnable[r]=!1,"ticklen"in o&&(this.lineTickLength[r]=this._defaultLineTickLength[r]=o.ticklen),"tickcolor"in o&&(this.lineTickColor[r]=n(o.tickcolor)),"tickwidth"in o&&(this.lineTickWidth[r]=o.tickwidth),"tickangle"in o&&(this.tickAngle[r]="auto"===o.tickangle?-3600:Math.PI*-o.tickangle/180),"showticklabels"in o&&(this.tickEnable[r]=o.showticklabels),"tickfont"in o&&(o.tickfont.color&&(this.tickColor[r]=n(o.tickfont.color)),o.tickfont.family&&(this.tickFont[r]=o.tickfont.family),o.tickfont.size&&(this.tickSize[r]=o.tickfont.size)),"mirror"in o?-1!==["ticks","all","allticks"].indexOf(o.mirror)?(this.lineTickMirror[r]=!0,this.lineMirror[r]=!0):!0===o.mirror?(this.lineTickMirror[r]=!1,this.lineMirror[r]=!0):(this.lineTickMirror[r]=!1,this.lineMirror[r]=!1):this.lineMirror[r]=!1,"showbackground"in o&&!1!==o.showbackground?(this.backgroundEnable[r]=!0,this.backgroundColor[r]=n(o.backgroundcolor)):this.backgroundEnable[r]=!1):(this.tickEnable[r]=!1,this.labelEnable[r]=!1,this.lineEnable[r]=!1,this.lineTickEnable[r]=!1,this.gridEnable[r]=!1,this.zeroEnable[r]=!1,this.backgroundEnable[r]=!1)}},e.exports=function(t,e){var r=new o;return r.merge(t,e),r}},{"../../../lib":716,"../../../lib/str2rgbarray":739}],809:[function(t,e,r){"use strict";var n=t("../../../lib"),a=t("../../../components/color"),i=t("../../../registry"),o=t("../../subplot_defaults"),s=t("./axis_defaults"),l=t("./layout_attributes"),c=t("../../get_data").getSubplotData,u="gl3d";function h(t,e,r,n){for(var o=r("bgcolor"),l=a.combine(o,n.paper_bgcolor),h=["up","center","eye"],f=0;f<h.length;f++)r("camera."+h[f]+".x"),r("camera."+h[f]+".y"),r("camera."+h[f]+".z");r("camera.projection.type");var p=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),d=r("aspectmode",p?"manual":"auto");p||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},"manual"===d&&(e.aspectmode="auto"),t.aspectmode=e.aspectmode);var g=c(n.fullData,u,n.id);s(t,e,{font:n.font,scene:n.id,data:g,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),i.getComponentMethod("annotations3d","handleDefaults")(t,e,n);var v=n.getDfltFromLayout("dragmode");if(!1!==v&&!v)if(v="orbit",t.camera&&t.camera.up){var m=t.camera.up.x,y=t.camera.up.y,x=t.camera.up.z;0!==x&&(m&&y&&x?x/Math.sqrt(m*m+y*y+x*x)>.999&&(v="turntable"):v="turntable")}else v="turntable";r("dragmode",v),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var a=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:h,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":591,"../../../lib":716,"../../../registry":845,"../../get_data":799,"../../subplot_defaults":839,"./axis_defaults":807,"./layout_attributes":810}],810:[function(t,e,r){"use strict";var n=t("./axis_attributes"),a=t("../../domain").attributes,i=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(s(0,0,1),{}),center:i(s(0,0,0),{}),eye:i(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:a({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":716,"../../../lib/extend":707,"../../domain":789,"./axis_attributes":806}],811:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=["xaxis","yaxis","zaxis"];function i(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}i.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new i;return e.merge(t),e}},{"../../../lib/str2rgbarray":739}],812:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[i[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var f=u.nticks||a.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[c],"date"===u.type&&(p[d].text=p[d].text.replace(/\<br\>/g," "));l[c]=p,u.tickmode=h}}e.ticks=l;for(var c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(var d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],a=new Array(n.length),i=0;i<n.length;++i)a[i]=n[i].x;e[r]=a}return e}(l)};var n=t("../../cartesian/axes"),a=t("../../../lib"),i=["xaxis","yaxis","zaxis"],o=[0,0,0]},{"../../../lib":716,"../../cartesian/axes":764}],813:[function(t,e,r){"use strict";function n(t,e){var r,n,a=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)a[n]+=t[4*r+n]*e[r];return a}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],814:[function(t,e,r){"use strict";var n,a,i=t("gl-plot3d"),o=i.createCamera,s=i.createScene,l=t("webgl-context"),c=t("has-passive-events"),u=t("../../registry"),h=t("../../lib"),f=t("../../plots/cartesian/axes"),p=t("../../components/fx"),d=t("../../lib/str2rgbarray"),g=t("../../lib/show_no_webgl_msg"),v=t("./project"),m=t("./layout/convert"),y=t("./layout/spikes"),x=t("./layout/tick_marks");function b(t,e,r){if(t.initializeGLCamera(),!function(t,e,r,i,o){var c={canvas:i,gl:o,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e,pixelRatio:r};if(t.staticMode){if(!(a||(n=document.createElement("canvas"),a=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error("error creating static canvas/context for image server");c.pixelRatio=t.pixelRatio,c.gl=a,c.canvas=n}var u=0;try{t.glplot=s(c)}catch(e){u++;try{t.glplot=s(c)}catch(t){u++}}return u<2}(t,t.camera,t.pixelRatio,e,r))return g(t);var i=t.graphDiv,o=i.layout,u=function(){var e={};return t.isCameraChanged(o)&&(e[t.id+".camera"]=t.getCamera()),t.isAspectChanged(o)&&(e[t.id+".aspectratio"]=t.glplot.getAspectratio()),e},d=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=u();t.saveLayout(o),t.graphDiv.emit("plotly_relayout",e)}};return t.glplot.canvas.addEventListener("mouseup",function(){d(t)}),t.glplot.canvas.addEventListener("wheel",function(e){if(i._context._scrollZoom.gl3d){if(t.glplot.camera._ortho){var r=e.deltaX>e.deltaY?1.1:1/1.1,n=t.glplot.getAspectratio();t.glplot.setAspectratio({x:r*n.x,y:r*n.y,z:r*n.z})}d(t)}},!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=u();t.graphDiv.emit("plotly_relayouting",e)}}),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",function(e){i&&i.emit&&i.emit("plotly_webglcontextlost",{event:e,layer:t.id})},!1),t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.graphDiv,n=t.svgContainer,a=t.container.getBoundingClientRect(),i=a.width,o=a.height;n.setAttributeNS(null,"viewBox","0 0 "+i+" "+o),n.setAttributeNS(null,"width",i),n.setAttributeNS(null,"height",o),x(t),t.glplot.axes.update(t.axesOptions);for(var s,l=Object.keys(t.traces),c=null,u=t.glplot.selection,d=0;d<l.length;++d)"skip"!==(e=t.traces[l[d]]).data.hoverinfo&&e.handlePick(u)&&(c=e),e.setContourLevels&&e.setContourLevels();function g(e,r){var n=t.fullSceneLayout[e];return f.tickText(n,n.d2l(r),"hover").text}if(null!==c){var m=v(t.glplot.cameraParams,u.dataCoordinate);e=c.data;var y,b=r._fullData[e.index],_=u.index,w={xLabel:g("xaxis",u.traceCoordinate[0]),yLabel:g("yaxis",u.traceCoordinate[1]),zLabel:g("zaxis",u.traceCoordinate[2])},k=p.castHoverinfo(b,t.fullLayout,_),T=(k||"").split("+"),A=k&&"all"===k;b.hovertemplate||A||(-1===T.indexOf("x")&&(w.xLabel=void 0),-1===T.indexOf("y")&&(w.yLabel=void 0),-1===T.indexOf("z")&&(w.zLabel=void 0),-1===T.indexOf("text")&&(u.textLabel=void 0),-1===T.indexOf("name")&&(c.name=void 0));var M=[];"cone"===e.type||"streamtube"===e.type?(w.uLabel=g("xaxis",u.traceCoordinate[3]),(A||-1!==T.indexOf("u"))&&M.push("u: "+w.uLabel),w.vLabel=g("yaxis",u.traceCoordinate[4]),(A||-1!==T.indexOf("v"))&&M.push("v: "+w.vLabel),w.wLabel=g("zaxis",u.traceCoordinate[5]),(A||-1!==T.indexOf("w"))&&M.push("w: "+w.wLabel),w.normLabel=u.traceCoordinate[6].toPrecision(3),(A||-1!==T.indexOf("norm"))&&M.push("norm: "+w.normLabel),"streamtube"===e.type&&(w.divergenceLabel=u.traceCoordinate[7].toPrecision(3),(A||-1!==T.indexOf("divergence"))&&M.push("divergence: "+w.divergenceLabel)),u.textLabel&&M.push(u.textLabel),y=M.join("<br>")):"isosurface"===e.type||"volume"===e.type?(w.valueLabel=f.tickText(t.mockAxis,t.mockAxis.d2l(u.traceCoordinate[3]),"hover").text,M.push("value: "+w.valueLabel),u.textLabel&&M.push(u.textLabel),y=M.join("<br>")):y=u.textLabel;var S={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:_};p.appendArrayPointValue(S,b,_),e._module.eventData&&(S=b._module.eventData(S,u,b,{},_));var E={points:[S]};t.fullSceneLayout.hovermode&&p.loneHover({trace:b,x:(.5+.5*m[0]/m[3])*i,y:(.5-.5*m[1]/m[3])*o,xLabel:w.xLabel,yLabel:w.yLabel,zLabel:w.zLabel,text:y,name:c.name,color:p.castHoverOption(b,_,"bgcolor")||c.color,borderColor:p.castHoverOption(b,_,"bordercolor"),fontFamily:p.castHoverOption(b,_,"font.family"),fontSize:p.castHoverOption(b,_,"font.size"),fontColor:p.castHoverOption(b,_,"font.color"),nameLength:p.castHoverOption(b,_,"namelength"),textAlign:p.castHoverOption(b,_,"align"),hovertemplate:h.castOption(b,_,"hovertemplate"),hovertemplateLabels:h.extendFlat({},S,w),eventData:[S]},{container:n,gd:r}),u.buttons&&u.distance<5?r.emit("plotly_click",E):r.emit("plotly_hover",E),s=E}else p.loneUnhover(n),r.emit("plotly_unhover",s);t.drawAnnotations(t)}.bind(null,t),t.traces={},t.make4thDimension(),!0}function _(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none",r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e,e[this.id]),this.spikeOptions=y(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod("annotations3d","convert"),this.drawAnnotations=u.getComponentMethod("annotations3d","draw"),b(this)}var w=_.prototype;w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e="orthographic"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:"orbit"})},w.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):b(t,r,e)?t.plot.apply(t,t.plotArgs):h.error("Catastrophic and unrecoverable WebGL error. Context lost.")})};var k=["xaxis","yaxis","zaxis"];function T(t,e,r){for(var n=t.fullSceneLayout,a=0;a<3;a++){var i=k[a],o=i.charAt(0),s=n[i],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)f=s.d2l(l[p][d],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else f=s.d2l(l[p],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else r[0][a]=Math.min(r[0][a],0),r[1][a]=Math.max(r[1][a],u-1)}}w.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,a,i,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=d(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(e,c),this.spikeOptions.merge(c),this.setViewport(c),this.updateFx(c.dragmode,c.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&T(this,n,h);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],a=0;a<3;a++)for(var i=k[a],o=i.charAt(0),s=r[i],l=0;l<n.length;l++){var c=n[l];if(c.visible){var u=s.r2l(c[o]);!isNaN(u)&&isFinite(u)&&(e[0][a]=Math.min(e[0][a],u),e[1][a]=Math.max(e[1][a],u))}}}(this,h);var f=[1,1,1];for(o=0;o<3;++o)h[1][o]===h[0][o]?f[o]=1:f[o]=1/(h[1][o]-h[0][o]);for(this.dataScale=f,this.convertAnnotations(this),i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&((a=this.traces[n.uid])?a.data.type===n.type?a.update(n):(a.dispose(),a=n._module.plot(this,n),this.traces[n.uid]=a):(a=n._module.plot(this,n),this.traces[n.uid]=a),a.name=n.name);var p=Object.keys(this.traces);t:for(i=0;i<p.length;++i){for(o=0;o<t.length;++o)if(t[o].uid===p[i]&&!0===t[o].visible&&0!==t[o]._length)continue t;(a=this.traces[p[i]]).dispose(),delete this.traces[p[i]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],v=[],m={};for(i=0;i<3;++i){if((l=(s=c[k[i]]).type)in m?(m[l].acc*=f[i],m[l].count+=1):m[l]={acc:f[i],count:1},s.autorange){g[0][i]=1/0,g[1][i]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o],w=_.bounds,A=_._trace.data._pad||0;"ErrorBars"===_.constructor.name&&s._lowerLogErrorBound?g[0][i]=Math.min(g[0][i],s._lowerLogErrorBound):g[0][i]=Math.min(g[0][i],w[0][i]/f[i]-A),g[1][i]=Math.max(g[1][i],w[1][i]/f[i]+A)}for(o=0;o<x.length;o++){var M=x[o];if(M.visible){var S=s.r2l(M[b]);g[0][i]=Math.min(g[0][i],S),g[1][i]=Math.max(g[1][i],S)}}if("rangemode"in s&&"tozero"===s.rangemode&&(g[0][i]=Math.min(g[0][i],0),g[1][i]=Math.max(g[1][i],0)),g[0][i]>g[1][i])g[0][i]=-1,g[1][i]=1;else{var E=g[1][i]-g[0][i];g[0][i]-=E/32,g[1][i]+=E/32}if("reversed"===s.autorange){var L=g[0][i];g[0][i]=g[1][i],g[1][i]=L}}else{var C=s.range;g[0][i]=s.r2l(C[0]),g[1][i]=s.r2l(C[1])}g[0][i]===g[1][i]&&(g[0][i]-=1,g[1][i]+=1),v[i]=g[1][i]-g[0][i],this.glplot.bounds[0][i]=g[0][i]*f[i],this.glplot.bounds[1][i]=g[1][i]*f[i]}var P=[1,1,1];for(i=0;i<3;++i){var O=m[l=(s=c[k[i]]).type];P[i]=Math.pow(O.acc,1/O.count)/f[i]}var z;if("auto"===c.aspectmode)z=Math.max.apply(null,P)/Math.min.apply(null,P)<=4?P:[1,1,1];else if("cube"===c.aspectmode)z=[1,1,1];else if("data"===c.aspectmode)z=P;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var I=c.aspectratio;z=[I.x,I.y,I.z]}c.aspectratio.x=u.aspectratio.x=z[0],c.aspectratio.y=u.aspectratio.y=z[1],c.aspectratio.z=u.aspectratio.z=z[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z});var D=c.domain||null,R=e._size||null;if(D&&R){var F=this.container.style;F.position="absolute",F.left=R.l+D.x[0]*R.w+"px",F.top=R.t+(1-D.y[1])*R.h+"px",F.width=R.w*(D.x[1]-D.x[0])+"px",F.height=R.h*(D.y[1]-D.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.glplot.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}};var t},w.setViewport=function(t){var e,r=t.camera;this.glplot.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio);var n="orthographic"===r.projection.type;if(n!==this.glplot.camera._ortho){this.glplot.redraw();var a=this.glplot.clearColor;this.glplot.gl.clearColor(a[0],a[1],a[2],a[3]),this.glplot.gl.clear(this.glplot.gl.DEPTH_BUFFER_BIT|this.glplot.gl.COLOR_BUFFER_BIT),this.glplot.dispose(),b(this),this.glplot.camera._ortho=n}},w.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var a=["up","center","eye"],i=["x","y","z"];return e[a[r]]&&t[a[r]][i[n]]===e[a[r]][i[n]]}var a=!1;if(void 0===r)a=!0;else{for(var i=0;i<3;i++)for(var o=0;o<3;o++)if(!n(e,r,i,o)){a=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(a=!0)}return a},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,a,i,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),f=l||c;if(f){var p={};if(l&&(e=this.getCamera(),n=(r=h.nestedProperty(t,this.id+".camera")).get(),p[this.id+".camera"]=n),c&&(a=this.glplot.getAspectratio(),o=(i=h.nestedProperty(t,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,s._preGUI,p),l)r.set(e),h.nestedProperty(s,this.id+".camera").set(e);if(c)i.set(a),h.nestedProperty(s,this.id+".aspectratio").set(a),this.glplot.redraw()}return f},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,a=n._fullLayout,i=this.fullSceneLayout.camera,o=i.up.x,s=i.up.y,l=i.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+".camera.up",f={x:0,y:0,z:1},p={};p[c]=f;var d=n.layout;u.call("_storeDirectGUIEdit",d,a._preGUI,p),i.up=f,h.nestedProperty(d,c).set(f)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=i[4*(r*o+l)+c];i[4*(r*o+l)+c]=i[4*(r*s+l)+c],i[4*(r*s+l)+c]=u}var h=document.createElement("canvas");h.width=r,h.height=a;var f,p=h.getContext("2d"),d=p.createImageData(r,a);switch(d.data.set(i),p.putImageData(d,0,0),t){case"jpeg":f=h.toDataURL("image/jpeg");break;case"webp":f=h.toDataURL("image/webp");break;default:f=h.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),f},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];f.setConvert(e,this.fullLayout),e.setScale=h.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(this.mockAxis,t)},e.exports=_},{"../../components/fx":629,"../../lib":716,"../../lib/show_no_webgl_msg":737,"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"../../registry":845,"./layout/convert":808,"./layout/spikes":811,"./layout/tick_marks":812,"./project":813,"gl-plot3d":292,"has-passive-events":412,"webgl-context":554}],815:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var a=new Array(n),i=0;i<n;i++)a[i]=[t[i],e[i],r[i]];return a}},{}],816:[function(t,e,r){"use strict";var n=t("./font_attributes"),a=t("./animation_attributes"),i=t("../components/color/attributes"),o=t("./pad_attributes"),s=t("../lib/extend").extendFlat,l=n({editType:"calc"});l.family.dflt='"Open Sans", verdana, arial, sans-serif',l.size.dflt=12,l.color.dflt=i.defaultLine,e.exports={font:l,title:{text:{valType:"string",editType:"layoutstyle"},font:n({editType:"layoutstyle"}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:s(o({editType:"layoutstyle"}),{}),editType:"layoutstyle"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},paper_bgcolor:{valType:"color",dflt:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.background,editType:"layoutstyle"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:i.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},modebar:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"modebar"},meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:s({},a.transition,{editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle"},titlefont:n({editType:"layoutstyle"})}}},{"../components/color/attributes":590,"../lib/extend":707,"./animation_attributes":759,"./font_attributes":790,"./pad_attributes":824}],817:[function(t,e,r){"use strict";var n={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'<a href="http://www.openstreetmap.org/about/" target="_blank">\xa9 OpenStreetMap</a>',tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},a=Object.keys(n);e.exports={requiredVersion:"1.3.2",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:n,styleValuesNonMapbox:a,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.3.2."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:","  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",a.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},{}],818:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),a=r[0],i=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(a){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(i){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":716}],819:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("../../lib"),i=t("../../plots/get_data").getSubplotCalcData,o=t("../../constants/xmlns_namespaces"),s=t("d3"),l=t("../../components/drawing"),c=t("../../lib/svg_text_utils"),u=t("./mapbox"),h=r.constants=t("./constants");function f(t){return"string"==typeof t&&(-1!==h.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=a.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==h.requiredVersion)throw new Error(h.wrongVersionErrorMsg);var s=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],i=[],o=!1,s=!1,l=0;l<e.length;l++){var c=r[e[l]],u=c.accesstoken;f(c.style)&&(u?a.pushUnique(n,u):(f(c._input.style)&&(a.error("Uses Mapbox map style, but did not set an access token."),o=!0),s=!0)),u&&a.pushUnique(i,u)}if(s){var p=o?h.noAccessTokenErrorMsg:h.missingStyleErrorMsg;throw new Error(p)}return n.length?(n.length>1&&a.warn(h.multipleTokensErrorMsg),n[0]):(i.length&&a.log(["Listed mapbox access token(s)",i.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,o);n.accessToken=s;for(var l=0;l<o.length;l++){var c=o[l],p=i(r,"mapbox",c),d=e[c],g=d._subplot;g||(g=new u(t,c),e[c]._subplot=g),g.viewInitial||(g.viewInitial={center:a.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),g.plot(p,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.mapbox||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],u=i.domain,f=i._subplot.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":f,x:n.l+n.w*u.x[0],y:n.t+n.h*(1-u.y[1]),width:n.w*(u.x[1]-u.x[0]),height:n.h*(u.y[1]-u.y[0]),preserveAspectRatio:"none"});var p=s.select(i._subplot.div);if(!(null===p.select(".mapboxgl-ctrl-logo").node().offsetParent)){var d=e._glimages.append("g");d.attr("transform","translate("+(n.l+n.w*u.x[0]+10)+", "+(n.t+n.h*(1-u.y[0])-31)+")"),d.append("path").attr("d",h.mapboxLogo.path0).style({opacity:.9,fill:"#ffffff","enable-background":"new"}),d.append("path").attr("d",h.mapboxLogo.path1).style("opacity",.35).style("enable-background","new"),d.append("path").attr("d",h.mapboxLogo.path2).style("opacity",.35).style("enable-background","new"),d.append("polygon").attr("points",h.mapboxLogo.polygon).style({opacity:.9,fill:"#ffffff","enable-background":"new"})}var g=p.select(".mapboxgl-ctrl-attrib").text().replace("Improve this map",""),v=e._glimages.append("g"),m=v.append("text");m.text(g).classed("static-attribution",!0).attr({"font-size":12,"font-family":"Arial",color:"rgba(0, 0, 0, 0.75)","text-anchor":"end","data-unformatted":g});var y=l.bBox(m.node()),x=n.w*(u.x[1]-u.x[0]);if(y.width>x/2){var b=g.split("|").join("<br>");m.text(b).attr("data-unformatted",b).call(c.convertToTspans,t),y=l.bBox(m.node())}m.attr("transform","translate(-3, "+(8-y.height)+")"),v.insert("rect",".static-attribution").attr({x:-y.width-6,y:-y.height-3,width:y.width+6,height:y.height+3,fill:"rgba(255, 255, 255, 0.75)"});var _=1;y.width+6>x&&(_=x/(y.width+6));var w=[n.l+n.w*u.x[1],n.t+n.h*(1-u.y[0])];v.attr("transform","translate("+w[0]+","+w[1]+") scale("+_+")")}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{"../../components/drawing":612,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/get_data":799,"./constants":817,"./layout_attributes":821,"./layout_defaults":822,"./mapbox":823,d3:164,"mapbox-gl":427}],820:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./convert_text_opts"),i=t("./constants");function o(t,e){this.subplot=t,this.uid=t.uid+"-"+e,this.index=e,this.idSource="source-"+this.uid,this.idLayer=i.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if("string"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||"string"==typeof e&&e.length>0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity})}return{layout:e,paint:r}}s.update=function(t){this.visible?this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=l(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,l(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates);a[e]=n,t.sourceattribution&&(a.attribution=t.sourceattribution);return a}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e,r=this.subplot,n=c(t),a=this.subplot.belowLookup["layout-"+this.index];if("traces"===a)for(var o=r.getMapLayers(),s=0;s<o.length;s++){var u=o[s].id;if("string"==typeof u&&0===u.indexOf(i.traceLayerPrefix)){e=u;break}}else e=a;this.removeLayer(),l(t)&&r.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:n.layout,paint:n.paint},e),this.layerType=t.type,this.below=a},s.updateStyle=function(t){if(l(t)){var e=c(t);this.subplot.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.subplot.setOptions(this.idLayer,"setPaintProperty",e.paint)}},s.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},s.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new o(t,e);return n.update(r),n}},{"../../lib":716,"./constants":817,"./convert_text_opts":818}],821:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color").defaultLine,i=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=t("../../plot_api/plot_template").templatedArray,u=t("./constants"),h=o({});h.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:i({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:u.styleValuesMapbox.concat(u.styleValuesNonMapbox),dflt:u.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:c("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:a},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:a}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:h,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color":591,"../../lib":716,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../traces/scatter/attributes":1118,"../domain":789,"../font_attributes":790,"./constants":817}],822:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../subplot_defaults"),i=t("../array_container_defaults"),o=t("./layout_attributes");function s(t,e,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),i(t,e,{name:"layers",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,a){return n.coerce(t,e,o.layers,r,a)}if(r("visible")){var a,i=r("sourcetype"),s="raster"===i||"image"===i;r("source"),r("sourceattribution"),"vector"===i&&r("sourcelayer"),"image"===i&&r("coordinates"),s&&(a="raster");var l=r("type",a);s&&"raster"!==l&&(l=e.type="raster",n.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),"circle"===l&&r("circle.radius"),"line"===l&&(r("line.width"),r("line.dash")),"fill"===l&&r("fill.outlinecolor"),"symbol"===l&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"),r("symbol.placement"))}}e.exports=function(t,e,r){a(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},{"../../lib":716,"../array_container_defaults":760,"../subplot_defaults":839,"./layout_attributes":821}],823:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("d3"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../registry"),l=t("../cartesian/axes"),c=t("../../components/dragelement"),u=t("../cartesian/select").prepSelect,h=t("../cartesian/select").selectOnClick,f=t("./constants"),p=t("./layers");function d(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={}}var g=d.prototype;g.plot=function(t,e,r){var n,a=this,i=e[a.id];a.map&&i.accesstoken!==a.accessToken&&(a.map.remove(),a.map=null,a.styleObj=null,a.traceHash=[],a.layerList={}),n=a.map?new Promise(function(r,n){a.updateMap(t,e,r,n)}):new Promise(function(r,n){a.createMap(t,e,r,n)}),r.push(n)},g.createMap=function(t,e,r,a){var i=this,o=e[i.id],s=i.styleObj=m(o.style);i.accessToken=o.accesstoken;var l=i.map=new n.Map({container:i.div,style:s.style,center:x(o.center),zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));l._canvas.style.left="0px",l._canvas.style.top="0px",i.rejectOnError(a),i.isStatic||i.initFx(t,e);var c=[];c.push(new Promise(function(t){l.once("load",t)})),c=c.concat(i.fetchMapData(t,e)),Promise.all(c).then(function(){i.fillBelowLookup(t,e),i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)}).catch(a)},g.fetchMapData=function(t){var e=[];function r(t){return new Promise(function(e,r){a.json(t,function(n,a){if(n){delete PlotlyGeoAssets[t];var i=404===n.status?'GeoJSON at URL "'+t+'" does not exist.':"Unexpected error while fetching from "+t;return r(new Error(i))}PlotlyGeoAssets[t]=a,e(a)})})}for(var n=0;n<t.length;n++){var i=t[n][0].trace.geojson;"string"!=typeof i||PlotlyGeoAssets[i]||(PlotlyGeoAssets[i]="pending",e.push(r(i)))}return e},g.updateMap=function(t,e,r,n){var a=this,i=a.map,o=e[this.id];a.rejectOnError(n);var s=[],l=m(o.style);a.styleObj.id!==l.id&&(a.styleObj=l,i.setStyle(l.style),a.traceHash={},s.push(new Promise(function(t){i.once("styledata",t)}))),s=s.concat(a.fetchMapData(t,e)),Promise.all(s).then(function(){a.fillBelowLookup(t,e),a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)}).catch(n)},g.fillBelowLookup=function(t,e){var r,n,a=e[this.id].layers,i=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;"string"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),""===n&&(o=!0),i["trace-"+s.uid]=n||""}for(r=0;r<a.length;r++){var c=a[r];n="string"==typeof c.below?c.below:o?"traces":"",i["layout-"+r]=n}var u,h,f={};for(u in i)f[n=i[u]]?f[n].push(u):f[n]=[u];for(n in f){var p=f[n];if(p.length>1)for(r=0;r<p.length;r++)0===(u=p[r]).indexOf("trace-")?(h=u.split("trace-")[1],this.traceHash[h]&&(this.traceHash[h].below=null)):0===u.indexOf("layout-")&&(h=u.split("layout-")[1],this.layerList[h]&&(this.layerList[h].below=null))}};var v={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function m(t){var e={};return o.isPlainObject(t)?(e.id=t.id,e.style=t):"string"==typeof t?(e.id=t,-1!==f.styleValuesMapbox.indexOf(t)?e.style=y(t):f.stylesNonMapbox[t]?e.style=f.stylesNonMapbox[t]:e.style=t):(e.id=f.styleValueDflt,e.style=y(f.styleValueDflt)),e.transition={duration:0,delay:0},e}function y(t){return f.styleUrlPrefix+t+"-"+f.styleUrlSuffix}function x(t){return[t.lon,t.lat]}g.updateData=function(t){var e,r,n,a,i=this.traceHash,o=t.slice().sort(function(t,e){return v[t[0].trace.type]-v[e[0].trace.type]});for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=i[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(i[r.uid]=r._module.plot(this,s))}var c=Object.keys(i);t:for(n=0;n<c.length;n++){var u=c[n];for(a=0;a<t.length;a++)if(u===(r=t[a][0].trace).uid)continue t;(e=i[u]).dispose(),delete i[u]}},g.updateLayout=function(t){var e=this.map,r=t[this.id];e.setCenter(x(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},g.resolveOnRender=function(t){var e=this.map;e.on("render",function r(){e.loaded()&&(e.off("render",r),setTimeout(t,10))})},g.rejectOnError=function(t){var e=this.map;function r(){t(new Error(f.mapOnErrorMsg))}e.once("error",r),e.once("style.error",r),e.once("source.error",r),e.once("tile.error",r),e.once("layer.error",r)},g.createFramework=function(t){var e=this,r=e.div=document.createElement("div");r.id=e.uid,r.style.position="absolute",e.container.appendChild(r),e.xaxis={_id:"x",c2p:function(t){return e.project(t).x}},e.yaxis={_id:"y",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},l.setConvert(e.mockAxis,t)},g.initFx=function(t,e){var r=this,n=r.gd,a=r.map,o=!1;function l(){i.loneUnhover(e._hoverlayer)}function c(){var t=r.getView();n.emit("plotly_relayouting",r.getViewEdits(t))}a.on("moveend",function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||o){var a=e[r.id];s.call("_storeDirectGUIEdit",n.layout,e._preGUI,r.getViewEdits(a));var i=r.getView();a._input.center=a.center=i.center,a._input.zoom=a.zoom=i.zoom,a._input.bearing=a.bearing=i.bearing,a._input.pitch=a.pitch=i.pitch,n.emit("plotly_relayout",r.getViewEdits(i))}o=!1,e._rehover&&e._rehover()}}),a.on("wheel",function(){o=!0}),a.on("mousemove",function(t){var e=r.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return t.lngLat.lng},r.yaxis.p2c=function(){return t.lngLat.lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&i.hover(n,t,r.id)},i.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id}),a.on("dragstart",l),a.on("zoomstart",l),a.on("mouseout",function(){n._fullLayout._hoversubplot=null}),a.on("drag",c),a.on("zoom",c),a.on("dblclick",function(){var t=n._fullLayout[r.id];s.call("_storeDirectGUIEdit",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;a.setCenter(x(e.center)),a.setZoom(e.zoom),a.setBearing(e.bearing),a.setPitch(e.pitch);var i=r.getView();t._input.center=t.center=i.center,t._input.zoom=t.zoom=i.zoom,t._input.bearing=t.bearing=i.bearing,t._input.pitch=t.pitch=i.pitch,n.emit("plotly_doubleclick",null),n.emit("plotly_relayout",r.getViewEdits(i))}),r.clearSelect=function(){n._fullLayout._zoomlayer.selectAll(".select-outline").remove()},r.onClickInPanFn=function(t){return function(e){var a=n._fullLayout.clickmode;a.indexOf("select")>-1&&h(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),a.indexOf("event")>-1&&i.click(n,e.originalEvent)}}},g.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,i=t.dragmode;a="select"===i?function(t,r){(t.range={})[e.id]=[l([r.xmin,r.ymin]),l([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(l)};var s=e.dragOptions;e.dragOptions=o.extendDeep(s||{},{element:e.div,gd:n,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),"select"===i||"lasso"===i?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){u(t,r,n,e.dragOptions,i)},c.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function l(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},g.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},g.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(p(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},g.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},g.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},g.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},g.getMapLayers=function(){return this.map.getStyle().layers},g.addLayer=function(t,e){var r=this.map;if("string"==typeof e){if(""===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(e===n[a].id)return void r.addLayer(t,e);o.warn(["Trying to add layer with *below* value",e,"referencing a layer that does not exist","or that does not yet exist."].join(" "))}r.addLayer(t)},g.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},g.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}},g.getViewEdits=function(t){for(var e=this.id,r=["center","zoom","bearing","pitch"],n={},a=0;a<r.length;a++){var i=r[a];n[e+"."+i]=t[i]}return n},e.exports=d},{"../../components/dragelement":609,"../../components/fx":629,"../../lib":716,"../../registry":845,"../cartesian/axes":764,"../cartesian/select":781,"./constants":817,"./layers":820,d3:164,"mapbox-gl":427}],824:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType;return{t:{valType:"number",dflt:0,editType:e},r:{valType:"number",dflt:0,editType:e},b:{valType:"number",dflt:0,editType:e},l:{valType:"number",dflt:0,editType:e},editType:e}}},{}],825:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../registry"),o=t("../plot_api/plot_schema"),s=t("../plot_api/plot_template"),l=t("../lib"),c=t("../components/color"),u=t("../constants/numerical").BADNUM,h=t("./cartesian/axis_ids"),f=t("./animation_attributes"),p=t("./frame_attributes"),d=t("../plots/get_data").getModuleCalcData,g=l.relinkPrivateKeys,v=l._,m=e.exports={};l.extendFlat(m,i),m.attributes=t("./attributes"),m.attributes.type.values=m.allTypes,m.fontAttrs=t("./font_attributes"),m.layoutAttributes=t("./layout_attributes"),m.fontWeight="normal";var y=m.transformsRegistry,x=t("./command");m.executeAPICommand=x.executeAPICommand,m.computeAPICommandBindings=x.computeAPICommandBindings,m.manageCommandObserver=x.manageCommandObserver,m.hasSimpleAPICommandBindings=x.hasSimpleAPICommandBindings,m.redrawText=function(t){var e=(t=l.getGraphDiv(t))._fullLayout||{};if(!(!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){i.getComponentMethod("annotations","draw")(t),i.getComponentMethod("legend","draw")(t),i.getComponentMethod("colorbar","draw")(t),e(m.previousPromises(t))},300)})},m.resize=function(t){return t=l.getGraphDiv(t),new Promise(function(e,r){t&&!l.isHidden(t)||r(new Error("Resize must be passed a displayed plot div element.")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(!t.layout||t.layout.width&&t.layout.height||l.isHidden(t))e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,i.call("relayout",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},m.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},m.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=l.ensureSingle(e._paper,"text","js-plot-link-container",function(t){t.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:c.defaultLine,"pointer-events":"all"}).each(function(){var t=n.select(this);t.append("tspan").classed("js-link-to-tool",!0),t.append("tspan").classed("js-link-spacer",!0),t.append("tspan").classed("js-sourcelinks",!0)})}),a=r.node(),i={y:e._paper.attr("height")-9};document.body.contains(a)&&a.getComputedTextLength()>=e.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=e._paper.attr("width")-7),r.attr(i);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),u=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",function(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),a=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+a})}}(t,o),s.text(o.text()&&u.text()?" - ":"")}},m.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return a.append("input").attr({type:"text",name:"data"}).node().value=m.graphJson(t,!1,"keepdata"),a.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var b=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],_=["year","month","dayMonth","dayMonthYear"];function w(t,e){var r=t._context.locale,n=!1,a={};function o(t){for(var r=!0,i=0;i<e.length;i++){var o=e[i];a[o]||(t[o]?a[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(o(u),n))break;l=i.localeRegistry}var h=r.split("-")[0];if(n||h===r)break;r=h}return n||o(i.localeRegistry.en.format),a}function k(t,e){var r={_fullLayout:e},n="x"===t._id.charAt(0),a=t._mainAxis._anchorAxis,i="",o="",s="";if(a&&(s=a._mainAxis._id,i=n?t._id+s:s+t._id),!i||!e._plots[i]){i="";for(var l=t._counterAxes,c=0;c<l.length;c++){var u=l[c],f=n?t._id+u:u+t._id;o||(o=f);var p=h.getFromId(r,u);if(s&&p.overlaying===s){i=f;break}}}return i||o}function T(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],a=n._module||y[n.type];if(a&&a.makesData)return!0}return!1}function A(t,e,r,n){for(var a=t.transforms,i=[t],o=0;o<a.length;o++){var s=a[o],l=y[s.type];l&&l.transform&&(i=l.transform(i,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return i}function M(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}m.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,a=t._fullLayout||{};if(a._skipDefaults)delete a._skipDefaults;else{var o,s=t._fullLayout={},c=t.layout||{},u=t._fullData||[],h=t._fullData=[],f=t.data||[],p=t.calcdata||[],d=t._context||{};t._transitionData||m.createTransitionData(t),s._dfltTitle={plot:v(t,"Click to enter Plot title"),x:v(t,"Click to enter X axis title"),y:v(t,"Click to enter Y axis title"),colorbar:v(t,"Click to enter Colorscale title"),annotation:v(t,"new text")},s._traceWord=v(t,"trace");var y=w(t,b);if(s._mapboxAccessToken=d.mapboxAccessToken,a._initialAutoSizeIsDone){var x=a.width,k=a.height;m.supplyLayoutGlobalDefaults(c,s,y),c.width||(s.width=x),c.height||(s.height=k),m.sanitizeMargins(s)}else{m.supplyLayoutGlobalDefaults(c,s,y);var T=!c.width||!c.height,A=s.autosize,S=d.autosizable;T&&(A||S)?m.plotAutoSize(t,c,s):T&&m.sanitizeMargins(s),!A&&T&&(c.width=s.width,c.height=s.height)}s._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(y,s.separators),s._extraFormat=w(t,_),s._initialAutoSizeIsDone=!0,s._dataLength=f.length,s._modules=[],s._visibleModules=[],s._basePlotModules=[];var E=s._subplots=function(){var t,e,r=i.collectableSubplotTypes,n={};if(!r){r=[];var a=i.subplotsRegistry;for(var o in a){var s=a[o],c=s.attr;if(c&&(r.push(o),Array.isArray(c)))for(e=0;e<c.length;e++)l.pushUnique(r,c[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),L=s._splomAxes={x:{},y:{}},C=s._splomSubplots={};s._splomGridDflt={},s._scatterStackOpts={},s._firstScatter={},s._alignmentOpts={},s._colorAxes={},s._requestRangeslider={},s._traceUids=function(t,e){var r,n,a=e.length,i=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&i.push(o),n=o}var s=i.length,c=new Array(a),u={};function h(t,e){c[e]=t,u[t]=1}function f(t,e){if(t&&"string"==typeof t&&!u[t])return h(t,e),!0}for(r=0;r<a;r++){var p=e[r].uid;"number"==typeof p&&(p=String(p)),f(p,r)||(r<s&&f(i[r].uid,r)||h(l.randstr(u),r))}return c}(u,f),s._globalTransforms=(t._context||{}).globalTransforms,m.supplyDataDefaults(f,h,c,s);var P=Object.keys(L.x),O=Object.keys(L.y);if(P.length>1&&O.length>1){for(i.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o<P.length;o++)l.pushUnique(E.xaxis,P[o]);for(o=0;o<O.length;o++)l.pushUnique(E.yaxis,O[o]);for(var z in C)l.pushUnique(E.cartesian,z)}if(s._has=m._hasPlotType.bind(s),u.length===h.length)for(o=0;o<h.length;o++)g(h[o],u[o]);m.supplyLayoutModuleDefaults(c,s,h,t._transitionData);var I=s._visibleModules,D=[];for(o=0;o<I.length;o++){var R=I[o].crossTraceDefaults;R&&l.pushUnique(D,R)}for(o=0;o<D.length;o++)D[o](h,s);s._hasOnlyLargeSploms=1===s._basePlotModules.length&&"splom"===s._basePlotModules[0].name&&P.length>15&&O.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has("cartesian"),s._hasGeo=s._has("geo"),s._hasGL3D=s._has("gl3d"),s._hasGL2D=s._has("gl2d"),s._hasTernary=s._has("ternary"),s._hasPie=s._has("pie"),m.linkSubplots(h,s,u,a),m.cleanPlot(h,s,u,a),a._zoomlayer&&!t._dragging&&a._zoomlayer.selectAll(".select-outline").remove(),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var a=0;a<t.length;a++){var i=t[a];i.meta?n[i.index]=i._meta={meta:i.meta}:e.meta&&(i._meta={meta:e.meta}),e.meta&&(i._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,s),g(s,a),i.getComponentMethod("colorscale","crossTraceDefaults")(h,s),s._preGUI||(s._preGUI={}),s._tracePreGUI||(s._tracePreGUI={});var F,B=s._tracePreGUI,N={};for(F in B)N[F]="old";for(o=0;o<h.length;o++)N[F=h[o]._fullInput.uid]||(B[F]={}),N[F]="new";for(F in N)"old"===N[F]&&delete B[F];M(s),i.getComponentMethod("rangeslider","makeData")(s),r||p.length!==h.length||m.supplyDefaultsUpdateCalc(p,h)}},m.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=(t[r]||[])[0];if(a&&a.trace){var i=a.trace;if(i._hasCalcTransform){var o,s,c,u=i._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],c=l.nestedProperty(i,s).get().slice(),l.nestedProperty(n,s).set(c)}a.trace=n}}},m.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},m._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var a=n[e].name;if(a===t)return!0;var o=i.modules[a];if(o&&o.categories[t])return!0}return!1},m.cleanPlot=function(t,e,r,n){var a,i,o=n._basePlotModules||[];for(a=0;a<o.length;a++){var s=o[a];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has("gl"),c=e._has&&e._has("gl");l&&!c&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var u=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(i=0;i<t.length;i++){if(h===t[i].uid)continue t}u&&n._infolayer.select(".cb"+h).remove()}},m.linkSubplots=function(t,e,r,n){var a,o,s=n._plots||{},c=e._plots={},u=e._subplots,f={_fullData:t,_fullLayout:e},p=u.cartesian.concat(u.gl2d||[]);for(a=0;a<p.length;a++){var d,g=p[a],v=s[g],m=h.getFromId(f,g,"x"),y=h.getFromId(f,g,"y");for(v?d=c[g]=v:(d=c[g]={}).id=g,m._counterAxes.push(y._id),y._counterAxes.push(m._id),m._subplotsWith.push(g),y._subplotsWith.push(g),d.xaxis=m,d.yaxis=y,d._hasClipOnAxisFalse=!1,o=0;o<t.length;o++){var x=t[o];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=h.list(f,null,!0);for(a=0;a<_.length;a++){var w=null;(b=_[a]).overlaying&&(w=h.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis="free"===b.anchor?null:h.getFromId(f,b.anchor)}for(a=0;a<_.length;a++)if((b=_[a])._counterAxes.sort(h.idSort),b._subplotsWith.sort(l.subplotSort),b._mainSubplot=k(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf("across")||b.automargin&&b.mirror&&"free"!==b.anchor||i.getComponentMethod("rangeslider","isVisible")(b))){var T=1,A=0;for(o=0;o<b._counterAxes.length;o++){var M=h.getFromId(f,b._counterAxes[o]);T=Math.min(T,M.domain[0]),A=Math.max(A,M.domain[1])}T<A&&(b._counterDomainMin=T,b._counterDomainMax=A)}},m.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],o.crawl(t._module.attributes,function(t,n,a,i){r[i]=n,r.length=i+1,"color"===t.valType&&void 0===t.dflt&&e.push(r.join("."))})),n=0;n<e.length;n++){l.nestedProperty(t,"_input."+e[n]).get()||l.nestedProperty(t,e[n]).set(null)}},m.supplyDataDefaults=function(t,e,r,n){var a,o,c,u=n._modules,h=n._visibleModules,f=n._basePlotModules,p=0,d=0;function v(t){e.push(t);var r=t._module;r&&(l.pushUnique(u,r),!0===t.visible&&l.pushUnique(h,r),l.pushUnique(f,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var y={},x=[],b=(r.template||{}).data||{},_=s.traceTemplater(b);for(a=0;a<t.length;a++){if(c=t[a],(o=_.newTrace(c)).uid=n._traceUids[a],m.supplyTraceDefaults(c,o,d,n,a),o.index=a,o._input=c,o._expandedIndex=p,o.transforms&&o.transforms.length)for(var w=!1!==c.visible&&!1===o.visible,k=A(o,e,r,n),T=0;T<k.length;T++){var M=k[T],S={_template:o._template,type:o.type,uid:o.uid+T};w&&!1===M.visible&&delete M.visible,m.supplyTraceDefaults(M,S,p,n,a),g(S,M),S.index=a,S._input=c,S._fullInput=o,S._expandedIndex=p,S._expandedInput=M,v(S)}else o._fullInput=o,o._expandedInput=o,v(o);i.traceIs(o,"carpetAxis")&&(y[o.carpet]=o),i.traceIs(o,"carpetDependent")&&x.push(a)}for(a=0;a<x.length;a++)if((o=e[x[a]]).visible){var E=y[o.carpet];o._carpet=E,E&&E.visible?(o.xaxis=E.xaxis,o.yaxis=E.yaxis):o.visible=!1}},m.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return l.coerce(t||{},r,f,e,n)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=m.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=m.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=m.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=m.supplyAnimationTransitionDefaults(t.transition||{});return r},m.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,f.frame,r,n)}return r("duration"),r("redraw"),e},m.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,f.transition,r,n)}return r("duration"),r("easing"),e},m.supplyFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t,e,p,r,n)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),e},m.supplyTraceDefaults=function(t,e,r,n,a){var o,s=n.colorway||c.defaults,u=s[r%s.length];function h(r,n){return l.coerce(t,e,m.attributes,r,n)}var f=h("visible");h("type"),h("name",n._traceWord+" "+a),h("uirevision",n.uirevision);var p=m.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,v=d.attributes;if(g&&v){var y=n._subplots,x="";if("gl2d"!==d.name||f){if(Array.isArray(g))for(o=0;o<g.length;o++){var b=g[o],_=l.coerce(t,e,v,b);y[b]&&l.pushUnique(y[b],_),x+=_}else x=l.coerce(t,e,v,g);y[d.name]&&l.pushUnique(y[d.name],x)}}}return f&&(h("customdata"),h("ids"),h("meta"),i.traceIs(e,"showLegend")?(e._dfltShowLegend=!0,h("showlegend"),h("legendgroup")):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,u,n),i.traceIs(e,"noOpacity")||h("opacity"),i.traceIs(e,"notLegendIsolatable")&&(e.visible=!!e.visible),i.traceIs(e,"noHover")||(e.hovertemplate||l.coerceHoverinfo(t,e,n),"parcats"!==e.type&&i.getComponentMethod("fx","supplyDefaults")(t,e,u,n)),p&&p.selectPoints&&h("selectedpoints"),m.supplyTransformDefaults(t,e,n)),e},m.hasMakesDataTransform=T,m.supplyTransformDefaults=function(t,e,r){if(e._length||T(t)){var n=r._globalTransforms||[],a=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var i=t.transforms||[],o=n.concat(i),s=e.transforms=[],c=0;c<o.length;c++){var u,h=o[c],f=h.type,p=y[f],d=!(h._module&&h._module===p),g=p&&"function"==typeof p.transform;p||l.warn("Unrecognized transform type "+f+"."),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(h,e,r,t)).type=f,u._module=p,l.pushUnique(a,p)):u=l.extendFlat({},h),s.push(u)}}},m.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return l.coerce(t,e,m.layoutAttributes,r,n)}var a=t.template;l.isPlainObject(a)&&(e.template=a,e._template=a.layout,e._dataTemplate=a.data);var o=l.coerceFont(n,"font");n("title.text",e._dfltTitle.plot),l.coerceFont(n,"title.font",{family:o.family,size:Math.round(1.4*o.size),color:o.color}),n("title.xref"),n("title.yref"),n("title.x"),n("title.y"),n("title.xanchor"),n("title.yanchor"),n("title.pad.t"),n("title.pad.r"),n("title.pad.b"),n("title.pad.l"),n("autosize",!(t.width&&t.height)),n("width"),n("height"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),t.width&&t.height&&m.sanitizeMargins(e),i.getComponentMethod("grid","sizeDefaults")(t,e),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision");var s=n("uirevision");n("editrevision",s),n("selectionrevision",s),n("modebar.orientation"),n("modebar.bgcolor",c.addOpacity(e.paper_bgcolor,.5));var u=c.contrast(c.rgb(e.modebar.bgcolor));n("modebar.color",c.addOpacity(u,.3)),n("modebar.activecolor",c.addOpacity(u,.7)),n("modebar.uirevision",s),n("meta"),l.isPlainObject(t.transition)&&(n("transition.duration"),n("transition.easing"),n("transition.ordering")),i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar"),i.getComponentMethod("fx","supplyLayoutGlobalDefaults")(t,e,n)},m.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,c=l.isPlotDiv(t);if(c&&t.emit("plotly_autosize"),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow="hidden";else{var u=c?window.getComputedStyle(t):{};if(n=parseFloat(u.width)||parseFloat(u.maxWidth)||r.width,i=parseFloat(u.height)||parseFloat(u.maxHeight)||r.height,a(s)&&s>0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=m.layoutAttributes.width.min,p=m.layoutAttributes.height.min;n<f&&(n=f),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var a,o,s,c=i.componentsRegistry,u=e._basePlotModules,h=i.subplotsRegistry.cartesian;for(a in c)(s=c[a]).includeBasePlot&&s.includeBasePlot(t,e);for(var f in u.length||u.push(h),e._has("cartesian")&&(i.getComponentMethod("grid","contentDefaults")(t,e),h.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(l.subplotSort);for(o=0;o<u.length;o++)(s=u[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._modules;for(o=0;o<p.length;o++)(s=p[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(s=d[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(a in c)(s=c[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},m.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(".gl-canvas").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),l.clearThrottle(),l.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},m.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var a=r[e];a.style&&l.pushUnique(n,a.style)}for(e=0;e<n.length;e++)n[e](t)},m.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,a=t.margin,i=r-(a.l+a.r),o=n-(a.t+a.b);i<0&&(e=(r-1)/(a.l+a.r),a.l=Math.floor(e*a.l),a.r=Math.floor(e*a.r)),o<0&&(e=(n-1)/(a.t+a.b),a.t=Math.floor(e*a.t),a.b=Math.floor(e*a.b))}},m.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},m.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},m.autoMargin=function(t,e,r){var n=t._fullLayout,a=n._pushmargin,i=n._pushmarginIds;if(!1!==n.margin.autoexpand){if(r){var o=r.pad;if(void 0===o){var s=n.margin;o=Math.min(12,s.l,s.r,s.t,s.b)}r.l+r.r>.5*n.width&&(l.log("Margin push",e,"is too big in x, dropping"),r.l=r.r=0),r.b+r.t>.5*n.height&&(l.log("Margin push",e,"is too big in y, dropping"),r.b=r.t=0);var c=void 0!==r.xl?r.xl:r.x,u=void 0!==r.xr?r.xr:r.x,h=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;a[e]={l:{val:c,size:r.l+o},r:{val:u,size:r.r+o},b:{val:f,size:r.b+o},t:{val:h,size:r.t+o}},i[e]=1}else delete a[e],delete i[e];if(!n._replotting)return m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),M(e);var r=e._size,n=e.margin,o=l.extendFlat({},r),s=n.l,c=n.r,u=n.t,h=n.b,f=e.width,p=e.height,d=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in d)g[v]||delete d[v];for(var y in d.base={l:{val:0,size:s},r:{val:1,size:c},t:{val:1,size:u},b:{val:0,size:h}},d){var x=d[y].l||{},b=d[y].b||{},_=x.val,w=x.size,k=b.val,T=b.size;for(var A in d){if(a(w)&&d[A].r){var S=d[A].r.val,E=d[A].r.size;if(S>_){var L=(w*S+(E-f)*_)/(S-_),C=(E*(1-_)+(w-f)*(1-S))/(S-_);L>=0&&C>=0&&f-(L+C)>0&&L+C>s+c&&(s=L,c=C)}}if(a(T)&&d[A].t){var P=d[A].t.val,O=d[A].t.size;if(P>k){var z=(T*P+(O-p)*k)/(P-k),I=(O*(1-k)+(T-p)*(1-P))/(P-k);z>=0&&I>=0&&p-(I+z)>0&&z+I>h+u&&(h=z,u=I)}}}}}if(r.l=Math.round(s),r.r=Math.round(c),r.t=Math.round(u),r.b=Math.round(h),r.p=Math.round(n.pad),r.w=Math.round(f)-r.l-r.r,r.h=Math.round(p)-r.t-r.b,!e._replotting&&m.didMarginChange(o,r)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var D=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount<D)return i.call("plot",t);l.warn("Too many auto-margin redraws.")}};var S=["l","r","t","b","p","w","h"];function E(t,e,r){var n=!1;var a=[m.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,m.rehover,function(){return t.emit("plotly_transitioning",[]),new Promise(function(a){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&t._transitionData._interruptCallbacks.push(function(){return i.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var o=0,s=0;function l(){return o++,function(){var e;s++,n||s!==o||(e=a,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return i.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(e)))}}r.runFn(l),setTimeout(l())})}],o=l.syncOrAsync(a,t);return o&&o.then||(o=Promise.resolve()),o.then(function(){return t})}m.didMarginChange=function(t,e){for(var r=0;r<S.length;r++){var n=S[r],i=t[n],o=e[n];if(!a(i)||Math.abs(o-i)>1)return!0}return!1},m.graphJson=function(t,e,r,n,a){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var i=a?t._fullData:t.data,o=a?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(l.isPlainObject(t)){var e,n,a={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!l.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;a[e]=c(t[e])}return a}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(i||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),"object"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case"replace":a=n.value;var s=(i[n.index]||{}).name,l=a.name;i[n.index]=o[l]=a,l!==s&&(delete o[s],o[l]=a);break;case"insert":o[(a=n.value).name]=a,i.splice(n.index,0,a);break;case"delete":delete o[(a=i[n.index]).name],i.splice(n.index,1)}return Promise.resolve()},m.computeFrame=function(t,e){var r,n,a,i,o=t._transitionData._frameHash;if(!e)throw new Error("computeFrame must be given a string frame name");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=m.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(a=n[r])&&(-1===(i=u.traces.indexOf(a))&&(i=u.data.length,u.traces[i]=a),u.data[i]=m.extendTrace(u.data[i],s.data[r]))}return u},m.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var a=r[n];a&&a.name&&(e[a.name]=a)}},m.extendObjectWithContainers=function(t,e,r){var n,a,i,o,s,c,u,h=l.extendDeepNoArrays({},e||{}),f=l.expandObjectPaths(h),p={};if(r&&r.length)for(i=0;i<r.length;i++)void 0===(a=(n=l.nestedProperty(f,r[i])).get())?l.nestedProperty(p,r[i]).set(null):(n.set(null),l.nestedProperty(p,r[i]).set(a));if(t=l.extendDeepNoArrays(t||{},f),r&&r.length)for(i=0;i<r.length;i++)if(c=l.nestedProperty(p,r[i]).get()){for(u=(s=l.nestedProperty(t,r[i])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:m.extendObjectWithContainers(u[o],d)}s.set(u)}return t},m.dataArrayContainers=["transforms","dimensions"],m.layoutArrayContainers=i.layoutArrayContainers,m.extendTrace=function(t,e){return m.extendObjectWithContainers(t,e,m.dataArrayContainers)},m.extendLayout=function(t,e){return m.extendObjectWithContainers(t,e,m.layoutArrayContainers)},m.transition=function(t,e,r,n,a,i){var o={redraw:a.redraw},s={},c=[];return o.prepareFn=function(){for(var a=Array.isArray(e)?e.length:0,i=n.slice(0,a),o=0;o<i.length;o++){var u=i[o],h=t._fullData[u]._module;if(h){if(h.animatable){var f=h.basePlotModule.name;s[f]||(s[f]=[]),s[f].push(u)}t.data[i[o]]=m.extendTrace(t.data[i[o]],e[o])}}var p=l.expandObjectPaths(l.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var g in p)d.test(g)&&delete p[g].range;m.extendLayout(t.layout,p),delete t.calcdata,m.supplyDefaults(t),m.doCalcdata(t);var v=l.expandObjectPaths(r);if(v){var y=t._fullLayout._plots;for(var x in y){var b=y[x],_=b.xaxis,w=b.yaxis,k=_.range.slice(),T=w.range.slice(),A=null,M=null,S=null,E=null;Array.isArray(v[_._name+".range"])?A=v[_._name+".range"].slice():Array.isArray((v[_._name]||{}).range)&&(A=v[_._name].range.slice()),Array.isArray(v[w._name+".range"])?M=v[w._name+".range"].slice():Array.isArray((v[w._name]||{}).range)&&(M=v[w._name].range.slice()),k&&A&&(_.r2l(k[0])!==_.r2l(A[0])||_.r2l(k[1])!==_.r2l(A[1]))&&(S={xr0:k,xr1:A}),T&&M&&(w.r2l(T[0])!==w.r2l(M[0])||w.r2l(T[1])!==w.r2l(M[1]))&&(E={yr0:T,yr1:M}),(S||E)&&c.push(l.extendFlat({plotinfo:b},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,a,o=t._fullLayout._basePlotModules,u=c.length;if(r)for(a=0;a<o.length;a++)o[a].transitionAxes&&o[a].transitionAxes(t,c,i,e);for(var h in u?((n=l.extendFlat({},i)).duration=0,delete s.cartesian):n=i,s){var f=s[h];t._fullData[f[0]]._module.basePlotModule.plot(t,f,n,e)}},E(t,i,o)},m.transitionFromReact=function(t,e,r,n){var a=t._fullLayout,i=a.transition,o={},s=[];return o.prepareFn=function(){var t=a._plots;for(var i in o.redraw=!1,"some"===e.anim&&(o.redraw=!0),"some"===r.anim&&(o.redraw=!0),t){var c=t[i],u=c.xaxis,h=c.yaxis,f=n[u._name].range.slice(),p=n[h._name].range.slice(),d=u.range.slice(),g=h.range.slice();u.setScale(),h.setScale();var v=null,m=null;u.r2l(f[0])===u.r2l(d[0])&&u.r2l(f[1])===u.r2l(d[1])||(v={xr0:f,xr1:d}),h.r2l(p[0])===h.r2l(g[0])&&h.r2l(p[1])===h.r2l(g[1])||(m={yr0:p,yr1:g}),(v||m)&&s.push(l.extendFlat({plotinfo:c},v,m))}return Promise.resolve()},o.runFn=function(r){for(var n,a,o,c=t._fullData,u=t._fullLayout._basePlotModules,h=[],f=0;f<c.length;f++)h.push(f);function p(){for(var e=0;e<u.length;e++)u[e].transitionAxes&&u[e].transitionAxes(t,s,n,r)}function d(){for(var e=0;e<u.length;e++)u[e].plot(t,o,a,r)}s.length&&e.anim?"traces first"===i.ordering?(n=l.extendFlat({},i,{duration:0}),o=h,a=i,setTimeout(p,i.duration),d()):(n=i,o=null,a=l.extendFlat({},i,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=i,p()):e.anim&&(o=h,a=i,d())},E(t,i,o)},m.doCalcdata=function(t,e){var r,n,a,s,c=h.list(t),f=t._fullData,p=t._fullLayout,d=new Array(f.length),g=(t.calcdata||[]).slice();for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},p._sunburstcolormap={},p._treemapcolormap={},p._funnelareacolormap={},a=0;a<f.length;a++)Array.isArray(e)&&-1===e.indexOf(a)&&(d[a]=g[a]);for(a=0;a<f.length;a++)(r=f[a])._arrayAttrs=o.findArrayAttributes(r),r._extremes={};var v=p._subplots.polar||[];for(a=0;a<v.length;a++)c.push(p[v[a]].radialaxis,p[v[a]].angularaxis);for(var m in p._colorAxes){var x=p[m];!1!==x.cauto&&(delete x.cmin,delete x.cmax)}var b=!1;function _(e){if(r=f[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var a=n.calc(t,r);a[0]&&a[0].t&&a[0].t._scene&&delete a[0].t._scene.dirty}for(s=0;s<r.transforms.length;s++){var i=r.transforms[s];(n=y[i.type])&&n.calcTransform&&(r._hasCalcTransform=!0,b=!0,n.calcTransform(t,r,i))}}}function w(e,a){if(r=f[e],!!(n=r._module).isContainer===a){var i=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var o=r.transforms||[];for(s=o.length-1;s>=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(i=n.calc(t,r))}Array.isArray(i)&&i[0]||(i=[{x:u,y:u}]),i[0].t||(i[0].t={}),i[0].trace=r,d[e]=i}}for(C(c,f),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)_(a);for(b&&C(c,f),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)w(a,!1);P(t);var k=function(t,e){var r,n,a,o,s,c=[];function u(t,r,n){var a=r._id.charAt(0);if("histogram2dcontour"===t){var i=r._counterAxes[0],o=h.getFromId(e,i),s="x"===a||"x"===i&&"category"===o.type,l="y"===a||"y"===i&&"category"===o.type;return function(t,e){return 0===t||0===e?-1:s&&t===n[e].length-1?-1:l&&e===n.length-1?-1:("y"===a?e:t)-1}}return function(t,e){return"y"===a?e:t}}var f={min:function(t){return l.aggNums(Math.min,null,t)},max:function(t){return l.aggNums(Math.max,null,t)},sum:function(t){return l.aggNums(function(t,e){return t+e},null,t)},total:function(t){return l.aggNums(function(t,e){return t+e},null,t)},mean:function(t){return l.mean(t)},median:function(t){return l.median(t)}};for(r=0;r<t.length;r++){var p=t[r];if("category"===p.type){var d=p.categoryorder.match(L);if(d){var g=d[1],v=d[2],m=[];for(n=0;n<p._categories.length;n++)m.push([p._categories[n],[]]);for(n=0;n<p._traceIndices.length;n++){var y=p._traceIndices[n],x=e._fullData[y],b=p._id.charAt(0);if(!0===x.visible){var _=x.type;i.traceIs(x,"histogram")&&(delete x._xautoBinFinished,delete x._yautoBinFinished);var w=e.calcdata[y];for(a=0;a<w.length;a++){var k,T,A,M=w[a];if("splom"===_){var S=x._axesDim[p._id];if("y"===b){var E=x._diag[S][0];E&&(p=e._fullLayout[h.id2name(E)])}var C=M.trace.dimensions[S].values;for(o=0;o<C.length;o++)for(k=C[o],T=p._categoriesMap[k],s=0;s<M.trace.dimensions.length;s++)if(s!==S){var P=M.trace.dimensions[s];m[T][1].push(P.values[o])}}else if("scattergl"===_){for(o=0;o<M.t.x.length;o++)"x"===b&&(k=M.t.x[o],T=k,A=M.t.y[o]),"y"===b&&(k=M.t.y[o],T=k,A=M.t.x[o]),m[T][1].push(A);M.t&&M.t._scene&&delete M.t._scene.dirty}else if(M.hasOwnProperty("z")){A=M.z;var O=u(x.type,p,A);for(o=0;o<A.length;o++)for(s=0;s<A[o].length;s++)(T=O(s,o))+1&&m[T][1].push(A[o][s])}else for("x"===b?(k=M.p+1?M.p:M.x,A=M.s||M.v||M.y):"y"===b&&(k=M.p+1?M.p:M.y,A=M.s||M.v||M.x),Array.isArray(A)||(A=[A]),o=0;o<A.length;o++)m[k][1].push(A[o])}}}p._categoriesValue=m;var z=[];for(n=0;n<m.length;n++)z.push([m[n][0],f[g](m[n][1])]);z.sort(function(t,e){return t[1]-e[1]}),p._categoriesAggregatedValue=z,p._initialCategories=z.map(function(t){return t[0]}),"descending"===v&&p._initialCategories.reverse(),c=c.concat(p.sortByInitialCategories())}}}return c}(c,t);if(k.length){for(p._numBoxes=0,p._numViolins=0,a=0;a<k.length;a++)w(k[a],!0);for(a=0;a<k.length;a++)w(k[a],!1);P(t)}i.getComponentMethod("fx","calc")(t),i.getComponentMethod("errorbars","calc")(t)};var L=/(total|sum|min|max|mean|median) (ascending|descending)/;function C(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.clearCalc(),"multicategory"===n.type&&n.setupMultiCategory(e)}}function P(t){var e,r,n,a=t._fullLayout,i=a._visibleModules,o={};for(r=0;r<i.length;r++){var s=i[r],c=s.crossTraceCalc;if(c){var u=s.basePlotModule.name;o[u]?l.pushUnique(o[u],c):o[u]=[c]}}for(n in o){var h=o[n],f=a._subplots[n];if(Array.isArray(f))for(e=0;e<f.length;e++){var p=f[e],d="cartesian"===n?a._plots[p]:a[p];for(r=0;r<h.length;r++)h[r](t,d,p)}else for(r=0;r<h.length;r++)h[r](t)}}m.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},m.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},m.generalUpdatePerTraceModule=function(t,e,r,n){var a,i=e.traceHash,o={};for(a=0;a<r.length;a++){var s=r[a],c=s[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(s))}for(var u in i)if(!o[u]){var h=i[u][0];h[0].trace.visible=!1,o[u]=[h]}for(var f in o){var p=o[f];p[0][0].trace._module.plot(t,e,l.filterVisible(p),n)}e.traceHash=o},m.plotBasePlot=function(t,e,r,n,a){var o=i.getModule(t),s=d(e.calcdata,o)[0];o.plot(e,s,n,a)},m.cleanBasePlot=function(t,e,r,n,a){var i=a._has&&a._has(t),o=r._has&&r._has(t);i&&!o&&a["_"+t+"layer"].selectAll("g.trace").remove()}},{"../components/color":591,"../constants/numerical":692,"../lib":716,"../plot_api/plot_schema":753,"../plot_api/plot_template":754,"../plots/get_data":799,"../registry":845,"./animation_attributes":759,"./attributes":761,"./cartesian/axis_ids":767,"./command":788,"./font_attributes":790,"./frame_attributes":791,"./layout_attributes":816,d3:164,"fast-isnumeric":227}],826:[function(t,e,r){"use strict";e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],827:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../lib/polygon").tester,i=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var a,i,o=n[0],s=n[1],l=h(Math.sin(e)-Math.sin(t)),c=h(Math.cos(e)-Math.cos(t)),u=Math.tan(r),f=h(1/u),p=l/c,d=s-p*o;return f?l&&c?i=u*(a=d/(u-p)):c?(a=s*f,i=s):(a=o,i=o*u):l&&c?(a=0,i=d):c?(a=0,i=s):a=i=NaN,[a,i]}function u(t,e,r,a){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,a=new Array(n+1);for(r=0;r<n;r++){var i=e[r];a[r]=[t*Math.cos(i),t*Math.sin(i)]}return a[r]=a[0].slice(),a}(t,a):function(t,e,r,a){var s,u,h=a.length,f=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,h)}function v(t){return o(t,[e,r])}var m=i(a,function(t){return v(t)?l(t,e):1/0}),y=d(a[m],a[g(m-1)],e);for(f.push(y),s=m,u=0;u<h;s++,u++){var x=a[g(s)];if(!v(x))break;f.push(p(x))}var b=i(a,function(t){return v(t)?l(t,r):1/0}),_=d(a[b],a[g(b+1)],r);return f.push(_),f.push([0,0]),f.push(f[0].slice()),f}(t,e,r,a)}function h(t){return Math.abs(t)>1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,a=new Array(n),i=0;i<n;i++){var o=t[i];a[i]=[e+o[0],r-o[1]]}return a}e.exports={isPtInsidePolygon:function(t,e,r,n,i){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=a(u(s,n[0],n[1],i)),h=a(u(l,n[0],n[1],i)),f=[t*Math.cos(e),t*Math.sin(e)];return h.contains(f)&&!c.contains(f)},findPolygonOffset:function(t,e,r,n){for(var a=1/0,i=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];a=Math.min(a,l[0]),i=Math.min(i,-l[1])}return[a,i]},findEnclosingVertexAngles:function(t,e){var r=i(e,function(e){var r=s(e,t);return r>0?r:1/0}),a=n.mod(r+1,e.length);return[e[r],e[a]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var a=-e*r,i=e*e+1,o=2*(e*a-r),s=a*a+r*r-t*t,l=Math.sqrt(o*o-4*i*s),c=(-o+l)/(2*i),u=(-o-l)/(2*i);return[[c,e*c+a+n],[u,e*u+a+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,a,i){return"M"+f(u(t,e,r,n),a,i).join("L")},pathPolygonAnnulus:function(t,e,r,n,a,i,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=f(u(s,r,n,a),i,o);return"M"+f(u(l,r,n,a),i,o).reverse().join("L")+"M"+c.join("L")}}},{"../../lib":716,"../../lib/polygon":728}],828:[function(t,e,r){"use strict";var n=t("../get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./polar"),o=t("./constants"),s=o.attr,l=o.name,c=a(l),u={};u[s]={valType:"subplotid",dflt:l,editType:"calc"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[l],o=0;o<a.length;o++){var s=a[o],c=n(r,l,s),u=e[s]._subplot;u||(u=i(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var a=n._subplots[l]||[],i=n._has&&n._has("gl"),o=e._has&&e._has("gl"),s=i&&!o,c=0;c<a.length;c++){var u=a[c],h=n[u]._subplot;if(!e[u]&&h)for(var f in h.framework.remove(),h.layers["radial-axis-title"].remove(),h.clipPaths)h.clipPaths[f].remove();s&&h._scene&&(h._scene.destroy(),h._scene=null)}},toSVG:t("../cartesian").toSVG}},{"../../lib":716,"../cartesian":775,"../get_data":799,"./constants":826,"./layout_attributes":829,"./layout_defaults":830,"./polar":837}],829:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../cartesian/layout_attributes"),i=t("../domain").attributes,o=t("../../lib").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=s({color:a.color,showline:o({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:o({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth},"plot","from-root"),c=s({tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,layer:a.layer},"plot","from-root"),u={visible:o({},a.visible,{dflt:!0}),type:o({},a.type,{values:["-","linear","log","date","category"]}),autorange:o({},a.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:o({},a.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:a.categoryorder,categoryarray:a.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:o({},a.title.text,{editType:"plot",dflt:""}),font:o({},a.title.font,{editType:"plot"}),editType:"plot"},hoverformat:a.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}};o(u,l,c);var h={visible:o({},a.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},categoryorder:a.categoryorder,categoryarray:a.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:a.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};o(h,l,c),e.exports={domain:i({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:n.background},radialaxis:u,angularaxis:h,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}},{"../../components/color/attributes":590,"../../lib":716,"../../plot_api/edit_types":747,"../cartesian/layout_attributes":776,"../domain":789}],830:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../plot_api/plot_template"),o=t("../subplot_defaults"),s=t("../get_data").getSubplotData,l=t("../cartesian/tick_value_defaults"),c=t("../cartesian/tick_mark_defaults"),u=t("../cartesian/tick_label_defaults"),h=t("../cartesian/category_order_defaults"),f=t("../cartesian/line_grid_defaults"),p=t("../cartesian/axis_autotype"),d=t("./layout_attributes"),g=t("./set_convert"),v=t("./constants"),m=v.axisNames;function y(t,e,r,o){var p=r("bgcolor");o.bgColor=a.combine(p,o.paper_bgcolor);var y=r("sector");r("hole");var b,_=s(o.fullData,v.name,o.id),w=o.layoutOut;function k(t,e){return r(b+"."+t,e)}for(var T=0;T<m.length;T++){b=m[T],n.isPlainObject(t[b])||(t[b]={});var A=t[b],M=i.newContainer(e,b);M._id=M._name=b,M._attr=o.id+"."+b,M._traceIndices=_.map(function(t){return t._expandedIndex});var S=v.axisName2dataArray[b],E=x(A,M,k,_,S);h(A,M,k,{axData:_,dataAttr:S});var L,C,P=k("visible");switch(g(M,e,w),k("uirevision",e.uirevision),P&&(C=(L=k("color"))===A.color?L:o.font.color),M._m=1,b){case"radialaxis":var O=k("autorange",!M.isValidRange(A.range));A.autorange=O,!O||"linear"!==E&&"-"!==E||k("rangemode"),"reversed"===O&&(M._m=-1),k("range"),M.cleanRange("range",{dfltRange:[0,1]}),P&&(k("side"),k("angle",y[0]),k("title.text"),n.coerceFont(k,"title.font",{family:o.font.family,size:Math.round(1.2*o.font.size),color:C}));break;case"angularaxis":if("date"===E){n.log("Polar plots do not support date angular axes yet.");for(var z=0;z<_.length;z++)_[z].visible=!1;E=A.type=M.type="linear"}k("linear"===E?"thetaunit":"period");var I=k("direction");k("rotation",{counterclockwise:0,clockwise:90}[I])}if(P)l(A,M,k,M.type),u(A,M,k,M.type,{tickSuffixDflt:"degrees"===M.thetaunit?"\xb0":void 0}),c(A,M,k,{outerTicks:!0}),k("showticklabels")&&(n.coerceFont(k,"tickfont",{family:o.font.family,size:o.font.size,color:C}),k("tickangle"),k("tickformat")),f(A,M,k,{dfltColor:L,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:d[b]}),k("layer");"category"!==E&&k("hoverformat"),M._input=A}"category"===e.angularaxis.type&&r("gridshape")}function x(t,e,r,n,a){if("-"===r("type")){for(var i,o=0;o<n.length;o++)if(n[o].visible){i=n[o];break}i&&i[a]&&(e.type=p(i[a],"gregorian")),"-"===e.type?e.type="linear":t.type=e.type}return e.type}e.exports=function(t,e,r){o(t,e,r,{type:v.name,attributes:d,handleDefaults:y,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../cartesian/axis_autotype":765,"../cartesian/category_order_defaults":768,"../cartesian/line_grid_defaults":778,"../cartesian/tick_label_defaults":783,"../cartesian/tick_mark_defaults":784,"../cartesian/tick_value_defaults":785,"../get_data":799,"../subplot_defaults":839,"./constants":826,"./layout_attributes":829,"./set_convert":838}],831:[function(t,e,r){"use strict";var n=t("../../../traces/scatter/attributes"),a=n.marker,i=t("../../../lib/extend").extendFlat;["Area traces are deprecated!","Please switch to the *barpolar* trace type."].join(" ");e.exports={r:i({},n.r,{}),t:i({},n.t,{}),marker:{color:i({},a.color,{}),size:i({},a.size,{}),symbol:i({},a.symbol,{}),opacity:i({},a.opacity,{}),editType:"calc"}}},{"../../../lib/extend":707,"../../../traces/scatter/attributes":1118}],832:[function(t,e,r){"use strict";var n=t("../../cartesian/layout_attributes"),a=t("../../../lib/extend").extendFlat,i=t("../../../plot_api/edit_types").overrideAll,o=["Legacy polar charts are deprecated!","Please switch to *polar* subplots."].join(" "),s=a({},n.domain,{});function l(t,e){return a({},e,{showline:{valType:"boolean"},showticklabels:{valType:"boolean"},tickorientation:{valType:"enumerated",values:["horizontal","vertical"]},ticklen:{valType:"number",min:0},tickcolor:{valType:"color"},ticksuffix:{valType:"string"},endpadding:{valType:"number",description:o},visible:{valType:"boolean"}})}e.exports=i({radialaxis:l(0,{range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},domain:s,orientation:{valType:"number"}}),angularaxis:l(0,{range:{valType:"info_array",items:[{valType:"number",dflt:0},{valType:"number",dflt:360}]},domain:s}),layout:{direction:{valType:"enumerated",values:["clockwise","counterclockwise"]},orientation:{valType:"angle"}}},"plot","nested")},{"../../../lib/extend":707,"../../../plot_api/edit_types":747,"../../cartesian/layout_attributes":776}],833:[function(t,e,r){"use strict";(e.exports=t("./micropolar")).manager=t("./micropolar_manager")},{"./micropolar":834,"./micropolar_manager":835}],834:[function(t,e,r){var n=t("d3"),a=t("../../../lib").extendDeepAll,i=t("../../../constants/alignment").MID_SHIFT,o=e.exports={version:"0.2.2"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},h=n.dispatch("hover"),f={};return f.render=function(c){return function(c){e=c||e;var h=l.data,f=l.layout;("string"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(h).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(f)};var h=0;c.forEach(function(t,e){t.color||(t.color=f.defaultColorRange[h],h=(h+1)%f.defaultColorRange.length),t.strokeColor||(t.strokeColor="LinePlot"===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return"undefined"==typeof r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||"undefined"!=typeof t.groupId,t});if(d){var v=n.nest().key(function(t,e){return"undefined"!=typeof t.groupId?t.groupId:"unstacked"}).entries(g),m=[],y=v.map(function(t,e){if("unstacked"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],m.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(f.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2;x=Math.max(10,x);var b,_=[f.margin.left+x,f.margin.top+x];b=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(m)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),f.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(f.radialAxis.domain!=o.DATAEXTENT&&f.radialAxis.domain?f.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,k=o.util.flattenArray(p.map(function(t,e){return t.t})),T="string"==typeof k[0];T&&(k=o.util.deduplicate(k),w=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],d&&(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return"LinePlot"===t.geometry||"DotPlot"===t.geometry}).length===p.length,M=null===f.needsEndSpacing?T||!A:f.needsEndSpacing,S=f.angularAxis.domain&&f.angularAxis.domain!=o.DATAEXTENT&&!T&&f.angularAxis.domain[0]>=0?f.angularAxis.domain:n.extent(k),E=Math.abs(k[1]-k[0]);A&&!T&&(E=0);var L=S.slice();M&&T&&(L[1]+=E);var C=f.angularAxis.ticksCount||4;C>8&&(C=C/(C/8)+C%8),f.angularAxis.ticksStep&&(C=(L[1]-L[0])/C);var P=f.angularAxis.ticksStep||(L[1]-L[0])/(C*(f.minorTicks+1));w&&(P=Math.max(Math.round(P),1)),L[2]||(L[2]=P);var O=n.range.apply(this,L);if(O=O.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range("clockwise"===f.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=M?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var z=(new DOMParser).parseFromString("<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>","application/xml"),I=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(I)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),F={fill:"none",stroke:f.tickColor},B={"font-size":f.font.size,"font-family":f.font.family,fill:f.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+f.font.outlineColor}).join(",")};if(f.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,f.margin.top]+")"}).style({display:"block"});var N=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||"Element"+e}),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:f.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(f.width-j.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),_=[f.margin.left+x,f.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var V=[(f.width-(f.margin.left+f.margin.right+2*x+(j?j.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(".outer-group").attr("transform","translate("+V+")"),f.title&&f.title.text){var U=t.select("g.title-group text").style(B).text(f.title.text),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(f.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(F),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(F);var Y=t.select("circle.background-circle").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});function W(t,e){return s(t)%360+f.orientation}if(f.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:"rotate("+f.radialAxis.orientation+")"}),H.selectAll(".domain").style(F),H.selectAll("g>text").text(function(t,e){return this.textContent+f.radialAxis.ticksSuffix}).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===f.radialAxis.tickOrientation?"rotate("+-f.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(O),J=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:f.angularAxis.visible?"block":"none"}),Z.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(f.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(f.minorTicks+1)==0)}).style(F),J.selectAll(".minor").style({stroke:f.minorTickColor}),Z.select("line.grid-line").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(B);var K=Z.select("text.axis-text").attr({x:x+f.labelOffset,dy:i+"em",transform:function(t,e){var r=W(t),n=x+f.labelOffset,a=f.angularAxis.tickOrientation;return"horizontal"==a?"rotate("+-r+" "+n+" 0)":"radial"==a?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:f.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(f.minorTicks+1)!=0?"":w?w[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix}).style(B);f.angularAxis.rewriteTicks&&K.text(function(t,e){return e%(f.minorTicks+1)!=0?"":f.angularAxis.rewriteTicks(this.textContent,e)});var Q=n.max(R.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));D.attr({transform:"translate("+[x+Q,f.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=f.orientation,n.direction=f.direction,n.index=e,et.push({data:t,geometryConfig:n})});var rt=n.nest().key(function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"}).entries(et),nt=[];rt.forEach(function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return a(o[r].defaultConfig(),t)});o[r]().config(n)()})}var at,it,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!T){var ht=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(Y).angle;ht.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=s.invert(n);var a=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(at)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.angular-guide",function(t,e){ot.select("line").style({opacity:0})})}var ft=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(Y).radius;ft.attr({r:n}).style({opacity:.5}),it=r.invert(o.util.getMousePos(Y).radius);var a=o.util.convertToCartesian(n,f.radialAxis.orientation);ct.text(o.util.round(it)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.radial-guide",function(t,e){ft.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var a=n.select(this),i=this.style.fill,s="black",l=this.style.opacity||1;if(a.attr({"data-opacity":l}),i&&"none"!==i){a.attr({"data-fill":i}),s=n.hsl(i).darker().toString(),a.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};T&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,h=this.getBoundingClientRect(),f=t.node().getBoundingClientRect(),p=[h.left+h.width/2-V[0]-f.left,h.top+h.height/2-V[1]-f.top];ut.config({color:s}).text(u),ut.move(p)}else i=this.style.stroke||"black",a.attr({"data-stroke":i}),s=n.hsl(i).darker().toString(),a.style({stroke:s,opacity:1})}).on("mousemove.tooltip",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()}).on("mouseout.tooltip",function(t,e){ut.hide();var r=n.select(this),a=r.attr("data-fill");a?r.style({fill:a,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)}),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return u},f.getinputConfig=function(){return c},f.radialScale=function(t){return r},f.angularScale=function(t){return s},f.svg=function(){return t},n.rebind(f,h,"on"),f},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var a=e||6,i=[],o=[];n.range(0,360+a,a).forEach(function(e,r){var n=e*Math.PI/180,a=t(n);i.push(e),o.push(a)});var s={t:i,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],a=e[1],i={};return i.x=r,i.y=a,i.pos=e,i.angle=180*(Math.atan2(a,r)+Math.PI)/Math.PI,i.radius=Math.sqrt(r*r+a*a),i},o.util.duplicatesCount=function(t){for(var e,r={},n={},a=0,i=t.length;a<i;a++)(e=t[a])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var a=r.slice();r=e,e=a}var i=e.reduce(function(t,e){if("undefined"!=typeof t)return t[e]},t);"undefined"!=typeof i&&(e.reduce(function(t,r,n){if("undefined"!=typeof t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return"undefined"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=i),t[e]},t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch("hover"),r={solid:"none",dash:[5,2],dot:[2,5]};function i(){var e=t[0].geometryConfig,a=e.container;"string"==typeof a&&(a=n.select(a)),a.datum(t).each(function(t,a){var i=!!t[0].data.yStack,o=t.map(function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,a,i){var o=t[i].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:"mark bar",d:"M"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join("L")+"Z",transform:function(t,r){return"rotate("+(e.orientation+s(t[0]))+")"}})}};c.dot=function(r,a,i){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[i].data.dotSize).type(t[i].data.dotType)(r,a);n.select(this).attr({class:"mark dot",d:s,transform:function(t,r){var n,a,i,s=(n=function(t,r){var n=e.radialScale(t[1]),a=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:a}}(o),a=n.r*Math.cos(n.t),i=n.r*Math.sin(n.t),{x:a,y:i});return"translate("+[s.x,s.y]+")"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return e.radialScale(t[1])}).angle(function(t){return e.angularScale(t[0])*Math.PI/180});c.line=function(r,a,i){var s=r[2]?o[i].map(function(t,e){return[t[0],t[1]+t[2]]}):o[i];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[i].data.dotVisible},fill:d.stroke(r,a,i)}).attr({class:"mark dot"}),!(a>0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,a,i)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,a,i)},"stroke-width":function(t,e){return d["stroke-width"](r,a,i)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,a,i)},opacity:function(t,e){return d.opacity(r,a,i)},display:function(t,e){return d.display(r,a,i)}})}};var h=e.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,a){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,a){return r[t[a].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var v=g.selectAll("path.mark").data(function(t,e){return t});v.enter().append("path").attr({class:"mark"}),v.style(d).each(c[e.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),a(t[r],o.PolyChart.defaultConfig()),a(t[r],e)}),this):t},i.getColorScale=function(){},n.rebind(i,e,"on"),i},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,i=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var i=a({},e.elements[r]);return i.name=t,i.color=[].concat(e.elements[r].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,h=u?e.height:c*o.length,f=s.classed("legend-group",!0).selectAll("svg").data([0]),p=f.enter().append("svg").attr({width:300,height:h+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),v=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,h]);if(u){var m=f.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);m.enter().append("stop"),m.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),f.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=f.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,v(e)+c/2]+")"},d:function(t,e){var r,a,i,o=t.symbol;return i=3*(a=c),"line"===(r=o)?"M"+[[-a/2,-a/12],[a/2,-a/12],[a/2,a/12],[-a/2,a/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(i)():n.svg.symbol().type("square").size(i)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(v).orient("right"),b=f.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(a(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=i.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:i.padding+l,dy:.3*+i.fontSize}),c};return c.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",h=a||"";e.style({fill:u,"font-size":i.fontSize+"px"}).text(h);var f=i.padding,p=e.node().getBBox(),d={fill:i.color,stroke:s,"stroke-width":"2px"},g=p.width+2*f+l,v=p.height+2*f;return r.attr({d:"M"+[[l,-v/2],[l,-v/4],[i.hasTick?0:l,0],[l,v/4],[l,v/2],[g,v/2],[g,-v/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-v/2+2*f]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return a(i,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=a({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n}),!e&&t.layout&&"stack"===t.layout.barmode)){var i=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=i.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=a({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":685,"../../../lib":716,d3:164}],835:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../../lib"),i=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=a.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,a,i,u,h=new s;function f(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,a||(a=o.Axis()),i=o.adapter.plotly().convert(e),a.config(i).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return f.isPolar=!0,f.svg=function(){return a.svg()},f.getConfig=function(){return e},f.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},f.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},f.setUndoPoint=function(){var t,n,a=this,i=o.util.cloneJson(e);t=i,n=r,h.add({undo:function(){n&&a(n)},redo:function(){a(t)}}),r=o.util.cloneJson(i)},f.undo=function(){h.undo()},f.redo=function(){h.redo()},f},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),a=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:i.background,_container:e,_paperdiv:r,_paper:a};t._fullLayout=l(o,t.layout)}},{"../../../components/color":591,"../../../lib":716,"./micropolar":834,"./undo_manager":836,d3:164}],836:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function a(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(a(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(a(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],837:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../plots"),u=t("../../plots/cartesian/axes"),h=t("../cartesian/set_convert"),f=t("./set_convert"),p=t("../cartesian/autorange").doAutoRange,d=t("../cartesian/dragbox"),g=t("../../components/dragelement"),v=t("../../components/fx"),m=t("../../components/titles"),y=t("../cartesian/select").prepSelect,x=t("../cartesian/select").selectOnClick,b=t("../cartesian/select").clearSelect,_=t("../../lib/setcursor"),w=t("../../lib/clear_gl_canvases"),k=t("../../plot_api/subroutines").redrawReglTraces,T=t("../../constants/alignment").MID_SHIFT,A=t("./constants"),M=t("./helpers"),S=o._,E=o.mod,L=o.deg2rad,C=o.rad2deg;function P(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n="clip"+r._uid+e;this.clipIds.forTraces=n+"-for-traces",this.clipPaths.forTraces=r._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=r._polarlayer.append("g").attr("class",e),this.radialTickLayout=null,this.angularTickLayout=null}var O=P.prototype;function z(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return"side"in t&&(e+=t.side),e}function I(t,e){return e[o.findIndexOfMin(e,function(e){return o.angleDist(t,e)})]}function D(t,e,r){return e?(t.attr("display",null),t.attr(r)):t&&t.attr("display","none"),t}function R(t,e){return"translate("+t+","+e+")"}function F(t){return"rotate("+t+")"}e.exports=function(t,e){return new P(t,e)},O.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),c.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},O.updateLayers=function(t,e){var r=this.layers,a=e.radialaxis,i=e.angularaxis,o=A.layerNames,s=o.indexOf("frontplot"),l=o.slice(0,s),c="below traces"===i.layer,u="below traces"===a.layer;c&&l.push("angular-line"),u&&l.push("radial-line"),c&&l.push("angular-axis"),u&&l.push("radial-axis"),l.push("frontplot"),c||l.push("angular-line"),u||l.push("radial-line"),c||l.push("angular-axis"),u||l.push("radial-axis");var h=this.framework.selectAll(".polarsublayer").data(l,String);h.enter().append("g").attr("class",function(t){return"polarsublayer "+t}).each(function(t){var e=r[t]=n.select(this);switch(t){case"frontplot":e.append("g").classed("barlayer",!0),e.append("g").classed("scatterlayer",!0);break;case"backplot":e.append("g").classed("maplayer",!0);break;case"plotbg":r.bg=e.append("path");break;case"radial-grid":case"angular-grid":e.style("fill","none");break;case"radial-line":e.append("line").style("fill","none");break;case"angular-line":e.append("path").style("fill","none")}}),h.order()},O.updateLayout=function(t,e){var r=this.layers,n=t._size,a=e.radialaxis,i=e.angularaxis,o=e.domain.x,c=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-c[1]);var u=this.xLength=n.w*(o[1]-o[0]),h=this.yLength=n.h*(c[1]-c[0]),f=e.sector;this.sectorInRad=f.map(L);var p,d,g,v,m,y=this.sectorBBox=function(t){var e,r,n,a,i=t[0],o=t[1]-i,s=E(i,360),l=s+o,c=Math.cos(L(s)),u=Math.sin(L(s)),h=Math.cos(L(l)),f=Math.sin(L(l));a=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&f<=0?0:Math.max(u,f);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&h>=0?0:Math.min(c,h);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&f>=0?0:Math.min(u,f);n=l>=360?1:c<=0&&h<=0?0:Math.max(c,h);return[e,r,n,a]}(f),x=y[2]-y[0],b=y[3]-y[1],_=h/u,w=Math.abs(b/x);_>w?(p=u,m=(h-(d=u*w))/n.h/2,g=[o[0],o[1]],v=[c[0]+m,c[1]-m]):(d=h,m=(u-(p=h/w))/n.w/2,g=[o[0]+m,o[1]-m],v=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=v;var k=this.xOffset2=n.l+n.w*g[0],T=this.yOffset2=n.t+n.h*(1-v[1]),A=this.radius=p/x,M=this.innerRadius=e.hole*A,S=this.cx=k-A*y[0],C=this.cy=T+A*y[3],P=this.cxx=S-k,O=this.cyy=C-T;this.radialAxis=this.mockAxis(t,e,a,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[a.side],domain:[M/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,i,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:v});var z=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",z).attr("transform",R(P,O)),r.frontplot.attr("transform",R(k,T)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",z).attr("transform",R(S,C)).call(s.fill,e.bgcolor)},O.mockAxis=function(t,e,r,n){var a=o.extendFlat({},r,n);return f(a,e,t),a},O.mockCartesianAxis=function(t,e,r){var n=this,a=r._id,i=o.extendFlat({type:"linear"},r);h(i,t);var s={x:[0,2],y:[1,3]};return i.setRange=function(){var t=n.sectorBBox,r=s[a],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);i.range=[t[r[0]]*l,t[r[1]]*l]},i.isPtWithinRange="x"===a?function(t){return n.isPtInside(t)}:function(){return!0},i.setRange(),i.setScale(),i},O.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,a=e.radialaxis;n.setScale(),p(r,n);var i=n.range;a.range=i.slice(),a._input.range=i.slice(),n._rl=[n.r2l(i[0],null,"gregorian"),n.r2l(i[1],null,"gregorian")]},O.updateRadialAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.radialaxis,p=E(e.sector[0],360),d=r.radialAxis,g=l<i;r.fillViewInitialKey("radialaxis.angle",f.angle),r.fillViewInitialKey("radialaxis.range",d.range.slice()),d.setGeometry(),"auto"===d.tickangle&&p>90&&p<=270&&(d.tickangle=180);var v=function(t){return"translate("+(d.l2p(t.x)+l)+",0)"},m=z(f);if(r.radialTickLayout!==m&&(a["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=m),g){d.setScale();var y=u.calcTicks(d),x=u.clipEnds(d,y),b=u.getTickSigns(d)[2];u.drawTicks(n,d,{vals:y,layer:a["radial-axis"],path:u.makeTickPath(d,0,b),transFn:v,crisp:!1}),u.drawGrid(n,d,{vals:x,layer:a["radial-grid"],path:function(t){return r.pathArc(d.r2p(t.x)+l)},transFn:o.noop,crisp:!1}),u.drawLabels(n,d,{vals:y,layer:a["radial-axis"],transFn:v,labelFns:u.makeLabelFns(d,0)})}var _=r.radialAxisAngle=r.vangles?C(I(L(f.angle),r.vangles)):f.angle,w=R(c,h),k=w+F(-_);D(a["radial-axis"],g&&(f.showticklabels||f.ticks),{transform:k}),D(a["radial-grid"],g&&f.showgrid,{transform:w}),D(a["radial-line"].select("line"),g&&f.showline,{x1:l,y1:0,x2:i,y2:0,transform:k}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateRadialAxisTitle=function(t,e,r){var n=this.gd,a=this.radius,i=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:this.radialAxisAngle,h=L(u),f=Math.cos(h),p=Math.sin(h),d=0;if(s.title){var g=l.bBox(this.layers["radial-axis"].node()).height,v=s.title.font.size;d="counterclockwise"===s.side?-g-.4*v:g+.8*v}this.layers["radial-axis-title"]=m.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:S(n,"Click to enter radial axis title"),attributes:{x:i+a/2*f+d*p,y:o-a/2*p+d*f,"text-anchor":"middle"},transform:{rotate:-u}})},O.updateAngularAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.angularaxis,p=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",f.rotation),p.setGeometry(),p.setScale();var d=function(t){return p.t2g(t.x)};"linear"===p.type&&"radians"===p.thetaunit&&(p.tick0=C(p.tick0),p.dtick=C(p.dtick));var g=function(t){return R(c+i*Math.cos(t),h-i*Math.sin(t))},v=u.makeLabelFns(p,0).labelStandoff,m={xFn:function(t){var e=d(t);return Math.cos(e)*v},yFn:function(t){var e=d(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(v+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*T)},anchorFn:function(t){var e=d(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=d(t);return-.5*(1+Math.sin(n))*r}},y=z(f);r.angularTickLayout!==y&&(a["angular-axis"].selectAll("."+p._id+"tick").remove(),r.angularTickLayout=y);var x,b=u.calcTicks(p);if("linear"===e.gridshape?(x=b.map(d),o.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,"category"===p.type&&(b=b.filter(function(t){return o.isAngleInsideSector(d(t),r.sectorInRad)})),p.visible){var _="inside"===p.ticks?-1:1,w=(p.linewidth||1)/2;u.drawTicks(n,p,{vals:b,layer:a["angular-axis"],path:"M"+_*w+",0h"+_*p.ticklen,transFn:function(t){var e=d(t);return g(e)+F(-C(e))},crisp:!1}),u.drawGrid(n,p,{vals:b,layer:a["angular-grid"],path:function(t){var e=d(t),r=Math.cos(e),n=Math.sin(e);return"M"+[c+l*r,h-l*n]+"L"+[c+i*r,h-i*n]},transFn:o.noop,crisp:!1}),u.drawLabels(n,p,{vals:b,layer:a["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return g(d(t))},labelFns:m})}D(a["angular-line"].select("path"),f.showline,{d:r.pathSubplot(),transform:R(c,h)}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},O.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=A.MINZOOM,c=A.OFFEDGE,u=e.radius,h=e.innerRadius,f=e.cx,p=e.cy,m=e.cxx,_=e.cyy,w=e.sectorInRad,k=e.vangles,T=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,L=M.findEnclosingVertexAngles,C=A.cornerHalfWidth,P=A.cornerLen/2,O=d.makeDragger(o,"path","maindrag","crosshair");n.select(O).attr("d",e.pathSubplot()).attr("transform",R(f,p));var z,I,D,F,B,N,j,V,U,q={element:O,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-m,e-_)}function Y(t,e){return Math.atan2(_-e,t-m)}function W(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*C);var n=P/t,a=r-n,i=r+n,o=Math.max(0,Math.min(t,u)),s=o-C,l=o+C;return"M"+W(s,a)+"A"+[s,s]+" 0,0,0 "+W(s,i)+"L"+W(l,i)+"A"+[l,l]+" 0,0,1 "+W(l,a)+"Z"}function Z(t,r,n){if(0===t)return e.pathSector(2*C);var a,i,o=W(t,r),s=W(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,h=-1/u,f=E(C,u,l,c);a=E(P,h,f[0][0],f[0][1]),i=E(P,h,f[1][0],f[1][1])}else{var p,d;c?(p=P,d=C):(p=C,d=P),a=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+a.join("L")+"L"+i.reverse().join("L")+"Z"}function J(t,e){return e=Math.max(Math.min(e,u),h),t<c?t=0:u-t<c?t=u:e<c?e=0:u-e<c&&(e=u),Math.abs(e-t)>l?(t<e?(D=t,F=e):(D=e,F=t),!0):(D=null,F=null,!1)}function K(t,e){t=t||B,e=e||"M0,0Z",V.attr("d",t),U.attr("d",e),d.transitionZoombox(V,U,N,j),N=!0;var n={};rt(n),r.emit("plotly_relayouting",n)}function Q(t,r){var n,a,i=z+t,o=I+r,s=G(z,I),l=Math.min(G(i,o),u),c=Y(z,I);J(s,l)&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=X(D,c)+X(F,c)),K(n,a)}function $(t,e,r,n){var a=M.findIntersectionXY(r,n,r,[t-m,_-e]);return H(a[0],a[1])}function tt(t,r){var n,a,i=z+t,o=I+r,s=Y(z,I),l=Y(i,o),c=L(s,k),h=L(l,k);J($(z,I,c[0],c[1]),Math.min($(i,o,h[0],h[1]),u))&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=[Z(D,c[0],c[1]),Z(F,c[0],c[1])].join(" ")),K(n,a)}function et(){if(d.removeZoombox(r),null!==D&&null!==F){var t={};rt(t),d.showDoubleClickNotifier(r),i.call("_guiRelayout",r,t)}}function rt(t){var r=T._rl,n=(r[1]-r[0])/(1-h/u)/u,a=[r[0]+(D-h)*n,r[0]+(F-h)*n];t[e.id+".radialaxis.range"]=a}function nt(t,n){var a=r._fullLayout.clickmode;if(d.removeZoombox(r),2===t){var o={};for(var s in e.viewInitial)o[e.id+"."+s]=e.viewInitial[s];r.emit("plotly_doubleclick",null),i.call("_guiRelayout",r,o)}a.indexOf("select")>-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),a.indexOf("event")>-1&&v.click(r,n,e.id)}q.prepFn=function(t,n,i){var o=r._fullLayout.dragmode,l=O.getBoundingClientRect();if(z=n-l.left,I=i-l.top,k){var c=M.findPolygonOffset(u,w[0],w[1],k);z+=m+c[0],I+=_+c[1]}switch(o){case"zoom":q.moveFn=k?tt:Q,q.clickFn=nt,q.doneFn=et,function(){D=null,F=null,B=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=a(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,f,p,B)).attr("fill-rule","evenodd"),U=d.makeCorners(s,f,p),b(r)}();break;case"select":case"lasso":y(t,n,i,q,o)}},O.onmousemove=function(t){v.hover(r,t,e.id),r._fullLayout._lasthover=O,r._fullLayout._hoversubplot=e.id},O.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},O.updateRadialDrag=function(t,e,r){var a=this,s=a.gd,l=a.layers,c=a.radius,u=a.innerRadius,h=a.cx,f=a.cy,p=a.radialAxis,v=A.radialDragBoxSize,m=v/2;if(p.visible){var y,x,_,T=L(a.radialAxisAngle),M=p._rl,S=M[0],E=M[1],P=M[r],O=.75*(M[1]-M[0])/(1-e.hole)/c;r?(y=h+(c+m)*Math.cos(T),x=f-(c+m)*Math.sin(T),_="radialdrag"):(y=h+(u-m)*Math.cos(T),x=f-(u-m)*Math.sin(T),_="radialdrag-inner");var z,B,N,j=d.makeRectDragger(l,_,"crosshair",-m,-m,v,v),V={element:j,gd:s};D(n.select(j),p.visible&&u<c,{transform:R(y,x)}),V.prepFn=function(){z=null,B=null,N=null,V.moveFn=U,V.doneFn=q,b(s)},V.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<A.MINDRAG&&(t=0,e=0),[t,e]},g.init(V)}function U(t,e){if(z)z(t,e);else{var n=[t,-e],i=[Math.cos(T),Math.sin(T)],l=Math.abs(o.dot(n,i)/Math.sqrt(o.dot(n,n)));isNaN(l)||(z=l<.5?H:G)}var c={};!function(t){null!==B?t[a.id+".radialaxis.angle"]=B:null!==N&&(t[a.id+".radialaxis.range["+r+"]"]=N)}(c),s.emit("plotly_relayouting",c)}function q(){null!==B?i.call("_guiRelayout",s,a.id+".radialaxis.angle",B):null!==N&&i.call("_guiRelayout",s,a.id+".radialaxis.range["+r+"]",N)}function H(t,e){if(0!==r){var n=y+t,i=x+e;B=Math.atan2(f-i,n-h),a.vangles&&(B=I(B,a.vangles)),B=C(B);var o=R(h,f)+F(-B);l["radial-axis"].attr("transform",o),l["radial-line"].select("line").attr("transform",o);var s=a.gd._fullLayout,c=s[a.id];a.updateRadialAxisTitle(s,c,B)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(T),Math.sin(T)]);if(N=P-O*n,O>0==(r?N>S:N<E)){var l=s._fullLayout,c=l[a.id];p.range[r]=N,p._rl[r]=N,a.updateRadialAxis(l,c),a.xaxis.setRange(),a.xaxis.setScale(),a.yaxis.setRange(),a.yaxis.setScale();var u=!1;for(var h in a.traceHash){var f=a.traceHash[h],d=o.filterVisible(f);f[0][0].trace._module.plot(s,a,d,c),i.traceIs(h,"gl")&&d.length&&(u=!0)}u&&(w(s),k(s))}else N=null}},O.updateAngularDrag=function(t){var e=this,r=e.gd,a=e.layers,s=e.radius,c=e.angularAxis,u=e.cx,h=e.cy,f=e.cxx,p=e.cyy,v=A.angularDragBoxSize,m=d.makeDragger(a,"path","angulardrag","move"),y={element:m,gd:r};function x(t,e){return Math.atan2(p+v-e,t-f-v)}n.select(m).attr("d",e.pathAnnulus(s,s+v)).attr("transform",R(u,h)).call(_,"move");var T,M,S,E,L,P,O=a.frontplot.select(".scatterlayer").selectAll(".trace"),z=O.selectAll(".point"),I=O.selectAll(".textpoint");function D(t,s){var d=e.gd._fullLayout,g=d[e.id],v=x(T+t,M+s),m=C(v-P);if(E=S+m,a.frontplot.attr("transform",R(e.xOffset2,e.yOffset2)+F([-m,f,p])),e.vangles){L=e.radialAxisAngle+m;var y=R(u,h)+F(-m),b=R(u,h)+F(-L);a.bg.attr("transform",y),a["radial-grid"].attr("transform",y),a["radial-axis"].attr("transform",b),a["radial-line"].select("line").attr("transform",b),e.updateRadialAxisTitle(d,g,L)}else e.clipPaths.forTraces.select("path").attr("transform",R(f,p)+F(m));z.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr("transform",R(e.x,e.y)+F([m]))}),I.each(function(){var t=n.select(this),e=t.select("text"),r=l.getTranslate(t);t.attr("transform",F([m,e.attr("x"),e.attr("y")])+R(r.x,r.y))}),c.rotation=o.modHalf(E,360),e.updateAngularAxis(d,g),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&O.call(l.hideOutsideRangePoints,e);var _=!1;for(var A in e.traceHash)if(i.traceIs(A,"gl")){var D=e.traceHash[A],N=o.filterVisible(D);D[0][0].trace._module.plot(r,e,N,g),N.length&&(_=!0)}_&&(w(r),k(r));var j={};B(j),r.emit("plotly_relayouting",j)}function B(t){t[e.id+".angularaxis.rotation"]=E,e.vangles&&(t[e.id+".radialaxis.angle"]=L)}function N(){I.select("text").attr("transform",null);var t={};B(t),i.call("_guiRelayout",r,t)}y.prepFn=function(n,a,i){var o=t[e.id];S=o.angularaxis.rotation;var s=m.getBoundingClientRect();T=a-s.left,M=i-s.top,P=x(T,M),y.moveFn=D,y.doneFn=N,b(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(y.prepFn=o.noop,_(n.select(m),null)),g.init(y)},O.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),a=this.radialAxis,i=a.c2l(t.r),s=a._rl;return(r?M.isPtInsidePolygon:o.isPtInsideSector)(i,n,s,e,r)},O.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathArc)(t,e[0],e[1],r)},O.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathSector)(t,e[0],e[1],r)},O.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?M.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},O.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},O.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../components/titles":678,"../../constants/alignment":685,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/setcursor":736,"../../plot_api/subroutines":755,"../../plots/cartesian/axes":764,"../../registry":845,"../cartesian/autorange":763,"../cartesian/dragbox":772,"../cartesian/select":781,"../cartesian/set_convert":782,"../plots":825,"./constants":826,"./helpers":827,"./set_convert":838,d3:164,tinycolor2:535}],838:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../cartesian/set_convert"),i=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(a(t,r),t._id){case"x":case"radialaxis":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],a=r.innerRadius,i=(r.radius-a)/(n-e),o=a/i,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*i},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var a=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?i(t):t}(a(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,a){var i,o,s=e[a],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(i=new Array(l),o=0;o<l;o++)i[o]=c(s[o])}else{var u=a+"0",h="d"+a,f=u in e?c(e[u]):0,p=e[h]?c(e[h]):(t.period||2*Math.PI)/l;for(i=new Array(l),o=0;o<l;o++)i[o]=f+o*p}return i},t.setGeometry=function(){var a,s,l,c,u=e.sector,h=u.map(i),f={clockwise:-1,counterclockwise:1}[t.direction],p=i(t.rotation),d=function(t){return f*t+p},g=function(t){return(t-p)/f};switch(r){case"linear":s=a=n.identity,c=i,l=o,t.range=n.isFullCircle(h)?[u[0],u[0]+360]:h.map(g).map(o);break;case"category":var v=t._categories.length,m=t.period?Math.max(t.period,v):v;0===m&&(m=1),s=c=function(t){return 2*t*Math.PI/m},a=l=function(t){return t*m/Math.PI/2},t.range=[0,m]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return a(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{"../../lib":716,"../cartesian/set_convert":782}],839:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_template"),i=t("./domain").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,f=o.partition||"x",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\d+$/,"");function v(t,e){return n.coerce(s,l,u,t,e)}for(var m=0;m<d;m++){var y=p[m];s=t[y]?t[y]:t[y]={},l=a.newContainer(e,y,g),v("uirevision",e.uirevision);var x={};x[f]=[m/d,(m+1)/d],i(l,e,v,x),o.id=y,h(s,l,v,o)}}},{"../lib":716,"../plot_api/plot_template":754,"./domain":789}],840:[function(t,e,r){"use strict";['Variables are inserted using %{variable}, for example "y: %{y}".','Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".',t("../constants/docs").FORMAT_LINK,"for details on the formatting syntax.",'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".',t("../constants/docs").DATE_FORMAT_LINK,"for details on the date formatting syntax."].join(" ");function n(t){var e=t.description?" "+t.description:"",r=t.keys||[];if(r.length>0){for(var n=[],a=0;a<r.length;a++)n[a]="`"+r[a]+"`";e+="Finally, the template string has access to ",e=1===r.length?"variable "+n[0]:"variables "+n.slice(0,-1).join(", ")+" and "+n.slice(-1)+"."}return e}r.hovertemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"none"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},r.texttemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"calc"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},{"../constants/docs":687}],841:[function(t,e,r){"use strict";var n=t("./ternary"),a=t("../../plots/get_data").getSubplotCalcData,i=t("../../lib").counterRegex;r.name="ternary";var o=r.attr="subplot";r.idRoot="ternary",r.idRegex=r.attrRegex=i("ternary"),(r.attributes={})[o]={valType:"subplotid",dflt:"ternary",editType:"calc"},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.ternary,o=0;o<i.length;o++){var s=i[o],l=a(r,"ternary",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.ternary||[],i=0;i<a.length;i++){var o=a[i],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}},{"../../lib":716,"../../plots/get_data":799,"./layout_attributes":842,"./layout_defaults":843,"./ternary":844}],842:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../domain").attributes,i=t("../cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll,s=t("../../lib/extend").extendFlat,l={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.tickmode,nticks:s({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:s({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:s({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,layer:i.layer,min:{valType:"number",dflt:0,min:0},_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},c=e.exports=o({domain:a({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},"plot","from-root");c.uirevision={valType:"any",editType:"none"},c.aaxis.uirevision=c.baxis.uirevision=c.caxis.uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plot_api/edit_types":747,"../cartesian/layout_attributes":776,"../domain":789}],843:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../plot_api/plot_template"),i=t("../../lib"),o=t("../subplot_defaults"),s=t("../cartesian/tick_label_defaults"),l=t("../cartesian/tick_mark_defaults"),c=t("../cartesian/tick_value_defaults"),u=t("../cartesian/line_grid_defaults"),h=t("./layout_attributes"),f=["aaxis","baxis","caxis"];function p(t,e,r,i){var o,s,l,c=r("bgcolor"),u=r("sum");i.bgColor=n.combine(c,i.paper_bgcolor);for(var h=0;h<f.length;h++)s=t[o=f[h]]||{},(l=a.newContainer(e,o))._name=o,d(s,l,i,e);var p=e.aaxis,g=e.baxis,v=e.caxis;p.min+g.min+v.min>=u&&(p.min=0,g.min=0,v.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var a=h[e._name];function o(r,n){return i.coerce(t,e,a,r,n)}o("uirevision",n.uirevision),e.type="linear";var f=o("color"),p=f!==a.color.dflt?f:r.font.color,d=e._name.charAt(0).toUpperCase(),g="Component "+d,v=o("title.text",g);e._hovertitle=v===g?v:d,i.coerceFont(o,"title.font",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o("min"),c(t,e,o,"linear"),s(t,e,o,"linear",{}),l(t,e,o,{outerTicks:!0}),o("showticklabels")&&(i.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:f,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),o("hoverformat"),o("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../cartesian/line_grid_defaults":778,"../cartesian/tick_label_defaults":783,"../cartesian/tick_mark_defaults":784,"../cartesian/tick_value_defaults":785,"../subplot_defaults":839,"./layout_attributes":842}],844:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),h=t("../../lib/extend").extendFlat,f=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),v=t("../../components/titles"),m=t("../cartesian/select").prepSelect,y=t("../cartesian/select").selectOnClick,x=t("../cartesian/select").clearSelect,b=t("../cartesian/constants");function _(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var a=0;a<t.length;a++){if(!1===t[a][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),f.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select("path").call(l.fill,r.bgcolor)},w.makeFramework=function(t){var e=this.graphDiv,r=t[this.id],n=this.clipId="clip"+this.layoutId+this.id,a=this.clipIdRelative="clip-relative"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,"clipPath",n,function(t){t.append("path").attr("d","M0,0Z")}),this.clipDefRelative=o.ensureSingleById(t._clips,"clipPath",a,function(t){t.append("path").attr("d","M0,0Z")}),this.plotContainer=o.ensureSingle(this.container,"g",this.id),this.updateLayers(r),c.setClipUrl(this.layers.backplot,n,e),c.setClipUrl(this.layers.grids,n,e)},w.updateLayers=function(t){var e=this.layers,r=["draglayer","plotbg","backplot","grids"];"below traces"===t.aaxis.layer&&r.push("aaxis","aline"),"below traces"===t.baxis.layer&&r.push("baxis","bline"),"below traces"===t.caxis.layer&&r.push("caxis","cline"),r.push("frontplot"),"above traces"===t.aaxis.layer&&r.push("aaxis","aline"),"above traces"===t.baxis.layer&&r.push("baxis","bline"),"above traces"===t.caxis.layer&&r.push("caxis","cline");var a=this.plotContainer.selectAll("g.toplevel").data(r,String),i=["agrid","bgrid","cgrid"];a.enter().append("g").attr("class",function(t){return"toplevel "+t}).each(function(t){var r=n.select(this);e[t]=r,"frontplot"===t?r.append("g").classed("scatterlayer",!0):"backplot"===t?r.append("g").classed("maplayer",!0):"plotbg"===t?r.append("path").attr("d","M0,0Z"):"aline"===t||"bline"===t||"cline"===t?r.append("path"):"grids"===t&&i.forEach(function(t){e[t]=r.append("g").classed("grid "+t,!0)})}),a.order()};var k=Math.sqrt(4/3);w.adjustLayout=function(t,e){var r,n,a,i,o,s,f=this,p=t.domain,d=(p.x[0]+p.x[1])/2,g=(p.y[0]+p.y[1])/2,v=p.x[1]-p.x[0],m=p.y[1]-p.y[0],y=v*e.w,x=m*e.h,b=t.sum,_=t.aaxis.min,w=t.baxis.min,T=t.caxis.min;y>k*x?a=(i=x)*k:i=(a=y)/k,o=v*a/y,s=m*i/x,r=e.l+e.w*d-a/2,n=e.t+e.h*(1-g)-i/2,f.x0=r,f.y0=n,f.w=a,f.h=i,f.sum=b,f.xaxis={type:"linear",range:[_+2*T-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:"x"},u(f.xaxis,f.graphDiv._fullLayout),f.xaxis.setScale(),f.xaxis.isPtWithinRange=function(t){return t.a>=f.aaxis.range[0]&&t.a<=f.aaxis.range[1]&&t.b>=f.baxis.range[1]&&t.b<=f.baxis.range[0]&&t.c>=f.caxis.range[1]&&t.c<=f.caxis.range[0]},f.yaxis={type:"linear",range:[_,b-w-T],domain:[g-s/2,g+s/2],_id:"y"},u(f.yaxis,f.graphDiv._fullLayout),f.yaxis.setScale(),f.yaxis.isPtWithinRange=function(){return!0};var A=f.yaxis.domain[0],M=f.aaxis=h({},t.aaxis,{range:[_,b-w-T],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(M,f.graphDiv._fullLayout),M.setScale();var S=f.baxis=h({},t.baxis,{range:[b-_-T,w],side:"bottom",domain:f.xaxis.domain,anchor:"free",position:0,_id:"x",_length:a});u(S,f.graphDiv._fullLayout),S.setScale();var E=f.caxis=h({},t.caxis,{range:[b-_-w,T],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(E,f.graphDiv._fullLayout),E.setScale();var L="M"+r+","+(n+i)+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDef.select("path").attr("d",L),f.layers.plotbg.select("path").attr("d",L);var C="M0,"+i+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDefRelative.select("path").attr("d",C);var P="translate("+r+","+n+")";f.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),f.clipDefRelative.select("path").attr("transform",null);var O="translate("+(r-S._offset)+","+(n+i)+")";f.layers.baxis.attr("transform",O),f.layers.bgrid.attr("transform",O);var z="translate("+(r+a/2)+","+n+")rotate(30)translate(0,"+-M._offset+")";f.layers.aaxis.attr("transform",z),f.layers.agrid.attr("transform",z);var I="translate("+(r+a/2)+","+n+")rotate(-30)translate(0,"+-E._offset+")";f.layers.caxis.attr("transform",I),f.layers.cgrid.attr("transform",I),f.drawAxes(!0),f.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+i)+"l"+a/2+",-"+i:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),f.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+i)+"h"+a:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),f.layers.cline.select("path").attr("d",E.showline?"M"+(r+a/2)+","+n+"l"+a/2+","+i:"M0,0").call(l.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),f.graphDiv._context.staticPlot||f.initInteractions(),c.setClipUrl(f.layers.frontplot,f._hasClipOnAxisFalse?null:f.clipId,f.graphDiv)},w.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,a=this.aaxis,i=this.baxis,o=this.caxis;if(this.drawAx(a),this.drawAx(i),this.drawAx(o),t){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;n["a-title"]=v.draw(e,"a"+r,{propContainer:a,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),n["b-title"]=v.draw(e,"b"+r,{propContainer:i,propName:this.id+".baxis.title",placeholder:s(e,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*i.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=v.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:s(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},w.drawAx=function(t){var e,r=this.graphDiv,n=t._name,a=n.charAt(0),i=t._id,s=this.layers[n],l=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll("."+i+"tick").remove(),this[l]=c),t.setScale();var u=p.calcTicks(t),h=p.clipEnds(t,u),f=p.makeTransFn(t),d=p.getTickSigns(t)[2],g=o.deg2rad(30),v=d*(t.linewidth||1)/2,m=d*t.ticklen,y=this.w,x=this.h,b="b"===a?"M0,"+v+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+v+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[a];p.drawTicks(r,t,{vals:"inside"===t.ticks?h:u,layer:s,path:b,transFn:f,crisp:!1}),p.drawGrid(r,t,{vals:h,layer:this.layers[a+"grid"],path:_,transFn:f,crisp:!1}),p.drawLabels(r,t,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(t,0,30)})};var T=b.MINZOOM/2+.87,A="m-0.87,.5h"+T+"v3h-"+(T+5.2)+"l"+(T/2+2.6)+",-"+(.87*T+4.5)+"l2.6,1.5l-"+T/2+","+.87*T+"Z",M="m0.87,.5h-"+T+"v3h"+(T+5.2)+"l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-2.6,1.5l"+T/2+","+.87*T+"Z",S="m0,1l"+T/2+","+.87*T+"l2.6,-1.5l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-"+(T/2+2.6)+","+(.87*T+4.5)+"l2.6,1.5l"+T/2+",-"+.87*T+"Z",E="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",L=!0;function C(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}w.initInteractions=function(){var t,e,r,n,u,h,f,p,v,_,w=this,T=w.layers.plotbg.select("path").node(),P=w.graphDiv,O=P._fullLayout._zoomlayer,z={element:T,gd:P,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(i,o,s){z.xaxes=[w.xaxis],z.yaxes=[w.yaxis];var c=P._fullLayout.dragmode;z.minDrag="lasso"===c?1:void 0,"zoom"===c?(z.moveFn=N,z.clickFn=D,z.doneFn=j,function(i,o,s){var c=T.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,h=a(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),f="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,v=O.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:h>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",f),_=O.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),x(P)}(0,o,s)):"pan"===c?(z.moveFn=V,z.clickFn=D,z.doneFn=U,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(P)):"select"!==c&&"lasso"!==c||m(i,o,s,z,c)}};function I(t){var e={};return e[w.id+".aaxis.min"]=t.a,e[w.id+".baxis.min"]=t.b,e[w.id+".caxis.min"]=t.c,e}function D(t,e){var r=P._fullLayout.clickmode;C(P),2===t&&(P.emit("plotly_doubleclick",null),i.call("_guiRelayout",P,I({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&y(e,P,[w.xaxis],[w.yaxis],w.id,z),r.indexOf("event")>-1&&g.click(P,e,w.id)}function R(t,e){return 1-e/w.h}function F(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function N(a,i){var o=t+a,s=e+i,l=Math.max(0,Math.min(1,R(0,e),R(0,s))),c=Math.max(0,Math.min(1,F(t,e),F(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,m=(1-l/2-c)*w.w,y=(g+m)/2,x=m-g,T=(1-l)*w.h,L=T-x/k;x<b.MINZOOM?(u=r,v.attr("d",f),_.attr("d","M0,0Z")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},v.attr("d",f+"M"+g+","+T+"H"+m+"L"+y+","+L+"L"+g+","+T+"Z"),_.attr("d","M"+t+","+e+E+"M"+g+","+T+A+"M"+m+","+T+M+"M"+y+","+L+S)),p||(v.transition().style("fill",h>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),p=!0),P.emit("plotly_relayouting",I(u))}function j(){C(P),u!==r&&(i.call("_guiRelayout",P,I(u)),L&&P.data&&P._context.showTips&&(o.notifier(s(P,"Double-click to zoom back out"),"long"),L=!1))}function V(t,e){var n=t/w.xaxis._m,a=e/w.yaxis._m,i=[(u={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,u.b,u.c].sort(),o=i.indexOf(u.a),s=i.indexOf(u.b),l=i.indexOf(u.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),u={a:i[o],b:i[s],c:i[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var h="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var f="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",f),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w),P.emit("plotly_relayouting",I(u))}function U(){i.call("_guiRelayout",P,I(u))}T.onmousemove=function(t){g.hover(P,t,w.id),P._fullLayout._lasthover=T,P._fullLayout._hoversubplot=w.id},T.onmouseout=function(t){P._dragging||d.unhover(P,t)},d.init(z)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../components/titles":678,"../../lib":716,"../../lib/extend":707,"../../registry":845,"../cartesian/axes":764,"../cartesian/constants":770,"../cartesian/select":781,"../cartesian/set_convert":782,"../plots":825,d3:164,tinycolor2:535}],845:[function(t,e,r){"use strict";var n=t("./lib/loggers"),a=t("./lib/noop"),i=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/dom").addStyleRule,l=t("./lib/extend"),c=t("./plots/attributes"),u=t("./plots/layout_attributes"),h=l.extendFlat,f=l.extendDeepAll;function p(t){var e=t.name,a=t.categories,i=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var a in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(a,t.name)}(t.basePlotModule);for(var o={},l=0;l<a.length;l++)o[a[l]]=!0,r.allCategories[a[l]]=!0;for(var c in r.modules[e]={_module:t,categories:o},i&&Object.keys(i).length&&(r.modules[e].meta=i),r.allTypes.push(e),r.componentsRegistry)y(c,e);t.layoutAttributes&&h(r.traceLayoutAttributes,t.layoutAttributes);var u=t.basePlotModule,f=u.name;if("mapbox"===f){var p=u.constants.styleRules;for(var d in p)s(".js-plotly-plot .plotly .mapboxgl-"+d,p[d])}"geo"!==f&&"mapbox"!==f||void 0===typeof window||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if("string"!=typeof t.name)throw new Error("Component module *name* must be a string.");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&i(r.layoutArrayContainers,e),m(t)),r.modules)y(e,n);for(var a in r.subplotsRegistry)b(e,a);for(var o in r.transformsRegistry)x(e,o);t.schema&&t.schema.layout&&f(u,t.schema.layout)}function g(t){if("string"!=typeof t.name)throw new Error("Transform module *name* must be a string.");var e="Transform module "+t.name,a="function"==typeof t.transform,i="function"==typeof t.calcTransform;if(!a&&!i)throw new Error(e+" is missing a *transform* or *calcTransform* method.");for(var s in a&&i&&n.log([e+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),o(t.attributes)||n.log(e+" registered without an *attributes* object."),"function"!=typeof t.supplyDefaults&&n.log(e+" registered without a *supplyDefaults* method."),r.transformsRegistry[t.name]=t,r.componentsRegistry)x(s,t.name)}function v(t){var e=t.name,n=e.split("-")[0],a=t.dictionary,i=t.format,o=a&&Object.keys(a).length,s=i&&Object.keys(i).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=a),s&&u.format===c.format&&(u.format=i)}o&&(c.dictionary=a),s&&(c.format=i)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)i(r.layoutArrayRegexes,e[n])}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var a=n.traces[e];a&&f(r.modules[e]._module.attributes,a)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var a=n.transforms[e];a&&f(r.transformsRegistry[e].attributes,a)}}function b(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var a=r.subplotsRegistry[e],i=a.layoutAttributes,o="subplot"===a.attr?a.name:a.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];i&&s&&f(i,s)}}function _(t){return"object"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.collectableSubplotTypes=null,r.register=function(t){if(r.collectableSubplotTypes=null,!t)throw new Error("No argument passed to Plotly.register.");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":p(n);break;case"transform":g(n);break;case"component":d(n);break;case"locale":v(n);break;case"apiMethod":var a=n.name;r.apiMethodRegistry[a]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}},r.getModule=function(t){var e=r.modules[_(t)];return!!e&&e._module},r.traceIs=function(t,e){if("various"===(t=_(t)))return!1;var a=r.modules[t];return a||(t&&"area"!==t&&n.log("Unrecognized trace type "+t+"."),a=r.modules[c.type.dflt]),!!a.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],a=0;a<n.length;a++)n[a].type===e&&r.push(a);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||a},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{"./lib/dom":705,"./lib/extend":707,"./lib/is_plain_object":717,"./lib/loggers":720,"./lib/noop":725,"./lib/push_unique":730,"./plots/attributes":761,"./plots/layout_attributes":816}],846:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib"),i=a.extendFlat,o=a.extendDeep;function s(t){var e;switch(t){case"themes__thumb":e={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":e={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var a,l=t.data,c=t.layout,u=o([],l),h=o({},c,s(e.tileClass)),f=t._context||{};if(e.width&&(h.width=e.width),e.height&&(h.height=e.height),"thumbnail"===e.tileClass||"themes__thumb"===e.tileClass){h.annotations=[];var p=Object.keys(h);for(r=0;r<p.length;r++)a=p[r],["xaxis","yaxis","zaxis"].indexOf(a.slice(0,5))>-1&&(h[p[r]].title={text:""});for(r=0;r<u.length;r++){var d=u[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,"pie-like")&&(d.textposition="none")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var g=Object.keys(h).filter(function(t){return t.match(/^scene\d*$/)});if(g.length){var v={};for("thumbnail"===e.tileClass&&(v={title:{text:""},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<g.length;r++){var m=h[g[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,v),i(m.yaxis,v),i(m.zaxis,v),m._scene=null}}var y=document.createElement("div");e.tileClass&&(y.className=e.tileClass);var x={gd:y,td:y,layout:h,data:u,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:f.mapboxAccessToken}};return"transparent"!==e.setBackground&&(x.config.setBackground=e.setBackground||"opaque"),x.gd.defaultLayout=s(e.tileClass),x}},{"../lib":716,"../registry":845}],847:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/to_image"),i=t("./filesaver"),o=t("./helpers");e.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||"png",e.imageDataOnly=!0,new Promise(function(s,l){r&&r._snapshotInProgress&&l(new Error("Snapshotting already in progress.")),n.isIE()&&"svg"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var c=a(t,e),u=e.filename||t.fn||"newplot";u+="."+e.format,c.then(function(t){return r&&(r._snapshotInProgress=!1),i(t,u,e.format)}).then(function(t){s(t)}).catch(function(t){r&&(r._snapshotInProgress=!1),l(t)})})}},{"../lib":716,"../plot_api/to_image":757,"./filesaver":848,"./helpers":849}],848:[function(t,e,r){"use strict";var n=t("../lib"),a=t("./helpers");e.exports=function(t,e,r){var i=document.createElement("a"),o="download"in i;return new Promise(function(s,l){var c,u;if(n.isIE9orBelow()&&l(new Error("IE < 10 unsupported")),n.isSafari()){var h="svg"===r?",":";base64,";return a.octetStream(h+encodeURIComponent(t)),s(e)}return n.isIE()?(c=a.createBlob(t,"svg"),window.navigator.msSaveBlob(c,e),c=null,s(e)):o?(c=a.createBlob(t,r),u=a.createObjectURL(c),i.href=u,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),a.revokeObjectURL(u),c=null,s(e)):void l(new Error("download error"))})}},{"../lib":716,"./helpers":849}],849:[function(t,e,r){"use strict";var n=t("../registry");r.getDelay=function(t){return t._has&&(t._has("gl3d")||t._has("gl2d")||t._has("mapbox"))?500:0},r.getRedrawFunc=function(t){return function(){var e=t._fullLayout||{};!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r||n.getComponentMethod("colorbar","draw")(t)}},r.encodeSVG=function(t){return"data:image/svg+xml,"+encodeURIComponent(t)};var a=window.URL||window.webkitURL;r.createObjectURL=function(t){return a.createObjectURL(t)},r.revokeObjectURL=function(t){return a.revokeObjectURL(t)},r.createBlob=function(t,e){if("svg"===e)return new window.Blob([t],{type:"image/svg+xml;charset=utf-8"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),a=0;a<e;a++)n[a]=t.charCodeAt(a);return r}(window.atob(t));return new window.Blob([r],{type:"image/"+e})},r.octetStream=function(t){document.location.href="data:application/octet-stream"+t},r.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/,r.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."},{"../registry":845}],850:[function(t,e,r){"use strict";var n=t("./helpers"),a={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t("./cloneplot"),toSVG:t("./tosvg"),svgToImg:t("./svgtoimg"),toImage:t("./toimage"),downloadImage:t("./download")};e.exports=a},{"./cloneplot":846,"./download":847,"./helpers":849,"./svgtoimg":851,"./toimage":852,"./tosvg":853}],851:[function(t,e,r){"use strict";var n=t("../lib"),a=t("events").EventEmitter,i=t("./helpers");e.exports=function(t){var e=t.emitter||new a,r=new Promise(function(a,o){var s=window.Image,l=t.svg,c=t.format||"png";if(n.isIE()&&"svg"!==c){var u=new Error(i.MSG_IE_BAD_FORMAT);return o(u),t.promise?r:e.emit("error",u)}var h,f,p=t.canvas,d=t.scale||1,g=t.width||300,v=t.height||150,m=d*g,y=d*v,x=p.getContext("2d"),b=new s;"svg"===c||n.isIE9orBelow()||n.isSafari()?f=i.encodeSVG(l):(h=i.createBlob(l,"svg"),f=i.createObjectURL(h)),p.width=m,p.height=y,b.onload=function(){var r;switch(h=null,i.revokeObjectURL(f),"svg"!==c&&x.drawImage(b,0,0,m,y),c){case"jpeg":r=p.toDataURL("image/jpeg");break;case"png":r=p.toDataURL("image/png");break;case"webp":r=p.toDataURL("image/webp");break;case"svg":r=f;break;default:var n="Image format is not jpeg, png, svg or webp.";if(o(new Error(n)),!t.promise)return e.emit("error",n)}a(r),t.promise||e.emit("success",r)},b.onerror=function(r){if(h=null,i.revokeObjectURL(f),o(r),!t.promise)return e.emit("error",r)},b.src=f});return t.promise?r:e}},{"../lib":716,"./helpers":849,events:105}],852:[function(t,e,r){"use strict";var n=t("events").EventEmitter,a=t("../registry"),i=t("../lib"),o=t("./helpers"),s=t("./cloneplot"),l=t("./tosvg"),c=t("./svgtoimg");e.exports=function(t,e){var r=new n,u=s(t,{format:"png"}),h=u.gd;h.style.position="absolute",h.style.left="-5000px",document.body.appendChild(h);var f=o.getRedrawFunc(h);return a.call("plot",h,u.data,u.layout,u.config).then(f).then(function(){var t=o.getDelay(h._fullLayout);setTimeout(function(){var t=l(h),n=document.createElement("canvas");n.id=i.randstr(),(r=c({format:e.format,width:h._fullLayout.width,height:h._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){h&&document.body.removeChild(h)}},t)}).catch(function(t){r.emit("error",t)}),r}},{"../lib":716,"../registry":845,"./cloneplot":846,"./helpers":849,"./svgtoimg":851,"./tosvg":853,events:105}],853:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../components/drawing"),o=t("../components/color"),s=t("../constants/xmlns_namespaces"),l=/"/g,c=new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")',"g");e.exports=function(t,e,r){var u,h=t._fullLayout,f=h._paper,p=h._toppaper,d=h.width,g=h.height;f.insert("rect",":first-child").call(i.setRect,0,0,d,g).call(o.fill,h.paper_bgcolor);var v=h._basePlotModules||[];for(u=0;u<v.length;u++){var m=v[u];m.toSVG&&m.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&f.node().appendChild(b)}}h._draggers&&h._draggers.remove(),f.node().style.background="",f.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each(function(){var t=n.select(this);if("hidden"!==this.style.visibility&&"none"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('"')&&t.style("font-family",e.replace(l,"TOBESTRIPPED"))}else t.remove()}),f.selectAll(".point, .scatterpts, .legendfill>path, .legendlines>path, .cbfill").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,"TOBESTRIPPED"))}),"pdf"!==e&&"eps"!==e||f.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),f.node().setAttributeNS(s.xmlns,"xmlns",s.svg),f.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(f.attr("width",r*d),f.attr("height",r*g),f.attr("viewBox","0 0 "+d+" "+g));var _=(new window.XMLSerializer).serializeToString(f.node());return _=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,function(t){return"&lt;"===t?"&#60;":"&rt;"===t?"&#62;":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&amp;")).replace(c,"'"),a.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":591,"../components/drawing":612,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],854:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var a=e.marker;if(a){n.mergeArray(a.opacity,t,"mo",!0),n.mergeArray(a.color,t,"mc");var i=a.line;i&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"))}}},{"../../lib":716}],855:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/font_attributes"),l=t("./constants"),c=t("../../lib/extend").extendFlat,u=s({editType:"calc",arrayOk:!0,colorEditType:"style"}),h=c({},n.marker.line.width,{dflt:0}),f=c({width:h,editType:"calc"},o("marker.line")),p=c({line:f,editType:"calc"},o("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,texttemplate:i({editType:"plot"},{keys:l.eventDataKeys}),hovertext:n.hovertext,hovertemplate:a({},{keys:l.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"none",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:c({},n.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:p,offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:"style"},textfont:n.selected.textfont,editType:"style"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:"style"},textfont:n.unselected.textfont,editType:"style"},r:n.r,t:n.t,_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/font_attributes":790,"../../plots/template_attributes":840,"../scatter/attributes":1118,"./constants":857}],856:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),o=t("./arrays_to_calcdata"),s=t("../scatter/calc_selection");e.exports=function(t,e){var r,l,c=n.getFromId(t,e.xaxis||"x"),u=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=c.makeCalcdata(e,"x"),l=u.makeCalcdata(e,"y")):(r=u.makeCalcdata(e,"y"),l=c.makeCalcdata(e,"x"));for(var h=Math.min(l.length,r.length),f=new Array(h),p=0;p<h;p++)f[p]={p:l[p],s:r[p]},e.ids&&(f[p].id=String(e.ids[p]));return a(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),a(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),o(f,e),s(f,e),f}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120,"./arrays_to_calcdata":854}],857:[function(t,e,r){"use strict";e.exports={TEXTPAD:3,eventDataKeys:["value","label"]}},{}],858:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("../../constants/numerical").BADNUM,o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../../plots/cartesian/axis_ids").getAxisGroup,c=t("./sieve.js");function u(t,e,r,o,u){if(o.length){var b,_,w,k;switch(function(t,e){var r,i;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,c="funnel"===l.type?l._base:l.base,u="h"===l.orientation?l.xcalendar:l.ycalendar,h="category"===t.type||"multicategory"===t.type?function(){return null}:t.d2c;if(a(c)){for(i=0;i<Math.min(c.length,s.length);i++)o=h(c[i],0,u),n(o)?(s[i].b=+o,s[i].hasB=1):s[i].b=0;for(;i<s.length;i++)s[i].b=0}else{o=h(c,0,u);var f=n(o);for(o=f?o:0,i=0;i<s.length;i++)s[i].b=o,f&&(s[i].hasB=1)}}}(r,o),u.mode){case"overlay":h(e,r,o,u);break;case"group":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.offset?_.push(k):b.push(k);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:!1,overlapNoMerge:!a.norm});(function(t,e,r,n){for(var a=t._fullLayout,i=r.positions,o=r.distinctPositions,s=r.minDiff,c=r.traces,u=c.length,h=i.length!==o.length,f=s*(1-n.gap),v=l(a,e._id)+c[0][0].trace.orientation,m=a._alignmentOpts[v]||{},y=0;y<u;y++){var x,b,_=c[y],w=_[0].trace,k=m[w.alignmentgroup]||{},T=Object.keys(k.offsetGroups||{}).length,A=(x=T?f/T:h?f/u:f)*(1-(n.groupgap||0));b=T?((2*w._offsetIndex+1-T)*x-A)/2:h?((2*y+1-u)*x-A)/2:-A/2;var M=_[0].t;M.barwidth=A,M.poffset=b,M.bargroupwidth=f,M.bardelta=s}r.binWidth=c[0][0].t.barwidth/100,p(r),d(e,r),g(e,r,h)})(t,e,o,a),function(t){for(var e=t.traces,r=0;r<e.length;r++){var n=e[r],a=n[0].trace;if(void 0===a.base)for(var o=new c([n],{sepNegVal:!0,overlapNoMerge:!0}),s=0;s<n.length;s++){var l=n[s];if(l.p!==i){var u=o.put(l.p,l.b+l.s);u&&(l.b=u)}}}}(o),a.norm?(m(o),y(r,o,a)):v(r,o)}(t,e,r,_,u),b.length&&h(e,r,b,u);break;case"stack":case"relative":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.base?_.push(k):b.push(k);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:"relative"===a.mode,overlapNoMerge:!(a.norm||"stack"===a.mode||"relative"===a.mode)});f(e,o,a),function(t,e,r){var n,a,o,l,c,u,h=x(t),f=e.traces;for(l=0;l<f.length;l++)if(n=f[l],"funnel"===(a=n[0].trace).type)for(c=0;c<n.length;c++)(u=n[c]).s!==i&&e.put(u.p,-.5*u.s);for(l=0;l<f.length;l++){n=f[l],a=n[0].trace,o="funnel"===a.type;var p=[];for(c=0;c<n.length;c++)if((u=n[c]).s!==i){var d;d=o?u.s:u.s+u.b;var g=e.put(u.p,d),v=g+d;u.b=g,u[h]=v,r.norm||(p.push(v),u.hasB&&p.push(g))}r.norm||(a._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,a);for(var l=0;l<n.length;l++)for(var u=n[l],h=0;h<u.length;h++){var p=u[h];if(p.s!==i){var d=p.b+p.s===o.get(p.p,p.s);d&&(p._outmost=!0)}}a.norm&&y(r,o,a)}(0,e,r,_,u),b.length&&h(e,r,b,u)}!function(t,e){var r,a,i,o=x(e),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(i=t[r],a=0;a<i.length;a++){var u=i[a].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var h=1e4/(c-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(r=0;r<t.length;r++){(i=t[r])[0].t.extents=s;var p=i[0].t.poffset,d=Array.isArray(p);for(a=0;a<i.length;a++){var g=i[a],v=g[o]-g.w/2;if(n(v)){var m=g[o]+g.w/2,y=f(g.p);s[y]?s[y]=[Math.min(v,s[y][0]),Math.max(m,s[y][1])]:s[y]=[v,m]}g.p0=g.p+(d?p[a]:p),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}}(o,e)}}function h(t,e,r,n){for(var a=0;a<r.length;a++){var i=r[a],o=new c([i],{sepNegVal:!1,overlapNoMerge:!n.norm});f(t,o,n),n.norm?(m(o),y(e,o,n)):v(e,o)}}function f(t,e,r){for(var n=e.minDiff,a=e.traces,i=n*(1-r.gap),o=i*(1-(r.groupgap||0)),s=-o/2,l=0;l<a.length;l++){var c=a[l][0].t;c.barwidth=o,c.poffset=s,c.bargroupwidth=i,c.bardelta=n}e.binWidth=a[0][0].t.barwidth/100,p(e),d(t,e),g(t,e)}function p(t){var e,r,i=t.traces;for(e=0;e<i.length;e++){var o,s=i[e],l=s[0],c=l.trace,u=l.t,h=c._offset||c.offset,f=u.poffset;if(a(h)){for(o=Array.prototype.slice.call(h,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=f);for(r=o.length;r<s.length;r++)o.push(f);u.poffset=o}else void 0!==h&&(u.poffset=h);var p=c._width||c.width,d=u.barwidth;if(a(p)){var g=Array.prototype.slice.call(p,0,s.length);for(r=0;r<g.length;r++)n(g[r])||(g[r]=d);for(r=g.length;r<s.length;r++)g.push(d);if(u.barwidth=g,void 0===h){for(o=[],r=0;r<s.length;r++)o.push(f+(d-g[r])/2);u.poffset=o}}else void 0!==p&&(u.barwidth=p,void 0===h&&(u.poffset=f+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++)for(var i=r[a],o=i[0].t,s=o.poffset,l=Array.isArray(s),c=o.barwidth,u=Array.isArray(c),h=0;h<i.length;h++){var f=i[h],p=f.w=u?c[h]:c;f[n]=f.p+(l?s[h]:s)+p/2}}function g(t,e,r){var n=e.traces,a=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var i=0;i<n.length;i++){var o,l,c,u,h=n[i],f=h[0],p=f.trace,d=[];for(u=0;u<h.length;u++)l=(o=h[u]).p-a,c=o.p+a,d.push(l,c);if(p.width||p.offset){var g=f.t,v=g.poffset,m=g.barwidth,y=Array.isArray(v),x=Array.isArray(m);for(u=0;u<h.length;u++){o=h[u];var b=y?v[u]:v,_=x?m[u]:m;c=(l=o.p+b)+_,d.push(l,c)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function v(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++){for(var i=r[a],o=i[0].trace,l=[],c=!0,u=0;u<i.length;u++){var h=i[u],f=h.b,p=f+h.s;h[n]=p,l.push(p),h.hasB&&l.push(f),h.hasB&&h.b>0&&h.s>0||(c=!1)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:!c,padded:!0})}}function m(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++){var o=n[a];o.s!==i&&t.put(o.p,o.b+o.s)}}function y(t,e,r){var a=e.traces,o=x(t),l="fraction"===r.norm?1:100,c=l/1e9,u=t.l2c(t.c2l(0)),h="stack"===r.mode?l:u;function f(e){return n(t.c2l(e))&&(e<u-c||e>h+c||!n(u))}for(var p=0;p<a.length;p++){for(var d=a[p],g=d[0].trace,v=[],m=!0,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==i){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var k=_.b,T=k+_.s;_[o]=T,v.push(T),y=y||f(T),_.hasB&&(v.push(k),y=y||f(k)),_.hasB&&_.b>0&&_.s>0||(m=!1)}}g._extremes[t._id]=s.findExtremes(t,v,{tozero:!m,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,a=t._fullLayout,i=t._fullData,s=t.calcdata,l=[],c=[],h=0;h<i.length;h++){var f=i[h];!0===f.visible&&o.traceIs(f,"bar")&&f.xaxis===r._id&&f.yaxis===n._id&&("h"===f.orientation?l.push(s[h]):c.push(s[h]))}var p={mode:a.barmode,norm:a.barnorm,gap:a.bargap,groupgap:a.bargroupgap};u(t,r,n,c,p),u(t,n,r,l,p)},setGroupPositions:u}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767,"../../registry":845,"./sieve.js":868,"fast-isnumeric":227}],859:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../registry"),o=t("../scatter/xy_defaults"),s=t("./style_defaults"),l=t("../../plots/cartesian/axis_ids").getAxisGroup,c=t("./attributes"),u=n.coerceFont;function h(t,e,r,n){var a=e.orientation,i=e[{v:"x",h:"y"}[a]+"axis"],o=l(r,i)+a,s=r._alignmentOpts||{},c=n("alignmentgroup"),u=s[o];u||(u=s[o]={});var h=u[c];h?h.traces.push(e):h=u[c]={traces:[e],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var f=n("offsetgroup"),p=h.offsetGroups,d=p[f];f&&(d||(d=p[f]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}function f(t,e,r,a,i,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),h=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=Array.isArray(i)||"auto"===i,g=d||"inside"===i,v=d||"outside"===i;if(g||v){var m=u(a,"textfont",r.font),y=n.extendFlat({},m);!(t.textfont&&t.textfont.color)&&delete y.color,u(a,"insidetextfont",y),v&&u(a,"outsidetextfont",m),s&&a("selected.textfont.color"),l&&a("unselected.textfont.color"),c&&a("constraintext"),h&&a("cliponaxis"),f&&a("textangle"),a("texttemplate")}g&&p&&a("insidetextanchor")}e.exports={supplyDefaults:function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}if(o(t,e,l,u)){u("orientation",e.x&&!e.y?"h":"v"),u("base"),u("offset"),u("width"),u("text"),u("hovertext"),u("hovertemplate");var h=u("textposition");f(t,0,l,u,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),s(t,e,u,r,l);var p=(e.marker.line||{}).color,d=i.getComponentMethod("errorbars","supplyDefaults");d(t,e,p||a.defaultLine,{axis:"y"}),d(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1},crossTraceDefaults:function(t,e){var r;function a(t){return n.coerce(r._input,r,c,t)}if("group"===e.barmode)for(var i=0;i<t.length;i++)"bar"===(r=t[i]).type&&(r._input,h(0,r,e,a))},handleGroupingDefaults:h,handleText:f}},{"../../components/color":591,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../scatter/xy_defaults":1144,"./attributes":855,"./style_defaults":870}],860:[function(t,e,r){"use strict";e.exports=function(t,e,r){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),"h"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},{}],861:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("../../lib").isArrayOrTypedArray;r.coerceString=function(t,e,r){if("string"==typeof e){if(e||!t.noBlank)return e}else if(("number"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},r.coerceNumber=function(t,e,r){if(n(e)){e=+e;var a=t.min,i=t.max;if(!(void 0!==a&&e<a||void 0!==i&&e>i))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},r.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:i(t.marker.line.width)?0:t.marker.line.width}},{"../../lib":716,"fast-isnumeric":227,tinycolor2:535}],862:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../registry"),i=t("../../components/color"),o=t("../../lib").fillText,s=t("./helpers").getLineWidth,l=t("../../plots/cartesian/axes").hoverLabelText;function c(t,e,r,a){var i,s,c,u,h,f,p,d=t.cd,g=d[0].trace,v=d[0].t,m="closest"===a,y="waterfall"===g.type,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[c]-t.w/2}function w(t){return t[c]+t.w/2}var k=m?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},T=m?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-i,e-i,x+Math.min(1,Math.abs(e-t)/p)-1)}function M(t){return A(k(t),T(t))}function S(t){var e=s,r=t.b,a=t[u];return y&&(a+=Math.abs(t.rawS||0)),n.inbox(r-e,a-e,x+(a-e)/(a-r)-1)}"h"===g.orientation?(i=r,s=e,c="y",u="x",h=S,f=M):(i=e,s=r,c="x",u="y",f=S,h=M);var E=t[c+"a"],L=t[u+"a"];p=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var C=n.getDistanceFunction(a,h,f,function(t){return(h(t)+f(t))/2});if(n.getClosest(d,C,t),!1!==t.index){m||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},T=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var P=d[t.index],O=g.base?P.b+P.s:P.s;t[u+"0"]=t[u+"1"]=L.c2p(P[u],!0),t[u+"LabelVal"]=O;var z=v.extents[v.extents.round(P.p)];return t[c+"0"]=E.c2p(m?k(P):z[0],!0),t[c+"1"]=E.c2p(m?T(P):z[1],!0),t[c+"LabelVal"]=P.p,t.labelLabel=l(E,t[c+"LabelVal"]),t.valueLabel=l(L,t[u+"LabelVal"]),t.spikeDistance=(S(P)+function(t){return A(_(t),w(t))}(P))/2+b-x,t[c+"Spike"]=E.c2p(P.p,!0),o(P,g,t),t.hovertemplate=g.hovertemplate,t}}function u(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,a=s(t,e);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}e.exports={hoverPoints:function(t,e,r,n){var i=c(t,e,r,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=u(s,l),a.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}},hoverOnBars:c,getTraceColor:u}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./helpers":861}],863:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,colorbar:t("../scatter/marker_colorbar"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"bar",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},{"../../plots/cartesian":775,"../scatter/marker_colorbar":1136,"./arrays_to_calcdata":854,"./attributes":855,"./calc":856,"./cross_trace_calc":858,"./defaults":859,"./event_data":860,"./hover":862,"./layout_attributes":864,"./layout_defaults":865,"./plot":866,"./select":867,"./style":869}],864:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],865:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/cartesian/axes"),i=t("../../lib"),o=t("./layout_attributes");e.exports=function(t,e,r){function s(r,n){return i.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,h={},f=s("barmode"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,"bar")&&d.visible){if(l=!0,"group"===f){var g=d.xaxis+d.yaxis;h[g]&&(u=!0),h[g]=!0}if(d.visible&&"histogram"===d.type)"category"!==a.getFromId({_fullLayout:e},d["v"===d.orientation?"xaxis":"yaxis"]).type&&(c=!0)}}l?("overlay"!==f&&s("barnorm"),s("bargap",c&&!u?0:.2),s("bargroupgap")):delete e.barmode}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./layout_attributes":864}],866:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../../registry"),u=t("../../plots/cartesian/axes").tickText,h=t("./style"),f=t("./helpers"),p=t("./constants"),d=t("./attributes"),g=d.text,v=d.textposition,m=t("../../components/fx/helpers").appendArrayPointValue,y=p.TEXTPAD;function x(t){return t.id}function b(t){if(t.ids)return x}function _(t,e){return t<e?1:-1}function w(t,e,r){var n;return k(e)?(r&&(n=r()),t.transition().duration(e.duration).ease(e.easing).each("end",function(){n&&n()}).each("interrupt",function(){n&&n()})):t}function k(t){return t&&t.duration>0}function T(t){return"auto"===t?0:t}function A(t,e,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,c=i.anchor||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r),d=f>2*y&&p>2*y?y:0;f-=2*d,p-=2*d;var g=!1;if(!("auto"===l)||u<=f&&h<=p||!(u>f||h>p)||(u>p||h>f)&&u<h==f<p||(g=!0),g){var v=p;p=f,f=v}var m=T(l),x=Math.abs(Math.sin(Math.PI/180*m)),b=Math.abs(Math.cos(Math.PI/180*m)),w=Math.max(f*b,p*x),k=Math.max(f*x,p*b),A=s?Math.min(w/u,k/h):Math.max(b,x);A=Math.min(1,A);var M=(t+e)/2,S=(r+n)/2;"middle"!==c&&(d+=.5*(A*(o!==g?h:u)*x+A*(o!==g?u:h)*b),o?(d*=_(t,e),M="start"===c?t+d:e-d):(d*=_(r,n),S="start"===c?r+d:n-d));return g&&(m+=90),{textX:(a.left+a.right)/2,textY:(a.top+a.bottom)/2,targetX:M,targetY:S,scale:A,rotate:m}}function M(t,e,r,n,a,i){var o,s=!!i.isHorizontal,l=!!i.constrained,c=i.angle||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*y?y:0:f>2*y?y:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var g=T(c);o+=.5*(d*(s?h:u)*Math.abs(Math.sin(Math.PI/180*g))+d*(s?u:h)*Math.abs(Math.cos(Math.PI/180*g)));var v=(t+e)/2,m=(r+n)/2;return s?v=e-o*_(e,t):m=n+o*_(r,n),{textX:(a.left+a.right)/2,textY:(a.top+a.bottom)/2,targetX:v,targetY:m,scale:d,rotate:g}}e.exports={plot:function(t,e,r,p,d,x){var T=e.xaxis,S=e.yaxis,E=t._fullLayout;d||(d={mode:E.barmode,norm:E.barmode,gap:E.bargap,groupgap:E.bargroupgap});var L=i.makeTraceGroups(p,r,"trace bars").each(function(r){var c=n.select(this),p=r[0].trace,E="waterfall"===p.type,L="funnel"===p.type,C="bar"===p.type||L,P=0;E&&p.connector.visible&&"between"===p.connector.mode&&(P=p.connector.line.width/2);var O="h"===p.orientation,z=i.ensureSingle(c,"g","points"),I=b(p),D=z.selectAll("g.point").data(i.identity,I);D.enter().append("g").classed("point",!0),D.exit().remove(),D.each(function(c,b){var E,L,z=n.select(this),I=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),n?[a,i]:[i,a]}(c,T,S,O),D=I[0][0],R=I[0][1],F=I[1][0],B=I[1][1],N=!(D!==R&&F!==B&&a(D)&&a(R)&&a(F)&&a(B));if(N&&C&&f.getLineWidth(p,c)&&(O?R-D==0:B-F==0)&&(N=!1),c.isBlank=N,N&&O&&(R=D),N&&!O&&(B=F),P&&!N&&(O?(D-=_(D,R)*P,R+=_(D,R)*P):(F-=_(F,B)*P,B+=_(F,B)*P)),"waterfall"===p.type){if(!N){var j=p[c.dir].marker;E=j.line.width,L=j.color}}else E=f.getLineWidth(p,c),L=c.mc||p.marker.color;var V=n.round(E/2%1,2);function U(t){return 0===d.gap&&0===d.groupgap?n.round(Math.round(t)-V,2):t}if(!t._context.staticPlot){var q=s.opacity(L)<1||E>.01?U:function(t,e){return Math.abs(t-e)>=2?U(t):t>e?Math.ceil(t):Math.floor(t)};D=q(D,R),R=q(R,D),F=q(F,B),B=q(B,F)}var H=w(i.ensureSingle(z,"path"),d,x);if(H.style("vector-effect","non-scaling-stroke").attr("d","M"+D+","+F+"V"+B+"H"+R+"V"+F+"Z").call(l.setClipUrl,e.layerClipId,t),k(d)){var G=l.makePointStyleFns(p);l.singlePointStyle(c,H,p,G,t)}!function(t,e,r,n,a,s,c,p,d,x,b){var _,k=e.xaxis,T=e.yaxis,S=t._fullLayout;function E(e,r,n){var a=i.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+_,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t);return a}var L=n[0].trace,C="h"===L.orientation,P=function(t,e,r,n,a){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,a){var o=e[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,c,h,f,p="waterfall"===o.type,d="funnel"===o.type;function g(t){return u(f,+t,!0).text}"h"===o.orientation?(l="y",c=a,h="x",f=n):(l="x",c=n,h="y",f=a);var v,y=e[r],x={};x.label=y.p,x.labelLabel=x[l+"Label"]=(v=y.p,u(c,v,!0).text);var b=i.castOption(o,y.i,"text");(0===b||b)&&(x.text=b),x.value=y.s,x.valueLabel=x[h+"Label"]=g(y.s);var _={};m(_,o,y.i),p&&(x.delta=+y.rawS||y.s,x.deltaLabel=g(x.delta),x.final=y.v,x.finalLabel=g(x.final),x.initial=x.final-x.delta,x.initialLabel=g(x.initial)),d&&(x.value=y.s,x.valueLabel=g(x.value),x.percentInitial=y.begR,x.percentInitialLabel=i.formatPercent(y.begR),x.percentPrevious=y.difR,x.percentPreviousLabel=i.formatPercent(y.difR),x.percentTotal=y.sumR,x.percenTotalLabel=i.formatPercent(y.sumR));var w=i.castOption(o,y.i,"customdata");return w&&(x.customdata=w),i.texttemplateString(s,x,t._d3locale,_,x,o._meta||{})}(t,e,r,n,a):s.textinfo?function(t,e,r,n){var a=t[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function c(t){var e=o?r:n;return u(e,+t,!0).text}var h,f,p=a.textinfo,d=t[e],g=p.split("+"),v=[],m=function(t){return-1!==g.indexOf(t)};if(m("label")&&v.push((f=t[e].p,u(o?n:r,f,!0).text)),m("text")&&(0===(h=i.castOption(a,d.i,"text"))||h)&&v.push(h),s){var y=+d.rawS||d.s,x=d.v,b=x-y;m("initial")&&v.push(c(b)),m("delta")&&v.push(c(y)),m("final")&&v.push(c(x))}if(l){m("value")&&v.push(c(d.s));var _=0;m("percent initial")&&_++,m("percent previous")&&_++,m("percent total")&&_++;var w=_>1;m("percent initial")&&(h=i.formatPercent(d.begR),w&&(h+=" of initial"),v.push(h)),m("percent previous")&&(h=i.formatPercent(d.difR),w&&(h+=" of previous"),v.push(h)),m("percent total")&&(h=i.formatPercent(d.sumR),w&&(h+=" of total"),v.push(h))}return v.join("<br>")}(e,r,n,a):f.getValue(s.text,r),f.coerceString(g,o)}(S,n,a,k,T);_=function(t,e){var r=f.getValue(t.textposition,e);return f.coerceEnumerated(v,r)}(L,a);var O="stack"===x.mode||"relative"===x.mode,z=n[a],I=!O||z._outmost;if(P&&"none"!==_&&(!z.isBlank&&s!==c&&p!==d||"auto"!==_&&"inside"!==_)){var D=S.font,R=h.getBarColor(n[a],L),F=h.getInsideTextFont(L,a,D,R),B=h.getOutsideTextFont(L,a,D),N=r.datum();C?"log"===k.type&&N.s0<=0&&(s=k.range[0]<k.range[1]?0:k._length):"log"===T.type&&N.s0<=0&&(p=T.range[0]<T.range[1]?T._length:0);var j,V,U,q,H,G,Y=Math.abs(c-s)-2*y,W=Math.abs(d-p)-2*y;if("outside"===_&&(I||z.hasB||(_="inside")),"auto"===_)if(I){_="inside",j=E(r,P,F),V=l.bBox(j.node()),U=V.width,q=V.height;var X=U>0&&q>0,Z=U<=Y&&q<=W,J=U<=W&&q<=Y,K=C?Y>=U*(W/q):W>=q*(Y/U);X&&(Z||J||K)?_="inside":(_="outside",j.remove(),j=null)}else _="inside";if(!j){var Q=(j=E(r,P,"outside"===_?B:F)).attr("transform");if(j.attr("transform",""),V=l.bBox(j.node()),U=V.width,q=V.height,j.attr("transform",Q),U<=0||q<=0)return void j.remove()}"outside"===_?(G="both"===L.constraintext||"outside"===L.constraintext,H=i.getTextTransform(M(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle}))):(G="both"===L.constraintext||"inside"===L.constraintext,H=i.getTextTransform(A(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle,anchor:L.insidetextanchor}))),w(j,x,b).attr("transform",H)}else r.select("text").remove()}(t,e,z,r,b,D,R,F,B,d,x),e.layerClipId&&l.hideOutsideRangePoint(c,z.select("text"),T,S,p.xcalendar,p.ycalendar)});var R=!1===p.cliponaxis;l.setClipUrl(c,R?null:e.layerClipId,t)});c.getComponentMethod("errorbars","plot")(t,L,e,d)},toMoveInsideBar:A,toMoveOutsideBar:M}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx/helpers":626,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"./attributes":855,"./constants":857,"./helpers":861,"./style":869,d3:164,"fast-isnumeric":227}],867:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return a?[(i+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(i+o)/2,l]}e.exports=function(t,e){var r,a=t.cd,i=t.xaxis,o=t.yaxis,s=a[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===e)for(r=0;r<a.length;r++)a[r].selected=0;else for(r=0;r<a.length;r++){var h=a[r],f="ct"in h?h.ct:n(h,i,o,c,l);e.contains(f,!1,r,t)?(u.push({pointNumber:r,x:i.c2d(h.x),y:o.c2d(h.y)}),h.selected=1):h.selected=0}return u}},{}],868:[function(t,e,r){"use strict";e.exports=i;var n=t("../../lib").distinctVals,a=t("../../constants/numerical").BADNUM;function i(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,i=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var c=s[l];c.p!==a&&i.push(c.p)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=i;var u=n(i);this.distinctPositions=u.vals,1===u.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(u.minDiff,r),this.binWidth=this.minDiff,this.bins={}}i.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},i.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},i.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?"v":"^")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},{"../../constants/numerical":692,"../../lib":716}],869:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../registry"),l=t("./attributes"),c=l.textfont,u=l.insidetextfont,h=l.outsidetextfont,f=t("./helpers");function p(t,e,r){i.pointStyle(t.selectAll("path"),e,r),d(t,e,r)}function d(t,e,r){t.selectAll("text").each(function(t){var a=n.select(this),o=g(a,t,e,r);i.font(a,o)})}function g(t,e,r,n){var a=n._fullLayout.font,i=r.textfont;if(t.classed("bartext-inside")){var o=b(e,r);i=m(r,e.i,a,o)}else t.classed("bartext-outside")&&(i=y(r,e.i,a));return i}function v(t,e,r){return x(c,t.textfont,e,r)}function m(t,e,r,n){var i=v(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(i={color:a.contrast(n),family:i.family,size:i.size}),x(u,t.insidetextfont,e,i)}function y(t,e,r){var n=v(t,e,r);return x(h,t.outsidetextfont,e,n)}function x(t,e,r,n){e=e||{};var a=f.getValue(e.family,r),i=f.getValue(e.size,r),o=f.getValue(e.color,r);return{family:f.coerceString(t.family,a,n.family),size:f.coerceNumber(t.size,i,n.size),color:f.coerceColor(t.color,o,n.color)}}function b(t,e){return"waterfall"===e.type?e[t.dir].marker.color:t.mc||e.marker.color}e.exports={style:function(t){var e=n.select(t).selectAll("g.barlayer").selectAll("g.trace"),r=e.size(),a=t._fullLayout;e.style("opacity",function(t){return t[0].trace.opacity}).each(function(t){("stack"===a.barmode&&r>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),e.selectAll("g.points").each(function(e){p(n.select(this),e[0].trace,t)}),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:d,styleOnSelect:function(t,e,r){var a=e[0].trace;a.selectedpoints?function(t,e,r){i.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each(function(t){var a,s=n.select(this);if(t.selected){a=o.extendFlat({},g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(a.color=l),i.font(s,a)}else i.selectedTextStyle(s,e)})}(t.selectAll("text"),e,r)}(r,a,t):(p(r,a,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:y,getBarColor:b}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../registry":845,"./attributes":855,"./helpers":861,d3:164}],870:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),a(t,"marker")&&i(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),a(t,"marker.line")&&i(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602}],871:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../lib/extend").extendFlat,i=t("../scatterpolar/attributes"),o=t("../bar/attributes");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:a({},o.base,{}),offset:a({},o.offset,{}),width:a({},o.width,{}),text:a({},o.text,{}),hovertext:a({},o.hovertext,{}),marker:o.marker,hoverinfo:i.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatterpolar/attributes":1190}],872:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),i=t("../bar/arrays_to_calcdata"),o=t("../bar/cross_trace_calc").setGroupPositions,s=t("../scatter/calc_selection"),l=t("../../registry").traceIs,c=t("../../lib").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,"r"),h=c.makeCalcdata(e,"theta"),f=e._length,p=new Array(f),d=u,g=h,v=0;v<f;v++)p[v]={p:g[v],s:d[v]};function m(t){var r=e[t];void 0!==r&&(e["_"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return"linear"===c.type&&(m("width"),m("offset")),n(e,"marker")&&a(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&a(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),i(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,a=[],i=0;i<n.length;i++){var s=n[i],u=s[0].trace;!0===u.visible&&l(u,"bar")&&u.subplot===r&&a.push(s)}var h=c({},e.radialaxis,{_id:"x"}),f=e.angularaxis;o(t,f,h,a,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../lib":716,"../../registry":845,"../bar/arrays_to_calcdata":854,"../bar/cross_trace_calc":858,"../scatter/calc_selection":1120}],873:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatterpolar/defaults").handleRThetaDefaults,i=t("../bar/style_defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}a(t,e,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),i(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{"../../lib":716,"../bar/style_defaults":870,"../scatterpolar/defaults":1192,"./attributes":871}],874:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../bar/hover").getTraceColor,o=a.fillText,s=t("../scatterpolar/hover").makeHoverPointText,l=t("../../plots/polar/helpers").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,h=t.subplot,f=h.radialAxis,p=h.angularAxis,d=h.vangles,g=d?l:a.isPtInsideSector,v=t.maxHoverDistance,m=p._period||2*Math.PI,y=Math.abs(f.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);f.range[0]>f.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?v+Math.min(1,Math.abs(t.thetag1-t.thetag0)/m)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0},t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=a.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,h,t),t.hovertemplate=u.hovertemplate,t.color=i(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":629,"../../lib":716,"../../plots/polar/helpers":827,"../bar/hover":862,"../scatterpolar/hover":1194}],875:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("../scatterpolar/format_labels"),style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":828,"../bar/select":867,"../bar/style":869,"../scatter/marker_colorbar":1136,"../scatterpolar/format_labels":1193,"./attributes":871,"./calc":872,"./defaults":873,"./hover":874,"./layout_attributes":876,"./layout_defaults":877,"./plot":878}],876:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],877:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i,o={};function s(r,o){return n.coerce(t[i]||{},e[i],a,r,o)}for(var l=0;l<r.length;l++){var c=r[l];"barpolar"===c.type&&!0===c.visible&&(o[i=c.subplot]||(s("barmode"),s("bargap"),o[i]=1))}}},{"../../lib":716,"./layout_attributes":876}],878:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../components/drawing"),s=t("../../plots/polar/helpers");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,h=e.angularAxis,f=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,a,o,l){var c,u;i.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var h=s.findEnclosingVertexAngles(c,t.vangles)[0],f=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[h,(c+u)/2,f];return s.pathPolygonAnnulus(n,a,c,u,p,e,r)};return function(t,n,a,o){return i.pathAnnulus(t,n,a,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");i.makeTraceGroups(p,r,"trace bars").each(function(){var r=n.select(this),s=i.ensureSingle(r,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each(function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(a(o)&&a(s)&&a(p)&&a(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),v=(p+d)/2;t.ct=[l.c2p(g*Math.cos(v)),c.c2p(g*Math.sin(v))],e=f(o,s,p,d)}else e="M0,0Z";i.ensureSingle(r,"path").attr("d",e)}),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)})}},{"../../components/drawing":612,"../../lib":716,"../../plots/polar/helpers":827,d3:164,"fast-isnumeric":227}],879:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../bar/attributes"),i=t("../../components/color/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../lib/extend").extendFlat,l=n.marker,c=l.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:s({},l.symbol,{arrayOk:!1,editType:"plot"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:s({},l.size,{arrayOk:!1,editType:"calc"}),color:s({},l.color,{arrayOk:!1,editType:"style"}),line:{color:s({},c.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:s({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118}],880:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=a._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx",hovertext:"htx"};for(var a in n)Array.isArray(e[a])&&(t[n[a]]=e[a][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,h,f,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),v=o.getFromId(t,e.yaxis||"y"),m=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,h="x",f=v,p="y"):(u=v,h="y",f=g,p="x");var x,b=u.makeCalcdata(e,h),_=function(t,e,r,i,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||a.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]);return i.map(function(){return l})}(e,p,f,b,d[y]),w=a.distinctVals(_),k=w.vals,T=w.minDiff/2,A=function(t,e){for(var r=t.length,n=new Array(r+1),a=0;a<r;a++)n[a]=t[a]-e;return n[r]=t[r-1]+e,n}(k,T),M=k.length,S=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(M);for(r=0;r<e._length;r++){var E=b[r];if(n(E)){var L=a.findBin(_[r],A);if(L>=0&&L<M){var C={v:E,i:r};s(C,e,r),S[L].push(C)}}}var P="all"===(e.boxpoints||e.points)?a.identity:function(t){return t.v<x.lf||t.v>x.uf};for(r=0;r<M;r++)if(S[r].length>0){var O=S[r].sort(l),z=O.map(c),I=z.length;(x={}).pos=k[r],x.pts=O,x[p]=x.pos,x[h]=x.pts.map(function(t){return t.v}),x.min=z[0],x.max=z[I-1],x.mean=a.mean(z,I),x.sd=a.stdev(z,I,x.mean),x.q1=a.interp(z,.25),x.med=a.interp(z,.5),x.q3=a.interp(z,.75),x.lf=Math.min(x.q1,z[Math.min(a.findBin(2.5*x.q1-1.5*x.q3,z,!0)+1,I-1)]),x.uf=Math.max(x.q3,z[Math.max(a.findBin(2.5*x.q3-1.5*x.q1,z),0)]),x.lo=4*x.q1-3*x.q3,x.uo=4*x.q3-3*x.q1;var D=1.57*(x.q3-x.q1)/Math.sqrt(I);x.ln=x.med-D,x.un=x.med+D,x.pts2=O.filter(P),m.push(x)}!function(t,e){if(a.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},o=0;o<n.length;o++)i[n[o].i]=o;a.tagSelected(n,e,i)}}(m,e);var R=o.findExtremes(u,b,{padded:!0});return e._extremes[u._id]=R,m.length>0?(m[0].t={num:d[y],dPos:T,posLetter:p,valLetter:h,labels:{med:i(t,"median:"),min:i(t,"min:"),q1:i(t,"q1:"),q3:i(t,"q3:"),max:i(t,"max:"),mean:"sd"===e.boxmean?i(t,"mean \xb1 \u03c3:"):i(t,"mean:"),lf:i(t,"lower fence:"),uf:i(t,"upper fence:")}},d[y]++,m):[{t:{empty:!0}}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"fast-isnumeric":227}],881:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids").getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],g=0;for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)d.push(o.c2l(c[l].pos,!0)),g+=(c[l].pts2||[]).length;if(d.length){var v=a.distinctVals(d),m=v.minDiff/2;n.minDtick(o,v.minDiff,v.vals[0],!0);var y=h["violin"===t?"_numViolins":"_numBoxes"],x="group"===h[t+"mode"]&&y>1,b=1-h[t+"gap"],_=1-h[t+"groupgap"];for(s=0;s<r.length;s++){var w,k,T,A,M,S,E=(c=u[r[s]])[0].trace,L=c[0].t,C=E.width,P=E.side;if(C)w=k=A=C/2,T=0;else if(w=m,x){var O=i(h,o._id)+E.orientation,z=(h._alignmentOpts[O]||{})[E.alignmentgroup]||{},I=Object.keys(z.offsetGroups||{}).length,D=I||y;k=w*b*_/D,T=2*w*(((I?E._offsetIndex:L.num)+.5)/D-.5)*b,A=w*b/D}else k=w*b*_,T=0,A=w;L.dPos=w,L.bPos=T,L.bdPos=k,L.wHover=A;var R,F,B,N,j,V,U=T+k,q=Boolean(C);if("positive"===P?(M=w*(C?1:.5),R=U,S=R=T):"negative"===P?(M=R=T,S=w*(C?1:.5),F=U):(M=S=w,R=F=U),(E.boxpoints||E.points)&&g>0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=U*(H+G))>M?(q=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var X=0;H-G<=0&&((X=-U*(H-G))>S?(q=!0,V=Y,N=X):X>F&&(V=Y,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(c.length);for(l=0;l<c.length;l++)Z[l]=c[l].pos;E._extremes[f]=n.findExtremes(o,Z,{padded:q,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:V,y:j}[p],ppadplus:{x:j,y:V}[p]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,a=e.yaxis,i=0;i<o.length;i++){for(var l=o[i],c="h"===l?a:n,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||"box"!==d.type&&"candlestick"!==d.type||p.empty||(d.orientation||"v")!==l||d.xaxis!==n._id||d.yaxis!==a._id||u.push(h)}s("box",t,u,c)}},setPositionOffset:s}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767}],882:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../components/color"),o=t("../bar/defaults").handleGroupingDefaults,s=t("./attributes");function l(t,e,r,i){var o,s,l=r("y"),c=r("x"),u=c&&c.length;if(l&&l.length)o="v",u?s=Math.min(n.minRowLength(c),n.minRowLength(l)):(r("x0"),s=n.minRowLength(l));else{if(!u)return void(e.visible=!1);o="h",r("y0"),s=n.minRowLength(c)}e._length=s,a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],i),r("orientation",o)}function c(t,e,r,a){var i=a.prefix,o=n.coerce2(t,e,s,"marker.outliercolor"),l=r("marker.line.outliercolor"),c=r(i+"points",o||l?"suspectedoutliers":void 0);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var u=r("hoveron");"all"!==u&&-1===u.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,a){function o(r,a){return n.coerce(t,e,s,r,a)}l(t,e,o,a),!1!==e.visible&&(o("line.color",(t.marker||{}).color||r),o("line.width"),o("fillcolor",i.addOpacity(e.line.color,.5)),o("whiskerwidth"),o("boxmean"),o("width"),o("notched",void 0!==t.notchwidth)&&o("notchwidth"),c(t,e,o,{prefix:"box"}))},crossTraceDefaults:function(t,e){var r,a;function i(t){return n.coerce(a._input,a,s,t)}for(var l=0;l<t.length;l++){var c=(a=t[l]).type;"box"!==c&&"violin"!==c||(r=a._input,"group"===e[c+"mode"]&&o(r,a,e,i))}},handleSampleDefaults:l,handlePointsDefaults:c}},{"../../components/color":591,"../../lib":716,"../../registry":845,"../bar/defaults":859,"./attributes":879}],883:[function(t,e,r){"use strict";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],884:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../components/fx"),o=t("../../components/color"),s=a.fillText;function l(t,e,r,s){var l,c,u,h,f,p,d,g,v,m,y,x,b,_,w=t.cd,k=t.xa,T=t.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=[],L=M.bdPos,C=M.wHover,P=function(t){return u.c2l(t.pos)+M.bPos-u.c2l(p)};S&&"both"!==A.side?("positive"===A.side&&(v=function(t){var e=P(t);return i.inbox(e,e+C,m)},x=L,b=0),"negative"===A.side&&(v=function(t){var e=P(t);return i.inbox(e-C,e,m)},x=0,b=L)):(v=function(t){var e=P(t);return i.inbox(e-C,e+C,m)},x=b=L),_=S?function(t){return i.inbox(t.span[0]-f,t.span[1]-f,m)}:function(t){return i.inbox(t.min-f,t.max-f,m)},"h"===A.orientation?(f=e,p=r,d=_,g=v,l="y",u=T,c="x",h=k):(f=r,p=e,d=v,g=_,l="x",u=k,c="y",h=T);var O=Math.min(1,L/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}m=t.maxHoverDistance-O,y=t.maxSpikeDistance-O;var I=i.getDistanceFunction(s,d,g,z);if(i.getClosest(w,I,t),!1===t.index)return[];var D=w[t.index],R=A.line.color,F=(A.marker||{}).color;o.opacity(R)&&A.line.width?t.color=R:o.opacity(F)&&A.boxpoints?t.color=F:t.color=A.fillcolor,t[l+"0"]=u.c2p(D.pos+M.bPos-b,!0),t[l+"1"]=u.c2p(D.pos+M.bPos+x,!0),t[l+"LabelVal"]=D.pos;var B=l+"Spike";t.spikeDistance=z(D)*y/m,t[B]=u.c2p(D.pos,!0);var N={},j=["med","q1","q3","min","max"];(A.boxmean||(A.meanline||{}).visible)&&j.push("mean"),(A.boxpoints||A.points)&&j.push("lf","uf");for(var V=0;V<j.length;V++){var U=j[V];if(U in D&&!(D[U]in N)){N[D[U]]=!0;var q=D[U],H=h.c2p(q,!0),G=a.extendFlat({},t);G.attr=U,G[c+"0"]=G[c+"1"]=H,G[c+"LabelVal"]=q,G[c+"Label"]=(M.labels?M.labels[U]+" ":"")+n.hoverLabelText(h,q),G.hoverOnBox=!0,"mean"===U&&"sd"in D&&"sd"===A.boxmean&&(G[c+"err"]=D.sd),t.name="",t.spikeDistance=void 0,t[B]=void 0,G.hovertemplate=!1,E.push(G)}}return E}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,h=t.ya,f=c[0].trace,p=u.c2p(e),d=h.c2p(r),g=i.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(h.c2p(t.y)-d)-e,1-3/e)}),v=!1,m=0;m<c.length;m++){o=c[m];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,v=[m,y])}}if(!v)return!1;l=(o=c[v[0]]).pts[v[1]];var b,_=u.c2p(l.x,!0),w=h.c2p(l.y,!0),k=l.mrc||1;return n=a.extendFlat({},t,{index:l.i,color:(f.marker||{}).color,name:f.name,x0:_-k,x1:_+k,y0:w-k,y1:w+k,spikeDistance:t.distance,hovertemplate:f.hovertemplate}),"h"===f.orientation?(b=h,n.xLabelVal=l.x,n.yLabelVal=o.pos):(b=u,n.xLabelVal=o.pos,n.yLabelVal=l.y),n[b._id.charAt(0)+"Spike"]=b.c2p(o.pos,!0),s(l,f,n),n}e.exports={hoverPoints:function(t,e,r,n){var a,i=t.cd[0].trace.hoveron,o=[];return-1!==i.indexOf("boxes")&&(o=o.concat(l(t,e,r,n))),-1!==i.indexOf("points")&&(a=c(t,e,r)),"closest"===n?a?[a]:o:a?(o.push(a),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764}],885:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults").supplyLayoutDefaults,calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"box",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"./attributes":879,"./calc":880,"./cross_trace_calc":881,"./defaults":882,"./event_data":883,"./hover":884,"./layout_attributes":886,"./layout_defaults":887,"./plot":888,"./select":889,"./style":890}],886:[function(t,e,r){"use strict";e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},{}],887:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("./layout_attributes");function o(t,e,r,a,i){for(var o=i+"Layout",s=!1,l=0;l<r.length;l++){var c=r[l];if(n.traceIs(c,o)){s=!0;break}}s&&(a(i+"mode"),a(i+"gap"),a(i+"groupgap"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return a.coerce(t,e,i,r,n)},"box")},_supply:o}},{"../../lib":716,"../../registry":845,"./layout_attributes":886}],888:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=5,s=.01;function l(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.wdPos||0,f=i.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var v=t.selectAll("path.box").data("violin"!==r.type||r.box.visible?a.identity:[]);v.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),v.exit().remove(),v.each(function(t){if(t.empty)return"M0,0Z";var e=l.c2l(t.pos+u,!0),i=l.l2p(e)+f,v=l.l2p(e-o)+f,m=l.l2p(e+s)+f,y=l.l2p(e-h)+f,x=l.l2p(e+h)+f,b=l.l2p(e-o*g)+f,_=l.l2p(e+s*g)+f,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),T=a.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,M=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),E=c.c2p(t.ln,!0),L=c.c2p(t.un,!0);"h"===r.orientation?n.select(this).attr("d","M"+T+","+b+"V"+_+"M"+w+","+v+"V"+m+(d?"H"+E+"L"+T+","+_+"L"+L+","+m:"")+"H"+k+"V"+v+(d?"H"+L+"L"+T+","+b+"L"+E+","+v:"")+"ZM"+w+","+i+"H"+M+"M"+k+","+i+"H"+S+(0===p?"":"M"+M+","+y+"V"+x+"M"+S+","+y+"V"+x)):n.select(this).attr("d","M"+b+","+T+"H"+_+"M"+v+","+w+"H"+m+(d?"V"+E+"L"+_+","+T+"L"+m+","+L:"")+"V"+k+"H"+v+(d?"V"+L+"L"+b+","+T+"L"+v+","+E:"")+"ZM"+i+","+w+"V"+M+"M"+i+","+k+"V"+S+(0===p?"":"M"+y+","+M+"H"+x+"M"+y+","+S+"H"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,h=n.bPos,f=r.boxpoints||r.points;a.seedPseudoRandom();var p=t.selectAll("g.points").data(f?function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}:[]);p.enter().append("g").attr("class","points"),p.exit().remove();var d=p.selectAll("path").data(function(t){var e,n,i=t.pts2,l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(i.length),e=0;e<i.length;e++)d[e]=1;else for(e=0;e<i.length;e++){var v=Math.max(0,e-o),m=i[v].v,y=Math.min(i.length-1,e+o),x=i[y].v;"all"!==f&&(i[e].v<t.lf?x=Math.min(x,t.lf):m=Math.max(m,t.uf));var b=Math.sqrt(p*(y-v)/(x-m+c))||0;b=a.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<i.length;e++){var _=i[e],w=_.v,k=r.jitter?n*d[e]*(a.pseudoRandom()-.5):0,T=t.pos+h+u*(r.pointpos+k);"h"===r.orientation?(_.y=T,_.x=w):(_.x=T,_.y=w),"suspectedoutliers"===f&&w<t.uo&&w>t.lo&&(_.so=!0)}return i});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(i.translatePoints,l,c)}function u(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.bPosPxOffset||0,f=r.boxmean||(r.meanline||{}).visible;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?a.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each(function(t){var e=l.c2l(t.pos+u,!0),a=l.l2p(e)+h,i=l.l2p(e-o)+h,p=l.l2p(e+s)+h,d=c.c2p(t.mean,!0),g=c.c2p(t.mean-t.sd,!0),v=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+d+","+i+"V"+p+("sd"===f?"m0,0L"+g+","+a+"L"+d+","+i+"L"+v+","+a+"Z":"")):n.select(this).attr("d","M"+i+","+d+"H"+p+("sd"===f?"m0,0L"+a+","+g+"L"+i+","+d+"L"+a+","+v+"Z":""))})}e.exports={plot:function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace boxes").each(function(t){var e,r,a=n.select(this),i=t[0],h=i.t,f=i.trace;h.wdPos=h.bdPos*f.whiskerwidth,!0!==f.visible||h.empty?a.remove():("h"===f.orientation?(e=s,r=o):(e=o,r=s),l(a,{pos:e,val:r},f,h),c(a,{x:o,y:s},f,h),u(a,{pos:e,val:r},f,h))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":612,"../../lib":716,d3:164}],889:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a=t.cd,i=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++)a[r].pts[n].selected=0;else for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++){var l=a[r].pts[n],c=i.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:i.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],890:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing");e.exports={style:function(t,e,r){var o=r||n.select(t).selectAll("g.trace.boxes");o.style("opacity",function(t){return t[0].trace.opacity}),o.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style("stroke-width",e+"px").call(a.stroke,r).call(a.fill,n)}var c=r.selectAll("path.box");if("candlestick"===o.type)c.each(function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style("opacity",o.selectedpoints&&!t.selected?.3:1)}});else{l(c,s,o.line.color,o.fillcolor),r.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(a.stroke,o.line.color);var u=r.selectAll("path.point");i.pointStyle(u,o,t)}})},styleOnSelect:function(t,e,r){var n=e[0].trace,a=r.selectAll("path.point");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,t)}}},{"../../components/color":591,"../../components/drawing":612,d3:164}],891:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,a=t("../ohlc/attributes"),i=t("../box/attributes");function o(t){return{line:{color:n({},i.line.color,{dflt:t}),width:i.line.width,editType:"style"},fillcolor:i.fillcolor,editType:"style"}}e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:n({},i.line.width,{}),editType:"style"},increasing:o(a.increasing.line.color.dflt),decreasing:o(a.decreasing.line.color.dflt),text:a.text,hovertext:a.hovertext,whiskerwidth:n({},i.whiskerwidth,{dflt:0}),hoverlabel:a.hoverlabel}},{"../../lib":716,"../box/attributes":879,"../ohlc/attributes":1064}],892:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../ohlc/calc").calcCommon;function o(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,s=a.getFromId(t,e.xaxis),l=a.getFromId(t,e.yaxis),c=s.makeCalcdata(e,"x"),u=i(t,e,c,l,o);return u.length?(n.extendFlat(u[0].t,{num:r._numBoxes,dPos:n.distinctVals(c).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,u):[{t:{empty:!0}}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"../ohlc/calc":1065}],893:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../ohlc/ohlc_defaults"),o=t("./attributes");function s(t,e,r,n){var i=r(n+".line.color");r(n+".line.width",e.line.width),r(n+".fillcolor",a.addOpacity(i,.5))}e.exports=function(t,e,r,a){function l(r,a){return n.coerce(t,e,o,r,a)}i(t,e,l,a)?(l("line.width"),s(t,e,l,"increasing"),s(t,e,l,"decreasing"),l("text"),l("hovertext"),l("whiskerwidth"),a._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../components/color":591,"../../lib":716,"../ohlc/ohlc_defaults":1069,"./attributes":891}],894:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"candlestick",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:t("./attributes"),layoutAttributes:t("../box/layout_attributes"),supplyLayoutDefaults:t("../box/layout_defaults").supplyLayoutDefaults,crossTraceCalc:t("../box/cross_trace_calc").crossTraceCalc,supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("../box/plot").plot,layerName:"boxlayer",style:t("../box/style").style,hoverPoints:t("../ohlc/hover").hoverPoints,selectPoints:t("../ohlc/select")}},{"../../plots/cartesian":775,"../box/cross_trace_calc":881,"../box/layout_attributes":886,"../box/layout_defaults":887,"../box/plot":888,"../box/style":890,"../ohlc/hover":1067,"../ohlc/select":1071,"./attributes":891,"./calc":892,"./defaults":893}],895:[function(t,e,r){"use strict";var n=t("./axis_defaults"),a=t("../../plot_api/plot_template");e.exports=function(t,e,r,i,o){i("a")||(i("da"),i("a0")),i("b")||(i("db"),i("b0")),function(t,e,r,i){["aaxis","baxis"].forEach(function(o){var s=o.charAt(0),l=t[o]||{},c=a.newContainer(e,o),u={tickfont:"x",id:s+"axis",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(l,c,u),c._categories=c._categories||[],t[o]||"-"===l.type||(t[o]={type:l.type})})}(t,e,r,o)}},{"../../plot_api/plot_template":754,"./axis_defaults":900}],896:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;var a=1/0;var i=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(a=Math.min(c[0],a),i=Math.max(c[1],i))}else a=Math.min(l,a),i=Math.max(l,i)}return[a,i]}(t,0)}},{"../../lib":716}],897:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./axis_attributes"),i=t("../../components/color/attributes"),o=n({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=i.defaultLine,e.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:a,baxis:a,font:o,color:{valType:"color",dflt:i.defaultLine,editType:"plot"},transforms:void 0}},{"../../components/color/attributes":590,"../../plots/font_attributes":790,"./axis_attributes":899}],898:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g,v,m,y=n(r)?"a":"b",x=("a"===y?t.aaxis:t.baxis).smoothing,b="a"===y?t.a2i:t.b2j,_="a"===y?r:a,w="a"===y?a:r,k="a"===y?e.a.length:e.b.length,T="a"===y?e.b.length:e.a.length,A=Math.floor("a"===y?t.b2j(w):t.a2i(w)),M="a"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(T-2,A)),l=A-s,o="a"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),L=S<E?1:-1,C=1e-8*(E-S),P=L>0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,z=L>0?Math.min:Math.max,I=L>0?Math.max:Math.min,D=P(S+C),R=O(E-C),F=[[h=M(S)]];for(i=D;i*L<R*L;i+=L)c=[],g=I(S,i),m=(v=z(E,i+L))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+v)))),f=M(v),x&&(p=o(u,g-u),d=o(u,v-u),c.push([h[0]+p[0]/3*m,h[1]+p[1]/3*m]),c.push([f[0]-d[0]/3*m,f[1]-d[1]/3*m])),c.push(f),F.push(c),h=f;return F}},{"../../lib":716}],899:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../components/color/attributes"),i=t("../../plots/cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").TIME_FORMAT_LINK;e.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:n({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:n({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc"},tickformatstops:o(i.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:a.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgridcolor:{valType:"color",dflt:a.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},_deprecated:{title:{valType:"string",editType:"calc"},titlefont:n({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"}},editType:"calc"}},{"../../components/color/attributes":590,"../../constants/docs":687,"../../plot_api/edit_types":747,"../../plots/cartesian/layout_attributes":776,"../../plots/font_attributes":790}],900:[function(t,e,r){"use strict";var n=t("./attributes"),a=t("../../components/color").addOpacity,i=t("../../registry"),o=t("../../lib"),s=t("../../plots/cartesian/tick_value_defaults"),l=t("../../plots/cartesian/tick_label_defaults"),c=t("../../plots/cartesian/category_order_defaults"),u=t("../../plots/cartesian/set_convert"),h=t("../../plots/cartesian/axis_autotype");e.exports=function(t,e,r){var f=r.letter,p=r.font||{},d=n[f+"axis"];function g(r,n){return o.coerce(t,e,d,r,n)}function v(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name);var m=g("type");("-"===m&&(r.data&&function(t,e){if("-"!==t.type)return;var r=t._id.charAt(0),n=t[r+"calendar"];t.type=h(e,n)}(e,r.data),"-"===e.type?e.type="linear":m=t.type=e.type),g("smoothing"),g("cheatertype"),g("showticklabels"),g("labelprefix",f+" = "),g("labelsuffix"),g("showtickprefix"),g("showticksuffix"),g("separatethousands"),g("tickformat"),g("exponentformat"),g("showexponent"),g("categoryorder"),g("tickmode"),g("tickvals"),g("ticktext"),g("tick0"),g("dtick"),"array"===e.tickmode&&(g("arraytick0"),g("arraydtick")),g("labelpadding"),e._hovertitle=f,"date"===m)&&i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g("color",r.dfltColor),x=y===t.color?y:p.color;g("title.text")&&(o.coerceFont(g,"title.font",{family:p.family,size:Math.round(1.2*p.size),color:x}),g("title.offset")),g("tickangle"),g("autorange",!e.isValidRange(t.range))&&g("rangemode"),g("range"),e.cleanRange(),g("fixedrange"),s(t,e,g,m),l(t,e,g,m,r),c(t,e,g,{data:r.data,dataAttr:f});var b=v("gridcolor",a(y,.3)),_=v("gridwidth"),w=g("showgrid");w||(delete e.gridcolor,delete e.gridwidth);var k=v("startlinecolor",y),T=v("startlinewidth",_);g("startline",e.showgrid||!!k||!!T)||(delete e.startlinecolor,delete e.startlinewidth);var A=v("endlinecolor",y),M=v("endlinewidth",_);return g("endline",e.showgrid||!!A||!!M)||(delete e.endlinecolor,delete e.endlinewidth),w?(g("minorgridcount"),g("minorgridwidth",_),g("minorgridcolor",a(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),"none"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g("tickmode"),e}},{"../../components/color":591,"../../lib":716,"../../plots/cartesian/axis_autotype":765,"../../plots/cartesian/category_order_defaults":768,"../../plots/cartesian/set_convert":782,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_value_defaults":785,"../../registry":845,"./attributes":897}],901:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib").isArray1D,i=t("./cheater_basis"),o=t("./array_minmax"),s=t("./calc_gridlines"),l=t("./calc_labels"),c=t("./calc_clippath"),u=t("../heatmap/clean_2d_array"),h=t("./smooth_fill_2d_array"),f=t("../heatmap/convert_column_xyz"),p=t("./set_convert");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,v=e.baxis,m=e.x,y=e.y,x=[];m&&a(m)&&x.push("x"),y&&a(y)&&x.push("y"),x.length&&f(e,g,v,"a","b",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;m=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var k="index"===g.cheatertype?b.length:b,T="index"===v.cheatertype?_.length:_;m=i(k,T,e.cheaterslope)}e._x=m=u(m),e._y=y=u(y),h(m,b,_),h(y,b,_),p(e),e.setScale();var A=o(m),M=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),L=.5*(M[1]-M[0]),C=.5*(M[1]+M[0]);return A=[E-1.3*S,E+1.3*S],M=[C-1.3*L,C+1.3*L],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,M,{padded:!0}),s(e,"a","b"),s(e,"b","a"),l(e,g),l(e,v),w.clipsegments=c(e._xctrl,e._yctrl,g,v),w.x=m,w.y=y,w.a=b,w.b=_,[w]}},{"../../lib":716,"../../plots/cartesian/axes":764,"../heatmap/clean_2d_array":1e3,"../heatmap/convert_column_xyz":1002,"./array_minmax":896,"./calc_clippath":902,"./calc_gridlines":903,"./calc_labels":904,"./cheater_basis":906,"./set_convert":919,"./smooth_fill_2d_array":920}],902:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a,i,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,h=t.length-1;for(a=0,i=[],o=[];a<=u;a++)i[a]=t[0][a],o[a]=e[0][a];for(s.push({x:i,y:o,bicubic:l}),a=0,i=[],o=[];a<=h;a++)i[a]=t[a][u],o[a]=e[a][u];for(s.push({x:i,y:o,bicubic:c}),a=u,i=[],o=[];a>=0;a--)i[u-a]=t[h][a],o[u-a]=e[h][a];for(s.push({x:i,y:o,bicubic:l}),a=h,i=[],o=[];a>=0;a--)i[h-a]=t[a][0],o[h-a]=e[a][0];return s.push({x:i,y:o,bicubic:c}),s}},{}],903:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var i,o,s,l,c,u,h,f,p,d,g,v,m,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],T=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function z(n){var a,i,o,s,l,c,u,h,p,d,g,v,m=[],y=[],x={};if("b"===e)for(i=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},a=0;a<C;a++)c=Math.min(C-2,a),u=a-c,h=t.evalxy([],a,i),A.smoothing&&a>0&&(p=t.dxydi([],a-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],a-1,o,1,s),m.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),m.push(h[0]),y.push(h[1]),l=h;else for(a=t.a2i(n),c=Math.floor(Math.max(0,Math.min(C-2,a))),u=a-c,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],a,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i<P;i++)o=Math.min(P-2,i),s=i-o,h=t.evalxy([],a,i),A.smoothing&&i>0&&(g=t.dxydj([],c,i-1,u,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],c,i-1,u,1),m.push(h[0]-v[0]/3),y.push(h[1]-v[1]/3)),m.push(h[0]),y.push(h[1]),l=h;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=m,x.y=y,x.smoothing=A.smoothing,x}function I(n){var a,i,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=T.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},a=0;a<E;a++)c[a]=M[n*O][a],u[a]=S[n*O][a];else for(i=Math.max(0,Math.min(C-2,n)),s=Math.min(1,Math.max(0,n-i)),h.xy=function(e){return t.evalxy([],n,e)},h.dxy=function(e,r){return t.dxydj([],i,e,s,r)},a=0;a<L;a++)c[a]=M[a][n*O],u[a]=S[a][n*O];return h.axisLetter=e,h.axis=b,h.crossAxis=A,h.value=x[n],h.constvar=r,h.index=n,h.x=c,h.y=u,h.smoothing=A.smoothing,h}if("array"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort(function(t,e){return t-e}))[0]-1,h=c[1]+1,f=u;f<h;f++)(o=b.arraytick0+b.arraydtick*f)<0||o>x.length-1||_.push(a(I(o),{color:b.gridcolor,width:b.gridwidth}));for(f=u;f<h;f++)if(s=b.arraytick0+b.arraydtick*f,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(v=x[s],m=x[g],i=0;i<b.minorgridcount;i++)(y=g-s)<=0||(d=v+(m-v)*(i+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(I(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(I(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],h=c[1],f=u;f<=h;f++)p=b.tick0+b.dtick*f,_.push(a(z(p),{color:b.gridcolor,width:b.gridwidth}));for(f=u-1;f<h+1;f++)for(p=b.tick0+b.dtick*f,i=0;i<b.minorgridcount;i++)(d=p+b.dtick*(i+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":707,"../../plots/cartesian/axes":764}],904:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,i,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==["start","both"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i)),-1!==["end","both"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i))}},{"../../lib/extend":707,"../../plots/cartesian/axes":764}],905:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=t[0]-e[0],i=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(a*a+i*i,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*a-l*l*o)*n,h=(c*c*i-l*l*s)*n,f=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(f&&u/f),e[1]+(f&&h/f)],[e[0]-(p&&u/p),e[1]-(p&&h/p)]]}},{}],906:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var a,i,o,s,l,c,u=[],h=n(t)?t.length:t,f=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var g=1/0,v=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*s:i/(f-1),a=0;a<h;a++)c=(p?(p[a]-p[0])*o:a/(h-1))-l*r,g=Math.min(c,g),v=Math.max(c,v),u[i][a]=c;var m=1/(v-g),y=-g*m;for(i=0;i<f;i++)for(a=0;a<h;a++)u[i][a]=m*u[i][a]+y;return u}},{"../../lib":716}],907:[function(t,e,r){"use strict";var n=t("./catmull_rom"),a=t("../../lib").ensureArray;function i(t,e,r){var n=-.5*r[0]+1.5*e[0],a=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*a+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,h,f,p,d,g,v,m,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),h=0;h<w;h++)t[h]=a(t[h],_),e[h]=a(e[h],_);for(u=0,f=0;u<b;u++,f+=l?3:1)for(p=t[f],d=e[f],g=r[u],v=o[u],c=0,h=0;c<x;c++,h+=s?3:1)p[h]=g[c],d[h]=v[c];if(s)for(u=0,f=0;u<b;u++,f+=l?3:1){for(c=1,h=3;c<x-1;c++,h+=3)m=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[f][h-1]=m[0][0],e[f][h-1]=m[0][1],t[f][h+1]=m[1][0],e[f][h+1]=m[1][1];y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=y[0],e[f][1]=y[1],y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=y[0],e[f][_-2]=y[1]}if(l)for(h=0;h<_;h++){for(f=3;f<w-3;f+=3)m=n([t[f-3][h],e[f-3][h]],[t[f][h],e[f][h]],[t[f+3][h],e[f+3][h]],l),t[f-1][h]=m[0][0],e[f-1][h]=m[0][1],t[f+1][h]=m[1][0],e[f+1][h]=m[1][1];y=i([t[0][h],e[0][h]],[t[2][h],e[2][h]],[t[3][h],e[3][h]]),t[1][h]=y[0],e[1][h]=y[1],y=i([t[w-1][h],e[w-1][h]],[t[w-3][h],e[w-3][h]],[t[w-4][h],e[w-4][h]]),t[w-2][h]=y[0],e[w-2][h]=y[1]}if(s&&l)for(f=1;f<w;f+=(f+1)%3==0?2:1){for(h=3;h<_-3;h+=3)m=n([t[f][h-3],e[f][h-3]],[t[f][h],e[f][h]],[t[f][h+3],e[f][h+3]],s),t[f][h-1]=.5*(t[f][h-1]+m[0][0]),e[f][h-1]=.5*(e[f][h-1]+m[0][1]),t[f][h+1]=.5*(t[f][h+1]+m[1][0]),e[f][h+1]=.5*(e[f][h+1]+m[1][1]);y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=.5*(t[f][1]+y[0]),e[f][1]=.5*(e[f][1]+y[1]),y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=.5*(t[f][_-2]+y[0]),e[f][_-2]=.5*(e[f][_-2]+y[1])}return[t,e]}},{"../../lib":716,"./catmull_rom":905}],908:[function(t,e,r){"use strict";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],909:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=1-a,d=p*p,g=p*a*2,v=-3*d,m=3*(d-g),y=3*(g-f),x=3*f,b=i*i,_=b*i,w=1-i,k=w*w,T=k*w;for(h=0;h<t.length;h++)o=v*(u=t[h])[n][r]+m*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=v*u[n+1][r]+m*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=v*u[n+2][r]+m*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=v*u[n+3][r]+m*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[h]=T*o+3*(k*i*s+w*b*l)+_*c;return e}:e?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),r*=3;var u=a*a,h=1-a,f=h*h,p=h*a*2,d=-3*f,g=3*(f-p),v=3*(p-u),m=3*u,y=1-i;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+v*c[n][r+2]+m*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+v*c[n+1][r+2]+m*c[n+1][r+3],e[l]=y*o+i*s;return e}:r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n][r+1]-h[n][r],s=h[n+1][r+1]-h[n+1][r],l=h[n+2][r+1]-h[n+2][r],c=h[n+3][r+1]-h[n+3][r],e[u]=v*o+3*(g*i*s+d*f*l)+p*c;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+i*s;return e}}},{}],910:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d,m=i*i,y=1-i,x=y*y,b=y*i*2,_=-3*x,w=3*(x-b),k=3*(b-m),T=3*m;for(h=0;h<t.length;h++)o=_*(u=t[h])[n][r]+w*u[n+1][r]+k*u[n+2][r]+T*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+T*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+T*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+T*u[n+3][r+3],e[h]=v*o+3*(g*a*s+d*f*l)+p*c;return e}:e?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n+1][r]-h[n][r],s=h[n+1][r+1]-h[n][r+1],l=h[n+1][r+2]-h[n][r+2],c=h[n+1][r+3]-h[n][r+3],e[u]=v*o+3*(g*i*s+d*f*l)+p*c;return e}:r?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),n*=3;var u=1-a,h=i*i,f=1-i,p=f*f,d=f*i*2,g=-3*p,v=3*(p-d),m=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+v*c[n+1][r]+m*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+v*c[n+1][r+1]+m*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+a*s;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+a*s;return e}}},{}],911:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=e-2,o=r-2;return n&&a?function(e,r,n){var a,s,l,c,u,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3,p*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,T=k*k,A=T*k;for(h=0;h<t.length;h++)a=b*(u=t[h])[p][f]+3*(x*d*u[p][f+1]+y*v*u[p][f+2])+m*u[p][f+3],s=b*u[p+1][f]+3*(x*d*u[p+1][f+1]+y*v*u[p+1][f+2])+m*u[p+1][f+3],l=b*u[p+2][f]+3*(x*d*u[p+2][f+1]+y*v*u[p+2][f+2])+m*u[p+2][f+3],c=b*u[p+3][f]+3*(x*d*u[p+3][f+1]+y*v*u[p+3][f+2])+m*u[p+3][f+3],e[h]=A*a+3*(T*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+g*h[p+1][f],s=_*h[p][f+1]+g*h[p+1][f+1],l=_*h[p][f+2]+g*h[p+1][f+1],c=_*h[p][f+3]+g*h[p+1][f+1],e[u]=b*a+3*(x*d*s+y*v*l)+m*c;return e}:a?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));p*=3;var v=g*g,m=v*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+d*h[p][f+1],s=_*h[p+1][f]+d*h[p+1][f+1],l=_*h[p+2][f]+d*h[p+2][f+1],c=_*h[p+3][f]+d*h[p+3][f+1],e[u]=b*a+3*(x*g*s+y*v*l)+m*c;return e}:function(e,r,n){e||(e=[]);var a,s,l,c,u=Math.max(0,Math.min(Math.floor(r),i)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)a=g*(c=t[l])[h][u]+f*c[h][u+1],s=g*c[h+1][u]+f*c[h+1][u+1],e[l]=d*a+p*s;return e}}},{}],912:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./xy_defaults"),i=t("./ab_defaults"),o=t("./attributes"),s=t("../../components/color/attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,o,r,a)}e._clipPathId="clip"+e.uid+"carpet";var u=c("color",s.defaultLine);(n.coerceFont(c,"font"),c("carpet"),i(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),a(t,e,c)||(e.visible=!1),e._cheater&&c("cheaterslope")):e.visible=!1}},{"../../components/color/attributes":590,"../../lib":716,"./ab_defaults":895,"./attributes":897,"./xy_defaults":921}],913:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),plot:t("./plot"),calc:t("./calc"),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":775,"./attributes":897,"./calc":901,"./defaults":912,"./plot":918}],914:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r,n=t._fullData.length,a=0;a<n;a++){var i=t._fullData[a];if(i.index!==e.index&&("carpet"===i.type&&(r||(r=i),i.carpet===e.carpet)))return i}return r}},{}],915:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(0===t.length)return"";var n,a=[],i=r?3:1;for(n=0;n<t.length;n+=i)a.push(t[n]+","+e[n]),r&&n<t.length-i&&(a.push("C"),a.push([t[n+1]+","+e[n+1],t[n+2]+","+e[n+2]+" "].join(" ")));return a.join(r?"":"L")}},{}],916:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var a;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],a=0;a<e.length;a++)t[a]=r(e[a]);return t}},{"../../lib":716}],917:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i){var o=a[0]*t.dpdx(e),s=a[1]*t.dpdy(r),l=1,c=1;if(i){var u=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=(a[0]*i[0]+a[1]*i[1])/u/h;c=Math.max(0,f)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],918:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment");function h(t,e,r,a,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each(function(r){var a=r,s=a.x,l=a.y,c=i([],s,t.c2p),u=i([],l,e.c2p),h="M"+o(c,u,a.smoothing);n.select(this).attr("d",h).style("stroke-width",a.width).style("stroke",a.color).style("fill","none")}),u.exit().remove()}function f(t,e,r,i,o,c,u,h){var f=c.selectAll("text."+h).data(u);f.enter().append("text").classed(h,!0);var p=0,d={};return f.each(function(o,c){var u;if("auto"===o.axis.tickangle)u=s(i,e,r,o.xy,o.dxy);else{var h=(o.axis.tickangle+180)*Math.PI/180;u=s(i,e,r,o.xy,[Math.cos(h),Math.sin(h)])}c||(d={angle:u.angle,flip:u.flip});var f=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({"text-anchor":f>0?"start":"end","data-notex":1}).call(a.font,o.font).text(o.text).call(l.convertToTspans,t),v=a.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*f+","+.3*v.height+")"),p=Math.max(p,v.width+o.axis.labelpadding)}),f.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,a){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(a,r,"trace").each(function(e){var r=n.select(this),a=e[0],d=a.trace,v=d.aaxis,m=d.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",d.opacity),h(l,u,x,v,"a",v._gridlines),h(l,u,x,m,"b",m._gridlines),h(l,u,y,v,"a",v._minorgridlines),h(l,u,y,m,"b",m._minorgridlines),h(l,u,b,v,"a-boundary",v._boundarylines),h(l,u,b,m,"b-boundary",m._boundarylines);var w=f(t,l,u,d,a,_,v._labels,"a-label"),k=f(t,l,u,d,a,_,m._labels,"b-label");!function(t,e,r,n,a,i,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),v=c.aggNums(Math.max,null,r.a),m=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+v),h=m,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,a,i,f,r.dxydb_rough(u,h)));g(t,e,r,n,f,p,r.aaxis,a,i,o,"a-title"),u=d,h=.5*(m+y),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,a,i,f,r.dxyda_rough(u,h)));g(t,e,r,n,f,p,r.baxis,a,i,l,"b-title")}(t,_,d,a,l,u,w,k),function(t,e,r,n,a){var s,l,u,h,f=r.select("#"+t._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(f,"path","carpetboundary"),d=e.clipsegments,g=[];for(h=0;h<d.length;h++)s=d[h],l=i([],s.x,n.c2p),u=i([],s.y,a.c2p),g.push(o(l,u,s.bicubic));var v="M"+g.join("L")+"Z";f.attr("id",t._clipPathId),p.attr("d",v)}(d,a,p,l,u)})};var p=u.LINE_SPACING,d=(1-u.MID_SHIFT)/p+1;function g(t,e,r,i,o,c,u,h,f,g,v){var m=[];u.title.text&&m.push(u.title.text);var y=e.selectAll("text."+v).data(m),x=g.maxExtent;y.enter().append("text").classed(v,!0),y.each(function(){var e=s(r,h,f,o,c);-1===["start","both"].indexOf(u.showticklabels)&&(x=0);var i=u.title.font.size;x+=i+u.title.offset;var v=(g.angle+(g.flip<0?180:0)-e.angle+450)%360,m=v>90&&v<270,y=n.select(this);y.text(u.title.text).call(l.convertToTspans,t),m&&(x=(-l.lineCount(y)+d)*p*i-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(a.font,u.title.font)}),y.exit().remove()}},{"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"./makepath":915,"./map_1d_array":916,"./orient_text":917,d3:164}],919:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/search").findBin,i=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],g=r[0],v=r[u-1],m=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=m*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,v+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<v},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>v},t.setScale=function(){var e=t._x,r=t._y,n=i(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(a(t,e),c-2)),n=e[r],i=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(i-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(a(t,r),u-2)),n=r[e],i=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(i-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,a,i){if(!i&&(n<e[0]||n>e[c-1]|a<r[0]||a>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(a),l=t.evalxy([],o,s);if(i){var h,f,p,d,g=0,v=0,m=[];n<e[0]?(h=0,f=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(h=c-2,f=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),a<r[0]?(p=0,d=0,v=(a-r[0])/(r[1]-r[0])):a>r[u-1]?(p=u-2,d=1,v=(a-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(m,h,p,f,d),l[0]+=m[0]*g,l[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),l[0]+=m[0]*v,l[1]+=m[1]*v)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,a){var i=t.dxydi(null,e,r,n,a),o=t.dadi(e,n);return[i[0]/o,i[1]/o]},t.dxydb=function(e,r,n,a){var i=t.dxydj(null,e,r,n,a),o=t.dbdj(r,a);return[i[0]/o,i[1]/o]},t.dxyda_rough=function(e,r,n){var a=m*(n||.1),i=t.ab2xy(e+a,r,!0),o=t.ab2xy(e-a,r,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dxydb_rough=function(e,r,n){var a=y*(n||.1),i=t.ab2xy(e,r+a,!0),o=t.ab2xy(e,r-a,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":735,"./compute_control_points":907,"./constants":908,"./create_i_derivative_evaluator":909,"./create_j_derivative_evaluator":910,"./create_spline_evaluator":911}],920:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var a,i,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,a=0,i=0;return e>0&&void 0!==(n=t[r][e-1])&&(i++,a+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(i++,a+=n),r>0&&void 0!==(n=t[r-1][e])&&(i++,a+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(i++,a+=n),a/Math.max(1,i)}var f,p,d,g,v,m,y,x,b,_,w,k=0;for(a=0;a<c;a++)for(i=0;i<u;i++)void 0===t[i][a]&&(s.push(a),l.push(i),t[i][a]=h(a,i)),k=Math.max(k,Math.abs(t[i][a]));if(!s.length)return t;var T=0,A=0,M=s.length;do{for(T=0,o=0;o<M;o++){a=s[o],i=l[o];var S,E,L,C,P,O,z=0,I=0;0===a?(L=e[P=Math.min(c-1,2)],C=e[1],S=t[i][P],I+=(E=t[i][1])+(E-S)*(e[0]-C)/(C-L),z++):a===c-1&&(L=e[P=Math.max(0,c-3)],C=e[c-2],S=t[i][P],I+=(E=t[i][c-2])+(E-S)*(e[c-1]-C)/(C-L),z++),(0===a||a===c-1)&&i>0&&i<u-1&&(f=r[i+1]-r[i],I+=((p=r[i]-r[i-1])*t[i+1][a]+f*t[i-1][a])/(p+f),z++),0===i?(L=r[O=Math.min(u-1,2)],C=r[1],S=t[O][a],I+=(E=t[1][a])+(E-S)*(r[0]-C)/(C-L),z++):i===u-1&&(L=r[O=Math.max(0,u-3)],C=r[u-2],S=t[O][a],I+=(E=t[u-2][a])+(E-S)*(r[u-1]-C)/(C-L),z++),(0===i||i===u-1)&&a>0&&a<c-1&&(f=e[a+1]-e[a],I+=((p=e[a]-e[a-1])*t[i][a+1]+f*t[i][a-1])/(p+f),z++),z?I/=z:(d=e[a+1]-e[a],g=e[a]-e[a-1],x=(v=r[i+1]-r[i])*(m=r[i]-r[i-1])*(v+m),I=((y=d*g*(d+g))*(m*t[i+1][a]+v*t[i-1][a])+x*(g*t[i][a+1]+d*t[i][a-1]))/(x*(g+d)+y*(m+v))),T+=(_=(b=I-t[i][a])/k)*_,w=z?0:.85,t[i][a]+=b*(1+w)}T=Math.sqrt(T)}while(A++<100&&T>1e-5);return n.log("Smoother converged to",T,"after",A,"iterations"),t}},{"../../lib":716}],921:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var a=r("x"),i=a&&a.length,o=r("y"),s=o&&o.length;if(!i&&!s)return!1;if(e._cheater=!a,i&&!n(a)||s&&!n(o))e._length=null;else{var l=i?a.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":716}],922:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../plots/attributes"),s=t("../../components/color/attributes").defaultLine,l=t("../../lib/extend").extendFlat,c=a.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:a.locationmode,z:{valType:"data_array",editType:"calc"},text:l({},a.text,{}),hovertext:l({},a.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:a.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:a.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n()},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scattergeo/attributes":1159}],923:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");function l(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h<c;h++){var f=u[h]={},p=e.locations[h],d=e.z[h];r(p)&&n(d)?(f.loc=p,f.z=d):(f.loc=null,f.z=a),f.index=h}return o(u,e),i(t,e,{vals:e.z,containerStr:"",cLetter:"z"}),s(u,e),u}},{"../../components/colorscale/calc":599,"../../constants/numerical":692,"../scatter/arrays_to_calcdata":1117,"../scatter/calc_selection":1120,"fast-isnumeric":227}],924:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("locations"),c=s("z");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s("locationmode"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),a(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":922}],925:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){t.location=e.location,t.z=e.z;var i=n[a];return i.fIn&&(t.properties=i.fIn.properties),t}},{}],926:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("./attributes"),i=t("../../lib").fillText;e.exports=function(t,e,r){var o,s,l,c,u=t.cd,h=u[0].trace,f=t.subplot;for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains([e,r])&&(c=!c),o._polygons[l].contains([e+360,r])&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(f.mockAxis,f.mockAxis.c2l(o.z),"hover").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(e.hovertemplate)return;var n=r.hi||e.hoverinfo,o=String(r.loc),s="all"===n?a.hoverinfo.flags:n.split("+"),l=-1!==s.indexOf("name"),c=-1!==s.indexOf("location"),u=-1!==s.indexOf("z"),h=-1!==s.indexOf("text"),f=[];!l&&c?t.nameOverride=o:(l&&(t.nameOverride=e.name),c&&f.push(o));u&&f.push(t.zLabel);h&&i(r,e,f);t.extraText=f.join("<br>")}(t,h,o,f.mockAxis),[t]}},{"../../lib":716,"../../plots/cartesian/axes":764,"./attributes":922}],927:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"choropleth",basePlotModule:t("../../plots/geo"),categories:["geo","noOpacity"],meta:{}}},{"../../plots/geo":794,"../heatmap/colorbar":1001,"./attributes":922,"./calc":923,"./defaults":924,"./event_data":925,"./hover":926,"./plot":928,"./select":929,"./style":930}],928:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,a=o(r,e),i=0;i<n;i++){var l=t[i],c=s(r.locationmode,l.loc,a);c?(l.geojson=c,l.ct=c.properties.ct,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,a,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),a=0;a<t.length;a++)e[a]=[t[a][0]<0?t[a][0]+360:t[a][0],t[a][1]];c.push(i.tester(e))}:"ATA"===l?function(t){var e=u(t);if(null===e)return c.push(i.tester(t));var r=new Array(t.length+1),n=0;for(a=0;a<t.length;a++)a>e?r[n++]=[t[a][0]+360,t[a][1]]:a===e?(r[n++]=t[a],r[n++]=[t[a][0],-90]):r[n++]=t[a];var o=i.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(i.tester(t))},o.type){case"MultiPolygon":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case"Polygon":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports={plot:function(t,e,r){for(var i=0;i<r.length;i++)c(r[i],e.topojson);var o=e.layers.backplot.select(".choroplethlayer");a.makeTraceGroups(o,r,"trace choropleth").each(function(e){var r=n.select(this).selectAll("path.choroplethlocation").data(a.identity);r.enter().append("path").classed("choroplethlocation",!0),r.exit().remove(),l(t,e)})},feature2polygons:u}},{"../../lib":716,"../../lib/geo_location_utils":710,"../../lib/polygon":728,"../../lib/topojson_utils":743,"./style":930,d3:164}],929:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(a=(n=s[r]).ct)&&(i=l.c2p(a),o=c.c2p(a),e.contains([i,o],null,r,t)?(u.push({pointNumber:r,lon:a[0],lat:a[1]}),n.selected=1):n.selected=0);return u}},{}],930:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing"),o=t("../../components/colorscale");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(".choroplethlocation"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFuncFromTrace(r);s.each(function(t){n.select(this).attr("fill",u(t.z)).call(a.stroke,t.mlc||c.color).call(i.dashLine,"",t.mlw||c.width||0).style("opacity",l.opacity)}),i.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?i.selectedPointStyle(r.selectAll(".choroplethlocation"),n,t):s(t,e)}}},{"../../components/color":591,"../../components/colorscale":603,"../../components/drawing":612,d3:164}],931:[function(t,e,r){"use strict";var n=t("../choropleth/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../lib/extend").extendFlat;e.exports=o({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:o({},n.marker.line.color,{editType:"plot"}),width:o({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:o({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:o({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:o({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:i({},{keys:["properties"]})},a("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/template_attributes":840,"../choropleth/attributes":922}],932:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("@turf/area"),i=t("@turf/centroid"),o=t("../../lib"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../../lib/geojson_utils").makeBlank,u=t("../choropleth/plot").feature2polygons;function h(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=l.makeSelectedPointStyleFns(r),i=0;i<t.length;i++){var s=t[i];s.fOut&&(s.fOut.properties.mo2=a.selectedOpacityFn(s))}e={type:"identity",property:"mo2"}}else e=o.isArrayOrTypedArray(r.marker.opacity)?{type:"identity",property:"mo"}:r.marker.opacity;return o.extendFlat(n.fill.paint,{"fill-opacity":e}),o.extendFlat(n.line.paint,{"line-opacity":e}),n}e.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,l={layout:{visibility:"none"},paint:{}},f={layout:{visibility:"none"},paint:{}},p=e._opts={fill:l,line:f,geojson:c()};if(!r)return p;var d="string"==typeof e.geojson?(window.PlotlyGeoAssets||{})[e.geojson]:e.geojson;if(!o.isPlainObject(d))return o.error("Oops ... something when wrong when fetching "+e.geojson),p;var g,v={},m=[];for(g=0;g<t.length;g++){var y=t[g];y.loc&&(v[y.loc]=y)}var x,b,_,w=s.makeColorScaleFuncFromTrace(e),k=e.marker,T=k.line||{};function A(t){var e=v[t.id];if(e){var r=t.geometry;if("Polygon"===r.type||"MultiPolygon"===r.type){var n={fc:w(e.z)};x&&(n.mo=x(e)),b&&(n.mlc=b(e)),_&&(n.mlw=_(e));var s={type:"Feature",geometry:r,properties:n};e._polygons=u(s),e.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,o=0,s=0;s<n.length;s++){var l={type:"Polygon",coordinates:n[s]},c=a.default(l);c>o&&(o=c,e=l)}else e=r;return i.default(e).geometry.coordinates}(s),e.fIn=t,e.fOut=s,m.push(s)}else o.log(["Location with id",e.loc,"does not have a valid GeoJSON geometry,","choroplethmapbox traces only support *Polygon* and *MultiPolygon* geometries."].join(" "))}delete v[t.id]}switch(o.isArrayOrTypedArray(k.opacity)&&(x=function(t){var e=t.mo;return n(e)?+o.constrain(e,0,1):0}),o.isArrayOrTypedArray(T.color)&&(b=function(t){return t.mlc}),o.isArrayOrTypedArray(T.width)&&(_=function(t){return t.mlw}),d.type){case"FeatureCollection":var M=d.features;for(g=0;g<M.length;g++)A(M[g]);break;case"Feature":A(d);break;default:return o.warn(["Invalid GeoJSON type",(d.type||"none")+",","choroplethmapbox traces only support *FeatureCollection* and *Feature* types."].join(" ")),p}for(var S in v)o.log("Location with id "+S+" does not have a matching feature");var E=x?{type:"identity",property:"mo"}:k.opacity;return o.extendFlat(l.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":E}),o.extendFlat(f.paint,{"line-color":b?{type:"identity",property:"mlc"}:T.color,"line-width":_?{type:"identity",property:"mlw"}:T.width,"line-opacity":E}),l.layout.visibility="visible",f.layout.visibility="visible",p.geojson={type:"FeatureCollection",features:m},h(t),p},convertOnSelect:h}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/geojson_utils":711,"../choropleth/plot":928,"@turf/area":57,"@turf/centroid":58,"fast-isnumeric":227}],933:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("locations"),c=s("z"),u=s("geojson");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(c)&&c.length&&("string"==typeof u&&""!==u||n.isPlainObject(u))?(e._length=Math.min(l.length,c.length),s("below"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),a(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":931}],934:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../choropleth/calc"),plot:t("./plot"),hoverPoints:t("../choropleth/hover"),eventData:t("../choropleth/event_data"),selectPoints:t("../choropleth/select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var a=r[n].id;if("string"==typeof a&&0===a.indexOf("water"))for(var i=n+1;i<r.length;i++)if("string"==typeof(a=r[i].id)&&-1===a.indexOf("plotly-"))return a}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","noOpacity"],meta:{hr_name:"choropleth_mapbox"}}},{"../../plots/mapbox":819,"../choropleth/calc":923,"../choropleth/event_data":925,"../choropleth/hover":926,"../choropleth/select":929,"../heatmap/colorbar":1001,"./attributes":931,"./defaults":933,"./plot":935}],935:[function(t,e,r){"use strict";var n=t("./convert").convert,a=t("./convert").convertOnSelect,i=t("../../plots/mapbox/constants").traceLayerPrefix;function o(t,e){this.type="choroplethmapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["fill",i+e+"-fill"],["line",i+e+"-line"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t))},s.updateOnSelect=function(t){this._update(a(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var a=0;a<r.length;a++){var i=r[a],o=i[0],s=i[1],l=t[o];e.setOptions(s,"setLayoutProperty",l.layout),"visible"===l.layout.visibility&&e.setOptions(s,"setPaintProperty",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new o(t,r.uid),i=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(i,{type:"geojson",data:s.geojson}),a._addLayers(s,l),e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":817,"./convert":932}],936:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach(function(t){l[t]=i[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],937:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,a=e.v,i=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,a.length,i.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],h=a[c],f=i[c],p=Math.sqrt(u*u+h*h+f*f);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],938:[function(t,e,r){"use strict";var n=t("gl-cone3d"),a=t("gl-cone3d").createConeMesh,i=t("../../lib").simpleMap,o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],a=this.data.z[e],i=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,a,i,o,s,Math.sqrt(i*i+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var h={xaxis:0,yaxis:1,zaxis:2},f={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,c={};function u(t,e){var n=r[e],o=a[h[e]];return i(t,function(t){return n.d2l(t)*o})}c.vectors=l(u(e.u,"xaxis"),u(e.v,"yaxis"),u(e.w,"zaxis"),e._len),c.positions=l(u(e.x,"xaxis"),u(e.y,"yaxis"),u(e.z,"zaxis"),e._len);var d=s(e);c.colormap=o(e),c.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],c.coneOffset=f[e.anchor],"scaled"===e.sizemode?c.coneSize=e.sizeref||.5:c.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var g=n(c),v=e.lightposition;return g.lightPosition=[v.x,v.y,v.z],g.ambient=e.lighting.ambient,g.diffuse=e.lighting.diffuse,g.specular=e.lighting.specular,g.roughness=e.lighting.roughness,g.fresnel=e.lighting.fresnel,g.opacity=e.opacity,e._pad=p[e.anchor]*g.vectorScale*g.coneScale*e._normMax,g}u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new c(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/gl3d/zip3":815,"gl-cone3d":244}],939:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("u"),c=s("v"),u=s("w"),h=s("x"),f=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s("sizeref"),s("sizemode"),s("anchor"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),a(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":936}],940:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"cone",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},{"../../plots/gl3d":804,"./attributes":936,"./calc":937,"./convert":938,"./defaults":939}],941:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../components/drawing/attributes").dash,s=t("../../plots/font_attributes"),l=t("../../lib/extend").extendFlat,c=t("../../constants/filter_ops"),u=c.COMPARISON_OPS2,h=c.INTERVAL_OPS,f=(t("../../constants/docs").FORMAT_LINK,a.line);e.exports=l({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate,hoverongaps:n.hoverongaps,connectgaps:l({},n.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:s({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot"},operation:{valType:"enumerated",values:[].concat(u).concat(h),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:l({},f.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:o,smoothing:l({},f.smoothing,{}),editType:"plot"}},i("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../constants/docs":687,"../../constants/filter_ops":688,"../../lib/extend":707,"../../plots/font_attributes":790,"../heatmap/attributes":998,"../scatter/attributes":1118}],942:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),a=t("../heatmap/calc"),i=t("./set_contours"),o=t("./end_plus");e.exports=function(t,e){var r=a(t,e),s=r[0].z;i(e,s);var l,c=e.contours,u=n.extractOpts(e);if("heatmap"===c.coloring&&u.auto&&!1===e.autocontour){var h=c.start,f=o(c),p=c.size||1,d=Math.floor((f-h)/p)+1;isFinite(p)||(p=1,d=1);var g=h-p/2;l=[g,g+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:"z"}),r}},{"../../components/colorscale":603,"../heatmap/calc":999,"./end_plus":952,"./set_contours":960}],943:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t[0],a=n.z;switch(e.type){case"levels":var i=Math.min(a[0][0],a[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(i>o.level||o.starts.length&&i===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r<l;r++)u=Math.min(u,a[r][0]),u=Math.min(u,a[r][s-1]),c=Math.max(c,a[r][0]),c=Math.max(c,a[r][s-1]);for(r=1;r<s-1;r++)u=Math.min(u,a[0][r]),u=Math.min(u,a[l-1][r]),c=Math.max(c,a[0][r]),c=Math.max(c,a[l-1][r]);var h,f,p=e.value;switch(e._operation){case">":p>c&&(n.prefixBoundary=!0);break;case"<":(p<u||n.starts.length&&p===u)&&(n.prefixBoundary=!0);break;case"[]":h=Math.min(p[0],p[1]),((f=Math.max(p[0],p[1]))<u||h>c||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),h<u&&f>c&&(n.prefixBoundary=!0)}}}},{}],944:[function(t,e,r){"use strict";var n=t("../../components/colorscale").extractOpts,a=t("./make_color_map"),i=t("./end_plus");e.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=a(e,{isColorbar:!0});if("heatmap"===c){var h=n(e);r._fillgradient=e.colorscale,r._zrange=[h.min,h.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:i(o),size:l}}}},{"../../components/colorscale":603,"./end_plus":952,"./make_color_map":957}],945:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],946:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./label_defaults"),i=t("../../components/color"),o=i.addOpacity,s=i.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,i,l,h){var f,p,d,g=e.contours,v=r("contours.operation");(g._operation=c[v],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===v?f=g.showlines=!0:(f=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),f)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),a(r,i,p,h)}},{"../../components/color":591,"../../constants/filter_ops":688,"./label_defaults":956,"fast-isnumeric":227}],947:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),a=t("fast-isnumeric");function i(t,e){var r,i=Array.isArray(e);function o(t){return a(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(i?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=i?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=i?e.map(o):[o(e)]),r}function o(t){return function(e){e=i(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=i(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":688,"fast-isnumeric":227}],948:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n("contours.start"),i=n("contours.end"),o=!1===a||!1===i,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],949:[function(t,e,r){"use strict";var n=t("../../lib");function a(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,i,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),i=t[0],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);return t;case"][":var c=s;s=l,l=c;case"[]":for(2!==t.length&&n.warn("Contour data invalid for the specified inequality range operation."),i=a(t[0]),o=a(t[1]),r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);for(;o.edgepaths.length;)i.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)i.paths.push(l(o.paths.shift()));for(;o.starts.length;)i.starts.push(l(o.starts.shift()));return[i]}}},{"../../lib":716}],950:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./constraint_defaults"),o=t("./contours_defaults"),s=t("./style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,l,r,a)}if(a(t,e,u,c)){u("text"),u("hovertext"),u("hovertemplate"),u("hoverongaps");var h="constraint"===u("contours.type");u("connectgaps",n.isArray1D(e.z)),h?i(t,e,u,c,r):(o(t,e,u,function(r){return n.coerce2(t,e,l,r)}),s(t,e,u,c))}else e.visible=!1}},{"../../lib":716,"../heatmap/xyz_defaults":1012,"./attributes":941,"./constraint_defaults":946,"./contours_defaults":948,"./style_defaults":962}],951:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constraint_mapping"),i=t("./end_plus");e.exports=function(t,e,r){for(var o="constraint"===t.type?a[t._operation](t.value):t,s=o.size,l=[],c=i(o),u=r.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},f=o.start;f<c;f+=s)if(l.push(n.extendFlat({level:f,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},h)),l.length>1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":716,"./constraint_mapping":947,"./end_plus":952}],952:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],953:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants");function i(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(","),h=t.crossings[u],f=function(t,e,r){var n=0,i=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==a.BOTTOMSTART.indexOf(t)?i=1:-1!==a.LEFTSTART.indexOf(t)?n=1:-1!==a.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,g=t.z[0].length,v=e.slice(),m=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=a.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=a.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=a.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(","),i(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=f[0]&&(e[0]<0||e[0]>g-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===v[0]&&e[1]===v[1]&&f[0]===m[0]&&f[1]===m[1]||r&&y)break;h=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,T,A,M,S,E,L,C,P,O,z,I=i(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c<p.length;c++)C=p[c],P=p[c-1],void 0,void 0,O=C[2]-P[2],z=C[3]-P[3],D+=A=Math.sqrt(O*O+z*z),F.push(A);var N=D/F.length*R;function j(t){return p[t%p.length]}for(c=p.length-2;c>=B;c--)if((x=F[c])<N){for(_=0,b=c-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(I&&c===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];k=c-b+_+1,T=Math.floor((c+b+_+2)/2),w=I||c!==p.length-2?I||-1!==b?k%2?j(T):[(j(T)[0]+j(T+1)[0])/2,(j(T)[1]+j(T+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,c-b+1,w),c=b+1,_&&(B=_),I&&(c===p.length-2?p[_]=p[p.length-1]:0===c&&(p[p.length-1]=p[0]))}for(p.splice(0,B),c=0;c<p.length;c++)p[c].length=2;if(!(p.length<2))if(I)p.pop(),t.paths.push(p);else{r||n.log("Unclosed interior contour?",t.level,v.join(","),p.join("L"));var V=!1;for(M=0;M<t.edgepaths.length;M++)if(E=t.edgepaths[M],!V&&i(E[0],p[p.length-1],o,l)){p.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(i((L=t.edgepaths[S])[L.length-1],p[0],o,l)){U=!0,p.shift(),t.edgepaths.splice(M,1),S===M?t.paths.push(p.concat(L)):(S>M&&S--,t.edgepaths[S]=L.concat(p,E));break}U||(t.edgepaths[M]=p.concat(E))}for(M=0;M<t.edgepaths.length&&!V;M++)i((E=t.edgepaths[M])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[M]=E.concat(p),V=!0);V||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),a=e[1]+Math.max(r[1],0),i=t.z[a][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-i)/(t.z[a][n+1]-i);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[a],!0),n+l,a]}var c=(t.level-i)/(t.z[a+1][n]-i);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[a]+c*t.y[a+1],!0),n,a+c]}e.exports=function(t,e,r){var a,i,s,l;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(s=t[i],l=0;l<s.starts.length;l++)o(s,s.starts[l],"edge",e,r);for(a=0;Object.keys(s.crossings).length&&a<1e4;)a++,o(s,Object.keys(s.crossings)[0].split(",").map(Number),void 0,e,r);1e4===a&&n.log("Infinite loop in contour?")}}},{"../../lib":716,"./constants":945}],954:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../heatmap/hover");e.exports=function(t,e,r,i,o){var s=a(t,e,r,i,o,!0);return s&&s.forEach(function(t){var e=t.trace;"constraint"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))}),s}},{"../../components/color":591,"../heatmap/hover":1005}],955:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style"),colorbar:t("./colorbar"),hoverPoints:t("./hover"),moduleType:"trace",name:"contour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},{"../../plots/cartesian":775,"./attributes":941,"./calc":942,"./colorbar":944,"./defaults":950,"./hover":954,"./plot":959,"./style":961}],956:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a){if(a||(a={}),t("contours.showlabels")){var i=e.font;n.coerceFont(t,"contours.labelfont",{family:i.family,size:i.size,color:r}),t("contours.labelformat")}!1!==a.hasHover&&t("zhoverformat")}},{"../../lib":716}],957:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/colorscale"),i=t("./end_plus");e.exports=function(t){var e=t.contours,r=e.start,o=i(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c="lines"===e.coloring?0:1,u=a.extractOpts(t);isFinite(s)||(s=1,l=1);var h,f,p=u.reversescale?a.flipScale(u.colorscale):u.colorscale,d=p.length,g=new Array(d),v=new Array(d);if("heatmap"===e.coloring){var m=u.min,y=u.max;for(f=0;f<d;f++)h=p[f],g[f]=h[0]*(y-m)+m,v[f]=h[1];var x=n.extent([m,y,e.start,e.start+s*(l-1)]),b=x[m<y?0:1],_=x[m<y?1:0];b!==m&&(g.splice(0,0,b),v.splice(0,0,v[0])),_!==y&&(g.push(_),v.push(v[v.length-1]))}else for(f=0;f<d;f++)h=p[f],g[f]=(h[0]*(l+c-1)-c/2)*s+r,v[f]=h[1];return a.makeColorScaleFunc({domain:g,range:v},{noNumericCheck:!0})}},{"../../components/colorscale":603,"./end_plus":952,d3:164}],958:[function(t,e,r){"use strict";var n=t("./constants");function a(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,i,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(i=o.slice(),0===e&&(i=i.concat(n.LEFTSTART)),e===d-2&&(i=i.concat(n.RIGHTSTART)),s=e+","+r,l=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],h=0;h<t.length;h++)(c=a((u=t[h]).level,l))&&(u.crossings[s]=c,-1!==i.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==i.indexOf(c,i.indexOf(c)+1)&&u.starts.push([e,r])))}},{"./constants":945}],959:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../components/colorscale"),s=t("../../lib/svg_text_utils"),l=t("../../plots/cartesian/axes"),c=t("../../plots/cartesian/set_convert"),u=t("../heatmap/plot"),h=t("./make_crossings"),f=t("./find_all_paths"),p=t("./empty_pathinfo"),d=t("./convert_to_constraints"),g=t("./close_boundaries"),v=t("./constants"),m=v.LABELOPTIMIZER;function y(t,e){var r,n,o,s,l,c,u,h="",f=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function v(t){return Math.abs(t[0]-e[0][0])<.01}function m(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=i.smoothopen(t.edgepaths[f],t.smoothing),h+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(f),1),r=t.edgepaths[f][t.edgepaths[f].length-1],s=-1,o=0;o<4;o++){if(!r){a.log("Missing end?",f,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!m(r)?n=e[1]:v(r)?n=e[0]:g(r)?n=e[3]:m(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):a.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;h+="L"+n}if(s===t.edgepaths.length){a.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;f<t.paths.length;f++)h+=i.smoothclosed(t.paths[f],t.smoothing);return h}function x(t,e,r,n){var i=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,h=Math.sin(c)*i,f=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=m.EDGECOST*(1/(f-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,v=l-h,y=s+u,x=l+h,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,T=2*a.segmentDistance(g,v,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,M=A?m.SAMELEVELDISTANCE:1;if(T<=M)return 1/0;d+=m.NEIGHBORCOST*(A?m.SAMELEVELFACTOR:1)/(T-M)}return d}r.plot=function(t,e,o,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,o,"contour").each(function(o){var s=n.select(this),m=o[0],x=m.trace,b=m.x,_=m.y,w=x.contours,k=p(w,e,m),T=a.ensureSingle(s,"g","heatmapcoloring"),A=[];"heatmap"===w.coloring&&(A=[o]),u(t,e,A,T),h(k),f(k);var M=l.c2p(b[0],!0),S=l.c2p(b[b.length-1],!0),E=c.c2p(_[0],!0),L=c.c2p(_[_.length-1],!0),C=[[M,L],[S,L],[S,E],[M,E]],P=k;"constraint"===w.type&&(P=d(k,w._operation)),function(t,e,r){var n=a.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"===r.coloring?[0]:[]);n.enter().append("path"),n.exit().remove(),n.attr("d","M"+e.join("L")+"Z").style("stroke","none")}(s,C,w),function(t,e,r,i){var o="fill"===i.coloring||"constraint"===i.type&&"="!==i._operation,s="M"+r.join("L")+"Z";o&&g(e,i);var l=a.ensureSingle(t,"g","contourfill").selectAll("path").data(o?e:[]);l.enter().append("path"),l.exit().remove(),l.each(function(t){var e=(t.prefixBoundary?s:"")+y(t,r);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()})}(s,P,C,w),function(t,e,o,s,l){var c=a.ensureSingle(t,"g","contourlines"),u=!1!==l.showlines,h=l.showlabels,f=u&&h,p=r.createLines(c,u||h,e),d=r.createLineClip(c,f,o,s.trace.uid),g=t.selectAll("g.contourlabels").data(h?[0]:[]);if(g.exit().remove(),g.enter().append("g").classed("contourlabels",!0),h){var m=[],y=[];a.clearLocationCache();var x=r.labelFormatter(o,s),b=i.tester.append("text").attr("data-notex",1).call(i.font,l.labelfont),_=e[0].xaxis,w=e[0].yaxis,k=_._length,T=w._length,A=_.range,M=w.range,S=a.aggNums(Math.min,null,s.x),E=a.aggNums(Math.max,null,s.x),L=a.aggNums(Math.min,null,s.y),C=a.aggNums(Math.max,null,s.y),P=Math.max(_.c2p(S,!0),0),O=Math.min(_.c2p(E,!0),k),z=Math.max(w.c2p(C,!0),0),I=Math.min(w.c2p(L,!0),T),D={};A[0]<A[1]?(D.left=P,D.right=O):(D.left=O,D.right=P),M[0]<M[1]?(D.top=z,D.bottom=I):(D.top=I,D.bottom=z),D.middle=(D.top+D.bottom)/2,D.center=(D.left+D.right)/2,m.push([[D.left,D.top],[D.right,D.top],[D.right,D.bottom],[D.left,D.bottom]]);var R=Math.sqrt(k*k+T*T),F=v.LABELDISTANCE*R/Math.max(1,e.length/v.LABELINCREASE);p.each(function(t){var e=r.calcTextOpts(t.level,x,b,o);n.select(this).selectAll("path").each(function(){var t=a.getVisibleSegment(this,D,e.height/2);if(t&&!(t.len<(e.width+e.height)*v.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),v.LABELMAX),i=0;i<n;i++){var o=r.findBestTextLocation(this,t,e,y,D);if(!o)break;r.addLabelData(o,e,y,m)}})}),b.remove(),r.drawLabels(g,y,o,d,f?m:null)}h&&!u&&p.remove()}(s,k,t,m,w),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,c="clip"+s.uid,u=l.selectAll("#"+c).data(s.connectgaps?[]:[0]);if(u.enter().append("clipPath").classed("contourclip",!0).attr("id",c),u.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,a=[],i=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<i;e++)a.push(s.slice());for(e=0;e<n.length;e++)r=n[e],a[r[0]][r[1]]=0;return t.zmask=a,a}(n),smoothing:0};h([p]),f([p]),g([p],{type:"levels"});var d=a.ensureSingle(u,"path","");d.attr("d",(p.prefixBoundary?"M"+o.join("L")+"Z":"")+y(p,o))}else c=null;i.setClipUrl(t,c,r)}(s,e,t,m,C)})},r.createLines=function(t,e,r){var n=r[0].smoothing,a=t.selectAll("g.contourlevel").data(e?r:[]);if(a.exit().remove(),a.enter().append("g").classed("contourlevel",!0),e){var o=a.selectAll("path.openline").data(function(t){return t.pedgepaths||t.edgepaths});o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",function(t){return i.smoothopen(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var s=a.selectAll("path.closedline").data(function(t){return t.ppaths||t.paths});s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",function(t){return i.smoothclosed(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return a},r.createLineClip=function(t,e,r,n){var a=e?"clipline"+n:null,o=r._fullLayout._clips.selectAll("#"+a).data(e?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",a),i.setClipUrl(t,a,r),o},r.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,a=n.contours;if(a.labelformat)return r._d3locale.numberFormat(a.labelformat);var i,s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)i=s.colorbar._axis;else{if(i={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"},"constraint"===a.type){var u=a.value;Array.isArray(u)?i.range=[u[0],u[u.length-1]]:i.range=[u,u]}else i.range=[a.start,a.end],i.nticks=(a.end-a.start)/a.size;i.range[0]===i.range[1]&&(i.range[1]+=i.range[0]||1),i.nticks||(i.nticks=1e3),c(i,r),l.prepTicks(i),i._tmin=null,i._tmax=null}return function(t){return l.tickText(i,t).text}},r.calcTextOpts=function(t,e,r,n){var a=e(t);r.text(a).call(s.convertToTspans,n);var o=i.bBox(r.node(),!0);return{text:a,width:o.width,height:o.height,level:t,dy:(o.top+o.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var o,s,l,c,u,h=r.width;e.isClosed?(s=e.len/m.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-h)/(m.INITIALSEARCHPOINTS+1),o=e.min+s+h/2,l=e.max-(s+h)/2);for(var f=1/0,p=0;p<m.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=a.getTextLocation(t,e.total,d,h),v=x(g,r,n,i);v<f&&(f=v,u=g,c=d)}if(f>2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=m.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var a=e.width/2,i=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),h=a*u,f=i*c,p=a*c,d=-i*u,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,i,o){var l=t.selectAll("text").data(e,function(t){return t.text+","+t.x+","+t.y+","+t.theta});if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,a=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:a,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+a+")"}).call(s.convertToTspans,r)}),o){for(var c="",u=0;u<o.length;u++)c+="M"+o[u].join("L")+"Z";a.ensureSingle(i,"path","").attr("d",c)}}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/set_convert":782,"../heatmap/plot":1009,"./close_boundaries":943,"./constants":945,"./convert_to_constraints":949,"./empty_pathinfo":951,"./find_all_paths":953,"./make_crossings":958,d3:164}],960:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib");function i(t,e,r){var a={type:"linear",range:[t,e]};return n.autoTicks(a,(e-t)/(r||15)),a}e.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=a.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=a.aggNums(Math.max,null,e));var l=i(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),a.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;if(u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),!(r.size>0))c=u===h?1:i(u,h,t.ncontours).dtick,f.size=r.size=c}}},{"../../lib":716,"../../plots/cartesian/axes":764}],961:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",function(t){return t[0].trace.opacity}),e.each(function(t){var e=n.select(this),r=t[0].trace,i=r.contours,s=r.line,l=i.size||1,c=i.start,u="constraint"===i.type,h=!u&&"lines"===i.coloring,f=!u&&"fill"===i.coloring,p=h||f?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(a.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)});var d=i.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){a.font(n.select(this),{family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(f){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}}),i(t)}},{"../../components/drawing":612,"../heatmap/style":1010,"./make_color_map":957,d3:164}],962:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),a=t("./label_defaults");e.exports=function(t,e,r,i,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,i,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),a(r,i,c,o)}},{"../../components/colorscale/defaults":601,"./label_defaults":956}],963:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=a.contours;e.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:a.fillcolor,autocontour:a.autocontour,ncontours:a.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:a.line.color,width:a.line.width,dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../contour/attributes":941,"../heatmap/attributes":998}],964:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),a=t("../../lib"),i=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/interp2d"),l=t("../heatmap/find_empties"),c=t("../heatmap/make_bound_array"),u=t("./defaults"),h=t("../carpet/lookup_carpetid"),f=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,h,f,p,d,g,v=e._carpetTrace,m=v.aaxis,y=v.baxis;m._minDtick=0,y._minDtick=0,a.isArray1D(e.z)&&i(e,m,y,"a","b",["z"]);r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?m.makeCalcdata(e,"_a"):[],f=f?y.makeCalcdata(e,"_b"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=a.maxRowLength(g),b="scaled"===e.xtype?"":r,_=c(e,b,u,h,x,m),w="scaled"===e.ytype?"":f,k=c(e,w,p,d,g.length,y),T={a:_,b:k,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[T]}(t,e);return f(e,e._z),g}}},{"../../components/colorscale/calc":599,"../../lib":716,"../carpet/lookup_carpetid":914,"../contour/set_contours":960,"../heatmap/clean_2d_array":1e3,"../heatmap/convert_column_xyz":1002,"../heatmap/find_empties":1004,"../heatmap/interp2d":1007,"../heatmap/make_bound_array":1008,"./defaults":965}],965:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}if(u("carpet"),t.a&&t.b){if(!a(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,i,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":716,"../contour/constraint_defaults":946,"../contour/contours_defaults":948,"../contour/style_defaults":962,"../heatmap/xyz_defaults":1012,"./attributes":963}],966:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../contour/colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":775,"../contour/colorbar":944,"../contour/style":961,"./attributes":963,"./calc":964,"./defaults":965,"./plot":967}],967:[function(t,e,r){"use strict";var n=t("d3"),a=t("../carpet/map_1d_array"),i=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),h=t("../contour/constants"),f=t("../contour/convert_to_constraints"),p=t("../contour/empty_pathinfo"),d=t("../contour/close_boundaries"),g=t("../carpet/lookup_carpetid"),v=t("../carpet/axis_aligned_line");function m(t,e,r){var n=t.getPointAtLength(e),a=t.getPointAtLength(r),i=a.x-n.x,o=a.y-n.y,s=Math.sqrt(i*i+o*o);return[i/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each(function(r){var b=n.select(this),k=r[0],T=k.trace,A=T._carpetTrace=g(t,T),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=k.a,E=k.b,L=T.contours,C=p(L,e,k),P="constraint"===L.type,O=L._operation,z=P?"="===O?"lines":"fill":L.coloring,I=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(C,D,R);var F,B,N,j,V=C;"constraint"===L.type&&(V=f(C,O)),function(t,e){var r,n,a,i,o,s,l,c,u;for(r=0;r<t.length;r++){for(i=t[r],o=i.pedgepaths=[],s=i.ppaths=[],n=0;n<i.edgepaths.length;n++){for(u=i.edgepaths[n],l=[],a=0;a<u.length;a++)l[a]=e(u[a]);o.push(l)}for(n=0;n<i.paths.length;n++){for(u=i.paths[n],c=[],a=0;a<u.length;a++)c[a]=e(u[a]);s.push(c)}}}(C,H);var U=[];for(j=M.clipsegments.length-1;j>=0;j--)F=M.clipsegments[j],B=a([],F.x,_.c2p),N=a([],F.y,w.c2p),B.reverse(),N.reverse(),U.push(i(B,N,F.bicubic));var q="M"+U.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f<e.length;f++)c=e[f],u=a([],c.x,r.c2p),h=a([],c.y,n.c2p),d.push(i(u,h,c.bicubic));p.attr("d","M"+d.join("L")+"Z").style("stroke","none")}(b,M.clipsegments,_,w,P,z),function(t,e,r,a,i,l,c,u,h,f,p){var g="fill"===f;g&&d(i,t.contours);var m=s.ensureSingle(e,"g","contourfill").selectAll("path").data(g?i:[]);m.enter().append("path"),m.exit().remove(),m.each(function(t){var e=(t.prefixBoundary?p:"")+function(t,e,r,n,a,i,l,c){var u,h,f,p,d,g,m,y="",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])<w}function T(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function M(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,u="";for(k(t)&&!M(t)||T(t)&&!A(t)?(s=a.aaxis,o=v(a,i,[t[0],e[0]],.5*(t[1]+e[1]))):(s=a.baxis,o=v(a,i,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(u+=s.smoothing?"C":"L",n=0;n<o[r].length;n++){var h=o[r][n];u+=[l.c2p(h[0]),c.c2p(h[1])]+" "}return u}u=0,h=null;for(;x.length;){var E=e.edgepaths[u][0];for(h&&(y+=S(h,E)),m=o.smoothopen(e.edgepaths[u].map(n),e.smoothing),y+=b?m:m.replace(/^M/,"L"),x.splice(x.indexOf(u),1),h=e.edgepaths[u][e.edgepaths[u].length-1],d=-1,p=0;p<4;p++){if(!h){s.log("Missing end?",u,e);break}for(k(h)&&!M(h)?f=r[1]:A(h)?f=r[0]:T(h)?f=r[3]:M(h)&&(f=r[2]),g=0;g<e.edgepaths.length;g++){var L=e.edgepaths[g][0];Math.abs(h[0]-f[0])<_?Math.abs(h[0]-L[0])<_&&(L[1]-h[1])*(f[1]-L[1])>=0&&(f=L,d=g):Math.abs(h[1]-f[1])<w?Math.abs(h[1]-L[1])<w&&(L[0]-h[0])*(f[0]-L[0])>=0&&(f=L,d=g):s.log("endpt to newendpt is not vert. or horz.",h,f,L)}if(d>=0)break;y+=S(h,f),h=f}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(h,f)+"Z",h=null)}for(u=0;u<e.paths.length;u++)y+=o.smoothclosed(e.paths[u].map(n),e.smoothing);return y}(0,t,l,c,u,h,r,a);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()})}(T,b,_,w,V,I,H,A,M,z,q),function(t,e,r,a,i,l,c){var f=s.ensureSingle(t,"g","contourlines"),p=!1!==i.showlines,d=i.showlabels,g=p&&d,v=u.createLines(f,p||d,e),b=u.createLineClip(f,g,r,a.trace.uid),_=t.selectAll("g.contourlabels").data(d?[0]:[]);if(_.exit().remove(),_.enter().append("g").classed("contourlabels",!0),d){var w=l.xaxis,k=l.yaxis,T=w._length,A=k._length,M=[[[0,0],[T,0],[T,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(r,a),L=o.tester.append("text").attr("data-notex",1).call(o.font,i.labelfont),C={left:0,right:T,center:T/2,top:0,bottom:A,middle:A/2},P=Math.sqrt(T*T+A*A),O=h.LABELDISTANCE*P/Math.max(1,e.length/h.LABELINCREASE);v.each(function(t){var e=u.calcTextOpts(t.level,E,L,r);n.select(this).selectAll("path").each(function(r){var n=s.getVisibleSegment(this,C,e.height/2);if(n&&(function(t,e,r,n,a,i){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=a.a[0],c=a.a[a.a.length-1],u=a.b[0],h=a.b[a.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=y(a.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-h)<.1)&&(r=y(a.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),n}var p=m(t,0,1),d=m(t,n.total,n.total-1),g=f(o[0],p),v=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>v&&(n.max=v);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var a=Math.min(Math.ceil(n.len/O),h.LABELMAX),i=0;i<a;i++){var o=u.findBestTextLocation(this,n,e,S,C);if(!o)break;u.addLabelData(o,e,S,M)}})}),L.remove(),u.drawLabels(_,S,r,b,g?M:null)}d&&!p&&v.remove()}(b,C,t,k,L,e,A),o.setClipUrl(b,A._clipPathId,t)}function H(t){var e=A.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}})}},{"../../components/drawing":612,"../../lib":716,"../carpet/axis_aligned_line":898,"../carpet/lookup_carpetid":914,"../carpet/makepath":915,"../carpet/map_1d_array":916,"../contour/close_boundaries":943,"../contour/constants":945,"../contour/convert_to_constraints":949,"../contour/empty_pathinfo":951,"../contour/find_all_paths":953,"../contour/make_crossings":958,"../contour/plot":959,d3:164}],968:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/attributes"),o=t("../scattermapbox/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},i.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:a()},n("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scattermapbox/attributes":1181}],969:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("../../constants/numerical").BADNUM,o=t("../../components/colorscale/calc"),s=t("../../lib")._;e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=a(c)&&c.length,h=0;h<r;h++){var f=l[h]={},p=e.lon[h],d=e.lat[h];if(f.lonlat=n(p)&&n(d)?[+p,+d]:[i,i],u){var g=c[h];f.z=n(g)?g:i}}return o(t,e,{vals:u?c:[0,1],containerStr:"",cLetter:"z"}),r&&(l[0].t={labels:{lat:s(t,"lat:")+" ",lon:s(t,"lon:")+" "}}),l}},{"../../components/colorscale/calc":599,"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],970:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../components/color"),o=t("../../components/colorscale"),s=t("../../constants/numerical").BADNUM,l=t("../../lib/geojson_utils").makeBlank;e.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,c=e._opts={heatmap:{layout:{visibility:"none"},paint:{}},geojson:l()};if(!r)return c;var u,h=[],f=e.z,p=e.radius,d=a.isArrayOrTypedArray(f)&&f.length,g=a.isArrayOrTypedArray(p);for(u=0;u<t.length;u++){var v=t[u],m=v.lonlat;if(m[0]!==s){var y={};if(d){var x=v.z;y.z=x!==s?x:0}g&&(y.r=n(p[u])&&p[u]>0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:m},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],k=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u<_.length;u++)k.push(_[u][0],_[u][1]);var T=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return a.extendFlat(c.heatmap.paint,{"heatmap-weight":d?T:1/(b.max-b.min),"heatmap-color":k,"heatmap-radius":g?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),c.geojson={type:"FeatureCollection",features:h},c.heatmap.layout.visibility="visible",c}},{"../../components/color":591,"../../components/colorscale":603,"../../constants/numerical":692,"../../lib":716,"../../lib/geojson_utils":711,"fast-isnumeric":227}],971:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("lon")||[],c=s("lat")||[],u=Math.min(l.length,c.length);u?(e._length=u,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),a(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":968}],972:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],973:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../scattermapbox/hover");e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=a.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var a=(e.hi||t.hoverinfo).split("+"),i=-1!==a.indexOf("all"),o=-1!==a.indexOf("lon"),s=-1!==a.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||o&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==a.indexOf("text"))&&n.fillText(e,t,c);return c.join("<br>")}(c,u,l[0].t.labels),[s]}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../scattermapbox/hover":1186}],974:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),formatLabels:t("../scattermapbox/format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var a=r[n],i=a.id;if("symbol"===a.type&&"string"==typeof i&&-1===i.indexOf("plotly-"))return i}},moduleType:"trace",name:"densitymapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl"],meta:{hr_name:"density_mapbox"}}},{"../../plots/mapbox":819,"../heatmap/colorbar":1001,"../scattermapbox/format_labels":1185,"./attributes":968,"./calc":969,"./defaults":971,"./event_data":972,"./hover":973,"./plot":975}],975:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix;function i(t,e){this.type="densitymapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["heatmap",a+e+"-heatmap"]],this.below=null}var o=i.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,a=n(t),i=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(a.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(a,i),this.below=i);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],c=s[1],u=a[l];e.setOptions(c,"setLayoutProperty",u.layout),"visible"===u.layout.visibility&&e.setOptions(c,"setPaintProperty",u.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new i(t,r.uid),o=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}},{"../../plots/mapbox/constants":817,"./convert":970}],976:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var a=e.marker;if(a){n.mergeArray(a.opacity,t,"mo"),n.mergeArray(a.color,t,"mc");var i=a.line;i&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"))}}},{"../../lib":716}],977:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../scatter/attributes").line,i=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label","value"])}),text:n.text,textposition:c({},n.textposition,{dflt:"auto"}),insidetextanchor:c({},n.insidetextanchor,{dflt:"middle"}),textangle:c({},n.textangle,{dflt:0}),textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:c({},n.orientation,{}),offset:c({},n.offset,{arrayOk:!1}),width:c({},n.width,{arrayOk:!1}),marker:n.marker,connector:{fillcolor:{valType:"color",editType:"style"},line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{dflt:0,editType:"plot"}),dash:a.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":591,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118,"./constants":979}],978:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("./arrays_to_calcdata"),i=t("../scatter/calc_selection"),o=t("../../constants/numerical").BADNUM;function s(t){return t===o?0:t}e.exports=function(t,e){var r,l,c,u,h=n.getFromId(t,e.xaxis||"x"),f=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=h.makeCalcdata(e,"x"),l=f.makeCalcdata(e,"y")):(r=f.makeCalcdata(e,"y"),l=h.makeCalcdata(e,"x"));var p,d=Math.min(l.length,r.length),g=new Array(d);for(e._base=[],c=0;c<d;c++){r[c]<0&&(r[c]=o);var v=!1;r[c]!==o&&c+1<d&&r[c+1]!==o&&(v=!0),u=g[c]={p:l[c],s:r[c],cNext:v},e._base[c]=-.5*u.s,e.ids&&(u.id=String(e.ids[c])),0===c&&(g[0].vTotal=0),g[0].vTotal+=s(u.s),u.begR=s(u.s)/s(g[0].s)}for(c=0;c<d;c++)(u=g[c]).s!==o&&(u.sumR=u.s/g[0].vTotal,u.difR=void 0!==p?u.s/p:1,p=u.s);return a(g,e),i(g,e),g}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120,"./arrays_to_calcdata":976}],979:[function(t,e,r){"use strict";e.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}},{}],980:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a],d="h"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"funnel"===p.type&&(r=s[a],d?f.push(r):h.push(r),u.push(r))}var g={mode:i.funnelmode,norm:i.funnelnorm,gap:i.funnelgap,groupgap:i.funnelgroupgap};for(n(t,l,c,h,g),n(t,c,l,f,g),a=0;a<u.length;a++){r=u[a];for(var v=0;v<r.length;v++)v+1<r.length&&(r[v].nextP0=r[v+1].p0,r[v].nextS0=r[v+1].s0,r[v].nextP1=r[v+1].p1,r[v].nextS1=r[v+1].s1)}}},{"../bar/cross_trace_calc":858}],981:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../bar/defaults").handleGroupingDefaults,i=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("./attributes"),l=t("../../components/color");e.exports={supplyDefaults:function(t,e,r,a){function c(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,c)){c("orientation",e.y&&!e.x?"v":"h"),c("offset"),c("width");var u=c("text");c("hovertext"),c("hovertemplate");var h=c("textposition");i(t,e,a,c,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"===e.textposition||e.texttemplate||c("textinfo",Array.isArray(u)?"text+value":"value");var f=c("marker.color",r);c("marker.line.color",l.defaultLine),c("marker.line.width"),c("connector.visible")&&(c("connector.fillcolor",function(t){var e=n.isArrayOrTypedArray(t)?"#000":t;return l.addOpacity(e,.5*l.opacity(e))}(f)),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if("group"===e.funnelmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{"../../components/color":591,"../../lib":716,"../bar/defaults":859,"../scatter/xy_defaults":1144,"./attributes":977}],982:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"percentInitial"in e&&(t.percentInitial=e.percentInitial),"percentPrevious"in e&&(t.percentPrevious=e.percentPrevious),"percentTotal"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],983:[function(t,e,r){"use strict";var n=t("../../components/color").opacity,a=t("../bar/hover").hoverOnBars,i=t("../../lib").formatPercent;e.exports=function(t,e,r,o){var s=a(t,e,r,o);if(s){var l=s.cd,c=l[0].trace,u="h"===c.orientation,h=l[s.index];s[(u?"x":"y")+"LabelVal"]=h.s,s.percentInitial=h.begR,s.percentInitialLabel=i(h.begR,1),s.percentPrevious=h.difR,s.percentPreviousLabel=i(h.difR,1),s.percentTotal=h.sumR,s.percentTotalLabel=i(h.sumR,1);var f=h.hi||c.hoverinfo,p=[];if(f&&"none"!==f&&"skip"!==f){var d="all"===f,g=f.split("+"),v=function(t){return d||-1!==g.indexOf(t)};v("percent initial")&&p.push(s.percentInitialLabel+" of initial"),v("percent previous")&&p.push(s.percentPreviousLabel+" of previous"),v("percent total")&&p.push(s.percentTotalLabel+" of total")}return s.extraText=p.join("<br>"),s.color=function(t,e){var r=t.marker,a=e.mc||r.color,i=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(a))return a;if(n(i)&&o)return i}(c,h),[s]}}},{"../../components/color":591,"../../lib":716,"../bar/hover":862}],984:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":977,"./calc":978,"./cross_trace_calc":980,"./defaults":981,"./event_data":982,"./hover":983,"./layout_attributes":985,"./layout_defaults":986,"./plot":987,"./style":988}],985:[function(t,e,r){"use strict";e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],986:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"funnel"===l.type){i=!0;break}}i&&(o("funnelmode"),o("funnelgap",.2),o("funnelgroupgap"))}},{"../../lib":716,"./layout_attributes":985}],987:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../bar/plot").plot;function s(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),a[3]=o.c2p(t.nextS1,!0),i[3]=s.c2p(t.nextP1,!0),n?[a,i]:[i,a]}e.exports=function(t,e,r,l){var c=t._fullLayout;!function(t,e,r,o){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),u=r[0].trace,h=a.ensureSingle(o,"g","regions");if(u.connector&&u.connector.visible){var f="h"===u.orientation,p=h.selectAll("g.region").data(a.identity);p.enter().append("g").classed("region",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var u=s(r,l,c,f),h=u[0],p=u[1],g="";void 0!==h[3]&&void 0!==p[3]&&(g+=f?"M"+h[0]+","+p[1]+"L"+h[2]+","+p[2]+"H"+h[3]+"L"+h[1]+","+p[1]+"Z":"M"+h[1]+","+p[1]+"L"+h[2]+","+p[3]+"V"+p[2]+"L"+h[1]+","+p[0]+"Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else h.remove()})}(t,e,r,l),function(t,e,r,o){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),u=r[0].trace,h=a.ensureSingle(o,"g","lines");if(u.connector&&u.connector.visible&&u.connector.line.width){var f="h"===u.orientation,p=h.selectAll("g.line").data(a.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var u=s(r,l,c,f),h=u[0],p=u[1],g="";void 0!==h[3]&&void 0!==p[3]&&(f?(g+="M"+h[0]+","+p[1]+"L"+h[2]+","+p[2],g+="M"+h[1]+","+p[1]+"L"+h[3]+","+p[2]):(g+="M"+h[1]+","+p[1]+"L"+h[2]+","+p[3],g+="M"+h[1]+","+p[0]+"L"+h[2]+","+p[2])),""===g&&(g="M0,0Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else h.remove()})}(t,e,r,l),o(t,e,r,l,{mode:c.funnelmode,norm:c.funnelmode,gap:c.funnelgap,groupgap:c.funnelgroupgap})}},{"../../components/drawing":612,"../../lib":716,"../bar/plot":866,d3:164}],988:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style").styleTextPoints;e.exports={style:function(t,e,r){var l=r||n.select(t).selectAll("g.funnellayer").selectAll("g.trace");l.style("opacity",function(t){return t[0].trace.opacity}),l.each(function(e){var r=n.select(this),l=e[0].trace;r.selectAll(".point > path").each(function(t){if(!t.isBlank){var e=l.marker;n.select(this).call(i.fill,t.mc||e.color).call(i.stroke,t.mlc||e.line.color).call(a.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".regions").each(function(){n.select(this).selectAll("path").style("stroke-width",0).call(i.fill,l.connector.fillcolor)}),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],989:[function(t,e,r){"use strict";var n=t("../pie/attributes"),a=t("../../plots/attributes"),i=t("../../plots/domain").attributes,o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("../../lib/extend").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092}],990:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="funnelarea",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],991:[function(t,e,r){"use strict";var n=t("../pie/calc");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},{"../pie/calc":1094}],992:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}var c,u=l("values"),h=n.isArrayOrTypedArray(u),f=l("labels");if(Array.isArray(f)?(c=f.length,h&&(c=Math.min(c,u.length))):h&&(c=u.length,l("label0"),l("dlabel")),c){e._length=c,l("marker.line.width")&&l("marker.line.color",s.paper_bgcolor),l("marker.colors"),l("scalegroup");var p,d=l("text"),g=l("texttemplate");if(g||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),g||p&&"none"!==p){var v=l("textposition");o(t,e,s,l,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}i(e,s,l),l("title.text")&&(l("title.position"),n.coerceFont(l,"title.font",s.font)),l("aspectratio"),l("baseratio")}else e.visible=!1}},{"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":989}],993:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"funnelarea",basePlotModule:t("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style"),styleOne:t("../pie/style_one"),meta:{}}},{"../pie/style_one":1103,"./attributes":989,"./base_plot":990,"./calc":991,"./defaults":992,"./layout_attributes":994,"./layout_defaults":995,"./plot":996,"./style":997}],994:[function(t,e,r){"use strict";var n=t("../pie/layout_attributes").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{"../pie/layout_attributes":1099}],995:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},{"../../lib":716,"./layout_attributes":994}],996:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../bar/plot").toMoveInsideBar,l=t("../pie/helpers"),c=t("../pie/plot"),u=c.attachFxHandlers,h=c.determineInsideTextFont,f=c.layoutAreas,p=c.prerenderTitles,d=c.positionTitleOutside;function g(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;p(e,t),f(e,r._size),i.makeTraceGroups(r._funnelarealayer,e,"trace").each(function(e){var f=n.select(this),p=e[0],v=p.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,a=r.baseratio;a>.999&&(a=.999);var i,o=Math.pow(a,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var h,f,p=[];for(p.push(u()),h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var d=f.v/l;c+=d,p.push(u())}var g=1/0,v=-1/0;for(h=0;h<p.length;h++)i=p[h],g=Math.min(g,i[1]),v=Math.max(v,i[1]);for(h=0;h<p.length;h++)p[h][1]-=(v+g)/2;var m=p[p.length-1][0],y=e.r,x=(v-g)/2,b=y/m,_=y/x*n;for(e.r=_*x,h=0;h<p.length;h++)p[h][0]*=b,p[h][1]*=_;var w=[-(i=p[0])[0],i[1]],k=[i[0],i[1]],T=0;for(h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var A=p[T+=1][0],M=p[T][1];f.TL=[-A,M],f.TR=[A,M],f.BL=w,f.BR=k,f.pxmid=(S=f.TR,E=f.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=f.TL,k=f.TR}var S,E}(e),f.each(function(){var f=n.select(this).selectAll("g.slice").data(e);f.enter().append("g").classed("slice",!0),f.exit().remove(),f.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=v.index;var f=p.cx,d=p.cy,m=n.select(this),y=m.selectAll("path.surface").data([r]);y.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),m.call(u,t,e);var x="M"+(f+r.TR[0])+","+(d+r.TR[1])+g(r.TR,r.BR)+g(r.BR,r.BL)+g(r.BL,r.TL)+"Z";y.attr("d",x),c.formatSliceLabel(t,r,p);var b=l.castOption(v.textposition,r.pts),_=m.selectAll("g.slicetext").data(r.text&&"none"!==b?[0]:[]);_.enter().append("g").classed("slicetext",!0),_.exit().remove(),_.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(a.font,h(v,r,t._fullLayout.font)).call(o.convertToTspans,t);var l,c,u,p=a.bBox(e.node()),g=Math.min(r.BL[1],r.BR[1]),m=Math.max(r.TL[1],r.TR[1]);c=Math.max(r.TL[0],r.BL[0]),u=Math.min(r.TR[0],r.BR[0]),l=i.getTextTransform(s(c,u,g,m,p,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})),e.attr("transform","translate("+f+","+d+")"+l)})}});var m=n.select(this).selectAll("g.titletext").data(v.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),s=v.title.text;v._meta&&(s=i.templateString(s,v._meta)),e.text(s).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(a.font,v.title.font).call(o.convertToTspans,t);var l=d(p,r._size);e.attr("transform","translate("+l.x+","+l.y+")"+(l.scale<1?"scale("+l.scale+")":"")+"translate("+l.tx+","+l.ty+")")})})})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../bar/plot":866,"../pie/helpers":1097,"../pie/plot":1101,d3:164}],997:[function(t,e,r){"use strict";var n=t("d3"),a=t("../pie/style_one");e.exports=function(t){t._fullLayout._funnelarealayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(a,t,e)})})}},{"../pie/style_one":1103,d3:164}],998:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../components/colorscale/attributes"),o=(t("../../constants/docs").FORMAT_LINK,t("../../lib/extend").extendFlat);e.exports=o({z:{valType:"data_array",editType:"calc"},x:o({},n.x,{impliedEdits:{xtype:"array"}}),x0:o({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:o({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:o({},n.y,{impliedEdits:{ytype:"array"}}),y0:o({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:o({},n.dy,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},zhoverformat:{valType:"string",dflt:"",editType:"none"},hovertemplate:a()},{transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../constants/docs":687,"../../lib/extend":707,"../../plots/template_attributes":840,"../scatter/attributes":1118}],999:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../histogram2d/calc"),s=t("../../components/colorscale/calc"),l=t("./convert_column_xyz"),c=t("./clean_2d_array"),u=t("./interp2d"),h=t("./find_empties"),f=t("./make_bound_array");e.exports=function(t,e){var r,p,d,g,v,m,y,x,b,_=i.getFromId(t,e.xaxis||"x"),w=i.getFromId(t,e.yaxis||"y"),k=n.traceIs(e,"contour"),T=n.traceIs(e,"histogram"),A=n.traceIs(e,"gl2d"),M=k?"best":e.zsmooth;if(_._minDtick=0,w._minDtick=0,T)r=(b=o(t,e)).x,p=b.x0,d=b.dx,g=b.y,v=b.y0,m=b.dy,y=b.z;else{var S=e.z;a.isArray1D(S)?(l(e,_,w,"x","y",["z"]),r=e._x,g=e._y,S=e._z):(r=e._x=e.x?_.makeCalcdata(e,"x"):[],g=e._y=e.y?w.makeCalcdata(e,"y"):[]),p=e.x0,d=e.dx,v=e.y0,m=e.dy,y=c(S,e,_,w),(k||e.connectgaps)&&(e._emptypoints=h(y),u(y,e._emptypoints))}function E(t){M=e._input.zsmooth=e.zsmooth=!1,a.warn('cannot use zsmooth: "fast": '+t)}if("fast"===M)if("log"===_.type||"log"===w.type)E("log axis found");else if(!T){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),C=Math.abs(L/100);for(x=0;x<r.length-1;x++)if(Math.abs(r[x+1]-r[x]-L)>C){E("x scale is not linear");break}}if(g.length&&"fast"===M){var P=(g[g.length-1]-g[0])/(g.length-1),O=Math.abs(P/100);for(x=0;x<g.length-1;x++)if(Math.abs(g[x+1]-g[x]-P)>O){E("y scale is not linear");break}}}var z=a.maxRowLength(y),I="scaled"===e.xtype?"":r,D=f(e,I,p,d,z,_),R="scaled"===e.ytype?"":g,F=f(e,R,v,m,y.length,w);A||(e._extremes[_._id]=i.findExtremes(_,D),e._extremes[w._id]=i.findExtremes(w,F));var B={x:D,y:F,z:y,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(I&&I.length===D.length-1&&(B.xCenter=I),R&&R.length===F.length-1&&(B.yCenter=R),T&&(B.xRanges=b.xRanges,B.yRanges=b.yRanges,B.pts=b.pts),k||s(t,e,{vals:y,cLetter:"z"}),k&&e.contours&&"heatmap"===e.contours.coloring){var N={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};B.xfill=f(N,I,p,d,z,_),B.yfill=f(N,R,v,m,y.length,w)}return[B]}},{"../../components/colorscale/calc":599,"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../histogram2d/calc":1030,"./clean_2d_array":1e3,"./convert_column_xyz":1002,"./find_empties":1004,"./interp2d":1007,"./make_bound_array":1008}],1000:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,h,f;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,h=0;h<t.length;h++)s=Math.max(s,t[h].length);if(0===s)return!1;c=function(t){return t.length},u=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,c=function(t,e){return t[e].length},u=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===i||r===i?i:u(t,e,r)};function g(t){if(e&&"carpet"!==e.type&&"contourcarpet"!==e.type&&t&&"category"===t.type&&e["_"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e["_"+r+"CategoryMap"]||e[r];for(h=0;h<o.length;h++)n[o[h]]=h;return function(e){var r=n[t._categories[e]];return r+1?r:i}}return a.identity}var v=g(r),m=g(o);o&&"category"===o.type&&(s=o._categories.length);var y=new Array(s);for(h=0;h<s;h++)for(l=r&&"category"===r.type?r._categories.length:c(t,h),y[h]=new Array(l),f=0;f<l;f++)y[h][f]=p(d(t,m(h),v(f)));return y}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],1001:[function(t,e,r){"use strict";e.exports={min:"zmin",max:"zmax"}},{}],1002:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,i,o,s){var l,c,u,h,f=t._length,p=e.makeCalcdata(t,i),d=r.makeCalcdata(t,o),g=t.text,v=void 0!==g&&n.isArray1D(g),m=t.hovertext,y=void 0!==m&&n.isArray1D(m),x=n.distinctVals(p),b=x.vals,_=n.distinctVals(d),w=_.vals,k=[];for(l=0;l<s.length;l++)k[l]=n.init2dArray(w.length,b.length);for(v&&(u=n.init2dArray(w.length,b.length)),y&&(h=n.init2dArray(w.length,b.length)),l=0;l<f;l++)if(p[l]!==a&&d[l]!==a){var T=n.findBin(p[l]+x.minDiff/2,b),A=n.findBin(d[l]+_.minDiff/2,w);for(c=0;c<s.length;c++){var M=t[s[c]];k[c][A][T]=M[l]}v&&(u[A][T]=g[l]),y&&(h[A][T]=m[l])}for(t["_"+i]=b,t["_"+o]=w,c=0;c<s.length;c++)t["_"+s[c]]=k[c];v&&(t._text=u),y&&(t._hovertext=h),e&&"category"===e.type&&(t["_"+i+"CategoryMap"]=b.map(function(t){return e._categories[t]})),r&&"category"===r.type&&(t["_"+o+"CategoryMap"]=w.map(function(t){return r._categories[t]}))}},{"../../constants/numerical":692,"../../lib":716}],1003:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./xyz_defaults"),i=t("./style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l)?(c("text"),c("hovertext"),c("hovertemplate"),i(t,e,c,l),c("hoverongaps"),c("connectgaps",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":998,"./style_defaults":1011,"./xyz_defaults":1012}],1004:[function(t,e,r){"use strict";var n=t("../../lib").maxRowLength;e.exports=function(t){var e,r,a,i,o,s,l,c,u=[],h={},f=[],p=t[0],d=[],g=[0,0,0],v=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],a=0;a<v;a++)void 0===d[a]&&((s=(void 0!==d[a-1]?1:0)+(void 0!==d[a+1]?1:0)+(void 0!==e[a]?1:0)+(void 0!==p[a]?1:0))?(0===r&&s++,0===a&&s++,r===t.length-1&&s++,a===d.length-1&&s++,s<4&&(h[[r,a]]=[r,a,s]),u.push([r,a,s])):f.push([r,a]));for(;f.length;){for(l={},c=!1,o=f.length-1;o>=0;o--)(s=((h[[(r=(i=f[o])[0])-1,a=i[1]]]||g)[2]+(h[[r+1,a]]||g)[2]+(h[[r,a-1]]||g)[2]+(h[[r,a+1]]||g)[2])/20)&&(l[i]=[r,a,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(i in l)h[i]=l[i],u.push(l[i])}return u.sort(function(t,e){return e[2]-t[2]})}},{"../../lib":716}],1005:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../components/colorscale").extractOpts;e.exports=function(t,e,r,s,l,c){var u,h,f,p,d=t.cd[0],g=d.trace,v=t.xa,m=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,k=d.zmask,T=g.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void a.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(A=[2*y[0]-y[1]],S=1;S<y.length;S++)A.push((y[S]+y[S-1])/2);for(A.push([2*y[y.length-1]-y[y.length-2]]),M=[2*x[0]-x[1]],S=1;S<x.length;S++)M.push((x[S]+x[S-1])/2);M.push([2*x[x.length-1]-x[x.length-2]])}f=Math.max(0,Math.min(A.length-2,a.findBin(e,A))),p=Math.max(0,Math.min(M.length-2,a.findBin(r,M)))}var E=v.c2p(y[f]),L=v.c2p(y[f+1]),C=m.c2p(x[p]),P=m.c2p(x[p+1]);c?(L=E,u=y[f],P=C,h=x[p]):(u=_?_[f]:(y[f]+y[f+1])/2,h=w?w[p]:(x[p]+x[p+1])/2,v&&"category"===v.type&&(u=y[f]),m&&"category"===m.type&&(h=x[p]),g.zsmooth&&(E=L=v.c2p(u),C=P=m.c2p(h)));var O=b[p][f];if(k&&!k[p][f]&&(O=void 0),void 0!==O||g.hoverongaps){var z;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[p])?z=d.hovertext[p][f]:Array.isArray(d.text)&&Array.isArray(d.text[p])&&(z=d.text[p][f]);var I=o(g),D={type:"linear",range:[I.min,I.max],hoverformat:T,_separators:v._separators,_numFormat:v._numFormat},R=i.tickText(D,O,"hover").text;return[a.extendFlat(t,{index:[p,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:E,x1:L,y0:C,y1:P,xLabelVal:u,yLabelVal:h,zLabelVal:O,zLabel:R,text:z})]}}},{"../../components/colorscale":603,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764}],1006:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:t("./colorbar"),style:t("./style"),hoverPoints:t("./hover"),moduleType:"trace",name:"heatmap",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap"],meta:{}}},{"../../plots/cartesian":775,"./attributes":998,"./calc":999,"./colorbar":1001,"./defaults":1003,"./hover":1005,"./plot":1009,"./style":1010}],1007:[function(t,e,r){"use strict";var n=t("../../lib"),a=[[-1,0],[1,0],[0,-1],[0,1]];function i(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,i,o,s,l,c,u,h,f,p,d,g,v,m=0;for(s=0;s<e.length;s++){for(i=(n=e[s])[0],o=n[1],d=t[i][o],p=0,f=0,l=0;l<4;l++)(u=t[i+(c=a[l])[0]])&&void 0!==(h=u[o+c[1]])&&(0===p?g=v=h:(g=Math.min(g,h),v=Math.max(v,h)),f++,p+=h);if(0===f)throw"iterateInterp2d order is wrong: no defined neighbors";t[i][o]=p/f,void 0===d?f<4&&(m=1):(t[i][o]=(1+r)*t[i][o]-r*d,v>g&&(m=Math.max(m,Math.abs(t[i][o]-d)/(v-g))))}return m}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&a>.01;r++)a=o(t,e,i(a));return a>.01&&n.log("interp2d didn't converge quickly",a),t}},{"../../lib":716}],1008:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i,o,s){var l,c,u,h=[],f=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(a(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=e.slice(0,o);else if(1===o)h=[e[0]-.5,e[0]+.5];else{for(h=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)h.push(.5*(e[u-1]+e[u]));h.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var v=h[h.length-1],m=v-h[h.length-2];for(u=g;u<o;u++)v+=m,h.push(v)}}else{var y=t[s._id.charAt(0)+"calendar"];if(p)l=s.r2c(r,0,y);else if(a(e)&&1===e.length)l=e[0];else if(void 0===r)l=0;else{l=("log"===s.type?s.d2c:s.r2c)(r,0,y)}for(c=i||1,u=f||d?0:-.5;u<o;u++)h.push(l+c*u)}return h}},{"../../lib":716,"../../registry":845}],1009:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=t("../../components/colorscale").makeColorScaleFuncFromTrace,l=t("../../constants/xmlns_namespaces");function c(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=e[n+1],s=o.constrain(n+(t-a)/(i-a)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function u(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=(t-a)/(e[n+1]-a)||0;return i<=0?{bin0:n,bin1:n,frac:0}:i<.5?{bin0:n,bin1:n+1,frac:i}:{bin0:n+1,bin1:n,frac:1-i}}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,f){var p=e.xaxis,d=e.yaxis;o.makeTraceGroups(f,r,"hm").each(function(e){var r,f,g,v,m,y,x=n.select(this),b=e[0],_=b.trace,w=b.z,k=b.x,T=b.y,A=b.xCenter,M=b.yCenter,S=i.traceIs(_,"contour"),E=S?"best":_.zsmooth,L=w.length,C=o.maxRowLength(w),P=!1,O=!1;for(y=0;void 0===r&&y<k.length-1;)r=p.c2p(k[y]),y++;for(y=k.length-1;void 0===f&&y>0;)f=p.c2p(k[y]),y--;for(f<r&&(g=f,f=r,r=g,P=!0),y=0;void 0===v&&y<T.length-1;)v=d.c2p(T[y]),y++;for(y=T.length-1;void 0===m&&y>0;)m=d.c2p(T[y]),y--;if(m<v&&(g=v,v=m,m=g,O=!0),S&&(A=k,M=T,k=b.xfill,T=b.yfill),"fast"!==E){var z="best"===E?0:.5;r=Math.max(-z*p._length,r),f=Math.min((1+z)*p._length,f),v=Math.max(-z*d._length,v),m=Math.min((1+z)*d._length,m)}var I=Math.round(f-r),D=Math.round(m-v);if(I<=0||D<=0){x.selectAll("image").data([]).exit().remove()}else{var R,F;"fast"===E?(R=C,F=L):(R=I,F=D);var B=document.createElement("canvas");B.width=R,B.height=F;var N,j,V=B.getContext("2d"),U=s(_,{noNumericCheck:!0,returnArray:!0});"fast"===E?(N=P?function(t){return C-1-t}:o.identity,j=O?function(t){return L-1-t}:o.identity):(N=function(t){return o.constrain(Math.round(p.c2p(k[t])-r),0,I)},j=function(t){return o.constrain(Math.round(d.c2p(T[t])-v),0,D)});var q,H,G,Y,W,X=j(0),Z=[X,X],J=P?0:1,K=O?0:1,Q=0,$=0,tt=0,et=0;if(E){var rt,nt=0;try{rt=new Uint8Array(I*D*4)}catch(t){rt=new Array(I*D*4)}if("best"===E){var at,it,ot,st=A||k,lt=M||T,ct=new Array(st.length),ut=new Array(lt.length),ht=new Array(I),ft=A?u:c,pt=M?u:c;for(y=0;y<st.length;y++)ct[y]=Math.round(p.c2p(st[y])-r);for(y=0;y<lt.length;y++)ut[y]=Math.round(d.c2p(lt[y])-v);for(y=0;y<I;y++)ht[y]=ft(y,ct);for(H=0;H<D;H++)for(it=w[(at=pt(H,ut)).bin0],ot=w[at.bin1],y=0;y<I;y++,nt+=4)h(rt,nt,W=Tt(it,ot,ht[y],at))}else for(H=0;H<L;H++)for(Y=w[H],Z=j(H),y=0;y<I;y++)W=kt(Y[y],1),h(rt,nt=4*(Z*I+N(y)),W);var dt=V.createImageData(I,D);try{dt.data.set(rt)}catch(t){var gt=dt.data,vt=gt.length;for(H=0;H<vt;H++)gt[H]=rt[H]}V.putImageData(dt,0,0)}else{var mt=_.xgap,yt=_.ygap,xt=Math.floor(mt/2),bt=Math.floor(yt/2);for(H=0;H<L;H++)if(Y=w[H],Z.reverse(),Z[K]=j(H+1),Z[0]!==Z[1]&&void 0!==Z[0]&&void 0!==Z[1])for(q=[G=N(0),G],y=0;y<C;y++)q.reverse(),q[J]=N(y+1),q[0]!==q[1]&&void 0!==q[0]&&void 0!==q[1]&&(W=kt(Y[y],(q[1]-q[0])*(Z[1]-Z[0])),V.fillStyle="rgba("+W.join(",")+")",V.fillRect(q[0]+xt,Z[0]+bt,q[1]-q[0]-mt,Z[1]-Z[0]-yt))}$=Math.round($/Q),tt=Math.round(tt/Q),et=Math.round(et/Q);var _t=a("rgb("+$+","+tt+","+et+")");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*_t.getLuminance();var wt=x.selectAll("image").data(e);wt.enter().append("svg:image").attr({xmlns:l.svg,preserveAspectRatio:"none"}),wt.attr({height:D,width:I,x:r,y:v,"xlink:href":B.toDataURL("image/png")})}function kt(t,e){if(void 0!==t){var r=U(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,$+=r[0]*e,tt+=r[1]*e,et+=r[2]*e,r}return[0,0,0,0]}function Tt(t,e,r,n){var a=t[r.bin0];if(void 0===a)return kt(void 0,1);var i,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-a||0,u=s-a||0;return i=void 0===o?void 0===l?0:void 0===s?2*(l-a):2*(2*l-s-a)/3:void 0===l?void 0===s?0:2*(2*a-o-s)/3:void 0===s?2*(2*l-o-a)/3:l+a-o-s,kt(a+r.frac*c+n.frac*(u+r.frac*i))}})}},{"../../components/colorscale":603,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../registry":845,d3:164,tinycolor2:535}],1010:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".hm image").style("opacity",function(t){return t.trace.opacity})}},{d3:164}],1011:[function(t,e,r){"use strict";e.exports=function(t,e,r){!1===r("zsmooth")&&(r("xgap"),r("ygap")),r("zhoverformat")}},{}],1012:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../registry");function o(t,e){var r=e(t);return"scaled"===(r?e(t+"type","array"):"scaled")&&(e(t+"0"),e("d"+t)),r}e.exports=function(t,e,r,s,l,c){var u,h,f=r("z");if(l=l||"x",c=c||"y",void 0===f||!f.length)return 0;if(a.isArray1D(t.z)){u=r(l),h=r(c);var p=a.minRowLength(u),d=a.minRowLength(h);if(0===p||0===d)return 0;e._length=Math.min(p,d,f.length)}else{if(u=o(l,r),h=o(c,r),!function(t){for(var e,r=!0,i=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!a.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(i=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&i&&o}(f))return 0;r("transpose"),e._length=null}return i.getComponentMethod("calendars","handleTraceDefaults")(t,e,[l,c],s),!0}},{"../../lib":716,"../../registry":845,"fast-isnumeric":227}],1013:[function(t,e,r){"use strict";for(var n=t("../heatmap/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],l={},c=0;c<s.length;c++){var u=s[c];l[u]=n[u]}i(l,a("",{cLetter:"z",autoColorDflt:!1})),e.exports=o(l,"calc","nested")},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../heatmap/attributes":998}],1014:[function(t,e,r){"use strict";var n=t("gl-heatmap2d"),a=t("../../plots/cartesian/axes"),i=t("../../lib/str2rgbarray");function o(t,e){this.scene=t,this.uid=e,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,a=n%r[0],i=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[a],e.y[i],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[i,a],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,a=e.length,o=new Array(a),s=new Array(4*a),l=0;l<a;l++){var c=e[l],u=i(c[1]);o[l]=r+c[0]*(n-r);for(var h=0;h<4;h++)s[4*l+h]=u[h]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c=this.scene.xaxis,u=this.scene.yaxis;t._extremes[c._id]=a.findExtremes(c,r.x),t._extremes[u._id]=a.findExtremes(u,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"gl-heatmap2d":253}],1015:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("../heatmap/defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../heatmap/calc"),plot:t("./convert"),moduleType:"trace",name:"heatmapgl",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","2dMap"],meta:{}}},{"../../plots/gl2d":802,"../heatmap/calc":999,"../heatmap/colorbar":1001,"../heatmap/defaults":1003,"./attributes":1013,"./convert":1014}],1016:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("./bin_attributes"),o=t("./constants"),s=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:i("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:i("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({},{keys:o.eventDataKeys}),marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"./bin_attributes":1018,"./constants":1022}],1017:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=t.length,n=0,a=0;a<r;a++)e[a]?(t[a]/=e[a],n+=t[a]):t[a]=null;return n}},{}],1018:[function(t,e,r){"use strict";e.exports=function(t,e){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}},{}],1019:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,a){var i=a[e];return n(i)?(i=Number(i),r[t]+=i,i):0},avg:function(t,e,r,a,i){var o=a[e];return n(o)&&(o=Number(o),r[t]+=o,i[t]++),0},min:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]>i){var o=i-r[t];return r[t]=i,o}}return 0},max:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]<i){var o=i-r[t];return r[t]=i,o}}return 0}}},{"fast-isnumeric":227}],1020:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.ONEAVGYEAR,i=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t("../../plots/cartesian/axes").tickIncrement;function h(t,e,r,n){if(t*e<=0)return 1/0;for(var a=Math.abs(e-t),i="date"===r.type,o=f(a,i),s=0;s<10;s++){var l=f(80*o,i);if(o===l)break;if(!p(l,t,e,i,r,n))break;o=l}return o}function f(t,e){return e&&t>c?t>o?t>1.1*a?a:t>1.1*i?i:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,i,s){if(n&&t>o){var l=d(e,i,s),c=d(r,i,s),u=t===a?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,a,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,i){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],g=r[1],v=Math.min(h(d+f,d+p,n,i),h(g+f,g+p,n,i)),m=Math.min(h(d+c,d+f,n,i),h(g+c,g+f,n,i));if(v>m&&m<Math.abs(g-d)/4e3?(s=v,l=!1):(s=Math.min(v,m),l=!0),"date"===n.type&&s>o){var y=s===a?1:6,x=s===a?"M12":"M1";return function(e,r){var o=n.c2d(e,a,i),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,i);if(c<e){var h=u(c,x,!1,i);(c+h)/2<e+t&&(c=h)}return r&&l?u(c,x,!0,i):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764}],1021:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../bar/arrays_to_calcdata"),l=t("./bin_functions"),c=t("./norm_functions"),u=t("./average"),h=t("./bin_label_vals");function f(t,e,r,s,l){var c,u,h,p,d,g,v,m=s+"bins",y=t._fullLayout,x=e["_"+s+"bingroup"],b=y._histogramBinOpts[x],_="overlay"===y.barmode,w=function(t){return r.r2c(t,0,p)},k=function(t){return r.c2r(t,0,p)},T="date"===r.type?function(t){return t||0===t?a.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function A(t,e,r){e[t+"Found"]?(e[t]=T(e[t]),null===e[t]&&(e[t]=r[t])):(g[t]=e[t]=r[t],a.nestedProperty(u[0],m+"."+t).set(r[t]))}if(e["_"+s+"autoBinFinished"])delete e["_"+s+"autoBinFinished"];else{u=b.traces;var M=[],S=!0,E=!1,L=!1;for(c=0;c<u.length;c++)if((h=u[c]).visible){var C=b.dirs[c];d=h["_"+C+"pos0"]=r.makeCalcdata(h,C),M=a.concat(M,d),delete h["_"+s+"autoBinFinished"],!0===e.visible&&(S?S=!1:(delete h._autoBin,h["_"+s+"autoBinFinished"]=1),i.traceIs(h,"2dMap")&&(E=!0),"histogram2dcontour"===h.type&&(L=!0))}p=u[0][s+"calendar"];var P=o.autoBin(M,r,b.nbins,E,p,b.sizeFound&&b.size),O=u[0]._autoBin={};if(g=O[b.dirs[0]]={},L&&(b.size||(P.start=k(o.tickIncrement(w(P.start),P.size,!0,p))),void 0===b.end&&(P.end=k(o.tickIncrement(w(P.end),P.size,!1,p)))),_&&!i.traceIs(e,"2dMap")&&0===P._dataSpan&&"category"!==r.type&&"multicategory"!==r.type){if(l)return[P,d,!0];P=function(t,e,r,n,i){var o,s,l,c=t._fullLayout,u=function(t,e){for(var r=e.xaxis,n=e.yaxis,a=e.orientation,i=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];"histogram"===l.type&&!0===l.visible&&l.orientation===a&&l.xaxis===r&&l.yaxis===n&&i.push(l)}return i}(t,e),h=!1,p=1/0,d=[e];for(o=0;o<u.length;o++)if((s=u[o])===e)h=!0;else if(h){var g=f(t,s,r,n,!0),v=g[0],m=g[2];s["_"+n+"autoBinFinished"]=1,s["_"+n+"pos0"]=g[1],m?d.push(s):p=Math.min(p,v.size)}else l=c._histogramBinOpts[s["_"+n+"bingroup"]],p=Math.min(p,l.size||s[i].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o]["_"+n+"pos0"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}isFinite(p)||(p=a.distinctVals(y).minDiff);for(o=0;o<d.length;o++){var _=(s=d[o])[n+"calendar"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[i]=s[i]=w,(l=c._histogramBinOpts[s["_"+n+"bingroup"]])&&a.extendFlat(l,w)}return e[i]}(t,e,r,s,m)}(v=h.cumulative||{}).enabled&&"include"!==v.currentbin&&("decreasing"===v.direction?P.start=k(o.tickIncrement(w(P.start),P.size,!0,p)):P.end=k(o.tickIncrement(w(P.end),P.size,!1,p))),b.size=P.size,b.sizeFound||(g.size=P.size,a.nestedProperty(u[0],m+".size").set(P.size)),A("start",b,P),A("end",b,P)}d=e["_"+s+"pos0"],delete e["_"+s+"pos0"];var z=e._input[m]||{},I=a.extendFlat({},b),D=b.start,R=r.r2l(z.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(D)){var B=F?R:a.aggNums(Math.min,null,d),N={type:"category"===r.type||"multicategory"===r.type?"linear":r.type,r2l:r.r2l,dtick:b.size,tick0:D,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),I.start=r.l2r(j),F||a.nestedProperty(e,m+".start").set(I.start)}var V=b.end,U=r.r2l(z.end),q=void 0!==U;if((b.endFound||q)&&U!==r.r2l(V)){var H=q?U:a.aggNums(Math.max,null,d);I.end=r.l2r(H),q||a.nestedProperty(e,m+".start").set(I.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[m]=a.extendFlat({},e[m]||{}),delete e._input[G],delete e[G]),[I,d]}e.exports={calc:function(t,e){var r,i,p,d,g=[],v=[],m=o.getFromId(t,"h"===e.orientation?e.yaxis:e.xaxis),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=f(t,e,m,y),k=w[0],T=w[1],A="string"==typeof k.size,M=[],S=A?M:k,E=[],L=[],C=[],P=0,O=e.histnorm,z=e.histfunc,I=-1!==O.indexOf("density");_.enabled&&I&&(O=O.replace(/ ?density$/,""),I=!1);var D,R="max"===z||"min"===z?null:0,F=l.count,B=c[O],N=!1,j=function(t){return m.r2c(t,0,b)};for(a.isArrayOrTypedArray(e[x])&&"count"!==z&&(D=e[x],N="avg"===z,F=l[z]),r=j(k.start),p=j(k.end)+(r-o.tickIncrement(r,k.size,!1,b))/1e6;r<p&&g.length<1e6&&(i=o.tickIncrement(r,k.size,!1,b),g.push((r+i)/2),v.push(R),C.push([]),M.push(r),I&&E.push(1/(i-r)),N&&L.push(0),!(i<=r));)r=i;M.push(r),A||"date"!==m.type||(S={start:j(S.start),end:j(S.end),size:S.size});var V,U=v.length,q=!0,H=1/0,G=1/0,Y={};for(r=0;r<T.length;r++){var W=T[r];(d=a.findBin(W,S))>=0&&d<U&&(P+=F(d,r,v,D,L),q&&C[d].length&&W!==T[C[d][0]]&&(q=!1),C[d].push(r),Y[r]=d,H=Math.min(H,W-M[d]),G=Math.min(G,M[d+1]-W))}q||(V=h(H,G,M,m,b)),N&&(P=u(v,L)),B&&B(v,P,E),_.enabled&&function(t,e,r){var n,a,i;function o(e){i=t[e],t[e]/=2}function s(e){a=t[e],t[e]=i+a/2,i+=a}if("half"===r)if("increasing"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if("increasing"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];"exclude"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(v,_.direction,_.currentbin);var X=Math.min(g.length,v.length),Z=[],J=0,K=X-1;for(r=0;r<X;r++)if(v[r]){J=r;break}for(r=X-1;r>=J;r--)if(v[r]){K=r;break}for(r=J;r<=K;r++)if(n(g[r])&&n(v[r])){var Q={p:g[r],s:v[r],b:0};_.enabled||(Q.pts=C[r],q?Q.ph0=Q.ph1=C[r].length?T[C[r][0]]:g[r]:(Q.ph0=V(M[r]),Q.ph1=V(M[r+1],!0))),Z.push(Q)}return 1===Z.length&&(Z[0].width1=o.tickIncrement(Z[0].p,k.size,!1,b)-Z[0].p),s(Z,e),a.isArrayOrTypedArray(e.selectedpoints)&&a.tagSelected(Z,e,Y),Z},calcAllAutoBins:f}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../bar/arrays_to_calcdata":854,"./average":1017,"./bin_functions":1019,"./bin_label_vals":1020,"./norm_functions":1028,"fast-isnumeric":227}],1022:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],1023:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../../registry").traceIs,o=t("../bar/defaults").handleGroupingDefaults,s=n.nestedProperty,l=a.getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],u=["x","y"];e.exports=function(t,e){var r,h,f,p,d,g,v,m=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function k(t,r,i){var o=t.uid+"__"+i;r||(r=o);var s=function(t,r){return a.getFromTrace({_fullLayout:e},t,r).type}(t,i),l=t[i+"calendar"],c=m[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(i)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(m[r]={traces:[t],dirs:[i],axType:s,calendar:t[i+"calendar"]||""}),t["_"+i+"bingroup"]=r}for(d=0;d<t.length;d++)r=t[d],i(r,"histogram")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,i(r,"2dMap")||o(r._input,r,e,_));var T=e._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],f="",!i(r,"2dMap")){if(p=w(r),"group"===e.barmode&&r.alignmentgroup){var A=r[p+"axis"],M=l(e,A)+r.orientation;(T[M]||{})[r.alignmentgroup]&&(f=M)}f||"overlay"===e.barmode||(f=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}f?(x[f]||(x[f]=[]),x[f].push(r)):b.push(r)}for(f in x)if(1!==(h=x[f]).length){var S=!1;for(d=0;d<h.length;d++){r=h[d],S=_("bingroup");break}for(f=S||f,d=0;d<h.length;d++){var E=(r=h[d])._input.bingroup;E&&E!==f&&n.warn(["Trace",r.index,"must match","within bingroup",f+".","Ignoring its bingroup:",E,"setting."].join(" ")),r.bingroup=f,k(r,f,w(r))}}else b.push(h[0]);for(d=0;d<b.length;d++){r=b[d];var L=_("bingroup");if(i(r,"2dMap"))for(v=0;v<2;v++){var C=_((p=u[v])+"bingroup",L?L+"__"+p:null);k(r,C,p)}else k(r,L,w(r))}for(f in m){var P=m[f];for(h=P.traces,g=0;g<c.length;g++){var O,z,I=c[g],D=I.name;if("nbins"!==D||!P.sizeFound){for(d=0;d<h.length;d++){if(r=h[d],p=P.dirs[d],O=I.aStr[p],void 0!==s(r._input,O).get()){P[D]=_(O),P[D+"Found"]=!0;break}(z=(r._autoBin||{})[p]||{})[D]&&s(r,O).set(z[D])}if("start"===D||"end"===D)for(;d<h.length;d++)(r=h[d])["_"+p+"bingroup"]&&_(O,(z=(r._autoBin||{})[p]||{})[D]);"nbins"!==D||P.sizeFound||P.nbinsFound||(r=h[0],P[D]=_(O))}}}}},{"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../bar/defaults":859}],1024:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/color"),o=t("../bar/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u=c("x"),h=c("y");c("cumulative.enabled")&&(c("cumulative.direction"),c("cumulative.currentbin")),c("text"),c("hovertext"),c("hovertemplate");var f=c("orientation",h&&!u?"h":"v"),p="v"===f?"x":"y",d="v"===f?"y":"x",g=u&&h?Math.min(a.minRowLength(u)&&a.minRowLength(h)):a.minRowLength(e[p]||[]);if(g){e._length=g,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],l),e[d]&&c("histfunc"),c("histnorm"),c("autobin"+p),o(t,e,c,r,l),a.coerceSelectionMarkerOpacity(e,c);var v=(e.marker.line||{}).color,m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,v||i.defaultLine,{axis:"y"}),m(t,e,v||i.defaultLine,{axis:"x",inherit:"y"})}else e.visible=!1}},{"../../components/color":591,"../../lib":716,"../../registry":845,"../bar/style_defaults":870,"./attributes":1016}],1025:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"zLabelVal"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var i,o=Array.isArray(a)?n[0].pts[a[0]][a[1]]:n[a].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){i=[];for(var s=0;s<o.length;s++)i=i.concat(r._indexToPoints[o[s]])}else i=o;t.pointIndices=i}return t}},{}],1026:[function(t,e,r){"use strict";var n=t("../bar/hover").hoverPoints,a=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c="h"===l.orientation?"y":"x";t[c+"Label"]=a(t[c+"a"],s.ph0,s.ph1)}return l.hovermplate&&(t.hovertemplate=l.hovertemplate),o}}},{"../../plots/cartesian/axes":764,"../bar/hover":862}],1027:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("../bar/layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),supplyLayoutDefaults:t("../bar/layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("../bar/cross_trace_calc").crossTraceCalc,plot:t("../bar/plot").plot,layerName:"barlayer",style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,colorbar:t("../scatter/marker_colorbar"),hoverPoints:t("./hover"),selectPoints:t("../bar/select"),eventData:t("./event_data"),moduleType:"trace",name:"histogram",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}},{"../../plots/cartesian":775,"../bar/cross_trace_calc":858,"../bar/layout_attributes":864,"../bar/layout_defaults":865,"../bar/plot":866,"../bar/select":867,"../bar/style":869,"../scatter/marker_colorbar":1136,"./attributes":1016,"./calc":1021,"./cross_trace_defaults":1023,"./defaults":1024,"./event_data":1025,"./hover":1026}],1028:[function(t,e,r){"use strict";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,a=0;a<r;a++)t[a]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var a=t.length;n=n||1;for(var i=0;i<a;i++)t[i]*=r[i]*n},"probability density":function(t,e,r,n){var a=t.length;n&&(e/=n);for(var i=0;i<a;i++)t[i]*=r[i]/e}}},{}],1029:[function(t,e,r){"use strict";var n=t("../histogram/attributes"),a=t("../histogram/bin_attributes"),i=t("../heatmap/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat;e.exports=l({x:n.x,y:n.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:a("x"),nbinsy:n.nbinsy,ybins:a("y"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:l({},n.bingroup,{}),xbingroup:l({},n.bingroup,{}),ybingroup:l({},n.bingroup,{}),xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat,hovertemplate:o({},{keys:"z"})},s("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/template_attributes":840,"../heatmap/attributes":998,"../histogram/attributes":1016,"../histogram/bin_attributes":1018}],1030:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../histogram/bin_functions"),o=t("../histogram/norm_functions"),s=t("../histogram/average"),l=t("../histogram/bin_label_vals"),c=t("../histogram/calc").calcAllAutoBins;function u(t,e,r,n){var a,i=new Array(t);if(n)for(a=0;a<t;a++)i[a]=1/(e[a+1]-e[a]);else{var o=1/r;for(a=0;a<t;a++)i[a]=o}return i}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function f(t,e,r,n,a,i){var o,s=t.length-1,c=new Array(s),u=l(r,n,t,a,i);for(o=0;o<s;o++){var h=(e||[])[o];c[o]=void 0===h?[u(t[o]),u(t[o+1],!0)]:[h,h]}return c}e.exports=function(t,e){var r,l,p,d,g=a.getFromId(t,e.xaxis),v=a.getFromId(t,e.yaxis),m=e.xcalendar,y=e.ycalendar,x=function(t){return g.r2c(t,0,m)},b=function(t){return v.r2c(t,0,y)},_=c(t,e,g,"x"),w=_[0],k=_[1],T=c(t,e,v,"y"),A=T[0],M=T[1],S=e._length;k.length>S&&k.splice(S,k.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,z=[],I=[],D=P?z:w,R=O?I:A,F=0,B=[],N=[],j=e.histnorm,V=e.histfunc,U=-1!==j.indexOf("density"),q="max"===V||"min"===V?null:0,H=i.count,G=o[j],Y=!1,W=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==V&&(Y="avg"===V,H=i[V]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-a.tickIncrement(K,J,!1,m))/1e6;for(r=K;r<Q;r=a.tickIncrement(r,J,!1,m))L.push(q),z.push(r),Y&&C.push(0);z.push(r);var $,tt=L.length,et=(r-K)/tt,rt=($=K+et/2,g.c2r($,0,m)),nt=A.size,at=b(A.start),it=b(A.end)+(at-a.tickIncrement(at,nt,!1,y))/1e6;for(r=at;r<it;r=a.tickIncrement(r,nt,!1,y)){E.push(L.slice()),I.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Y&&B.push(C.slice())}I.push(r);var st=E.length,lt=(r-at)/st,ct=function(t){return v.c2r(t,0,y)}(at+lt/2);U&&(W=u(L.length,D,et,P),X=u(E.length,R,lt,O)),P||"date"!==g.type||(D=h(x,D)),O||"date"!==v.type||(R=h(b,R));var ut=!0,ht=!0,ft=new Array(tt),pt=new Array(st),dt=1/0,gt=1/0,vt=1/0,mt=1/0;for(r=0;r<S;r++){var yt=k[r],xt=M[r];p=n.findBin(yt,D),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=H(p,r,E[d],Z,B[d]),N[d][p].push(r),ut&&(void 0===ft[p]?ft[p]=yt:ft[p]!==yt&&(ut=!1)),ht&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ht=!1)),dt=Math.min(dt,yt-z[p]),gt=Math.min(gt,z[p+1]-yt),vt=Math.min(vt,xt-I[d]),mt=Math.min(mt,I[d+1]-xt))}if(Y)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,W,X[d]);return{x:k,xRanges:f(z,ut&&ft,dt,gt,g,m),x0:rt,dx:et,y:M,yRanges:f(I,ht&&pt,vt,mt,v,y),y0:ct,dy:lt,z:E,pts:N}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../histogram/average":1017,"../histogram/bin_functions":1019,"../histogram/bin_label_vals":1020,"../histogram/calc":1021,"../histogram/norm_functions":1028}],1031:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./sample_defaults"),i=t("../heatmap/style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,l),o(t,e,l,c,{prefix:"",cLetter:"z"}),c("hovertemplate"))}},{"../../components/colorscale/defaults":601,"../../lib":716,"../heatmap/style_defaults":1011,"./attributes":1029,"./sample_defaults":1034}],1032:[function(t,e,r){"use strict";var n=t("../heatmap/hover"),a=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,i,o,s){var l=n(t,e,r,i,o,s);if(l){var c=(t=l[0]).index,u=c[0],h=c[1],f=t.cd[0],p=f.xRanges[h],d=f.yRanges[u];return t.xLabel=a(t.xa,p[0],p[1]),t.yLabel=a(t.ya,d[0],d[1]),l}}},{"../../plots/cartesian/axes":764,"../heatmap/hover":1005}],1033:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../heatmap/calc"),plot:t("../heatmap/plot"),layerName:"heatmaplayer",colorbar:t("../heatmap/colorbar"),style:t("../heatmap/style"),hoverPoints:t("./hover"),eventData:t("../histogram/event_data"),moduleType:"trace",name:"histogram2d",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","histogram"],meta:{}}},{"../../plots/cartesian":775,"../heatmap/calc":999,"../heatmap/colorbar":1001,"../heatmap/plot":1009,"../heatmap/style":1010,"../histogram/cross_trace_defaults":1023,"../histogram/event_data":1025,"./attributes":1029,"./defaults":1031,"./hover":1032}],1034:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("y"),l=a.minRowLength(o),c=a.minRowLength(s);l&&c?(e._length=Math.min(l,c),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],i),(r("z")||r("marker.color"))&&r("histfunc"),r("histnorm"),r("autobinx"),r("autobiny")):e.visible=!1}},{"../../lib":716,"../../registry":845}],1035:[function(t,e,r){"use strict";var n=t("../histogram2d/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat;e.exports=o({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:a.autocontour,ncontours:a.ncontours,contours:a.contours,line:{color:a.line.color,width:o({},a.line.width,{dflt:.5}),dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../contour/attributes":941,"../histogram2d/attributes":1029}],1036:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../histogram2d/sample_defaults"),i=t("../contour/contours_defaults"),o=t("../contour/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l),c("hovertemplate"))}},{"../../lib":716,"../contour/contours_defaults":948,"../contour/style_defaults":962,"../histogram2d/sample_defaults":1034,"./attributes":1035}],1037:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../contour/calc"),plot:t("../contour/plot").plot,layerName:"contourlayer",style:t("../contour/style"),colorbar:t("../contour/colorbar"),hoverPoints:t("../contour/hover"),moduleType:"trace",name:"histogram2dcontour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":775,"../contour/calc":942,"../contour/colorbar":944,"../contour/hover":954,"../contour/plot":959,"../contour/style":961,"../histogram/cross_trace_defaults":1023,"./attributes":1035,"./defaults":1036}],1038:[function(t,e,r){"use strict";for(var n=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../lib/extend").extendFlat,o=t("./constants").colormodel,s=["rgb","rgba","hsl","hsla"],l=[],c=[],u=0;u<s.length;u++)l.push("For the `"+s[u]+"` colormodel, it is ["+o[s[u]].min.join(", ")+"]."),c.push("For the `"+s[u]+"` colormodel, it is ["+o[s[u]].max.join(", ")+"].");e.exports=i({z:{valType:"data_array",editType:"calc"},colormodel:{valType:"enumerated",values:s,dflt:"rgb",editType:"calc"},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},dy:{valType:"number",dflt:1,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"data_array",editType:"plot"},hoverinfo:i({},n.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:a({},{keys:["z","color","colormodel"]}),transforms:void 0})},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"./constants":1040}],1039:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants"),i=t("fast-isnumeric"),o=t("../../plots/cartesian/axes"),s=t("../../lib").maxRowLength;function l(t,e,r,a){return function(i){return n.constrain((i-t)*e,r,a)}}function c(t,e){return function(r){return n.constrain(r,t,e)}}e.exports=function(t,e){var r,n=o.getFromId(t,e.xaxis||"x"),u=o.getFromId(t,e.yaxis||"y"),h=n.d2c(e.x0)-e.dx/2,f=u.d2c(e.y0)-e.dy/2,p=e.z.length,d=s(e.z),g=[h,h+d*e.dx],v=[f,f+p*e.dy];if(n&&"log"===n.type)for(r=0;r<d;r++)g.push(h+r*e.dx);if(u&&"log"===u.type)for(r=0;r<p;r++)v.push(f+r*e.dy);return e._extremes[n._id]=o.findExtremes(n,g),e._extremes[u._id]=o.findExtremes(u,v),e._scaler=function(t){var e=t.colormodel,r=e.length,n=a.colormodel[e];t._sArray=[];for(var o=0;o<r;o++)n.min[o]!==t.zmin[o]||n.max[o]!==t.zmax[o]?t._sArray.push(l(t.zmin[o],(n.max[o]-n.min[o])/(t.zmax[o]-t.zmin[o]),n.min[o],n.max[o])):t._sArray.push(c(n.min[o],n.max[o]));return function(e){for(var n=e.slice(0,r),a=0;a<r;a++){var o=n[a];if(!i(o))return!1;n[a]=t._sArray[a](o)}return n}}(e),[{x0:h,y0:f,z:e.z,w:d,h:p}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"./constants":1040,"fast-isnumeric":227}],1040:[function(t,e,r){"use strict";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%",""]}}}},{}],1041:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./constants");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}var o=r("z");if(void 0!==o&&o.length&&o[0]&&o[0].length){r("x0"),r("y0"),r("dx"),r("dy");var s=r("colormodel");r("zmin",i.colormodel[s].min),r("zmax",i.colormodel[s].max),r("text"),r("hovertext"),r("hovertemplate"),e._length=null}else e.visible=!1}},{"../../lib":716,"./attributes":1038,"./constants":1040}],1042:[function(t,e,r){"use strict";e.exports=function(t,e){return"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t}},{}],1043:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("./constants");e.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,c=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(o.z[h][u]){var f,p=o.hi||s.hoverinfo;if(p){var d=p.split("+");-1!==d.indexOf("all")&&(d=["color"]),-1!==d.indexOf("color")&&(f=!0)}var g,v=s.colormodel,m=v.length,y=s._scaler(o.z[h][u]),x=i.colormodel[v].suffix,b=[];(s.hovertemplate||f)&&(b.push("["+[y[0]+x[0],y[1]+x[1],y[2]+x[2]].join(", ")),4===m&&b.push(", "+y[3]+x[3]),b.push("]"),b=b.join(""),t.extraText=v.toUpperCase()+": "+b),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][u]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][u]);var _=c.c2p(o.y0+(h+.5)*s.dy),w=o.x0+(u+.5)*s.dx,k=o.y0+(h+.5)*s.dy,T="["+o.z[h][u].slice(0,s.colormodel.length).join(", ")+"]";return[a.extendFlat(t,{index:[h,u],x0:l.c2p(o.x0+u*s.dx),x1:l.c2p(o.x0+(u+1)*s.dx),y0:_,y1:_,color:y,xVal:w,xLabelVal:w,yVal:k,yLabelVal:k,zLabelVal:T,text:g,hovertemplateLabels:{zLabel:T,colorLabel:b,"color[0]Label":y[0]+x[0],"color[1]Label":y[1]+x[1],"color[2]Label":y[2]+x[2],"color[3]Label":y[3]+x[3]}})]}}}},{"../../components/fx":629,"../../lib":716,"./constants":1040}],1044:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),eventData:t("./event_data"),moduleType:"trace",name:"image",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},{"../../plots/cartesian":775,"./attributes":1038,"./calc":1039,"./defaults":1041,"./event_data":1042,"./hover":1043,"./plot":1045,"./style":1046}],1045:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/xmlns_namespaces"),o=t("./constants");e.exports=function(t,e,r,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,r,"im").each(function(t){var e,r,s,u,h,f,p=n.select(this),d=t[0],g=d.trace,v=d.z,m=d.x0,y=d.y0,x=d.w,b=d.h,_=g.dx,w=g.dy;for(f=0;void 0===e&&f<x;)e=l.c2p(m+f*_),f++;for(f=x;void 0===r&&f>0;)r=l.c2p(m+f*_),f--;for(f=0;void 0===u&&f<b;)u=c.c2p(y+f*w),f++;for(f=b;void 0===h&&f>0;)h=c.c2p(y+f*w),f--;r<e&&(s=r,r=e,e=s),h<u&&(s=u,u=h,h=s);e=Math.max(-.5*l._length,e),r=Math.min(1.5*l._length,r),u=Math.max(-.5*c._length,u),h=Math.min(1.5*c._length,h);var k=Math.round(r-e),T=Math.round(h-u);if(k<=0||T<=0){p.selectAll("image").data([]).exit().remove()}else{var A=document.createElement("canvas");A.width=k,A.height=T;var M,S=A.getContext("2d"),E=function(t){return a.constrain(Math.round(l.c2p(m+t*_)-e),0,k)},L=function(t){return a.constrain(Math.round(c.c2p(y+t*w)-u),0,T)},C=o.colormodel[g.colormodel].fmt;for(f=0;f<d.w;f++){var P=E(f),O=E(f+1);if(O!==P&&!isNaN(O)&&!isNaN(P))for(var z=0;z<d.h;z++){var I=L(z),D=L(z+1);D===I||isNaN(D)||isNaN(I)||!v[z][f]||(M=g._scaler(v[z][f]),S.fillStyle=M?g.colormodel+"("+C(M).join(",")+")":"rgba(0,0,0,0)",S.fillRect(P,I,O-P,D-I))}}var R=p.selectAll("image").data(t);R.enter().append("svg:image").attr({xmlns:i.svg,preserveAspectRatio:"none"}),R.attr({height:T,width:k,x:e,y:u,"xlink:href":A.toDataURL("image/png")})}})}},{"../../constants/xmlns_namespaces":693,"../../lib":716,"./constants":1040,d3:164}],1046:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".im image").style("opacity",function(t){return t.trace.opacity})}},{d3:164}],1047:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("../../lib/extend").extendDeep,i=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../components/color/attributes"),l=t("../../plots/domain").attributes,c=t("../../plots/cartesian/layout_attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../constants/delta.js"),f=(t("../../constants/docs").FORMAT_LINK,o({editType:"plot",colorEditType:"plot"})),p={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:s.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},d={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},g=u("step",a({},p,{range:d}));e.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:l({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:n({},f,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot"},font:n({},f,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot"},increasing:{symbol:{valType:"string",dflt:h.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:h.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:h.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:h.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:n({},f,{}),editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:a({},p,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:s.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:i({range:d,visible:n({},c.visible,{dflt:!0}),tickmode:c.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:n({},c.ticks,{dflt:"outside"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,showticklabels:c.showticklabels,tickfont:o({}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,showexponent:c.showexponent,editType:"plot"},"plot"),steps:g,threshold:{line:{color:n({},p.line.color,{}),width:n({},p.line.width,{dflt:1}),editType:"plot"},thickness:n({},p.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}},{"../../components/color/attributes":590,"../../constants/delta.js":686,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/cartesian/layout_attributes":776,"../../plots/domain":789,"../../plots/font_attributes":790}],1048:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="indicator",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1049:[function(t,e,r){"use strict";e.exports={calc:function(t,e){var r=[],n=e.value;"number"!=typeof e._lastValue&&(e._lastValue=e.value);var a=e._lastValue,i=a;return e._hasDelta&&"number"==typeof e.delta.reference&&(i=e.delta.reference),r[0]={y:n,lastY:a,delta:n-i,relativeDelta:(n-i)/i},r}}},{}],1050:[function(t,e,r){"use strict";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],1051:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../../plot_api/plot_template"),s=t("../../plots/array_container_defaults"),l=t("./constants.js"),c=t("../../plots/cartesian/tick_value_defaults"),u=t("../../plots/cartesian/tick_mark_defaults"),h=t("../../plots/cartesian/tick_label_defaults");function f(t,e){function r(r,i){return n.coerce(t,e,a.gauge.steps,r,i)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}e.exports={supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}i(e,p,d),d("mode"),e._hasNumber=-1!==e.mode.indexOf("number"),e._hasDelta=-1!==e.mode.indexOf("delta"),e._hasGauge=-1!==e.mode.indexOf("gauge");var g=d("value");e._range=[0,"number"==typeof g?1.5*g:1];var v,m,y,x,b,_,w=new Array(2);function k(t,e){return n.coerce(y,x,a.gauge,t,e)}function T(t,e){return n.coerce(b,_,a.gauge.axis,t,e)}if(e._hasNumber&&(d("number.valueformat"),d("number.font.color",p.font.color),d("number.font.family",p.font.family),d("number.font.size"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,w[0]=!0),d("number.prefix"),d("number.suffix"),v=e.number.font.size),e._hasDelta&&(d("delta.font.color",p.font.color),d("delta.font.family",p.font.family),d("delta.font.size"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(v||l.defaultNumberFontSize),w[1]=!0),d("delta.reference",e.value),d("delta.relative"),d("delta.valueformat",e.delta.relative?"2%":""),d("delta.increasing.symbol"),d("delta.increasing.color"),d("delta.decreasing.symbol"),d("delta.decreasing.color"),d("delta.position"),m=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||w[0])&&(!e._hasDelta||w[1])||!1,d("title.font.color",p.font.color),d("title.font.family",p.font.family),d("title.font.size",.25*(v||m||l.defaultNumberFontSize)),d("title.text"),e._hasGauge){(y=t.gauge)||(y={}),x=o.newContainer(e,"gauge"),k("shape"),(e._isBullet="bullet"===e.gauge.shape)||d("title.align","center"),(e._isAngular="angular"===e.gauge.shape)||d("align","center"),k("bgcolor",p.paper_bgcolor),k("borderwidth"),k("bordercolor"),k("bar.color"),k("bar.line.color"),k("bar.line.width"),k("bar.thickness",l.valueThickness*("bullet"===e.gauge.shape?.5:1)),s(y,x,{name:"steps",handleItemDefaults:f}),k("threshold.value"),k("threshold.thickness"),k("threshold.line.width"),k("threshold.line.color"),b={},y&&(b=y.axis||{}),_=o.newContainer(x,"axis"),T("visible"),e._range=T("range",e._range);var A={outerTicks:!0};c(b,_,T,"linear"),h(b,_,T,"linear",A),u(b,_,T,A)}else d("title.align","center"),d("align","center"),e._isAngular=e._isBullet=!1;e._length=null}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_mark_defaults":784,"../../plots/cartesian/tick_value_defaults":785,"../../plots/domain":789,"./attributes":1047,"./constants.js":1050}],1052:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"indicator",basePlotModule:t("./base_plot"),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc").calc,plot:t("./plot"),meta:{}}},{"./attributes":1047,"./base_plot":1048,"./calc":1049,"./defaults":1051,"./plot":1053}],1053:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=a.rad2deg,o=t("../../constants/alignment").MID_SHIFT,s=t("../../components/drawing"),l=t("./constants"),c=t("../../lib/svg_text_utils"),u=t("../../plots/cartesian/axes"),h=t("../../plots/cartesian/axis_defaults"),f=t("../../plots/cartesian/position_defaults"),p=t("../../plots/cartesian/layout_attributes"),d=t("../../components/color"),g={left:"start",center:"middle",right:"end"},v={left:0,center:.5,right:1},m=/[yzafpn\xb5mkMGTPEZY]/;function y(t){return t&&t.duration>0}function x(t){t.each(function(t){d.stroke(n.select(this),t.line.color)}).each(function(t){d.fill(n.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function b(t,e,r){var n=t._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),o={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return a.coerce(i,o,p,t,e)}return h(i,o,l,s,n),f(i,o,l,s),o}function _(t,e){return"translate("+t+","+e+")"}function w(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function k(t,e,r,a){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(i);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(c.convertToTspans,a).call(s.font,e),s.bBox(o.node())}function T(t,e,r,n,i,o){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=a.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,h){var f,p=t._fullLayout;y(r)&&h&&(f=h()),a.makeTraceGroups(p._indicatorlayer,e,"trace").each(function(e){var h,A,M,S,E,L=e[0].trace,C=n.select(this),P=L._hasGauge,O=L._isAngular,z=L._isBullet,I=L.domain,D={w:p._size.w*(I.x[1]-I.x[0]),h:p._size.h*(I.y[1]-I.y[0]),l:p._size.l+p._size.w*I.x[0],r:p._size.r+p._size.w*(1-I.x[1]),t:p._size.t+p._size.h*(1-I.y[1]),b:p._size.b+p._size.h*I.y[0]},R=D.l+D.w/2,F=D.t+D.h/2,B=Math.min(D.w/2,D.h),N=l.innerRadius*B,j=L.align||"center";if(A=F,P){if(O&&(h=R,A=F+B/2,M=function(t){return e=t,r=.9*N,n=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),[r/n,e,r];var e,r,n}),z){var V=l.bulletPadding,U=1-l.bulletNumberDomainSize+V;h=D.l+(U+(1-U)*v[j])*D.w,M=function(t){return w(t,(l.bulletNumberDomainSize-V)*D.w,D.h)}}}else h=D.l+v[j]*D.w,M=function(t){return w(t,D.w,D.h)};!function(t,e,r,i){var o,l,h,f=r[0].trace,p=i.numbersX,x=i.numbersY,w=f.align||"center",A=g[w],M=i.transitionOpts,S=i.onComplete,E=a.ensureSingle(e,"g","numbers"),L=[];f._hasNumber&&L.push("number");f._hasDelta&&(L.push("delta"),"left"===f.delta.position&&L.reverse());var C=E.selectAll("text").data(L);function P(e,r,n,a){if(!e.match("s")||n>=0==a>=0||r(n).slice(-1).match(m)||r(a).slice(-1).match(m))return r;var i=e.slice().replace("s","f").replace(/\d+/,function(t){return parseInt(t)-1}),o=b(t,{tickformat:i});return function(t){return Math.abs(t)<1?u.tickText(o,t).text:r(t)}}C.enter().append("text"),C.attr("text-anchor",function(){return A}).attr("class",function(t){return t}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),C.exit().remove();var O,z=f.mode+f.align;f._hasDelta&&(O=function(){var e=b(t,{tickformat:f.delta.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=function(t){var e=f.delta.relative?t.relativeDelta:t.delta;return e},o=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?f.delta.increasing.symbol:f.delta.decreasing.symbol)+e(t)},h=function(t){return t.delta>=0?f.delta.increasing.color:f.delta.decreasing.color};void 0===f._deltaLastValue&&(f._deltaLastValue=i(r[0]));var p=E.select("text.delta");function g(){p.text(o(i(r[0]),a)).call(d.fill,h(r[0])).call(c.convertToTspans,t)}p.call(s.font,f.delta.font).call(d.fill,h({delta:f._deltaLastValue})),y(M)?p.transition().duration(M.duration).ease(M.easing).tween("text",function(){var t=n.select(this),e=i(r[0]),s=f._deltaLastValue,l=P(f.delta.valueformat,a,s,e),c=n.interpolateNumber(s,e);return f._deltaLastValue=e,function(e){t.text(o(c(e),l)),t.call(d.fill,h({delta:c(e)}))}}).each("end",function(){g(),S&&S()}).each("interrupt",function(){g(),S&&S()}):g();return l=k(o(i(r[0]),a),f.delta.font,A,t),p}(),z+=f.delta.position+f.delta.font.size+f.delta.font.family+f.delta.valueformat,z+=f.delta.increasing.symbol+f.delta.decreasing.symbol,h=l);f._hasNumber&&(!function(){var e=b(t,{tickformat:f.number.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=f.number.suffix,l=f.number.prefix,h=E.select("text.number");function p(){var e="number"==typeof r[0].y?l+a(r[0].y)+i:"-";h.text(e).call(s.font,f.number.font).call(c.convertToTspans,t)}y(M)?h.transition().duration(M.duration).ease(M.easing).each("end",function(){p(),S&&S()}).each("interrupt",function(){p(),S&&S()}).attrTween("text",function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);f._lastValue=r[0].y;var o=P(f.number.valueformat,a,r[0].lastY,r[0].y);return function(r){t.text(l+o(e(r))+i)}}):p();o=k(l+a(r[0].y)+i,f.number.font,A,t)}(),z+=f.number.font.size+f.number.font.family+f.number.valueformat+f.number.suffix+f.number.prefix,h=o);if(f._hasDelta&&f._hasNumber){var I,D,R=[(o.left+o.right)/2,(o.top+o.bottom)/2],F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=.75*f.delta.font.size;"left"===f.delta.position&&(I=T(f,"deltaPos",0,-1*(o.width*v[f.align]+l.width*(1-v[f.align])+B),z,Math.min),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:l.left+I,right:o.right,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"right"===f.delta.position&&(I=T(f,"deltaPos",0,o.width*(1-v[f.align])+l.width*v[f.align]+B,z,Math.max),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:o.left,right:l.right+I,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"bottom"===f.delta.position&&(I=null,D=l.height,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height,bottom:o.bottom+l.height}),"top"===f.delta.position&&(I=null,D=o.top,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height-l.height,bottom:o.bottom}),O.attr({dx:I,dy:D})}(f._hasNumber||f._hasDelta)&&E.attr("transform",function(){var t=i.numbersScaler(h);z+=t[2];var e,r=T(f,"numbersScale",1,t[0],z,Math.min);f._scaleNumbers||(r=1),e=f._isAngular?x-r*h.bottom:x-r*(h.top+h.bottom)/2,f._numbersTop=r*h.top+e;var n=h[w];"center"===w&&(n=(h.left+h.right)/2);var a=p-r*n;return _(a=T(f,"numbersTranslate",0,a,z,Math.max),e)+" scale("+r+")"})}(t,C,e,{numbersX:h,numbersY:A,numbersScaler:M,transitionOpts:r,onComplete:f}),P&&(S={range:L.gauge.axis.range,color:L.gauge.bgcolor,line:{color:L.gauge.bordercolor,width:0},thickness:1},E={range:L.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:L.gauge.bordercolor,width:L.gauge.borderwidth},thickness:1});var q=C.selectAll("g.angular").data(O?e:[]);q.exit().remove();var H=C.selectAll("g.angularaxis").data(O?e:[]);H.exit().remove(),O&&function(t,e,r,a){var s,l,c,h,f=r[0].trace,p=a.size,d=a.radius,g=a.innerRadius,v=a.gaugeBg,m=a.gaugeOutline,w=[p.l+p.w/2,p.t+p.h/2+d/2],k=a.gauge,T=a.layer,A=a.transitionOpts,M=a.onComplete,S=Math.PI/2;function E(t){var e=f.gauge.axis.range[0],r=f.gauge.axis.range[1],n=(t-e)/(r-e)*Math.PI-S;return n<-S?-S:n>S?S:n}function L(t){return n.svg.arc().innerRadius((g+d)/2-t/2*(d-g)).outerRadius((g+d)/2+t/2*(d-g)).startAngle(-S)}function C(t){t.attr("d",function(t){return L(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()})}k.enter().append("g").classed("angular",!0),k.attr("transform",_(w[0],w[1])),T.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),T.selectAll("g.xangularaxistick,path,text").remove(),(s=b(t,f.gauge.axis)).type="linear",s.range=f.gauge.axis.range,s._id="xangularaxis",s.setScale();var P=function(t){return(s.range[0]-t.x)/(s.range[1]-s.range[0])*Math.PI+Math.PI},O={},z=u.makeLabelFns(s,0).labelStandoff;O.xFn=function(t){var e=P(t);return Math.cos(e)*z},O.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*o)},O.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},O.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var I=function(t){return _(w[0]+d*Math.cos(t),w[1]-d*Math.sin(t))};c=function(t){return I(P(t))};if(l=u.calcTicks(s),h=u.getTickSigns(s)[2],s.visible){h="inside"===s.ticks?-1:1;var D=(s.linewidth||1)/2;u.drawTicks(t,s,{vals:l,layer:T,path:"M"+h*D+",0h"+h*s.ticklen,transFn:function(t){var e=P(t);return I(e)+"rotate("+-i(e)+")"}}),u.drawLabels(t,s,{vals:l,layer:T,transFn:c,labelFns:O})}var R=[v].concat(f.gauge.steps),F=k.selectAll("g.bg-arc").data(R);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(C).call(x),F.exit().remove();var B=L(f.gauge.bar.thickness),N=k.selectAll("g.value-arc").data([f.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var j=N.select("path");y(A)?(j.transition().duration(A.duration).ease(A.easing).each("end",function(){M&&M()}).each("interrupt",function(){M&&M()}).attrTween("d",(V=B,U=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(U,q);return function(e){return V.endAngle(t(e))()}})),f._lastValue=r[0].y):j.attr("d","number"==typeof r[0].y?B.endAngle(E(r[0].y)):"M0,0Z");var V,U,q;j.call(x),N.exit().remove(),R=[];var H=f.gauge.threshold.value;H&&R.push({range:[H,H],color:f.gauge.threshold.color,line:{color:f.gauge.threshold.line.color,width:f.gauge.threshold.line.width},thickness:f.gauge.threshold.thickness});var G=k.selectAll("g.threshold-arc").data(R);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(C).call(x),G.exit().remove();var Y=k.selectAll("g.gauge-outline").data([m]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(C).call(x),Y.exit().remove()}(t,0,e,{radius:B,innerRadius:N,gauge:q,layer:H,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var G=C.selectAll("g.bullet").data(z?e:[]);G.exit().remove();var Y=C.selectAll("g.bulletaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,n){var a,i,o,s,c,h=r[0].trace,f=n.gauge,p=n.layer,g=n.gaugeBg,v=n.gaugeOutline,m=n.size,_=h.domain,w=n.transitionOpts,k=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform","translate("+m.l+", "+m.t+")"),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var T=m.h,A=h.gauge.bar.thickness*T,M=_.x[0],S=_.x[0]+(_.x[1]-_.x[0])*(h._hasNumber||h._hasDelta?1-l.bulletNumberDomainSize:1);(a=b(t,h.gauge.axis))._id="xbulletaxis",a.domain=[M,S],a.setScale(),i=u.calcTicks(a),o=u.makeTransFn(a),s=u.getTickSigns(a)[2],c=m.t+m.h,a.visible&&(u.drawTicks(t,a,{vals:"inside"===a.ticks?u.clipEnds(a,i):i,layer:p,path:u.makeTickPath(a,c,s),transFn:o}),u.drawLabels(t,a,{vals:i,layer:p,transFn:o,labelFns:u.makeLabelFns(a,c)}));function E(t){t.attr("width",function(t){return Math.max(0,a.c2p(t.range[1])-a.c2p(t.range[0]))}).attr("x",function(t){return a.c2p(t.range[0])}).attr("y",function(t){return.5*(1-t.thickness)*T}).attr("height",function(t){return t.thickness*T})}var L=[g].concat(h.gauge.steps),C=f.selectAll("g.bg-bullet").data(L);C.enter().append("g").classed("bg-bullet",!0).append("rect"),C.select("rect").call(E).call(x),C.exit().remove();var P=f.selectAll("g.value-bullet").data([h.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",A).attr("y",(T-A)/2).call(x),y(w)?P.select("rect").transition().duration(w.duration).ease(w.easing).each("end",function(){k&&k()}).each("interrupt",function(){k&&k()}).attr("width",Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var O=r.filter(function(){return h.gauge.threshold.value}),z=f.selectAll("g.threshold-bullet").data(O);z.enter().append("g").classed("threshold-bullet",!0).append("line"),z.select("line").attr("x1",a.c2p(h.gauge.threshold.value)).attr("x2",a.c2p(h.gauge.threshold.value)).attr("y1",(1-h.gauge.threshold.thickness)/2*T).attr("y2",(1-(1-h.gauge.threshold.thickness)/2)*T).call(d.stroke,h.gauge.threshold.line.color).style("stroke-width",h.gauge.threshold.line.width),z.exit().remove();var I=f.selectAll("g.gauge-outline").data([v]);I.enter().append("g").classed("gauge-outline",!0).append("rect"),I.select("rect").call(E).call(x),I.exit().remove()}(t,0,e,{gauge:G,layer:Y,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var W=C.selectAll("text.title").data(e);W.exit().remove(),W.enter().append("text").classed("title",!0),W.attr("text-anchor",function(){return z?g.right:g[L.title.align]}).text(L.title.text).call(s.font,L.title.font).call(c.convertToTspans,t),W.attr("transform",function(){var t,e=D.l+D.w*v[L.title.align],r=l.titlePadding,n=s.bBox(W.node());if(P){if(O)if(L.gauge.axis.visible)t=s.bBox(H.node()).top-r-n.bottom;else t=D.t+D.h/2-B/2-n.bottom-r;z&&(t=A-(n.top+n.bottom)/2,e=D.l-l.bulletPadding*D.w)}else t=L._numbersTop-r-n.bottom;return _(e,t)})})}},{"../../components/color":591,"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"./constants":1050,d3:164}],1054:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var c=e.exports=l(s({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a()},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],1055:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length);for(var r=1/0,a=-1/0,i=e.value.length,o=0;o<i;o++){var s=e.value[o];r=Math.min(r,s),a=Math.max(a,s)}e._minValues=r,e._maxValues=a,e._vMin=void 0===e.isomin||null===e.isomin?r:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?a:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1056:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("../../lib"),i=t("../../lib/gl_format_color").parseColorScale,o=t("../../lib/str2rgbarray"),s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t){return a.distinctVals(t).vals}var u=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),a=Math.max(e[r],e[r-1]);if(a>n&&n<t&&t<=a)return{id:r,distRatio:(a-t)/(a-n)}}return{id:0,distRatio:0}};function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){t._i=[],t._j=[],t._k=[];var e,r,n=t.surface.show,a=t.spaceframe.show,i=t.surface.fill,o=t.spaceframe.fill,s=!1,l=!1,h=0,f=c(t.x.slice(0,t._len)),p=c(t.y.slice(0,t._len)),d=c(t.z.slice(0,t._len)),g=f.length,v=p.length,m=d.length;function y(t,e,r){return r+m*e+m*v*t}var x,b,_,w,k,T=t._minValues,A=t._maxValues,M=t._vMin,S=t._vMax;function E(t,e,n){for(var a=w.length,i=r;i<a;i++)if(t===x[i]&&e===b[i]&&n===_[i])return i;return-1}function L(){r=e}function C(){x=[],b=[],_=[],w=[],e=0,L()}function P(t,r,n,a){return x.push(t),b.push(r),_.push(n),w.push(a),++e-1}function O(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=t[a]*(1-r)+r*e[a];return n}function z(t){k=t}function I(t,e){return"all"===t||null===t||t.indexOf(e)>-1}function D(t,e){return null===t?e:t}function R(e,r,n){L();var a,i,o,s=[r],l=[n];if(k>=1)s=[r],l=[n];else if(k>0){var c=function(t,e){var r=t[0],n=t[1],a=t[2],i=function(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=(t[a]+e[a]+r[a])/3;return n}(r,n,a),o=Math.sqrt(1-k),s=O(i,r,o),l=O(i,n,o),c=O(i,a,o),u=e[0],h=e[1],f=e[2];return{xyzv:[[r,n,l],[l,s,r],[n,a,c],[c,l,n],[a,r,s],[s,c,a]],abc:[[u,h,-1],[-1,-1,u],[h,f,-1],[-1,-1,h],[f,u,-1],[-1,-1,f]]}}(r,n);s=c.xyzv,l=c.abc}for(var u=0;u<s.length;u++){r=s[u],n=l[u];for(var f=[],p=0;p<3;p++){var d=r[p][0],g=r[p][1],v=r[p][2],m=r[p][3],y=n[p]>-1?n[p]:E(d,g,v);f[p]=y>-1?y:P(d,g,v,D(e,m))}a=f[0],i=f[1],o=f[2],t._i.push(a),t._j.push(i),t._k.push(o),++h}}function F(t,e,r,n){var a=t[3];a<r&&(a=r),a>n&&(a=n);for(var i=(t[3]-a)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-i)*t[s]+i*e[s];return o}function B(t,e,r){return t>=e&&t<=r}function N(t){var e=.001*(S-M);return t>=M-e&&t<=S+e}function j(e){for(var r=[],n=0;n<4;n++){var a=e[n];r.push([t.x[a],t.y[a],t.z[a],t.value[a]])}return r}var V=3;function U(t,e,r,n,a,i){i||(i=1),r=[-1,-1,-1];var o=!1,s=[B(e[0][3],n,a),B(e[1][3],n,a),B(e[2][3],n,a)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return N(e[0][3])&&N(e[1][3])&&N(e[2][3])?(R(t,e,r),!0):i<V&&U(t,e,r,M,S,++i)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(i){if(s[i[0]]&&s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=F(f,u,n,a),d=F(f,h,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,o=l(t,[u,h,d],[r[i[0]],r[i[1]],-1])||o,c=!0}}),c?o:([[0,1,2],[1,2,0],[2,0,1]].forEach(function(i){if(s[i[0]]&&!s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=F(h,u,n,a),d=F(f,u,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,c=!0}}),o)}function q(t,e,r,n){var a=!1,i=j(e),o=[B(i[0][3],r,n),B(i[1][3],r,n),B(i[2][3],r,n),B(i[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return a;if(o[0]&&o[1]&&o[2]&&o[3])return l&&(a=function(t,e,r){var n=function(n,a,i){R(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,i,e)||a),a;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(c){if(o[c[0]]&&o[c[1]]&&o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]];if(l)a=R(t,[u,h,f],[e[c[0]],e[c[1]],e[c[2]]])||a;else{var d=F(p,u,r,n),g=F(p,h,r,n),v=F(p,f,r,n);a=R(null,[d,g,v],[-1,-1,-1])||a}s=!0}}),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach(function(c){if(o[c[0]]&&o[c[1]]&&!o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]],d=F(f,u,r,n),g=F(f,h,r,n),v=F(p,h,r,n),m=F(p,u,r,n);l?(a=R(t,[u,m,d],[e[c[0]],-1,-1])||a,a=R(t,[h,g,v],[e[c[1]],-1,-1])||a):a=function(t,e,r){var n=function(n,a,i){R(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(2,3,0)}(null,[d,g,v,m],[-1,-1,-1,-1])||a,s=!0}}),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(c){if(o[c[0]]&&!o[c[1]]&&!o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]],d=F(h,u,r,n),g=F(f,u,r,n),v=F(p,u,r,n);l?(a=R(t,[u,d,g],[e[c[0]],-1,-1])||a,a=R(t,[u,g,v],[e[c[0]],-1,-1])||a,a=R(t,[u,v,d],[e[c[0]],-1,-1])||a):a=R(null,[d,g,v],[-1,-1,-1])||a,s=!0}}),a))}function H(t,e,r,n,a,i,o,c,u,h,f){var p=!1;return s&&(I(t,"A")&&(p=q(null,[e,r,n,i],h,f)||p),I(t,"B")&&(p=q(null,[r,n,a,u],h,f)||p),I(t,"C")&&(p=q(null,[r,i,o,u],h,f)||p),I(t,"D")&&(p=q(null,[n,i,c,u],h,f)||p),I(t,"E")&&(p=q(null,[r,n,i,u],h,f)||p)),l&&(p=q(t,[r,n,i,u],h,f)||p),p}function G(t,e,r,n,a,i,o,s){return[!0===s[0]||U(t,j([e,r,n]),[e,r,n],i,o),!0===s[1]||U(t,j([n,a,e]),[n,a,e],i,o)]}function Y(t,e,r,n,a,i,o,s,l){return s?G(t,e,r,a,n,i,o,l):G(t,r,a,n,e,i,o,l)}function W(t,e,r,n,a,i,o){var s,l,c,u,h=!1,f=function(){h=U(t,[s,l,c],[-1,-1,-1],a,i)||h,h=U(t,[c,u,s],[-1,-1,-1],a,i)||h},p=o[0],d=o[1],g=o[2];return p&&(s=O(j([y(e,r-0,n-0)])[0],j([y(e-1,r-0,n-0)])[0],p),l=O(j([y(e,r-0,n-1)])[0],j([y(e-1,r-0,n-1)])[0],p),c=O(j([y(e,r-1,n-1)])[0],j([y(e-1,r-1,n-1)])[0],p),u=O(j([y(e,r-1,n-0)])[0],j([y(e-1,r-1,n-0)])[0],p),f()),d&&(s=O(j([y(e-0,r,n-0)])[0],j([y(e-0,r-1,n-0)])[0],d),l=O(j([y(e-0,r,n-1)])[0],j([y(e-0,r-1,n-1)])[0],d),c=O(j([y(e-1,r,n-1)])[0],j([y(e-1,r-1,n-1)])[0],d),u=O(j([y(e-1,r,n-0)])[0],j([y(e-1,r-1,n-0)])[0],d),f()),g&&(s=O(j([y(e-0,r-0,n)])[0],j([y(e-0,r-0,n-1)])[0],g),l=O(j([y(e-0,r-1,n)])[0],j([y(e-0,r-1,n-1)])[0],g),c=O(j([y(e-1,r-1,n)])[0],j([y(e-1,r-1,n-1)])[0],g),u=O(j([y(e-1,r-0,n)])[0],j([y(e-1,r-0,n-1)])[0],g),f()),h}function X(t,e,r,n,a,i,o,l,c,u,h,f){var p=t;return f?(s&&"even"===t&&(p=null),H(p,e,r,n,a,i,o,l,c,u,h)):(s&&"odd"===t&&(p=null),H(p,c,l,o,i,a,n,r,e,u,h))}function Z(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<m;c++)for(var u=1;u<v;u++)i.push(Y(t,y(l,u-1,c-1),y(l,u-1,c),y(l,u,c-1),y(l,u,c),r,n,(l+u+c)%2,a&&a[o]?a[o]:[])),o++;return i}function J(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<g;c++)for(var u=1;u<m;u++)i.push(Y(t,y(c-1,l,u-1),y(c,l,u-1),y(c-1,l,u),y(c,l,u),r,n,(c+l+u)%2,a&&a[o]?a[o]:[])),o++;return i}function K(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<v;c++)for(var u=1;u<g;u++)i.push(Y(t,y(u-1,c-1,l),y(u-1,c,l),y(u,c-1,l),y(u,c,l),r,n,(u+c+l)%2,a&&a[o]?a[o]:[])),o++;return i}function Q(t,e,r){for(var n=1;n<m;n++)for(var a=1;a<v;a++)for(var i=1;i<g;i++)X(t,y(i-1,a-1,n-1),y(i-1,a-1,n),y(i-1,a,n-1),y(i-1,a,n),y(i,a-1,n-1),y(i,a-1,n),y(i,a,n-1),y(i,a,n),e,r,(i+a+n)%2)}function $(t,e,r){s=!0,Q(t,e,r),s=!1}function tt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<m;u++)for(var h=1;h<v;h++)o.push(W(t,c,h,u,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function et(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<g;u++)for(var h=1;h<m;h++)o.push(W(t,u,c,h,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function rt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<v;u++)for(var h=1;h<g;h++)o.push(W(t,h,u,c,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function nt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){if(C(),function(){for(var e=0;e<g;e++)for(var r=0;r<v;r++)for(var n=0;n<m;n++){var a=y(e,r,n);P(t.x[a],t.y[a],t.z[a],t.value[a])}}(),a&&o&&(z(o),l=!0,Q(null,M,S),l=!1),n&&i){z(i);for(var e=t.surface.pattern,r=t.surface.count,s=0;s<r;s++){var c=1===r?.5:s/(r-1),k=(1-c)*M+c*S,E=Math.abs(k-T)>Math.abs(k-A)?[T,k]:[k,A];$(e,E[0],E[1])}}var L=[[Math.min(M,A),Math.max(M,A)],[Math.min(T,S),Math.max(T,S)]];["x","y","z"].forEach(function(e){for(var r=[],n=0;n<L.length;n++){var a=0,i=L[n][0],o=L[n][1],s=t.slices[e];if(s.show&&s.fill){z(s.fill);var l=[],c=[],h=[];if(s.locations.length)for(var y=0;y<s.locations.length;y++){var x=u(s.locations[y],"x"===e?f:"y"===e?p:d);0===x.distRatio?l.push(x.id):x.id>0&&(c.push(x.id),"x"===e?h.push([x.distRatio,0,0]):"y"===e?h.push([0,x.distRatio,0]):h.push([0,0,x.distRatio]))}else l=nt(1,"x"===e?g-1:"y"===e?v-1:m-1);c.length>0&&(r[a]="x"===e?tt(null,c,i,o,h,r[a]):"y"===e?et(null,c,i,o,h,r[a]):rt(null,c,i,o,h,r[a]),a++),l.length>0&&(r[a]="x"===e?Z(null,l,i,o,r[a]):"y"===e?J(null,l,i,o,r[a]):K(null,l,i,o,r[a]),a++)}var b=t.caps[e];b.show&&b.fill&&(z(b.fill),r[a]="x"===e?Z(null,[0,g-1],i,o,r[a]):"y"===e?J(null,[0,v-1],i,o,r[a]):K(null,[0,m-1],i,o,r[a]),a++)}}),0===h&&C(),t._x=x,t._y=b,t._z=_,t._intensity=w,t._Xs=f,t._Ys=p,t._Zs=d}(),t}f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._x[e],n=this.data._y[e],a=this.data._z[e],i=this.data._Ys.length,o=this.data._Zs.length,s=u(r,this.data._Xs).id,l=u(n,this.data._Ys).id,c=u(a,this.data._Zs).id,h=t.index=c+o*l+o*i*s;t.traceCoordinate=[this.data._x[h],this.data._y[h],this.data._z[h],this.data.value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=p(t);var a={positions:l(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:l(t._i,t._j,t._k),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:o(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=s(t);a.vertexIntensity=t._intensity,a.vertexIntensityBounds=[c.min,c.max],a.colormap=i(t),this.mesh.update(a)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"gl-mesh3d":282}],1057:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,i){var s=i("isomin"),l=i("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=i("x"),u=i("y"),h=i("z"),f=i("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach(function(t){var e="caps."+t;i(e+".show")&&i(e+".fill");var r="slices."+t;i(r+".show")&&(i(r+".fill"),i(r+".locations"))}),i("spaceframe.show")&&i("spaceframe.fill"),i("surface.show")&&(i("surface.count"),i("surface.fill"),i("surface.pattern")),i("contour.show")&&(i("contour.color"),i("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(t){i(t)}),o(t,e,n,i,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,a){s(t,e,0,a,function(r,a){return n.coerce(t,e,i,r,a)})},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1054}],1058:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1054,"./calc":1055,"./convert":1056,"./defaults":1057}],1059:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},i.contours.x.show,{}),color:i.contours.x.color,width:i.contours.x.width,editType:"calc"},lightposition:{x:s({},i.lightposition.x,{dflt:1e5}),y:s({},i.lightposition.y,{dflt:1e5}),z:s({},i.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},i.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"})})},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../surface/attributes":1240}],1060:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1061:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("delaunay-triangulate"),i=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../components/colorscale").extractOpts,u=t("../../plots/gl3d/zip3");function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var a=[],i=e.length,o=0;o<i;o++)a[o]=t.d2l(e[o],0,n)*r;return a}function g(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function v(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,h=t.x.length,f=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!v(t.i,h)||!v(t.j,h)||!v(t.k,h))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?i(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],i=e.length,o=0;o<i;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return a(n)}(t.delaunayaxis,f);var m={positions:f,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var y=c(t);this.color="#fff",m.vertexIntensity=t.intensity,m.vertexIntensityBounds=[y.min,y.max],m.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],m.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],m.cellColors=p(t.facecolor)):(this.color=t.color,m.meshColor=l(t.color));this.mesh.update(m)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"alpha-shape":66,"convex-hull":131,"delaunay-triangulate":166,"gl-mesh3d":282}],1062:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return a.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&a.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}c(["x","y","z"])?(c(["i","j","k"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(t){l(t)}),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in t?(l("intensity"),i(t,e,s,l,{prefix:"",cLetter:"c"})):(e.showscale=!1,"facecolor"in t?l("facecolor"):"vertexcolor"in t?l("vertexcolor"):l("color",r)),l("text"),l("hovertext"),l("hovertemplate"),e._length=null):e.visible=!1):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1059}],1063:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"mesh3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1059,"./calc":1060,"./convert":1061,"./defaults":1062}],1064:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,a=t("../scatter/attributes"),i=t("../../components/drawing/attributes").dash,o=t("../../components/fx/attributes"),s=t("../../constants/delta.js"),l=s.INCREASING.COLOR,c=s.DECREASING.COLOR,u=a.line;function h(t){return{line:{color:n({},u.color,{dflt:t}),width:u.width,dash:i,editType:"style"},editType:"style"}}e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:n({},u.width,{}),dash:n({},i,{}),editType:"style"},increasing:h(l),decreasing:h(c),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:n({},o.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}})}},{"../../components/drawing/attributes":611,"../../components/fx/attributes":621,"../../constants/delta.js":686,"../../lib":716,"../scatter/attributes":1118}],1065:[function(t,e,r){"use strict";var n=t("../../lib"),a=n._,i=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM;function s(t,e,r,n){return{o:t,h:e,l:r,c:n}}function l(t,e,r,s,l){for(var c=s.makeCalcdata(e,"open"),u=s.makeCalcdata(e,"high"),h=s.makeCalcdata(e,"low"),f=s.makeCalcdata(e,"close"),p=Array.isArray(e.text),d=Array.isArray(e.hovertext),g=!0,v=null,m=[],y=0;y<r.length;y++){var x=r[y],b=c[y],_=u[y],w=h[y],k=f[y];if(x!==o&&b!==o&&_!==o&&w!==o&&k!==o){k===b?null!==v&&k!==v&&(g=k>v):g=k>b,v=k;var T=l(b,_,w,k);T.pos=x,T.yc=(b+k)/2,T.i=y,T.dir=g?"increasing":"decreasing",T.x=T.pos,T.y=[w,_],p&&(T.tx=e.text[y]),d&&(T.htx=e.hovertext[y]),m.push(T)}else m.push({pos:x,empty:!0})}return e._extremes[s._id]=i.findExtremes(s,n.concat(h,u),{padded:!0}),m.length&&(m[0].t={labels:{open:a(t,"open:")+" ",high:a(t,"high:")+" ",low:a(t,"low:")+" ",close:a(t,"close:")+" "}}),m}e.exports={calc:function(t,e){var r=i.getFromId(t,e.xaxis),a=i.getFromId(t,e.yaxis),o=function(t,e,r){var a=r._minDiff;if(!a){var i,o=t._fullData,s=[];for(a=1/0,i=0;i<o.length;i++){var l=o[i];if("ohlc"===l.type&&!0===l.visible&&l.xaxis===e._id){s.push(l);var c=e.makeCalcdata(l,"x");l._xcalc=c;var u=n.distinctVals(c).minDiff;u&&isFinite(u)&&(a=Math.min(a,u))}}for(a===1/0&&(a=1),i=0;i<s.length;i++)s[i]._minDiff=a}return a*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var h=l(t,e,u,a,s);return e._extremes[r._id]=i.findExtremes(r,u,{vpad:c/2}),h.length?(n.extendFlat(h[0].t,{wHover:c/2,tickLen:o}),h):[{t:{empty:!0}}]},calcCommon:l}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764}],1066:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./ohlc_defaults"),i=t("./attributes");function o(t,e,r,n){r(n+".line.color"),r(n+".line.width",e.line.width),r(n+".line.dash",e.line.dash)}e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,l,s)?(l("line.width"),l("line.dash"),o(t,e,l,"increasing"),o(t,e,l,"decreasing"),l("text"),l("hovertext"),l("tickwidth"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../lib":716,"./attributes":1064,"./ohlc_defaults":1069}],1067:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib").fillText,l=t("../../constants/delta.js"),c={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function u(t,e,r,n){var a,s,l=t.cd,c=t.xa,u=l[0].trace,h=l[0].t,f=u.type,p="ohlc"===f?"l":"min",d="ohlc"===f?"h":"max",g=h.bPos||0,v=function(t){return t.pos+g-e},m=h.bdPos||h.tickLen,y=h.wHover,x=Math.min(1,m/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function b(t){var e=v(t);return i.inbox(e-y,e+y,a)}function _(t){var e=t[p],n=t[d];return e===n||i.inbox(e-r,n-r,a)}function w(t){return(b(t)+_(t))/2}a=t.maxHoverDistance-x,s=t.maxSpikeDistance-x;var k=i.getDistanceFunction(n,b,_,w);if(i.getClosest(l,k,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var A=u[T.dir],M=A.line.color;return o.opacity(M)&&A.line.width?t.color=M:t.color=A.fillcolor,t.x0=c.c2p(T.pos+g-m,!0),t.x1=c.c2p(T.pos+g+m,!0),t.xLabelVal=T.pos,t.spikeDistance=w(T)*s/a,t.xSpike=c.c2p(T.pos,!0),t}function h(t,e,r,i){var o=t.cd,s=t.ya,l=o[0].trace,c=o[0].t,h=[],f=u(t,e,r,i);if(!f)return[];var p=o[f.index].hi||l.hoverinfo,d=p.split("+");if(!("all"===p||-1!==d.indexOf("y")))return[];for(var g=["high","open","close","low"],v={},m=0;m<g.length;m++){var y,x=g[m],b=l[x][f.index],_=s.c2p(b,!0);b in v?(y=v[b]).yLabel+="<br>"+c.labels[x]+n.hoverLabelText(s,b):((y=a.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name="",h.push(y),v[b]=y)}return h}function f(t,e,r,a){var i=t.cd,o=t.ya,l=i[0].trace,h=i[0].t,f=u(t,e,r,a);if(!f)return[];var p=i[f.index],d=f.index=p.i,g=p.dir;function v(t){return h.labels[t]+n.hoverLabelText(o,l[t][d])}var m=p.hi||l.hoverinfo,y=m.split("+"),x="all"===m,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[v("open"),v("high"),v("low"),v("close")+"  "+c[g]]:[];return _&&s(p,l,w),f.extraText=w.join("<br>"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},{"../../components/color":591,"../../components/fx":629,"../../constants/delta.js":686,"../../lib":716,"../../plots/cartesian/axes":764}],1068:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select")}},{"../../plots/cartesian":775,"./attributes":1064,"./calc":1065,"./defaults":1066,"./hover":1067,"./plot":1070,"./select":1071,"./style":1072}],1069:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,a.minRowLength(o))),e._length=h,h}}},{"../../lib":716,"../../registry":845}],1070:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib");e.exports=function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace ohlc").each(function(t){var e=n.select(this),r=t[0],i=r.t;if(!0!==r.trace.visible||i.empty)e.remove();else{var l=i.tickLen,c=e.selectAll("path").data(a.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",function(t){if(t.empty)return"M0,0Z";var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-l,!0),n=o.c2p(t.pos+l,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":716,d3:164}],1071:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([a.c2p(l.pos+s),i.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:a.c2d(l.pos),y:i.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],1072:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color");e.exports=function(t,e,r){var o=r||n.select(t).selectAll("g.ohlclayer").selectAll("g.trace");o.style("opacity",function(t){return t[0].trace.opacity}),o.each(function(t){var e=t[0].trace;n.select(this).selectAll("path").each(function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style("fill","none").call(i.stroke,r.color).call(a.dashLine,r.dash,r.width).style("opacity",e.selectedpoints&&!t.selected?.3:1)}})})}},{"../../components/color":591,"../../components/drawing":612,d3:164}],1073:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("../../plots/attributes"),i=t("../../plots/font_attributes"),o=t("../../components/colorscale/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/domain").attributes,c=n({editType:"calc"},o("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});e.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:n({},a.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:i({editType:"calc"}),tickfont:i({editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:c,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1074:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,a=t("./plot");r.name="parcats",r.plot=function(t,e,r,i){var o=n(t.calcdata,"parcats");if(o.length){var s=o[0];a(t,s,r,i)}},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcats"),i=e._has&&e._has("parcats");a&&!i&&n._paperdiv.selectAll(".parcats").remove()}},{"../../plots/get_data":799,"./plot":1079}],1075:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),o=t("../../lib/filter_unique.js"),s=t("../../components/drawing"),l=t("../../lib");function c(t,e,r){t.valueInds.push(e),t.count+=r}function u(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function h(t,e,r){t.valueInds.push(e),t.count+=r}e.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var f,p,d,g=r.map(function(t){var e;return"trace"===t.categoryorder?e=null:"array"===t.categoryorder?e=t.categoryarray:(e=o(t.values).sort(),"category descending"===t.categoryorder&&(e=e.reverse())),function(t,e){e=null==e?[]:e.map(function(t){return t});var r={},n={},a=[];e.forEach(function(t,e){r[t]=0,n[t]=e});for(var i=0;i<t.length;i++){var o,s=t[i];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),a.push(o)}var l=e.map(function(t){return r[t]});return{uniqueValues:e,uniqueCounts:l,inds:a}}(t.values,e)});f=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e;if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map(function(t){return t.displayindex})))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach(function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,g[e])});var v,m=e.line;m?(a(e,"line")&&i(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),v=s.tryColorscale(m)):v=l.identity;var y,x,b,_,w,k=r[0].values.length,T={},A=g.map(function(t){return t.inds});for(d=0,y=0;y<k;y++){var M=[];for(x=0;x<A.length;x++)M.push(A[x][y]);p=f[y%f.length],d+=p;var S=(b=y,_=void 0,w=void 0,l.isArrayOrTypedArray(m.color)?w=_=m.color[b%m.color.length]:_=m.color,{color:v(_),rawColor:w}),E=M+"-"+S.rawColor;void 0===T[E]&&(T[E]=u(M,S.color,S.rawColor)),h(T[E],y,p)}var L,C=r.map(function(t,e){return r=e,n=t._index,a=t._displayindex,i=t.label,{dimensionInd:r,containerInd:n,displayInd:a,dimensionLabel:i,count:d,categories:[],dragX:null};var r,n,a,i});for(y=0;y<k;y++)for(p=f[y%f.length],x=0;x<C.length;x++){var P=C[x].containerInd,O=g[x].inds[y],z=C[x].categories;if(void 0===z[O]){var I=e.dimensions[P]._categoryarray[O],D=e.dimensions[P]._ticktext[O];z[O]={dimensionInd:x,categoryInd:L=O,categoryValue:I,displayInd:L,categoryLabel:D,valueInds:[],count:0,dragY:null}}c(z[O],y,p)}return n(function(t,e,r){var n=t.map(function(t){return t.categories.length}).reduce(function(t,e){return Math.max(t,e)});return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(C,T,d))}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../components/drawing":612,"../../lib":716,"../../lib/filter_unique.js":708,"../../lib/gup":714}],1076:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("./attributes"),c=t("../parcoords/merge_length");function u(t,e){function r(r,a){return n.coerce(t,e,l.dimensions,r,a)}var a=r("values"),i=r("visible");if(a&&a.length||(i=e.visible=!1),i){r("label"),r("displayindex",e._index);var o,s=t.categoryarray,c=Array.isArray(s)&&s.length>0;c&&(o="array");var u=r("categoryorder",o);"array"===u?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==u||(e.categoryorder="trace")}}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,l,r,a)}var p=s(t,e,{name:"dimensions",handleItemDefaults:u}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,h,f);o(e,h,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),f("hoveron"),f("hovertemplate"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var g={family:h.font.family,size:Math.round(h.font.size),color:h.font.color};n.coerceFont(f,"labelfont",g);var v={family:h.font.family,size:Math.round(h.font.size/1.2),color:h.font.color};n.coerceFont(f,"tickfont",v)}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/domain":789,"../parcoords/merge_length":1089,"./attributes":1073}],1077:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1073,"./base_plot":1074,"./calc":1075,"./defaults":1076,"./plot":1079}],1078:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plot_api/plot_api"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../components/drawing"),l=t("tinycolor2"),c=t("../../lib/svg_text_utils");function u(t,e,r,a){var i=t.map(function(t,e,r){var n,a=r[0],i=e.margin||{l:80,r:80,t:100,b:80},o=a.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),h=Math.floor(c*(s.y[1]-s.y[0])),f=s.x[0]*l+i.l,p=e.height-s.y[1]*e.height+i.t,d=o.line.shape;n="all"===o.hoverinfo?["count","probability"]:(o.hoverinfo||"").split("+");var g={trace:o,key:o.uid,model:a,x:f,y:p,width:u,height:h,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};a.dimensions&&(F(g),R(g));return g}.bind(0,e,r)),l=a.selectAll("g.parcatslayer").data([null]);l.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var u=l.selectAll("g.trace.parcats").data(i,h),v=u.enter().append("g").attr("class","trace parcats");u.attr("transform",function(t){return"translate("+t.x+", "+t.y+")"}),v.append("g").attr("class","paths");var m=u.select("g.paths").selectAll("path.path").data(function(t){return t.paths},h);m.attr("fill",function(t){return t.model.color});var b=m.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(t){return t.model.color}).attr("fill-opacity",0);x(b),m.attr("d",function(t){return t.svgD}),b.empty()||m.sort(p),m.exit().remove(),m.on("mouseover",d).on("mouseout",g).on("click",y),v.append("g").attr("class","dimensions");var k=u.select("g.dimensions").selectAll("g.dimension").data(function(t){return t.dimensions},h);k.enter().append("g").attr("class","dimension"),k.attr("transform",function(t){return"translate("+t.x+", 0)"}),k.exit().remove();var T=k.selectAll("g.category").data(function(t){return t.categories},h),A=T.enter().append("g").attr("class","category");T.attr("transform",function(t){return"translate(0, "+t.y+")"}),A.append("rect").attr("class","catrect").attr("pointer-events","none"),T.select("rect.catrect").attr("fill","none").attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),_(A);var M=T.selectAll("rect.bandrect").data(function(t){return t.bands},h);M.each(function(){o.raiseToTop(this)}),M.attr("fill",function(t){return t.color});var O=M.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);M.attr("fill",function(t){return t.color}).attr("width",function(t){return t.width}).attr("height",function(t){return t.height}).attr("y",function(t){return t.y}).attr("cursor",function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"}),w(O),M.exit().remove(),A.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;T.select("text.catlabel").attr("text-anchor",function(t){return f(t)?"start":"end"}).attr("alignment-baseline","middle").style("text-shadow",z+" -1px  1px 2px, "+z+" 1px  1px 2px, "+z+"  1px -1px 2px, "+z+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",function(t){return f(t)?t.width+5:-5}).attr("y",function(t){return t.height/2}).text(function(t){return t.model.categoryLabel}).each(function(t){s.font(n.select(this),t.parcatsViewModel.categorylabelfont),c.convertToTspans(n.select(this),e)}),A.append("text").attr("class","dimlabel"),T.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"}).attr("x",function(t){return t.width/2}).attr("y",-5).text(function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null}).each(function(t){s.font(n.select(this),t.parcatsViewModel.labelfont)}),T.selectAll("rect.bandrect").on("mouseover",S).on("mouseout",E),T.exit().remove(),k.call(n.behavior.drag().origin(function(t){return{x:t.x,y:0}}).on("dragstart",L).on("drag",C).on("dragend",P)),u.each(function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),u.exit().remove()}function h(t){return t.key}function f(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function p(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor<e.model.rawColor?-1:0}function d(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){o.raiseToTop(this),b(n.select(this));var e=v(t),r=m(t);if(t.parcatsViewModel.graphDiv.emit("plotly_hover",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")){var a,s,c,u=n.mouse(this)[0],h=t.parcatsViewModel.graphDiv,f=t.parcatsViewModel.trace,p=h._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),g=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(c=0;c<t.leftXs.length-1;c++)if(t.leftXs[c]+t.dimWidths[c]-2<=u&&u<=t.leftXs[c+1]+2){var y=t.parcatsViewModel.dimensions[c],x=t.parcatsViewModel.dimensions[c+1];a=(y.x+y.width+x.x)/2,s=(t.topYs[c]+t.topYs[c+1]+t.height)/2;break}var _=t.parcatsViewModel.x+a,w=t.parcatsViewModel.y+s,k=l.mostReadable(t.model.color,["black","white"]),T=t.model.count,A=T/t.parcatsViewModel.model.count,M={countLabel:T,probabilityLabel:A.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf("count")&&S.push(["Count:",M.countLabel].join(" ")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf("probability")&&S.push(["P:",M.probabilityLabel].join(" "));var E=S.join("<br>"),L=n.mouse(h)[0];i.loneHover({trace:f,x:_-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:k,idealAlign:L<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:T,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(t){if(!t.parcatsViewModel.dragDimension&&(x(n.select(this)),i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(p),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=m(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=O(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var a=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:a})}return e}function m(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var a=r[n],i=a.categories[t.model.categoryInds[n]];e[a.containerInd]=i.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function y(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){var e=v(t),r=m(t);t.parcatsViewModel.graphDiv.emit("plotly_click",{points:e,event:n.event,constraints:r})}}function x(t){t.attr("fill",function(t){return t.model.color}).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function b(t){t.attr("fill-opacity",.8).attr("stroke",function(t){return l.mostReadable(t.model.color,["black","white"])}).attr("stroke-width",.3)}function _(t){t.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function w(t){t.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function k(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter(function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color})}function T(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll("rect.bandrect"),l=[];s.each(function(t){k(t).each(function(t){Array.prototype.push.apply(l,v(t))})});var c={};c[i.dimensionInd]=i.categoryValue,o.emit(e,{points:l,event:r,constraints:c})}function A(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=k(a),l=[];s.each(function(t){Array.prototype.push.apply(l,v(t))});var c={};c[i.dimensionInd]=i.categoryValue,void 0!==a.rawColor&&(c.color=a.rawColor),o.emit(e,{points:l,event:r,constraints:c})}function M(t,e){var r,a,i=n.select(e.parentNode).select("rect.catrect"),o=i.node().getBoundingClientRect(),s=i.datum(),l=s.parcatsViewModel,c=l.model.dimensions[s.model.dimensionInd],u=l.trace,h=o.top+o.height/2;l.dimensions.length>1&&c.displayInd===l.dimensions.length-1?(r=o.left,a="left"):(r=o.left+o.width,a="right");var f=s.model.count,p=s.model.categoryLabel,d=f/s.parcatsViewModel.model.count,g={countLabel:f,categoryLabel:p,probabilityLabel:d.toFixed(3)},v=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&v.push(["Count:",g.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&v.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var m=v.join("<br>");return{trace:u,x:r-t.left,y:h-t.top,text:m,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:u.hovertemplate,hovertemplateLabels:g,eventData:[{data:u._input,fullData:u,count:f,category:p,probability:d}]}}function S(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,a=r._fullLayout,s=a._paperdiv.node().getBoundingClientRect(),c=t.parcatsViewModel.hoveron;if("color"===c?(!function(t){var e=n.select(t).datum(),r=k(e);b(r),r.each(function(){o.raiseToTop(this)}),n.select(t.parentNode).selectAll("rect.bandrect").filter(function(t){return t.color===e.color}).each(function(){o.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)})}(this),A(this,"plotly_hover",n.event)):(!function(t){n.select(t.parentNode).selectAll("rect.bandrect").each(function(t){var e=k(t);b(e),e.each(function(){o.raiseToTop(this)})}),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),T(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===c?e=M(s,this):"color"===c?e=function(t,e){var r,a,i=e.getBoundingClientRect(),o=n.select(e).datum(),s=o.categoryViewModel,c=s.parcatsViewModel,u=c.model.dimensions[s.model.dimensionInd],h=c.trace,f=i.y+i.height/2;c.dimensions.length>1&&u.displayInd===c.dimensions.length-1?(r=i.left,a="left"):(r=i.left+i.width,a="right");var p=s.model.categoryLabel,d=o.parcatsViewModel.model.count,g=0;o.categoryViewModel.bands.forEach(function(t){t.color===o.color&&(g+=t.count)});var v=s.model.count,m=0;c.pathSelection.each(function(t){t.model.color===o.color&&(m+=t.model.count)});var y=g/d,x=g/m,b=g/v,_={countLabel:d,categoryLabel:p,probabilityLabel:y.toFixed(3)},w=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&w.push(["Count:",_.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(w.push("P(color \u2229 "+p+"): "+_.probabilityLabel),w.push("P("+p+" | color): "+x.toFixed(3)),w.push("P(color | "+p+"): "+b.toFixed(3)));var k=w.join("<br>"),T=l.mostReadable(o.color,["black","white"]);return{trace:h,x:r-t.left,y:f-t.top,text:k,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:T,fontSize:10,idealAlign:a,hovertemplate:h.hovertemplate,hovertemplateLabels:_,eventData:[{data:h._input,fullData:h,category:p,count:d,probability:y,categorycount:v,colorcount:m,bandcolorcount:g}]}}(s,this):"dimension"===c&&(e=function(t,e){var r=[];return n.select(e.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){r.push(M(t,this))}),r}(s,this)),e&&i.loneHover(e,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r})}}function E(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(x(e.pathSelection),_(e.dimensionSelection.selectAll("g.category")),w(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),i.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(p),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):T(this,"plotly_unhover",n.event)}}function L(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each(function(e){var r=n.mouse(this)[0],a=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=a&&a<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map(function(t){return t.displayInd}),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each(function(e){e.y<a&&a<=e.y+e.height&&(t.potentialClickBand=this)}))}),t.parcatsViewModel.dragDimension=t,i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function C(t){if("fixed"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,a=e+1,i=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=i.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,c=i.categories,u=c[l-1],h=c[l+1];void 0!==u&&s<u.y+u.height/2&&(o.model.displayInd=u.model.displayInd,u.model.displayInd=l),void 0!==h&&s+o.height>h.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){i.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[a];void 0!==f&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=e),void 0!==p&&i.model.dragX+i.width>p.x&&(i.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=i.model.displayInd}F(t.parcatsViewModel),R(t.parcatsViewModel),I(t.parcatsViewModel),z(t.parcatsViewModel)}}function P(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=O(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),o=t.initialDragDimensionDisplayInds.some(function(t,e){return t!==i[e]});o&&i.forEach(function(r,n){var a=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+a+"].displayindex"]=r});var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map(function(t){return t.displayInd});if(s=t.initialDragCategoryDisplayInds.some(function(t,e){return t!==l[e]})){var c=t.model.categories.slice().sort(function(t,e){return t.displayInd-e.displayInd}),u=c.map(function(t){return t.categoryValue}),h=c.map(function(t){return t.categoryLabel});e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[h],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,"plotly_click",n.event.sourceEvent):T(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,F(t.parcatsViewModel),R(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each(function(){I(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)}).each("end",function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])})}}function O(t){for(var e,r=t.graphDiv._fullData,n=0;n<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function z(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data(function(t){return t.paths},h),(r=t.pathSelection,e?r.transition():r).attr("d",function(t){return t.svgD})}function I(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data(function(t){return t.dimensions},h);var a=t.dimensionSelection.selectAll("g.category").data(function(t){return t.categories},h);r(t.dimensionSelection).attr("transform",function(t){return"translate("+t.x+", 0)"}),r(a).attr("transform",function(t){return"translate(0, "+t.y+")"}),a.select(".dimlabel").text(function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null}),a.select(".catlabel").attr("text-anchor",function(t){return f(t)?"start":"end"}).attr("x",function(t){return f(t)?t.width+5:-5}).each(function(t){var e,r;f(t)?(e=t.width+5,r="start"):(e=-5,r="end"),n.select(this).selectAll("tspan").attr("x",e).attr("text-anchor",r)});var i=a.selectAll("rect.bandrect").data(function(t){return t.bands},h),s=i.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);i.attr("fill",function(t){return t.color}).attr("width",function(t){return t.width}).attr("height",function(t){return t.height}).attr("y",function(t){return t.y}),w(s),i.each(function(){o.raiseToTop(this)}),i.exit().remove()}function D(t,e,r,a,i){var o,s,l=[],c=[];for(s=0;s<r.length-1;s++)o=n.interpolateNumber(r[s]+t[s],t[s+1]),l.push(o(i)),c.push(o(1-i));var u="M "+t[0]+","+e[0];for(u+="l"+r[0]+",0 ",s=1;s<r.length;s++)u+="C"+l[s-1]+","+e[s-1]+" "+c[s-1]+","+e[s]+" "+t[s]+","+e[s],u+="l"+r[s]+",0 ";for(u+="l0,"+a+" ",u+="l -"+r[r.length-1]+",0 ",s=r.length-2;s>=0;s--)u+="C"+c[s]+","+(e[s+1]+a)+" "+l[s]+","+(e[s]+a)+" "+(t[s]+r[s])+","+(e[s]+a),u+="l-"+r[s]+",0 ";return u+="Z"}function R(t){var e=t.dimensions,r=t.model,n=e.map(function(t){return t.categories.map(function(t){return t.y})}),a=t.model.dimensions.map(function(t){return t.categories.map(function(t){return t.displayInd})}),i=t.model.dimensions.map(function(t){return t.displayInd}),o=t.dimensions.map(function(t){return t.model.dimensionInd}),s=e.map(function(t){return t.x}),l=e.map(function(t){return t.width}),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map(function(t,e){return a[e][t]});return o.map(function(t){return e[t]})}c.sort(function(e,r){var n=h(e),a=h(r);return"backward"===t.sortpaths&&(n.reverse(),a.reverse()),n.push(e.valueInds[0]),a.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),a.unshift(r.rawColor)),n<a?-1:n>a?1:0});for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map(function(t){return t.height}).reduce(function(t,e){return t+e}),g=0;g<c.length;g++){var v,m=c[g];v=p>0?d*(m.count/p):0;for(var y,x=new Array(n.length),b=0;b<m.categoryInds.length;b++){var _=m.categoryInds[b],w=a[b][_],k=i[b];x[k]=n[k][w],n[k][w]+=v;var T=t.dimensions[k].categories[w],A=T.bands.length,M=T.bands[A-1];if(void 0===M||m.rawColor!==M.rawColor){var S=void 0===M?0:M.y+M.height;T.bands.push({key:S,color:m.color,rawColor:m.rawColor,height:v,width:T.width,count:m.count,y:S,categoryViewModel:T,parcatsViewModel:t})}else{var E=T.bands[A-1];E.height+=v,E.count+=m.count}}y="hspline"===t.pathShape?D(s,x,l,v,.5):D(s,x,l,v,0),f[g]={key:m.valueInds[0],model:m,height:v,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:t}}t.paths=f}function F(t){var e=t.model.dimensions.map(function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}});e.sort(function(t,e){return t.displayInd-e.displayInd});var r=[];for(var n in e){var a=e[n].dimensionInd,i=t.model.dimensions[a];r.push(B(t,i))}t.dimensions=r}function B(t,e){var r,n=t.model.dimensions.length,a=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*a;var i,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),g=8*(h-f)/2,v=e.categories.map(function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}});for(v.sort(function(t,e){return t.displayInd-e.displayInd}),c=0;c<f;c++)l=v[c].categoryInd,o=e.categories[l],i=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:i,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+i+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){u(r,t,n,e)}},{"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_api":751,d3:164,tinycolor2:535}],1079:[function(t,e,r){"use strict";var n=t("./parcats");e.exports=function(t,e,r,a){var i=t._fullLayout,o=i._paper,s=i._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,a)}},{"./parcats":1078}],1080:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/plot_template").templatedArray;e.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:i({editType:"plot"}),tickfont:i({editType:"plot"}),rangefont:i({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},a.tickvals,{editType:"plot"}),ticktext:s({},a.ticktext,{editType:"plot"}),tickformat:s({},a.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}))}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/layout_attributes":776,"../../plots/domain":789,"../../plots/font_attributes":790}],1081:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function h(t,e){return t*(1-u)+e*u}function f(t,e,r,n){if(function(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var a=t?-1:1,i=0,o=e.length-1;if(a<0){var s=i;i=o,o=s}for(var l=e[i],u=l,f=i;a*f<a*o;f+=a){var p=f+a,d=e[p];if(a*r<a*h(l,d))return c(l,u);if(a*r<a*d||p===o)return c(d,l);u=l,l=d}}function p(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function d(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function g(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,a=v(t.brush.filter.getConsolidated(),t.height),i=[0],o=a.length?a[0][0]:null,s=0;s<a.length;s++)r=(e=a[s])[1]-e[0],i.push(o),i.push(r),(n=s+1)<a.length&&(o=a[n][0]-e[1]);return i.push(t.height),i}function v(t,e){return t.map(function(t){return t.map(function(t){return Math.max(0,t*e)}).sort(s)})}function m(){a.select(document.body).style("cursor",null)}function y(t){t.attr("stroke-dasharray",g)}function x(t,e){var r=a.select(t).selectAll(".highlight, .highlight-shadow");y(e?r.transition().duration(n.bar.snapDuration).each("end",e):r)}function b(t,e){var r,a=t.brush,i=NaN,o={};if(a.filterSpecified){var s=t.height,l=a.filter.getConsolidated(),c=v(l,s),u=NaN,h=NaN,f=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(h=r?r-1:NaN,p&&p[0]>e){f=r;break}}if(i=u,isNaN(i)&&(i=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]<c[f][0]-e?h:f),!isNaN(i)){var d=c[i],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[i],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(y>=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function _(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.brush.svgBrush;i.wasDragged=!0,i._dragging=!0,i.grabbingBar?i.newExtent=[r-i.grabPoint,r+i.barLength-i.grabPoint].map(e.unitToPaddedPx.invert):i.newExtent=[i.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,i.extent=i.stayingIntervals.concat([i.newExtent]),i.brushCallback(e),x(t.parentNode)}function w(t,e){var r=b(e,e.height-a.mouse(t)[1]-2*n.verticalPadding),i="crosshair";r.clickableOrdinalRange?i="pointer":r.region&&(i=r.region+"-resize"),a.select(document.body).style("cursor",i)}function k(t){t.on("mousemove",function(t){a.event.preventDefault(),t.parent.inBrushDrag||w(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||m()}).call(a.behavior.drag().on("dragstart",function(t){!function(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter(function(t){return t[0]!==l[0]&&t[1]!==l[1]})),c.startExtent=s.region?l["s"===s.region?1:0]:i,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)}).on("drag",function(t){_(this,t)}).on("dragend",function(t){!function(t,e){var r=e.brush,n=r.filter,i=r.svgBrush;i._dragging||(w(t,e),_(t,e),e.brush.svgBrush.wasDragged=!1),i._dragging=!1,a.event.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!i.wasDragged)return i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&e.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,0===i.extent.length&&A(r)):A(r),i.brushCallback(e),x(t.parentNode),void i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[f(0,l,i.newExtent[0],i.stayingIntervals),f(1,l,i.newExtent[1],i.stayingIntervals)];var c=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(c?[i.newExtent]:[]),i.extent.length||A(r),i.brushCallback(e),c?x(t.parentNode,s):(s(),x(t.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)}))}function T(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function M(t){for(var e,r=t.slice(),n=[],a=r.shift();a;){for(e=a.slice();(a=r.shift())&&a[0]<=e[1];)e[1]=Math.max(e[1],a[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,a,i){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map(function(t){return t.slice().sort(s)}).sort(T)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=M(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=a,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:i}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,i);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(p).call(d).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(k).attr("height",function(t){return t.height-n.verticalPadding});var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",function(t){return t.height}).call(y);var a=t.selectAll(".highlight").data(o);a.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),a.attr("y1",function(t){return t.height}).call(y)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?M(t.sort(T)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[f(0,r,t[0],[]),f(1,r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{"../../lib":716,"../../lib/gup":714,"./constants":1084,d3:164}],1082:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=a(t.calcdata,"parcoords")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcoords"),i=e._has&&e._has("parcoords");a&&!i&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},{"../../constants/xmlns_namespaces":693,"../../plots/get_data":799,"./plot":1091,d3:164}],1083:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale"),i=t("../../lib/gup").wrap;e.exports=function(t,e){var r,o;return a.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=a.extractOpts(e.line).colorscale,a.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),i({lineColor:r,cscale:o})}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gup":714}],1084:[function(t,e,r){"use strict";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:"#777",bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:"white",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},{}],1085:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("../../plots/cartesian/axes"),c=t("./attributes"),u=t("./axisbrush"),h=t("./constants").maxDimensionCount,f=t("./merge_length");function p(t,e,r,a){function i(r,a){return n.coerce(t,e,c.dimensions,r,a)}var o=i("values"),s=i("visible");if(o&&o.length||(s=e.visible=!1),s){i("label"),i("tickvals"),i("ticktext"),i("tickformat");var h=i("range");e._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:h},l.setConvert(e._ax,a.layout),i("multiselect");var f=i("constraintrange");f&&(e.constraintrange=u.cleanRanges(f,e))}}e.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}var d=t.dimensions;Array.isArray(d)&&d.length>h&&(n.log("parcoords traces support up to "+h+" dimensions at the moment"),d.splice(h));var g=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),v=function(t,e,r,o,s){var l=s("line.color",r);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,"values",v);var m={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,"labelfont",m),n.coerceFont(u,"tickfont",m),n.coerceFont(u,"rangefont",m),u("labelangle"),u("labelside")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"../../plots/domain":789,"./attributes":1080,"./axisbrush":1081,"./constants":1084,"./merge_length":1089}],1086:[function(t,e,r){"use strict";var n=t("../../lib").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!("visible"in t)}},{"../../lib":716}],1087:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:t("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1080,"./base_plot":1082,"./calc":1083,"./defaults":1085,"./plot":1091}],1088:[function(t,e,r){"use strict";var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n               p17_20, p21_24, p25_28, p29_32,\n               p33_36, p37_40, p41_44, p45_48,\n               p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\n\nbool isPick    = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n    float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n    return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n    return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n    return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n    return (\n        fOutside(p[0], lo[0], hi[0]) ||\n        fOutside(p[1], lo[1], hi[1]) ||\n        fOutside(p[2], lo[2], hi[2]) ||\n        fOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n    return (\n        vOutside(p[0], lo[0], hi[0]) ||\n        vOutside(p[1], lo[1], hi[1]) ||\n        vOutside(p[2], lo[2], hi[2]) ||\n        vOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n    return mOutside(A, loA, hiA) ||\n           mOutside(B, loB, hiB) ||\n           mOutside(C, loC, hiC) ||\n           mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n    mat4 pnts[4];\n    pnts[0] = A;\n    pnts[1] = B;\n    pnts[2] = C;\n    pnts[3] = D;\n\n    for(int i = 0; i < 4; ++i) {\n        for(int j = 0; j < 4; ++j) {\n            for(int k = 0; k < 4; ++k) {\n                if(0 == iMod(\n                    int(255.0 * texture2D(mask,\n                        vec2(\n                            (float(i * 2 + j / 2) + 0.5) / 8.0,\n                            (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n                        ))[3]\n                    ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n                    2\n                )) return true;\n            }\n        }\n    }\n    return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float x = 0.5 * sign(v) + 0.5;\n    float y = axisY(x, A, B, C, D);\n    float z = 1.0 - abs(v);\n\n    z += isContext ? 0.0 : 2.0 * float(\n        outsideBoundingBox(A, B, C, D) ||\n        outsideRasterMask(A, B, C, D)\n    );\n\n    return vec4(\n        2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n        z,\n        1.0\n    );\n}\n\nvoid main() {\n    mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n    mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n    mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n    mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n    float v = colors[3];\n\n    gl_Position = position(isContext, v, A, B, C, D);\n\n    fragColor =\n        isContext ? vec4(contextColor) :\n        isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n"]),o=t("./constants").maxDimensionCount,s=t("../../lib"),l=1e-6,c=2048,u=new Uint8Array(4),h=new Uint8Array(4),f={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function p(t,e,r,n,a){var i=t._gl;i.enable(i.SCISSOR_TEST),i.scissor(e,r,n,a),t.clear({color:[0,0,0,0],depth:1})}function d(t,e,r,n,a,i){var o=i.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:u})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,a-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],p(t,i.scissorX,i.scissorY,i.scissorWidth,i.viewBoxSize[1])),r.clearOnly||(i.count=2*c,i.offset=2*l*n,e(i),l*n+c<a&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function g(t,e){return(t>>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),a=0,i=0;i<e;i++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,c=r[64*i+l];63===l&&0===o&&(c*=-1),n[a++]=c}return n}function m(t){var e="0"+t;return e.substr(e.length-2)}function y(t){return t<o?"p"+m(t+1)+"_"+m(t+4):"colors"}function x(t,e,r,n,a,i,o,l,c,u,h,f,p){for(var d=[[],[]],g=0;g<64;g++)d[0][g]=g===a?1:0,d[1][g]=g===i?1:0;var v=t.lines.canvasOverdrag,m=t.domain,y=t.canvasWidth,x=t.canvasHeight,b=t.deselectedLines.color;return s.extendFlat({key:h,resolution:[y,x],viewBoxPos:[o+v,l],viewBoxSize:[c,u],i0:a,i1:i,dim0A:d[0].slice(0,16),dim0B:d[0].slice(16,32),dim0C:d[0].slice(32,48),dim0D:d[0].slice(48,64),dim1A:d[1].slice(0,16),dim1B:d[1].slice(16,32),dim1C:d[1].slice(32,48),dim1D:d[1].slice(48,64),drwLayer:f,contextColor:[b[0]/255,b[1]/255,b[2]/255,b[3]<1?b[3]:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+v)+(t.pad.l-v)+t.layoutWidth*m.x[0],scissorWidth:(n===r?y-o+v:c+.5)+(n===e?o+v:0),scissorY:l+t.pad.b+t.layoutHeight*m.y[0],scissorHeight:u,viewportX:t.pad.l-v+t.layoutWidth*m.x[0],viewportY:t.pad.b+t.layoutHeight*m.y[0],viewportWidth:y,viewportHeight:x},p)}function b(t){var e=c-1,r=Math.max(0,Math.floor(t[0]*e),0),n=Math.min(e,Math.ceil(t[1]*e),e);return[Math.min(r,n),Math.max(r,n)]}e.exports=function(t,e){var r,n,u,m,_,w=e.context,k=e.pick,T=e.regl,A={currentRafs:{},drawCompleted:!0,clearOnly:!1},M=function(t){for(var e={},r=0;r<=o;r+=4)e[y(r)]=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});return e}(T),S=T.texture(f),E=[];C(e);var L=T({profile:!1,blend:{enable:w,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!w,mask:!0,func:"less",range:[0,1]},cull:{enable:!0,face:"back"},scissor:{enable:!0,box:{x:T.prop("scissorX"),y:T.prop("scissorY"),width:T.prop("scissorWidth"),height:T.prop("scissorHeight")}},viewport:{x:T.prop("viewportX"),y:T.prop("viewportY"),width:T.prop("viewportWidth"),height:T.prop("viewportHeight")},dither:!1,vert:a,frag:i,primitive:"lines",lineWidth:1,attributes:M,uniforms:{resolution:T.prop("resolution"),viewBoxPos:T.prop("viewBoxPos"),viewBoxSize:T.prop("viewBoxSize"),dim0A:T.prop("dim0A"),dim1A:T.prop("dim1A"),dim0B:T.prop("dim0B"),dim1B:T.prop("dim1B"),dim0C:T.prop("dim0C"),dim1C:T.prop("dim1C"),dim0D:T.prop("dim0D"),dim1D:T.prop("dim1D"),loA:T.prop("loA"),hiA:T.prop("hiA"),loB:T.prop("loB"),hiB:T.prop("hiB"),loC:T.prop("loC"),hiC:T.prop("hiC"),loD:T.prop("loD"),hiD:T.prop("hiD"),palette:S,contextColor:T.prop("contextColor"),mask:T.prop("maskTexture"),drwLayer:T.prop("drwLayer"),maskHeight:T.prop("maskHeight")},offset:T.prop("offset"),count:T.prop("count")});function C(t){r=t.model,n=t.viewModel,u=n.dimensions.slice(),m=u[0]?u[0].values.length:0;var e=r.lines,a=k?e.color.map(function(t,r){return r/e.color.length}):e.color,i=function(t,e,r){for(var n,a=new Array(t*(o+4)),i=0,s=0;s<t;s++){for(var c=0;c<o;c++)a[i++]=c<e.length?e[c].paddedUnitValues[s]:.5;a[i++]=g(s,2),a[i++]=g(s,1),a[i++]=g(s,0),a[i++]=(n=r[s],Math.max(l,Math.min(1-l,n)))}return a}(m,u,a);!function(t,e,r){for(var n=0;n<=o;n+=4)t[y(n)](v(n/4,e,r))}(M,m,i),w||k||(S=T.texture(s.extendFlat({data:function(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}(r.unitToColor,255)},f)))}return{render:function(t,e,n){var a,i,o,s=t.length,l=1/0,h=-1/0;for(a=0;a<s;a++)t[a].dim0.canvasX<l&&(l=t[a].dim0.canvasX,i=a),t[a].dim1.canvasX>h&&(h=t[a].dim1.canvasX,o=a);0===s&&p(T,0,0,r.canvasWidth,r.canvasHeight);var f=function(t){var e,r,n,a=[[],[]];for(n=0;n<64;n++){var i=!t&&n<u.length?u[n].brush.filter.getBounds():[-1/0,1/0];a[0][n]=i[0],a[1][n]=i[1]}var o=8*c,s=new Array(o);for(e=0;e<o;e++)s[e]=255;if(!t)for(e=0;e<u.length;e++){var l=e%8,h=(e-l)/8,f=Math.pow(2,l),p=u[e].brush.filter.get();if(!(p.length<2)){var d=b(p[0])[1];for(r=1;r<p.length;r++){var g=b(p[r]);for(n=d+1;n<g[0];n++)s[8*n+h]&=~f;d=Math.max(d,g[1])}}}var v={shape:[8,c],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:s};return _?_(v):_=T.texture(v),{maskTexture:_,maskHeight:c,loA:a[0].slice(0,16),loB:a[0].slice(16,32),loC:a[0].slice(32,48),loD:a[0].slice(48,64),hiA:a[1].slice(0,16),hiB:a[1].slice(16,32),hiC:a[1].slice(32,48),hiD:a[1].slice(48,64)}}(w);for(a=0;a<s;a++){var g=t[a],v=g.dim0.crossfilterDimensionIndex,y=g.dim1.crossfilterDimensionIndex,M=g.canvasX,S=g.canvasY,C=M+g.panelSizeX;if(e||!E[v]||E[v][0]!==M||E[v][1]!==C){E[v]=[M,C];var P=x(r,i,o,a,v,y,M,S,g.panelSizeX,g.panelSizeY,g.dim0.crossfilterDimensionIndex,w?0:k?2:1,f);A.clearOnly=n;var O=e?r.lines.blockLineCount:m;d(T,L,A,O,m,P)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:h}),h},readPixels:function(t,e,r,n){var a=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:a}),a},destroy:function(){for(var e in t.style["pointer-events"]="none",S.destroy(),_&&_.destroy(),M)M[e].destroy()},update:C}}},{"../../lib":716,"./constants":1084,glslify:410}],1089:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a,i;for(n||(n=1/0),a=0;a<e.length;a++)(i=e[a]).visible&&(n=Math.min(n,i[r].length));for(n===1/0&&(n=0),t._length=n,a=0;a<e.length;a++)(i=e[a]).visible&&(i._length=n);return n}},{}],1090:[function(t,e,r){"use strict";var n=t("d3"),a=t("color-rgba"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../../components/drawing"),c=t("../../components/colorscale"),u=t("../../lib/gup"),h=u.keyFun,f=u.repeat,p=u.unwrap,d=t("./helpers"),g=t("./constants"),v=t("./axisbrush"),m=t("./lines");function y(t,e,r){return o.aggNums(t,null,e,r)}function x(t,e){return _(y(Math.min,t,e),y(Math.max,t,e))}function b(t){var e=t.range;return e?_(e[0],e[1]):x(t.values,t._length)}function _(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function w(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function k(t,e,r){var i=p(e),s=i.trace,l=d.convertTypedArray(i.lineColor),u=s.line,h={color:a(g.deselectedLineColor)},f=c.extractOpts(u),v=f.reversescale?c.flipScale(i.cscale):i.cscale,m=s.domain,y=s.dimensions,x=t.width,_=s.labelangle,w=s.labelside,k=s.labelfont,T=s.tickfont,A=s.rangefont,M=o.extendDeepNoArrays({},u,{color:l.map(n.scale.linear().domain(b({values:l,range:[f.min,f.max],_length:s._length}))),blockLineCount:g.blockLineCount,canvasOverdrag:g.overdrag*g.canvasPixelRatio}),S=Math.floor(x*(m.x[1]-m.x[0])),E=Math.floor(t.height*(m.y[1]-m.y[0])),L=t.margin||{l:80,r:80,t:100,b:80},C=S,P=E;return{key:r,colCount:y.filter(d.isVisible).length,dimensions:y,tickDistance:g.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){var e=a(t[1]);return n.rgb("rgb("+e[0]+","+e[1]+","+e[2]+")")}),i="rgb".split("").map(function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((a=t,function(t){return t[a]})));var a});return function(t){return i.map(function(e){return e(t)})}}(v),lines:M,deselectedLines:h,labelAngle:_,labelSide:w,labelFont:k,tickFont:T,rangeFont:A,layoutWidth:x,layoutHeight:t.height,domain:m,translateX:m.x[0]*x,translateY:t.height-m.y[1]*t.height,pad:L,canvasWidth:C*g.canvasPixelRatio+2*M.canvasOverdrag,canvasHeight:P*g.canvasPixelRatio,width:C,height:P,canvasPixelRatio:g.canvasPixelRatio}}function T(t,e,r){var a=r.width,i=r.height,s=r.dimensions,l=r.canvasPixelRatio,c=function(t){return a*t/Math.max(1,r.colCount-1)},u=g.verticalPadding/i,h=function(t,e){return n.scale.linear().range([e,t-e])}(i,g.verticalPadding),f={key:r.key,xScale:c,model:r,inBrushDrag:!1},p={};return f.dimensions=s.filter(d.isVisible).map(function(a,s){var m=function(t,e){return n.scale.linear().domain(b(t)).range([e,1-e])}(a,u),y=p[a.label];p[a.label]=(y||0)+1;var x=a.label+(y?"__"+y:""),_=a.constraintrange,k=_&&_.length;k&&!Array.isArray(_[0])&&(_=[_]);var T=k?_.map(function(t){return t.map(m)}):[[-1/0,1/0]],A=a.values;A.length>a._length&&(A=A.slice(0,a._length));var M,S=a.tickvals;function E(t,e){return{val:t,text:M[e]}}function L(t,e){return t.val-e.val}if(Array.isArray(S)&&S.length){M=a.ticktext,Array.isArray(M)&&M.length?M.length>S.length?M=M.slice(0,S.length):S.length>M.length&&(S=S.slice(0,M.length)):M=S.map(n.format(a.tickformat));for(var C=1;C<S.length;C++)if(S[C]<S[C-1]){for(var P=S.map(E).sort(L),O=0;O<S.length;O++)S[O]=P[O].val,M[O]=P[O].text;break}}else S=void 0;return A=d.convertTypedArray(A),{key:x,label:a.label,tickFormat:a.tickformat,tickvals:S,ticktext:M,ordinal:d.isOrdinal(a),multiselect:a.multiselect,xIndex:s,crossfilterDimensionIndex:s,visibleIndex:a._index,height:i,values:A,paddedUnitValues:A.map(m),unitTickvals:S&&S.map(m),xScale:c,x:c(s),canvasX:c(s)*l,unitToPaddedPx:h,domainScale:function(t,e,r,a,i){var o,s,l=b(r);return a?n.scale.ordinal().domain(a.map((o=n.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null==r?o(t):r}:o))).range(a.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):n.scale.linear().domain(l).range([t-e,e])}(i,g.verticalPadding,a,S,M),ordinalScale:function(t){if(t.tickvals){var e=b(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(a),parent:f,model:r,brush:v.makeBrush(t,k,T,function(){t.linePickActive(!1)},function(){var e=f;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=w(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))},function(r){if(f.focusLayer.render(f.panels,!0),f.pickLayer&&f.pickLayer.render(f.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=m.invert,i=r.map(function(t){return t.map(n).sort(o.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(f.key,a._index,i)}})}}),f}function A(t){t.classed(g.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default").style("user-select","none")}function M(t,e){var r="top"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function S(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),a=0;a<n.length-1;a++){var i=r[a]||(r[a]={}),o=n[a],s=n[a+1];i.dim0=o,i.dim1=s,i.canvasX=o.canvasX,i.panelSizeX=s.canvasX-o.canvasX,i.panelSizeY=e.model.canvasHeight,i.y=0,i.canvasY=0}}function E(t,e){return i.tickText(t._ax,e,!1).text}function L(t,e){if(t.ordinal)return"";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return E(t.model.dimensions[t.visibleIndex],n)}e.exports=function(t,e,r,a){var c=t._fullLayout,u=c._toppaper,y=c._glcontainer;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,a=n.dimensions,o=0;o<a.length;o++){var s=a[o].values,l=a[o]._ax;l&&(l.range?l.range=_(l.range[0],l.range[1]):l.range=x(s,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=a[o].tickformat,i.calcTicks(l),l.cleanRange())}}(e);var b,C,P=(b=!0,C=!1,{linePickActive:function(t){return arguments.length?b=!!t:b},contextShown:function(t){return arguments.length?C=!!t:C}}),O=e.filter(function(t){return p(t).trace.visible}).map(k.bind(0,r)).map(T.bind(0,P,a));y.each(function(t,e){return o.extendFlat(t,O[e])});var z=y.selectAll(".gl-canvas").each(function(t){t.viewModel=O[0],t.model=t.viewModel?t.viewModel.model:null}),I=null;z.filter(function(t){return t.pick}).style("pointer-events","auto").on("mousemove",function(t){if(P.linePickActive()&&t.lineLayer&&a&&a.hover){var e=n.event,r=this.width,i=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==I&&(u?a.hover(f):a.unhover&&a.unhover(f),I=h)}}),z.style("opacity",function(t){return t.pick?0:1}),u.style("background","rgba(255, 255, 255, 0)");var D=u.selectAll("."+g.cn.parcoords).data(O,h);D.exit().remove(),D.enter().append("g").classed(g.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),D.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var R=D.selectAll("."+g.cn.parcoordsControlView).data(f,h);R.enter().append("g").classed(g.cn.parcoordsControlView,!0),R.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var F=R.selectAll("."+g.cn.yAxis).data(function(t){return t.dimensions},h);F.enter().append("g").classed(g.cn.yAxis,!0),R.each(function(t){S(F,t)}),z.each(function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=m(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}}),F.attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),F.call(n.behavior.drag().origin(function(t){return t}).on("drag",function(t){var e=t.parent;P.linePickActive(!1),t.x=Math.max(-g.overdrag,Math.min(t.model.width+g.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,F.sort(function(t,e){return t.x-e.x}).each(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio}),S(F,e),F.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),n.select(this).attr("transform","translate("+t.x+", 0)"),F.each(function(r,n,a){a===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)}).on("dragend",function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,S(F,e),n.select(this).attr("transform",function(t){return"translate("+t.x+", 0)"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),P.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),F.exit().remove();var B=F.selectAll("."+g.cn.axisOverlays).data(f,h);B.enter().append("g").classed(g.cn.axisOverlays,!0),B.selectAll("."+g.cn.axis).remove();var N=B.selectAll("."+g.cn.axis).data(f,h);N.enter().append("g").classed(g.cn.axis,!0),N.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,a=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?a:null).tickFormat(function(e){return d.isOrdinal(t)?e:E(t.model.dimensions[t.visibleIndex],e)}).scale(r)),l.font(N.selectAll("text"),t.model.tickFont)}),N.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),N.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var j=B.selectAll("."+g.cn.axisHeading).data(f,h);j.enter().append("g").classed(g.cn.axisHeading,!0);var V=j.selectAll("."+g.cn.axisTitle).data(f,h);V.enter().append("text").classed(g.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),V.text(function(t){return t.label}).each(function(e){var r=n.select(this);l.font(r,e.model.labelFont),s.convertToTspans(r,t)}).attr("transform",function(t){var e=M(t.model.labelAngle,t.model.labelSide),r=g.axisTitleOffset;return(e.dir>0?"":"translate(0,"+(2*r+t.model.height)+")")+"rotate("+e.degrees+")translate("+-r*e.dx+","+-r*e.dy+")"}).attr("text-anchor",function(t){var e=M(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"});var U=B.selectAll("."+g.cn.axisExtent).data(f,h);U.enter().append("g").classed(g.cn.axisExtent,!0);var q=U.selectAll("."+g.cn.axisExtentTop).data(f,h);q.enter().append("g").classed(g.cn.axisExtentTop,!0),q.attr("transform","translate(0,"+-g.axisExtentOffset+")");var H=q.selectAll("."+g.cn.axisExtentTopText).data(f,h);H.enter().append("text").classed(g.cn.axisExtentTopText,!0).call(A),H.text(function(t){return L(t,!0)}).each(function(t){l.font(n.select(this),t.model.rangeFont)});var G=U.selectAll("."+g.cn.axisExtentBottom).data(f,h);G.enter().append("g").classed(g.cn.axisExtentBottom,!0),G.attr("transform",function(t){return"translate(0,"+(t.model.height+g.axisExtentOffset)+")"});var Y=G.selectAll("."+g.cn.axisExtentBottomText).data(f,h);Y.enter().append("text").classed(g.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(A),Y.text(function(t){return L(t,!1)}).each(function(t){l.font(n.select(this),t.model.rangeFont)}),v.ensureAxisBrush(B)}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"./axisbrush":1081,"./constants":1084,"./helpers":1086,"./lines":1088,"color-rgba":123,d3:164}],1091:[function(t,e,r){"use strict";var n=t("./parcoords"),a=t("../../lib/prepare_regl"),i=t("./helpers").isVisible;function o(t,e,r){var n=e.indexOf(r),a=t.indexOf(n);return-1===a&&(a+=e.length),a}e.exports=function(t,e){var r=t._fullLayout;if(a(t)){var s={},l={},c={},u={},h=r._size;e.forEach(function(e,r){var n=e[0].trace;c[r]=n.index;var a=u[r]=n._fullInput.index;s[r]=t.data[a].dimensions,l[r]=t.data[a].dimensions.slice()});n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,a){var i=l[e][n],o=a.map(function(t){return t.slice()}),s="dimensions["+n+"].constraintrange",h=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===h[s]){var f=i.constraintrange;h[s]=f||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),i.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete i.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[u[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return o(t,e,r)-o(t,e,n)}}(r,l[e].filter(i));s[e].sort(n),l[e].filter(function(t){return!i(t)}).sort(function(t){return l[e].indexOf(t)}).forEach(function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)}),t.emit("plotly_restyle",[{dimensions:[s[e]]},[u[e]]])}})}}},{"../../lib/prepare_regl":729,"./helpers":1086,"./parcoords":1090}],1092:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/domain").attributes,i=t("../../plots/font_attributes"),o=t("../../components/color/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/template_attributes").texttemplateAttrs,c=t("../../lib/extend").extendFlat,u=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},u,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:a({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},u,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1093:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="pie",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1094:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("tinycolor2"),o=t("../../components/color"),s={};function l(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=o.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function c(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r<t.length;r++)a.push(i(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)a.push(i(t[r]).darken(20).toHexString());e[n]=a}return a}e.exports={calc:function(t,e){var r,i,o=[],s=t._fullLayout,c=s.hiddenlabels||[],u=e.labels,h=e.marker.colors||[],f=e.values,p=a(f)&&f.length;if(e.dlabel)for(u=new Array(f.length),r=0;r<f.length;r++)u[r]=String(e.label0+r*e.dlabel);var d={},g=l(s["_"+e.type+"colormap"]),v=(p?f:u).length,m=0,y=!1;for(r=0;r<v;r++){var x,b,_;if(p){if(x=f[r],!n(x))continue;if((x=+x)<0)continue}else x=1;void 0!==(b=u[r])&&""!==b||(b=r);var w=d[b=String(b)];void 0===w?(d[b]=o.length,(_=-1!==c.indexOf(b))||(m+=x),o.push({v:x,label:b,color:g(h[r],b),i:r,pts:[r],hidden:_})):(y=!0,(i=o[w]).v+=x,i.pts.push(r),i.hidden||(m+=x),!1===i.color&&h[r]&&(i.color=g(h[r],b)))}return("funnelarea"===e.type?y:e.sort)&&o.sort(function(t,e){return e.v-t.v}),o[0]&&(o[0].vTotal=m),o},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,a=t.calcdata,i=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(i=c(i,s));for(var l=0,u=0;u<a.length;u++){var h=a[u];if(h[0].trace.type===r)for(var f=0;f<h.length;f++){var p=h[f];!1===p.color&&(o[p.label]?p.color=o[p.label]:(o[p.label]=p.color=i[l%i.length],l++))}}},makePullColorFn:l,generateExtendedColors:c}},{"../../components/color":591,"../../lib":716,"fast-isnumeric":227,tinycolor2:535}],1095:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}var c,u=l("values"),h=n.isArrayOrTypedArray(u),f=l("labels");if(Array.isArray(f)?(c=f.length,h&&(c=Math.min(c,u.length))):h&&(c=u.length,l("label0"),l("dlabel")),c){e._length=c,l("marker.line.width")&&l("marker.line.color"),l("marker.colors"),l("scalegroup");var p,d=l("text"),g=l("texttemplate");if(g||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),g||p&&"none"!==p){var v=l("textposition");o(t,e,s,l,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(v)||"auto"===v||"outside"===v)&&l("automargin")}i(e,s,l);var m=l("hole");if(l("title.text")){var y=l("title.position",m?"middle center":"top center");m||"middle center"!==y||(e.title.position="top center"),n.coerceFont(l,"title.font",s.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}},{"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":1092}],1096:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},{"../../components/fx/helpers":626}],1097:[function(t,e,r){"use strict";var n=t("../../lib");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||""===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{"../../lib":716}],1098:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),layoutAttributes:t("./layout_attributes"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style"),styleOne:t("./style_one"),moduleType:"trace",name:"pie",basePlotModule:t("./base_plot"),categories:["pie-like","pie","showLegend"],meta:{}}},{"./attributes":1092,"./base_plot":1093,"./calc":1094,"./defaults":1095,"./layout_attributes":1099,"./layout_defaults":1100,"./plot":1101,"./style":1102,"./style_one":1103}],1099:[function(t,e,r){"use strict";e.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1100:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("piecolorway",e.colorway),r("extendpiecolors")}},{"../../lib":716,"./layout_attributes":1099}],1101:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../lib"),c=t("../../lib/svg_text_utils"),u=t("./helpers"),h=t("./event_data"),f=t("../../lib").isValidTextValue;function p(t,e,r){var a=r[0],o=a.trace,s=a.cx,c=a.cy;"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),t.on("mouseover",function(t){var r=e._fullLayout,f=e._fullData[o.index];if(!e._dragging&&!1!==r.hovermode){var p=f.hoverinfo;if(Array.isArray(p)&&(p=i.castHoverinfo({hoverinfo:[u.castOption(p,t.pts)],_module:o._module},r,0)),"all"===p&&(p="label+text+value+percent+name"),f.hovertemplate||"none"!==p&&"skip"!==p&&p){var d=t.rInscribed||0,g=s+t.pxmid[0]*(1-d),v=c+t.pxmid[1]*(1-d),m=r.separators,y=[];if(p&&-1!==p.indexOf("label")&&y.push(t.label),t.text=u.castOption(f.hovertext||f.text,t.pts),p&&-1!==p.indexOf("text")){var x=t.text;l.isValidTextValue(x)&&y.push(x)}t.value=t.v,t.valueLabel=u.formatPieValue(t.v,m),p&&-1!==p.indexOf("value")&&y.push(t.valueLabel),t.percent=t.v/a.vTotal,t.percentLabel=u.formatPiePercent(t.percent,m),p&&-1!==p.indexOf("percent")&&y.push(t.percentLabel);var b=f.hoverlabel,_=b.font;i.loneHover({trace:o,x0:g-d*a.r,x1:g+d*a.r,y:v,text:y.join("<br>"),name:f.hovertemplate||-1!==p.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:u.castOption(b.bgcolor,t.pts)||t.color,borderColor:u.castOption(b.bordercolor,t.pts),fontFamily:u.castOption(_.family,t.pts),fontSize:u.castOption(_.size,t.pts),fontColor:u.castOption(_.color,t.pts),nameLength:u.castOption(b.namelength,t.pts),textAlign:u.castOption(b.align,t.pts),hovertemplate:u.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[h(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit("plotly_hover",{points:[h(t,f)],event:n.event})}}),t.on("mouseout",function(t){var r=e._fullLayout,a=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[h(s,a)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(i.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)}),t.on("click",function(t){var r=e._fullLayout,a=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[h(t,a)],i.click(e,n.event))})}function d(t,e,r){var n=u.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=u.castOption(t._input.textfont.color,e.pts));var a=u.castOption(t.insidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.insidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:a,size:i}}function g(t,e){for(var r,n,a=0;a<t.length;a++)if((n=(r=t[a][0]).trace).title.text){var i=n.title.text;n._meta&&(i=l.templateString(i,n._meta));var o=s.tester.append("text").attr("data-notex",1).text(i).call(s.font,n.title.font).call(c.convertToTspans,e),u=s.bBox(o.node(),!0);r.titleBox={width:u.width,height:u.height},o.remove()}}function v(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,i=e.halfangle,o=e.ring,s=e.rInscribed,l=r.r||e.rpx1,c={scale:s*l*2/n,rCenter:1-s,rotate:0};if(c.scale>=1)return c;var u=a+1/(2*Math.tan(i)),h=l*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(a*a+o/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/l)-h*a/l,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/a,d=p+1/(2*Math.tan(i)),g=l*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),v={scale:2*g/t.width,rCenter:Math.cos(g/l)-g/a/l,rotate:(180/Math.PI*e.midangle+810)%180-90},m=v.scale>f.scale?v:f;return c.scale<1&&m.scale>c.scale?m:c}function m(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function y(t,e){var r=e.pxmid[0],n=e.pxmid[1],a=t.width/2,i=t.height/2;return r<0&&(a*=-1),n<0&&(i*=-1),{scale:1,rCenter:1,rotate:0,x:a+Math.abs(i)*(a>0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function x(t,e){var r,n,a,i=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=i.title.font.size,a=_(i),-1!==i.title.position.indexOf("top")?(o.y-=(1+a)*t.r,s.ty-=t.titleBox.height):-1!==i.title.position.indexOf("bottom")&&(o.y+=(1+a)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),h=e.w*(i.domain.x[1]-i.domain.x[0])/2;return-1!==i.title.position.indexOf("left")?(h+=u,o.x-=(1+a)*u,s.tx+=t.titleBox.width/2):-1!==i.title.position.indexOf("center")?h*=2:-1!==i.title.position.indexOf("right")&&(h+=u,o.x+=(1+a)*u,s.tx-=t.titleBox.width/2),r=h/t.titleBox.width,n=b(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function b(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function _(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function w(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n][0],i=a.trace,o=i.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);i.title.text&&"middle center"!==i.title.position&&(l-=b(a,e));var c=s/2,u=l/2;"funnelarea"!==i.type||i.scalegroup||(u/=i.aspectratio),a.r=Math.min(c,u)/(1+_(i)),a.cx=e.l+e.w*(i.domain.x[1]+i.domain.x[0])/2,a.cy=e.t+e.h*(1-i.domain.y[0])-l/2,i.title.text&&-1!==i.title.position.indexOf("bottom")&&(a.cy-=b(a,e)),i.scalegroup&&-1===r.indexOf(i.scalegroup)&&r.push(i.scalegroup)}!function(t,e){for(var r,n,a,i=0;i<e.length;i++){var o=1/0,s=e[i];for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var l;if("pie"===a.type)l=r.r*r.r;else if("funnelarea"===a.type){var c,u;a.aspectratio>1?(c=r.r,u=c/a.aspectratio):(u=r.r,c=u*a.aspectratio),c*=(1+a.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var h=o*r.vTotal;"funnelarea"===a.type&&(h/=(1+a.baseratio)/2,h/=a.aspectratio),r.r=Math.sqrt(h)}}}(t,r)}function k(t,e,r){var n=t._fullLayout,a=r.trace,i=a.texttemplate,o=a.textinfo;if(!i&&o&&"none"!==o){var s,c=o.split("+"),h=function(t){return-1!==c.indexOf(t)},p=h("label"),d=h("text"),g=h("value"),v=h("percent"),m=n.separators;if(s=p?[e.label]:[],d){var y=u.getFirstFilled(a.text,e.pts);f(y)&&s.push(y)}g&&s.push(u.formatPieValue(e.v,m)),v&&s.push(u.formatPiePercent(e.v/r.vTotal,m)),e.text=s.join("<br>")}if(i){var x=l.castOption(a,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:u.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:u.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(a,t.i,"customdata")}}(e),_=u.getFirstFilled(a.text,e.pts);(f(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,a._meta||{})}else e.text=""}}e.exports={plot:function(t,e){var r=t._fullLayout,i=r._size;g(e,t),w(e,i);var h=l.makeTraceGroups(r._pielayer,e,"trace").each(function(e){var r=n.select(this),h=e[0],f=h.trace;!function(t){var e,r,n,a=t[0],i=a.trace,o=i.rotation*Math.PI/180,s=2*Math.PI/a.vTotal,l="px0",c="px1";if("counterclockwise"===i.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l="px1",c="px0"}function u(t){return[a.r*Math.sin(t),-a.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>a.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/a.vTotal,.5),r.ring=1-i.hole,r.rInscribed=m(r,a))}(e),r.attr("stroke-linejoin","round"),r.each(function(){var g=n.select(this).selectAll("g.slice").data(e);g.enter().append("g").classed("slice",!0),g.exit().remove();var m=[[[],[]],[[],[]]],b=!1;g.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=f.index,m[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var a=h.cx,i=h.cy,o=n.select(this),g=o.selectAll("path.surface").data([r]);if(g.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),o.call(p,t,e),f.pull){var x=+u.castOption(f.pull,r.pts)||0;x>0&&(a+=x*r.pxmid[0],i+=x*r.pxmid[1])}r.cxFinal=a,r.cyFinal=i;var _=f.hole;if(r.v===h.vTotal){var w="M"+(a+r.px0[0])+","+(i+r.px0[1])+E(r.px0,r.pxmid,!0,1)+E(r.pxmid,r.px0,!0,1)+"Z";_?g.attr("d","M"+(a+_*r.px0[0])+","+(i+_*r.px0[1])+E(r.px0,r.pxmid,!1,_)+E(r.pxmid,r.px0,!1,_)+"Z"+w):g.attr("d",w)}else{var T=E(r.px0,r.px1,!0,1);if(_){var A=1-_;g.attr("d","M"+(a+_*r.px1[0])+","+(i+_*r.px1[1])+E(r.px1,r.px0,!1,_)+"l"+A*r.px0[0]+","+A*r.px0[1]+T+"Z")}else g.attr("d","M"+a+","+i+"l"+r.px0[0]+","+r.px0[1]+T+"Z")}k(t,r,h);var M=u.castOption(f.textposition,r.pts),S=o.selectAll("g.slicetext").data(r.text&&"none"!==M?[0]:[]);S.enter().append("g").classed("slicetext",!0),S.exit().remove(),S.each(function(){var e=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,"outside"===M?function(t,e,r){var n=u.castOption(t.outsidetextfont.color,e.pts)||u.castOption(t.textfont.color,e.pts)||r.color,a=u.castOption(t.outsidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.outsidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:a,size:i}}(f,r,t._fullLayout.font):d(f,r,t._fullLayout.font)).call(c.convertToTspans,t);var o,p=s.bBox(e.node());"outside"===M?o=y(p,r):(o=v(p,r,h),"auto"===M&&o.scale<1&&(e.call(s.font,f.outsidetextfont),f.outsidetextfont.family===f.insidetextfont.family&&f.outsidetextfont.size===f.insidetextfont.size||(p=s.bBox(e.node())),o=y(p,r)));var g=a+r.pxmid[0]*o.rCenter+(o.x||0),m=i+r.pxmid[1]*o.rCenter+(o.y||0);o.outside&&(r.yLabelMin=m-p.height/2,r.yLabelMid=m,r.yLabelMax=m+p.height/2,r.labelExtraX=0,r.labelExtraY=0,b=!0),e.attr("transform","translate("+g+","+m+")"+(o.scale<1?"scale("+o.scale+")":"")+(o.rotate?"rotate("+o.rotate+")":"")+"translate("+-(p.left+p.right)/2+","+-(p.top+p.bottom)/2+")")})}function E(t,e,n,a){var i=a*(e[0]-t[0]),o=a*(e[1]-t[1]);return"a"+a*h.r+","+a*h.r+" 0 "+r.largeArc+(n?" 1 ":" 0 ")+i+","+o}});var _=n.select(this).selectAll("g.titletext").data(f.title.text?[0]:[]);if(_.enter().append("g").classed("titletext",!0),_.exit().remove(),_.each(function(){var e,r=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),a=f.title.text;f._meta&&(a=l.templateString(a,f._meta)),r.text(a).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,f.title.font).call(c.convertToTspans,t),e="middle center"===f.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(h):x(h,i),r.attr("transform","translate("+e.x+","+e.y+")"+(e.scale<1?"scale("+e.scale+")":"")+"translate("+e.tx+","+e.ty+")")}),b&&function(t,e){var r,n,a,i,o,s,l,c,h,f,p,d,g;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var a,c,h,p,d,g,v=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=v-m;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(c=0;c<f.length;c++)(h=f[c])===t||(u.castOption(e.pull,t.pts)||0)>=(u.castOption(e.pull,h.pts)||0)||((t.pxmid[1]-h.pxmid[1])*l>0?(p=h.cyFinal+o(h.px0[1],h.px1[1]),(b=p-m-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(a=3*s*Math.abs(c-f.indexOf(t)),d=h.cxFinal+i(h.px0[0],h.px1[0]),(g=d+a-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(a=n?v:m,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(a),h=t[1-n][r],f=h.concat(c),d=[],p=0;p<c.length;p++)void 0!==c[p].yLabelMid&&d.push(c[p]);for(g=!1,p=0;n&&p<h.length;p++)if(void 0!==h[p].yLabelMid){g=h[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,f),function(t,e){t.each(function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var a=r.select("g.slicetext text");a.attr("transform","translate("+t.labelExtraX+","+t.labelExtraY+")"+a.attr("transform"));var i=t.cxFinal+t.pxmid[0],s=t.cyFinal+t.pxmid[1],c="M"+i+","+s,u=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var h=t.labelExtraX*t.pxmid[1]/t.pxmid[0],f=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(h)>Math.abs(f)?c+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(i+t.labelExtraX+u):c+="l"+t.labelExtraX+","+h+"v"+(f-h)+"h"+u}else c+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:c,fill:"none"})}else r.select("path.textline").remove()})}(g,f),b&&f.automargin){var w=s.bBox(r.node()),T=f.domain,A=i.w*(T.x[1]-T.x[0]),M=i.h*(T.y[1]-T.y[0]),S=(.5*A-h.r)/i.w,E=(.5*M-h.r)/i.h;a.autoMargin(t,"pie."+f.uid+".automargin",{xl:T.x[0]-S,xr:T.x[1]+S,yb:T.y[0]-E,yt:T.y[1]+E,l:Math.max(h.cx-h.r-w.left,0),r:Math.max(w.right-(h.cx+h.r),0),b:Math.max(w.bottom-(h.cy+h.r),0),t:Math.max(h.cy-h.r-w.top,0),pad:5})}})});setTimeout(function(){h.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)},formatSliceLabel:k,transformInsideText:v,determineInsideTextFont:d,positionTitleOutside:x,prerenderTitles:g,layoutAreas:w,attachFxHandlers:p}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"./event_data":1096,"./helpers":1097,d3:164}],1102:[function(t,e,r){"use strict";var n=t("d3"),a=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(a,t,e)})})}},{"./style_one":1103,d3:164}],1103:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./helpers").castOption;e.exports=function(t,e,r){var i=r.marker.line,o=a(i.color,e.pts)||n.defaultLine,s=a(i.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":591,"./helpers":1097}],1104:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},{"../scatter/attributes":1118}],1105:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),a=t("../../lib/str2rgbarray"),i=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=a(t.marker.color),v=a(t.marker.border.color),m=t.opacity*t.marker.opacity;g[3]*=m,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,v[3]*=m,this.pointcloudOptions.borderColor=v;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,k=b/2||.5;t._extremes[_._id]=i(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=i(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":739,"../../plots/cartesian/autorange":763,"../scatter/get_trace_color":1128,"gl-pointcloud2d":294}],1106:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i("x"),i("y"),i("xbounds"),i("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),i("text"),i("marker.color",r),i("marker.opacity"),i("marker.blend"),i("marker.sizemin"),i("marker.sizemax"),i("marker.border.color",r),i("marker.border.arearatio"),e._length=null}},{"../../lib":716,"./attributes":1104}],1107:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../scatter3d/calc"),plot:t("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":802,"../scatter3d/calc":1146,"./attributes":1104,"./convert":1105,"./defaults":1106}],1108:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/attributes"),i=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../plots/template_attributes").hovertemplateAttrs,c=t("../../components/colorscale/attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK;(e.exports=f({hoverinfo:h({},a.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../components/fx/attributes":621,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1109:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../components/fx/layout_attributes"),s=t("../../lib/setcursor"),l=t("../../components/dragelement"),c=t("../../plots/cartesian/select").prepSelect,u=t("../../lib"),h=t("../../registry");function f(t,e){var r=t._fullData[e],n=t._fullLayout,a=n.dragmode,i="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if("pan"!==a&&"zoom"!==a){s(o,i);var f={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,a=t._fullData[e],i=a.node.groups.slice(),o=[];function s(t){for(var e=a._sankey.graph.nodes,r=0;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var c=s(r[l].pointNumber);if(c)if(c.group){for(var u=0;u<c.childrenNodes.length;u++)o.push(c.childrenNodes[u].pointNumber);i[c.pointNumber-a.node._count]=!1}else o.push(c.pointNumber)}n=i.filter(Boolean).concat([o]),h.call("_guiRestyle",t,{"node.groups":[n]},e)},prepFn:function(t,e,r){c(t,e,r,d,a)}};l.init(d)}}r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=a(t.calcdata,"sankey")[0];i(t,e),r.updateFx(t)},r.clean=function(t,e,r,n){var a=n._has&&n._has("sankey"),i=e._has&&e._has("sankey");a&&!i&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())},r.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)f(t,e)}},{"../../components/dragelement":609,"../../components/fx/layout_attributes":630,"../../lib":716,"../../lib/setcursor":736,"../../plot_api/edit_types":747,"../../plots/cartesian/select":781,"../../plots/get_data":799,"../../registry":845,"./plot":1114}],1110:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),a=t("../../lib"),i=t("../../lib/gup").wrap,o=a.isArrayOrTypedArray,s=a.isIndex,l=t("../../components/colorscale");function c(t){var e,r=t.node,i=t.link,c=[],u=o(i.color),h={},f={},p=i.colorscales.length;for(e=0;e<p;e++){var d=i.colorscales[e],g=l.extractScale(d,{cLetter:"c"}),v=l.makeColorScaleFunc(g);f[d.label]=v}var m=0;for(e=0;e<i.value.length;e++)i.source[e]>m&&(m=i.source[e]),i.target[e]>m&&(m=i.target[e]);var y,x=m+1;t.node._count=x;var b=t.node.groups,_={};for(e=0;e<b.length;e++){var w=b[e];for(y=0;y<w.length;y++){var k=w[y],T=x+e;_.hasOwnProperty(k)?a.warn("Node "+k+" is already part of a group."):_[k]=T}}var A={source:[],target:[]};for(e=0;e<i.value.length;e++){var M=i.value[e],S=i.source[e],E=i.target[e];if(M>0&&s(S,x)&&s(E,x)&&(!_.hasOwnProperty(S)||!_.hasOwnProperty(E)||_[S]!==_[E])){_.hasOwnProperty(E)&&(E=_[E]),_.hasOwnProperty(S)&&(S=_[S]),E=+E,h[S=+S]=h[E]=!0;var L="";i.label&&i.label[e]&&(L=i.label[e]);var C=null;L&&f.hasOwnProperty(L)&&(C=f[L]),c.push({pointNumber:e,label:L,color:u?i.color[e]:i.color,concentrationscale:C,source:S,target:E,value:+M}),A.source.push(S),A.target.push(E)}}var P=x+b.length,O=o(r.color),z=[];for(e=0;e<P;e++)if(h[e]){var I=r.label[e];z.push({group:e>x-1,childrenNodes:[],pointNumber:e,label:I,color:O?r.color[e]:r.color})}var D=!1;return function(t,e,r){for(var i=a.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(a.isIndex(e[o],t)&&a.isIndex(r[o],t)){if(e[o]===r[o])return!0;i[e[o]].push(r[o])}return n(i).components.some(function(t){return t.length>1})}(P,A.source,A.target)&&(D=!0),{circular:D,links:c,nodes:z,groups:b,groupLookup:_}}e.exports=function(t,e){var r=c(e);return i({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gup":714,"strongly-connected-components":528}],1111:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1112:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults,l=t("../../components/fx/hoverlabel_defaults"),c=t("../../plot_api/plot_template"),u=t("../../plots/array_container_defaults");function h(t,e){function r(r,i){return n.coerce(t,e,a.link.colorscales,r,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}e.exports=function(t,e,r,f){function p(r,i){return n.coerce(t,e,a,r,i)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),g=t.node,v=c.newContainer(e,"node");function m(t,e){return n.coerce(g,v,a.node,t,e)}m("label"),m("groups"),m("x"),m("y"),m("pad"),m("thickness"),m("line.color"),m("line.width"),m("hoverinfo",t.hoverinfo),l(g,v,m,d),m("hovertemplate");var y=f.colorway;m("color",v.label.map(function(t,e){return i.addOpacity(function(t){return y[t%y.length]}(e),.8)}));var x=t.link||{},b=c.newContainer(e,"link");function _(t,e){return n.coerce(x,b,a.link,t,e)}_("label"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,k=o(f.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(k,b.value.length)),u(x,b,{name:"colorscales",handleItemDefaults:h}),s(e,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),v.x.length&&v.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},f.font)),e._length=null}},{"../../components/color":591,"../../components/fx/hoverlabel_defaults":628,"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../../plots/domain":789,"./attributes":1108,tinycolor2:535}],1113:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"sankey",basePlotModule:t("./base_plot"),selectPoints:t("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1108,"./base_plot":1109,"./calc":1110,"./defaults":1112,"./plot":1114,"./select.js":1116}],1114:[function(t,e,r){"use strict";var n=t("d3"),a=t("./render"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function h(t,e){return t.filter(function(t){return t.key===e.traceId})}function f(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function v(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),r&&h(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(v)}function x(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){return t.tinyColorAlpha}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){return t.tinyColorAlpha}),r&&h(e,t).selectAll(l.sankeyNode).filter(g(t)).call(m)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,h=r._size,d=0;d<t._fullData.length;d++)if(t._fullData[d].visible&&t._fullData[d].type===l.sankey&&!t._fullData[d]._viewInitial){var g=t._fullData[d].node;t._fullData[d]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var _=c(t,"source:")+" ",w=c(t,"target:")+" ",k=c(t,"concentration:")+" ",T=c(t,"incoming flow count:")+" ",A=c(t,"outgoing flow count:")+" ";a(t,s,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{linkEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,a,!0)),"skip"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit("plotly_hover",{event:n.event,points:[r.link]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var s=a.link.trace.link;if("none"!==s.hoverinfo&&"skip"!==s.hoverinfo){for(var l=[],c=0,h=0;h<a.flow.links.length;h++){var d=a.flow.links[h];if("closest"!==t._fullLayout.hovermode||a.link.pointNumber===d.pointNumber){a.link.pointNumber===d.pointNumber&&(c=h),d.fullData=d.trace,s=a.link.trace.link;var g=m(d),v={valueLabel:n.format(a.valueFormat)(d.value)+a.valueSuffix};l.push({x:g[0],y:g[1],name:v.valueLabel,text:[d.label||"",_+d.source.label,w+d.target.label,d.concentrationscale?k+n.format("%0.2f")(d.flow.labelConcentration):""].filter(u).join("<br>"),color:b(s,"bgcolor")||o.addOpacity(d.color,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:n.event.x<g[0]?"right":"left",hovertemplate:s.hovertemplate,hovertemplateLabels:v,eventData:[d]})}}i.loneHover(l,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:c}).each(function(){a.link.concentrationscale||f(this,.65),p(this)})}}function m(t){var e,r;return t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2+a.parent.translateX,r=t.circularPathData.verticalFullExtent+a.parent.translateY):(e=(t.source.x1+t.target.x0)/2+a.parent.translateX,r=(t.y0+t.y1)/2+a.parent.translateY),[e,r]}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,a,o,!0)),"skip"!==a.link.trace.link.hoverinfo&&(a.link.fullData=a.link.trace,t.emit("plotly_unhover",{event:n.event,points:[a.link]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var a=r.link;a.originalEvent=n.event,t._hoverdata=[a],i.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,r,a),"skip"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit("plotly_hover",{event:n.event,points:[r.node]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var o=a.node.trace.node;if("none"!==o.hoverinfo&&"skip"!==o.hoverinfo){var s=n.select(e).select("."+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),h=s.node().getBoundingClientRect(),d=h.left-2-c.left,g=h.right+2-c.left,v=h.top+h.height/4-c.top,m={valueLabel:n.format(a.valueFormat)(a.node.value)+a.valueSuffix};a.node.fullData=a.node.trace;var y=i.loneHover({x0:d,x1:g,y:v,name:n.format(a.valueFormat)(a.node.value)+a.valueSuffix,text:[a.node.label,T+a.node.targetLinks.length,A+a.node.sourceLinks.length].filter(u).join("<br>"),color:b(o,"bgcolor")||a.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[a.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});f(y,.85),p(y)}}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,a,o),"skip"!==a.node.trace.node.hoverinfo&&(a.node.fullData=a.node.trace,t.emit("plotly_unhover",{event:n.event,points:[a.node]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r,a){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(m,r,a),i.click(t,{target:!0})}}})}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"./constants":1111,"./render":1115,d3:164}],1115:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey"),c=t("@plotly/d3-sankey-circular"),u=t("d3-force"),h=t("../../lib"),f=t("../../lib/gup"),p=f.keyFun,d=f.repeat,g=f.unwrap,v=t("d3-interpolate").interpolateNumber,m=t("../../registry");function y(){var t=.5;return function(e){if(e.link.circular)return r=e.link,n=r.width/2,a=r.circularPathData,"top"===r.circularLinkType?"M "+a.targetX+" "+(a.targetY+n)+" L"+a.rightInnerExtent+" "+(a.targetY+n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 1 "+(a.rightFullExtent-n)+" "+(a.targetY-a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 1 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY-a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.leftInnerExtent+" "+(a.sourceY-n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 0 "+(a.leftFullExtent-n)+" "+(a.sourceY-a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 0 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY-a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.targetY-n)+"L"+a.targetX+" "+(a.targetY-n)+"Z":"M "+a.targetX+" "+(a.targetY-n)+" L"+a.rightInnerExtent+" "+(a.targetY-n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 0 "+(a.rightFullExtent-n)+" "+(a.targetY+a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 0 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY+a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.leftInnerExtent+" "+(a.sourceY+n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 1 "+(a.leftFullExtent-n)+" "+(a.sourceY+a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 1 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY+a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.targetY+n)+"L"+a.targetX+" "+(a.targetY+n)+"Z";var r,n,a,i=e.link.source.x1,o=e.link.target.x0,s=v(i,o),l=s(t),c=s(1-t),u=e.link.y0-e.link.width/2,h=e.link.y0+e.link.width/2,f=e.link.y1-e.link.width/2,p=e.link.y1+e.link.width/2;return"M"+i+","+u+"C"+l+","+u+" "+c+","+f+" "+o+","+f+"L"+o+","+p+"C"+c+","+p+" "+l+","+h+" "+i+","+h+"Z"}}function x(t){t.attr("transform",function(t){return"translate("+t.node.x0.toFixed(3)+", "+t.node.y0.toFixed(3)+")"})}function b(t){t.call(x)}function _(t,e){t.call(b),e.attr("d",y())}function w(t){t.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function k(t){return t.link.width>1||t.linkLineWidth>0}function T(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function A(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function M(t){return a.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function S(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function E(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function L(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function C(t){return t.horizontal&&t.left?"100%":"0%"}function P(t,e,r){t.on(".basic",null).on("mouseover.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on("mousemove.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on("mouseout.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on("click.basic",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)})}function O(t,e,r,i){var o=a.behavior.drag().origin(function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}}).on("dragstart",function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",function(t){i._fullLayout._dragCover=t}),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,I(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,a){!function(t){for(var e=0;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var i=r.graph.nodes.filter(function(t){return t.originalX===r.node.originalX}).filter(function(t){return!t.partOfGroup});r.forceLayouts[e]=u.forceSimulation(i).alphaDecay(0).force("collide",u.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,a){return function(){for(var t=0,i=0;i<r.length;i++){var o=r[i];o===a.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(a.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!a.interactionState.dragInProgress&&t<.1&&a.forceLayouts[e].alpha()>0&&a.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,o,a),function(t,e,r,a,i){window.requestAnimationFrame(function o(){var s;for(s=0;s<n.forceTicksPerFrame;s++)r.forceLayouts[a].tick();var l=r.graph.nodes;if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(l),r.sankey.update(r.graph),_(t.filter(D(r)),e),r.forceLayouts[a].alpha()>0)window.requestAnimationFrame(o);else{var c=r.node.originalX;r.node.x0=c-r.visibleWidth/2,r.node.x1=c+r.visibleWidth/2,z(r,i)}})}(t,e,a,o,i)}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),I(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),_(t.filter(D(r)),e))}}).on("dragend",function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;"snap"!==t.arrangement&&z(t,i)}});t.on(".drag",null).call(o)}function z(t,e){for(var r=[],n=[],a=0;a<t.graph.nodes.length;a++){var i=(t.graph.nodes[a].x0+t.graph.nodes[a].x1)/2,o=(t.graph.nodes[a].y0+t.graph.nodes[a].y1)/2;r.push(i/t.figure.width),n.push(o/t.figure.height)}m.call("_guiRestyle",e,{"node.x":[r],"node.y":[n]},t.trace.index).then(function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()})}function I(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function D(t){return function(e){return e.node.originalX===t.node.originalX}}e.exports=function(t,e,r,u,f){var v=!1;h.ensureSingle(t._fullLayout._infolayer,"g","first-render",function(){v=!0});var m=t._fullLayout._dragCover,b=r.filter(function(t){return g(t).trace.visible}).map(function(t,e,r){var a,o=g(e),s=o.trace,u=s.domain,f="h"===s.orientation,p=s.node.pad,d=s.node.thickness,v=t.width*(u.x[1]-u.x[0]),m=t.height*(u.y[1]-u.y[0]),y=o._nodes,x=o._links,b=o.circular;(a=b?c.sankeyCircular().circularLinkGap(0):l.sankey()).iterations(n.sankeyIterations).size(f?[v,m]:[m,v]).nodeWidth(d).nodePadding(p).nodeId(function(t){return t.pointNumber}).nodes(y).links(x);var _,w,k,T=a();for(var A in a.nodePadding()<p&&h.warn("node.pad was reduced to ",a.nodePadding()," to fit within the figure."),o._groupLookup){var M,S=parseInt(o._groupLookup[A]);for(_=0;_<T.nodes.length;_++)if(T.nodes[_].pointNumber===S){M=T.nodes[_];break}if(M){var E={pointNumber:parseInt(A),x0:M.x0,x1:M.x1,y0:M.y0,y1:M.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};T.nodes.unshift(E),M.childrenNodes.unshift(E)}}if(function(){for(_=0;_<T.nodes.length;_++){var t,e,r=T.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+":"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var a=Object.keys(n);for(w=0;w<a.length;w++){var o=n[t=a[w]],s=0,l={};for(k=0;k<o.length;k++)l[(e=o[k]).label]||(l[e.label]=0),l[e.label]+=e.value,s+=e.value;for(k=0;k<o.length;k++)(e=o[k]).flow={value:s,labelConcentration:l[e.label]/s,concentration:e.value/s,links:o},e.concentrationscale&&(e.color=i(e.concentrationscale(e.flow.labelConcentration)))}var c=0;for(w=0;w<r.sourceLinks.length;w++)c+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/c;var u=0;for(w=0;w<r.targetLinks.length;w++)u+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/u}}(),s.node.x.length&&s.node.y.length){for(_=0;_<Math.min(s.node.x.length,s.node.y.length,T.nodes.length);_++)if(s.node.x[_]&&s.node.y[_]){var L=[s.node.x[_]*v,s.node.y[_]*m];T.nodes[_].x0=L[0]-d/2,T.nodes[_].x1=L[0]+d/2;var C=T.nodes[_].y1-T.nodes[_].y0;T.nodes[_].y0=L[1]-C/2,T.nodes[_].y1=L[1]+C/2}"snap"===s.arrangement&&function(t){t.forEach(function(t){var e,r,n,a=0,i=t.length;for(t.sort(function(t,e){return t.y0-e.y0}),n=0;n<i;++n)(e=t[n]).y0>=a||(r=a-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),a=e.y1+p})}(function(t){var e,r,n=t.map(function(t,e){return{x0:t.x0,index:e}}).sort(function(t,e){return t.x0-e.x0}),a=[],i=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>o+d&&(i+=1,e=s.x0),o=s.x0,a[i]||(a[i]=[]),a[i].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return a}(y=T.nodes)),a.update(T)}return{circular:b,key:r,trace:s,guid:h.randstr(),horizontal:f,width:v,height:m,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?m:v,dragPerpendicular:f?v:m,arrangement:s.arrangement,sankey:a,graph:T,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,u)),_=e.selectAll("."+n.cn.sankey).data(b,p);_.exit().remove(),_.enter().append("g").classed(n.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",T),_.each(function(e,r){t._fullData[r]._sankey=e;var n="bgsankey-"+e.trace.uid+"-"+r;h.ensureSingle(t._fullLayout._draggers,"rect",n),t._fullData[r]._bgRect=a.select("."+n),t._fullData[r]._bgRect.style("pointer-events","all").attr("width",e.width).attr("height",e.height).attr("x",e.translateX).attr("y",e.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})}),_.transition().ease(n.ease).duration(n.duration).attr("transform",T);var z=_.selectAll("."+n.cn.sankeyLinks).data(d,p);z.enter().append("g").classed(n.cn.sankeyLinks,!0).style("fill","none");var I=z.selectAll("."+n.cn.sankeyLink).data(function(t){return t.graph.links.filter(function(t){return t.value}).map(function(t,e,r){var n=i(e.color),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:y,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}.bind(null,t))},p);I.enter().append("path").classed(n.cn.sankeyLink,!0).call(P,_,f.linkEvents),I.style("stroke",function(t){return k(t)?o.tinyRGB(i(t.linkLineColor)):t.tinyColorHue}).style("stroke-opacity",function(t){return k(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}).style("stroke-width",function(t){return k(t)?t.linkLineWidth:1}).attr("d",y()),I.style("opacity",function(){return t._context.staticPlot||v||m?1:0}).transition().ease(n.ease).duration(n.duration).style("opacity",1),I.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var D=_.selectAll("."+n.cn.sankeyNodeSet).data(d,p);D.enter().append("g").classed(n.cn.sankeyNodeSet,!0),D.style("cursor",function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var R=D.selectAll("."+n.cn.sankeyNode).data(function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(function(t,e){var r=i(e.color),a=n.nodePadAcross,s=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var l=e.dx,c=Math.max(.5,e.dy),u="node_"+e.pointNumber;return e.group&&(u=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:u,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(l),visibleHeight:c,zoneX:-a,zoneY:-s,zoneWidth:l+2*a,zoneHeight:c+2*s,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:o.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,u].join("_"),interactionState:t.interactionState,figure:t}}.bind(null,t))},p);R.enter().append("g").classed(n.cn.sankeyNode,!0).call(x).style("opacity",function(e){return!t._context.staticPlot&&!v||e.partOfGroup?0:1}),R.call(P,_,f.nodeEvents).call(O,I,f,t),R.transition().ease(n.ease).duration(n.duration).call(x).style("opacity",function(t){return t.partOfGroup?0:1}),R.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var F=R.selectAll("."+n.cn.nodeRect).data(d);F.enter().append("rect").classed(n.cn.nodeRect,!0).call(w),F.style("stroke-width",function(t){return t.nodeLineWidth}).style("stroke",function(t){return o.tinyRGB(i(t.nodeLineColor))}).style("stroke-opacity",function(t){return o.opacity(t.nodeLineColor)}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}),F.transition().ease(n.ease).duration(n.duration).call(w);var B=R.selectAll("."+n.cn.nodeCapture).data(d);B.enter().append("rect").classed(n.cn.nodeCapture,!0).style("fill-opacity",0),B.attr("x",function(t){return t.zoneX}).attr("y",function(t){return t.zoneY}).attr("width",function(t){return t.zoneWidth}).attr("height",function(t){return t.zoneHeight});var N=R.selectAll("."+n.cn.nodeCentered).data(d);N.enter().append("g").classed(n.cn.nodeCentered,!0).attr("transform",A),N.transition().ease(n.ease).duration(n.duration).attr("transform",A);var j=N.selectAll("."+n.cn.nodeLabelGuide).data(d);j.enter().append("path").classed(n.cn.nodeLabelGuide,!0).attr("id",function(t){return t.uniqueNodeLabelPathId}).attr("d",M).attr("transform",S),j.transition().ease(n.ease).duration(n.duration).attr("d",M).attr("transform",S);var V=N.selectAll("."+n.cn.nodeLabel).data(d);V.enter().append("text").classed(n.cn.nodeLabel,!0).attr("transform",E).style("user-select","none").style("cursor","default").style("fill","black"),V.style("text-shadow",function(t){return t.horizontal?"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff":"none"}).each(function(t){s.font(V,t.textFont)}),V.transition().ease(n.ease).duration(n.duration).attr("transform",E);var U=V.selectAll("."+n.cn.nodeLabelTextPath).data(d);U.enter().append("textPath").classed(n.cn.nodeLabelTextPath,!0).attr("alignment-baseline","middle").attr("xlink:href",function(t){return"#"+t.uniqueNodeLabelPathId}).attr("startOffset",C).style("fill",L),U.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),U.transition().ease(n.ease).duration(n.duration).attr("startOffset",C).style("fill",L)}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../registry":845,"./constants":1111,"@plotly/d3-sankey":56,"@plotly/d3-sankey-circular":55,d3:164,"d3-force":157,"d3-interpolate":159,tinycolor2:535}],1116:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,a=n._sankey.graph.nodes,i=0;i<a.length;i++){var o=a[i];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];"v"===n.orientation&&s.reverse(),e&&e.contains(s,!1,i,t)&&r.push({pointNumber:o.pointNumber})}}return r}},{}],1117:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.texttemplate,t,"txt"),n.mergeArray(e.hovertext,t,"htx"),n.mergeArray(e.customdata,t,"data"),n.mergeArray(e.textposition,t,"tp"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,"ts"),n.mergeArray(e.textfont.color,t,"tc"),n.mergeArray(e.textfont.family,t,"tf"));var a=e.marker;if(a){n.mergeArrayCastPositive(a.size,t,"ms"),n.mergeArrayCastPositive(a.opacity,t,"mo"),n.mergeArray(a.symbol,t,"mx"),n.mergeArray(a.color,t,"mc");var i=a.line;a.line&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"));var o=a.gradient;o&&"none"!==o.type&&(n.mergeArray(o.type,t,"mgt"),n.mergeArray(o.color,t,"mgc"))}}},{"../../lib":716}],1118:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").texttemplateAttrs,a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../components/colorscale/attributes"),o=t("../../plots/font_attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../components/drawing"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:n({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:a({},{keys:c.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:u({},s,{editType:"style"}),simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style",anim:!0},marker:u({symbol:{valType:"enumerated",values:l.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:u({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},i("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},i("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:o({editType:"calc",colorEditType:"style",arrayOk:!0}),r:{valType:"data_array",editType:"calc"},t:{valType:"data_array",editType:"calc"}}},{"../../components/colorscale/attributes":598,"../../components/drawing":612,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plots/font_attributes":790,"../../plots/template_attributes":840,"./constants":1122}],1119:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM,s=t("./subtypes"),l=t("./colorscale_calc"),c=t("./arrays_to_calcdata"),u=t("./calc_selection");function h(t,e,r,n,a,o,l){var c=e._length,u=t._fullLayout,h=r._id,f=n._id,p=u._firstScatter[d(e)]===e.uid,v=(g(e,u,r,n)||{}).orientation,m=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};l&&(y.ppad=x.ppad=l);var b=c<2||a[0]!==a[c-1]||o[0]!==o[c-1];b&&("tozerox"===m||"tonextx"===m&&(p||"h"===v))?y.tozero=!0:(e.error_y||{}).visible||"tonexty"!==m&&"tozeroy"!==m&&(s.hasMarkers(e)||s.hasText(e))||(y.padded=!1,y.ppad=0),b&&("tozeroy"===m||"tonexty"===m&&(p||"v"===v))?x.tozero=!0:"tonextx"!==m&&"tozerox"!==m||(x.padded=!1),h&&(e._extremes[h]=i.findExtremes(r,a,y)),f&&(e._extremes[f]=i.findExtremes(n,o,x))}function f(t,e){if(s.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r="area"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},a.isArrayOrTypedArray(n.size)){var l={type:"linear"};i.setConvert(l);for(var c=l.makeCalcdata(t.marker,"size"),u=new Array(e),h=0;h<e;h++)u[h]=r(c[h]);return u}return r(n.size)}}function p(t,e){var r=d(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function d(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?"-"+e:"")}function g(t,e,r,n){var a=t.stackgroup;if(a){var i=e._scatterStackOpts[r._id+n._id][a],o="v"===i.orientation?n:r;return"linear"===o.type||"log"===o.type?i:void 0}}e.exports={calc:function(t,e){var r,s,d,v,m,y,x=t._fullLayout,b=i.getFromId(t,e.xaxis||"x"),_=i.getFromId(t,e.yaxis||"y"),w=b.makeCalcdata(e,"x"),k=_.makeCalcdata(e,"y"),T=e._length,A=new Array(T),M=e.ids,S=g(e,x,b,_),E=!1;p(x,e);var L,C="x",P="y";for(S?(a.pushUnique(S.traceIndices,e._expandedIndex),(r="v"===S.orientation)?(P="s",L="x"):(C="s",L="y"),m="interpolate"===S.stackgaps):h(t,e,b,_,w,k,f(e,T)),s=0;s<T;s++){var O=A[s]={},z=n(w[s]),I=n(k[s]);z&&I?(O[C]=w[s],O[P]=k[s]):S&&(r?z:I)?(O[L]=r?w[s]:k[s],O.gap=!0,m?(O.s=o,E=!0):O.s=0):O[C]=O[P]=o,M&&(O.id=String(M[s]))}if(c(A,e),l(t,e),u(A,e),S){for(s=0;s<A.length;)A[s][L]===o?A.splice(s,1):s++;if(a.sort(A,function(t,e){return t[L]-e[L]||t.i-e.i}),E){for(s=0;s<A.length-1&&A[s].gap;)s++;for((y=A[s].s)||(y=A[s].s=0),d=0;d<s;d++)A[d].s=y;for(v=A.length-1;v>s&&A[v].gap;)v--;for(y=A[v].s,d=A.length-1;d>v;d--)A[d].s=y;for(;s<v;)if(A[++s].gap){for(d=s+1;A[d].gap;)d++;for(var D=A[s-1][L],R=A[s-1].s,F=(A[d].s-R)/(A[d][L]-D);s<d;)A[s].s=R+(A[s][L]-D)*F,s++}}}return A},calcMarkerSize:f,calcAxisExpansion:h,setFirstScatter:p,getStackOpts:g}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"./arrays_to_calcdata":1117,"./calc_selection":1120,"./colorscale_calc":1121,"./subtypes":1142,"fast-isnumeric":227}],1120:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{"../../lib":716}],1121:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),i=t("./subtypes");e.exports=function(t,e){i.hasLines(e)&&n(e,"line")&&a(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),i.hasMarkers(e)&&(n(e,"marker")&&a(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&a(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"./subtypes":1142}],1122:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],1123:[function(t,e,r){"use strict";var n=t("./calc");function a(t,e,r,n,a,i,o){a[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else i&&(s.s=function(t,e,r,n){var a=t[e-1],i=t[e+1];return i?a?a.s+(i.s-a.s)*(r-a[n])/(i[n]-a[n]):i.s:a.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,i=e.yaxis,o=r._id+i._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,h,f,p,d,g,v,m,y,x,b,_,w,k=t.calcdata;for(var T in s){var A=(m=s[T]).traceIndices;if(A.length){for(y="interpolate"===m.stackgaps,x=m.groupnorm,"v"===m.orientation?(b="x",_="y"):(b="y",_="x"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=k[A[0]];var M=new Array(p.length);for(l=0;l<p.length;l++)M[l]=p[l][b];for(l=1;l<A.length;l++){for(f=k[A[l]],c=u=0;c<f.length;c++){for(d=f[c][b];d>M[u]&&u<M.length;u++)a(f,c,M[u],l,w,y,b),c++;if(d!==M[u]){for(h=0;h<l;h++)a(k[A[h]],u,d,h,w,y,b);M.splice(u,0,d)}u++}for(;u<M.length;u++)a(f,c,M[u],l,w,y,b),c++}var S=M.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<A.length;l++)(f=k[A[l]])[0].trace._rawLength=f[0].trace._length,f[0].trace._length=S,g+=f[c].s,f[c][_]=g;if(x)for(v=("fraction"===x?g:g/100)||1,l=0;l<A.length;l++){var E=k[A[l]][c];E[_]/=v,E.sNorm=E.s/v}}for(l=0;l<A.length;l++){var L=(f=k[A[l]])[0].trace,C=n.calcMarkerSize(L,L._rawLength),P=Array.isArray(C);if(C&&w[l]||P){var O=C;for(C=new Array(S),c=0;c<S;c++)C[c]=f[c].gap?0:P?O[f[c].i]:O}var z=new Array(S),I=new Array(S);for(c=0;c<S;c++)z[c]=f[c].x,I[c]=f[c].y;n.calcAxisExpansion(t,L,r,i,z,I,C),f[0].t.orientation=m.orientation}}}}}},{"./calc":1119}],1124:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if("scatter"===r.type){var n=r.fill;if("none"!==n&&"toself"!==n&&(r.opacity=void 0,"tonexty"===n||"tonextx"===n))for(var a=e-1;a>=0;a--){var i=t[a];if("scatter"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],1125:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./stack_defaults"),u=t("./marker_defaults"),h=t("./line_defaults"),f=t("./line_shape_defaults"),p=t("./text_defaults"),d=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function v(r,a){return n.coerce(t,e,i,r,a)}var m=l(t,e,g,v);if(m||(e.visible=!1),e.visible){var y=c(t,e,g,v),x=!y&&m<o.PTS_LINESONLY?"lines+markers":"lines";v("text"),v("hovertext"),v("mode",x),s.hasLines(e)&&(h(t,e,r,g,v),f(t,e,v),v("connectgaps"),v("line.simplify")),s.hasMarkers(e)&&u(t,e,r,g,v,{gradient:!0}),s.hasText(e)&&(v("texttemplate"),p(t,e,g,v));var b=[];(s.hasMarkers(e)||s.hasText(e))&&(v("cliponaxis"),v("marker.maxdisplayed"),b.push("points")),v("fill",y?y.fillDflt:"none"),"none"!==e.fill&&(d(t,e,r,v),s.hasLines(e)||f(t,e,v));var _=(e.line||{}).color,w=(e.marker||{}).color;"tonext"!==e.fill&&"toself"!==e.fill||b.push("fills"),v("hoveron",b.join("+")||"points"),"fills"!==e.hoveron&&v("hovertemplate");var k=a.getComponentMethod("errorbars","supplyDefaults");k(t,e,_||w||r,{axis:"y"}),k(t,e,_||w||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,v)}}},{"../../lib":716,"../../registry":845,"./attributes":1118,"./constants":1122,"./fillcolor_defaults":1126,"./line_defaults":1131,"./line_shape_defaults":1133,"./marker_defaults":1137,"./stack_defaults":1140,"./subtypes":1142,"./text_defaults":1143,"./xy_defaults":1144}],1126:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!a(s)?o=s:l&&!a(l)&&(o=l)}i("fillcolor",n.addOpacity((e.line||{}).color||o||r,.5))}},{"../../components/color":591,"../../lib":716}],1127:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i={_fullLayout:r},o=n.getFromTrace(i,e,"x"),s=n.getFromTrace(i,e,"y");return a.xLabel=n.tickText(o,t.x,!0).text,a.yLabel=n.tickText(s,t.y,!0).text,a}},{"../../plots/cartesian/axes":764}],1128:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./subtypes");e.exports=function(t,e){var r,i;if("lines"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if("none"===t.mode)return t.fill?t.fillcolor:"";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(i=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:"")?n.opacity(i)<.3?n.addOpacity(i,.3):i:(r=(t.line||{}).color)&&n.opacity(r)&&a.hasLines(t)&&t.line.width?r:t.fillcolor}},{"../../components/color":591,"./subtypes":1142}],1129:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/fx"),i=t("../../registry"),o=t("./get_trace_color"),s=t("../../components/color"),l=n.fillText;e.exports=function(t,e,r,c){var u=t.cd,h=u[0].trace,f=t.xa,p=t.ya,d=f.c2p(e),g=p.c2p(r),v=[d,g],m=h.hoveron||"",y=-1!==h.mode.indexOf("markers")?3:.5;if(-1!==m.indexOf("points")){var x=function(t){var e=Math.max(y,t.mrc||0),r=f.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=a.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(f.c2p(t.x)-d);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n<e?r*n/e:n-e+r},x);if(a.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=f.c2p(_.x,!0),k=p.c2p(_.y,!0),T=_.mrc||1;t.index=_.i;var A=u[0].t.orientation,M=A&&(_.sNorm||_.s),S="h"===A?M:_.x,E="v"===A?M:_.y;return n.extendFlat(t,{color:o(h,_),x0:w-T,x1:w+T,xLabelVal:S,y0:k-T,y1:k+T,yLabelVal:E,spikeDistance:x(_),hovertemplate:h.hovertemplate}),l(_,h,t),i.getComponentMethod("errorbars","hoverInfo")(_,h,t),[t]}}if(-1!==m.indexOf("fills")&&h._polygons){var L,C,P,O,z,I,D,R,F,B=h._polygons,N=[],j=!1,V=1/0,U=-1/0,q=1/0,H=-1/0;for(L=0;L<B.length;L++)(P=B[L]).contains(v)&&(j=!j,N.push(P),q=Math.min(q,P.ymin),H=Math.max(H,P.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(L=0;L<N.length;L++)for(O=N[L].pts,C=1;C<O.length;C++)(R=O[C-1][1])>G!=(F=O[C][1])>=G&&(I=O[C-1][0],D=O[C][0],F-R&&(z=I+(D-I)*(G-R)/(F-R),V=Math.min(V,z),U=Math.max(U,z)));V=Math.max(V,0),U=Math.min(U,f._length);var Y=s.defaultLine;return s.opacity(h.fillcolor)?Y=h.fillcolor:s.opacity((h.line||{}).color)&&(Y=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../registry":845,"./get_trace_color":1128}],1130:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"./arrays_to_calcdata":1117,"./attributes":1118,"./calc":1119,"./cross_trace_calc":1123,"./cross_trace_defaults":1124,"./defaults":1125,"./format_labels":1127,"./hover":1129,"./marker_colorbar":1136,"./plot":1138,"./select":1139,"./style":1141,"./subtypes":1142}],1131:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),a(t,"line"))?i(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716}],1132:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,s=i-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,h=t("./constants");e.exports=function(t,e){var r,n,i,f,p,d,g,v,m,y,x,b,_,w,k,T,A,M,S=e.xaxis,E=e.yaxis,L="log"===S.type,C="log"===E.type,P=S._length,O=E._length,z=e.connectGaps,I=e.baseTolerance,D=e.shape,R="linear"===D,F=e.fill&&"none"!==e.fill,B=[],N=h.minTolerance,j=t.length,V=new Array(j),U=0;function q(r){var n=t[r];if(!n)return!1;var i=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(i===a){if(L&&(i=S.c2p(n.x,!0)),i===a)return!1;C&&l===a&&(i*=Math.abs(S._m*O*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),i*=1e3}if(l===a){if(C&&(l=E.c2p(n.y,!0)),l===a)return!1;l*=1e3}return[i,l]}function H(t,e,r,n){var a=r-t,i=n-e,o=.5-t,s=.5-e,l=a*a+i*i,c=a*o+i*s;if(c>0&&c<l){var u=o*i-s*a;if(u*u<l)return!0}}function G(t,e){var r=t[0]/P,n=t[1]/O,a=Math.max(0,-r,r-1,-n,n-1);return a&&void 0!==A&&H(r,n,A,M)&&(a=0),a&&e&&H(r,n,e[0]/P,e[1]/O)&&(a=0),(1+h.toleranceGrowth*a)*I}function Y(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var W,X,Z,J,K,Q,$,tt=h.maxScreensAway,et=-P*tt,rt=P*(1+tt),nt=-O*tt,at=O*(1+tt),it=[[et,nt,rt,nt],[rt,nt,rt,at],[rt,at,et,at],[et,at,et,nt]];function ot(t){if(t[0]<et||t[0]>rt||t[1]<nt||t[1]>at)return[u(t[0],et,rt),u(t[1],nt,at)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===at)||void 0)}function lt(t,e,r){return function(n,a){var i=ot(n),o=ot(a),s=[];if(i&&o&&st(i,o))return s;i&&s.push(i),o&&s.push(o);var c=2*l.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);c&&((i&&o?c>0==i[t]>o[t]?i:o:i||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===V[U-1][0],a=r===V[U-1][1];if(!n||!a)if(U>1){var i=e===V[U-2][0],o=r===V[U-2][1];n&&(e===et||e===rt)&&i?o?U--:V[U-1]=t:a&&(r===nt||r===at)&&o?i?U--:V[U-1]=t:V[U++]=t}else V[U++]=t}function ut(t){V[U-1][0]!==t[0]&&V[U-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ht(t){if(A=t[0]/P,M=t[1]/O,W=t[0]<et?et:t[0]>rt?rt:0,X=t[1]<nt?nt:t[1]>at?at:0,W||X){if(U)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),V[U++]=e[1])}else Q=$(V[U-1],t)[0],V[U++]=Q;else V[U++]=[W||t[0],X||t[1]];var r=V[U-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?et:rt,at]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),V[U++]=t;var n,a,i,o}for("linear"===D||"spline"===D?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=it[a],o=c(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)<Y(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===D||"vh"===D?$=function(t,e){var r=[],n=ot(t),a=ot(e);return n&&a&&st(n,a)?r:(n&&r.push(n),a&&r.push(a),r)}:"hvh"===D?$=lt(0,et,rt):"vhv"===D&&($=lt(1,nt,at)),r=0;r<j;r++)if(n=q(r)){for(U=0,K=null,ht(n),r++;r<j;r++){if(!(f=q(r))){if(z)continue;break}if(R&&e.simplify){var ft=q(r+1);if(y=Y(f,n),F&&(0===U||U===j-1)||!(y<G(f,ft)*N)){for(v=[(f[0]-n[0])/y,(f[1]-n[1])/y],p=n,x=y,b=w=k=0,g=!1,i=f,r++;r<t.length;r++){if(d=ft,ft=q(r+1),!d){if(z)continue;break}if(T=(m=[d[0]-n[0],d[1]-n[1]])[0]*v[1]-m[1]*v[0],w=Math.min(w,T),(k=Math.max(k,T))-w>G(d,ft))break;i=d,(_=m[0]*v[0]+m[1]*v[1])>x?(x=_,f=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ht(f),i!==p&&ht(p)):(p!==n&&ht(p),i!==f&&ht(f)),ht(i),r>=t.length||!d)break;ht(d),n=d}}else ht(f)}K&&ct([Z||K[0],J||K[1]]),B.push(V.slice(0,U))}return B}},{"../../constants/numerical":692,"../../lib":716,"./constants":1122}],1133:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1134:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,s,l,c={},u=!1,h=-1,f=0,p=-1;for(i=0;i<r.length;i++)(o=(a=r[i][0].trace).stackgroup||"")?o in c?l=c[o]:(l=c[o]=f,f++):a.fill in n&&p>=0?l=p:(l=p=f,f++),l<h&&(u=!0),a._groupIndex=h=l;var d=r.slice();u&&d.sort(function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index});var g={};for(i=0;i<d.length;i++)o=(a=d[i][0].trace).stackgroup||"",!0===a.visible?(a._nexttrace=null,a.fill in n&&(s=g[o],a._prevtrace=s||null,s&&(s._nexttrace=a)),a._ownfill=a.fill&&("tozero"===a.fill.substr(0,6)||"toself"===a.fill||"to"===a.fill.substr(0,2)&&!a._prevtrace),g[o]=a):a._prevtrace=a._nexttrace=a._ownfill=null;return d}},{}],1135:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t){var e=t.marker,r=e.sizeref||1,a=e.sizemin||0,i="area"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=i(t/2);return n(e)&&e>0?Math.max(e,a):0}}},{"fast-isnumeric":227}],1136:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1137:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;(c=c||{},h&&(r=h),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),a(t,"marker")&&i(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),a(t,"marker.line")&&i(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"./subtypes":1142}],1138:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=i.ensureSingle,s=i.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),h=t("./link_traces"),f=t("../../lib/polygon").tester;function p(t,e,r,h,p,d,g){var v;!function(t,e,r,a,o){var s=r.xaxis,l=r.yaxis,u=n.extent(i.simpleMap(s.range,s.r2c)),h=n.extent(i.simpleMap(l.range,l.r2c)),f=a[0].trace;if(!c.hasMarkers(f))return;var p=f.marker.maxdisplayed;if(0===p)return;var d=a.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]}),g=Math.ceil(d.length/p),v=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&v++});var m=Math.round(v*g/3+Math.floor(v/3)*g/7.1);a.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+m)%g)&&(t.vis=!0)})}(0,e,r,h,p);var m=!!g&&g.duration>0;function y(t){return m?t.transition():t}var x=r.xaxis,b=r.yaxis,_=h[0].trace,w=_.line,k=n.select(d),T=o(k,"g","errorbars"),A=o(k,"g","lines"),M=o(k,"g","points"),S=o(k,"g","text");if(a.getComponentMethod("errorbars","plot")(t,T,r,g),!0===_.visible){var E,L;y(k).style("opacity",_.opacity);var C=_.fill.charAt(_.fill.length-1);"x"!==C&&"y"!==C&&(C=""),h[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var P,O,z="",I=[],D=_._prevtrace;D&&(z=D._prevRevpath||"",L=D._nextFill,I=D._polygons);var R,F,B,N,j,V,U,q="",H="",G=[],Y=i.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(L&&L.datum(h),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=u(h,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),U=_._polygons=new Array(G.length),v=0;v<G.length;v++)_._polygons[v]=f(G[v]);G.length&&(N=G[0][0],V=(j=G[G.length-1])[j.length-1]),Y=function(t){return function(e){if(P=R(e),O=B(e),q?C?(q+="L"+P.substr(1),H=O+"L"+H.substr(1)):(q+="Z"+P,H=O+"Z"+H):(q=P,H=O),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(h),t)y(r.style("opacity",0).attr("d",P).call(l.lineGroupStyle)).style("opacity",1);else{var a=y(r);a.attr("d",P),l.singleLineStyle(h,a)}}}}}var W=A.selectAll(".js-line").data(G);y(W.exit()).style("opacity",0).remove(),W.each(Y(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(h),N&&V&&(C?("y"===C?N[1]=V[1]=b.c2p(0,!0):"x"===C&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr("d","M"+V+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):L&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(L).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(L).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(I)):(Z(L),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?Z(E):L&&Z(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(h),S.datum(h),function(e,a,i){var o,u=i[0].trace,h=c.hasMarkers(u),f=c.hasText(u),p=tt(u),d=et,g=et;if(h||f){var v=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?v=w?K:J:_&&!w&&(v=Q),h&&(d=v),f&&(g=v)}var k,T=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);m&&T.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),h&&(k=l.makePointStyleFns(u)),o.each(function(e){var a=n.select(this),i=y(a);l.translatePoint(e,i,x,b)?(l.singlePointStyle(e,i,u,k,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,x,b,u.xcalendar,u.ycalendar),u.customdata&&a.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):i.remove()}),m?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=a.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each(function(t){var e=n.select(this),a=y(e.select("text"));l.translatePoint(t,a,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll("text").call(l.textPointStyle,u,t).each(function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each(function(){y(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(M,S,h);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter(function(t){return!t.gap&&t.vis})}function K(t){return t.filter(function(t){return t.vis})}function Q(t){return t.filter(function(t){return!t.gap})}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,a,i,c){var u,f,d=!i,g=!!i&&i.duration>0,v=h(t,e,r);((u=a.selectAll("g.trace").data(v,function(t){return t[0].trace.uid})).enter().append("g").attr("class",function(t){return"trace scatter trace"+t[0].trace.uid}).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each(function(e){var a=o(n.select(this),"g","fills");l.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,c=[];i._ownfill&&c.push("_ownFill"),i._nexttrace&&c.push("_nextFill");var u=a.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each(function(t){i[t]=null}).remove(),u.order().each(function(t){i[t]=o(n.select(this),"path","js-fill")})})}(t,u,e),g)?(c&&(f=c()),n.transition().duration(i.duration).ease(i.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()}).each(function(){a.selectAll("g.trace").each(function(r,n){p(t,n,e,r,v,this,i)})})):u.each(function(r,n){p(t,n,e,r,v,this,i)});d&&u.exit().remove(),a.selectAll("path:not([d])").remove()}},{"../../components/drawing":612,"../../lib":716,"../../lib/polygon":728,"../../registry":845,"./line_points":1132,"./link_traces":1134,"./subtypes":1142,d3:164}],1139:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)a=s[r],i=l.c2p(a.x),o=c.c2p(a.y),null!==a.i&&e.contains([i,o],!1,r,t)?(u.push({pointNumber:a.i,x:l.c2d(a.x),y:c.c2d(a.y)}),a.selected=1):a.selected=0;return u}},{"./subtypes":1142}],1140:[function(t,e,r){"use strict";var n=["orientation","groupnorm","stackgaps"];e.exports=function(t,e,r,a){var i=r._scatterStackOpts,o=a("stackgroup");if(o){var s=e.xaxis+e.yaxis,l=i[s];l||(l=i[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var h={orientation:e.x&&!e.y?"h":"v"},f=0;f<n.length;f++){var p=n[f],d=p+"Found";if(!c[d]){var g=void 0!==t[p],v="orientation"===p;if((g||u)&&(c[p]=a(p,h[p]),v&&(c.fillDflt="h"===c[p]?"tonextx":"tonexty"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],v))))for(var m=0;m<c.traces.length-1;m++){var y=c.traces[m];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1141:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../registry");function o(t,e,r){a.pointStyle(t.selectAll("path.point"),e,r)}function s(t,e,r){a.textPointStyle(t.selectAll("text"),e,r)}e.exports={style:function(t){var e=n.select(t).selectAll("g.trace.scatter");e.style("opacity",function(t){return t[0].trace.opacity}),e.selectAll("g.points").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),e.selectAll("g.text").each(function(e){s(n.select(this),e.trace||e[0].trace,t)}),e.selectAll("g.trace path.js-line").call(a.lineGroupStyle),e.selectAll("g.trace path.js-fill").call(a.fillGroupStyle),i.getComponentMethod("errorbars","style")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(a.selectedPointStyle(r.selectAll("path.point"),n),a.selectedTextStyle(r.selectAll("text"),n)):(o(r,n,t),s(r,n,t))}}},{"../../components/drawing":612,"../../registry":845,d3:164}],1142:[function(t,e,r){"use strict";var n=t("../../lib");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("lines")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf("markers")||"splom"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("text")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{"../../lib":716}],1143:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a,i){i=i||{},a("textposition"),n.coerceFont(a,"textfont",r.font),i.noSelect||(a("selected.textfont.color"),a("unselected.textfont.color"))}},{"../../lib":716}],1144:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");e.exports=function(t,e,r,i){var o,s=i("x"),l=i("y");if(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],r),s){var c=n.minRowLength(s);l?o=Math.min(c,n.minRowLength(l)):(o=c,i("y0"),i("dy"))}else{if(!l)return 0;o=n.minRowLength(l),i("x0"),i("dx")}return e._length=o,o}},{"../../lib":716,"../../registry":845}],1145:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../plots/attributes"),l=t("../../constants/gl3d_dashes"),c=t("../../constants/gl3d_markers"),u=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll,f=n.line,p=n.marker,d=p.line,g=u({width:f.width,dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},a("line"));var v=e.exports=h({x:n.x,y:n.y,z:{valType:"data_array"},text:u({},n.text,{}),texttemplate:o({},{}),hovertext:u({},n.hovertext,{}),hovertemplate:i(),mode:u({},n.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},y:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},z:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:g,marker:u({symbol:{valType:"enumerated",values:Object.keys(c),dflt:"circle",arrayOk:!0},size:u({},p.size,{dflt:8}),sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode,opacity:u({},p.opacity,{arrayOk:!1}),colorbar:p.colorbar,line:u({width:u({},d.width,{arrayOk:!1})},a("marker.line"))},a("marker")),textposition:u({},n.textposition,{dflt:"top center"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:u({},n.textfont.family,{arrayOk:!1})},hoverinfo:u({},s.hoverinfo)},"calc","nested");v.x.editType=v.y.editType=v.z.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":598,"../../constants/gl3d_dashes":689,"../../constants/gl3d_markers":690,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1146:[function(t,e,r){"use strict";var n=t("../scatter/arrays_to_calcdata"),a=t("../scatter/colorscale_calc");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),a(t,e),r}},{"../scatter/arrays_to_calcdata":1117,"../scatter/colorscale_calc":1121}],1147:[function(t,e,r){"use strict";var n=t("../../registry");function a(t,e,r,a){if(!e||!e.visible)return null;for(var i=n.getComponentMethod("errorbars","makeComputeError")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=i(+t[s],s);if("log"===a.type){var c=a.c2l(t[s]),u=t[s]-l[0],h=t[s]+l[1];if(o[s]=[(a.c2l(u,!0)-c)*r,(a.c2l(h,!0)-c)*r],u>0){var f=a.c2l(u);a._lowerLogErrorBound||(a._lowerLogErrorBound=f),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[a(t.x,t.error_x,e[0],r.xaxis),a(t.y,t.error_y,e[1],r.yaxis),a(t.z,t.error_z,e[2],r.zaxis)],i=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===i)return null;for(var o=new Array(i),s=0;s<i;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{"../../registry":845}],1148:[function(t,e,r){"use strict";var n=t("gl-line3d"),a=t("gl-scatter3d"),i=t("gl-error3d"),o=t("gl-mesh3d"),s=t("delaunay-triangulate"),l=t("../../lib"),c=t("../../lib/str2rgbarray"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/make_bubble_size_func"),f=t("../../constants/gl3d_dashes"),p=t("../../constants/gl3d_markers"),d=t("../../plots/cartesian/axes"),g=t("../../components/fx/helpers").appendArrayPointValue,v=t("./calc_errors");function m(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=m.prototype;function x(t){return null==t?0:t.indexOf("left")>-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function k(t,e,r,n,a){var i=null;if(l.isArrayOrTypedArray(t)){i=[];for(var o=0;o<e;o++)void 0===t[o]?i[o]=n:i[o]=r(t[o],a)}else i=r(t,l.identity);return i}function T(t,e){var r,n,a,i,o,s,f=[],p=t.fullSceneLayout,m=t.dataScale,y=p.xaxis,T=p.yaxis,A=p.zaxis,M=e.marker,S=e.line,E=e.x||[],L=e.y||[],C=e.z||[],P=E.length,O=e.xcalendar,z=e.ycalendar,I=e.zcalendar;for(o=0;o<P;o++)r=y.d2l(E[o],0,O)*m[0],n=T.d2l(L[o],0,z)*m[1],a=A.d2l(C[o],0,I)*m[2],f[o]=[r,n,a];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(P),o=0;o<P;o++)s[o]=e.text;function D(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,P):P,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var V={x:E[o],y:L[o],z:C[o]},U={xLabel:D("xaxis",E[o]),yLabel:D("yaxis",L[o]),zLabel:D("zaxis",C[o])},q={};g(q,e,o);var H=e._meta||{};s[o]=l.texttemplateString(j(o),U,F,q,V,H)}}if(i={position:f,mode:e.mode,text:s},"line"in e&&(i.lineColor=u(S,1,P),i.lineWidth=S.width,i.lineDashes=S.dash),"marker"in e){var G=h(e);i.scatterColor=u(M,1,P),i.scatterSize=k(M.size,P,_,20,G),i.scatterMarker=k(M.symbol,P,w,"\u25cf"),i.scatterLineWidth=M.line.width,i.scatterLineColor=u(M.line,1,P),i.scatterAngle=0}"textposition"in e&&(i.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),i.textColor=u(e.textfont,1,P),i.textSize=k(e.textfont.size,P,l.identity,12),i.textFont=e.textfont.family,i.textAngle=0);var Y=["x","y","z"];for(i.project=[!1,!1,!1],i.projectScale=[1,1,1],i.projectOpacity=[1,1,1],o=0;o<3;++o){var W=e.projection[Y[o]];(i.project[o]=W.show)&&(i.projectOpacity[o]=W.opacity,i.projectScale[o]=W.scale)}i.errorBounds=v(e,m,p);var X=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],a=0;a<3;a++){var i=t[a];i&&!1!==i.copy_zstyle&&!1!==t[2].visible&&(i=t[2]),i&&i.visible&&(e[a]=i.width/2,r[a]=c(i.color),n[a]=i.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return i.errorColor=X.color,i.errorLineWidth=X.lineWidth,i.errorCapSize=X.capSize,i.delaunayAxis=e.surfaceaxis,i.delaunayColor=c(e.surfacecolor),i}function A(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),"rgb("+t.slice(0,3).map(function(t){return Math.round(255*t)})+")"}return null}y.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel="",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},y.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,h=f.solid;this.data=t;var p=T(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in f&&(h=f[p.lineDashes]),this.color=A(p.scatterColor)||A(p.lineColor),this.dataPoints=p.position,e={gl:this.scene.glplot.gl,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:h[0],dashScale:h[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=a(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:this.scene.glplot.gl,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=a(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:this.scene.glplot.gl,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=i(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,a=(r+1)%3,i=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[a])&&isFinite(c[a])&&!isNaN(c[i])&&isFinite(c[i])&&(o.push([c[a],c[i]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var h=u[n],f=0;f<h.length;++f)h[f]=l[h[f]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new m(t,e.uid);return r.update(e),r}},{"../../components/fx/helpers":626,"../../constants/gl3d_dashes":689,"../../constants/gl3d_markers":690,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"../scatter/make_bubble_size_func":1135,"./calc_errors":1147,"delaunay-triangulate":166,"gl-error3d":249,"gl-line3d":257,"gl-mesh3d":282,"gl-scatter3d":299}],1149:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,n){return a.coerce(t,e,c,r,n)}if(function(t,e,r,a){var i=0,o=r("x"),s=r("y"),l=r("z");n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],a),o&&s&&l&&(i=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=i);return i}(t,e,h,u)){h("text"),h("hovertext"),h("hovertemplate"),h("mode"),i.hasLines(e)&&(h("connectgaps"),s(t,e,r,u,h)),i.hasMarkers(e)&&o(t,e,r,u,h,{noSelect:!0}),i.hasText(e)&&(h("texttemplate"),l(t,e,u,h,{noSelect:!0}));var f=(e.line||{}).color,p=(e.marker||{}).color;h("surfaceaxis")>=0&&h("surfacecolor",f||p);for(var d=["x","y","z"],g=0;g<3;++g){var v="projection."+d[g];h(v+".show")&&(h(v+".opacity"),h(v+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,f||p||r,{axis:"z"}),m(t,e,f||p||r,{axis:"y",inherit:"z"}),m(t,e,f||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":716,"../../registry":845,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1145}],1150:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":690,"../../plots/gl3d":804,"./attributes":1145,"./calc":1146,"./convert":1148,"./defaults":1149}],1151:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,h=c.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:h.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:i()}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1152:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c<f;c++)if(u=e.a[c],h=e.b[c],n(u)&&n(h)){var g=r.ab2xy(+u,+h,!0),v=r.isVisible(+u,+h);v||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:h,vis:v}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,f),a(t,e),i(p,e),o(p,e),p}}},{"../carpet/lookup_carpetid":914,"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1153:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/constants"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}p("carpet"),e.xaxis="x",e.yaxis="y";var d=p("a"),g=p("b"),v=Math.min(d.length,g.length);if(v){e._length=v,p("text"),p("texttemplate"),p("hovertext"),p("mode",v<a.PTS_LINESONLY?"lines+markers":"lines"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&c(t,e,f,p);var m=[];(i.hasMarkers(e)||i.hasText(e))&&(p("marker.maxdisplayed"),m.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||m.push("fills"),"fills"!==p("hoveron",m.join("+")||"points")&&p("hovertemplate"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1151}],1154:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=n[a];return t.a=i.a,t.b=i.b,t.y=i.y,t}},{}],1155:[function(t,e,r){"use strict";e.exports=function(t,e){var r={},n=e._carpet,a=n.ab2ij([t.a,t.b]),i=Math.floor(a[0]),o=a[0]-i,s=Math.floor(a[1]),l=a[1]-s,c=n.evalxy([],i,s,o,l);return r.yLabel=c[1].toFixed(3),r}},{}],1156:[function(t,e,r){"use strict";var n=t("../scatter/hover"),a=t("../../lib").fillText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,h=c-u;return s.x0=Math.max(Math.min(s.x0,h),u),s.x1=Math.max(Math.min(s.x1,h),u),o}var f=s.cd[s.index];s.a=f.a,s.b=f.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,g=p._module.formatLabels(f,p);s.yLabel=g.yLabel,delete s.text;var v=[];if(!p.hovertemplate){var m=(f.hi||p.hoverinfo).split("+");-1!==m.indexOf("all")&&(m=["a","b","text"]),-1!==m.indexOf("a")&&y(d.aaxis,f.a),-1!==m.indexOf("b")&&y(d.baxis,f.b),v.push("y: "+s.yLabel),-1!==m.indexOf("text")&&a(f,p,v),s.extraText=v.join("<br>")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,v.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../../lib":716,"../scatter/hover":1129}],1157:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:t("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1151,"./calc":1152,"./defaults":1153,"./event_data":1154,"./format_labels":1155,"./hover":1156,"./plot":1158}],1158:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../plots/cartesian/axes"),i=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h={xaxis:a.getFromId(t,u.xaxis||"x"),yaxis:a.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,h,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll("g.trace"+l.uid+" .js-line"),i.setClipUrl(c,r[s][0].carpet._clipPathId,t)}},{"../../components/drawing":612,"../../plots/cartesian/axes":764,"../scatter/plot":1138}],1159:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=t("../../plot_api/edit_types").overrideAll,h=i.marker,f=i.line,p=h.line;e.exports=u({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names"],dflt:"ISO-3"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:c({},i.hovertext,{}),textfont:i.textfont,textposition:i.textposition,line:{color:f.color,width:f.width,dash:l},connectgaps:i.connectgaps,marker:c({symbol:h.symbol,opacity:h.opacity,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,colorbar:h.colorbar,line:c({width:p.width},s("marker.line")),gradient:h.gradient},s("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:i.fillcolor,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1160:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../scatter/colorscale_calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection"),l=t("../../lib")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),h=0;h<c;h++){var f=u[h]={};if(r){var p=e.locations[h];f.loc="string"==typeof p?p:null}else{var d=e.lon[h],g=e.lat[h];n(d)&&n(g)?f.lonlat=[+d,+g]:f.lonlat=[a,a]}}return o(u,e),i(t,e),s(u,e),c&&(u[0].t={labels:{lat:l(t,"lat:")+" ",lon:l(t,"lon:")+" "}}),u}},{"../../constants/numerical":692,"../../lib":716,"../scatter/arrays_to_calcdata":1117,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1161:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}!function(t,e,r){var n,a,i=0,o=r("locations");if(o)return r("locationmode"),i=o.length;return n=r("lon")||[],a=r("lat")||[],i=Math.min(n.length,a.length),e._length=i,i}(0,e,h)?e.visible=!1:(h("text"),h("hovertext"),h("hovertemplate"),h("mode"),a.hasLines(e)&&(o(t,e,r,u,h),h("connectgaps")),a.hasMarkers(e)&&i(t,e,r,u,h,{gradient:!0}),a.hasText(e)&&(h("texttemplate"),s(t,e,u,h)),h("fill"),"none"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h))}},{"../../lib":716,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1159}],1162:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1163:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.geo]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{"../../plots/cartesian/axes":764}],1164:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../constants/numerical").BADNUM,i=t("../scatter/get_trace_color"),o=t("../../lib").fillText,s=t("./attributes");e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=f.projection.isLonLatOverEdges,d=f.project;if(n.getClosest(l,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=d(n),o=d([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)},t),!1!==t.index){var g=l[t.index],v=g.lonlat,m=[u.c2p(v),h.c2p(v)],y=g.mrc||1;t.x0=m[0]-y,t.x1=m[0]+y,t.y0=m[1]-y,t.y1=m[1]+y,t.loc=g.loc,t.lon=v[0],t.lat=v[1];var x={};x[c.geo]={_subplot:f};var b=c._module.formatLabels(g,c,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=i(c,g),t.extraText=function(t,e,r,n){if(t.hovertemplate)return;var a=e.hi||t.hoverinfo,i="all"===a?s.hoverinfo.flags:a.split("+"),l=-1!==i.indexOf("location")&&Array.isArray(t.locations),c=-1!==i.indexOf("lon"),u=-1!==i.indexOf("lat"),h=-1!==i.indexOf("text"),f=[];function p(t){return t+"\xb0"}l?f.push(e.loc):c&&u?f.push("("+p(r.lonLabel)+", "+p(r.latLabel)+")"):c?f.push(n.lon+p(r.lonLabel)):u&&f.push(n.lat+p(r.latLabel));h&&o(e,t,f);return f.join("<br>")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128,"./attributes":1159}],1165:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:t("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":794,"../scatter/marker_colorbar":1136,"../scatter/style":1141,"./attributes":1159,"./calc":1160,"./defaults":1161,"./event_data":1162,"./format_labels":1163,"./hover":1164,"./plot":1166,"./select":1167,"./style":1168}],1166:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function h(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),a=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(a,c.loc,n);c.lonlat=u?u.properties.ct:[i,i]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)h(r[o],e.topojson);function s(t,e){t.lonlat[0]===i&&n.select(e).remove()}var f=e.layers.frontplot.select(".scatterlayer"),p=a.makeTraceGroups(f,r,"trace scattergeo");p.selectAll("*").remove(),p.each(function(e){var r=n.select(this),i=e[0].trace;if(c.hasLines(i)||"none"!==i.fill){var o=l.calcTraceToLineCoords(e),h="none"!==i.fill?l.makePolygon(o):l.makeLine(o);r.selectAll("path.js-line").data([{geojson:h,trace:i}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}c.hasMarkers(i)&&r.selectAll("path.point").data(a.identity).enter().append("path").classed("point",!0).each(function(t){s(t,this)}),c.hasText(i)&&r.selectAll("g").data(a.identity).enter().append("g").append("text").each(function(t){s(t,this)}),u(t,e)})}},{"../../constants/numerical":692,"../../lib":716,"../../lib/geo_location_utils":710,"../../lib/geojson_utils":711,"../../lib/topojson_utils":743,"../scatter/subtypes":1142,"./style":1168,d3:164}],1167:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,i,o,s,l,c=t.cd,u=t.xaxis,h=t.yaxis,f=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(i=(r=c[l]).lonlat)[0]!==a&&(o=u.c2p(i),s=h.c2p(i),e.contains([o,s],null,l,t)?(f.push({pointNumber:l,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0);return f}},{"../../constants/numerical":692,"../scatter/subtypes":1142}],1168:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../scatter/style"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style("opacity",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll("path.js-line").style("fill","none").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(i.stroke,o.color).call(a.dashLine,o.dash||"",o.width||0),"none"!==r.fill&&e.call(i.fill,r.fillcolor)})}(t,e)}},{"../../components/color":591,"../../components/drawing":612,"../scatter/style":1141,d3:164}],1169:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=t("./constants").DASHES,c=a.line,u=a.marker,h=u.line,f=e.exports=s({x:a.x,x0:a.x0,dx:a.dx,y:a.y,y0:a.y0,dy:a.dy,text:a.text,hovertext:a.hovertext,textposition:a.textposition,textfont:a.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:c.color,width:c.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},marker:o({},i("marker"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},i("marker.line"),{width:h.width})}),connectgaps:a.connectgaps,fill:o({},a.fill,{dflt:"none"}),fillcolor:a.fillcolor,selected:{marker:a.selected.marker,textfont:a.selected.textfont},unselected:{marker:a.unselected.marker,textfont:a.unselected.textfont},opacity:n.opacity},"calc","nested");f.x.editType=f.y.editType=f.x0.editType=f.y0.editType="calc+clearAxisTypes",f.hovertemplate=a.hovertemplate,f.texttemplate=a.texttemplate},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../scatter/attributes":1118,"./constants":1171}],1170:[function(t,e,r){"use strict";var n=t("point-cluster"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids"),o=t("../../plots/cartesian/autorange").findExtremes,s=t("../scatter/calc"),l=s.calcMarkerSize,c=s.calcAxisExpansion,u=s.setFirstScatter,h=t("../scatter/colorscale_calc"),f=t("./convert"),p=t("./scene_update"),d=t("../../constants/numerical").BADNUM,g=t("./constants").TOO_MANY_POINTS;function v(t,e,r){var n=t._extremes[e._id],a=o(e,r._bnds,{padded:!0});n.min=n.min.concat(a.min),n.max=n.max.concat(a.max)}e.exports=function(t,e){var r,o,s,m=t._fullLayout,y=i.getFromId(t,e.xaxis),x=i.getFromId(t,e.yaxis),b=m._plots[e.xaxis+e.yaxis],_=e._length,w=_>=g,k=2*_,T={},A=e._x=y.makeCalcdata(e,"x"),M=e._y=x.makeCalcdata(e,"y"),S=new Array(k);for(r=0;r<_;r++)o=A[r],s=M[r],S[2*r]=o===d?NaN:o,S[2*r+1]=s===d?NaN:s;if("log"===y.type)for(r=0;r<k;r+=2)S[r]=y.c2l(S[r]);if("log"===x.type)for(r=1;r<k;r+=2)S[r]=x.c2l(S[r]);if(w&&"log"!==y.type&&"log"!==x.type)T.tree=n(S);else{var E=T.ids=new Array(_);for(r=0;r<_;r++)E[r]=r}h(t,e);var L,C=function(t,e,r,n,i,o){var s=f.style(t,r);s.marker&&(s.marker.positions=n);s.line&&n.length>1&&a.extendFlat(s.line,f.linePositions(t,r,n));if(s.errorX||s.errorY){var l=f.errorBarPositions(t,r,n,i,o);s.errorX&&a.extendFlat(s.errorX,l.x),s.errorY&&a.extendFlat(s.errorY,l.y)}s.text&&(a.extendFlat(s.text,{positions:n},f.textPosition(t,r,s.text,s.marker)),a.extendFlat(s.textSel,{positions:n},f.textPosition(t,r,s.text,s.markerSel)),a.extendFlat(s.textUnsel,{positions:n},f.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,S,A,M),P=p(t,b);return u(m,e),w?C.marker&&(L=2*(C.marker.sizeAvg||Math.max(C.marker.size,3))):L=l(e,_),c(t,e,y,x,A,M,L),C.errorX&&v(e,y,C.errorX),C.errorY&&v(e,x,C.errorY),C.fill&&!P.fill2d&&(P.fill2d=!0),C.marker&&!P.scatter2d&&(P.scatter2d=!0),C.line&&!P.line2d&&(P.line2d=!0),!C.errorX&&!C.errorY||P.error2d||(P.error2d=!0),C.text&&!P.glText&&(P.glText=!0),C.marker&&(C.marker.snap=_),P.lineOptions.push(C.line),P.errorXOptions.push(C.errorX),P.errorYOptions.push(C.errorY),P.fillOptions.push(C.fill),P.markerOptions.push(C.marker),P.markerSelectedOptions.push(C.markerSel),P.markerUnselectedOptions.push(C.markerUnsel),P.textOptions.push(C.text),P.textSelectedOptions.push(C.textSel),P.textUnselectedOptions.push(C.textUnsel),P.selectBatch.push([]),P.unselectBatch.push([]),T._scene=P,T.index=P.count,T.x=A,T.y=M,T.positions=S,P.count++,[{x:!1,y:!1,t:T,trace:e}]}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/autorange":763,"../../plots/cartesian/axis_ids":767,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"./constants":1171,"./convert":1172,"./scene_update":1179,"point-cluster":470}],1171:[function(t,e,r){"use strict";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1172:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("svg-path-sdf"),i=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/subtypes"),f=t("../scatter/make_bubble_size_func"),p=t("./constants"),d=t("../../constants/interactions").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t("../../components/fx/helpers").appendArrayPointValue;function m(t,e){var r,a=t._fullLayout,i=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,h=o.size,f=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=a._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,i):i,x=m?function(t){return d[t]}:function(){return d};for(r=0;r<y;r++){var b={i:r},_=e._module.formatLabels(b,e,a),w={};v(w,e,r);var k=e._meta||{};p.text.push(s.texttemplateString(x(r),_,g,w,b,k))}}else Array.isArray(e.text)&&e.text.length<i?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<i;r++)p.text[r]="";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<c.length;r++){var T=c[r].split(/\s+/);switch(T[1]){case"left":p.align.push("right");break;case"right":p.align.push("left");break;default:p.align.push(T[1])}switch(T[0]){case"top":p.baseline.push("bottom");break;case"bottom":p.baseline.push("top");break;default:p.baseline.push(T[0])}}if(Array.isArray(u))for(p.color=new Array(i),r=0;r<i;r++)p.color[r]=u[r];else p.color=u;if(Array.isArray(h)||Array.isArray(f))for(p.font=new Array(i),r=0;r<i;r++){var A=p.font[r]={};A.size=Array.isArray(h)?n(h[r])?h[r]:0:h,A.family=Array.isArray(f)?f[r]:f}else p.font={size:h,family:f};return p}function y(t){var e,r,n=t._length,a=t.marker,o={},l=Array.isArray(a.symbol),c=s.isArrayOrTypedArray(a.color),h=s.isArrayOrTypedArray(a.line.color),d=s.isArrayOrTypedArray(a.opacity),g=s.isArrayOrTypedArray(a.size),v=s.isArrayOrTypedArray(a.line.width);if(l||(r=p.OPEN_RE.test(a.symbol)),l||c||h||d){o.colors=new Array(n),o.borderColors=new Array(n);var m=u(a,a.opacity,n),y=u(a.line,a.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(m[0])){var b=m;for(m=Array(n),e=0;e<n;e++)m[e]=b}for(o.colors=m,o.borderColors=y,e=0;e<n;e++){if(l){var _=a.symbol[e];r=p.OPEN_RE.test(_)}r&&(y[e]=m[e].slice(),m[e]=m[e].slice(),m[e][3]=0)}o.opacity=t.opacity}else r?(o.color=i(a.color,"uint8"),o.color[3]=0,o.borderColor=i(a.color,"uint8")):(o.color=i(a.color,"uint8"),o.borderColor=i(a.line.color,"uint8")),o.opacity=t.opacity*a.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=S(a.symbol[e]);else o.marker=S(a.symbol);var w,k=f(t);if(g||v){var T,A=o.sizes=new Array(n),M=o.borderSizes=new Array(n),E=0;if(g){for(e=0;e<n;e++)A[e]=k(a.size[e]),E+=A[e];T=E/n}else for(w=k(a.size),e=0;e<n;e++)A[e]=w;if(v)for(e=0;e<n;e++)M[e]=a.line.width[e]/2;else for(w=a.line.width/2,e=0;e<n;e++)M[e]=w;o.sizeAvg=T}else o.size=k(a&&a.size||10),o.borderSizes=k(a.line.width);return o}function x(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=y(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function b(t,e,r){var n={};if(!r)return n;if(r.textfont){var a={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(a.textfont,r.textfont),n=m(t,a)}return n}function _(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var w=p.SYMBOL_SDF_SIZE,k=p.SYMBOL_SIZE,T=p.SYMBOL_STROKE,A={},M=l.symbolFuncs[0](.05*k);function S(t){if("circle"===t)return null;var e,r,n=l.symbolNumber(t),i=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.DOT_RE.test(t);return A[t]?A[t]:(e=c&&!o?i(1.1*k)+M:i(k),r=a(e,{w:w,h:w,viewBox:[-k,-k,k,k],stroke:s?T:-T}),A[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(h.hasText(e)&&(n.text=m(t,e),n.textSel=b(t,e,e.selected),n.textUnsel=b(t,e,e.unselected)),h.hasMarkers(e)&&(n.marker=y(e),n.markerSel=x(e,e.selected),n.markerUnsel=x(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var a=e.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=d*a[r]}if(h.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var i=(p.DASHES[e.line.dash]||[1]).slice();for(r=0;r<i.length;++r)i[r]*=e.line.width;n.line.dashes=i}return e.error_x&&e.error_x.visible&&(n.errorX=_(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=_(e,e.error_y)),e.fill&&"none"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:y,markerSelection:x,linePositions:function(t,e,r){var n,a,i=r.length,o=i/2;if(h.hasLines(e)&&o)if("hv"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a+2],r[2*a+1]));n.push(r[i-2],r[i-1])}else if("hvh"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var s=(r[2*a]+r[2*a+2])/2;n.push(r[2*a],r[2*a+1],s,r[2*a+1],s,r[2*a+3])}n.push(r[i-2],r[i-1])}else if("vhv"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var l=(r[2*a+1]+r[2*a+3])/2;n.push(r[2*a],r[2*a+1],r[2*a],l,r[2*a+2],l)}n.push(r[i-2],r[i-1])}else if("vh"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+3]));n.push(r[i-2],r[i-1])}else n=r;var c=!1;for(a=0;a<n.length;a++)if(isNaN(n[a])){c=!0;break}var u=c||n.length>p.TOO_MANY_POINTS?"rect":h.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var f=n[0],d=n[1];for(a=0;a<n.length;a+=2)isNaN(n[a])||isNaN(n[a+1])?(n[a]=f,n[a+1]=d):(f=n[a],d=n[a+1])}return{join:u,positions:n}},errorBarPositions:function(t,e,r,a,i){var s=o.getComponentMethod("errorbars","makeComputeError"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),h=r.length/2,f={};function p(t,a){var i=a._id.charAt(0),o=e["error_"+i];if(o&&o.visible&&("linear"===a.type||"log"===a.type)){for(var l=s(o),c={x:0,y:1}[i],u={x:[0,1,2,3],y:[2,3,0,1]}[i],p=new Float64Array(4*h),d=1/0,g=-1/0,v=0,m=0;v<h;v++,m+=4){var y=t[v];if(n(y)){var x=r[2*v+c],b=l(y,v),_=b[0],w=b[1];if(n(_)&&n(w)){var k=y-_,T=y+w;p[m+u[0]]=x-a.c2l(k),p[m+u[1]]=a.c2l(T)-x,p[m+u[2]]=0,p[m+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}f[i]={positions:r,errors:p,_bnds:[d,g]}}}return p(a,l),p(i,u),f},textPosition:function(t,e,r,n){var a,i=e._length,o={};if(h.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(i),a=0;a<i;a++){var u=n.sizes?n.sizes[a]:n.size,f=Array.isArray(s)?s[a].size:s.size,p=Array.isArray(l)?l.length>1?l[a]:l[0]:l,d=Array.isArray(c)?c.length>1?c[a]:c[0]:c,v=g[p],m=g[d],y=u?u/.8+1:0,x=-m*y-.5*m;o.offset[a]=[v*y/f,x/f]}}return o}}},{"../../components/drawing":612,"../../components/fx/helpers":626,"../../constants/interactions":691,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../scatter/make_bubble_size_func":1135,"../scatter/subtypes":1142,"./constants":1171,"color-normalize":121,"fast-isnumeric":227,"svg-path-sdf":533}],1173:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../scatter/constants"),s=t("../scatter/subtypes"),l=t("../scatter/xy_defaults"),c=t("../scatter/marker_defaults"),u=t("../scatter/line_defaults"),h=t("../scatter/fillcolor_defaults"),f=t("../scatter/text_defaults");e.exports=function(t,e,r,p){function d(r,a){return n.coerce(t,e,i,r,a)}var g=!!t.marker&&/-open/.test(t.marker.symbol),v=s.isBubble(t),m=l(t,e,p,d);if(m){var y=m<o.PTS_LINESONLY?"lines+markers":"lines";d("text"),d("hovertext"),d("hovertemplate"),d("mode",y),s.hasLines(e)&&(d("connectgaps"),u(t,e,r,p,d),d("line.shape")),s.hasMarkers(e)&&(c(t,e,r,p,d),d("marker.line.width",g||v?1:0)),s.hasText(e)&&(d("texttemplate"),f(t,e,p,d));var x=(e.line||{}).color,b=(e.marker||{}).color;d("fill"),"none"!==e.fill&&h(t,e,r,d);var _=a.getComponentMethod("errorbars","supplyDefaults");_(t,e,x||b||r,{axis:"y"}),_(t,e,x||b||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{"../../lib":716,"../../registry":845,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"../scatter/xy_defaults":1144,"./attributes":1169}],1174:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../constants/interactions").DESELECTDIM;e.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],f=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},g=c.textUnselectedOptions[u]||{},v=n.extendFlat({},p);if(h.length||f.length){var m=d.color,y=g.color,x=p.color,b=Array.isArray(x);for(v.color=new Array(s._length),e=0;e<h.length;e++)r=h[e],v.color[r]=m||(b?x[r]:x);for(e=0;e<f.length;e++){r=f[e];var _=b?x[r]:x;v.color[r]=y||(m?_:a.addOpacity(_,i))}}c.glText[u].update(v)}}},{"../../components/color":591,"../../constants/interactions":691,"../../lib":716}],1175:[function(t,e,r){"use strict";var n=t("../scatter/format_labels");e.exports=function(t,e,r){var a=t.i;return"x"in t||(t.x=e._x[a]),"y"in t||(t.y=e._y[a]),n(t,e,r)}},{"../scatter/format_labels":1127}],1176:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../scatter/get_trace_color");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=Array.isArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=Array.isArray(p.size)?p.size[h]:p.size,f.tc=Array.isArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family);var d=o.marker;d&&(f.ms=a.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=a.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=Array.isArray(d.symbol)?d.symbol[h]:d.symbol,f.mc=a.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var g=d&&d.line;g&&(f.mlc=Array.isArray(g.color)?g.color[h]:g.color,f.mlw=a.isArrayOrTypedArray(g.width)?g.width[h]:g.width);var v=d&&d.gradient;v&&"none"!==v.type&&(f.mgt=Array.isArray(v.type)?v.type[h]:v.type,f.mgc=Array.isArray(v.color)?v.color[h]:v.color);var m=s.c2p(f.x,!0),y=l.c2p(f.y,!0),x=f.mrc||1,b=o.hoverlabel;b&&(f.hbg=Array.isArray(b.bgcolor)?b.bgcolor[h]:b.bgcolor,f.hbc=Array.isArray(b.bordercolor)?b.bordercolor[h]:b.bordercolor,f.hts=Array.isArray(b.font.size)?b.font.size[h]:b.font.size,f.htc=Array.isArray(b.font.color)?b.font.color[h]:b.font.color,f.htf=Array.isArray(b.font.family)?b.font.family[h]:b.font.family,f.hnl=Array.isArray(b.namelength)?b.namelength[h]:b.namelength);var _=o.hoverinfo;_&&(f.hi=Array.isArray(_)?_[h]:_);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var k={};k[t.index]=f;var T=a.extendFlat({},t,{color:i(o,f),x0:m-x,x1:m+x,xLabelVal:f.x,y0:y-x,y1:y+x,yLabelVal:f.y,cd:k,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?T.text=f.htx:f.tx?T.text=f.tx:o.text&&(T.text=o.text),a.fillText(f,o,T),n.getComponentMethod("errorbars","hoverInfo")(f,o,T),T}e.exports={hoverPoints:function(t,e,r,n){var a,i,s,l,c,u,h,f,p,d=t.cd,g=d[0].t,v=d[0].trace,m=t.xa,y=t.ya,x=g.x,b=g.y,_=m.c2p(e),w=y.c2p(r),k=t.distance;if(g.tree){var T=m.p2c(_-k),A=m.p2c(_+k),M=y.p2c(w-k),S=y.p2c(w+k);a="x"===n?g.tree.range(Math.min(T,A),Math.min(y._rl[0],y._rl[1]),Math.max(T,A),Math.max(y._rl[0],y._rl[1])):g.tree.range(Math.min(T,A),Math.min(M,S),Math.max(T,A),Math.max(M,S))}else a=g.ids;var E=k;if("x"===n)for(c=0;c<a.length;c++)s=x[a[c]],(u=Math.abs(m.c2p(s)-_))<E&&(E=u,h=y.c2p(b[a[c]])-w,p=Math.sqrt(u*u+h*h),i=a[c]);else for(c=a.length-1;c>-1;c--)s=x[a[c]],l=b[a[c]],u=m.c2p(s)-_,h=y.c2p(l)-w,(f=Math.sqrt(u*u+h*h))<E&&(E=p=f,i=a[c]);return t.index=i,t.distance=E,t.dxy=p,void 0===i?[t]:[o(t,x,b,v)]},calcHover:o}},{"../../lib":716,"../../registry":845,"../scatter/get_trace_color":1128}],1177:[function(t,e,r){"use strict";var n=t("./hover");e.exports={moduleType:"trace",name:"scattergl",basePlotModule:t("../../plots/cartesian"),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../scatter/cross_trace_defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:n.hoverPoints,selectPoints:t("./select"),meta:{}}},{"../../plots/cartesian":775,"../scatter/cross_trace_defaults":1124,"../scatter/marker_colorbar":1136,"./attributes":1169,"./calc":1170,"./defaults":1173,"./format_labels":1175,"./hover":1176,"./plot":1178,"./select":1180}],1178:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),a=t("regl-line2d"),i=t("regl-error2d"),o=t("gl-text"),s=t("../../lib"),l=t("../../lib/prepare_regl"),c=t("../scatter/subtypes"),u=t("../scatter/link_traces"),h=t("./edit_style").styleTextSelection;e.exports=function(t,e,r){if(r.length){var f,p,d=t._fullLayout,g=e._scene,v=e.xaxis,m=e.yaxis;if(g)if(l(t,["ANGLE_instanced_arrays","OES_element_index_uint"])){var y=g.count,x=d._glcanvas.data()[0].regl;if(u(t,e,r),g.dirty){if(!0===g.error2d&&(g.error2d=i(x)),!0===g.line2d&&(g.line2d=a(x)),!0===g.scatter2d&&(g.scatter2d=n(x)),!0===g.fill2d&&(g.fill2d=a(x)),!0===g.glText)for(g.glText=new Array(y),f=0;f<y;f++)g.glText[f]=new o(x);if(g.glText){if(y>g.glText.length){var b=y-g.glText.length;for(f=0;f<b;f++)g.glText.push(new o(x))}else if(y<g.glText.length){var _=g.glText.length-y;g.glText.splice(y,_).forEach(function(t){t.destroy()})}for(f=0;f<y;f++)g.glText[f].update(g.textOptions[f])}if(g.line2d&&(g.line2d.update(g.lineOptions),g.lineOptions=g.lineOptions.map(function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t}),g.line2d.update(g.lineOptions)),g.error2d){var w=(g.errorXOptions||[]).concat(g.errorYOptions||[]);g.error2d.update(w)}g.scatter2d&&g.scatter2d.update(g.markerOptions),g.fillOrder=s.repeat(null,y),g.fill2d&&(g.fillOptions=g.fillOptions.map(function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var a,i,o=n[0],s=o.trace,l=o.t,c=g.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(g.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(h=0;h<d.length&&isNaN(d[h+1]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if("tozerox"===s.fill){for(h=0;h<d.length&&isNaN(d[h]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],a=0,i=0;i<d.length;i+=2)(isNaN(d[i])||isNaN(d[i+1]))&&((p=p.concat(d.slice(a,i))).push(d[a],d[a+1]),a=i+2);p=p.concat(d.slice(a)),a&&p.push(d[a],d[a+1])}else{var v=s._nexttrace;if(v){var m=g.lineOptions[e+1];if(m){var y=m.positions;if("tonexty"===s.fill){for(p=d.slice(),e=Math.floor(y.length/2);e--;){var x=y[2*e],b=y[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=v.fillcolor}}}}if(s._prevtrace&&"tonext"===s._prevtrace.fill){var _=g.lineOptions[e-1].positions,w=p.length/2,k=[a=w];for(i=0;i<_.length;i+=2)(isNaN(_[i])||isNaN(_[i+1]))&&(k.push(i/2+w+1),a=i+2);p=p.concat(_),t.hole=k}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}}),g.fill2d.update(g.fillOptions))}var k=d.dragmode,T="lasso"===k||"select"===k,A=d.clickmode.indexOf("select")>-1;for(f=0;f<y;f++){var M=r[f][0],S=M.trace,E=M.t,L=E.index,C=S._length,P=E.x,O=E.y;if(S.selectedpoints||T||A){if(T||(T=!0),S.selectedpoints){var z=g.selectBatch[L]=s.selIndices2selPoints(S),I={};for(p=0;p<z.length;p++)I[z[p]]=1;var D=[];for(p=0;p<C;p++)I[p]||D.push(p);g.unselectBatch[L]=D}var R=E.xpx=new Array(C),F=E.ypx=new Array(C);for(p=0;p<C;p++)R[p]=v.c2p(P[p]),F[p]=m.c2p(O[p])}else E.xpx=E.ypx=null}if(T){if(g.select2d||(g.select2d=n(d._glcanvas.data()[1].regl)),g.scatter2d){var B=new Array(y);for(f=0;f<y;f++)B[f]=g.selectBatch[f].length||g.unselectBatch[f].length?g.markerUnselectedOptions[f]:{};g.scatter2d.update(B)}g.select2d&&(g.select2d.update(g.markerOptions),g.select2d.update(g.markerSelectedOptions)),g.glText&&r.forEach(function(t){var e=((t||[])[0]||{}).trace||{};c.hasText(e)&&h(t)})}else g.scatter2d&&g.scatter2d.update(g.markerOptions);var N={viewport:function(t,e,r){var n=t._size,a=t.width,i=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,a-n.r-(1-e.domain[1])*n.w,i-n.t-(1-r.domain[1])*n.h]}(d,v,m),range:[(v._rl||v.range)[0],(m._rl||m.range)[0],(v._rl||v.range)[1],(m._rl||m.range)[1]]},j=s.repeat(N,g.count);g.fill2d&&g.fill2d.update(j),g.line2d&&g.line2d.update(j),g.error2d&&g.error2d.update(j.concat(j)),g.scatter2d&&g.scatter2d.update(j),g.select2d&&g.select2d.update(j),g.glText&&g.glText.forEach(function(t){t.update(N)})}else g.init()}}},{"../../lib":716,"../../lib/prepare_regl":729,"../scatter/link_traces":1134,"../scatter/subtypes":1142,"./edit_style":1174,"gl-text":318,"regl-error2d":491,"regl-line2d":492,"regl-scatter2d":498}],1179:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=e._scene,a={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},i={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,i,a)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var a=0;a<r.count;a++)r.glText[a].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,a=r.error2d,i=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,c=r.selectBatch,u=r.unselectBatch,h=0;h<t;h++){if(e&&r.fillOrder[h]&&e.draw(r.fillOrder[h]),i&&r.lineOptions[h]&&i.draw(h),a&&(r.errorXOptions[h]&&a.draw(h),r.errorYOptions[h]&&a.draw(h+t)),o&&r.markerOptions[h])if(u[h].length){var f=n.repeat([],r.count);f[h]=u[h],o.draw(f)}else c[h].length||o.draw(h);s[h]&&r.textOptions[h]&&s[h].render()}l&&l.draw(c),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach(function(t){t.destroy&&t.destroy()}),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,a),r}},{"../../lib":716}],1180:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),a=t("./edit_style").styleTextSelection;e.exports=function(t,e){var r=t.cd,i=[],o=r[0].trace,s=r[0].t,l=o._length,c=s.x,u=s.y,h=s._scene,f=s.index;if(!h)return i;var p=n.hasText(o),d=n.hasMarkers(o),g=!d&&!p;if(!0!==o.visible||g)return i;var v=[],m=[];if(!1!==e&&!e.degenerate)for(var y=0;y<l;y++)e.contains([s.xpx[y],s.ypx[y]],!1,y,t)?(v.push(y),i.push({pointNumber:y,x:c[y],y:u[y]})):m.push(y);if(d){var x=h.scatter2d;if(v.length||m.length){if(!h.selectBatch[f].length&&!h.unselectBatch[f].length){var b=new Array(h.count);b[f]=h.markerUnselectedOptions[f],x.update.apply(x,b)}}else{var _=new Array(h.count);_[f]=h.markerOptions[f],x.update.apply(x,_)}}return h.selectBatch[f]=v,h.unselectBatch[f]=m,p&&a(r),i}},{"../scatter/subtypes":1142,"./edit_style":1174}],1181:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scattergeo/attributes"),o=t("../scatter/attributes"),s=t("../../plots/mapbox/layout_attributes"),l=t("../../plots/attributes"),c=t("../../components/colorscale/attributes"),u=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll,f=i.line,p=i.marker;e.exports=h({lon:i.lon,lat:i.lat,mode:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:a({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:u({},o.hovertext,{}),line:{color:f.color,width:f.width},connectgaps:o.connectgaps,marker:u({symbol:{valType:"string",dflt:"circle",arrayOk:!0},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},c("marker")),fill:i.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:"string"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:u({},l.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/mapbox/layout_attributes":821,"../../plots/template_attributes":840,"../scatter/attributes":1118,"../scattergeo/attributes":1159}],1182:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM,o=t("../../lib/geojson_utils"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../scatter/make_bubble_size_func"),u=t("../scatter/subtypes"),h=t("../../plots/mapbox/convert_text_opts"),f=t("../../components/fx/helpers").appendArrayPointValue,p=t("../../lib/svg_text_utils").NEWLINES,d=t("../../lib/svg_text_utils").BR_TAG_ALL;function g(){return{geojson:o.makeBlank(),layout:{visibility:"none"},paint:{}}}function v(t){return a.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:m}function m(){return""}function y(t){return t[0]===i}e.exports=function(t,e){var r,i=e[0].trace,x=!0===i.visible&&0!==i._length,b="none"!==i.fill,_=u.hasLines(i),w=u.hasMarkers(i),k=u.hasText(i),T=w&&"circle"===i.marker.symbol,A=w&&"circle"!==i.marker.symbol,M=g(),S=g(),E=g(),L=g(),C={fill:M,line:S,circle:E,symbol:L};if(!x)return C;if((b||_)&&(r=o.calcTraceToLineCoords(e)),b&&(M.geojson=o.makePolygon(r),M.layout.visibility="visible",a.extendFlat(M.paint,{"fill-color":i.fillcolor})),_&&(S.geojson=o.makeLine(r),S.layout.visibility="visible",a.extendFlat(S.paint,{"line-width":i.line.width,"line-color":i.line.color,"line-opacity":i.opacity})),T){var P=function(t){var e,r,i,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=a.isArrayOrTypedArray(h.color),d=a.isArrayOrTypedArray(h.size),g=a.isArrayOrTypedArray(h.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(h):a.identity);d&&(i=c(u));g&&(o=function(t){var e=n(t)?+a.constrain(t,0,1):0;return v(e)});var m,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!y(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),i&&(w.mrc=b.mrc=i(b.ms)),o&&(w.mo=o(b.mo)),f&&(w.selected=b.selected||0),x.push({type:"Feature",geometry:{type:"Point",coordinates:_},properties:w})}}if(f)for(m=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;m.selectedOpacityFn&&(k.mo=v(m.selectedOpacityFn(k))),m.selectedColorFn&&(k.mcc=m.selectedColorFn(k)),m.selectedSizeFn&&(k.mrc=m.selectedSizeFn(k))}return{geojson:{type:"FeatureCollection",features:x},mcc:p||m&&m.selectedColorFn?{type:"identity",property:"mcc"}:h.color,mrc:d||m&&m.selectedSizeFn?{type:"identity",property:"mrc"}:(T=h.size,T/2),mo:g||m&&m.selectedOpacityFn?{type:"identity",property:"mo"}:v(h.opacity)};var T}(e);E.geojson=P.geojson,E.layout.visibility="visible",a.extendFlat(E.paint,{"circle-color":P.mcc,"circle-radius":P.mrc,"circle-opacity":P.mo})}if((A||k)&&(L.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,i=(n.marker||{}).symbol,o="circle"!==i?v(i):m,s=u.hasText(n)?v(n.text):m,l=[],c=0;c<t.length;c++){var h=t[c];if(!y(h.lonlat)){var g,x=n.texttemplate;if(x){var b=Array.isArray(x)?x[c]||"":x,_=n._module.formatLabels(h,n,r),w={};f(w,n,h.i);var k=n._meta||{};g=a.texttemplateString(b,_,r._d3locale,w,h,k)}else g=s(h.tx);g&&(g=g.replace(p,"").replace(d,"\n")),l.push({type:"Feature",geometry:{type:"Point",coordinates:h.lonlat},properties:{symbol:o(h.mx),text:g}})}}return{type:"FeatureCollection",features:l}}(e,t),a.extendFlat(L.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),A&&(a.extendFlat(L.layout,{"icon-size":i.marker.size/10}),a.extendFlat(L.paint,{"icon-opacity":i.opacity*i.marker.opacity,"icon-color":i.marker.color})),k)){var O=(i.marker||{}).size,z=h(i.textposition,O);a.extendFlat(L.layout,{"text-size":i.textfont.size,"text-anchor":z.anchor,"text-offset":z.offset}),a.extendFlat(L.paint,{"text-color":i.textfont.color,"text-opacity":i.opacity})}return C}},{"../../components/colorscale":603,"../../components/drawing":612,"../../components/fx/helpers":626,"../../constants/numerical":692,"../../lib":716,"../../lib/geojson_utils":711,"../../lib/svg_text_utils":740,"../../plots/mapbox/convert_text_opts":818,"../scatter/make_bubble_size_func":1135,"../scatter/subtypes":1142,"fast-isnumeric":227}],1183:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}if(function(t,e,r){var n=r("lon")||[],a=r("lat")||[],i=Math.min(n.length,a.length);return e._length=i,i}(0,e,h)){if(h("text"),h("texttemplate"),h("hovertext"),h("hovertemplate"),h("mode"),h("below"),a.hasLines(e)&&(o(t,e,r,u,h,{noDash:!0}),h("connectgaps")),a.hasMarkers(e)){i(t,e,r,u,h,{noLine:!0});var f=e.marker;"circle"!==f.symbol&&(n.isArrayOrTypedArray(f.size)&&(f.size=f.size[0]),n.isArrayOrTypedArray(f.color)&&(f.color=f.color[0]))}a.hasText(e)&&s(t,e,u,h,{noSelect:!0}),h("fill"),"none"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{"../../lib":716,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1181}],1184:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1185:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{"../../plots/cartesian/axes":764}],1186:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../scatter/get_trace_color"),o=a.fillText,s=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=a.modHalf(e[0],360),i=e[1],o=f.project([n,i]),l=o.x-u.c2p([d,i]),c=o.y-h.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],v=g.lonlat,m=[a.modHalf(v[0],360)+p,v[1]],y=u.c2p(m),x=h.c2p(m),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:f};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=i(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split("+"),a=-1!==n.indexOf("all"),i=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}a||i&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):i?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("<br>")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128}],1187:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("../scattergeo/calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":819,"../scatter/marker_colorbar":1136,"../scattergeo/calc":1160,"./attributes":1181,"./defaults":1183,"./event_data":1184,"./format_labels":1185,"./hover":1186,"./plot":1188,"./select":1189}],1188:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix,i=["fill","line","circle","symbol"];function o(t,e){this.type="scattermapbox",this.subplot=t,this.uid=e,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,a,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup["trace-"+this.uid];if(c!==this.below){for(e=i.length-1;e>=0;e--)r=i[e],s.removeLayer(this.layerIds[r]);for(e=0;e<i.length;e++)a=l[r=i[e]],this.addLayer(r,a,c);this.below=c}for(e=0;e<i.length;e++)a=l[r=i[e]],o.setOptions(this.layerIds[r],"setLayoutProperty",a.layout),"visible"===a.layout.visibility&&(this.setSourceData(r,a),o.setOptions(this.layerIds[r],"setPaintProperty",a.paint));t[0].trace._glTrace=this},s.dispose=function(){for(var t=this.subplot.map,e=i.length-1;e>=0;e--){var r=i[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,a=new o(t,r.uid),s=n(t.gd,e),l=a.below=t.belowLookup["trace-"+r.uid],c=0;c<i.length;c++){var u=i[c],h=s[u];a.addSource(u,h),a.addLayer(u,h,l)}return e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":817,"./convert":1182}],1189:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!a.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var h=o[r],f=h.lonlat;if(f[0]!==i){var p=[n.modHalf(f[0],360),f[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:f[0],lat:f[1]}),h.selected=1):h.selected=0}}return c}},{"../../constants/numerical":692,"../../lib":716,"../scatter/subtypes":1142}],1190:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../lib/extend").extendFlat,o=t("../scatter/attributes"),s=t("../../plots/attributes"),l=o.line;e.exports={mode:o.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:a({editType:"plot"},{keys:["r","theta","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:i({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:i({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:i({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:i({},s.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1191:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../plots/cartesian/axes"),o=t("../scatter/colorscale_calc"),s=t("../scatter/arrays_to_calcdata"),l=t("../scatter/calc_selection"),c=t("../scatter/calc").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,h=r[u].radialaxis,f=r[u].angularaxis,p=h.makeCalcdata(e,"r"),d=f.makeCalcdata(e,"theta"),g=e._length,v=new Array(g),m=0;m<g;m++){var y=p[m],x=d[m],b=v[m]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=a}var _=c(e,g);return e._extremes.x=i.findExtremes(h,p,{ppad:_}),o(t,e),s(v,e),l(v,e),v}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764,"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1192:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/line_shape_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,h=t("./attributes");function f(t,e,r,n){var a,i=n("r"),o=n("theta");if(i)o?a=Math.min(i.length,o.length):(a=i.length,n("theta0"),n("dtheta"));else{if(!o)return 0;a=e.theta.length,n("r0"),n("dr")}return e._length=a,a}e.exports={handleRThetaDefaults:f,supplyDefaults:function(t,e,r,p){function d(r,a){return n.coerce(t,e,h,r,a)}var g=f(0,e,0,d);if(g){d("thetaunit"),d("mode",g<u?"lines+markers":"lines"),d("text"),d("hovertext"),"fills"!==e.hoveron&&d("hovertemplate"),a.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d("connectgaps")),a.hasMarkers(e)&&i(t,e,r,p,d,{gradient:!0}),a.hasText(e)&&(d("texttemplate"),l(t,e,p,d));var v=[];(a.hasMarkers(e)||a.hasText(e))&&(d("cliponaxis"),d("marker.maxdisplayed"),v.push("points")),d("fill"),"none"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||s(t,e,d)),"tonext"!==e.fill&&"toself"!==e.fill||v.push("fills"),d("hoveron",v.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1190}],1193:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i,o,s={},l=r[e.subplot]._subplot;l?(i=l.radialAxis,o=l.angularAxis):(i=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var c=i.c2l(t.r);s.rLabel=a.tickText(i,c,!0).text;var u="degrees"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=a.tickText(o,u,!0).text,s}},{"../../lib":716,"../../plots/cartesian/axes":764}],1194:[function(t,e,r){"use strict";var n=t("../scatter/hover");function a(t,e,r,n){var a=r.radialAxis,i=r.angularAxis;a._hovertitle="r",i._hovertitle="\u03b8";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+": "+e)}if(!e.hovertemplate){var h=l.split("+");-1!==h.indexOf("all")&&(h=["r","theta","text"]),-1!==h.indexOf("r")&&u(a,n.rLabel),-1!==h.indexOf("theta")&&u(i,n.thetaLabel),-1!==h.indexOf("text")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join("<br>")}}e.exports={hoverPoints:function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,a(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:a}},{"../scatter/hover":1129}],1195:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":828,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1190,"./calc":1191,"./defaults":1192,"./format_labels":1193,"./hover":1194,"./plot":1196}],1196:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var i=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],h=0;h<u.length;h++){var f=u[h],p=f.r;if(p===a)f.x=f.y=a;else{var d=s.c2g(p),g=l.c2g(f.theta);f.x=d*Math.cos(g),f.y=d*Math.sin(g)}}n(t,o,r,i)}},{"../../constants/numerical":692,"../scatter/plot":1138}],1197:[function(t,e,r){"use strict";var n=t("../scatterpolar/attributes"),a=t("../scattergl/attributes"),i=t("../../plots/template_attributes").texttemplateAttrs;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:i({editType:"plot"},{keys:["r","theta","text"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:a.line,connectgaps:a.connectgaps,marker:a.marker,fill:a.fill,fillcolor:a.fillcolor,textposition:a.textposition,textfont:a.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{"../../plots/template_attributes":840,"../scattergl/attributes":1169,"../scatterpolar/attributes":1190}],1198:[function(t,e,r){"use strict";var n=t("../scatter/colorscale_calc"),a=t("../scatter/calc").calcMarkerSize,i=t("../scattergl/convert"),o=t("../../plots/cartesian/axes"),s=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r=t._fullLayout,l=e.subplot,c=r[l].radialaxis,u=r[l].angularaxis,h=e._r=c.makeCalcdata(e,"r"),f=e._theta=u.makeCalcdata(e,"theta"),p=e._length,d={};p<h.length&&(h=h.slice(0,p)),p<f.length&&(f=f.slice(0,p)),d.r=h,d.theta=f,n(t,e);var g,v=d.opts=i.style(t,e);return p<s?g=a(e,p):v.marker&&(g=2*(v.marker.sizeAvg||Math.max(v.marker.size,3))),e._extremes.x=o.findExtremes(c,h,{ppad:g}),[{x:!1,y:!1,t:d,trace:e}]}},{"../../plots/cartesian/axes":764,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"../scattergl/constants":1171,"../scattergl/convert":1172}],1199:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatterpolar/defaults").handleRThetaDefaults,o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d=i(t,e,f,p);d?(p("thetaunit"),p("mode",d<u?"lines+markers":"lines"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),a.hasLines(e)&&(s(t,e,r,f,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,f,p),a.hasText(e)&&(p("texttemplate"),l(t,e,f,p)),p("fill"),"none"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"../scatterpolar/defaults":1192,"./attributes":1197}],1200:[function(t,e,r){"use strict";var n=t("../scatterpolar/format_labels");e.exports=function(t,e,r){var a=t.i;return"r"in t||(t.r=e._r[a]),"theta"in t||(t.theta=e._theta[a]),n(t,e,r)}},{"../scatterpolar/format_labels":1193}],1201:[function(t,e,r){"use strict";var n=t("../scattergl/hover"),a=t("../scatterpolar/hover").makeHoverPointText;e.exports={hoverPoints:function(t,e,r,i){var o=t.cd[0].t,s=o.r,l=o.theta,c=n.hoverPoints(t,e,r,i);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var h=t.subplot,f=u.cd[u.index],p=u.trace;if(f.r=s[u.index],f.theta=l[u.index],h.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,a(f,p,h,u),c}}}},{"../scattergl/hover":1176,"../scatterpolar/hover":1194}],1202:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:t("../../plots/polar"),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scattergl/select"),meta:{}}},{"../../plots/polar":828,"../scatter/marker_colorbar":1136,"../scattergl/select":1180,"./attributes":1197,"./calc":1198,"./defaults":1199,"./format_labels":1200,"./hover":1201,"./plot":1203}],1203:[function(t,e,r){"use strict";var n=t("point-cluster"),a=t("fast-isnumeric"),i=t("../scattergl/plot"),o=t("../scattergl/scene_update"),s=t("../scattergl/convert"),l=t("../../lib"),c=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e,r){if(r.length){var u=e.radialAxis,h=e.angularAxis,f=o(t,e);return r.forEach(function(r){if(r&&r[0]&&r[0].trace){var i,o=r[0],p=o.trace,d=o.t,g=p._length,v=d.r,m=d.theta,y=d.opts,x=v.slice(),b=m.slice();for(i=0;i<v.length;i++)e.isPtInside({r:v[i],theta:m[i]})||(x[i]=NaN,b[i]=NaN);var _=new Array(2*g),w=Array(g),k=Array(g);for(i=0;i<g;i++){var T,A,M=x[i];if(a(M)){var S=u.c2g(M),E=h.c2g(b[i],p.thetaunit);T=S*Math.cos(E),A=S*Math.sin(E)}else T=A=NaN;w[i]=_[2*i]=T,k[i]=_[2*i+1]=A}d.tree=n(_),y.marker&&g>=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!f.fill2d&&(f.fill2d=!0),y.marker&&!f.scatter2d&&(f.scatter2d=!0),y.line&&!f.line2d&&(f.line2d=!0),y.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(y.line),f.fillOptions.push(y.fill),f.markerOptions.push(y.marker),f.markerSelectedOptions.push(y.markerSel),f.markerUnselectedOptions.push(y.markerUnsel),f.textOptions.push(y.text),f.textSelectedOptions.push(y.textSel),f.textUnselectedOptions.push(y.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=k,d.rawx=w,d.rawy=k,d.r=v,d.theta=m,d.positions=_,d._scene=f,d.index=f.count,f.count++}}),i(t,e,r)}}},{"../../lib":716,"../scattergl/constants":1171,"../scattergl/convert":1172,"../scattergl/plot":1178,"../scattergl/scene_update":1179,"fast-isnumeric":227,"point-cluster":470}],1204:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=i.marker,h=i.line,f=u.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:l,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:i.connectgaps,cliponaxis:i.cliponaxis,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:i.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:i.hoveron,hovertemplate:n()}},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1205:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,h,f,p,d,g=t._fullLayout[e.subplot].sum,v=e.sum||g,m={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!m[h=l[r]]){for(p=m[c[h][0]],d=m[c[h][1]],f=new Array(p.length),u=0;u<p.length;u++)f[u]=v-p[u]-d[u];m[h]=f}var y,x,b,_,w,k,T=e._length,A=new Array(T);for(r=0;r<T;r++)y=m.a[r],x=m.b[r],b=m.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,T),a(t,e),i(A,e),o(A,e),A}},{"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1206:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/constants"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d,g=p("a"),v=p("b"),m=p("c");if(g?(d=g.length,v?(d=Math.min(d,v.length),m&&(d=Math.min(d,m.length))):d=m?Math.min(d,m.length):0):v&&m&&(d=Math.min(v.length,m.length)),d){e._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),p("mode",d<a.PTS_LINESONLY?"lines+markers":"lines"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&(p("texttemplate"),c(t,e,f,p));var y=[];(i.hasMarkers(e)||i.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),y.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||y.push("fills"),p("hoveron",y.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1204}],1207:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[a]){var i=n[a];t.a=i.a,t.b=i.b,t.c=i.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1208:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot;return a.aLabel=n.tickText(i.aaxis,t.a,!0).text,a.bLabel=n.tickText(i.baxis,t.b,!0).text,a.cLabel=n.tickText(i.caxis,t.c,!0).text,a}},{"../../plots/cartesian/axes":764}],1209:[function(t,e,r){"use strict";var n=t("../scatter/hover");e.exports=function(t,e,r,a){var i=n(t,e,r,a);if(i&&!1!==i[0].index){var o=i[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),i}var h=o.cd[o.index],f=o.trace,p=o.subplot;o.a=h.a,o.b=h.b,o.c=h.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[f.subplot]={_subplot:p};var g=f._module.formatLabels(h,f,d);o.aLabel=g.aLabel,o.bLabel=g.bLabel,o.cLabel=g.cLabel;var v=h.hi||f.hoverinfo,m=[];if(!f.hovertemplate){var y=v.split("+");-1!==y.indexOf("all")&&(y=["a","b","c"]),-1!==y.indexOf("a")&&x(p.aaxis,o.aLabel),-1!==y.indexOf("b")&&x(p.baxis,o.bLabel),-1!==y.indexOf("c")&&x(p.caxis,o.cLabel)}return o.extraText=m.join("<br>"),o.hovertemplate=f.hovertemplate,i}function x(t,e){m.push(t._hovertitle+": "+e)}}},{"../scatter/hover":1129}],1210:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:t("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":841,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1204,"./calc":1205,"./defaults":1206,"./event_data":1207,"./format_labels":1208,"./hover":1209,"./plot":1211}],1211:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var a=e.plotContainer;a.select(".scatterlayer").selectAll("*").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:a,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,i,r,o)}},{"../scatter/plot":1138}],1212:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../scattergl/attributes"),s=t("../../plots/cartesian/constants").idRegex,l=t("../../plot_api/plot_template").templatedArray,c=t("../../lib/extend").extendFlat,u=n.marker,h=u.line,f=c(a("marker.line",{editTypeOverride:"calc"}),{width:c({},h.width,{editType:"calc"}),editType:"calc"}),p=c(a("marker"),{symbol:u.symbol,size:c({},u.size,{editType:"markerSize"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:f,editType:"calc"});function d(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:s[t],editType:"plot"}}}p.color.editType=p.cmin.editType=p.cmax.editType="style",e.exports={dimensions:l("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:i(),marker:p,xaxes:d("x"),yaxes:d("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:o.selected.marker,editType:"calc"},unselected:{marker:o.unselected.marker,editType:"calc"},opacity:o.opacity}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/template_attributes":840,"../scatter/attributes":1118,"../scattergl/attributes":1169}],1213:[function(t,e,r){"use strict";var n=t("regl-line2d"),a=t("../../registry"),i=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine,u="splom";function h(t,e,r){for(var n=r.matrixOptions.data.length,a=e._visibleDims,i=r.viewOpts.ranges=new Array(n),o=0;o<a.length;o++){var s=a[o],c=i[o]=new Array(4),u=l(t,e._diag[s][0]);u&&(c[0]=u.r2l(u.range[0]),c[2]=u.r2l(u.range[1]));var h=l(t,e._diag[s][1]);h&&(c[1]=h.r2l(h.range[0]),c[3]=h.r2l(h.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:i},{ranges:i}):r.matrix.update({ranges:i})}function f(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,a=e._splomGrid;a||(a=e._splomGrid=n(r)),a.update(function(t){var e,r=t._fullLayout,n=r._size,a=[0,0,r.width,r.height],i={};function o(t,e,r,n,o,s){var l=e[t+"color"],c=e[t+"width"],u=String(l+c);u in i?i[u].data.push(NaN,NaN,r,n,o,s):i[u]={data:[r,n,o,s],join:"rect",thickness:c,color:l,viewport:a,range:a,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],h=u.xaxis,f=u.yaxis,p=h._gridVals,d=f._gridVals,g=n.b+f.domain[0]*n.h,v=-f._m,m=-v*f.r2l(f.range[0],f.calendar);if(h.showgrid)for(e=0;e<p.length;e++)s=h._offset+h.l2p(p[e].x),o("grid",h,s,g,s,g+f._length);if(f.showgrid)for(e=0;e<d.length;e++)l=g+m+v*d[e].x,o("grid",f,h._offset,l,h._offset+h._length,l);c(t,h,f)&&(s=h._offset+h.l2p(0),o("zeroline",h,s,g,s,g+f._length)),c(t,f,h)&&(l=g+m+0,o("zeroline",f,h._offset,l,h._offset+h._length,l))}var y=[];for(e in i)y.push(i[e]);return y}(t))}e.exports={name:u,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=a.getModule(u),n=o(t.calcdata,r)[0];i(t,["ANGLE_instanced_arrays","OES_element_index_uint"])&&(e._hasOnlyLargeSploms&&f(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&f(t);for(var n=0;n<e.length;n++){var a=e[n][0].trace,i=r._splomScenes[a.uid];"splom"===a.type&&i&&i.matrix&&h(t,a,i)}},updateGrid:f,clean:function(t,e,r,n){var a,i={};if(n._splomScenes){for(a=0;a<t.length;a++){var o=t[a];"splom"===o.type&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var l=r[a];if(!i[l.uid]){var c=n._splomScenes[l.uid];c&&c.destroy&&c.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG}},{"../../lib/prepare_regl":729,"../../plots/cartesian":775,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767,"../../plots/get_data":799,"../../registry":845,"regl-line2d":492}],1214:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../scatter/calc").calcMarkerSize,o=t("../scatter/calc").calcAxisExpansion,s=t("../scatter/colorscale_calc"),l=t("../scattergl/convert").markerSelection,c=t("../scattergl/convert").markerStyle,u=t("./scene_update"),h=t("../../constants/numerical").BADNUM,f=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r,p,d,g,v,m,y=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],k=e._visibleDims=[];function T(t,r){for(var a=t.makeCalcdata({v:r.values,vcalendar:e.calendar},"v"),i=0;i<a.length;i++)a[i]=a[i]===h?NaN:a[i];_.push(a),w.push("log"===t.type?n.simpleMap(a,t.c2l):a)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(g=a.getFromId(t,e._diag[r][0]),v=a.getFromId(t,e._diag[r][1]),g&&v&&g.type!==v.type){n.log("Skipping splom dimension "+r+" with conflicting axis types");continue}g?(T(g,d),v&&"category"===v.type&&(v._categories=g._categories.slice())):T(v,d),k.push(r)}for(s(t,e),n.extendFlat(b,c(e)),m=_.length*x>f?2*(b.sizeAvg||Math.max(b.size,3)):i(e,x),p=0;p<k.length;p++)d=y[r=k[p]],g=a.getFromId(t,e._diag[r][0])||{},v=a.getFromId(t,e._diag[r][1])||{},o(t,e,g,v,_[p],_[p],m);var A=u(t,e);return A.matrix||(A.matrix=!0),A.matrixOptions=b,A.selectedOptions=l(e,e.selected),A.unselectedOptions=l(e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"../scattergl/constants":1171,"../scattergl/convert":1172,"./scene_update":1221}],1215:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("../scatter/subtypes"),s=t("../scatter/marker_defaults"),l=t("../parcoords/merge_length"),c=/-open/;function u(t,e){function r(r,a){return n.coerce(t,e,i.dimensions,r,a)}r("label");var a=r("values");a&&a.length?r("visible"):e.visible=!1,r("axis.type"),r("axis.matches")}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,i,r,a)}var p=a(t,e,{name:"dimensions",handleItemDefaults:u}),d=f("diagonal.visible"),g=f("showupperhalf"),v=f("showlowerhalf");if(l(e,p,"values")&&(d||g||v)){f("text"),f("hovertext"),f("hovertemplate"),s(t,e,r,h,f);var m=c.test(e.marker.symbol),y=o.isBubble(e);f("marker.line.width",m||y?1:0),function(t,e,r,n){var a,i,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,h=new Array(s),f=new Array(s);for(a=0;a<s;a++){var p=a?a+1:"";h[a]="x"+p,f[a]="y"+p}var d=n("xaxes",h),g=n("yaxes",f),v=e._diag=new Array(s);e._xaxes={},e._yaxes={};var m=[],y=[];function x(t,n,a,i){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e["_"+o+"axes"][t]=1,i.push(t),!(t in s)){var l=s[t]={};a&&(l.label=a.label||"",a.visible&&a.axis&&(a.axis.type&&(l.type=a.axis.type),a.axis.matches&&(l.matches=n)))}}}var b=!u&&!c,_=!u&&!l;for(e._axesDim={},a=0;a<s;a++){var w=o[a],k=0===a,T=a===s-1,A=k&&b||T&&_?void 0:d[a],M=k&&_||T&&b?void 0:g[a];x(A,M,w,m),x(M,A,w,y),v[a]=[A,M],e._axesDim[A]=a,e._axesDim[M]=a}for(a=0;a<m.length;a++)for(i=0;i<y.length;i++){var S=m[a]+y[i];a>i&&l?r._splomSubplots[S]=1:a<i&&c?r._splomSubplots[S]=1:a!==i||!u&&c&&l||(r._splomSubplots[S]=1)}(!c||!u&&l&&c)&&(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}(0,e,h,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{"../../lib":716,"../../plots/array_container_defaults":760,"../parcoords/merge_length":1089,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"./attributes":1212}],1216:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/colorscale_calc"),i=t("../scattergl/convert").markerStyle;e.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){a(t,r),n.extendFlat(o.matrixOptions,i(r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},{"../../lib":716,"../scatter/colorscale_calc":1121,"../scattergl/convert":1172}],1217:[function(t,e,r){"use strict";r.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],a=t._visibleDims,i=0;i<a.length;i++){var o=a[i];if(t._diag[o][n]===r)return i}return!1}},{}],1218:[function(t,e,r){"use strict";var n=t("./helpers"),a=t("../scattergl/hover").calcHover;e.exports={hoverPoints:function(t,e,r){var i=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),h=t.distance,f=n.getDimIndex(i,s),p=n.getDimIndex(i,l);if(!1===f||!1===p)return[t];for(var d,g,v=o[f],m=o[p],y=h,x=0;x<v.length;x++){var b=v[x],_=m[x],w=s.c2p(b)-c,k=l.c2p(_)-u,T=Math.sqrt(w*w+k*k);T<y&&(y=g=T,d=x)}return t.index=d,t.distance=y,t.dxy=g,void 0===d?[t]:[a(t,v,m,i)]}}},{"../scattergl/hover":1176,"./helpers":1217}],1219:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../components/grid");e.exports={moduleType:"trace",name:"splom",basePlotModule:t("./base_plot"),categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select"),editStyle:t("./edit_style"),meta:{}},n.register(a)},{"../../components/grid":633,"../../registry":845,"../scatter/marker_colorbar":1136,"./attributes":1212,"./base_plot":1213,"./calc":1214,"./defaults":1215,"./edit_style":1216,"./hover":1218,"./plot":1220,"./select":1222}],1220:[function(t,e,r){"use strict";var n=t("regl-splom"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids");function o(t,e){var r,o,s,l,c,u=t._fullLayout,h=u._size,f=e.trace,p=e.t,d=u._splomScenes[f.uid],g=d.matrixOptions,v=g.cdata,m=u._glcanvas.data()[0].regl,y=u.dragmode;if(0!==v.length){g.lower=f.showupperhalf,g.upper=f.showlowerhalf,g.diagonal=f.diagonal.visible;var x=f._visibleDims,b=v.length,_=d.viewOpts={};for(_.ranges=new Array(b),_.domains=new Array(b),c=0;c<x.length;c++){s=x[c];var w=_.ranges[c]=new Array(4),k=_.domains[c]=new Array(4);(r=i.getFromId(t,f._diag[s][0]))&&(w[0]=r._rl[0],w[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(o=i.getFromId(t,f._diag[s][1]))&&(w[1]=o._rl[0],w[3]=o._rl[1],k[1]=o.domain[0],k[3]=o.domain[1])}_.viewport=[h.l,h.b,h.w+h.l,h.h+h.b],!0===d.matrix&&(d.matrix=n(m));var T=u.clickmode.indexOf("select")>-1,A=!0;if("lasso"===y||"select"===y||!!f.selectedpoints||T){var M=f._length;if(f.selectedpoints){d.selectBatch=f.selectedpoints;var S=f.selectedpoints,E={};for(s=0;s<S.length;s++)E[S[s]]=!0;var L=[];for(s=0;s<M;s++)E[s]||L.push(s);d.unselectBatch=L}var C=p.xpx=new Array(b),P=p.ypx=new Array(b);for(c=0;c<x.length;c++){if(s=x[c],r=i.getFromId(t,f._diag[s][0]))for(C[c]=new Array(M),l=0;l<M;l++)C[c][l]=r.c2p(v[c][l]);if(o=i.getFromId(t,f._diag[s][1]))for(P[c]=new Array(M),l=0;l<M;l++)P[c][l]=o.c2p(v[c][l])}if(d.selectBatch.length||d.unselectBatch.length){var O=a.extendFlat({},g,d.unselectedOptions,_),z=a.extendFlat({},g,d.selectedOptions,_);d.matrix.update(O,z),A=!1}}else p.xpx=p.ypx=null;if(A){var I=a.extendFlat({},g,_);d.matrix.update(I,null)}}}e.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)o(t,r[n][0])}},{"../../lib":716,"../../plots/cartesian/axis_ids":767,"regl-splom":499}],1221:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t._fullLayout,a=e.uid,i=r._splomScenes;i||(i=r._splomScenes={});var o={dirty:!0},s=i[e.uid];return s||((s=i[a]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},{"../../lib":716}],1222:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("./helpers");e.exports=function(t,e){var r=t.cd,o=r[0].trace,s=r[0].t,l=t.scene,c=l.matrixOptions.cdata,u=t.xaxis,h=t.yaxis,f=[];if(!l)return f;var p=!a.hasMarkers(o)&&!a.hasText(o);if(!0!==o.visible||p)return f;var d=i.getDimIndex(o,u),g=i.getDimIndex(o,h);if(!1===d||!1===g)return f;var v=s.xpx[d],m=s.ypx[g],y=c[d],x=c[g],b=[],_=[];if(!1!==e&&!e.degenerate)for(var w=0;w<y.length;w++)e.contains([v[w],m[w]],null,w,t)?(b.push(w),f.push({pointNumber:w,x:y[w],y:x[w]})):_.push(w);var k=l.matrixOptions;return b.length||_.length?l.selectBatch.length||l.unselectBatch.length||l.matrix.update(l.unselectedOptions,n.extendFlat({},k,l.selectedOptions,l.viewOpts)):l.matrix.update(k,null),l.selectBatch=b,l.unselectBatch=_,f}},{"../../lib":716,"../scatter/subtypes":1142,"./helpers":1217}],1223:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach(function(t){l[t]=i[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],1224:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/calc");function i(t){return n.distinctVals(t).vals}e.exports=function(t,e){var r,o,s,l,c,u,h=e.u,f=e.v,p=e.w,d=e.x,g=e.y,v=e.z,m=Math.min(d.length,g.length,v.length,h.length,f.length,p.length),y=0;e.starts&&(l=e.starts.x||[],c=e.starts.y||[],u=e.starts.z||[],y=Math.min(l.length,c.length,u.length));var x=0,b=1/0;for(r=0;r<m;r++){var _=h[r],w=f[r],k=p[r],T=Math.sqrt(_*_+w*w+k*k);x=Math.max(x,T),b=Math.min(b,T)}a(t,e,{vals:[b,x],containerStr:"",cLetter:"c"});var A,M,S,E,L,C,P=-1/0,O=1/0,z=-1/0,I=1/0,D=-1/0,R=1/0,F="";for(m&&(E=d[0],L=g[0],C=v[0]),r=0;r<m;r++)P=Math.max(P,d[r]),O=Math.min(O,d[r]),z=Math.max(z,g[r]),I=Math.min(I,g[r]),D=Math.max(D,v[r]),R=Math.min(R,v[r]),A||d[r]===E||(A=!0,F+="x"),M||g[r]===L||(M=!0,F+="y"),S||v[r]===C||(S=!0,F+="z");A||(F+="x"),M||(F+="y"),S||(F+="z");var B=i(e.x.slice(0,m)),N=i(e.y.slice(0,m)),j=i(e.z.slice(0,m));F=(F=(F=F.replace("x",(d[0]>d[m-1]?"-":"+")+"x")).replace("y",(g[0]>g[m-1]?"-":"+")+"y")).replace("z",(v[0]>v[m-1]?"-":"+")+"z");var V=function(){m=0,B=[],N=[],j=[]};(!m||m<B.length*N.length*j.length)&&V();var U=function(t){return"x"===t?d:"y"===t?g:v},q=function(t){return"x"===t?B:"y"===t?N:j},H=function(t){return t[m-1]<t[0]?-1:1},G=U(F[1]),Y=U(F[3]),W=U(F[5]),X=q(F[1]).length,Z=q(F[3]).length,J=q(F[5]).length,K=!1,Q=function(t,e,r){return X*(Z*t+e)+r},$=H(U(F[1])),tt=H(U(F[3])),et=H(U(F[5]));for(r=0;r<J-1;r++){for(o=0;o<Z-1;o++){for(s=0;s<X-1;s++){var rt=Q(r,o,s),nt=Q(r,o,s+1),at=Q(r,o+1,s),it=Q(r+1,o,s);if(G[rt]*$<G[nt]*$&&Y[rt]*tt<Y[at]*tt&&W[rt]*et<W[it]*et||(K=!0),K)break}if(K)break}if(K)break}for(K&&(n.warn("Encountered arbitrary coordinates! Unable to input data grid."),V()),r=0;r<y;r++){var ot=l[r];P=Math.max(P,ot),O=Math.min(O,ot);var st=c[r];z=Math.max(z,st),I=Math.min(I,st);var lt=u[r];D=Math.max(D,lt),R=Math.min(R,lt)}e._len=m,e._slen=y,e._normMax=x,e._xbnds=[O,P],e._ybnds=[I,z],e._zbnds=[R,D],e._Xs=B,e._Ys=N,e._Zs=j,e._gridFill=F}},{"../../components/colorscale/calc":599,"../../lib":716}],1225:[function(t,e,r){"use strict";var n=t("gl-streamtube3d"),a=n.createTubeMesh,i=t("../../lib"),o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3"),c={xaxis:0,yaxis:1,zaxis:2};function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var h=u.prototype;function f(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=a[c[e]];return i.simpleMap(t,function(t){return n.d2l(t)*o})}if(h.vectors=l(d(e.u,"xaxis"),d(e.v,"yaxis"),d(e.w,"zaxis"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,"xaxis"),v=d(e._Ys,"yaxis"),m=d(e._Zs,"zaxis");h.meshgrid=[g,v,m],h.gridFill=e._gridFill;var y=e._slen;if(y)h.startingPositions=l(d(e.starts.x.slice(0,y),"xaxis"),d(e.starts.y.slice(0,y),"yaxis"),d(e.starts.z.slice(0,y),"zaxis"));else{for(var x=v[0],b=f(g),_=f(m),w=new Array(b.length*_.length),k=0,T=0;T<b.length;T++)for(var A=0;A<_.length;A++)w[k++]=[b[T],x,_[A]];h.startingPositions=w}h.colormap=o(e),h.tubeSize=e.sizeref,h.maxLength=e.maxdisplayed;var M=d(e._xbnds,"xaxis"),S=d(e._ybnds,"yaxis"),E=d(e._zbnds,"zaxis"),L=p(g),C=p(v),P=p(m),O=[[M[0]-L[0],S[0]-C[0],E[0]-P[0]],[M[1]+L[1],S[1]+C[1],E[1]+P[1]]],z=n(h,O),I=s(e);z.vertexIntensityBounds=[I.min/e._normMax,I.max/e._normMax];var D=e.lightposition;return z.lightPosition=[D.x,D.y,D.z],z.ambient=e.lighting.ambient,z.diffuse=e.lighting.diffuse,z.specular=e.lighting.specular,z.roughness=e.lighting.roughness,z.fresnel=e.lighting.fresnel,z.opacity=e.opacity,e._pad=z.tubeScale*e.sizeref*2,z}h.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var a=e[n],i=r[c[n]];return a.l2c(t)/i}if(t.object===this.mesh){var a=t.data.position,i=t.data.velocity;return t.traceCoordinate=[n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},h.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new u(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/gl3d/zip3":815,"gl-streamtube3d":314}],1226:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("u"),c=s("v"),u=s("w"),h=s("x"),f=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s("starts.x"),s("starts.y"),s("starts.z"),s("maxdisplayed"),s("sizeref"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),a(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":1223}],1227:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"streamtube",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{"../../plots/gl3d":804,"./attributes":1223,"./calc":1224,"./convert":1225,"./defaults":1226}],1228:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/domain").attributes,l=t("../pie/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:l.hovertext,hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:a({},{keys:c.eventDataKeys}),textfont:l.textfont,insidetextfont:l.insidetextfont,outsidetextfont:l.outsidetextfont,domain:s({name:"sunburst",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092,"./constants":1231}],1229:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="sunburst",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1230:[function(t,e,r){"use strict";var n=t("d3-hierarchy"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../components/colorscale").makeColorScaleFuncFromTrace,s=t("../pie/calc").makePullColorFn,l=t("../pie/calc").generateExtendedColors,c=t("../../components/colorscale").calc,u={},h={};r.calc=function(t,e){var r,l,u,h,f,p,d=t._fullLayout,g=e.ids,v=i.isArrayOrTypedArray(g),m=e.labels,y=e.parents,x=e.values,b=i.isArrayOrTypedArray(x),_=[],w={},k={},T=function(t){return t||"number"==typeof t},A=function(t){return!b||a(x[t])&&x[t]>=0};v?(r=Math.min(g.length,y.length),l=function(t){return T(g[t])&&A(t)},u=function(t){return String(g[t])}):(r=Math.min(m.length,y.length),l=function(t){return T(m[t])&&A(t)},u=function(t){return String(m[t])}),b&&(r=Math.min(r,x.length));for(var M=0;M<r;M++)if(l(M)){var S=u(M),E=T(y[M])?String(y[M]):"",L={i:M,id:S,pid:E,label:T(m[M])?String(m[M]):""};b&&(L.v=+x[M]),_.push(L),f=S,w[h=E]?w[h].push(f):w[h]=[f],k[f]=1}if(w[""]){if(w[""].length>1){for(var C=i.randstr(),P=0;P<_.length;P++)""===_[P].pid&&(_[P].pid=C);_.unshift({hasMultipleRoots:!0,id:C,pid:"",label:""})}}else{var O,z=[];for(O in w)k[O]||z.push(O);if(1!==z.length)return i.warn("Multiple implied roots, cannot build "+e.type+" hierarchy.");O=z[0],_.unshift({hasImpliedRoot:!0,id:O,pid:"",label:O})}try{p=n.stratify().id(function(t){return t.id}).parentId(function(t){return t.pid})(_)}catch(t){return i.warn("Failed to build "+e.type+" hierarchy. Error: "+t.message)}var I=n.hierarchy(p),D=!1;if(b)switch(e.branchvalues){case"remainder":I.sum(function(t){return t.data.v});break;case"total":I.each(function(t){var e=t.data.data,r=e.v;if(t.children){var n=t.children.reduce(function(t,e){return t+e.data.data.v},0);if((e.hasImpliedRoot||e.hasMultipleRoots)&&(r=n),r<n)return D=!0,i.warn(["Total value for node",t.data.data.id,"is smaller than the sum of its children.","\nparent value =",r,"\nchildren sum =",n].join(" "))}t.value=r})}else!function t(e,r,n){var a=0;var i=e.children;if(i){for(var o=i.length,s=0;s<o;s++)a+=t(i[s],r,n);n.branches&&a++}else n.leaves&&a++;e.value=e.data.data.value=a;r._values||(r._values=[]);r._values[e.data.data.i]=a;return a}(I,e,{branches:-1!==e.count.indexOf("branches"),leaves:-1!==e.count.indexOf("leaves")});if(!D){var R,F;I.sort(function(t,e){return e.value-t.value});var B=e.marker.colors||[],N=!!B.length;return e._hasColorscale?(N||(B=b?e.values:e._values),c(t,e,{vals:B,containerStr:"marker",cLetter:"c"}),F=o(e.marker)):R=s(d["_"+e.type+"colormap"]),I.each(function(t){var r=t.data.data;r.color=e._hasColorscale?F(B[r.i]):R(B[r.i],r.id)}),_[0].hierarchy=I,_}},r._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,a=r[t+"colorway"],i=r["_"+t+"colormap"];r["extend"+t+"colors"]&&(a=l(a,"treemap"===t?h:u));var o=0;function s(t){var e=t.data.data,r=e.id;!1===e.color&&(i[r]?e.color=i[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(i[r]=e.color=a[o%a.length],o++):e.color="rgba(0,0,0,0)")}for(var c=0;c<n.length;c++){var f=n[c][0];f.trace.type===t&&f.hierarchy&&f.hierarchy.each(s)}},r.crossTraceCalc=function(t){return r._runCrossTraceCalc("sunburst",t)}},{"../../components/colorscale":603,"../../lib":716,"../pie/calc":1094,"d3-hierarchy":158,"fast-isnumeric":227}],1231:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}},{}],1232:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../../components/colorscale"),l=s.hasColorscale,c=s.handleDefaults;e.exports=function(t,e,r,s){function u(r,i){return n.coerce(t,e,a,r,i)}var h=u("labels"),f=u("parents");if(h&&h.length&&f&&f.length){var p=u("values");p&&p.length?u("branchvalues"):u("count"),u("level"),u("maxdepth"),u("marker.line.width")&&u("marker.line.color",s.paper_bgcolor),u("marker.colors");var d=e._hasColorscale=l(t,"marker","colors");d&&c(t,e,s,u,{prefix:"marker.",cLetter:"c"}),u("leaf.opacity",d?1:.7);var g=u("text");u("texttemplate"),e.texttemplate||u("textinfo",Array.isArray(g)?"text+label":"label"),u("hovertext"),u("hovertemplate");o(t,e,s,u,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),i(e,s,u),e._length=null}else e.visible=!1}},{"../../components/colorscale":603,"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":1228}],1233:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../components/fx/helpers").appendArrayPointValue,o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/events"),c=t("./helpers"),u=t("../pie/helpers").formatPieValue;function h(t,e,r){for(var n=t.data.data,a={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o<r.length;o++){var s=r[o];s in t&&(a[s]=t[s])}return"parentString"in t&&!c.isHierarchyRoot(t)&&(a.parent=t.parentString),i(a,e,n.i),a}e.exports=function(t,e,r,i,f){var p=i[0],d=p.trace,g=p.hierarchy,v="sunburst"===d.type,m="treemap"===d.type;"_hasHoverLabel"in d||(d._hasHoverLabel=!1),"_hasHoverEvent"in d||(d._hasHoverEvent=!1);t.on("mouseover",function(a){var i=r._fullLayout;if(!r._dragging&&!1!==i.hovermode){var l=r._fullData[d.index],y=a.data.data,x=y.i,b=c.isHierarchyRoot(a),_=c.getParent(g,a),w=c.getValue(a),k=function(t){return s.castOption(l,x,t)},T=k("hovertemplate"),A=o.castHoverinfo(l,i,x),M=i.separators;if(T||A&&"none"!==A&&"skip"!==A){var S,E;v&&(S=p.cx+a.pxmid[0]*(1-a.rInscribed),E=p.cy+a.pxmid[1]*(1-a.rInscribed)),m&&(S=a._hoverX,E=a._hoverY);var L,C={},P=[],O=[],z=function(t){return-1!==P.indexOf(t)};A&&(P="all"===A?l._module.attributes.hoverinfo.flags:A.split("+")),C.label=y.label,z("label")&&C.label&&O.push(C.label),y.hasOwnProperty("v")&&(C.value=y.v,C.valueLabel=u(C.value,M),z("value")&&O.push(C.valueLabel)),C.currentPath=a.currentPath=c.getPath(a.data),z("current path")&&!b&&O.push(C.currentPath);var I=[],D=function(){-1===I.indexOf(L)&&(O.push(L),I.push(L))};C.percentParent=a.percentParent=w/c.getValue(_),C.parent=a.parentString=c.getPtLabel(_),z("percent parent")&&(L=c.formatPercent(C.percentParent,M)+" of "+C.parent,D()),C.percentEntry=a.percentEntry=w/c.getValue(e),C.entry=a.entry=c.getPtLabel(e),!z("percent entry")||b||a.onPathbar||(L=c.formatPercent(C.percentEntry,M)+" of "+C.entry,D()),C.percentRoot=a.percentRoot=w/c.getValue(g),C.root=a.root=c.getPtLabel(g),z("percent root")&&!b&&(L=c.formatPercent(C.percentRoot,M)+" of "+C.root,D()),C.text=k("hovertext")||k("text"),z("text")&&(L=C.text,s.isValidTextValue(L)&&O.push(L));var R={trace:l,y:E,text:O.join("<br>"),name:T||z("name")?l.name:void 0,color:k("hoverlabel.bgcolor")||y.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:T,hovertemplateLabels:C,eventData:[h(a,l,f.eventDataKeys)]};v&&(R.x0=S-a.rInscribed*a.rpx1,R.x1=S+a.rInscribed*a.rpx1,R.idealAlign=a.pxmid[0]<0?"left":"right"),m&&(R.x=S,R.idealAlign=S<0?"left":"right"),o.loneHover(R,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}),d._hasHoverLabel=!0}if(m){var F=t.select("path.surface");f.styleOne(F,a,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:[h(a,l,f.eventDataKeys)],event:n.event})}}),t.on("mouseout",function(e){var a=r._fullLayout,i=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[h(s,i,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(a._hoverlayer.node()),d._hasHoverLabel=!1),m){var l=t.select("path.surface");f.styleOne(l,s,i,{hovered:!1})}}),t.on("click",function(t){var e=r._fullLayout,i=r._fullData[d.index];if(!1===l.triggerHandler(r,"plotly_"+d.type+"click",{points:[h(t,i,f.eventDataKeys)],event:n.event})||v&&(c.isHierarchyRoot(t)||c.isLeaf(t)))e.hovermode&&(r._hoverdata=[h(t,i,f.eventDataKeys)],o.click(r,n.event));else if(!r._dragging&&!r._transitioning){a.call("_storeDirectGUIEdit",i,e._tracePreGUI[i.uid],{level:i.level});var s=c.getPtId(t),u=c.isEntry(t)?c.findEntryWithChild(g,s):c.findEntryWithLevel(g,s),p={data:[{level:c.getPtId(u)}],traces:[d.index]},m={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),a.call("animate",r,p,m)}})}},{"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/events":706,"../../registry":845,"../pie/helpers":1097,"./helpers":1234,d3:164}],1234:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../lib/setcursor"),o=t("../pie/helpers");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter(function(t){if(r.getPtId(t)===e)return n=t.copy()}),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter(function(t){for(var a=t.children||[],i=0;i<a.length;i++){var o=a[i];if(r.getPtId(o)===e)return n=t.copy()}}),n||t},r.isEntry=function(t){return!t.parent},r.isLeaf=function(t){return!t.children},r.getPtId=function(t){return t.data.data.id},r.getPtLabel=function(t){return t.data.data.label},r.getValue=function(t){return t.value},r.isHierarchyRoot=function(t){return""===s(t)},r.setSliceCursor=function(t,e,n){var a=n.isTransitioning;if(!a){var o=t.datum();a=n.hideOnRoot&&r.isHierarchyRoot(o)||n.hideOnLeaves&&r.isLeaf(o)}i(t,a?null:"pointer")},r.getInsideTextFontKey=function(t,e,r,a){var i=r.data.data.i;return n.castOption(e,i,"insidetextfont."+t)||n.castOption(e,i,"textfont."+t)||a.size},r.getOutsideTextFontKey=function(t,e,r,a){var i=r.data.data.i;return n.castOption(e,i,"outsidetextfont."+t)||n.castOption(e,i,"textfont."+t)||a.size},r.isOutsideText=function(t,e){return!t._hasColorscale&&r.isHierarchyRoot(e)},r.determineTextFont=function(t,e,i,o){return r.isOutsideText(t,e)?function(t,e,n){return{color:r.getOutsideTextFontKey("color",t,e,n),family:r.getOutsideTextFontKey("family",t,e,n),size:r.getOutsideTextFontKey("size",t,e,n)}}(t,e,i):function(t,e,i,o){var s=e.data.data,l=s.i,c=n.castOption(t,l,"insidetextfont.color");return!c&&t._input.textfont&&(c=n.castOption(t._input,l,"textfont.color")),{color:c||a.contrast(s.color),family:r.getInsideTextFontKey("family",o||t,e,i),size:r.getInsideTextFontKey("size",o||t,e,i)}}(t,e,i,o)},r.hasTransition=function(t){return!!(t&&t.duration>0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var a=e?[n.data[e]]:[n];return r.listPath(n,e).concat(a)},r.getPath=function(t){return r.listPath(t,"label").join("/")+"/"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},{"../../components/color":591,"../../lib":716,"../../lib/setcursor":736,"../pie/helpers":1097}],1235:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"sunburst",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1228,"./base_plot":1229,"./calc":1230,"./defaults":1232,"./layout_attributes":1236,"./layout_defaults":1237,"./plot":1238,"./style":1239}],1236:[function(t,e,r){"use strict";e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1237:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},{"../../lib":716,"./layout_attributes":1236}],1238:[function(t,e,r){"use strict";var n=t("d3"),a=t("d3-hierarchy"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../pie/plot").transformInsideText,c=t("./style").styleOne,u=t("./fx"),h=t("./constants"),f=t("./helpers");function p(t,e,p,d){var g=t._fullLayout,v=f.hasTransition(d),m=n.select(p).selectAll("g.slice"),y=e[0],x=y.trace,b=y.hierarchy,_=f.findEntryWithLevel(b,x.level),w=f.getMaxDepth(x),k=g._size,T=x.domain,A=k.w*(T.x[1]-T.x[0]),M=k.h*(T.y[1]-T.y[0]),S=.5*Math.min(A,M),E=y.cx=k.l+k.w*(T.x[1]+T.x[0])/2,L=y.cy=k.t+k.h*(1-T.y[0])-M/2;if(!_)return m.remove();var C=null,P={};v&&m.each(function(t){P[f.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!C&&f.isEntry(t)&&(C=t)});var O=function(t){return a.partition().size([2*Math.PI,t.height+1])(t)}(_).descendants(),z=_.height+1,I=0,D=w;y.hasMultipleRoots&&f.isHierarchyRoot(_)&&(O=O.slice(1),z-=1,I=1,D+=1),O=O.filter(function(t){return t.y1<=D});var R=Math.min(z,w),F=function(t){return(t-I)/R*S},B=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},N=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,E,L)},j=function(t){return E+t.pxmid[0]*t.transform.rCenter+(t.transform.x||0)},V=function(t){return L+t.pxmid[1]*t.transform.rCenter+(t.transform.y||0)};(m=m.data(O,f.getPtId)).enter().append("g").classed("slice",!0),v?m.exit().transition().each(function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",function(t){var e=function(t){var e,r=f.getPtId(t),a=P[r],i=P[f.getPtId(_)];if(i){var o=t.x1>i.x1?2*Math.PI:0;e=t.rpx1<i.rpx1?{rpx0:0,rpx1:0}:{x0:o,x1:o}}else{var s,l=f.getPtId(t.parent);m.each(function(t){if(f.getPtId(t)===l)return s=t});var c,u=s.children;u.forEach(function(t,e){if(f.getPtId(t)===r)return c=e});var h=u.length,p=n.interpolate(s.x0,s.x1);e={rpx0:S,rpx1:S,x0:p(c/h),x1:p((c+1)/h)}}return n.interpolate(a,e)}(t);return function(t){return N(e(t))}}),t.select("g.slicetext").attr("opacity",0)}).remove():m.exit().remove(),m.order();var U=null;if(v&&C){var q=f.getPtId(C);m.each(function(t){null===U&&f.getPtId(t)===q&&(U=t.x1)})}var H=m;function G(t){var e=t.parent,r=P[f.getPtId(e)],a={};if(r){var i=e.children,o=i.indexOf(t),s=i.length,l=n.interpolate(r.x0,r.x1);a.x0=l(o/s),a.x1=l(o/s)}else a.x0=a.x1=0;return a}v&&(H=H.transition().each("end",function(){var e=n.select(this);f.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),H.each(function(a){var p=n.select(this),d=o.ensureSingle(p,"path","surface",function(t){t.style("pointer-events","all")});a.rpx0=F(a.y0),a.rpx1=F(a.y1),a.xmid=(a.x0+a.x1)/2,a.pxmid=B(a.rpx1,a.xmid),a.midangle=-(a.xmid-Math.PI/2),a.halfangle=.5*Math.min(o.angleDelta(a.x0,a.x1)||Math.PI,Math.PI),a.ring=1-a.rpx0/a.rpx1,a.rInscribed=function(t){return 0===t.rpx0&&o.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(a),v?d.transition().attrTween("d",function(t){var e=function(t){var e,r=P[f.getPtId(t)],a={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(C)if(t.parent)if(U){var i=t.x1>U?2*Math.PI:0;e={x0:i,x1:i}}else e={rpx0:S,rpx1:S},o.extendFlat(e,G(t));else e={rpx0:0,rpx1:0};else e={x0:0,x1:0};return n.interpolate(e,a)}(t);return function(t){return N(e(t))}}):d.attr("d",N),p.call(u,_,t,e,{eventDataKeys:h.eventDataKeys,transitionTime:h.CLICK_TRANSITION_TIME,transitionEasing:h.CLICK_TRANSITION_EASING}).call(f.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),d.call(c,a,x);var m=o.ensureSingle(p,"g","slicetext"),b=o.ensureSingle(m,"text","",function(t){t.attr("data-notex",1)});b.text(r.formatSliceLabel(a,_,x,e,g)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,f.determineTextFont(x,a,g.font)).call(s.convertToTspans,t);var w=i.bBox(b.node());a.transform=l(w,a,y),a.translateX=j(a),a.translateY=V(a);var k=function(t,e){return"translate("+t.translateX+","+t.translateY+")"+(t.transform.scale<1?"scale("+t.transform.scale+")":"")+(t.transform.rotate?"rotate("+t.transform.rotate+")":"")+"translate("+-(e.left+e.right)/2+","+-(e.top+e.bottom)/2+")"};v?b.transition().attrTween("transform",function(t){var e=function(t){var e,r=P[f.getPtId(t)],a=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{scale:0,rotate:a.rotate,rCenter:a.rCenter,x:a.x,y:a.y}},C)if(t.parent)if(U){var i=t.x1>U?2*Math.PI:0;e.x0=e.x1=i}else o.extendFlat(e,G(t));else e.x0=e.x1=0;else e.x0=e.x1=0;var s=n.interpolate(e.rpx1,t.rpx1),l=n.interpolate(e.x0,t.x0),c=n.interpolate(e.x1,t.x1),u=n.interpolate(e.transform.scale,a.scale),h=n.interpolate(e.transform.rotate,a.rotate),p=0===a.rCenter?3:0===e.transform.rCenter?1/3:1,d=n.interpolate(e.transform.rCenter,a.rCenter);return function(t){var e=s(t),r=l(t),n=c(t),i=function(t){return d(Math.pow(t,p))}(t),o={pxmid:B(e,(r+n)/2),transform:{rCenter:i,x:a.x,y:a.y}},f={rpx1:s(t),translateX:j(o),translateY:V(o),transform:{scale:u(t),rotate:h(t),rCenter:i}};return f}}(t);return function(t){return k(e(t),w)}}):b.attr("transform",k(a,w))})}r.plot=function(t,e,r,a){var i,o,s=t._fullLayout._sunburstlayer,l=!r,c=f.hasTransition(r);((i=s.selectAll("g.trace.sunburst").data(e,function(t){return t[0].trace.uid})).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),i.order(),c)?(a&&(o=a()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()}).each(function(){s.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):i.each(function(e){p(t,e,this,r)});l&&i.exit().remove()},r.formatSliceLabel=function(t,e,r,n,a){var i=r.texttemplate,s=r.textinfo;if(!(i||s&&"none"!==s))return"";var l=a.separators,c=n[0],u=t.data.data,h=c.hierarchy,p=f.isHierarchyRoot(t),d=f.getParent(h,t),g=f.getValue(t);if(!i){var v,m=s.split("+"),y=function(t){return-1!==m.indexOf(t)},x=[];if(y("label")&&u.label&&x.push(u.label),u.hasOwnProperty("v")&&y("value")&&x.push(f.formatValue(u.v,l)),!p){y("current path")&&x.push(f.getPath(t.data));var b=0;y("percent parent")&&b++,y("percent entry")&&b++,y("percent root")&&b++;var _=b>1;if(b){var w,k=function(t){v=f.formatPercent(w,l),_&&(v+=" of "+t),x.push(v)};y("percent parent")&&!p&&(w=g/f.getValue(d),k("parent")),y("percent entry")&&(w=g/f.getValue(e),k("entry")),y("percent root")&&(w=g/f.getValue(h),k("root"))}}return y("text")&&(v=o.castOption(r,u.i,"text"),o.isValidTextValue(v)&&x.push(v)),x.join("<br>")}var T=o.castOption(r,u.i,"texttemplate");if(!T)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=f.formatValue(u.v,l)),A.currentPath=f.getPath(t.data),p||(A.percentParent=g/f.getValue(d),A.percentParentLabel=f.formatPercent(A.percentParent,l),A.parent=f.getPtLabel(d)),A.percentEntry=g/f.getValue(e),A.percentEntryLabel=f.formatPercent(A.percentEntry,l),A.entry=f.getPtLabel(e),A.percentRoot=g/f.getValue(h),A.percentRootLabel=f.formatPercent(A.percentRoot,l),A.root=f.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=o.castOption(r,u.i,"text");return(o.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=o.castOption(r,u.i,"customdata"),o.texttemplateString(T,A,a._d3locale,A,r._meta||{})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../pie/plot":1101,"./constants":1231,"./fx":1233,"./helpers":1234,"./style":1239,d3:164,"d3-hierarchy":158}],1239:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib");function o(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=i.castOption(r,s,"marker.line.color")||a.defaultLine,c=i.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",c).call(a.fill,n.color).call(a.stroke,l).style("opacity",o?r.leaf.opacity:null)}e.exports={style:function(t){t._fullLayout._sunburstlayer.selectAll(".trace").each(function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each(function(t){n.select(this).call(o,t,r)})})},styleOne:o}},{"../../components/color":591,"../../lib":716,d3:164}],1240:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:i(),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},a("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})},hoverinfo:s({},o.hoverinfo)}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/color":591,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840}],1241:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1242:[function(t,e,r){"use strict";var n=t("gl-surface3d"),a=t("ndarray"),i=t("ndarray-homography"),o=t("ndarray-fill"),s=t("../../lib").isArrayOrTypedArray,l=t("../../lib/gl_format_color").parseColorScale,c=t("../../lib/str2rgbarray"),u=t("../../components/colorscale").extractOpts,h=t("../heatmap/interp2d"),f=t("../heatmap/find_empties");function p(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var d=p.prototype;d.getXat=function(t,e,r,n){var a=s(this.data.x)?s(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?a:n.d2l(a,0,r)},d.getYat=function(t,e,r,n){var a=s(this.data.y)?s(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?a:n.d2l(a,0,r)},d.getZat=function(t,e,r,n){var a=this.data.z[e][t];return null===a&&this.data.connectgaps&&this.data._interpolatedZ&&(a=this.data._interpolatedZ[e][t]),void 0===r?a:n.d2l(a,0,r)},d.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),a=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,a],t.traceCoordinate=[this.getXat(n,a),this.getYat(n,a),this.getZat(n,a)],t.dataCoordinate=[this.getXat(n,a,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,a,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,a,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var o=t.dataCoordinate[i];null!=o&&(t.dataCoordinate[i]*=this.scene.dataScale[i])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[a]&&void 0!==s[a][n]?t.textLabel=s[a][n]:t.textLabel=s||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var g=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function m(t){for(var e=[],r=0;r<g.length;r++){var n=g[r];e.push(v(t,n))}return e}function y(t){for(var e=m(t),r=t,n=0;n<g.length;n++)if(e[n]>0){r=g[n];break}return r}function x(t,e){if(!(t<1||e<1)){for(var r=m(t),n=m(e),a=1,i=0;i<g.length;i++)a*=Math.pow(g[i],Math.max(r[i],n[i]));return a}}d.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),a=this.getXat(e,0);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r},d.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),a=this.getYat(0,e);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r};var b=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],_=b[9],w=b[13];function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}d.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=x(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<_;)r*=2;for(;r>w;)r--,r/=y(r),++r<_&&(r=w);var n=Math.round(r/t);return n>1?n:1},d.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],o=t[0].shape[1],s=0|Math.floor(t[0].shape[0]*e+1),l=0|Math.floor(t[0].shape[1]*r+1),c=1+n+1,u=1+o+1,h=a(new Float32Array(c*u),[c,u]),f=0;f<t.length;++f){this.surface.padField(h,t[f]);var p=a(new Float32Array(s*l),[s,l]);i(p,h,[e,0,0,0,r,0,0,0,1]),t[f]=p}},d.setContourLevels=function(){var t,e,r,n=[[],[],[]],a=[!1,!1,!1],i=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(i=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(a[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(i){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=a[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},d.update=function(t){var e,r,n,i,s=this.scene,p=s.fullSceneLayout,d=this.surface,g=t.opacity,v=l(t,g),m=s.dataScale,y=t.z[0].length,x=t._ylength,b=s.contourLevels;this.data=t;var _=[];for(e=0;e<3;e++)for(_[e]=[],r=0;r<y;r++)_[e][r]=[];for(r=0;r<y;r++)for(n=0;n<x;n++)_[0][r][n]=this.getXat(r,n,t.xcalendar,p.xaxis),_[1][r][n]=this.getYat(r,n,t.ycalendar,p.yaxis),_[2][r][n]=this.getZat(r,n,t.zcalendar,p.zaxis);if(t.connectgaps)for(t._emptypoints=f(_[2]),h(_[2],t._emptypoints),t._interpolatedZ=[],r=0;r<y;r++)for(t._interpolatedZ[r]=[],n=0;n<x;n++)t._interpolatedZ[r][n]=_[2][r][n];for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null==(i=_[e][r][n])?_[e][r][n]=NaN:i=_[e][r][n]*=m[e];for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null!=(i=_[e][r][n])&&(this.minValues[e]>i&&(this.minValues[e]=i),this.maxValues[e]<i&&(this.maxValues[e]=i));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null!=(i=_[e][r][n])&&(_[e][r][n]-=this.objectOffset[e]);var k=[a(new Float32Array(y*x),[y,x]),a(new Float32Array(y*x),[y,x]),a(new Float32Array(y*x),[y,x])];o(k[0],function(t,e){return _[0][t][e]}),o(k[1],function(t,e){return _[1][t][e]}),o(k[2],function(t,e){return _[2][t][e]}),_=[];var T={colormap:v,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:t.opacity},A=u(t);if(T.intensityBounds=[A.min,A.max],t.surfacecolor){var M=a(new Float32Array(y*x),[y,x]);o(M,function(e,r){return t.surfacecolor[r][e]}),k.push(M)}else T.intensityBounds[0]*=m[2],T.intensityBounds[1]*=m[2];(w<k[0].shape[0]||w<k[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(k[0].shape[0],0),this.dataScaleY=this.estimateScale(k[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(k)),t.surfacecolor&&(T.intensity=k.pop());var S=[!0,!0,!0],E=["x","y","z"];for(e=0;e<3;++e){var L=t.contours[E[e]];S[e]=L.highlight,T.showContour[e]=L.show||L.highlight,T.showContour[e]&&(T.contourProject[e]=[L.project.x,L.project.y,L.project.z],L.show?(this.showContour[e]=!0,T.levels[e]=b[e],d.highlightColor[e]=T.contourColor[e]=c(L.color),L.usecolormap?d.highlightTint[e]=T.contourTint[e]=0:d.highlightTint[e]=T.contourTint[e]=1,T.contourWidth[e]=L.width,this.contourStart[e]=L.start,this.contourEnd[e]=L.end,this.contourSize[e]=L.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),L.highlight&&(T.dynamicColor[e]=c(L.highlightcolor),T.dynamicWidth[e]=L.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(v)&&(T.vertexColor=!0),T.objectOffset=this.objectOffset,T.coords=k,d.update(T),d.visible=t.visible,d.enableDynamic=S,d.enableHighlight=S,d.snapToData=!0,"lighting"in t&&(d.ambientLight=t.lighting.ambient,d.diffuseLight=t.lighting.diffuse,d.specularLight=t.lighting.specular,d.roughness=t.lighting.roughness,d.fresnel=t.lighting.fresnel),"lightposition"in t&&(d.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),g&&g<1&&(d.supportsTransparency=!0)},d.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new p(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../heatmap/find_empties":1004,"../heatmap/interp2d":1007,"gl-surface3d":317,ndarray:451,"ndarray-fill":441,"ndarray-homography":443}],1243:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/colorscale/defaults"),o=t("./attributes");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function h(r,n){return a.coerce(t,e,o,r,n)}var f=h("x"),p=h("y"),d=h("z");if(!d||!d.length||f&&f.length<1||p&&p.length<1)e.visible=!1;else{e._xlength=Array.isArray(f)&&a.isArrayOrTypedArray(f[0])?d.length:d[0].length,e._ylength=d.length,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],l),h("text"),h("hovertext"),h("hovertemplate"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach(function(t){h(t)});var g=h("surfacecolor"),v=["x","y","z"];for(c=0;c<3;++c){var m="contours."+v[c],y=h(m+".show"),x=h(m+".highlight");if(y||x)for(u=0;u<3;++u)h(m+".project."+v[u]);y&&(h(m+".color"),h(m+".width"),h(m+".usecolormap")),x&&(h(m+".highlightcolor"),h(m+".highlightwidth")),h(m+".start"),h(m+".end"),h(m+".size")}g||(s(t,"zmin","cmin"),s(t,"zmax","cmax"),s(t,"zauto","cauto")),i(t,e,l,h,{prefix:"",cLetter:"c"}),e._length=null}}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1240}],1244:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),moduleType:"trace",name:"surface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","2dMap"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1240,"./calc":1241,"./convert":1242,"./defaults":1243}],1245:[function(t,e,r){"use strict";var n=t("../../components/annotations/attributes"),a=t("../../lib/extend").extendFlat,i=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes;t("../../constants/docs").FORMAT_LINK;(e.exports=i({domain:s({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:a({},o({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:a({},o({arrayOk:!0}))}},"calc","from-root")).transforms=void 0},{"../../components/annotations/attributes":574,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/domain":789,"../../plots/font_attributes":790}],1246:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,a=t("./plot");r.name="table",r.plot=function(t){var e=n(t.calcdata,"table")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("table"),i=e._has&&e._has("table");a&&!i&&n._paperdiv.selectAll(".table").remove()}},{"../../plots/get_data":799,"./plot":1253}],1247:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap;e.exports=function(){return n({})}},{"../../lib/gup":714}],1248:[function(t,e,r){"use strict";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1249:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/extend").extendFlat,i=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,a=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),a=Math.max(a,r[e].length);if(n!==a)for(e=0;e<r.length;e++){var i=a-r[e].length;i&&(r[e]=r[e].concat(c(i)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]="";return e}function u(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function h(t,e){return Object.keys(t).map(function(r){return a({},t[r],{auxiliaryBlocks:e})})}function f(t,e){for(var r,n={},a=0,i=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((i+=r)>=e||c===t.length-1)&&(n[a]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},a+=i,s=c+1,i=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[""]).length)})),v=e.domain,m=Math.floor(t._fullLayout._size.w*(v.x[1]-v.x[0])),y=Math.floor(t._fullLayout._size.h*(v.y[1]-v.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=f(b,y-_+n.uplift),k=h(f(x,_),[]),T=h(w,k),A={},M=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return i(n)?Number(n):1}),E=S.reduce(s,0);S=S.map(function(t){return t/E*m});var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:v.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-v.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:L,height:y,columnOrder:M,groupHeight:y,rowBlocks:T,headerRowBlocks:k,scrollY:0,cells:a({},e.cells,{values:r}),headerCells:a({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return C.columns.forEach(function(t){t.calcdata=C,t.x=u(t)}),C}},{"../../lib/extend":707,"./constants":1248,"fast-isnumeric":227}],1250:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{"../../lib/extend":707}],1251:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,a=r.slice(0,n),i=a.slice().sort(function(t,e){return t-e}),o=a.map(function(t){return i.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e("columnorder",o)}(e,s),s("cells.values"),s("cells.format"),s("cells.align"),s("cells.prefix"),s("cells.suffix"),s("cells.height"),s("cells.line.width"),s("cells.line.color"),s("cells.fill.color"),n.coerceFont(s,"cells.font",n.extendFlat({},o.font)),e._length=null}},{"../../lib":716,"../../plots/domain":789,"./attributes":1245}],1252:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"table",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1245,"./base_plot":1246,"./calc":1247,"./defaults":1251,"./plot":1253}],1253:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup"),o=t("../../components/drawing"),s=t("../../lib/svg_text_utils"),l=t("../../lib").raiseToTop,c=t("../../lib").cancelTransition,u=t("./data_preparation_helper"),h=t("./data_split_helpers"),f=t("../../components/color");function p(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function d(t,e){return"clip"+t._fullLayout._uid+"_scrollAreaBottomClip_"+e.key}function g(t,e){return"clip"+t._fullLayout._uid+"_columnBoundaryClippath_"+e.calcdata.key+"_"+e.specIndex}function v(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function m(t,e,r){var o=t.selectAll("."+n.cn.scrollbarKit).data(i.repeat,i.keyFun);o.enter().append("g").classed(n.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),o.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return z(e,e.length-1)+(e.length?I(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr("transform",function(t){return"translate("+(t.width+n.scrollbarWidth/2+n.scrollbarOffset)+" "+A(t)+")"});var s=o.selectAll("."+n.cn.scrollbar).data(i.repeat,i.keyFun);s.enter().append("g").classed(n.cn.scrollbar,!0);var l=s.selectAll("."+n.cn.scrollbarSlider).data(i.repeat,i.keyFun);l.enter().append("g").classed(n.cn.scrollbarSlider,!0),l.attr("transform",function(t){return"translate(0 "+(t.scrollbarState.topY||0)+")"});var c=l.selectAll("."+n.cn.scrollbarGlyph).data(i.repeat,i.keyFun);c.enter().append("line").classed(n.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",n.scrollbarWidth).attr("stroke-linecap","round").attr("y1",n.scrollbarWidth/2),c.attr("y2",function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2}).attr("stroke-opacity",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr("stroke-opacity",0);var u=s.selectAll("."+n.cn.scrollbarCaptureZone).data(i.repeat,i.keyFun);u.enter().append("line").classed(n.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",n.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(r){var n=a.event.y,i=this.getBoundingClientRect(),o=r.scrollbarState,s=n-i.top,l=a.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||S(e,t,null,l(s-o.barLength/2))(r)}).call(a.behavior.drag().origin(function(t){return a.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on("drag",S(e,t)).on("dragend",function(){})),u.attr("y2",function(t){return t.scrollbarState.scrollableAreaHeight}),e._context.staticPlot&&(c.remove(),u.remove())}function y(t,e,r,s){var l=function(t){var e=t.selectAll("."+n.cn.columnCell).data(h.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll("."+n.cn.columnCells).data(i.repeat,i.keyFun);return e.enter().append("g").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,a={size:_(r.size,n,e),color:_(r.color,n,e),family:_(r.family,n,e)};t.rowNumber=t.key,t.align=_(t.calcdata.cells.align,n,e),t.cellBorderWidth=_(t.calcdata.cells.line.width,n,e),t.font=a})}(l),function(t){t.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var e=a.select(this);f.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),f.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll("."+n.cn.cellRect).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("rect").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll("."+n.cn.cellText).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("text").classed(n.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){a.event.stopPropagation()}),e}(function(t){var e=t.selectAll("."+n.cn.cellTextHolder).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),e}(l));!function(t){t.each(function(t){o.font(a.select(this),t.font)})}(c),x(c,e,s,t),O(l)}function x(t,e,r,i){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,i=t.value,o="string"==typeof i,s=o&&i.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u="string"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,v=p+(g?a.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=b(v)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?b(v):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var m=(" "===n.wrapSplitCharacter?v.replace(/<a href=/gi,"<a_href="):v).split(n.wrapSplitCharacter),y=" "===n.wrapSplitCharacter?m.map(function(t){return t.replace(/<a_href=/gi,"<a href=")}):m;t.fragments=y.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:n.wrapSpacer,width:null}),f=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,f=v;return f}).attr("dy",function(t){return t.needsConvertToTspans?0:"0.75em"}).each(function(t){var o=a.select(this),l=t.wrappingNeeded?L:C;t.needsConvertToTspans?s.convertToTspans(o,i,l(r,this,e,i,t)):a.select(this.parentNode).attr("transform",function(t){return"translate("+P(t)+" "+n.cellPad+")"}).attr("text-anchor",function(t){return{left:"start",center:"middle",right:"end"}[t.align]})})}function b(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function _(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function w(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr("transform","translate("+e.x+" "+r+")")}function k(t){return"cells"===t.type}function T(t){return"header"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+I(e,1/0)},0)}function M(t,e,r){var n=v(e)[0];if(void 0!==n){var a=n.rowBlocks,i=n.calcdata,o=z(a,a.length),s=n.calcdata.groupHeight-A(n),l=i.scrollY=Math.max(0,Math.min(o-s,i.scrollY)),c=function(t,e,r){for(var n=[],a=0,i=0;i<t.length;i++){for(var o=t[i],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<a+l&&e+r>a&&n.push(i),a+=l}return n}(a,l,s);1===c.length&&(c[0]===a.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(z(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),m(r,t))}}function S(t,e,r,i){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===i?s.scrollY+c*a.event.dy:i;var h=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);return M(t,h,l),s.scrollY===u}}function E(t,e,r,n,a,i,o){n[o]!==a[o]&&(clearTimeout(i.currentRepaint[o]),i.currentRepaint[o]=setTimeout(function(){var i=r.filter(function(t,e){return e===o&&n[e]!==a[e]});y(t,e,i,r),a[o]=n[o]}))}function L(t,e,r,i){return function(){var o=a.select(e.parentNode);o.each(function(t){var e=t.fragments;o.selectAll("tspan.line").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,a,i=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(a=(r=s.shift()).width+i)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=a;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),o.selectAll("tspan.line").remove(),x(o.select("."+n.cn.cellText),r,t,i),a.select(e.parentNode.parentNode).call(O)}}function C(t,e,r,i,o){return function(){if(!o.settledY){var s=a.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,f=Math.max(h,u);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,t.selectAll("."+n.cn.columnCell).call(O),M(null,t.filter(k),0),m(r,i,!0)),s.attr("transform",function(){var t=this.parentNode.getBoundingClientRect(),e=a.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),i=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+P(o,a.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+i+")"}),o.settledY=!0}}}function P(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function O(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+I(e,1/0)},0);return"translate(0 "+(I(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function I(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function D(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function R(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=!t._context.staticPlot,s=t._fullLayout._paper.selectAll("."+n.cn.table).data(e.map(function(e){var r=i.unwrap(e).trace;return u(t,r)}),i.keyFun);s.exit().remove(),s.enter().append("g").classed(n.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),s.attr("width",function(t){return t.width+t.size.l+t.size.r}).attr("height",function(t){return t.height+t.size.t+t.size.b}).attr("transform",function(t){return"translate("+t.translateX+","+t.translateY+")"});var f=s.selectAll("."+n.cn.tableControlView).data(i.repeat,i.keyFun),x=f.enter().append("g").classed(n.cn.tableControlView,!0).style("box-sizing","content-box");r&&x.on("mousemove",function(e){f.filter(function(t){return e===t}).call(m,t)}).on("mousewheel",function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+a.event.deltaY;S(t,f,null,r)(e)||(a.event.stopPropagation(),a.event.preventDefault()),e.scrollbarState.wheeling=!1}}).call(m,t,!0),f.attr("transform",function(t){return"translate("+t.size.l+" "+t.size.t+")"});var b=f.selectAll("."+n.cn.scrollBackground).data(i.repeat,i.keyFun);b.enter().append("rect").classed(n.cn.scrollBackground,!0).attr("fill","none"),b.attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),f.each(function(e){o.setClipUrl(a.select(this),d(t,e),t)});var _=f.selectAll("."+n.cn.yColumn).data(function(t){return t.columns},i.keyFun);_.enter().append("g").classed(n.cn.yColumn,!0),_.exit().remove(),_.attr("transform",function(t){return"translate("+t.x+" 0)"}),r&&_.call(a.behavior.drag().origin(function(e){return w(a.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,m(f.filter(function(t){return e.calcdata.key===t.key}),t),e}).on("drag",function(t){var e=a.select(this),r=function(e){return(t===e?a.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,a.event.x)),v(_).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return r(t)-r(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),_.filter(function(e){return t!==e}).transition().ease(n.transitionEase).duration(n.transitionDuration).attr("transform",function(t){return"translate("+t.x+" 0)"}),e.call(c).attr("transform","translate("+t.x+" -"+n.uplift+" )")}).on("dragend",function(e){var r=a.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,w(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit("plotly_restyle")}(t,n,n.columns.map(function(t){return t.xIndex}))})),_.each(function(e){o.setClipUrl(a.select(this),g(t,e),t)});var A=_.selectAll("."+n.cn.columnBlock).data(h.splitToPanels,i.keyFun);A.enter().append("g").classed(n.cn.columnBlock,!0).attr("id",function(t){return t.key}),A.style("cursor",function(t){return t.dragHandle?"ew-resize":t.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var E=A.filter(T),L=A.filter(k);r&&L.call(a.behavior.drag().origin(function(t){return a.event.stopPropagation(),t}).on("drag",S(t,f,-1)).on("dragend",function(){})),y(t,f,E,A),y(t,f,L,A);var C=f.selectAll("."+n.cn.scrollAreaClip).data(i.repeat,i.keyFun);C.enter().append("clipPath").classed(n.cn.scrollAreaClip,!0).attr("id",function(e){return d(t,e)});var P=C.selectAll("."+n.cn.scrollAreaClipRect).data(i.repeat,i.keyFun);P.enter().append("rect").classed(n.cn.scrollAreaClipRect,!0).attr("x",-n.overdrag).attr("y",-n.uplift).attr("fill","none"),P.attr("width",function(t){return t.width+2*n.overdrag}).attr("height",function(t){return t.height+n.uplift}),_.selectAll("."+n.cn.columnBoundary).data(i.repeat,i.keyFun).enter().append("g").classed(n.cn.columnBoundary,!0);var O=_.selectAll("."+n.cn.columnBoundaryClippath).data(i.repeat,i.keyFun);O.enter().append("clipPath").classed(n.cn.columnBoundaryClippath,!0),O.attr("id",function(e){return g(t,e)});var z=O.selectAll("."+n.cn.columnBoundaryRect).data(i.repeat,i.keyFun);z.enter().append("rect").classed(n.cn.columnBoundaryRect,!0).attr("fill","none"),z.attr("width",function(t){return t.columnWidth+2*p(t)}).attr("height",function(t){return t.calcdata.height+2*p(t)+n.uplift}).attr("x",function(t){return-p(t)}).attr("y",function(t){return-p(t)}),M(null,L,f)}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../lib/svg_text_utils":740,"./constants":1248,"./data_preparation_helper":1249,"./data_split_helpers":1250,d3:164}],1254:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../components/colorscale/attributes"),o=t("../../plots/domain").attributes,s=t("../pie/attributes"),l=t("../sunburst/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,editType:"calc"},i("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:a({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:s.outsidetextfont,textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},domain:o({name:"treemap",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092,"../sunburst/attributes":1228,"./constants":1257}],1255:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="treemap",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1256:[function(t,e,r){"use strict";var n=t("../sunburst/calc");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc("treemap",t)}},{"../sunburst/calc":1230}],1257:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1258:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText,l=t("../bar/constants").TEXTPAD,c=t("../../components/colorscale"),u=c.hasColorscale,h=c.handleDefaults;e.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,a,r,i)}var p=f("labels"),d=f("parents");if(p&&p.length&&d&&d.length){var g=f("values");g&&g.length?f("branchvalues"):f("count"),f("level"),f("maxdepth"),"squarify"===f("tiling.packing")&&f("tiling.squarifyratio"),f("tiling.flip"),f("tiling.pad");var v=f("text");f("texttemplate"),e.texttemplate||f("textinfo",Array.isArray(v)?"text+label":"label"),f("hovertext"),f("hovertemplate");s(t,e,c,f,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f("textposition");var m=-1!==e.textposition.indexOf("bottom");f("marker.line.width")&&f("marker.line.color",c.paper_bgcolor);var y=f("marker.colors"),x=e._hasColorscale=u(t,"marker","colors");x?h(t,e,c,f,{prefix:"marker.",cLetter:"c"}):f("marker.depthfade",!(y||[]).length);var b=2*e.textfont.size;f("marker.pad.t",m?b/4:b),f("marker.pad.l",b/4),f("marker.pad.r",b/4),f("marker.pad.b",m?b:b/4),x&&h(t,e,c,f,{prefix:"marker.",cLetter:"c"}),e._hovered={marker:{line:{width:2,color:i.contrast(c.paper_bgcolor)}}},f("pathbar.visible")&&(n.coerceFont(f,"pathbar.textfont",c.font),f("pathbar.thickness",e.pathbar.textfont.size+2*l),f("pathbar.side"),f("pathbar.edgeshape")),o(e,c,f),e._length=null}else e.visible=!1}},{"../../components/color":591,"../../components/colorscale":603,"../../lib":716,"../../plots/domain":789,"../bar/constants":857,"../bar/defaults":859,"./attributes":1254}],1259:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx");e.exports=function(t,e,r,f,p){var d=p.barDifY,g=p.width,v=p.height,m=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,k=p.handleSlicesExit,T=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],L=E.trace,C=E.hierarchy,P=g/L._entryDepth,O=u.listPath(r.data,"id"),z=s(C.copy(),[g,v],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter(function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+v,t.onPathbar=!0,!0)})).reverse(),(f=f.data(z,u.getPtId)).enter().append("g").classed("pathbar",!0),k(f,!0,M,[g,v],x),f.order();var I=f;w&&(I=I.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),I.each(function(s){s._hoverX=m(s.x1-v/2),s._hoverY=y(s.y1-v/2);var f=n.select(this),p=a.ensureSingle(f,"path","surface",function(t){t.style("pointer-events","all")});w?p.transition().attrTween("d",function(t){var e=T(t,!0,M,[g,v]);return function(t){return x(e(t))}}):p.attr("d",x),f.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,L,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("<br>").join(" ")||"";var d=a.ensureSingle(f,"g","slicetext"),k=a.ensureSingle(d,"text","",function(t){t.attr("data-notex",1)});k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,u.determineTextFont(L,s,S.font,L.pathdir)).call(o.convertToTspans,t),s.textBB=i.bBox(k.node()),s.transform=b(s,{onPathbar:!0}),u.isOutsideText(L,s)&&(s.transform.targetY-=u.getOutsideTextFontKey("size",L,s,S.font)-u.getInsideTextFontKey("size",L,s,S.font)),w?k.transition().attrTween("transform",function(t){var e=A(t,!0,M,[g,v]);return function(t){return _(e(t))}}):k.attr("transform",_(s))})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1260:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx"),f=t("../sunburst/plot").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,v=d.height,m=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,k=d.handleSlicesExit,T=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,L=-1!==E.textposition.indexOf("left"),C=-1!==E.textposition.indexOf("right"),P=-1!==E.textposition.indexOf("bottom"),O=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,z=s(r,[g,v],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf("x")>-1,flipY:E.tiling.flip.indexOf("y")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),I=1/0,D=-1/0;z.forEach(function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(I=Math.min(I,e),D=Math.max(D,e))}),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-I+1:0,p.enter().append("g").classed("slice",!0),k(p,!1,{},[g,v],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each(function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})})}var B=function(){return R||{x0:0,x1:g,y0:0,y1:v}},N=p;return w&&(N=N.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(s){var p=u.isHeader(s,E);s._hoverX=m(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),k=a.ensureSingle(d,"path","surface",function(t){t.style("pointer-events","all")});w?k.transition().attrTween("d",function(t){var e=T(t,!1,B(),[g,v]);return function(t){return x(e(t))}}):k.attr("d",x),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=p?O?"":u.getPtLabel(s)||"":f(s,r,E,e,S)||"";var M=a.ensureSingle(d,"g","slicetext"),z=a.ensureSingle(M,"text","",function(t){t.attr("data-notex",1)});z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",C?"end":L||p?"start":"middle").call(i.font,u.determineTextFont(E,s,S.font)).call(o.convertToTspans,t),s.textBB=i.bBox(z.node()),s.transform=b(s,{isHeader:p}),w?z.transition().attrTween("transform",function(t){var e=A(t,!1,B(),[g,v]);return function(t){return _(e(t))}}):z.attr("transform",_(s))}),R}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"../sunburst/plot":1238,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1261:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"treemap",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1254,"./base_plot":1255,"./calc":1256,"./defaults":1258,"./layout_attributes":1262,"./layout_defaults":1263,"./plot":1265,"./style":1266}],1262:[function(t,e,r){"use strict";e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1263:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},{"../../lib":716,"./layout_attributes":1262}],1264:[function(t,e,r){"use strict";var n=t("d3-hierarchy");e.exports=function(t,e,r){var a,i=r.flipX,o=r.flipY,s="dice-slice"===r.packing,l=r.pad[o?"bottom":"top"],c=r.pad[i?"right":"left"],u=r.pad[i?"left":"right"],h=r.pad[o?"top":"bottom"];s&&(a=c,c=l,l=a,a=u,u=h,h=a);var f=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(h).size(s?[e[1],e[0]]:e)(t);return(s||i||o)&&function t(e,r,n){var a;n.swapXY&&(a=e.x0,e.x0=e.y0,e.y0=a,a=e.x1,e.x1=e.y1,e.y1=a);n.flipX&&(a=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-a);n.flipY&&(a=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-a);var i=e.children;if(i)for(var o=0;o<i.length;o++)t(i[o],r,n)}(f,e,{swapXY:s,flipX:i,flipY:o}),f}},{"d3-hierarchy":158}],1265:[function(t,e,r){"use strict";var n=t("d3"),a=t("../sunburst/helpers").hasTransition,i=t("../sunburst/helpers"),o=t("../../lib"),s=t("../bar/constants").TEXTPAD,l=t("../bar/plot").toMoveInsideBar,c=t("./constants"),u=t("./draw_descendants"),h=t("./draw_ancestors");function f(t){return i.isHierarchyRoot(t)?"":i.getPtId(t)}function p(t,e,r,a){var p=t._fullLayout,d=e[0],g=d.trace,v=d.hierarchy,m=i.findEntryWithLevel(v,g.level),y=n.select(r),x=y.selectAll("g.pathbar"),b=y.selectAll("g.slice");if(!m)return x.remove(),void b.remove();var _=i.isHierarchyRoot(m),w=i.hasTransition(a),k=i.getMaxDepth(g),T=p._size,A=g.domain,M=T.w*(A.x[1]-A.x[0]),S=T.h*(A.y[1]-A.y[0]),E=M,L=g.pathbar.thickness,C=g.marker.line.width+c.gapWithPathbar,P=g.pathbar.visible?g.pathbar.side.indexOf("bottom")>-1?S+C:-(L+C):0,O={x0:E,x1:E,y0:P,y1:P+L},z=function(t,e,r){var n=g.tiling.pad,a=function(t){return t-n<=e.x0},i=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:a(t.x0-n)?0:i(t.x0-n)?r[0]:t.x0,x1:a(t.x1+n)?0:i(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},I=null,D={},R={},F=null,B=function(t,e){return e?D[f(t)]:R[f(t)]},N=function(t,e,r,n){if(e)return D[f(v)]||O;var a=R[g.level]||r;return function(t){return t.data.depth-m.data.depth<k}(t)?z(t,a,n):{}};d.hasMultipleRoots&&_&&k++,g._maxDepth=k,g._backgroundColor=p.paper_bgcolor,g._entryDepth=m.data.depth,g._atRootLevel=_;var j=-M/2+T.l+T.w*(A.x[1]+A.x[0])/2,V=-S/2+T.t+T.h*(1-(A.y[1]+A.y[0])/2),U=function(t){return j+t},q=function(t){return V+t},H=q(0),G=U(0),Y=function(t){return G+t},W=function(t){return H+t};function X(t,e){return t+","+e}var Z=Y(0),J=function(t){t.x=Math.max(Z,t.x)},K=g.pathbar.edgeshape,Q=function(t,e){var r=t.x0,n=t.x1,a=t.y0,i=t.y1,o=t.textBB;r===n&&(r-=s,n+=s),a===i&&(a-=s,i+=s);var c=function(t){return-1!==g.textposition.indexOf(t)},u=c("bottom"),h=c("top")||e.isHeader&&!u?"start":u?"end":"middle",f=c("right"),p=c("left")||e.onPathbar,d=p?"left":f?"right":"center";!e.onPathbar&&e.isHeader||(r+=p?s:0,n-=f?s:0);var v=g.marker.pad;if(e.isHeader){if((r+=v.l-s)>=(n-=v.r-s)){var m=(r+n)/2;r=m-s,n=m+s}var y;u?a<(y=i-v.b)&&y<i&&(a=y):a<(y=a+v.t)&&y<i&&(i=y)}var x=l(r,n,a,i,o,{isHorizontal:!1,constrained:!0,angle:0,anchor:h});if("center"!==d){var b=(n-r)/2-x.scale*(o.right-o.left)/2;e.isHeader&&(b-=s),"left"===d?x.targetX-=b:"right"===d&&(x.targetX+=b)}return x.targetX=U(x.targetX),x.targetY=q(x.targetY),isNaN(x.targetX)||isNaN(x.targetY)?{}:{scale:x.scale,rotate:x.rotate,textX:x.textX,textY:x.textY,targetX:x.targetX,targetY:x.targetY}},$=function(t,e){for(var r,n=0,a=t;!r&&n<k;)n++,(a=a.parent)?r=B(a,e):n=k;return r||{}},tt=function(t,e,r,a){var i,s=B(t,e);if(s)i=s;else if(e)i=O;else if(I)if(t.parent){var l=F||r;l&&!e?i=z(t,l,a):(i={},o.extendFlat(i,$(t,e)))}else i=t;else i={};return n.interpolate(i,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},et=function(t,e,r,a){var s=B(t,e),l={},c=N(t,e,r,a);return o.extendFlat(l,{transform:Q({x0:c.x0,x1:c.x1,y0:c.y0,y1:c.y1,textBB:t.textBB,_text:t._text},{isHeader:i.isHeader(t,g)})}),s?l=s:t.parent&&o.extendFlat(l,$(t,e)),n.interpolate(l,{transform:{scale:t.transform.scale,rotate:t.transform.rotate,textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY}})},rt=function(t,e,r,a,i){var o=a[0],s=a[1];w?t.exit().transition().each(function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",function(t){var r=function(t,e,r,a){var i,o=B(t,e);if(e)i=O;else{var s=B(m,e);i=s?z(t,s,a):{}}return n.interpolate(o,i)}(t,e,0,[o,s]);return function(t){return i(r(t))}}),t.select("g.slicetext").attr("opacity",0)}).remove():t.exit().remove()},nt=function(t){return o.getTextTransform({textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})};w&&(x.each(function(t){D[f(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(D[f(t)].transform={textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})}),b.each(function(t){R[f(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(R[f(t)].transform={textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!I&&i.isEntry(t)&&(I=t)})),F=u(t,e,m,b,{width:M,height:S,viewX:U,viewY:q,pathSlice:function(t){var e=U(t.x0),r=U(t.x1),n=q(t.y0),a=q(t.y1),i=r-e,o=a-n;if(!i||!o)return"";return"M"+X(e,n+0)+"L"+X(r-0,n)+"L"+X(r,a-0)+"L"+X(e+0,a)+"Z"},toMoveInsideSlice:Q,prevEntry:I,makeUpdateSliceInterpolator:tt,makeUpdateTextInterpolator:et,handleSlicesExit:rt,hasTransition:w,strTransform:nt}),g.pathbar.visible&&h(t,e,m,x,{barDifY:P,width:E,height:L,viewX:Y,viewY:W,pathSlice:function(t){var e=Y(Math.max(Math.min(t.x0,t.x0),0)),r=Y(Math.min(Math.max(t.x1,t.x1),E)),n=W(t.y0),a=W(t.y1),i=L/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+a)/2;var l={x:e,y:n},c={x:r,y:n},u={x:r,y:a},h={x:e,y:a};return">"===K?(l.x-=i,c.x-=i,u.x-=i,h.x-=i):"/"===K?(u.x-=i,h.x-=i,o.x-=i/2,s.x-=i/2):"\\"===K?(l.x-=i,c.x-=i,o.x-=i/2,s.x-=i/2):"<"===K&&(o.x-=i,s.x-=i),J(l),J(h),J(o),J(c),J(u),J(s),"M"+X(l.x,l.y)+"L"+X(c.x,c.y)+"L"+X(s.x,s.y)+"L"+X(u.x,u.y)+"L"+X(h.x,h.y)+"L"+X(o.x,o.y)+"Z"},toMoveInsideSlice:Q,makeUpdateSliceInterpolator:tt,makeUpdateTextInterpolator:et,handleSlicesExit:rt,hasTransition:w,strTransform:nt})}e.exports=function(t,e,r,i){var o,s,l=t._fullLayout._treemaplayer,c=!r;((o=l.selectAll("g.trace.treemap").data(e,function(t){return t[0].trace.uid})).enter().append("g").classed("trace",!0).classed("treemap",!0),o.order(),a(r))?(i&&(s=i()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()}).each(function(){l.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):o.each(function(e){p(t,e,this,r)});c&&o.exit().remove()}},{"../../lib":716,"../bar/constants":857,"../bar/plot":866,"../sunburst/helpers":1234,"./constants":1257,"./draw_ancestors":1259,"./draw_descendants":1260,d3:164}],1266:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib"),o=t("../sunburst/helpers");function s(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,h=u.i,f=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&"rgba(0,0,0,0)"===f)d=0,s="rgba(0,0,0,0)",l=0;else if(s=i.castOption(r,h,"marker.line.color")||a.defaultLine,l=i.castOption(r,h,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var v,m=a.combine(a.addOpacity(r._backgroundColor,.75),f);if(!0===g){var y=o.getMaxDepth(r);v=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else v=e.data.depth-r._entryDepth,r._atRootLevel||v++;if(v>0)for(var x=0;x<v;x++){var b=.5*x/v;f=a.combine(a.addOpacity(m,b),f)}}}t.style("stroke-width",l).call(a.fill,f).call(a.stroke,s).style("opacity",d)}e.exports={style:function(t){t._fullLayout._treemaplayer.selectAll(".trace").each(function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each(function(t){n.select(this).call(s,t,r,{hovered:!1})})})},styleOne:s}},{"../../components/color":591,"../../lib":716,"../sunburst/helpers":1234,d3:164}],1267:[function(t,e,r){"use strict";var n=t("../box/attributes"),a=t("../../lib/extend").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:a({},n.name,{}),orientation:a({},n.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,points:a({},n.boxpoints,{}),jitter:a({},n.jitter,{}),pointpos:a({},n.pointpos,{}),width:a({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":707,"../box/attributes":879}],1268:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../box/calc"),o=t("./helpers"),s=t("../../constants/numerical").BADNUM;function l(t,e,r){var a=e.max-e.min;if(!a)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,a/1e4);var i=r.length,o=n.stdev(r,i-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(i,o,e.q3-e.q1),a/100)}function c(t,e,r,n){var i,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function h(n){var a=l[n],i="multicategory"===r.type?r.r2c(a):r.d2c(a,0,t[e.valLetter+"calendar"]);return i===s?u[n]:i}var f={type:"linear",range:i="soft"===o?u:"hard"===o?c:[h(0),h(1)]};return a.setConvert(f),f.cleanRange(),i}e.exports=function(t,e){var r=i(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,u=a.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),h=1/0,f=-1/0,p=0,d=0,g=0;g<r.length;g++){var v=r[g],m=v.pts.map(o.extractVal),y=v.bandwidth=l(e,v,m),x=v.span=c(e,v,u,y);if(v.min===v.max&&0===y)x=v.span=[v.min,v.max],v.density=[{v:1,t:x[0]}],v.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error("Something went wrong with computing the violin span"),r[0].t.empty=!0,r;var k=o.makeKDE(v,e,m);v.density=new Array(_);for(var T=0,A=x[0];A<x[1]+w/2;T++,A+=w){var M=k(A);v.density[T]={v:M,t:A},p=Math.max(p,M)}}d=Math.max(d,m.length),h=Math.min(h,x[0]),f=Math.max(f,x[1])}var S=a.findExtremes(u,[h,f],{padded:!0});if(e._extremes[u._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,L=e.scalegroup,C=E[L];C?(C.maxKDE=Math.max(C.maxKDE,p),C.maxCount=Math.max(C.maxCount,d)):E[L]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,"kde:"),r}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../box/calc":880,"./helpers":1271}],1269:[function(t,e,r){"use strict";var n=t("../box/cross_trace_calc").setPositionOffset,a=["v","h"];e.exports=function(t,e){for(var r=t.calcdata,i=e.xaxis,o=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c="h"===l?o:i,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||"violin"!==d.type||p.empty||d.orientation!==l||d.xaxis!==i._id||d.yaxis!==o._id||u.push(h)}n("violin",t,u,c)}}},{"../box/cross_trace_calc":881}],1270:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../box/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}function c(r,a){return n.coerce2(t,e,o,r,a)}if(i.handleSampleDefaults(t,e,l,s),!1!==e.visible){l("bandwidth"),l("side"),l("width")||(l("scalegroup",e.name),l("scalemode"));var u,h=l("span");Array.isArray(h)&&(u="manual"),l("spanmode",u);var f=l("line.color",(t.marker||{}).color||r),p=l("line.width"),d=l("fillcolor",a.addOpacity(e.line.color,.5));i.handlePointsDefaults(t,e,l,{prefix:""});var g=c("box.width"),v=c("box.fillcolor",d),m=c("box.line.color",f),y=c("box.line.width",p);l("box.visible",Boolean(g||v||m||y))||(e.box={visible:!1});var x=c("meanline.color",f),b=c("meanline.width",p);l("meanline.visible",Boolean(x||b))||(e.meanline={visible:!1})}}},{"../../components/color":591,"../../lib":716,"../box/defaults":882,"./attributes":1267}],1271:[function(t,e,r){"use strict";var n=t("../../lib"),a=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,i=a,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,a=0;a<n;a++)e+=i((t-r[a])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var a,i;"h"===e.orientation?(a="y",i="x"):(a="x",i="y");var o=n.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[a];return[l,"both"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var a=t.pts.map(r.extractVal);return r.makeKDE(t,e,a)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{"../../lib":716}],1272:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../box/hover"),o=t("./helpers");e.exports=function(t,e,r,s,l){var c,u,h=t.cd,f=h[0].trace,p=f.hoveron,d=-1!==p.indexOf("violins"),g=-1!==p.indexOf("kde"),v=[];if(d||g){var m=i.hoverOnBoxes(t,e,r,s);if(g&&m.length>0){var y,x,b,_,w,k=t.xa,T=t.ya;"h"===f.orientation?(w=e,y="y",b=T,x="x",_=k):(w=r,y="x",b=k,x="y",_=T);var A=h[t.index];if(w>=A.span[0]&&w<=A.span[1]){var M=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,f,w),L=o.getPositionOnKdePath(A,f,S),C=b._offset,P=b._length;M[y+"0"]=L[0],M[y+"1"]=L[1],M[x+"0"]=M[x+"1"]=S,M[x+"Label"]=x+": "+a.hoverLabelText(_,w)+", "+h[0].t.labels.kde+" "+E.toFixed(3),M.spikeDistance=m[0].spikeDistance;var O=y+"Spike";M[O]=m[0][O],m[0].spikeDistance=void 0,m[0][O]=void 0,M.hovertemplate=!1,v.push(M),(u={stroke:t.color})[y+"1"]=n.constrain(C+L[0],C,C+P),u[y+"2"]=n.constrain(C+L[1],C,C+P),u[x+"1"]=u[x+"2"]=_._offset+S}}d&&(v=v.concat(m))}-1!==p.indexOf("points")&&(c=i.hoverOnPoints(t,e,r));var z=l.selectAll(".violinline-"+f.uid).data(u?[0]:[]);return z.enter().append("line").classed("violinline-"+f.uid,!0).attr("stroke-width",1.5),z.exit().remove(),z.attr(u),"closest"===s?c?[c]:v:c?(v.push(c),v):v}},{"../../lib":716,"../../plots/cartesian/axes":764,"../box/hover":884,"./helpers":1271}],1273:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../box/defaults":882,"../box/select":889,"../scatter/style":1141,"./attributes":1267,"./calc":1268,"./cross_trace_calc":1269,"./defaults":1270,"./hover":1272,"./layout_attributes":1274,"./layout_defaults":1275,"./plot":1276,"./style":1277}],1274:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),a=t("../../lib").extendFlat;e.exports={violinmode:a({},n.boxmode,{}),violingap:a({},n.boxgap,{}),violingroupgap:a({},n.boxgroupgap,{})}},{"../../lib":716,"../box/layout_attributes":886}],1275:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../box/layout_defaults");e.exports=function(t,e,r){i._supply(t,e,r,function(r,i){return n.coerce(t,e,a,r,i)},"violin")}},{"../../lib":716,"../box/layout_defaults":887,"./layout_attributes":1274}],1276:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,h=e.xaxis,f=e.yaxis;function p(t){var e=s(t,{xaxis:h,yaxis:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return i.smoothopen(e[0],1)}a.makeTraceGroups(c,r,"trace violins").each(function(t){var r=n.select(this),i=t[0],s=i.t,c=i.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,v=e[s.valLetter+"axis"],m=e[s.posLetter+"axis"],y="both"===c.side,x=y||"positive"===c.side,b=y||"negative"===c.side,_=r.selectAll("path.violin").data(a.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each(function(t){var e,r,a,i,o,l,h,f,_=n.select(this),w=t.density,k=w.length,T=m.c2l(t.pos+d,!0),A=m.l2p(T);if(c.width)e=s.maxKDE/g;else{var M=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?M.maxKDE/g*(M.maxCount/t.pts.length):M.maxKDE/g}if(x){for(h=new Array(k),o=0;o<k;o++)(f=h[o]={})[s.posLetter]=T+w[o].v/e,f[s.valLetter]=v.c2l(w[o].t,!0);r=p(h)}if(b){for(h=new Array(k),l=0,o=k-1;l<k;l++,o--)(f=h[l]={})[s.posLetter]=T-w[o].v/e,f[s.valLetter]=v.c2l(w[o].t,!0);a=p(h)}if(y)i=r+"L"+a.substr(1)+"Z";else{var S=[A,v.c2p(w[0].t)],E=[A,v.c2p(w[k-1].t)];"h"===c.orientation&&(S.reverse(),E.reverse()),i=x?"M"+S+"L"+r.substr(1)+"L"+E:"M"+E+"L"+a.substr(1)+"L"+S}_.attr("d",i),t.posCenterPx=A,t.posDensityScale=e*g,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(y?2:1)});var w,k,T,A=c.box,M=A.width,S=(A.line||{}).width;y?(w=g*M,k=0):x?(w=[0,g*M/2],k=S*{x:1,y:-1}[s.posLetter]):(w=[g*M/2,0],k=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:m,val:v},c,{bPos:d,bdPos:w,bPosPxOffset:k}),o.plotBoxMean(r,{pos:m,val:v},c,{bPos:d,bdPos:w,bPosPxOffset:k}),!c.box.visible&&c.meanline.visible&&(T=a.identity);var E=r.selectAll("path.meanline").data(T||[]);E.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke"),E.exit().remove(),E.each(function(t){var e=v.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr("d","h"===c.orientation?"M"+e+","+r[0]+"V"+r[1]:"M"+r[0]+","+e+"H"+r[1])}),o.plotPoints(r,{x:h,y:f},c,s)}})}},{"../../components/drawing":612,"../../lib":716,"../box/plot":888,"../scatter/line_points":1132,"./helpers":1271,d3:164}],1277:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../scatter/style").stylePoints;e.exports=function(t){var e=n.select(t).selectAll("g.trace.violins");e.style("opacity",function(t){return t[0].trace.opacity}),e.each(function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll("path.violin").style("stroke-width",r.line.width+"px").call(a.stroke,r.line.color).call(a.fill,r.fillcolor),o.selectAll("path.box").style("stroke-width",l.width+"px").call(a.stroke,l.color).call(a.fill,s.fillcolor);var h={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};o.selectAll("path.mean").style(h).call(a.stroke,c.color),o.selectAll("path.meanline").style(h).call(a.stroke,c.color),i(o,r,t)})}},{"../../components/color":591,"../scatter/style":1141,d3:164}],1278:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../isosurface/attributes"),i=t("../../plots/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=e.exports=s(o({x:a.x,y:a.y,z:a.z,value:a.value,isomin:a.isomin,isomax:a.isomax,surface:a.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:a.slices,caps:a.caps,text:a.text,hovertext:a.hovertext,hovertemplate:a.hovertemplate},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:a.colorbar,opacity:a.opacity,opacityscale:{valType:"any",editType:"calc"},lightposition:a.lightposition,lighting:a.lighting,flatshading:a.flatshading,contour:a.contour,hoverinfo:o({},i.hoverinfo)}),"calc","nested");l.x.editType=l.y.editType=l.z.editType=l.value.editType="calc+clearAxisTypes",l.transforms=void 0},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../isosurface/attributes":1054}],1279:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("../../lib/gl_format_color").parseColorScale,i=t("../../lib/str2rgbarray"),o=t("../../components/colorscale").extractOpts,s=t("../../plots/gl3d/zip3"),l=t("../isosurface/convert").findNearestOnAxis,c=t("../isosurface/convert").generateIsoMeshes;function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._x[e],n=this.data._y[e],a=this.data._z[e],i=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(a,this.data._Zs).id,h=t.index=u+o*c+o*i*s;t.traceCoordinate=[this.data._x[h],this.data._y[h],this.data._z[h],this.data.value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=c(t);var l={positions:s(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:s(t._i,t._j,t._k),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:i(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._intensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=a(t),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new u(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"../isosurface/convert":1056,"gl-mesh3d":282}],1280:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../isosurface/defaults").supplyIsoDefaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(t,e,r,o,s);var l=s("opacityscale");"max"===l?e.opacityscale=[[0,.1],[1,1]]:"min"===l?e.opacityscale=[[0,1],[1,.1]]:"extremes"===l?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var a=n/31,i=e+(1-e)*(1-Math.pow(Math.sin(t*a*Math.PI),2));r.push([a,Math.max(1,Math.min(0,i))])}return r}(1,.1):function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(l)||(e.opacityscale=void 0)}},{"../../lib":716,"../isosurface/defaults":1057,"./attributes":1278}],1281:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../isosurface/calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"volume",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"../isosurface/calc":1055,"./attributes":1278,"./convert":1279,"./defaults":1280}],1282:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../scatter/attributes").line,i=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");function h(t){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:"style"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:"style"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}e.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:h(),decreasing:h(),totals:h(),connector:{line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{editType:"plot"}),dash:a.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":591,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118,"./constants":1284}],1283:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib").mergeArray,i=t("../scatter/calc_selection"),o=t("../../constants/numerical").BADNUM;function s(t){return"a"===t||"absolute"===t}function l(t){return"t"===t||"total"===t}e.exports=function(t,e){var r,c,u=n.getFromId(t,e.xaxis||"x"),h=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=u.makeCalcdata(e,"x"),c=h.makeCalcdata(e,"y")):(r=h.makeCalcdata(e,"y"),c=u.makeCalcdata(e,"x"));for(var f,p=Math.min(c.length,r.length),d=new Array(p),g=0,v=!1,m=0;m<p;m++){var y=r[m]||0,x=!1;(r[m]!==o||l(e.measure[m])||s(e.measure[m]))&&m+1<p&&(r[m+1]!==o||l(e.measure[m+1])||s(e.measure[m+1]))&&(x=!0);var b=d[m]={i:m,p:c[m],s:y,rawS:y,cNext:x};s(e.measure[m])?(g=b.s,b.isSum=!0,b.dir="totals",b.s=g):l(e.measure[m])?(b.isSum=!0,b.dir="totals",b.s=g):(b.isSum=!1,b.dir=b.rawS<0?"decreasing":"increasing",f=b.s,b.s=g+f,g+=f),"totals"===b.dir&&(v=!0),e.ids&&(b.id=String(e.ids[m])),b.v=(e.base||0)+g}return d.length&&(d[0].hasTotals=v),a(e.text,d,"tx"),a(e.hovertext,d,"htx"),i(d,e),d}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120}],1284:[function(t,e,r){"use strict";e.exports={eventDataKeys:["initial","delta","final"]}},{}],1285:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a];!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"waterfall"===p.type&&(r=s[a],"h"===p.orientation?f.push(r):h.push(r),u.push(r))}var d={mode:i.waterfallmode,norm:i.waterfallnorm,gap:i.waterfallgap,groupgap:i.waterfallgroupgap};for(n(t,l,c,h,d),n(t,c,l,f,d),a=0;a<u.length;a++){r=u[a];for(var g=0;g<r.length;g++){var v=r[g];!1===v.isSum&&(v.s0+=0===g?0:r[g-1].s),g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0)}}}},{"../bar/cross_trace_calc":858}],1286:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../bar/defaults").handleGroupingDefaults,i=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("./attributes"),l=t("../../components/color"),c=t("../../constants/delta.js"),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR,f="#4499FF";function p(t,e,r){t(e+".marker.color",r),t(e+".marker.line.color",l.defaultLine),t(e+".marker.line.width")}e.exports={supplyDefaults:function(t,e,r,a){function l(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,l)){l("measure"),l("orientation",e.x&&!e.y?"h":"v"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate");var c=l("textposition");i(t,e,a,l,c,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==e.textposition&&(l("texttemplate"),e.texttemplate||l("textinfo")),p(l,"increasing",u),p(l,"decreasing",h),p(l,"totals",f),l("connector.visible")&&(l("connector.mode"),l("connector.line.width")&&(l("connector.line.color"),l("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if("group"===e.waterfallmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{"../../components/color":591,"../../constants/delta.js":686,"../../lib":716,"../bar/defaults":859,"../scatter/xy_defaults":1144,"./attributes":1282}],1287:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"initial"in e&&(t.initial=e.initial),"delta"in e&&(t.delta=e.delta),"final"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1288:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes").hoverLabelText,a=t("../../components/color").opacity,i=t("../bar/hover").hoverOnBars,o=t("../../constants/delta.js"),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(t,e,r,o){var c=i(t,e,r,o);if(c){var u=c.cd,h=u[0].trace,f="h"===h.orientation,p=f?t.xa:t.ya,d=u[c.index],g=d.isSum?d.b+d.s:d.rawS;if(!d.isSum){c.initial=d.b+d.s-g,c.delta=g,c.final=c.initial+c.delta;var v=w(Math.abs(c.delta));c.deltaLabel=g<0?"("+v+")":v,c.finalLabel=w(c.final),c.initialLabel=w(c.initial)}var m=d.hi||h.hoverinfo,y=[];if(m&&"none"!==m&&"skip"!==m){var x="all"===m,b=m.split("+"),_=function(t){return x||-1!==b.indexOf(t)};d.isSum||(!_("final")||_(f?"x":"y")||y.push(c.finalLabel),_("delta")&&(g<0?y.push(c.deltaLabel+" "+l):y.push(c.deltaLabel+" "+s)),_("initial")&&y.push("Initial: "+c.initialLabel))}return y.length&&(c.extraText=y.join("<br>")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,i=r.line.color,o=r.line.width;if(a(n))return n;if(a(i)&&o)return i}(h,d),[c]}function w(t){return n(p,t)}}},{"../../components/color":591,"../../constants/delta.js":686,"../../plots/cartesian/axes":764,"../bar/hover":862}],1289:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":1282,"./calc":1283,"./cross_trace_calc":1285,"./defaults":1286,"./event_data":1287,"./hover":1288,"./layout_attributes":1290,"./layout_defaults":1291,"./plot":1292,"./style":1293}],1290:[function(t,e,r){"use strict";e.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1291:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"waterfall"===l.type){i=!0;break}}i&&(o("waterfallmode"),o("waterfallgap",.2),o("waterfallgroupgap"))}},{"../../lib":716,"./layout_attributes":1290}],1292:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../bar/plot").plot;e.exports=function(t,e,r,s){var l=t._fullLayout;o(t,e,r,s,{mode:l.waterfallmode,norm:l.waterfallmode,gap:l.waterfallgap,groupgap:l.waterfallgroupgap}),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),c=r[0].trace,u=a.ensureSingle(o,"g","lines");if(c.connector&&c.connector.visible){var h="h"===c.orientation,f=c.connector.mode,p=u.selectAll("g.line").data(a.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var c=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),n?[a,i]:[i,a]}(r,s,l,h),u=c[0],p=c[1],g="";"spanning"===f&&!r.isSum&&o>0&&(g+=h?"M"+u[0]+","+p[1]+"V"+p[0]:"M"+u[1]+","+p[0]+"H"+u[0]),"between"!==f&&(r.isSum||o<d-1)&&(g+=h?"M"+u[1]+","+p[0]+"V"+p[1]:"M"+u[0]+","+p[1]+"H"+u[1]),void 0!==u[2]&&void 0!==p[2]&&(g+=h?"M"+u[1]+","+p[1]+"V"+p[2]:"M"+u[1]+","+p[1]+"H"+u[2]),""===g&&(g="M0,0Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else u.remove()})}(t,e,r,s)}},{"../../components/drawing":612,"../../lib":716,"../bar/plot":866,d3:164}],1293:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style").styleTextPoints;e.exports={style:function(t,e,r){var l=r||n.select(t).selectAll("g.waterfalllayer").selectAll("g.trace");l.style("opacity",function(t){return t[0].trace.opacity}),l.each(function(e){var r=n.select(this),l=e[0].trace;r.selectAll(".point > path").each(function(t){if(!t.isBlank){var e=l[t.dir].marker;n.select(this).call(i.fill,e.color).call(i.stroke,e.line.color).call(a.dashLine,e.line.dash,e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],1294:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),a=t("../lib"),i=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,i){if(i.enabled){for(var o=i.target,l=a.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return h;case"first":return f;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r+=o)}return a(r)};case"avg":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case"min":return function(t,e){for(var r=1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case"max":return function(t,e){for(var r=-1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case"range":return function(t,e){for(var r=1/0,i=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case"change":return function(t,e){var r=n(t[e[0]]),i=n(t[e[e.length-1]]);return r===s||i===s?s:a(i-r)};case"median":return function(t,e){for(var r=[],i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return a((r[Math.floor(l)]+r[Math.ceil(l)])/2)};case"mode":return function(t,e){for(var r={},i=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>i&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case"stddev":return function(e,r){var a,i=0,o=0,l=1,c=s;for(a=0;a<r.length&&c===s;a++)c=n(e[r[a]]);if(c===s)return s;for(;a<r.length;a++){var u=n(e[r[a]]);if(u!==s){var h=u-c;i+=h,o+=h*h,l++}}var f="sample"===t.funcmode?l-1:l;return f?Math.sqrt((o-i*i/l)/f):0}}}(i,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),"count"===i.func&&a.pushUnique(e._arrayAttrs,o)}}function h(t,e){return e.length}function f(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return a.coerce(t,n,l,e,r)}if(!o("enabled"))return n;var s=i.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var h=o("groups");if(!Array.isArray(h)){if(!u[h])return n.enabled=!1,n;u[h]=0}var f,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return a.coerce(p[r],f,c,t,e)}for(r=0;r<p.length;r++){f={_index:r};var v=g("target"),m=g("func");g("enabled")&&v&&(u[v]||"count"===m&&void 0===u[v])?("stddev"===m&&g("funcmode"),u[v]=0,d[r]=f):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=a.getTargetArray(e,{target:n});if(i){var s,l,c,h,f={},p={},d=[],g=o(e.transforms,r),v=i.length;for(e._length&&(v=Math.min(v,e._length)),s=0;s<v;s++)void 0===(c=f[l=i[s]])?(f[l]=d.length,h=[s],d.push(h),p[f[l]]=g(s)):(d[c].push(s),p[f[l]]=(p[f[l]]||[]).concat(g(s)));r._indexToPoints=p;var m=r.aggregations;for(s=0;s<m.length;s++)u(t,e,d,m[s]);"string"==typeof n&&u(t,e,d,{target:n,func:"first",enabled:!0}),e._length=d.length}}}},{"../constants/numerical":692,"../lib":716,"../plot_api/plot_schema":753,"../plots/cartesian/axes":764,"./helpers":1297}],1295:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../registry"),i=t("../plots/cartesian/axes"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/filter_ops"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType="transform",r.name="filter",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(l).concat(c).concat(u),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function i(a,i){return n.coerce(t,e,r.attributes,a,i)}if(i("enabled")){var o=i("target");if(n.isArrayOrTypedArray(o)&&0===o.length)return e.enabled=!1,e;i("preservegaps"),i("operation"),i("value");var s=a.getComponentMethod("calendars","handleDefaults");s(t,e,"valuecalendar",null),s(t,e,"targetcalendar",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var a=n.getTargetArray(e,r);if(a){var s=r.target,h=a.length;e._length&&(h=Math.min(h,e._length));var f=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if("string"==typeof s){var g=n.nestedProperty(e,s+"calendar").get();g&&(f=g)}var v,m,y=function(t,e,r){var n=t.operation,a=t.value,i=Array.isArray(a);function o(t){return-1!==t.indexOf(n)}var s,h=function(r){return e(r,0,t.valuecalendar)},f=function(t){return e(t,0,r)};o(l)?s=h(i?a[0]:a):o(c)?s=i?[h(a[0]),h(a[1])]:[h(a),h(a)]:o(u)&&(s=i?a.map(h):[h(a)]);switch(n){case"=":return function(t){return f(t)===s};case"!=":return function(t){return f(t)!==s};case"<":return function(t){return f(t)<s};case"<=":return function(t){return f(t)<=s};case">":return function(t){return f(t)>s};case">=":return function(t){return f(t)>=s};case"[]":return function(t){var e=f(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=f(t);return e>s[0]&&e<s[1]};case"[)":return function(t){var e=f(t);return e>=s[0]&&e<s[1]};case"(]":return function(t){var e=f(t);return e>s[0]&&e<=s[1]};case"][":return function(t){var e=f(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=f(t);return e<s[0]||e>s[1]};case"](":return function(t){var e=f(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=f(t);return e<s[0]||e>=s[1]};case"{}":return function(t){return-1!==s.indexOf(f(t))};case"}{":return function(t){return-1===s.indexOf(f(t))}}}(r,i.getDataToCoordFunc(t,e,s,a),f),x={},b={},_=0;d?(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},m=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},m=function(t,e){var r=x[t.astr][e];t.get().push(r)}),T(v);for(var w=o(e.transforms,r),k=0;k<h;k++){y(a[k])?(T(m,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function T(t,r){for(var a=0;a<p.length;a++){t(n.nestedProperty(e,p[a]),r)}}}},{"../constants/filter_ops":688,"../lib":716,"../plots/cartesian/axes":764,"../registry":845,"./helpers":1297}],1296:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_schema"),i=t("../plots/plots"),o=t("./helpers").pointsAccessorFunction;function s(t,e){var r,s,l,c,u,h,f,p,d,g,v=e.transform,m=e.transformIndex,y=t.transforms[m].groups,x=o(t.transforms,v);if(!Array.isArray(y)||0===y.length)return[t];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,k=a.findArrayAttributes(t),T=v.styles||[],A={};for(r=0;r<T.length;r++)A[T[r].target]=T[r].value;v.styles&&(g=n.keyedContainer(v,"styles","target","value.name"));var M={},S={};for(r=0;r<b.length;r++){M[h=b[r]]=r,S[h]=0,(f=_[r]=n.extendDeepNoArrays({},t))._group=h,f.transforms[m]._indexToPoints={};var E=null;for(g&&(E=g.get(h)),f.name=E||""===E?E:n.templateString(v.nameformat,{trace:t.name,group:h}),p=f.transforms,f.transforms=[],s=0;s<p.length;s++)f.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<k.length;s++)n.nestedProperty(f,k[s]).set([])}for(l=0;l<k.length;l++){for(c=k[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s<w;s++)d[M[y[s]]].push(u[s])}for(s=0;s<w;s++){(f=_[M[y[s]]]).transforms[m]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++}for(r=0;r<b.length;r++)h=b[r],f=_[r],i.clearExpandedTraceDefaultColors(f),f=n.extendDeepNoArrays(f,A[h]||{});return _}r.moduleType="transform",r.name="groupby",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"},r.supplyDefaults=function(t,e,a){var i,o={};function s(e,a){return n.coerce(t,o,r.attributes,e,a)}if(!s("enabled"))return o;s("groups"),s("nameformat",a._dataLength>1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(i=0;i<l.length;i++){var u=c[i]={};n.coerce(l[i],c[i],r.attributes.styles,"target");var h=n.coerce(l[i],c[i],r.attributes.styles,"value");n.isPlainObject(h)?u.value=n.extendDeep({},h):h&&delete u.value}return o},r.transform=function(t,e){var r,n,a,i=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),a=0;a<r.length;a++)i.push(r[a]);return i}},{"../lib":716,"../plot_api/plot_schema":753,"../plots/plots":825,"./helpers":1297}],1297:[function(t,e,r){"use strict";r.pointsAccessorFunction=function(t,e){for(var r,n,a=0;a<t.length&&(r=t[a])!==e;a++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1298:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/cartesian/axes"),i=t("./helpers").pointsAccessorFunction;r.moduleType="transform",r.name="sort",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function a(a,i){return n.coerce(t,e,r.attributes,a,i)}return a("enabled")&&(a("target"),a("order")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,h=e._arrayAttrs,f=function(t,e,r,n){var a,i=new Array(n),o=new Array(n);for(a=0;a<n;a++)i[a]={v:e[a],i:a};for(i.sort(function(t,e){switch(t.order){case"ascending":return function(t,r){return e(t.v)-e(r.v)};case"descending":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),a=0;a<n;a++)o[a]=i[a].i;return o}(r,o,a.getDataToCoordFunc(t,e,s,o),l),p=i(e.transforms,r),d={};for(c=0;c<h.length;c++){var g=n.nestedProperty(e,h[c]),v=g.get(),m=new Array(l);for(u=0;u<l;u++)m[u]=v[f[u]];g.set(m)}for(u=0;u<l;u++)d[u]=p(f[u]);r._indexToPoints=d,e._length=l}}}},{"../lib":716,"../plots/cartesian/axes":764,"./helpers":1297}]},{},[26])(26)});</script>    
+            <div id="26a08557-3545-4ef3-9cb2-1d66deb9cb54" class="plotly-graph-div" style="height:100%; width:100%;"></div>
+            <script type="text/javascript">
+                
+                    window.PLOTLYENV=window.PLOTLYENV || {};
+                    
+                if (document.getElementById("26a08557-3545-4ef3-9cb2-1d66deb9cb54")) {
+                    Plotly.newPlot(
+                        '26a08557-3545-4ef3-9cb2-1d66deb9cb54',
+                        [{"marker": {"color": "yellow"}, "opacity": 0.4, "type": "histogram", "x": [737, 1283, 377, 428, 1043, 1076, 330, 162, 393, 1455, 1307, 534, 1108, 323, 1265, 1089, 1002, 1093, 1586, 443, 403, 1238, 1579, 1517, 791, 1620, 83, 1044, 1325, 626, 1336, 249, 956, 851, 1905, 433, 1018, 1116, 1981, 1631, 574, 681, 1426, 1128, 1355, 490, 869, 1124, 600, 351, 1548, 1171, 773, 969, 1790, 396, 1549, 1083, 1519, 704, 1282, 519, 292, 1043, 998, 773, 295, 1127, 1835, 585, 1514, 934, 1918, 398, 1566, 173, 937, 704, 1955, 639, 371, 1841, 1308, 652, 892, 1918, 1726, 309, 388, 1783, 1348, 1034, 157, 997, 774, 612, 1703, 460, 883, 611, 947, 515, 850, 1448, 1078, 1453, 1474, 1538, 917, 1407, 1985, 379, 1858, 938, 999, 1756, 1015, 967, 1923, 1969, 1413, 1535, 1929, 885, 871, 1461, 1182, 1554, 615, 424, 336, 670, 458, 781, 1930, 1348, 641, 1175, 521, 1411, 1463, 969, 1576, 687, 786, 1066, 458, 535, 1048, 104, 1079, 1348, 961, 1542, 1342, 1387]}],
+                        {"barmode": "overlay", "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "title": {"text": "Dynamic histogram of Read length"}, "xaxis": {"title": {"text": "Read length"}}, "yaxis": {"title": {"text": "Number of reads"}}},
+                        {"responsive": true}
+                    )
+                };
+                
+            </script>
+        </div>
 
 <br>
 <br>
@@ -215,7 +250,7 @@
 <br>
 
 <h3 id="Yield_by_length">Yield by length</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAl4AAAHKCAYAAADSPkVOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVxU5f4H8M%2BZGVZhWAQtEE0wMTeyxUQJE6873kSjtHLpZ%2BkVE9PUi3uLipVdFamsNHNNb4vc4KplWqjlVll5U7LAMsFcQBhC2WbO7w%2Bc4wwzg3NwZswzn/frdV8O5zznme8z0u3Tc57zjCCKoggiIiIicjrVjS6AiIiIyF0weBERERG5CIMXERERkYsweBERERG5CIMXERERkYsweBERERG5CIMXERERkYsweBERERG5CIMXERERkYsweBHRDTF%2B/Hjcc889OHPmjMW50tJSxMXFYfjw4di/fz%2Bio6Nx8OBB2e9x8OBBu69NS0tDQkLCNdslJCRg/PjxsmuRKzo6GitWrHD6%2B9jj8uXLWLFihdXPccWKFYiOjkZJSckNqIzo5sPgRUQ3xIIFC6BWqzFnzhyLcy%2B%2B%2BCIqKirw0ksvoVOnTtiyZQs6dOhwA6okoC54ZWZm4tChQze6FKKbHoMXEd0QoaGhmD9/Pvbt24fNmzdLx3fu3ImcnBxMnz4drVq1gp%2BfH%2B688074%2BfndwGqJiByDwYuIbpiBAwdi0KBBeOmll3D69GlcvHgR8%2BfPR48ePfDoo48CsH278OjRo/jHP/6Brl27olOnThgyZAi2bdtm1/t%2B9NFH6NevHzp27IgBAwYgKytLdu07d%2B7E4MGD0alTJ/Tu3Rvr1q2TzlVUVOCee%2B7BvHnzLK47ffo07rjjDqxatUr2e54/fx7z5s1DfHw8OnbsiISEBGRmZqK2ttas/%2BjoaKxevRpr1qxBQkICunTpgkceeQTfffedRZ///ve/pc9i4MCByM7ONrvtevr0acTGxgIAMjMzER0djejoaKSlpZn1U1xcjKlTp%2BLuu%2B9G9%2B7dMXPmTJSXl8seI5HSaW50AUTk3ubNm4dDhw5h1qxZCA4ORk1NDRYtWtTgNQcOHMCTTz6JmJgYPPfcc/D398e2bdswZcoUVFZWYujQoTav/eijjzBz5kz07t0baWlpKC8vR2ZmJqqrq6FS2fffosePH8eiRYvw9NNPIyQkBNnZ2Vi4cCFqamowduxYNGnSBMOGDcO///1vTJ8%2BHf7%2B/tK1mzZtgoeHB4YNG2bfB3TF%2BfPnkZycDJVKhYkTJ6Jly5Y4cuQI3njjDRQWFiI9Pd2s/caNGxEZGYlZs2YBAJYvX45x48Zh165dUj1btmzBvHnz0K9fPykoZWZmoqamRuqnWbNmWLVqFZ588kk89NBDSE5OBgAEBwebvd%2BkSZMwcOBAPPTQQzhx4gReffVVALCoi8jtiUREN9gXX3whtm3bVmzbtq2YlZVldu7AgQNi27ZtxQMHDkjH%2BvfvLw4ZMkSsqakxazt%2B/HixR48eol6vt3qtXq8X4%2BLixKSkJNFgMEjXnT59WuzQoYPYq1eva9baq1cvMTo6Wjx%2B/LjZ8SeeeEK86667xEuXLomiKIqnTp0S27VrJ65Zs0ZqU1lZKXbt2lVMS0u75vu0bdtWzMjIkH6eO3eueOedd4qFhYVm7VavXi22bdtW/Pnnn0VRFMXff/9dbNu2rZiYmCjW1tZK7b7//nuxbdu2Yk5OjvRZ9OjRQ0xOTjbrr7Cw0OKzKC4utqjHKCMjQ2zbtq349ttvmx1/7rnnxE6dOpl9zkQkirzVSEQ3XM%2BePXHnnXfitttuw4MPPthg299%2B%2Bw0FBQUYPHgwAKC2tlb6X3x8PM6fP4%2BTJ09avfbkyZM4d%2B4cEhMTIQiCdDw8PBxdunSxu97bb78d7dq1MzuWmJiIP//8Ez/%2B%2BCMAICIiAg888ADee%2B89iKIIAMjOzkZpaSkef/xxu9/L6IsvvsB9992HZs2aWYwZgMXC9wceeABqtVr62VhvYWEhgLrP4vz58xgwYIDZdWFhYbI%2BC6P6T4RGR0ejqqoKxcXFsvsiUjLeaiSivwRPT094eHhcs92FCxcAAC%2B99BJeeuklq20uXrzY4PGQkBCLcyEhIVIouRZb1wN1W2EYjRo1CmPGjMGXX36JuLg4bNq0CV26dGnUE5rFxcX4/PPPbV5bf8yBgYFmP3t6egIAqqqqzNo3bdrU6ljs/Syu9X6VlZWy%2BiFSOgYvIrqpBAUFAajbB6xPnz5W27Ru3brBa43hzZS1Y7Y0dL1pAImNjUXbtm2xYcMG%2BPr64scff8Qrr7xi9/uYCgoKQnR0NJ555hmr55s1aya7PwBWZ6TkfBZEJA%2BDFxHdVCIjI3HbbbchLy8PU6dOlXVt69atERoaipycHDzxxBPS7cbCwkIcOXLE7vDy888/Iy8vz%2Bx2Y05ODpo0aWIxIzVy5EjMnz8ff/75J0JCQtC/f39ZNRs98MADyM3NRcuWLREQENCoPkwZP4vt27fjiSeekI4XFRVZfBacvSJyHK7xIqKbzvPPP4/9%2B/dj7NixyMnJweHDh/HZZ5/hzTffRGpqqs3rVCoVJk%2BejB9//BETJ07EF198gY8//hhPPPGE1duHtjRr1gwTJkzAhx9%2BiD179mDatGn48ssvMWHCBPj4%2BJi1/fvf/w6tVovDhw8jOTlZCjFypaamwsPDA8OHD8emTZuwf/9%2B5ObmYuPGjRg/fjz%2B%2BOMPWf2pVCpMmjQJ33//PVJTU5Gbm4vs7Gw88cQTCA0NNVsD5%2Bfnh/DwcOzatQv79u3D0aNHcfr06UaNg8jdccaLiG463bp1w/vvv4%2BVK1di0aJF0Ol0CAwMRFRUlMVi8fqM2yGsWrUKTz/9NMLDwzF%2B/HgcPnzY7p3Z77jjDgwdOhQrVqzAr7/%2BimbNmmHmzJkYM2aMRVtvb28kJCTg448/xogRI2SP1ahZs2b44IMP8Prrr2P16tU4e/YsmjRpgvDwcNx///3QarWy%2B3zkkUcgCAJWrVqFiRMnIjw8XNpyov5XOS1cuBAvv/wyJkyYgOrqaiQlJWHx4sWNHg%2BRuxJE4%2BM2RETkcNXV1UhISMDdd9%2BN5cuX3%2Bhyrkmn06Ffv37429/%2BhhdffPFGl0OkOJzxIiJygpKSEhQUFOCjjz5CcXExxo0bd6NLsnD%2B/HmsXLkS9913HwIDA1FUVIR3330XFRUVGDVq1I0uj0iRGLyIiJzgiy%2B%2BwMyZM6XvpPwrfsm3p6cnCgsL8fzzz6OsrAze3t6IiYnB888/j9tvv/1Gl0ekSLzVSEREROQifKqRiIiIyEUYvIiIiIhchMGLiIiIyEUYvIiIiIhchE81/sWIogiDoe55B5VKkF67A3caL8eqTO40VsC9xsuxKpOjxqpSCWbf9tAQBq%2B/GINBRElJBTQaFYKCmkCnu4TaWsONLsvp3Gm8HKsyudNYAfcaL8eqTI4ca3BwE6jV9gUv3mokIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichFNYy46ffo0tm/fjqKiIlRWVpqdEwQBixYtckhxREREREoiO3h98cUXePrpp2EwGBAcHAxPT0%2Bz84IgOKw4IiIiIiWRHbyWLl2Ku%2B66C0uXLkXTpk2dURMRERGRIsle4/Xbb7/hqaeeYugiIiIikkl28AoLC8OlS5ecUQsRERGRoskOXuPHj8c777yDy5cvO6MeIiIiIsWya43XggULzH6%2BcOEC%2BvTpg/vuuw9BQUEW7efMmeOY6oiIiIgUxK7gtWHDBqvH//vf/1ocEwSBwYuIiIjICruCV15enrPrICIiIlI82Wu8ioqKUFNTY/VcbW0tioqKrruoazl58iTGjh2LO%2B%2B8E7GxsViwYIHFRq62bN26Ff3790enTp2QmJiI7du3W7SpqanBq6%2B%2Biri4OMTExGDkyJEW4fOrr77C1KlTkZCQgJiYGAwYMABvvPEGqqurHTJGIiIiUh7Zwat37944fvy41XN5eXno3bv3dRfVEJ1Oh9GjR6OiogIZGRn45z//iezsbLtub%2B7YsQNpaWno06cP3n77bXTr1g1TpkzBvn37zNqlp6dj48aNSE1Nxeuvvw6NRoMxY8bg/PnzUpvNmzejvLwckyZNwltvvYXk5GS89dZbmDZtmsPHTERERMogewNVURRtnjMYDE7fuX7z5s3Q6XTIyspCcHAwAECtVmPatGmYMGECoqKibF67fPly9O/fH88%2B%2BywAoFu3bjh58iQyMjIQFxcHADh79iw2b96M2bNn4%2BGHHwYAxMTEoHfv3li7dq0UrJ577jnp/QHgvvvug0ajwcKFC1FYWIjw8HCnjJ%2BIiIhuXg77kuzq6mrs2bPH6lOOjrRnzx7ExsaahZ5%2B/frB09MTubm5Nq/7/fffUVBQgMTERLPjiYmJ%2BOGHH1BSUgIA2LdvH/R6PQYNGiS18fPzQ0JCgln/pu9v1L59ewDAuXPnGjc4IiIiUjS7ZrwyMzPx2muvAah7avGRRx6x2TY5OdkxldmQn5%2BPYcOGmR3z9PREy5YtkZ%2Bfb/O6goICAEBkZKTZ8aioKIiiiIKCAgQHByM/Px8hISEIDAy0aJednQ2DwQCVynpe/frrr6FWq9GqVavGDE2i0aigVte9h/FPpXOn8XKsyuROYwXca7wcqzLdqLHaFbw6deqERx99FKIoYtOmTejXrx9CQkLM2nh6eqJt27YWM0qOptPpoNVqLY5rtVqUlZXZvM54rv61AQEBZud1Oh38/f0trg8ICEBNTQ0uXboEPz8/i/OFhYVYtWoVkpKSrM6G2UulEhAU1ET6Wav1aXRfNyN3Gi/HqkzuNFbAvcbLsSqTq8dqV/Dq2bMnevbsCQC4fPkyUlJSEBER4dTC5BJF0a71ZfXbGNesmR631k9Da9sqKiowadIkNG3aFP/85z/tLdkqg0GETncJarUKWq0PdLrL0OsN19XnzcCdxsuxKpM7jRVwr/FyrMrkyLFqtT52z5zJXlyfnp4uuyBH0mq10Ol0FsfLy8sbXFhvOrNlOltn7Ms4E2arf51OBw8PD/j6%2Bpodr6mpQWpqqrQo39psnFy1tVd/AfR6g9nPSudO4%2BVYlcmdxgq413g5VmVy9VhlB6%2BsrCyb5wRBgFarRfv27dG8efPrKsyWqKgoi7Vc1dXVOHXqlMXaL1PGtV0FBQVmAS0/Px%2BCIEjno6KiUFxcjNLSUrN1Xvn5%2BWjdurXZ%2Bi6DwYAZM2bgyJEjWL9%2B/V9uFpCIiIj%2BWmQHr7S0NOlWnOntN9NjKpUKDz74IF588UVoNLLfokHx8fF44403cPHiRekJyp07d6K6ulq6HWpNREQEIiMjsW3bNvTp00c6npOTg86dO0vrsuLi4qBSqbB9%2B3aMGDECQN2txN27d1s8OPDCCy9g586deOutt9ChQweHjpOIiIiUR3Yqev/99zFlyhT06NEDiYmJaNq0KS5cuICcnBx8%2BeWXeO655/Djjz/itddeQ3h4OJ5%2B%2BmmHFjx8%2BHBs2LABKSkpSElJQXFxMRYvXozBgwebzWTNmjULWVlZOHbsmHQsNTUVU6ZMQcuWLdG9e3fs2rULX375JVatWiW1ad68OYYPH44lS5ZAo9EgLCwM77zzDgBg9OjRUrs333wT7733HsaMGQNfX19899130rmWLVte1wJ7IiIiUibZwWvdunXo06eP2SLyyMhIdO3aFYsXL8aHH36IZcuWoaysDNnZ2Q4PXlqtFmvXrsWCBQswadIkeHt7IzEx0WLHeIPBAL1eb3ZswIABqKysxMqVK7F69Wq0atUKS5culTZPNUpLS4Ovry%2BWLVuG8vJyxMTEYO3atQgNDZXaGHe7f/fdd/Huu%2B%2BaXZ%2Beno6hQ4c6cNRERESkBILY0ON6Vtx7771Yvnw5unfvbnHuq6%2B%2BQmpqKr7%2B%2Bmvk5ubi6aefxtGjRx1WrDvQ6w0oKamARqNCUFATXLxY4RYLHN1pvByrMrnTWAH3Gi/HqkyOHGtwcBO7n2qUvWuYXq/HqVOnrJ777bffpHVfnp6e8PT0lNs9ERERkWLJDl5xcXFYtmwZvvzyS7Pje/fuxfLly9GjRw8AdU8P8vsKiYiIiK6SvcZr9uzZGDlyJJ588kk0adIETZs2RXFxMSoqKtCyZUvMnj1bamu6GJ2IiIjI3ckOXs2bN8d//vMffPTRR/j6669RWlqK9u3b495770VSUhJ8fOq23n/sscccXiwRERHRzaxRm2z5%2BPjgscceY7giIiIikkH5Xz9ORERE9Bche8arpqYGb7/9NnJyclBUVISqqiqz84IgmG1aSkRERER1ZAevf/3rX3j33XcRHx%2BPv/3tb9wygoiIiMhOsoPX9u3bMXHiRIfvSE9ERESkdLLXeJWVleGee%2B5xRi1EREREiiY7eN17773Iy8tzRi1EREREiiY7eM2ZMwcffPABPv30U1RXVzujJiIiIiJFkr3G68EHH0RtbS0mT54MQRDg7e1tdl4QBHzzzTcOK5CIiIhIKWQHr379%2BkEQBGfUQkRERKRosoPX4sWLnVEHERERkeJx53oiIiIiF2lU8MrPz8fUqVMRFxeHjh074scffwQAZGZm4sCBAw4tkIiIiEgpZAev48eP46GHHsKhQ4fQtWtX6PV66VxFRQU2b97s0AKJiIiIlEJ28FqyZAmio6Oxc%2BdOvPzyyxBFUTrXuXNnHD161KEFEhERESmF7OD17bff4sknn4SPj4/F040hISG4cOGCw4ojIiIiUpJGrfHy8PCwerysrIxfmk1ERERkg%2BzgFR0djc8%2B%2B8zqub1796JDhw7XXRQRERGREsnex2vUqFF49tln4ePjgwcffBAAcObMGRw4cAAffvghMjIyHF4kERERkRLIDl4DBw7EqVOnkJmZifXr1wMAJk2aBLVajdTUVCQkJDi8SCIiIiIlkB28AOAf//gHhgwZgr1796K4uBhBQUGIi4tDeHi4o%2BsjIiIiUoxGBS8AuOWWW5CcnOzIWoiIiIgUjV8ZREREROQids14tWvXzmLPLlsEQcCxY8euqygiIiIiJbIreE2cONHu4EVERERE1tkVvCZNmuTsOoiIiIgUj2u8iIiIiFyEwYuIiIjIRRi8iIiIiFyEwYuIiIjIRRi8iIiIiFyEwYuIiIjIRRi8iIiIiFyEO9cTERERuQh3riciIiJyEe5cT0REROQiXONFRERE5CJ2zXhZc%2BLECeTn56Oqqsri3JAhQ66rKCIiIiIlkh28Ll%2B%2BjAkTJuDAgQMQBAGiKAKA2RowBi8iIiIiS7JvNb7%2B%2BusoLCzEhg0bIIoiMjMzsWbNGvTp0wetWrXC1q1bnVEnERER0U1PdvDatWsXnnrqKXTp0gUAcOuttyI2NhYZGRno0KEDNm3a5PAiiYiIiJRAdvAqLCxEZGQk1Go1BEHA5cuXpXODBw/Grl27HFogERERkVLIDl7%2B/v64dOkSAKBp06b47bffpHO1tbXSOSIiIiIyJzt4RUdH49dffwUA3HfffXjzzTfx9ddf44cffsBrr72Gdu3aObpGIiIiIkWQ/VTjsGHDpFmuZ555Bo8%2B%2BihGjhwJANBqtXjrrbccWyERERGRQsgOXgMHDpReR0RE4JNPPpG2lujSpQsCAwMdWiARERGRUjR6A1UjX19fJCQkOKIWIiIiIkVrdPCqqKjAmTNnrO5c36FDh%2BsqioiIiEiJZAevkpISzJkzB59//rnFOVEUIQgCjh8/7pDiiIiIiJREdvCaN28eDhw4gFGjRiEqKgoeHh7OqIuIiIhIcWQHrwMHDiAtLQ0PP/ywM%2BohIiIiUizZ%2B3j5%2BPggLCzMGbUQERERKZrs4PXggw9ix44dzqjFbidPnsTYsWNx5513IjY2FgsWLEBlZaVd127duhX9%2B/dHp06dkJiYiO3bt1u0qampwauvvoq4uDjExMRg5MiRyMvLM2tTUlKCBQsWIDk5GR07dpS%2Bu5KIiIjIFtm3Gp955hnMnj0bEydOxAMPPICAgACLNn379nVIcdbodDqMHj0aYWFhyMjIQElJCdLT01FaWoolS5Y0eO2OHTuQlpaGcePGoUePHvjss88wZcoU%2BPv7Iy4uTmqXnp6OrKwspKWlITw8HKtWrcKYMWOQnZ2N0NBQAMDZs2exbds2dO7cGR07dsRPP/3ktDETERGRMsgOXqdPn8b333%2BPX3/91eoXYjv7qcbNmzdDp9MhKysLwcHBAAC1Wo1p06ZhwoQJiIqKsnnt8uXL0b9/fzz77LMAgG7duuHkyZPIyMiQgtfZs2exefNmzJ49W1rHFhMTg969e2Pt2rWYNm0agLqvTvrqq68AACtWrGDwIiIiomuSHbzmzp2LP//8E7NmzbohTzXu2bMHsbGxUugCgH79%2BmHWrFnIzc21Gbx%2B//13FBQUYOrUqWbHExMTMXPmTJSUlCA4OBj79u2DXq/HoEGDpDZ%2Bfn5ISEhAbm6uFLxUKtl3aYmIiMjNyQ5eP/zwAxYuXIjExERn1HNN%2Bfn5GDZsmNkxT09PtGzZEvn5%2BTavKygoAABERkaaHY%2BKioIoiigoKEBwcDDy8/MREhJi8dVHUVFRyM7OhsFgYOgiIiKiRpEdvJo2bQp/f39n1GIXnU4HrVZrcVyr1aKsrMzmdcZz9a81rlEzntfpdFbHFxAQgJqaGly6dAl%2Bfn6Nrt8eGo0KanVduDP%2BqXTuNF6OVZncaayAe42XY1WmGzVW2cFrxIgR2LJlC3r27OmMehrNuGv%2BtdRvI4qixXFr/RjbOZtKJSAoqIn0s1br45L3/atwp/FyrMrkTmMF3Gu8HKsyuXqssoOXSqXCTz/9hKSkJMTHx1vckhMEAWPGjHFUfRa0Wi10Op3F8fLy8gYX1pvObIWEhEjHjX0ZZ8Js9a/T6eDh4QFfX9/rqv9aDAYROt0lqNUqaLU%2B0OkuQ683OPU9/wrcabwcqzK501gB9xovx6pMjhyrVutj98yZ7OD1yiuvAAAKCwutPr3o7OAVFRVlsZaruroap06dslj7Zcq4tqugoMAsoOXn50MQBOl8VFQUiouLUVpaahYq8/Pz0bp1a5es76qtvfoLoNcbzH5WOncaL8eqTO40VsC9xsuxKpOrxyo7eFnbQsKV4uPj8cYbb%2BDixYsICgoCAOzcuRPV1dUN3v6MiIhAZGQktm3bhj59%2BkjHc3Jy0LlzZ%2Bkpybi4OKhUKmzfvh0jRowAAFRUVGD37t1ITk524siIiIhI6WQHr/DwcGfUYbfhw4djw4YNSElJQUpKCoqLi7F48WIMHjzYbCZr1qxZyMrKwrFjx6RjqampmDJlClq2bInu3btj165d%2BPLLL7Fq1SqpTfPmzTF8%2BHAsWbIEGo0GYWFheOeddwAAo0ePNqvFuIP/L7/8Ar1eL/3cqVOnG/45ERER0V%2BP7OB1o2m1WqxduxYLFizApEmT4O3tjcTERGl/LSODwQC9Xm92bMCAAaisrMTKlSuxevVqtGrVCkuXLjXbtR4A0tLS4Ovri2XLlqG8vBwxMTFYu3attGu90eTJk63%2BnJ6ejqFDhzpqyERERKQQgmjH43qjRo3C/PnzERUVhVGjRjXcoSBg7dq1DivQ3ej1BpSUVECjUSEoqAkuXqxwi/vs7jRejlWZ3GmsgHuNl2NVJkeONTi4iWMX15tms2vlNFdtu0BERER0s7EreK1fv97qayIiIiKyn/K3piUiIiL6i2j04vri4mIUFhaiqqrK4ty99957XUURERERKZHs4HXu3DnMmDEDBw8etDhn/NoeaxurEhEREbk72cHrxRdfxPHjxzFt2jRER0fD09PTGXURERERKY7s4HXo0CHMmDGjwa/nISIiIiJLshfXC4KAW2%2B91Rm1EBERESma7ODVv39/fP75586ohYiIiEjRZN9qHDBgAObOnQtRFNGrVy8EBgZatOnQoYNDiiMiIiJSEtnBy/hF0Rs2bMDGjRvNzvGpRiIiIiLbZAev9PR0Z9RBREREpHiyg1dSUpIz6iAiIiJSPH5lEBEREZGL2DXjlZmZieTkZDRv3hyZmZkNthUEARMnTnRIcURERERKYnfwio%2BPZ/AiIiIiug52Ba%2B8vDyrr4mIiIjIflzjRUREROQiDF5ERERELiJ7Owm9Xo/169cjOzsbRUVFqKqqMjsvCAK%2B%2BeYbhxVIREREpBSyg9eSJUuwZs0a3HHHHejevTs8PT2dURcRERGR4sgOXtnZ2Rg3bhymTp3qjHqIiIiIFEv2Gq%2BqqirExsY6oxYiIiIiRZMdvHr06IEffvjBGbUQERERKZrsW41z5szBuHHj4OPjg549eyIgIMCiTWBgoEOKIyIiIlIS2cHLz88PrVu3Rnp6OtLT0622OX78%2BHUXRkRERKQ0soPX/PnzsWPHDvTu3RtRUVHw8PBwRl1EREREiiM7eH322WeYOnUqxo4d64x6iIiIiBRL9uJ6jUaD9u3bO6MWIiIiIkWTHbz69u2LvXv3OqMWIiIiIkWTfatx0KBBmDt3Lmpra/HAAw9YfaqxQ4cODimOiIiISElkB68xY8YAANatW4f169ebnRNFEYIg8KlGIiIiIitkBy9bW0gQERERUcNkB6%2BkpCRn1EFERESkeLIX1xMRERFR4zB4EREREbkIgxcRERGRizB4EREREbkIgxcRERGRi8gKXpWVlbj//vuxe/duZ9VDREREpFiygpe3tzeqqqrg4%2BPjrHqIiIiIFEv2rcZu3bph//79zqiFiIiISNFkb6D6j3/8A5MmTYKnpyf69u2L0NBQCIJg1iYwMNBhBRIREREphezgNXToUABAZmYmXpXhYIAAACAASURBVHvtNatt%2BF2NRERERJZkB6%2BJEydazHARERER0bXJDl6TJk1yRh1EREREindd%2B3hVVVXh3LlzqKqqclQ9RERERIole8YLAL799lssWbIE33//PQwGA1QqFbp06YJnn30WXbp0cXSNRERERIogO3h99913GD16NLRaLR5%2B%2BGE0a9YMZ8%2Bexc6dOzF69GisX78eMTExzqiViIiI6KYmO3hlZGQgOjoa69atg6%2Bvr3R8xowZGDVqFDIyMrB69WqHFknXT6UqgkbzPWprY2AwhNk8Zk8fBsMtUKn%2BkP609/qG%2BvXwOAogFoDtrUjq2n0OAKip6QUAZvWbntfr20u11W9nOhZRVMPD4xBqarpCpToPQSiV3k8UA1FT08vsGg%2BPzyEIpRDFQLP3ML6/nM%2BTiIjcT6NmvBYtWmQWugDA19cXY8eOxezZsx1WHDmGSlUErXY4VKoiGAxh0Ok2A4DFsYbCgrEPtfo0gAoA3gAqIYq%2BMBgirnn9tfstAtACgrAZwC1W2wUEDIVafQIAoNe3hih6QKW6AIMhDH/%2BuRz%2B/hOunBchih4QxSYQxeYQRUjtTMeuVp%2BCIFwEIAIwPqkrmryrGrW10dDpPgKAK%2B//EwA9ABVE0ROi2AQGQ8SV938KKtVpGAwtUFb2sdnnYRrKgBZmx03DXE1NL6hUZ%2BHp%2BV9UVw9Cba31W/fm/cHqa5XqLLy8tkCvj0B1dZLFOeN7GAzNLQKsaX%2BmYddgCINGc6TB%2BmyNlYiIGhG8DAYDPD09rZ7z8vKCwWC47qLIsTSa768ErCDpX4oALI5VV9sOTlf78IJaXQKDwQcqVRUMhmC7rrevtkJoNN%2BjpsYyeNW1K4QxGKlUhRBFjyuzbkXw9PyvyXkRglAFg6HplXaQ2pmOXRQBQRBR94yJtd9bUarJ%2BJ5Xg5npexTB23u1FArV6hPw8tqKy5cnSu9lGnIrKv4N4HYIQlG9MKeGXt8SKtUZCEI1fHxWoKxsh0W4Me1PFEOkYGn%2BOhBq9W8A6h580evfgij6SOdUqlMQhGr4%2BmagtjYCKlWZFGD9/CZLfQM1UKtPAgBqa9uiouIFaLUjIQhVVuuzNVbzv8sj8PLaAoNBC4OhFfT69lCrjwGA2QyjPeqHwPqzosaAWVPTFYKgt5iNrD9LaazNGFY5c0lEjiY7eLVr1w7vvfceEhISLM5t2bIF7dq1c0hh5DimMxkGQ5g0k2Ht2LX6UKtPQxS9IAjilT8rYTBEXPP6a/dbN%2BNlq5%2B6duFSuDEYws1mvKqrB8HLK0c6L4qeV2oLN5vxMh27Wn0KdTNdBlif8RJgMISbXBN%2BJSTVnbv6HhH1rgNUqlPSa%2BvB93aLMFkX9IogCNUQRQ0EoQqenv%2B1CF6m/anVV4Ol%2BevfYQxddfUUQRS9pXOCUCW9h0pVCIMhwiTAXu0bqIFp2PX23nTlWrXV%2BmyN9er5IwgM7AegUvocAU8AtQAE1Na2hU73kV2BR6M5goCA/lII1OnWw89vnsmsaMSVEFt15e8vAAbDbdLsrGVInIOAgMel2vT6t3Dp0gwpGApCKVSqMghCGaqqhlv8vajVnwBYC2/v9rh0aQwA2Lw1bs%2BsJhEpk%2Bzg9dRTT2HixIkYMmQI/v73vyM0NBTnz59HTk4Ojh8/bnM3e7pxjLfY6q8/snbMnj4cucbL2K%2BX11H4%2BcVCFANhbfbJYAhDWdlHDa7xMj1/rTVexrHIWeNl7N/aGq%2B623rvXwklXqiqGi71Yyv4Xg2TV8NcXbszV8KXF6qrB1l8Fub9mQZL09ctzGa8DIYwacbLYGghzXgBXjAYwqFSXZQCrKfnp1LfpjNeBkM4Kisfhafndmmc9euzNVYjT8//wjQQ1oW6Khh3tjHOMNoze%2Brp%2BV%2BzEOjtvanerGjRlTGqURfsVGazs/VDorf3JrPa1Opf4ef3zyt9VMP099Lbew3Kyj6RQpOHx6fw908GIMLb%2B2N4eGwE4C19dqa3xq/ORlbD13cpysreQ01NX7M1lB4eX0GtPg69PgyiGGD2u1h/raXxd5ghjujmIIiiKF67mbns7Gy88sorOHfunHSsefPmmD59OhITEx1aoLvR6w0oKamARqNCUFATXLxYgdpa5d%2B%2BVcJ4G1r7ZHpLS6VqIY3VYDit6DVepmOtrTU4bcZLFL0cPuMFqKDXN4NaffbKz%2BazoZcuTcelS3MAAP7%2BY%2BDl9REEARBFQBQ1ADyl9xZFL%2BnWeN3awstSTwZDCHS6D%2BHnNxlq9WkIQjnMwylgXG/4559vSO3q1lp6QRDKrtTmibKyTaip6WvzM7O2plDOfzQ19Htc/5attd8Ra7eGrf3u/tVu8Srh/5/sxbE2TnBwE6jV9m2NalfwysvLQ%2BvWreHl5SUdE0URBQUFKC0tRWBgICIjI/lVQg7A4KX88br7WG%2BGNV4GgxZeXh9DrT4HQfgT9We8RNHbYsYrICD5yi34utBna8YL0EClKpL6MhiaoLJyIry934Uoely5xVufCgaDPyorx5u0OwODwRcq1Z8mfTVHaWmu1c/w6gMqV9cUGh8esfep5vrr9wIDb0dp6c9o0uRhswBrXAcoil7SOkBrQblJkwVmaxXV6nMwGPxx6dJ4eHruQW1tZ1RVjbE5HmtPK3t5bYVKdQpVVcMt/qOisdz9n1mlulHBy65bjUlJSdiyZQs6d%2B6MUaNGYf78%2BYiKikJUVNR1FUpE7qe2tovFTFljb5HV78tgCENV1WNmPzfUd93t1av/Qjbtr6pqjHRL71prvGpq%2BqK8/ANotWtRWdnwGi%2BD4Rb4%2B4%2BBWv0r6m4vt5Ju8dbNZHnBcsarbr2habu6NZYaszZAlc1btdbXFNp/a7fhtYrmt2ytrQO0fmvYdD1h3W1ntboY/v5pAAAvr23w8toCnW67RWC29qR2QMDfpRlPH593UFvbUnpwxPTJa9OAVlNzJzSafKuzv9bUD3f1Z%2B7%2BarN19NdjV/Dy9PREdXU1AODQoUOoqKhwalHXcvLkSSxYsADffPMNfHx8MGjQIEybNg3e3t7XvHbr1q148803UVhYiFatWmHixIkYMGCAWZuamhpkZGRg69atKC8vR%2BfOnTF79myLBwfOnz%2BPhQsXYs%2BePVCpVEhISMCsWbMQGGh7LyoiujmYhjJ7gqFe3w/AUFRWVsD4dLdpCAQg9VdWtt3iFq7pGsqG1njVX2sJlMLPbx6AKhgMt9nxgIrpmsJwm%2B2tX29rreLV47bWAVZXD4KPzwrpeGXlo1CrC0zWE5ZfCWACTG/rWntq2vaT2qdNKjZ/cMTYR93Mn2lAq2td/wlfa1vk1D2JfPVab%2B810Ok2oEmTBVfCsA%2Bqqv4OwIDq6t4QBL3ZWlgA13Wrl5TBruAVERGBNWvW4MKFCwCAgwcP4o8//rDZvm9f22sMrpdOp8Po0aMRFhaGjIwMlJSUID09HaWlpViyZEmD1%2B7YsQNpaWkYN24cevTogc8%2B%2BwxTpkyBv78/4uLipHbp6enIyspCWloawsPDsWrVKowZMwbZ2dkIDQ0FANTW1uLJJ59ETU0NXn75ZdTW1uKVV15BSkoKNm7cyNuuRGRT/Zk54zF7gl79WToAKC3tec0ZF9MHUBrzL/76D%2BmoVHXXiaLlwztlZTss1njV1naxOK7TdTRbd%2BjvPwYq1YUr69yuvm/9cGj7Se0WUiiq/%2BCI6Toy84AGiKLK4glfazOB9a81ztzVrc3TQRAuwMen7gEzH583IIoBAKohir4Qxeaoe1ilANe61evotW%2BN2UBbEIrg6XnE5u15ex%2BuktveHdgVvFJSUjBjxgzs2rULgiDg1VdftdlWEAQcP37cYQXWt3nzZuh0OmRlZSE4OBgAoFarMW3aNEyYMKHB25/Lly9H//798eyzzwIAunXrhpMnTyIjI0MKXmfPnsXmzZsxe/ZsPPzwwwCAmJgY9O7dG2vXrsW0adMAAJ9%2B%2Biny8vKQk5OD22%2Bve1y%2BWbNmGDFiBPbu3Yv4%2BHinfQZERKashTFb7eoHvsa%2Bj0pl/Thg/XayteOm19UFtu1XZq9K4eX1H5trvGw9qV1W9vE113jVvTYNaIAgGAB4Ww1q5vWbX2ucudNojkCtLrZoL4p6XN3v0Hx7Flu3em3t02fPRtfWNG4D7UL4%2BT0MQTA/X38j7WttoN1Qe8D%2BQGn%2BUMfVh4b0%2Bttvyid67QpeAwcOlELKY489hnnz5qFNmzbOrs2qPXv2IDY2VgpdANCvXz/MmjULubm5NoPX77//joKCAkydOtXseGJiImbOnImSkhIEBwdj37590Ov1GDTo6mPyfn5%2BSEhIQG5urhS8cnNzER0dLYUuALjrrrsQHh6O3NxcBi8iIplMg1h19Qi725oeM25cbGStjWlAk7PGSxTDLMJdbW0XlJeHQqt9/Eq4urpIWxDUJvsdGrdnKTCetXqr19Y%2BfY3dqLpxG2gfgUpVBL3e/LzlRtoNb6Btq72Hx%2Bfw8XmzgeB3lXkQNd8Y2vg51t/MuaGnvs3XXd6Yb9awex%2Bv4OBgBAcHIykpCffffz8iIiKcWZdN%2Bfn5GDZsmNkxT09PtGzZEvn5%2BTavKyio%2B2WPjIw0Ox4VFSU9oRkcHIz8/HyEhIRYrNOKiopCdnY2DAYDVCoV8vPzrYa8Nm3aNFiHPTQalfR0hL1PSdzs3Gm8HKsyudNYgZt9vC1QUzNJ%2BunKEmaoVHW3K1Uq8xk987GaX6vRAMDdKC/fBY3mc6hUv0IQdKipSYBKZYBe3xxq9VmTEPD5la8qC7zSJszsvUSxC0SxblNpg6EFABFqdd2Mlyh2gUYj7/M276%2Buj7rj5seM/daNsQtEMRxqdaHZeWNfdbdbvaBS1W0gbasuW%2B3VauHKewdBrS6Cl9dR1NRYD0EeHkeltnX91H/wRHXllu92VFbeDUEogp%2BfcTYvFHUzixeuvL4afPX6trh8%2BT8A2rj8d1j2Bqrp6enOqMNuOp0OWq3W4rhWq0VZWZnN64zn6l8bEBBgdl6n08Hf39/i%2BoCAANTU1ODSpUvw8/Oz2U6r1V5X8FKpBAQFNTHpz6fRfd2M3Gm8HKsyudNYAfcab8NjvR2m39LgY7Pp7bZOmJzPQd2sk/H2Wd3rwMBwOyu13d/VPqwdMwqHWp1t5fzVvoBbIAh/XKMu6%2B3rwupbV2YIW8DPLxZAExt9xAJocaVtBICTMA9fdbeJfXyGwcenCYCfAJwB0PTKNQBwq8WtXo2mCP7%2BeQDauPx3WHbw%2BqsSRdGuBe312xi3MTM9bq0fa9ud2Wp3PQvrDQYROt0lqNUqaLU%2B0OkuQ69X9l4qANxqvByrMrnTWAH3Gq/rxxoIoJfJz8bXjd1RwLS/igaOmY41GHq9tfc1ve4OO%2Bqy1h4QhKtr9Oq%2BscRWH4FmbQXhD3h6boEotkBtbVt4eBxGdfVAGAx3AKiAIETDz%2B9Wk6dljTNe5rd69fowXL7cDv7%2BcMjfq1br49h9vP5KtFotdDqdxfHy8vIGF9abzmyFhIRIx419GWfCbPWv0%2Bng4eEBX1/fa9ZhbUZODtON3PR6g%2BI3sTPlTuPlWJXJncYKuNd4OVZHugU1NbdceX2t9zFtewuqq%2B%2BUzlRV9anXxy0oK9ts1xovlepWAK7/e73pbs5HRUVZ3Mqrrq7GqVOnGgxexrVdxrVeRvn5%2BRAEQTofFRWF4uJilJaWWrRr3bo1VFduxlurAwB%2B%2BeUXbixLRER0g9Q9eDEABkOYxeuqqsdQVfXYDd3S4qYLXvHx8Thw4AAuXrwoHdu5cyeqq6vRs2dPm9dFREQgMjIS27ZtMzuek5ODzp07S09JxsXFQaVSYfv27VKbiooK7N6926z/nj174sSJE2bh67vvvkNhYWGDdRAREZH7uuluNQ4fPhwbNmxASkoKUlJSUFxcjMWLF2Pw4MFmM02zZs1CVlYWjh07Jh1LTU3FlClT0LJlS3Tv3h27du3Cl19%2BiVWrVkltmjdvjuHDh2PJkiXQaDQICwvDO%2B%2B8AwAYPXq01K5v376Ijo5Gamoqpk6dCr1ej5dffhl333037r//fhd8EkRERHSzsSt4HT58WFan9957b6OKsYdWq8XatWuxYMECTJo0Cd7e3khMTJT21zIyGAzQ6/VmxwYMGIDKykqsXLkSq1evRqtWrbB06VKzXesBIC0tDb6%2Bvli2bBnKy8sRExODtWvXSrvWA4BGo8Hbb7%2BNhQsXYvr06RAEQfrKIO5aT0RERNYIorXH9epp166dFCbseWrPmTvXK51eb0BJSYVbfUM84Nhvif%2Br41iVyZ3GCrjXeDlWZXLkWIODmzj2qcZ169ZJrysqKvDiiy%2BidevWSExMREhICC5cuIDs7GycPHkS8%2BbNa1zVRERERApnV/Dq2rWr9Pq5557DPffcg5dfftmsTVJSEqZPn47PP/8cvXr1qt8FERERkduT/VTjjh07MHjwYKvnBg8ejE8//fS6iyIiIiJSItnBq7KyEsXFlt/CDgDFxcWorKy87qKIiIiIlEh28Lr77ruxbNkynDhxwuz4Tz/9hGXLluHuu%2B92WHFERERESiJ7H6/Zs2fj8ccfx5AhQ9CmTRuEhobi/Pnz%2BOWXXxAYGIjZs2c7o04iIiKim57sGa/IyEhkZ2fj//7v/%2BDt7Y3ff/8d3t7eGDt2LD7%2B%2BGPpq3eIiIiIyFyjdq5v2rSpxYalRERERNSwm%2B67GomIiIhuVnbNeM2cOdPuDgVBwKJFixpdEBEREZFS2RW8Dh48aHeH/J5CIiIiIuvsCl67d%2B92dh1EREREisc1XkREREQu0qinGgFg7969OHToEC5evIiUlBSEhYXhhx9%2BQIsWLRAcHOzIGomIiIgUQXbwunz5MlJSUrB//35pPdeIESMQFhaGd955B7feeiv%2B%2Bc9/OrxQIiIiopud7FuNS5cuxf/%2B9z%2BsWLECX3/9NURRlM716NEDX331lUMLJCIiIlIK2TNeO3bswOTJk9GnTx/o9Xqzc2FhYThz5ozDiiMiIiJSEtkzXiUlJWjTpo31zlQqVFZWXndRREREREokO3g1b94cJ06csHrup59%2BQosWLa67KCIiIiIlkh28%2Bvbti5UrV%2BLYsWPSMUEQUFhYiHfffRf9%2B/d3aIFERERESiF7jdfEiROxf/9%2BJCcn4/bbb4cgCJg5cyZOnTqF1q1bY9y4cc6ok4iIiOimJ3vGy8/PD5s3b8bkyZPh6%2BuLli1bwsfHB%2BPHj8fGjRvh7e3tjDqJiIiIbnqN2kDV29sb48aN4%2BwWERERkQz8yiAiIiIiF7FrxmvmzJlISUlBREQEZs6c2WBbQRCwaNEihxRHREREpCR2Ba%2BDBw9i9OjR0uuGGL9GiIiIiIjM2RW8du/ebfU1EREREdmPa7yIiIiIXER28Bo8eDA2b96My5cvO6MeIiIiIsWSHbyCgoLw3HPPIT4%2BHosWLcKvv/7qhLKIiIiIlEd28Fq3bh1ycnIwaNAgfPDBBxg4cCDGjh2Lzz//3Bn1ERERESlGo9Z4tWnTBs899xz27NmDtLQ0FBUVISUlBb1798bq1atRVlbm6DqJiIiIbnrXtbjez88Po0aNwrp169C1a1cUFhbilVdewQMPPIDFixdzHRgRERGRiUZ9ZZDRkSNHsHHjRnzyySfQaDQYMWIEBg4ciF27duG9997D2bNnsXTpUkfVSkRERHRTkx28qqqqkJ2djU2bNuH48eMICwvDlClTkJycDH9/fwDAvffei3bt2uH55593eMFERERENyvZwSs%2BPh46nQ733HMPVqxYgd69e1vdrb5169a81UhERERkQnbw%2Btvf/oZRo0YhOjq6wXYxMTHIy8trdGFERERESiM7eC1cuNAZdRAREREpHr8yiIiIiMhFGLyIiIiIXITBi4iIiMhFGLyIiIiIXITBi4iIiMhFGr1zfX5%2BPg4fPoyLFy/ioYceQmhoKM6ePYuAgAB4e3s7skYiIiIiRZAdvPR6PebOnYutW7dCFEUIgoD4%2BHiEhoZi/vz5uOOOOzB58mRn1EpERER0U5N9q/GNN95ATk4OZsyYgZycHIiiKJ27//77sXfvXocWSERERKQUsme8tm7dipSUFDzxxBPQ6/Vm51q0aIHTp087rDgiIiIiJZE943X27FnceeedVs95eXmhoqLiuosiIiIiUiLZwatp06b4/fffrZ47efIkbrnllusuioiIiEiJZAevnj17YuXKlTh79qx0TBAElJeXY/369ejVq5dDCyQiIiJSCtlrvFJTU7Fnzx4MHDgQ9913HwRBwL/%2B9S/8/PPP0Gg0SElJcUadRERERDc92TNeISEh%2BOCDDzBo0CD8%2BOOPUKvVyMvLQ3x8PDZv3ozAwEBn1ElERER002vUBqohISF44YUXHF0LERERkaLJnvHasGEDysrKnFELERERkaLJDl4LFizA/fffj2eeeQZ79%2B4120CViIiIiGyTfatx27Zt%2BPDDD5GdnY1PPvkEoaGhSEpKQlJSEm677TYnlEhERESkDLJnvCIjIzF9%2BnR88cUXWLlyJbp06YI1a9ZgwIABePTRR/Hhhx86o04zubm5GDJkCDp16oQ%2Bffpg48aNdl1XU1ODV199FXFxcYiJicHIkSORl5dn0e78%2BfN45plncNddd%2BGee%2B7BjBkzUFpaatbm6NGjmDlzJgYMGIB27dph/PjxDhkbERERKZfs4CVdqFKhZ8%2BeWL58Ofbt24c5c%2BagqKgIc%2BfOdWR9Fo4cOYKUlBS0b98eb7/9NpKSkrBgwQK8//7717w2PT0dGzduRGpqKl5//XVoNBqMGTMG58%2Bfl9rU1tbiySefxIkTJ/Dyyy9jwYIF%2BOabb5CSkmJ2W/Xbb7/F119/jfbt2yMsLMwpYyUiIiJladRTjab%2B/PNPbN%2B%2BHR9//DH%2B%2BOMP%2BPj4OKIum1577TW0b98eixYtAgB069YNZ86cwfLlyzFs2DCoVNaz5NmzZ7F582bMnj0bDz/8MAAgJiYGvXv3xtq1azFt2jQAwKeffoq8vDzk5OTg9ttvBwA0a9YMI0aMwN69exEfHw8AGDlyJEaPHi29JiIiIrqWRs947d%2B/H9OmTUNcXBzmz58PAHjhhRewd%2B9ehxVXX3V1NQ4cOIBBgwaZHR88eDDOnz%2BPY8eO2bx237590Ov1Ztf6%2BfkhISEBubm50rHc3FxER0dLoQsA7rrrLoSHh5u1sxXwiIiIiGyRPeOVkZGBrKwsnDlzBk2bNsVjjz2GoUOHIioqyhn1mTl16hRqamoQGRlpdrxNmzYAgPz8fHTs2NHqtfn5%2BQgJCbHY4DUqKgrZ2dkwGAxQqVTIz8%2B3OpY2bdogPz/fQSNpmEajglpdF%2ByMfyqdO42XY1Umdxor4F7j5ViV6UaNVXbweuutt9CrVy/MnTsX8fHxUKvVzqjLKuP%2BYVqt1uy48eeG9hfT6XTw9/e3OB4QEICamhpcunQJfn5%2BNttptVqXBC%2BVSkBQUBOT93Xurdu/GncaL8eqTO40VsC9xsuxKpOrxyo7eO3ZswfBwcEOK6C8vBznzp27ZruIiAjptSAIVtvYOt7QeWv7kNlqd63%2BHcFgEKHTXYJarYJW6wOd7jL0eoPT3/dGc6fxcqzK5E5jBdxrvByrMjlyrFqtj90zZ7KDlyNDFwDs3LkTM2fOvGa7rKwsBAQEALCc2dLpdAAsZ8JMabVaqV39az08PODr69tgu/Ly8gb7d6Ta2qu/AHq9wexnpXOn8XKsyuROYwXca7wcqzK5eqx2Ba%2BZM2ciJSUFERER1wxJgiBITxzaY%2BjQoRg6dKhdbaurq%2BHh4YGCggLp6UIA%2BOWXXwCgwXVmUVFRKC4uRmlpqdk6r/z8fLRu3VpaLB8VFYXjx49bXP/LL7%2BgV69edtVJREREZI1dwevgwYPS1gkHDx5ssK0zb8d5enqiW7du2L59O8aMGSMdz8nJQWhoKNq3b2/z2ri4OKhUKmzfvh0jRowAAFRUVGD37t1ITk6W2vXs2RP/%2Bc9/zBbZf/fddygsLETPnj2dMzAiIiJyC3YFr927d1t9fSNMnDgRjz/%2BOObMmYPBgwfj22%2B/xfvvv48XXnjBbIuHPn36ICwsDGvXrgUANG/eHMOHD8eSJUug0WgQFhaGd955BwCkUAkAffv2RXR0NFJTUzF16lTo9Xq8/PLLuPvuu3H//fdL7UpKSnDo0CHpdUVFBXbs2AGgLrw5ez8zIiIiuvnIXuNVVFSE0NBQeHh4WJyrra3FuXPnnLqTe5cuXfD666/jX//6F7KysnDLLbdgzpw5ZrNWAKDX62EwmN%2BzTUtLg6%2BvL5YtW4by8nLExMRg7dq1CA0NldpoNBq8/fbbWLhwIaZPnw5BEJCQkIBZs2aZzeb9/PPPmDx5sln/xp937dqFFi1aOHroREREdJMTRGuP9TXgjjvuwJYtW9C5c2eLc//73/%2BQnJxsdY0U2UevN6CkpAIajQpBQU1w8WKFWyxwdKfxcqzK5E5jBdxrvByrMjlyrMHBTex%2BqlH2rmEN5TSDweCSLReIiIiIbkYO2661uroae/bsQVBQkKO6JCIiIlIUu9Z4ZWZm4rXXXgNQ99TiI488YrNt/bVWRERERFTHruDVqVMnPProoxBFEZs2bUK/fv0QEhJi1sbT0xNt27ZFYmKiUwolIiIiutnZFbx69uwp7WF1%2BfJlaTNVIiIiIrKf7O0k0tPTnVEHERERkeLJDl5GJ06cQH5%2BPqqqqizODRky5LqKIiIiIlIi2cHr8uXLmDBhAg4cOABBEKTtJUy3kWDwIiIiIrIkezuJ119/HYWFhdiwYQNEUURmZibWrFmDPn36oFWrVti6dasz6iQiIiK66ckOXrt27cJTTz2FLl26AABuvfVWxMbGIiMjAx06dMCmTZscXiQRERGREsgOXoWFhYiMjIRarYYgCLh8%2BbJ0bvDgwdi1a5dDCyQiIiJSCtnBy9/fH5cuXQIANG3aFL/99pt0dRSLTwAAHuxJREFUrra2VjpHREREROZkB6/o6Gj8%2BuuvAID77rsPb775Jr7%2B%2Bmv88MMPeO2119CuXTtH10hERESkCLKfahw2bJg0y/XMM8/g0UcfxciRIwEAWq0Wb731lmMrJCIiIlII2cFr4MCB0uuIiAh88skn0tYSXbp0QWBgoEMLJCIiIlKKRm%2BgauTr64uEhARH1EJERESkaLLXeBERERFR49g149WuXTuznekbIggCjh07dl1FERERESmRXcFr4sSJdgcvIiIiIrLOruA1adIkZ9dBREREpHhc40VERETkIrKfaszKyrpmmyFDhjSqGCIiIiIlkx280tLSrB43XQPG4EVERERkSXbwsvYl2BcvXsSuXbuwbds2LF261CGFERERESmN7OAVHh5u9VjHjh1RW1uLdevWYfHixQ4pjoiIiEhJHLq4PjY2Frt373Zkl0RERESK4dDgVVhYCJWKD0oSERERWSP7VuPhw4ctjlVXV%2BOnn37Cm2%2B%2BidjYWIcURkRERKQ0soPXyJEjLXaxF0URANC9e3fMnTvXMZURERERKYzs4LVu3TqLY15eXggPD0dISIhDiiIiIiJSItnBq2vXrs6og4iIiEjxuBKeiIiIyEVkz3jp9XqsX78e2dnZKCoqQlVVldl5QRDwzTffOKxAIiIiIqWQHbyWLFmCNWvW4I477kD37t3h6enpjLqIiIiIFEd28MrOzsa4ceMwdepUZ9RDREREpFiy13hVVVVxry4iIiKiRpAdvHr06IEffvjBGbUQERERKZrsW41z5szBuHHj4OPjg549eyIgIMCiTWBgoEOKIyIiIlIS2cHLz88PrVu3Rnp6OtLT0622OX78%2BHUXRkRERKQ0soPX/PnzsWPHDvTu3RtRUVHw8PBwRl1EREREiiM7eH322WeYOnUqxo4d64x6iIiIiBRL9uJ6jUaD9u3bO6MWIiIiIkWTHbz69u2LvXv3OqMWIiIiIkWTfatx0KBBmDt3Lmpra/HAAw9YfaqxQ4cODimOiIiISElkB68xY8YAANatW4f169ebnRNFEYIg8KlGIiIiIitkBy9bW0gQERERUcNkB6%2BkpCRn1EFERESkeLIX1xMRERFR48ie8Zo5c2aD5wVBwKJFixpdEBEREZFSyQ5eBw8etDhWWlqKS5cuQavVwt/f3yGFERERESmN7OC1e/duq8f379%2BP559/HsuXL7/uooiIiIiUyGFrvGJjY/H4449j4cKFjuqSiIiISFEcurg%2BKioKR48edWSXRERERIrh0OB1%2BPBhBAUFObJLIiIiIsWQvcYrMzPT4lhNTQ1%2B%2Bukn7NmzB2PHjnVIYURERERK45Dg5enpifDwcKSmpjJ4EREREdkgO3jl5eU5ow5ZcnNzsXTpUuTn5%2BOWW27BmDFj8Nhjj13zupr/b%2B/Og5q69jiAf8MmIEZUVB7UtoomyhMRlYKVZcTnrrUqWN9T64JoBcW6FX0iVYu1rk%2BxD7VCHdqidXguUxHca1ym0I7A1LUKpS5UEFRWC4Rw3x8Ot8awBBtDAt/PjCM5OffmfDm5yY97b26USkRFReHw4cMoKSlBnz59sHLlSvTs2VOtX35%2BPtatW4fz58/DxMQEfn5%2B%2BPe//w1bW1uxz7fffotTp07hl19%2BwdOnT9G1a1cEBgZi1KhROs9LREREzYPRXbk%2BPT0dwcHBcHZ2xp49ezB%2B/HhERkYiISGhwWXXr1%2BP%2BPh4hIaGIjo6GmZmZpgxYwby8/PFPlVVVZg9ezZu3bqFjRs3IjIyEpcvX0ZwcDAEQRD77dy5E507d8bHH3%2BMzz//HG5ubli0aBHi4%2BNfSW4iIiIyflrt8SoqKkJ4eDgmTJiAwYMH19rn%2B%2B%2B/x6FDh7B27dpXeoL9f//7Xzg7O4tXx/f09MSDBw%2Bwfft2TJw4ESYmtdeSeXl5%2BPbbb7Fy5UpMmjQJAODq6oohQ4YgLi4OS5cuBQCcPHkSN2/eRGJiInr06AEA6NSpE/75z3/iwoUL8PHxAQAcPnwY7du3F9f/9ttvIzc3F7GxsVrtfSMiIqKWR6s9XgkJCbh58ya8vb3r7OPt7Y1bt2690j0%2BlZWVSElJwejRo9Xax44di/z8fFy/fr3OZS9evAiVSqW2rI2NDfz8/KBQKMQ2hUIBuVwuFl0A0K9fPzg6Oqr1e77oqtGrVy88fPjwpbIRERFR86dV4ZWUlISAgACYmdW9g8zMzAwBAQF1XtleF%2B7evQulUolu3bqptXfv3h0AkJWVVeeyWVlZsLOzUztPC3h27bHs7GxUV1eL/ZycnDSW7969e73rB4DLly/XuiwRERERoOWhxuzsbLi4uDTY7%2B9//zuio6P/8qDqUlRUBACQSqVq7TW3a%2B6vTXFxca3fI9m2bVsolUo8ffoUNjY2dfaTSqX1Fl6nT5/GpUuXsHHjRq2y1MfMzASmps9q4pr/m7uWlJdZm6eWlBVoWXmZtXlqqqxaFV4qlarevV3iyszMUFVV1agBlJSUaHV4rkuXLuLPEomk1j51tdd3//MnzDfUr671Z2ZmYsWKFRgxYgTGjRtX7xgaYmIiQbt2rcXbUqnVX1qfsWlJeZm1eWpJWYGWlZdZmyd9Z9Wq8OrYsSMyMzPh7u5eb7/bt2/Dzs6uUQM4deoUVqxY0WC/I0eOoG3btgA092wVFxcD0NwT9jypVCr2e3FZc3NzWFtb19uvpKSk1vXn5uZi9uzZkMlkOtnbVV0toLj4KUxNTSCVWqG4%2BA%2BoVNV/eb2GriXlZdbmqSVlBVpWXmZtnnSZVSq10nrPmVaF11tvvYV9%2B/bB398f5ubmtfZRKpXYv38/PDw8tB8pgAkTJmDChAla9a2srIS5uTl%2B/fVX8dOFwLM9TgDqPb/KyckJjx49QmFhodp5XllZWejatav4aUgnJyfcuHFDY/nMzEyNT3Q%2BefIEs2bNgo2NDaKjo9GqVSutcjSkqurPJ4BKVa12u7lrSXmZtXlqSVmBlpWXWZsnfWfVqjybPn06srOzMX/%2BfOTl5Wncn5eXh5CQEGRnZ2PGjBm6HqPIwsICnp6eSE5OVmtPTExEx44d4ezsXOeyXl5eMDExUVu2rKwMZ8%2Beha%2Bvr9jm6%2BuLW7duqZ3PlZGRgZycHLV%2BZWVlCAoKwtOnTxETEyPujSMiIiKqi1Z7vHr27ImIiAisWbMGQ4YMQe/eveHo6AgAyMnJwdWrVyEIAlavXg25XP5KBxwSEoKpU6ciPDwcY8eORVpaGhISErB27Vq1a3gNHToUDg4OiIuLAwB07twZkydPxubNm2FmZgYHBwd8%2BeWXAJ4VljWGDRsGuVyO0NBQLF68GCqVChs3bkT//v3VLqcRGhqKGzdu4JNPPkFubi5yc3PF%2B5ydnWFhYfFKfw9ERERkfLT%2ByqBJkyahR48e2L17N1JTU5GRkQEAsLKygre3N%2BbOnYu%2Bffu%2BsoHWcHNzQ3R0NLZu3YojR47A3t4e4eHhCAgIUOunUqnES0TUWL58OaytrbFt2zaUlJTA1dUVcXFx6Nixo9jHzMwMe/bswbp167Bs2TJIJBLxK4OeP7n%2B4sWLAFDr%2BWlnzpzBa6%2B9psvYRERE1AxIhNo%2B1teA6upqPHnyBADQrl27Oq8WT42nUlXj8eMymJmZoF271njypKxFHGdvSXmZtXlqSVmBlpWXWZsnXWZt3761bk%2Buf5GJiQk6dOjwMosSERERtVjcVUVERESkJyy8iIiIiPSEhRcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6QkLLyIiIiI9YeFFREREpCcsvIiIiIj0hIUXERERkZ6w8CIiIiLSExZeRERERHrCwouIiIhIT1h4EREREekJCy8iIiIiPWHhRURERKQnLLyIiIiI9ISFFxEREZGesPAiIiIi0hMWXkRERER6wsKLiIiISE9YeBERERHpCQsvIiIiIj1h4UVERESkJyy8iIiIiPSEhRcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6YlEEAShqQdBfxIEAdXVz6bE1NQEKlV1E49If1pSXmZtnlpSVqBl5WXW5klXWU1MJJBIJFr1ZeFFREREpCc81EhERESkJyy8iIiIiPSEhRcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6QkLLyIiIiI9YeFFREREpCcsvIiIiIj0hIUXERERkZ6w8CIiIiLSExZeRERERHrCwsvAZGdnIzAwEH379sXAgQMRGRmJ8vLyph5WoyQnJyM4OBi%2Bvr7o27cvxo4di3379qG6ulrss3z5csjlco1/58%2Bf11hfbGws/Pz84OLigokTJyI1NVWfcep16NChWnNs3rxZrZ9CocC7774LFxcXDB06FPHx8bWuz5CzAsC0adNqzSuXy3Hs2DEAxju3d%2B7cQUREBMaNGwdnZ2eMGTOm1n66nMvS0lJERETAw8MDbm5u%2BOCDD5CTk6PTXLVpKKtKpcKePXswdepUeHp6wt3dHVOmTMEPP/ygsS4/P79a57uiokKtn6FmBXT/nDXkrHVtv3K5HA8fPhT7Gfq8avM%2BAxjm9mrW6CXolSkuLsb06dPh4OCAqKgoPH78GOvXr0dhYaHGG7kh27t3LxwcHPDRRx%2BhQ4cOSE1Nxbp163Dv3j2EhYWJ/bp06aKRy8nJSe12bGws/vOf/2DRokVwdnZGQkICgoKCkJCQALlcrpc82oiJiUGbNm3E2507dxZ/Tk9PR3BwMMaNG4fly5cjLS0NkZGRsLCwQEBAgNjPGLJ%2B/PHHKC0tVWuLi4vDyZMnMXDgQLHNGOf29u3bUCgUcHV1RXV1NQRB0Oij67lcsmQJrl27hlWrVsHGxgZRUVGYOXMmvvvuO1haWjZZ1vLycuzevRvvvvsuAgMDYWZmhsOHD2PmzJnYuXMnBg8erNZ/%2BPDhmDVrllqbhYWF2m1DzVpDl89ZQ8564MABjbawsDBYWVmhU6dOau2GPK/avM8Y7PYqkMHYvXu34OrqKjx69Ehs%2B%2B677wSZTCZkZmY24cga5/nx1/j0008FFxcXoaKiQhAEQQgLCxNGjx5d73oqKiqE/v37Cxs2bBDbqqqqhJEjRwoffvihbgf9kg4ePCjIZLJaM9cIDAwU/P391drCw8OFQYMGCSqVShAE48haFz8/PyEoKEi8baxzWzMXglB3Bl3OZUZGhiCTyYRz586JbTk5OYKzs7Owb98%2BneWqTUNZq6qqhMLCQrW26upqYfz48cLUqVPV2gcPHiysWbOm3scz5Kz1tT%2BvOcxrbe7duyfIZDJhz549au2GPq/avM8Y6vbKQ40G5Pz58xg4cCDat28vtg0fPhwWFhZQKBRNOLLGeX78NXr16oWKigoUFhZqvZ60tDSUlJSo7S43NTXFqFGjoFAo6vzL1ZBUVlYiJSUFo0ePVmsfO3Ys8vPzcf36dQDGmzUtLQ3379/H2LFjG72coeU1Man/5VDXc6lQKCCVSuHj4yP2c3BwQL9%2B/V759t5QVlNTU7Rt21atTSKRoGfPnmqHo7RlyFm11RzmtTaJiYmQSCR1HlqvT1Nmbeh9xpC3VxZeBiQrK0tj17aFhQVef/11ZGVlNdGodOPy5cuwtbVFhw4dxLa7d%2B9iwIAB6N27NyZMmIDTp0%2BrLVOTuVu3bmrtTk5OKCsrQ15e3qsfuJbGjBmDXr16YciQIdi9ezdUKhWAZxmVSqVGhu7duwP4M6MxZX1eYmIirKysMGTIELX25jS3NXQ9l1lZWejatSskEonG%2Bgxxe6%2BurkZ6errGaxQAHD16FL1794abmxuCgoLwyy%2B/qN1vDFl19Zw1hqzPO3bsGNzd3WFvb69xn7HN6/PvM4a8vfIcLwNSXFwMqVSq0S6VSlFUVNQEI9KNK1eu4NChQwgJCYGpqSmAZ3%2BZuLi4oHv37igpKcH%2B/fsREhKC7du3Y8SIEQCe/T4sLCw0jp3X/CVeWFhY64uFPnXs2BELFiyAq6srJBIJzp49i23btiEvLw8RERHivL04rzW3a%2B43hqwvqqqqwvHjxzFkyBBYW1uL7c1lbl%2Bk67ksLi5WOy/w%2BfUZ4vb%2B9ddfIzs7G2vXrlVr9/PzQ58%2BfeDg4IB79%2B5h165d%2BNe//oUjR46gS5cuAGDwWXX5nDX0rM%2B7efMmbt26pTGngPHN64vvM4a8vbLwMgKCIGhU2cYiPz8foaGhcHFxQVBQkNg%2Bffp0tX5%2Bfn6YPHkyoqKixBc6ALXmrtn1awi/E29vb3h7e4u3vby80KpVK8TFxeGDDz4Q2%2Bsa6/Pthp71RZcuXcKjR480DlE0l7mtiy7nUpt1GYIff/wRmzZtwqxZs%2BDu7q52X3h4uPjzgAEDMGjQIIwcORKxsbFYvXq1eJ8hZ9X1c9aQsz7v6NGjMDc3x/DhwzXuM6Z5ret9pr5xNOX2ykONBkQqlaK4uFijvaSkpNY9YYaupKQEQUFBsLS0xM6dO2Fubl5nXxMTEwwbNgxZWVni5TOkUikqKio0Pr5c8zt68RwUQzFy5EioVCrcuHFDHOOLfxHVZKiZV2PMmpiYCFtbW3h5edXbr7nMra7nsq7tva49303l5s2bCA4Oxj/%2B8Q8sW7aswf6dOnVC//79ce3aNbHNWLLW%2BCvPWWPJKggCkpKS4O3tDVtb2wb7G%2Bq81vU%2BY8jbKwsvA%2BLk5KRxrLiyshJ3796t9bwKQ1ZRUYF58%2BahoKAAMTExaNeuXYPLvHhCdU3mF38nWVlZaN26tdolGwzV66%2B/DnNzc/z6669q7ZmZmQD%2BzGhsWcvLy3HmzBmMGDGi3oK6RnOYW13PpZOTE7KzszV%2BN5mZmQazvd%2B9exezZ8%2BGs7MzNm7cqPVf9rXNt6FnfdHLPmeNJevly5fx%2B%2B%2B/N%2BqDMYY2r/W9zxjy9srCy4D4%2BPggJSUFT548EdtOnTqFyspK%2BPr6NuHIGqeqqgoLFy7EzZs3ERMTA0dHxwaXqa6uxokTJ9CjRw/xWHu/fv3Qpk0bJCUlif1UKhWSk5Ph6%2BtrcLvtayQlJcHU1BTOzs6wsLCAp6cnkpOT1fokJiaiY8eOcHZ2BmB8Wc%2BePYuysjKtXrSby9zqei59fX1RXFyMCxcuiP0ePHiAtLQ0g9je8/PzMWvWLNjZ2SE6Olrj%2Bk11ycvLQ1paGlxcXMQ2Q8/6or/ynDWWrEePHoW1tbXGNdnqYmjz2tD7jCFvr6arnz9YS02qR48eOHjwIC5cuIDOnTsjPT0dn376KYYOHYrJkyc39fC0tnr1aiQmJmLhwoXo1KkTcnNzxX82NjbIz89HSEgIlEolSkpKcO3aNURGRiI9PR1r1qwR/3owNTWFqakpdu3aBUtLS1RUVGD79u1IT0/Hxo0bYWdn18RJgcDAQDx8%2BBClpaW4c%2BcOvvzyS8THx2PatGniuSFdunTBrl278ODBA7Ru3RpHjx7F3r17sWLFCvTu3RuAcWR93tatW1FRUYEVK1aoFUk5OTlGO7d//PEHzpw5g8zMTFy6dAkFBQWwt7dHZmYm2rdvDysrK53Opb29Pa5evYoDBw6gc%2BfOePDgASIiImBpaYm1a9fCzOzVnYLbUFaJRIL3338fubm5CA8PR3l5udp2XPPBh8TERHzxxRcoLy/HkydP8MMPP2DlypWorKzE%2BvXrxcM0hpz18ePHOn3OGnJWKysrAM%2BKlpUrV2Lw4MEYNWqUxnqMYV4bep%2BxsLAw2O1VIhjqBYJaqOzsbERGRuLy5cuwtLTEmDFjsHTp0ld6BWBd8/Pzq/NrFL766ivI5XKsWLEC165dw%2BPHj2Fubo7evXtjzpw5aieqA892bcfGxiI%2BPh4FBQWQyWRYtmwZPD099RGlQZGRkbhw4QJyc3NRXV2NN998EwEBAZg2bZpaQaJQKLB161ZkZWXB3t4eM2fOxJQpU9TWZehZaxQVFWHQoEGYPn26xjk/hYWFRju39%2B/f17gsRo2vvvoKHh4eAHQ7l6WlpdiwYQNOnDgBpVIJDw8PrFq1Squ9xH9FQ1kdHR3rvB%2BAeFmBjIwMbNmyBbdv30ZJSQnatGkDT09PhIaGanw831CzvorXI0PNWvMcPnfuHObOnYsvvvii1r01xjCvDb3PGPL2ysKLiIiISE94jhcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6QkLLyIiIiI9YeFFREREpCcsvIiIiIj0hIUXERmFQ4cOQS6Xi/%2BcnZ3h5eWFRYsW4bfffmvycd2/f7/efjt27IBcLtfTqBqmUCiwY8eOWu%2BTy%2BVYu3atnkdE1DK8ui9SIiJ6BdavX49u3bqhoqICaWlp2LVrF1JTU5GcnCx%2Bhxw1TKFQID4%2BHgsWLGjqoRC1KCy8iMio9OjRAy4uLgAADw8PqFQq7NixA6dPn8bEiRObeHRERPXjoUYiMmo1RdijR4807ktKSsJ7772Hvn37ws3NDYGBgbh%2B/bpanytXrmDRokXw8/NDnz594Ofnh8WLF9f6BbwZGRmYPHkyXFxc4OXlhS1btqCqquovjV%2BbMS5fvhxubm64c%2BcOgoKC4ObmBl9fX3z22WeorKxU65ubm4vQ0FC4ublhwIABWLJkCX7%2B%2BWfI5XIcOnRIXF98fDwAqB2%2BffFw6ZEjRzBy5Ei4urrinXfewffff/%2BXshIR93gRkZGrKRbefPNNtfZdu3Zh27ZtmDBhAubNmwelUonY2FhMmTIFCQkJ6N69OwAgJycHXbt2xejRo9G2bVvk5%2Bdj//798Pf3x7Fjx9C%2BfXsAQGZmJmbMmAFHR0d89tlnsLS0xL59%2B5CYmPjSY9d2jACgVCoxb948%2BPv7Y9asWfjpp58QHR0NGxsbzJ8/HwDw9OlTvP/%2B%2BygqKsLSpUvxxhtv4MKFC1i0aJHa4wYHB%2BPp06c4ceIEDhw4ILZ36tRJ/PncuXO4cuUKQkNDYW1tjZiYGMyfPx/Hjx9Hly5dXjozUYsnEBEZgYMHDwoymUzIyMgQlEqlUFpaKpw/f14YNGiQMGXKFEGpVIp9f//9d8HZ2Vn45JNP1NZRWloqDBo0SFi4cGGdj1NVVSWUlZUJffv2FeLi4sT2Dz/8UOjTp4%2BQn5%2Bv1nfEiBGCTCYT7t27V%2B/4o6KiBJlM9lJjDAsLE2QymZCUlKTWNygoSBg%2BfLh4%2B5tvvhFkMpmgUCjU%2Bq1atUqQyWTCwYMHxbY1a9aojed5MplMePvtt4WSkhKxLT8/X%2BjZs6ewe/fuenMSUf24x4uIjMqkSZPUbjs5OSE6OhpmZn%2B%2BnF28eBFVVVUYN26c2qHAVq1awd3dHampqWJbWVkZoqOjcfLkSeTk5EClUon3ZWVliT%2BnpqZi4MCBsLOzE9tMTU0xatQofP75543O0ZgxAoBEIoGfn59am1wuR0pKinj7p59%2BQuvWreHj46PWb8yYMWp7trTh4eEBGxsb8badnR06dOhQ6yFYItIeCy8iMiobNmyAk5MTysrKkJSUhAMHDmDx4sWIiYkR%2BxQUFAAA/P39a12Hicmfp7cuWbIEKSkpCA4OhouLC1q3bg2JRII5c%2BagoqJC7FdYWKhWdNWorU0bjRkjAFhZWaFVq1ZqbRYWFlqNsUOHDo0en62trUbbi49HRI3HwouIjIqTk5N4Qr2npyeqq6uRkJCA48ePY8SIEQCAdu3aAQCioqLg4OBQ57pKSkpw7tw5zJ8/H3PmzBHbKysrUVRUpNbX1tZWLJaeV1ubNrQdY2PY2tri559/1mh/2TESke6x8CIio7Zs2TKcPHkSUVFRGDZsGExMTODl5QUzMzPcvXsXw4cPr3NZiUQCQRBgYWGh1p6QkKB2yBF4dujt7NmzKCgoEPcqqVQqJCUlvdS4tR1jY7i7uyM5ORkKhQK%2Bvr5i%2B7FjxzT61mQuLy%2BHpaWlTh6fiBrGwouIjFrbtm0xZ84cbNq0CUePHsW4cePw2muvITQ0FNu2bcO9e/fg4%2BMDqVSKgoICXLlyBVZWVggNDYWNjQ3c3d0RGxuLdu3awdHRET/%2B%2BCP%2B97//QSqVqj3OvHnzcPbsWUyfPh0hISGwtLREfHw8/vjjj5cat7ZjbIzx48cjLi4OH330ERYuXIg33ngD58%2Bfx8WLFwGoH76UyWQAgD179sDHxwcmJiaQy%2BUaRSgR6Rav40VERm/atGlwcHBAdHS0uKdq7ty52L59O3777TeEhYUhMDAQmzdvRk5ODtzd3cVlt2zZAg8PD2zatAnz58/H1atXsXfvXrRp00btMWQyGfbu3QsbGxuEhYUhIiICcrkcwcHBLz1ubceoLWtra8TFxeGtt97Cpk2bsGDBAjx48AAff/wxAKhlGjNmDAICArBv3z6899578Pf3x8OHD186CxFpRyIIgtDUgyAiolen5nph586dg729fVMPh6hF46FGIqJm5JtvvgEAdOvWDUqlEikpKfj666/xzjvvsOgiMgAsvIiImhFLS0vExcXh/v37UCqV%2BNvf/oagoCDMmzevqYdGROChRiIiIiK94cn1RERERHrCwouIiIhIT1h4EREREekJCy8iIiIiPWHhRURERKQnLLyIiIiI9ISFFxEREZGesPAiIiIi0pP/AydwUebpitTQAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAl4AAAHKCAYAAADSPkVOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeVxU5f4H8M%2BZGVZhWAQtEE0wMTeyxUQJE6873kSjtHLpZ%2BkVE9PUi3uLipVdFamsNHNNb4vc4KplWqjlVll5U7LAMsFcQBhC2WbO7w%2Bc4wwzg3NwZswzn/frdV8O5zznme8z0u3Tc57zjCCKoggiIiIicjrVjS6AiIiIyF0weBERERG5CIMXERERkYsweBERERG5CIMXERERkYsweBERERG5CIMXERERkYsweBERERG5CIMXERERkYsweBHRDTF%2B/Hjcc889OHPmjMW50tJSxMXFYfjw4di/fz%2Bio6Nx8OBB2e9x8OBBu69NS0tDQkLCNdslJCRg/PjxsmuRKzo6GitWrHD6%2B9jj8uXLWLFihdXPccWKFYiOjkZJSckNqIzo5sPgRUQ3xIIFC6BWqzFnzhyLcy%2B%2B%2BCIqKirw0ksvoVOnTtiyZQs6dOhwA6okoC54ZWZm4tChQze6FKKbHoMXEd0QoaGhmD9/Pvbt24fNmzdLx3fu3ImcnBxMnz4drVq1gp%2BfH%2B688074%2BfndwGqJiByDwYuIbpiBAwdi0KBBeOmll3D69GlcvHgR8%2BfPR48ePfDoo48CsH278OjRo/jHP/6Brl27olOnThgyZAi2bdtm1/t%2B9NFH6NevHzp27IgBAwYgKytLdu07d%2B7E4MGD0alTJ/Tu3Rvr1q2TzlVUVOCee%2B7BvHnzLK47ffo07rjjDqxatUr2e54/fx7z5s1DfHw8OnbsiISEBGRmZqK2ttas/%2BjoaKxevRpr1qxBQkICunTpgkceeQTfffedRZ///ve/pc9i4MCByM7ONrvtevr0acTGxgIAMjMzER0djejoaKSlpZn1U1xcjKlTp%2BLuu%2B9G9%2B7dMXPmTJSXl8seI5HSaW50AUTk3ubNm4dDhw5h1qxZCA4ORk1NDRYtWtTgNQcOHMCTTz6JmJgYPPfcc/D398e2bdswZcoUVFZWYujQoTav/eijjzBz5kz07t0baWlpKC8vR2ZmJqqrq6FS2fffosePH8eiRYvw9NNPIyQkBNnZ2Vi4cCFqamowduxYNGnSBMOGDcO///1vTJ8%2BHf7%2B/tK1mzZtgoeHB4YNG2bfB3TF%2BfPnkZycDJVKhYkTJ6Jly5Y4cuQI3njjDRQWFiI9Pd2s/caNGxEZGYlZs2YBAJYvX45x48Zh165dUj1btmzBvHnz0K9fPykoZWZmoqamRuqnWbNmWLVqFZ588kk89NBDSE5OBgAEBwebvd%2BkSZMwcOBAPPTQQzhx4gReffVVALCoi8jtiUREN9gXX3whtm3bVmzbtq2YlZVldu7AgQNi27ZtxQMHDkjH%2BvfvLw4ZMkSsqakxazt%2B/HixR48eol6vt3qtXq8X4%2BLixKSkJNFgMEjXnT59WuzQoYPYq1eva9baq1cvMTo6Wjx%2B/LjZ8SeeeEK86667xEuXLomiKIqnTp0S27VrJ65Zs0ZqU1lZKXbt2lVMS0u75vu0bdtWzMjIkH6eO3eueOedd4qFhYVm7VavXi22bdtW/Pnnn0VRFMXff/9dbNu2rZiYmCjW1tZK7b7//nuxbdu2Yk5OjvRZ9OjRQ0xOTjbrr7Cw0OKzKC4utqjHKCMjQ2zbtq349ttvmx1/7rnnxE6dOpl9zkQkirzVSEQ3XM%2BePXHnnXfitttuw4MPPthg299%2B%2Bw0FBQUYPHgwAKC2tlb6X3x8PM6fP4%2BTJ09avfbkyZM4d%2B4cEhMTIQiCdDw8PBxdunSxu97bb78d7dq1MzuWmJiIP//8Ez/%2B%2BCMAICIiAg888ADee%2B89iKIIAMjOzkZpaSkef/xxu9/L6IsvvsB9992HZs2aWYwZgMXC9wceeABqtVr62VhvYWEhgLrP4vz58xgwYIDZdWFhYbI%2BC6P6T4RGR0ejqqoKxcXFsvsiUjLeaiSivwRPT094eHhcs92FCxcAAC%2B99BJeeuklq20uXrzY4PGQkBCLcyEhIVIouRZb1wN1W2EYjRo1CmPGjMGXX36JuLg4bNq0CV26dGnUE5rFxcX4/PPPbV5bf8yBgYFmP3t6egIAqqqqzNo3bdrU6ljs/Syu9X6VlZWy%2BiFSOgYvIrqpBAUFAajbB6xPnz5W27Ru3brBa43hzZS1Y7Y0dL1pAImNjUXbtm2xYcMG%2BPr64scff8Qrr7xi9/uYCgoKQnR0NJ555hmr55s1aya7PwBWZ6TkfBZEJA%2BDFxHdVCIjI3HbbbchLy8PU6dOlXVt69atERoaipycHDzxxBPS7cbCwkIcOXLE7vDy888/Iy8vz%2Bx2Y05ODpo0aWIxIzVy5EjMnz8ff/75J0JCQtC/f39ZNRs98MADyM3NRcuWLREQENCoPkwZP4vt27fjiSeekI4XFRVZfBacvSJyHK7xIqKbzvPPP4/9%2B/dj7NixyMnJweHDh/HZZ5/hzTffRGpqqs3rVCoVJk%2BejB9//BETJ07EF198gY8//hhPPPGE1duHtjRr1gwTJkzAhx9%2BiD179mDatGn48ssvMWHCBPj4%2BJi1/fvf/w6tVovDhw8jOTlZCjFypaamwsPDA8OHD8emTZuwf/9%2B5ObmYuPGjRg/fjz%2B%2BOMPWf2pVCpMmjQJ33//PVJTU5Gbm4vs7Gw88cQTCA0NNVsD5%2Bfnh/DwcOzatQv79u3D0aNHcfr06UaNg8jdccaLiG463bp1w/vvv4%2BVK1di0aJF0Ol0CAwMRFRUlMVi8fqM2yGsWrUKTz/9NMLDwzF%2B/HgcPnzY7p3Z77jjDgwdOhQrVqzAr7/%2BimbNmmHmzJkYM2aMRVtvb28kJCTg448/xogRI2SP1ahZs2b44IMP8Prrr2P16tU4e/YsmjRpgvDwcNx///3QarWy%2B3zkkUcgCAJWrVqFiRMnIjw8XNpyov5XOS1cuBAvv/wyJkyYgOrqaiQlJWHx4sWNHg%2BRuxJE4%2BM2RETkcNXV1UhISMDdd9%2BN5cuX3%2Bhyrkmn06Ffv37429/%2BhhdffPFGl0OkOJzxIiJygpKSEhQUFOCjjz5CcXExxo0bd6NLsnD%2B/HmsXLkS9913HwIDA1FUVIR3330XFRUVGDVq1I0uj0iRGLyIiJzgiy%2B%2BwMyZM6XvpPwrfsm3p6cnCgsL8fzzz6OsrAze3t6IiYnB888/j9tvv/1Gl0ekSLzVSEREROQifKqRiIiIyEUYvIiIiIhchMGLiIiIyEUYvIiIiIhchE81/sWIogiDoe55B5VKkF67A3caL8eqTO40VsC9xsuxKpOjxqpSCWbf9tAQBq%2B/GINBRElJBTQaFYKCmkCnu4TaWsONLsvp3Gm8HKsyudNYAfcaL8eqTI4ca3BwE6jV9gUv3mokIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichEGLyIiIiIXYfAiIiIichFNYy46ffo0tm/fjqKiIlRWVpqdEwQBixYtckhxREREREoiO3h98cUXePrpp2EwGBAcHAxPT0%2Bz84IgOKw4IiIiIiWRHbyWLl2Ku%2B66C0uXLkXTpk2dURMRERGRIsle4/Xbb7/hqaeeYugiIiIikkl28AoLC8OlS5ecUQsRERGRoskOXuPHj8c777yDy5cvO6MeIiIiIsWya43XggULzH6%2BcOEC%2BvTpg/vuuw9BQUEW7efMmeOY6oiIiIgUxK7gtWHDBqvH//vf/1ocEwSBwYuIiIjICruCV15enrPrICIiIlI82Wu8ioqKUFNTY/VcbW0tioqKrruoazl58iTGjh2LO%2B%2B8E7GxsViwYIHFRq62bN26Ff3790enTp2QmJiI7du3W7SpqanBq6%2B%2Biri4OMTExGDkyJEW4fOrr77C1KlTkZCQgJiYGAwYMABvvPEGqqurHTJGIiIiUh7Zwat37944fvy41XN5eXno3bv3dRfVEJ1Oh9GjR6OiogIZGRn45z//iezsbLtub%2B7YsQNpaWno06cP3n77bXTr1g1TpkzBvn37zNqlp6dj48aNSE1Nxeuvvw6NRoMxY8bg/PnzUpvNmzejvLwckyZNwltvvYXk5GS89dZbmDZtmsPHTERERMogewNVURRtnjMYDE7fuX7z5s3Q6XTIyspCcHAwAECtVmPatGmYMGECoqKibF67fPly9O/fH88%2B%2BywAoFu3bjh58iQyMjIQFxcHADh79iw2b96M2bNn4%2BGHHwYAxMTEoHfv3li7dq0UrJ577jnp/QHgvvvug0ajwcKFC1FYWIjw8HCnjJ%2BIiIhuXg77kuzq6mrs2bPH6lOOjrRnzx7ExsaahZ5%2B/frB09MTubm5Nq/7/fffUVBQgMTERLPjiYmJ%2BOGHH1BSUgIA2LdvH/R6PQYNGiS18fPzQ0JCgln/pu9v1L59ewDAuXPnGjc4IiIiUjS7ZrwyMzPx2muvAah7avGRRx6x2TY5OdkxldmQn5%2BPYcOGmR3z9PREy5YtkZ%2Bfb/O6goICAEBkZKTZ8aioKIiiiIKCAgQHByM/Px8hISEIDAy0aJednQ2DwQCVynpe/frrr6FWq9GqVavGDE2i0aigVte9h/FPpXOn8XKsyuROYwXca7wcqzLdqLHaFbw6deqERx99FKIoYtOmTejXrx9CQkLM2nh6eqJt27YWM0qOptPpoNVqLY5rtVqUlZXZvM54rv61AQEBZud1Oh38/f0trg8ICEBNTQ0uXboEPz8/i/OFhYVYtWoVkpKSrM6G2UulEhAU1ET6Wav1aXRfNyN3Gi/HqkzuNFbAvcbLsSqTq8dqV/Dq2bMnevbsCQC4fPkyUlJSEBER4dTC5BJF0a71ZfXbGNesmR631k9Da9sqKiowadIkNG3aFP/85z/tLdkqg0GETncJarUKWq0PdLrL0OsN19XnzcCdxsuxKpM7jRVwr/FyrMrkyLFqtT52z5zJXlyfnp4uuyBH0mq10Ol0FsfLy8sbXFhvOrNlOltn7Ms4E2arf51OBw8PD/j6%2Bpodr6mpQWpqqrQo39psnFy1tVd/AfR6g9nPSudO4%2BVYlcmdxgq413g5VmVy9VhlB6%2BsrCyb5wRBgFarRfv27dG8efPrKsyWqKgoi7Vc1dXVOHXqlMXaL1PGtV0FBQVmAS0/Px%2BCIEjno6KiUFxcjNLSUrN1Xvn5%2BWjdurXZ%2Bi6DwYAZM2bgyJEjWL9%2B/V9uFpCIiIj%2BWmQHr7S0NOlWnOntN9NjKpUKDz74IF588UVoNLLfokHx8fF44403cPHiRekJyp07d6K6ulq6HWpNREQEIiMjsW3bNvTp00c6npOTg86dO0vrsuLi4qBSqbB9%2B3aMGDECQN2txN27d1s8OPDCCy9g586deOutt9ChQweHjpOIiIiUR3Yqev/99zFlyhT06NEDiYmJaNq0KS5cuICcnBx8%2BeWXeO655/Djjz/itddeQ3h4OJ5%2B%2BmmHFjx8%2BHBs2LABKSkpSElJQXFxMRYvXozBgwebzWTNmjULWVlZOHbsmHQsNTUVU6ZMQcuWLdG9e3fs2rULX375JVatWiW1ad68OYYPH44lS5ZAo9EgLCwM77zzDgBg9OjRUrs333wT7733HsaMGQNfX19899130rmWLVte1wJ7IiIiUibZwWvdunXo06eP2SLyyMhIdO3aFYsXL8aHH36IZcuWoaysDNnZ2Q4PXlqtFmvXrsWCBQswadIkeHt7IzEx0WLHeIPBAL1eb3ZswIABqKysxMqVK7F69Wq0atUKS5culTZPNUpLS4Ovry%2BWLVuG8vJyxMTEYO3atQgNDZXaGHe7f/fdd/Huu%2B%2BaXZ%2Beno6hQ4c6cNRERESkBILY0ON6Vtx7771Yvnw5unfvbnHuq6%2B%2BQmpqKr7%2B%2Bmvk5ubi6aefxtGjRx1WrDvQ6w0oKamARqNCUFATXLxY4RYLHN1pvByrMrnTWAH3Gi/HqkyOHGtwcBO7n2qUvWuYXq/HqVOnrJ777bffpHVfnp6e8PT0lNs9ERERkWLJDl5xcXFYtmwZvvzyS7Pje/fuxfLly9GjRw8AdU8P8vsKiYiIiK6SvcZr9uzZGDlyJJ588kk0adIETZs2RXFxMSoqKtCyZUvMnj1bamu6GJ2IiIjI3ckOXs2bN8d//vMffPTRR/j6669RWlqK9u3b495770VSUhJ8fOq23n/sscccXiwRERHRzaxRm2z5%2BPjgscceY7giIiIikkH5Xz9ORERE9Bche8arpqYGb7/9NnJyclBUVISqqiqz84IgmG1aSkRERER1ZAevf/3rX3j33XcRHx%2BPv/3tb9wygoiIiMhOsoPX9u3bMXHiRIfvSE9ERESkdLLXeJWVleGee%2B5xRi1EREREiiY7eN17773Iy8tzRi1EREREiiY7eM2ZMwcffPABPv30U1RXVzujJiIiIiJFkr3G68EHH0RtbS0mT54MQRDg7e1tdl4QBHzzzTcOK5CIiIhIKWQHr379%2BkEQBGfUQkRERKRosoPX4sWLnVEHERERkeJx53oiIiIiF2lU8MrPz8fUqVMRFxeHjh074scffwQAZGZm4sCBAw4tkIiIiEgpZAev48eP46GHHsKhQ4fQtWtX6PV66VxFRQU2b97s0AKJiIiIlEJ28FqyZAmio6Oxc%2BdOvPzyyxBFUTrXuXNnHD161KEFEhERESmF7OD17bff4sknn4SPj4/F040hISG4cOGCw4ojIiIiUpJGrfHy8PCwerysrIxfmk1ERERkg%2BzgFR0djc8%2B%2B8zqub1796JDhw7XXRQRERGREsnex2vUqFF49tln4ePjgwcffBAAcObMGRw4cAAffvghMjIyHF4kERERkRLIDl4DBw7EqVOnkJmZifXr1wMAJk2aBLVajdTUVCQkJDi8SCIiIiIlkB28AOAf//gHhgwZgr1796K4uBhBQUGIi4tDeHi4o%2BsjIiIiUoxGBS8AuOWWW5CcnOzIWoiIiIgUjV8ZREREROQids14tWvXzmLPLlsEQcCxY8euqygiIiIiJbIreE2cONHu4EVERERE1tkVvCZNmuTsOoiIiIgUj2u8iIiIiFyEwYuIiIjIRRi8iIiIiFyEwYuIiIjIRRi8iIiIiFyEwYuIiIjIRRi8iIiIiFyEO9cTERERuQh3riciIiJyEe5cT0REROQiXONFRERE5CJ2zXhZc%2BLECeTn56Oqqsri3JAhQ66rKCIiIiIlkh28Ll%2B%2BjAkTJuDAgQMQBAGiKAKA2RowBi8iIiIiS7JvNb7%2B%2BusoLCzEhg0bIIoiMjMzsWbNGvTp0wetWrXC1q1bnVEnERER0U1PdvDatWsXnnrqKXTp0gUAcOuttyI2NhYZGRno0KEDNm3a5PAiiYiIiJRAdvAqLCxEZGQk1Go1BEHA5cuXpXODBw/Grl27HFogERERkVLIDl7%2B/v64dOkSAKBp06b47bffpHO1tbXSOSIiIiIyJzt4RUdH49dffwUA3HfffXjzzTfx9ddf44cffsBrr72Gdu3aObpGIiIiIkWQ/VTjsGHDpFmuZ555Bo8%2B%2BihGjhwJANBqtXjrrbccWyERERGRQsgOXgMHDpReR0RE4JNPPpG2lujSpQsCAwMdWiARERGRUjR6A1UjX19fJCQkOKIWIiIiIkVrdPCqqKjAmTNnrO5c36FDh%2BsqioiIiEiJZAevkpISzJkzB59//rnFOVEUIQgCjh8/7pDiiIiIiJREdvCaN28eDhw4gFGjRiEqKgoeHh7OqIuIiIhIcWQHrwMHDiAtLQ0PP/ywM%2BohIiIiUizZ%2B3j5%2BPggLCzMGbUQERERKZrs4PXggw9ix44dzqjFbidPnsTYsWNx5513IjY2FgsWLEBlZaVd127duhX9%2B/dHp06dkJiYiO3bt1u0qampwauvvoq4uDjExMRg5MiRyMvLM2tTUlKCBQsWIDk5GR07dpS%2Bu5KIiIjIFtm3Gp955hnMnj0bEydOxAMPPICAgACLNn379nVIcdbodDqMHj0aYWFhyMjIQElJCdLT01FaWoolS5Y0eO2OHTuQlpaGcePGoUePHvjss88wZcoU%2BPv7Iy4uTmqXnp6OrKwspKWlITw8HKtWrcKYMWOQnZ2N0NBQAMDZs2exbds2dO7cGR07dsRPP/3ktDETERGRMsgOXqdPn8b333%2BPX3/91eoXYjv7qcbNmzdDp9MhKysLwcHBAAC1Wo1p06ZhwoQJiIqKsnnt8uXL0b9/fzz77LMAgG7duuHkyZPIyMiQgtfZs2exefNmzJ49W1rHFhMTg969e2Pt2rWYNm0agLqvTvrqq68AACtWrGDwIiIiomuSHbzmzp2LP//8E7NmzbohTzXu2bMHsbGxUugCgH79%2BmHWrFnIzc21Gbx%2B//13FBQUYOrUqWbHExMTMXPmTJSUlCA4OBj79u2DXq/HoEGDpDZ%2Bfn5ISEhAbm6uFLxUKtl3aYmIiMjNyQ5eP/zwAxYuXIjExERn1HNN%2Bfn5GDZsmNkxT09PtGzZEvn5%2BTavKygoAABERkaaHY%2BKioIoiigoKEBwcDDy8/MREhJi8dVHUVFRyM7OhsFgYOgiIiKiRpEdvJo2bQp/f39n1GIXnU4HrVZrcVyr1aKsrMzmdcZz9a81rlEzntfpdFbHFxAQgJqaGly6dAl%2Bfn6Nrt8eGo0KanVduDP%2BqXTuNF6OVZncaayAe42XY1WmGzVW2cFrxIgR2LJlC3r27OmMehrNuGv%2BtdRvI4qixXFr/RjbOZtKJSAoqIn0s1br45L3/atwp/FyrMrkTmMF3Gu8HKsyuXqssoOXSqXCTz/9hKSkJMTHx1vckhMEAWPGjHFUfRa0Wi10Op3F8fLy8gYX1pvObIWEhEjHjX0ZZ8Js9a/T6eDh4QFfX9/rqv9aDAYROt0lqNUqaLU%2B0OkuQ683OPU9/wrcabwcqzK501gB9xovx6pMjhyrVutj98yZ7OD1yiuvAAAKCwutPr3o7OAVFRVlsZaruroap06dslj7Zcq4tqugoMAsoOXn50MQBOl8VFQUiouLUVpaahYq8/Pz0bp1a5es76qtvfoLoNcbzH5WOncaL8eqTO40VsC9xsuxKpOrxyo7eFnbQsKV4uPj8cYbb%2BDixYsICgoCAOzcuRPV1dUN3v6MiIhAZGQktm3bhj59%2BkjHc3Jy0LlzZ%2Bkpybi4OKhUKmzfvh0jRowAAFRUVGD37t1ITk524siIiIhI6WQHr/DwcGfUYbfhw4djw4YNSElJQUpKCoqLi7F48WIMHjzYbCZr1qxZyMrKwrFjx6RjqampmDJlClq2bInu3btj165d%2BPLLL7Fq1SqpTfPmzTF8%2BHAsWbIEGo0GYWFheOeddwAAo0ePNqvFuIP/L7/8Ar1eL/3cqVOnG/45ERER0V%2BP7OB1o2m1WqxduxYLFizApEmT4O3tjcTERGl/LSODwQC9Xm92bMCAAaisrMTKlSuxevVqtGrVCkuXLjXbtR4A0tLS4Ovri2XLlqG8vBwxMTFYu3attGu90eTJk63%2BnJ6ejqFDhzpqyERERKQQgmjH43qjRo3C/PnzERUVhVGjRjXcoSBg7dq1DivQ3ej1BpSUVECjUSEoqAkuXqxwi/vs7jRejlWZ3GmsgHuNl2NVJkeONTi4iWMX15tms2vlNFdtu0BERER0s7EreK1fv97qayIiIiKyn/K3piUiIiL6i2j04vri4mIUFhaiqqrK4ty99957XUURERERKZHs4HXu3DnMmDEDBw8etDhn/NoeaxurEhEREbk72cHrxRdfxPHjxzFt2jRER0fD09PTGXURERERKY7s4HXo0CHMmDGjwa/nISIiIiJLshfXC4KAW2%2B91Rm1EBERESma7ODVv39/fP75586ohYiIiEjRZN9qHDBgAObOnQtRFNGrVy8EBgZatOnQoYNDiiMiIiJSEtnBy/hF0Rs2bMDGjRvNzvGpRiIiIiLbZAev9PR0Z9RBREREpHiyg1dSUpIz6iAiIiJSPH5lEBEREZGL2DXjlZmZieTkZDRv3hyZmZkNthUEARMnTnRIcURERERKYnfwio%2BPZ/AiIiIiug52Ba%2B8vDyrr4mIiIjIflzjRUREROQiDF5ERERELiJ7Owm9Xo/169cjOzsbRUVFqKqqMjsvCAK%2B%2BeYbhxVIREREpBSyg9eSJUuwZs0a3HHHHejevTs8PT2dURcRERGR4sgOXtnZ2Rg3bhymTp3qjHqIiIiIFEv2Gq%2BqqirExsY6oxYiIiIiRZMdvHr06IEffvjBGbUQERERKZrsW41z5szBuHHj4OPjg549eyIgIMCiTWBgoEOKIyIiIlIS2cHLz88PrVu3Rnp6OtLT0622OX78%2BHUXRkRERKQ0soPX/PnzsWPHDvTu3RtRUVHw8PBwRl1EREREiiM7eH322WeYOnUqxo4d64x6iIiIiBRL9uJ6jUaD9u3bO6MWIiIiIkWTHbz69u2LvXv3OqMWIiIiIkWTfatx0KBBmDt3Lmpra/HAAw9YfaqxQ4cODimOiIiISElkB68xY8YAANatW4f169ebnRNFEYIg8KlGIiIiIitkBy9bW0gQERERUcNkB6%2BkpCRn1EFERESkeLIX1xMRERFR4zB4EREREbkIgxcRERGRizB4EREREbkIgxcRERGRi8gKXpWVlbj//vuxe/duZ9VDREREpFiygpe3tzeqqqrg4%2BPjrHqIiIiIFEv2rcZu3bph//79zqiFiIiISNFkb6D6j3/8A5MmTYKnpyf69u2L0NBQCIJg1iYwMNBhBRIREREphezgNXToUABAZmYmXpXhYIAAACAASURBVHvtNatt%2BF2NRERERJZkB6%2BJEydazHARERER0bXJDl6TJk1yRh1EREREindd%2B3hVVVXh3LlzqKqqclQ9RERERIole8YLAL799lssWbIE33//PQwGA1QqFbp06YJnn30WXbp0cXSNRERERIogO3h99913GD16NLRaLR5%2B%2BGE0a9YMZ8%2Bexc6dOzF69GisX78eMTExzqiViIiI6KYmO3hlZGQgOjoa69atg6%2Bvr3R8xowZGDVqFDIyMrB69WqHFknXT6UqgkbzPWprY2AwhNk8Zk8fBsMtUKn%2BkP609/qG%2BvXwOAogFoDtrUjq2n0OAKip6QUAZvWbntfr20u11W9nOhZRVMPD4xBqarpCpToPQSiV3k8UA1FT08vsGg%2BPzyEIpRDFQLP3ML6/nM%2BTiIjcT6NmvBYtWmQWugDA19cXY8eOxezZsx1WHDmGSlUErXY4VKoiGAxh0Ok2A4DFsYbCgrEPtfo0gAoA3gAqIYq%2BMBgirnn9tfstAtACgrAZwC1W2wUEDIVafQIAoNe3hih6QKW6AIMhDH/%2BuRz%2B/hOunBchih4QxSYQxeYQRUjtTMeuVp%2BCIFwEIAIwPqkrmryrGrW10dDpPgKAK%2B//EwA9ABVE0ROi2AQGQ8SV938KKtVpGAwtUFb2sdnnYRrKgBZmx03DXE1NL6hUZ%2BHp%2BV9UVw9Cba31W/fm/cHqa5XqLLy8tkCvj0B1dZLFOeN7GAzNLQKsaX%2BmYddgCINGc6TB%2BmyNlYiIGhG8DAYDPD09rZ7z8vKCwWC47qLIsTSa768ErCDpX4oALI5VV9sOTlf78IJaXQKDwQcqVRUMhmC7rrevtkJoNN%2BjpsYyeNW1K4QxGKlUhRBFjyuzbkXw9PyvyXkRglAFg6HplXaQ2pmOXRQBQRBR94yJtd9bUarJ%2BJ5Xg5npexTB23u1FArV6hPw8tqKy5cnSu9lGnIrKv4N4HYIQlG9MKeGXt8SKtUZCEI1fHxWoKxsh0W4Me1PFEOkYGn%2BOhBq9W8A6h580evfgij6SOdUqlMQhGr4%2BmagtjYCKlWZFGD9/CZLfQM1UKtPAgBqa9uiouIFaLUjIQhVVuuzNVbzv8sj8PLaAoNBC4OhFfT69lCrjwGA2QyjPeqHwPqzosaAWVPTFYKgt5iNrD9LaazNGFY5c0lEjiY7eLVr1w7vvfceEhISLM5t2bIF7dq1c0hh5DimMxkGQ5g0k2Ht2LX6UKtPQxS9IAjilT8rYTBEXPP6a/dbN%2BNlq5%2B6duFSuDEYws1mvKqrB8HLK0c6L4qeV2oLN5vxMh27Wn0KdTNdBlif8RJgMISbXBN%2BJSTVnbv6HhH1rgNUqlPSa%2BvB93aLMFkX9IogCNUQRQ0EoQqenv%2B1CF6m/anVV4Ol%2BevfYQxddfUUQRS9pXOCUCW9h0pVCIMhwiTAXu0bqIFp2PX23nTlWrXV%2BmyN9er5IwgM7AegUvocAU8AtQAE1Na2hU73kV2BR6M5goCA/lII1OnWw89vnsmsaMSVEFt15e8vAAbDbdLsrGVInIOAgMel2vT6t3Dp0gwpGApCKVSqMghCGaqqhlv8vajVnwBYC2/v9rh0aQwA2Lw1bs%2BsJhEpk%2Bzg9dRTT2HixIkYMmQI/v73vyM0NBTnz59HTk4Ojh8/bnM3e7pxjLfY6q8/snbMnj4cucbL2K%2BX11H4%2BcVCFANhbfbJYAhDWdlHDa7xMj1/rTVexrHIWeNl7N/aGq%2B623rvXwklXqiqGi71Yyv4Xg2TV8NcXbszV8KXF6qrB1l8Fub9mQZL09ctzGa8DIYwacbLYGghzXgBXjAYwqFSXZQCrKfnp1LfpjNeBkM4Kisfhafndmmc9euzNVYjT8//wjQQ1oW6Khh3tjHOMNoze%2Brp%2BV%2BzEOjtvanerGjRlTGqURfsVGazs/VDorf3JrPa1Opf4ef3zyt9VMP099Lbew3Kyj6RQpOHx6fw908GIMLb%2B2N4eGwE4C19dqa3xq/ORlbD13cpysreQ01NX7M1lB4eX0GtPg69PgyiGGD2u1h/raXxd5ghjujmIIiiKF67mbns7Gy88sorOHfunHSsefPmmD59OhITEx1aoLvR6w0oKamARqNCUFATXLxYgdpa5d%2B%2BVcJ4G1r7ZHpLS6VqIY3VYDit6DVepmOtrTU4bcZLFL0cPuMFqKDXN4NaffbKz%2BazoZcuTcelS3MAAP7%2BY%2BDl9REEARBFQBQ1ADyl9xZFL%2BnWeN3awstSTwZDCHS6D%2BHnNxlq9WkIQjnMwylgXG/4559vSO3q1lp6QRDKrtTmibKyTaip6WvzM7O2plDOfzQ19Htc/5attd8Ra7eGrf3u/tVu8Srh/5/sxbE2TnBwE6jV9m2NalfwysvLQ%2BvWreHl5SUdE0URBQUFKC0tRWBgICIjI/lVQg7A4KX88br7WG%2BGNV4GgxZeXh9DrT4HQfgT9We8RNHbYsYrICD5yi34utBna8YL0EClKpL6MhiaoLJyIry934Uoely5xVufCgaDPyorx5u0OwODwRcq1Z8mfTVHaWmu1c/w6gMqV9cUGh8esfep5vrr9wIDb0dp6c9o0uRhswBrXAcoil7SOkBrQblJkwVmaxXV6nMwGPxx6dJ4eHruQW1tZ1RVjbE5HmtPK3t5bYVKdQpVVcMt/qOisdz9n1mlulHBy65bjUlJSdiyZQs6d%2B6MUaNGYf78%2BYiKikJUVNR1FUpE7qe2tovFTFljb5HV78tgCENV1WNmPzfUd93t1av/Qjbtr6pqjHRL71prvGpq%2BqK8/ANotWtRWdnwGi%2BD4Rb4%2B4%2BBWv0r6m4vt5Ju8dbNZHnBcsarbr2habu6NZYaszZAlc1btdbXFNp/a7fhtYrmt2ytrQO0fmvYdD1h3W1ntboY/v5pAAAvr23w8toCnW67RWC29qR2QMDfpRlPH593UFvbUnpwxPTJa9OAVlNzJzSafKuzv9bUD3f1Z%2B7%2BarN19NdjV/Dy9PREdXU1AODQoUOoqKhwalHXcvLkSSxYsADffPMNfHx8MGjQIEybNg3e3t7XvHbr1q148803UVhYiFatWmHixIkYMGCAWZuamhpkZGRg69atKC8vR%2BfOnTF79myLBwfOnz%2BPhQsXYs%2BePVCpVEhISMCsWbMQGGh7LyoiujmYhjJ7gqFe3w/AUFRWVsD4dLdpCAQg9VdWtt3iFq7pGsqG1njVX2sJlMLPbx6AKhgMt9nxgIrpmsJwm%2B2tX29rreLV47bWAVZXD4KPzwrpeGXlo1CrC0zWE5ZfCWACTG/rWntq2vaT2qdNKjZ/cMTYR93Mn2lAq2td/wlfa1vk1D2JfPVab%2B810Ok2oEmTBVfCsA%2Bqqv4OwIDq6t4QBL3ZWlgA13Wrl5TBruAVERGBNWvW4MKFCwCAgwcP4o8//rDZvm9f22sMrpdOp8Po0aMRFhaGjIwMlJSUID09HaWlpViyZEmD1%2B7YsQNpaWkYN24cevTogc8%2B%2BwxTpkyBv78/4uLipHbp6enIyspCWloawsPDsWrVKowZMwbZ2dkIDQ0FANTW1uLJJ59ETU0NXn75ZdTW1uKVV15BSkoKNm7cyNuuRGRT/Zk54zF7gl79WToAKC3tec0ZF9MHUBrzL/76D%2BmoVHXXiaLlwztlZTss1njV1naxOK7TdTRbd%2BjvPwYq1YUr69yuvm/9cGj7Se0WUiiq/%2BCI6Toy84AGiKLK4glfazOB9a81ztzVrc3TQRAuwMen7gEzH583IIoBAKohir4Qxeaoe1ilANe61evotW%2BN2UBbEIrg6XnE5u15ex%2BuktveHdgVvFJSUjBjxgzs2rULgiDg1VdftdlWEAQcP37cYQXWt3nzZuh0OmRlZSE4OBgAoFarMW3aNEyYMKHB25/Lly9H//798eyzzwIAunXrhpMnTyIjI0MKXmfPnsXmzZsxe/ZsPPzwwwCAmJgY9O7dG2vXrsW0adMAAJ9%2B%2Biny8vKQk5OD22%2Bve1y%2BWbNmGDFiBPbu3Yv4%2BHinfQZERKashTFb7eoHvsa%2Bj0pl/Thg/XayteOm19UFtu1XZq9K4eX1H5trvGw9qV1W9vE113jVvTYNaIAgGAB4Ww1q5vWbX2ucudNojkCtLrZoL4p6XN3v0Hx7Flu3em3t02fPRtfWNG4D7UL4%2BT0MQTA/X38j7WttoN1Qe8D%2BQGn%2BUMfVh4b0%2Bttvyid67QpeAwcOlELKY489hnnz5qFNmzbOrs2qPXv2IDY2VgpdANCvXz/MmjULubm5NoPX77//joKCAkydOtXseGJiImbOnImSkhIEBwdj37590Ov1GDTo6mPyfn5%2BSEhIQG5urhS8cnNzER0dLYUuALjrrrsQHh6O3NxcBi8iIplMg1h19Qi725oeM25cbGStjWlAk7PGSxTDLMJdbW0XlJeHQqt9/Eq4urpIWxDUJvsdGrdnKTCetXqr19Y%2BfY3dqLpxG2gfgUpVBL3e/LzlRtoNb6Btq72Hx%2Bfw8XmzgeB3lXkQNd8Y2vg51t/MuaGnvs3XXd6Yb9awex%2Bv4OBgBAcHIykpCffffz8iIiKcWZdN%2Bfn5GDZsmNkxT09PtGzZEvn5%2BTavKyio%2B2WPjIw0Ox4VFSU9oRkcHIz8/HyEhIRYrNOKiopCdnY2DAYDVCoV8vPzrYa8Nm3aNFiHPTQalfR0hL1PSdzs3Gm8HKsyudNYgZt9vC1QUzNJ%2BunKEmaoVHW3K1Uq8xk987GaX6vRAMDdKC/fBY3mc6hUv0IQdKipSYBKZYBe3xxq9VmTEPD5la8qC7zSJszsvUSxC0SxblNpg6EFABFqdd2Mlyh2gUYj7/M276%2Buj7rj5seM/daNsQtEMRxqdaHZeWNfdbdbvaBS1W0gbasuW%2B3VauHKewdBrS6Cl9dR1NRYD0EeHkeltnX91H/wRHXllu92VFbeDUEogp%2BfcTYvFHUzixeuvL4afPX6trh8%2BT8A2rj8d1j2Bqrp6enOqMNuOp0OWq3W4rhWq0VZWZnN64zn6l8bEBBgdl6n08Hf39/i%2BoCAANTU1ODSpUvw8/Oz2U6r1V5X8FKpBAQFNTHpz6fRfd2M3Gm8HKsyudNYAfcab8NjvR2m39LgY7Pp7bZOmJzPQd2sk/H2Wd3rwMBwOyu13d/VPqwdMwqHWp1t5fzVvoBbIAh/XKMu6%2B3rwupbV2YIW8DPLxZAExt9xAJocaVtBICTMA9fdbeJfXyGwcenCYCfAJwB0PTKNQBwq8WtXo2mCP7%2BeQDauPx3WHbw%2BqsSRdGuBe312xi3MTM9bq0fa9ud2Wp3PQvrDQYROt0lqNUqaLU%2B0OkuQ69X9l4qANxqvByrMrnTWAH3Gq/rxxoIoJfJz8bXjd1RwLS/igaOmY41GHq9tfc1ve4OO%2Bqy1h4QhKtr9Oq%2BscRWH4FmbQXhD3h6boEotkBtbVt4eBxGdfVAGAx3AKiAIETDz%2B9Wk6dljTNe5rd69fowXL7cDv7%2BcMjfq1br49h9vP5KtFotdDqdxfHy8vIGF9abzmyFhIRIx419GWfCbPWv0%2Bng4eEBX1/fa9ZhbUZODtON3PR6g%2BI3sTPlTuPlWJXJncYKuNd4OVZHugU1NbdceX2t9zFtewuqq%2B%2BUzlRV9anXxy0oK9ts1xovlepWAK7/e73pbs5HRUVZ3Mqrrq7GqVOnGgxexrVdxrVeRvn5%2BRAEQTofFRWF4uJilJaWWrRr3bo1VFduxlurAwB%2B%2BeUXbixLRER0g9Q9eDEABkOYxeuqqsdQVfXYDd3S4qYLXvHx8Thw4AAuXrwoHdu5cyeqq6vRs2dPm9dFREQgMjIS27ZtMzuek5ODzp07S09JxsXFQaVSYfv27VKbiooK7N6926z/nj174sSJE2bh67vvvkNhYWGDdRAREZH7uuluNQ4fPhwbNmxASkoKUlJSUFxcjMWLF2Pw4MFmM02zZs1CVlYWjh07Jh1LTU3FlClT0LJlS3Tv3h27du3Cl19%2BiVWrVkltmjdvjuHDh2PJkiXQaDQICwvDO%2B%2B8AwAYPXq01K5v376Ijo5Gamoqpk6dCr1ej5dffhl333037r//fhd8EkRERHSzsSt4HT58WFan9957b6OKsYdWq8XatWuxYMECTJo0Cd7e3khMTJT21zIyGAzQ6/VmxwYMGIDKykqsXLkSq1evRqtWrbB06VKzXesBIC0tDb6%2Bvli2bBnKy8sRExODtWvXSrvWA4BGo8Hbb7%2BNhQsXYvr06RAEQfrKIO5aT0RERNYIorXH9epp166dFCbseWrPmTvXK51eb0BJSYVbfUM84Nhvif%2Br41iVyZ3GCrjXeDlWZXLkWIODmzj2qcZ169ZJrysqKvDiiy%2BidevWSExMREhICC5cuIDs7GycPHkS8%2BbNa1zVRERERApnV/Dq2rWr9Pq5557DPffcg5dfftmsTVJSEqZPn47PP/8cvXr1qt8FERERkduT/VTjjh07MHjwYKvnBg8ejE8//fS6iyIiIiJSItnBq7KyEsXFlt/CDgDFxcWorKy87qKIiIiIlEh28Lr77ruxbNkynDhxwuz4Tz/9hGXLluHuu%2B92WHFERERESiJ7H6/Zs2fj8ccfx5AhQ9CmTRuEhobi/Pnz%2BOWXXxAYGIjZs2c7o04iIiKim57sGa/IyEhkZ2fj//7v/%2BDt7Y3ff/8d3t7eGDt2LD7%2B%2BGPpq3eIiIiIyFyjdq5v2rSpxYalRERERNSwm%2B67GomIiIhuVnbNeM2cOdPuDgVBwKJFixpdEBEREZFS2RW8Dh48aHeH/J5CIiIiIuvsCl67d%2B92dh1EREREisc1XkREREQu0qinGgFg7969OHToEC5evIiUlBSEhYXhhx9%2BQIsWLRAcHOzIGomIiIgUQXbwunz5MlJSUrB//35pPdeIESMQFhaGd955B7feeiv%2B%2Bc9/OrxQIiIiopud7FuNS5cuxf/%2B9z%2BsWLECX3/9NURRlM716NEDX331lUMLJCIiIlIK2TNeO3bswOTJk9GnTx/o9Xqzc2FhYThz5ozDiiMiIiJSEtkzXiUlJWjTpo31zlQqVFZWXndRREREREokO3g1b94cJ06csHrup59%2BQosWLa67KCIiIiIlkh28%2Bvbti5UrV%2BLYsWPSMUEQUFhYiHfffRf9%2B/d3aIFERERESiF7jdfEiROxf/9%2BJCcn4/bbb4cgCJg5cyZOnTqF1q1bY9y4cc6ok4iIiOimJ3vGy8/PD5s3b8bkyZPh6%2BuLli1bwsfHB%2BPHj8fGjRvh7e3tjDqJiIiIbnqN2kDV29sb48aN4%2BwWERERkQz8yiAiIiIiF7FrxmvmzJlISUlBREQEZs6c2WBbQRCwaNEihxRHREREpCR2Ba%2BDBw9i9OjR0uuGGL9GiIiIiIjM2RW8du/ebfU1EREREdmPa7yIiIiIXER28Bo8eDA2b96My5cvO6MeIiIiIsWSHbyCgoLw3HPPIT4%2BHosWLcKvv/7qhLKIiIiIlEd28Fq3bh1ycnIwaNAgfPDBBxg4cCDGjh2Lzz//3Bn1ERERESlGo9Z4tWnTBs899xz27NmDtLQ0FBUVISUlBb1798bq1atRVlbm6DqJiIiIbnrXtbjez88Po0aNwrp169C1a1cUFhbilVdewQMPPIDFixdzHRgRERGRiUZ9ZZDRkSNHsHHjRnzyySfQaDQYMWIEBg4ciF27duG9997D2bNnsXTpUkfVSkRERHRTkx28qqqqkJ2djU2bNuH48eMICwvDlClTkJycDH9/fwDAvffei3bt2uH55593eMFERERENyvZwSs%2BPh46nQ733HMPVqxYgd69e1vdrb5169a81UhERERkQnbw%2Btvf/oZRo0YhOjq6wXYxMTHIy8trdGFERERESiM7eC1cuNAZdRAREREpHr8yiIiIiMhFGLyIiIiIXITBi4iIiMhFGLyIiIiIXITBi4iIiMhFGr1zfX5%2BPg4fPoyLFy/ioYceQmhoKM6ePYuAgAB4e3s7skYiIiIiRZAdvPR6PebOnYutW7dCFEUIgoD4%2BHiEhoZi/vz5uOOOOzB58mRn1EpERER0U5N9q/GNN95ATk4OZsyYgZycHIiiKJ27//77sXfvXocWSERERKQUsme8tm7dipSUFDzxxBPQ6/Vm51q0aIHTp087rDgiIiIiJZE943X27FnceeedVs95eXmhoqLiuosiIiIiUiLZwatp06b4/fffrZ47efIkbrnllusuioiIiEiJZAevnj17YuXKlTh79qx0TBAElJeXY/369ejVq5dDCyQiIiJSCtlrvFJTU7Fnzx4MHDgQ9913HwRBwL/%2B9S/8/PPP0Gg0SElJcUadRERERDc92TNeISEh%2BOCDDzBo0CD8%2BOOPUKvVyMvLQ3x8PDZv3ozAwEBn1ElERER002vUBqohISF44YUXHF0LERERkaLJnvHasGEDysrKnFELERERkaLJDl4LFizA/fffj2eeeQZ79%2B4120CViIiIiGyTfatx27Zt%2BPDDD5GdnY1PPvkEoaGhSEpKQlJSEm677TYnlEhERESkDLJnvCIjIzF9%2BnR88cUXWLlyJbp06YI1a9ZgwIABePTRR/Hhhx86o04zubm5GDJkCDp16oQ%2Bffpg48aNdl1XU1ODV199FXFxcYiJicHIkSORl5dn0e78%2BfN45plncNddd%2BGee%2B7BjBkzUFpaatbm6NGjmDlzJgYMGIB27dph/PjxDhkbERERKZfs4CVdqFKhZ8%2BeWL58Ofbt24c5c%2BagqKgIc%2BfOdWR9Fo4cOYKUlBS0b98eb7/9NpKSkrBgwQK8//7717w2PT0dGzduRGpqKl5//XVoNBqMGTMG58%2Bfl9rU1tbiySefxIkTJ/Dyyy9jwYIF%2BOabb5CSkmJ2W/Xbb7/F119/jfbt2yMsLMwpYyUiIiJladRTjab%2B/PNPbN%2B%2BHR9//DH%2B%2BOMP%2BPj4OKIum1577TW0b98eixYtAgB069YNZ86cwfLlyzFs2DCoVNaz5NmzZ7F582bMnj0bDz/8MAAgJiYGvXv3xtq1azFt2jQAwKeffoq8vDzk5OTg9ttvBwA0a9YMI0aMwN69exEfHw8AGDlyJEaPHi29JiIiIrqWRs947d%2B/H9OmTUNcXBzmz58PAHjhhRewd%2B9ehxVXX3V1NQ4cOIBBgwaZHR88eDDOnz%2BPY8eO2bx237590Ov1Ztf6%2BfkhISEBubm50rHc3FxER0dLoQsA7rrrLoSHh5u1sxXwiIiIiGyRPeOVkZGBrKwsnDlzBk2bNsVjjz2GoUOHIioqyhn1mTl16hRqamoQGRlpdrxNmzYAgPz8fHTs2NHqtfn5%2BQgJCbHY4DUqKgrZ2dkwGAxQqVTIz8%2B3OpY2bdogPz/fQSNpmEajglpdF%2ByMfyqdO42XY1Umdxor4F7j5ViV6UaNVXbweuutt9CrVy/MnTsX8fHxUKvVzqjLKuP%2BYVqt1uy48eeG9hfT6XTw9/e3OB4QEICamhpcunQJfn5%2BNttptVqXBC%2BVSkBQUBOT93Xurdu/GncaL8eqTO40VsC9xsuxKpOrxyo7eO3ZswfBwcEOK6C8vBznzp27ZruIiAjptSAIVtvYOt7QeWv7kNlqd63%2BHcFgEKHTXYJarYJW6wOd7jL0eoPT3/dGc6fxcqzK5E5jBdxrvByrMjlyrFqtj90zZ7KDlyNDFwDs3LkTM2fOvGa7rKwsBAQEALCc2dLpdAAsZ8JMabVaqV39az08PODr69tgu/Ly8gb7d6Ta2qu/AHq9wexnpXOn8XKsyuROYwXca7wcqzK5eqx2Ba%2BZM2ciJSUFERER1wxJgiBITxzaY%2BjQoRg6dKhdbaurq%2BHh4YGCggLp6UIA%2BOWXXwCgwXVmUVFRKC4uRmlpqdk6r/z8fLRu3VpaLB8VFYXjx49bXP/LL7%2BgV69edtVJREREZI1dwevgwYPS1gkHDx5ssK0zb8d5enqiW7du2L59O8aMGSMdz8nJQWhoKNq3b2/z2ri4OKhUKmzfvh0jRowAAFRUVGD37t1ITk6W2vXs2RP/%2Bc9/zBbZf/fddygsLETPnj2dMzAiIiJyC3YFr927d1t9fSNMnDgRjz/%2BOObMmYPBgwfj22%2B/xfvvv48XXnjBbIuHPn36ICwsDGvXrgUANG/eHMOHD8eSJUug0WgQFhaGd955BwCkUAkAffv2RXR0NFJTUzF16lTo9Xq8/PLLuPvuu3H//fdL7UpKSnDo0CHpdUVFBXbs2AGgLrw5ez8zIiIiuvnIXuNVVFSE0NBQeHh4WJyrra3FuXPnnLqTe5cuXfD666/jX//6F7KysnDLLbdgzpw5ZrNWAKDX62EwmN%2BzTUtLg6%2BvL5YtW4by8nLExMRg7dq1CA0NldpoNBq8/fbbWLhwIaZPnw5BEJCQkIBZs2aZzeb9/PPPmDx5sln/xp937dqFFi1aOHroREREdJMTRGuP9TXgjjvuwJYtW9C5c2eLc//73/%2BQnJxsdY0U2UevN6CkpAIajQpBQU1w8WKFWyxwdKfxcqzK5E5jBdxrvByrMjlyrMHBTex%2BqlH2rmEN5TSDweCSLReIiIiIbkYO2661uroae/bsQVBQkKO6JCIiIlIUu9Z4ZWZm4rXXXgNQ99TiI488YrNt/bVWRERERFTHruDVqVMnPProoxBFEZs2bUK/fv0QEhJi1sbT0xNt27ZFYmKiUwolIiIiutnZFbx69uwp7WF1%2BfJlaTNVIiIiIrKf7O0k0tPTnVEHERERkeLJDl5GJ06cQH5%2BPqqqqizODRky5LqKIiIiIlIi2cHr8uXLmDBhAg4cOABBEKTtJUy3kWDwIiIiIrIkezuJ119/HYWFhdiwYQNEUURmZibWrFmDPn36oFWrVti6dasz6iQiIiK66ckOXrt27cJTTz2FLl26AABuvfVWxMbGIiMjAx06dMCmTZscXiQRERGREsgOXoWFhYiMjIRarYYgCLh8%2BbJ0bvDgwdi1a5dDCyQiIiJSCtnBy9/fH5cuXQIANG3aFL/99pt0dRSLTwAAHuxJREFUrra2VjpHREREROZkB6/o6Gj8%2BuuvAID77rsPb775Jr7%2B%2Bmv88MMPeO2119CuXTtH10hERESkCLKfahw2bJg0y/XMM8/g0UcfxciRIwEAWq0Wb731lmMrJCIiIlII2cFr4MCB0uuIiAh88skn0tYSXbp0QWBgoEMLJCIiIlKKRm%2BgauTr64uEhARH1EJERESkaLLXeBERERFR49g149WuXTuznekbIggCjh07dl1FERERESmRXcFr4sSJdgcvIiIiIrLOruA1adIkZ9dBREREpHhc40VERETkIrKfaszKyrpmmyFDhjSqGCIiIiIlkx280tLSrB43XQPG4EVERERkSXbwsvYl2BcvXsSuXbuwbds2LF261CGFERERESmN7OAVHh5u9VjHjh1RW1uLdevWYfHixQ4pjoiIiEhJHLq4PjY2Frt373Zkl0RERESK4dDgVVhYCJWKD0oSERERWSP7VuPhw4ctjlVXV%2BOnn37Cm2%2B%2BidjYWIcURkRERKQ0soPXyJEjLXaxF0URANC9e3fMnTvXMZURERERKYzs4LVu3TqLY15eXggPD0dISIhDiiIiIiJSItnBq2vXrs6og4iIiEjxuBKeiIiIyEVkz3jp9XqsX78e2dnZKCoqQlVVldl5QRDwzTffOKxAIiIiIqWQHbyWLFmCNWvW4I477kD37t3h6enpjLqIiIiIFEd28MrOzsa4ceMwdepUZ9RDREREpFiy13hVVVVxry4iIiKiRpAdvHr06IEffvjBGbUQERERKZrsW41z5szBuHHj4OPjg549eyIgIMCiTWBgoEOKIyIiIlIS2cHLz88PrVu3Rnp6OtLT0622OX78%2BHUXRkRERKQ0soPX/PnzsWPHDvTu3RtRUVHw8PBwRl1EREREiiM7eH322WeYOnUqxo4d64x6iIiIiBRL9uJ6jUaD9u3bO6MWIiIiIkWTHbz69u2LvXv3OqMWIiIiIkWTfatx0KBBmDt3Lmpra/HAAw9YfaqxQ4cODimOiIiISElkB68xY8YAANatW4f169ebnRNFEYIg8KlGIiIiIitkBy9bW0gQERERUcNkB6%2BkpCRn1EFERESkeLIX1xMRERFR48ie8Zo5c2aD5wVBwKJFixpdEBEREZFSyQ5eBw8etDhWWlqKS5cuQavVwt/f3yGFERERESmN7OC1e/duq8f379%2BP559/HsuXL7/uooiIiIiUyGFrvGJjY/H4449j4cKFjuqSiIiISFEcurg%2BKioKR48edWSXRERERIrh0OB1%2BPBhBAUFObJLIiIiIsWQvcYrMzPT4lhNTQ1%2B%2Bukn7NmzB2PHjnVIYURERERK45Dg5enpifDwcKSmpjJ4EREREdkgO3jl5eU5ow5ZcnNzsXTpUuTn5%2BOWW27BmDFj8Nhjj13zupr/b%2B/Og5q69jiAf8MmIEZUVB7UtoomyhMRlYKVZcTnrrUqWN9T64JoBcW6FX0iVYu1rk%2BxD7VCHdqidXguUxHca1ym0I7A1LUKpS5UEFRWC4Rw3x8Ot8awBBtDAt/PjCM5OffmfDm5yY97b26USkRFReHw4cMoKSlBnz59sHLlSvTs2VOtX35%2BPtatW4fz58/DxMQEfn5%2B%2BPe//w1bW1uxz7fffotTp07hl19%2BwdOnT9G1a1cEBgZi1KhROs9LREREzYPRXbk%2BPT0dwcHBcHZ2xp49ezB%2B/HhERkYiISGhwWXXr1%2BP%2BPh4hIaGIjo6GmZmZpgxYwby8/PFPlVVVZg9ezZu3bqFjRs3IjIyEpcvX0ZwcDAEQRD77dy5E507d8bHH3%2BMzz//HG5ubli0aBHi4%2BNfSW4iIiIyflrt8SoqKkJ4eDgmTJiAwYMH19rn%2B%2B%2B/x6FDh7B27dpXeoL9f//7Xzg7O4tXx/f09MSDBw%2Bwfft2TJw4ESYmtdeSeXl5%2BPbbb7Fy5UpMmjQJAODq6oohQ4YgLi4OS5cuBQCcPHkSN2/eRGJiInr06AEA6NSpE/75z3/iwoUL8PHxAQAcPnwY7du3F9f/9ttvIzc3F7GxsVrtfSMiIqKWR6s9XgkJCbh58ya8vb3r7OPt7Y1bt2690j0%2BlZWVSElJwejRo9Xax44di/z8fFy/fr3OZS9evAiVSqW2rI2NDfz8/KBQKMQ2hUIBuVwuFl0A0K9fPzg6Oqr1e77oqtGrVy88fPjwpbIRERFR86dV4ZWUlISAgACYmdW9g8zMzAwBAQF1XtleF%2B7evQulUolu3bqptXfv3h0AkJWVVeeyWVlZsLOzUztPC3h27bHs7GxUV1eL/ZycnDSW7969e73rB4DLly/XuiwRERERoOWhxuzsbLi4uDTY7%2B9//zuio6P/8qDqUlRUBACQSqVq7TW3a%2B6vTXFxca3fI9m2bVsolUo8ffoUNjY2dfaTSqX1Fl6nT5/GpUuXsHHjRq2y1MfMzASmps9q4pr/m7uWlJdZm6eWlBVoWXmZtXlqqqxaFV4qlarevV3iyszMUFVV1agBlJSUaHV4rkuXLuLPEomk1j51tdd3//MnzDfUr671Z2ZmYsWKFRgxYgTGjRtX7xgaYmIiQbt2rcXbUqnVX1qfsWlJeZm1eWpJWYGWlZdZmyd9Z9Wq8OrYsSMyMzPh7u5eb7/bt2/Dzs6uUQM4deoUVqxY0WC/I0eOoG3btgA092wVFxcD0NwT9jypVCr2e3FZc3NzWFtb19uvpKSk1vXn5uZi9uzZkMlkOtnbVV0toLj4KUxNTSCVWqG4%2BA%2BoVNV/eb2GriXlZdbmqSVlBVpWXmZtnnSZVSq10nrPmVaF11tvvYV9%2B/bB398f5ubmtfZRKpXYv38/PDw8tB8pgAkTJmDChAla9a2srIS5uTl%2B/fVX8dOFwLM9TgDqPb/KyckJjx49QmFhodp5XllZWejatav4aUgnJyfcuHFDY/nMzEyNT3Q%2BefIEs2bNgo2NDaKjo9GqVSutcjSkqurPJ4BKVa12u7lrSXmZtXlqSVmBlpWXWZsnfWfVqjybPn06srOzMX/%2BfOTl5Wncn5eXh5CQEGRnZ2PGjBm6HqPIwsICnp6eSE5OVmtPTExEx44d4ezsXOeyXl5eMDExUVu2rKwMZ8%2Beha%2Bvr9jm6%2BuLW7duqZ3PlZGRgZycHLV%2BZWVlCAoKwtOnTxETEyPujSMiIiKqi1Z7vHr27ImIiAisWbMGQ4YMQe/eveHo6AgAyMnJwdWrVyEIAlavXg25XP5KBxwSEoKpU6ciPDwcY8eORVpaGhISErB27Vq1a3gNHToUDg4OiIuLAwB07twZkydPxubNm2FmZgYHBwd8%2BeWXAJ4VljWGDRsGuVyO0NBQLF68GCqVChs3bkT//v3VLqcRGhqKGzdu4JNPPkFubi5yc3PF%2B5ydnWFhYfFKfw9ERERkfLT%2ByqBJkyahR48e2L17N1JTU5GRkQEAsLKygre3N%2BbOnYu%2Bffu%2BsoHWcHNzQ3R0NLZu3YojR47A3t4e4eHhCAgIUOunUqnES0TUWL58OaytrbFt2zaUlJTA1dUVcXFx6Nixo9jHzMwMe/bswbp167Bs2TJIJBLxK4OeP7n%2B4sWLAFDr%2BWlnzpzBa6%2B9psvYRERE1AxIhNo%2B1teA6upqPHnyBADQrl27Oq8WT42nUlXj8eMymJmZoF271njypKxFHGdvSXmZtXlqSVmBlpWXWZsnXWZt3761bk%2Buf5GJiQk6dOjwMosSERERtVjcVUVERESkJyy8iIiIiPSEhRcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6QkLLyIiIiI9YeFFREREpCcsvIiIiIj0hIUXERERkZ6w8CIiIiLSExZeRERERHrCwouIiIhIT1h4EREREekJCy8iIiIiPWHhRURERKQnLLyIiIiI9ISFFxEREZGesPAiIiIi0hMWXkRERER6wsKLiIiISE9YeBERERHpCQsvIiIiIj1h4UVERESkJyy8iIiIiPSEhRcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6YlEEAShqQdBfxIEAdXVz6bE1NQEKlV1E49If1pSXmZtnlpSVqBl5WXW5klXWU1MJJBIJFr1ZeFFREREpCc81EhERESkJyy8iIiIiPSEhRcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6QkLLyIiIiI9YeFFREREpCcsvIiIiIj0hIUXERERkZ6w8CIiIiLSExZeRERERHrCwsvAZGdnIzAwEH379sXAgQMRGRmJ8vLyph5WoyQnJyM4OBi%2Bvr7o27cvxo4di3379qG6ulrss3z5csjlco1/58%2Bf11hfbGws/Pz84OLigokTJyI1NVWfcep16NChWnNs3rxZrZ9CocC7774LFxcXDB06FPHx8bWuz5CzAsC0adNqzSuXy3Hs2DEAxju3d%2B7cQUREBMaNGwdnZ2eMGTOm1n66nMvS0lJERETAw8MDbm5u%2BOCDD5CTk6PTXLVpKKtKpcKePXswdepUeHp6wt3dHVOmTMEPP/ygsS4/P79a57uiokKtn6FmBXT/nDXkrHVtv3K5HA8fPhT7Gfq8avM%2BAxjm9mrW6CXolSkuLsb06dPh4OCAqKgoPH78GOvXr0dhYaHGG7kh27t3LxwcHPDRRx%2BhQ4cOSE1Nxbp163Dv3j2EhYWJ/bp06aKRy8nJSe12bGws/vOf/2DRokVwdnZGQkICgoKCkJCQALlcrpc82oiJiUGbNm3E2507dxZ/Tk9PR3BwMMaNG4fly5cjLS0NkZGRsLCwQEBAgNjPGLJ%2B/PHHKC0tVWuLi4vDyZMnMXDgQLHNGOf29u3bUCgUcHV1RXV1NQRB0Oij67lcsmQJrl27hlWrVsHGxgZRUVGYOXMmvvvuO1haWjZZ1vLycuzevRvvvvsuAgMDYWZmhsOHD2PmzJnYuXMnBg8erNZ/%2BPDhmDVrllqbhYWF2m1DzVpDl89ZQ8564MABjbawsDBYWVmhU6dOau2GPK/avM8Y7PYqkMHYvXu34OrqKjx69Ehs%2B%2B677wSZTCZkZmY24cga5/nx1/j0008FFxcXoaKiQhAEQQgLCxNGjx5d73oqKiqE/v37Cxs2bBDbqqqqhJEjRwoffvihbgf9kg4ePCjIZLJaM9cIDAwU/P391drCw8OFQYMGCSqVShAE48haFz8/PyEoKEi8baxzWzMXglB3Bl3OZUZGhiCTyYRz586JbTk5OYKzs7Owb98%2BneWqTUNZq6qqhMLCQrW26upqYfz48cLUqVPV2gcPHiysWbOm3scz5Kz1tT%2BvOcxrbe7duyfIZDJhz549au2GPq/avM8Y6vbKQ40G5Pz58xg4cCDat28vtg0fPhwWFhZQKBRNOLLGeX78NXr16oWKigoUFhZqvZ60tDSUlJSo7S43NTXFqFGjoFAo6vzL1ZBUVlYiJSUFo0ePVmsfO3Ys8vPzcf36dQDGmzUtLQ3379/H2LFjG72coeU1Man/5VDXc6lQKCCVSuHj4yP2c3BwQL9%2B/V759t5QVlNTU7Rt21atTSKRoGfPnmqHo7RlyFm11RzmtTaJiYmQSCR1HlqvT1Nmbeh9xpC3VxZeBiQrK0tj17aFhQVef/11ZGVlNdGodOPy5cuwtbVFhw4dxLa7d%2B9iwIAB6N27NyZMmIDTp0%2BrLVOTuVu3bmrtTk5OKCsrQ15e3qsfuJbGjBmDXr16YciQIdi9ezdUKhWAZxmVSqVGhu7duwP4M6MxZX1eYmIirKysMGTIELX25jS3NXQ9l1lZWejatSskEonG%2Bgxxe6%2BurkZ6errGaxQAHD16FL1794abmxuCgoLwyy%2B/qN1vDFl19Zw1hqzPO3bsGNzd3WFvb69xn7HN6/PvM4a8vfIcLwNSXFwMqVSq0S6VSlFUVNQEI9KNK1eu4NChQwgJCYGpqSmAZ3%2BZuLi4oHv37igpKcH%2B/fsREhKC7du3Y8SIEQCe/T4sLCw0jp3X/CVeWFhY64uFPnXs2BELFiyAq6srJBIJzp49i23btiEvLw8RERHivL04rzW3a%2B43hqwvqqqqwvHjxzFkyBBYW1uL7c1lbl%2Bk67ksLi5WOy/w%2BfUZ4vb%2B9ddfIzs7G2vXrlVr9/PzQ58%2BfeDg4IB79%2B5h165d%2BNe//oUjR46gS5cuAGDwWXX5nDX0rM%2B7efMmbt26pTGngPHN64vvM4a8vbLwMgKCIGhU2cYiPz8foaGhcHFxQVBQkNg%2Bffp0tX5%2Bfn6YPHkyoqKixBc6ALXmrtn1awi/E29vb3h7e4u3vby80KpVK8TFxeGDDz4Q2%2Bsa6/Pthp71RZcuXcKjR480DlE0l7mtiy7nUpt1GYIff/wRmzZtwqxZs%2BDu7q52X3h4uPjzgAEDMGjQIIwcORKxsbFYvXq1eJ8hZ9X1c9aQsz7v6NGjMDc3x/DhwzXuM6Z5ret9pr5xNOX2ykONBkQqlaK4uFijvaSkpNY9YYaupKQEQUFBsLS0xM6dO2Fubl5nXxMTEwwbNgxZWVni5TOkUikqKio0Pr5c8zt68RwUQzFy5EioVCrcuHFDHOOLfxHVZKiZV2PMmpiYCFtbW3h5edXbr7nMra7nsq7tva49303l5s2bCA4Oxj/%2B8Q8sW7aswf6dOnVC//79ce3aNbHNWLLW%2BCvPWWPJKggCkpKS4O3tDVtb2wb7G%2Bq81vU%2BY8jbKwsvA%2BLk5KRxrLiyshJ3796t9bwKQ1ZRUYF58%2BahoKAAMTExaNeuXYPLvHhCdU3mF38nWVlZaN26tdolGwzV66%2B/DnNzc/z6669q7ZmZmQD%2BzGhsWcvLy3HmzBmMGDGi3oK6RnOYW13PpZOTE7KzszV%2BN5mZmQazvd%2B9exezZ8%2BGs7MzNm7cqPVf9rXNt6FnfdHLPmeNJevly5fx%2B%2B%2B/N%2BqDMYY2r/W9zxjy9srCy4D4%2BPggJSUFT548EdtOnTqFyspK%2BPr6NuHIGqeqqgoLFy7EzZs3ERMTA0dHxwaXqa6uxokTJ9CjRw/xWHu/fv3Qpk0bJCUlif1UKhWSk5Ph6%2BtrcLvtayQlJcHU1BTOzs6wsLCAp6cnkpOT1fokJiaiY8eOcHZ2BmB8Wc%2BePYuysjKtXrSby9zqei59fX1RXFyMCxcuiP0ePHiAtLQ0g9je8/PzMWvWLNjZ2SE6Olrj%2Bk11ycvLQ1paGlxcXMQ2Q8/6or/ynDWWrEePHoW1tbXGNdnqYmjz2tD7jCFvr6arnz9YS02qR48eOHjwIC5cuIDOnTsjPT0dn376KYYOHYrJkyc39fC0tnr1aiQmJmLhwoXo1KkTcnNzxX82NjbIz89HSEgIlEolSkpKcO3aNURGRiI9PR1r1qwR/3owNTWFqakpdu3aBUtLS1RUVGD79u1IT0/Hxo0bYWdn18RJgcDAQDx8%2BBClpaW4c%2BcOvvzyS8THx2PatGniuSFdunTBrl278ODBA7Ru3RpHjx7F3r17sWLFCvTu3RuAcWR93tatW1FRUYEVK1aoFUk5OTlGO7d//PEHzpw5g8zMTFy6dAkFBQWwt7dHZmYm2rdvDysrK53Opb29Pa5evYoDBw6gc%2BfOePDgASIiImBpaYm1a9fCzOzVnYLbUFaJRIL3338fubm5CA8PR3l5udp2XPPBh8TERHzxxRcoLy/HkydP8MMPP2DlypWorKzE%2BvXrxcM0hpz18ePHOn3OGnJWKysrAM%2BKlpUrV2Lw4MEYNWqUxnqMYV4bep%2BxsLAw2O1VIhjqBYJaqOzsbERGRuLy5cuwtLTEmDFjsHTp0ld6BWBd8/Pzq/NrFL766ivI5XKsWLEC165dw%2BPHj2Fubo7evXtjzpw5aieqA892bcfGxiI%2BPh4FBQWQyWRYtmwZPD099RGlQZGRkbhw4QJyc3NRXV2NN998EwEBAZg2bZpaQaJQKLB161ZkZWXB3t4eM2fOxJQpU9TWZehZaxQVFWHQoEGYPn26xjk/hYWFRju39%2B/f17gsRo2vvvoKHh4eAHQ7l6WlpdiwYQNOnDgBpVIJDw8PrFq1Squ9xH9FQ1kdHR3rvB%2BAeFmBjIwMbNmyBbdv30ZJSQnatGkDT09PhIaGanw831CzvorXI0PNWvMcPnfuHObOnYsvvvii1r01xjCvDb3PGPL2ysKLiIiISE94jhcRERGRnrDwIiIiItITFl5EREREesLCi4iIiEhPWHgRERER6QkLLyIiIiI9YeFFREREpCcsvIiIiIj0hIUXERmFQ4cOQS6Xi/%2BcnZ3h5eWFRYsW4bfffmvycd2/f7/efjt27IBcLtfTqBqmUCiwY8eOWu%2BTy%2BVYu3atnkdE1DK8ui9SIiJ6BdavX49u3bqhoqICaWlp2LVrF1JTU5GcnCx%2Bhxw1TKFQID4%2BHgsWLGjqoRC1KCy8iMio9OjRAy4uLgAADw8PqFQq7NixA6dPn8bEiRObeHRERPXjoUYiMmo1RdijR4807ktKSsJ7772Hvn37ws3NDYGBgbh%2B/bpanytXrmDRokXw8/NDnz594Ofnh8WLF9f6BbwZGRmYPHkyXFxc4OXlhS1btqCqquovjV%2BbMS5fvhxubm64c%2BcOgoKC4ObmBl9fX3z22WeorKxU65ubm4vQ0FC4ublhwIABWLJkCX7%2B%2BWfI5XIcOnRIXF98fDwAqB2%2BffFw6ZEjRzBy5Ei4urrinXfewffff/%2BXshIR93gRkZGrKRbefPNNtfZdu3Zh27ZtmDBhAubNmwelUonY2FhMmTIFCQkJ6N69OwAgJycHXbt2xejRo9G2bVvk5%2Bdj//798Pf3x7Fjx9C%2BfXsAQGZmJmbMmAFHR0d89tlnsLS0xL59%2B5CYmPjSY9d2jACgVCoxb948%2BPv7Y9asWfjpp58QHR0NGxsbzJ8/HwDw9OlTvP/%2B%2BygqKsLSpUvxxhtv4MKFC1i0aJHa4wYHB%2BPp06c4ceIEDhw4ILZ36tRJ/PncuXO4cuUKQkNDYW1tjZiYGMyfPx/Hjx9Hly5dXjozUYsnEBEZgYMHDwoymUzIyMgQlEqlUFpaKpw/f14YNGiQMGXKFEGpVIp9f//9d8HZ2Vn45JNP1NZRWloqDBo0SFi4cGGdj1NVVSWUlZUJffv2FeLi4sT2Dz/8UOjTp4%2BQn5%2Bv1nfEiBGCTCYT7t27V%2B/4o6KiBJlM9lJjDAsLE2QymZCUlKTWNygoSBg%2BfLh4%2B5tvvhFkMpmgUCjU%2Bq1atUqQyWTCwYMHxbY1a9aojed5MplMePvtt4WSkhKxLT8/X%2BjZs6ewe/fuenMSUf24x4uIjMqkSZPUbjs5OSE6OhpmZn%2B%2BnF28eBFVVVUYN26c2qHAVq1awd3dHampqWJbWVkZoqOjcfLkSeTk5EClUon3ZWVliT%2BnpqZi4MCBsLOzE9tMTU0xatQofP75543O0ZgxAoBEIoGfn59am1wuR0pKinj7p59%2BQuvWreHj46PWb8yYMWp7trTh4eEBGxsb8badnR06dOhQ6yFYItIeCy8iMiobNmyAk5MTysrKkJSUhAMHDmDx4sWIiYkR%2BxQUFAAA/P39a12Hicmfp7cuWbIEKSkpCA4OhouLC1q3bg2JRII5c%2BagoqJC7FdYWKhWdNWorU0bjRkjAFhZWaFVq1ZqbRYWFlqNsUOHDo0en62trUbbi49HRI3HwouIjIqTk5N4Qr2npyeqq6uRkJCA48ePY8SIEQCAdu3aAQCioqLg4OBQ57pKSkpw7tw5zJ8/H3PmzBHbKysrUVRUpNbX1tZWLJaeV1ubNrQdY2PY2tri559/1mh/2TESke6x8CIio7Zs2TKcPHkSUVFRGDZsGExMTODl5QUzMzPcvXsXw4cPr3NZiUQCQRBgYWGh1p6QkKB2yBF4dujt7NmzKCgoEPcqqVQqJCUlvdS4tR1jY7i7uyM5ORkKhQK%2Bvr5i%2B7FjxzT61mQuLy%2BHpaWlTh6fiBrGwouIjFrbtm0xZ84cbNq0CUePHsW4cePw2muvITQ0FNu2bcO9e/fg4%2BMDqVSKgoICXLlyBVZWVggNDYWNjQ3c3d0RGxuLdu3awdHRET/%2B%2BCP%2B97//QSqVqj3OvHnzcPbsWUyfPh0hISGwtLREfHw8/vjjj5cat7ZjbIzx48cjLi4OH330ERYuXIg33ngD58%2Bfx8WLFwGoH76UyWQAgD179sDHxwcmJiaQy%2BUaRSgR6Rav40VERm/atGlwcHBAdHS0uKdq7ty52L59O3777TeEhYUhMDAQmzdvRk5ODtzd3cVlt2zZAg8PD2zatAnz58/H1atXsXfvXrRp00btMWQyGfbu3QsbGxuEhYUhIiICcrkcwcHBLz1ubceoLWtra8TFxeGtt97Cpk2bsGDBAjx48AAff/wxAKhlGjNmDAICArBv3z6899578Pf3x8OHD186CxFpRyIIgtDUgyAiolen5nph586dg729fVMPh6hF46FGIqJm5JtvvgEAdOvWDUqlEikpKfj666/xzjvvsOgiMgAsvIiImhFLS0vExcXh/v37UCqV%2BNvf/oagoCDMmzevqYdGROChRiIiIiK94cn1RERERHrCwouIiIhIT1h4EREREekJCy8iIiIiPWHhRURERKQnLLyIiIiI9ISFFxEREZGesPAiIiIi0pP/AydwUebpitTQAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -223,7 +258,7 @@
 <br>
 
 <h3 id="Read_lengths_vs_Average_read_quality_plot_using_dots">Read lengths vs Average read quality plot using dots</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeZyNdeP/8fc1ZjNmjCUMIssgoZIlKiEku4h2KW4JUVrc3ZW6pawhufsVkVJJChmhb5ayFMoSN7IOGTKMwWD2Oef3x3zn%2Bp5jzpxzZuaaOTPm9Xw8PMzZrvM5n3Ou5X19PtfnY9jtdrsAAAAAAEC%2B%2BPm6AAAAAAAAXAsI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYQD5Nnz5dDRo0UIMGDfTqq6/me3np6enm8ho0aKDTp09bUEo4svo7A4DibtKkSeZ2cdy4cb4uzjWjT58%2BZr2uXr3a5XMOHjxoPqdp06aFXMLi6fPPPzfr7Omnn/Z1cQAn/r4uAIqGf/7zn1q6dGmOjwcEBCg0NFQRERFq1KiROnbsqLvvvlulSpUqxFICKGmOHz%2Bue%2B%2B917zt5%2BendevWqWrVqj4sFQAAgGu0YMMraWlpOn/%2BvPbv369vvvlGQ4cOVffu3bV7925fFw0l2PHjx80z2DfddJOvi4MCcPWJP5vNpu%2B%2B%2B85HpQEA3xk5cqS5z5s7d66vi1Ni8T3AE1qwkU14eLiaNGnidF9qaqpiY2N1/Phx876jR4/qiSee0Keffqqbb765sIsJ4Bpnt9u1fPnybPcvXbpUQ4cO9UGJAAAA3CNgIxt3Z%2BROnDihKVOm6IcffpAkJSYm6l//%2BpeWL18uPz86RACwztatW3Xy5ElJUu3atZWamqqTJ0/q2LFj2rVrl2699VYflxAA8q9%2B/fo6cOCAr4sBwCIkIuRKjRo19N5776l9%2B/bmfYcOHdLGjRt9WCoA1yLH7uE9e/ZUjx49XD4GAABQVBCwkWuGYWjkyJFO923ZssVHpQFwLUpMTNT//M//SMrc5vTo0UM9e/Y0H1%2B1apVSU1N9VTwAAACX6CKOPGnYsKFCQkKUmJgoSWY3Tm9t2bJFP/zwg3777TedPXtWV65cUfny5RUZGan27dvrgQceUEhIiFfLOnTokDZt2qTt27fr8OHDOnPmjFJSUhQWFqaIiAg1a9ZMPXv21C233JKrMtpsNi1fvlxRUVE6cOCALl68qEqVKikyMlL333%2B/7r333iI1ivqRI0e0YsUKbd68WadOndKFCxcUGhqq66%2B/XnfddZf69eun6tWru12G44jNpUqV0r59%2ByRJZ86c0eLFi7VmzRqdOnVKycnJqlSpklq0aKEBAwaoYcOGXpczLS1NS5Ys0cqVK3X48GElJCS4rNfp06frww8/lCQ98MADevvtt81lLF68WK%2B99prTcjMyMtSgQQOX7zlq1CgNGzbMY9l%2B//13LVq0SH/88YdOnz6t4OBg1axZU/fcc48GDBig0NBQrz7jrl27tGzZMu3atUsnT57UlStX5O/vr7Jly6patWq68cYb1aJFC91zzz0qU6aMV8u82po1azR8%2BHBJUunSpfXLL794vc7MmjVL77//vqTMS0JcXeeckpKilStXas2aNdq/f7/Onz%2BvlJQUBQUF6brrrlPNmjXVuHFjtW3bVrfddluePoM7P/zwg7l9adq0qWrUqCFJatSokfbu3auLFy9q7dq16tKlS47LSE1N1Z133qmEhARJ0rRp09StWzev3v/YsWPq3Lmzefv7779XZGRkjs8/dOiQuf79/fffunjxosLCwnT99derTZs26t%2B/vyIiIty%2B58GDB81W%2BpCQEO3cuVNS5nq5ZMkSbdy4UadPn1Z8fLxKly5tPu74eX/99Vdt2bJF//3vfxUdHa2LFy/Kz89P4eHhqlevnlq1aqX%2B/fsrPDzcq3rI8tdff2nhwoXasGGDTp06JT8/P0VERKh169Z66KGHzLq5/fbbdeHCBUnSN998k208j4Kqu9zIbz072rx5s/7nf/5Hv//%2Bu%2BLi4nTlyhVVqFBB9erVU/v27dW3b1%2BVLl3aq3IdOHBAmzZt0o4dO3T48GGdPXvW3JdVrVpVzZo1U%2B/evdW4ceNcfd6MjAwtW7ZMUVFR5jb3uuuuU/369dWnTx917NixwC/x8rYMkyZN0rx58yRJjz76qMaOHZttWevXrzfHYKhXr55WrFjh8f29WW6W2NhYbdiwQdu2bdPBgwd16tQpJSYmKiQkRBUqVNCtt96qTp06qUOHDjIMIy/VkU1Ov8ksjutVlsmTJ2vy5MnZlpX1%2BrS0NLVr105xcXGSMuugd%2B/eXpUnOjpa9913n3l79erVql27dq4%2BUxZXdW%2B327V27VotWbJEf/75p86ePauyZcsqMjJS3bt31/333y9/f%2BsjSkxMjJYuXapNmzYpJiZGFy9eNPfLd955p/r06aMbbrghx9fn5XtAyUTARp4YhqGwsDDzAPjSpUtevS4mJkavv/66fvnll2yPnTlzRmfOnNEvv/yi2bNn65133tHdd9/tdnk9e/bM8bql8%2BfPmyOff/7557rvvvs0YcIEr0JIbGysRo0alW3jePLkSZ08eVI///yzWrdurWnTpnlcVkFLTk7WxIkT9fXXXysjI8Ppsaw62LNnj%2BbNm6cRI0ZoyJAhuVr%2B2rVr9corr%2BjixYtO9584cUInTpzQsmXL9PLLL%2BvJJ5/0uKzo6GiNHDlSBw8edLrf1/WampqqCRMm6Msvv3S6PyUlRXv27NGePXv01Vdfae7cuapXr57b5fzrX/9SVFRUtscyMjJ09uxZnT17Vn/88YcWLVqk9u3bmycRcqtt27YqV66cLly4oKSkJK1Zs8aphded77//3vzbsdt1ln379um5555zGtQwS2Jiov766y/99ddf2rRpkz788EO9//77TlNpWeHq7uGOf%2B/du1eStGzZMrcBOzAwUJ07d9bixYslSVFRUV4HbMfv8KabbsoxXCcmJuqdd97Rt99%2BK5vN5vRYfHy84uPjtXv3bs2bN0/PPfecBg4c6NX7Z/niiy80ceJEj631P//8s1588UXzZMLVkpOTFRsba35nY8eOVa9evbwuw%2BTJk5WcnOx0/%2BHDh3X48GF99dVXGjNmjB5//HHvPtT/Kui6yw1v6znL8ePH9dprr2nbtm3ZHouNjTXres6cOZo4caJat26d47LS0tJ0//3369ChQy4fz9qO79u3TwsWLFD37t319ttvKzg42GM5T548qZEjR%2Bq///1vtvtPnjyp9evX6%2B6779bUqVM9LiuvikIZvPXaa6%2B5/D1KUkJCghISEnTs2DEtW7ZMjRo10syZM3X99df7oKSeBQQEqE%2BfPpo9e7Yk6dtvv/U6YH/zzTfm382bN89zuHbl0qVLevnll7Vu3Tqn%2B%2BPi4hQXF6ctW7Zo4cKFeu%2B998wTq/llt9v1wQcf6KOPPlJKSorTY%2BfOndO5c%2Be0Z88ezZ07V08%2B%2BaSef/55xhVCvhCwkSd2u93pQM6bVrg///xTgwcP1tmzZ837QkJCFBkZqdKlS%2BvMmTOKjo6WJJ09e1bDhg3T9OnT1alTpxyX6RiuAwICVKtWLZUrV05%2Bfn46d%2B6coqOjzdC5evVqnT17VgsWLHDb8hwfH6%2BBAwfq6NGj5n2BgYGqX7%2B%2BSpcurejoaMXFxenXX3/V8OHD1bx5c4%2BfvaAkJCRoyJAhTicC/P39VbduXZUvX14JCQk6ePCg0tPTlZKSonfffVfnz5/XmDFjvFr%2Bpk2bNGLECNlsNgUEBKhevXoKCwvT6dOnzfBls9k0ceJE1ahRQx07dsxxWSdPntQTTzyh2NhY877g4GDVq1dPwcHBOn78uM6cOeNVvUZEROiuu%2B5ScnKyfv/9d0mZJ33uvPNOl8%2BvWbOm28/56quvmq245cuXV61ateTn56dDhw6Zv/PY2Fj94x//0IoVK3JsyX755Ze1atUq87a/v7/q1Kmj8uXLy2636%2BLFizp27Ji5g7fb7W7L5U5AQIA6d%2B6sRYsWScoMhN4E7L1795q/bcMw1L17d6fHY2Nj9eSTTzqdpQ8PD1etWrVUpkwZJSUl6cyZMzp16pRZflcHo/lx8uRJM7gEBAQ4hehu3bpp8uTJysjI0KZNmxQXF6frrrsux2X16NHDDNibNm3S%2BfPnVb58eY9lcGwVc3USQsoMPkOGDHGarjAgIEB169ZVuXLldPHiRR08eFAZGRlKSkrShAkTdP78eT3//PMe31/K7Kkxbtw4c7mRkZEKCwvT2bNnndYjSTp16pTTNrlcuXKqUaOGQkNDlZKSor/%2B%2Bstsybp8%2BbJefvllZWRkqE%2BfPm7L8MUXX5hlyBIREaGaNWsqKSlJBw8eVEpKisaPH5%2Br3hgFXXe5kZt6ljLXocGDBys%2BPt68r0yZMoqMjFRwcLBiY2N17NgxSdLp06f1j3/8Q//5z3/Utm1bl%2B9vs9mcwnVAQIBq166t8PBw%2Bfn5KS4uTtHR0eZ6tmLFCsXFxemTTz5xGwLi4uI0cOBA/fXXX%2BZ9QUFB5jY3Ojpa586d04YNGzRy5EjdeOON3leal4pCGXLj4MGDZj37%2Bfnp%2BuuvV8WKFRUcHKyEhAQdOXLEPNG0d%2B9ePfTQQ1q6dKkqVapUoOVq3bq1Ll26pD///NNcj2vXru2yV5rjiZf%2B/ftrzpw5stvt2rZtm44dO6ZatWq5fa/09HSnqRD79etnzYdQ5j5v9OjR2rBhg6TM/W2dOnWUmpqqQ4cOOdXtwIEDtXDhQlWuXDnf7/v666%2Bb%2B4EstWrVUuXKlRUfH6/Dhw9LyjzZNXv2bJ04cULTpk3Ltn7l9XtAyUPARp7s3btXSUlJ5m13XSelzDOWw4YNM8N11apVNWbMGHXq1MmpG1B0dLTeeustbd68WWlpaXrllVfUqFEjVatWzeVyy5Ytqz59%2BqhTp0665ZZbFBAQ4PT4hQsX9MUXX%2Bj//b//p7S0NG3fvl2ffPKJBg8enGNZx48f7xSuBwwYoGeffVZly5aVlHkw9OOPP%2BqNN97Qjh07zJMCvvCvf/3LDNdBQUEaMWKEHnnkEacAePHiRc2aNUufffaZJGnevHlq1qyZ2zAsZX7O0aNHS5KGDh2qwYMHKywszHx8586dGjlypM6cOSNJmjBhgtsuc6%2B99pp5sOrn52cuM%2Bug3G63a9OmTRo7dqzHem3Tpo3atGnj1KXdz88vT/NRrlmzRhcuXFC1atX02muvqX379uZONS0tTXPnztX06dMlSX///bfmz5%2BvESNGZFvOH3/8YYZrwzA0bNgwPfnkk051JmW2ZO/cuVOrV692OkDPi549e5oB%2B5dfflF8fLwqVKjg9jWOLbMtWrRQ1apVnR7/4IMPzHAdERGhcePGqU2bNtkONBISErRhwwZ98803lnWTzLJs2TIzvN99990qV66c%2BVilSpXUunVrbdq0Senp6YqKinLbe6Jly5aKiIjQ6dOnlZaWptWrV%2Bvhhx92%2B/67d%2B82A5Kfn1%2BOrd5jxowxA2Lp0qU1atQo9e/f3ylonj9/XjNnzjR7R3z00Udq3ry52rRp47YMqampGj9%2BvAzD0JAhQzR48GBzGyTJKbBkadSokfr27at27dq5PODbs2ePpk6dao6Z8dZbb%2Bmuu%2B7K8QD28OHDmjBhgnm7evXqGj9%2BvO644w7zvsuXL2vOnDn66KOP9NZbb2XrRZOTgqy73MhtPV%2B4cEHDhg0z193q1avrlVde0T333ON04vbIkSN68803tW3bNqWlpenll1/W8uXLVaVKFZflKFeunPr06aN7771XTZo0ydY9Nj4%2BXp9//rlmz56ttLQ0bdmyRV988YXbXgNvvPGGU/kHDRqkZ555xtwmZWRkaPXq1Ro3bpy2bNlSIKNYF4Uy5EZAQIB69Oihrl27qlWrVtl6vGVdOjNlyhSdO3dOZ8%2Be1bhx48xLbgrKjBkzJGXOv5w1i0u/fv00aNAgt6%2BrUaOGWrdubfYa/Pbbb/XCCy%2B4fc1PP/1kHquFhYU5dRXPr1WrVun8%2BfMqW7asXn/9dXXr1s1cbxy3JXa7XTExMRo7dmyee3llWbx4sVO4btasmcaNG%2Bd03Hr8%2BHG9%2BeabZj2tWrVKTZo0yVa/ef0eUPLQ/wG5ZrfbNWvWLKf7HK9VdGXq1Knmddq1atXSkiVL1KVLl2wHEbVr19bs2bN11113ScoM5h988EGOy/3555/1yiuvqHnz5tnCtZR50DJ8%2BHC9%2B%2B675n0LFixQenq6y%2BXt3LnTqfvskCFD9OqrrzodcPn5%2Balz586aN2%2BegoODdf78ebefvaCsXLlSP/74o6TMM6WffvqphgwZkq11NTw8XK%2B%2B%2BqpGjRpl3jdlyhSPradZLa7jxo3T888/ny0oNm3aVLNmzTLDVUxMjNmafLWffvrJ6bKAMWPGaNSoUU4H04ZhqE2bNvrss89Urly5QqvXCxcuqFKlSlq4cKE6dOjgFCQDAgI0dOhQp0CW0%2BjVP//8s/n3/fffr5EjR2arMynz2vbmzZvrtdde05QpU/JV9mbNmplBKj093an13BWbzaaVK1eat121zGa1LEiZv5O2bdu6bCUrW7asunfvrvnz53s8WZNbjq0nrlrlczOauGEYTgHZVff9qzm2Xrds2dJlKFq6dKn5nYeEhGjBggV68skns7Xili9fXm%2B88YZ5zajdbnd5vd7V0tPTlZycrNdee02jR4922gZJ2Xtl9OrVS0uWLNGjjz6a41gLTZo00bx588yAmpiYaJ6gcWXq1KlKS0uTJFWoUEELFixwCteSFBoaqueff14vvPCCEhMTs3W/dKWg6y43clvPkyZN0unTpyVlnlhesmSJOnXqlK1XVN26dTVv3jy1bNlSUuZ2Jqur7tUCAwP1008/acyYMWratKnLa08rVKigkSNH6p133jHv%2B/TTT3PsPbJlyxatWbPGvP3ss8/q5ZdfdtomlSpVSt26ddOcOXMUGBho%2BTa3KJQht%2BbMmaOpU6fqnnvucXk5WVBQkO6//359/vnn5uNr1qzRiRMnCruoXuvfv7/599KlS3M8/sni2D28e/fulrbEnj9/XgEBAZo9e7Z69uzptN5kbUuyTuxLmdfbb9q0Kc/vd%2BXKFU2aNMm8fdttt%2BmTTz7J1ih0ww03aPbs2U694N577718nwRHyUXARq6cOHFCo0aN0vr16837unfv7naQq/j4eKeD4EmTJrltZfP399e4cePMg4yoqChdvnzZ5XO9HdSpc%2BfOatq0qaTMLntZg3ddzfFgs2bNmnr22WdzXOZNN92kp556yqv3Lwgff/yx%2Bffw4cPNz5eToUOHmtdRHTt2TL/%2B%2BqvH98gaHC0nt9xyi9NcxDt27HD5vK%2B//tr8u1GjRnriiSdyXGaNGjXc1ntB%2BOc//%2Bl2ECXH8sbExJit9o6yDroleT3oV34HyctteNy2bZvZiyAgIMBly4Rjl1hPv6ksVg72t337dvPyg7CwMKcpAbN06tTJHDjqwIED2r9/v9tlOob0HTt2uB2U8eqTEDl1u3fsLfHcc895HMxr5MiR5rWaBw8ezPFklKOmTZvqscce8/g8yfttYalSpfTiiy%2Bat6%2B%2BDjJL1kBPWZ577jm3gyQOGjQox0EGr1YYdZcb3tZzbGysuY4ZhqEpU6Y49a64WkBAgN566y3zBNWSJUtcnoAwDMPrgdB69uypm266SVLm/vjq8SyyOO7L6tatq2eeeSbHZd588825vn7eG0WhDLnl7XpUp04dM7jabDanY6KipmPHjqpYsaKkzMvvHE8GX%2B3q9d7K7uFZHn30Ubf7lsGDBzsdU3711Vd5fq%2BoqChzjCB/f3%2B9/fbbCgoKcvncgIAAjR8/3jyhkJKSkq1bOeAtAjayOXDggAYNGuT0b8CAAercubM6depkdouRpDvvvFNvvfWW2%2BWtXr3aPKi4OpDlpHr16mZISU5O1h9//JGPT5Tp5ptvNv/es2dPtsftdrvTwWa/fv0UGBjodpmPPPKITwbCOHLkiDnQU0BAgMcur1Jmy7vj9bZbt271%2BBrHM985cQyTjl3rs6Snp2vz5s1Oy/TUpbh3796Fdv1SeHi4xy5wtWvXNg9QJNef03Gn/eeff1pXQA8cA%2BDOnTvdtqQ4BvB27dpla62T5PSb90V3TceTcZ07d3Z5MFSmTBl16NDB5WtcufHGG1W/fn1Jmeu5Yy%2BVq23ZssXsHhkUFORy8LZ9%2B/aZ18yWLl3aq4PQUqVKqWvXruZtb9a/gji4lTLrI6tes66hvtrGjRvN7t4hISE5Xoeexc/Pz6vtRWHVXW54W8%2BrVq0yW/RbtGhhBl13atWqZe57EhMTXe57csvTviwjI0M//fSTefvBBx/0eBLs0UcftfRSj6JQhoLmODOJFd9rQQkICND9999v3nZsob7a0qVLzfX%2BpptuUqNGjSwvz6OPPur2cT8/P6djmp9//tlc73Jr7dq15t933XWX6tSp4/b51apVc%2BqR5fh6IDe4BhvZXLx40WOXnFq1amnYsGHq2bOnxx3i9u3bzb9vv/12r8tRv359c6CjvXv35jiAlZR5reyvv/6qPXv26MSJE7p06ZJSUlKcukE7jojsauCa48ePO42U7c11fpUqVVLDhg3NsFtYHFtwGjVq5LIrsiuOI2B7U2ZvToY4tvy6GsH48OHDTqMPe/MbCA0NVaNGjZx%2BOwWlcePGXk0HUqVKFZ07d06S61HzHafO%2BfLLL1WjRg09/PDDOZ4tt0q9evV04403mqF%2BxYoVLluKUlNTzXmlpZwH7mrcuLF%2B%2B%2B03SdILL7ygd955R82aNSuAkmeXnJys1atXm7fdDdrWs2dPsyt3VFSUXnrpJZeXiWTp0aOHealIVFRUjqPpX30SwtW65bj%2BNWnSxOtWL8f1L6deNI7yWu%2BxsbHavHmz/vzzT507d06XL1/O1i00q2txenq6zp07l22cC8fA4O1n9GbdLqy6yw1v69mx7LnZl9WrV0%2B7du2SlLnddTeAY9ZUa1n7ssuXL2fblzmOT%2BFqX3b48GFzhg9J5iVX7lSvXl1169Y1B3vKr6JQhvzatWuXdu7cqSNHjighIUGJiYlO34Njd3ZX30NR0r9/f82dO1d2u10bNmzQ2bNnsw3MZrfb9e2335q3H3jgAcvLUbNmTY%2BDjkpymkEmNTVVBw4cyPX0dJKcBlH0NCtNlvbt25v7lv379ys1NdVjYwtwNQI28iQmJkaHDx/26myz4%2Bioa9eu9frgyDEQ53RdVnp6uubPn685c%2BZkm5vQHVcByXEgFj8/P9WtW9erZUVGRhZ6wHas05iYGK8H2HCsI2%2BudXM3OnMWx66NV0/jI2WObpzF39/f7RyTjurUqVMoAdubzyg5jwjqOMBfli5dumjGjBk6c%2BaMbDabJkyYoFmzZqlNmzZq1aqVmjZtqnr16hVIC02PHj08BuwNGzaYJ0DCwsLUrl07l8saOHCgGbCPHTumRx55RLVr11bbtm3VokULNW3a1Kk130pr1qwx182IiAjz%2BlVX7rzzTlWsWFHnzp1TfHy8NmzY4NSqfbXu3btr2rRpstvtOnjwoA4cOJCtS3Nqaqo5roGUc8B3DADR0dFer3%2BO1/N5s/7ldvqfmJgYTZgwQevWrcvVyO6utod///23%2BbenVp8stWvXlmEYbsd3KKy6yw1v69lxu7t69Wqv57h1DMQ5lT0tLU3z5s3TvHnzcrUvc3X5lGMvlqzZNbwRGRlpWbgtCmXIqx9//FFTpkxxOU1hTnK6jK2ouOGGG3T77bdry5YtSk9P19KlS7OdZNy6dat5HBQcHOz1tI%2B54W6aS0dVq1ZVaGioWa9//fVXrgN2QkKC07qU1YvJE8f9QmpqqmJjYy2bLgwlBwEb2bRs2VILFiwwb6enpys2Nlb79%2B/XvHnztH37dqWnp2v27NlKT0/3OOWT4wbuyJEjOnLkSK7L5GrnlZaWpmeffTZP1z65muvUsfU1JCTE6zOW7q7BKyiOdRoXF5enQUA8HRCUKlUq19fWujqwdjx4L1OmjNdd6r1tlc8vd62eOXH1OUNCQvThhx9q6NCh5jXaly5d0sqVK81reitUqKB27drpgQcesLRVuHv37nr33Xdls9l0%2BPBh7d%2B/P9u4CFnTkEnSvffem2PLeseOHfX888/rvffeM0NadHS0oqOjNX/%2BfBmGofr16%2Bu%2B%2B%2B5T//79vT5B4Q3Hrt7du3d3ezLC399fXbt2NbdVy5Ytcxuwq1WrpmbNmpmtkFFRUdkC9vr1683fa3h4eI4tHo7rX9bc5rnlKtQ6Cg4O9qpnRZZ9%2B/Zp4MCB2ear94ar7aFj%2BVxdSuCKv7%2B/Spcu7dRyebXCqLvcyE09O5b90KFDOc5b7Y6r7W5qaqqeeeaZPG3HXX13jr%2BBsmXLer0dt3JfVhTKkBfvv/9%2BtkFcveHt/Om%2B9OCDD5ozCHz77bfZArZj1/HOnTsXyD44N99veHi4ub7kZbt2dY86b6ZndPW8ixcvErCRawRseOTv76/q1aurevXq6tChg8aOHWsOWjVv3jy1atUqx/k9JdetfbnlqjVmzpw5TuH6tttuU69evdSkSRNVrVpVZcqUcQoR06dPdzvdg%2BM1PrkJXb7oOlRQdVoQ8jPXc3HTqFEjrVq1Sp9%2B%2BqmWLFmimJgYp8fj4%2BO1ZMkSLVmyRPfcc4/eeecdr3f67kRERKh58%2BbmJRVRUVFOAfvy5ctOA9t4apkYOnSo2rZtq48//lhr1651%2Br3Z7XYdOHBABw4c0OzZs/Xcc89p4MCB%2Bf4MsbGxTgPvLVy40O21gpLzQe369et14cIFtwdwPXr0MAP2999/rxdeeMEpxDuOHn7ffffluG67C5De8rRe5GZsh9TUVI0aNco8CA0ODlavXr3Utm1b1alTR5UqVcoWJG%2B//Xa3LaUFtd4WRt3lRm7quaC2u//5z3%2BcwnWLFi3Us2dPNW7cWBEREdn2ZZMmTdK8efNyfI%2BisC8rCmXIrV9//dUpXNesWVP9%2BvVTs2bNdP3116ts2bIKDg42txnr1683R7gvDjp27KgKFau2DKAAACAASURBVCooPj5ex44d07Zt28xeQgkJCU69dwpq/Ie8/hbycgLj6td4%2B95X/waLw8kTFD0EbOSKYRgaO3as/vjjD3MApH//%2B99avXp1jjvGsLAw80zilClTLOl2lJ6erk8%2B%2BcS8/cQTT%2Bhf//qX29dcuXLF7eOO01t5em5ullsQHFuU%2BvXrp/Hjxxd6GbzlWNYrV67IZrN5dVBrZStVYQoNDdXw4cM1fPhwRUdH67ffftO2bducBs%2BSMkdvHjJkiL766itLRuHu2bOnGbC///57vfTSS%2BaB4I8//mh2369SpYrbrtdZGjZsqHfffVepqanatWuXfv/9d23btk2///67efCclJSkCRMmqFSpUvkeAfi7775zmkM5t%2BtVWlqavv/%2Be7cD6HTp0kXjx49XWlqaTp06pe3bt5vXw166dMnpJIS7Qb0cf9OPPfaYXn/99VyV1WqrVq1y6tr55ZdfehycyFPQdfyMrsZWcCU9Pd1jCC1qdZcbZcuWNdfhmTNnepye0hupqan67LPPzNv/%2BMc/nEZ5d6U47MuKQhkceXNC%2BaOPPjL/btmypebMmeN2sE1f7PvzIzAwUL179zZPznzzzTfmviAqKsrcR9SqVUstWrQokDLk9beQl9b0q1/j7Xtf3cvE2x48gCNGEUeuBQQEOB0UnTx5UgsXLszx%2BY7Xa%2BbmmiZ39uzZYx70hYSE6IUXXvD4GldTKzlynDosNTXV666LV7dSFgbHslpVpwXFcfCk9PR0r8vraqTu4qZ27drq37%2B/pk6dqo0bN%2Bqzzz5zGuBo9%2B7dHueu9pZji%2Bvp06fN66gl54G7unXrlqtWu8DAQLVs2VLDhg3T/PnztWXLFr3xxhtOLcXvvfeey%2Bvvc8Nx7uu88jSa%2BNXdvh3r5YcffjBH065atarbgagc179jx47lsbTWcZxjvm/fvh7D9fnz5z22ylStWtX829t1MTo62mPrclGru9woiO3ujh07zJMd4eHhGjVqlMfXeNqXOe5zL1265PUJEiv3ZQVZBseWSG9Hl/b0/qmpqU6D2L388sseZ7Lw9D0URQ8%2B%2BKD59w8//GCeyHbsLVQQg5tlcTdFoqPk5GRzUFFJeRr3Izw83Onktbe/b8fxeCS5nVYWyAkBG3nSokULp1FBZ8%2BeneMBtuNUFt7MvewNxwF46tev73GkZrvd7nGqrxtvvNEpeHgz7YbNZiv0Ac4k59G9d%2B3aZUm3y4ISGRnpNBBaViurO5cvX/aqXh2/r6LeFd0wDN1%2B%2B%2B36%2BOOPnQb8cZzCLD%2BuHrgsKzzGxcWZ191JnruHexIaGqpHHnlE06dPN%2B%2B7dOmS02itubV7926ngY3WrFljdkP39G/NmjXm6/bs2eNxjAfHlunVq1ebB%2BiO3cM9Xf999dzvvu5C6DiQoKc5pSV5NTiX43L27NnjVfdob9btolZ3ueFY9oLYlzVo0MBjN1abzebVvsyRN/uy9PR0S6cXLMgylClTxvzb2%2BCe03zhWc6ePWtuC0qVKuXV9FTeDnJnJcftUl72ebVq1TJbrZOTkxUVFaV9%2B/aZg8/6%2B/s7TelltT///NOrdX7v3r1OPZquHlPEG4GBgYqMjDRvezvdq%2BPzIiIiXAbs/H4PuPYRsJFnjiMVx8XFadGiRS6f5xjEd%2BzYYcncuo5nrb0ZlfnXX3/V6dOn3T6nTJkyThvxrIGp3Nm6davTWdbC0rJlS/NALDU11WPLnS/5%2B/vrjjvuMG8vWrTI4w7pu%2B%2B%2B86pF1DG422y2YnGwXrp0aacp5%2BLi4ixbtmN4/OGHH5SamqqVK1eaByqRkZF5OlBxpXXr1k5TLOXncyxbtsz8u1GjRrkaUKZGjRpOB8Oe1oV77rnH7L564cIFbdy4UWfOnHGaW9nTnM%2BtWrUyr2dOTEy0pPU9Pxyn4PJme%2BhY3zlp06aN2fqTmJjo1Nrvis1mM8fmcKeo1V1uOK63W7dudRodPK9y%2B939/PPPTiOqu1K%2BfHmnYOHNvmzTpk15GkjKF2Vw7BUVHx/vcdvz999/a//%2B/W6fc/U0dp7Ex8c7zfNdWBy3uXntNeTYiv3NN99o8eLF5u327dtbOnDl1RITE7VhwwaPz3P8vdSsWVOVK1fO0/s59kRatWqVU2h3xW63O51szaknkxXfA65tBGzkWfPmzZ2u5fz4449dBpy7775btWvXlpS58XrjjTfyHYQcN7YHDhxwe21NamqqJk6c6NVyHVv3Vq5c6fast81m03vvvefVcq0WHh6u3r17m7dnzpzpddcrX%2Bjfv7/59969e51Gqb/ayZMn9f7773u13HLlyjm1%2BDhODVPYcnMW27HHQXh4uGVlaNeunXm92MWLF7VhwwanYOSp9To3nyE1NdXpYCWvo/%2Bmpqbq%2B%2B%2B/N2/n5bpWx9csX77c7fWWQUFBuvfee83bK1as0MqVK83XNGjQINvo4le77rrr1LVrV/P2jBkzfDoPruN8tjt27HD73C1btjjNh56TKlWqOHWnnzFjhlNr69Xmz5/vVetjUau73OjQoYM5pVdGRobGjh2b62B2Ncfvbt%2B%2BfW4P1lNSUjR58mSvlturVy/z7%2B%2B%2B%2B87tyYCMjAzNnDnTq%2BXmRkGVoUqVKk5dhn/44Qe3z585c6bHYFWxYkXzBEdGRobH1s7Jkyf75ISuY/jN6/7u3nvvNQfX3Lt3b4HPfX21999/3%2B16c%2BLECafQn58W9b59%2B5p/nzx5Ul999ZXb5y9btszpuC%2Bn%2BrDie8C1jYCNfHFsxT5z5ozLUX/9/Pz00ksvmbd37typoUOHemz5TUpK0pIlS/TUU09le%2ByWW24xrzdNTEzUpEmTXIaDy5cva%2BTIkV63mvft29fccGZkZGj48OEuDyozMjI0btw4n3QRyzJs2DAznF24cEEDBgzw2K3aZrPpl19%2B0aBBg7JdZ1SQ2rVr59SKPWHCBL3//vvZToxs3rxZjz/%2BuM6fP%2B/V6Nr%2B/v5Oc1t%2B%2BumnhTY6%2BtVGjRqlOXPmeJyjd8%2BePVq9erV528rBZAIDA53C5kcffWR23TYMQ926dXP7%2BhMnTuixxx7TTz/95PGAdObMmeY1y4GBgbr55pvzVOas0b%2Bz5CVg33fffebfsbGxTtcku%2BJ4omHdunVOB5ieWq%2BzPPvss2ZLeFxcnAYMGOBxO5ORkaENGzboiSeesDRUOp7oXLp0aY4he%2BfOnRo5cqTXJ1JefPFF8wTWuXPn9Pjjj2frGn358mXNmDFDkydPVkhIiMfLdaSiVXe54e/v7zQA2bZt2zR8%2BHCP63xiYqIWL16cbVokSWratKnZon/p0iVNnTrV5TIuXbqkYcOGeX09fL9%2B/cyTXmlpaRo2bJjLektPT9frr79eIJc6FWQZOnbsaP79wQcfOF0m4Wj27NlasmSJx%2BWFhobqpptuMm9PnDjR5aVXNptN06dP91mvMccyrlu3Lk/78azBzrJkbcerVKmiNm3a5L%2BQHvz555969dVXXV4/HxcXp2HDhpllCg8P10MPPZTn92rUqJHTZ5o4caLTYJaOtm7dqn//%2B9/m7aZNm6p169Yun2vF94BrG6OII1/uuOMO3Xrrrdq1a5ekzKmz%2BvXrl%2B06sg4dOujpp582R%2BncvHmzOnTooG7duqlly5aqXLmySpUqpYSEBEVHR2v37t3atGmTEhMTVaVKlWzvGxISogceeEBffvmlpMxux4cPH9YDDzygGjVqKDExUXv27NHXX3%2Bt2NhYlSlTRnfffbfHAaXCwsL06quv6vnnn5eUOdhFjx499PDDD6t58%2BYKCgrS0aNHtXjxYu3bt09BQUG68847tW7dunzXZW5Vq1ZNU6ZM0bBhw5Senq6YmBj17dtX7dq1U5s2bXTDDTcoODhYly9f1smTJ/Xf//5XGzduNAdvK%2BzrhsaPH6%2BHH35YsbGxstlsmjVrlj7%2B%2BGPVr19fwcHBOn78uHnwddttt6l58%2BaaPXu2JPdTt3Tv3t08MFu0aJHWrVtnLjNLjx491KVLlwL8dJnX8E2dOlUzZsxQq1at1LRpU9WvX1/lypWTYRhm8IuKijJbPqpXr67u3btbWo4ePXqYZ/8dr4u%2B7bbbzNa3nNjtdv3222/67bffzDm7GzdurOuvv16hoaFKTk7W0aNH9f333zudXHrsscecRg3ODccD1QYNGjhdn%2B6tG264QTfeeKPZgrp06VKnS1Oudvvtt6ty5co6c%2BaMkpKSzBYLwzC8/j5q1qypiRMnatSoUcrIyNCxY8fUu3dvtW/fXm3atFGNGjWc1r89e/Zow4YN5olFK9e/Xr16aebMmbp48aJSU1P1xBNP6MEHH9Sdd96psLAwxcbGat26dWZLfadOnfTbb7%2B5naZLyryk4JVXXtG4ceMkZZ6AGThwoKpWraoaNWooOTlZBw4cMA%2BGX3/9dU2aNMnpxIsrRanucqtLly7atWuX5s%2BfL0n66aefdM8996h79%2B5q0aKFKleuLD8/PyUkJOjo0aPatWuXNm/erOTkZNWsWTPb8sLDw9WrVy/zJM%2BCBQt04MAB9e3bV9dff72uXLmiXbt2afHixTp79qzCw8PVqlUrj6225cuX1yuvvKIxY8ZIyhyormfPnnrooYd02223KTAwUEePHtWiRYt04MABlS5dWrfffrul3Z4LsgxPPPGElixZorS0NMXFxalPnz4aOHCgOebL0aNH9d133%2BmPP/5QWFiYmjdv7jStpysDBgwwy7pr1y717t1bjzzyiBo2bKiMjAwdPnxYS5YsMbubP/DAAx6nErRa27ZtFRYWZg4c16VLF910002qWLGiOSZJcHCwpk2b5nY5/fv3d5qJRZL69OljyYwW7rRp00Y7duzQsmXLtHfvXj344IOKjIxUWlqadu7cqYULFzqdsBozZky%2BBxkbP368evXqpQsXLig1NVVPP/20unTpok6dOqlSpUo6d%2B6c1q9f79T7KSQkRBMmTMhxmVZ9D7h2EbCRb88884yefvppSZmD7SxbtszlHIqjR49WuXLlNGXKFNlsNiUlJembb77J8w7qhRde0O%2B//24eHG/fvl3bt2/P9rygoCBNnjzZq0FWJKlr166KiYnRu%2B%2B%2BKymz5WD27Nlm2Mvi5%2BensWPH6sSJEz4J2JLMuYqfe%2B45XbhwQXa7XevXr/d4IOEL1atX1/z58zVq1CjzO0tOTs42OFbr1q01bdo0zZkzx7zP3RQdjz32mNatW2eOmn327NlsI8A3btzYqo/hUXp6ujZt2uQ0r60r1113nT744AOnAXus0LJlS0VERGQbc8DbltksjnN2u9OxY0fzhFRunTt3Ths3bjRv52fao/vuu88M2GvWrNHly5dzDP1%2Bfn7q1q1btgPMFi1aOI2e7UmnTp304YcfavTo0bp06ZJsNpvWrl2rtWvX5vlz5EVYWJgmTZqkESNGKD09XampqVqwYIHLSzEaNmyoCRMmOLUAupM17ZljcP7777%2BdevYEBATo5ZdfVp8%2BffTWW285lSsnRaXu8uKVV15R%2BfLlNWPGDNntdiUmJurrr7/26hp0V/75z39q586dZuv0tm3bXA4YV7p0aU2ZMsVp0EJ3evfurZiYGPOSmwsXLujDDz/M9jx/f3%2BNGzdO%2B/fvt/y64oIqQ926dfXiiy%2BaIej8%2BfNOAy9mCQ4O1rvvvqstW7Z43C/27t1bGzZsMC9ZOX78eI4h69lnn1WjRo0KPWCHhITorbfe0ksvvaS0tDSlp6dn24c6Xh%2Bckzp16qhFixbmftMwDKfu1AWlZs2a6tu3r1566SUdOnTI7RSjzzzzjCVlioiI0KeffqqnnnpK586dk91u18qVK3McFyA8PFyzZ882L210xarvAdcuuogj39q1a%2Bc0yNDs2bNzvL7mqaee0vLly9W1a1e3rZJS5g706aef1qeffury8dDQUH355Zfq2bNnjtMONW3aVF9//bXXB5NZhgwZog8//DDHFr/atWvr448/LpTrlTxp3bq1Vq1apcGDB3u8DrZSpUrq27evPv/8c91www2FVML/U6dOHS1ZskT//ve/1bJlS1WsWFGBgYGqVq2a2rZtq%2BnTp2vu3LmqUKGC0yUE7rqLBwYGav78%2BXrnnXfUrl07RUREeJxepSA8/fTT6tq1q8eu7VmjcEdFRWUbadcKrrqCBwQEOHWjzknlypX1wgsvqFmzZh5HM65Tp47efvttzZo1y%2BO6nJOoqCinbYU3ZcyJ42uTk5M99lZxdcIhtychpMwxJlavXq0nn3zS43ypVapUUf/%2B/fXll18qIiIi1%2B/lTvv27TVv3jzVqVPH5eNlypTRgAEDtGjRolzPKfvoo49qxYoVevLJJ1W3bl2FhISoTJkyioyM1OOPP65ly5ZpwIABSkpKMrvVGobhcXyBolJ3eTF06FAtW7ZMnTt39vj7r1evnoYOHaq5c%2Be6fLxs2bJauHChunXr5nKgM8Mw1KJFCy1evFht27bNVTlHjBihWbNmOQ0M5igyMlLz5s3L9%2BwCvijDwIEDNXHixBxbOG%2B99VZ9/fXXuaqzqVOnasSIETmGo1q1amnWrFkaMWJErspqpS5dumjp0qV67LHH1LBhQ4WFheWp5dlxrInWrVvnanDJ/OjSpYvmz5/vdHmXo4iICL333nt67rnnLHvPG2%2B8UStWrNCDDz6Y4/FBYGCg%2BvTpo6ioKKcZA3Ji1feAa5NhZ3x5%2BEhycrJ27NihmJgYs6tiWFiYatSoofr16%2Bdq1MjY2Fht3bpVp0%2BfVkBAgCpVqqRbbrkl3zsMu92uHTt26ODBg0pISFDFihVVr149p6nHipKsacMOHTpkznUbGhqqiIgIRUZGuj0jW9R06dLFbNGZP39%2BjtdCFUXR0dE6cuSITp06pStXrqhUqVIKDw9X3bp11aRJE6%2BuU/W1lJQU7d%2B/X8eOHdO5c%2BeUnJyskJAQVapUSQ0bNlTdunV9XcQiJyMjw2n9S09PV5kyZVS1alXVq1evUE5q2Ww27d69W3v37tWlS5cUHh6uatWqqWXLlk6j7heEbdu26fHHH5eU2W3fm8HUshSFusurpKQkp32ZYRgKCwtTzZo11aBBg1yNyvz3339r69atOnPmjAICAlS5cmXdcsstHi/v8MRut2v79u06ePCgLl%2B%2BrIoVK6p%2B/fpeTetmFW/KMGnSJM2bN09S5omdsWPHelxuamqqfvvtNx05ckTJycmqVKmSGjdurHr16uW5rJcuXdLWrVv1119/KT09XZUrVza339eCtLQ0tW3b1jyRPX36dKfBB63k7jvdu3evDhw4oLi4OIWGhqpevXpq1qxZjo0mVkhOTta2bdsUExOjhIQEhYWFmdtIq3uUoeQiYAMocnbu3GkObBIQEKBffvnFYwsXAN8aM2aMOQVYr169vB7xGsiSl4CN3Fu9erVGjRolKbOH2IYNG/LcE8kTvlOURHQRB1CkXL58Wa%2B//rp5u0OHDoRrwEe8PQe/fv16pzmt8zO1DoCC5Xi5Qt%2B%2BfQssXAMlFQEbQKG4cuWKevbsqYULF%2BrMmTPZHk9PT9eaNWvUt29fHTp0SFJm63XWAHoACt%2BCBQv00ksvadOmTS7n/T137pxmzJihESNGmGG8WbNmatWqVWEXFYAHdrtdH374oTkgV2BgoAYMGODjUgHXHkYRB1BoDhw4oDfffFNvvvmmIiIiVK1aNQUFBenSpUs6evRotnlHR48e7TTfJIDClZaWpuXLl2v58uUKCAhQ7dq1Vb58edntdp05c0bHjx93auWuWLGiJk2a5HKwLgCF7%2Beff9aiRYuUnp6uI0eOKCYmxnxswIABLqdCBZA/BGwAheLqA%2B7Tp09nm0oqS1hYmMaMGeNyujcAhcdxsKG0tDRzij1XmjRpounTpxfaaMQAPDtx4oTL6e9uvfVWPfvssz4oEXDtI2ADKBQhISHmPLfbt2/XkSNHFBsbq6SkJAUGBqpcuXKqV6%2Be7rjjDvXp04frroEiYMCAAWrYsKE2btyo3bt368SJEzp//rzS0tIUFham6667Tk2bNlWnTp1yPYUUgMIVEBCgmjVrqmvXrho8eLBPprQESgJGEQcAAAAAwAIMcgYAAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABfx9XQBfstvtio%2B/IpvN7uuilDh%2BfoYqVChD/fsAde9b1L9vUf%2B%2BQ937FvXvO9R94alUKczXRQBKdgu2YRjy8zN8XYwSyc/PoP59hLr3Lerft6h/36HufYv69x3qHihZSnTABgAAAADAKgRsAAAAAAAsQMAGAAAAAMACBGwAAAAAACxQokcRBwAUHMMoegP6ZBXJMIpm%2BQqL3c5IxgAAFAQCNgDAcqVLX5FhJPi6GNlkjuIbqKCgVAUElNyQabeXVVJSGV8XAwCAaw4BGwBgKcMwZBgJstt/lZTi6%2BI4sdkyA7bNllqCW3GDZBitZRihJbgOAAAoGARsAEABSZHdnuzrQjjJ7BZuV2bZSma4LME94wEAKHAMcgYAAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYwN/XBQCKMsMwfF0Ey2V9JMMo3p/Pbrf7uggAAACAEwI2kIPSpa/IMBJ8XQzL%2BfkZkgIVFJSqgIDiG1Lt9rJKSirj62IAAAAAJgI24IJhGDKMBNntv0pK8XVxLGWzZQZsmy21GLcCB8kwWsswQovxZwAAAMC1hoANuJUiuz3Z14WwVGa3cLsyP1vxDKfFuGc7AAAArmEMcgYAAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWMDf1wUAgLwxZBiZ/xcnhvF//xtG8Sq7t67RjwUUmoLYNpSEbU9hsNvtvi4CgCKOgA2gGPKXv79dwcF/SypeBzt%2BfoakQAUFpSogoHiV3Xt%2B8vdPU1qar8sBFD%2BlS1%2BRYSRYvtySse0peHZ7WSUllfF1MQAUYQRsAMVQKRnGZdnteySl%2BLowuWKzZR7k2myp13BLSFkZRn1fFwIodgzDkGEkyG7/VVZv20rGtqegBckwWsswQqlDADkiYAMoxlJktyf7uhC5ktk1067Msl%2BbB2iGEeTrIgDFnPXbtpKw7Slo9KwH4A0CNgAAJU7hj2HANcCeUS0AUPwRsAEAKFF8M4YB1wB7g/ELAKC4I2ADAFCi%2BGYMA64B9gbjFwBAcUfABgCgRCrcMQy4Btgzxi8AgOLPz9cFAAAAAADgWkDABgAAAADAAgRsAAAAAAAsQMAGAAAAAMACBGwAAAAAACxAwAYAAAAAwAIEbAAAAAAALEDABgAAAADAAgRsAAAAAAAsQMAGAAAAAMACBGwAAAAAACxAwAYAAAAAwAL%2Bvi4AAAAAUDwYMozM/71%2BhfF//xuG968DUDwRsAEAAACP/OXvb1dw8N%2BS7F6/ys/PkBSooKBUBQR4/zrkRX1fFwAgYAMAAACelZJhXJbdvkdSitevstkyA7bNliq7nYBdcIJEwEZRQMAGAAAAvJYiuz3Z62dndgu3/%2B/rCNgFhd73KCoY5AwAAAAAAAsQsAEAAAAAsAABGwAAAAAACxCwAQAAAACwAAEbAAAAAAALELABAAAAALAAARsAAAAAAAsQsAEAAAAAsAABGwAAAAAACxCwAQAAAACwAAEbAAAAAAALELABAAAAALCAv68LUNIZhuHrIvhE1sc2jKJZB0WwSAAAAACKOAK2D5UufUWGkeDrYviEn58hKVBBQakKCLD7ujgu%2BMnfP01pab4uBwAAAIDigoDtI4ZhyDASZLf/KinF18UpdDZbZsC22VJltxfFgF1WhlHf14UAAAAAUIwQsH0uRXZ7sq8LUegyu4Xblfn5i17ANowgXxcBAAAAQDHDIGcAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAow5C4gAAIABJREFUAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFDLvdbvd1IXwpI8Pms/c2jHRJKZJK5lfg52fIZiuqn91PhhEguz1V1%2BL3U7Tr3hvF%2B/sp/vXvSdH%2Bfq79%2BvfEd98Pde9JwX431H9%2B5f37oe4LnmGEyDD8fV0MoGQHbLvdzsbOh9jZ%2BA5171vUv29R/75D3eePn1%2BMDCNddru/bLbr8/B66t9XqPuC5%2BdnyG7PUFLS0UJ7T7u9rJKSyhTa%2B8G3KlUK8%2Bp5Jfo0j2EYSkhIVHq671qxSyp/fz%2BVL1%2BG%2BvcB6t63qH/fov59h7rPv%2BDgJQoJmabExNFKTh6Uq9dS/75D3ReOChXKyDBsstt/VWYP0YIWJMNoLcMIVQlur4QLJTpgAwAAFBfJyYNyHayBkidFdntygb%2BLYRT4W6CYYpAzAAAAAAAsQMAGAAAAAMACBGwAAAAAACxAwAYAAAAAwAIEbAAAAKCICg6eqwoVGik4eK6viwLACwTsEoaNNIobfrMAgJIsJGSaSpU6oZCQab4uCgAvELBLGDbSKG74zQIASrLExNHKyKihxMTRvi4KAC8QsEsYNtIoblz9ZmnVBgCUFMnJgxQfv5c50IFiwt/XBUDhSk4exAYaxYqr36xjqza/ZwAAABQVtGADKHboiQEAAICiiBZsAMUOPTEAAABQFNGCDQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQDIt%2BDguapQoZGCg%2Bf6uihAicK6B1wtSIYRXOD/pCBJhgxDMgyjQP6hePL3dQEAAMVfSMg0lSp1QiEh05ScPMjXxQFKDNY94P8Yhp8CA5sU2vvZ7XYFB/8tyV5Ayy%2BrpKQyBbJsFBwCNgAg3xITRyskZJoSE0f7uihAicK6B/wfu92u1NSDklIK6R0zJKUX0LKDZBitZRihstsLJsCjYBCwAQD5lpw8iNYzwAdY9wBHdkkJstuTfV2QfKOHePHFNdgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAoloKD56pixRtUseINCg6e6%2BviAAAAELABAMVTSMg0%2Bfmdl5/feYWETPN1cQAAAAjYAIDiKTFxtGy28rLZyisxcbSviwMAACB/XxcAAIC8SE4epOTkQb4uBgAAgIkWbAAAAAAALEDABgAAAFCsGcYlXxcBkETABgAAAFDMGcZFXxcBkETABgAAAPIkOHiuKlRoxFSBRYDdHu7rIgCSCNgAAKAEIyDlDvXlLCRkmkqVOsFUgQ589Rux28MK9f2AnBCwAQBAiUVAyh3qy1li4mhlZNRgqkAH/EZQ0hGwAQBAkVNYrWCFEZCupVZfAqWz5ORBio/fy5SBDviNoKQjYAMWuZYOoADA1wqrFawwAtK11KJHoIQn/EZQ0hGwAYtcSwdQAOBr11Ir2LX0WQAA7vn7ugDAtSIxcbRCQqZxAAUAFkhOHnTNtIBdS58FKPqCZBi%2BLoMVgiQZ//tZrokPVCzY7fZ8L4OADViEAygg/4KD55onqlifgOKPdRqFyTD8FBjYxNfFsIzdbldw8N%2BS8h/64B27vaySksrkaxkEbKAI48AEJY3jpRb85oHij3Uahclutys19aCkFF8XxSIZktJ9XYgSJEiG0VqGEZqvlmwCNlCEcWCC/8/evcfJWdf3Av/MbnazSWAhgYCEW7kcLkFuvkChBQJRpNTbkYt6RLQQA3I5goG%2BChR6EFvQCkHkJmiQq9QDAnoUqLXaAAWLLR4sOYABNFwqAUIgJJtN3M2cPzBpAoHs7D4zz8zu%2B/168SKZZ/aZ734z88zz%2Bf2ey0jjVAsYXnymaaxqkkWpVnvLLoQWVNSpBQI2NDE7Jow0TrWA4cVnGhhpXEUcmphbXTCSufUdANBqBGxalp1vGN7c%2Bg4AaDUCNi3LzjcMb%2B4dDAC0GgGblmXnG4Y3p0gAAK1GwKZl2fkGyuIUFQBgbQRsAEaErq5Z6e7eOck3hrwup6hQFoM7AM1NwAZgRFgZipMvD3ldRZyiIiiNXEP5t2%2BGwR3vXYC3JmADA2KHila3MhQnZwx5XUWcotIMQYlyDOXfvhmuP%2BK9C/DWBGxgQFpxh6pVBwVate5m19s7LYsWPZrkc2WXkqQ5ghLlGMq/fTNcf8R7F%2BCtCdjAgLTiDlUrDgokrVs3tak1KBl4GT6aISQPRavXD1BPAjYwIK24Q9WKgwJJ69ZNfRl4AYDmJ2ADw1YrDgokrVs39VXUwIuZcACoHwEbaDg7%2BFC7ogZezIQDQP2UHrDnzZuXv/7rv85HPvKRTJ48OR/84Aff9vmPPPJIdt555%2By5554NqhAomh18KI9TEACgfkoP2HPnzs3s2bOz9dZbZ7vttnvb51ar1XzpS1/KhAkTGlTd8GcmkTLYwYfyOAUBAOqn9IA9derUzJ49O1//%2Btezyy67vO1zv/e972XhwoU5/PDDG1Td8GcmkTLYwWckMqAJQ%2BdzBDS70gN2W9vASli0aFEuuuiinHnmmeno6KhzVSOHmUSAxhjMgKYwAWsyMQA0u9ID9kB97Wtfyy677JKDDjqo7FKGFTOJAI0xmAFNYQLWZGIAaHajyi5gIB599NHceuutuf322wtfd3t7y4wxDCsr%2B67/jaf35dL/cpXZ/76%2B6Vm0aHqSZNQAv317e09LV9dF6e09LaNGtfZ7xnu/XIPpf2fnt1a9/5Yv/2y9SqvJYD5HZfPeb6RKKpXX/4PaVdLWVsmoUZVUq4N/DzX9pqlarea8887LJz/5yXVeBG0wurvHFL5OBk7/B%2BsbSb6c5IwknxvUGvS%2BXPo/GEN/36/UOv0/JckpGTcuGTeu7FqK0Tq9H55q6//FSZ7JuHEXZ9y4U%2BpV0ojhvV9/1Wp/xo3rTFItuxRaUmeSzowZM7Qv3KYP2HfeeWeefPLJXHjhhVm0aFGSZNmyZUlePy979OjRGT169KDXv2jR0vT3ryikVgauvb0t3d1j9H%2BQurvPT3v7M%2BnvPz%2BLFh1d08/qfbn0f/CG8r5fSf/LU0bvm2EGthlqSAbX/87OL/yh9i9k%2BfIlda5w%2BLLdebN6fC66u8ekUkl6epYnWVbIOhlpKmlrW55ly5akupYxmvHjBxa8mz5gP/XUU3n11VczderUNy3be%2B%2B9M3369Jx%2B%2BumDXn9//4r09Q3/jV1X16yMHTszPT0zmup865HS/6L19MxY9e852P7pfbn0v3Zre98Pdtum/%2BVpZO%2B7uy9Ke/sz6eq6KD09xzbkNZuxhtXV0v%2B%2BvmNXq9nnZahsd/5L/T4X1VSrr/8HtapUqlmxopq%2BvqG9h5o%2BYH/0ox/Nu9/97jUeu/3223PnnXfmm9/8ZiZNmlRSZa1l9QvlNFPAZnB6e6f5d2ywZh2kGknW9r5vxLbNv33rWn1QZiTXAM2mvp%2BL0XEKNoMz%2BKOiV1d6wF66dGlmz56dJHnuueeyePHi3H333UmSd7/73dliiy2yxRZbrPEzDz74YNrb2/Oe97yn4fW2Kl/wMDQGqZpTI7Zt/u1bVzMMRjZDDVC2Nw5U1utzUam0pbNz18LXS2NUq6PT11fu7Zir1e4hHwFResBesGBBTjllzQtnrPz79ddfL0QXxBc8DI1BqubUiG2bf3uGK0dn0CiNGqisVqtZvvzXcQ52KxqdSmWv9Pa%2BY63nPzdKEacXVKoj/CSFhQuXOB%2BmBKNGtWX8%2BHH6XwK9L5f%2Bl2uo/RdIBs97v1xr6/%2BECbv84cKBW%2Bbll%2BeUXOHw5b3fmG3nhAnjUqn0pafn2lSrvXV5DeqnUulKpXJgli6d1LTn0E%2BcuP6AnueGfAAwQKvPwkCr6%2BmZkf7%2BLR2dQd319k7Lyy/PMTDJiCBgA8AACSQ0WlfXrEyYsEu6umYVvm6hB6B4AjYADVPPsNAIAgmNVu%2BjJlr9MwnQbARsABrGIdZQm3ofNeEzCVAsARuAQat19mukHmJtlpDBqvdREyP1MwlQLwI2AINW6%2BzXSD3E2iwhzaq3d9qqW9EZAAIYOgEbgEEz%2BzUw%2BkQzMwC0do48AQZDwIYW4wufZjJSZ6RrpU8MRb23%2BwaA1s7AAzAYAja0GF/4w59BFGB19d7uGwBaOwMPwGAI2NBifOEPfwZRgNXZ7pfDwAMwGKPKLgCoTW/vNF/2w9zKCw7ZmQYS232AViJgAzQZO9MAAK3JIeIAAABQAAEbgBHPheUAgCII2ACMeC4sN3IZXAGgSAI2ACOeqzSPXAZXACiSgA0wAGa5hje34xm5DK4AUCQBG1qMoFcOs1wwPBlcoRkNt%2B/64fb7wNsRsKHFCHrlMMsFjdfInXIBgGYy3L7rh9vvA29HwIYWI%2BiVwywXNF4jd8oFAJrJcPuuH26/D7ydUWUXANSmt3eakAeMCD09MzJ27MyG7JQ38rVgXYbbd/1w%2B33g7ZjBBoAGczjywDTyyBFHqQBQBAEbABrM4chAszHwB8VwiDgAg9LVNWvVIbVm/WrjcGSg2aw%2B8Nfa2/TRqVTKroHajU5S%2BcO/XfH/gNVqtfB1vhUBG4BBGT47Y43nfESg2QyHgb9KpS2dnbuWXQaDVK1W09X1uyTFh%2BFqtTtLl44rfL1rI2CXxMwP0OqGw84YAK8bDgN/1Wo1y5f/OsmyskthUPqT9NVhvaNTqeybSmW9hsxkC9glMfMDtLpW3Bnr7PxWkovT2fmF9PUdW3Y5ABSgq2tW2toOS7X6jiSLUq32ll0STaTRpwy4yFlJ3A8QoLFeP3LotCTz0tV1UdnlADAIa7sY29ixM1Op1GPmE2onYJfE7UBoJFcGhZU7YP1J2tPbe1rZ5QCwDm8Vpt94F4aenhmpVh2YS3MQsGEEcEsg%2BK8jh5LLsnz5Z8suB4B1eKsw/cajQHt7p2XFii3KKBHeRMCGEcApCa3L0QfF6e2dlkWLHk3yubJLAWAA3ipMOwqUZiZgwwjgy6h1vXH0XuAGYKSw/0IrErChiQhPvNEbR%2B8d7g8A0LwEbGgiwhNv9MbRe4f7AwA0LwEbmojwxLo4XA4AoHkJ2DAI9TqUW3gCAIDWJWDDIDiUG0Ym10mgUbzXAFqTgA01WLnD8/vfv8eh3DACGVyjUbzXAFqTgA01WLnD09Hxrw7lhhHIdRJoFO81gNYkYEMN7PDAyOY6CTTKcHyvOewdGAkEbKjBcNzhAYBGcNh7eQxuQOMI2AwrvkAAmsNI3x6P9N9/bRwFVh6DG9A4AjbDSrN8gdixAka6Ztkel2Wk//5r4yiw8hjcgMYRsBlW3uoLpNGB144VMNKN9B36kf7701wMbkDjCNg0XFfXrHR375zkG4Wv%2B62%2BQBodeO1YASPdSN%2BhH%2Bm/P8BIJWDTcCvDbvLlhr1mowOvHSsYnOF4esVw/J0AgLUTsGm4lWE3OaNhrynwQmsYjqdXDMffCQBYOwGbhuvtnZZFix5N8rmySwGazHA8vWI4/k4AwNoJ2EDTcCjt60ZyH4bj0SbD8XcCANZOwAaahkNpX6cPMHAjeUAKgOYzquwCgObQ1TUrY8fOTE/PjNJm2np6ZqyqoVlqKsMb%2BwD11Oqfs9UHpFqxfqBoo1OplF0DzWV0Q19NwAaSNMdOam/vtDVeuxlqKsMb%2BwD11OqfMwNSwEqVSls6O3ctuwwKVK2OTl9fRwHr6U61Wi2gonUTsBlRWn2mpp6acSe1GWuC4abVP2cGpGgl9kPqq1qtZvnyXydZVnYpFGJ0KpW90tv7jgw1GzcqXCcCNiNMq8/U1FMz7qQ2Y00w3LT650xgoZXYD6m3apJFqVZ7yy6EAlQqXUlWpFptbEAeKhc5oyUN9qI2zXa7HBfnARiaoV4U0HaYRmq2/RCgeAI2LWmwO1TNdrscV4uG1wk5DNZQA4vtMI3UbPshQPEEbFrScBkBHi6/BwyVkMNgDTWw2A4DUCQBm5Y0XEaAh8vvAUMl5AxcUbP9jhp4ne0wAEUSsKFgdloZjur9vhZyBq6o2X5HDQBA8QRsKFir77QaIGBtWv19PZwUNdvvqAEAKJ6ADQVr9Z1WQYq1afX39XBS1Gy/owYAoHgCdpMyi9i6Wn2nVZBibVr9fQ0A0AgCdpMyi0hZBCkAABgcAbtJmUUEAJqVI%2B0A1k7AblJmEQGAZuVIO4C1E7ABAKiJI%2B0YDEc%2BMBII2MA6tcIXYivUCDBcONKOwXDkAyOBgM2IJZANXCt8IbZCjQAwkjnygZFAwGbEEsgGrhW%2BEFuhRgAYyRz5wEgwquwCoCw9PTMyduxMgWwAenunNf2XYSvUCADA8GYGmxHLKCqMHCtPCens/FbZpQAAw5iADbAa5%2BYPTytPCenquqjsUgCAYUzABljNSD43fzgPLqw8R7%2B397SySwEAhjEBG2A1I/liacN5cGHlKSHLl3%2B27FIAgGFMwAZYzUg%2BN38kDy4AABSh9KuIz5s3L7NmzcrDDz%2BcuXPnZtttt80Pf/jDVcv7%2B/tzzTXXZPbs2XniiSfS39%2BfHXbYISeffHL23XffEisHGF5cib0YXV2zVt2hQD8BYGQpfQZ77ty5mT17drbeeutst912b1re29ubq666KjvttFMuuOCCzJw5M5tuummOOeaY/OxnPyuhYhjemuk83GaqBQZqOB9qDwC8vdJnsKdOnZr3ve99SZIzzjgjjzzyyBrLu7q68k//9E/ZYIMNVj2233775be//W2uueaaHHTQQQ2tFwailWewVg8HZdfeTLXAQPX0zFj1%2BQeg0UanUim7BooxuuwCBqX0gN3W9vaT6O3t7WuE6ySpVCrZaaed8u///u/1LA0GrZWDYTOFg2aqBQbKofYA5ahU2tLZuWvZZTSdanV0%2Bvo6yi5jUKrV7lSr1bLLqEnpAXswVqxYkV/%2B8pdrPaQcmkErB8NmCgfNVMtgtPKRDADQaqrVapYv/3WSZWWX0kRGp1LZK72970iL5dQkablwnbRowL7hhhvym9/8Juedd96Q19XeXvpp6CPSyr4P1/739U3PokXTkySjmuxTNtx7PxCdnd9KV9dF6e09ra63bVr9SIa%2BvtffD/pfLv0vj96XS//Lo/eNVam8lqS37DKaSFfa2qppb6%2B0ZMBOWu94/ybb9V%2B3Bx98MF/96ldz7LHHZu%2B99x7y%2Brq7xxRQFYOl/%2BUZ2b2/OMkzGTfu4owbd0odX%2BesJF9Oe/sZGT9%2B3BpLRnb/y6f/5dH7cul/efS%2B/qrV/owb15mkJZNknXQm6cyYMePW%2BUyK0VIB%2B7HHHsuJJ56Y973vffmLv/iLQta5aNHS9PevKGRdDFx7e1u6u8fofwn0Puns/MIfZrC/kOXLl9TxlY7%2Bw39J8vrr6H%2B59L88zdT7Rh3F0kyaqf8jjd43Rnf3mFQqSU/P8jhEfHWVtLUtz7JlS1p0Brt5vHGy5K20TMB%2B%2Bumn89nPfjaTJ0/O3/3d36VS0OUB%2B/tXpK/Pxq4srdz/Vj%2B/tpV7P1R9fcemp%2BfYP/ytnB6M5P43A/0vTzP0vrv7orS3P5OurotW2xaMDM3Q/5FK7xuhmmq12pLn7dZLpVLNihXV9PXpS6O0xMkgL774Yo499thsvPHGueKKK9LZ2Vl2SeBet1AS90dnqHp6ZqS/f8uWvBAlAM2t9BnspUuXZvbs2UmS5557LosXL87dd9%2BdJHn3u9%2BdsWPH5rOf/WwWLFiQM844I0888cQaP7/HHns0vGZIWvtK4dDKWvk2eDSHVr9DAQDNq/SAvWDBgpxyypoXGVr59%2Buvvz6bb755HnvssSTJSSed9Kaff/zxx%2BtfJKyFHTQoh8EtAKBZlR6wt9hii3WGZCEagJUMbgEAzaolzsEGAACAZidgAwDwtlxcEGBgBGwAAN6WO2cADIyADQDA23JrM4CBKf0iZwAANDcXFwQYGDPYQN05dw8AgJFAwAbqzrl7AAyGAVqg1QjYQN05dw%2BAwTBAC7QaARuou97eaXn55TlNff6eWRIGwvsEGssALdBqBGyAmCVhYLxPoLFaYYAWYHUCNkDMkoxktcxKe58AAG/HbboA4hY0I9nqs9Lreg94nwAAb8cMNgAjmllpAKAoZrABGNHMSgMARTGDDQAAAAUwgw111NU1K2PHzkxPzwwzZABr0cjtpG0yjASjU6mUXUMzGV12ASOOgA11VMvFkwBGokZuJ22TYXirVNrS2blr2WWsU7U6On19HQ18ve5Uq9WGvd5IJ2BDHfX0zFg1WwLAmzVyO2mbDMNbtVrN8uW/TrKs7FLexuhUKnult/cdaVTmFa4bS8CGOnLxJIC318jtpG0yDHfVJItSrfaWXchbqlS6kqxItSr4DlcucgYAAAAFELABAACgAAI2AOnqmpUJE3ZJV9essksBAGhZAjYAa1xdGQCAwRGwAUhPz4z092/p6soAAEMgYEMTcHguZevtnZaXX57jCssAAEMgYEMTcHguAFBvBvSh/gRsaAIOzwUA6s2APtSfgA1NwOG5AEC9GdCH%2BhtVdgEAAED99fZOM5gPdWYGGwBahPMnAaC5CdgA0CKcPwkAzU3ABoA6KnLW2fmTANDcBGwAqKMiZ51dEBEAmpuADQB1ZNYZAEYOARsA6sisM8CaXLCR4UzABgAAGsYFGxnOBGwAAKBhnDrDcCZgA7QAh9MBMFw4dYbhTMAGaAEOpwMAaH4CNkALKPtwOjPowLrYTgAI2AAtoezD6cygA%2BtiOwEgYAMwAGXPoAPNz3YCIBlVdgEANL/e3mkuRgO8LdsJmsPoVCpl1/B2RpddAHUmYAMAAC2vUmlLZ%2BeuazxWrY5OX19HSRWtXbXanWq1WnYZ1ImADQAAtLxqtZrly3%2BdZNkfHhmdSmWv9Pa%2BI82UZ4Xr4U3ABgAAhoFqkkWpVnuTJJVKV5IVqVaFWhrHRc4AAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANq%2BnqmpUJE3ZJV9essksBAABajIANqxk7dmba25/J2LEzyy4FAABoMQI2rKanZ0b6%2B7dMT8%2BMsksBAABazKiyC4Bm0ts7Lb2908ouAwAAaEFmsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAAXOQMAAIaJ0alU/uvPSeUPf1/1YKrVauPLYsQQsAEAgJZXqbSls3PXNR6rVqvp6vpdkupqj3Vn6dJxDa6OkULABgAAWl61Ws3y5b9Osmy1R/uT9K3299GpVPZNpbKemWzqwjnYwLDQ1TUrEybskq6uWWWXAgCUoppkUarVV1f7b3Gq1d5V/60ZvqF4AjYwLIwdOzPt7c9k7NiZZZcCAMAIJWADw0JPz4z092%2BZnp4ZZZcCAMAIVXrAnjdvXv76r/86H/nIRzJ58uR88IMfXOvzZs%2Benf/%2B3/97dt111xx88MG56aabGlwp0Mx6e6fl5ZfnpLd3WtmlAAAwQpUesOfOnZvZs2dn6623znbbbbfW5/zyl7/MiSeemMmTJ%2Beb3/xmPvrRj%2BZv/uZvcssttzS4WgAAAFi70q8iPnXq1Lzvfe9Lkpxxxhl55JFH3vScyy%2B/PJMnT87555%2BfJNlnn33yu9/9LpdcckkOP/zwtLWVPk4AAADACFd6Ml1XOF6%2BfHl%2B/vOf5wMf%2BMAaj3/oQx/Kiy%2B%2BmP/3//5fPcsDAACAASk9YK/L008/nd///vfZdttt13h8%2B%2B23T5I8%2BeSTZZQFAHXhlnMA0LpKP0R8XV599dUkSXd39xqPr/z7yuWD1d7e9GMMw9LKvut/4%2Bl9ufS/XK3Q/9VvOdfXN73scgrTCr0fzvS/PHrfSJVUKq//93bPaWurZNSoSqrVt3seDE7TB%2ByV3uqD8vYfoHXr7h4zpJ9naPS/PHpfLv0vV3P3/6wkX057%2BxkZP35c2cUUrrl7P/zpf3n0vv6q1f6MG9eZpPo2z%2BpM0pkxY4bf9pXm0PQBe4MNNkjy5pnqRYsWJXnzzHatFi1amv7%2BFUNaB7Vrb29Ld/cY/S%2BB3pdL/8vVGv0/%2Bg//JcmSMgspVGv0fvjS//LofWN0d49JpZL09CxPsuxtnllJW9vyLFu2JNW3y%2BHwBgMd9G76gL3VVlulo6MjTz31VA444IBVjz/xxBNJ8pa39hqo/v4V6euzsSuL/pdH78ul/%2BXS//Lofbn0vzx63wjVVKuv//dWKpVqVqyopq/v7Z8Hg9X0J4N0dnZmn332yV133bXG4z/84Q8zceLETJ48uaTKAAAA4L%2BUPoO9dOnSzJ49O0ny3HPPZfHixbn77ruTJO9%2B97szYcKEnHTSSfnUpz6Vs88%2BOx/60Ify0EMP5ZZbbsl5553nHtgAAAA0hdID9oIFC3LKKaes8djKv19//fV5z3vekz333DNXXHFFZs6cmTvuuCPveMc7cvbZZ%2BfII48so2QAAAB4k9ID9hZbbJHHH398nc%2BbMmVKpkyZ0oCKAAAAoHaOrwYAAIACCNgAAABQgJoD9k9%2B8hOXtAcAAIA3qDlgn3zyyXnve9%2Bbq6%2B%2BOgsXLqxHTQAAANByag7Y3/72tzN58uRccsklOfDAA3PmmWfmP/7jP%2BpRGwAAALSMmq8ivu%2B%2B%2B2bffffN888/n%2B985zu59dZbc8cdd%2BSbOooSAAAgAElEQVSd73xnPvWpT%2BXQQw9NZ2dnPWoFAACApjXoi5y94x3vyIwZM/LP//zPueCCC9LX15czzjgjBx54YL72ta9lwYIFRdYJAAAATW3IVxGfP39%2BHn/88Tz33HNpa2vLNttsk2uuuSYHH3xwZs%2BeXUSNAAAA0PRqPkR8pdmzZ%2Bemm27Kfffdl/XXXz8f%2B9jHctRRR2WzzTbLiy%2B%2BmLPOOivnn39%2BpkyZUmS9AAAAb2F0KpW3X55U/vCc15/oDkkUqeaAfc011%2BTmm2/Os88%2Bm%2B233z7nnntuPvzhD6erq2vVcyZOnJjp06fnM5/5TKHFAgAArE2l0pbOzl3X%2BbxqtZqurt8lqf7h791ZunRcnatjpKg5YF944YWZMmVKzjvvvOy7775v%2Bbytt946xx9//JCKAwAAGIhqtZrly3%2BdZNk6ntmfpO8Pfx6dSmXfVCrrmcmmEDUH7H/4h3/Illtuuc7nbbrppjn11FMHVRQAAEBtqkkWpVrtHfBPvP3h5FC7mi9y9r/%2B1//KU089tdZlv/3tb3PssccOuSgAAABoNTUH7Pvvvz%2BLFy9e67LFixfngQceGHJRAAAA0GqGfJuu1b300ktrXOwMAAAARooBnYP905/%2BND/72c9W/f2qq67KhAkT1nhOb29vfv7zn2ennXYqtkIAAABoAQMK2I8//ni%2B//3vJ0kqlUruueeeVN5wRYDOzs7ssMMOOfvss4uvEgAAAJrcgAL2CSeckBNOOCFJstNOO%2BWmm27KbrvtVtfCAAAAoJXUfJuuOXPmpL29vR61AAAAQMuq%2BSJnwjUAAAC82YBmsA855JBccskl2WmnnfL%2B97//Tedfv9E//MM/FFIcAAAAtIoBBezddtst48aNW/XndQVsAAAAGGkGFLC/%2BtWvrvrzhRdeWLdiAAAAoFXVfA42AACsS1fXrEyYsEu6umaVXQpAwwxoBnv%2B/Pk1rXTTTTcdVDEAADSPrq5ZGTt2Znp6ZqS3d1pNPzt27My0tz%2BTsWNn1vyzAK1qQAF7ypQpNZ13/eijjw66IAAAmsNQQnJPz4xV4RxgpBhQwP7Sl75U7zoAAGgyQwnJvb3TzFwDI86AAvaRRx5Z7zoAAGgyQjJAbVzkDAAAAAowoBnsN1qxYkXuu%2B%2B%2BPPXUU%2Bnt7V1jWaVSyfHHH19IcQAAANAqag7Yr7zySo4%2B%2BujMnTs3lUol1Wo1Sda4CJqADQAAwEhT8yHil1xySdra2vKP//iPqVarufnmm3PnnXfm6KOPzh/90R/lpz/9aT3qBAAAgKZWc8C%2B//77c8wxx2TSpElJko6Ojmy77bY566yzss8%2B%2B%2BTCCy8svEgAAABodjUH7Oeffz5bbLFF2tvb09bWlqVLl65aNnXq1Nx3332FFggAAACtoOaAveGGG2bx4sVJkokTJ2bu3Lmrlr322mvp7%2B8vrjoAAABoETVf5Gzy5Ml54okncuCBB%2BaAAw7IFVdckQ022CAdHR25%2BOKLs/vuu9ejTgCAptLVNStjx85MT88M94qGpjE6q117eUDPhyLVHLCPOuqozJs3L0ly6qmn5v/%2B3/%2Bb0047LUmy%2Beab56yzziq2QgCAJjR27My0tz%2BTsWNnCtjQFNpSqexb809Vq92r7owEQ1VzwN5vv/2y3377JUk22mijfP/7389jjz2WSqWS7bffPh0dHYUXCQDQbHp6ZqyawQbKV622ZenSSYP4OeGa4tQcsN%2Bora0tkydPLqIWAICW0ds7zcw1NBlhmbLVHLAfeuihdT7nXe9616CKAQAAgFZVc8D%2B5Cc/mco6rhzw6KOPDrogAAAAaEU1B%2Bxvf/vbb3ps4cKF%2Bad/%2Bqc8/PDDOfvsswspDAAAAFpJzQF7333XfmW%2BP/uzP8s555yTBx54IAceeOBQ6wIAAICW0lbkyt7//vfnhz/8YZGrBAAAgJZQaMB%2B7bXXsnz58iJXCQAAAC2h5kPE58%2Bf/6bHli9fnscffzwXXXRRdtttt0IKAwAAgFZSc8CeMmXKWq8iXq1Ws/XWW%2Becc84ppDAAAABoJTUH7C996Utvemz06NHZfPPNs8cee6S9vb2QwgAAAKCV1BywjzzyyHrUAQAAAC2t0IucAQAAwEhV8wz2scceO%2BDnViqVzJo1q9aXAAAAgJZTc8BeunRpnnnmmbz00kvZdNNNs/HGG%2Bell17K/Pnzs/HGG2errbaqR50AAADQ1GoO2CeddFL%2B6q/%2BKjfeeGP22muvVY//4he/yOmnn54TTjgh%2B%2B%2B/f6FFAgAAQLOr%2BRzsiy%2B%2BOCeffPIa4TpJ9t5775x44omZOXNmYcUBAABAq6g5YM%2BdOzeTJk1a67LNN988Tz755JCLAgAAgFZTc8DeaKON8uMf/3ity3784x9no402GnJRAAAA0GpqPgf7E5/4RC6%2B%2BOK89tpr%2BeAHP7jqImf/5//8n9x999059dRT61EnAAAANLWaA/bxxx%2Bfnp6efPvb385dd92VJKlWq%2Bno6Mj06dNz/PHHF14kAAAANLuaA3aSfOELX8gxxxyTX/7yl3nllVey4YYbZs8998yGG25YdH0AAADQEgYVsJNkww03zEEHHVRkLQAAANCyar7IGQAAAPBmAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBnSbrl122SWVSmXAK33kkUcGXRAAAAC0ogEF7M9%2B9rNrBOwf/OAHWbx4caZMmZKNN944L774Yu65556MGzcuH/nIR%2BpWLAAAADSrAQXsL3zhC6v%2BfO2112b8%2BPH5wQ9%2BkPXWW2/V46%2B99lo%2B85nPZIMNNii%2BSgAAAGhyNZ%2BDfdNNN%2BW4445bI1wnyfrrr5/jjjsuN954Y2HFAQAAQKuoOWA///zz6ejoWOuyjo6OvPDCC0MuCgAAAFpNzQF7m222ybXXXpu%2Bvr41Hv/973%2Bfa6%2B9Nttss01hxQEAAECrGNA52Ks79dRTc/LJJ%2Bfggw/OIYccko033jgvvfRSfvzjH2f%2B/Pn5%2Bte/Xo86AQAAoKnVHLCnTp2aq666KhdffHGuu%2B66VKvVVCqVTJ48Oeeee24OOOCAetQJAAAATa3mgJ0k%2B%2B%2B/f/bff/8sXrw4r776ajbYYIM3XfQMAAAARpJBBeyV1ltvPcEaAAAAMsiAvWLFitx333156qmn0tvbu8aySqWS448/vpDiVveTn/wkV111VZ588sl0dXXlXe96V2bMmJFtt9228NcCAACAWtUcsF955ZUcffTRmTt3biqVSqrVapLXg/VKRQfs%2B%2B%2B/PyeffHI%2B/OEP59RTT82iRYty2WWX5ZhjjsmPfvQjs%2BgAAACUruaAfckll6StrS3/%2BI//mIMPPjg333xzNthgg/z93/997r333lxzzTWFF/mjH/0okyZNyle%2B8pVVQX7zzTfPkUcemX//93/PlClTCn9NAAAAqEXN98G%2B//77c8wxx2TSpElJko6Ojmy77bY566yzss8%2B%2B%2BTCCy8svMi%2Bvr6MGzdujVny9ddfv/DXAQAAgMGqOWA///zz2WKLLdLe3p62trYsXbp01bKpU6fmvvvuK7TAJDniiCPy1FNP5YYbbsiiRYvy7LPP5itf%2BUq222677LvvvoW/HgAAANSq5kPEN9xwwyxevDhJMnHixMydOzd77713kuS1115Lf39/sRUm2XvvvXPZZZfltNNOy9/8zd8kSbbffvtcc8016ezsHNK629trHmOgACv7rv%2BNp/fl0v9y6X959L5c%2Bl8evW%2BsUaP0mXLVHLAnT56cJ554IgceeGAOOOCAXHHFFdlggw3S0dGRiy%2B%2BOLvvvnvhRT700EP5i7/4ixx%2B%2BOGZOnVqFi9enG984xuZPn16br755iFd5Ky7e0yBlVIr/S%2BP3pdL/8ul/%2BXR%2B3Lpf3n0vv6q1WrGjx9XdhmMcJXqysuAD9B9992XefPm5aijjsqCBQvy53/%2B55k7d26S1y88dvXVV2e77bYrtMjDDjsskyZNymWXXbbqsZdffjkHHHBATjvttBxzzDGDXveiRUvT37%2BiiDKpQXt7W7q7x%2Bh/CfS%2BXPpfLv0vj96XS//Lo/eNsXIAY9Gipet4JgzOQAdvap7B3m%2B//bLffvslSTbaaKN8//vfz2OPPZZKpZLtt98%2BHR0dta5ynZ588slMnTp1jccmTJiQTTbZJE8//fSQ1t3fvyJ9fTZ2ZdH/8uh9ufS/XPpfHr0vl/6XR%2B8bQ48pW80B%2B43a2toyefLkImp5S5MmTcqcOXPWeOzFF1/MCy%2B8kM0337yurw0AAAADMairACxcuDBf%2B9rX8slPfjKHHnponnjiiSTJLbfckscee6zQApPkqKOOyk9/%2BtOcd955%2BZd/%2BZfcddddmT59esaOHZsPf/jDhb8eAAAA1KrmGexnn302n/zkJ/PKK69khx12yG9/%2B9ssW7YsSTJnzpw89NBDueCCCwot8qijjkpHR0e%2B853v5Pbbb8/YsWOz66675itf%2BUo22WSTQl8LAAAABqPmgP3Vr34148aNy3e/%2B91MnDgx73znO1ct22uvvXLppZcWWmCSVCqVfPzjH8/HP/7xwtcNAAAARaj5EPEHHnggJ598cjbbbLNUKpU1lk2cODEvvPBCYcUBAABAq6g5YPf29mbDDTd8y2UAAAAwEtUcsLfZZpv8/Oc/X%2BuyX/ziF9lhhx2GXBQAAAC0mpoD9pFHHplrr702N910UxYvXpwk6e/vz09%2B8pN85zvfyZFHHll4kQAAANDsar7I2ac%2B9anMmTMnX/rSl3L%2B%2BecnSf7H//gfWbFiRQ477LAcccQRhRcJAAAAza7mgJ0kF1xwQQ4//PDMnj07L730UsaPH5%2BDDjooe%2B%2B9d9H1AQAAQEuoKWAvW7Ys3/jGN/K%2B970ve%2B21V/baa6961QUAAAAtpaZzsEePHp1Zs2alp6enXvUAAABAS6r5ImfbbrttnnvuuXrUAgAAAC2r5oD9uc99LldeeWWeffbZetQDAAAALanmi5z98Ic/TE9PTw499NDsvPPOmThxYiqVyqrllUoll156aaFFAgAAQLOrOWD/6le/SltbWyZMmJD58%2Bdn/vz5ayxfPWwDAADASFFzwL7nnnvqUQcAAAC0tJrPwQYAAADeTMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAoQM236Vpp3rx5efDBB7Nw4cIcdthh2XjjjbNgwYKsv/766ezsLLJGAAAAaHo1B%2BwVK1bk3HPPza233poVK1akUqnkT/7kT7LxxhvnzDPPzDvf%2Bc58/vOfr0etAAAA0LRqPkT8qquuyu23354vfOELueOOO1KtVlctmzJlSu69995CCwQAAIBWUPMM9m233ZYTTjgh06dPT39//xrLtthiizzzzDOFFQcAAACtouYZ7N/97nd517vetdZlXV1dWbJkyZCLAgAAgFZTc8CeMGFCnn322bUu%2B81vfpNNN910yEUBAABAq6k5YB9wwAG56qqr8sILL6x6rFKpZPHixbnxxhtz0EEHFVogAAAAtIKaz8H%2B/Oc/nyOOOCIf%2BMAHsu%2B%2B%2B6ZSqeTrX/96Hn/88VQqlZxwwgn1qBMAAACaWs0z2JtsskluvfXWvP/9789DDz2UJHn44Yezzz775Oabb86ECRMKLxIAAACaXc0z2MnrIftv//Zvi64FAAAAWlbNM9gAAADAm9U8g33OOee85bJKpZLu7u7suuuumTp1ajo6OoZUHAAAALSKmgP2PffckyVLlmTx4sVpa2tLd3d3Fi1alBUrVmS99dbLihUr0tPTk%2B233z7XXXddNtpoo3rUDQAAAE2l5kPEr7rqqnR3d%2Bfv/u7v8vDDD%2BfnP/95Hn744XzlK1/J%2Buuvn%2Buuuy433HBDXn755cycObMeNQMAAEDTqXkG%2B/zzz89nPvOZfPjDH171WEdHRz7ykY9k4cKF%2BfKXv5ybbrop06dPzzXXXFNosQAAANCsap7B/tWvfpUddthhrct22GGHzJkzJ0my8847Z%2BHChUOrDgAAAFpEzQF73LhxefDBB9e67MEHH8y4ceOSJMuWLVv1ZwAAABjuaj5E/AMf%2BEC%2B%2Bc1vplKp5E//9E%2Bz8cYb56WXXsqdd96Zb33rWznqqKOSJHPmzMm2225beMEAAADQjGoO2Keffnrmz5%2BfK664IldeeeWqx6vVav70T/80p512WpJkt912y7777ltcpQAAANDEag7YnZ2dueSSS/L444/nF7/4RV555ZVsuOGG2XvvvbPjjjuuet5%2B%2B%2B1XaKEAAADQzGoO2CvtuOOOawRqAAAAGMkGHbCT5NVXX01vb%2B%2BbHt90002HsloAAABoOYMK2FdffXWuv/76LFiwYK3LH3300SEVBQAAAK2m5tt03X777bniiivy8Y9/PNVqNdOnT8%2B0adOyySabZOutt84Xv/jFetQJAAAATa3mgH3DDTfk%2BOOPz4knnpgkOeSQQ3L66afn7rvvztixY7N48eLCiwQAAIBmV3PAnjdvXvbYY4%2B0tb3%2Bo319fUmSMWPGZNq0afn7v//7YisEAACAFlBzwB416vXTtiuVStZbb708//zzq5ZNmDAh8%2BfPL646AAAAaBE1B%2BytttpqVYh%2B5zvfmVtuuSX9/f1ZsWJFbrnllkyaNKnwIgEAAKDZ1Ryw99tvv/zrv/5rkuS4447LAw88kL322iv77LNP7rrrrkybNq3wIgEAAKDZ1XybrlNOOWXVn//4j/84N954Y370ox%2BlUqnkwAMPzJ/8yZ8UWiAAAAC0gpoC9vLly/ODH/wge%2B65Z7bbbrskyZ577pk999yzLsUBAABAq6jpEPHOzs6ce%2B65WbBgQb3qAQAAgJZU8znYW265ZV566aV61AIAAAAtq%2BaAffTRR%2Bdb3/pWlixZUo96AAAAoCXVfJGzefPmZcGCBZk6dWr%2B%2BI//OBMnTkylUlm1vFKp5Iwzzii0SAAAAGh2NQfs6667btWf77rrrjctF7ABAAAYiWoO2HPmzKlHHQAAANDSag7Y7e3t9agDAAAAWlrNAXulBx54IP/6r/%2BahQsX5nOf%2B1w222yzzJkzJ5MmTcr48eOLrBEAAACaXs0Bu7e3NyeddFLuv//%2BVKvVVCqVfOxjH8tmm22Wq6%2B%2BOpMmTcpf/uVf1qNWAAAAaFo136bra1/7Wh5%2B%2BOHMnDkzv/jFL1KtVlct22%2B//fLAAw8UWiAAAAC0gppnsO%2B66658/vOfz6GHHpr%2B/v41lm222Wb5z//8z8KKAwAAgFZR8wz2ggULssMOO6x1WXt7e3p7e4dcFAAAALSamgP2pptumieeeGKtyx5//PFsscUWQy4KAAAAWk3NAfvggw/OlVdemccee2zVY5VKJb/73e9y/fXX55BDDim0QAAAAGgFNZ%2BDffLJJ%2Bdf/uVfcsQRR2THHXdMpVLJ2WefnXnz5mWrrbbKcccdV486AQAAoKnVPIO93nrr5bvf/W5OPPHEjBo1KpMmTUpbW1uOOeaY3HjjjRkzZkw96gQAAICmVvMMdpKMHTs2J554Yk488cSi6wEAAICWVPMM9oUXXpinnnqqHrUAAABAy6o5YF933XX5wAc%2BkE984hO55ZZbsnjx4nrUBQAAAC2l5oB977335qyzzsry5ctzzjnnZP/9989f/uVf5sEHH6xHfQAAANASag7YG264YY4%2B%2Bujcdttt%2Bf73v5%2BPfexjue%2B%2B%2B/LpT386733ve3P55ZfXo04AAABoajUH7NXtuOOOOfPMM3PPPffk0ksvTX9/fy677LKiagMAAICWMairiK/umWeeyW233ZY77rgjzz//fDbZZJMi6gIAAICWMqiAvXTp0tx999257bbb8m//9m8ZNWpUDjrooJx77rnZf//9i64RAAAAml7NAfuss87K3XffnZ6enuy8884566yz8qEPfSgbbrhhPeoDAACAllBzwP7pT3%2Baww47LIcffnh23nnnetT0lm655ZbccMMN%2Bc1vfpP11lsvu%2B%2B%2Be77xjW80tAYAAABYm5oD9r333puOjo63XP7yyy9nwoQJQypqbS699NJce%2B21%2BdznPpfdd989r776au69997CXwcAAAAGo%2BaAvbZwXa1Wc8899%2BTWW2/Nz372szzyyCOFFLfSk08%2BmSuvvDJXX3119ttvv1WPH3zwwYW%2BDgAAAAzWkK4i/vTTT%2Bd73/tebr/99rz44ovp6OjIIYccUlRtq9x2223Zcsst1wjXAAAA0ExqDtjLli3LXXfdle9973v5t3/7t1Sr1VQqlfz5n/95jjvuuIwfP77wIh9%2B%2BOHssMMOufzyy3PjjTfmtddeyx577JG/%2Bqu/avh54AAAALA2Aw7Yv/rVr3LrrbfmzjvvzJIlSzJmzJh89KMfzSGHHJLjjz8%2BU6dOrUu4TpIXX3wxc%2BbMydy5c/PFL34xHR0dueyyy3LMMcfkxz/%2Bcbq7uwe97vb2tgIrZaBW9l3/G0/vy6X/5dL/8uh9ufS/PHrfWKNG6TPlGlDA/tCHPpQnnngiSbLHHnvk8MMPz5/92Z9l7Nixee211%2BpaYPL6Od49PT259NJL89/%2B239Lkuyyyy5573vfm%2B9%2B97uZPn36oNfd3T2mqDIZBP0vj96XS//Lpf/l0fty6X959L7%2BqtVqxo8fV3YZjHADCthz585NpVLJlClTcvrpp2f77bevd11r2GCDDbLxxhuvCtdJsskmm2TbbbddFfwHa9GipenvXzHUEqlRe3tburvH6H8J9L5c%2Bl8u/S%2BP3pdL/8uj942xcgBj0aKekithuBro4M2AAvZZZ52V2267Lf/8z/%2Bc2bNnZ7fddssRRxyRQw89dEhFDtR2222X//zP/3zT49VqNW1tQzsMpL9/Rfr6bOzKov/l0fty6X%2B59L88el8u/S%2BP3jeGHlO2AaXTT3/607njjjtyyy235GMf%2B1ieeuqpnHPOOdl///1zzjnnpFKppFKp1K3IAw88MC%2B99FJ%2B/etfr3ps/vz5eeqpp7LjjjvW7XUBAABgoCrVarVa6w%2Bt7UriW2%2B9dT7%2B8Y/nox/9aOEXO%2Bvv78%2BRRx6ZJUuW5JRTTklnZ2cuv/zyLFiwIHfffXfGjh076HUvXLjESFcJRo1qy/jx4/S/BHpfLv0vl/6XR%2B/Lpf/l0fvGmDDh9cN3X355ScmVMFxNnLj%2BgJ43qIC9uqeffjq33npr7rjjjrzwwgsZPXp0Hn744aGscq0WLFiQ888/P7Nnz05fX1/23nvvnHnmmdl2222HtF4bu3L4simP3pdL/8ul/%2BXR%2B3Lpf3n0vjEEbOptoAG75vtgv9FWW22VGTNm5NRTT83s2bPzve99b6irXKuNNtooF110UV3WDQAAAEM15IC9UltbWw466KAcdNBBRa0SAAAAWoY7sQMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABWjJgL1kyZIccMAB2XHHHfMf//EfZZcDAAAArRmwr7jiivT395ddBgAAAKzScgH7ySefzHe%2B8538z//5P8suBQAAAFZpuYD9t3/7t/nEJz6RbbbZpuxSAAAAYJWWCth33313HnvssZx00klllwIAAABrGFV2AQO1dOnSfPnLX86MGTOy3nrrFbbe9vaWGmMYNlb2Xf8bT%2B/Lpf/l0v/y6H259L88et9Yo0bpM%2BVqmYB95ZVXZqONNsphhx1W6Hq7u8cUuj5qo//l0fty6X%2B59L88el8u/S%2BP3tdftVrN%2BPHjyi6DEa4lAvZzzz2Xa665JpdffnkWL16cJOnp6Vn1/yVLlmTcuMF9mBYtWpr%2B/hWF1crAtLe3pbt7jP6XQO/Lpf/l0v/y6H259L88et8YKwcwFi3qKbkShquBDt60RMB%2B9tln8/vf/z7HHXfcm5Z9%2BtOfzu67757//b//96DW3d%2B/In19NnZl0f/y6H259L9c%2Bl8evS%2BX/pdH7xtDjylbSwTsnXfeOddff/0ajz366KO54IIL8sUvfjG77rprSZUBAADA61oiYHd3d%2Bc973nPWpftsssu2WWXXRpcEQAAAKzJZfYAAACgAC0xg70273nPe/L444%2BXXQYAAAAkMYMNAAAAhRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgJlCOvIAABxRSURBVAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAb%2Bf3v3HhV1nf9x/DWMIt4Q7y6mmRhsJF4qjpAoiRlqlF20tc3LKmGhpT9Ls46XyoOZqeWl9VKyHi1sPZa5idLVRGvVOqIn03U3WdcLaYmGoMlwm98fHsbGQbl95NvI83GOJ%2BYzH77znvd8%2BE6vme93BgAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwoI7VBVREWlqaNm7cqP379%2Bvs2bNq166dHn30UQ0dOlQ%2BPrxGAAAAAACwnlcE7JUrVyowMFDPPfecmjdvrl27dmnWrFk6duyYpkyZYnV5AAAAAAB4R8BetmyZmjVr5rocERGhX3/9VSkpKZo4caJ8fX0trA4AAAAAAC85B/u34brULbfcIofDoZycHAsqAgAAAADAnVcE7LLs3r1bAQEBat68udWlAAAAAADgHYeIX27fvn1av369xo0bJ7vdXq1t2e1e%2BxqDVyvtO/2vefTeWvTfWvTfOvTeWvTfOvS%2BZtWpQ59hLZvT6XRaXURlnDp1So888ohat26td955R3Xr1rW6JAAAAAAWczqdstlsVpeBWs6rAnZeXp6GDx8uh8OhNWvWqGnTptXeZm7uBRUXlxioDpVht/vI378%2B/bcAvbcW/bcW/bcOvbcW/bcOva8Z/v71JV38f3vgWmjatGGF5nnNIeIOh0OJiYnKzs7W2rVrjYRrSSouLlFRETs7q9B/69B7a9F/a9F/69B7a9F/69D7mkGPYTWvCNhFRUWaMGGCDh48qHfffVdt27a1uiQAAAAAANx4RcCeOXOmvvzyS02ePFn5%2Bfnau3ev67pOnTqpUaNGFlYHAAAAAICXBOyvvvpKkjR37lyP61avXq0ePXrUdEkAAAAAALjxioC9ZcsWq0sAAAAAAOCq%2BKI4AAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwgIANAAAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwgIANAAAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwgIANAAAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAO8JmAfPnxY8fHx6tatmyIjI5WUlKT8/HyrywIAAAAAQJJUx%2BoCKiI3N1cjR45UYGCgFi1apDNnzmj27NnKycnRvHnzrC4PAAAAAADvCNh///vflZubqw0bNqhZs2aSJLvdrkmTJikxMVFBQUEWVwgAAAAAqO284hDxbdu2KTIy0hWuJSk2Nla%2Bvr5KT0%2B3sDIAAAAAAC7yioCdmZnp8S61r6%2Bv2rdvr8zMTIuqAgAAAADgEq84RDw3N1f%2B/v4e4/7%2B/jp79my1tt2kSX05ndXaBKrAZrv4X/pf8%2Bi9tei/tei/dei9tei/deh9zfDxsamkxKk6dbzi/UNcx7wiYF%2BJ0%2BmUrXSvVUU%2BPvwRWon%2BW4feW4v%2BW4v%2BW4feW4v%2BW4feX3t2u01Nmza0ugzUcl7xl%2B7v76/c3FyP8by8vDLf2QYAAAAAoKZ5RcAOCgryONe6oKBAR48e5RPEAQAAAAC/C14RsHv37q2dO3fql19%2BcY199tlnKigoUHR0tIWVAQAAAABwkc3p/P1/3EJubq7i4uLUtm1bjR07VqdPn9arr76qqKgozZs3z%2BryAAAAAADwjoAtSYcPH1ZSUpJ2794tPz8/xcXFadKkSfLz87O6NAAAAAAAvCdgAwAAAADwe%2BYV52ADAAAAAPB7R8AGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMqHUB%2B/Dhw4qPj1e3bt0UGRmppKQk5efnW12WV0tLS9PYsWMVHR2tbt266b777tOaNWtUUlLimvP8888rJCTE49%2B2bds8tpecnKyYmBiFhYXp4Ycf1q5du2ry7nid9evXl9nbefPmuc1LT0/XAw88oLCwMPXr108pKSllbo/%2BV87w4cPL7H9ISIg2bdokifVvypEjRzRjxgwNGjRIoaGhiouLK3OeybV%2B7tw5zZgxQz169FD37t315JNPKisry%2Bj98gbl9b64uFhvv/22hg0bpoiICIWHh%2Buxxx7Tjh07PLYVExNT5t%2BDw%2BFwm0fvL6nI2je9n6H/l1Sk/1d6HggJCdHPP//smsf6B65/dawuoCbl5uZq5MiRCgwM1KJFi3TmzBnNnj1bOTk5HmEEFbdy5UoFBgbqueeeU/PmzbVr1y7NmjVLx44d05QpU1zz2rVr59HnoKAgt8vJycl64403NHHiRIWGhmrdunVKSEjQunXrFBISUiP3x1utWLFCjRs3dl1u3bq16%2Bc9e/Zo7NixGjRokJ5//nllZGQoKSlJvr6%2BGjJkiGse/a%2B8F198UefOnXMbW7VqlT799FNFRka6xlj/1ffDDz8oPT1dXbt2VUlJiZxOp8cc02v92Wef1f79%2BzV9%2BnQ1atRIixYt0qhRo/TRRx/Jz8%2BvRu7370F5vc/Pz9fy5cv1wAMPKD4%2BXnXq1NGHH36oUaNGaenSperTp4/b/NjYWI0ePdptzNfX1%2B0yvb%2BkImtfMrufof%2BXVKT/a9eu9RibMmWK6tevr1atWrmNs/6B65yzFlm%2BfLmza9euztOnT7vGPvroI2dwcLDz0KFDFlbm3X7bz1KvvPKKMywszOlwOJxOp9M5ZcoU57333nvV7TgcDuftt9/unDNnjmusqKjIOWDAAOf//d//mS36OvLBBx84g4ODy3wcSsXHxzsHDx7sNjZt2jRnz549ncXFxU6nk/6bFBMT40xISHBdZv2bUbpWnc4r99TkWt%2B7d68zODjYuXXrVtdYVlaWMzQ01LlmzRpj98sblNf7oqIiZ05OjttYSUmJ88EHH3QOGzbMbbxPnz7Ol19%2B%2Baq3R%2B/dVWTtm9zP0H93Fen/5Y4dO%2BYMDg52vv32227jrH/g%2BlerDhHftm2bIiMj1axZM9dYbGysfH19lZ6ebmFl3u23/Sx1yy23yOFwKCcnp8LbycjIUF5entuhV3a7XQMHDlR6evoVX7HH1RUUFGjnzp2699573cbvu%2B8%2BnTp1SgcOHJBE/03JyMjQ8ePHdd9991X69%2Bj/1fn4XP0py/RaT09Pl7%2B/v3r37u2aFxgYqNtuu63WPWeU13u73a4mTZq4jdlsNv3xj390Ozy2oui9u/L6X1Gs/aqpSv9TU1Nls9mueCrL1dB/wLvVqoCdmZnpcaiUr6%2Bv2rdvr8zMTIuquj7t3r1bAQEBat68uWvs6NGjuuOOO9S5c2c99NBD%2Bvzzz91%2Bp/Qx6Nixo9t4UFCQzp8/r59%2B%2BunaF%2B7F4uLidMstt6hv375avny5iouLJV3se2FhoUdfO3XqJOlS3%2Bm/Gampqapfv7769u3rNs76v/ZMr/XMzEzddNNNstlsHtvjOaN8JSUl2rNnj8fzriRt3LhRnTt3Vvfu3ZWQkKB///vfbtfT%2B6oxtZ%2Bh/9W3adMmhYeHq02bNh7Xsf6B61utOwfb39/fY9zf319nz561oKLr0759%2B7R%2B/XqNGzdOdrtd0sV3tMPCwtSpUyfl5eXpvffe07hx47Rw4UL1799f0sXHx9fX1%2BPcotJ3RXJycsp8oqrtWrZsqaefflpdu3aVzWbTli1btGDBAv3000%2BaMWOGa21fvvZLL5deT/%2Brr6ioSB9//LH69u2rBg0auMZZ/zXD9FrPzc11%2B1yD326P54zyvfPOOzp8%2BLBmzpzpNh4TE6MuXbooMDBQx44d07Jly/TnP/9ZGzZsULt27SSJ3leByf0M/a%2BegwcP6j//%2BY/H2pdY/0BtUKsC9pU4nU6PVwlRNadOndL48eMVFhamhIQE1/jIkSPd5sXExGjo0KFatGiR64lfUpmPQ%2BkhazxGZevVq5d69erluhwVFaV69epp1apVevLJJ13jV%2Brfb8fpf/V8/fXXOn36tMchgaz/mmVyrVdkW/D0zTffaO7cuRo9erTCw8Pdrps2bZrr5zvuuEM9e/bUgAEDlJycrJdeesl1Hb2vHNP7GfpfdRs3blTdunUVGxvrcR3rH7j%2B1apDxP39/ZWbm%2BsxnpeXV%2BY726icvLw8JSQkyM/PT0uXLlXdunWvONfHx0f33HOPMjMzXV%2BT5u/vL4fD4fFVFaWP2eXn9%2BHKBgwYoOLiYv3rX/9y9e3yV71L%2B1q69ul/9aWmpiogIEBRUVFXncf6vzZMr/UrPWdc6WgoXHTw4EGNHTtWd999tyZPnlzu/FatWun222/X/v37XWP0vvqqs5%2Bh/1XndDq1efNm9erVSwEBAeXOZ/0D159aFbCDgoI8zl0pKCjQ0aNHyzxHDBXncDiUmJio7OxsrVixQk2bNi33dy7/0KbSx%2BDyxygzM1MNGzZ0%2B9opVFz79u1Vt25d/fe//3UbP3TokKRLfaf/1ZOfn68vvvhC/fv3v%2BqLS6VY/%2BaZXutBQUE6fPiwx2N16NAhnjOu4OjRo3r88ccVGhqq1157rcLvtpX190Dvq6%2Bq%2Bxn6X3W7d%2B/Wjz/%2BWKkPumT9A9eXWhWwe/furZ07d%2BqXX35xjX322WcqKChQdHS0hZV5t6KiIk2YMEEHDx7UihUr1LZt23J/p6SkRJ988oluvvlm17lgt912mxo3bqzNmze75hUXFystLU3R0dEcFlUJmzdvlt1uV2hoqHx9fRUREaG0tDS3OampqWrZsqVCQ0Ml0f/q2rJli86fP1%2Bh/6li/V8bptd6dHS0cnNztX37dte8EydOKCMjg%2BeMMpw6dUqjR49WixYttGTJEo/v9b2Sn376SRkZGQoLC3ON0fvqq85%2Bhv5X3caNG9WgQQOP736/EtY/cP2xv/TbEz6uczfffLM%2B%2BOADbd%2B%2BXa1bt9aePXv0yiuvqF%2B/fho6dKjV5Xmtl156SampqZowYYJatWqlkydPuv41atRIp06d0rhx41RYWKi8vDzt379fSUlJ2rNnj15%2B%2BWXXq7F2u112u13Lli2Tn5%2BfHA6HFi5cqD179ui1115TixYtLL6nv0/x8fH6%2Beefde7cOR05ckR/%2B9vflJKSouHDh7vOu2vXrp2WLVumEydOqGHDhtq4caNWrlypF154QZ07d5ZE/6vr9ddfl8Ph0AsvvOAWhrOyslj/hly4cEFffPGFDh06pK%2B//lrZ2dlq06aNDh06pGbNmql%2B/fpG13qbNm30/fffa%2B3atWrdurVOnDihGTNmyM/PTzNnzlSdOrXnY0zK673NZtOIESN08uRJTZs2Tfn5%2BW7PBaUf0Jeamqq33npL%2Bfn5%2BuWXX7Rjxw5NnTpVBQUFmj17tusQZXrvrrz%2Bnzlzxuh%2Bhv67q8i%2BR7r4hsPUqVPVp08fDRw40GM7rH%2BgdrA5a9mXqx4%2BfFhJSUnavXu3/Pz8FBcXp0mTJnl8oiYqLiYmRllZWWVet3r1aoWEhOiFF17Q/v37debMGdWtW1edO3fWmDFj3D6cS7p4mFRycrJSUlKUnZ2t4OBgTZ48WRERETVxV7xSUlKStm/frpMnT6qkpEQdOnTQkCFDNHz4cLegl56ertdff12ZmZlq06aNRo0apccee8xtW/S/as6ePauePXtq5MiRHuec5uTksP4NOX78uMfXn5VavXq1evToIcnsWj937pzmzJmjTz75RIWFherRo4emT59eoSN1rifl9b5t27ZXvF6S62uI9u7dq/nz5%2BuHH35QXl6eGjdurIiICI0fP97jq6Po/SXl9f9aPM/S/0squu/ZunWrnnjiCb311ltlvtPM%2Bgdqh1oXsAEAAAAAuBZq1TnYAAAAAABcKwRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AcFm/fr1CQkJc/0JDQxUVFaWJEyfqf//7n%2BV1HT9%2B/KrzFi9erJCQkBqqqnzp6elavHhxmdeFhIRo5syZNVwRAAC4lupYXQAA4Pdn9uzZ6tixoxwOhzIyMrRs2TLt2rVLaWlpatKkidXleY309HSlpKTo6aeftroUAABQAwjYAAAPN998s8LCwiRJPXr0UHFxsRYvXqzPP/9cDz/8sMXVAQAA/D5xiDgAoFylYfv06dMe123evFl/%2BtOf1K1bN3Xv3l3x8fE6cOCA25x9%2B/Zp4sSJiomJUZcuXRQTE6NnnnlGWVlZHtvbu3evhg4dqrCwMEVFRWn%2B/PkqKiqqVv0VqfH5559X9%2B7ddeTIESUkJKh79%2B6Kjo7Wq6%2B%2BqoKCAre5J0%2Be1Pjx49W9e3fdcccdevbZZ/Xdd98pJCRE69evd20vJSVFktwOu7/8MPcNGzZowIAB6tq1q%2B6//359%2BeWXbtefOXNG06dPV3R0tDp37qyIiAgNHTpU//znP6vVEwAAYB7vYAMAylUaCjt06OA2vmzZMi1YsEAPPfSQEhMTVVhYqOTkZD322GNat26dOnXqJEnKysrSTTfdpHvvvVdNmjTRqVOn9N5772nw4MHatGmTmjVrJkk6dOiQ/vKXv6ht27Z69dVX5efnpzVr1ig1NbXKtVe0RkkqLCxUYmKiBg8erNGjR%2Bvbb7/VkiVL1KhRIz311FOSpF9//VUjRozQ2bNnNWnSJN14443avn27Jk6c6Ha7Y8eO1a%2B//qpPPvlEa9eudY23atXK9fPWrVu1b98%2BjR8/Xg0aNNCKFSv01FNP6eOPP1a7du0kSZMnT9aBAwc0ceJEdejQQbm5uTpw4IBycnKq3BMAAHBtELABAB5KSkpUVFTkOgd76dKlCg8PV0xMjGvOiRMntHjxYg0bNkzTpk1zjd95552KjY3Vm2%2B%2BqQULFkiS%2Bvfvr/79%2B7vmFBcX66677lLPnj2VmpqqESNGSJL%2B%2Bte/yul0atWqVWrRooUk6a677lJcXFyV7kdlapQuBuynn35aAwYMkCRFRkbq%2B%2B%2B/V2pqqitgf/jhhzpy5Ijefvtt9e7dW5IUFRWlCxcuuAXp9u3bu%2B5Dt27dyqzP4XBo5cqVatSokSTp1ltvVa9evZSWlqYxY8ZIkjIyMjRkyBA98sgjrt%2B7%2B%2B67q9QPAABwbRGwAQAefhvmJCkoKEhLlixRnTqXnja%2B%2BuorFRUVadCgQW6HcNerV0/h4eHatWuXa%2Bz8%2BfNasmSJPv30U2VlZam4uNh1XWZmpuvnXbt2KTIy0hVMJclut2vgwIF68803K30/KlOjJNlsNrcXEaSLh3fv3LnTdfnbb79Vw4YNXeG6VFxcnFvArogePXq4wrUktWjRQs2bN3c7dL5Lly768MMPFRAQoDvvvFO33nqr6tatW6nbAQAANYOADQDwMGfOHAUFBen8%2BfPavHmz1q5dq2eeeUYrVqxwzcnOzpYkDR48uMxt%2BPhc%2BpiPZ599Vjt37tTYsWMVFhamhg0bymazacyYMXI4HK55OTk5buG6VFljFVGZGiWpfv36qlevntuYr69vhWps3rx5pesLCAjwGLv89t544w0tXbpU77//vhYuXKgGDRqoX79%2Bmjx5slq2bFnp2wQAANcOARsA4CEoKMj1wWYREREqKSnRunXr9PHHH7sO9W7atKkkadGiRQoMDLzitvLy8rR161Y99dRTrsOeJamgoEBnz551mxsQEOAKxb9V1lhFVLTGyggICNB3333nMV7VGsvTrFkzTZ06VVOnTtWPP/6oLVu2aP78%2BTp9%2BrSSk5OvyW0CAICqIWADAMo1efJkffrpp1q0aJHuuece%2Bfj4KCoqSnXq1NHRo0cVGxt7xd%2B12WxyOp3y9fV1G1%2B3bp3boeLSxUOmt2zZouzsbNe7xMXFxdq8eXOV6q5ojZURHh6utLQ0paenKzo62jW%2BadMmj7ml9zk/P19%2Bfn7Vvu3AwEANGzZMO3bsUEZGRrW3BwAAzCJgAwDK1aRJE40ZM0Zz587Vxo0bNWjQIN1www0aP368FixYoGPHjql3797y9/dXdna29u3bp/r162v8%2BPFq1KiRwsPDlZycrKZNm6pt27b65ptv9P7778vf39/tdhITE7VlyxaNHDlS48aNk5%2Bfn1JSUnThwoUq1V3RGivjwQcf1KpVq/Tcc89pwoQJuvHGG7Vt2zZ99dVXktwPOw8ODpYk1wei%2Bfj4KCQkxOPFhivJy8vTiBEjFBcXp44dO6phw4bat2%2Bftm/frn79%2BlWqbgAAcO0RsAEAFTJ8%2BHClpKRoyZIliouLk91u1xNPPKGgoCCtXr1amzZtUkFBgVq2bKnOnTvr0Ucfdf3u/PnzNWvWLM2dO1dFRUW67bbbtHLlSj3xxBNutxEcHKyVK1dqzpw5mjJlipo0aaL7779fsbGxmj59epXqrmiNFdWgQQOtWrVKr7zyiubOnSubzaaoqCi9%2BOKLGjNmjBo3buyaGxcXp4yMDK1Zs8b1CelffPGFbrjhhgrdVr169dSlSxf94x//UFZWloqKivSHP/xBCQkJevzxxytdOwAAuLZsTqfTaXURAAB4u9Lv2966davatGljdTkAAMACvIMNAEAlvfvuu5Kkjh07qrCwUDt37tQ777yj%2B%2B%2B/n3ANAEAtRsAGAKCS/Pz8tGrVKh0/flyFhYWuw7YTExOtLg0AAFiIQ8QBAAAAADDAp/wpAAAAAACgPARsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAH/DyCQVJS/HFBxAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeZyNdeP/8fc1ZjNmjCUMIssgoZIlKiEku4h2KW4JUVrc3ZW6pawhufsVkVJJChmhb5ayFMoSN7IOGTKMwWD2Oef3x3zn%2Bp5jzpxzZuaaOTPm9Xw8PMzZrvM5n3Ou5X19PtfnY9jtdrsAAAAAAEC%2B%2BPm6AAAAAAAAXAsI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYQD5Nnz5dDRo0UIMGDfTqq6/me3np6enm8ho0aKDTp09bUEo4svo7A4DibtKkSeZ2cdy4cb4uzjWjT58%2BZr2uXr3a5XMOHjxoPqdp06aFXMLi6fPPPzfr7Omnn/Z1cQAn/r4uAIqGf/7zn1q6dGmOjwcEBCg0NFQRERFq1KiROnbsqLvvvlulSpUqxFICKGmOHz%2Bue%2B%2B917zt5%2BendevWqWrVqj4sFQAAgGu0YMMraWlpOn/%2BvPbv369vvvlGQ4cOVffu3bV7925fFw0l2PHjx80z2DfddJOvi4MCcPWJP5vNpu%2B%2B%2B85HpQEA3xk5cqS5z5s7d66vi1Ni8T3AE1qwkU14eLiaNGnidF9qaqpiY2N1/Phx876jR4/qiSee0Keffqqbb765sIsJ4Bpnt9u1fPnybPcvXbpUQ4cO9UGJAAAA3CNgIxt3Z%2BROnDihKVOm6IcffpAkJSYm6l//%2BpeWL18uPz86RACwztatW3Xy5ElJUu3atZWamqqTJ0/q2LFj2rVrl2699VYflxAA8q9%2B/fo6cOCAr4sBwCIkIuRKjRo19N5776l9%2B/bmfYcOHdLGjRt9WCoA1yLH7uE9e/ZUjx49XD4GAABQVBCwkWuGYWjkyJFO923ZssVHpQFwLUpMTNT//M//SMrc5vTo0UM9e/Y0H1%2B1apVSU1N9VTwAAACX6CKOPGnYsKFCQkKUmJgoSWY3Tm9t2bJFP/zwg3777TedPXtWV65cUfny5RUZGan27dvrgQceUEhIiFfLOnTokDZt2qTt27fr8OHDOnPmjFJSUhQWFqaIiAg1a9ZMPXv21C233JKrMtpsNi1fvlxRUVE6cOCALl68qEqVKikyMlL333%2B/7r333iI1ivqRI0e0YsUKbd68WadOndKFCxcUGhqq66%2B/XnfddZf69eun6tWru12G44jNpUqV0r59%2ByRJZ86c0eLFi7VmzRqdOnVKycnJqlSpklq0aKEBAwaoYcOGXpczLS1NS5Ys0cqVK3X48GElJCS4rNfp06frww8/lCQ98MADevvtt81lLF68WK%2B99prTcjMyMtSgQQOX7zlq1CgNGzbMY9l%2B//13LVq0SH/88YdOnz6t4OBg1axZU/fcc48GDBig0NBQrz7jrl27tGzZMu3atUsnT57UlStX5O/vr7Jly6patWq68cYb1aJFC91zzz0qU6aMV8u82po1azR8%2BHBJUunSpfXLL794vc7MmjVL77//vqTMS0JcXeeckpKilStXas2aNdq/f7/Onz%2BvlJQUBQUF6brrrlPNmjXVuHFjtW3bVrfddluePoM7P/zwg7l9adq0qWrUqCFJatSokfbu3auLFy9q7dq16tKlS47LSE1N1Z133qmEhARJ0rRp09StWzev3v/YsWPq3Lmzefv7779XZGRkjs8/dOiQuf79/fffunjxosLCwnT99derTZs26t%2B/vyIiIty%2B58GDB81W%2BpCQEO3cuVNS5nq5ZMkSbdy4UadPn1Z8fLxKly5tPu74eX/99Vdt2bJF//3vfxUdHa2LFy/Kz89P4eHhqlevnlq1aqX%2B/fsrPDzcq3rI8tdff2nhwoXasGGDTp06JT8/P0VERKh169Z66KGHzLq5/fbbdeHCBUnSN998k208j4Kqu9zIbz072rx5s/7nf/5Hv//%2Bu%2BLi4nTlyhVVqFBB9erVU/v27dW3b1%2BVLl3aq3IdOHBAmzZt0o4dO3T48GGdPXvW3JdVrVpVzZo1U%2B/evdW4ceNcfd6MjAwtW7ZMUVFR5jb3uuuuU/369dWnTx917NixwC/x8rYMkyZN0rx58yRJjz76qMaOHZttWevXrzfHYKhXr55WrFjh8f29WW6W2NhYbdiwQdu2bdPBgwd16tQpJSYmKiQkRBUqVNCtt96qTp06qUOHDjIMIy/VkU1Ov8ksjutVlsmTJ2vy5MnZlpX1%2BrS0NLVr105xcXGSMuugd%2B/eXpUnOjpa9913n3l79erVql27dq4%2BUxZXdW%2B327V27VotWbJEf/75p86ePauyZcsqMjJS3bt31/333y9/f%2BsjSkxMjJYuXapNmzYpJiZGFy9eNPfLd955p/r06aMbbrghx9fn5XtAyUTARp4YhqGwsDDzAPjSpUtevS4mJkavv/66fvnll2yPnTlzRmfOnNEvv/yi2bNn65133tHdd9/tdnk9e/bM8bql8%2BfPmyOff/7557rvvvs0YcIEr0JIbGysRo0alW3jePLkSZ08eVI///yzWrdurWnTpnlcVkFLTk7WxIkT9fXXXysjI8Ppsaw62LNnj%2BbNm6cRI0ZoyJAhuVr%2B2rVr9corr%2BjixYtO9584cUInTpzQsmXL9PLLL%2BvJJ5/0uKzo6GiNHDlSBw8edLrf1/WampqqCRMm6Msvv3S6PyUlRXv27NGePXv01Vdfae7cuapXr57b5fzrX/9SVFRUtscyMjJ09uxZnT17Vn/88YcWLVqk9u3bmycRcqtt27YqV66cLly4oKSkJK1Zs8aphded77//3vzbsdt1ln379um5555zGtQwS2Jiov766y/99ddf2rRpkz788EO9//77TlNpWeHq7uGOf%2B/du1eStGzZMrcBOzAwUJ07d9bixYslSVFRUV4HbMfv8KabbsoxXCcmJuqdd97Rt99%2BK5vN5vRYfHy84uPjtXv3bs2bN0/PPfecBg4c6NX7Z/niiy80ceJEj631P//8s1588UXzZMLVkpOTFRsba35nY8eOVa9evbwuw%2BTJk5WcnOx0/%2BHDh3X48GF99dVXGjNmjB5//HHvPtT/Kui6yw1v6znL8ePH9dprr2nbtm3ZHouNjTXres6cOZo4caJat26d47LS0tJ0//3369ChQy4fz9qO79u3TwsWLFD37t319ttvKzg42GM5T548qZEjR%2Bq///1vtvtPnjyp9evX6%2B6779bUqVM9LiuvikIZvPXaa6%2B5/D1KUkJCghISEnTs2DEtW7ZMjRo10syZM3X99df7oKSeBQQEqE%2BfPpo9e7Yk6dtvv/U6YH/zzTfm382bN89zuHbl0qVLevnll7Vu3Tqn%2B%2BPi4hQXF6ctW7Zo4cKFeu%2B998wTq/llt9v1wQcf6KOPPlJKSorTY%2BfOndO5c%2Be0Z88ezZ07V08%2B%2BaSef/55xhVCvhCwkSd2u93pQM6bVrg///xTgwcP1tmzZ837QkJCFBkZqdKlS%2BvMmTOKjo6WJJ09e1bDhg3T9OnT1alTpxyX6RiuAwICVKtWLZUrV05%2Bfn46d%2B6coqOjzdC5evVqnT17VgsWLHDb8hwfH6%2BBAwfq6NGj5n2BgYGqX7%2B%2BSpcurejoaMXFxenXX3/V8OHD1bx5c4%2BfvaAkJCRoyJAhTicC/P39VbduXZUvX14JCQk6ePCg0tPTlZKSonfffVfnz5/XmDFjvFr%2Bpk2bNGLECNlsNgUEBKhevXoKCwvT6dOnzfBls9k0ceJE1ahRQx07dsxxWSdPntQTTzyh2NhY877g4GDVq1dPwcHBOn78uM6cOeNVvUZEROiuu%2B5ScnKyfv/9d0mZJ33uvPNOl8%2BvWbOm28/56quvmq245cuXV61ateTn56dDhw6Zv/PY2Fj94x//0IoVK3JsyX755Ze1atUq87a/v7/q1Kmj8uXLy2636%2BLFizp27Ji5g7fb7W7L5U5AQIA6d%2B6sRYsWScoMhN4E7L1795q/bcMw1L17d6fHY2Nj9eSTTzqdpQ8PD1etWrVUpkwZJSUl6cyZMzp16pRZflcHo/lx8uRJM7gEBAQ4hehu3bpp8uTJysjI0KZNmxQXF6frrrsux2X16NHDDNibNm3S%2BfPnVb58eY9lcGwVc3USQsoMPkOGDHGarjAgIEB169ZVuXLldPHiRR08eFAZGRlKSkrShAkTdP78eT3//PMe31/K7Kkxbtw4c7mRkZEKCwvT2bNnndYjSTp16pTTNrlcuXKqUaOGQkNDlZKSor/%2B%2Bstsybp8%2BbJefvllZWRkqE%2BfPm7L8MUXX5hlyBIREaGaNWsqKSlJBw8eVEpKisaPH5%2Br3hgFXXe5kZt6ljLXocGDBys%2BPt68r0yZMoqMjFRwcLBiY2N17NgxSdLp06f1j3/8Q//5z3/Utm1bl%2B9vs9mcwnVAQIBq166t8PBw%2Bfn5KS4uTtHR0eZ6tmLFCsXFxemTTz5xGwLi4uI0cOBA/fXXX%2BZ9QUFB5jY3Ojpa586d04YNGzRy5EjdeOON3leal4pCGXLj4MGDZj37%2Bfnp%2BuuvV8WKFRUcHKyEhAQdOXLEPNG0d%2B9ePfTQQ1q6dKkqVapUoOVq3bq1Ll26pD///NNcj2vXru2yV5rjiZf%2B/ftrzpw5stvt2rZtm44dO6ZatWq5fa/09HSnqRD79etnzYdQ5j5v9OjR2rBhg6TM/W2dOnWUmpqqQ4cOOdXtwIEDtXDhQlWuXDnf7/v666%2Bb%2B4EstWrVUuXKlRUfH6/Dhw9LyjzZNXv2bJ04cULTpk3Ltn7l9XtAyUPARp7s3btXSUlJ5m13XSelzDOWw4YNM8N11apVNWbMGHXq1MmpG1B0dLTeeustbd68WWlpaXrllVfUqFEjVatWzeVyy5Ytqz59%2BqhTp0665ZZbFBAQ4PT4hQsX9MUXX%2Bj//b//p7S0NG3fvl2ffPKJBg8enGNZx48f7xSuBwwYoGeffVZly5aVlHkw9OOPP%2BqNN97Qjh07zJMCvvCvf/3LDNdBQUEaMWKEHnnkEacAePHiRc2aNUufffaZJGnevHlq1qyZ2zAsZX7O0aNHS5KGDh2qwYMHKywszHx8586dGjlypM6cOSNJmjBhgtsuc6%2B99pp5sOrn52cuM%2Bug3G63a9OmTRo7dqzHem3Tpo3atGnj1KXdz88vT/NRrlmzRhcuXFC1atX02muvqX379uZONS0tTXPnztX06dMlSX///bfmz5%2BvESNGZFvOH3/8YYZrwzA0bNgwPfnkk051JmW2ZO/cuVOrV692OkDPi549e5oB%2B5dfflF8fLwqVKjg9jWOLbMtWrRQ1apVnR7/4IMPzHAdERGhcePGqU2bNtkONBISErRhwwZ98803lnWTzLJs2TIzvN99990qV66c%2BVilSpXUunVrbdq0Senp6YqKinLbe6Jly5aKiIjQ6dOnlZaWptWrV%2Bvhhx92%2B/67d%2B82A5Kfn1%2BOrd5jxowxA2Lp0qU1atQo9e/f3ylonj9/XjNnzjR7R3z00Udq3ry52rRp47YMqampGj9%2BvAzD0JAhQzR48GBzGyTJKbBkadSokfr27at27dq5PODbs2ePpk6dao6Z8dZbb%2Bmuu%2B7K8QD28OHDmjBhgnm7evXqGj9%2BvO644w7zvsuXL2vOnDn66KOP9NZbb2XrRZOTgqy73MhtPV%2B4cEHDhg0z193q1avrlVde0T333ON04vbIkSN68803tW3bNqWlpenll1/W8uXLVaVKFZflKFeunPr06aN7771XTZo0ydY9Nj4%2BXp9//rlmz56ttLQ0bdmyRV988YXbXgNvvPGGU/kHDRqkZ555xtwmZWRkaPXq1Ro3bpy2bNlSIKNYF4Uy5EZAQIB69Oihrl27qlWrVtl6vGVdOjNlyhSdO3dOZ8%2Be1bhx48xLbgrKjBkzJGXOv5w1i0u/fv00aNAgt6%2BrUaOGWrdubfYa/Pbbb/XCCy%2B4fc1PP/1kHquFhYU5dRXPr1WrVun8%2BfMqW7asXn/9dXXr1s1cbxy3JXa7XTExMRo7dmyee3llWbx4sVO4btasmcaNG%2Bd03Hr8%2BHG9%2BeabZj2tWrVKTZo0yVa/ef0eUPLQ/wG5ZrfbNWvWLKf7HK9VdGXq1Knmddq1atXSkiVL1KVLl2wHEbVr19bs2bN11113ScoM5h988EGOy/3555/1yiuvqHnz5tnCtZR50DJ8%2BHC9%2B%2B675n0LFixQenq6y%2BXt3LnTqfvskCFD9OqrrzodcPn5%2Balz586aN2%2BegoODdf78ebefvaCsXLlSP/74o6TMM6WffvqphgwZkq11NTw8XK%2B%2B%2BqpGjRpl3jdlyhSPradZLa7jxo3T888/ny0oNm3aVLNmzTLDVUxMjNmafLWffvrJ6bKAMWPGaNSoUU4H04ZhqE2bNvrss89Urly5QqvXCxcuqFKlSlq4cKE6dOjgFCQDAgI0dOhQp0CW0%2BjVP//8s/n3/fffr5EjR2arMynz2vbmzZvrtdde05QpU/JV9mbNmplBKj093an13BWbzaaVK1eat121zGa1LEiZv5O2bdu6bCUrW7asunfvrvnz53s8WZNbjq0nrlrlczOauGEYTgHZVff9qzm2Xrds2dJlKFq6dKn5nYeEhGjBggV68skns7Xili9fXm%2B88YZ5zajdbnd5vd7V0tPTlZycrNdee02jR4922gZJ2Xtl9OrVS0uWLNGjjz6a41gLTZo00bx588yAmpiYaJ6gcWXq1KlKS0uTJFWoUEELFixwCteSFBoaqueff14vvPCCEhMTs3W/dKWg6y43clvPkyZN0unTpyVlnlhesmSJOnXqlK1XVN26dTVv3jy1bNlSUuZ2Jqur7tUCAwP1008/acyYMWratKnLa08rVKigkSNH6p133jHv%2B/TTT3PsPbJlyxatWbPGvP3ss8/q5ZdfdtomlSpVSt26ddOcOXMUGBho%2BTa3KJQht%2BbMmaOpU6fqnnvucXk5WVBQkO6//359/vnn5uNr1qzRiRMnCruoXuvfv7/599KlS3M8/sni2D28e/fulrbEnj9/XgEBAZo9e7Z69uzptN5kbUuyTuxLmdfbb9q0Kc/vd%2BXKFU2aNMm8fdttt%2BmTTz7J1ih0ww03aPbs2U694N577718nwRHyUXARq6cOHFCo0aN0vr16837unfv7naQq/j4eKeD4EmTJrltZfP399e4cePMg4yoqChdvnzZ5XO9HdSpc%2BfOatq0qaTMLntZg3ddzfFgs2bNmnr22WdzXOZNN92kp556yqv3Lwgff/yx%2Bffw4cPNz5eToUOHmtdRHTt2TL/%2B%2BqvH98gaHC0nt9xyi9NcxDt27HD5vK%2B//tr8u1GjRnriiSdyXGaNGjXc1ntB%2BOc//%2Bl2ECXH8sbExJit9o6yDroleT3oV34HyctteNy2bZvZiyAgIMBly4Rjl1hPv6ksVg72t337dvPyg7CwMKcpAbN06tTJHDjqwIED2r9/v9tlOob0HTt2uB2U8eqTEDl1u3fsLfHcc895HMxr5MiR5rWaBw8ezPFklKOmTZvqscce8/g8yfttYalSpfTiiy%2Bat6%2B%2BDjJL1kBPWZ577jm3gyQOGjQox0EGr1YYdZcb3tZzbGysuY4ZhqEpU6Y49a64WkBAgN566y3zBNWSJUtcnoAwDMPrgdB69uypm266SVLm/vjq8SyyOO7L6tatq2eeeSbHZd588825vn7eG0WhDLnl7XpUp04dM7jabDanY6KipmPHjqpYsaKkzMvvHE8GX%2B3q9d7K7uFZHn30Ubf7lsGDBzsdU3711Vd5fq%2BoqChzjCB/f3%2B9/fbbCgoKcvncgIAAjR8/3jyhkJKSkq1bOeAtAjayOXDggAYNGuT0b8CAAercubM6depkdouRpDvvvFNvvfWW2%2BWtXr3aPKi4OpDlpHr16mZISU5O1h9//JGPT5Tp5ptvNv/es2dPtsftdrvTwWa/fv0UGBjodpmPPPKITwbCOHLkiDnQU0BAgMcur1Jmy7vj9bZbt271%2BBrHM985cQyTjl3rs6Snp2vz5s1Oy/TUpbh3796Fdv1SeHi4xy5wtWvXNg9QJNef03Gn/eeff1pXQA8cA%2BDOnTvdtqQ4BvB27dpla62T5PSb90V3TceTcZ07d3Z5MFSmTBl16NDB5WtcufHGG1W/fn1Jmeu5Yy%2BVq23ZssXsHhkUFORy8LZ9%2B/aZ18yWLl3aq4PQUqVKqWvXruZtb9a/gji4lTLrI6tes66hvtrGjRvN7t4hISE5Xoeexc/Pz6vtRWHVXW54W8%2BrVq0yW/RbtGhhBl13atWqZe57EhMTXe57csvTviwjI0M//fSTefvBBx/0eBLs0UcftfRSj6JQhoLmODOJFd9rQQkICND9999v3nZsob7a0qVLzfX%2BpptuUqNGjSwvz6OPPur2cT8/P6djmp9//tlc73Jr7dq15t933XWX6tSp4/b51apVc%2BqR5fh6IDe4BhvZXLx40WOXnFq1amnYsGHq2bOnxx3i9u3bzb9vv/12r8tRv359c6CjvXv35jiAlZR5reyvv/6qPXv26MSJE7p06ZJSUlKcukE7jojsauCa48ePO42U7c11fpUqVVLDhg3NsFtYHFtwGjVq5LIrsiuOI2B7U2ZvToY4tvy6GsH48OHDTqMPe/MbCA0NVaNGjZx%2BOwWlcePGXk0HUqVKFZ07d06S61HzHafO%2BfLLL1WjRg09/PDDOZ4tt0q9evV04403mqF%2BxYoVLluKUlNTzXmlpZwH7mrcuLF%2B%2B%2B03SdILL7ygd955R82aNSuAkmeXnJys1atXm7fdDdrWs2dPsyt3VFSUXnrpJZeXiWTp0aOHealIVFRUjqPpX30SwtW65bj%2BNWnSxOtWL8f1L6deNI7yWu%2BxsbHavHmz/vzzT507d06XL1/O1i00q2txenq6zp07l22cC8fA4O1n9GbdLqy6yw1v69mx7LnZl9WrV0%2B7du2SlLnddTeAY9ZUa1n7ssuXL2fblzmOT%2BFqX3b48GFzhg9J5iVX7lSvXl1169Y1B3vKr6JQhvzatWuXdu7cqSNHjighIUGJiYlO34Njd3ZX30NR0r9/f82dO1d2u10bNmzQ2bNnsw3MZrfb9e2335q3H3jgAcvLUbNmTY%2BDjkpymkEmNTVVBw4cyPX0dJKcBlH0NCtNlvbt25v7lv379ys1NdVjYwtwNQI28iQmJkaHDx/26myz4%2Bioa9eu9frgyDEQ53RdVnp6uubPn685c%2BZkm5vQHVcByXEgFj8/P9WtW9erZUVGRhZ6wHas05iYGK8H2HCsI2%2BudXM3OnMWx66NV0/jI2WObpzF39/f7RyTjurUqVMoAdubzyg5jwjqOMBfli5dumjGjBk6c%2BaMbDabJkyYoFmzZqlNmzZq1aqVmjZtqnr16hVIC02PHj08BuwNGzaYJ0DCwsLUrl07l8saOHCgGbCPHTumRx55RLVr11bbtm3VokULNW3a1Kk130pr1qwx182IiAjz%2BlVX7rzzTlWsWFHnzp1TfHy8NmzY4NSqfbXu3btr2rRpstvtOnjwoA4cOJCtS3Nqaqo5roGUc8B3DADR0dFer3%2BO1/N5s/7ldvqfmJgYTZgwQevWrcvVyO6utod///23%2BbenVp8stWvXlmEYbsd3KKy6yw1v69lxu7t69Wqv57h1DMQ5lT0tLU3z5s3TvHnzcrUvc3X5lGMvlqzZNbwRGRlpWbgtCmXIqx9//FFTpkxxOU1hTnK6jK2ouOGGG3T77bdry5YtSk9P19KlS7OdZNy6dat5HBQcHOz1tI%2B54W6aS0dVq1ZVaGioWa9//fVXrgN2QkKC07qU1YvJE8f9QmpqqmJjYy2bLgwlBwEb2bRs2VILFiwwb6enpys2Nlb79%2B/XvHnztH37dqWnp2v27NlKT0/3OOWT4wbuyJEjOnLkSK7L5GrnlZaWpmeffTZP1z65muvUsfU1JCTE6zOW7q7BKyiOdRoXF5enQUA8HRCUKlUq19fWujqwdjx4L1OmjNdd6r1tlc8vd62eOXH1OUNCQvThhx9q6NCh5jXaly5d0sqVK81reitUqKB27drpgQcesLRVuHv37nr33Xdls9l0%2BPBh7d%2B/P9u4CFnTkEnSvffem2PLeseOHfX888/rvffeM0NadHS0oqOjNX/%2BfBmGofr16%2Bu%2B%2B%2B5T//79vT5B4Q3Hrt7du3d3ezLC399fXbt2NbdVy5Ytcxuwq1WrpmbNmpmtkFFRUdkC9vr1683fa3h4eI4tHo7rX9bc5rnlKtQ6Cg4O9qpnRZZ9%2B/Zp4MCB2ear94ar7aFj%2BVxdSuCKv7%2B/Spcu7dRyebXCqLvcyE09O5b90KFDOc5b7Y6r7W5qaqqeeeaZPG3HXX13jr%2BBsmXLer0dt3JfVhTKkBfvv/9%2BtkFcveHt/Om%2B9OCDD5ozCHz77bfZArZj1/HOnTsXyD44N99veHi4ub7kZbt2dY86b6ZndPW8ixcvErCRawRseOTv76/q1aurevXq6tChg8aOHWsOWjVv3jy1atUqx/k9JdetfbnlqjVmzpw5TuH6tttuU69evdSkSRNVrVpVZcqUcQoR06dPdzvdg%2BM1PrkJXb7oOlRQdVoQ8jPXc3HTqFEjrVq1Sp9%2B%2BqmWLFmimJgYp8fj4%2BO1ZMkSLVmyRPfcc4/eeecdr3f67kRERKh58%2BbmJRVRUVFOAfvy5ctOA9t4apkYOnSo2rZtq48//lhr1651%2Br3Z7XYdOHBABw4c0OzZs/Xcc89p4MCB%2Bf4MsbGxTgPvLVy40O21gpLzQe369et14cIFtwdwPXr0MAP2999/rxdeeMEpxDuOHn7ffffluG67C5De8rRe5GZsh9TUVI0aNco8CA0ODlavXr3Utm1b1alTR5UqVcoWJG%2B//Xa3LaUFtd4WRt3lRm7quaC2u//5z3%2BcwnWLFi3Us2dPNW7cWBEREdn2ZZMmTdK8efNyfI%2BisC8rCmXIrV9//dUpXNesWVP9%2BvVTs2bNdP3116ts2bIKDg42txnr1683R7gvDjp27KgKFau2DKAAACAASURBVCooPj5ex44d07Zt28xeQgkJCU69dwpq/Ie8/hbycgLj6td4%2B95X/waLw8kTFD0EbOSKYRgaO3as/vjjD3MApH//%2B99avXp1jjvGsLAw80zilClTLOl2lJ6erk8%2B%2BcS8/cQTT%2Bhf//qX29dcuXLF7eOO01t5em5ullsQHFuU%2BvXrp/Hjxxd6GbzlWNYrV67IZrN5dVBrZStVYQoNDdXw4cM1fPhwRUdH67ffftO2bducBs%2BSMkdvHjJkiL766itLRuHu2bOnGbC///57vfTSS%2BaB4I8//mh2369SpYrbrtdZGjZsqHfffVepqanatWuXfv/9d23btk2///67efCclJSkCRMmqFSpUvkeAfi7775zmkM5t%2BtVWlqavv/%2Be7cD6HTp0kXjx49XWlqaTp06pe3bt5vXw166dMnpJIS7Qb0cf9OPPfaYXn/99VyV1WqrVq1y6tr55ZdfehycyFPQdfyMrsZWcCU9Pd1jCC1qdZcbZcuWNdfhmTNnepye0hupqan67LPPzNv/%2BMc/nEZ5d6U47MuKQhkceXNC%2BaOPPjL/btmypebMmeN2sE1f7PvzIzAwUL179zZPznzzzTfmviAqKsrcR9SqVUstWrQokDLk9beQl9b0q1/j7Xtf3cvE2x48gCNGEUeuBQQEOB0UnTx5UgsXLszx%2BY7Xa%2BbmmiZ39uzZYx70hYSE6IUXXvD4GldTKzlynDosNTXV666LV7dSFgbHslpVpwXFcfCk9PR0r8vraqTu4qZ27drq37%2B/pk6dqo0bN%2Bqzzz5zGuBo9%2B7dHueu9pZji%2Bvp06fN66gl54G7unXrlqtWu8DAQLVs2VLDhg3T/PnztWXLFr3xxhtOLcXvvfeey%2Bvvc8Nx7uu88jSa%2BNXdvh3r5YcffjBH065atarbgagc179jx47lsbTWcZxjvm/fvh7D9fnz5z22ylStWtX829t1MTo62mPrclGru9woiO3ujh07zJMd4eHhGjVqlMfXeNqXOe5zL1265PUJEiv3ZQVZBseWSG9Hl/b0/qmpqU6D2L388sseZ7Lw9D0URQ8%2B%2BKD59w8//GCeyHbsLVQQg5tlcTdFoqPk5GRzUFFJeRr3Izw83Onktbe/b8fxeCS5nVYWyAkBG3nSokULp1FBZ8%2BeneMBtuNUFt7MvewNxwF46tev73GkZrvd7nGqrxtvvNEpeHgz7YbNZiv0Ac4k59G9d%2B3aZUm3y4ISGRnpNBBaViurO5cvX/aqXh2/r6LeFd0wDN1%2B%2B%2B36%2BOOPnQb8cZzCLD%2BuHrgsKzzGxcWZ191JnruHexIaGqpHHnlE06dPN%2B%2B7dOmS02itubV7926ngY3WrFljdkP39G/NmjXm6/bs2eNxjAfHlunVq1ebB%2BiO3cM9Xf999dzvvu5C6DiQoKc5pSV5NTiX43L27NnjVfdob9btolZ3ueFY9oLYlzVo0MBjN1abzebVvsyRN/uy9PR0S6cXLMgylClTxvzb2%2BCe03zhWc6ePWtuC0qVKuXV9FTeDnJnJcftUl72ebVq1TJbrZOTkxUVFaV9%2B/aZg8/6%2B/s7TelltT///NOrdX7v3r1OPZquHlPEG4GBgYqMjDRvezvdq%2BPzIiIiXAbs/H4PuPYRsJFnjiMVx8XFadGiRS6f5xjEd%2BzYYcncuo5nrb0ZlfnXX3/V6dOn3T6nTJkyThvxrIGp3Nm6davTWdbC0rJlS/NALDU11WPLnS/5%2B/vrjjvuMG8vWrTI4w7pu%2B%2B%2B86pF1DG422y2YnGwXrp0aacp5%2BLi4ixbtmN4/OGHH5SamqqVK1eaByqRkZF5OlBxpXXr1k5TLOXncyxbtsz8u1GjRrkaUKZGjRpOB8Oe1oV77rnH7L564cIFbdy4UWfOnHGaW9nTnM%2BtWrUyr2dOTEy0pPU9Pxyn4PJme%2BhY3zlp06aN2fqTmJjo1Nrvis1mM8fmcKeo1V1uOK63W7dudRodPK9y%2B939/PPPTiOqu1K%2BfHmnYOHNvmzTpk15GkjKF2Vw7BUVHx/vcdvz999/a//%2B/W6fc/U0dp7Ex8c7zfNdWBy3uXntNeTYiv3NN99o8eLF5u327dtbOnDl1RITE7VhwwaPz3P8vdSsWVOVK1fO0/s59kRatWqVU2h3xW63O51szaknkxXfA65tBGzkWfPmzZ2u5fz4449dBpy7775btWvXlpS58XrjjTfyHYQcN7YHDhxwe21NamqqJk6c6NVyHVv3Vq5c6fast81m03vvvefVcq0WHh6u3r17m7dnzpzpddcrX%2Bjfv7/59969e51Gqb/ayZMn9f7773u13HLlyjm1%2BDhODVPYcnMW27HHQXh4uGVlaNeunXm92MWLF7VhwwanYOSp9To3nyE1NdXpYCWvo/%2Bmpqbq%2B%2B%2B/N2/n5bpWx9csX77c7fWWQUFBuvfee83bK1as0MqVK83XNGjQINvo4le77rrr1LVrV/P2jBkzfDoPruN8tjt27HD73C1btjjNh56TKlWqOHWnnzFjhlNr69Xmz5/vVetjUau73OjQoYM5pVdGRobGjh2b62B2Ncfvbt%2B%2BfW4P1lNSUjR58mSvlturVy/z7%2B%2B%2B%2B87tyYCMjAzNnDnTq%2BXmRkGVoUqVKk5dhn/44Qe3z585c6bHYFWxYkXzBEdGRobH1s7Jkyf75ISuY/jN6/7u3nvvNQfX3Lt3b4HPfX21999/3%2B16c%2BLECafQn58W9b59%2B5p/nzx5Ul999ZXb5y9btszpuC%2Bn%2BrDie8C1jYCNfHFsxT5z5ozLUX/9/Pz00ksvmbd37typoUOHemz5TUpK0pIlS/TUU09le%2ByWW24xrzdNTEzUpEmTXIaDy5cva%2BTIkV63mvft29fccGZkZGj48OEuDyozMjI0btw4n3QRyzJs2DAznF24cEEDBgzw2K3aZrPpl19%2B0aBBg7JdZ1SQ2rVr59SKPWHCBL3//vvZToxs3rxZjz/%2BuM6fP%2B/V6Nr%2B/v5Oc1t%2B%2BumnhTY6%2BtVGjRqlOXPmeJyjd8%2BePVq9erV528rBZAIDA53C5kcffWR23TYMQ926dXP7%2BhMnTuixxx7TTz/95PGAdObMmeY1y4GBgbr55pvzVOas0b%2Bz5CVg33fffebfsbGxTtcku%2BJ4omHdunVOB5ieWq%2BzPPvss2ZLeFxcnAYMGOBxO5ORkaENGzboiSeesDRUOp7oXLp0aY4he%2BfOnRo5cqTXJ1JefPFF8wTWuXPn9Pjjj2frGn358mXNmDFDkydPVkhIiMfLdaSiVXe54e/v7zQA2bZt2zR8%2BHCP63xiYqIWL16cbVokSWratKnZon/p0iVNnTrV5TIuXbqkYcOGeX09fL9%2B/cyTXmlpaRo2bJjLektPT9frr79eIJc6FWQZOnbsaP79wQcfOF0m4Wj27NlasmSJx%2BWFhobqpptuMm9PnDjR5aVXNptN06dP91mvMccyrlu3Lk/78azBzrJkbcerVKmiNm3a5L%2BQHvz555969dVXXV4/HxcXp2HDhpllCg8P10MPPZTn92rUqJHTZ5o4caLTYJaOtm7dqn//%2B9/m7aZNm6p169Yun2vF94BrG6OII1/uuOMO3Xrrrdq1a5ekzKmz%2BvXrl%2B06sg4dOujpp582R%2BncvHmzOnTooG7duqlly5aqXLmySpUqpYSEBEVHR2v37t3atGmTEhMTVaVKlWzvGxISogceeEBffvmlpMxux4cPH9YDDzygGjVqKDExUXv27NHXX3%2Bt2NhYlSlTRnfffbfHAaXCwsL06quv6vnnn5eUOdhFjx499PDDD6t58%2BYKCgrS0aNHtXjxYu3bt09BQUG68847tW7dunzXZW5Vq1ZNU6ZM0bBhw5Senq6YmBj17dtX7dq1U5s2bXTDDTcoODhYly9f1smTJ/Xf//5XGzduNAdvK%2BzrhsaPH6%2BHH35YsbGxstlsmjVrlj7%2B%2BGPVr19fwcHBOn78uHnwddttt6l58%2BaaPXu2JPdTt3Tv3t08MFu0aJHWrVtnLjNLjx491KVLlwL8dJnX8E2dOlUzZsxQq1at1LRpU9WvX1/lypWTYRhm8IuKijJbPqpXr67u3btbWo4ePXqYZ/8dr4u%2B7bbbzNa3nNjtdv3222/67bffzDm7GzdurOuvv16hoaFKTk7W0aNH9f333zudXHrsscecRg3ODccD1QYNGjhdn%2B6tG264QTfeeKPZgrp06VKnS1Oudvvtt6ty5co6c%2BaMkpKSzBYLwzC8/j5q1qypiRMnatSoUcrIyNCxY8fUu3dvtW/fXm3atFGNGjWc1r89e/Zow4YN5olFK9e/Xr16aebMmbp48aJSU1P1xBNP6MEHH9Sdd96psLAwxcbGat26dWZLfadOnfTbb7%2B5naZLyryk4JVXXtG4ceMkZZ6AGThwoKpWraoaNWooOTlZBw4cMA%2BGX3/9dU2aNMnpxIsrRanucqtLly7atWuX5s%2BfL0n66aefdM8996h79%2B5q0aKFKleuLD8/PyUkJOjo0aPatWuXNm/erOTkZNWsWTPb8sLDw9WrVy/zJM%2BCBQt04MAB9e3bV9dff72uXLmiXbt2afHixTp79qzCw8PVqlUrj6225cuX1yuvvKIxY8ZIyhyormfPnnrooYd02223KTAwUEePHtWiRYt04MABlS5dWrfffrul3Z4LsgxPPPGElixZorS0NMXFxalPnz4aOHCgOebL0aNH9d133%2BmPP/5QWFiYmjdv7jStpysDBgwwy7pr1y717t1bjzzyiBo2bKiMjAwdPnxYS5YsMbubP/DAAx6nErRa27ZtFRYWZg4c16VLF910002qWLGiOSZJcHCwpk2b5nY5/fv3d5qJRZL69OljyYwW7rRp00Y7duzQsmXLtHfvXj344IOKjIxUWlqadu7cqYULFzqdsBozZky%2BBxkbP368evXqpQsXLig1NVVPP/20unTpok6dOqlSpUo6d%2B6c1q9f79T7KSQkRBMmTMhxmVZ9D7h2EbCRb88884yefvppSZmD7SxbtszlHIqjR49WuXLlNGXKFNlsNiUlJembb77J8w7qhRde0O%2B//24eHG/fvl3bt2/P9rygoCBNnjzZq0FWJKlr166KiYnRu%2B%2B%2BKymz5WD27Nlm2Mvi5%2BensWPH6sSJEz4J2JLMuYqfe%2B45XbhwQXa7XevXr/d4IOEL1atX1/z58zVq1CjzO0tOTs42OFbr1q01bdo0zZkzx7zP3RQdjz32mNatW2eOmn327NlsI8A3btzYqo/hUXp6ujZt2uQ0r60r1113nT744AOnAXus0LJlS0VERGQbc8DbltksjnN2u9OxY0fzhFRunTt3Ths3bjRv52fao/vuu88M2GvWrNHly5dzDP1%2Bfn7q1q1btgPMFi1aOI2e7UmnTp304YcfavTo0bp06ZJsNpvWrl2rtWvX5vlz5EVYWJgmTZqkESNGKD09XampqVqwYIHLSzEaNmyoCRMmOLUAupM17ZljcP7777%2BdevYEBATo5ZdfVp8%2BffTWW285lSsnRaXu8uKVV15R%2BfLlNWPGDNntdiUmJurrr7/26hp0V/75z39q586dZuv0tm3bXA4YV7p0aU2ZMsVp0EJ3evfurZiYGPOSmwsXLujDDz/M9jx/f3%2BNGzdO%2B/fvt/y64oIqQ926dfXiiy%2BaIej8%2BfNOAy9mCQ4O1rvvvqstW7Z43C/27t1bGzZsMC9ZOX78eI4h69lnn1WjRo0KPWCHhITorbfe0ksvvaS0tDSlp6dn24c6Xh%2Bckzp16qhFixbmftMwDKfu1AWlZs2a6tu3r1566SUdOnTI7RSjzzzzjCVlioiI0KeffqqnnnpK586dk91u18qVK3McFyA8PFyzZ882L210xarvAdcuuogj39q1a%2Bc0yNDs2bNzvL7mqaee0vLly9W1a1e3rZJS5g706aef1qeffury8dDQUH355Zfq2bNnjtMONW3aVF9//bXXB5NZhgwZog8//DDHFr/atWvr448/LpTrlTxp3bq1Vq1apcGDB3u8DrZSpUrq27evPv/8c91www2FVML/U6dOHS1ZskT//ve/1bJlS1WsWFGBgYGqVq2a2rZtq%2BnTp2vu3LmqUKGC0yUE7rqLBwYGav78%2BXrnnXfUrl07RUREeJxepSA8/fTT6tq1q8eu7VmjcEdFRWUbadcKrrqCBwQEOHWjzknlypX1wgsvqFmzZh5HM65Tp47efvttzZo1y%2BO6nJOoqCinbYU3ZcyJ42uTk5M99lZxdcIhtychpMwxJlavXq0nn3zS43ypVapUUf/%2B/fXll18qIiIi1%2B/lTvv27TVv3jzVqVPH5eNlypTRgAEDtGjRolzPKfvoo49qxYoVevLJJ1W3bl2FhISoTJkyioyM1OOPP65ly5ZpwIABSkpKMrvVGobhcXyBolJ3eTF06FAtW7ZMnTt39vj7r1evnoYOHaq5c%2Be6fLxs2bJauHChunXr5nKgM8Mw1KJFCy1evFht27bNVTlHjBihWbNmOQ0M5igyMlLz5s3L9%2BwCvijDwIEDNXHixBxbOG%2B99VZ9/fXXuaqzqVOnasSIETmGo1q1amnWrFkaMWJErspqpS5dumjp0qV67LHH1LBhQ4WFheWp5dlxrInWrVvnanDJ/OjSpYvmz5/vdHmXo4iICL333nt67rnnLHvPG2%2B8UStWrNCDDz6Y4/FBYGCg%2BvTpo6ioKKcZA3Ji1feAa5NhZ3x5%2BEhycrJ27NihmJgYs6tiWFiYatSoofr16%2Bdq1MjY2Fht3bpVp0%2BfVkBAgCpVqqRbbrkl3zsMu92uHTt26ODBg0pISFDFihVVr149p6nHipKsacMOHTpkznUbGhqqiIgIRUZGuj0jW9R06dLFbNGZP39%2BjtdCFUXR0dE6cuSITp06pStXrqhUqVIKDw9X3bp11aRJE6%2BuU/W1lJQU7d%2B/X8eOHdO5c%2BeUnJyskJAQVapUSQ0bNlTdunV9XcQiJyMjw2n9S09PV5kyZVS1alXVq1evUE5q2Ww27d69W3v37tWlS5cUHh6uatWqqWXLlk6j7heEbdu26fHHH5eU2W3fm8HUshSFusurpKQkp32ZYRgKCwtTzZo11aBBg1yNyvz3339r69atOnPmjAICAlS5cmXdcsstHi/v8MRut2v79u06ePCgLl%2B%2BrIoVK6p%2B/fpeTetmFW/KMGnSJM2bN09S5omdsWPHelxuamqqfvvtNx05ckTJycmqVKmSGjdurHr16uW5rJcuXdLWrVv1119/KT09XZUrVza339eCtLQ0tW3b1jyRPX36dKfBB63k7jvdu3evDhw4oLi4OIWGhqpevXpq1qxZjo0mVkhOTta2bdsUExOjhIQEhYWFmdtIq3uUoeQiYAMocnbu3GkObBIQEKBffvnFYwsXAN8aM2aMOQVYr169vB7xGsiSl4CN3Fu9erVGjRolKbOH2IYNG/LcE8kTvlOURHQRB1CkXL58Wa%2B//rp5u0OHDoRrwEe8PQe/fv16pzmt8zO1DoCC5Xi5Qt%2B%2BfQssXAMlFQEbQKG4cuWKevbsqYULF%2BrMmTPZHk9PT9eaNWvUt29fHTp0SFJm63XWAHoACt%2BCBQv00ksvadOmTS7n/T137pxmzJihESNGmGG8WbNmatWqVWEXFYAHdrtdH374oTkgV2BgoAYMGODjUgHXHkYRB1BoDhw4oDfffFNvvvmmIiIiVK1aNQUFBenSpUs6evRotnlHR48e7TTfJIDClZaWpuXLl2v58uUKCAhQ7dq1Vb58edntdp05c0bHjx93auWuWLGiJk2a5HKwLgCF7%2Beff9aiRYuUnp6uI0eOKCYmxnxswIABLqdCBZA/BGwAheLqA%2B7Tp09nm0oqS1hYmMaMGeNyujcAhcdxsKG0tDRzij1XmjRpounTpxfaaMQAPDtx4oTL6e9uvfVWPfvssz4oEXDtI2ADKBQhISHmPLfbt2/XkSNHFBsbq6SkJAUGBqpcuXKqV6%2Be7rjjDvXp04frroEiYMCAAWrYsKE2btyo3bt368SJEzp//rzS0tIUFham6667Tk2bNlWnTp1yPYUUgMIVEBCgmjVrqmvXrho8eLBPprQESgJGEQcAAAAAwAIMcgYAAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABfx9XQBfstvtio%2B/IpvN7uuilDh%2BfoYqVChD/fsAde9b1L9vUf%2B%2BQ937FvXvO9R94alUKczXRQBKdgu2YRjy8zN8XYwSyc/PoP59hLr3Lerft6h/36HufYv69x3qHihZSnTABgAAAADAKgRsAAAAAAAsQMAGAAAAAMACBGwAAAAAACxQokcRBwAUHMMoegP6ZBXJMIpm%2BQqL3c5IxgAAFAQCNgDAcqVLX5FhJPi6GNlkjuIbqKCgVAUElNyQabeXVVJSGV8XAwCAaw4BGwBgKcMwZBgJstt/lZTi6%2BI4sdkyA7bNllqCW3GDZBitZRihJbgOAAAoGARsAEABSZHdnuzrQjjJ7BZuV2bZSma4LME94wEAKHAMcgYAAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYwN/XBQCKMsMwfF0Ey2V9JMMo3p/Pbrf7uggAAACAEwI2kIPSpa/IMBJ8XQzL%2BfkZkgIVFJSqgIDiG1Lt9rJKSirj62IAAAAAJgI24IJhGDKMBNntv0pK8XVxLGWzZQZsmy21GLcCB8kwWsswQovxZwAAAMC1hoANuJUiuz3Z14WwVGa3cLsyP1vxDKfFuGc7AAAArmEMcgYAAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWMDf1wUAgLwxZBiZ/xcnhvF//xtG8Sq7t67RjwUUmoLYNpSEbU9hsNvtvi4CgCKOgA2gGPKXv79dwcF/SypeBzt%2BfoakQAUFpSogoHiV3Xt%2B8vdPU1qar8sBFD%2BlS1%2BRYSRYvtySse0peHZ7WSUllfF1MQAUYQRsAMVQKRnGZdnteySl%2BLowuWKzZR7k2myp13BLSFkZRn1fFwIodgzDkGEkyG7/VVZv20rGtqegBckwWsswQqlDADkiYAMoxlJktyf7uhC5ktk1067Msl%2BbB2iGEeTrIgDFnPXbtpKw7Slo9KwH4A0CNgAAJU7hj2HANcCeUS0AUPwRsAEAKFF8M4YB1wB7g/ELAKC4I2ADAFCi%2BGYMA64B9gbjFwBAcUfABgCgRCrcMQy4Btgzxi8AgOLPz9cFAAAAAADgWkDABgAAAADAAgRsAAAAAAAsQMAGAAAAAMACBGwAAAAAACxAwAYAAAAAwAIEbAAAAAAALEDABgAAAADAAgRsAAAAAAAsQMAGAAAAAMACBGwAAAAAACxAwAYAAAAAwAL%2Bvi4AAAAAUDwYMozM/71%2BhfF//xuG968DUDwRsAEAAACP/OXvb1dw8N%2BS7F6/ys/PkBSooKBUBQR4/zrkRX1fFwAgYAMAAACelZJhXJbdvkdSitevstkyA7bNliq7nYBdcIJEwEZRQMAGAAAAvJYiuz3Z62dndgu3/%2B/rCNgFhd73KCoY5AwAAAAAAAsQsAEAAAAAsAABGwAAAAAACxCwAQAAAACwAAEbAAAAAAALELABAAAAALAAARsAAAAAAAsQsAEAAAAAsAABGwAAAAAACxCwAQAAAACwAAEbAAAAAAALELABAAAAALCAv68LUNIZhuHrIvhE1sc2jKJZB0WwSAAAAACKOAK2D5UufUWGkeDrYviEn58hKVBBQakKCLD7ujgu%2BMnfP01pab4uBwAAAIDigoDtI4ZhyDASZLf/KinF18UpdDZbZsC22VJltxfFgF1WhlHf14UAAAAAUIwQsH0uRXZ7sq8LUegyu4Xblfn5i17ANowgXxcBAAAAQDHDIGcAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAow5C4gAAIABJREFUAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFDLvdbvd1IXwpI8Pms/c2jHRJKZJK5lfg52fIZiuqn91PhhEguz1V1%2BL3U7Tr3hvF%2B/sp/vXvSdH%2Bfq79%2BvfEd98Pde9JwX431H9%2B5f37oe4LnmGEyDD8fV0MoGQHbLvdzsbOh9jZ%2BA5171vUv29R/75D3eePn1%2BMDCNddru/bLbr8/B66t9XqPuC5%2BdnyG7PUFLS0UJ7T7u9rJKSyhTa%2B8G3KlUK8%2Bp5Jfo0j2EYSkhIVHq671qxSyp/fz%2BVL1%2BG%2BvcB6t63qH/fov59h7rPv%2BDgJQoJmabExNFKTh6Uq9dS/75D3ReOChXKyDBsstt/VWYP0YIWJMNoLcMIVQlur4QLJTpgAwAAFBfJyYNyHayBkidFdntygb%2BLYRT4W6CYYpAzAAAAAAAsQMAGAAAAAMACBGwAAAAAACxAwAYAAAAAwAIEbAAAAKCICg6eqwoVGik4eK6viwLACwTsEoaNNIobfrMAgJIsJGSaSpU6oZCQab4uCgAvELBLGDbSKG74zQIASrLExNHKyKihxMTRvi4KAC8QsEsYNtIoblz9ZmnVBgCUFMnJgxQfv5c50IFiwt/XBUDhSk4exAYaxYqr36xjqza/ZwAAABQVtGADKHboiQEAAICiiBZsAMUOPTEAAABQFNGCDQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQDIt%2BDguapQoZGCg%2Bf6uihAicK6B1wtSIYRXOD/pCBJhgxDMgyjQP6hePL3dQEAAMVfSMg0lSp1QiEh05ScPMjXxQFKDNY94P8Yhp8CA5sU2vvZ7XYFB/8tyV5Ayy%2BrpKQyBbJsFBwCNgAg3xITRyskZJoSE0f7uihAicK6B/wfu92u1NSDklIK6R0zJKUX0LKDZBitZRihstsLJsCjYBCwAQD5lpw8iNYzwAdY9wBHdkkJstuTfV2QfKOHePHFNdgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAAAACABQjYAAAAAABYgIANAAAAAIAFCNgAAAAAAFiAgA0AAAAAgAUI2AAAAAAAWICADQAoloKD56pixRtUseINCg6e6%2BviAAAAELABAMVTSMg0%2Bfmdl5/feYWETPN1cQAAAAjYAIDiKTFxtGy28rLZyisxcbSviwMAACB/XxcAAIC8SE4epOTkQb4uBgAAgIkWbAAAAAAALEDABgAAAFCsGcYlXxcBkETABgAAAFDMGcZFXxcBkETABgAAAPIkOHiuKlRoxFSBRYDdHu7rIgCSCNgAAKAEIyDlDvXlLCRkmkqVOsFUgQ589Rux28MK9f2AnBCwAQBAiUVAyh3qy1li4mhlZNRgqkAH/EZQ0hGwAQBAkVNYrWCFEZCupVZfAqWz5ORBio/fy5SBDviNoKQjYAMWuZYOoADA1wqrFawwAtK11KJHoIQn/EZQ0hGwAYtcSwdQAOBr11Ir2LX0WQAA7vn7ugDAtSIxcbRCQqZxAAUAFkhOHnTNtIBdS58FKPqCZBi%2BLoMVgiQZ//tZrokPVCzY7fZ8L4OADViEAygg/4KD55onqlifgOKPdRqFyTD8FBjYxNfFsIzdbldw8N%2BS8h/64B27vaySksrkaxkEbKAI48AEJY3jpRb85oHij3Uahclutys19aCkFF8XxSIZktJ9XYgSJEiG0VqGEZqvlmwCNlCEcWCC/8/evcfJWdf3Av/MbnazSWAhgYCEW7kcLkFuvkChBQJRpNTbkYt6RLQQA3I5goG%2BChR6EFvQCkHkJmiQq9QDAnoUqLXaAAWLLR4sOYABNFwqAUIgJJtN3M2cPzBpAoHs7D4zz8zu%2B/168SKZZ/aZ734z88zz%2Bf2ey0jjVAsYXnymaaxqkkWpVnvLLoQWVNSpBQI2NDE7Jow0TrWA4cVnGhhpXEUcmphbXTCSufUdANBqBGxalp1vGN7c%2Bg4AaDUCNi3LzjcMb%2B4dDAC0GgGblmXnG4Y3p0gAAK1GwKZl2fkGyuIUFQBgbQRsAEaErq5Z6e7eOck3hrwup6hQFoM7AM1NwAZgRFgZipMvD3ldRZyiIiiNXEP5t2%2BGwR3vXYC3JmADA2KHila3MhQnZwx5XUWcotIMQYlyDOXfvhmuP%2BK9C/DWBGxgQFpxh6pVBwVate5m19s7LYsWPZrkc2WXkqQ5ghLlGMq/fTNcf8R7F%2BCtCdjAgLTiDlUrDgokrVs3tak1KBl4GT6aISQPRavXD1BPAjYwIK24Q9WKgwJJ69ZNfRl4AYDmJ2ADw1YrDgokrVs39VXUwIuZcACoHwEbaDg7%2BFC7ogZezIQDQP2UHrDnzZuXv/7rv85HPvKRTJ48OR/84Aff9vmPPPJIdt555%2By5554NqhAomh18KI9TEACgfkoP2HPnzs3s2bOz9dZbZ7vttnvb51ar1XzpS1/KhAkTGlTd8GcmkTLYwYfyOAUBAOqn9IA9derUzJ49O1//%2Btezyy67vO1zv/e972XhwoU5/PDDG1Td8GcmkTLYwWckMqAJQ%2BdzBDS70gN2W9vASli0aFEuuuiinHnmmeno6KhzVSOHmUSAxhjMgKYwAWsyMQA0u9ID9kB97Wtfyy677JKDDjqo7FKGFTOJAI0xmAFNYQLWZGIAaHajyi5gIB599NHceuutuf322wtfd3t7y4wxDCsr%2B67/jaf35dL/cpXZ/76%2B6Vm0aHqSZNQAv317e09LV9dF6e09LaNGtfZ7xnu/XIPpf2fnt1a9/5Yv/2y9SqvJYD5HZfPeb6RKKpXX/4PaVdLWVsmoUZVUq4N/DzX9pqlarea8887LJz/5yXVeBG0wurvHFL5OBk7/B%2BsbSb6c5IwknxvUGvS%2BXPo/GEN/36/UOv0/JckpGTcuGTeu7FqK0Tq9H55q6//FSZ7JuHEXZ9y4U%2BpV0ojhvV9/1Wp/xo3rTFItuxRaUmeSzowZM7Qv3KYP2HfeeWeefPLJXHjhhVm0aFGSZNmyZUlePy979OjRGT169KDXv2jR0vT3ryikVgauvb0t3d1j9H%2BQurvPT3v7M%2BnvPz%2BLFh1d08/qfbn0f/CG8r5fSf/LU0bvm2EGthlqSAbX/87OL/yh9i9k%2BfIlda5w%2BLLdebN6fC66u8ekUkl6epYnWVbIOhlpKmlrW55ly5akupYxmvHjBxa8mz5gP/XUU3n11VczderUNy3be%2B%2B9M3369Jx%2B%2BumDXn9//4r09Q3/jV1X16yMHTszPT0zmup865HS/6L19MxY9e852P7pfbn0v3Zre98Pdtum/%2BVpZO%2B7uy9Ke/sz6eq6KD09xzbkNZuxhtXV0v%2B%2BvmNXq9nnZahsd/5L/T4X1VSrr/8HtapUqlmxopq%2BvqG9h5o%2BYH/0ox/Nu9/97jUeu/3223PnnXfmm9/8ZiZNmlRSZa1l9QvlNFPAZnB6e6f5d2ywZh2kGknW9r5vxLbNv33rWn1QZiTXAM2mvp%2BL0XEKNoMz%2BKOiV1d6wF66dGlmz56dJHnuueeyePHi3H333UmSd7/73dliiy2yxRZbrPEzDz74YNrb2/Oe97yn4fW2Kl/wMDQGqZpTI7Zt/u1bVzMMRjZDDVC2Nw5U1utzUam0pbNz18LXS2NUq6PT11fu7Zir1e4hHwFResBesGBBTjllzQtnrPz79ddfL0QXxBc8DI1BqubUiG2bf3uGK0dn0CiNGqisVqtZvvzXcQ52KxqdSmWv9Pa%2BY63nPzdKEacXVKoj/CSFhQuXOB%2BmBKNGtWX8%2BHH6XwK9L5f%2Bl2uo/RdIBs97v1xr6/%2BECbv84cKBW%2Bbll%2BeUXOHw5b3fmG3nhAnjUqn0pafn2lSrvXV5DeqnUulKpXJgli6d1LTn0E%2BcuP6AnueGfAAwQKvPwkCr6%2BmZkf7%2BLR2dQd319k7Lyy/PMTDJiCBgA8AACSQ0WlfXrEyYsEu6umYVvm6hB6B4AjYADVPPsNAIAgmNVu%2BjJlr9MwnQbARsABrGIdZQm3ofNeEzCVAsARuAQat19mukHmJtlpDBqvdREyP1MwlQLwI2AINW6%2BzXSD3E2iwhzaq3d9qqW9EZAAIYOgEbgEEz%2BzUw%2BkQzMwC0do48AQZDwIYW4wufZjJSZ6RrpU8MRb23%2BwaA1s7AAzAYAja0GF/4w59BFGB19d7uGwBaOwMPwGAI2NBifOEPfwZRgNXZ7pfDwAMwGKPKLgCoTW/vNF/2w9zKCw7ZmQYS232AViJgAzQZO9MAAK3JIeIAAABQAAEbgBHPheUAgCII2ACMeC4sN3IZXAGgSAI2ACOeqzSPXAZXACiSgA0wAGa5hje34xm5DK4AUCQBG1qMoFcOs1wwPBlcoRkNt%2B/64fb7wNsRsKHFCHrlMMsFjdfInXIBgGYy3L7rh9vvA29HwIYWI%2BiVwywXNF4jd8oFAJrJcPuuH26/D7ydUWUXANSmt3eakAeMCD09MzJ27MyG7JQ38rVgXYbbd/1w%2B33g7ZjBBoAGczjywDTyyBFHqQBQBAEbABrM4chAszHwB8VwiDgAg9LVNWvVIbVm/WrjcGSg2aw%2B8Nfa2/TRqVTKroHajU5S%2BcO/XfH/gNVqtfB1vhUBG4BBGT47Y43nfESg2QyHgb9KpS2dnbuWXQaDVK1W09X1uyTFh%2BFqtTtLl44rfL1rI2CXxMwP0OqGw84YAK8bDgN/1Wo1y5f/OsmyskthUPqT9NVhvaNTqeybSmW9hsxkC9glMfMDtLpW3Bnr7PxWkovT2fmF9PUdW3Y5ABSgq2tW2toOS7X6jiSLUq32ll0STaTRpwy4yFlJ3A8QoLFeP3LotCTz0tV1UdnlADAIa7sY29ixM1Op1GPmE2onYJfE7UBoJFcGhZU7YP1J2tPbe1rZ5QCwDm8Vpt94F4aenhmpVh2YS3MQsGEEcEsg%2BK8jh5LLsnz5Z8suB4B1eKsw/cajQHt7p2XFii3KKBHeRMCGEcApCa3L0QfF6e2dlkWLHk3yubJLAWAA3ipMOwqUZiZgwwjgy6h1vXH0XuAGYKSw/0IrErChiQhPvNEbR%2B8d7g8A0LwEbGgiwhNv9MbRe4f7AwA0LwEbmojwxLo4XA4AoHkJ2DAI9TqUW3gCAIDWJWDDIDiUG0Ym10mgUbzXAFqTgA01WLnD8/vfv8eh3DACGVyjUbzXAFqTgA01WLnD09Hxrw7lhhHIdRJoFO81gNYkYEMN7PDAyOY6CTTKcHyvOewdGAkEbKjBcNzhAYBGcNh7eQxuQOMI2AwrvkAAmsNI3x6P9N9/bRwFVh6DG9A4AjbDSrN8gdixAka6Ztkel2Wk//5r4yiw8hjcgMYRsBlW3uoLpNGB144VMNKN9B36kf7701wMbkDjCNg0XFfXrHR375zkG4Wv%2B62%2BQBodeO1YASPdSN%2BhH%2Bm/P8BIJWDTcCvDbvLlhr1mowOvHSsYnOF4esVw/J0AgLUTsGm4lWE3OaNhrynwQmsYjqdXDMffCQBYOwGbhuvtnZZFix5N8rmySwGazHA8vWI4/k4AwNoJ2EDTcCjt60ZyH4bj0SbD8XcCANZOwAaahkNpX6cPMHAjeUAKgOYzquwCgObQ1TUrY8fOTE/PjNJm2np6ZqyqoVlqKsMb%2BwD11Oqfs9UHpFqxfqBoo1OplF0DzWV0Q19NwAaSNMdOam/vtDVeuxlqKsMb%2BwD11OqfMwNSwEqVSls6O3ctuwwKVK2OTl9fRwHr6U61Wi2gonUTsBlRWn2mpp6acSe1GWuC4abVP2cGpGgl9kPqq1qtZvnyXydZVnYpFGJ0KpW90tv7jgw1GzcqXCcCNiNMq8/U1FMz7qQ2Y00w3LT650xgoZXYD6m3apJFqVZ7yy6EAlQqXUlWpFptbEAeKhc5oyUN9qI2zXa7HBfnARiaoV4U0HaYRmq2/RCgeAI2LWmwO1TNdrscV4uG1wk5DNZQA4vtMI3UbPshQPEEbFrScBkBHi6/BwyVkMNgDTWw2A4DUCQBm5Y0XEaAh8vvAUMl5AxcUbP9jhp4ne0wAEUSsKFgdloZjur9vhZyBq6o2X5HDQBA8QRsKFir77QaIGBtWv19PZwUNdvvqAEAKJ6ADQVr9Z1WQYq1afX39XBS1Gy/owYAoHgCdpMyi9i6Wn2nVZBibVr9fQ0A0AgCdpMyi0hZBCkAABgcAbtJmUUEAJqVI%2B0A1k7AblJmEQGAZuVIO4C1E7ABAKiJI%2B0YDEc%2BMBII2MA6tcIXYivUCDBcONKOwXDkAyOBgM2IJZANXCt8IbZCjQAwkjnygZFAwGbEEsgGrhW%2BEFuhRgAYyRz5wEgwquwCoCw9PTMyduxMgWwAenunNf2XYSvUCADA8GYGmxHLKCqMHCtPCens/FbZpQAAw5iADbAa5%2BYPTytPCenquqjsUgCAYUzABljNSD43fzgPLqw8R7%2B397SySwEAhjEBG2A1I/liacN5cGHlKSHLl3%2B27FIAgGFMwAZYzUg%2BN38kDy4AABSh9KuIz5s3L7NmzcrDDz%2BcuXPnZtttt80Pf/jDVcv7%2B/tzzTXXZPbs2XniiSfS39%2BfHXbYISeffHL23XffEisHGF5cib0YXV2zVt2hQD8BYGQpfQZ77ty5mT17drbeeutst912b1re29ubq666KjvttFMuuOCCzJw5M5tuummOOeaY/OxnPyuhYhjemuk83GaqBQZqOB9qDwC8vdJnsKdOnZr3ve99SZIzzjgjjzzyyBrLu7q68k//9E/ZYIMNVj2233775be//W2uueaaHHTQQQ2tFwailWewVg8HZdfeTLXAQPX0zFj1%2BQeg0UanUim7BooxuuwCBqX0gN3W9vaT6O3t7WuE6ySpVCrZaaed8u///u/1LA0GrZWDYTOFg2aqBQbKofYA5ahU2tLZuWvZZTSdanV0%2Bvo6yi5jUKrV7lSr1bLLqEnpAXswVqxYkV/%2B8pdrPaQcmkErB8NmCgfNVMtgtPKRDADQaqrVapYv/3WSZWWX0kRGp1LZK72970iL5dQkablwnbRowL7hhhvym9/8Juedd96Q19XeXvpp6CPSyr4P1/739U3PokXTkySjmuxTNtx7PxCdnd9KV9dF6e09ra63bVr9SIa%2BvtffD/pfLv0vj96XS//Lo/eNVam8lqS37DKaSFfa2qppb6%2B0ZMBOWu94/ybb9V%2B3Bx98MF/96ldz7LHHZu%2B99x7y%2Brq7xxRQFYOl/%2BUZ2b2/OMkzGTfu4owbd0odX%2BesJF9Oe/sZGT9%2B3BpLRnb/y6f/5dH7cul/efS%2B/qrV/owb15mkJZNknXQm6cyYMePW%2BUyK0VIB%2B7HHHsuJJ56Y973vffmLv/iLQta5aNHS9PevKGRdDFx7e1u6u8fofwn0Puns/MIfZrC/kOXLl9TxlY7%2Bw39J8vrr6H%2B59L88zdT7Rh3F0kyaqf8jjd43Rnf3mFQqSU/P8jhEfHWVtLUtz7JlS1p0Brt5vHGy5K20TMB%2B%2Bumn89nPfjaTJ0/O3/3d36VS0OUB%2B/tXpK/Pxq4srdz/Vj%2B/tpV7P1R9fcemp%2BfYP/ytnB6M5P43A/0vTzP0vrv7orS3P5OurotW2xaMDM3Q/5FK7xuhmmq12pLn7dZLpVLNihXV9PXpS6O0xMkgL774Yo499thsvPHGueKKK9LZ2Vl2SeBet1AS90dnqHp6ZqS/f8uWvBAlAM2t9BnspUuXZvbs2UmS5557LosXL87dd9%2BdJHn3u9%2BdsWPH5rOf/WwWLFiQM844I0888cQaP7/HHns0vGZIWvtK4dDKWvk2eDSHVr9DAQDNq/SAvWDBgpxyypoXGVr59%2Buvvz6bb755HnvssSTJSSed9Kaff/zxx%2BtfJKyFHTQoh8EtAKBZlR6wt9hii3WGZCEagJUMbgEAzaolzsEGAACAZidgAwDwtlxcEGBgBGwAAN6WO2cADIyADQDA23JrM4CBKf0iZwAANDcXFwQYGDPYQN05dw8AgJFAwAbqzrl7AAyGAVqg1QjYQN05dw%2BAwTBAC7QaARuou97eaXn55TlNff6eWRIGwvsEGssALdBqBGyAmCVhYLxPoLFaYYAWYHUCNkDMkoxktcxKe58AAG/HbboA4hY0I9nqs9Lreg94nwAAb8cMNgAjmllpAKAoZrABGNHMSgMARTGDDQAAAAUwgw111NU1K2PHzkxPzwwzZABr0cjtpG0yjASjU6mUXUMzGV12ASOOgA11VMvFkwBGokZuJ22TYXirVNrS2blr2WWsU7U6On19HQ18ve5Uq9WGvd5IJ2BDHfX0zFg1WwLAmzVyO2mbDMNbtVrN8uW/TrKs7FLexuhUKnult/cdaVTmFa4bS8CGOnLxJIC318jtpG0yDHfVJItSrfaWXchbqlS6kqxItSr4DlcucgYAAAAFELABAACgAAI2AOnqmpUJE3ZJV9essksBAGhZAjYAa1xdGQCAwRGwAUhPz4z092/p6soAAEMgYEMTcHguZevtnZaXX57jCssAAEMgYEMTcHguAFBvBvSh/gRsaAIOzwUA6s2APtSfgA1NwOG5AEC9GdCH%2BhtVdgEAAED99fZOM5gPdWYGGwBahPMnAaC5CdgA0CKcPwkAzU3ABoA6KnLW2fmTANDcBGwAqKMiZ51dEBEAmpuADQB1ZNYZAEYOARsA6sisM8CaXLCR4UzABgAAGsYFGxnOBGwAAKBhnDrDcCZgA7QAh9MBMFw4dYbhTMAGaAEOpwMAaH4CNkALKPtwOjPowLrYTgAI2AAtoezD6cygA%2BtiOwEgYAMwAGXPoAPNz3YCIBlVdgEANL/e3mkuRgO8LdsJmsPoVCpl1/B2RpddAHUmYAMAAC2vUmlLZ%2BeuazxWrY5OX19HSRWtXbXanWq1WnYZ1ImADQAAtLxqtZrly3%2BdZNkfHhmdSmWv9Pa%2BI82UZ4Xr4U3ABgAAhoFqkkWpVnuTJJVKV5IVqVaFWhrHRc4AAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANq%2BnqmpUJE3ZJV9essksBAABajIANqxk7dmba25/J2LEzyy4FAABoMQI2rKanZ0b6%2B7dMT8%2BMsksBAABazKiyC4Bm0ts7Lb2908ouAwAAaEFmsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAAXOQMAAIaJ0alU/uvPSeUPf1/1YKrVauPLYsQQsAEAgJZXqbSls3PXNR6rVqvp6vpdkupqj3Vn6dJxDa6OkULABgAAWl61Ws3y5b9Osmy1R/uT9K3299GpVPZNpbKemWzqwjnYwLDQ1TUrEybskq6uWWWXAgCUoppkUarVV1f7b3Gq1d5V/60ZvqF4AjYwLIwdOzPt7c9k7NiZZZcCAMAIJWADw0JPz4z092%2BZnp4ZZZcCAMAIVXrAnjdvXv76r/86H/nIRzJ58uR88IMfXOvzZs%2Benf/%2B3/97dt111xx88MG56aabGlwp0Mx6e6fl5ZfnpLd3WtmlAAAwQpUesOfOnZvZs2dn6623znbbbbfW5/zyl7/MiSeemMmTJ%2Beb3/xmPvrRj%2BZv/uZvcssttzS4WgAAAFi70q8iPnXq1Lzvfe9Lkpxxxhl55JFH3vScyy%2B/PJMnT87555%2BfJNlnn33yu9/9LpdcckkOP/zwtLWVPk4AAADACFd6Ml1XOF6%2BfHl%2B/vOf5wMf%2BMAaj3/oQx/Kiy%2B%2BmP/3//5fPcsDAACAASk9YK/L008/nd///vfZdttt13h8%2B%2B23T5I8%2BeSTZZQFAHXhlnMA0LpKP0R8XV599dUkSXd39xqPr/z7yuWD1d7e9GMMw9LKvut/4%2Bl9ufS/XK3Q/9VvOdfXN73scgrTCr0fzvS/PHrfSJVUKq//93bPaWurZNSoSqrVt3seDE7TB%2ByV3uqD8vYfoHXr7h4zpJ9naPS/PHpfLv0vV3P3/6wkX057%2BxkZP35c2cUUrrl7P/zpf3n0vv6q1f6MG9eZpPo2z%2BpM0pkxY4bf9pXm0PQBe4MNNkjy5pnqRYsWJXnzzHatFi1amv7%2BFUNaB7Vrb29Ld/cY/S%2BB3pdL/8vVGv0/%2Bg//JcmSMgspVGv0fvjS//LofWN0d49JpZL09CxPsuxtnllJW9vyLFu2JNW3y%2BHwBgMd9G76gL3VVlulo6MjTz31VA444IBVjz/xxBNJ8pa39hqo/v4V6euzsSuL/pdH78ul/%2BXS//Lofbn0vzx63wjVVKuv//dWKpVqVqyopq/v7Z8Hg9X0J4N0dnZmn332yV133bXG4z/84Q8zceLETJ48uaTKAAAA4L%2BUPoO9dOnSzJ49O0ny3HPPZfHixbn77ruTJO9%2B97szYcKEnHTSSfnUpz6Vs88%2BOx/60Ify0EMP5ZZbbsl5553nHtgAAAA0hdID9oIFC3LKKaes8djKv19//fV5z3vekz333DNXXHFFZs6cmTvuuCPveMc7cvbZZ%2BfII48so2QAAAB4k9ID9hZbbJHHH398nc%2BbMmVKpkyZ0oCKAAAAoHaOrwYAAIACCNgAAABQgJoD9k9%2B8hOXtAcAAIA3qDlgn3zyyXnve9%2Bbq6%2B%2BOgsXLqxHTQAAANByag7Y3/72tzN58uRccsklOfDAA3PmmWfmP/7jP%2BpRGwAAALSMmq8ivu%2B%2B%2B2bffffN888/n%2B985zu59dZbc8cdd%2BSbOooSAAAgAElEQVSd73xnPvWpT%2BXQQw9NZ2dnPWoFAACApjXoi5y94x3vyIwZM/LP//zPueCCC9LX15czzjgjBx54YL72ta9lwYIFRdYJAAAATW3IVxGfP39%2BHn/88Tz33HNpa2vLNttsk2uuuSYHH3xwZs%2BeXUSNAAAA0PRqPkR8pdmzZ%2Bemm27Kfffdl/XXXz8f%2B9jHctRRR2WzzTbLiy%2B%2BmLPOOivnn39%2BpkyZUmS9AAAAb2F0KpW3X55U/vCc15/oDkkUqeaAfc011%2BTmm2/Os88%2Bm%2B233z7nnntuPvzhD6erq2vVcyZOnJjp06fnM5/5TKHFAgAArE2l0pbOzl3X%2BbxqtZqurt8lqf7h791ZunRcnatjpKg5YF944YWZMmVKzjvvvOy7775v%2Bbytt946xx9//JCKAwAAGIhqtZrly3%2BdZNk6ntmfpO8Pfx6dSmXfVCrrmcmmEDUH7H/4h3/Illtuuc7nbbrppjn11FMHVRQAAEBtqkkWpVrtHfBPvP3h5FC7mi9y9r/%2B1//KU089tdZlv/3tb3PssccOuSgAAABoNTUH7Pvvvz%2BLFy9e67LFixfngQceGHJRAAAA0GqGfJuu1b300ktrXOwMAAAARooBnYP905/%2BND/72c9W/f2qq67KhAkT1nhOb29vfv7zn2ennXYqtkIAAABoAQMK2I8//ni%2B//3vJ0kqlUruueeeVN5wRYDOzs7ssMMOOfvss4uvEgAAAJrcgAL2CSeckBNOOCFJstNOO%2BWmm27KbrvtVtfCAAAAoJXUfJuuOXPmpL29vR61AAAAQMuq%2BSJnwjUAAAC82YBmsA855JBccskl2WmnnfL%2B97//Tedfv9E//MM/FFIcAAAAtIoBBezddtst48aNW/XndQVsAAAAGGkGFLC/%2BtWvrvrzhRdeWLdiAAAAoFXVfA42AACsS1fXrEyYsEu6umaVXQpAwwxoBnv%2B/Pk1rXTTTTcdVDEAADSPrq5ZGTt2Znp6ZqS3d1pNPzt27My0tz%2BTsWNn1vyzAK1qQAF7ypQpNZ13/eijjw66IAAAmsNQQnJPz4xV4RxgpBhQwP7Sl75U7zoAAGgyQwnJvb3TzFwDI86AAvaRRx5Z7zoAAGgyQjJAbVzkDAAAAAowoBnsN1qxYkXuu%2B%2B%2BPPXUU%2Bnt7V1jWaVSyfHHH19IcQAAANAqag7Yr7zySo4%2B%2BujMnTs3lUol1Wo1Sda4CJqADQAAwEhT8yHil1xySdra2vKP//iPqVarufnmm3PnnXfm6KOPzh/90R/lpz/9aT3qBAAAgKZWc8C%2B//77c8wxx2TSpElJko6Ojmy77bY566yzss8%2B%2B%2BTCCy8svEgAAABodjUH7Oeffz5bbLFF2tvb09bWlqVLl65aNnXq1Nx3332FFggAAACtoOaAveGGG2bx4sVJkokTJ2bu3Lmrlr322mvp7%2B8vrjoAAABoETVf5Gzy5Ml54okncuCBB%2BaAAw7IFVdckQ022CAdHR25%2BOKLs/vuu9ejTgCAptLVNStjx85MT88M94qGpjE6q117eUDPhyLVHLCPOuqozJs3L0ly6qmn5v/%2B3/%2Bb0047LUmy%2Beab56yzziq2QgCAJjR27My0tz%2BTsWNnCtjQFNpSqexb809Vq92r7owEQ1VzwN5vv/2y3377JUk22mijfP/7389jjz2WSqWS7bffPh0dHYUXCQDQbHp6ZqyawQbKV622ZenSSYP4OeGa4tQcsN%2Bora0tkydPLqIWAICW0ds7zcw1NBlhmbLVHLAfeuihdT7nXe9616CKAQAAgFZVc8D%2B5Cc/mco6rhzw6KOPDrogAAAAaEU1B%2Bxvf/vbb3ps4cKF%2Bad/%2Bqc8/PDDOfvsswspDAAAAFpJzQF7333XfmW%2BP/uzP8s555yTBx54IAceeOBQ6wIAAICW0lbkyt7//vfnhz/8YZGrBAAAgJZQaMB%2B7bXXsnz58iJXCQAAAC2h5kPE58%2Bf/6bHli9fnscffzwXXXRRdtttt0IKAwAAgFZSc8CeMmXKWq8iXq1Ws/XWW%2Becc84ppDAAAABoJTUH7C996Utvemz06NHZfPPNs8cee6S9vb2QwgAAAKCV1BywjzzyyHrUAQAAAC2t0IucAQAAwEhV8wz2scceO%2BDnViqVzJo1q9aXAAAAgJZTc8BeunRpnnnmmbz00kvZdNNNs/HGG%2Bell17K/Pnzs/HGG2errbaqR50AAADQ1GoO2CeddFL%2B6q/%2BKjfeeGP22muvVY//4he/yOmnn54TTjgh%2B%2B%2B/f6FFAgAAQLOr%2BRzsiy%2B%2BOCeffPIa4TpJ9t5775x44omZOXNmYcUBAABAq6g5YM%2BdOzeTJk1a67LNN988Tz755JCLAgAAgFZTc8DeaKON8uMf/3ity3784x9no402GnJRAAAA0GpqPgf7E5/4RC6%2B%2BOK89tpr%2BeAHP7jqImf/5//8n9x999059dRT61EnAAAANLWaA/bxxx%2Bfnp6efPvb385dd92VJKlWq%2Bno6Mj06dNz/PHHF14kAAAANLuaA3aSfOELX8gxxxyTX/7yl3nllVey4YYbZs8998yGG25YdH0AAADQEgYVsJNkww03zEEHHVRkLQAAANCyar7IGQAAAPBmAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBnSbrl122SWVSmXAK33kkUcGXRAAAAC0ogEF7M9%2B9rNrBOwf/OAHWbx4caZMmZKNN944L774Yu65556MGzcuH/nIR%2BpWLAAAADSrAQXsL3zhC6v%2BfO2112b8%2BPH5wQ9%2BkPXWW2/V46%2B99lo%2B85nPZIMNNii%2BSgAAAGhyNZ%2BDfdNNN%2BW4445bI1wnyfrrr5/jjjsuN954Y2HFAQAAQKuoOWA///zz6ejoWOuyjo6OvPDCC0MuCgAAAFpNzQF7m222ybXXXpu%2Bvr41Hv/973%2Bfa6%2B9Nttss01hxQEAAECrGNA52Ks79dRTc/LJJ%2Bfggw/OIYccko033jgvvfRSfvzjH2f%2B/Pn5%2Bte/Xo86AQAAoKnVHLCnTp2aq666KhdffHGuu%2B66VKvVVCqVTJ48Oeeee24OOOCAetQJAAAATa3mgJ0k%2B%2B%2B/f/bff/8sXrw4r776ajbYYIM3XfQMAAAARpJBBeyV1ltvPcEaAAAAMsiAvWLFitx333156qmn0tvbu8aySqWS448/vpDiVveTn/wkV111VZ588sl0dXXlXe96V2bMmJFtt9228NcCAACAWtUcsF955ZUcffTRmTt3biqVSqrVapLXg/VKRQfs%2B%2B%2B/PyeffHI%2B/OEP59RTT82iRYty2WWX5ZhjjsmPfvQjs%2BgAAACUruaAfckll6StrS3/%2BI//mIMPPjg333xzNthgg/z93/997r333lxzzTWFF/mjH/0okyZNyle%2B8pVVQX7zzTfPkUcemX//93/PlClTCn9NAAAAqEXN98G%2B//77c8wxx2TSpElJko6Ojmy77bY566yzss8%2B%2B%2BTCCy8svMi%2Bvr6MGzdujVny9ddfv/DXAQAAgMGqOWA///zz2WKLLdLe3p62trYsXbp01bKpU6fmvvvuK7TAJDniiCPy1FNP5YYbbsiiRYvy7LPP5itf%2BUq222677LvvvoW/HgAAANSq5kPEN9xwwyxevDhJMnHixMydOzd77713kuS1115Lf39/sRUm2XvvvXPZZZfltNNOy9/8zd8kSbbffvtcc8016ezsHNK629trHmOgACv7rv%2BNp/fl0v9y6X959L5c%2Bl8evW%2BsUaP0mXLVHLAnT56cJ554IgceeGAOOOCAXHHFFdlggw3S0dGRiy%2B%2BOLvvvnvhRT700EP5i7/4ixx%2B%2BOGZOnVqFi9enG984xuZPn16br755iFd5Ky7e0yBlVIr/S%2BP3pdL/8ul/%2BXR%2B3Lpf3n0vv6q1WrGjx9XdhmMcJXqysuAD9B9992XefPm5aijjsqCBQvy53/%2B55k7d26S1y88dvXVV2e77bYrtMjDDjsskyZNymWXXbbqsZdffjkHHHBATjvttBxzzDGDXveiRUvT37%2BiiDKpQXt7W7q7x%2Bh/CfS%2BXPpfLv0vj96XS//Lo/eNsXIAY9Gipet4JgzOQAdvap7B3m%2B//bLffvslSTbaaKN8//vfz2OPPZZKpZLtt98%2BHR0dta5ynZ588slMnTp1jccmTJiQTTbZJE8//fSQ1t3fvyJ9fTZ2ZdH/8uh9ufS/XPpfHr0vl/6XR%2B8bQ48pW80B%2B43a2toyefLkImp5S5MmTcqcOXPWeOzFF1/MCy%2B8kM0337yurw0AAAADMairACxcuDBf%2B9rX8slPfjKHHnponnjiiSTJLbfckscee6zQApPkqKOOyk9/%2BtOcd955%2BZd/%2BZfcddddmT59esaOHZsPf/jDhb8eAAAA1KrmGexnn302n/zkJ/PKK69khx12yG9/%2B9ssW7YsSTJnzpw89NBDueCCCwot8qijjkpHR0e%2B853v5Pbbb8/YsWOz66675itf%2BUo22WSTQl8LAAAABqPmgP3Vr34148aNy3e/%2B91MnDgx73znO1ct22uvvXLppZcWWmCSVCqVfPzjH8/HP/7xwtcNAAAARaj5EPEHHnggJ598cjbbbLNUKpU1lk2cODEvvPBCYcUBAABAq6g5YPf29mbDDTd8y2UAAAAwEtUcsLfZZpv8/Oc/X%2BuyX/ziF9lhhx2GXBQAAAC0mpoD9pFHHplrr702N910UxYvXpwk6e/vz09%2B8pN85zvfyZFHHll4kQAAANDsar7I2ac%2B9anMmTMnX/rSl3L%2B%2BecnSf7H//gfWbFiRQ477LAcccQRhRcJAAAAza7mgJ0kF1xwQQ4//PDMnj07L730UsaPH5%2BDDjooe%2B%2B9d9H1AQAAQEuoKWAvW7Ys3/jGN/K%2B970ve%2B21V/baa6961QUAAAAtpaZzsEePHp1Zs2alp6enXvUAAABAS6r5ImfbbrttnnvuuXrUAgAAAC2r5oD9uc99LldeeWWeffbZetQDAAAALanmi5z98Ic/TE9PTw499NDsvPPOmThxYiqVyqrllUoll156aaFFAgAAQLOrOWD/6le/SltbWyZMmJD58%2Bdn/vz5ayxfPWwDAADASFFzwL7nnnvqUQcAAAC0tJrPwQYAAADeTMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAoQM236Vpp3rx5efDBB7Nw4cIcdthh2XjjjbNgwYKsv/766ezsLLJGAAAAaHo1B%2BwVK1bk3HPPza233poVK1akUqnkT/7kT7LxxhvnzDPPzDvf%2Bc58/vOfr0etAAAA0LRqPkT8qquuyu23354vfOELueOOO1KtVlctmzJlSu69995CCwQAAIBWUPMM9m233ZYTTjgh06dPT39//xrLtthiizzzzDOFFQcAAACtouYZ7N/97nd517vetdZlXV1dWbJkyZCLAgAAgFZTc8CeMGFCnn322bUu%2B81vfpNNN910yEUBAABAq6k5YB9wwAG56qqr8sILL6x6rFKpZPHixbnxxhtz0EEHFVogAAAAtIKaz8H%2B/Oc/nyOOOCIf%2BMAHsu%2B%2B%2B6ZSqeTrX/96Hn/88VQqlZxwwgn1qBMAAACaWs0z2JtsskluvfXWvP/9789DDz2UJHn44Yezzz775Oabb86ECRMKLxIAAACaXc0z2MnrIftv//Zvi64FAAAAWlbNM9gAAADAm9U8g33OOee85bJKpZLu7u7suuuumTp1ajo6OoZUHAAAALSKmgP2PffckyVLlmTx4sVpa2tLd3d3Fi1alBUrVmS99dbLihUr0tPTk%2B233z7XXXddNtpoo3rUDQAAAE2l5kPEr7rqqnR3d%2Bfv/u7v8vDDD%2BfnP/95Hn744XzlK1/J%2Buuvn%2Buuuy433HBDXn755cycObMeNQMAAEDTqXkG%2B/zzz89nPvOZfPjDH171WEdHRz7ykY9k4cKF%2BfKXv5ybbrop06dPzzXXXFNosQAAANCsap7B/tWvfpUddthhrct22GGHzJkzJ0my8847Z%2BHChUOrDgAAAFpEzQF73LhxefDBB9e67MEHH8y4ceOSJMuWLVv1ZwAAABjuaj5E/AMf%2BEC%2B%2Bc1vplKp5E//9E%2Bz8cYb56WXXsqdd96Zb33rWznqqKOSJHPmzMm2225beMEAAADQjGoO2Keffnrmz5%2BfK664IldeeeWqx6vVav70T/80p512WpJkt912y7777ltcpQAAANDEag7YnZ2dueSSS/L444/nF7/4RV555ZVsuOGG2XvvvbPjjjuuet5%2B%2B%2B1XaKEAAADQzGoO2CvtuOOOawRqAAAAGMkGHbCT5NVXX01vb%2B%2BbHt90002HsloAAABoOYMK2FdffXWuv/76LFiwYK3LH3300SEVBQAAAK2m5tt03X777bniiivy8Y9/PNVqNdOnT8%2B0adOyySabZOutt84Xv/jFetQJAAAATa3mgH3DDTfk%2BOOPz4knnpgkOeSQQ3L66afn7rvvztixY7N48eLCiwQAAIBmV3PAnjdvXvbYY4%2B0tb3%2Bo319fUmSMWPGZNq0afn7v//7YisEAACAFlBzwB416vXTtiuVStZbb708//zzq5ZNmDAh8%2BfPL646AAAAaBE1B%2BytttpqVYh%2B5zvfmVtuuSX9/f1ZsWJFbrnllkyaNKnwIgEAAKDZ1Ryw99tvv/zrv/5rkuS4447LAw88kL322iv77LNP7rrrrkybNq3wIgEAAKDZ1XybrlNOOWXVn//4j/84N954Y370ox%2BlUqnkwAMPzJ/8yZ8UWiAAAAC0gpoC9vLly/ODH/wge%2B65Z7bbbrskyZ577pk999yzLsUBAABAq6jpEPHOzs6ce%2B65WbBgQb3qAQAAgJZU8znYW265ZV566aV61AIAAAAtq%2BaAffTRR%2Bdb3/pWlixZUo96AAAAoCXVfJGzefPmZcGCBZk6dWr%2B%2BI//OBMnTkylUlm1vFKp5Iwzzii0SAAAAGh2NQfs6667btWf77rrrjctF7ABAAAYiWoO2HPmzKlHHQAAANDSag7Y7e3t9agDAAAAWlrNAXulBx54IP/6r/%2BahQsX5nOf%2B1w222yzzJkzJ5MmTcr48eOLrBEAAACaXs0Bu7e3NyeddFLuv//%2BVKvVVCqVfOxjH8tmm22Wq6%2B%2BOpMmTcpf/uVf1qNWAAAAaFo136bra1/7Wh5%2B%2BOHMnDkzv/jFL1KtVlct22%2B//fLAAw8UWiAAAAC0gppnsO%2B66658/vOfz6GHHpr%2B/v41lm222Wb5z//8z8KKAwAAgFZR8wz2ggULssMOO6x1WXt7e3p7e4dcFAAAALSamgP2pptumieeeGKtyx5//PFsscUWQy4KAAAAWk3NAfvggw/OlVdemccee2zVY5VKJb/73e9y/fXX55BDDim0QAAAAGgFNZ%2BDffLJJ%2Bdf/uVfcsQRR2THHXdMpVLJ2WefnXnz5mWrrbbKcccdV486AQAAoKnVPIO93nrr5bvf/W5OPPHEjBo1KpMmTUpbW1uOOeaY3HjjjRkzZkw96gQAAICmVvMMdpKMHTs2J554Yk488cSi6wEAAICWVPMM9oUXXpinnnqqHrUAAABAy6o5YF933XX5wAc%2BkE984hO55ZZbsnjx4nrUBQAAAC2l5oB977335qyzzsry5ctzzjnnZP/9989f/uVf5sEHH6xHfQAAANASag7YG264YY4%2B%2Bujcdttt%2Bf73v5%2BPfexjue%2B%2B%2B/LpT386733ve3P55ZfXo04AAABoajUH7NXtuOOOOfPMM3PPPffk0ksvTX9/fy677LKiagMAAICWMairiK/umWeeyW233ZY77rgjzz//fDbZZJMi6gIAAICWMqiAvXTp0tx999257bbb8m//9m8ZNWpUDjrooJx77rnZf//9i64RAAAAml7NAfuss87K3XffnZ6enuy8884566yz8qEPfSgbbrhhPeoDAACAllBzwP7pT3%2Baww47LIcffnh23nnnetT0lm655ZbccMMN%2Bc1vfpP11lsvu%2B%2B%2Be77xjW80tAYAAABYm5oD9r333puOjo63XP7yyy9nwoQJQypqbS699NJce%2B21%2BdznPpfdd989r776au69997CXwcAAAAGo%2BaAvbZwXa1Wc8899%2BTWW2/Nz372szzyyCOFFLfSk08%2BmSuvvDJXX3119ttvv1WPH3zwwYW%2BDgAAAAzWkK4i/vTTT%2Bd73/tebr/99rz44ovp6OjIIYccUlRtq9x2223Zcsst1wjXAAAA0ExqDtjLli3LXXfdle9973v5t3/7t1Sr1VQqlfz5n/95jjvuuIwfP77wIh9%2B%2BOHssMMOufzyy3PjjTfmtddeyx577JG/%2Bqu/avh54AAAALA2Aw7Yv/rVr3LrrbfmzjvvzJIlSzJmzJh89KMfzSGHHJLjjz8%2BU6dOrUu4TpIXX3wxc%2BbMydy5c/PFL34xHR0dueyyy3LMMcfkxz/%2Bcbq7uwe97vb2tgIrZaBW9l3/G0/vy6X/5dL/8uh9ufS/PHrfWKNG6TPlGlDA/tCHPpQnnngiSbLHHnvk8MMPz5/92Z9l7Nixee211%2BpaYPL6Od49PT259NJL89/%2B239Lkuyyyy5573vfm%2B9%2B97uZPn36oNfd3T2mqDIZBP0vj96XS//Lpf/l0fty6X959L7%2BqtVqxo8fV3YZjHADCthz585NpVLJlClTcvrpp2f77bevd11r2GCDDbLxxhuvCtdJsskmm2TbbbddFfwHa9GipenvXzHUEqlRe3tburvH6H8J9L5c%2Bl8u/S%2BP3pdL/8uj942xcgBj0aKekithuBro4M2AAvZZZ52V2267Lf/8z/%2Bc2bNnZ7fddssRRxyRQw89dEhFDtR2222X//zP/3zT49VqNW1tQzsMpL9/Rfr6bOzKov/l0fty6X%2B59L88el8u/S%2BP3jeGHlO2AaXTT3/607njjjtyyy235GMf%2B1ieeuqpnHPOOdl///1zzjnnpFKppFKp1K3IAw88MC%2B99FJ%2B/etfr3ps/vz5eeqpp7LjjjvW7XUBAABgoCrVarVa6w%2Bt7UriW2%2B9dT7%2B8Y/nox/9aOEXO%2Bvv78%2BRRx6ZJUuW5JRTTklnZ2cuv/zyLFiwIHfffXfGjh076HUvXLjESFcJRo1qy/jx4/S/BHpfLv0vl/6XR%2B/Lpf/l0fvGmDDh9cN3X355ScmVMFxNnLj%2BgJ43qIC9uqeffjq33npr7rjjjrzwwgsZPXp0Hn744aGscq0WLFiQ888/P7Nnz05fX1/23nvvnHnmmdl2222HtF4bu3L4simP3pdL/8ul/%2BXR%2B3Lpf3n0vjEEbOptoAG75vtgv9FWW22VGTNm5NRTT83s2bPzve99b6irXKuNNtooF110UV3WDQAAAEM15IC9UltbWw466KAcdNBBRa0SAAAAWoY7sQMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABWjJgL1kyZIccMAB2XHHHfMf//EfZZcDAAAArRmwr7jiivT395ddBgAAAKzScgH7ySefzHe%2B8538z//5P8suBQAAAFZpuYD9t3/7t/nEJz6RbbbZpuxSAAAAYJWWCth33313HnvssZx00klllwIAAABrGFV2AQO1dOnSfPnLX86MGTOy3nrrFbbe9vaWGmMYNlb2Xf8bT%2B/Lpf/l0v/y6H259L88et9Yo0bpM%2BVqmYB95ZVXZqONNsphhx1W6Hq7u8cUuj5qo//l0fty6X%2B59L88el8u/S%2BP3tdftVrN%2BPHjyi6DEa4lAvZzzz2Xa665JpdffnkWL16cJOnp6Vn1/yVLlmTcuMF9mBYtWpr%2B/hWF1crAtLe3pbt7jP6XQO/Lpf/l0v/y6H259L88et8YKwcwFi3qKbkShquBDt60RMB%2B9tln8/vf/z7HHXfcm5Z9%2BtOfzu67757//b//96DW3d%2B/In19NnZl0f/y6H259L9c%2Bl8evS%2BX/pdH7xtDjylbSwTsnXfeOddff/0ajz366KO54IIL8sUvfjG77rprSZUBAADA61oiYHd3d%2Bc973nPWpftsssu2WWXXRpcEQAAAKzJZfYAAACgAC0xg70273nPe/L444%2BXXQYAAAAkMYMNAAAAhRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgJlCOvIAABxRSURBVAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAb%2Bf3v3HhV1nf9x/DWMIt4Q7y6mmRhsJF4qjpAoiRlqlF20tc3LKmGhpT9Ls46XyoOZqeWl9VKyHi1sPZa5idLVRGvVOqIn03U3WdcLaYmGoMlwm98fHsbGQbl95NvI83GOJ%2BYzH77znvd8%2BE6vme93BgAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwoI7VBVREWlqaNm7cqP379%2Bvs2bNq166dHn30UQ0dOlQ%2BPrxGAAAAAACwnlcE7JUrVyowMFDPPfecmjdvrl27dmnWrFk6duyYpkyZYnV5AAAAAAB4R8BetmyZmjVr5rocERGhX3/9VSkpKZo4caJ8fX0trA4AAAAAAC85B/u34brULbfcIofDoZycHAsqAgAAAADAnVcE7LLs3r1bAQEBat68udWlAAAAAADgHYeIX27fvn1av369xo0bJ7vdXq1t2e1e%2BxqDVyvtO/2vefTeWvTfWvTfOvTeWvTfOvS%2BZtWpQ59hLZvT6XRaXURlnDp1So888ohat26td955R3Xr1rW6JAAAAAAWczqdstlsVpeBWs6rAnZeXp6GDx8uh8OhNWvWqGnTptXeZm7uBRUXlxioDpVht/vI378%2B/bcAvbcW/bcW/bcOvbcW/bcOva8Z/v71JV38f3vgWmjatGGF5nnNIeIOh0OJiYnKzs7W2rVrjYRrSSouLlFRETs7q9B/69B7a9F/a9F/69B7a9F/69D7mkGPYTWvCNhFRUWaMGGCDh48qHfffVdt27a1uiQAAAAAANx4RcCeOXOmvvzyS02ePFn5%2Bfnau3ev67pOnTqpUaNGFlYHAAAAAICXBOyvvvpKkjR37lyP61avXq0ePXrUdEkAAAAAALjxioC9ZcsWq0sAAAAAAOCq%2BKI4AAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwgIANAAAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwgIANAAAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAEEbAAAAAAADCBgAwAAAABgAAEbAAAAAAADCNgAAAAAABhAwAYAAAAAwAACNgAAAAAABhCwAQAAAAAwgIANAAAAAIABBGwAAAAAAAwgYAMAAAAAYAABGwAAAAAAAwjYAAAAAAAYQMAGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAO8JmAfPnxY8fHx6tatmyIjI5WUlKT8/HyrywIAAAAAQJJUx%2BoCKiI3N1cjR45UYGCgFi1apDNnzmj27NnKycnRvHnzrC4PAAAAAADvCNh///vflZubqw0bNqhZs2aSJLvdrkmTJikxMVFBQUEWVwgAAAAAqO284hDxbdu2KTIy0hWuJSk2Nla%2Bvr5KT0%2B3sDIAAAAAAC7yioCdmZnp8S61r6%2Bv2rdvr8zMTIuqAgAAAADgEq84RDw3N1f%2B/v4e4/7%2B/jp79my1tt2kSX05ndXaBKrAZrv4X/pf8%2Bi9tei/tei/dei9tei/deh9zfDxsamkxKk6dbzi/UNcx7wiYF%2BJ0%2BmUrXSvVUU%2BPvwRWon%2BW4feW4v%2BW4v%2BW4feW4v%2BW4feX3t2u01Nmza0ugzUcl7xl%2B7v76/c3FyP8by8vDLf2QYAAAAAoKZ5RcAOCgryONe6oKBAR48e5RPEAQAAAAC/C14RsHv37q2dO3fql19%2BcY199tlnKigoUHR0tIWVAQAAAABwkc3p/P1/3EJubq7i4uLUtm1bjR07VqdPn9arr76qqKgozZs3z%2BryAAAAAADwjoAtSYcPH1ZSUpJ2794tPz8/xcXFadKkSfLz87O6NAAAAAAAvCdgAwAAAADwe%2BYV52ADAAAAAPB7R8AGAAAAAMAAAjYAAAAAAAYQsAEAAAAAMICADQAAAACAAQRsAAAAAAAMqHUB%2B/Dhw4qPj1e3bt0UGRmppKQk5efnW12WV0tLS9PYsWMVHR2tbt266b777tOaNWtUUlLimvP8888rJCTE49%2B2bds8tpecnKyYmBiFhYXp4Ycf1q5du2ry7nid9evXl9nbefPmuc1LT0/XAw88oLCwMPXr108pKSllbo/%2BV87w4cPL7H9ISIg2bdokifVvypEjRzRjxgwNGjRIoaGhiouLK3OeybV%2B7tw5zZgxQz169FD37t315JNPKisry%2Bj98gbl9b64uFhvv/22hg0bpoiICIWHh%2Buxxx7Tjh07PLYVExNT5t%2BDw%2BFwm0fvL6nI2je9n6H/l1Sk/1d6HggJCdHPP//smsf6B65/dawuoCbl5uZq5MiRCgwM1KJFi3TmzBnNnj1bOTk5HmEEFbdy5UoFBgbqueeeU/PmzbVr1y7NmjVLx44d05QpU1zz2rVr59HnoKAgt8vJycl64403NHHiRIWGhmrdunVKSEjQunXrFBISUiP3x1utWLFCjRs3dl1u3bq16%2Bc9e/Zo7NixGjRokJ5//nllZGQoKSlJvr6%2BGjJkiGse/a%2B8F198UefOnXMbW7VqlT799FNFRka6xlj/1ffDDz8oPT1dXbt2VUlJiZxOp8cc02v92Wef1f79%2BzV9%2BnQ1atRIixYt0qhRo/TRRx/Jz8%2BvRu7370F5vc/Pz9fy5cv1wAMPKD4%2BXnXq1NGHH36oUaNGaenSperTp4/b/NjYWI0ePdptzNfX1%2B0yvb%2BkImtfMrufof%2BXVKT/a9eu9RibMmWK6tevr1atWrmNs/6B65yzFlm%2BfLmza9euztOnT7vGPvroI2dwcLDz0KFDFlbm3X7bz1KvvPKKMywszOlwOJxOp9M5ZcoU57333nvV7TgcDuftt9/unDNnjmusqKjIOWDAAOf//d//mS36OvLBBx84g4ODy3wcSsXHxzsHDx7sNjZt2jRnz549ncXFxU6nk/6bFBMT40xISHBdZv2bUbpWnc4r99TkWt%2B7d68zODjYuXXrVtdYVlaWMzQ01LlmzRpj98sblNf7oqIiZ05OjttYSUmJ88EHH3QOGzbMbbxPnz7Ol19%2B%2Baq3R%2B/dVWTtm9zP0H93Fen/5Y4dO%2BYMDg52vv32227jrH/g%2BlerDhHftm2bIiMj1axZM9dYbGysfH19lZ6ebmFl3u23/Sx1yy23yOFwKCcnp8LbycjIUF5entuhV3a7XQMHDlR6evoVX7HH1RUUFGjnzp2699573cbvu%2B8%2BnTp1SgcOHJBE/03JyMjQ8ePHdd9991X69%2Bj/1fn4XP0py/RaT09Pl7%2B/v3r37u2aFxgYqNtuu63WPWeU13u73a4mTZq4jdlsNv3xj390Ozy2oui9u/L6X1Gs/aqpSv9TU1Nls9mueCrL1dB/wLvVqoCdmZnpcaiUr6%2Bv2rdvr8zMTIuquj7t3r1bAQEBat68uWvs6NGjuuOOO9S5c2c99NBD%2Bvzzz91%2Bp/Qx6Nixo9t4UFCQzp8/r59%2B%2BunaF%2B7F4uLidMstt6hv375avny5iouLJV3se2FhoUdfO3XqJOlS3%2Bm/Gampqapfv7769u3rNs76v/ZMr/XMzEzddNNNstlsHtvjOaN8JSUl2rNnj8fzriRt3LhRnTt3Vvfu3ZWQkKB///vfbtfT%2B6oxtZ%2Bh/9W3adMmhYeHq02bNh7Xsf6B61utOwfb39/fY9zf319nz561oKLr0759%2B7R%2B/XqNGzdOdrtd0sV3tMPCwtSpUyfl5eXpvffe07hx47Rw4UL1799f0sXHx9fX1%2BPcotJ3RXJycsp8oqrtWrZsqaefflpdu3aVzWbTli1btGDBAv3000%2BaMWOGa21fvvZLL5deT/%2Brr6ioSB9//LH69u2rBg0auMZZ/zXD9FrPzc11%2B1yD326P54zyvfPOOzp8%2BLBmzpzpNh4TE6MuXbooMDBQx44d07Jly/TnP/9ZGzZsULt27SSJ3leByf0M/a%2BegwcP6j//%2BY/H2pdY/0BtUKsC9pU4nU6PVwlRNadOndL48eMVFhamhIQE1/jIkSPd5sXExGjo0KFatGiR64lfUpmPQ%2BkhazxGZevVq5d69erluhwVFaV69epp1apVevLJJ13jV%2Brfb8fpf/V8/fXXOn36tMchgaz/mmVyrVdkW/D0zTffaO7cuRo9erTCw8Pdrps2bZrr5zvuuEM9e/bUgAEDlJycrJdeesl1Hb2vHNP7GfpfdRs3blTdunUVGxvrcR3rH7j%2B1apDxP39/ZWbm%2BsxnpeXV%2BY726icvLw8JSQkyM/PT0uXLlXdunWvONfHx0f33HOPMjMzXV%2BT5u/vL4fD4fFVFaWP2eXn9%2BHKBgwYoOLiYv3rX/9y9e3yV71L%2B1q69ul/9aWmpiogIEBRUVFXncf6vzZMr/UrPWdc6WgoXHTw4EGNHTtWd999tyZPnlzu/FatWun222/X/v37XWP0vvqqs5%2Bh/1XndDq1efNm9erVSwEBAeXOZ/0D159aFbCDgoI8zl0pKCjQ0aNHyzxHDBXncDiUmJio7OxsrVixQk2bNi33dy7/0KbSx%2BDyxygzM1MNGzZ0%2B9opVFz79u1Vt25d/fe//3UbP3TokKRLfaf/1ZOfn68vvvhC/fv3v%2BqLS6VY/%2BaZXutBQUE6fPiwx2N16NAhnjOu4OjRo3r88ccVGhqq1157rcLvtpX190Dvq6%2Bq%2Bxn6X3W7d%2B/Wjz/%2BWKkPumT9A9eXWhWwe/furZ07d%2BqXX35xjX322WcqKChQdHS0hZV5t6KiIk2YMEEHDx7UihUr1LZt23J/p6SkRJ988oluvvlm17lgt912mxo3bqzNmze75hUXFystLU3R0dEcFlUJmzdvlt1uV2hoqHx9fRUREaG0tDS3OampqWrZsqVCQ0Ml0f/q2rJli86fP1%2Bh/6li/V8bptd6dHS0cnNztX37dte8EydOKCMjg%2BeMMpw6dUqjR49WixYttGTJEo/v9b2Sn376SRkZGQoLC3ON0fvqq85%2Bhv5X3caNG9WgQQOP736/EtY/cP2xv/TbEz6uczfffLM%2B%2BOADbd%2B%2BXa1bt9aePXv0yiuvqF%2B/fho6dKjV5Xmtl156SampqZowYYJatWqlkydPuv41atRIp06d0rhx41RYWKi8vDzt379fSUlJ2rNnj15%2B%2BWXXq7F2u112u13Lli2Tn5%2BfHA6HFi5cqD179ui1115TixYtLL6nv0/x8fH6%2Beefde7cOR05ckR/%2B9vflJKSouHDh7vOu2vXrp2WLVumEydOqGHDhtq4caNWrlypF154QZ07d5ZE/6vr9ddfl8Ph0AsvvOAWhrOyslj/hly4cEFffPGFDh06pK%2B//lrZ2dlq06aNDh06pGbNmql%2B/fpG13qbNm30/fffa%2B3atWrdurVOnDihGTNmyM/PTzNnzlSdOrXnY0zK673NZtOIESN08uRJTZs2Tfn5%2BW7PBaUf0Jeamqq33npL%2Bfn5%2BuWXX7Rjxw5NnTpVBQUFmj17tusQZXrvrrz%2Bnzlzxuh%2Bhv67q8i%2BR7r4hsPUqVPVp08fDRw40GM7rH%2BgdrA5a9mXqx4%2BfFhJSUnavXu3/Pz8FBcXp0mTJnl8oiYqLiYmRllZWWVet3r1aoWEhOiFF17Q/v37debMGdWtW1edO3fWmDFj3D6cS7p4mFRycrJSUlKUnZ2t4OBgTZ48WRERETVxV7xSUlKStm/frpMnT6qkpEQdOnTQkCFDNHz4cLegl56ertdff12ZmZlq06aNRo0apccee8xtW/S/as6ePauePXtq5MiRHuec5uTksP4NOX78uMfXn5VavXq1evToIcnsWj937pzmzJmjTz75RIWFherRo4emT59eoSN1rifl9b5t27ZXvF6S62uI9u7dq/nz5%2BuHH35QXl6eGjdurIiICI0fP97jq6Po/SXl9f9aPM/S/0squu/ZunWrnnjiCb311ltlvtPM%2Bgdqh1oXsAEAAAAAuBZq1TnYAAAAAABcKwRsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AcFm/fr1CQkJc/0JDQxUVFaWJEyfqf//7n%2BV1HT9%2B/KrzFi9erJCQkBqqqnzp6elavHhxmdeFhIRo5syZNVwRAAC4lupYXQAA4Pdn9uzZ6tixoxwOhzIyMrRs2TLt2rVLaWlpatKkidXleY309HSlpKTo6aeftroUAABQAwjYAAAPN998s8LCwiRJPXr0UHFxsRYvXqzPP/9cDz/8sMXVAQAA/D5xiDgAoFylYfv06dMe123evFl/%2BtOf1K1bN3Xv3l3x8fE6cOCA25x9%2B/Zp4sSJiomJUZcuXRQTE6NnnnlGWVlZHtvbu3evhg4dqrCwMEVFRWn%2B/PkqKiqqVv0VqfH5559X9%2B7ddeTIESUkJKh79%2B6Kjo7Wq6%2B%2BqoKCAre5J0%2Be1Pjx49W9e3fdcccdevbZZ/Xdd98pJCRE69evd20vJSVFktwOu7/8MPcNGzZowIAB6tq1q%2B6//359%2BeWXbtefOXNG06dPV3R0tDp37qyIiAgNHTpU//znP6vVEwAAYB7vYAMAylUaCjt06OA2vmzZMi1YsEAPPfSQEhMTVVhYqOTkZD322GNat26dOnXqJEnKysrSTTfdpHvvvVdNmjTRqVOn9N5772nw4MHatGmTmjVrJkk6dOiQ/vKXv6ht27Z69dVX5efnpzVr1ig1NbXKtVe0RkkqLCxUYmKiBg8erNGjR%2Bvbb7/VkiVL1KhRIz311FOSpF9//VUjRozQ2bNnNWnSJN14443avn27Jk6c6Ha7Y8eO1a%2B//qpPPvlEa9eudY23atXK9fPWrVu1b98%2BjR8/Xg0aNNCKFSv01FNP6eOPP1a7du0kSZMnT9aBAwc0ceJEdejQQbm5uTpw4IBycnKq3BMAAHBtELABAB5KSkpUVFTkOgd76dKlCg8PV0xMjGvOiRMntHjxYg0bNkzTpk1zjd95552KjY3Vm2%2B%2BqQULFkiS%2Bvfvr/79%2B7vmFBcX66677lLPnj2VmpqqESNGSJL%2B%2Bte/yul0atWqVWrRooUk6a677lJcXFyV7kdlapQuBuynn35aAwYMkCRFRkbq%2B%2B%2B/V2pqqitgf/jhhzpy5Ijefvtt9e7dW5IUFRWlCxcuuAXp9u3bu%2B5Dt27dyqzP4XBo5cqVatSokSTp1ltvVa9evZSWlqYxY8ZIkjIyMjRkyBA98sgjrt%2B7%2B%2B67q9QPAABwbRGwAQAefhvmJCkoKEhLlixRnTqXnja%2B%2BuorFRUVadCgQW6HcNerV0/h4eHatWuXa%2Bz8%2BfNasmSJPv30U2VlZam4uNh1XWZmpuvnXbt2KTIy0hVMJclut2vgwIF68803K30/KlOjJNlsNrcXEaSLh3fv3LnTdfnbb79Vw4YNXeG6VFxcnFvArogePXq4wrUktWjRQs2bN3c7dL5Lly768MMPFRAQoDvvvFO33nqr6tatW6nbAQAANYOADQDwMGfOHAUFBen8%2BfPavHmz1q5dq2eeeUYrVqxwzcnOzpYkDR48uMxt%2BPhc%2BpiPZ599Vjt37tTYsWMVFhamhg0bymazacyYMXI4HK55OTk5buG6VFljFVGZGiWpfv36qlevntuYr69vhWps3rx5pesLCAjwGLv89t544w0tXbpU77//vhYuXKgGDRqoX79%2Bmjx5slq2bFnp2wQAANcOARsA4CEoKMj1wWYREREqKSnRunXr9PHHH7sO9W7atKkkadGiRQoMDLzitvLy8rR161Y99dRTrsOeJamgoEBnz551mxsQEOAKxb9V1lhFVLTGyggICNB3333nMV7VGsvTrFkzTZ06VVOnTtWPP/6oLVu2aP78%2BTp9%2BrSSk5OvyW0CAICqIWADAMo1efJkffrpp1q0aJHuuece%2Bfj4KCoqSnXq1NHRo0cVGxt7xd%2B12WxyOp3y9fV1G1%2B3bp3boeLSxUOmt2zZouzsbNe7xMXFxdq8eXOV6q5ojZURHh6utLQ0paenKzo62jW%2BadMmj7ml9zk/P19%2Bfn7Vvu3AwEANGzZMO3bsUEZGRrW3BwAAzCJgAwDK1aRJE40ZM0Zz587Vxo0bNWjQIN1www0aP368FixYoGPHjql3797y9/dXdna29u3bp/r162v8%2BPFq1KiRwsPDlZycrKZNm6pt27b65ptv9P7778vf39/tdhITE7VlyxaNHDlS48aNk5%2Bfn1JSUnThwoUq1V3RGivjwQcf1KpVq/Tcc89pwoQJuvHGG7Vt2zZ99dVXktwPOw8ODpYk1wei%2Bfj4KCQkxOPFhivJy8vTiBEjFBcXp44dO6phw4bat2%2Bftm/frn79%2BlWqbgAAcO0RsAEAFTJ8%2BHClpKRoyZIliouLk91u1xNPPKGgoCCtXr1amzZtUkFBgVq2bKnOnTvr0Ucfdf3u/PnzNWvWLM2dO1dFRUW67bbbtHLlSj3xxBNutxEcHKyVK1dqzpw5mjJlipo0aaL7779fsbGxmj59epXqrmiNFdWgQQOtWrVKr7zyiubOnSubzaaoqCi9%2BOKLGjNmjBo3buyaGxcXp4yMDK1Zs8b1CelffPGFbrjhhgrdVr169dSlSxf94x//UFZWloqKivSHP/xBCQkJevzxxytdOwAAuLZsTqfTaXURAAB4u9Lv2966davatGljdTkAAMACvIMNAEAlvfvuu5Kkjh07qrCwUDt37tQ777yj%2B%2B%2B/n3ANAEAtRsAGAKCS/Pz8tGrVKh0/flyFhYWuw7YTExOtLg0AAFiIQ8QBAAAAADDAp/wpAAAAAACgPARsAAAAAAAMIGADAAAAAGAAARsAAAAAAAMI2AAAAAAAGEDABgAAAADAAAI2AAAAAAAGELABAAAAADCAgA0AAAAAgAH/DyCQVJS/HFBxAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -231,7 +266,7 @@
 <br>
 
 <h3 id="Read_lengths_vs_Average_read_quality_plot_using_a_kernel_density_estimation">Read lengths vs Average read quality plot using a kernel density estimation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3hTZf8/8Pc5SbpLWYUyWlbLRi1LUJENshEEN6LyIAKCEx4fFX0QZSqIfP0pSEVREVFAioxHhjKUPWWUVUYZ3XTQkZzx%2B6PJMadNM0o6gPfrunI1OUlO7pz0jM89PregqqoKIiIiIiIiIropYnkXgIiIiIiIiOh2wACbiIiIiIiIyAsYYBMRERERERF5AQNsIiIiIiIiIi9ggE1ERERERETkBQywiYiIiIiIiLyAATYRERERERGRFzDAJiIiIiIiIvICBthEREREREREXsAAm%2BgmzZ07F02aNEGTJk3w1ltv3fT6JEnS1tekSRNcu3bNC6Uke97%2BzYiIbnUzZ87UjotTp04t7%2BLcNoYMGaJt1w0bNjh8zalTp7TXREdHl3EJb03ffvutts1eeOGF8i4OkY6xvAtAFcO///1vrFq1qtjnTSYTgoKCEBYWhhYtWqBHjx548MEHYTAYyrCURHSnuXDhAnr16qU9FkURW7ZsQa1atcqxVERERESOsQWb3GKxWJCeno4TJ07gp59%2BwpgxY9C/f38cOXKkvItGd7ALFy5oNdjNmzcv7%2BJQKShc8acoCn755ZdyKg0RUfmZMGGCds5bvHhxeRfnjsXfgVxhCzYVERISglatWumWmc1mJCYm4sKFC9qyc%2BfO4ZlnnsHXX3%2BNu%2B66q6yLSUS3OVVVsWbNmiLLV61ahTFjxpRDiYiIiIicY4BNRTirkbt06RJmz56NjRs3AgBycnLwn//8B2vWrIEoskMEEXnP7t27cfnyZQBAgwYNYDabcfnyZZw/fx6HDh3CPffcU84lJCK6eY0bN0ZcXFx5F4OIvIQREXkkPDwcn3zyCbp27aotO336NLZv316OpSKi25F99/CBAwdiwIABDp8jIiIiqigYYJPHBEHAhAkTdMt27dpVTqUhottRTk4O/ve//wEoOOYMGDAAAwcO1J5fv349zGZzeRWPiIiIyCF2EacSadasGQICApCTkwMAWjdOd%2B3atQsbN27E3r17kZycjBs3bqBKlSqIjIxE165d8cgjjyAgIMCtdZ0%2BfRo7duzA/v37cebMGSQlJSE/Px/BwcEICwtDmzZtMHDgQNx9990elVFRFKxZswaxsbGIi4tDRkYGQkNDERkZiYcffhi9evWqUFnUz549i7Vr12Lnzp24cuUKrl%2B/jqCgINStWxcPPPAAhg0bhjp16jhdh33GZoPBgOPHjwMAkpKSsGLFCmzatAlXrlxBXl4eQkND0a5dO4wYMQLNmjVzu5wWiwUrV67EunXrcObMGWRmZjrcrnPnzsXnn38OAHjkkUfwwQcfaOtYsWIF3n77bd16ZVlGkyZNHH7mxIkTMXbsWJdl27dvH5YvX47Dhw/j2rVr8PPzQ0REBLp164YRI0YgKCjIre946NAhrF69GocOHcLly5dx48YNGI1GVKpUCbVr10bTpk3Rrl07dOvWDYGBgW6ts7BNmzZh3LhxAAB/f3/8%2Beefbu8zCxYswKeffgqgYEiIo3HO%2Bfn5WLduHTZt2oQTJ04gPT0d%2Bfn58PX1RfXq1REREYGWLVuic%2BfOaN26dYm%2BgzMbN27Uji/R0dEIDw8HALRo0QLHjh1DRkYGNm/ejD59%2BhS7DrPZjPvvvx%2BZmZkAgI8//hj9%2BvVz6/PPnz%2BP3r17a49//fVXREZGFvv606dPa/vf1atXkZGRgeDgYNStWxedOnXC8OHDERYW5vQzT506pbXSBwQE4ODBgwAK9suVK1di%2B/btuHbtGtLS0uDv7689b/99//rrL%2BzatQt///034uPjkZGRAVEUERISgqioKHTo0AHDhw9HSEiIW9vB5uLFi1i2bBm2bduGK1euQBRFhIWFoWPHjnjssce0bXPvvffi%2BvXrAICffvqpSD6P0tp2nrjZ7Wxv586d%2BN///od9%2B/YhJSUFN27cQNWqVREVFYWuXbti6NCh8Pf3d6tccXFx2LFjBw4cOIAzZ84gOTlZO5fVqlULbdq0weDBg9GyZUuPvq8sy1i9ejViY2O1Y2716tXRuHFjDBkyBD169Cj1IV7ulmHmzJmIiYkBADz55JOYMmVKkXVt3bpVy8EQFRWFtWvXuvx8d9Zrk5iYiG3btmHPnj04deoUrly5gpycHAQEBKBq1aq455570LNnT3Tv3h2CIJRkcxRR3P%2Bkjf1%2BZTNr1izMmjWryLps77dYLOjSpQtSUlIAFGyDwYMHu1We%2BPh4PPTQQ9rjDRs2oEGDBh59JxtH215VVWzevBkrV67EyZMnkZycjEqVKiEyMhL9%2B/fHww8/DKPR%2ByFKQkICVq1ahR07diAhIQEZGRnaefn%2B%2B%2B/HkCFDUK9evWLfX5Lfge5MDLCpRARBQHBwsHYBnJWV5db7EhIS8M477%2BDPP/8s8lxSUhKSkpLw559/YuHChfjwww/x4IMPOl3fwIEDix23lJ6ermU%2B//bbb/HQQw9h%2BvTpbgUhiYmJmDhxYpGD4%2BXLl3H58mX88ccf6NixIz7%2B%2BGOX6ypteXl5mDFjBn788UfIsqx7zrYNjh49ipiYGIwfPx6jR4/2aP2bN2/Gm2%2B%2BiYyMDN3yS5cu4dKlS1i9ejUmTZqEZ5991uW64uPjMWHCBJw6dUq3vLy3q9lsxvTp0/H999/rlufn5%2BPo0aM4evQofvjhByxevBhRUVFO1/Of//wHsbGxRZ6TZRnJyclITk7G4cOHsXz5cnTt2lWrRPBU586dUblyZVy/fh25ubnYtGmTroXXmV9//VW7b9/t2ub48eN4%2BeWXdUkNbXJycnDx4kVcvHgRO3bswOeff45PP/1UN5WWNxTuHm5//9ixYwCA1atXOw2wfXx80Lt3b6xYsQIAEBsb63aAbf8bNm/evNjgOicnBx9%2B%2BCF%2B/vlnKIqiey4tLQ1paWk4cuQIYmJi8PLLL2PkyJFufb7Nd999hxkzZrhsrf/jjz/w%2Buuva5UJheXl5SExMVH7zaZMmYJBgwa5XYZZs2YhLy9Pt/zMmTM4c%2BYMfvjhB0yePBlPP/20e1/KqrS3nSfc3c42Fy5cwNtvv409e/YUeS4xMVHb1osWLcKMGTPQsWPHYtdlsVjw8MMP4/Tp0w6ftx3Hjx8/jqVLl6J///744IMP4Ofn57Kcly9fxoQJE/D3338XWX758mVs3boVDz74IObMmeNyXSVVEcrgrrffftvh/yMAZGZmIjMzE%2BfPn8fq1avRokULzJ8/H3Xr1i2HkrpmMpkwZMgQLFy4EADw888/ux1g//TTT9r9tm3blji4diQrKwuTJk3Cli1bdMtTUlKQkpKCXbt2YdmyZfjkk0%2B0itWbpaoqPvvsM3zxxRfIz8/XPZeamorU1FQcPXoUixcvxrPPPotXXnmFeYXopjDAphJRVVV3IedOK9zJkycxatQoJCcna8sCAgIQGRkJf39/JCUlIT4%2BHgCQnJyMsWPHYu7cuejZs2ex67QPrk0mE%2BrXr4/KlStDFEWkpqYiPj5eCzo3bNiA5ORkLF261GnLc1paGkaOHIlz585py3x8fNC4cWP4%2B/sjPj4eKSkp%2BOuvvzBu3Di0bdvW5XcvLZmZmRg9erSuIsBoNKJRo0aoUqUKMjMzcerUKUiShPz8fHz00UdIT0/H5MmT3Vr/jh07MH78eCiKApPJhKioKAQHB%2BPatWta8KUoCmbMmIHw8HD06NGj2HVdvnwZzzzzDBITE7Vlfn5%2BiIqKgp%2BfHy5cuICkpCS3tmtYWBgeeOAB5OXlYd%2B%2BfQAKKn3uv/9%2Bh6%2BPiIhw%2Bj3feustrRW3SpUqqF%2B/PkRRxOnTp7X/88TERPzrX//C2rVri23JnjRpEtavX689NhqNaNiwIapUqQJVVZGRkYHz589rJ3hVVZ2WyxmTyYTevXtj%2BfLlAAoCQncC7GPHjmn/24IgoH///rrnExMT8eyzz%2Bpq6UNCQlC/fn0EBgYiNzcXSUlJuHLlilZ%2BRxejN%2BPy5cta4GIymXRBdL9%2B/TBr1izIsowdO3YgJSUF1atXL3ZdAwYM0ALsHTt2ID09HVWqVHFZBvtWMUeVEEBB4DN69GjddIUmkwmNGjVC5cqVkZGRgVOnTkGWZeTm5mL69OlIT0/HK6%2B84vLzgYKeGlOnTtXWGxkZieDgYCQnJ%2Bv2IwC4cuWK7phcuXJlhIeHIygoCPn5%2Bbh48aLWkpWdnY1JkyZBlmUMGTLEaRm%2B%2B%2B47rQw2YWFhiIiIQG5uLk6dOoX8/HxMmzbNo94Ypb3tPOHJdgYK9qFRo0YhLS1NWxYYGIjIyEj4%2BfkhMTER58%2BfBwBcu3YN//rXv/B///d/6Ny5s8PPVxRFF1ybTCY0aNAAISEhEEURKSkpiI%2BP1/aztWvXIiUlBV999ZXTICAlJQUjR47ExYsXtWW%2Bvr7aMTc%2BPh6pqanYtm0bJkyYgKZNm7q/0dxUEcrgiVOnTmnbWRRF1K1bF9WqVYOfnx8yMzNx9uxZraLp2LFjeOyxx7Bq1SqEhoaWark6duyIrKwsnDx5UtuPGzRo4LBXmn3Fy/Dhw7Fo0SKoqoo9e/bg/PnzqF%2B/vtPPkiRJNxXisGHDvPMlUHDOe/XVV7Ft2zYABefbhg0bwmw24/Tp07ptO3LkSCxbtgw1atS46c995513tPOATf369VGjRg2kpaXhzJkzAAoquxYuXIhLly7h448/LrJ/lfR3oDsPA2wqkWPHjiE3N1d77KzrJFBQYzl27FgtuK5VqxYmT56Mnj176roBxcfH4/3338fOnTthsVjw5ptvokWLFqhdu7bD9VaqVAlDhgxBz549cffdd8NkMumev379Or777jv8v//3/2CxWLB//3589dVXGDVqVLFlnTZtmi64HjFiBF566SVUqlQJQMHF0G%2B//YZ3330XBw4c0CoFysN//vMfLbj29fXF%2BPHj8cQTT%2BgCwIyMDCxYsADffPMNACAmJgZt2rRxGgwDBd/z1VdfBQCMGTMGo0aNQnBwsPb8wYMHMWHCBCQlJQEApk%2Bf7rTL3Ntvv61drIqiqK3TdlGuqip27NiBKVOmuNyunTp1QqdOnXRd2kVRLNF8lJs2bcL169dRu3ZtvP322%2Bjatat2UrVYLFi8eDHmzp0LALh69SqWLFmC8ePHF1nP4cOHteBaEASMHTsWzz77rG6bAQUt2QcPHsSGDRt0F%2BglMXDgQC3A/vPPP5GWloaqVas6fY99y2y7du1Qq1Yt3fOfffaZFlyHhYVh6tSp6NSpU5ELjczMTGzbtg0//fST17pJ2qxevVoL3h988EFUrlxZey40NBQdO3bEjh07IEkSYmNjnfaeaN%2B%2BPcLCwnDt2jVYLBZs2LABjz/%2BuNPPP3LkiBYgiaJYbKv35MmTtQDR398fEydOxPDhw3WBZnp6OubPn6/1jvjiiy/Qtm1bdOrUyWkZzGYzpk2bBkEQMHr0aIwaNUo7BgHQBSw2LVq0wNChQ9GlSxeHF3xHjx7FnDlztJwZ77//Ph544IFiL2DPnDmD6dOna4/r1KmDadOm4b777tOWZWdnY9GiRfjiiy/w/vvvF%2BlFU5zS3Hae8HQ7X79%2BHWPHjtX23Tp16uDNN99Et27ddBW3Z8%2BexXvvvYc9e/bAYrFg0qRJWLNmDWrWrOmwHJUrV8aQIUPQq1cvtGrVqkj32LS0NHz77bdYuHAhLBYLdu3ahe%2B%2B%2B85pr4F3331XV/7nn38eL774onZMkmUZGzZswNSpU7Fr165SyWJdEcrgCZPJhAEDBqBv377o0KFDkR5vtqEzs2fPRmpqKpKTkzF16lRtyE1pmTdvHoCC%2BZdts7gMGzYMzz//vNP3hYeHo2PHjlqvwZ9//hmvvfaa0/f8/vvv2rVacHCwrqv4zVq/fj3S09NRqVIlvPPOO%2BjXr5%2B239gfS1RVRUJCAqZMmVLiXl42K1as0AXXbdq0wdSpU3XXrRcuXMB7772nbaf169ejVatWRbZvSX8HuvOw/wN5TFVVLFiwQLfMfqyiI3PmzNHGadevXx8rV65Enz59ilxENGjQAAsXLsQDDzwAoCAw/%2Byzz4pd7x9//IE333wTbdu2LRJcAwUXLePGjcNHH32kLVu6dCkkSXK4voMHD%2Bq6z44ePRpvvfWW7oJLFEX07t0bMTEx8PPzQ3p6utPvXlrWrVuH3377DUBBTenXX3%2BN0aNHF2ldDQkJwVtvvYWJEydqy2bPnu2y9dTW4jp16lS88sorRQLF6OhoLFiwQAuuEhIStNbkwn7//XfdsIDJkydj4sSJuotpQRDQqVMnfPPNN6hcuXKZbdfr168jNDQUy5YtQ/fu3XWBpMlkwpgxY3QBWXHZq//44w/t/sMPP4wJEyYU2WZAwdj2tm3b4u2338bs2bNvquxt2rTRAilJknSt544oioJ169Zpjx21zNpaFoCC/5POnTs7bCWrVKkS%2BvfvjyVLlrisrPGUfeuJo1Z5T7KJC4KgC5Addd8vzL71un379g6DolWrVmm/eUBAAJYuXYpnn322SCtulSpV8O6772pjRlVVdTherzBJkpCXl4e3334br776qu4YBBTtlTFo0CCsXLkSTz75ZLG5Flq1aoWYmBgtQM3JydEqaByZM2cOLBYLAKBq1apYunSpLrgGgKCgILzyyit47bXXkJOTU6T7pSOlve084el2njlzJq5duwagoGJ55cqV6NmzZ5FeUY0aNUJMTAzat28PoOA4Y%2BuqW5iPjw9%2B//13TJ48GdHR0Q7HnlatWhUTJkzAhx9%2BqC37%2Buuvi%2B09smvXLmzatEl7/NJLL2HSpEm6Y5LBYEC/fv2waNEi%2BPj4eP2YWxHK4KlFixZhzpw56Natm8PhZL6%2Bvnj44Yfx7bffas9v2rQJly5dKuuium348OHa/VWrVhV7/WNj3z28f//%2BXm2JTU9Ph8lkwsKFCzFw4EDdfmM7ltgq9oGC8fY7duwo8efduHEDM2fO1B63bt0aX331VZFGoXr16mHhwoW6XnCffPLJTVeC052LATZ55NKlS5g4cSK2bt2qLevfv7/TJFdpaWm6i%2BCZM2c6bWUzGo2YOnWqdpERGxuL7Oxsh691N6lT7969ER0dDaCgy54teVdh9hebEREReOmll4pdZ/PmzfHcc8%2B59fml4csvv9Tujxs3Tvt%2BxRkzZow2jur8%2BfP466%2B/XH6GLTlace6%2B%2B27dXMQHDhxw%2BLoff/xRu9%2BiRQs888wzxa4zPDzc6XYvDf/%2B97%2BdJlGyL29CQoLWam/PdtENwO2kXzebJM/T4HHPnj1aLwKTyeSwZcK%2BS6yr/ykbbyb7279/vzb8IDg4WDcloE3Pnj21xFFxcXE4ceKE03XaB%2BkHDhxwmpSxcCVEcd3u7XtLvPzyyy6TeU2YMEEbq3nq1KliK6PsRUdH46mnnnL5OsD9Y6HBYMDrr7%2BuPS48DtLGlujJ5uWXX3aaJPH5558vNslgYWWx7Tzh7nZOTEzU9jFBEDB79mxd74rCTCYT3n//fa2CauXKlQ4rIARBcDsR2sCBA9G8eXMABefjwvksbOzPZY0aNcKLL75Y7Drvuusuj8fPu6MilMFT7u5HDRs21AJXRVF010QVTY8ePVCtWjUABcPv7CuDCyu833uze7jNk08%2B6fTcMmrUKN015Q8//FDiz4qNjdVyBBmNRnzwwQfw9fV1%2BFqTyYRp06ZpFQr5%2BflFupUTuYsBNhURFxeH559/XncbMWIEevfujZ49e2rdYgDg/vvvx/vvv%2B90fRs2bNAuKgoHZMWpU6eOFqTk5eXh8OHDN/GNCtx1113a/aNHjxZ5XlVV3cXmsGHD4OPj43SdTzzxRLkkwjh79qyW6MlkMrns8goUtLzbj7fdvXu3y/fY13wXxz6YtO9abyNJEnbu3Klbp6suxYMHDy6z8UshISEuu8A1aNBAu0ABHH9P%2B5P2yZMnvVdAF%2BwDwIMHDzptSbEPwLt06VKktQ6A7n%2B%2BPLpr2lfG9e7d2%2BHFUGBgILp37%2B7wPY40bdoUjRs3BlCwn9v3Uils165dWvdIX19fh8nbjh8/ro2Z9ff3d%2Bsi1GAwoG/fvtpjd/a/0ri4BQq2h2272sZQF7Z9%2B3atu3dAQECx49BtRFF063hRVtvOE%2B5u5/Xr12st%2Bu3atdMCXWfq16%2BvnXtycnIcnns85epcJssyfv/9d%2B3xo48%2B6rIS7Mknn/TqUI%2BKUIbSZj8ziTd%2B19JiMpnw8MMPa4/tW6gLW7VqlbbfN2/eHC1atPB6eZ588kmnz4uiqLum%2BeOPP7T9zlObN2/W7j/wwANo2LCh09fXrl1b1yPL/v1EnuAYbCoiIyPDZZec%2BvXrY%2BzYsRg4cKDLE%2BL%2B/fu1%2B/fee6/b5WjcuLGW6OjYsWPFJrACCsbK/vXXXzh69CguXbqErKws5Ofn67pB22dEdpS45sKFC7pM2e6M8wsNDUWzZs20YLes2LfgtGjRwmFXZEfsM2C7U2Z3KkPsW34dZTA%2Bc%2BaMLvuwO/8DQUFBaNGihe5/p7S0bNnSrelAatasidTUVACOs%2BbbT53z/fffIzw8HI8//nixteXeEhUVhaZNm2pB/dq1ax22FJnNZm1eaaD4xF0tW7bE3r17AQCvvfYaPvzwQ7Rp06YUSl5UXl4eNmzYoD12lrRt4MCBWlfu2NhYvPHGGw6HidgMGDBAGyoSGxtbbDb9wpUQjvYt%2B/2vVatWbrd62e9/xfWisVfS7Z6YmIidO3fi5MmTSE1NRXZ2dpFuobauxZIkITU1tUieC/uAwd3v6M6%2BXVbbzhPubmf7sntyLouKisKhQ4cAFBx3nSVwtE21ZjuXZWdnFzmX2eencHQuO3PmjDbDBwBtyJUzderUQaNGjbRkTzerIpThZh06dAgHDx7E2bNnkZmZiZycHN3vYN%2Bd3dHvUJEMHz4cixcvhqqq2LZtG5KTk4skZlNVFT///LP2%2BJFHHvF6OSIiIlwmHQWgm0HGbDYjLi7O4%2BnpAOiSKLqalcama9eu2rnlxIkTMJvNLhtbiApjgE0lkpCQgDNnzrhV22yfHXXz5s1uXxzZB8TFjcuSJAlLlizBokWLisxN6IyjAMk%2BEYsoimjUqJFb64qMjCzzANt%2BmyYkJLidYMN%2BG7kz1s1ZdmYb%2B66NhafxAQqyG9sYjUanc0zaa9iwYZkE2O58R0CfEdQ%2BwZ9Nnz59MG/ePCQlJUFRFEyfPh0LFixAp06d0KFDB0RHRyMqKqpUWmgGDBjgMsDetm2bVgESHByMLl26OFzXyJEjtQD7/PnzeOKJJ9CgQQN07twZ7dq1Q3R0tK4135s2bdqk7ZthYWHa%2BFVH7r//flSrVg2pqalIS0vDtm3bdK3ahfXv3x8ff/wxVFXFqVOnEBcXV6RLs9ls1vIaAMUH%2BPYBQHx8vNv7n/14Pnf2P0%2Bn/0lISMD06dOxZcsWjzK7OzoeXr16VbvvqtXHpkGDBhAEwWl%2Bh7Ladp5wdzvbH3c3bNjg9hy39gFxcWW3WCyIiYlBTEyMR%2BcyR8On7Hux2GbXcEdkZKTXgtuKUIaS%2Bu233zB79myH0xQWp7hhbBVFvXr1cO%2B992LXrl2QJAmrVq0qUsm4e/du7TrIz8/P7WkfPeFsmkt7tWrVQlBQkLZdL1686HGAnZmZqduXbL2YXLE/L5jNZiQmJnptujC6czDApiLat2%2BPpUuXao8lSUJiYiJOnDiBmJgY7N%2B/H5IkYeHChZAkyeWUT/YHuLNnz%2BLs2bMel8nRyctiseCll14q0dgnR3Od2re%2BBgQEuF1j6WwMXmmx36YpKSklSgLi6oLAYDB4PLbW0YW1/cV7YGCg213q3W2Vv1nOWj2L4%2Bh7BgQE4PPPP8eYMWO0MdpZWVlYt26dNqa3atWq6NKlCx555BGvtgr3798fH330ERRFwZkzZ3DixIkieRFs05ABQK9evYptWe/RowdeeeUVfPLJJ1qQFh8fj/j4eCxZsgSCIKBx48Z46KGHMHz4cLcrKNxh39W7f//%2BTisjjEYj%2Bvbtqx2rVq9e7TTArl27Ntq0aaO1QsbGxhYJsLdu3ar9v4aEhBTb4mG//9nmNveUo6DWnp%2Bfn1s9K2yOHz%2BOkSNHFpmv3h2Ojof25XM0lMARo9EIf39/XctlYWWx7TzhyXa2L/vp06eLnbfaGUfHXbPZjBdffLFEx3FHv539/0ClSpXcPo5781xWEcpQEp9%2B%2BmmRJK7ucHf%2B9PL06KOPajMI/Pzzz0UCbPuu47179y6Vc7Anv29ISIi2v5TkuFa4R5070zM6el1GRgYDbPIYA2xyyWg0ok6dOqhTpw66d%2B%2BOKVOmaEmrYmJi0KFDh2Ln9wQct/Z5ylFrzKJFi3TBdevWrTFo0CC0atUKtWrVQmBgoC6ImDt3rtPpHuzH%2BHgSdJVH16HS2qal4Wbmer7VtGjRAuvXr8fXX3%2BNlStXIiEhQfd8WloaVq5ciZUrV6Jbt2748MMP3T7pOxMWFoa2bdtqQypiY2N1AXZ2drYusY2rlokxY8agc%2BfO%2BPLLL7F582bd/5uqqoiLi0NcXBwWLlyIl19%2BGSNHjrzp75CYmKhLvLds2TKnYwUB/UXt1q1bcf36dacXcAMGDNAC7F9//RWvvfaaLoi3zx7%2B0EMPFbtvOwsg3eVqv/Akt4PZbMbEiRO1i1A/Pz8MGjQInTt3RsOGDREaGlokkLz33nudtpSW1n5bFtvOE55s59I67v7f//2fLrhu164dBg4ciJYtWyIsLKzIuWzmzJmIiYkp9jMqwrmsIpTBU3/99ZcuuI6IiMCwYcPQpk0b1K1bF5UqVYKfn592zNi6dauW4f5W0KNHD1StWhVpaWk4f/489uzZo/USyszM1PXeKa38DyX9XyhJBUbh97j72YX/B2%2BFyhOqeBhgk0cEQcCUKVNw%2BPBhLQHSf//7X2zYsKHYE2NwcLBWkzh79myvdDuSJAlfffWV9viZZ57Bf/7zH6fvuXHjhtPn7ae3cvVaT9ZbGuxblIYNG/I0g6QAACAASURBVIZp06aVeRncZV/WGzduQFEUty5qvdlKVZaCgoIwbtw4jBs3DvHx8di7dy/27NmjS54FFGRvHj16NH744QevZOEeOHCgFmD/%2BuuveOONN7QLwd9%2B%2B03rvl%2BzZk2nXa9tmjVrho8%2B%2BghmsxmHDh3Cvn37sGfPHuzbt0%2B7eM7NzcX06dNhMBhuOgPwL7/8optD2dP9ymKx4Ndff3WaQKdPnz6YNm0aLBYLrly5gv3792vjYbOysnSVEM6Setn/Tz/11FN45513PCqrt61fv17XtfP77793mZzIVaBr/x0d5VZwRJIkl0FoRdt2nqhUqZK2D8%2BfP9/l9JTuMJvN%2BOabb7TH//rXv3RZ3h25Fc5lFaEM9typUP7iiy%2B0%2B%2B3bt8eiRYucJtssj3P/zfDx8cHgwYO1ypmffvpJOxfExsZq54j69eujXbt2pVKGkv4vlKQ1vfB73P3swr1M3O3BQ2SPWcTJYyaTSXdRdPnyZSxbtqzY19uP1/RkTJMzR48e1S76AgIC8Nprr7l8j6OplezZTx1mNpvd7rpYuJWyLNiX1VvbtLTYJ0%2BSJMnt8jrK1H2radCgAYYPH445c%2BZg%2B/bt%2BOabb3QJjo4cOeJy7mp32be4Xrt2TRtHDegTd/Xr18%2BjVjsfHx%2B0b98eY8eOxZIlS7Br1y68%2B%2B67upbiTz75xOH4e0/Yz31dUq6yiRfu9m2/XTZu3Khl065Vq5bTRFT2%2B9/58%2BdLWFrvsZ9jfujQoS6D6/T0dJetMrVq1dLuu7svxsfHu2xdrmjbzhOlcdw9cOCAVtkREhKCiRMnunyPq3OZ/Tk3KyvL7QoSb57LSrMM9i2R7maXdvX5ZrNZl8Ru0qRJLmeycPU7VESPPvqodn/jxo1aRbZ9b6HSSG5m42yKRHt5eXlaUlEAJcr7ERISoqu8dvf/2z4fDwCn08oSFYcBNpVIu3btdFlBFy5cWOwFtv1UFu7MvewO%2BwQ8jRs3dpmpWVVVl1N9NW3aVBd4uDPthqIoZZ7gDNBn9z506JBXul2WlsjISF0iNFsrqzPZ2dlubVf736uid0UXBAH33nsvvvzyS13CH/spzG5G4cRltuAxJSVFG3cHuO4e7kpQUBCeeOIJzJ07V1uWlZWly9bqqSNHjugSG23atEnrhu7qtmnTJu19R48edZnjwb5lesOGDdoFun33cFfjvwvP/V7eXQjtEwm6mlMagFvJuezXc/ToUbe6R7uzb1e0becJ%2B7KXxrmsSZMmLruxKori1rnMnjvnMkmSvDq9YGmWITAwULvvbuBe3HzhNsnJydqxwGAwuDU9lbtJ7rzJ/rhUknNe/fr1tVbrvLw8xMbG4vjx41ryWaPRqJvSy9tOnjzp1j5/7NgxXY%2BmwjlF3OHj44PIyEjtsbvTvdq/LiwszGGAfbO/A93%2BGGBTidlnKk5JScHy5csdvs4%2BED9w4IBX5ta1r7V2JyvzX3/9hWvXrjl9TWBgoO4gbktM5czu3bt1taxlpX379tqFmNlsdtlyV56MRiPuu%2B8%2B7fHy5ctdnpB%2B%2BeUXt1pE7QN3RVFuiYt1f39/3ZRzKSkpXlu3ffC4ceNGmM1mrFu3TrtQiYyMLNGFiiMdO3bUTbF0M99j9erV2v0WLVp4lFAmPDxcdzHsal/o1q2b1n31%2BvXr2L59O5KSknRzK7ua87lDhw7aeOacnByvtL7fDPspuNw5Htpv7%2BJ06tRJa/3JycnRtfY7oiiKlpvDmYq27Txhv9/u3r1blx28pDz97f744w9dRnVHqlSpogss3DmX7dixo0SJpMqjDPa9otLS0lwee65evYoTJ044fU3haexcSUtL083zXVbsj7kl7TVk34r9008/YcWKFdrjrl27ejVxZWE5OTnYtm2by9fZ/79ERESgRo0aJfo8%2B55I69ev1wXtjqiqqqtsLa4nkzd%2BB7q9McCmEmvbtq1uLOeXX37pMMB58MEH0aBBAwAFB6933333pgMh%2B4NtXFyc07E1ZrMZM2bMcGu99q1769atc1rrrSgKPvnkE7fW620hISEYPHiw9nj%2B/Plud70qD8OHD9fuHzt2TJelvrDLly/j008/dWu9lStX1rX42E8NU9Y8qcW273EQEhLitTJ06dJFGy%2BWkZGBbdu26QIjV63XnnwHs9msu1gpafZfs9mMX3/9VXtcknGt9u9Zs2aN0/GWvr6%2B6NWrl/Z47dq1WLdunfaeJk2aFMkuXlj16tXRt29f7fG8efPKdR5c%2B/lsDxw44PS1u3bt0s2HXpyaNWvqutPPmzdP19pa2JIlS9xqfaxo284T3bt316b0kmUZU6ZM8TgwK8z%2Btzt%2B/LjTi/X8/HzMmjXLrfUOGjRIu//LL784rQyQZRnz5893a72eKK0y1KxZU9dleOPGjU5fP3/%2BfJeBVbVq1bQKDlmWXbZ2zpo1q1wqdO2D35Ke73r16qUl1zx27Fipz31d2Keffup0v7l06ZIu6L%2BZFvWhQ4dq9y9fvowffvjB6etXr16tu%2B4rbnt443eg2xsDbLop9q3YSUlJDrP%2BiqKIN954Q3t88OBBjBkzxmXLb25uLlauXInnnnuuyHN33323Nt40JycHM2fOdBgcZGdnY8KECW63mg8dOlQ7cMqyjHHjxjm8qJRlGVOnTi2XLmI2Y8eO1YKz69evY8SIES67VSuKgj///BPPP/98kXFGpalLly66Vuzp06fj008/LVIxsnPnTjz99NNIT093K7u20WjUzW359ddfl1l29MImTpyIRYsWuZyj9%2BjRo9iwYYP22JvJZHx8fHTB5hdffKF13RYEAf369XP6/kuXLuGpp57C77//7vKCdP78%2BdqYZR8fH9x1110lKrMt%2B7dNSQLshx56SLufmJioG5PsiH1Fw5YtW3QXmK5ar21eeuklrSU8JSUFI0aMcHmckWUZ27ZtwzPPPOPVoNK%2BonPVqlXFBtkHDx7EhAkT3K5Ief3117UKrNTUVDz99NNFukZnZ2dj3rx5mDVrFgICAlwO1wEq1rbzhNFo1CUg27NnD8aNG%2Bdyn8/JycGKFSuKTIsEANHR0VqLflZWFubMmeNwHVlZWRg7dqzb4%2BGHDRumVXpZLBaMHTvW4XaTJAnvvPNOqQx1Ks0y9OjRQ7v/2Wef6YZJ2Fu4cCFWrlzpcn1BQUFo3ry59njGjBkOh14pioK5c%2BeWW68x%2BzJu2bKlROdxW7IzG9txvGbNmujUqdPNF9KFkydP4q233nI4fj4lJQVjx47VyhQSEoLHHnusxJ/VokUL3XeaMWOGLpmlvd27d%2BO///2v9jg6OhodO3Z0%2BFpv/A50e2MWcbop9913H%2B655x4cOnQIQMHUWcOGDSsyjqx79%2B544YUXtCydO3fuRPfu3dGvXz%2B0b98eNWrUgMFgQGZmJuLj43HkyBHs2LEDOTk5qFmzZpHPDQgIwCOPPILvv/8eQEG34zNnzuCRRx5BeHg4cnJycPToUfz4449ITExEYGAgHnzwQZcJpYKDg/HWW2/hlVdeAVCQ7GLAgAF4/PHH0bZtW/j6%2BuLcuXNYsWIFjh8/Dl9fX9x///3YsmXLTW9LT9WuXRuzZ8/G2LFjIUkSEhISMHToUHTp0gWdOnVCvXr14Ofnh%2BzsbFy%2BfBl///03tm/friVvK%2BtxQ9OmTcPjjz%2BOxMREKIqCBQsW4Msvv0Tjxo3h5%2BeHCxcuaBdfrVu3Rtu2bbFw4UIAzqdu6d%2B/v3Zhtnz5cmzZskVbp82AAQPQp0%2BfUvx2BWP45syZg3nz5qFDhw6Ijo5G48aNUblyZQiCoAV%2BsbGxWstHnTp10L9/f6%2BWY8CAAVrtv/246NatW2utb8VRVRV79%2B7F3r17tTm7W7Zsibp16yIoKAh5eXk4d%2B4cfv31V13l0lNPPaXLGuwJ%2BwvVJk2a6Manu6tevXpo2rSp1oK6atUq3dCUwu69917UqFEDSUlJyM3N1VosBEFw%2B/eIiIjAjBkzMHHiRMiyjPPnz2Pw4MHo2rUrOnXqhPDwcN3%2Bd/ToUWzbtk2rWPTm/jdo0CDMnz8fGRkZMJvNeOaZZ/Doo4/i/vvvR3BwMBITE7Flyxatpb5nz57Yu3ev02m6gIIhBW%2B%2B%2BSamTp0KoKACZuTIkahVqxbCw8ORl5eHuLg47WL4nXfewcyZM3UVL45UpG3nqT59%2BuDQoUNYsmQJAOD3339Ht27d0L9/f7Rr1w41atSAKIrIzMzEuXPncOjQIezcuRN5eXmIiIgosr6QkBAMGjRIq%2BRZunQp4uLiMHToUNStWxc3btzAoUOHsGLFCiQnJyMkJAQdOnRw2WpbpUoVvPnmm5g8eTKAgkR1AwcOxGOPPYbWrVvDx8cH586dw/LlyxEXFwd/f3/ce%2B%2B9Xu32XJpleOaZZ7By5UpYLBakpKRgyJAhGDlypJbz5dy5c/jll19w%2BPBhBAcHo23btrppPR0ZMWKEVtZDhw5h8ODBeOKJJ9CsWTPIsowzZ85g5cqVWnfzRx55xOVUgt7WuXNnBAcHa4nj%2BvTpg%2BbNm6NatWpaThI/Pz98/PHHTtczfPhw3UwsADBkyBCvzGjhTKdOnXDgwAGsXr0ax44dw6OPPorIyEhYLBYcPHgQy5Yt01VYTZ48%2BaaTjE2bNg2DBg3C9evXYTab8cILL6BPnz7o2bMnQkNDkZqaiq1bt%2Bp6PwUEBGD69OnFrtNbvwPdvhhg00178cUX8cILLwAoSLazevVqh3Movvrqq6hcuTJmz54NRVGQm5uLn376qcQnqNdeew379u3TLo7379%2BP/fv3F3mdr68vZs2a5VaSFQDo27cvEhIS8NFHHwEoaDlYuHChFuzZiKKIKVOm4NKlS%2BUSYAPQ5ip%2B%2BeWXcf36daiqiq1bt7q8kCgPderUwZIlSzBx4kTtN8vLyyuSHKtjx474%2BOOPsWjRIm2Zsyk6nnrqKWzZskXLmp2cnFwkA3zLli299TVckiQJO3bs0M1r60j16tXx2Wef6RL2eEP79u0RFhZWJOeAuy2zNvZzdjvTo0cPrULKU6mpqdi%2Bfbv2%2BGamPXrooYe0AHvTpk3Izs4uNugXRRH9%2BvUrcoHZrl07XfZsV3r27InPP/8cr776KrKysqAoCjZv3ozNmzeX%2BHuURHBwMGbOnInx48dDkiSYzWYsXbrU4VCMZs2aYfr06boWQGds057ZB85Xr17V9ewxmUyYNGkShgwZgvfff19XruJUlG1XEm%2B%2B%2BSaqVKmCefPmQVVV5OTk4Mcff3RrDLoj//73v3Hw4EGtdXrPnj0OE8b5%2B/tj9uzZuqSFzgwePBgJCQnakJvr16/j888/L/I6o9GIqVOn4sSJE14fV1xaZWjUqBFef/11LQhKT0/XJV608fPzw0cffYRdu3a5PC8OHjwY27Zt04asXLhwodgg66WXXkKLFi3KPMAOCAjA%2B%2B%2B/jzfeeAMWiwWSJBU5h9qPDy5Ow4YN0a5dO%2B28KQiCrjt1aYmIiMDQoUPxxhtv4PTp006nGH3xxRe9UqawsDB8/fXXeO6555CamgpVVbFu3bpi8wKEhIRg4cKF2tBGR7z1O9Dti13E6aZ16dJFl2Ro4cKFxY6vee6557BmzRr07dvXaaskUHACfeGFF/D11187fD4oKAjff/89Bg4cWOy0Q9HR0fjxxx/dvpi0GT16ND7//PNiW/waNGiAL7/8skzGK7nSsWNHrF%2B/HqNGjXI5DjY0NBRDhw7Ft99%2Bi3r16pVRCf/RsGFDrFy5Ev/973/Rvn17VKtWDT4%2BPqhduzY6d%2B6MuXPnYvHixahatapuCIGz7uI%2BPj5YsmQJPvzwQ3Tp0gVhYWEup1cpDS%2B88AL69u3rsmu7LQt3bGxskUy73uCoK7jJZNJ1oy5OjRo18Nprr6FNmzYusxk3bNgQH3zwARYsWOByXy5ObGys7ljhThmLY//evLw8l71VHFU4eFoJARTkmNiwYQOeffZZl/Ol1qxZE8OHD8f333%2BPsLAwjz/Lma5duyImJgYNGzZ0%2BHxgYCBGjBiB5cuXezyn7JNPPom1a9fi2WefRaNGjRAQEIDAwEBERkbi6aefxurVqzFixAjk5uZq3WoFQXCZX6CibLuSGDNmDFavXo3evXu7/P%2BPiorCmDFjsHjxYofPV6pUCcuWLUO/fv0cJjoTBAHt2rXDihUr0LlzZ4/KOX78eCxYsECXGMxeZGQkYmJibnp2gfIow8iRIzFjxoxiWzjvuece/Pjjjx5tszlz5mD8%2BPHFBkf169fHggULMH78eI/K6k19%2BvTBqlWr8NRTT6FZs2YIDg4uUcuzfa6Jjh07epRc8mb06dMHS5Ys0Q3vshcWFoZPPvkEL7/8stc%2Bs2nTpli7di0effTRYq8PfHx8MGTIEMTGxupmDCiOt34Huj0JKvPLUznJy8vDgQMHkJCQoHVVDA4ORnh4OBo3buxR1sjExETs3r0b165dg8lkQmhoKO6%2B%2B%2B6bPmGoqooDBw7g1KlTyMzMRLVq1RAVFaWbeqwisU0bdvr0aW2u26CgIISFhSEyMtJpjWxF06dPH61FZ8mSJcWOhaqI4uPjcfbsWVy5cgU3btyAwWBASEgIGjVqhFatWrk1TrW85efn48SJEzh//jxSU1ORl5eHgIAAhIaGolmzZmjUqFF5F7HCkWVZt/9JkoTAwEDUqlULUVFRZVKppSgKjhw5gmPHjiErKwshISGoXbs22rdvr8u6Xxr27NmDp59%2BGkBBt313kqnZVIRtV1K5ubm6c5kgCAgODkZERASaNGniUVbmq1evYvfu3UhKSoLJZEKNGjVw9913uxze4Yqqqti/fz9OnTqF7OxsVKtWDY0bN3ZrWjdvcacMM2fORExMDICCip0pU6a4XK/ZbMbevXtx9uxZ5OXlITQ0FC1btkRUVFSJy5qVlYXdu3fj4sWLkCQJNWrU0I7ftwOLxYLOnTtrFdlz587VJR/0Jme/6bFjxxAXF4eUlBQEBQUhKioKbdq0KbbRxBvy8vKwZ88eJCQkIDMzE8HBwdox0ts9yujOxQCbiCqcgwcPaolNTCYT/vzzT5ctXERUviZPnqxNATZo0CC3M14T2ZQkwCbPbdiwARMnTgRQ0ENs27ZtJe6J5Ap/U7oTsYs4EVUo2dnZeOedd7TH3bt3Z3BNVE7crYPfunWrbk7rm5lah4hKl/1whaFDh5ZacE10p2KATURl4saNGxg4cCCWLVuGpKSkIs9LkoRNmzZh6NChOH36NICC1mtbAj0iKntLly7FG2%2B8gR07djic9zc1NRXz5s3D%2BPHjtWC8TZs26NChQ1kXlYhcUFUVn3/%2BuZaQy8fHByNGjCjnUhHdfphFnIjKTFxcHN577z289957CAsLQ%2B3ateHr64usrCycO3euyLyjr776qm6%2BSSIqWxaLBWvWrMGaNWtgMpnQoEEDVKlSBaqqIikpCRcuXNC1clerVg0zZ850mKyLiMreH3/8geXLl0OSJJw9exYJCQnacyNGjHA4FSoR3RwG2ERUJgpfcF%2B7dq3IVFI2wcHBmDx5ssPp3oio7NgnG7JYLNoUe460atUKc%2BfOLbNsxETk2qVLlxxOf3fPPffgpZdeKocSEd3%2BGGATUZkICAjQ5rndv38/zp49i8TEROTm5sLHxweVK1dGVFQU7rvvPgwZMoTjrokqgBEjRqBZs2bYvn07jhw5gkuXLiE9PR0WiwXBwcGoXr06oqOj0bNnT4%2BnkCKismUymRAREYG%2Bffti1KhR5TKlJdGdgFnEiYiIiIiIiLyASc6IiIiIiIiIvIABNhEREREREZEXMMAmIiIiIiIi8gIG2ERERERERERewACbiIiIiIiIyAsYYBMRERERERF5AQNsIiIiIiIiIi9ggE1ERERERETkBQywiYiIiIiIiLyAATYRERERERGRFzDAJiIiIiIiIvICBthEREREREREXsAAm4iIiIiIiMgLGGATEREREREReQEDbCIiIiIiIiIvYIBNRERERERE5AUMsImIiIiIiIi8gAE2ERERERERkRcwwCYiIiIiIiLyAgbYRERERERERF7AAJuIiIiIiIjICxhgExEREREREXkBA2wiIiIiIiIiL2CATUREREREROQFDLCJiIiIiIiIvIABNhEREREREZEXMMAmIiIiIiIi8gIG2ERERERERERewACbiIiIiIiIyAsYYBMRERERERF5AQNsIiIiIiIiIi9ggE1ERERERETkBQywiYiIiIiIiLyAATYRERERERGRFzDAJiIiIiIiIvICBthEREREREREXsAAm4iIiIiIiMgLGGATEREREREReQEDbCIiIiIiIiIvYIBNRERERERE5AUMsImIiIiIiIi8gAE2ERERERERkRcwwCYiIiIiIiLyAgbYRERERERERF7AAJuIiIiIiIjIC4zlXYDypKoq0tJuQFHU8i7KHUcUBVStGsjtXw647csXt3/54vYvP9z25Yvbv/xw25ed0NDg8i4C0Z3dgi0IAkRRKO9i3JFEUeD2Lyfc9uWL2798cfuXH2778sXtX3647YnuLHd0gE1ERERERETkLQywiYiIiIiIiLyAATYRERERERGRF9zRSc6IiOh2YIYgZEAUMyAIGRCETOvjTAjCDaiqgIL6ZBGiKALwh4%2BPBUYjoKoiAMF6E6GqQVDVqlCUKlCUqlDVKgB8yvG7ERER0a2EATYREVVACkTxGkTxEgyGi9a/BTdBSLMG05nWgDrP47UHBrr/WlUN0oLtf/5WgaJUhyzXg6LUhyzXh6LUAmDwuCxERER0%2B2CATURE5UIQrsNgOAmD4QwMhotaAC2KlyCKCRAEi0frU9UAqGqgtRU6wPrXD4AKQVCtfwGjUYAkSVBVFYACQLXeFAhCLgQhyxq8Z0EQVAhCNgyGbAAXXXy%2BCYoSAVluAFmuB1m2Bd71Icv1oKqVS7SdiIiI6NbBAJuIiEpZNozGkzAYTsJkOm4Nqo/DYLji9F2qaoCqVoei1ISi1ICihEJRqkNRQgAEWoNp2y0A7rQeGwwCgoP9kZubC1l2NR%2BtAkG4USjgLriJYpa1G3qitaX9GgTBAoPhLAyGs47XpoRCklpAllvAYmkBWW4OSWoGwN9luYmIiOjWwACbiIi8RIbBcAZG4yEYjcdhNJ6AwXACBsOFYt%2BhKKGQ5XCoak3Icqg1iK4BRakBVa2G8u1yLUJVg6GqwQBqu3itDEFIhcFwzRpwJ%2BqCb1FMhygmw8fndwC/w98aU6uqCEVpCElqCUlqrv1VlPpgHlIiIqJbDwNsIiIqAQUGw1kYjQdhMh2C0XgQRuNhCEK241crVbSu0rIcDlmOgCzXA%2BDBYOgKzQBVrQFJqgHgLgfP51q7wJ%2BHwXABBsMFiOI5iGKGtYv8Gfj6rtZerapBkKS7IEmtYbEU3BSlAQqSsREREVFFxQCbiIhcUCGK8TCZDsJoPAST6SAMhkMQxcyir1R9IcuR1nHI4dYkYBFQ1ZByKHdF4g9ZbgxZbmy3TIUgpNsF3edhMJyHKF6AIGTDZPoTJtOfWmu3olSBJEXDYmkNSSq4KYqrlnUiIiIqSwywiYhIRxDSYTTuh8m0FybTfhiNeyGK6UVep6o%2BkOVGkOUoyHJDSFIUFCUczKTtLgGqWhWSVBWS1NpuuQxRTIDReMo6pvs0DIazEMV0%2BPhsgY/PFu2VihKmBdwWSztIUmtWZhAREZUjBthERHc0C4zGYzAa91kD6n0wGE4XeZWqmiDLDa3BdCNIUiQUJQI8jZQGAxSlHszmegB6WpdZrC3cp2E0noHBcAqieAGieA2%2Bvuvg67sOAKCqAmS5CSSpLSyWdrBY2kKWm4G/ExERUdngGZeI6I6hWltG98Nk2geTaR%2BMxoMQhNwir5TlOpDlppCkxpDlJpDl%2BgBMZV5isjFZKzeiYDbbluXBYDgHo/E0DIZTMBrjIIpXYTSehNF4En5%2B3wIAVDXQ2rW8rbWVu611zm4iIiLyNgbYRES3KUHIhNF4QBdQi2JikdcVJNRqYm35LBgnzG7GtwI/yHJzyHJzbUnB3OJxMBoLAm6DIQ6CcAMm0w6YTDu018lybUhSG1gsbSBJbSBJ9/A3JyIi8gIG2EREtwWLdWosW8v0fmtwpZ/rWVUN1mmhGmut04pSB5wS6vagqpUhSfdCku61LrGN546zjumOgyieh8FwBQbDFfj6xmrvLfifaGMd090GktQKgG%2B5fA8iIqJbFQNsIqJbTr41mD4Mo/EwTKZDMBj%2BhiDkF3mlooRZW6dtAXUjMGi6k/wzntts7mVdlmudYu2Udd7yOIjiNWur9yn4%2BS0DYBt33woWS7R1yrC7IEktAPiV27chIiKq6BhgExFVaDkwGo9aA%2BmCgNpgOA5BkIq8smCsbeGu3pXLocxUsflDlltClltqSwQhwzqOu2A8d0EStQzrEIMD2utU1WCtrLkLknS39W8rqGqV8vgiREREFQ4DbCKiCsECg%2BEcDIaTMBpPwGg8CYPhOAyGUxAEpcirFaWSdb7pSGt270goSk2wqzeVhKqGQJLaQZLa2ZZAFBOtwfY563RhZ61B9wkYjScALNfeL8sRWrAtSc0hy00hyw3BxHhERHSnYYBNRFSmLABOwGQ6AB%2Bf49ZA%2BiQMhtMQBIvDdyhKFW16rIIpshpBVUMBCGVacrqTCFCUMOs82w9al6kQhFRrwH0ORmO8Nei%2BCoPhIgyGi/D1XautQVWN1gqgJpCkJlDVZgCiAdQF4FMO34mIiKj0McAmIvK6bBgMF6zzFv9zK0gudQ6ABUFBRd%2Blqn6Q5XpQlAjIcgRkORyy3AiqWrXMvwFRUQJUtTokqTokqT3yrUP%2BBSEbohgPo/EcDIZ4iGJBsC0IudqUYb52w/4rVxahKA20YQyy3ACyXB%2By3ACKEg5emhAR0a2MZzEiIo8oEIRUiOI1iOI1GAxXrYHzeS2oFsVkF%2BvwtwbQ/wTSihIBRQkFu3jTrUZVgyDLl9hrLQAAIABJREFUrSDLreyXQhBSrC3bCTAYLllvFyEImVqXc2B9oXUZrBVM9QsF3gV/VbVSmX43IiIiTzHAJiKCBYJwHaJ4HYKQDlFMtgugEyEIida/1yCKSQ4TjBWmqsGQ5VpaN1tFqQFFCQNQB0FBEcjJyYcsqy7XQ3RrEqCqoZCkUEhSGwCAwSAgONgP2dlXAVyAKCbAYLhi3deuQBSvQhAsMBjiYTDEA9haZK2KEgJFqQNFqQtZrgNFqQ1ZrmtdVgeyXAdAQJl%2BUyIiInsMsInoFmaGINxwcMuGIOTY3c%2B2Bs/XrYF0ut396xCEGx5/sqJUhqpWhaJUtQbQNa23gvuq6qAPOAqCDLZS051LgKpWgSxXBnB3oecUCEKaXc%2BQRGvwfdX69zpEMQOimAHgeLGfoChVoCh1rQG3rZLrn7%2ByXAuqWh3cD4mIqDQwwCaiUqJCHwDn2AW%2B9gHwDWuAmwNRzAWQa30uT/sL5EAQcrVlBa%2B5UWxSsBKXWA2EqgbZBc9VoChVoaqVoShVtIC6YOorHj6JvEuEqlaHLFfXTSH2jxyIYoq1h0mKdhME2/0kCEIeRDEdopgO4Gixn6SqRmuFmH0vk1qQ5drWZQU3VQ0BkwkSEZEneIVIRG7ItXbhTNZaf139Lbh5NwAujqqaoKr%2BAPygqn7W%2B/7W%2B34A/KAoQVDVIC2ILnoLBGAok/ISUUkEWHMVRBTzvGqtvEuxC8DTIYpp1pbxNAhCKgQhHYIgwWC4DIPhstNPVNUALdguaA2vbReIh0OW60FVq4FBOBER2TDAJrqjqRCEDGvwfMU6HvKfvwW3y9bWoJv4FF0A7K8FvfYBcMF9X6iqDwD9X1X1td73tVv2z/s41y4RFXQ/D4aqBkNRGjh5nWzNtZBmTViYDlFMtQvEU60t41kQhBwtIZupmMOMqgZoiQr/SVoYDlmOsFYIcH56IqI7CQNsojuCLXFQHHx8TgE4i%2BDgY9a5l7PdWkNB8FsVihJsbfENLtICbFtmay0GAqwBMA81RFRRGLSu6M7l2QXdKUUCcFFMsgbiOTAa4wDEOVyLqvpYs6EXTEsmSVHWee0bW4ebEBHR7YRXvUS3lTwYjXEwGApu/9w/V6S7ttFu71eUSlDValCU6lDVapDl6tZg%2Bp9lBQEzu0ES0Z3CD4pSG0BtyHJxr7FYh84kWZOyJds9vgZBSIEgmGE0noLReKrIuxWlBmQ5yjoneJQ1AG8MRakHHm%2BJiG5NDLCJbmGieBlG4x74%2BOyG0bgHRuPhYsc9q6ofZDkCqhoOk6kBcnPDYLHUgaLUAOBXtgUnIrotmKzjsmsX87xsbe2%2BYp2W7DIMhgSI4iW7VvAkmEw7de9SlBDI8t2wWO6BJN0NSboHstwI7GpORFTxMcAmumVYYDQegcm0GybTHhiNe2AwJBR5laJUso77C4cs14Ush0OWw7VpaQwGASaTPyQpF4rCeZiJiEqPQZvCD4gu9FwODIbLhQJv2y0DorgNJtM27dWqGgxJuguSZAu874EsR4HJGYmIKhYG2EQVlgUm01/w8dkMk2k3jMaDEIRc3StUVYSiNIQkNYMkNYEsN7NeyLFrIRFRxRZg7RYeBYuu45EEUbwIo/EMDIZzMBjOwGA4C0HIgsm0EybTTvj7F7xSVQMgSdEwm%2B%2BDxfIALJb2AALL4bsQEZENA2yiCkQQUuHj8z/4%2Bm6EybQZopihe15RKkGWbcF0U0hSYwD%2B5VNYIiIqBUYoSkOYzQ3tlskQxUswGM7AaIyHwXDaGnTnaEE3MBuqaoQkRVuD7fthsXSAqlYqry9CRHRHYoBNVK5UGAzH4eOzAb6%2BG2A07oEg/NNtW1EqQ5LaQpJaQpKaQlHqgGPwiIjuNAYoSn0oSn271m7ZmofjuPV21Dqeey9Mpr0A5kJVRetY7vshyw8A6AnAt9y%2BBRHRnYABNlGZy4OPzzb4%2BGyAj89GGAyXdM/KciQslnawWNpClhuDATURERVlgKJEwGyOgNn8EAAVopgIo/GoXcB9FUbjQRiNBwEsACAgOLgN8vN7wWzuBUm6BzzHEBF5FwNsojKhwGT6C35%2B38PXdzUEIUt7RlV9IEmtYbG0hcXSFqoaWo7lJCKiW5MARQmD2RwGs7lnwRIhBUbj3zAaj8FkOgpRvASjcR%2BMxn0IDPwQilITZnNP5Of3gsXSFaoaUs7fgYjo1scAm6gUieI5%2BPn9AD%2B/H2AwnNeWK0ooLJb2sFjaQpLuAqfJIiIib1PV6rBYusBi6QKzWUBwcDby8nbCYNgHo3E/RDERfn7fws/vW%2Bv47Y7Iz%2B8Ns7m3tQcVE2YSEXmKATaRlwlCBnx9V8PP73uYTH9py1U1ABZLJ%2BTnd4MsNwe75RERUdkKhcXSG3l5vVAw9ePfMBr3w2TaB4PhEkym7TCZtgN4G7JcD2bzQ8jPHwyLpQM4HRgRkXsYYBN5hQSTaSv8/b%2BHj8%2BvEIQ8AICqCpCk1jCbu1kvUNhSTUREFYEJkhQNSYpGXt4oiOIVGI37YDLth9F4BAbDBfj7fwF//y%2BgKDWRnz8A%2BfkPw2K5Dwy2iYiKxwCb6CYIQhL8/RfB3/9riOI1bbksR8Bs7g6zuQtUtXo5lpCIiMg1RakNs3kgzOaBAPJgNB6Cj88umEx/QRQT4e//Jfz9v4Si1CgUbPNSkojIHo%2BKRCVgMBxFQMBn8PVdAUEwAyiYo7pgnFs3yHIkOHaNiIhuTX6QpA6QpA4AxsFoPAwfn53WYDsJ/v6L4e%2B/GIpSHfn5A63dyB8ALyuJiHgkJPKAAh%2BfjfD3/ww%2BPn9oSyWpGfLzB8Ji6QjAVH7FIyIi8joTJKktJKkt/gm2/4TR%2BCdEMQX%2B/jHw94%2BBovx/9u48TJa6vvf4u9be5oAHIW5EI2CuOy6IGgXDpojiAoiCMVEQTbxejQtKzE3wYsQFUZO4IApRkBijkRgRiYbloCAiS4gYF0DFgIiAB%2BbMdFd1dVXdP2bmMOecWXqmq7t%2Bv6rP63nyYA7Q862le35vqrvrgcTxS4milzMY7Iv%2BI7OI1JUCW2RVszSb59FufxLPuwWAPPdIkmcTxy8iTR9d8nwiIiKT4DMYPJXB4KnAn%2BH7/0UQXEEQXInr3rP1beRpugdRdDRxfPT8O7pEROpDgS2yDNe9jVbrTJrNz%2BK69wKQ5x3i%2BFDi%2BIXk%2Be%2BUPKGIiEhZfAaDpzAYPIVe7w3zn9neRBBcgef9jE7n/XQ67ydJ9iGKXk4cH6nvJBGRWlBgi2zH835Mu30ajcZXcJwUgDR9GHH8Ivr9g4BWuQOKiIgYxVt0ZfsNBMF3CcNNW28BFgTXMDX1FyTJwfOxfRj6XSoiVaXAFpnneT%2Bl3X4/jca/4Dg5AIPB3kTRixgMnoZuSyIiIrKaJklyAElyAI7zW4Lg24ThZfj%2BTwnDiwjDi8jzDcTxi4iiV85/E7lb9tAiIoVRYEvted5NtNsfnP9G8AyAJHkWUfRy0nTPkqcTERGxU57vQr//Yvr9F%2BO6vyQMNxGGl%2BK6d9JsnkezeR5p%2Bkii6Bii6Biy7BFljywiMjIFttSW695Cp/NBGo0vLgrrZxJFxyisRURECpRlDyeKXkUUvRLP%2B2/C8FLC8HI87%2Bd0OqfS6ZxKv78/UfRK4vhFQKfskUVE1kWBLbXjuj%2Bn0zmNRuMLWz9jnSRPnw/rR5U8nYiISJW5pOnj6fUeT693AkFwJY3GJfj%2B9YTh5YTh5eT52%2BZv%2BfXK%2BVtg6pZfImIPBbbUhuveOh/W/4jjDABIkn3nw/r3S55ORESkbpokyYEkyYE4zm8Iw0sIw//A8%2B6g2TyXZvPc%2BVt%2BHUMUHUuW/W7ZA4uIrEqBLZXnOHfT6byPZvMfFoX1PvNhrXtYi4iIlC3Pf4c4fgVx/HI874c0GhcTBJfP3/LrvbTbp5Ikz5l/C/nhQLvskUVElqTAlgrr0Wp9kk7ndBxnCwBJ8hSi6FjS9DElzyYiIiI7ckjTx9PtPh543fxbyC/G928gDC8jDC8jy3ai3z%2BCXu%2BVDAb7oreQi4hJFNhSQRmNxpfodE7B8/4HgDR9FL3ecQwGTyx5NhERERlOiyQ5iCQ5CNf99fxbyC/GdX9Ns/lZms3Pzv9%2BfyVx/Aqy7KFlDywiosCWagmCK5ia%2Br/4/rUAZNlu9Hp/QpI8B91nU0RExE5Z9mCi6Fii6BX4/g8Iw0sIgu/geTcxNfVuOp1TSJKD5t9CfhjQLHtkEakpBbZUgufdRKdzMo3GBQDkeYsoOpo4fjHQKHc4ERERKYjLYLA3g8HewOsJwysIw//A928kDL9FGH6LLHsAcXwkUfQKvYVcRCZOgS1Wc5x7aLffT6t1Fo4zIM89%2Bv1DiaJjyPONZY8nIiIiY9Om3z%2BEfv8QXPf2RW8hv4tW6yxarbNI0z2JolcQRS8ny36v7IFFpAYU2GKpPq3WGbTbp%2BG69wFz97Lu9V5Nlj285NlERERkkrLsYUTRq4iiY%2BffQn7p/FvIb6HTeS%2BdzntJkmcRRa8gjl9Cnu9c9sgiUlEKbLFOEFzMhg0n4nk3A5Cme85/gdmTSp5MREREyuUxGDxpfk3wpwTBdwnDS/H96wmCK%2Ba/q%2BVE%2Bv3DiKJj6PcPQsthESmSXlHEGq57K1NT76LR%2BBoAWbaRKPoT%2Bv0DAa/c4URERMQwLZLkQJLkQBzn7vnbfF2C591Ko/EVGo2vkGW/QxwfQRQdxWDwNPR5bREZlQJbLBDRbn%2BUdvvDOE5EnnvE8YuIomOATtnDiYiIiOHyfFfi%2BCji%2BEg872bC8DKC4DJc9ze0WmfQap1Bmv7e/JejHUWaPq7skUXEUgpsMVhOGF7E1NRJeN7PARgMnkS3%2Bzqy7BElzyYiIiL2cebvnf0oer3X4PvXEYaXEwTfxfN%2BQbt9Ou326QwGjyGOjyKKjiLLHln20CJiEQW2GMl1b2HDhncSht8EIMt2pdc7niTZD719S0REREbnMxjsO38rr4gguJow/Da%2B/318/0f4/nvodN5DkuxDHB9JHB9Jlj247KFFxHAKbDHM7Px/Pf47HKdPnvvzn406GmiVPZyIiIhUUpMk2Z8k2R/HmSEIriQIvo3v/ydBcA1BcA2dzrtIkv2I4xfT7x%2Bu2BaRJSmwxRA5YfhvTE39BZ53GwBJsg%2B93uvIsoeVPJuIiIjURZ5P0e8/l37/uTjObwmCKwjDy/H9/yYMLycMLyfP385g8HTi%2BEXE8Yt0i1AR2UqBLaVz3V%2BwYcPbF70d/EH0eieQJM9AbwcXERGRsuT5LvT7h9PvH47r3kkQfIcguBLf/zFBcBVBcBVTU%2B9iMHgKUfQi%2Bv0XkaZ7lT22iJRIgS0l6tNsfohm8wM4Tm/%2B7eAvI4peBjTKHk5ERERkqyx70NbPYjvOXfP32P4unvcDfP86pqauA97NYPC4%2BSvbLyZNH1P22CIyYQpsKYXvfwd4C63Wj4CFbwf/U7Lsd8sdTERERGQVeb4b/f7cFWvH2Tx/NftKfP8GfP%2BH%2BP4P6XTeR5ruSZIcBhwJPAlwS55cRMZNgS0T5Th3MzX1VzSb5wGQZRvp9V5LkjwHvR1cREREbJPnG%2Bn3n0%2B//3wcZ8vWt477/rV43i143t8Df8/OO2%2Bk3z%2BYfv8w%2Bv2DyfOdyx5dRMZAgS0TktFsfp5O569w3c3kuYPjvIjZ2WNJ06myhxMREREZWZ5voN8/hH7/EKBLEFxHGH6fIPg%2BrruZZvNLNJtfIs99kuRZ9PvPJ46fr3tti1SIAlvGzvN%2ByIYNbyEIrgIgTfckiv43nc6TgR6QlzqfiIiISPHaJMmzybL9CIKQbvd6XPdqguB7eN4vCcNNhOEmpqZOYjB4zPxV8OeSJPuiJbqIvfTslTGapdP5AK3Wx3CcAXneIopeRRy/EM/TqSciIiJ14ZGmj6PffyxR9Gpc93aC4GqC4Pt43o34/o/w/R/Rbn%2BYLHsASXIAcXwISXKw7rctYhlVjoxFGH6DqakT8bxfApAkz6bbPYE837XkyURERETKlWUPI45fShy/FMfZgu9fSxBcg%2B9fi%2BveS6NxPo3G%2BQAMBnsTx4fQ7z%2BXwWAftHwXMZueoVIo1/0VU1PvpNH4KjB3S4tu908ZDPYteTIRERER8%2BT5BpLkD0mSPwRSPO%2Bm%2Bdi%2BDt//yfw3k99Ap/Oh%2BavbB84H98Hk%2BYPKHl9EtqPAloKktFpn0un8DY6zhTz3iOOXEkXHAM2yhxMRERGxgEeaPpo0fTTwRzjOvfj%2BdQTBtQTBwtXtr9BofAWAweCJ899MfhBJ8nQgLHV6EVFgSwF8/z/ZsOHP8f3rABgMHkO3%2B7/1jZgiIiIiI8jzuSvWSXIgc1e3f0oQXIvvX4vv/xTf/y98/79otz9Mnk/R7%2B%2B/Nbi1DhMphwJb1s1xttBu/w2t1qdwnIw8n6LXezX9/vMAt%2BzxRERERCrEI00fQ5o%2Bhvuvbl9PEFyP71%2BH626m0biQRuNCYO6uLf3%2BQfP/tz/QKXV6kbpQYMs65IThBfNfYvYrAPr9P6TXO54836Xk2URERESqb%2B7q9gEkyQFAhuf9bP7t5NfjeT/E826h1bqFVutM8jwkSf5g/h7dB8%2B/Bd0pexNEKkmBLWviuv/D1NTbaTS%2BAUCaPoRe7w0MBk8peTIRERGRunJJ071I072I46OBLkFww9bPb7vunYThZYThZcBfkqa7kyQHz98K7Dnk%2BU6lTi9SJQpsGVJCq/VxOp334zhd8twnjo8iio4GGmUPJyIiIiJbtUmSZ5Ikz6TXy3Hd2wiC6%2Ba/mfwGPO82PO%2BzNJufJc99BoNnEMcHz1/dfgK6ui2yfgpsWVUQXMnU1Fvw/R8BMBg8gW73DWTZw0ueTERERERW5pBlv0sc/y5x/GIgwvdv3PplaZ53O0HwHYLgO8C7ybIH0e8fQhwfSpIcQJ5vKHsDRKyiwJZlOc7dTE39Fc3meQBk2c70esfPf5Ol/sumiIiIiH2aDAb7MBjsA4Dr3oHvXzt/hfsGXPdOms3P02x%2BnjwPSJL96PefRxwfqm8mFxmCAluWkNFsnkOnczKuuxmAOH4%2BUfQn%2Bq%2BYIiIiIhWSZQ%2Bh338h/f4LgT6%2B/0N8/1rC8Hu47q8Iw0sIw0uYmnong8Gj6fcPpd8/lCTZF6WEyI70rJBteN4P2LDhLQTB1cDcLR663TfMf9ukiIiIiFRXyGDwZAaDJxNFx%2BO6txME3ycIvo/n3Yjv/xjf/zHt9kfJso3z99w%2BlH7/EPL8AWUPL2IEBbYAC/e0PpVW6wwcJyXPW0TRq4jjFwJe2eOJiIiIyEQ5ZNnuxPHuxPFLcZyZ%2BW8lvwbf/z6uu5lm80s0m18iz32S5DnE8eHE8QvI8weVPbxIaRTYtZcThl9lauqkRfe03o9e77Xk%2Ba4lzyYiIiIiJsjzKZJkf5JkfyDF835CEFxDEFyF591KGF5MGF7M1NRbGAyePh/bL9TntqV2FNg15nk/YWrqHYThpQCk6UPp9V6/9UsvRERERER25JGmjyVNH0sU/fH8W8m/SxB8F9//MUFwFUFwFVNTf8lg8IT52D6cNH0s%2BqJcqToFdg05zjTt9gdotT6J4wzI83D%2BntZHoXtai4iIiMhaZNnDiOOjiOOjcJy7CYKrCMPv4nk/wPfn/q/TOZU03XM%2Bto9kMHgiim2pIgV2rWQ0Gv/E1NTJuO6dACTJM%2Bn1jifLHlLybCIiIiJiuzzfdeu3kjvONEHwPYLgKnz/OjzvFtrtj9Juf5Q03YsoOoI4PkpfpiuVosCuCd//T6am3r7o28EfRq/3Or0dXERERETGIs93ot8/hH7/EKBHEFxDGF6B738Pz7uZTueDdDofZDB4HHF8JFF0BFm2R9lji4xEgV1xjnMPnc4pNJufxXHy%2BW8HfwVx/GIgKHs8EREREamFFkmyH0myH9AlCL5HGH4H379m/t7bP6TTOYXB4KnzV7ZfSpbtXvbQImumwK6sAc3m2XQ678V1NwPQ7x9Ar/dqfTu4iIiIiJSoTZIcQJIcgONsmf9StMvx/f/E969laupapqb%2BkiR5JlF0NHF8BHm%2BseyhRYaiwK6gILiSqakT8f0fAJCme9Dtvp40fXzJk4mIiIiI3C/PN2x9G7njbCYIriQMv43v/2DrN5NPTb2Tfv8wougY%2Bv2D0bswxWQK7AqZ%2ByzLyTQaXwPmXrB6vT%2Bi338%2B4JU7nIiIiIjICvJ8I/3%2BC%2Bj3X4Dj3E0YXk4YXoLn/ZxG419pNP6VLNt1/u43xzIY7I2%2BiVxMo8CuAMe5Z/62W5%2BZv%2B2WS79/KFH0R%2BT5zmWPJyIiIiKyJnm%2BK3F8BHF8BK77M8LwEsLwMlz3blqtM2i1zmAweAxRdAxxfDRZ9tCyRxYBFNiWi2m1zqTdPg3XvReAJNmXXu/VZNkjSp5NRERERGR0WbYHUbQHUfQafP86wvBSguC7%2BP6PmJr6azqdk0mSA4CLyx5VRIFtp5xG43w6nXfjeb8A5j5n3esdx2Dw5HJHExEREREZC4/B4GkMBk/DcWYIgisIw0vw/RsJw0vKHk4EUGBbx/e/x9TUuwiC7wOQZQ8kil5Fv38g%2Bpy1iIiIiNRBnk/R7z%2BPfv95uO4dhOGlNJtlTyWiwLaG6/6Mqan/R6NxPgB53iSKjiKOXwro1URERERE6inLHkIUHavAFiMosA3nur%2Bm1TqdVutsHCchzx36/ecRRa8kz3cpezwRERERERGZp8A21Nw3g3%2BUVutMHKcHQJI8lV7vNWTZI0ueTkRERERERLanwDaM49xLq/Ux2u1P4DgzAAwGjyWK/mj%2BXn8iIiIiIiJiIgW2MWZot8%2Bg1fq7rbfcStO96PX%2BiMFgH8ApdzwRERERERFZkQK7dD1arbNotz%2BM694NQJo%2Bgih6JUnyByisRURERERE7KDALk2fZvNzdDqn4bq/BiBNH0YUHUuS7IduuSUiIiIiImIXBfbEzdJqnUOr9fd43m0AZNnvEEXH6l7WIiIiIiIiFlNgT4jj/JZW60xarTNw3d8CkGUPJIqOpt9/HhCUO6CIiIiIiIiMRIE9Zq57O63Wx2i1PovjzAKQpg8hjo%2Bk3z8ICMsdUERERERERAqhwB4Tz/sp7fZHaTS%2BiOMkAKTpnkTRUSTJs9BbwUVERERERKpFgV0w37%2BWdvsjhOHXcJwcgMHgiUTRkQwGT0XfCi4iIiIiIlJNCuxCpIThN2m1PkEYbtr6p0nyTKLoSNL0MSXOJiIiIiIiIpOgwB6B49xDs/l5Wq3P4Hm3ApDnHklyIFF0BFn28JInFBERERERkUlRYK%2BD719Pq3Umjca/4DgRAHk%2BRRw/lzg%2BnDz/nZInFBERERERkUlTYA8tptE4n1brTILgmq1/mqZ7EccvoN/fH2iWN56IiIiIiIiUSoG9Ctf9H1qts2k2P4fr3g1AnvskyX7E8QtI00ejLy4TERERERERBfaS%2BoThv9NsnkcYXoTjZABk2W7E8fPp959Lnm8seUYRERERERExiQJ7qxzfv5Zm8ws0Gl/GdTdv/TuDwZOI48NIkmeg%2B1eLiIiIiIjIUmof2I5zG63WF2g2v4Dv/3Trn2fZA%2Bn3D6TfP1DfBi4iIiIiIiKrqnlgH8zOO1%2BC4%2BQA5HmDJHkW/f4BDAZ7o6vVIiIiIiIiMqyaB/bFOA4MBk%2Bcv1r9LKBd9lAiIiIiIiJioZoH9nHMzOzHYKD7VouIiIiIiMhoah7YryLPe0Be9iAiIiIiIiJiObfsAURERERERESqQIEtIiIiIiIiUgAFtoiIiIiIiEgBFNgiIiIiIiIiBVBgi4iIiIiIiBRAgS0iIiIiIiJSAAW2iIiIiIiISAEU2CIiIiIiIiIFUGCLiIiIiIiIFECBLSIiIiIiIlIABbaIiIiIiIhIARTYIiIiIiIiIgVQYIuIiIiIiIgUQIEtIiIiIiIiUgAFtoiIiIiIiEgBFNgiIiIiIiIiBXDyPM/LHqI8fbIsB2q8C0rj4LqO9n8ptO/Lpf1fLu3/8mjfl0v7vzza95PgOCGOo2uHUr5aB3ae5/MvdlKG%2B3/ZyCR5Xq/sEaTm0rRV6s/Xa095itz3ei0T25X9Wlg1c68vKTMzm8jzeJ2PErFhw5vwvNuJoqPZsuUzhc4odttttw1D/XP%2BmOcwmuM4TE93GQyyskepHd932bixo/0/BrvttqnsEURW5HnFPM5ddz1nzf%2BOXnvKs9K%2B1%2BuW1NFqr4XreY2rs1126RTwKE263bcyNXUizeY/0%2B8/lzg%2BuoDHlTqp9RVsgM2bZ7XIKsHCQkv7f320GBUZHy1q106vSSKTo9eopc0FdjbiFew5zeZ5NJv/SJ5PsXnz5aTpXsUMKVbTFWyRCtCiVWTy9LwTEZMt9xql8C5OFL0C378R3/8vdtrp1Wze/B9As%2ByxxBIKbJGSaTEvIiIio1ppPaH4XiuP2dm3sWHDm/D9/2Jq6v8yM/OhsocSSyiwRSZEIS0iIiJlWGoNouheWZ7vOv957JNptc4kSf6AOD6i7LHEAgpskTFQTIuIiIjJFN2rGwz2IYpeRrP5JTZseAODwaNI0yeUPZYYToEtMgKFtIiIiFSFontHUfQqPO9nBMG17LzzMWzevIk8f2DZY4nBFNgiQ1BIi4iISB0puj263ROZmnornvdLdt75j7n33n8FgrIHE0MpsEW2o5gWERERWV7dojvPNzA7%2B1ds2PBWguDbTE29g5mZDwNO2aOJgRTYUlsKaREREZFibL%2BuqlpwZ9nDmZ19O53O39BqnUWWPZhu951ljyUGUmBLLSimRURERCanile5B4Nn0Ou9nnb7DDqd95JlDySKXlv2WGIYBbZUjmJaRERExDxVuMrd7x%2BO695Hs/kFpqbeRp7vott3yTYU2GI1xbSIiNTTNQU/3j4FP57I6mwN7ih6JY5zH43GhWzYcAJZtjNJclDZY4khFNhiFQW1iIiUq%2BiwNcUkt0sxL0uzJ7gder0/xXG2EIbfZuefAXWMAAAgAElEQVSdX8H09Ofo9w8rezAxgAJbjKWYFhGR9alqBFfFeo%2BPwrxuzA5uj273bThORhBcwU47vZItWz5FHB9d9mBSMgW2GENBLVIUxYUdqhgLOvdknNZyflXx%2BSWL14pmxHbA7Ow7abf/ljC8mA0bTsBxthBFx5c9mJTIyfM8L3uIMm3ePMtgkJU9Ru34vsvGjZeWPYZISRQhIiJmUIhXRZoeBmTMzGwiz%2BMJ//SMVuvTNBr/BsDMzLvp9d6C7pNdLbvttmGof05XsGVidIVaqkOBLCJSDau9nivAbeF5PdK0UdJPd%2Bn1Xkeet2k2/4mpqXfjeTczM/NhoFnSTFIWBbaMjYJa7KFgFhGRpaz0%2B0HxLYs5RNGryPOdaDY/Q6v1eXz/h0xPn0eW7V72cDJBCmwplKJazKFoFhGRcVJ8y47i%2BMWk6SNotz9IEFzPxo37Mz19Dkny7LJHkwnRZ7D1GeyRKKhlshTNIiJiO8X3eBxAmjZK%2Bgz2jlz3TjqdU/G8m8lzj9nZ99Lr/Rn6XLa9hv0MtgJbgb1mimoZD8WziIjUmcJ7NGYF9pyIdvsThOHFAMTxC9iy5aPk%2BYNKnkvWQ19yJoVSVMvoFNAiIiLLW%2Br3pKLbbk263bcwGDyKVuszNBpfJwiuZGbmdOL4SHQ1u5oU2LIkBbWsnQJaRESkWMv9blV428Oh3z%2BcweAJdDofxfNuYqedjiOO/40tWz5Mnu9a9oBSML1FXG8R34bCWpameBbTXVf2ABP0lLIHGJM6HUObVfX8q4K6R7eJbxHf3oBm88s0Gv%2BI46Rk2a5s2fIR%2Bv0Xlz2YDEGfwR6SAltRLaCAluIokkRkOYrzyatTdNsQ2HM872ba7b/F834GQBwfzszMe8my3yt3MFmRAntIdQ1sRXUdKaJlGApkETGBYnw8qhzc9gT2nIRm84s0Gv%2BM46TkeYNe7410u28lz4cLOZksBfaQ6hTYiuqqU0DLUhTMIlJVivBiVCW6bQvsOa77C9rts/D9ud/XafpgZmdPJo6PAdxyh5NtKLCHVPXAVlRXjSJaQNEsIjIMBfj62Brcdgb2nBzfv5p2%2BzO47q8ASJKnMDPzAQaDp5c8myxQYA%2BpqoGtsLaZIrq%2BFM4iIpOh%2BB6eLcFtc2AvSGg0LqDZ/EccpwtAFB1Jt/su0vRRJc8mCuwhVSmwFdU2UUTXj%2BJZRMQOiu%2BVmRrcVQjsOY7zW1qt8wiCf8dxcvLcJY6Pptt9B2m6V9nj1ZYCe0hVCGyFtakU0fWigBYRqTaF945Miu3qBPYCz/sZzeYXCIIrAchzjzh%2BObOz7yDL9ih5uvpRYA/J1sBWVJtEIV0PCujy6bkmsjYmxU9VKbq3VeY5V73AXuB5N9Fs/hNBcBUwF9pRdAzd7olk2SNLnq4%2BFNhDsi2wFdZl0uK%2B2hTQ46Xnj4jdFOvDU3TPmfQ5U93AXjAX2l8gCL4HQJ77RNGx9Hp/rreOT4ACe0i2BLbCepIUAtWkgC6OniMishoF%2BbYU3eM/J6of2As87ye0Wl/A978PQJ479PsvpNt9k751fIwU2EMyObAV1ZOgUKgOBfTo9HwQkUmqe4TXObrHcezrE9gLPO/HNJtfJgi%2Bu/XPkmRfut030%2B8fBnjlDVdBCuwhmRjYCutxUTzYTQE9Oj0HRMQmdQvwugZ3Uce5foG9wHX/h2bz3wiCb%2BE4CQBpugfd7huJomOBdrkDVoQCe0gmBbbCukgKCfsooEen815E6qIO8V3H4B7luNY3sBc4zm9pNL5Bo3EBjjMNQJY9kF7vBHq9E8jz3Uqe0G4K7CGZENgK6yIoLMymeC6GzvNR3HHHHWWPIMBDHvKQskeQSqtyeNcpuNdzHBXY94toNC6m0fhXXPdXAOR5SBwfQa/3OgaDKj9PxkeBPaQyA1thvV6KDLMonoul83sxRbHUnf6DRBGqGhN1Ce5hj58Ce0cpQfA9Go3z8f3/3vqnSfJUer3XEcdHAI3yxrOMAntIZQS2wnqtFBzlUkAXr77ntIJZpDyK9e1VKbwV2wrslXneTTQaFxIEl279nHaW7Uqv92qi6Hiy7GElT2g%2BBfaQJhnYCuth1Tc%2ByqGAHp/6nMsKZ5HqqV%2BQK7jtsdSxUmAPw3HupdG4mDC8ANf9DQB57tHvH06v93qS5A8Ap9whDaXAHtIkAlthvZr6RMjkKZ7Hrx7nrwJaRJZT7RCvQnRXObYXHx8F9tqkBMHVNBoX4Pv/ufVPB4PH0usdTxy/nDzfqcT5zKPAHtI4A1thvZJ6RMlkKKIno9rnrAJaRMahevFte3BXNbb3QYG9fq57K83mhQTBf%2BA4EQBZNkUcH02vdzxp%2BoSSJzSDAntI4whshfVSqh0n46WAnpxqn6eK6B1dU%2B1DPlb72N4ZUrpqxLfNT4SqxfabSdMNCuwROM4MYbiJMPw6nnfr1j9PkqfPX9V%2BCdAsb8CSKbCHVGRgK6y3p5Xr2iikJ6fa52ZdQlpxLOOg/3BQPrvD29YTqAqxrcAuTo7v/5BG40J8/wocZwDM3VM7il5Fr/casuyRJc84eQrsIRUR2ArrxbTiXZ1CejKqfy5WMaQVzVJXCvuV2Rndth5UW2NbgT0OjvPb%2BS9F%2BwaueycAee6QJAfR651Av/9cwCt3yAlRYA9plMBWWC/QinhpCunxq8e5V5WQVjyLjE8dA92u6LbxANkW2grs8Urx/etoNr%2BO73///j9NH06vdxxR9Mfk%2Ba4lzjd%2BCuwhrTewFddaKW9LMT1e9TjfbA9pBbSIHaoa4/YEt40HwIbYVmBPiuv%2Bmkbj3wmCi3DdaQDyPCSOX0KvdwKDwb5U8VZfCuwhrTWwFdZ1X0ErpMenXueWrTGtiBaphypEuB3BbduONjm0FdiTFxOGV9JofB3P%2B9HWP02SJxJFryWKXgZ0yhuvYArsIQ0b2PUO6zqvqBXUxarnuWRjTNc5pOu87VWIKhk/W88T84Pbth1rWmwrsMvkeTfTaHyDILgUx5nb/1m2M1F0LL3e68iyPUuecHQK7CGtFtj1Deu6rjAV1KOr67mjkDZFFbepDmyNNrmfbcfQ7OC2aWeaEtoKbBM4zhbC8NL5W33dBsx9KVq//3x6vTeQJPth69vHFdhDWimw6xnXdVuZKqjXp27nyY5si2nbo9P2%2BcVctkWhbWzZv%2BbGtiU7ECg/tBXYZsnw/RtoNC4gCK7a%2BqeDwePp9f5s/u3jdt1TW4E9pKUCW2FdZQrqtanLebEyxfT42TizyGpsictJM32/KLZHVVZoK7BN5bq302hcQBh%2BE8eJAMiyXee/ffy1ZNmDS55wOArsIW0f2PWL66qvahXUq6v6ObA2iunxsWlWkbKZHqFFMnlbzYxtg3fYNiYd2gps0829ffwSGo2vLrqndkAcH0G3%2B39I0yeWPOHKFNhDWghshXWVKKqXVuVjvj62xTTYEak2zChSBSaH6ShM3C4zQxvsiO1JhbYC2x4pQXA1jcZX8f0fbP3TOH4e3e7bGQyeXuJsy1NgD2nz5lk2bry07DEmqKorX0X1/ap6jEejmC6e6fOJ1J2JobpWJm6DmbFt4I7awbhDW4FtI8%2B7mWbzq/j%2BZTjO3LuK%2B/396XZPJEn2x6QvRFNgD2UWqEtcV3ElrKiu5nEdnY0xDWYHq8mzjeo6vZRs9ZSyv6NIJsbEcF2NaTMrtNdrXC80Cmybue6vaDa/QhB8C8cZAJAkT6PbfTv9/qGYENoK7KHUIbCrtiqu80q4aseyGLbGNJgbrabONSwFs1kU7fYwLWBXYtqs5sW2YTtoSUW/OCiwq8BxfkOz%2BVXC8Btb76c9GDyBbvdtxPFLALe02RTYQ6lyYFu%2BQt5BHVfMVTuGo7M5psHccDV1ruUooOtJoV4O00J2KSbNqNBej6Ke3ArsKnGc39Jsfo0wvADH6QIwGOzNzMx75986PnkK7KFUMbAtWymvqE6r6Codt2LYHtNgbriaOtdiimgpkuK8OCbF7FJMmU%2BhvVZFPEkV2FXkOFtoNL5Oo/EVHGcWgDg%2BjNnZ95Cmj5roLArsoVQtsC1YNQ%2BlLivrqhyvYiiox8fUuUAhLWZTmK/MlJhdiimzKbTXapQnnQK7yhznPprNfyIMv47jpOS5T693PN3uSeT5AycygwJ7KFUJbINXz2tS9ZV2VY7T6KoQ02BuuJo6l2Jaqq7uQW5K1C5mykwK7bVaz5NJgV0Hrvs/tFqfJQiuAiDLHkC3eyK93uuAxlh/tgJ7KLYHtqGr6DWr6qq7KsdnNFWJaTA3XE2cSzEtsrS6RLgpYbvAlHkU2mu1lieMArtOfP8GWq2z8bybAUjTPZmePmOs99BWYA/F5sA2cEW9ZlVcgVfhuIymSkENZsYrmDeXglpkdFWMb1PCdoEJ8yiy12rYJ4YCu35SwvAyms3P4br3kOcu3e5b6XZPAsLCf5oCeyi2BrZhK%2Bs1q9pK3PbjMZqqBTWYF68LTJurDlFt2j5fignBIONTleg27Tw1YR6F9lqt9mRQYNeV48zQap1JGF4MzH3b%2BPT0maTpYwr9OQrsodgW2Bas9FZUpdW47cdi/RTUk2XSbFUJapP2aZlMCAxZH9uj25Rzz5Q5FNprtdwTQIFdd0FwBa3Wx3Hd%2B8jzBrOzJ9PrvYGi7p2twB6KTYFt84qwIqtyq4/B%2BlQxpheYHFkmzWZjVJu0/6rClBCRpdka3KacVybMocheq6VOegW2zN0/u93%2BGEHwPQD6/f2Znj6HPN9l5MdWYA/FlsC2dbVo4cp8Sbbu/7WrclCD2eFl0mw2RbVJ%2B63uTIgUsS%2B2TTlvTJlDob1Wi094BbYsyAnDb9JqfRrH6TEYPIb77jufLHvoSI9qTWDfeuutnHXWWdxwww3cdNNN7LHHHlxwwQXL/vM33ngjL3vZy2g2m1x//fUj/nQbAtvW1aNFK/Ql2brf167KUW16fJk0nw1RbdL%2BkuGZEi51ZFNsm3KemDCHeZENZof2womuwJZtue4vmJo6Gde9mzR9OPfd96%2Bk6V7rfrxhA9tf908oyE033cSmTZvYe%2B%2B9ybKMlXo/z3Pe8573sMsuu9Dtdic4ZRlsXUlasEpfka37fXhVDmqwI8JMmVFRLZOw0jE0IWaqbOE5bkNoX3ONGeeDCXPccccdBkb2NZgb2Rb8MpNSZNnvMTPzQTqdv8bzfskDHvBc7rvvKwwGTxrrzy39CnaWZbju3AfPTzrpJG688cZlr2B/%2Bctf5swzz%2BTQQw/l3HPPrfAVbFtXlDa/wNm6z4ejqC6fSTOaHNYm7ScpT9mBU1U2hLYpx96UOcwLbTA3tM8kTXfVFWzZgePcy9TUyXjezeT5Bu67759Jkmet%2BXGsuYK9ENermZ6e5vTTT%2BfUU0/lxhtvHPNUZbJxdWnwan1FNu7r4VQ9qMGeEDNlTlOj2pT9I2ZZ7rwwJXpsZcMV7YVjX/axNuFKNph8NRvMDW2RbeX5A9iy5X1MTf0Nvn8DO%2B10LJs3X0mWPWwsP6/0wB7WRz/6UR73uMdxwAEHVDiwbVxpGrpqX5GN%2B3l1impzmDSnwlqqZPF5Y0L82Oq668yObFMosldj8tvGRbbXZmbm3WzYcCKedzM77XQc9977dcaRw1YE9o9%2B9CO%2B/OUvc/7555c9yhjZtto0dNW%2BItv28eoU1WYxaVaFtVSdYns0pke2KXFryhwLv%2B/NC22zrmY7DnieQ547ZY8iRmrQ651Ep/MmguC7TE29jyg6ufCfYnxg53nOKaecwrHHHsuee%2B5Z9jhjYtuK09CV%2B7Js278rU1Sbx6R5TQxrk/aPVJNie30U2XbNAbqavRrHcZiaagLDfQRV6mhP4G3Ae2i1PkSrdQhwSKE/wfjAvvDCC7nlllv40Ic%2BxPT0NABxPPfFBdPT0zQaDRqNRpkjjsi2laeBq/dl2bZvl6eoNpNJMyusReYotqXqzI5sKDO08zxndjbSl5zJKp5Jo3EYYXghWXYc9933AyBY9d/auLEz1KMbH9g/%2B9nPuO%2B%2B%2BzjwwAN3%2BHtPe9rTOOGEE3j7299ewmRFsGn1aeDqfVk27dflKarNZdrcpsW1aftH6sukK4%2BmMv0qtilMO5fMjWwo82p2nkOa5ive9lcEoNt9Lb5/Ja57G553PnF8VGGPbXxgv/SlL2Xffffd5s/OP/98LrzwQj796U/z0Ic%2BtKTJRmXTCtSw1fuybNqnS6tDVIO9AWba3KaFNZi3j0TEbqaFrUnMj2ww4W3jIktrEMcvoNU6j3b7Y8TxkUAxn90vPbB7vR6bNm0C4Pbbb2dmZoaLLroIgH333Zfdd9%2Bd3XfffZt/5%2Bqrr8bzPJ7%2B9KdPfN5i2LQCNXAFvySb9um26hDVtkeXifMrrkWGo0Bbma5eD8/Ec8nsyAZTPpstspR%2B/zCazX/G96/D97/HYPCMQh639MC%2B5557ePOb37zNny38/%2Becc47FEb0cW1agBq7el2TL/tyWotoOJm6DwlpERBazI7JBoS2myfMH0O//IY3Gt2i3z2R6upjAdvJaf0hhFrh0gj/PllWogSv4HdiyL7dV9bCuSmiZuh2Ka5H1Me2qo0lsuIJt2vEzbZ4FZkf2gnHuvDNJ012ZmdmkLzmToXnejWzY8E6y7EHcc89NK/6zu%2B22YajHLP0Kdn3Ysgo1cAW/DVv24/0U1fYweVsU1yJSR6bGrInMv5INesu4mCZN9yLPXVz3Tlz3V2TZ6N/vpcCWRQxcwW9l10peUW0X07dHcS2yPoqz5dlw5VrWzp7IBoW2mKFJlj0cz/sFQXAdcazAtoTpK1EDV%2B9bmb7v7lflqK5qTJm%2BXSaGtYgtFNfLsyWudQzXx47IBl3NFlMMBo/C836B719HHL9w5MdTYI%2Bd4St4Y%2BPa9P02R1FtJxu2zeS4tmH/SX0pylZmS1zLaBTZIsPLsocD4Hm/KOTxFNhjZfIq1NTVu8n7bE5Vo7oO0WTLNpoc1yImU1yvzKa41rEcnSJbZDh53gHAcbYU8ngK7LExeSVv4urd5P1Vzai2JTaLYNO2mh7XNu1LqQeF2OpsCmvQMa0nfS5bypPnLUCBbTiTV6Cmrd5N3lfVCus6hpFt22x6XIuYQgE2HNvCGsw/tqbPtz17rmIv0NVsmbw8bwMKbIOZuqI3beVu6n6qTlTbFpdFsXW7FdciK7MtbMqksJbFFNkiqwkBcJxeIY%2BmwC6UqSt7k1buZu6jKkS1rWFZFJu3X3EtsjyF1/BsDGuw5xjbMmc1KLJlktL5vwaFPJoCuzCmru5NWbmbt39sj2qbg7Io2gci1aSQGZ6tUb1Ax1pEyjcAIM8V2AYxcZWvsF6KrVGtkLxf1faFrl6LKLLWyvaoBvuOuW3zbs%2B%2Bt4mDrmLLpDjOYP5/hYU8ngJ7ZCau9k1YsZuzX2yM6qpF5Kiquj9sjOt99qnu8ZDJsj1YJq0KUQ12HncbZ64ORbZMwkJg6wq2AUxbZZqwWjdnn9gU1gqWbdVhf9gY1yKjUKSsXVWiGuw9/rbOXS2KbBm3BIA8bxbyaArsdTOtAMperZuxP2yJ6joE5FrUbX8orqUuFCdrV6WoBnvPAVvnFpG1c5w%2BAHneKOTxFNjrYloNlLlaL39fmB7VdYvH1dR9f1QhrvU2cVmOomR9FNXmsHl2EVmv/vxfdQW7JCatKusb1iZHtcJjjvbDjqoQ1wsU2QKKkfWqWlBDNc6FKmxDdelt4jI%2BjrPwFnFdwa65esa1iWFd98io%2B/YPq0pxvUCRXT8KkPVTVJurKtuxEvu%2BQVxkkvL5v7qFPJoCe01MWUmWtVIvZ/tNi%2Bo6BkUdt7lIVYzrBYrsaqtDeIxLFYN6QVXOi6psh4iMypn/a77iPzUsBfbQTFhBKqzLUJd4qMt2TlKVw3qxhUWqziH7KTjWr8pBDdU5N6qyHWuhq9ciq1kI7KyQR1NgD8WEVWMZK/XJb7eieryqul0mqktcL6ar2fapY2wURUFtl6ptz7AU1yLDUGBPmAmrxUmv1OsX1lWJgqpsh83qGNaL6Wq22eoaGUWoelBD9c6Pqm3PWimuRYaT5wEAjhMX8ngK7BWVvUKs9lVrRfX62Tx7ldU9rhfT1Wwz1D0wRqWotk/Vtme9FNciw8vzKQAc595CHk%2BBvayyV4bVvWpdVljbtti3bd66UlQvb/FCV%2Bfz%2BCksRleHoIbqnStV255RVTOudZBlfPK8DYDjTBfyeArsJZW9Epzkir3aYW3Dot6GGWVbiuq101vHi6WgKIaC2l5V3KZRVDOqF%2Bhgy3jleQdQYI9R2au/6sX1pMPa5AW8ybPJyhTVxdBV7bVTSBSnLkEN1TtvqrY9Ral2WItMRp5vAMB1f1vI4ymwt1Hmak9hPSrTFuumzSNro6Aev%2B0XzHV/ziggxqMuUV3F86eK21SU%2BoS1TgIZvzzfCIDj3AdEQHOkx1NgG6FacT3JsDZpQW7SLDI8hbQ5llpMV/F5pWgYr7oENVTzXKriNhWlPlG9QCeDTEaeT5HnAY6T4Hl3kqaPGOnxFNhblbWKm9TqvjphbcKC24QZZDgKaLstt9g29TmoOChHXaK6iudXFbepSPWL6gU6MWSSHPJ8I47zG1z3NwrsYiiuR1GXsC7759eR4liWM8qifKXnshb7dqhLUEP1zsmqbU/R6hvUi%2BkkkcnLsl1w3d/geb8mSUZ7LAV2peNaYW3jzzWdoldspwW%2BnRTV9qra9hRJQb2YThQpT5YtfA77NyM/lgK7FIrr1ZQRt3UJagWyiNiiLlFdtQCt2vYUSUG9FJ0wUr48fwAAnqfAHlG/hJ9pd1wrrM2kaBaRKqhLUEO1IrRK21IkxfQwdPKIGe7/JvE7R36smgf2pCmulzPpyLUtqhXQIlJVimo7VWlbiqCYXgudPGKeLJu7gu26CmyLKK6XM6nYtSGqFdIiUgeKavtUZTuKoJheL51EYq48n7v3teP0Rn4sBXZljKcebQ9rk6NaMS0idaKotk9VtmO9FNJFqfmJJJYIAHCcaORHUmBPxLhLyq64rmNYK6ZFpI7qEtVVCdGqbMd6KKaLVuOTSayU58H8/4pHfiwF9tgprherS1wrqEWkjuoS1FCdGK3KdqyFYnpcangySYUsBPboX4KtwLaa4nqSj78aRbWI1FGdohrsD1Lb518rxfQ41exkkkpznJn5/zU18mMpsMdqnMVlT1xXOawV1SJSR4pqu9g%2B/7AU05NQk5NJasd17wEgTR868mMpsMdGcQ3jjd%2BywlpRLSJ1U7egBvuj1Pb5V6OYnpSKn0gi8xxnLrCzbPeRH0uBLYDiehgKaxGpE0W1fWyffyUK6kmo8AkksgrXvRuALNMV7BoqviwV1ytTWItIHdQxqMH%2BKLV9/qUopiehgieOyLpl%2BP6PAUjT/zXyoymwx6LeRVaVuFZYi0iV1TWowf4otX3%2B7Smox61iJ4xIwTzvZlz3HvK8Q7//rJEfT4FtFTuuXo%2BDwlpEZDR1DmqwP0ptn38xBfW4VOgkWZdG2QOIpYLgewAkyYHk%2BejnkQJbClX2rbJGpbies9xxrNICT6Tq6h7UYP9rlu3zL1BQF60iJ0Yh9EInowuCqwDo9w8v5PEU2IWzp9B09XpbVYzrovfdWh6vKgtDEVsoqOfY/tpj%2B/ygoC5GBU6EsdGLnRTH96/F835BngfE8XOLecxCHkUEu69eVyGuTdv/K81ThQWkSJkU09uy/TXF9vlBUb0%2BFTjwE6MXPRmHlFbrbADi%2BASybJdCHlWBbQ3D6mlCJhGNtsa1aUG9FkvNXoUFpsg4KKaXZvtrhu3zK6jXwvKDXRq9%2BMl4heHF81evd2J29p2FPa4CW8QiNkf1ahZvm%2B0LT5H1UEivzvbXBtvnV1SvxPKDawS9CMokRTSb5wLQ672DLNtY2CMrsEUsUeW43t7Cttq%2BGBVZikJ6bWx/HbB5fgX1Uiw%2BoMbRi6GUJafd/ltc97dk2e/S7b6%2B0EdXYEut2fL28DrF9WIKbbGVInr9qvB8t3kbFNULLD6IxtILo5ih0fgiYXg5ee4zM3NGIbfmWkyBbY19qOvnsOuurnG9mEJbTKSILk4Vnts2b0O9o9riA2c8vUiKeYLgSlqtubeGd7unEcf7Ff4zFNgiYo1rrrF7ESt2UUCPT1WexzZvRz2j2uIDZjy9YIr5PO8W2u0PARBFJ9DtHj%2BWn6PALtxTsOle2GI2Xb0WGQ/F82TZHKLbs3Vb6hXUlh4kq%2BhFVOzieTfT6ZyM48Qkyf7MzHxgbD9LgS219pSnmP057H32UWSLrJXiuXy2RuhybN2e%2BkS1pQfIGnpRFbv5/vV0Ou/FcXqk6eOZnv48eT6%2BDHbyPM/H9ujG2wz87Rged5zFVmxt3XHHHYU%2B3jhiUPfCVmQvsHWRK8VQOJuris9NW7ep%2BlFt6YGxgu0vsm8mTTcwM7OJPI/LHkYMEQSX026fjuMMSJJnMz39RbJsw7oea7fdhvv3dAV7LPQ28SLpKu79C7267wepLsWzXWyNz9XYul3VjmpLD4rx9KIr1ReG/0ardSaOk9PvH8709NmFf2P4UhTYNfeQhzyk0KvYtsaw6W8VX2Dr/i2CrQtfuZ8i2l5Vff7ZvF3VjWqLD4qR9MIrddSn1foMjcbXAYii45iZOZ089yby0/UW8bG8RXzBuIqt%2BMLSW8Xn2BDZC%2BoU2jYvgutGEW2/qj/fbN6%2Baka1xQfEOHV/AdZbxAVc93ba7ffj%2Bz8DoNf7C2ZmTgKckR9bbxGvNPPviT2OK62TuHq7EAc2hPb2i8QqBbfNC%2BA6UERXRx2eazZvo4JalqYXYZGlBMFltNsfw3F6ZNlGZmc/QxQdMvE5dAV7rFewoc5feAb2XskGOyJ7JTYFt80L4KpTTFdHnZ5nNm%2BrolrupxfgtTmRNG3oCnYtRbRan6LR%2BCYAg8EzmZ7%2BHGn64EJ/yrBXsBXYYw9sUGQX/pATjUfbQ3sxU6Lb5sVvVSmkq7/2EHgAACAASURBVKVuzzHbt7d6UW35ASmFXoTXbvvz7AAFdg153k9ptz%2BC5/2SPHeIohOZnf2LsXzeWoE9lEkFNtT589gwvrDT1ezijGNf2r7orTIFdXXU8XlWhW1WVNeVXnxHs9J5psCul4hm8/M0Gl/FcTKybDdmZs4mjp8ztp%2BowB7KJAMbFNmFP%2BRYH3c5dYhtqRbFdDVUISrXqyrbXq2orshBGSu9%2BI5uLeeZArsufP8GWq2/w/N%2BDUC/fxQzM6eRpg8c689VYA9lFjhtwj/TnreLg0J7JQptMZFi2n5ViclRVGUfVCuoQVG9Er34Fme955kCu/pmabXOptG4CIAsezCzs39HFB06kZ%2BuwB7KLHApk/9GbkX2OGO4jM8ZK7alLApqO1UlIItSpf2hqK4DvfAWq6hzTIFdXTlBcCWt1qdw3XsAiKLXMDv7N2TZcNFbBAX2UBYCGxTZKxtHZINCW2StFNR2qVI4Fqlq%2B6VaUV2xg1MIvfAWa1znmAK7ilz3dlqtMwiCuUV2mv4es7OfJI6fNfFZFNhDWRzYoMhenW1Xsyfx%2BMtRbMuoFNN2qFosjkPV9lG1ghoU1dvTi2%2BxJnV%2BKbCrJaLZ/CKNxldwnAF5HhBF/4fZ2XeS561SJlJgD2X7wIZqRTYotCf3%2BKtRcMtKFNNmq1ogjlNV95Wiusr0Alysss4tBXY1LLwd/NO47l0AJMmBzMyczmCwZ6mTKbCHslRgw%2BQjG3Q1%2B36TCOGyYxsU3HWmmDZTVcNw3Kq636oX1KCoXqAX4eKZcG4psG3nurfRan1q69vBs2x3ZmdPI4oOA5xyh0OBPaTlAnuBrmYPw%2BbQnuTPWY2Cu5oU02apagxOSpX3n4K6yvRCXDwTzy0Ftq0cZ4ZG4ws0Gl/DcVLyPCSK3szs7InkebPs8bZSYA9ltcAGRfbwxhXaUJ%2Br2ttTdNtDIW2GKgfgpNVhXyqqq0ovyMWz4bxSYNsnJQy/SbN5Dq47DUCSPJeZmdMYDB5Z8mw7UmAPZZjAhuq9ZRwU2mb8nPVQdJdLIV2%2BOoTfpNVln1YzqMGO%2BBk3vTgXz7bzSoFtE8/7Ae32p/C8nwOQpnvR7Z5GFB1U8mTLU2APZdjAXqDQXosqhHZZP2%2B9FN%2BjU0CXry6xV5Y67d/qBjXYFz9F04t18Ww/pxTYNnCc39BqnUUYfgeAPN%2BJXu9ddLsnkOdBydOtTIE9lLUGNlQzssHW0AbF9lrUPcAVz%2BaoU%2BSVpY77uNpBDfYH0Kj0Il68Kp1TCmyzRTSbX5q/7VafPHeJ4z%2Bh2/1r0vSBZQ83FGsC%2B9Zbb%2BWss87ihhtu4KabbmKPPfbgggsu2Pr30zTl7LPPZtOmTdx8882kacrv//7v88Y3vpFnPvOZI/709QT2AoX2Wo07tKGc%2BLU5uFdiS4wrms1Ux7grU133t4K6DvQiX6wqn1MKbDPlBMEmWq1/wHXvBiBJ/oDZ2dNJkseVPNvaDBvY/pjnWNVNN93Epk2b2HvvvcmyjO17P4oiPvWpT/GSl7yE448/Ht/3Of/883nNa17DJz/5SQ444ICSJt%2BHyUf2wi%2BZcZbPwgtv8du2eCE0rthevMicVPhuv7CtSnArXGU1dY26MtV9n1c/qKHaATQs/QIqls4pKYfn3USrdSa%2B/9/Awm233k8UHY4Jt90al9KvYGdZhuu6AJx00knceOONO1zBnpmZYeedd976Z3mec%2BSRR9LpdDj33HNH%2BOmjXMFerKyisvuKNkzmqjaUG71VCW6pn7rHXNm0/%2BsS1KAAAkV10ep4TukKtikcZzPN5jmE4bdwnJw8bxFFb2V29k3keavs8dbNmivYC3G9HM/ztolrAMdxePSjH8211147ztHWYHxXfVdm9xVtmMxVbSjnyvZSP7usGUSWooAzg47D/eoT1FDPANqeorpYOqekbCmNxtdoNs/DcboA9PtHMjt7KoNBfV7fSw/s9ciyjOuvv54999yz7FG2U4fQhnHH9rivapcZ20vNsEDRLUVTuJlFx2NHCuo6UlQXS%2BeVmMHzbqTd/gSedysAg8ET6XZPJ46fXvJkk2dlYJ977rn8/Oc/55RTTil7lGWU8flsmExoQ1WuaoNZn59ebvGt8JblKNjMpOOyvHoFNSh%2BFiiqi6XzajmOA57nkOfV/XyvaRzntzQaZxEEcx%2B7zfONRNEpRNGfAC6%2BlbU5Gus2%2Beqrr%2Ba0007juOOO42lPe1rZ46ygrKvZUJXQhsnGNpgV3AsU3vWkSDObjs/q6hfTC3Ry3E9hXRydV8NwHIepqSaw8kdQpQgD4CvA54Auc19adjyO835arQfSsvej1iOzKrB//OMf84Y3vIGDDz6YE088sexxhlSn0IYqxTaYGdwLVlvgmzSrzFGU2UXHa20U1DJHUV0snV9rkec5s7ORvuRszDzvhzQaH9v6dvA0fTK93t%2BSJAvP/9nyhhujjRs7Q/1z1gT2L3/5S1772tfy2Mc%2Blg9%2B8IM4jm1v/ahDaMOktrOM2Aazg3t7w8aBydtgA0WY3XT81qe%2BMb1AJ862FNXF0vm1XnkOaZrvcNtfKYbjzNBsfpZG4xsAZNlGer1T6PVeRZ67QFbugIawIrDvuusujjvuOHbddVc%2B8YlPEIZh2SONoG6hDZOMbVBwr9V6AsPG7VyOAqvadHyLoaDWibQjRXXxdJ6JqXKC4AparTNw3c0AxPErmZ09lTTdWPJs5ik9sHu9Hps2bQLg9ttvZ2ZmhosuugiAfffdl3a7zWtf%2B1ruueceTjrpJG6%2B%2BeZt/v0nPelJE5%2B5GCaENlQttqG8q9tQn28HV7SIKXQuFk8xvUAn144U1eOhc03M5Th30W5/giC4GoA03YPZ2Y8Rx88ueTJzOXnJ76G47bbbOOigg5b8e%2Beccw4Pe9jDlv37AD/5yU9G%2BOmzwKUj/PtFK7PEJhHa25v89k46uJdTxegWKZrieTIU1At0wi1PYT0eOueKdQBp2mBmZpM%2Bg12IjDD8Oq3W53CcHnnuE0V/zuzsO8jzZtnDlWK33TYM9c%2BVHtjlMi2wF5RdX4rtsii8pS4Uz%2BVQTG9PJ%2BLyFNXjo/NuPBTYRXHdO2m1PkIQ/ACAwWAfZmY%2BQZI8uuTJyqXAHoqpgb2g7NoqI7ShrO02MbgXKLzFBopmsyiml6KTdGWK6vHS%2BTdeCuzR5YThv9NqfWb%2BqnWLXu8Uut0T5r/ErN4U2EMxPbAXmFBX9YptMDu4t6cAl3FRNNtBMb0cncCrU1SPl87ByVFgj8Jx7qbd/juC4FoABoN92bLlTAaDPUqezBwK7KHYEtgLTKmo%2BsX2ApuiezEFuIBiuSoU06vRib46RfVk6FycLAX2%2BuQEwWW0Wp/EdWfJ85Be76/odt9InntlD2cUBfaQNm%2BeZeNGmyJ7gQnFVFZogxnbb29wr0Qxbi4Fcv0opoehJ8ZwFNWTo3OyHArstevSbn%2BcMLwMgMHgiczMnEWS/K9SpzKVAntImzfPMhjM3RR9t902lTzNephSQ2XGNpizH6oZ3cNSnG9LQSzDUkivhZ5Yw1NUT5bOzXIpsNfC826i3f4AnncHee4RRSfOf0N46XdxNpYCe0iLA3uBnaEN5kSmYnt7dY5uEbmfQno9FC1ro6iePJ2jZlBgDyej0fgqzeZncZwBWfZQZmY%2BSxw/o%2BzBjKfAHtJSgb1AoV2EsmMbzNof21J4i1STQnoUipW1U1SXQ%2BeqWRTYq3Gce2m3P0IQzK2N%2B/0XsGXLJ8myB5Q8mR0U2ENaKbAXKLSLYkJsg3n7ZUcKbxGzKaCLpEhZOwV1uXTOmkmBvRLP%2B286nffjuveQ5w263ffR7R4POGWPZg0F9pCGCezFFNtFMSW2wbx9szLFt8hkKKLHRXGyPopqM%2Bj8NZcCe2k5Yfh1Wq1P4zgD0nQvZmY%2BT7//2LIHs44Ce0hrDewFCu0imRTbYOY%2BGp4CXGR1iudJUpCsn6LaHDqPzafA3lE0/y3hlwDQ7x/O9PSZ5Hmn5LnspMAe0noDe4G9oQ1mhqRpsb3AxH21fopwqSJFsykUIuunoDaPzmd7KLAXc9076HTei%2Bf9nDz36PXezezsm9BbwtdPgT2kUQN7gd2hDWYGpKmxDWbur/FQjEsZFMu2UHyMRkFtLp3b9lFgL/D962m334frzpJluzAzcy5xvF/ZY1lPgT2kogJ7gUJ7nEwObjB735VHgV4fiuI6UHSMRkFtNp3fdlNgz33e%2BgJarTNxnIzB4Mls2fIFBoOHlj1YJSiwh1R0YC%2Bm2B4n02N7gcn7sNqqHvaKWRk/xUYxFNXm07leDXUP7AGt1qdoNC4EoN8/munpj5PnjZLnqg4F9pDGGdgL7A9tMD8UbQnuBabvTxGpH0VGMRTU9tA5Xy31DWzH2UK7/T6C4Aby3KHXO5nZ2begz1sXa9jA9sc8hwB33fUcwPbQXvglZGoYLl7Q2BDbK/1SN3Ufi0h1KCyKoZi2j859qRbXvZ1O59143q/I8zYzM2cTRYeVPVatKbAnqFqhDeaG4PYLHhuCe7Hlfvmbur9FxFyKiWIpqO2k54FUk%2BfdSKfzHlx3hix7KFu2/Av9/uPKHqv2FNglqEZogx2xDfYH94LVFggmHwMRGT9FRPEU1PbS80GqLQguo93%2BCI4zYDB4EtPT/0Ka7lb2WIICu1QLoQ2K7cmqSnBvb5jFhOnHRkRWp3AYD8V0Nej5IVWX02h8kVbrXAD6/cOYnv4H8rxV8lyyQIFtiOpc1QbzP6%2B9vaUWVVWJ7u2tZeFhy/ETqSJFwvgpqKtBzxWpkwGt1sdpNL4JQBT9GTMzp5LnXslzyWIKbMNUM7TBvlir6lXutVjrosW2YyxSNoXB5Cimq0PPG6mrHp3OqQTBdeS5S6/3fmZn/7TsoWQJCmxDVSu0we7Yhnpd5V6vIhY9Np4bIstRCJRDMV0teh6JOM5v6XTeje/fQp63mJn5B31TuMEU2IarXmjDjr8sbY0qRXfxxrGQsvX8ErNp0W8GxXS16Hklsj3XvY1O56/xvDvJso1s2fIV%2Bv2nlj2WrECBbYlqfSHa9my/ur3Ycos9hXd5Jrlgs/38rTMt7M2nmK4ePe9EVuJ5P6LT%2BX%2B47hbS9BFMT3%2BVwWCPsseSVSiwLVTNq9oLqhTbiym866HsxWKVnjPDKnufy3gopqtFz1MZvzRtAVnZYxTG96%2Bi0/kAjtNnMNib6enzSdNdyx5LhuDkeZ6XPUSZNm%2BeZTCw%2B8lYzdDeXh3DQfEtInWgmK4OhbSU4667nsMuu3SAjJmZTeR5XPZIIwnDi2i1Po7jZCTJQdx333nkebvssWpvt902DPXP6Qp2BVT7ivaCql7ZXslKi07Ft4jYRiFdHQppkfHIaTS%2BQKt1HgBxfAxbtnyMPA9KnkvWQoFdIfUIbajOl6SNYrWFqgJcRMqkmLafIlrssPh7iuyW0mp9gkbjIgB6vbcyM3My4JQ7lqyZAruCqv2FaEtRcO9omMWtIlxERqWQtp9CWqR8MZ3OBwmCq/4/e3ceX1dB5///fbN1pXShIGUbCkOlsvqDL9QpFKrIoKAjm46IyPAFZBlFZb4CAw4igo4IIjsqsqMDAq7FZXAKyKIjDmoHmFIQhJHSlkKatmmb5P7%2BqK1WCuQmJzm5yfP5eGjDvZebD5%2BGklfOueemWq1k%2BfJ/zdKlx5c9FD0ksAe5oXNU%2B88NxdPJe6K73xgLcUBI1y8BzeA0WI5cVypLMmrUZ9LUNCfVakuWLv1qli//u7LHohcE9hAxNEM7cXS7CLV8Yy3GoX6J6PolohlaBk9cL8zo0Z9KY%2BPTqVZHZ8mSf8uKFdPLHoteEthDzNAN7TUEd9/qyTfoohz6l5CuTyIaksET1w0Nv8/o0WeloWFBuro2zpIl387KlW8qeywKILCHKKG9xvq%2BYRHd/aun3%2BwLc1g/AV2fBDS8nsES142Nj2fUqLPT0NCazs6t09r63XR0bFn2WBREYA9xQnt9HOWuD46WM5SJ6PokoqEnBktYJ0lT068yatS5qVTa09Gxc1pb70hn50Zlj0WBBDZJhuKVx2vhKPfg4Wg59UA81y8BDUUaTGGdJM3N92XkyC%2BkUunIqlV75%2BWXv5lqdVTZY1Ewgc0rOKrdHaJ7aOlN8Ihz1hDOg4OIhv4w2OK6pWVWRoy4LJVKNStXviutrV9LtTqs7LHoAwKbVyW0ayW6WR9xPriJ5sFJRENZBltYJ9UMG/ZvGTHi%2BiTJihUfypIlF6VabSx5LvqKwOZ1Ce3eeLVv0oQ33VFUvAn11yaShyYRDQPF4IvqNaoZPvzaDB9%2BW5Jk%2BfJT09Z2VpJKuWPRpwQ23Sa0iyS86U8CkqFKRMNANXijeo2ujBhxZYYN%2B36SZNmyc7N06UdKnon%2BILCpmQui9SXhDVAbEQ31YvBH9RqdGTny4rS0/Huq1UqWLbsoy5b9Q9lD0U8ENr3iqHZ/eb1vIAU4MJiJaKhXQyeq11iVkSO/kJaWn6VabczSpVdm%2BfL3lj0U/UhgUwihXTYBDtQ7EQ2DxdCL6jVWZdSo89Pc/FCq1ea0tV2X9vYDyx6KfiawKZTTxweq1/rGVXwD/UVEw2AzdGP6L63KqFGf%2B2Nct6St7Za0t%2B9X9lCUQGDTZxzVrhfd%2BYZXhAPdIaBhMBPTr2ZVRo78fJqbH0y12pIlS76RFSveVvZQlERg0%2BeE9mAgwoE1RDQMBWK6u1bHdUvLA2uPXIvroU1g02%2BcPj7YdfebbiEOA5uAhqFESPdGZ0aO/OI6ce20cAQ2pVi8eN%2BMGzcqyffKHoV%2B52g4lE9Ew1AhoPtKNSNGXJmWlntTrTalre1mcU0SgU3JFi/eNx0dXUkc1ebPORoOPSeeYagQz%2BUZPvymDBv2g1SrlSxd%2BpW0t7%2B97JEYIAQ2A4bXalO7WkJCjDMYiGcYCoTzwNbS8p0MH35LkmTZsi9k%2BfJDSp6IgURgM%2BB4rTZ9Q4wz0IlnGEzWfD/T1NSQceNGZfHipWvP2qN%2BNTffl5Ejr0qSLF9%2BWpYtO67kiRhoBDYDmqPalKPW0BHkrI9ghnrk6DGvprFxXkaOvDBJ0t7%2BD2lrO73kiRiIBDZ1wVFtBraehpQwry%2BCGcomfilLpbI4o0Z9JpXKiqxatU/a2i5IUil7LAYggU3dEdsMHkUFm1B/bcIY%2BpLoZfBblVGjPpuGhgXp7Nw6ra03pFqVUayfrwzqmtiGREAC3XOg1wFDD4wYcUWamh5NtbpBWltvS1fXhmWPxAAmsBk0xDYAg1VvjxKvvtBWQcPAENLcfE%2BGDfthqtWGtLVdm46Ovy57JAY4gc2g5OJoAAxkTquGga9SeSEjRlyaJGlv/1ja2/creSLqgcBmUPvLb2AENwB9STjDYNGZUaMuTEPD0nR07JKlS88oeyDqhMBmSHEaOQA9JZ5h6Bg27PY0Nf0m1eqILFlybarV5rJHok4IbIYssQ3AGuIZWKOh4bkMH35jkmTZsi%2Bko2NyyRNRTwQ2xKnkAIOdgAa6p5oRI65KpdKRVav2ybJlR5Y9EHVGYMN6CG6A%2BiOigd5qbn4wzc2/TLXanLa2i5JUyh6JOiOwoRsEN8DAIKKBvtOeESOuWv1R%2Bz%2Bmo2ObkuehHgls6AHBDdB3RDRQhmHD7kxDw4J0dU3K0qWfLHsc6pTAhgKs75tB0Q3w6kQ0MLAsy7Bhd67%2BaNk5qVZHlDwP9UpgQx9xlBvgT38WNjU1ZNy4UVm8eGk6OrpKngpgXcOGfS8NDUvS2Tk57e2HlD0OdUxgQz95taM1whsYDByRBurX8gwbdsfqj5Z/MtVqY8nzUM8ENpTM6eVAPRHSwGAzbNhdaWhoTWfnVmlvP6zscahzAhsGoNf6BlZ8A31JQANDSzUtLbOSJO3tH0u1Ko/oHV9BUGecag70logGWK2x8bdpbHwu1erItLcfXvY4DAICGwaJ1/uGWYDD0CKiAV7fsGF3JUlWrjwkXV2jS56GwUBgwxDRnSv5inCoD%2BIZoPcqlSVpbv5ZkmT58mNKnobBQmADa3X3m3YhDn1DOAP0n6amh1KprEpn55SsWrVr2eMwSAhsoGY9iQBRzlAilAEGvubmB5MkK1e%2BJ0ml3GEYNAQ20C%2BKCA6RTl8TxgBDRXuamx9OkqxYcVDJszCYCGygbpQdPwK/98r%2BPXytaxAAMHQ0Nf0qlcqKdHVtnlWrdih7HAaR0gP76aefzte%2B9rU88sgjmTt3biZPnpzvfe97r3jc7Nmzc9FFF2XevHl5wxvekA996EM54ogjSpgYGKqKiEOBBwDla27%2BZZJk5cp3xOnhFKmh7AHmzp2b2bNnZ6uttso222yz3sf86le/yoknnpipU6fmK1/5St7znvfk3HPPza233trP0wIAAPWuqWlOkmTVqn3KHYRBp/Qj2DNnzszb3va2JMlpp52W3/72t694zGWXXZapU6fmvPPOS5Lsueee%2BcMf/pCLL744hxxySBoaSv85AQAAUAcqldY0Nj6TJFm5clrJ0zDYlF6mrxfHK1euzIMPPph3vvOd69x%2B0EEHZcGCBfnv//7vvhwPAAAYRBobVx%2B97uzcLl1dE0qehsGm9MB%2BPc8880xWrVqVyZMnr3P7tttumySZN29eGWMBAAB1qKnp0SRJR4ej1xSv9FPEX8/LL7%2BcJBkzZsw6t6/56zX391Rj44D/GcOgtGbv9t//7L5c9l8u%2By%2BP3ZfL/stj9/2nUkkaGyupVl/7omVNTb9LknR27pamJr8vFGvAB/Yalcr6/0V5tdu7a8yYEb36%2B%2Bkd%2By%2BP3ZfL/stl/%2BWx%2B3LZf3nsvu9Vq9WMHj08r3%2BS7tNJkpEj/7%2BMHDmqz%2BdiaBnwgb3hhhsmeeWR6tbW1iSvPLJdq9bW5ens9FY5/a2xsSFjxoyw/xLYfbnsv1z2Xx67L5f9l8fu%2B8eYMSNSqVSzdGl7qtUVr/HIJdlgg4VJkpde2jrV6tL%2BGZC6N25c934YM%2BADe8stt0xzc3OefPLJ7L333mtvf%2BKJJ5LkVd/aq7s6O7u8F22J7L88dl8u%2By%2BX/ZfH7stl/%2BWx%2B75XrSadndVUq9VXfUxj4%2B%2BSJF1dW2TVqlFJ/J5QrAH/ooOWlpbsueeemTVr1jq3f%2B9738vEiRMzderUkiYDAADqSWPjH5IknZ29O0gHr6b0I9jLly/P7NmzkyTPPfdc2tractdddyVJ/s//%2BT8ZP358TjrppHzgAx/ImWeemYMOOigPP/xwbr311pxzzjneAxsAAOiWSmVBkqSra6uSJ2GwKj2wFy1alI9%2B9KPr3Lbmr6%2B//vrsscce2XXXXXP55ZfnwgsvzJ133pk3vOENOfPMM3PYYYeVMTIAAFCHGhpeSJJ0dgps%2Bkbpgb355pvn8ccff93HzZgxIzNmzOiHiQAAgMFoTWB3dW1R8iQMVs6vBgAAhoSGhsVJks7OTUuehMFKYAMAAENCpbL6rX67uiaUPAmDVc2B/ZOf/OQ1L30PAAAw8FRTqSxZ/VF1XMmzMFjVHNgnn3xy3vrWt%2Bbqq6/O4sWL%2B2ImAACAgi1LpdKZJOnqGl/yLAxWNQf217/%2B9UydOjUXX3xx9tlnn5x%2B%2Bun5zW9%2B0xezAQAAFKJSWZokqVaHpVodXvI0DFY1X0V82rRpmTZtWp5//vncfPPNue2223LnnXdmhx12yAc%2B8IEccMABaWlp6YtZAQAAeqRSaU%2BSVKsjSp6EwazHFzl7wxvekI9//OP5j//4j5x//vnp6OjIaaedln322Sdf%2BtKXsmjRoiLnBAAA6LFKZcUfPxLY9J1eX0V8/vz5efzxx/Pcc8%2BloaEhW2%2B9da655prst99%2BmT17dhEzAgAA9NLqwHYEm75U8ynia8yePTs33XRT7rvvvmywwQY5/PDDc8QRR2TTTTfNggULcsYZZ%2BS8887LjBkzipwXAACgZpXKyj9%2B5PXX9J2aA/uaa67JLbfckmeffTbbbrttzj777LzrXe/K8OF/%2BkKdOHFijj322Bx11FGFDgsAwCtNnNi9swbHdfOdiRYscICEwWj1FcSr1eaS52AwqzmwL7jggsyYMSPnnHNOpk2b9qqP22qrrXL88cf3ajgAgKGmu7E8kGYQ5NSHzj/%2B2uOTeOF11fzV9cMf/jBbbLHF6z5uk002ySmnnNKjoQAABrOBENFFeq1/HvHNQLHmPbAFNn2p5q%2Buf/mXf8mZZ56ZyZMnv%2BK%2B3/3udznnnHNyzTXXFDIcAEA9G2wh3RPr24Hophxdf/y1sdQpGNxqDuz7778/bW1t672vra0tDzzwQK%2BHAgCoN2K6%2B/5yV4Kb/rHmNdgCm75T6PkRCxcuXOdiZwAAg5WgLo7gpn9U//hrr9%2BpGF5VtwL77rvvzk9/%2BtO1f33VVVdl/Pjx6zymvb09Dz74YN74xjcWOyEAwAAhqvvHn%2B9ZbFOcNYFdKXUKBrduBfbjjz%2Beb3/720mSSqWSe%2B65J5XKul%2BYLS0t2W677XLmmWcWPyUAQImEdXnW7F5o01t/usiZU8TpO90K7BNOOCEnnHBCkuSNb3xjbrrppuy00059OhgAQNmE9cAhtOm91Rc58xps%2BlLNr8GeM2dOGht9UQIAg5OoHtgmTpwtsumhjj/%2B2lzqFAxuNQe2uAYABiNhXT8czaZn1pwi3lLqFAxu3Qrs/fffPxdffHHe%2BMY35u1vf/srXn/9l374wx8WMhwAQH8Q1/XJ0WxqUamsPoJdrTqCTd/pVmDvtNNOGTVq1NqPXy%2BwAQDqhbiGoWLlH38dVuoUDG7dCuwvfOELaz%2B%2B4IIL%2BmwYAID%2BJK7rn6PYdFelsjxJUq1uUPIkDGbeZR0AGJLE9eDh95LuqFTakyTV6uiSJ2Ew69YR7Pnz59f0pJtsskmPhgEAAOgLjmDTH7oV2DNmzKjpddePPvpojwcCAAAoWqWyNIkj2PStbgX2Zz7zmb6eAwAAesRrsOmOSuWlJElX18SSJ2Ew61ZgHUJVpgAAIABJREFUH3bYYX09BwAAQJ/5U2BvXPIkDGYucgYAAAx6DQ0vJ0k6Ox3Bpu906wj2X%2Brq6sp9992XJ598Mu3t7evcV6lUcvzxxxcyHAAAvBanh9M9y//sImcCm75Tc2C/9NJLOfLIIzN37txUKpVUq9UkWeciaAIbABjoFiyY4e2d6piwphYNDavfFamra2y6usaUPA2DWc2niF988cVpaGjIj3/841Sr1dxyyy35wQ9%2BkCOPPDJ/9Vd/lbvvvrsv5gQAKJxIq09%2B36hVY%2BMfkiRdXVuVPAmDXc2Bff/99%2Bfoo4/OpEmTkiTNzc2ZPHlyzjjjjOy555654IILCh8SAAAScU3PNDQ8nyTp6tq65EkY7GoO7Oeffz6bb755Ghsb09DQkOXLl6%2B9b%2BbMmbnvvvsKHRAAoC8JtvqwYMEMv1f0WEPD6iPYnZ2TS56Ewa7mwB47dmza2tqSJBMnTszcuXPX3rdkyZJ0dnYWNx0AQD8QbwOX3xuK0Nj4dJKks/ONJU/CYFfzRc6mTp2aJ554Ivvss0/23nvvXH755dlwww3T3Nyciy66KDvvvHNfzAkA0OfWhJyLn5VLUFOsahoankqSdHTsUPIsDHY1B/YRRxyRp59e/ROgU045Jf/1X/%2BVT3ziE0mSzTbbLGeccUaxEwIA9DOhXQ5hTV%2BoVBaloWFpqtWmdHT8ddnjMMjVHNjTp0/P9OnTkyQTJkzIt7/97Tz22GOpVCrZdttt09zcXPiQAABlENp9T1TT1xobVx%2B97uraJtXqsJKnYbCrObD/UkNDQ6ZOnVrELAAAA9KfR6DY7h1BTX9rbFx9zaiOjp1KnoShoObAfvjhh1/3MW9%2B85t7NAwAwED3l4EouF%2BdmGYgaGp6PEnS0bFHyZMwFNQc2O9///tTqVRe8zGPPvpojwcCAKgn64vIoRjdYpqBqZrGxv9JknR0/H8lz8JQUHNgf/3rX3/FbYsXL86///u/55FHHsmZZ55ZyGAAAPVqMEe3kKaeNDQ8n4aG1lSrzVm1yhXE6Xs1B/a0adPWe/s73vGOnHXWWXnggQeyzz779HYuAIBBpTthWmaEC2cGo8bG1WfWdnbu6AJn9IteX%2BTsz7397W/PaaedltNPP73IpwUAGBL6KnKbmhoybtyoLF68NB0dXX3yOWAgamr67yRJR8dbSp6EoaKhyCdbsmRJVq5cWeRTAgAA9MiawF61av1n4ULRaj6CPX/%2B/FfctnLlyjz%2B%2BOP54he/mJ12cvl7AACgXJXKkjQ2Pp0kWblSYNM/ag7sGTNmrPcq4tVqNVtttVXOOuusQgYDAADoqT%2B9/nrrdHVtVPI0DBU1B/ZnPvOZV9w2bNiwbLbZZtlll13S2NhYyGAAAAA91dT02yRef03/qjmwDzvssL6YAwAAoDBNTXOSJKtW7VXyJAwlhV7kDAAAoHwr0tj4RBIXOKN/1XwE%2Bx/%2B4R%2B6/dhKpZKvfe1rtX4KAACAHmtqejyVSke6ujZOR8dflT0OQ0jNgb18%2BfL8/ve/z8KFC7PJJptko402ysKFCzN//vxstNFG2XLLLftiTgAAgG5Zc4Gzjo49k7zyAs3QV2oO7JNOOin//M//nBtvvDG77bbb2tt/8Ytf5NRTT80JJ5yQvfbyOgcAAKAcTU2rA3vVKhc4o3/V/Brsiy66KCeffPI6cZ0ku%2B%2B%2Be0488cRceOGFhQ0HAABQm661R7BXrdqz5FkYamoO7Llz52bSpEnrvW%2BzzTbLvHnzej0UAABATzQ0PJuGhrZUq8PT0bFj2eMwxNQc2BMmTMiPfvSj9d73ox/9KBMmTOj1UAAAAD3R2Dg3SdLZuWOq1eaSp2Goqfk12O973/ty0UUXZcmSJTnwwAPXXuTsu9/9bu66666ccsopfTEnAADA62pq%2Bp8kSUfHbq/zSChezYF9/PHHZ9myZfn617%2BeWbNmJUmq1Wqam5tz7LHH5vjjjy98SAAAgO5Y8/7XApsy1BzYSfKxj30sRx99dH71q1/lpZdeytixY7Prrrtm7NixRc8HAADQTR1pbHwySbJq1ZtLnoWhqEeBnSRjx47NvvvuW%2BQsAAAAPdbQ8GwqlZWpVkeno2PrssdhCKr5ImcAAAADUWPjU0mSzs4pkTqUwVcdAAAwKDQ0rAnsHUqehKFKYAMAAIPCmiPYHR0Cm3IIbAAAYFBoaHgmSdLRsX3JkzBUCWwAAGBQaGh4PknS2bltyZMwVAlsAACg7lUqHalUOlOtDktn5xvKHochqltv0/WmN70plUql20/629/%2BtscDAQAA1K4jSdLV9VdxHJGydCuw/%2B///b/rBPZ3vvOdtLW1ZcaMGdloo42yYMGC3HPPPRk1alTe/e5399mwAAAA67cqSdLV5f2vKU%2B3AvtjH/vY2o%2BvvfbajBs3Lt/5zncyevTotbcvWbIkRx11VDbccMPipwQAAHhNnav/v3OLkudgKKv53Imbbropxx133DpxnSQbbLBBjjvuuNx4442FDQcAANAdlcrqwO7qEtiUp%2BbAfv7559Pc3Lze%2B5qbm/PCCy/0eigAAIDarDmCPankORjKag7srbfeOtdee206OjrWuX3VqlW59tprs/XWXvMAAAD0tzUXORPYlKdbr8H%2Bc6ecckpOPvnk7Lffftl///2z0UYbZeHChfnRj36U%2BfPn58tf/nJfzAkAAPAaulb/f9fEkudgKKs5sGfOnJmrrroqF110Ua677rpUq9VUKpVMnTo1Z599dvbee%2B%2B%2BmBMAAOBVVSprAnujkidhKKs5sJNkr732yl577ZW2tra8/PLL2XDDDV9x0TMAAID%2BVK1W0tU1tuwxGMJ6FNhrjB49WlgDAAADQrU6Nklj2WMwhPUosLu6unLfffflySefTHt7%2Bzr3VSqVHH/88YUM9%2Bd%2B8pOf5Kqrrsq8efMyfPjwvPnNb87HP/7xTJ48ufDPBQAA1J/VgQ3lqTmwX3rppRx55JGZO3duKpVKqtVqktVhvUbRgX3//ffn5JNPzrve9a6ccsopaW1tzaWXXpqjjz463//%2B9x1FBwAAUq1uUPYIDHE1B/bFF1%2BchoaG/PjHP85%2B%2B%2B2XW265JRtuuGG%2B8Y1v5N57780111xT%2BJDf//73M2nSpHz%2B859fG/KbbbZZDjvssPzyl7/MjBkzCv%2BcAABAvRlT9gAMcTW/D/b999%2Bfo48%2BOpMmrX5/uebm5kyePDlnnHFG9txzz1xwwQWFD9nR0ZFRo0atc5R8gw38dAoAAPiTri6BTblqDuznn38%2Bm2%2B%2BeRobG9PQ0JDly5evvW/mzJm57777Ch0wSQ499NA8%2BeSTueGGG9La2ppnn302n//857PNNttk2rRphX8%2BAACgHnnpKOWq%2BRTxsWPHpq2tLUkyceLEzJ07N7vvvnuSZMmSJens7Cx2wiS77757Lr300nziE5/IueeemyTZdtttc80116SlpaVXz93YWPPPGCjAmr3bf/%2Bz%2B3LZf7nsvzx2Xy77L4/d97dRaWqya8pTc2BPnTo1TzzxRPbZZ5/svffeufzyy7Phhhumubk5F110UXbeeefCh3z44YfzT//0TznkkEMyc%2BbMtLW15corr8yxxx6bW265pVcXORszZkSBk1Ir%2By%2BP3ZfL/stl/%2BWx%2B3LZf3nsvn%2B0tIxJS8uossdgCKtU11wGvJvuu%2B%2B%2BPP300zniiCOyaNGifOhDH8rcuXOTrL7w2NVXX51tttmm0CEPPvjgTJo0KZdeeuna21588cXsvffe%2BcQnPpGjjz66x8/d2ro8nZ1dRYxJDRobGzJmzAj7L4Hdl8v%2By2X/5bH7ctl/eey%2Bf4wZMyKNjb/LihVXZtmyfyl7HAahceO694Obmo9gT58%2BPdOnT0%2BSTJgwId/%2B9rfz2GOPpVKpZNttt01zc3OtT/m65s2bl5kzZ65z2/jx47PxxhvnmWee6dVzd3Z2paPDH3Zlsf/y2H257L9c9l8euy%2BX/ZfH7vtHV9dwe6ZUNQf2X2poaMjUqVOLmOVVTZo0KXPmzFnntgULFuSFF17IZptt1qefGwAAqBe9uz4T9FaPrgCwePHifOlLX8r73//%2BHHDAAXniiSeSJLfeemsee%2ByxQgdMkiOOOCJ33313zjnnnPzsZz/LrFmzcuyxx2bkyJF517veVfjnAwAA6pHAplw1H8F%2B9tln8/73vz8vvfRStttuu/zud7/LihUrkiRz5szJww8/nPPPP7/QIY844og0Nzfn5ptvzh133JGRI0dmxx13zOc///lsvPHGhX4uAACgPlWrApty1RzYX/jCFzJq1Kh885vfzMSJE7PDDjusvW%2B33XbLJZdcUuiASVKpVPLe9743733vewt/bgAAYLAo/npQUIuaTxF/4IEHcvLJJ2fTTTdNpVJZ576JEyfmhRdeKGw4AACA7qpWe32JKeiVmgO7vb09Y8eOfdX7AAAAyiGwKVfNgb311lvnwQcfXO99v/jFL7Lddtv1eigAAIBaVauNZY/AEFdzYB922GG59tprc9NNN6WtrS1J0tnZmZ/85Ce5%2Beabc9hhhxU%2BJAAAwOsT2JSr5nMoPvCBD2TOnDn5zGc%2Bk/POOy9J8vd///fp6urKwQcfnEMPPbTwIQEAAF6fwKZcPXqRwvnnn59DDjkks2fPzsKFCzNu3Ljsu%2B%2B%2B2X333YueDwAAoJtqPkEXClVTYK9YsSJXXnll3va2t2W33XbLbrvt1ldzAQAA1EhgU66avgKHDRuWr33ta1m2bFlfzQMAANBDApty1fwVOHny5Dz33HN9MQsAAECPVKuNWbly57LHYIirObA//OEP54orrsizzz7bF/MAAADUrKtri3R2vqHsMRjiar7I2fe%2B970sW7YsBxxwQLbffvtMnDgxlUpl7f2VSiWXXHJJoUMCAADAQFdzYP/6179OQ0NDxo8fn/nz52f%2B/Pnr3P/nsQ0AAABDRc2Bfc899/TFHAAAAFDXXGYPAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgADW/TdcaTz/9dH7%2B859n8eLFOfjgg7PRRhtl0aJF2WCDDdLS0lLkjAAAADDg1RzYXV1dOfvss3Pbbbelq6srlUolf/M3f5ONNtoop59%2BenbYYYd85CMf6YtZAQAAYMCq%2BRTxq666KnfccUc%2B9rGP5c4770y1Wl1734wZM3LvvfcWOiAAAADUg5qPYN9%2B%2B%2B054YQTcuyxx6azs3Od%2BzbffPP8/ve/L2w4AAAAqBc1H8H%2Bwx/%2BkDe/%2Bc3rvW/48OFZunRpr4cCAACAelNzYI8fPz7PPvvseu976qmnsskmm/R6KAAAAKg3NQf23nvvnauuuiovvPDC2tsqlUra2tpy4403Zt999y10QAAAAKgHNb8G%2ByMf%2BUgOPfTQvPOd78y0adNSqVTy5S9/OY8//ngqlUpOOOGEvpgTAAAABrSaj2BvvPHGue222/L2t789Dz/8cJLkkUceyZ577plbbrkl48ePL3xIAAAAGOhqPoKdrI7sz372s0XPAgAAAHWr5iPYAAAAwCvVfAT7rLPOetX7KpVKxowZkx133DEzZ85Mc3Nzr4YDAACAelFzYN9zzz1ZunRp2tra0tDQkDFjxqS1tTVdXV0ZPXp0urq6smzZsmy77ba57rrrMmHChL6YGwAAAAaUmk8Rv%2BqqqzJmzJj867/%2Bax555JE8%2BOCDeeSRR/L5z38%2BG2ywQa677rrccMMNefHFF3PhhRf2xcwAAAAw4NR8BPu8887LUUcdlXe9611rb2tubs673/3uLF68OJ/73Ody00035dhjj80111xT6LAAAAAwUNV8BPvXv/51tttuu/Xet91222XOnDlJku233z6LFy/u3XQAAABQJ2oO7FGjRuXnP//5eu/7%2Bc9/nlGjRiVJVqxYsfZjAAAAGOxqPkX8ne98Z77yla%2BkUqnkb//2b7PRRhtl4cKF%2BcEPfpCvfvWrOeKII5Ikc%2BbMyeTJkwsfGAAAAAaimgP71FNPzfz583P55ZfniiuuWHt7tVrN3/7t3%2BYTn/hEkmSnnXbKtGnTipsUAAAABrCaA7ulpSUXX3xxHn/88fziF7/ISy%2B9lLFjx2b33XfPlClT1j5u%2BvTphQ4KAAAAA1nNgb3GlClT1glqAAAAGMp6HNhJ8vLLL6e9vf0Vt2%2ByySa9eVoAAACoOz0K7KuvvjrXX399Fi1atN77H3300V4NBQAAAPWm5rfpuuOOO3L55Zfnve99b6rVao499tgcc8wx2XjjjbPVVlvl05/%2BdF/MCQAAAANazYF9ww035Pjjj8%2BJJ56YJNl///1z6qmn5q677srIkSPT1tZW%2BJAAAAAw0NUc2E8//XR22WWXNDSs/ls7OjqSJCNGjMgxxxyTb3zjG8VOCAAAAHWg5sBualr9su1KpZLRo0fn%2BeefX3vf%2BPHjM3/%2B/OKmAwAAgDpRc2BvueWWayN6hx12yK233prOzs50dXXl1ltvzaRJkwofEgAAAAa6mgN7%2BvTpeeihh5Ikxx13XB544IHstttu2XPPPTNr1qwcc8wxhQ8JAAAAA13Nb9P10Y9%2BdO3Hb3nLW3LjjTfm%2B9//fiqVSvbZZ5/8zd/8TaEDAgAAQD2oKbBXrlyZ73znO9l1112zzTbbJEl23XXX7Lrrrn0yHAAAANSLmk4Rb2lpydlnn51Fixb11TwAAABQl2p%2BDfYWW2yRhQsX9sUsAAAAULdqDuwjjzwyX/3qV7N06dK%2BmAcAAADqUs0XOXv66aezaNGizJw5M295y1syceLEVCqVtfdXKpWcdtpphQ4JAAAAA13NgX3dddet/XjWrFmvuF9gAwAAMBTVHNhz5szpizkAAACgrtUc2I2NjX0xBwAAANS1mgN7jQceeCAPPfRQFi9enA9/%2BMPZdNNNM2fOnEyaNCnjxo0rckYAAAAY8GoO7Pb29px00km5//77U61WU6lUcvjhh2fTTTfN1VdfnUmTJuWTn/xkX8wKAAAAA1bNb9P1pS99KY888kguvPDC/OIXv0i1Wl173/Tp0/PAAw8UOiAAAADUg5qPYM%2BaNSsf%2BchHcsABB6Szs3Od%2BzbddNP87//%2Bb2HDAQAAQL2o%2BQj2okWLst122633vsbGxrS3t/d6KAAAAKg3NQf2JptskieeeGK99z3%2B%2BOPZfPPNez0UAAAA1JuaA3u//fbLFVdckccee2ztbZVKJX/4wx9y/fXXZ//99y90QAAAAKgHNb8G%2B%2BSTT87PfvazHHrooZkyZUoqlUrOPPPMPP3009lyyy1z3HHH9cWcAAAAMKDVfAR79OjR%2BeY3v5kTTzwxTU1NmTRpUhoaGnL00UfnxhtvzIgRI/piTgAAABjQaj6CnSQjR47MiSeemBNPPLHoeQAAAKAu1XwE%2B4ILLsiTTz7ZF7MAAABA3ao5sK%2B77rq8853vzPve977ceuutaWtr64u5AAAAoK7UHNj33ntvzjjjjKxcuTJnnXVW9tprr3zyk5/Mz3/%2B876YDwAAAOpCzYE9duzYHHnkkbn99tvz7W9/O4cffnjuu%2B%2B%2BfPCDH8xb3/rWXHbZZX0xJwAAAAxoNQf2n5syZUpOP/303HPPPbnkkkvS2dmZSy%2B9tKjZAAAAoG706Crif%2B73v/99br/99tx55515/vnns/HGGxcxFwAAANSVHgX28uXLc9ddd%2BX222/Pf/7nf6apqSn77rtvzj777Oy1115FzwgAAAADXs2BfcYZZ%2BSuu%2B7KsmXLsv322%2BeMM87IQQcdlLFjx/bFfAAAAFAXag7su%2B%2B%2BOwcffHAOOeSQbL/99n0x06u69dZbc8MNN%2BSpp57K6NGjs/POO%2BfKK6/s1xkAAABgfWoO7HvvvTfNzc2vev%2BLL76Y8ePH92qo9bnkkkty7bXX5sMf/nB23nnnvPzyy7n33nsL/zwAAADQEzUH9vriulqt5p577sltt92Wn/70p/ntb39byHBrzJs3L1dccUWuvvrqTJ8%2Bfe3t%2B%2B23X6GfBwAAAHqqV1cRf%2BaZZ/Ktb30rd9xxRxYsWJDm5ubsv//%2BRc221u23354ttthinbgGAACAgaTmwF6xYkVmzZqVb33rW/nP//zPVKvVVCqVfOhDH8pxxx2XcePGFT7kI488ku222y6XXXZZbrzxxixZsiS77LJL/vmf/7nfXwcOAAAA69PtwP71r3%2Bd2267LT/4wQ%2BydOnSjBgxIu95z3uy//775/jjj8/MmTP7JK6TZMGCBZkzZ07mzp2bT3/602lubs6ll16ao48%2BOj/60Y8yZsyYHj93Y2NDgZPSXWv2bv/9z%2B7LZf/lsv/y2H257L88dt%2B/mprsmXJ1K7APOuigPPHEE0mSXXbZJYccckje8Y53ZOTIkVmyZEmfDpisfo33smXLcskll%2BSv//qvkyRvetOb8ta3vjXf/OY3c%2Byxx/b4uceMGVHUmPSA/ZfH7stl/%2BWy//LYfbnsvzx23/eq1WrGjRtV9hgMcd0K7Llz56ZSqWTGjBk59dRTs%2B222/b1XOvYcMMNs9FGG62N6yTZeOONM3ny5LXh31OtrcvT2dnV2xGpUWNjQ8aMGWH/JbD7ctl/uey/PHZfLvsvj933jzU/wGhtXVbyJAxW3f3hTbcC%2B4wzzsjtt9%2Be//iP/8js2bOz00475dBDD80BBxzQqyG7a5tttsn//u//vuL2arWahobenQbS2dmVjg5/2JXF/stj9%2BWy/3LZf3nsvlz2Xx677x92TNm6Vacf/OAHc%2Bedd%2BbWW2/N4YcfnieffDJnnXVW9tprr5x11lmpVCqpVCp9NuQ%2B%2B%2ByThQsX5n/%2B53/W3jZ//vw8%2BeSTmTJlSp99XgAAAOiuSrVardb6N63vSuJbbbVV3vve9%2BY973lP4Rc76%2BzszGGHHZalS5fmox/9aFpaWnLZZZdl0aJFueuuuzJy5MgeP/fixUv9pKsETU0NGTdulP2XwO7LZf/lsv/y2H257L88dt8/xo9fffruiy8uLXkSBquJEzfo1uN6FNh/7plnnsltt92WO%2B%2B8My%2B88EKGDRuWRx55pDdPuV6LFi3Keeedl9mzZ6ejoyO77757Tj/99EyePLlXz%2BsPu3L4j0157L5c9l8u%2By%2BP3ZfL/stj9/1DYNPXuhvYNb8P9l/acsst8/GPfzynnHJKZs%2BenW9961u9fcr1mjBhQr74xS/2yXMDAABAb/U6sNdoaGjIvvvum3333beopwQAAIC64Z3YAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAdRnYS5cuzd57750pU6bkN7/5TdnjAAAAQH0G9uWXX57Ozs6yxwAAAIC16i6w582bl5tvvjn/%2BI//WPYoAAAAsFbdBfZnP/vZvO9978vWW29d9igAAACwVl0F9l133ZXHHnssJ510UtmjAAAAwDqayh6gu5YvX57Pfe5z%2BfjHP57Ro0cX9ryNjXX1M4ZBY83e7b//2X257L9c9l8euy%2BX/ZfH7vtXU5M9U666CewrrrgiEyZMyMEHH1zo844ZM6LQ56M29l8euy%2BX/ZfL/stj9%2BWy//LYfd%2BrVqsZN25U2WMwxNVFYD/33HO55pprctlll6WtrS1JsmzZsrW/Ll26NKNG9exfptbW5ens7CpsVrqnsbEhY8aMsP8S2H257L9c9l8euy%2BX/ZfH7vvHmh9gtLYuK3kSBqvu/vCmLgL72WefzapVq3Lccce94r4PfvCD2XnnnfNv//ZvPXruzs6udHT4w64s9l8euy%2BX/ZfL/stj9%2BWy//LYff%2BwY8pWF4G9/fbb5/rrr1/ntkcffTTnn39%2BPv3pT2fHHXcsaTIAAABYrS4Ce8yYMdljjz3We9%2Bb3vSmvOlNb%2BrniQAAAGBdLrMHAAAABaiLI9jrs8cee%2BTxxx8vewwAAABI4gg2AAAAFEJgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEB%2BxeWhAAAa6klEQVRgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABSgqewBumPWrFn57ne/mzlz5uTll1/OFltskb//%2B7/P%2B973vjQ0%2BBkBAAAA5auLwP7617%2BeSZMm5f/9v/%2BXCRMm5KGHHspnP/vZ/P73v88nP/nJsscDAACA%2BgjsK6%2B8MuPHj1/713vuuWeWLVuWm266KR/72MfS0tJS4nQAAABQJ6/B/vO4XmP77bfPihUr8tJLL5UwEQAAAKyrLgJ7fX75y19m7NixmTBhQtmjAAAAQH2cIv6XfvOb3%2BT222/PSSedlMbGxl49V2Nj3f6Moa6t2bv99z%2B7L5f9l8v%2By2P35bL/8th9/2pqsmfKValWq9Wyh6jFggULcvjhh2eTTTbJDTfckObm5rJHAgAASlatVlOpVMoegyGurgJ7yZIlOfLII7NixYrcfPPNGTduXK%2Bfs7V1eTo7uwqYjlo0NjZkzJgR9l8Cuy%2BX/ZfL/stj9%2BWy//LYff8YM2ZEktXf20NfGDduVLceVzeniK9YsSInnHBCFi5cmG9%2B85uFxHWSdHZ2paPDH3Zlsf/y2H257L9c9l8euy%2BX/ZfH7vuHHVO2ugjsjo6OfPSjH81jjz2WG2%2B8MZtttlnZIwEAAMA66iKwzznnnPz0pz/NP/3TP6W9vT3/9V//tfa%2BbbfdNqNHjy5xOgAAAKiTwL7vvvuSJF/4whdecd/111%2BfPfbYo79HAgAAgHXURWDffffdZY8AAAAAr8kbxQEAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAeomsJ966qkcc8wx2WWXXTJt2rSce%2B65aW9vL3ssAAAASJI0lT1Ad7S2tuaoo47KpEmT8uUvfzkvvvhizj///Lz00ku54IILyh4PAAAA6iOwv/GNb6S1tTV33nlnxo8fnyRpbGzMqaeemhNOOCHbbLNNyRMCAAAw1NXFKeL33HNPpk2btjauk2T//fdPS0tLZs%2BeXeJkAAAAsFpdBPa8efNecZS6paUlW265ZebNm1fSVAAAAPAndXGKeGtra8aMGfOK28eMGZOXX365V8%2B94YYjUq326inogUpl9a/23//svlz2Xy77L4/dl8v%2By2P3/aOhoZKurmqamuri%2BCGDWF0E9qupVquprPlTq4caGvxLWCb7L4/dl8v%2By2X/5bH7ctl/eey%2B7zU2VjJu3Kiyx2CIq4t/08eMGZPW1tZX3L5kyZL1HtkGAACA/lYXgb3NNtu84rXWK1euzDPPPOMK4gAAAAwIdRHYe%2B%2B9dx588MEsXrx47W0//vGPs3LlysyYMaPEyQAAAGC1SrU68C%2B30NramgMPPDCbbbZZTjzxxCxatCif%2B9znMn369FxwwQVljwcAAAD1EdhJ8tRTT%2BXcc8/NL3/5ywwfPjwHHnhgTj311AwfPrzs0QAAAKB%2BAhsAAAAGsrp4DTYAAAAMdAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKMOQC%2B6mnnsoxxxyTXXbZJdOmTcu5556b9vb2sseqa7NmzcqJJ56YGTNmZJdddslBBx2Um2%2B%2BOV1dXWsfc9ppp2XKlCmv%2BN8999zziuf72te%2BlpkzZ2bHHXfMIYcckoceeqg//3Hqzu23377e3V5wwQXrPG727Nn5u7/7u%2By4447Zb7/9ctNNN633%2Bey/NkceeeR69z9lypR8//vfT%2BLrvyhPP/10PvWpT%2BXd7353pk6dmgMPPHC9jyvya72trS2f%2BtSnsscee2TXXXfNhz/84Tz33HOF/nPVg9fbfWdnZ77yla/kAx/4QPbcc8/svvvuOeKII/LAAw%2B84rlmzpy53n8fVqxYsc7j7P5PuvO1X/SfM/b/J93Z/6v9d2DKlCl54YUX1j7O1z8Mfk1lD9CfWltbc9RRR2XSpEn58pe/nBdffDHnn39%2BXnrppVfECP9/e/ceFWP%2BxwH8PY0yXVTube5FrRRCR4jIJRGWZdeu27qUzSUbEsdlcdwd5LIJtZ3YOE5uq1FY2hIrHJMjrF211iWXXyFyaWrq%2Bf3h9PCY0lSTlt6vc5zTfJ7vPM93PvPd59nPPN/neXQXEREBa2trzJkzB3Xr1sW5c%2BewfPly3LlzB0FBQWK7Jk2aaOXZ1tZW8jo8PBwbNmxAQEAAHBwcEB0dDR8fH0RHR8Pe3v6DfJ6PVVhYGGrVqiW%2Bbtiwofh3SkoKpkyZgiFDhmDu3LlQqVRYtmwZjIyMMGLECLEd8192P/74I54/fy6JRUZG4vjx4%2BjSpYsY4/ivuBs3biAxMRHt2rVDYWEhBEHQaqPvsT5r1ixcvXoVCxcuhJmZGTZt2oTx48fj8OHDUCgUH%2BRz/xeUlvvc3Fxs27YNX3zxBSZOnIgaNWrg4MGDGD9%2BPLZu3YpevXpJ2nt6emLChAmSmJGRkeQ1c/%2BGLmMf0O9%2Bhvl/Q5f87927VysWFBQEY2NjNGjQQBLn%2BCf6xAnVyLZt24R27doJjx49EmOHDx8W7OzshLS0tCrs2cft7XwWWbFiheDk5CSo1WpBEAQhKChIGDhw4HvXo1arhY4dOwqrV68WYxqNRvDy8hJ%2B%2BOEH/Xb6E7J//37Bzs6u2O%2BhyMSJE4Xhw4dLYgsWLBC6desmFBQUCILA/OuTh4eH4OPjI77m%2BNePorEqCCXnVJ9j/dKlS4KdnZ2QkJAgxjIyMgQHBwdh9%2B7devtcH4PScq/RaITs7GxJrLCwUBg6dKgwevRoSbxXr17CkiVL3rs95l5Kl7Gvz/0M8y%2BlS/7fdefOHcHOzk7YsWOHJM7xT/Tpq1ZTxE%2BdOoUuXbqgTp06YszT0xNGRkZITEyswp593N7OZ5HWrVtDrVYjOztb5/WoVCrk5ORIpl7J5XIMGDAAiYmJJf5iT%2B%2BXl5eH5ORkDBw4UBIfNGgQMjMzce3aNQDMv76oVCrcvXsXgwYNKvP7mP/3MzB4/yFL32M9MTER5ubm6NGjh9jO2toaHTp0qHbHjNJyL5fLYWFhIYnJZDJ8/vnnkumxumLupUrLv6449sunPPlXKpWQyWQlXsryPsw/0cetWhXY6enpWlOljIyM0LRpU6Snp1dRrz5NFy9ehKWlJerWrSvGbt%2B%2BjU6dOsHR0RHDhg3DiRMnJO8p%2Bg5sbGwkcVtbW7x48QIPHz6s/I5/xLy9vdG6dWv07t0b27ZtQ0FBAYDXec/Pz9fKa8uWLQG8yTvzrx9KpRLGxsbo3bu3JM7xX/n0PdbT09PRokULyGQyrfXxmFG6wsJCpKSkaB13ASAmJgaOjo5wdnaGj48P/vrrL8ly5r589LWfYf4r7siRI3BxcYGVlZXWMo5/ok9btbsG29zcXCtubm6Op0%2BfVkGPPk2pqak4cOAApk6dCrlcDuD1GW0nJye0bNkSOTk52LNnD6ZOnYqNGzeif//%2BAF5/P0ZGRlrXFhWdFcnOzi72QFXd1a9fH9OnT0e7du0gk8kQHx%2BP4OBgPHz4EIsWLRLH9rtjv%2Bh10XLmv%2BI0Gg2OHj2K3r17w8TERIxz/H8Y%2Bh7rz549k9zX4O318ZhRul27duHmzZtYunSpJO7h4YG2bdvC2toad%2B7cQWhoKL799lscOnQITZo0AQDmvhz0uZ9h/ivm%2BvXr%2BPvvv7XGPsDxT1QdVKsCuySCIGj9Skjlk5mZCX9/fzg5OcHHx0eMjxs3TtLOw8MDI0eOxKZNm8QDP4Biv4eiKWv8jorXvXt3dO/eXXzt5uaGmjVrIjIyEt9//70YLyl/b8eZ/4o5c%2BYMHj16pDUlkOP/w9LnWNdlXaTt/PnzWLt2LSZMmAAXFxfJsgULFoh/d%2BrUCd26dYOXlxfCw8OxePFicRlzXzb63s8w/%2BUXExMDQ0NDeHp6ai3j%2BCf69FWrKeLm5uZ49uyZVjwnJ6fYM9tUNjk5OfDx8YFCocDWrVthaGhYYlsDAwP069cP6enp4mPSzM3NoVartR5VUfSdvXt9H5XMy8sLBQUF%2BPPPP8W8vfurd1Fei8Y%2B819xSqUSlpaWcHNze287jv/Koe%2BxXtIxo6TZUPTa9evXMWXKFPTp0weBgYGltm/QoAE6duyIq1evijHmvuIqsp9h/stPEATExsaie/fusLS0LLU9xz/Rp6daFdi2trZa167k5eXh9u3bxV4jRrpTq9Xw8/NDVlYWwsLCULt27VLf8%2B5Nm4q%2Bg3e/o/T0dJiamkoeO0W6a9q0KQwNDfHPP/9I4mlpaQDe5J35r5jc3FycPHkS/fv3f%2B%2BPS0U4/vVP32Pd1tYWN2/e1Pqu0tLSeMwowe3btzFp0iQ4ODhgzZo1Op9tK%2B6/B%2Ba%2B4sq7n2H%2By%2B/ixYu4d%2B9emW50yfFP9GmpVgV2jx49kJycjCdPnoix3377DXl5eXB3d6/Cnn3cNBoNZsyYgevXryMsLAyNGjUq9T2FhYU4duwYWrVqJV4L1qFDB9SqVQuxsbFiu4KCAsTFxcHd3Z3TosogNjYWcrkcDg4OMDIygqurK%2BLi4iRtlEol6tevDwcHBwDMf0XFx8fjxYsXOv1PFcd/5dD3WHd3d8ezZ8%2BQlJQktrt//z5UKhWPGcXIzMzEhAkTUK9ePYSEhGg917ckDx8%2BhEqlgpOTkxhj7iuuIvsZ5r/8YmJiYGJiovXs95Jw/BN9euSL377g4xPXqlUr7N%2B/H0lJSWjYsCFSUlKwYsUK9O3bFyNHjqzq7n20Fi9eDKVSiRkzZqBBgwZ48OCB%2BM/MzAyZmZmYOnUq8vPzkZOTg6tXr2LZsmVISUnBkiVLxF9j5XI55HI5QkNDoVAooFarsXHjRqSkpGDNmjWoV69eFX/S/6aJEyfif//7H54/f45bt27h559/RlRUFMaMGSNed9ekSROEhobi/v37MDU1RUxMDCIiIjBv3jw4OjoCYP4rav369VCr1Zg3b56kGM7IyOD415NXr17h5MmTSEtLw5kzZ5CVlQUrKyukpaWhTp06MDY21utYt7KywpUrV7B37140bNgQ9%2B/fx6JFi6BQKLB06VLUqFF9bmNSWu5lMhnGjh2LBw8eYMGCBcjNzZUcC4pu0KdUKrF9%2B3bk5ubiyZMnOHv2LObPn4%2B8vDysXLlSnKLM3EuVlv/Hjx/rdT/D/Evpsu8BXp9wmD9/Pnr16oUBAwZorYfjn6h6kAnV7OGqN2/exLJly3Dx4kUoFAp4e3tj9uzZWnfUJN15eHggIyOj2GU7d%2B6Evb095s2bh6tXr%2BLx48cwNDSEo6MjfH19JTfnAl5PkwoPD0dUVBSysrJgZ2eHwMBAuLq6foiP8lFatmwZkpKS8ODBAxQWFqJ58%2BYYMWIExowZIyn0EhMTsX79eqSnp8PKygrjx4/HqFGjJOti/svn6dOn6NatG8aNG6d1zWl2djbHv57cvXtX6/FnRXbu3InOnTsD0O9Yf/78OVavXo1jx44hPz8fnTt3xsKFC3WaqfMpKS33jRo1KnE5APExRJcuXcK6detw48YN5OTkoFatWnB1dYW/v7/Wo6OY%2BzdKy39lHGeZ/zd03fckJCRg8uTJ2L59e7Fnmjn%2BiaqHaldgExEREREREVWGanUNNhEREREREVFlYYFNREREREREpAcssImIiIiIiIj0gAU2ERERERERkR6wwCYiIiIiIiLSAxbYRERERERERHrAApuIiIiIiIhID1hgExEREREREekBC2wiIhIdOHAA9vb24j8HBwe4ubkhICAA//77b5X36%2B7du%2B9tt3nzZtjb23%2BgXpUuMTERmzdvLnaZvb09li5d%2BoF7RERERJWpRlV3gIiI/ntWrlwJGxsbqNVqqFQqhIaG4ty5c4iLi4OFhUVVd%2B%2BjkZiYiKioKEyfPr2qu0JEREQfAAtsIiLS0qpVKzg5OQEAOnfujIKCAmzevBknTpzAl19%2BWcW9IyIiIvpv4hRxIiIqVVGx/ejRI61lsbGx%2BPrrr9G%2BfXs4Oztj4sSJuHbtmqRNamoqAgIC4OHhgbZt28LDwwMzZ85ERkaG1vouXbqEkSNHwsnJCW5ubli3bh00Gk2F%2Bq9LH%2BfOnQtnZ2fcunULPj4%2BcHZ2hru7O1atWoW8vDxJ2wcPHsDf3x/Ozs7o1KkTZs2ahcuXL8Pe3h4HDhwQ1xcVFQUAkmn3705zP3ToELy8vNCuXTsMHjwYv//%2Bu2T548ePsXDhQri7u8PR0RGurq4YOXIk/vjjjwrlhIiIiPSPZ7CJiKhURUVh8%2BbNJfHQ0FAEBwdj2LBh8PPzQ35%2BPsLDwzFq1ChER0ejZcuWAICMjAy0aNECAwcOhIWFBTIzM7Fnzx4MHz4cR44cQZ06dQAAaWlp%2BO6779CoUSOsWrUKCoUCu3fvhlKpLHffde0jAOTn58PPzw/Dhw/HhAkTcOHCBYSEhMDMzAzTpk0DALx8%2BRJjx47F06dPMXv2bDRr1gxJSUkICAiQbHfKlCl4%2BfIljh07hr1794rxBg0aiH8nJCQgNTUV/v7%2BMDExQVhYGKZNm4ajR4%2BiSZMmAIDAwEBcu3YNAQEBaN68OZ49e4Zr164hOzu73DkhIiKiysECm4iItBQWFkKj0YjXYG/duhUuLi7w8PAQ29y/fx%2BbN2/G6NGjsWDBAjHetWtXeHp6YsuWLQgODgYA9O/fH/379xfbFBQUoGfPnujWrRuUSiXGjh0LAPjpp58gCAIiIyNRr149AEDPnj3h7e1drs9Rlj4Crwvs6dOnw8vLCwDQpUsXXLlyBUqlUiywDx48iFu3bmHHjh3o0aMHAMDNzQ2vXr2SFNJNmzYVP0P79u2L7Z9arUZERATMzMwAAG3atEH37t0RFxcHX19fAIBKpcKIESPw1Vdfie/r06dPufJBRERElYsFNhERaXm7mAMAW1tbhISEoEaNN4eN06dPQ6PRYMiQIZIp3DVr1oSLiwvOnTsnxl68eIGQkBAcP34cGRkZKCgoEJelp6eLf587dw5dunQRC1MAkMvlGDBgALZs2VLmz1GWPgKATCaT/IgAvJ7enZycLL6%2BcOECTE1NxeK6iLe3t6TA1kXnzp3F4hoA6tWrh7p160qmzrdt2xYHDx6EpaUlunbtijZt2sDQ0LBM2yEiIqIPgwU2ERFpWb16NWxtbfHixQvExsZi7969mDlzJsLCwsQ2WVlZAIDhw4cXuw4Dgze3%2BZg1axaSk5MxZcoUODk5wdTUFDKZDL6%2BvlCr1WK77OxsSXFdpLiYLsrSRwAwNjZGzZo1JTEjIyOd%2Bli3bt0y98/S0lIr9u72NmzYgK1bt2Lfvn3YuHEjTExM0LdvXwQGBqJ%2B/fpl3iYRERFVHhbYRESkxdbWVryxmaurKwoLCxEdHY2jR4%2BKU71r164NANi0aROsra1LXFdOTg4SEhIwbdo0cdozAOTl5eHp06eStpaWlmJR/LbiYrrQtY9lYWlpicuXL2vFy9vH0tSpUwfz58/H/Pnzce/ePcTHx2PdunV49OgRwsPDK2WbREREVD4ssImIqFSBgYE4fvw4Nm3ahH79%2BsHAwABubm6oUaMGbt%2B%2BDU9PzxLfK5PJIAgCjIyMJPHo6GjJVHHg9ZTp%2BPh4ZGVliWeJCwoKEBsbW65%2B69rHsnBxcUFcXBwSExPh7u4uxo8cOaLVtugz5%2BbmQqFQVHjb1tbWGD16NM6ePQuVSlXh9REREZF%2BscAmIqJSWVhYwNfXF2vXrkVMTAyGDBmCxo0bw9/fH8HBwbhz5w569OgBc3NzZGVlITU1FcbGxvD394eZmRlcXFwQHh6O2rVro1GjRjh//jz27dsHc3NzyXb8/PwQHx%2BPcePGYerUqVAoFIiKisKrV6/K1W9d%2B1gWQ4cORWRkJObMmYMZM2agWbNmOHXqFE6fPg1AOu3czs4OAMQbohkYGMDe3l7rx4aS5OTkYOzYsfD29oaNjQ1MTU2RmpqKpKQk9O3bt0z9JiIiosrHApuIiHQyZswYREVFISQkBN7e3pDL5Zg8eTJsbW2xc%2BdOHDlyBHl5eahfvz4cHR3xzTffiO9dt24dli9fjrVr10Kj0aBDhw6IiIjA5MmTJduws7NDREQEVq9ejaCgIFhYWGDw4MHw9PTEwoULy9VvXfuoKxMTE0RGRmLFihVYu3YtZDIZ3Nzc8OOPP8LX1xe1atUS23p7e0OlUmH37t3iHdJPnjyJxo0b67StmjVrom3btvj111%2BRkZEBjUaDzz77DD4%2BPpg0aVKZ%2B05ERESVSyYIglDVnSAiIvrYFT1vOyEhAVZWVlXdHSIiIqoCPINNRERURr/88gsAwMbGBvn5%2BUhOTsauXbswePBgFtdERETVGAtsIiKiMlIoFIiMjMTdu3eRn58vTtv28/Or6q4RERFRFeIUcSIiIiIiIiI9MCi9CRERERERERGVhgU2ERERERERkR6wwCYiIiIiIiLSAxbYRERERERERHrAApuIiIiIiIhID1hgExEREREREekBC2wiIiIiIiIiPWCBTURERERERKQHLLCJiIiIiIiI9OD/6WN6pcnrl/EAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3gU5doG8Hu2pRM6oQUCCR0RKYKKdJGONDuichABwQrHhh5EqQoix0%2BDIoqKCAYkSDlSpEnvUgKBUEJJJwmk7M7OfH/s7jiTbLaETRHu33Xtla2z78xmyvOW5xVkWZZBRERERERERLdEV9YFICIiIiIiIrodMMAmIiIiIiIi8gEG2EREREREREQ%2BwACbiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkAwywiYiIiIiIiHyAATYRERERERGRDzDAJrpFc%2BfORePGjdG4cWO8/fbbt7w8URSV5TVu3BjXrl3zQSlJzde/GRHRP93MmTOV4%2BLUqVPLuji3jcGDByvbdf369U7fc/r0aeU9rVu3LuUS/jN9//33yjZ74YUXyro4RBqGsi4AlQ///ve/sXLlyiJfNxqNCA4ORlhYGJo3b44ePXrgwQcfhF6vL8VSEtGd5sKFC3jooYeUxzqdDps3b0bNmjXLsFREREREzrEFmzxisViQkZGBkydPYsWKFRgzZgz69euHo0ePlnXR6A524cIFpQa7WbNmZV0cKgEFK/4kScKvv/5aRqUhIio7EyZMUM55X3/9dVkX547F34HcYQs2FRIaGoqWLVtqnjObzUhKSsKFCxeU586dO4dnnnkG3377Le66667SLiYR3eZkWcbq1asLPb9y5UqMGTOmDEpERERE5BoDbCrEVY3cpUuXMHv2bGzYsAEAkJOTg7feegurV6%2BGTscOEUTkO3v27MHly5cBABERETCbzbh8%2BTLOnz%2BPw4cP4%2B677y7jEhIR3bpGjRohLi6urItBRD7CiIi8UrduXXz66afo2rWr8tyZM2ewffv2MiwVEd2O1N3DBwwYgP79%2Bzt9jYiIiKi8YIBNXhMEARMmTNA8t3v37jIqDRHdjnJycvC///0PgO2Y079/fwwYMEB5fd26dTCbzWVVPCIiIiKn2EWciqVp06YIDAxETk4OACjdOD21e/dubNiwAfv27UNKSgpu3ryJSpUqITIyEl27dsXQoUMRGBjo0bLOnDmDHTt24MCBA4iPj0dycjLy8/MREhKCsLAwtGnTBgMGDECrVq28KqMkSVi9ejViY2MRFxeHzMxMVKtWDZGRkXjkkUfw0EMPlass6mfPnsWaNWuwc%2BdOXLlyBdevX0dwcDDq1KmDBx54AMOGDUPt2rVdLkOdsVmv1%2BPEiRMAgOTkZCxfvhwbN27ElStXkJeXh2rVqqFdu3YYMWIEmjZt6nE5LRYLYmJisHbtWsTHxyMrK8vpdp07dy6%2B%2BOILAMDQoUPx4YcfKstYvnw53nnnHc1yrVYrGjdu7PQ7J06ciLFjx7ot2/79%2B7Fs2TIcOXIE165dg7%2B/P8LDw9GtWzeMGDECwcHBHq3j4cOHsWrVKhw%2BfBiXL1/GzZs3YTAYUKFCBdSqVQtNmjRBu3bt0K1bNwQFBXm0zII2btyIcePGAQACAgLw559/erzPLFiwAJ999hkA25AQZ%2BOc8/PzsXbtWmzcuBEnT55ERkYG8vPz4efnh6pVqyI8PBwtWrRA586dcc899xRrHVzZsGGDcnxp3bo16tatCwBo3rw5jh8/jszMTGzatAm9e/cuchlmsxn3338/srKyAACffPIJ%2Bvbt69H3nz9/Hr169VIe//bbb4iMjCzy/WfOnFH2v6tXryIzMxMhISGoU6cOOnXqhOHDhyMsLMzld54%2BfVpppQ8MDMShQ4cA2PbLmJgYbN%2B%2BHdeuXUN6ejoCAgKU19Xru2vXLuzevRt//fUXEhISkJmZCZ1Oh9DQUERFRaFDhw4YPnw4QkNDPdoODhcvXsTSpUuxbds2XLlyBTqdDmFhYejYsSMee%2BwxZdvce%2B%2B9uH79OgBgxYoVhfJ5lNS288atbme1nTt34n//%2Bx/279%2BP1NRU3Lx5E5UrV0ZUVBS6du2KIUOGICAgwKNyxcXFYceOHTh48CDi4%2BORkpKinMtq1qyJNm3aYNCgQWjRooVX62u1WrFq1SrExsYqx9yqVauiUaNGGDx4MHr06FHiQ7w8LcPMmTOxaNEiAMCTTz6JKVOmFFrWli1blBwMUVFRWLNmjdvv92S5DklJSdi2bRv27t2L06dP48qVK8jJyUFgYCAqV66Mu%2B%2B%2BGz179kT37t0hCEJxNkchRf1POqj3K4dZs2Zh1qxZhZbl%2BLzFYkGXLl2QmpoKwLYNBg0a5FF5EhIS8PDDDyuP169fj4iICK/WycHZtpdlGZs2bUJMTAxOnTqFlJQUVKhQAZGRkejXrx8eeeQRGAy%2BD1ESExOxcuVK7NixA4mJicjMzFTOy/fffz8GDx6MevXqFfn54vwOdGdigE3FIggCQkJClAvg7Oxsjz6XmJiId999F3/%2B%2BWeh15KTk5GcnIw///wT0dHR%2BOijj/Dggw%2B6XN6AAQOKHLeUkZGhZD7//vvv8fDDD2P69OkeBSFJSUmYOHFioYPj5cuXcfnyZWzduhUdO3bEJ5984nZZJS0vLw8zZszAzz//DKvVqnnNsQ2OHTuGRYsWYfz48Rg9erRXy9%2B0aRPefPNNZGZmap6/dOkSLl26hFWrVmHSpEl49tln3S4rISEBEyZMwOnTpzXPl/V2NZvNmD59On788UfN8/n5%2BTh27BiOHTuGn376CV9//TWioqJcLuett95CbGxsodesVitSUlKQkpKCI0eOYNmyZejatatSieCtzp07o2LFirh%2B/Tpyc3OxceNGTQuvK7/99ptyX93t2uHEiRN4%2BeWXNUkNHXJycnDx4kVcvHgRO3bswBdffIHPPvtMM5WWLxTsHq6%2Bf/z4cQDAqlWrXAbYJpMJvXr1wvLlywEAsbGxHgfY6t%2BwWbNmRQbXOTk5%2BOijj/DLL79AkiTNa%2Bnp6UhPT8fRo0exaNEivPzyyxg5cqRH3%2B/www8/YMaMGW5b67du3YrXX39dqUwoKC8vD0lJScpvNmXKFAwcONDjMsyaNQt5eXma5%2BPj4xEfH4%2BffvoJkydPxtNPP%2B3ZStmV9Lbzhqfb2eHChQt45513sHfv3kKvJSUlKdt64cKFmDFjBjp27FjksiwWCx555BGcOXPG6euO4/iJEyewZMkS9OvXDx9%2B%2BCH8/f3dlvPy5cuYMGEC/vrrr0LPX758GVu2bMGDDz6IOXPmuF1WcZWHMnjqnXfecfr/CABZWVnIysrC%2BfPnsWrVKjRv3hzz589HnTp1yqCk7hmNRgwePBjR0dEAgF9%2B%2BcXjAHvFihXK/bZt2xY7uHYmOzsbkyZNwubNmzXPp6amIjU1Fbt378bSpUvx6aefKhWrt0qWZXz%2B%2Bef48ssvkZ%2Bfr3ktLS0NaWlpOHbsGL7%2B%2Bms8%2B%2ByzeOWVV5hXiG4JA2wqFlmWNRdynrTCnTp1CqNGjUJKSoryXGBgICIjIxEQEIDk5GQkJCQAAFJSUjB27FjMnTsXPXv2LHKZ6uDaaDSifv36qFixInQ6HdLS0pCQkKAEnevXr0dKSgqWLFnisuU5PT0dI0eOxLlz55TnTCYTGjVqhICAACQkJCA1NRW7du3CuHHj0LZtW7frXlKysrIwevRoTUWAwWBAw4YNUalSJWRlZeH06dMQRRH5%2Bfn4%2BOOPkZGRgcmTJ3u0/B07dmD8%2BPGQJAlGoxFRUVEICQnBtWvXlOBLkiTMmDEDdevWRY8ePYpc1uXLl/HMM88gKSlJec7f3x9RUVHw9/fHhQsXkJyc7NF2DQsLwwMPPIC8vDzs378fgK3S5/7773f6/vDwcJfr%2BfbbbyutuJUqVUL9%2BvWh0%2Blw5swZ5f88KSkJ//rXv7BmzZoiW7InTZqEdevWKY8NBgMaNGiASpUqQZZlZGZm4vz588oJXpZll%2BVyxWg0olevXli2bBkAW0DoSYB9/Phx5X9bEAT069dP83pSUhKeffZZTS19aGgo6tevj6CgIOTm5iI5ORlXrlxRyu/sYvRWXL58WQlcjEajJoju27cvZs2aBavVih07diA1NRVVq1Ytcln9%2B/dXAuwdO3YgIyMDlSpVclsGdauYs0oIwBb4jB49WjNdodFoRMOGDVGxYkVkZmbi9OnTsFqtyM3NxfTp05GRkYFXXnnF7fcDtp4aU6dOVZYbGRmJkJAQpKSkaPYjALhy5YrmmFyxYkXUrVsXwcHByM/Px8WLF5WWrBs3bmDSpEmwWq0YPHiwyzL88MMPShkcwsLCEB4ejtzcXJw%2BfRr5%2BfmYNm2aV70xSnrbecOb7QzY9qFRo0YhPT1deS4oKAiRkZHw9/dHUlISzp8/DwC4du0a/vWvf%2BG///0vOnfu7PT7JUnSBNdGoxEREREIDQ2FTqdDamoqEhISlP1szZo1SE1NxTfffOMyCEhNTcXIkSNx8eJF5Tk/Pz/lmJuQkIC0tDRs27YNEyZMQJMmTTzfaB4qD2XwxunTp5XtrNPpUKdOHVSpUgX%2B/v7IysrC2bNnlYqm48eP47HHHsPKlStRrVq1Ei1Xx44dkZ2djVOnTin7cUREhNNeaeqKl%2BHDh2PhwoWQZRl79%2B7F%2BfPnUb9%2BfZffJYqiZirEYcOG%2BWYlYDvnvfrqq9i2bRsA2/m2QYMGMJvNOHPmjGbbjhw5EkuXLkX16tVv%2BXvfffdd5TzgUL9%2BfVSvXh3p6emIj48HYKvsio6OxqVLl/DJJ58U2r%2BK%2BzvQnYcBNhXL8ePHkZubqzx21XUSsNVYjh07Vgmua9asicmTJ6Nnz56abkAJCQn44IMPsHPnTlgsFrz55pto3rw5atWq5XS5FSpUwODBg9GzZ0%2B0atUKRqNR8/r169fxww8/4P/%2B7/9gsVhw4MABfPPNNxg1alSRZZ02bZomuB4xYgReeuklVKhQAYDtYuj333/He%2B%2B9h4MHDyqVAmXhrbfeUoJrPz8/jB8/Hk888YQmAMzMzMSCBQvw3XffAQAWLVqENm3auAyGAdt6vvrqqwCAMWPGYNSoUQgJCVFeP3ToECZMmIDk5GQAwPTp0112mXvnnXeUi1WdTqcs03FRLssyduzYgSlTprjdrp06dUKnTp00Xdp1Ol2x5qPcuHEjrl%2B/jlq1auGdd95B165dlZOqxWLB119/jblz5wIArl69isWLF2P8%2BPGFlnPkyBEluBYEAWPHjsWzzz6r2WaArSX70KFDWL9%2BveYCvTgGDBigBNh//vkn0tPTUblyZZefUbfMtmvXDjVr1tS8/vnnnyvBdVhYGKZOnYpOnToVutDIysrCtm3bsGLFCp91k3RYtWqVErw/%2BOCDqFixovJatWrV0LFjR%2BzYsQOiKCI2NtZl74n27dsjLCwM165dg8Viwfr16/H444%2B7/P6jR48qAZJOpyuy1Xvy5MlKgBgQEICJEydi%2BPDhmkAzIyMD8%2BfPV3pHfPnll2jbti06derksgxmsxnTpk2DIAgYPXo0Ro0apRyDAGgCFofmzZtjyJAh6NKli9MLvmPHjmHOnDlKzowPPvgADzzwQJEXsPHx8Zg%2BfbryuHbt2pg2bRruu%2B8%2B5bkbN25g4cKF%2BPLLL/HBBx8U6kVTlJLcdt7wdjtfv34dY8eOVfbd2rVr480330S3bt00Fbdnz57F%2B%2B%2B/j71798JisWDSpElYvXo1atSo4bQcFStWxODBg/HQQw%2BhZcuWhbrHpqen4/vvv0d0dDQsFgt2796NH374wWWvgffee09T/ueffx4vvviickyyWq1Yv349pk6dit27d5dIFuvyUAZvGI1G9O/fH3369EGHDh0K9XhzDJ2ZPXs20tLSkJKSgqlTpypDbkrKvHnzANjmX3bM4jJs2DA8//zzLj9Xt25ddOzYUek1%2BMsvv%2BC1115z%2BZk//vhDuVYLCQnRdBW/VevWrUNGRgYqVKiAd999F3379lX2G/WxRJZlJCYmYsqUKcXu5eWwfPlyTXDdpk0bTJ06VXPdeuHCBbz//vvKdlq3bh1atmxZaPsW93egOw/7P5DXZFnGggULNM%2Bpxyo6M2fOHGWcdv369RETE4PevXsXuoiIiIhAdHQ0HnjgAQC2wPzzzz8vcrlbt27Fm2%2B%2BibZt2xYKrgHbRcu4cePw8ccfK88tWbIEoig6Xd6hQ4c03WdHjx6Nt99%2BW3PBpdPp0KtXLyxatAj%2B/v7IyMhwue4lZe3atfj9998B2GpKv/32W4wePbpQ62poaCjefvttTJw4UXlu9uzZbltPHS2uU6dOxSuvvFIoUGzdujUWLFigBFeJiYlKa3JBf/zxh2ZYwOTJkzFx4kTNxbQgCOjUqRO%2B%2B%2B47VKxYsdS26/Xr11GtWjUsXboU3bt31wSSRqMRY8aM0QRkRWWv3rp1q3L/kUcewYQJEwptM8A2tr1t27Z45513MHv27Fsqe5s2bZRAShRFTeu5M5IkYe3atcpjZy2zjpYFwPZ/0rlzZ6etZBUqVEC/fv2wePFit5U13lK3njhrlfcmm7ggCJoA2Vn3/YLUrdft27d3GhStXLlS%2Bc0DAwOxZMkSPPvss4VacStVqoT33ntPGTMqy7LT8XoFiaKIvLw8vPPOO3j11Vc1xyCgcK%2BMgQMHIiYmBk8%2B%2BWSRuRZatmyJRYsWKQFqTk6OUkHjzJw5c2CxWAAAlStXxpIlSzTBNQAEBwfjlVdewWuvvYacnJxC3S%2BdKelt5w1vt/PMmTNx7do1ALaK5ZiYGPTs2bNQr6iGDRti0aJFaN%2B%2BPQDbccbRVbcgk8mEP/74A5MnT0br1q2djj2tXLkyJkyYgI8%2B%2Bkh57ttvvy2y98ju3buxceNG5fFLL72ESZMmaY5Jer0effv2xcKFC2EymXx%2BzC0PZfDWwoULMWfOHHTr1s3pcDI/Pz888sgj%2BP7775XXN27ciEuXLpV2UT02fPhw5f7KlSuLvP5xUHcP79evn09bYjMyMmA0GhEdHY0BAwZo9hvHscRRsQ/Yxtvv2LGj2N938%2BZNzJw5U3l8zz334JtvvinUKFSvXj1ER0dresF9%2Bumnt1wJTncuBtjklUuXLmHixInYsmWL8ly/fv1cJrlKT0/XXATPnDnTZSubwWDA1KlTlYuM2NhY3Lhxw%2Bl7PU3q1KtXL7Ru3RqArcueI3lXQeqLzfDwcLz00ktFLrNZs2Z47rnnPPr%2BkvDVV18p98eNG6esX1HGjBmjjKM6f/48du3a5fY7HMnRitKqVSvNXMQHDx50%2Br6ff/5Zud%2B8eXM888wzRS6zbt26Lrd7Sfj3v//tMomSuryJiYlKq72a46IbgMdJv241SZ63wePevXuVXgRGo9Fpy4S6S6y7/ykHXyb7O3DggDL8ICQkRDMloEPPnj2VxFFxcXE4efKky2Wqg/SDBw%2B6TMpYsBKiqG736t4SL7/8sttkXhMmTFDGap4%2BfbrIyii11q1b46mnnnL7PsDzY6Fer8frr7%2BuPC44DtLBkejJ4eWXX3aZJPH5558vMslgQaWx7bzh6XZOSkpS9jFBEDB79mxN74qCjEYjPvjgA6WCKiYmxmkFhCAIHidCGzBgAJo1awbAdj4umM/CQX0ua9iwIV588cUil3nXXXd5PX7eE%2BWhDN7ydD9q0KCBErhKkqS5JipvevTogSpVqgCwDb9TVwYXVHC/92X3cIcnn3zS5bll1KhRmmvKn376qdjfFRsbq%2BQIMhgM%2BPDDD%2BHn5%2Bf0vUajEdOmTVMqFPLz8wt1KyfyFANsKiQuLg7PP/%2B85jZixAj06tULPXv2VLrFAMD999%2BPDz74wOXy1q9fr1xUFAzIilK7dm0lSMnLy8ORI0duYY1s7rrrLuX%2BsWPHCr0uy7LmYnPYsGEwmUwul/nEE0%2BUSSKMs2fPKomejEaj2y6vgK3lXT3eds%2BePW4/o675Loo6mFR3rXcQRRE7d%2B7ULNNdl%2BJBgwaV2vil0NBQt13gIiIilAsUwPl6qk/ap06d8l0B3VAHgIcOHXLZkqIOwLt06VKotQ6A5n%2B%2BLLprqivjevXq5fRiKCgoCN27d3f6GWeaNGmCRo0aAbDt5%2BpeKgXt3r1b6R7p5%2BfnNHnbiRMnlDGzAQEBHl2E6vV69OnTR3nsyf5XEhe3gG17OLarYwx1Qdu3b1e6ewcGBhY5Dt1Bp9N5dLworW3nDU%2B387p165QW/Xbt2imBriv169dXzj05OTlOzz3ecncus1qt%2BOOPP5THjz76qNtKsCeffNKnQz3KQxlKmnpmEl/8riXFaDTikUceUR6rW6gLWrlypbLfN2vWDM2bN/d5eZ588kmXr%2Bt0Os01zdatW5X9zlubNm1S7j/wwANo0KCBy/fXqlVL0yNL/Xkib3AMNhWSmZnptktO/fr1MXbsWAwYMMDtCfHAgQPK/XvvvdfjcjRq1EhJdHT8%2BPEiE1gBtrGyu3btwrFjx3Dp0iVkZ2cjPz9f0w1anRHZWeKaCxcuaDJlezLOr1q1amjatKkS7JYWdQtO8%2BbNnXZFdkadAduTMntSGaJu%2BXWWwTg%2BPl6TfdiT/4Hg4GA0b95c879TUlq0aOHRdCA1atRAWloaAOdZ89VT5/z444%2BoW7cuHn/88SJry30lKioKTZo0UYL6NWvWOG0pMpvNyrzSQNGJu1q0aIF9%2B/YBAF577TV89NFHaNOmTQmUvLC8vDysX79eeewqaduAAQOUrtyxsbF44403nA4Tcejfv78yVCQ2NrbIbPoFKyGc7Vvq/a9ly5Yet3qp97%2BietGoFXe7JyUlYefOnTh16hTS0tJw48aNQt1CHV2LRVFEWlpaoTwX6oDB03X0ZN8urW3nDU%2B3s7rs3pzLoqKicPjwYQC2466rBI6OqdYc57IbN24UOpep81M4O5fFx8crM3wAUIZcuVK7dm00bNhQSfZ0q8pDGW7V4cOHcejQIZw9exZZWVnIycnR/A7q7uzOfofyZPjw4fj6668hyzK2bduGlJSUQonZZFnGL7/8ojweOnSoz8sRHh7uNukoAM0MMmazGXFxcV5PTwdAk0TR3aw0Dl27dlXOLSdPnoTZbHbb2EJUEANsKpbExETEx8d7VNuszo66adMmjy%2BO1AFxUeOyRFHE4sWLsXDhwkJzE7riLEBSJ2LR6XRo2LChR8uKjIws9QBbvU0TExM9TrCh3kaejHVzlZ3ZQd21seA0PoAtu7GDwWBwOcekWoMGDUolwPZkHQFtRlB1gj%2BH3r17Y968eUhOToYkSZg%2BfToWLFiATp06oUOHDmjdujWioqJKpIWmf//%2BbgPsbdu2KRUgISEh6NKli9NljRw5Ugmwz58/jyeeeAIRERHo3Lkz2rVrh9atW2ta831p48aNyr4ZFhamjF915v7770eVKlWQlpaG9PR0bNu2TdOqXVC/fv3wySefQJZlnD59GnFxcYW6NJvNZiWvAVB0gK8OABISEjze/9Tj%2BTzZ/7yd/icxMRHTp0/H5s2bvcrs7ux4ePXqVeW%2Bu1Yfh4iICAiC4DK/Q2ltO294up3Vx93169d7PMetOiAuquwWiwWLFi3CokWLvDqXORs%2Bpe7F4phdwxORkZE%2BC27LQxmK6/fff8fs2bOdTlNYlKKGsZUX9erVw7333ovdu3dDFEWsXLmyUCXjnj17lOsgf39/j6d99IaraS7VatasieDgYGW7Xrx40esAOysrS7MvOXoxuaM%2BL5jNZiQlJflsujC6czDApkLat2%2BPJUuWKI9FUURSUhJOnjyJRYsW4cCBAxBFEdHR0RBF0e2UT%2BoD3NmzZ3H27Fmvy%2BTs5GWxWPDSSy8Va%2ByTs7lO1a2vgYGBHtdYuhqDV1LU2zQ1NbVYSUDcXRDo9Xqvx9Y6u7BWX7wHBQV53KXe01b5W%2BWq1bMoztYzMDAQX3zxBcaMGaOM0c7OzsbatWuVMb2VK1dGly5dMHToUJ%2B2Cvfr1w8ff/wxJElCfHw8Tp48WSgvgmMaMgB46KGHimxZ79GjB1555RV8%2BumnSpCWkJCAhIQELF68GIIgoFGjRnj44YcxfPhwjysoPKHu6t2vXz%2BXlREGgwF9%2BvRRjlWrVq1yGWDXqlULbdq0UVohY2NjCwXYW7ZsUf5fQ0NDi2zxUO9/jrnNveUsqFXz9/f3qGeFw4kTJzBy5MhC89V7wtnxUF0%2BZ0MJnDEYDAgICNC0XBZUGtvOG95sZ3XZz5w5U%2BS81a44O%2B6azWa8%2BOKLxTqOO/vt1P8DFSpU8Pg47stzWXkoQ3F89tlnhZK4esLT%2BdPL0qOPPqrMIPDLL78UCrDVXcd79epVIudgb37f0NBQZX8pznGtYI86T6ZndPa%2BzMxMBtjkNQbY5JbBYEDt2rVRu3ZtdO/eHVOmTFGSVi1atAgdOnQocn5PwHlrn7ectcYsXLhQE1zfc889GDhwIFq2bImaNWsiKChIE0TMnTvX5XQP6jE%2B3gRdZdF1qKS2aUm4lbme/2maN2%2BOdevW4dtvv0VMTAwSExM1r6enpyMmJgYxMTHo1q0bPvroI49P%2Bq6EhYWhbdu2ypCK2NhYTYB948YNTWIbdy0TY8aMQefOnfHVV19h06ZNmv83WZYRFxeHuLg4REdH4%2BWXX8bIkSNveR2SkpI0ifeWLl3qcqwgoL2o3bJlC65fv%2B7yAq5///5KgP3bb7/htdde0wTx6uzhDz/8cJH7tqsA0lPu9gtvcjuYzWZMnDhRuQj19/fHwIED0blzZzRo0ADVqlUrFEjee%2B%2B9LltKS2q/LY1t5w1vtnNJHXf/%2B9//aoLrdu3aYcCAAWjRogXCwsIKnctmzpyJRYsWFfkd5eFcVh7K4K1du3Zpguvw8HAMGzYMbdq0QZ06dVChQgX4%2B/srx4wtW7YoGe7/CXr06IHKlSsjPT0d58%2Bfx969e5VeQllZWZreOyWV/6G4/wvFqcAo%2BBlPv7vg/%2BA/ofKEyh8G2OQVQRAwZcoUHDlyREmA9J///Afr168v8sQYEhKi1CTOnj3bJ92ORFHEN998ozx%2B5pln8NZbb7n8zM2bN12%2Brp7eyt17vVluSVC3KA0bNgzTpk0r9TJ4Sl3WmzdvQps9zfMAACAASURBVJIkjy5qfdlKVZqCg4Mxbtw4jBs3DgkJCdi3bx/27t2rSZ4F2LI3jx49Gj/99JNPsnAPGDBACbB/%2B%2B03vPHGG8qF4O%2B//650369Ro4bLrtcOTZs2xccffwyz2YzDhw9j//792Lt3L/bv369cPOfm5mL69OnQ6/W3nAH4119/1cyh7O1%2BZbFY8Ntvv7lMoNO7d29MmzYNFosFV65cwYEDB5TxsNnZ2ZpKCFdJvdT/00899RTeffddr8rqa%2BvWrdN07fzxxx/dJidyF%2Biq19FZbgVnRFF0G4SWt23njQoVKij78Pz5891OT%2BkJs9mM7777Tnn8r3/9S5Pl3Zl/wrmsPJRBzZMK5S%2B//FK53759eyxcuNBlss2yOPffCpPJhEGDBimVMytWrFDOBbGxsco5on79%2BmjXrl2JlKG4/wvFaU0v%2BBlPv7tgLxNPe/AQqTGLOHnNaDRqLoouX76MpUuXFvl%2B9XhNb8Y0uXLs2DHloi8wMBCvvfaa2884m1pJTT11mNls9rjrYsFWytKgLquvtmlJUSdPEkXR4/I6y9T9TxMREYHhw4djzpw52L59O7777jtNgqOjR4%2B6nbvaU%2BoW12vXrinjqAFt4q6%2Bfft61WpnMpnQvn17jB07FosXL8bu3bvx3nvvaVqKP/30U6fj772hnvu6uNxlEy/Y7Vu9XTZs2KBk065Zs6bLRFTq/e/8%2BfPFLK3vqOeYHzJkiNvgOiMjw22rTM2aNZX7nu6LCQkJbluXy9u280ZJHHcPHjyoVHaEhoZi4sSJbj/j7lymPudmZ2d7XEHiy3NZSZZB3RLpaXZpd99vNps1SewmTZrkdiYLd79DefToo48q9zds2KBUZKt7C5VEcjMHV1MkquXl5SlJRQEUK%2B9HaGiopvLa0/9vdT4eAC6nlSUqCgNsKpZ27dppsoJGR0cXeYGtnsrCk7mXPaFOwNOoUSO3mZplWXY71VeTJk00gYcn025IklTqCc4AbXbvw4cP%2B6TbZUmJjIzUJEJztLK6cuPGDY%2B2q/r3Ku9d0QVBwL333ouvvvpKk/BHPYXZrSiYuMwRPKampirj7gD33cPdCQ4OxhNPPIG5c%2Bcqz2VnZ2uytXrr6NGjmsRGGzduVLqhu7tt3LhR%2BdyxY8fc5nhQt0yvX79euUBXdw93N/674NzvZd2FUJ1I0N2c0gA8Ss6lXs6xY8c86h7tyb5d3radN9RlL4lzWePGjd12Y5UkyaNzmZon5zJRFH06vWBJliEoKEi572ngXtR84Q4pKSnKsUCv13s0PZWnSe58SX1cKs45r379%2BkqrdV5eHmJjY3HixAkl%2BazBYNBM6eVrp06d8mifP378uKZHU8GcIp4wmUyIjIxUHns63av6fWFhYU4D7Fv9Hej2xwCbik2dqTg1NRXLli1z%2Bj51IH7w4EGfzK2rrrX2JCvzrl27cO3aNZfvCQoK0hzEHYmpXNmzZ4%2BmlrW0tG/fXrkQM5vNblvuypLBYMB9992nPF62bJnbE9Kvv/7qUYuoOnCXJOkfcbEeEBCgmXIuNTXVZ8tWB48bNmyA2WzG2rVrlQuVyMjIYl2oONOxY0fNFEu3sh6rVq1S7jdv3tyrhDJ169bVXAy72xe6deumdF%2B9fv06tm/fjuTkZM3cyu7mfO7QoYMynjknJ8cnre%2B3Qj0FlyfHQ/X2LkqnTp2U1p%2BcnBxNa78zkiQpuTlcKW/bzhvq/XbPnj2a7ODF5e1vt3XrVk1GdWcqVaqkCSw8OZft2LGjWImkyqIM6l5R6enpbo89V69excmTJ12%2Bp%2BA0du6kp6dr5vkuLepjbnF7DalbsVesWIHly5crj7t27erTxJUF5eTkYNu2bW7fp/5/CQ8PR/Xq1Yv1feqeSOvWrdME7c7IsqypbC2qJ5Mvfge6vTHApmJr27atZiznV1995TTAefDBBxEREQHAdvB67733bjkQUh9s4%2BLiXI6tMZvNmDFjhkfLVbfurV271mWttyRJ%2BPTTTz1arq%2BFhoZi0KBByuP58%2Bd73PWqLAwfPly5f/z4cU2W%2BoIuX76Mzz77zKPlVqxYUdPio54aprR5U4ut7nEQGhrqszJ06dJFGS%2BWmZmJbdu2aQIjd63X3qyD2WzWXKwUN/uv2WzGb7/9pjwuzrhW9WdWr17tcryln58fHnroIeXxmjVrsHbtWuUzjRs3LpRdvKCqVauiT58%2ByuN58%2BaV6Ty46vlsDx486PK9u3fv1syHXpQaNWpoutPPmzdP09pa0OLFiz1qfSxv284b3bt3V6b0slqtmDJliteBWUHq3%2B7EiRMuL9bz8/Mxa9Ysj5Y7cOBA5f6vv/7qsjLAarVi/vz5Hi3XGyVVhho1ami6DG/YsMHl%2B%2BfPn%2B82sKpSpYpSwWG1Wt22ds6aNatMKnTVwW9xz3cPPfSQklzz%2BPHjJT73dUGfffaZy/3m0qVLmqD/VlrUhwwZoty/fPkyfvrpJ5fvX7Vqlea6r6jt4YvfgW5vDLDplqhbsZOTk51m/dXpdHjjjTeUx4cOHcKYMWPctvzm5uYiJiYGzz33XKHXWrVqpYw3zcnJwcyZM50GBzdu3MCECRM8bjUfMmSIcuC0Wq0YN26c04tKq9WKqVOnlkkXMYexY8cqwdn169cxYsQIt92qJUnCn3/%2Bieeff77QOKOS1KVLF00r9vTp0/HZZ58VqhjZuXMnnn76aWRkZHiUXdtgMGjmtvz2229LLTt6QRMnTsTChQvdztF77NgxrF%2B/Xnnsy2QyJpNJE2x%2B%2BeWXStdtQRDQt29fl5%2B/dOkSnnrqKfzxxx9uL0jnz5%2BvjFk2mUy46667ilVmR/Zvh%2BIE2A8//LByPykpSTMm2Rl1RcPmzZs1F5juWq8dXnrpJaUlPDU1FSNGjHB7nLFardi2bRueeeYZnwaV6orOlStXFhlkHzp0CBMmTPC4IuX1119XKrDS0tLw9NNPF%2BoafePGDcybNw%2BzZs1CYGCg2%2BE6QPnadt4wGAyaBGR79%2B7FuHHj3O7zOTk5WL58eaFpkQCgdevWSot%2BdnY25syZ43QZ2dnZGDt2rMfj4YcNG6ZUelksFowdO9bpdhNFEe%2B%2B%2B26JDHUqyTL06NFDuf/5559rhkmoRUdHIyYmxu3ygoOD0axZM%2BXxjBkznA69kiQJc%2BfOLbNeY%2Boybt68uVjncUeyMwfHcbxGjRro1KnTrRfSjVOnTuHtt992On4%2BNTUVY8eOVcoUGhqKxx57rNjf1bx5c806zZgxQ5PMUm3Pnj34z3/%2Bozxu3bo1Onbs6PS9vvgd6PbGLOJ0S%2B677z7cfffdOHz4MADb1FnDhg0rNI6se/fueOGFF5QsnTt37kT37t3Rt29ftG/fHtWrV4der0dWVhYSEhJw9OhR7NixAzk5OahRo0ah7w0MDMTQoUPx448/ArB1O46Pj8fQoUNRt25d5OTk4NixY/j555%2BRlJSEoKAgPPjgg24TSoWEhODtt9/GK6%2B8AsCW7KJ///54/PHH0bZtW/j5%2BeHcuXNYvnw5Tpw4AT8/P9x///3YvHnzLW9Lb9WqVQuzZ8/G2LFjIYoiEhMTMWTIEHTp0gWdOnVCvXr14O/vjxs3buDy5cv466%2B/sH37diV5W2mPG5o2bRoef/xxJCUlQZIkLFiwAF999RUaNWoEf39/XLhwQbn4uueee9C2bVtER0cDcD11S79%2B/ZQLs2XLlmHz5s3KMh369%2B%2BP3r17l%2BDa2cbwzZkzB/PmzUOHDh3QunVrNGrUCBUrVoQgCErgFxsbq7R81K5dG/369fNpOfr376/U/qvHRd9zzz1K61tRZFnGvn37sG/fPmXO7hYtWqBOnToIDg5GXl4ezp07h99%2B%2B01TufTUU09psgZ7Q32h2rhxY834dE/Vq1cPTZo0UVpQV65cqRmaUtC9996L6tWrIzk5Gbm5uUqLhSAIHv8e4eHhmDFjBiZOnAir1Yrz589j0KBB6Nq1Kzp16oS6detq9r9jx45h27ZtSsWiL/e/gQMHYv78%2BcjMzITZbMYzzzyDRx99FPfffz9CQkKQlJSEzZs3Ky31PXv2xL59%2B1xO0wXYhhS8%2BeabmDp1KgBbBczIkSNRs2ZN1K1bF3l5eYiLi1Muht99913MnDlTU/HiTHnadt7q3bs3Dh8%2BjMWLFwMA/vjjD3Tr1g39%2BvVDu3btUL16deh0OmRlZeHcuXM4fPgwdu7ciby8PISHhxdaXmhoKAYOHKhU8ixZsgRxcXEYMmQI6tSpg5s3b%2BLw4cNYvnw5UlJSEBoaig4dOrhtta1UqRLefPNNTJ48GYAtUd2AAQPw2GOP4Z577oHJZMK5c%2BewbNkyxMXFISAgAPfee69Puz2XZBmeeeYZxMTEwGKxIDU1FYMHD8bIkSOVnC/nzp3Dr7/%2BiiNHjiAkJARt27bVTOvpzIgRI5SyHj58GIMGDcITTzyBpk2bwmq1Ij4%2BHjExMUp386FDh7qdStDXOnfujJCQECVxXO/evdGsWTNUqVJFyUni7%2B%2BPTz75xOVyhg8frpmJBQAGDx7skxktXOnUqRMOHjyIVatW4fjx43j00UcRGRkJi8WCQ4cOYenSpZoKq8mTJ99ykrFp06Zh4MCBuH79OsxmM1544QX07t0bPXv2RLVq1ZCWloYtW7Zoej8FBgZi%2BvTpRS7TV78D3b4YYNMte/HFF/HCCy8AsCXbWbVqldM5FF999VVUrFgRs2fPhiRJyM3NxYoVK4p9gnrttdewf/9%2B5eL4wIEDOHDgQKH3%2Bfn5YdasWR4lWQGAPn36IDExER9//DEAW8tBdHS0Euw56HQ6TJkyBZcuXSqTABuAMlfxyy%2B/jOvXr0OWZWzZssXthURZqF27NhYvXoyJEycqv1leXl6h5FgdO3bEJ598goULFyrPuZqi46mnnsLmzZuVrNkpKSmFMsC3aNHCV6vhliiK2LFjh2ZeW2eqVq2Kzz//XJOwxxfat2%2BPsLCwQjkHPG2ZdVDP2e1Kjx49lAopb6WlpWH79u3K41uZ9ujhhx9WAuyNGzfixo0bRQb9Op0Offv2LXSB2a5dO032bHd69uyJL774Aq%2B%2B%2Biqys7MhSRI2bdqETZs2FXs9iiMkJAQzZ87E%2BPHjIYoizGYzlixZ4nQoRtOmTTF9%2BnRNC6ArjmnP1IHz1atXNT17jEYjJk2ahMGDB%2BODDz7QlKso5WXbFcebb76JSpUqYd68eZBlGTk5Ofj55589GoPuzL///W8cOnRIaZ3eu3ev04RxAQEBmD17tiZpoSuDBg1CYmKiMuTm%2BvXr%2BOKLLwq9z2AwYOrUqTh58qTPxxWXVBkaNmyI119/XQmCMjIyNIkXHfz9/fHxxx9j9%2B7dbs%2BLgwYNwrZt25QhKxcuXCgyyHrppZfQvHnzUg%2BwAwMD8cEHH%2BCNN96AxWKBKIqFzqHq8cFFadCgAdq1a6ecNwVB0HSnLinh4eEYMmQI3njjDZw5c8blFKMvvviiT8oUFhaGb7/9Fs899xzS0tIgyzLWrl1bZF6A0NBQREdHK0MbnfHV70C3L3YRp1vWpUsXTZKh6OjoIsfXPPfcc1i9ejX69OnjslUSsJ1AX3jhBXz77bdOXw8ODsaPP/6IAQMGFDntUOvWrfHzzz97fDHpMHr0aHzxxRdFtvhFRETgq6%2B%2BKpXxSu507NgR69atw6hRo9yOg61WrRqGDBmC77//HvXq1SulEv6tQYMGiImJwX/%2B8x%2B0b98eVapUgclkQq1atdC5c2fMnTsXX3/9NSpXrqwZQuCqu7jJZMLixYvx0UcfoUuXLggLC3M7vUpJeOGFF9CnTx%2B3XdsdWbhjY2MLZdr1BWddwY1Go6YbdVGqV6%2BO1157DW3atHGbzbhBgwb48MMPsWDBArf7clFiY2M1xwpPylgU9Wfz8vLc9lZxVuHgbSUEYMsxsX79ejz77LNu50utUaMGhg8fjh9//BFhYWFef5crXbt2xaJFi9CgQQOnrwcFBWHEiBFYtmyZ13PKPvnkk1izZg2effZZNGzYEIGBgQgKCkJkZCSefvpprFq1CiNGjEBubq7SrVYQBLf5BcrLtiuOMWPGYNWqVejVq5fb//%2BoqCiMGTMGX3/9tdPXK1SogKVLl6Jv375OE50JgoB27dph%2BfLl6Ny5s1flHD9%2BPBYsWKBJDKYWGRmJRYsW3fLsAmVRhpEjR2LGjBlFtnDefffd%2BPnnn73aZnPmzMH48eOLDI7q16%2BPBQsWYPz48V6V1Zd69%2B6NlStX4qmnnkLTpk0REhJSrJZnda6Jjh07epVc8lb07t0bixcv1gzvUgsLC8Onn36Kl19%2B2Wff2aRJE6xZswaPPvpokdcHJpMJgwcPRmxsrGbGgKL46neg25MgM788lZG8vDwcPHgQiYmJSlfFkJAQ1K1bF40aNfIqa2RSUhL27NmDa9euwWg0olq1amjVqtUtnzBkWcbBgwdx%2BvRpZGVloUqVKoiKitJMPVaeOKYNO3PmjDLXbXBwMMLCwhAZGemyRra86d27t9Kis3jx4iLHQpVHCQkJOHv2LK5cuYKbN29Cr9cjNDQUDRs2RMuWLT0ap1rW8vPzcfLkSZw/fx5paWnIy8tDYGAgqlWrhqZNm6Jhw4ZlXcRyx2q1avY/URQRFBSEmjVrIioqqlQqtSRJwtGjR3H8%2BHFkZ2cjNDQUtWrVQvv27TVZ90vC3r178fTTTwOwddv3JJmaQ3nYdsWVm5urOZcJgoCQkBCEh4ejcePGXmVlvnr1Kvbs2YPk5GQYjUZUr14drVq1cju8wx1ZlnHgwAGcPn0aN27cQJUqVdCoUSOPpnXzFU/KMHPmTCxatAiArWJnypQpbpdrNpuxb98%2BnD17Fnl5eahWrRpatGiBqKioYpc1Ozsbe/bswcWLFyGKIqpXr64cv28HFosFnTt3Viqy586dq0k%2B6EuuftPjx48jLi4OqampCA4ORlRUFNq0aVNko4kv5OXlYe/evUhMTERWVhZCQkKUY6Sve5TRnYsBNhGVO4cOHVISmxiNRvz5559uW7iIqGxNnjxZmQJs4MCBHme8JnIoToBN3lu/fj0mTpwIwNZDbNu2bcXuieQOf1O6E7GLOBGVKzdu3MC7776rPO7evTuDa6Iy4mkd/JYtWzRzWt/K1DpEVLLUwxWGDBlSYsE10Z2KATYRlYqbN29iwIABWLp0KZKTkwu9LooiNm7ciCFDhuDMmTMAbK3XjgR6RFT6lixZgjfeeAM7duxwOu9vWloa5s2bh/HjxyvBeJs2bdChQ4fSLioRuSHLMr744gslIZfJZMKIESPKuFREtx9mESeiUhMXF4f3338f77//PsLCwlCrVi34%2BfkhOzsb586dKzTv6KuvvqqZb5KISpfFYsHq1auxevVqGI1GREREoFKlSpBlGcnJybhw4YKmlbtKlSqYOXOm02RdRFT6tm7dimXLlkEURZw9exaJiYnKayNGjHA6FSoR3RoG2ERUKgpecF%2B7dq3QVFIOISEhmDx5stPp3oio9KiTDVksFmWKPWdatmyJuXPnllo2YiJy79KlS06nv7v77rvx0ksvlUGJiG5/DLCJqFQEBgYq89weOHAAZ8%2BeRVJSEnJzc2EymVCxYkVERUXhvvvuw%2BDBgznumqgcGDFiBJo2bYrt27fj6NGjuHTpEjIyMmCxWBASEoKqVauidevW6Nmzp9dTSBFR6TIajQgPD0efPn0watSoMpnSkuhOwCziRERERERERD7AJGdEREREREREPsAAm4iIiIiIiMgHGGATERERERER%2BQADbCIiIiIiIiIfYIBNRERERERE5AMMsImIiIiIiIh8gAE2ERERERERkQ8wwCYiIiIiIiLyAQbYRERERERERD7AAJuIiIiIiIjIBxhgExEREREREfkAA2wiIiIiIiIiH2CATUREREREROQDDLCJiIiIiIiIfIABNhEREREREZEPMMAmIiIiIiIi8gEG2EREREREREQ%2BwACbiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkAwywiYiIiIiIiHyAATYRERERERGRDzDAJiIiIiIiIvIBBthEREREREREPsAAm4iIiIiIiMgHGGATERERERER%2BQADbCIiIiIiIiIfYIBNRERERERE5AMMsImIiIiIiIh8gAE2ERERERERkQ8wwCYiIiIiIiLyAQbYRERERERERD7AAJuIiIiIiIjIBxhgExEREREREfkAA2wiIiIiIiIiH2CATUREREREROQDDLCJiIiIiIiIfIABNhEREREREZEPMMAmIiIiIiIi8gEG2EREREREREQ%2BwACbiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkA4ayLkBZkmUZ6ek3IUlyWRfljqPTCahcOYjbvwxw25ctbv%2Byxe1fdrjtyxa3f9nhti891aqFlHURiO7sFmxBEKDTCWVdjDuSTidw%2B5cRbvuyxe1ftrj9yw63fdni9i873PZEd5Y7OsAmIiIiIiIi8hUG2EREREREREQ%2BwACbiIiIiIiIyAfu6CRnRET0TyYDyIFOlwFByIQg5EIQzADMEIR81d98%2B/P50Ot1AIJgMkn2%2BwYABsiywX5fD1kOgCxXgCyHQJJCIcsVAPiV0ToSERHRPwkDbCIiKjcEIRs63VXodFfsf69Cr78GQciATncdgpABQbiuum8p1vcEBXn3fln2gyyHQJZtAbckVYQkVYckhUGSathvf9%2B3BeVMaERERHSnYYBNRESlRIYgJEOvT4Bef87%2B96ISUOv1VyEI2d4vVdZDlkMAmCDLJgBGyLIRtlOc477jsQCjERBFC2RZBGCFIFgB/H0ThHwIwk0IQg4EIQcA7M/lA0j1sEwB9oA7HFZrvQK3%2BpDl6mAATkREdPthgE1ERD4k21ud46DXn7UH0Y7beQjCTfdLkIMgSVUgSVUhy1UgSZXsrcdB9r/BkKRg5T7gD0%2BDVb1egNEYgNzcXFitnsxHa4Ug5ALIsQfcN%2B23bKUVXafLsHdTT4dOl25/PVdZb6PR2ToGwGoNhyTVg9UaCVFsBKu1EUQxisE3ERHRPxgDbCIiKgYRev156PWnodfHwWCIg15/GgZDnMtWaFnWQZarQ5Jqwmqtae9mXcUeSNtuQEDprYZbensQHwzZk3gcAJBnD7jToNMlQ6dLgl6fDJ3uGnS6axCEVAhCLgyGOABxAP6n%2BbQkhcJqjYLVGqUE3lZrE1itDQDofbp2RERE5FsMsImIyAVbi7TB8Bf0%2BuMwGP6CwXAcen28PXGYk0/IekhSLUhSbXsQHWa/2QJqW3ft25k/JKkmgJqwWp29boFOl6oE3Lbu8YnQ6y9BEJKg02VCp9sPo3G/5lO2Vu8mEMXmEMVmEMUWEMXmkOVqpbFSRERE5AEG2EREZJcDg%2BEkDAZ1IP0XdLoMp%2B%2BWZT9IUl1YrbabJNWx/62J2z%2BIvhVGe2VDTSevme0B92XodImqv%2Bftrd6HYDAc0nxCkqpDFJvDam0Oi8X2VxSbwNZ1noiIiEoTA2wiojuOBJ3uoiaQNhj%2Bgk53FoJQuB%2B0rUW6DqzWCCVRlyTVs7dG60q/%2BLc1EySpPiSpfoHnrdDprtm75V%2BAXn8BOl2CPdt6MkymZABbEGDvXS/LOlitkfZg%2B%2B%2BbJIWDvxkREVHJYYBNRHQbE4TrMBhO2Lt3O24nihwnLUkVYbU2gNVa3x5IR8BqrQvAVLoFpwL0kKTakKTasFjuVz2fZw%2B4zyt/bYF3FgyG0zAYTsPPb6XyblkOUXUvb6F0MweCS32NiIiIbkcMsImIbgsW6PXx9hbpE/Yx0yeg119y%2Bm5ZNtozWNfX3GS5UimXm26NP6zWxrBaG6uekyEI6fagWx14X4QgZMNo3AOjcc/f75YFSFIDeyt3C4hiS3trdz0wmzkREZF3GGATEf2jyPauwuoW6ePQ6%2BOKTDomSdXs3bvr27t4R0CSaoOngNuVAFmuAlGsAlFso3pehE53WZkyzXY7B50uzT6l2ln4%2Ba1W3i1JFVRdzFvag%2B9mAIJKfY2IiIj%2BKXh1RURUTglCpn0KrFOqpGPHodOlO32/Lcu0OpCuD0mqB1kOKeWSU/lksI%2BdrweL5e9nbf9n5%2Bwt3ba5u3W6C9DpsqDT7YLRuEt579%2Bt3S0hik0gik3tU4g1BIcREBERMcAmIipjsn2e5DhlPmmDwTa3tE53zfknZJ096Zija3c4JCmCSceoWGQ5FKLYGqLYWvWsaM9efq5Aa3eGqrVbvQwDrNaGsFqbQhQb26cTa2oPvP0KfiUREdFtiwE2EVEpEARbYGI0ngdwEUFBpyAI8dDrz0Cnyyzyc5JUFVZruL01OtzeQl0XDFqoZBmUbOba1u4Me7CdAL3%2BEnS6S9DrL0AQcuyVQ3EFAm%2B9PfBuAklqCuBu6PUREEUG3kREdHtigE1E5BOO8a0XodNdtHe3PWe/nS00l7RJ1ZvW1iJdU5lTWpJqK3NLc7wrlSeyXAmiWKlAa7cMQUi1/88n2gPvC9DrL0IQbirZzAHb%2BO4KFRz/8w3srdyNIIoN7YF4Q8hyNTC5GhER/VMxwCYickuGIFyHTncVOt0V6PVX7EH0RXswcRE63RUIgtXlUiSpCmS5NvT6usjPrw5RDIPVWgeSVAscv0r/XAJkuRpEsRpEsa3qeRmCkKbsJ3r9JZhMiZDlBAjCDej18dDr4wstTZZD7FPFNYQoNlACb1vwXRUMvomIqDxjgE1EdzDbdEY6XSp0umT77Zo9kL4Kvf6qElQLQq77pclGSFINSFJ1yHJ1WK01IUk17X9rAfCHXi8gJCQAZnMurFa55FeRqMwIkOWqEMWqEMV7oNcLMJkCcONGDiQpTdXb44p9f7sMQUiCIGTDYDgCg%2BGIprs5YMtsLkkNYbU2sLd6OwLwSMhyZTD4JiKissYAm4huIxZ7wGy7CUKa/a/juRTVLRmCkAJB7MwXlAAAIABJREFUED1euiRVgCxXgSRVhSRVswfTVe1/a0CWK4JJxojc%2BXsaMaB1gdcsqp4iV%2B1T0l22V3Il2zObH4LBcMhJ8F0RkuTIoh%2BhutW3T0unL6X1IyKiOxkDbCIqp/Kh06Xag%2BSCgXKa/X6Gct/2OKtY3yTLwZCkSpDlSvaL9CqQ5cqQpMqQpKr2oLoymJSJqKQZIUnhkKRwiIXqvswFgu%2Br9tbvy/ZKs%2BtK8F2QLJvsSQIbKHPB2%2B5HwGqtByCwNFaOiIjuAAywiagUSPYxzGmqgDkNgpBqv5%2Bqei7NHljfKNY3ybIAWQ6BLFdQ3ULsrc8VIMuhkKSKkOWK9qA6FIDRt6tLRCXApMzjXTj4zlcN7UiyD/W4Bp3uCnS6JAiCucgx3wAgSWGqOeQjNDeO%2ByYiIm8wwCaiW5BbYKyy%2Bn6SKlhOd5sAzBlZ1kGWQ%2B23CkrgLEkh9vuOwFkdUAeBXUGJ7jR%2ByrRihYNvqz3Z2t/HJlvXc0d%2BhZtKQG407iq0ZFvStfpOAvAGkKS64PGGiIjUGGATUZEEIRN6/Xn7lDvn7bcL9i6ZVwtNPeWOLAfZA%2BK/g%2Ba/W5YrqF5z/A0CW46I6NboIcvVIYrVAbQq9KogZCsVhNrg%2ByoEIdWedO0YDIZjhT4ry372JGtREMUoWK1/32y9Y4iI6E7DAJvojncTBkMc9PpT9r8J9iD6vEcBtCz7qcYp28Yq28YvV7J3x/47aGZXbCIqb2wt1CGwWhs5edVsD7odCdeSVF3Pr0IQ8mEwnIDBcMJJ0rXq9jm%2Bm0IUm0EUm8FqbQJZrlQq60VERGWDATbRHUIQsqHXx8FkOg3gLIKDj0KnOwW9/oLLz9mSftVUMmXbbtXsicCqsJWZiG5jJkhSXXtX8IKs9qn9Eu2Zzi/b/ybac0rYpv4zGndoP2WtBau1mRJ4W622v4B/qawRERGVLAbYRLelHBgMx2A0HoDBcBBG48FCyX2MqsZkSapkz7BbF5JUC1ZrDUhSGCSpBoCA0i06EdE/gt5e%2BVgTotiuwGs59mD7IvT6S9DrL9iH2yRDr78Cvf4KTKaNyrtl2WAPtFvBYmkFUbwbotgCQFCprhEREd06BthE/3iifXzgQRiNh2AwHIRef9JpUjHbtFP1YTBEIC%2BvJiwWW8sMxwoSEflSoDIW22JRP3/THmxfUAJvne4cdLosZZy3v//3AGxJHm1dzFvZA%2B92EMVWYEs3EVH5xgCb6B9HhMFwBEbjdphMO2A0/ul0SitJqmy/OIuC1RqpJN3R6wWEhATAYsmF1SqXQfmJiO5UQbBam8FqbaZ6ToYgpMBgOAu9/iz0%2BnPQ6%2BOh06XBYDgFg%2BEUgGW2d8pGe8DdHhaL7SZJdcpkTYiIyDkG2ETlnhUGw1F7QL0dBsMu6HRZmnfIcjBEsbG9xSQSohgFWa4Cjo0mIirvBMhydVgs1WGxdPz7WSHdHnCfhcEQD73%2BFHS6DBiN%2B2E07kdAwOcAbGO6/w64O9pbuXl5R0RUVngEJiqHBCEFJtP/4Oe3DkbjVuh0mZrXbQF1S4hiS1gsLSFJ9QHoyqSsRETke7JcGaJYGaLYDvn5ACDbM5nbZnwwGE5BpztnH9O9Cn5%2BqwAAklQBotgRZnMnWCydIIp3gXN1ExGVHgbYROWCDL3%2BBPz81sFkWgeDYT8E4e/u27IcZA%2BoW0AUW8JqjQAvmIiI7iSCklTNYulqfy4PBsNp6PVx9u7kx6DTZcFk2gCTaQMAQJJCYbHcB6v1QQC9ADQEezcREZUcBthEZcYMo3GHPaheX2i6LFtynPawWNrCam0IBtRERKTlD1G8C6J4l72V2wq9PsGeMO0ve8CdCT%2B/dQDWAXgToaGVYbF0QX5%2BT1gs3SFJYWW7CkREtxkG2ESlygqjcTv8/VfAZPpV0/XblrymNSyWdrBY2kOWq5ZhOYmI6J9Hb09qGYn8/EdgC7jP2adtdATc6fDzi4GfXwwAQBRbwGzuAbO5ByyWDgBMZboGRET/dAywiUqcDIPhIPz8lsPfPwY63TXlFUmqBFG8F2ZzW4hia3D6FSIi8h29Ml2YKA5BSIgJN28ehl5/wD6l42l7S/dfCAycB1kOgtn8oD3g7s0M5URExcAAm6iE6PVn4Of3M/z9V0CvP6s8L8shMJsfgMXyIESxBZicjIiISocektQMFktTAE9BEDJhMByC0XgIBsMB6HQZ8PNbZ%2B9S/hpEsRXy83vDbO5jz07OsdtERO4wwCbyIUHIhp/fzwgI%2BA4GwyHleVn2g8XSAWbzgxDFNgCMZVdIIiIiALIcCoulCyyWLgAk%2B/jtQzAa90GvPwGD4QgMhiMICpoBq7U2zObeyM/vA4ulEwC/Mi49EVH5xACbyAcMhkMICPgGfn7LIQg3AQCyrIco3gOz%2BUH7uLbAsi0kERFRkXSwWhvCam2I/Pyh9tbtfTCZ9sFg2A%2B9/jICAr5CQMBXkOVgmM09kJ/fH2ZzL8hyhbIuPBFRucEAm6iYbK3VKxAQ8A0MhsPK81ZrXZjNvWA2d4Msh5ZhCYmIiIrH1rrdAxZLDwBmGAxHYDTuhdG4BzpdGvz8bHNvy7IJZnN35OcPhNncG7JcqayLTkRUphhgE3nJYDgCf/9v4O//MwThBgBbBnCL5QHk5/eC1doCHKdGRES3DxNEsR1EsR1yc1%2BEXn8WRuMuGI1/Qq%2B/pIzblmUDLJauyM8fgPz8fpDlKmVdcCKiUscAm8gjVphM6xAY%2BBmMxl1/P2utA7P5YbZWExHRHUKnZCbPy3saOt1FGI1/wmTaCb0%2BASbT7zCZfkdw8Mv2iudHkJ8/kME2Ed0xGGATuXQT/v4/IDDw/5RM4LYa%2BgdgNj8EUbwLbK0mIqI7kwBJqof8/HrIz38cOl2iKtiOh8m0FSbTVgQHvw6LpRvy8obCbO4LWQ4p64ITEZUYBthETuh01%2BDvH42AgK%2Bh02UAsE2vlZ/fB/n5fVkTT0REVIAk1UF%2B/nDk5w%2BHTncVRuNOmEzb7cH2/2Ay/Q%2ByHACz%2BWF7sN0TgH9ZF5uIyKcYYBOp6PXHERi4wJ4N3AwAsFprIj9/EMzm7gACyraARERE/wCSVBP5%2BUORnz8UOt2l/2fvzgNkKet7jX%2Brqrt6GzgeFi8KJiqIxg30KgZ3iKhhMShiXKJecV%2Bi1zWuN4o74BYUFEERTKJGgwsSozF6WAVRQHFBQMRINCLCma23Wu4fMw195sycUzNd1e/7Vj2ff4Th2P2r6uqe9znVXa0wPF/1%2BhYFwU1qNM5Ro3GOkmRXDQZHqdd7qobDx4hlKYAy4JUMkFSrXaZO5wSF4Tdv/1kU3U/9/l8tf8VWYG44AAAcliR3U6/3LPV6z1QQXKd6/XyF4QXy/ZvVbP6jms1/VJLsqX7/aPV6xyqKDpLkmx4bADaEwEal1WqXLIf1tyVJaeorih6hXu9oxfF9DE8HAECZeGMXSHueguCnCsMLVK8vxXar9Um1Wp9UHN9N/f4x6veP4VonAJxDYKOCUtXrF6rdfr/C8Pyln6TB8vd4Hqskuavh%2BQAAKDtfcXx/dbv3V7f7QtVqVy7H9tJXf7XbH1a7/WFF0f7Lsf1UxfG9TA8NADtFYKNCUtXr31Wn837V6xcv/SStaTB4vPr9Y5QkexmeDwCAKqopih6iKHqIpJepXr9cYXi%2BarXLVKv9QrXae9XpvFdR9GD1ekuf6%2BZ3NgBbEdiogFT1%2BrfV6bxP9fplSz9J6xoMnqBe7xil6Z0NzwcAAJY0NBw%2BQsPhIyQtql7/3nJs/1C12g81M/NDdTpv1XD4aPV6T9NgcJTSdJPpoQHgdgQ2Sq1Wu1QzM29XvX6RJClNQw0Gh6vXe7LSdA/D0wEAgLW1NRwequHwUHneVtXrFyzH9k8Uht9VGH5Xafrq5b8wf5oGg8eLr/0CYBqBjVIKgp%2Bo0zlejca/SVoK637/CPX7T1Ga7mZ4OgAAsB5pukmDwZEaDI6U7/9u%2BUrk31UQ3KhG46tqNL66/LVfT1Kv9zQNh48S3wACwAQCG6Xi%2Bzeo03n38vdYp8sXLztMvd7TlaZ7mh4PAABMKEn2Ur//NPX7x8r3f6Uw3KIw3CLf/72azc%2Bq2fyskuR/qdc7Rv3%2B0xRFDxJXIgcwLQQ2SsH3f6d2%2BwQ1m2fK8yJJ0mDwaPV6z1KS7GN4OgAAkD9PSXIP9Xr3UK/3nOWv/dqiev1C%2Bf7/qN0%2BRe32KYrj/dTrHat%2B/1jF8X6mhwZQcgQ2nOZ5W9Vuf1it1inyvK4kaTh8iHq9Z/NLFACAyhj/2q8XqVb7ocLwfNXrlygIrlOnM34l8mP59hAAhSGw4aihms0z1em8R75/iyQpiu6rbvc5iuMHGJ4NAACYU1cUPUxR9DBJ3bErkf9g7Erkb%2BFK5AAKQWDDManC8BuamXmrguBaSVIc/4m63ecu/yLlM1YAAGCkpeHwEA2HhyxfifxCheEWrkQOoDAENpxRq12pTuetCsPzJUlJcif1es9a/mXIoQwAANa2dCXyIzQYHJHhSuTHaDh8tKS66bEBOIYqgfV8/zfqdI5Xs/k5SaOv3Dpavd5TJXXMDgcAAJyT7Urku2kwOEq93pOXY5tlM4Cd45UCFptXu/1Btdsflef1JEmDwaHqdp%2BtNL2z4dkAAID7VrsS%2Bfmq1y%2BS7/9RzeZn1Gx%2BZjm2n6Re72hiG8AO8eoACyVqND6nmZm3y/d/J0mKogeo2z1Ocby/4dkAAEA5jV%2BJ/MWq1a5WvX7RWGyfqWbzTCXJ7ur3j1K//2QNh48Sy2kA43hFgFVqte9rZubvVK9fLkmK47uq1ztOw%2BGfiwuYAQCA6QgURQcoig5Yju0fj8X2LWq1zlSrNYrtJ6nfP5rYBiCJVwFYwvd/q07n7Wo2/1mSlKYt9XrPUL//JHGBEQAAYE6gKDpQUXSgut2XrBLbn1ar9WliG4AknvkwrqdW62R1OifJ8xYkSf3%2B49XrPVtpupvh2QAAAMatjO0fqV6/WPX6hWvGdpo%2B2vTQAKaIwIYhqaRztGnTa%2BT7v5IkRdGfqdt9EZ%2BzBgAADggURQ9SFD3o9tgOw4tUq608s71Z0pGq15%2BoKDpUfAMKUG4ENqYuCK7RzMwbJH1Hvi8lye7qdo/TcPgY8TlrAADgnjtiW3rpWGxfIt%2B/VdLZmpk5W51OU4PBoer3j9Jg8ESl6e6mBweQMwIbU%2BN5s2q3T1CrdYo8L5IUqt9/irrdp0pqmR4PAAAgB9vGdhj%2BXO325UqSC%2BT7v1WjcZ4ajfOUpr6Gw0doMDhC/f6RSpI/MT04gBwQ2JiCVI3G5zUz8zb5/v9IkobDg1Wvv0KDwWYtvV0cAACgbALF8f0lPVQLC89Vmt6gev17CsPvKQiuUxheoDC8QDMzb1QUHaB%2B/0j1%2B0cqju8r3tUHuInARqGC4EfaZZfXq16/RJIUx3ur232R0vShqtdbkrpmBwQAAJgKT0lyD/X791C//wz5/u9Ur1%2Bqev17CoKrVatdpVrtKnU671Yc31P9/hHq949SFD1UUmB6eAAZEdgohOf9UZ3Ou9RsfkqelyhNm8tfu/VXkuoK%2BD0BAAAqLEn2Ur//V%2Br3/0qet1X1%2BmWq17%2BnWu2HCoJfqt0%2BWe32yUqSO2swOFz9/uEaDB4rqWl6dAA7QGAjZ7GazbPV6bxdvv9HSdJg8Bh1u8cpTfcwPBsAAIB90nSTBoPDNBgcJqmrev0Hy2e3L5Xv/17N5plqNs9UmnY0GPzFcmw/gYukARYisJGbWu0y7bLL61WrXSFJiuO7q9t9kaLoAMOTAQAAuKKl4fCRGg4fKWmoWu3Ht7%2BV3Pf/oEbjq2o0vqo0DRRFB6vfP1z9/hFKknuYHhyACGzkwPNu1szM36vZ/KwkKU076nafpcHgCHGIAQAAbFRdUfRgRdGD1e2%2BREFw3djntm9QvX6h6vULNTPzZkXRfZfPbB%2BxfAVz3/TwQCVRP5hApFbrk2q33yPf3ypJ6vcfr17vOUrTzYZnAwAAKBNPcXwvxfG91Ov9zdhF0i5dvkjaT1Wr/VSdzklKkrssn9k%2BXMPhoyU1TA8PVAaBjQ2p1y/QzMzrVav9VJIURfur232x4vg%2BhicDAAAov20vkjanWu37CsPLVKtdLt//rVqtM9RqnaE03UWDweOWz24/npMgQMEIbKyL79%2BkmZm3qtH4kiQpSXZVr/fc5YtycGlwAACAaUvTXTQcHqrh8FBJA9VqPxq7SNotajTOUaNxzvLnth95%2B9ntJPlT06MDpUNgI6Oe2u2Pqt0%2BSZ63qDT1NRgcrl7vb5Smu5geDgAAAJKkUFH0EEXRQ9TtvlRBcO3YW8l/pXp9i%2Br1LZqZ%2BTtF0f2XvwLsCEXRgZI808MDziOwsROpwvA8zcy8WUFwgyQpiu63/HbwfQ3PBgAAgLX5iuN7K47vrV7vOfL936pe/95ybP9EtdrVqtWuVrt9guJ4bw0Gf6l%2B/wgNh4%2BSFJoeHnASgY01BcE1mpl5g8LwO5KkJNlD3e7zNBw%2BRvwNJwAAgFuWLn72ZPX7T5bnbR373PYPFAQ3qdU6Xa3W6UqSXTUcHrb8ue3DlKZ3Mj064AwCG9vxvNvUbr9PrdZp8rxIaVpXv/8U9XrHSmqZHg8AAAATStNNGg4fp%2BHwcVr63PaVqtcvW/6%2B7VvVaHxJjcaXlKY1DYePWo7tw5UkdzM9OmA1AhtjEjWbn1Wn83b5/h8kScPhwep2n68kuYvh2QAAAFCMUFF0kKLoIHW7L1MQ/GLs%2B7Z/rTD8zvI7Gl%2BvKDpg%2BSJpRyiOHyDe1Qhsi8CGJKlWu1QzM29QvX6FJCmO/0Td7gsVRQ82PBkAAACmx1cc30dxfB/1es%2BV7980dpG0n6pWu0q12lXqdN6rON53%2BavCjlYUHSBiGyCwK8/3f6tO5/%2Bp2fy8JClNO%2Br1nqV%2B/whxeAAAAFRbkuytfv8p6vefIs/buvw28qXv2w6C69Vuf1Dt9gcVx/cci22uSI7qoqAqq69W62PqdE6U5y0oTT0Nh09Qt/tsLmQBAACA7aTpJg0Gh2kwOExSV/X69xWGF6lW%2B76C4Jdqtz%2BkdvtDiuN7jMX2g0Rso0oI7MpJFYbf0MzMmxQEv5QkRdF91e2%2BSHF8L8OzAQAAwA0tDYeP1nD4aC3F9uXLsX2ZguAGtdsfVrv9YcXx3cdi%2B8EitlF2BHaFBMEvNDPzRoXhf0iSkmT35a/deqx4sQMAAMDGtDQcPmr5%2B7N7qte/r3r9ItXr31cQ/Ert9kfUbn9EcfynY7H9v8X6E2VEYFfA0tdunahW69Sxr9168vLXbrVNjwcAAIDSaK6I7cuXY/syBcGNarf/Qe32PyiO/2Qsth8iYhtlQWCX2lDN5qfU6bxXvv/HpZ8MH7b8tVt7G54NAAAA5dbUcPhIDYeP1FJs/2A5ti9VEPxa7fbJardPVhzfXb3eser3/1pxvL/poYGJENillCoM/00zM29TEFwrafS1W89f/htCAAAAYJqaGg4foeHwEZL6y2e2L17%2Bru1fqdM5UZ3OiYqiBy3H9lOVJHuZHhpYNwK7ZGq1K9XpvEVheIEkKUnupF7vWRoMniApMDscAAAAoMZYbPdUr1%2BqMNyiWu1y1WpXaGbmCnU6b9Vw%2BFj1ek/TYHCU0nQX00MDmRDYJeH7N6nTOV6NxufkeanSNFS/fzSfswYAAIDFmhoOH6Ph8DHL37N9wXJs/1Rh%2BJ8Kw/9Umr5ag8ER6vWO1WDwOEl100MDayKwHed5c2q1PqJ2%2B2R5XleSNBgcom73OUrTOxueDgAAAMhm6Xu2j9RgcKR8/7eq17%2BrMPyuguA3ajS%2BqEbji0qS3Zcv1vvXiqKDxMXRYBsC21l9tVqfUrt9onz/D5KkKLq/ut3jFMf3NjwbAAAAsHFJchf1%2B89Qv/90BcF1y7G9Rb5/i1qt09Vqna44vsfYxdHuZXpkQBKB7aBEjcYX1Om8W0FwoyQpjvdWr/dcDYcPF3%2BLBwAAgPLwFMf3UhzfS73ecarVrlIYflf1%2BkUKghvU6ZygTucERdGDJf3A9LAAge2OVGH47%2Bp0jletdrUkKUl2V6/3DA0Gh4mHEgAAAOUWKIoevBzTL1O9/j2F4fnLF0f7oenhAElUmRNqtUs1M/P3qtcvliSl6czy22GOlNQ0OxwAAAAwdU0Nh4/VcPjY2y%2BO1ua6vrAAgW2xIPipOp13qtH4uiQtXxn8Ser3n8pXFQAAAAC64%2BJoBDZsQGBbKAh%2Brk7nfQrDc5a/csvXYPB49XrPUJruYXo8AAAAAMAqCGyLBMEv1G6/T43Gl%2BR5qSRpOHyUut1nKUnuZng6AAAAAMCOENgWCIJr1W6/X43GF%2BV5iSRpOHykut2nK0nuYXg6AAAAAEAWBLZBvn%2B9Op0T1Gh8fiysD1av9wzF8b6GpwMAAAAArAeBbUAQXKN2%2B0PLYR1LkobDP18O6/0MTwcAAAAA2AgCe4pqtcvVbn9Qjca5t/9sODxoOaz3NzgZAAAAAGBSBHbhUtXr31W7/UGF4ZbbfzocPkK93lMJawAAAAAoCQK7MInC8GvqdD6kWu2HkqQ0DTQYHKp%2B/ylKkj8xPB8AAAAAIE8Edu56ajb/Re32hxUE10qS0rShweCJ6vWOVpre2fB8AAAAAIAiENg58f3fqdk8Xa3Wp%2BT7f5AkpemM%2Bv2j1O8fpTTdZHhCAAAAAECRCOwJ1WpXqNU6VY3Gl%2BR5Q0lSktxZ/f6T1O8/QVLb7IAAAAAAgKkgsDckUhieq3b7VNXrl9zx0%2Bj%2B6veP0nB4sKTA3HgAAAAAgKkjsNfB825Rs/lZtVqnKQj%2BS5KUpjUNh49Rv3%2BU4vhehicEAAAAAJhCYO9Uqnr9QjWbn1aj8VV53kCSlCSbNBgcrn7/cKXpboZnBAAAAACYRmCvwfP%2BoGbzn9RqfVpBcP3tP4%2Bi/TUYHK7B4DGSQnMDAgAAAACsQmBvI1G9foFarU8rDL92%2B0XL0rStweAQDQaPVxzvZ3hGAAAAAICNCGxJvv8rNZtfULP5zyvOVt9bg8ETNBg8WlLL3IAAAAAAAOtVPLA/oV12OUu12sW3/2TpbPWhy2er9zU4GwAAAADAJRUP7JeoVpPS1FMUPUjD4aM1GDxSnK0GAAAAAKxXxQN7P/V6j1W//yil6R6mhwEAAAAAOKzigf1JDYddpWlqehAAAAAAgON80wMAAAAAAFAGBDYAAAAAADkgsAEAAAAAyAGBDQAAAABADghsAAAAAAByQGADAAAAAJADAhsAAAAAgBwQ2AAAAAAA5IDABgAAAAAgBwQ2AAAAAAA5ILABAAAAAMgBgQ0AAAAAQA4IbAAAAAAAckBgAwAAAACQAwIbAAAAAIAcENgAAAAAAOSAwAYAAAAAIAcENgAAAAAAOfDSNE1ND2HOQEmSSqrwLjDGk%2B977H8j2Pdmsf/NYv%2Bbw743i/1vDvt%2BGjwvlOdx7hDm1UwPYFKa1lXpv18wLE099n/OgqCX%2Bc/6/A4yyqb9H8dN0yNMFa895ri479fzuuoCm157ymZHr6UuHvuu8TxPcRxpfn6L0rS/wVtJ1Om8TfX6lYqiB%2BnWW78lKcxzTDhszz13yfTnKh3YnudpdnZRUZSYHqVyajVfmzd32P8T2HPPS02PgJIIgmx/7uabH1bsIFPAa485Nu97Xk%2BRh529ls7OHmzdsV8mu%2B3WyeFWfC0uvlq77PIK1WpXqNM5XgsL78rhdlEllQ5swBUs/mCDrMdhGUIc5cPrKEzbvPmSNf8br5v2SNM9tLj4Ks3MvEvt9j9oMHiMhsPDTI8FhxDYgGVYBMJ1hDhM4jUULtrRcctr5fRF0cHq949Uo3Gudt31hbr11guUJHczPRYcQWADhrEYRFUR4pgEr52oitWOdV4Xi9ftPl%2B12s8VBNdp112fq9tu%2BzdJDdNjwQEENjBFLAiB9dvI84bFp/t4vQTWttbzg9e%2BPIVaWHiTdtnl/6pev1wzM2/S/PwHTQ8FBxDYQIFYIAJm7Oy5t3nz6j9ncTodvDYCxeBsd76SZC8tLLxWnc471Gqdrig6QL3ec02PBcsR2ECOWDQCbpvkOVz1RWzWfbfWX24AKAbRPZkoeqh6vWep1fqsZmZerTi%2Bh4bDR5seCxYjsIENIqYBjCviNWFai2Bez4BqIbrXp99/uoLgvxSGW7Trrn%2Bj2277T8XxfqbHgqUIbCAjFqAApo3XHQDTQnTviKfFxVfJ9/9HtdrPtWnTsbr11m8pTfcwPRgsRGADq2BRCwAAqm7leqjawd3QwsJbtMsur1UQXK873ekY3Xbb15Smu5oeDJYhsFF5xDQAAMDOVf0sd5rupvn5d2pm5g2q1a7Qrrs%2BU1u3flFS0/RosAiBjcohqAEAAPJRtbPcSbKPFhbeoZmZNysMz9euuz5Ps7OfkRSaHg2WILBRasQ0AADA9FQhuOP4XlpYeJs6nb9Xo/F17brrszU7e5akhunRYAECG6VBTAMAANilrMEdRQ/UwsJb1Om8W43Gv2nTpqdr69Z/ktQyPRoMI7DhJGIaAADAPWUK7ih6iBYW3q5O53iF4be1adOx2rr1c5JmTI8GgwhsOIGgBgC470rTAxhwoOkBYDnXgzuKDtD8/PGamXm7wvB8bd78l9q69QtKkruYHg2GeGmapqaHMOnWWxcURYnpMSqnVvO1eXNn1f1PTKPaqrgAXwsLc9iI52jxeO7jDlmDe7fdOpISzc9vUZr2ix1qFUFwjTqd4%2BX7tymO99bWrV9QHD9g6nOgOHvuuUumP0dgE9hGjAf25s2XmB4HyAGLbvexqK8GnqvlwvO2atYKbtOBLUm%2B/zt1Ou9QEPxaaTqj2dkzNRg83sgsyB%2BBnRGBPX2coYY7WIgjL0RAfnheYiN4DpbReGzbENiS5Hlz6nTep1rtSqWpr4WFt6nbfbUk39hMyAeBnRGBXTyCGvZioY6yMhkTPK/gIgLcfQ9XHIf1sVQOAAAgAElEQVTGA3vJUO32qQrDf5ck9fuP19zcJ5SmuxueC5MgsDMisItBVMMeLPYBAJMgvt1gU2BLUqow/JZarY/L8/qK4300O3umougg04Nhg7IGNlcRRy4IaphHSAMAirCz3y8EOFbjaTB4vKJoP3U671cQ/EZ3utMTl98y/kpJgekBURDOYHMGe8OIakwfEQ0AcAnxPT22ncEet6h2%2B2SF4fmSpOHwIZqb%2B7jieH/Dc2E9eIt4RgT2%2BhDVmA5CGgBQZoR3/mwObGnpLePfVqt1mjxvQWnaWD6b/XJxNtsNBHZGBPbOEdUoDiENAMAdCO%2BNsz2wl3jezWq3P6Z6/fuSpOHwIM3NfVRxfB/Dk2FnCOyMCOzVEdXIDxGN9fhRQbf7wIJuF1ivoo7xrHguuInw3jk3AntJqjD8D7Van1w%2Bm11Tt/tSLS7%2BndJ0V9PDYQ0EdkYE9h2IamwcEV0NpsOgbAgdszie88OxbA7hfQeXAnvJ0tns01SvXyxJiuO9tLDwTvX7T5PkmR0O2yGwM6p6YBPVyIaALh/iAuOmHUgcfyDKi1PV6HYvsEdqtcvVap2mILhJkjQYPFzz8ycpju9veDKMI7AzqmpgE9bYFgFdLsQLgDIgwvNV9vB2N7CXDNVsfkWNxj/J8/pKU1/9/jO0sPBmJcndTA8HEdiZVSmwieqqIp7Lh4AGgCVE%2BGTKFN2uB/YSz/u9Wq0zFYZbJElp2lC3%2ByItLr5Gabq74emqjcDOqAqBTViXFeFcbkQ0AEyOAF8/V6O7HIE9EgTXqNU6S7Xa0novSXZVt/t/tbj4Ukkds8NVFIGdUVkDm6h2GeFcHUQ0AJhDfGfjSnCXK7CXpKrVrlCr9RkFwXWSli6E1u2%2BSt3u8yS1zY5XMQR2RmULbMLadsRzNRHSk3NtH7JwB9zF83fnbIzuMgb2SKJ6/UK1WmfJ93%2B79JNkTy0uvkrd7nGSZsyOVxEEdkZlCWzC2hYEdLW5FoHTwD4xh0hYG8clx8dGsM/WZkNwlzmwR4YKw%2B%2Bo2fzCWGjvpsXFv1Wv90K%2BQ7tgBHZGLgc2UT1txDMkFuYS%2BwAAsTnCflidieCuQmCPRArD89VofF5B8BtJUpJsVrf7YnW7L%2BZiaAUhsDNyMbAJ6yIR0RipakRWdbsBFKeKEVrFbd6RaQR3lQJ7JFa9fpGazc8pCG6UJKVpS73es7S4%2BAolyT0Nz1cuBHZGLgU2YZ0XIhojVY3Jqm43ADtVJUarsp07U1RsVzGwR2LV65eo2fySguAXkqQ09TUYPEmLi69UFD3E8HzlQGBnZHtgE9WTIKQhVTcmq7rdAMqnrGFa1u1ajzxju8qBPZKqVvuxms1zVKtddvtPB4NHqNt9pQaDJ0jyzY3nOAI7I1sDm7BeD0K6uojIqu2D%2BfnrTI9gxMzMfqZHACxUxkAt4zatxyTBTWCP8/1fqdn8iur1/5TnRZKkON5X3e4L1es9S2m6yfCE7iGwM7ItsAnrnSGmq6Fa0ZhNufZJVUO5LFwO/jIcey7v/%2BkoU6SWaVvWYyOhTWCvxvP%2BoGbz6wrD8%2BR585KkNO2o13uGut0XK47vbXhCdxDYGdkQ2ET1Wojp8ihXHBbL7X1VhngBqqYawV6WUC3LdqxH1tgmsHesq0bjfIXhVxUEv7r9p4PBIep2X7z89vHA2HQuILAzMhnYhPVKBLUb3A5Au7i3LwlooNrKFeNliNUybMN67Ci2CexsUtVqV6vROFe12sXyvKUOiuO7q9t9gXq9ZytNNxue0U4EdkYmApuwHiGozXAv6tzn1j4nogFMwu0Idz1YXZ8/q9VCm8BeL9//vRqNbygM/02eNytJStO2er2/Xn77%2BH0NT2gXAjujaQY2YU1Q58utaKsGtx6TMof09dcvmB4hF/vu2zE9ApAr9%2BLb5WB1efasxkObwN64nsLwQjUaX1MQ3LE2GAwetfz28cMl1cyNZwkCO6NpBHZ1w5qgXj%2B3Aq263HqcXA3pskSya4h6mOJGfLsara7OndWBIrDzkCoIfqZm81zVahfK82JJUhzfTd3u89XrPVdpurvhGc0hsDMqMrCrGdZE9ercCjKMuPe4uRDThDOQXdX/wsP%2B6HY1XF2de0deoDieIbBz4nl/UKPx7wrD8%2BT7t0mS0rSpXu/Y5bePl/EY2jECO6MiArtaYU1QL3EvxDDi7mNna0wT0IB9yhTqdke3a9Hh2rw7QmAXY6AwvGj57ePX3P7T4fBgdbsvVr9/lKS6ufGmiMDOKM/Ark5YVzmq3Y2x6irHY2ZjTBPSQDm5GON2Rrdr8eravCsR2MVKFQS/WH77%2BPnyvEiSFMd3Va93nLrd5ylN9zQ8Y7EI7IzyCOxqhHXVorocUVYN5XqsCOli/cjBw%2BWBrq95UTouBLh9we3aE9m1eSUCe3o8749qNL6pMPy6fP%2BPkqQ0DdXvP0Xd7osVRf/b8ITFILAzmiSwyx/WVYhqB1fblVH%2Bx8a2mHYlpF2MZJsR8MiLzeFtV3C79KRzaVYCe/qGCsNLFIZfU6320zt%2BOnzo8tvHj5YUmhsvZwR2RhsJbMLaZazMzavmY0BM7xzhXG6EfHXZFt7E9kbZPiuBbVIQXKtG4%2Buq178rzxtKkpLkf6nbfZ56veOUJHsZnnByBHZG6wnscod1GaOa1fp0sJ9XIqbXRkQDS6r%2BFw42Rbc9we3KQWHrnAS2DTzvVjUa/7H89vGbJUlpWle/f4wWF/9WcfwAwxNuHIGdUZbAJqxdwup9cuzD9bAtpiU7gpqQBqanLLFuOrrtCW3J3ogdZ9uMBLZdIoXhpctvH//x7T8dDB6rbvflGgwOk%2BSbG28DCOyMdhbY5Y3rsoQ1q/hs2E95IKa3V7aQNrk9ZYkk2M2V44zYHnHhAbNlRgLbVkFwnZrNr6hW2yLPiyVJUXRvdbsvV6/315JaZgfMiMDOaK3ALmdYE9XlxP7Im40hPWIyqF2IaRdmnDZXggp2sPV4MRncxHZWpucjsG3neTer2fy6wvA8ed7SeiZJ9lC3%2B2J1uy9Wmt7J8IQ7RmBntDKwCWtbVX3VXPXtL4bNIT1CUN/BtnmqwtbgwvTYdgwQ25Y9INsxNR%2BB7Y5FNRrfVqNxjnz/fyRJSbKLer0XanHx5dZ%2BnzaBndF4YJcvrl0P6yqupqu4zcVzIaQlYlqyZw7kz7ZIw%2BRseExNxTahncW05yOw3ROrXr9YzeYXFAS/lCSlaUvd7v9Rt/tKJcnehufbFoGd0a23Lmjz5ktMj1EAl%2BO6CivsKmzj9LkS0iNVDmrT94/ysyH%2Bqsb0PjcR24R2FtOaj8B2V6Ja7XK1Wp9XEPxc0tKVx3u9Z2lx8bVKkj81PN8SAjuz/zA9QM5cDesyr7bLvG3T51pEj6tiUBPSwPZMh%2Bi0mNzOasa27QdW0fMR2O5LVatdpWbzC6rVrlr6SRqq232%2BFhdfZ/yt4wR2JouSLjY9RE4Ia3uUcZumz%2BWQHqniFb5dDeorLXoJPfBA0xPARmWIchPbQGjbqKj5COwyCYKfqdX6Z9VqP5AkpemMFhdfoW73b5Wm2UI3bwR2JmUJbItWhpk5ugpfU9m2ZzrKENHjCGq72BTN00KcV5srEU5oT4vNB0QRsxHYZVSrXaVW6zMKgmskSUmyuxYXX69u9/mSGlOdhcDOxPXAdnH1aPFqfN3KtC3FKltIj5gOamn6gWtTUFcxoPNEjFeLrfFdhdgmtHckz9kI7PJKVa9fombzLAXBf0mS4vgemps7ScPhYVObgsDOxOXAdm1ladGqfCJl2Y78lTWixxHUZhDS5hHj5WRbdE97HkLbJnnMRmCXX6ww/Laazc/K92%2BRJPX7R2t%2B/r1TueI4gZ2Ji4Ht4krTghX6RFyfP39ViOkRonq6iGm3EeJusyW4yxza5iNbKm9oE9jVsahW63MKwy/L82KlaUcLC29Wt/sSSfXC7pXAzsS1wHZt5el6mLo%2Bfz6qFNOSHUEtVSeqCerqIcLdYTq4p3n/1TubLdkb2hudi8CuGt//ldrtU1Sr/USSFEX31ezsJxXHDyjk/gjsTFwKbNdWoS7HqcuzT6ZqMT1iS1RL0w1dE1FNUGM9iHE7ENrFIbR3ZL1zEdjVlCgMv6Nm8wz5/lalaaiFhXcun832cr0nAjsTVwLbtRWpq4Hq6twbR1Dboexnq4lqmECcF8NkbBPaRbI1sqXssxHYVeZ5W9Vun6x6/RJJUr//BM3Nnao03SO3%2ByCwM3EhsF1amboaqK7OvX4EtT2IavuY/Oy56TOEWBuhvjZTx%2B207rd6kS25HdoENlKF4XlqtU6X5w2UJHtpdvZ0DYePzuXWCexMbA9sl1aorkaqq3NnR1Tbpcxh7UJU23BV9PUivt1SxSA3cYyWNbIlQnvn1pqNwMYS379Bnc6JCoIblaY1zc19TP3%2BMya%2BXWcC%2B8Ybb9QZZ5yhq666Stdee63uec976txzz13zz1999dU69thj1Ww2dcUVV0x47zYHtgMr1ds5uGJ1cubsiGq7mIi6qoe1iyG9XoS3e8oc32WObKmqZ7Mle0N7tbkIbIzrqd0%2BWWH4XUnS/Pw71e2%2BUpN8LjtrYNc2fA85ufbaa7VlyxYdcMABSpJEO%2Br9NE31zne%2BU7vttpsWFxenOOW0WbhaXZOLq1gXZ86mimFta1RLhPU0VSGoV1prmwlve%2B3oOeN6fI%2BOx2kef9O8z%2BuvX5hqZI9%2Bn5sP7dELjW0vLLbOBXs0tbj4WiXJbmo2/1UzM2%2BT7/9WCwvvkeQXes/Gz2AnSSLfX9rIN77xjbr66qvXPIP9xS9%2BUaeddpqe%2BMQn6uyzzy7pGWyLVqw75eKK1sWZd4yotk%2BZw9qWqK5iUG8Uwe0uV6O7zGezq/uW8RFbX1AeKM5gYy2NxjlqtU6XJHW7L9L8/Ekbuh1nzmCP4npnZmdn9YEPfEDvec97dPXVVxc8lSmWrFxLq1wrcsLaPmUOa8mOuCas1298nxHbbhk951wL7R/9aPrH2rTuc9pnsiWbzmZL9p45/pGkgekhYKl%2B/8lKkk3qdD6gVus0xfG%2B6nZfWtj9GQ/srD784Q/rfve7nw455JASB7ZLXFvlujbv2qoW1rZHtWQu%2Bqp01pqwzoeJt/FicldeSWTbxERkS4Q2MInh8FB1u39Uq/VpdTpvUhzfXYPBXxZyX04E9s9%2B9jN98Ytf1DnnnGN6lAJZsILNzKWVrkuz7hhhbSfOWheLsC4Goe0eF89mTzuyp3l/o99RpkLbjsiWbAttz5OCwFOabvxCViivKHqqBoP/Vhj%2Bu3bd9TjNzm5Rktwn9/uxPrDTNNXxxx%2BvZz7zmdp3331Nj1MQ4roYLs26NsLaTpy1LhZhPR1lPstYVi6ezZ6maR/TnM0esSO0Pc/TzExTRV/ECi57naSb5Xk/1KZNr5X0HU1yZfHVWB/Y5513nq6//nqddNJJmp2dlST1%2B0sXLpidnVWj0VCj0TA5YoW4tOJ1adbVEdZ2KntYS8R11RDZ7nEpsjm%2BimXX2WzJdGinaaqFhR4XOcMOed7fqtN5iTxvixYWTtdg8MxM/7/Nm7P9ZZr1gf3LX/5SW7du1aGHHrrdf3voQx%2BqF77whXrd615nYLK8uHT22hXur86rFNeuhLVEXE8DcQ3snCtxLZmJ66qcxR6x72y2ZCq001SK43SHX/sLSHdWr/d0tVqfUav1ZnW7T1Cabs7t1q0P7Cc/%2Bck66KCDtvnZOeeco/POO0%2Bf/OQndde73tXQZFXjyqrXlTlXR1jbqwpxbVqVthVAuZiObInQBtaj33%2BywvA7CoJfq9U6XYuLr8/tto0Hdrfb1ZYtWyRJN910k%2Bbn5/WNb3xDknTQQQdpn3320T777LPN/%2Beyyy5TEAR62MMeNvV58%2BXK2WtXVr2uzLk9wtpuVYlrk2eviWsgG5fOXleNDZEt2fi2cWnbNRqxDRvU1esdq07nA2o2P63FxddICnK5ZeOBfcstt%2BhVr3rVNj8b/ftZZ51VgoheC3GdL1fm3BZhbbcqRZ/pt4bDHD4f6w7iGlnZeTZ7hLPasMNw%2BEglyWkKgt8oDL%2BlweCJudyul1b6QwqLki42dN8urGZdqAsXZtweYW0/03FdpbPXkvn9XVXEtTtcjGuTx5fJ%2B7bhLPZKdob2SF4P1kmK4900P7%2BFi5whs2bzk2o2v6zB4K%2B0devZO/yze%2B65S6bbNH4Gu5pciGsXuLciJ6zdQOyh7AhrN7gY1SNVPsZseav4ODvfNj7CGW2YMxw%2BSs3ml1WrXSgpVR5f2UVgYw02F4bNs62OsHaHDXFdtbPXmJ4qR48rXI7qEdPHmen7t5XdbxuXCG2YEMf7Kk0b8v1bFATXKo73n/g2Ceypc2Ela0FhrMnm2bZHWAPZPPCBdvzlRlkRHPYqQ1CP41hbYuNZ7BFCGxhXVxTtr3r9xwrDi9XtEtiOsT2ubV7d2jzb9ghrN9kQeDbMgPIgduxTtqAeZ8PxZsMMriC0gSVxvJ/q9R%2BrVrsml9sjsLHM1lW9rXNtj6h2G2Fr3mhhzGMxGQLDDmUO6ZVsOeZsmcM1hDaqLknuLEny/f/K5fYI7Kmx%2Bey1ratZW%2Be6A1FdDlUPugMPtOtz2LxdfP0Ii%2BmrUkCvxabjzqZZXGX3hdCkpXUhDzTyl6Z7SJJ8/ze53B6BPRUWrVy3Y%2BMq1saZtkVYlwchZycie8eIiekgordn47Fn40yu4mw2qihJdpck%2Bf7/5HJ7BHbhiOvsbJtnW1WJ6rIH9TgCzm68ZXxbRET%2BCOjsbD3%2BbJ3LdYQ2qiRNm8v/1M3l9gjsSrJptWrTLNuqQlBXKaZXItq2ZdvbxMdVMbSJhskRz5Oz%2BTi0ebYy4W3jqIZQkuR5vVxujcAulI2rVVtWqLbMsa2yR3WVg3pclUKtTFYuqMvyOBIKG0NA58%2BFY9GFGSVZ%2BxVdG%2BHO2WxgY9K0sfxPBLblbItrW158bJnjDmWNamJ6dWWJsiLYfBZ7Na4FtythYBtCuliuHJeuzFlm9of2wPQAcJYvSfK8JJdbI7ALYdsK1YZVpw0z3KFMUU1IZ2N7fNnCtcget9oCfNqPOxGwcYT0dLh2jLo2r1Sus9ersf9t44BZBHbubFqZ2lAUNsxQjqAmpDeOuF4flyN7JRcX52VHSE%2BPq8e/q3NL5Y/rESIbWBuBnSubVqQmi8KOmnE1qgnp/BDWG1emyIY5xPT0uBylkvvzVyWsxxHZwOoI7NzYshKtbli7FtSEdHEI63wQ2VgPYnp6XI9RqRzbIFUzrMcR2SgHb%2Byf0xX/vn4Edi5sWYGaqgpzNeNCVBPS00FUF4PIxloI6uKVJUJHyrY9VY/rESIb7hsP6kRSMNGtEdgTs2HlaaIsiOqVCOnpIqinh8iGRFAXqWzhOVLG7SKqV0dkw20EtkVMrzirEdY2BjUxPV3EtHmjuCK0q4Ogzl8Zg3NcWbePqAbKLU398X%2Bb%2BPYI7A0zvcqcdnFM9/5siWpCenqIaDdwNru8COr8lDU0VyrrdhLUQNWsPIM9GQJ7Q0yuLssb1jZENUGdD2K53DibXQ4E9eTKGpirKfO2EtT54G3icNf4Gex44lsjsNetKnE9nfsyGdVVj2kiGJMitN1CUG9cmeNyLWXeZoK6GMQ13BUqTT15XirfX1CSTPYaQWCvi6lV5LRKqLxRXbaYJo5hE0LbXkT1%2BpU5LHekzNtNUAPYMV9SS9KiPG9W0p0nujUCO7Myx3X5wtq1oCaYUQaEtnkE9fqUOSp3pMzbTUybwdlruC5N2/K8RXne3MS3RWBnYmK1WI6z1tOKapuDmnhG1RDa00NQZ1fmqNyZsm47MW0H4hplkKZtSZLvz098WwT2TpU1rou7j6pFNQGNvJTtWBqPP2I7HwR1dmWNyp0p63YT0wCKNArspbeIT4bA3qEyxrW7YW06qMsWP8A0EdsbR1RnU9aw3JkybjcxbT/OWqNs7ghs3iJeoGmvAAnr1ZiKamIa01alY47Y3jGCOrsyxuXOlG2biWm3ENYoqzveIr514tsisFdVprgu5rbLEtVVihrARlWPbWJ6/coWmDtTpu0lpt1EVKMK0nTp9Ym3iBeCuN6RosJ6WlFNUMM2HJN3WC02yxTdxPTGlCkwsyjT9hLUbiOsUSV3BDZnsB1X1MqasB5xMV5cm7lMi8Fpc%2B2xNsHV6CamJ1el15YybCsx7S5CGrgjsH3/tolvi8DexjRXbW7EdRFhXWRU2xosts6Vh0m2rQyLyo0o8/EwDTuL12kEOAFdnKq8Lri%2BnQS1ewhpYG1pOiNJ8jwCO0fTims3wlrKP66LCmsbYsWGGVy0kf3m6qKUY2R6iF83ufrcXg/Xt5GothfxDEyGt4jnjrge50JYm4oVIsm8jT4G01zYcpwA2bgenFm4vI0EtRnE8kY8UFJoegg4jMDGmPxW8raH9bSjhUgqFx5PwB4uR2cWrm4fQT0ZwtgER59ssFCw/L/RxLdEYDt99trOuHY1rAkwACieq/GZhYvbRlRvj1B2gYNPNlguXf5ff%2BJbIrCnohpx7VpYE9QAMD0uxmcWLm5XVaOacHadg082OCTd%2BR/JqOKBPZjCfdgb11UMa6IaAKbLxQDNwrXtqkpUE9Fl49gTDc7yvN7yP7Umvq2KB3bRiOv1KCp%2BbY5qG7/PlyswA8iDawGalUvbVdaoJqLLzqEnGUrD8/4oSUqSvSa%2BLQLbKeWM6yIC2JaotjGgdybrzIQ4gLW4FKFZubRNZQprYroqHHqCoZR8/xZJUpLsPfFtEdiFybvwiGsTt5eViyE9qR1tM/ENVJNLEZqVK9tUhqgmpqvCkScVKsX3fydJSpJ9Jr4tArtCbIpr18O6ikG9HmvtH8IbKCdXInQ9XNkml8OaoK4KR55MqLBUtdrPJEnD4YMnvjUCuxB2nr3OQ5Xjmqie3Gr7kOgG3OVKhK6HC9vkalQT1FXgwBMIWMH3fyff/6PStE5gI7s8zl7bFtfTCGuiunhEN%2BAeFyJ0vVzYJhfDmqguIweeLMA61GpXSZLi%2BIFK0%2BbktzfxLaBg9py9npRLcU1Ym7Vy/xPcgHkuBOhGuLBdLoU1QV0WDjwxgJyE4bckSYPBkbncHoFdAbacvc5LkXFNWNuJ4AbMcSFAN8KF7XIlrIlqlzhw4ANT5Ps3qFb7udK0pl7vObncJoGdu/Kccc5TXlFMXEPa9rEitoFiuBCgG2H7dhHVyM7ygxlwQKNxniRpOHyi4njPXG6TwMZO2XT2uijEtbuIbSAftofnpGzfPhfCmqguguUHJlBivv9rheG/S5J6vZfndrsENpxR1Nlr4ro8iG1gfWyPzjzYvo22hzVRnZXlB1ppje/30NgUcFGqVuvj8rxYg8ET1e8/IrdbJrBRuGl/R/V6uBzXWfar7QvLIhHbwPaq8prgwnbaHNZE9TgHDqZK4fFAPur1i1SvX6U0bWhh4cRcb5vAhhOKiHQX4nrS7d7Z/9%2BFRWgeRo81oY2qqcpzfMSF7SWsbeLAAVN5PEbIn%2B//Vq3WyZKkXu%2BViqI/zfX2CezcPVBc6Cx/D3xg/pF94IF2R/Y0zvyvvA8XFqeTILRRZmV//q7Fhe0mqk1z4CCBeJwwHT11Ou%2BW788rih6khYU35H4PBDYKV0Qcl52p/TV%2Bvy4sWjeK0Iaryvy8XA9X9gNhPW2OHBgQjxXMSNVuf0RBcIOSZHfNzf2z0rSR%2B70Q2NipffftVOJK4raw5S8jqhDbhDZsVdbn3CRc2SdE9bQ4ckBAPFawQ6pm8wyF4flK05rm5z%2BrKLprIfdEYFtv8recz8zsp/n56/IZB4WyJa5XGs3lygJ3va68ksjGdJX1uZQ3l/aTrWFdnqh26GCoJB4f2GwprpvNcyRJi4sn5XrV8JUI7ELwOeyV8nibeBU%2Bh83b6c0hspEHl4LQVi7tQ1ujWipDWDt0IFQKjwtck6rZ/NTtcb2wcJIWF48r9B69NE3TQu/BardJOr3A28%2BzlCa/rUnPYk/6NvG8wrEKVxS3NbJdWvhuFJENqRrHui1c29dEdVEcOxBKzdXH4gWK4xnNz29RmvZNDwMrxGq1Pq5G4zxJo7h%2B0YZvbc89d8n05yp%2BBrtaX0g/6VvFJ/0sdl5nZ6tyJluyN7QBW7kWa1Xk4mNEVBfBwQOhNNj3KD/Pm1e7/V7V61cqTT0tLp44UVyv676rfQZ7UdIpBd9Huc5iS5zJNsGW0HZxYbwRnMU2pyrHWJW4%2BpjaHNWSq2Ht6MHglCrvY85gY4nv/7c6nXcoCH6jNG1pfv4M9XpHTny7Wc9gE9i6WFKRVZV3GRHZRdzOOFsje8RUbLu6SN4IAjtfVTp2qs71x5qoLoLjB4VV2Jc7RmBDqtV%2BqHb7/fL9eSXJXTQ390UNBg/I5bYJ7ExGgS0R2etX5siW7A/tlfLeD64vlCdBYK9flY%2BXqirDY257UEsuRnUJDgxj2HeTIbCrLVKzeZaazS8t/Vv0IM3O/ovi%2BM653QOBncm0AlsistdGaMMmxPWOlSGqsD5le8yJ6iKU7CApDPupOAdKerjiOCSwK8j3f6d2%2BwTVatdIknq952l%2B/n1K01au90NgZzIe2FIVI1syf3VxKd84JrQxCQJ7W2WLK%2BxYGR9vF4JaIqrLg/0yHav9siawq6heP1/t9snyvEWl6a6anz9Fvd6TCrkvAjuTlYEtEdkbZ1NoF/k5ZUK73Koe2GUMLGyvzI%2BzK0EtEdVuY19MT9ZfzAR2lXjebWq1TlUYXihJiqKHaG7uM4qiuxV2nwR2JqsFtlR8ZEu2XV1cKl9k531bqyG2y6PKYV3m2KqyqjyuLgW1RFS7p%2Brbb8JGfyET2NWQql6/UK3WKfL9WaVpoF7v1VpYeLPStNhvoCawM1krsCX3Iju/2ytjaBdxeysR2%2B6qWlxXJbyqoGqPpWsxLbkY1FJ1o7Kq221Snr%2BACeyy87xbl89aXyRJipJXRssAACAASURBVOM/0/z8aRoMDpjK/RPYmewosEd4y/gkqhjaIwS3/aoU1lULsTKp8mPnYlBLRLU7qrjNJhX9S5fALq9EYfgtNZuflu/PKU1r6vVeo4WFNyhNw6lNQWBnkiWwJfciO7/btOVstuRuaEvEtm2qEtZVDjOX8DgtcTWmJVeDWqpWYFZpW21g4hctgV1Gvv9rtdsfVa32E0lSHN9v%2Bax1Pt9tvR4EdiZZA1uq8lvGJbtCW3I7tiWC25QqhDWxZicel225HNMjRLULqrStptnwC5bALpe%2Bms3PqdH4V3lepDRtqdt9sxYXX174Z63XQmBnsp7AHqnu2WzJrreOS8WE8bRje4ToLgZRjaKx/3esDDEtuRzUUnVCsyrbaZqtv1gJ7LKo1S5Tq/UJBcHvJEnD4RM0P/8hRdE%2BRucisDPZSGBLbp7Nzu8284psye6z2kXd5noQ3etXhaCWiLppYl9nU5aQHnE7qKXqxGZVttMUl36pEtiu8/2b1Gqdpnr9cklSkuylhYUPqtc70vBkSwjsTDYa2COEdl5sD%2B1p3PZ6EN5LqhLTI4ReMdiv61e2mJbKENRSNWKzCttoiuu/VAlsd3XVbH5h7O3gNfX7L9XCwpuUJDOmh7sdgZ3JpIEtVT2yR2x76/hIFWJ7NWUM8KrFtET45Yl9uTFlDGmpLDE9UoWDuwrbOG1l/KVKYLsnVb1%2BvlqtM%2BT7t0iShsNDND9/kqLoXoZn2x6BnUkegT3iamjne7u2ntWWig9im4N7R0zGeBWjeUeIwI1j302mrCE9Uq6glqoTnFXZzmmowi9cAtslvv8rtdsfV632Y0lSktxNCwsnqNc7XJJndrg1ENiZ5BnYI4S2lG9oS%2B7F9rTvB24iCteH/ZWPsse0RFC7rUrbWqQqBPVKBLYLPG9ezeZnFYZfl%2BclStOmer1Xa2HhNUrThunxdojAzqSIwJamE9mSC6Et2X1We4TgxjQQiDvHPspPFUJaKmNMj1TpyVClbS1KFYN6JQLbbonC8FtqNj8j398qSRoMjtTCwvsVRXczPFs2zgT2jTfeqDPOOENXXXWVrr32Wt3znvfUueeee/t/j%2BNYn/rUp7RlyxZdd911iuNY%2B%2B%2B/v17xilfo4IMPnvDeiwrsEUJ7nO1ntUemHcFEd3kRi2tj3%2BSnKiE9Ut6glqoVmlXa1iIQ1NsjsG0VBNeo1fq4arVfSJLieD8tLHxQ/f5jzQ62TlkD28y3dI%2B59tprtWXLFh1wwAFKkkQre7/X6%2BkTn/iEjj76aD3/%2Bc9XrVbTOeeco%2Bc973k69dRTdcghhxiaPIvRi1/RoT3%2BSyrPWhvdbj63Ob4oyiO2xxeVecb2yoV/0QG8WmgQ3W4hFlfHfslX1UJaKntMS9WMzCpucx4IarjH825Ts3mmGo1vSZLSdEbd7pu0uPgSpWnd8HTFMX4GO0kS%2Bb4vSXrjG9%2Boq6%2B%2Bersz2PPz89q0adPtP0vTVMccc4w6nY7OPvvsCe696DPYK03zalLVPKstFXdme8R0/Jq%2B/yojGFfHfslfFWNaqkJQS9UNzKpu9ySI6vXhDLY9YoXhuWq1/lGet7Qu7/efroWFdymO72x4to1z5gz2KK7XEgTBNnEtSZ7n6T73uY9%2B8IMfFDlaAaZ1RlvK%2B%2BxzUbeb91ltafuFad7BPe0z3Du7/3HE9%2BSIxdWxX4pR1ZCWqhLTI1V9AlV1uydBVMNtQfATtdsfUxDcKEmKogdocfFD6vcPMjzZ9BgP7I1IkkRXXHGF9t13X9OjbFCZQju/2y4itqXi3ko%2BYjq4x%2B0sggjwJcTi2tg3xahySEtVi2mJsKz69m8EYQ23ed5WNZufvv3t4ElyJ3W771C3%2BxylaWB4uulyMrDPPvts3XDDDTr%2B%2BONNjzKh8RdTVz%2BnPX7b%2Bd2uq7Et2f2Z6o3Gky3zr0QMbhz7rhhVD%2BmR6gW1RFRK7IP1Iqrz5nlSEHhKUzu/R7mcEtXr31Sj8Wl53pwkaTB4jrrddytJNiuoVltLcjCwL7vsMp144ok67rjj9NCHPtT0ODnirPZaphHbUrGf3bY5urMgxtzE41YcQnpbBHXVsS/Wh7Auiud5mplpStrxR1CRl%2BslfUjST5b//f6SPqEwfLjC0NxUpjkV2D//%2Bc/1spe9TI973OP0%2Bte/3vQ4BSlDaI/fdr63X1RsS9MNbsn96IYdiOhiEdLbq2ZMj/CEuwP7Yv0I66KlaaqFhR4XOSvcohqNf1S9/hV5XqI07ajff4u63ZdpKS%2BLXUObsnlztjWBM4H961//Wi94wQt03/veVyeccII8L4%2B3frR1660Ha/PmS3K4rbyZCG2J2L7DtINbWjuWCO9qI6KLRUTvGEGNbbFP1o%2BwnpY0leI43e5rf5GXVPX6xWq1PiHfv0WSNBgcpYWFExVFd13%2BM4m58SzhRGDffPPNOu6447THHnvolFNOUZjzew5uvvlht//znntemuttT26an9OWij2rXdztr1wAliW4R7hyeHkRz9NDSGdDUGN17JuNIa6nJY6bIu6K4/u/U6t1qur1yyVJSXI3LSx8WL3eYYYns4/xwO52u9qyZYsk6aabbtL8/Ly%2B8Y1vSJIOOuggtdttveAFL9Att9yiN77xjbruum3D6cAD833hGsW2faEtcVY7u6LPbktmg3scVw63F/E8fUT0%2BlU7qCXCcWfYPxtHXE/LzTc/TLvtZnqKsorVaHxNzeZZ8ry%2B0rSmXu9VWlh4g9K0ZXo4K3mp4fdQ/OY3v9Ff/MVfrPrfzjrrLO29995r/ndJuuaaaya6/1tvXVAUrf23XXaG9sg0Qnulomut%2BBosKrhXYyq6N4IQ3zmC2Q5E9GQIaolozIJ9tHGE9TSNTo7ttltHUqL5%2BS18Bjsnvv9rtdsfUa32c0lSFB2submTFUX7G57MjD333CXTnzMe2KbtLLBH7A5tafqxPY0aK1dsj7gU3Vm5EucEsv2I53wR0yM8%2BbNhP02OuJ6m8Y95Eth5itRo/KuazX%2BU50VK044WF9%2BlxcXnqcpXaCewM8oa2COE9mrKEduSmeAeKWN4AysR0MUiqMcRi9mxr/JBXE/TeFxLBHZels5af0C12tKaeDg8VPPzH1MU7W14MvMI7IzWG9jj7I5tE6EtlSm2JbPBPUJ4wwWEsxkE9Tgicf3YZ/khrqeNwM5bokbjq2o2z5TnDZWmm7S4%2BH4tLj5DUh7f3uQ%2BAjujSQJ7xO7Qlsp7Vnv692VDcI8Q3iga0WwfgnolAnH92Gf5I65NILDz43m/V7v9IdXrS2vq4fAQzc19QnG8l%2BHJ7EJgZ5RHYI8Q2mspZ2yP2BTd4whwrEQwu4egXg2BuDHst2IQ1yasjGuJwN6oev07ardPkectKk1bWlx8txYXny/OWm%2BPwM4oz8AeR2yvpdyxLdkb3GshxN1DKJcTMb0jxOHGsN%2BKRVybQmDnYVHt9scVht%2BWJEXRgzU3d4aiaF/Dc9mLwM6oqMAeIbR3ZNoBbO5S165F944Q5JMhjjFCUO8IYTgZ9l/xiGvTeIv4xgXBtWq3T1AQ/LfS1Fev94bl77WumR7NalkDm71YsNGT397QHv8FMe3YHi0AphW%2B4wuO6cb2agtpV6O7qEA0Fe4EL6aBmM6CKJwM%2Bw/AzqRqNL68fCGzSElyF83Pn6l%2B/2DTg5UKZ7ALPoO9kr2hPa5KZ7VN3%2B/2XA1vAEuI6fUgCifD/jODs9c24Az2%2BnjevNrtD6peX2qRweBwzc%2BfqjjebHgyd/AW8YymHdjjiO2dMRm99gT3OOIbsAchvVFE4WTYf2YR1zYZj2wCe21BcL3a7fcoCH6nNK1rcfG9Wlx8obiQ2foQ2BmZDOwRQjsL08Fr%2Bv53jvgG8kdE54UonAz7zx4Etm1GkU1gryZVGH5Trdap8ryhkmQfzc39kwYDjuONILAzsiGwR9wIbcl8bEt2BK8NM6wPEQ5sj4guClE4GfaffYgSW91888MI7O0M1Wqdokbjm0v/NjxMc3On85bwCXCRMwfZf0G0kdEvGJOhbe6CZavPILkQ3FlDghBHGRDO00YQTob9ZzfiGu7wvFvU6bxHtdrPl68S/hbNz79Wkm96tErgDLZFZ7BXsj%2B0x9lwVluyL3Jtm6d4xDnyRCTbjiicDPvPDcS1C%2BL4UHEGWwqCn6nTebd8/1al6SbNzZ2pfv8vTI9VCrxFPCObA3ucO7FtS2hLdsetzbO5gZCfDgIX2yIIJ8P%2Bcw9x7Y6HK47DSgd2GH5LrdZH5XmR4nh/zc7%2Bi6LoHqbHKg0COyNXAnvEndCW7IptyY2odWFGANVCFG4c%2B85txLVbqhzYiZrNM9VsfkmSNBgcobm5TypJZgzPVS58Bruk3PmctmTHZ7XH2fC57Z1ZazFm67wAyoco3Dj2XTkQ1nBJT%2B32BxSGF0uSut3XaX7%2BreLz1uYQ2I5yM7QlO2Nbsj9gd7Zos31%2BAPYiCjeOfVc%2BxDXcsXQxs%2BNVq123/P3WH9Pi4tNNj1V5BLbj3Aptyc7YltwL7pUIcABZEYUbx74rL8IabvH9X2pm5h3y/T8oSTZrfv5z6vcPNj0WRGCXhnuhLdn3FvJxrgf3SlkXha5vJ4DtEYUbx74rP8Ia7qnVLlWnc4I8r6c43lezs%2Bcoiu5ueiwsI7BLxu3QluyMbWn1RVYZY3Qji8ky7gfAVQThxrHvqoOohqtSNRpfUbN5ujwv1XD4SM3O/rOSZJPpwTCGwC4pN0NbciO2R6oS3TuTx6K0ivsNmBRBOBn2X7UQ1XBdrFbrNDUa50qS%2Bv3naG7uQ0rTuuG5sBKBXXLuhrbkVmyPEN0bU9RCl32PMiAE88F%2BrB6iGmXRV7t9ksLwYqWpp273eC0svFKSZ3owrILArgi3Q1tyM7ZH%2BOotc4pYUPO4oQjEX77Yn9VDTKOcPG9Onc47Vav9RGla18LCaep2jzE9FnaAwK4Y90Nbcju2xxHebiLasVFEXzHYr9VEUKP8PO/3mpn5fwqC/1Ka7qK5uc%2Br33%2Bk6bGwEwR2RZUjtKXyxPY4vnKrevIKBI4Nc4i86WA/Vw8hjWry/Rs0M/P38v1blCR7aXb2KxoO/8z0WMiAwK648oS2tP0v4bIE90oEONaSd3xU%2BVgi5MzjMagWQhoYqdWuUqfzLnneouJ4f83OfkVRtLfpsZARgQ1JZQvtkTKe3c4iy6K0yuGE7AgcTAvHWrkRz0BW9foWtdsflOdFiqI/19at/8LXcDmGwMY2yhnaUnXObme1nsUsMQ4gT8R0%2BRDQQB4ajXPUap0uSRoMnqTZ2dOVpk3DU2G9CGysqryhPVLVs9sbsd7FMEEOQCKky4BwBqYjUbN5hprNL0uSer0Xa27u/ZJ8s2NhQwhs7FD5Q1tafQFBdG/cRhfVhDngLmLaPcQzYIeh2u0PKAwvkCQtLh6vhYVXie%2B4dheBjUyqEdrjeEv59G1kgU6UA9NFSNuPcAbcsahO552q13%2BkNK1pYeHj6nafZnooTIjAxrpUL7RHCG478fZ1oBiEtJ2IZ6AsPG%2BrOp3/p1rtOqVpW3Nzn1O//1jTYyEHBDY2pLqhPcLbyt3Exd2AOxDR9iCcgSrxvN9rZuZtCoLfKEk2a27uKxoMeB0oCwIbEyG0x631wkh4u4kYRxkQ0XZg4Qxgie//WjMzb5Pv/0FJcldt3fo1RdG9TI%2BFHBHYyAWhvSOEd/lljRhCHEUgos0ingFkEwTXqNN5u3x/VnG8n2Znv6Yo2tv0WMgZgY1cEdrrQXhXT5YQIsIxjng2j4AGMLla7Qp1Ou%2BS5/UURQdq69YvK0l2Mz0WCkBgoxA33/wwInvDdrSYI77Lj7emVwfxbAcCGkCx6vWL1G6fIM%2BLNBw%2BSlu3fkFp2jE9FgpCYKMwo7PZEme087OzhSABXi1cRd0uBLO9iGgAZtTr31W7/QF5XqLB4EjNzn5aadowPRYKRGBjKnjr%2BLRkWUQS4dU1SQBWJc6JZDcR0ADsU6//h9rtD8vzUvX7z9Dc3ClK08D0WCgYgY2pIrRtQIRjIwhPmEZEA9jeaG25225NSYnZYcaE4TfUan10Oa6fq9nZj0jyTY%2BFKSCwYcSttx6szZsvMT0G1kSEAzCBiAaQzfhHEW0Thueq3T5VktTrvVBzcydJ8swOhakhsGHQ43TrrQuEtrOyLoQJcQDjiGgAG2NzVI80Gueo1TpdktTrvVxzc%2B8RcV0tBDaM42JoZcfZcKBaCGgA%2BXEhqkcajX9Rq3WmJKnbfY3m5/9exHX1ENiwCp/Rriqujg64hYgGkD%2BXYnqlRuMLarU%2BI0nqdv9O8/NvFnFdTQQ2rERoY1ucBQemj4gGUByXY3qlMPzqWFy/VfPzbzA8EUwisGE1QhvZcRYcWB8CGsB0lCmmVwrDb6rd/oSk0Zlr4rrqCGw4gdDG5AhwVA0BDWB6yhzRa6nXL1Cr9Q%2BSpF7vZctvC0fVEdhwCqGN4hDgcA0BDaB4VQznLGq1q9Run7T8Pdf/R/%2BfvTuPk7ug7z/%2Bnr1ISNhcBEq4fiRpIuG2UIgCgSBSBES5tAJSpAE5fgpCi1KwqAhSUeQWVO5DGgSkKBT9oQHKoRVFTYWGgFyVkISEXOTY3fn9QROICbCTfHe/O7vP5%2BOBJt8ZZj98MoS89vudmfnzz4vXXJMIbOqU0Kb7eR043Uk8A11DMK%2B9hoY/ZsCAc1KptGXp0gMyf/63Iq5ZTmBT14Q2PYsI552IZqDzhHDPVKnMzMCBX0ylsihtbTtn3rzvpVptKHssehCBTa8gtKkftUaWIO%2BZxDL1Tbx1n6amhgwZMiBz5ixMW1tH2eOwVhZnwIAvp6FhdtrbR%2Be11/411Wq/soeihxHY9CpCm95nbUNOoK%2BeQKbn6I7YFXmwtqpZd91vpanpmXR0DMu8eT9MR8eQsoeiBxLY9EpCG5YTktAdnBGG3m2ddSanpeXBVKtNWbDgprS1bVr2SPRQApteTWgDsKZEM5AkTU2/Sr9%2B1ydJFi36lyxZ8r6SJ6InE9j0CUIbgOWEM9BZlcqrWXfdb/7vx3F9MosW/X3ZI9HDCWz6lLf%2BoUpsA/ROAhooRkfWXfebaWiYm/b292T%2B/K%2BXPRB1QGDTZzmrDVC/RDTQ1dZZ5440N/861Wq/zJ9/Q6rV/mWPRB0Q2PR5Qhug5xLSQBkaGl54y%2Buuz8%2ByZWNLnoh6IbDhf7l8HKAcIhroWTqy7rqXpFJpy7JlE7No0d%2BVPRB1RGDDaohtgK7wAZ/DDPR4LS0/TlPT1FSr62bBgkuTVMoeiToisOFdiG2A2v35WemmpoYMGVLSMACdVKnMTf/%2B1yVJXn/97LS1bVLyRNQbgQ01ENsAq3KJN9Bb9Ot3UyqVRWlr2yaLFh1b9jjUIYENa0hsA32NkAZ6s4aG59LScm%2BSZNGif0m12lDyRNQjgQ0F%2BPM/dApuoN6JaaCv6d//2lQqHVm6dL8sWfL%2BssehTgls6AKCG6gnYhro6xobn05z8y9SrTZk4cJzyh6HOiawoRsIbqCnENMAq1pnnX9Nkixb9tG0tY0qeRrqmcCGEqzuD7iiGyiSkAbonIaG59Pc/HCSZNGi00uehnonsKGHeLs/DAtv4J0IaYC1s846d6dSqWbp0n2zbNl7yh6HOiewoYcT3oCIBugqr6el5f4kyeLFJ5Y8C72BwIY69U5/4BbfUH9ENED3a2n5eSqV19PePjJLluxW9jj0AgIbeqF3%2BoN6U1NDhgwZkOSn3TcQ9GHCGaDnamm5L0myZMkxSSrlDkOvILChj5ozZ3za2jre9X7OhtPXCWSA3qmh4eU0Nf13qtWGLF788bLHoZcQ2MA7WtO4EOY9h0B80/IrOObMWdipbzAB0Hs1Nz%2BYJGlre1/a24eXPA29hcAGukRPibrOhH53zirwAKBnaG5%2BKEmydOmhJU9CbyKwgV6tp4Q%2BANBzVCpz0tT0dJJk8eIDSp6G3qSh7AGee%2B65fPGLX8yBBx6YcePGZf/991/t/aZMmZKPfOQj2WabbbL33nvnpptu6uZJAQCA3qCp6ddJkvb2bdLRsX7J09CblB7Y06ZNy5QpU7L55ptn1KhRq73Pr3/965xwwgkZN25cvvOd7%2BSjH/1ozjnnnEyePLmbpwUAAOpdc/OvkiRLl%2B5d8iT0NqVfIj5x4sR84AMfSJJ8/vOfz%2B9///tV7nPZZZdl3LhxOffcc5Mku%2ByyS/70pz/loosuysEHH5yGhtK/TwAAANSFapqafpckWbp0r5JnobcpvUzfLY6XLl2aRx99NPvtt99Kxw844IDMnDkz//Vf/9WV4wEAAL1IpTIzDQ2zU602Ztmy95Y9Dr1M6YH9bp5//vksW7YsI0eOXOn46NGjkyTTp08vYywAAKAONTU9mSRpb98q1eqAkqehtyn9EvF389prryVJWltbVzq%2B/OfLb19TjY09/nsMvdLyvdt/97P7ctl/uey/PHZfLvsvj913n0olaWyspFqtvOP9mpv/O0nS0bFzmpr8ulCsHh/Yy1Uqq/8X5e2Od1Zra/%2B1%2BvtZO/ZfHrsvl/2Xy/7LY/flsv/y2H3Xq1arGTiwX979It3nkyQtLTunpcUZbIrV4wN70KBBSVY9Uz1v3rwkq57ZrtW8ea%2Bnvb1jrR6D2jU2NqS1tb/9l8Duy2X/5bL/8th9uey/PHbfPVpb%2B6dSqWbhwsWpVpe8430HDHgmDQ3J/Pl/mba2hd00IfVuyJDOfTOmxwf2Zpttlubm5jzzzDPZfffdVxx/%2Buk3Phj%2B7T7aq7Pa2zvS1uY3u7LYf3nsvlz2Xy77L4/dl8v%2By2P3Xa9aTdrbq6lWq297n0rltTQ0zEmSLFkyJtWqXxOK1eNfdNDS0pJddtkl99xzz0rH77777gwfPjzjxo0raTIAAKCeNDT8KUnS0THCG5zRJUo/g/36669nypQpSZKXXnopCxYsyL333psk%2Beu//usMHTo0J554Yo444oiceeaZOeCAA/L4449n8uTJ%2BfKXv%2BwzsAEAgE5paHg5SdLRsXnJk9BblR7Ys2fPzmc/%2B9mVji3/%2BfXXX5%2Bdd945O%2BywQy6//PJ885vfzJ133pm/%2BIu/yJlnnplDDz20jJEBAIA6tDyw29u3KHkSeqvSA3uTTTbJU0899a73mzBhQiZMmNANEwEAAL1RQ8PsJElHx2YlT0Jv5fpqAACgT6hU3vhkoo6O9UuehN5KYAMAAH1CQ8MbH/UrsOkqNQf2T3/603d863sAAICeqFJZHtjDSp6E3qrmwD7ppJOy11575aqrrsqcOXO6YiYAAIDCvXmJuMCma9Qc2Ndcc03GjRuXiy66KHvssUe%2B8IUv5He/%2B11XzAYAAFCQjhVnsKtVgU3XqPldxMePH5/x48fn5Zdfzs0335zbbrstd955Z7beeuscccQR2XfffdPS0tIVswIAAKyRSmVhKpWOJElHx9CSp6G3qlTX8gXVS5cuzY9//ONcd911efLJJzNkyJAcdthhOfLIIzNsWM//ztCcOQvT1tZR9hh9TlNTQ4YMGWD/JbD7ctl/uey/PHa/9oYPf6zsETJz5s5lj1B3PPe7x9ChA5J0ZMGCKalWl6z2PpXKrAwadFSq1ebMmjW7ewek7g0fvl6n7rfWn4M9Y8aMPPXUU3nppZfS0NCQLbbYIldffXWuv/76XHjhhT67GgDgLXpCKK%2BpNZldlNNTVCpL//dH65Q6B73bGgf2lClTctNNN%2BWhhx7Keuutl8MOOyyHH354Ntpoo8ycOTNnnHFGzj33XIENAPQZ9RzPXeXddiLA6T5vBHa1KrDpOjUH9tVXX51bbrklL774YkaPHp2zzz47H/7wh9OvX78V9xk%2BfHgmTZqUo446qtBhAQB6AiFdnLfbpfCmaG%2Bewe73jveDtVFzYF9wwQWZMGFCvvzlL2f8%2BPFve7/NN988xx133FoNBwBQJiFdntXtXnSzdpafwRbYdJ2aA/vf//3fs%2Bmmm77r/TbccMOcfPLJazQUAEAZBHXP9ue/PoKbWlQqy/73Ry4Rp%2BvU/DnY//zP/5xnnnlmtbf98Y9/zKc%2B9am1HgoAoDsMH/7YSn9RX/z6URuvwabr1XwG%2B%2BGHH86CBQtWe9uCBQvyyCOPrPVQAABdRYj1Xm/9tXV2mz/nXcTpDmv9MV1vNWvWrJXe7AwAoKcQ1n3L8l9voc2b2pIk1WpLyXPQm3UqsO%2B///787Gc/W/HzK6%2B8MkOHDl3pPosXL86jjz6a97znPcVOCACwhkQ1zmqznNdg0x06FdhPPfVUfvjDHyZJKpVKHnjggVQqlZXu09LSkjFjxuTMM88sfkoAgBoIa1bHWe2%2B7o3A9hpsulKnAvv444/P8ccfnyR5z3vek5tuuinbbrttlw4GAFArYU1nCO2%2B6c0z2C4Rp%2BvU/BrsqVOnprGxsStmAQBYY%2BKaWg0f/pjI7lOcwabr1fwxXeIaAOhpxDVrynOnL/EabLpep85g77PPPrnooovynve8Jx/84AdXef31n/v3f//3QoYDAHgn4ogiuGS8b1h%2BiXi16lOP6DqdCuxtt902AwYMWPHjdwtsAICuJq4pmkvGezuXiNP1OhXYX//611f8%2BIILLuiyYQAAALpCpbLkf3/Uv9Q56N1qfg02AEDZnL0GalWpzEuSdHQMLXkSerNOncGeMWNGTQ%2B64YYbrtEwAABQJpeJ915vBvawkiehN%2BtUYE%2BYMKGm113/4Q9/WOOBAAAAitbQMD9JUq06g03X6VRgf%2BUrX%2BnqOQAAOsXl4cCacIk43aFTgX3ooYd29RwAAJ0yc%2BbOIhuoWaXyxhlsgU1X8iZnAADwv7z%2BurdanEplaZKkWh1S8iz0Zp06g/3nOjo68tBDD%2BWZZ57J4sWLV7qtUqnkuOOOK2Q4AACAtdXQ8EqSpFpdLx0d65U8Db1ZzYE9d%2B7cHHnkkZk2bVoqlUqq1WqSrPQmaAIbAIB64%2Bx179XQ8KckSUfHxYpYeQAAIABJREFU5kk6/%2BbNUKuaLxG/6KKL0tDQkJ/85CepVqu55ZZb8uMf/zhHHnlk/s//%2BT%2B5//77u2JOAIAVhBBF85zq3Rob3wjs9vYtSp6E3q7mwH744Ydz9NFHZ8SIEUmS5ubmjBw5MmeccUZ22WWXXHDBBYUPCQDw5wQRRfFc6v2Wn8Fubx9V8iT0djUH9ssvv5xNNtkkjY2NaWhoyOuvv77itokTJ%2Bahhx4qdEAAgLcjjFhbnkN9w5uXiI8ueRJ6u5oDe/DgwVmwYEGSZPjw4Zk2bdqK2%2BbPn5/29vbipgMAeBcCiTUxc%2BbOnjt9yPLAbmsbWfIk9HY1v8nZuHHj8vTTT2ePPfbI7rvvnssvvzyDBg1Kc3NzLrzwwmy33XZdMScAwNvy2dh0lqjui5amoWFGkqS9XWDTtWoO7MMPPzzPPfdckuTkk0/Ob37zm5x66qlJko033jhnnHFGsRMCAHTC8nAS2qyOsO67Ghunp1JpT0fHsLS3b1T2OPRyNQf2rrvuml133TVJMmzYsPzwhz/Mk08%2BmUqlktGjR6e5ubnwIQEAOkto81bCmqamp5Ik7e1/FR/RRVerObD/XENDQ8aNG1fELAAAhRHafZeo5q0aG98I7La2nUqehL6g5sB%2B/PHH3/U%2B733ve9doGACAogntvkNYszrLA3vZsl1KnoS%2BoObA/sQnPpFK5Z0vrfjDH/6wxgMBAHSFt8aX2O4dBDXvplJ5LY2NM1KtVtLWtkPZ49AH1BzY11xzzSrH5syZk//3//5fnnjiiZx55pmFDAYA0FXEdn0S1NRq%2Bdnrjo5R6ehoLXka%2BoKaA3v8%2BPGrPf6hD30oZ511Vh555JHsscceazsXAEC3%2BPNoE9w9h6BmbS1/g7O2tvemWi15GPqEhiIf7IMf/GDuvvvuIh8SAKBbzZy584q/6D5v3bv9U5TGxieTJG1tXn9N91jrdxF/q/nz52fp0qVFPiQAQGneLvKc5V5zwpnu05Gmpv9Okixb9tclz0JfUXNgz5gxY5VjS5cuzVNPPZVvfOMb2XbbbQsZDACgpxLe70xE0xM0NLyYSmVRqtV%2BaWvbquxx6CNqDuwJEyas9l3Eq9VqNt9885x11lmFDAYAUG86E5b1HuHimXqx/PXX7e3bpFptLHka%2BoqaA/srX/nKKsfWWWedbLzxxtl%2B%2B%2B3T2OjJCwDwdooK1FpCfc6c8RkyZEDmzFmYtraOQr4%2B9HSNjW9cHt7WtlPJk9CX1BzYhx56aFfMAQBADWoJ9aZC33UH6sPyj%2BhatswbnNF9Cn0XcQAAgPItTmPjs0mStrYdS56FvqTm72d%2B6lOf6vR9K5VKvve979X6JQAAANZYY%2BP0VCod6egYnra2jcsehz6k5sB%2B/fXX88ILL2TWrFnZcMMNs/7662fWrFmZMWNG1l9//Wy22WZdMScAAECnvPkGZ3%2BVZNU3aIauUnNgn3jiifmnf/qn3Hjjjdlxxzcvt/jlL3%2BZ0047Lccff3x22223QocEAADorDdff%2B3zr%2BleNb8G%2B8ILL8xJJ520UlwnyU477ZQTTjgh3/zmNwsbDgAAoFbLz2ALbLpbzYE9bdq0jBgxYrW3bbzxxpk%2BffpaDwUAALAmKpVX09AwM9VqJW1t25c9Dn1MzYE9bNiw3Hfffau97b777suwYcPWeigAAIA10dj4dJKko%2BMv09HRWvI09DU1vwb74x//eC688MLMnz8/%2B%2B%2B//4o3Ofu3f/u33HvvvTn55JO7Yk4AAIB31dj4xhW1bW3blTwJfVHNgX3cccdl0aJFueaaa3LPPfckSarVapqbmzNp0qQcd9xxhQ8JAADQGcsDu719h5InoS%2BqObCT5JRTTsnRRx%2BdX//615k7d24GDx6cHXbYIYMHDy56PgAAgE5rbHwmSbJsmTPYdL81CuwkGTx4cPbcc88iZwEAAFgLC9LYOCNJ0ta2dcmz0BfV/CZnAAAAPdGbb3C2STo6hpQ8DX2RwAYAAHqFN9/gbNuSJ6GvEtgAAECv0NDwQpKkvX2rkiehrxLYAABAr9DY%2BFKSpL19dMmT0FcJbAAAoFdoaFge2CNLnoS%2BSmADAAC9QDWVyswkSVvbqJJnoa/q1Md0bbXVVqlUKp1%2B0N///vdrPBAAAECtKpW2VCrVVKvrpaNjWNnj0Ed1KrD//u//fqXAvuuuu7JgwYJMmDAh66%2B/fmbOnJkHHnggAwYMyIEHHthlwwIAAKxeW5KkvX2LJJ0/OQhF6lRgn3LKKSt%2BfO2112bIkCG56667MnDgwBXH58%2Bfn6OOOiqDBg0qfkoAAIB39EZgd3RsUfIc9GU1vwb7pptuyrHHHrtSXCfJeuutl2OPPTY33nhjYcMBAAB0zvIz2JuWPAd9Wc2B/fLLL6e5uXm1tzU3N%2BeVV15Z66EAAABqUal0JEmq1Y1KnoS%2BrObA3mKLLXLttdemra1tpePLli3Ltddemy22cEkGAADQ3drf%2BN/2DUqeg76sU6/BfquTTz45J510Uvbee%2B/ss88%2BWX/99TNr1qzcd999mTFjRi6%2B%2BOKumBMAAOAdvBHYHR1/UfIc9GU1B/bEiRNz5ZVX5sILL8x1112XarWaSqWScePG5eyzz87uu%2B/eFXMCAAC8g%2BWBvWHJc9CX1RzYSbLbbrtlt912y4IFC/Laa69l0KBBq7zpGQAAQHdZ/hrsjg6XiFOeNQrs5QYOHCisAQCAHqFabUxHx5Cyx6APW6PA7ujoyEMPPZRnnnkmixcvXum2SqWS4447rpDh3uqnP/1prrzyykyfPj39%2BvXLe9/73nzuc5/LyJEjC/9aAABA/alW10tSKXsM%2BrCaA3vu3Lk58sgjM23atFQqlVSr1SRvhPVyRQf2ww8/nJNOOikf/vCHc/LJJ2fevHm59NJLc/TRR%2BdHP/qRs%2BgAAECS9coegD6u5sC%2B6KKL0tDQkJ/85CfZe%2B%2B9c8stt2TQoEH5/ve/nwcffDBXX3114UP%2B6Ec/yogRI3L%2B%2BeevCPmNN944hx56aH71q19lwoQJhX9NAACgvlSrrWWPQB9X8%2BdgP/zwwzn66KMzYsSIJElzc3NGjhyZM844I7vssksuuOCCwodsa2vLgAEDVjpLvt56vjsFAAC86Y1LxKE8NQf2yy%2B/nE022SSNjY1paGjI66%2B/vuK2iRMn5qGHHip0wCQ55JBD8swzz%2BSGG27IvHnz8uKLL%2Bb888/PqFGjMn78%2BMK/HgAAUH%2Bq1UFlj0AfV/Ml4oMHD86CBQuSJMOHD8%2B0adOy0047JUnmz5%2Bf9vb2YidMstNOO%2BXSSy/NqaeemnPOOSdJMnr06Fx99dVpaWlZq8dubKz5ewwUYPne7b/72X257L9c9l8euy%2BX/ZfH7rtba5qa7Jry1BzY48aNy9NPP5099tgju%2B%2B%2Bey6//PIMGjQozc3NufDCC7PddtsVPuTjjz%2Bef/iHf8jBBx%2BciRMnZsGCBfn2t7%2BdSZMm5ZZbblmrNzlrbe1f4KTUyv7LY/flsv9y2X957L5c9l8eu%2B8ezc2tGTJkQNlj0IdVqsvfBryTHnrooTz33HM5/PDDM3v27Pzd3/1dpk2bluSNNx676qqrMmrUqEKHPOiggzJixIhceumlK469%2Buqr2X333XPqqafm6KOPXuPHnjfv9bS3dxQxJjVobGxIa2t/%2By%2BB3ZfL/stl/%2BWx%2B3LZf3nsvnu0tvZPY%2BMfs3Tpv2Thwm%2BUPQ69UGe/cVPzGexdd901u%2B66a5Jk2LBh%2BeEPf5gnn3wylUolo0ePTnNzc60P%2Ba6mT5%2BeiRMnrnRs6NCh2WCDDfL888%2Bv1WO3t3ekrc1vdmWx//LYfbnsv1z2Xx67L5f9l8fuu0dHRz97plQ1B/afa2hoyLhx44qY5W2NGDEiU6dOXenYzJkz88orr2TjjTfu0q8NAADUi35lD0Aft0bvADBnzpx861vfyic%2B8Ynsu%2B%2B%2Befrpp5MkkydPzpNPPlnogEly%2BOGH5/7778%2BXv/zl/Md//EfuueeeTJo0Keuuu24%2B/OEPF/71AACA%2BlOtCmzKVfMZ7BdffDGf%2BMQnMnfu3IwZMyZ//OMfs2TJkiTJ1KlT8/jjj%2Be8884rdMjDDz88zc3Nufnmm3PHHXdk3XXXzTbbbJPzzz8/G2ywQaFfCwAAqFdr9wlDsLZqDuyvf/3rGTBgQG699dYMHz48W2%2B99Yrbdtxxx1xyySWFDpgklUolH/vYx/Kxj32s8McGAAB6h2pVYFOumi8Rf%2BSRR3LSSSdlo402SqVSWem24cOH55VXXilsOAAAgM5b67eYgrVSc2AvXrw4gwcPftvbAAAAyrFGbzEFhan5GbjFFlvk0UcfXe1tv/zlLzNmzJi1HgoAAKBW1Wpj2SPQx9Uc2Iceemiuvfba3HTTTVmwYEGSpL29PT/96U9z880359BDDy18SAAAgHfnDDblqvlFCkcccUSmTp2ar3zlKzn33HOTJH/7t3%2Bbjo6OHHTQQTnkkEMKHxIAAODdCWzKtUbvAnDeeefl4IMPzpQpUzJr1qwMGTIke%2B65Z3baaaei5wMAAOgkgU25agrsJUuW5Nvf/nY%2B8IEPZMcdd8yOO%2B7YVXMBAADUSGBTrpqegeuss06%2B973vZdGiRV01DwAAwBqpVgU25ar5GThy5Mi89NJLXTELAADAWhDYlKvmZ%2BCnP/3pXHHFFXnxxRe7Yh4AAIA10tExouwR6ONqfpOzu%2B%2B%2BO4sWLcq%2B%2B%2B6bLbfcMsOHD0%2BlUllxe6VSySWXXFLokAAAAO%2Bkvf0vsmTJ%2BmWPQR9Xc2D/9re/TUNDQ4YOHZoZM2ZkxowZK93%2B1tgGAADoHv2SLCx7CPq4mgP7gQce6Io5AAAAoK55FwAAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIAC1PwxXcs999xz%2BcUvfpE5c%2BbkoIMOyvrrr5/Zs2dnvfXWS0tLS5EzAgAAQI9Xc2B3dHTk7LPPzm233ZaOjo5UKpW8//3vz/rrr58vfOEL2XrrrfOZz3ymK2YFAACAHqvmS8SvvPLK3HHHHTnllFNy5513plqtrrhtwoQJefDBBwsdEAAAAOpBzWewb7/99hx//PGZNGlS2tvbV7ptk002yQsvvFDYcAAAAFAvaj6D/ac//Snvfe97V3tbv379snDhwrUeCgAAAOpNzYE9dOjQvPjii6u97dlnn82GG2641kMBAABAvak5sHffffdceeWVeeWVV1Ycq1QqWbBgQW688cbsueeehQ4IAAAA9aDm12B/5jOfySGHHJL99tsv48ePT6VSycUXX5ynnnoqlUolxx9/fFfMCQAAAD1azWewN9hgg9x222354Ac/mMcffzxJ8sQTT2SXXXbJLbfckqFDhxY%2BJAAAAPR0NZ/BTt6I7K9%2B9atFzwIAAAB1q%2BYz2AAAAMCqaj6DfdZZZ73tbZVKJa2trdlmm20yceLENDc3r9VwAAAAUC9qDuwHHnggCxcuzIIFC9LQ0JDW1tbMmzcvHR0dGThwYDo6OrJo0aKMHj061113XYYNG9YVcwMAAECPUvMl4ldeeWVaW1vzL//yL3niiSfy6KOP5oknnsj555%2Bf9dZbL9ddd11uuOGGvPrqq/nmN7/ZFTMDAABAj1PzGexzzz03Rx11VD784Q%2BvONbc3JwDDzwwc%2BbMyde%2B9rXcdNNNmTRpUq6%2B%2BupChwUAAICequYz2L/97W8zZsyY1d42ZsyYTJ06NUmy5ZZbZs6cOWs3HQAAANSJmgN7wIAB%2BcUvfrHa237xi19kwIABSZIlS5as%2BDEAAAD0djVfIr7ffvvlO9/5TiqVSv7mb/4m66%2B/fmbNmpUf//jH%2Be53v5vDDz88STJ16tSMHDmy8IEBAACgJ6o5sE877bTMmDEjl19%2Bea644ooVx6vVav7mb/4mp556apJk2223zfjx44ubFAAAAHqwmgO7paUlF110UZ566qn88pe/zNy5czN48ODstNNOGTt27Ir77brrroUOCgAAAD1ZzYG93NixY1cKagAAAOjL1jiwk%2BS1117L4sWLVzm%2B4YYbrs3DAgAAQN1Zo8C%2B6qqrcv3112f27Nmrvf0Pf/jDWg0FAAAA9abmj%2Bm64447cvnll%2BdjH/tYqtVqJk2alGOOOSYbbLBBNt9883zpS1/qijkBAACgR6s5sG%2B44YYcd9xxOeGEE5Ik%2B%2ByzT0477bTce%2B%2B9WXfddbNgwYLChwQAAICerubAfu6557L99tunoeGNv7WtrS1J0r9//xxzzDH5/ve/X%2ByEAAAAUAdqDuympjdetl2pVDJw4MC8/PLLK24bOnRoZsyYUdx0AAAAUCdqDuzNNttsRURvvfXWmTx5ctrb29PR0ZHJkydnxIgRhQ8JAAAAPV3Ngb3rrrvmscceS5Ice%2ByxeeSRR7Ljjjtml112yT333JNjjjmm8CEBAACgp6v5Y7o%2B%2B9nPrvjx%2B973vtx444350Y9%2BlEqlkj322CPvf//7Cx0QAAAA6kFNgb106dLcdddd2WGHHTJq1KgkyQ477JAddtihS4YDAACAelHTJeItLS05%2B%2ByzM3v27K6aBwAAAOpSza/B3nTTTTNr1qyumAUAAADqVs2BfeSRR%2Ba73/1uFi5c2BXzAAAAQF2q%2BU3OnnvuucyePTsTJ07M%2B973vgwfPjyVSmXF7ZVKJZ///OcLHRIAAAB6upoD%2B7rrrlvx43vuuWeV2wU2AAAAfVHNgT116tSumAMAAADqWs2B3djY2BVzAAAAQF2rObCXe%2BSRR/LYY49lzpw5%2BfSnP52NNtooU6dOzYgRIzJkyJAiZwQAAIAer%2BbAXrx4cU488cQ8/PDDqVarqVQqOeyww7LRRhvlqquuyogRI3L66ad3xawAAADQY9X8MV3f%2Bta38sQTT%2BSb3/xmfvnLX6Zara64bdddd80jjzxS6IAAAABQD2o%2Bg33PPffkM5/5TPbdd9%2B0t7evdNtGG22U//mf/ylsOAAAAKgXNZ/Bnj17dsaMGbPa2xobG7N48eK1HgoAAADqTc2BveGGG%2Bbpp59e7W1PPfVUNtlkk7UeCgAAAOpNzYG9995754orrsiTTz654lilUsmf/vSnXH/99dlnn30KHRAAAADqQc2vwT7ppJPyH//xHznkkEMyduzYVCqVnHnmmXnuueey2Wab5dhjj%2B2KOQEAAKBHq/kM9sCBA3PrrbfmhBNOSFNTU0aMGJGGhoYcffTRufHGG9O/f/%2BumBMAAAB6tJrPYCfJuuuumxNOOCEnnHBC0fMAAABAXar5DPYFF1yQZ555pitmAQAAgLpVc2Bfd9112W%2B//fLxj388kydPzoIFC7piLgAAAKgrNQf2gw8%2BmDPOOCNLly7NWWedld122y2nn356fvGLX3TFfAAAAFAXag7swYMH58gjj8ztt9%2BeH/7whznssMPy0EMP5ZOf/GT22muvXHbZZV0xJwAAAPRoNQf2W40dOzZf%2BMIX8sADD%2BSSSy5Je3t7Lr300qJmAwAAgLqxRu8i/lYvvPBCbr/99tx55515%2BeWXs8EGGxQxFwAAANSVNQrs119/Pffee29uv/32/Od//meampqy55575uyzz85uu%2B1W9IwAAADQ49Uc2GeccUbuvffeLFq0KFtuuWXOOOOMHHDAARk8eHBXzAcAAAB1oebAvv/%2B%2B3PQQQfl4IMPzpZbbtkVM72tyZMn54Ybbsizzz6bgQMHZrvttsu3v/3tbp0BAAAAVqfmwH7wwQfT3Nz8tre/%2BuqrGTp06FoNtTqXXHJJrr322nz605/Odtttl9deey0PPvhg4V8HAAAA1kTNgb26uK5Wq3nggQdy22235Wc/%2B1l%2B//vfFzLcctOnT88VV1yRq666KrvuuuuK43vvvXehXwcAAADW1Fq9i/jzzz%2BfH/zgB7njjjsyc%2BbMNDc3Z5999ilqthVuv/32bLrppivFNQAAAPQkNQf2kiVLcs899%2BQHP/hB/vM//zPVajWVSiV/93d/l2OPPTZDhgwpfMgnnngiY8aMyWWXXZYbb7wx8%2BfPz/bbb59/%2Bqd/6vbXgQMAAMDqdDqwf/vb3%2Ba2227Lj3/84yxcuDD9%2B/fPRz/60eyzzz457rjjMnHixC6J6ySZOXNmpk6dmmnTpuVLX/pSmpubc%2Bmll%2Bboo4/Offfdl9bW1jV%2B7MbGhgInpbOW793%2Bu5/dl8v%2By2X/5bH7ctl/eey%2BezU12TPl6lRgH3DAAXn66aeTJNtvv30OPvjgfOhDH8q6666b%2BfPnd%2BmAyRuv8V60aFEuueSS/OVf/mWSZKuttspee%2B2VW2%2B9NZMmTVrjx25t7V/UmKwB%2By%2BP3ZfL/stl/%2BWx%2B3LZf3nsvutVq9UMGTKg7DHo4zoV2NOmTUulUsmECRNy2mmnZfTo0V0910oGDRqU9ddff0VcJ8kGG2yQkSNHrgj/NTVv3utpb%2B9Y2xGpUWNjQ1pb%2B9t/Cey%2BXPZfLvsvj92Xy/7LY/fdY/k3MObNW1TyJPRWnf3mTacC%2B4wzzsjtt9%2Ben//855kyZUq23XbbHHLIIdl3333XasjOGjVqVP7nf/5nlePVajUNDWt3GUh7e0fa2vxmVxb7L4/dl8v%2By2X/5bH7ctl/eey%2Be9gxZetUnX7yk5/MnXfemcmTJ%2Bewww7LM888k7POOiu77bZbzjrrrFQqlVQqlS4bco899sisWbPy3//93yuOzZgxI88880zGjh3bZV8XAAAAOqtSrVartf5Nq3sn8c033zwf%2B9jH8tGPfrTwNztrb2/PoYcemoULF%2Bazn/1sWlpactlll2X27Nm59957s%2B66667xY8%2BZs9B3ukrQ1NSQIUMG2H8J7L5c9l8u%2By%2BP3ZfL/stj991j6NA3Lt999dWFJU9CbzV8%2BHqdut8aBfZbPf/887ntttty55135pVXXsk666yTJ554Ym0ecrVmz56dc889N1OmTElbW1t22mmnfOELX8jIkSPX6nH9ZlcO/7Epj92Xy/7LZf/lsfty2X957L57CGy6WmcDu%2BbPwf5zm222WT73uc/l5JNPzpQpU/KDH/xgbR9ytYYNG5ZvfOMbXfLYAAAAsLbWOrCXa2hoyJ577pk999yzqIcEAACAuuGT2AEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAHUZ2AsXLszuu%2B%2BesWPH5ne/%2B13Z4wAAAEB9Bvbll1%2Be9vb2sscAAACAFeousKdPn56bb745//f//t%2ByRwEAAIAV6i6wv/rVr%2BbjH/94tthii7JHAQAAgBXqKrDvvffePPnkkznxxBPLHgUAAABW0lT2AJ31%2Buuv52tf%2B1o%2B97nPZeDAgYU9bmNjXX2PoddYvnf77352Xy77L5f9l8fuy2X/5bH77tXUZM%2BUq24C%2B4orrsiwYcNy0EEHFfq4ra39C308amP/5bH7ctl/uey/PHZfLvsvj913vWq1miFDBpQ9Bn1cXQT2Sy%2B9lKuvvjqXXXZZFixYkCRZtGjRiv9fuHBhBgxYs3%2BZ5s17Pe3tHYXNSuc0NjaktbW//ZfA7stl/%2BWy//LYfbnsvzx23z2WfwNj3rxFJU9Cb9XZb97URWC/%2BOKLWbZsWY499thVbvvkJz%2BZ7bbbLv/6r/%2B6Ro/d3t6Rtja/2ZXF/stj9%2BWy/3LZf3nsvlz2Xx677x52TNnqIrC33HLLXH/99Ssd%2B8Mf/pDzzjsvX/rSl7LNNtuUNBkAAAC8oS4Cu7W1NTvvvPNqb9tqq62y1VZbdfNEAAAAsDJvswcAAAAFqIsz2Kuz884756mnnip7DAAAAEjiDDYAAAAUQmADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAACV3cIUAAAa50lEQVRAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFKCp7AE645577sm//du/ZerUqXnttdey6aab5m//9m/z8Y9/PA0NvkcAAABA%2BeoisK%2B55pqMGDEi//iP/5hhw4blsccey1e/%2BtW88MILOf3008seDwAAAOojsL/97W9n6NChK36%2Byy67ZNGiRbnppptyyimnpKWlpcTpAAAAoE5eg/3WuF5uyy23zJIlSzJ37twSJgIAAICV1UVgr86vfvWrDB48OMOGDSt7FAAAAKiPS8T/3O9%2B97vcfvvtOfHEE9PY2LhWj9XYWLffY6hry/du/93P7stl/%2BWy//LYfbnsvzx2372amuyZclWq1Wq17CFqMXPmzBx22GHZcMMNc8MNN6S5ubnskQAAgJJVq9VUKpWyx6CPq6vAnj9/fo488sgsWbIkN998c4YMGbLWjzlv3utpb%2B8oYDpq0djYkNbW/vZfArsvl/2Xy/7LY/flsv/y2H33aG3tn%2BSNP9tDVxgyZECn7lc3l4gvWbIkxx9/fGbNmpVbb721kLhOkvb2jrS1%2Bc2uLPZfHrsvl/2Xy/7LY/flsv/y2H33sGPKVheB3dbWls9%2B9rN58sknc%2BONN2bjjTcueyQAAABYSV0E9pe//OX87Gc/yz/8wz9k8eLF%2Bc1vfrPittGjR2fgwIElTgcAAAB1EtgPPfRQkuTrX//6Krddf/312Xnnnbt7JAAAAFhJXQT2/fffX/YIAAAA8I58UBwAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFKBuAvvZZ5/NMccck%2B233z7jx4/POeeck8WLF5c9FgAAACRJmsoeoDPmzZuXo446KiNGjMjFF1%2BcV199Needd17mzp2bCy64oOzxAAAAoD4C%2B/vf/37mzZuXO%2B%2B8M0OHDk2SNDY25rTTTsvxxx%2BfUaNGlTwhAAAAfV1dXCL%2BwAMPZPz48SviOkn22WeftLS0ZMqUKSVOBgAAAG%2Boi8CePn36KmepW1pastlmm2X69OklTQUAAABvqotLxOfNm5fW1tZVjre2tua1115bq8ceNKh/qtW1egjWQKXyxv/bf/ez%2B3LZf7nsvzx2Xy77L4/dd4%2BGhko6OqppaqqL84f0YnUR2G%2BnWq2msvx3rTXU0OBfwjLZf3nsvlz2Xy77L4/dl8v%2By2P3Xa%2BxsZIhQwaUPQZ9XF38m97a2pp58%2Batcnz%2B/PmrPbMNAAAA3a0uAnvUqFGrvNZ66dKlef75572DOAAAAD1CXQT27rvvnkcffTRz5sxZcewnP/lJli5dmgkTJpQ4GQAAALyhUq32/LdbmDdvXvbff/9svPHGOeGEEzJ79ux87Wtfy6677poLLrig7PEAAACgPgI7SZ599tmcc845%2BdWvfpV%2B/fpl//33z2mnnZZ%2B/fqVPRoAAADUT2ADAABAT1YXr8EGAACAnk5gAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAfpcYD/77LM55phjsv3222f8%2BPE555xzsnjx4rLHqmv33HNPTjjhhEyYMCHbb799DjjggNx8883p6OhYcZ/Pf/7zGTt27Cp/PfDAA6s83ve%2B971MnDgx22yzTQ4%2B%2BOA89thj3fmPU3duv/321e72ggsuWOl%2BU6ZMyUc%2B8pFss8022XvvvXPTTTet9vHsvzZHHnnkavc/duzY/OhHP0ri%2BV%2BU5557Ll/84hdz4IEHZty4cdl///1Xe78in%2BsLFizIF7/4xey8887ZYYcd8ulPfzovvfRSof9c9eDddt/e3p7vfOc7OeKII7LLLrtkp512yuGHH55HHnlklceaOHHiav99WLJkyUr3s/s3dea5X/TvM/b/ps7s/%2B3%2BOzB27Ni88sorK%2B7n%2BQ%2B9X1PZA3SnefPm5aijjsqIESNy8cUX59VXX815552XuXPnrhIjdN4111yTESNG5B//8R8zbNiwPPbYY/nqV7%2BaF154IaeffvqK%2B2266aar7HnUqFEr/fx73/teLrzwwpxyyikZN25cJk%2BenEmTJmXy5MkZO3Zst/zz1Kvvfve7WW%2B99Vb8fMMNN1zx41//%2Btc54YQTcuCBB%2Bbzn/98Hn/88ZxzzjlpaWnJoYceuuJ%2B9l%2B7f/7nf86CBQtWOnbdddflvvvuy/jx41cc8/xfe9OmTcuUKVOy3XbbpaOjI9VqdZX7FP1cP/XUUzN16tScddZZGThwYC6%2B%2BOIcffTRueuuu9KvX79u%2BefuCd5t94sXL86VV16Zj3zkIznmmGPS1NSUO%2B64I0cffXSuuOKK7Lnnnivdf5999smnPvWplY61tLSs9HO7f1NnnvtJsb/P2P%2BbOrP/W2%2B9dZVjp59%2Bevr3758NNthgpeOe/9DLVfuQK6%2B8srrddttVZ8%2BeveLYXXfdVR0zZkz16aefLnGy%2BvbWfS537rnnVrfZZpvqkiVLqtVqtXr66adX99tvv3d8nCVLllT/6q/%2Bqnr%2B%2BeevONbW1lbdd999qyeffHKxQ/ciP/jBD6pjxoxZ7a/Dcsccc0z1kEMOWenYmWeeWX3/%2B99fbW9vr1ar9l%2BkiRMnVidNmrTi557/xVj%2BXK1W336nRT7Xf/Ob31THjBlT/fnPf77i2EsvvVQdN25c9eabby7sn6sevNvu29raqnPnzl3pWEdHR/WjH/1o9Ygjjljp%2BJ577ln90pe%2B9I5fz%2B5X1pnnfpG/z9j/yjqz/z/3wgsvVMeMGVP9zne%2Bs9Jxz3/o/frUJeIPPPBAxo8fn6FDh644ts8%2B%2B6SlpSVTpkwpcbL69tZ9LrfllltmyZIlmTt3bqcf5/HHH8/8%2BfNXuvSqsbExH/rQhzJlypS3/Y4972zp0qV59NFHs99%2B%2B610/IADDsjMmTPzX//1X0nsvyiPP/54XnzxxRxwwAE1/332/84aGt75P1lFP9enTJmS1tbW7L777ivuN2LEiLz3ve/tc//NeLfdNzY2ZtCgQSsdq1Qqec973rPS5bGdZfcre7f9d5bn/ppZk/3ffffdqVQqb/tSlndi/1Df%2BlRgT58%2BfZVLpVpaWrLZZptl%2BvTpJU3VO/3qV7/K4MGDM2zYsBXHnn/%2B%2Bey4447Zeuutc9BBB%2BWnP/3pSn/P8l%2BDkSNHrnR81KhRWbhwYWbMmNH1g9ex/fffP1tuuWX22muvXHnllWlvb0/yxt6XLVu2yl5Hjx6d5M29238x7r777vTv3z977bXXSsc9/7te0c/16dOnZ4sttvj/7d19UBRlHAfw73ECJyCggpL4QiAyg4BiMqAeYqQCxuhUWpSKpYIBioNK5aBmjvnGYAiGjEEMGDqOpjYcoJYEoYk6giNCVJD5gmCgAucLBwf0h8PqeRAHHJLy/cwwA88%2Bt/u73z3u%2Brt9dhcikUhtfTxmdKy5uRkFBQVqx10ASEtLg4ODA5ydnREQEIDff/9dZTlz3zXa2s8w/92Xnp4OFxcXWFhYqC3j%2BCd6ufW5a7CNjY3V2o2NjVFbW9sLEb2cCgsLceTIEYSEhEAsFgN4fEbb0dERo0ePhlwux4EDBxASEoJdu3bB29sbwOPPR09PT%2B3aotazIjU1NW0eqPo6c3NzrFixAuPGjYNIJEJWVhaio6Nx%2B/ZtbNiwQRjbz4791r9blzP/3adUKnH8%2BHG88cYbMDAwENo5/p8PbY/1uro6lfsaPL0%2BHjM6tm/fPly9ehWbNm1Saff09ISTkxOGDRuGGzduID4%2BHh988AGOHTuGESNGAABz3wXa3M8w/91TUlKCP/74Q23sAxz/RH1Bnyqw29PS0qL2LSF1TVVVFUJDQ%2BHo6IiAgAChfdGiRSr9PD094efnh5iYGOHAD6DNz6F1yho/o7a5u7vD3d1d%2BFsqlUJfXx/Jycn4%2BOOPhfb28vd0O/PfPWfOnMGdO3fUpgRy/D9f2hzrmqyL1J0/fx6RkZFYvHgxXFxcVJatW7dO%2BH3ixImYMmUKfHx8kJiYiI0bNwrLmPvO0fZ%2BhvnvurS0NOjq6sLLy0ttGcc/0cuvT00RNzY2Rl1dnVq7XC5v88w2dY5cLkdAQAAkEgn27NkDXV3ddvvq6Ohg5syZKCsrEx6TZmxsDIVCofaoitbP7Nnr%2B6h9Pj4%2BaGpqwm%2B//Sbk7dlvvVvz2jr2mf/uk8lkMDU1hVQq/c9%2BHP89Q9tjvb1jRnuzoeixkpISBAcHY/r06QgPD%2B%2Bw/5AhQ/Daa6%2BhqKhIaGPuu687%2Bxnmv%2BtaWlqQkZEBd3d3mJqadtif45/o5dOnCmwbGxu1a1caGhpw/fr1Nq8RI80pFAoEBQWhuroaCQkJGDhwYIevefamTa2fwbOfUVlZGQwNDVUeO0WaGzlyJHR1dfHXX3%2BptJeWlgJ4knfmv3vq6%2Btx6tQpeHt7/%2BeXS604/rVP22PdxsYGV69eVfusSktLecxox/Xr17F06VLY29tjx44dGp9ta%2BvfA3PffV3dzzD/XXfx4kXcunWrUze65Pgnern0qQJ76tSpyMvLw71794S2H3/8EQ0NDfDw8OjFyF5sSqUSK1euRElJCRISEmBpadnha5qbm3HixAnY2toK14JNmDABAwYMQEZGhtCvqakJmZmZ8PDw4LSoTsjIyIBYLIa9vT309PTg5uaGzMxMlT4ymQzm5uawt7cHwPx3V1ZWFh48eKDRf6o4/nuGtse6h4cH6urqkJubK/SrqKhAfn4%2BjxltqKqqwuLFi2FmZoa4uDi15/q25/bt28jPz4ejo6PQxtx3X3f2M8x/16WlpcHAwEDt2e/t4fgnevmINz59wcdLztbWFt9//z1yc3MxdOhQFBQUYMuWLZgxYwb8/Px6O7wX1saNGyGTybBy5UoMGTIElZWVwo%2BRkRGqqqoQEhKCxsZGyOVyFBUVYfPmzSgoKMAXX3whfBsrFoshFosRHx8PiUQChUKBXbt2oaCgADt27ICZmVkvv9P/pyVLluCff/7B/fv3ce3aNXz77bdITU3FwoULhevuRowYgfj4eFRUVMDQ0BBpaWlISkrC2rVr4eDgAID5766dO3dCoVBg7dq1KsVweXk5x7%2BWPHr0CKdOnUJpaSnOnDmD6upqWFhYoLS0FIMGDUL//v21OtYtLCxw5coVHDx4EEOHDkVFRQU2bNgAiUSCTZs2oV%2B/vnMbk45yLxKJ4O/vj8rKSqxbtw719fUqx4LWG/TJZDLs3bsX9fX1uHfvHs6ePYuIiAg0NDRg69atwhRl5l5VR/m/e/euVvczzL8qTfY9wOMTDhEREXj99dcxa9YstfVw/BP1DaKWPvZw1atXr2Lz5s24ePEiJBIJfH19sWbNGrU7apLmPD09UV5e3uaylJQU2NnZYe3atSgqKsLdu3ehq6sLBwcHBAYGqtycC3g8TSoxMRGpqamorq7GmDFjEB4eDjc3t%2BfxVl5ImzdvRm5uLiorK9Hc3AwrKyvMmzcPCxcuVCn0cnJysHPnTpSVlcHCwgIfffQR5s%2Bfr7Iu5r9ramtrMWXKFCxatEjtmtOamhqOfy25efOm2uPPWqWkpMDV1RWAdsf6/fv3sX37dpw4cQKNjY1wdXXF%2BvXrNZqp8zLpKPeWlpbtLgcgPIbo0qVLiIqKwp9//gm5XI4BAwbAzc0NoaGhao%2BOYu6f6Cj/PXGcZf6f0HTfk52djWXLlmHv3r1tnmnm%2BCfqG/pcgU1ERERERETUE/rUNdhEREREREREPYUFNhEREREREZEWsMAmIiIiIiIi0gIW2ERERERERERawAKbiIiIiIiISAtYYBMRERERERFpAQtsIiIiIiIiIi1ggU1ERERERESkBSywiYhIcOTIEdjZ2Qk/9vb2kEqlCAsLw99//93rcd28efM/%2B8XGxsLOzu45RdWxnJwcxMbGtrnMzs4OmzZtes4RERERUU/q19sBEBHR/8/WrVthbW0NhUKB/Px8xMfH49y5c8jMzISJiUlvh/fCyMnJQWpqKlasWNHboRAREdFzwAKbiIjU2NrawtHREQDg6uqKpqYmxMbG4qeffsI777zTy9ERERER/T9xijgREXWotdi%2Bc%2BeO2rKMjAy89957GD9%2BPJydnbFkyRIUFxer9CksLERYWBg8PT3h5OQET09PrFq1CuXl5Wrru3TpEvz8/ODo6AipVIqoqCgolcpuxa9JjJ999hmcnZ1x7do1BAQEwNnZGR4eHti2bRsaGhpU%2BlZWViI0NBTOzs6YOHEiVq9ejcuXL8POzg5HjhwR1peamgoAKtPun53mfuzYMfj4%2BGDcuHGYPXs2fv75Z5Xld%2B/exfr16%2BHh4QEHBwe4ubnBz88Pv/76a7dyQkRERNrHM9hERNSh1qLQyspKpT0%2BPh7R0dF4%2B%2B23ERQUhMbGRiQmJmL%2B/Pk4dOgQRo8eDQAoLy/Hq6%2B%2BijfffBMmJiaoqqrCgQMHMHfuXKSnp2PQoEEAgNLSUnz44YewtLTEtm3bIJFIsH//fshksi7HrmmMANDY2IigoCDMnTsXixcvxoULFxAXFwcjIyMsX74cAPDw4UP4%2B/ujtrYWa9aswahRo5Cbm4uwsDCV7QYHB%2BPhw4c4ceIEDh48KLQPGTJE%2BD07OxuFhYUIDQ2FgYEBEhISsHz5chw/fhwjRowAAISHh6O4uBhhYWGwsrJCXV0diouLUVNT0%2BWcEBERUc9ggU1ERGqam5uhVCqFa7D37NkDFxcXeHp6Cn0qKioQGxuLBQsWYN26dUL75MmT4eXlhd27dyM6OhoA4O3tDW9vb6FPU1MTpk2bhilTpkAmk8Hf3x8A8PXXX6OlpQXJyckwMzMDAEybNg2%2Bvr5deh%2BdiRF4XGCvWLECPj4%2BAIBJkybhypUrkMlkQoF99OhRXLt2Dd988w2mTp0KAJBKpXj06JFKIT1y5EjhPYwfP77N%2BBQKBZKSkmBkZAQAGDt2LNzd3ZGZmYnAwEAAQH5%2BPubNm4d3331XeN306dO7lA8iIiLqWSywiYhIzdPFHADY2NggLi4O/fo9OWycPn0aSqUSc%2BbMUZnCra%2BvDxcXF5w7d05oe/DgAeLi4nDy5EmUl5ejqalJWFZWVib8fu7cOUyaNEkoTAFALBZj1qxZ2L17d6ffR2diBACRSKTyJQLweHp3Xl6e8PeFCxdgaGgoFNetfH19VQpsTbi6ugrFNQCYmZlh8ODBKlPnnZyccPToUZiammLy5MkYO3YsdHV1O7UdIiIiej5YYBMRkZrt27fDxsYGDx48QEZGBg4ePIhVq1YhISFB6FNdXQ0AmDt3bpvr0NF5cpuP1atXIy8vD8HBwXB0dIShoSFEIhECAwOhUCiEfjU1NSrFdau22jTRmRgBoH///tDX11dp09PT0yjGwYMHdzo%2BU1NTtbZnt/fVV19hz549OHz4MHbt2gUDAwPMmDED4eHhMDc37/Q2iYiIqOewwCYiIjU2NjbCjc3c3NzQ3NyMQ4cO4fjx48JU74EDBwIAYmJiMGzYsHbXJZfLkZ2djeXLlwvTngGgoaEBtbW1Kn1NTU2FovhpbbVpQtMYO8PU1BSXL19Wa%2B9qjB0ZNGgQIiIiEBERgVu3biErKwtRUVG4c%2BcOEhMTe2SbRERE1DUssImIqEPh4eE4efIkYmJiMHPmTOjo6EAqlaJfv364fv06vLy82n2tSCRCS0sL9PT0VNoPHTqkMlUceDxlOisrC9XV1cJZ4qamJmRkZHQpbk1j7AwXFxdkZmYiJycHHh4eQnt6erpa39b3XF9fD4lE0u1tDxs2DAsWLMDZs2eRn5/f7fURERGRdrHAJiKiDpmYmCAwMBCRkZFIS0vDnDlzMHz4cISGhiI6Oho3btzA1KlTYWxsjOrqahQWFqJ///4IDQ2FkZERXFxckJiYiIEDB8LS0hLnz5/H4cOHYWxsrLKdoKAgZGVlYdGiRQgJCYFEIkFqaioePXrUpbg1jbEz3nrrLSQnJ%2BOTTz7BypUrMWrUKPzyyy84ffo0ANVp52PGjAEA4YZoOjo6sLOzU/uyoT1yuRz%2B/v7w9fWFtbU1DA0NUVhYiNzcXMyYMaNTcRMREVHPY4FNREQaWbhwIVJTUxEXFwdfX1%2BIxWIsW7YMNjY2SElJQXp6OhoaGmBubg4HBwe8//77wmujoqLw5ZdfIjIyEkqlEhMmTEBSUhKWLVumso0xY8YgKSkJ27dvx6effgoTExPMnj0bXl5eWL9%2BfZfi1jRGTRkYGCA5ORlbtmxBZGQkRCIRpFIpPv/8cwQGBmLAgAFCX19fX%2BTn52P//v3CHdJPnTqF4cOHa7QtfX19ODk54YcffkB5eTmUSiVeeeUVBAQEYOnSpZ2OnYiIiHqWqKWlpaW3gyAiInrRtT5vOzs7GxYWFr0dDhEREfUCnsEmIiLqpO%2B%2B%2Bw4AYG1tjcbGRuTl5WHfvn2YPXs2i2siIqI%2BjAU2ERFRJ0kkEiQnJ%2BPmzZtobGwUpm0HBQX1dmhERETUizhFnIiIiIiIiEgLdDruQkREREREREQdYYFNREREREREpAUssImIiIiIiIi0gAU2ERERERERkRawwCYiIiIiIiLSAhbYRERERERERFrAApuIiIiIiIhIC1hgExEREREREWkBC2wiIiIiIiIiLfgXwN%2BoeT8CoRkAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -239,7 +274,7 @@
 <br>
 
 <h3 id="Aligned_read_lengths_vs_Sequenced_read_length_plot_using_dots">Aligned read lengths vs Sequenced read length plot using dots</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPUCAYAAABW6JEKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3gU5f738c%2BmQhJC71UCAUFUREBUmiAdKygoiKKgWBGxAMejiByKAoqIDSxwEOFA6CBKsaAQFSQU6UUChtASWnoyzx/5ZZ7dZDfZJLPZBN6v6%2BJiy2T23ntn7pnvXW2GYRgCAAAAAACF4uPtBAAAAAAAcCUgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwLbTqFEj89/x48edbhMREWFuM3DgwCJO4ZXvjjvuMPM3MjLS28m5Ylmdz5wXnse5AaCoUKYXDU/kM9cKz7qSz43IyEjzu91xxx3eTk6J5uftBFghMjJSjzzyiPk8KChIv/zyi4KCgryYKgDA1WLr1q1as2aNduzYoePHj%2BvChQuy2WwKCgpS9erVVbduXTVt2lQ33nijmjdvLn9/f28nGQAAeMAVEWAvXbrU4XlCQoK%2B%2B%2B473XPPPV5KEQA498EHH2jGjBmSpHvvvVcTJ070copQGIcPH9bo0aP1559/On0/JSVF8fHx2rNnj7799ltJUnBwsGbOnKlbbrmlKJMKALDTqFEj8/H69etVq1YtL6bm6nal3RuV%2BAA7MTHRvGmxt2TJEgJsAIDH7NixQ4899pguXbrk8Hr16tVVo0YN%2Bfv76%2BLFizp27JguXrxovn/58mXFx8cXdXIBAEARKPEB9tq1a5WQkCBJuummm7Rv3z5dvnxZkZGR%2Bueff1SjRg1LP%2B%2B%2B%2B%2B7TfffdZ%2Bk%2BAQAly%2BXLl/XMM8%2BYwbWvr68GDRqkAQMGqGbNmg7bGoahw4cPa8OGDVqzZo12797tjSQDAIAiUOID7CVLlpiP%2B/btq8jISC1dulSGYWjZsmUaNmyYF1MHALgSzZs3T6dOnTKfT548Wb169XK6rc1mU1hYmMLCwjRkyBBt3bpVoaGhRZVUAABQhEr0LOIxMTH67bffJEmlSpVSly5ddNddd5nvZx%2BbDQCAFdavX28%2Bvummm1wG1860aNFCDRs29ESyAACAl5XoFuylS5cqIyNDUuayBCEhIWrTpo2qVKmiU6dO6ejRo/rzzz/VvHlzyz4zIiJCo0aNkiS1atVKc%2BfOzfNvfv75Zy1evFhRUVE6c%2BaMQkNDVbt2bXXr1k333XefQkNDHWZCr1mzpjZs2OB0X3fccYdOnDghSZozZ45at26t5ORkrVixQsuWLdPRo0cVFxencuXKqVmzZrr33nvVpUuXfH1HwzC0ceNGrVu3Ttu2bdPZs2eVlJSkihUrqnHjxurUqZPuvvtuBQQEuL3P06dPa/78%2BVq/fr2OHz8uwzBUrVo1tW7dWg8%2B%2BKAaN26crzS6y9WkCZs2bdLy5cu1Y8cOnT59WpcuXcp1UoXExEStXLlSGzdu1L59%2B3T27FnZbDZVqlRJN910k3r06KH27du7labU1FRt2bJFmzdv1q5du3TkyBGdP39eklSuXDnVr19ft9xyix544AFVqFAhX9/XW/lcEFYdZ65%2B423btmnBggXavn27Tp48qYCAANWpU0d33HGHBg0apJCQELfTeuLECc2fP18//vij/vnnH5f56uz8zDJw4ECzQjDLkiVLHHrh2HNnwhWrzv2UlBStXr1a69at0549e3Tu3DklJycrMDBQFStWVJ06ddSsWTO1a9dON910k2w2m1v7ze7555/X2rVrJUm9e/fWu%2B%2B%2B6/bfdu3aVUePHpUkvfzyy3riiSdybHPixAlFREQoMjJShw8f1oULFyRlTipWtWpVhYWF6aabbtKdd96patWqFeg7ZMlKiyTdeOONhdpXbqwse7Ls2bNH33zzjTZv3qzY2FiVLl1aNWrUUOfOndW3b19VrlxZx48fV6dOncy/2bdvn9N95XbMO%2BPufrOLjIzU2rVr9fvvv%2BvUqVO6fPmyypcvr7CwMHXo0EF9%2B/ZVcHBwrvtwdf3et2%2BfvvnmG23ZskUnT56UzWZTzZo11bZtWz322GOqXLmyW2nMEhMToxUrVuiXX37R33//rXPnzkmSKlSooLCwMLVu3Vpdu3ZV3bp189xXbGysli1bpp9//ll///234uLiVLp0aVWtWlW33nqr7rvvPoeJmtyxYcMGRUREaOfOnTp37pzKly%2BvevXqqXfv3urdu7dKlSqVr/25y9mEUmfOnNHSpUu1bt06nThxQmfPnlV6enqu5d/u3bu1atUq8/e6cOGCypYtqzp16qhdu3Z68MEH3b52Hj9%2BXD/99JP%2B%2BOMPHThwQDExMUpMTFRwcLAqVaqk5s2bq1u3bmrbtm2%2Bv6%2B38rkgrDrOnP3GFy9eVEREhFavXq3o6GhdvHhRFStWVPPmzfXAAw%2BoTZs2bqfTMAytWbNGy5cv119//aW4uDin%2BZrbvXr2lYey2JdL9tydcMvqciQ3rr7f1q1btXDhQm3fvl2xsbEKDAxU3bp11aVLF/Xr1y9f9z3uOn/%2BvCIiIvTDDz/oyJEjOnfunIKDg1WlShW1bt1ad911l66//nqXf%2B%2BJe6PioMQH2FmyWq59fHzUs2dPffHFF5IyfyQrA%2Bz8SExM1KuvvmreUGY5c%2BaMzpw5oz///FNz5szR9OnTC/wZR44c0fPPP6/9%2B/c7vH769Glt2LBBGzZsUJcuXTRlyhS3AuK9e/fqX//6l3bu3JnjvZiYGMXExGjjxo369NNPNWXKlFxPmizr1q3TmDFjckzqc%2BjQIR06dEgLFizQ8OHDNXTo0Dz3VViXLl3SmDFjnE6M58ratWs1fvx4xcbG5njv2LFjOnbsmJYuXao2bdpo6tSpuV7YIyMj9fzzz7uc4Cg2NlaxsbHavHmzPvnkE40aNUoPPPCAW%2BksTvmcF08cZ1lSUlI0efLkHJVfSUlJ2rVrl3bt2qX58%2Bdr9uzZbt0wLF68WG%2B//bY510MW%2B3x98cUXNWTIELfTaAWrzv29e/fqhRdecAgYsyQkJCghIUHR0dH65Zdf9PHHH2vatGnq0aNHgdJ81113meXh%2BvXrlZCQ4NZyijt37jTTZ7PZnLYWf/nll5oyZYpSUlJyvBcfH6/4%2BHjt27dPq1ev1rvvvquoqKgCfYcsly9fNh9nPzasYmXZk2X69On6%2BOOPlZ6ebr6WlJSkuLg47d69W1999ZXeffddXXPNNZZ%2Bl4L6559/9Prrr2vTpk053jt16pROnTqlzZs3a9asWRo/fny%2BKhsMw9Ann3yi6dOnO%2BSHJO3fv1/79%2B/XggULNGPGDLeCgNTUVE2bNk1z5851ehxmlW2bNm3S1KlTNX36dJeVYBkZGZo5c6Y%2B%2B%2BwzJSUlObyXkpKi8%2BfPa//%2B/ZozZ44efvhhjRo1Sr6%2Bvrmm79KlS3r55ZdzVOBnXXciIyM1d%2B5cs8LS0zZu3KjXXnvN7Qn/zp8/r7Fjx2r16tUyDMPhvaz7qm3btmnWrFkaPXq07r///lz39%2Byzz2rdunU59pX1WefPn9ehQ4e0aNEi3XzzzXr//fdVqVKlPNNZ3PI5N544zuxFRUVp%2BPDh%2BueffxxezzoXVq9erYEDB2rMmDF5VtyeO3dOL7zwQo5gzNv5anU5UhBpaWmaNGmS5syZ4/B6YmKi4uPjFRUVpXnz5mnq1KmWxkRLly7VhAkTcpzDWdfc/fv3a%2B7cuerVq5feeuutPCtBryQlNsDetm2becNVvnx5h9rFu%2B66ywyw16xZozFjxigwMLBI05eWlqZnnnlGv/zyi/mazWZTw4YNVb58eZ0%2BfVqHDx/WiRMnNHjwYI0ePTrfn3H69Gm99NJLOn36tCSpXr16qlq1qi5evKh9%2B/aZJ/p3332nSZMm6fXXX891f7/99puGDRvmMCNuaGio6tevr4CAAP3zzz86fvy4pMybu0GDBmnWrFlq0aKFy31u3LhRL7zwgtLS0szXKlWqpHr16ikpKUn79%2B9XSkqKpkyZ4vETzzAMvfTSS/rhhx8kZbYWX3PNNbLZbDp27JjTv/niiy80adIkhwtw9erVVbNmTXPiori4OEnS5s2b1b9/f82fP9/lje7JkycdCqKyZcuqdu3aCgkJUWpqqo4dO2b%2BngkJCXr99deVmpqqhx9%2BONfvVpzyOS%2BeOM7svfHGG4qIiJD0/39jX19fHThwwOwpcPr0aT3xxBNas2ZNrjW6ERERGjNmjMPvX7lyZTNfDx48qMTERL377rsqXbp0rulq1qyZAgICzMBIkqpUqaLw8HCn2%2BfWumHVuX/69GkNGjTI4ZgMDQ3VNddco%2BDgYCUmJur06dM6ceKEmQfObkbd1a5dO5UtW1bnz59XQkKC1q9fr969e%2Bf5dytXrjQft2zZMkfr88KFCzVhwgSH12rVqqUaNWrI19fXnMk7q0U7q%2BdTYZQrV87M/61btyo9PT1fN555sbrskaR3331Xn332mcNrderUUbVq1RQXF6eDBw8qPj5ew4YN07Rp0yz7LgV14MABDR482GGse1BQkBo0aKCgoCDFxsbqyJEjkjKP5aefflpTpkxRt27d3Nr/jBkzzJvxkJAQhYWFKTAwUIcPH9aZM2ckZQZLTz/9tFauXJlj8jp7ly9f1tNPP60tW7Y4vF61alVzRvnTp0/r77//VkZGhgzDyDH7fJbU1FS99NJLDpXzNptN9evXV6VKlZSYmKj9%2B/crKSlJGRkZmjt3rk6ePKkPPvjAZZCSkpKiYcOGOQQnvr6%2BatiwoUJDQ3X8%2BHH9888/2rdvnwYPHuy0hc9K27Zt06hRo5SWlmbOUVCxYkXFxcXp0KFDObaPjY3V4MGDdfDgQfO1gIAANWzYUGXKlNG5c%2Bd08OBBZWRk6NKlSxo9erQuXryoRx991GUa9u3bZ55fvr6%2Bql27tipWrCh/f3/Fx8fr0KFDSk1NlST98ccf6t%2B/v5YsWZLrNaO45XNuPHGc2Ttw4IBGjBihhIQE%2Bfj4qEGDBipfvrzi4uJ04MABM%2B/nzp2rGjVqaPDgwS73denSJT322GPau3ev%2BZqfn5/Cw8MVEhKimJgYRUdHu5WvZcuW1e233y5JDhV3LVu2dBoruLpGZ7GyHCmoKVOmmMF1cHCwGjRoIF9fXx06dMi87/nnn3/0xBNPaM6cOWratGmhP/PLL7/Mcd2tXr26ateurUuXLmn//v3mPenKlSsVHR2tzz//PMf5Y%2BW9UbFilFCvv/66ER4eboSHhxtjx47N8X7Pnj3N91etWuXWPrO2Dw8PN6Kjo51us3jxYnObAQMGuNzXxx9/7LC/J5980jh%2B/LjDNocOHTIGDBhghIeHG61btza37dixo8v9duzY0dyuVatWRnh4uPHUU08ZR48eddguJibGGDhwoLlt48aNjSNHjrjcb0xMjLm/8PBwo0ePHsaPP/5opKenO2y3a9cu4/777ze3a9%2B%2BvXH%2B/Hmn%2Bzx79qzDPlu1amWsXr3aYZ/nz583JkyYYISHhxvNmjUzbrzxRnP7LVu2uEyvu6ZPn27ur3nz5kZ4eLhx2223GatXrzbS0tLM7dLT041jx445/O3GjRtz/IZ79%2B512CY9Pd347rvvjDZt2jhs58rSpUuN3r17G1999VWOz8uyZ88e44knnjD316xZM5fbGkbxyGd3zwtPHGf2v3HWvtu1a2d8//33DvtNTU01PvnkE6NRo0bm9tOmTXOZ1mPHjhnXX3%2B9uW3btm2NjRs3GhkZGeY2ly9fNmbMmGFce%2B21buerfXpfffVVl5%2BfnSfO/bfeesvc7vbbbzc2btyY47cwjMzjZ%2BXKlcZjjz3mdnnqin3ZPXTo0Dy3T09PN26//XbzbxYuXOjwfkpKisMxNWzYMJfny6FDh4xPPvnE6NKlS6G%2Bg2EYxrBhwxzKh7fffttITU0t9H4NwzNlz6%2B//uqwz969exs7d%2B502ObYsWPGY489luOaFB4e7nK/9selO2VJdHS0W/u9ePGi0alTJ4fzb9WqVTny%2BMiRI8bgwYPN7W666Sa3rt%2BtWrUyGjVqZNx8883G4sWLjZSUFHO7jIwMIyIiwmjatKm5/ciRI3P9XiNGjHD4XkOGDDH%2B%2BuuvHNtduHDBWLJkidG3b19j8eLFTvc1ceJEh/N34sSJxunTpx22SUxMND755BOjSZMm5raff/65y/RNmzbNIX3PP/%2B8cfLkSYdtIiMjjc6dO%2Bf4/XMr0/PD/vOzrscvvfSSERMT47BdbGyskZiYaD5PTU01HnzwQfNvb775ZuPrr7922Cbr70aOHGlu16RJE2P79u0u09OrVy9j9OjRxk8//WQkJSXleP/y5cvGvHnzjBYtWpj7fP3113P9jsUhn909Jz1xnNl/96xyefTo0UZsbKzDdgcPHjR69eplbnvjjTcaFy9edLlf%2B%2BtG1j7Pnj3rsE1UVJRx11135Stf7ffpqtzIzpPliLucpaFp06bGp59%2B6nBeJCcnG19//bVxww03mNt37drVSE5OdrrfLVu2mNvlFots3brVaNy4sbltly5djMjISIdtzp49a4waNcohj3O75ynovVFxVSInOUtOTtaaNWvM5/YTm2WxbxUp6snOzp8/r5kzZ5rPO3bsqJkzZ%2Baotapfv75mz56tFi1amC0R%2BREfH69evXpp5syZOcZyVatWTR999JGqVKkiKbPFZtmyZS739eabb5qtWDfccIP%2B97//qV27dvLxcTxEmjZtqrlz56pJkyaSMrv5ZO%2BSkuWDDz4w9xkYGKjZs2ere/fuDvsMDQ3Va6%2B9pmHDhik5OdljXS2lzBaGkJAQzZ07V927d3dobfLx8VHt2rXN54mJiQ69CgYMGKCPP/44R5diHx8f3XnnnZo3b55ZK7dx48YcXZiy3HnnnVq%2BfLkeeeQRh8%2Bz17hxY33yySdm18Hk5GR9/fXXLr9Xccvn3HjiOLMXHx%2BvihUrav78%2BercubPDfv38/DR06FANGDDAfC23smHatGlml7kyZcpozpw56tChg0PNfVBQkJ555hmNGTOmSPPVqnP/xx9/NB9PnjxZHTp0yPFbSJnHT8%2BePfX555%2Bra9euhUq7fdm8adMmc3yqK5GRkWYLZkBAQI7Pj4qKMo%2BpWrVq6f3333d5btWvX19Dhw7V6tWrC/MVJGWuWmFvzpw56tSpk9555x1t3rzZZetkXjxV9owfP958XK9ePc2dO1fXXXedwza1a9fWJ598otatWxfommSladOmKTo6WlJmK3tERIR69OghPz/Hjnf16tXTp59%2BanYNv3Tpkj788MM89x8fH6/AwEB99dVXuu%2B%2B%2B%2BTv72%2B%2BZ7PZdO%2B99%2Bqll14yX/vuu%2B8chgXYW7dunUMvi4EDB%2BrTTz/Vtddem2PbMmXK6J577tHChQudnks7duwwe%2BDZbDZNmTJFr776ao6uyaVKldLQoUM1efJk87UZM2Y4Pe5OnjypWbNmmc%2B7deum9957T1WrVnXYLmssZ%2BXKlT3%2B%2B1%2B%2BfFn9%2BvXTu%2B%2B%2Bm6NHSpUqVRxaqebMmaM///xTUmbPkQULFqh///45WrKqVKmid955Rw8%2B%2BKCkzJ6Euc3zsGDBAo0fP15t27Z12nIZFBSkhx56SF988YV5fCxdutRlmVUc89kVTxxn2cXHx2vo0KEaP368eT3KEhYWpk8//dTs%2BZWQkOBy6N6hQ4e0cOFC83n//v01fvz4HL11rr/%2Bes2ZM0f16tUrsny1shwpTBoMw9C4ceM0ZMgQh/MiICBA/fv317Rp08x7lyNHjmjevHmF%2Bsy33nrL7AlWs2ZN/fe//1WrVq0ctqlQoYL%2B85//OPTAXLJkiXkuX%2BlKZIC9fv16s6tf3bp1nU4w07t3b/Ng2rRpk9mVryisWLHCvDEPDAzU2LFjnd60SpkH/7hx4wo0aVBoaKjGjh3r8m%2BDg4PVp08f8/m2bducbnfw4EGz27S/v7%2BmTJmS67jI0qVLa%2BzYsebzb775Jke30cTERC1fvtx8/uijj%2Ba4mbP37LPPql69ei7ft8qzzz7r1tjCJUuW6OzZs5Iyb8qzJpNw5ZprrtFTTz1lPp8/f77T7dwZbypl3jy/8sor5nNXk94V13x2xhPHmTOvvPKKatSo4fL9QYMGmY%2BzxoFlFxcXp%2B%2B%2B%2B858/swzz%2BSabw8//LBHJ7rKzqpz/%2BTJk%2Bbjm266ya3PLmw36Jtvvtn8fdLS0vKcD2HFihXm4w4dOuRY3sr%2BO1x//fUONziuWNGVu2PHjrrnnntypGXWrFl69NFH1bJlS3Xv3l2vvfaaFi1a5HQctTOeKHuyJnDK8vrrr6ts2bJO9%2Bfv76%2B3337brXz0lPj4eC1evNh8PmHChFzHvvr6%2Buqtt94y07xy5UpdvHgxz88ZOnSoWYnnzIMPPmjerCYlJWnPnj1Ot7MPqq677ro8f7MszobrfP7552Y516dPnzznO%2BjZs6fatWsnKbNywf58yRIREWF2dQ4JCdEbb7zhsuyoVq2aRo4c6Vb6C6NSpUp67bXX8twuLS1NX375pfl8zJgxql%2B/fq5/M2rUKJUrV05S5pAkZ13OJfevx82aNTN/h%2BTkZIehf/aKYz674onjLLt69erphRdecPl%2B9erVHeYgcHWdWrRokZnWypUrO9wbZVe2bFmNGTMmz7RZyapypDBuu%2B023XvvvS7f79ixo3r27Gk%2B/%2Babbwr8WVu3bnX4DqNHj851ArdXX33VoYHxv//9b4E/uyQpkQF21vhKSS7H79WoUUM333yzJCk9Pd2twsAq9q1CHTp0yFF7mV1YWJhatmyZ78/p0aNHnjMC2o9bPXz4sNNtVqxYYRZed9xxh8vWH3vXX3%2B92XKWNZ7cXmRkpFnDabPZ9NBDD%2BW6Pz8/P/Xr1y/Pzy0MPz%2B/XAsge/ZB68MPP5yj1cQZ%2B54UkZGR%2BU9gNrVr11b58uUlSX///bdZqWSvOOazK544zrILCQlxuIg4U7t2bYeLgbN9bt682bxR8vf313333ZdnWrNaTYqCVee%2BfauN/dg2T8o%2BSVluZXNKSopDRYez8t7%2BO%2Bzfv9%2BS8dXu%2Bs9//qNhw4Y5DUYzMjJ0%2BPBhLVmyRGPGjFHHjh01dOhQ7dq1K9d9eqLssV9SrF69eub4Q1fq1KmT5zae9N133ykxMVFSZm%2BWrGt5bqpVq2ZeR1NSUlzerNvL65wNCgpyaIV2dh7FxMQ4tMg8%2BeSTBa7ASUxM1Lp168zn7o7PtT8v8vr9u3fvnudkeD179jQDVE/p3bt3nvNWSJnfJ6tyqmLFinmW71Jm5eydd97psI/CuuGGG8zHzibnlIpnPjvjqeMsu/vvvz/P8sud65T9PXXv3r3zrBhp27atR8Y5u2JFOVJYed37SXJoST569KjDfAb5YX%2Bc16xZ0%2BXs61kCAwMd8mjjxo1Fep32lhIXYJ86dUq//vqr%2BdxZ93Bn77ma7t0T7AvfvJYsye929tyZCdC%2B65WrGv0//vijQOmwX8d19%2B7dDu/t2LHDfNygQQO3lsTJqh31lLCwMLcuZsnJyQ43we7mSdWqVc3WtbNnz%2BbZYpW1PMnEiRP10ksv6amnntLjjz/u8C%2Bry7FhGA4T/WQpjvnsiieOs%2ByaNm3qVsubfT45q7iwP4cbN27ssrXPXkHO4YKy6ty37%2B0wcuRIh9/Ik%2Bxv1P78809zUrvsfvjhBzPtZcqUUYcOHXJsYz9Zy8GDBzVq1Kgi67Hk6%2Bur4cOHa%2B3atRoyZEiuPSfS09P1448/qk%2BfPi5nufVU2WN/PN92221u7dNb5YRkTVnx119/5bptrVq13JoR2r6C3FlZYZ9Wf39/p8eou7Zv325W7JUvXz7PyZWy2G%2BX/XunpKQ4LIXmTsWJv7%2B/x2Y7zuLupJX2%2BXvzzTe7XXmRn2MhIyNDv//%2Buz777DONHj1azz33nJ544gmHa7F9i5%2Bza3txzWdnPHGcOWPFderSpUvmRIaSdMstt%2BS5T5vNVmTXY6vKkcLw8fFxq1xv3ry5ypQpYz53VVGUF/v7zrZt27rVA9e%2BXLx8%2BbLLXiVXkhI3i/jy5cvNGXLtW7ec6datm8aNG6eUlBTt379fu3fvtmTmvNxkLXeSJa%2BuTPndzp47J7X9WIysFoHs7GuxFi1a5LI7cnb2ywNlH%2B9iPyu3/YUuN/Xq1ZO/v79Z8FvNnRZTKbNmzz4N48ePd/uinpycbD6Oi4tz2nshNjZWEyZM0HfffZdjSYfcOLv4FMd8dsUTx1l27q4zad9ykn1pEkkO3cbdPTdr1qypUqVKOd2f1aw69x999FFz1uNjx47p4YcfVr169dS%2BfXu1bNlSzZs3d%2Buz8is8PFyNGjUyZ/FdtWqVnnzyyRzb2Y9r7dq1q9PlxmrUqKGuXbuaM%2BEuXbpUK1euVMuWLXXrrbfqpptu0vXXX%2B/WMoUFVbNmTY0cOVIjR47U33//rW3btmn37t3auXOndu3a5TC7v2EY%2BuCDD%2BTv75/jO3uq7ClIOeHudp5gX1b88MMPOZaic8X%2BexZVWWF/8x8eHl6o48z%2Be6ekpOjxxx936%2B%2By//b2YmJiHI4pd3/XBg0auLVdQbl7PbbPk127drmdJ/YV0rkdC0uXLtV7773ndKiQK87GHxfXfHbGE8eZM1Zcp2JjYx1aO929HhfVMoNWlSOFUatWLbd6g9hsNjVo0MDscfP3338X6PPsy1l3K2fCwsLk5%2BdnXguPHTvm1WtMUShxAbazta9dCQ0NVfv27fX9999LymzF9nSAnT0Iyj5e0BX7WiV3WTFGLiMjw6E2zZ1aSWeyf2/7fbrbBcrX11chISEem5zC3eWpsq/nt3nz5gJ9nrOA%2BODBgxo4cGCeEzs542xd1eKYz8546jjLriDnhLNx3faf4%2B45LGWex0URYFs1PrZjx44aOXKkpk6dat7EHD16VEePHtVXX30lKfMC2q1bN/Xt2zfHRDWF0bt3b7PFZ8WKFTmCzUuXLplj9rO2d2XcuHE6e/as2dqVlpamzZs3m%2BduqVKl1Lp1a919993q1q2bpctpZVe3bl3VrVvXHI5y6dCCXcEAACAASURBVNIlrVmzRh999JFOnDhhbvfBBx%2BoZ8%2BeqlWrlvmap8qegpQT3ui6msU%2BHw4fPlygLpVFVVZkLYEjya11yHNj/70vX77sdO3vvGT/3vbpk2QOO8qLu9sVVEGuxydOnHA4h9zl6lgYN25cgcaDOrsWF9d8dsYTx5kzVlynsn%2BOu/fK%2BbluF4ZV5Uhh5Kestt%2B2oC3p9r%2BJu8evn5%2BfypQpY953Wt2KXxyVqC7iu3btcpio5f3331fr1q1z/WdfcKxcudLjrXYFPXGsPuHclbW%2BYWFlT799PuenAPJkK5Orieayc9Xal1/Z8zU9PV3Dhw83g%2BuAgACzu%2BiaNWu0detW7dq1S/v27TP/5TWOqDjmszOeOs6Km%2BKePmeGDBmiJUuWuBzbtn//fk2fPl1dunTR559/btnn2k9EeeDAgRxjwNeuXWu2mFStWjXHDKX2ypYtq7lz52rSpEm68cYbc3RZS0pK0o8//qgRI0aoV69eBa7gKYiQkBD17dtXy5cvd/gOqampDhN5SZ4rewpSThR1GWHPitn4i%2BpctA%2B2Cptnnvje2e95isvv7%2B7Erp46FlatWuUQXDds2FCjRo3SggULtGnTJkVFRWnv3r3mtTj7er/ZFdd8dqYknV8l7Z7aGwp67%2BesosgdBS3zrPjskqREtWBnH0ftTg2avbi4OP3444/q3LmzlclykL3WzN1amoIu6VJYQUFBDt2F586dm%2BuNrLvsJ2DKz5IEVi9fUBD2NaR%2Bfn6Kiopya6KhvGzcuNGsIPL399dXX32V58zNeeVHSclnTx1nnmJ/DOSnptVb53FhNW7cWO%2B%2B%2B65SUlIUFRWlP/74Q7/99pv%2B%2BOMP80KYmJioSZMmycfHR48%2B%2BmihPzNrUqqsZaVWrFihxo0bm%2B/bdw/v1atXnhVkPj4%2Buueee3TPPffo7Nmz%2Bu2337R161Zt3rzZoUvk4cOHNWjQIEVERLjdTdUKISEhmjhxojp37mwGwFu3bnXYxlNlT0hIiNlq5e6576kywp0b39DQULOlY%2BLEiW5PTukN9r9Zfu9JsrO/f8hayqmwsk%2BGePnyZbdaAYvDtVhyzJPnnntOzz77rCX7/fTTT83HnTt31nvvvZdroJKfa3HW9sU1nz1xnHlK9nvqixcvutViW9hzsSQp6L1fQXrOSo7Xk/zc89hvW9DPLklKTAt2amqqww1XQXl6TexSpUo5dJlwt2ubJ2YVdJd9egs6JiM7%2B65y7nbpio%2BPLxYBSsWKFc3HaWlpBeqS5oz90h69evXKM7hOTEzMM7grSfnsiePMU6pXr24%2BdvfcPHHiRJF0D/ekgIAAtWzZUsOGDdMXX3yhLVu26M0333S4oZk%2Bfbpl633bD/NZtWqVGXydPn3aYZbavIYDZVexYkV1795d//rXv7Rq1Sp9%2B%2B23euCBB8z3L1y4oI8%2B%2BqiQqc%2B/mjVrKiwszHyefTI2T5U9BSknXE08l519UGI/1tyV7F1pnbFP79GjR91Kh7fYj8EsbLlm//tbVUba71Ny/3d1dztP88SxcPbsWYceM6NGjcqzFdDZJKP2SlI%2Be%2BI485SqVas6VK66ez22nxvhSvfPP/%2B4va398VbQIS32f%2Bfu8Xvu3DmH4L6ww2lKghITYP/www9mjUlAQIC2bt3q0JU2t3/23YB%2B%2BOEHj489bdasmfk4q3UmL1YsI1FQ9uv3FnTMX3b2awLu2bPHrcm8CjqjodXq1q3rEAxalSf2k6jYHyOuREVF5dmtuiTlsyeOM0%2Bx/3327t3rVlDg7rlu3zWyuHdjCw4OVv/%2B/TV9%2BnTztcuXLysqKsqS/dtPXBYTE2OOoV61apV5LDds2NChZbsgrrnmGo0bN86hJdTVWraeZj/2NHvrtKfKHvtywt3z393t7L%2BPO%2BeJ/TAvV%2BzLiqxJ%2BIor%2B%2BWbYmNjFR0dbdm%2BrKh4r1SpkkMlQF7LxGUpLtdj%2B2MhMjLSkjLT/lpcvnx5h3kQXLFfis2ZkpTPnjjOPCUkJMRhwjJ375WvxOuxKxcuXHCr8ik%2BPt5hgrKCzkllfz2xn1E8N9u3bzcf22w2p%2BuGXwm/hb0SE2Dbdw%2B//fbb81wD1l6LFi3Mgi81NVWrVq2yPH322rdvbz7euHFjnss1HTp0qMiWx3HGfnr/devWWbLEjf26pfHx8W7dzK5evbrQn2sFm82mW2%2B91Xy%2BYMECS/ab3/H/7vS2KEn57InjzFPatGljtmikpqa6tcyfu8eJ/TjnktLi3bp1a4cuXWfOnLFkv1kTUWbJWhPbvrdSbpOb5Zf98KCzZ89atl93ZWRkONzgZJ80zlNlj/2SSL/88kuePWMyMjK0Zs0at/Zt39vDndm%2B7ddQdcW%2BrNi%2Bfbv27NnjVlq84brrrnPoxrpw4cIC7ys8PNwhSLNfGqow7K8T7pT/x48ft6wSrbDsz4dTp065dfzkxb6nhTtjwaOjo926Rysp%2Beyp48xT7K8Ry5cvz3Ouik2bNrndsmo/%2B7b9LOkljTvH27fffms22gQEBLjV0OOM/XH%2B66%2B/ujVpb9a1XcqsNHc2CV1JvDfKTYkIsM%2BdO6effvrJfN61a9d8/b2Pj4/uvPNO87mn18Tu3bu3edImJydr7NixLlsiU1JS9MYbb3h10fW77rrLbDXJSm9ha4/CwsIcasemT5%2Bea%2BvqoUOHtHz58kJ9ppUGDRpkPv7rr7/MGZULw/5metu2bbluGxUV5VZ%2BlKR89sRx5inly5dXly5dzOczZ850CIyy%2B%2Babb/Js4chiv3RJYVq7Cis/eZ%2BSkuJwU%2BrOuuDusg%2Bg165dq4MHD5qtOjabTb169cr17/PzPey7qBX2O6xevTrfE7WsWrXK4WbE2Vqtnih7evToYfYUSE5O1syZM3PdftGiRW4fm/YtEd9//32uv8eOHTvcWp7v9ttvd1i%2B6I033ii2k%2BIEBAQ4DD/46quv3Gqld8Zms%2BmRRx4xn8%2BfP9/tFqLc3H333ebjqKioPH%2BDadOmFZuyOSwsTG3btjWfT5w40a2eErmxDy7PnTuXZ%2Bvf%2BPHj3cqPkpLPnjrOPKVPnz5mRcjp06c1ZcoUl9tevHhR48ePd3vf9sdCbtf44u6rr77KtXduQkKCPv74Y/N5586dCzwOumfPnmaMk5qa6tDDzZmdO3fq22%2B/NZ/36dPH6XbF5d7IKiUiwF6xYoXZ%2Bufv769OnTrlex/dunUzH%2B/atcth0hurlS1bVk8//bT5fP369XruuedyrLN45MgRDRkyRL///rtXlmrIEhQUpOeff958/v3332vkyJF5jtO9ePGi/vvf/%2BrFF190%2Bv7QoUPNxzt37tTYsWOdjtE7efKknn76abfG7xWVG264Qd27dzefT5o0SbNnz86zC/aJEyc0efJkh4IsS8uWLc3H3377rcvun7t379awYcPcXiO7pOSzp44zT3nxxRfNi8j58%2Bf1yCOP6Mcff3S4IUpISNBHH32kt956S4GBgU5n4c7OvkLkr7/%2B8trwkBMnTuihhx7Shg0b8jwmPvzwQ7PVwN/f36HbZmF17NjRrM2Oj4/X6NGjzfdatGiR50z6n332md588808uznGx8dr1qxZ5nP7WviCmDhxorp166Yvv/zSrdbw77//Xv/%2B97/N56VLl3Y6ttwTZU%2B5cuXUt29f8/mXX37psqI5MjIyXzeo9pXXBw8e1BdffOF0u4MHD%2Bq5555zq1yz2Wx65ZVXzJvqqKgoDR06NM%2BeE0lJSVq6dKlDJUVRGDx4sDmmMDk5WY899lieActPP/3ktFX04YcfVp06dSRlVmwNGTJEP//8c55p2LFjh1588UWnvZjatWunRo0amc9HjRrlslfArFmzLJnvxkojRowwK4iio6M1aNCgPMcOp6amat26dXrwwQdztEzWrFnToVwZN26c0wqc1NRUvfnmm9q4caNb6SxJ%2BeyJ48xTwsLCHCqx5s6dq3//%2B985Wk537dqlgQMH6vDhw27fU9tXEH799dfFtiIvL/Hx8Xr22Wed9k5KTEzUiy%2B%2BaMYgPj4%2Bbq997kxoaKj69%2B9vPp8/f77mzJnjdNsjR47o2WefNRsRq1Spovvvv9/ptsXl3sgqJWIWcfuusrfeemuBal1atmypSpUqmRfoJUuW6OWXX7YsjdkNHjxYW7ZsMQuhdevWaf369WrYsKHKly%2BvM2fO6NChQ5IyA/LXXntNr776qiTr1rjNj4ceekhRUVFmXq9cuVI///yzevXqpRYtWpg1S%2BfPn9fBgwe1fft2/frrr0pNTXUYz2OvW7duuuOOO8xa3AULFmjHjh3q27evwsLClJycrK1bt2r%2B/Pm6cOGCmjdvrpiYGJ08ebJovnQe3n77bR08eFAHDhxQenq6Jk%2BerAULFqhnz55q2rSpypUrp5SUFHPClN9//93s7jVkyJAc%2B%2BvRo4emTp2q06dPKy0tTUOGDFGfPn3Utm1blS1bVqdOndJPP/2kFStWKC0tTbfffrsOHTqUo2Imu5KUz544zjyldu3a%2Bve//63Ro0fLMAzFxMRo6NChqlKliurVq6fk5GTt37/fDDxHjx6tzz//3JwAzNXyFWFhYbr22mu1Z88eGYahRx55RI0aNVL16tUd1mceN25cjolzrLZ161Zt3bpV5cuXV4cOHdSsWTPVqlVLISEhSk5O1uHDh7Vq1SqHHhcPPfSQpWuMBgQEqEuXLlq0aJEkOXSZdKd7eHJysubPn6/58%2BerSZMmuuWWW9SkSRNVrFhRgYGBiouL044dO7R48WKz/Pf19XV6jubXiRMnNGHCBL3zzjtq0aKFmjdvrkaNGql8%2BfLy9/fXhQsXdODAAa1bty5HwDVixAhVq1bN6X6tLnukzAqjDRs2KCYmRoZh6LXXXtPatWvVs2dPVatWTefOndMPP/ygZcuWKT09XT169HCr22F4eLjatm1r3pxPmjRJO3fuVPfu3VWhQgWdPXtWv/zyi5YsWaKUlBTdddddbvWiad%2B%2BvYYNG2a2tm/evFmdO3dW9%2B7d1bp1a1WtWlV%2Bfn46f/68jhw5oh07dmjTpk1KSEhwaAkpChUrVtSkSZM0bNgwpaWl6fTp03rggQfUqVMndejQQbVq1ZKvr69Onz6tXbt2ad26dTp27JgmTJiQo6InODhYH3zwgfr376%2BEhATFx8friSeeUMuWLdWpUyfVr19fwcHBSkhIUGxsrHbv3q1NmzaZLT7OZlz39fXVuHHj9PDDDys1NVXx8fF64IEH1KdPH912220KDQ3V8ePHtWzZMm3ZskU2m01du3Z1aHXypiZNmuiNN97QmDFjJGXON9KjRw/deeeduu2221SzZk0FBATowoULio6O1s6dO/Xzzz/nWFfe3iOPPGIuvbVp0ybdf//96tevnxo2bKjU1FTt3btXixYt0uHDh%2BXr66u7775bERERuaazJOWzJ44zT3rllVe0fft27du3T1Lmfc7ixYvVqFEjhYSEKCYmxmyBrlWrlgYNGmRWFOa2lFSvXr3M4TA///yzbr/9djVu3NhhGOott9zi0OJf3DRt2lQXL17UH3/8oV69eql///5q1qyZfHx8tHfvXs2fP9%2BhdX7QoEG67rrrCvWZw4cP108//WQ2Vo4fP17r16/XXXfdpdq1a%2BvSpUvasmWLFi5caN4j%2Bfj4aPz48S6H%2BBaneyMrFPsAe9%2B%2BfQ5rlua3e3gWHx8fde7c2Rxrsnz5co0YMcLhR7OSn5%2BfPvzwQ7366qtau3atpMyujNnHqNWsWVPTp093qInz1vT1EyZMUIUKFcy1bs%2BfP6958%2BZp3rx5Bd7nu%2B%2B%2Bq8cff9zsPrtnzx699dZbObarVq2apkyZooEDBxb4s6wWEhKiefPmafjw4fr1118lZc64mVf3SldKlSqld955R0OGDFFqaqpSU1PNwCC7Bg0a6J133nHZlSa7kpTPnjjOPOW%2B%2B%2B5TRkaGxo8fbwbOp06dcphR1tfXV8OHD9eAAQMcZqbO7TweN26cBg8ebNY2Z03IaM%2B%2BJdfT4uLitGTJkjyHz3Ts2FEvvfSS5Z/fu3dvM8DO4u/v79DzyB1//fVXnmtc%2B/n5afz48YW%2BwbC/dqSlpSkyMtKtGnd/f3%2BNHDky1xs2q8seKfN4nD17tgYMGGBebzZu3Oi0de6WW27RCy%2B84PZ8DW%2B%2B%2Bab69%2B9vnherV692%2Brfdu3fX888/7/YwlRdeeEFly5bV5MmTlZ6ersTEREVEROQZ6HhDu3btNHPmTA0fPlwJCQkyDEPr1q3TunXr8r2vxo0b65tvvtGwYcPMWd9///13/f777wVO3w033KDJkydr5MiRSk9PV0pKir7%2B%2Bmt9/fXXObZ96qmnVKdOnWITYEuZ3UqDgoI0atQoJSUlKS0tTWvWrHF7roDsBg4cqJ9//lmbNm2SlDl/gLNrpo%2BPj0aNGqXg4GC3jruSlM%2BeOM48JSQkRF9%2B%2BaVeeOEFcwKztLQ07d6922G7Ro0aacaMGQ4t7LnN2dS5c2eHSr/z58/nKMetrFD2hODgYI0dO1aDBw9WbGys3nvvPZfbdu3a1ZLGxcDAQH3xxRd6/PHHzbhmy5YtLiel9Pf316RJk9SuXbtc91vc7o0Ko9h3Ebdvvfbz8ytQ9/As9jdrp06d8ngXl9KlS2v69On67LPP1K1bN1WrVk3%2B/v6qWLGibrzxRo0aNUpLly7Vdddd5xBge6u7uI%2BPj1599VUtXLhQ7du3z3X9VZvNpmuvvVYvvPCC3n//fZfbBQcH66uvvtKQIUNUqlSpHO/7%2Bvqqc%2BfOioiIyLMrqDeULVtWs2fP1rRp03Tttdfmum1AQIDatGmjt99%2BW0899ZTTbdq0aaO5c%2BcqPDzc6fulS5dWv3799L///S9fyxiUpHz2xHHmSX369NHKlSv1xBNPqGHDhgoKClJwcLDCwsLUv39/RUREaOjQoUpLS3MYG5jbedysWTOtXLlSTz31lG688UaVK1fOkvWO86NSpUp6%2BeWXdfPNN%2BfZa%2Baaa67R22%2B/rY8%2B%2BkiBgYGWp6VVq1Y5WnPbtm3r1nqnXbt21YABA8zujq74%2BvqqQ4cOWrx4se65555CpVfKvDZNnDhRXbt2das2PTQ0VH369NGKFSvcWkfc6rJHymwhWLp0qe68806n64oHBQXp8ccf1%2BzZs/N1PNaqVUtff/21w%2BRk9sqVK6dXXnlF06ZNc2tSKXuPPvqoVqxYoZ49e%2BZ57NWvX19Dhgxx2V3R09q3b681a9aoT58%2BTsvhLFnHgrMx%2BFkaNWqklStX6qWXXlLVqlVz/dyyZcuqe/fu%2Bvjjj13%2BBlJmL6r58%2Be7PJ6qVaumSZMmafjw4bl%2Bnrf06NFD3377rfr16%2Bcwe70zNWvW1IABA7Ro0SKnx42vr68%2B%2BugjPfbYYy5bOMPDwzV79ux8V0iXpHz2xHHmKRUqVNCcOXM0bdo0dejQQZUrV5a/v7%2BqVKmiVq1a6e2339bChQtVp04dh2E7ed1Tv/POO5oxY4a6du2q2rVrKygoKN/llLc1a9ZMixYtUqtWrZy%2BHxoaqtdee03vvfeeZQ2LVapU0cKFC/Xss8%2B6nNPEx8dH7du315IlS9SzZ88891kc7o2sYjOKy0wWV7lx48aZy4kNHTrUI61E%2BXXp0iVt3bpVMTExOn/%2BvHx8fBQaGqo6deqoUaNG%2BV7H7tKlS9q8ebOOHz8uwzBUrVo1tWjRIs9CvTiJjY3Vn3/%2BqTNnzujixYsKDAxU%2BfLldc0116hx48a53lTZMwxDO3fu1K5du3ThwgWFhoaqevXqatWqVZ43Dnkpafls9XHmLbt27TLHFlWuXNlsGSkJkpOTtXfvXh09elRnzpxRUlKSgoKCVKlSJTVp0sRh7ebi7MyZM9q7d6%2BOHz%2BuCxcuKCMjQyEhIapdu7auv/56j1ZeRkdH6/Dhwzpx4oQuXbqk9PR0BQcHq3z58mrYsKEaNGhQqBsFq8oe%2B/1t2bJFsbGxCgoKUvXq1XXLLbeY5c/x48cdKrSztyK4cvToUf3xxx86e/asQkJCVKtWLbVp0ybXbpruSk5O1rZt2xQdHW12/836fcPDw4tVGZc1NCc6OlpxcXHy9fVVxYoV1aBBAzVp0iTfx8KBAwf0119/KS4uTgkJCQoKClKVKlUUFhamhg0bOq0wyc3evXu1c%2BdOnTt3TuXKlVO9evXUsmXLfO/HW9LS0hQVFaUjR44oLi7OPNdr1Kihhg0burX0Vpa4uDhFRkaaM09XrlxZjRo1KvTygFLJy2erjzNveeqpp8zeOWPHjlW/fv28nCJrRUREaNSoUZIyK6jnzp1rvvf3339r%2B/btOnXqlAIDA1W3bl3LymBX0tLS9Oeff%2Brw4cOKj49X6dKlzYqPknIPZzUC7GIgKSlJHTp0MGcAnDlzZqFa6gEUvbFjx5rdAO%2B8807NmDHDyykCCq6gATYAeFNsbKw6depkTo68bNkySypLipPcAmwUDyWjKqqEcqfuwjAMvfXWW2ZwXalSpTzHKAAoGu7WP27evNlhzeKingAGAIArmTvX49TUVI0ePdoMrps0aXLFBdcoGQiwPeiZZ57R9OnTc0xslmXXrl0aOnSoFi9ebL42ZMgQr8wiDiCnRYsWafjw4frxxx9zLPUiZXYtnDlzpoYMGWIuP9S0aVN16NChiFMKAMCVq3///po1a5bT9aoNw1BkZKQGDBjgMDzrmWeeKcokAqaSOXK8hDhz5ow%2B/PBDffjhhwoNDVXdunVVpkwZJSYm6tixYznWTm3fvn2Rr98JwDX7mWr9/f1Vt25dczzRmTNndOTIEYda9XLlymny5MkeW50AAICrUXR0tN555x298847qlChgurUqaOgoCBdvnxZR44cybEGdL9%2B/dS5c2cvpRZXOwJsD7KfDOLChQvauXOn0%2B18fX31wAMPaMyYMSVu5kLgSmZ/DqemppprPjpz7bXXaurUqapfv35RJA0AgKuG/f3xuXPnHFbfsRcQEKAnn3yS1mt4FQG2B3322WfasGGDIiMjtW/fPnN2WSmzpatWrVpq3bq17rnnHl1zzTVeTi2A7Pr27av69evr559/VlRUlI4dO6a4uDilpKQoJCTEXHKvU6dO6tSpExVkAAB4wLJly7R%2B/Xr99ttvOnDggGJiYnT58mX5%2BvqaM7Tfcsstuv/%2B%2B4vVigK4OjGLOAAAAAAAFmCSMwAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAW8PN2Aq4khmHo3LnLysgwvJ2Uq4KPj00VKgST50WMfPcO8r3okefeQb57B/le9Mhzz6pcuYy3k4CrFC3YFrLZbPLxsXk7GVcNHx8bee4F5Lt3kO9Fjzz3DvLdO8j3okeeA1cmAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFmAWcQBAsWCzFa%2BJfrKSY7MVv7QVBcNgVmMAAPKLABsA4HWlS1%2BWzXbB28lwkDmzb4ACA1Pk73/1BZuGEarExGBvJwMAgBKFABsA4FU2m0022wUZxmZJyd5OjikjIzPAzshIuQpbcwNls7WRzRZyFX53AAAKjgAbAFBMJMswkrydCFNmt3BDmem6uoLMq7BHPAAAliDABjzoShy3WdLHpV5tgRIAAACKDgE24CHFcUypFUr6uFTGlQIAAMBTCLABDyiuY0qtULLHpTKuFAAAAJ5DgA14VPEaU2qFkjwutQT2aAcAAEAJ4uPtBAAAAAAAcCUgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAs4OftBABA0bLJZsv8vySx2f7//zZbyUp7Xq6wr3MF8c65ciUf61YwDMPbSQAA5IIAG8BVxE9%2BfoZKlYqRVLJuUn18bJICFBiYIn//kpX2vPnIzy9VqaneTgf%2BP%2B%2BdK1f2sV54hhGqxMRgbycDAOACATaAq4ivbLZLMoydkpK9nZh8ycjIDDoyMlKuwBasUNls4d5OBBx471y5so/1wgqUzdZGNlsIeQMAxRQBNoCrULIMI8nbiciXzK6yhjLTfmXdWNtsgd5OAlwq%2BnPlSj7WC4se8wBQ/DHJGQAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABZhEHAAAoMWz/N5u4tVOKZ81QbrNlzeSO/GDGewBZCLABAABKBD/5%2BRkqVSpGmUuZWcfHJ3P98cDAFPn7Eyzml2GEKjEx2NvJAFAMEGADAACUCL6yy/1twwAAIABJREFU2S7JMHZKSrZ0zxkZmQF2RkYKrbH5FiibrY1sthDyDgABNgAAQMmSLMNIsnSPmd3Cjf/bN0FiftCjHoA9JjkDAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALODn7QTAOjabzdtJKFJZX9dmK37fvZglBwAAAEARIMC%2BQpQufVk22wVvJ6NI%2BfjYJAUoMDBF/v6Gt5OTjY/8/FKVmurtdAAAAAAoKgTYVwCbzSab7YIMY7OkZG8np8hkZGQG2BkZKTKM4hZgh8pmC/d2IgAAAAAUIQLsK0qyDCPJ24koMpndwg1lfu/iFWDbbIHeTgIAAACAIkaADQAAABSK7f/mX3F/EpbiPJcMgIIjwAYAAAAKzE9%2BfoZKlYpRZs869xTvuWSuBAzVg3cQYAMAAAAF5iub7ZIMY6fyMxdO8Z5LpqQLFAE2vIUAGwAAACi0/M2FU5znkinp6HEPb/LxdgIAAAAAALgSEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAVshmEY3k7ElSQ9PcMrn2uzpUlKlnR1/Zw%2BPjZlZBTH7%2Bwjm81fhpGiK/E3Kb75npeS/buU3HzPS/H9Xa7cPM%2BLd3%2BTqzff8%2BLZ34V8L6iC/y7kuWfYbEGy2fy8nQxcpQiwLWQYBoVkEePC5B3ku3eQ70WPPPcO8t07yPeiR55by2a7KJvtvKTqMgybEhMPeztJxZphhCoxMdjbySgxKlcu49Z2VO1YyGaz6cKFBKWleacV%2B2rj5%2Bej8uWDyfMiRr57B/le9Mhz7yDfvYN8L3rkufUqVGgmH59oGcYRSTVkGJuV2cMTOQXKZmsjmy1EtLdaiwAbAAAAQImXkDBCQUFTZbOV/79XkmUYSV5NU3Fls3k7BVcuJjkDAAAAUOIlJT2uc%2Bd2yzDc68oLeAIBNgAAAIASqVSp2apQoalKlZrt7aQAkgiwAQAAAJRQQUFT5esbraCgqd5OCiCJABsAAABACZWQMELp6bWVkDDC20kBJDHJGQAAAIASKinpcSUlPe7tZAAmWrABAAAAALAAATYAAACAAmGSMcARATYAAACAAmGSMcARATYAAACAAmGSMcARk5wBAAAAKBAmGQMc0YINAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAECBlCo1WxUqNFWpUrO9ug%2BguCDABgAAAFAgQUFT5esbraCgqV7dB1BcEGADAAAAKJCEhBFKT6%2BthIQRXt0HUFz4eTsBAAAAAEqmpKTHlZT0eIH%2BtlSp2QoKmqqEhBE6d263xSkDvIMAGwAAAECRKVNmsAIDl8gwAuXjk6CgoKkFDtKB4oYAGwAAAECRCQxcIpstXVIiXcNxxWEMNgAAAIAik5x8rwzDV8nJ9%2Bvcud20XuOKQgs2AAAAgCJz8eLnunjxc28nA/AIWrABAAAAALAAATYAAAAAjyhVarYqVGiqUqVmezspQJEgwAYAAADgEUFBU%2BXrG62goKneTgpQJAiwAQAAAHhEQsIIZgrHVYVJzgAAAAB4RFLS48wSjqsKLdgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAFwFSpWarQoVmqpUqdneTgpwxSLABgD8P/buPTqq%2Bl7/%2BLNnIJlMwkDCRQ4RXRIkNlylmEClBCPUlsJBCh4vtHog2iJ4qUFt1kH8Ve1CRUzKrSKesS1UbUsVqlHEakuK7UFOhUNrigrRAgKlkEhCMkxCJvv3h82UkCDZyZ7Zmcz7tZZLsveeySefUuSZ7w0AEAe83iK53Qfl9RY5XQrQZRGwAQAAgDgQCBQoFBqoQKDA6VKALqub0wUAAAAAiLxgMF/BYL7TZQBdGiPYAAAAAADYgIANAAAAAIANCNgAAABAnGJnccBeBGwAAAAgTrGzOGAvAjYAAAAQZ5pGrk%2BfzmFnccBG7CIOAAAAxJmmkWtJqqwsc7gaoOtgBBsAAACIM5yJDUQGI9gAAABAnOFMbCAyGMEGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAYEbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAYEbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAYoDH41da2lB5PH6nSwFwDgRsAAAAIAZ4vUVyuw/K6y1yuhQA50DABuAIPoUHAMCaQKBAodBABQIFTpcC4BwI2AAcwafwAABYEwzmq7KyTMFgvtOlADgHAjYAR/ApPAAAALqabk4XACA%2BBYP5fAIPAACALoURbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGjm9ytn//fvn9fu3evVt79%2B7VoEGDVFJS0uyZzMzMc75%2B27Zt6tevnyQpLy9Phw4davHMn//8ZyUmJoa/rqmp0dKlS7VlyxbV19crJydHixcvVnp6uk0/FQAAAAAg3jgesPfu3avS0lKNHDlSjY2NMk2zxTO/%2BMUvWlz73ve%2Bp6SkpHC4bnLNNddo7ty5za4lJCQ0%2B3rhwoUqKyvT4sWLlZKSohUrVmjOnDl6%2BeWX5fF4bPipAAAAAADxxvGAnZeXp0mTJkmSCgsL9d5777V4ZtSoUc2%2B/uSTT/S3v/1N9913X4tn%2B/Tp0%2BL5M%2B3evVtbt27V2rVrlZubK0kaMmSIJk%2BerI0bN%2BrGG2/syI8DAAAkeTx%2Beb1FCgQKOJIPABA3HF%2BD7XJZL6GkpESGYWjq1KmWX1taWiqfz6cJEyaErw0YMECjR49WaWmp5fcDAAAteb1FcrsPyustcroUAACixvER7PZ49dVXdcUVV6h///4t7r3yyiv65S9/qe7du2vMmDG69957m63hLi8v1yWXXCLDMJq9bvDgwXr77bc7XJvb7fhnFnGjqdf0PLrouzPoe/TR844JBhfK43lSweBCdevW9h7Sd2fQ9%2Bij55FmyDCMFn/nRxNDLpehbt0MmSY9slPMBez3339fH374oR5%2B%2BOEW9/Ly8jRixAgNGDBABw8e1Jo1a3TTTTdp06ZNGjhwoCSpurpaPXr0aPFan8%2BnqqqqDtfn8yV1%2BD1gDT13Bn13Bn2PPnreXndLulvJyVJysvVX03dn0Pfoo%2BeRYZohJScnSGq5vxMkKUFSgpKS2vEHND5XzAXsV155Rd27d9c111zT4t4DDzwQ/vWYMWN05ZVX6mtf%2B5r8fr%2B%2B//3vh%2B%2Bd65MsOz7hqq4%2BpVCoscPvg/Nzu13y%2BZLoeZTRd2fQ9%2Bij586g786g79FHzyPH50uSYUiBQL2kOqfL6aQMuVz1qqurVSt7TKMVqalt%2BzAipgK2aZp67bXX9OUvf1m9evU67/P9%2BvXTF7/4RZWVlYWv%2BXw%2BHTlypMWz1dXV8vl8Ha4xFGpUQwN/SEYTPXcGfXcGfY8%2Beu4M%2Bu4M%2Bh599DxSTJmm2eoJRZAMw1Rjo6mGBnpkt5ha9PHuu%2B/q8OHDmjZtWptfc/ZvmIyMDH388cctru/bt08ZGRm21AkAAAAAiD8xFbBfeeUVeb1eXXXVVW16/ujRo9q5c6eGDx8evpabm6vq6mpt27YtfO3IkSPauXNn%2BNguAAAAAACscnyK%2BKlTp8LHYx06dEg1NTV6/fXXJUnZ2dlKS0uTJDU0NGjLli2aNGmSkpJabgZRUlKirVu3asKECerXr58OHjyotWvXyu12a86cOeHnRo4cqYkTJ2rRokUqLCxUSkqKli9frvT0dM2YMSMKPzEAAAAAoCtyPGBXVFTo7rvvbnat6et169YpJydHkvT222/r008/PefZ1xdeeKGOHj2qJUuW6OTJk%2BrRo4fGjh2ru%2B66K7yDeJMnn3xSjz/%2BuB566CGdPn1aOTk5WrlypTweTwR%2BQgAAAABAPDBMVrXb6tNPa9moIkq6dXMpNTWZnkcZfXcGfY8%2Beu4M%2Bu4M%2Bt5xHo9fXm%2BRAoECBYP5532enkdOWlqyDKNBgcBPZJpBp8vplAzDI8OYqFOnBrDJWRv17dvyqOfWxNQabAAAAKAz8nqL5HYflNdb5HQpABxEwAYAAAA6KBAoUCg0UIFAgdOlAHCQ42uwAQAAgFgXDOa3aWo4gK6NEWwAAAAAAGzACDYAAACALihRhuF0DZ1VoiTjn/2xt0nxvmkaARsAAABAl2IYLiUkDHe6jE7NNE15PEck2RuITdOnU6eSbX3PWELABgAAANClmKap%2BvoPJdU5XUonFpLUYPN7JsowxskwUuJ2JJuADQAAgLhh9bxqxCpTUjXnYEcZU/LZ5AwAAABxhPOqAUQSARsAAABxg/OqAUQSU8QBAAAQNzivGkAkMYINAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAgJjn8fiVljZUHo/f6VIAxDECNgAAAGKe11skt/ugvN4ip0sBEMcI2AAAAIh5gUCBQqGBCgQKnC4FQBwjYAMAACDmnD0lPBjMV2VlmYLBfIcrAxDPCNgAAACIOUwJB9AZEbABAAAQc5gSDqAz6uZ0AQAAAIBVwWA%2B08EBdDqMYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAIKI8Hr/S0obK4/E7XQoARBQBGwAAABHl9RbJ7T4or7fI6VIAIKII2AAAAIioQKBAodBABQIFTpcCABFFwAYAAEBEBYP5qqwsUzCYH77GtHEAXREBGwAAIMIIky0xbRxAV0TABgAAiDDCZEtMGwfQFRGwAQAAIoww2VJr08YBINYRsAEAACIsXsMkU%2BMBxBsCNgAAACKCqfEA4g0BGwAAABHB1HgA8aab0wUAAACgawoG8%2BNuWjyA%2BMYINgAAAGzF2msA8YqADQAAAFux9hpAvCJgAwAAwBZNI9enT%2Bew9hpAXGINNgAAAGyRnPywXK5PZRg1qqjY73Q5ABB1jGADAAAAAGADAjYAAADa7cwNzWprH1QoNFC1tQ86XRYAOIKADSCMXV8BAFaduaFZMJivysoyjuYCELcI2ADC2PUVANBWbGgGAC2xyRmAsECgQF5vEX9JAgCcV9OHspJUWVnmcDUA0Dkwgg0gjKl9AIC2CgQKGLkGgLMwgg0AAADLgsF8PpAFgLMwgg0AAAAAgA0I2AAAAAAA2ICADQAAgFZ5PH717n2xeve%2BmCMcAaANCNgAAABowePxKyXlXrlcn8rl%2BpQjHAGgDRwP2Pv379eDDz6o6dOnKysrS1OnTm3xTGFhoTIzM1v88/vf/77Fs36/X3l5eRo%2BfLhmzpypd955p8UzNTU1evDBB5WTk6PLL79c8%2BbN06FDhyLy8wEAAMQir7dIhhGSaRpqbExlt3AAaAPHdxHfu3evSktLNXLkSDU2Nso0zVafGzhwoJYtW9bsWkZGRrOv/X6/iouLdc899ygrK0sbNmzQbbfdpg0bNigzMzP83MKFC1VWVqbFixcrJSVFK1as0Jw5c/Tyyy/L4/HY/0MCAADEmECgQF5vkQKBAnYLB4A2cjxg5%2BXladKkSZI%2BG6l%2B7733Wn3O4/Fo1KhR53yf%2Bvp6PfXUU7r55puVn//ZfwSys7M1bdo0rVmzRsXFxZKk3bt3a%2BvWrVq7dq1yc3MlSUOGDNHkyZO1ceNG3XjjjXb%2BeAAAADGJY7gAwDrHp4i7XPaUsHPnTp08ebLZFHO3260pU6aotLQ0PDJeWloqn8%2BnCRMmhJ8bMGCARo8erdLSUltqAQAAAADEH8dHsNvqwIEDGjNmjILBoIYMGaL58%2BeHR74lqby8XJI0aNCgZq/LyMhQbW2tjh49qv79%2B6u8vFyXXHKJDMNo9tzgwYP19ttvd7hOt9vxzyziRlOv6Xl00Xdn0Pfoo%2BfOoO/OoO/RR88jzZBhGC3%2Bzo9IM%2BRyGerWzZBpxmfvYyJgf%2BELX9Dw4cM1ePBgnTx5Ui%2B88IIWLFig5cuX66tf/aokqbq6WgkJCS3WUPfs2VOSdOLECfXv31/V1dXq0aNHi%2B/h8/lUVVXV4Vp9vqQOvwesoefOoO/OoO/RR8%2BdQd%2BdQd%2Bjj55HhmmGlJycIKn1/Z0QKQmSEpSUlOx0IY6JiYB9yy23NPs6Ly9PN9xwg1asWBEO2JJa/YSqaWr4mffO9UmWHZ9wVVefUijU2OH3wfm53S75fEn0PMrouzPoe/TRc2fQd2fQ9%2Bij55Hj8yXJMKRAoF5SndPlxBlDLle96upqdY69q2NWamrbPjSIiYB9NpfLpa985St64oknFAwG5fF45PP5VFdXp7q6OiUmJoafra6ulvSvkWyfz6cjR460eM/q6mr5fL4O1xYKNaqhgT8ko4meO4O%2BO4O%2BRx89dwZ9dwZ9jz56HimmTNM85wlFiAzDMNXYaKqhIX57H7OLPs7%2BH6zpyK6mtdhNysvLlZycrAsuuCD83Mcff9zi9fv27Wtx7BcAAAAAAG0VkwG7sbFRW7Zs0aWXXhpecz169Gj16NFDr732Wvi5UCikzZs3Kzc3Nzz9Ozc3V9XV1dq2bVv4uSNHjmjnzp3hY7sAAAAAALDK8Snip06dCh%2BPdejQIdXU1Oj111%2BX9Nk51qdOnVJhYaGmTp2qiy66SFVVVXrhhRf03nvvaeXKleH3SUhI0O23367i4mKlpaUpKytLGzZs0MGDB1VUVBR%2BbuTIkZo4caIWLVqkwsJCpaSkaPny5UpPT9eMGTOi%2B8MDAAAAALoMxwN2RUWF7r777mbXmr5et26dMjMzlZKSotWrV6uyslLdu3fXsGHD9Mwzz%2BjLX/5ys9fNnTtXpmlq/fr1On78uIYMGaK1a9cqMzOz2XNPPvmkHn/8cT300EM6ffq0cnJytHLlyhY7kAMAAAAA0FaGGa%2BrzyPk009r2agiSrp1cyk1NZmeRxl9dwZ9jz567gz67gz6Hn30PHLS0pJlGA0KBH4i0ww6XU5cMQyPDGOiTp0a0OU2Oevbt%2BVRz62JyTXYAAAAOD%2BPx6%2B0tKHyePxOlwIAcYGADQAA0EV5vUVyuw/K6y06/8MAgA4jYAMAAHRRgUCBQqGBCgQKnC4FAOKC45ucAQAAIDKCwXwFg/lOlwEAcYMRbAAAgC6CNdcA4CwCNgAAQBfg8fiVknIva64BwEEEbAAAgC7A6y2SYYRkmm7WXAOAQwjYAAAAMaxpWvjp0zkKhQaqpmYZ664BwCFscgYAABCjmqaFG0ZIklRZWeZwRQAQ3wjYAAAAMcbj8f9zSngN08IBoBNhijgAAECM8XqL5HYflCSmhQNAJ0LABgAAiDGBQIFCoYGqrX1QlZVlhGsA6CSYIg4AABBjgsF8QjVwXokyDKdriDeJThfgOAI2AAAAgC7FMFxKSBjudBldnmkmqqGh%2B1nXfDJN06GKnEfABgAAANClmKap%2BvoPJdU5XUoXlijDGKNgsL/OzNPxHK4lAjYAAACALseUVC3TDDpdSJdlGB5JjTJNQvWZ2OQMAAAAAAAbELABAAA6GY/Hr7S0ofJ4/E6XAgCwgIANAADQyTSdc%2B31FjldCgDAAgI2AABAJ9N0znUgUOB0KQAAC9jkDAAAoJPhnGsAiE2MYAMAAAAAYAMCNgAAgEM8Hr96975YvXtfzIZmANAFELABAAAc4vUWyeX6VC7Xp2xoBgBdAGuwAQAAHODx%2BGUYNWps9EpKZEMzAOgCCNgAAAAOaBq9DoUGqrKyzOlyAAA2YIo4AACAAziKCwC6HkawAQAAHMBRXADQ9TCCDQAAAACADQjYAAAAAADYgIANAAAAAIANCNhAHPB4/EpLGyqPx%2B90KQAAAECXRcAG4oDXWyS3%2B6C83iKnSwEAAAC6LAI2EAc4CgYAAACIPI7pAuIAR8EAAAAAkccINgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAASzwev9LShsrj8TtdCgAAnQoBGwAAWOL1FsntPiivt8jpUgAA6FQI2AAAwJJAoECh0EAFAgVOlxIVvXrlqk8fn3r1ynW6FABAJ9fN6QIAAEBsCQbzFQzmO11G1HTrtkuG8dm/AQD4PIxgAwCATqmzrPVuaLhcpvnZvwEA%2BDyMYAMAgE7pzLXeTo6YnzhR6tj3BgDEFkawAQBApxRva70BALGPgA0AADqlYDBflZVlUR297izT0gEAsYmADQAA8E8cQQYA6AgCNgAAwD8xLR0A0BEEbAAAELfOnhLuxLR0AEDXQcAGAABxiynhAAA7EbABAEDcYko4AMBOnIMNAADiVjCYz3RwAIBtGMEGAAAAAMAGBGwAAAAAAGxAwAYAAF3e2buFAwAQCQRsAADQpXk8fqWk3Mtu4QCAiCNgAwCALs3rLZJhhGSabnYLBwBEFAEbAAB0aU1HcdXULGPHcABARHFMFwAA6NI4igsAEC2MYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAICY1aPHXPXpk6oePeY6XQoAAARsAAAQuxITN8owQkpM3Oh0KQAAELABAEDsqqubIdN0q65uhtOlAADAOdgAACB2nTz5rE6efNbpMgAAkMQINgAAAAAAtiBgAwAAAABgAwI2AACIKI/Hr7S0ofJ4/E6XAgBARDm%2BBnv//v3y%2B/3avXu39u7dq0GDBqmkpCR8PxQK6dlnn1Vpaan27dunUCikIUOG6I477tC4ceOavVdeXp4OHTrU4nv8%2Bc9/VmJiYvjrmpoaLV26VFu2bFF9fb1ycnK0ePFipaenR%2B4HBQAgTnm9RXK7D8rrLVIwmO90OQAAREy7AvYnn3yizZs36/DhwwoGg83uGYahJUuWtPm99u7dq9LSUo0cOVKNjY0yTbPZ/WAwqKefflrXXnut8vPz1a1bN23cuFFz5szRU089pauuuqrZ89dcc43mzm1%2BFmZCQkKzrxcuXKiysjItXrxYKSkpWrFihebMmaOXX35ZHo%2BnzbUDAIDzCwQK5PUWKRAocLoUAAAiynLA3rp1q%2B644w41NjYqLS2tRXg1DMPS%2B%2BXl5WnSpEmSpMLCQr333nvN7ns8Hr311lvq2bNn%2BNr48eP1t7/9Tc8%2B%2B2yLgN2nTx%2BNGjXqnN9v9%2B7d2rp1q9auXavc3FxJ0pAhQzR58mRt3LhRN954o6X6AQDA5wsG8xm5BgDEBcsBu7i4WKNHj1ZxcbF69%2B7d4QJcrs9fBu52u5uFa%2BmzEH/ZZZfp3Xfftfz9SktL5fP5NGHChPC1AQMGaPTo0SotLSVgAwAAAADaxfImZ/v379dtt91mS7hur8bGRu3atUsZGRkt7r3yyisaNmyYLr/8ct1222364IMPmt0vLy/XJZdc0mKkffDgwSovL49o3QAAAACArsvyCPaAAQMUCAQiUUubrV%2B/Xh9//LEefvjhZtfz8vI0YsQIDRgwQAcPHtSaNWt00003adOmTRo4cKAkqbq6Wj169Gjxnj6fT1VVVR2uze1mY/Zoaeo1PY8u%2Bu4M%2Bh599NwZ9N0Z9D366HmkGTIMw/LyVVhhyOUy1K2bIdOkz00sB%2BzvfOc7evbZZzVhwgQlJSVFoqbPtWPHDj3xxBOaO3eurrjiimb3HnjggfCvx4wZoyuvvFJf%2B9rX5Pf79f3vfz9871z/R7Pj/4A%2BX/R7Eu/ouTPouzPoe/TRc2fQd2fQ9%2Bij55FhmiElJydIMs/7LNorQVKCkpKSnS6kU2lTwP7BD37Q7Ovjx49r8uTJysnJUWpqaovnzwy6dnr//fc1f/58TZo0Sffdd995n%2B/Xr5%2B%2B%2BMUvqqysLHzN5/PpyJEjLZ6trq6Wz%2BfrcI3V1acUCjV2%2BH1wfm63Sz5fEj2PMvruDPoeffTcGfTdGfR5noT4AAAgAElEQVQ9%2Buh55Ph8STIMKRCol1TndDldmCGXq151dbUy4%2BBzjNTUtn2Q0KaA/bOf/azV66%2B%2B%2BmqLa4ZhRCRgHzhwQLfeequysrK0dOnSNo82n33sV0ZGhv74xz/KNM1m77Fv375W13RbFQo1qqGBPySjiZ47g747g75HHz13Bn13Bn2PPnoeKaZM02yRBWAfwzDV2GiqoYE%2Bn6lNAfv999%2BPdB2f69ixY5o7d6769OmjH/3oRy2OBjuXo0ePaufOnZo%2BfXr4Wm5urlavXq1t27aFdxI/cuSIdu7cGbGRdwAA0JLH4w%2Bfj80xXgCArsDyGuzDhw%2Brb9%2B%2B6t69e4t7DQ0N%2Bsc//qEBAwa0%2Bf1OnTql0tJSSdKhQ4dUU1Oj119/XZKUnZ0tr9erW2%2B9VRUVFSosLNS%2Bffuavb7pzOuSkhJt3bpVEyZMUL9%2B/XTw4EGtXbtWbrdbc%2BbMCT8/cuRITZw4UYsWLVJhYaFSUlK0fPlypaena8aMGVbbAQAA2snrLZLbfVBebxEBGwDQJVgO2FdffbV%2B8YtfaMSIES3uvf/%2B%2B7ruuuu0Z8%2BeNr9fRUWF7r777mbXmr5et26d0tPTwyPoCxYsaPH6pmO4LrzwQh09elRLlizRyZMn1aNHD40dO1Z33XVXeAfxJk8%2B%2BaQef/xxPfTQQzp9%2BrRycnK0cuVKeTyeNtcNAAA6JhAoCI9gAwDQFVgO2J83v76xsdHyTtwXXnhhi7Oqz3a%2B%2B9JnI9nr169v0/dMSUnRI488okceeaRNzwMAAPsFg/mMXAMAuhTbDt6rr6/X73//%2B1Z3FQcAAAAAoKtr0wj2qlWrtHr1akmf7RJ%2B/fXXn/PZ6667zp7KAAAAAACIIW0K2MOHD9dNN90k0zT1/PPP65prrlGfPn2aPZOQkKAhQ4Zo6tSpESkUAAAAAIDOrE0BOzc3V7m5uZI%2B2/V7/vz5LTYOAwAAAAAgnlne5OzRRx%2BNRB0AAAAAAMQ0ywF706ZN57xnGIZ8Pp%2BysrJ0wQUXdKgwAAAAAABiieWAXVhYGD6K68wju8685nK5NH36dD3yyCPq1s3ytwAAAAAAIOZYTr8bNmzQPffcoyuvvFJTp05V7969dfz4cZWUlOgPf/iDvv/976usrEyrV69Wenq67rjjjkjUDQAAAABAp2I5YK9bt06TJ0/W9773vfC1QYMGKTs7W4899phefPFF/fCHP1RVVZVeeeUVAjYAAAAAIC64rL5g69at%2BvKXv9zqvQkTJujtt9%2BWJI0dO1aHDx/uWHUAAAAAAMQIywE7FArpwIEDrd7bv39/eF12QkKCEhISOlYdAAAAAAAxwnLAHj9%2BvH74wx/qD3/4Q7Pr27Zt0/Lly3XllVdKkj766COlp6fbUyUAAAAAAJ2c5TXYixYt0re%2B9S3deuutSk5OVu/evVVRUaHa2lpddNFFWrRoUfjZW265xdZiAQAAAADorCwH7AsuuEC//vWv9dJLL%2BlPf/qTTpw4oaysLF1xxRWaMWOGkpKSJEmzZ8%2B2vVgAAAAAADqrdh1SnZSUpNmzZxOiAQAAAAD4J8trsAEAQPzxePxKSxsqj8fvdCkAAHRalkewT58%2BrWeeeUYlJSU6fPiw6urqmt03DEN//etfbSsQAAA4z%2Bstktt9UF5vkYLBfKfLAQCgU7IcsIuKivSTn/xEEyZM0KRJkziKCwCAOBAIFMjrLVIgUOB0KQAAdFqWA/bmzZu1YMEC3XHHHZGoBwAAdCIejz8crCsry5wuBwCATs3yGuyqqiqNGTMmErUAAIBOomnNdXLyw%2BGp4QAA4PNZHsG%2B4oor9P7772vs2LGRqAcAAHQCTWuuGxtTFQoNZGo4gBiUKMNwuoauLFGS8c8ed41Gm6bZ4fewHLAfeOABzZ8/XwMGDNDEiRNZgw0AQBd05pprNjUDEGsMw6WEhOFOl9HlmaYpj%2BeIpI4H087ANH06dSq5Q%2B9hOWBPnz5dDQ0Nuvvuu2UYhjweT7P7hmHo3Xff7VBRAADAWcFgPsEaQMwyTVP19R9Kqjvvs%2BiIkKQGp4uwSaIMY5wMI6VDI9mWA/Y111wjg7kWAAAAADotU1K1TDPodCGIEXZFXMsB%2B7HHHrPnOwMAAAAA0IVY3kUcAAAAAAC01K6AXV5eroKCAo0fP17Dhg1TWdln52KuWrVK27dvt7VAAAAAAABigeWAvWfPHs2aNUs7duxQdna2QqFQ%2BF5tba1%2B/vOf21ogAAAAAACxwHLAXrZsmTIzM/Wb3/xGS5cubbbD2ogRI/SXv/zF1gIBAAAAAIgFlgP2zp07deuttyopKanFbuJ9%2BvTR8ePHbSsOAAAAAIBY0a412N27d2/1elVVlRISEjpUEAAAAAAAschywM7MzNSbb77Z6r1t27Zp6NChHS4KAAAAAIBYY/kc7JtvvlkLFy5UUlKSpk%2BfLkk6cuSItm/frhdffFErVqywvUgAAAAAADo7ywF7ypQpOnDggFatWqX169dLku6880653W7dddddysvLs71IAAAAAAA6O8sBW5LmzZuna6%2B9Vtu2bVNFRYVSU1M1fvx4paen210fAABxz%2BPxy%2BstUiBQoGAw3%2BlyAADAObQrYEtS//79dd1119lZCwAAMSca4dfrLZLbfVBebxEBGwCATqxdu4gDAIDPnBl%2BIyUQKFAoNFCBQMF5n/V4/EpLGyqPxx%2BxegAAQOvaNIJ92WWXtTjz%2BlwMw9Bf//rXDhUFAECsCAQKwiPYkRIM5rd55JrRbgAAnNOmgL1gwYI2B2wAAOKJlfAbCWdPUY9G4AcAAK1rU8C%2B8847I10HAABoh7NHrJ0O/AAAxDPWYAMAEMOsrM8GAACRRcAGAKATaO/mZMFgvioryxi1BgCgEyBgAwDQCURjN3IAABBZBGwAADoBpnoDABD72rTJGQAAiCw2JwMAIPYxgg0AAAAAgA3aNIJ9%2BPBhS286YMCAdhUDAABanm0NAABiQ5sCdl5engzDaPOb7tmzp90FAQAQ784%2B2xoAAMSGNgXsJUuWhAN2Q0ODnnrqKXk8Hk2ZMkV9%2BvTRsWPH9NprrykYDGr%2B/PkRLRgAgK4uECgIj2Azmg0AQOxoU8D%2Bxje%2BEf51UVGRMjIy9PTTT8vl%2BtcS7gULFujb3/629u/fb3%2BVAADEkTM3PEtLG8poNgAAMcLyJmebNm3STTfd1CxcS5LL5dJNN92kX//617YVBwBAPPJ4/EpLGyqPx8/xXQAAxBDLx3SdOHFCwWCw1XvBYFDV1dUdLgoAgHhz5lTwM9dgV1aWMXINAECMsDyCnZWVpR/96EeqrKxsdr2yslI/%2BtGP9IUvfMG24gAAiBdNoTolpUCGUaHGxlRGrQEAiDGWR7ALCws1Z84cXX311Ro7dqz69u2rY8eOafv27ZKkH//4x7YXCQBAVxcIFCgl5V4ZRkiGEVAo1JuRawAAYozlgD1q1Cj96le/0qpVq7Rjxw6dOHFCvXr10lVXXaXbb79dl156aSTqBACgS2sK08nJD0sSo9cAAMQgywFbkjIyMlRcXGx3LQAAxLUzdw8HAACxx/IabAAAYI8zdwsHAACxr10j2CdOnFBJSYnKy8tb7ChuGIaWLFliS3EAAHRlZ%2B4Wzsg1AACxz3LAPnz4sGbNmqVTp04pGAwqNTVVVVVVCoVC6tmzp1JSUiJRJwAAXU7TkVystwYAoGuwPEX8ySef1ODBg/XHP/5RpmnqmWee0a5du7R48WIlJCRo7dq1kagTAIAuJxjM55xrAAC6EMsBe9euXbrxxhuVmJgoSTJNUwkJCZo9e7ZmzZqlpUuX2l4kAAAAAACdneWAXVFRob59%2B8rlcsntdqumpiZ8Lzs7W%2B%2B%2B%2B66tBQIAAAAAEAssB%2BzevXurqqpKkpSenq733nsvfO%2BTTz6R2%2B22rzoAAGIcO4UDABA/LG9yNmrUKO3Zs0dXX321Jk%2BerNWrV6u%2Bvl7du3eX3%2B/X2LFjI1EnAAAxiZ3CAQCIH5YD9ty5c3Xo0CFJ0oIFC1ReXq6VK1fKNE1dccUVWrRoke1FAgAQa3r0mKvExBcldVNjYyo7hQMAEAcsB%2Bxhw4Zp2LBhkiSv16s1a9aE12FzRBcAAJ9JTNwowzAlnVZjYwqj1wAAxAHLa7Bbk5KSQrgGAOAMdXUzZJqGGhu9jF4DABAn2hWwy8vLVVBQoPHjx2vYsGEqKyuTJK1atUrbt2%2B3tUAAAGLFmRuanTz5rI4fr1JFxd8ZvQYAIE5YDth79uzRrFmztGPHDmVnZysUCoXv1dbW6uc//7mtBQIAECvO3NAMAADEH8sBe9myZcrMzNRvfvMbLV26VKZphu%2BNGDFCf/nLX2wtEACAWBEIFCgUGsiUcAAA4pTlTc527typJ554QklJSc1GryWpT58%2BOn78uG3FAQAQS4LBfKaDAwAQx9q1Brt79%2B6tXq%2BqqlJCQkKHCgIAAAAAIBZZDtiZmZl68803W723bds2DR06tMNFAQAAAAAQayxPEb/55pu1cOFCJSUlafr06ZKkI0eOaPv27XrxxRe1YsUK24sEAKAz8Xj88nqLFAgUMCUcAACEWQ7YU6ZM0YEDB7Rq1SqtX79eknTnnXfK7XbrrrvuUl5enu1FAgDQWXg8fqWk3CvDCMnrLSJgAwCAMMsBW5LmzZuna6%2B9Vtu2bVNFRYVSU1M1fvx4paenW36v/fv3y%2B/3a/fu3dq7d68GDRqkkpKSFs%2BVlpaquLhY5eXl6t%2B/v/7zP/9Ts2fPbvGc3%2B/Xc889p2PHjmnIkCG6//77lZOT0%2ByZmpoaLV26VFu2bFF9fb1ycnK0ePHidtUPAIgvXm%2BRDCMk03SzWzgAAGjG0hrsYDCohQsX6k9/%2BpP69%2B%2Bv6667TvPmzdP111/f7nC6d%2B9elZaW6uKLL1ZGRkarz%2BzatUvz589XVlaWnnnmGc2YMUM/%2BMEPtGHDhmbP%2Bf1%2BFRcXa/bs2Vq7dq0uvvhi3Xbbbfrggw%2BaPbdw4UL99re/1eLFi1VcXKx//OMfmjNnjoLBYLt%2BBgBA/Gg6iqumZhmj1wAAoBlLI9gej0dvvfWWbrjhBtsKyMvL06RJkyRJhYWFeu%2B991o8s3r1amVlZWnJkiWSpLFjx%2BrIkSNavny5Zs6cKZfLpfr6ej311FO6%2BeablZ//2V94srOzNW3aNK1Zs0bFxcWSpN27d2vr1q1au3atcnNzJUlDhgzR5MmTtXHjRt144422/WwAgK6Ho7gAAMC5WN5F/LLLLtOHH35oXwGuzy%2Bhvr5e27dv19e//vVm16dNm6Zjx47pr3/9q6TPzuc%2BefKkpk6dGn7G7XZrypQpKi0tlWmakj6bau7z%2BTRhwoTwcwMGDNDo0aNVWlpq148FAOgS1sjn%2B4I8Hr/ThQAAgBhgeQ32vffeq/vvv1%2BXXnqpsrOzI1FTMwcOHNDp06c1aNCgZtcHDx4sSSovL9ewYcNUXl4uSS2ey8jIUG1trY4ePar%2B/furvLxcl1xyiQzDaPF%2Bb7/9dofrdbvbdbQ42qGp1/Q8uui7M%2Bh79CQk/Lc8nidVX3%2BvpCK53Qfl9RapoeE2p0uLC/xedwZ9jz56HmmGDMNo8Xd%2B4NwMuVyGunUzZJrt/31jOWA/9NBDqq2t1S233CKfz6d%2B/fo1L8sw9PLLL7e7oLNVVVVJknw%2BX7PrTV833a%2BurlZCQoI8Hk%2Bz53r27ClJOnHihPr376/q6mr16NGjxffx%2BXzh9%2BoIny%2Bpw%2B8Ba%2Bi5M%2Bi7M%2Bh7NBRLOqikpO9KSpKUJrf7v5SamuxwXfGF3%2BvOoO/RR88jwzRDSk5OkGQ6XQpiRoKkBCUldey/95YDdq9evdSrV68OfdP2ONenT2deb%2B2Zpqnh53vu865bUV19SqFQY4ffB%2Bfndrvk8yXR8yij786g79GTkHCPvN6FMoyQpIAaG/uoqupbkmqdLi0u8HvdGfQ9%2Buh55Ph8STIMKRCol1TndDmIGYZcrnrV1dXKbOVzmbZ%2B0G45YDedfR0tTSPQZ48uV1dXS/rXSLbP51NdXZ3q6uqUmJjY4rmm9/H5fDpy5EiL71NdXd1ilLw9QqFGNTTwh2Q00XNn0Hdn0PfIa2iYq8ZGU8nJD8vlMnTqVAE9dwC/151B36OPnkeKKdM0w4NtwPkYhqnGRlMNDR37fdPpF31cdNFF6t69uz766KNm1/ft2ydJ4aO9mv7dtBa7SXl5uZKTk3XBBReEn/v4449bNG3fvn3nPCYMABBfgsF8VVUdlFSh%2BvpbnS4HAADEiE4fsBMSEjR27Fht3ry52fWSkhL17dtXWVlZkqTRo0erR48eeu2118LPhEIhbd68Wbm5ueHp37m5uaqurta2bdvCzx05ckQ7d%2B4MH9sFAAAAAIBVlqeI2%2B3UqVPh47EOHTqkmpoavf7665I%2BO8c6LS1NCxYs0De/%2BU098MADmjZtmnbu3KkNGzbo4YcfDh/zlZCQoNtvv13FxcVKS0tTVlaWNmzYoIMHD6qoqCj8/UaOHKmJEydq0aJFKiwsVEpKipYvX6709HTNmDEj%2Bg0AAAAAAHQJhunwwoRPPvlEV199dav31q1bp5ycHEmfnV9dVFSk8vJy9e/fX3PmzNHs2bObPW%2Bapvx%2Bv5577jkdP35cQ4YM0X333aexY8c2e66mpkaPP/64tmzZotOnTysnJ0eLFy9Wenp6h3%2BeTz%2BtZR1NlHTr5lJqajI9jzL67gz6Hn303Bn03Rn0PfroeeSkpSXLMBoUCPxEphl0uhzECMPwyDAm6tSpAa2uwe7bt%2BVJVK2%2Bj9MBu6vhD8no4T9MzqDvzqDv0UfPnUHfnUHfo4%2BeRw4BG%2B1hV8Du9GuwAQAAAACIBQRsAAAAAABs0KZNzi677LLwLtxtsWfPnnYXBABAJHg8fiUnL5JhnFJd3UydPPms0yUBAIAupk0Be8GCBc0C9ksvvaTa2lrl5eWpT58%2BOnbsmH73u9/J6/Vq5syZESsWAID28nqL5HIFJEmJiRsJ2AAAwHZtCth33nln%2BNfPPvus%2BvTpo1deeUXJycnh6zU1NZozZ448Ho/9VQIA0EGBQMEZI9gcywgAAOxneQ32888/r1tvvbVZuJaklJQU3XrrrXr%2B%2BedtKw4AgI7yePxKSxsqSaqo%2BLuOH69i9BoAAESE5YB99OhRud3uVu%2B53W4dP368w0UBANBRTcE6Oflhud0H5fUWOV0SAADo4iwH7IyMDP3kJz/R6dOnm12vr6/Xj3/8Yw0aNMi24gAAaC%2Bvt0hu90FJUig0UIFAgcMVAQCArq5Na7DP9N3vflcLFizQpEmTNHnyZPXt21fHjh3Tb37zGx0/flyrV6%2BORJ0AAFgSCBTI6y1SIFCgYDDf6XIAAEAcsBywJ06cqP/%2B7/9WcXGxnn/%2BeTU2NsowDI0YMUKPPvqovvSlL0WiTgAAPpfH428WqJv%2BAQAAiBbLAVuSxo0bp3HjxunUqVOqrq6Wz%2BdTUlKS3bUBANBmTVPCvd4igjUAAHCE5TXYZ2o6G7t79%2B62FAMAQHsFAgWstQYAAI5qV8Devn27rr/%2Beo0ePVpXXXWVPvjgA0nSQw89pDfeeMPWAgEAaItgMF%2BVlWWMXgMAAMdYDtj/8z//o/z8fNXV1Wnu3LlqbGwM30tNTdVLL71ka4EAgPNrOpLK4/E7Xcp5xVKtAAAAVlgO2CtWrNCECRO0adMmffe7321277LLLtP7779vW3EAgLY5c/1xZ2dXrQR1AADQ2VgO2Hv27NENN9wg6V9rsJukpaWpoqLCnsoAAG0WS%2BuP7ao1lj5UAAAA8cHyLuJut1unT59u9V5FRYWSk5M7XBQAwJpYOpLKrlrPPOcaAACgM7A8gj18%2BHC9/PLLrd7bsmWLRo0a1eGiAAA4HzY1AwAAnY3lEexvf/vbys/P14IFC3TttdfKMAzt3r1bL774orZs2aKf/vSnkagTAAAAAIBOzXLA/tKXvqTHHntMS5Ys0VtvvSVJevjhh%2BXz%2BfToo49qzJgxthcJAAAAAEBnZzlgS9L06dN1zTXXaNeuXTp%2B/LhSU1M1evRoeb1eu%2BsDAMQxj8cfXmfNVHAAANDZtStgS5LH49G4cePsrAUAgGbO3CmcgA0AADo7y5ucvfjii1q5cmWr91auXKlNmzZ1uCgAAKTYOn4MAADAcsBev369fD5fq/dSU1O1bt26DhcFAIDETuEAACC2WA7Y%2B/fv15AhQ1q9l5GRof3793e4KAAAAAAAYo3lgC1JJ0%2BebPV6TU2NQqFQhwoCAAAAACAWWQ7YmZmZevXVV1u9V1JScs7RbQAAAAAAujLLu4jPnj1b9913n773ve/ppptuUv/%2B/fX3v/9dL7zwgt544w09/vjjkagTAAAAACxIlGE4XQNiR6It72I5YE%2BbNk0fffSR1q5dq5dffjl83eVy6fbbb9e///u/21IYAAAAALSHYbiUkDDc6TLikmkmqqGhu9NltItp%2BmSaZofeo13nYN99992aOXOm/vjHP6qyslJpaWm68sorlZ6e3qFiAADxw%2BPxy%2BstUiBQwC7hAABbmaap%2BvoPJdU5XUqcSZRhjFEw2F8dzKmO6Gi4ltoZsCXpwgsv1H/8x390uAAAQHzyeovkdh%2BU11tEwAYA2MyUVC3TDDpdSFwxDI%2BkRpmmPWE1FrU7YFdUVOjQoUOqq2v5qdAVV1zRoaIAAF3P2SPWgUBB%2BGsAAICuwHLA/sc//qH7779f77zzjqR/fTJhGIZM05RhGNqzZ4%2B9VQIAYl5y8sNyuT5VcvLDCgbzw/8AAAB0FZYD9iOPPKI9e/bo3nvvVWZmphISEiJRFwAAAAAAMcVywN6xY4fuv/9%2BzZw5MxL1AAC6qNraB5kSDgAAujTLAdswDP3bv/1bJGoBAHRhTAkHAABdncvqC7761a/qd7/7XSRqARCjPB6/0tKGyuPxO10KAAAA4BjLI9hf%2B9rXtHjxYpmmqauuukq9evVq8czQoUNtKQ6Id7FyTjDHLQEAAADtCNi33HKLJOlnP/uZnnvuuWb32EUcsFesBFeOWwIAAADaEbAfffTRSNQBoBWxElxZWwsAAAC0I2DPmDEjEnUAaAXBFQAAAIgdljc5O9NHH32kd999V4FAwK56AAAAAACISe0K2Js2bdKECRP09a9/Xd/85jf18ccfS5Luvvtu/fKXv7S1QAAAAAAAYoHlgL1582YVFhYqKysrvJt4k6FDh2rz5s22FggA6Jx69JirPn1S1aPHXKdLAQAA6BQsB%2By1a9fqG9/4htasWaPrr7%2B%2B2b1BgwZp3759thUHAOi8EhM3yjBCSkzc6HQpAAAAnYLlgF1eXq6vf/3rrd7r1auXTpw40eGiAACdX13dDJmmW3V1bH4JAAAgtWMX8aSkJJ08ebLVe0ePHlXPnj07XBQAoPM7efJZnTz5rNNlAAAAdBqWR7Avv/xyPffcc83WXjd56aWXlJ2dbUthAAAAAADEEssBe8GCBfq///s/zZo1S%2BvXr5dhGHrjjTc0b948/elPf9K8efMiUScAAAAAAJ2a5YA9fPhwPfPMMwoEAnrsscdkmqaefvppffzxx1q7dq2GDBkSiToBAAAAAOjULK/BlqSxY8dq8%2BbNOnDggI4fP67U1FRdcskldtcGAAAAAEDMaFfAbnLRRRfpoosusqsWAAAAAABiluWAvWnTpvM%2Bc%2B2117arGAAAAAAAYpXlgF1YWNjqdcMwwr8mYAMAAAAA4o3lgP3WW2%2B1uPbpp5/qrbfe0muvvabi4mJbCgMAAAAAIJZYDtjp6emtXhs2bJgaGhq0bt06PfbYY7YUBwAAAABArLB8TNfnGTdunH7729/a%2BZYAAAAAAMQEWwP2oUOH5HLZ%2BpYAAAAAAMQEy1PE//d//7fFtfr6en3wwQd6%2BumnNW7cOFsKAwAAAAAgllgO2N/61rea7RguSaZpSpK%2B9KUvafHixfZUBgAAAABADLEcsNetW9fiWmJiotLT09WnTx9bigIAAAAAINZYDtjZ2dmRqAMAAAAAgJjGjmQAAAAAANjA8gh2Xl5eizXY52IYht58803LRQEAAAAAEGvaNUX8nXfe0bFjx3T55Zerb9%2B%2BOnbsmHbt2qV%2B/fopJycnEnUCANrJ4/HL6y1SIFCgYDDf6XIAAAC6LMsBe%2BzYsdq1a5feeOMNDRgwIHz90KFDmjt3rrKzszVjxgxbiwQAtJ/XWyS3%2B6C83iICNgAAQARZXoP9zDPP6M4772wWriUpPT1dCxYs0Nq1a20rDgDQfh6PX2lpQ3X6dI5CoYEKBAqcLgkAAKBLszyCfeDAAfXo0aPVez179tShQ4c6XBQAoP2apoQbRo1crk8lSZWVZQ5XBQAA0PVZHsFOT0/Xr371q1bv/fKXv2wxsg0AiK6mKeGSGLkGAACIIssj2N/%2B9rf1X//1X5o1a5amTp2qPn366Pjx4yopKVFZWZl%2B8IMfRKJOAEAbBQIFbGoGAADgAMsB%2Bxvf%2BIYk6Yc//KEee%2Byx8PW%2BffvqkUce0cyZM%2B2rDgDQwpm7gkufjVifPp2j7t3fCYdqgjUAAED0WQ7Y0mche8aMGfroo4904sQJ9erVS4MGDWrz%2BdgAgPY7c1dwSXK7D8rlOizDCLFTOAAAgIPaFbAlyTAMZWRk2FkLAKANzpwCLrUcwQYAAIAz2hWwy8vLtXr1au3YsUMnTpzQL37xCw0dOlSrVq3SmDFjNHbsWLvrBAD809lTwBmxBgAA6Bws7yK%2BZ88ezZo1Szt27FB2drZCoVD4Xm1trX7%2B85/bWmCTb33rW8rMzGz1n1dffVWSVFhY2Or93//%2B9y3ez%2B/3Ky8vT8OHD9fMmTP1zjvvRKRuAAAAAEB8sDyCvWzZMmVmZurHP/6xunfvrtdeey18b8SIEXrjjTdsLbDJ//t//081NTXNrv30pz/VG2%2B8oXHjxoWvDRw4UMuWLWv23NlT2f1%2Bv4qLi3XPPfcoKytLGzZs0G233aYNGzYoM0RLyakAACAASURBVDMzIvUDAAAAALo2ywF7586deuKJJ5SUlNRs9FpS%2BMiuSBg8eHCLawsXLtSVV16ptLS08DWPx6NRo0ad833q6%2Bv11FNP6eabb1Z%2B/mfTKrOzszVt2jStWbNGxcXF9hcPAAAAAOjyLE8Rl6Tu3bu3er2qqkoJCQkdKqitdu7cqU8%2B%2BUTTpk2z/LqTJ09q6tSp4Wtut1tTpkxRaWmpTNO0u1QAAAAAQBywPIKdmZmpN998U7m5uS3ubdu2TUOHDrWlsPMpKSlRUlKSrr766mbXDxw4oDFjxigYDGrIkCGaP3%2B%2BJk2aFL5fXl4uSRo0aFCz12VkZKi2tlZHjx5V//79212X292uzyzQDk29pufRRd%2BdQd%2Bjj547g747g75HHz2PNEOGYXCMcNQZcrkMdetmyDTjs/eWA/bNN9%2BshQsXKikpSdOnT5ckHTlyRNu3b9eLL76oFStW2F7k2RoaGvT666/r6quvltfrDV//whe%2BoOHDh2vw4ME6efKkXnjhBS1YsEDLly/XV7/6VUlSdXW1EhIS5PF4mr1nz549JUknTpzoUMD2%2BZLa/Vq0Dz13Bn13Bn2PPnruDPruDPoeffQ8MkwzpOTkBEnMTo2uBEkJSkpKdroQx1gO2FOmTNGBAwe0atUqrV%2B/XpJ05513yu1266677lJeXp7tRZ7tD3/4gyoqKppN85akW265pdnXeXl5uuGGG7RixYpwwJbU6idZTVPDO/opV3X1KYVCjR16D7SN2%2B2Sz5dEz6OMvjuDvkcfPXcGfXcGfY8%2Beh45Pl%2BSDEMKBOol1TldTpwx5HLVq66uVl1t5W1qats%2BNGjXOdjz5s3Ttddeq23btqmiokKpqakaP3680tPT2/N2lpWUlKhXr14aP3785z7ncrn0la98RU888YSCwaA8Ho98Pp/q6upUV1enxMTE8LPV1dWS/jWS3V6hUKMaGvhDMprouTPouzPoe/TRc2fQd2fQ9%2Bij55FiyjRN9leKMsMw1dhoqqEhfnvfroAtSf3799d1111nZy1tEgwG9dZbb2natGnn3GztTGf/D9t0ZFd5ebmysrLC18vLy5WcnKwLLrjA3oIBAAAAAHGhQ7sqnDhxQsuWLdN3vvMdPfjgg9q7d69ddZ3Tb3/7W9XW1rZp9/DGxkZt2bJFl156aXjN9ejRo9WjR49m53eHQiFt3rxZubm5bIQA4P%2B3d%2BfRUZV5/sc/lUqKIoEAgQAHBlpZqppAZFG2nyASVBBDCyLdjK0ghMjWIuACKqA4uKAYGlBBIDouyNgRUFaZHhFweoSekdAHUVQiLREVgyELCZWlcn9/0KmmSAJZbnJTlffrHI7UrSe3vvXNpeInz73PtZzTmayoqO5yOpOtLgUAAABVUKkZ7KVLl2rXrl3au3evb1t%2Bfr7Gjh2rH374wTdLvGPHDqWkpJRZodtM27ZtU7t27XTttdf6bT916pTmz5%2Bv%2BPh4dezYUdnZ2dq4caM%2B//xzrVq1yjfO4XBo%2BvTpWr58uaKiohQTE6OUlBSlp6crKSmp1uoGgMoKD0%2BS3Z6u8PAkeTwJVpcDAACASqpUwE5NTdXIkSP9tr399ts6deqU7r33Xv3hD3/Q8ePHdf/992vdunV69tlna6XY7OxsffLJJ5o4cWKZmeaIiAg1adJEL7/8sjIzMxUWFqYePXpo3bp1Gjx4sN/YyZMnyzAMvfXWWzpz5oxcLpfWrl0rt9tdK3UDQFXk589VeHiS8vPnWl0KAAAAqqBSATs9PV0TJkzw2/bxxx8rKipKDz/8sOx2u3r16qVJkybp7bffrpVCpQsLkH3%2B%2BeflPte8eXOtXr26Uvux2WyaMmWKpkyZYmZ5AGAKjyeBmWsAAIAAVKlrsHNyctS6dWvf4%2BLiYh05ckT9%2BvWT3W73be/WrZsyMjLMrxIAAAAAgHquUgG7VatW%2Bvnnn32Pv/jiCxUXF6tHjx7%2BOwsJkcPhMLdCAAAAAAACQKUCdvfu3ZWSkuJbzGzr1q2y2WwaOHCg37hvv/1W0dHR5lcJAAAAAEA9V6lrsBMTE/Wv//qvGjFihFq0aKHDhw/ruuuuU/fu3f3Gffzxx4qNja2VQgEAAAAAqM8qNYPds2dPvfLKK2rdurXy8vI0btw4vfTSS35jMjIy9NNPP2nYsGG1UigAAAAAAPVZpWawJenGG2/UjTfeWOHz0dHR2rp1qxk1AQAAAAAQcCo1gw0AAAAAAC6PgA0AJnM6kxUV1V1OZ7Lf3wEAABDcKn2KOACgcsLDk2S3pys8PEmSfH/3eBIsrgwAAAC1iRlsADBZfv5ceb0dlJ8/1%2B/vAAAACG7MYAOAyTyeBL/ZamauAQAAGgZmsAEAAAAAMAEBGwAAAAAAExCwAaAcrP4NAACAqiJgA0A5Ll0JHAAAALgSAjYAlKOi1b%2BZ2QYAAEBFCNgAUA6PJ0GZmUfLrADOzDYAAAAqQsAGgCrgvtYAAACoCPfBBoAquPQe1wAAAEApZrABoAq4BhsAAAAVIWADQBVwDTYAAAAqQsAGgCrgGmwAAABUhGuwAaAKuAYbAAAAFWEGGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELAB4BLcigsAAADVQcAGgEtwKy4AAABUBwEbAC7BrbgAAABQHQRsAAGtNk7n9ngSlJl5lNtxAQAAoEoI2AACWk1P5%2BZ6awAAAJiFgA0goNX0dG6utwYAAIBZCNgAAlpNT%2BfmemsAAACYJdTqAgDASh5PAtdaAwAAwBQEbAAAAABBqJFsNqtraGgaSbL9o%2B%2B113zDMGpt3zVFwAbQYDidyQoPT1J%2B/lxmrQEACGI2W4gcjliry2iQDMOQ0/mjpNoLwYYRqfPnI2pt/zVBwAbQYFy8oBkBGwCA4GUYhgoLv5ZUYHUpDZBXUnEt7r%2BRbLaBstma1MuZbAI2gAYjP3%2BubwYbAAAEM0NSjgzDY3UhMFl9P%2B2fVcQBBK1L73Fd0xXHAQAAgMshYAMIaJeG6Itxj2sAAADUJQI2gIBWUYh2OpNls51TSUkLTgkHAABAnSBgAwho%2Bflz5fV2KBOiw8OTFBJyVobRhFPCAQAAUCcI2AACWkXXVVcUvAEAAIDawiriAIKSx5PAzDUAAADqFDPYAALe5RY6AwAAAOoKARtAwGO1cAAAANQHBGwAAY/rrQEAAFAfcA02gIDH9dYAAACoD5jBBgAAAADABARsAPUSC5cBAAAg0BCwAdRLLFwGAACAQEPABlAvsXAZAAAAAg2LnAGol1i4DAAAAIGGGWwA9QrXXgMAACBQEbAB1Ctcew0AAIBARcAGUK9w7TUAAAACFddgA6hXuPYaAAAAgYoZbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGUOuczmRFRXWX05lsdSkAAABArSFgA6h1ERFPyW5PV0TEU1aXAgAAANQaAjYAAAAAACYgYAOodXl5i%2BT1dlBe3iKrSwEAAABqTajVBQAIfh5PgjyeBKvLAAAAAGoVM9gAaoQFzAAAAIALCNhAA2RmKA4PT5Ldnq7w8CQTKgMAAAACFwEbaIDKC8XVDd35%2BXPl9XZQfv5cs8sEAAAAAkpABOzNmzfL7XaX%2BbNs2TK/cfv27dPo0aMVGxurm2%2B%2BWRs2bCh3f8nJyYqLi1NsbKzGjh2rgwcP1sXbAOqN8kJxdWeiPZ4EZWYe5RprAAAANHgBtcjZ%2BvXr1bRpU9/jNm3a%2BP6empqqGTNm6Pbbb9f8%2BfN16NAhLVmyRA6HQ%2BPGjfONS05O1vLlyzVnzhzFxMQoJSVFiYmJSklJkdvtrtP3A1ilvEXH8vPnKjw8iZloAAAAoJoCKmB3795dUVFR5T738ssvKyYmRs8884wkacCAAfrxxx%2B1YsUKjR07ViEhISosLNTq1as1YcIEJSRcCBf9%2BvXTqFGjtGbNGi1fvrzO3gtQ37DSNwAAAFAzAXGK%2BJUUFhbqwIEDuu222/y2jxo1ShkZGfriiy8kSYcOHVJubq7i4%2BN9Y%2Bx2u0aOHKl9%2B/bJMIw6rRsAAAAAEDwCKmDHx8erW7duGjZsmF599VV5vV5J0smTJ1VUVKROnTr5je/SpYskKS0tze%2B/l47r3Lmz8vLydPr06dp%2BCwAAAACAIBUQp4hHR0fr/vvvV8%2BePWWz2bRnzx798Y9/1OnTp7Vo0SJlZ2dLkiIjI/2%2BrvRx6fM5OTlyOBxyOp1%2B45o1ayZJysrKUtu2bWtUq90eUL%2BzCGilvabndYu%2BW4O%2B1z16bg36bg36XvfoeW2zyWa78AfBxqaQEJtCQ20yjPr3/Q2IgD148GANHjzY93jQoEFq1KiR3njjDU2bNs23vaJ/QBdvL29M6anhZvwDjIxsXON9oGrouTXouzXoe92j59ag79ag73WPntcOw/AqIsIhiUtAg49DkkONG0dYXUi5AiJgl%2BfWW2/Va6%2B9pi%2B//FLt27eX9M%2BZ6lI5OTmS/jmTHRkZqYKCAhUUFKhRo0ZlxpXOZNdETs55eb0lNd4PrsxuD1FkZGN6XsfouzXoe92j59ag79ag73WPnteeyMjGstmk/PxCSQVWlwPT2RQSUqiCgjzV5RJaLVpULtAHbMC%2BWMeOHRUWFqZvv/1WN9xwg2/78ePHJV24xvri/6alpSkmJsY3Li0tTREREX63/aour7dExcV8SNYlel67nM5k3%2B27Ll5lnL5bg77XPXpuDfpuDfpe9%2Bh5bTFkGAaLGAchm81QSYmh4uL6%2Bf0N2Is%2Bdu7cKbvdrpiYGDkcDg0YMEC7du3yG7N9%2B3ZFR0f7wnSfPn3UtGlT7dy50zfG6/Vq165dGjJkCNdoAOUID0%2BS3Z6u8PAkq0sBAAAA6rWAmMFOSEjQgAED5HK5JEkfffSR/vSnP2nChAmKjo6WJM2cOVN33323FixYoFGjRunQoUNKSUnRU089pZCQC79HcDgcmj59upYvX66oqCjFxMQoJSVF6enpSkoiPADlyc%2Bf65vBBgAAAFCxgAjYV199td577z399NNPKikp0VVXXaXHHntM99xzj29M79699corrygpKUnvv/%2B%2B2rZtqwULFmjcuHF%2B%2B5o8ebIMw9Bbb72lM2fOyOVyae3atXK73XX9toCA4PEk%2BJ0aDgAAAKB8NqM%2BnrgewM6ezeM6mjoSGhqiFi0i6Hkdo%2B/WoO91j55bg75bg77XPXpee6KiImSzFSs//99lGB6ry4HJbDanbLYbdf58uzq9Bjs6ummlxgXsNdgAAAAAANQnBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAG6hGnM1lRUd3ldCbX2r6bNp1ca68BAAAANGQEbKAeCQ9Pkt2ervDwpFrbd6NGW2rtNQAAAICGjIAN1CP5%2BXPl9XZQfv7cWtt3QcGYWnsNAAAAoCELtboAAP/k8STI40kIuH0DAAAAYAYbAAAAAABTELABAAAAADABARsIYrW5KjkAAAAAfwRsIIjV5qrkAAAAAPwRsIEgVpurkgMAAADwR8AGgkBFp4J7PAnKzDzK6uEAAABAHSBgA0GAU8EBAAAA6xGwgSBQVNRfhmFXUVF/q0sBAAAAGiwCNhCALj0lPCzsoGw2r8LCDlpcGQAAANBwEbCBAHTpKeEsZgYAAABYj4ANBKBLAzWLmQEAAADWC7W6AABV5/EkEKYBAACAeoYZbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGTHLprbMAAAAANCwEbMAkl946CwAAAEDDQsAGTFJU1F%2BGYVdRUX%2BrSwEAAABgAQI2YJKwsIOy2bwKCztY431xujkAAAAQeAjYgEny8%2BfK6%2B2g/Py51d5HabCOiHiK080BAACAABNqdQFAsPB4EuTxJNRoH6XXcZeUtKhxWAcAAABQt5jBBqqpNk7jLp0Fz8tbpMzMozUO7AAAAADqDgEbqKbaWDXc40kgWAMAAAABioANVJMZ11wDAAAACB4EbKCazJhtZrVwAAAAIHgQsAGLOJ3JatLkIVYLBwAAAIIEARuwSHh4kmw2rwzDzmnmAAAAQBAgYAN1rPS08KKi/vJ6O%2BjcuWUsagYAAAAEAe6DDdSx0tXHJSkz86jF1QAAAAAwCzPYQB1j9XEAAAAgODGDDdQxjyeBU8IBAACAIMQMNgAAAAAAJmAGGwAAAEAQaiSbzeoaYL5GVhdwWQRsAAAAAEHFZguRwxFrdRm1xjAaqbg4zOoyLGMYkTIMw%2BoyykXABqrI6UxWeHiS8vPnci01AABAPWQYhgoLv5ZUYHUptaCRbLbr5PG0VT3NmLWuvoZriYANVFnpbbbCw5MI2AAAAPWSISlHhuGxuhDT2WxOSSUyjPodNBsqFjkDqojbbAEAAAAoDzPYQBVxmy0AAAAA5WEGGwAAAAAAExCwgRpwOpMVFdVdTmey1aUAAAAAsBgBG6iBixc8AwAAANCwEbCBKrp41poFzwAAAACUYpEzoIounrXOzDzKgmcAAAAAJDGDDVRa6cx1UVF/Zq0BAAAAlMEMNlBJpTPXkpSZedTiagAAAADUN8xgA5XE9dYAAAAALocZbKCSPJ4ErrcGAAAAUCFmsAEAAAAAMAEBG7jExbfhAgAAAIDKImADl7j4NlwAAAAAUFkEbOASLGYGAAAAoDpY5Ay4BIuZAQAAAKgOZrABAAAAADABARsNGguaAQAAADALARsByelMVmRkN0lrarQfFjQDAAAAYBYCNgJSaTCWnqvRfljQDAAAAIBZCNgISKXBWJpfo/14PAnKzDzKomYAAAAAaoxVxBGQPJ4EFRcnqkWLCEl5VpcDAAAAAMxgAwAAAABgBgI2AAAAAAAmIGADAAAAAGACAjYAAAAAACYgYAMAAAAAYAICNgAAAAAAJiBgAwAAAABggoAI2Lt27dKMGTM0ZMgQ9erVS6NGjdI777yjkpIS35j58%2BfL7XaX%2BbN///4y%2B0tOTlZcXJxiY2M1duxYHTx4sC7fDgAAAAAgCIVaXUBlvP7662rXrp0eeeQRtWzZUgcPHtTTTz%2Bt9PR0zZs3zzeuQ4cOWrZsmd/Xdu7c2e9xcnKyli9frjlz5igmJkYpKSlKTExUSkqK3G53nbwfAAAAAEDwCYiAvWbNGkVFRfkeDxgwQPn5%2BdqwYYPmzJkjh8MhSXI6nerVq1eF%2ByksLNTq1as1YcIEJSQkSJL69eunUaNGac2aNVq%2BfHntvhEAAAAAQNAKiFPELw7Xpbp166aCggJlZWVVej%2BHDh1Sbm6u4uPjfdvsdrtGjhypffv2yTAMU%2BoFAAAAADQ8ATGDXZ7PPvtMzZs3V8uWLX3bTp48qeuuu04ej0cul0szZszQTTfd5Hs%2BLS1NktSpUye/fXXu3Fl5eXk6ffq02rZtW6O67PaA%2BJ2FaRyO9XI6X5TH86AKC6fU6WuX9rqh9dxq9N0a9L3u0XNr0Hdr0Pe6R89rm00224U/wcemkBCbQkNtMoxgfH%2BBLSAD9pEjR7R582bNnDlTdrtd0oUZ7djYWHXp0kW5ubnauHGjZs6cqRUrVmjEiBGSpJycHDkcDjmdTr/9NWvWTJKUlZVV44AdGdm4Rl8feJZLSldExHJFRDxgSQUNr%2Bf1A323Bn2ve/TcGvTdGvS97tHz2mEYXkVEOCQF4xmqDkkONW4cYXUhKEfABeyMjAzNmjVLsbGxSkxM9G2fOHGi37i4uDiNHz9eK1eu9AVsSeX%2BFqv01HAzfsOVk3NeXm/JlQcGCYdjzj9msOeosDCvTl/bbg9RZGTjBtdzq9F3a9D3ukfPrUHfrUHf6x49rz2RkY1ls0n5%2BYWSCqwupxbYFBJSqIKCPHGFa91p0aJyv9AIqICdm5urxMREOZ1OrV69WmFhYRWODQkJ0S233KIXXnhBHo9HTqdTkZGRKigoUEFBgRo1auQbm5OTI%2BmfM9k14fWWqLi44XxIFhdPVn7%2B5H88suZ9N7Se1xf03Rr0ve7Rc2vQd2vQ97pHz2uLIcMwgnKNJZvNUEmJoeLi4Hx/gS5gLvooKCjQ9OnTdebMGa1fv14tWrS44tdcesCV3rKr9FrsUmlpaYqIiFCbNm3MKxgAAAAA0KAERMAuLi7WAw88oGPHjmn9%2BvVq3779Fb%2BmpKREu3fvVteuXX3XXPfp00dNmzbVzp07feO8Xq927dqlIUOGBOkiCAAAAACAuhAQp4g/9dRT%2Bvjjj/Xwww/L4/Ho8OHDvue6dOmi7OxszZ8/X/Hx8erYsaOys7O1ceNGff7551q1apVvrMPh0PTp07V8%2BXJFRUUpJiZGKSkpSk9PV1JSkhVvDQAAAAAQJAIiYP/3f/%2B3JOmFF14o89ybb74pt9utJk2a6OWXX1ZmZqbCwsLUo0cPrVu3ToMHD/YbP3nyZBmGobfeektnzpyRy%2BXS2rVr5Xa76%2BS9AAAAAACCU0AE7D179lxxzOrVqyu1L5vNpilTpmjKlLq9ZzMAAAAAILgFxDXYAAAAAADUdwRsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDAhmmczmRFRXWX05lsdSkAAAAAUOcI2DBNeHiS7PZ0hYcnWV0KAAAAANQ5AjZMk58/V15vB%2BXnz7W6FAAAAACoc6FWF4Dg4fEkyONJsLoMAAAAALAEM9ioFq63BgAAAAB/BGxUmdOZrCZNHuJ6awAAAAC4CAEbVRYeniSbzSvDsHO9NQAAAAD8AwEbVVa6mNm5c8u45hoAAAAA/oFFzlBlLGYGAAAAAGUxgw0AAAAAgAkI2AAAAAAAmICADQAAAACACQjYAAAAAACYgIANAAAAAIAJCNgAAAAAAJiAgA0AAAAAgAkI2AAAAAAAmICADQAAAACACQjYAAAAAACYgIANAAAAAIAJCNgAAAAAAJiAgA0AAAAAgAkI2AAAAAAAmICADQAAAACACQjYDYDTmayoqO5yOpOtLgUAAAAAghYBuwEID0%2BS3Z6u8PAkq0sBAAAAgKBFwG4A8vPnyuvtoPz8uVaXAgAAAABBK9TqAlD7PJ4EeTwJVpcBAAAAAEGNGWwAAAAAAExAwAYAAAAAwAQEbAAAAAAATMA12EHA6UxWeHiS8vPncq01AAAAIElqJJvN6hpqQyOrC8BlELCDwMW34SJgAwAAACGy2QZaXUStMYxIGYZhdRkoBwE7COTnz/XNYAMAAAANnWGE6Pz5dlaXUWsI1/UXATsIcBsuAAAAwB8hFFZgkTMAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATNBgA/aJEyeUkJCgXr16aeDAgVqyZIk8Ho/VZQEAAAAAAlSo1QVYIScnRxMnTlS7du20cuVKZWZm6tlnn1VWVpaWLVtmdXkAAAAAgADUIAP2f/zHfygnJ0fvv/%2B%2BoqKiJEl2u10PPfSQpk%2Bfrs6dO1tcIQAAAAAg0DTIU8T379%2BvgQMH%2BsK1JA0fPlwOh0P79u2zsDIAAAAAQKBqkDPYaWlpGjt2rN82h8Ohjh07Ki0trUb7btassQyjRrtAJdlsF/5Lz%2BsWfbcGfa979Nwa9N0a9L3u0fPaExJiU0mJodDQBjmXCIs1yICdk5OjyMjIMtsjIyOVnZ1do32HhPAPua7Rc2vQd2vQ97pHz61B361B3%2BsePa8ddrtNLVpEWF0GGiD%2BRV/EMAzZSn%2BdCAAAAABAFTTIgB0ZGamcnJwy23Nzc8ud2QYAAAAA4EoaZMDu3LlzmWutCwsLdfLkSVYQBwAAAABUS4MM2DfccIMOHDigs2fP%2Brb9%2Bc9/VmFhoYYMGWJhZQAAAACAQGUzjIa3bmFOTo7i4%2BPVvn17zZgxQ7/88ouee%2B45DRo0SMuWLbO6PAAAAABAAGqQAVuSTpw4oSVLluizzz6T0%2BlUfHy8HnroITmdTqtLAwAAAAAEoAYbsAEAAAAAMFODvAYbAAAAAACzEbABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQG7hk6cOKGEhAT16tVLAwcO1JIlS%2BTxeKwuKyDt2rVLM2bM0JAhQ9SrVy%2BNGjVK77zzjkpKSnxj5s%2BfL7fbXebP/v37y%2BwvOTlZcXFxio2N1dixY3Xw4MG6fDsBY/PmzeX2dNmyZX7j9u3bp9GjRys2NlY333yzNmzYUO7%2B6PuV3XPPPeX23O12a8eOHZI41mvqu%2B%2B%2B06JFi3T77bcrJiZG8fHx5Y4z87g%2Bd%2B6cFi1apP79%2B6t3796aNm2aTp06Zer7qu%2Bu1Hev16t169bp7rvv1oABA9S3b1/9/ve/16efflpmX3FxceX%2BGygoKPAbR98rd7yb/ZnS0PtemZ5X9Dnvdrv1888/%2B8ZxrAPBJdTqAgJZTk6OJk6cqHbt2mnlypXKzMzUs88%2Bq6ysrDLhBFf2%2Buuvq127dnrkkUfUsmVLHTx4UE8//bTS09M1b94837gOHTqU6W/nzp39HicnJ2v58uWaM2eOYmJilJKSosTERKWkpMjtdtfJ%2Bwk069evV9OmTX2P27Rp4/t7amqqZsyYodtvv13z58/XoUOHtGTJEjkcDo0bN843jr5XgPAlwQAAFmBJREFUzhNPPKFz5875bXvjjTf0n//5nxo4cKBvG8d69X3zzTfat2%2BfevbsqZKSEhmGUWaM2cf1gw8%2BqKNHj2rhwoVq0qSJVq5cqUmTJmnr1q1yOp118r6tdqW%2Bezwevfrqqxo9erQSEhIUGhqqLVu2aNKkSVq9erWGDh3qN3748OGaPHmy3zaHw%2BH3mL5X7niXzP1Maeh9r0zP33333TLb5s2bp8aNG6t169Z%2B2znWgSBioNpeffVVo2fPnsYvv/zi27Z161bD5XIZx48ft7CywHRxH0s988wzRmxsrFFQUGAYhmHMmzfPuO222y67n4KCAuPaa681li5d6ttWXFxs3Hrrrcbs2bPNLToIbNq0yXC5XOX2v1RCQoJx5513%2Bm1bsGCBcf311xter9cwDPpeU3FxcUZiYqLvMcd6zZQel4ZRcS/NPK4PHz5suFwuY%2B/evb5tp06dMmJiYox33nnHtPdV312p78XFxUZWVpbftpKSEmPMmDHG3Xff7bd96NChxuLFiy/7evT9gsoc72Z%2BptD3yvX8Uunp6YbL5TLWrVvnt51jHQgunCJeA/v379fAgQMVFRXl2zZ8%2BHA5HA7t27fPwsoC08V9LNWtWzcVFBQoKyur0vs5dOiQcnNz/U7XstvtGjlypPbt21fhb/ZRvsLCQh04cEC33Xab3/ZRo0YpIyNDX3zxhST6XhOHDh3S999/r1GjRlX56%2Bh5%2BUJCLv/jzezjet%2B%2BfYqMjNQNN9zgG9euXTv16dOnQf08uFLf7Xa7mjVr5rfNZrPp17/%2Btd8ps5VF3y%2B4Ut8ri%2BO98qrT8%2B3bt8tms1V4ycrl0HMgcBCwayAtLa3MqVUOh0MdO3ZUWlqaRVUFl88%2B%2B0zNmzdXy5YtfdtOnjyp6667Tj169NAdd9yh//qv//L7mtLed%2BrUyW97586dlZeXp9OnT9d%2B4QEoPj5e3bp107Bhw/Tqq6/K6/VKutDvoqKiMv3s0qWLpH/2m75X3/bt29W4cWMNGzbMbzvHeu0x%2B7hOS0vT1VdfLZvNVmZ//Dy4vJKSEqWmppb5eSpJ27ZtU48ePdS7d28lJibqq6%2B%2B8nuevleNWZ8p9L16duzYob59%2B6pt27ZlnuNYB4IH12DXQE5OjiIjI8tsj4yMVHZ2tgUVBZcjR45o8%2BbNmjlzpux2u6QLM9qxsbHq0qWLcnNztXHjRs2cOVMrVqzQiBEjJF34vjgcjjLXI5XOmmRlZZX7w62hio6O1v3336%2BePXvKZrNpz549%2BuMf/6jTp09r0aJFvmP50mO99HHp8/S9eoqLi/Xhhx9q2LBhCg8P923nWK9dZh/XOTk5fmsYXLw/fh5c3ltvvaUTJ07oqaee8tseFxena665Ru3atVN6errWrFmju%2B66S%2B%2B//746dOggSfS9Csz8TKHvVXfs2DF9/fXXZY5ziWMdCDYE7FpgGEaZ3zCiajIyMjRr1izFxsYqMTHRt33ixIl%2B4%2BLi4jR%2B/HitXLnS9z8Iksrtf%2BmpbXxv/A0ePFiDBw/2PR40aJAaNWqkN954Q9OmTfNtr6hvF2%2Bn71X3l7/8Rb/88kuZUwY51uuGmcd1ZfYFf3/961/1wgsvaPLkyerbt6/fcwsWLPD9/brrrtP111%2BvW2%2B9VcnJyXryySd9z9H3yjH7M4W%2BV822bdsUFham4cOHl3mOYx0ILpwiXgORkZHKyckpsz03N7fcmW1UTm5urhITE%2BV0OrV69WqFhYVVODYkJES33HKL0tLSfLdHi4yMVEFBQZnbW5R%2Bry69/g9l3XrrrfJ6vfryyy99/br0N%2BSl/Sw91ul79Wzfvl3NmzfXoEGDLjuOY91cZh/XFf08qOhMJ1yY0ZsxY4ZuuukmPfzww1cc37p1a1177bU6evSobxt9r76afKbQ96oxDEM7d%2B7U4MGD1bx58yuO51gHAhsBuwY6d%2B5c5rqXwsJCnTx5stxryXBlBQUFmj59us6cOaP169erRYsWV/yaSxdyKu39pd%2BbtLQ0RURE%2BN1%2BClfWsWNHhYWF6dtvv/Xbfvz4cUn/7Dd9rzqPx6OPPvpII0aMuOwvkkpxrJvH7OO6c%2BfOOnHiRJnv0fHjx/l5UI6TJ09qypQpiomJ0fPPP1/pGbjy/g3Q9%2Bqr7mcKfa%2Bazz77TD/88EOVFrLkWAcCFwG7Bm644QYdOHBAZ8%2Be9W3785//rMLCQg0ZMsTCygJTcXGxHnjgAR07dkzr169X%2B/btr/g1JSUl2r17t7p27eq7ZqxPnz5q2rSpdu7c6Rvn9Xq1a9cuDRkyhFOpKmHnzp2y2%2B2KiYmRw%2BHQgAEDtGvXLr8x27dvV3R0tGJiYiTR9%2BrYs2eP8vLyKvU/XRzr5jL7uB4yZIhycnL0ySef%2BMb9%2BOOPOnToED8PLpGRkaHJkyerVatWeuWVV8rc67cip0%2Bf1qFDhxQbG%2BvbRt%2BrryafKfS9arZt26bw8PAy93mvCMc6ENjsT158cQeqpGvXrtq0aZM%2B%2BeQTtWnTRqmpqXrmmWd08803a/z48VaXF3CefPJJbd%2B%2BXQ888IBat26tn376yfenSZMmysjI0MyZM1VUVKTc3FwdPXpUS5YsUWpqqhYvXuz7Da7dbpfdbteaNWvkdDpVUFCgFStWKDU1Vc8//7xatWpl8TutXxISEvTzzz/r3Llz%2Bu677/Taa69pw4YNuueee3zX5XXo0EFr1qzRjz/%2BqIiICG3btk2vv/66Hn30UfXo0UMSfa%2BOpKQkFRQU6NFHH/ULw6dOneJYr6Hz58/ro48%2B0vHjx/WXv/xFZ86cUdu2bXX8%2BHFFRUWpcePGph7Xbdu21eeff653331Xbdq00Y8//qhFixbJ6XTqqaeeUmhow1jy5Ep9t9lsmjBhgn766SctWLBAHo/H77O%2BdFG%2B7du3a%2B3atfJ4PDp79qw%2B/fRTPf744yosLNSzzz7rO1WZvl9wpb5nZmaa%2BplC3yv3GSNdmDx4/PHHNXToUI0cObLMfjjWgeBjMxryjVJNcOLECS1ZskSfffaZnE6n4uPj9dBDD5VZgRNXFhcXp1OnTpX73Jtvvim3261HH31UR48eVWZmpsLCwtSjRw/dd999fot0SRdOrUpOTtaGDRt05swZuVwuPfzwwxowYEBdvJWAsmTJEn3yySf66aefVFJSoquuukrjxo3TPffc4xf69u3bp6SkJKWlpalt27aaNGmSfv/73/vti75XXnZ2tq6//npNnDixzPWnWVlZHOs19P3335e57VmpN998U/3795dk7nF97tw5LV26VLt371ZRUZH69%2B%2BvhQsXVupsnGBxpb63b9%2B%2Bwucl%2BW5NdPjwYb344ov65ptvlJubq6ZNm2rAgAGaNWtWmVtI0fcr9702fn429L5X9jNm7969mjp1qtauXVvuTDPHOhB8CNgAAAAAAJiAa7ABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEgSLz55ptyu92Kj4%2BvcIzb7daqVat8jw8ePCi3262DBw/WRYnVtnnzZrndbn3//fdWl3JFle1pfXtPhw4d0qpVq5STk1Pmubi4OE2dOtWCqgAACCwEbAAIEps2bZIkffPNN/rb3/5Wqa/p3r273n33XXXv3r02S0MASE1N1UsvvVRuwAYAAJVDwAaAIHDkyBEdO3ZMN954oyTpvffeq9TXNWnSRL169VKTJk1qsTprnT9/3uoSAABAA0HABoAgUBqoH3zwQfXu3Vs7duyoVLCs6HTmP/3pTxo%2BfLh69OihkSNHatu2bZo/f77i4uJ8Y77//nu53W4lJyfr9ddfV1xcnHr37q3f/e53Onz4cJnXOnLkiKZNm6Z%2B/fopNjZWo0eP1s6dO8uMO3z4sMaPH6/Y2FgNGjRIL774ooqLiyvVh/nz56t379766quvNHnyZPXu3Vv33nuv7/n/%2BZ//0cSJE9WnTx/17NlT48eP16effuq3j%2B%2B%2B%2B06PPvqobrnlFvXs2VODBw/WtGnT9NVXX5V5vbS0NCUkJKhnz57q37%2B/Fi1apLy8vErVWpHK1Lhq1Sq53W598803mjt3rq699lr9v//3//Too48qNzfXb2xOTo4ee%2Bwx9evXT71799Z9992n9PR0v8sFVq1apeeff16SNGzYMLnd7nKPi/3792vMmDG65pprNGLEiDK/yDl//ryWLl2quLg4xcbGql%2B/frrjjju0ffv2GvUEAIBAEWp1AQCAmvF4PNqxY4diY2Plcrk0duxYLViwQB9%2B%2BKHGjBlT5f29%2B%2B67WrRokYYPH%2B4LbC%2B99JKKiorKHb9hwwZ16tRJjz32mCRpxYoVuu%2B%2B%2B/TRRx%2BpadOmkqQDBw5oypQp6tmzp5588kk1bdpUO3fu1Jw5c%2BTxeHTHHXdIko4fP657771X7du313PPPSen06l33nmnSgGtqKhI06dP1/jx45WYmCiv1ytJ%2BuCDDzRv3jwNGzZMS5cuVWhoqN59910lJCQoOTlZAwcOlCT9/PPPat68uR588EFFRUUpOztbW7Zs0W9/%2B1tt2bJFnTp1kiSdOXNG99xzj0JDQ/XEE0%2BoZcuW2rZtm/7t3/6tyj0vVdkaS91///0aOXKk7rzzTn399dd68cUXJUnPPvusJKmkpETTpk3T559/rj/84Q/q3r27UlNTNWXKFL/9jBs3TtnZ2Xrrrbf00ksvKTo6WpLUpUsX35hjx45p6dKlSkxMVKtWrZSSkqLHH39cv/rVr9S3b1/f627dulWzZ89Wt27ddP78eX399dfKysqqdk8AAAgoBgAgoG3ZssVwuVzGxo0bDcMwjHPnzhm9evUy7rrrrjJjXS6XsXLlSt/jAwcOGC6Xyzhw4IBhGIbh9XqN66%2B/3hg3bpzf1506dcro3r27MXToUN%2B29PR0w%2BVyGfHx8UZxcbFv%2B9/%2B9jfD5XIZ27dv920bMWKEMXr0aKOoqMhvv1OnTjWuv/56w%2Bv1GoZhGLNnzzauueYaIyMjwzemuLjYGDFihOFyuYz09PTL9mLevHmGy%2BUy3nvvPb/t%2Bfn5Rr9%2B/YypU6f6bfd6vcZvfvMb484776xwn8XFxUZhYaFxyy23GM8884xv%2BwsvvGC43W7jyy%2B/9Bs/adIkv55WZNOmTX7vqSo1rly50nC5XMa6dev8xj755JNGbGysUVJSYhiGYezdu9dwuVzGO%2B%2B84zfu1VdfLXMsrF%2B/vsIeDx061IiNjTVOnTrl2%2BbxeIx%2B/foZCxcu9G2Lj483ZsyYcdn3DQBAMOMUcQAIcJs2bZLT6dRtt90mSYqIiNCIESP0f//3f/r73/9epX2dOHFCGRkZuvXWW/22t2vXTr179y73a2688UbZ7Xbf41//%2BteSpFOnTkm6cMr1t99%2Bq1GjRkmSiouLfX9uuOEGZWRk6MSJE5IunLI%2BcOBAtWrVyrc/u92ukSNHVul9DB8%2B3O9xamqqsrKyNGbMGL/XLykp0eDBg3XkyBHl5%2Bf76luzZo1GjhypHj16KCYmRj169NDf//53paWl%2BfZ58OBBde3a1fd%2BS11uFffLqUqNpS4%2BZV%2B6sEp8QUGBfvnlF0nSX//6V0kq8/0sPVaqolu3bmrXrp3vcaNGjXTVVVfphx9%2B8G2LjY3V/v37tWzZMh08eFAej6fKrwMAQCDjFHEACGDfffed/vd//1e33HKLDMPwrQA9YsQIbd68WZs2bdKDDz5Y6f2dPXtWktSyZcsyz7Vq1coXmi/WvHlzv8cOh0OSVFBQIOnCqdSStHTpUi1duvSyr5uVleUXri9%2B7cpq3LhxmUXbSmuYNWtWhV%2BXnZ2t8PBwPffcc9qwYYMSExPVt29fNWvWTDabTQsWLPC9p9Ja/%2BVf/qVGtVa3xlIV9b402GZlZSk0NLTMuOrUeOk%2BSl/v4p4sWLBAbdu21c6dO7Vu3To1atRIgwYN0iOPPKKrrrqqyq8JAECgIWADQADbtGmTDMPQ7t27tXv37jLPb9myRbNnz/abYb6cFi1aSJJvBvRipQGwqkr3OXXqVN18883ljrn66qslXQhx5b1OVV7bZrNVWMPChQvVs2fPcr%2Bu9JcKW7du1ejRozV37ly/58%2BePavIyEjfYzNqrW6NldW8eXMVFxcrKyvLLyBnZGRUq8YrCQ8P16xZszRr1iydOXNG%2B/fv14svvqhp06bpww8/rJXXBACgPiFgA0CA8nq92rJlizp27KglS5aUeX7v3r167bXXtH//fg0dOrRS%2B7z66qsVHR2tXbt2adKkSb7tP/zwg1JTU9W6desq19mpUyddddVVOnbsWJnQeqn%2B/ftrz549OnPmjG%2BW1ev1lrvaeFX06dNHkZGROn78uO6%2B%2B%2B7LjrXZbAoLC/PbtnfvXp0%2BfVq/%2BtWv/Gpdv369jh075neaeHVXzK5KjZXVr18/rV%2B/Xjt37tRdd93l215ePy8986CmWrVqpTvuuEPHjh3TG2%2B8ofPnz6tx48am7BsAgPqKgA0AAWr//v36%2Beef9dBDD6l///5lnu/atavefvttvffee5UO2CEhIbr//vu1aNEizZo1S2PHjlVOTo5vZenyZocrY/HixUpMTFRCQoLGjBmjNm3aKDs7W2lpaTp69KhWrlwpSZo%2Bfbr27NmjiRMnaubMmXI6ndqwYUON72UdERGhBQsWaP78%2BcrOztbw4cPVsmVLZWZm6tixY8rMzNTixYslXbimvHS1cLfbraNHjyo5OVlt27b12%2BfEiRO1adMm3XfffZo9e7ZvFfFvv/221musrMGDB6tPnz5aunSpzp07px49eig1NVUffPCBJP/ZfpfLJUl64403NGbMGIWGhurqq6%2Bu0j3Sx40bpxtvvFFut1vNmjVTWlqaPvjgA/Xu3ZtwDQBoEAjYABCg3nvvPYWFhWns2LHlPh8VFaWbb75Zu3fv9psRvpLf/e53stlsWr9%2BvWbOnKn27dv7brv1448/VqvWAQMGKCUlRWvWrNEzzzyjnJwcNW/eXJ07d/ZbgMvlcun111/X0qVLNW/ePDVr1ky/%2Bc1vNHz4cC1cuLBar13q9ttvV7t27bR%2B/Xo98cQTysvLU1RUlLp16%2BZ3O7PHH39coaGhWrt2rfLz8xUTE6NVq1ZpxYoVfvuLjo7W22%2B/raefflpPPvmkGjdurJtuukkLFy7UjBkzarXGygoJCdGaNWv03HPPad26dSoqKlKfPn30wgsv6Le//a3fKe/9%2B/fX1KlTtWXLFqWkpKikpERvvvlmub%2B8qciAAQO0Z88e34x1mzZtNHr0aE2bNq3KtQMAEIhshmEYVhcBAKjfcnJyNHz4cN100001us8z6odt27bpoYce0saNG9WnTx%2BrywEAIGgwgw0A8JORkaE1a9aof//%2Bat68uX744Qf9%2B7//u/Ly8jRhwgSry0MVbd%2B%2BXadPn5bL5VJISIgOHz6s5ORk9e3bl3ANAIDJCNgAAD8Oh0OnTp3S4sWLlZ2dLafTqZ49e2rx4sXq2rWr1eWhiiIiIrRjxw6tXr1a58%2BfV3R0tO644w7Nnj3b6tIAAAg6nCIOAAAAAIAJQqwuAAAAAACAYEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABP8f9PGI4Aw4FisAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPUCAYAAABW6JEKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3gU5f738c%2BmQhJC71UCAUFUREBUmiAdKygoiKKgWBGxAMejiByKAoqIDSxwEOFA6CBKsaAQFSQU6UUChtASWnoyzx/5ZZ7dZDfZJLPZBN6v6%2BJiy2T23ntn7pnvXW2GYRgCAAAAAACF4uPtBAAAAAAAcCUgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwLbTqFEj89/x48edbhMREWFuM3DgwCJO4ZXvjjvuMPM3MjLS28m5Ylmdz5wXnse5AaCoUKYXDU/kM9cKz7qSz43IyEjzu91xxx3eTk6J5uftBFghMjJSjzzyiPk8KChIv/zyi4KCgryYKgDA1WLr1q1as2aNduzYoePHj%2BvChQuy2WwKCgpS9erVVbduXTVt2lQ33nijmjdvLn9/f28nGQAAeMAVEWAvXbrU4XlCQoK%2B%2B%2B473XPPPV5KEQA498EHH2jGjBmSpHvvvVcTJ070copQGIcPH9bo0aP1559/On0/JSVF8fHx2rNnj7799ltJUnBwsGbOnKlbbrmlKJMKALDTqFEj8/H69etVq1YtL6bm6nal3RuV%2BAA7MTHRvGmxt2TJEgJsAIDH7NixQ4899pguXbrk8Hr16tVVo0YN%2Bfv76%2BLFizp27JguXrxovn/58mXFx8cXdXIBAEARKPEB9tq1a5WQkCBJuummm7Rv3z5dvnxZkZGR%2Bueff1SjRg1LP%2B%2B%2B%2B%2B7TfffdZ%2Bk%2BAQAly%2BXLl/XMM8%2BYwbWvr68GDRqkAQMGqGbNmg7bGoahw4cPa8OGDVqzZo12797tjSQDAIAiUOID7CVLlpiP%2B/btq8jISC1dulSGYWjZsmUaNmyYF1MHALgSzZs3T6dOnTKfT548Wb169XK6rc1mU1hYmMLCwjRkyBBt3bpVoaGhRZVUAABQhEr0LOIxMTH67bffJEmlSpVSly5ddNddd5nvZx%2BbDQCAFdavX28%2Bvummm1wG1860aNFCDRs29ESyAACAl5XoFuylS5cqIyNDUuayBCEhIWrTpo2qVKmiU6dO6ejRo/rzzz/VvHlzyz4zIiJCo0aNkiS1atVKc%2BfOzfNvfv75Zy1evFhRUVE6c%2BaMQkNDVbt2bXXr1k333XefQkNDHWZCr1mzpjZs2OB0X3fccYdOnDghSZozZ45at26t5ORkrVixQsuWLdPRo0cVFxencuXKqVmzZrr33nvVpUuXfH1HwzC0ceNGrVu3Ttu2bdPZs2eVlJSkihUrqnHjxurUqZPuvvtuBQQEuL3P06dPa/78%2BVq/fr2OHz8uwzBUrVo1tW7dWg8%2B%2BKAaN26crzS6y9WkCZs2bdLy5cu1Y8cOnT59WpcuXcp1UoXExEStXLlSGzdu1L59%2B3T27FnZbDZVqlRJN910k3r06KH27du7labU1FRt2bJFmzdv1q5du3TkyBGdP39eklSuXDnVr19ft9xyix544AFVqFAhX9/XW/lcEFYdZ65%2B423btmnBggXavn27Tp48qYCAANWpU0d33HGHBg0apJCQELfTeuLECc2fP18//vij/vnnH5f56uz8zDJw4ECzQjDLkiVLHHrh2HNnwhWrzv2UlBStXr1a69at0549e3Tu3DklJycrMDBQFStWVJ06ddSsWTO1a9dON910k2w2m1v7ze7555/X2rVrJUm9e/fWu%2B%2B%2B6/bfdu3aVUePHpUkvfzyy3riiSdybHPixAlFREQoMjJShw8f1oULFyRlTipWtWpVhYWF6aabbtKdd96patWqFeg7ZMlKiyTdeOONhdpXbqwse7Ls2bNH33zzjTZv3qzY2FiVLl1aNWrUUOfOndW3b19VrlxZx48fV6dOncy/2bdvn9N95XbMO%2BPufrOLjIzU2rVr9fvvv%2BvUqVO6fPmyypcvr7CwMHXo0EF9%2B/ZVcHBwrvtwdf3et2%2BfvvnmG23ZskUnT56UzWZTzZo11bZtWz322GOqXLmyW2nMEhMToxUrVuiXX37R33//rXPnzkmSKlSooLCwMLVu3Vpdu3ZV3bp189xXbGysli1bpp9//ll///234uLiVLp0aVWtWlW33nqr7rvvPoeJmtyxYcMGRUREaOfOnTp37pzKly%2BvevXqqXfv3urdu7dKlSqVr/25y9mEUmfOnNHSpUu1bt06nThxQmfPnlV6enqu5d/u3bu1atUq8/e6cOGCypYtqzp16qhdu3Z68MEH3b52Hj9%2BXD/99JP%2B%2BOMPHThwQDExMUpMTFRwcLAqVaqk5s2bq1u3bmrbtm2%2Bv6%2B38rkgrDrOnP3GFy9eVEREhFavXq3o6GhdvHhRFStWVPPmzfXAAw%2BoTZs2bqfTMAytWbNGy5cv119//aW4uDin%2BZrbvXr2lYey2JdL9tydcMvqciQ3rr7f1q1btXDhQm3fvl2xsbEKDAxU3bp11aVLF/Xr1y9f9z3uOn/%2BvCIiIvTDDz/oyJEjOnfunIKDg1WlShW1bt1ad911l66//nqXf%2B%2BJe6PioMQH2FmyWq59fHzUs2dPffHFF5IyfyQrA%2Bz8SExM1KuvvmreUGY5c%2BaMzpw5oz///FNz5szR9OnTC/wZR44c0fPPP6/9%2B/c7vH769Glt2LBBGzZsUJcuXTRlyhS3AuK9e/fqX//6l3bu3JnjvZiYGMXExGjjxo369NNPNWXKlFxPmizr1q3TmDFjckzqc%2BjQIR06dEgLFizQ8OHDNXTo0Dz3VViXLl3SmDFjnE6M58ratWs1fvx4xcbG5njv2LFjOnbsmJYuXao2bdpo6tSpuV7YIyMj9fzzz7uc4Cg2NlaxsbHavHmzPvnkE40aNUoPPPCAW%2BksTvmcF08cZ1lSUlI0efLkHJVfSUlJ2rVrl3bt2qX58%2Bdr9uzZbt0wLF68WG%2B//bY510MW%2B3x98cUXNWTIELfTaAWrzv29e/fqhRdecAgYsyQkJCghIUHR0dH65Zdf9PHHH2vatGnq0aNHgdJ81113meXh%2BvXrlZCQ4NZyijt37jTTZ7PZnLYWf/nll5oyZYpSUlJyvBcfH6/4%2BHjt27dPq1ev1rvvvquoqKgCfYcsly9fNh9nPzasYmXZk2X69On6%2BOOPlZ6ebr6WlJSkuLg47d69W1999ZXeffddXXPNNZZ%2Bl4L6559/9Prrr2vTpk053jt16pROnTqlzZs3a9asWRo/fny%2BKhsMw9Ann3yi6dOnO%2BSHJO3fv1/79%2B/XggULNGPGDLeCgNTUVE2bNk1z5851ehxmlW2bNm3S1KlTNX36dJeVYBkZGZo5c6Y%2B%2B%2BwzJSUlObyXkpKi8%2BfPa//%2B/ZozZ44efvhhjRo1Sr6%2Bvrmm79KlS3r55ZdzVOBnXXciIyM1d%2B5cs8LS0zZu3KjXXnvN7Qn/zp8/r7Fjx2r16tUyDMPhvaz7qm3btmnWrFkaPXq07r///lz39%2Byzz2rdunU59pX1WefPn9ehQ4e0aNEi3XzzzXr//fdVqVKlPNNZ3PI5N544zuxFRUVp%2BPDh%2BueffxxezzoXVq9erYEDB2rMmDF5VtyeO3dOL7zwQo5gzNv5anU5UhBpaWmaNGmS5syZ4/B6YmKi4uPjFRUVpXnz5mnq1KmWxkRLly7VhAkTcpzDWdfc/fv3a%2B7cuerVq5feeuutPCtBryQlNsDetm2becNVvnx5h9rFu%2B66ywyw16xZozFjxigwMLBI05eWlqZnnnlGv/zyi/mazWZTw4YNVb58eZ0%2BfVqHDx/WiRMnNHjwYI0ePTrfn3H69Gm99NJLOn36tCSpXr16qlq1qi5evKh9%2B/aZJ/p3332nSZMm6fXXX891f7/99puGDRvmMCNuaGio6tevr4CAAP3zzz86fvy4pMybu0GDBmnWrFlq0aKFy31u3LhRL7zwgtLS0szXKlWqpHr16ikpKUn79%2B9XSkqKpkyZ4vETzzAMvfTSS/rhhx8kZbYWX3PNNbLZbDp27JjTv/niiy80adIkhwtw9erVVbNmTXPiori4OEnS5s2b1b9/f82fP9/lje7JkycdCqKyZcuqdu3aCgkJUWpqqo4dO2b%2BngkJCXr99deVmpqqhx9%2BONfvVpzyOS%2BeOM7svfHGG4qIiJD0/39jX19fHThwwOwpcPr0aT3xxBNas2ZNrjW6ERERGjNmjMPvX7lyZTNfDx48qMTERL377rsqXbp0rulq1qyZAgICzMBIkqpUqaLw8HCn2%2BfWumHVuX/69GkNGjTI4ZgMDQ3VNddco%2BDgYCUmJur06dM6ceKEmQfObkbd1a5dO5UtW1bnz59XQkKC1q9fr969e%2Bf5dytXrjQft2zZMkfr88KFCzVhwgSH12rVqqUaNWrI19fXnMk7q0U7q%2BdTYZQrV87M/61btyo9PT1fN555sbrskaR3331Xn332mcNrderUUbVq1RQXF6eDBw8qPj5ew4YN07Rp0yz7LgV14MABDR482GGse1BQkBo0aKCgoCDFxsbqyJEjkjKP5aefflpTpkxRt27d3Nr/jBkzzJvxkJAQhYWFKTAwUIcPH9aZM2ckZQZLTz/9tFauXJlj8jp7ly9f1tNPP60tW7Y4vF61alVzRvnTp0/r77//VkZGhgzDyDH7fJbU1FS99NJLDpXzNptN9evXV6VKlZSYmKj9%2B/crKSlJGRkZmjt3rk6ePKkPPvjAZZCSkpKiYcOGOQQnvr6%2BatiwoUJDQ3X8%2BHH9888/2rdvnwYPHuy0hc9K27Zt06hRo5SWlmbOUVCxYkXFxcXp0KFDObaPjY3V4MGDdfDgQfO1gIAANWzYUGXKlNG5c%2Bd08OBBZWRk6NKlSxo9erQuXryoRx991GUa9u3bZ55fvr6%2Bql27tipWrCh/f3/Fx8fr0KFDSk1NlST98ccf6t%2B/v5YsWZLrNaO45XNuPHGc2Ttw4IBGjBihhIQE%2Bfj4qEGDBipfvrzi4uJ04MABM%2B/nzp2rGjVqaPDgwS73denSJT322GPau3ev%2BZqfn5/Cw8MVEhKimJgYRUdHu5WvZcuW1e233y5JDhV3LVu2dBoruLpGZ7GyHCmoKVOmmMF1cHCwGjRoIF9fXx06dMi87/nnn3/0xBNPaM6cOWratGmhP/PLL7/Mcd2tXr26ateurUuXLmn//v3mPenKlSsVHR2tzz//PMf5Y%2BW9UbFilFCvv/66ER4eboSHhxtjx47N8X7Pnj3N91etWuXWPrO2Dw8PN6Kjo51us3jxYnObAQMGuNzXxx9/7LC/J5980jh%2B/LjDNocOHTIGDBhghIeHG61btza37dixo8v9duzY0dyuVatWRnh4uPHUU08ZR48eddguJibGGDhwoLlt48aNjSNHjrjcb0xMjLm/8PBwo0ePHsaPP/5opKenO2y3a9cu4/777ze3a9%2B%2BvXH%2B/Hmn%2Bzx79qzDPlu1amWsXr3aYZ/nz583JkyYYISHhxvNmjUzbrzxRnP7LVu2uEyvu6ZPn27ur3nz5kZ4eLhx2223GatXrzbS0tLM7dLT041jx445/O3GjRtz/IZ79%2B512CY9Pd347rvvjDZt2jhs58rSpUuN3r17G1999VWOz8uyZ88e44knnjD316xZM5fbGkbxyGd3zwtPHGf2v3HWvtu1a2d8//33DvtNTU01PvnkE6NRo0bm9tOmTXOZ1mPHjhnXX3%2B9uW3btm2NjRs3GhkZGeY2ly9fNmbMmGFce%2B21buerfXpfffVVl5%2BfnSfO/bfeesvc7vbbbzc2btyY47cwjMzjZ%2BXKlcZjjz3mdnnqin3ZPXTo0Dy3T09PN26//XbzbxYuXOjwfkpKisMxNWzYMJfny6FDh4xPPvnE6NKlS6G%2Bg2EYxrBhwxzKh7fffttITU0t9H4NwzNlz6%2B//uqwz969exs7d%2B502ObYsWPGY489luOaFB4e7nK/9selO2VJdHS0W/u9ePGi0alTJ4fzb9WqVTny%2BMiRI8bgwYPN7W666Sa3rt%2BtWrUyGjVqZNx8883G4sWLjZSUFHO7jIwMIyIiwmjatKm5/ciRI3P9XiNGjHD4XkOGDDH%2B%2BuuvHNtduHDBWLJkidG3b19j8eLFTvc1ceJEh/N34sSJxunTpx22SUxMND755BOjSZMm5raff/65y/RNmzbNIX3PP/%2B8cfLkSYdtIiMjjc6dO%2Bf4/XMr0/PD/vOzrscvvfSSERMT47BdbGyskZiYaD5PTU01HnzwQfNvb775ZuPrr7922Cbr70aOHGlu16RJE2P79u0u09OrVy9j9OjRxk8//WQkJSXleP/y5cvGvHnzjBYtWpj7fP3113P9jsUhn909Jz1xnNl/96xyefTo0UZsbKzDdgcPHjR69eplbnvjjTcaFy9edLlf%2B%2BtG1j7Pnj3rsE1UVJRx11135Stf7ffpqtzIzpPliLucpaFp06bGp59%2B6nBeJCcnG19//bVxww03mNt37drVSE5OdrrfLVu2mNvlFots3brVaNy4sbltly5djMjISIdtzp49a4waNcohj3O75ynovVFxVSInOUtOTtaaNWvM5/YTm2WxbxUp6snOzp8/r5kzZ5rPO3bsqJkzZ%2Baotapfv75mz56tFi1amC0R%2BREfH69evXpp5syZOcZyVatWTR999JGqVKkiKbPFZtmyZS739eabb5qtWDfccIP%2B97//qV27dvLxcTxEmjZtqrlz56pJkyaSMrv5ZO%2BSkuWDDz4w9xkYGKjZs2ere/fuDvsMDQ3Va6%2B9pmHDhik5OdljXS2lzBaGkJAQzZ07V927d3dobfLx8VHt2rXN54mJiQ69CgYMGKCPP/44R5diHx8f3XnnnZo3b55ZK7dx48YcXZiy3HnnnVq%2BfLkeeeQRh8%2Bz17hxY33yySdm18Hk5GR9/fXXLr9Xccvn3HjiOLMXHx%2BvihUrav78%2BercubPDfv38/DR06FANGDDAfC23smHatGlml7kyZcpozpw56tChg0PNfVBQkJ555hmNGTOmSPPVqnP/xx9/NB9PnjxZHTp0yPFbSJnHT8%2BePfX555%2Bra9euhUq7fdm8adMmc3yqK5GRkWYLZkBAQI7Pj4qKMo%2BpWrVq6f3333d5btWvX19Dhw7V6tWrC/MVJGWuWmFvzpw56tSpk9555x1t3rzZZetkXjxV9owfP958XK9ePc2dO1fXXXedwza1a9fWJ598otatWxfommSladOmKTo6WlJmK3tERIR69OghPz/Hjnf16tXTp59%2BanYNv3Tpkj788MM89x8fH6/AwEB99dVXuu%2B%2B%2B%2BTv72%2B%2BZ7PZdO%2B99%2Bqll14yX/vuu%2B8chgXYW7dunUMvi4EDB%2BrTTz/Vtddem2PbMmXK6J577tHChQudnks7duwwe%2BDZbDZNmTJFr776ao6uyaVKldLQoUM1efJk87UZM2Y4Pe5OnjypWbNmmc%2B7deum9957T1WrVnXYLmssZ%2BXKlT3%2B%2B1%2B%2BfFn9%2BvXTu%2B%2B%2Bm6NHSpUqVRxaqebMmaM///xTUmbPkQULFqh///45WrKqVKmid955Rw8%2B%2BKCkzJ6Euc3zsGDBAo0fP15t27Z12nIZFBSkhx56SF988YV5fCxdutRlmVUc89kVTxxn2cXHx2vo0KEaP368eT3KEhYWpk8//dTs%2BZWQkOBy6N6hQ4e0cOFC83n//v01fvz4HL11rr/%2Bes2ZM0f16tUrsny1shwpTBoMw9C4ceM0ZMgQh/MiICBA/fv317Rp08x7lyNHjmjevHmF%2Bsy33nrL7AlWs2ZN/fe//1WrVq0ctqlQoYL%2B85//OPTAXLJkiXkuX%2BlKZIC9fv16s6tf3bp1nU4w07t3b/Ng2rRpk9mVryisWLHCvDEPDAzU2LFjnd60SpkH/7hx4wo0aVBoaKjGjh3r8m%2BDg4PVp08f8/m2bducbnfw4EGz27S/v7%2BmTJmS67jI0qVLa%2BzYsebzb775Jke30cTERC1fvtx8/uijj%2Ba4mbP37LPPql69ei7ft8qzzz7r1tjCJUuW6OzZs5Iyb8qzJpNw5ZprrtFTTz1lPp8/f77T7dwZbypl3jy/8sor5nNXk94V13x2xhPHmTOvvPKKatSo4fL9QYMGmY%2BzxoFlFxcXp%2B%2B%2B%2B858/swzz%2BSabw8//LBHJ7rKzqpz/%2BTJk%2Bbjm266ya3PLmw36Jtvvtn8fdLS0vKcD2HFihXm4w4dOuRY3sr%2BO1x//fUONziuWNGVu2PHjrrnnntypGXWrFl69NFH1bJlS3Xv3l2vvfaaFi1a5HQctTOeKHuyJnDK8vrrr6ts2bJO9%2Bfv76%2B3337brXz0lPj4eC1evNh8PmHChFzHvvr6%2Buqtt94y07xy5UpdvHgxz88ZOnSoWYnnzIMPPmjerCYlJWnPnj1Ot7MPqq677ro8f7MszobrfP7552Y516dPnzznO%2BjZs6fatWsnKbNywf58yRIREWF2dQ4JCdEbb7zhsuyoVq2aRo4c6Vb6C6NSpUp67bXX8twuLS1NX375pfl8zJgxql%2B/fq5/M2rUKJUrV05S5pAkZ13OJfevx82aNTN/h%2BTkZIehf/aKYz674onjLLt69erphRdecPl%2B9erVHeYgcHWdWrRokZnWypUrO9wbZVe2bFmNGTMmz7RZyapypDBuu%2B023XvvvS7f79ixo3r27Gk%2B/%2Babbwr8WVu3bnX4DqNHj851ArdXX33VoYHxv//9b4E/uyQpkQF21vhKSS7H79WoUUM333yzJCk9Pd2twsAq9q1CHTp0yFF7mV1YWJhatmyZ78/p0aNHnjMC2o9bPXz4sNNtVqxYYRZed9xxh8vWH3vXX3%2B92XKWNZ7cXmRkpFnDabPZ9NBDD%2BW6Pz8/P/Xr1y/Pzy0MPz%2B/XAsge/ZB68MPP5yj1cQZ%2B54UkZGR%2BU9gNrVr11b58uUlSX///bdZqWSvOOazK544zrILCQlxuIg4U7t2bYeLgbN9bt682bxR8vf313333ZdnWrNaTYqCVee%2BfauN/dg2T8o%2BSVluZXNKSopDRYez8t7%2BO%2Bzfv9%2BS8dXu%2Bs9//qNhw4Y5DUYzMjJ0%2BPBhLVmyRGPGjFHHjh01dOhQ7dq1K9d9eqLssV9SrF69eub4Q1fq1KmT5zae9N133ykxMVFSZm%2BWrGt5bqpVq2ZeR1NSUlzerNvL65wNCgpyaIV2dh7FxMQ4tMg8%2BeSTBa7ASUxM1Lp168zn7o7PtT8v8vr9u3fvnudkeD179jQDVE/p3bt3nvNWSJnfJ6tyqmLFinmW71Jm5eydd97psI/CuuGGG8zHzibnlIpnPjvjqeMsu/vvvz/P8sud65T9PXXv3r3zrBhp27atR8Y5u2JFOVJYed37SXJoST569KjDfAb5YX%2Bc16xZ0%2BXs61kCAwMd8mjjxo1Fep32lhIXYJ86dUq//vqr%2BdxZ93Bn77ma7t0T7AvfvJYsye929tyZCdC%2B65WrGv0//vijQOmwX8d19%2B7dDu/t2LHDfNygQQO3lsTJqh31lLCwMLcuZsnJyQ43we7mSdWqVc3WtbNnz%2BbZYpW1PMnEiRP10ksv6amnntLjjz/u8C%2Bry7FhGA4T/WQpjvnsiieOs%2ByaNm3qVsubfT45q7iwP4cbN27ssrXPXkHO4YKy6ty37%2B0wcuRIh9/Ik%2Bxv1P78809zUrvsfvjhBzPtZcqUUYcOHXJsYz9Zy8GDBzVq1Kgi67Hk6%2Bur4cOHa%2B3atRoyZEiuPSfS09P1448/qk%2BfPi5nufVU2WN/PN92221u7dNb5YRkTVnx119/5bptrVq13JoR2r6C3FlZYZ9Wf39/p8eou7Zv325W7JUvXz7PyZWy2G%2BX/XunpKQ4LIXmTsWJv7%2B/x2Y7zuLupJX2%2BXvzzTe7XXmRn2MhIyNDv//%2Buz777DONHj1azz33nJ544gmHa7F9i5%2Bza3txzWdnPHGcOWPFderSpUvmRIaSdMstt%2BS5T5vNVmTXY6vKkcLw8fFxq1xv3ry5ypQpYz53VVGUF/v7zrZt27rVA9e%2BXLx8%2BbLLXiVXkhI3i/jy5cvNGXLtW7ec6datm8aNG6eUlBTt379fu3fvtmTmvNxkLXeSJa%2BuTPndzp47J7X9WIysFoHs7GuxFi1a5LI7cnb2ywNlH%2B9iPyu3/YUuN/Xq1ZO/v79Z8FvNnRZTKbNmzz4N48ePd/uinpycbD6Oi4tz2nshNjZWEyZM0HfffZdjSYfcOLv4FMd8dsUTx1l27q4zad9ykn1pEkkO3cbdPTdr1qypUqVKOd2f1aw69x999FFz1uNjx47p4YcfVr169dS%2BfXu1bNlSzZs3d%2Buz8is8PFyNGjUyZ/FdtWqVnnzyyRzb2Y9r7dq1q9PlxmrUqKGuXbuaM%2BEuXbpUK1euVMuWLXXrrbfqpptu0vXXX%2B/WMoUFVbNmTY0cOVIjR47U33//rW3btmn37t3auXOndu3a5TC7v2EY%2BuCDD%2BTv75/jO3uq7ClIOeHudp5gX1b88MMPOZaic8X%2BexZVWWF/8x8eHl6o48z%2Be6ekpOjxxx936%2B%2By//b2YmJiHI4pd3/XBg0auLVdQbl7PbbPk127drmdJ/YV0rkdC0uXLtV7773ndKiQK87GHxfXfHbGE8eZM1Zcp2JjYx1aO929HhfVMoNWlSOFUatWLbd6g9hsNjVo0MDscfP3338X6PPsy1l3K2fCwsLk5%2BdnXguPHTvm1WtMUShxAbazta9dCQ0NVfv27fX9999LymzF9nSAnT0Iyj5e0BX7WiV3WTFGLiMjw6E2zZ1aSWeyf2/7fbrbBcrX11chISEem5zC3eWpsq/nt3nz5gJ9nrOA%2BODBgxo4cGCeEzs542xd1eKYz8546jjLriDnhLNx3faf4%2B45LGWex0URYFs1PrZjx44aOXKkpk6dat7EHD16VEePHtVXX30lKfMC2q1bN/Xt2zfHRDWF0bt3b7PFZ8WKFTmCzUuXLplj9rO2d2XcuHE6e/as2dqVlpamzZs3m%2BduqVKl1Lp1a919993q1q2bpctpZVe3bl3VrVvXHI5y6dCCXcEAACAASURBVNIlrVmzRh999JFOnDhhbvfBBx%2BoZ8%2BeqlWrlvmap8qegpQT3ui6msU%2BHw4fPlygLpVFVVZkLYEjya11yHNj/70vX77sdO3vvGT/3vbpk2QOO8qLu9sVVEGuxydOnHA4h9zl6lgYN25cgcaDOrsWF9d8dsYTx5kzVlynsn%2BOu/fK%2BbluF4ZV5Uhh5Kestt%2B2oC3p9r%2BJu8evn5%2BfypQpY953Wt2KXxyVqC7iu3btcpio5f3331fr1q1z/WdfcKxcudLjrXYFPXGsPuHclbW%2BYWFlT799PuenAPJkK5Orieayc9Xal1/Z8zU9PV3Dhw83g%2BuAgACzu%2BiaNWu0detW7dq1S/v27TP/5TWOqDjmszOeOs6Km%2BKePmeGDBmiJUuWuBzbtn//fk2fPl1dunTR559/btnn2k9EeeDAgRxjwNeuXWu2mFStWjXHDKX2ypYtq7lz52rSpEm68cYbc3RZS0pK0o8//qgRI0aoV69eBa7gKYiQkBD17dtXy5cvd/gOqampDhN5SZ4rewpSThR1GWHPitn4i%2BpctA%2B2Cptnnvje2e95isvv7%2B7Erp46FlatWuUQXDds2FCjRo3SggULtGnTJkVFRWnv3r3mtTj7er/ZFdd8dqYknV8l7Z7aGwp67%2BesosgdBS3zrPjskqREtWBnH0ftTg2avbi4OP3444/q3LmzlclykL3WzN1amoIu6VJYQUFBDt2F586dm%2BuNrLvsJ2DKz5IEVi9fUBD2NaR%2Bfn6Kiopya6KhvGzcuNGsIPL399dXX32V58zNeeVHSclnTx1nnmJ/DOSnptVb53FhNW7cWO%2B%2B%2B65SUlIUFRWlP/74Q7/99pv%2B%2BOMP80KYmJioSZMmycfHR48%2B%2BmihPzNrUqqsZaVWrFihxo0bm%2B/bdw/v1atXnhVkPj4%2Buueee3TPPffo7Nmz%2Bu2337R161Zt3rzZoUvk4cOHNWjQIEVERLjdTdUKISEhmjhxojp37mwGwFu3bnXYxlNlT0hIiNlq5e6576kywp0b39DQULOlY%2BLEiW5PTukN9r9Zfu9JsrO/f8hayqmwsk%2BGePnyZbdaAYvDtVhyzJPnnntOzz77rCX7/fTTT83HnTt31nvvvZdroJKfa3HW9sU1nz1xnHlK9nvqixcvutViW9hzsSQp6L1fQXrOSo7Xk/zc89hvW9DPLklKTAt2amqqww1XQXl6TexSpUo5dJlwt2ubJ2YVdJd9egs6JiM7%2B65y7nbpio%2BPLxYBSsWKFc3HaWlpBeqS5oz90h69evXKM7hOTEzMM7grSfnsiePMU6pXr24%2BdvfcPHHiRJF0D/ekgIAAtWzZUsOGDdMXX3yhLVu26M0333S4oZk%2Bfbpl633bD/NZtWqVGXydPn3aYZbavIYDZVexYkV1795d//rXv7Rq1Sp9%2B%2B23euCBB8z3L1y4oI8%2B%2BqiQqc%2B/mjVrKiwszHyefTI2T5U9BSknXE08l519UGI/1tyV7F1pnbFP79GjR91Kh7fYj8EsbLlm//tbVUba71Ny/3d1dztP88SxcPbsWYceM6NGjcqzFdDZJKP2SlI%2Be%2BI485SqVas6VK66ez22nxvhSvfPP/%2B4va398VbQIS32f%2Bfu8Xvu3DmH4L6ww2lKghITYP/www9mjUlAQIC2bt3q0JU2t3/23YB%2B%2BOEHj489bdasmfk4q3UmL1YsI1FQ9uv3FnTMX3b2awLu2bPHrcm8CjqjodXq1q3rEAxalSf2k6jYHyOuREVF5dmtuiTlsyeOM0%2Bx/3327t3rVlDg7rlu3zWyuHdjCw4OVv/%2B/TV9%2BnTztcuXLysqKsqS/dtPXBYTE2OOoV61apV5LDds2NChZbsgrrnmGo0bN86hJdTVWraeZj/2NHvrtKfKHvtywt3z393t7L%2BPO%2BeJ/TAvV%2BzLiqxJ%2BIor%2B%2BWbYmNjFR0dbdm%2BrKh4r1SpkkMlQF7LxGUpLtdj%2B2MhMjLSkjLT/lpcvnx5h3kQXLFfis2ZkpTPnjjOPCUkJMRhwjJ375WvxOuxKxcuXHCr8ik%2BPt5hgrKCzkllfz2xn1E8N9u3bzcf22w2p%2BuGXwm/hb0SE2Dbdw%2B//fbb81wD1l6LFi3Mgi81NVWrVq2yPH322rdvbz7euHFjnss1HTp0qMiWx3HGfnr/devWWbLEjf26pfHx8W7dzK5evbrQn2sFm82mW2%2B91Xy%2BYMECS/ab3/H/7vS2KEn57InjzFPatGljtmikpqa6tcyfu8eJ/TjnktLi3bp1a4cuXWfOnLFkv1kTUWbJWhPbvrdSbpOb5Zf98KCzZ89atl93ZWRkONzgZJ80zlNlj/2SSL/88kuePWMyMjK0Zs0at/Zt39vDndm%2B7ddQdcW%2BrNi%2Bfbv27NnjVlq84brrrnPoxrpw4cIC7ys8PNwhSLNfGqow7K8T7pT/x48ft6wSrbDsz4dTp065dfzkxb6nhTtjwaOjo926Rysp%2Beyp48xT7K8Ry5cvz3Ouik2bNrndsmo/%2B7b9LOkljTvH27fffms22gQEBLjV0OOM/XH%2B66%2B/ujVpb9a1XcqsNHc2CV1JvDfKTYkIsM%2BdO6effvrJfN61a9d8/b2Pj4/uvPNO87mn18Tu3bu3edImJydr7NixLlsiU1JS9MYbb3h10fW77rrLbDXJSm9ha4/CwsIcasemT5%2Bea%2BvqoUOHtHz58kJ9ppUGDRpkPv7rr7/MGZULw/5metu2bbluGxUV5VZ%2BlKR89sRx5inly5dXly5dzOczZ850CIyy%2B%2Babb/Js4chiv3RJYVq7Cis/eZ%2BSkuJwU%2BrOuuDusg%2Bg165dq4MHD5qtOjabTb169cr17/PzPey7qBX2O6xevTrfE7WsWrXK4WbE2Vqtnih7evToYfYUSE5O1syZM3PdftGiRW4fm/YtEd9//32uv8eOHTvcWp7v9ttvd1i%2B6I033ii2k%2BIEBAQ4DD/46quv3Gqld8Zms%2BmRRx4xn8%2BfP9/tFqLc3H333ebjqKioPH%2BDadOmFZuyOSwsTG3btjWfT5w40a2eErmxDy7PnTuXZ%2Bvf%2BPHj3cqPkpLPnjrOPKVPnz5mRcjp06c1ZcoUl9tevHhR48ePd3vf9sdCbtf44u6rr77KtXduQkKCPv74Y/N5586dCzwOumfPnmaMk5qa6tDDzZmdO3fq22%2B/NZ/36dPH6XbF5d7IKiUiwF6xYoXZ%2Bufv769OnTrlex/dunUzH%2B/atcth0hurlS1bVk8//bT5fP369XruuedyrLN45MgRDRkyRL///rtXlmrIEhQUpOeff958/v3332vkyJF5jtO9ePGi/vvf/%2BrFF190%2Bv7QoUPNxzt37tTYsWOdjtE7efKknn76abfG7xWVG264Qd27dzefT5o0SbNnz86zC/aJEyc0efJkh4IsS8uWLc3H3377rcvun7t379awYcPcXiO7pOSzp44zT3nxxRfNi8j58%2Bf1yCOP6Mcff3S4IUpISNBHH32kt956S4GBgU5n4c7OvkLkr7/%2B8trwkBMnTuihhx7Shg0b8jwmPvzwQ7PVwN/f36HbZmF17NjRrM2Oj4/X6NGjzfdatGiR50z6n332md588808uznGx8dr1qxZ5nP7WviCmDhxorp166Yvv/zSrdbw77//Xv/%2B97/N56VLl3Y6ttwTZU%2B5cuXUt29f8/mXX37psqI5MjIyXzeo9pXXBw8e1BdffOF0u4MHD%2Bq5555zq1yz2Wx65ZVXzJvqqKgoDR06NM%2BeE0lJSVq6dKlDJUVRGDx4sDmmMDk5WY899lieActPP/3ktFX04YcfVp06dSRlVmwNGTJEP//8c55p2LFjh1588UWnvZjatWunRo0amc9HjRrlslfArFmzLJnvxkojRowwK4iio6M1aNCgPMcOp6amat26dXrwwQdztEzWrFnToVwZN26c0wqc1NRUvfnmm9q4caNb6SxJ%2BeyJ48xTwsLCHCqx5s6dq3//%2B985Wk537dqlgQMH6vDhw27fU9tXEH799dfFtiIvL/Hx8Xr22Wed9k5KTEzUiy%2B%2BaMYgPj4%2Bbq997kxoaKj69%2B9vPp8/f77mzJnjdNsjR47o2WefNRsRq1Spovvvv9/ptsXl3sgqJWIWcfuusrfeemuBal1atmypSpUqmRfoJUuW6OWXX7YsjdkNHjxYW7ZsMQuhdevWaf369WrYsKHKly%2BvM2fO6NChQ5IyA/LXXntNr776qiTr1rjNj4ceekhRUVFmXq9cuVI///yzevXqpRYtWpg1S%2BfPn9fBgwe1fft2/frrr0pNTXUYz2OvW7duuuOOO8xa3AULFmjHjh3q27evwsLClJycrK1bt2r%2B/Pm6cOGCmjdvrpiYGJ08ebJovnQe3n77bR08eFAHDhxQenq6Jk%2BerAULFqhnz55q2rSpypUrp5SUFHPClN9//93s7jVkyJAc%2B%2BvRo4emTp2q06dPKy0tTUOGDFGfPn3Utm1blS1bVqdOndJPP/2kFStWKC0tTbfffrsOHTqUo2Imu5KUz544zjyldu3a%2Bve//63Ro0fLMAzFxMRo6NChqlKliurVq6fk5GTt37/fDDxHjx6tzz//3JwAzNXyFWFhYbr22mu1Z88eGYahRx55RI0aNVL16tUd1mceN25cjolzrLZ161Zt3bpV5cuXV4cOHdSsWTPVqlVLISEhSk5O1uHDh7Vq1SqHHhcPPfSQpWuMBgQEqEuXLlq0aJEkOXSZdKd7eHJysubPn6/58%2BerSZMmuuWWW9SkSRNVrFhRgYGBiouL044dO7R48WKz/Pf19XV6jubXiRMnNGHCBL3zzjtq0aKFmjdvrkaNGql8%2BfLy9/fXhQsXdODAAa1bty5HwDVixAhVq1bN6X6tLnukzAqjDRs2KCYmRoZh6LXXXtPatWvVs2dPVatWTefOndMPP/ygZcuWKT09XT169HCr22F4eLjatm1r3pxPmjRJO3fuVPfu3VWhQgWdPXtWv/zyi5YsWaKUlBTdddddbvWiad%2B%2BvYYNG2a2tm/evFmdO3dW9%2B7d1bp1a1WtWlV%2Bfn46f/68jhw5oh07dmjTpk1KSEhwaAkpChUrVtSkSZM0bNgwpaWl6fTp03rggQfUqVMndejQQbVq1ZKvr69Onz6tXbt2ad26dTp27JgmTJiQo6InODhYH3zwgfr376%2BEhATFx8friSeeUMuWLdWpUyfVr19fwcHBSkhIUGxsrHbv3q1NmzaZLT7OZlz39fXVuHHj9PDDDys1NVXx8fF64IEH1KdPH912220KDQ3V8ePHtWzZMm3ZskU2m01du3Z1aHXypiZNmuiNN97QmDFjJGXON9KjRw/deeeduu2221SzZk0FBATowoULio6O1s6dO/Xzzz/nWFfe3iOPPGIuvbVp0ybdf//96tevnxo2bKjU1FTt3btXixYt0uHDh%2BXr66u7775bERERuaazJOWzJ44zT3rllVe0fft27du3T1Lmfc7ixYvVqFEjhYSEKCYmxmyBrlWrlgYNGmRWFOa2lFSvXr3M4TA///yzbr/9djVu3NhhGOott9zi0OJf3DRt2lQXL17UH3/8oV69eql///5q1qyZfHx8tHfvXs2fP9%2BhdX7QoEG67rrrCvWZw4cP108//WQ2Vo4fP17r16/XXXfdpdq1a%2BvSpUvasmWLFi5caN4j%2Bfj4aPz48S6H%2BBaneyMrFPsAe9%2B%2BfQ5rlua3e3gWHx8fde7c2Rxrsnz5co0YMcLhR7OSn5%2BfPvzwQ7366qtau3atpMyujNnHqNWsWVPTp093qInz1vT1EyZMUIUKFcy1bs%2BfP6958%2BZp3rx5Bd7nu%2B%2B%2Bq8cff9zsPrtnzx699dZbObarVq2apkyZooEDBxb4s6wWEhKiefPmafjw4fr1118lZc64mVf3SldKlSqld955R0OGDFFqaqpSU1PNwCC7Bg0a6J133nHZlSa7kpTPnjjOPOW%2B%2B%2B5TRkaGxo8fbwbOp06dcphR1tfXV8OHD9eAAQMcZqbO7TweN26cBg8ebNY2Z03IaM%2B%2BJdfT4uLitGTJkjyHz3Ts2FEvvfSS5Z/fu3dvM8DO4u/v79DzyB1//fVXnmtc%2B/n5afz48YW%2BwbC/dqSlpSkyMtKtGnd/f3%2BNHDky1xs2q8seKfN4nD17tgYMGGBebzZu3Oi0de6WW27RCy%2B84PZ8DW%2B%2B%2Bab69%2B9vnherV692%2Brfdu3fX888/7/YwlRdeeEFly5bV5MmTlZ6ersTEREVEROQZ6HhDu3btNHPmTA0fPlwJCQkyDEPr1q3TunXr8r2vxo0b65tvvtGwYcPMWd9///13/f777wVO3w033KDJkydr5MiRSk9PV0pKir7%2B%2Bmt9/fXXObZ96qmnVKdOnWITYEuZ3UqDgoI0atQoJSUlKS0tTWvWrHF7roDsBg4cqJ9//lmbNm2SlDl/gLNrpo%2BPj0aNGqXg4GC3jruSlM%2BeOM48JSQkRF9%2B%2BaVeeOEFcwKztLQ07d6922G7Ro0aacaMGQ4t7LnN2dS5c2eHSr/z58/nKMetrFD2hODgYI0dO1aDBw9WbGys3nvvPZfbdu3a1ZLGxcDAQH3xxRd6/PHHzbhmy5YtLiel9Pf316RJk9SuXbtc91vc7o0Ko9h3Ebdvvfbz8ytQ9/As9jdrp06d8ngXl9KlS2v69On67LPP1K1bN1WrVk3%2B/v6qWLGibrzxRo0aNUpLly7Vdddd5xBge6u7uI%2BPj1599VUtXLhQ7du3z3X9VZvNpmuvvVYvvPCC3n//fZfbBQcH66uvvtKQIUNUqlSpHO/7%2Bvqqc%2BfOioiIyLMrqDeULVtWs2fP1rRp03Tttdfmum1AQIDatGmjt99%2BW0899ZTTbdq0aaO5c%2BcqPDzc6fulS5dWv3799L///S9fyxiUpHz2xHHmSX369NHKlSv1xBNPqGHDhgoKClJwcLDCwsLUv39/RUREaOjQoUpLS3MYG5jbedysWTOtXLlSTz31lG688UaVK1fOkvWO86NSpUp6%2BeWXdfPNN%2BfZa%2Baaa67R22%2B/rY8%2B%2BkiBgYGWp6VVq1Y5WnPbtm3r1nqnXbt21YABA8zujq74%2BvqqQ4cOWrx4se65555CpVfKvDZNnDhRXbt2das2PTQ0VH369NGKFSvcWkfc6rJHymwhWLp0qe68806n64oHBQXp8ccf1%2BzZs/N1PNaqVUtff/21w%2BRk9sqVK6dXXnlF06ZNc2tSKXuPPvqoVqxYoZ49e%2BZ57NWvX19Dhgxx2V3R09q3b681a9aoT58%2BTsvhLFnHgrMx%2BFkaNWqklStX6qWXXlLVqlVz/dyyZcuqe/fu%2Bvjjj13%2BBlJmL6r58%2Be7PJ6qVaumSZMmafjw4bl%2Bnrf06NFD3377rfr16%2Bcwe70zNWvW1IABA7Ro0SKnx42vr68%2B%2BugjPfbYYy5bOMPDwzV79ux8V0iXpHz2xHHmKRUqVNCcOXM0bdo0dejQQZUrV5a/v7%2BqVKmiVq1a6e2339bChQtVp04dh2E7ed1Tv/POO5oxY4a6du2q2rVrKygoKN/llLc1a9ZMixYtUqtWrZy%2BHxoaqtdee03vvfeeZQ2LVapU0cKFC/Xss8%2B6nNPEx8dH7du315IlS9SzZ88891kc7o2sYjOKy0wWV7lx48aZy4kNHTrUI61E%2BXXp0iVt3bpVMTExOn/%2BvHx8fBQaGqo6deqoUaNG%2BV7H7tKlS9q8ebOOHz8uwzBUrVo1tWjRIs9CvTiJjY3Vn3/%2BqTNnzujixYsKDAxU%2BfLldc0116hx48a53lTZMwxDO3fu1K5du3ThwgWFhoaqevXqatWqVZ43Dnkpafls9XHmLbt27TLHFlWuXNlsGSkJkpOTtXfvXh09elRnzpxRUlKSgoKCVKlSJTVp0sRh7ebi7MyZM9q7d6%2BOHz%2BuCxcuKCMjQyEhIapdu7auv/56j1ZeRkdH6/Dhwzpx4oQuXbqk9PR0BQcHq3z58mrYsKEaNGhQqBsFq8oe%2B/1t2bJFsbGxCgoKUvXq1XXLLbeY5c/x48cdKrSztyK4cvToUf3xxx86e/asQkJCVKtWLbVp0ybXbpruSk5O1rZt2xQdHW12/836fcPDw4tVGZc1NCc6OlpxcXHy9fVVxYoV1aBBAzVp0iTfx8KBAwf0119/KS4uTgkJCQoKClKVKlUUFhamhg0bOq0wyc3evXu1c%2BdOnTt3TuXKlVO9evXUsmXLfO/HW9LS0hQVFaUjR44oLi7OPNdr1Kihhg0burX0Vpa4uDhFRkaaM09XrlxZjRo1KvTygFLJy2erjzNveeqpp8zeOWPHjlW/fv28nCJrRUREaNSoUZIyK6jnzp1rvvf3339r%2B/btOnXqlAIDA1W3bl3LymBX0tLS9Oeff%2Brw4cOKj49X6dKlzYqPknIPZzUC7GIgKSlJHTp0MGcAnDlzZqFa6gEUvbFjx5rdAO%2B8807NmDHDyykCCq6gATYAeFNsbKw6depkTo68bNkySypLipPcAmwUDyWjKqqEcqfuwjAMvfXWW2ZwXalSpTzHKAAoGu7WP27evNlhzeKingAGAIArmTvX49TUVI0ePdoMrps0aXLFBdcoGQiwPeiZZ57R9OnTc0xslmXXrl0aOnSoFi9ebL42ZMgQr8wiDiCnRYsWafjw4frxxx9zLPUiZXYtnDlzpoYMGWIuP9S0aVN16NChiFMKAMCVq3///po1a5bT9aoNw1BkZKQGDBjgMDzrmWeeKcokAqaSOXK8hDhz5ow%2B/PBDffjhhwoNDVXdunVVpkwZJSYm6tixYznWTm3fvn2Rr98JwDX7mWr9/f1Vt25dczzRmTNndOTIEYda9XLlymny5MkeW50AAICrUXR0tN555x298847qlChgurUqaOgoCBdvnxZR44cybEGdL9%2B/dS5c2cvpRZXOwJsD7KfDOLChQvauXOn0%2B18fX31wAMPaMyYMSVu5kLgSmZ/DqemppprPjpz7bXXaurUqapfv35RJA0AgKuG/f3xuXPnHFbfsRcQEKAnn3yS1mt4FQG2B3322WfasGGDIiMjtW/fPnN2WSmzpatWrVpq3bq17rnnHl1zzTVeTi2A7Pr27av69evr559/VlRUlI4dO6a4uDilpKQoJCTEXHKvU6dO6tSpExVkAAB4wLJly7R%2B/Xr99ttvOnDggGJiYnT58mX5%2BvqaM7Tfcsstuv/%2B%2B4vVigK4OjGLOAAAAAAAFmCSMwAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAW8PN2Aq4khmHo3LnLysgwvJ2Uq4KPj00VKgST50WMfPcO8r3okefeQb57B/le9Mhzz6pcuYy3k4CrFC3YFrLZbPLxsXk7GVcNHx8bee4F5Lt3kO9Fjzz3DvLdO8j3okeeA1cmAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFmAWcQBAsWCzFa%2BJfrKSY7MVv7QVBcNgVmMAAPKLABsA4HWlS1%2BWzXbB28lwkDmzb4ACA1Pk73/1BZuGEarExGBvJwMAgBKFABsA4FU2m0022wUZxmZJyd5OjikjIzPAzshIuQpbcwNls7WRzRZyFX53AAAKjgAbAFBMJMswkrydCFNmt3BDmem6uoLMq7BHPAAAliDABjzoShy3WdLHpV5tgRIAAACKDgE24CHFcUypFUr6uFTGlQIAAMBTCLABDyiuY0qtULLHpTKuFAAAAJ5DgA14VPEaU2qFkjwutQT2aAcAAEAJ4uPtBAAAAAAAcCUgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAsQIANAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAAAACxBgAwAAAABgAQJsAAAAAAAs4OftBABA0bLJZsv8vySx2f7//zZbyUp7Xq6wr3MF8c65ciUf61YwDMPbSQAA5IIAG8BVxE9%2BfoZKlYqRVLJuUn18bJICFBiYIn//kpX2vPnIzy9VqaneTgf%2BP%2B%2BdK1f2sV54hhGqxMRgbycDAOACATaAq4ivbLZLMoydkpK9nZh8ycjIDDoyMlKuwBasUNls4d5OBBx471y5so/1wgqUzdZGNlsIeQMAxRQBNoCrULIMI8nbiciXzK6yhjLTfmXdWNtsgd5OAlwq%2BnPlSj7WC4se8wBQ/DHJGQAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABZhEHAAAoMWz/N5u4tVOKZ81QbrNlzeSO/GDGewBZCLABAABKBD/5%2BRkqVSpGmUuZWcfHJ3P98cDAFPn7Eyzml2GEKjEx2NvJAFAMEGADAACUCL6yy/1twwAAIABJREFU2S7JMHZKSrZ0zxkZmQF2RkYKrbH5FiibrY1sthDyDgABNgAAQMmSLMNIsnSPmd3Cjf/bN0FiftCjHoA9JjkDAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALODn7QTAOjabzdtJKFJZX9dmK37fvZglBwAAAEARIMC%2BQpQufVk22wVvJ6NI%2BfjYJAUoMDBF/v6Gt5OTjY/8/FKVmurtdAAAAAAoKgTYVwCbzSab7YIMY7OkZG8np8hkZGQG2BkZKTKM4hZgh8pmC/d2IgAAAAAUIQLsK0qyDCPJ24koMpndwg1lfu/iFWDbbIHeTgIAAACAIkaADQAAABSK7f/mX3F/EpbiPJcMgIIjwAYAAAAKzE9%2BfoZKlYpRZs869xTvuWSuBAzVg3cQYAMAAAAF5iub7ZIMY6fyMxdO8Z5LpqQLFAE2vIUAGwAAACi0/M2FU5znkinp6HEPb/LxdgIAAAAAALgSEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAUIsAEAAAAAsAABNgAAAAAAFiDABgAAAADAAgTYAAAAAABYgAAbAAAAAAALEGADAAAAAGABAmwAAAAAACxAgA0AAAAAgAVshmEY3k7ElSQ9PcMrn2uzpUlKlnR1/Zw%2BPjZlZBTH7%2Bwjm81fhpGiK/E3Kb75npeS/buU3HzPS/H9Xa7cPM%2BLd3%2BTqzff8%2BLZ34V8L6iC/y7kuWfYbEGy2fy8nQxcpQiwLWQYBoVkEePC5B3ku3eQ70WPPPcO8t07yPeiR55by2a7KJvtvKTqMgybEhMPeztJxZphhCoxMdjbySgxKlcu49Z2VO1YyGaz6cKFBKWleacV%2B2rj5%2Bej8uWDyfMiRr57B/le9Mhz7yDfvYN8L3rkufUqVGgmH59oGcYRSTVkGJuV2cMTOQXKZmsjmy1EtLdaiwAbAAAAQImXkDBCQUFTZbOV/79XkmUYSV5NU3Fls3k7BVcuJjkDAAAAUOIlJT2uc%2Bd2yzDc68oLeAIBNgAAAIASqVSp2apQoalKlZrt7aQAkgiwAQAAAJRQQUFT5esbraCgqd5OCiCJABsAAABACZWQMELp6bWVkDDC20kBJDHJGQAAAIASKinpcSUlPe7tZAAmWrABAAAAALAAATYAAACAAmGSMcARATYAAACAAmGSMcARATYAAACAAmGSMcARk5wBAAAAKBAmGQMc0YINAAAAAIAFCLABAAAAALAAATYAAAAAABYgwAYAAAAAwAIE2AAAAAAAWIAAGwAAAECBlCo1WxUqNFWpUrO9ug%2BguCDABgAAAFAgQUFT5esbraCgqV7dB1BcEGADAAAAKJCEhBFKT6%2BthIQRXt0HUFz4eTsBAAAAAEqmpKTHlZT0eIH%2BtlSp2QoKmqqEhBE6d263xSkDvIMAGwAAAECRKVNmsAIDl8gwAuXjk6CgoKkFDtKB4oYAGwAAAECRCQxcIpstXVIiXcNxxWEMNgAAAIAik5x8rwzDV8nJ9%2Bvcud20XuOKQgs2AAAAgCJz8eLnunjxc28nA/AIWrABAAAAALAAATYAAAAAjyhVarYqVGiqUqVmezspQJEgwAYAAADgEUFBU%2BXrG62goKneTgpQJAiwAQAAAHhEQsIIZgrHVYVJzgAAAAB4RFLS48wSjqsKLdgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAACABQiwAQAAAACwAAE2AAAAAAAWIMAGAAAAAMACBNgAAAAAAFiAABsAAAAAAAsQYAMAAAAAYAECbAAAAAAALECADQAAAFwFSpWarQoVmqpUqdneTgpwxSLABgD8P/buPTqq%2Bl7/%2BLNnIJlMwkDCRQ4RXRIkNlylmEClBCPUlsJBCh4vtHog2iJ4qUFt1kH8Ve1CRUzKrSKesS1UbUsVqlHEakuK7UFOhUNrigrRAgKlkEhCMkxCJvv3h82UkCDZyZ7Zmcz7tZZLsveeySefUuSZ7w0AEAe83iK53Qfl9RY5XQrQZRGwAQAAgDgQCBQoFBqoQKDA6VKALqub0wUAAAAAiLxgMF/BYL7TZQBdGiPYAAAAAADYgIANAAAAAIANCNgAAABAnGJnccBeBGwAAAAgTrGzOGAvAjYAAAAQZ5pGrk%2BfzmFnccBG7CIOAAAAxJmmkWtJqqwsc7gaoOtgBBsAAACIM5yJDUQGI9gAAABAnOFMbCAyGMEGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAYEbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAYEbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAYoDH41da2lB5PH6nSwFwDgRsAAAAIAZ4vUVyuw/K6y1yuhQA50DABuAIPoUHAMCaQKBAodBABQIFTpcC4BwI2AAcwafwAABYEwzmq7KyTMFgvtOlADgHAjYAR/ApPAAAALqabk4XACA%2BBYP5fAIPAACALoURbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGjm9ytn//fvn9fu3evVt79%2B7VoEGDVFJS0uyZzMzMc75%2B27Zt6tevnyQpLy9Phw4davHMn//8ZyUmJoa/rqmp0dKlS7VlyxbV19crJydHixcvVnp6uk0/FQAAAAAg3jgesPfu3avS0lKNHDlSjY2NMk2zxTO/%2BMUvWlz73ve%2Bp6SkpHC4bnLNNddo7ty5za4lJCQ0%2B3rhwoUqKyvT4sWLlZKSohUrVmjOnDl6%2BeWX5fF4bPipAAAAAADxxvGAnZeXp0mTJkmSCgsL9d5777V4ZtSoUc2%2B/uSTT/S3v/1N9913X4tn%2B/Tp0%2BL5M%2B3evVtbt27V2rVrlZubK0kaMmSIJk%2BerI0bN%2BrGG2/syI8DAAAkeTx%2Beb1FCgQKOJIPABA3HF%2BD7XJZL6GkpESGYWjq1KmWX1taWiqfz6cJEyaErw0YMECjR49WaWmp5fcDAAAteb1FcrsPyustcroUAACixvER7PZ49dVXdcUVV6h///4t7r3yyiv65S9/qe7du2vMmDG69957m63hLi8v1yWXXCLDMJq9bvDgwXr77bc7XJvb7fhnFnGjqdf0PLrouzPoe/TR844JBhfK43lSweBCdevW9h7Sd2fQ9%2Bij55FmyDCMFn/nRxNDLpehbt0MmSY9slPMBez3339fH374oR5%2B%2BOEW9/Ly8jRixAgNGDBABw8e1Jo1a3TTTTdp06ZNGjhwoCSpurpaPXr0aPFan8%2BnqqqqDtfn8yV1%2BD1gDT13Bn13Bn2PPnreXndLulvJyVJysvVX03dn0Pfoo%2BeRYZohJScnSGq5vxMkKUFSgpKS2vEHND5XzAXsV155Rd27d9c111zT4t4DDzwQ/vWYMWN05ZVX6mtf%2B5r8fr%2B%2B//3vh%2B%2Bd65MsOz7hqq4%2BpVCoscPvg/Nzu13y%2BZLoeZTRd2fQ9%2Bij586g786g79FHzyPH50uSYUiBQL2kOqfL6aQMuVz1qqurVSt7TKMVqalt%2BzAipgK2aZp67bXX9OUvf1m9evU67/P9%2BvXTF7/4RZWVlYWv%2BXw%2BHTlypMWz1dXV8vl8Ha4xFGpUQwN/SEYTPXcGfXcGfY8%2Beu4M%2Bu4M%2Bh599DxSTJmm2eoJRZAMw1Rjo6mGBnpkt5ha9PHuu%2B/q8OHDmjZtWptfc/ZvmIyMDH388cctru/bt08ZGRm21AkAAAAAiD8xFbBfeeUVeb1eXXXVVW16/ujRo9q5c6eGDx8evpabm6vq6mpt27YtfO3IkSPauXNn%2BNguAAAAAACscnyK%2BKlTp8LHYx06dEg1NTV6/fXXJUnZ2dlKS0uTJDU0NGjLli2aNGmSkpJabgZRUlKirVu3asKECerXr58OHjyotWvXyu12a86cOeHnRo4cqYkTJ2rRokUqLCxUSkqKli9frvT0dM2YMSMKPzEAAAAAoCtyPGBXVFTo7rvvbnat6et169YpJydHkvT222/r008/PefZ1xdeeKGOHj2qJUuW6OTJk%2BrRo4fGjh2ru%2B66K7yDeJMnn3xSjz/%2BuB566CGdPn1aOTk5WrlypTweTwR%2BQgAAAABAPDBMVrXb6tNPa9moIkq6dXMpNTWZnkcZfXcGfY8%2Beu4M%2Bu4M%2Bt5xHo9fXm%2BRAoECBYP5532enkdOWlqyDKNBgcBPZJpBp8vplAzDI8OYqFOnBrDJWRv17dvyqOfWxNQabAAAAKAz8nqL5HYflNdb5HQpABxEwAYAAAA6KBAoUCg0UIFAgdOlAHCQ42uwAQAAgFgXDOa3aWo4gK6NEWwAAAAAAGzACDYAAACALihRhuF0DZ1VoiTjn/2xt0nxvmkaARsAAABAl2IYLiUkDHe6jE7NNE15PEck2RuITdOnU6eSbX3PWELABgAAANClmKap%2BvoPJdU5XUonFpLUYPN7JsowxskwUuJ2JJuADQAAgLhh9bxqxCpTUjXnYEcZU/LZ5AwAAABxhPOqAUQSARsAAABxg/OqAUQSU8QBAAAQNzivGkAkMYINAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAgJjn8fiVljZUHo/f6VIAxDECNgAAAGKe11skt/ugvN4ip0sBEMcI2AAAAIh5gUCBQqGBCgQKnC4FQBwjYAMAACDmnD0lPBjMV2VlmYLBfIcrAxDPCNgAAACIOUwJB9AZEbABAAAQc5gSDqAz6uZ0AQAAAIBVwWA%2B08EBdDqMYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAIKI8Hr/S0obK4/E7XQoARBQBGwAAABHl9RbJ7T4or7fI6VIAIKII2AAAAIioQKBAodBABQIFTpcCABFFwAYAAEBEBYP5qqwsUzCYH77GtHEAXREBGwAAIMIIky0xbRxAV0TABgAAiDDCZEtMGwfQFRGwAQAAIoww2VJr08YBINYRsAEAACIsXsMkU%2BMBxBsCNgAAACKCqfEA4g0BGwAAABHB1HgA8aab0wUAAACgawoG8%2BNuWjyA%2BMYINgAAAGzF2msA8YqADQAAAFux9hpAvCJgAwAAwBZNI9enT%2Bew9hpAXGINNgAAAGyRnPywXK5PZRg1qqjY73Q5ABB1jGADAAAAAGADAjYAAADa7cwNzWprH1QoNFC1tQ86XRYAOIKADSCMXV8BAFaduaFZMJivysoyjuYCELcI2ADC2PUVANBWbGgGAC2xyRmAsECgQF5vEX9JAgCcV9OHspJUWVnmcDUA0Dkwgg0gjKl9AIC2CgQKGLkGgLMwgg0AAADLgsF8PpAFgLMwgg0AAAAAgA0I2AAAAAAA2ICADQAAgFZ5PH717n2xeve%2BmCMcAaANCNgAAABowePxKyXlXrlcn8rl%2BpQjHAGgDRwP2Pv379eDDz6o6dOnKysrS1OnTm3xTGFhoTIzM1v88/vf/77Fs36/X3l5eRo%2BfLhmzpypd955p8UzNTU1evDBB5WTk6PLL79c8%2BbN06FDhyLy8wEAAMQir7dIhhGSaRpqbExlt3AAaAPHdxHfu3evSktLNXLkSDU2Nso0zVafGzhwoJYtW9bsWkZGRrOv/X6/iouLdc899ygrK0sbNmzQbbfdpg0bNigzMzP83MKFC1VWVqbFixcrJSVFK1as0Jw5c/Tyyy/L4/HY/0MCAADEmECgQF5vkQKBAnYLB4A2cjxg5%2BXladKkSZI%2BG6l%2B7733Wn3O4/Fo1KhR53yf%2Bvp6PfXUU7r55puVn//ZfwSys7M1bdo0rVmzRsXFxZKk3bt3a%2BvWrVq7dq1yc3MlSUOGDNHkyZO1ceNG3XjjjXb%2BeAAAADGJY7gAwDrHp4i7XPaUsHPnTp08ebLZFHO3260pU6aotLQ0PDJeWloqn8%2BnCRMmhJ8bMGCARo8erdLSUltqAQAAAADEH8dHsNvqwIEDGjNmjILBoIYMGaL58%2BeHR74lqby8XJI0aNCgZq/LyMhQbW2tjh49qv79%2B6u8vFyXXHKJDMNo9tzgwYP19ttvd7hOt9vxzyziRlOv6Xl00Xdn0Pfoo%2BfOoO/OoO/RR88jzZBhGC3%2Bzo9IM%2BRyGerWzZBpxmfvYyJgf%2BELX9Dw4cM1ePBgnTx5Ui%2B88IIWLFig5cuX66tf/aokqbq6WgkJCS3WUPfs2VOSdOLECfXv31/V1dXq0aNHi%2B/h8/lUVVXV4Vp9vqQOvwesoefOoO/OoO/RR8%2BdQd%2BdQd%2Bjj55HhmmGlJycIKn1/Z0QKQmSEpSUlOx0IY6JiYB9yy23NPs6Ly9PN9xwg1asWBEO2JJa/YSqaWr4mffO9UmWHZ9wVVefUijU2OH3wfm53S75fEn0PMrouzPoe/TRc2fQd2fQ9%2Bij55Hj8yXJMKRAoF5SndPlxBlDLle96upqdY69q2NWamrbPjSIiYB9NpfLpa985St64oknFAwG5fF45PP5VFdXp7q6OiUmJoafra6ulvSvkWyfz6cjR460eM/q6mr5fL4O1xYKNaqhgT8ko4meO4O%2BO4O%2BRx89dwZ9dwZ9jz56HimmTNM85wlFiAzDMNXYaKqhIX57H7OLPs7%2BH6zpyK6mtdhNysvLlZycrAsuuCD83Mcff9zi9fv27Wtx7BcAAAAAAG0VkwG7sbFRW7Zs0aWXXhpecz169Gj16NFDr732Wvi5UCikzZs3Kzc3Nzz9Ozc3V9XV1dq2bVv4uSNHjmjnzp3hY7sAAAAAALDK8Snip06dCh%2BPdejQIdXU1Oj111%2BX9Nk51qdOnVJhYaGmTp2qiy66SFVVVXrhhRf03nvvaeXKleH3SUhI0O23367i4mKlpaUpKytLGzZs0MGDB1VUVBR%2BbuTIkZo4caIWLVqkwsJCpaSkaPny5UpPT9eMGTOi%2B8MDAAAAALoMxwN2RUWF7r777mbXmr5et26dMjMzlZKSotWrV6uyslLdu3fXsGHD9Mwzz%2BjLX/5ys9fNnTtXpmlq/fr1On78uIYMGaK1a9cqMzOz2XNPPvmkHn/8cT300EM6ffq0cnJytHLlyhY7kAMAAAAA0FaGGa%2BrzyPk009r2agiSrp1cyk1NZmeRxl9dwZ9jz567gz67gz6Hn30PHLS0pJlGA0KBH4i0ww6XU5cMQyPDGOiTp0a0OU2Oevbt%2BVRz62JyTXYAAAAOD%2BPx6%2B0tKHyePxOlwIAcYGADQAA0EV5vUVyuw/K6y06/8MAgA4jYAMAAHRRgUCBQqGBCgQKnC4FAOKC45ucAQAAIDKCwXwFg/lOlwEAcYMRbAAAgC6CNdcA4CwCNgAAQBfg8fiVknIva64BwEEEbAAAgC7A6y2SYYRkmm7WXAOAQwjYAAAAMaxpWvjp0zkKhQaqpmYZ664BwCFscgYAABCjmqaFG0ZIklRZWeZwRQAQ3wjYAAAAMcbj8f9zSngN08IBoBNhijgAAECM8XqL5HYflCSmhQNAJ0LABgAAiDGBQIFCoYGqrX1QlZVlhGsA6CSYIg4AABBjgsF8QjVwXokyDKdriDeJThfgOAI2AAAAgC7FMFxKSBjudBldnmkmqqGh%2B1nXfDJN06GKnEfABgAAANClmKap%2BvoPJdU5XUoXlijDGKNgsL/OzNPxHK4lAjYAAACALseUVC3TDDpdSJdlGB5JjTJNQvWZ2OQMAAAAAAAbELABAAA6GY/Hr7S0ofJ4/E6XAgCwgIANAADQyTSdc%2B31FjldCgDAAgI2AABAJ9N0znUgUOB0KQAAC9jkDAAAoJPhnGsAiE2MYAMAAAAAYAMCNgAAgEM8Hr96975YvXtfzIZmANAFELABAAAc4vUWyeX6VC7Xp2xoBgBdAGuwAQAAHODx%2BGUYNWps9EpKZEMzAOgCCNgAAAAOaBq9DoUGqrKyzOlyAAA2YIo4AACAAziKCwC6HkawAQAAHMBRXADQ9TCCDQAAAACADQjYAAAAAADYgIANAAAAAIANCNhAHPB4/EpLGyqPx%2B90KQAAAECXRcAG4oDXWyS3%2B6C83iKnSwEAAAC6LAI2EAc4CgYAAACIPI7pAuIAR8EAAAAAkccINgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAASzwev9LShsrj8TtdCgAAnQoBGwAAWOL1FsntPiivt8jpUgAA6FQI2AAAwJJAoECh0EAFAgVOlxIVvXrlqk8fn3r1ynW6FABAJ9fN6QIAAEBsCQbzFQzmO11G1HTrtkuG8dm/AQD4PIxgAwCATqmzrPVuaLhcpvnZvwEA%2BDyMYAMAgE7pzLXeTo6YnzhR6tj3BgDEFkawAQBApxRva70BALGPgA0AADqlYDBflZVlUR297izT0gEAsYmADQAA8E8cQQYA6AgCNgAAwD8xLR0A0BEEbAAAELfOnhLuxLR0AEDXQcAGAABxiynhAAA7EbABAEDcYko4AMBOnIMNAADiVjCYz3RwAIBtGMEGAAAAAMAGBGwAAAAAAGxAwAYAAF3e2buFAwAQCQRsAADQpXk8fqWk3Mtu4QCAiCNgAwCALs3rLZJhhGSabnYLBwBEFAEbAAB0aU1HcdXULGPHcABARHFMFwAA6NI4igsAEC2MYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAICY1aPHXPXpk6oePeY6XQoAAARsAAAQuxITN8owQkpM3Oh0KQAAELABAEDsqqubIdN0q65uhtOlAADAOdgAACB2nTz5rE6efNbpMgAAkMQINgAAAAAAtiBgAwAAAABgAwI2AACIKI/Hr7S0ofJ4/E6XAgBARDm%2BBnv//v3y%2B/3avXu39u7dq0GDBqmkpCR8PxQK6dlnn1Vpaan27dunUCikIUOG6I477tC4ceOavVdeXp4OHTrU4nv8%2Bc9/VmJiYvjrmpoaLV26VFu2bFF9fb1ycnK0ePFipaenR%2B4HBQAgTnm9RXK7D8rrLVIwmO90OQAAREy7AvYnn3yizZs36/DhwwoGg83uGYahJUuWtPm99u7dq9LSUo0cOVKNjY0yTbPZ/WAwqKefflrXXnut8vPz1a1bN23cuFFz5szRU089pauuuqrZ89dcc43mzm1%2BFmZCQkKzrxcuXKiysjItXrxYKSkpWrFihebMmaOXX35ZHo%2BnzbUDAIDzCwQK5PUWKRAocLoUAAAiynLA3rp1q%2B644w41NjYqLS2tRXg1DMPS%2B%2BXl5WnSpEmSpMLCQr333nvN7ns8Hr311lvq2bNn%2BNr48eP1t7/9Tc8%2B%2B2yLgN2nTx%2BNGjXqnN9v9%2B7d2rp1q9auXavc3FxJ0pAhQzR58mRt3LhRN954o6X6AQDA5wsG8xm5BgDEBcsBu7i4WKNHj1ZxcbF69%2B7d4QJcrs9fBu52u5uFa%2BmzEH/ZZZfp3Xfftfz9SktL5fP5NGHChPC1AQMGaPTo0SotLSVgAwAAAADaxfImZ/v379dtt91mS7hur8bGRu3atUsZGRkt7r3yyisaNmyYLr/8ct1222364IMPmt0vLy/XJZdc0mKkffDgwSovL49o3QAAAACArsvyCPaAAQMUCAQiUUubrV%2B/Xh9//LEefvjhZtfz8vI0YsQIDRgwQAcPHtSaNWt00003adOmTRo4cKAkqbq6Wj169Gjxnj6fT1VVVR2uze1mY/Zoaeo1PY8u%2Bu4M%2Bh599NwZ9N0Z9D366HmkGTIMw/LyVVhhyOUy1K2bIdOkz00sB%2BzvfOc7evbZZzVhwgQlJSVFoqbPtWPHDj3xxBOaO3eurrjiimb3HnjggfCvx4wZoyuvvFJf%2B9rX5Pf79f3vfz9871z/R7Pj/4A%2BX/R7Eu/ouTPouzPoe/TRc2fQd2fQ9%2Bij55FhmiElJydIMs/7LNorQVKCkpKSnS6kU2lTwP7BD37Q7Ovjx49r8uTJysnJUWpqaovnzwy6dnr//fc1f/58TZo0Sffdd995n%2B/Xr5%2B%2B%2BMUvqqysLHzN5/PpyJEjLZ6trq6Wz%2BfrcI3V1acUCjV2%2BH1wfm63Sz5fEj2PMvruDPoeffTcGfTdGfR5noT4AAAgAElEQVQ9%2Buh55Ph8STIMKRCol1TndDldmCGXq151dbUy4%2BBzjNTUtn2Q0KaA/bOf/azV66%2B%2B%2BmqLa4ZhRCRgHzhwQLfeequysrK0dOnSNo82n33sV0ZGhv74xz/KNM1m77Fv375W13RbFQo1qqGBPySjiZ47g747g75HHz13Bn13Bn2PPnoeKaZM02yRBWAfwzDV2GiqoYE%2Bn6lNAfv999%2BPdB2f69ixY5o7d6769OmjH/3oRy2OBjuXo0ePaufOnZo%2BfXr4Wm5urlavXq1t27aFdxI/cuSIdu7cGbGRdwAA0JLH4w%2Bfj80xXgCArsDyGuzDhw%2Brb9%2B%2B6t69e4t7DQ0N%2Bsc//qEBAwa0%2Bf1OnTql0tJSSdKhQ4dUU1Oj119/XZKUnZ0tr9erW2%2B9VRUVFSosLNS%2Bffuavb7pzOuSkhJt3bpVEyZMUL9%2B/XTw4EGtXbtWbrdbc%2BbMCT8/cuRITZw4UYsWLVJhYaFSUlK0fPlypaena8aMGVbbAQAA2snrLZLbfVBebxEBGwDQJVgO2FdffbV%2B8YtfaMSIES3uvf/%2B%2B7ruuuu0Z8%2BeNr9fRUWF7r777mbXmr5et26d0tPTwyPoCxYsaPH6pmO4LrzwQh09elRLlizRyZMn1aNHD40dO1Z33XVXeAfxJk8%2B%2BaQef/xxPfTQQzp9%2BrRycnK0cuVKeTyeNtcNAAA6JhAoCI9gAwDQFVgO2J83v76xsdHyTtwXXnhhi7Oqz3a%2B%2B9JnI9nr169v0/dMSUnRI488okceeaRNzwMAAPsFg/mMXAMAuhTbDt6rr6/X73//%2B1Z3FQcAAAAAoKtr0wj2qlWrtHr1akmf7RJ%2B/fXXn/PZ6667zp7KAAAAAACIIW0K2MOHD9dNN90k0zT1/PPP65prrlGfPn2aPZOQkKAhQ4Zo6tSpESkUAAAAAIDOrE0BOzc3V7m5uZI%2B2/V7/vz5LTYOAwAAAAAgnlne5OzRRx%2BNRB0AAAAAAMQ0ywF706ZN57xnGIZ8Pp%2BysrJ0wQUXdKgwAAAAAABiieWAXVhYGD6K68wju8685nK5NH36dD3yyCPq1s3ytwAAAAAAIOZYTr8bNmzQPffcoyuvvFJTp05V7969dfz4cZWUlOgPf/iDvv/976usrEyrV69Wenq67rjjjkjUDQAAAABAp2I5YK9bt06TJ0/W9773vfC1QYMGKTs7W4899phefPFF/fCHP1RVVZVeeeUVAjYAAAAAIC64rL5g69at%2BvKXv9zqvQkTJujtt9%2BWJI0dO1aHDx/uWHUAAAAAAMQIywE7FArpwIEDrd7bv39/eF12QkKCEhISOlYdAAAAAAAxwnLAHj9%2BvH74wx/qD3/4Q7Pr27Zt0/Lly3XllVdKkj766COlp6fbUyUAAAAAAJ2c5TXYixYt0re%2B9S3deuutSk5OVu/evVVRUaHa2lpddNFFWrRoUfjZW265xdZiAQAAAADorCwH7AsuuEC//vWv9dJLL%2BlPf/qTTpw4oaysLF1xxRWaMWOGkpKSJEmzZ8%2B2vVgAAAAAADqrdh1SnZSUpNmzZxOiAQAAAAD4J8trsAEAQPzxePxKSxsqj8fvdCkAAHRalkewT58%2BrWeeeUYlJSU6fPiw6urqmt03DEN//etfbSsQAAA4z%2Bstktt9UF5vkYLBfKfLAQCgU7IcsIuKivSTn/xEEyZM0KRJkziKCwCAOBAIFMjrLVIgUOB0KQAAdFqWA/bmzZu1YMEC3XHHHZGoBwAAdCIejz8crCsry5wuBwCATs3yGuyqqiqNGTMmErUAAIBOomnNdXLyw%2BGp4QAA4PNZHsG%2B4oor9P7772vs2LGRqAcAAHQCTWuuGxtTFQoNZGo4gBiUKMNwuoauLFGS8c8ed41Gm6bZ4fewHLAfeOABzZ8/XwMGDNDEiRNZgw0AQBd05pprNjUDEGsMw6WEhOFOl9HlmaYpj%2BeIpI4H087ANH06dSq5Q%2B9hOWBPnz5dDQ0Nuvvuu2UYhjweT7P7hmHo3Xff7VBRAADAWcFgPsEaQMwyTVP19R9Kqjvvs%2BiIkKQGp4uwSaIMY5wMI6VDI9mWA/Y111wjg7kWAAAAADotU1K1TDPodCGIEXZFXMsB%2B7HHHrPnOwMAAAAA0IVY3kUcAAAAAAC01K6AXV5eroKCAo0fP17Dhg1TWdln52KuWrVK27dvt7VAAAAAAABigeWAvWfPHs2aNUs7duxQdna2QqFQ%2BF5tba1%2B/vOf21ogAAAAAACxwHLAXrZsmTIzM/Wb3/xGS5cubbbD2ogRI/SXv/zF1gIBAAAAAIgFlgP2zp07deuttyopKanFbuJ9%2BvTR8ePHbSsOAAAAAIBY0a412N27d2/1elVVlRISEjpUEAAAAAAAschywM7MzNSbb77Z6r1t27Zp6NChHS4KAAAAAIBYY/kc7JtvvlkLFy5UUlKSpk%2BfLkk6cuSItm/frhdffFErVqywvUgAAAAAADo7ywF7ypQpOnDggFatWqX169dLku6880653W7dddddysvLs71IAAAAAAA6O8sBW5LmzZuna6%2B9Vtu2bVNFRYVSU1M1fvx4paen210fAABxz%2BPxy%2BstUiBQoGAw3%2BlyAADAObQrYEtS//79dd1119lZCwAAMSca4dfrLZLbfVBebxEBGwCATqxdu4gDAIDPnBl%2BIyUQKFAoNFCBQMF5n/V4/EpLGyqPxx%2BxegAAQOvaNIJ92WWXtTjz%2BlwMw9Bf//rXDhUFAECsCAQKwiPYkRIM5rd55JrRbgAAnNOmgL1gwYI2B2wAAOKJlfAbCWdPUY9G4AcAAK1rU8C%2B8847I10HAABoh7NHrJ0O/AAAxDPWYAMAEMOsrM8GAACRRcAGAKATaO/mZMFgvioryxi1BgCgEyBgAwDQCURjN3IAABBZBGwAADoBpnoDABD72rTJGQAAiCw2JwMAIPYxgg0AAAAAgA3aNIJ9%2BPBhS286YMCAdhUDAABanm0NAABiQ5sCdl5engzDaPOb7tmzp90FAQAQ784%2B2xoAAMSGNgXsJUuWhAN2Q0ODnnrqKXk8Hk2ZMkV9%2BvTRsWPH9NprrykYDGr%2B/PkRLRgAgK4uECgIj2Azmg0AQOxoU8D%2Bxje%2BEf51UVGRMjIy9PTTT8vl%2BtcS7gULFujb3/629u/fb3%2BVAADEkTM3PEtLG8poNgAAMcLyJmebNm3STTfd1CxcS5LL5dJNN92kX//617YVBwBAPPJ4/EpLGyqPx8/xXQAAxBDLx3SdOHFCwWCw1XvBYFDV1dUdLgoAgHhz5lTwM9dgV1aWMXINAECMsDyCnZWVpR/96EeqrKxsdr2yslI/%2BtGP9IUvfMG24gAAiBdNoTolpUCGUaHGxlRGrQEAiDGWR7ALCws1Z84cXX311Ro7dqz69u2rY8eOafv27ZKkH//4x7YXCQBAVxcIFCgl5V4ZRkiGEVAo1JuRawAAYozlgD1q1Cj96le/0qpVq7Rjxw6dOHFCvXr10lVXXaXbb79dl156aSTqBACgS2sK08nJD0sSo9cAAMQgywFbkjIyMlRcXGx3LQAAxLUzdw8HAACxx/IabAAAYI8zdwsHAACxr10j2CdOnFBJSYnKy8tb7ChuGIaWLFliS3EAAHRlZ%2B4Wzsg1AACxz3LAPnz4sGbNmqVTp04pGAwqNTVVVVVVCoVC6tmzp1JSUiJRJwAAXU7TkVystwYAoGuwPEX8ySef1ODBg/XHP/5RpmnqmWee0a5du7R48WIlJCRo7dq1kagTAIAuJxjM55xrAAC6EMsBe9euXbrxxhuVmJgoSTJNUwkJCZo9e7ZmzZqlpUuX2l4kAAAAAACdneWAXVFRob59%2B8rlcsntdqumpiZ8Lzs7W%2B%2B%2B%2B66tBQIAAAAAEAssB%2BzevXurqqpKkpSenq733nsvfO%2BTTz6R2%2B22rzoAAGIcO4UDABA/LG9yNmrUKO3Zs0dXX321Jk%2BerNWrV6u%2Bvl7du3eX3%2B/X2LFjI1EnAAAxiZ3CAQCIH5YD9ty5c3Xo0CFJ0oIFC1ReXq6VK1fKNE1dccUVWrRoke1FAgAQa3r0mKvExBcldVNjYyo7hQMAEAcsB%2Bxhw4Zp2LBhkiSv16s1a9aE12FzRBcAAJ9JTNwowzAlnVZjYwqj1wAAxAHLa7Bbk5KSQrgGAOAMdXUzZJqGGhu9jF4DABAn2hWwy8vLVVBQoPHjx2vYsGEqKyuTJK1atUrbt2%2B3tUAAAGLFmRuanTz5rI4fr1JFxd8ZvQYAIE5YDth79uzRrFmztGPHDmVnZysUCoXv1dbW6uc//7mtBQIAECvO3NAMAADEH8sBe9myZcrMzNRvfvMbLV26VKZphu%2BNGDFCf/nLX2wtEACAWBEIFCgUGsiUcAAA4pTlTc527typJ554QklJSc1GryWpT58%2BOn78uG3FAQAQS4LBfKaDAwAQx9q1Brt79%2B6tXq%2BqqlJCQkKHCgIAAAAAIBZZDtiZmZl68803W723bds2DR06tMNFAQAAAAAQayxPEb/55pu1cOFCJSUlafr06ZKkI0eOaPv27XrxxRe1YsUK24sEAKAz8Xj88nqLFAgUMCUcAACEWQ7YU6ZM0YEDB7Rq1SqtX79eknTnnXfK7XbrrrvuUl5enu1FAgDQWXg8fqWk3CvDCMnrLSJgAwCAMMsBW5LmzZuna6%2B9Vtu2bVNFRYVSU1M1fvx4paenW36v/fv3y%2B/3a/fu3dq7d68GDRqkkpKSFs%2BVlpaquLhY5eXl6t%2B/v/7zP/9Ts2fPbvGc3%2B/Xc889p2PHjmnIkCG6//77lZOT0%2ByZmpoaLV26VFu2bFF9fb1ycnK0ePHidtUPAIgvXm%2BRDCMk03SzWzgAAGjG0hrsYDCohQsX6k9/%2BpP69%2B%2Bv6667TvPmzdP111/f7nC6d%2B9elZaW6uKLL1ZGRkarz%2BzatUvz589XVlaWnnnmGc2YMUM/%2BMEPtGHDhmbP%2Bf1%2BFRcXa/bs2Vq7dq0uvvhi3Xbbbfrggw%2BaPbdw4UL99re/1eLFi1VcXKx//OMfmjNnjoLBYLt%2BBgBA/Gg6iqumZhmj1wAAoBlLI9gej0dvvfWWbrjhBtsKyMvL06RJkyRJhYWFeu%2B991o8s3r1amVlZWnJkiWSpLFjx%2BrIkSNavny5Zs6cKZfLpfr6ej311FO6%2BeablZ//2V94srOzNW3aNK1Zs0bFxcWSpN27d2vr1q1au3atcnNzJUlDhgzR5MmTtXHjRt144422/WwAgK6Ho7gAAMC5WN5F/LLLLtOHH35oXwGuzy%2Bhvr5e27dv19e//vVm16dNm6Zjx47pr3/9q6TPzuc%2BefKkpk6dGn7G7XZrypQpKi0tlWmakj6bau7z%2BTRhwoTwcwMGDNDo0aNVWlpq148FAOgS1sjn%2B4I8Hr/ThQAAgBhgeQ32vffeq/vvv1%2BXXnqpsrOzI1FTMwcOHNDp06c1aNCgZtcHDx4sSSovL9ewYcNUXl4uSS2ey8jIUG1trY4ePar%2B/furvLxcl1xyiQzDaPF%2Bb7/9dofrdbvbdbQ42qGp1/Q8uui7M%2Bh79CQk/Lc8nidVX3%2BvpCK53Qfl9RapoeE2p0uLC/xedwZ9jz56HmmGDMNo8Xd%2B4NwMuVyGunUzZJrt/31jOWA/9NBDqq2t1S233CKfz6d%2B/fo1L8sw9PLLL7e7oLNVVVVJknw%2BX7PrTV833a%2BurlZCQoI8Hk%2Bz53r27ClJOnHihPr376/q6mr16NGjxffx%2BXzh9%2BoIny%2Bpw%2B8Ba%2Bi5M%2Bi7M%2Bh7NBRLOqikpO9KSpKUJrf7v5SamuxwXfGF3%2BvOoO/RR88jwzRDSk5OkGQ6XQpiRoKkBCUldey/95YDdq9evdSrV68OfdP2ONenT2deb%2B2Zpqnh53vu865bUV19SqFQY4ffB%2Bfndrvk8yXR8yij786g79GTkHCPvN6FMoyQpIAaG/uoqupbkmqdLi0u8HvdGfQ9%2Buh55Ph8STIMKRCol1TndDmIGYZcrnrV1dXKbOVzmbZ%2B0G45YDedfR0tTSPQZ48uV1dXS/rXSLbP51NdXZ3q6uqUmJjY4rmm9/H5fDpy5EiL71NdXd1ilLw9QqFGNTTwh2Q00XNn0Hdn0PfIa2iYq8ZGU8nJD8vlMnTqVAE9dwC/151B36OPnkeKKdM0w4NtwPkYhqnGRlMNDR37fdPpF31cdNFF6t69uz766KNm1/ft2ydJ4aO9mv7dtBa7SXl5uZKTk3XBBReEn/v4449bNG3fvn3nPCYMABBfgsF8VVUdlFSh%2BvpbnS4HAADEiE4fsBMSEjR27Fht3ry52fWSkhL17dtXWVlZkqTRo0erR48eeu2118LPhEIhbd68Wbm5ueHp37m5uaqurta2bdvCzx05ckQ7d%2B4MH9sFAAAAAIBVlqeI2%2B3UqVPh47EOHTqkmpoavf7665I%2BO8c6LS1NCxYs0De/%2BU098MADmjZtmnbu3KkNGzbo4YcfDh/zlZCQoNtvv13FxcVKS0tTVlaWNmzYoIMHD6qoqCj8/UaOHKmJEydq0aJFKiwsVEpKipYvX6709HTNmDEj%2Bg0AAAAAAHQJhunwwoRPPvlEV199dav31q1bp5ycHEmfnV9dVFSk8vJy9e/fX3PmzNHs2bObPW%2Bapvx%2Bv5577jkdP35cQ4YM0X333aexY8c2e66mpkaPP/64tmzZotOnTysnJ0eLFy9Wenp6h3%2BeTz%2BtZR1NlHTr5lJqajI9jzL67gz6Hn303Bn03Rn0PfroeeSkpSXLMBoUCPxEphl0uhzECMPwyDAm6tSpAa2uwe7bt%2BVJVK2%2Bj9MBu6vhD8no4T9MzqDvzqDv0UfPnUHfnUHfo4%2BeRw4BG%2B1hV8Du9GuwAQAAAACIBQRsAAAAAABs0KZNzi677LLwLtxtsWfPnnYXBABAJHg8fiUnL5JhnFJd3UydPPms0yUBAIAupk0Be8GCBc0C9ksvvaTa2lrl5eWpT58%2BOnbsmH73u9/J6/Vq5syZESsWAID28nqL5HIFJEmJiRsJ2AAAwHZtCth33nln%2BNfPPvus%2BvTpo1deeUXJycnh6zU1NZozZ448Ho/9VQIA0EGBQMEZI9gcywgAAOxneQ32888/r1tvvbVZuJaklJQU3XrrrXr%2B%2BedtKw4AgI7yePxKSxsqSaqo%2BLuOH69i9BoAAESE5YB99OhRud3uVu%2B53W4dP368w0UBANBRTcE6Oflhud0H5fUWOV0SAADo4iwH7IyMDP3kJz/R6dOnm12vr6/Xj3/8Yw0aNMi24gAAaC%2Bvt0hu90FJUig0UIFAgcMVAQCArq5Na7DP9N3vflcLFizQpEmTNHnyZPXt21fHjh3Tb37zGx0/flyrV6%2BORJ0AAFgSCBTI6y1SIFCgYDDf6XIAAEAcsBywJ06cqP/%2B7/9WcXGxnn/%2BeTU2NsowDI0YMUKPPvqovvSlL0WiTgAAPpfH428WqJv%2BAQAAiBbLAVuSxo0bp3HjxunUqVOqrq6Wz%2BdTUlKS3bUBANBmTVPCvd4igjUAAHCE5TXYZ2o6G7t79%2B62FAMAQHsFAgWstQYAAI5qV8Devn27rr/%2Beo0ePVpXXXWVPvjgA0nSQw89pDfeeMPWAgEAaItgMF%2BVlWWMXgMAAMdYDtj/8z//o/z8fNXV1Wnu3LlqbGwM30tNTdVLL71ka4EAgPNrOpLK4/E7Xcp5xVKtAAAAVlgO2CtWrNCECRO0adMmffe7321277LLLtP7779vW3EAgLY5c/1xZ2dXrQR1AADQ2VgO2Hv27NENN9wg6V9rsJukpaWpoqLCnsoAAG0WS%2BuP7ao1lj5UAAAA8cHyLuJut1unT59u9V5FRYWSk5M7XBQAwJpYOpLKrlrPPOcaAACgM7A8gj18%2BHC9/PLLrd7bsmWLRo0a1eGiAAA4HzY1AwAAnY3lEexvf/vbys/P14IFC3TttdfKMAzt3r1bL774orZs2aKf/vSnkagTAAAAAIBOzXLA/tKXvqTHHntMS5Ys0VtvvSVJevjhh%2BXz%2BfToo49qzJgxthcJAAAAAEBnZzlgS9L06dN1zTXXaNeuXTp%2B/LhSU1M1evRoeb1eu%2BsDAMQxj8cfXmfNVHAAANDZtStgS5LH49G4cePsrAUAgGbO3CmcgA0AADo7y5ucvfjii1q5cmWr91auXKlNmzZ1uCgAAKTYOn4MAADAcsBev369fD5fq/dSU1O1bt26DhcFAIDETuEAACC2WA7Y%2B/fv15AhQ1q9l5GRof3793e4KAAAAAAAYo3lgC1JJ0%2BebPV6TU2NQqFQhwoCAAAAACAWWQ7YmZmZevXVV1u9V1JScs7RbQAAAAAAujLLu4jPnj1b9913n773ve/ppptuUv/%2B/fX3v/9dL7zwgt544w09/vjjkagTAAAAACxIlGE4XQNiR6It72I5YE%2BbNk0fffSR1q5dq5dffjl83eVy6fbbb9e///u/21IYAAAAALSHYbiUkDDc6TLikmkmqqGhu9NltItp%2BmSaZofeo13nYN99992aOXOm/vjHP6qyslJpaWm68sorlZ6e3qFiAADxw%2BPxy%2BstUiBQwC7hAABbmaap%2BvoPJdU5XUqcSZRhjFEw2F8dzKmO6Gi4ltoZsCXpwgsv1H/8x390uAAAQHzyeovkdh%2BU11tEwAYA2MyUVC3TDDpdSFwxDI%2BkRpmmPWE1FrU7YFdUVOjQoUOqq2v5qdAVV1zRoaIAAF3P2SPWgUBB%2BGsAAICuwHLA/sc//qH7779f77zzjqR/fTJhGIZM05RhGNqzZ4%2B9VQIAYl5y8sNyuT5VcvLDCgbzw/8AAAB0FZYD9iOPPKI9e/bo3nvvVWZmphISEiJRFwAAAAAAMcVywN6xY4fuv/9%2BzZw5MxL1AAC6qNraB5kSDgAAujTLAdswDP3bv/1bJGoBAHRhTAkHAABdncvqC7761a/qd7/7XSRqARCjPB6/0tKGyuPxO10KAAAA4BjLI9hf%2B9rXtHjxYpmmqauuukq9evVq8czQoUNtKQ6Id7FyTjDHLQEAAADtCNi33HKLJOlnP/uZnnvuuWb32EUcsFesBFeOWwIAAADaEbAfffTRSNQBoBWxElxZWwsAAAC0I2DPmDEjEnUAaAXBFQAAAIgdljc5O9NHH32kd999V4FAwK56AAAAAACISe0K2Js2bdKECRP09a9/Xd/85jf18ccfS5Luvvtu/fKXv7S1QAAAAAAAYoHlgL1582YVFhYqKysrvJt4k6FDh2rz5s22FggA6Jx69JirPn1S1aPHXKdLAQAA6BQsB%2By1a9fqG9/4htasWaPrr7%2B%2B2b1BgwZp3759thUHAOi8EhM3yjBCSkzc6HQpAAAAnYLlgF1eXq6vf/3rrd7r1auXTpw40eGiAACdX13dDJmmW3V1bH4JAAAgtWMX8aSkJJ08ebLVe0ePHlXPnj07XBQAoPM7efJZnTz5rNNlAAAAdBqWR7Avv/xyPffcc83WXjd56aWXlJ2dbUthAAAAAADEEssBe8GCBfq///s/zZo1S%2BvXr5dhGHrjjTc0b948/elPf9K8efMiUScAAAAAAJ2a5YA9fPhwPfPMMwoEAnrsscdkmqaefvppffzxx1q7dq2GDBkSiToBAAAAAOjULK/BlqSxY8dq8%2BbNOnDggI4fP67U1FRdcskldtcGAAAAAEDMaFfAbnLRRRfpoosusqsWAAAAAABiluWAvWnTpvM%2Bc%2B2117arGAAAAAAAYpXlgF1YWNjqdcMwwr8mYAMAAAAA4o3lgP3WW2%2B1uPbpp5/qrbfe0muvvabi4mJbCgMAAAAAIJZYDtjp6emtXhs2bJgaGhq0bt06PfbYY7YUBwAAAABArLB8TNfnGTdunH7729/a%2BZYAAAAAAMQEWwP2oUOH5HLZ%2BpYAAAAAAMQEy1PE//d//7fFtfr6en3wwQd6%2BumnNW7cOFsKAwAAAAAgllgO2N/61rea7RguSaZpSpK%2B9KUvafHixfZUBgAAAABADLEcsNetW9fiWmJiotLT09WnTx9bigIAAAAAINZYDtjZ2dmRqAMAAAAAgJjGjmQAAAAAANjA8gh2Xl5eizXY52IYht58803LRQEAAAAAEGvaNUX8nXfe0bFjx3T55Zerb9%2B%2BOnbsmHbt2qV%2B/fopJycnEnUCANrJ4/HL6y1SIFCgYDDf6XIAAAC6LMsBe%2BzYsdq1a5feeOMNDRgwIHz90KFDmjt3rrKzszVjxgxbiwQAtJ/XWyS3%2B6C83iICNgAAQARZXoP9zDPP6M4772wWriUpPT1dCxYs0Nq1a20rDgDQfh6PX2lpQ3X6dI5CoYEKBAqcLgkAAKBLszyCfeDAAfXo0aPVez179tShQ4c6XBQAoP2apoQbRo1crk8lSZWVZQ5XBQAA0PVZHsFOT0/Xr371q1bv/fKXv2wxsg0AiK6mKeGSGLkGAACIIssj2N/%2B9rf1X//1X5o1a5amTp2qPn366Pjx4yopKVFZWZl%2B8IMfRKJOAEAbBQIFbGoGAADgAMsB%2Bxvf%2BIYk6Yc//KEee%2Byx8PW%2BffvqkUce0cyZM%2B2rDgDQwpm7gkufjVifPp2j7t3fCYdqgjUAAED0WQ7Y0mche8aMGfroo4904sQJ9erVS4MGDWrz%2BdgAgPY7c1dwSXK7D8rlOizDCLFTOAAAgIPaFbAlyTAMZWRk2FkLAKANzpwCLrUcwQYAAIAz2hWwy8vLtXr1au3YsUMnTpzQL37xCw0dOlSrVq3SmDFjNHbsWLvrBAD809lTwBmxBgAA6Bws7yK%2BZ88ezZo1Szt27FB2drZCoVD4Xm1trX7%2B85/bWmCTb33rW8rMzGz1n1dffVWSVFhY2Or93//%2B9y3ez%2B/3Ky8vT8OHD9fMmTP1zjvvRKRuAAAAAEB8sDyCvWzZMmVmZurHP/6xunfvrtdeey18b8SIEXrjjTdsLbDJ//t//081NTXNrv30pz/VG2%2B8oXHjxoWvDRw4UMuWLWv23NlT2f1%2Bv4qLi3XPPfcoKytLGzZs0G233aYNGzYoM0RLyakAACAASURBVDMzIvUDAAAAALo2ywF7586deuKJJ5SUlNRs9FpS%2BMiuSBg8eHCLawsXLtSVV16ptLS08DWPx6NRo0ad833q6%2Bv11FNP6eabb1Z%2B/mfTKrOzszVt2jStWbNGxcXF9hcPAAAAAOjyLE8Rl6Tu3bu3er2qqkoJCQkdKqitdu7cqU8%2B%2BUTTpk2z/LqTJ09q6tSp4Wtut1tTpkxRaWmpTNO0u1QAAAAAQBywPIKdmZmpN998U7m5uS3ubdu2TUOHDrWlsPMpKSlRUlKSrr766mbXDxw4oDFjxigYDGrIkCGaP3%2B%2BJk2aFL5fXl4uSRo0aFCz12VkZKi2tlZHjx5V//79212X292uzyzQDk29pufRRd%2BdQd%2Bjj547g747g75HHz2PNEOGYXCMcNQZcrkMdetmyDTjs/eWA/bNN9%2BshQsXKikpSdOnT5ckHTlyRNu3b9eLL76oFStW2F7k2RoaGvT666/r6quvltfrDV//whe%2BoOHDh2vw4ME6efKkXnjhBS1YsEDLly/XV7/6VUlSdXW1EhIS5PF4mr1nz549JUknTpzoUMD2%2BZLa/Vq0Dz13Bn13Bn2PPnruDPruDPoeffQ8MkwzpOTkBEnMTo2uBEkJSkpKdroQx1gO2FOmTNGBAwe0atUqrV%2B/XpJ05513yu1266677lJeXp7tRZ7tD3/4gyoqKppN85akW265pdnXeXl5uuGGG7RixYpwwJbU6idZTVPDO/opV3X1KYVCjR16D7SN2%2B2Sz5dEz6OMvjuDvkcfPXcGfXcGfY8%2Beh45Pl%2BSDEMKBOol1TldTpwx5HLVq66uVl1t5W1qats%2BNGjXOdjz5s3Ttddeq23btqmiokKpqakaP3680tPT2/N2lpWUlKhXr14aP3785z7ncrn0la98RU888YSCwaA8Ho98Pp/q6upUV1enxMTE8LPV1dWS/jWS3V6hUKMaGvhDMprouTPouzPoe/TRc2fQd2fQ9%2Bij55FiyjRN9leKMsMw1dhoqqEhfnvfroAtSf3799d1111nZy1tEgwG9dZbb2natGnn3GztTGf/D9t0ZFd5ebmysrLC18vLy5WcnKwLLrjA3oIBAAAAAHGhQ7sqnDhxQsuWLdN3vvMdPfjgg9q7d69ddZ3Tb3/7W9XW1rZp9/DGxkZt2bJFl156aXjN9ejRo9WjR49m53eHQiFt3rxZubm5bIQA4P%2B3d%2BfRUZV5/sc/lUqKIoEAgQAHBlpZqppAZFG2nyASVBBDCyLdjK0ghMjWIuACKqA4uKAYGlBBIDouyNgRUFaZHhFweoSekdAHUVQiLREVgyELCZWlcn9/0KmmSAJZbnJTlffrHI7UrSe3vvXNpeInz73PtZzTmayoqO5yOpOtLgUAAABVUKkZ7KVLl2rXrl3au3evb1t%2Bfr7Gjh2rH374wTdLvGPHDqWkpJRZodtM27ZtU7t27XTttdf6bT916pTmz5%2Bv%2BPh4dezYUdnZ2dq4caM%2B//xzrVq1yjfO4XBo%2BvTpWr58uaKiohQTE6OUlBSlp6crKSmp1uoGgMoKD0%2BS3Z6u8PAkeTwJVpcDAACASqpUwE5NTdXIkSP9tr399ts6deqU7r33Xv3hD3/Q8ePHdf/992vdunV69tlna6XY7OxsffLJJ5o4cWKZmeaIiAg1adJEL7/8sjIzMxUWFqYePXpo3bp1Gjx4sN/YyZMnyzAMvfXWWzpz5oxcLpfWrl0rt9tdK3UDQFXk589VeHiS8vPnWl0KAAAAqqBSATs9PV0TJkzw2/bxxx8rKipKDz/8sOx2u3r16qVJkybp7bffrpVCpQsLkH3%2B%2BeflPte8eXOtXr26Uvux2WyaMmWKpkyZYmZ5AGAKjyeBmWsAAIAAVKlrsHNyctS6dWvf4%2BLiYh05ckT9%2BvWT3W73be/WrZsyMjLMrxIAAAAAgHquUgG7VatW%2Bvnnn32Pv/jiCxUXF6tHjx7%2BOwsJkcPhMLdCAAAAAAACQKUCdvfu3ZWSkuJbzGzr1q2y2WwaOHCg37hvv/1W0dHR5lcJAAAAAEA9V6lrsBMTE/Wv//qvGjFihFq0aKHDhw/ruuuuU/fu3f3Gffzxx4qNja2VQgEAAAAAqM8qNYPds2dPvfLKK2rdurXy8vI0btw4vfTSS35jMjIy9NNPP2nYsGG1UigAAAAAAPVZpWawJenGG2/UjTfeWOHz0dHR2rp1qxk1AQAAAAAQcCo1gw0AAAAAAC6PgA0AJnM6kxUV1V1OZ7Lf3wEAABDcKn2KOACgcsLDk2S3pys8PEmSfH/3eBIsrgwAAAC1iRlsADBZfv5ceb0dlJ8/1%2B/vAAAACG7MYAOAyTyeBL/ZamauAQAAGgZmsAEAAAAAMAEBGwAAAAAAExCwAaAcrP4NAACAqiJgA0A5Ll0JHAAAALgSAjYAlKOi1b%2BZ2QYAAEBFCNgAUA6PJ0GZmUfLrADOzDYAAAAqQsAGgCrgvtYAAACoCPfBBoAquPQe1wAAAEApZrABoAq4BhsAAAAVIWADQBVwDTYAAAAqQsAGgCrgGmwAAABUhGuwAaAKuAYbAAAAFWEGGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELAB4BLcigsAAADVQcAGgEtwKy4AAABUBwEbAC7BrbgAAABQHQRsAAGtNk7n9ngSlJl5lNtxAQAAoEoI2AACWk1P5%2BZ6awAAAJiFgA0goNX0dG6utwYAAIBZCNgAAlpNT%2BfmemsAAACYJdTqAgDASh5PAtdaAwAAwBQEbAAAAABBqJFsNqtraGgaSbL9o%2B%2B113zDMGpt3zVFwAbQYDidyQoPT1J%2B/lxmrQEACGI2W4gcjliry2iQDMOQ0/mjpNoLwYYRqfPnI2pt/zVBwAbQYFy8oBkBGwCA4GUYhgoLv5ZUYHUpDZBXUnEt7r%2BRbLaBstma1MuZbAI2gAYjP3%2BubwYbAAAEM0NSjgzDY3UhMFl9P%2B2fVcQBBK1L73Fd0xXHAQAAgMshYAMIaJeG6Itxj2sAAADUJQI2gIBWUYh2OpNls51TSUkLTgkHAABAnSBgAwho%2Bflz5fV2KBOiw8OTFBJyVobRhFPCAQAAUCcI2AACWkXXVVcUvAEAAIDawiriAIKSx5PAzDUAAADqFDPYAALe5RY6AwAAAOoKARtAwGO1cAAAANQHBGwAAY/rrQEAAFAfcA02gIDH9dYAAACoD5jBBgAAAADABARsAPUSC5cBAAAg0BCwAdRLLFwGAACAQEPABlAvsXAZAAAAAg2LnAGol1i4DAAAAIGGGWwA9QrXXgMAACBQEbAB1Ctcew0AAIBARcAGUK9w7TUAAAACFddgA6hXuPYaAAAAgYoZbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGUOuczmRFRXWX05lsdSkAAABArSFgA6h1ERFPyW5PV0TEU1aXAgAAANQaAjYAAAAAACYgYAOodXl5i%2BT1dlBe3iKrSwEAAABqTajVBQAIfh5PgjyeBKvLAAAAAGoVM9gAaoQFzAAAAIALCNhAA2RmKA4PT5Ldnq7w8CQTKgMAAAACFwEbaIDKC8XVDd35%2BXPl9XZQfv5cs8sEAAAAAkpABOzNmzfL7XaX%2BbNs2TK/cfv27dPo0aMVGxurm2%2B%2BWRs2bCh3f8nJyYqLi1NsbKzGjh2rgwcP1sXbAOqN8kJxdWeiPZ4EZWYe5RprAAAANHgBtcjZ%2BvXr1bRpU9/jNm3a%2BP6empqqGTNm6Pbbb9f8%2BfN16NAhLVmyRA6HQ%2BPGjfONS05O1vLlyzVnzhzFxMQoJSVFiYmJSklJkdvtrtP3A1ilvEXH8vPnKjw8iZloAAAAoJoCKmB3795dUVFR5T738ssvKyYmRs8884wkacCAAfrxxx%2B1YsUKjR07ViEhISosLNTq1as1YcIEJSRcCBf9%2BvXTqFGjtGbNGi1fvrzO3gtQ37DSNwAAAFAzAXGK%2BJUUFhbqwIEDuu222/y2jxo1ShkZGfriiy8kSYcOHVJubq7i4%2BN9Y%2Bx2u0aOHKl9%2B/bJMIw6rRsAAAAAEDwCKmDHx8erW7duGjZsmF599VV5vV5J0smTJ1VUVKROnTr5je/SpYskKS0tze%2B/l47r3Lmz8vLydPr06dp%2BCwAAAACAIBUQp4hHR0fr/vvvV8%2BePWWz2bRnzx798Y9/1OnTp7Vo0SJlZ2dLkiIjI/2%2BrvRx6fM5OTlyOBxyOp1%2B45o1ayZJysrKUtu2bWtUq90eUL%2BzCGilvabndYu%2BW4O%2B1z16bg36bg36XvfoeW2zyWa78AfBxqaQEJtCQ20yjPr3/Q2IgD148GANHjzY93jQoEFq1KiR3njjDU2bNs23vaJ/QBdvL29M6anhZvwDjIxsXON9oGrouTXouzXoe92j59ag79ag73WPntcOw/AqIsIhiUtAg49DkkONG0dYXUi5AiJgl%2BfWW2/Va6%2B9pi%2B//FLt27eX9M%2BZ6lI5OTmS/jmTHRkZqYKCAhUUFKhRo0ZlxpXOZNdETs55eb0lNd4PrsxuD1FkZGN6XsfouzXoe92j59ag79ag73WPnteeyMjGstmk/PxCSQVWlwPT2RQSUqiCgjzV5RJaLVpULtAHbMC%2BWMeOHRUWFqZvv/1WN9xwg2/78ePHJV24xvri/6alpSkmJsY3Li0tTREREX63/aour7dExcV8SNYlel67nM5k3%2B27Ll5lnL5bg77XPXpuDfpuDfpe9%2Bh5bTFkGAaLGAchm81QSYmh4uL6%2Bf0N2Is%2Bdu7cKbvdrpiYGDkcDg0YMEC7du3yG7N9%2B3ZFR0f7wnSfPn3UtGlT7dy50zfG6/Vq165dGjJkCNdoAOUID0%2BS3Z6u8PAkq0sBAAAA6rWAmMFOSEjQgAED5HK5JEkfffSR/vSnP2nChAmKjo6WJM2cOVN33323FixYoFGjRunQoUNKSUnRU089pZCQC79HcDgcmj59upYvX66oqCjFxMQoJSVF6enpSkoiPADlyc%2Bf65vBBgAAAFCxgAjYV199td577z399NNPKikp0VVXXaXHHntM99xzj29M79699corrygpKUnvv/%2B%2B2rZtqwULFmjcuHF%2B%2B5o8ebIMw9Bbb72lM2fOyOVyae3atXK73XX9toCA4PEk%2BJ0aDgAAAKB8NqM%2BnrgewM6ezeM6mjoSGhqiFi0i6Hkdo%2B/WoO91j55bg75bg77XPXpee6KiImSzFSs//99lGB6ry4HJbDanbLYbdf58uzq9Bjs6ummlxgXsNdgAAAAAANQnBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAG6hGnM1lRUd3ldCbX2r6bNp1ca68BAAAANGQEbKAeCQ9Pkt2ervDwpFrbd6NGW2rtNQAAAICGjIAN1CP5%2BXPl9XZQfv7cWtt3QcGYWnsNAAAAoCELtboAAP/k8STI40kIuH0DAAAAYAYbAAAAAABTELABAAAAADABARsIYrW5KjkAAAAAfwRsIIjV5qrkAAAAAPwRsIEgVpurkgMAAADwR8AGgkBFp4J7PAnKzDzK6uEAAABAHSBgA0GAU8EBAAAA6xGwgSBQVNRfhmFXUVF/q0sBAAAAGiwCNhCALj0lPCzsoGw2r8LCDlpcGQAAANBwEbCBAHTpKeEsZgYAAABYj4ANBKBLAzWLmQEAAADWC7W6AABV5/EkEKYBAACAeoYZbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGTHLprbMAAAAANCwEbMAkl946CwAAAEDDQsAGTFJU1F%2BGYVdRUX%2BrSwEAAABgAQI2YJKwsIOy2bwKCztY431xujkAAAAQeAjYgEny8%2BfK6%2B2g/Py51d5HabCOiHiK080BAACAABNqdQFAsPB4EuTxJNRoH6XXcZeUtKhxWAcAAABQt5jBBqqpNk7jLp0Fz8tbpMzMozUO7AAAAADqDgEbqKbaWDXc40kgWAMAAAABioANVJMZ11wDAAAACB4EbKCazJhtZrVwAAAAIHgQsAGLOJ3JatLkIVYLBwAAAIIEARuwSHh4kmw2rwzDzmnmAAAAQBAgYAN1rPS08KKi/vJ6O%2BjcuWUsagYAAAAEAe6DDdSx0tXHJSkz86jF1QAAAAAwCzPYQB1j9XEAAAAgODGDDdQxjyeBU8IBAACAIMQMNgAAAAAAJmAGGwAAAEAQaiSbzeoaYL5GVhdwWQRsAAAAAEHFZguRwxFrdRm1xjAaqbg4zOoyLGMYkTIMw%2BoyykXABqrI6UxWeHiS8vPnci01AABAPWQYhgoLv5ZUYHUptaCRbLbr5PG0VT3NmLWuvoZriYANVFnpbbbCw5MI2AAAAPWSISlHhuGxuhDT2WxOSSUyjPodNBsqFjkDqojbbAEAAAAoDzPYQBVxmy0AAAAA5WEGGwAAAAAAExCwgRpwOpMVFdVdTmey1aUAAAAAsBgBG6iBixc8AwAAANCwEbCBKrp41poFzwAAAACUYpEzoIounrXOzDzKgmcAAAAAJDGDDVRa6cx1UVF/Zq0BAAAAlMEMNlBJpTPXkpSZedTiagAAAADUN8xgA5XE9dYAAAAALocZbKCSPJ4ErrcGAAAAUCFmsAEAAAAAMAEBG7jExbfhAgAAAIDKImADl7j4NlwAAAAAUFkEbOASLGYGAAAAoDpY5Ay4BIuZAQAAAKgOZrABAAAAADABARsNGguaAQAAADALARsByelMVmRkN0lrarQfFjQDAAAAYBYCNgJSaTCWnqvRfljQDAAAAIBZCNgISKXBWJpfo/14PAnKzDzKomYAAAAAaoxVxBGQPJ4EFRcnqkWLCEl5VpcDAAAAAMxgAwAAAABgBgI2AAAAAAAmIGADAAAAAGACAjYAAAAAACYgYAMAAAAAYAICNgAAAAAAJiBgAwAAAABggoAI2Lt27dKMGTM0ZMgQ9erVS6NGjdI777yjkpIS35j58%2BfL7XaX%2BbN///4y%2B0tOTlZcXJxiY2M1duxYHTx4sC7fDgAAAAAgCIVaXUBlvP7662rXrp0eeeQRtWzZUgcPHtTTTz%2Bt9PR0zZs3zzeuQ4cOWrZsmd/Xdu7c2e9xcnKyli9frjlz5igmJkYpKSlKTExUSkqK3G53nbwfAAAAAEDwCYiAvWbNGkVFRfkeDxgwQPn5%2BdqwYYPmzJkjh8MhSXI6nerVq1eF%2ByksLNTq1as1YcIEJSQkSJL69eunUaNGac2aNVq%2BfHntvhEAAAAAQNAKiFPELw7Xpbp166aCggJlZWVVej%2BHDh1Sbm6u4uPjfdvsdrtGjhypffv2yTAMU%2BoFAAAAADQ8ATGDXZ7PPvtMzZs3V8uWLX3bTp48qeuuu04ej0cul0szZszQTTfd5Hs%2BLS1NktSpUye/fXXu3Fl5eXk6ffq02rZtW6O67PaA%2BJ2FaRyO9XI6X5TH86AKC6fU6WuX9rqh9dxq9N0a9L3u0XNr0Hdr0Pe6R89rm00224U/wcemkBCbQkNtMoxgfH%2BBLSAD9pEjR7R582bNnDlTdrtd0oUZ7djYWHXp0kW5ubnauHGjZs6cqRUrVmjEiBGSpJycHDkcDjmdTr/9NWvWTJKUlZVV44AdGdm4Rl8feJZLSldExHJFRDxgSQUNr%2Bf1A323Bn2ve/TcGvTdGvS97tHz2mEYXkVEOCQF4xmqDkkONW4cYXUhKEfABeyMjAzNmjVLsbGxSkxM9G2fOHGi37i4uDiNHz9eK1eu9AVsSeX%2BFqv01HAzfsOVk3NeXm/JlQcGCYdjzj9msOeosDCvTl/bbg9RZGTjBtdzq9F3a9D3ukfPrUHfrUHf6x49rz2RkY1ls0n5%2BYWSCqwupxbYFBJSqIKCPHGFa91p0aJyv9AIqICdm5urxMREOZ1OrV69WmFhYRWODQkJ0S233KIXXnhBHo9HTqdTkZGRKigoUEFBgRo1auQbm5OTI%2BmfM9k14fWWqLi44XxIFhdPVn7%2B5H88suZ9N7Se1xf03Rr0ve7Rc2vQd2vQ97pHz2uLIcMwgnKNJZvNUEmJoeLi4Hx/gS5gLvooKCjQ9OnTdebMGa1fv14tWrS44tdcesCV3rKr9FrsUmlpaYqIiFCbNm3MKxgAAAAA0KAERMAuLi7WAw88oGPHjmn9%2BvVq3779Fb%2BmpKREu3fvVteuXX3XXPfp00dNmzbVzp07feO8Xq927dqlIUOGBOkiCAAAAACAuhAQp4g/9dRT%2Bvjjj/Xwww/L4/Ho8OHDvue6dOmi7OxszZ8/X/Hx8erYsaOys7O1ceNGff7551q1apVvrMPh0PTp07V8%2BXJFRUUpJiZGKSkpSk9PV1JSkhVvDQAAAAAQJAIiYP/3f/%2B3JOmFF14o89ybb74pt9utJk2a6OWXX1ZmZqbCwsLUo0cPrVu3ToMHD/YbP3nyZBmGobfeektnzpyRy%2BXS2rVr5Xa76%2BS9AAAAAACCU0AE7D179lxxzOrVqyu1L5vNpilTpmjKlLq9ZzMAAAAAILgFxDXYAAAAAADUdwRsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDAhmmczmRFRXWX05lsdSkAAAAAUOcI2DBNeHiS7PZ0hYcnWV0KAAAAANQ5AjZMk58/V15vB%2BXnz7W6FAAAAACoc6FWF4Dg4fEkyONJsLoMAAAAALAEM9ioFq63BgAAAAB/BGxUmdOZrCZNHuJ6awAAAAC4CAEbVRYeniSbzSvDsHO9NQAAAAD8AwEbVVa6mNm5c8u45hoAAAAA/oFFzlBlLGYGAAAAAGUxgw0AAAAAgAkI2AAAAAAAmICADQAAAACACQjYAAAAAACYgIANAAAAAIAJCNgAAAAAAJiAgA0AAAAAgAkI2AAAAAAAmICADQAAAACACQjYAAAAAACYgIANAAAAAIAJCNgAAAAAAJiAgA0AAAAAgAkI2AAAAAAAmICADQAAAACACQjYDYDTmayoqO5yOpOtLgUAAAAAghYBuwEID0%2BS3Z6u8PAkq0sBAAAAgKBFwG4A8vPnyuvtoPz8uVaXAgAAAABBK9TqAlD7PJ4EeTwJVpcBAAAAAEGNGWwAAAAAAExAwAYAAAAAwAQEbAAAAAAATMA12EHA6UxWeHiS8vPncq01AAAAIElqJJvN6hpqQyOrC8BlELCDwMW34SJgAwAAACGy2QZaXUStMYxIGYZhdRkoBwE7COTnz/XNYAMAAAANnWGE6Pz5dlaXUWsI1/UXATsIcBsuAAAAwB8hFFZgkTMAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATNBgA/aJEyeUkJCgXr16aeDAgVqyZIk8Ho/VZQEAAAAAAlSo1QVYIScnRxMnTlS7du20cuVKZWZm6tlnn1VWVpaWLVtmdXkAAAAAgADUIAP2f/zHfygnJ0fvv/%2B%2BoqKiJEl2u10PPfSQpk%2Bfrs6dO1tcIQAAAAAg0DTIU8T379%2BvgQMH%2BsK1JA0fPlwOh0P79u2zsDIAAAAAQKBqkDPYaWlpGjt2rN82h8Ohjh07Ki0trUb7btassQyjRrtAJdlsF/5Lz%2BsWfbcGfa979Nwa9N0a9L3u0fPaExJiU0mJodDQBjmXCIs1yICdk5OjyMjIMtsjIyOVnZ1do32HhPAPua7Rc2vQd2vQ97pHz61B361B3%2BsePa8ddrtNLVpEWF0GGiD%2BRV/EMAzZSn%2BdCAAAAABAFTTIgB0ZGamcnJwy23Nzc8ud2QYAAAAA4EoaZMDu3LlzmWutCwsLdfLkSVYQBwAAAABUS4MM2DfccIMOHDigs2fP%2Brb9%2Bc9/VmFhoYYMGWJhZQAAAACAQGUzjIa3bmFOTo7i4%2BPVvn17zZgxQ7/88ouee%2B45DRo0SMuWLbO6PAAAAABAAGqQAVuSTpw4oSVLluizzz6T0%2BlUfHy8HnroITmdTqtLAwAAAAAEoAYbsAEAAAAAMFODvAYbAAAAAACzEbABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQG7hk6cOKGEhAT16tVLAwcO1JIlS%2BTxeKwuKyDt2rVLM2bM0JAhQ9SrVy%2BNGjVK77zzjkpKSnxj5s%2BfL7fbXebP/v37y%2BwvOTlZcXFxio2N1dixY3Xw4MG6fDsBY/PmzeX2dNmyZX7j9u3bp9GjRys2NlY333yzNmzYUO7%2B6PuV3XPPPeX23O12a8eOHZI41mvqu%2B%2B%2B06JFi3T77bcrJiZG8fHx5Y4z87g%2Bd%2B6cFi1apP79%2B6t3796aNm2aTp06Zer7qu%2Bu1Hev16t169bp7rvv1oABA9S3b1/9/ve/16efflpmX3FxceX%2BGygoKPAbR98rd7yb/ZnS0PtemZ5X9Dnvdrv1888/%2B8ZxrAPBJdTqAgJZTk6OJk6cqHbt2mnlypXKzMzUs88%2Bq6ysrDLhBFf2%2Buuvq127dnrkkUfUsmVLHTx4UE8//bTS09M1b94837gOHTqU6W/nzp39HicnJ2v58uWaM2eOYmJilJKSosTERKWkpMjtdtfJ%2Bwk069evV9OmTX2P27Rp4/t7amqqZsyYodtvv13z58/XoUOHtGTJEjkcDo0bN843jr5XgPAlwQAAFmBJREFUzhNPPKFz5875bXvjjTf0n//5nxo4cKBvG8d69X3zzTfat2%2BfevbsqZKSEhmGUWaM2cf1gw8%2BqKNHj2rhwoVq0qSJVq5cqUmTJmnr1q1yOp118r6tdqW%2Bezwevfrqqxo9erQSEhIUGhqqLVu2aNKkSVq9erWGDh3qN3748OGaPHmy3zaHw%2BH3mL5X7niXzP1Maeh9r0zP33333TLb5s2bp8aNG6t169Z%2B2znWgSBioNpeffVVo2fPnsYvv/zi27Z161bD5XIZx48ft7CywHRxH0s988wzRmxsrFFQUGAYhmHMmzfPuO222y67n4KCAuPaa681li5d6ttWXFxs3Hrrrcbs2bPNLToIbNq0yXC5XOX2v1RCQoJx5513%2Bm1bsGCBcf311xter9cwDPpeU3FxcUZiYqLvMcd6zZQel4ZRcS/NPK4PHz5suFwuY%2B/evb5tp06dMmJiYox33nnHtPdV312p78XFxUZWVpbftpKSEmPMmDHG3Xff7bd96NChxuLFiy/7evT9gsoc72Z%2BptD3yvX8Uunp6YbL5TLWrVvnt51jHQgunCJeA/v379fAgQMVFRXl2zZ8%2BHA5HA7t27fPwsoC08V9LNWtWzcVFBQoKyur0vs5dOiQcnNz/U7XstvtGjlypPbt21fhb/ZRvsLCQh04cEC33Xab3/ZRo0YpIyNDX3zxhST6XhOHDh3S999/r1GjRlX56%2Bh5%2BUJCLv/jzezjet%2B%2BfYqMjNQNN9zgG9euXTv16dOnQf08uFLf7Xa7mjVr5rfNZrPp17/%2Btd8ps5VF3y%2B4Ut8ri%2BO98qrT8%2B3bt8tms1V4ycrl0HMgcBCwayAtLa3MqVUOh0MdO3ZUWlqaRVUFl88%2B%2B0zNmzdXy5YtfdtOnjyp6667Tj169NAdd9yh//qv//L7mtLed%2BrUyW97586dlZeXp9OnT9d%2B4QEoPj5e3bp107Bhw/Tqq6/K6/VKutDvoqKiMv3s0qWLpH/2m75X3/bt29W4cWMNGzbMbzvHeu0x%2B7hOS0vT1VdfLZvNVmZ//Dy4vJKSEqWmppb5eSpJ27ZtU48ePdS7d28lJibqq6%2B%2B8nuevleNWZ8p9L16duzYob59%2B6pt27ZlnuNYB4IH12DXQE5OjiIjI8tsj4yMVHZ2tgUVBZcjR45o8%2BbNmjlzpux2u6QLM9qxsbHq0qWLcnNztXHjRs2cOVMrVqzQiBEjJF34vjgcjjLXI5XOmmRlZZX7w62hio6O1v3336%2BePXvKZrNpz549%2BuMf/6jTp09r0aJFvmP50mO99HHp8/S9eoqLi/Xhhx9q2LBhCg8P923nWK9dZh/XOTk5fmsYXLw/fh5c3ltvvaUTJ07oqaee8tseFxena665Ru3atVN6errWrFmju%2B66S%2B%2B//746dOggSfS9Csz8TKHvVXfs2DF9/fXXZY5ziWMdCDYE7FpgGEaZ3zCiajIyMjRr1izFxsYqMTHRt33ixIl%2B4%2BLi4jR%2B/HitXLnS9z8Iksrtf%2BmpbXxv/A0ePFiDBw/2PR40aJAaNWqkN954Q9OmTfNtr6hvF2%2Bn71X3l7/8Rb/88kuZUwY51uuGmcd1ZfYFf3/961/1wgsvaPLkyerbt6/fcwsWLPD9/brrrtP111%2BvW2%2B9VcnJyXryySd9z9H3yjH7M4W%2BV822bdsUFham4cOHl3mOYx0ILpwiXgORkZHKyckpsz03N7fcmW1UTm5urhITE%2BV0OrV69WqFhYVVODYkJES33HKL0tLSfLdHi4yMVEFBQZnbW5R%2Bry69/g9l3XrrrfJ6vfryyy99/br0N%2BSl/Sw91ul79Wzfvl3NmzfXoEGDLjuOY91cZh/XFf08qOhMJ1yY0ZsxY4ZuuukmPfzww1cc37p1a1177bU6evSobxt9r76afKbQ96oxDEM7d%2B7U4MGD1bx58yuO51gHAhsBuwY6d%2B5c5rqXwsJCnTx5stxryXBlBQUFmj59us6cOaP169erRYsWV/yaSxdyKu39pd%2BbtLQ0RURE%2BN1%2BClfWsWNHhYWF6dtvv/Xbfvz4cUn/7Dd9rzqPx6OPPvpII0aMuOwvkkpxrJvH7OO6c%2BfOOnHiRJnv0fHjx/l5UI6TJ09qypQpiomJ0fPPP1/pGbjy/g3Q9%2Bqr7mcKfa%2Bazz77TD/88EOVFrLkWAcCFwG7Bm644QYdOHBAZ8%2Be9W3785//rMLCQg0ZMsTCygJTcXGxHnjgAR07dkzr169X%2B/btr/g1JSUl2r17t7p27eq7ZqxPnz5q2rSpdu7c6Rvn9Xq1a9cuDRkyhFOpKmHnzp2y2%2B2KiYmRw%2BHQgAEDtGvXLr8x27dvV3R0tGJiYiTR9%2BrYs2eP8vLyKvU/XRzr5jL7uB4yZIhycnL0ySef%2BMb9%2BOOPOnToED8PLpGRkaHJkyerVatWeuWVV8rc67cip0%2Bf1qFDhxQbG%2BvbRt%2BrryafKfS9arZt26bw8PAy93mvCMc6ENjsT158cQeqpGvXrtq0aZM%2B%2BeQTtWnTRqmpqXrmmWd08803a/z48VaXF3CefPJJbd%2B%2BXQ888IBat26tn376yfenSZMmysjI0MyZM1VUVKTc3FwdPXpUS5YsUWpqqhYvXuz7Da7dbpfdbteaNWvkdDpVUFCgFStWKDU1Vc8//7xatWpl8TutXxISEvTzzz/r3Llz%2Bu677/Taa69pw4YNuueee3zX5XXo0EFr1qzRjz/%2BqIiICG3btk2vv/66Hn30UfXo0UMSfa%2BOpKQkFRQU6NFHH/ULw6dOneJYr6Hz58/ro48%2B0vHjx/WXv/xFZ86cUdu2bXX8%2BHFFRUWpcePGph7Xbdu21eeff653331Xbdq00Y8//qhFixbJ6XTqqaeeUmhow1jy5Ep9t9lsmjBhgn766SctWLBAHo/H77O%2BdFG%2B7du3a%2B3atfJ4PDp79qw%2B/fRTPf744yosLNSzzz7rO1WZvl9wpb5nZmaa%2BplC3yv3GSNdmDx4/PHHNXToUI0cObLMfjjWgeBjMxryjVJNcOLECS1ZskSfffaZnE6n4uPj9dBDD5VZgRNXFhcXp1OnTpX73Jtvvim3261HH31UR48eVWZmpsLCwtSjRw/dd999fot0SRdOrUpOTtaGDRt05swZuVwuPfzwwxowYEBdvJWAsmTJEn3yySf66aefVFJSoquuukrjxo3TPffc4xf69u3bp6SkJKWlpalt27aaNGmSfv/73/vti75XXnZ2tq6//npNnDixzPWnWVlZHOs19P3335e57VmpN998U/3795dk7nF97tw5LV26VLt371ZRUZH69%2B%2BvhQsXVupsnGBxpb63b9%2B%2Bwucl%2BW5NdPjwYb344ov65ptvlJubq6ZNm2rAgAGaNWtWmVtI0fcr9702fn429L5X9jNm7969mjp1qtauXVvuTDPHOhB8CNgAAAAAAJiAa7ABAAAAADABARsAAAAAABMQsAEAAAAAMAEBGwAAAAAAExCwAQAAAAAwAQEbAAAAAAATELABAAAAADABARsAAAAAABMQsAEgSLz55ptyu92Kj4%2BvcIzb7daqVat8jw8ePCi3262DBw/WRYnVtnnzZrndbn3//fdWl3JFle1pfXtPhw4d0qpVq5STk1Pmubi4OE2dOtWCqgAACCwEbAAIEps2bZIkffPNN/rb3/5Wqa/p3r273n33XXXv3r02S0MASE1N1UsvvVRuwAYAAJVDwAaAIHDkyBEdO3ZMN954oyTpvffeq9TXNWnSRL169VKTJk1qsTprnT9/3uoSAABAA0HABoAgUBqoH3zwQfXu3Vs7duyoVLCs6HTmP/3pTxo%2BfLh69OihkSNHatu2bZo/f77i4uJ8Y77//nu53W4lJyfr9ddfV1xcnHr37q3f/e53Onz4cJnXOnLkiKZNm6Z%2B/fopNjZWo0eP1s6dO8uMO3z4sMaPH6/Y2FgNGjRIL774ooqLiyvVh/nz56t379766quvNHnyZPXu3Vv33nuv7/n/%2BZ//0cSJE9WnTx/17NlT48eP16effuq3j%2B%2B%2B%2B06PPvqobrnlFvXs2VODBw/WtGnT9NVXX5V5vbS0NCUkJKhnz57q37%2B/Fi1apLy8vErVWpHK1Lhq1Sq53W598803mjt3rq699lr9v//3//Too48qNzfXb2xOTo4ee%2Bwx9evXT71799Z9992n9PR0v8sFVq1apeeff16SNGzYMLnd7nKPi/3792vMmDG65pprNGLEiDK/yDl//ryWLl2quLg4xcbGql%2B/frrjjju0ffv2GvUEAIBAEWp1AQCAmvF4PNqxY4diY2Plcrk0duxYLViwQB9%2B%2BKHGjBlT5f29%2B%2B67WrRokYYPH%2B4LbC%2B99JKKiorKHb9hwwZ16tRJjz32mCRpxYoVuu%2B%2B%2B/TRRx%2BpadOmkqQDBw5oypQp6tmzp5588kk1bdpUO3fu1Jw5c%2BTxeHTHHXdIko4fP657771X7du313PPPSen06l33nmnSgGtqKhI06dP1/jx45WYmCiv1ytJ%2BuCDDzRv3jwNGzZMS5cuVWhoqN59910lJCQoOTlZAwcOlCT9/PPPat68uR588EFFRUUpOztbW7Zs0W9/%2B1tt2bJFnTp1kiSdOXNG99xzj0JDQ/XEE0%2BoZcuW2rZtm/7t3/6tyj0vVdkaS91///0aOXKk7rzzTn399dd68cUXJUnPPvusJKmkpETTpk3T559/rj/84Q/q3r27UlNTNWXKFL/9jBs3TtnZ2Xrrrbf00ksvKTo6WpLUpUsX35hjx45p6dKlSkxMVKtWrZSSkqLHH39cv/rVr9S3b1/f627dulWzZ89Wt27ddP78eX399dfKysqqdk8AAAgoBgAgoG3ZssVwuVzGxo0bDcMwjHPnzhm9evUy7rrrrjJjXS6XsXLlSt/jAwcOGC6Xyzhw4IBhGIbh9XqN66%2B/3hg3bpzf1506dcro3r27MXToUN%2B29PR0w%2BVyGfHx8UZxcbFv%2B9/%2B9jfD5XIZ27dv920bMWKEMXr0aKOoqMhvv1OnTjWuv/56w%2Bv1GoZhGLNnzzauueYaIyMjwzemuLjYGDFihOFyuYz09PTL9mLevHmGy%2BUy3nvvPb/t%2Bfn5Rr9%2B/YypU6f6bfd6vcZvfvMb484776xwn8XFxUZhYaFxyy23GM8884xv%2BwsvvGC43W7jyy%2B/9Bs/adIkv55WZNOmTX7vqSo1rly50nC5XMa6dev8xj755JNGbGysUVJSYhiGYezdu9dwuVzGO%2B%2B84zfu1VdfLXMsrF%2B/vsIeDx061IiNjTVOnTrl2%2BbxeIx%2B/foZCxcu9G2Lj483ZsyYcdn3DQBAMOMUcQAIcJs2bZLT6dRtt90mSYqIiNCIESP0f//3f/r73/9epX2dOHFCGRkZuvXWW/22t2vXTr179y73a2688UbZ7Xbf41//%2BteSpFOnTkm6cMr1t99%2Bq1GjRkmSiouLfX9uuOEGZWRk6MSJE5IunLI%2BcOBAtWrVyrc/u92ukSNHVul9DB8%2B3O9xamqqsrKyNGbMGL/XLykp0eDBg3XkyBHl5%2Bf76luzZo1GjhypHj16KCYmRj169NDf//53paWl%2BfZ58OBBde3a1fd%2BS11uFffLqUqNpS4%2BZV%2B6sEp8QUGBfvnlF0nSX//6V0kq8/0sPVaqolu3bmrXrp3vcaNGjXTVVVfphx9%2B8G2LjY3V/v37tWzZMh08eFAej6fKrwMAQCDjFHEACGDfffed/vd//1e33HKLDMPwrQA9YsQIbd68WZs2bdKDDz5Y6f2dPXtWktSyZcsyz7Vq1coXmi/WvHlzv8cOh0OSVFBQIOnCqdSStHTpUi1duvSyr5uVleUXri9%2B7cpq3LhxmUXbSmuYNWtWhV%2BXnZ2t8PBwPffcc9qwYYMSExPVt29fNWvWTDabTQsWLPC9p9Ja/%2BVf/qVGtVa3xlIV9b402GZlZSk0NLTMuOrUeOk%2BSl/v4p4sWLBAbdu21c6dO7Vu3To1atRIgwYN0iOPPKKrrrqqyq8JAECgIWADQADbtGmTDMPQ7t27tXv37jLPb9myRbNnz/abYb6cFi1aSJJvBvRipQGwqkr3OXXqVN18883ljrn66qslXQhx5b1OVV7bZrNVWMPChQvVs2fPcr%2Bu9JcKW7du1ejRozV37ly/58%2BePavIyEjfYzNqrW6NldW8eXMVFxcrKyvLLyBnZGRUq8YrCQ8P16xZszRr1iydOXNG%2B/fv14svvqhp06bpww8/rJXXBACgPiFgA0CA8nq92rJlizp27KglS5aUeX7v3r167bXXtH//fg0dOrRS%2B7z66qsVHR2tXbt2adKkSb7tP/zwg1JTU9W6desq19mpUyddddVVOnbsWJnQeqn%2B/ftrz549OnPmjG%2BW1ev1lrvaeFX06dNHkZGROn78uO6%2B%2B%2B7LjrXZbAoLC/PbtnfvXp0%2BfVq/%2BtWv/Gpdv369jh075neaeHVXzK5KjZXVr18/rV%2B/Xjt37tRdd93l215ePy8986CmWrVqpTvuuEPHjh3TG2%2B8ofPnz6tx48am7BsAgPqKgA0AAWr//v36%2Beef9dBDD6l///5lnu/atavefvttvffee5UO2CEhIbr//vu1aNEizZo1S2PHjlVOTo5vZenyZocrY/HixUpMTFRCQoLGjBmjNm3aKDs7W2lpaTp69KhWrlwpSZo%2Bfbr27NmjiRMnaubMmXI6ndqwYUON72UdERGhBQsWaP78%2BcrOztbw4cPVsmVLZWZm6tixY8rMzNTixYslXbimvHS1cLfbraNHjyo5OVlt27b12%2BfEiRO1adMm3XfffZo9e7ZvFfFvv/221musrMGDB6tPnz5aunSpzp07px49eig1NVUffPCBJP/ZfpfLJUl64403NGbMGIWGhurqq6%2Bu0j3Sx40bpxtvvFFut1vNmjVTWlqaPvjgA/Xu3ZtwDQBoEAjYABCg3nvvPYWFhWns2LHlPh8VFaWbb75Zu3fv9psRvpLf/e53stlsWr9%2BvWbOnKn27dv7brv1448/VqvWAQMGKCUlRWvWrNEzzzyjnJwcNW/eXJ07d/ZbgMvlcun111/X0qVLNW/ePDVr1ky/%2Bc1vNHz4cC1cuLBar13q9ttvV7t27bR%2B/Xo98cQTysvLU1RUlLp16%2BZ3O7PHH39coaGhWrt2rfLz8xUTE6NVq1ZpxYoVfvuLjo7W22%2B/raefflpPPvmkGjdurJtuukkLFy7UjBkzarXGygoJCdGaNWv03HPPad26dSoqKlKfPn30wgsv6Le//a3fKe/9%2B/fX1KlTtWXLFqWkpKikpERvvvlmub%2B8qciAAQO0Z88e34x1mzZtNHr0aE2bNq3KtQMAEIhshmEYVhcBAKjfcnJyNHz4cN100001us8z6odt27bpoYce0saNG9WnTx%2BrywEAIGgwgw0A8JORkaE1a9aof//%2Bat68uX744Qf9%2B7//u/Ly8jRhwgSry0MVbd%2B%2BXadPn5bL5VJISIgOHz6s5ORk9e3bl3ANAIDJCNgAAD8Oh0OnTp3S4sWLlZ2dLafTqZ49e2rx4sXq2rWr1eWhiiIiIrRjxw6tXr1a58%2BfV3R0tO644w7Nnj3b6tIAAAg6nCIOAAAAAIAJQqwuAAAAAACAYEDABgAAAADABARsAAAAAABMQMAGAAAAAMAEBGwAAAAAAExAwAYAAAAAwAQEbAAAAAAATEDABgAAAADABP8f9PGI4Aw4FisAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -247,7 +282,7 @@
 <br>
 
 <h3 id="Aligned_read_lengths_vs_Sequenced_read_length_plot_using_a_kernel_density_estimation">Aligned read lengths vs Sequenced read length plot using a kernel density estimation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPUCAYAAABW6JEKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3gU5doG8Ht2dtMJhNA7BAKC9K5U6dUGCAqiKCg2ULAAn0cROXRRRGygAgcRDoQOghQRFKK0QGiBhJKEEEJIb9vm%2B2N358wku8km2U2B%2B3ddubLl3dmZ2Zl35nmrIEmSBCIiIiIiIiIqFk1prwARERERERHR/YABNhEREREREZELMMAmIiIiIiIicgEG2EREREREREQuwACbiIiIiIiIyAUYYBMRERERERG5AANsIiIiIiIiIhdggE1ERERERETkAgywiYiIiIiIiFyAAbZC06ZN5b%2BYmBi7aUJCQuQ048aNK%2BE1vP899thj8v4NDQ0t7dW5b7l6P/O8cD%2BeG0RUUpinlwx37GdeK9zrfj43QkND5W177LHHSnt1yjVtaa%2BAK4SGhuL555%2BXn/v4%2BODPP/%2BEj49PKa4VERE9KE6ePIk9e/bg7NmziImJQWpqKgRBgI%2BPD2rWrIn69eujRYsWaNOmDdq2bQudTlfaq0xERERucF8E2Fu3blU9z8zMxL59%2B/DEE0%2BU0hoREdn35ZdfYvny5QCAJ598EvPnzy/lNaLiiIqKwsyZM3H69Gm77%2Bv1eiQnJ%2BPixYv49ddfAQC%2Bvr5YsWIFunTpUpKrSkRECk2bNpUfHzhwAHXq1CnFtXmw3W/3RuU%2BwM7KypJvWpS2bNnCAJuIiNzm7NmzePHFF5Genq56vWbNmqhVqxZ0Oh3S0tJw8%2BZNpKWlye9nZGQgOTm5pFeXiIiISkC5D7D37t2LzMxMAEC7du1w%2BfJlZGRkIDQ0FLdu3UKtWrVc%2Bn1PPfUUnnrqKZcuk4iIypeMjAy8/vrrcnAtiiLGjx%2BPsWPHonbt2qq0kiQhKioKBw8exJ49e3D%2B/PnSWGUiIiIqAeU%2BwN6yZYv8eOTIkQgNDcXWrVshSRK2bduGyZMnl%2BLaERHR/WjdunW4c%2BeO/HzhwoUYOnSo3bSCICAoKAhBQUGYOHEiTp48CX9//5JaVSIiIipB5XoU8bi4OPz9998AAC8vL/Tv3x/Dhw%2BX38/dN5uIiMgVDhw4ID9u166dw%2BDanvbt26NJkybuWC0iIiIqZeW6Bnvr1q0wm80ALNMS%2BPn5oWvXrqhWrRru3LmD69ev4/Tp02jbtq3LvjMkJAQzZswAAHTq1Alr164t8DNHjhzB5s2bERYWhrt378Lf3x9169bFwIED8dRTT8Hf3181Enrt2rVx8OBBu8t67LHHEBsbCwBYs2YNOnfujJycHOzYsQPbtm3D9evXkZSUhEqVKqFly5Z48skn0b9//0JtoyRJOHToEPbv349Tp04hMTER2dnZCAwMRLNmzdCnTx88/vjj8PDwcHqZCQkJWL9%2BPQ4cOICYmBhIkoQaNWqgc%2BfOeOaZZ9CsWbNCraOzHA2acPToUWzfvh1nz55FQkIC0tPT8x1UISsrCzt37sShQ4dw%2BfJlJCYmQhAEVKlSBe3atcPgwYPRs2dPp9bJYDDg%2BPHjOHbsGMLDw3Ht2jWkpKQAACpVqoRGjRqhS5cuGDVqFCpXrlyo7S2t/VwUrjrOHP3Gp06dwoYNG3DmzBncvn0bHh4eqFevHh577DGMHz8efn5%2BTq9rbGws1q9fj8OHD%2BPWrVsO96u989Nm3LhxcoGgzZYtW1StcJScGXDFVee%2BXq/H7t27sX//fly8eBH37t1DTk4OPD09ERgYiHr16qFly5bo0aMH2rVrB0EQnFpubm%2B99Rb27t0LABg2bBgWL17s9GcHDBiA69evAwDeffddvPzyy3nSxMbGIiQkBKGhoYiKikJqaioAy6Bi1atXR1BQENq1a4d%2B/fqhRo0aRdoGG9u6AECbNm2Ktaz8uDLvsbl48SJ%2B%2BeUXHDt2DPHx8fD29katWrXQt29fjBw5ElWrVkVMTAz69Okjf%2Bby5ct2l5XfMW%2BPs8vNLTQ0FHv37sU///yDO3fuICMjAwEBAQgKCkKvXr0wcuRI%2BPr65rsMR9fvy5cv45dffsHx48dx%2B/ZtCIKA2rVro3v37njxxRdRtWpVp9bRJi4uDjt27MCff/6JGzdu4N69ewCAypUrIygoCJ07d8aAAQNQv379ApcVHx%2BPbdu24ciRI7hx4waSkpLg7e2N6tWr45FHHsFTTz2lGqjJGQcPHkRISAjOnTuHe/fuISAgAA0aNMCwYcMwbNgweHl5FWp5zrI3oNTdu3exdetW7N%2B/H7GxsUhMTITJZMo3/zt//jx27dol/16pqamoWLEi6tWrhx49euCZZ55x%2BtoZExODP/74AydOnMCVK1cQFxeHrKws%2BPr6okqVKmjbti0GDhyI7t27F3p7S2s/F4WrjjN7v3FaWhpCQkKwe/duREdHIy0tDYGBgWjbti1GjRqFrl27Or2ekiRhz5492L59Oy5cuICkpCS7%2BzW/e/XcMw/ZKPMlJWcH3HJ1PpIfR9t38uRJbNy4EWfOnEF8fDw8PT1Rv3599O/fH6NHjy7UfY%2BzUlJSEBISgt9//x3Xrl3DvXv34Ovri2rVqqFz584YPnw4WrVq5fDz7rg3KgvKfYBtY6u51mg0GDJkCH788UcAlh/JlQF2YWRlZeH999%2BXbyht7t69i7t37%2BL06dNYs2YNli1bVuTvuHbtGt566y1ERESoXk9ISMDBgwdx8OBB9O/fH0uWLHEqIL506RL%2B7//%2BD%2BfOncvzXlxcHOLi4nDo0CF89913WLJkSb4njc3%2B/fsxa9asPIP6REZGIjIyEhs2bMDUqVMxadKkApdVXOnp6Zg1a5bdgfEc2bt3L%2BbOnYv4%2BPg87928eRM3b97E1q1b0bVrV3z22Wf5XthDQ0Px1ltvORzgKD4%2BHvHx8Th27Bi%2B/fZbzJgxA6NGjXJqPcvSfi6IO44zG71ej4ULF%2BYp/MrOzkZ4eDjCw8Oxfv16rFq1yqkbhs2bN%2BPTTz%2BVx3qwUe7Xt99%2BGxMnTnR6HV3BVef%2BpUuXMGXKFFXAaJOZmYnMzExER0fjzz//xDfffIOlS5di8ODBRVrn4cOHy/nhgQMHkJmZ6dR0iufOnZPXTxAEu7XFP/30E5YsWQK9Xp/nveTkZCQnJ%2BPy5cvYvXs3Fi9ejLCwsCJtg01GRob8OPex4SquzHtsli1bhm%2B%2B%2BQYmk0l%2BLTs7G0lJSTh//jxWr16NxYsXo2HDhi7dlqK6desWPvzwQxw9ejTPe3fu3MGdO3dw7NgxrFy5EnPnzi1UYYMkSfj222%2BxbNky1f4AgIiICERERGDDhg1Yvny5U0GAwWDA0qVLsXbtWrvHoS1vO3r0KD777DMsW7bMYSGY2WzGihUr8P333yM7O1v1nl6vR0pKCiIiIrBmzRo899xzmDFjBkRRzHf90tPT8e677%2BYpwLddd0JDQ7F27Vq5wNLdDh06hA8%2B%2BMDpAf9SUlIwe/Zs7N69G5Ikqd6z3VedOnUKK1euxMyZM/H000/nu7w33ngD%2B/fvz7Ms23elpKQgMjISmzZtQocOHfDFF1%2BgSpUqBa5nWdvP%2BXHHcaYUFhaGqVOn4tatW6rXbefC7t27MW7cOMyaNavAgtt79%2B5hypQpeYKx0t6vrs5HisJoNGLBggVYs2aN6vWsrCwkJycjLCwM69atw2effebSmGjr1q2YN29ennPYds2NiIjA2rVrMXToUHzyyScFFoLeT8ptgH3q1Cn5hisgIEBVujh8%2BHA5wN6zZw9mzZoFT0/PEl0/o9GI119/HX/%2B%2Baf8miAIaNKkCQICApCQkICoqCjExsZiwoQJmDlzZqG/IyEhAdOmTUNCQgIAoEGDBqhevTrS0tJw%2BfJl%2BUTft28fFixYgA8//DDf5f3999%2BYPHmyakRcf39/NGrUCB4eHrh16xZiYmIAWG7uxo8fj5UrV6J9%2B/YOl3no0CFMmTIFRqNRfq1KlSpo0KABsrOzERERAb1ejyVLlrj9xJMkCdOmTcPvv/8OwFJb3LBhQwiCgJs3b9r9zI8//ogFCxaoLsA1a9ZE7dq15YGLkpKSAADHjh3DmDFjsH79eoc3urdv31ZlRBUrVkTdunXh5%2BcHg8GAmzdvyr9nZmYmPvzwQxgMBjz33HP5bltZ2s8FccdxpvTRRx8hJCQEwP9%2BY1EUceXKFbmlQEJCAl5%2B%2BWXs2bMn3xLdkJAQzJo1S/X7V61aVd6vV69eRVZWFhYvXgxvb%2B9816tly5bw8PCQAyMAqFatGoKDg%2B2mz692w1XnfkJCAsaPH686Jv39/dGwYUP4%2BvoiKysLCQkJiI2NlfeBvZtRZ/Xo0QMVK1ZESkoKMjMzceDAAQwbNqzAz%2B3cuVN%2B3LFjxzy1zxs3bsS8efNUr9WpUwe1atWCKIrySN62Gm1by6fiqFSpkrz/T548CZPJVKgbz4K4Ou8BgMWLF%2BP7779XvVavXj3UqFEDSUlJuHr1KpKTkzF58mQsXbrUZdtSVFeuXMGECRNUfd19fHzQuHFj%2BPj4ID4%2BHteuXQNgOZZfe%2B01LFmyBAMHDnRq%2BcuXL5dvxv38/BAUFARPT09ERUXh7t27ACzB0muvvYadO3fmGbxOKSMjA6%2B99hqOHz%2Buer169eryiPIJCQm4ceMGzGYzJEnKM/q8jcFgwLRp01SF84IgoFGjRqhSpQqysrIQERGB7OxsmM1mrF27Frdv38aXX37pMEjR6/WYPHmyKjgRRRFNmjSBv78/YmJicOvWLVy%2BfBkTJkywW8PnSqdOncKMGTNgNBrlMQoCAwORlJSEyMjIPOnj4%2BMxYcIEXL16VX7Nw8MDTZo0QYUKFXDv3j1cvXoVZrMZ6enpmDlzJtLS0vDCCy84XIfLly/L55coiqhbty4CAwOh0%2BmQnJyMyMhIGAwGAMCJEycwZswYbNmyJd9rRlnbz/lxx3GmdOXKFbzzzjvIzMyERqNB48aNERAQgKSkJFy5ckXe92vXrkWtWrUwYcIEh8tKT0/Hiy%2B%2BiEuXLsmvabVaBAcHw8/PD3FxcYiOjnZqv1asWBHdunUDAFXBXceOHe3GCo6u0TauzEeKasmSJXJw7evri8aNG0MURURGRsr3Pbdu3cLLL7%2BMNWvWoEWLFsX%2Bzp9%2B%2BinPdbdmzZqoW7cu0tPTERERId%2BT7ty5E9HR0fjhhx/ynD%2BuvDcqU6Ry6sMPP5SCg4Ol4OBgafbs2XneHzJkiPz%2Brl27nFqmLX1wcLAUHR1tN83mzZvlNGPHjnW4rG%2B%2B%2BUa1vFdeeUWKiYlRpYmMjJTGjh0rBQcHS507d5bT9u7d2%2BFye/fuLafr1KmTFBwcLL366qvS9evXVeni4uKkcePGyWmbNWsmXbt2zeFy4%2BLi5OUFBwdLgwcPlg4fPiyZTCZVuvDwcOnpp5%2BW0/Xs2VNKSUmxu8zExETVMjt16iTt3r1btcyUlBRp3rx5UnBwsNSyZUupTZs2cvrjx487XF9nLVu2TF5e27ZtpeDgYOnRRx%2BVdu/eLRmNRjmdyWSSbt68qfrsoUOH8vyGly5dUqUxmUzSvn37pK5du6rSObJ161Zp2LBh0urVq/N8n83Fixell19%2BWV5ey5YtHaaVpLKxn509L9xxnCl/Y9uye/ToIf3222%2Bq5RoMBunbb7%2BVmjZtKqdfunSpw3W9efOm1KpVKzlt9%2B7dpUOHDklms1lOk5GRIS1fvlx66KGHnN6vyvV9//33HX5/bu449z/55BM5Xbdu3aRDhw7l%2BS0kyXL87Ny5U3rxxRedzk8dUebdkyZNKjC9yWSSunXrJn9m48aNqvf1er3qmJo8ebLD8yUyMlL69ttvpf79%2BxdrGyRJkiZPnqzKHz799FPJYDAUe7mS5J6856%2B//lItc9iwYdK5c%2BdUaW7evCm9%2BOKLea5JwcHBDperPC6dyUuio6OdWm5aWprUp08f1fm3a9euPPv42rVr0oQJE%2BR07dq1c%2Br63alTJ6lp06ZShw4dpM2bN0t6vV5OZzabpZCQEKlFixZy%2BunTp%2Be7Xe%2B8845quyZOnChduHAhT7rU1FRpy5Yt0siRI6XNmzfbXdb8%2BfNV5%2B/8%2BfOlhIQEVZqsrCzp22%2B/lZo3by6n/eGHHxyu39KlS1Xr99Zbb0m3b99WpQkNDZX69u2b5/fPL08vDOX3267H06ZNk%2BLi4lTp4uPjpaysLPm5wWCQnnnmGfmzHTp0kH7%2B%2BWdVGtvnpk%2BfLqdr3ry5dObMGYfrM3ToUGnmzJnSH3/8IWVnZ%2Bd5PyMjQ1q3bp3Uvn17eZkffvhhvttYFvazs%2BekO44z5bbb8uWZM2dK8fHxqnRXr16Vhg4dKqdt06aNlJaW5nC5yuuGbZmJiYmqNGFhYdLw4cMLtV%2BVy3SUb%2BTmznzEWfbWoUWLFtJ3332nOi9ycnKkn3/%2BWWrdurWcfsCAAVJOTo7d5R4/flxOl18scvLkSalZs2Zy2v79%2B0uhoaGqNImJidKMGTNU%2Bzi/e56i3huVVeVykLOcnBzs2bNHfq4c2MxGWStS0oOdpaSkYMWKFfLz3r17Y8WKFXlKrRo1aoRVq1ahffv2ck1EYSQnJ2Po0KFYsWJFnr5cNWrUwNdff41q1aoBsNTYbNu2zeGyPv74Y7kWq3Xr1vjvf/%2BLHj16QKNRHyItWrTA2rVr0bx5cwCWZj65m6TYfPnll/IyPT09sWrVKgwaNEi1TH9/f3zwwQeYPHkycnJy3NbUErDUMPj5%2BWHt2rUYNGiQqrZJo9Ggbt268vOsrCxVq4KxY8fim2%2B%2BydOkWKPRoF%2B/fli3bp1cKnfo0KE8TZhs%2BvXrh%2B3bt%2BP5559XfZ9Ss2bN8O2338pNB3NycvDzzz873K6ytp/z447jTCk5ORmBgYFYv349%2Bvbtq1quVqvFpEmTMHbsWPm1/PKGpUuXyk3mKlSogDVr1qBXr16qknsfHx%2B8/vrrmDVrVonuV1ed%2B4cPH5YfL1y4EL169crzWwCW42fIkCH44YcfMGDAgGKtuzJvPnr0qNw/1ZHQ0FC5BtPDwyPP94eFhcnHVJ06dfDFF184PLcaNWqESZMmYffu3cXZBACWWSuU1qxZgz59%2BmDRokU4duyYw9rJgrgr75k7d678uEGDBli7di0efvhhVZq6devi22%2B/RefOnYt0TXKlpUuXIjo6GoCllj0kJASDBw%2BGVqtueNegQQN89913ctPw9PR0fPXVVwUuPzk5GZ6enli9ejWeeuop6HQ6%2BT1BEPDkk09i2rRp8mv79u1TdQtQ2r9/v6qVxbhx4/Ddd9/hoYceypO2QoUKeOKJJ7Bx40a759LZs2flFniCIGDJkiV4//338zRN9vLywqRJk7Bw4UL5teXLl9s97m7fvo2VK1fKzwcOHIjPP/8c1atXV6Wz9eWsWrWq23//jIwMjB49GosXL87TIqVatWqqWqo1a9bg9OnTACwtRzZs2IAxY8bkqcmqVq0aFi1ahGeeeQaApSVhfuM8bNiwAXPnzkX37t3t1lz6%2BPjg2WefxY8//igfH1u3bnWYZ5XF/eyIO46z3JKTkzFp0iTMnTtXvh7ZBAUF4bvvvpNbfmVmZjrsuhcZGYmNGzfKz8eMGYO5c%2Bfmaa3TqlUrrFmzBg0aNCix/erKfKQ46yBJEubMmYOJEyeqzgsPDw%2BMGTMGS5cule9drl27hnXr1hXrOz/55BO5JVjt2rXxn//8B506dVKlqVy5Mv7973%2BrWmBu2bJFPpfvd%2BUywD5w4IDc1K9%2B/fp2B5gZNmyYfDAdPXpUbspXEnbs2CHfmHt6emL27Nl2b1oBy8E/Z86cIg0a5O/vj9mzZzv8rK%2BvL0aMGCE/P3XqlN10V69elZtN63Q6LFmyJN9%2Bkd7e3pg9e7b8/JdffsnTbDQrKwvbt2%2BXn7/wwgt5buaU3njjDTRo0MDh%2B67yxhtvONW3cMuWLUhMTARguSm3DSbhSMOGDfHqq6/Kz9evX283nTP9TQHLzfN7770nP3c06F1Z3c/2uOM4s%2Be9995DrVq1HL4/fvx4%2BbGtH1huSUlJ2Ldvn/z89ddfz3e/Pffcc24d6Co3V537t2/flh%2B3a9fOqe8ubjPoDh06yL%2BP0WgscDyEHTt2yI979eqVZ3or5Ta0atVKdYPjiCuacvfu3RtPPPFEnnVZuXIlXnjhBXTs2BGDBg3CBx98gE2bNtntR22PO/Ie2wBONh9%2B%2BCEqVqxod3k6nQ6ffvqpU/vRXZKTk7F582b5%2Bbx58/Lt%2ByqKIj755BN5nXfu3Im0tLQCv2fSpElyIZ49zzzzjHyzmp2djYsXL9pNpwyqHn744QJ/Mxt73XV%2B%2BOEHOZ8bMWJEgeMdDBkyBD169ABgKVxQni82ISEhclNnPz8/fPTRRw7zjho1amD69OlOrX9xVKlSBR988EGB6YxGI3766Sf5%2BaxZs9CoUaN8PzNjxgxUqlQJgKVLkr0m54Dz1%2BOWLVvKv0NOTo6q659SWdzPjrjjOMutQYMGmDJlisP3a9asqRqDwNF1atOmTfK6Vq1aVXVvlFvFihUxa9asAtfNlVyVjxTHo48%2BiieffNLh%2B71798aQIUPk57/88kuRv%2BvkyZOqbZg5c2a%2BA7i9//77qgrG//znP0X%2B7vKkXAbYtv6VABz236tVqxY6dOgAADCZTE5lBq6irBXq1atXntLL3IKCgtCxY8dCf8/gwYMLHBFQ2W81KirKbpodO3bImddjjz3msPZHqVWrVnLNma0/uVJoaKhcwikIAp599tl8l6fVajF69OgCv7c4tFptvhmQkjJofe655/LUmtijbEkRGhpa%2BBXMpW7duggICAAA3LhxQy5UUiqL%2B9kRdxxnufn5%2BakuIvbUrVtXdTGwt8xjx47JN0o6nQ5PPfVUgetqqzUpCa4695W1Nsq%2Bbe6Ue5Cy/PJmvV6vKuiwl98rtyEiIsIl/aud9e9//xuTJ0%2B2G4yazWZERUVhy5YtmDVrFnr37o1JkyYhPDw832W6I%2B9RTinWoEEDuf%2BhI/Xq1SswjTvt27cPWVlZACytWWzX8vzUqFFDvo7q9XqHN%2BtKBZ2zPj4%2Bqlpoe%2BdRXFycqkbmlVdeKXIBTlZWFvbv3y8/d7Z/rvK8KOj3HzRoUIGD4Q0ZMkQOUN1l2LBhBY5bAVi2x1Y4FRgYWGD%2BDlgKZ/v166daRnG1bt1afmxvcE6gbO5ne9x1nOX29NNPF5h/OXOdUt5TDxs2rMCCke7du7uln7MjrshHiqugez8Aqprk69evq8YzKAzlcV67dm2Ho6/beHp6qvbRoUOHSvQ6XVrKXYB9584d/PXXX/Jze83D7b3naLh3d1BmvgVNWVLYdErOjASobHrlqET/xIkTRVoP5Tyu58%2BfV7139uxZ%2BXHjxo2dmhLHVjrqLkFBQU5dzHJyclQ3wc7uk%2BrVq8u1a4mJiQXWWNmmJ5k/fz6mTZuGV199FS%2B99JLqz9bkWJIk1UA/NmVxPzvijuMstxYtWjhV86bcT/YKLpTncLNmzRzW9ikV5RwuKled%2B8rWDtOnT1f9Ru6kvFE7ffq0PKhdbr///ru87hUqVECvXr3ypFEO1nL16lXMmDGjxFosiaKIqVOnYu/evZg4cWK%2BLSdMJhMOHz6MESNGOBzl1l15j/J4fvTRR51aZmnlE4Br8ooLFy7km7ZOnTpOjQitLCC3l1co11Wn09k9Rp115swZuWAvICCgwMGVbJTpcm%2B3Xq9XTYXmTMGJTqdz22jHNs4OWqncvx06dHC68KIwx4LZbMY///yD77//HjNnzsSbb76Jl19%2BWXUtVtb42bu2l9X9bI87jjN7XHGdSk9PlwcyBIAuXboUuExBEErseuyqfKQ4NBqNU/l627ZtUaFCBfm5o4KigijvO7t37%2B5UC1xlvpiRkeGwVcn9pNyNIr59%2B3Z5hFxl7ZY9AwcOxJw5c6DX6xEREYHz58%2B7ZOS8/NimO7EpqClTYdMpOXNSK/ti2GoEclOWYm3atMlhc%2BTclNMD5e7vohyVW3mhy0%2BDBg2g0%2BnkjN/VnKkxBSwle8p1mDt3rtMX9ZycHPlxUlKS3dYL8fHxmDdvHvbt25dnSof82Lv4lMX97Ig7jrPcnJ1nUllzkntqEgCqZuPOnpu1a9eGl5eX3eW5mqvO/RdeeEEe9fjmzZt47rnn0KBBA/Ts2RMdO3ZE27ZtnfquwgoODkbTpk3lUXx37dqFV155JU86Zb/WAQMG2J1urFatWhgwYIA8Eu7WrVuxc%2BdOdOzYEY888gjatWuHVq1aOTVNYVHVrl0b06dPx/Tp03Hjxg2cOnUK58%2Bfx7lz5xAeHq4a3V%2BSJHz55ZfQ6XR5ttldeU9R8gln07mDMq/4/fff80xF54hyO0sqr1De/AcHBxfrOFNut16vx0svveTU53L/9kpxcXGqY8rZ37Vx48ZOpSsqZ6/Hyn0SHh7u9D5RFkjndyxs3boVn3/%2Bud2uQo7Y639cVvezPe44zuxxxXUqPj5eVdvp7PW4pKYZdFU%2BUhx16tRxqjWIIAho3Lix3OLmxo0bRfo%2BZT7rbOFMUFAQtFqtfC28efNmqV5jSkK5C7DtzX3tiL%2B/P3r27InffvsNgKUW290Bdu4gKHd/QUeUpUrOckUfObPZrCpNc6ZU0p7c261cprNNoERRhJ%2Bfn9sGp3B2eqrc8/kdO3asSN9nLyC%2BevUqxo0bV%2BDATvbYm1e1LO5ne9x1nOVWlHPCXr9u5fc4ew4DlvO4JAJsV/WP7d27N6ZPn47PPvtMvom5fv06rl%2B/jtWrVwOwXEAHDhyIkSNH5hmopjiGDRsm1/js2LEjT7CZnp4u99m3pXdkzpw5SExMlGu7jEYjjh07Jp%2B7Xl5e6Ny5Mx5//HEMHDjQpdNp5Va/fn3Ur19f7o6Snp6OPXv24Ouvv0ZsbKyc7ssvv8SQIUNQp04d%2BTV35T1FySdKo%2BmqjXI/REVFFalJZUnlFbYpcAA4NQ95fpTbnZGRYXfu74Lk3m7l%2BgGQux0VxNl0RVWU63FsbKzqHHKWo2Nhzpw5ReoPau9aXFb3sz3uOM7sccV1Kvf3OHuvXBQVTPkAACAASURBVJjrdnG4Kh8pjsLk1cq0Ra1JV/4mzh6/Wq0WFSpUkO87XV2LXxaVqybi4eHhqoFavvjiC3Tu3DnfP2XGsXPnTrfX2hX1xHH1Cecs2/yGxZV7/ZX7uTAZkDtrmRwNNJebo9q%2Bwsq9X00mE6ZOnSoH1x4eHnJz0T179uDkyZMIDw/H5cuX5b%2BC%2BhGVxf1sj7uOs7KmrK%2BfPRMnTsSWLVsc9m2LiIjAsmXL0L9/f/zwww8u%2B17lQJRXrlzJ0wd87969co1J9erV84xQqlSxYkWsXbsWCxYsQJs2bfI0WcvOzsbhw4fxzjvvYOjQoUUu4CkKPz8/jBw5Etu3b1dtg8FgUA3kBbgv7ylKPlHSeYSSK0bjL6lzURlsFXefuWO7c9/zlJXf39mBXd11LOzatUsVXDdp0gQzZszAhg0bcPToUYSFheHSpUvytTj3fL%2B5ldX9bE95Or/K2z11aSjqvZ%2B9giJnFDXPc8V3lyflqgY7dz9qZ0rQlJKSknD48GH07dvXlaulkrvUzNlSmqJO6VJcPj4%2BqubCa9euzfdG1lnKAZgKMyWBq6cvKAplCalWq0VYWJhTAw0V5NChQ3IBkU6nw%2BrVqwscubmg/VFe9rO7jjN3UR4DhSlpLa3zuLiaNWuGxYsXQ6/XIywsDCdOnMDff/%2BNEydOyBfCrKwsLFiwABqNBi%2B88EKxv9M2KJVtWqkdO3agWbNm8vvK5uFDhw4tsIBMo9HgiSeewBNPPIHExET8/fffOHnyJI4dO6ZqEhkVFYXx48cjJCTE6WaqruDn54f58%2Bejb9%2B%2BcgB88uRJVRp35T1%2Bfn5yrZWz57678ghnbnz9/f3lmo758%2Bc7PThlaVD%2BZoW9J8lNef9gm8qpuHIPhpiRkeFULWBZuBYD6n3y5ptv4o033nDJcr/77jv5cd%2B%2BffH555/nG6gU5lpsS19W97M7jjN3yX1PnZaW5lSNbXHPxfKkqPd%2BRWk5C6ivJ4W551GmLep3lyflpgbbYDCobriKyt1zYnt5eamaTDjbtM0dowo6S7m%2BRe2TkZuyqZyzTbqSk5PLRIASGBgoPzYajUVqkmaPcmqPoUOHFhhcZ2VlFRjclaf97I7jzF1q1qwpP3b23IyNjS2R5uHu5OHhgY4dO2Ly5Mn48ccfcfz4cXz88ceqG5ply5a5bL5vZTefXbt2ycFXQkKCapTagroD5RYYGIhBgwbh//7v/7Br1y78%2BuuvGDVqlPx%2Bamoqvv7662KufeHVrl0bQUFB8vPcg7G5K%2B8pSj7haOC53JRBibKvuSO5m9Lao1zf69evO7UepUXZB7O4%2BZry93dVHqlcJuD87%2BpsOndzx7GQmJioajEzY8aMAmsB7Q0yqlSe9rM7jjN3qV69uqpw1dnrsXJshPvdrVu3nE6rPN6K2qVF%2BTlnj9979%2B6pgvvidqcpD8pNgP3777/LJSYeHh44efKkqiltfn/KZkC///672/uetmzZUn5sq50piCumkSgq5fy9Re3zl5tyTsCLFy86NZhXUUc0dLX69eurgkFX7RPlICrKY8SRsLCwAptVl6f97I7jzF2Uv8%2BlS5ecCgqcPdeVTSPLejM2X19fjBkzBsuWLZNfy8jIQFhYmEuWrxy4LC4uTu5DvWvXLvlYbtKkiapmuygaNmyIOXPmqGpCHc1l627Kvqe5a6fdlfco8wlnz39n0ym3x5nzRNnNyxFlXmEbhK%2BsUk7fFB8fj%2BjoaJctyxUF71WqVFEVAhQ0TZxNWbkeK4%2BF0NBQl%2BSZymtxQECAahwER5RTsdlTnvazO44zd/Hz81MNWObsvfL9eD12JDU11anCp%2BTkZNUAZUUdk0p5PVGOKJ6fM2fOyI8FQbA7b/j98FsolZsAW9k8vFu3bgXOAavUvn17OeMzGAzYtWuXy9dPqWfPnvLjQ4cOFThdU2RkZIlNj2OPcnj//fv3u2SKG%2BW8pcnJyU7dzO7evbvY3%2BsKgiDgkUcekZ9v2LDBJcstbP9/Z1pblKf97I7jzF26du0q12gYDAanpvlz9jhR9nMuLzXenTt3VjXpunv3rkuWaxuI0sY2J7aytVJ%2Bg5sVlrJ7UGJiosuW6yyz2ay6wck9aJy78h7llEh//vlngS1jzGYz9uzZ49Syla09nBntWzmHqiPKvOLMmTO4ePGiU%2BtSGh5%2B%2BGFVM9aNGzcWeVnBwcGqIE05NVRxKK8TzuT/MTExLitEKy7l%2BXDnzh2njp%2BCKFtaONMXPDo62ql7tPKyn911nLmL8hqxffv2AseqOHr0qNM1q8rRt5WjpJc3zhxvv/76q1xp4%2BHh4VRFjz3K4/yvv/5yatBe27UdsBSa2xuErjzeG%2BWnXATY9%2B7dwx9//CE/HzBgQKE%2Br9Fo0K9fP/m5u%2BfEHjZsmHzS5uTkYPbs2Q5rIvV6PT766KNSnXR9%2BPDhcq2JbX2LW3oUFBSkKh1btmxZvrWrkZGR2L59e7G%2B05XGjx8vP75w4YI8onJxKG%2BmT506lW/asLAwp/ZHedrP7jjO3CUgIAD9%2B/eXn69YsUIVGOX2yy%2B/FFjDYaOcuqQ4tV3FVZh9r9frVTelzswL7ixlAL13715cvXpVrtURBAFDhw7N9/OF2Q5lE7XibsPu3bsLPVDLrl27VDcj9uZqdUfeM3jwYLmlQE5ODlasWJFv%2Bk2bNjl9bCprIn777bd8f4%2BzZ886NT1ft27dVNMXffTRR2V2UBwPDw9V94PVq1c7VUtvjyAIeP755%2BXn69evd7qGKD%2BPP/64/DgsLKzA32Dp0qVlJm8OCgpC9%2B7d5efz5893qqVEfpTB5b179wqs/Zs7d65T%2B6O87Gd3HWfuMmLECLkgJCEhAUuWLHGYNi0tDXPnznV62cpjIb9rfFm3evXqfFvnZmZm4ptvvpGf9%2B3bt8j9oIcMGSLHOAaDQdXCzZ5z587h119/lZ%2BPGDHCbrqycm/kKuUiwN6xY4dc%2B6fT6dCnT59CL2PgwIHy4/DwcNWgN65WsWJFvPbaa/LzAwcO4M0338wzz%2BK1a9cwceJE/PPPP6UyVYONj48P3nrrLfn5b7/9hunTpxfYTzctLQ3/%2Bc9/8Pbbb9t9f9KkSfLjc%2BfOYfbs2Xb76N2%2BfRuvvfaaU/33Skrr1q0xaNAg%2BfmCBQuwatWqAptgx8bGYuHChaqMzKZjx47y419//dVh88/z589j8uTJTs%2BRXV72s7uOM3d5%2B%2B235YtISkoKnn/%2BeRw%2BfFh1Q5SZmYmvv/4an3zyCTw9Pe2Owp2bskDkwoULpdY9JDY2Fs8%2B%2BywOHjxY4DHx1VdfybUGOp1O1WyzuHr37i2XZicnJ2PmzJnye%2B3bty9wJP3vv/8eH3/8cYHNHJOTk7Fy5Ur5ubIUvijmz5%2BPgQMH4qeffnKqNvy3337Dv/71L/m5t7e33b7l7sh7KlWqhJEjR8rPf/rpJ4cFzaGhoYW6QVUWXl%2B9ehU//vij3XRXr17Fm2%2B%2B6VS%2BJggC3nvvPfmmOiwsDJMmTSqw5UR2dja2bt2qKqQoCRMmTJD7FObk5ODFF18sMGD5448/7NaKPvfcc6hXrx4AS8HWxIkTceTIkQLX4ezZs3j77bfttmLq0aMHmjZtKj%2BfMWOGw1YBK1eudMl4N670zjvvyAVE0dHRGD9%2BfIF9hw0GA/bv349nnnkmT81k7dq1VfnKnDlz7BbgGAwGfPzxxzh06JBT61me9rM7jjN3CQoKUhVirV27Fv/617/y1JyGh4dj3LhxiIqKcvqeWllA%2BPPPP5fZgryCJCcn44033rDbOikrKwtvv/22HINoNBqn5z63x9/fH2PGjJGfr1%2B/HmvWrLGb9tq1a3jjjTfkSsRq1arh6aeftpu2rNwbuUq5GEVc2VT2kUceKVKpS8eOHVGlShX5Ar1lyxa8%2B%2B67LlvH3CZMmIDjx4/LmdD%2B/ftx4MABNGnSBAEBAbh79y4iIyMBWALyDz74AO%2B//z4A181xWxjPPvsswsLC5H29c%2BdOHDlyBEOHDkX79u3lkqWUlBRcvXoVZ86cwV9//QWDwaDqz6M0cOBAPPbYY3Ip7oYNG3D27FmMHDkSQUFByMnJwcmTJ7F%2B/Xqkpqaibdu2iIuLw%2B3bt0tmowvw6aef4urVq7hy5QpMJhMWLlyIDRs2YMiQIWjRogUqVaoEvV4vD5jyzz//yM29Jk6cmGd5gwcPxmeffYaEhAQYjUZMnDgRI0aMQPfu3VGxYkXcuXMHf/zxB3bs2AGj0Yhu3bohMjIyT8FMbuVpP7vjOHOXunXr4l//%2BhdmzpwJSZIQFxeHSZMmoVq1amjQoAFycnIQEREhB54zZ87EDz/8IA8A5mj6iqCgIDz00EO4ePEiJEnC888/j6ZNm6JmzZqq%2BZnnzJmTZ%2BAcVzt58iROnjyJgIAA9OrVCy1btkSdOnXg5%2BeHnJwcREVFYdeuXaoWF88%2B%2B6xL5xj18PBA//79sWnTJgBQNZl0pnl4Tk4O1q9fj/Xr16N58%2Bbo0qULmjdvjsDAQHh6eiIpKQlnz57F5s2b5fxfFEW752hhxcbGYt68eVi0aBHat2%2BPtm3bomnTpggICIBOp0NqaiquXLmC/fv35wm43nnnHdSoUcPucl2d9wCWAqODBw8iLi4OkiThgw8%2BwN69ezFkyBDUqFED9%2B7dw%2B%2B//45t27bBZDJh8ODBTjU7DA4ORvfu3eWb8wULFuDcuXMYNGgQKleujMTERPz555/YsmUL9Ho9hg8f7lQrmp49e2Ly5MlybfuxY8fQt29fDBo0CJ07d0b16tWh1WqRkpKCa9eu4ezZszh69CgyMzNVNSElITAwEAsWLMDkyZNhNBqRkJCAUaNGoU%2BfPujVqxfq1KkDURSRkJCA8PBw7N%2B/Hzdv3sS8efPyFPT4%2Bvriyy%2B/xJgxY5CZmYnk5GS8/PLL6NixI/r06YNGjRrB19cXmZmZiI%2BPx/nz53H06FG5xsfeiOuiKGLOnDl47rnnYDAYkJycjFGjRmHEiBF49NFH4e/vj5iYGGzbtg3Hjx%2BHIAgYMGCAqtapNDVv3hwfffQRZs2aBcAy3sjgwYPRr18/PProo6hduzY8PDyQmpqK6OhonDt3DkeOHMkzr7zS888/L0%2B9dfToUTz99NMYPXo0mjRpAoPBgEuXLmHTpk2IioqCKIp4/PHHERISku96lqf97I7jzJ3ee%2B89nDlzBpcvXwZguc/ZvHkzmjZtCj8/P8TFxck10HXq1MH48ePlgsL8ppIaOnSo3B3myJEj6NatG5o1a6bqhtqlSxdVjX9Z06JFC6SlpeHEiRMYOnQoxowZg5YtW0Kj0eDSpUtYv369qnZ%2B/PjxePjhh4v1nVOnTsUff/whV1bOnTsXBw4cwPDhw1G3bl2kp6fj%2BPHj2Lhxo3yPpNFoMHfuXIddfMvSvZErlPkA%2B/Lly6o5SwvbPNxGo9Ggb9%2B%2Bcl%2BT7du345133lH9aK6k1Wrx1Vdf4f3338fevXsBWJoy5u6jVrt2bSxbtkxVEldaw9fPmzcPlStXlue6TUlJwbp167Bu3boiL3Px4sV46aWX5OazFy9exCeffJInXY0aNbBkyRKMGzeuyN/lan5%2Bfli3bh2mTp2Kv/76C4BlxM2Cmlc64uXlhUWLFmHixIkwGAwwGAxyYJBb48aNsWjRIodNaXIrT/vZHceZuzz11FMwm82YO3euHDjfuXNHNaKsKIqYOnUqxo4dqxqZOr/zeM6cOZgwYYJc2mwbkFFJWZPrbklJSdiyZUuB3Wd69%2B6NadOmufz7hw0bJgfYNjqdTtXyyBkXLlwocI5rrVaLuXPnFvsGQ3ntMBqNCA0NdarEXafTYfr06fnesLk67wEsx%2BOqVaswduxY%2BXpz6NAhu7VzXbp0wZQpU5wer%2BHjjz/GmDFj5PNi9%2B7ddj87aNAgvPXWW053U5kyZQoqVqyIhQsXwmQyISsrCyEhIQUGOqWhR48eWLFiBaZOnYrMzExIkoT9%2B/dj//79hV5Ws2bN8Msvv2Dy5MnyqO///PMP/vnnnyKvX%2BvWrbFw4UJMnz4dJpMJer0eP//8M37%2B%2Bec8aV999VXUq1evzATYgKVZqY%2BPD2bMmIHs7GwYjUbs2bPH6bECchs3bhyOHDmCo0ePArCMH2DvmqnRaDBjxgz4%2Bvo6ddyVp/3sjuPMXfz8/PDTTz9hypQp8gBmRqMR58%2BfV6Vr2rQpli9frqphz2/Mpr59%2B6oK/VJSUvLk464sUHYHX19fzJ49GxMmTEB8fDw%2B//xzh2kHDBjgkspFT09P/Pjjj3jppZfkuOb48eMOB6XU6XRYsGABevToke9yy9q9UXGU%2BSbiytprrVZbpObhNsqbtTt37ri9iYu3tzeWLVuG77//HgMHDkSNGjWg0%2BkQGBiINm3aYMaMGdi6dSsefvhhVYBdWs3FNRoN3n//fWzcuBE9e/bMd/5VQRDw0EMPYcqUKfjiiy8cpvP19cXq1asxceJEeHl55XlfFEX07dsXISEhBTYFLQ0VK1bEqlWrsHTpUjz00EP5pvXw8EDXrl3x6aef4tVXX7WbpmvXrli7di2Cg4Ptvu/t7Y3Ro0fjv//9b6GmMShP%2B9kdx5k7jRgxAjt37sTLL7%2BMJk2awMfHB76%2BvggKCsKYMWMQEhKCSZMmwWg0qvoG5ncet2zZEjt37sSrr76KNm3aoFKlSi6Z77gwqlSpgnfffRcdOnQosNVMw4YN8emnn%2BLrr7%2BGp6eny9elU6dOeWpzu3fv7tR8pwMGDMDYsWPl5o6OiKKIXr16YfPmzXjiiSeKtb6A5do0f/58DBgwwKnSdH9/f4wYMQI7duxwah5xV%2Bc9gKWGYOvWrejXr5/decV9fHzw0ksvYdWqVYU6HuvUqYOff/5ZNTiZUqVKlfDee%2B9h6dKlTg0qpfTCCy9gx44dGDJkSIHHXqNGjTBx4kSHzRXdrWfPntizZw9GjBhhNx%2B2sR0L9vrg2zRt2hQ7d%2B7EtGnTUL169Xy/t2LFihg0aBC%2B%2BeYbh78BYGlFtX79eofHU40aNbBgwQJMnTo13%2B8rLYMHD8avv/6K0aNHq0avt6d27doYO3YsNm3aZPe4EUURX3/9NV588UWHNZzBwcFYtWpVoQuky9N%2Bdsdx5i6VK1fGmjVrsHTpUvTq1QtVq1aFTqdDtWrV0KlTJ3z66afYuHEj6tWrp%2Bq2U9A99aJFi7B8%2BXIMGDAAdevWhY%2BPT6HzqdLWsmVLbNq0CZ06dbL7vr%2B/Pz744AN8/vnnLqtYrFatGjZu3Ig33njD4ZgmGo0GPXv2xJYtWzBkyJACl1kW7o1cRZDKykgWD7g5c%2BbI04lNmjTJLbVEhZWeno6TJ08iLi4OKSkp0Gg08Pf3R7169dC0adNCz2OXnp6OY8eOISYmBpIkoUaNGmjfvn2BmXpZEh8fj9OnT%2BPu3btIS0uDp6cnAgIC0LBhQzRr1izfmyolSZJw7tw5hIeHIzU1Ff7%2B/qhZsyY6depU4I1DQcrbfnb1cVZawsPD5b5FVatWlWtGyoOcnBxcunQJ169fx927d5GdnQ0fHx9UqVIFzZs3V83dXJbdvXsXly5dQkxMDFJTU2E2m%2BHn54e6deuiVatWbi28jI6ORlRUFGJjY5Geng6TyQRfX18EBASgSZMmaNy4cbFuFFyV9yiXd/z4ccTHx8PHxwc1a9ZEly5d5PwnJiZGVaCduxbBkevXr%2BPEiRNITEyEn58f6tSpg65du%2BbbTNNZOTk5OHXqFKKjo%2BXmv7bfNzg4uEzlcbauOdHR0UhKSoIoiggMDETjxo3RvHnzQh8LV65cwYULF5CUlITMzEz4%2BPigWrVqCAoKQpMmTewWmOTn0qVLOHfuHO7du4dKlSqhQYMG6NixY6GXU1qMRiPCwsJw7do1JCUlyed6rVq10KRJE6em3rJJSkpCaGioPPJ01apV0bRp02JPDwiUv/3s6uOstLz66qty65zZs2dj9OjRpbxGrhUSEoIZM2YAsBRQr127Vn7vxo0bOHPmDO7cuQNPT0/Ur1/fZXmwI0ajEadPn0ZUVBSSk5Ph7e0tF3yUl3s4V2OAXQZkZ2ejV69e8giAK1asKFZNPRGVvNmzZ8vNAPv164fly5eX8hoRFV1RA2wiotIUHx%2BPPn36yIMjb9u2zSWFJWVJfgE2lQ3loyiqnHKm7EKSJHzyySdycF2lSpUC%2BygQUclwtvzx2LFjqjmLS3oAGCIiovuZM9djg8GAmTNnysF18%2BbN77vgmsoHBthu9Prrr2PZsmV5BjazCQ8Px6RJk7B582b5tYkTJ5bKKOJElNemTZswdepUHD58OM9UL4ClaeGKFSswceJEefqhFi1aoFevXiW8pkRERPevMWPGYOXKlXbnq5YkCaGhoRg7dqyqe9brr79ekqtIJCufPcfLibt37%2BKrr77CV199BX9/f9SvXx8VKlRAVlYWbt68mWfu1J49e5b4/J1E5JhypFqdTof69evL/Ynu3r2La9euqUrVK1WqhIULF7ptdgIiIqIHUXR0NBYtWoRFixahcuXKqFevHnx8fJCRkYFr167lmQN69OjR6Nu3bymtLT3oGGC7kXIwiNTUVJw7d85uOlEUMWrUKMyaNavcjVxIdD9TnsMGg0Ge89Gehx56CJ999hkaNWpUEqtGRET0wFDeH9%2B7d081%2B46Sh4cHXnnlFdZeU6ligO1G33//PQ4ePIjQ0FBcvnxZHl0WsNR01alTB507d8YTTzyBhg0blvLaElFuI0eORKNGjXDkyBGEhYXh5s2bSEpKgl6vh5%2BfnzzlXp8%2BfdCnTx8WkBEREbnBtm3bcODAAfz999%2B4cuUK4uLikJGRAVEU5RHau3TpgqeffrpMzShADyaOIk5ERERERETkAhzkjIiIiIiIiMgFGGATERERERERuQADbCIiIiIiIiIXYIBNRERERERE5AIMsImIiIiIiIhcgAE2ERERERERkQswwCYiIiIiIiJyAQbYRERERERERC7AAJuIiIiIiIjIBRhgExEREREREbkAA2wiIiIiIiIiF2CATUREREREROQCDLCJiIiIiIiIXIABNhEREREREZELMMAmIiIiIiIicgEG2EREREREREQuwACbiIiIiIiIyAUYYBMRERERERG5AANsIiIiIiIiIhdggE1ERERERETkAgywiYiIiIiIiFyAATYRERERERGRCzDAJiIiIiIiInIBBthERERERERELsAAm4iIiIiIiMgFGGATERERERERuQADbCIiIiIiIiIXYIBNRERERERE5AIMsImIiIiIiIhcgAE2ERERERERkQswwCYiIiIiIiJyAQbYRERERERERC7AAJuIiIiIiIjIBRhgExEREREREbkAA2wiIiIiIiIiF2CATUREREREROQCDLCJiIiIiIiIXIABNhEREREREZELMMAmIiIiIiIicgEG2EREREREREQuwACbiIiIiIiIyAUYYBMRERERERG5AANsIiIiIiIiIhdggE1ERERERETkAtrSXoH7iSRJuHcvA2azVNqr8kDQaARUruzLfV7CuN9LB/d7yeM%2BLx3c76WD%2B73kcZ%2B7V9WqFUp7FegBxRpsFxIEARqNUNqr8cDQaATu81LA/V46uN9LHvd56eB%2BLx3c7yWP%2B5zo/sQAm4iIiIiIiMgFGGATERERERERuQADbCIiIiIiIiIX4CBnRERE%2BZIA5EAQ0iEIGda/dABmAFpIkgcAneqx5b8WkqQD4AFABMB%2BlkRERPc7BthERPSAyYAo3oJGcwsaTaz1cSw0mtvQaFIhCBkA0qHRZADIQKVK6RAEY7G%2BUZK0kKQqMJurwWyuav1TP5Yk22tVYAnYiYiIqLxhgE1ERPeZdGi1VyCKERDFSEUwbftLLtTSBEXFsyR5QJK8AXjD0svKCMAEwABBsPwHjBAEc65lGCEIt6HR3C7w%2ByRJgNlcByZTY5hMQdb/jWE0NobZXA%2B8dBMREZVdvEoTEVE5JEGjibcG0Zeh1UZAFG1BdUzBn5a8rTXHVSBJgTCbq8BsrgxJ8oMkeUGSvKHReMPXtxLS0wUYjV4AvGBp6u0MMyyBt9Fa%2B50NjSYFgpAMjSYJgpBqfZwCQUiCRpMMQbD9mSGK0RDFaACHcq23DiZTQznotgTeD8FofBiAb2F2IBEREbkBA2wiIirTBCEVWm04RPEsdLpzEMWLEMUIaDSpDj9jNleC2VwXZnNtmExVFUF0oLUJto8z3wzAG5KUBUs/7MLQWP90kCQAqACTqaoTnzNDEFKg0cRBFGOt/29Bo4mBRhMLQdBDq42AVhuh%2BpQkCTCZgmE0tobR2Mb6vyUkqVIh15uIiIiKgwE2ERGVERI0mlvQas9Cqz0n/4lilP3UkgZmc02YzXVhMtW2NquuA7O5DiTJv4TX3VU0kKQAmEwBMJma53rPDEG4aw28b8l9x0XxGjSau9BqL0OrvQxgo/wJk6kRjMbWMBhaw2hsBaOxLSQpsES3iIiI6EHCAJuIiEqBGaIYCa02DFrtGWswfRYaTaL91OZqMJkaWZtH14fJZKmdfrAGA9NAkqrBaKwGoK3qHUG4B1GMsu7TKIjiVWg0t62vRcHTc4uc1mQKgsHQWf4zmZqBs3YSERG5BgNsIiJyMzNE8Sq02tPQ6c5Aqw2DKJ6128RbkkSYzfUUwbTlf/mtkS4ZklQZRmNlGI0dkJNjeU0Q0qyDvEVZ/1%2BFKMZYH0fCy%2BtnAIDZ7A%2BjsSMMhk4wGDrDaOzA/U1ERFREDLCJiMiFDBDFK9Bqw6zBtKV22jJvtJokeShGybYF0/VhmTeaikuSKlj7Y7eRX7ME3Zeh1V6CVnsJongRGk0qPDwOwMPjgPVzAkymFtYa7i4wGB6F2VyntDaDiIioXGGATURuIsEyZZEegmAAIEGSfAB4wjJ4FJV3gpAKUTwPrdYy%2BJilv/QFCEJOnrSS5CUH00ZjI5hMjWE214Xzo3KTK1iC7g4wGjtYXzFBafduHgAAIABJREFUFK9DFC/KQbdGEwetNhxabTi8vVdZUpnqw2DoCoPhURgMj8Bkagyex0RERHkxwCYiB/TQaOKh0dxW/Wm18QASUKFCrLVW0gBB0ON/8//q8b85gfOSJA0AH0iSNyTJxxp0q59b/irDZAqEJFWRR3%2B2jQQtSRXBPqMlyQyNJhpa7QUnBx/zsQbTQTAag6zBdG0wmC6LRPm30uuHArD059ZqL1qD7gvWpuU3IIo34OX1CwBLn3iD4RHo9Y9YA%2B4W4O9LRETEAJvoAWcbaMo2anM4NJpYazBtf7ApG20Rcw9BMANIt9tk2FmSJCqC7UCYzdVhNleHyVTT%2BrgmzOYaMJtrQJIqgDVtzsqx9s%2B1zSv9v/mlBSHL7ifUg49ZmnmbzdXBApDyS5IqW2uqH7W%2Bkmmt3b4Arfa8tVn5HXh6boWn51YAgNlcEUZjZ%2Bj1lhpuo7Et2NSfiIgeRAywiR4YOdBqL1qD6TA5oM4v0JUkLSSpsrX2uDLM5soAAuDpWR2ZmX4wmXxgmedXhCU70UKStLDUZKkfW4LcHAhCtrUJce7Hluf/ez0NGk0qBCHVOi9wsvVxBgTBBEG4A43mToFbLUk%2B1oC7uvzfZKpufV5D/i9JlfFgBOIZ1mmeohUDXlkCaY3mmrUAJC9J0lmnwQqCydSAg489UHxgNLaD0djO%2BtwAUYyAVnteDro1mhR4eOyDh8c%2BAIAkecNo7CjXcBsMHQH4ltoWEBERlRQG2ET3KUG4Aw%2BP3%2BDhcRRa7VmI4kUIgjFPOstAU43kgMkScAZCkgKstb/qmkhRFODp6Q2TKQsmk1TItbI1/y76dlman6dAEFKh0aQogu8kaDT3oNEkQRASodEkWoPxTHnU5PxYAshqkKQaMJmqWYPvaqrCBeX/slczLgHIgEaTZJ0jOQYaTQxEMdr63xJUazT38l%2BK5AuTqZ51buk61vml68JsrgE2ASYLHUymFjCZWlhHLDdBFKMUNdzh0GhSoNP9AZ3uDwCWwjqjsa012H4EBkMXSFJAqW4FERGROzDAJrpvmKHVnoKHxz54eu6DVnsqTwpJqqAYZMrWnLcOylfgpIMkVbH2zS4obbY14L4Hjeae9X%2BS4jVbMJ4KQTBAFGMBxDrV/F2SdJCkAGvAHWj97wtJ8gbgZS1I8LL2LffO87ol%2BzUBMFn7q5sBGBXPbX9mCIIeopgKIAM%2BPgkAkiEIydbChST5sb0CFPvr7mMtPKgKs7kGTKY6ckD94NTkk%2BuIMJmawGRqgpycxwFI1j775%2BV%2B%2BxpNAnS6f6DT/QPgCwCA0fiQdZRyy2jlZnND8NgjIqLyjgE2UTkmCEnw8DgID4%2B98PDYD43mrup9k6kJDIZ2MJmawGgMgiRVxYN1A%2BsFs7kmgJow2R9zzcoAQUhWBOHJ1sA1CRpNGgQhzdo83fZnGRnd2WbqruTpmf/7lmb9VazBs%2B3PNlCcJahmU11yLwFmcz3o9fWg1w%2BCJeC%2BA1E8D53OUsMtijHWLisX4e39IwDbwGmdYTJ1BdAbQFPwNoWIiMobXrmIyhlRjICHxw5rLXWoqs%2BsJPnCaGwHg6E9DIb21tpIKpgOklQVJlNVJ9Mr%2B4inKf6yYZmWTG/tW658nGMdYT3H%2BtwES/N70Tqyeu4/EZIk4H992P2g01VETo4nTCZfSJKftcbcT/XHadCo7BHkgQgNhscsrwjJipHKL0IUr1gHTtsBYAcAoFIlL2t%2B1gUGg2VqMUtXBSIiorKLATZRuZABT8%2Bt8PZeDZ3uuOodk6mB9eazPYzG5uBpXRK8rPM6OxuQF58oCtDpvKHXF6XvO1HZIkmVrPNqd7W%2BoocoXoFWexE6nWXEckFIgU73F3S6v%2BTPmUx1YDR2hMHQwZrvtQbgUyrbQEREZA/vxInKLAla7Wl4ea2Bl9d/IQhpllcl0Vqr0wlGY3vrlEhEROWZhzxwmtEooEIFL2RkXIEgnJenjNNorltHvo%2BBp%2BcWAJb80GR6WBFwd4DJ1AScJo6IiEoLA2yiMkYQkuDpuRHe3mug1Z6TXzeZakGvHwC9/jE2/Sai%2B5wgD7yn1w%2BwvpYJrfaKtaY7AqJ4CRpNonXawTB4e68CYBnM0WhsZR21vA2MxrYwmYLAoJuIiEoCA2yiMkGCTncUXl6r4em5zdpH1zKFlsHQDXp9PxiND4M3iET04PKB0dgaRmNr6/RgEgThLrTay9Z5uSMgihEQhDTodH9Cp/sT3t6WT1qC7tYwGNrCaGwDo7ENg24iInILBthEpUoPL6/18PH5XDVPs8kUhJyc/jAYelrnWyYiIjUBklQVBkNVGAzdrK%2BZrFOEXYEoRkEUr0AUI61B91HodEflT5vN/jCZWlkDb8t/kykYvDUiIqLi4FWEqFRkw8trjTWwjgFgmZtYr%2B8Fvb4/TKbG4EjQRESFJcJsbgC9voHiNRM0mpvQaq9CFCPloFujSYVGYwm6/1fT7QWj8WFrE/PW1v8tAHiVwrYQEVF5xACbqERlwNv7R/j4fAGNJh4AYDYHIifnaeTkDABv4oiIXE2E2dwQen1DAP2srxmtQXckRPEaRPEqRDEKgpAFne4EdLoT8qctA6k1lZunW5qYt2TrIiIisosBNlEJEIRUeHl9Dx%2Bf5dBoEgEAZnM1ZGePhF7fF4BH6a4gEdEDRQuzuRH0%2BkaK18zQaOKstdxR1v%2BR0GhSoNVegFZ7AcB6ObXJFGRtXt5Gru2WpMAS3xIiIipbGGATuZEg3IO39zfw9v4GGk0yAMto4Dk5o6DX9wKgK9X1IyIiGw3M5towm2vDYOhhfc0ykJooRkKrjbIG3leh0STIAbinZ4i8BJOprqKmuy0MhvYMuomIHjAMsIncQBAS4eOzDN7e30MQ0gEAJlM9ZGePst64iaW7gkRE5ATLQGpGY1UYjV3%2B96qQoqrp1mqvQqO5BVGMhihGw9Nzp5zWZGoAo7EdDIZ2MBrbw2BoDcCvFLaFiIhKAgNsIpcywNt7JXx85kOjSQJgaUZoCawfAaeEISIq/ySpIozGdjAa2ylezYAoRln7dUdCFCMgijEQxesQxetyTbckaax9utvBYGhvXc7DYFchIqL7AwNsIpeQ4OGxD35%2BMyGKVwAAJlNDZGWNhdHYGRwRnIjofucLk6klTKaW8iuCkG4dQO2KdeqwCGg0CdBqL0KrvQgvr3UAbKOXt4de3xVGY2cYDJ0hSZVKa0OIiKgYGGATFZMoXoKf30x4eOwHAJjNlZCdPQ56fT%2BwKTgR0YNLkvyso463QU6O5TVBuAdRjLBOG2YLulOh0/0Jne5P6%2BcEmEwPwWDoCoOhMwyGrjCb64GFtUREZR8DbKIiEoRE%2BPrOg5fXKgiCCZKkRU7OE8jOHgXAt7RXj4iIyiBJqgyjsYuiT7cEjSbGOlL5RYjiRYhijDxyubf3KgCA2VwTBkNX6PVdYTD0gskUDAbcRERlDwNsokIzwNv7e2s/a8vI4AbDI8jKehFmc61SXjciIipfBJjNdaHX14VeP8DyipAkB9ta7QWI4hVoNHHw9AyR%2B3KbzTWh1/eCXt8LBkMvmM01S3MjiIjIigE2kdPs9bMOQlbWSzAaW5fyuv0/e3ceJldZ5/3/c7ZaeintDAEkMLImrIY9rAnEsOOCOCouKKgz4vrg8hueceDRGcfnJ%2Bowwk9EEGcGZgYVFQUUo6IEEAEBSSBsIbIZI2IMaZquOvvvj67upNNJurq7qu5zqt6v6%2BK6SKgO3xzC8ua%2Bz30DADpFmg4oDI%2BqH44pSbX6e9yPyHUflus%2BJNteq1LpOpVKI3dzR9HeCsPjFATHKwyPVppWzP0EAKCLEdhAA2z7WfX3f1yFwk8ljb5nfbaCYIl4zxoA0FqlsQPUfP%2Btkvz6QWkr5LoP1t/pfkyu%2B5jK5SuUpk790LTjFAQnKYoOEbdYAEB7ENjANsUql69Ub%2B8/ybJeVpp68v038J41AMCg4tjhadLZsqyX6rE9Gty/l%2BfdK8%2B7V729FytJtlcQnCzfP0VBcJz49xcAtA6BDWyF4zyi/v4Py/PukyRF0QEaHv6QkmQXw5MBALBRmvYrDI9WGB4tSbKsP8nzHpTrPijPu0%2B2/SeVSteoVLpGaVpSGC6qx/bJnB0CAE1GYAMT%2BOrp%2BaJ6ev5VlhUpTXtVrZ5TP3yGLXYAgGxL0%2B0VBCcqCE6UFMp1H5bn/Uaed49s%2B48qFJaqUFgqSYqig%2BT7JyuOT5d0pNG5AaATENjAJlz31%2Brv/4hc9wlJUhgeqeHhDyhNtzM8GQAA0%2BEpig5SFB2kavX9su1nxraPO85jct3fynV/K%2Bn/StpV5fIZqlbfWN9%2BzjVgADBVBDYgybIG1dv7fza5b3SWqtUP1E9w5T8wAACdwFKS7Crf31W%2B/xZZ1vr6yvZ9ct37ZVlPq1S6RKXSJYrj3eX7Z6hWe5PieH/x70IAaAyBja5XKPxYfX0fl%2BP8QZLk%2ByerVnuP0rTf8GQAALROmg6MbSV3HF/9/SsUhr%2BQ694jx/mdenq%2BrJ6eLyuO91KtdoZ8/0zF8T6mxwaATCOw0bUsa536%2Bz%2BuYvEGSVIcz1G1%2BiHutAYAdKGSpEWq1Q5XHA/L836jQuFOue5v5Dir1Nt7sXp7L1YU7S3ff1M9tvcyPTQAZA6Bja5UKNyi/v6PyLb/pDR15PtvUq12lqSi6dEAADCsrDBcqDBcKGlYnnePCoVfyXXvq9%2B3/Xn19n5eYXioarW3yffPVJr%2BlemhASATCGx0Fct6SX19/6BS6T8lSXH8ag0Pf1xxvKfhyQAAyKIeheHxCsPjZVlDct17VCjcIdd9QJ53nzzvPvX1/W8FwUmq1c6qn1zO/6wG0L0IbHQN1/21KpUPyHGeUppa9cNb3iWpYHo0AAAyL037FIavVRi%2BVpb1ojxvmYrFX8pxVqlYvFnF4s1KkgH5/pmq1c5SFB0qDkcD0G0IbHQBX729n1e5/G%2ByrFRJsr2Gh89XFL3G9GAAAORSmr5SQfAGBcEbZNtPq1C4TYXCL2Tb61Quf0Pl8jcUx3uqVjtLtdpblSR/bXpkAGgLAhsdzXFWqlJ5v1z3YUlSEJyg4eH3S%2Bo1OxgAAB0iSXZVrfYe1WrvkuuuUKHwS3ner%2BQ4T6q395/V0/M5heFxqtXeKd9/nUYOVAOAzkRgo0PFKpf/P/X2/rMsK1CSvELV6ofr91oDAIDmcxRFBymKDpL0AXneXSoWfynXfVCFwi9VKPyyvoX8b1Stnq04ZicZgM5DYKPj2PbTqlRG/sUuSWF4hIaHP6w0HTA8GQAA3aJHYbhEYbhEtv28CoWfq1D4uWz7TyqXr1S5fKWi6EBVq%2B%2BS7/%2BN0vSVpgcGgKYgsNFBUhWL16m//5OyrCGlaVnV6t8qCE4Qh6wAAGBGkuygWu0dqtXeVl/N/rk87y657oPq739QfX2flu%2B/XrXa2QrDYyTZpkcGgGkjsNERLGuD%2BvrOV6n0XUlSFO2v4eH/pSR5leHJAADACEdRdIii6BBZ1ob6wWg/k%2BM8pVLpOyqVvqM43k212jtVq72Tf4cDyCUCG7nnOPeoUjlXjvOM0tRRrfYO%2Bf6bJTmmRwMAAFuQpq%2BQ779Bvv96Oc4qFQo/U6GwTI7zVP1gtH%2Bp36397vrd2vwnK4B84J9WyLFY0ufU3/8ZWVasJNlRL7/8ScXxPqYHAwAADbEUx3NVrc5Vtfpeed6dKhZ/Jtd9WMXiLSoWb1GS7Khq9Z2q1d6lJNnN9MAAsE0ENnLJtn%2Bv/v6/lXSnLEsKguM1PHyeuH4LAIC8Km1yMNpz9VXtW2Xbf1Rv75fU2/slBcFxqtXOrl/3VTQ9MABMQGAjdwqFG9Xf/xHZ9npJPapWz5PvHy8OMgMAoDMkyS6q1c5VrfYued49KhR%2BJte9v/7e9m1KkgHVamepVns3O9cAZAqBjRwZVl/f/1a5/O%2BSpDieJ8e5UFE0S1JqdjQAANACnsLwGIXhMZtc9/Uz2fYL6um5XD09lysMD1Wt9i75/puUpq8wPTCALkdgIxcc5yFVKufIdZ9Qmlry/b9RGL5D/f0VSVXT4wEAgBYbf93XA/V3te%2BW590nz7tPfX0XyPffoFrtXfXrvtjZBqD9CGxkXKpy%2BQr19l4oywqUJH%2Bl4eGPK4oOlOPwL04AALqPoyg6TFF0mCxrfX3b%2BE/lOM%2BqVPqWSqVvKY53r8f425Ukc0wPDKCLENjILMtap0rlPBUKP5EkheGRGh7%2BCNu/AACAJClNB%2BT7Z8j33yjHeby%2BhXyZHOd3Y9d9heESVavvVBCcIg5GA9BqBDYyyfPuUKXyPtn2WqVpQdXqexUEp4ntXgAAYCJLcby3qtW9Va2%2Br37d161y3RUqFH6qQuGnSpJZ8v0zVau9TVF0qPhvCgCtQGAjYyL19Py/6un5oiwrVRzvopdf/n%2BUJLubHgwAAOTCptd9rVGhcKsKhZ/LttepXL5K5fJViuM9Vau9TbXaW5UkrzY9MIAOQmAjM2z7OVUq75Pn/VqS5Psnqlr9O0kls4MBAIBcSpI5qtXOVq32DrnugyoUfinPu0uO86R6ez%2Bn3t7PKQyPVq32Nvn%2BG3kNDcCMEdjIhELhJvX3f1i2vV5p2qPh4Q8rDBeZHgsAAHQER1F0iKLoEEnD8ry7VCz%2BUo6zXJ73K3ner9TX90kFwWmq1d6qIFgiyTM9NIAcIrBhWFV9fZ9WufwNSVIUzdPw8KeUJK8yPBcAAOhMPWNbyC3rz/VTyH8hx3lGxeL3VSx%2BX0mynXz/jfL9NykMj5TkmB4aQE4Q2DDGcR5XpfIeue5KSVKt9mbVau8U/8cYAAC0Q5puJ99/s3z/TDnOannebSoUbpNt/1nl8jdULn9DSbJj/X7tNymKFkiyTY8NIMMIbBiQqlS6Vn19n5JlVZUkAxoePr%2B%2BbQsAAKDdLMXxnvXDz86pv689snXctv%2BocvnrKpe/rjjeSUHwRtVqZyiKDhOxDWBzBDbayrLWq7//f6lYvEGSFIYHa3j4fKXpLMOTAQAASOPf1z5vk9i%2BS47zB5XLl6tcvlxxvHP9Du4z6p/l2i8ABDbayHV/rUrlfXKc55Smjmq1s%2BX7bxL/9xcAAGSTpyg6rL5a/SG57gP12P61HOf36um5TD09lymOd1YQnCLfP1VheKykgunBARhCYKMNIvX0XKyenotlWYnieCcND39KcTzX9GAAAAAN8hRFC%2BrvYQfyvPvrJ5CPxPboHdtp2q8gOEG%2Bf6qC4ASl6YDpwQG0EYGNlrLtZ%2Bt3W98tSQqCJRoe/jtJPWYHAwAAmLaCwvDI%2Bgnjvlx3uTzvXnnePbLtv4ydRp6mjsLwaAXBqfL9U5Uku5oeHECLEdhomULhBvX3f1S2vaF%2Bt/WHFIbHmR4LAACgiYqKosMVRYerWv2gHOeJsdh2nKdVKNyuQuF29fVdoCjaT75/isJwidJ0genBAbQAgY0WeFn9/X%2BvUukaSVIU7a3h4U9ytzUAAOhwtuJ4b8Xx3qrVzpZtr5Xn3SPPu1eO87Bcd2X9etIvKU0rkharUDhOSbKY1W2gQxDYaCrXfVCVyrlynCeVppZ8/y2q1d4ufqkBAIBukySvku%2B/Ub7/RlnWoFz3PnneA3Ld%2B2Xbg5J%2BoN7eH6i3V4rjPRUEr63/dqykXtPjA5gGqgdNkqhcvly9vf9HlhUqSbbT8PDHFUXzTQ8GAABgXJpWFIaLFYaLJSXyvNXq7X1IcXyPbPtROc6TKpefVLn8daVpQWF4lILgtQrDRYqiAyQ5pn8KABpAYGPGbHuN%2Bvs/qELhl5KkMDxSw8MfrW99AgAAwHi2kmSupPkaHj5TcTwkz1su1/2tPO9%2B2fbzKhRuU6FwmyQpSQYUhscoCBYqDBcpjueJe7eBbCKwMSPF4vfU13e%2BbPtFpWlR1er7FASniH/oAwAANKpXYXiUwvAoVaupbHuNXPcBed6Dct2HZNvrVSzepGLxJklSkmyvMDxWQbBIQbBQSbKb%2BG8vIBsIbEyLZa1XX98nVSpdL0mKonkaHv64kmRnw5MBAADkmaUk2VlBsLOC4PWSYjnOKrnuQ3LdFXLdlbLtP6lY/J6Kxe9JkuJ4F4XhQgXBMQrDY5Qkrzb7UwC6GIGNKfO8Zerv/4AcZ43S1JHvv1W12lvFLycAAIBmc8ZOJvf9v5EUynEel%2BetkOuukOM8Ksd5To7z3yqV/lvSaHAfXd9WfrSSZHexwg20B0WEKaipt/ez6un5qiQpjudoePjjiuO9Dc8FAADQLTzF8f6K4/0lvV1STa77SH2F%2ByE5zhP14P6WSqVvSRo5zTwIRoI7DI9RHO8lghtoDQIbDXGcFapU3i/XfVSS5Punqlo9V1LZ7GAAAABdraQoOlhRdHD92zW57qNy3Yflug/LcR6Tba9VqfRdlUrflTT6DvfRY1vKRxZLCG6gGQhsTCJWuXypens/V79%2Ba0DDwx9VFB1uejAAAABMUFIUHaQoOqj%2BbV%2Bu%2B5hcd2U9uB%2Bpv8N9g4rFGyRJSbLdZsG9jyTb2M8AyDMCG1tl20%2BrUvmAPO8uSaPXb31EafoKw5MBAACgMUVF0XxF0fz6twM5zhNy3YfleaPB/WcViz9UsfhDSVKSzKq/w320guBYxfF%2BIriBxhDY2IJEpdJV6uv7jCzrZaVpWdXq3ykIlojtQwAAAHlWGHuH2/elkUPTVtW3lD8k131Etv2Xza4FG6hfC7ZQYXgc73AD20BgYxzHeVL9/R8eW7WOogM0PPwxJcmrDE8GAACA5vMUx/sqjveV779FUlQP7pX14F5Zv4f7RhWLN0oaPTRtoYLgOIXhIq5pBTZBYKMuVrn8NfX2/rMsq1pftX6PguBUsSUIAACgW7iK430Ux/vI99%2Bsjfdwr5DnLZfjrKwfmvZtlUrfliTF8R4KgkX1u7gXKk23M/tTAAwisCHHeVz9/R%2BU5/1GkhSGB6ta/bCSZAfDkwEAAMCsTe/hfotGDk17VK67Qq67vH4t2GqVy6tVLn9TkhRFB8r3lygITlAUHSaSA92EX%2B1dLaqfEP5/ZVm%2B0rRX1ep7FQQnivdqAAAAMFFRUXSgoujA%2Brdfrh%2BYNhrcT8l1H5TrPqje3i8pSV6hMDxOQbBEQbBESTLH6PRAqxHYXcpxVqpS%2BaBc97eSpDA8TMPDH1KazjY8GQAAAPKjV1G0QFG0QJJkWX%2BR6/5Wnvdbue79su0N404oj6J9x2I7DI%2BUVDQ4O9B8BHbXCdXT82X19HxRlhUqTfs0PPx3CsPjxao1AAAAZiJNZykMX6swfK02vr/9W3ne/XKcx%2BS6j8h1H1FPz6VK0x4FwXEKgtPk%2Byez0IOOQGB3Ede9W/3958t1V0oavdf6g0rTWYYnAwAAQOfZ9P3ts2RZg3LdB%2BV5D8h176ufTv5jFYs/Vl%2BfpSg6XL5/moLgtPpVYED%2BENhdwLLWqa/vIpVK10qSkqSiavU8heGxYtUaAAAA7ZCmFYXhQoXhQklJ/X3te1Uo3CPHWSXPu0eed4%2BkixTHe8n3T5Pvn6YoOlSSY3h6oDEEdkdLVCpdq97ei2Tb6yVJvn%2ByarV3K00rhmcDAABA97IVx3sojveor26/MBbYrrtCjrNKPT3/pp6ef1OSzFYQnCzfP11BsFi8t40sI7A7lOOsUH//%2BWNXb8XxHhoePk9xvI/hyQAAAIDx0nS2guB0BcHpkl6W590vz7tXnnevbPsFlUrXqlS6VklSURCcKt8/g9hGJhHYHcayBtXT8y8ql78uy0qUpmXVau%2BS758uttYAAAAg%2B3o32Uoe1q8Bu1ee9yvZ9jqVSt9SqfStemyfJt9/I7GNzCCwO0aqYvF76uv7B9n2HyVJQbBI1eq5StPtDM8GAAAATIenKDpIUXSQqtX3y3EeU6FwpzzvznpsX6dS6TolySs2W9kGzCCwO4DjrFJf3ydUKNwmSYrjOapWz1MUHWR0LgAAAKB5bMXxvqpW91W1%2Bj45zqP12P7VZrH9SknrTQ%2BLLkVg55hl/UU9PV9UuXxl/U7rgmq1t8r33ySpYHo8AAAAoEVsxfF%2Bqlb3q69sP6JC4Vf1le2/mB4OXYzAziVf5fJV6um5WLb9oiQpDA9Xtfq3SpJXGZ4NAAAAaCdbcby/qtX9x1a2%2B/tNz4RuRWDnSqpi8Qb19n5GjvO0JCmOd1O1eo6i6BCzowEAAADGOYrj/U0PgS5GYOeE696jvr5/GLt2K0n%2BSrXau%2BqHOHA6OAAAAACYRmBnnG3/Tn19n1Gx%2BANJql%2B7daZ8/wxJJbPDAQAAAADGENgZZVnr6geYXVU/wMxWEJyoWu0dStNZpscDAAAAAGyGwM4YyxpUuXylyuVLNznA7DBVq%2B9RkuxqdjgAAAAAwFYR2BlhWRtULl%2Bhcvly2fbIvX1xvHv9ALODDU8HAAAAAJgMgW2YZb2ocvlrKpe/NrZiHce7qFZ7q8JwoTjADAAAAADygcA2ZCSsL6%2BH9QZJUhz/dT2sjxVhDQAAAAD5QmC3mWX9pR7WV8i2ByVJcfxq1WpvUxgeLcIaAAAAAPKJwG4Ty1qncvmr6un5uizrJUlSHO9WX7E%2BWpJtdkAAAAAAwIwQ2C3mOI%2BpXP6aSqVvybKqkkbD%2BiyF4ZEirAEAAACgMxDYLZGoUPi5yuWvqVC4dex743hP1WpvIawBAAAAoAMR2E31sgqFq1SpXC7HWSVJSlNLUXSUarXXK473k2SZHREAAAAA0BIEdlPtrN7ekau20rRXvn%2BiguA0JcmrDM8FAAAAAGg1ArupXlSS7KRa7fUKgtdK6jE9EAAAAACgTQjspvoXvfzyfMUx28ABAAAAoNtw0lZTHSUeKQAAAAB0J2oQAAAAAIAmILABAAAAAGgCAhsAAAAAgCYgsAEAAAAAaAICGwAAAACAJiCwAQAAAABoAgIbAAAAAIAmILABAAAAAGgCAhsAAAAAgCYgsAEAAAAAaAICGwAAAACAJiCwAQAAAADDyZdhAAAgAElEQVRoAgIbAAAAAIAmILABAAAAAGgCAhsAAAAAgCYgsAEAAAAAaAICGwAAAACAJiCwAQAAAABoAgIbAAAAAIAmsNI0TU0P0TkCJUkqiUfaHpZs2%2BKZtx3P3Qyee/vxzM3guZvBc28/nnmrWFZBlsU6IsxwTQ/QSdLUE/%2B/or3S1OKZG8BzN4Pn3n48czN47mbw3NsvD8/ccYab9CP5TfpxGuEpSUINDt4qKWnjn3f6HOch9fdfoDQta926R5Wms0yPhM3Mnt3f0OcI7CayLEuDg8OKonz8jZx3rmtrYKCXZ95mPHczeO7txzM3g%2BduBs%2B9/fLwzGfPXtqkH%2BmuJv04jfq0pEqb/5wzE8f7K473kOOsVql0rarVj5keCdPE3gkAAAAA4%2BQ3rvPKku%2B/TpJULl8pKTI7DqaNwAYAAAAwhrg2IwgWKkkqcpznVCjcYnocTBOBDQAAAECzZy9tUlzfJeJ6OooKglMkST09XzM8C6aLwAYAAAC6HKvW2eD7pypNHXnenXKch0yPg2kgsAEAAIAuRlxnR5pupzA8RpLU0/N1w9NgOghsAAAAoEuxJTx7fP90SVKx%2BB1Z1jrD02CqCGwAAACgCzUvrtFMcbyPomiuLKumUuk/TI%2BDKSKwAQAAgC7S3MPM0HzW2Cp2ufwNSaHZcTAlBDYAAADQJdgSng9huFBJMiDHWcOVXTlDYAMAAABdgFXrPPEUBCdKksrlfzc8C6aCwAYAAAA6HHGdP6OBXSjcKtt%2ByvA0aBSBDQAAAHSwmcc1W8JNSJIdFYaHSJLK5f80PA0aRWADAAAAHao5cQ1TguAkSVKpdK2kwOwwaIhregAAAAAAzcWW8M4QhguUJLNk2y%2BoUPiRguAM0yNhEqxgAwAAAB2EuO4kLoed5QyBDQAAAHSIbL5vffcmv2GqfP8kpamlQuE22fZq0%2BNgEgQ2AAAA0AGy%2Bb715lFNZE9Vmm6vKDpUklQu/4fZYTApAhsAAADIuezFNSvWzeT7o4ed/Zck3%2Bww2CYCGwAAAMixbMV1I2Hd6vAutvjHb78oOlxJsp1se52KxZtMj4Nt4BRxAAAAIIeyF9ZZcJTpAVrEURCcoFLpOpVK/yPff7PpgbAVrGADAAAAOZOduJ7uVvCsBHl%2BBMFiSZLn/UK2vdbwNNgaAhsAAADIkWzFdZZ06ur1iCTZSVG0vywrUbH4bdPjYCsIbAAAACAnshHXzTrArJmB3tlxPWp0FbtU%2Bm9JqdlhsEUENgAAAJADM4vrZt1vnbVVa6lb4lqSguAYpWlBrvu4XPcB0%2BNgCwhsAAAAIONmHtcz1Yprt45owo/RPXE9oldheLSk0VVsZA2BDQAAAGTU7NlLDcd1lu%2Bz7ra4HjG6TbxY/J64Ezt7CGwAAAAgg8y/b93KsJ7p6nV3xrUkRdH8%2Bp3Y61Uo/MT0ONgMgQ0AAABkjNn3rbO8ao2RO7FHVrHLZbaJZw2BDQAAAGSI%2BS3hrcbq9UxtvBP7Z7KsPxmeBpsisAEAAICMIK4nQ1xLUpLsoijaW5YVq1S63vQ42ASBDQAAAGSAubjOy5Zw4npTQXCcpNHDzpAVBDYAAABgmNm4bpeZrF4T15sLw2OUprY87z7Z9lOmx0Gda3oAAAAAoFsNDNwyg6/OS1jPFHG9JWk6oCg6UJ73gEql72l4%2BJOmR4JYwQYAAAAM%2Be4MvjZvcT3d1WvielvC8FhJUrE4k19LaCYCGwAAAGgzMyvXpt61Jq5bJQyPUpp6ct1H5DiPmB4HIrABAACAtjLzvnWetoTPTBz3mB6hbdK0T1F0mCRWsbOCwAYAAADapPviur2r1y%2B8cNI0/3z5FQQj28RLpe9JSs0OAw45AwAAANph%2BnGdx7CWiOv2CMPDlaYlOc5Tct37xla0YQYr2AAAAEALzZ69lLhuGHE9dSWF4ZEjv1dim7hpBDYAAADQIt23JXwmiOvpCoKFkqRi8fuSYrPDdDkCGwAAAGiB9se1qVPCNzed1Wvieiai6CClab9s%2B3l53q9Nj9PVCGwAAACgyczEdRYQ12Z4Y9vEi8UbDM/S3QhsAAAAoIlm9r41cd0I4nqiIBh5lsXijWKbuDkENgAAANAk7T3MLCtbwiXi2rwoOlBp2lffJp6VXxfdh8AGAAAAmqD9cZ1nxHXzbbpN/AeGZ%2BleBDYAAAAwA%2B2/hitrcT3dK7mmhrie3Pht4onZYboUgQ0AAABMU/ceZjaqPVvDievGjJwm3ivbXivXvcf0OF2JwAYAAACmob2HmWXpfetRxHX2eArDkb8upRKniZtAYAMAAABT1N1bwiXiOruC4GhJUrH4Q7FNvP0IbAAAAGAKiOvpIK7bJYoO3mSb%2BG9Mj9N1CGwAAACgQcS1NPXVa%2BK6vdgmbhKBDQAAADSgfXGdxfetRxHXeRAEI9d1FQo3SkrNDtNlXNMDAAAAAFnW3pPCsxrWEnGdHyPbxMtynN/Lde9XFB1qeqSuwQo2AAAAsBXtPyk8q4jrfCkqDBeM/F7xh4Zn6S4ENgAAALAFbAkfRVznURiO/HUYCWy2ibcLgQ0AAABspr1xnWXEdV6F4SFK06Ic52m57grT43QNAhsAAADYBHE9XVOPa7RSSVF0mCSpUGCbeLsQ2AAAAEAdcb2pqaxeTy%2BuWb1urSAY%2Besycl0X28TbgVPEAQAAALUrrvMQ1tLUt4ZPHXHdemF4mNK0IMdZLcd5RHG8n%2BmROh6BDQAAgK7GqvXmeO%2B6c/Qoig6R5/1axeIPNTxMYLcaW8QBAADQtYjrzRHXnWZ0m3ix%2BAPDk3QHAhsAAABdibjeHHHdiaLocKWpK9d9TI7zmOlxOh6BDQAAgK7TvvetietRxLUZadqnKDpUklQs3mB4ms5HYAMAAKCr5O0ws6GhrN1hTFznzcZt4gR2q3HIGQAAALpC3raEbxrWQ0Mr1Nf3mqb8uBO19jou4tq8KFqgNPXq28QfVRzvY3qkjsUKNgAAADpeXuJ6aGjF2G9b%2BmPNR1x3g5Ft4odIkorF7xueprMR2AAAAOhoeYjrrUV1axHX3SQIjpY0epp4anaYDsYWcQAAAHSsrL9vPdWobt5WceK624ThEUrTglz38fo28X1Nj9SRWMEGAABAR%2Bq0uG4e4ro79WxymjjbxFuFwAYAAEDHyXJcm9kOPoq47majp4mXSjeIbeKtwRZxAAAAdIysv2%2BdvSu3toa47kRhuEBpWpDjrJLjrFQc7296pI7DCjYAAAA6QvtWrace181atZ7Z%2B9eNrl4T152LbeKtRmADAAAg97K%2BJdw84hojguBYSVKpdL3YJt58bBEHAABArmU1rpsd1tNfvSausVEYHq40LctxnpHr3qsoWmB6pI7CCjYAAAByi7ieDHGNzZUUhqOHnX3b8Cydx/gK9jPPPKOrr75ay5cv16pVq7T77rvr5ptvHveZefPmbfXr77jjDm2//faSpMWLF2vNmjUTPrNixQoVi8Wxbw8NDeniiy/W0qVLFQSBFixYoAsvvFBz5sxp0s8KAAAArdYtcT19UzkxfGqI63wLgkUqFG5VsXiDhoa%2BIMkzPVLHMB7Yq1at0rJlyzR//nwlSaI0nfgewLe/PfH/rPz93/%2B9yuXyWFyPOumkk3TuueeO%2B75CoTDu25/4xCe0cuVKXXjhherr69Oll16qc845RzfeeKNKpVITflYAAABolemHtdR4XGcnrKe3et2667iI6/yLogOVJAOy7XUqFH6hIOCvabMYD%2BzFixdryZIlkqQLLrhADz/88ITPHHjggeO%2B/fvf/15PP/20PvWpT0347HbbbTfh85tavny5brvtNl155ZVatGiRJGnu3Lk64YQTdMMNN%2Biss86ayU8HAAAALcSqdSOIa0zGURgeq2LxRhWL3yGwm8j4O9i2PfURbr75ZlmWpdNPP33KX7ts2TJVKhUtXLhw7Pt22mknHXzwwVq2bNmUfzwAAAC0RzfG9dRXr4lrNCYIRhYbi8UfSRoyO0wHMb6CPR0/%2BtGPdNhhh2nHHXec8Mduuukmfec735HneTr00EP1yU9%2Bctw73KtXr9Zuu%2B0my7LGfd2ee%2B6pO%2B%2B8c8azOY7x/2fRNUafNc%2B8vXjuZvDc249nbgbP3Yw8PPeBgVum%2BZWti%2BtWr1rP7M7ryUwtrtevP0VuzsrBcSxJ1qSf6157K0l2km3/QeXyTxSGbzE9UEfI2d8m0mOPPaYnnnhC//RP/zThjy1evFivec1rtNNOO%2Bm5557TFVdcobe//e36wQ9%2BoF122UWSNDg4qP7%2B/glfW6lUtGHDhhnPV6mUZ/xjYGp45mbw3M3gubcfz9wMnrsZ2X3u353m1%2BU3rqenVSeGv1kDA1Odxaw0TdTfX5aUmB4l45ZIukZ9fd%2BVdI7pYTpC7gL7pptukud5OumkiVtU/vEf/3Hs9w899FAdffTROuWUU3T11VfrM5/5zNgf23z1erLvn4rBwarimL%2BR28FxbFUqZZ55m/HczeC5tx/P3AyeuxlZfu6tX7nOZli3bmv41FeupZenOItZlUpZlpVqaKgqAnvbLOsY9fVdozRdqg0bnlaazjY9UmYNDPQ29LlcBXaapvrxj3%2BsY489Vq985Ssn/fz222%2BvQw45RCtXrhz7vkqlorVr10747ODgoCqVyoxnjONEUcTfyO3EMzeD524Gz739eOZm8NzNyNJzz%2BJJ4d0W1yPvXGfj18N0xHEqaeINRdjUHEXRXLnuE3Ld76haPc/0QLmX3RdttuD%2B%2B%2B/XH/7wB73uda9r%2BGs2v/Zrjz320FNPPTXh%2B5988kntscceTZkTAAAA0zezw8yI6y3jQDNsWRC8VpJUKv2X4Uk6Q64C%2B6abblJPT4%2BOP/74hj7//PPP64EHHtABBxww9n2LFi3S4OCg7rjjjrHvW7t2rR544IGxa7sAAABgRtZOCh8aWpHR960l4hrNEIaLlKaeXPchue5y0%2BPknvEt4tVqdex6rDVr1mhoaEg/%2BclPJEmHH364Zs2aJUmKokhLly7VkiVLVC5PPIDj5ptv1m233aaFCxdq%2B%2B2313PPPacrr7xSjuPonHM2vrA/f/58HXfccfr0pz%2BtCy64QH19ffrKV76iOXPm6IwzzmjDzxgAAABbksW4bqeprV636kAzdJs07VcYHqlC4XaVSv%2BloaH5pkfKNeOBvW7dOn3sYx8b932j377mmmu0YMECSdKdd96p9evXb/Xu65133lnPP/%2B8Pv/5z%2Bull15Sf3%2B/jjjiCH30ox8dO0F81Je//GV94Qtf0Gc/%2B1mFYagFCxbosssuU6lUasHPEAAAAJNpfVxnc0v4qKzENavX3SkIXqtC4XYVi9/R0NDnJBVNj5RbVrr5y8iYkfXrX87M4SCdznVtDQz08szbjOduBs%2B9/XjmZvDczTD93LMU16a2gzce2MT1ZGbN6pVlxRocvFV5PqStvWJVKufKtv%2BsDRuuURC80fRAmTN79sSrnrckV%2B9gAwAAoHPMnr2UuBZxjSxwxg47K5c57GwmCGwAAAC0XdZOCieu0e1GA9vzfi7b/oPhafKLwAYAAEBbZekwM5OnhE/9Sq7JENeYviSZoyjaT5aVqFj8lulxcovABgAAQNu0Z0t443FtSvMPNSOuMXNBsETS6DZxjuqaDgIbAAAAbcH71iOIa2RVEByjNC3JcZ6U607t5H2MILABAADQclmJa5NbwqeOuEa79SgMF0mSyuVvGp4lnwhsAAAAtEyWTgrPQlg3/1CzqSGuMRnfP1mSVCz%2BQJa1zvA0%2BUNgAwAAoCWmH9YScd2Iqa1eE9doRBzvpTjeS5blq1T6H9Pj5I5regAAAAB0HlatxyOukR%2BWfP8U9fSsUrn8TVWrHxLrso3jSQEAAKCpiOvxiGvkTRAsVJr2yHFWy/NuNz1OrhDYAAAAaBriejziGvlUVhAsHvm98tWGZ8kXAhsAAABNQVyPR1wjz3z/FElSoXCzbHut4Wnyg8AGAADAjGTlpPB8XcE1irhGNiXJroqi/WRZsUqla02PkxsENgAAAKat9SeF361G4zpLGlu9Jq6RbaNXdpVK/yEpNjpLXhDYAAAAmJaZrVo3GteTI643Iq7RTGF4jJKkIsf5vQqFn5oeJxcIbAAAAExZFraES3mN60YR1zCtoCA4QZJULl9leJZ8ILABAAAwJVmI6yy%2Bb93cQ82Ia2RDEJyiNLVUKPxcjrPK9DiZR2ADAACgYVmJ66whrtGpkuRViqKRX7fl8tcNT5N9BDYAAAAa0tq4zudhZhJxjc7n%2B6dLkkql/5FlbTA8TbYR2AAAANim1l/Dlc/3raeGuEZ%2BRdF8xfGrZVlDKpX%2B2/Q4mUZgAwAAYKuycFJ4Ft%2B3HtW8E8OJa2SZJd9/nSSpXL5SUmJ2nAwjsAEAALBFvG%2B9bcQ1ukkQHK807ZPj/I4ru7aBwAYAAMAEeY/rhx56eey3ViCu0X1K8v2RX38cdrZ1BDYAAADGyfNhZluK6mZHNnGNbhUEpylNbRUKt8pxnjA9TiYR2AAAABiT18PMWrlavSniGt0sSXbgyq5JENgAAACQ9F0NDNwyja8ze5hZo2HdjPgmroHNr%2Bx60fA02UNgAwAAdLnphbVk8n3r6axYzySyiWtgRBS9RnG8myzrZZVK15geJ3MIbAAAgC6Wx8PM2rEVfFPENbApS77/Bkmj28Qjs%2BNkDIENAADQpfIW1%2B16z3rqiGt0lyBYpCQZkOM8p2LxRtPjZAqBDQAA0IVMnxQ%2B1fetTYX15KvXxDW6UUFBcKokqVz%2BquFZsoXABgAA6DKmTwo3tSX8gAN6p/T5xraGT4a4Rmfy/VOUpp487zdy3XtMj5MZrukBAAAA0B553BLeLK2J68lWr4lrdK40HVAQHK9i8afq6blcg4MLTI%2BUCaxgAwAAdIFujuupIq6BxowedlYo/FC2/azhabKBwAYAAOhw3R7XU1m9Jq6BxiXJroqig2RZSf1EcRDYAAAAHcx0XE/lMLNWnBLe/riemvXrT2nqjwe0W632eklSqfSfsqyXDE9jHoENAADQobJwUnijTF%2B/Zeau6zdP4bNANkXRoYrjXWTbgyqV/sv0OMYR2AAAAB0oTyeFtyquG129NhHXrFyjc9jy/ZFV7HL5Ckmx2XEM4xRxAACADjL9sJbaHdetXLWe6qnh29bcuH7hhZPk8l/h6CBBsFjl8jVynKdUKNyiIDjd9EjGsIINAADQIWa2at05cT0Vk69eNz%2Bugc5Tku%2BP7Mro6bnc8CxmEdgAAAAdIG%2BHmbVS87aGE9dAo3z/NKWpI8%2B7U6673PQ4xhDYAAAAOZeXw8xacUr45ohrwIw03U5heKwkqVz%2BquFpzCGwAQAAciwvh5m1Y0s4cQ2Y5ftvkCQVi9%2BTbf/R8DRmENgAAAA5RVxPHXENtE4cz1UU7SfLClUqXWV6HCMIbAAAgBzKQ1y3Y0v4qEZWr4lroPU2Xtn1TUlVs8MYwAUBAAAAOZKFw8wa0c5Va%2BIayI4wPFJJsoNs%2B3mVSt9WrfYe0yO1FSvYAAAAOUFcT0RcA1njyPdfJ0kqly%2BXlJodp80IbAAAgBwgrqeHuAbaz/dPVJqW5bqPyfN%2BYXqctiKwAQAAMi4P13C1833rUY2eGr51xDXQGr0KghMkSeXylYZnaS8CGwAAIMPycphZu818azhxDbSS758mSSoUfiLbftrsMG1EYAMAAGSUybgeGlpBXDeIuAYmSpKdFYaHyLJSlctXmx6nbQhsAACADJpeXN%2BlZsX1ZExsCZeIayBPRlexS6Vr1C1XdhHYAAAAGTJ79tIZxHUjmhPXJhDXQL5E0aFKkh1l2%2BtVLH7P9DhtQWADAABkRB5OCieuRxDXQCOcsVXsnp6vqxuu7CKwAQAAMiAvJ4Wb0Jy7ridDXAOtEARLlKYFue5yue69psdpOQIbAADAsKyfFG7qfetGzfyua%2BIaaJU0rSgMj5fUHVd2EdgAAAAGZf2kcNNhPdnqNXENZJ/vnypJKhZ/IMt63vA0rUVgAwAAGGI6ridDXG9EXAPTF8d7Kor2lWWFKpf/w/Q4LUVgAwAAGJCHa7hMIq6BzrLxyq5/lxSbHaaFXNMDAAAAdJOsnxRuOqwl4hroRGF4tJLk63KcP6hQuFVBcKLpkVqCFWwAAIA2yfpJ4cT1eMQ10EyewnCxJKlUutbwLK1DYAMAALSB6fetiWuJuAbM8v0TJEmFwo9kWS8YnqY1CGwAAIAWMx3XkyGuxyOugdZIkl0VRXvLsiKVSt8yPU5LENgAAAAtlOW4zsr91pPF9eSIayAvgmBkFbtUukZSanaYFiCwAQAAWiTrcT1Td9898ttMNBLX2169Jq6BPAmChUrTklz3cbnuvabHaToCGwAAoAWyfA3XTON687CeaWRvC3ENdJoeheGxkqRy%2BRrDszQfgQ0AANBEs2cvnUFcN8L8ynWzzOy9a%2BIayCvfXyJJKha/L8t6yfA0zcU92AAAAE3S6VvCRx1Rb9vRlesjJmvdLSCuge4Vx/spjneW4/xexeINqtXONj1S07CCDQAA0ATdEtebOuII4hrAdFgKghMljR521jkIbAAAgBnqtLhuxuFlW0NcA5CkIDheaWrL8%2B6VbT9tepymIbABAABmoJPiutWHlxHXAEal6SzF8XxJUrF4g%2BFpmofABgAAmKasxvVU77fe1op1syKbuAawuSAYOU28VPqe4Umah8AGAACYhqxewzWdVetWI64BbEkYHqk0deS6K%2BQ4q0yP0xQENgAAwBS17hquu7WtuB4aWtG0uJ7Ke9YziXDiGsDWpGlFUXSwpJEruzoBgQ0AANCg1t5x3Z73rad7gNl0voa4BjCZIDhGklQsdsY2ceOB/cwzz%2Biiiy7SG97wBu277746/fTTJ3zmggsu0Lx58yb8dvvtt0/47NVXX63FixfrgAMO0Jlnnql77rlnwmeGhoZ00UUXacGCBTrooIP0gQ98QGvWrGnJzw8AAHSGrL5vLU0trtuFuAbQiJFt4p5c9zE5ziOmx5kx1/QAq1at0rJlyzR//nwlSaI0Tbf4uV122UVf%2BtKXxn3fHnvsMe7bV199tS655BKdf/752nfffXX99dfr/e9/v66//nrNmzdv7HOf%2BMQntHLlSl144YXq6%2BvTpZdeqnPOOUc33nijSqVS83%2BSAAAg17Ia11PdEt4uxDWAxvUqig6T592lYvG7Gh6%2ByPRAM2I8sBcvXqwlS5ZIGlmpfvjhh7f4uVKppAMPPHCrP04QBPra176ms88%2BW%2B9973slSYcffrhe97rX6YorrtAll1wiSVq%2BfLluu%2B02XXnllVq0aJEkae7cuTrhhBN0ww036KyzzmrmTw8AAORc3uO6WWF9xGTd2yDiGsDmguBoed5dKpVu0PDwhZIs0yNNm/Et4rbdnBEeeOABvfTSS%2BO2mDuOo1NPPVXLli0bWxlftmyZKpWKFi5cOPa5nXbaSQcffLCWLVvWlFkAAEBnIK5HTCWut7V6TVwD2JIwXKA0LcpxVst1l5seZ0aMr2A36tlnn9Whhx6qWq2muXPn6oMf/ODYyrckrV69WpK0%2B%2B67j/u6PfbYQy%2B//LKef/557bjjjlq9erV22203Wdb4/yuy55576s4775zxnI5j/P9ZdI3RZ80zby%2Beuxk89/bjmZuRpec%2BMHDLNL6qkbCWJjspfFuI621bv/4UuTn4L9ws/VrvVI5jKc8rod2lR1G0QJ53u0qlH6pWO9j0QNOWg3/8SPvss48OOOAA7bnnnnrppZd03XXX6UMf%2BpC%2B8pWv6OSTT5YkDQ4OqlAoTHiH%2BhWveIUk6cUXX9SOO%2B6owcFB9ff3T/hzVCoVbdiwYcazVirlGf8YmBqeuRk8dzN47u3HMzfD/HP/7jS%2BpjsPMxuVhbiW3qyBgSl8PAPM/1rvTGmaqL%2B/LCkxPQoadoyk21Uu/1zl8pcm/XRW5SKw3/3ud4/79uLFi/W2t71Nl1566VhgS5qwKi1pbGv4pn9sS5/b1vdPxeBgVXHM38jt4Di2KpUyz7zNeO5m8Nzbj2duRhaee%2BtWrlsf180O60ZXr7MQ1%2BvXnyKp8UPfTMvCr/VOVamUZVmphoaqIrDzw7IOUG%2BvJctarhdfXKU03cn0SOMMDGz78MZRuQjszdm2rRNPPFFf/OIXVavVVCqVVKlU5Pu%2BfN9XsVgc%2B%2Bzg4KCkjSvZlUpFa9eunfBjDg4OqlKpzHi2OE4URfyN3E48czN47mbw3NuPZ26GiefO%2B9bj5SmuR965zuffp/wzpnXiOJW05RuKkEUVxfG8%2BnVdP1WtdrbpgaYlty99bH6d1%2BiVXaPvYo9avXq1ent7tcMOO4x97qmnnprw9U8%2B%2BeSEa78AAEB3IK7Hy19cA%2BgEYXioJKlQ%2BJnhSaYvl4GdJImWLl2qvfbaa%2Byd64MPPlj9/f368Y9/PPa5OI51yy23aNGiRWPbvxctWqTBwUHdcccdY59bu3atHnjggbFruwAAQPcgrqfHdFy/8MJJxDXQYaJo5HAzz/ulpNDsMNNkfIt4tVodux5rzZo1Ghoa0k9%2B8hNJI/dYV6tVXXDBBTr99NP113/919qwYYOuu%2B46Pfzww7rsssvGfpxCoaDzzjtPl1xyiWbNmqV9991X119/vZ577jn967/%2B69jn5s%2Bfr%2BOOO06f/vSndcEFF6ivr09f%2BcpXNGfOHJ1xxhnt/ckDAACjTMV1Ft%2B3HtXI6nUW4hpA54njvZQkr5RtvyjPu0dheIzpkabMeGCvW7dOH/vYx8Z93%2Bi3r7nmGs2bN099fX366le/qr/85S/yPE/777%2B/rrrqKh177LHjvu7cc89Vmqa69tpr9ec//1lz587VlVdeqXnz5o373Je//GV94Qtf0Gc/%2B1mFYagFCxbosssum3ACOQAA6FzTi%2BtsXMNFXAPoTLai6BAVCreqUPhZLgPbSjd/GRkzsn79yxxU0Saua2tgoJdn3mY8d6X4R%2BMAACAASURBVDN47u3HMzejXc%2B9dXGdv5PCRxHX7cU/Y1pn1qxeWVaswcFbldfD77qZ592m3t4vKor20/r1vzY9zpjZsyde9bwlxlewAQAA2imLcW36fWviGkBWRNHBSlNbrrtStr1GSTLH9EhTQmADAICukOfDzEwdZDaKuAbQLmk6el3XoyoUfqZa7T2mR5qSXJ4iDgAAMBXE9dZNtnpNXANot42nid8xySezh8AGAAAdjbjeOuIaQBZF0b6SJM%2B7x/AkU8cWcQAA0LG4hmvriGsAWRVF85Smjhzn2dy9h80KNgAA6Eh5jeu77%2Bada%2BIa6HZlJcnukiTPM/wPxCliBRsAAHScLN5xnYVV61GNnBq%2BJcQ1gHaJon3lOKvkeXfL9880PU7DWMEGAAAdpbXXcHV%2BXG9t9Zq4BtBOUbS3pPy9h01gAwCAjpHXO66Ja%2BIawHijB505zkOShswOMwVsEQcAALnHSeGTI64B5Emabqck2UG2/bw87z6F4XGmR2oIgQ0AAHItr3HdzoPMiGsAeRRF%2B6pQeF6e9%2BvcBDZbxAEAQG6ZPCmcuN4W4hrAzEXRPpLy9R42K9gAACCXsngNV5a2hEvENYB82xjYv5GUKA/rw9mfEAAAYDPE9eSIawB5lySvVpp6sqyXZNtPmx6nIaxgAwCAXMnjHdftDGuJuAbQKRzF8W5y3Sfkug8rCHY3PdCkWMEGAAC5kcc7rvMS15P8qJP8ceIaQGskya6SJNd92OwgDWIFGwAAZB4nhTeGlWsAnSaKdlWhkJ/AZgUbAABkGnHdGOIaQCfauIK90uwgDWIFGwAAZBaHmTWGuAbQqeJ4N0mS4zwlyxpUmlYMT7RtBDYAAMikPMZ1u8NaIq4BdLY0rShJtpNt/1mO86iiaIHpkbaJLeIAACBzBgZumeZXEteban5cHyXiGkC7xfHI6eGu%2B5DhSSZHYAMAgIz57jS/jrjeVGviujHENYBmiuNdJeXjPWy2iAMAgMyY3sp1d91x3QjiGkAnieNXS8rHCjaBDQAAMqG1d1xvXR7jelur18Q1gE4zuoLtOI9LSiVZJsfZJgIbAAAYlcdruEyuWhPXALpNkuykNLVk2xtkWeuUptuZHmmrCGwAAGAMJ4VPDXENoDsVlKazZVl/kuOsVhRlN7A55AwAABhBXE8NcQ2gmyXJHEmS4zxpeJJtI7ABAEDbEddTQ1wD6HZx/CpJkuOsNjzJthHYAACgrYjrqSGuAWDkPWxJct3fGZ5k23gHGwAAtE3e4tr0FVzENQCMYAUbAABgE8T11BDXALDR6Aq24/xOI1d1ZRMr2AAAoOWydsd1lreES8Q1AGwuSXZUmlqyrJdkWS8oTbc3PdIWEdgAAKClTMS1qfet79pk7KMa79ZxiGsA2JKC0nR7Wdbz9au6CGwAANBF8rYlXGpeXE8XcQ0AWxfHc2Tbo4F9pOlxtojABgAATZe3uDa9JVwirgFgMkmyoyTJcZ4xPMnWEdgAAKCpujWup7slXMpmXBPWALImSWZLkhznWcOTbB2niAMAgKbp1rieCeIaABqzMbCfMzzJ1hHYAACgKYjrqSOuAaBxSbKDJMm2sxvYbBEHAAAzlrW4bvZhZs04HXxzWYzr9etPkZQ09FkAaLckGTk53LZ/LylSFnM2exMBAIBcaV1cZ%2BOk8GacDr65LMa19GZJ2352AGBSmg4oTR1ZVizbXqsk2cX0SBMQ2AAAYNrydMd1s8L6rrs670Cz9etP0cBAQx8FAIOc%2Bl3Ya%2BU4z2UysHkHGwAATEunxvVdd02%2Baj3dVe0sxjXvXAPIk43vYWfzqi5WsAEAwJRk7X1rqblx3SrENQDMXNZPEiewAQBAwzo1rlsZ1hJxDQDNEscjK9hZDWy2iAMAgIYQ1xtN5R1s4hoAmidNt5Mk2fazhifZMlawAQDApLIW13lYtZaIawBottGrurK6gk1gAwCAbTIR11lctR7V6Oo1cQ0AzTf%2BLuxUkmV0ns0R2AAAYKvydMc1cb1txDWATpAk2ylNLVlWTZa1bmzLeFYQ2AAAYIs6La5nuiWcuAaALPCUprNkWevkOM8qirIV2BxyBgAAJpj%2BHdfE9dYQ1wDQHOO3iWcLK9gAAGCc6cf1ZJob1%2B06zIy4BoBsGQnsRzN50BmBDQAAxnRSXDfjlHDiGgCyJ0lGtoUT2AAAIJM67RqudlzBNaq5cb2tsJaIawDI9hZx3sEGAKDLEddb1sjqNXENAO23cQU7e4HNCjYAAF2s0%2B64Jq6JawCdL01nS5Js%2B1nDk0xEYAMA0KU6Ka6buSWcuAaAbIvjHSVJtv1nSUOS%2BozOsykCGwCALpSXO67b/b41cQ0AedCrNO2XZb0kx3lWcbyv6YHG8A42AABdhrjesmzF9VEirgFg6%2BL4VZIkx3na7CCbIbABAOgixPWWZS%2BuG0NcA%2BhWSTKyTdxxnjI8yXhsEQcAoEtk6Y7rrBxmJhHXAJBHSbKDpOytYBPYAAB0gU6J63bebz2KuAaA7NkY2M8YnmQ8togDANDhiOutm2z1mrgGgGwa3SJu20%2BbHWQzrGADANDB2h3XeXjfehRxDQD5NX4FO5VkGZ1nFIENAEAHyssd18Q1J4UDwHQkyWylqS3Lqsqy/qQ03cH0SJLYIg4AQMdp7UnhxPWWENcA0G6e0nS2pGwddEZgAwDQQbiGa9uIawDoHEkyehf2asOTbMQWcQAAOkSW4jprh5lJxDUAdJo4niPXfVCuu0q%2Bb3qaEaxgAwDQAYjrbSOuAaDzxPHOkiTHecLwJBsR2AAA5BxxvW3ENQB0piQZDezHDU%2ByEVvEAQDIsTzccW3qfetGENcAkF9xvIskyXF%2BJymU5BmdRyKwAQDILe64nty2Vq%2BnGtdbD2uJuAaA9kvTv1KalmRZNTnO04rjvUyPRGADAJBHnRDXrV61Jq4BoNPZSpJd5Dir5DiPZyKweQcbAICcIa4nR1wDQHfYuE08GwedsYINAECOtCau23vHNXG9EXENADMzepK462bjoDPjgf3MM8/o6quv1vLly7Vq1Srtvvvuuvnmm8f%2BeBzH%2BuY3v6lly5bpySefVBzHmjt3rj784Q/ryCOPHPdjLV68WGvWrJnw51ixYoWKxeLYt4eGhnTxxRdr6dKlCoJACxYs0IUXXqg5c%2Ba07icKAMAMZSWus3hS%2BCjiGgC6S5KMNJzjrDI8yYhpBfb/z969h0dRH/of/8zeSLgEggQpUU4FJBrAC1UuiqCIx0rhoAJt1YoVsUdFtNbW8lQ9v3p51FZLvIAXLNqK2p4GLVWESqVKqRZphVpFbCV4AIFiQCCAhOxlfn/E3RCySXZ2Z2dmd9%2Bv5%2BlT2Z3MfpnHQN5%2BZ77fTz75REuXLtW2bdtUX1/f7D3DMHTPPfekfK6PPvpIK1as0Mknn6xYLCbTNJu9X19fryeeeEIXXnihrrrqKgUCAf32t7/VlVdeqccee0znnHNOs%2BPPP/98TZs2rdlroVCo2a9vvvlmrVu3Trfffrs6d%2B6shx9%2BWFdeeaVeeuklFRUVpTx2AACcwDZcqSGuAaDwxG8Rb5zBNiUZro7HcmC/8cYbuv766xWLxdS9e/cW8WoY1n5DY8aM0dixYyVJs2bN0vvvv9/s/aKiIi1fvlxdu3ZNvDZy5Ej93//9n5566qkWgd2jRw%2BdcsoprX7eu%2B%2B%2BqzfeeEPz5s3T6NGjJUkDBgzQeeedp9/%2B9re65JJLLI0fAIBsyoW4djusJeIaAApVLNZbphmQYeyTz7dZsdh/uDoey4FdVVWlIUOGqKqqSkcddVTGA/D52l5nze/3N4trqTHiTzjhBL3zzjuWP2/FihUqKSnRqFGjEq/17t1bQ4YM0YoVKwhsAIBnENepIa4BoJAFFYt9WX7/BgUC/1BDg7uBbXkV8U2bNunqq6%2B2Ja7TFYvFtHbtWvXr16/Fey%2B//LIGDRqkU089VVdffbX%2B%2Bc/mD7vX1NTouOOOazHT3r9/f9XU1GR13AAApIq4Tg1xDQCIRo%2BTJAUC77o8kjRmsHv37q3PP/88G2NJ2YIFC/Txxx/rzjvvbPb6mDFjdNJJJ6l3797asmWLHn/8cV166aVatGiRjj228d78uro6denSpcU5S0pKtHfv3ozH5vez85lT4teaa%2B4srrs7uO7Oc/Oal5YuTeOrCmsbLim9uE4W1lL243r37gsUcH1p2dbxZ4zzuObZ5/cbcvt5XDgjFusn6Q8Khd5XQ4O731OW/6j/7//%2Bbz311FMaNWqUiouLszGmNq1evVr333%2B/pk2bptNPP73Ze7fddlvin0877TSdeeaZuuCCCzR//nz9%2BMc/TrzX2nPiVp8fT6akxPlrUui45u7guruD6%2B4856/5wjS%2BpvDiui32xXVbYS2lGtfSZJWWpnioy/gzxnlc8%2BwwzZi6dCmWFHN7KHDEiZKkYPAfKi1N/me9U1IK7LvvvrvZr3fu3KnzzjtPw4YNU2mSvzEOD107ffjhh7ruuus0duxY/eAHP2j3%2BJ49e%2BorX/mK1q1bl3itpKRE27dvb3FsXV2dSkpKMh5jXd1BRaN8IzvB7/eppKSYa%2B4wrrs7uO7Oc%2BOae2Xm2ssrhce1NnvttbjevfsCSa1fT6/gzxjncc2zp6SkWIZhav/%2BgyKwC0W5Gm9S/kR79mySafaw/RNSDfeUAvvZZ59N%2Bvorr7zS4jXDMLIS2Js3b9b06dNVWVmpn/70pynPNh%2B57Ve/fv301ltvyTTNZufYsGFD0me6rYpGY4pE%2BEZ2EtfcHVx3d3DdnefUNc/1Pa6dnLXOlbhufOY6t75f%2BTPGeVzz7IlGTTVu24T8V6xotFx%2B/1ZJf1ckMsa1kaQU2B9%2B%2BGG2x9Gm2tpaTZs2TT169NCjjz7aYmuw1uzYsUNr1qzRxIkTE6%2BNHj1ac%2BfO1cqVKxMriW/fvl1r1qzJ2sw7AABt8Xpce2XWWnI7rlO9JZwFzQDAabFYX/n9WxUI/EPhsMcD%2B3Dbtm1TWVmZgsFgi/cikYg%2B/fRT9e7dO%2BXzHTx4UCtWrJAkbd26Vfv379fvf/97SdLQoUPVsWNHTZ8%2BXbt27dKsWbO0YcOGZl8f3/N68eLFeuONNzRq1Cj17NlTW7Zs0bx58%2BT3%2B3XllVcmjj/55JN19tln69Zbb9WsWbPUuXNnPfTQQyovL9dFF11k9XIAAJAR4jp1xDUAoDWRSF8FgysVCLS%2BtogTLAf2ueeeq//93//VSSe1/Mvpww8/1JQpU7R%2B/fqUz7dr1y7deOONzV6L//qZZ55ReXl5YgZ9xowZLb4%2Bvg3XMcccox07duiee%2B7Rvn371KVLFw0fPlw33HBDYgXxuJ/97Gf6yU9%2BojvuuEPhcFjDhg3TI488oqKiopTHDQBApojr1BHXAIC2RKN9JSn3AvvIZ5oPF4vFLK/Efcwxx7TYq/pI7b0vNc5kL1iwIKXP7Ny5s%2B666y7dddddKR0PAIDdiOvU5UJcE9YA4K54YPv9H8kw9sk0W27N7ATbdmRsaGjQn/70p6SrigMAgCZOxrXd23A5vQUXcQ0ASIVpdlcs1lM%2B36cKBN5ROHy2K%2BNIKbDnzJmjuXPnSmpcJfwb3/hGq8dOmTLFnpEBAJBn0gtribhujrgGACQTiZyoUOhTBYOrvR3YgwcP1qWXXirTNPX888/r/PPPV48ezfcWC4VCGjBggMaPH5%2BVgQIAkMuIa2uIawCAVZFIhUKhFQoG/%2BraGFIK7NGjR2v06NGSGlf9vu6661osHAYAAJLLzi3hktW4zoXnrSXiGgCQnmj0BElSIPBXNe6Bbm19MDtYfgb73nvvzcY4AADISyxmZg1xDQBIVzTaV6YZks/3mfz%2BDYpGj3d8DJYDe9GiRa2%2BZxiGSkpKVFlZqaOPPjqjgQEAkOuIa2uIawBAZoKKRo9XILBOgcDq3AjsWbNmJbbiOnzLrsNf8/l8mjhxou666y4FArYtVA4AQM7I5bh2Oqwl4hoAYI9I5AQFAusUDP5Vhw5d5vjnW67f6upq3XTTTTrzzDM1fvx4HXXUUdq5c6cWL16sN998Uz/%2B8Y%2B1bt06zZ07V%2BXl5br%2B%2BuuzMW4AADyLuLaGuAYA2CUarZAkBYOrXfl8y4H9zDPP6LzzztMPf/jDxGt9%2B/bV0KFDdd999%2BmFF17Qgw8%2BqL179%2Brll18msAEABYW4toa4BgDYKRI5UZLk938gw9gn0%2Bzi6Of7rH7BG2%2B8obPOOivpe6NGjdKf//xnSdLw4cO1bdu2zEYHAEAOIa6tIa4BAHYzze6KxY6WYcQUCLzj%2BOdbDuxoNKrNmzcnfW/Tpk2J57JDoZBCoVBmowMAIEc4Gdf79/%2BDuP4CcQ0AOFIkUilJCgad/wvO8i3iI0eO1IMPPqhjjz1WZ555ZuL1lStX6qGHHkq8tnHjRpWXl9s3UgAAPMrpuE4mV1YKl4hrAEB2RSIDFQq9rlDoTX3%2BubOfbTmwb731Vl1%2B%2BeWaPn26OnXqpKOOOkq7du3SgQMH1KdPH916662JY6%2B44gpbBwsAgNfkaly7EdYScQ0AyL5IZJAkKRD4q6RDkjo49tmWA/voo4/W7373O7344ov629/%2Bpj179qiyslKnn366LrroIhUXF0uSLrvM%2BSXRAQBwEnFtDXENAHBCLHaMYrFS%2BXy7FQy%2Bo3A4tb8D7JDWJtXFxcW67LLLiGgAQMGyP67zdzEzyZ64bj2sJeIaANDEUCQyWKHQnxQMvuloYFte5AwAgEJWVvZqGnH9lojrlohrAEC2RCIDJUnB4JuOfq7lGexwOKwnn3xSixcv1rZt23To0KFm7xuGoQ8%2B%2BMC2AQIA4BVsw2UdcQ0AcEP8Oexg8G1JYUlBRz7XcmDPnj1bv/jFLzRq1CiNHTuWrbgAAAWBuLYuu3HdVlhLxDUAFLZYrI9isRL5fHUKBNYqEhnqyOdaDuylS5dqxowZuv7667MxHgAAPCdX4zrdsI6fr7UQTgVxDQBwl0/R6GD5fG8qGHzTscC2/Az23r17ddppp2VjLAAAeE5p6dI0vir9lcKtxPWqVfbG9ZHna28P7dYQ1wAAL4g/hx0KOfcctuUZ7NNPP10ffvihhmfyn7UBAMgJC9P4mtzchivdmD6Se3FNWAMAmmt6DvsvkiJKcxMtSyzPYN92221auHChli1bpoaGhmyMCQAA1zk9c51MLj1vLRHXAABviUa/LNPsLMPYp0Dg7458puWEnzhxoiKRiG688UYZhqGioqJm7xuGoXfeece2AQIA4DQnn7n2SlzHI/jw81u5WY24BgB4j1%2BRyEkKBt9SMLhSkUj2H3W2HNjnn3%2B%2BDMPIxlgAAHBdIcb14dJ5Aoy4BgB4VTg8SMHgWwqFVurgwZuy/nmWA/u%2B%2B%2B7LxjgAAHBdocd1OohrAICXRSKNf8c0Poed/f2ws/%2BUNwAAOcD%2BuPbWNlzp3vrdFuIaAOB1sdh/HLYf9hpFIsOy%2BnmWFzmTpJqaGn3ve9/TyJEjNWjQIK1bt06SNGfOHK2yaxlSAAAcUkhx3dY5rSCuAQC5wadotPHvm1DoTw58mkXr16/X5MmTtXr1ag0dOlTRaDTx3oEDB/TrX//a1gECAJBN%2BRzXbe2TnQniGgCQS8LhwZKkYPDPWf8sy7eIP/DAA6qoqNDTTz%2BtYDCoJUuWJN476aSTtGzZMlsHCABAtliP6/Set5asxbUdz1u3F9arVrGgGQCgMEQi8cBeJemQpA5Z%2ByzLM9hr1qzR9OnTVVxc3GI18R49emjnzp22DQ4AgGwp5Li2elwccQ0AyEWxWB/FYqUyjIMKBrO7pXRai5wFg8lXXtu7d69CoVBGAwIAINucimunVwrP5jIoxDUAIHcZikROUii0QsHgnxQOp/Z3Szosz2BXVFTotddeS/reypUrNXDgwIwHBQBANpSVvUpcHybVW8StxPXgwZ2IawCA50QigyRJodCbWf0cyzPYU6dO1c0336zi4mJNnDhRkrR9%2B3atWrVKL7zwgh5%2B%2BGHbBwkAQKZycY/rbM5aZyuukyGuAQBuiwd2ILBaUoOk7Nx5bTmwx40bp82bN2vOnDlasGCBJGnmzJny%2B/264YYbNGbMGNsHCQBAJojr5ohrAEChicWOVSzWVT7fXgUCa7O2H3Zaz2Bfc801uvDCC7Vy5Urt2rVLpaWlGjlypMrLy%2B0eHwAAGSGumyOuAQCFyVA0Okg%2B35sKBv/ircCWpF69emnKlCl2jgUAAFvlY1xnspAZcQ0AKGSRSKWCwTcVCr2pgwe/m5XPSDuwAQDwMvvj2p5tuCTiupVPbnNcccQ1ACBdkUjjgtyBwCpJUUl%2B2z8jpcA%2B4YQTWux53RrDMPTBBx9kNCgAADLh1bjOZKVw4pq4BgBkJhrtK9PsKJ9vr/z%2BdYpGW/s7K30pBfaMGTNSDmwAANyUb3Gdzb2tD0dcAwDyn1%2BRyEAFg3/94jZxlwJ75syZtn8wAAB2y7W4zuasdVwqs9fENQCgUMQDOxj8iw4evNb28/MMNgAgL7gd11563jqOuAYAoLn4c9jB4JuSTEn23qlNYAMAcp5TcZ0Li5nFuRvX7X14%2B3G9e/cFikRi7R4HAIAV0ejxMs2QfL5a%2Bf0bFI0eb%2Bv5CWwAQE6zHtf5uw1XnBNxnc1Za2mypOTXFQCAzAQVjR6vQGCdAoF3bA9sn61nAwDAQcR1S7ke17t3X5DScQAApCsSGSBJCgbfsf3cBDYAICcR1y3lelzzvDUAwAnRaH9JUiCwxvZzc4s4ACDn5FNc27UNF3ENAEBq4reFBwL/kBSWFLTt3CkF9rZt2yydtHfv3mkNBgCA9hDXLRHXAACkLhbrLdPsLMPYr0BgnSKRU2w7d0qBPWbMGBlG6suXr1%2B/Pu0BAQDQGi/GdVuRTFy3j7gGADjPUCQyQMHgGgUCa5wP7HvuuScR2JFIRI899piKioo0btw49ejRQ7W1tVqyZInq6%2Bt13XXX2TY4AADicimunXjeWiKuAQBIVzTaGNjB4BrV10%2Bz7bwpBfbFF1%2Bc%2BOfZs2erX79%2BeuKJJ%2BTzNa2RNmPGDH3nO9/Rpk2bbBscAAD273EtEdctXyOuAQCFJFsLnVleRXzRokW69NJLm8W1JPl8Pl166aX63e9%2BZ9vgAACFzf64XqVCiOszziCuAQBoSyTSuNCZ3/%2BBpOTrq6TDcmDv2bNH9fX1Sd%2Brr69XXV1dxoMCACA7cZ1cvsW1la8lrgEAhcg0eygWO0qGEftiNXF7WA7syspKPfroo/rss8%2Bavf7ZZ5/p0Ucf1Yknnmjb4AAAhcntuH7vvQPEdcsztPXJbY4rjrgGAHhJ03Zd79l2Tsv7YM%2BaNUtXXnmlzj33XA0fPlxlZWWqra3Vqi9%2Benj66adtGxwAoPB4Ia6TniVH47q1ryOuAQCFLho9RsGgFAh8ZNs5LQf2KaecooULF2rOnDlavXq19uzZo27duumcc87Rtddeq%2BOPP962wQEACotTcZ1Le1xLxDUAANkQi5VLkvx%2BFwNbkvr166eqqirbBgEAAHGdHHENAEB2RKPHSLI3sC0/gw0AgN2I6%2BSIawAAsqdpBnuL7FpJPK0Z7D179mjx4sWqqalpsaK4YRi65557bBkcACD/WY/r7O9xLRHXbXxym%2BOKI64BAF5nml0Vi5XI56uT31%2BjaLS1vxdTZzmwt23bpsmTJ%2BvgwYOqr69XaWmp9u7dq2g0qq5du6pz584ZDwoAUBhyKa6dWsxMsjeuk4W1RFwDACBJsdix8vnWKRD4yJbAtnyL%2BM9%2B9jP1799fb731lkzT1JNPPqm1a9fq9ttvVygU0rx58zIeFAAg/3kxrletIq7b%2BOQ2xxVHXAMAckksFn8O%2B1%2B2nM9yYK9du1aXXHKJOnToIEkyTVOhUEiXXXaZJk%2BerJ/%2B9Ke2DAwAkL%2B8GtdJP5m4VipxXVt7PnENAMg50ai9K4lbDuxdu3aprKxMPp9Pfr9f%2B/fvT7w3dOhQvfPOO7YMDACQn4jr5NyL6%2BGyI64BAMhF0WhvSfbthW05sI866ijt3btXklReXq73338/8d4nn3wiv99vy8AAAPmHuE7O3bhu9VNFXAMA8l0sdqwkye/fIMnM%2BHyWFzk75ZRTtH79ep177rk677zzNHfuXDU0NCgYDGr%2B/Pka3t5PCQCAgkRcJ%2BfduG4fcQ0AyHWxWA9JkmEckGHsk2mWZHQ%2By4E9bdo0bd26VZI0Y8YM1dTU6JFHHpFpmjr99NN16623ZjQgAED%2ByZe4tjOsJeIaAAD3Fck0i2QY9TKMWucDe9CgQRo0aJAkqWPHjnr88ccTz2GzRRcA4Ej2xnXrhZssrr26x7WU/bhmpXAAAFJjmqUyjO3y%2BXYqFuuX0bksB3YyhDUAIBniOjniGgAA74jFusnnawzsTFle5EySampq9L3vfU8jR47UoEGDtG7dOknSnDlztMrun0IAADmJuE6OuAYAwFtMs6skyeerzfhclgN7/fr1mjx5slavXq2hQ4cqGo0m3jtw4IB%2B/etfZzwoAEBuI66TI64BAPAe0%2BwmyZ7AtnyL%2BAMPPKCKigo9/fTTCgaDWrJkSeK9k046ScuWLct4UACA3OVEXFtZzEwirtv41LYH9QXiGgCQz2KxxoXNXAnsNWvW6P7771dxcXGz2WtJ6tGjh3buzPy%2BdQBA7rEe1pJbce3kNlwScQ0AgJe5eou4JAWDwaSv7927V6FQKKMBAQByD3HdOuIaAABvi8UaA9swdmV8LsuBXVFRoddeey3peytXrtTAgQMzHhQAIHcQ160jrgEA8D5Xn8GeOnWqbr75ZhUXF2vixImSpO3bt2vVqlV64YUX9PDDD2c8KABAbvBiXKfzvHVbX5cu4hoAgNxgmo3bThvG7ozPZTmwx40bp82bN2vOnDlasGCBJGnmzJny%2B/264YYbNGbMmIwHBQDwPnsXM5MKPa5b%2BxriGgCAbGu8sdswYhmfyXJgS9I111yjaGtkygAAIABJREFUCy%2B8UCtXrtSuXbtUWlqqkSNHqry83PK5Nm3apPnz5%2Bvdd9/VRx99pL59%2B2rx4sUtjluxYoWqqqpUU1OjXr166dvf/rYuu%2ByyFsfNnz9fzz33nGprazVgwADdcsstGjZsWLNj9u/fr5/%2B9Kd69dVX1dDQoGHDhun2229Pa/wAUIiI69a1FddWZq0l4hoAACeYZvzJaYcDu76%2BXrfeeqsuueQSnXbaaZoyZUrGA/joo4%2B0YsUKnXzyyYrFYjJNs8Uxa9eu1XXXXaeJEydq1qxZWrNmje6%2B%2B26FQqFmY5g/f76qqqp00003qbKyUtXV1br66qtVXV2tioqKxHE333yz1q1bp9tvv12dO3fWww8/rCuvvFIvvfSSioqKMv49AUA%2By5e4tjusJeIaAIDcZHzx/w4HdlFRkZYvX65vfvObGX9w3JgxYzR27FhJ0qxZs/T%2B%2B%2B%2B3OGbu3LmqrKzUPffcI0kaPny4tm/froceekiTJk2Sz%2BdTQ0ODHnvsMU2dOlVXXXWVJGno0KGaMGGCHn/8cVVVVUmS3n33Xb3xxhuaN2%2BeRo8eLUkaMGCAzjvvPP32t7/VJZdcYtvvDQDyDXHdOrviOllYS9mLa8IaAID4DHbLyd50z5SyE044Qf/6178y/uDEAHxtD6GhoUGrVq3S1772tWavT5gwQbW1tfrggw8kNe7PvW/fPo0fPz5xjN/v17hx47RixYrEzPiKFStUUlKiUaNGJY7r3bu3hgwZohUrVtj12wKAvENct464BgAgl7k0gy1J3//%2B93XLLbfo%2BOOP19ChQzMeQHs2b96scDisvn37Nnu9f//%2BkqSamhoNGjRINTU1ktTiuH79%2BunAgQPasWOHevXqpZqaGh133HEyDKPF%2Bf785z9nPF6/P62txZGG%2BLXmmjuL6%2B4Ot697aelSi19BXEvZjOvMbwnfvfsCBdJaiSW73P53vVBx3Z3HNc8%2Bv99QUzgBrTOM%2BCJnpgKBzL4nLf/Vescdd%2BjAgQO64oorVFJSop49ex4xOEMvvfRSRoM63N69eyVJJSUlzV6P/zr%2Bfl1dnUKhUItnqLt2bdw0fM%2BePerVq5fq6urUpUuXFp9TUlKSOFcmSkqKMz4HrOGau4Pr7g53rvtCi8cT15K341qarNLSFA91CX/GuIPr7jyueXaYZkxduhTLjhlJFILG70PDiKm0NPnfyamyHNjdunVTt27dMvrQdBw545zs9WTHxG8Nb%2B%2B4tl63oq7uoKJRvpGd4Pf7VFJSzDV3GNfdHW5ddzdnrpOFtURct/GpbbzXZPfuCyQlv7ZewJ8x7uC6O49rnj0lJcUyDFP79x8UgY1UGEaDOndu/A8ze/Yk/zsy1fC2HNjxva%2BdEp%2BBPnJ2ua6uTlLTTHZJSYkOHTqkQ4cOqUOHDi2Oi5%2BnpKRE27dvb/E5dXV1LWbJ0xGNxhSJ8I3sJK65O7ju7nDyutv7zHXrhZtrcZ3OHtetfZ07K4Xnxvctf8a4g%2BvuPK559kSjpuxYtAr5r2lZsMy/Hz3/0EefPn0UDAa1cePGZq9v2LBBUuMz1of/f/xZ7Liamhp16tRJRx99dOK4jz/%2BuMV2YBs2bEicAwAKHXGdXO7HNQAAaMm%2BRc48H9ihUEjDhw/X0qXNb1NcvHixysrKVFlZKUkaMmSIunTpoiVLliSOiUajWrp0qUaPHp24/Xv06NGqq6vTypUrE8dt375da9asSWzbBQCFjLhOjrgGACBfHZIkmWbmayK4vn7owYMHE9tjbd26Vfv379fvf/97SY37WHfv3l0zZszQt771Ld12222aMGGC1qxZo%2Brqat15552Jbb5CoZCuvfZaVVVVqXv37qqsrFR1dbW2bNmi2bNnJz7v5JNP1tlnn61bb71Vs2bNUufOnfXQQw%2BpvLxcF110kfMXAAA8hLhOjrgGACB/GcY%2BSZJpds/4XK4H9q5du3TjjTc2ey3%2B62eeeUbDhg3TqaeeqkcffVSzZ8/WokWL1KtXL912222aMmVKs6%2BbNm2aTNPUggULtHPnTg0YMEDz5s1TRUVFs%2BN%2B9rOf6Sc/%2BYnuuOMOhcNhDRs2TI888kiLFcgBoJA4EddWVgqXiOs2PrXtQX2BuAYAoH2G0bhuVyyW%2BRYbhnnkw8jIyO7dB1iowiGBgE%2BlpZ245g7jursj29eduE6OuHYef8a4g%2BvuPK559nTv3kmGEVVd3XLlysKOcFco9Ad17PigGhr%2BU3v3Jt%2BetKys5VbPybg%2Bgw0AcFeuxHVbYd3a12SCuAYAoDAYxn5JUiyW%2BXbUnl/kDACQPcR1csQ1AACFIx7Yppn5LeIpzWCfcMIJiVW4U7F%2B/fq0BwQAcIbX4jqdW8Lb%2Brp0tRXXVsJaIq4BAMgF8UXO7HgGO6XAnjFjRrPAfvHFF3XgwAGNGTNGPXr0UG1trV5//XV17NhRkyZNynhQAIDsshbX7RQucZ0UcQ0AQG5wfAZ75syZiX9%2B6qmn1KNHD7388svq1Knph4f9%2B/fryiuvZCVuAPA44jo5u%2BI6WVhL2YtrwhoAgMz4fPatIm75Geznn39e06dPbxbXktS5c2dNnz5dzz//fMaDAgDYr6zsVeI6ieHDiWsAAAqZq/tg79ixQ36/P%2Bl7fr9fO3fuzHhQAAB72fu8tZRPcd2W7MU1t4QDAOAVhrFHkhSLZR7Ylmew%2B/Xrp1/84hcKh8PNXm9oaNDTTz%2Btvn37ZjwoAIB9iOvkiGsAACDVy%2BdrnCSORo/L%2BGyWZ7C/%2B93vasaMGRo7dqzOO%2B88lZWVqba2Vn/4wx%2B0c%2BdOzZ07N%2BNBAQDsQVwnxzZcAABAkny%2Bf0tq3APblVvEzz77bP385z9XVVWVnn/%2BecViMRmGoZNOOkn33nuvzmjtpxIAgKPyJa7Z47oJcQ0AgL38/u2SpFisr6TUt6ZujeXAlqQRI0ZoxIgROnjwoOrq6lRSUqLi4uKMBwMAsAdxnRxxDQAADufzNQa2HbeHS2k8g324%2BN7YwWDQlsEAADJHXCdHXAMAgCPFAzsS6WfP%2BdL5olWrVukb3/iGhgwZonPOOUf//Oc/JUl33HGHli1bZsvAAADWuRnX7713gLhueYa2PrXtQX2BuAYAIHvit4hHo/Ys1m05sP/yl7/oqquu0qFDhzRt2jTFYrHEe6WlpXrxxRdtGRgAwBp743qVrMZ10rO4HNep7HFNXAMAULh8vq2SpGjUpRnshx9%2BWKNGjdKiRYv03e9%2Bt9l7J5xwgj788ENbBgYASJ39cZ1crsV1W9oKa%2BIaAIBCcEg%2B36eSXAzs9evX65vf/Kakpmew47p3765du3bZMjAAQGqI65bsvCVcIq4BAMhHPt8OSVIsViLTPMqec1r9Ar/fr3A4nPS9Xbt2qVOnlj%2BEAACyg7huibgGAACpiN8eHov1kx1bdElpBPbgwYP10ksvJX3v1Vdf1SmnnJLxoAAA7XMirvfv/0fBxvXgwZ2IawAA8pjfv0mSFIkMsO2clvfB/s53vqOrrrpKM2bM0IUXXijDMPTuu%2B/qhRde0Kuvvqpf/vKXtg0OAJCcU3GdTKHEdTLENQAA%2BSMQqJEkRSL2TRJbDuwzzjhD9913n%2B655x4tX75cknTnnXeqpKRE9957r0477TTbBgcAaIm4bsm9uG7ng1OIa8IaAAB3%2BP0fSZIikVNtO6flwJakiRMn6vzzz9fatWu1c%2BdOlZaWasiQIerYsaNtAwMAtFRautTiV%2BR3XLcX1pJbcc2sNQAAXmYYe%2BTz1co0DUUig207b1qBLUlFRUUaMWKEbQMBALRnoYVj2wpribhu%2BRrPWwMAUDj8/g2SpFisv0yzi23ntbzI2QsvvKBHHnkk6XuPPPKIFi1alPGgAADNWZu5Jq4l4hoAALTO7298/joctneRbsuBvWDBApWUlCR9r7S0VM8880zGgwIANLH2zDVxfcYZxDUAAGhb0wJn9j1/LaVxi/imTZs0YEDyZcz79eunTZs2ZTwoAEAjr8V1W5Hslbi28rXENQAAhalpgTN7Z7DTegZ73759SV/fv3%2B/otFoRgMCADQirpuzc6VwibgGAKBQGcZe%2BXyfSpIikdb%2B7k%2BP5VvEKyoq9MorryR9b/Hixa3ObgMAUkdcNxk%2BnLgGAAD2iS9wFo32l2kmf/w5XZYD%2B7LLLtOrr76qH/7wh3r33Xe1Y8cOvfvuu5o1a5aWLVumb33rW7YOEAAKDXHdxO7FzCTiGgCAQhcPbLsXOJPSuEV8woQJ2rhxo%2BbNm6eXXnop8brP59O1116r//qv/7J1gABQSIjrJu7ucS0R1wAA5KdAYJ0kKRweZv%2B50/miG2%2B8UZMmTdJbb72lzz77TN27d9eZZ56p8vJyu8cHAAXBWlhLXo5rOxDXAAAgO6IKBD6QJIXDqf2dbkVagS1JxxxzjL7%2B9a/bORYAKEj5FteZzl4T1wAAIFv8/o9lGAcVi5UoGq20/fxpB/auXbu0detWHTp0qMV7p59%2BekaDAoBCQVw3525ct/fh7cc1YQ0AgLf5/Y23h0ciwyX5bT%2B/5cD%2B9NNPdcstt%2Bjtt9%2BWJJmmKUkyDEOmacowDK1fv97eUQJAHiKum2QS1q19PYuZAQCAIwWDja3a0DAiK%2Be3HNh33XWX1q9fr%2B9///uqqKhQKBTKxrgAIK/ZG9etl22yuE4W1lLrgZzK89bENXENAID3mfL735ckRSIeCezVq1frlltu0aRJk7IxHgDIe8R1E%2BIaAAA4xefbJp9vt0wzpHB4SFY%2Bw3JgG4ahL33pS9kYCwDkPeK6CXtcAwAAJ8VXD49EviKpKCuf4bP6BV/96lf1%2BuuvZ2MsAJDXnIjr/fv/4VhcZ4K4BgAATmvanis7t4dLacxgX3DBBbr99ttlmqbOOeccdevWrcUxAwcOtGVwAJAvnIrrZLIV1%2BnMXqcS1hJxDQAA7BdfQdxTgX3FFVdIkp599lk999xzzd5jFXEAaMlaXGd/pXApf%2BKaPa4BAEAqDGOX/P6tMk2fwuFhWfscy4F97733ZmMcAJCXiOtGxDUAAHBTIND481I0erJMs%2BVd2LZ9jtUvuOiii7IxDgDIO8R1I6dWCpeIawAAkFww2Lg9V0PDWVn9HMuLnB1u48aNeuedd/T555/bNR4AyAvEdSPiGgAAeEEg8K4kKRzObmBbnsGWpEWLFmn27Nmqra2VJC1cuFADBw7UjTfeqDPPPFNf//rXbR0kAOQS4jrzW8JbO4d9i5lJqcb17t0XSIqldCwAAPAew/hUPt92maZf4XBqf/%2Bny/IM9tKlSzVr1ixVVlYmVhOPGzhwoJYuXWrrAAEgl%2BRjXFvl/bg%2BQ6nEdWNYT273OAAA4G3x568jkVNlml2y%2BlmWA3vevHm6%2BOKL9fjjj%2Bsb3/hGs/f69u2rDRs22DY4AMgl%2BRrXVmav7VjMLPtx3T5uCQcAIH/En78Oh0dl/bMsB3ZNTY2%2B9rWvJX2vW7du2rNnT8aDAoBck69xLbUevcmOSwV7XAMAAOeYieevs73AmZRGYBcXF2vfvn1J39uxY4e6du2a8aAAIJfkc1wfrq3QJq4BAIAX%2BXz/ls/3qUwzkNX9r%2BMsL3J26qmn6rnnntP557f8IeTFF1/U0KFDbRkYAOSCQonrw6Ua00dij2sAAOC0puevvyKpc/Y/z%2BoXzJgxQ5deeqkmT56sCRMmyDAMLVu2TI888oj%2B9re/qbq6OhvjBADPKcS4TgfbcAEAALcEAs7sfx1n%2BRbxwYMH68knn9Tnn3%2Bu%2B%2B67T6Zp6oknntDHH3%2BsefPmacCAAdkYJwB4itfietUq%2B%2BK6rXNZRVwDAAD3mIkZbCcWOJPS3Ad7%2BPDhWrp0qTZv3qydO3eqtLRUxx13nN1jAwDPsRbWUttx3XrFWo3rVj89jbi2C3ENAADc5PNtl8%2B3U6YZVDjszKPMaQV2XJ8%2BfdSnTx%2B7xgIAnlZocb1qlf3PW0vENQAAcEYg8J4kKRI5TVJHZz7T6hcsWrSo3WMuvPDCtAYDAF5VaHGdCfdWCpeIawAAENf0/PVI5z7T6hfMmjUr6euGYST%2BmcAGkE/yPa7tRFwDAABvOPz5a2cWOJPSCOzly5e3eG337t1avny5lixZoqqqKlsGBgBe4ERc27VSuJR%2BXA8fnvksNntcAwAAr3Dj%2BWspjcAuLy9P%2BtqgQYMUiUT0zDPP6L777rNlcADgJq%2BtFC5ld%2BY6HsLxz7Dy/DVxDQAAvKTp%2BevT5dTz11KGi5wdacSIEfrud79r5ykBwBWFFteHsyOsWzsPi5kBAAAnuPH8tZTGPtht2bp1q3w%2BW08JAI4r5Li2grgGAADe5M7z11IaM9h//etfW7zW0NCgf/7zn3riiSc0YsQIWwYGAG4grlNDXAMAAK9qev46pHD4dEc/23JgX3755c1WDJck0zQlSWeccYZuv/12e0YGAA4jrlNDXAMAAC8LBNZJkiKRIXLy%2BWspjcB%2B5plnWrzWoUMHlZeXq0ePHrYMCgCcRlynxo7FzCTiGgAAZE8g8KEkKRx2/u5qy4E9dKhzS5wDgBMKJa7TWR38cNldKVwirgEAgB38/g8kSeHwMMc/29ZVxAEg1xRaXKfLvW24JOIaAACkyjDq5PdvlpQjgT1mzJgWz2C3xjAMvfbaa5YHBQBOKJS4lhpDOJ3Itvq8tURcAwAA9/j9jbeHR6PHyzSPcvzz07pF/O2331Ztba1OPfVUlZWVqba2VmvXrlXPnj01bJjz/5UAAKwqpLiOs3pruLtxnVpYS8Q1AABo0vT8tTtdajmwhw8frrVr12rZsmXq3bt34vWtW7dq2rRpGjp0qC666CJbBwkAdirEuLaKlcIBAEAuCgTWS5LC4TQXncmQz%2BoXPPnkk5o5c2azuJak8vJyzZgxQ/PmzbNtcABgN/viepWI60bENQAA8IZw4hZxtwLb8gz25s2b1aVLl6Tvde3aVVu3bs14UABgN2thLbUf18nla1yzDRcAAPA6v3%2BjDKNBsVipotH%2BrozB8gx2eXm5Fi5cmPS93/zmNy1mtgHAbcR1aohrAACQy%2BK3h0ciw5RG6tozBqtf8J3vfEc/%2BtGPNHnyZI0fP149evTQzp07tXjxYq1bt0533313NsYJAGlx4nlribiOI64BAIBb/P5/SpIaGtxbeNtyYF988cWSpAcffFD33Xdf4vWysjLdddddmjRpkn2jA4AMuLmYmZQ8rtvbKsvpuM7%2BSuEScQ0AAJwQCHwkSYpETnNvDOl80cUXX6yLLrpIGzdu1J49e9StWzf17ds35f2xASDbcm2lcIm4bg1xDQAA2mMY%2B%2BTzbZckRSJt/WySXWkFtiQZhqF%2B/frZORYAsAVx3T5397iWiGsAAGAnv3%2BjJCka/Q%2BZZqlr40jrye%2Bamhp973vf08iRIzVo0CCtW7dOkjRnzhytau%2BnSADIIuK6fcQ1AADIN/HAjkROdnUclgN7/fr1mjx5slavXq2hQ4cqGo0m3jtw4IB%2B/etf2zrAuMsvv1wVFRVJ//fKK69IkmbNmpX0/T/96U8tzjd//nyNGTNGgwcP1qRJk/T2229nZdwAnENcty%2BdPa7ti%2BszRFwDAIBs8PtrJLkf2JZvEX/ggQdUUVGhp59%2BWsFgUEuWLEm8d9JJJ2nZsmW2DjDu//2//6f9%2B/c3e%2B2Xv/ylli1bphEjRiReO/bYY/XAAw80O%2B7IW9nnz5%2Bvqqoq3XTTTaqsrFR1dbWuvvpqVVdXq6KiIivjB5BdxHX7WCkcAADkq5wN7DVr1uj%2B%2B%2B9XcXFxs9lrSYktu7Khf/%2BWG4XffPPNOvPMM9W9e/fEa0VFRTrllFNaPU9DQ4Mee%2BwxTZ06VVdddZUkaejQoZowYYIef/xxVVVV2T94AFlFXLePuAYAAPnroHy%2BLZKkcLj1FnRCWs9gB4PBpK/v3btXoVAoowGlas2aNfrkk080YcIEy1%2B3b98%2BjR8/PvGa3%2B/XuHHjtGLFCpmmafdQAWQRcd0%2B4hoAAOQzv/9jGYapWOxLMs2ero7F8gx2RUWFXnvtNY0ePbrFeytXrtTAgQNtGVh7Fi9erOLiYp177rnNXt%2B8ebNOO%2B001dfXa8CAAbruuus0duzYxPs1NY23DvTt27fZ1/Xr108HDhzQjh071KtXr7TH5fen9d8skIb4teaaO8tL1720dKmFo92Pa6%2BEteStuN69%2BwIF0t7TInu89O96IeG6u4Pr7jyuefb5/YYkthEuBMFgY%2BNFo6coEHD3e8ryjzRTp07VzTffrOLiYk2cOFGStH37dq1atUovvPCCHn74YdsHeaRIJKLf//73Ovfcc9WxY8fE6yeeeKIGDx6s/v37a9%2B%2BffrVr36lGTNm6KGHHtJXv/pVSVJdXZ1CoZCKioqanbNr166SpD179mQU2CUlxWl/LdLDNXeH%2B9d9oYVjievDeWmPa2mySt3bSSMl7v%2B7Xpi47u7gujuPa54dphlTly7FkmJuDwWO2CRJCgZPV2lp8skCp1gO7HHjxmnz5s2aM2eOFixYIEmaOXOm/H6/brjhBo0ZM8b2QR7pzTff1K5du5rd5i1JV1xxRbNfjxkzRt/85jf18MMPJwJbatzD%2B0jxW8OTvWdFXd1BRaN8IzvB7/eppKSYa%2B4wL1x3%2B2auWy9i4jr7cb179wWSkl9PL/DCv%2BuFiOvuDq6787jm2VNSUizDMLV//0ER2IWhY8cN8vul/ftPUDicnZ8tUg33tG7Ku%2Baaa3ThhRdq5cqV2rVrl0pLSzVy5EiVl5enczrLFi9erG7dumnkyJFtHufz%2BfSf//mfuv/%2B%2B1VfX6%2BioiKVlJTo0KFDOnTokDp06JA4tq6uTlLTTHa6otGYIhG%2BkZ3ENXeHG9fd2vPWEnHdnJfiuvGZ69z4vuXPGHdw3d3BdXce1zx7olFTEusr5T8zscBZQ8MA1/%2BDVdpPvfXq1UtTpkyxcywpqa%2Bv1/LlyzVhwoRWF1s73JGLlsW37KqpqVFlZWXi9ZqaGnXq1ElHH320vQMGYAviun3Zj%2Bu2wlpiQTMAAOA0w9glw6iXafoVjX7Z7eGkH9hS4/PKP//5z/XRRx/p6KOP1uWXX67jjz/errEl9cc//lEHDhxIafXwWCymV199Vccff3zimeshQ4aoS5cuWrJkSSKwo9Goli5dqtGjR2d8izgA%2BzmxUriUn3HtzGJmEnENAADc4Pc3zl7HYsdJcmZHq7akFNg/%2BclPtHTpUr3xxhuJ1z7//HNNmjRJ27ZtS8wSv/LKK6qurm6xQredXn75ZfXu3Vtf%2BcpXmr2%2BdetWzZo1S%2BPHj1efPn20d%2B9e/epXv9L777%2BvRx55JHFcKBTStddeq6qqKnXv3l2VlZWqrq7Wli1bNHv27KyNG0B6iOv25cI2XBJxDQAA7OfzbZUkRSIDXB5Jo5QCe%2B3atRo3blyz15599llt3bpV3/72t3X99ddrw4YNmjlzpp588knde%2B%2B9WRns3r17tXLlSl1xxRUtZpo7deqkzp07a%2B7cufrss88UDAY1aNAgPfnkkzrrrLOaHTtt2jSZpqkFCxZo586dGjBggObNm6eKioqsjBtAetzc41ryflznyjZchDUAAMgWv78xsKPR7N5JnaqUAnvLli2aOnVqs9def/11de/eXT/4wQ/k9/t1yimn6Morr9Szzz6blYFKjQuQvf/%2B%2B0nf69atmx577LGUzmMYhqZPn67p06fbOTwANiKu20ZcAwAASD7fJ5KkaDSHZrDr6urUs2fPxK8jkYjee%2B89jR07Vn6/P/H6iSeeqNraWvtHCaCguBnXrYW1RFwfNoI23mtCXAMAgGzz%2BxsDOxLJoRnsHj166NNPP038%2BoMPPlAkEtGgQYOaHefz%2BRQKuf9gOYDc5cW4biuspdyMa2e24QIAAMimevl8jZ3qlVvEfakcNHDgQFVXVycWM3vppZdkGIZGjBjR7LiNGzeqrKzM/lECKAjEdduIawAAgCbx569jsaNkmke5PJpGKc1gX3311brkkkv01a9%2BVaWlpfr73/%2Bu0047TQMHDmx23Ouvv67BgwdnZaAA8htx3TarK4VLxDUAAMhvTc9fe2P2WkpxBvvkk0/Wo48%2Bqp49e%2BrAgQOaMmWK5syZ0%2ByY2tpa/fvf/9a5556blYECyF/EddvS2YbLWlwPF3ENAAByjc/XuP5XNPpldwdymJRmsCXp7LPP1tlnn93q%2B2VlZXrppZfsGBOAAkJct83dPa4l4hoAAHiVz7dTkhSNHuPySJqkHNgAYDf74rr1Is7VuM6VlcIl4hoAALgjPoMdi5W7PJImKd0iDgB2I65bR1wDAAC0Lz6D7aXAZgYbgOOI69blSlwT1gAAwG2GEd%2Bii1vEARQgJ563lohribgGAAD5rl4%2BX50kb81gc4s4AEcQ120jrgEAAFLn8%2B2SJJlmJ5lmN5dH04QZbABZR1y3jT2uAQAArGnaousYSYa7gzkMgQ0gq9zchksirr84W1sjaOO9JsQ1AADwkqYVxL3z/LVEYAPIIuK6dc7cEi4R1wAAIB8ZRuMt4l56/loisAFkCXHdOveft5aIawAAkMviz2BHo19yeSTNEdgAbOdmXLcW1hJxfdgo2nm/EXENAAC8yufbJ0mKxcpcHklzBDYAWxHXrXM/rlMLa4m4BgAA3mYYeyVJpnmUyyNpjsAGYJtcjGu3FzOTiGsAAACrDCO%2BBzaBDSAPeTGuvTBrLeVOXBPWAAAgV8RnsAlsAHnHvrjOrz2u0wlribgGAABom5mYweYWcQB5hbhOzs64ZhsuAACAw30uw4hKkmKx7i6PpTmf2wMAkLuI6%2BSIawAAgOzx%2BeKz150lFbk7mCMwgw0gDQtVWprqsek9by0VTlxbvyVcIq4BAECh8urz1xIz2AAsKi1dauFo4jqOuAYAALCHV5%2B/lpjBBmCBEyuFS8R1eouZScQ1AAAoBE1bdHnr%2BWuJwAaQIje34ZK8G9dthbVEXAMAANjNMBqpndWrAAAgAElEQVR/LjTNbi6PpCUCG0C7iOvkvBHXqYW1RFwDAID8YBgHJUmxWBeXR9ISz2ADaBNxnRxxDQAA4A7D%2BFxSfBVxb2EGG0CriOvk7NyGS8puXBPWAAAg38RnsE3TezPYBDaApNyM69bCWiKuvxhFG%2B81Ia4BAEA%2BIrAB5BTiOjk745ptuAAAANLTdIs4gQ3A44jrlpx73loirgEAANrm5UXOCGwACfbFtX17XEvE9RcjaXsgXyCuAQBAvmMGG4DnEdcteWOlcIm4BgAAaNK0DzaBDcCDvBjX7YW1RFwfjrgGAACFgxlsAB5FXLfkjbhmj2sAAIBk2AcbgOc4sZiZlF9x7bVtuCTiGgAAFJqoDCMsSTLN5D9/uYnABgoQcd1SurPWEnENAADgnPrEPxHYAFxHXLeUa3FNWAMAgEJlGI2BbZo%2BSR3cHUwSBDZQQNzc41oqjLjO9jZcu3dfICmW0rEAAAD5pimwO0sy3B1MEgQ2UCCI65ZybY9rabKk1rc0AwAAyHfxwJY6ujqO1vjcHgCA7COuW8q1uG6cuQYAACh08Rls7z1/LRHYQN4jrlvKtbjmmWsAAIBGTbeIe3MGm1vEgTxGXDfXXlhLTu1xLRHXAAAA1jUFtjdnsAlsIE%2B5GdethbXUflx7bdZaIq4BAAC8g8AG4DDiujnvxDV7XAMAAGTCMA5J4hZxAA6xL67t2%2BNaIq6JawAAgMwZxkFJ3p3BZpEzII8Q180R1wAAAPmlKbC7uDyS5JjBBvIEcd1crsU1YQ0AANC%2BpsAucXkkyRHYQB4grps4u1K4RFwDAAA4xzA%2BlyTFYp1dHklyBDaQ41KP6/QWM5OI6zbO1tZo2h%2BMiGsAAAAruEUcQFY4sVK4RFy3cba2RtP%2BYERcAwAAWNc4g22a3pzBZpEzIAcR180R1wAAAIWBZ7AB2Mqrcd1eWEvuxLVzi5lJxDUAAEB2xZ/B9uoMNoEN5BDiukkms9YScQ0AAJCLmgKbZ7ABZIC4buKtuGaPawAAAKc0BTa3iANIkxNx3VpYS8R1G6NpfzBfIK4BAAAyFROLnAHICHHdhLgGAAAoXIZxQIYRkyTFYt1dHk1yzGADHkZcN2GlcAAAgMJmGHWS4s9fd3B3MK1gBhvwKOK6CXENAAAAw9grSYrFerg8ktYxgw14EHHdKJWwlohrAACAQtAU2Ee5PJLWEdiAxxDXjZx/3loirgEAALzL54vfIu7dwOYWccBDiOtGxDUAAACOZBj7JDGDDSAFxHUjb60ULhHXAAAA3hBf5IzABtAm%2B%2BK69RomrpOera3RtD%2BYLxDXAAAA2Re/RZxFzgC0irjOfDEzibgGAADId/FFzrz8DDaBDbjIzbhuLawl4jpVxDUAAIBzmm4RZwYbwBFSj%2Bv0nreW8j%2Bu3VrMTCKuAQAAnObz7ZQkxWJlLo%2BkdQQ24DAnFjOT8iOuWSkcAAAAjcIyjF2SpGj0y%2B4OpQ1s0wU4iLhuRFwDAADACp%2BvVoZhyjQ7yjS5RRwoeMS1W89bS8Q1AABAbvP5dkiSotE%2Bkgx3B9MGZrABB%2BR6XNuBuAYAAEC64oEdi/VxeSRtYwYbyLJ8iOtMZ6%2B9t1K4RFwDAADkDp%2BvVlJ8Btu7mMEGsoi4Jq4BAACQuaZbxP/D5ZG0LScC%2B8UXX1RFRUWL/z3wwAPNjluxYoUuvPBCDR48WOedd56ee%2B65pOebP3%2B%2BxowZo8GDB2vSpEl6%2B%2B23nfhtoMAQ116M6zNEXAMAAOQen%2B9TSd6fwc6pW8R//vOfq0uXLolfH3300Yl/Xrt2ra677jpNnDhRs2bN0po1a3T33XcrFAppypQpiePmz5%2Bvqqoq3XTTTaqsrFR1dbWuvvpqVVdXq6KiwtHfD/JXocd1NsNayiSuU0NcAwAAeAvPYGfBwIED1b1796TvzZ07V5WVlbrnnnskScOHD9f27dv10EMPadKkSfL5fGpoaNBjjz2mqVOn6qqrrpIkDR06VBMmTNDjjz%2Buqqoqx34vyF/EdWrHeXExM4m4BgAA8J6wfL6dkry9B7aUI7eIt6ehoUGrVq3S1772tWavT5gwQbW1tfrggw8kSWvWrNG%2Bffs0fvz4xDF%2Bv1/jxo3TihUrZJqmo%2BNG/iGuUzuOuAYAAECqfL5/S5JMs5NMM/mEq1fkVGCPHz9eJ554os4991w98cQTikajkqTNmzcrHA6rb9%2B%2BzY7v37%2B/JKmmpqbZ/x95XL9%2B/XTgwAHt2LEj278F5DHiOrXjvBjXtbXnE9cAAAAe5ff/nyQpEjlRXt4DW8qRW8TLyso0c%2BZMnXzyyTIMQ3/84x/14IMPaseOHfqf//kf7d27V5JUUlLS7Oviv46/X1dXp1AopKKiombHde3aVZK0Z88e9erVK6Ox%2Bv059d8sclr8WnvhmpeWLrVwtDfjOl2phrXkzbjevfsCBXLgT0Iv/fteKLjm7uC6u4Pr7jyuefb5/Ya8HmNITSDwsSQpFjtJgYC3v2dy4MdK6ayzztJZZ52V%2BPXIkSPVoUMH/fKXv9Q111yTeN0wkn8DHf56smPit4a39vVWlJQUZ3wOWOP%2BNV9o4VjiOhn3bgufrNLSFA/1CPf/fS88XHN3cN3dwXV3Htc8O0wzpi5diiXF3B4KbPF/kqQOHU5Xhw6tL4TrBTkR2MlccMEFeuqpp7R%2B/XqVl5dLapqpjqurq5PUNJNdUlKiQ4cO6dChQ%2BrQoUOL4%2BIz2ZmoqzuoaJRvZCf4/T6VlBS7es3zaeba6u3huR7Xu3dfIKn16%2Bc1Xvj3vdBwzd3BdXcH1915XPPsKSkplmGY2r//oAjs/NCp00fy%2BaS6ugpFo%2B78/FZamlrY52xgH65Pnz4KBoPauHGjRo0alXh9w4YNkhqfsT78/2tqalRZWZk4rqamRp06dWq27Ve6otGYIhG%2BkZ3k1jXPh2eu0%2BXNbbgka3tc5%2Bb3KX/GOI9r7g6uuzu47s7jmmdPNGpKYhHjXGcYn8nn%2B0ymaejQoRPl9Z/hvH0DexuWLFkiv9%2BvyspKhUIhDR8%2BXEuXNp9NXLx4scrKyhIxPWTIEHXp0kVLlixJHBONRrV06VKNHj3allvEURjyLa5Tnb0%2B4wyvxvUZshbXAAAAyAV%2Bf/z56/6SvH17uJQjM9hXXXWVhg8frgEDBkiSli9frt/85jeaOnWqysrKJEkzZszQt771Ld12222aMGGC1qxZo%2Brqat15553y%2BRr/O0IoFNK1116rqqoqde/eXZWVlaqurtaWLVs0e/Zs135/yC35FtepyvYt4VImcZ0a4hoAACC3xAM7Ehns8khSkxOBfdxxx2nhwoX697//rVgspi9/%2Bcv60Y9%2BpMsvvzxxzKmnnqpHH31Us2fP1qJFi9SrVy/ddtttmjJlSrNzTZs2TaZpasGCBdq5c6cGDBigefPmqaKiwunfFnKQE3HdWlhL%2BRvX7HENAACAZPz%2BjZKkcPhkl0eSGsOML6ENW%2BzefYDnaBwSCPhUWtrJsWuer3Hd3u3hxLU3OP3vO7jmbuG6u4Pr7jyuefZ0795JhhFVXd1yef15XbSvS5dr5Pdv0Z49LyocHuvaOMrKuqR0XE7MYANuy9e4bouVsJa8Gdf5ENYAAACFq14%2B3yeSpEikrZ8bvYPABtqR73FtNaSP1FZYS8Q1AAAA0hMIrJdhmIpGe8s0e7o9nJQQ2EAbvBzXXmD/YmYScQ0AAABJCgQaf04Oh0e7PJLUEdhAEtbCWnIjrrO913V7vL3HNQAAAHJdIPCuJKmhIXcCO2f3wQayxam4bgtxfSTiGgAAoJAYxj75/f%2BSJIXDZ7s7GAsIbOAwTsZ1OvtcS8R1a4hrAACA/BEIvCfDMBWJDFAs1tvt4aSMW8SBL9j7vLVEXDdiGy4AAABY1fT89dnuDsQiAhsQcd0er64ULhHXAAAA%2BSgQ%2BLskqaHhbHcHYhGBjYLnVFzn6oJmxDUAAACcZBg75fdvkWn6FA6PdHs4lhDYKGhOzly3Jlfjmm24AAAAkA3x2etIZIhMs5vLo7GGRc5QsLxwW3i7ZySuWyCuAQAA8lsw%2BJ6k3Ls9XGIGGwXKK3Hd3uy1W1gpHAAAAO6IKhB4R5IUDufO/tdxBDYKTq7EtRuz1%2Bk%2Bby0R1wAAAMhcIPC%2BfL7disVKFQ6PcHs4lhHYKCjEdeucX8xMIq4BAABwuGBwpSSpoeG/JIXcHUwaeAYbBYO4bh1xDQAAAPeFFQr9WZJUXz/Z5bGkhxlsFATiunVeXcxMIq4BAAAKSSCwVoaxT7FYr5zbniuOGWzkPeK6dcQ1AAAAvCIUarw9/NChiyT53R1MmpjBRl4jrpPLzmJmEnENAACA9NQrGGz8eby%2BfpLLY0kfM9jIW8R1csQ1AAAAvCYY/KsMo17R6JcViZzu9nDSxgw28lKuxLXT2IYLAAAAXhQK/UmSdOjQJEmGu4PJAIGNvJNLce3k7LXzz1tLxDUAAADaYxj7FQj8VVLurh4eR2AjrxDXLblzS7hEXAMAACAVweBfZBhhRSInKhod6PZwMsIz2MgbxHVLxDUAAAC8LhT6vSTp0KEpLo8kcwQ28gJx3RJxDQAAAK/z%2Bz9UIPChTDOkgwenuj2cjHGLOHJeaelSC0fn/4Jm7YW1xErhAAAA8IYOHRZLalzczDR7ujyazDGDjRy30MKx7sd1tmeviWsAAADkCsPYpWCwcfXwgwevdXk09mAGGznLKzPXqXI7rt2%2BJVwirgEAANCkQ4elMoyowuERikROcXs4tiCwkZO88sy15P5z1%2B7NWkvENQAAANLToFCoccLs88/zY/Za4hZx5CDiuglxDQAAgFwUCq2Qz7dH0eixamgY7/ZwbMMMNnJKrsV1tqQS1pL7cU1YAwAAoCVTHTq8LEk6ePBq5VOW5s/vBHnPWlynIvtxnY3Z60xnrSXiGgAAAO7x%2B9%2BX318j0yxWfX3ub811OAIbOcF6XLc3e517cW3HrLVEXAMAAMBdRUWNs9f19ZfINLu7PBp7EdjwPCfjuj2FG9c8bw0AAIDM%2BXxbFQj8RZJ08OA1Lo/GfgQ2PM3puPbiXte58ry1RFwDAACgbUVFv5ZhxNTQcL6i0RPcHo7tCGx4Vi7GtZ1SDWuJuAYAAID3%2BXybFAy%2BLkk6cOBWl0eTHQQ2PMlLcW3F/2/v3uObrO///z9zaJoWKGfhBx/wgLSjUjkopykgeOAgTEDZmFOZYOU0EScKTEBweEBQJ%2BhAAZk4dAyBKSeZkwFuE7YJ7IdMVCpTRMUitEkPSZvk%2Bv7BmhFbIG2TXEnzuN9u3m72ypUrr7x4k/LM%2B31dV6Rmr81fEi4RrgEAABBJaWmvymIx5PXeJJ%2Bvs9nlRAUBG3En3sJ1LJeGR2rWWiJcAwAAIH7YbIeVkvIXGYZFxcW/MLucqLGaXQBwpkQN15FAuAYAAEBd5XS%2BKknyekfK7%2B9gcjXRwww24kayhuvqBGupNudbS5EL17fo1KliSYEw9wcAAECystk%2BVErKHhmGTSUl080uJ6oI2IgLkQ/X55aI4Tq6s9ZSuOH61KlBatw4rF0BAAAApaX9VpLk9f5Efv%2BlJlcTXQRsmC464frss9fxEK4jOWstxXZJuJ1PDQAAAITJbv%2BX7Pb9MgyHiounmV1O1PFPZZgqWcJ1dQP1meIpXAMAAADhM%2BR0np699nh%2BqkCgjcn1RB8BG6aJdbiOtdqE6gqEawAAACQqu/2fstv/LcNwqqRkqtnlxAQBG6YwI1xHe/Y6EoG6Qu2CtUS4BgAAgLl8Skt7SZJUWnq3AoGWJtcTG9ymCzFXF8N1JBGuAQAAkOhSUzfKZvtcgUCzpJm9lpjBRowRrs8tXq4ULhGuAQAAUDMWy8ngfa%2BLi%2BfIMBqZXFHsELARM4TrsztfsJYI1wAAAEgMaWmrZLGUyOe7Qh7PbWaXE1MEbMREPIbreBH9cE2wBgAAQGzYbB/K4XhbkuR2P6lkOyuZgI2oi9dwHQ%2Bz15xvDQAAgLrDr/T0FyRJHs/t8vm6mVxP7CXX1wmIOcL12RGuAQAAUJc4HG/LZvtEgUBDFRXNMbscUzCDjaip6/e5rqnaLwmXCNcAAACIJxaLW07ny5KkkpIZMozmJldkDgI2oqL64Toy4n32mouZAQAAoC5yOlfLanXJ58tWaendZpdjGgI2Iq5m4bruLw2P/pJwiXANAACAWLNaP5XDsVmSVFS0QMkcM5P3nSMqCNeVxWZJuES4BgAAQOwFlJ6%2BRBZLQF7vCJWX9za7IFMRsGGyun07rng731oiXAMAACByHI7Nstv/LcOor6KieWaXYzquIo6IidcrhkvmzF4TrgEAAFCXWa3HlZZ2%2BsJmRUVzFQj8n8kVmY8ZbEQE4fp/wgnWEhczAwAAQCIzlJa2WBZLqcrLr5LHM9bsguICARu1xu24/ofzrQEAAJAMHI4/KSVlnwzDKbd7sVgcfRoBG7ViVriOt9nryMxaS4RrAAAAxDuL5aTS0pZLkoqLH5Lff6nJFcUPvmZAjcV7uI4VwjUAAACSh/Hfq4YXyefrqtLSSWYXFFeYwUaNJEK4jvbsdeSCtUS4BgAAQCJISfmLUlL%2BJsOwy%2BV6XkTKUHQD1RadcH1%2BdTNcRzZYS4RrAAAARIfFUqi0tKWSpJKS%2B%2BX3X2ZyRfGHgI1qqX64DldiXNQs3GAtEa4BAABQt6SlLZfVWiCfr4NKSh4wu5y4RMBG2GoWruvO0vB4DtcEawAAAEST3f53ORzbZRhWud3PS3KYXVJcImAjLMkcriMbrCXCNQAAABKJxeJSevpiSVJp6ST5fFeaXFH8ImDjvBIlXEdadYK1RLgGAABAXWQoPf15Wa0n5fNlqrh4ptkFxTUCNs6JcB0ezrcGAABAXZSS8melpPxFhmGX271MUprZJcU1AjbOysxwXVM5OfVqtUw8EWatJcI1AAAAos9qPa709CWSpJKSGfL5uphcUfwjYCOCInM7Lin2s9fVDdYS4RoAAAB1mV/p6c/IYilReXl3lZTcZ3ZBCYGAjSpF717X8bU0vCbBWiJcAwAAoG5LTX1DdvsBGUY9uVwviugYHrqESpIhXEc3WEuEawAAACQqq/WInM5VkqSioicUCFxickWJg4CNEDU77zoc0TvvOlw1DdUVIjdrLXGlcAAAAMSnMtWr95QslnJ5vYPk8dxhdkEJhYCNILMvahap2eszL3RW21BdgSXhAAAASAZO529lsx1RINBMbvdiSRazS0ooBGxIqjvhukJsg7VEuAYAAECis9v/f6Wmrpckud3PyTAuMLmixEPARhTDdXjMvN/1uZi1JFwiXAMAACC2LJai/1413JDHM1plZYPNLikhJUTA3rp1qzZu3KiDBw%2BqsLBQbdq00Y9//GONGjVKVqtVkjR9%2BnRt2LCh0nOXLVumPn36hGxbsWKFVq9erfz8fGVmZurBBx9Ujx49YvJe4k10w7X5513XRGRnrSXCNQAAAOKbobS052W1fiO//2IVFT1mdkEJKyEC9sqVK9WqVSs9%2BOCDatq0qfbs2aNHH31UR48e1bRp04L7tWnTRgsXLgx5brt27UJ%2BXrFihZ555hndd999ys7O1tq1a5Wbm6u1a9cqKysrJu8nXsRDuI632WvCNQAAAJKNw/EnORy7ZBh2uVwrZBgNzC4pYSVEwF66dKmaNGkS/Llnz54qKSnR6tWrdd9998nhcEiSnE6nOnfufNbjlJWVacmSJbrjjjs0duxYSVL37t01dOhQLV26VM8880x030gciYdwHW843xoAAADJxmr9QmlpSyVJxcUz5fNdaXJFic1qdgHhODNcV%2BjQoYO8Xq8KCgrCPs7evXvldrs1ZMiQ4DabzabBgwdr586dMgwjIvXGu3gJ1/Eye12//uWEawAAACShctWrt0AWi0dlZX1VWjrF7IISXkLMYFfl/fffV6NGjdS0adPgts8//1xXXnmlPB6PMjMzNXHiRF133XXBx/Py8iRJl1wSeqP0du3aqbi4WMePH1fLli1rVZfNlhDfWZgunsJ1eKKzJPzUqUGyJ9jfwooxzliPLfoee/TcHPTdHPQ99uh59NlsFnGLqXNLTX1FNtthBQJNVFKyTPZE%2B4dpHErIDh44cEDr16/XpEmTZLPZJJ2e0c7JydGll14qt9ut1157TZMmTdKzzz6rgQMHSpJcLpccDoecTmfI8Ro2bChJKigoqHXAzshIq9Xzo%2B/1Gjynbi4NNztcS7eoceNqPiWOxP9Yr5voe%2BzRc3PQd3PQ99ij59FhGAE1aJAmKWB2KXHs75LWSZKs1pfUqFF7c8upIxIuYOfn52vy5MnKyclRbm5ucPvo0aND9uvfv79GjRqlRYsWBQO2JFkslb/FqlgaXtVj1eVylcrvj8%2B/yI0bb63Bs%2Bre0vDwg7UUzZlrqbhaz4kXNptVGRlpcT3W6yL6Hnv03Bz03Rz0PfboefRkZKTJYjFUVFQqAnbVLJYCpac/IatV8nhyVVp6nRL136ax0rhxvbD2S6iA7Xa7lZubK6fTqSVLliglJeWs%2B1qtVt1www1asGCBPB6PnE6nMjIy5PV65fV6lZqaGtzX5XJJ%2Bt9Mdm34/QH5fPH3Fzlezrs2m/mz1hXnXMffGKmueB3rdR19jz16bg76bg76Hnv0PHr8fkNSclxjqXoCqlfvGVmtp%2BTzZcvtnqe68G/TeJEwAdvr9WrChAk6ceKE1qxZo8ZhrK397kXLKm7ZlZeXp%2Bzs7OD2vLw81atXTy1atIhs0XEinsK1WbPX8TBrzcXMAAAAYLbU1I1KSfmHDMMpl%2BslSZymEEkJcVUFn8%2Bne%2B%2B9V4cOHdLy5cvVunXr8z4nEAho27Ztat%2B%2BffCc665du6pBgwbasmVLcD%2B/36%2BtW7eqb9%2B%2BEVkiHm%2BiG66rh3ANAAAAmMdmy5PTuVKSVFT0qPz%2B7PM8A9WVEDPYjzzyiP785z/rgQcekMfj0f79%2B4OPXXrppSosLNT06dM1ZMgQtW3bVoWFhXrttdf0wQcfaPHixcF9HQ6HJkyYoGeeeUZNmjRRdna21q5dq6NHj%2Brpp582461FVfTDdXwvDa9esJYI1wAAAKi7PEpPXyCLpVxe72B5PHeZXVCdlBAB%2By9/%2BYskacGCBZUeW7VqlbKyslS/fn09//zzOnnypFJSUtSxY0ctW7ZMvXv3Dtl/zJgxMgxDr7zyik6cOKHMzEy9%2BOKLysrKisl7iZWahevqiO%2Bl4fEway0RrgEAABAf0tJekM12VIHA/ye3%2B3lxC7PoSIiAvX379vPus2TJkrCOZbFYdNddd%2Bmuu/jGprLoLA2PpXiZtZYI1wAAAIgPKSm7lJr6RxmGRS7XchlGU7NLqrMS4hxsVE%2B8LQ2P1ew14RoAAAAIZbV%2BpfT05yRJJSVTVV7e%2BzzPQG0kxAw2whdv4ToWohesJcI1AAAAEpdP6ekLZbEUq7y8h0pKZphdUJ1HwK5D4jFcR3P2uvrBWmLWGgAAAMnC6Vwtu/2QAoFGcrlWiPgXfSwRryPi6XZcsUC4BgAAAM7Obt%2Bn1NS1kiS3e7ECgbYmV5Qc%2BAqjDohNuI6P2evoBmuJcA0AAIBEZ7EUKD39aVkshkpLx6is7CazS0oaBOwEF/3bcUnxcN51zYK1RLgGAABAcgkoPf1XslpPyufroKKix8wuKKkQsBNYzcN1bC5qVr/%2B5bWexa55sJZYEg4AAIBkk5r6plJS/iHDcMrlWikp3eySkgoBO%2BkkxnnXsQnWEuEaAAAAdYXN9omczpWSpKKix%2BT3Z5tcUfIhYCeoeD3v%2BrvOFZS/O7tdu1BdgXANAACAZFSq9PQFslh88nqHyuMZa3ZBSYmAnYDqynnXkQnUFaoTrCXCNQAAAOqStLRlstmOye9vJbd7sSSL2SUlJQJ2gonNedeJJrqz1hLhGgAAAPErJeUvSk3dJsOwyO1%2BUYbRxOySkhb3wU4gsQvX5l81PHyEawAAACQviyVf6emLJUmlpT9XeXkfkytKbsxgJwjC9XexJBwAAADJzq969Z6SxVKk8vIrVFz8C7MLSnoE7ATAsvDvYtYaAAAASE19XXb7ARlGfblcyyWlmF1S0iNgx7nYXNCsQrzPXkd/1loiXAMAACD%2B2WyH5HSuliS53QsVCLQzuSJInINdh9W1peGEawAAAOC0EqWnL5TF4pfHc4u83h%2BbXRD%2BixnsOMbScKn6wVrifGsAAADUZenpS2WzfSW/v62Kip4Rt%2BSKHwTsOBXbcB2vs9fMWgMAAABnSknZIYfjHRmGVS7XchlGQ7NLwhlYIh6HYnvedbwiXAMAAABnsli%2BUXr6ryVJJSXT5PPVZLUnookZ7DhTu3BdF2avY7MkXCJcAwAAIJEEVK/es7JYilVe3l0lJQ%2BYXRCqwAx2HIl9uI43hGsAAACgKqmpb8pu3y/DSJfL9YKYK41P/KnECXPCdbzMXhOsAQAAgLOxWj%2BT0/myJKmo6FFuyRXHCNgwUU3PGSFcAwAAIFmUq169p2WxlKms7Hp5PGPMLgjnwBLxOJCcS8MJ1wAAAMD5OJ2/k812WIFAY7ndz4tbcsU3ZrBNZl64Nmt5eGyDtUS4BgAAQGKy2T5UaurvJUlu968UCLQ0uSKcDwHbRMk3c82sNQAAABAej9LTn5HFEpDH80OVlQ03uyCEgYBtkuS613Vt7s9HuAYAAEDySUt7STbbMfn9rVVUtNDschAmAnZCSpTZ69gHa4lwDQAAgMRmt/9TqambJUlu9xIZRiOTK0K4uMiZCcxfGh6L868J1wAAAEB1WSxupacvkiSVlIxXefk15haEamEGO8bq/tLw2gRriSXhAAAASGZpactltX4rv7%2B9iovnml0OqomAHUO1D9fxvDTcnGAtSadODZIUqOXrAwAAAOay2/8ph%2BNPMgyLXK5fS0ozuyRUEwE7RupuuK5tsJZqE66lWyQVR6AGAAAAwEwlSk9/XpJUWjpBPl8Pk%2BtBTRCwY0oZTfEAAB/3SURBVCC%2BloVH6vxrs4P16Znrxo0jUAYAAABgsrS0l2W1fiO//2IVF88yuxzUEAE7IURy9rqnah6yIxGqK9T%2BQmZ2Ri8AAADqAJvtA6WmbpIkud2LJNUztyDUGBElyuJzafiZQTmcsB3JYC1xlXAAAACggjd41XCP56cqL%2B9rcj2oDQJ2FMXX0vCzOVvYjnSolmq7JJxwDQAAgLrG6XxVNtsx%2Bf2tVFT0S7PLQS0RsKMkMuE61hc2i0aorkC4BgAAAM5ks32s1NT1kqSiomdkGA1Nrgi1RcBGDLAkHAAAAAhVrvT0RbJYAvJ4RqqsbJDZBSECCNhRkJiz19HArDUAAABQldTU12WzHVEg0ExFRU%2BaXQ4ixGp2AXVN48ZbI3AUwjXhGgAAAHWV1XpUTufvJElFRQtkGE1NrgiRwgx2RBWZXUAcIFgDAAAAZ2coPf0FWSw%2BlZUNlNc7wuyCEEHMYMedRJ69JlwDAAAA55KS8q7s9n0yDKfc7iclWcwuCRHEDHZcSdRwXbtgLRGuAQAAkAxKlJa24vT/ldyvQOAic8tBxDGDjVoiXAMAAADhcDp/J6v1hPz%2BS1RScq/Z5SAKmMGOG4k4e82ScAAAACAcVut/lJr6B0mS271AktPcghAVBGzUALPWAAAAQPgMpacvlcXil9c7VOXl15tdEKKEJeJxIZFmrwnXAAAAQHWkpOyQ3X5AhpGuoqInzC4HUcQMNsJU%2B2AtEa4BAACQXCyWouCFzYqLH1Qg0MbkihBNBGzTxfvsNcEaAAAAqCmn81VZrafk97dXaenPzC4HUcYScZwD4RoAAACoKav1UzkcGyVJbvdCSQ5zC0LUMYONKkQmWEuEawAAACQrQ%2BnpL8liCcjrHa7y8n5mF4QYIGCbKh6XhzNrDQAAANSW3f6%2B7PZ9MgyHiooeMbscxAgBG//FrDUAAAAQGX6lpf1GklRaOk6BwIXmloOYIWCbJl5mryMXrCXCNQAAAOBwbJfNdkSBQGOVlEw1uxzEEBc5S2qEawAAACCyPHI6X5EklZRMlWE0NrkexBIz2EmJYA0AAABEQ2rqm7Jav5Xff6FKS%2B82uxzEGAE7qUQ2WEuEawAAAKCCxVIgp3OtJKm4eJakVHMLQswRsE0R6/OvIx%2BsJcI1AAAAcCan83eyWErk83WR13uL2eXABATsOo9ZawAAACDarNZjcji2SJKKin4pLneVnAjYdRaz1gAAAECspKWtksXiV1nZAJWX9zG7HJiEgB1z0V4eHp1gLRGuAQAAgKrYbB8pJeUvMgyriooeMbscmIiAHXPfV3RCNsEaAAAAMIPTuUaS5PX%2BWH5/B5OrgZkI2KY4MwzXJmxHL1RXIFwDAAAAZ2ezfaKUlD0yDKuKi6eaXQ5MRsA2XUVIDjdoRz9UVyBcAwAAAOfmdP5ekuT1jlQg0M7kamA2AnbcOFfQjl2olgjWAAAAQDis1k%2BVkvI3GYZFJSUPmF0O4gABO%2B7ENkx/F%2BEaAAAACE9a2unZ67KyEfL7M02uBvGAm7MhiHANAAAAhMdq/UwpKe9KkoqLmb3Gacxgg2ANAAAAVNP/zr2%2BSX5/tsnVIF4wg53kCNcAAABA9VitR5WSslMSs9cIxQx2kiJYAwAAADXjdK6VxWLI671Rfv/lZpeDOMIMdhIiXAMAAAA1Y7V%2BqZSUP0uSSkoeNLkaxBtmsJMIwRoAAACondTUN2WxBFRWdoN8vi5ml4M4wwx2kiBcAwAAALVjsRTJ4XhbklRS8jOTq0E8ImAnAcI1AAAAUHsOx59ksXjk83VQeXlfs8tBHEragH3kyBGNHTtWnTt3Vq9evTRv3jx5PB6zy4qo/PwBhGsAAAAgIvxKTd0kSSotHS/JYm45iEtJeQ62y%2BXS6NGj1apVKy1atEgnT57U448/roKCAi1cuNDs8iKCYA0AAABEjt3%2BD1mtXykQaCyP50dml4M4lZQB%2B3e/%2B51cLpf%2B8Ic/qEmTJpIkm82mqVOnasKECWrXrp3JFdYcwRoAAACIPKdzoyTJ4xktKd3cYhC3knKJ%2BK5du9SrV69guJakAQMGyOFwaOfOnSZWVjuEawAAACDyrNb/yG7fL8OwqrQ01%2BxyEMeScgY7Ly9PN998c8g2h8Ohtm3bKi8vrxZHTpc0sFa11YTff/obtDO%2BL0gKlv%2Be9tKwYZoMw9xakgl9Nwd9jz16bg76bg76Hnv0PHqsVosMQ7LZLIrUedKpqZslSeXlQ2W1XihrUk5TIhxJGbBdLpcyMjIqbc/IyFBhYWEtjmyVVL8Wz68Zmy3mLxlXrHzCmYK%2Bm4O%2Bxx49Nwd9Nwd9jz16Hh0WS4oaNIjk6s5BkiSH4/R/wNnwN/oMhmHIYuFqgAAAAACA6kvKgJ2RkSGXy1Vpu9vtrnJmGwAAAACA80nKgN2uXbtK51qXlZXp888/T%2BgriAMAAAAAzJOUAbtPnz7avXu3Tp06Fdz29ttvq6ysTH379jWxMgAAAABAorIYRvJdt9DlcmnIkCFq3bq1Jk6cqG%2B//VZPPPGErr76ai1cuNDs8gAAAAAACSgpA7YkHTlyRPPmzdP7778vp9OpIUOGaOrUqXI6nWaXBgAAAABIQEkbsAEAAAAAiKSkPAcbAAAAAIBII2ADAAAAABABBGwAAAAAACKAgA0AAAAAQAQQsAEAAAAAiAACNgAAAAAAEUDArqUjR45o7Nix6ty5s3r16qV58%2BbJ4/GYXVZC2rp1qyZOnKi%2Bffuqc%2BfOGjp0qF599VUFAoHgPtOnT1dWVlal/3bt2lXpeCtWrFD//v2Vk5Ojm2%2B%2BWXv27Inl20kY69evr7KnCxcuDNlv586dGjZsmHJycnT99ddr9erVVR6Pvp/f7bffXmXPs7KytHnzZkmM9dr67LPPNHv2bN10003Kzs7WkCFDqtwvkuO6qKhIs2fPVo8ePdSlSxeNHz9ex44di%2Bj7infn67vf79eyZct02223qWfPnurWrZt%2B8pOf6L333qt0rP79%2B1f5d8Dr9YbsR9/DG%2B%2BR/kxJ9r6H0/Ozfc5nZWXpm2%2B%2BCe7HWAfqFrvZBSQyl8ul0aNHq1WrVlq0aJFOnjypxx9/XAUFBZXCCc5v5cqVatWqlR588EE1bdpUe/bs0aOPPqqjR49q2rRpwf3atGlTqb/t2rUL%2BXnFihV65plndN999yk7O1tr165Vbm6u1q5dq6ysrJi8n0SzfPlyNWjQIPhzixYtgv%2B/b98%2BTZw4UTfddJOmT5%2BuvXv3at68eXI4HBo5cmRwP/oenocfflhFRUUh215%2B%2BWX98Y9/VK9evYLbGOs198knn2jnzp3q1KmTAoGADMOotE%2Bkx/X999%2BvgwcPatasWapfv74WLVqkO%2B%2B8U2%2B%2B%2BaacTmdM3rfZztd3j8ejF154QcOGDdPYsWNlt9u1YcMG3XnnnVqyZIn69esXsv%2BAAQM0ZsyYkG0OhyPkZ/oe3niXIvuZkux9D6fna9asqbRt2rRpSktL0wUXXBCynbEO1CEGauyFF14wOnXqZHz77bfBbW%2B%2B%2BaaRmZlpHD582MTKEtOZfazw2GOPGTk5OYbX6zUMwzCmTZtm3Hjjjec8jtfrNa644gpj/vz5wW0%2Bn88YNGiQMWXKlMgWXQesW7fOyMzMrLL/FcaOHWvccsstIdtmzpxpXHXVVYbf7zcMg77XVv/%2B/Y3c3Nzgz4z12qkYl4Zx9l5Gclzv37/fyMzMNHbs2BHcduzYMSM7O9t49dVXI/a%2B4t35%2Bu7z%2BYyCgoKQbYFAwBg%2BfLhx2223hWzv16%2BfMXfu3HO%2BHn0/LZzxHsnPFPoeXs%2B/6%2BjRo0ZmZqaxbNmykO2MdaBuYYl4LezatUu9evVSkyZNgtsGDBggh8OhnTt3mlhZYjqzjxU6dOggr9ergoKCsI%2Bzd%2B9eud3ukOVaNptNgwcP1s6dO8/6zT6qVlZWpt27d%2BvGG28M2T506FDl5%2Bfr3//%2BtyT6Xht79%2B7VF198oaFDh1b7efS8albruX%2B9RXpc79y5UxkZGerTp09wv1atWqlr165J9fvgfH232Wxq2LBhyDaLxaLvfe97IUtmw0XfTztf38PFeA9fTXq%2BadMmWSyWs56yci70HEgcBOxayMvLq7S0yuFwqG3btsrLyzOpqrrl/fffV6NGjdS0adPgts8//1xXXnmlOnbsqBEjRuhPf/pTyHMqen/JJZeEbG/Xrp2Ki4t1/Pjx6BeegIYMGaIOHTro2muv1QsvvCC/3y/pdL/Ly8sr9fPSSy%2BV9L9%2B0/ea27Rpk9LS0nTttdeGbGesR0%2Bkx3VeXp4uvvhiWSyWSsfj98G5BQIB7du3r9LvU0nauHGjOnbsqC5duig3N1cfffRRyOP0vXoi9ZlC32tm8%2BbN6tatm1q2bFnpMcY6UHdwDnYtuFwuZWRkVNqekZGhwsJCEyqqWw4cOKD169dr0qRJstlskk7PaOfk5OjSSy%2BV2%2B3Wa6%2B9pkmTJunZZ5/VwIEDJZ3%2Bc3E4HJXOR6qYNSkoKKjyl1uyat68ue655x516tRJFotF27dv169%2B9SsdP35cs2fPDo7l7471ip8rHqfvNePz%2BfTWW2/p2muvVXp6enA7Yz26Ij2uXS5XyDUMzjwevw/O7ZVXXtGRI0f0yCOPhGzv37%2B/Lr/8crVq1UpHjx7V0qVLdeutt%2BoPf/iD2rRpI0n0vRoi%2BZlC36vv0KFD%2BvjjjyuNc4mxDtQ1BOwoMAyj0jeMqJ78/HxNnjxZOTk5ys3NDW4fPXp0yH79%2B/fXqFGjtGjRouA/ECRV2f%2BKpW382YTq3bu3evfuHfz56quvVmpqql5%2B%2BWWNHz8%2BuP1sfTtzO32vvr/%2B9a/69ttvKy0ZZKzHRiTHdTjHQqi///3vWrBggcaMGaNu3bqFPDZz5szg/1955ZW66qqrNGjQIK1YsUJz5swJPkbfwxPpzxT6Xj0bN25USkqKBgwYUOkxxjpQt7BEvBYyMjLkcrkqbXe73VXObCM8brdbubm5cjqdWrJkiVJSUs66r9Vq1Q033KC8vLzg7dEyMjLk9Xor3d6i4s/qu%2Bf/obJBgwbJ7/frww8/DPbru9%2BQV/SzYqzT95rZtGmTGjVqpKuvvvqc%2BzHWIyvS4/psvw/OttIJp2f0Jk6cqOuuu04PPPDAefe/4IILdMUVV%2BjgwYPBbfS95mrzmULfq8cwDG3ZskW9e/dWo0aNzrs/Yx1IbATsWmjXrl2l817Kysr0%2BeefV3kuGc7P6/VqwoQJOnHihJYvX67GjRuf9znfvZBTRe%2B/%2B2eTl5enevXqhdx%2BCufXtm1bpaSk6NNPPw3ZfvjwYUn/6zd9rz6Px6N33nlHAwcOPOcXSRUY65ET6XHdrl07HTlypNKf0eHDh/l9UIXPP/9cd911l7Kzs/Xkk0%2BGPQNX1d8B%2Bl5zNf1Moe/V8/777%2BvLL7%2Bs1oUsGetA4iJg10KfPn20e/dunTp1Krjt7bffVllZmfr27WtiZYnJ5/Pp3nvv1aFDh7R8%2BXK1bt36vM8JBALatm2b2rdvHzxnrGvXrmrQoIG2bNkS3M/v92vr1q3q27cvS6nCsGXLFtlsNmVnZ8vhcKhnz57aunVryD6bNm1S8%2BbNlZ2dLYm%2B18T27dtVXFwc1j%2B6GOuRFelx3bdvX7lcLr377rvB/b766ivt3buX3wffkZ%2BfrzFjxqhZs2b69a9/Xelev2dz/Phx7d27Vzk5OcFt9L3mavOZQt%2BrZ%2BPGjUpPT690n/ezYawDic0258yTO1At7du317p16/Tuu%2B%2BqRYsW2rdvnx577DFdf/31GjVqlNnlJZw5c%2BZo06ZNuvfee3XBBRfo66%2B/Dv5Xv3595efna9KkSSovL5fb7dbBgwc1b9487du3T3Pnzg1%2Bg2uz2WSz2bR06VI5nU55vV49%2B%2Byz2rdvn5588kk1a9bM5HcaX8aOHatvvvlGRUVF%2Buyzz/TSSy9p9erVuv3224Pn5bVp00ZLly7VV199pXr16mnjxo1auXKlZsyYoY4dO0qi7zXx9NNPy%2Bv1asaMGSFh%2BNixY4z1WiotLdU777yjw4cP669//atOnDihli1b6vDhw2rSpInS0tIiOq5btmypDz74QGvWrFGLFi301Vdfafbs2XI6nXrkkUdktyfHJU/O13eLxaI77rhDX3/9tWbOnCmPxxPyWV9xUb5NmzbpxRdflMfj0alTp/Tee%2B/poYceUllZmR5//PHgUmX6ftr5%2Bn7y5MmIfqbQ9/A%2BY6TTkwcPPfSQ%2BvXrp8GDB1c6DmMdqHssRjLfKDUCjhw5onnz5un999%2BX0%2BnUkCFDNHXq1EpX4MT59e/fX8eOHavysVWrVikrK0szZszQwYMHdfLkSaWkpKhjx466%2B%2B67Qy7SJZ1eWrVixQqtXr1aJ06cUGZmph544AH17NkzFm8locybN0/vvvuuvv76awUCAV100UUaOXKkbr/99pDQt3PnTj399NPKy8tTy5Ytdeedd%2BonP/lJyLHoe/gKCwt11VVXafTo0ZXOPy0oKGCs19IXX3xR6bZnFVatWqUePXpIiuy4Lioq0vz587Vt2zaVl5erR48emjVrVlirceqK8/W9devWZ31cUvDWRPv379dTTz2lTz75RG63Ww0aNFDPnj01efLkSreQou/n73s0fn8me9/D/YzZsWOHxo0bpxdffLHKmWbGOlD3ELABAAAAAIgAzsEGAAAAACACCNgAAAAAAEQAARsAAAAAgAggYAMAAAAAEAEEbAAAAAAAIoCADQAAAABABBCwAQAAAACIAAI2AAAAAAARQMAGgDpi1apVysrK0pAhQ866T1ZWlhYvXhz8ec%2BePcrKytKePXtiUWKNrV%2B/XllZWfriiy/MLuW8wu1pvL2nvXv3avHixXK5XJUe69%2B/v8aNG2dCVQAAJBYCNgDUEevWrZMkffLJJ/rXv/4V1nMuu%2BwyrVmzRpdddlk0S0MC2Ldvn5577rkqAzYAAAgPARsA6oADBw7o0KFDuuaaayRJr7/%2BeljPq1%2B/vjp37qz69etHsTpzlZaWml0CAABIEgRsAKgDKgL1/fffry5dumjz5s1hBcuzLWf%2B/e9/rwEDBqhjx44aPHiwNm7cqOnTp6t///7Bfb744gtlZWVpxYoVWrlypfr3768uXbroRz/6kfbv31/ptQ4cOKDx48ere/fuysnJ0bBhw7Rly5ZK%2B%2B3fv1%2BjRo1STk6Orr76aj311FPy%2BXxh9WH69Onq0qWLPvroI40ZM0ZdunTRT3/60%2BDjf/vb3zR69Gh17dpVnTp10qhRo/Tee%2B%2BFHOOzzz7TjBkzdMMNN6hTp07q3bu3xo8fr48%2B%2BqjS6%2BXl5Wns2LHq1KmTevToodmzZ6u4uDisWs8mnBoXL16srKwsffLJJ/r5z3%2BuK664Qt///vc1Y8YMud3ukH1dLpd%2B8YtfqHv37urSpYvuvvtuHT16NOR0gcWLF%2BvJJ5%2BUJF177bXKysqqclzs2rVLw4cP1%2BWXX66BAwdW%2BiKntLRU8%2BfPV//%2B/ZWTk6Pu3btrxIgR2rRpU616AgBAorCbXQAAoHY8Ho82b96snJwcZWZm6uabb9bMmTP11ltvafjw4dU%2B3po1azR79mwNGDAgGNiee%2B45lZeXV7n/6tWrdckll%2BgXv/iFJOnZZ5/V3XffrXfeeUcNGjSQJO3evVt33XWXOnXqpDlz5qhBgwbasmWL7rvvPnk8Ho0YMUKSdPjwYf30pz9V69at9cQTT8jpdOrVV1%2BtVkArLy/XhAkTNGrUKOXm5srv90uS3njjDU2bNk3XXnut5s%2BfL7vdrjVr1mjs2LFasWKFevXqJUn65ptv1KhRI91///1q0qSJCgsLtWHDBv3whz/Uhg0bdMkll0iSTpw4odtvv112u10PP/ywmjZtqo0bN%2BqXv/xltXteIdwaK9xzzz0aPHiwbrnlFn388cd66qmnJEmPP/64JCkQCGj8%2BPH64IMP9LOf/UyXXXaZ9u3bp7vuuivkOCNHjlRhYaFeeeUVPffcc2revLkk6dJLLw3uc%2BjQIc2fP1%2B5ublq1qyZ1q5dq4ceekgXXnihunXrFnzdN998U1OmTFGHDh1UWlqqjz/%2BWAUFBTXuCQAACcUAACS0DRs2GJmZmcZrr71mGIZhFBUVGZ07dzZuvfXWSvtmZmYaixYtCv68e/duIzMz09i9e7dhGIbh9/uNq666yhg5cmTI844dO2ZcdtllRr9%2B/YLbjh49amRmZhpDhgwxfD5fcPu//vUvIzMz09i0aVNw28CBA41hw4YZ5eXlIccdN26ccdVVVxl%2Bv98wDMOYMmWKcfnllxv5%2BfnBfXw%2BnzFw4EAjMzPTOHr06Dl7MW3aNCMzM9N4/fXXQ7aXlJQY3bt3N8aNGxey3e/3Gz/4wQ%2BMW2655azH9Pl8RllZmXHDDTcYjz32WHD7ggULjKysLOPDDz8M2f/OO%2B8M6enZrFu3LuQ9VafGRYsWGZmZmcayZctC9p0zZ46Rk5NjBAIBwzAMY8eOHUZmZqbx6quvhuz3wgsvVBoLy5cvP2uP%2B/XrZ%2BTk5BjHjh0LbvN4PEb37t2NWbNmBbcNGTLEmDhx4jnfNwAAdRlLxAEgwa1bt05Op1M33nijJKlevXoaOHCg/vnPf%2Bo///lPtY515MgR5efna9CgQSHbW7VqpS5dulT5nGuuuUY2my348/e%2B9z1J0rFjxySdXnL96aefaujQoZIkn88X/K9Pnz7Kz8/XkSNHJJ1est6rVy81a9YseDybzabBgwdX630MGDAg5Od9%2B/apoKBAw4cPD3n9QCCg3r1768CBAyopKQnWt3TpUg0ePFgdO3ZUdna2OnbsqP/85z/Ky8sLHnPPnj1q37598P1WONdV3M%2BlOjVWOHPJvnT6KvFer1fffvutJOnvf/%2B7JFX686wYK9XRoUMHtWrVKvhzamqqLrroIn355ZfBbTk5Odq1a5cWLlyoPXv2yOPxVPt1AABIZCwRB4AE9tlnn%2Bkf//iHbrjhBhmGEbwC9MCBA7V%2B/XqtW7dO999/f9jHO3XqlCSpadOmlR5r1qxZMDSfqVGjRiE/OxwOSZLX65V0eim1JM2fP1/z588/5%2BsWFBSEhOszXztcaWlplS7aVlHD5MmTz/q8wsJCpaen64knntDq1auVm5urbt26qWHDhrJYLJo5c2bwPVXU%2Bn//93%2B1qrWmNVY4W%2B8rgm1BQYHsdnul/WpS43ePUfF6Z/Zk5syZatmypbZs2aJly5YpNTVVV199tR588EFddNFF1X5NAAASDQEbABLYunXrZBiGtm3bpm3btlV6fMOGDZoyZUrIDPO5NG7cWJKCM6BnqgiA1VVxzHHjxun666%2Bvcp%2BLL75Y0ukQV9XrVOe1LRbLWWuYNWuWOnXqVOXzKr5UePPNNzVs2DD9/Oc/D3n81KlTysjICP4ciVprWmO4GjVqJJ/Pp4KCgpCAnJ%2BfX6Mazyc9PV2TJ0/W5MmTdeLECe3atUtPPfWUxo8fr7feeisqrwkAQDwhYANAgvL7/dqwYYPatm2refPmVXp8x44deumll7Rr1y7169cvrGNefPHFat68ubZu3ao777wzuP3LL7/Uvn37dMEFF1S7zksuuUQXXXSRDh06VCm0flePHj20fft2nThxIjjL6vf7q7zaeHV07dpVGRkZOnz4sG677bZz7muxWJSSkhKybceOHTp%2B/LguvPDCkFqXL1%2BuQ4cOhSwTr%2BkVs6tTY7i6d%2B%2Bu5cuXa8uWLbr11luD26vq53dXHtRWs2bNNGLECB06dEgvv/yySktLlZaWFpFjAwAQrwjYAJCgdu3apW%2B%2B%2BUZTp05Vjx49Kj3evn17/fa3v9Xrr78edsC2Wq265557NHv2bE2ePFk333yzXC5X8MrSVc0Oh2Pu3LnKzc3V2LFjNXz4cLVo0UKFhYXKy8vTwYMHtWjRIknShAkTtH37do0ePVqTJk2S0%2BnU6tWra30v63r16mnmzJmaPn26CgsLNWDAADVt2lQnT57UoUOHdPLkSc2dO1fS6XPKK64WnpWVpYMHD2rFihVq2bJlyDFHjx6tdevW6e6779aUKVOCVxH/9NNPo15juHr37q2uXbtq/vz5KioqUseOHbVv3z698cYbkkJn%2BzMzMyVJL7/8soYPHy673a6LL764WvdIHzlypK655hplZWWpYcOGysvL0xtvvKEuXboQrgEASYGADQAJ6vXXX1dKSopuvvnmKh9v0qSJrr/%2Bem3bti1kRvh8fvSjH8lisWj58uWaNGmSWrduHbzt1ldffVWjWnv27Km1a9dq6dKleuyxx%2BRyudSoUSO1a9cu5AJcmZmZWrlypebPn69p06apYcOG%2BsEPfqABAwZo1qxZNXrtCjfddJNatWql5cuX6%2BGHH1ZxcbGaNGmiDh06hNzO7KGHHpLdbteLL76okpISZWdna/HixXr22WdDjte8eXP99re/1aOPPqo5c%2BYoLS1N1113nWbNmqWJEydGtcZwWa1WLV26VE888YSWLVum8vJyde3aVQsWLNAPf/jDkCXvPXr00Lhx47RhwwatXbtWgUBAq1atqvLLm7Pp2bOntm/fHpyxbtGihYYNG6bx48dXu3YAABKRxTAMw%2BwiAADxzeVyacCAAbruuutqdZ9nxIeNGzdq6tSpeu2119S1a1ezywEAoM5gBhsAECI/P19Lly5Vjx491KhRI3355Zf6zW9%2Bo%2BLiYt1xxx1ml4dq2rRpk44fP67MzExZrVbt379fK1asULdu3QjXAABEGAEbABDC4XDo2LFjmjt3rgoLC%2BV0OtWpUyfNnTtX7du3N7s8VFO9evW0efNmLVmyRKWlpWrevLlGjBihKVOmmF0aAAB1DkvEAQAAAACIAKvZBQAAAAAAUBcQsAEAAAAAiAACNgAAAAAAEUDABgAAAAAgAgjYAAAAAABEAAEbAAAAAIAIIGADAAAAABABBGwAAAAAACLg/wESzhih/tUP6QAAAABJRU5ErkJggg%3D%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPUCAYAAABW6JEKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3gU5doG8HtrKgkh9BoIBATpXanSqw0UFETRoNhA4ajA8SgiH10UEUVBBQ4gHAgdBCkiKEQJEggtJAGSQAghJCF923x/7O44k%2BxmN8luCty/68qVLbOzM%2B/OvDPPWxWCIAggIiIiIiIiolJRlvcGEBEREREREd0PGGATERERERERuQADbCIiIiIiIiIXYIBNRERERERE5AIMsImIiIiIiIhcgAE2ERERERERkQswwCYiIiIiIiJyAQbYRERERERERC7AAJuIiIiIiIjIBRhgSzRv3lz8S0xMtLlMWFiYuMz48ePLeAvvf4899piYvuHh4eW9OfctV6czzwv347lBRGWFeXrZcEc681rhXvfzuREeHi7u22OPPVbem1Opqct7A1whPDwcL7zwgvjc29sbv//%2BO7y9vctxq4iI6EERERGBffv24ezZs0hMTMS9e/egUCjg7e2NOnXqoFGjRmjVqhXatWuH9u3bQ6PRlPcmExERkRvcFwH29u3bZc9zcnJw4MABPPHEE%2BW0RUREtn355ZdYvnw5AODJJ5/E/Pnzy3mLqDTi4uIwc%2BZM/P333zbf1%2Bl0SE9Px8WLF/Hzzz8DAHx8fLBixQp069atLDeViIgkmjdvLj4%2BdOgQ6tevX45b82C73%2B6NKn2AnZubK960SG3bto0BNhERuc3Zs2fx0ksvISsrS/Z6nTp1ULduXWg0GmRmZiI%2BPh6ZmZni%2B9nZ2UhPTy/rzSUiIqIyUOkD7P379yMnJwcA0KFDB1y%2BfBnZ2dkIDw/HzZs3UbduXZd%2B31NPPYWnnnrKpeskIqLKJTs7G2%2B88YYYXKtUKkyYMAHjxo1DvXr1ZMsKgoC4uDgcPnwY%2B/btw/nz58tjk4mIiKgMVPoAe9u2beLj0aNHIzw8HNu3b4cgCNixYwcmT55cjltHRET3o/Xr1%2BP27dvi84ULF2L48OE2l1UoFAgODkZwcDBCQ0MREREBPz%2B/stpUIiIiKkOVehTxpKQk/PnnnwAAT09PDBw4ECNHjhTfL9g3m4iIyBUOHTokPu7QoYPd4NqWjh07olmzZu7YLCIiIipnlboGe/v27TCZTADM0xL4%2Bvqie/fuqFmzJm7fvo1r167h77//Rvv27V32nWFhYZgxYwYAoEuXLli3bp3Dzxw7dgxbt25FZGQk7ty5Az8/PzRo0ACDBw/GU089BT8/P9lI6PXq1cPhw4dtruuxxx7DjRs3AABr165F165dkZ%2Bfj127dmHHjh24du0a0tLSULVqVbRu3RpPPvkkBg4cWKx9FAQBR44cwcGDB3H69GmkpqYiLy8PgYGBaNGiBfr164fHH38cWq3W6XWmpKRg48aNOHToEBITEyEIAmrXro2uXbvi2WefRYsWLYq1jc6yN2jC8ePHsXPnTpw9exYpKSnIysoqclCF3Nxc7N69G0eOHMHly5eRmpoKhUKB6tWro0OHDhg6dCh69%2B7t1Dbp9XqcPHkSJ06cQFRUFK5evYqMjAwAQNWqVdGkSRN069YNzzzzDKpVq1as/S2vdC4JVx1n9n7j06dPY9OmTThz5gxu3boFrVaLhg0b4rHHHsOECRPg6%2Bvr9LbeuHEDGzduxNGjR3Hz5k276Wrr/LQaP368WCBotW3bNlkrHClnBlxx1bmv0%2Bmwd%2B9eHDx4EBcvXsTdu3eRn58PDw8PBAYGomHDhmjdujV69eqFDh06QKFQOLXegt5%2B%2B23s378fADBixAgsXrzY6c8OGjQI165dAwD861//wiuvvFJomRs3biAsLAzh4eGIi4vDvXv3AJgHFatVqxaCg4PRoUMHDBgwALVr1y7RPlhZtwUA2rVrV6p1FcWVeY/VxYsX8dNPP%2BHEiRNITk6Gl5cX6tati/79%2B2P06NGoUaMGEhMT0a9fP/Ezly9ftrmuoo55W5xdb0Hh4eHYv38//vrrL9y%2BfRvZ2dkICAhAcHAw%2BvTpg9GjR8PHx6fIddi7fl%2B%2BfBk//fQTTp48iVu3bkGhUKBevXro2bMnXnrpJdSoUcOpbbRKSkrCrl278Pvvv%2BP69eu4e/cuAKBatWoIDg5G165dMWjQIDRq1MjhupKTk7Fjxw4cO3YM169fR1paGry8vFCrVi088sgjeOqpp2QDNTnj8OHDCAsLw7lz53D37l0EBAQgKCgII0aMwIgRI%2BDp6Vms9TnL1oBSd%2B7cwfbt23Hw4EHcuHEDqampMBqNReZ/58%2Bfx549e8Tf6969e/D390fDhg3Rq1cvPPvss05fOxMTE/Hbb7/h1KlTuHLlCpKSkpCbmwsfHx9Ur14d7du3x%2BDBg9GzZ89i7295pXNJuOo4s/UbZ2ZmIiwsDHv37kVCQgIyMzMRGBiI9u3b45lnnkH37t2d3k5BELBv3z7s3LkTFy5cQFpams10LepeveDMQ1bSfEnK2QG3XJ2PFMXe/kVERGDz5s04c%2BYMkpOT4eHhgUaNGmHgwIEYM2ZMse57nJWRkYGwsDD8%2BuuvuHr1Ku7evQsfHx/UrFkTXbt2xciRI9GmTRu7n3fHvVFFUOkDbCtrzbVSqcSwYcPwww8/ADD/SK4MsIsjNzcX77//vnhDaXXnzh3cuXMHf//9N9auXYtly5aV%2BDuuXr2Kt99%2BG9HR0bLXU1JScPjwYRw%2BfBgDBw7EkiVLnAqIL126hH//%2B984d%2B5cofeSkpKQlJSEI0eO4Ntvv8WSJUuKPGmsDh48iFmzZhUa1Cc2NhaxsbHYtGkTpk6dikmTJjlcV2llZWVh1qxZNgfGs2f//v2YO3cukpOTC70XHx%2BP%2BPh4bN%2B%2BHd27d8dnn31W5IU9PDwcb7/9tt0BjpKTk5GcnIwTJ05g5cqVmDFjBp555hmntrMipbMj7jjOrHQ6HRYuXFio8CsvLw9RUVGIiorCxo0bsXr1aqduGLZu3YpPP/1UHOvBSpqu77zzDkJDQ53eRldw1bl/6dIlTJkyRRYwWuXk5CAnJwcJCQn4/fff8c0332Dp0qUYOnRoibZ55MiRYn546NAh5OTkODWd4rlz58TtUygUNmuLf/zxRyxZsgQ6na7Qe%2Bnp6UhPT8fly5exd%2B9eLF68GJGRkSXaB6vs7GzxccFjw1VcmfdYLVu2DN988w2MRqP4Wl5eHtLS0nD%2B/HmsWbMGixcvRuPGjV26LyV18%2BZNfPjhhzh%2B/Hih927fvo3bt2/jxIkTWLVqFebOnVuswgZBELBy5UosW7ZMlh4AEB0djejoaGzatAnLly93KgjQ6/VYunQp1q1bZ/M4tOZtx48fx2effYZly5bZLQQzmUxYsWIFvvvuO%2BTl5cne0%2Bl0yMjIQHR0NNauXYvnn38eM2bMgEqlKnL7srKy8K9//atQAb71uhMeHo5169aJBZbuduTIEXzwwQdOD/iXkZGB2bNnY%2B/evRAEQfae9b7q9OnTWLVqFWbOnImnn366yPW9%2BeabOHjwYKF1Wb8rIyMDsbGx2LJlCzp16oQvvvgC1atXd7idFS2di%2BKO40wqMjISU6dOxc2bN2WvW8%2BFvXv3Yvz48Zg1a5bDgtu7d%2B9iypQphYKx8k5XV%2BcjJWEwGLBgwQKsXbtW9npubi7S09MRGRmJ9evX47PPPnNpTLR9%2B3bMmzev0DlsveZGR0dj3bp1GD58OD755BOHhaD3k0obYJ8%2BfVq84QoICJCVLo4cOVIMsPft24dZs2bBw8OjTLfPYDDgjTfewO%2B//y6%2BplAo0KxZMwQEBCAlJQVxcXG4ceMGJk6ciJkzZxb7O1JSUjBt2jSkpKQAAIKCglCrVi1kZmbi8uXL4ol%2B4MABLFiwAB9%2B%2BGGR6/vzzz8xefJk2Yi4fn5%2BaNKkCbRaLW7evInExEQA5pu7CRMmYNWqVejYsaPddR45cgRTpkyBwWAQX6tevTqCgoKQl5eH6Oho6HQ6LFmyxO0nniAImDZtGn799VcA5trixo0bQ6FQID4%2B3uZnfvjhByxYsEB2Aa5Tpw7q1asnDlyUlpYGADhx4gTGjh2LjRs32r3RvXXrliwj8vf3R4MGDeDr6wu9Xo/4%2BHjx98zJycGHH34IvV6P559/vsh9q0jp7Ig7jjOpjz76CGFhYQD%2B%2BY1VKhWuXLkithRISUnBK6%2B8gn379hVZohsWFoZZs2bJfv8aNWqI6RoTE4Pc3FwsXrwYXl5eRW5X69atodVqxcAIAGrWrImQkBCbyxdVu%2BGqcz8lJQUTJkyQHZN%2Bfn5o3LgxfHx8kJubi5SUFNy4cUNMA1s3o87q1asX/P39kZGRgZycHBw6dAgjRoxw%2BLndu3eLjzt37lyo9nnz5s2YN2%2Be7LX69eujbt26UKlU4kje1hpta8un0qhataqY/hERETAajcW68XTE1XkPACxevBjfffed7LWGDRuidu3aSEtLQ0xMDNLT0zF58mQsXbrUZftSUleuXMHEiRNlfd29vb3RtGlTeHt7Izk5GVevXgVgPpZff/11LFmyBIMHD3Zq/cuXLxdvxn19fREcHAwPDw/ExcXhzp07AMzB0uuvv47du3cXGrxOKjs7G6%2B//jpOnjwpe71WrVriiPIpKSm4fv06TCYTBEEoNPq8lV6vx7Rp02SF8wqFAk2aNEH16tWRm5uL6Oho5OXlwWQyYd26dbh16xa%2B/PJLu0GKTqfD5MmTZcGJSqVCs2bN4Ofnh8TERNy8eROXL1/GxIkTbdbwudLp06cxY8YMGAwGcYyCwMBApKWlITY2ttDyycnJmDhxImJiYsTXtFotmjVrhipVquDu3buIiYmByWRCVlYWZs6ciczMTLz44ot2t%2BHy5cvi%2BaVSqdCgQQMEBgZCo9EgPT0dsbGx0Ov1AIBTp05h7Nix2LZtW5HXjIqWzkVxx3EmdeXKFbz77rvIycmBUqlE06ZNERAQgLS0NFy5ckVM%2B3Xr1qFu3bqYOHGi3XVlZWXhpZdewqVLl8TX1Go1QkJC4Ovri6SkJCQkJDiVrv7%2B/ujRowcAyAruOnfubDNWsHeNtnJlPlJSS5YsEYNrHx8fNG3aFCqVCrGxseJ9z82bN/HKK69g7dq1aNWqVam/88cffyx03a1Tpw4aNGiArKwsREdHi/eku3fvRkJCAr7//vtC548r740qFKGS%2BvDDD4WQkBAhJCREmD17dqH3hw0bJr6/Z88ep9ZpXT4kJERISEiwuczWrVvFZcaNG2d3Xd98841sfa%2B%2B%2BqqQmJgoWyY2NlYYN26cEBISInTt2lVctm/fvnbX27dvX3G5Ll26CCEhIcJrr70mXLt2TbZcUlKSMH78eHHZFi1aCFevXrW73qSkJHF9ISEhwtChQ4WjR48KRqNRtlxUVJTw9NNPi8v17t1byMjIsLnO1NRU2Tq7dOki7N27V7bOjIwMYd68eUJISIjQunVroV27duLyJ0%2BetLu9zlq2bJm4vvbt2wshISHCo48%2BKuzdu1cwGAzickajUYiPj5d99siRI4V%2Bw0uXLsmWMRqNwoEDB4Tu3bvLlrNn%2B/btwogRI4Q1a9YU%2Bj6rixcvCq%2B88oq4vtatW9tdVhAqRjo7e1644ziT/sbWdffq1Uv45ZdfZOvV6/XCypUrhebNm4vLL1261O62xsfHC23atBGX7dmzp3DkyBHBZDKJy2RnZwvLly8XHnroIafTVbq977//vt3vL8gd5/4nn3wiLtejRw/hyJEjhX4LQTAfP7t37xZeeuklp/NTe6R596RJkxwubzQahR49eoif2bx5s%2Bx9nU4nO6YmT55s93yJjY0VVq5cKQwcOLBU%2ByAIgjB58mRZ/vDpp58Ker2%2B1OsVBPfkPX/88YdsnSNGjBDOnTsnWyY%2BPl546aWXCl2TQkJC7K5Xelw6k5ckJCQ4td7MzEyhX79%2BsvNvz549hdL46tWrwsSJE8XlOnTo4NT1u0uXLkLz5s2FTp06CVu3bhV0Op24nMlkEsLCwoRWrVqJy0%2BfPr3I/Xr33Xdl%2BxUaGipcuHCh0HL37t0Ttm3bJowePVrYunWrzXXNnz9fdv7Onz9fSElJkS2Tm5srrFy5UmjZsqW47Pfff293%2B5YuXSrbvrffflu4deuWbJnw8HChf//%2BhX7/ovL04pB%2Bv/V6PG3aNCEpKUm2XHJyspCbmys%2B1%2Bv1wrPPPit%2BtlOnTsKGDRtky1g/N336dHG5li1bCmfOnLG7PcOHDxdmzpwp/Pbbb0JeXl6h97Ozs4X169cLHTt2FNf54YcfFrmPFSGdnT0n3XGcSffdmi/PnDlTSE5Oli0XExMjDB8%2BXFy2Xbt2QmZmpt31Sq8b1nWmpqbKlomMjBRGjhxZrHSVrtNevlGQO/MRZ9nahlatWgnffvut7LzIz88XNmzYILRt21ZcftCgQUJ%2Bfr7N9Z48eVJcrqhYJCIiQmjRooW47MCBA4Xw8HDZMqmpqcKMGTNkaVzUPU9J740qqko5yFl%2Bfj727dsnPpcObGYlrRUp68HOMjIysGLFCvF53759sWLFikKlVk2aNMHq1avRsWNHsSaiONLT0zF8%2BHCsWLGiUF%2Bu2rVr4%2Buvv0bNmjUBmGtsduzYYXddH3/8sViL1bZtW/zvf/9Dr169oFTKD5FWrVph3bp1aNmyJQBzM5%2BCTVKsvvzyS3GdHh4eWL16NYYMGSJbp5%2BfHz744ANMnjwZ%2Bfn5bmtqCZhrGHx9fbFu3ToMGTJEVtukVCrRoEED8Xlubq6sVcG4cePwzTffFGpSrFQqMWDAAKxfv14slTty5EihJkxWAwYMwM6dO/HCCy/Ivk%2BqRYsWWLlypdh0MD8/Hxs2bLC7XxUtnYvijuNMKj09HYGBgdi4cSP69%2B8vW69arcakSZMwbtw48bWi8oalS5eKTeaqVKmCtWvXok%2BfPrKSe29vb7zxxhuYNWtWmaarq879o0ePio8XLlyIPn36FPotAPPxM2zYMHz//fcYNGhQqbZdmjcfP35c7J9qT3h4uFiDqdVqC31/ZGSkeEzVr18fX3zxhd1zq0mTJpg0aRL27t1bml0AYJ61Qmrt2rXo168fFi1ahBMnTtitnXTEXXnP3LlzxcdBQUFYt24dHn74YdkyDRo0wMqVK9G1a9cSXZNcaenSpUhISABgrmUPCwvD0KFDoVbLG94FBQXh22%2B/FZuGZ2Vl4auvvnK4/vT0dHh4eGDNmjV46qmnoNFoxPcUCgWefPJJTJs2TXztwIEDsm4BUgcPHpS1shg/fjy%2B/fZbPPTQQ4WWrVKlCp544gls3rzZ5rl09uxZsQWeQqHAkiVL8P777xdqmuzp6YlJkyZh4cKF4mvLly%2B3edzdunULq1atEp8PHjwYn3/%2BOWrVqiVbztqXs0aNGm7//bOzszFmzBgsXry4UIuUmjVrymqp1q5di7///huAueXIpk2bMHbs2EI1WTVr1sSiRYvw7LPPAjC3JCxqnIdNmzZh7ty56Nmzp82aS29vbzz33HP44YcfxONj%2B/btdvOsipjO9rjjOCsoPT0dkyZNwty5c8XrkVVwcDC%2B/fZbseVXTk6O3a57sbGx2Lx5s/h87NixmDt3bqHWOm3atMHatWsRFBRUZunqynykNNsgCALmzJmD0NBQ2Xmh1WoxduxYLF26VLx3uXr1KtavX1%2Bq7/zkk0/ElmD16tXDf//7X3Tp0kW2TLVq1fB///d/shaY27ZtE8/l%2B12lDLAPHTokNvVr1KiRzQFmRowYIR5Mx48fF5vylYVdu3aJN%2BYeHh6YPXu2zZtWwHzwz5kzp0SDBvn5%2BWH27Nl2P%2Bvj44NRo0aJz0%2BfPm1zuZiYGLHZtEajwZIlS4rsF%2Bnl5YXZs2eLz3/66adCzUZzc3Oxc%2BdO8fmLL75Y6GZO6s0330RQUJDd913lzTffdKpv4bZt25CamgrAfFNuHUzCnsaNG%2BO1114Tn2/cuNHmcs70NwXMN8/vvfee%2BNzeoHcVNZ1tccdxZst7772HunXr2n1/woQJ4mNrP7CC0tLScODAAfH5G2%2B8UWS6Pf/8824d6KogV537t27dEh936NDBqe8ubTPoTp06ib%2BPwWBwOB7Crl27xMd9%2BvQpNL2VdB/atGkju8GxxxVNufv27Ysnnnii0LasWrUKL774Ijp37owhQ4bggw8%2BwJYtW2z2o7bFHXmPdQAnqw8//BD%2B/v4216fRaPDpp586lY7ukp6ejq1bt4rP582bV2TfV5VKhU8%2B%2BUTc5t27dyMzM9Ph90yaNEksxLPl2WefFW9W8/LycPHiRZvLSYOqhx9%2B2OFvZmWru873338v5nOjRo1yON7BsGHD0KtXLwDmwgXp%2BWIVFhYmNnX29fXFRx99ZDfvqF27NqZPn%2B7U9pdG9erV8cEHHzhczmAw4McffxSfz5o1C02aNCnyMzNmzEDVqlUBmLsk2WpyDjh/PW7durX4O%2BTn58u6/klVxHS2xx3HWUFBQUGYMmWK3ffr1KkjG4PA3nVqy5Yt4rbWqFFDdm9UkL%2B/P2bNmuVw21zJVflIaTz66KN48skn7b7ft29fDBs2THz%2B008/lfi7IiIiZPswc%2BbMIgdwe//992UVjP/9739L/N2VSaUMsK39KwHY7b9Xt25ddOrUCQBgNBqdygxcRVor1KdPn0KllwUFBwejc%2BfOxf6eoUOHOhwRUNpvNS4uzuYyu3btEjOvxx57zG7tj1SbNm3EmjNrf3Kp8PBwsYRToVDgueeeK3J9arUaY8aMcfi9paFWq4vMgKSkQevzzz9fqNbEFmlLivDw8OJvYAENGjRAQEAAAOD69etioZJURUxne9xxnBXk6%2Bsru4jY0qBBA9nFwNY6T5w4Id4oaTQaPPXUUw631VprUhZcde5La22kfdvcqeAgZUXlzTqdTlbQYSu/l%2B5DdHS0S/pXO%2Bv//u//MHnyZJvBqMlkQlxcHLZt24ZZs2ahb9%2B%2BmDRpEqKioopcpzvyHumUYkFBQWL/Q3saNmzocBl3OnDgAHJzcwGYW7NYr%2BVFqV27tngd1el0dm/WpRyds97e3rJaaFvnUVJSkqxG5tVXXy1xAU5ubi4OHjwoPne2f670vHD0%2Bw8ZMsThYHjDhg0TA1R3GTFihMNxKwDz/lgLpwIDAx3m74C5cHbAgAGydZRW27Ztxce2BucEKmY62%2BKu46ygp59%2B2mH%2B5cx1SnpPPWLECIcFIz179nRLP2d7XJGPlJajez8Asprka9euycYzKA7pcV6vXj27o69beXh4yNLoyJEjZXqdLi%2BVLsC%2Bffs2/vjjD/G5rebhtt6zN9y7O0gzX0dTlhR3OSlnRgKUNr2yV6J/6tSpEm2HdB7X8%2BfPy947e/as%2BLhp06ZOTYljLR11l%2BDgYKcuZvn5%2BbKbYGfTpFatWmLtWmpqqsMaK%2Bv0JPPnz8e0adPw2muv4eWXX5b9WZscC4IgG%2BjHqiKmsz3uOM4KatWqlVM1b9J0slVwIT2HW7RoYbe2T6ok53BJuercl7Z2mD59uuw3cifpjdrff/8tDmpX0K%2B//ipue5UqVdCnT59Cy0gHa4mJicGMGTPKrMWSSqXC1KlTsX//foSGhhbZcsJoNOLo0aMYNWqU3VFu3ZX3SI/nRx991Kl1llc%2BAbgmr7hw4UKRy9avX9%2BpEaGlBeS28grptmo0GpvHqLPOnDkjFuwFBAQ4HFzJSrpcwf3W6XSyqdCcKTjRaDRuG%2B3YytlBK6Xp26lTJ6cLL4pzLJhMJvz111/47rvvMHPmTLz11lt45ZVXZNdiaY2frWt7RU1nW9xxnNniiutUVlaWOJAhAHTr1s3hOhUKRZldj12Vj5SGUql0Kl9v3749qlSpIj63V1DkiPS%2Bs2fPnk61wJXmi9nZ2XZbldxPKt0o4jt37hRHyJXWbtkyePBgzJkzBzqdDtHR0Th//rxLRs4rinW6EytHTZmKu5yUMye1tC%2BGtUagIGkp1pYtW%2Bw2Ry5IOj1Qwf4u0lG5pRe6ogQFBUGj0YgZv6s5U2MKmEv2pNswd%2B5cpy/q%2Bfn54uO0tDSbrReSk5Mxb948HDhwoNCUDkWxdfGpiOlsjzuOs4KcnWdSWnNScGoSALJm486em/Xq1YOnp6fN9bmaq879F198URz1OD4%2BHs8//zyCgoLQu3dvdO7cGe3bt3fqu4orJCQEzZs3F0fx3bNnD1599dVCy0n7tQ4aNMjmdGN169bFoEGDxJFwt2/fjt27d6Nz58545JFH0KFDB7Rp08apaQpLql69epg%2BfTqmT5%2BO69ev4/Tp0zh//jzOnTuHqKgo2ej%2BgiDgyy%2B/hEajKbTP7sp7SpJPOLucO0jzil9//bXQVHT2SPezrPIK6c1/SEhIqY4z6X7rdDq8/PLLTn2u4G8vlZSUJDumnP1dmzZt6tRyJeXs9ViaJlFRUU6nibRAuqhjYfv27fj8889tdhWyx1b/44qazra44zizxRXXqeTkZFltp7PX47KaZtBV%2BUhp1K9f36nWIAqFAk2bNhVb3Fy/fr1E3yfNZ50tnAkODoZarRavhfHx8eV6jSkLlS7AtjX3tT1%2Bfn7o3bs3fvnlFwDmWmx3B9gFg6CC/QXtkZYqOcsVfeRMJpOsNM2ZUklbCu63dJ3ONoFSqVTw9fV12%2BAUzk5PVXA%2BvxMnTpTo%2B2wFxDExMRg/frzDgZ1ssTWvakVMZ1vcdZwVVJJzwla/bun3OHsOA%2BbzuCwCbFf1j%2B3bty%2BmT5%2BOzz77TLyJuXbtGq5du4Y1a9YAMF9ABw8ejNGjRxcaqKY0RowYIdb47Nq1q1CwmZWVJfbZty5vz5w5c5CamirWdhkMBpw4cUI8dz09PdG1a1c8/vjjGDx4sEun0yqoUaNGaNSokdgdJSsrC/v27cPXX3%2BNGzduiMt9%2BeWXGDZsGOrXry%2B%2B5q68pyT5RHk0XbWSpkNcXFyJmlSWVV5hnQIHgFPzkBdFut/Z2dk25/52pOB%2BS7cPgNjtyBFnlyupklyPb9y4ITuHnGXvWJgzZ06J%2BoPauhZX1HS2xR3HmS2uuE4V/B5n75WLc90uDVflI7m8IzIAACAASURBVKVRnLxaumxJa9Klv4mzx69arUaVKlXE%2B05X1%2BJXRJWqiXhUVJRsoJYvvvgCXbt2LfJPmnHs3r3b7bV2JT1xXH3COcs6v2FpFdx%2BaToXJwNyZy2TvYHmCrJX21dcBdPVaDRi6tSpYnCt1WrF5qL79u1DREQEoqKicPnyZfHPUT%2BiipjOtrjrOKtoKvr22RIaGopt27bZ7dsWHR2NZcuWYeDAgfj%2B%2B%2B9d9r3SgSivXLlSqA/4/v37xRqTWrVqFRqhVMrf3x/r1q3DggUL0K5du0JN1vLy8nD06FG8%2B%2B67GD58eIkLeErC19cXo0ePxs6dO2X7oNfrZQN5Ae7Le0qST5R1HiHlitH4y%2BpclAZbpU0zd%2Bx3wXueivL7Ozuwq7uOhT179siC62bNmmHGjBnYtGkTjh8/jsjISFy6dEm8Fhec77egiprOtlSm86uy3VOXh5Le%2B9kqKHJGSfM8V3x3ZVKparAL9qN2pgRNKi0tDUePHkX//v1duVkyBUvNnC2lKemULqXl7e0tay68bt26Im9knSUdgKk4UxK4evqCkpCWkKrVakRGRjo10JAjR44cEQuINBoN1qxZ43DkZkfpUVnS2V3HmbtIj4HilLSW13lcWi1atMDixYuh0%2BkQGRmJU6dO4c8//8SpU6fEC2Fubi4WLFgApVKJF198sdTfaR2Uyjqt1K5du9CiRQvxfWnz8OHDhzssIFMqlXjiiSfwxBNPIDU1FX/%2B%2BSciIiJw4sQJWZPIuLg4TJgwAWFhYU43U3UFX19fzJ8/H/379xcD4IiICNky7sp7fH19xVorZ899d%2BURztz4%2Bvn5iTUd8%2BfPd3pwyvIg/c2Ke09SkPT%2BwTqVU2kVHAwxOzvbqVrAinAtBuRp8tZbb%2BHNN990yXq//fZb8XH//v3x%2BeefFxmoFOdabF2%2BoqazO44zdyl4T52ZmelUjW1pz8XKpKT3fiVpOQvIryfFueeRLlvS765MKk0Ntl6vl91wlZS758T29PSUNZlwtmmbO0YVdJZ0e0vaJ6MgaVM5Z5t0paenV4gAJTAwUHxsMBhK1CTNFunUHsOHD3cYXOfm5joM7ipTOrvjOHOXOnXqiI%2BdPTdv3LhRJs3D3Umr1aJz586YPHkyfvjhB5w8eRIff/yx7IZm2bJlLpvvW9rNZ8%2BePWLwlZKSIhul1lF3oIICAwMxZMgQ/Pvf/8aePXvw888/45lnnhHfv3fvHr7%2B%2ButSbn3x1atXD8HBweLzgoOxuSvvKUk%2BYW/guYKkQYm0r7k9BZvS2iLd3mvXrjm1HeVF2geztPma9Pd3VR4pXSfg/O/q7HLu5o5jITU1VdZiZsaMGQ5rAW0NMipVmdLZHceZu9SqVUtWuOrs9Vg6NsL97ubNm04vKz3eStqlRfo5Z4/fu3fvyoL70nanqQwqTYD966%2B/iiUmWq0WERERsqa0Rf1JmwH9%2Buuvbu972rp1a/GxtXbGEVdMI1FS0vl7S9rnryDpnIAXL150ajCvko5o6GqNGjWSBYOuShPpICrSY8SeyMhIh82qK1M6u%2BM4cxfp73Pp0iWnggJnz3Vp08iK3ozNx8cHY8eOxbJly8TXsrOzERkZ6ZL1SwcuS0pKEvtQ79mzRzyWmzVrJqvZLonGjRtjzpw5sppQe3PZupu072nB2ml35T3SfMLZ89/Z5aT748x5Iu3mZY80r7AOwldRSadvSk5ORkJCgsvW5YqC9%2BrVq8sKARxNE2dVUa7H0mMhPDzcJXmm9FocEBAgGwfBHulUbLZUpnR2x3HmLr6%2BvrIBy5y9V74fr8f23Lt3z6nCp/T0dNkAZSUdk0p6PZGOKF6UM2fOiI8VCoXNecPvh99CqtIE2NLm4T169HA4B6xUx44dxYxPr9djz549Lt8%2Bqd69e4uPjxw54nC6ptjY2DKbHscW6fD%2BBw8edMkUN9J5S9PT0526md27d2%2Bpv9cVFAoFHnnkEfH5pk2bXLLe4vb/d6a1RWVKZ3ccZ%2B7SvXt3sUZDr9c7Nc2fs8eJtJ9zZanx7tq1q6xJ1507d1yyXutAlFbWObGlrZWKGtysuKTdg1JTU122XmeZTCbZDU7BQePclfdIp0T6/fffHbaMMZlM2Ldvn1Prlrb2cGa0b%2BkcqvZI84ozZ87g4sWLTm1LeXj44YdlzVg3b95c4nWFhITIgjTp1FClIb1OOJP/JyYmuqwQrbSk58Pt27edOn4ckba0cKYveEJCglP3aJUlnd11nLmL9Bqxc%2BdOh2NVHD9%2B3OmaVeno29JR0isbZ463n3/%2BWay00Wq1TlX02CI9zv/44w%2BnBu21XtsBc6G5rUHoKuO9UVEqRYB99%2B5d/Pbbb%2BLzQYMGFevzSqUSAwYMEJ%2B7e07sESNGiCdtfn4%2BZs%2BebbcmUqfT4aOPPirXSddHjhwp1ppYt7e0pUfBwcGy0rFly5YVWbsaGxuLnTt3luo7XWnChAni4wsXLogjKpeG9Gb69OnTRS4bGRnpVHpUpnR2x3HmLgEBARg4cKD4fMWKFbLAqKCffvrJYQ2HlXTqktLUdpVWcdJep9PJbkqdmRfcWdIAev/%2B/YiJiRFrdRQKBYYPH17k54uzH9ImaqXdh7179xZ7oJY9e/bIbkZszdXqjrxn6NChYkuB/Px8rFixosjlt2zZ4vSxKa2J%2BOWXX4r8Pc6ePevU9Hw9evSQTV/00UcfVdhBcbRaraz7wZo1a5yqpbdFoVDghRdeEJ9v3LjR6Rqiojz%2B%2BOPi48jISIe/wdKlSytM3hwcHIyePXuKz%2BfPn%2B9US4miSIPLu3fvOqz9mzt3rlPpUVnS2V3HmbuMGjVKLAhJSUnBkiVL7C6bmZmJuXPnOr1u6bFQ1DW%2BoluzZk2RrXNzcnLwzTffiM/79%2B9f4n7Qw4YNE2McvV4va%2BFmy7lz5/Dzzz%2BLz0eNGmVzuYpyb%2BQqlSLA3rVrl1j7p9Fo0K9fv2KvY/DgweLjqKgo2aA3rubv74/XX39dfH7o0CG89dZbheZZvHr1KkJDQ/HXX3%2BVy1QNVt7e3nj77bfF57/88gumT5/usJ9uZmYm/vvf/%2BKdd96x%2Bf6kSZPEx%2BfOncPs2bNt9tG7desWXn/9daf675WVtm3bYsiQIeLzBQsWYPXq1Q6bYN%2B4cQMLFy6UZWRWnTt3Fh///PPPdpt/nj9/HpMnT3Z6juzKks7uOs7c5Z133hEvIhkZGXjhhRdw9OhR2Q1RTk4Ovv76a3zyySfw8PCwOQp3QdICkQsXLpRb95AbN27gueeew%2BHDhx0eE1999ZVYa6DRaGTNNkurb9%2B%2BYml2eno6Zs6cKb7XsWNHhyPpf/fdd/j4448dNnNMT0/HqlWrxOfSUviSmD9/PgYPHowff/zRqdrwX375Bf/5z3/E515eXjb7lrsj76latSpGjx4tPv/xxx/tFjSHh4cX6wZVWngdExODH374weZyMTExeOutt5zK1xQKBd577z3xpjoyMhKTJk1y2HIiLy8P27dvlxVSlIWJEyeKfQrz8/Px0ksvOQxYfvvtN5u1os8//zwaNmwIwFywFRoaimPHjjnchrNnz%2BKdd96x2YqpV69eaN68ufh8xowZdlsFrFq1yiXj3bjSu%2B%2B%2BKxYQJSQkYMKECQ77Duv1ehw8eBDPPvtsoZrJevXqyfKVOXPm2CzA0ev1%2BPjjj3HkyBGntrMypbM7jjN3CQ4OlhVirVu3Dv/5z38K1ZxGRUVh/PjxiIuLc/qeWlpAuGHDhgpbkOdIeno63nzzTZutk3Jzc/HOO%2B%2BIMYhSqXR67nNb/Pz8MHbsWPH5xo0bsXbtWpvLXr16FW%2B%2B%2BaZYiVizZk08/fTTNpetKPdGrlIpRhGXNpV95JFHSlTq0rlzZ1SvXl28QG/btg3/%2Bte/XLaNBU2cOBEnT54UM6GDBw/i0KFDaNasGQICAnDnzh3ExsYCMAfkH3zwAd5//30Arpvjtjiee%2B45REZGimm9e/duHDt2DMOHD0fHjh3FkqWMjAzExMTgzJkz%2BOOPP6DX62X9eaQGDx6Mxx57TCzF3bRpE86ePYvRo0cjODgY%2Bfn5iIiIwMaNG3Hv3j20b98eSUlJuHXrVtnstAOffvopYmJicOXKFRiNRixcuBCbNm3CsGHD0KpVK1StWhU6nU4cMOWvv/4Sm3uFhoYWWt/QoUPx2WefISUlBQaDAaGhoRg1ahR69uwJf39/3L59G7/99ht27doFg8GAHj16IDY2tlDBTEGVKZ3dcZy5S4MGDfCf//wHM2fOhCAISEpKwqRJk1CzZk0EBQUhPz8f0dHRYuA5c%2BZMfP/99%2BIAYPamrwgODsZDDz2EixcvQhAEvPDCC2jevDnq1Kkjm595zpw5hQbOcbWIiAhEREQgICAAffr0QevWrVG/fn34%2BvoiPz8fcXFx2LNnj6zFxXPPPefSOUa1Wi0GDhyILVu2AICsyaQzzcPz8/OxceNGbNy4ES1btkS3bt3QsmVLBAYGwsPDA2lpaTh79iy2bt0q5v8qlcrmOVpcN27cwLx587Bo0SJ07NgR7du3R/PmzREQEACNRoN79%2B7hypUrOHjwYKGA691330Xt2rVtrtfVeQ9gLjA6fPgwkpKSIAgCPvjgA%2Bzfvx/Dhg1D7dq1cffuXfz666/YsWMHjEYjhg4d6lSzw5CQEPTs2VO8OV%2BwYAHOnTuHIUOGoFq1akhNTcXvv/%2BObdu2QafTYeTIkU61ounduzcmT54s1rafOHEC/fv3x5AhQ9C1a1fUqlULarUaGRkZuHr1Ks6ePYvjx48jJydHVhNSFgIDA7FgwQJMnjwZBoMBKSkpeOaZZ9CvXz/06dMH9evXh0qlQkpKCqKionDw4EHEx8dj3rx5hQp6fHx88OWXX2Ls2LHIyclBeno6XnnlFXTu3Bn9%2BvVDkyZN4OPjg5ycHCQnJ%2BP8%2BfM4fvy4WONja8R1lUqFOXPm4Pnnn4der0d6ejqeeeYZjBo1Co8%2B%2Bij8/PyQmJiIHTt24OTJk1AoFBg0aJCs1qk8tWzZEh999BFmzZoFwDzeyNChQzFgwAA8%2BuijqFevHrRaLe7du4eEhAScO3cOx44dKzSvvNQLL7wgTr11/PhxPP300xgzZgyaNWsGvV6PS5cuYcuWLYiLi4NKpcLjjz%2BOsLCwIrezMqWzO44zd3rvvfdw5swZXL58GYD5Pmfr1q1o3rw5fH19kZSUJNZA169fHxMmTBALCouaSmr48OFid5hjx46hR48eaNGihawbardu3WQ1/hVNq1atkJmZiVOnTmH48OEYO3YsWrduDaVSiUuXLmHjxo2y2vkJEybg4YcfLtV3Tp06Fb/99ptYWTl37lwcOnQII0eORIMGDZCVlYWTJ09i8%2BbN4j2SUqnE3Llz7XbxrUj3Rq5Q4QPsy5cvy%2BYsLW7zcCulUon%2B/fuLfU127tyJd999V/ajuZJarcZXX32F999/H/v37wdgbspYsI9avXr1sGzZMllJXHkNXz9v3jxUq1ZNnOs2IyMD69evx/r160u8zsWLF%2BPll18Wm89evHgRn3zySaHlateujSVLlmD8%2BPEl/i5X8/X1xfr16zF16lT88ccfAMwjbjpqXmmPp6cnFi1ahNDQUOj1euj1ejEwKKhp06ZYtGiR3aY0BVWmdHbHceYuTz31FEwmE%2BbOnSsGzrdv35aNKKtSqTB16lSMGzdONjJ1UefxnDlzMHHiRLG02Togo5S0Jtfd0tLSsG3bNofdZ/r27Ytp06a5/PtHjBghBthWGo1G1vLIGRcuXHA4x7VarcbcuXNLfYMhvXYYDAaEh4c7VeKu0Wgwffr0Im/YXJ33AObjcfXq1Rg3bpx4vTly5IjN2rlu3bphypQpTo/X8PHHH2Ps2LHiebF3716bnx0yZAjefvttp7upTJkyBf7%2B/li4cCGMRiNyc3MRFhbmMNApD7169cKKFSswdepU5OTkQBAEHDx4EAcPHiz2ulq0aIGffvoJkydPFkd9/%2Buvv/DXX3%2BVePvatm2LhQsXYvr06TAajdDpdNiwYQM2bNhQaNnXXnsNDRs2rDABNmBuVurt7Y0ZM2YgLy8PBoMB%2B/btc3qsgILGjx%2BPY8eO4fjx4wDM4wfYumYqlUrMmDEDPj4%2BTh13lSmd3XGcuYuvry9%2B/PFHTJkyRRzAzGAw4Pz587LlmjdvjuXLl8tq2Isas6l///6yQr%2BMjIxC%2BbgrC5TdwcfHB7Nnz8bEiRORnJyMzz//3O6ygwYNcknlooeHB3744Qe8/PLLYlxz8uRJu4NSajQaLFiwAL169SpyvRXt3qg0KnwTcWnttVqtLlHzcCvpzdrt27fd3sTFy8sLy5Ytw3fffYfBgwejdu3a0Gg0CAwMRLt27TBjxgxs374dDz/8sCzALq/m4kqlEu%2B//z42b96M3r17Fzn/qkKhwEMPPYQpU6bgiy%2B%2BsLucj48P1qxZg9DQUHh6ehZ6X6VSoX///ggLC3PYFLQ8%2BPv7Y/Xq1Vi6dCkeeuihIpfVarXo3r07Pv30U7z22ms2l%2BnevTvWrVuHkJAQm%2B97eXlhzJgx%2BN///lesaQwqUzq74zhzp1GjRmH37t145ZVX0KxZM3h7e8PHxwfBwcEYO3YswsLCMGnSJBgMBlnfwKLO49atW2P37t147bXX0K5dO1StWtUl8x0XR/Xq1fGvf/0LnTp1cthqpnHjxvj000/x9ddfw8PDw%2BXb0qVLl0K1uT179nRqvtNBgwZh3LhxYnNHe1QqFfr06YOtW7fiiSeeKNX2AuZr0/z58zFo0CCnStP9/PwwatQo7Nq1y6l5xF2d9wDmGoLt27djwIABNucV9/b2xssvv4zVq1cX63isX78%2BNmzYIBucTKpq1ap47733sHTpUqcGlZJ68cUXsWvXLgwbNszhsdekSROEhobaba7obr1798a%2BffswatQom/mwlfVYsNUH36p58%2BbYvXs3pk2bhlq1ahX5vf7%2B/hgyZAi%2B%2BeYbu78BYG5FtXHjRrvHU%2B3atbFgwQJMnTq1yO8rL0OHDsXPP/%2BMMWPGyEavt6VevXoYN24ctmzZYvO4UalU%2BPrrr/HSSy/ZreEMCQnB6tWri10gXZnS2R3HmbtUq1YNa9euxdKlS9GnTx/UqFEDGo0GNWvWRJcuXfDpp59i8%2BbNaNiwoazbjqN76kWLFmH58uUYNGgQGjRoAG9v72LnU%2BWtdevW2LJlC7p06WLzfT8/P3zwwQf4/PPPXVaxWLNmTWzevBlvvvmm3TFNlEolevfujW3btmHYsGEO11kR7o1cRSFUlJEsHnBz5swRpxObNGmSW2qJiisrKwsRERFISkpCRkYGlEol/Pz80LBhQzRv3rzY89hlZWXhxIkTSExMhCAIqF27Njp27OgwU69IkpOT8ffff%2BPOnTvIzMyEh4cHAgIC0LhxY7Ro0aLImyopQRBw7tw5REVF4d69e/Dz80OdOnXQpUsXhzcOjlS2dHb1cVZeoqKixL5FNWrUEGtGKoP8/HxcunQJ165dw507d5CXlwdvb29Ur14dLVu2lM3dXJHduXMHly5dQmJiIu7duweTyQRfX180aNAAbdq0cWvhZUJCAuLi4nDjxg1kZWXBaDTCx8cHAQEBaNasGZo2bVqqGwVX5T3S9Z08eRLJycnw9vZGnTp10K1bNzH/SUxMlBVoF6xFsOfatWs4deoUUlNT4evri/r166N79%2B5FNtN0Vn5%2BPk6fPo2EhASx%2Ba/19w0JCalQeZy1a05CQgLS0tKgUqkQGBiIpk2bomXLlsU%2BFq5cuYILFy4gLS0NOTk58Pb2Rs2aNREcHIxmzZrZLDApyqVLl3Du3DncvXsXVatWRVBQEDp37lzs9ZQXg8GAyMhIXL16FWlpaeK5XrduXTRr1sypqbes0tLSEB4eLo48XaNGDTRv3rzU0wMClS%2BdXX2clZfXXntNbJ0ze/ZsjBkzppy3yLXCwsIwY8YMAOYC6nXr1onvXb9%2BHWfOnMHt27fh4eGBRo0auSwPtsdgMODvv/9GXFwc0tPT4eXlJRZ8VJZ7OFdjgF0B5OXloU%2BfPuIIgCtWrChVTT0Rlb3Zs2eLzQAHDBiA5cuXl/MWEZVcSQNsIqLylJycjH79%2BomDI%2B/YscMlhSUVSVEBNlUMlaMoqpJypuxCEAR88sknYnBdvXp1h30UiKhsOFv%2BeOLECdmcxWU9AAwREdH9zJnrsV6vx8yZM8XgumXLlvddcE2VAwNsN3rjjTewbNmyQgObWUVFRWHSpEnYunWr%2BFpoaGi5jCJORIVt2bIFU6dOxdGjRwtN9QKYmxauWLECoaGh4vRDrVq1Qp8%2Bfcp4S4mIiO5fY8eOxapVq2zOVy0IAsLDwzFu3DhZ96w33nijLDeRSFQ5e45XEnfu3MFXX32Fr776Cn5%2BfmjUqBGqVKmC3NxcxMfHF5o7tXfv3mU%2BfycR2ScdqVaj0aBRo0Zif6I7d%2B7g6tWrslL1qlWrYuHChW6bnYCIiOhBlJCQgEWLFmHRokWoVq0aGjZsCG9vb2RnZ%2BPq1auF5oAeM2YM%2BvfvX05bSw86BthuJB0M4t69ezh37pzN5VQqFZ555hnMmjWr0o1cSHQ/k57Der1enPPRloceegifffYZmjRpUhabRkRE9MCQ3h/fvXtXNvuOlFarxauvvsraaypXDLDd6LvvvsPhw4cRHh6Oy5cvi6PLAuaarvr166Nr16544okn0Lhx43LeWiIqaPTo0WjSpAmOHTuGyMhIxMfHIy0tDTqdDr6%2BvuKUe/369UO/fv1YQEZEROQGO3bswKFDh/Dnn3/iypUrSEpKQnZ2NlQqlThCe7du3fD0009XqBkF6MHEUcSJiIiIiIiIXICDnBERERERERG5AANsIiIiIiIiIhdggE1ERERERETkAgywiYiIiIiIiFyAATYRERERERGRCzDAJiIiIiIiInIBBthERERERERELsAAm4iIiIiIiMgFGGATERERERERuQADbCIiIiIiIiIXYIBNRERERERE5AIMsImIiIiIiIhcgAE2ERERERERkQswwCYiIiIiIiJyAQbYRERERERERC7AAJuIiIiIiIjIBRhgExEREREREbkAA2wiIiIiIiIiF2CATUREREREROQCDLCJiIiIiIiIXIABNhEREREREZELMMAmIiIiIiIicgEG2EREREREREQuwACbiIiIiIiIyAUYYBMRERERERG5AANsIiIiIiIiIhdggE1ERERERETkAgywiYiIiIiIiFyAATYRERERERGRCzDAJiIiIiIiInIBBthERERERERELsAAm4iIiIiIiMgFGGATERERERERuQADbCIiIiIiIiIXYIBNRERERERE5AIMsImIiIiIiIhcgAE2ERERERERkQswwCYiIiIiIiJyAQbYRERERERERC7AAJuIiIiIiIjIBRhgExEREREREbkAA2wiIiIiIiIiF2CATUREREREROQCDLCJiIiIiIiIXEBd3htwPxEEAXfvZsNkEsp7Ux4ISqUC1ar5MM3LGNO9fDDdyx7TvHww3csH073sMc3dq0aNKuW9CfSAYg22CykUCiiVivLejAeGUqlgmpcDpnv5YLqXPaZ5%2BWC6lw%2Bme9ljmhPdnxhgExEREREREbkAA2wiIiIiIiIiF2CATUREREREROQCHOSMiIioEBOAXAA6KBTpUCrzLY/1APRQKHQAdAAEmC%2BlGgiCFoAagqCxPNdYnnsD8Cyf3SAiIqIyxQCbiIjuc/lQKpOhVN6S/L8DpTIDCoX5T/r4nz/zqL5Vq5Z%2BCwTBA4LgD0Hwh8nkD0EIkDz2h8kUCJOpNkymOjAa68BkqgvAq/RfTERERGWKATYREVViOiiVCVCp4qFSxUOpvA6V6oYlkE6yBNNppf4Wc220CuaaaXONtbl2WgGFwgDACMBgqeG2PjaIn1co8qFQ3AZwGyqVc99pMgVYgu66lsC7HozGJpa/YAhCIACOPkxERFSRMMAmIqIKTaFIhUoVY/m7CpXquiWYjodSeVOsaS6KIKghCNVgMgVa/vtDEHwhCD4QBG/Lfx/Jaz5QKr1RpYofMjN1MBpLsuUCzMF2PhSKbCgUWbL/SmW25Xm2pRY9FQpFKpTKO1Ao8qFUplkKBy7aXLvJ5AeTyRxwGwz/BN5GYwsIQkBJNpiIiIhKiQE2ERFVALlQqeKgUsVArb4iCaivOKyBFgQPmEy1LH%2B1YTJVh8kUYAmkzf8FoQqKX9urgPkyqYc5WC4u6%2BfVlqC9ppOfEyxBdyqUyruWgDsNKtVtS438DSgUKVAq70GpPAO1%2Bgw8PORrMJnqwGBoCaOxBQyGljAYWlgC7yol2A8iIiJyFgNsIiIqI0ZLc%2B4rUKutAXSsJYhOLLIm2mSqCZOpnqV/ci3Lc3NQLQj%2BuL%2BaSissNem%2BMJka2VlGZwm2k6BSWZvC34RKlQCl8jaUyiRotUkADsk%2BZTQ2gtH4EPT6tjAYzH8mU33cX%2BlHRERUfhhgExGRCwlQKO5YaqJjZDXRKlWcZfRtO58UfGE01rcE0vVgMtUV/3MU7oK0MJkawmRqCIOh4Hs5lj7p/zSlV6muQam8a3ntOrTan8WlTaZqYrBt/msDozEYnMmTiIio%2BBhgExFRsSkUmZba53%2BCaLU6FkplDJTKDLufEwQNTKZ6liC6riSYrgdB8ANrUl3BG0ajuUm4lEJxzzII3DWo1bFQqeKgVJoDb632CLTaI%2BKyglAFBkMH6PWdoNd3gsHQESZT7bLeESIiokqHATYREdmhs9R4xhTqG61U3rL7KUFQQBBqiYGzOZCuA5OpPkymGjCPxk1lTRD8YDS2htHYGjqxIYH1N461DCBnHkhOociERnMUGs1R8fNGY30YDNaAuxP0%2BnYAvMtjV4iIiCosBthEVEZMUCiyAejwz4BRgvhn7n9r/VNCELQQBA8AHmBW5S75UCoTC0xxFY9/RuhOctAvOqBAbbS1SXcdANqy2w0qMvOKKAAAIABJREFUBS2MxmYwGptJXjNCqYyHWn3ZUqhy2XJsJEKlSoSHx3YAgCCoYDS2lATcnWA0hoAFKERE9CDjXSsRFVMOgFuW5qVJUKluWQZVugWFIl0y7VDBv9wSf6MgKAF4QBC0AKyBtxcEoQoEwQcmk6/lsW8Rf1Usg0b98xjwwv3ZJFkHpTLFMvDVLclgWNa5oZMtwXOKwymuBMELJlN9SW10HUtQXdeShnT/UcFkagydrjF0usGW13IsfeqjLUH3JSiVd6BWn4NafQ7ADwCsTcvbS5qWd2LTciIieqAwwCaiAgQolclQqaItN9OXLQNUxUOhuA2l8h4AwM/Phd8oKPBPoKuAubb7n8BPoTAByC1VkG77e5UFAnBbQXoVyVzJXpY/b5gDfG/Jcy0EQQPzlEwamGvxNOJr5j8FzDX0JpjnRzZZ9vWfx4AeCkUOFIpc2X%2BVKg%2BACVptGjSae1Aq06BQpIlzJSsUd8Xn5pYCzqaBp2SKK%2Bvo3DUkI3SzXzQBgDcMhjYwGNogP9/8ikJxx5I/REOtNucX5qblv0Gj%2BU38pNHYAAZDZ%2Bj15j%2BDoS3MLVOIiIjuPwywiR5gCkUqNJq/oFKdt9wgX4FKFS0G0fZ5wGQKlMw1bJ1v2NcScFprmD0hCJ4FHlsDTWlQbYsR5mBTL/v/z%2BN8S/D5zx%2BQJ3luDU7zYA7O5UGref9NUCjuAXC0vxWHj49zy5kLD6rBZAqU/EbVIAgBlv/W9%2B63Ka6orAhCdej11aHXP2p5xTwNm7lpebSkaXkCVKoEeHiEWT6nhcHQ1hJsm4Nuk6kBeBwSEdH9gAE20QPDAJXqAjSaPy1/f0GlirW5pCAoLYNSNRCbBptMtWEyVYNCEYgqVQKRnZ0Ho7Ho5sWlowKgsgTlgODSrzJBHoybA29rLbk1MDe/lgelMheADgpFPsyBvfV/nuWxzjL9lBGAAQpFoXmTnGauzfcQ%2B5%2Bb99/8WKXyhsGggcnkCUGoYqNpfBXJnw84zRKVLRVMpiDodEHQ6QZZXssR%2B3Gba7svQqnMgEbzFzSav8RPmky1xRpuQegKoEe57AEREVFpMcAmum/lQqM5Dq32D2g0f0KtPm2z6bDR2BBGY1PL/MP1Lf/rAtDYXKtK5ajmuTJQAvC2NPF2x/qlzcCNloDb2gRcaflTWPqWmx//87r1uZxKpUCVKl7Izc11c8EGkSt5i/Nrm5uWC1Aqb0GluiTWcltHpffw2AUPj12Wz6lQpUprS1/uLpZa7iao/HkPERHd7xhgE91HlMp4aLUH4OGxHxrNb4X6LAuCDwyG5jAaW1j%2BN4cgVCmnrb2fKWCtgQdcXftOVJkpLK1j6kCv72t5LQ8qVaykaflFywBqZ6BWn4GX1yoAgMlUzdKkvIuleXkHyxgBREREFQcDbKJKTQ%2BN5iS02gPQavdDrb4ke9dkqgGDoR0MhhYwGFpY%2BjlyCh0iqkg8YTS2gtHYCvn5gEoFVKmShdzcM1AoLkOtvgSV6gqUyrvQavdDq90PwNydwmh8CAZDF7F5uXmaMHaNICKi8sMAm6jS0UOrPQhPz83QaH6RDUgmCErLvLSdodd3hMkUBDapJKLKRQGgJgyGnjAarX2x9VCp4sS%2B3Gr1JSiVt6BWX4BafQGenj8CAEwmf3FObnNtdycIQrXy2hEiInoAMcAmqhQEqNWn4Om5CR4eW6FUporv/HND2dHSZJJNvonofqOB0Wju1qLTmV9RKO5Kpgm7bBm1PANa7SFotYfETxqNzcQabnMtd0vw9oeIiNyFVxiiCkypvApPz03w9NwkG/HbZAqAXt8bOl0PS5NINvsmogeLIFSDXt8den13yytGqFTXJCOWX4JKlWiZfvAKPD03WD7nDYOhg2Re7k4wmWqX344QEdF9hQE2UYWTDU/P/8HTcz00mnDxVUHwgF7/CHS6PjAY2oNBNRGRlApGYzCMxmDodEMBAArFPUnAbf6vUGRDozkOjea4%2BEmjsYHYpNwcdLcF4FlO%2B0FERJUZA2yiCkKpvA4vr1Xw9FwLpTINgLlPtcHQDjpdX%2Bj13QB4l%2B9GEhFVIoLgB4OhMwyGzpZXTFAqEy0Dp0Vb%2BnJfg0qVAJUqAR4eYZbPaWA0trEE3J0s04Q1Bse0ICIiRxhgE5UrARrNMXh5rYRWuwcKhQkAYDLVQX7%2BUOh0vSEIgeW8jURE9wslTKaG0OkaAhhoeS0HavUVSw13NFSqS1Aq06BWR0CtjoCX10oAgMkUaKnl7mwZRK0DBMG/3PaEiIgqJgbYROUiB56em%2BHl9Q3U6gviq3p9B%2BTnj4DB0BFsAk5EVBa8YTC0hcHQFvn5ACBAqUyWBdwqVSyUylRotT9Dq/0ZgHWasBaypuVGYwsw7yYierAxwCYqQwrFHXh7L4en5w%2BSZuBe0On6Iz9/KEymhuW8hUREDzoFTKbaMJlqQ6/vbXlND5UqVgy6/5km7CLU6ovw9FwLABAEXxgMHcWAW6/vylZIREQPGAbYRGVAoUiGt/cyeHmthkKRA8DaDHw4dLr%2BEATfct5CIiKyTwOjsQWMxhaSacLSJAG3edRyhSILGs1RaDRHxU8aDCEwGLpDp%2BsGvb4bTKYmYF9uIqL7FwNsIjdSKpPg5fU5vLx%2BgEKRBwAwGJojL280DIYuYFNCIqLKSRACYDB0g8HQzfKKEUplPNRqa9Pyi1Cp4i0BeDQ8PdcAAEymmpbpxbpCr%2B9uGbGct2NERPcL5uhEbqBU3oC391J4eq6BQpEPADAYHkJe3hhL/2rWXhAR3V9UMJkaQ6drDJ1uMABAociASnURavUlqNUXoFJFQ6m8DQ%2BPHfDw2AEAEIQq0Ou7QafrAb3%2BUcs0jJpy3A8iIioNBthELqRUJsDb%2BzN4eq6DQmFuR2gwtEJe3lgYDO3AwJqI6MEhCP4Farl1UKmuiH231eooKBSZ0Gp/gVb7i%2BUzPtDru0GvfxQ6XQ8YDB0AaMttH4iIqHgYYBO5gEKRBm/vxfDyWikJrNtYaqzbgIE1EREBWhiNrWA0trKMWG6ESnUNKlUUNJrzUKnOQam8B632ELTaQ/DxAQTB2xJs94FO1xtG48MAlOW8H0REZA8DbKJSyYeX13fw9l4kjgpuMLRFbu5YGI2ty3nbiIioYlPBaAyG0RgMne5xACZLP%2B4oaDRRloA7XVbDbTIFQq/vDZ2uL3S6PjCZGpXvLhARkQwDbKISEeDhEQYfn9lQqa4BAIzGxsjNfZF9rImIqISUMJmCoNMFQacbDvOc3Neh0URCrTb/KZWp8PAIg4dHGADAaGxiqd0eAJ2uNwDOSkFEVJ4YYBMVk0bzB3x8/g2N5hQAc21CXt446HT9wFHBiYjIdRQwmYKQnx%2BE/PzHYZ6PO9oScJ%2BBSnUJKlUcvLzi4OX1PQRBA73%2BEUuwPRBGY3OwwJeIqGwxwCZykkp1BT4%2BH8HDYzcAQBC8kJf3NPLznwTgWb4bR0REDwCN2IcbeA5ADtTqs9BozkCjOQWlMgla7VFotUcB/BtGYwNLsM3abSKissIAm8ihLPj4LIKX13IoFHoIghI63WDk5Y2FIFQr740jIqIHlrc4SnlurgCl8ibU6lPQaCKgVp%2BFSpUAL6/vLbXbWuj1vZGfPxQ63RCYTHXLe%2BOJiO5LDLCJ7BKg/X/27jzOrrq%2B//j7rPfcmTuDQfYICgFSkUUQCYsQCGEV6oatVtuKK%2B7lp31Ia%2BVRW7W11VLQthSbanEF3EER10QQBEuEsBSBiIKIKBBJJnPv2X9/ZGaYTCaZ7d77Pcvr%2BXjweJDhZuZzvyGQ13zP%2BR7/q2q1/lqO87AkKY6Xqd1%2BjbJsH8OzAQAwmaUsW6woWjx2YFpnbHd77aTd7fHD0s5XkhyhMDxTYXjm2I44AKAbCGxgGo5zn1qtd8v3fyBJyrI9NTr6RiXJUYYnAwBgNgIlyVFKkqPGdrcfkufdIs/7sRznHrnuWrnuWg0OfkBp%2BkzF8QslnSPpCPEYMACYPwIb2MrmscvBPzZ2ObivMHy5Op2XSWqYHg4AgHmwlGX7KAz3URieI8t6Qp73E3neLXLdtXKcX8px/l3Sv2unnXZRFJ2lTudFiuMTJHmmhweAUiGwAUlbLgf/ulqtv5Lj/ErS%2BOXgb1CW7Wl4NgAAuifPd1YUnaYoOk1SR573U/n%2Blt1t235MQfApBcGnlGWLFEVnKgxfpCg6SXyjGQBmRmCj9mz7Fxoa%2Bn/y/e9KkrJsj7HLwZcZngwAgF4LFMfHKMuOled5Gh29RY7zI3neTbLtDQqCzyoIPqssG1YUnaEwfLGiaKWIbQCYHoGNGkvUbF6qwcEPyLJGxy4HP0edzjniDw4AgPpxlaaHK4qeq3b7PDnO3fL9G%2BV5P5JtP64guEJBcIWybKexy8jPURwvF3%2BcBICn8F9E1JLj3KHh4bfLdddKkpLkMI2OvlVZttjwZAAAFIGjND1E7fYharffIMe5R553o3z/Btn27ybtbO%2BiMHyRwvDliuOjxQFpAOqOwEbNtDU4%2BE9qNv9VlpUqz1tqt1%2BnKDpFkmV6OAAACshWmh6kND1Inc5rx3a2b5DnXS/bfkzN5io1m6uUpnspDF%2BqMDxHSXK4%2BP8qgDoisFEbnneDhobeLsdZL0mK4xdodPRNyvOdDU8GAEBZ2ErTg9VuH6x2%2Bw1y3dvl%2B9fL834kx/m1BgY%2BroGBjytND1Cn88fqdP5YWfZM00MDQN8Q2Kg8y/q9Wq0LFQSfkiRl2S5qt89THB9jdjAAAErNUZIcoSQ5QtJb5Lr/OxbbP5bj3KfBwQ9ocPADiuNj1en8scLwxcrzRaaHBoCeIrBRab5/rYaG3inb/o0kKQzPVLv9GkmDRucCAKBaPCXJMUqSYySNyvNuVKOxWo5zmzzvRnnejWq1/lJRdIY6nVeM3Zrlmx4aALqOwEYlbdm1vkBB8DlJUpo%2BQ6Ojb1eaHmx4MgAAqm5AcbxScbxSlvWYfH%2BNfP8HcpwH1Gh8TY3G15RlixSGL1Wn8wolyVHifm0AVUFgo3J8/9tqtd4hx/m18twa%2Bx/4q8SjtwAA6K8830Vh%2BDKF4ctk2z%2BX7/9Avr9Gtv34pMPR9lOn80dj92svMT0yACwIgY3KsKwn1Wq9V0FwuSQpTRdrdPQvlKYHGZ4MAABk2X7qdPZTp/Maue46%2Bf4Pxg5H%2B7kGB/9Rg4P/qDg%2BSp3OKxSGL1GeP930yAAwZwQ2KsHzvqehobfJcR4e27V%2BsTqdV0sKTI8GAAC24ihJDh97lNdb5Hk3yfdXy3XXyvNukefdolbrPYqiU9XpvFJRdJq4Cg1AWRDYKLlNGhh4pxqNT0qS0nQvjY6%2Bk3utAQAohUBxfJLi%2BCRZ1hNj92uvluPcr0bjG2o0vsH92gBKhcBGabnu9ZLOU6PxS0lSGP6h2u0/F7vWAACUT57vrDB8icLwJbLtX4zF9vdl249Nul97iTqdV4zdr/0s0yMDwDYIbJRQR4ODf69m8%2BOScmXZnhodfYeS5FDTgwEAgC7Ismep03mWOp1XT7lfe70GBz%2BowcEPKo6PG7tf%2B8XK851MjwwAkghslIzjrNPw8BvlunePfeQsbd78GqVp0%2BhcAACgFybfr/3msfu1fyDX/ak870fyvB%2BNPV/7zLH7tU8Wf7wFYBL/BUJJpGo2L9bg4AdlWbGybJE6nXdoYOBESW1JueH5AABAbzUVxysUxyvGnq%2B9Wr7/fTnOL9VofFmNxpeVZbup03m5Op1XKk0PEfdrA%2Bg3AhuFZ9sPaHj4TfK8H0uS4vhYjY6%2BTbb9NMOTAQAAE7Y8X/scheHL5Dj3y/dXy/NWy7Z/q4GBf9PAwL8pSZ4zdgn5HynL9jQ9MoCaILBRYLmC4HK1WhfIsjYrzwfUbr9p7PIvviMNAAAspekBarcPULt9rlx37dj92j%2BW696lVut9Ghy8UHF8gsLw5QrDs5Xni0wPDaDCCGwUkmX9VkNDb1ejca0kKUkO0ejo%2Bcqy3Q1PBgAAislVkhylJDlKljUiz/uRfP97ct27xk4kX6NW63xF0alju99nSBowPTSAiiGwUTi%2Bf42Ght4u235cee6p0/kzheGLJDmmRwMAACWQ5y1F0WmKotNk27%2BR510v318jx3lg4vnaeT6oMHyhwvDliqIVkjzTYwOoAAIbhWFZG9VqvUdB8FlJUprup82b38VzLgEAwLxl2R5jl4e/fOz52tfL91fLtn%2BjILhSQXClsmz8GdznKI6PkWSbHhtASRHYKATPu0FDQ%2BfJcR5UnlsKw3PU6bxKfDcZAAB0y%2BTnazvOPfL96%2BV5P5RtP6Fmc5WazVVK08UKw5cpDF%2BuJDlUnPsCYC4IbBgWanDw79VsfkyWlSvL9tTmzecrTZ9jejAAAFBZltL02Wq3n612%2B3Vy3XXy/R/K834kx3lYAwOXaGDgEiXJgWP3a5%2BjNN3f9NAASoDAhjGOc4eGh98o171LkhSGp6ndfr04cAQAAPSPoyQ5XElyuKQ3y/N%2BIt%2B/Xq57s1z3XrnuhzQ4%2BCElyRHqdF6sMHyRsmxf00MDKCgCGwakajYv0eDgB2RZsbLsaRodfbuS5GjTgwEAgFrzFcfHKY6PkzQqz7tJvv9Due5P5bpr1WqtVat1oZLkMHU6L1YU/aHS9ADTQwMoEAIbfWXbP9fw8HnyvB9LkuL4GI2Ovk15/jTDkwEAAEw2oDg%2BWXF8sixrw1hs3yjHuV2ue7tardslvV9JcrDC8EUKwxcrTZeaHhqAYQQ2%2BiRXEHxSrdZ7ZVmblecDarffqChaKQ4PAQAARZbnixRFZyqKzpRlPSnP%2B7E878axne075bp3anDwg0qSP1AYnqUoOmvsknP%2BjAPUDYGNnrPtRzQ09Fb5/nclSUlyqEZH/0JZtrvhyQAAAOYmz3eaeMa2ZW0ai%2B2b5Lq3ynXvkeveo8HBjyhN91IUvVBheJbi%2BAXiyShAPRDY6KlG44tqtd4l296gPPfV6bxGYXi2eL4kAAAouzwfUhSdoig6RZY1Itf9iTzvFnneLXKcX6vZ/ISazU8oy7ZEeRi%2BUHG8Unk%2BZHp0AD1CYKMnLOtxDQ29S43GlyVJSXKgRkfPV5btY3gyAACA7svzluL4JMXxSZIiue5t8ryb5Xk3y7Y3KAiuVBBcqTz3FccvUJKcJumlkvY0PDmAbiKw0XW%2B/20NDb1Ntv0b5bmjMHyFOp0/Ev%2B6AQCAevCVJEcpSY5Su/0WOc7P5Hk/lu/fJNv%2BtXz/%2B/L970t6j4aHD1AYnqIoOk1xfKykhunhASwAxYMuGlGr9TdqNv9bkpSm%2B2h09Hyl6YGG5wIAADDFUZoepDQ9SJ3OubLth%2BR5t8rz/leue4cc5z4NDNyngYF/V563FEUnjt3jfaqyjN1toGwIbHSF696k4eHz5DgPSJI6nZeo0/lT8V1YAACAcZaybB%2BF4T5KkpdqaChTu32jHOdWue4tsu0NajSuUaNxjaQtB8OG4amKotOUJEdKcsyOD2BGBDYWKNTg4AfVbF4sy8qVZbtrdPSdSpLDTA8GAABQcINKkhcoDI%2BTlMlx1st1t%2BxuO849ct11ct11Ghz8iLJsZ0XRyrHd7ZOV5zubHh7ANAhszJvjrNPw8BvlundLkqLoFI2OvkHSoNnBAAAASsdWmh6gND1AYfgKWdbv5bprJy4nt%2B0nJh2UZitJjhoL7pVKkueKJ7QAxUBgYx4SDQz8qwYG/kGWFSvLnqZ2%2B22K42NMDwYAAFAJef40xfEKxfEKSakc5//GYvsncpwHxp6//WMNDn5AWfZ0RdGKseA%2BWXm%2Bm%2BnxgdoisDEnjnO/hobeJM/7iSQpjo/V6OhbledPMzwZAABAVTlK04OVpger0/lzWdZvx2L7p3Ldn8q2H1cQXKUguEqSlCSHTcR2HC%2BT5JkdH6gRAhuzlKrZvFSDg38ny2orzwc1Onre2LMeLdPDAQAA1Eae76YoOkNRdIakRI5zjzxvrTxvrRznPrnu7XLd2zUw8FHl%2BZCi6ISJ4M6yZ5keH6g0Ahszcpx7NTT0VnnezZKkJHmuNm9%2BJ5cfAQAAGOdO2t3%2BM1nWBrnuT8d2t9fKtn%2BvRuMbajS%2BIUlK0/0nYjuKjpc0YHZ8oGIIbOxAombz4xoc/KAsK1SeD6jdfq2i6HSxaw0AAFA8eb5o0r3b4yeTr5Xn/VSOc5cc5341m/er2bxUed5QHB83FtsrlaZ/IP6MBywMgY1pOc7dGh5%2Bq1z3VklSHD9Po6NvY9caAACgNCafTP7HkjbL826fOJ3ctn8r3/%2B%2BfP/7kt6rNF2sOD5ZYbhScbxceb7I9BsASofAxhSxBgYu0sDAh2VZsfK8pXb79YqileI7mgAAAGU2qDg%2BVnF8rNrtXLb9K3nerXLdn8p118lxHpbjXK4guHzsUWDPn9jdTpLDJTmm3wBQeAQ2JjjOHRoefotc93ZJUhwv0%2BjoW5TnuxieDAAAAN1lKcv2VhjurTB8saRQrnvXxO624zwoz7tZnnezBgc/pCxbNLa7fbLi%2BGRl2R6m3wBQSAQ2JLU1OPhhNZuXyLIS5fmQRkffpDg%2BUexaAwAA1EFDSXKEkuQIdTqvH3sU2Nqx4L5Ntr1BjcYX1Wh8UZKUJIdMehTY0ZJ8s%2BMDBUFg15znfV9DQ%2BfLcR6QJMXxcRodPU95vrPhyQAAAGDKlkeBnT52uG0ix/nZRHBveRTYHXLdOzQwcJHyvKU4Pl5huFJRtFJZtq/p8QFjCOyasqzH1Gr9lYLgCklSlu2i0dHzlCTHGJ4MAAAAxeIqTZ%2BjNH2OpD%2BVZT059iiwtXLdW2Xbv5fvXyvfv1aSlKZLxu7dPllRdIKkQaPTA/1EYNdOrkbjc2q1/lq2vUF5bimK/lDt9qvFcxABAAAwkzzfSXF84tjthJkc5wG57q2THgW2Xs3mejWblynPfcXxsZMeBXaQuAURVUZg14jj3KdW63z5/g8lbfnu4ujoW5WmSw1PBgAAgHKylaZLlKZLFIZ/JGlUrnu7PO%2BnY48C%2B418f7V8f7Wk9ylN91EUna4wPFNx/AJx7zaqhsCuhVADAxdrYOCfZVmh8ryhTudVCsMXiX8FAAAA0D0DSpJjlCTHjD0K7NcTu9uue5sc50E1m5ep2bxMWTasOF6pMDxDUXQKZwChEqirivP9b6vVeo8cZ70kKY6fp3b7zcqyPQ1PBgAAgGqzlGWLFUWLFUV/KKkj171dvn%2BLXPfmsZPJv6xG48vKc0dJcozC8EyF4Qs5KA2lRWBXlG3/Qq3WX6nR%2BIYkKct2Vrv9OsXxcnHfCwAAAPovUJIsU5Isk/RWOc598rxb5Hk3y3EekOfdIM%2B7Qa3WXytJDlEYnqUwPHvscDX%2B/IpyILArp62BgX/VwMBFsqyO8txRGL5Ync4rxCFmAAAAKAZbabpUabpUnc6fyrYfleveIt//sRznjonHgA0O/oPSdF%2BF4dkKw7OVJM%2BXZJseHtguArtCfP/ascvBfyFJSpLnanT0TcqyfcwOBgAAAOxAlu2uKDpbUXS2LGvjRGy77q1ynAc0MHCJBgYuUZbtPraz/WLF8XEiZ1A0/BtZAba9XkNDF8j3r5O05ZnW7fbrx05m5HIaAAAAlEeebzn8LI5XSmrL89bK826S590i235UzeYqNZurlGW7Kgz/UGH4UsXxsZIc06MDBHaZWdYGDQx8RM3mf8qyIuW5qzB8iTqdP5bUND0eAAAAsEBNxfFxY7vVsVx3nTzvRnnejbLt302K7d0Uhi8ai%2B2jTQ%2BNGiOwSylSs7lKAwP/KNveIGn8dPA3KsueYXg2AAAAoBc8JcnzlCRbnoqzJbZ/JN//kWz7t2o2P6Fm8xPKsj0kPWJ6WNQUgV0quXz/GrVaF048ditNn6l2%2B7VKkueJy8EBAABQD66S5AglyRFjsX3bWGzfKNv%2BjenhUGMEdkm47q1qtd4rz7tRkpRli9TpvFpRdIq43wQAAAD15SpJjlSSHKl2%2By1y3dvUapmeCXVFYBecbT%2BowcH3KwiukiTlua8wfKk6nZeJx24BAAAAk3ljj/ICzCCwC8qyHtXAwEfVbP63LCuSJEXRSrXbf6o838XwdAAAAACAqQjsgrGsxzUwcPHYyeBtSVueZ91un6s03d/wdAAAAACA7SGwC8KynlSz%2BXENDPy7LGuTJClJ/kCdzp8qSQ4TB5gBAAAAQLER2MaNqNn8Tw0MXDLxyK00XaJ2%2B9Vj948Q1gAAAABQBgS2MZvVbH5SAwMXybZ/J0lK033U6bxKcXysJNvseAAAAACAOSGw%2B8yynlCz%2BZ9qNi%2BdtGO9lzqdVyqOl4tHbgEAAABAORHYfWLbv1az%2BXE1m5%2BUZW2WJKXpngrDlyuKTha/FAAAAABQblRdjznO/RoYuFiNxucnHreVpkvU6bxMcfwCsWMNAAAAANVAYPeI696mgYGL5PtflWXlkqQkOVidzjlKkiPF4WUAAAAAUC0EdlfF8rwvq9W6VJ5341MfjZep03mZ0vQ5BmcDAAAAAPQSgd1V%2B6nV%2BpUkKc8dxfHx6nTOUZbta3guAAAAAECvEdhd9Stl2SJF0ekKw9OV57uYHggAAAAA0CcEdlf9lTZvPlppyrICAAAAQN3YpgeollMleaaHAAAAAAAYQGADAAAAANAFBDYAAAAAAF1AYAMAAAAA0AUENgAAAAAAXUBgAwAAAADQBQQ2AAAAAABdQGADAAAAANAFBDYAAAAAAF1AYAMAAAAA0AUENgAAAAAAXUBgAwAAAADQBQQ2AAAAAABdQGADAAAAANAFBDYAAAAAAF1AYAMAAAAA0AUENgAAAAAAXUBgAwAAAADQBQQ2AAAAAABdQGADAAAAANAFBDYAAAAAAF1AYAMAAAAA0AVWnue56SGqI1KW5ZJY0v6wZNsWa953rLsZrHv/seZmsO5msO79x5r3imX5siz2EWGGa3qAKslzT3y/or/y3GLNDWDdzWDd%2B481N4N17z%2BhxGJRAAAgAElEQVTH6UiS7Mo1SWR6gBltvebFn7ccnq4si7Vx4/ckZaaHmRXbflDDw29Wntt64ok7lGV7mx4JU%2By669CsXkdgd5FlWdq4cVRJUo7fyGXnurYWLRpkzfuMdTeDde8/1twM1r2/dt31ZtMj9NBtpgeYo3WmB6iQj0haZHqIOcmyfZQkh8l1b1cQfFKjoxeaHgnzVLnvUwIAAGBmxHVRrBNxDUkKwxdKkprNT0kKjc6C%2BSOwAQAAamTXXW8mrguDsMZT4vhoZdkusu3H1Gh81fQ4mCcCGwAAoCaqHdYScY1ycxSGZ0iSms1PGJ4F80VgAwAAVFw9dq2Ja5RfFJ2qPHflebfIdW83PQ7mgcAGAACoqOqHtVSusJaIa%2BxInu%2BsOH6BJHaxy4rABgAAqKDqh7VUrrjmMDPMThieKUlqNK6SZW0wPA3misAGAACokHrsWkvli2tgdtL0IKXpfrKstoLgs6bHwRwR2AAAABVQn7CWiGtUmzWxi91s/pekzOw4mBMCGwAAoMTqF9bENaovik5Sng/KcX4u3/%2Bu6XEwBwQ2AABASdUnrKVyhbVEXGNhAoXhKZI47KxsCGwAAICSqdeutURco46iaMtl4p73bdn2L8wOg1kjsAEAAEqifmEtEdeoqyxbrDh%2BniwrV7O5yvQ4mCUCGwAAoODqGdYScY26Gz/sLAgul9Q2OwxmxTU9AAAAAKZXz6iWyhfWEnGNXkiS5yvLdpdtP6pG48sKw1eZHgkzYAcbAACgYOq7Yy2VL67XibhG7zgTu9gDAxx2VgYENgAAQEHUO6ylcsY10FtRdIry3JXrrpXr3m56HMyAwAYAADCMsC7b860l4hr9kuc7KY6PkyQFwafMDoMZEdgAAACGENZS%2BcJaIq7Rb1F0qiSp0bhK0mazw2CHOOQMAACgz4hqqZxhLRHXMCFJDlWW7SnbfkSNxlc57KzA2MEGAADoE3asxxHXwNzYCsPTJUnN5icNz4IdIbABAAB6jLCejLgG5iOKVijPHXneLXKcu02Pg%2B0gsAEAAHqEsJ6sjAeZjSOuYV6e76wkOVoSh50VGYENAADQZYT1VGUNa4m4RpGE4ZbDzoLgCklts8NgWhxyBgAA0CVE9VSENdBNSXK4smw32fZv1WhcozB8uemRMAWBDQAAsABE9XTKHNYScY3ichRFKxUEn1MQfJbALiAuEQcAAJgHLgPfHuIa6KUoOlmS5Hk/kG0/aHgaTEVgAwAAzAFhvT1lPsRsHHGN4suyPZQkz5Vl5QqCz5keB1MQ2AAAALNAWG9PVcKauEZ5hOGWXewtgZ2ZHQZbIbABAAB2gLDeniqEtURYo4zi%2BFjl%2BaAc5xfyvBtMj4NJCGwAAIBpENY7UoWwlohrlFegKFq%2B5e%2BCzxieBZNxijgAAMAkRPWOVCWsJeJ6JtOtz6F9nwLbF0Unq9H4phqNr2lk5J%2BV5zuZHgkisAEAACQR1jtGWNfDTGuzTkR2caTpUqXpM%2BU4v1Sj8RV1Oq8xPRJEYAMAgJojrHekSmEtEddTsR7lZimKVqjZ/KSC4AoCuyC4BxsAANQS91jvSFUOMJuMmNzafNeDdSySKFquPLfkeT/imdgFwQ42AACoFaJ6R6oW1RJBOBXrUSV5vqvS9DC57m0Kgis1Ovpu0yPVHjvYAACgFtix3pEq7lhLxORUrEcVRdGJkqRG4wuScqOzgB1sAABQcUT1jlQxqiVCcqpurweHnRVJFB2rZvPf5br3ynVvU5IcbnqkWmMHGwAAVBI71jtS1R1ribieivWovkHF8dGSpCC4wvAsILABAEClENY7UvWwJiaf0uv1YK2LJIpOkiQ1Gl%2BUlJgdpua4RBwAAFQCUb0jVY3qccTe1liPukmSI5RlO8m2fyvP%2B4Hi%2BBTTI9UWgQ0AAEqNsN4Rwrp%2BWJN6chXHJ6jRuFpBcCWBbRCBDQAASou4nk7Vo1oiIqfDmtRdFJ2oRuNqNRpXa9OmEUkt0yPVEoENAABKh7CeDmFdXybWhVPEiyZNlypNF8txHlajcbXC8JWmR6olDjkDAAClwQFm06nywWXjOMBs%2B1gXjLMmDjvjNHFz2MEGAACFR1RPp%2BpRLRGPMzG1PuxeF1Ucn6hm8zPyvNWy7UeUZXuaHql2CGwAAFBYhPVUdYhqibCeDdYI28qyPZUkB8l171aj8UW12283PVLtcIk4AAAoJOJ6sjpcBi5xKfhsmVwjdq%2BLLopOlMRl4qawgw0AAArmu1q0yPQMRVGHqJaI6rlgrbBjcXy88vwyue46Oc7dStODTI9UKwQ2AAAoBHasJyOsMRVrhdnJ82ElyfPleTcpCK7Q5s3vNz1SrXCJOAAAMI64Hsel4JhOUdaKy8PLYvw08UbjSkmZ2WFqhh1sAABgDGEt1SOoxxUlFMukKGtGXJdJHD9feT4ox3lYnneD4vgE0yPVBoENAACMIK7rEtZFCcSyYd2wEL6i6AQ1GtcqCK4gsPuIS8QBAEBf7brrzTWPay4Dx0yKtm7sXpfR%2BGnivv81SW2js9QJO9gAAKBvCOuqK1oYlk0R14%2B4Lqs0PUhZtrts%2B1E1GtcqDF9qeqRaYAcbAAD0XL13reuwY81u9cIVcf2I63KzJ3axGw2eid0v7GADAICeqmdYVz2opWIGYRkVdR2J6yqIohMVBFfI978jy3pMeb6L6ZEqj8AGAAA9QVhXVVGDsGyKvI7EdVVk2T5KkgPluveq0fiyOp03mh6p8ghsAADQdfWL66qHdZFjsGyKvpbEddXE8Yly3XsVBF8gsPuAwAYAAF1DWFdJ0UOwbMqwnsR1FUXRCQqCVfK8/5Xj3K803d/0SJXGIWcAAKAr6hXXVT64jAPLumedyrOexHVV5fkiJckRkjjsrB8IbAAAsGD1ieuqhnWZQrAMyraWxHXVjZ8mHgRXSsqNzlJ1XCIOAADmrV5hXTVlCsAyKOt6Etd1EMdHK88DOc4Dct1blCTLTI9UWQQ2AACYl3rEddXCuqwRWFRlX0/iuj4CxfFx8v3vKQi%2BoJERArtXCGwAADAnhHUZlT0Ei6Qqa0lc100UnSTf/54ajS9rZOTDknzTI1USgQ0AAGaNuC6TqoSgaVVcR%2BK6jpLkUGXZ02Xbj8v3v6MoeqHpkSqJwAYAALNS/bgmrCFVf/2I6/pyFEUnKgi%2BpCD4AoHdIwQ2AACYUbXjugphXfUo7KU6rR1xXXdRdJKC4Evy/WtlWU8oz3c2PVLlENgAAGC7COuiq1Mcdktd14y4hpRl%2BypNl8hx1qvR%2BLI6ndebHqlyCGwAADAt4rqo6hqI88FabVG3uObwrh2JopPVbK5XEHyewO4BAhsAAGyjunFNWFcX6wOpft9MmLsoOl5BsEqe9xM5zn1K0wNMj1QpBDYAANhKNeO6rGFNNE6PdZm9OgVnnd7r/OX5zkqS58nzblGj8XmNjl5oeqRKIbABAMAE4rooCMinsBbzR3BielG0Qp53i4LgCo2O/o0k2/RIlUFgAwAASVWM67KFNSHJGnRT3eK6bu93YeL4KOX5oBznIXneDYrjE0yPVBkENgAANUdYm1bnqKzze0f3ENdz11AcnyDfv1ZB8HkCu4sIbAAAaoy4NqlucVm392tSnYKzTu%2B1u8JwhXz/WjUaX9OmTR%2BRNGh6pEowHti//OUvtWrVKt1%2B%2B%2B267777tN9%2B%2B%2Bmaa67Z6jVLly7d7s%2B//vrrtdtuu0mSVqxYoYcffnib16xbt06NRmPixyMjI/qnf/onXXfddYqiSMuWLdP73vc%2BLV68uEvvCgCA4qtWXBPWxVOX91k0dQrOOr3X7kvTZyvL9pRtP6JG42qF4StMj1QJxgP7vvvu05o1a3TYYYcpyzLleb7Na6644optPvae97xHzWZzIq7HnXbaaXrta1%2B71cd8f%2Btn4b3rXe/SXXfdpfe9731qtVq65JJLdO655%2BrrX/%2B6giDowrsCAKDYiGsTqh6cVX9/KBbieuEsheHJajY/oyD4AoHdJcYDe8WKFVq5cqUk6YILLtCdd965zWue%2B9znbvXjX/3qV/rFL36hv/zLv9zmtbvssss2r5/s9ttv1%2BrVq3XZZZdp%2BfLlkqQDDzxQp5xyir7yla/ola985ULeDgAAhVeduCaszanie6qCukRnXd5n78XxiWo2PyPP%2B4Fs%2B2FlGVf0LpTx89hte%2B4jXHPNNbIsS2edddacf%2B6aNWs0PDysE0546kb%2BvfbaS0cccYTWrFkz588HAECZENf9tE7VCdF1U/4CTCGuuynL9lSSHCLLytVoXGl6nEowvoM9H9/4xjf0/Oc/X3vsscc2/%2Bzqq6/WlVdeKc/zdOSRR%2Brd7373Vvdwr1%2B/Xvvuu68sy9rq5%2B2///664YYbFjyb4xj/nkVtjK81a95frLsZrHv/VXHNFy26yfQIXVCWsK6CqryPuqhDeM7tPTqOJcma8XV1lyQr5Lp3qNn8guL4/4k1W5jSBfY999yje%2B%2B9V3/3d3%2B3zT9bsWKFDj30UO2111566KGHdOmll%2BpP/uRP9NWvflV77723JGnjxo0aGhra5ucODw/rySefXPB8w8PNBX8OzA1rbgbrbgbr3n/VWfPvmh6gC4oe12UP0rLPj2qbW1xblqWhoaakrDfjVMpKSZfKcf5PixbdI%2BlI0wOVWukC%2B%2Bqrr5bneTrttNO2%2BWd/8zd/M/H3Rx55pI477jidccYZWrVqlf72b/924p9N3b2e6eNzsXFjW2nKb%2BR%2BcBxbw8NN1rzPWHczWPf%2Bq9Kal3/nmrDunTLPjqdUffd67u8vz3ONjLRFYM%2BGoyA4Rp63Wp3Of6ndfrbpgQpp0aLZPcasVIGd57m%2B%2Bc1v6vjjj9fTnva0GV%2B/22676XnPe57uuuuuiY8NDw/rkUce2ea1Gzdu1PDw8IJnTNNMScJv5H5izc1g3c1g3fuv7Gte/nuuixzXZYzTMs6Mepv/Nw/SNJe07ROKsK0wPEmet1q%2Bf6U2bfp7STxZab5KdWPZrbfeql//%2Btc6%2B%2ByzZ/1zpj72a8mSJXrggQe2%2Bfj999%2BvJUuWdGVOAACKgLjulbId9MXhZNVW5d3rKr%2B3YkmSw5Vlu8m2N6jRuNr0OKVWqsC%2B%2BuqrNTAwoJNOOmlWr3/00Ue1du1aHXLIIRMfW758uTZu3Kjrr79%2B4mOPPPKI1q5dO/HYLgAAyq7ccX2bihnXZYpUohplR1z3l6MoOkWSFASXG56l3IxfIt5utycej/Xwww9rZGRE3/rWtyRJRx11lHbeeWdJUpIkuu6667Ry5Uo1m9seOHPNNddo9erVOuGEE7TbbrvpoYce0mWXXSbHcXTuuedOvO6www7TiSeeqPe%2B97264IIL1Gq1dPHFF2vx4sV6yUte0od3DABAb5U/roumLJFaljnRPVWN0Kq%2Br2ILw5VqND4n318j2/65smw/0yOVkvHAfvzxx/XOd75zq4%2BN//jyyy/XsmXLJEk33HCDNmzYsN1nXz/jGc/Qo48%2Bqg996EPatGmThoaGdPTRR%2Bsd73jHxAni4z760Y/qwx/%2BsN7//vcrjmMtW7ZMH/vYxxQE3GsAACi38sZ1EcNaKke0lmFGYLaIa1PyfDclyfPkef%2BrIPiMRkcvND1SKVn51JuRsSAbNmwu9WE4ZeK6thYtGmTN%2B4x1N4N1778yrjlx3U1Fj9aiz4f%2BqFqMduv9vF5ZNqiNG78nThGfG8%2B7QYOD/6As20OPP363CrAfWxi77rrto56nw4oBAFABxHW3FDlcizwb%2Bo%2B4RvfF8TJl2U6y7d/I97%2BjKDrD9EilU6pDzgAAwLaI624pasByWBmqjrguDk9RtFKSFAT/Y3iWcmIHGwCAEitnXBPWMyviTCiOKgVpld5LNUTRKQqCL8n3r5NtP6Is29P0SKXCDjYAACVFXC9UEXeGizgT0CvEdRFl2d5KkoNlWamC4LOmxykdAhsAgBIirheqaBFLWKNuiOsiC8NTJUlB8GlxUNzcENgAAJQMcb0QRQvZos2D4it7mB6q8r%2BH6ovj45Tng3KcB%2BR515sep1QIbAAASoS4XoiihOw6EdaoJ8K6PAJF0Ylb/o7DzuaEQ84AACiJ8sU1Yb21oswBmEBcl00UnaJG4xtqNL6ukZHHledPNz1SKbCDDQBACRDX81WEqGW3GnVHXJdRmu6vNN1flhUpCK40PU5psIMNAEDBEdfzUYSgLcIMvTEycn9fv16rtX9fv15xlTFUyzgztrAUhqdoYOB%2BBcH/qN0%2BT5JleqjCI7ABACgw4no%2BTIet6a/fHf2O6B2ZOgvBXRbEddnF8XLl%2BSq57t1y3Z8oSY4yPVLhEdgAABQUcT0fJuO2vGFdpJieDYK7DIjrKsjzIcXxCfL976rZ/G9t2kRgz4TABgCggIjruSKs56JsQT2Tye%2BnurFNsMKMMDxDvv9dNRpf0sjIBznsbAYENgAABUNczxVxPZOqBfWOjL/X6oZ2GfDNgCpJ06VK0/3lOPcrCD6rdvsdpkcqNAIbAADME2FdVHUK6u0htE0hrqvHUhieqYGBS9Rs/rfa7beJh1FtHysDAECBlGf3uq5xXdxHbo2M3D/xF55SjTUpS7SWZU7MVRQtV54PynF%2BLs/7vulxCo3ABgCgIIjr2TIZ18VCVM8ea9RrxHW1BYqiUyRJzeZ/GZ6l2AhsAAAKgLieLRORW6xda6J6/lizXiGu6yAMT5ck%2Bf63ZNsPGp6muAhsAAAMI65nw0TkFjOssTCsYbcR13WRZXsrSQ6XZWUKgk%2BZHqewCGwAAAwirmfD1K61eexW90a51rPIAVvk2dALYXiGJKnZ/B9JkdlhCopTxAEAMIS4ng0Tu9ZmlSv%2Bymtk5H5OGF8Q4rqO4niZsmwX2fbv1Gh8XWF4jumRCocdbAAADCCuZ6Necc1Odf%2Bx3vNV9Lj2TQ9QYa6i6DRJHHa2PQQ2AAB9RlzPpN/3Ppu915qwNou1r5rnmh6g8sLwVOW5I8%2B7UY5zl%2BlxCofABgCgj4jrmdRn15qwLo7i/joUcae4iDONI677Ic93UZIcK0lqNlcZnqZ4CGwAADBFHeLa3K41YV1M/JrMBnGNLcYPOwuCL8iyNhmeplgIbAAA%2BqQcu9d1iev%2BI6xRbsQ1npIkhypN95ZljajRuML0OIVCYAMA0AfE9Y5UO64J6/Lg12l7iGtMZSkMz5Q0fthZbnacAiGwAQDoMeJ6R/oVvP2/JJywxsIUOWqLgrg2KY5XKM8bct275Xk3mR6nMAhsAAB6iLjekX7Gdf8Q1uXGr91URQ194tq0PG8pjk%2BSJAUBj%2BwaR2ADANAjxPX29HM3uf9xDVQHcY0dGz/srNH4mizrt4anKQbX9AAAAFQRcb09hHVRrV%2B/eV4/b8mSwS5PYt7IyP1qtfY3PYZhxDVmlqb7K0n%2BQK57j5rNyzU6%2Bm7TIxlHYAMA0GXE9fZUL67LFtbzjej5fs4qxnd/FDVuTSOuiygMXyjXvUdB8EmNjp4vyTE9klEENgAAtUNcd0PR47oXMb2QGYjtMili4BPXRRXHL1CWfUKO85B8/9uKojNMj2QUgQ0AQBcVf/eauF6oIod1EaJ6e6bOVvTgru9l4sQ15spXFJ2qIPiims3/IrBNDwAAQFUQ19PpR/TWN6yLHNQzGZ%2B96KEN04jrMoii0xUEX5Tvf0e2/XNl2X6mRzKGU8QBAOgC4no6xHUvrF%2B/eeKvKqjK%2B%2BgekzvIRdu9Jq7LIsv2VBw/X5LUbP634WnMIrABAFgg4no61YjrIj3TukpRPVWV31t5ENdYmDA8XZIUBJ%2BR1DE7jEEENgAAC0BcT6c6cW1a1XarZ1KX94mZENdllCTPV5btJtt%2BQo3G10yPYwyBDQDAPBHX0yGuF6puUT1Vkd53Eb7J0h9F2r0mrsvLURieJqnel4lzyBkAAPNAXE%2Bn1%2BFb/bDGFvU9AM1E6BLX6J4oOkVB8Dl53k1ynLuVpgeZHqnv2MEGAGCOiOvpENfzVefd6pmwLkC55PnTlSTHSJKazVWGpzGDwAYAYA6I6%2BmUO65NHWRGWM8Oa9RL7F6j%2B5467OwLkkbMDmMAgQ0AwCwR19Mpf1z3G2E9d6xX1RHXVZIkhylNF8uyNikIvmR6nL4jsAEAmAXiejrE9VwQ1gvD2nVbUXavievqsRVFW3ax63jYGYENAMAMih/XJpQ3rvt9SThhXW79%2B3elKMHbT8R1VUXRycpzT677U7nuWtPj9BWBDQDADixadJPpEWah37vX5Y7rfiKsu4v17JYixDxxXWV5vpPi%2BHhJ9dvFJrABANiu75oeYBaI69li1xooCuK6DsYPO2s0vijL%2Br3hafqHwAYAYBrsXE%2BHuJ4JYd171Vzffu4om969Jq7rIk0PUpo%2BS5Y1qkbjCtPj9A2BDQBAKVUprtf19PP3M67RH6w1UAaWwvAMSeOXiedmx%2BkTAhsAgCmKf6hZ1eK6N/p1mBm71igPdq/RX1F0kvI8kOv%2BnzyvDFeGLRyBDQDAJMT1VOWN634grM1h7eeKuIYJg4qiEyVJQbDK7Ch9QmADADCGuJ6KuN4edq3RPabDtx%2BI6zobfyZ2o/E1WdZjhqfpPQIbAAAR19sirreHsEb5mIx44rru0vQAJcmBsqxIQfBZ0%2BP0HIENAKg94noq4no67FoXD78eQDmM72IHwadV9cPOXNMDAABgEnE9FXE9nTKF3LoFLvOhdbhiuVbYvYZ5UXS8ms3L5Lr3ynVvUZIsMz1SzxDYAIDaIq6nIq6nU%2BS4XmhMz%2BZzEty9VOXFJa4x2YDi%2BHj5/nfUbH5GmzYR2AAAVApxPVX54rquYd2LqJ7L16tbcLda%2B5seYQFM/WIR19hWGK6U739HjcaXtGnTP0oaND1ST3APNgCgdojrqYjrqYoW1%2BvWPfWXaUWYYbKi/VoBmF6aPkdpupcsa0SNxldNj9MzBDYAoFaI66mI66mKEmxFiuqpijgTpmL3GkVjKYpWSpKazc8YnqV3uEQcAFALxQ9ribieWS/jughhXaZwHZ%2B1bpeMd08VF464xo5F0ckKgk/L834k216vLFtieqSuYwcbAFB5xPV0iOvJTMd1UXeqZ6Osc1ebiXgnrjGzPN9FSXKkJFX2mdgENgCg0ojr6RDXkxUhrsuuCu8BQH9E0cmSpCD4gqTM7DA9QGADACqLuJ4OcT2Zybgu8671dKr0XnqvapeHs3uN2Yvjo5Tng3KcX8nzbjQ9TtcR2ACASiKup0NcT2YqrqsW1pNV9X2VS7/jnbjGXDUUx8dJkoLgSsOzdB%2BBDQCoHOJ6OsT1ZCbiusphDQBzEUUnSpJ8/6uSQqOzdBuBDQCoFOJ6OsT1uPXrNxuL67ow8V579Wvaau3fg8/ayx1mdq9RDklysLLs6bLt38v3v216nK4isAEAlUFcT4e4Hseudf/U8T0DmAtnYhe7apeJE9gAgEogrqdDXI/rd1zXNaxhErvXKJc4Xi5J8v1rZVm/NzxN9xDYAIDSI66nQ1yPMxHXYB2qjbjGwqXpfkrTZ8myIjUaXzc9TtcQ2ACAUiOup0Ncj%2BtnXLNrjZn1ape5ao/9Qj1YE5eJNxrVuUycwAYAlNKuu95MXE%2BLuB7X77gG6qH4u9dpGpgeAbMUx8dLkjzvBlnWY4an6Q4CGwBQOuUIa4m4nhlxjW5YsmSw65%2BzNyeI90I/d6%2BLH9e/%2B90y0yNgDrJsDyXJgbKsTI3GNabH6QoCGwBQKsT19pSv8soe11wSPjPWZzIu4%2B414rqc4vg4SVKj8TXDk3QHgQ0AKA3ient6XTHd//xViGugXoq9e01cl1ccHyNJ8rzVsqzHDU%2BzcMYD%2B5e//KUuvPBCvehFL9JBBx2ks846a5vXXHDBBVq6dOk2f/3whz/c5rWrVq3SihUrdMghh%2BhlL3uZbr552z%2BMjYyM6MILL9SyZct0%2BOGH67zzztPDDz/ck/cHAOgO4np7iOtxxDW6pfuXh5f9cDPiGr2TZYuVpvvJslL5/rWmx1kw1/QA9913n9asWaPDDjtMWZYpz/NpX7f33nvrIx/5yFYfW7JkyVY/XrVqlS666CKdf/75Ouigg3TVVVfpDW94g6666iotXbp04nXvete7dNddd%2Bl973ufWq2WLrnkEp177rn6%2Bte/riDgUAQAKBrienuI63HENVBPxHU1RNFxajZ/riD4qsLw1abHWRDjgb1ixQqtXLlS0pad6jvvvHPa1wVBoOc%2Bd/vfPYuiSP/xH/%2BhP/uzP9PrXvc6SdJRRx2ls88%2BW5deeqkuuugiSdLtt9%2Bu1atX67LLLtPy5Vsebn7ggQfqlFNO0Ve%2B8hW98pWv7ObbAwAsQHnCWiKuZ1bmuCasUTzsXhPX1RHHx6rZ/LQ87weyrCeV5zuZHmnejF8ibtvdGWHt2rXatGnTVpeYO46jM888U2vWrJnYGV%2BzZo2Gh4d1wgknTLxur7320hFHHKE1a9Z0ZRYAwMIR1ztCXI8jrlF8HG4GzCTL9lGaPlOWFcv3v2l6nAUxvoM9Ww8%2B%2BKCOPPJIdTodHXjggXrLW94ysfMtSevXr5ck7bffflv9vCVLlmjz5s169NFHtccee2j9%2BvXad999ZVnWVq/bf//9dcMNNyx4Tscx/j2L2hhfa9a8v1h3M%2Bq27osW3WR6hDkgrmdCXKOXuv2IrnI8novd6w0bjpE7Q8k4jiXJ2vGLUBhJcqwc55cKgm8pTV9lepx5K0VgP/vZz9Yhhxyi/fffX5s2bdLnP/95vfWtb9XFF1%2Bs008/XZK0ceNG%2Bb6/zT3UO%2B205fKC3//%2B99pjjz20ceNGDQ0NbfM1hoeH9eSTTy541uHh5oI/B%2BaGNTeDdTejHuv%2BXdMDzAFxPRPiGkD3rdSiRTt%2BRZ5nGhpqSsr6MhG64XhJn5fvf0%2B%2B70vyTA80L6UI7D//8z/f6scrVqzQK17xCl1yySUTgS1pm11pSROXhk/%2BZ9O9bkcfn4uNG9tKU34j94Pj2Ly7eW8AACAASURBVBoebrLmfca6m1GXdWfnekeI63HENcqjFzvN9d693rDhGEk7/m/A8HBTlpVrZKQtArtM9tHg4CLZ9gZt2vQdJcly0wNtZdGi2V0tU4rAnsq2bZ166qn653/%2BZ3U6HQVBoOHhYYVhqDAM1Wg0Jl67ceNGSU/tZA8PD%2BuRRx7Z5nNu3LhRw8PDC54tTTMlCb%2BR%2B4k1N4N1N6Oq68791jMhrscR10A/FDOutxxqNvv/B6ZpLmn6JxShiCwlyZHy/e/Ica5Vp3O86YHmpbQ38019nNf4I7vG78Uet379eg0ODmr33XefeN0DDzywzc%2B///77t3nsFwCg94jrmRDX44hrTFXs%2B6/LvHsNmBHHR0qSGo3rDE8yf6UM7CzLdN111%2BmAAw6YuOf6iCOO0NDQkL75zadOnUvTVNdee62WL18%2Bcfn38uXLtXHjRl1//fUTr3vkkUe0du3aicd2AQD6g7ieCXE9jrgG%2BqXIu9eoujg%2BQnnuyHHuk22vn/knFJDxS8Tb7fbE47EefvhhjYyM6Fvf%2BpakLc%2BxbrfbuuCCC3TWWWdpn3320ZNPPqnPf/7zuvPOO/Wxj31s4vP4vq83v/nNuuiii7TzzjvroIMO0lVXXaWHHnpI//Iv/zLxusMOO0wnnnii3vve9%2BqCCy5Qq9XSxRdfrMWLF%2BslL3lJf988ANQYcT0T4noccY1%2BKP7p4fXdvSau62RAaXqIXPc2NRrXqd1%2Bi%2BmB5sx4YD/%2B%2BON65zvfudXHxn98%2BeWXa%2BnSpWq1Wvq3f/s3PfHEE/I8TwcffLA%2B8YlP6Pjjt74u/7Wvfa3yPNenP/1pPfbYYzrwwAN12WWXaenSpVu97qMf/ag%2B/OEP6/3vf7/iONayZcv0sY99bJsTyAEA3VeusJaI69khroHJyhrDxdu9Jq7rJ46fL9e9Tb5fzsC28qk3I2NBNmzYXMkDiIrIdW0tWjTImvcZ625GVdaduJ4N4npcr%2BOasO6PQ3vUmvW6/7ofwV6duN5550FZVqqNG78nThEvH9t%2BWMPDb1See3rssQcldff3%2Bnztuuu2j3qeTinvwQYAlA9xPRvE9Tjiuhp6FdfdVuy4Buoly/ZSlu0uy4rleWV6fOcWBDYAoOfKFde3ibieHeIaqIrq7F6jCiwlyWGSJN9fY3iWuTN%2BDzYAoLrKFdZSNcO6N1%2BjrHGNauj25eHFVr8dceIacXyofP/b8v012lyy/y0Q2ACAniCuZ6N8u9ZSueOa3WtMxeXhxdu9BsZ3sB3ndlnWE8rznQ1PNHtcIg4A6DriejaI68mI6%2Bopy/3XxVa/RWT3GpKU5zsrTZ8py8rledebHmdOCGwAQNfsuuvNxPWsENeTEdeYi25eHs7udbF2r4lrTJYkW/799P3VRueYKwIbANAV5Qxr4nq2iGug33od7MQ1ii2OD5FUvoPOCGwAwIKVM65NIK4nI66rqyzPvu6eMu5eA8WWpocoz205zv2y7YdNjzNrBDYAYN64JHwuiOvJiGuY1t3Lw7uN3Wsgz1tK0y2/T8v0PGwCGwAwL%2BULa4m4nhviGpiNbsdwvXbDiWvsSJoeJEnyvB8bnmT2eEwXAGBOyhnWUjXvt%2B7d1yCuMV9luDy82LvXvVas3WtgR5JkqRoNyfNuMT3KrBHYAIBZK2dcV3XXundfg7gGZovd64Vg9xozSZItO9iOc4ekEUkto/PMBpeIAwBmhbieC%2BJ6KuK6Hti9Lrri7F4T15iNPN9FWbabLCuV5/2v6XFmhcAGAOxQOQ8yk4jruSOugbko2%2B51ceIamIskeY6k8tyHTWADALarnGEtVTeu1/XsaxDXWCh2rzFb7F5jLpLkDyRJnleOP5NwDzYAYFrljOuqhnVvvwZxDcwVu9fzRVxjrtL02ZIk1/2JpFSSY3SemRDYAICtlDOsJeJ6fsoc1ygOdq8B9EqaPkt5Hsi2N8pxfjbx6K6i4hJxAMAE4nquiOvp9Cuu2b2GGexezxe715gfR2l6gCTJdX9qeJaZEdgAgJIfZEZczwdxjW5h97rIiGtUQ5Js%2BT3seab%2Bnz97XCIOADVXzrCWqh3Wvf06xDUwX2XbvQaqIU2XSCrHDjaBDQA1RlzPFbvW20Nc1xO710XG7jWq46lLxO%2BQlKjIGVvcyQAAPUNYzwdxvT3EdT3VL67ZvZ4P4hrdkGV7Kc8HZFmjYwedPcf0SNvFPdgAUDPE9Vz17tnT236d3iCugYUqW1wXZ/ca6A5babrlG2auW%2Bz7sAlsAKiJ8h5kJlX7kvDefh3iGr1Qv91rzAe71%2Bimpw46W2t4kh3jEnEAqIHyhrVU7bju7dcgrtELZYjr7mL3ej6Ia3TbUwedFXsHm8AGgIorb1xzv/VCENeos/ruXhPXqK403U%2BS5Lp3S8pU1IuxCWwAqKjyhrVU7V3r3n6dXoa1RFzXXRl2rznYDKimLFusPPdkWZtl279Qlu1neqRpFTP7AQALQlzPB3E9E%2BK63noV18VVtrhm9xpV5yjLniVJct27zI6yAwQ2AFRMeeP6NlU7rnt7GjlxjV7qZVwXd/cac0Vco9fS9FmSJNe90%2BwgO8Al4gBQEeUNa6naYd37r0Nco5fqGdfsXgNF9FRgF3cHm8AGgAogruej/HFdlbCWiOs64tTwbilGXLN7jX4gsAEAPVfeuOaU8IUgrtEPZbnvmkvDzSKu0S9puq8kybZ/LmlEUsvoPNMhsAGgpMob1hK71gtDXKMfuDS8iJ9vqmLsXgP9kuc7Kct2lm0/Ide9W0lylOmRtsEhZwBQQsT1fJT/IDOJuEZ/lCWuu6sk2/UTihHX7F6j3566TPxnZgfZDnawAaBkyhvXXBK%2BEL0Oa4m4xhZliutiXxpetmAHyiHL9pa0Vo5DYAMAFuS7WrTI9AzzVeVd695/nSrtWkvEdZHVN665NHw%2B2L2GCWm6WBI72ACABVi06CbTIyxAleO691%2BDuAa2Vey47jXiGvWWZc%2BQJDnOfYYnmR6BDQAFxyXhc8Wu9WwR15isTLvXxVa2YAfKJU33liTZ9i8kdSQFJsfZBoENAAVV3rCWiOuFIa7Rb2WK62LvXnNpONBreb5Ied6SZY3Ice5Xmh5seqStENgAUEDE9XyU/5LwKoa1RFwXHXFdFsQ1sIWlNN1brvt/ct17CWwAwI6VN66rHNa9/zrENUwgrrupbME%2Bd8Q1imI8sIt4kjiBDQAFUd6wlqod1%2BU/yEziknBsrZdhLRU9rnuhHpeGA0UxftCZ695reJJtEdgAUADE9Vyxaz1b7Fpjql7HdfFx3/V8sHuNIknT8ZPECWwAwBTljWt2rReCuIYJ/YjrYu9e1/67C/NCXKNosmzLSeJbHtWVSnKMzjMZgQ0AhpQ3rCXiev6qGtYScV10xHUZ77suxu41UDRZtrvy3JNldWTbDyrL9jU90gTb9AAAUEfE9VytE3E9O8Q1pkNc90I94prdaxSTU9j7sNnBBoA%2BK29cs2s9X4Q1TCKuJS4Nnx/iGkWWpnvLcR4Yuw/7NNPjTGAHGwD6iLieK%2BJ6NohrbA9xLXFpOFBNT%2B1gF%2BtRXexgA0AflDespeqeEk5YzxdhXQ5ljOvuI67ni91rFF2aLpZUvJPECWwA6LHyxjW71vNFXMO0ssY1h5oR18BsPXWS%2BM8k5ZIso/OMI7ABoIeI67kgrGeDsMZMiOte4T5uoEjSdLHy3JJtb5BlPaY839X0SJIIbADoGeJ6Lojr2SCusSP9CGupLHFdxhhm9xqYm0B5vrss6zdy3XsVxwQ2AFRSecNaqmZcE9bzRViXB3E9GZeGzxdxjbJJ071l27%2BR4/xMcXyc6XEkEdgA0FXljesqhnXvvwZxjSIgricjrueLuEYZpene8ryfFOokcQIbALqEuJ6Lcsc1YY2iIK4nK2NcA1iILBs/Sfw%2Bw5M8hcAGgC4grueCS8J3xFRYS8R12RDXk5U1rtm9BhYiTSefJF4MBDYALBBxPVvsWs%2BEXWvMRr/CWqpzXPcDcQ0sVJY9Q5LkOA9JGpHUMjqPRGADwLyVN6yl6sU1YT0fhHX5lHnXWipTXHPfNVAGeb6Tsmwn2faTct37lSTmf28R2AAwD%2BWNay4Jn4uqXg5OWJcTcT1VWeMaQDdl2T6y7TvkOPcQ2ABQRsT1XPSy5Mob1hJxjbkhrvuF%2B66BsknTfeS6d8h171EYmp6GwAaAOSGuZ4td6%2B0hrDEXZb/fWupVXHOo2UL8f/buPE6K%2Bs7/%2BLu6egZGYGCQaxk1ERR0OFSiHIqggGuCsGiUNd4RNauixsTE8IjyS6KuGjXgAR4QNBE1WYnKKoFgxMiSA10FMSK6OigoEBwQGECO6eP3x6Tn7Jnpo45vVb%2Bej0ceandT9Z2OMPPy861q4hphEo8fIUmy7XU%2Br6QWgQ0AGSKuMxXMuCasYRriuiXENYB6iUTtncSj0fd9XkktAhsAMkBcZ4ot4en4EdeEdbAR1y0hrvPF9BphE49/RZIUiXwi6UtJh/i5HAIbANoSzLgOU1i7d3zCGqbxMqwl4pq4BoIvmezS4E7iHygWO8HX9RDYANCCYIa1RFxnxs24Zjs4ckFct4Y7e%2BeLuEaYJRJfVSSyRra9jsAGABMR15kK3pZwptYwURi2hEtBi%2BvCml4DYVZ7J/E1RtxJnMAGgCaI60wR1w0R1sgVcd0a4toJTK8Rdqk7iUej/t9JnMAGgAaI60wQ1g0R1shVWLaES8R1c8Q14KV4vPZO4rbt/53ECWwA%2BCfiOhPEdUNexzVhHR5hiWt3wloirp1BXKNQJBKpz8LeIGmPpI6%2BrYXABgAFNa7ZEt4awhqmIq7bQlw7gbhGIUkmOyuRKFMksuOfdxL/mm9rIbABFDziOhNuFV6wptaENfIRlrCWiOv0zIlroBAlEl9RJLJDtv0%2BgQ0AfiGuMxGcuA7L1JqwDh/iOhNBjmuzML1GIaq9k/jbikbX%2BXoncQIbQMEirtvClnCJsEb%2BiOtMBD2uzZleE9coVKbcSZzABlCQiOu2ENeENZxAXGeCuHYKcY1Clgps2y7wwN6wYYPmzZunNWvW6MMPP1SfPn20aNGiuufj8bgef/xxLV%2B%2BXB999JHi8bj69eun6667TiNGjGh0rDFjxmjTpk3NzvHOO%2B%2BoXbt2df%2B8Z88e3XPPPVq6dKkOHjyoYcOGafr06SovL3fvCwVgDOK6LWwJ9yquCetwI64zQVw7hbhGoau/k/hnsqxqJZOlvqwjp8D%2B7LPPtGTJEm3evFn79%2B9v9JxlWbrzzjszPtaHH36o5cuX67jjjlMikVAymWz0/P79%2B/XYY4/p7LPP1hVXXKFoNKoXXnhBl19%2BuR555BGdfvrpjV5/5plnasqUKY0eKy4ubvTPN910k9auXavp06erY8eOevDBB3X55ZfrxRdfVPv27TNeO4DgIa7bUthxTVjDCWEKaylon3Ht9rEbIq4BkySTnZRIdFMksk22/Z5iseG%2BrCPrwH7ttdd03XXXKZFIqGvXrs3i1bKsrI43ZswYjRs3TpI0bdo0vfvuu42eb9%2B%2BvZYtW6bOnTvXPTZy5Eh98sknevzxx5sFdrdu3XT88S3/gbdmzRq99tprmjNnjkaPHi1J6tevn8444wy98MILuuCCC7JaP4DgIK7bEoy4DvLUmrAOvzDFdfCm1m4fuyFz4hpAvXi8ryKRbYpG1wQnsGfOnKkhQ4Zo5syZOvTQQ/NeQCQSafV527YbxbVUG/HHHHOM3nrrrazPt3z5cpWWlmrUqFF1j/Xu3VtDhgzR8uXLCWwgpIjrtrhRfkytU8IU1rl8LV5Hp1%2BI60wQ105jeg3Ui8f7qqjodRUVrVGTjdaeyTqwN2zYoIceesiRuM5VIpHQ6tWr1bdv32bPvfTSS3r22WdVVFSkE088UT/4wQ/Uv3//uucrKyt15JFHNpu0H3XUUfrzn//s%2BtoBeI%2B4bk0wptaS83FNWLfOybWnjhXm0CauM0FcO424BhqLx/tIkqLRNb6tIevA7t27t7788ks31pKx%2BfPn6%2BOPP9Ztt93W6PExY8Zo8ODB6t27tz799FM9%2BuijuvDCC7Vw4UIdfvjhkqTq6mp16tSp2TFLS0u1a9euvNdm261P5OGc1HvNe%2B6toL3vZWV/83sJWQr61Nr54wZxah20sPZqvWENbeI6E8S103bsGKGo77crNpttW5Kyu3wVwZZM1g5gbXudotEaSe1a/wUuyPq35X/8x3/o8ccf16hRo1RSUuLGmlr1xhtv6N5779WUKVN00kknNXru1ltvrfv7E088Uaeccoq%2B8Y1vaN68efrpT39a91xL14lne/14OqWl3r8nhY733B/mv%2B%2Bv%2BL2AHBDXTQVtah2UsPZ7nWEKbS%2B/hmDezEwirt0wTmVlfq/BbMlkQp06lUhK%2BL0UeOorkkplWdUqK/tY0tc8X0FGgX3HHXc0%2Budt27bpjDPO0LBhw1SW5nd3w9B10vvvv69rr71W48aN0w9/%2BMM2X9%2BjRw997Wtf09q1a%2BseKy0t1ZYtW5q9trq6WqWl%2Bd/Kvbp6n%2BJxfiN7wbYjKi0t4T33WBDe9%2BBNrSXiurGgTa39Dta2mLq%2BoIc2cZ0J4tppO3aMkOTNJx4EVWlpiSwrqT179onALjwlJUcpGl2lvXv/poMHj3HsuGVlmf05nFFgP/XUU2kf//3vf9/sMcuyXAnsjRs36sorr1RFRYXuueeejKfNTT/2q2/fvvrrX/%2BqZDLZ6BgfffRR2mu6sxWPJxSL8RvZS7zn/jD1fed667aYfzMzptbOMHVd6bzzTvAiOyxx7V5YS8S182qvuTbve6%2Bp4vGkpGSbr0O4xGJ9FY2uUiTyti8/q2YU2O%2B//77b62hVVVWVpkyZom7duunhhx9u9tFgLdm6datWrVqlSZMm1T02evRozZ49WytWrKi7k/iWLVu0atUq1ybvALxBXLeFuHaSaQFr2nrCjLjOBHENwB/x%2BJGS/LvRWdbXYG/evFndu3dXUVFRs%2BdisZg%2B//xz9e7dO%2BPj7du3T8uXL5ckbdq0SXv27NEf/vAHSdLQoUN1yCGH6Morr9T27ds1bdo0ffRR4x%2B%2BUp95vWjRIr322msaNWqUevTooU8//VRz5syRbdu6/PLL615/3HHH6bTTTtMtt9yiadOmqWPHjnrggQdUXl6uc845J9u3A4AhiOu2FFZcF0pYm7SWQkFcZ4K4dgN3DAcyE4/X/vkWjb4rKaYckjcvVrLpHuo2HHvssfqv//ovDU7zHebdd9/V5MmTtW7duoyP99lnn2ns2LFpn3vyySdVXl7e4vOS9MEHH0iS3n77bf3iF7/Qhx9%2BqN27d6tTp04aPny4brjhBvXp06fRr9mzZ49%2B/vOfa%2BnSpaqpqdGwYcM0ffp0lZeXZ7zuluzYsdfIbbNhFI1GVFbWgffcYya%2B78R1W8yO66BMrU2JWVPW4bQgbBH3ao1cb%2B3X8VOI66Dr2rWDLCuu6uplYkt9IUqoc%2Bd/l2Xt0xdfvK54/FhHjtq9e/NPokon65xvrccTiUTWd%2BI%2B7LDD6iK5JW09L9VOsufPn5/ROTt27Kjbb79dt99%2Be0avB2Au4rotxHW%2BTAhaE9ZQyMIytZaI67YR10DwRRSP91U0%2Bq6i0bcdC%2BxMOTYvP3jwoP7nf/4n7V3FAcANxHVrCutO4WGcWhPVhYe49uv4KcQ1EBbx%2BFH/DOw1OnDgAk/PnVFgz5o1S7Nnz5ZUe5fw888/v8XXTp482ZmVAUAriOvWmD21lsyPa8Lae6beSTwM28KDe721F8dPIa6BMEnd6KyoyPtvqhkF9qBBg3ThhRcqmUzqmWee0Zlnnqlu3bo1ek1xcbH69eunCRMmuLJQAEghrltjdlwT1madF60jrtsShpuZScQ1ED6xWO3HL9v2O6q9Dj/i2bkzCuzRo0dr9OjRkmrv%2Bn3ttdfq8MMPd3VhAJAOcd0a4joffkQuYW0u4rotxLVbiGsgf4nE4UomixSJVCsS%2BViJRF/Pzp31Ndh33XWXG%2BsAgDYR160hrnPldeQS1eYjrlsTli3hEnENhFlU8XgfRaMfqKhojQ4cMDiwFy5c2OJzlmWptLRUFRUV6tmzZ14LA4CGiOvWFEZcB31qTVgHgxdxzc3M/Dp%2BQ8Q1EHa1dxL/QNHoKh048E3Pzpt1YE%2BbNq3uo7gafmRXw8cikYgmTZqk22%2B/XdGotx/sDSB8iOvWENe5IKyRTtDjOrhbwr04fkPENVAI4vF%2BkharqOgtT8%2Bbdf0uWLBA3/ve93TKKadowoQJOvTQQ7Vt2zYtWrRIf/nLX/TTn/5Ua9eu1ezZs1VeXq7rrrvOjXUDKBDEdWvMjWtTt4R7FbtEdfAQ160hrt20Y8cI1d6ECYCTYrH%2BkqRodLWkmBz8hOpWZX2WJ598UmeccYZ%2B9KMf1T3Wp08fDR06VHfffbeee%2B453X///dq1a5deeuklAhtAzojr1oQ/roM4tSasc2fiR3Q5ibj26/gNmRfX0jhJzl/%2BAkBKJMqVTB4iy/pStr1O8fggT86b9f3KX3vtNZ166qlpnxs1apT%2B/Oc/S5KGDx%2BuzZs357c6AAWLuG4NcZ2Nd95xP3y9OAfc43bcE9d%2BHb8hE%2BMagLtsxeO1U2wvt4lnHdjxeFwbN25M%2B9yGDRvqrssuLi5WcXFxfqsDUJCI69YQ19kgrNEW4jqdwXL/Y7iI69qt4QDcFIv1kyQVFb3p2Tmz3iI%2BcuRI3X///Tr88MN1yimn1D2%2BYsUKPfDAA3WPrV%2B/XuXl5c6tFEBBIK5bE%2B64DlpYI/iI63TCNLWWTI3rqqph4j7AgPtisaMlSdGowYF9yy236JJLLtGVV16pDh066NBDD9X27du1d%2B9eHXHEEbrlllvqXnvZZZc5ulgA4UZct8bpojPrTuFBiWvCOjyI63SIay9wx3DAO6kt4ra9Tpa1W8lkJ9fPmXVg9%2BzZU//93/%2Bt559/Xm%2B%2B%2BaZ27typiooKnXTSSTrnnHNUUlIiSbroooscXyyA8CKuW0NcZ8qtACaskQ234prrrbNBXAOQksmuSiR6KBL5XNHo26qpSX8vMSfltDmlpKREF110ERENwBHEdWvMjGvTrrdmao1suDm9Jq79OH5TxDWAevF4/38G9pvmBjYAOIW4bg1xnQmm1sHn5Ud0EddNEddeIK4B/8Ri/VRUtEJFRW9p3z73z5d1YNfU1Gju3LlatGiRNm/erAMHDjR63rIsvffee44tEEB4EdetIa4z4UYEE9bIBXHtx/GbIq4BNJe6k7hXNzrLOrBnzJihX/3qVxo1apTGjRvHR3EByAlx3ZrwxrXJYe3mcWEGt6bXwYtrwtorxDXgv3j8KCWTtmx7syKRzUokert6vqwDe8mSJZo6daquu%2B46N9YDoAAQ160hrtvC1Bq5IK5TiGuvENeAKdorkfiqbLtS0ehbOnjQ3cCOZPsLdu3apRNPPNGNtQAoAMR1a4jrtjgdwu%2B8Q1z7zcvrr4OCuM4UcQ0gM7FY7cd1FRW5v0086wn2SSedpPfff1/Dhw93Yz0AQoy4bg1x3RY34tpEbzvwr9zx5naHL4I0vSauM2Xuv%2BTENWCeeLz2z1YjA/vWW2/Vtddeq969e%2Bu0007jGmwAGSGuW0NctybMYe1ETGdy3EIObuJaIq69Q1wDZkpNsKPR1ZLikmzXzpV1YE%2BaNEmxWEzf/e53ZVmW2rdv3%2Bh5y7L01ltvObZAAMFHXLeGuG5N2OLaraDO5ryFFNvEtURce4e4BsyVSByuZLJElrVHtv1/isePde1cWQf2mWeeKcuy3FgLgBAiroMnjHFdqGFtuiBef01ce3n8pohrALmyFY8frWj0HUWjq8wK7LvvvtuNdQAIIeK6LeZNr4lr55ga1W%2B/XRhTbDfiPThxHbawlohrAPmKxWoDu6joTR04cJFr58k6sAEgE8GMay8R1%2BkEfUu4qVHdVKFEtpOIa6%2BO35S5/6IS1kCwxONHS5KKila7ep6sP6ZLkiorK/X9739fI0eO1MCBA7V27VpJ0qxZs7Ry5UpHFwggeIIb14V73XXY4trrj996%2B%2B3gxHVK0NabDaen18S1V8dvirgG4JxUYNv23yUdcO08WQf2unXrdN555%2BmNN97Q0KFDFY/H657bu3evfvvb3zq6QADBQly3hbhOJ6hbwoMY1g35uXa3rr8OwnXdxHUmiGsAzkokeiqRKJVl1Sgafde182Qd2Pfdd5/69%2B%2BvP/7xj7rnnnuUTCbrnhs8eLD%2B/ve/O7pAAMFBXLeFuE4niHEd9LBG5pyeXhPXmSCuAbjBUjye%2Brgu9z71KutrsFetWqV7771XJSUljabXktStWzdt27bNscUBCA7iui3EdTpOBbEXYR3WoA7T9dimbw0nrjNh7r%2BMxDUQfPH40Soq%2Bl8VFa3S/v3unCOna7CLiorSPr5r1y4VFxfntSAAwUNct4W4Toe4NkfYv75cENdeHL8p4hqAu2Kx2uuwo9FVrp0j68Du37%2B/XnnllbTPrVixQgMGDMh7UQCCg7huC3GdTlDiupC2gnv5dbpxnbSTxySuB7t8/HSIawDuq7/R2QeyrN2unCPrLeKXXnqpbrrpJpWUlGjSpEmSpC1btmjlypV67rnn9OCDDzq%2BSABmIq7bQlynE4S4LpSoDguTb2wWzLj2krlhLRHXQNgkk2VKJHooEvlc0ejbqqk51fFzZB3Y48eP18aNGzVr1izNnz9fknT99dfLtm3dcMMNGjNmjOOLBGCesrK/%2Bb2EHBVuXDvBhLj2YmqNwuXk9Jq4bgtxDcB78Xi/fwb2KjMCW5KuvvpqnX322VqxYoW2b9%2BusrIyjRw5UuXl5U6vD4CR0l8mYr7Cjut8p9dhj2vC2htOT5tN3RpOXLeFuAbgj1jsaBUV/VlFRW9p3z7nj59TYEtSr169NHnyZCfXAiAAmFy3hbhOx%2BS4JqwhEdfeIq4B%2BCd1HbZbNzrLaTO4tgAAIABJREFUObABFB6uuW6LGdu4myKuW0ZcB5vJ1147i7j2AmENFIZYrPY/gtr2RlnWNiWT3Rw9fkaBfcwxx8iyrIwOaFmW3nvvvbwWBcA8xLUf/L%2BpWVjjmrBOz%2B3PxDY1iM2eXhPXXiCugULSQfH4EbLtjSoqeksHD57p6NEzCuypU6dmHNgAwiW4YS15G9fmbQ0nrtMjrsPBqVgnrr1CXAMwRzzeT7a9UdHoKn8C%2B/rrr3f0pACCgbjOFHHdFHGNQkNct8TcsJaIa6BQxeNHSpKi0XcdPzbXYANIi7jOFHHdlIlxTVj7z8nt4aZNr4nrlhDXAMwUj39VkhSNrnX82AQ2gGaI60wR100R13AbcW3acVtCXAMwV2qCbdvrZVm7lUx2cuzYEceOBCAUiOtMmRfX%2BSKuUSiIa7cR1wDMlkx2ViJxqCTJtp29QTeBDaAOcZ0pM%2BM63%2Bl1PohrtMapqbOpdyF3BnHtBeIaQIpb12GzRRyAJOI6c%2BGM63ym16bFNWGN1pg5vSauvUBcA2goHj9SRUVvEtgAnEdcZ8r/bdzpENf1iOv8uPEZ2CZNr4lrN5kb14Q1gHTi8a9I8mmCvXnz5qwO2rt375wWA8B7xHWm3IjrYN/UjLhGISKu0yGuAQRP/RbxtZIScurq6YwCe8yYMbIsK%2BODrlu3LucFAfBGsMNaIq79v2N4vohrZMqU6TVx3ZS5YS0R1wBal0gcpmTSlmXtUSSyWYnEYY4cN6PAvvPOO%2BsCOxaL6ZFHHlH79u01fvx4devWTVVVVVq8eLH279%2Bva6%2B91pGFAXAPcZ0N4jqdfOOYuC4MptyUzKmt4c4hrt1GXANoW1SJxL/Itj%2BTbX/kbWB/85vfrPv7GTNmqG/fvnrssccUidSP0adOnarvfOc72rBhgyMLA%2BAO4jobxHU6xDW8ZEqkO/%2BRXE4jrlOIawCZSiQO%2B2dgf6iamtMcOWbWNzlbuHChfvaznzWKa0mKRCK68MIL9ZOf/EQ/%2BMEPHFkcAGcR134z8yZp2SCuW5bt12ZKOLrFlK%2BvMLaGE9cpxDWAbMTj5SoqkqLRDx07ZtZXcu/cuVP79%2B9P%2B9z%2B/ftVXV2d96IAOI%2B4zhYfx9UUcZ3eO%2B/k9rU5/bnf%2BXLjDuL5yjfSiWunGfgvSQPENYBsJRK1N%2Be27UrHjpn1BLuiokIPP/ywhg0bpq5du9Y9/sUXX%2Bjhhx/Wscce69jiADiDuM6WYeXzT8R1LRPi2qmv5513zJn0miZ87wtx7RbCGkCu4vFySZJtOzfBzjqwp02bpssvv1xjx47V8OHD1b17d1VVVWnlypWSpCeeeMKxxQHIH3GdLa67NpnfcW3a1NlUJsSxWdNr4totxDWAfCQStYEdiWyQtF9S%2B7yPmXVgH3/88frd736nWbNm6Y033tDOnTvVpUsXnX766brmmmt09NFH570oAM4grrNFXKdjyvTaz7h2M6yZYjcXrq3hxLVbiGsA%2BUomy5RMdpBl7ZVtf6x4PP/d2FkHtiT17dtXM2fOzPvkANwR/LCWiGszFHpcezWx9juynbz%2BOgz/sYC4TiGuAYSdpXj8MEWjH8i2Kx0J7KxvcgbAbMR1LsyNa667Dn9c%2B3U%2BU5kwvYZEXAMoFMlkd0lSJPKZI8fLaYK9c%2BdOLVq0SJWVlc3uKG5Zlu68805HFgcgO8R1LojrdEyJaz8Eee1%2BY3rdUJCn18Q1gMKRSHSTJNn2JkeOl3Vgb968Weedd5727dun/fv3q6ysTLt27VI8Hlfnzp3VsWNHRxYGIDvEdS6Ia9N5Pb32O6792Cpu0sdz%2BT29Jq4l4hpAoUkFdiTiTGBnvUX8F7/4hY466ij99a9/VTKZ1Ny5c7V69WpNnz5dxcXFmjNnjiMLA5C54Mf12yKu6/kd16ZMrwstroPO7%2Bk1ce0EM%2BO6qmoYcQ3ANU5PsLMO7NWrV%2BuCCy5Qu3btJEnJZFLFxcW66KKLdN555%2Bmee%2B5xZGEAMhOOuPaauSWVb1znqxDj%2Bp13iGsT%2BB3oziCunUZYA3BbInGoJB8n2Nu3b1f37t0ViURk27b27NlT99zQoUP11ltvObIwAG0jrnPhVkmZUWhhuO7a67g2SVC3h%2Be77nBsDSeunUZcA/BCIpG6ydlmSfG8j5d1YB966KHatWuXJKm8vFzvvvtu3XOfffaZbNvOe1EAWte9%2B%2BvEdU7Mjmu/t4aboJDjGrkxI67dQFwDgBeSya5KJiOyrJgikaq8j5f1Tc6OP/54rVu3TmPHjtUZZ5yh2bNn6%2BDBgyoqKtK8efM0fPjwvBcFoGXBD2uJuG7O77g2ZXoN74Rlem0Gp78I4hoAvGMrmTxUllWlSOQzJRK98jpa1oE9ZcoUbdpUuz996tSpqqys1EMPPaRkMqmTTjpJt9xyS14LAtAy4jpXxHVrTIlrptfIlhnTa%2BLaScQ1AD8kk10kVSkS2Z73sbIO7IEDB2rgwIGSpEMOOUSPPvpo3XXYfEQX4B7iOlfhjut8EdfIh5/Ta%2BI6H8Q1ADSUSHSSbUuWtSPvY2Ud2OkQ1oC7iOtcmR3XTgjDdddeIq5rmfTZ134w87pr4hoA/JJM1vasZe3M%2B1hZ3%2BRMkiorK/X9739fI0eO1MCBA7V27VpJ0qxZs7Ry5cq8FwWgHnGdK/Pjmq3htbyaXhPXzgry9NoZQbx4nLgGgHRSgR2J%2BBDY69at03nnnac33nhDQ4cOVTxefyvzvXv36re//W3eiwJQi7jOlfklRVzXIq7reXWzLxOm137e2Kxwt4Yb8H98GsQ1ABPUB7YPW8Tvu%2B8%2B9e/fX0888YSKioq0ePHiuucGDx6sl19%2BOe9FAYWOsM6HmyUVjuuugXz5Gcj5TK%2BJa3MQ1gBM4usW8VWrVunKK69USUmJLMtq9Fy3bt20bdu2vBcFFDLiOh%2BFEddMr7MThOm1V4I%2BvTZja7iTiGsAMEEyWfv9xbdrsIuKitI%2BvmvXLhUXF%2Be1IKCQEdf5IK4zQVybKUifBR2ktTZk3vSauAYAU/h6DXb//v31yiuvpH1uxYoVGjBgQN6LAgoRcZ0P8%2BPaCX7HNYKtkKfXxLUZiGsApqqfYO/O%2B1hZX4N96aWX6qabblJJSYkmTZokSdqyZYtWrlyp5557Tg8%2B%2BGDeiwIKDXGdj2DEdRiuu2Z67Y4gTYTzWWuwt4YT1/kirgGYzf7nX2vyPlLWgT1%2B/Hht3LhRs2bN0vz58yVJ119/vWzb1g033KAxY8bkvSigkBDX%2BSicuPZ7eh20uEZjTkyvg/QfAhrKf3odtC%2BcuAaAbCWTtYFtWbG8j5V1YEvS1VdfrbPPPlsrVqzQ9u3bVVZWppEjR6q8vDzrY23YsEHz5s3TmjVr9OGHH6pPnz5atGhRs9ctX75cM2fOVGVlpXr16qVvf/vbuuiii5q9bt68eXr66adVVVWlfv366eabb9awYY3/YN%2BzZ4/uueceLV26VAcPHtSwYcM0ffr0nNYP5IO4zgdxnamgTHKdFJSv2YtoZWu4Sdz%2BP9yA/7ObIK4BBENqgp1/YGd1Dfb%2B/ft100036c0331SvXr00efJkXX311Tr//PNzjtMPP/xQy5cv11e%2B8hX17ds37WtWr16ta6%2B9VhUVFZo7d67OOecc3XHHHVqwYEGj182bN08zZ87URRddpDlz5ugrX/mKrrrqKn3wwQeNXnfTTTfp1Vdf1fTp0zVz5kx9/vnnuvzyy7V///6cvgYgF8R1PohrLzG9hl/Ta//jOkhbw4lrAMhdau6c/xbxrAK7ffv2WrZsmZLJZN4nThkzZoyWL1%2BuBx98sMUbpM2ePVsVFRW68847NXz4cF177bU677zz9MADDyiRSEiSDh48qEceeUSXXnqprrjiCo0YMUL33nuvDjvsMD366KN1x1qzZo1ee%2B01/ed//qcmTJig0047TbNmzdKmTZv0wgsvOPZ1Aa0Jfly/LeI6GEzZGu6loKyZ6bXpiOt8ENcAgqR%2Bi7jHgS1JxxxzjP7v//4v7xPXLSDS%2BhIOHjyolStX6qyzzmr0%2BMSJE1VVVaX33ntPUu3nc%2B/evVsTJkyoe41t2xo/fryWL19e9x8Fli9frtLSUo0aNarudb1799aQIUO0fPlyp74sIK3u3V8PSVz7JThxbcL02qTQZHrdWJDiOog3NjPrumviGgDM59wW8ayvwf7BD36gm2%2B%2BWUcffbSGDh2a9wLasnHjRtXU1KhPnz6NHj/qqNpvnpWVlRo4cKAqKyslqdnr%2Bvbtq71792rr1q3q1auXKisrdeSRR8qyrGbH%2B/Of/5z3em07p48WRw5S73VQ3vOysr/5vQQHhDWunWVCXDvBpEAPkyBNdAt3azhytWPHCEVzusNP4QnazzFBZNuWJKvN1wGWVfTPv8YUjeb3ezLrPwJ/9rOfae/evbrssstUWlqqHj16NFmcpRdffDGvRTW0a9cuSVJpaWmjx1P/nHq%2BurpaxcXFat%2B%2BfaPXde7cWZK0c%2BdO9erVS9XV1erUqVOz85SWltYdKx%2BlpSV5HwPZCcZ7nv6z44MlzHEdvuuuTYpjptf1vApWtobng%2Bl17saprMzvNQRPMH6OCZ5kMqFOnUokJfxeCgIh9TnYNSory%2B%2BjIbMO7C5duqhLly55nTQXTSfO6R5P95rU1vC2Xtfa49mort6neJzfyF6w7YhKS0uMf8%2BZXOersOLaCU7EtUmBHhZBi2u2huersOJ6x44RkvzfeRMkQfk5JohKS0tkWUnt2bNPBDYyYVl71LGjlEwWa%2BfO9H%2BWZRreWQd26rOvvZKaQDedLldXV0uqn2SXlpbqwIEDOnDggNq1a9fsdanjlJaWasuWLc3OU11d3WxKnot4PKFYjN/IXjL5PQ/%2B9dYScZ0Zp%2BLahK3hTmJ6XSto09zC3BpOXOeq9pprM78PB4HJP8cEXTyelOTczZkRXpHIQUlSMtku79%2BPxl/0ccQRR6ioqEjr169v9PhHH9X%2BMJv6aK/UX1PXYqdUVlaqQ4cO6tmzZ93rPv7442Z3Qv/oo49a/JgwIBfBj2s/7xQuEde5KfTptYlr9zJW2RpugkKMawAINstKBXb7Nl7ZNuMDu7i4WMOHD9eSJUsaPb5o0SJ1795dFRUVkqQhQ4aoU6dOWrx4cd1r4vG4lixZotGjR9dt/x49erSqq6u1YsWKutdt2bJFq1at0ujRoz34ilAIwhHXfgpOXDsljHHN9DqYcc3WcJMR1wDgjoP//Gu7Vl%2BVCd/v87hv3766j8fatGmT9uzZoz/84Q%2BSpKFDh6pr166aOnWqLr74Yt16662aOHGiVq1apQULFui2226r%2B5iv4uJiXXPNNZo5c6a6du2qiooKLViwQJ9%2B%2BqlmzJhRd77jjjtOp512mm655RZNmzZNHTt21AMPPKDy8nKdc8453r8BCB3iOl/BimtTrruGeYI4ySWu8%2BXm/%2BnENQC4JfX5105MsK1k073SHvvss880duzYtM89%2BeSTGjas9g/w5cuXa8aMGaqsrFSvXr10%2BeWX66KLLmr0%2BmQyqXnz5unpp5/Wtm3b1K9fP/3whz/U8OHDG71uz549%2BvnPf66lS5eqpqZGw4YN0/Tp01VeXp7317Njx16uo/FINBpRWVkHo95z4jpfhRnXYZxeS/5MsE3ZIu51XDsxvc53zbn%2BeuI6E8R1GJn4c0xYdO3aQZYVV3X1MnF/AGQiGn1dHTveppqaE7Vz56tpX9O9e/NPokrH98AOG/6Q9I5p35iI63wR17lyKirDsj3c78gOYlxLTK/NOE5LzAls4to5pv0cEyYENrJVVLRCHTrcrZqaU7Rz55K0r8k0sH3fIg6EAXGdDy9qKLxx7RS/ozQM/NgSTlzng7jOFnENILyc2yJOYAN5CnZch31q7fw5TLvmmjBubvBgb98Xv661NiGu8xGOuHYbcQ0AXrCsLyVJyWTu35tSMgrsY445pu4u3JlYt25dzgsCgoS4zkdhx3VYt4ZLhXX38EKPa667LozrrolrAGEXiVRLkhKJbnkfK6PAnjp1aqPAfv7557V3716NGTNG3bp1U1VVlf70pz/pkEMO0bnnnpv3ooAgIK7zEby4dpJJW8PDyu0ptp93CA96XIcHcQ0AYWFZqcA%2BNO9jZRTY119/fd3fP/744%2BrWrZteeukldehQ/1%2Bg9%2BzZo8svv1zt2%2Be/bx0wHXGdj2DGtWnXXTO99offUelUXOeL666JawAIk1RgJ5P5B3Yk21/wzDPP6Morr2wU15LUsWNHXXnllXrmmWfyXhRgMuI6H4Ud104xNa5N42QMDx7sf1w7iZuaoS3ENYBCUr9F3KMJdkNbt26Vbdtpn7NtW9u2bct7UYCpiOt8ENdsDfdeKgZz%2BY8JpgW1KVvD/ZB/XDsp/NNr4hpAobGsXZI8vAa7ob59%2B%2BpXv/qVRo0apaKiorrHDx48qCeeeEJ9%2BvTJe1GAiYjrfBDXYd8abrp0Udn0PTA5PE2Ja7%2Bm1/lja3imduwYIT43GEChcXKLeNaBfeONN2rq1KkaN26czjjjDHXv3l1VVVX64x//qG3btmn27Nl5LwowTXDj2u%2Bwlohr8%2BLaLUG7/trkoG6o0OPanK3h4Y9raZwkdtoAKDRJWdZOST5NsE877TT98pe/1MyZM/XMM88okUjIsiwNHjxYd911l04%2B%2BeS8FwWYhLjOlVc1WBhxjcJEXBPXXtmxY4TKyvxeBQB4z7L2yrJikny6BluSRowYoREjRmjfvn2qrq5WaWmpSkpK8l4MYBriOlfEtdOcnF6bPgmHs3cLJ65NZkZcA0Ahs6zPJaWm1/k3bdZ3EW%2B8mNrPxm54LTYQFsR1rojrlELZGg5nmfJRXEgJQqjnh5uaAShkkUgqsI9w5ni5/KKVK1fq/PPP15AhQ3T66afrgw8%2BkCT97Gc/08svv%2BzIwgA/Ede58up668KJa6e5FetBu/7aVE7HNdPrfIV/azhxDaDQpQI7HvcpsP/2t7/piiuu0IEDBzRlyhQlEvV3miwrK9Pzzz/vyMIAvxDXuQrmzcwks%2BOa6XXhIK5rEdfeIa4BoGFgH%2B7M8bL9BQ8%2B%2BKBGjRqlhQsX6sYbb2z03DHHHKP333/fkYUBfiCuc0Vcp5gc18S6uYjrWsS1d4hrAKhl21WSfJxgr1u3Tt/61rck1V%2BDndK1a1dt377dkYUBXgtmXL8t4jp3Jsc1CgdxXSv/uA4C4hoATBOJbJXk3DXYWd9F3LZt1dTUpH1u%2B/bt6tAh92%2BugF%2BCG9d%2BCu7NzCRz7xaewvQ6/Ny4mZmfce0/06fXxDUAmMiyagPbtwn2oEGD9OKLL6Z9bunSpTqe258iYIjrXBDXTZm8NRzmCWNcszXcfMQ1ADT1pSKRaklSIuHMNdhZT7C/853v6IorrtDUqVN19tlny7IsrVmzRs8995yWLl2qX//6144sDPACcZ0L4rop07eGE%2BxmIa4bK4y49n/4QFwDQHO2vUlS7WdgJ5Oljhwz68A%2B%2BeSTdffdd%2BvOO%2B/UsmXLJEm33XabSktLddddd%2BnEE090ZGGA24jrXBDXTTkd18RweLm1wYu4dgJxDQCFKBL5VJIUj/d37JhZB7YkTZo0SWeeeaZWr16tbdu2qaysTEOGDNEhhxzi2MIANxHXuSCumwpCXBPsZjBxau3EMcIR127yP64BAC1LTbBjMZ8DW5Lat2%2BvESNGOLYQwCvEdS6I66ZM3xYOM5g6tXbiGOG5Yzg3NQOAQmXbqQl2P8eOmfVNzp577jk99NBDaZ976KGHtHDhwrwXBbiFuM7WOyKuvcH0OnyIazeZvjWcuAaAIEhtEXdygp11YM%2BfP1%2BlpekvAC8rK9OTTz6Z96IANwQvrv3%2BjGsvwzpYcR2EreHwz/HHE9etMWdreBC2mOeOuAaAtsQUidRuEff1GuwNGzaoX7/0I/S%2Bfftqw4YNeS8KcFow49pPwZ5aS8GJa7cQ7d5z%2B1MqTfiMauI6E/5Pr4lrAGhbJLJFlhVXMtlRiUS5Y8fN6Rrs3bt3p318z549isfjeS0IAHGdryDFNSEcDkGIaybXXiCuASAoGl9/bTl23Ky3iPfv31%2B///3v0z63aNGiFqfbgF%2BCNb0mrvNFXPvD7cA0lZvbwVOIa8nZuA7vddfENQBkLhLZKEmKxZzt16wD%2B6KLLtLSpUv1ox/9SGvWrNHWrVu1Zs0aTZs2TS%2B//LIuvvhiRxcI5IO4zgZx3ZKgxXWYwt1UXoU1ce208MY1ACA70ejHkqRYzNnvDVlvEZ84caLWr1%2BvOXPm6MUXX6x7PBKJ6JprrtG//du/ObpAIFfEdaa8rDHiOsyOP1562%2B//TuQyryb1Tl1vHY64Nv26azPimuk1AGTHtislSbHYIEePm9M12N/97nd17rnn6q9//au%2B%2BOILde3aVaeccorKy527OBzIB3GdKeK6NW7FNdPr4PFyCzxx3ZDpcW0G4hoAsrVXkcgWSVIsNtDRI%2BcU2JJ02GGH6d///d%2BdXAvgCOI6U8HfEi4R16YJ2xQ7iGHtxLGI60z5P70mrgEge7Zduz08Hj9MyeShjh4758Devn27Nm3apAMHDjR77qSTTsprUUCuiOtMEdetCWpchz3eveLHDduI66aI60wQ1wCQm1RgO709XMohsD///HPdfPPNev312pBJJpOSJMuylEwmZVmW1q1b5%2BwqgQwQ15kirlvDNdf5C%2BoU2687oYcprp0RhO3cxDUABFn9Dc4MCOzbb79d69at0w9%2B8AP1799fxcXFji8KyBZxnSniujVuxjXTZXOFIaydOJ4Tcc3HcXmDuAaA/Nj2eklSLHac48fOOrDfeOMN3XzzzTr33HMdXwyQi7Kyv/m9hCwQ1/kirv07RzZMn2L7/bndJk2tJeI6SIhrAMhXjSKRTyQ5f4MzKYfAtixL//Iv/%2BL4QoDw86s2uFN4W4Ie16ZKRawpoe13VEvmTa0l4jo7BvxLBADIi21/IsuqUSJRpkTiq44fP%2BvA/vrXv64//elPOvnkkx1fDJC9V/xeQIaI63wENa69YnrE%2BzXNNiGoU5wOa6eOaUZcOynccc30GgDyZ9sfSpJisa9Jshw/ftaB/Y1vfEPTp09XMpnU6aefri5dujR7zYABAxxZHNCa4GwND3tcB3NLuOR%2BXJsevl5qGrtOB7dJMd0Ucd0W7hieCeIaAJwRjf6fJKmm5gR3jp/tL7jsssskSU899ZSefvrpRs9xF3F4JRg3NeN663wR1%2BGVLohbi26TA7olpoa1RFxnx/9/%2BYhrAHBO/QT7RFeOn3Vg33XXXW6sA8gYcd0W4rotYYrrMIV8ECO6JcR1JojrTBDXAOCkLxWJbJAk1dQMceUMWQf2Oeec48Y6gIwQ120hrtsSpriGedwIayePG764dhNxDQBhE41%2BJMtKKh4/XMlkT3fOkc8vXr9%2BvXbs2KFjjz1WhxxyiFNrAtIirttCXLclbHFNzJvD9LCWwhrXQQj13BDXAOA82669/rr2BmfuiOTyixYuXKhRo0bprLPO0sUXX6yPP/5YkvTd735Xzz77rKMLBCTium3EdVvCFtcwh%2Blx3bdvh7zjumPHowosrv2fXgMAnBeN1l5/7db2cCmHwF6yZImmTZumioqKuruJpwwYMEBLlixxdIEAcd2ad%2BRNXLt7nj17Pgp0XKMwDR4cjLjOl3Mfw0VcZ4rpNQC4w8gJ9pw5c/TNb35Tjz76qM4///xGz/Xp00cffeTeD8mAmfgYrny4GdaSN3Htx/Saibl/3A5r4trLYzVFXANAWFnWF4pEPlcyaSkWc%2B/P%2B6wDu7KyUmeddVba57p06aKdO3fmvSggxfzpNXGdD%2BIaQeJmWKeO7xTiOhfENQCEWerjueLxY5RMdnLtPFnf5KykpES7d%2B9O%2B9zWrVvVuXPnvBcFSMR1y4jrTIQ5rol6b7kZ1U4f34mwlohrPxDXAOCu1PXXbm4Pl3KYYJ9wwgl6%2BumnG117nfL8889r6NChjiwMhY24bglx3ZbKyr2hjmt4x%2B2JdeocTiGuc0VcA0AhSF1/7eYNzqQcJthTp07VhRdeqPPOO08TJ06UZVl6%2BeWX9dBDD%2BnNN9/UggUL3FgnCghx3ZLgx3UYptaSv3FN2LvP7ah24xzEda6IawAoDElFo%2B7f4EzKYYI9aNAgzZ07V19%2B%2BaXuvvtuJZNJPfbYY/r44481Z84c9evXz411okAQ1y0Jx53C3VQIcQ13eTGxTp3HScR1rohrACgUkcgWWdZuJZPtFIsNcPVcWU%2BwJWn48OFasmSJNm7cqG3btqmsrExHHnmk02tDgSGuW%2BJVXLuHuIbJvIhqN85jXlhLxDUAwET1H881WFKxq%2BfKKbBTjjjiCB1xxBFOrQUFjLhuCXHdlkKKaxPWECZehbUb5yKug4/pNQB4p/4GZ%2B5efy3lENgLFy5s8zVnn312TosBzERc54q4hmm8jGq3zkdc58v/6TVxDQDeSn1EV02Nu9dfSzkE9rRp09I%2BbllW3d8T2MiG2dNr4jpXxDVMQlg3Zub11m4cryniGgAKT0y2Xftzqds3OJNyCOxly5Y1e2zHjh1atmyZFi9erJkzZzqyMBQG4rop7hTeFq/CWjIrrk1aS5B4HdZunZO4dgJxDQCFyLY3yLIOKJEoVTze1/XzZR3Y5eXlaR8bOHCgYrGYnnzySd19992OLA7hRlw3RVy3pVDjGtnxI6rdOq%2BZYS0R19kjrgHAH/XT6yHK4UO0spbXTc6aGjFihG688UYnD4mQIq6bYkt4Wwo5rk1bj6nCFNYSce0c4hoACpmXNziTHA7sTZs2KRJx/78KINiI66aI67YUclyjdX5FtdvnJ66dQlwDQKFLfURXTY2hgf2///u/zR47ePCgPvjgAz322GMaMWKEIwtDOBHXTRHXbSGukQ5hnRniGgBQ2PYrEvlEkjc3OJNyCOxLLrmk0R3DJSmZTEqSTj75ZE2fPt2ZlQGeIq5yRQtbAAAgAElEQVSz5XZYS8S1ZO66/OB3VLu9BnOn1hJxnRum1wDgL9teL8uKK5HoqUSityfnzDqwn3zyyWaPtWvXTuXl5erWrZsji0I4mT299hpx3Rovw1oiYk1HWGfH7Km1W8dsiLgGANRKXX9duz3cav3FTp0z218wdOhQN9aBkDM7rr2eXhPXrWFqDcmMqE4hrp1EXAMAvOPl51%2BnOHqTMyAd4roh4ro1xHVjQVijk0yKaqmQw1oirnNHXAOAOby%2BwZmUQ2CPGTOm2TXYLbEsS6%2B88krWi0J4ENcNuV1L3MwsU4UWriYzLaol99dEXLuBuAYANGZZu2Xbn0mSYrETPDtvTlvEX3/9dVVVVemEE05Q9%2B7dVVVVpdWrV6tHjx4aNoxvLqhFXDdEXLeGuC4sJka1FLywlojrWsQ1AKC51PbweLyPkslDPTtv1oE9fPhwrV69Wi%2B//LJ6966/E9umTZs0ZcoUDR06VOecc46ji0TwENcNBTeuwxTWUrDiOkhrzYSpUS0R1rWCGNYScQ0AaIlt197gzMvptZRDYM%2BdO1fXX399o7iWpPLyck2dOlWPPPIIgQ2DEdeZIq6RL5OjWvJmfcS1m4hrAEDL6u8g7t0NzqQcAnvjxo3q1KlT2uc6d%2B6sTZs25b0oBJu502viOlPENXJlelRLhHVjxHU%2BiGsAMFf9Dc4MD%2Bzy8nL97ne/0%2BjRo5s99%2ByzzzabbKOwENcpxHVLuN66bUFbdxCiWvJuncS124hrAEDrLOsLRSLblExGFIt5%2B4NK1oH9ne98Rz/%2B8Y913nnnacKECerWrZu2bdumRYsWae3atbrjjjvcWCcCgLhOIa7TYWodLkGJ6pSgTq2loGwJd/O4DRHXAIC22fZ6SVI8frQkd74/tyTrwP7mN78pSbr//vt199131z3evXt33X777Tr33HOdWx0Cg7hOIa7TIa6DL2hBnUJYN0Vc54u4BgDz2fYnkqR4fKDn5846sKXayD7nnHO0fv167dy5U126dFGfPn0y/nxshAtxnRLMuA7TlnCJuHZSUKNaCvZ2cIm4bs6MuAYABENqgl1T4/0PMzkFtiRZlqW%2Bffs6uRbAQWGK62BOrSWutw6iIEe1RFinF%2BSwlkyKa6bXABAMqcCOxQZ5fu5ILr%2BosrJS3//%2B9zVy5EgNHDhQa9eulSTNmjVLK1eudHSBMJuZ02viOhPEtbm8jtzBg%2Bv/F1Rerb9v3w7EtavHbYq4BgBka78ikc8kyfMbnEk5TLDXrVunCy%2B8UB06dNDQoUO1ZMmSuuf27t2r3/72txo%2BfLiji5SkSy65RG%2B88Uba52bMmKGzzjpL06ZN0wsvvNDs%2Bblz52rUqFGNHps3b56efvppVVVVqV%2B/frr55ps1bBjfPLNBXAdzS7jE9daFLsgh3ZSXX0uwwloKdlybE9YScQ0AQWLbn8iykkokeiqZ7OH5%2BbMO7Pvuu0/9%2B/fXE088oaKiIi1evLjuucGDB%2Bvll192dIEpP/nJT7Rnz55Gj/3617/Wyy%2B/rBEjRtQ9dvjhh%2Bu%2B%2B%2B5r9LqmW9nnzZunmTNn6nvf%2B54qKiq0YMECXXXVVVqwYIH69%2B/vyvrDhrgmrtMhrs0VpqiWwhHWUtCm1m4fO4W4BgDkrn57uD8//GQd2KtWrdK9996rkpISxePxRs%2BlPrLLDUcd1fyHkJtuukmnnHKKunbtWvdY%2B/btdfzxLX9zPnjwoB555BFdeumluuKKKyRJQ4cO1cSJE/Xoo49q5syZzi8%2BZIhr4jodtoQ7a/Dg/L7OsAV1CmHdliBPrSXiGgCQr9QdxGMx7%2B8gLuV4k7OioqK0j%2B/atUvFxcV5LShTq1at0meffaYbb7wx61%2B3e/duTZgwoe4x27Y1fvx4Pf7440omk9wNvRXEdTDjmuutC0NYo1ry/msjrr04blPENQAgf7a9QZIUiw3w5fxZB3b//v31yiuvaPTo0c2eW7FihQYM8OYLWbRokUpKSjR27NhGj2/cuFEnnnii9u/fr379%2Bunaa6/VuHHj6p6vrKyUJPXp06fRr%2Bvbt6/27t2rrVu3qlevXjmvy7Zzum9cIJSV/c3vJaRBXLclLFNribhuKsxBnUJYZyLoW8Il0%2BJ6x44Riub8OSvBlPr5Jcw/x5iG99x9tm1JYnBWWJJ1gS1VKBr1/vdX1t8%2BLr30Ut10000qKSnRpEmTJElbtmzRypUr9dxzz%2BnBBx90fJFNxWIx/eEPf9DYsWN1yCGH1D1%2B7LHHatCgQTrqqKO0e/du/eY3v9HUqVP1wAMP6Otf/7okqbq6WsXFxWrfvn2jY3bu3FmStHPnzrwCu7S0JOdfi2wR120JS1wT1vUKIaqlcIW1RFy3zqy4lsaprMzvNfiHn2O8x3vujmQyoU6dSiQl/F4KPPWFpN2SIiotPUFS%2BzZe77ysA3v8%2BPHauHGjZs2apfnz50uSrr/%2Betm2rRtuuEFjxoxxfJFN/eUvf9H27dsbbfOWpMsuu6zRP48ZM0bf%2Bta39OCDD9YFtqS0W8CTyWSLz2Wjunqf4vHw/UY2c3rtFeK6KeLaG4US002FKa4J67aYFdc7doyQ5O3OHFPYdkSlpSWh/TnGRLzn7iktLZFlJbVnzz4R2IXFtj/QIYdI8XgfVVfH5eSf6WVlmf28kNMGqKuvvlpnn322VqxYoe3bt6usrEwjR45UeXl5LofL2qJFi9SlSxeNHDmy1ddFIhH967/%2Bq%2B69917t379f7du3V2lpqQ4cOKADBw6oXbt2da%2Btrq6WVD/JzlU8nlAsFq7fyIV93TVx3RRxDbeEKawl4rptZsV17TXX4fr%2BnYsw/hxjOt5z98TjSUlJv5cBD9Vff93ft99XOV9h1KtXL02ePNnJtWRk//79WrZsmSZOnNjizdYaSk2mU1If2VVZWamKioq6xysrK9WhQwf17NnT2QUHHHEdvOOHIa4J68JCWGcjDHFtVlhL3NAMAMLCtj%2BVJMVix/q2hrxu4bFz50798pe/1IcffqiePXvqkksu0dFHH%2B3U2tJ69dVXtXfvXk2cOLHN1yYSCS1dulRHH3103TXXQ4YMUadOnbR48eK6wI7H41qyZIlGjx7NHcQbIK6Dd3y34pqpNdzgxxb44Ma1228WcQ0ACD7b3ihJiseP8W0NGQX2z3/%2Bcy1ZskSvvfZa3WNffvmlzj33XG3evLluSvz73/9eCxYsaHaHbie99NJL6t27t772ta81enzTpk2aNm2aJkyYoCOOOEK7du3Sb37zG7377rt66KGH6l5XXFysa665RjNnzlTXrl1VUVGhBQsW6NNPP9WMGTNcW3fQENfBOnYYptYScV0oCOtshWFqLRHXAAB3JRtsETc8sFevXq3x48c3euypp57Spk2b9O1vf1vXXXedPvroI11//fWaO3eu7rrrLlcWu2vXLq1YsUKXXXZZs0lzhw4d1LFjR82ePVtffPGFioqKNHDgQM2dO1ennnpqo9dOmTJFyWRS8%2BfP17Zt29SvXz/NmTNH/fv3d2XdcAJx3RLiGkFBWGcrLFNrybS4JqwBIHwsa5csa7eSSUvxuLu7qltdR7LpRcppnHLKKbrlllsaRfYFF1ygDRs2aMWKFbJtW5L0%2BOOP66mnntKrr77q3ooNt2PH3sDfqMK86TVx3ZIwxDVhXRjCdp21RFxnjrgOgmg0orKyDqH4OSYoeM/d07VrB1lWXNXVy8TNCwuHbb%2BnTp1%2BqHj8cH3xxVrHj9%2B9e6eMXpfRBLu6ulo9evSo%2B%2BdYLKa///3vGjduXF1cS7WfQ11VVZXlUmES4jo4x%2BZ6awQBU%2BtshSmsJeIaAOAV294kSYrH%2B/q6jowCu1u3bvr888/r/vm9995TLBbTwIEDG70uEomouLjY2RXCM8R1cI5NXMN0YQxribjOnFlhLRHXABB2kcg/JPkf2JFMXjRgwAAtWLCg7mZmL774oizL0ogRIxq9bv369erevbvzq4TrCjeu3URcp/POO8R12IUxrjt2PIq4zhhxDQDwXiSyWZL/gZ3RBPuqq67SBRdcoK9//esqKyvT22%2B/rRNPPFEDBgxo9Lo//elPGjRokCsLhXsKO67dKj3iOh3COtzCGNYSU%2BvsENcAAH/YthmBndEE%2B7jjjtPDDz%2BsHj16aO/evZo8ebJmzZrV6DVVVVX6xz/%2BobFjx7qyUMB5xLVEXMMZftzEjKm138dvirgGAPglqUjkM0n%2BB3ZGdxFH5oJ2J8jCnV4HJ64Ja5gsjFNrd6Na8iZ8C3tLuERcZ4s7WnuP99w93EW88FjWF%2Brc%2BRIlkxFt2/a5JOfvC%2BboXcQRTsS1%2BcclrmEyPnorF0ytvUBcA0BhSV1/nUgcLjfiOhsEdoEirs0/LnFtlpa%2BHj8muH5jap2LsE2tJeIaAGCKSKT2E68Sia/6uxAR2AWJuDb/uEGO6zCFdSZfS%2Bo1hRLaTK1zEbaptURcAwBMEolUSZLi8cN9XgmBXXCIa/OPS1z7J5/1hz20mVrngqm1l4hrAChctl07wY7Hj/B5JQQ2fEVcN0Vc%2ByPIa/cCU%2BtcENdeIawBAJaVCmwm2PCQWdNr4ropN%2BKasG5dkNfuBabWuQhjWEvENQDAZPXXYDPBhkeIa7OPS1x7K6jr9hJT61wQ114irgEAtRKKRLZKYos4PEJcm31c4to7bq85LNdfhy2uCetcmRnWEnENAKhnWTtlWTVKJiNKJHr7vRwCO%2BzMimuvENduC1pcB229fglbWEvEde6IawBAMKSm14lEuaQifxcjAhue8mJ6TVy7KWihGrT1%2BilscR2OsPbyPA0R1wCA4IhEtklKBbb/COwQM2t6TVynBPVO4UGKVT/WGuTt4V6unam1SedoirAGAARPJPKFJBmxPVwisEOLuDbzuEGcWkvBiOsgrNFEYYrrcIS1l%2BdpiLgGAASTZW2XJCUS/%2BLzSmoR2CFEXJt53CDGdRCiNQhrNBFbwrMV1qm1RFwDAIIsNcGOxwlsuIC4NvO4xLXzTFpf0LaHM7XOBlNrv%2BzYMUJSwu9lAAAMF4mYNcGO%2BL0AhBVxnUJcO8/09ZmMuM4Gce2fcX4vAAAQEPVbxLkGGw4zZ3pNXKcQ184ycW1Bml4T19lgS7gfqqqGKRqNqKzM75UAAIIhWTfBjsd7%2BbyWWgR2SJgT10FGXJsYsJK56woSr%2BKasDbtPA2ZG9YS11sDALJnWXtlWfslMcGGg8yK66BOrws7rk0NWFPXFTTEdaaYWvuFuAYA5MKyUh/R1UVSib%2BL%2BScCGw4iriXi2immrquhIGwPJ64zwdTaT8Q1ACBXkchOSVIy2d3nldQjsAPOnOk1cS05H9eFuCXcxDUFUViut2ZqnQ/iGgAQbpZVG9iJRA%2BfV1KPwA4w4tqsYxLX%2BTFtPW0xeXrN1DpTxLVfCGsAgBMsa5ckKZFggo08EddmHTNIcW1ayJq2nqAjrjPBlnA/EdcAAKektogT2MiLOXHtBeLaSabFrGnryZSp0%2BswxDVT63wQ1wCAwlIf2GwRRyi4Pb0mrp1kUsyatJawIK7bEuaptURcAwAKEVvEkTdzptfENXGdPVPWkQ8Tp9fEdVuYWvuJsAYAuIWbnCEvhRPXbiCu/WbKOsLGi7gOblhLxLW/iGsAgJu4BhshENSbmjknKHFtStCasg4nmDa9Jq5bw5ZwvxHXAAC3WdYOSQQ2cmDO9NptZm8NJ66DtQYnEdfOCn5cE9YtIawBAN7YL8vaL0lKJs0J7IjfC0DbzInrwr7umrgO1hrCjLhuDXHtJ%2BIaAOCVSKR2ep1MliiZ7OjzauoxwTYccW3GMYnrYJzfLSZNr4nr1hDXfiKuAQBeanwHccvfxTRAYCMDxLWTiGvkKshxTVjnirAGACCd%2BuuvzbmDuERgG82M6TVx7aQwxnXYw9qU6TVx3RLi2k/ENQDAL5FItSSzbnAmEdjGMiOug4i49lLY49oUxHVLwhrX5oe1RFwDAPyV%2Bgxsk25wJhHYRjInroM2vS6suPY7bv0%2BvxdMmF4T1%2BmENawl4hoAgMxEIrXXYMfjbBFHIBDXTglbXBdCWEtmxLXbgnkzM%2BLaT4Q1AMAU9RPsbj6vpDE%2BpsswZkyviWunENfIh5uRT1z7eY50iGsAALKR%2BpiuRKKXzytpjAm2QcyIa7cVTqGFKa4LLaxNmF4HMa653joX5oe1RFwDAMxjWV9IkhKJnj6vpDECG024Pb12mpnTa%2BIa%2BSCum3I7fJlat4SwBgCYqn6CzTXYSMOM6TVbw51AXAeb39Nr4rqhsE6tJeIaAIB87Jdl1f7MzQQbzRDX/h6PuDbjnCYgrrNHXGfL/LCWiGsAgNkikdQNzkqUTHbyeTWNEdg%2BMyOu3UZc54q4LhzEdUNsCfcTcQ0AMJ1lpbaH95Rk%2BbuYJghsyN3pNXGdK%2BLaW35Or4nrhohrvxDWAICgMPX6a4nA9pUZ0%2Bug3dTMGcS1v%2BdDPeK6oTDGtflhLRHXAIBgaTzBNgufg%2B2TwohrM6fXxLW/5zORX9Nr4roh4tovxDUAIGhS12AzwUYBIa5zQVx7z%2B8bm7khWHEdxrCWghDXhDUAIKgsKxXY5k2wCWwfhH96bWZcO4m4Rr7cCnvi2svjp2N%2BWEvENQAg2OqvwSawYYQgXXdt3k3Ngh7XhHW9sG0NJ669PH46xDUAAF4w%2BRpsAttjZkyv3WRmvRHX3p/LdMR127jeOhvENQAAXolEvpDENdgFz4y4Lryt4cS19%2BdCesS1RFz7g7AGAIRHkgk2TEFcm4S49o8f0%2Bsg3UwtmHFNWLeEuAYAhIll7ZFl1Ugyc4LNx3R5xIzpdVCYV4NOT6%2BJa/%2BELa6dnl4T15kirgEA8EP99LpMUjt/F5MGE2wPmBHXQZpeO8PUreHEdWEhriXi2nuENQAgrCKRbZKkRKKXzytJjwl2QQhSXJu1NZy4DpcgbdNuC3Ht9rFbQlwDAOCnSORzSVIicbjPK0mPCbbLzJheBwVxHaTzBE2YtoYHI67DdjMz88NaIq4BAOEXiVRJkuJxArvgmBHXQZleE9dBOg/aRly7ibhuirAGABSK%2BsA%2BwueVpMcW8VALSlyHG3HtP6%2Bn18S1m4jrpohrAEAhiUS2SmKLeMExY3odFOGdXhPX/iOu0wteXHO9dTrENQCg0KSuwTZ1izgTbBeYEddBmV6HN669Qlybg7h2C3GdDnENACg8MVlW6i7iZm4RZ4IdSkGJa2eYGtdehC9x3Tovp9fEtVvYEt4UYQ0AKFSRyHZZVkLJZLESiZ5%2BLyctJtgOKyv7m99LCBBz6pC4Dp8wfCQXcU1cN0VcAwAKWSTyD0mp66/NTFkzV4U8BGV6bdbWcCcR1/4Lw3XXxDVx3RRxDQAodJHIJklSPN7X55W0jMB21Jc%2Bnz8oce0ME7eGE9eFh7h2A3HdFHENAIAUiWyWJMXj/XxeScu4Bhs%2BMKcQg3hTM7Qu6NddE9fEdUOENQAA9Wz7M0lSLHa0zytpGRPs0AjK9Jqt4aafI8iI68aI67YQ1wAABEkqsONxcwObCTbaYF7RsTUc6RDXjRHXrTE7rCXiGgCA5g7KsrZKYoIN17k5vXaSOYVIXCNXYbg7eW6Ia68Q1wAANBeJbJZlJZRIdFYy2cPv5bSICTZaEc6t4cR1%2BAQ9es2fXhPXXiCsAQBomW2n7iB%2BtCTL38W0ggl24AVlep0/E6%2B7dhtx3Ta2hjdGXLeEuAYAIMjqP6LLjcvgnBOIwH7%2B%2BefVv3//Zv%2B77777Gr1u%2BfLlOvvsszVo0CCdccYZevrpp9Meb968eRozZowGDRqkc889V6%2B//roXX4YLCuvGZk4I2vQarSOuGwtOXA928djpENcAAASdbX8iSYrFBvi7kDYEaov4L3/5S3Xq1Knun3v27Fn396tXr9a1116rSZMmadq0aVq1apXuuOMOFRcXa/LkyXWvmzdvnmbOnKnvfe97qqio0IIFC3TVVVdpwYIF6t%2B/v6dfj7nMi2u2hsNPxHUQjtsS4hoAgDCw7doeiMXMvjYwUIE9YMAAde3aNe1zs2fPVkVFhe68805J0vDhw7VlyxY98MADOvfccxWJRHTw4EE98sgjuvTSS3XFFVdIkoYOHaqJEyfq0Ucf1cyZMz37WvLH1vAwI67b5tX0mrgOwnFbQlwDABAOX9Zdg216YAdii3hbDh48qJUrV%2Bqss85q9PjEiRNVVVWl9957T5K0atUq7d69WxMmTKh7jW3bGj9%2BvJYvX65kMunpus1k3vTaCUGaXhPXbSOu6xHXLTE3rquqhhHXAABkwbbXS5Li8cOVTB7q82paF6jAnjBhgo499liNHTtWjz32mOLxuCRp48aNqqmpUZ8%2BfRq9/qijan/wrKysbPTXpq/r27ev9u7dq61bt7r9JTiE6bVfiF//Edf1iOt0jpfpcQ0AALJj27UdZ/r0WgrIFvHu3bvr%2Buuv13HHHSfLsvTqq6/q/vvv19atW/X//t//065duyRJpaWljX5d6p9Tz1dXV6u4uFjt27dv9LrOnTtLknbu3KlevXq5/eUYjOm13wj41hHX9YjrdMwNa0nasWOEooH4rusv2440%2Biu8wfvuPd5z99m2JZM/zgmZKyr6WJKUSByvaNTs3zOB%2BFZ/6qmn6tRTT63755EjR6pdu3b69a9/rauvvrrucctK/xuo4ePpXpPaGt7SrzcL0%2BtssDUcJiCuvWB2XEvjVFbm9xqCpbS0xO8lFCTed%2B/xnrsjmUyoU6cSSQm/lwJH1G4RLykZppISZ3%2BuclogAjudb3zjG3r88ce1bt06lZeXS6qfVKdUV1dLqp9kl5aW6sCBAzpw4IDatWvX7HWpSba5CudjuQptazhx3bagTq%2BJay%2BYHdc7doyQFJydNH6z7YhKS0tUXb1P8Tg/GHuF9917vOfuKS0tkWUltWfPPhHYYXBAHTt%2BIsuSdu48RsmkP99Ty8oy%2B5kusIHd0BFHHKGioiKtX79eo0aNqnv8o49qI61v376N/lpZWamKioq611VWVqpDhw6NPvYLuTKnFIO0NRytC2pcO424TsfcuK6/3pof7nIRjycUi/HeeY333Xu85%2B6Jx5OSuIlx0Nn2R7KsuBKJHqqp6SnTv6%2BavYG9FYsXL5Zt26qoqFBxcbGGDx%2BuJUuWNHrNokWL1L1797qYHjJkiDp16qTFixfXvSYej2vJkiUaPXq04VvEgzK9zh/TazQU5Lh2cnpNXKcThLgGAAD5iEbXSpJqak5WEK6pD8QE%2B4orrtDw4cPVr18/SdKyZcv07LPP6tJLL1X37t0lSVOnTtXFF1%2BsW2%2B9VRMnTtSqVau0YMEC3XbbbYpEav87QnFxsa655hrNnDlTXbt2VUVFhRYsWKBPP/1UM2bM8O3r85dZW8OdwvQ6HIjrWsR1OsQ1AACFoD6wR/i8kswEIrCPPPJI/e53v9M//vEPJRIJffWrX9WPf/xjXXLJJXWvOeGEE/Twww9rxowZWrhwoXr16qVbb71VkydPbnSsKVOmKJlMav78%2Bdq2bZv69eunOXPmqH///l5/WVngxmbZ4MZm4UBc1yKu0yGuAQAoDPG6wD548BSf15IZK5m6hTYc8KWkv7pwXLcC27zpNYENibhOIa7TIa7DLhqNqKysg3bs2Mt1qR7iffce77l7unbtIMuKq7p6mUy/Xhets%2B0P1anTjUokOmv79k8k2b6tpXv3Thm9LrDXYBcOptfZIK6Dj7iuRVynQ1wDAFBIotH3JEmx2HD5GdfZCMQWcbjBvOk14BXi2vTjpmNmXBPWAAC4J2jbwyUm2IZjep0NptfBZ/rHZLWEuHYbcf3/27vz8Cjre///r1kzEyDswg8PVgWSggSEylZFBRcQsYJLy6kLVYyyVIoVBSugWFyo2xG0oIBWLVoPIlU2aSsHsFbwlKU/pUUlUkXcgpB9nZn7%2B0fOjJksZJuZ%2B75nno/r6lVzZzLzzscx8MznnnsAAEg9hlyu9yXZ5wJnEoGdoti9PhHi1xx2PTWcuI434hoAgFTkdH4qp7NQhuFXIDDI7HGajFPELYvd6%2Baw09tyEfB1EdfEdV3WDGuJuAYAIBE8nr9LkqqqRkrymjtMM7CDnXLYvYa1ENfxQFzHC3ENAEBieDz/K0mqqBhr8iTNQ2DDVLHYvY4ldpcTi7iuFtvda%2BI6XohrAAASw%2BEokstVfQXxysoxJk/TPAS2JaXO6eGxYKfTw/Ed4roacV0TcQ0AACS3e7ccjpACgTMUCvU0e5xmIbBTirVOD7fa7nUisENejbiuRlzXZN24Pn7cPlcuBQAgGYRff2233WuJwLYgdq%2Bbw05vzYVqdo3rWCOua7JuXEsXmj0AAAApJhgJbLu9/lriKuIpxFq710hNdo5r614xnLiOh7y8YXK7nerY0exJAABILS7XATkcRQqFOioQGGL2OM3GDralpM7utdXemisRu9epvkNOXFcjrmuyblwDAABzhK8eXll5kSSXucO0ADvYKYHda5gnkadqE9dWvt/aiGsAAFCbIa/3bUlSZeU4k2dpGXawLYPdayQf4vo7xHVNxDUAAKjL5Togp/MrGUZbW77%2BWiKwYVN2Oz08FRHX34ltXMcLcQ0AAMzl9e6QJFVUjJeUbu4wLURgW0I8d685PRyJR1x/J/ZxHY/FJa4BAIDZAvJ4qgO7vPxqk2dpOQIbCcXp4cmPuP4OcV0TcQ0AABrmdu%2BT05mvUKiLqqpGmT1OixHYSS05d69jeXo4You4/g5xXRNxDQAATuy708OvkJ2vxW3fyZNG6lzczIp4/XVsJDKs4/V4xHW8ENcAAKAx5fJ4/lb9TzY%2BPVxiBxsJxOnhyYm4jkZc10RcAwCAxnk878nhKFMw%2BD0FAkPNHqdVCGxTcXEz2BtxHY24rom4BgAATeP1viUpvHvtMHeYViKwYSu8/to6iOtoxHVNxDUAAGgap/NLeTx/l2E4VF5%2BrdnjtBqvwUZCcExLIOIAACAASURBVHp48kh0WMfrMYnreCGuAQBA03m9b0qSqqouVCh0usnTtB6BbRpOD081AwbY/6JqxHVdxHVN1otrwhoAACurlNf7J0lSWdkUk2eJDQIbQKPMCOt4PS5xHS/ENQAAaB6P569yOgsVDPZUZeUYs8eJCV6DDduI9euvzdhNNitUW4O4rh9xXRNxDQAAmi8tbbMkqbz8Z5Jcps4SKwS2Kexyenhs8PrraHaJ7AEDiOuGENc1EdcAAKD5XK5cud3/lGF4VFZ2vdnjxAyBjROwXqwnCytHtplhHX78WCOu44W4BgAALRO%2BuFll5WUyjG4mTxM7vAYbgCTzoz9ej09cxwtxDQAAWsbhKJLXu1WSVFaWY/I0scUOdsKl1unhaJjZQRtm9o51eIZ4IK7jhbgGAAAt5/VuksNRrkCgv6qqfmj2ODFFYKMBsYl1Xn99Ymafim12WIfniAfiOl6IawAA0BrlSkt7XZJUWnqbJIe548QYp4jDFmJ9BXErSeT7Y1shqGsirq18n/UhrgEAQOt4vX%2BR01mgYPBUVVRMNHucmGMHO6E4PRz1i3f4WmW3uibi2sr3WR/iGgAAtFZAPt9aSVJp6Uwl435v8n1HgE3VDs7W7GpbLaZrI66tfJ/1Ia4BAEDreTw75HR%2Bo1Coq8rLrzF7nLggsJGyEnlqdkvUF6E157V6RNcnnjMT1/FCXAMAgFgI1di9niHJb%2B44cUJgJ0w8Tw%2BPNQtXZ4qzY1SH2WHXWiKuoxHXAAAgNtzu9%2BRy/VuhUIbKy6eYPU7c8BrspEAQw9qIa6vfZ32IawAAECtGZPe6vHyKDKO9yfPED4GNuOEtuiAR19a/z/oQ1wAAIHbc7t1yu/8pw0hTWdk0s8eJK04RTwg7nR4OxIZdXm8tEdfRiGsAABBLIfn9L0qSyspyFAp1N3me%2BGIHGynNzq9ptjLiOtaIawAAYE8ezztyuQ7KMNqqtPR2s8eJOwLb9mL9%2Bmtez43WIa5jjbgGAAB2FZTPt1qSVFr6cxlGZ5PniT9OEQcQE/E%2BG4C4jifiGgAAxJ7Xu1Uu12GFQp1UVvZzs8dJCHaw447XX1sdp4m3HnFNXMcScQ0AQDKolM/3kiSptHS2DCPD5HkSgx1s2EKvXm2Um1ti9hioxW5hLRHX0YhrAAAQH17vZjmd3ygY7KGysuR93%2Bva2MEGxC52SxDXEnEdW8Q1AADJokw%2B339LkkpL50rymztOArGDDaBZEvHLCOI63ohrAAAQPz7fa3I68xUM9lJ5%2BTVmj5NQ7GDHVbxff80Vv2OJXewTGzCAuP4OcR1LxDUAAMnD4fhGaWmvSpKKi%2B%2BR5DF3oARjBxtAoxL1ywfrX8xMIq5ji7gGACC5%2BP3Py%2BGoVFXV2aqsvNzscRKOwEYN7IgPGCD9/yxDhF3DWiKu6yKuAQBAfLlc/5TXu02G4VBx8UOSHGaPlHCcIg7UwqniiTsdXCKuE4O4BgAA8RaS379CklRRcb0CgYEmz2MOdrDjhve/jjXeqiv%2BEv3LBXvEdbwWhbgGAADJw%2Bt9S273RwqFMlRcPN/scUzDDjZQj1TbxU7kjnUYcZ0IxDUAAEiEUvl8L1T/U%2BmdMoyTTJ7HPOxg2xYvFI63cHAm82uyzfhFQjzCWiKu6yKuAQBAYvh8a%2BR0HlMw2EtlZVPNHsdU7GDDVuIVZyeSjLvZZuxYS8Q1cQ0AAJKN0/ml0tLWSZKKi%2B%2BX5DV3IJOxgw00QbLsZpv1ywL7hLVEXMcecQ0AQLIy5Pcvk8NRpcrK0aqsvMTsgUxHYMcFFziTquOnuPig2WPElB3fxsvsHXjiOp73WxtxDQAAEsfj%2Bas8nt0yjDQVFz%2BiVHxbrtoIbNiO2VcTt8NuttlRHUZcx/N%2BayOuAQBAIpVE3partPSXCgbj8fcz%2ByGwgRay2m62VaJaiu9r5Ynr%2BhDXAAAgsfz%2B38vp/FbBYC%2BVlt5m9jiWQWDDlszexQ6rGbVmxLaVojqMuI73/dZGXAMAgMRyuT6W17teklRU9Jgkn7kDWQiBDcRI7diNdXBbMaZrsl9YS8R17BHXAAAku6DS05%2BSw2GovPzHqqoaZfZAlkJgw7assovdEKsHcazE%2B63T7LVrHe/7rom4BgAAief1bpLL9bFCofYqLn7A7HEsh/fBRlzFb%2BcRVkBcJ/K%2BayKuAQBA4jkc38rvf0GSVFJyrwzjJJMnsh4CO%2Bbs/BZd9ttyjXfgoX69erUhrhN63zUR1wAAwAyG0tOXy%2BEoVVXVWSovv8HsgSyJU8Rhe1Y/VTzZ2DOsJfu/3loirgEAgFmq3/P6bzIMt4qKloi92voR2Ii7tm17q7j4oNljoJUScbYAcX0ixDUAADCHw1Egv3%2B5JKm09HYFg/1Nnsi6%2BLUDkgKnisdPIk4Hl4jrEyOuAQCAefz%2BlXI68xUI9FVp6R1mj2Np7GAjaXCqeGwl6pcW9gvreN93bcQ1AAAwj9v9nrzerTIMp4qKnpLkNXskS2MH25Zi/AbLSYSd7NZL1I61RFw3jrgGAABmKlF6%2BlOSpLKyGQoEzjJ5HutjBxsJkcjXYbOT3TKJ/OVEfN%2B%2BLRnimrAGAADm8/ufk9N5VMFgL5WU3G32OLbADrYt2e/ttBKNneymS%2BSOtURcN464BgAA5nO7/6G0tM2SpKKipZLSzR3IJghs1BK/iIhvWNVFZJ%2BYGWFNXDeGuAYAAFZQJr9/afU/lU1RVdU5Js9jH5wijqQWDkhOGf%2BOGb94sG9YJ%2BL%2Bw4hrAABgDX7/7%2BRyfalg8D9UUrLQ7HFshcCOqUqzB7A8s94TO9Vfl23Wbn78z1ogruOFuAYAIDW53XuVlrZBklRU9FsZRobJE9kLgY2UkYqRbeZp8vaOa64UDgAAUlGJ0tOXSJLKym5SVdX55o5jQwQ2Es6sXWwpNU4ZN/u154l5rT1xHS/ENQAAqcvvXyWn8xsFg6eruPg%2Bs8exJVsE9ubNm7V%2B/Xrt379fBQUF6tmzp/7zP/9TkyZNktNZfZ22uXPnat26dXW%2BdsWKFTr33HOjjq1atUqrV69WXl6eMjMzdeedd2rYMP5S%2BZ0BSvb32q4ZockQ22ZHdZi9d60Tcf81EdcAAMA63O73lJa2RYbhUGHhMkltzR7JlmwR2M8995x69OihO%2B%2B8U507d9auXbt0//336/Dhw5ozZ07kdj179tQjjzwS9bW9evWK%2BnjVqlV6/PHHddttt6lfv35as2aNcnJytGbNGmVlZSXk%2B4G5u9i12XVX2ypRLSXDrnUi7r8m4hoAAFiHw1Gk9PTwVcNnKBAYYfJE9mWLwF6%2BfLk6deoU%2BXj48OEqLS3V6tWrddttt8nr9UqSfD6fzjyz4b%2B4VlZWatmyZbr%2B%2Bus1ZcoUSdLQoUN12WWXafny5Xr88cfj%2B43A0qwe2lYK6pqI6%2BYirgEAgLX4/U/L6TymQCBTJSXzzR7H1mwR2DXjOqxv376qqKhQfn6%2BTjrppCbdz549e1RUVKTx48dHjrlcLo0bN07PPvusDMOQw%2BGI2dz2Fv/TxK20i11T7ZA1K7itGtRhyRHWiXqMMOIaAABYi8fzjrze/5FhOFVUtFyS3%2ByRbM0WgV2f3bt3q0OHDurcuXPk2GeffaazzjpL5eXlyszM1PTp03XhhRdGPp%2BbmytJOv3006Puq1evXiopKdHXX3%2Bt7t27J%2BYbgCTrRnZNDYVuLMLb6hFdn8SEtZRcu9aSFeP6%2BPERctv2T4H4c7mcUf%2BPxGDdzcG6Jx5rHn8ul0MSm2cn4nAcU3r6k5Kk8vJfShrK3w1ayZbL9/777%2Bu1117TjBkz5HK5JFXvaGdnZ6t3794qKirSyy%2B/rBkzZuiJJ57Q2LFjJUmFhYXyer3y%2BXxR99e%2BfXtJUn5%2Bvo0CO3kuRGaHyK6PHeO4NZInrBP1GDVZL66lC9Wxo9kz2ENGBr/JNwPrbg7WPfFY8/gwjJDatfNLCpk9ioUZkp6UVCjpTPn998vv95o8k/3ZLrDz8vI0c%2BZMZWdnKycnJ3J88uTJUbcbPXq0Jk2apCVLlkQCW1K9p4AbhtHg51Jb4iLerpGdChIX1lLyxbUVw7p651qy5rUGrMTlciojw6/CwjIFg/wFLVFYd3Ow7onHmsdPRoZfDoeh4uIyEdgN83g2y%2BfbKcNIU2Hh0wqFqiRVmT2WZXXs2LTNNVsFdlFRkXJycuTz%2BbRs2TJ5PJ4Gb%2Bt0OnXxxRfr4YcfVnl5uXw%2BnzIyMlRRUaGKigqlpaVFbltYWCjpu51smIPItpbEhrVEXCdG9Wuu%2BctGcwSDIQUCrFmise7mYN0TjzWPn2DQUPUuLWpzOr9QWtoKSVJJyT2qrOwr/n4QG7Z50UdFRYWmTZumo0ePauXKlerYhHMbwzvTYeG37Aq/FjssNzdXbdq0Ubdu3WI3cNJI7Km0iY861Cfxu9aJeL01cc0FzQAAgBRUevpjcjjKVVl5rsrKpps9UFKxRWAHAgH94he/0IEDB7Ry5UqdfPLJjX5NKBTSli1b1KdPn8hrrgcPHqx27dpp06ZNkdsFg0Ft3rxZ5513HqeIWwSRbZ62bXtzSnirEdcAAMC60tJeldv9L4VCGSoqWiabJKFt2OIU8fvuu0//8z//ozvuuEPl5eXat29f5HO9e/dWQUGB5s6dq/Hjx%2BuUU05RQUGBXn75ZX3wwQdaunRp5LZer1fTpk3T448/rk6dOqlfv35as2aNDh8%2BrMcee8yMbw0N4HTxxErO08ET%2BThhxDUAALAul%2Btj%2BXyrJUnFxY8oFOpp8kTJxxaB/de//lWS9PDDD9f53AsvvKCsrCy1bdtWTz31lI4dOyaPx6P%2B/ftrxYoVGjlyZNTtb7zxRhmGoRdffFFHjx5VZmamnnnmGWVlZSXke4mtRF2EzJwrlhPZ8WXemQLEdSIR1wAAoFrF/50aHlRFxQRVVPzE7IGSksOo/UJltEK%2BpJUJfsxEha95bwlGZMcWYR0PxHUycrud6tixjY4fL%2BECRAnEupuDdU881jx%2BOnVqI4cjqMLCt8SFu77j9z%2BjtLTXFQp117Fj78owOps9kq107dquSbezxQ62fSTz%2B8aZ977b4SAktFvH3Ne2E9eJRlwDAIAwt3uv0tJelyQVFj5FXMcRgY1mMC%2ByJU4ZbwnzLxiXyODllPAw4hoAAIQ5HEVKT/8vSVJZ2U2qqrrI5ImSG4Fte%2BZGb6Kxm90486NaSnzsEtcSYQ0AAOry%2B5fL6TyqYLCXiot/bfY4SY/ARjNZI%2BgJ7bqsEdZScu9aS8Q1AACwC49nu7zebTIMlwoLn5HUxuyRkh6BjRawRmRLhLZ1olpK/l1ribgGAAB24XAcVXr6byVJpaV3KBAYYvJEqYHATgrWCV6zpEpoWyuow1IhrCXiGgAA2EdI6elPyOEoViAwWKWld5g9UMogsNFC1oz6mgGaLLFtzagOS4W4tmZYS8Q1AACon9e7UR7PHhmGX4WFKyR5zB4pZRDYaAVrRnaYXWPb2kEdZkboEtc1EdcAAKA%2BTudh%2Bf3PSpKKi3%2BtYLCPyROlFgI7aZgVu9aO7DArxrY9Qrq2VAlribgGAAD2E1R6%2BuNyOCpVWXmBystzzB4o5RDYMXempH1mD5Fg9ojssBOFbTzi254hXZtZkUtc13b8%2BAhJIbPHAAAAFpSWtkZu94cKhTqoqOgpSQ6zR0o5BHZSMTN07RXZDUmOGI6lVAtrycpxLV0oqcTsIQAAgAW5XAfl870kSSouflihUA%2BTJ0pNBDZiKDkiG5K5gcuudX2OHx%2Bhjh3NngIAAFhT5f%2BdGh5URcXlqqj4sdkDpSwCG0ANqRjWktXjOi9vmNz8tAYAAA3w%2BVbL5fq3QqGuKip6XJwabh7%2BypZ0zN5FNvvx0TJmxq3Zj2/duOZiZgAAoDEu136lpa2VJBUVLZVhdDF5otRGYMdFKl7orKZwLBHa1kdYWxVxDQAAGlemNm0el8NhqLz8GlVWjjN7oJTnNHsAxIPZ0RRmlTkQbUCN/5k9h1mIawAAYH9%2B/3NyOr9UMNhTxcUPmT0OxA424o5Txq3D7KAOM3sO4hoAANif271baWkbJUlFRb%2BVYbQ3eSJIBHYSs1LYcsq4ucwO2jArzEFcAwAA%2B3M4ipSevkSSVFo6VVVV55k8EcI4RTxurPAXeSsETU1WmyeZWeU08DCz5zhT1vhvsmHENQAAaCq//xk5nUcVDPZWScm9Zo%2BDGtjBRoKxmx0/Zkdsfawwk7XDWiKuAQBA03k878jr3SrDcKqw8GlJ6WaPhBoI7KRnpVPFa7LqXHZkhYitzQozEdYAACC5OBzH5fc/KUkqLf2lAoEhJk%2BE2gjsuLLK23VZNWZrRpgV57MyKwRsQ6wwG3ENAACSjaH09CfldBYqEBig0tK5Zg%2BEehDYsAhOHT8xK0RrY6wyI3ENAACSj9f7F3k8O2UY3v87Ndxr9kioB4GdMqy6i10bof0dqwRrY6wyp/XDWiKuAQBA8zkc38jvf0aSVFJyt4LBM0yeCA0hsFOKXSJbSs3Tx60Sqk1lpXmJawAAkKwMtWmzRA5HqaqqhqmsbKbZA%2BEECOy4s8rrsO0sGWPbSnHaXFabnbgGAADJy%2Bv9k9zuvTIMvwoLl0tymT0SToDATjl22sWuT%2B24s8v3YrUobQmrfQ%2BENQAASG4Ox1H5/askSSUl8xUK9TJ5IjSGwE4Iq%2B1i2z2ya6ov%2Bsz63qwWoLFixe%2BLuAYAAMnOUHr6U3I4SlRVNURlZdPMHghNQGCnrGSK7NqaG4QnWgcrxmWiWPF7t0dYS8Q1AABoHY9nmzye92QYXhUVPSVODbcHAjthrLaLLSV3ZDeHFUPSTFZdD%2BIaAACkBofjeOSq4aWlcxQMft/kidBUBHbKI7IRRli3FmENAABiIT39aTmdhQoEBqi0dJbZ46AZnGYPACuwalghMQbIus8B4hoAAKQWj%2BcdeTxvyzBc/3dquMfskdAMBHZCWTkWrBpYiB%2Brh7WV/3uJRlwDAIBYcDiK5PcvkySVlt6mQGCgyROhuThFHDWEY4tTxpOXVYM6zD5RHUZcAwCAWPH5fien87gCgSyVls4xexy0ADvYCWeHgLB6hKH5rLxbHWaH/zaiEdcAACBWXK4PlJb2piSpqGiJpDRzB0KLsIONBnDxs%2BRg9aiWCGsAAIAqpac/JUkqL/%2BZAoERJs%2BDliKwTWHFt%2ByqD6eM25MdojqMuAYAAEhLe00u12cKhbqquHih2eOgFQhs09glsiV2s%2B3ATlEt2TGsJeIaAADEntN5RD7fHyRJxcUPyTA6mjwRWoPARhOxm21NhHUiENYAACA%2BDKWnL5PDUanKygtUUXGV2QOhlQhsU9lpFzuM0Daf3aI6jLgGAACoyePZJrd7rwzDp6KiRyU5zB4JrURgm86OkS0R2olm16iW7BrWEnENAADix%2BEolN%2B/QpJUUjJHodDpJk%2BEWCCw0UqEdvzYOaolwhoAAKBhPt8LcjoLFAj0VVnZrWaPgxghsC3BrrvYNRHarWf3oA6zb1hLxDUAAIg/l%2Btjeb3V73ldXPy4JK%2B5AyFmCGzLSIbIlgjt5kiWoA6zd1hLxDUAAEiEkPz%2B5XI4DJWX/1hVVT80eyDEEIGNOKkZj8T2d5ItqiXCGgAAoOm83q1yuw/IMNqqpOTXZo%2BDGCOwLSVZdrFrS9XYTsaYro24BgAAaLoS%2BXy/q/6nkjkKhf4/c8dBzBHYlpOskR1WOzqTJbhTIaZrsn9YS8Q1AABILJ/vZTmdxxUM9lFZ2TSzx0EcENiWlOyRXVN9YWrl6E61kK6NsAYAAGgJp/NTpaW9IUkqKlosLmyWnAhsy0qlyK7tRBEb7/hO9YBuSHKEtURcAwAAMxhKT39GDkdQFRXjVVV1odkDIU4IbEtL5chuCAGcWMkT1hJxDQAAzOHxvCO3e58Mw6fi4gfMHgdxRGBbHpENMxDWAAAAsVElv/93kqTS0pkKhU41dRrEF4FtC0Q2EiG5ojqMuAYAAGZKS9sop/NLhULdVFo6y%2BxxEGcEtm0Q2YgXwhoAACAeHI4i%2BXx/kCSVlMyT1NbcgRB3TrMHQHMkZwjBLGcqWZ9TxDUAALCCtLQ1cjiKFAj0VXn5tWaPgwRgB9t22MlGayVnVEuENQAAsA6n86vI23KVlPxaksvcgZAQ7GDbUvIGEuIpeXesJeIaAABYi8/3ohyOKlVWnq/KyovMHgcJwg62bbGTjaZI3qAOI6wBAIDVuFwfyevdJsNwqLh4kSSH2SMhQQhsWwvHE6GN2ghrAAAAcxjy%2B5%2BVJFVUTFIwOMDkeZBIBHZSYDcbUipEdRhxDQAArMrt/rvc7vdlGD6VlMw3exwkGIGdNNjNTk2pE9USYQ0AAKzOkM/3kiSprCxHodB/mDwPEo2LnCWd1Aqu1JXcFyyrD3ENAACszu3eKbf7IxlGG5WW3mb2ODABO9hJid3s5JRaQR1GWAMAAHsIye8P715PlWF0MXkemIHATmq8Ntv%2BUjOqJcIaAADYi8fzN7lcn8gw2qm09Fazx4FJCOykx262/aRuVIcR1wAAwF6Ckddel5ZOl2F0MnkemIXAThmEtrUR1RJhDQAA7MnjeVsu16cKhTqorGyG2ePARAR2yiG0rYOoDiOsAQCAfQVrXDn85zKMDibPAzMR2CmL0E48gro%2BxDUAALAzj2e7XK4jCoU6qqxsmtnjwGQEdsqrGX3EduwR1Q0hrAEAgP2F5POtkSSVls6UYbQzeR6YjcBGDcR26xHUjSGsAQBAsnC735PL9ZlCoQyVl99k9jiwAAIbDSC2G0dMNwdhDQAAkoshn2%2BtJKm8fIoMo73J88AKCGw0AbFNTLccYQ0AAJKRy7Vfbvc/ZRheXnuNCAIbzVQ7NJMxuInpWCGuAQBAsvpu9/oahULdTZ4GVkFgo5Xqi1G7RDchHS%2BENQAASGZO5yF5PO/JMBwqK7vV7HFgIQQ24qCxcE1EgBPPZiCsAQBAKvD5XpMkVVZOUDDY2%2BRpYCUpG9iHDh3SokWLtHv3bvn9fl166aWaPXu2fD6f2aOlAOI32RDWAAAgVTidX8vj2S5JKi2dZfI0sJqUDOzCwkJNnjxZPXr00JIlS3Ts2DE9%2BOCDys/P1yOPPGL2eIBtENYAACDVeL0b5XAEVVk5SoHAILPHgcWkZGD/4Q9/UGFhof74xz%2BqU6dOkiSXy6XZs2dr2rRp6tWrl8kTAlZ3oY4fL5EUMnsQAACABCpXWtoWSeLK4aiX0%2BwBzLBjxw6NGDEiEteSNGbMGHm9Xm3fvt3EyQBry8sbpuPHR5g9BgAAgCm83u1yOIoVDJ6mysqLzB4HFpSSO9i5ubm68soro455vV6dcsopys3NbcU9%2ByT9sFWzAVYUDFZfm6BTJ8nhqD7Wvr1fhmHiUCmGdU881twcrLs5WPfEY83jx%2Bl0yDAkl8shyRHDezaUlrZRklRRkSO32xPD%2B0aySMnALiwsVEZGRp3jGRkZKigoaMU9OyWlt%2BLrAWtyueoeczpT8gQY07Huiceam4N1NwfrnniseXw4HB61azcmDvc8TpKUnl79P6A2/ouuwTAMORyx/C0XAAAAACBVpGRgZ2RkqLCwsM7xoqKiene2AQAAAABoTEoGdq9eveq81rqyslKfffYZVxAHAAAAALRISgb2ueeeq507d%2Br48eORY3/%2B859VWVmp8847z8TJAAAAAAB25TCM1LtuYWFhocaPH6%2BTTz5Z06dP17fffquHHnpI55xzjh555BGzxwMAAAAA2FBKBrYkHTp0SIsWLdLu3bvl8/k0fvx4zZ49Wz6fz%2BzRAAAAAAA2lLKBDQAAAABALKXka7ABAAAAAIg1AhsAAAAAgBggsAEAAAAAiAECGwAAAACAGCCwAQAAAACIAQIbAAAAAIAYILBb6dChQ5oyZYrOPPNMjRgxQosWLVJ5ebnZY9nS5s2bNX36dJ133nk688wzddlll%2Bmll15SKBSK3Gbu3LnKysqq878dO3bUub9Vq1Zp9OjRys7O1pVXXqldu3Yl8tuxjddee63eNX3kkUeibrd9%2B3ZNmDBB2dnZuuiii7R69ep67491b9x1111X75pnZWVp48aNkniut9ann36qBQsW6PLLL1e/fv00fvz4em8Xy%2Bd1cXGxFixYoGHDhmnQoEGaOnWqjhw5EtPvy%2BoaW/dgMKgVK1bo2muv1fDhwzVkyBBdc801evfdd%2Bvc1%2BjRo%2Bv9b6CioiLqdqx7057vsf6Zkurr3pQ1b%2BjnfFZWlr755pvI7XiuA8nFbfYAdlZYWKjJkyerR48eWrJkiY4dO6YHH3xQ%2Bfn5deIEjXvuuefUo0cP3XnnnercubN27dql%2B%2B%2B/X4cPH9acOXMit%2BvZs2ed9e3Vq1fUx6tWrdLjjz%2Bu2267Tf369dOaNWuUk5OjNWvWKCsrKyHfj92sXLlS7dq1i3zcrVu3yD/v3btX06dP1%2BWXX665c%2Bdqz549WrRokbxer66%2B%2BurI7Vj3prnnnntUXFwcdez555/Xn/70J40YMSJyjOd6y3388cfavn27Bg4cqFAoJMMw6twm1s/r22%2B/Xfv379f8%2BfPVtm1bLVmyRDfccIPeeOMN%2BXy%2BhHzfZmts3cvLy/X0009rwoQJmjJlitxut9atW6cbbrhBy5Yt06hRo6JuP2bMGN14441Rx7xeb9THrHvTnu9SbH%2BmpPq6N2XNX3nllTrH5syZI7/fr5NOOinqOM91IIkYaLGnn37aGDhwoPHtt99Gjr3xxhtGZmamcfDgQRMns6ea6xj2wAMPGNnZ2UZFRYVhGIYxZ84c49JLLz3h/VRUVBg/%2BMEPjMWLF0eOBQIB45JLLjFmzZoV26GTwNq1a43MzMx61z9sypQpxlVXXRV1bN68ecbZZ59tBINBwzBY99YaPXq0kZOTE/mY53rrhJ%2BXhtHwWsbyeb1v3z4jMzPT2LZtW%2BTYkSNHjH79%2BhkvvfRSzL4v6p32tgAAFUZJREFUq2ts3QOBgJGfnx91LBQKGRMnTjSuvfbaqOOjRo0yFi5ceMLHY92rNeX5HsufKax709a8tsOHDxuZmZnGihUroo7zXAeSC6eIt8KOHTs0YsQIderUKXJszJgx8nq92r59u4mT2VPNdQzr27evKioqlJ%2Bf3%2BT72bNnj4qKiqJO13K5XBo3bpy2b9/e4G/2Ub/Kykrt3LlTl156adTxyy67THl5efrnP/8piXVvjT179ujzzz/XZZdd1uyvY83r53Se%2BI%2B3WD%2Bvt2/froyMDJ177rmR2/Xo0UODBw9OqT8PGlt3l8ul9u3bRx1zOBz6/ve/H3XKbFOx7tUaW/em4vnedC1Z8w0bNsjhcDT4kpUTYc0B%2ByCwWyE3N7fOqVVer1ennHKKcnNzTZoquezevVsdOnRQ586dI8c%2B%2B%2BwznXXWWerfv7%2BuuOIK/eUvf4n6mvDan3766VHHe/XqpZKSEn399dfxH9yGxo8fr759%2B%2BqCCy7Q008/rWAwKKl6vauqquqsZ%2B/evSV9t96se8tt2LBBfr9fF1xwQdRxnuvxE%2BvndW5urk477TQ5HI4698efBycWCoW0d%2B/eOn%2BeStL69evVv39/DRo0SDk5Ofrwww%2BjPs%2B6N0%2Bsfqaw7i2zceNGDRkyRN27d6/zOZ7rQPLgNditUFhYqIyMjDrHMzIyVFBQYMJEyeX999/Xa6%2B9phkzZsjlckmq3tHOzs5W7969VVRUpJdfflkzZszQE088obFjx0qq/vfi9XrrvB4pvGuSn59f7x9uqapr16669dZbNXDgQDkcDm3dulX/9V//pa%2B//loLFiyIPJdrP9fDH4c/z7q3TCAQ0JtvvqkLLrhA6enpkeM81%2BMr1s/rwsLCqGsY1Lw//jw4sRdffFGHDh3SfffdF3V89OjRGjBggHr06KHDhw9r%2BfLl%2BulPf6o//vGP6tmzpySx7s0Qy58prHvzHThwQB999FGd57nEcx1INgR2HBiGUec3jGievLw8zZw5U9nZ2crJyYkcnzx5ctTtRo8erUmTJmnJkiWRvyBIqnf9w6e28e8m2siRIzVy5MjIx%2Becc47S0tL0/PPPa%2BrUqZHjDa1bzeOse/O98847%2Bvbbb%2BucMshzPTFi%2Bbxuyn0h2nvvvaeHH35YN954o4YMGRL1uXnz5kX%2B%2BayzztLZZ5%2BtSy65RKtWrdK9994b%2BRzr3jSx/pnCujfP%2BvXr5fF4NGbMmDqf47kOJBdOEW%2BFjIwMFRYW1jleVFRU7842mqaoqEg5OTny%2BXxatmyZPB5Pg7d1Op26%2BOKLlZubG3l7tIyMDFVUVNR5e4vwv6var/9DXZdccomCwaD%2B9a9/Rdar9m/Iw%2BsZfq6z7i2zYcMGdejQQeecc84Jb8dzPbZi/bxu6M%2BDhs50QvWO3vTp03XhhRfqjjvuaPT2J510kn7wgx9o//79kWOse8u15mcK6948hmFo06ZNGjlypDp06NDo7XmuA/ZGYLdCr1696rzupbKyUp999lm9ryVD4yoqKjRt2jQdPXpUK1euVMeOHRv9mtoXcgqvfe1/N7m5uWrTpk3U20%2Bhcaeccoo8Ho8%2B%2BeSTqOMHDx6U9N16s%2B7NV15errfeektjx4494S%2BSwniux06sn9e9evXSoUOH6vw7OnjwIH8e1OOzzz7TTTfdpH79%2Buk3v/lNk3fg6vtvgHVvuZb%2BTGHdm2f37t364osvmnUhS57rgH0R2K1w7rnnaufOnTp%2B/Hjk2J///GdVVlbqvPPOM3EyewoEAvrFL36hAwcOaOXKlTr55JMb/ZpQKKQtW7aoT58%2BkdeMDR48WO3atdOmTZsitwsGg9q8ebPOO%2B88TqVqgk2bNsnlcqlfv37yer0aPny4Nm/eHHWbDRs2qGvXrurXr58k1r0ltm7dqpKSkib9pYvnemzF%2Bnl93nnnqbCwUG%2B//Xbkdl9%2B%2BaX27NnDnwe15OXl6cYbb1SXLl3029/%2Bts57/Tbk66%2B/1p49e5SdnR05xrq3XGt%2BprDuzbN%2B/Xqlp6fXeZ/3hvBcB%2BzNdW/NF3egWfr06aO1a9fq7bffVrdu3bR371498MADuuiiizRp0iSzx7Ode%2B%2B9Vxs2bNAvfvELnXTSSfrqq68i/2vbtq3y8vI0Y8YMVVVVqaioSPv379eiRYu0d%2B9eLVy4MPIbXJfLJZfLpeXLl8vn86miokJPPPGE9u7dq9/85jfq0qWLyd%2BptUyZMkXffPONiouL9emnn%2BrZZ5/V6tWrdd1110Vel9ezZ08tX75cX375pdq0aaP169frueee01133aX%2B/ftLYt1b4rHHHlNFRYXuuuuuqBg%2BcuQIz/VWKisr01tvvaWDBw/qnXfe0dGjR9W9e3cdPHhQnTp1kt/vj%2Bnzunv37vrggw/0yiuvqFu3bvryyy%2B1YMEC%2BXw%2B3XfffXK7U%2BOSJ42tu8Ph0PXXX6%2BvvvpK8%2BbNU3l5edTP%2BvBF%2BTZs2KBnnnlG5eXlOn78uN59913dfffdqqys1IMPPhg5VZl1r9bYuh87diymP1NY96b9jJGqNw/uvvtujRo1SuPGjatzPzzXgeTjMFL5jVJj4NChQ1q0aJF2794tn8%2Bn8ePHa/bs2XWuwInGjR49WkeOHKn3cy%2B88IKysrJ01113af/%2B/Tp27Jg8Ho/69%2B%2Bvm2%2B%2BOeoiXVL1qVWrVq3S6tWrdfToUWVmZuqOO%2B7Q8OHDE/Gt2MqiRYv09ttv66uvvlIoFNKpp56qq6%2B%2BWtddd11U9G3fvl2PPfaYcnNz1b17d91www265pprou6LdW%2B6goICnX322Zo8eXKd15/m5%2BfzXG%2Blzz//vM7bnoW98MILGjZsmKTYPq%2BLi4u1ePFibdmyRVVVVRo2bJjmz5/fpLNxkkVj637yySc3%2BHlJkbcm2rdvnx599FF9/PHHKioqUrt27TR8%2BHDNnDmzzltIse6Nr3s8/vxM9XVv6s%2BYbdu26ZZbbtEzzzxT704zz3Ug%2BRDYAAAAAADEAK/BBgAAAAAgBghsAAAAAABigMAGAAAAACAGCGwAAAAAAGKAwAYAAAAAIAYIbAAAAAAAYoDABgAAAAAgBghsAAAAAABigMAGgCTxwgsvKCsrS%2BPHj2/wNllZWVq6dGnk4127dikrK0u7du1KxIgt9tprrykrK0uff/652aM0qqlrarXvac%2BePVq6dKkKCwvrfG706NG65ZZbTJgKAAB7IbABIEmsXbtWkvTxxx/rH//4R5O%2B5owzztArr7yiM844I56jwQb27t2rJ598st7ABgAATUNgA0ASeP/993XgwAGdf/75kqRXX321SV/Xtm1bnXnmmWrbtm0cpzNXWVmZ2SMAAIAUQWADQBIIB/Xtt9%2BuQYMGaePGjU0Ky4ZOZ/7v//5vjRkzRv3799e4ceO0fv16zZ07V6NHj47c5vPPP1dWVpZWrVql5557TqNHj9agQYP0k5/8RPv27avzWO%2B//76mTp2qoUOHKjs7WxMmTNCmTZvq3G7fvn2aNGmSsrOzdc455%2BjRRx9VIBBo0jrMnTtXgwYN0ocffqgbb7xRgwYN0s9%2B9rPI5//2t79p8uTJGjx4sAYOHKhJkybp3XffjbqPTz/9VHfddZcuvvhiDRw4UCNHjtTUqVP14Ycf1nm83NxcTZkyRQMHDtSwYcO0YMEClZSUNGnWhjRlxqVLlyorK0sff/yxfvnLX%2BoHP/iBfvjDH%2Bquu%2B5SUVFR1G0LCwv1q1/9SkOHDtWgQYN088036/Dhw1EvF1i6dKl%2B85vfSJIuuOACZWVl1fu82LFjhyZOnKgBAwZo7NixdX6RU1ZWpsWLF2v06NHKzs7W0KFDdcUVV2jDhg2tWhMAAOzCbfYAAIDWKS8v18aNG5Wdna3MzExdeeWVmjdvnt58801NnDix2ff3yiuvaMGCBRozZkwk2J588klVVVXVe/vVq1fr9NNP169%2B9StJ0hNPPKGbb75Zb731ltq1aydJ2rlzp2666SYNHDhQ9957r9q1a6dNmzbptttuU3l5ua644gpJ0sGDB/Wzn/1MJ598sh566CH5fD699NJLzQq0qqoqTZs2TZMmTVJOTo6CwaAk6fXXX9ecOXN0wQUXaPHixXK73XrllVc0ZcoUrVq1SiNGjJAkffPNN%2BrQoYNuv/12derUSQUFBVq3bp1%2B/OMfa926dTr99NMlSUePHtV1110nt9ute%2B65R507d9b69ev161//utlrHtbUGcNuvfVWjRs3TldddZU%2B%2BugjPfroo5KkBx98UJIUCoU0depUffDBB/r5z3%2BuM844Q3v37tVNN90UdT9XX321CgoK9OKLL%2BrJJ59U165dJUm9e/eO3ObAgQNavHixcnJy1KVLF61Zs0Z33323vve972nIkCGRx33jjTc0a9Ys9e3bV2VlZfroo4%2BUn5/f4jUBAMBWDACAra1bt87IzMw0Xn75ZcMwDKO4uNg488wzjZ/%2B9Kd1bpuZmWksWbIk8vHOnTuNzMxMY%2BfOnYZhGEYwGDTOPvts4%2Bqrr476uiNHjhhnnHGGMWrUqMixw4cPG5mZmcb48eONQCAQOf6Pf/zDyMzMNDZs2BA5NnbsWGPChAlGVVVV1P3ecsstxtlnn20Eg0HDMAxj1qxZxoABA4y8vLzIbQKBgDF27FgjMzPTOHz48AnXYs6cOUZmZqbx6quvRh0vLS01hg4datxyyy1Rx4PBoPGjH/3IuOqqqxq8z0AgYFRWVhoXX3yx8cADD0SOP/zww0ZWVpbxr3/9K%2Br2N9xwQ9SaNmTt2rVR31NzZlyyZImRmZlprFixIuq29957r5GdnW2EQiHDMAxj27ZtRmZmpvHSSy9F3e7pp5%2Bu81xYuXJlg2s8atQoIzs72zhy5EjkWHl5uTF06FBj/vz5kWPjx483pk%2BffsLvGwCAZMYp4gBgc2vXrpXP59Oll14qSWrTpo3Gjh2rv//97/r3v//drPs6dOiQ8vLydMkll0Qd79GjhwYNGlTv15x//vlyuVyRj7///e9Lko4cOSKp%2BpTrTz75RJdddpkkKRAIRP537rnnKi8vT4cOHZJUfcr6iBEj1KVLl8j9uVwujRs3rlnfx5gxY6I%2B3rt3r/Lz8zVx4sSoxw%2BFQho5cqTef/99lZaWRuZbvny5xo0bp/79%2B6tfv37q37%2B//v3vfys3Nzdyn7t27VKfPn0i32/Yia7ifiLNmTGs5in7UvVV4isqKvTtt99Kkt577z1JqvPvM/xcaY6%2BffuqR48ekY/T0tJ06qmn6osvvogcy87O1o4dO/TII49o165dKi8vb/bjAABgZ5wiDgA29umnn%2Bp///d/dfHFF8swjMgVoMeOHavXXntNa9eu1e23397k%2Bzt%2B/LgkqXPnznU%2B16VLl0g019ShQ4eoj71erySpoqJCUvWp1JK0ePFiLV68%2BISPm5%2BfHxXXNR%2B7qfx%2Bf52LtoVnmDlzZoNfV1BQoPT0dD300ENavXq1cnJyNGTIELVv314Oh0Pz5s2LfE/hWf/jP/6jVbO2dMawhtY%2BHLb5%2Bflyu911bteSGWvfR/jxaq7JvHnz1L17d23atEkrVqxQWlqazjnnHN1555069dRTm/2YAADYDYENADa2du1aGYahLVu2aMuWLXU%2Bv27dOs2aNStqh/lEOnbsKEmRHdCawgHYXOH7vOWWW3TRRRfVe5vTTjtNUnXE1fc4zXlsh8PR4Azz58/XwIED6/268C8V3njjDU2YMEG//OUvoz5//PhxZWRkRD6OxawtnbGpOnTooEAgoPz8/KhAzsvLa9GMjUlPT9fMmTM1c%2BZMHT16VDt27NCjjz6qqVOn6s0334zLYwIAYCUENgDYVDAY1Lp163TKKado0aJFdT6/bds2Pfvss9qxY4dGjRrVpPs87bTT1LVrV23evFk33HBD5PgXX3yhvXv36qSTTmr2nKeffrpOPfVUHThwoE601jZs2DBt3bpVR48ejeyyBoPBeq823hyDBw9WRkaGDh48qGuvvfaEt3U4HPJ4PFHHtm3bpq%2B//lrf%2B973omZduXKlDhw4EHWaeEuvmN2cGZtq6NChWrlypTZt2qSf/vSnkeP1rWftMw9aq0uXLrriiit04MABPf/88yorK5Pf74/JfQMAYFUENgDY1I4dO/TNN99o9uzZGjZsWJ3P9%2BnTR7///e/16quvNjmwnU6nbr31Vi1YsEAzZ87UlVdeqcLCwsiVpevbHW6KhQsXKicnR1OmTNHEiRPVrVs3FRQUKDc3V/v379eSJUskSdOmTdPWrVs1efJkzZgxQz6fT6tXr271e1m3adNG8%2BbN09y5c1VQUKAxY8aoc%2BfOOnbsmA4cOKBjx45p4cKFkqpfUx6%2BWnhWVpb279%2BvVatWqXv37lH3OXnyZK1du1Y333yzZs2aFbmK%2BCeffBL3GZtq5MiRGjx4sBYvXqzi4mL1799fe/fu1euvvy4perc/MzNTkvT8889r4sSJcrvdOu2005r1HulXX321zj//fGVlZal9%2B/bKzc3V66%2B/rkGDBhHXAICUQGADgE29%2Buqr8ng8uvLKK%2Bv9fKdOnXTRRRdpy5YtUTvCjfnJT34ih8OhlStXasaMGTr55JMjb7v15ZdftmjW4cOHa82aNVq%2BfLkeeOABFRYWqkOHDurVq1fUBbgyMzP13HPPafHixZozZ47at2%2BvH/3oRxozZozmz5/foscOu/zyy9WjRw%2BtXLlS99xzj0pKStSpUyf17ds36u3M7r77brndbj3zzDMqLS1Vv379tHTpUj3xxBNR99e1a1f9/ve/1/333697771Xfr9fF154oebPn6/p06fHdcamcjqdWr58uR566CGtWLFCVVVVGjx4sB5%2B%2BGH9%2BMc/jjrlfdiwYbrlllu0bt06rVmzRqFQSC%2B88EK9v7xpyPDhw7V169bIjnW3bt00YcIETZ06tdmzAwBgRw7DMAyzhwAAWFthYaHGjBmjCy%2B8sFXv8wxrWL9%2BvWbPnq2XX35ZgwcPNnscAACSBjvYAIAoeXl5Wr58uYYNG6YOHTroiy%2B%2B0O9%2B9zuVlJTo%2BuuvN3s8NNOGDRv09ddfKzMzU06nU/v27dOqVas0ZMgQ4hoAgBgjsAEAUbxer44cOaKFCxeqoKBAPp9PAwcO1MKFC9WnTx%2Bzx0MztWnTRhs3btSyZctUVlamrl276oorrtCsWbPMHg0AgKTDKeIAAAAAAMSA0%2BwBAAAAAABIBgQ2AAAAAAAxQGADAAAAABADBDYAAAAAADFAYAMAAAAAEAMENgAAAAAAMUBgAwAAAAAQAwQ2AAAAAAAx8P8AnW6Uwd/4Zz4AAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -255,7 +290,7 @@
 <br>
 
 <h3 id="Read_mapping_quality_vs_Average_basecall_quality_plot_using_dots">Read mapping quality vs Average basecall quality plot using dots</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd1yV5f8/8NcBQWQoqIhbTMM0Z7gHauYKXLjLtBxlliPTj7kyNXNl5i5Ncu%2BcmGaOTNxbnIgiMhRUQIEjcIDz%2B4PHuX73zVk3eDP6%2Bno%2BHj7kDO5zc517XO9rvC%2BNXq/Xg4iIiIiIiIheiU1B7wARERERERHR/wUMsImIiIiIiIhUwACbiIiIiIiISAUMsImIiIiIiIhUwACbiIiIiIiISAUMsImIiIiIiIhUwACbiIiIiIiISAUMsImIiIiIiIhUwACbiIiIiIiISAUMsAuZhQsXokaNGqhRowYmT55c0LtDKkpPTxffbY0aNfD48eOC3iUqAOHh4eIYqFWrltn38VpARAajRo0S14PVq1cX9O5QHpo7d674rmfMmGH2fU2aNBHvCw4Ozsc9/L8rOTlZVk%2BLi4sz%2Bb4NGzaI93z22Wf5vJf/Ta/bNaxIXmz0m2%2B%2Bwa5du8y%2BbmdnB2dnZ5QtWxZvv/023nvvPfj4%2BMDW1jYvdoeIiCjfjBs3Dvv27ROPe/fuje%2B//74A94iIiIjyS4H0YOt0OsTHx%2BPWrVvYsWMHhg8fDj8/P1y7dq0gdoeI6D%2BJoyIKn6SkJBw%2BfFj23IEDB5CSklJAe0RERAWBowwKh4L4HvKkB1uqRIkSqFOnjuy5tLQ0xMTEIDw8XDx3//59DBo0CGvXrkXdunXzereIiIhUd/DgQbx8%2BVL2nCHo9vPzK6C9IiIiovyS5wG2pbH2ERERmD9/Pv766y8AgFarxaRJk7B3717Y2HB6OP3fUqRIEdy5c6egd4P%2BI7766it89dVXBb0blEO7d%2B8WP7dq1QonTpwAAOzatYsBNhHR/wEDBgzAgAEDCno3qBAr0Ci2UqVKWLRoEdq2bSueu3v3rqiQEBER/VdERETgwoULAAAnJyfMmTMHDg4OAIBTp04hJiamIHePiIiI8kGBdxNrNBqMGjVK9tyZM2cKaG%2BIiIhyZ/fu3dDr9QCADh06oHTp0qIBOTMzE3v37i3I3SMiIqJ8kOdDxJWoWbMmHB0dodVqAQBRUVE5%2Bv0zZ87gr7/%2Bwvnz5/HkyRMkJyfDzc0N1atXR9u2bdGrVy84Ojoq2tbdu3cRFBSEixcvIjQ0FLGxsUhNTYWLiwvKli0Lb29vdO3aFfXq1cvRPhoqV/v27cOdO3fw/PlzuLu7o3r16ujRowc6dOiQJ1nUw8PD0aFDBwCAra0tbt68CSCrp2Xr1q04fvw4Hj9%2BjNTUVFSqVAkdOnTAkCFD4OzsLNtOUlIStmzZgr///huhoaFIS0uDu7s7WrRogWHDhqFy5cqK9kfN8jX3t4WHh2PLli0ICgrC48ePkZ6ejvLly6N169bo378/KlWqVCDbTU9Px9tvvy0eHz9%2BHGXLljV638KFC/HLL78AAHr16oVZs2YBAC5cuICtW7fi6tWrePz4MRwcHFC5cmW8%2B%2B67GDhwoNF3ZklkZCQ2b96M48ePIzo6GgBQtmxZNG3aFH379kWNGjUAAD4%2BPqLXbePGjWjYsKHiz7AmNjYWmzdvxpEjRxAVFQW9Xp/rfZBmbR49ejRGjBhh9fNz8rddu3YNp06dwuXLl3Hv3j08e/YMOp0OxYsXR4UKFdCwYUP06tUL1apVy3E5mGPuOACyekM/%2BeQTo99p3bq1yW0Zfv/kyZMYPHgwAKBYsWI4ceIEXFxcFO3P0qVLsWTJEgDA22%2B/jZ07d%2Bbo7wGA7t2749atWwCAL7/8EiNHjlT0eykpKWjWrJm4RyxduhTt27c3et/du3exc%2BdOXLx4EeHh4UhKSoKNjQ2cnZ1Rrlw5eHl5wdvbG%2B3bt4erq2uO998SvV4vGx7etWtX8f%2BBAwcAZAXgw4YNs7idlStXYsGCBQCAqlWr4uDBg4r34euvv0ZgYCAAoHPnzvj555/NvjctLQ1//vknjh07hhs3buDZs2fQ6/UoVaoU6tWrh06dOqF9%2B/bQaDQWP3PUqFFimtf//vc/DBkyBOnp6Th06BD279%2BPkJAQPHnyBC9fvhSvSz18%2BBD//vsvLly4gLt37%2BLx48dISUmBs7Mz3N3d8c4776Bz585o1qyZ4nIAsu65%2B/btQ2BgIG7fvo2EhASULFkSVatWRbdu3eDr6wt7e3ts2LABM2fOBAC0adMGv/76q9Vtq1V2r0qn0%2BHPP//E3r17xXXJzc0NtWrVQrdu3dC5c2dF28nIyMD58%2Bdx%2BvRpXLt2DWFhYYiPj0dmZiZKlCiBqlWrokmTJujduzc8PDwU79/t27exc%2BdOXLp0CREREeJ8dHFxEedjo0aN8N5776F48eJWtxcXF4c9e/bg33//RVhYGOLi4mBvbw8PDw80adIE3bt3z3EOn8zMTPz999/4559/cOXKFcTFxSEpKQlOTk6oWLEiateujTZt2sDHxwdFipiuMicnJyMoKAhnz57FzZs38fDhQ7x48QJ2dnZwdXXFW2%2B9hZYtW8Lf3x/FihXL0f4VlISEBGzZsgWHDh1CZGQkdDodPDw88M4776Bfv36inP39/XHjxg0AwKJFi9CpUyejbc2dOxcBAQEAgA8//BDffvut1c9Xsl2DO3fuICgoCJcuXUJoaCiePHki6pXlypWDt7c3unfvjtq1a%2Be4HMyxdN0ICQlBly5djH6nV69eJrdl%2BP07d%2B6I%2B4aNjQ0OHz6MChUqKNqfrVu3inItW7Ysjh07luuptqbKXqvVYs%2BePQgMDER4eDieP3%2BO0qVLo169eujVqxdatmyZq8%2By5vLlywgMDMS5c%2BcQGxsLrVYrruNt2rRBz549zdZhcvs9qKVQBNgajQYuLi6i8pSYmKjo9yIjIzF16lScOnXK6LXY2FjExsbi1KlTWLlyJX744Qf4%2BPhY3F7Xrl3NzpGNj48Xmc83bNiATp06Yfbs2YoC95iYGIwePRqXL1%2BWPR8VFYWoqCgcP34czZo1w08//WR1W2rYs2cPpk2bZpSIJzQ0FKGhoQgMDMSGDRvEjfTq1asYOXKk0fDGqKgobNu2DXv37sXixYvNVu4N8qp8pXbu3InvvvsOqampJv%2B2zZs3Y/LkyWZPsPzerhJpaWmYPXs2Nm3aJHs%2BNTUVwcHBCA4OxpYtW7B69Wq8%2BeabVre3fft2/PDDD%2BJ8M7h37x7u3buHLVu2YNy4cSIQywt//fUXpkyZghcvXpjdh6%2B//tqoMp7f4uLi0LdvXzx8%2BNDk68%2BePcOzZ89w7do1rFmzBh988AEmTpxotiJW0Jo3b45KlSohIiICL1%2B%2BRGBgIPr372/19/R6vSyg7tmzZ64%2Bv2vXriLA3rdvn%2BIA%2B8iRI%2BJ4LV68uNG1Rq/XY968eVizZg0yMzONfj8uLg5xcXG4ceMGdu3ahXXr1smW0VLDhQsXEBkZCQAoU6YMmjZtCiBrHrabmxvi4%2BMRGhqK4OBgo8SfUl26dMFPP/0EvV6PsLAwXL9%2BXVHFUKvV4ujRo7LtmHPixAlMnz4dERERRq9FRkYiMjIS%2B/fvR7169fDzzz%2BjfPnyVj/fIDo6GmPHjjW635kyZMgQBAUFmXwtISEBCQkJuHv3LrZu3YoWLVpgwYIFcHNzs7pdc/fcx48f4/Hjxzh9%2BjQ2btwoGoxyIi/LLifM/Y0xMTGIiYnBsWPHsHXrVixcuNBimd28eROffvopnjx5YvL1J0%2Be4MmTJzh37hx%2B/fVXjB49GkOHDrW4bxkZGZg9ezY2bNggRnRIGa6b169fx86dO7Fp0ybs2LHD4jZ///13LF26FElJSbLnU1NTkZiYiNDQUGzatAndu3fHjBkzYG9vb3F7AHDu3DlMnz4doaGhRq89f/4cz58/x40bN7B161a888472Lx5s9H7tm/fjlmzZhnVp4CsBhCtVovo6GgcPXoUy5Ytw48//ojmzZtb3beCdPr0aYwfP97omAgLC0NYWBh27tyJYcOGFXiOEJ1Ohx49euDu3bsmXzfUK2/evIn169fDz88Ps2bNEtN2CpsaNWqgfv36uHLlCjIzM7Fz507F90jp%2BePv769qHqt79%2B7hyy%2B/xP3792XPR0dHIzo6GgcOHICfnx9%2B%2BOEHFC1aVJXPTEpKwtSpU/Hnn38avSa9jv/yyy%2BYMmVKocxvUihqgXq9XlbRdnJysvo7t2/fxtChQ2UXAEdHR1SvXh3FihVDbGwswsLCAGTdIEaMGIGFCxea7PUwkAZ/dnZ28PT0hKurK2xsbPDs2TOEhYUhIyMDQFam2CdPnmD9%2BvUWe57j4uLw8ccfyw5Me3t7eHl5oVixYggLC8PTp09x%2BvRpfPHFF6r2EJpy9OhRTJgwAXq9HsWKFYOXlxeKFi2K0NBQxMXFAcjqURg6dCh2796Ne/fu4ZNPPkFycjJsbGzw5ptvwtXVFY8ePRJBR0pKCkaPHo3AwEBUrFjR7GfnRflKHT58GBMnTgSQlVDMy8sLzs7OePjwoVi%2BSKvVYsqUKbCxsYG/v3%2BBblepyZMni6Glbm5u8PT0hI2NDe7evSvOm5iYGAwbNgyBgYEWe7K3b9%2BOKVOmyJ4rU6YMqlSpgpSUFNy9excpKSmYO3dunrW0Hz58GF999ZX4rgGgdOnSqFq1Kl6%2BfImQkBCkpaVh3rx5iq4FeUmr1cqCawcHB3h6eoreltjYWISHh0Ov1yMzMxMbNmxAfHx8njeWubm5iRZjaYDSuHFjkxVLQ8OLRqNB7969xf5t375dUYB96tQpMbLIwcFBtLLnlK%2BvL%2BbPn4/MzEyEh4fj2rVrinqcpMFwx44djf7GH3/8UfSQAFmt/1WqVIG7uztsbGzw4sULPHjwQATppir9r0raAOHn5ycqOHZ2dujcubNoINu9e7fFALtcuXJo1KgRzp07ByDrb1cSYEsbIVxdXdGqVSuT7/vjjz8wdepU2fnn7u6OSpUqwdbWFg8ePBD31atXr6J///7YtGmTop6Uly9fYujQobh37x6ArGtL5cqVkZaWJu7HUrdv3xY/FylSBJUrV4abmxvs7OwQHx%2BP%2B/fvQ6fTAQBOnjyJAQMGYMeOHRavTfHx8Ub3XDs7O3h5ecHJyUk0bAcHB2PIkCHo0aOH1b/LIC/LLifS0tLw6aefivIzXMO1Wi1CQkJEmZ0%2BfRrDhg3D2rVrzV5Lnz59KqtHOTs7o0qVKnBxcUF6erqoRBs%2Bd/78%2BUhJScGXX35pdv9mz56N9evXi8c2Njbw9PRE6dKlodFoxPloCEpNNYoZ6PV6TJ06Fdu3b5c97%2BnpiTJlyiAtLQ0hISHQarXQ6/XYtWsXoqOjsXr1atjZ2Znd7p49ezB58mRRVkBW3ax69eooXrw4kpOTERYWJgJ6cx0/4eHhsuDa3d0d5cuXh6OjI1JSUhAWFoaEhAQAWQ0Lw4YNw2%2B//ZbjERn55cKFCxg%2BfLhsWUFXV1dUq1YNOp0OoaGh0Gq1WLlypWrBVG5lZmbKgms7OztUrVoVJUqUgI2NDZ4%2BfYqwsDBxfAUGBuLp06f4/fff8zSRspOTk7g/nz17VhxjDRo0MHkeSkc29unTB1euXAGQdU/54osvrO5rSEiIWOZYo9HkugHclISEBHzyySeig61ixYooX748EhISEBoaKivb5ORkLFu27JVH47548QIff/yx6EUH5HXviIgIPHr0CEDW9X7cuHGIj4/HRx99JNvOq3wPaigUAfaNGzdkF6jq1atbfH9iYiJGjBghbgrlypXDhAkT0L59e1nPUVhYGGbOnImTJ09Cp9Nh4sSJePvtt822KBcvXhz%2B/v5o37496tWrZ3RxTkhIwMaNG7FixQrodDpcvHgRv//%2Bu8XW3O%2B//152ox84cCBGjhwpKuiG4UnTpk3DpUuXTFZC1JKZmYkJEybA1tYWX331FQYMGCBa8jIyMhAQEIAff/wRQNYJu2vXLqxZswbJycno1q0bxo8fD3d3d7G9EydOYPTo0UhOTsbLly%2BxZMkSzJ071%2Bzn50X5Sv%2B2yZMnAwB69OiB8ePHo1SpUuL1oKAgTJkyBY8ePYJer8d3332Hhg0bWh3anlfbVerw4cNISEhA%2BfLlMWXKFLRt21ZcbHU6HVavXo2FCxcCAB49eoQ1a9aYrfiEh4eLIU1A1nkzffp0%2BPj4iKGMycnJCAgIwPLlyzFnzhzVb0JPnz7FxIkTRQXVzc0N06dPR/v27cVnvXjxAkuWLMG6deswe/bsAl9RwN3dHb169UL79u1Rs2ZNo/2JiYnB6tWrsW7dOuj1euzfvx/t27dXPDwzN2rWrInVq1cbTTuYP3%2B%2ByWkHUv7%2B/li8eDHS09Nx48YN3L59G2%2B99ZbF35G2jnfs2FHxsPLsPDw80LhxY5FnY9%2B%2BfVYD7ISEBFkjQvae2ZiYGKxZs0Y87tevH0aOHInSpUvL3qfX63Hr1i0cPHhQUe9qTrx8%2BVIMkwZg1ADRtWtXEWAHBgZiwoQJFnvYunTpIgLsP//8ExMmTLB6HlhrhACAS5cuyQLEJk2aYNy4cbLvQK/XIygoCNOmTUNUVBQeP36M8ePHY8OGDVb3ISAgAMnJyahevTqmTZuGxo0bi9fS0tIQHx8ve7%2BjoyP69euHTp06wdvb22ifk5KSsGPHDixatAharRahoaFYtGgRvvnmG7P7kP2eO2DAAIwaNQolSpQQz128eBFTp07FvXv3zK5ykl1el11OrF27FvHx8fDw8MDMmTNl1/C4uDgsWLBAnLPBwcH46aefMHXqVLPb8/T0RO/evfHuu%2B/ijTfeMHr93r17WLJkiZjqsHz5crRr1w41a9Y0em9ERAQ2btwoHn/00UcYMWIESpYsKXtfZmYmbty4gYMHD4pRLaasWrVKFlz369cPw4cPR7ly5cRzaWlp2L59O%2BbOnYvU1FScPXsWS5YswdixY01u8%2BrVq7LgumTJkvjqq6/QpUsXWeONXq9HcHAw9uzZg6tXr5rclkajQZMmTdCtWze0bt3a5HXn7NmzmDNnDm7duoX09HT873//w%2BHDhws8QM0uOTkZ48aNE8G1k5MTJk%2BejG7duom6tVarRUBAAJYtW4bly5fnaGpaXnB1dYW/vz86dOiAOnXqGI0ei4uLw4YNG7By5UrodDqcOXMGGzduNArG1FShQgVxXWnSpIloYJk8ebLFxlUAeP/99zF79mwkJiYiOjoaJ0%2BeNNtYaiA9P5o3b26xoyunfv75Z8THx6N69er4/vvv0aBBA/FadHQ0ZsyYgWPHjgEAjh07hrVr177y6McZM2bIguu%2BfftizJgxsmvImTNnMGXKFERERECv12P27NmoW7eubHrpq3wPaijwJGd6vR5Lly6VPdexY0eLv/Pjjz%2BK3hRPT0/s3LkTnTt3NjqxqlatipUrV4oWjMTERCxfvtzsdo8fP46JEyeiYcOGJls%2BXV1d8cUXX4j5cQCwfv16pKenm9ze5cuXsX//fvH4008/xeTJk2VzjWxsbNCxY0cEBATAwcHBqAKiJsNIgXnz5mHo0KGyYTK2trYYNmwYunXrJp777rvvcPfuXfTr1w/z5s2TBddA1tBHQ88uABw6dMjkMCkDtcs3%2B9%2BWkJCA3r17Y86cObIgGABatmyJ9evXi3mXqampmDdvXoFtV6mEhAS4u7tj8%2BbNaNeunaySZmdnh%2BHDh8t6IHft2mV2WwsWLBBD3EuUKIF169ahdevWsnmCTk5OGDlyJCZOnIiUlBSjYeSvavHixaLX3cHBAQEBAejYsaPs7ypevDgmT56MTz/9NE/2ISc8PDxw9OhRjBkzBm%2B//bbJSrKHhwcmTZqE//3vf%2BK533//PT93M0fc3d3x7rvvisfWhmYmJCTg8OHD4nHv3r1f6fOlAfKff/4p6w005eDBg6IiXLZsWTRq1Ej2elBQkLhGNG7cGNOnTzeq5AJZFeFatWph7NixsoBcDYcOHUJycjKArNEC2QOPBg0aiEa3hIQEHD9%2B3OL2OnXqJK6RsbGxOHv2rMX3x8fHy6ZKmRphkJGRgW%2B%2B%2BUaUt5%2BfH9asWWPUwKHRaNCqVSts3rxZXO8uXryIv//%2B2%2BI%2BAFkVdE9PT2zcuFEWXAMQc2Wl9uzZg%2BnTp6NZs2YmGwScnZ3x8ccfY9WqVeLc27Ztm9EwYYPr16%2BLOegAMHToUEydOlUWXAOAt7c31q9fjwoVKii65%2BZH2eVEfHy82Wt4yZIlMWvWLPTr1088t2nTJjGqILtGjRrh4MGDGDp0qMngGgCqVauGn3/%2BWZz7GRkZWLt2rcn3njhxQvRqtWzZElOmTDEKroGsuk%2BdOnUwfvx4rFq1yuS2Hjx4gMWLF4vH3333HaZPny4LroGsY%2BvDDz/E8uXLxXESEBCA2NhYo20aOhqk15StW7eiT58%2BRiMjNBoN6tati6lTp5r9ez///HOsW7cOPXv2NHvdadq0KTZt2iQaMmNjY2V1w8Ji9erVomfQ1tYWy5YtQ8%2BePWV1a0dHR3z55ZfifHj%2B/HlB7S7s7e3xzz//YMKECWjQoIHJqVklS5bEqFGj8MMPP4jn1q5da3HUREEqVqyY7B5p7f6clpYmS56p9jTF%2BPh4VKxYEevXr5cF1wBQvnx5LFu2DG3atBHPLVmyRASyuXHhwgVZY/HgwYMxY8YMo2tI06ZNsXHjRnFPycjIwPTp03P9uXmhQAPsiIgIjB49WrR%2BAFk3LlOtogZxcXGyIGLu3LkmL94GRYoUwYwZM8SJt2/fPrM3Z6XzfTt27CgOtMePH4skWNlt3bpV/Fy5cmWLcylq1aqVp3NeDdq2bQtfX1%2Bzr/ft21f8rNPpUKpUKVkQnV3Xrl1FuWm1WtmQv%2BzULt/sSpUqZbFno1KlSrKM9UePHjV5A86v7Sr1zTffWOyVHDRokPg5MjLS5Gc/e/ZMNj/zyy%2B/tNjL/tFHH6newpecnGx04axVq5bZ948cOVK1kQC5ZWdnp2guHwB8/PHHsrwFz549y8tdeyV9%2BvQRP%2B/du9cot4DUnj17kJaWBiCrQTN7gJtTHTt2FD03T58%2BtbpqhDRgkg69NjBM0wCAd955R9E%2BqJ1Q0lRys%2ByklSZLDWGA8Txza/PFDxw4IAKGChUqwNvb2%2Bg9hw4dQnh4OICsIcXff/%2B9xV5VDw8PWQ%2BgqfmnpkydOlVxAjml94SGDRuiXbt2ALKuI%2BYaHLZt2yZ%2BrlChAkaPHm12m6VKlZI1ilmSX2WXE19%2B%2BSU8PT3Nvj5hwgTRKJ6ZmSkrG6lixYopTsb29ddfi7qUtN4mJc3VYuo4NMXc%2Bbh27VpxXL/33ntWp7O0bNlSnGc6nc5kcHLkyBHZSME5c%2BYous%2BYG2Kv9Bh2dHQ0qicUJhkZGbLy6tmzp8Vh7AMHDsxxsl%2B1aTQaxVPZunbtKuobERERCAkJyctdeyXSeviRI0fE9E1TDKMcgawRge%2B9957q%2BzNp0iSzcZatrS1mzJghOuy0Wu0rrZYhzTVUuXJli/P8PTw8ZPHJjRs3VB%2Bd9iryPMC%2Bc%2BcOhgwZIvs3cOBAdOzYEe3bt5cNq2vRooVsCKspBw8eFJXBevXqoX79%2Blb3oUKFCqLilZKSYnaoT05IW66Dg4ONXtfr9bILaO/eva1W1D/44IM8Hw5rrXWrdu3asn3w9fW1mBCiaNGiItszAKMkCLllrXxN6datm9XhSv7%2B/uKGmJGRYbaSkB/bVaJEiRIWs2cCWSM1pD3rpr6DU6dOiYqKvb291XmHGo1GdpFXw%2BnTp0VvtI2NjdXKkr29vSwQLOwMPTIGSo/bgtCyZUsxL/T58%2BcWe9iklS41WsddXFxkLd6WgsdHjx6JdaUB04m7pMMszSVRzEuPHj0SjQQajcZsshVp4P3vv/9arDRlf/%2BhQ4dEI4cp0jL08/MzGTBJKz2meutMef/990VAdenSJYv7AGTda1u0aGF1u7mh5J7w77//ip/9/f2t3nPbt29vstcxu/wou5xwcHCwOs/S0dFRlg9EOgolt9zc3GQjMUwlf5SWuaUGd2syMzNljWsDBw5U9HvSa4Sphhhpz3GDBg3ydS60NCAtbPeH69evyxpHPvzwQ4vv12g0%2BOCDD/J6t1SVm3plQXjrrbfEvup0OosBq/T%2B3K1bN8UdAkqVL19eNuLNFA8PD1lgn9trTWZmpqzu3K9fP6t/T6dOnWQdUEeOHMnVZ%2BeFPJ%2BD/fz5c7NZQg08PT0xYsQIdO3a1WpL6sWLF8XPTZo0UbwfXl5eYk7bjRs3LFYCdDodTp8%2BjeDgYERERCAxMRGpqamyxDiG1mwARtm1Da9Lh85Ym0MBZA3drFmzpmzugdqstTgWLVoULi4uYt%2BVNGBIKyjZs0Kbokb5mqKkjIsVK4ZGjRqJIZrBwcFWA8m82q4StWvXVpSR2sPDQ/SYmkrGIr2ZvP3224rm0Obk/FJCug9eXl4oU6aM1d/x8fEReQEK2suXLxEUFIQbN24gOjoaSUlJRj2/0gBP6XFbEAzJzgzLOO3YscNkYHjt2jXR0l%2BkSJEcJYSypGvXrqJx9dChQ5g%2BfbrJ%2BYiBgYHiuuDl5WVyrrg0AdixY8ewYMECfPrpp7meJ55Te/bsEcMNGzVqZDbHh6enJ%2BrWrYtr165Bp9Nh3759stEn2bVt2xYuLi5ITExEYmIijh07ZnL6VHR0tKzV3lQjhF6vx6VLl8Rjpee2o6MjKlSogPDwcKSmpuL%2B/fsW5%2Bs3aNAgV0tTZWRk4Ny5cwgODhaJpV6%2BfCm7JxiGrgKmz62nT5/K3qPkb7S1tYW3t7esoT%2B7/Cq7nDCXpCc7Hx8fsexMZGQk4uPjLWYUj4%2BPx8mTJ3Hz5k3ExMQgOTlZlgQMgGyEVExMjFHvr/R8/Ouvv7B48WIMHjw4x3N1Q0JCRH3Czs5O8egULy8v8bOp0W/SBjvDcpxqCQ8Px5kzZxASEoK4uDgkJyfLpsBIhyXHxsZCr9fn%2BVJuShmSZAFZdTolx6q1lXnyU1pamqxeabg/S68h0pELhfn%2BDGQ15Bm%2Bkx07duDjjz82ek9UVBROnz4tHr/q9DF7eGgAACAASURBVC1TmjdvrugYbdWqlWgQu3HjRq6O7bt378qmBCo5vjQaDVq3bi1GDKvRgaqWQpHkLDIyEqGhoYq%2BDGnGwCNHjigePiwN2MzNuUpPT8eaNWuwatWqHM0hMBXQSFt2bWxsFK%2BPW7169TwNsC0NpzdwcHAQAbbS9xtIM09mp2b5mqJkiSogq4wNgbD0uMjv7SqhpHcFkH8HpubBSyueVatWVbTNSpUqwc7OzqiClVvSc0Jpmb7xxhuwtbW1Ok83L6WkpGDp0qXYuHFjjuaDKz1uC0rPnj2xdOlSpKen48yZM4iIiDBay13aOt62bVvFx6M1Pj4%2BKFGiBJ4/f47k5GQcPXrUZFI4aQ%2BWuWWnmjRpglq1aol7wcqVK7Fu3To0b94czZo1Q4MGDVCrVi3Vh4UbSIeHW1oay/C6odK0e/duiwG2vb09OnTogD/%2B%2BANAVlmYCrCljRBvvfWWyXPryZMnsmvuokWLFC9V8/TpU/GztfnK2Y8fa/R6PbZt24YlS5aYXSbKFFPTvAyZrg3MzSfOztr78qvsciIn9ySphw8fmgyw4%2BLiMH/%2BfOzbty9H13tT17iWLVuievXqYumrZcuWISAgAC1atBDno6lkkdlJl87SaDQYPny4on2S3itevHiB9PR00UidlJQkO87Uyhp8%2B/ZtzJo1S3TiKJGZmYnk5OQCTxJmkJv7c8mSJVGyZEmro3Hykk6nQ0BAAAICAnJUrzQ3VbSw8PX1xZw5c5CUlIS7d%2B/iypUrRh1ef/zxh2i0adCggdUE0bmh9FiQvi8pKQnPnj3LcX1BuvShnZ2d4mu4dBStqeUTC0qeB9iNGzeWLdeQnp6OmJgY3Lp1CwEBAbh48SLS09OxcuVKpKenY8KECRa3Jz2BDGvm5pSpE0un02HkyJG5GtprauiXtCfX0dFR8bANpXPXcsPW1jbHlUxLy1yYYm75G7XL1xSlZSd9n5Ie97zarhI5LX/A9HcgrQhJk%2BxZotFo4OzsrFrFUFomSsvUzs4OTk5OqpVnTiUlJeGTTz6Rte4rpeaQ0LxQpkwZtGnTBocPH4Zer8cff/yBMWPGiNdfvnwpG06pZuu4vb09OnbsKOaF7tu3zyjADg0NFUNMNRqN2dwRGo0GS5YswbBhw8T0iJSUFBw9elRM03FxcUHLli3Ro0cPozW0X8WVK1dEr4i9vb3V6Ry%2Bvr6YO3cu0tPTcfPmTdy5c0dWOciuS5cuIsD%2B559/kJiYaNQzLx0ebi7Az17xlPbi5YS1RqOcLKun1%2BsxadIk2fJmSpk6t7Lf15WOYLB2PcyvsssJpddPw3JFhkq4qYRUUVFRGDBggFEDhRKmvgdbW1ssX74cw4YNEw3NL1%2B%2BxOHDh8XQ0eLFi6NVq1bw9/cXSWizk5Z7Wlqa1ZGQ5iQlJYnyyv73K%2BlAsObEiRMYMWJErq73hekekZv7s%2BG9BRVgp6Wl4fPPP8/VsVGYyt4UR0dH%2BPn5YcuWLQCyGrulAXZmZqYsl4fayc0MclP/BbLOtZwG2NJj0MXFRXG8Im00LMike9nlew92kSJFUKFCBVSoUAHt2rXDt99%2BKypZAQEBaNq0qcUKkKUs1UqZyh64atUqWfD3zjvvoFu3bqhTpw7KlSsHJycn2RDGhQsX4pdffjH7GdJW4JwESWrPnygs1C7f7DQajaKh1IC8jK1dZPNqu/ktt%2Bv%2BqrlesLRM/ivnxOzZs2XBdevWrdG5c2fUrFkTZcuWNWo8GzdunNWEVIVJnz59RKV3165dGDlypLipHThwQAQtZcuWNVsRzq0uXbqIa/%2B///6L58%2Bfy7I9S8uxYcOGFtcSrlixIvbs2YPNmzdj%2B/btspFOQFZwc%2BDAARw4cAANGjTAggULVFmbWFrBycjIQPv27a3%2BjvT%2Bs3v3bouNyk2aNIGHhwdiYmKQlpaGv/76S1aRCgkJEUP4bWxszM7/VuO%2BmX3fTclJDpEdO3bIguuaNWuiZ8%2BeqFevHsqXLw9nZ2cULVpUjGzbsGGDxRwteXWNy6%2Byywml10/D/ctw7TV1Xxo/frwIrosUKYLOnTujXbt2ePPNN%2BHh4YGiRYvKrnH%2B/v5WR9lVqVIFe/fuxebNm7Ft2zajvCAvXrzA/v37sX//fjRu3Njk8oJqrR4hLffsf/%2Br3lvi4uIwduxYsd3ixYujV69eaN68OTw9PVGyZEk4ODiIa2pycrLioe757b9YZ122bJksuG7UqBG6du2K2rVro2zZskb1yrlz5yIgIKAgdjVX%2BvbtKwLs/fv3Y%2BLEiaIRMygoSJy3Tk5OeP/99/NkH5R%2Bv9nfl5uRj2rUEdUacamGAh0irtFo8O233%2BLq1ati7uL06dNx8OBBs1%2Bqi4uLaOWYP3%2B%2B2YytOZGeni5bVmfQoEGYNGmSxd8xLMlijnTYj7X35mS7/0V5Ub7Z6fV6aLVaRT0o0m1b6%2BXIq%2B3mN2kvjdLeYL1er%2BrxWNjOCWsV3mfPnskCgIkTJ5qcByX1Xzt/W7VqhQoVKog1e4OCgkQDp3R4uL%2B/v%2BpDrA3zlaOjo6HT6fDXX3/JktopGR4uZW9vj0GDBmHQoEGIjo7GuXPncOHCBZw6dUos6whkLZ84cOBA7N69%2B5XO07S0NLEuMJAVYOd0eZJ9%2B/Zh3LhxZsvWxsYGvr6%2BolK4b98%2BWYAtbYRo1KiR2dUGsv%2BdZ86csTgXNz%2BsXLlS/Ozn54d58%2BZZPMasnVvZ/8bExESjZRVNsdazXBjLTul1RqfTySqt2f%2BWCxcuiLw2Go0Gy5cvtzrCQ%2BlnOzg44JNPPsEnn3yCyMhInD9/HufOncOZM2dkveXnzp3DoEGDsGvXLllGbuk9y8vLS5WGy%2ByjFV51VMGWLVvE/bR06dLYtm2bxYa7wnx/KGz3Z2sNX2lpaVi3bp14PGzYMIwbN87i7xTm8jelVq1aqF27Nq5fvw6tVosDBw6I67/0/uzr66s4m31OKS2z7O/LzdQH6fUpJ9%2BVdPRSYap7F/g62HZ2dpg6dap4HBUVZXFJC%2BkNU615rsHBweIi6ejoiK%2B//trq71hbhkk69CgtLU3x/LLIyEhF7/svyYvyNUVaibZEWsZKhojl1Xbzk3TdUGmiD0siIiJUbQ2UnrtKyzQuLk5RD5K0tVPJuumA9crV6dOnRRBepUoVq8E1kLvjtiDZ2NjIshEbbtphYWGyire1jMW5kX3Yt7QCfenSJXE%2B2dnZmZx7bEn58uXRvXt3fP/99zh69Cj%2B%2BOMPscwTkHWuSpcDyY3Dhw%2B/8nC0J0%2BeWB3eKG1EPnfunEjOo9frZUP4LTVCZA801bp35lZERISY82ljY4OJEydabcCxdm5lTy6ndEULa%2B8rbGUH5O6eBBj/LdK101u3bm01uNbr9bJ55UpVrFgRPXr0wOzZs3Hs2DFs375d9lkPHjwwWkZMuq%2BRkZGq5OEoUaKE7F7xqt%2BltPwGDx5sdVRMYb4/SOssSo%2Bv9PR02TKJ5uTm/mzt2nrp0iUxyqFEiRIWl%2BQzKMzlb440Wa7h/hwXF2e0SlFeURqTSN%2Bn0WhyVQeW/k5SUpLiBmtp/oDCVPcu8AAbyGp5lw4/XLlypdlkWdIs2NLsea9CmgDKy8vLZDZbKb1ebzVT3VtvvSUbLqdkSYDMzMw8TXBWUPKifE1RuuzC9evXxc9Kkpzk1Xbzk3T5qBs3bihK8GFurdnckq5vf%2BPGDUVDJpXOfZaOMFDSQ//w4UOLCfkAedIkaWZcc7Rabb4vE5V9SG5uhsn26tVLBDfHjh3Ds2fPsH37dvF68%2BbNUbFixVfbUTOkQeH58%2BdFZU3ae%2B3j4/PKuSlq166NpUuXomHDhuK53M7pNJAmN%2BvevTvu3Lmj%2BF%2B3bt3E71pbE7tmzZoieU1mZib%2B/PNPAFkrahgqwoY57eaUKFFCtmayWvfO3JLeE8qVK6dorp619U1Lly4ta0hUcv3KyMiQrUxiSmErO0D5PUn6vmLFihkluJR%2BD9J7hDkhISGqJIeqW7cuVqxYIVs2Kfv5KK3rabVaXLly5ZU/t0iRIrJr%2Bfnz519pe9J7hJLyK0xr9GZnWCMayMpvpKQH8fbt24oa4aX3ZyWNkklJSbJj0xTp6zVq1LA6pDgzM7NAMkxL79G5uT/7%2BvqK8rt8%2BTLu3buHPXv2iHL38vKSnUdqk9ZrLZFeazw9PXPVoy6tIwLKM4JL3yc9jqVe9XvIjUIRYAPA559/Ln5%2B%2BvSpSLmenTQQv3TpkioVWukFQkkm89OnT1tttXNycpIdLIZKkSVnz54VSy39X5IX5WuKkjK%2Be/eumLMIAN7e3gW23fzUokULcQNKS0uzWqkHYNSj8KqkwU18fLxYO9gSaQ%2BdJdLeKyXXBCVrJUpb2pUct/v378/3%2BT82NjayBitrjQameHh4iN4knU6HHTt2YM%2BePeL1vEqeAmRVjAzL6uj1egQGBiI9PR0HDx4U71EyPFwJGxsb2Xqer3Ktzd7znNMedmkytCNHjlhtFJKWgaGnX9oI0aZNG6vJuqT3zh07dijuScoLOT237ty5o6jxWbqsy65du6zmwjhy5IiiHtnCVHZAVo/vrVu3rL5Peu%2BqX7%2B%2B0SiBnF6vpI1Kr8rW1hZt27YVj7Ofj2XKlJEtuWWYi/qqpOte79%2B//5WGDef0OFZy3y0oDRo0EEGITqdTtJax0vuztOFLWk8y59ixY1Yb4HNa9sePHy%2BQZGzFihUTP2df1lMJJycnWW6NHTt2iMSXQN72XgNZcYmScpNea3Jb/3V1dZVlI1dyfMXGxsrqktJ6ptSrfg%2B5UWgC7IYNG6Jx48bi8W%2B//Wby5ujj4yNaYfV6PaZNm/bKCaWk6/HeuXPH4gU3LS0Nc%2BbMUbRd6dC%2BP//80%2BKFJTMzE4sWLVK03f%2BavCrf7IKCgqxmeP3pp5/Ez%2BXKlUPTpk0LbLv5qWTJkrLgYunSpRaXM9i4cWOuMmdbUqNGDVmj0%2BLFiy3eRENCQhTfwKWtlpcuXbI4JeP58%2BeKEp24u7uLn69cuWJxX58/f15g56%2B09086VConpMPQli1bJoIOV1dXvPfee6%2B2g1ZIg8fAwECcPHlSVLadnZ1lx60pOWmNliZOkiZUy6m9e/eKIatOTk45TgDXsmVLMUctLS3NaiOen5%2BfqETeuHEDISEhskYIJblIPvroI1GBjoyMxNKlS3O0z2qSnltRUVEW16TNzMzErFmzFG1XOoff2t8YFxeHuXPnKtpuYSo7A8Ma9uZcunQJ//zzj3hsag176fdgrXf13r172Lhxo9X9UvN8HDhwoPg5MDDwlUedAEC/fv1EY/OLFy8wb968XG9LWn7StdJN2blzZ6Eeoeju7o7mzZuLx8uXL7dYt378%2BLHiRg/piL779%2B8bJaGUSk1NxYoVKxTtr8HNmzctNi6npqa%2B0vf8KqT7qcb9eePGjaL87O3tVclDZYlOp8OSJUssvicwMFAW35i61iglnY4WGBgoVhIxZ%2BHChaKxxdHR0WyyNzW%2Bh5wqNAE2IO/Fjo2NlU3iN7CxscH48ePF48uXL2P48OFWeyNevnyJnTt3YvDgwUav1atXTyRV02q1mDt3rsmbRFJSEkaNGqW417xnz56i8puRkYEvvvjC5LCXjIwMzJgxo1APH3oVeVW%2BpowZM8bk0m16vR6LFy%2BWzVsZOnSo4qy3ebXd/PT111%2BL3s6EhAQMHDgQJ06ckL1Hq9Vi6dKl%2BP777%2BHg4CBr9VPDsGHDxM%2BXL1/GjBkzTM6ti46OxhdffKF43p23t7eYe5Oeno4ZM2aYDIhfvHiBL774QtFcLGmDX2RkpCwpk9SzZ88wdOjQHK3jqyZp5WXTpk25anD08fERvQzS1t1u3brleZbYLl26iODx1q1bsuClQ4cOVqeUzJw5EwsXLrQ66iUiIkJWIWzUqFGu91nak9e2bdscl5G9vb2s985az2DFihVl2YenTJkils8rXry4oqXHPD090a9fP/H4l19%2Bwc8//2y1FzMmJgaLFy9WtYJavXp1cb7q9XrMnDnTZK9wWloaJk2apHi6Su3atWUNNr/%2B%2BitmzZplNCz18uXL%2BOijjxAZGakoYVlhKjuDf/75BwsXLjR5L33w4AHGjBkjXqtcubLJJeSk17igoCD89ddfJj/r/v37GDZsmKKen2%2B//RaLFy%2B22Ghi2EfpVBRTPU/du3cXjbKZmZkYOXKkLLGgObdv38bEiRNNNlx5eHhgwIAB4vGWLVswb948i9fNJ0%2BeYMOGDUbPS8svICAADx48MPn7hw8fxrRp06zud0H79NNPxc8PHjzA%2BPHjTZZLXFwcRowYoTjTe7Vq1WRrGs%2BYMcPkdlNSUjB27FhFy%2B82aNBArPCSmJiIH3/80eT7EhMTMWLECMU5GdQmbfzfvn17rkZMvP322%2BI%2BLz0H27dvn6dL%2Bxps2rTJbGPKlStX8O2334rH3t7eZnuRlejZs6cIhjMyMjBixAiznUG//fabLBHtgAEDzCY5U%2BN7yKkCzSKeXfPmzVG/fn0x12bVqlXo3bu30dyKdu3a4bPPPsOvv/4KADh58iTatWsHX19fNG7cGGXKlIGtrS1evHiBsLAwXLt2DUFBQdBqtfDw8DD6XEdHR/Tq1Uskvdm6dStCQ0PRq1cvVKpUCVqtFsHBwdi2bRtiYmLg5OQEHx8fqxd6FxcXTJ48GV999RWArFaTLl26oH///mjYsCGKFi2K%2B/fvY/v27bh58yaKFi2KFi1ayIK1/wvyqnylbG1t0a5dOxw6dAj%2B/v7o06cPmjVrBmdnZ4SHh2PXrl2yuXb169fHBx98UGDbLQhVqlTB1KlTMWXKFABZQezQoUPh4eGBKlWqIDU1FSEhISKp2DfffIMVK1aIx2oEWr6%2BvtizZw%2BOHz8OANi8eTOuXr2K3r1744033kBqaiouXLiAzZs3IzExEY0aNcKDBw%2BsBq92dnYYOHCg6NU5dOgQ%2Bvfvj379%2BqFixYpITk7G5cuXsW3bNsTFxaFZs2YIDQ21uN0qVaqgdevWYl8XLlyIK1euwM/PD2XLlkViYiLOnz%2BPHTt24Pnz5yhbtiyqV6%2BuSi9LTvj5%2BeHQoUMAsirdrVq1wltvvSWb99aiRQt8%2BOGHZrdhY2ODXr16GbVU5/XwMyBrxEejRo1w7tw5APJ590pa51%2B8eIGNGzfi119/xTvvvINGjRqhRo0aKFmyJIoUKYKnT5/iwoUL2Llzp7ipuri4WCwPSww9yAbW1r42p1OnTmK49%2BXLlxEWFmY0R1aqS5cu4lojnXPWsWNHxefmxIkTcfPmTVy5cgV6vR4rVqzAnj174Ofnh7p168LNzQ06nQ7x8fG4c%2BcOLly4gEuXLiEzM1PVqQIajQYDBgzA4sWLAQB///03evfujb59%2B6JatWpISUnBrVu3sH37djx8%2BBB2dnbw9fVVNER58uTJuH79ukjmuG7dOmzevBleXl5wcnJCVFSUmLterVo19OjRQ1TOLZVjYSk7IKvh6ejRo/jll19w9uxZ9OzZE5UrV4ZWq8XZs2exdetWEfzY2Nhg%2BvTpJhuqfHx84OnpKQLDMWPGoHv37nj33Xfh5uaGuLg4BAUFieH2devWRUpKisXReM%2BfP8e2bduwYsUKNGzYEN7e3qhRowbc3NxQpEgRxMbG4sKFC9i1a5fYR1dXV/Tv399oW3Z2dliyZAl69%2B6N%2BPh4aLVajBkzBqtXr0aHDh1Qo0YNODk54eXLl3jy5Alu3ryJkydPimDK3EiysWPH4uLFi%2BJas3r1ahw6dEgs8VS8eHEkJyfj/v37OHPmDE6ePAlPT09ZYA4AH3zwAdavXw%2BdToeEhAT06tULH3zwARo2bAgHBwdER0fj4MGDYonS3r17yxoVCpsmTZrA399fBC0HDx5ESEgI%2Bvbtixo1aiA9PR1Xr17Fpk2b8OzZMzGc11KPtMHgwYNF3ePcuXPo2bMnBgwYgKpVqyIlJQXXr1/Htm3b8OjRI9SqVQtpaWkIDQ01u70SJUqgW7duYrj0%2BvXrcefOHfTs2VPc869cuYLt27fjyZMnKFGiBJo2bWq2ESmv%2BPn5ibrv5cuX4ePjg1q1asHZ2Vk0LNepU0fWwWhKnz59jBpp8uP%2B3LlzZxw4cADTpk3D4cOH4efnh/Lly%2BP58%2Bf4999/sXPnTtE46uDggOnTp7/S5xUvXhwzZ87E559/Dr1ej6ioKHTt2hV9%2BvRBkyZN4OzsjIiICOzevVvUGYCsuegjR440u121voecKFQBNpDVi/3ZZ58ByAoAdu/ebfIgGjt2LFxdXTF//nxkZmbi5cuX2LFjh8lebyW%2B/vprXLhwQdw4Ll68aDL5SdGiRTFv3jzFSUbef/99REZGYsGCBQCyWtNWrlxp1BtmY2ODb7/9FhEREf/nAmwg78pX6vvvv8f9%2B/cRGhqKdevWyZZwkKpWrRpWrFihuJc5r7ZbEHr37g29Xo8ffvhBBM4xMTGy3gZbW1t8/fXX6N%2B/v2wYolrLH/z000/45JNPROXm5s2bJi/K5cuXx/z582XDoywZMmQITpw4IY6rK1eumEyM4%2BXlhYULF8oSTZkzc%2BZM9O7dW5TPsWPHZOu5G5QoUQKLFi0y2cuR1zp27AhfX18xnD4hIcFofruSXrpevXph%2BfLlYtRA/fr1ZfOh8lKXLl1kN0sga2pJkyZNFG9Dr9ebva5IOTo6YsmSJSYbW5WQzqN0dHREq1atcrWdVq1awcnJSQT9u3fvFo2xpnTu3BmzZs0y6jXNyRx1e3t7/P7775gwYYJolImOjjY7OiMvDRs2DKdPnxaJpm7evGmyl69IkSKYNm0aUlNTFQXYbm5uWLt2LUaNGiXOf51OZzQ8t06dOliyZImsl9PS0jKFqezq168Pb29vzJkzB5cvXzY7%2Bk2j0WDGjBmyob9Stra2WLBgAT766CNotVpkZmZi586dsl4hgwoVKuDnn3%2B2WImVyszMxLlz54zO6%2BxcXFywbNkys0uqVapUCdu2bcPnn38uAq7g4OBc1REMDN/lyJEjRSbwiIgILFu2LEfbqVSpEiZPnozvvvsOQFb97tdffxWdP1ItW7bE%2BPHjC3WADWQtlRsbGysaiu/fv4/Zs2cbvc/NzQ0LFy7EhAkTFG23V69eOHbsmMh/EhISIuv5NKhQoQKWLl2q6Dj75ptvcPnyZdGgYu54K1asGObPn68o74vavL29MWjQIKxduxZA1kjN7PuoZKSen58f5s6dKxqlKlWqlC9TETt16oQyZcpg7dq1OHHihNGoRwM7OzssXrxYlTpD27ZtMWfOHEyePBnp6enQarVYs2YN1qxZY/L9b731FgICAiw2kKr1PeREoYsE2rRpIxvyuHLlSrMJRQYPHoy9e/fi/ffft9qCX61aNXz22WeicLNzdnbGpk2b0LVrV7MBUoMGDbBt27Ycz0n89NNP8csvv5jNxFu1alX89ttveZpMqKDlZfkalChRAlu3boW/v7/JjJJ2dnbo27cvtm3blqNU/nm13YLSp08fBAYGYsiQIahevTocHR3h5OSEatWq4YMPPsCuXbswZMgQ6HQ62VJWag1FcnZ2xoYNGzBkyBA4ODgYvW5ra4sOHTrgjz/%2BkCVHscbe3h6rVq1C3759TS75Y29vj759%2B2Lr1q2K17H18PDA9u3b0aZNG5Ov29jYwMfHB7t27UL9%2BvUV76vafvrpJyxevBgdO3ZExYoVc5XBs0yZMrJyyc/rUadOnYyu4b6%2Bvooaq/r37w9/f3%2BrAXPRokXRpUsXBAYGyhId5YROp5MlF2vdurXJY1iJokWLyoaJ79271%2BI8f1dXV6O53mXLls3xUHdDA8OKFStQv359iwmC7Ozs0LBhQ0ydOlU2NUsN9vb2WL16NT788EOzGYBr1aqFtWvX5rinxsPDA5s3b8a8efPQsmVLuLu7w87ODh4eHmjWrBlmz56NTZs2oVy5crLpZdauC4Wl7ADg448/xtKlS83WK6pVq6ao7GrXro3NmzebzURsb2%2BPbt26Yffu3VaXoQKyhmn26NFDNufRFAcHB/To0QOBgYFWh5RWrlwZu3btwpQpU6yuaODs7Iz33nsPixYtQufOnS2%2Bb/Xq1ZgzZ44sS3x2Go0G9erVw/Dhw02%2B3r9/fyxatMjsvcrV1RWjR4/GqlWrxJDmwsze3h6//vorxowZIxsFZaDRaNCyZUvs3LkzR8GURqPBokWLMHToUJPne5EiReDr64udO3cqOs6ArN7OzZs3w9fX1%2BS5qNFo0KhRI6Nl4fLbpEmT8Ntvv8HPz09k2FaSmE3K2dlZduz37Nkzx9vIrUmTJmH69Olmz%2Bl69ephx44dqpZx9%2B7d8ccff6Bly5Zm6wGGc2vr1q1mG%2Bik1PgeckKjz6985XksJSVFrJ1qWDvNxcUFlSpVgpeXlyzRljUxMTE4e/YsHj9%2BDDs7O7i7u6NevXqoVKnSK%2B2jXq/HpUuXEBISghcvXqBUqVJ48803ZctRvA7UKt/w8HB06NABQFZQdvPmTfFaXFwczp07h8ePHyMjIwPlypVD8%2BbNFQWJebXd/5qrV6%2BKpEFly5YVQ6XVlJSUhFOnTokhmx4eHvD29pYFSz4%2BPqIHeePGjYrm98TFxeH06dN49OgRbG1tReK5V/meHj58iPPnz%2BPp06dwcHBAmTJl4O3tnaNrS2EWFBSEIUOGAMgKJIKCgkxWsAqzqKgo3L17F1FRUUhMTIRGo4GLiwuqVq2KOnXqWOyhfF3FxcXh4sWLiI2NxYsXL2Bvbw9XV1d4enoaTTXIy304c%2BYMoqKiYGNjA3d3d9SqVUssT5aXPvroI9GTMX/%2B/BwlDSoMZWeoV9y/fx9xcXFwdXVFzZo1c7V0z%2B3bt3HlyhUkJCTAxcUFHh4eaNy4sdUM9eZEREQgNDQU0dHR4nwsXrw43njjDdSuXTvX5RMWFobr16/j2bNn0Gq1cHR0ROnSpVGtWjW8%2BeabuQpkw8LCEBwcbCh/VQAAIABJREFUjGfPniElJQXOzs6oXLkyateurajyrtPpxMo2Wq0WJUuWRMWKFdGoUSOrS0gVVikpKTh16hQePnyI9PR0eHh4oEGDBrJAz9/fX4wOWbRokaIpMy9evMCpU6cQHR0NvV4vpglZa5Sx5NGjRzh79ixiY2NhZ2eHMmXKoF69enm2xGR%2Bu337thh1Z2tri2PHjuV6FJY15r7T9PR0nD9/HuHh4Xj%2B/DlKlSqF%2BvXr5/l1%2BtmzZzh37hxiY2ORkpICNzc3vPHGG2jQoIHJzpTC4v9MgE2vH0uBcGHc7n/Nt99%2BK5bL69SpU4Flyc5NgE05N2rUKDE/rU%2BfPpg5c2YB7xFR3nr48CE6duwoRg4cPnz4lRvSiV4nuQmwKedmzJghsvi3bdsWv/zyS559Fr9TdRS6IeJElHeUtqcFBQXJ8hn4%2B/vn1S5RIfDgwQPZuqemEg4R/Vcouc6lpqZi4sSJIrhu2LAhg2siKnTi4uJkuT94f/5vYIBN9BrZunUrxo4di%2BPHj5tdfmPp0qUYPny4SPhQt27dXCdyosIvISEBkydPFt938%2BbNZUtaEP3X%2BPv7Y82aNWLqiVRmZiZOnjyJ/v3748KFC%2BL5ESNG5OcuEhFZpdVqMWXKFJHczMvLCz4%2BPgW8V6RE4c%2B4QESqSU9Px/79%2B7F//37Y2dnB09NTJPZ5%2BvQpwsLCZL0/rq6umDt3bqHOjE4599NPPyE0NBSJiYm4efMmkpKSAGRNiRg7dmwB7x3Rq3nw4AFmz56N2bNno3Tp0qhUqRKKFSuGpKQk3L9/XxzvBoMHD0aLFi0KaG%2BJiP6/VatW4fLly9Bqtbh165bIKwUA48aNy7fkZvRqGGATvUakF2adTmdx/cpatWph4cKFFjOs0n/T%2BfPncenSJaPnx4wZgzp16hTAHhGpR3qde/r0KZ4%2BfWryfcWKFcMXX3yBYcOG5deuERFZFBwcLJYzkxo4cGCBZkOnnGGATfQa6d%2B/P958802cOHEC165dw8OHDxEXFwedTgcXFxeRFbJdu3Z499132VL6GnB2dkatWrUwaNCgXC%2BRR1SYHDx4EEeOHMGFCxcQEhKCmJgYJCcno0iRInB1dcUbb7yBpk2bomfPnihdunRB7y4RkUmOjo6oUaMG%2BvXrh%2B7duxf07lAOMIs4ERERERERkQo4sZKIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBUUKegcKkl6vR1xcMjIz9QW9K5SPbGw0KFnSid/9a4bf%2B%2BuL3/3rid/764vf/evJxkaDUqWcC3o3iF7vHmyNRgMbG01B7wblMxsbDb/71xC/99cXv/vXE7/31xe/%2B9cTv28qLF7rAJuIiIiIiIhILQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTwWmcRJyIiIiKi/KXRqJ%2BQLA82SZQrDLCJiIiIiChfFCuWDI3mherbzcoi/qbq2yXKKQbYRERERESU5zQaDTSaF9DrTwNIVXXber0DGGBTYcAAm4iIiIiI8lEq9PoUVbeo13OMOBUOTHJGREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2ERERET/j717D9OrLuwE/j0zycxkcsGkhEsMoQ1KFKQUNggoirJSL4CxKLpFxYUAWuABCXa1u%2BDTtWzVVlKtXOSmAqJdoeAqCGvZusEtN1t9sKCABAVFyyWkjGTyZpiZs38ERkISmDdzZt5553w%2BzzMPM%2BecOecrv5DH7/s753cAoAIKNgAAAFRAwQYAAIAKKNgAAABQAQUbAAAAKqBgAwAAQAUUbAAAAKiAgg0AAAAVULABAACgAgo2AAAAVEDBBgAAgAoo2AAAAFABBRsAAAAqoGADAABABRRsAAAAqICCDQAAABVQsAEAAKACCjYAAABUQMEGAACACijYAAAAUAEFGwAAACqgYAMAAEAFFGwAAACogIINAAAAFVCwAQAAoAIKNgAAAFRAwQYAAIAKKNgAAABQAQUbAAAAKqBgAwAAQAUUbAAAAKiAgg0AAAAVULABAACgAgo2AAAAVEDBBgAAgAoo2AAAAFABBRsAAAAqoGADAABABRRsAAAAqMC0VgdotaJIiqKo/LxlWVZ%2BTgAAACavmhfstenufjzTp1dfhstyTtavn1n5eQEAAJicirLWU61PZ3h4Q5Kq/xUUSbpTlp0Vn5eqdHZ2ZGhouNUxmGDGvb6MfT0Z9/oy9pNXUQwmqf7/fxdFb4qi5nOHTAq1/lNYltPGvQR3dPwyRTGYspyW4eGF43otRq/WnyvVmHGvL2NfT8a9voz95FWW0zIeFaQoigwPD2b9%2Bgeedz13lVKN%2BfNnj%2Bq4WhfsoijS19efwcHx%2B4Szp%2Bea9PauTH//ijQay8ftOozetGkdmTt35riPPZOLca8vY19Pxr2%2BjH09zZs3M0UxnLK8NRtnyJOkO0VxYIpilg9dmDC1LtgTodFYrlgDAMCE2JCybCTZuJgxTDSv6QIAAIAKKNgAAABQAQUbAAAAKqBgAwAAQAUUbAAAoK0VxW9aHQGS1L5gP5SurktaHQKgKT09l2bevD3T03Npq6MAwKRQFE%2B2OgIkqX3BHkxPzzmtDgHQlN7elens/EV6e1e2OgoATApluV2rI0CS2hfsaWk0zmh1CICm9PevyNDQLunvX9HqKAAAPMe0VgdorUUZGDg%2ByXCrgwCMWqOxPI3G8lbHAIBJoyieTFnOaHUMqHvBBgAA2t1vbxHvTlFk5HuYaAo2AADQ1spydopiOEVx4PO2z0lZli1KRR0p2AAAwBTQkUZjQZ7bp5VrJpqCDQAATAllqVTTWjVfRRwAAACqoWADAABABRRsAAAAqICCDQAAABVQsAEAAKACCjYAAABUQMEGAACACijYAAAAUAEFGwAAACowrdUBAAAAxqIofpNkdooiSYotHlOW5URGoqZqXrAfSlfXtRkcPK7VQQAAgG1UFGtTlrPS0/PrJFsu0mU5J%2BvXz5zYYNROzQv2YHp6zkl/v4INAADtbShleUuSDVvY152iODBFMctMNuOq5gV7WhqNM1odAgAAGJMZz/xzQ8qysdneYst3jUPlar7I2aIMDBzf6hAAAMCYrG91AEhS%2B4INAAAA1VCwAQCANjfjxQ%2BBCaBgAwAAbc4t4kwOCjYAAABUQMEGAADaWlnObXUESKJgAwAAQCUUbAAAoK0VxZOtjgBJkmmtDgAAADA2z84bdqcotrS/O0nxzL4tHjBuyrKc0OvRWgo2AADQ5gZSFB3p6tprq0eUZZmenl8nmdjCW5Zzsn79zAm9Jq1T84L9ULq6rs3g4HGtDgIAAIxBWZYZGLgvyYatHDGUZHACEyUbZ9QPTFHMMpNdEzUv2IPp6Tkn/f0KNgAAtLcySV/KstHqICO2fLs6U1nNFzmblkbjjFaHAAAAYAqoecFelIGB41sdAgAAgCmg5gUbAAAAqqFgAwAAQAUUbAAAAKiAgg0AAAAVqHnBfihdXZe0OgQAAABTQM0L9sb3YAMAAMBY1bxgew82AAAA1ZjW6gAAAADV6E5RtDrDc3UnKZ7JNKmCbVVZlq2O0NZqXrA33iLe339cq4MAAABjUBQd6eraq9UxNlOWZXp6fp2kPYprWc7J%2BvUzWx2jbdW8YLtFHAAApoKyLDMwcF%2BSDa2O8jxDSQZbHWKUulMUB6YoZpnJ3kY1L9gAAMDUUCbpS1k2Wh2kbU2u2%2BvbU80XObOKOAAAANWoecF2izgAAADVqHnBXpSBgeNbHQIAAIApoOYFGwAAAKpR84L9ULq6Lml1CAAAAKaAmhdsi5wBAABQjZoXbIucAQAAUI2aF2wAAACoRs0LtlvEAQAAqMa0VgdoLbeIAwDA1NGdomh1hnbWnaR45t9h/f5FlmU55nPUvGA/%2Bx7s4VYHAQAAxqAoOtLVtVerY7S9sizT0/PrJGMvm%2B2mLOdk/fqZYzpHzQs2AAAwFZRlmYGB%2B5JsaHWUNjeUZLDVIVqgO0VxYIpi1phmshVsAABgCiiT9KUsG60OQhuq6tGCmi9yBgAAANVQsAGgBXp6Ls28eXump%2BfSVkcBACqiYANAC/T2rkxn5y/S27uy1VEAgIq0vGA/%2BOCD%2BfjHP55ly5Zljz32yOGHH/6Cx99111155StfmX322WeCEgJA9fr7V2RoaJf0969odRQAoCItL9g//elPs2rVquy6667ZbbfdXvDYsizzF3/xF5k3b94EpYOpxS2pMHk0GsvzxBN3p9FY3uooAEBFWl6wDznkkKxatSp/%2B7d/mz333PMFj/37v//7rF27Nu985zsnKB1MLW5JBQCA8dPygt3RMboIfX19Oeecc/Jnf/ZnmT59%2BjingqnJLakAADB%2BWl6wR%2Buzn/1s9txzz7zxjW9sdRRoW25JBQCA8TOt1QFG4yc/%2BUmuvvrqXHvttRWf%2BaH09HxD2aiZzs6OTf5JPRj3%2BjL29WTc68vY11mRotj4Bc0r0tFRZNq0ImW57X%2BGJn3BLssyn/jEJ3L00Ue/6CJozRvMjBkrM2PGqRWfl3YwZ86MVkegBYx7fRn7ejLu9WXs62nmzNlJulodg7bUnaQrM2bMHNNZJn3B/va3v53Vq1fnM5/5TPr6%2BpIkGzZsSLLxuezu7u50d3dv49mnZf36FWk01lWUlnbQ2dmROXNmpK9vfYaGhlsdhwli3OvL2NeTca8vY19PL3lJkhR5%2BuklrY7CJFWWXRkaeuEPX8qyJxs2bLkbzp07uuI96Qv2Aw88kCeffDKHHHLIZvv222%2B/nHDCCfnIRz6yjWdflEZjeQYH/eVbR0NDw8a%2Bhoz76PT0XJre3pXp718xZR6jMfb1ZNzry9jXT1mW2bDh3iQbWh2FSac7RbE0jcZOKcutH1WWZZKx/b0x6Qv2H/3RH%2BXVr371JtuuvfbafPvb387FF1%2BcBQsWtCgZwNT13Fe6TZWCDcBUVybpS1k2Wh2ESaYoepIMpyyfLdHjp%2BUFe/369Vm1alWS5OGHH85TTz2VG2%2B8MUny6le/OgsXLszChQs3%2BZ077rgjnZ2d2X///Sc8L0Ad9PevGJnBBgBgdFpesNesWZPTTjttk23P/nz55Zcr0QAt0GgsN3M9BUzFW/0BYDIryvGeI5/UHsq6ddemv/%2B4VgdhAk2b1pG5c2dm7dp1ns2qEeNeX3Ue%2B3nz9kxn5y8yNLRLnnji7lbHmVB1Hve6M/b1tP32j6UsF6a//8tuEWczRdGTonhD1q9fsM23iM%2BfP3tUx9X8BYGD6ek5p9UhAGBc9PevyNDQLm71B4AJ0vJbxFtrWhqNM1odAgDGhVv9AWBi1XwGGwAAAKpR84LtFnEAAACqUfOC7RZxAAAAqlHzgr0oAwPHtzoEAAAAU0DNFzkDAACmju4URaszMPl0T9iVFOxx1tNzaXp7V6a/f4WVXAEAYJwURUe6uvZqdQxeRFl2Z3BweguuO2eb34HdDAV7nPX2rkxn5y/S27tSwQYAgHFSlmUGBu5LsqHVUdiq7hTF0jQaO2UCuu4mJqJcJwr2uOvvXzEygw0AAIyXMklfyrLR6iBsRVH0JBlOWU5c4Z1oCvY4azSWm7kGAACogZqvIg4AAADVULABAACgAjUv2A%2Blq%2BuSVocAAABgCqh5wR5MT885rQ4BAADAFFDzgj0tjcYZrQ4BAADAFFDzgr0oAwPHtzoEAAAAU0DNCzYAAABUw3uwAQCAKaI7RdHqDGxdd6sDjDsFGwAAaHtF0ZGurr1aHaOtlGV3BgenT/A156Qsywm95kRSsAEAgLZXlmUGBu5LsqHVUdpEd4piaRqNnTKRfXcql%2BtEwQYAAKaEMklfyrLR6iBtoSh6kgynLKd%2B6Z1IFjkDAACACijYAAAAUAEFGwAAACpQ84L9ULq6Lml1CAAAAKaAmhfswfT0nNPqEAAAAEwBNS/Y09JonNHqEAAAAEwBNS/YizIwcHyrQwAAADAF1LxgAwAAQDVqXrAtcgYAAEA1prU6QGttXOSsv/%2B4VgcBAADGrDtF0eoM7aK71QGmpJoXbIucAQDAVFAUHenq2qvVMSZMWXZncHD6GM8xJ2VZVpSIpPYF%2B9lFzoZbHQQAABiDsiwzMHBfkg2tjjIBulMUS9No7JSx9GPluno1L9gAAMDUUCbpS1k2Wh1k3BVFT5LhlKWSPNlY5MwiZwAAAFSg5gV74yJnAAAAMFY1L9gWOQNolZ6eSzNv3p7p6bm01VEAACpR84L97CJnAEy03t6V6ez8RXp7V7Y6CgBAJWpesBktM01A1fr7V2RoaJf0969odRQAgEoo2IyKmSagao3G8jzxxN1pNJa3OgoAQCUUbEbFTBMAAMAL8x5sRqXRWG6WCQAA4AXUfAbbe7ABAACoRs1nsDe%2BB7u//7hWBwGASaGn59L09q5Mf/8Kdy4Bbag7RdHqDBOhu9UB2IqaF2zvwQaA53ruopYKNtBOiqIjXV17tTrGhCnLnpRl2eoYPE/NC/az78EebnUQAJgU%2BvtXjMxgA7STsiwzMHBfkg2tjjIBulMUs1MUhZI9ydS8YAMAz2VRS6B9lUn6UpaNVgcZd0XRk43/e5lsar7IGQAAAFRDwQaANtDTc2nmzdszPT2XtjoKALAVCjYAtIHnLj4GAExOCjYAtIH%2B/hUZGtrF4mMAMIkp2EBbcrssddNoLM8TT9xtATIAmMQUbKAtuV0WAIDJRsEG2pLbZQEAmGy8BxtoS97VCwDAZGMGGwAAACpgBhsAAJgiulMUrc4wEbpbHYCtULABAIC2VxQd6eraq9UxxlVZdmdwcPoz389JWZYtTsTzKdgAAEDbK8syAwP3JdnQ6ijjpDtFsTSNxk4pyyjXk5SCDQAATAFlkr6UZaPVQcZFUfQkGVauJ7maL3L2ULq6Lml1CAAAAKaAmhfswfT0nNPqEAAAAEwBNS/YyeDgAa2OAAAAwBRQ%2B4I9bdptrY4AAADAFFDzgj0tjcYZrQ4BAADAFFDzgr0oAwPHtzoEAAAAU0DNCzYAAABUQ8EGAACACijYAAAAUIFprQ4AAABQje4URaszjJfuVgdgFBRsAACg7RVFR7q69mp1jKaUZXcGB6c3cfyclGU5jokYKwUbAABoe2VZZmDgviQbWh1llLpTFEvTaOyU0XZm5XryU7ABAIApoEzSl7JstDrIqBRFT5LhlKXiPJVY5AwAAAAq0PIZ7AcffDCXXnpp7rzzzvz0pz/N4sWLc911143sHxoayhe/%2BMWsWrUq999/f4aGhrL77rvnlFNOyYEHHtjC5ABMRT09l6a3d2X6%2B1ek0Vje6jgAQBtp%2BQz2T3/606xatSq77rprdtttt832NxqNXHjhhXnFK16RT37yk1m5cmV23HHHHHvssfnud7/bgsQATGW9vSvT2fmL9PaubHUUAKDNtHwG%2B5BDDsmb3vSmJMnHPvax3HXXXZvs7%2Bnpyf/5P/8n22233ci2gw46KD//%2Bc/zxS9%2BMW984xsnNC8AU1t//4qRGWwAgGa0fAa7o%2BOFI3R2dm5SrpOkKIq84hWvyKOPPjqe0QCooUZjeZ544m63hwMATWt5wd4Ww8PD%2BeEPf7jFW8oBAACgFVp%2Bi/i2uOKKK/Kzn/0sn/jEJ8Z8rs7OtvyMgTF4dsyNfb0Y9/oy9vVk3OvL2NdZkaLY%2BNUeinR0FJk2rUhZtktmXkzbFew77rgjf/3Xf53jjjsu%2B%2B2335jPN2fOjApS0Y6MfT0Z9/oy9vVk3OvL2NfTzJld2fg%2B7HbQlaQrM2bMbHUQKtRWBfuee%2B7JSSedlDe96U350z/900rO2de3PkNDw5Wci/bQ2dmROXNmGPuaMe71ZezrybjXl7Gvp5e8JCnLpNGYPLPB5Yv0/I2z7QPZsGHdix5L682dO7oPQtqmYD/00EM5/vjjs8cee%2BSv/uqvKrv1Y2hoOIOD/vKtI2NfT8a9vox9PRn3%2BjL29VMURTo7X9XqGCPKsjuDg9NfYH8yPDw7Tz/tz%2BlU0hYF%2B7HHHstxxx2X7bffPueff366urpaHQkAAJhEyrLMwMB9STa0OkqS7hTF0jQaO73g7HRp6nrKaXnBXr9%2BfVatWpUkefjhh/PUU0/lxhtvTJK8%2BtWvTm9vb44//visWbMmH/vYx3L//fdv8vt/8Ad/MOGZAQCAyaZM0peybLQ6SIqiJ8lwylKJrpuWF%2Bw1a9bktNNO22Tbsz9ffvnleelLX5p77rknSXLyySdv9vv33nvv%2BIcEAACAF9Hygr1w4cIXLclKNAAAAJOdFwQCAABABRRsAAAAqICCDQAAABVQsAEAAKACCjYAAABUQMEGAACACijYAAAAUIGWvwcbAACgGt0pilZnSJLuVgegRRRsAACg7RVFR7q69prQa5ZldwYHp29l35yUZTmheWg9BRsAAGh7ZVlmYOC%2BJBsm6IrdKYqlaTR2ypZ6tHJdTwo2AAAwBZRJ%2BlKWjQm5WlH0JBlOWSrT/JZFzgAAAKACCjYAAABUQMEGAACACijYAAAAUAEFGwAgSU/PpZk3b8/09Fza6igAtCkFGwAgSW/vynR2/iK9vStbHQWANqVgAwAk6e9fkaGhXdLfv6LVUQBoU96DDQCQpNFYnkZjeatjANDGzGADAABABcxgAwAAU0R3imLirgXPp2ADAABtryg60tW1VyXnKsvuDA5OH8Vxc1KWZSXXZGpQsAEAgLZXlmUGBu5LsmGMZ%2BpOUSxNo7FTXqw7K9c8n4INAAC0uSJJmaQvZdkY25mKniTDKUsFmuZZ5AwAAAAqoGADAABABRRsAAAAqICCDQAAABVQsAEAgDY3YS%2B/hhekYAMAAG1OrWFy8CcRAABoc4OtDgBJFGwAAACohIINAAAAFZjW6gAAAADV6E4x5vXOupMUz5xn48nKshzrSakJBRsApqienkvT27sy/f0r0mgsb3UcgHFUpCg60tW1VyVnK8syPT2/TlI%2B8/OcrF8/s5JzM7Up2AAwRfX2rkxn5y/S27tSwQamuDJlWWZg4L4kGyo431B%2Bu3Bad4riwBTFLDPZvCgFGwCmqP7%2BFSMz2ABTW0c2zjb3pSwblZ557LecUycKNgBMUY3GcjPXQE3MaHUASGIVcQAAoO2ta3UASKJgAwAAQCUUbAAAAKiAgg0AAAAVULABAACgAgo2AAAAVEDBBgAA2pyXVTM5KNgAAECbU7CZHKa1OgA0oGciAAAgAElEQVQAAMDYzHjmn90pKu/a3VWfkClMwQYAANpcf4rid9LVtVdTv1WW3RkcnD6K4%2BakLMttDUeNKNgAAECbK1OWZQYG7kuyYZS/052iWJpGY6e8WHdWrhktBRsAAJgCyiR9KcvGqI4uip4kwylLBZrqWOQMAAAAKqBgAwAAQAUUbAAAAKiAgg0AALS5rlYHgCQKNgAA0PYGWx0AkijYAAAAUAkFGwAAaGtlObfVESCJgg0AAACVULABAIC2VhRrWh0BkiTTWh0AAACgGt0pitEfC1VTsAEAgLZXFB3p6tprq/vLsjuDg9Oft21OyrIc72jUiIINAAC0ua6UZZmBgfuSbNjC/u4UxdI0GjvluX1auaZqCjYAANDmhpOUSfpSlo3N9hZFT5LhlKVSzfiyyBkAANDmPE/N5KBgAwAAbW59qwNAEgUbAABoe277ZnJQsAEAgDanYDM5KNgAAECbm9nqAJBEwQYAANpcWfa0OgIkUbABAIA2VxRPtjoCJFGwAQCANleW27U6AiRJprU6AAAAQDW6UxRb3p5scQdUSsEGgOfo6bk0vb0r09%2B/Io3G8lbHAWAUimJtkpnp6tprq8eUZZmennVZv7534oJROwo2ADxHb%2B/KdHb%2BIr29KxVsgLYxnLIsMzBwX5INWzlmWopivxTFzJSl13oxPpp%2BBvuee%2B4ZjxwAMCn096/I0NAu6e9f0eooADSlTNKXsnxyi1/JulYHpAaaLtjveMc7cvTRR%2Bfb3/52BgcHxxzgwQcfzMc//vEsW7Yse%2ByxRw4//PAtHrdq1aq84x3vyF577ZVDDz00V1555ZivDQDP12gszxNP3G32GqCteA82k0PTBfvss89Oo9HIihUr8oY3vCHnnntuHn300W0O8NOf/jSrVq3Krrvumt12222Lx/zwhz/MSSedlD322CMXX3xx/uiP/ihnn312rrrqqm2%2BLgAAMDUMD89vdQRIkhTlNj6A8IMf/CBXXnllvvOd76Qsy7zpTW/K%2B973vixdurSp8wwPD6ejY2PP/9jHPpa77ror11133SbHHH/88XnyySc3KdRnnXVWvvvd7%2Bbmm28e%2Bf1tsXbtugwODm/z79N%2Bpk3ryNy5M419zRj3%2BjL29WTc68vY19Pv/M5wkhnp7/9yyrKxxWOKoidF8YasX7/AM9g0bf782aM6bpub6b777ptzzjkn3/3ud/OhD30oP/zhD/P%2B978/y5Yty1VXXZWBgYHRBXiRcjwwMJDbbrsthx122CbbjzjiiDz22GP58Y9/vK3/EwAAgClg4yri0HrbPvX7jBkzZuQlL3lJZsyYkbIs8%2BSTT%2Bass87KW97ylvzoRz8ac8CHHnooTz/9dBYvXrzJ9pe97GVJktWrV4/5GgAAQDtztwKTwza/puv%2B%2B%2B/PlVdemW9%2B85vZsGFDDj300Hzyk5/MPvvskx//%2BMf5%2BMc/nrPOOiv/63/9rzEFfPLJJ5Mkc%2BbM2WT7sz8/u39bdXaO%2BTMG2syzY27s68W415exryfjXl/Gvs6KFMXGr63t7%2BgoMm1akbLc2jEwNk0X7P/9v/93rrzyynz/%2B9/Pdtttl/e97305%2Buijs%2BOOO44cs8cee%2BSMM87ICSecUFnQrf2HsvX/gEZnzpwZY/p92pexryfjXl/Gvp6Me30Z%2B7qZlSSZObMrG1/XtSVdSboyY4YVxxk/TRfs0047LUuWLMknPvGJLFu2LF1dXVs8buHChXnrW9865oDbbbddks1nqvv6%2BpJsPrPdrL6%2B9RkacktJnXR2dmTOnBnGvmaMe30Z%2B3oy7vVl7Otpu%2B22TzKU/v6BJBu2clSRjo6BbNiwLtY4o1lz547ug5mmC/Zll12W/fff/0WP22WXXfLXf/3XzZ5%2BM4sWLcr06dPzwAMP5PWvf/3I9vvvvz9Jtvpqr9EaGhq2wmRNGft6Mu71ZezrybjXl7Gvl7JMiqJMWZZbXSG8KMoMD5cZHNz6MTBWTT%2Bcct111%2BWXv/zlFvf96le/yllnnTXmUM/V1dWVAw44IDfccMNmOebPn5899tij0usBAADtpaPjsWe%2B637mdVybfyXdrYxITTRdsK%2B%2B%2Buo88cQTW9z3xBNP5Oqrr27qfOvXr8%2BNN96YG2%2B8MQ8//HCeeuqpkZ%2Bfvc7JJ5%2Bcu%2B66K2eeeWZuv/32XHDBBbnqqqty2mmnjekd2AAAwFSwLkXRka6uvdLVtXTka/r016Yo3vDM14EpyzlmrxlXTd8i/kJ/IPv6%2Brb6TPbWrFmzJqeddtom2579%2BfLLL8/%2B%2B%2B%2BfffbZJ%2Beff35WrlyZb3zjG9lpp51y5pln5qijjmo2PgAAMOVMS1mWGRi4L799Brs7RbE0jcZOI89cK9eMt1EV7H/%2B53/OP//zP4/8fM011%2BSWW27Z5JhGo5Gbbrpps/dVv5iFCxfm3nvvfdHjDj744Bx88MFNnRsAAKiDwWxcPbwvZdlIkmduCx9OWSrWTJxRFezbbrst5557bpKNr8X6u7/7uy0et%2BOOO%2BZTn/pUdekAAABelPdaMzmMqmAfd9xx%2BU//6T%2BlLMu87nWvy0UXXbTZ4mJdXV1jfmUWAABAs8pyXqsjQJJRFuze3t709vYmSb7zne9kp512avpZawAAgPFQlrNTFIOtjgHNL3K2aNGi8cgBAACwTYriN0lmtDoGjP4W8TPPPDOLFy/Occcd94LHFkWRSy%2B9tJJwAAAAL6YonkxZKti03qgKdqPRGFl5b/369SkKiwgAAACTRUerA0CSURbsr371qyPff%2B1rXxu3MAAAAM0baHUASOKjHgAAoO3NbHUASKJgAwAAbW54eH6rI0CSUd4ivueeezb13PVdd921zYEAAAC2TXd%2BW1u6WxmEmhpVwT7%2B%2BOMtbAYAAExKRfGbFMXMdHXtlbLszuDg9CRJWc4ZWawZJsKoCvbpp58%2B3jkAAAC2ycbXdPXm6ad/nuT302jslLKMcs2E8ww2AADQ1spyuyRlknVJhpVrWmZUM9hbsnr16jzwwANpNBqb7TviiCPGFAoAAGC0ynJ2imKw1TGg%2BYLdaDRy8skn55Zbbkny20%2BGnvuMtoINAABA3TR9i/gFF1yQn//85/nSl76Usizzuc99LhdffHEOOeSQ7Lrrrrn66qvHIycAAABMak0X7H/4h3/IiSeemP322y9JsnDhwrzuda/Leeedl1e%2B8pW56qqrKg8JAAAAk13TBfvhhx/O4sWL09nZmaIoNnkGe9myZbnpppsqDQgAAADtoOmCPXv27Kxfvz5JMm/evDz44IMj%2B4aGhrJu3brq0gEAAECbaHqRs913332kVO%2B///658MILs3jx4kyfPj3nnXdelixZUnlIAACArSmK3ySZ0eoY0HzBPvLII0cK9oc//OEcffTR%2BeM//uMkG2e3L7zwwmoTAgAAvICieDJlqWDTek0X7MMPP3zk%2B0WLFuXGG2/MrbfemqIosu%2B%2B%2B2bevHmVBgQAAHghZbldqyNAkm0o2M83a9asHHrooVVkAQAAaFpZzk5RDCaZnqRIUSRJ8cy%2BsoXJqJumC/YjjzzyosfsuOOO2xQGgPbV03NpentXpr9/RRqN5a2OA0CNFMVvUhQzM3367inLMj09v06ysViX5ZysXz%2BztQGpjaYL9sEHH5xi40dCW/WTn/xkmwNNrIfS1XVtBgePa3UQgLbX27synZ2/SG/vSgUbgAlVFGtTlr0ZGLgvSX%2BSwWf2dKcoDkxRzDKTzYRoumD/xV/8xWbb1q5dm3/8x3/M448/ng9%2B8IOVBJsYg%2BnpOSf9/Qo2wFj1968YmcEGgIlVPvPVl7JsjGx9kXlBqFzTBfuoo47a4vYTTzwxp5xySh5//PExh5o409JonNHqEABTQqOx3Mw1AC2iSTM5dFR5sne%2B8535%2Bte/XuUpx9miDAwc3%2BoQAADAmHhFF5NDpQV7eHg4Tz75ZJWnBAAAeBEbWh0AklTwmq5kY7G%2B7777cu6552b33Xev4pQAAACj4j3YTBZNF%2Bw999xzs1XEh4eHU5ZlZs%2BenUsuuaSycAAAAC/mt%2B/BhtZqumAff/zxmxXs7u7uvPSlL80b3/jGzJ49u7JwAAAA0C6aLtinn376eOQAAACAtlbpImcAAABQV03PYJ911lmjPrYoinziE59o9hIAAADQdpou2DfffHPWrVuXp556Kh0dHZkzZ076%2BvoyPDycWbNmZebMmSPHPv9ZbQAAgKoVxW%2By8V3Y3dm0gnS3JhC11XTBPu%2B883LyySfnzDPPzGGHHZbp06fn6aefzvXXX5%2B/%2BZu/ybnnnpu99tprPLICAABspiieTFnOTFEcuNm%2BspyTsixbkIo6arpgf%2BpTn8qxxx6bd7zjHSPbpk%2Bfnne84x1Zu3ZtPvnJT%2BarX/1qpSEBAAC2piy3S1l2ZP36BVvYp1wzcZpe5Oyuu%2B7KkiVLtrhvyZIl%2BfGPfzzmUAAAAKNVlrOf%2BWe52RdMpKYL9qxZs3Lbbbdtcd9tt922yTPYAAAAUBdN3yJ%2BxBFH5JJLLsnw8HAOP/zwzJ8/P4899li%2B9a1v5Utf%2BlKOOeaY8cgJAAAAk1rTBXvFihV57LHHcvHFF%2BeSSy4Z2V6WZQ477LCsWLGi0oAAAADQDpou2NOnT89nPvOZfPCDH8ztt9%2Bef//3f89LXvKS7L///nn5y18%2BHhkBAABg0mu6YD/r5S9/uUINAAAAz2h6kTMAAABgcwo2AAAAVEDBBgAAgAoo2AAAAFABBRsAAAAqoGADAABABUb1mq7jjjtu1CcsiiKXXnrpNgcCAACAdjSqgr1%2B/foURTHeWQAAAKBtjapgf%2B1rXxvvHAAAANDWPIMNAAAAFVCwAQAAoAKjukV8zz33bOoZ7LvuumubAwEAAEA7GlXBPv744y1yBgAAAC9gVAX79NNPH%2B8cAAAA0NY8gw0AAAAVGNUM9pasXr06DzzwQBqNxmb7jjjiiDGFAgAAgHbTdMFuNBo5%2BeSTc8sttyRJyrJMkk2e0VawAQAAqJumbxG/4IIL8vOf/zxf%2BtKXUpZlPve5z%2BXiiy/OIYcckl133TVXX331eOQEAACASa3pgv0P//APOfHEE7PffvslSRYuXJjXve51Oe%2B88/LKV74yV111VeUhAQAAYLJrumA//PDDWbx4cTo7O1MUxSbPYC9btiw33XRTpQEBAACgHTRdsGfPnp3169cnSebNm5cHH3xwZN/Q0FDWrVtXXToAAABoE00vcrb77ruPlOr9998/F154YRYvXpzp06fnvPPOy5IlSyoPCQAAAJNd0wX7yCOPHCnYH/7wh3P00Ufnj//4j5NsnN2%2B8MILq00IAAAAbaDpgn344YePfL9o0aLceOONufXWW1MURfbdd9/Mmzev0oAAAADQDpou2M83a9asHHrooVVkAQAAgLbV9CJnq1atypVXXrnFfV/96lfzve99b8yhAAAAoN00XbAvuOCC/OY3v9nivqeeeioXXHDBmEMBAABAu2m6YK9evTp77rnnFvftscceWb169ZhDAQAAQLtpumAPDAxkcHBwi/sGBwdH3pENAAAAddJ0wf7d3/3drFq1aov7/u///b/ZddddxxwKAAAA2k3TBfvII4/M17/%2B9Zx33nlZu3ZtkmTt2rU5//zz8/Wvfz3vfOc7Kw8JAAAAk13Tr%2Bk65phj8qMf/Sif//znc%2B6552b69Ol5%2BumnU5ZlDjvssPzn//yfxyEmAAAATG5NF%2ByiKHLOOefkqKOOys0335y1a9dm3rx5ef3rX5/9999/PDImSW666aZceOGFWb16dXp6erLvvvtmxYoVWbx48bhdEwAAAEar6YL9rAMOOCAHHHBAlVm26pZbbskpp5ySt7/97fnwhz%2Bcvr6%2BnHvuuTn22GNz/fXXZ9asWROSAwAAALZmmwv2rbfemttvvz1r167Nhz70oey88865%2B%2B67s2DBgsydO7fKjLn%2B%2BuuzYMGCfPrTn05RFEmSl770pTnqqKPyL//yLzn44IMrvR4AAAA0q%2BmC3Wg0cvLJJ%2BeWW25JWZYpiiLvfve7s/POO%2Beiiy7KggUL8tGPfrTSkIODg5k5c%2BZIuU6S2bNnV3oNAAAAGIumVxH/7Gc/mzvvvDMrV67M97///ZRlObLvoIMOyq233lppwCR517velQceeCBXXHFF%2Bvr68stf/jKf/vSns9tuu%2BXAAw%2Bs/HoAAADQrKZnsG%2B44Yaceuqpeetb35qhoaFN9u2888751a9%2BVVm4Z%2B23334599xzc8YZZ%2BTss89OkrzsZS/LF7/4xXR1dY3p3J2dTX/GQJt7dsyNfb0Y9/oy9vVk3OvL2NdTUSRlmUybZtxpraYL9po1a7L77rtvcV9nZ2cajcaYQz3fD37wg/zpn/5p3vnOd%2BaQQw7JU089lS984Qs54YQT8rWvfW1Mi5zNmTOjwqS0E2NfT8a9vox9PRn3%2BjL29VOWZebOndnqGNRc0wV7xx13zP3337/FFcTvvffeLFy4sJJgz3X22WfngAMOyH/7b/9tZNt/%2BA//Ia9//etz1VVX5dhjj93mc/f1rc/Q0HAVMWkTnZ0dmTNnhrGvGeNeX8a%2Bnox7fRn7etpuuxkpy6Svr7/VUZiiRvvhTdMF%2B9BDD80FF1yQpUuX5uUvf3mSje/G/vWvf53LL788y5Yta/aUL2r16tU55JBDNtk2b9687LDDDnnooYfGdO6hoeEMDvrLt46MfT0Z9/oy9vVk3OvL2NfLs8tCGXNaremCfcopp%2BSf/umf8q53vStLlixJURQ588wz8%2BCDD2bRokU58cQTKw%2B5YMGC3H333Ztse%2Byxx/Loo4/mpS99aeXXAwAAgGY1vQrArFmz8j//5//MSSedlGnTpmXBggXp6OjIsccem6985SuZMaP6513e%2B9735h//8R/ziU98Iv/0T/%2BUG264ISeccEJ6e3vz9re/vfLrAQAAQLOK8rnv2ZqkyrLM17/%2B9Xz1q1/NQw89lN7e3uy11145/fTTs2TJkjGde%2B3adW4lqZlp0zoyd%2B5MY18zxr2%2BjH09Gff6Mvb1NG/exudjn3hiXYuTMFXNnz97VMc1fYv4ltx11135yU9%2BkqVLl%2Bb3fu/3qjjlJoqiyHve85685z3vqfzcAAAAUIWmC/bHP/7xPP300/nkJz%2BZZON7sVesWJGyLNPV1ZUrrrgie%2B%2B9d%2BVBAQAAYDJr%2BhnsW2%2B9Na9%2B9atHfj7//PPzmte8Jn//93%2BfvffeO1/4whcqDQgAAADtoOmC/fjjj4%2Bs3P3oo4/mpz/9aT74wQ9mzz33zAc%2B8IH867/%2Ba%2BUhAQAAYLJrumB3dnZmw4YNSZJ/%2BZd/SVdXV/bZZ58kyXbbbZe%2Bvr5qEwIAAEAbaLpg/97v/V6uu%2B66NBqNXHPNNdl3330zffr0JMkjjzySuXPnVh4SAAAAJrumC/axxx6bb37zm9lnn33y//7f/8v73ve%2BkX233nrrmF%2BbBQAAAO2o6VXE3/a2t2WHHXbID3/4w/z%2B7/9%2B9t9//5F922%2B/fd70pjdVGhAAAADawTa9B3vp0qVZunTpZttPP/30MQcCAACAdtT0LeIAAADA5rZpBvv666/PZZddltWrV4%2BsKP5cd91115iDAQAAQDtpegb7u9/9bv7Lf/kv2W233bJu3bocfvjhOfTQQzN9%2BvQsXLgwxx9//HjkBAAAgEmt6YJ94YUX5phjjsnZZ5%2BdJHn/%2B9%2Bfv/mbv8mNN96YwcHBLFq0qPKQAAAAMNk1XbB/9rOf5bWvfW2KokiSDA0NJUl23HHHnHTSSfnSl75UbUIAAABoA00X7KGhoXR1daWjoyMzZszIY489NrJvwYIFeeihhyoNCAAAAO2g6YL90pe%2BdKRUL1myJN/%2B9rdH9t10002ZP39%2BdekAAACgTTS9iviBBx6YW265JYcddliOOeaYrFixInfffXemT5%2Be%2B%2B%2B/37uwAQAAqKWmC/bpp5%2BeRqORJHnb296WJPnWt76VoihyzDHH5Kijjqo2IQAAALSBpgt2d3d3uru7R35%2B29veNlK0AQAAoK6aLtjPGhgYyD333JO1a9dm7ty5ecUrXpGurq4qswEAAEDb2KaCffnll%2Be8885LX1/fyLY5c%2BbkpJNOygc%2B8IHKwgEAAEC7aLpgX3nllfnLv/zL7L///jn88MMzf/78PPbYY/nWt76VT33qU5k2bVre%2B973jkdWAAAAmLSaLthf/vKXc/jhh%2Bczn/nMJtuPOuqonHHGGfnyl7%2BsYAMAAFA7Tb8H%2B9/%2B7d%2BybNmyLe5btmxZHnnkkTGHAgAAgHbTdMH%2B3d/93axZs2aL%2B5544oksWrRozKEAAACg3TRdsE855ZR8/vOfz%2BrVqzfZfv/99%2Bfzn/98TjnllMrCAQAAQLsY1TPYzy/Ng4ODOeKII/KKV7wi22%2B/fR5//PHcc8892WGHHXL99dfnLW95y7iEBQAAgMlqVAX7Rz/6UYqi2GTb/Pnzs2bNmpHbxefPn5%2ByLPOv//qv1acEAACASW5UBfvmm28e7xwAAADQ1pp%2BBhsAAADYnIINAAAAFVCwAQAAoAIKNgAAAFRAwQYAAIAKKNgAAABQgVG9pmtLHnzwwdxxxx1Zu3ZtjjzyyGy//fZZs2ZNZs%2Bena6uriozAgAAwKTXdMEeHh7On//5n%2Bfqq6/O8PBwiqLIa1/72my//fb5sz/7s7zqVa/KqaeeOh5ZAQAAYNJq%2BhbxCy%2B8MNdee21OP/30fOMb30hZliP7Dj744Hzve9%2BrNCAAAAC0g6ZnsK%2B55pr8yZ/8SU444YQMDQ1tsm/hwoX5xS9%2BUVk4AAAAaBdNz2D/%2Bte/zr777rvFfT09PVm3bt2YQwEAAEC7abpgz5s3L7/85S%2B3uO9nP/tZdtxxxzGHAgAAgHbTdMF%2B/etfnwsvvDCPPvroyLaiKPLUU0/lK1/5St74xjdWGhAAAADaQdPPYJ966ql517velcMOOywHHnhgiqLI3/7t3%2Bbee%2B9NURT5kz/5k/HICQAAAJNa0zPYO%2BywQ66%2B%2Bur84R/%2BYX7wgx8kSe68884ccMAB%2BdrXvpZ58%2BZVHhIAAAAmu6ZnsJONJft//I//UXUWAAAAaFtNz2ADAAAAm2t6Bvuss87a6r6iKDJnzpzstddeOeSQQzJ9%2BvQxhQMAAIB20XTBvvnmm7Nu3bo89dRT6ejoyJw5c9LX15fh4eHMmjUrw8PD6e/vz8te9rJcdtll%2BZ3f%2BZ3xyA0AAACTStO3iF944YWZM2dO/uqv/ip33nlnbrvtttx555359Kc/ndmzZ%2Beyyy7LFVdckSeeeCIrV64cj8wAAAAw6TQ9g/2Xf/mX%2BcAHPpC3v/3tI9umT5%2BeZcuWZe3atfnUpz6VK6%2B8MieccEK%2B%2BMUvVhoWAAAAJqumZ7B/9KMfZffdd9/ivt133z133313kuSVr3xl1q5dO7Z0AAAA0CaaLtgzZ87MHXfcscV9d9xxR2bOnJkk2bBhw8j3AAAAMNU1fYv4YYcdlosvvjhFUeQtb3lLtt9%2B%2Bzz%2B%2BOP59re/nUsuuSTvfe97kyR33313Fi9eXHlgAAAAmIyaLtgf%2BchH8sgjj%2BT888/PBRdcMLK9LMu85S1vyRlnnJEk%2Bf3f//0ceOCB1SUFAACASazpgt3V1ZXPfe5zuffee/P9738///7v/56XvOQl2W%2B//bJkyZKR4w466KBKgwIAAMBk1nTBftaSJUs2KdQAAABQZ9tcsJPkySefTKPR2Gz7jjvuOJbTAgAAQNvZpoJ90UUX5fLLL8%2BaNWu2uP8nP/nJmEIBAABAu2n6NV3XXnttzj///LznPe9JWZY54YQTsnz58uywww7Zdddd89//%2B38fj5wAAAAwqTVdsK%2B44op88IMfzEknnZQkefOb35yPfOQjufHGG9Pb25unnnqq8pAAAAAw2TVdsB988MH8wR/8QTo6Nv7q4OBgkmTGjBlZvnx5/u7v/q7ahAAAANAGmi7Y06ZtfGy7KIrMmjUr//Zv/zayb968eXnkkUeqSwcAAABtoumCvWjRopES/apXvSpXXXVVhoaGMjw8nKuuuioLFiyoPCQAAABMdk0X7IMOOii33357kuTEE0/MrbfemqVLl%2BaAAw7IDTfckOXLl1ceEgAAACa7pl/Tddppp418/5rXvCZf%2BcpXcv3116coirzhDW/Ia1/72koDAgAAQDtoqmAPDAzkm9/8ZvbZZ5/stttuSZJ99tkn%2B%2Byzz7iEAwAAgHbR1C3iXV1d%2BfM///OsWbNmvPIAAABAW2r6Gexddtkljz/%2B%2BHhkAQAAgLbVdMF%2B//vfn0suuSTr1q0bjzwAAADQlppe5OzBBx/MmjVrcsghh%2BQ1r3lN5s%2Bfn6IoRvYXRZGPfexjlYYEAACAya7pgn3ZZZeNfH/DDTdstl/BBgAAoI6aLth33333eOQAAACAttZ0we7s7ByPHAAAANDWmi7Yz7r11ltz%2B%2B23Z%2B3atfnQhz6UnXfeOXfffXcWLFiQuXPnVpkRAAAAJr2mC3aj0cjJJ5%2BcW265JWVZpiiKvPvd787OO%2B%2Bciy66KAsWLMhHP/rR8cgKAAAAk1bTr%2Bn67Gc/mzvvvDMrV67M97///ZRlObLvoIMOyq233lppQAAAAGgHTc9g33DDDTn11FPz1re%2BNUNDQ5vs23nnnfOrX/2qsnDPd9VVV%2BWKK67Iz372s8yaNSt77713vvCFL4zb9QAAAGC0mi7Ya9asye67777FfZ2dnWk0GmMOtSWf//zn8%2BUvfzkf%2BtCHsvfee%2BfJJ5/M9773vXG5FgAAADSr6YK944475v77788BBxyw2b577703CxcurCTYc61evToXXHBBLrroohx00EEj2w899NDKrwUAAADboulnsA899NBccMEFueeee0a2FUWRX//617n88svz5je/udKASXLNNddkl1122aRcAwAAwGTSdME%2B5ZRTMm/evLzrXe/Ku9/97hRFkTPPPDOHH354tttuu5x44omVh7zzzjuz%2B3Tj9fUAACAASURBVO6757zzzsuBBx6YV73qVXnf%2B96Xn/zkJ5VfCwAAALZFUT53GfBR6u/vz5e//OWsWrUqjz/%2BeObOnZs3vOENOfbYYzNz5szKQ775zW/Oo48%2Bmh133DErVqzI9OnTc%2B655%2Bbhhx/Od77zncyZM2ebz93Xtz5DQ8MVpmWy6%2BzsyJw5M4x9zRj3%2BjL29WTc68vY19N2281IWW78//YwHubOHV3P3aaCPdH%2B8A//MA8%2B%2BGCuu%2B66vPzlL0%2BSPProo/mP//E/5tRTT80JJ5zQ4oQAAEArlWWZoihaHYOaa3qRs8985jM58sgjs3jx4vHIs0Xbbbddtt9%2B%2B5FynSQ77LBDFi9enPvvv39M5/bpZv34ZLuejHt9Gft6Mu71Zezr6bcz2P2tjsIUNdoZ7KYL9mWXXZZLL700e%2B%2B9d975znfmrW99a2bNmtV0wGbstttuW3y/dlmW6eho%2BjHyTQwNDWdw0F%2B%2BdWTs68m415exryfjXl/Gvl6evSfXmNNqTbfT733ve/mv//W/ZmBgIGeddVZe97rX5aMf/WjuuOOO8ciXJHnDG96Qxx9/PPfdd9/ItkceeSQPPPBAlixZMm7XBQAAgNEa0zPY9957b6655ppcd911WbPm/7d371FeF3T%2Bx1/DZQQlrqEeUEtRCRABW0QUUXANL5gb3nAVjUgSQS3zgv7KywZiq5YCouaFUrFMBQsX3CyTbI/SapZsSQtoIZSGF%2B7IZfj%2B/vAw6wga4geHme/jcc4cmM/3M995z7yH0ed8L/NG2rdvn0GDBmXkyJFFzpiqqqqccsopWbVqVS688MJUVlbmlltuyRtvvJHHHnssO%2B%2B88zZf91tvrfKTrjLTqFGDtGq1i92XGXsvX3Zfnuy9fNl9eWrd%2Bp2777755qpanoT6qm3bT2zVeYU8yVlVVVWeeOKJjB07Nq%2B99tp2%2BfVZb7zxRq699trMmjUrGzZsSM%2BePXP55Zd/5MeC%2B%2BZbfvyHtzzZe/my%2B/Jk7%2BXL7suTwGZ729rA/tCPwX6vV155JVOnTs0jjzySV199NbvuuutHvcotatOmTW688cbtct0AAADwUW1TYK9ZsyaPPfZYpk6dmmeffTaNGjVKv379cvXVV%2Bfwww8vekYAAADY4X3owL7iiivy2GOPZfXq1enUqVOuuOKKnHDCCWnZsuX2mA8AAADqhA8d2E888UQGDRqUk046KZ06ddoeMwEAAECd86ED%2B6mnnkrjxo3f9/I333wzrVu3/khDAQAAQF3zoX8P9pbiulQqZdasWTn//PPTt2/fQgYDAACAuuQjPYv4woUL8/DDD2fatGlZsmRJGjdunAEDBhQ1GwAAANQZHzqw165dm5kzZ%2Bbhhx/Os88%2Bm1KplIqKinzxi1/M8OHD06pVq%2B0xJwAAAOzQtjqwX3jhhTz00EOZMWNGVq1alaZNm%2BYLX/hCBgwYkK985Svp37%2B/uAYAAKBsbVVgn3DCCZk/f36SpHv37jnppJNy3HHHZeedd86KFSu264AAAABQF2xVYM%2BbNy8VFRU54ogjcvHFF2fffffd3nMBAABAnbJVzyJ%2BxRVXpGPHjnnyySdzwgkn5LTTTsuDDz6YlStXbu/5AAAAoE7YqsA%2B66yz8sgjj%2BTBBx/Mqaeempdeeinf/OY3c/jhh%2Beb3/xmKioqUlFRsb1nBQAAgB1WRalUKn3YN9rSM4l/6lOfymmnnZYvfOELderJzt56a1U2bNhY22PwMWrUqEFatdrF7suMvZcvuy9P9l6%2B7L48tW69S5LkzTdX1fIk1Fdt235iq87bpsB%2Bt4ULF%2Bahhx7KI488kr///e/Zaaed8vvf//6jXOXHyjff8uM/vOXJ3suX3Zcney9fdl%2BeBDbb29YG9lbdRfyD7LXXXrnooovy5JNP5tZbb83hhx/%2BUa8SAAAA6pyt/j3Y/0iDBg3Sr1%2B/9OvXr6irBAAAgDrjI9%2BCDQAAAAhsAAAAKITABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAoQJ0M7FWrVqVv377p2LFj5syZU9vjAAAAQN0M7EmTJqWqqqq2xwAAAIBqdS6wFyxYkPvvvz/nn39%2BbY8CAAAA1epcYI8dOzaDBw/O3nvvXdujAAAAQLU6FdiPPfZY5s6dm5EjR9b2KAAAAFBDo9oeYGutWbMm1113XS666KI0a9assOtt2LBO/YyBAmzaud2XF3svX3Zfnuy9fNl9eaqoSEqlpFEje6d21ZnAvvXWW9OmTZsMGjSo0Ott3rxpoddH3WH35cney5fdlyd7L192X35KpVJatdqltsegzNWJwF68eHHuvvvu3HLLLVm5cmWSZPXq1dV/rlq1Krvssm3/mJYvX5Oqqo2FzcqOr2HDBmnevKndlxl7L192X57svXzZfXlq0aJpSqVk%2BfLVtT0K9dTW/vCmTgT2okWLsn79%2BgwfPnyzy84666x069YtP/7xj7fpuquqNmbDBt98y5Hdlyd7L192X57svXzZfXkpld75086pbXUisDt16pR77rmnxrEXX3wx48aNyzXXXJOuXbvW0mQAAADwjjoR2M2bN0%2BvXr22eFmXLl3SpUuXj3kiAAAAqMnT7AEAAEAB6sQt2FvSq1ev/OlPf6rtMQAAACCJW7ABAACgEAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoACNanuArTFz5sxMnz49f/jDH7Js2bLsueeeOf300zN48OA0aOBnBAAAANS%2BOhHYkydPTrt27XLppZemTZs2mT17dsaOHZtXXnkll112WW2PBwAAAHUjsG%2B77ba0bt26%2BvVDDjkkq1evzpQpU/K1r30tlZWVtTgdAAAA1JHHYL87rjfp1KlT1q5dm6VLl9bCRAAAAFBTnQjsLXnuuefSsmXLtGnTprZHAQAAgLpxF/H3mjNnTqZOnZqRI0emYcOGH%2Bm6Gjassz9jYBtt2rndlxd7L192X57svXzZfXmqqEhKpaRRI3undlWUSqVSbQ/xYSxZsiSnnnpqdtttt9x7771p3LhxbY8EAADUslKplIqKitoegzJXpwJ7xYoVGTJkSNauXZv7778/rVq1%2BsjXuXz5mlRVbSxgOuqKhg0bpHnzpnZfZuy9fNl9ebL38mX35alFi6Ypld75f3vYHlq12mWrzqszdxFfu3ZtRowYkddffz0PPPBAIXGdJFVVG7Nhg2%2B%2B5cjuy5O9ly%2B7L0/2Xr7svrxsusnQzqltdSKwN2zYkAsvvDBz587Nfffdl/bt29f2SAAAAFBDnQjsf/u3f8svf/nLXHLJJXn77bfzu9/9rvqyfffdN82aNavF6QAAAKCOBPavf/3rJMn111%2B/2WX33HNPevXq9XGPBAAAADXUicB%2B4oknansEAAAA%2BEB%2BURwAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFKDOBPbLL7%2BcYcOGpXv37undu3fGjBmTt99%2Bu7bHAgAAgCRJo9oeYGssX748Z599dtq1a5fx48fnzTffzLhx47J06dLccMMNtT0eAAAA1I3A/tGPfpTly5fnkUceSevWrZMkDRs2zMUXX5wRI0akQ4cOtTwhAAAA5a5O3EX8V7/6VXr37l0d10kyYMCAVFZWZtasWbU4GQAAALyjTgT2ggULNruVurKyMnvttVcWLFhQS1MBAADA/6kTdxFfvnx5mjdvvtnx5s2bZ9myZR/pulu0aJpS6SNdBXVMRcU7f9p9ebH38mX35cney5fdl6cGDSqycWMpjRrVidsPqcfqRGC/n1KplIpN30W3UYMG/hGWK7svT/Zevuy%2BPNl7%2BbL78tOwYUVatdqltsegzNWJ7zzNmzfP8uXLNzu%2BYsWKLd6yDQAAAB%2B3OhHYHTp02Oyx1uvWrcvChQs9gzgAAAA7hDoR2H379s0zzzyTt956q/rY448/nnXr1uWII46oxckAAADgHRWl0o7/9A/Lly/PwIED0759%2B5x33nl54403ct1116VPnz654YYbans8AAAAqBuBnSQvv/xyxowZk%2Beeey5NmjTJwIEDc/HFF6dJkya1PRoAAADUncAGAACAHVmdeAw2AAAA7OgENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFKDsAvvll1/OsGHD0r179/Tu3TtjxozJ22%2B/XdtjUbC//OUvufLKK3PiiSemc%2BfOGThw4BbPmzVrVv7lX/4lXbt2zdFHH50pU6Z8zJNSpJkzZ%2Ba8887LEUccke7du%2BeEE07I/fffn40bN9Y4z97rl6eeeipnnnlmDjnkkBxwwAE56qijMm7cuKxYsaLGefZev61atSp9%2B/ZNx44dM2fOnBqX2X39MnXq1HTs2HGzlxtuuKHGefZefz344IP5/Oc/n65du6Z3794599xza1xu99SmRrU9wMdp%2BfLlOfvss9OuXbuMHz8%2Bb775ZsaNG5elS5du9k2Zum3evHmZNWtWunXrlo0bN2ZLv%2B79%2Beefz3nnnZcTTzwxo0ePzm9/%2B9uMGTMmlZWVOeWUU2phaj6qyZMnp127drn00kvTpk2bzJ49O2PHjs0rr7ySyy67LIm910fLli1Ljx49cvbZZ6d58%2BaZN29eJkyYkHnz5uXuu%2B9OYu/lYNKkSamqqtrsuN3XX3feeWc%2B8YlPVL%2B%2B2267Vf/d3uuvCRMm5Pvf/37OPffcdOvWLcuWLctTTz1VfbndU%2BtKZeT2228vdevWrfTGG29UH/vpT39a2n///Uvz58%2BvxckoWlVVVfXfL7vsstLxxx%2B/2TnDhg0rnXzyyTWOfeMb3ygddthhNd6euuPd/7Y3ufbaa0tdu3YtrV27tlQq2Xu5eOCBB0r7779/6dVXXy2VSvZe382fP7/UvXv30g9/%2BMPS/vvvX3rhhReqL7P7%2Bufhhx8u7b///lv8nr%2BJvddP8%2BfPL3Xq1Kn01FNPve85dk9tK6u7iP/qV79K796907p16%2BpjAwYMSGVlZWbNmlWLk1G0Bg0%2B%2BEt73bp1eeaZZ3L88cfXOH7CCSdkyZIl%2BeMf/7g9x2M7efe/7U06deqUtWvXZunSpfZeRlq2bJkk2bBhg72XgbFjx2bw4MHZe%2B%2B9axy3%2B/Jk7/XX1KlTs%2Beee6ZPnz5bvNzu2RGUVWAvWLAgHTp0qHGssrIye%2B21VxYsWFBLU1EbFi5cmPXr12efffapcXzfffdNEl8P9chzzz2Xli1bpk2bNvZez1VVVWXt2rX5wx/%2BkFtuuSX9%2BvVL%2B/bt7b2ee%2ByxxzJ37tyMHDlys8vsvn4bOHBgOnXqlKOOOiq333579UME7L3%2B%2Bv3vf5/9998/t9xyS3r37p0DDjggZ555Zl588cUkds%2BOoeweg928efPNjjdv3jzLli2rhYmoLZv2/d6vh02v%2B3qoH%2BbMmZOpU6dm5MiRadiwob3Xc/369ctrr72WJDn88MPzne98J4l/7/XZmjVrct111%2BWiiy5Ks2bNNrvc7uuntm3b5vzzz0%2B3bt1SUVGRJ554IjfddFNee%2B21XHnllfZejy1ZsiR/%2BMMfMm/evFxzzTVp3LhxJk6cmKFDh%2BZnP/uZ3bNDKKvAfj%2BlUikVFRW1PQa14P327uuh7luyZEkuuOCCdO3aNeecc06Ny%2By9fvre976X1atXZ/78%2BZk0aVLOPffcTJ48ufpye69/br311rRp0yaDBg36wPPsvn45/PDDc/jhh1e/3qdPn%2By00075wQ9%2BUOPZpO29/imVSlm9enUmTJiQ/fbbL0nSpUuXHHXUUXnggQdy0EEHJbF7aldZ3UW8efPmWb58%2BWbHV6xYscVbtqm/WrRokWTzn2Ru%2Bvrw9VC3rVixIuecc06aNGmSW2%2B9NY0bN05i7/XdZz7zmRx00EE59dRTM3HixMyePTuPP/64vddTixcvzt13350LLrggK1euzPLly7N69eokyerVq7Nq1Sq7LyPHHntsqqqq8uKLL9p7PdaiRYt88pOfrI7rJNl1112zzz77ZP78%2BXbPDqGsArtDhw6bPfZi3bp1Wbhw4WaPzaZ%2B22uvvdK4ceO89NJLNY7Pnz8/SXw91GFr167NiBEj8vrrr%2BfOO%2B9Mq1atqi%2Bz9/LRqVOnNGzYMAsXLrT3emrRokVZv359hg8fnp49e6Znz57Vt16eddZZGTp0qN2XKXuvv95vd6VSKQ0aNLB7dghlFdh9%2B/bNM888k7feeqv62OOPP55169bliCOOqMXJ%2BLhVVlbmkEMOycyZM2scf/TRR9O2bdt07ty5libjo9iwYUMuvPDCzJ07N3feeWfat29f43J7Lx/PP/98qqqqsscee9h7PdWpU6fcc889NV4uv/zyJMk111yTq666yu7LyIwZM9KwYcN07tzZ3uuxI488Mq%2B//nr%2B93//t/rYa6%2B9lpdeeikdO3a0e3YIDa%2B%2B%2Buqra3uIj8t%2B%2B%2B2Xhx9%2BOE899VR22223PP/887n22mtz9NFHZ/DgwbU9HgVas2ZNfvGLX2T%2B/Pn5r//6r7z%2B%2BuvZfffdM3/%2B/LRu3TpNmzbNnnvumdtuuy1/%2B9vfsssuu2T69OmZPHlyLr/88hxwwAG1/SGwDa6%2B%2Buo8%2BuijufDCC7Prrrvm1VdfrX5p1qxZKisr7b0eGjVqVBYuXJgVK1bk1Vdfzc9//vNce%2B212XPPPTN69Og0bNjQ3uuhnXbaKXvssUeNl7Vr12batGkZNWpU9V7tvv4ZNmxY/v73v2flypX5y1/%2BkrvvvjtTpkzJkCFDcswxxySx9/pq7733zpNPPpmf/OQnadOmTf7yl7/kqquuSpKMGzcujRs3tntqXUWpVCrV9hAfp5dffjljxozJc889lyZNmmTgwIG5%2BOKL06RJk9oejQItWrQoRx111BYvu%2Beee9KrV68kyaxZs/Kd73wnCxYsyO67756hQ4fmjDPO%2BDhHpUD9%2B/fP4sWLt3iZvddf3/ve9zJjxowsXLgwpVIp7du3z9FHH51hw4bVeGZpe6//Zs%2BenbPOOisPPfRQunbtWn3c7uuXMWPG5Kmnnsqrr76ajRs35tOf/nROOeWUDBkypMaTWNl7/fTGG2/k2muvzaxZs7Jhw4b07Nkzl19%2BeY1fzWX31KayC2wAAADYHsrqMdgAAACwvQhsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABqglU6dOTceOHatfOnfunD59%2BuRrX/ta/vznP9f6XIsWLaq1GT4OQ4YMyZAhQ2p7jI/dhAkT0rFjxxrH3vu5WLNmTSZMmJDZs2d/3OMBQJ3WqLYHACh348aNyz777JO1a9fmt7/9bW677bbMnj07M2fOTIsWLWp7vHrrqquuqu0Rdhjv/VysWbMmEydOzKhRo9KrV69amgoA6h6BDVDL9ttvv3Tt2jVJ0qtXr1RVVWXChAn5%2Bc9/npNOOqmWp6u/9t1339oeYYfhcwEAxXAXcYAdzKbYfuONNza7bMaMGTnttNPSvXv39OjRI8OGDcsf//jHGufMmTMnX/va19K/f/8ceOCB6d%2B/fy666KIsXrx4s%2Bv73e9%2Bl8GDB6dr167p06dPbrzxxmzYsGGr5hw9enR69OiRBQsWZNiwYenevXv69OmT733ve9XXffrpp6d79%2B4ZMGBApk2bVuPt33zzzVx99dU57rjj0qNHj/Tu3TtnnXVWnn322RrnLVq0KB07dswdd9yRW2%2B9NUceeWS6du2aQYMG5emnn65x7qa7P//xj3/MqFGjctBBB%2BWzn/1sLr744rz55ps1zn3v3aI3vZ%2B77rorkydPTv/%2B/dOjR4%2Bcdtpp%2Bd3vfrfZx//jH/84AwYMyAEHHJDjjjsu06dPz%2BjRo9O/f/9/%2BLlbv359/v3f/z2HHXZYunXrltNPPz0vvPBC%2Bvfvn9GjR2/28bzXlu7GP2PGjHzpS19Knz59cuCBB%2BbYY4/NDTfckNWrV//Ded79uVi0aFF69%2B6dJJk4cWL1QxhGjx6dZ599Nh07dsyjjz662XU88sgj6dixY1544YV/%2BP4AoL5yCzbADmZTNH3605%2Bucfy2227LTTfdlEGDBmXEiBFZv3597rrrrpxxxhl58MEHq2%2BFXLx4cfbee%2B8cf/zxadGiRZYsWZIf/vCHOfnkk/Mf//Efad26dZJk/vz5%2BeIXv5j27dvnuuuuS5MmTXL//fdvMZ7ez/r163P%2B%2Bedn8ODBGTZsWKZPn54bb7wxK1euzH/%2B53/mnHPOye6775777rsvo0ePzn777ZcDDjggSbJ06dIkyahRo/LJT34yq1evzuOPP54hQ4bk%2B9///mZ3TZ4yZUratWuXK664Ihs3bsydd96Zc845J/fee2969OhR49xRo0blmGOOyeDBgzN//vzcfPPNWbBgQX784x%2BncePGH/gxTZkyJfvss0%2BuuOKKJMnNN9%2Bc4cOH5xe/%2BEU%2B8YlPJEkeeOCBXHnllRkwYEAuv/zyrFixIhMnTsz69eu36vP2zW9%2BM4888ki%2B9KUv5bDDDsu8efMyatSorFq1aqvefkv%2B/Oc/p2/fvjn77LPTtGnTvPTSS7njjjvywgsv5J577tnq69l1111z55135stf/nJOPvnknHLKKUmS1q1bZ6%2B99krnzp0zZcqUDBw4sMbb3XfffenatWsOPPDAbf4YAKCuE9gAtWzjxo3ZsGFD9WOwb7311vTs2bPGLaF/%2B9vfMmHChJx55pn5xje%2BUX380EMPzYABAzJx4sTcdNNNSZJjjjkmxxxzTPU5VVVVOfLII3PYYYfl0UcfzVlnnZUkueWWW1IqlfKDH/wgn/zkJ5MkRx555Gbh9EHWr1%2Bfr371q/nc5z6XJDn44IPz5JNP5vbbb8%2B0adPSuXPnJMkBBxyQQw89NI8%2B%2Bmh1YO%2Bzzz65%2Buqra8zZp0%2BfLF68OPfee%2B9mgV1VVZXJkydnp512SpL06dMnRx11VMaPH5/JkyfXOPfoo4/OpZdeWn1emzZtcvHFF2fmzJn5/Oc//4Ef0y677JLbb789DRs2TPJOcJ5yyin51a9%2BleOPPz4bN27MhAkT0q1bt4wfP7767T772c/mc5/7XHbdddcPvP4FCxZk2rRp%2BeIXv1g942GHHVY947Y677zzqv9eKpVy0EEHpUOHDjnzzDMzd%2B7cfOYzn9mq66msrEyXLl2SJLvvvnu6d%2B9e4/IhQ4bk8ssvz4svvphOnTolSV544YXMmTMn3/72t7d5fgCoD9xFHKCWnXrqqenSpUsOOuigfPnLX07z5s0zadKkNGr0fz8D/fWvf50NGzbkxBNPzIYNG6pfdtppp/Ts2TO/h1MyEAAACBVJREFU%2Bc1vqs9dtWpVrr/%2B%2Bhx99NHp3LlzOnfunB49emT16tVZsGBB9XmzZ89O7969q%2BM6SRo2bJjjjjtuq2evqKjIEUccUf16o0aN8qlPfSpt27atjuskadmyZVq3bp2//vWvNd7%2Bhz/8Yb7whS%2Bka9eu6dy5c7p06ZKnn366xpybfO5zn6uO6yRp1qxZ%2BvXrl//%2B7/9OVVVVjXNPOOGEGq8fe%2ByxadSo0VY9K/aRRx5ZHddJqsN0013sX3755SxZsiTHHntsjbdr167dZrekb8mmGd5vxm31yiuv5Otf/3oOO%2BywdOrUKV26dMmZZ56ZJHnppZe2%2BXrfa%2BDAgWnTpk2mTJlSfey%2B%2B%2B5L69atP9TXDgDUR27BBqhl3/72t9OhQ4esWrUqM2bMyAMPPJCLLrood955Z/U5r7/%2BepLk5JNP3uJ1NGjwfz8v/frXv55nnnkm5513Xrp27ZpddtklFRUVGT58eNauXVt93tKlS2vE9SZbOvZ%2BmjZtWiN6k6Rx48Zp2bLlZudWVlbWeP%2BTJ0/Oddddl8GDB%2BfCCy9Mq1at0qBBg9x8881bDML3m3X9%2BvVZvXp19d23k6Rt27Y1zmvUqFFatmxZfbf0D/Le2SsrK5Okeva33norSdKmTZstzrOlx7q/26YZ3m/GbbFq1ar867/%2Ba3baaad89atfzac//ek0adIkr776akaNGpW33357m653SyorK3Paaadl8uTJufTSS7Nhw4bMnDkzQ4cOrf5cAUC5EtgAtaxDhw7VT2x2yCGHZOPGjXnwwQfz2GOPVd/Vu1WrVkmS8ePHp127du97XStWrMiTTz6ZUaNGZfjw4dXH161bl2XLltU4t2XLltXh/m5bOrY9/PSnP83BBx%2Bca665psbx93sc8vvN2rhx4%2By88841ji9ZsiS77bZb9esbNmzI0qVLtzlg323TLrb0JHRb87nbNMP7zfhum354sW7duhrxuinyN3nmmWfy97//Pffee28OPvjg6uMrVqz4h/Nsi9NPPz133HFHHn744axduzZVVVUZPHjwdnlfAFCXuIs4wA7mkksuSYsWLTJ%2B/Phs3LgxyTuPI27UqFEWLlyYrl27bvEleecu26VSabNbEh988MHN7kbdq1evPP300zWisKqqKjNmzNjOH2GqZ33vnHPnzt3iM3Ynyc9%2B9rMat4CvXLkyv/zlL/NP//RPNe7SnSTTp0%2Bv8frMmTOzYcOGGvG5rfbee%2B%2B0bds2M2fOrHH8r3/9a55//vl/%2BPabHlv%2BfjO%2BW/v27ZO883l5t1/%2B8pc1Xq%2BoqEiSzT6fP/rRj/7hPFuy6Xre75bvXXfdNQMGDMj999%2BfH/3oR%2BnXr98H/uAHAMqFW7ABdjAtWrTI8OHDc/3112f69Ok58cQTs8cee%2BSCCy7ITTfdlFdeeSV9%2B/ZN8%2BbN8/rrr2fOnDlp2rRpLrjggjRr1iw9e/bMXXfdlVatWqV9%2B/b5zW9%2Bk4ceeijNmzev8X5GjBiRJ554ImeffXZGjhyZJk2aZMqUKVmzZs3H8nEeeeSRmTRpUsaPH5%2BePXvm5ZdfzqRJk7LHHnts9sOA5J3Hhw8dOjRDhw7Nxo0bc8cdd2TlypU5//zzNzv38ccfT8OGDaufofvmm2/OZz7zmc0eN70tGjRokPPPPz9XXnllLrjggpx00klZvnx5Jk6cmLZt21bH7vvp0KFDPv/5z%2BcHP/hBGjVqlEMPPTTz5s3LXXfdlWbNmtU494gjjkjLli3z//7f/8uFF16Yhg0bZtq0afnb3/5W47wePXqkRYsWueqqqzJq1Kg0atQo06dPz5/%2B9Kdt%2BhibNWuW9u3b5xe/%2BEV69%2B6dFi1apFWrVtljjz2qzzn77LOrn2F83Lhx2/R%2BAKC%2BcQs2wA5oyJAhadeuXSZNmlQdm1/5yldy8803589//nMuu%2ByyDBs2LDfccEMWL16cnj17Vr/tjTfemF69euX666/PqFGj8j//8z%2BZPHlyjccoJ8n%2B%2B%2B%2BfyZMnp1mzZrnsssty5ZVXpmPHjjWejXp7OvfcczN06NA89NBD%2BcpXvpKHHnooV199dT772c9u8fwzzjgjhx56aMaMGZOvf/3rqaqqyu23377F8ydMmJCXXnopo0aNyvjx49O/f//cfffdhT1G%2BLTTTsu3vvWtzJ07NyNHjszEiRMzfPjwdOrUabMfZGzJ2LFjM3To0EybNi0jRozIzJkzM2HChLRo0aLGec2aNcsdd9yRXXbZJZdcckmuuuqq7Lfffjn33HNrnNeqVavcfvvtadq0aS655JJcccUV2XnnnfPd7353mz/GsWPHpmnTphkxYkROPvnkTJw4scblBx54YNq3b58OHTpU/95sACh3FaVSqVTbQwDA%2B1m0aFGOOuqoXHrppRk2bNgHnjthwoRMnDgxTz/9dPXv%2B/64LF%2B%2BPAMGDMg///M/51vf%2BtY2XUf//v1z8MEH57rrrit4uuLNnTs3J554Yq688sqcccYZtT0OAOwQ3EUcAD6kJUuW5LbbbkuvXr3SsmXL/PWvf833v//9rFq1qvr3jNdXCxcuzOLFi/Pd7343bdu2zaBBg2p7JADYYQhsAPiQKisrs3jx4lxzzTVZtmxZmjRpkm7duuWaa67JfvvtV9vjbVeTJk3KT37yk3To0CE333xzmjZtWtsjAcAOw13EAQAAoACe5AwAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACvD/AWLmtvYcplPsAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd1yV5f8/8NcBQWQoqIhbTMM0Z7gHauYKXLjLtBxlliPTj7kyNXNl5i5Ncu%2BcmGaOTNxbnIgiMhRUQIEjcIDz%2B4PHuX73zVk3eDP6%2Bno%2BHj7kDO5zc517XO9rvC%2BNXq/Xg4iIiIiIiIheiU1B7wARERERERHR/wUMsImIiIiIiIhUwACbiIiIiIiISAUMsImIiIiIiIhUwACbiIiIiIiISAUMsImIiIiIiIhUwACbiIiIiIiISAUMsImIiIiIiIhUwACbiIiIiIiISAUMsAuZhQsXokaNGqhRowYmT55c0LtDKkpPTxffbY0aNfD48eOC3iUqAOHh4eIYqFWrltn38VpARAajRo0S14PVq1cX9O5QHpo7d674rmfMmGH2fU2aNBHvCw4Ozsc9/L8rOTlZVk%2BLi4sz%2Bb4NGzaI93z22Wf5vJf/Ta/bNaxIXmz0m2%2B%2Bwa5du8y%2BbmdnB2dnZ5QtWxZvv/023nvvPfj4%2BMDW1jYvdoeIiCjfjBs3Dvv27ROPe/fuje%2B//74A94iIiIjyS4H0YOt0OsTHx%2BPWrVvYsWMHhg8fDj8/P1y7dq0gdoeI6D%2BJoyIKn6SkJBw%2BfFj23IEDB5CSklJAe0RERAWBowwKh4L4HvKkB1uqRIkSqFOnjuy5tLQ0xMTEIDw8XDx3//59DBo0CGvXrkXdunXzereIiIhUd/DgQbx8%2BVL2nCHo9vPzK6C9IiIiovyS5wG2pbH2ERERmD9/Pv766y8AgFarxaRJk7B3717Y2HB6OP3fUqRIEdy5c6egd4P%2BI7766it89dVXBb0blEO7d%2B8WP7dq1QonTpwAAOzatYsBNhHR/wEDBgzAgAEDCno3qBAr0Ci2UqVKWLRoEdq2bSueu3v3rqiQEBER/VdERETgwoULAAAnJyfMmTMHDg4OAIBTp04hJiamIHePiIiI8kGBdxNrNBqMGjVK9tyZM2cKaG%2BIiIhyZ/fu3dDr9QCADh06oHTp0qIBOTMzE3v37i3I3SMiIqJ8kOdDxJWoWbMmHB0dodVqAQBRUVE5%2Bv0zZ87gr7/%2Bwvnz5/HkyRMkJyfDzc0N1atXR9u2bdGrVy84Ojoq2tbdu3cRFBSEixcvIjQ0FLGxsUhNTYWLiwvKli0Lb29vdO3aFfXq1cvRPhoqV/v27cOdO3fw/PlzuLu7o3r16ujRowc6dOiQJ1nUw8PD0aFDBwCAra0tbt68CSCrp2Xr1q04fvw4Hj9%2BjNTUVFSqVAkdOnTAkCFD4OzsLNtOUlIStmzZgr///huhoaFIS0uDu7s7WrRogWHDhqFy5cqK9kfN8jX3t4WHh2PLli0ICgrC48ePkZ6ejvLly6N169bo378/KlWqVCDbTU9Px9tvvy0eHz9%2BHGXLljV638KFC/HLL78AAHr16oVZs2YBAC5cuICtW7fi6tWrePz4MRwcHFC5cmW8%2B%2B67GDhwoNF3ZklkZCQ2b96M48ePIzo6GgBQtmxZNG3aFH379kWNGjUAAD4%2BPqLXbePGjWjYsKHiz7AmNjYWmzdvxpEjRxAVFQW9Xp/rfZBmbR49ejRGjBhh9fNz8rddu3YNp06dwuXLl3Hv3j08e/YMOp0OxYsXR4UKFdCwYUP06tUL1apVy3E5mGPuOACyekM/%2BeQTo99p3bq1yW0Zfv/kyZMYPHgwAKBYsWI4ceIEXFxcFO3P0qVLsWTJEgDA22%2B/jZ07d%2Bbo7wGA7t2749atWwCAL7/8EiNHjlT0eykpKWjWrJm4RyxduhTt27c3et/du3exc%2BdOXLx4EeHh4UhKSoKNjQ2cnZ1Rrlw5eHl5wdvbG%2B3bt4erq2uO998SvV4vGx7etWtX8f%2BBAwcAZAXgw4YNs7idlStXYsGCBQCAqlWr4uDBg4r34euvv0ZgYCAAoHPnzvj555/NvjctLQ1//vknjh07hhs3buDZs2fQ6/UoVaoU6tWrh06dOqF9%2B/bQaDQWP3PUqFFimtf//vc/DBkyBOnp6Th06BD279%2BPkJAQPHnyBC9fvhSvSz18%2BBD//vsvLly4gLt37%2BLx48dISUmBs7Mz3N3d8c4776Bz585o1qyZ4nIAsu65%2B/btQ2BgIG7fvo2EhASULFkSVatWRbdu3eDr6wt7e3ts2LABM2fOBAC0adMGv/76q9Vtq1V2r0qn0%2BHPP//E3r17xXXJzc0NtWrVQrdu3dC5c2dF28nIyMD58%2Bdx%2BvRpXLt2DWFhYYiPj0dmZiZKlCiBqlWrokmTJujduzc8PDwU79/t27exc%2BdOXLp0CREREeJ8dHFxEedjo0aN8N5776F48eJWtxcXF4c9e/bg33//RVhYGOLi4mBvbw8PDw80adIE3bt3z3EOn8zMTPz999/4559/cOXKFcTFxSEpKQlOTk6oWLEiateujTZt2sDHxwdFipiuMicnJyMoKAhnz57FzZs38fDhQ7x48QJ2dnZwdXXFW2%2B9hZYtW8Lf3x/FihXL0f4VlISEBGzZsgWHDh1CZGQkdDodPDw88M4776Bfv36inP39/XHjxg0AwKJFi9CpUyejbc2dOxcBAQEAgA8//BDffvut1c9Xsl2DO3fuICgoCJcuXUJoaCiePHki6pXlypWDt7c3unfvjtq1a%2Be4HMyxdN0ICQlBly5djH6nV69eJrdl%2BP07d%2B6I%2B4aNjQ0OHz6MChUqKNqfrVu3inItW7Ysjh07luuptqbKXqvVYs%2BePQgMDER4eDieP3%2BO0qVLo169eujVqxdatmyZq8%2By5vLlywgMDMS5c%2BcQGxsLrVYrruNt2rRBz549zdZhcvs9qKVQBNgajQYuLi6i8pSYmKjo9yIjIzF16lScOnXK6LXY2FjExsbi1KlTWLlyJX744Qf4%2BPhY3F7Xrl3NzpGNj48Xmc83bNiATp06Yfbs2YoC95iYGIwePRqXL1%2BWPR8VFYWoqCgcP34czZo1w08//WR1W2rYs2cPpk2bZpSIJzQ0FKGhoQgMDMSGDRvEjfTq1asYOXKk0fDGqKgobNu2DXv37sXixYvNVu4N8qp8pXbu3InvvvsOqampJv%2B2zZs3Y/LkyWZPsPzerhJpaWmYPXs2Nm3aJHs%2BNTUVwcHBCA4OxpYtW7B69Wq8%2BeabVre3fft2/PDDD%2BJ8M7h37x7u3buHLVu2YNy4cSIQywt//fUXpkyZghcvXpjdh6%2B//tqoMp7f4uLi0LdvXzx8%2BNDk68%2BePcOzZ89w7do1rFmzBh988AEmTpxotiJW0Jo3b45KlSohIiICL1%2B%2BRGBgIPr372/19/R6vSyg7tmzZ64%2Bv2vXriLA3rdvn%2BIA%2B8iRI%2BJ4LV68uNG1Rq/XY968eVizZg0yMzONfj8uLg5xcXG4ceMGdu3ahXXr1smW0VLDhQsXEBkZCQAoU6YMmjZtCiBrHrabmxvi4%2BMRGhqK4OBgo8SfUl26dMFPP/0EvV6PsLAwXL9%2BXVHFUKvV4ujRo7LtmHPixAlMnz4dERERRq9FRkYiMjIS%2B/fvR7169fDzzz%2BjfPnyVj/fIDo6GmPHjjW635kyZMgQBAUFmXwtISEBCQkJuHv3LrZu3YoWLVpgwYIFcHNzs7pdc/fcx48f4/Hjxzh9%2BjQ2btwoGoxyIi/LLifM/Y0xMTGIiYnBsWPHsHXrVixcuNBimd28eROffvopnjx5YvL1J0%2Be4MmTJzh37hx%2B/fVXjB49GkOHDrW4bxkZGZg9ezY2bNggRnRIGa6b169fx86dO7Fp0ybs2LHD4jZ///13LF26FElJSbLnU1NTkZiYiNDQUGzatAndu3fHjBkzYG9vb3F7AHDu3DlMnz4doaGhRq89f/4cz58/x40bN7B161a888472Lx5s9H7tm/fjlmzZhnVp4CsBhCtVovo6GgcPXoUy5Ytw48//ojmzZtb3beCdPr0aYwfP97omAgLC0NYWBh27tyJYcOGFXiOEJ1Ohx49euDu3bsmXzfUK2/evIn169fDz88Ps2bNEtN2CpsaNWqgfv36uHLlCjIzM7Fz507F90jp%2BePv769qHqt79%2B7hyy%2B/xP3792XPR0dHIzo6GgcOHICfnx9%2B%2BOEHFC1aVJXPTEpKwtSpU/Hnn38avSa9jv/yyy%2BYMmVKocxvUihqgXq9XlbRdnJysvo7t2/fxtChQ2UXAEdHR1SvXh3FihVDbGwswsLCAGTdIEaMGIGFCxea7PUwkAZ/dnZ28PT0hKurK2xsbPDs2TOEhYUhIyMDQFam2CdPnmD9%2BvUWe57j4uLw8ccfyw5Me3t7eHl5oVixYggLC8PTp09x%2BvRpfPHFF6r2EJpy9OhRTJgwAXq9HsWKFYOXlxeKFi2K0NBQxMXFAcjqURg6dCh2796Ne/fu4ZNPPkFycjJsbGzw5ptvwtXVFY8ePRJBR0pKCkaPHo3AwEBUrFjR7GfnRflKHT58GBMnTgSQlVDMy8sLzs7OePjwoVi%2BSKvVYsqUKbCxsYG/v3%2BBblepyZMni6Glbm5u8PT0hI2NDe7evSvOm5iYGAwbNgyBgYEWe7K3b9%2BOKVOmyJ4rU6YMqlSpgpSUFNy9excpKSmYO3dunrW0Hz58GF999ZX4rgGgdOnSqFq1Kl6%2BfImQkBCkpaVh3rx5iq4FeUmr1cqCawcHB3h6eoreltjYWISHh0Ov1yMzMxMbNmxAfHx8njeWubm5iRZjaYDSuHFjkxVLQ8OLRqNB7969xf5t375dUYB96tQpMbLIwcFBtLLnlK%2BvL%2BbPn4/MzEyEh4fj2rVrinqcpMFwx44djf7GH3/8UfSQAFmt/1WqVIG7uztsbGzw4sULPHjwQATppir9r0raAOHn5ycqOHZ2dujcubNoINu9e7fFALtcuXJo1KgRzp07ByDrb1cSYEsbIVxdXdGqVSuT7/vjjz8wdepU2fnn7u6OSpUqwdbWFg8ePBD31atXr6J///7YtGmTop6Uly9fYujQobh37x6ArGtL5cqVkZaWJu7HUrdv3xY/FylSBJUrV4abmxvs7OwQHx%2BP%2B/fvQ6fTAQBOnjyJAQMGYMeOHRavTfHx8Ub3XDs7O3h5ecHJyUk0bAcHB2PIkCHo0aOH1b/LIC/LLifS0tLw6aefivIzXMO1Wi1CQkJEmZ0%2BfRrDhg3D2rVrzV5Lnz59KqtHOTs7o0qVKnBxcUF6erqoRBs%2Bd/78%2BUhJScGXX35pdv9mz56N9evXi8c2Njbw9PRE6dKlodFoxPloCEpNNYoZ6PV6TJ06Fdu3b5c97%2BnpiTJlyiAtLQ0hISHQarXQ6/XYtWsXoqOjsXr1atjZ2Znd7p49ezB58mRRVkBW3ax69eooXrw4kpOTERYWJgJ6cx0/4eHhsuDa3d0d5cuXh6OjI1JSUhAWFoaEhAQAWQ0Lw4YNw2%2B//ZbjERn55cKFCxg%2BfLhsWUFXV1dUq1YNOp0OoaGh0Gq1WLlypWrBVG5lZmbKgms7OztUrVoVJUqUgI2NDZ4%2BfYqwsDBxfAUGBuLp06f4/fff8zSRspOTk7g/nz17VhxjDRo0MHkeSkc29unTB1euXAGQdU/54osvrO5rSEiIWOZYo9HkugHclISEBHzyySeig61ixYooX748EhISEBoaKivb5ORkLFu27JVH47548QIff/yx6EUH5HXviIgIPHr0CEDW9X7cuHGIj4/HRx99JNvOq3wPaigUAfaNGzdkF6jq1atbfH9iYiJGjBghbgrlypXDhAkT0L59e1nPUVhYGGbOnImTJ09Cp9Nh4sSJePvtt822KBcvXhz%2B/v5o37496tWrZ3RxTkhIwMaNG7FixQrodDpcvHgRv//%2Bu8XW3O%2B//152ox84cCBGjhwpKuiG4UnTpk3DpUuXTFZC1JKZmYkJEybA1tYWX331FQYMGCBa8jIyMhAQEIAff/wRQNYJu2vXLqxZswbJycno1q0bxo8fD3d3d7G9EydOYPTo0UhOTsbLly%2BxZMkSzJ071%2Bzn50X5Sv%2B2yZMnAwB69OiB8ePHo1SpUuL1oKAgTJkyBY8ePYJer8d3332Hhg0bWh3anlfbVerw4cNISEhA%2BfLlMWXKFLRt21ZcbHU6HVavXo2FCxcCAB49eoQ1a9aYrfiEh4eLIU1A1nkzffp0%2BPj4iKGMycnJCAgIwPLlyzFnzhzVb0JPnz7FxIkTRQXVzc0N06dPR/v27cVnvXjxAkuWLMG6deswe/bsAl9RwN3dHb169UL79u1Rs2ZNo/2JiYnB6tWrsW7dOuj1euzfvx/t27dXPDwzN2rWrInVq1cbTTuYP3%2B%2ByWkHUv7%2B/li8eDHS09Nx48YN3L59G2%2B99ZbF35G2jnfs2FHxsPLsPDw80LhxY5FnY9%2B%2BfVYD7ISEBFkjQvae2ZiYGKxZs0Y87tevH0aOHInSpUvL3qfX63Hr1i0cPHhQUe9qTrx8%2BVIMkwZg1ADRtWtXEWAHBgZiwoQJFnvYunTpIgLsP//8ExMmTLB6HlhrhACAS5cuyQLEJk2aYNy4cbLvQK/XIygoCNOmTUNUVBQeP36M8ePHY8OGDVb3ISAgAMnJyahevTqmTZuGxo0bi9fS0tIQHx8ve7%2BjoyP69euHTp06wdvb22ifk5KSsGPHDixatAharRahoaFYtGgRvvnmG7P7kP2eO2DAAIwaNQolSpQQz128eBFTp07FvXv3zK5ykl1el11OrF27FvHx8fDw8MDMmTNl1/C4uDgsWLBAnLPBwcH46aefMHXqVLPb8/T0RO/evfHuu%2B/ijTfeMHr93r17WLJkiZjqsHz5crRr1w41a9Y0em9ERAQ2btwoHn/00UcYMWIESpYsKXtfZmYmbty4gYMHD4pRLaasWrVKFlz369cPw4cPR7ly5cRzaWlp2L59O%2BbOnYvU1FScPXsWS5YswdixY01u8%2BrVq7LgumTJkvjqq6/QpUsXWeONXq9HcHAw9uzZg6tXr5rclkajQZMmTdCtWze0bt3a5HXn7NmzmDNnDm7duoX09HT873//w%2BHDhws8QM0uOTkZ48aNE8G1k5MTJk%2BejG7duom6tVarRUBAAJYtW4bly5fnaGpaXnB1dYW/vz86dOiAOnXqGI0ei4uLw4YNG7By5UrodDqcOXMGGzduNArG1FShQgVxXWnSpIloYJk8ebLFxlUAeP/99zF79mwkJiYiOjoaJ0%2BeNNtYaiA9P5o3b26xoyunfv75Z8THx6N69er4/vvv0aBBA/FadHQ0ZsyYgWPHjgEAjh07hrVr177y6McZM2bIguu%2BfftizJgxsmvImTNnMGXKFERERECv12P27NmoW7eubHrpq3wPaijwJGd6vR5Lly6VPdexY0eLv/Pjjz%2BK3hRPT0/s3LkTnTt3NjqxqlatipUrV4oWjMTERCxfvtzsdo8fP46JEyeiYcOGJls%2BXV1d8cUXX4j5cQCwfv16pKenm9ze5cuXsX//fvH4008/xeTJk2VzjWxsbNCxY0cEBATAwcHBqAKiJsNIgXnz5mHo0KGyYTK2trYYNmwYunXrJp777rvvcPfuXfTr1w/z5s2TBddA1tBHQ88uABw6dMjkMCkDtcs3%2B9%2BWkJCA3r17Y86cObIgGABatmyJ9evXi3mXqampmDdvXoFtV6mEhAS4u7tj8%2BbNaNeunaySZmdnh%2BHDh8t6IHft2mV2WwsWLBBD3EuUKIF169ahdevWsnmCTk5OGDlyJCZOnIiUlBSjYeSvavHixaLX3cHBAQEBAejYsaPs7ypevDgmT56MTz/9NE/2ISc8PDxw9OhRjBkzBm%2B//bbJSrKHhwcmTZqE//3vf%2BK533//PT93M0fc3d3x7rvvisfWhmYmJCTg8OHD4nHv3r1f6fOlAfKff/4p6w005eDBg6IiXLZsWTRq1Ej2elBQkLhGNG7cGNOnTzeq5AJZFeFatWph7NixsoBcDYcOHUJycjKArNEC2QOPBg0aiEa3hIQEHD9%2B3OL2OnXqJK6RsbGxOHv2rMX3x8fHy6ZKmRphkJGRgW%2B%2B%2BUaUt5%2BfH9asWWPUwKHRaNCqVSts3rxZXO8uXryIv//%2B2%2BI%2BAFkVdE9PT2zcuFEWXAMQc2Wl9uzZg%2BnTp6NZs2YmGwScnZ3x8ccfY9WqVeLc27Ztm9EwYYPr16%2BLOegAMHToUEydOlUWXAOAt7c31q9fjwoVKii65%2BZH2eVEfHy82Wt4yZIlMWvWLPTr1088t2nTJjGqILtGjRrh4MGDGDp0qMngGgCqVauGn3/%2BWZz7GRkZWLt2rcn3njhxQvRqtWzZElOmTDEKroGsuk%2BdOnUwfvx4rFq1yuS2Hjx4gMWLF4vH3333HaZPny4LroGsY%2BvDDz/E8uXLxXESEBCA2NhYo20aOhqk15StW7eiT58%2BRiMjNBoN6tati6lTp5r9ez///HOsW7cOPXv2NHvdadq0KTZt2iQaMmNjY2V1w8Ji9erVomfQ1tYWy5YtQ8%2BePWV1a0dHR3z55ZfifHj%2B/HlB7S7s7e3xzz//YMKECWjQoIHJqVklS5bEqFGj8MMPP4jn1q5da3HUREEqVqyY7B5p7f6clpYmS56p9jTF%2BPh4VKxYEevXr5cF1wBQvnx5LFu2DG3atBHPLVmyRASyuXHhwgVZY/HgwYMxY8YMo2tI06ZNsXHjRnFPycjIwPTp03P9uXmhQAPsiIgIjB49WrR%2BAFk3LlOtogZxcXGyIGLu3LkmL94GRYoUwYwZM8SJt2/fPrM3Z6XzfTt27CgOtMePH4skWNlt3bpV/Fy5cmWLcylq1aqVp3NeDdq2bQtfX1%2Bzr/ft21f8rNPpUKpUKVkQnV3Xrl1FuWm1WtmQv%2BzULt/sSpUqZbFno1KlSrKM9UePHjV5A86v7Sr1zTffWOyVHDRokPg5MjLS5Gc/e/ZMNj/zyy%2B/tNjL/tFHH6newpecnGx04axVq5bZ948cOVK1kQC5ZWdnp2guHwB8/PHHsrwFz549y8tdeyV9%2BvQRP%2B/du9cot4DUnj17kJaWBiCrQTN7gJtTHTt2FD03T58%2BtbpqhDRgkg69NjBM0wCAd955R9E%2BqJ1Q0lRys%2ByklSZLDWGA8Txza/PFDxw4IAKGChUqwNvb2%2Bg9hw4dQnh4OICsIcXff/%2B9xV5VDw8PWQ%2BgqfmnpkydOlVxAjml94SGDRuiXbt2ALKuI%2BYaHLZt2yZ%2BrlChAkaPHm12m6VKlZI1ilmSX2WXE19%2B%2BSU8PT3Nvj5hwgTRKJ6ZmSkrG6lixYopTsb29ddfi7qUtN4mJc3VYuo4NMXc%2Bbh27VpxXL/33ntWp7O0bNlSnGc6nc5kcHLkyBHZSME5c%2BYous%2BYG2Kv9Bh2dHQ0qicUJhkZGbLy6tmzp8Vh7AMHDsxxsl%2B1aTQaxVPZunbtKuobERERCAkJyctdeyXSeviRI0fE9E1TDKMcgawRge%2B9957q%2BzNp0iSzcZatrS1mzJghOuy0Wu0rrZYhzTVUuXJli/P8PTw8ZPHJjRs3VB%2Bd9iryPMC%2Bc%2BcOhgwZIvs3cOBAdOzYEe3bt5cNq2vRooVsCKspBw8eFJXBevXqoX79%2Blb3oUKFCqLilZKSYnaoT05IW66Dg4ONXtfr9bILaO/eva1W1D/44IM8Hw5rrXWrdu3asn3w9fW1mBCiaNGiItszAKMkCLllrXxN6datm9XhSv7%2B/uKGmJGRYbaSkB/bVaJEiRIWs2cCWSM1pD3rpr6DU6dOiYqKvb291XmHGo1GdpFXw%2BnTp0VvtI2NjdXKkr29vSwQLOwMPTIGSo/bgtCyZUsxL/T58%2BcWe9iklS41WsddXFxkLd6WgsdHjx6JdaUB04m7pMMszSVRzEuPHj0SjQQajcZsshVp4P3vv/9arDRlf/%2BhQ4dEI4cp0jL08/MzGTBJKz2meutMef/990VAdenSJYv7AGTda1u0aGF1u7mh5J7w77//ip/9/f2t3nPbt29vstcxu/wou5xwcHCwOs/S0dFRlg9EOgolt9zc3GQjMUwlf5SWuaUGd2syMzNljWsDBw5U9HvSa4Sphhhpz3GDBg3ydS60NCAtbPeH69evyxpHPvzwQ4vv12g0%2BOCDD/J6t1SVm3plQXjrrbfEvup0OosBq/T%2B3K1bN8UdAkqVL19eNuLNFA8PD1lgn9trTWZmpqzu3K9fP6t/T6dOnWQdUEeOHMnVZ%2BeFPJ%2BD/fz5c7NZQg08PT0xYsQIdO3a1WpL6sWLF8XPTZo0UbwfXl5eYk7bjRs3LFYCdDodTp8%2BjeDgYERERCAxMRGpqamyxDiG1mwARtm1Da9Lh85Ym0MBZA3drFmzpmzugdqstTgWLVoULi4uYt%2BVNGBIKyjZs0Kbokb5mqKkjIsVK4ZGjRqJIZrBwcFWA8m82q4StWvXVpSR2sPDQ/SYmkrGIr2ZvP3224rm0Obk/FJCug9eXl4oU6aM1d/x8fEReQEK2suXLxEUFIQbN24gOjoaSUlJRj2/0gBP6XFbEAzJzgzLOO3YscNkYHjt2jXR0l%2BkSJEcJYSypGvXrqJx9dChQ5g%2BfbrJ%2BYiBgYHiuuDl5WVyrrg0AdixY8ewYMECfPrpp7meJ55Te/bsEcMNGzVqZDbHh6enJ%2BrWrYtr165Bp9Nh3759stEn2bVt2xYuLi5ITExEYmIijh07ZnL6VHR0tKzV3lQjhF6vx6VLl8Rjpee2o6MjKlSogPDwcKSmpuL%2B/fsW5%2Bs3aNAgV0tTZWRk4Ny5cwgODhaJpV6%2BfCm7JxiGrgKmz62nT5/K3qPkb7S1tYW3t7esoT%2B7/Cq7nDCXpCc7Hx8fsexMZGQk4uPjLWYUj4%2BPx8mTJ3Hz5k3ExMQgOTlZlgQMgGyEVExMjFHvr/R8/Ouvv7B48WIMHjw4x3N1Q0JCRH3Czs5O8egULy8v8bOp0W/SBjvDcpxqCQ8Px5kzZxASEoK4uDgkJyfLpsBIhyXHxsZCr9fn%2BVJuShmSZAFZdTolx6q1lXnyU1pamqxeabg/S68h0pELhfn%2BDGQ15Bm%2Bkx07duDjjz82ek9UVBROnz4tHr/q9DF7eGgAACAASURBVC1TmjdvrugYbdWqlWgQu3HjRq6O7bt378qmBCo5vjQaDVq3bi1GDKvRgaqWQpHkLDIyEqGhoYq%2BDGnGwCNHjigePiwN2MzNuUpPT8eaNWuwatWqHM0hMBXQSFt2bWxsFK%2BPW7169TwNsC0NpzdwcHAQAbbS9xtIM09mp2b5mqJkiSogq4wNgbD0uMjv7SqhpHcFkH8HpubBSyueVatWVbTNSpUqwc7OzqiClVvSc0Jpmb7xxhuwtbW1Ok83L6WkpGDp0qXYuHFjjuaDKz1uC0rPnj2xdOlSpKen48yZM4iIiDBay13aOt62bVvFx6M1Pj4%2BKFGiBJ4/f47k5GQcPXrUZFI4aQ%2BWuWWnmjRpglq1aol7wcqVK7Fu3To0b94czZo1Q4MGDVCrVi3Vh4UbSIeHW1oay/C6odK0e/duiwG2vb09OnTogD/%2B%2BANAVlmYCrCljRBvvfWWyXPryZMnsmvuokWLFC9V8/TpU/GztfnK2Y8fa/R6PbZt24YlS5aYXSbKFFPTvAyZrg3MzSfOztr78qvsciIn9ySphw8fmgyw4%2BLiMH/%2BfOzbty9H13tT17iWLVuievXqYumrZcuWISAgAC1atBDno6lkkdlJl87SaDQYPny4on2S3itevHiB9PR00UidlJQkO87Uyhp8%2B/ZtzJo1S3TiKJGZmYnk5OQCTxJmkJv7c8mSJVGyZEmro3Hykk6nQ0BAAAICAnJUrzQ3VbSw8PX1xZw5c5CUlIS7d%2B/iypUrRh1ef/zxh2i0adCggdUE0bmh9FiQvi8pKQnPnj3LcX1BuvShnZ2d4mu4dBStqeUTC0qeB9iNGzeWLdeQnp6OmJgY3Lp1CwEBAbh48SLS09OxcuVKpKenY8KECRa3Jz2BDGvm5pSpE0un02HkyJG5GtprauiXtCfX0dFR8bANpXPXcsPW1jbHlUxLy1yYYm75G7XL1xSlZSd9n5Ie97zarhI5LX/A9HcgrQhJk%2BxZotFo4OzsrFrFUFomSsvUzs4OTk5OqpVnTiUlJeGTTz6Rte4rpeaQ0LxQpkwZtGnTBocPH4Zer8cff/yBMWPGiNdfvnwpG06pZuu4vb09OnbsKOaF7tu3zyjADg0NFUNMNRqN2dwRGo0GS5YswbBhw8T0iJSUFBw9elRM03FxcUHLli3Ro0cPozW0X8WVK1dEr4i9vb3V6Ry%2Bvr6YO3cu0tPTcfPmTdy5c0dWOciuS5cuIsD%2B559/kJiYaNQzLx0ebi7Az17xlPbi5YS1RqOcLKun1%2BsxadIk2fJmSpk6t7Lf15WOYLB2PcyvsssJpddPw3JFhkq4qYRUUVFRGDBggFEDhRKmvgdbW1ssX74cw4YNEw3NL1%2B%2BxOHDh8XQ0eLFi6NVq1bw9/cXSWizk5Z7Wlqa1ZGQ5iQlJYnyyv73K%2BlAsObEiRMYMWJErq73hekekZv7s%2BG9BRVgp6Wl4fPPP8/VsVGYyt4UR0dH%2BPn5YcuWLQCyGrulAXZmZqYsl4fayc0MclP/BbLOtZwG2NJj0MXFRXG8Im00LMike9nlew92kSJFUKFCBVSoUAHt2rXDt99%2BKypZAQEBaNq0qcUKkKUs1UqZyh64atUqWfD3zjvvoFu3bqhTpw7KlSsHJycn2RDGhQsX4pdffjH7GdJW4JwESWrPnygs1C7f7DQajaKh1IC8jK1dZPNqu/ktt%2Bv%2BqrlesLRM/ivnxOzZs2XBdevWrdG5c2fUrFkTZcuWNWo8GzdunNWEVIVJnz59RKV3165dGDlypLipHThwQAQtZcuWNVsRzq0uXbqIa/%2B///6L58%2Bfy7I9S8uxYcOGFtcSrlixIvbs2YPNmzdj%2B/btspFOQFZwc%2BDAARw4cAANGjTAggULVFmbWFrBycjIQPv27a3%2BjvT%2Bs3v3bouNyk2aNIGHhwdiYmKQlpaGv/76S1aRCgkJEUP4bWxszM7/VuO%2BmX3fTclJDpEdO3bIguuaNWuiZ8%2BeqFevHsqXLw9nZ2cULVpUjGzbsGGDxRwteXWNy6%2Byywml10/D/ctw7TV1Xxo/frwIrosUKYLOnTujXbt2ePPNN%2BHh4YGiRYvKrnH%2B/v5WR9lVqVIFe/fuxebNm7Ft2zajvCAvXrzA/v37sX//fjRu3Njk8oJqrR4hLffsf/%2Br3lvi4uIwduxYsd3ixYujV69eaN68OTw9PVGyZEk4ODiIa2pycrLioe757b9YZ122bJksuG7UqBG6du2K2rVro2zZskb1yrlz5yIgIKAgdjVX%2BvbtKwLs/fv3Y%2BLEiaIRMygoSJy3Tk5OeP/99/NkH5R%2Bv9nfl5uRj2rUEdUacamGAh0irtFo8O233%2BLq1ati7uL06dNx8OBBs1%2Bqi4uLaOWYP3%2B%2B2YytOZGeni5bVmfQoEGYNGmSxd8xLMlijnTYj7X35mS7/0V5Ub7Z6fV6aLVaRT0o0m1b6%2BXIq%2B3mN2kvjdLeYL1er%2BrxWNjOCWsV3mfPnskCgIkTJ5qcByX1Xzt/W7VqhQoVKog1e4OCgkQDp3R4uL%2B/v%2BpDrA3zlaOjo6HT6fDXX3/JktopGR4uZW9vj0GDBmHQoEGIjo7GuXPncOHCBZw6dUos6whkLZ84cOBA7N69%2B5XO07S0NLEuMJAVYOd0eZJ9%2B/Zh3LhxZsvWxsYGvr6%2BolK4b98%2BWYAtbYRo1KiR2dUGsv%2BdZ86csTgXNz%2BsXLlS/Ozn54d58%2BZZPMasnVvZ/8bExESjZRVNsdazXBjLTul1RqfTySqt2f%2BWCxcuiLw2Go0Gy5cvtzrCQ%2BlnOzg44JNPPsEnn3yCyMhInD9/HufOncOZM2dkveXnzp3DoEGDsGvXLllGbuk9y8vLS5WGy%2ByjFV51VMGWLVvE/bR06dLYtm2bxYa7wnx/KGz3Z2sNX2lpaVi3bp14PGzYMIwbN87i7xTm8jelVq1aqF27Nq5fvw6tVosDBw6I67/0/uzr66s4m31OKS2z7O/LzdQH6fUpJ9%2BVdPRSYap7F/g62HZ2dpg6dap4HBUVZXFJC%2BkNU615rsHBweIi6ejoiK%2B//trq71hbhkk69CgtLU3x/LLIyEhF7/svyYvyNUVaibZEWsZKhojl1Xbzk3TdUGmiD0siIiJUbQ2UnrtKyzQuLk5RD5K0tVPJuumA9crV6dOnRRBepUoVq8E1kLvjtiDZ2NjIshEbbtphYWGyire1jMW5kX3Yt7QCfenSJXE%2B2dnZmZx7bEn58uXRvXt3fP/99zh69Cj%2B%2BOMPscwTkHWuSpcDyY3Dhw%2B/8nC0J0%2BeWB3eKG1EPnfunEjOo9frZUP4LTVCZA801bp35lZERISY82ljY4OJEydabcCxdm5lTy6ndEULa%2B8rbGUH5O6eBBj/LdK101u3bm01uNbr9bJ55UpVrFgRPXr0wOzZs3Hs2DFs375d9lkPHjwwWkZMuq%2BRkZGq5OEoUaKE7F7xqt%2BltPwGDx5sdVRMYb4/SOssSo%2Bv9PR02TKJ5uTm/mzt2nrp0iUxyqFEiRIWl%2BQzKMzlb440Wa7h/hwXF2e0SlFeURqTSN%2Bn0WhyVQeW/k5SUpLiBmtp/oDCVPcu8AAbyGp5lw4/XLlypdlkWdIs2NLsea9CmgDKy8vLZDZbKb1ebzVT3VtvvSUbLqdkSYDMzMw8TXBWUPKifE1RuuzC9evXxc9Kkpzk1Xbzk3T5qBs3bihK8GFurdnckq5vf%2BPGDUVDJpXOfZaOMFDSQ//w4UOLCfkAedIkaWZcc7Rabb4vE5V9SG5uhsn26tVLBDfHjh3Ds2fPsH37dvF68%2BbNUbFixVfbUTOkQeH58%2BdFZU3ae%2B3j4/PKuSlq166NpUuXomHDhuK53M7pNJAmN%2BvevTvu3Lmj%2BF%2B3bt3E71pbE7tmzZoieU1mZib%2B/PNPAFkrahgqwoY57eaUKFFCtmayWvfO3JLeE8qVK6dorp619U1Lly4ta0hUcv3KyMiQrUxiSmErO0D5PUn6vmLFihkluJR%2BD9J7hDkhISGqJIeqW7cuVqxYIVs2Kfv5KK3rabVaXLly5ZU/t0iRIrJr%2Bfnz519pe9J7hJLyK0xr9GZnWCMayMpvpKQH8fbt24oa4aX3ZyWNkklJSbJj0xTp6zVq1LA6pDgzM7NAMkxL79G5uT/7%2BvqK8rt8%2BTLu3buHPXv2iHL38vKSnUdqk9ZrLZFeazw9PXPVoy6tIwLKM4JL3yc9jqVe9XvIjUIRYAPA559/Ln5%2B%2BvSpSLmenTQQv3TpkioVWukFQkkm89OnT1tttXNycpIdLIZKkSVnz54VSy39X5IX5WuKkjK%2Be/eumLMIAN7e3gW23fzUokULcQNKS0uzWqkHYNSj8KqkwU18fLxYO9gSaQ%2BdJdLeKyXXBCVrJUpb2pUct/v378/3%2BT82NjayBitrjQameHh4iN4knU6HHTt2YM%2BePeL1vEqeAmRVjAzL6uj1egQGBiI9PR0HDx4U71EyPFwJGxsb2Xqer3Ktzd7znNMedmkytCNHjlhtFJKWgaGnX9oI0aZNG6vJuqT3zh07dijuScoLOT237ty5o6jxWbqsy65du6zmwjhy5IiiHtnCVHZAVo/vrVu3rL5Peu%2BqX7%2B%2B0SiBnF6vpI1Kr8rW1hZt27YVj7Ofj2XKlJEtuWWYi/qqpOte79%2B//5WGDef0OFZy3y0oDRo0EEGITqdTtJax0vuztOFLWk8y59ixY1Yb4HNa9sePHy%2BQZGzFihUTP2df1lMJJycnWW6NHTt2iMSXQN72XgNZcYmScpNea3Jb/3V1dZVlI1dyfMXGxsrqktJ6ptSrfg%2B5UWgC7IYNG6Jx48bi8W%2B//Wby5ujj4yNaYfV6PaZNm/bKCaWk6/HeuXPH4gU3LS0Nc%2BbMUbRd6dC%2BP//80%2BKFJTMzE4sWLVK03f%2BavCrf7IKCgqxmeP3pp5/Ez%2BXKlUPTpk0LbLv5qWTJkrLgYunSpRaXM9i4cWOuMmdbUqNGDVmj0%2BLFiy3eRENCQhTfwKWtlpcuXbI4JeP58%2BeKEp24u7uLn69cuWJxX58/f15g56%2B09086VConpMPQli1bJoIOV1dXvPfee6%2B2g1ZIg8fAwECcPHlSVLadnZ1lx60pOWmNliZOkiZUy6m9e/eKIatOTk45TgDXsmVLMUctLS3NaiOen5%2BfqETeuHEDISEhskYIJblIPvroI1GBjoyMxNKlS3O0z2qSnltRUVEW16TNzMzErFmzFG1XOoff2t8YFxeHuXPnKtpuYSo7A8Ma9uZcunQJ//zzj3hsag176fdgrXf13r172Lhxo9X9UvN8HDhwoPg5MDDwlUedAEC/fv1EY/OLFy8wb968XG9LWn7StdJN2blzZ6Eeoeju7o7mzZuLx8uXL7dYt378%2BLHiRg/piL779%2B8bJaGUSk1NxYoVKxTtr8HNmzctNi6npqa%2B0vf8KqT7qcb9eePGjaL87O3tVclDZYlOp8OSJUssvicwMFAW35i61iglnY4WGBgoVhIxZ%2BHChaKxxdHR0WyyNzW%2Bh5wqNAE2IO/Fjo2NlU3iN7CxscH48ePF48uXL2P48OFWeyNevnyJnTt3YvDgwUav1atXTyRV02q1mDt3rsmbRFJSEkaNGqW417xnz56i8puRkYEvvvjC5LCXjIwMzJgxo1APH3oVeVW%2BpowZM8bk0m16vR6LFy%2BWzVsZOnSo4qy3ebXd/PT111%2BL3s6EhAQMHDgQJ06ckL1Hq9Vi6dKl%2BP777%2BHg4CBr9VPDsGHDxM%2BXL1/GjBkzTM6ti46OxhdffKF43p23t7eYe5Oeno4ZM2aYDIhfvHiBL774QtFcLGmDX2RkpCwpk9SzZ88wdOjQHK3jqyZp5WXTpk25anD08fERvQzS1t1u3brleZbYLl26iODx1q1bsuClQ4cOVqeUzJw5EwsXLrQ66iUiIkJWIWzUqFGu91nak9e2bdscl5G9vb2s985az2DFihVl2YenTJkils8rXry4oqXHPD090a9fP/H4l19%2Bwc8//2y1FzMmJgaLFy9WtYJavXp1cb7q9XrMnDnTZK9wWloaJk2apHi6Su3atWUNNr/%2B%2BitmzZplNCz18uXL%2BOijjxAZGakoYVlhKjuDf/75BwsXLjR5L33w4AHGjBkjXqtcubLJJeSk17igoCD89ddfJj/r/v37GDZsmKKen2%2B//RaLFy%2B22Ghi2EfpVBRTPU/du3cXjbKZmZkYOXKkLLGgObdv38bEiRNNNlx5eHhgwIAB4vGWLVswb948i9fNJ0%2BeYMOGDUbPS8svICAADx48MPn7hw8fxrRp06zud0H79NNPxc8PHjzA%2BPHjTZZLXFwcRowYoTjTe7Vq1WRrGs%2BYMcPkdlNSUjB27FhFy%2B82aNBArPCSmJiIH3/80eT7EhMTMWLECMU5GdQmbfzfvn17rkZMvP322%2BI%2BLz0H27dvn6dL%2Bxps2rTJbGPKlStX8O2334rH3t7eZnuRlejZs6cIhjMyMjBixAiznUG//fabLBHtgAEDzCY5U%2BN7yKkCzSKeXfPmzVG/fn0x12bVqlXo3bu30dyKdu3a4bPPPsOvv/4KADh58iTatWsHX19fNG7cGGXKlIGtrS1evHiBsLAwXLt2DUFBQdBqtfDw8DD6XEdHR/Tq1Uskvdm6dStCQ0PRq1cvVKpUCVqtFsHBwdi2bRtiYmLg5OQEHx8fqxd6FxcXTJ48GV999RWArFaTLl26oH///mjYsCGKFi2K%2B/fvY/v27bh58yaKFi2KFi1ayIK1/wvyqnylbG1t0a5dOxw6dAj%2B/v7o06cPmjVrBmdnZ4SHh2PXrl2yuXb169fHBx98UGDbLQhVqlTB1KlTMWXKFABZQezQoUPh4eGBKlWqIDU1FSEhISKp2DfffIMVK1aIx2oEWr6%2BvtizZw%2BOHz8OANi8eTOuXr2K3r1744033kBqaiouXLiAzZs3IzExEY0aNcKDBw%2BsBq92dnYYOHCg6NU5dOgQ%2Bvfvj379%2BqFixYpITk7G5cuXsW3bNsTFxaFZs2YIDQ21uN0qVaqgdevWYl8XLlyIK1euwM/PD2XLlkViYiLOnz%2BPHTt24Pnz5yhbtiyqV6%2BuSi9LTvj5%2BeHQoUMAsirdrVq1wltvvSWb99aiRQt8%2BOGHZrdhY2ODXr16GbVU5/XwMyBrxEejRo1w7tw5APJ590pa51%2B8eIGNGzfi119/xTvvvINGjRqhRo0aKFmyJIoUKYKnT5/iwoUL2Llzp7ipuri4WCwPSww9yAbW1r42p1OnTmK49%2BXLlxEWFmY0R1aqS5cu4lojnXPWsWNHxefmxIkTcfPmTVy5cgV6vR4rVqzAnj174Ofnh7p168LNzQ06nQ7x8fG4c%2BcOLly4gEuXLiEzM1PVqQIajQYDBgzA4sWLAQB///03evfujb59%2B6JatWpISUnBrVu3sH37djx8%2BBB2dnbw9fVVNER58uTJuH79ukjmuG7dOmzevBleXl5wcnJCVFSUmLterVo19OjRQ1TOLZVjYSk7IKvh6ejRo/jll19w9uxZ9OzZE5UrV4ZWq8XZs2exdetWEfzY2Nhg%2BvTpJhuqfHx84OnpKQLDMWPGoHv37nj33Xfh5uaGuLg4BAUFieH2devWRUpKisXReM%2BfP8e2bduwYsUKNGzYEN7e3qhRowbc3NxQpEgRxMbG4sKFC9i1a5fYR1dXV/Tv399oW3Z2dliyZAl69%2B6N%2BPh4aLVajBkzBqtXr0aHDh1Qo0YNODk54eXLl3jy5Alu3ryJkydPimDK3EiysWPH4uLFi%2BJas3r1ahw6dEgs8VS8eHEkJyfj/v37OHPmDE6ePAlPT09ZYA4AH3zwAdavXw%2BdToeEhAT06tULH3zwARo2bAgHBwdER0fj4MGDYonS3r17yxoVCpsmTZrA399fBC0HDx5ESEgI%2Bvbtixo1aiA9PR1Xr17Fpk2b8OzZMzGc11KPtMHgwYNF3ePcuXPo2bMnBgwYgKpVqyIlJQXXr1/Htm3b8OjRI9SqVQtpaWkIDQ01u70SJUqgW7duYrj0%2BvXrcefOHfTs2VPc869cuYLt27fjyZMnKFGiBJo2bWq2ESmv%2BPn5ibrv5cuX4ePjg1q1asHZ2Vk0LNepU0fWwWhKnz59jBpp8uP%2B3LlzZxw4cADTpk3D4cOH4efnh/Lly%2BP58%2Bf4999/sXPnTtE46uDggOnTp7/S5xUvXhwzZ87E559/Dr1ej6ioKHTt2hV9%2BvRBkyZN4OzsjIiICOzevVvUGYCsuegjR440u121voecKFQBNpDVi/3ZZ58ByAoAdu/ebfIgGjt2LFxdXTF//nxkZmbi5cuX2LFjh8lebyW%2B/vprXLhwQdw4Ll68aDL5SdGiRTFv3jzFSUbef/99REZGYsGCBQCyWtNWrlxp1BtmY2ODb7/9FhEREf/nAmwg78pX6vvvv8f9%2B/cRGhqKdevWyZZwkKpWrRpWrFihuJc5r7ZbEHr37g29Xo8ffvhBBM4xMTGy3gZbW1t8/fXX6N%2B/v2wYolrLH/z000/45JNPROXm5s2bJi/K5cuXx/z582XDoywZMmQITpw4IY6rK1eumEyM4%2BXlhYULF8oSTZkzc%2BZM9O7dW5TPsWPHZOu5G5QoUQKLFi0y2cuR1zp27AhfX18xnD4hIcFofruSXrpevXph%2BfLlYtRA/fr1ZfOh8lKXLl1kN0sga2pJkyZNFG9Dr9ebva5IOTo6YsmSJSYbW5WQzqN0dHREq1atcrWdVq1awcnJSQT9u3fvFo2xpnTu3BmzZs0y6jXNyRx1e3t7/P7775gwYYJolImOjjY7OiMvDRs2DKdPnxaJpm7evGmyl69IkSKYNm0aUlNTFQXYbm5uWLt2LUaNGiXOf51OZzQ8t06dOliyZImsl9PS0jKFqezq168Pb29vzJkzB5cvXzY7%2Bk2j0WDGjBmyob9Stra2WLBgAT766CNotVpkZmZi586dsl4hgwoVKuDnn3%2B2WImVyszMxLlz54zO6%2BxcXFywbNkys0uqVapUCdu2bcPnn38uAq7g4OBc1REMDN/lyJEjRSbwiIgILFu2LEfbqVSpEiZPnozvvvsOQFb97tdffxWdP1ItW7bE%2BPHjC3WADWQtlRsbGysaiu/fv4/Zs2cbvc/NzQ0LFy7EhAkTFG23V69eOHbsmMh/EhISIuv5NKhQoQKWLl2q6Dj75ptvcPnyZdGgYu54K1asGObPn68o74vavL29MWjQIKxduxZA1kjN7PuoZKSen58f5s6dKxqlKlWqlC9TETt16oQyZcpg7dq1OHHihNGoRwM7OzssXrxYlTpD27ZtMWfOHEyePBnp6enQarVYs2YN1qxZY/L9b731FgICAiw2kKr1PeREoYsE2rRpIxvyuHLlSrMJRQYPHoy9e/fi/ffft9qCX61aNXz22WeicLNzdnbGpk2b0LVrV7MBUoMGDbBt27Ycz0n89NNP8csvv5jNxFu1alX89ttveZpMqKDlZfkalChRAlu3boW/v7/JjJJ2dnbo27cvtm3blqNU/nm13YLSp08fBAYGYsiQIahevTocHR3h5OSEatWq4YMPPsCuXbswZMgQ6HQ62VJWag1FcnZ2xoYNGzBkyBA4ODgYvW5ra4sOHTrgjz/%2BkCVHscbe3h6rVq1C3759TS75Y29vj759%2B2Lr1q2K17H18PDA9u3b0aZNG5Ov29jYwMfHB7t27UL9%2BvUV76vafvrpJyxevBgdO3ZExYoVc5XBs0yZMrJyyc/rUadOnYyu4b6%2Bvooaq/r37w9/f3%2BrAXPRokXRpUsXBAYGyhId5YROp5MlF2vdurXJY1iJokWLyoaJ79271%2BI8f1dXV6O53mXLls3xUHdDA8OKFStQv359iwmC7Ozs0LBhQ0ydOlU2NUsN9vb2WL16NT788EOzGYBr1aqFtWvX5rinxsPDA5s3b8a8efPQsmVLuLu7w87ODh4eHmjWrBlmz56NTZs2oVy5crLpZdauC4Wl7ADg448/xtKlS83WK6pVq6ao7GrXro3NmzebzURsb2%2BPbt26Yffu3VaXoQKyhmn26NFDNufRFAcHB/To0QOBgYFWh5RWrlwZu3btwpQpU6yuaODs7Iz33nsPixYtQufOnS2%2Bb/Xq1ZgzZ44sS3x2Go0G9erVw/Dhw02%2B3r9/fyxatMjsvcrV1RWjR4/GqlWrxJDmwsze3h6//vorxowZIxsFZaDRaNCyZUvs3LkzR8GURqPBokWLMHToUJPne5EiReDr64udO3cqOs6ArN7OzZs3w9fX1%2BS5qNFo0KhRI6Nl4fLbpEmT8Ntvv8HPz09k2FaSmE3K2dlZduz37Nkzx9vIrUmTJmH69Olmz%2Bl69ephx44dqpZx9%2B7d8ccff6Bly5Zm6wGGc2vr1q1mG%2Bik1PgeckKjz6985XksJSVFrJ1qWDvNxcUFlSpVgpeXlyzRljUxMTE4e/YsHj9%2BDDs7O7i7u6NevXqoVKnSK%2B2jXq/HpUuXEBISghcvXqBUqVJ48803ZctRvA7UKt/w8HB06NABQFZQdvPmTfFaXFwczp07h8ePHyMjIwPlypVD8%2BbNFQWJebXd/5qrV6%2BKpEFly5YVQ6XVlJSUhFOnTokhmx4eHvD29pYFSz4%2BPqIHeePGjYrm98TFxeH06dN49OgRbG1tReK5V/meHj58iPPnz%2BPp06dwcHBAmTJl4O3tnaNrS2EWFBSEIUOGAMgKJIKCgkxWsAqzqKgo3L17F1FRUUhMTIRGo4GLiwuqVq2KOnXqWOyhfF3FxcXh4sWLiI2NxYsXL2Bvbw9XV1d4enoaTTXIy304c%2BYMoqKiYGNjA3d3d9SqVUssT5aXPvroI9GTMX/%2B/BwlDSoMZWeoV9y/fx9xcXFwdXVFzZo1c7V0z%2B3bt3HlyhUkJCTAxcUFHh4eaNy4sdUM9eZEREQgNDQU0dHR4nwsXrw43njjDdSuXTvX5RMWFobr16/j2bNn0Gq1cHR0ROnSpVGtWjW8%2BeabuQpkw8LCEBwcbCh/VQAAIABJREFUjGfPniElJQXOzs6oXLkyateurajyrtPpxMo2Wq0WJUuWRMWKFdGoUSOrS0gVVikpKTh16hQePnyI9PR0eHh4oEGDBrJAz9/fX4wOWbRokaIpMy9evMCpU6cQHR0NvV4vpglZa5Sx5NGjRzh79ixiY2NhZ2eHMmXKoF69enm2xGR%2Bu337thh1Z2tri2PHjuV6FJY15r7T9PR0nD9/HuHh4Xj%2B/DlKlSqF%2BvXr5/l1%2BtmzZzh37hxiY2ORkpICNzc3vPHGG2jQoIHJzpTC4v9MgE2vH0uBcGHc7n/Nt99%2BK5bL69SpU4Flyc5NgE05N2rUKDE/rU%2BfPpg5c2YB7xFR3nr48CE6duwoRg4cPnz4lRvSiV4nuQmwKedmzJghsvi3bdsWv/zyS559Fr9TdRS6IeJElHeUtqcFBQXJ8hn4%2B/vn1S5RIfDgwQPZuqemEg4R/Vcouc6lpqZi4sSJIrhu2LAhg2siKnTi4uJkuT94f/5vYIBN9BrZunUrxo4di%2BPHj5tdfmPp0qUYPny4SPhQt27dXCdyosIvISEBkydPFt938%2BbNZUtaEP3X%2BPv7Y82aNWLqiVRmZiZOnjyJ/v3748KFC%2BL5ESNG5OcuEhFZpdVqMWXKFJHczMvLCz4%2BPgW8V6RE4c%2B4QESqSU9Px/79%2B7F//37Y2dnB09NTJPZ5%2BvQpwsLCZL0/rq6umDt3bqHOjE4599NPPyE0NBSJiYm4efMmkpKSAGRNiRg7dmwB7x3Rq3nw4AFmz56N2bNno3Tp0qhUqRKKFSuGpKQk3L9/XxzvBoMHD0aLFi0KaG%2BJiP6/VatW4fLly9Bqtbh165bIKwUA48aNy7fkZvRqGGATvUakF2adTmdx/cpatWph4cKFFjOs0n/T%2BfPncenSJaPnx4wZgzp16hTAHhGpR3qde/r0KZ4%2BfWryfcWKFcMXX3yBYcOG5deuERFZFBwcLJYzkxo4cGCBZkOnnGGATfQa6d%2B/P958802cOHEC165dw8OHDxEXFwedTgcXFxeRFbJdu3Z499132VL6GnB2dkatWrUwaNCgXC%2BRR1SYHDx4EEeOHMGFCxcQEhKCmJgYJCcno0iRInB1dcUbb7yBpk2bomfPnihdunRB7y4RkUmOjo6oUaMG%2BvXrh%2B7duxf07lAOMIs4ERERERERkQo4sZKIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTAAJuIiIiIiIhIBUUKegcKkl6vR1xcMjIz9QW9K5SPbGw0KFnSid/9a4bf%2B%2BuL3/3rid/764vf/evJxkaDUqWcC3o3iF7vHmyNRgMbG01B7wblMxsbDb/71xC/99cXv/vXE7/31xe/%2B9cTv28qLF7rAJuIiIiIiIhILQywiYiIiIiIiFTAAJuIiIiIiIhIBQywiYiIiIiIiFTwWmcRJyIiIiKi/KXRqJ%2BQLA82SZQrDLCJiIiIiChfFCuWDI3mherbzcoi/qbq2yXKKQbYRERERESU5zQaDTSaF9DrTwNIVXXber0DGGBTYcAAm4iIiIiI8lEq9PoUVbeo13OMOBUOTHJGREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2EREREREREQqYIBNREREREREpAIG2ERERET/j717D9OrLuwE/j0zycxkcsGkhEsMoQ1KFKQUNggoirJSL4CxKLpFxYUAWuABCXa1u%2BDTtWzVVlKtXOSmAqJdoeAqCGvZusEtN1t9sKCABAVFyyWkjGTyZpiZs38ERkISmDdzZt5553w%2BzzMPM%2BecOecrv5DH7/s753cAoAIKNgAAAFRAwQYAAIAKKNgAAABQAQUbAAAAKqBgAwAAQAUUbAAAAKiAgg0AAAAVULABAACgAgo2AAAAVEDBBgAAgAoo2AAAAFABBRsAAAAqoGADAABABRRsAAAAqICCDQAAABVQsAEAAKACCjYAAABUQMEGAACACijYAAAAUAEFGwAAACqgYAMAAEAFFGwAAACogIINAAAAFVCwAQAAoAIKNgAAAFRAwQYAAIAKKNgAAABQAQUbAAAAKqBgAwAAQAUUbAAAAKiAgg0AAAAVULABAACgAgo2AAAAVEDBBgAAgAoo2AAAAFABBRsAAAAqoGADAABABRRsAAAAqMC0VgdotaJIiqKo/LxlWVZ%2BTgAAACavmhfstenufjzTp1dfhstyTtavn1n5eQEAAJicirLWU61PZ3h4Q5Kq/xUUSbpTlp0Vn5eqdHZ2ZGhouNUxmGDGvb6MfT0Z9/oy9pNXUQwmqf7/fxdFb4qi5nOHTAq1/lNYltPGvQR3dPwyRTGYspyW4eGF43otRq/WnyvVmHGvL2NfT8a9voz95FWW0zIeFaQoigwPD2b9%2Bgeedz13lVKN%2BfNnj%2Bq4WhfsoijS19efwcHx%2B4Szp%2Bea9PauTH//ijQay8ftOozetGkdmTt35riPPZOLca8vY19Pxr2%2BjH09zZs3M0UxnLK8NRtnyJOkO0VxYIpilg9dmDC1LtgTodFYrlgDAMCE2JCybCTZuJgxTDSv6QIAAIAKKNgAAABQAQUbAAAAKqBgAwAAQAUUbAAAoK0VxW9aHQGS1L5gP5SurktaHQKgKT09l2bevD3T03Npq6MAwKRQFE%2B2OgIkqX3BHkxPzzmtDgHQlN7elens/EV6e1e2OgoATApluV2rI0CS2hfsaWk0zmh1CICm9PevyNDQLunvX9HqKAAAPMe0VgdorUUZGDg%2ByXCrgwCMWqOxPI3G8lbHAIBJoyieTFnOaHUMqHvBBgAA2t1vbxHvTlFk5HuYaAo2AADQ1spydopiOEVx4PO2z0lZli1KRR0p2AAAwBTQkUZjQZ7bp5VrJpqCDQAATAllqVTTWjVfRRwAAACqoWADAABABRRsAAAAqICCDQAAABVQsAEAAKACCjYAAABUQMEGAACACijYAAAAUAEFGwAAACowrdUBAAAAxqIofpNkdooiSYotHlOW5URGoqZqXrAfSlfXtRkcPK7VQQAAgG1UFGtTlrPS0/PrJFsu0mU5J%2BvXz5zYYNROzQv2YHp6zkl/v4INAADtbShleUuSDVvY152iODBFMctMNuOq5gV7WhqNM1odAgAAGJMZz/xzQ8qysdneYst3jUPlar7I2aIMDBzf6hAAAMCYrG91AEhS%2B4INAAAA1VCwAQCANjfjxQ%2BBCaBgAwAAbc4t4kwOCjYAAABUQMEGAADaWlnObXUESKJgAwAAQCUUbAAAoK0VxZOtjgBJkmmtDgAAADA2z84bdqcotrS/O0nxzL4tHjBuyrKc0OvRWgo2AADQ5gZSFB3p6tprq0eUZZmenl8nmdjCW5Zzsn79zAm9Jq1T84L9ULq6rs3g4HGtDgIAAIxBWZYZGLgvyYatHDGUZHACEyUbZ9QPTFHMMpNdEzUv2IPp6Tkn/f0KNgAAtLcySV/KstHqICO2fLs6U1nNFzmblkbjjFaHAAAAYAqoecFelIGB41sdAgAAgCmg5gUbAAAAqqFgAwAAQAUUbAAAAKiAgg0AAAAVqHnBfihdXZe0OgQAAABTQM0L9sb3YAMAAMBY1bxgew82AAAA1ZjW6gAAAADV6E5RtDrDc3UnKZ7JNKmCbVVZlq2O0NZqXrA33iLe339cq4MAAABjUBQd6eraq9UxNlOWZXp6fp2kPYprWc7J%2BvUzWx2jbdW8YLtFHAAApoKyLDMwcF%2BSDa2O8jxDSQZbHWKUulMUB6YoZpnJ3kY1L9gAAMDUUCbpS1k2Wh2kbU2u2%2BvbU80XObOKOAAAANWoecF2izgAAADVqHnBXpSBgeNbHQIAAIApoOYFGwAAAKpR84L9ULq6Lml1CAAAAKaAmhdsi5wBAABQjZoXbIucAQAAUI2aF2wAAACoRs0LtlvEAQAAqMa0VgdoLbeIAwDA1NGdomh1hnbWnaR45t9h/f5FlmU55nPUvGA/%2Bx7s4VYHAQAAxqAoOtLVtVerY7S9sizT0/PrJGMvm%2B2mLOdk/fqZYzpHzQs2AAAwFZRlmYGB%2B5JsaHWUNjeUZLDVIVqgO0VxYIpi1phmshVsAABgCiiT9KUsG60OQhuq6tGCmi9yBgAAANVQsAGgBXp6Ls28eXump%2BfSVkcBACqiYANAC/T2rkxn5y/S27uy1VEAgIq0vGA/%2BOCD%2BfjHP55ly5Zljz32yOGHH/6Cx99111155StfmX322WeCEgJA9fr7V2RoaJf0969odRQAoCItL9g//elPs2rVquy6667ZbbfdXvDYsizzF3/xF5k3b94EpYOpxS2pMHk0GsvzxBN3p9FY3uooAEBFWl6wDznkkKxatSp/%2B7d/mz333PMFj/37v//7rF27Nu985zsnKB1MLW5JBQCA8dPygt3RMboIfX19Oeecc/Jnf/ZnmT59%2BjingqnJLakAADB%2BWl6wR%2Buzn/1s9txzz7zxjW9sdRRoW25JBQCA8TOt1QFG4yc/%2BUmuvvrqXHvttRWf%2BaH09HxD2aiZzs6OTf5JPRj3%2BjL29WTc68vY11mRotj4Bc0r0tFRZNq0ImW57X%2BGJn3BLssyn/jEJ3L00Ue/6CJozRvMjBkrM2PGqRWfl3YwZ86MVkegBYx7fRn7ejLu9WXs62nmzNlJulodg7bUnaQrM2bMHNNZJn3B/va3v53Vq1fnM5/5TPr6%2BpIkGzZsSLLxuezu7u50d3dv49mnZf36FWk01lWUlnbQ2dmROXNmpK9vfYaGhlsdhwli3OvL2NeTca8vY19PL3lJkhR5%2BuklrY7CJFWWXRkaeuEPX8qyJxs2bLkbzp07uuI96Qv2Aw88kCeffDKHHHLIZvv222%2B/nHDCCfnIRz6yjWdflEZjeQYH/eVbR0NDw8a%2Bhoz76PT0XJre3pXp718xZR6jMfb1ZNzry9jXT1mW2bDh3iQbWh2FSac7RbE0jcZOKcutH1WWZZKx/b0x6Qv2H/3RH%2BXVr371JtuuvfbafPvb387FF1%2BcBQsWtCgZwNT13Fe6TZWCDcBUVybpS1k2Wh2ESaYoepIMpyyfLdHjp%2BUFe/369Vm1alWS5OGHH85TTz2VG2%2B8MUny6le/OgsXLszChQs3%2BZ077rgjnZ2d2X///Sc8L0Ad9PevGJnBBgBgdFpesNesWZPTTjttk23P/nz55Zcr0QAt0GgsN3M9BUzFW/0BYDIryvGeI5/UHsq6ddemv/%2B4VgdhAk2b1pG5c2dm7dp1ns2qEeNeX3Ue%2B3nz9kxn5y8yNLRLnnji7lbHmVB1Hve6M/b1tP32j6UsF6a//8tuEWczRdGTonhD1q9fsM23iM%2BfP3tUx9X8BYGD6ek5p9UhAGBc9PevyNDQLm71B4AJ0vJbxFtrWhqNM1odAgDGhVv9AWBi1XwGGwAAAKpR84LtFnEAAACqUfOC7RZxAAAAqlHzgr0oAwPHtzoEAAAAU0DNFzkDAACmju4URaszMPl0T9iVFOxx1tNzaXp7V6a/f4WVXAEAYJwURUe6uvZqdQxeRFl2Z3BweguuO2eb34HdDAV7nPX2rkxn5y/S27tSwQYAgHFSlmUGBu5LsqHVUdiq7hTF0jQaO2UCuu4mJqJcJwr2uOvvXzEygw0AAIyXMklfyrLR6iBsRVH0JBlOWU5c4Z1oCvY4azSWm7kGAACogZqvIg4AAADVULABAACgAjUv2A%2Blq%2BuSVocAAABgCqh5wR5MT885rQ4BAADAFFDzgj0tjcYZrQ4BAADAFFDzgr0oAwPHtzoEAAAAU0DNCzYAAABUw3uwAQCAKaI7RdHqDGxdd6sDjDsFGwAAaHtF0ZGurr1aHaOtlGV3BgenT/A156Qsywm95kRSsAEAgLZXlmUGBu5LsqHVUdpEd4piaRqNnTKRfXcql%2BtEwQYAAKaEMklfyrLR6iBtoSh6kgynLKd%2B6Z1IFjkDAACACijYAAAAUAEFGwAAACpQ84L9ULq6Lml1CAAAAKaAmhfswfT0nNPqEAAAAEwBNS/Y09JonNHqEAAAAEwBNS/YizIwcHyrQwAAADAF1LxgAwAAQDVqXrAtcgYAAEA1prU6QGttXOSsv/%2B4VgcBAADGrDtF0eoM7aK71QGmpJoXbIucAQDAVFAUHenq2qvVMSZMWXZncHD6GM8xJ2VZVpSIpPYF%2B9lFzoZbHQQAABiDsiwzMHBfkg2tjjIBulMUS9No7JSx9GPluno1L9gAAMDUUCbpS1k2Wh1k3BVFT5LhlKWSPNlY5MwiZwAAAFSg5gV74yJnAAAAMFY1L9gWOQNolZ6eSzNv3p7p6bm01VEAACpR84L97CJnAEy03t6V6ez8RXp7V7Y6CgBAJWpesBktM01A1fr7V2RoaJf0969odRQAgEoo2IyKmSagao3G8jzxxN1pNJa3OgoAQCUUbEbFTBMAAMAL8x5sRqXRWG6WCQAA4AXUfAbbe7ABAACoRs1nsDe%2BB7u//7hWBwGASaGn59L09q5Mf/8Kdy4Bbag7RdHqDBOhu9UB2IqaF2zvwQaA53ruopYKNtBOiqIjXV17tTrGhCnLnpRl2eoYPE/NC/az78EebnUQAJgU%2BvtXjMxgA7STsiwzMHBfkg2tjjIBulMUs1MUhZI9ydS8YAMAz2VRS6B9lUn6UpaNVgcZd0XRk43/e5lsar7IGQAAAFRDwQaANtDTc2nmzdszPT2XtjoKALAVCjYAtIHnLj4GAExOCjYAtIH%2B/hUZGtrF4mMAMIkp2EBbcrssddNoLM8TT9xtATIAmMQUbKAtuV0WAIDJRsEG2pLbZQEAmGy8BxtoS97VCwDAZGMGGwAAACpgBhsAAJgiulMUrc4wEbpbHYCtULABAIC2VxQd6eraq9UxxlVZdmdwcPoz389JWZYtTsTzKdgAAEDbK8syAwP3JdnQ6ijjpDtFsTSNxk4pyyjXk5SCDQAATAFlkr6UZaPVQcZFUfQkGVauJ7maL3L2ULq6Lml1CAAAAKaAmhfswfT0nNPqEAAAAEwBNS/YyeDgAa2OAAAAwBRQ%2B4I9bdptrY4AAADAFFDzgj0tjcYZrQ4BAADAFFDzgr0oAwPHtzoEAAAAU0DNCzYAAABUQ8EGAACACijYAAAAUIFprQ4AAABQje4URaszjJfuVgdgFBRsAACg7RVFR7q69mp1jKaUZXcGB6c3cfyclGU5jokYKwUbAABoe2VZZmDgviQbWh1llLpTFEvTaOyU0XZm5XryU7ABAIApoEzSl7JstDrIqBRFT5LhlKXiPJVY5AwAAAAq0PIZ7AcffDCXXnpp7rzzzvz0pz/N4sWLc911143sHxoayhe/%2BMWsWrUq999/f4aGhrL77rvnlFNOyYEHHtjC5ABMRT09l6a3d2X6%2B1ek0Vje6jgAQBtp%2BQz2T3/606xatSq77rprdtttt832NxqNXHjhhXnFK16RT37yk1m5cmV23HHHHHvssfnud7/bgsQATGW9vSvT2fmL9PaubHUUAKDNtHwG%2B5BDDsmb3vSmJMnHPvax3HXXXZvs7%2Bnpyf/5P/8n22233ci2gw46KD//%2Bc/zxS9%2BMW984xsnNC8AU1t//4qRGWwAgGa0fAa7o%2BOFI3R2dm5SrpOkKIq84hWvyKOPPjqe0QCooUZjeZ544m63hwMATWt5wd4Ww8PD%2BeEPf7jFW8oBAACgFVp%2Bi/i2uOKKK/Kzn/0sn/jEJ8Z8rs7OtvyMgTF4dsyNfb0Y9/oy9vVk3OvL2NdZkaLY%2BNUeinR0FJk2rUhZtktmXkzbFew77rgjf/3Xf53jjjsu%2B%2B2335jPN2fOjApS0Y6MfT0Z9/oy9vVk3OvL2NfTzJld2fg%2B7HbQlaQrM2bMbHUQKtRWBfuee%2B7JSSedlDe96U350z/900rO2de3PkNDw5Wci/bQ2dmROXNmGPuaMe71ZezrybjXl7Gvp5e8JCnLpNGYPLPB5Yv0/I2z7QPZsGHdix5L682dO7oPQtqmYD/00EM5/vjjs8cee%2BSv/uqvKrv1Y2hoOIOD/vKtI2NfT8a9vox9PRn3%2BjL29VMURTo7X9XqGCPKsjuDg9NfYH8yPDw7Tz/tz%2BlU0hYF%2B7HHHstxxx2X7bffPueff366urpaHQkAAJhEyrLMwMB9STa0OkqS7hTF0jQaO73g7HRp6nrKaXnBXr9%2BfVatWpUkefjhh/PUU0/lxhtvTJK8%2BtWvTm9vb44//visWbMmH/vYx3L//fdv8vt/8Ad/MOGZAQCAyaZM0peybLQ6SIqiJ8lwylKJrpuWF%2Bw1a9bktNNO22Tbsz9ffvnleelLX5p77rknSXLyySdv9vv33nvv%2BIcEAACAF9Hygr1w4cIXLclKNAAAAJOdFwQCAABABRRsAAAAqICCDQAAABVQsAEAAKACCjYAAABUQMEGAACACijYAAAAUIGWvwcbAACgGt0pilZnSJLuVgegRRRsAACg7RVFR7q69prQa5ZldwYHp29l35yUZTmheWg9BRsAAGh7ZVlmYOC%2BJBsm6IrdKYqlaTR2ypZ6tHJdTwo2AAAwBZRJ%2BlKWjQm5WlH0JBlOWSrT/JZFzgAAAKACCjYAAABUQMEGAACACijYAAAAUAEFGwAgSU/PpZk3b8/09Fza6igAtCkFGwAgSW/vynR2/iK9vStbHQWANqVgAwAk6e9fkaGhXdLfv6LVUQBoU96DDQCQpNFYnkZjeatjANDGzGADAABABcxgAwAAU0R3imLirgXPp2ADAABtryg60tW1VyXnKsvuDA5OH8Vxc1KWZSXXZGpQsAEAgLZXlmUGBu5LsmGMZ%2BpOUSxNo7FTXqw7K9c8n4INAAC0uSJJmaQvZdkY25mKniTDKUsFmuZZ5AwAAAAqoGADAABABRRsAAAAqICCDQAAABVQsAEAgDY3YS%2B/hhekYAMAAG1OrWFy8CcRAABoc4OtDgBJFGwAAACohIINAAAAFZjW6gAAAADV6E4x5vXOupMUz5xn48nKshzrSakJBRsApqienkvT27sy/f0r0mgsb3UcgHFUpCg60tW1VyVnK8syPT2/TlI%2B8/OcrF8/s5JzM7Up2AAwRfX2rkxn5y/S27tSwQamuDJlWWZg4L4kGyo431B%2Bu3Bad4riwBTFLDPZvCgFGwCmqP7%2BFSMz2ABTW0c2zjb3pSwblZ557LecUycKNgBMUY3GcjPXQE3MaHUASGIVcQAAoO2ta3UASKJgAwAAQCUUbAAAAKiAgg0AAAAVULABAACgAgo2AAAAVEDBBgAA2pyXVTM5KNgAAECbU7CZHKa1OgA0oGciAAAgAElEQVQAAMDYzHjmn90pKu/a3VWfkClMwQYAANpcf4rid9LVtVdTv1WW3RkcnD6K4%2BakLMttDUeNKNgAAECbK1OWZQYG7kuyYZS/052iWJpGY6e8WHdWrhktBRsAAJgCyiR9KcvGqI4uip4kwylLBZrqWOQMAAAAKqBgAwAAQAUUbAAAAKiAgg0AALS5rlYHgCQKNgAA0PYGWx0AkijYAAAAUAkFGwAAaGtlObfVESCJgg0AAACVULABAIC2VhRrWh0BkiTTWh0AAACgGt0pitEfC1VTsAEAgLZXFB3p6tprq/vLsjuDg9Oft21OyrIc72jUiIINAAC0ua6UZZmBgfuSbNjC/u4UxdI0GjvluX1auaZqCjYAANDmhpOUSfpSlo3N9hZFT5LhlKVSzfiyyBkAANDmPE/N5KBgAwAAbW59qwNAEgUbAABoe277ZnJQsAEAgDanYDM5KNgAAECbm9nqAJBEwQYAANpcWfa0OgIkUbABAIA2VxRPtjoCJFGwAQCANleW27U6AiRJprU6AAAAQDW6UxRb3p5scQdUSsEGgOfo6bk0vb0r09%2B/Io3G8lbHAWAUimJtkpnp6tprq8eUZZmennVZv7534oJROwo2ADxHb%2B/KdHb%2BIr29KxVsgLYxnLIsMzBwX5INWzlmWopivxTFzJSl13oxPpp%2BBvuee%2B4ZjxwAMCn096/I0NAu6e9f0eooADSlTNKXsnxyi1/JulYHpAaaLtjveMc7cvTRR%2Bfb3/52BgcHxxzgwQcfzMc//vEsW7Yse%2ByxRw4//PAtHrdq1aq84x3vyF577ZVDDz00V1555ZivDQDP12gszxNP3G32GqCteA82k0PTBfvss89Oo9HIihUr8oY3vCHnnntuHn300W0O8NOf/jSrVq3Krrvumt12222Lx/zwhz/MSSedlD322CMXX3xx/uiP/ihnn312rrrqqm2%2BLgAAMDUMD89vdQRIkhTlNj6A8IMf/CBXXnllvvOd76Qsy7zpTW/K%2B973vixdurSp8wwPD6ejY2PP/9jHPpa77ror11133SbHHH/88XnyySc3KdRnnXVWvvvd7%2Bbmm28e%2Bf1tsXbtugwODm/z79N%2Bpk3ryNy5M419zRj3%2BjL29WTc68vY19Pv/M5wkhnp7/9yyrKxxWOKoidF8YasX7/AM9g0bf782aM6bpub6b777ptzzjkn3/3ud/OhD30oP/zhD/P%2B978/y5Yty1VXXZWBgYHRBXiRcjwwMJDbbrsthx122CbbjzjiiDz22GP58Y9/vK3/EwAAgClg4yri0HrbPvX7jBkzZuQlL3lJZsyYkbIs8%2BSTT%2Bass87KW97ylvzoRz8ac8CHHnooTz/9dBYvXrzJ9pe97GVJktWrV4/5GgAAQDtztwKTwza/puv%2B%2B%2B/PlVdemW9%2B85vZsGFDDj300Hzyk5/MPvvskx//%2BMf5%2BMc/nrPOOiv/63/9rzEFfPLJJ5Mkc%2BbM2WT7sz8/u39bdXaO%2BTMG2syzY27s68W415exryfjXl/Gvs6KFMXGr63t7%2BgoMm1akbLc2jEwNk0X7P/9v/93rrzyynz/%2B9/Pdtttl/e97305%2Buijs%2BOOO44cs8cee%2BSMM87ICSecUFnQrf2HsvX/gEZnzpwZY/p92pexryfjXl/Gvp6Me30Z%2B7qZlSSZObMrG1/XtSVdSboyY4YVxxk/TRfs0047LUuWLMknPvGJLFu2LF1dXVs8buHChXnrW9865oDbbbddks1nqvv6%2BpJsPrPdrL6%2B9RkacktJnXR2dmTOnBnGvmaMe30Z%2B3oy7vVl7Otpu%2B22TzKU/v6BJBu2clSRjo6BbNiwLtY4o1lz547ug5mmC/Zll12W/fff/0WP22WXXfLXf/3XzZ5%2BM4sWLcr06dPzwAMP5PWvf/3I9vvvvz9Jtvpqr9EaGhq2wmRNGft6Mu71ZezrybjXl7Gvl7JMiqJMWZZbXSG8KMoMD5cZHNz6MTBWTT%2Bcct111%2BWXv/zlFvf96le/yllnnTXmUM/V1dWVAw44IDfccMNmOebPn5899tij0usBAADtpaPjsWe%2B637mdVybfyXdrYxITTRdsK%2B%2B%2Buo88cQTW9z3xBNP5Oqrr27qfOvXr8%2BNN96YG2%2B8MQ8//HCeeuqpkZ%2Bfvc7JJ5%2Bcu%2B66K2eeeWZuv/32XHDBBbnqqqty2mmnjekd2AAAwFSwLkXRka6uvdLVtXTka/r016Yo3vDM14EpyzlmrxlXTd8i/kJ/IPv6%2Brb6TPbWrFmzJqeddtom2579%2BfLLL8/%2B%2B%2B%2BfffbZJ%2Beff35WrlyZb3zjG9lpp51y5pln5qijjmo2PgAAMOVMS1mWGRi4L799Brs7RbE0jcZOI89cK9eMt1EV7H/%2B53/OP//zP4/8fM011%2BSWW27Z5JhGo5Gbbrpps/dVv5iFCxfm3nvvfdHjDj744Bx88MFNnRsAAKiDwWxcPbwvZdlIkmduCx9OWSrWTJxRFezbbrst5557bpKNr8X6u7/7uy0et%2BOOO%2BZTn/pUdekAAABelPdaMzmMqmAfd9xx%2BU//6T%2BlLMu87nWvy0UXXbTZ4mJdXV1jfmUWAABAs8pyXqsjQJJRFuze3t709vYmSb7zne9kp512avpZawAAgPFQlrNTFIOtjgHNL3K2aNGi8cgBAACwTYriN0lmtDoGjP4W8TPPPDOLFy/Occcd94LHFkWRSy%2B9tJJwAAAAL6YonkxZKti03qgKdqPRGFl5b/369SkKiwgAAACTRUerA0CSURbsr371qyPff%2B1rXxu3MAAAAM0baHUASOKjHgAAoO3NbHUASKJgAwAAbW54eH6rI0CSUd4ivueeezb13PVdd921zYEAAAC2TXd%2BW1u6WxmEmhpVwT7%2B%2BOMtbAYAAExKRfGbFMXMdHXtlbLszuDg9CRJWc4ZWawZJsKoCvbpp58%2B3jkAAAC2ycbXdPXm6ad/nuT302jslLKMcs2E8ww2AADQ1spyuyRlknVJhpVrWmZUM9hbsnr16jzwwANpNBqb7TviiCPGFAoAAGC0ynJ2imKw1TGg%2BYLdaDRy8skn55Zbbkny20%2BGnvuMtoINAABA3TR9i/gFF1yQn//85/nSl76Usizzuc99LhdffHEOOeSQ7Lrrrrn66qvHIycAAABMak0X7H/4h3/IiSeemP322y9JsnDhwrzuda/Leeedl1e%2B8pW56qqrKg8JAAAAk13TBfvhhx/O4sWL09nZmaIoNnkGe9myZbnpppsqDQgAAADtoOmCPXv27Kxfvz5JMm/evDz44IMj%2B4aGhrJu3brq0gEAAECbaHqRs913332kVO%2B///658MILs3jx4kyfPj3nnXdelixZUnlIAACArSmK3ySZ0eoY0HzBPvLII0cK9oc//OEcffTR%2BeM//uMkG2e3L7zwwmoTAgAAvICieDJlqWDTek0X7MMPP3zk%2B0WLFuXGG2/MrbfemqIosu%2B%2B%2B2bevHmVBgQAAHghZbldqyNAkm0o2M83a9asHHrooVVkAQAAaFpZzk5RDCaZnqRIUSRJ8cy%2BsoXJqJumC/YjjzzyosfsuOOO2xQGgPbV03NpentXpr9/RRqN5a2OA0CNFMVvUhQzM3367inLMj09v06ysViX5ZysXz%2BztQGpjaYL9sEHH5xi40dCW/WTn/xkmwNNrIfS1XVtBgePa3UQgLbX27synZ2/SG/vSgUbgAlVFGtTlr0ZGLgvSX%2BSwWf2dKcoDkxRzDKTzYRoumD/xV/8xWbb1q5dm3/8x3/M448/ng9%2B8IOVBJsYg%2BnpOSf9/Qo2wFj1968YmcEGgIlVPvPVl7JsjGx9kXlBqFzTBfuoo47a4vYTTzwxp5xySh5//PExh5o409JonNHqEABTQqOx3Mw1AC2iSTM5dFR5sne%2B8535%2Bte/XuUpx9miDAwc3%2BoQAADAmHhFF5NDpQV7eHg4Tz75ZJWnBAAAeBEbWh0AklTwmq5kY7G%2B7777cu6552b33Xev4pQAAACj4j3YTBZNF%2Bw999xzs1XEh4eHU5ZlZs%2BenUsuuaSycAAAAC/mt%2B/BhtZqumAff/zxmxXs7u7uvPSlL80b3/jGzJ49u7JwAAAA0C6aLtinn376eOQAAACAtlbpImcAAABQV03PYJ911lmjPrYoinziE59o9hIAAADQdpou2DfffHPWrVuXp556Kh0dHZkzZ076%2BvoyPDycWbNmZebMmSPHPv9ZbQAAgKoVxW%2By8V3Y3dm0gnS3JhC11XTBPu%2B883LyySfnzDPPzGGHHZbp06fn6aefzvXXX5%2B/%2BZu/ybnnnpu99tprPLICAABspiieTFnOTFEcuNm%2BspyTsixbkIo6arpgf%2BpTn8qxxx6bd7zjHSPbpk%2Bfnne84x1Zu3ZtPvnJT%2BarX/1qpSEBAAC2piy3S1l2ZP36BVvYp1wzcZpe5Oyuu%2B7KkiVLtrhvyZIl%2BfGPfzzmUAAAAKNVlrOf%2BWe52RdMpKYL9qxZs3Lbbbdtcd9tt922yTPYAAAAUBdN3yJ%2BxBFH5JJLLsnw8HAOP/zwzJ8/P4899li%2B9a1v5Utf%2BlKOOeaY8cgJAAAAk1rTBXvFihV57LHHcvHFF%2BeSSy4Z2V6WZQ477LCsWLGi0oAAAADQDpou2NOnT89nPvOZfPCDH8ztt9%2Bef//3f89LXvKS7L///nn5y18%2BHhkBAABg0mu6YD/r5S9/uUINAAAAz2h6kTMAAABgcwo2AAAAVEDBBgAAgAoo2AAAAFABBRsAAAAqoGADAABABUb1mq7jjjtu1CcsiiKXXnrpNgcCAACAdjSqgr1%2B/foURTHeWQAAAKBtjapgf%2B1rXxvvHAAAANDWPIMNAAAAFVCwAQAAoAKjukV8zz33bOoZ7LvuumubAwEAAEA7GlXBPv744y1yBgAAAC9gVAX79NNPH%2B8cAAAA0NY8gw0AAAAVGNUM9pasXr06DzzwQBqNxmb7jjjiiDGFAgAAgHbTdMFuNBo5%2BeSTc8sttyRJyrJMkk2e0VawAQAAqJumbxG/4IIL8vOf/zxf%2BtKXUpZlPve5z%2BXiiy/OIYcckl133TVXX331eOQEAACASa3pgv0P//APOfHEE7PffvslSRYuXJjXve51Oe%2B88/LKV74yV111VeUhAQAAYLJrumA//PDDWbx4cTo7O1MUxSbPYC9btiw33XRTpQEBAACgHTRdsGfPnp3169cnSebNm5cHH3xwZN/Q0FDWrVtXXToAAABoE00vcrb77ruPlOr9998/F154YRYvXpzp06fnvPPOy5IlSyoPCQAAAJNd0wX7yCOPHCnYH/7wh3P00Ufnj//4j5NsnN2%2B8MILq00IAAAAbaDpgn344YePfL9o0aLceOONufXWW1MURfbdd9/Mmzev0oAAAADQDpou2M83a9asHHrooVVkAQAAgLbV9CJnq1atypVXXrnFfV/96lfzve99b8yhAAAAoN00XbAvuOCC/OY3v9nivqeeeioXXHDBmEMBAABAu2m6YK9evTp77rnnFvftscceWb169ZhDAQAAQLtpumAPDAxkcHBwi/sGBwdH3pENAAAAddJ0wf7d3/3drFq1aov7/u///b/ZddddxxwKAAAA2k3TBfvII4/M17/%2B9Zx33nlZu3ZtkmTt2rU5//zz8/Wvfz3vfOc7Kw8JAAAAk13Tr%2Bk65phj8qMf/Sif//znc%2B6552b69Ol5%2BumnU5ZlDjvssPzn//yfxyEmAAAATG5NF%2ByiKHLOOefkqKOOys0335y1a9dm3rx5ef3rX5/9999/PDImSW666aZceOGFWb16dXp6erLvvvtmxYoVWbx48bhdEwAAAEar6YL9rAMOOCAHHHBAlVm26pZbbskpp5ySt7/97fnwhz%2Bcvr6%2BnHvuuTn22GNz/fXXZ9asWROSAwAAALZmmwv2rbfemttvvz1r167Nhz70oey88865%2B%2B67s2DBgsydO7fKjLn%2B%2BuuzYMGCfPrTn05RFEmSl770pTnqqKPyL//yLzn44IMrvR4AAAA0q%2BmC3Wg0cvLJJ%2BeWW25JWZYpiiLvfve7s/POO%2Beiiy7KggUL8tGPfrTSkIODg5k5c%2BZIuU6S2bNnV3oNAAAAGIumVxH/7Gc/mzvvvDMrV67M97///ZRlObLvoIMOyq233lppwCR517velQceeCBXXHFF%2Bvr68stf/jKf/vSns9tuu%2BXAAw%2Bs/HoAAADQrKZnsG%2B44Yaceuqpeetb35qhoaFN9u2888751a9%2BVVm4Z%2B23334599xzc8YZZ%2BTss89OkrzsZS/LF7/4xXR1dY3p3J2dTX/GQJt7dsyNfb0Y9/oy9vVk3OvL2NdTUSRlmUybZtxpraYL9po1a7L77rtvcV9nZ2cajcaYQz3fD37wg/zpn/5p3vnOd%2BaQQw7JU089lS984Qs54YQT8rWvfW1Mi5zNmTOjwqS0E2NfT8a9vox9PRn3%2BjL29VOWZebOndnqGNRc0wV7xx13zP3337/FFcTvvffeLFy4sJJgz3X22WfngAMOyH/7b/9tZNt/%2BA//Ia9//etz1VVX5dhjj93mc/f1rc/Q0HAVMWkTnZ0dmTNnhrGvGeNeX8a%2Bnox7fRn7etpuuxkpy6Svr7/VUZiiRvvhTdMF%2B9BDD80FF1yQpUuX5uUvf3mSje/G/vWvf53LL788y5Yta/aUL2r16tU55JBDNtk2b9687LDDDnnooYfGdO6hoeEMDvrLt46MfT0Z9/oy9vVk3OvL2NfLs8tCGXNaremCfcopp%2BSf/umf8q53vStLlixJURQ588wz8%2BCDD2bRokU58cQTKw%2B5YMGC3H333Ztse%2Byxx/Loo4/mpS99aeXXAwAAgGY1vQrArFmz8j//5//MSSedlGnTpmXBggXp6OjIsccem6985SuZMaP6513e%2B9735h//8R/ziU98Iv/0T/%2BUG264ISeccEJ6e3vz9re/vfLrAQAAQLOK8rnv2ZqkyrLM17/%2B9Xz1q1/NQw89lN7e3uy11145/fTTs2TJkjGde%2B3adW4lqZlp0zoyd%2B5MY18zxr2%2BjH09Gff6Mvb1NG/exudjn3hiXYuTMFXNnz97VMc1fYv4ltx11135yU9%2BkqVLl%2Bb3fu/3qjjlJoqiyHve85685z3vqfzcAAAAUIWmC/bHP/7xPP300/nkJz%2BZZON7sVesWJGyLNPV1ZUrrrgie%2B%2B9d%2BVBAQAAYDJr%2BhnsW2%2B9Na9%2B9atHfj7//PPzmte8Jn//93%2BfvffeO1/4whcqDQgAAADtoOmC/fjjj4%2Bs3P3oo4/mpz/9aT74wQ9mzz33zAc%2B8IH867/%2Ba%2BUhAQAAYLJrumB3dnZmw4YNSZJ/%2BZd/SVdXV/bZZ58kyXbbbZe%2Bvr5qEwIAAEAbaLpg/97v/V6uu%2B66NBqNXHPNNdl3330zffr0JMkjjzySuXPnVh4SAAAAJrumC/axxx6bb37zm9lnn33y//7f/8v73ve%2BkX233nrrmF%2BbBQAAAO2o6VXE3/a2t2WHHXbID3/4w/z%2B7/9%2B9t9//5F922%2B/fd70pjdVGhAAAADawTa9B3vp0qVZunTpZttPP/30MQcCAACAdtT0LeIAAADA5rZpBvv666/PZZddltWrV4%2BsKP5cd91115iDAQAAQDtpegb7u9/9bv7Lf/kv2W233bJu3bocfvjhOfTQQzN9%2BvQsXLgwxx9//HjkBAAAgEmt6YJ94YUX5phjjsnZZ5%2BdJHn/%2B9%2Bfv/mbv8mNN96YwcHBLFq0qPKQAAAAMNk1XbB/9rOf5bWvfW2KokiSDA0NJUl23HHHnHTSSfnSl75UbUIAAABoA00X7KGhoXR1daWjoyMzZszIY489NrJvwYIFeeihhyoNCAAAAO2g6YL90pe%2BdKRUL1myJN/%2B9rdH9t10002ZP39%2BdekAAACgTTS9iviBBx6YW265JYcddliOOeaYrFixInfffXemT5%2Be%2B%2B%2B/37uwAQAAqKWmC/bpp5%2BeRqORJHnb296WJPnWt76VoihyzDHH5Kijjqo2IQAAALSBpgt2d3d3uru7R35%2B29veNlK0AQAAoK6aLtjPGhgYyD333JO1a9dm7ty5ecUrXpGurq4qswEAAEDb2KaCffnll%2Be8885LX1/fyLY5c%2BbkpJNOygc%2B8IHKwgEAAEC7aLpgX3nllfnLv/zL7L///jn88MMzf/78PPbYY/nWt76VT33qU5k2bVre%2B973jkdWAAAAmLSaLthf/vKXc/jhh%2Bczn/nMJtuPOuqonHHGGfnyl7%2BsYAMAAFA7Tb8H%2B9/%2B7d%2BybNmyLe5btmxZHnnkkTGHAgAAgHbTdMH%2B3d/93axZs2aL%2B5544oksWrRozKEAAACg3TRdsE855ZR8/vOfz%2BrVqzfZfv/99%2Bfzn/98TjnllMrCAQAAQLsY1TPYzy/Ng4ODOeKII/KKV7wi22%2B/fR5//PHcc8892WGHHXL99dfnLW95y7iEBQAAgMlqVAX7Rz/6UYqi2GTb/Pnzs2bNmpHbxefPn5%2ByLPOv//qv1acEAACASW5UBfvmm28e7xwAAADQ1pp%2BBhsAAADYnIINAAAAFVCwAQAAoAIKNgAAAFRAwQYAAIAKKNgAAABQgVG9pmtLHnzwwdxxxx1Zu3ZtjjzyyGy//fZZs2ZNZs%2Bena6uriozAgAAwKTXdMEeHh7On//5n%2Bfqq6/O8PBwiqLIa1/72my//fb5sz/7s7zqVa/KqaeeOh5ZAQAAYNJq%2BhbxCy%2B8MNdee21OP/30fOMb30hZliP7Dj744Hzve9%2BrNCAAAAC0g6ZnsK%2B55pr8yZ/8SU444YQMDQ1tsm/hwoX5xS9%2BUVk4AAAAaBdNz2D/%2Bte/zr777rvFfT09PVm3bt2YQwEAAEC7abpgz5s3L7/85S%2B3uO9nP/tZdtxxxzGHAgAAgHbTdMF%2B/etfnwsvvDCPPvroyLaiKPLUU0/lK1/5St74xjdWGhAAAADaQdPPYJ966ql517velcMOOywHHnhgiqLI3/7t3%2Bbee%2B9NURT5kz/5k/HICQAAAJNa0zPYO%2BywQ66%2B%2Bur84R/%2BYX7wgx8kSe68884ccMAB%2BdrXvpZ58%2BZVHhIAAAAmu6ZnsJONJft//I//UXUWAAAAaFtNz2ADAAAAm2t6Bvuss87a6r6iKDJnzpzstddeOeSQQzJ9%2BvQxhQMAAIB20XTBvvnmm7Nu3bo89dRT6ejoyJw5c9LX15fh4eHMmjUrw8PD6e/vz8te9rJcdtll%2BZ3f%2BZ3xyA0AAACTStO3iF944YWZM2dO/uqv/ip33nlnbrvtttx555359Kc/ndmzZ%2Beyyy7LFVdckSeeeCIrV64cj8wAAAAw6TQ9g/2Xf/mX%2BcAHPpC3v/3tI9umT5%2BeZcuWZe3atfnUpz6VK6%2B8MieccEK%2B%2BMUvVhoWAAAAJqumZ7B/9KMfZffdd9/ivt133z133313kuSVr3xl1q5dO7Z0AAAA0CaaLtgzZ87MHXfcscV9d9xxR2bOnJkk2bBhw8j3AAAAMNU1fYv4YYcdlosvvjhFUeQtb3lLtt9%2B%2Bzz%2B%2BOP59re/nUsuuSTvfe97kyR33313Fi9eXHlgAAAAmIyaLtgf%2BchH8sgjj%2BT888/PBRdcMLK9LMu85S1vyRlnnJEk%2Bf3f//0ceOCB1SUFAACASazpgt3V1ZXPfe5zuffee/P9738///7v/56XvOQl2W%2B//bJkyZKR4w466KBKgwIAAMBk1nTBftaSJUs2KdQAAABQZ9tcsJPkySefTKPR2Gz7jjvuOJbTAgAAQNvZpoJ90UUX5fLLL8%2BaNWu2uP8nP/nJmEIBAABAu2n6NV3XXnttzj///LznPe9JWZY54YQTsnz58uywww7Zdddd89//%2B38fj5wAAAAwqTVdsK%2B44op88IMfzEknnZQkefOb35yPfOQjufHGG9Pb25unnnqq8pAAAAAw2TVdsB988MH8wR/8QTo6Nv7q4OBgkmTGjBlZvnx5/u7v/q7ahAAAANAGmi7Y06ZtfGy7KIrMmjUr//Zv/zayb968eXnkkUeqSwcAAABtoumCvWjRopES/apXvSpXXXVVhoaGMjw8nKuuuioLFiyoPCQAAABMdk0X7IMOOii33357kuTEE0/MrbfemqVLl%2BaAAw7IDTfckOXLl1ceEgAAACa7pl/Tddppp418/5rXvCZf%2BcpXcv3116coirzhDW/Ia1/72koDAgAAQDtoqmAPDAzkm9/8ZvbZZ5/stttuSZJ99tkn%2B%2Byzz7iEAwAAgHbR1C3iXV1d%2BfM///OsWbNmvPIAAABAW2r6Gexddtkljz/%2B%2BHhkAQAAgLbVdMF%2B//vfn0suuSTr1q0bjzwAAADQlppe5OzBBx/MmjVrcsghh%2BQ1r3lN5s%2Bfn6IoRvYXRZGPfexjlYYEAACAya7pgn3ZZZeNfH/DDTdstl/BBgAAoI6aLth33333eOQAAACAttZ0we7s7ByPHAAAANDWmi7Yz7r11ltz%2B%2B23Z%2B3atfnQhz6UnXfeOXfffXcWLFiQuXPnVpkRAAAAJr2mC3aj0cjJJ5%2BcW265JWVZpiiKvPvd787OO%2B%2Bciy66KAsWLMhHP/rR8cgKAAAAk1bTr%2Bn67Gc/mzvvvDMrV67M97///ZRlObLvoIMOyq233lppQAAAAGgHTc9g33DDDTn11FPz1re%2BNUNDQ5vs23nnnfOrX/2qsnDPd9VVV%2BWKK67Iz372s8yaNSt77713vvCFL4zb9QAAAGC0mi7Ya9asye67777FfZ2dnWk0GmMOtSWf//zn8%2BUvfzkf%2BtCHsvfee%2BfJJ5/M9773vXG5FgAAADSr6YK944475v77788BBxyw2b577703CxcurCTYc61evToXXHBBLrroohx00EEj2w899NDKrwUAAADboulnsA899NBccMEFueeee0a2FUWRX//617n88svz5je/udKASXLNNddkl1122aRcAwAAwGTSdME%2B5ZRTMm/evLzrXe/Ku9/97hRFkTPPPDOHH354tttuu5x44omVh7zzzjuz%2B3Tj9fUAACAASURBVO6757zzzsuBBx6YV73qVXnf%2B96Xn/zkJ5VfCwAAALZFUT53GfBR6u/vz5e//OWsWrUqjz/%2BeObOnZs3vOENOfbYYzNz5szKQ775zW/Oo48%2Bmh133DErVqzI9OnTc%2B655%2Bbhhx/Od77zncyZM2ebz93Xtz5DQ8MVpmWy6%2BzsyJw5M4x9zRj3%2BjL29WTc68vY19N2281IWW78//YwHubOHV3P3aaCPdH%2B8A//MA8%2B%2BGCuu%2B66vPzlL0%2BSPProo/mP//E/5tRTT80JJ5zQ4oQAAEArlWWZoihaHYOaa3qRs8985jM58sgjs3jx4vHIs0Xbbbddtt9%2B%2B5FynSQ77LBDFi9enPvvv39M5/bpZv34ZLuejHt9Gft6Mu71Zezr6bcz2P2tjsIUNdoZ7KYL9mWXXZZLL700e%2B%2B9d975znfmrW99a2bNmtV0wGbstttuW3y/dlmW6eho%2BjHyTQwNDWdw0F%2B%2BdWTs68m415exryfjXl/Gvl6evSfXmNNqTbfT733ve/mv//W/ZmBgIGeddVZe97rX5aMf/WjuuOOO8ciXJHnDG96Qxx9/PPfdd9/ItkceeSQPPPBAlixZMm7XBQAAgNEa0zPY9957b6655ppcd911WbPm/7d371FeF3T%2Bx1/DZQQlrqEeUEtRCRABW0QUUXANL5gb3nAVjUgSQS3zgv7KywZiq5YCouaFUrFMBQsX3CyTbI/SapZsSQtoIZSGF%2B7IZfj%2B/vAw6wga4geHme/jcc4cmM/3M995z7yH0ed8L/NG2rdvn0GDBmXkyJFFzpiqqqqccsopWbVqVS688MJUVlbmlltuyRtvvJHHHnssO%2B%2B88zZf91tvrfKTrjLTqFGDtGq1i92XGXsvX3Zfnuy9fNl9eWrd%2Bp2777755qpanoT6qm3bT2zVeYU8yVlVVVWeeOKJjB07Nq%2B99tp2%2BfVZb7zxRq699trMmjUrGzZsSM%2BePXP55Zd/5MeC%2B%2BZbfvyHtzzZe/my%2B/Jk7%2BXL7suTwGZ729rA/tCPwX6vV155JVOnTs0jjzySV199NbvuuutHvcotatOmTW688cbtct0AAADwUW1TYK9ZsyaPPfZYpk6dmmeffTaNGjVKv379cvXVV%2Bfwww8vekYAAADY4X3owL7iiivy2GOPZfXq1enUqVOuuOKKnHDCCWnZsuX2mA8AAADqhA8d2E888UQGDRqUk046KZ06ddoeMwEAAECd86ED%2B6mnnkrjxo3f9/I333wzrVu3/khDAQAAQF3zoX8P9pbiulQqZdasWTn//PPTt2/fQgYDAACAuuQjPYv4woUL8/DDD2fatGlZsmRJGjdunAEDBhQ1GwAAANQZHzqw165dm5kzZ%2Bbhhx/Os88%2Bm1KplIqKinzxi1/M8OHD06pVq%2B0xJwAAAOzQtjqwX3jhhTz00EOZMWNGVq1alaZNm%2BYLX/hCBgwYkK985Svp37%2B/uAYAAKBsbVVgn3DCCZk/f36SpHv37jnppJNy3HHHZeedd86KFSu264AAAABQF2xVYM%2BbNy8VFRU54ogjcvHFF2fffffd3nMBAABAnbJVzyJ%2BxRVXpGPHjnnyySdzwgkn5LTTTsuDDz6YlStXbu/5AAAAoE7YqsA%2B66yz8sgjj%2BTBBx/Mqaeempdeeinf/OY3c/jhh%2Beb3/xmKioqUlFRsb1nBQAAgB1WRalUKn3YN9rSM4l/6lOfymmnnZYvfOELderJzt56a1U2bNhY22PwMWrUqEFatdrF7suMvZcvuy9P9l6%2B7L48tW69S5LkzTdX1fIk1Fdt235iq87bpsB%2Bt4ULF%2Bahhx7KI488kr///e/Zaaed8vvf//6jXOXHyjff8uM/vOXJ3suX3Zcney9fdl%2BeBDbb29YG9lbdRfyD7LXXXrnooovy5JNP5tZbb83hhx/%2BUa8SAAAA6pyt/j3Y/0iDBg3Sr1%2B/9OvXr6irBAAAgDrjI9%2BCDQAAAAhsAAAAKITABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAoQJ0M7FWrVqVv377p2LFj5syZU9vjAAAAQN0M7EmTJqWqqqq2xwAAAIBqdS6wFyxYkPvvvz/nn39%2BbY8CAAAA1epcYI8dOzaDBw/O3nvvXdujAAAAQLU6FdiPPfZY5s6dm5EjR9b2KAAAAFBDo9oeYGutWbMm1113XS666KI0a9assOtt2LBO/YyBAmzaud2XF3svX3Zfnuy9fNl9eaqoSEqlpFEje6d21ZnAvvXWW9OmTZsMGjSo0Ott3rxpoddH3WH35cney5fdlyd7L192X35KpVJatdqltsegzNWJwF68eHHuvvvu3HLLLVm5cmWSZPXq1dV/rlq1Krvssm3/mJYvX5Oqqo2FzcqOr2HDBmnevKndlxl7L192X57svXzZfXlq0aJpSqVk%2BfLVtT0K9dTW/vCmTgT2okWLsn79%2BgwfPnyzy84666x069YtP/7xj7fpuquqNmbDBt98y5Hdlyd7L192X57svXzZfXkpld75086pbXUisDt16pR77rmnxrEXX3wx48aNyzXXXJOuXbvW0mQAAADwjjoR2M2bN0%2BvXr22eFmXLl3SpUuXj3kiAAAAqMnT7AEAAEAB6sQt2FvSq1ev/OlPf6rtMQAAACCJW7ABAACgEAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACiCwAQAAoACNanuArTFz5sxMnz49f/jDH7Js2bLsueeeOf300zN48OA0aOBnBAAAANS%2BOhHYkydPTrt27XLppZemTZs2mT17dsaOHZtXXnkll112WW2PBwAAAHUjsG%2B77ba0bt26%2BvVDDjkkq1evzpQpU/K1r30tlZWVtTgdAAAA1JHHYL87rjfp1KlT1q5dm6VLl9bCRAAAAFBTnQjsLXnuuefSsmXLtGnTprZHAQAAgLpxF/H3mjNnTqZOnZqRI0emYcOGH%2Bm6Gjassz9jYBtt2rndlxd7L192X57svXzZfXmqqEhKpaRRI3undlWUSqVSbQ/xYSxZsiSnnnpqdtttt9x7771p3LhxbY8EAADUslKplIqKitoegzJXpwJ7xYoVGTJkSNauXZv7778/rVq1%2BsjXuXz5mlRVbSxgOuqKhg0bpHnzpnZfZuy9fNl9ebL38mX35alFi6Ypld75f3vYHlq12mWrzqszdxFfu3ZtRowYkddffz0PPPBAIXGdJFVVG7Nhg2%2B%2B5cjuy5O9ly%2B7L0/2Xr7svrxsusnQzqltdSKwN2zYkAsvvDBz587Nfffdl/bt29f2SAAAAFBDnQjsf/u3f8svf/nLXHLJJXn77bfzu9/9rvqyfffdN82aNavF6QAAAKCOBPavf/3rJMn111%2B/2WX33HNPevXq9XGPBAAAADXUicB%2B4oknansEAAAA%2BEB%2BURwAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFEBgAwAAQAEENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFKDOBPbLL7%2BcYcOGpXv37undu3fGjBmTt99%2Bu7bHAgAAgCRJo9oeYGssX748Z599dtq1a5fx48fnzTffzLhx47J06dLccMMNtT0eAAAA1I3A/tGPfpTly5fnkUceSevWrZMkDRs2zMUXX5wRI0akQ4cOtTwhAAAA5a5O3EX8V7/6VXr37l0d10kyYMCAVFZWZtasWbU4GQAAALyjTgT2ggULNruVurKyMnvttVcWLFhQS1MBAADA/6kTdxFfvnx5mjdvvtnx5s2bZ9myZR/pulu0aJpS6SNdBXVMRcU7f9p9ebH38mX35cney5fdl6cGDSqycWMpjRrVidsPqcfqRGC/n1KplIpN30W3UYMG/hGWK7svT/Zevuy%2BPNl7%2BbL78tOwYUVatdqltsegzNWJ7zzNmzfP8uXLNzu%2BYsWKLd6yDQAAAB%2B3OhHYHTp02Oyx1uvWrcvChQs9gzgAAAA7hDoR2H379s0zzzyTt956q/rY448/nnXr1uWII46oxckAAADgHRWl0o7/9A/Lly/PwIED0759%2B5x33nl54403ct1116VPnz654YYbans8AAAAqBuBnSQvv/xyxowZk%2Beeey5NmjTJwIEDc/HFF6dJkya1PRoAAADUncAGAACAHVmdeAw2AAAA7OgENgAAABRAYAMAAEABBDYAAAAUQGADAABAAQQ2AAAAFKDsAvvll1/OsGHD0r179/Tu3TtjxozJ22%2B/XdtjUbC//OUvufLKK3PiiSemc%2BfOGThw4BbPmzVrVv7lX/4lXbt2zdFHH50pU6Z8zJNSpJkzZ%2Ba8887LEUccke7du%2BeEE07I/fffn40bN9Y4z97rl6eeeipnnnlmDjnkkBxwwAE56qijMm7cuKxYsaLGefZev61atSp9%2B/ZNx44dM2fOnBqX2X39MnXq1HTs2HGzlxtuuKHGefZefz344IP5/Oc/n65du6Z3794599xza1xu99SmRrU9wMdp%2BfLlOfvss9OuXbuMHz8%2Bb775ZsaNG5elS5du9k2Zum3evHmZNWtWunXrlo0bN2ZLv%2B79%2Beefz3nnnZcTTzwxo0ePzm9/%2B9uMGTMmlZWVOeWUU2phaj6qyZMnp127drn00kvTpk2bzJ49O2PHjs0rr7ySyy67LIm910fLli1Ljx49cvbZZ6d58%2BaZN29eJkyYkHnz5uXuu%2B9OYu/lYNKkSamqqtrsuN3XX3feeWc%2B8YlPVL%2B%2B2267Vf/d3uuvCRMm5Pvf/37OPffcdOvWLcuWLctTTz1VfbndU%2BtKZeT2228vdevWrfTGG29UH/vpT39a2n///Uvz58%2BvxckoWlVVVfXfL7vsstLxxx%2B/2TnDhg0rnXzyyTWOfeMb3ygddthhNd6euuPd/7Y3ufbaa0tdu3YtrV27tlQq2Xu5eOCBB0r7779/6dVXXy2VSvZe382fP7/UvXv30g9/%2BMPS/vvvX3rhhReqL7P7%2Bufhhx8u7b///lv8nr%2BJvddP8%2BfPL3Xq1Kn01FNPve85dk9tK6u7iP/qV79K796907p16%2BpjAwYMSGVlZWbNmlWLk1G0Bg0%2B%2BEt73bp1eeaZZ3L88cfXOH7CCSdkyZIl%2BeMf/7g9x2M7efe/7U06deqUtWvXZunSpfZeRlq2bJkk2bBhg72XgbFjx2bw4MHZe%2B%2B9axy3%2B/Jk7/XX1KlTs%2Beee6ZPnz5bvNzu2RGUVWAvWLAgHTp0qHGssrIye%2B21VxYsWFBLU1EbFi5cmPXr12efffapcXzfffdNEl8P9chzzz2Xli1bpk2bNvZez1VVVWXt2rX5wx/%2BkFtuuSX9%2BvVL%2B/bt7b2ee%2ByxxzJ37tyMHDlys8vsvn4bOHBgOnXqlKOOOiq333579UME7L3%2B%2Bv3vf5/9998/t9xyS3r37p0DDjggZ555Zl588cUkds%2BOoeweg928efPNjjdv3jzLli2rhYmoLZv2/d6vh02v%2B3qoH%2BbMmZOpU6dm5MiRadiwob3Xc/369ctrr72WJDn88MPzne98J4l/7/XZmjVrct111%2BWiiy5Ks2bNNrvc7uuntm3b5vzzz0%2B3bt1SUVGRJ554IjfddFNee%2B21XHnllfZejy1ZsiR/%2BMMfMm/evFxzzTVp3LhxJk6cmKFDh%2BZnP/uZ3bNDKKvAfj%2BlUikVFRW1PQa14P327uuh7luyZEkuuOCCdO3aNeecc06Ny%2By9fvre976X1atXZ/78%2BZk0aVLOPffcTJ48ufpye69/br311rRp0yaDBg36wPPsvn45/PDDc/jhh1e/3qdPn%2By00075wQ9%2BUOPZpO29/imVSlm9enUmTJiQ/fbbL0nSpUuXHHXUUXnggQdy0EEHJbF7aldZ3UW8efPmWb58%2BWbHV6xYscVbtqm/WrRokWTzn2Ru%2Bvrw9VC3rVixIuecc06aNGmSW2%2B9NY0bN05i7/XdZz7zmRx00EE59dRTM3HixMyePTuPP/64vddTixcvzt13350LLrggK1euzPLly7N69eokyerVq7Nq1Sq7LyPHHntsqqqq8uKLL9p7PdaiRYt88pOfrI7rJNl1112zzz77ZP78%2BXbPDqGsArtDhw6bPfZi3bp1Wbhw4WaPzaZ%2B22uvvdK4ceO89NJLNY7Pnz8/SXw91GFr167NiBEj8vrrr%2BfOO%2B9Mq1atqi%2Bz9/LRqVOnNGzYMAsXLrT3emrRokVZv359hg8fnp49e6Znz57Vt16eddZZGTp0qN2XKXuvv95vd6VSKQ0aNLB7dghlFdh9%2B/bNM888k7feeqv62OOPP55169bliCOOqMXJ%2BLhVVlbmkEMOycyZM2scf/TRR9O2bdt07ty5libjo9iwYUMuvPDCzJ07N3feeWfat29f43J7Lx/PP/98qqqqsscee9h7PdWpU6fcc889NV4uv/zyJMk111yTq666yu7LyIwZM9KwYcN07tzZ3uuxI488Mq%2B//nr%2B93//t/rYa6%2B9lpdeeikdO3a0e3YIDa%2B%2B%2Buqra3uIj8t%2B%2B%2B2Xhx9%2BOE899VR22223PP/887n22mtz9NFHZ/DgwbU9HgVas2ZNfvGLX2T%2B/Pn5r//6r7z%2B%2BuvZfffdM3/%2B/LRu3TpNmzbNnnvumdtuuy1/%2B9vfsssuu2T69OmZPHlyLr/88hxwwAG1/SGwDa6%2B%2Buo8%2BuijufDCC7Prrrvm1VdfrX5p1qxZKisr7b0eGjVqVBYuXJgVK1bk1Vdfzc9//vNce%2B212XPPPTN69Og0bNjQ3uuhnXbaKXvssUeNl7Vr12batGkZNWpU9V7tvv4ZNmxY/v73v2flypX5y1/%2BkrvvvjtTpkzJkCFDcswxxySx9/pq7733zpNPPpmf/OQnadOmTf7yl7/kqquuSpKMGzcujRs3tntqXUWpVCrV9hAfp5dffjljxozJc889lyZNmmTgwIG5%2BOKL06RJk9oejQItWrQoRx111BYvu%2Beee9KrV68kyaxZs/Kd73wnCxYsyO67756hQ4fmjDPO%2BDhHpUD9%2B/fP4sWLt3iZvddf3/ve9zJjxowsXLgwpVIp7du3z9FHH51hw4bVeGZpe6//Zs%2BenbPOOisPPfRQunbtWn3c7uuXMWPG5Kmnnsqrr76ajRs35tOf/nROOeWUDBkypMaTWNl7/fTGG2/k2muvzaxZs7Jhw4b07Nkzl19%2BeY1fzWX31KayC2wAAADYHsrqMdgAAACwvQhsAAAAKIDABgAAgAIIbAAAACiAwAYAAIACCGwAAAAogMAGAACAAghsAAAAKIDABqglU6dOTceOHatfOnfunD59%2BuRrX/ta/vznP9f6XIsWLaq1GT4OQ4YMyZAhQ2p7jI/dhAkT0rFjxxrH3vu5WLNmTSZMmJDZs2d/3OMBQJ3WqLYHACh348aNyz777JO1a9fmt7/9bW677bbMnj07M2fOTIsWLWp7vHrrqquuqu0Rdhjv/VysWbMmEydOzKhRo9KrV69amgoA6h6BDVDL9ttvv3Tt2jVJ0qtXr1RVVWXChAn5%2Bc9/npNOOqmWp6u/9t1339oeYYfhcwEAxXAXcYAdzKbYfuONNza7bMaMGTnttNPSvXv39OjRI8OGDcsf//jHGufMmTMnX/va19K/f/8ceOCB6d%2B/fy666KIsXrx4s%2Bv73e9%2Bl8GDB6dr167p06dPbrzxxmzYsGGr5hw9enR69OiRBQsWZNiwYenevXv69OmT733ve9XXffrpp6d79%2B4ZMGBApk2bVuPt33zzzVx99dU57rjj0qNHj/Tu3TtnnXVWnn322RrnLVq0KB07dswdd9yRW2%2B9NUceeWS6du2aQYMG5emnn65x7qa7P//xj3/MqFGjctBBB%2BWzn/1sLr744rz55ps1zn3v3aI3vZ%2B77rorkydPTv/%2B/dOjR4%2Bcdtpp%2Bd3vfrfZx//jH/84AwYMyAEHHJDjjjsu06dPz%2BjRo9O/f/9/%2BLlbv359/v3f/z2HHXZYunXrltNPPz0vvPBC%2Bvfvn9GjR2/28bzXlu7GP2PGjHzpS19Knz59cuCBB%2BbYY4/NDTfckNWrV//Ded79uVi0aFF69%2B6dJJk4cWL1QxhGjx6dZ599Nh07dsyjjz662XU88sgj6dixY1544YV/%2BP4AoL5yCzbADmZTNH3605%2Bucfy2227LTTfdlEGDBmXEiBFZv3597rrrrpxxxhl58MEHq2%2BFXLx4cfbee%2B8cf/zxadGiRZYsWZIf/vCHOfnkk/Mf//Efad26dZJk/vz5%2BeIXv5j27dvnuuuuS5MmTXL//fdvMZ7ez/r163P%2B%2Bedn8ODBGTZsWKZPn54bb7wxK1euzH/%2B53/mnHPOye6775777rsvo0ePzn777ZcDDjggSbJ06dIkyahRo/LJT34yq1evzuOPP54hQ4bk%2B9///mZ3TZ4yZUratWuXK664Ihs3bsydd96Zc845J/fee2969OhR49xRo0blmGOOyeDBgzN//vzcfPPNWbBgQX784x%2BncePGH/gxTZkyJfvss0%2BuuOKKJMnNN9%2Bc4cOH5xe/%2BEU%2B8YlPJEkeeOCBXHnllRkwYEAuv/zyrFixIhMnTsz69eu36vP2zW9%2BM4888ki%2B9KUv5bDDDsu8efMyatSorFq1aqvefkv%2B/Oc/p2/fvjn77LPTtGnTvPTSS7njjjvywgsv5J577tnq69l1111z55135stf/nJOPvnknHLKKUmS1q1bZ6%2B99krnzp0zZcqUDBw4sMbb3XfffenatWsOPPDAbf4YAKCuE9gAtWzjxo3ZsGFD9WOwb7311vTs2bPGLaF/%2B9vfMmHChJx55pn5xje%2BUX380EMPzYABAzJx4sTcdNNNSZJjjjkmxxxzTPU5VVVVOfLII3PYYYfl0UcfzVlnnZUkueWWW1IqlfKDH/wgn/zkJ5MkRx555Gbh9EHWr1%2Bfr371q/nc5z6XJDn44IPz5JNP5vbbb8%2B0adPSuXPnJMkBBxyQQw89NI8%2B%2Bmh1YO%2Bzzz65%2Buqra8zZp0%2BfLF68OPfee%2B9mgV1VVZXJkydnp512SpL06dMnRx11VMaPH5/JkyfXOPfoo4/OpZdeWn1emzZtcvHFF2fmzJn5/Oc//4Ef0y677JLbb789DRs2TPJOcJ5yyin51a9%2BleOPPz4bN27MhAkT0q1bt4wfP7767T772c/mc5/7XHbdddcPvP4FCxZk2rRp%2BeIXv1g942GHHVY947Y677zzqv9eKpVy0EEHpUOHDjnzzDMzd%2B7cfOYzn9mq66msrEyXLl2SJLvvvnu6d%2B9e4/IhQ4bk8ssvz4svvphOnTolSV544YXMmTMn3/72t7d5fgCoD9xFHKCWnXrqqenSpUsOOuigfPnLX07z5s0zadKkNGr0fz8D/fWvf50NGzbkxBNPzIYNG6pfdtppp/Ts2TO/h1MyEAAACBVJREFU%2Bc1vqs9dtWpVrr/%2B%2Bhx99NHp3LlzOnfunB49emT16tVZsGBB9XmzZ89O7969q%2BM6SRo2bJjjjjtuq2evqKjIEUccUf16o0aN8qlPfSpt27atjuskadmyZVq3bp2//vWvNd7%2Bhz/8Yb7whS%2Bka9eu6dy5c7p06ZKnn366xpybfO5zn6uO6yRp1qxZ%2BvXrl//%2B7/9OVVVVjXNPOOGEGq8fe%2ByxadSo0VY9K/aRRx5ZHddJqsN0013sX3755SxZsiTHHntsjbdr167dZrekb8mmGd5vxm31yiuv5Otf/3oOO%2BywdOrUKV26dMmZZ56ZJHnppZe2%2BXrfa%2BDAgWnTpk2mTJlSfey%2B%2B%2B5L69atP9TXDgDUR27BBqhl3/72t9OhQ4esWrUqM2bMyAMPPJCLLrood955Z/U5r7/%2BepLk5JNP3uJ1NGjwfz8v/frXv55nnnkm5513Xrp27ZpddtklFRUVGT58eNauXVt93tKlS2vE9SZbOvZ%2BmjZtWiN6k6Rx48Zp2bLlZudWVlbWeP%2BTJ0/Oddddl8GDB%2BfCCy9Mq1at0qBBg9x8881bDML3m3X9%2BvVZvXp19d23k6Rt27Y1zmvUqFFatmxZfbf0D/Le2SsrK5Okeva33norSdKmTZstzrOlx7q/26YZ3m/GbbFq1ar867/%2Ba3baaad89atfzac//ek0adIkr776akaNGpW33357m653SyorK3Paaadl8uTJufTSS7Nhw4bMnDkzQ4cOrf5cAUC5EtgAtaxDhw7VT2x2yCGHZOPGjXnwwQfz2GOPVd/Vu1WrVkmS8ePHp127du97XStWrMiTTz6ZUaNGZfjw4dXH161bl2XLltU4t2XLltXh/m5bOrY9/PSnP83BBx%2Bca665psbx93sc8vvN2rhx4%2By88841ji9ZsiS77bZb9esbNmzI0qVLtzlg323TLrb0JHRb87nbNMP7zfhum354sW7duhrxuinyN3nmmWfy97//Pffee28OPvjg6uMrVqz4h/Nsi9NPPz133HFHHn744axduzZVVVUZPHjwdnlfAFCXuIs4wA7mkksuSYsWLTJ%2B/Phs3LgxyTuPI27UqFEWLlyYrl27bvEleecu26VSabNbEh988MHN7kbdq1evPP300zWisKqqKjNmzNjOH2GqZ33vnHPnzt3iM3Ynyc9%2B9rMat4CvXLkyv/zlL/NP//RPNe7SnSTTp0%2Bv8frMmTOzYcOGGvG5rfbee%2B%2B0bds2M2fOrHH8r3/9a55//vl/%2BPabHlv%2BfjO%2BW/v27ZO883l5t1/%2B8pc1Xq%2BoqEiSzT6fP/rRj/7hPFuy6Xre75bvXXfdNQMGDMj999%2BfH/3oR%2BnXr98H/uAHAMqFW7ABdjAtWrTI8OHDc/3112f69Ok58cQTs8cee%2BSCCy7ITTfdlFdeeSV9%2B/ZN8%2BbN8/rrr2fOnDlp2rRpLrjggjRr1iw9e/bMXXfdlVatWqV9%2B/b5zW9%2Bk4ceeijNmzev8X5GjBiRJ554ImeffXZGjhyZJk2aZMqUKVmzZs3H8nEeeeSRmTRpUsaPH5%2BePXvm5ZdfzqRJk7LHHnts9sOA5J3Hhw8dOjRDhw7Nxo0bc8cdd2TlypU5//zzNzv38ccfT8OGDaufofvmm2/OZz7zmc0eN70tGjRokPPPPz9XXnllLrjggpx00klZvnx5Jk6cmLZt21bH7vvp0KFDPv/5z%2BcHP/hBGjVqlEMPPTTz5s3LXXfdlWbNmtU494gjjkjLli3z//7f/8uFF16Yhg0bZtq0afnb3/5W47wePXqkRYsWueqqqzJq1Kg0atQo06dPz5/%2B9Kdt%2BhibNWuW9u3b5xe/%2BEV69%2B6dFi1apFWrVtljjz2qzzn77LOrn2F83Lhx2/R%2BAKC%2BcQs2wA5oyJAhadeuXSZNmlQdm1/5yldy8803589//nMuu%2ByyDBs2LDfccEMWL16cnj17Vr/tjTfemF69euX666/PqFGj8j//8z%2BZPHlyjccoJ8n%2B%2B%2B%2BfyZMnp1mzZrnsssty5ZVXpmPHjjWejXp7OvfcczN06NA89NBD%2BcpXvpKHHnooV199dT772c9u8fwzzjgjhx56aMaMGZOvf/3rqaqqyu23377F8ydMmJCXXnopo0aNyvjx49O/f//cfffdhT1G%2BLTTTsu3vvWtzJ07NyNHjszEiRMzfPjwdOrUabMfZGzJ2LFjM3To0EybNi0jRozIzJkzM2HChLRo0aLGec2aNcsdd9yRXXbZJZdcckmuuuqq7Lfffjn33HNrnNeqVavcfvvtadq0aS655JJcccUV2XnnnfPd7353mz/GsWPHpmnTphkxYkROPvnkTJw4scblBx54YNq3b58OHTpU/95sACh3FaVSqVTbQwDA%2B1m0aFGOOuqoXHrppRk2bNgHnjthwoRMnDgxTz/9dPXv%2B/64LF%2B%2BPAMGDMg///M/51vf%2BtY2XUf//v1z8MEH57rrrit4uuLNnTs3J554Yq688sqcccYZtT0OAOwQ3EUcAD6kJUuW5LbbbkuvXr3SsmXL/PWvf833v//9rFq1qvr3jNdXCxcuzOLFi/Pd7343bdu2zaBBg2p7JADYYQhsAPiQKisrs3jx4lxzzTVZtmxZmjRpkm7duuWaa67JfvvtV9vjbVeTJk3KT37yk3To0CE333xzmjZtWtsjAcAOw13EAQAAoACe5AwAAAAKILABAACgAAIbAAAACiCwAQAAoAACGwAAAAogsAEAAKAAAhsAAAAKILABAACgAAIbAAAACvD/AWLmtvYcplPsAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -263,7 +298,7 @@
 <br>
 
 <h3 id="Read_mapping_quality_vs_Average_basecall_quality_plot_using_a_kernel_density_estimation">Read mapping quality vs Average basecall quality plot using a kernel density estimation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeVxU1f8/8NcM%2B6ZoIu5iGqa5hvuCmrkFbriXabmUWS6ZfswtUzO3zNxLk9z3XDHNXDJx38UVUUQQBWVRYIAZmPn9wXfu716Y5QIzDNbr%2BXj0SGaGO4czc%2B8977O8j0Kn0%2BlARERERERERIWitHUBiIiIiIiIiP4NGGATERERERERWQADbCIiIiIiIiILYIBNREREREREZAEMsImIiIiIiIgsgAE2ERERERERkQUwwCYiIiIiIiKyAAbYRERERERERBbAAJuIiIiIiIjIAhhgFzOLFi1CzZo1UbNmTUyZMsXWxSELysrKEj7bmjVr4unTp7YuEtlAVFSU8B2oXbu20dfxWkBEeqNHjxauB2vWrLF1cciK5s2bJ3zWM2fONPq6pk2bCq8LCwsrwhL%2Be6WlpUnaaYmJiQZft3HjRuE1n376aRGX8tX0X7uG2VvjoF9//TV2795t9HkHBwe4u7ujXLlyeOutt/Duu%2B/C398fdnZ21igOERFRkRk/fjz2798v/NynTx989913NiwRERERFRWbjGBrNBokJSXh9u3b2LlzJ0aMGIHAwEBcv37dFsUhInolcVZE8ZOamoojR45IHjt48CAyMjJsVCIiIrIFzjIoHmzxOVhlBFusZMmSqFu3ruQxtVqNuLg4REVFCY89ePAAgwcPxrp161CvXj1rF4uIiMjiDh06hPT0dMlj%2BqA7MDDQRqUiIiKiomL1ANvUXPvo6GgsWLAAf/75JwBApVJh8uTJ2LdvH5RKLg%2Bnfxd7e3vcvXvX1sWgV8SXX36JL7/80tbFoHzas2eP8O/WrVvj5MmTAIDdu3czwCYi%2BhcYOHAgBg4caOtiUDFm0yi2cuXKWLx4Mdq1ayc8du/ePaFBQkRE9KqIjo7GxYsXAQBubm6YO3cunJ2dAQCnT59GXFycLYtHRERERcDmw8QKhQKjR4%2BWPHb27FkblYaIiKhg9uzZA51OBwDo2LEjypQpI3Qga7Va7Nu3z5bFIyIioiJg9SnictSqVQuurq5QqVQAgMePH%2Bfr98%2BePYs///wTFy5cwLNnz5CWloZSpUqhRo0aaNeuHXr37g1XV1dZx7p37x5CQ0Nx6dIlREREID4%2BHpmZmfDw8EC5cuXg5%2BeHbt26oX79%2Bvkqo75xtX//fty9excvXryAl5cXatSogZ49e6Jjx45WyaIeFRWFjh07AgDs7Oxw69YtADkjLdu2bcOJEyfw9OlTZGZmonLlyujYsSOGDh0Kd3d3yXFSU1OxdetW/PXXX4iIiIBarYaXlxdatmyJ4cOHo0qVKrLKY8n6Nfa3RUVFYevWrQgNDcXTp0%2BRlZWFChUqoE2bNhgwYAAqV65sk%2BNmZWXhrbfeEn4%2BceIEypUrl%2Bd1ixYtws8//wwA6N27N2bPng0AuHjxIrZt24Zr167h6dOncHZ2RpUqVfDOO%2B9g0KBBeT4zU2JiYrBlyxacOHECsbGxAIBy5cqhWbNm6NevH2rWrAkA8Pf3F0bdNm3ahEaNGsl%2BD3Pi4%2BOxZcsWHD16FI8fP4ZOpytwGcRZm8eMGYORI0eaff/8/G3Xr1/H6dOnceXKFdy/fx8JCQnQaDQoUaIEKlasiEaNGqF3796oXr16vuvBGGPfAyBnNPTjjz/O8ztt2rQxeCz97586dQpDhgwBALi4uODkyZPw8PCQVZ5ly5Zh6dKlAIC33noLu3btytffAwA9evTA7du3AQBffPEFRo0aJev3MjIy0Lx5c%2BEesWzZMnTo0CHP6%2B7du4ddu3bh0qVLiIqKQmpqKpRKJdzd3VG%2BfHn4%2BvrCz88PHTp0gKenZ77Lb4pOp5NMD%2B/WrZvw/4MHDwLICcCHDx9u8jirVq3CwoULAQDVqlXDoUOHZJfhq6%2B%2BQkhICACgS5cu%2BOmnn4y%2BVq1W448//sDx48dx8%2BZNJCQkQKfT4bXXXkP9%2BvXRuXNndOjQAQqFwuR7jh49Wljm9b///Q9Dhw5FVlYWDh8%2BjAMHDiA8PBzPnj1Denq68LzYo0eP8M8//%2BDixYu4d%2B8enj59ioyMDLi7u8PLywtvv/02unTpgubNm8uuByDnnrt//36EhITgzp07SE5ORunSpVGtWjV0794dAQEBcHR0xMaNGzFr1iwAQNu2bfHLL7%2BYPbal6q6wNBoN/vjjD%2Bzbt0%2B4LpUqVQq1a9dG9%2B7d0aVLF1nHyc7OxoULF3DmzBlcv34dkZGRSEpKglarRcmSJVGtWjU0bdoUffr0gbe3t%2Bzy3blzB7t27cLly5cRHR0tnI8eHh7C%2Bdi4cWO8%2B%2B67KFGihNnjJSYmYu/evfjnn38QGRmJxMREODo6wtvbG02bNkWPHj3yncNHq9Xir7/%2Bwt9//42rV68iMTERqampcHNzQ6VKlVCnTh20bdsW/v7%2BsLc33GROS0tDaGgozp07h1u3buHRo0d4%2BfIlHBwc4OnpiTfffBOtWrVCUFAQXFxc8lU%2BW0lOTsbWrVtx%2BPBhxMTEQKPRwNvbG2%2B//Tb69%2B8v1HNQUBBu3rwJAFi8eDE6d%2B6c51jz5s1DcHAwAOCDDz7AN998Y/b95RxX7%2B7duwgNDcXly5cRERGBZ8%2BeCe3K8uXLw8/PDz169ECdOnXyXQ/GmLpuhIeHo2vXrnl%2Bp3fv3gaPpf/9u3fvCvcNpVKJI0eOoGLFirLKs23bNqFey5Urh%2BPHjxd4qa2hulepVNi7dy9CQkIQFRWFFy9eoEyZMqhfvz569%2B6NVq1aFei9zLly5QpCQkJw/vx5xMfHQ6VSCdfxtm3bolevXkbbMAX9HCylWATYCoUCHh4eQuMpJSVF1u/FxMRg2rRpOH36dJ7n4uPjER8fj9OnT2PVqlX4/vvv4e/vb/J43bp1M7pGNikpSch8vnHjRnTu3Blz5syRFbjHxcVhzJgxuHLliuTxx48f4/Hjxzhx4gSaN2%2BOH3/80eyxLGHv3r2YPn16nkQ8ERERiIiIQEhICDZu3CjcSK9du4ZRo0blmd74%2BPFjbN%2B%2BHfv27cOSJUuMNu71rFW/Yrt27cK3336LzMxMg3/bli1bMGXKFKMnWFEfVw61Wo05c%2BZg8%2BbNksczMzMRFhaGsLAwbN26FWvWrMEbb7xh9ng7duzA999/L5xvevfv38f9%2B/exdetWjB8/XgjErOHPP//E1KlT8fLlS6Nl%2BOqrr/I0xotaYmIi%2BvXrh0ePHhl8PiEhAQkJCbh%2B/TrWrl2L999/H5MmTTLaELO1Fi1aoHLlyoiOjkZ6ejpCQkIwYMAAs7%2Bn0%2BkkAXWvXr0K9P7dunUTAuz9%2B/fLDrCPHj0qfF9LlCiR51qj0%2Bkwf/58rF27FlqtNs/vJyYmIjExETdv3sTu3buxfv16yTZalnDx4kXExMQAAMqWLYtmzZoByFmHXapUKSQlJSEiIgJhYWF5En%2BKde3aFT/%2B%2BCN0Oh0iIyNx48YNWQ1DlUqFY8eOSY5jzMmTJzFjxgxER0fneS4mJgYxMTE4cOAA6tevj59%2B%2BgkVKlQw%2B/56sbGxGDduXJ77nSFDhw5FaGioweeSk5ORnJyMe/fuYdu2bWjZsiUWLlyIUqVKmT2usXvu06dP8fTpU5w5cwabNm0SOozyw5p1lx/G/sa4uDjExcXh%2BPHj2LZtGxYtWmSyzm7duoVPPvkEz549M/j8s2fP8OzZM5w/fx6//PILxowZg2HDhpksW3Z2NubMmYONGzcKMzrE9NfNGzduYNeuXdi8eTN27txp8pi//fYbli1bhtTUVMnjmZmZSElJQUREBDZv3owePXpg5syZcHR0NHk8ADh//jxmzJiBiIiIPM%2B9ePECL168wM2bN7Ft2za8/fbb2LJlS57X7dixA7Nnz87TngJyOkBUKhViY2Nx7NgxLF%2B%2BHD/88ANatGhhtmy2dObMGUyYMCHPdyIyMhKRkZHYtWsXhg8fbvMcIRqNBj179sS9e/cMPq9vV966dQsbNmxAYGAgZs%2BeLSzbKW5q1qyJBg0a4OrVq9Bqtdi1a5fse6T4/AkKCrJoHqv79%2B/jiy%2B%2BwIMHDySPx8bGIjY2FgcPHkRgYCC%2B//57ODk5WeQ9U1NTMW3aNPzxxx95nhNfx3/%2B%2BWdMnTq1WOY3KRatQJ1OJ2lou7m5mf2dO3fuYNiwYZILgKurK2rUqAEXFxfEx8cjMjISQM4NYuTIkVi0aJHBUQ89cfDn4OAAHx8feHp6QqlUIiEhAZGRkcjOzgaQkyn22bNn2LBhg8mR58TERHz00UeSL6ajoyN8fX3h4uKCyMhIPH/%2BHGfOnMHnn39u0RFCQ44dO4aJEydCp9PBxcUFvr6%2BcHJyQkREBBITEwHkjCgMGzYMe/bswf379/Hxxx8jLS0NSqUSb7zxBjw9PfHkyRMh6MjIyMCYMWMQEhKCSpUqGX1va9Sv2JEjRzBp0iQAOQnFfH194e7ujkePHgnbF6lUKkydOhVKpRJBQUE2Pa5cU6ZMEaaWlipVCj4%2BPlAqlbh3755w3sTFxWH48OEICQkxOZK9Y8cOTJ06VfJY2bJlUbVqVWRkZODevXvIyMjAvHnzrNbTfuTIEXz55ZfCZw0AZcqUQbVq1ZCeno7w8HCo1WrMnz9f1rXAmlQqlSS4dnZ2ho%2BPjzDaEh8fj6ioKOh0Omi1WmzcuBFJSUlW7ywrVaqU0GMsDlCaNGlisGGp73hRKBTo06ePUL4dO3bICrBPnz4tzCxydnYWetnzKyAgAAsWLIBWq0VUVBSuX78ua8RJHAx36tQpz9/4ww8/CCMkQE7vf9WqVeHl5QWlUomXL1/i4cOHQpBuqNFfWOIOiMDAQKGB4%2BDggC5duggdZHv27DEZYJcvXx6NGzfG%2BfPnAeT87XICbHEnhKenJ1q3bm3wdb///jumTZsmOf%2B8vLxQuXJl2NnZ4eHDh8J99dq1axgwYAA2b94sayQlPT0dw4YNw/379wHkXFuqVKkCtVot3I/F7ty5I/zb3t4eVapUQalSpeDg4ICkpCQ8ePAAGo0GAHDq1CkMHDgQO3fuNHltSkpKynPPdXBwgK%2BvL9zc3ISO7bCwMAwdOhQ9e/Y0%2B3fpWbPu8kOtVuOTTz4R6k9/DVepVAgPDxfq7MyZMxg%2BfDjWrVtn9Fr6/PlzSTvK3d0dVatWhYeHB7KysoRGtP59FyxYgIyMDHzxxRdGyzdnzhxs2LBB%2BFmpVMLHxwdlypSBQqEQzkd9UGqoU0xPp9Nh2rRp2LFjh%2BRxHx8flC1bFmq1GuHh4VCpVNDpdNi9ezdiY2OxZs0aODg4GD3u3r17MWXKFKGugJy2WY0aNVCiRAmkpaUhMjJSCOiNDfxERUVJgmsvLy9UqFABrq6uyMjIQGRkJJKTkwHkdCwMHz4cv/76a75nZBSVixcvYsSIEZJtBT09PVG9enVoNBpERERApVJh1apVFgumCkqr1UqCawcHB1SrVg0lS5aEUqnE8%2BfPERkZKXy/QkJC8Pz5c/z2229WTaTs5uYm3J/PnTsnfMcaNmxo8DwUz2zs27cvrl69CiDnnvL555%2BbLWt4eLiwzbFCoShwB7ghycnJ%2BPjjj4UBtkqVKqFChQpITk5GRESEpG7T0tKwfPnyQs/GffnyJT766CNhFB2Qtr2jo6Px5MkTADnX%2B/HjxyMpKQkffvih5DiF%2BRwsoVgE2Ddv3pRcoGrUqGHy9SkpKRg5cqRwUyhfvjwmTpyIDh06SEaOIiMjMWvWLJw6dQoajQaTJk3CW2%2B9ZbRHuUSJEggKCkKHDh1Qv379PBfn5ORkbNq0CStXroRGo8GlS5fw22%2B/mezN/e677yQ3%2BkGDBmHUqFFCA10/PWn69Om4fPmywUaIpWi1WkycOBF2dnb48ssvMXDgQKEnLzs7G8HBwfjhhx8A5Jywu3fvxtq1a5GWlobu3btjwoQJ8PLyEo538uRJjBkzBmlpaUhPT8fSpUsxb948o%2B9vjfoV/21TpkwBAPTs2RMTJkzAa6%2B9JjwfGhqKqVOn4smTJ9DpdPj222/RqFEjs1PbrXVcuY4cOYLk5GRUqFABU6dORbt27YSLrUajwZo1a7Bo0SIAwJMnT7B27VqjDZ%2BoqChhShOQc97MmDED/v7%2BwlTGtLQ0BAcHY8WKFZg7d67Fb0LPnz/HpEmThAZqqVKlMGPGDHTo0EF4r5cvX2Lp0qVYv3495syZY/MdBby8vNC7d2906NABtWrVylOeuLg4rFmzBuvXr4dOp8OBAwfQoUMH2dMzC6JWrVpYs2ZNnmUHCxYsMLjsQCwoKAhLlixBVlYWbt68iTt37uDNN980%2BTvi3vFOnTrJnlaem7e3N5o0aSLk2di/f7/ZADs5OVnSiZB7ZDYuLg5r164Vfu7fvz9GjRqFMmXKSF6n0%2Blw%2B/ZtHDp0SNboan6kp6cL06QB5OmA6NatmxBgh4SEYOLEiSZH2Lp27SoE2H/88QcmTpxo9jww1wkBAJcvX5YEiE2bNsX48eMln4FOp0NoaCimT5%2BOx48f4%2BnTp5gwYQI2btxotgzBwcFIS0tDjRo1MH36dDRp0kR4Tq1WIykpSfJ6V1dX9O/fH507d4afn1%2BeMqempmLnzp1YvHgxVCoVIiIisHjxYnz99ddGy5D7njtw4ECMHj0aJUuWFB67dOkSpk2bhvv37xvd5SQ3a9ddfqxbtw5JSUnw9vbGrFmzJNfwxMRELFy4UDhnw8LC8OOPP2LatGlGj%2Bfj44M%2BffrgnXfeweuvv57n%2Bfv372Pp0qXCUocVK1agffv2qFWrVp7XRkdHY9OmTcLPH374IUaOHInSpUtLXqfVanHz5k0cOnRImNViyOrVqyXBdf/%2B/TFixAiUL19eeEytVmPHjh2YN28eMjMzce7cOSxduhTjxo0zeMxr165JguvSpUvjyy%2B/RNeuXSWdNzqdDmFhYdi7dy%2BuXbtm8FgKhQJNmzZF9%2B7d0aZNG4PXnXPnzmHu3Lm4ffs2srKy8L///Q9HjhyxeYCaW1paGsaPHy8E125ubpgyZQq6d%2B8utK1VKhWCg4OxfPlyrFixIl9L06zB09MTQUFB6NixI%2BrWrZtn9lhiYiI2btyIVatWQaPR4OzZs9i0aVOeYMySKlasKFxXmjZtKnSwTJkyxWTnKgC89957mDNnDlJSUhAbG4tTp04Z7SzVE58fLVq0MDnQlV8//fQTkpKSUKNGDXz33Xdo2LCh8FxsbCxmzpyJ48ePAwCOHz%2BOdevWFXr248yZMyXBdb9%2B/TB27FjJNeTs2bOYOnUqoqOjodPpMGfOHNSrV0%2ByvLQwn4Ml2DzJmU6nw7JlyySPderUyeTv/PDDD8Joio%2BPD3bt2oUuXbrkObGqVauGVatWCT0YKSkpWLFihdHjnjhxApMmTUKjRo0M9nx6enri888/F9bHAcCGDRuQlZVl8HhXrlzBgQMHhJ8/%2BeQTTJkyRbLWSKlUolOnTggODoazs3OeBogl6WcKzJ8/H8OGDZNMk7Gzs8Pw4cPRvXt34bFvv/0W9%2B7dQ//%2B/TF//nxJcA3kTH3Uj%2BwCwOHDhw1Ok9KzdP3m/tuSk5PRp08fzJ07VxIEA0CrVq2wYcMGYd1lZmYm5s%2Bfb7PjypWcnAwvLy9s2bIF7du3lzTSHBwcMGLECMkI5O7du40ea%2BHChcIU95IlS2L9%2BvVo06aNZJ2gm5sbRo0ahUmTJiEjIyPPNPLCWrJkiTDq7uzsjODgYHTq1Enyd5UoUQJTpkzBJ598YpUy5Ie3tzeOHTuGsWPH4q233jLYSPb29sbkyZPxv//9T3jst99%2BK8pi5ouXlxfeeecd4WdzUzOTk5Nx5MgR4ec%2BffoU6v3FAfIff/whGQ005NChQ0JDuFy5cmjcuLHk%2BdDQUOEa0aRJE8yYMSNPIxfIaQjXrl0b48aNkwTklnD48GGkpaUByJktkDvwaNiwodDplpycjBMnTpg8XufOnYVrZHx8PM6dO2fy9UlJSZKlUoZmGGRnZ%2BPrr78W6jswMBBr167N08GhUCjQunVrbNmyRbjeXbp0CX/99ZfJMgA5DXQfHx9s2rRJElwDENbKiu3duxczZsxA8%2BbNDXYIuLu746OPPsLq1auFc2/79u15pgnr3bhxQ1iDDgDDhg3DtGnTJME1APj5%2BWHDhg2oWLGirHtuUdRdfiQlJRm9hpcuXRqzZ89G//79hcc2b94szCrIrXHjxjh06BCGDRtmMLgGgOrVq%2BOnn34Szv3s7GysW7fO4GtPnjwpjGq1atUKU6dOzRNcAzltn7p162LChAlYvXq1wWM9fPgQS5YsEX7%2B9ttvMWPGDElwDeR8tz744AOsWLFC%2BJ4EBwcjPj4%2BzzH1Aw3ia8q2bdvQt2/fPDMjFAoF6tWrh2nTphn9ez/77DOsX78evXr1MnrdadasGTZv3ix0ZMbHx0vahsXFmjVrhJFBOzs7LF%2B%2BHL169ZK0rV1dXfHFF18I58OLFy9sVVw4Ojri77//xsSJE9GwYUODS7NKly6N0aNH4/vvvxceW7dunclZE7bk4uIiuUeauz%2Br1WpJ8kxLL1NMSkpCpUqVsGHDBklwDQAVKlTA8uXL0bZtW%2BGxpUuXCoFsQVy8eFHSWTxkyBDMnDkzzzWkWbNm2LRpk3BPyc7OxowZMwr8vtZg0wA7OjoaY8aMEXo/gJwbl6FeUb3ExERJEDFv3jyDF289e3t7zJw5Uzjx9u/fb/TmLHe9b6dOnYQv2tOnT4UkWLlt27ZN%2BHeVKlVMrqWoXbu2Vde86rVr1w4BAQFGn%2B/Xr5/wb41Gg9dee00SROfWrVs3od5UKpVkyl9ulq7f3F577TWTIxuVK1eWZKw/duyYwRtwUR1Xrq%2B//trkqOTgwYOFf8fExBh874SEBMn6zC%2B%2B%2BMLkKPuHH35o8R6%2BtLS0PBfO2rVrG339qFGjLDYToKAcHBxkreUDgI8%2B%2BkiStyAhIcGaRSuUvn37Cv/et29fntwCYnv37oVarQaQ06GZO8DNr06dOgkjN8%2BfPze7a4Q4YBJPvdbTL9MAgLfffltWGSydUNJQcrPcxI0mUx1hQN515ubWix88eFAIGCpWrAg/P788rzl8%2BDCioqIA5Ewp/u6770yOqnp7e0tGAA2tPzVk2rRpshPIyb0nNGrUCO3btweQcx0x1uGwfft24d8VK1bEmDFjjB7ztddek3SKmVJUdZcfX3zxBXx8fIw%2BP3HiRKFTXKvVSupGzMXFRXYytq%2B%2B%2BkpoS4nbbWLiXC2GvoeGGDsf161bJ3yv3333XbPLWVq1aiWcZxqNxmBwcvToUclMwblz58q6zxibYi/3O%2Bzq6pqnnVCcZGdnS%2BqrV69eJqexDxo0KN/Jfi1NoVDIXsrWrVs3ob0RHR2N8PBwaxatUMTt8KNHjwrLNw3Rz3IEcmYEvvvuuxYvz%2BTJk43GWXZ2dpg5c6YwYKdSqQq1W4Y411CVKlVMrvP39vaWxCc3b960%2BOy0wrB6gH337l0MHTpU8t%2BgQYPQqVMndOjQQTKtrmXLlpIprIYcOnRIaAzWr18fDRo0MFuGihUrCg2vjIwMo1N98kPccx0WFpbneZ1OJ7mA9unTx2xD/f3337f6dFhzvVt16tSRlCEgIMBkQggnJych2zOAPEkQCspc/RrSvXt3s9OVgoKChBtidna20UZCURxXjpIlS5rMngnkzNQQj6wb%2BgxOnz4tNFQcHR3NrjtUKBSSi7wlnDlzRhiNViqVZhtLjo6OkkCwuNOPyOjJ/d7aQqtWrYR1oS9evDA5wiZudFmid9zDw0PS420qeHzy5ImwrzRgOHGXeJqlsSSK1vTkyROhk0ChUBhNtiIOvP/55x%2BTjabcrz98%2BLDQyWGIuA4DAwMNBkziRo%2Bh0TpD3nvvPSGgunz5sskyADn32pYtW5o9bkHIuSf8888/wr%2BDgoLM3nM7dOhgcNQxt6Kou/xwdnY2u87S1dVVkg9EPAuloEqVKiWZiWEo%2BaO4zk11uJuj1WolnWuDBg2S9Xvia4ShjhjxyHHDhg2LdC20OCAtbveHGzduSDpHPvjgA5OvVygUeP/9961dLIsqSLvSFt58802hrBqNxmTAKr4/d%2B/eXfaAgFwVKlSQzHgzxNvbWxLYF/Rao9VqJW3n/v37m/17OnfuLBmAOnr0aIHe2xqsvgb7xYsXRrOE6vn4%2BGDkyJHo1q2b2Z7US5cuCf9u2rSp7HL4%2BvoKa9pu3rxpshGg0Whw5swZhIWFITo6GikpKcjMzJQkxtH3ZgPIk11b/7x46oy5NRRAztTNWrVqSdYeWJq5HkcnJyd4eHgIZZfTgSFuoOTOCm2IJerXEDl17OLigsaNGwtTNMPCwswGktY6rhx16tSRlZHa29tbGDE1lIxFfDN56623ZK2hzc/5JYe4DL6%2BvihbtqzZ3/H39xfyAthaeno6QkNDcfPmTcTGxiI1NTXPyK84wJP7vbUFfbIz/TZOO3fuNBgYXr9%2BXejpt7e3z1dCKFO6desmdK4ePnwYM2bMMLgeMSQkRLgu%2BPr6GlwrLk4Advz4cSxcuBCffPJJgdeJ59fevXuF6YaNGzc2muPDx8cH9erVw/Xr16HRaLB//37J7JPc2rVrBw8PD6SkpCAlJQXHjx83uHwqNjZW0mtvqBNCp9Ph8uXLws9yz21XV1dUrFgRUVFRyMzMxIMHD0yu12/YsGGBtqbKzs7G%2BfPnERYWJiSWSk9Pl9wT9FNXAcPn1vPnzyWvkfM32tnZwc/PT9LRn1tR1V1%2BGEvSk5u/v7%2Bw7UxMTAySkpJMZhRPSkrCqVOncOvWLcTFxSEtLU2SBAyAZIZUXFxcntFf8fn4559/YsmSJRgyZEi%2B1%2BqGh4cL7QkHBwfZs1N8fX2Ffxua/SbusNNvx2kpUVFROHv2LMLDw5GYmIi0tDTJEhjxtOT4%2BHjodDqrb%2BUmlz5JFpDTppPzXTW3M09RUqvVknal/v4svoaIZy4U5/szkNORp/9Mdu7ciY8%2B%2BijPax4/fowzZ84IP16sWywAACAASURBVBd2%2BZYhLVq0kPUdbd26tdAhdvPmzQJ9t%2B/duydZEijn%2B6VQKNCmTRthxrAlBlAtpVgkOYuJiUFERISsD0OcMfDo0aOypw%2BLAzZja66ysrKwdu1arF69Ol9rCAwFNOKeXaVSKXt/3Bo1alg1wDY1nV7P2dlZCLDlvl5PnHkyN0vWryFytqgCcupYHwiLvxdFfVw55IyuANLPwNA6eHHDs1q1arKOWblyZTg4OORpYBWU%2BJyQW6evv/467OzszK7TtaaMjAwsW7YMmzZtytd6cLnfW1vp1asXli1bhqysLJw9exbR0dF59nIX9463a9dO9vfRHH9/f5QsWRIvXrxAWloajh07ZjApnHgEy9i2U02bNkXt2rWFe8GqVauwfv16tGjRAs2bN0fDhg1Ru3Zti08L1xNPDze1NZb%2BeX2jac%2BePSYDbEdHR3Ts2BG///47gJy6MBRgizsh3nzzTYPn1rNnzyTX3MWLF8vequb58%2BfCv82tV879/TFHp9Nh%2B/btWLp0qdFtogwxtMxLn%2Blaz9h64tzMva6o6i4/8nNPEnv06JHBADsxMRELFizA/v3783W9N3SNa9WqFWrUqCFsfbV8%2BXIEBwejZcuWwvloKFlkbuKtsxQKBUaMGCGrTOJ7xcuXL5GVlSV0Uqempkq%2BZ5bKGnznzh3Mnj1bGMSRQ6vVIi0tzeZJwvQKcn8uXbo0SpcubXY2jjVpNBoEBwcjODg4X%2B1KY0tFi4uAgADMnTsXqampuHfvHq5evZpnwOv3338XOm0aNmxoNkF0Qcj9Lohfl5qaioSEhHy3F8RbHzo4OMi%2Bhotn0RraPtFWrB5gN2nSRLJdQ1ZWFuLi4nD79m0EBwfj0qVLyMrKwqpVq5CVlYWJEyeaPJ74BNLvmZtfhk4sjUaDUaNGFWhqr6GpX%2BKRXFdXV9nTNuSuXSsIOzu7fDcyTW1zYYix7W8sXb%2BGyK078evkjLhb67hy5Lf%2BAcOfgbghJE6yZ4pCoYC7u7vFGobiOpFbpw4ODnBzc7NYfeZXamoqPv74Y0nvvlyWnBJqDWXLlkXbtm1x5MgR6HQ6/P777xg7dqzwfHp6umQ6pSV7xx0dHdGpUydhXej%2B/fvzBNgRERHCFFOFQmE0d4RCocDSpUsxfPhwYXlERkYGjh07JizT8fDwQKtWrdCzZ888e2gXxtWrV4VREUdHR7PLOQICAjBv3jxkZWXh1q1buHv3rqRxkFvXrl2FAPvvv/9GSkpKnpF58fRwYwF%2B7oaneBQvP8x1GuVnWz2dTofJkydLtjeTy9C5lfu%2BLncGg7nrYVHVXX7IvX7qtyvSN8INJaR6/PgxBg4cmKeDQg5Dn4OdnR1WrFiB4cOHCx3N6enpOHLkiDB1tESJEmjdujWCgoKEJLS5ietdrVabnQlpTGpqqlBfuf9%2BOQMI5pw8eRIjR44s0PW%2BON0jCnJ/1r/WVgG2Wq3GZ599VqDvRnGqe0NcXV0RGBiIrVu3Asjp7BYH2FqtVpLLw9LJzfQK0v4Fcs61/AbY4u%2Bgh4eH7HhF3Gloy6R7uRX5CLa9vT0qVqyIihUron379vjmm2%2BERlZwcDCaNWtmsgFkKku1XIayB65evVoS/L399tvo3r076tati/Lly8PNzU0yhXHRokX4%2Beefjb6HuBc4P0GSpddPFBeWrt/cFAqFrKnUgLSOzV1krXXcolbQfX8tuV%2BwuE5elXNizpw5kuC6TZs26NKlC2rVqoVy5crl6TwbP3682YRUxUnfvn2FRu/u3bsxatQo4aZ28OBBIWgpV66c0YZwQXXt2lW49v/zzz948eKFJNuzuB4bNWpkci/hSpUqYe/evdiyZQt27NghmekE5AQ3Bw8exMGDB9GwYUMsXLjQInsTixs42dnZ6NChg9nfEd9/9uzZY7JTuWnTpvD29kZcXBzUajX%2B/PNPSUMqPDxcmMKvVCqNrv%2B2xH0zd9kNyU8OkZ07d0qC61q1aqFXr16oX78%2BKlSoAHd3dzg5OQkz2zZu3GgyR4u1rnFFVXf5Iff6qb9/6a%2B9hu5LEyZMEIJre3t7dOnSBe3bt8cbb7wBb29vODk5Sa5xQUFBZmfZVa1aFfv27cOWLVuwffv2PHlBXr58iQMHDuDAgQNo0qSJwe0FLbV7hLjec//9hb23JCYmYty4ccJxS5Qogd69e6NFixbw8fFB6dKl4ezsLFxT09LSZE91L2qvYpt1%2BfLlkuC6cePG6NatG%2BrUqYNy5crlaVfOmzcPwcHBtihqgfTr108IsA8cOIBJkyYJnZihoaHCeevm5ob33nvPKmWQ%2B/nmfl1BZj5aoo1oqRmXlmDTKeIKhQLffPMNrl27JqxdnDFjBg4dOmT0Q/Xw8BB6ORYsWGA0Y2t%2BZGVlSbbVGTx4MCZPnmzyd/RbshgjnvZj7rX5Oe6ryBr1m5tOp4NKpZI1giI%2BtrlRDmsdt6iJR2nkjgbrdDqLfh%2BL2zlhrsGbkJAgCQAmTZpkcB2U2Kt2/rZu3RoVK1YU9uwNDQ0VOjjF08ODgoIsPsVav145NjYWGo0Gf/75pySpnZzp4WKOjo4YPHgwBg8ejNjYWJw/fx4XL17E6dOnhW0dgZztEwcNGoQ9e/YU6jxVq9XCvsBAToCd3%2B1J9u/fj/HjxxutW6VSiYCAAKFRuH//fkmALe6EaNy4sdHdBnL/nWfPnjW5FrcorFq1Svh3YGAg5s%2Bfb/I7Zu7cyv03pqSk5NlW0RBzI8vFse7kXmc0Go2k0Zr7b7l48aKQ10ahUGDFihVmZ3jIfW9nZ2d8/PHH%2BPjjjxETE4MLFy7g/PnzOHv2rGS0/Pz58xg8eDB2794tycgtvmf5%2BvpapOMy92yFws4q2Lp1q3A/LVOmDLZv326y46443x%2BK2/3ZXMeXWq3G%2BvXrhZ%2BHDx%2BO8ePHm/yd4lz/htSuXRt16tTBjRs3oFKpcPDgQeH6L74/BwQEyM5mn19y6yz36wqy9EF8fcrPZyWevVSc2t423wfbwcEB06ZNE35%2B/PixyS0txDdMS61zDQsLEy6Srq6u%2BOqrr8z%2BjrltmMRTj9Rqtez1ZTExMbJe9yqxRv0aIm5EmyKuYzlTxKx13KIk3jdUnOjDlOjoaIv2BorPXbl1mpiYKGsESdzbKWffdMB84%2BrMmTNCEF61alWzwTVQsO%2BtLSmVSkk2Yv1NOzIyUtLwNpexuCByT/sWN6AvX74snE8ODg4G1x6bUqFCBfTo0QPfffcdjh07ht9//13Y5gnIOVfF24EUxJEjRwo9He3Zs2dmpzeKO5HPnz8vJOfR6XSSKfymOiFyB5qWuncWVHR0tLDmU6lUYtKkSWY7cMydW7mTy8nd0cLc64pb3QEFuycBef8W8d7pbdq0MRtc63Q6ybpyuSpVqoSePXtizpw5OH78OHbs2CF5r4cPH%2BbZRkxc1piYGIvk4ShZsqTkXlHYz1Jcf0OGDDE7K6Y43x/EbRa536%2BsrCzJNonGFOT%2BbO7aevnyZWGWQ8mSJU1uyadXnOvfGHGyXP39OTExMc8uRdYiNyYRv06hUBSoDSz%2BndTUVNkd1uL8AcWp7W3zABvI6XkXTz9ctWqV0WRZ4izY4ux5hSFOAOXr62swm62YTqczm6nuzTfflEyXk7MlgFartWqCM1uxRv0aInfbhRs3bgj/lpPkxFrHLUri7aNu3rwpK8GHsb1mC0q8v/3NmzdlTZmUu/ZZPMNAzgj9o0ePTCbkA6RJk8SZcY1RqVRFvk1U7im5BZkm27t3byG4OX78OBISErBjxw7h%2BRYtWqBSpUqFK6gR4qDwwoULQmNNPHrt7%2B9f6NwUderUwbJly9CoUSPhsYKu6dQTJzfr0aMH7t69K/u/7t27C79rbk/sWrVqCclrtFot/vjjDwA5O2roG8L6Ne3GlCxZUrJnsqXunQUlvieUL19e1lo9c/ublilTRtKRKOf6lZ2dLdmZxJDiVneA/HuS%2BHUuLi55ElyKPwfxPcKY8PBwiySHqlevHlauXCnZNin3%2BShu66lUKly9erXQ72tvby%2B5ll%2B4cKFQxxPfI%2BTUX3Haozc3/R7RQE5%2BIzkjiHfu3JHVCS%2B%2BP8vplExNTZV8Nw0RP1%2BzZk2zU4q1Wq1NMkyL79EFuT8HBAQI9XflyhXcv38fe/fuFerd19dXch5Zmrhda4r4WuPj41OgEXVxGxGQnxFc/Drx91issJ9DQRSLABsAPvvsM%2BHfz58/F1Ku5yYOxC9fvmyRBq34AiEnk/mZM2fM9tq5ublJviz6RpEp586dE7Za%2BjexRv0aIqeO7927J6xZBAA/Pz%2BbHbcotWzZUrgBqdVqs416AHlGFApLHNwkJSUJewebIh6hM0U8eiXnmiBnr0RxT7uc7%2B2BAweKfP2PUqmUdFiZ6zQwxNvbWxhN0mg02LlzJ/bu3Ss8b63kKUBOw0i/rY5Op0NISAiysrJw6NAh4TVypofLoVQqJft5FuZam3vkOb8j7OJkaEePHjXbKSSuA/1Iv7gTom3btmaTdYnvnTt37pQ9kmQN%2BT237t69K6vzWbyty%2B7du83mwjh69KisEdniVHdAzojv7du3zb5OfO9q0KBBnlkC%2Bb1eiTuVCsvOzg7t2rUTfs59PpYtW1ay5ZZ%2BLWphife9PnDgQKGmDef3eyznvmsrDRs2FIIQjUYjay9jufdncceXuJ1kzPHjx812wOe37k%2BcOGGTZGwuLi7Cv3Nv6ymHm5ubJLfGzp07hcSXgHVHr4GcuEROvYmvNQVt/3p6ekqykcv5fsXHx0vakuJ2plhhP4eCKDYBdqNGjdCkSRPh519//dXgzdHf31/ohdXpdJg%2BfXqhE0qJ9%2BO9e/euyQuuWq3G3LlzZR1XPLXvjz/%2BMHlh0Wq1WLx4sazjvmqsVb%2B5hYaGms3w%2BuOPPwr/Ll%2B%2BPJo1a2az4xal0qVLS4KLZcuWmdzOYNOmTQXKnG1KzZo1JZ1OS5YsMXkTDQ8Pl30DF/daXr582eSSjBcvXshKdOLl5SX8%2B%2BrVqybL%2BuLFC5udv%2BLRP/FUqfwQT0Nbvny5EHR4enri3XffLVwBzRAHjyEhITh16pTQ2HZ3d5d8bw3JT2%2B0OHGSOKFafu3bt0%2BYsurm5pbvBHCtWrUS1qip1WqznXiBgYFCI/LmzZsIDw%2BXdELIyUXy4YcfCg3omJgYLFu2LF9ltiTxufX48WOTe9JqtVrMnj1b1nHFa/jN/Y2JiYmYN2%2BerOMWp7rT0%2B9hb8zly5fx999/Cz8b2sNe/DmYG129f/8%2BNm3aZLZcljwfBw0aJPw7JCSk0LNOAKB///5CZ/PLly8xf/78Ah9LXH/ivdIN2bVrV7Geoejl5YUWLVoIP69YscJk2/rp06eyOz3EM/oePHiQJwmlWGZmJlauXCmrvHq3bt0y2bmcmZlZqM%2B5MMTltMT9edOmTUL9OTo6WiQPlSkajQZLly41%2BZqQkBBJfGPoWiOXeDlaSEiIsJOIMYsWLRI6W1xdXY0me7PE55BfxSbABqSj2PHx8ZJF/HpKpRITJkwQfr5y5QpGjBhhdjQiPT0du3btwpAhQ/I8V79%2BfSGpmkqlwrx58wzeJFJTUzF69GjZo%2Ba9evUSGr/Z2dn4/PPPDU57yc7OxsyZM4v19KHCsFb9GjJ27FiDW7fpdDosWbJEsm5l2LBhsrPeWuu4Remrr74SRjuTk5MxaNAgnDx5UvIalUqFZcuW4bvvvoOzs7Ok188Shg8fLvz7ypUrmDlzpsG1dbGxsfj8889lr7vz8/MT1t5kZWVh5syZBgPily9f4vPPP5e1Fkvc4RcTEyNJyiSWkJCAYcOG5WsfX0sSN142b95coA5Hf39/YZRB3LvbvXt3q2eJ7dq1qxA83r59WxK8dOzY0eySklmzZmHRokVmZ71ER0dLGoSNGzcucJnFI3nt2rXLdx05OjpKRu/MjQxWqlRJkn146tSpwvZ5JUqUkLX1mI%2BPD/r37y/8/PPPP%2BOnn34yO4oZFxeHJUuWWLSBWqNGDeF81el0mDVrlsFRYbVajcmTJ8terlKnTh1Jh80vv/yC2bNn55mWeuXKFXz44YeIiYmRlbCsONWd3t9//41FixYZvJc%2BfPgQY8eOFZ6rUqWKwS3kxNe40NBQ/Pnnnwbf68GDBxg%2BfLiskZ9vvvkGS5YsMdlpoi%2BjeCmKoZGnHj16CJ2yWq0Wo0aNkiQWNObOnTuYNGmSwY4rb29vDBw4UPh569atmD9/vsnr5rNnz7Bx48Y8j4vrLzg4GA8fPjT4%2B0eOHMH06dPNltvWPvnkE%2BHfDx8%2BxIQJEwzWS2JiIkaOHCk703v16tUlexrPnDnT4HEzMjIwbtw4WdvvNmzYUNjhJSUlBT/88IPB16WkpGDkyJGyczJYmrjzf8eOHQWaMfHWW28J93nxOdihQwerbu2rt3nzZqOdKVevXsU333wj/Ozn52d0FFmOXr16CcFwdnY2Ro4caXQw6Ndff5Ukoh04cKDRJGeW%2BBzyy6ZZxHNr0aIFGjRoIKy1Wb16Nfr06ZNnbUX79u3x6aef4pdffgEAnDp1Cu3bt0dAQACaNGmCsmXLws7ODi9fvkRkZCSuX7%2BO0NBQqFQqeHt753lfV1dX9O7dW0h6s23bNkRERKB3796oXLkyVCoVwsLCsH37dsTFxcHNzQ3%2B/v5mL/QeHh6YMmUKvvzySwA5vSZdu3bFgAED0KhRIzg5OeHBgwfYsWMHbt26BScnJ7Rs2VISrP0bWKt%2Bxezs7NC%2BfXscPnwYQUFB6Nu3L5o3bw53d3dERUVh9%2B7dkrV2DRo0wPvvv2%2Bz49pC1apVMW3aNEydOhVAThA7bNgweHt7o2rVqsjMzER4eLiQVOzrr7/GypUrhZ8tEWgFBARg7969OHHiBABgy5YtuHbtGvr06YPXX38dmZmZuHjxIrZs2YKUlBQ0btwYDx8%2BNBu8Ojg4YNCgQcKozuHDhzFgwAD0798flSpVQlpaGq5cuYLt27cjMTERzZs3R0REhMnjVq1aFW3atBHKumjRIly9ehWBgYEoV64cUlJScOHCBezcuRMvXrxAuXLlUKNGDYuMsuRHYGAgDh8%2BDCCn0d26dWu8%2BeabknVvLVu2xAcffGD0GEqlEr17987TU23t6WdAzoyPxo0b4/z58wCk6%2B7l9M6/fPkSmzZtwi%2B//IK3334bjRs3Rs2aNVG6dGnY29vj%2BfPnuHjxInbt2iXcVD08PEzWhyn6EWQ9c3tfG9O5c2dhuveVK1cQGRmZZ42sWNeuXYVrjXjNWadOnWSfm5MmTcKtW7dw9epV6HQ6rFy5Env37kVgYCDq1auHUqVKQaPRICkpCXfv3sXFixdx%2BfJlaLVaiy4VUCgUGDhwIJYsWQIA%2BOuvv9CnTx/069cP1atXR0ZGBm7fvo0dO3bg0aNHcHBwQEBAgKwpylOmTMGNGzeEZI7r16/Hli1b4OvrCzc3Nzx%2B/FhYu169enX07NlTaJybqsfiUndATsfTsWPH8PPPP%2BPcuXPo1asXqlSpApVKhXPnzmHbtm1C8KNUKjFjxgyDHVX%2B/v7w8fERAsOxY8eiR48eeOedd1CqVCkkJiYiNDRUmG5fr149ZGRkmJyN9%2BLFC2zfvh0rV65Eo0aN4Ofnh5o1a6JUqVKwt7dHfHw8Ll68iN27dwtl9PT0xIABA/Icy8HBAUuXLkWfPn2QlJQElUqFsWPHYs2aNejYsSNq1qwJNzc3pKen49mzZ7h16xZOnTolBFPGZpKNGzcOly5dEq41a9asweHDh4UtnkqUKIG0tDQ8ePAAZ8%2BexalTp%2BDj4yMJzAHg/fffx4YNG6DRaJCcnIzevXvj/fffR6NGjeDs7IzY2FgcOnRI2KK0T58%2Bkk6F4qZp06YICgoSgpZDhw4hPDwc/fr1Q82aNZGVlYVr165h8%2BbNSEhIEKbzmhqR1hsyZIjQ9jh//jx69eqFgQMHolq1asjIyMCNGzewfft2PHnyBLVr14ZarUZERITR45UsWRLdu3cXpktv2LABd%2B/eRa9evYR7/tWrV7Fjxw48e/YMJUuWRLNmzYx2IllLYGCg0Pa9cuUK/P39Ubt2bbi7uwsdy3Xr1pUMMBrSt2/fPJ00RXF/7tKlCw4ePIjp06fjyJEjCAwMRIUKFfDixQv8888/2LVrl9A56uzsjBkzZhTq/UqUKIFZs2bhs88%2Bg06nw%2BPHj9GtWzf07dsXTZs2hbu7O6Kjo7Fnzx6hzQDkrEUfNWqU0eNa6nPIj2IVYAM5o9iffvopgJwAYM%2BePQa/ROPGjYOnpycWLFgArVaL9PR07Ny50%2BCotxxfffUVLl68KNw4Ll26ZDD5iZOTE%2BbPny87ych7772HmJgYLFy4EEBOb9qqVavyjIYplUp88803iI6O/tcF2ID16lfsu%2B%2B%2Bw4MHDxAREYH169dLtnAQq169OlauXCl7lNlax7WFPn36QKfT4fvvvxcC57i4OMlog52dHb766isMGDBAMg3RUtsf/Pjjj/j444%2BFxs2tW7cMXpQrVKiABQsWSKZHmTJ06FCcPHlS%2BF5dvXrVYGIcX19fLFq0SJJoyphZs2ahT58%2BQv0cP35csp%2B7XsmSJbF48WKDoxzW1qlTJwQEBAjT6ZOTk/Osb5czSte7d2%2BsWLFCmDXQoEEDyXooa%2BratavkZgnkLC1p2rSp7GPodDqj1xUxV1dXLF261GBnqxzidZSurq5o3bp1gY7TunVruLm5CUH/nj17hM5YQ7p06YLZs2fnGTXNzxp1R0dH/Pbbb5g4caLQKRMbG2t0doY1DR8%2BHGfOnBESTd26dcvgKJ%2B9vT2mT5%2BOzMxMWQF2qVKlsG7dOowePVo4/zUaTZ7puXXr1sXSpUslo5ymtpYpTnXXoEED%2BPn5Ye7cubhy5YrR2W8KhQIzZ86UTP0Vs7Ozw8KFC/Hhhx9CpVJBq9Vi165dklEhvYoVK%2BKnn34y2YgV02q1OH/%2BfJ7zOjcPDw8sX77c6JZqlStXxvbt2/HZZ58JAVdYWFiB2gh6%2Bs9y1KhRQibw6OhoLF%2B%2BPF/HqVy5MqZMmYJvv/0WQE777pdffhEGf8RatWqFCRMmFOsAG8jZKjc%2BPl7oKH7w4AHmzJmT53WlSpXCokWLMHHiRFnH7d27N44fPy7kPwkPD5eMfOpVrFgRy5Ytk/U9%2B/rrr3HlyhWhQ8XY983FxQULFiyQlffF0vz8/DB48GCsW7cOQM5MzdxllDNTLzAwEPPmzRM6pSpXrlwkSxE7d%2B6MsmXLYt26dTh58mSeWY96Dg4OWLJkiUXaDO3atcPcuXMxZcoUZGVlQaVSYe3atVi7dq3B17/55psIDg422UFqqc8hP4pdJNC2bVvJlMdVq1YZTSgyZMgQ7Nu3D%2B%2B9957ZHvzq1avj008/FSo3N3d3d2zevBndunUzGiA1bNgQ27dvz/eaxE8%2B%2BQQ///yz0Uy81apVw6%2B//mrVZEK2Zs361StZsiS2bduGoKAggxklHRwc0K9fP2zfvj1fqfytdVxb6du3L0JCQjB06FDUqFEDrq6ucHNzQ/Xq1fH%2B%2B%2B9j9%2B7dGDp0KDQajWQrK0tNRXJ3d8fGjRsxdOhQODs753nezs4OHTt2xO%2B//y5JjmKOo6MjVq9ejX79%2Bhnc8sfR0RH9%2BvXDtm3bZO9j6%2B3tjR07dqBt27YGn1cqlfD398fu3bvRoEED2WW1tB9//BFLlixBp06dUKlSpQJl8CxbtqykXoryetS5c%2Bc81/CAgABZnVUDBgxAUFCQ2YDZyckJXbt2RUhIiCTRUX5oNBpJcrE2bdoY/A7L4eTkJJkmvm/fPpPr/D09PfOs9S5Xrly%2Bp7rrOxhWrlyJBg0amEwQ5ODggEaNGmHatGmSpVmW4OjoiDVr1uCDDz4wmgG4du3aWLduXb5Hary9vbFlyxbMnz8frVq1gpeXFxwcHODt7Y3mzZtjzpw52Lx5M8qXLy9ZXmbuulBc6g4APvroIyxbtsxou6J69eqy6q5OnTrYsmWL0UzEjo6O6N69O/bs2WN2GyogZ5pmz549JWseDXF2dkbPnj0REhJidkpplSpVsHv3bkydOtXsjgbu7u549913sXjxYnTp0sXk69asWYO5c%2BdKssTnplAoUL9%2BfYwYMcLg8wMGDMDixYuN3qs8PT0xZswYrF69WpjSXJw5Ojril19%2BwdixYyWzoPQUCgVatWqFXbt25SuYUigUWLx4MYYNG2bwfLe3t0dAQAB27dol63sG5Ix2btmyBQEBAQbPRYVCgcaNG%2BfZFq6oTZ48Gb/%2B%2BisCAwOFDNtyErOJubu7S777vXr1yvcxCmry5MmYMWOG0XO6fv362Llzp0XruEePHvj999/RqlUro%2B0A/bm1bds2ox10Ypb4HPJDoSuqfOVWlpGRIeydqt87zcPDA5UrV4avr68k0ZY5cXFxOHfuHJ4%2BfQoHBwd4eXmhfv36qFy5cqHKqNPpcPnyZYSHh%2BPly5d47bXX8MYbb0i2o/gvsFT9RkVFoWPHjgBygrJbt24JzyUmJuL8%2BfN4%2BvQpsrOzUb58ebRo0UJWkGit475qrl27JiQNKleunDBV2pJSU1Nx%2BvRpYcqmt7c3/Pz8JMGSv7%2B/MIK8adMmWet7EhMTcebMGTx58gR2dnZC4rnCfE6PHj3ChQsX8Pz5czg7O6Ns2bLw8/PL17WlOAsNDcXQoUMB5AQSoaGhBhtYxdnjx49x7949PH78GCkpKVAoFPDw8EC1atVQt25dkyOU/1WJiYm4dOkS4uPj8fLlSzg6OsLT0xM%2BPj55lhpYswxnz57F48ePoVQq4eXlhdq1awvbk1nThx9%2BKIxkLFiwIF9Jg4pD3enbFQ8ePEBiYiI8PT1Rq1atAm3dc%2BfOHVy9ehXJycnw8PCAt7c3mjRpYjZDvTHR0dGIiIhAbGyscD6WKFECr7/%2BOurUqVPg%2BomMjMSNGzeQkJAAlUoFV1dXlClTBtWrV8cbb7xRnx2ftAAAIABJREFUoEA2MjISYWFhSEhIQEZGBtzd3VGlShXUqVNHVuNdo9EIO9uoVCqULl0alSpVQuPGjc1uIVVcZWRk4PTp03j06BGysrLg7e2Nhg0bSgK9oKAgYXbI4sWLZS2ZefnyJU6fPo3Y2FjodDphmZC5ThlTnjx5gnPnziE%2BPh4ODg4oW7Ys6tevb7UtJovanTt3hFl3dnZ2OH78eIFnYZlj7DPNysrChQsXEBUVhRcvXuC1115DgwYNrH6dTkhIwPnz5xEfH4%2BMjAyUKlUKr7/%2BOho2bGhwMKW4%2BNcE2PTfYyoQLo7HfdV88803wnZ5nTt3tlmW7IIE2JR/o0ePFtan9e3bF7NmzbJxiYis69GjR%2BjUqZMwc%2BDIkSOF7kgn%2Bi8pSIBN%2BTdz5kwhi3%2B7du3w888/W%2B29%2BJlaRrGbIk5E1iO3Py00NFSSzyAoKMhaRaJi4OHDh5J9Tw0lHCJ6Vci5zmVmZmLSpElCcN2oUSMG10RU7CQmJkpyf/D%2B/GpggE30H7Jt2zaMGzcOJ06cMLr9xrJlyzBixAgh4UO9evUKnMiJir/k5GRMmTJF%2BLxbtGgh2dKC6FUTFBSEtWvXCktPxLRaLU6dOoUBAwbg4sWLwuMjR44syiISEZmlUqkwdepUIbmZr68v/P39bVwqkqP4Z1wgIovJysrCgQMHcODAATg4OMDHx0dI7PP8%2BXNERkZKRn88PT0xb968Yp0ZnfLvxx9/REREBFJSUnDr1i2kpqYCyFkSMW7cOBuXjqhwHj58iDlz5mDOnDkoU6YMKleuDBcXF6SmpuLBgwfC911vyJAhaNmypY1KS0T0/61evRpXrlyBSqXC7du3hbxSADB%2B/PgiS25GhcMAm%2Bg/RHxh1mg0JvevrF27NhYtWmQywyq9mi5cuIDLly/neXzs2LGoW7euDUpEZDni69zz58/x/Plzg69zcXHB559/juHDhxdV0YiITAoLCxO2MxMbNGiQTbOhU/4wwCb6DxkwYADeeOMNnDx5EtevX8ejR4%2BQmJgIjUYDDw8PIStk%2B/bt8c4777Cn9D/A3d0dtWvXxuDBgwu8RR5RcXLo0CEcPXoUFy9eRHh4OOLi4pCWlgZ7e3t4enri9ddfR7NmzdCrVy%2BUKVPG1sUlIjLI1dUVNWvWRP/%2B/dGjRw9bF4fygVnEiYiIiIiIiCyACyuJiIiIiIiILIABNhEREREREZEFMMAmIiIiIiIisgAG2EREREREREQWwACbiIiIiIiIyAIYYBMRERERERFZAANsIiIiIiIiIgtggE1ERERERERkAQywiYiIiIiIiCyAATYRERERERGRBTDAJiIiIiIiIrIABthEREREREREFsAAm4iIiIiIiMgCGGATERERERERWQADbCIiIiIiIiILYIBNREREREREZAEMsImIiIiIiIgsgAE2ERERERERkQUwwCYiIiIiIiKyAAbYRERERERERBbAAJuIiIiIiIjIAhhgExEREREREVkAA2wiIiIiIiIiC2CATURERERERGQBDLCJiIiIiIiILIABNhEREREREZEFMMAmIiIiIiIisgAG2EREREREREQWwACbiIiIiIiIyAIYYBMRERERERFZAANsIiIiIiIiIgtggE1ERERERERkAQywiYiIiIiIiCyAATYRERERERGRBTDAJiIiIiIiIrIABthEREREREREFsAAm4iIiIiIiMgCGGATERERERERWQADbCIiIiIiIiILYIBNREREREREZAEMsImIiIiIiIgsgAE2ERERERERkQUwwCYiIiIiIiKyAAbYRERERERERBbAAJuIiIiIiIjIAuxtXQBb0ul0SExMg1ars3VRqAgplQqULu3Gz/4/hp/7fxc/%2B/8mfu7/Xfzs/5uUSgVee83d1sUg%2Bm%2BPYCsUCiiVClsXg4qYUqngZ/8fxM/9v4uf/X8TP/f/Ln72/038vKm4%2BE8H2ERERERERESWwgCbiIiIiIiIyAIYYBMRERERERFZAANsIiIiIiJ6ZSmVT%2BHgsMPWxSACwACbiIiIiIheUXZ2N%2BHp6Q93949tXRQiAAywiYiIiIjoFWRvfwaenl1gZ/cUOp0CQJyti0TEAJuIiIiIiF4tjo6H4OnZA0plMrKy3oZKtRFAhK2LRQR7WxeAiIiIiIhILienrfDw%2BAwKRTY0Gn%2BoVOOhVNoD0Ni6aEQMsImIiIiI6NXg4rIc7u6TAABqdSDS0z%2BDTmfjQhGJMMAmIiIiIqJiTgdX11lwc/sBAJCZ%2BT7S0wcCYHRNxQsDbCIiIiIiKsay4e4%2BDi4uvwEAMjI%2BQ0ZGVzC4puKIATYRERERERVTmShRYhicnPZCp1MiI%2BN/yMz0B4NrKq4YYBMRERERUTGkQ8mSA%2BDoeAQ6nSMyMr5BZubbYHBNxRkDbCIiIiIiKnYcHQ//X3DtDJVqLjSaN8Dgmoo77oNNRERERETFjovLYgCAWt3r/4JrouKPATYRERERERUr9vaX4OgYCp3OHpmZgbYuDpFsDLCJiIiIiKhYcXFZAgDQaDpDqy1h49IQyccAm4iIiIiIig2lMhJOTnsBAGp1dxuXhih/GGATEREREVGx4eq6DAqFFllZrZCVVdHWxSHKFwbYRERERERULCgUCXB23ggAyMwMArOG06uGATYRERERERULLi6roFCkIzu7NjSaN21dHKJ8Y4BNRERERETFgAouLqsAAJmZfcDRa3oVMcAmIiIiIiKbc3beDKUyAVptJajVTW1dHKICYYBNREREREQ2lg1X16UAOHpNrzYG2EREREREZFOOjvthZxcJrdYTanVbWxeHqMAYYBMRERERkQ3p4Oq6GACg0fSETmdv4/IQFRwDbCIiIiIishkHh9NwcLgEnc4JmZnv2bo4RIXCAJuIiIiIiGzGxUU/eh0IrdbVxqUhKhwG2EREREREZBN2dnfg5HQIOp0CmZndbF0cokJjgE1ERERERDbh4rIEAJCV9Q6ys71sXBqiwmOATURERERERU6pfAJn520AALW6J7g1F/0bMMAmIiIiIqIi5%2BLyMxQKDbKy/KDRVLd1cYgsggE2EREREREVKYUiBc7OwQAAtboXAK1tC0RkIQywiYiIiIioSDk5bYVS%2BQLZ2a9DrW5g6%2BIQWQwDbCIiIiIiKlL6tdcaTQC49pr%2BTRhgExERERFRkVEqI%2BHgcB46nRJqdStbF4fIohhgExERERFRkXF23gEAyM5uAq3Ww8alIbIsBthERERERFREdHBy0k8PbwdOD6d/GwbYRERERERUJOztr8Le/h50Oieo1U1tXRwii2OATURERERERcLJaTsAICurDXQ6BxuXhsjyGGATEREREVERyIaT0%2B8AAI2mjY3LQmQdDLCJiIiIiMjqHBz%2BgZ3dU2i1ntBo6tu6OERWwQCbiIiIiIisztlZPz38Heh0ChuXhsg6GGATEREREZGVpcPRcR8ATg%2BnfzcG2EREREREZFWOjoegVKZAq60AjeYNWxeHyGoYYBMRERERkVXpp4drNO%2BCe1/TvxkDbCIiIiIishqFIhGOjocBAGq1v41LQ2RdDLCJiIiIiMhqnJz2QqHQIDu7JrKzK9q6OERWxQCbiIiIiIisxslJPz28PQCtbQtDZGUMsImIiIiIyCqUymg4Op6CTqeAWt3K1sUhsjoG2EREREREZBVOTjsBANnZjaDVetq4NETWxwCbiIiIiOj/sXfncXKVBb7/v2erpas7m2QCGgGDsgQdBQOIwxpBQcGwyKio1xFxGUFRxBl0gN9c1AtXxVEH8SI/4MqIC8QNASOiGBcUiCAQWSQsYUCUEJJ0p7uqzqlznvtHdyedpJfan6o6n/fr1a/urq4%2B9a08veTbz3Oeg5bYunv4EWL3cKQBBRsAAABA03neavn%2Bn2RMRmF4sO04QFtQsAEAAAA03fjsdaVyiIzJWk4DtAcFGwAAAECTJVvOv44irn2N9KBgAwAAAGiqILhdnveUjBlQFC2xHQdoGwo2AAAAgKbaeu3rpTLGsZwGaB8KNgAAAIAmKiub/aEklocjfSjYAAAAAJomk/mZXHejkmSBomgf23GAtqJgAwAAAGiarde%2BPkpc%2BxppQ8EGAAAA0BSOs1GZzE8ksTwc6UTBBgAAANAU2ewP5ThlxfHLVKm82HYcoO0o2AAAAACaIpv9jiSWhyO9KNgAAAAAGua6a5XJ3C5jHIUhy8ORThRsAAAAAA3L5b4rSYrjA5Uksy2nAeygYAMAAABokJmwPHypWB6OtKJgAwAAAGiI7/9Bvr9GxuQUhq%2BxHQewhoINAAAAoCG53OjsdaVyhIzxLacB7KFgAwAAAGhApGz2e6NvRUdazgLYRcEGAAAAULdM5la57nolyU4Kw1fYjgNYRcEGAAAAULdsdnT38Cg6WmxuhrSjYAMAAACoi%2BNsUjZ7kyQpig63nAawj4INAAAAoC7Z7I/kOGXF8UtVqexqOw5gHQUbAAAAQF22Xvv6KLE8HKBgAwAAAKiD6z6pTOY3MsZRGB5mOw7QESjYAAAAAGqWy10nSYrjA5QkcyynAToDBRsAAABAjcyE5eFLxfJwYBQFGwAAAEBNfP8e%2Bf6fZUxWYfga23GAjkHBBgAAAFCT8dnrSuVIGRNYTgN0Dgo2AAAAgBpEyuWWj74VHWE3CtBhKNgAAAAAqpbJ/Fyu%2B5yS5AUKw7%2B3HQfoKBRsAAAAAFXburnZ0WJzM2BbFGwAAAAAVXGcTcpmb5bE8nBgMhRsAAAAAFXJZm%2BQ45QUx3uoUtnVdhyg41CwAQAAAFSF5eHA9CjYAAAAAGbkuo8qCH4jSQrDQy2nAToTBRsAAADAjPr6LpPjGEXRoUqSubbjAB2Jgg0AAABgWo6zXrnctZKkMDxRLA8HJkfBBgAAADCtfP4qOc6I4ngfRdHetuMAHYuCDQAAAGAaZeVyX5ckheHJYvYamBoFGwAAAMCUstnr5Xl/U5LsrDA82HYcoKNRsAEAAABMwaiv71JJUhi%2BRYbJa2BaFGwAAAAAkwqCn8v3H5AxBZXLr7MdB%2Bh4FGwAAAAAk%2Brr%2B09JUhi%2BWcZkLKcBOh8FGwAAAMAOPO9%2BZTK3yRhX5fJxtuMAXYGCDQAAAGAH4%2BdeVypHKUnmWk4DdAcKNgAAAIBtuO4zymaXS5LK5RPEpbmA6lCwAQAAAGwjn79cjhOpUnm1KpWX2I4DdA0KNgAAAIAJNiuXu0qSFIYnSUrsxgG6CAUbAAAAwBa53DfluhsVx7srDPezHQfoKhRsAAAAAGNi9fVdJkmKoreIc6%2BB2lCwAQAAAEiSMpkfy/OeUJLMVbl8mO04QNehYAMAAACQJPX1/ackKYpOkDGe5TRA96FgAwAAAJDv36EguEvGZFQuH2s7DtCVKNgAAAAAJsxeH6skKVhOA3QnCjYAAACQcq77mDKZH0uSwvDNltMA3YuCDQAAAKSaUX//J%2BU4RpXKIapUdrEdCOhaFGwAAAAgxbLZ5cpmfyJjApVKp4lLcwH1o2ADAAAAKeU4z6m//18kSeXye1SpLLCcCOhuFGwAAAAgpfr7z5Hrrlcc76VymXOvgUZRsAEAAIAUymRuVC73fRnjqVg8W8Y4tiMBXY%2BCDQAAAKSM42xQf//HJElh%2BA5VKi%2B2nAjoDRRsAAAAIGUKhX%2BT5/1NcbxIpdIpYmMzoDko2AAAAECKBMGtyue/KWMclUpnyxgqAdAsfDcBAAAAKeE4QxoYOEuSFIZvVRQtspwI6C0UbAAAACAlCoV/l%2Bf9t5JkoUqlU8XScKC5KNgAAABACgTBb5XPXyFJY7uGe5YTAb2Hgg0AAAD0vBH1958hSQrDExVFe1vOA/QmCjYAAADQ4wqF/yXff0xJskDF4rvF0nCgNSjYAAAAQA/z/VXK5y%2BVJJVKH5MxgeVEQO%2BiYAMAAAA9yvMe1KxZ75TjJIqiNyoMX2k7EtDTKNgAAABAD/L932vOnDfI8/6iON5DxeJ7JSW2YwE9jYINAAAA9JhM5ieaM%2BfNct2NqlRepeHhzytJcrZjAT3Ptx0AAAAAQPNks9dqYOBMOU6sKDpUIyOf4JJcQJtQsAEAAICeYJTPf1n9/RdIksLwOBWL/yzDhuFA21CwAQAAgK6XqFA4T319o7uFl8vvUrF4qjjnGmgvCjYAAADQ1SINDHxIudx3JUml0odVKr1RlGug/SjYAAAAQNca1uzZ71Imc6uM8VQqfUrl8sGiXAN2sIs4AAAA0HWMguDnmjPnmLFynVOxeLHK5ddI4qRrwBZmsAEAAICuESuT%2BbH6%2Bv5DQXCPJClJZqtYvEhRtJvlbAAo2AAAAEDHC5XLfVf5/Jfk%2B49IkozJKwxPULm8TEkyYDkfAImCDQAAAHSwYeXz/1f5/KXyvKclScbMUhi%2BReXym5QkOcv5AExEwQYAAAA6SijfX61M5qfK5y%2BX6z4vSUqSv1MYvlXl8lEyhv/GA50o5d%2BZb1OhECpJXEne2IsrY7a%2BPfq%2BLyknY3IyJi9jcpLyMiYrY/JjH8vLmD4ZMyBjCmMv/ZICW08OAAAAHc/IdZ9UEKyS79819vpeOU55yz3ieFdF0dtULh8mYxyLWQHMJOUF%2B7vKZFr7CMZkxsr2tsV79GX87YFJbi%2BMFfb82Nujr0eLfUGjfwAAAABA50vkOBvkus/JddfJcdbJ99fI91cpCFbJddft%2BBnJbCXJyxWGRykMDxI7gwPdIeUF%2B2Mql2MZE2v0h1ayw4vjJJJiSaEcJxp7XR57HU54vyzHKUoakeOMjH1Mcpzx%2B21oavLR4p6XlB2bSc9OeDu35W0pMzYDH8iYQKMz6t6Et4Oxj3tjt4/P3G8/mz9xRt%2BV5Gx5f%2BLbo39VHb9t%2BpfR%2B870oh3e3/bzJtr%2B/tvfNsrzXEl5eV5JtV8j0mz3erLbprrP6PuOY7a7rZb3R1/veIztH6%2BaPDO9Pd1t7VbtX%2Bun%2BpqQPM%2BRlFMQlOW60z2nap/vZGM11fhO9aKxnzETb0u2e20m3Gf863Xi%2B8nYYybbfM62nz/1sbd/2Xrfic9v%2B%2Bez/fPf/t%2BlHjN/3tZ/25k%2Bb9ucjiNJvvr6IhmTTHGfasZr9N9u8n%2Bjyf9dpz6upni/Fs4kb0/8%2Bbf1Z/TkP7dH3x/9mDfhY96E%2B3vb3Tbxftuv%2BPImHM/Vjr9Ltv2dMfXvkvGPT/Z7YPvfL9s/9/HfEVt/1gdBaex7furfC9W9vf1tkz3u5L%2B3pn5/2%2BNsnZnc/ndcNb/fpn5e28541vJcJ1PN/do5w7rj943rSlKfXHdEnlftz2pp6v8Dbn3tOBWN/99v9P9/pbG3SxPeLspxNsp118l1n5PjPDv2Op76WRhfSbK34nhvxfGeqlT2VBwv0Naf%2B53wuxhANRxjTIq/Y0tKkqn%2Bk9gIR9P952zy/3xN9p9sTXL/JkcFAABAW%2Bz4B6hAxmSU%2BjmvJnCc7Nj/q/m3hF2p/gocncW1%2B/eFWv%2B8YefPIdO3%2Bvoz2flrgeNIjuPIGGPp37NZujp823XKuNf3RzLGulHjY49OVP03RS1D2N7vef763UlaO/ZbD7j15zk/WzqDqziO5Tg7yXXXa%2BPG2xRFr7YdCj1k/vzqLoWX6oLtOJ42bhxWpVLrMmF0M993NXduQRs3jjD2KbJ13PmeTxvGPp0Y9/Ti93w6zZtXkCQlyc5y3fXyvCcp2LDCtR0AAAAAAJohSXaRJLnuE3aDILUo2AAAAAB6wnjB9rzHLSdBWlGwAQAAAPSEJFkoSfK8P1tOgrSiYAMAAADoCVsL9hrLSZBWFGwAAAAAPSGOXyRJct1n5TibLKdBGlGwAQAAAPSIfiXJTpIk33/AchakEQUbAAAAQM%2BI40WSpCC433ISpBEFGwAAAEDPGC/Ynnef5SRIIwo2AAAAgJ4xXrB9/w%2BWkyCNKNgAAAAAekalsliS5Pt/kuM8ZzkN0oaCDQAAAKBnGDNXcby7JCmT%2BbXdMEgdCjYAAACAnhJFr5QkZTK/tJoD6UPBBgAAANBTKpX9JEmZzE2SIrthkCoUbAAAAAA9pVLZT0kyR677rLLZn9qOgxShYAMAAADoMb7C8HWSpFzuGstZkCYUbAAAAAA9JwxfL0kKglvkuv9tOQ3SgoINAAAAoOckyUJF0SvlOIn6%2By%2B0HQcpQcEGAAAA0JNKpffIGEfZ7Hfl%2B3fYjoMUoGADAAAA6Elx/DKF4VGSpIGBcyUldgOh51GwAQAAAPSsUul/yJi8fP8Pyucvsx0HPY6CDQAAAKBnGTNPxeK7JUmFwnkKglstJ0Ivo2ADAAAA6GlheJzK5aPlOIlmzXqPPO/PtiOhR1GwAQAAAPQ4R8XiGapU9pXrbtLs2W%2BV46y3HQo9yLcdAAAAAADmz1/ZwGcfqTjOznCfQMPDn9LAwNnyvEc1Z84x2rRpuZJktwYeF9gWBRsAAABAWzVWputnzBxt3vzv6u8/X77/sObOfZ02bbpOlcr%2BVvKg91CwAQAAALSMrTI9lSTZVUNDl6i//8Kxmew3anDwaoXhsbajoQdQsAEAAAA0TacV6skYs5OGhi5WofC/FQSrNGvW2zU8/D9VLJ4pybMdD12MTc4AAAAANGT%2B/JVbXrpHn4aHz1cYHiPHSdTff77mzHm9PO8h28HQxZjBBgAAAFCz7irTU/E1MnKmKpU9lc9fqSC4S3PnHqKRkX/VyMhHJQW2A6LLMIMNAAAAoGrdN1M9E0dh%2BAYNDl6mKDpIjhOqUPi05s49Ur5/r%2B1w6DLMYAMAAACYVm8V6skZs5OGh89XEKxUX9/l8v37NGfOESqV3q2RkXOUJAttR0QXYAYbAAAAwKS6Z7Y6bNJxHEXRERocvExheJgcJ1Y%2Bf5XmzXuV%2BvvPkes%2B06THQa9iBhsAAADANuyV6lV1ft4/NDWFMXM1MvKvKpePVz5/rXz/j8rnv65c7hsqFt%2BrkZGPyZgFTX1M9AYKNgAAAABJ7S7W9Zbp9onjxdq8%2BbPy/fuVy31Tvr9afX2XKZ%2B/WsXi%2BzQy8hEZ83e2Y6KDULABAACAlGtPse78Qj2VSuUV2rz5Yvn%2BvcrlrpXvP6C%2Bvq8on/%2BayuVlKpVOVxQdLMmxHRWWUbABAACAFGtdue7eQj05R5XKq7R58yvl%2B39QLvdd%2Bf4DyuWWK5dbrkplHxWLp6lcfpuMmW07LCyhYAMAAAApRLGul6NKZYk2b14iz3tU2ewKBcEv5PsPamDgE%2Brv//9UKp2iUum9qlReZTss2oyCDQAAAKRIa4p1r5fqycXxHhoZOUPSPymbXalM5iZ53hPK57%2BhfP4biqJXq1T6J5XLx8uYebbjog0o2AAAAEBKNLdct7JU313j/cuSBloRpEoFlctvVLl8rDzvIeVyN8v3f6Ug%2BIOC4A/q7z9bYXikyuWTFIZvYgl5D6NgAwAAAD2uc4t1rUW60zmK4300PLyPHOe9ymR%2BqUzmNnneGmWztyibvUXGZBWGR6lcPlnl8jGS%2Bm2HRhNRsAEAAIAe1nnlutdK9eSMmaNy%2BQSVyyfIdZ9WJvNbBcFKed4TymZvUjZ7k4zJq1w%2BZmxm%2B/WS8rZjo0EUbAAAAKBHNa9cN1Ks01Gop5MkL1Kp9I8qlU6R6z45oWw/pVzuB8rlfqAk6VcYvl5heIzC8GgZ8wLbsVEHCjYAAADQg5pTrrulWJfb%2BFiNcJQku6lU2k2l0tvleY9vKduu%2B4xyue8rl/u%2BjHFVqSxRGB6jcvkNiuOXi2tsdwcKNgAAANBj7JbrZhXrXt%2BZ3FEcL1KxuEjF4jvleWuUydwl379TnveIguBOBcGdKhQuVBy/SGH4hrGXwyX12Q6PKVCwAQAAgB7SeLmup9g2Uqp7vUhXw1Ecv0zF4ssknSrHWa9M5m75/p3y/bvleU8rn79K%2BfxVMiarKDpU5fIxCsM3KEl2sx0eE1CwAQAAgB7R/nJdb7GmVE/HmBeoXD5a5fLRksoKggcUBKvk%2B3fKdf%2BiTOZWZTK3SjpHlcrLFEVHKAyPVBQdImPm2I6fahRsAAAAoAd0frmmVNcnqyjaT1G0n6TT5bpPjV1f%2By553v3y/Ufk%2B48on79i7Nzt/RWGRyiKjlQUHSgpa/sJpAoFGwAAAOhyjZXrzi7WzzzzzIz3mT8/lpOKPcAcJcmLVS6/WOXyCXKcYfn%2BAwqCP8rz7pHnrVUQrFIQrJL0BRmTVxQdPDa7fYQqlVdIcm0/iZ5GwQYAAAC6WOeW6/qKdTWFGqOMKSiKDlAUHSBJcpz1CoL75Pv3yvfvkes%2Bp0zmF8pkfiFJSpJ5Y7PbRygMD1OSvETsTt5cFGwAAACgS7WvXLeuWFOom8eYFygMj1QYHinJjC0nv0%2B%2B/0f5/h/lus9vuRSYJMXxQkXRoQrDQxVFh7JhWhNQsAEAAIDUaUW5rv6YlOp2mLic/E2SKvK8RxUE98r3/yjP%2B5M87yl53reVy31bkhTHuymKDplQuF9s9yl0IQo2AAAA0IXqn722V64bKdarpnmIpUulXK7uQ6eErzjeS3G8l6R/lFSS7z%2BiILhfnnevPO8hed5aed5a5XLXSpLieHeF4WGKokMURYcpSV5o9Rl0Awo2AAAA0GU6p1y3rlhPV6jRDDlVKq8Y2/jsVEklBcHD8v375Xn3jRXuJ5TPP6F8/hpJUqWySFF02Niy8sNkzAKrz6ATUbABAAAAbKc55bqWYk2hti2nKHqlouiVY%2B8XFQQPyffvl%2B/fJ9d9WL7/mHz/MeXz/1eSVKnspSg6bMsstzEvsJa%2BU1CwAQAAgC7S%2Btnrxst1tcWaUt3J8hOuvy1JIwqCBycU7j/L9x%2BW7z%2BsfP4KSVKl8oqxsn2Youi1Mma2vfiWULABAACALtEr5boZxXriMf7hHzgHu/X6FEWvVhS9WpLkOJvHrsF939g53I%2BNle/7JX1VxriqVF6lKDp8bNO0gyUVrD6DdqBgAwAAAD2tc8p1PcWaWe7OZEy/ouhARdGBkiTH2aQg%2BJNbO2CFAAAgAElEQVR8f7xwP6kguFtBcLf6%2Bv5DxgSqVJYoDJcqDF%2BnSmU/SZ7dJ9ECFGwAAACgCzR2zeuZdFa5plR3H2NmKwxfqzB8rSTJcdYrCFbL9%2B8buwb3XxUEv1MQ/E6FwmeVJPPGrtl9lKLodUqSnS0/g%2BagYAMAAAA9q1lNderjNKtYU6p7izEvUBgerjA8XJKR6z4r379PQXC3fP9uue7zyuW%2Bp1zue5LGz99%2BncLwdYqi10jKWs1fLwo2AAAA0OHszl63tlxTrNPAUZIsUBgerTA8WlJFnrdGmcx42X5oy/nbfX1fkjEFheGhCsOjFIavU5LsYfsJVI2CDQAAAPSkapqrvXJdT7G%2Be4q4YVj7sWCTrzjeW8Xi3pJOleMMKgjuk%2B/fLd9fJdddr2x2hbLZFZJGLwdWLp%2BocvlExfE%2BdqPPgIINAAAAoKmaWa6nKtXoHcbMUhgeojA8RFIytkHaPfL9P8jz7h%2B7HNjFKhQuVqWyt8rlE1Qun6Q43tt29B1QsAEAAIAOVt/y8Gasu65v9roZ5ZpSnWau4nh3xfHukk6UNKxMZpWC4Dfy/bvk%2Bw9tV7bHZ7Y7o2xTsAEAAIBUmq7FNr9cU6xRn8KEzdImlu07x8r2RSoULlKlso/K5RNUKv2j1XO2KdgAAAAAGtZIuaZYozpby7bjbFYQ/GFC2X5Qvv%2Bg%2BvouVhi%2BSSMjH1GlcpAkp60JKdgAAABAh2rd8vD6Gu1MG5tNph3lulxu/BjoLsb071C2M5mV8v07lM3eqGz2RkXRARoZ%2BYjC8DhJXltyUbABAAAATFD7%2Bdv1XmqrnnLNZb2wvYll23WfUi53g4LgZwqCuzR79rsUx7trZORMlUrvkFRoaRYKNgAAAJAqnTF7XUu5plSjWkmyUCMjH5LjvF3Z7AplMjfI857QwMA5KhQ%2Bq2LxAxoZ%2BbikbEse323JUWuwdu1aXXDBBVq2bJkWL16s4447btr7r169Wvvss4/222%2B/NiUEAAAAukWjTbR5s9fNKMWrVlGuUR9j5qpUersGB69WsXimkuSFct0NKhQu1pw5r5frPt6Sx7VesB955BGtXLlSu%2B22m/bYY/rd3owx%2BvSnP6158%2Ba1KR0AAACAZqtm9ppijebIqVw%2BVoOD/0fDw59UksxWENyjuXMPUyZzY9MfzXrBXrp0qVauXKmvfOUr2nfffae97/e%2B9z1t2LBBJ598cpvSAQAAAHbUt8FZa0y1PLxVJZhyjebzFEWHaGjoy6pUFst1N2n27FNVKHxKUtS0R7FesF23ugiDg4O65JJL9MlPflJBELQ4FQAAAIB6NXLuNeUarWTMfG3efJHK5ZMkSX19l2rOnOMllZpyfOsFu1pf%2BtKXtO%2B%2B%2B%2BrII4%2B0HQUAAADoUlxwGpB8FYvv1fDweTKmoCC4XbncdU06chd48MEHtXz5cv3gBz9o%2BrE9r2v%2BxoAmGR9zxj5dGPf0YuzTiXFPL8a%2BEa2fOm7GNa%2Bn4jiS5zkyxmndg6CnJMlrVS4/o1zuSvX1fU2VyrslNfb10/EF2xijCy%2B8UKeeeuqMm6DVY9asfNOPie7A2KcT455ejH06Me7pxdh3p0aWhzuOo/7%2BnLpokS46wjJJ35Ln/Ulz594paWlDR%2Bv4gn3zzTfr0Ucf1Re%2B8AUNDg5KksrlsqTR87Kz2ayy2fqvYTY4WFQcJ03Jiu7gea5mzcoz9inDuKcXY59OjHt69dLYz51rO0F3McZoeLgkY8q2o6Cr%2BMpmlyqTuUlheJmGhw%2Ba9F5z5xaqPFqHe%2Byxx7Rp0yYtXbrjXxIOOOAAve9979M555xT9/HjOFGl0t0/fFEfxj6dGPf0YuzTiXFPL8beHlublBkjxbGRMcZOAHStJBkvz2HDPzc6vmCfeOKJOvDAA7e57Qc/%2BIFuvvlmXXHFFXrhC19oKRkAAACA7S1Zwk7g6CaJMpnbJEnl8ikNH816wS4Wi1q5cvQaf08//bQ2b96sFStWSJIOPPBALVy4UAsXLtzmc%2B688055nqeDDpp8%2Bh4AAAAAgJl43gNy3XUypl/l8hsaPp71gr1%2B/XqdddZZ29w2/v4111xDiQYAAAAAtMCw8vmrJElh%2BGYZ0/jmiNYL9sKFC/Xwww/X9Dkf/vCH9eEPf7hFiQAAAAAAvcxxhlQoXCDf/7OMma2RkbObclz2sAcAAABSY/9pPrakbSkAmxxnUIXCv8n3/6wkmaPBwZ%2BoUtmzKcemYAMAAABoi/2n6/ca3SANaCXHWaf%2B/k/J9x9VkrxAQ0M/VRi%2BvGnHp2ADAAAAHWjdusNtRwB6SKJM5ieaNeuf5XmPK0nma3BwhcJwn6Y%2BCgUbAAAAQF2mmnFuZCaaWWw0m%2Bv%2BRYXCp9TXd6kcp6hK5dXatOlWRdFezX%2Bsph8RAAAAgCWtaae77LJL04410zJxiZKNZomVzX5fAwNnKgjulzF5jYxcpI0bb1Wl8pKWPCIFGwAAAMCYzmm2lGw0wvPuV3//Ocrnr5TjlBVFh2jjxjs0PHyGjPFa9rgUbAAAACBVqphCrkE9y8SrmcWe6RjAZDxvjQqF8zUwcO7YJbj6NTz8FW3ceJMqld1b/vjWr4MNAAAAoPPtsssueuaZZ5p2vP33l%2B6%2Bu2mHQ8q57tPK5f5LmcyvJUnG%2BCqX36WRkU8pjhe0L0fbHgkAAABATerbSbxzpn2bMQO9ZAkz2Zia4zynfP4rGhj4oDKZX8sYR2F4sjZu/IOGhr7c1nItMYMNAAAApND%2BkqaaPl4iaVVNR1uyRFpV26eMpqhhFntiya7nsdBbXPevyma/p0zmZ3KcSJIURUdrePhCRdG%2B1nJRsAEAAABUpZ5l4jOV73qWijOjnV6uu1a53PUKgpVynESSVKkcpJGRT6tcfo3ldCwRBwAAALCD2hvsdKV3pkJc7aZnU8lmG/t8dD7Pe1h9fZ/RrFkfUiZzmxwnURQdocHBn2jDhls6olxLFGwAAACgB1VTkOtrtfVeE7vVJRu9yMj371Wh8G8aGDhbmczvxs6xfpM2bvyVNm68QeXyP0hybAfdgiXiAAAAQAdbt%2B5wzZ%2B/0naMqtR7Lva48ZLN7uJpFysIfqts9nvy/TWSRncFD8O3aGTkHFUqe1rONzVmsAEAAABMYuop5%2BlmsRtZKj6O2ey0KimT%2BbEGBt6nQuF/y/fXyJicSqXTtXHjvRoc/HpHl2uJGWwAAAAgxabbTbw1qp3l5jrZ6eE4m5TN/liZzI1y3SFJUpLMVbn8ARWLH1Acv8Bywuoxgw0AAAB0OHvXw27%2BLHY1Hx%2B3//7MZvcy131G%2BfxXNWvWPymX%2B7Zcd0hxvKtGRr6g559/SJs3f6qryrXEDDYAAACAOk132a6ZZqprOV97%2B5LNzHZ387xHlc0uVxD8ZsKltl6pYvFslctvljGe5YT1o2ADAAAAPWuJpJla7EzLxKs5xhSf2cSSPdH2hTuTqf0YaDcj379vrFhv/XqLoiNVLH6i43YDrxcFGwAAAOgCnbqb%2BHSz2NVodOdxdLpEQfA7ZbPL5ft/liQZ4yqKlmlk5BOKopdbztdcFGwAAAAg9ezNYo/fR6Jo95ZYQbBSudx35XlPSZKMyapcfoeKxY%2BqUtndbrwWoWADAAAAPa3%2BclytmWaxq52lpmj3gvFi/W153l8kScYMqFR6n4rFMxTH8y3nay12EQcAAAC6RH27iVdrpu26p9/6e7pdxaXqdw6v9b7oFLGC4OcaGPigCoVL5Hl/UZLMUbF4/tiO4P/e8%2BVaYgYbAAAAQNWmnw1v1kz2%2BH0lZrM7X6wguG1sKfjojHWSzFWp9GEVix9UkvRbztdeFGwAAACg51W7THymc7GbkKTGTc0o2p3KyPfvUD5/9ZZzrEeL9UdULH4gdcV6HAUbAAAA6CL2dxNvbBZbqm/n8MmWjVO67fC8R5TPXynfv1/SeLE%2BSyMjH5AxBcvp7KJgAwAAAKnQvlnsVpXsyY4hSdlsY8dBdRznWeXz31Am80tJo7uCl0r/rJGRc5Qks6xm6xQUbAAAAAA1mrmsV1uyJWaiO9%2BIcrnvKJu9QY4TSZLC8BQND/9PVSoLLWfrLOwiDgAAAHSZ1u4mLs28o7g0067itWDX8M7l%2B3do1qwPKpf7nhwnUhT9gzZu/LU2bbqScj0JZrABAACA1Gj9NbEnqmYWexyz2Z3FcTYqn79cmcyvJElxvJtGRj6nUukYSY7dcB2MGWwAAAAAk2jOLPZM18fe4YjMZltmtlzPOpP5lYzxVCp9WBs23KFS6VhRrqdHwQYAAABSpdkNtjUlm6Ldfo6zXoXCBSoUvijXHVIc76vBwV9qaOizMqbPdryuQMEGAAAAulDrz8OWqpvFrk6tJVuiaLeT563WwMBHFAR3y5iMRkYu0IYNv1IYvtJ2tK7COdgAAABA6jT7XOzqjlfLOdnbHH1CyeYc7WYzymZ/pFzuSjlOojjeW4OD16pSeZntYF2Jgg0AAABgGo1fF3uiekv2OGa0m6mkvr4vb9nILAxP0uDgZSwHbwBLxAEAAIAu1Z5l4tWqvvnWs1x8OtlsUw%2BXCo7zvAYGPj62kZmvkZGLtWnT1ZTrBlGwAQAAgFSqZSq42nOx7ZVsVM9xnld//yfleU8oSeZraOgmDQ9/SOwQ3jgKNgAAAAArKNnt5zgb1N//KXneU0qSXbRp089VLh9sO1bPoGADAAAAaKLaTpKmZLfP1nL930qSnbVp0wpVKrvbjtVTKNgAAABAF2vsPOxWLBOvHSW7HcoqFC6Q5z2pJFkwVq5fYjtUz6FgAwAAAGiy2rf6pmS3Vj7//8v3H1OSzBsr14tsR%2BpJFGwAAAAAVaplFpuS3SmC4NfKZm%2BWJG3efKUqlT0sJ%2BpdFGwAAAAg1TrrwtKU7OZy3WfU1/cVSVKxeJbK5ddZTtTbKNgAAABAl%2Bus62FPVF95p2Q3i1E%2Bf6kcZ0SVyhIND19gO1DPo2ADAAAAqEHrNjubiJLdON%2B/W0HwRxkTaGjoKhkT2I7U8yjYAAAAAFqo/iXou%2ByyC0W7brHy%2BaslSeXy6VyOq00o2AAAAEDq1VqC2zOLPY6SXbsg%2BKU873EZM6CRkX%2B1HSc1fNsBAAAAAPS6JZJWNXSEiSX7mWeeaTBPr0uUy10nSSoWP6Y4nmc5T3owgw0AAAD0gM7d6Kz5xpeOM7M9Od//ozzvKRlTULH4QdtxUoWCDQAAAKAOtS4Tb83lwHbZZRf5vteSY3erbPYGSVK5/A4lSb/lNOlCwQYAAACgTrseNurjus/I90eX4zN73X4UbAAAAABtQolvtUxmhRzHKIqOUKXyUttxUoeCDQAAAAA9oaJM5lZJUql0uuUs6UTBBgAAAFCnei7XxSx2qwTBnXLdjUqSnVQuH2s7TipRsAEAAIAekaadxLGjTOankqQwfIeMCSynSScKNgAAAIAx7ZpdZha72Vz3aQXBKhnjqFh8j%2B04qUXBBgAAANCAepaJo9my2ZskSZXK61SpLLKcJr0o2AAAAAAsYBa7eUaUyfxMklQqnWE5S7pRsAEAAACgi2WzP5XjjCiO91CpdKTtOKlGwQYAAAB6SOMbndUzs1zvMnFmsRtXUja7fPSt0lmi4tnFvz4AAAAAdKls9ia57kbF8a4qFt9hO07qUbABAAAAWMQsdv1GtsxeF4uf5NJcHYCCDQAAAKAJ2E283XK578h1BxXHL1Gp9FbbcSAKNgAAAIAdtHtWmVnsWrnuWmWzP5QkjYxcLGN8y4kgUbABAACAntP4Rmc2ULKrZ9TX9zU5TqwoeoNKpWNtB8IYCjYAAACAJml0mTgluxpB8Av5/v0yJqfNm79oOw4moGADAAAA6CCU7Ok4zrPq67tcklQqfUKVyostJ8JEFGwAAAAAk6i36DZjszNK9uQS9fX9hxxnWJXKfhoe/pjtQNgOBRsAAABAB6Jkby%2Bb/aGC4D4Zk9fQ0FVsbNaBKNgAAABAD7K70VmzLtlFyR7neY8ol/uGpNFdwyuVPSwnwmQo2AAAAACm0AkFtxMy2OU4Q%2Brru0iOU1EUHaORkX%2ByHQlTYE0BAAAAgA43sWSvspbCjkR9fZfI8/6mON5Vg4NXSHJsh8IUKNgAAAAAWmB/SXe34LjpKtvZ7HUKgrtkTEabN39LSTLbdiRMgyXiAAAAAKbRyBLtZp2LPZUlYy/ZFj%2BOHb6/SrncNyVJIyOXKAz/3nIizISCDQAAAPQouxudoRGu%2B5QKhc/JcYzK5XdqZOTdtiOhCtaXiK9du1ZXXnml7r33Xj3yyCNatGiRbrzxxi0fj%2BNYV111lVauXKk1a9YojmPtueeeOvPMM3XwwQdbTA4AAACkxRLVvxy7VUvFe9mwCoVPj13v%2BgANDX3JdiBUyfoM9iOPPKKVK1dqt9120x577LjVfKlU0uWXX669995bF110kb74xS9qwYIFes973qPbbrvNQmIAAAAAtWn1UvFeEqtQ%2BJw87yklyS4aHPyOjMnYDoUqWZ/BXrp0qY466ihJ0rnnnqvVq1dv8/FcLqef//znmj1768n8hxxyiJ544gldddVVOvLII9uaFwAAAOgm69YdrvnzV9qOgSrlclcrCFbJmJyGhq5THM%2B3HQk1sD6D7brTR/A8b5tyLUmO42jvvffWs88%2B28poAAAAALZo9HrUzGLPJJP5qXK5H0iShoe/pjB8peVEqJX1gl2PJEl0zz33TLqkHAAAAECnomRPxfNWK5%2B/TJJULP6LisWTLSdCPawvEa/Hf/3Xf%2Bnxxx/XhRde2PCxPK8r/8aABoyPOWOfLox7ejH26cS4pxdjP7kNG47U3LnN2L%2Bokc3OxrVm0zPHkTzPkTFO04/dao7zjPr6PivHqSiKlqlUOk%2B%2Bz9dwN%2Bq6gn3nnXfq85//vE477TQdcMABDR9v1qx8E1KhGzH26cS4pxdjn06Me3ox9p2u%2BSXbcRz19%2BfUfYt0hyVdKGlQ0isVBN/S3Ll9ljOhXl1VsB966CF96EMf0lFHHaVPfOITTTnm4GBRcZw05VjoDp7natasPGOfMox7ejH26cS4pxdjP7W5c5t1pGbMYkvNLtnGGA0Pl2RMuWnHbL1Y%2BfyF8v21SpK/09DQciWJ0WjpRieZO7dQ1f26pmA/%2BeSTOv3007V48WJ97nOfk%2BM0Z%2BlHHCeqVPjhm0aMfTox7unF2KcT455ejP2OOnM38eaVbGOkODYyxjTleO2Qy10t379LxmQ1NHSdwnCBJL5uu1lXrJ9Yt26dTjvtNO2000667LLLlMlwHTgAAADAnkZ3FJ8onRufBcHPlct9X9L4juHp/HfoNdZnsIvFolauHP1L2tNPP63NmzdrxYoVkqQDDzxQfX19Ov3007V%2B/Xqde%2B65WrNmzTaf/6pXvartmQEAAAA0a6m41KqNzzqV5z2svr7/lCQVi%2BeoWHyL5URoFusFe/369TrrrLO2uW38/WuuuUYvetGL9NBDD0mSzjjjjB0%2B/%2BGHH259SAAAAKAHdOYy8XHpKNmO87wKhc/KcSJF0TEaHj7PdiQ0kfWCvXDhwhlLMiUaAAAA6ETNnMWWti4X79WiHalQ%2BKxcd73i%2BGUaHLxKxnTFWbuoEqMJAAAApMi6dYfbjlCF/dWL52bn81%2BX7z8kY2ZpcPB6JUm/7UhoMgo2AAAAgAY0c8Oz7fVOyQ6CW5XN3ixjHG3efLUqlUW2I6EFKNgAAABAyjR/FrvVJbu7Z7Q971H19X1VklQq/atKpaMtJ0KrWD8HGwAAAACqM1nJ7uzztR1ns/r6/pccJ1QULdXw8Lm2I6GFmMEGAAAA0AStnMWezv6SspYeeyZG%2BfxX5Hl/VZIs1NDQ1Wxq1uMYXQAAACCFWrPZma2S3ZkymRXKZH4rY3wNDX1TcTzXdiS0GAUbAAAAAJrMdZ9QPv91SVKxeIHCsHvPIUf1KNgAAABASjGL3SqhCoXPjZ13faSGhz9iOxDahIINAAAAoMnSXbJzuW/K89YqSXbS0NCVonalByMNAAAAoAXSWbI97wFls9%2BXJA0PX6o43slyIrQTBRsAAABIsdYsEx%2BXtpJdUl/ff8hxjMLwH1UqvdF2ILQZBRsAAAAAmiCXu1ae9xclyQINDV1iOw4soGADAAAAKccsduNc9wllsz%2BUJA0P/6eSZLblRLCBgg0AAACgxXq9ZBv19f0fOU6iMDxWpdIxtgPBEgo2AAAAgBbPYku9XLKDYKV8/34Zk9Pw8Bdsx4FFFGwAAAAAbdKLJTtUPn%2B1JKlUOkeVyost54FNFGwAAAAAktoxiy31WsnOZm%2BW6z6nJNlFw8MfsR0HllGwAQAAALRZr5TsorLZ60ffKp4rY3KW88A2CjYAAAAAC7q/ZGezP5brblQc76Zi8Z2246ADULABAAAAbNGeZeLjurlkR8pmfyRJKhY/JWMCy3nQCSjYAAAAACzqzpIdBCvluhuVJLuoVHqL7TjoEBRsAAAAANto7yy2NFqyu6loG2WzN0iSSqX3M3uNLSjYAAAAADpEd5Rsz3tAvv%2BojMmpWHyP7TjoIBRsAAAAADto/yz2uM6fzc5kfiZJCsOTlCTzLKdBJ6FgAwAAAOhAnVqyS8pkfjP6VuldlrOg01CwAQAAAEzK3iz2uM6bzQ6CO%2BQ4RSXJixSGB9uOgw7j2w4AAAAAANObWLJXWUshSZnMbZKkcvltYr4S26NgAwAAAJjSunWHa/78lbZjTGBvRttxNsv375EklctvtZYDnYs/uQAAAADocpm2PIrv3ynHqSiOX6oo2rstj4nuQsEGAAAAMC3752J3hiC4XZIUhidaToJORcEGAAAAgBkVFQR/kCSVyxRsTI6CDQAAAGBGaZ/FDoI75Tih4vgliqJ9bcdBh6JgAwAAAMAMgmD02tejy8Mdu2HQsSjYAAAAAKqS3lnsooJg9PJg5fLJlrOgk1GwAQAAAGAaQfC7seXhuyuKXm47DjoYBRsAAABA1dI4i53J3CpJCsO3i%2BXhmA4FGwAAAACm4DjPyvfvkySVSu%2BwnAadjoINAAAAoCZpmsXOZH4hxzGKoteqUtnVdhx0OAo2AAAAgJqlo2RXlM3%2BRJJULv8Py1nQDSjYAAAAADCJIPidXPc5JckLVCqxezhmRsEGAAAAUJden8XOZm%2BQJJXLp8mYrOU06AYUbAAAAAB169WS7Xl/lu8/IGN8FYvvtx0HXYKCDQAAAADbyeW%2BK0mKopMUxwssp0G3oGADAAAAaEivzWK77uMKgt/LGEfDw/9iOw66CAUbAAAAQMN6qWTnctdJkqLoeFUqe1pOg25CwQYAAADQFL1Qsl33SQXBryVJIyOftJwG3YaCDQAAAKBpur1k53LfkuMYheEbFUX72o6DLkPBBgAAANBU3VqyXfdxZTLjs9cXWE6DbkTBBgAAANB03Viyc7lrJUlh%2BGZF0WLLadCNKNgAAAAAWqKbSrbnPapM5ncyxtHIyPm246BLUbABAAAAtEy3lOxs9tuSpChapijay3IadCsKNgAAAICWWrfu8I4u2qPnXo/PXv%2Bb7TjoYhRsAAAAAG3RqSU7lxufvT6e2Ws0hIINAAAAoG06rWS77jMKgtslidlrNIyCDQAAAKCtOmnJeDb7QzmOURQtVRTtYzsOuhwFGwAAAIAVtku24wwqk/mZJKlYPNtqFvQGCjYAAAAAa2zOZmcyK%2BQ4ZcXxy1UuH2olA3qLbzsAAAAAAEws2fPnr2zDIybKZH4qSSoWz5DktOEx0euYwQYAAADQUdoxq%2B3798vz/ipjCiqVTmzpYyE9mMEGAAAA0JFaOaudydwiSQrDt8iYvqYeG%2BlFwQYAAADQ8aab0Z43Ly8pqeFoI1suzVUsvqexYMAELBEHAAAAkCpBsEqOEyqOd1cU7Wc7DnoIBRsAAABAqgTBbyVJUbRMbG6GZqJgAwAAAEiRsoJglSSxuRmajoINAAAAIDV8f7Ucp6Qk2YXl4Wg6CjYAAACA1PD9P0qSomipWB6OZqNgAwAAAEiNILhHkhRFR1lOgl5EwQYAAACQCo6zSZ73uCSpXJ76sl9AvSjYAAAAAFLB9x%2BQJMXxXkqSnSynQS%2BiYAMAAABIBc97UJJUqRxkOQl6FQUbAAAAQCr4/kOSpCg62HIS9CoKNgAAAIAUqMjzHpEkRdEBlrOgV1GwAQAAAPQ8131SjhPKmH5VKi%2B1HQc9ioINAAAAoOf5/hpJUqXy96IGoVVq/sp66KGHWpEDAAAAAFrG8x6VJMXx/paToJfVXLBPOOEEnXrqqbr55ptVqVQaDrB27VpdcMEFWrZsmRYvXqzjjjtu0vutXLlSJ5xwgl7xilfo6KOP1rXXXtvwYwMAAABIB88bn8Hez3IS9LKaC/ZnPvMZlUolnX322TriiCN06aWX6tlnn607wCOPPKKVK1dqt9120x577DHpfe655x596EMf0uLFi3XFFVfoxBNP1Gc%2B8xldf/31dT8uAAAAgLRI5HlPSBpfIg60hmOMMfV84t13361rr71Wt9xyi4wxOuqoo/TOd75TS5Ysqek4SZLIdUd7/rnnnqvVq1frxhtv3OY%2Bp59%2BujZt2rRNoT7//PN122236Ve/%2BtWWz6/Hhg3DqlSSuj8f3cf3Xc2dW2DsU4ZxTy/GPp0Y9/Ri7NNp3ryCpESbN6%2BUMeUdPu66T2vWrPfLmIzWr/%2BrjPHbHxJdbf78garuV3cz3X///XXJJZfotttu0wc/%2BEHdc889ete73qVly5bp%2BuuvVxiG1QWYoRyHYajf//73etOb3rTN7ccff7zWrVunBx54oN6nAAAAACAFPO9xSVIc7025Rks1vH1ePp/XnDlzlM/nZYzRpk2bdP755%2BuYY47Rfffd13DAJ598UlEUadGiRdvc/tKXjm6t/%2Bijjzb8GAAAAAB619aC/QrLSdDr6v7zzZo1a3TttdfqhhtuULlc1tFHH62LLrpI%2B%2B23nx544AFdcMEFOv/88/WjH/2ooYCbNm2SJM2aNUq2O0wAACAASURBVGub28ffH/94vTyPLfrTZnzMGft0YdzTi7FPJ8Y9vRj7dHKc0dee58gYZ4ePj59/nSSvku/ztYHWqblg//SnP9W1116ru%2B66S7Nnz9Y73/lOnXrqqVqwYMGW%2ByxevFgf//jH9b73va9pQR1nx2%2BU6W6v1qxZ%2BYY%2BH92LsU8nxj29GPt0YtzTi7FPH2OM%2BvtzmnyR7hOSpHz%2BAOXzhXbGQsrUXLDPOuss7bXXXrrwwgu1bNkyZTKZSe%2B3cOFCHXvssQ0HnD17tqQdZ6oHBwcl7TizXavBwaLimA0w0sTzXM2alWfsU4ZxTy/GPp0Y9/Ri7NNp9uy8JKPh4dIkm5yNaGDgr5KkTZv2UJIMtz0fut/cudX9Yabmgv2Nb3xDBx100Iz3e/GLX6zPf/7ztR5%2BB7vuuquCINBjjz2mww47bMvta9aMXsduqkt7VSuOE3aYTCnGPp0Y9/Ri7NOJcU8vxj5dxq%2BLFMdG218kafz86yTZRWE4WxJfF2idmk9AuPHGG/XUU09N%2BrG//OUvOv/88xsONVEmk9FrXvMa/eQnP9khx/z587V48eKmPh4AAACA3rF1g7N9LSdBGtRcsJcvX67nn39%2B0o89//zzWr58eU3HKxaLWrFihVasWKGnn35amzdv3vL%2B%2BOOcccYZWr16tc477zzdcccd%2BtrXvqbrr79eZ511VkPXwAYAAADQ28Y3OKtU2EEcrVfzEvHtl1xMNDg4OOU52VNZv369zjrrrG1uG3//mmuu0UEHHaT99ttPl112mb74xS/qhz/8oXbeeWedd955OuWUU2qNDwAAACBFxgt2HL/cbhCkQlUFe9WqVVq1atWW97///e/r9ttv3%2BY%2BpVJJt9566w7Xq57JwoUL9fDDD894v8MPP1yHH354TccGAAAAkGZmwgw2BRutV1XB/v3vf69LL71U0uhlsb7zne9Mer8FCxbo4osvbl46AAAAAKiT4zwnxxmRMb4qlcY2RwaqUVXBPu200/S2t71Nxhgdeuih%2BvrXv77D5mKZTKbhS2YBAAAAQLN43lpJUpLsIWNqO5UVqEdVBbuvr099fX2SpFtuuUU777xzzedaAwAAAEA7jRfsON7bchKkRc2bnO26666tyAEAAAAATeW6/y1JqlS4tC/ao%2Bol4uedd54WLVqk0047bdr7Oo6jK6%2B8sinhAAAAAKBenveUJGaw0T5VFexSqbTl8lzFYlGO47Q0FAAAAAA0xmyZwY7jPS1nQVpUVbC/9a1vbXn729/%2BdsvCAAAAAEAzOM6gXHezJKlSqe1SwkC9XNsBAAAAAKDZXPevkqQk2VnG5C2nQVpQsAEAAAD0HNd9RpKUJLvbDYJUqWqJ%2BL777lvTederV6%2BuOxAAAAAANGp8BjuOX2I5CdKkqoJ9%2Bumns7EZAAAAgK7huuskMYON9qqqYH/sYx9rdQ4AAAAAaBrXfU6SlCQvtJwEacI52AAAAAB6juuulyTF8YssJ0GaVDWDPZlHH31Ujz32mEql0g4fO/744xsKBQAAAACNcJzRGew4ZgYb7VNzwS6VSjrjjDN0%2B%2B23S5KMMZK0zTnaFGwAAAAA9kRy3SFJUpIssJwFaVLzEvGvfe1reuKJJ3T11VfLGKMvf/nLuuKKK7R06VLttttuWr58eStyAgAAAEBVHGeTJMkYT0ky13IapEnNBftnP/uZ3v/%2B9%2BuAAw6QJC1cuFCHHnqovvrVr2qfffbR9ddf3/SQAAAAAFAt190oSTJmnth2Cu1U81fb008/rUWLFsnzPDmOs8052MuWLdOtt97a1IAAAAAAUAvHGS/Yf2c5CdKm5oI9MDCgYrEoSZo3b57Wrl275WNxHGt4eLh56QAAAACgRuNLxJNkJ8tJkDY1b3K25557binVBx10kC6//HItWrRIQRDoq1/9qvbaa6%2BmhwQAAACAarnueMGebzkJ0qbmgn3SSSdtKdgf/ehHdeqpp%2Brtb3%2B7pNHZ7csvv7y5CQEAAACgBls3OaNgo71qLtjHHXfclrd33XVXrVixQr/73e/kOI72339/zZs3r6kBAQAAAKAWW5eIcw422qvmgr29/v5%2BHX300c3IAgAAAAANc90NkrgGNtqv5oL9t7/9bcb7LFjAFzIAAAAAOxyHgg07ai7Yhx9%2BuBzHmfY%2BDz74YN2BAAAAAKARrvu8JAo22q/mgv3pT396h9s2bNigX/ziF3ruuef0gQ98oCnBAAAAAKB20ZbrYMfxzpazIG1qLtinnHLKpLe///3v15lnnqnnnnuu4VAAAAAAUA/XfV6OY2RMhst0oe3cZh7s5JNP1nXXXdfMQwIAAAD4f%2Bzde5hVBb038O9mmFEEQUAwwSsohEiI6UESb3gML5jlvZNiRpoX0iRPXt4s6/HWOdapABEj8e7xEvrmBd9TpxNaKZWVmqkJmqR5AUQREGRm9vuHD3OawGLDws3M/nyeZ3RmrTVrf5nfMPqddWOtlUrzkyTNzX2S/P1LW6FohRbs5ubmvPnmm0XuEgAAYK116PBakqS5uW%2BVk1CL1vsxXcm7xfqPf/xjJk2alAEDBhSxSwAAgIrV1b2cJGlu7lflJNSiigv24MGDV7uLeHNzc8rlcjbffPNMmzatsHAAAACV6NDhL0mSpqadqpyEWlRxwf7sZz%2B7WsHeZJNN0rdv3xxwwAHZfPPNCwsHAABQiQ4d3j2C3dTUv8pJqEUVF%2BxzzjlnQ%2BQAAABYb/97BHvHKiehFhV6kzMAAIBqKZXeTIcObyVJGhsdweb9V/ER7Isuumitty2VSvn6179e6UsAAABUrEOHeUmS5uZtUi5vVuU01KKKC/aDDz6YpUuXZsmSJenQoUO6du2axYsXp7m5OV26dEnnzp1btv3ba7UBAAA2lA4dXkziBmdUT8UFe/LkyTnzzDPz5S9/OYcddljq6%2BuzcuXK3HffffmP//iPTJo0KUOGDNkQWQEAAN5TXd27R7Cbmjw6mOqo%2BBrsK664IieffHI%2B/vGPp76%2BPklSX1%2Bfj3/84/n0pz%2Bdyy%2B/vPCQAAAA/8j/HsEeVOUk1KqKC/bvf//7DBw4cI3rBg4cmD/84Q/rHQoAAKBSq67BbmzcucpJqFUVF%2BwuXbrkkUceWeO6Rx55pNU12AAAAO%2BP8l89A9sp4lRHxddgH3744Zk2bVqam5szZsyY9OrVK/Pnz88999yT6dOnZ%2BzYsRsiJwAAwHsqlZpSKjWnXN4sTU1bVTsONarigj1hwoTMnz8/3/ve9zJt2rSW5eVyOYcddlgmTJhQaEAAAIB/bGWSpLl5hySeZkR1VFyw6%2Bvrc%2BWVV%2BZzn/tcZs%2BenTfeeCNbbLFFhg8fnp13dq0DAABQDY1JkqamHaucg1pWccFeZeedd1aoAQCAjUKptKpg969yEmpZxTc5AwAA2Pi8W7DfPUUcqkPBBgAA2oGmd//Z1LfKOahlCjYAANAOrDqCvU2Vc1DLFGwAAKDNK5WakyRNTX2qnIRapmADAADtQrlcl%2Bbm7tWOQQ1TsAEAgHahXO4RFYdqWqvHdH3mM59Z6x2WSqV8//vfX%2BdAAAAA66Jc7lXtCNS4tSrYb7/9dkql0obOAgAAsM7ePYIN1bNWBfvWW2/d0DkAAADWS3Nz12pHoMa5QAEAAGgnulU7ADVOwQYAANqFclnBprrW6hTxwYMHV3QN9u9///t1DgQAALAuyuUu1Y5AjVurgv3Zz37WTc4AAICNWrm8WbUjUOPWqmCfc845GzoHAADAetq02gGoca7BBgAA2oVyuVO1I1Dj1uoI9prMnTs3zz33XJYvX77ausMPP3y9QgEAAFRuk2oHoMZVXLCXL1%2BeM888M7/4xS%2BSJOVyOUlaXaOtYAMAAO%2B3cnmdjx9CISo%2BRXzKlCn505/%2BlOnTp6dcLuc73/lOvve972XUqFHZfvvtc%2Bedd26InAAAAH%2BXgk21VVywf/SjH%2BXUU0/NnnvumSTZZpttss8%2B%2B2Ty5MkZNGhQ7rjjjsJDAgAA/GP11Q5Ajau4YL/00kvp169f6urqUiqVWl2DfcQRR%2BTHP/5xoQEBAADWTl21A1DjKi7Ym2%2B%2Bed5%2B%2B%2B0kSY8ePfLCCy%2B0rGtqasrSpUuLSwcAALDWFGyqq%2BKLFAYMGNBSqocPH56pU6emX79%2Bqa%2Bvz%2BTJkzNw4MDCQwIAAPwj5bKCTXVVXLCPPPLIloL9hS98If/yL/%2BST37yk0nePbo9derUYhMCAACslYpP0IVCVVywx4wZ0/L%2BdtttlwceeCAPP/xwSqVSdt999/To0aPQgAAAAGtHwaa61vs%2B9l26dMlBBx1URBYAAID1UKp2AGpcxb/imTVrVm6%2B%2BeY1rrvlllvy0EMPrXcoAACAyinYVFfFBXvKlCl566231rhuyZIlmTJlynqHAgAAqJyCTXVVXLDnzp2bwYMHr3HdLrvskrlz5653KAAAAGhrKi7Y77zzThobG9e4rrGxseUZ2QAAAO8vR7CprooL9g477JBZs2atcd1Pf/rTbL/99usdCgAAoFLl8ibVjkCNq7hgH3nkkbn99tszefLkLFq0KEmyaNGiXHXVVbn99ttz1FFHFR4SAADg72lu7pZ33tmj2jGocRU/pmvs2LF5/PHHM3HixEyaNCn19fVZuXJlyuVyDjvssHz605/eADEBAADeW7ncPeXy0mrHoMZVXLBLpVK%2B%2Bc1v5phjjsmDDz6YRYsWpUePHtl3330zfPjwDZExSfLjH/84U6dOzdy5c7Pppptm9913z4QJE9KvX78N9poAAACwtiou2Kvstdde2WuvvYrM8p5%2B8YtfZPz48fnYxz6WL3zhC1m8eHEmTZqUk08%2BOffdd1%2B6dOnyvuQAAACA97LOBfvhhx/O7Nmzs2jRopx22mnZeuut8%2BSTT6ZPnz7p3r17kRlz3333pU%2BfPvnGN76RUundOwP27ds3xxxzTB599NHst99%2Bhb4eAAAAVKrigr18%2BfKceeaZ%2BcUvfpFyuZxSqZRjjz02W2%2B9da655pr06dMn5513XqEhGxsb07lz55ZynSSbb755oa8BAAAA66Piu4h/%2B9vfzmOPPZZvfetb%2BdWvfpVyudyybuTIkXn44YcLDZgkRx99dJ577rnceOONWbx4cV588cV84xvfSP/%2B/TNixIjCXw8AAAAqVfER7JkzZ%2Bass87KIYcckqamplbrtt566/zlL38pLNwqe%2B65ZyZNmpQvfvGLueSSS5IkO%2B20U6699to0NDSs177r6ir%2BHQNt3KqZm31tMffaZfa1ydxrl9nXplIpKZeTjh3NneqquGAvXLgwAwYMWOO6urq6LF%2B%2BfL1D/a3f/OY3%2Bdd//dccddRRGTVqVJYsWZKrr746p5xySm699db1uslZ166dCkxKW2L2tcnca5fZ1yZzr11mX3vK5XK6d%2B9c7RjUuIoL9lZbbZU5c%2Bas8Q7izzzzTLbZZptCgv21Sy65JHvttVf%2Bz//5Py3LPvzhD2fffffNHXfckZNPPnmd97148dtpamouIiZtRF1dh3Tt2snsa4y51y6zr03mXrvMvjZ169Yp5XKyePGyakehnVrbX95UXLAPOuigTJkyJXvssUd23nnnJO8%2BG/vll1/ODTfckCOOOKLSXf5Dc%2BfOzahRo1ot69GjR3r37p158%2Bat176bmprT2OiHby0y%2B9pk7rXL7GuTudcus68tq24LZeZUW8UFe/z48fn5z3%2Beo48%2BOgMHDkypVMqXv/zlvPDCC9luu%2B1y6qmnFh6yT58%2BefLJJ1stmz9/fl577bX07du38NcDAACASlV8F4AuXbrktttuyxlnnJGOHTumT58%2B6dChQ04%2B%2BeTcdNNN6dSp%2BOtdPvWpT%2BUnP/lJvv71r%2BfnP/95Zs6cmVNOOSWbbbZZPvaxjxX%2BegAAAFCpUvmvn7O1kSqXy7n99ttzyy23ZN68edlss80yZMiQnHPOORk4cOB67XvRoqVOJakxHTt2SPfunc2%2Bxph77TL72mTutcvsa1OPHu9eH/v660urnIT2qlevzddqu4pPEV%2BT3//%2B93nqqaeyxx57ZMcddyxil62USqUcd9xxOe644wrfNwAAABSh4oL9la98JStXrszll1%2Be5N3nYk%2BYMCHlcjkNDQ258cYbM3To0MKDAgAAwMas4muwH3744fzTP/1Ty8dXXXVVPvKRj%2BQHP/hBhg4dmquvvrrQgAAAANAWVFywFyxY0HLn7tdeey3PPvtsPve5z2Xw4ME56aST8sQTTxQeEgAAADZ2FRfsurq6rFixIkny6KOPpqGhIcOGDUuSdOvWLYsXLy42IQAAALQBFRfsHXfcMffee2%2BWL1%2BeGTNmZPfdd099fX2S5NVXX0337t0LDwkAAAAbu4oL9sknn5wf/vCHGTZsWH72s5/lhBNOaFn38MMPr/djswAAAKAtqvgu4oceemh69%2B6d3/72t/nQhz6U4cOHt6zbcsst88///M%2BFBgQAAIC2YJ2eg73HHntkjz32WG35Oeecs96BAAAAoC2q%2BBRxAAAAYHXrdAT7vvvuy/XXX5%2B5c%2Be23FH8r/3%2B979f72AAAADQllR8BPt//ud/8qUvfSn9%2B/fP0qVLM2bMmBx00EGpr6/PNttsk89%2B9rMbIicAAABs1Cou2FOnTs3YsWNzySWXJElOPPHE/Md//EceeOCBNDY2Zrvttis8JAAAAGzsKi7Yzz//fPbee%2B%2BUSqUkSVNTU5Jkq622yhlnnJHp06cXmxAAAADagIoLdlNTUxoaGtKhQ4d06tQp8%2BfPb1nXp0%2BfzJs3r9CAAAAA0BZUXLD79u3bUqoHDhyY%2B%2B%2B/v2Xdj3/84/Tq1au4dAAAANBGVHwX8REjRuQXv/hFDjvssIwdOzYTJkzIk08%2Bmfr6%2BsyZM8ezsAEAAKhJFRfsc845J8uXL0%2BSHHrooUmSe%2B65J6VSKWPHjs0xxxxTbEIAAABoAyou2Jtsskk22WSTlo8PPfTQlqINAAAAtarigr3KO%2B%2B8k6effjqLFi1K9%2B7d88EPfjANDQ1FZgMAAIA2Y50K9g033JDJkydn8eLFLcu6du2aM844IyeddFJh4QAAAKCtqLhg33zzzbnssssyfPjwjBkzJr169cr8%2BfNzzz335IorrkjHjh3zqU99akNkBQAAgI1WxQX7uuuuy5gxY3LllVe2Wn7MMcfki1/8Yq677joFGwAAgJpT8XOwX3nllRxxxBFrXHfEEUfk1VdfXe9QAAAA0NZUXLB32GGHLFy4cI3rXn/99Wy33XbrHQoAAADamooL9vjx4zNx4sTMnTu31fI5c%2BZk4sSJGT9%2BfGHhAAAAoK1Yq2uw/7Y0NzY25vDDD88HP/jBbLnlllmwYEGefvrp9O7dO/fdd18OPvjgDRIWAAAANlZrVbAff/zxlEqlVst69eqVhQsXtpwu3qtXr5TL5TzxxBPFpwQAAICN3FoV7AcffHBD5wAAAIA2reJrsAEAAIDVKdgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFWKvHdK3JCy%2B8kF/%2B8pdZtGhRjjzyyGy55ZZZuHBhNt988zQ0NBSZEQAAADZ6FRfs5ubmXHzxxbnzzjvT3NycUqmUvffeO1tuuWUuuOCC7LrrrjnrrLM2RFYAAADYaFV8ivjUqVNz11135Zxzzsndd9%2Bdcrncsm6//fbLQw89VGhAAAAAaAsqPoI9Y8aMnH766TnllFPS1NTUat0222yTP//5z4WFAwAAgLai4iPYL7/8cnbfffc1rtt0002zdOnS9Q4FAAAAbU3FBbtHjx558cUX17ju%2Beefz1ZbbbXeoQAAAKCtqbhg77vvvpk6dWpee%2B21lmWlUilLlizJTTfdlAMOOKDQgAAAANAWVHwN9llnnZWjjz46hx12WEaMGJFSqZTvfve7eeaZZ1IqlXL66adviJwAAACwUav4CHbv3r1z55135qMf/Wh%2B85vfJEkee%2Byx7LXXXrn11lvTo0ePwkMCAADAxq7iI9jJuyX70ksvLToLAAAAtFkVH8EGAAAAVlfxEeyLLrroPdeVSqV07do1Q4YMyahRo1JfX79e4QAAAKCtqLhgP/jgg1m6dGmWLFmSDh06pGvXrlm8eHGam5vTpUuXNDc3Z9myZdlpp51y/fXXp2fPnhsiNwAAAGxUKj5FfOrUqenatWv%2B7d/%2BLY899lgeeeSRPPbYY/nGN76RzTffPNdff31uvPHGvP766/nWt761ITIDAADARqfiI9iXXXZZTjrppHzsYx9rWVZfX58jjjgiixYtyhVXXJGbb745p5xySq699tpCwwIAAMDGquIj2I8//ngGDBiwxnUDBgzIk08%2BmSQZNGhQFi1atH7pAAAAoI2ouGB37tw5v/zlL9e47pe//GU6d%2B6cJFmxYkXL%2BwAAANDeVXyK%2BGGHHZbvfe97KZVKOfjgg7PllltmwYIFuf/%2B%2BzNt2rR86lOfSpI8%2BeST6devX%2BGBAQAAYGNUccE%2B99xz8%2Bqrr%2Baqq67KlClTWpaXy%2BUcfPDB%2BeIXv5gk%2BdCHPpQRI0YUlxQAAAA2YhUX7IaGhnznO9/JM888k1/96ld54403ssUWW2TPPffMwIEDW7YbOXJkoUEBAABgY1ZxwV5l4MCBrQo1AAAA1LJ1LthJ8uabb2b58uWrLd9qq63WZ7cAAADQ5qxTwb7mmmtyww03ZOHChWtc/9RTT61XKAAAAGhrKn5M11133ZWrrroqxx13XMrlck455ZSMGzcuvXv3zvbbb5%2Bvfe1rGyInAAAAbNQqLtg33nhjPve5z%2BWMM85IkowePTrnnntuHnjggWy22WZZsmRJ4SEBAABgY1dxwX7hhRey2267pUOHdz%2B1sbExSdKpU6eMGzcu//mf/1lsQgAAAGgDKi7YHTu%2Be9l2qVRKly5d8sorr7Ss69GjR1599dXi0gEAAEAbUXHB3m677VpK9K677po77rgjTU1NaW5uzh133JE%2BffoUHhIAAAA2dhUX7JEjR2b27NlJklNPPTUPP/xw9thjj%2By1116ZOXNmxo0bV3hIAAAA2NhV/Jius88%2Bu%2BX9j3zkI7npppty3333pVQqZf/998/ee%2B9daEAAAABoCyoq2O%2B8805%2B%2BMMfZtiwYenfv3%2BSZNiwYRk2bNgGCQcAAABtRUWniDc0NOTiiy/OwoULN1QeAAAAaJMqvgZ72223zYIFCzZEFgAAAGizKi7YJ554YqZNm5alS5duiDwAAADQJlV8k7MXXnghCxcuzKhRo/KRj3wkvXr1SqlUallfKpVy/vnnFxoSAAAANnYVF%2Bzrr7%2B%2B5f2ZM2eutl7BBgAAoBZVXLCffPLJDZEDAAAA2rSKC3ZdXd2GyAEAAABtWsUFe5WHH344s2fPzqJFi3Laaadl6623zpNPPpk%2Bffqke/fuRWYEAACAjV7FBXv58uU588wz84tf/CLlcjmlUinHHntstt5661xzzTXp06dPzjvvvA2RFQAAADZaFT%2Bm69vf/nYee%2ByxfOtb38qvfvWrlMvllnUjR47Mww8/XGhAAAAAaAsqPoI9c%2BbMnHXWWTnkkEPS1NTUat3WW2%2Bdv/zlL4WF%2B1t33HFHbrzxxjz//PPp0qVLhg4dmquvvnqDvR4AAACsrYoL9sKFCzNgwIA1rqurq8vy5cvXO9SaTJw4Mdddd11OO%2B20DB06NG%2B%2B%2BWYeeuihDfJaAAAAUKmKC/ZWW22VOXPmZK%2B99lpt3TPPPJNtttmmkGB/be7cuZkyZUquueaajBw5smX5QQcdVPhrAQAAwLqo%2BBrsgw46KFOmTMnTTz/dsqxUKuXll1/ODTfckNGjRxcaMElmzJiRbbfdtlW5BgAAgI1JxQV7/Pjx6dGjR44%2B%2Bugce%2ByxKZVK%2BfKXv5wxY8akW7duOfXUUwsP%2Bdhjj2XAgAGZPHlyRowYkV133TUnnHBCnnrqqcJfCwAAANZFqfzXtwFfS8uWLct1112XWbNmZcGCBenevXv233//nHzyyencuXPhIUePHp3XXnstW221VSZMmJD6%2BvpMmjQpL730Uv7rv/4rXbt2Xed9L178dpqamgtMy8aurq5DunbtZPY1xtxrl9nXJnOvXWZfm7p165Ry%2Bd3/t4cNoXv3teu561Sw328f/ehH88ILL%2BTee%2B/NzjvvnCR57bXXcuCBB%2Bass87KKaecUuWEAABANZXL5ZRKpWrHoMZVfJOzK6%2B8MkceeWT69eu3IfKsUbdu3bLlllu2lOsk6d27d/r165c5c%2Bas1779drP2%2BM12bTL32mX2tcnca5fZ16b/PYK9rNpRaKfW9gh2xQX7%2Buuvz/e///0MHTo0Rx11VA455JB06dKl4oCV6N%2B//xqfr10ul9OhQ8WXkbfS1NScxkY/fGuR2dcmc69dZl%2BbzL12mX1tWXVOrplTbRW304ceeigXXnhh3nnnnVx00UXZZ599ct555%2BWXv/zlhsiXJNl///2zYMGC/PGPf2xZ9uqrr%2Ba5557LwIEDN9jrAgAAwNpar2uwn3nmmcyYMSP33ntvFi5cmL59%2B%2BbII4/MmWeeWWTGNDU15ZhjjsnSpUtz9tlnp6GhIZMnT87ChQvzwAMPZLPNNlvnfS9atNRvumpMx44d0r17Z7OvMeZeu8y%2BNpl77TL72tSjx7un777%2B%2BtIqJ6G96tVr87XarpCbnDU1NeUnP/lJLr300rz66qsb5PFZCxcuzGWXXZZZs2alsbExe%2B65Zy644IL1vhbcD9/a4z%2B8tcnca5fZ1yZzr11mX5sUbDa0tS3YFV%2BD/bf%2B/Oc/Z8aMGbn77rvzyiuvpHfv3uu7yzXq2bNnvvnNb26QfQMAAMD6WqeC/fbbb%2BeBBx7IjBkz8utf/zodO3bMAQcckIsvvjj77LNP0RkBAABgo1dxwb7wwgvzwAMPZNmyZRk0aFAuvPDCHH744dliiy02RD4AAABoEyou2D/5yU9y5JFH5qijjsqgQYM2RCYAAABocyou2A899FDq6%2Bvfc/3rr7%2BelzzangAAIABJREFUHj16rFcoAAAAaGsqfg72msp1uVzOrFmz8vnPfz777rtvIcEAAACgLVmvu4jPmzcvP/jBD3LXXXdl/vz5qa%2Bvz%2BjRo4vKBgAAAG1GxQV7xYoVmTlzZn7wgx/k17/%2BdcrlckqlUj796U/n1FNPTffu3TdETgAAANiorXXBfvzxx3PnnXfm/vvvz9KlS9OpU6d84hOfyOjRo/O5z30uo0aNUq4BAACoWWtVsA8//PDMmTMnSbLbbrvlqKOOyqGHHprNNtssb7311gYNCAAAAG3BWhXsZ599NqVSKfvtt1/OPffc7LTTThs6FwAAALQpa3UX8QsvvDADBw7MT3/60xx%2B%2BOE57rjjcscdd2TJkiUbOh8AAAC0CWtVsMeOHZu77747d9xxR4499tg899xzueiii7LPPvvkoosuSqlUSqlU2tBZAQAAYKNVKpfL5Uo/aU13Et9%2B%2B%2B1z3HHH5ROf%2BESbutnZokVL09jYXO0YvI86duyQ7t07m32NMffaZfa1ydxrl9nXph49OidJXn99aZWT0F716rX5Wm23TgX7r82bNy933nln7r777rz22mvZZJNN8thjj63PLt9XfvjWHv/hrU3mXrvMvjaZe%2B0y%2B9qkYLOhrW3BXqtTxP%2Be7bbbLhMmTMhPf/rTTJkyJfvss8/67hIAAADanLV%2BDvY/0qFDhxxwwAE54IADitolAAAAtBnrfQQbAAAAULABAACgEAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAArTJgr106dLsu%2B%2B%2BGThwYJ544olqxwEAAIC2WbCvuuqqNDU1VTsGAAAAtGhzBXvu3Lm55ZZb8vnPf77aUQAAAKBFmyvYl156aY4//vjsuOOO1Y4CAAAALdpUwX7ggQfy9NNP58wzz6x2FAAAAGilY7UDrK233347V1xxRSZMmJAuXboUtt%2B6ujb1OwYKsGrmZl9bzL12mX1tMvfaZfa1qVRKyuWkY0dzp7raTMGeMmVKevbsmSOPPLLQ/Xbt2qnQ/dF2mH1tMvfaZfa1ydxrl9nXnnK5nO7dO1c7BjWuTRTsl156Kddee20mT56cJUuWJEmWLVvW8u%2BlS5emc%2Bd1%2B8u0ePHbaWpqLiwrG7%2B6ug7p2rWT2dcYc69dZl%2BbzL12mX1t6tatU8rlZPHiZdWOQju1tr%2B8aRMF%2B8UXX8zKlStz6qmnrrZu7NixGTp0aG6//fZ12ndTU3MaG/3wrUVmX5vMvXaZfW0y99pl9rWlXH7332ZOtbWJgj1o0KDccMMNrZY99dRTufzyy/O1r30tQ4YMqVIyAAAAeFebKNhdu3bN8OHD17hu8ODBGTx48PucCAAAAFpzmz0AAAAoQJs4gr0mw4cPzzPPPFPtGAAAAJDEEWwAAAAohIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAdqx1gbcycOTP33HNPnnzyybz55pvZdttt88lPfjLHH398OnTwOwIAAACqr00U7OnTp6dPnz750pe%2BlJ49e2b27Nm59NJL8%2Bc//znnnXdeteMBAABA2yjYV199dXr06NHy8V577ZVly5bl5ptvzjnnnJOGhoYqpgMAAIA2cg32X5frVQYNGpQVK1bkjTfeqEIiAAAAaK1NFOw1efTRR7PFFlukZ8%2Be1Y4CAAAAbeMU8b/1xBNPZMaMGTnzzDNTV1e3Xvuqq2uzv2NgHa2audnXFnOvXWZfm8y9dpl9bSqVknI56djR3KmuUrlcLlc7RCXmz5%2BfY489NltttVVuvPHG1NfXVzsSAABQZeVyOaVSqdoxqHFtqmC/9dZbOfHEE7NixYrccsst6d69%2B3rvc/Hit9PU1FxAOtqKuroO6dq1k9nXGHOvXWZfm8y9dpl9berWrVPK5Xf/3x42hO7dO6/Vdm3mFPEVK1bk9NNPz4IFC3LbbbcVUq6TpKmpOY2NfvjWIrOvTeZeu8y%2BNpl77TL72rLqkKGZU21tomA3Njbm7LPPztNPP52bbropffv2rXYkAAAAaKVNFOyvf/3r%2BZ//%2BZ/867/%2Ba5YvX57f/e53Let22mmndOnSpYrpAAAAoI0U7J/97GdJkn//939fbd0NN9yQ4cOHv9%2BRAAAAoJU2UbB/8pOfVDsCAAAA/F0eFAcAAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFKDNFOznn38%2B48aNy2677ZYRI0bkkksuyfLly6sdCwAAAJIkHasdYG0sXrw4J510Uvr06ZPvfve7ef3113P55ZfnjTfeyJVXXlnteAAAANA2CvZ//ud/ZvHixbn77rvTo0ePJEldXV3OPffcnH766enfv3%2BVEwIAAFDr2sQp4g8%2B%2BGBGjBjRUq6TZPTo0WloaMisWbOqmAwAAADe1SYK9ty5c1c7St3Q0JDtttsuc%2BfOrVIqAAAA%2BF9t4hTxxYsXp2vXrqst79q1a95888312ne3bp1SLq/XLmhjSqV3/232tcXca5fZ1yZzr11mX5s6dCilubmcjh3bxPFD2rE2UbDfS7lcTmnVT9F11KGDv4S1yuxrk7nXLrOvTeZeu8y%2B9tTVldK9e%2Bdqx6DGtYmfPF27ds3ixYtXW/7WW2%2Bt8cg2AAAAvN/aRMHu37//atdav/POO5k3b547iAMAALBRaBMFe999980jjzySRYsWtSz70Y9%2BlHfeeSf77bdfFZMBAADAu0rl8sZ/%2B4fFixdnzJgx6du3b84444wsXLgwV1xxRUaOHJkrr7yy2vEAAACgbRTsJHn%2B%2BedzySWX5NFHH82mm26aMWPG5Nxzz82mm25a7WgAAADQdgo2AAAAbMzaxDXYAAAAsLFTsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAApQcwX7%2Beefz7hx47LbbrtlxIgRueSSS7J8%2BfJqx6JgL7zwQr7yla/kiCOOyC677JIxY8ascbtZs2bl4x//eIYMGZKDDjooN9988/uclCLNnDkzZ5xxRvbbb7/stttuOfzww3PLLbekubm51Xbm3r489NBDOeGEE7LXXntl1113zYEHHpjLL788b731VqvtzL19W7p0afbdd98MHDgwTzzxRKt1Zt%2B%2BzJgxIwMHDlzt7corr2y1nbm3X3fccUc%2B9rGPZciQIRkxYkROO%2B20VuvNnmrqWO0A76fFixfnpJNOSp8%2BffLd7343r7/%2Bei6//PK88cYbq/1Qpm179tlnM2vWrAwdOjTNzc1Z0%2BPef/vb3%2BaMM87IEUcckfPPPz%2B/%2Bc1vcskll6ShoSHHHHNMFVKzvqZPn54%2BffrkS1/6Unr27JnZs2fn0ksvzZ///Oecd955Scy9PXrzzTczbNiwnHTSSenatWueffbZTJw4Mc8%2B%2B2yuvfbaJOZeC6666qo0NTWtttzs269p06Zl8803b/l4q622annf3NuviRMn5rrrrstpp52WoUOH5s0338xDDz3Ust7sqbpyDZk6dWp56NCh5YULF7Ys%2B%2BEPf1geMGBAec6cOVVMRtGamppa3j/vvPPKhx122GrbjBs3rnz00Ue3WvblL3%2B5vPfee7f6fNqOv/67vcpll11WHjJkSHnFihXlctnca8Vtt91WHjBgQPmVV14pl8vm3t7NmTOnvNtuu5VvvfXW8oABA8qPP/54yzqzb39%2B8IMflAcMGLDGn/mrmHv7NGfOnPKgQYPKDz300HtuY/ZUW02dIv7ggw9mxIgR6dGjR8uy0aNHp6GhIbNmzapiMorWocPf/9Z%2B55138sgjj%2BSwww5rtfzwww/P/Pnz84c//GFDxmMD%2Beu/26sMGjQoK1asyBtvvGHuNWSLLbZIkjQ2Npp7Dbj00ktz/PHHZ8cdd2y13Oxrk7m3XzNmzMi2226bkSNHrnG92bMxqKmCPXfu3PTv37/VsoaGhmy33XaZO3dulVJRDfPmzcvKlSvTr1%2B/Vst32mmnJPH90I48%2Buij2WKLLdKzZ09zb%2BeampqyYsWKPPnkk5k8eXIOOOCA9O3b19zbuQceeCBPP/10zjzzzNXWmX37NmbMmAwaNCgHHnhgpk6d2nKJgLm3X4899lgGDBiQyZMnZ8SIEdl1111zwgkn5Kmnnkpi9mwcau4a7K5du662vGvXrnnzzTerkIhqWTXvv/1%2BWPWx74f24YknnsiMGTNy5plnpq6uztzbuQMOOCCvvvpqkmSfffbJt771rST%2Bvrdnb7/9dq644opMmDAhXbp0WW292bdPvXr1yuc///kMHTo0pVIpP/nJT/Ltb387r776ar7yla%2BYezs2f/78PPnkk3n22Wfzta99LfX19Zk0aVJOPvnk/Nd//ZfZs1GoqYL9XsrlckqlUrVjUAXvNXffD23f/Pnzc9ZZZ2XIkCE55ZRTWq0z9/bpmmuuybJlyzJnzpxcddVVOe200zJ9%2BvSW9ebe/kyZMiU9e/bMkUce%2BXe3M/v2ZZ999sk%2B%2B%2BzT8vHIkSOzySab5Prrr291N2lzb3/K5XKWLVuWiRMnZuedd06SDB48OAceeGBuu%2B227L777knMnuqqqVPEu3btmsWLF6%2B2/K233lrjkW3ar27duiVZ/TeZq74/fD%2B0bW%2B99VZOOeWUbLrpppkyZUrq6%2BuTmHt798EPfjC77757jj322EyaNCmzZ8/Oj370I3Nvp1566aVce%2B21Oeuss7JkyZIsXrw4y5YtS5IsW7YsS5cuNfsacsghh6SpqSlPPfWUubdj3bp1y5ZbbtlSrpOkd%2B/e6devX%2BbMmWP2bBRqqmD3799/tWsv3nnnncybN2%2B1a7Np37bbbrvU19fnueeea7V8zpw5SeL7oQ1bsWJFTj/99CxYsCDTpk1L9%2B7dW9aZe%2B0YNGhQ6urqMm/ePHNvp1588cWsXLkyp556avbcc8/sueeeLUcvx44dm5NPPtnsa5S5t1/vNbtyuZwOHTqYPRuFmirY%2B%2B67bx555JEsWrSoZdmPfvSjvPPOO9lvv/2qmIz3W0NDQ/baa6/MnDmz1fJ77703vXr1yi677FKlZKyPxsbGnH322Xn66aczbdq09O3bt9V6c68dv/3tb9PU1JRtttnG3NupQYMG5YYbbmj1dsEFFyRJvva1r%2BWrX/2q2deQ%2B%2B%2B/P3V1ddlll13MvR3bf//9s2DBgvzxj39sWfbqq6/mueeey8CBA82ejULdxRdffHG1Q7xfdt555/zgBz/IQw89lK222iq//e1vc9lll%2BWggw7K8ccfX%2B14FOjtt9/Of//3f2fOnDn5%2Bc9/ngULFuQDH/hA5syZkx49eqRTp07Zdtttc/XVV%2Bfll19O586dc88992T69Om54IILsuuuu1b7j8A6uPjii3Pvvffm7LPPTu/evfPKK6%2B0vHXp0iUNDQ3m3g6NHz8%2B8%2BbNy1tvvZVXXnklP/7xj3PZZZdl2223zfnnn5%2B6ujpzb4c22WSTbLPNNq3eVqxYkbvuuivjx49vmavZtz/jxo3La6%2B9liVLluSFF17Itddem5tvvjknnnhiDj744CTm3l7tuOOO%2BelPf5r/%2B3//b3r27JkXXnghX/3qV5Mkl19%2Beerr682eqiuVy%2BVytUO8n55//vlccsklefTRR7PppptmzJgxOffcc7PppptWOxoFevHFF3PggQeucd0NN9yQ4cOHJ0lmzZqVb33rW5k7d24%2B8IEP5OSTT86nPvWp9zMqBRo1alReeumlNa4z9/brmmuuyf3335958%2BalXC6nb9%2B%2BOeiggzJu3LhWd5Y29/Zv9uzZGTt2bO68884MGTKkZbnZty%2BXXHJJHnroobzyyitpbm7ODjvskGOOOSYnnnhiq5tYmXv7tHDhwlx22WWZNWtWGhsbs%2Beee%2BaCCy5o9Wgus6eaaq5gAwAAwIZQU9dgAwAAwIaiYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUboEpmzJiRgQMHtrztsssuGTlyZM4555z86U9/qnquF198sWoZ3g8nnnhiTjzxxGrHeN9NnDgxAwcObLXsb78Wb7/9diZOnJjZs2e/3/EAoE3rWO0AALXu8ssvT79%2B/bJixYr85je/ydVXX53Zs2dn5syZ6datW7XjtVtf/epXqx1ho/G3X4u33347kyZNyvjx4zN8%2BPAqpQKAtkfBBqiynXfeOUOGDEmSDB8%2BPE1NTZk4cWJ%2B/OMf56ijjqpyuvZrp512qnaEjYavBQAUwyniABuZVWV74cKFq627//77c9xxx2W33XbLsGHDMm7cuPzhD39otc0TTzyRc845J6NGjcqHPvShjBo1KhMmTMhLL7202v5%2B97vf5fjjj8%2BQIUMycuTIfPOb30xjY%2BNa5Tz//PMzbNiwzJ07N%2BPGjctuu%2B2WkSNH5pprrmnZ9yc/%2BcnstttuGT16dO66665Wn//666/n4osvzqGHHpphw4ZlxIgRGTt2bH7961%2B32u7FF1/MwIED873vfS9TpkzJ/vvvnyFDhuTII4/Mww8/3GrbVac//%2BEPf8j48eOz%2B%2B6758Mf/nDOPffcvP766622/dvTole9zve///1Mnz49o0aNyrBhw3Lcccfld7/73Wp//ttvvz2jR4/OrrvumkMPPTT33HNPzj///IwaNeoffu1WrlyZf/u3f8vee%2B%2BdoUOH5pOf/GQef/zxjBo1Kueff/5qf56/tabT%2BO%2B///585jOfyciRI/OhD30ohxxySK688sosW7bsH%2Bb566/Fiy%2B%2BmBEjRiRJJk2a1HIJw/nnn59f//rXGThwYO69997V9nH33Xdn4MCBefzxx//h6wFAe%2BUINsBGZlVp2mGHHVotv/rqq/Ptb387Rx55ZE4//fSsXLky3//%2B9/OpT30qd9xxR8tRyJdeeik77rhjDjvssHTr1i3z58/PrbfemqOPPjr33XdfevTokSSZM2dOPv3pT6dv37654oorsummm%2BaWW25ZY3l6LytXrsznP//5HH/88Rk3blzuueeefPOb38ySJUvy//7f/8spp5ySD3zgA7npppty/vnnZ%2Bedd86uu%2B6aJHnjjTeSJOPHj8%2BWW26ZZcuW5Uc/%2BlFOPPHEXHfddaudmnzzzTenT58%2BufDCC9Pc3Jxp06bllFNOyY033phhw4a12nb8%2BPE5%2BOCDc/zxx2fOnDn5zne%2Bk7lz5%2Bb2229PfX393/0z3XzzzenXr18uvPDCJMl3vvOdnHrqqfnv//7vbL755kmS2267LV/5ylcyevToXHDBBXnrrbcyadKkrFy5cq2%2BbhdddFHuvvvufOYzn8nee%2B%2BdZ599NuPHj8/SpUvX6vPX5E9/%2BlP23XffnHTSSenUqVOee%2B65fO9738vjjz%2BeG264Ya3307t370ybNi2f/exnc/TRR%2BeYY45JkvTo0SPbbbdddtlll9x8880ZM2ZMq8%2B76aabMmTIkHzoQx9a5z8DALR1CjZAlTU3N6exsbHlGuwpU6Zkzz33bHUk9OWXX87EiRNzwgkn5Mtf/nLL8o985CMZPXp0Jk2alG9/%2B9tJkoMPPjgHH3xwyzZNTU3Zf//9s/fee%2Bfee%2B/N2LFjkySTJ09OuVzO9ddfny233DJJsv/%2B%2B69WnP6elStX5gtf%2BEI%2B%2BtGPJkn%2B6Z/%2BKT/96U8zderU3HXXXdlll12SJLvuums%2B8pGP5N57720p2P369cvFF1/cKufIkSPz0ksv5cYbb1ytYDc1NWX69OnZZJNNkiQjR47MgQcemO9%2B97uZPn16q20POuigfOlLX2rZrmfPnjn33HMzc%2BbMfOxjH/u7f6bOnTtn6tSpqaurS/Ju4TzmmGPy4IMP5rDDDktzc3MmTpyYoUOH5rvf/W7L5334wx/ORz/60fTu3fvv7n/u3Lm566678ulPf7ol4957792ScV2dccYZLe%2BXy%2BXsvvvu6d%2B/f0444YQ8/fTT%2BeAHP7hW%2B2loaMjgwYOTJB/4wAey2267tVp/4okn5oILLshTTz2VQYMGJUkef/zxPPHEE/nGN76xzvkBoD1wijhAlR177LEZPHhwdt9993z2s59N165dc9VVV6Vjx//9HejPfvazNDY25ogjjkhjY2PL2yabbJI999wzv/zlL1u2Xbp0af793/89Bx10UHbZZZfssssuGTZsWJYtW5a5c%2Be2bDd79uyMGDGipVwnSV1dXQ499NC1zl4qlbLffvu1fNyxY8dsv/326dWrV0u5TpItttgiPXr0yF/%2B8pdWn3/rrbfmE5/4RIYMGZJddtklgwcPzsMPP9wq5yof/ehHW8p1knTp0iUHHHBAfvWrX6WpqanVtocffnirjw855JB07Nhxre6Kvf/%2B%2B7eU6yQtxXTVKfbPP/985s%2Bfn0MOOaTV5/Xp02e1I%2BlrsirDe2VcV3/%2B85/zxS9%2BMXvvvXcGDRqUwYMH54QTTkiSPPfcc%2Bu83781ZsyY9OzZMzfffHPLsptuuik9evSo6HsHANojR7ABquwb3/hG%2Bvfvn6VLl%2Bb%2B%2B%2B/PbbfdlgkTJmTatGkt2yxYsCBJcvTRR69xHx06/O/vS7/4xS/mkUceyRlnnJEhQ4akc%2BfOKZVKOfXUU7NixYqW7d54441W5XqVNS17L506dWpVepOkvr4%2BW2yxxWrbNjQ0tHr96dOn54orrsjxxx%2Bfs88%2BO927d0%2BHDh3yne98Z42F8L2yrly5MsuWLWs5fTtJevXq1Wq7jh07Zosttmg5Lf3v%2BdvsDQ0NSdKSfdGiRUmSnj17rjHPmq51/2urMrxXxnWxdOnS/Mu//Es22WSTfOELX8gOO%2ByQTTfdNK%2B88krGjx%2Bf5cuXr9N%2B16ShoSHHHXdcpk%2Bfni996UtpbGzMzJkzc/LJJ7d8rQCgVinYAFXWv///b%2B/uQprq4ziAf80Vzg6e7WIFbjcx7OWiImpbeaFmgXcJFVRIyBCmw7kuYgkFs2GioGJ7YSTDLKIQXEgNWhRld0Y3XtTFQrCwZpBd5EtI4rbnQnbwPNvqaRzTp74f2MX577dzfv%2Bzq9/5vxyjtLHZ4cOHkUwmMTw8jMePH0tTvbVaLQDA5/OhtLQ057nm5%2Bfx4sULOBwO2Gw2qX1paQmzs7OyWI1GIxXuq2VrWwsPHz6E2WyGx%2BORtedah5wr182bN6O4uFjWPjMzg%2B3bt0vHy8vL%2BPr1a94F7Grp/yLbJnT/5d6lc8iV42rphxdLS0uy4jVd5Ke9fPkSnz9/xp07d2A2m6X2%2Bfn5n%2BaTj3PnziEUCuH%2B/fv4/v07EokEzp49uybXIiIi%2Bj/hFHEiog3G5XJBFEX4fD4kk0npHSOaAAAEaklEQVQAK%2BuIVSoVpqamsHfv3qwfYGXKdiqVyhhJHB4ezphGbbFYMDY2JisKE4kEHj16tMY9hJTrv/OMxWJZd%2BwGgCdPnshGwBcWFjA6OopDhw7JpnQDQCQSkR1Ho1EsLy/Lis987dixAzqdDtFoVNY%2BPT2N8fHxn/4%2BvbY8V46r6fV6ACv3ZbXR0VHZcUFBAQBk3M%2BhoaGf5pNN%2Bjy5Rr63bduGmpoa3Lt3D0NDQzh69OgPH/wQERH9LTiCTUS0wYiiCJvNhu7ubkQiEdTW1sJgMMDpdOL69ev48OEDKioqUFJSgi9fvuD169dQq9VwOp0QBAEmkwkDAwPQarXQ6/V49eoVwuEwSkpKZNex2%2B14/vw56uvr0dzcjKKiIty9exeLi4u/pZ9VVVUIBoPw%2BXwwmUx49%2B4dgsEgDAZDxsMAYGV9uNVqhdVqRTKZRCgUwsLCAlpaWjJinz59isLCQmmHbq/Xi927d2esm87Hpk2b0NLSArfbDafTiVOnTmFubg6BQAA6nU4qdnMxGo04ceIEbt%2B%2BDZVKhfLyckxMTGBgYACCIMhiKysrodFocOXKFVy4cAGFhYUYGRnBp0%2BfZHEHDhyAKIpoa2uDw%2BGASqVCJBLB27dv8%2BqjIAjQ6/V49uwZjhw5AlEUodVqYTAYpJj6%2Bnpph/HOzs68rkNERPSn4Qg2EdEGdP78eZSWliIYDErFZmNjI7xeL96/f4/W1lY0NDSgp6cH8XgcJpNJ%2Bm1vby8sFgu6u7vhcDjw5s0bDA4OytYoA8DOnTsxODgIQRDQ2toKt9uNXbt2yXajXktNTU2wWq0Ih8NobGxEOBzG1atXcfDgwazxdXV1KC8vx7Vr13Dx4kUkEgn09/dnjff7/ZicnITD4YDP50N1dTVu3ryp2BrhM2fOoL29HbFYDM3NzQgEArDZbNizZ0/Gg4xsOjo6YLVaMTIyArvdjmg0Cr/fD1EUZXGCICAUCmHr1q1wuVxoa2tDWVkZmpqaZHFarRb9/f1Qq9VwuVy4fPkyiouL0dfXl3cfOzo6oFarYbfbcfr0aQQCAdn3%2B/btg16vh9FolN6bTURE9LcrSKVSqfVOgoiIKJePHz/i2LFjuHTpEhoaGn4Y6/f7EQgEMDY2Jr3v%2B3eZm5tDTU0Njh8/jvb29rzOUV1dDbPZjK6uLoWzU14sFkNtbS3cbjfq6urWOx0iIqINgVPEiYiIftHMzAxu3LgBi8UCjUaD6elp3Lp1C9%2B%2BfZPeM/6nmpqaQjweR19fH3Q6HU6ePLneKREREW0YLLCJiIh%2B0ZYtWxCPx%2BHxeDA7O4uioiLs378fHo8HZWVl653emgoGg3jw4AGMRiO8Xi/UavV6p0RERLRhcIo4ERERERERkQK4yRkRERERERGRAlhgExERERERESmABTYRERERERGRAlhgExERERERESmABTYRERERERGRAlhgExERERERESmABTYRERERERGRAlhgExERERERESmABTYRERERERGRAv4BwETIK5T8Tx4AAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd1gUV9sG8HtBECmKFbsYDUZjjb2hxtgCNuyJ0cSS15hYYvQ1thg1xhZj7IlGYu%2BxYjTGEiP2LlZEEUEUVECBFVhgvz/49jjDtgEXdvfN/bsuLxd2GQ5nd2bOc8pzVFqtVgsiIiIiIiIiei0O1i4AERERERER0f8CBthEREREREREFsAAm4iIiIiIiMgCGGATERERERERWQADbCIiIiIiIiILYIBNREREREREZAEMsImIiIiIiIgsgAE2ERERERERkQUwwCYiIiIiIiKyAAbYNmbBggWoVq0aqlWrhkmTJlm7OGRB6enp4r2tVq0aHj9%2BbO0ikRVERESIz0CNGjWMvo7XAiLSGTlypLgerFq1ytrFoTw0Z84c8V5Pnz7d6OsaN24sXhcSEpKPJfzflZycLGunxcXFGXzd%2BvXrxWv%2B85//5HMp7dO/7RpWIC8O%2BvXXX2Pnzp1Gn3dycoK7uztKly6Nt99%2BG%2B%2B99x58fX3h6OiYF8UhIiLKN2PHjsXevXvF17169cJ3331nxRIRERFRfrHKCLZGo0F8fDxu3ryJ7du3Y9iwYfD398fVq1etURwiIrvEWRG2JykpCYcOHZJ9b//%2B/UhJSbFSiYiIyBo4y8A2WON9yJMRbKkiRYqgVq1asu%2BlpaUhJiYGERER4nv37t3DwIEDsWbNGtSuXTuvi0VERGRxBw4cwMuXL2Xf0wXd/v7%2BVioVERER5Zc8D7BNzbWPjIzEvHnz8OeffwIA1Go1Jk6ciD179sDBgcvD6X9LgQIFcPv2bWsXg%2BzEl19%2BiS%2B//NLaxaAc2rVrl3jcsmVLHD9%2BHACwc%2BdOBthERP8D%2Bvfvj/79%2B1u7GGTDrBrFVqhQAQsXLkSbNm3E9%2B7cuSMaJERERPYiMjIS58%2BfBwC4ublh9uzZcHFxAQCcPHkSMTEx1iweERER5QOrDxOrVCqMHDlS9r3Tp09bqTRERES5s2vXLmi1WgBA%2B/btUaJECdGBnJmZiT179lizeERERJQP8nyKuBLVq1eHq6sr1Go1AODhw4c5%2BvnTp0/jzz//xLlz5/DkyRMkJyejaNGiqFq1Ktq0aYOePXvC1dVV0bHu3LmD4OBgXLhwAWFhYYiNjUVqaio8PDxQunRp1K9fH126dEGdOnVyVEZd42rv3r24ffs2nj9/jpIlS6Jq1aro3r072rdvnydZ1CMiItC%2BfXsAgKOjI27cuAEga6Rly5YtOHbsGB4/fozU1FRUqFAB7du3x%2BDBg%2BHu7i47TlJSEjZv3oy//voLYWFhSEtLQ8mSJdG8eXMMHToUFStWVFQeS9avsb8tIiICmzdvRnBwMB4/foz09HSULVsWrVq1Qr9%2B/VChQgWrHDc9PR1vv/22%2BPrYsWMoXbq03usWLFiAn3/%2BGQDQs2dPzJw5EwBw/vx5bNmyBVeuXMHjx4/h4uKCihUr4t1338WAAQP03jNToqKisGnTJhw7dgzR0dEAgNKlS6NJkybo06cPqlWrBgDw9fUVo24bNmxAgwYNFP8Oc2JjY7Fp0yYcPnwYDx8%2BhFarzXUZpFmbR40aheHDh5v9/Tn5265evYqTJ0/i0qVLuHv3Lp49ewaNRoPChQujXLlyaNCgAXr27IkqVarkuB6MMfY5ALJGQz/55BO9n2nVqpXBY%2Bl%2B/sSJExg0aBAAoFChQjh%2B/Dg8PDwUlWfJkiVYvHgxAODtt9/Gjh07cvT3AEC3bt1w8%2BZNAMAXX3yBESNGKPq5lJQUNG3aVNwjlixZgnbt2um97s6dO9ixYwcuXLiAiIgIJCUlwcHBAe7u7ihTpgx8fHxQv359tGvXDp6enjkuvylarVY2PbxLly7i//379wPICsCHDh1q8jgrVqzA/PnzAQCVK1fGgQMHFJfhq6%2B%2BQlBQEACgU6dO%2BOmnn4y%2BNi0tDX/88QeOHj2K69ev49mzZ9BqtShevDjq1KmDjh07ol27dlCpVCZ/58iRI8Uyr//%2B978YPHgw0tPTcfDgQezbtw%2BhoaF48uQJXr58KZ6XevDgAf755x%2BcP38ed%2B7cwePHj5GSkgJ3d3eULFkS77zzDjp16oSmTZsqrgcg6567d%2B9eBAUF4datW0hISECxYsVQuXJldO3aFX5%2BfnB2dsb69esxY8YMAEDr1q3xyy%2B/mD22perudWk0Gvzxxx/Ys2ePuC4VLVoUNWrUQNeuXdGpUydFx8nIyMC5c%2Bdw6tQpXL16FeHh4YiPj0dmZiaKFCmCypUro3HjxujVqxe8vLwUl%2B/WrVvYsWMHLl68iMjISHE%2Benh4iPOxYcOGeO%2B991C4cGGzx4uLi8Pu3bvxzz//IDw8HHFxcXB2doaXlxcaN26Mbt265TiHT2ZmJv766y/8/fffuHz5MuLi4pCUlAQ3NzeUL18eNWvWROvWreHr64sCBQw3mZOTkxEcHIwzZ87gxo0bePDgAV68eAEnJyd4enrirbfeQosWLRAQEIBChQrlqHzWkpCQgM2bN%2BPgwYOIioqCRqOBl5cX3nnnHfTt21fUc0BAAK5fvw4AWLhwITp27Kh3rDlz5iAwMBAA8OGHH%2BKbb74x%2B/uVHFfn9u3bCA4OxsWLFxEWFoYnT56IdmWZMmVQv359dOvWDTVr1sxxPRhj6roRGhqKzp076/1Mz549DR5L9/O3b98W9w0HBwccOnQI5cqVU1SeLVu2iHotXbo0jh49muultobqXq1WY/fu3QgKCkJERASeP3%2BOEiVKoE6dOujZsydatGiRq99lzqVLlxAUFISzZ88iNjYWarVaXMdbt26NHj16GG3D5PZ9sBSbCLBVKhU8PDxE4ykxMVHRz0VFRWHKlCk4efKk3nOxsbGIjY3FyZMnsWLFCnz//ffw9fU1ebwuXboYXSMbHx8vMp%2BvX78eHTt2xKxZsxQF7jExMRg1ahQuXbok%2B/7Dhw/x8OFDHDt2DE2bNsWPP/5o9liWsHv3bkydOlUvEU9YWBjCwsIQFBSE9evXixvplStXMGLECL3pjQ8fPsTWrVuxZ88eLFq0yGjjXiev6ldqx44d%2BPbbb5Gammrwb9u0aRMmTZpk9ATL7%2BMqkZaWhlmzZmHjxo2y76empiIkJAQhISHYvHkzVq1ahTfffNPs8bZt24bvv/9enG86d%2B/exd27d7F582aMHTtWBGJ54c8//8TkyZPx4sULo2X46quv9Brj%2BS0uLg59%2BvTBgwcPDD7/7NkzPHv2DFevXsXq1avxwQcfYMKECUYbYtbWrFkzVKhQAZGRkXj58iWCgoLQr18/sz%2Bn1WplAXWPHj1y9fu7dOkiAuy9e/cqDrAPHz4sPq%2BFCxfWu9ZotVrMnTsXq1evRmZmpt7Px8XFIS4uDtevX8fOnTuxdu1a2TZalnD%2B/HlERUUBAEqVKoUmTZoAyFqHXbRoUcTHxyMsLAwhISF6iT%2BlOnfujB9//BFarRbh4eG4du2aooahWq3GkSNHZMcx5vjx45g2bRoiIyP1nouKikJUVBT27duHOnXq4KeffkLZsmXN/n6d6OhojBkzRu9%2BZ8jgwYMRHBxs8LmEhAQkJCTgzp072LJlC5o3b4758%2BejaNGiZo9r7J77%2BPFjPH78GKdOncKGDRtEh1FO5GXd5YSxvzEmJgYxMTE4evQotmzZggULFpissxs3buDTTz/FkydPDD7/5MkTPHnyBGfPnsUvv/yCUaNGYciQISbLlpGRgVmzZmH9%2BvViRoeU7rp57do17NixAxs3bsT27dtNHvO3337DkiVLkJSUJPt%2BamoqEhMTERYWho0bN6Jbt26YPn06nJ2dTR4PAM6ePYtp06YhLCxM77nnz5/j%2BfPnuH79OrZs2YJ33nkHmzZt0nvdtm3bMHPmTL32FJDVAaJWqxEdHY0jR45g6dKl%2BOGHH9CsWTOzZbOmU6dOYdy4cXqfifDwcISHh2PHjh0YOnSo1XOEaDQadO/eHXfu3DH4vK5deePGDaxbtw7%2B/v6YOXOmWLZja6pVq4a6devi8uXLyMzMxI4dOxTfI6XnT0BAgEXzWN29exdffPEF7t27J/t%2BdHQ0oqOjsX//fvj7%2B%2BP7779HwYIFLfI7k5KSMGXKFPzxxx96z0mv4z///DMmT55sk/lNbKIVqNVqZQ1tNzc3sz9z69YtDBkyRHYBcHV1RdWqVVGoUCHExsYiPDwcQNYNYvjw4ViwYIHBUQ8dafDn5OQEb29veHp6wsHBAc%2BePUN4eDgyMjIAZGWKffLkCdatW2dy5DkuLg4ff/yx7IPp7OwMHx8fFCpUCOHh4Xj69ClOnTqFzz//3KIjhIYcOXIE48ePh1arRaFCheDj44OCBQsiLCwMcXFxALJGFIYMGYJdu3bh7t27%2BOSTT5CcnAwHBwe8%2Beab8PT0xKNHj0TQkZKSglGjRiEoKAjly5c3%2Brvzon6lDh06hAkTJgDISijm4%2BMDd3d3PHjwQGxfpFarMXnyZDg4OCAgIMCqx1Vq0qRJYmpp0aJF4e3tDQcHB9y5c0ecNzExMRg6dCiCgoJMjmRv27YNkydPln2vVKlSqFSpElJSUnDnzh2kpKRgzpw5edbTfujQIXz55ZfivQaAEiVKoHLlynj58iVCQ0ORlpaGuXPnKroW5CW1Wi0Lrl1cXODt7S1GW2JjYxEREQGtVovMzEysX78e8fHxed5ZVrRoUdFjLA1QGjVqZLBhqet4UalU6NWrlyjftm3bFAXYJ0%2BeFDOLXFxcRC97Tvn5%2BWHevHnIzMxEREQErl69qmjESRoMd%2BjQQe9v/OGHH8QICZDV%2B1%2BpUiWULFkSDg4OePHiBe7fvy%2BCdEON/tcl7YDw9/cXDRwnJyd06tRJdJDt2rXLZIBdpkwZNGzYEGfPngWQ9bcrCbClnRCenp5o2bKlwdf9/vvvmDJliuz8K1myJCpUqABHR0fcv39f3FevXLmCfv36YePGjYpGUl6%2BfIkhQ4bg7t27ALKuLRUrVkRaWpq4H0vdunVLPC5QoAAqVqyIokWLwsnJCfHx8bh37x40Gg0A4MSJE%2Bjfvz%2B2b99u8toUHx%2Bvd891cnKCj48P3NzcRMd2SEgIBg8ejO7du5v9u3Tysu5yIi0tDZ9%2B%2BqmoP901XK1WIzQ0VNTZqVOnMHToUKxZs8botfTp06eydpS7uzsqVaoEDw8PpKeni0a07vfOmzcPKSkp%2BOKLL4yWb9asWVi3bp342sHBAd7e3ihRogRUKpU4H3VBqaFOMR2tVospU6Zg27Ztsu97e3ujVKlSSEtLQ2hoKNRqNbRaLXbu3Ino6GisWrUKTk5ORo%2B7e/duTJo0SdQVkNU2q1q1KgoXLozk5GSEh4eLgN7YwE9ERIQsuC5ZsiTKli0LV1dXpKSkIDw8HAkJCQCyOhaGDh2KX3/9NcczMvLL%2BfPnMWzYMNm2gp6enqhSpQo0Gg3CwsKgVquxYsUKiwVTuZWZmSkLrp2cnFC5cmUUKVIEDg4OePr0KcLDw8XnKygoCE%2BfPsVvv/2Wp4mU3dzcxP35zJkz4jNWr149g%2BehdGZj7969cfnyZQBZ95TPP//cbFlDQ0PFNscqlSrXHeCGJCQk4JNPPhEDbOXLl0fZsmWRkJCAsLAwWd0mJydj6dKlrz0b98WLF/j444/FKDogb3tHRkbi0aNHALKu92PHjkV8fDw%2B%2Bugj2XFe532wBJsIsK9fvy67QFWtWtXk6xMTEzF8%2BHBxUyhTpgzGjx%2BPdu3ayUaOwsPDMWPGDJw4cQIajQYTJkzA22%2B/bbRHuXDhwggICEC7du1Qp04dvYtzQkICNmzYgOXLl0Oj0eDChQv47bffTPbmfvfdd7Ib/YABAzBixAjRQNdNT5o6dSouXrxosBFiKZmZmRg/fjwcHR3x5Zdfon///qInLyMjA4GBgfjhhx8AZJ2wO3fuxOrVq5GcnIyuXbti3LhxKFmypDje8ePHMWrUKCQnJ%2BPly5dYvHgx5syZY/T350X9Sv%2B2SZMmAQC6d%2B%2BOcePGoXjx4uL54OBgTJ48GY8ePYJWq8W3336LBg0amJ3anlfHVerQoUNISEhA2bJlMXnyZLRp00ZcbDUaDVatWoUFCxYAAB49eoTVq1cbbfhERESIKU1A1nkzbdo0%2BPr6iqmMycnJCAwMxLJlyzB79myL34SePn2KCRMmiAZq0aJFMW3aNLRr1078rhcvXmDx4sVYu3YtZs2aZfUdBUqWLImePXuiXbt2qF69ul55YmJisGrVKqxduxZarRb79u1Du3btFE/PzI3q1atj1apVessO5s2bZ3DZgVRAQAAWLVqE9PR0XL9%2BHbdu3cJbb71l8mekveMdOnRQPK08Oy8vLzRq1Ejk2di7d6/ZADshIUHWiZB9ZDYmJgarV68WX/ft2xcjRoxAiRIlZK/TarW4efMmDhw4oGh0NSdevnwppkkD0OuA6NKliwiwg4KCMH78eJMjbJ07dxYB9h9//IHx48ebPQ/MdUIAwMWLF2UBYuPGjTF27FjZe6DVahEcHIypU6fi4cOHePz4McaNG4f169ebLUNgYCCSk5NRtWpVTJ06FY0aNRLPpaWlIT4%2BXvZ6V1dX9O3bFx07dkT9%2BvX1ypyUlITt27dj4cKFUKvVCAsLw8KFC/H1118bLUP2e27//v0xcuRIFClSRHzvwoULmDJlCu7evWt0l5Ps8rrucmLNmjWIj4%2BHl5cXZsyYIbuGx8XFYf78%2BeKcDQkJwY8//ogpU6YYPZ63tzd69eqFd999F2%2B88Ybe83fv3sXixYvFUodly5ahbdu2qF69ut5rIyMjsWHDBvH1Rx99hOHDh6NYsWKy12VmZuL69es4cOCAmNViyMqVK2XBdd%2B%2BfTFs2DCUKVNGfC8tLQ3btm3DnDlzkJqaijNnzmDx4sUYM2aMwWNeuXJFFlwXK1YMX375JTp37izrvNFqtQgJCcHu3btx5coVg8dSqVRo3LgxunbtilatWhm87pw5cwazZ8/GzZs3kZ6ejv/%2B9784dOiQ1QPU7JKTkzF27FgRXLu5uWHSpEno2rWraFur1WoEBgZi6dKlWLZsWY6WpuUFT09PBAQEoH379qhVq5be7LG4uDisX78eK1asgEajwenTp7Fhwwa9YMySypUrJ64rjRs3Fh0skyZNMtm5CgDvv/8%2BZs2ahcTERERHR%2BPEiRNGO0t1pOdHs2bNTA505dRPP/2E%2BPh4VK1aFd999x3q1asnnouOjsb06dNx9OhRAMDRo0exZs2a1579OH36dFlw3adPH4wePVp2DTl9%2BjQmT56MyMhIaLVazJo1C7Vr15YtL32d98ESrJ7kTKvVYsmSJbLvdejQweTP/PDDD2I0xdvbGzt27ECnTp30TqzKlStjxYoVogcjMTERy5YtM3rcY8eOYcKECWjQoIHBnk9PT098/vnnYn0cAKxbtw7p6ekGj3fp0iXs27dPfP3pp59i0qRJsrVGDg4O6NChAwIDA%2BHi4qLXALEk3UyBuXPnYsiQIbJpMo6Ojhg6dCi6du0qvvftt9/izp076Nu3L%2BbOnSsLroGsqY%2B6kV0AOHjwoMFpUjqWrt/sf1tCQgJ69eqF2bNny4JgAGjRogXWrVsn1l2mpqZi7ty5VjuuUgkJCShZsiQ2bdqEtm3byhppTk5OGDZsmGwEcufOnUaPNX/%2BfDHFvUiRIli7di1atWolWyfo5uaGESNGYMKECUhJSdGbRv66Fi1aJEbdXVxcEBgYiA4dOsj%2BrsKFC2PSpEn49NNP86QMOeHl5YUjR45g9OjRePvttw02kr28vDBx4kT897//Fd/77bff8rOYOVKyZEm8%2B%2B674mtzUzMTEhJw6NAh8XWvXr1e6/dLA%2BQ//vhDNhpoyIEDB0RDuHTp0mjYsKHs%2BeDgYHGNaNSoEaZNm6bXyAWyGsI1atTAmDFjZAG5JRw8eBDJyckAsmYLZA886tWrJzrdEhIScOzYMZPH69ixo7hGxsbG4syZMyZfHx8fL1sqZWiGQUZGBr7%2B%2BmtR3/7%2B/li9erVeB4dKpULLli2xadMmcb27cOEC/vrrL5NlALIa6N7e3tiwYYMsuAYg1spK7d69G9OmTUPTpk0Ndgi4u7vj448/xsqVK8W5t3XrVr1pwjrXrl0Ta9ABYMiQIZgyZYosuAaA%2BvXrY926dShXrpyie25%2B1F1OxMfHG72GFytWDDNnzkTfvn3F9zZu3ChmFWTXsGFDHDhwAEOGDDEYXANAlSpV8NNPP4lzPyMjA2vWrDH42uPHj4tRrRYtWmDy5Ml6wTWQ1fapVasWxo0bh5UrVxo81v3797Fo0SLx9bfffotp06bJgmsg67P14YcfYtmyZeJzEhgYiNjYWL1j6gYapNeULVu2oHfv3nozI1QqFWrXro0pU6YY/Xs/%2B%2BwzrF27Fj169DB63WnSpAk2btwoOjJjY2NlbUNbsWrVKjEy6OjoiKVLl6JHjx6ytrWrqyu%2B%2BOILcT48f/7cWsWFs7Mz/v77b4wfPx716tUzuDSrWLFiGDlyJL7//nvxvTVr1picNWFNhQoVkt0jzd2f09LSZMkzLb1MMT4%2BHuXLl8e6detkwTUAlC1bFkuXLkXr1q3F9xYvXiwC2dw4f/68rLN40KBBmD59ut41pEmTJtiwYYO4p2RkZGDatGm5/r15waoBdmRkJEaNGiV6P4CsG5ehXlGduLg4WRAxZ84cgxdvnQIFCmD69OnixNu7d6/Rm7PS9b4dOnQQH7THjx%2BLJFjZbdmyRTyuWLGiybUUNWrUyNM1rzpt2rSBn5%2Bf0ef79OkjHms0GhQvXlwWRGfXpUsXUW9qtVo25S87S9dvdsWLFzc5slGhQgVZxvojR44YvAHn13GV%2Bvrrr02OSg4cOFA8joqKMvi7nz17Jluf%2BcUXX5gcZf/oo48s3sOXnJysd%2BGsUaOG0dePGDHCYjMBcsvJyUnRWj4A%2BPjjj2V5C549e5aXRXstvXv3Fo/37Nmjl1tAavfu3UhLSwOQ1aGZPcDNqQ4dOoiRm6dPn5rdNUIaMEmnXuvolmkAwDvvvKOoDJZOKGkouVl20kaTqY4wQH%2Bdubn14vv37xcBQ7ly5VC/fn291xw8eBAREREAsqYUf/fddyZHVb28vGQjgIbWnxoyZcoUxQnklN4TGjRogLZt2wLIuo4Y63DYunWreFyuXDmMGjXK6DGLFy8u6xQzJb/qLie%2B%2BOILeHt7G31%2B/PjxolM8MzNTVjdShQoVUpyM7auvvhJtKWm7TUqaq8XQ59AQY%2BfjmjVrxOf6vffeM7ucpUWLFuI802g0BoOTw4cPy2YKzp49W9F9xtgUe6WfYVdXV712gi3JyMiQ1VePHj1MTmMfMGBAjpP9WppKpVK8lK1Lly6ivREZGYnQ0NC8LNprkbbDDx8%2BLJZvGqKb5QhkzQh87733LF6eiRMnGo2zHB0dMX36dDFgp1arX2u3DGmuoYoVK5pc5%2B/l5SWLT65fv27x2WmvI88D7Nu3b2Pw4MGyfwMGDECHDh3Qrl072bS65s2by6awGnLgwAHRGKxTpw7q1q1rtgzlypUTDa%2BUlBSjU31yQtpzHRISove8VquVXUB79epltqH%2BwQcf5Pl0WHO9WzVr1pSVwc/Pz2RCiIIFC4pszwD0kiDklrn6NaRr165mpysFBASIG2JGRobRRkJ%2BHFeJIkWKmMyeCWTN1JCOrBt6D06ePCkaKs7OzmbXHapUKtlF3hJOnTolRqMdHBzMNpacnZ1lgaCt043I6Cj93FpDixYtxLrQ58%2Bfmxxhkza6LNE77uHhIevxNhU8Pnr0SOwrDRhO3CWdZmksiWJeevTokegkUKlURpOtSAPvf/75x2SjKfvrDx48KDo5DJHWob%2B/v8GASdroMTRaZ8j7778vAqqLFy%2BaLAOQda9t3ry52ePmhpJ7wj///CMeBwQEmL3ntmvXzuCoY3b5UXc54eLiYnadpaurqywfiHQWSm4VLVpUNhPDUPJHaZ2b6nA3JzMzU9a5NmDAAEU/J71GGOqIkY4c16tXL1/XQksDUlu7P1y7dk3WOfLhhx%2BafL1KpcIHH3yQ18WyqNy0K63hrbfeEmXVaDQmA1bp/blr166KBwSUKlu2rGzGmyFeXl6ywD6315rMzExZ27lv375m/56OHTvKBqAOHz6cq9%2BdF/J8Dfbz58%2BNZgnV8fb2xvDhw9GlSxezPakXLlwQjxs3bqy4HD4%2BPmJN2/Xr1002AjQaDU6dOoWQkBBERkYiMTERqampssQ4ut5sAHrZtXXPS6fOmFtDAWRN3axevbps7YGlmetxLFiwIDw8PETZlXRgSBso2bNCG2KJ%2BjVESR0XKlQIDRs2FFM0Q0JCzAaSeXVcJWrWrKkoI7WXl5cYMTWUjEV6M3n77bcVraHNyfmlhLQMPj4%2BKFWqlNmf8fX1FXkBrO3ly5cIDg7G9evXER0djaSkJL2RX2mAp/Rzaw26ZGe6bZy2b99uMDC8evWq6OkvUKBAjhJCmdKlSxfRuXrw4EFMmzbN4HrEoKAgcV3w8fExuFZcmgDs6NGjmD9/Pj799NNcrxPPqd27d4vphg0bNjSa48Pb2xu1a9fG1atXodFosHfvXtnsk%2BzatGkDDw8PJCYmIjExEUePHjW4fCo6OlrWa2%2BoE0Kr1eLixYvia6XntqurK8qVK4eIiAikpqbi3r17Jtfr16tXL1dbU2VkZODs2bMICQkRiaVevnwpuyfopq4Chs%2Btp0%2Bfyl6j5G90dHRE/fr1ZR392eVX3eWEsSQ92fn6%2BoptZ6KiohAfH28yo3h8fDxOnDiBGzduICYmBsnJybIkYABkM6RiYmL0Rn%2Bl5%2BOff/6JRYsWYdCgQTleqxsaGiraE05OTopnp/j4%2BIjHhma/STvsdNtxWkpERAROnz6N0NBQxMXFITk5WbYERjotOTY2FlqtNs%2B3clNKlyQLyGrTKfmsmtuZJz%2BlpaXJ2pW6%2B7P0GiKduWDL92cgqyNP955s374dH3/8sd5rHuO1epwAACAASURBVD58iFOnTomvX3f5liHNmjVT9Blt2bKl6BC7fv16rj7bd%2B7ckS0JVPL5UqlUaNWqlZgxbIkBVEuxiSRnUVFRCAsLU/RmSDMGHj58WPH0YWnAZmzNVXp6OlavXo2VK1fmaA2BoYBG2rPr4OCgeH/cqlWr5mmAbWo6vY6Li4sIsJW%2BXkeaeTI7S9avIUq2qAKy6lgXCEs/F/l9XCWUjK4A8vfA0Dp4acOzcuXKio5ZoUIFODk56TWwckt6Tiit0zfeeAOOjo5m1%2BnmpZSUFCxZsgQbNmzI0XpwpZ9ba%2BnRoweWLFmC9PR0nD59GpGRkXp7uUt7x9u0aaP482iOr68vihQpgufPnyM5ORlHjhwxmBROOoJlbNupxo0bo0aNGuJesGLFCqxduxbNmjVD06ZNUa9ePdSoUcPi08J1pNPDTW2NpXte12jatWuXyQDb2dkZ7du3x%2B%2B//w4gqy4MBdjSToi33nrL4Ln15MkT2TV34cKFireqefr0qXhsbr1y9s%2BPOVqtFlu3bsXixYuNbhNliKFlXrpM1zrG1hNnZ%2B51%2BVV3OZGTe5LUgwcPDAbYcXFxmDdvHvbu3Zuj672ha1yLFi1QtWpVsfXV0qVLERgYiObNm4vz0VCyyOykW2epVCoMGzZMUZmk94oXL14gPT1ddFInJSXJPmeWyhp869YtzJw5UwziKJGZmYnk5GSrJwnTyc39uVixYihWrJjZ2Th5SaPRIDAwEIGBgTlqVxpbKmor/Pz8MHv2bCQlJeHOnTu4fPmy3oDX77//Ljpt6tWrZzZBdG4o/SxIX5eUlIRnz57luL0g3frQyclJ8TVcOovW0PaJ1pLnAXajRo1k2zWkp6cjJiYGN2/eRGBgIC5cuID09HSsWLEC6enpGD9%2BvMnjSU8g3Z65OWXoxNJoNBgxYkSupvYamvolHcl1dXVVPG1D6dq13HB0dMxxI9PUNheGGNv%2BxtL1a4jSupO%2BTsmIe14dV4mc1j9g%2BD2QNoSkSfZMUalUcHd3t1jDUFonSuvUyckJbm5uFqvPnEpKSsInn3wi691XypJTQvNCqVKl0Lp1axw6dAharRa///47Ro8eLZ5/%2BfKlbDqlJXvHnZ2d0aFDB7EudO/evXoBdlhYmJhiqlKpjOaOUKlUWLx4MYYOHSqWR6SkpODIkSNimY6HhwdatGiB7t276%2B2h/TouX74sRkWcnZ3NLufw8/PDnDlzkJ6ejhs3buD27duyxkF2nTt3FgH233//jcTERL2Reen0cGMBfvaGp3QULyfMdRrlZFs9rVaLiRMnyrY3U8rQuZX9vq50BoO562F%2B1V1OKL1%2B6rYr0jXCDSWkevjwIfr376/XQaGEoffB0dERy5Ytw9ChQ0VH88uXL3Ho0CExdbRw4cJo2bIlAgICRBLa7KT1npaWZnYmpDFJSUmivrL//UoGEMw5fvw4hg8fnqvrvS3dI3Jzf9a91loBdlpaGj777LNcfTZsqe4NcXV1hb%2B/PzZv3gwgq7NbGmBnZmbKcnlYOrmZTm7av0DWuZbTAFv6GfTw8FAcr0g7Da2ZdC%2B7fB/BLlCgAMqVK4dy5cqhbdu2%2BOabb0QjKzAwEE2aNDHZADKVpVopQ9kDV65cKQv%2B3nnnHXTt2hW1atVCmTJl4ObmJpvCuGDBAvz8889Gf4e0FzgnQZKl10/YCkvXb3YqlUrRVGpAXsfmLrJ5ddz8ltt9fy25X7C0TuzlnJg1a5YsuG7VqhU6deqE6tWro3Tp0nqdZ2PHjjWbkMqW9O7dWzR6d%2B7ciREjRoib2v79%2B0XQUrp0aaMN4dzq3LmzuPb/888/eP78uSzbs7QeGzRoYHIv4fLly2P37t3YtGkTtm3bJpvpBGQFN/v378f%2B/ftRr149zJ8/3yJ7E0sbOBkZGWjXrp3Zn5Hef3bt2mWyU7lx48bw8vJCTEwM0tLS8Oeff8oaUqGhoWIKv4ODg9H135a4b2YvuyE5ySGyfft2WXBdvXp19OjRA3Xq1EHZsmXh7u6OggULiplt69evN5mjJa%2BucflVdzmh9Pqpu3/prr2G7kvjxo0TwXWBAgXQqVMntG3bFm%2B%2B%2BSa8vLxQsGBB2TUuICDA7Cy7SpUqYc%2BePdi0aRO2bt2qlxfkxYsX2LdvH/bt24dGjRoZ3F7QUrtHSOs9%2B9//uveWuLg4jBkzRhy3cOHC6NmzJ5o1awZvb28UK1YMLi4u4pqanJyseKp7frPHNuvSpUtlwXXDhg3RpUsX1KxZE6VLl9ZrV86ZMweBgYHWKGqu9OnTRwTY%2B/btw4QJE0QnZnBwsDhv3dzc8P777%2BdJGZS%2Bv9lfl5uZj5ZoI1pqxqUlWHWKuEqlwjfffIMrV66ItYvTpk3DgQMHjL6pHh4eopdj3rx5RjO25kR6erpsW52BAwdi4sSJJn9GtyWLMdJpP%2BZem5Pj2qO8qN/stFot1Gq1ohEU6bHNjXLk1XHzm3SURulosFartejn0dbOCXMN3mfPnskCgAkTJhhcByVlb%2Bdvy5YtUa5cObFnb3BwsOjglE4PDwgIsPgUa9165ejoaGg0Gvz555%2BypHZKpodLOTs7Y%2BDAgRg4cCCio6Nx9uxZnD9/HidPnhTbOgJZ2ycOGDAAu3bteq3zNC0tTewLDGQF2DndnmTv3r0YO3as0bp1cHCAn5%2BfaBTu3btXFmBLOyEaNmxodLeB7H/n6dOnTa7FzQ8rVqwQj/39/TF37lyTnzFz51b2vzExMVFvW0VDzI0s22LdKb3OaDQaWaM1%2B99y/vx5kddGpVJh2bJlZmd4KP3dLi4u%2BOSTT/DJJ58gKioK586dw9mzZ3H69GnZaPnZs2cxcOBA7Ny5U5aRW3rP8vHxsUjHZfbZCq87q2Dz5s3iflqiRAls3brVZMedLd8fbO3%2BbK7jKy0tDWvXrhVfDx06FGPHjjX5M7Zc/4bUqFEDNWvWxLVr16BWq7F//35x/Zfen/38/BRns88ppXWW/XW5WfogvT7l5L2Szl6ypba31ffBdnJywpQpU8TXDx8%2BNLmlhfSGaal1riEhIeIi6erqiq%2B%2B%2Bsrsz5jbhkk69SgtLU3x%2BrKoqChFr7MneVG/hkgb0aZI61jJFLG8Om5%2Bku4bKk30YUpkZKRFewOl567SOo2Li1M0giTt7VSybzpgvnF16tQpEYRXqlTJbHAN5O5za00ODg6ybMS6m3Z4eLis4W0uY3FuZJ/2LW1AX7x4UZxPTk5OBtcem1K2bFl069YN3333HY4cOYLff/9dbPMEZJ2r0u1AcuPQoUOvPR3tyZMnZqc3SjuRz549K5LzaLVa2RR%2BU50Q2QNNS907cysyMlKs%2BXRwcMCECRPMduCYO7eyJ5dTuqOFudfZWt0BubsnAfp/i3Tv9FatWpkNrrVarWxduVLly5dH9%2B7dMWvWLBw9ehTbtm2T/a779%2B/rbSMmLWtUVJRF8nAUKVJEdq943fdSWn%2BDBg0yOyvGlu8P0jaL0s9Xenq6bJtEY3JzfzZ3bb148aKY5VCkSBGTW/Lp2HL9GyNNlqu7P8fFxentUpRXlMYk0tepVKpctYGlP5OUlKS4w1qaP8CW2t5WD7CBrJ536fTDFStWGE2WJc2CLc2e9zqkCaB8fHwMZrOV0mq1ZjPVvfXWW7Lpckq2BMjMzMzTBGfWkhf1a4jSbReuXbsmHitJcpJXx81P0u2jrl%2B/rijBh7G9ZnNLur/99evXFU2ZVLr2WTrDQMkI/YMHD0wm5APkSZOkmXGNUavV%2Bb5NVPYpubmZJtuzZ08R3Bw9ehTPnj3Dtm3bxPPNmjVD%2BfLlX6%2BgRkiDwnPnzonGmnT02tfX97VzU9SsWRNLlixBgwYNxPdyu6ZTR5rcrFu3brh9%2B7bif127dhU/a25P7OrVq4vkNZmZmfjjjz8AZO2ooWsI69a0G1OkSBHZnsmWunfmlvSeUKZMGUVr9cztb1qiRAlZR6KS61dGRoZsZxJDbK3uAOX3JOnrChUqpJfgUvo%2BSO8RxoSGhlokOVTt2rWxfPly2bZJ2c9HaVtPrVbj8uXLr/17CxQoILuWnzt37rWOJ71HKKk/W9qjNzvdHtFAVn4jJSOIt27dUtQJL70/K%2BmUTEpKkn02DZE%2BX61aNbNTijMzM62SYVp6j87N/dnPz0/U36VLl3D37l3s3r1b1LuPj4/sPLI0abvWFOm1xtvbO1cj6tI2IqA8I7j0ddLPsdTrvg%2B5YRMBNgB89tln4vHTp09FyvXspIH4xYsXLdKglV4glGQyP3XqlNleOzc3N9mHRdcoMuXMmTNiq6X/JXlRv4YoqeM7d%2B6INYsAUL9%2BfasdNz81b95c3IDS0tLMNuoB6I0ovC5pcBMfHy/2DjZFOkJninT0Ssk1QcleidKediWf23379uX7%2Bh8HBwdZh5W5TgNDvLy8xGiSRqPB9u3bsXv3bvF8XiVPAbIaRrptdbRaLYKCgpCeno4DBw6I1yiZHq6Eg4ODbD/P17nWZh95zukIuzQZ2uHDh812CknrQDfSL%2B2EaN26tdlkXdJ75/bt2xWPJOWFnJ5bt2/fVtT5LN3WZefOnWZzYRw%2BfFjRiKwt1R2QNeJ78%2BZNs6%2BT3rvq1q2rN0sgp9craafS63J0dESbNm3E19nPx1KlSsm23NKtRX1d0n2v9%2B3b91rThnP6OVZy37WWevXqiSBEo9Eo2stY6f1Z2vElbScZc/ToUbMd8Dmt%2B2PHjlklGVuhQoXE4%2Bzbeirh5uYmy62xfft2kfgSyNvRayArLlFSb9JrTW7bv56enrJs5Eo%2BX7GxsbK2pLSdKfW670Nu2EyA3aBBAzRq1Eh8/euvvxq8Ofr6%2BopeWK1Wi6lTp752Qinpfry3b982ecFNS0vD7NmzFR1XOrXvjz/%2BMHlhyczMxMKFCxUd197kVf1mFxwcbDbD648//igelylTBk2aNLHacfNTsWLFZMHFkiVLTG5nsGHDhlxlzjalWrVqsk6nRYsWmbyJhoaGKr6BS3stL168aHJJxvPnzxUlOilZsqR4fPnyZZNlff78udXOX%2Bnon3SqVE5Ip6EtXbpUBB2enp547733Xq%2BAZkiDx6CgIJw4cUI0tt3d3WWfW0Ny0hstTZwkTaiWU3v27BFTVt3c3HKcAK5FixZijVpaWprZTjx/f3/RiLx%2B/TpCQ0NlnRBKcpF89NFHogEdFRWFJUuW5KjMliQ9tx4%2BfGhyT9rMzEzMnDlT0XGla/jN/Y1xcXGYM2eOouPaUt3p6PawN%2BbixYv4%2B%2B%2B/xdeG9rCXvg/mRlfv3r2LDRs2mC2XJc/HAQMGiMdBQUGvPesEAPr27Ss6m1%2B8eIG5c%2Bfm%2BljS%2BpPulW7Ijh07bHqGYsmSJdGsWTPx9bJly0y2rR8/fqy400M6o%2B/evXt6SSilUlNTsXz5ckXl1blx44bJzuXU1NTXep9fh7Sclrg/b9iwQdSfs7OzRfJQmaLRaLB48WKTrwkKCpLFN4auNUpJl6MFBQWJnUSMWbBggehscXV1NZrszRLvQ07ZTIANyEexY2NjZYv4dRwcHDBu3Djx9aVLlzBs2DCzoxEvX77Ejh07MGjQIL3n6tSpI5KqqdVqzJkzx%2BBNIikpCSNHjlQ8at6jRw/R%2BM3IyMDnn39ucNpLRkYGpk%2BfbtPTh15HXtWvIaNHjza4dZtWq8WiRYtk61aGDBmiOOttXh03P3311VditDMhIQEDBgzA8ePHZa9Rq9VYsmQJvvvuO7i4uMh6/Sxh6NCh4vGlS5cwffp0g2vroqOj8fnnnyted1e/fn2x9iY9PR3Tp083GBC/ePECn3/%2BuaK1WNIOv6ioKFlSJqlnz55hyJAhOdrH15KkjZeNGzfmqsPR19dXjDJIe3e7du2a51liO3fuLILHmzdvyoKX9u3bm11SMmPGDCxYsMDsrJfIyEhZg7Bhw4a5LrN0JK9NmzY5riNnZ2fZ6J25kcHy5cvLsg9PnjxZbJ9XuHBhRVuPeXt7o2/fvuLrn3/%2BGT/99JPZUcyYmBgsWrTIog3UqlWrivNVq9VixowZBkeF09LSMHHiRMXLVWrWrCnrsPnll18wc%2BZMvWmply5dwkcffYSoqChFCctsqe50/v77byxYsMDgvfT%2B/fsYPXq0eK5ixYoGt5CTXuOCg4Px559/Gvxd9%2B7dw9ChQxWN/HzzzTdYtGiRyU4TXRmlS1EMjTx169ZNdMpmZmZixIgRssSCxty6dQsTJkww2HHl5eWF/v37i683b96MuXPnmrxuPnnyBOvXr9f7vrT%2BAgMDcf/%2BfYM/f%2BjQIUydOtVsua3t008/FY/v37%2BPcePGGayXuLg4DB8%2BXHGm9ypVqsj2NJ4%2BfbrB46akpGDMmDGKtt%2BtV6%2Be2OElMTERP/zwg8HXJSYmYvjw4YpzMliatPN/27ZtuZox8fbbb4v7vPQcbNeuXZ5u7auzceNGo50ply9fxjfffCO%2Brl%2B/vtFRZCV69OghguGMjAwMHz7c6GDQr7/%2BKktE279/f6NJzizxPuSUVbOIZ9esWTPUrVtXrLVZuXIlevXqpbe2om3btvjPf/6DX375BQBw4sQJtG3bFn5%2BfmjUqBFKlSoFR0dHvHjxAuHh4bh69SqCg4OhVqvh5eWl93tdXV3Rs2dPkfRmy5YtCAsLQ8%2BePVGhQgWo1WqEhIRg69atiImJgZubG3x9fc1e6D08PDBp0iR8%2BeWXALJ6TTp37ox%2B/fqhQYMGKFiwIO7du4dt27bhxo0bKFiwIJo3by4L1v4X5FX9Sjk6OqJt27Y4ePAgAgIC0Lt3bzRt2hTu7u6IiIjAzp07ZWvt6tatiw8%2B%2BMBqx7WGSpUqYcqUKZg8eTKArCB2yJAh8PLyQqVKlZCamorQ0FCRVOzrr7/G8uXLxdeWCLT8/Pywe/duHDt2DACwadMmXLlyBb169cIbb7yB1NRUnD9/Hps2bUJiYiIaNmyI%2B/fvmw1enZycMGDAADGqc/DgQfTr1w99%2B/ZF%2BfLlkZycjEuXLmHr1q2Ii4tD06ZNERYWZvK4lSpVQqtWrURZFyxYgMuXL8Pf3x%2BlS5dGYmIizp07h%2B3bt%2BP58%2BcoXbo0qlatapFRlpzw9/fHwYMHAWQ1ulu2bIm33npLtu6tefPm%2BPDDD40ew8HBAT179tTrqc7r6WdA1oyPhg0b4uzZswDk6%2B6V9M6/ePECGzZswC%2B//IJ33nkHDRs2RLVq1VCsWDEUKFAAT58%2Bxfnz57Fjxw5xU/Xw8DBZH6boRpB1zO19bUzHjh3FdO9Lly4hPDxcb42sVOfOncW1RrrmrEOHDorPzQkTJuDGjRu4fPkytFotli9fjt27d8Pf3x%2B1a9dG0aJFodFoEB8fj9u3b%2BP8%2BfO4ePEiMjMzLbpUQKVSoX///li0aBEA4K%2B//kKvXr3Qp08fVKlSBSkpKbh58ya2bduGBw8ewMnJCX5%2BfoqmKE%2BaNAnXrl0TyRzXrl2LTZs2wcfHB25ubnj48KFYu16lShV0795dNM5N1aOt1B2Q1fF05MgR/Pzzzzhz5gx69OiBihUrQq1W48yZM9iyZYsIfhwcHDBt2jSDHVW%2Bvr7w9vYWgeHo0aPRrVs3vPvuuyhatCji4uIQHBwsptvXrl0bKSkpJmfjPX/%2BHFu3bsXy5cvRoEED1K9fH9WqVUPRokVRoEABxMbG4vz589i5c6coo6enJ/r166d3LCcnJyxevBi9evVCfHw81Go1Ro8ejVWrVqF9%2B/aoVq0a3Nzc8PLlSzx58gQ3btzAiRMnRDBlbCbZmDFjcOHCBXGtWbVqFQ4ePCi2eCpcuDCSk5Nx7949nD59GidOnIC3t7csMAeADz74AOvWrYNGo0FCQgJ69uyJDz74AA0aNICLiwuio6Nx4MABsUVpr169ZJ0KtqZx48YICAgQQcuBAwcQGhqKPn36oFq1akhPT8eVK1ewceNGPHv2TEznNTUirTNo0CDR9jh79ix69OiB/v37o3LlykhJScG1a9ewdetWPHr0CDVq1EBaWhrCwsKMHq9IkSLo2rWrmC69bt063L59Gz169BD3/MuXL2Pbtm148uQJihQpgiZNmhjtRMor/v7%2Bou176dIl%2BPr6okaNGnB3dxcdy7Vq1ZINMBrSu3dvvU6a/Lg/d%2BrUCfv378fUqVNx6NAh%2BPv7o2zZsnj%2B/Dn%2B%2Becf7NixQ3SOuri4YNq0aa/1%2BwoXLowZM2bgs88%2Bg1arxcOHD9GlSxf07t0bjRs3hru7OyIjI7Fr1y7RZgCy1qKPGDHC6HEt9T7khE0F2EDWKPZ//vMfAFkBwK5duwx%2BiMaMGQNPT0/MmzcPmZmZePnyJbZv325w1FuJr776CufPnxc3jgsXLhhMflKwYEHMnTtXcZKR999/H1FRUZg/fz6ArN60FStW6I2GOTg44JtvvkFkZOT/XIAN5F39Sn333Xe4d%2B8ewsLCsHbtWtkWDlJVqlTB8uXLFY8y59VxraFXr17QarX4/vvvReAcExMjG21wdHTEV199hX79%2BsmmIVpq%2B4Mff/wRn3zyiWjc3Lhxw%2BBFuWzZspg3b55sepQpgwcPxvHjx8Xn6vLlywYT4/j4%2BGDBggWyRFPGzJgxA7169RL1c/ToUdl%2B7jpFihTBwoULDY5y5LUOHTrAz89PTKdPSEjQW9%2BuZJSuZ8%2BeWLZsmZg1ULduXdl6qLzUuXNn2c0SyFpa0rhxY8XH0Gq1Rq8rUq6urli8eLHBzlYlpOsoXV1d0bJly1wdp2XLlnBzcxNB/65du0RnrCGdOnXCzJkz9UZNc7JG3dnZGb/99hvGjx8vOmWio6ONzs7IS0OHDsWpU6dEoqkbN24YHOUrUKAApk6ditTUVEUBdtGiRbFmzRqMHDlSnP8ajUZvem6tWrWwePFi2Sinqa1lbKnu6tati/r162P27Nm4dOmS0dlvKpUK06dPl039lXJ0dMT8%2BfPx0UcfQa1WIzMzEzt27JCNCumUK1cOP/30k8lGrFRmZibOnj2rd15n5%2BHhgaVLlxrdUq1ChQrYunUrPvvsMxFwhYSE5KqNoKN7L0eMGCEygUdGRmLp0qU5Ok6FChUwadIkfPvttwCy2ne//PKLGPyRatGiBcaNG2fTATaQtVVubGys6Ci%2Bd%2B8eZs2apfe6okWLYsGCBRg/fryi4/bs2RNHjx4V%2BU9CQ0NlI5865cqVw5IlSxR9zr7%2B%2BmtcunRJdKgY%2B7wVKlQI8%2BbNU5T3xdLq16%2BPgQMHYs2aNQCyZmpmL6OSmXr%2B/v6YM2eO6JSqUKFCvixF7NixI0qVKoU1a9bg%2BPHjerMedZycnLBo0SKLtBnatGmD2bNnY9KkSUhPT4darcbq1auxevVqg69/6623EBgYaLKD1FLvQ07YXCTQunVr2ZTHFStWGE0oMmjQIOzZswfvv/%2B%2B2R78KlWq4D//%2BY%2Bo3Ozc3d2xceNGdOnSxWiAVK9ePWzdujXHaxI//fRT/Pzzz0Yz8VauXBm//vprniYTsra8rF%2BdIkWKYMuWLQgICDCYUdLJyQl9%2BvTB1q1bc5TKP6%2BOay29e/dGUFAQBg8ejKpVq8LV1RVubm6oUqUKPvjgA%2BzcuRODBw%2BGRqORbWVlqalI7u7uWL9%2BPQYPHgwXFxe95x0dHdG%2BfXv8/vvvsuQo5jg7O2PlypXo06ePwS1/nJ2d0adPH2zZskXxPrZeXl7Ytm0bWrdubfB5BwcH%2BPr6YufOnahbt67islrajz/%2BiEWLFqFDhw4oX758rjJ4lipVSlYv%2BXk96tixo9413M/PT1FnVb9%2B/RAQEGA2YC5YsCA6d%2B6MoKAgWaKjnNBoNLLkYq1atTL4GVaiYMGCsmnie/bsMbnO39PTU2%2Btd%2BnSpXM81V3XwbB8%2BXLUrVvXZIIgJycnNGjQAFOmTJEtzbIEZ2dnrFq1Ch9%2B%2BKHRDMA1atTAmjVrcjxS4%2BXlhU2bNmHu3Llo0aIFSpYsCScnJ3h5eaFp06aYNWsWNm7ciDJlysiWl5m7LthK3QHAxx9/jCVLlhhtV1SpUkVR3dWsWRObNm0ymonY2dkZXbt2xa5du8xuQwVkTdPs3r27bM2jIS4uLujevTuCgoLMTimtWLEidu7cicmTJ5vd0cDd3R3vvfceFi5ciE6dOpl83apVqzB79mxZlvjsVCoV6tSpg2HDhhl8vl%2B/fli4cKHRe5WnpydGjRqFlStXiinNtszZ2Rm//PILRo8eLZsFpaNSqdCiRQvs2LEjR8GUSqXCwoULMWTIEIPne4ECBeDn54cdO3Yo%2BpwBWaOdmzZtgp%2Bfn8FzUaVSoWHDhnrbwuW3iRMn4tdff4W/v7/IsK0kMZuUu7u77LPfo0ePHB8jtyZOnIhp06YZPafr1KmD7du3W7SOu3Xrht9//x0tWrQw2g7QnVtbtmwx2kEnZYn3ISdU2vzKV57HUlJSxN6pur3TPDw8UKFCBfj4%2BMgSbZkTExODM2fO4PHjx3ByckLJkiVRp04dVKhQ4bXKqNVqcfHiRYSGhuLFixcoXrw43nzzTdl2FP8GlqrfiIgItG/fHkBWUHbjxg3xXFxcHM6ePYvHjx8jIyMDZcqUQbNmzRQFiXl1XHtz5coVkTSodOnSYqq0JSUlJeHkyZNiyqaXlxfq168vC5Z8fX3FCPKGDRsUre%2BJi4vDqVOn8OjRIzg6OorEc6/zPj148ADnzp3D06dP4eLiglKlSqF%2B/fo5urbYsuDgYAwePBhAViARHBxssIFlyx4%2BfIg7d%2B7g4cOHSExMhEqlgoeHBypXroxatWqZHKH8t4qLi8OFCxcQGxuLFy9ewNnZGZ6envD29tZbapCXZTh9%2BjQePnwIBwcHlCxZEjVq1BDbk%2BWljz76SIxkzJs3L0dJg2yh7nTtinv37iEuLg6enp6oXr16rrbuuXXrFi5fvoyEhAR4eHjAy8sLjRo1Mpuh3pjIyEiEhYUhOjpanI%2BFCxfGG2%2B8gZo1a%2Ba6fsLDw3Ht2jU8e/YMarUarq6u3b2pVgAAIABJREFUKFGiBKpUqYI333wzV4FseHg4QkJC8OzZM6SkpMDd3R0VK1ZEzZo1FTXeNRqN2NlGrVajWLFiKF%2B%2BPBo2bGh2CylblZKSgpMnT%2BLBgwdIT0%2BHl5cX6tWrJwv0AgICxOyQhQsXKloy8%2BLFC5w8eRLR0dHQarVimZC5ThlTHj16hDNnziA2NhZOTk4oVaoU6tSpk2dbTOa3W7duiVl3jo6OOHr0aK5nYZlj7D1NT0/HuXPnEBERgefPn6N48eKoW7dunl%2Bnnz17hrNnzyI2NhYpKSkoWrQo3njjDdSrV8/gYIqt%2BJ8JsOnfx1QgbIvHtTfffPON2C6vY8eOVsuSnZsAm3Ju5MiRYn1a7969MWPGDCuXiChvPXjwAB06dBAzBw4dOvTaHelE/ya5CbAp56ZPny6y%2BLdp0wY///xznv0uvqeWYXNTxIko7yjtTwsODpblMwgICMirIpENuH//vmzfU0MJh4jshZLrXGpqKiZMmCCC6wYNGjC4JiKbExcXJ8v9wfuzfWCATfQvsmXLFowZMwbHjh0zuv3GkiVLMGzYMJHwoXbt2rlO5ES2LyEhAZMmTRLvd7NmzWRbWhDZm4CAAKxevVosPZHKzMzEiRMn0K9fP5w/f158f/jw4flZRCIis9RqNSZPniySm/n4%2BMDX19fKpSIlbD/jAhFZTHp6Ovbt24d9%2B/bByckJ3t7eIrHP06dPER4eLhv98fT0xJw5c2w6Mzrl3I8//oiwsDAkJibixo0bSEpKApC1JGLMmDFWLh3R67l//z5mzZqFWbNmoUSJEqhQoQIKFSqEpKQk3Lt3T3zedQYNGoTmzZtbqbRERK%2BsXLkSly5dglqtxs2bN0VeKQAYO3ZsviU3o9fDAJvoX0R6YdZoNCb3r6xRowYWLFhgMsMq2adz587h4sWLet8fPXo0atWqZYUSEVmO9Dr39OlTPH361ODrChUqhM8//xxDhw7Nr6IREZkUEhIitjOTGjBggFWzoVPOMMAm%2Bhfp168f3nzzTRw/fhxXr17FgwcPEBcXB41GAw8PD5EVsm3btnj33XfZU/ov4O7ujho1amDgwIG53iKPyJYcOHAAhw8fxvnz5xEaGoqYmBgkJyejQIEC8PT0xBtvvIEmTZqgR48eKFGihLWLS0RkkKurK6pVq4a%2BffuiW7du1i4O5QCziBMRERERERFZABdWEhEREREREVkAA2wiIiIiIiIiC2CATURERERERGQBDLCJiIiIiIiILIABNhEREREREZEFMMAmIiIiIiIisgAG2EREREREREQWwACbiIiIiIiIyAIYYBMRERERERFZAANsIiIiIiIiIgtggE1ERERERERkAQywiYiIiIiIiCyAATYRERERERGRBTDAJiIiIiIiIrIABthEREREREREFsAAm4iIiIiIiMgCGGATERERERERWQADbCIiIiIiIiILYIBNREREREREZAEMsImIiIiIiIgsgAE2ERERERERkQUwwCYiIiIiIiKyAAbYRERERERERBbAAJuIiIiIiIjIAhhgExEREREREVkAA2wiIiIiIiIiC2CATURERERERGQBDLCJiIiIiIiILIABNhEREREREZEFMMAmIiIiIiIisgAG2EREREREREQWwACbiIiIiIiIyAIYYBMRERERERFZAANsIiIiIiIiIgtggE1ERERERERkAQywiYiIiIiIiCyAATYRERERERGRBTDAJiIiIiIiIrIABthEREREREREFsAAm4iIiIiIiMgCGGATERERERERWQADbCIiIiIiIiILYIBNREREREREZAEMsImIiIiIiIgsgAE2ERERERERkQUUsHYBrEmr1SIuLhmZmVprF4XykYODCsWKufG9/5fh%2B/7vxff%2B34nv%2B78X3/t/JwcHFYoXd7d2MYj%2B3SPYKpUKDg4qaxeD8pmDg4rv/b8Q3/d/L773/0583/%2B9%2BN7/O/H9Jlvxrw6wiYiIiIiIiCyFATYRERERERGRBTDAJiIiIiIiIrIABthERERERGTXHBzuW7sIRAAYYBMRERERkZ1zcxtq7SIQAWCATUREREREdk6ligLAbdnI%2BhhgExERERGRXVOpkgFkWrsYRAywiYiIiIjIvmUF2BnWLgYRA2wiIiIiIrJn6VCpUsERbLIFDLCJiIiIiMhuZY1eAwywyRYwwCYiIiIiIrulUqn//xEDbLI%2BBthERERERGS3VKqk/3/ENdhkfQywiYiIiIjIbnEEm2wJA2wiIiIiIrJbr9Zgcx9ssj4G2EREREREZLc4RZxsCQNsIiIiIiKyY5wiTraDATYREREREdktbtNFtoQBNhERERER2S0G2GRLGGATEREREZHdehVgcw02WR8DbCIiIiIislscwSZbwgCbiIiIiIjsFgNssiUMsImIiIiIyG69CrCJrI8BNhERERER2S0G2GRLGGATEREREZHdYoBNtoQBNhERERER2S2VSm3tIhAJDLCJiIiIiMhuqVRJ1i4CkcAAm4iIiIiI7BZHsMmWMMAmIiIiIiK7xTXYZEsYYBMRERERkd3iFHGyJQywiYiIiIjIbnGKONkSBthERERERGSnMqBSvbR2IYgEBthERERERGSXOHpNtoYBNhERERER2SVdgjOtlmEN2QZ%2BEomIiIiIyE7pMogXsmopiHQYYBMRERERkV16NYLtauWSEGVhgE1ERERERHbp1RpsjmCTbWCATUREREREdkm3BzZHsMlWMMAmIiIiIiK7pJsizhFsshUMsImIiIiIyC69WoPNAJtsAwNsIiIiIiKySxzBJlvDAJuIiIiIiOySLsmZVlvQyiUhysIAm4iIiIiI7NKrJGcuVi4JURYG2EREREREZJdebdPFEWyyDQywiYiIiIjILnENNtkaBthERERERGSXOEWcbA0DbCIiIiIiskuvkpwxwCbbwACbiIiIiIjs0qsp4gywyTYwwCYiIiIiIrukC7A5gk22ggE2ERERERHZJSY5I1vDAJuIiIiIiOzSqxFsbtNFtoEBNhERERER2SWuwSZbwwCbiIiIiIjsEtdgk61hgE1ERERERHYoU7JNF6eIk21ggE1ERERERHZILR5xBJtsBQNsIiIiIiKyO69Gr1UAnK1bGKL/xwCbiIiIiIjsjkqV9P%2BPXAGorFkUIoEBNhERERER2Z1XI9iFAGitWxii/8cAm4iIiIiI7M6rLbpcwQCbbAUDbCIiIiIisjvcootsEQNsIiIiIiKyO68CbFcrl4ToFQbYRERERERkd14lOeMINtkOBthERERERGR35EnOiGwDA2wiIiIiIrI7XINNtogBNhERERER2Z1XWcQZYJPtYIBNRERERER259UIdkErl4ToFQbYRERERERkdziCTbaIATYREREREdkdrsEmW8QAm4iIiIiI7M6rAJtZxMl2MMAmIiIiIiK7wyniZIsYYBMRERERkd3hFHGyRQywiYiIiIjI7qhUagAMsMm2MMAmIiIiIiK7o1IlAWCATbaFATYREREREdkh3Qg298Em28EAm4iIiIiI7A6TnJEtYoBNRERERER2RitJcsYRbLIdDLCJiIiIiMjOvIRKpQUAZGZyH2yyHQywiYiIiIjIrryaHg4AzlYrB1F2DLCJiIiIiMiuvJoeXgiAyrqFIZJggE1ERERERHblVYDtCkBr3cIQSTDAJiIiIiIiu/JqinghMMAmW8IAm4iIiIiI7Ip8BJvIdjDAJiIiIiIiu/IqwOYe2GRbGGATEREREZFdkU8RJ7IdDLCJiIiIiMiucASbbBUDbCIiIiIisisqlRoAA2yyPQywiYiIiIjIrqhUSf//iFPEybYwwCai/2PvzuPkKgt0jz/vWWvpJWlAtgzBAAJBFFAWZ1QWQXHEAdxFUFDc5WYuLhe9wijguDCgg4jjOIiiuIGAyAA6Aka5CIgGECGYBAFZZElCeqntLO/9o6q3pJN0ku6cqjq/7%2BfTn0663jr9dL3dVeepswEAAHSU8S3YYcZJgMko2AAAAAA6yvgWbHYRR3uhYAMAAADoKByDjXZFwQYAAADQUcbPIs4x2GgvFGwAAAAAHWV8F3GOwUZ7oWADAAAA6Cjju4izBRvthYINAAAAoMOM7iLOMdhoLxRsAAAAAB1l/BhsdhFHe6FgAwAAAOgo4wWbLdhoLxRsAAAAAB1l9BhsroONdkPBBgAAANBB7NhZxNmCjXZDwQYAAADQQWoyJpUkpSnHYKO9ULABAAAAdIzx3cMlroONdkPBBgAAANAxxncPD0WdQbvhNxIAAABAxxjdgm1tSZLNNgywFgo2AAAAgI4xugVbomCj/VCwAQAAAHSM8S3YxYyTAOuiYAMAAADoGMaMSKJgoz1RsAEAAAB0jPFdxCnYaD8UbAAAAAAdg13E0c4o2AAAAAA6xvgWbK6BjfZDwQYAAADQMdiCjXZGwQYAAADQMcZPclbIOAmwLgo2AAAAgI4xWrDZRRztiIINAAAAoGOwBRvtjIINAAAAoIOMHoNNwUb7oWCvxXEeUhDckHUMAAAAILcc5y8Kgmsk2XVu4zrYaGcU7LX09Z2s/v63yvd/nXUUAAAAIJf6%2Bt6j/v53Kgh%2Bsc5t47uIcww22g8FewJjnpbv3y1JCsNfZpwGAAAAyB9jVsrzfi9JCsObpridXcTRvijYEwTB%2BFZr31%2BcYRIAAAAgn3z//8kY2/r3r9a5fXQXca6DjXZEwZ5g4m7hrnuPjHkuwzQAAABA/kzc6OW6S2XM05NuH9%2BCzS7iaD8U7AlGC7a1joxJFQS3ZZwIAAAAyJeJ6%2BSSFAS3Trp9/DrYbMFG%2B6FgtzjOX%2BV5D8laV1F0qKTJ754BAAAAmF3GPCXPWypJiqJXSZKCYOKhm5aTnKGtUbBbRt8pS5J9FEWHSJI871cZJgIAAADyJQh%2BI0lKkr3VaPy9JK11dZ%2BGjIklSWnKSc7QfijYLaNbq5NkP8XxvpIkz7tfxjybZSwAAAAgN0bLdBzvpzjeR9Y6ct0VcpzHJE28BrYksQUb7YeCLUmy8v3mu2VxvK%2Bs7VeS7Cpp3WM%2BAAAAAMyO8b1K95VUVpLsLml8y/b4Cc4CUWXQjvitlOQ4D8l1H5O1vuJ4T0lSHL9Y0trHfAAAAACYDZPPibS3JCmOXyRpYsEePf66JMlmkhPYEAq2Ju4e/mJZ60qSoqj5xzzVtfcAAAAAzKzRrddpunDsBGajG72a50ayE84gXtr6AYFpoGBr4q4oLxr7WpK8cMIxH0%2Bs976O8zd53t2znhEAAADoVMY8K9%2B/SRva6jy6lTqO9xsbF8cLZa0n131MjvPwhC3YxQ0uC8gKBVt2bAv26MnNJMnaHiXJbpLG/9jXVdecOa/WnDmHjh3DDQAAAGAiq/7%2BN2vOnONVKHxnvWPGT3C274SvF5QkzUM4w/DXXAMbbS/3BdtxHpDjPCNrC4rj3SfdNn7Mx9TXwy4W/0uu%2B7CMserp%2BRfxLhoAAAAwWRBcI9//vSSpXP5XSZV1xkx1TqRRo%2Bvkvv/rtbZgA%2B0n9wV7fPfw/WTt5Idj9I/Z89Y90ZkxgyqV/m3s/553l4Lg2llMCgAAAHSaSOXy2ZIka40c528qlb6xzqjx61%2B/SNZ6k24bL9iLJxRsroGN9pT7gj1anpPkxevc1rz2nivXfVSO8/Ck24rFr8pxVipJnq9a7a2SpJ6esyXFsx0ZAAAA6AiFwuXyvBVK0wHVah%2BWJBWLF8iY1ZPG%2Bf6G1sn3krWBHOdped6S0SXPam5gc%2BW8YKfyvOZ1rqNo3yluL0465mOUMU%2BrVLpIklSvn6Ja7U1K03657jIVCt/b4Pcrlz%2Bjvr6TZMyqmfohAAAAgK0qDL%2Bv/v5j5br3bWBURaXS5yVJjcY7Va%2B/WkmyqxxnjUqlr0wYZyec4GyqdfJAcbx36/ve0LwHW7DRpnJesO%2BR46yWtT2K4wVTjhjfJWX8JGbl8pdkzIiSZF81GgdKKqlef0vrts9Lqk65rHL5LJVKFygMf6r%2B/reudxwAAADQrsLwKvX2flBBcIvmzDlejvPIlOOKxf%2BU6z6pNN1J9fqRklxVq%2B9q3fb1sSv1uO6DcpynZW24zjmRRo2ukzvOk5Io2GhfOS/YN0uS4vgAre8EZeMF%2B1eSrBznLyoULpUk1WrvlpRKkur11ylNt5fjPDnlcSXF4tdUKl0oqXlSBt%2B/Q31975GUbCCfVRj%2BQMXiRZKiTf/xAAAAgGnwvN%2BrVDpbjvPXDY7z/d%2Bot/d9MsbK2pIc5ynNmfMGGbNy0jhjVqtUukBSc49Pa40kKY4PVBwvlDE1lctfbC1zdPfwdc%2BJNGr0etjjKNhoTxRsSUky1a4oTXG8t6z15ThPyXWXqVw%2BV8ZEiuO/VxTtNWGkr2r1HZKkYvH8SceVhOFP1NPzSUlSrfYRDQ9/VtYGCsPr1NPzMU1V7o1Zrb6%2BE9XX93719HxKc%2Ba8Zr3vDk7kukvlun%2Bcxs8OAACAbmXMkHz/Zkm1jYxMVSxeqDlzjlK5/G%2BaO/flCoLrpxzpun9SX98JMqahKHqVBge/oTR9nlx3mfr736KJZwcvlS6U4zynJNlD9fo/TEymavVkSVIYXibXXTbhBGfrHn89Kkn2mLTVmi3YaFc5L9jNP%2Bapj78eNX7MR6n0NRUKV0iSarWTNbr1elQUHbbOcSW%2B/2v19r5fklSvv0212j8qSfZRpfIxWWtULF6iUum8ScvxvDs1d%2B4rFIY/k7W%2BrO2R79/VesKb%2Bkzlrrtcvb0na2DgIA0M/IP6%2Bt4m171/gz%2B9MatUKFyqQuE7Mua5DY6d8FOKE7kBAABsTVaed7uKxS/L8%2B7Qhi8NW1OxeJEGBl6kOXOO08DAASoUvqup1t%2BMWam%2Bvreop%2BfTMiZWmm4jx1mt/v63qVw%2BQ1JjbKzj/FX9/W%2BQ46xRHL9Elco/y9qB1oajXvn%2B79TXd4qkWI7zpIrFiyU1t16vnTdJ9lEUHSRjEpXL54wdirnhdXJPcfzC8UeEy3ShTbmf%2BcxnPpN1iOx8Stb2q1p9zwZHOc6z8v175Xl3S5Ki6GjV60dNNVJpuq2CYLE8727F8YvV1/dOOU5FUXSUKpX3j41M011kbZ98/y4Fwa%2BVpvMUx/uqWLxQfX3vleOsVpLsokrli6rVjpHn/Vmu%2B5gKhavkOM%2Bq0ThUkifHeULl8qfV2/sR%2Bf79rd1vHHnen1UoXCLX/YvieF9ZO6f1na18/7cql89Wb%2B9HFIbXKQxvULH4H3LdFUrT7ZSmO0syY1mNeU5heI3K5X9Vb%2B9HVCx%2BVZ7XLO9J8neS/CkesycVBDeqWLxEvn%2BrjGkoTbfT%2BnfnsXKch%2BT7i%2BU4j7XyljY4L1Ik131Izd3sS5Myr18sx3FULAaq1SKlKdcuzwvHMcx7TjH3%2BcS850Ws5uv/%2BDrA%2Bue%2B3lpvkDa%2BjhHLde9XECyW46xRmg5ICtYz1sp1lyoMr1Gh8G257p8leUrT52mqbVmO87AKhctVLn9Wvb2nKwh%2BLmNWydptZO02k8Yas0rF4qXq7f2IyuUvKwh%2BpWLxuwrDa2VMpCTZXdJo0YxVKFyuvr6TVChcLWOqrb0wn1MYXq8wvFppun3rBL5Gvn%2Bb%2BvuPle/fLWsLqtU%2BpkrlNBlTl%2Bc9IN//nYLgf9RoHCbJas6cf5LnPawk2V0jI%2BeOXUrL2n7F8d6t9d8H5bpPyfdvk%2B//TnG8/9genmtLkl0VBDfI85bKmJqsLatafd8GZ8VxVsn3m2cRj%2BNXKkl2nXCbURhuK2nuBpcBzDZjrc3xq45RHL9Kw8Onb3CU696v3t6PS5Ks9TQ8fKmSZGA9o616ej4xVkCl5rEmIyP/MnbsyUSFwmUqFH4ka13F8Uvl%2B3dIkqLoNapUPihrR8trrGLxewrDK1rLfJEajVeoWLxExtRa93ml6vWTlKZWxeL3xq7xba2vWu1kJcnzVSh8W57357Hv33ySjeW6Kybk3Vu12smytqgwvLZ1zcGpjwG3tqhG4yjV66%2BX5Mj3b5Xv/0aet3yKsY7ieD9F0SsURf8gqSHf/4M8b4k8b4kcZ/JW9CSZryg6QHG8v%2BJ4PxlTleveL8%2B7X573gFz3zzKm%2Bc5qmm6jOF6oJNm79XkvGTMk110h113e%2BryidVxRj4zZQ43GAkXRAiXJ7kqS57fGPyrXfUSO80jr8%2BOytl9JsovSdL6SpPmRpju3xj8ux2l%2BNP/9lNK0X2m6s9J0ZyXJzkrTeUrT7WXMoBznb2t9rJS1fUrTHcY%2BkmQHWbutjBmS4zwtx3laxjzb%2Bvfq1vjntd4M2U5p%2BjxZO7e1/GdlzEo5zrOtfw%2B2xm879tF8Ae%2BXMcMyZrUcZ/XYZ2lY1vbK2gGl6VxZO7f1uSzHGZIxz8mY58buY0ylNX6u0nSOrJ3TGl%2BS4wzLmDWt%2B6yR46yRMTWlaY%2Bs7R/7SNN%2BWVuUMSNynEEZMyRjRj/XZG1Pa0zvhI%2BwtfzBCWOHZEx9ivF9sjaQ74%2BotzfW8PDTsrY5XopkbU/ro6/1ube1QjLcWuZw62NIUjJhfO%2BEf3vrGW9lbXmt8WVJ7oRx4x/N8T1r3acsSa3HcvRxXNPa68TK2jkTHsfmh%2BSMZZi8fE3IPJ5JSibM63NynOacNd80HJ3XOa3vNUdS2ho3eX6tdWTt3FaeORPyJGNz1ZzjNa3Hx1Oa9rUe%2B9E562stf6R1rdOKjGl%2BSJ6sLbUen/HPxkQypjph/IiMqUryW7%2BLPerpGdDgoKM4LsiY%2Btjym49R89/WBhMem3IrT0nGxJJqMmb0oyqp3lp%2BobWbYlHWhrK2IGMareflqcYXJ4wvyNqw9fzakDF1SfXW81pDzTcvg7HlNv8dTBg/%2BrmhZsnwZG3QGjd6X29seaP5R%2B/THBtO%2BBma92s%2BltUJj2O19bdVkLWlVvZy62cJxuZn/DGttH7e0oR5Gv0YHT/6uI/%2BfjYmjJk4B0HruWH0b3z0byuaMLZvwn2C1thBed6wyuW6KpVnZW1d1vZO%2BH0b/V1zZcyq1u/%2BKjnOKhmzSsZEreeygQmfmwVr/Hd%2B9PnwOUlJ629w9O%2Blv/W34raeX5%2Bb9HwrpROeN%2BeOPd82/9abOUazOM4qSVZpOjCWo/l5GzXfnF77eX9l62999Hm/WdrSdFtJiRznmbHXlua/n5G1Tuu1ZPS15XmtN8Ujue6Ta71uPSVr/UmvW2m6Y%2Bt1ribHeWzCa%2BLjrRNSha3Xw4mvjTvJmOHWa%2B2jct2HW5dF/ausLa/1mjtfSTJPjrN6ytd1a3tar%2BULWoVzD5XLe2t4%2BGEZ8ye57gPyvPvlustlTNJax9hhwjrDQsXx7nLdR%2BR5f5DvL5Hn3dv6/R9fh0mSPRXHByiK9leS7C3XfUBBcKt8/1Y5zrPrrPekaY/i%2BBA1Gq9QHO8r379dYfjf8rw/rTN2VBzvoUbjdYqilygMf6Yw/GnruaG5S3SS7C/XXaLRdT9rC6rXj1MUvUzF4tfG1vHSdEc1Gu9SrXZIq1z/SI6zRpIURQcoiv5exeLFMiZVkixQtfopxfGOYzk8706VSl%2BW4wwqTfuUpvPleX9Umu6g4eEvK0371snu%2B7epVPq8jBnfw3Nk5EJF0W7r/XlLpfMVBDe3cr1CIyNnrHesJLnuMvX2/rMkqVI5S43GwRNuM%2Brt3VPS1CcuBraWnBfsh1ordRvfxcSYp9Q8mUNzpWvDIjnO6Aucr7XfjVx32WvGnsStNa0V0qKm3v2n3ho//uTVXCnsU3NlbOJ94rHSMVGz6BdbK0qj94kmrEit%2B32bK2ujK2HphJXHqU/S1vyt8iWFau5K32itpK5fM5ffWv70dkNv3sfKTGfjNQAAyDVrzZTrOesb21wvSda7vjN5bNAaH6u53pOuZ6zUXD8qtNavotZ6VX3K9ZnmumTzza3WV9RcB6to7Q0gzTc6e7TuFnrbehNyZNLP33wTbN2y3JS23lBqTFj2NpLc9YyXpIocZ7A1vtB642hDj3ciY56RMWq9%2BbWxPQvG18nX3qvAmLD1%2BG0oHzD7cl2wrbWydsNPmFtXsyxO16a8SGzeeGe9Lw5bPt5MyLPxTM0Xrk0f33xBmeokckbjv/pG43sXTD1%2BquzTHT%2BeZXS8NvAzmNYL79Yav6H7TDU2q/GjYzd/vDGj855Ouu/0lz/V%2BKne2bFj36/57%2BaYDY2fvPwNjV972eOZp59/w8tf/%2B/P5vzurDt%2Bw/k39nhqQvbpj2/%2B32k95687fnKeDT2Wk7/HWt9hE8ZuaPxU95nOO4jj%2Bac/dvpZRh/PzXnsp/%2B30hw3/b%2BViePXvY8xdsJz/cbGb/rv/rrZNzx%2BZv62ZnL8%2Bl%2B7Jr9uaaOvvZv2OjeaafZed5vrC86Eud%2BU9Yzprcds3nhNI/vmj9/44z7Rpq1zbvr4rc8YV2maSNpTrvuQ1qz5iRqNqQ7pBDbPdtttbCNrkzfLOdqaMUbPPVdXHE%2B/RKLzeZ6juXPLeu65EeY%2BR8bnvca858z43FeY%2BxzhuT6/%2BJvPp4GB5iFVabqjXPched5DajQ2cidgFuT8LOIAAAAAukXzBLyS6z6YcRLkFQUbAAAAQFdI010kUbCRHQo2AAAAgK5AwUbWKNgAAAAAukKSNAt28zKnz21kNDDzKNgAAAAAukSpdZ14yfPYio2tj4INAAAAoGskya6SJM%2B7N9sgyCUKNgAAAICukSQvkCT5/l0ZJ0EeUbABAAAAdI043lOS5Hl3ZpwEeUTBBgAAANA1kmQvWWvkuivkOI9nHQc5Q8EGAAAA0DWs7VWS7CFJCsObM06DvKFgAwAAAOgqcXyAJCkI/ifjJMgbCjYAAACArhJFB0uSfP/nMmYw4zTIEwo2AAAAgK6SJHsoSebJmKrC8Nqs4yBHKNgAAAAAuoxRo3GEJKlQuCzjLMgTCjYAAACArtNovErWevL92%2BX7/y/rOMgJCjYAAACArmPttmo0jpIklctfzDgN8oKCDQCCdHb4AAAgAElEQVQAAKAr1WpvkbWufP9X8v1bso6DHKBgAwAAAOhK1j5PjcZrJUm9vYskjWQbCF2Pgg0AAACga1Wr71KabifXfVg9PedkHQddjoINAAAAoIuVVKl8RJJUKHxdQXBjxnnQzSjYAAAAALpaHL9U9fo/yhirvr5T5Lr3Zh0JXYqCDQAAAKDrVavvVxzvJ2NGNGfOm%2BU4T2QdCV2Igg0AAAAgBzyNjHxSSTJfjvOk5sw5Ro7zaNah0GUo2AAAAABywdoejYycpTR9nlx3uebOPUque3/WsdBFKNgAAAAAciNNd9DQ0HlKkl1bW7KPlu/flnUsdAkKNgAAAIBcsXZbDQ9/QXG8jxznOfX3v17F4oWS0qyjocNRsAEAAADkjrW9Gh4%2BW43GK2VMpJ6eT6u//w0y5qmso6GDUbABAAAA5FRBlconVKmcJmtDBcHNGhh4GdfKxmajYAMAAADIMaNG42gNDX1FSbJAjvOs%2Bvvfor6%2Bd8hxHsk6HDoMBRsAAABA7qXpLhoaOl/1%2Bhtlrasw/JkGBg5UqfQ5SZWs46FDULABAAAAQJIUqFp9t4aGvqo43l/G1FQuf1EDAwcqDK8SJ0HDxlCwAQAAAGCCNJ2v4eFzNDLyqdY1s/%2Bqvr6TNXfu3ysMr5SUZB0RbYqCDQAAAADrMIqif9Dg4NdVq50ka8vyvPvV1/duzZ17kMLwB5LirEOizVCwAQAAAGC9CqrV3qbBwW%2BpVnunrO2T5y1TX9/7NTDwEhUK3xbHaGMUBRsAAAAANsLaHtVqb9WaNZeoVnuP0nSOXPcv6u39X9pmm71ULn9Srrss65jIGAUbAAAAAKatpFrtDRocvETV6vuUpjvJcZ5TqfQ1DQy8RP39xyoIrhO7j%2BeTl3UAAAAAAOg8BdXrx6peP0aed7fC8Hp53h0KglsUBLcoSXZWrXayarW3KU3nZx0WWwkFGwAAAAA2m6s4foni%2BCVynKcUBL9QENwg131c5fLnVC5/To3G36tef6vq9eNk7dysA2MWsYs4AAAAAMyANN1etdpJGhz8tiqVTyiOD5C1RkFwm3p7F2mbbfZQX987FATXSqpnHRezgC3YAAAAADCjAjUah6rROFTGrFQQ/EZBcItcd7nC8GcKw58pTee0djE/TlH0CklB1qExAyjYAAAAADBLrN1G9fpxqtePk%2BM8ojBcLN%2B/WY7zjIrF76hY/I7StF%2BNxtGq11%2BvRuNVkspZx8ZmomADAAAAwFaQpvNVrb5T1eqJ8rz7FQS/kef9Vo6zUoXCj1Qo/EjWFtVovKpVto/mmO0OQ8EGAAAAgK3KURy/UHH8Qknvk%2BsuUxDcLt%2B/VY7zpMLwOoXhdbLWUxS9QvX6P6rReLXS9PlZB8dGULABAAAAIDOukmQvVat7qVp9l1z3Efn%2Bb%2BX7t8l1Hxq77Jf0ccXxHmo0Xq1G4zWKopdJCrMOj7VQsAEAAACgLRglya5Kkl1Vq71djvOEfP9O%2Bf5dct175XnL5HnLVCp9TWnaoyg6rFW4j1Ka7px1eIiCDQAAAABtKU13GjtBmjEj8rw/yvfvkufdKcdZObYruSTF8QvVaBypRuPQ1tbtUrbhc4qCDQAAAABtztqyougQRdEhklK57sPy/T/I834n1/2TPO8%2Bed59KpW%2BImsDRdHBrS3chyqODxDVb%2BvgUQYAAACAjuIoSRYoSRZIepOMGZTv3yvPWyLPWyLHeap17e3fqFw%2BR2napyh6RWvr9uFKkhdIMln/EF2Jgg0AAAAAHczaPjUaL1ej8XJJVo7zN/n%2BH%2BV5d7cK96DC8L8Vhv8tSUqSHca2bkfRYRy/PYMo2AAAAADQNYzSdEfV6zuqXn%2B1pESe94g87x553j1y3Xvlun%2BT6/5QhcIPJUlxvEercB%2BmKHo5197eAhRsAAAAAOharuJ4geJ4gaTjJUXyvD/L9%2B%2BR590tx3lg7OzkxeI3Za2jON5PUXR4awv3IZIKGf8MnYOCDQAAAAC54SuO91Ec7yPpBBlTkefdL99fIte9e%2Bzkab7/B5VK58vagqLokNbW7UMVx/tJcrP%2BIdoWBRsAAAAAcsrakqLopYqil0qSjFnVOn77HnneH%2BQ4zygIfqUg%2BJUkKU3ntE6Ydpii6DAlye7ihGnjKNgAAAAAAEmStQNqNA5Vo3GomidMe7K1O/k9rROmPacw/JnC8GeSpCTZea0Tpu2Q7Q%2BQMQo2AAAAAGAKRmm6k%2Br1nVSvv1bNE6b9pVW275br/lGu%2B7hc93IVCpdLkuJ4LzUah7eO4X65pJ5Mf4KtjYINAAAAAJgGV3G8u%2BJ4d0lvlFSX7y%2BV593b2rr9Z3neUnneUklfl7W%2BoujgVtk%2BIhfHb1OwAQAAAACbIVQUvVhR9GJJJ8mYIXneffL9u1vHbz%2BhILhVQXCryuVzWsdvH6ZG4wg1GocrTedn/QPMOAo2AAAAAGCLWdurKHqZouhlah6//VTr%2BO0lE47fvkZheI0kKY53U6PxajUar1EU/YOkMNP8M4GCDQAAAACYYUZpuoPq9R1Ur79GUiLXXdHaur1Ervsned4Ked7XVSp9XWna09qV/GjV66%2BWtdtn/QNsFgo2AAAAAGCWuUqSFyhJXiDpLZKq8v175ft3yfPukOOsHDs7eW%2BvFEX7q9F4jRqNo1vHbjsZ558eCjYAAAAAYCsrtk6AdrCkD8p1H5bv3yXfv1Ou%2B4B8f4l8f4nK5S8oTbdXvf5PqtffqCg6RO1ctinYAAAAAIAMOUqSBUqSBarV3iJjVrcK9l3yvN/JcZ5SsfhNFYvfVJLsqHr9ONXrb1AcHyTJZB1%2BEgo2AAAAAKBtWDu3dabxIyRF8v375Pu3yvdvles%2BqVKpedx2kvyd6vXjW2V7f7VD2aZgAwAAAADalK8o2l9RtL%2BkD8j375Hv/0a%2Bf5tc968qlS5UqXSh4ng31WrvUa32Dlk7N7O07bvzOgAAAAAAY3xF0UtVqfxvrVnzPY2MnKUoOlzWFuR5K9TT8ylts81e6uk5Ta57byYJ2YINAAAAAOgw4YSTpFUVBLcqDH8m112hYvE7Kha/oyg6WNXq%2B1SvHysp2Cqp2IINAAAAAOhgRTUaR2lo6N81NHRea6u2J9%2B/Q31979HAwIsUht%2BXlM56Ego2AAAAAKALGCXJQo2MfEyDg5eqVnun0nRbue4T6uv7gObMOVyed/usJsi8YD/yyCM666yzdOyxx2rhwoU65phjNjj%2Bvvvu09577639999/KyUEAAAAAHQSawdUq71Vg4P/pWr1VFlbku8v0dy5r1Zv78lynEdn5ftmXrCXLVumxYsXa/78%2Bdptt902ONZaq3POOUcDAwNbKR0AAAAAoHP5qteP1%2BDgf6rR%2BEdZa1QoXKWBgZcqCH46498t84J9xBFHaPHixbrwwgu1zz77bHDsT37yE61evVpvfOMbt1I6AAAAAECns3auKpUPa3j4QsXxi2RMTX1971Kh8O0Z/T6ZF2zHmV6EwcFBnX/%2B%2BfrkJz8p3/dnORUAAAAAoNskyQIND5%2Brev21MiZVb%2B//UrF4gSQ7I8vPvGBP11e%2B8hXts88%2BOvzww7OOAgAAAADoWK6q1Q%2BrVnurJKmn5zMztiW7I66D/cADD%2BjKK6/U1VdfPePLdt2OeY8BM2R0zpn7fGHe84u5zyfmPb%2BY%2B3wypvnZdY2sNdmGQYcwiqJ3yRhPYXi5yuUvK45PluRu0VLbvmBba3X22WfrhBNO2OhJ0DZHX19xxpeJzsDc5xPznl/MfT4x7/nF3OePtVY9PQV10E66aAsnSrpWjvOw5s79laR/2qKltX3Bvv7667VixQr927/9mwYHByVJ9XpdUvO47DAMFYbhZi9/cLCqJJn9C46jfbiuo76%2BInOfM8x7fjH3%2BcS85xdzn0/9/UVJViMjNVlbzzoOOkwQvEZheKWi6BsaHn7VlGPmzi1Pa1ltX7AfeughrVmzRkccccQ6tx144IF673vfq4997GObvfwkSRXHPPnmEXOfT8x7fjH3%2BcS85xdzny%2B2dX6qJLGydmZOVoX8SJIdWv%2BqbPHzRtsX7OOPP14HHXTQpK9dffXVuv766/XNb35TO%2B20U0bJAAAAAACdznUfliQlyYu2eFmZF%2BxqtarFixdLkh5//HENDw/rxhtvlCQddNBBmjdvnubNmzfpPnfeeadc19XBBx%2B81fMCAAAAALpFLM%2B7t/mveN8tXlrmBXvlypVatGjRpK%2BN/v%2Byyy6jRAMAAAAAZkWhcLlc91FZ26t6fd3DkjdV5gV73rx5evDBBzfpPqeddppOO%2B20WUoEAAAAAOh2nnePwvAKSdLw8EVK0%2B22eJmcwx4AAAAAkCuu%2ByeVSl%2BQMVb1%2BjtUqx0/I8vNfAs2AAAAAABbi%2B/frFLp32VMrDh%2BsYaGzp%2BxZVOwAQAAAAA5kKpQuFyFwg8lSY3G6zQ4%2BC1ZW5yx70DBBgAAAAB0Ncd5XKXSv8vz/iRJqlYXaWTks7J2Zo%2BapmADAAAAALpUrDC8SoXC92VMJGtLqlTOU6Vy0qx8Nwo2AAAAAKDruO5yFYsXyvNWSJKi6FAND39NcbzLrH1PCjYAAAAAoGsY84yKxe/K92%2BWMVbW9qtS%2BaIqlbdLMrP6vSnYAAAAAIAuMKJC4QqF4U9lTEOS1Gi8QcPD5ylJtvwa19NBwQYAAAAAdLCGguBGFQo/kOMMSpLi%2BBCNjHxBjcYBWzUJBRsAAAAA0IGqCsMbFIZXy3FWSZKSZDdVKv%2BqWu1ozfbu4FOhYAMAAAAAOoYxQwqC6xSGP5XjDEmS0nRHVaufULX6LlmbXc2lYAMAAAAA2p4xzykMr1EYXidjqpKkJJmvWu1jqlbfLmuDjBNSsAEAAAAAbcyYZ1Qo/ERB8POxk5clyZ6qVj%2BhWu0NstbNOOE4CjYAAAAAoO04zhMKwysUBDfLmFiSFMcvVq12hmq118paJ%2BOE66JgAwAAAADahuM8rELhx/L938iYVFLzrOCVyhlqNA6XtVv/5GXTRcEGAAAAAGTOdf%2BsQuFH8v3bx74WRUeoWv2kGo2DZW2G4aaJgg0AAAAAyIiV697XKtZLml%2BxRlF0jKrV/6NG40UZ59s0FGwAAAAAwFZm5Xl3qVD4sTzv/uZXrKsoeqNGRj6hOH5Bxvk2DwUbAAAAALCVpPL92xSGP5bnrZAkWRuo0XiHKpWPKo53yTjflqFgAwAAAABmWSzfX6xC4cdy3cckSdaWVK%2Bfokrln5Uk22ecb2ZQsAEAAAAAsyRSEPxSYXiFXPcpSZK1farV3q9q9cNKkoGM880sCjYAAAAAYIY1i3Wh8CM5zjOSpDTdRrXaR1Stvk9p2ptxvtlBwQYAAAAAzJBIQXBTq1g/LUlK0%2BepVjtdlcopsraYcb7ZRcEGAAAAAGyhREFwk8Lwh2O7gqfpdqrVPpqLYj2Kgg0AAAAA2ExWnnenisVvy3UflTRarE9XpfLu3BTrURRsAAAAAMAmc90HVCxeKs/7kyQpTee0tli/L3fFehQFGwAAAAAwbY7zpAqFSxQEv5UkWRuqVvuAKpWPKU37M06XLQo2AAAAAGAa6ioUrlQYXiFjIlnrqNF4uyqVsxTHO2Ydri1QsAEAAAAAG2DleXeoWPzPsROYRdHLNTJygaJor4yztRcKNgAAAABgSsY8q1LpIvn%2B7yRJabqDRka%2BoFrteEkm23BtiIINAAAAAFiLle/frFLpGzJmRNZ6qtc/pOHhT8ractbh2hYFGwAAAAAwxpjVra3Wt0uS4ng/DQ9/U1G0Z8bJ2h8FGwAAAAAgSfK8O1UqfVmOMyhrPdVqZ2hk5HRZS3WcDh4lAAAAAMi9VIXCD1QofF%2BSlCQLNTz8X2o0Xphxrs5CwQYAAACAHDNmWKXS%2BfL9OyVJtdopGh4%2BT9YGGSfrPBRsAAAAAMgpx3lS5fJZct0nZG2gSuXLqlROyjpWx6JgAwAAAEAOOc6j6un5v3KcVUrTnTQ09EM1GvtlHaujUbABAAAAIGdcd7nK5TPlOINKkj21Zs11SpLts47V8SjYAAAAAJAjrrtMPT2fkjEVxfGLNDh4rZJkIOtYXcHJOgAAAAAAYOsw5mmVy59tleuDtWbNDZTrGUTBBgAAAIBcqKin5zNynNVKkr20Zs1VStPerEN1FQo2AAAAAHS9VOXyF%2BW6jyhNn6fBwasp17OAgg0AAAAAXS4IrpPv3yVrCxoaulJxvHPWkboSBRsAAAAAupjjPKpi8VJJUrV6DpfimkUUbAAAAADoWolKpQtkTENRdJhGRt6XdaCuRsEGAAAAgC4VBL%2BU5y2Ttb0aGvpPSSbrSF2Ngg0AAAAAXamiQuEySVK1eoaSZIeM83Q/CjYAAAAAdKFC4Uo5znNKkl1Vqbw/6zi5QMEGAAAAgK4zojD8mSSpUjlX1gYZ58kHCjYAAAAAdJkwvF7GVJQke6hWOybrOLlBwQYAAACArtJQGP5UklStni5q39bDIw0AAAAAXSQIbpLjrFaa7qRa7c1Zx8kVCjYAAAAAdI1EYXiVJKlaPY1jr7cyCjYAAAAAdAnfv02u%2B4TSdI6q1XdlHSd3KNgAAAAA0BWswvAKSVK9/j5Z25NxnvyhYAMAAABAF/C8JfK8FbK2qGr1g1nHySUKNgAAAAB0gTD8sSSpXj9JSbJNxmnyiYINAAAAAB3OdZfK9/8oaz1Vq/876zi5RcEGAAAAgA5XKDSPvW403qQ43jnjNPlFwQYAAACADuY4f5Hv3y5rjarVj2YdJ9co2AAAAADQwYrFSyVJUXSMomjPjNPkGwUbAAAAADqU590t3/%2B9rPU0MnJO1nFyj4INAAAAAB0pUbH4X5Kkev0UxfGCjPOAgg0AAAAAHSgIrpPr/kXW9qtS%2BWTWcSAKNgAAAAB0HGNWqlj8riSpUvmskmTbjBNBomADAAAAQIexKha/LmOqiuMDVK2enHUgtFCwAQAAAKCD%2BP4tCoLfylpPw8Nfk7XUunbBTAAAAABAhzDmWZVK/yFJqtXOUBTtk3EiTETBBgAAAICOkKhUukDGjCiO99PIyOlZB8JaKNgAAAAA0AHC8Mfy/XtkbVFDQ5fIWi/rSFgLBRsAAAAA2pzr3qdC4fuSpErly4rjPTJOhKlQsAEAAACgjRnzrMrlL8qYVI3GW1SpnJB1JKwHBRsAAAAA2lZd5fLn5DirlCR7anDw37MOhA2gYAMAAABAW7Iqlb4qz/uz0rRfg4NXyNpy1qGwARRsAAAAAGhDYXiVguAWWetqePh7iuNds46Ejcj8tHOPPPKILrnkEt1zzz1atmyZFixYoOuuu27s9iRJ9K1vfUuLFy/W8uXLlSSJXvCCF%2BgjH/mIXvayl2WYHAAAAABmh%2BfdpULhUklStfo51euHZpwI05H5Fuxly5Zp8eLFmj9/vnbbbbd1bq/VavrGN76hvfbaS5///Od1wQUXaPvtt9cpp5yiW265JYPEAAAAADB7HOcxlctfkjFW9foJqlQ%2BmHUkTFPmW7CPOOIIHXnkkZKkM844Q/fdd9%2Bk2wuFgm666Sb19/ePfe3lL3%2B5Hn74YX3rW9/S4YcfvlXzAgAAAMBsMWZY5fLZMmZEcXyghoa%2BKmtN1rEwTZlvwXacDUdwXXdSuZYkY4z22msvPf3007MZDQAAAAC2okSl0pfkuo8rTXfU4OCPZK2fdShsgswL9uZI01RLliyZcpdyAAAAAOhEhcJ35Pu/l7UFDQ39WEmybdaRsIky30V8c3z3u9/VX/7yF5199tlbvCzX7cj3GLAFRuecuc8X5j2/mPt8Yt7zi7nPJ9Pag9p1TcfuTu15N6lQ%2BIkkqVq9WGm6v7yObGv51nFTduedd%2Bq8887Tu9/9bh144IFbvLy%2BvuIMpEInYu7ziXnPL%2BY%2Bn5j3/GLu88daq56egjpzJ90HJF3Y%2BvfHVSqdolIpyzzYXB1VsJcuXaoPfehDOvLII/Xxj398RpY5OFhVkqQzsix0Btd11NdXZO5zhnnPL%2BY%2Bn5j3/GLu86m/vyjJamSkJmvrWcfZJMasUql0phwnUhy/WkNDZ0oayToW1jJ3bnla4zqmYD/66KM69dRTtXDhQn3pS1%2BSMTOz60eSpIpjnnzziLnPJ%2BY9v5j7fGLe84u5zxdrm5%2BTxMqO/qcjNNTTc44cZ6WSZA%2BtWXOp0lSS%2BN3tVB2x/8Qzzzyjd7/73dp222118cUXKwiCrCMBAAAAwBawKpUukuc9KGv7NTh4pdK0N%2BtQ2EKZb8GuVqtavHixJOnxxx/X8PCwbrzxRknSQQcdpFKppFNPPVUrV67UGWecoeXLl0%2B6/3777bfVMwMAAADAlgjDaxQEN8laV0NDlymOn591JMyAzAv2ypUrtWjRoklfG/3/ZZddpp133llLly6VJH34wx9e5/4PPvjg7IcEAAAAgBniefeoUPiWJKlaPVf1%2BuEZJ8JMybxgz5s3b6MlmRINAAAAoBsY87RKpS/ImFSNxls0MvKhrCNhBnXEMdgAAAAA0PkaKpf/VY4zqCR5oQYHvyqpM6/bjalRsAEAAABg1lkVixfL85YpTedocPCHspbrtXcbCjYAAAAAzLIguFFh%2BD%2By1tHw8LcVx7tkHQmzgIINAAAAALPIdZeqWPwPSVK1eqbq9SMyToTZQsEGAAAAgFkzolLpSzImVqPxOo2MnJ51IMwiCjYAAAAAzJJS6WK57lNK03kaGvqGOKlZd6NgAwAAAMAs8P2bFQS/krWuhoe/rTTtyzoSZhkFGwAAAABmmOM8qVLpYklSrfZ/VK8flHEibA0UbAAAAACYUbFKpfNkTFVxfLCGhz%2BedSBsJRRsAAAAAJhBhcIP5HkPytpeDQ1dKsnNOhK2Ego2AAAAAMwQ112hMPyxJGlk5KuK43kZJ8LWRMEGAAAAgBmRqFi8UMakajSOUbX6hqwDYSujYAMAAADADAjDn8rzlsvafg0PfyXrOMgABRsAAAAAtpAxK1UofF%2BSVKl8TknyvIwTIQsUbAAAAADYQsXit1tnDT9AlcqJWcdBRijYAAAAALAFXHepguBmSdLIyAWiZuUXMw8AAAAAm82qWPy2JKlef5sajQOyjYNMUbABAAAAYDN53t3yvD/KWl%2BVyr9kHQcZo2ADAAAAwGaxKhQukyTV6%2B9RHO%2BccR5kjYINAAAAAJuhufX6z7K2oErlE1nHQRugYAMAAADAZgjDn0iS6vWTlCTbZpwG7YCCDQAAAACbyHVXyPeXyFpX1eqirOOgTVCwAQAAAGATBcF1kqQoer3ieJeM06BdULABAAAAYBMYM6QgWCxJqlY/lHEatBMKNgAAAABsAt%2B/RcbUlSR7qdE4OOs4aCMUbAAAAADYBEHwS0lSrXaqJJNtGLQVCjYAAAAATJPjPCzPWyFrfdVqb8o6DtoMBRsAAAAApikIbpYkRdFRStOBjNOg3VCwAQAAAGBaEgXBLZKkev3EjLOgHVGwAQAAAGAaPO8eOc4qpekc1euvzjoO2hAFGwAAAACmIQhukiQ1Gm%2BUtUHGadCOKNgAAAAAsFEV%2Bf5vJbF7ONaPgg0AAAAAGxEEt7aufb2bGo0Dso6DNkXBBgAAAICNGN09vF5/h7j2NdaHgg0AAAAAG%2BA4f5Pn3Sdrjer1E7KOgzZGwQYAAACADfD95rWv4/jliuOdMk6DdkbBBgAAAID1ShQEv5Qk1esnZZwF7Y6CDQAAAADr4Xm/k%2Bs%2BpTTtV632T1nHQZujYAMAAADAeoThtZKkRuOdsraUcRq0Owo2AAAAAEzBcR6W798jax1Vqx/MOg46AAUbAAAAAKYQhj%2BTJEXRaxXH8zJOg05AwQYAAACAtRgzpCC4RZJUq52WcRp0Cgo2AAAAAKwlCK6XMXUlyT6q11%2BWdRx0CAo2AAAAAExSUxheI0mqVhdJMtnGQcegYAMAAADABGF4gxxnUEkyX7Xam7KOgw5CwQYAAACAMQ2F4U8kSbXax2Stl3EedBIKNgAAAAC0BMEv5DirlaY7qlp9e9Zx0GEo2AAAAAAgSYpUKFwpSarVTpe1QcZ50Gko2AAAAAAgKQhuluM8ozTdTpXKO7OOgw5EwQYAAAAAJQrDKyRJtdoiWVvMOA86EQUbAAAAQO75/q/luk8qTeeqUjk16zjoUBRsAAAAADlnVSg0t17X6x%2BStaWM86BTUbABAAAA5Jrn/UGu%2B4isLalS%2BUDWcdDBKNgAAAAAci0Mr5Yk1esnKU37M06DTkbBBgAAAJBbjvOQfH%2BJrHVUrZ6WdRx0OAo2AAAAgNwqFK6RJEXR6xXHu2ScBp2Ogg0AAAAgl4xZKd9fLEmqVv854zToBhRsAAAAALkUBD%2BXMbHi%2BCA1Gi/JOg66AAUbAAAAQA4lCsNfSJJqtfdnnAXdgoINAAAAIHc87x45zjNK037Vaq/POg66BAUbAAAAQO4EwU2SpEbjTbK2kHEadAsKNgAAAICcqcv372j%2Bq/72jLOgm1CwAQAAAOSK798lY6pK053VaByYdRx0EQo2AAAAgFzx/dskSY3G8ZJMtmHQVSjYAAAAAHIklectkSTV6/%2BYcRZ0Gwo2AAAAgNxw3RVynDWytqwoOijrOOgyFGwAAAAAueF5f5AkxfErZW2QcRp0Gwo2AAAAgNzw/d9LkhqN12ScBN2Igg0AAAAgJ0bkug9Ikur1V2WcBd2Igg0AAAAgFzzvfhmTKknmK0nmZx0HXYiCDQAAACAXPG%2BpJCmOD8k4CboVBRsAAABALrjuaMF%2BWcZJ0K0o2AAAAAByIJHnPShJiqIDM86CbkXBBgAAAND1HOevMqYqa0uK472zjoMutckFe%2BnSpbORAwAAAABmzejW6zjeT9Z6GadBt9rkgn3cccfphBNO0PXXX684jrc4wCOPPKKzzjpLxx57rBYuXKhjjjlmynGLFy/Wcccdp3333VdHHXWULr/88i3%2B3gAAAADywXWXSZKS5KCMk6CbbXLBPvfcc1Wr1XT66afrsMMO0ztbxGEAACAASURBVEUXXaSnn356swMsW7ZMixcv1vz587XbbrtNOWbJkiX60Ic%2BpIULF%2Bqb3/ymjj/%2BeJ177rm64oorNvv7AgAAAMgP110hqbkFG5gtxlprN%2BeOf/jDH3T55ZfrF7/4hay1OvLII3XiiSfqpS996SYtJ01TOU6z559xxhm67777dN11100ac%2Bqpp2rNmjWTCvWZZ56pW265Rb/%2B9a/H7r85Vq8eURynm31/dB7PczR3bpm5zxnmPb%2BY%2B3xi3vOLuc%2BngYGypFTDw4tlbX2KEYn6%2B98kYxpavfr3iuM9tnZEdLjttuud1rjNbqYHHHCAzj//fN1yyy36wAc%2BoCVLluikk07SscceqyuuuEKNRmN6ATZSjhuNhm6//Xa97nWvm/T117/%2B9XrmmWd0//33b%2B6PAAAAACAHHOdxGdNoneBsQdZx0MW2%2BCzixWJRc%2BbMUbFYlLVWa9as0Zlnnqmjjz5a99577xYHfPTRRxVFkRYsmPyHsPvuu0uSVqxYscXfAwAAAED3ct2HJElJslCSm20YdLXNPn3e8uXLdfnll%2Bvaa69VvV7XUUcdpc9//vPaf//9df/99%2Buss87SmWeeqZ/%2B9KdbFHDNmjWSpL6%2BvklfH/3/6O2by3W5UlnejM45c58vzHt%2BMff5xLznF3OfT8Y0P7uukbVmndt9v1mw03Q/eR6/G5g9m1ywf/7zn%2Bvyyy/X7373O/X39%2BvEE0/UCSecoO23335szMKFC/XRj35U733ve2csqDHr/qFs6OvT1ddX3KL7o3Mx9/nEvOcXc59PzHt%2BMff5Y61VT09BU%2B%2Bk%2B7AkKQgOUhCUt2Ys5MwmF%2BxFixZpzz331Nlnn61jjz1WQRBMOW7evHl67Wtfu8UB%2B/v7Ja27pXpwcFDSulu2N9XgYFVJwgkw8sR1HfX1FZn7nGHe84u5zyfmPb%2BY%2B3zq7y9KshoZqU1xkjOrcnmZHEcaGtpbcTySRUR0uLlzp/fGzCYX7O985zs6%2BOCDNzru7/7u73Teeedt6uLXscsuu8j3fT300EN65StfOfb15cuXS9J6L%2B01XUmScobJnGLu84l5zy/mPp%2BY9/xi7vNl9LpISWK19kWSjHlWjjMoa13V63vKWn4vMHs2%2BQCE6667To899tiUtz3xxBM688wztzjUREEQ6JBDDtENN9ywTo7ttttOCxcunNHvBwAAAKB7uO7DkqQ0XSBrC9mGQdfb5IJ95ZVXatWqVVPetmrVKl155ZWbtLxqtaobb7xRN954ox5//HENDw%2BP/X/0%2B3z4wx/Wfffdp09/%2BtO644479PWvf11XXHGFFi1atEXXwAYAAADQ3Vz3EUlSkuydcRLkwSbvIr72LhcTDQ4OrveY7PVZuXKlFi1aNOlro/%2B/7LLLdPDBB2v//ffXxRdfrAsuuEDXXHONdthhB33605/Wm9/85k2NDwAAACBHHOdRSVIc75NxEuTBtAr2XXfdpbvuumvs/1dddZVuu%2B22SWNqtZp%2B%2BctfrnO96o2ZN2%2BeHnzwwY2OO/TQQ3XooYdu0rIBAAAA5JvrNgt2klCwMfumVbBvv/12XXTRRZKal8X64Q9/%2BP/Zu/Mwq%2Bo7TeDvLSjcWARFIigqKgSVILYOEnHDsd0wpnFvo0YJbhANxI7LaGIybukxdowg4r7biqIT14m2HbQjksQkLkSNoJFoXABRZBWq7vzhQyUE0nLhwKXqfj7Pgxbndzn1wvdS%2BtbZVvi6Ll265PLLLy8uHQAAwCprbCrYS5Z8scpZqAUrVbBPPvnkHHPMMSmXy9lzzz1z3XXXLXdzsTZt2qz2I7MAAACKUlf3QUqlhSmX22TJksrOtIVVsVIFe8MNN8yGG26YJPnZz36WL3zhCxVfaw0AALA2Lb3%2BurFx26zC7aegYhW/y7p3774mcgAAABTKHcRZ21b6FPELLrggPXr0yMknn/zfvrZUKuXGG28sJBwAAMCq%2Bsv1125wxtqxUgV74cKFTY/nWrBgQUql0hoNBQAAsLrq6v6cJGlo6FnlJNSKlSrYd911V9PHd9999xoLAwAAUJS6uneTJA0N21Q5CbWirtoBAAAAijc/dXUfJ0kaGraubhRqhoINAAC0OK1afXb0urGxUxobPU6YtWOlThHfcccdK7ru%2BuWXX17lQAAAAKurru69JElj49bVDUJNWamC/Y1vfMONzQAAgGZjacF2/TVr00oV7JEjR67pHAAAAIWpq5uVJGls3KrKSaglrsEGAABanFJpacHevMpJqCUrdQR7RaZNm5Y33ngjCxcuXG7t0EMPXa1QAAAAq6Ou7sMkCjZrV8UFe%2BHChRk%2BfHieffbZJEm5XE6SZa7RVrABAIBq%2BssR7C9UOQm1pOJTxMeOHZs//vGPufnmm1Mul3PVVVfl%2Buuvz6BBg7LVVlvlvvvuWxM5AQAAVlK56Qh2Q4OCzdpTccF%2B4okncsopp2S33XZLkmyxxRbZc889M2bMmPTu3Tvjx48vPCQAAMDKKpXmplRanCRpaOhS5TTUkooL9jvvvJMePXqkVatWKZVKy1yDfdhhh%2BXJJ58sNCAAAEAl/nJ6eKck61U3DDWl4oLdrl27LFiwIEnSqVOnvPXWW01rDQ0NmTdvXnHpAAAAKrT09PBy2enhrF0V3%2BSsZ8%2BeTaW6f//%2BGTduXHr06JH6%2BvqMGTMmvXr1KjwkAADAyvrLM7AVbNauigv2kCFDmgr2t771rfzzP/9zjj322CSfHd0eN25csQkBAAAqUCotfURX1yonodZUXLAHDx7c9HH37t3z%2BOOPZ9KkSSmVStlll13SqVOnQgMCAABU4i/PwFawWbsqLth/q23bttl///2LyAIAALDa6upmJnGKOGtfxQX7/fff/9zXdOniVvgAAEB11NV91lkaGraqchJqTcUFe%2B%2B9906pVPpvX/PKK6%2BsciAAAIBVV05d3XtJkoaGrasbhZpTccH%2B3//7fy%2B3bfbs2Xnqqacyc%2BbMnHrqqYUEAwAAqFSpNCel0oKUy6U0NHSvdhxqTMUF%2B8gjj1zh9lNOOSUjRozIzJkzVzsUAADAqqirezfJZ8/ALpfXq3Iaak1dkTs7/PDDc%2B%2B99xa5SwAAgJW29PTwxkbXX7P2FVqwGxsb8/HHHxe5SwAAgJXm%2BmuqabUf05V8Vqz/8Ic/ZPTo0enZs2cRuwQAAKjYX45g96hyEmpRxQV7xx13XO4u4o2NjSmXy2nXrl1uuOGGwsIBAABUolWrpUewt61yEmpRxQX7G9/4xnIFe7311ku3bt2y7777pl27doWFAwAAqMRfThHfpspJqEUVF%2ByRI0euiRwAAACr6dOUSp891cg12FRDoTc5AwAAqJa6ug9SKpVTLm%2BUxsZNqh2HGlTxEewLL7xwpV9bKpXygx/8oNJPAQAAULG6uj8nSRobu6dcLn3Oq6F4FRfsp59%2BOvPmzcvcuXNTV1eX9u3bZ86cOWlsbEzbtm2z0UYbNb32b6/VBgAAWFPq6t5NkjQ0eAY21VFxwR4zZkyGDx%2BeCy64IIccckjq6%2BuzePHiPPLII/m3f/u3jB49On369FkTWQEAAP6upQXbI7qoloqvwb788stz0kkn5atf/Wrq6%2BuTJPX19fnqV7%2Bar3/967nssssKDwkAAPB5/nIE2yO6qI6KC/bLL7%2BcXr16rXCtV69e%2Bf3vf7/aoQAAACr1l4LtEV1UR8UFu23btnnuuedWuPbcc88tcw02AADA2rL0Jmce0UW1VHwN9qGHHpobbrghjY2NGTx4cDp37pwZM2bkoYceys0335wTTjhhTeQEAAD4u0qlxpRKC1Mul9LQsGW141CjKi7Yo0aNyowZM3L99dfnhhtuaNpeLpdzyCGHZNSoUYUGBAAA%2BHyLkyTl8uYpl9erchZqVcUFu76%2BPldccUVOPfXUTJ48OR999FE23njj9O/fP9tvv/2ayAgAAPA5liRJGhs9oovqqbhgL7X99tsr1AAAwDqi4bN/uv6aKqr4JmcAAADrmlJp6RHsLaqchFqmYAMAAC3AZ0ewFWyqScEGAABagKWniHetcg5qmYINAAC0AJ%2BdIt7Q0K3KOahlCjYAANDslUqNSZLGxs2rnIRapmADAAAtQrncOo2Nnaodgxq2Uo/pOvnkk1d6h6VSKTfeeOMqBwIAAFgV5fLGSUrVjkENW6mCvWDBgpRK3qgAAMC6q1zuUO0I1LiVKth33333ms4BAACwWsrljtWOQI1zDTYAANAifHaKOFSPgg0AALQI5bIbnFFdK3WK%2BI477ljRNdgvv/zyKgcCAABYFeVy%2B2pHoMatVMH%2Bxje%2B4SZnAADAOq1c3rDaEahxK1WwR44cuaZzAAAArKYNqh2AGucabAAAoEUolxVsqmuljmCvyLRp0/LGG29k4cKFy60deuihqxUKAACgcutXOwA1ruKCvXDhwgwfPjzPPvtskqRcLifJMtdoK9gAAMDa5gg21VbxKeJjx47NH//4x9x8880pl8u56qqrcv3112fQoEHZaqutct99962JnAAAAJ%2BjvtoBqHEVF%2Bwnnngip5xySnbbbbckyRZbbJE999wzY8aMSe/evTN%2B/PjCQwIAAHyectktpqiuit%2BB77zzTnr06JFWrVqlVCotcw32YYcdlieffLLQgAAAACtHwaa6Kn4HtmvXLgsWLEiSdOrUKW%2B99VbTWkNDQ%2BbNm1dcOgAAgJWmYFNdFd/krGfPnk2lun///hk3blx69OiR%2Bvr6jBkzJr169So8JAAAwOdxijjVVnHBHjJkSFPB/ta3vpV//ud/zrHHHpvks6Pb48aNKzYhAADASlGwqa6KC/bgwYObPu7evXsef/zxTJo0KaVSKbvssks6depUaEAAAICVo2BTXRUX7L/Vtm3b7L///kVkAQAAWA0KNtVV8Ttw4sSJufPOO1e4dtddd%2BWZZ55Z7VAAAACVU7CprorfgWPHjs0nn3yywrW5c%2Bdm7Nixqx0KAACgcq2qHYAaV3HBnjZtWnbccccVru2www6ZNm3aaocCAAConCPYVFfF78BPP/00S5YsWeHakiVLmp6RDQAAsDZ5TBfVVvE7cOutt87EiRNXuPbzn/88W2211WqHAgAAqJyCTXVV/A4cMmRI7r333owZMyazZ89OksyePTvXXHNN7r333hx%2B%2BOGFhwQAAPh8rsGmuip%2BTNcJJ5yQF198MVdffXVGjx6d%2Bvr6LF68OOVyOYcccki%2B/vWvr4GYAAAAn6e%2B2gGocRUX7FKplB/96Ec58sgj8/TTT2f27Nnp1KlT9tprr/Tv339NZEySPPnkkxk3blymTZuW9ddfP7vssktGjRqVHj16rLHPCQAANA%2BNje2yaNFu1Y5Bjau4YC%2B1%2B%2B67Z/fddy8yy9/17LPPZsSIEfnKV76Sb33rW5kzZ05Gjx6dk046KY888kjatm27VnIAAADrpnJ5k5TL86odgxq3ygV70qRJmTx5cmbPnp3TTjstm2%2B%2BeaZMmZKuXbumY8eORWbMI488kq5du%2BaHP/xhSqVSkqRbt2458sgj8/zzz2fvvfcu9PMBAABApSou2AsXLszw4cPz7LPPplwup1Qq5aijjsrmm2%2Be6667Ll27ds0555xTaMglS5Zko402airXSdKuXbtCPwcAAACsjorvIv7jH/84L7zwQq688sr86le/SrlcblobOHBgJk2aVGjAJDniiCPyxhtv5Pbbb8%2BcOXPy9ttv54c//GG23XbbDBgwoPDPBwAAAJWq%2BAj2Y489ljPPPDMHHXRQGhoallnbfPPN8%2Bc//7mwcEvttttuGT16dL797W/n4osvTpJst912uemmm9KmTZvV2nerVp6VV2uWztzsa4u51y6zr03mXrvMvjaVSkm5nLRube5UV8UFe9asWenZs%2BcK11q1apWFCxeudqi/9Zvf/Cb/8i//ksMPPzyDBg3K3Llzc%2B2112bYsGG5%2B%2B67V%2BsmZ%2B3bb1BgUpoTs69N5l67zL42mXvtMvvaUy6X07HjRtWOQY2ruGB36dIlU6dOXeEdxF977bVsscUWhQT7axdffHF23333/K//9b%2Batv3DP/xD9tprr4wfPz4nnXTSKu97zpwFaWhoLCImzUSrVnVp334Ds68x5l67zL42mXvtMvva1KHDBimXkzlz5lc7Ci3Uyn7zpuKCvf/%2B%2B2fs2LHZdddds/322yf57NnY7777bm677bYcdthhle7yc02bNi2DBg1aZlunTp2y2WabZfr06au174aGxixZ4otvLTL72mTutcvsa5O51y6zry1Lbwtl5lRbxQV7xIgR%2BcUvfpEjjjgivXr1SqlUygUXXJC33nor3bt3zymnnFJ4yK5du2bKlCnLbJsxY0Y%2B%2BOCDdOvWrfDPBwAAAJWq%2BC4Abdu2zT333JMzzjgjrVu3TteuXVNXV5eTTjopd9xxRzbYoPjrXY477rg89dRT%2BcEPfpBf/OIXeeyxxzJs2LBsuOGG%2BcpXvlL45wMAAIBKlcp//ZytdVS5XM69996bu%2B66K9OnT8%2BGG26YPn36ZOTIkenVq9dq7Xv27HlOJakxrVvXpWPHjcy%2Bxph77TL72mTutcvsa1OnTp9dH/vhh/OqnISWqnPndiv1uopPEV%2BRl19%2BOa%2B88kp23XXXbLPNNkXschmlUilHH310jj766ML3DQAAAEWouGB/97vfzeLFi3PZZZcl%2Bey52KNGjUq5XE6bNm1y%2B%2B23p2/fvoUHBQAAgHVZxddgT5o0Kf/jf/yPpp9fc801%2BfKXv5z7778/ffv2zbXXXltoQAAAAGgOKi7YM2fObLpz9wcffJDXX389p556anbccceceOKJeemllwoPCQAAAOu6igt2q1atsmjRoiTJ888/nzZt2qRfv35Jkg4dOmTOnDnFJgQAAIBmoOKCvc022%2BThhx/OwoULM2HChOyyyy6pr69Pkrz//vvp2LFj4SEBAABgXVdxwT7ppJPy05/%2BNP369ct//dd/5Wtf%2B1rT2qRJk1b7sVkAAADQHFV8F/GDDz44m222WX7729/mS1/6Uvr379%2B0tummm%2BZ//s//WWhAAAAAaA5W6TnYu%2B66a3bdddflto8cOXK1AwEAAEBzVPEp4gAAAMDyVukI9iOPPJJbb70106ZNa7qj%2BF97%2BeWXVzsYAAAANCcVH8H%2Bz//8z3znO9/Jtttum3nz5mXw4MHZf//9U19fny222CLf%2BMY31kROAAAAWKdVXLDHjRuXE044IRdffHGS5Pjjj8%2B//du/5fHHH8%2BSJUvSvXv3wkMCAADAuq7igv3mm29mjz32SKlUSpI0NDQkSbp06ZIzzjgjN998c7EJAQAAoBmouGA3NDSkTZs2qaurywYbbJAZM2Y0rXXt2jXTp08vNCAAAAA0BxUX7G7dujWV6l69euXRRx9tWnvyySfTuXPn4tIBAABAM1HxXcQHDBiQZ599NoccckhOOOGEjBo1KlOmTEl9fX2mTp3qWdgAAADUpIoL9siRI7Nw4cIkycEHH5wkeeihh1IqlXLCCSfkyCOPLDYhAAAANAMVF%2Bz11lsv6623XtPPDz744KaiDQAAALWq4oK91KeffppXX301s2fPTseOHfPFL34xbdq0KTIbAAAANBurVLBvu%2B22jBkzJnPmzGna1r59%2B5xxxhk58cQTCwsHAAAAzUXFBfvOO%2B/MpZdemv79%2B2fw4MHp3LlzZsyYkYceeiiXX355WrduneOOO25NZAUAAIB1VsUF%2B5ZbbsngwYNzxRVXLLP9yCOPzLe//e3ccsstCjYAAAA1p%2BLnYL/33ns57LDDVrh22GGH5f3331/tUAAAANDcVFywt95668yaNWuFax9%2B%2BGG6d%2B%2B%2B2qEAAACguam4YI8YMSJXX311pk2btsz2qVOn5uqrr86IESMKCwcAAADNxUpdg/23pXnJkiU59NBD88UvfjGbbrppZs6cmVdffTWbbbZZHnnkkRx44IFrJCwAAACsq1aqYL/44osplUrLbOvcuXNmzZrVdLp4586dUy6X89JLLxWfEgAAANZxK1Wwn3766TWdAwAAAJq1iq/BBgAAAJanYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRgpR7TtSJvvfVWfvnLX2b27NkZMmRINt1008yaNSvt2rVLmzZtiswIAAAA67yKC3ZjY2Muuuii3HfffWlsbEypVMoee%2ByRTTfdNOedd1522mmnnHnmmWsiKwAAAKyzKj5FfNy4cXnggQcycuTIPPjggymXy01re%2B%2B9d5555plCAwIAAEBzUPER7AkTJuT000/PsGHD0tDQsMzaFltskT/96U%2BFhQMAAIDmouIj2O%2B%2B%2B2522WWXFa6tv/76mTdv3mqHAgAAgOam4oLdqVOnvP322ytce/PNN9OlS5fVDgUAAADNTcUFe6%2B99sq4cePywQcfNG0rlUqZO3du7rjjjuy7776FBgQAAIDmoOJrsM8888wcccQROeSQQzJgwICUSqX85Cc/yWuvvZZSqZTTTz99TeQEAACAdVrFR7A322yz3HffffnHf/zH/OY3v0mSvPDCC9l9991z9913p1OnToWHBAAAgHVdxUewk89K9iWXXFJ0FgAAAGi2Kj6CDQAAACyv4iPYF1544d9dK5VKad%2B%2Bffr06ZNBgwalvr5%2BtcIBAABAc1FxwX766aczb968zJ07N3V1dWnfvn3mzJmTxsbGtG3bNo2NjZk/f36222673Hrrrdlkk03WRG4AAABYp1R8ivi4cePSvn37/Ou//mteeOGFPPfcc3nhhRfywx/%2BMO3atcutt96a22%2B/PR9%2B%2BGGuvPLKNZEZAAAA1jkVH8G%2B9NJLc%2BKJJ%2BYrX/lK07b6%2BvocdthhmT17di6//PLceeedGTZsWG666aZCwwIAAMC6quIj2C%2B%2B%2BGJ69uy5wrWePXtmypQpSZLevXtn9uzZq5cOAAAAmomKC/ZGG22UX/7ylytc%2B%2BUvf5mNNtooSbJo0aKmjwEAAKClq/gU8UMOOSTXX399SqVSDjzwwGy66aaZOXNmHn300dxwww057rjjkiRTpkxJjx49Cg8MAAAA66KKC/bZZ5%2Bd999/P9dcc03Gjh3btL1cLufAAw/Mt7/97STJl770pQwYMKC4pAAAALAOq7hgt2nTJldddVVee%2B21/OpXv8pHH32UjTfeOLvttlt69erV9LqBAwcWGhQAAADWZRUX7KV69eq1TKEGAACAWrbKBTtJPv744yxcuHC57V26dFmd3QIAAECzs0oF%2B7rrrsttt92WWbNmrXD9lVdeWa1QAAAA0NxU/JiuBx54INdcc02OPvrolMvlDBs2LEOHDs1mm22WrbbaKt///vfXRE4AAABYp1VcsG%2B//faceuqpOeOMM5IkBxxwQM4%2B%2B%2Bw8/vjj2XDDDTN37tzCQwIAAMC6ruKC/dZbb2XnnXdOXd1nv3TJkiVJkg022CBDhw7Nv//7vxebEAAAAJqBigt269afXbZdKpXStm3bvPfee01rnTp1yvvvv19cOgAAAGgmKi7Y3bt3byrRO%2B20U8aPH5%2BGhoY0NjZm/Pjx6dq1a%2BEhAQAAYF1XccEeOHBgJk%2BenCQ55ZRTMmnSpOy6667Zfffd89hjj2Xo0KGFhwQAAIB1XcWP6TrrrLOaPv7yl7%2BcO%2B64I4888khKpVL22Wef7LHHHoUGBAAAgOagooL96aef5qc//Wn69euXbbfdNknSr1%2B/9OvXb42EAwAAgOaiolPE27Rpk4suuiizZs1aU3kAAACgWar4Guwtt9wyM2fOXBNZAAAAoNmquGAff/zxueGGGzJv3rw1kQcAAACapYpvcvbWW29l1qxZGTRoUL785S%2Bnc%2BfOKZVKTeulUinnnntuoSEBAABgXVdxwb711lubPn7ssceWW1ewAQAAqEUVF%2BwpU6asiRwAAADQrFVcsFu1arUmcgAAAECzVnHBXmrSpEmZPHlyZs%2BendNOOy2bb755pkyZkq5du6Zjx45FZgQAAIB1XsUFe%2BHChRk%2BfHieffbZlMvllEqlHHXUUdl8881z3XXXpWvXrjnnnHPWRFYAAABYZ1X8mK4f//jHeeGFF3LllVfmV7/6VcrlctPawIEDM2nSpEIDAgAAQHNQ8RHsxx57LGeeeWYOOuigNDQ0LLO2%2Beab589//nNh4f7W%2BPHjc/vtt%2BfNN99M27Zt07dv31x77bVr7PMBAADAyqq4YM%2BaNSs9e/Zc4VqrVq2ycOHC1Q61IldffXVuueWWnHbaaenbt28%2B/vjjPPPMM2vkcwEAAEClKi7YXbp0ydSpU7P77rsvt/baa69liy22KCTYX5s2bVrGjh2b6667LgMHDmzavv/%2B%2Bxf%2BuQAAAGBVVHwN9v7775%2BxY8fm1VdfbdpWKpXy7rvv5rbbbssBBxxQaMAkmTBhQrbccstlyjUAAACsSyou2CNGjEinTp1yxBFH5KijjkqpVMoFF1yQwYMHp0OHDjnllFMKD/nCCy%2BkZ8%2BeGTNmTAYMGJCddtopX/va1/LKK68U/rkAAABgVZTKf30b8JU0f/783HLLLZk4cWJmzpyZjh07Zp999slJJ52UjTbaqPCQBxxwQD744IN06dIlo0aNSn19fUaPHp133nknP/vZz9K%2BfftV3vecOQvS0NBYYFrWda1a1aV9%2Bw3MvsaYe%2B0y%2B9pk7rXL7GtThw4bpFz%2B7P/tYU3o2HHleu4qFey17R//8R/z1ltv5eGHH87222%2BfJPnggw%2By33775cwzz8ywYcOqnBAAAKimcrmcUqlU7RjUuIpvcnbFFVdkyJAh6dGjx5rIs0IdOnTIpptu2lSuk2SzzTZLjx49MnXq1NXat%2B9u1h7f2a5N5l67zL42mXvtMvva9Jcj2POrHYUWamWPYFdcsG%2B99dbceOON6du3bw4//PAcdNBBadu2bcUBK7Htttuu8Pna5XI5dXUVX0a%2BjIaGxixZ4otvLTL72mTutcvsa5O51y6zry1Lz8k1c6qt4nb6pQEC8AAAIABJREFUzDPP5Pzzz8%2Bnn36aCy%2B8MHvuuWfOOeec/PKXv1wT%2BZIk%2B%2ByzT2bOnJk//OEPTdvef//9vPHGG%2BnVq9ca%2B7wAAACwslbrGuzXXnstEyZMyMMPP5xZs2alW7duGTJkSIYPH15kxjQ0NOTII4/MvHnzctZZZ6VNmzYZM2ZMZs2alccffzwbbrjhKu979ux5vtNVY1q3rkvHjhuZfY0x99pl9rXJ3GuX2demTp0%2BO333ww/nVTkJLVXnzu1W6nWF3OSsoaEhTz31VC655JK8//77a%2BTxWbNmzcqll16aiRMnZsmSJdltt91y3nnnrfa14L741h7/4a1N5l67zL42mXvtMvvapGCzpq1swa74Guy/9ac//SkTJkzIgw8%2BmPfeey%2BbbbbZ6u5yhTbZZJP86Ec/WiP7BgAAgNW1SgV7wYIFefzxxzNhwoT8%2Bte/TuvWrbPvvvvmoosuyp577ll0RgAAAFjnVVywzz///Dz%2B%2BOOZP39%2BevfunfPPPz%2BHHnpoNt544zWRDwAAAJqFigv2U089lSFDhuTwww9P796910QmAAAAaHYqLtjPPPNM6uvr/%2B76hx9%2BmE6dOq1WKAAAAGhuKn4O9orKdblczsSJE/PNb34ze%2B21VyHBAAAAoDlZrbuIT58%2BPffff38eeOCBzJgxI/X19TnggAOKygYAAADNRsUFe9GiRXnsscdy//3359e//nXK5XJKpVK%2B/vWv55RTTknHjh3XRE4AAABYp610wX7xxRdz33335dFHH828efOywQYb5J/%2B6Z9ywAEH5NRTT82gQYOUawAAAGrWShXsQw89NFOnTk2S7Lzzzjn88MNz8MEHZ8MNN8wnn3yyRgMCAABAc7BSBfv1119PqVTK3nvvnbPPPjvbbbfdms4FAAAAzcpK3UX8/PPPT69evfLzn/88hx56aI4%2B%2BuiMHz8%2Bc%2BfOXdP5AAAAoFlYqYJ9wgkn5MEHH8z48eNz1FFH5Y033siFF16YPffcMxdeeGFKpVJKpdKazgoAAADrrFK5XC5X%2BotWdCfxrbbaKkcffXT%2B6Z/%2BqVnd7Gz27HlZsqSx2jFYi1q3rkvHjhuZfY0x99pl9rXJ3GuX2demTp02SpJ8%2BOG8Kiehpercud1KvW6VCvZfmz59eu677748%2BOCD%2BeCDD7LeeuvlhRdeWJ1drlW%2B%2BNYe/%2BGtTeZeu8y%2BNpl77TL72qRgs6atbMFeqVPE/zvdu3fPqFGj8vOf/zxjx47Nnnvuubq7BAAAgGZnpZ%2BD/Xnq6uqy7777Zt999y1qlwAAANBsrPYRbAAAAEDBBgAAgEIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAArQLAv2vHnzstdee6VXr1556aWXqh0HAAAAmmfBvuaaa9LQ0FDtGAAAANCk2RXsadOm5a677so3v/nNakcBAACAJs2uYF9yySU55phjss0221Q7CgAAADRpVgX78ccfz6uvvprhw4dXOwoAAAAso3W1A6ysBQsW5PLLL8%2BoUaPStm3bwvbbqlWz%2Bh4DBVg6c7OvLeZeu8y%2BNpl77TL72lQqJeVy0rq1uVNdzaZgjx07NptsskmGDBlS6H7bt9%2Bg0P3RfJh9bTL32mX2tcnca5fZ155yuZyOHTeqdgxqXLMo2O%2B8805uuummjBkzJnPnzk2SzJ8/v%2Bnf8%2BbNy0YbrdpfpjlzFqShobGwrKz7WrWqS/v2G5h9jTH32mX2tcnca5fZ16YOHTZIuZzMmTO/2lFooVb2mzfNomC//fbbWbx4cU455ZTl1k444YT07ds399577yrtu6GhMUuW%2BOJbi8y%2BNpl77TL72mTutcvsa0u5/Nm/zZxqaxYFu3fv3rntttuW2fbKK6/ksssuy/e///306dOnSskAAADgM82iYLdv3z79%2B/df4dqOO%2B6YHXfccS0nAgAAgGW5zR4AAAAUoFkcwV6R/v3757XXXqt2DAAAAEjiCDYAAAAUQsEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUIDW1Q6wMh577LE89NBDmTJlSj7%2B%2BONsueWWOfbYY3PMMcekrs73CAAAAKi%2BZlGwb7755nTt2jXf%2Bc53sskmm2Ty5Mm55JJL8qc//SnnnHNOteMBAABA8yjY1157bTp16tT089133z3z58/PnXfemZEjR6ZNmzZVTAcAAADN5Brsvy7XS/Xu3TuLFi3KRx99VIVEAAAAsKxmUbBX5Pnnn8/GG2%2BcTTbZpNpRAAAAoHmcIv63XnrppUyYMCHDhw9Pq1atVmtfrVo12%2B8xsIqWztzsa4u51y6zr03mXrvMvjaVSkm5nLRube5UV6lcLperHaISM2bMyFFHHZUuXbrk9ttvT319fbUjAQAAVVYul1MqlaodgxrXrAr2J598kuOPPz6LFi3KXXfdlY4dO672PufMWZCGhsYC0tFctGpVl/btNzD7GmPutcvsa5O51y6zr00dOmyQcvmz/7eHNaFjx41W6nXN5hTxRYsW5fTTT8/MmTNzzz33FFKuk6ShoTFLlvjiW4vMvjaZe%2B0y%2B9pk7rXL7GvL0kOGZk61NYuCvWTJkpx11ll59dVXc8cdd6Rbt27VjgQAAADLaBYF%2Bwc/%2BEH%2B8z//M//yL/%2BShQsX5ne/%2B13T2nbbbZe2bdtWMR0AAAA0k4L9X//1X0mS//N//s9ya7fddlv69%2B%2B/tiMBAADAMppFwX7qqaeqHQEAAAD%2BWx4UBwAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUQMEGAACAAijYAAAAUAAFGwAAAAqgYAMAAEABFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgAwAAQAEUbAAAACiAgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFAABRsAAAAKoGADAABAARRsAAAAKICCDQAAAAVQsAEAAKAACjYAAAAUoNkU7DfffDNDhw7NzjvvnAEDBuTiiy/OwoULqx0LAAAAkiStqx1gZcyZMycnnnhiunbtmp/85Cf58MMPc9lll%2BWjjz7KFVdcUe14AAAA0DwK9r//%2B79nzpw5efDBB9OpU6ckSatWrXL22Wfn9NNPz7bbblvlhAAAANS6ZnGK%2BNNPP50BAwY0leskOeCAA9KmTZtMnDixiskAAADgM82iYE%2BbNm25o9Rt2rRJ9%2B7dM23atCqlAgAAgL9oFqeIz5kzJ%2B3bt19ue/v27fPxxx%2Bv1r47dNgg5fJq7YJmplT67N9mX1vMvXaZfW0y99pl9rWprq6UxsZyWrduFscPacGaRcH%2Be8rlckpLv4quoro6fwlrldnXJnOvXWZfm8y9dpl97WnVqpSOHTeqdgxqXLP4ytO%2BffvMmTNnue2ffPLJCo9sAwAAwNrWLAr2tttuu9y11p9%2B%2BmmmT5/uDuIAAACsE5pFwd5rr73y3HPPZfbs2U3bnnjiiXz66afZe%2B%2B9q5gMAAAAPlMql9f92z/MmTMngwcPTrdu3XLGGWdk1qxZufzyyzNw4MBcccUV1Y4HAAAAzaNgJ8mbb76Ziy%2B%2BOM8//3zWX3/9DB48OGeffXbWX3/9akcDAACA5lOwAQAAYF3WLK7BBgAAgHWdgg0AAAAFULABAACgAAo2AAAAFEDBBgAAgAIo2AAAAFCAmivYb775ZoYOHZqdd945AwYMyMUXX5yFCxdWOxYFe%2Butt/Ld7343hx12WHbYYYcMHjx4ha%2BbOHFivvrVr6ZPnz7Zf//9c%2Bedd67lpBTpscceyxlnnJG99947O%2B%2B8cw499NDcddddaWxsXOZ15t6yPPPMM/na176W3XffPTvttFP222%2B/XHbZZfnkk0%2BWeZ25t2zz5s3LXnvtlV69euWll15aZs3sW5YJEyakV69ey/244oorlnmdubdc48ePz1e%2B8pX06dMnAwYMyGmnnbbMutlTTa2rHWBtmjNnTk488cR07do1P/nJT/Lhhx/msssuy0cffbTcF2Wat9dffz0TJ05M375909jYmBU97v23v/1tzjjjjBx22GE599xz85vf/CYXX3xx2rRpkyOPPLIKqVldN998c7p27ZrvfOc72WSTTTJ58uRccskl%2BdOf/pRzzjknibm3RB9//HH69euXE088Me3bt8/rr7%2Beq6%2B%2BOq%2B//npuuummJOZeC6655po0NDQst93sW64bbrgh7dq1a/p5ly5dmj4295br6quvzi233JLTTjstffv2zccff5xnnnmmad3sqbpyDRk3bly5b9%2B%2B5VmzZjVt%2B%2BlPf1ru2bNneerUqVVMRtEaGhqaPj7nnHPKhxxyyHKvGTp0aPmII45YZtsFF1xQ3mOPPZb59TQff/13e6lLL7203KdPn/KiRYvK5bK514p77rmn3LNnz/J7771XLpfNvaWbOnVqeeeddy7ffffd5Z49e5ZffPHFpjWzb3nuv//%2Bcs%2BePVf4NX8pc2%2BZpk6dWu7du3f5mWee%2BbuvMXuqraZOEX/66aczYMCAdOrUqWnbAQcckDZt2mTixIlVTEbR6ur%2B%2B7f2p59%2Bmueeey6HHHLIMtsPPfTQzJgxI7///e/XZDzWkL/%2Bu71U7969s2jRonz00UfmXkM23njjJMmSJUvMvQZccsklOeaYY7LNNtsss93sa5O5t1wTJkzIlltumYEDB65w3exZF9RUwZ42bVq23XbbZba1adMm3bt3z7Rp06qUimqYPn16Fi9enB49eiyzfbvttksS74cW5Pnnn8/GG2%2BcTTbZxNxbuIaGhixatChTpkzJmDFjsu%2B%2B%2B6Zbt27m3sI9/vjjefXVVzN8%2BPDl1sy%2BZRs8eHB69%2B6d/fbbL%2BPGjWu6RMDcW64XXnghPXv2zJgxYzJgwIDstNNO%2BdrXvpZXXnklidmzbqi5a7Dbt2%2B/3Pb27dvn448/rkIiqmXpvP/2/bD0594PLcNLL72UCRMmZPjw4WnVqpW5t3D77rtv3n///STJnnvumSuvvDKJv%2B8t2YIFC3L55Zdn1KhRadu27XLrZt8yde7cOd/85jfTt2/flEqlPPXUU/nxj3%2Bc999/P9/97nfNvQWbMWNGpkyZktdffz3f//73U19fn9GjR%2Bekk07Kz372M7NnnVBTBfvvKZfLKZVK1Y5BFfy9uXs/NH8zZszImWeemT59%2BmTYsGHLrJl7y3Tddddl/vz5mTp1aq655pqcdtppufnmm5vWzb3lGTt2bDbZZJMMGTLkv32d2bcse%2B65Z/bcc8%2Bmnw8cODDrrbdebr311mXuJm3uLU%2B5XM78%2BfNz9dVXZ/vtt0%2BS7Ljjjtlvv/1yzz33ZJdddkli9lRXTZ0i3r59%2B8yZM2e57Z988skKj2zTcnXo0CHJ8t/JXPr%2B8H5o3j755JMMGzYs66%2B/fsaOHZv6%2Bvok5t7SffGLX8wuu%2BySo446KqNHj87kyZPzxBNPmHsL9c477%2BSmm27KmWeemblz52bOnDmZP39%2BkmT%2B/PmZN2%2Be2deQgw46KA0NDXnllVfMvQXr0KFDNt1006ZynSSbbbZZevTokalTp5o964SaKtjbbrvtctdefPrpp5k%2Bffpy12bTsnXv3j319fV54403ltk%2BderUJPF%2BaMYWLVqU008/PTNnzswNN9yQjh07Nq2Ze%2B3o3bt3WrVqlenTp5t7C/X2229n8eLFOeWUU7Lbbrtlt912azp6ecIJJ%2BSkk04y%2Bxpl7i3X35tduVxOXV2d2bNOqKmCvddee%2BW5557L7Nmzm7Y98cQT%2BfTTT7P33ntXMRlrW5s2bbL77rvnscceW2b7ww8/nM6dO2eHHXaoUjJWx5IlS3LWWWfl1VdfzQ033JBu3bots27uteO3v/1tGhoassUWW5h7C9W7d%2B/cdttty/w477zzkiTf//73873vfc/sa8ijjz6aVq1aZYcddjD3FmyfffbJzJkz84c//KFp2/vvv5833ngjvXr1MnvWCa0uuuiii6odYm3Zfvvtc//99%2BeZZ55Jly5d8tvf/jaXXnpp9t9//xxzzDHVjkeBFixYkP/4j//I1KlT84tf/CIzZ87MF77whUydOjWdOnXKBhtskC233DLXXntt3n333Wy00UZ56KGHcvPNN%2Be8887LTjvtVO3fAqvgoosuysMPP5yzzjorm222Wd57772mH23btk2bNm3MvQUaMWJEpk%2Bfnk8%2B%2BSTvvfdennzyyVx66aXZcsstc%2B6556ZVq1bm3gKtt9562WKLLZb5sWjRojzwwAMZMWJE01zNvuUZOnRoPvjgg8ydOzdvvfVWbrrpptx55505/vjjc%2BCBByYx95Zqm222yc9//vP83//7f7PJJpvkrbfeyve%2B970kyWWXXZb6%2Bnqzp%2BpK5XK5XO0Qa9Obb76Ziy%2B%2BOM8//3zWX3/9DB48OGeffXbWX3/9akejQG%2B//Xb222%2B/Fa7ddttt6d%2B/f5Jk4sSJufLKKzNt2rR84QtfyEknnZTjjjtubUalQIMGDco777yzwjVzb7muu%2B66PProo5k%2BfXrK5XK6deuW/fffP0OHDl3mztLm3vJNnjw5J5xwQu6777706dOnabvZtywXX3xxnnnmmbz33ntpbGzM1ltvnSOPPDLHH3/8MjexMveWadasWbn00kszceLELFmyJLvttlvOO%2B%2B8ZR7NZfZUU80VbAAAAFgTauoabAAAAFhTFGwAAAAogIINAAAABVCwAQAAoAAKNgAAABRAwQYAAIACKNgAAABQAAUbAAAACqBgA1TJhAkT0qtXr6YfO%2BywQwYOHJiRI0fmj3/8Y9Vzvf3221XLsDYcf/zxOf7446sdY627%2Buqr06tXr2W2/e2fxYIFC3L11Vdn8uTJazseADRrrasdAKDWXXbZZenRo0cWLVqU3/zmN7n22mszefLkPPbYY%2BnQoUO147VY3/ve96odYZ3xt38WCxYsyOjRozNixIj079%2B/SqkAoPlRsAGqbPvtt0%2BfPn2SJP37909DQ0OuvvrqPPnkkzn88MOrnK7l2m677aodYZ3hzwIAiuEUcYB1zNKyPWvWrOXWHn300Rx99NHZeeed069fvwwdOjS///3vl3nNSy%2B9lJEjR2bQoEH50pe%2BlEGDBmXUqFF55513ltvf7373uxxzzDHp06dPBg4cmB/96EdZsmTJSuU899xz069fv0ybNi1Dhw7NzjvvnIEDB%2Ba6665r2vexxx6bnXfeOQcccEAeeOCBZX79hx9%2BmIsuuigHH3xw%2BvXrlwEDBuSEE07Ir3/962Ve9/bbb6dXr165/vrrM3bs2Oyzzz7p06dPhgwZkkmTJi3z2qWnP//%2B97/PiBEjsssuu%2BQf/uEfcvbZZ%2BfDDz9c5rV/e1r00s9z44035uabb86gQYPSr1%2B/HH300fnd73633O//3nvvzQEHHJCddtopBx98cB566KGce%2B65GTRo0Of%2B2S1evDj/%2Bq//mj322CN9%2B/bNsccemxdffDGDBg3Kueeeu9zv52%2Bt6DT%2BRx99NCeffHIGDhyYL33pSznooINyxRVXZP78%2BZ%2Bb56//LN5%2B%2B%2B0MGDAgSTJ69OimSxjOPffc/PrXv06vXr3y8MMPL7ePBx98ML169cqLL774uZ8PAFoqR7AB1jFLS9PWW2%2B9zPZrr702P/7xjzNkyJCcfvrpWbx4cW688cYcd9xxGT9%2BfNNRyHfeeSfbbLNNDjnkkHTo0CEzZszI3XffnSOOOCKPPPJIOnXqlCSZOnVqvv71r6dbt265/PLLs/766%2Beuu%2B5aYXn6exYvXpxvfvObOeaYYzJ06NA89NBD%2BdGPfpS5c%2Bfm//2//5dhw4blC1/4Qu64446ce%2B652X777bPTTjslST766KMkyYgRI7Lppptm/vz5eeKJJ3L88cfnlltuWe7U5DvvvDNdu3bN%2Beefn8bGxtxwww0ZNmxYbr/99vTr12%2BZ144YMSIHHnhgjjnmmEydOjVXXXVVpk2blnvvvTf19fX/7e/pzjvvTI8ePXL%2B%2BecnSa666qqccsop%2BY//%2BI%2B0a9cuSXLPPffku9/9bg444ICcd955%2BeSTTzJ69OgsXrx4pf7cLrzwwjz44IM5%2BeSTs8cee%2BT111/PiBEjMm/evJX69Svyxz/%2BMXvttVdOPPHEbLDBBnnjjTf%2Bf3v3H1NV/cdx/AlcLyB3cIGgBqxfd5ZcQlMDElyiJmiZrMK0xOxOh6KILgLXj6HMXDpqyr23WwztZkrZpLHCSauVrrVh9kebtkVratPAFm75C0u9F75/OE6eADOG4bdej%2B1unA/v8znvc%2BCf9/n8uNTX13Pw4EHeeeeda%2B4nMTGRLVu2sHjxYgoLC5kzZw4AcXFx3HrrrTidThoaGpg1a5bpvB07dpCens6YMWMGfQ8iIiL/71Rgi4gMs%2B7ubgKBgLEG%2B4033iAjI8M0EnrixAk8Hg9FRUW89NJLRnt2djb5%2Bfl4vV42b94MwIwZM5gxY4YREwwGyc3NJScnh927d/P0008D8Prrr9PT08O2bdu46aabAMjNze1TOF3NpUuXWLVqFXl5eQBkZmayb98%2B6urqaGpqwul0AnDPPfeQnZ3N7t27jQL7zjvvZO3ataY8J02aRHt7O9u3b%2B9TYAeDQfx%2BP%2BHh4QBMmjSJadOm4Xa78fv9ptjp06dTWVlpxMXHx/Pcc8/R0tLC7Nmzr3pPUVFR1NXVERYWBlwuOOfMmcMXX3zBww8/THd3Nx6Ph7Fjx%2BJ2u43zJkyYQF5eHomJiVft//DhwzQ1NfHMM88YOebk5Bg5DtayZcuMn3t6ehg/fjwOh4OioiLa2toYPXr0NfVjtVpJS0sD4JZbbuHee%2B81/X7BggU8//zzfPfdd6SmpgJw8OBBDh06xMaNGwedv4iIyL%2BBpoiLiAyzJ554grS0NMaPH8/ixYuJjo7G5/NhsfzxDvTLL78kEAhQUFBAIBAwPuHh4WRkZHDgwAEjtquri5qaGqZPn47T6cTpdDJu3DjOnz/P4cOHjbivvvqKiRMnGsU1QFhYGA899NA15x4SEsLkyZONY4vFwm233UZCQoJRXAPY7Xbi4uLo6Ogwnf/ee%2B/x6KOPkp6ejtPpJC0tjdbWVlOevfLy8oziGsBmszFlyhS%2B/vprgsGgKfaRRx4xHc%2BcOROLxXJNu2Ln5uYaxTVgFKa9U%2ByPHj1KZ2cnM2fONJ2XlJTUZyS9P705DJTjYB0/fpzy8nJycnJITU0lLS2NoqIiAI4cOTLofv9s1qxZxMfH09DQYLTt2LGDuLi4v/W/IyIi8m%2BkEWwRkWG2ceNGHA4HXV1d7Nmzh/fff59nn32WLVu2GDEnT54EoLCwsN8%2BQkP/eF9aXl7O/v37WbZsGenp6URFRRESEkJxcTEXLlww4k6dOmUqrnv11zaQyMhIU9ELMGLECOx2e59Yq9Vqur7f72fDhg3MmzePlStXEhsbS2hoKLW1tf0WhAPleunSJc6fP29M3wZISEgwxVksFux2uzFi6o7kAAAF0UlEQVQt/Wr%2BnLvVagUwcv/1118BiI%2BP7zef/ta6X6k3h4FyHIyuri6eeuopwsPDWbVqFbfffjsRERH8/PPPlJaW8vvvvw%2Bq3/5YrVbmzp2L3%2B%2BnsrKSQCBAS0sLLpfLeFYiIiL/VSqwRUSGmcPhMDY2u//%2B%2B%2Bnu7mbXrl18/PHHxlTv2NhYANxuN0lJSQP2dfbsWfbt20dpaSnFxcVG%2B8WLFzl9%2BrQp1m63G4X7lfprux4%2B%2BugjMjMzqa6uNrUPtA55oFxHjBjByJEjTe2dnZ3cfPPNxnEgEODUqVODLmCv1Pu36G8Tumt5dr05DJTjlXpfXly8eNFUvPYW%2Bb3279/PL7/8wvbt28nMzDTaz549%2B5f5DMaTTz5JfX09H3zwARcuXCAYDDJv3rzrci0REZH/J5oiLiJyg6moqCAmJga32013dzdweR2xxWLh2LFjpKen9/uBy1O2e3p6%2Bowk7tq1q8806qysLFpbW01FYTAYZM%2BePdf5DjFy/XOebW1t/e7YDfDJJ5%2BYRsDPnTvH3r17ue%2B%2B%2B0xTugGam5tNxy0tLQQCAVPxOVh33HEHCQkJtLS0mNo7Ojr45ptv/vL83rXlA%2BV4peTkZODyc7nS3r17TcchISEAfZ7nzp07/zKf/vT2M9DId2JiIvn5%2Bbz77rvs3LmTKVOmXPXFj4iIyH%2BFRrBFRG4wMTExFBcXU1NTQ3NzMwUFBaSkpFBWVsbmzZs5fvw4DzzwANHR0Zw8eZJDhw4RGRlJWVkZNpuNjIwMtm7dSmxsLMnJyRw4cIDGxkaio6NN1ykpKeHzzz9n4cKFLF%2B%2BnIiICBoaGvjtt9/%2BkfvMzc3F5/PhdrvJyMjg6NGj%2BHw%2BUlJS%2BrwMgMvrw10uFy6Xi%2B7uburr6zl37hwrVqzoE/vpp58SFhZm7NBdW1vL6NGj%2B6ybHozQ0FBWrFhBVVUVZWVlPP7445w5cwav10tCQoJR7A7E4XAwe/Zstm3bhsViITs7mx9%2B%2BIGtW7dis9lMsZMnT8Zut/Piiy%2BycuVKwsLCaGpq4sSJE6a4cePGERMTw5o1aygtLcVisdDc3Mz3338/qHu02WwkJyfz2WefMXHiRGJiYoiNjSUlJcWIWbhwobHD%2BCuvvDKo64iIiPzbaARbROQGtGDBApKSkvD5fEaxuWTJEmpra/nxxx9ZvXo1ixYt4tVXX6W9vZ2MjAzj3Ndee42srCxqamooLS3l22%2B/xe/3m9YoA9x11134/X5sNhurV6%2BmqqqKu%2B%2B%2B27Qb9fW0dOlSXC4XjY2NLFmyhMbGRtauXcuECRP6jZ8/fz7Z2dm8/PLLlJeXEwwGqaur6zfe4/Fw5MgRSktLcbvdTJ06lbfeemvI1gjPnTuXdevW0dbWxvLly/F6vRQXF5OamtrnRUZ/1q9fj8vloqmpiZKSElpaWvB4PMTExJjibDYb9fX1REVFUVFRwZo1axg1ahRLly41xcXGxlJXV0dkZCQVFRW88MILjBw5kk2bNg36HtevX09kZCQlJSUUFhbi9XpNvx8zZgzJyck4HA7je7NFRET%2B60J6enp6hjsJERGRgfz0009MmzaNyspKFi1adNVYj8eD1%2BultbXV%2BL7vf8qZM2fIz8/nwQcfZN26dYPqY%2BrUqWRmZrJhw4Yhzm7otbW1UVBQQFVVFfPnzx/udERERG4ImiIuIiLyN3V2dvLmm2%2BSlZWF3W6no6ODt99%2Bm66uLuN7xv%2Btjh07Rnt7O5s2bSIhIYHHHntsuFMSERG5YajAFhER%2BZusVivt7e1UV1dz%2BvRpIiIiGDt2LNXV1YwaNWq407uufD4fH374IQ6Hg9raWiIjI4c7JRERkRuGpoiLiIiIiIiIDAFtciYiIiIiIiIyBFRgi4iIiIiIiAwBFdgiIiIiIiIiQ0AFtoiIiIiIiMgQUIEtIiIiIiIiMgRUYIuIiIiIiIgMARXYIiIiIiIiIkNABbaIiIiIiIjIEFCBLSIiIiIiIjIE/gcZPO/S3xf4KwAAAABJRU5ErkJggg%3D%3D">
 
 <br>
 <br>
@@ -271,7 +306,7 @@
 <br>
 
 <h3 id="Read_length_vs_Read_mapping_quality_plot_using_dots">Read length vs Read mapping quality plot using dots</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeZyN5eP/8fcZsxk7DRORXYXKkpIlQiXRgqSPUhJCtPiUJUKKUklabZGiiZQl8g2RrbKFUBhk32eMMWO2c35/zG/uz7lnzplzz8w9cwyv5%2BPRI%2BfMOfe5znXuc537fV/L7XC5XC4BAAAAAIBcCfB3AQAAAAAAuBIQsAEAAAAAsAEBGwAAAAAAGxCwAQAAAACwAQEbAAAAAAAbELABAAAAALABARsAAAAAABsQsAEAAAAAsAEBGwAAAAAAGxCwgVyaMGGCatWqpVq1amnYsGG53l5KSoqxvVq1aunEiRM2lBLu7P7MgJx49913jf1wxIgR/i4ObJSYmGhqx0%2BfPu3vIsEPoqKijH2gbt26Xh9HW5B9jz76qFFnP/74o7%2BLA5gE%2BrsAuDwMHjxY33//vde/BwUFqWjRooqIiFDt2rXVunVrNW/eXIUKFcrHUgK43AwaNEiLFi3y%2BveMbUebNm3UvHlzBQRwfhcAAFx5CNiwJDk5WdHR0YqOjtbu3bs1b948Va1aVW%2B//bZuvvlmfxcPV6l///1X99xzjySpUKFC2rVrl59LhIw8tR3Vq1fX22%2B/rTp16vi7eABQICQmJpqOt9auXavw8HA/lujqxOcAKwjYyKREiRKZhjIlJSXp5MmT%2Bvfff4379u/fr%2B7du2vmzJmEbAAqWbJkptDsqe3Yt2%2BfnnjiCX311VeqXbt2fhcTAAAgzxCwkUmtWrU0bdo0j387fPiwxo8fr2XLlkmS4uPjNXToUC1cuJAhn8BV7sYbb/Tadhw6dEjvvPOOfv75Z0lpbceQIUO0YMECORyO/CwmkOdCQkL0zz//%2BLsYKCAGDRqkQYMG%2BbsYAGxCIkK2VKxYURMnTlTLli2N%2B/bu3as1a9b4sVQALneVKlXSpEmT1Lx5c%2BO%2Bf/75R%2BvXr/djqQAAAOxFwEa2ORwODRgwwHTfb7/95qfSACgoHA6Hnn/%2BedN9tB0AAOBKwhBx5MiNN96osLAwxcfHS5KOHj2aref/9ttvWrZsmTZu3KjTp0/r4sWLKlWqlKpXr66WLVuqU6dOCgsLs7StvXv3au3atdq8ebP27dunU6dOKTExUcWKFVNERIQaNGigDh066JZbbslWGZ1OpxYuXKhFixbpn3/%2B0fnz5xUeHq7q1avr4Ycf1j333HNZraIeFRWlxYsXa926dTp27JhiYmJUtGhRXXfddWratKk6d%2B6sChUqZLkNb4uGnTp1SnPnztXy5ct17NgxXbp0SeHh4brtttv05JNP6sYbb7RczuTkZM2fP19LlizRvn37FBsb67FeJ0yYoM8%2B%2B0yS1KlTJ7355pvGNubOnavXXnvNtN3U1FTVqlXL42sOHDhQffv29Vm2TZs2KTIyUtu2bdOJEycUGhqqSpUq6e6779aTTz6pokWLWn6f3sycOVNvvfWWJKlChQpasWKF5SHSQ4YM0fz58yVJd999tz799NNMj4mLi9OCBQu0atUq7dmzRzExMUpJSVFoaKjCw8NVuXJl3Xzzzbr77rt1ww035Pr9ZFedOnUUEhKixMRESdKRI0ey9fwNGzZo2bJl2rRpk6ntqFGjhtF2FC5c2NK29uzZY2o7Tp8%2BbWo7GjZsqA4dOmR7jYnU1FSj7dizZ4/RdtSoUcPYx/NiSk1UVJTuv/9%2BSVJwcLB27NghKW14fmRkpH799VcdP35cSUlJqlSpku699149/fTTmfbruLg4zZ49Wz///LOioqKUnJyssmXLqkmTJnr22WdVsWJFS%2BWxs369vbeDBw8qMjJSa9eu1fHjx5WamqoKFSrorrvuUteuXXXdddf5ZbtWF0J69913NWXKFElSly5dNHr0aElpbdE333yj7du3G23R9ddfr1atWumJJ55QkSJFfNZZusOHD2vOnDn69ddfdezYMTkcDkVERKhx48bq0qWLatSoIUlq0qSJzpw5I0mKjIzUrbfeavk1fDl58qRmz56tlStX6tixY5KU4zK8%2BOKLWrJkiSTp5ZdfVq9evXy%2Bfnbe2/bt27Vu3Tpt3bpVUVFROnfunJKTk1W8eHFdd911atiwoTp16qSqVatmrxKy4G0/kKRff/1Vzz77bKbnNG3a1OO20p%2B/evVqo27CwsK0Zs0ay79hEydO1CeffCJJuvnmmzV37txsvR93nuo%2BJiZG8%2BfP108//aQjR44oLi5O4eHhatSokR599FHVq1cvx6%2BXlfXr12vJkiXatGmTzpw5o6SkJJUpU0Y1a9ZUy5Yt9dBDDyk0NNTjc3P6OeDqRMBGjjgcDhUrVswI2BcuXLD0vCNHjmj48OEeh4WeOnVKp06d0vr16zV58mS99dZbpuGknnTo0MHrPDf3lYu/%2Buor3XfffRo7dqyl4H7y5EkNHDhQW7duNd1/9OhRHT16VKtXr1bjxo31/vvv%2B9xWXrt06ZLGjRunb7/9Vqmpqaa/pdfBjh07NH36dPXv39/SwYi7FStWaMiQITp//rzp/sOHD%2Bvw4cP64Ycf9Morr%2Bjpp5/2ua0DBw5owIAB2rNnj%2Bl%2Bf9drUlKSxo4dq9mzZ5vuT0xM1I4dO7Rjxw598803mjZtmnEgmFPt2rXT22%2B/rdTUVB09elRbtmxRgwYNLJUxff6yJLVv3z7TY9atW6dXX33V4zV34%2BLiFBcXpwMHDuiXX37RxIkTNX/%2B/HxfZCwgIEDFihUzArbVtuPw4cMaNmyYfv/990x/S2871q1bp8mTJ2vcuHFq0qSJ1205nU49%2BOCDmfbDdO5tx6xZs9SuXTu9%2BeabloL78ePHNXDgQG3bts10f/o%2BvmrVKjVt2lTvvvuuz23Z4YcfftDrr7%2BuS5cume7fu3ev9u7dq8WLF%2Burr74ywt/WrVs1YMAAnTp1yvT4I0eOKDIyUgsXLtRHH33k9aBSytv6dTd37lyNHj1aSUlJHt/b7NmzNWLECD388MOXxXatSEpK0pgxYxQZGWm6PzExUdu3b9f27ds1Z84cTZ8%2BXdWqVfO5vW%2B%2B%2BUbjxo1TQkKC6f59%2B/Zp3759mjNnjv773//qqaeesvNtmCxZskQjRozI9F3PzzJYcebMGT322GM6fPiwx7%2BfPXtWZ8%2Be1bZt2/TFF1%2BoW7duGjx48GV1ot1ds2bNVKFCBR09elTx8fFaunSpOnfu7PN5TqfTdNnWTp062VquP//8UwMGDNDJkydN9x85ckRHjhzR999/r27dumno0KG2nYg8ffq0Xn31Va1bty7T344dO6Zjx45p1apV%2Bvzzz/XGG29k2b4BVhCwkSMul0uxsbHGbStn0//%2B%2B2/17NnTdPAfFham6tWrq3Dhwjp16pQOHDggKa0x7Nu3ryZMmKA2bdp43aZ7uA4KClLlypVVsmRJBQQE6OzZszpw4IAROn/66SedPn1as2bNyvIH8dy5c3rqqae0f/9%2B477g4GDVrFlThQsX1oEDB3TmzBlt2LBB/fr1U8OGDX2%2B97wSGxurXr16mU4EBAYGqlq1aipVqpRiY2O1Z88epaSkKDExUe%2B9956io6P16quvWtr%2B2rVr1b9/fzmdTgUFBalGjRoqVqyYTpw4YawK7XQ6NW7cOFWsWFGtW7f2uq2jR4%2Bqe/fuph/V0NBQ1ahRQ6Ghofr333916tQpS/UaERGhpk2b6tKlS9q0aZOktJM%2B3kJVpUqVsnyfw4YN08KFCyVJpUqVUuXKlRUQEKC9e/ca%2B/nJkyf17LPPavHixbnqyb7mmmvUuHFjrV27VpK0aNEiSwF71apVxgFqkSJFdPfdd5v%2BvmvXLvXp08cUCsqUKaNKlSqpcOHCio%2BP1/Hjx03173Q6c/w%2BcsrpdGa77di9e7d69uxp9IJIaW1H%2Br5z8uRJHTx4UFJa2O7du7c%2B/PDDTHXkXgb38Oer7fjxxx91%2BvRpzZgxw1LbkV4W6X9tR2hoqA4cOKCzZ89q7dq1GjBgQKarNdjt559/Nr7rYWFhqlmzpoKDg7V3715FR0dLSuupffbZZzV//nzt2bNHPXr0UHx8vAICAlSzZk2VKFFCx44dM0JHQkKCnn/%2BeS1ZskTXXnutx9fNq/p199NPPxmjWAIDA1WzZk0VLVpU//77r7GPpy%2Bk53A49NBDD/l1u1YNHjxYP/74oySpdOnSqly5shwOh/bs2WN8/0%2BcOGG0RVmdMP7mm2/0%2Buuvm%2B4rV66crr/%2BeiUkJGjPnj1KTEzU2LFjs9Ujnh3/93//p0GDBplO/qaPpImPj9eePXuUnJycp2Ww6uLFi6ZwXbhwYV1//fUqXry4pLTfgEOHDsnlcsnpdOrLL79UTEyMxo8fn6flKl26tJo2bSqXy2UKiLfffruCgoIyPT79JHBAQIA6duyoDz/8UFLaiSMrAXvNmjU6fvy4pLR2o127dna8DUlpJ0pHjhypuLg4SVKVKlUUHh6uM2fOGMdcLpdLs2bN0qVLlzRmzJhcv%2BaJEyf05JNPmq5kERISoho1aqhw4cI6ePCgcVx67Ngx9enTR%2BPHj1fbtm1N28np54CrEwEbObJz507TGfHq1atn%2BfgLFy6ob9%2B%2BRiN27bXX6tVXX1WbNm0UGPi/3fDAgQN64403tG7dOiUnJ2vIkCGqXbu2ypcv73G7xYsX1yOPPKI2bdrolltuydTIxcTE6Ouvv9ann36q5ORkbd68WV988YV69uzptaxjxowxhesnn3xSzz//vPEj63Q69fPPP%2Bv111/Xli1bjJMC/jB06FAjXIeEhKh///56/PHHTQHw/Pnz%2Buijj/Tll19KkqZPn64GDRpkGYaltPf50ksvSZL69Omjnj17qlixYsbfM/Z0jR07Vq1atfI63Pm1114zDlADAgKMbaYfVLlcLq1du1YjRozwWa/NmjVTs2bNTEPaAwICvK5gnZXly5crJiZG5cuX12uvvaaWLVsaZ82Tk5M1bdo0TZgwQVJa7%2BSMGTPUv3//bL%2BOu/bt2xsBO/2A3v174MmiRYuMf99zzz2ZhrG9//77RriuUaOGRo8erfr162fazpkzZ/TLL79k6iHLLzt27DCdBPB1EBIbG6u%2Bffsa4bp8%2BfIaPHiwWrVqZaqzqKgojR49Wr/99puSk5M1ePBgLVy4UBERER63W6JECaPtuPnmmzO1HefOndPs2bP12WefKTk5WX/88YdmzZqVZS/byJEjTeH66aefVt%2B%2BfU1tx7JlyzRy5Ej98ccf2rt3b5bvPTdSU1M1ZMgQBQUF6aWXXtJ//vMfhYSEGH%2BbOnWqMVJk9%2B7dWrBggaZMmaL4%2BHg98sgjevnll3XNNdcY21u9erVeeOEFxcfHKz4%2BXpMmTTKmOniSF/Xr/t6GDx8uSerYsaMGDRqk0qVLS0prR9asWaPhw4frxIkTcrlcGjlypBo0aOBzaHtebdeqZcuWKSYmRhUqVNCIESPUvHlzU1s0efJkIywdPXpUM2fO1HPPPedxW/v37zdNqylfvrxGjx6tpk2bGm10XFycpk2bpk8//VRvvvmmXC6XLe8j3alTpzRkyBAjXJcpU0ajRo1Sq1atjPd1/vx5ffjhh/rqq6/ypAzZVbZsWXXu3FmtW7fWDTfckKkH9cSJE5o6daq%2B%2BuoruVwuLVy4UPfcc0%2BWHQG5VadOHU2bNi3TtIP33nvP5/WXO3XqpI8//lipqanatm2b9u7d67PN/e6774x/33fffbZMjUr35ptvKi4uTrfeeqvGjBljKktUVJRee%2B01bdmyRVLaCYE777zTmMKREy6XS6%2B88ooRrh0Oh3r37q1nn33WeF9Op1MrV67U66%2B/rjNnzig5OVlDhw5V7dq1TSfnc/M54OrDImfINpfLpY8%2B%2Bsh037333pvlc959911jnnblypU1f/58tW3bNlOoqFKliiZPnmwMz7lw4YIxD8iT1atXa8iQIWrYsKHHM4glS5ZUv3799N577xn3zZo1SykpKR63t3XrVqP3QJJ69eqlYcOGGQfIUlqQu/feezV9%2BnSFhoYaPUH5bcmSJcaQ4dDQUM2cOVO9evXK9GNYokQJDRs2TAMHDjTuGz9%2BvM8DGZfLpfPnz2v06NF68cUXTeFakurVq6ePPvrIOFg7cuSI0Zuc0apVq0zTAl599VUNHDjQ1GPhcDjUrFkzffnllypZsmS%2B1WtMTIzCw8M1Z84c04GflNbz1qdPH3Xt2tW4z33oXE61adPGGA4bHR1thG1v4uLitHr1auN2xuHhSUlJxmJhAQEB%2BvTTTz2GaymtB71z586aN2%2Bebrrppty8jWxzuVyaNGmS6T5fB6bvvPOOMWezSpUq%2Bu6773TvvfdmajuqVaumadOm6c4775SUduDuaY66lNYzuWrVKg0ePFgNGjTw2HaULl1a/fv31zvvvGPc9%2BWXX2aahpFu06ZNxuULJem5557T4MGDM7Udbdu21dSpUxUSEpKn%2B3hqaqouXLigd999Vz169DDCtZS2vkLv3r31wAMPGPcNHz5cUVFR6tatm8aOHWsK15J011136ZVXXjFu//TTT8Yw/4zyon4zvrfY2Fg99thjeuutt4wQLKW1I82bN9fMmTNVokQJSWm97laG5OfVdq2KiYlR2bJlNWfOHLVo0SJTW9SvXz89%2Buijxn0//PCD12299957xomskiVL6ssvv1SzZs1MJ0CLFi2qgQMH6tVXX1VCQkKmaQS59cEHHxg9lWFhYZo%2BfbratGljel8lSpTQ8OHD1aNHjzwpQ3Zce%2B21WrlypQYMGKCbbrrJ4/DkiIgIvfbaa8bJZyntpPXlqly5crrrrruM2/Pmzcvy8efOndPKlSuN21Z6vLMjOjpatWvX1owZMzIF/WrVqumLL74wjewZO3askpOTc/x6S5YsMU0rGjx4sF588UXTcVJAQIBat26tmTNnGvfHx8dr7NixOX5dgICNbDl8%2BLAGDhyoX375xbjvgQceyHKRq3PnzplCydtvv206cMkoMDBQo0ePNg6gFy1aZPxIZ2R1IbR7773XWDTjxIkTxuJdGbn36lWqVCnTisfubrrpJvXo0cPS6%2BeFqVOnGv/u16%2Bfz0VB%2BvTpoypVqkhKGxa6YcMGn6%2BRvjiaN7fccotpsZj0M88Zffvtt8a/a9eure7du3vdZsWKFbOs97wwePBgrz2dkkzlPXLkSKb5qdmVcYi3e%2B%2B0J8uWLTPCTHh4uO644w7T38%2BePWschISHh1vuUcvPuYOHDx/W888/b7qk34MPPuh1YToprbc9PUQ4HA698847ltqO9Pe1YMECY52IjKy2Hffff79xwHf06FH9/fffHh/3zTffGP%2BuXLlylqMc6tatmy/zTVu3bq377rvP69%2B7dOli/Ds5OVnh4eGmEJ2R%2BwJAFy9ezPI6z3bXb0bh4eFZTnXJ%2BBmsWLHCNMUgv7dr1dChQ1WuXDmvf3dviw4ePKhz585lesypU6e0atUq4/aAAQOybBOeeuop20%2B2xcXFGQuRSdIzzzyT5aKKL774os%2BF4/JacHCwx5NBnjzzzDNGr%2BWWLVv8dqLdCvfv%2BYIFCzKtLeDuhx9%2BMH5Lqlev7vVEbW6MHj3a63oLoaGhGjNmjHEi6NSpU6bjzez6%2BuuvjX/Xq1cvy3a3evXqpmOPVatWZXsRTiAdARuZ/PPPP3rmmWdM/z355JO699571aZNG1MvTZMmTfTGG29kuT33no6MgcybChUqGA37pUuXMi0YlBPuQ3rSV4p153K5Mp25DQ4OznKbjz/%2BeJ6sBuxLVFSUdu7cKSmtZ8O9h9WbgIAAU4%2BVp8WiMnLvLfHG/QfYfWh9upSUFNN8pUcffdTnqtlZreRptxIlSmQZQqS0ntMyZcoYtz29z%2Bzq0KGD8e%2BVK1d6DYKSOYC3a9cuUzB27508ffq0zp49m%2Bvy5cTu3bu9th2tW7c2LdLWrFkzjRo1KsvtLV261DjYq1evnqXVpitWrGi0MQkJCdq%2BfXsu3lEa9ysQeGs73A8Cu3Tp4nPI/%2BOPP2559fic8rU4UZ06dUxlaN%2B%2BvWlfyqhw4cKmXic7vgeS7/r15OGHH/YZ4jt27GgcyCcnJ5tCZ35v14pSpUoZU168qV69ukqWLGnc9vQZrF%2B/3hilFRoaqgcffDDLbTocDkttfXasW7fOmEZWqFAhn79RwcHBtveW5qVChQqpTp06xu2//vrLj6XJWvPmzY31EqKjo7VixQqvj3UfHm734maSdOutt5rqzZMbbrjBtC7J8uXLc/RaMTEx2rx5s3H7iSee8Pmczp07G99tp9Np23cbVx/mYCOT8%2BfP%2BxyyWrlyZfXt21cdOnTweZDo3sDdfvvtlstRs2ZN/fHHH5LS5nxntSpwcnKyNmzYoB07dujw4cO6cOGCEhMTTcOg3Re4yLh6Zfrf3VfKbtasmc8yhoeH68YbbzTCbn5xH4pdu3btTMO3vXE/OLZSZisnQ9x7ft0Xr0q3b98%2B07A/K/tA0aJFVbt2bdO%2Bk1fq1KnjMwxJaUPt0oOr1ZWvs9K0aVOVKlVK0dHRio%2BP1/Lly02hO93p06eN74HkefXw0qVLq3z58jp27JicTqeee%2B45vfHGG1n2DueFmJgYn21HlSpV1K9fPz3wwAM%2B2w73/Tw7bUeNGjWMfWfXrl2ZevzdJSUlacOGDfrrr7%2B8th3u86o9tR379%2B83jbKxsgJtRESEatasmWUvcG75ujRhWFiYwsLCdPHiRUuPl2QaOu7p%2B56RHfXriZU6LlKkiBo0aGDskzt27PAZGvJqu1bUrVvX0qiSsmXLKiYmRpLnz8D9JEWdOnUszaHNzvfLCvcTWzfccIPpBKU3zZs3N9a78Lf4%2BHitXbtWO3fu1LFjxxQXF5ep59f9u2t1v/WHgIAAderUyZieM2/evEwLeElpU%2BT27dsnKe3Eva8TMzlhdXXu5s2bG%2B2/1ZNuGWXsmLFyTFekSBE1atTImJK1bds2devWLUevj6sbARs5cuTIEe3bt89SD4z7Qj4rVqzwOjw7I/dA7G34VUpKimbMmKEpU6YYBxxWeApIhw4dMv4dEBBg6RIoUlqPQn4HbPc6PXLkiJ555hlLz3OvIytD2jLOw/TEfaiXp/lz6fNnpbQhvNdff73PbUpS1apV8yVgW3mPkkw96hkveZMTgYGBatu2rXFpsMWLF3sM2D/%2B%2BKMxL7VKlSpez/53797dmDO2bds2dejQQTfddJOaNWumBg0aqF69eqb5wP6SnbYj/WBPSlsR2%2BqBlvsCeVm1HdOnT9e0adNsbTsCAwMtXx%2B3Ro0aeRawAwICVKpUKZ%2BPK1y4sBGwrYQgX9/3dHbWrydWV%2BitXr26EYTdP6f83q4VVtui7LS5VvfFypUrq1ChQpbmwFvhvhp3zZo1LT2nevXqcjgcfl3oLCEhQZMmTdKcOXOyHFWUkbdpbJeLTp066ZNPPlFqaqrWr1%2BvY8eOZVo81v1a161atcpyOk5OZef7lS6n3y/3ffDaa6%2B1/PtXq1YtI2B7u2Qb4AsBG5k0atRIs2bNMm6npKTo5MmT2r17t6ZPn67NmzcrJSVFkydPVkpKis9LPrkfXEVFRSkqKirbZfL045WcnKznn38%2BR/NzPM1Bcu8JCAsL8zk8PJ37cL384l6nZ86c8dlr6ImvA4JChQple46upwMj9wPmIkWKWB5Sb7VXPreszrlzZ9cBYPv27Y2AvW7dOp07dy7TQY378HBPvdfpunfvroMHD2rOnDnGfbt27TJOaKUPabz//vvVqVMnW1eGTde4cWPNmDHDuJ3eduzatUvTpk3T1q1blZycrM8%2B%2B0ypqakaNGhQlttz38/Tr5mbXZ4CW1JSkvr3729aOM4qT22H%2B8iXokWLWhoRIeVt2xEYGJjtIeg5%2BS54Ynf9emK17twf5/455fd2rbCrLXJv2622owEBASpSpIilUQlWuNeJ1ToNDg42LinoDxcuXFD37t1zdMLc6n7rLxEREWrevLl%2B%2BeUXOZ1OzZ8/37SWwMWLF7V06VLjdl4N18/J9yslJUUXL17M9mXc3PdlKycbPT3Wru82rj7MwYZPgYGBqlChglq3bq2vv/7aNFdr%2BvTpPg%2Bi7Ojt83S93ilTppjCdf369TVq1CjNnz9fGzZs0Pbt2/XPP/8Y//Xp0yfL13BfqTI7BzpWg7id8qpO84K/L7tyOatfv76x%2BFBKSorpAEdKG8XhPrfPUw93OofDoZEjR2rWrFm6%2B%2B67M%2B3D6ZdpSb%2Bcmvtq%2BXklve1o06aN5syZo44dOxp/mzp1qs8TQ3YcaHvazz///HNTu9WgQQONHj3aa9vx7LPPZvkaBantyA92129GgYGBlk/Uudexr9WI82q7%2BS2nba6dbXVB/E68%2BeabpnDdsmVLvf3221q4cKF%2B//137dixw7Tf5ubyUf7gfuw2f/58U9u4ZMkSo72tUKGCcTUGu1ndFzLuBzk5geH%2BnJzug5f7iRNcvujBRrY4HA6NGDFC27ZtM4Y2jho1Sj/99JPXH8ZixYoZZxLHjx%2BfZUiwKiUlRV988YVxu3v37ho6dGiWz0kfBumNe4%2Ber8dmZ7t5wX2oU%2BfOnTVmzJh8L4NV7mW9ePGinE6npYNYO%2BY5FwQPPPCAcTmpRYsW6T//%2BY/xN/fe63r16llaHbxRo0Zq1KiR4uPjtWXLFm3atEm///67tm3bZgz/jImJ0csvv6yQkBCf10O3S/oJgO3bt2vv3r1yuVwaNWqUlixZ4vXgp3jx4sZB34QJE2w5oE1KSjL1svfo0cPnKJwrqe3Ia3lRvxmlpKQoMTExywXZPG3b16iNvNpufnPvtbbajjqdTlt7ji%2B374SvE8onT540XfZs%2BPDhPufeFrTv71133aWIiAidOHFCR48e1fr164050e6X73rkkUfybPFWq3WW8XE5GdHm/pzsfFbuI0Auh2lVKJjowUa2BQUFafjw4cbto0ePmoalZuQ%2Br899XnVu7NixwwjtYWFhevnll30%2Bx9elldyH5iYlJen06dOWyuKPyzi4l9WuOs0r7vO8UqZua3sAACAASURBVFJSLJfXrhWKL3fuw77//PNP0/5kdXi4J2FhYWratKleeOEFzZkzR2vXrtVLL71kzCV3uVwaP358LkufPcHBwRo2bJhx%2B9ChQ6ZLuGXk3na4L4SVG9u3bzcOoIoWLaoXX3zR53N8tR3u5YyPj/d46SRPrsRLwORF/Xpite7cH2dljnlebTc/ube5VtvRgwcP2jb/WjLXydGjRy095%2BTJk5ZGA7ifkLM6esDXiYYNGzYYPfhVq1a1tLBVbi/XmN8KFSpkGkWUHqr37dunP//8U1LaVAH3x9jN6r7g/v0qUaKE5Wk37tyPk9IXALXCfc53XsxDx9WBgI0cue2220yrQU6ePNnrgjfuK9NaufayFcePHzf%2BXbNmTZ89Di6Xy%2Belvm644QbTWVsrCyo5nc58X%2BBMMq/u/eeff/ptzpoV1atXNy3K474itjdxcXGW6tX98yqoQ9GrVaum2rVrS0p7D4sXL5aUtv%2Blh8r0BdFyo3Tp0urdu7dee%2B01476DBw9aPuCxS%2BPGjU2ren/22Wdeh%2BHlRdvhvgBUrVq1fA5JtdJ23Hjjjab5zlbajtTUVL%2B0HXktL%2BrXE6sL3rk/zsq1nvNqu/kp/briUtrlo6z03llpl7PjxhtvNP69c%2BdOS%2B2z1bp3n4trZc74/v37fQZx92MKX5eRktJ%2Bo9wXG80PGddUyMlvXufOnY3fzeXLlys6Otq0uFnTpk2NS3rlhfz8frk/Lz4%2B3vLn5d4eeXptOz4HXPkI2Mix5557zvj3mTNnFBkZ6fFx7kF8y5Yttqya6/5jaWUhnw0bNujEiRNZPqZIkSKmg4IlS5b43O7vv//ul2sON2rUyDiLn5SUpO%2B//z7fy2BVYGCgaT5XZGSkzx%2BkBQsWZLlCcTr34O50OgvsfCn33un0Xuv0oC2lXW/erjPprVq1Mt32x/7r3nacOnXKdIDnzv3SfJs2bcrRAokZpV8fWLLWdqxZs8bnaJZixYqZVkrOOJfek/Xr12drde2CIi/q1xMrdfz333%2BbenDdr62b39vNT02aNDF6/C5duqQFCxZk%2BXiXy5XlSJKcaNiwofHvjJca9MbKb64kUwDcs2ePz8dndd3ndNndbxctWmR6Tn4IDg429eQmJiZmexvXXnutcbmq5ORkzZs3z7R/5PW1yFesWOHzdzopKUk///yzcTun368aNWqYFkuzsu7I7t27TYtpuu/H6ez4HHDlI2Ajxxo2bKhGjRoZt6dOneqx4WzevLmqVKkiKe2H/PXXX891ECpbtqzx73/%2B%2BSfLM/RJSUkaN26cpe26zw9fsmRJlj/eTqdTEydOtLRdu5UoUUIPPfSQcfvDDz/M957I7HBfXGXnzp2mVeozOnr0qHG9Tl9KlixpGi5YUC%2Bp0a5dO6NXYd%2B%2Bfdq5c6fpYNPXugXZOYOecbRDiRIlslFSe9xxxx2qX7%2B%2BcXvKlCke24SWLVsal3VzOp0aMWJErheUCg8PN/69e/fuLBcMTEpK0jvvvGNpu%2B7XjF20aFGWJwNSU1P91nbktbyq34xWrVqlLVu2ZPkY92sqV6hQwfR7ld/bzU/h4eFq0aKFcdvX78OXX35p%2B2iKm266yXTSaeLEiVm2U3///bd%2B%2BuknS9tOH/EjSRs3bsxySkZ0dLRmzpzpc5vu%2B%2B2ff/6ZZVmjo6P10UcfWSqr3dwv5ZbTy1e5/x5PmjTJuJRhmTJl1LJly9wV0IeYmBjT%2BjmefPnll8aJX4fDYTrWyY6AgADTc2fNmpXl9cpdLpfeffdd43ZERITX63bb8TngykbARq5k7IlyXygjXUBAgP773/8at7du3ao%2Bffr47DlLSEjQ/Pnz1aNHj0x/u%2BWWW4yhh/Hx8Xr77be9Xq5kwIABlnvNO3bsaDScqamp6tevn2noWLrU1FSNHj1aW7dutbTdvNC3b18jHMXExOjJJ5/0eZDkdDq1fv16PfPMM/n6o9CiRQtTL/bYsWM1adKkTCdG1q1bpyeeeELR0dGWLqsRGBhoOoibOXNmvq2ObqeyZcuahk2PGjXKmN8XFhaWqdc5o99%2B%2B019%2BvTRxo0bszwwTE1NNYWDcuXKqVKlSrksfc64tx3Hjx83LTCUrlChQqZLeW3atEnPPfeczznO8fHxmjdvnsfrw9erV884KXPx4kW98847XtuO/v37Wx5W2KlTJ2OUQUpKivr27etx1ExKSopGjhxpeahkQZNX9evJCy%2B8YLrmeTqXy6UJEyZo1apVxn3PPvus5cuW5dV289PLL79s/EZGR0friSee0Lp160yPuXjxoiZNmqRx48apcOHCxvoMdunZs6fx782bN2vMmDEe53kfPXpU/fr1szwH/LbbbjN6JpOTkzV69GiP%2B9j58%2BfVr18/SyMkbrvtNuPf//77r6ZOnerxcWfOnFHPnj115swZS2W1m/uQ5a%2B//jpHnRUtW7Y0Oince18ffPBB2y7Vl5UPP/xQy5cv9/i3X375RR988IFxu23btpYW9/TmySefVFhYmKS03wVvx55Op1Pjxo0zXdmiV69eXi9VasfngCsbq4gjV%2B68807deuutxgIZU6ZMUefOnTM10q1atVLv3r31%2BeefS0oLUq1atVK7du3UqFEjlS1bVoUKFVJsbKwOHDig7du3a%2B3atYqPj1e5cuUyvW5YWJg6depkXEM4MjJS%2B/btU6dOnVSxYkXFx8drx44d%2Bvbbb3Xy5EkVKVJEzZs39zn8r1ixYho2bJixMM%2BhQ4fUvn17de3aVQ0bNlRISIj279%2BvuXPnateuXQoJCVGTJk20cuXKXNdldpUvX17jx49X3759lZKSoiNHjqhjx45q0aKFmjVrpuuvv16hoaGKi4vT0aNH9ddff5mGY%2Bb3vKExY8aoa9euOnnypJxOpz766CNNnTpVNWvWVGhoqP7991/j7HL9%2BvXVsGFDTZ48WVLWl2554IEHjBMLkZGRWrlypbHNdO3bt8/1HOa81r59e61fv16SeQ5Y69atTUPhPXG5XPrll1/0yy%2B/qHz58mrWrJnq1q2rcuXKqUiRIrp48aL27NmjBQsWmEZl9O7d22/hoHnz5qpbt64RND///HM98sgjmRazueeee/TMM89o2rRpktKGFKe3HbfddpvKlSungIAAxcbGav/%2B/UbbkZCQoAoVKmR63aJFi%2BqRRx4xprTMnj1be/fuVceOHVWxYkVdvHhR27dvV2RkpE6fPq1ixYrpzjvv1LJly7J8PyVKlNDQoUONEwIHDx402o4GDRooJCREUVFRmjt3rnbv3q3Q0FA1btzYdKnBK0Fe1a%2B74OBgNW3aVCtXrtTDDz%2BsLl266Pbbb1eRIkV06NAhfffdd6aTnw0aNFCXLl38tl1/qFq1qoYOHaqRI0dKSguxPXr0UEREhCpVqqRLly5pz549xlScYcOG6YMPPjBu23G5rAcffFALFy40QstXX32lrVu3qnPnzqpataoSEhK0ceNGffPNN4qLi9Ptt9%2BuvXv3%2BjyBFhwcrCeeeMIY6bR06VKdOHFCjz32mK677jrFxcVp69atioyMVHR0tJo2bapdu3Zlud1q1aqpadOmRlnfffddbdmyRQ888IDKlSun2NhYbdy4UfPmzVNsbKzKly%2BvKlWqZDppkdfat29vHG%2BsWLFCzZo10w033GCal96sWTN17drV6zbSFztLv3pFurweHi6lBealS5eqX79%2Batu2re655x6Fh4fr9OnTWrFihX788Ufj2KRkyZIaMmRIrl6vQoUKGjx4sEaMGCFJ2rVrl9q1a6cuXbqofv36CgkJ0YEDBzR37lxTB8Udd9yhxx9/3Ot27fgccGUjYCPXnnvuOfXu3VtS2gI3P/zwg8eG%2BqWXXlLJkiU1fvx4OZ1OJSQkaN68eR57va14%2BeWXtWnTJiMwbN68WZs3b870uJCQEL3zzjuWe4zuv/9%2BHTlyRO%2B9956ktNVHJ0%2BebIS9dAEBARoxYoQOHz7sl4AtpV12Y%2BrUqXrhhRcUExNjClqXmwoVKmjGjBkaOHCg8ZldunRJ27dvNz2ucePGev/99zVlyhTjvqwu0dGtWzetXLlSGzdulJQ23y9jj4WVRWv87Z577tHIkSMzzefK7urhx44dU2RkpNc1EdL95z//yfIAIj/06dNH/fr1k5S2auyiRYv08MMPZ3rcK6%2B8opIlS2rChAnG5YTmzp3rde62L6%2B88oo2b95szLXbuHGjsf%2B4Cw0N1fjx4z22K560b99eR44cMXpgYmNjjZOK7goVKqRRo0Zp3759l%2BV3Nbfyqn7dvfXWW%2BratasOHDigGTNmmC4N5q5GjRr6%2BOOPLV92KK%2B26w/pB/fjxo0zgvOJEydMIysCAwP13//%2BV507d9bbb79t3J%2BTyyJ5MnHiRNPoqp07d3ocaVWhQgWNHz9ejzzyiKXt9urVS2vXrjVOeGzdutXjiLJatWrp/ffft3SJvzFjxqhz587G78fKlSs9/raXLFlSEydO9DnUOS%2B0bdtWy5YtM4bTx8TE6LfffjM9xn34sjedO3fW559/boz4atCggapWrWp/gTPo3r27XC6XfvrpJy1dutRrp0eRIkU0ZcoU03TAnOrSpYsuXLhgXDUjOjpan332mdfH33777frkk0%2ByPPls1%2BeAK9fl%2B8uAAqNFixamOVGTJ0/2uvhHjx49tHDhQt1///0%2Bz5BXq1ZNvXv39jp/qmjRopo9e7Y6dOjg9SCnXr16%2Bvbbb7N9rd9evXrps88%2B03XXXefx71WqVNHUqVPVqVOnbG03LzRu3FhLly5Vz549TQt6eBIeHq6OHTvqq6%2B%2BMua25qeqVatq/vz5GjVqlBo1aqQyZcooODhY5cuX11133aUJEyZo2rRpKl26tGkYV1bDxYODgzVjxgy99dZbatGihSIiImwf6pgfihYtmmn%2BW5kyZUxD67254YYb1L9/f9WuXdvrkLZ0derU0ccff6wRI0b4fWhrq1atVKtWLeP2Z5995nWYaK9evbRgwQLdd999PtuO6tWrq0%2BfPpo%2BfbrHvxctWlRz5szRAw884LXtaNCggb799ttsz0l87rnn9Mknn3jsPZfSvgPTpk3L8bzCgiAv6zddqVKlNG/ePK/DWoOCgvT4448rMjLS0nSTvN6uv3Tt2lWLFy9Wjx49VK1aNYWFhalIkSKqXr26unXrph9%2B%2BEFPPfWUkpKSTNf/9fVbYlX67/TTTz/t8WofgYGBuu%2B%2B%2B/Tdd995HK3mTXBwsKZOnapHH33U4z4WEhKixx57TJGRkZbXmbj22ms1d%2B5cYxGwjAoVKqQWLVro%2B%2B%2B/180332y5rHZyOBz64IMP9MEHH6hNmzaqUKGCzxFOnkRERJjqJT96r6X/lf/FF1/0%2Brk0adJECxYssLWOe/bsqdmzZ6tevXpeHxMeHq7hw4dr%2BvTppp5oT%2Bz6HHDlcrhYXx5%2BcunSJW3ZskVHjhwxVtMtVqyYKlasqJo1a2brzOXJkyf1%2B%2B%2B/68SJEwoKClJ4eLhuueWWXM3dkdKG3m7ZskV79uxRbGysypQpoxo1apguH3Q5Sb9s2N69exUdHa2kpCQVLVpUERERql69urHYXEHQtm1bY6XeGTNmqHHjxn4uUcEQFxenv//%2BW4cOHdK5c%2BeUlJSksLAwRUREqE6dOl5PGhUkWbUdtWrVMi1Y5MuJEyf0%2B%2B%2B/6%2BTJkwoKClLZsmV1880329J2bN68WXv37tWFCxeMtsNfB%2Bb%2BYlf9RkVFGb2QwcHBphFJ586d0x9//KETJ04oNTVV5cuX15133mkpWOXVdguazZs3GyNaKlSokCejsuLi4rRu3TodPXpUDodD5cqV02233Wb6vjZp0sSY3xwZGWm6JKU3Z8%2BeNa4UEhgYqGuvvVZ33HFHrj6nf//9Vxs3btTZs2cVGhqqcuXKqUGDBtlqWy5nq1evVq9evSSlnQRZu3ZtngVEb59pYmKifvvtNx05ckQXL15UeHi4GjZsmOu215fjx49r8%2BbNOnPmjJKSklSqVCnVqlVLdevW9ftJZ1w5CNgALjtbt27VY489Jimtx2j9%2BvUqXry4n0sFwF%2ByCsKX43YLmqFDh%2Bq7776TlLauRfoUqfyWk4CN7Ovbt69x%2BbKuXbsac/XzAp8prkYMEQdwWYmLi9Pw4cON261atSJcA0A2We0/Wb16tb7//nvjtqd1EHDliIqKMq39wEJcgP0I2ADyxcWLF9WhQwfNmTPHuASVu5SUFC1fvlwdO3Y0Lt0TFBRkLKAHALBu9uzZevnll/Xrr796vIzQuXPnNGnSJPXr189Y7KpevXpq0qRJfhcV%2BSQ6OlrDhg0zPu9mzZqZ1sEAYA9WEQeQb/755x%2BNHDlSI0eOVEREhMqXL6%2BQkBBduHBB%2B/fvV3x8vOnxL730kul6kwAAa5KTk7V48WItXrxYQUFBqly5skqXLi2Xy6XTp0/r4MGDpl7u0qVLa9y4ccxDvcKMHz9eBw4c0IULF7Rr1y5jMbvAwEC99NJLfi4dcGUiYAPIFxkP2jJeLsZdsWLF9Oqrr%2BbbyqYAcKVxX107OTnZGBnkSe3atfXBBx%2BoUqVK%2BVE05KONGzdq27Ztme7nBDaQdwjYAPJFWFiYVqxYoRUrVmjz5s2KiorSyZMnlZCQoODgYJUsWVI1atTQnXfeqUceeYR51wCQC926dVOtWrW0Zs0abd%2B%2BXYcOHVJ0dLSSk5NVrFgxXXPNNbr11lvVunXrHF8uDQVL0aJFVadOHXXv3l133323v4sDXLFYRRwAAAAAABuwyBkAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANgj0dwH8yeVy6dy5i3I6Xf4uylUnIMCh0qWLUP9%2BQN37F/XvX9S//1D3/kX9%2Bw91n3/Cw4v5uwjA1d2D7XA4FBDg8HcxrkoBAQ7q30%2Boe/%2Bi/v2L%2Bvcf6t6/qH//oe6Bq8tVHbABAAAAALALARsAAAAAABsQsAEAAAAAsAEBGwAAAAAAG1zVq4gDAPKOw3H5LeiTXiSH4/IsX35xuVjJGACAvEDABgDYrnDhi3I4Yv1djEzSVvENVkhIkoKCrt6Q6XIVV0JCEX8XAwCAKw4BGwBgK4fDIYcjVi7XBkmJ/i6OidOZFrCdzqSruBc3RA5HYzkcRa/iOgAAIG8QsAEAeSRRLtclfxfCJG1YuEtpZbs6w%2BVVPDIeAIA8xyJnAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0C/V0A4HLmcDj8XQTbpb8lh6Ngvz%2BXy%2BXvIgAAAAAmBGzAi8KFL8rhiPV3MWwXEOCQFKyQkCQFBRXckOpyFVdCQhF/FwMAAAAwELABDxwOhxyOWLlcGyQl%2Brs4tnI60wK205lUgHuBQ%2BRwNJbDUbQAvwcAAABcaQjYQJYS5XJd8nchbJU2LNyltPdWMMNpAR7ZDgAAgCsYi5wBAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYI9HcBACBnHHI40v5fkDgc//u/w1Gwym7VFfq2gHyTF23D1dD25AeXy%2BXvIgC4zBGwARRAgQoMdCk09LikgnWwExDgkBSskJAkBQUVrLJbF6DAwGQlJ/u7HEDBU7jwRTkcsbZv9%2Bpoe/Key1VcCQlF/F0MAJcxAjaAAqiQHI44uVw7JCX6uzDZ4nSmHeQ6nUlXcE9IcTkcNf1dCKDAcTgccjhi5XJtkN1t29XR9uS1EDkcjeVwFKUOAXhFwAZQgCXK5brk70JkS9rQTJfSyn5lHqA5HCH%2BLgJQwNnftl0NbU9eY2Q9ACsI2AAAXHXyfw0D5gD7RrUAQMFHwAYA4KrinzUMmANsBesXAEBBR8AGAOCq4p81DJgDbAXrFwBAQUfABgDgqpS/axgwB9g31i8AgIIvwN8FAAAAAADgSkDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAYEbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAaB/i4AAAAAUDA45HCk/d/yMxz/%2B7/DYf15AAomAjYAAADgU6ACA10KDT0uyWX5WQEBDknBCglJUlCQ9echJ2r6uwAAARsAAADwrZAcjji5XDskJVp%2BltOZFrCdziS5XATsvBMiAjYuBwRsAAAAwLJEuVyXLD86bVi46/8/j4CdVxh9j8sFi5wBAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2CPR3Aa52DofD30Xwi/S37XBcnnVwGRYJAAAAwGWOgO1HhQtflMMR6%2B9i%2BEVAgENSsEJCkhQU5PJ3cTwIUGBgspKT/V0OAAAAAAUFAdtPHA6HHI5YuVwbJCX6uzj5zulMC9hOZ5JcrssxYBeXw1HT34UAAAAAUIAQsP0uUS7XJX8XIt%2BlDQt3Ke39X34B2%2BEI8XcRAAAAABQwLHIGAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANLpuAPXfuXHXo0EF169ZV48aN1adPH9PfV69erYceekh169ZVmzZt9PXXX/uppAAAAAAAZBbo7wJI0qRJkzRjxgz16dNHt9xyi86fP681a9YYf9%2B6dav69u2rBx98UIMHD9aWLVs0ZswYBQcHq3Pnzn4sOQAAAAAAafwesKOiovTpp59q8uTJatq0qXF/mzZtjH9//PHHuummm/TWW29Jku644w4dP35cEydOVMeOHRUQcNl0xAMAAAAArlJ%2BT6bz589XxYoVTeHaXVJSkn777Te1a9fOdH/79u11%2BvRp7dq1Kz%2BKCQAAAABAlvwesLdt26aaNWvq448/VuPGjVWnTh1169ZNu3fvliQdOnRIycnJqlq1qul51atXl5TWAw4AAAAAgL/5fYj46dOntXPnTu3du1ejRo1SUFCQPvroIz399NP6v//7P50/f16SVLx4cdPz0m%2Bn/z2nihcvnKvn54bDUVlSV0kuv5XBvxwqXPhyfe8BcjiCFBhYQ1fm53M5170VBf3zKej178vl/vlc6fXviz8/n6u97n3J68%2BG%2Bs%2Bd3Hw%2B1H1eczjC/F0EQNJlELBdLpfi4%2BM1adIk1ahRQ5JUu3ZttWrVSpGRkapfv74kyeFweHy%2Bt/utvnahQv7sxA/%2B//9dvXI%2Bff6QpBSl7cKVLNxvdRvm%2BxyOkGw8P/12RlU93JdxGxll3KZ7Gfd7eJwvmbeTue49laWqh79Zfc2sXt/q5%2Bf%2BXqtmepzD4f2z836fr8emy/gcb2XJivf9Met939Nr%2BSpfbvn6jK2Uyfxcz98fX59Jxm1Z%2BY5lLJcn5ucGBFjZTzyV2f31re4H%2BzPcTv/p9Vbf7q8nD/%2BWl%2Bdlj8Nx0tbtZea5Xr23PVntE1mVLavPz1c7nfEz9fVaOXltT9vOep9L%2B%2B54%2B85n53cuM3P9%2B2pXfH3nfLWtuStr3m0zp6%2Bdxty2WS9PWt1bfby3diC39ZjOyvclp3wdu7jLTj34%2Br0vLJcrVQ7HkZwXHVBxSaVytQW/B%2BwSJUrommuuMcK1JJUtW1ZVq1bVvn371LJlS0mZe6pjY2MlZe7Zzg6Hw6HY2ASlpjpzvA3kTKFCASpevHCO6z84%2BHuFhr6nS5deVlJST5/3W91Gbp6ffjsl5Q4FBf0ohyNBUJz47gAAIABJREFUSUmdFB//hc9tpKTcocDA34z/Z9yme3nCwgYrOHiepMKKj3/LZzkzljU1tZfHuk9/jNMZrsDAbUpKesQoe3Dw9ypceJQkKSHhdUuvaaWufH1%2Bae91vqksnh6Xnft8PTbjZ5DOW1my874la/t%2B0aKdFRi4RSkp9RUX96ul8uWWr8/Y0/t3f05ycmtL5fL1mbjvfykpTbx%2Bx9K/L9n5rhUuPFQOR4IcjsJKSBirS5eeybJMnsocGLgu2/vB/76zQXK5iigh4XVJ8lrf7q8nyfTvtOckSgrJ0XfR0/vKy33KvV697ftZ7RNW2p2sPr%2Bs2un095z%2Bmaak3KKAgNPZqgcrr522ny43vQ8rvzXePp/s/E6581T/vvYBT99xT%2B/HW33ktKye6sHObeb0tXP6GPe6L1TIWvm9tQO5rcesvu921a33Y5f/fc%2BstjvZ%2Bb0PC3tQLlcFJSSslsuVmOPy4%2BrlcITI4WisxMRguTwMOClVqoi17bhcnp6efwYPHqw1a9Zo3bp1pvs7dOig2rVra9SoUapfv74GDRqkp556yvj7H3/8oSeeeELfffed6tSpk%2BPXj46%2BqJQUAnZ%2BCwwMUKlSRah/P6Du/Yv69y/q33%2Boe/%2Bi/v2Hus8fpUsXkcORovj4GXK5Lvm7OCiAHI5QORwtlJBQXp4icnh4MUvb8fsiZy1atNCZM2e0Z88e476TJ09q//79qlWrloKDg3XHHXdo6dKlpuctXrxY4eHhuummm/K7yAAAAAAAZOL3gN2mTRvVrl1bzz//vJYsWaLly5erT58%2BKl26tB599FFJUr9%2B/fTXX3/ptdde0%2B%2B//65PP/1Uc%2BfO1cCBA7kGNgAAAADgsuD3dFqoUCFNmTJFderU0YgRIzRo0CBdc801mjFjhsLC0lYDrFevnj755BPt2LFDzzzzjL777ju99tpr6ty5s59LDwAAAABAGr8vciZJZcqU0XvvvZflY%2B666y7ddddd%2BVQiAAAAAACyx%2B892AAAAAAAXAkI2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2CDQ3wUAAAAAAHuEyOHwdxlQMIXYshUCNgAAAIArQIAcjsb%2BLgQKMJeruFwuV662QcAGAAAAcAUI0KVL5ZXLfISrWG7DtUTABgAAAHCFcLnsCUlATrHIGQAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAD/j737D/OyrvM9/voyMA4jjjDKpUG2G7ipg5R2NqU9JWWyp1LSRPqlcTDUoyBty7nq2FnWNi8X3XJnMwXTREuzqxPVsuWlbWa7bGc7WBvWqfyxgueoqXnwByAOI8zwPX%2B0zDaBOV/4DPcMPB7XxRVz3/d85937Eq7ryf39AQBQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQQOWB/Y1vfCNHHXXUTr%2BuuuqqftetWrUqZ5xxRqZOnZoZM2bktttuq2hiAAAA2NnIqgfY4cYbb8xBBx3U9/Vhhx3W9/t777038%2BfPz%2Bmnn55LLrkka9asyeWXX57m5ubMnj27inEBAACgnyET2FOmTEl7e/suzy1dujQdHR1ZsmRJkmTatGl58sknc/XVV2fWrFkZMaLyG/EAAADs54Z8mW7dujWrV6/Oqaee2u/4zJkzs379%2Btx3330VTQYAAAD/bsgE9mmnnZZjjjkmb3vb23L99dent7c3SfLoo49m27ZtmTRpUr/rjzzyyCTJunXr9vqsAAAA8Nsqf4r4%2BPHjs3Dhwrzuda9LrVbL9773vXzmM5/JU089lUsvvTQbN25MkrS1tfX7vh1f7zi/u5qahsy/MexXduzd/vc%2Bu6%2BW/VfL/qtj99Wy/%2BrY/d41cmQt9Xqt6jHYj1Ue2G9%2B85vz5je/ue/rN73pTTnggAPyxS9%2BMRdeeGHf8Vpt139QXur4QLW1jd6j72fP2H917L5a9l8t%2B6%2BO3VfL/qtj94OvXq9n7NgDqx6D/Vzlgb0r73jHO3LTTTfl/vvvz8SJE5PsfKd606ZNSXa%2Bs92oTZu2pLd3%2Bx49Bo1rahqRtrbR9l8Bu6%2BW/VfL/qtj99Wy/%2BrY/d7R1jY6tVqycWNX6vWqp2FfNG7cwP7xZkgG9m961atelVGjRuXhhx/OSSed1Hd87dq1SZLJkyfv0eP39m5PT4%2B/7Kpi/9Wx%2B2rZf7Xsvzp2Xy37r47d7x09PfXUFTYVGpIvBrnjjjvS1NSUjo6ONDc3Z9q0abnzzjv7XXP77bdn/Pjx6ejoqGhKAAAA%2BHeV38GeN29epk2blte85jVJkrvvvjtf/epXM2fOnIwfPz5JsmDBgpxzzjlZvHhxZs6cmTVr1mTFihW57LLLfAY2AAAAQ0Llgf3qV786X/va1/KrX/0q27dvz%2B///u/nv//3/54PfvCDfdccf/zxWbZsWTo7O7Ny5cocfvjhWbx4cWbPnl3h5AAAAPDvKg/sxYsXD%2Bi66dOnZ/r06YM8DQAAAOwez68GAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQCAfUA9LS2bqx6C/ZzABgAA9gG9qdU2pVarVT0I%2BzGBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgwiFpalqe9fUpaWpZXPQoAADDIBDYMotbWzjQ1PZbW1s6qRwEAAAaZwIZB1NW1KL29R6Sra1HVowAAAINsZNUDwL6su3teurvnVT0GAACwF7iDDQAAAAUIbAAAAChgSAX2Cy%2B8kJNOOilHHXVUfvazn/U7t2rVqpxxxhmZOnVqZsyYkdtuu62iKQEAAGBnQyqwly1blt7e3p2O33vvvZk/f346Ojry%2Bc9/Pu9%2B97tz%2BeWXZ8WKFRVMCQAAADsbMoG9bt26fPnLX87ChQt3Ord06dJ0dHRkyZIlmTZtWubPn5%2BzzjorV199dbZv317BtAAAANDfkAnsv/zLv8z73ve%2BvPrVr%2B53fOvWrVm9enVOPfXUfsdnzpyZ9evX57777tubYwIAAMAuDYnA/va3v50HHnggCxYs2Onco48%2Bmm3btmXSpEn9jh955JFJfn3nGwAAAKpW%2Bedgb9myJVdeeWUWLVqUMWPG7HR%2B48aNSZK2trZ%2Bx3d8veP87mpqGhL/xrDf2bF3%2B9/77L5a9l8t%2B6%2BO3VfL/qtj93tTLU1NtYwaVcv27bWqh2E/VXlgX3fddTnkkENy5pln/s7rarVd/yF5qeMD1dY2eo%2B%2Bnz1j/9Wx%2B2rZf7Xsvzp2Xy37r47dD756fXtaWprS0vJMkoOSjKt6JPZDlQb2448/nptuuilLly7N5s2bkyRdXV19//vCCy/k4IMPTrLznepNmzYl2fnOdqM2bdqS3l5vlLa3NTWNSFvbaPuvgN1Xy/6rZf/Vsftq2X917H7vaGsbnVqtni1bVifpSa32xrz4YnPq9aonY18xbtyBA7qu0sD%2B5S9/mW3btuWCCy7Y6dycOXPyute9Ll/60pcyatSoPPzwwznppJP6zq9duzZJMnny5D2aobd3e3p6/GVXFfuvjt1Xy/6rZf/Vsftq2X917H5vqGf79l/ftKvV6unpqaeusNnLKg3sY445Jrfccku/Y/fff3%2BuuOKKfPKTn8zUqVPT3NycadOm5c4778zcuXP7rrv99tszfvz4dHR07OWpAQAAYGeVBnZbW1tOPPHEXZ6bMmVKpkyZkiRZsGBBzjnnnCxevDgzZ87MmjVrsmLFilx22WUZMcIbRgAAAFC9yt/kbCCOP/74LFu2LJ2dnVm5cmUOP/zwLF68OLNnz656NAAAAEgyBAP7xBNPzIMPPrjT8enTp2f69OkVTAQAAAAvz/OrAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAU0HNg///nPB2MOAAAAGNYaDuyzzjor733ve/PNb34z27ZtG4yZAAAAYNhpOLCvvPLKbN%2B%2BPR/72Mfylre8JZ/5zGfyq1/9ajBmAwAAgGGj4cA%2B44wzsmLFinz1q1/Nf/yP/zE33XRTTjnllCxcuDD33HPPYMwIAAAAQ95uv8nZa1/72nzqU5/KP/7jP%2Bbiiy/Oz3/%2B88ydOzennXZavvKVr%2BTFF18sOScAAAAMaXv8LuLNzc1paWnJqFGjUq/Xs2XLlvzFX/xF/viP/zg/%2BclPSswIAAAAQ95uB/YDDzyQSy%2B9NG9%2B85tz1VVX5bWvfW2%2B%2BtWv5u67787KlStz2GGH5dJLLy05KwAAAAxZIxv9hjvuuCO33XZb1qxZk/b29px77rl5//vfn/Hjx/ddc/TRR%2BdP//RPc9555xUdFgAAAIaqhgN70aJF6ejoyJIlS3Lqqaemubl5l9e98pWvzLve9a49HhAAAACGg4YD%2B0tf%2BlL%2B8A//8GWvO%2BKII3LFFVfs1lAAAAAw3DT8Guyvf/3reeyxx3Z57vHHH8/HP/7xPR4KAAAAhpuGA3vlypV57rnndnnuueeey8qVK/d4KAAAABhuGg7ser3%2Bkuc2btz4kq/JBgAAgH3ZgF6D/aMf/Sj33HNP39crVqzIP/3TP/W75sUXX8zdd9%2BdyZMnl50QAAAAhoEBBfY999yTa6%2B9NklSq9WyYsWKXV43YcIEn30NAADAfmlAgX3eeefl7LPPTr1ezx/90R9l%2BfLl6ejo6HdNc3NzDjzwwEEZEgAAAIa6AQV2S0tLWlpakiR33313xo8f77XWAAAA8Bsa/hzsiRMnDsYcAAAAMKwNKLDnzJmTT3ziE5k8eXLmzJnzO6%2Bt1Wr54he/WGQ4AAAAGC4GFNi/%2BdFcv%2BtjugZyHgAAAPZFAwrsW2%2B9dZe/BwAAAH5tRNUDsP9paVmetrZjknyu6lEAAACKEdjsda2tnWlqeizJlVWPAgAAUMyAniJ%2B9NFHp1arDegBa7Va7rvvvj0ain1bV9eif4vsS6oeBQAAoJgBBfaCBQsGHNjwcrq756Wn5/yMG3dgkheqHgcAAKCIAQX2woULB3sOAAAAGNa8BhsAAAAKGNAd7F3513/916xbty4vvvjiTufOOOOMPRoKAAAAhpuGA3vLli256KKLsnr16tRqtdTr9STp9xptgQ0AAMD%2BpuGniC9btiyPP/54vvSlL6Ver%2Bfaa6/NzTffnBkzZuT3fu/38rd/%2B7eDMScAAAAMaQ0H9t13353zzz8/xx9/fJLkFa94Rd74xjfms5/9bKZMmZIvf/nLxYcEAACAoa7hwH788cczadKkNDU1pVarZcuWLX3nZs6cmbvvvrvogAAAADAcNBzYBx10ULq6upIkhxxySB555JG%2Bcz09PX3nAAAAfltLy/K0t09JS8vyQXj0A/7tVy2/8RZRsNc0HNhHHXVU/u///b9JkhNPPDHXX399/uVf/iX/%2B3//7yxdujRHH3106RkBAIB9RGtrZ5qaHktra2fRx63VRqS5eWqam6dm5Mh6WlqezOjRLxT9GfByGn4X8VmzZvXdtf7IRz6SD3zgA/ngBz%2BYJGlra8sNN9xQdkIAAGCf0dW1KK2tnenqWlT0cev1erZu/dckLybpTdKUWu2NqdXG9H3yEQy2hgP7ne98Z9/vjzjiiPz93/9930d2HX/88Rk7dmzRAQEAgH1Hd/e8dHfPG4RHrifZlHq9O0lSq7UMws%2BA363hwP5tra2tOfnkk0vMAgAAAMNWw4H9xBNPvOw1EyZM2K1hAAAAYLhqOLBPPvnk1F7mLfnuv//%2B3R4IAAAAhqOGA3vJkiU7BfZzzz2X733ve/nVr36Viy66qNhwAAAAMFw0HNhnnnnmLo9/6EMfyoc//OE8%2BeSTezwUAAAADDcNfw7273LmmWfma1/7WsmHBAAAgGGhaGD39PRk06ZNJR8SAAAAhoU9/piuJNm2bVsefPDBXHPNNTn66KNLPCQAAAAMKw0H9tFHH/2S7yLe1taW5cuX7/FQAAAD0dKyPK2tnenqWpTu7nlVjwPAfq7hwF6wYMFOgd3c3JxXvvKVOemkkzJmzJhiwwEA/C6trZ1panosra2dAhuAyjUc2AsXLhyMOQAAGtbVtajvDjYAVK3Ia7ABAKrQ3T3PnWsAhoyGA/vjH//4gK%2Bt1WpZsmRJoz8CAAAAhp2GA/uee%2B7J888/n%2Beffz4jR47M2LFjs2HDhvT09OSggw7KQQcd1HftS70ZGgAAAOxrGg7sz3zmM1m4cGE%2B8YlP5B3veEeamprS29ubO%2B64I5/%2B9Kfzmc98Jq997WsHY1YAAAAYskY0%2Bg1/9Vd/lQ996EM57bTT0tTUlCRpamrKzJkz86EPfchTwgEAANgvNRzYv/jFL/Ka17xml%2Bde85rX5IEHHtjjoQAAAGC4aTiwx4wZkx/84Ae7PPeDH/zA52ADAACwX2r4Ndjvete7snz58vT09GTmzJk59NBD8/TTT%2Bdb3/pWvvjFL2bu3LmDMCYAAAAMbQ0H9qJFi/Lss8/m5ptvzhe%2B8IW%2B4/V6Pe9617uyaNGikvMBAAW1tCxPa2tnuroW%2BfxoACis4cAeOXJkrrzyylxwwQW55557smHDhowdOzYnnHBCJk%2BePBgzAgCFtLZ2pqnpsbS2dgpsACis4cDeYdKkSZk0aVLJWQCAQdbVtajvDjYAUNZuBzYAMPx0d89z5xoABknD7yIOAAAA7ExgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACGn4X8ZNPPjm1Wm2X50aMGJGDDjooU6dOzZw5c3wuNgAAAPuNhu9gn3DCCanX63nqqacyceLEvO51r8uECRPy1FNPpbe3N694xSty1113ZdasWfnZz342GDMDAADAkNNwYL/pTW9Kc3Nz7rrrrtxyyy3p7OzMrbfemu985ztpbm7OKaeckr//%2B7/P7//%2B7%2Beaa64ZjJkBAABgyGk4sD/3uc9l4cKFecUrXtHv%2BIQJE7JgwYLccMMNOeiggzJ37tz85Cc/KTYoAAAADGUNB/YjjzySMWPG7PJcW1tbHn/88STJxIkTs2XLlj2bDgAAAIaJhgN7woQJ%2Bdu//dtdnvv617/ed2d7w4YNOfjgg/dsOgAAABgmGn4X8Xnz5uXSSy/N%2B973vrz97W/PoYcemqeffjrf/va389Of/jSXXXZZkuSee%2B7JscceW3xgAAAAGIoaDuz3vOc9qdfrueaaa3LllVf2HT/00EPzyU9%2BMrNnz06SXHjhhWlubi43KQAAAAxhDQd2krz3ve/Ne97znjz88MPZsGFDxo4dm0mTJvX7fOxDDz202JAAAAAw1O1WYCdJrVbL5MmTS84CAAAAw9ZuBfbmzZvzT//0T3niiSfS3d3d71ytVsuCBQuKDAcAAADDRcOB/dOf/jQXXHBBNm7cuMvzAhsAAID9UcOBfcUVV%2BSwww7LjTfemKOOOsobmQEAAEB2I7AffPDB/PVf/3WmTp06GPMAAADAsDSi0W9ob28fjDkA9khLy/K0t09JS8vyqkdhP%2Be/RQDYfzUc2B/84Afzla98JfV6fTDmAdgtra2daWp6LK2tnVWPwn7Of4sAsP9q%2BCni27dvz8MPP5wzzjgjb3nLWzJ27Nh%2B52u1WubOnVtqPoAB6epalNbWznR1Lap6FPZz/lsEgP1Xw4H9qU99qu/3Dz744E7nBTZQhe7ueenunlf1GOC/RQDYjzUc2HffffdgzAEAAADDWsOBPXHixMGYAwAAAIa1ht/kDAAAANjZgO5gz5kzJ5/4xCcyefLkzJkz53deW6vV8sUvfnHAA3z/%2B9/P9ddfn7Vr12bz5s057LDDcsopp%2BTiiy/OQQcd1HfdqlWr8jd/8zdZt25dDj/88MydOzdnn332gH8OAAAADKYBBfZvfiTXy308V6Mf37Vx48Ycf/zx%2Bc//%2BT%2Bnra0tDz30UK655po89NBDuemmm5Ik9957b%2BbPn5/TTz89l1xySdasWZPLL788zc3NmT17dkM/DwAAAAbDgAL71ltv3eXvSzjttNNy2mmn9X194oknprm5OX/%2B53%2Bep556KocddliWLl2ajo6OLFmyJEkybdq0PPnkk7n66qsza9asjBjhme4AAABUa0iW6Y7P1u7p6cnWrVuzevXqnHrqqf2umTlzZtavX5/77ruvihEBAACgn4bfRTxJent7c%2Bedd%2Baee%2B7Jhg0bMnbs2Jx44ol5%2B9vfnpEjd%2Bsh09vbm56enqxduzZLly7NW9/61kycODFr167Ntm3bMmnSpH7XH3nkkUmSdevW5dhjj92tnwkAAAClNFzDzz77bM4777zcd999GTlyZMaOHZsNGzZkxYoVuemmm3LjjTemvb294UHe%2Bta35qmnnkqSvPnNb05nZ2eSX79GO0na2tr6Xb/j6x3nd1dT05C8ib/P27F3%2B9/77L5a9l8t%2B6%2BO3VfL/qtj93tTLU1NLanXa6nXk1rtgNRqtYwcWUu9Xqt6OPYTDQf2FVdckf/zf/5PrrrqqrzjHe9IU1NTent7c8cdd%2BQTn/hErrjiinz6059ueJAbbrghXV1dWbt2bZYtW5YLL7wwN998c9/5Wm3Xfyhe6vhAtbWN3qPvZ8/Yf3Xsvlr2Xy37r47dV8v%2Bq2P3g69e357Ro4/7t6%2Bak4xO0pbRow%2BscCr2Nw0H9j/8wz/kIx/5SL83JmtqasrMmTPzzDPP5Nprr92tQY4%2B%2Bugkyetf//p0dHRk1qxZueuuu/qeCv7bd6o3bdqUZOc7243atGlLenu379Fj0LimphFpaxtt/xWw%2B2rZf7Xsvzp2Xy37r47d7x1tbaNTq9WzZcv9SZJa7Q%2Bzdeuh2b49SV6odDb2DePGDewfahoO7Hq9nj/4gz/Y5bnXvOY1DX9M164cc8wxaWpqyqOPPpqTTz45o0aNysMPP5yTTjqp75q1a9cmSSZPnrxHP6u3d3t6evxlVxX7r47dV8v%2Bq2X/1bH7atl/dex%2Bb6hn%2B/Zf35Sr1XqzbVu9SJtAIxp%2BMcgf/dEf5Qc/%2BMEuz/3zP/9zTjjhhD0e6t57701vb29e%2BcpXprm5OdOmTcudd97Z75rbb78948ePT0dHxx7/PAAAANhTDd/Bnj9/fi6%2B%2BOL09vZm5syZOfTQQ/P000/nW9/6Vr7zne/k2muvzYYNG/qu3/GRWy/l4osvzrHHHpujjjoqLS0teeCBB3LjjTfmqKOOyimnnJIkWbBgQc4555wsXrw4M2fOzJo1a7JixYpcdtllPgMbAACAIaFWb/B5EzteK530f4OxHQ/z2286dv/99//Ox7vhhhtyxx135NFHH029Xs/EiRMzY8aMzJs3L2PGjOm7btWqVens7My6devnvYnkAAAgAElEQVRy%2BOGH59xzz83ZZ5/dyOi79NxzL3i6TgVGjhyRceMOtP8K2H217L9a9l8du6%2BW/VfH7veO9vYDU6v1pKvrC0mSWu0t2bJlgqeIU8z48QcN6LqG72AvWLBgj9%2B5%2BzddcMEFueCCC172uunTp2f69OnFfi4AAACU1HBgL1y4cDDmAAAAgGFtj17AXK/Xs3nzZk%2B9AAAAYL/X8B3sJPnpT3%2Baz372s/nRj36Ubdu2ZdSoUXnDG96QhQsX5rjjjnv5BwAAAIB9TMOB/b/%2B1//K%2BeefnwMPPDCnnnpq37uIf%2B9738s555yTz3/%2B83njG984GLMCAADAkNVwYF911VXp6OjIzTffnAMPPLDv%2BObNmzN37txcddVV%2BfrXv150SAAAABjqGn4N9kMPPZTzzjuvX1wnyZgxY3L%2B%2BefnoYceKjYcAAAADBcNB/YhhxySESN2/W1NTU1pb2/f46EAAABguGk4sN/73vfmC1/4QrZt29bv%2BNatW3PzzTfnPe95T7HhAAAAYLho%2BDXYI0eOzOOPP55TTjklM2bMyPjx47N%2B/frcddddaWpqygEHHJCbb745SVKr1TJ37tzSMwMAAMCQs1tvcrbDl770pZ3Of/rTn%2B77vcAGAABgf9FwYN99992DMQcAAAAMaw0H9sSJEwdjDgAAABjWGn6TMwAAAGBnDd/BTpIf/ehHufXWW7Nu3bp0d3f3O1er1fLd7363yHAAAAAwXDR8B/tf/uVfMnfu3Dz//PNZt25dJk2alMMOOyxPPvlkRo4cmTe84Q2DMScAAAAMaQ0H9jXXXJMzzzwzN954Y5LkIx/5SL785S/nG9/4Rl544YXMmDGj%2BJAwVLS0LE97%2B5S0tCyvehQAAGCIaTiwH3rooZxyyimp1WpJkt7e3iTJ0Ucfnfnz52fp0qVlJ4QhpLW1M01Nj6W1tbPqUQAAgCGm4cDesmVLDjzwwIwYMSLNzc157rnn%2Bs5NmjQp69atKzogDCVdXYvS23tEuroWVT0KAAAwxDQc2BMmTMjTTz%2BdJDnyyCOzatWqvnM/%2BtGPMnbs2HLTwRDT3T0vzz77i3R3z6t6FAAAYIhp%2BF3ETzjhhPzwhz/M29/%2B9syePTuf/OQns27dujQ3N%2Bef//mfc%2B655w7GnAAAADCkNRzYCxcuzMaNG5Mk73//%2B9Pd3Z1vfetbSZKLLrooF154YdkJAQAAYBhoOLDb29vT3t7e9/W5557rrjUAAAD7vYZfgw0AAADsrOE72Ely33335Vvf%2BlaeeOKJvPjii/3O1Wq1XHfddUWGAwAAgOGi4cBeuXJlPv7xj2fEiBFpb2/PqFGj%2Bp3f8fnYAAAAsD9pOLCvu%2B66TJ8%2BPX/1V3%2BVgw8%2BeDBmAgAAgGGn4ddg/7//9/8yZ84ccQ0AAAC/oeHAPuaYY/LUU08NxiwAAAAwbDUc2B/72Mdyww035IEHHhiMeQAAAGBYavg12Mcdd1z%2B%2BI//OO9%2B97szfvz4nZ4qXqvV8s1vfrPYgAAAADAcNBzYN9xwQ66//vq0t7dnwoQJO72LOAAAAOyPGg7sW265JbNmzcpll12WpqamwZgJAAAAhp2GX4P9wgsv5LTTThPXAAAA8BsaDuzXv/71Wbdu3WDMAgAAAMNWw4H9Z3/2Z/nKV76S7373u9m6detgzAQAAADDTsOvwZ41a1Z6enqycOHC1Gq1tLS09Dtfq9Xy4x//uNiAAAAAMBw0HNj/6T/9p9RqtcGYBQAAAIathgP7yiuvHIw5AAAAYFhr%2BDXYDE8tLcvT3j4lLS3Lqx4FAABgnySw9xOtrZ1panosra2dVY8CAACwTxLY%2B4murkXp7T0iXV2Lqh4FAABgn9Twa7AZnrq756W7e17VYwAAAOyz3MEGAACAAgQ2AAAAFDCgp4g/8cQTDT3ohAkTdmsYAAAAGK4GFNgnn3xyarXagB/0/vvv3%2B2BAAAAYDgaUGAvWbKkL7B7enpy3XXXpaWlJe985ztz6KGHZv369bnjjjvS3d2d%2BfPnD%2BrAAAAAMBQNKLDPPPPMvt93dnZm8uTJuf766zNixL%2B/hHvBggW54IIL8sgjj5SfEgAAAIa4ht/kbOXKlfnABz7QL66TZMSIEfnABz6Qv/u7vys2HAAAAAwXDQf2hg0b0t3dvctz3d3d2bRp0x4PBQAAAMNNw4Hd0dGRZcuW5dlnn%2B13/Nlnn82yZctyzDHHFBsOAABg4A74t19QjQG9Bvs3XXLJJTn33HPztre9LdOmTcv48eOzfv36rF69Okly8803Fx8SAADgd6nVRmTUqD9MT8%2Bo1OttqdfrVY/EfqjhwD7uuOPyta99Lddee21%2B%2BMMfZsOGDRk7dmze%2Bta35qKLLsof/MEfDMacAAAAL6ler6en54B0dx%2Be7dvFNdVoOLCTZPLkyfmbv/mb0rMAAADspnqS7XHjmio1/BpsAAAAYGe7dQd7w4YNuf3227Nu3bqd3lG8VqtlyZIlRYYDAACA4aLhwH7iiSdy1llnZcuWLenu7s64ceOycePG9Pb25uCDD86YMWMGY04AAAAY0hp%2Bivhf//Vf58gjj8wPfvCD1Ov1fP7zn8%2B9996bP//zP09zc3NuuOGGwZgTAAAAhrSGA/vee%2B/N%2B9///hxwwK8/X65er6e5uTlnn312zjrrrHzqU58qPiQAAAAMdQ0H9jPPPJPx48dnxIgRaWpqyubNm/vOnXDCCfnxj39cdEAAAAAYDhoO7EMOOSQbN25MkkycODE///nP%2B8798pe/TFNTU7npAAAAYJho%2BE3OjjvuuNx///1529velhkzZmTp0qXZunVrRo0aleXLl2fatGmDMScAAAAMaQ0H9oc%2B9KE8/vjjSZIFCxZk3bp1ueaaa1Kv1/OGN7whf/Znf1Z8SMppaVme1tbOdHUtSnf3vKrHAQAA2Gc0HNjHHntsjj322CRJa2trPve5z/W9DttHdA19ra2daWp6LK2tnQIbAACgoIZfg70rY8aMEdfDRFfXovT2HpGurkVVjwIAALBP2a3AXrduXRYtWpQ3velNOfbYY/OLX/wiSXLttddm9erVRQekrO7ueXn22V%2B4ew0AAFBYw4F9//3356yzzsoPf/jDnHDCCent7e0798ILL%2BQrX/lK0QEBAABgOGg4sK%2B66qocddRRueuuu/KpT30q9Xq979xrX/va/OxnPys6IAAAAAwHDQf2mjVrct5552X06NGp1Wr9zh166KF5%2Bumniw0HAAAAw8VuvQZ71KhRuzy%2BcePGNDc379FAAAAAMBw1HNhHHXVUvvvd7%2B7y3Pe///1MmTJlj4cCAACA4abhz8GeM2dO/ut//a8ZPXp0Tj/99CTJk08%2BmdWrV%2BfrX/96PvvZzxYfEgAAAIa6hgP7ne98Zx599NFce%2B21ufXWW5MkCxcuTFNTUz784Q/n5JNPLj4kAAAADHUNB3aSXHjhhTnjjDPy/e9/P88880zGjRuXN73pTZk4cWLp%2BQAAAGBY2K3ATpLDDz88s2fP3ul4vV7f6d3FAQAAYF%2B3W%2B8i/lK%2B%2Bc1v5h3veEfJhwQAAIBhYcB3sJ9//vl897vfzdNPP51Xv/rVOfnkkzNixK/7/Dvf%2BU4%2B%2B9nPZu3atZkwYcKgDQsAAABD1YAC%2B5FHHsnZZ5%2BdZ555pu8p4G94wxuybNmyLFq0KN///vfT1taWj370o/ngBz842DMDAADAkDOgwL766quzefPmXHzxxTn22GPzy1/%2BMtddd13e9773Ze3atZk9e3Y%2B%2BtGPpq2tbbDnBQAAgCFpQIH9wx/%2BMBdddFH%2By3/5L33HXvWqV%2BX888/P%2B973vvzFX/zFYM0HAAAAw8KA3uTsueeey%2Btf//p%2Bx/7Df/gPSX79udgAAACwvxtQYPf29uaAAw7od2zH1wceeGD5qQAAAGCYGfC7iD/88MNpamrq%2B7q3t7fv%2BG%2BbMmVKgdEAAABg%2BBhwYH/84x/f5fGPfexjfb/f8Q7j999//55PBgAAAMPIgAL7iiuuGOw5AAAAYFgbUGC/%2B93vHuw5AAAAYFgb0JucAQAAAL%2BbwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFBA5YF95513Zv78%2BZk%2BfXqOO%2B64zJw5M1/%2B8pezffv2ftetWrUqZ5xxRqZOnZoZM2bktttuq2hiAAAA2NnIqge4%2BeabM2HChHzsYx/LIYccknvuuSd/%2BZd/mcceeyz/7b/9tyTJvffem/nz5%2Bf000/PJZdckjVr1uTyyy9Pc3NzZs%2BeXfH/AwAAABgCgf25z30u7e3tfV9PmzYtXV1due222/Knf/qnaW5uztKlS9PR0ZElS5b0XfPkk0/m6quvzqxZszJiROU34gEAANjPVV6mvxnXOxxzzDF58cUXs2HDhmzdujWrV6/Oqaee2u%2BamTNnZv369bnvvvv21qgAAADwkioP7F358Y9/nLFjx%2BaQQw7Jo48%2Bmm3btmXSpEn9rjnyyCOTJOvWratiRAAAAOin8qeI/7af/exn%2BcY3vpEFCxakqakpGzduTJK0tbX1u27H1zvO766mpiH5bwz7vB17t/%2B9z%2B6rZf/Vsv/q2H217L86dr831dLUVMuoUbVs316rehj2U0MqsNevX58Pf/jDmTp1as4///x%2B52q1Xf8heanjA9XWNnqPvp89Y//Vsftq2X%2B17L86dl8t%2B6%2BO3Q%2B%2Ben17Wlqa0tLyTJKDkoyreiT2Q0MmsJ9//vmcf/75aWlpyXXXXZdRo0YlSQ4%2B%2BOAkO9%2Bp3rRpU5Kd72w3atOmLent3f7yF1JUU9OItLWNtv8K2H217L9a9l8du6%2BW/VfH7veOtrbRqdXq2bJldZKe1GpvzIsvNqder3oy9hXjxh04oOuGRGC/%2BOKLueiii/L000/nf/yP/5Fx4/79X5te9apXZdSoUXn44Ydz0kkn9R1fu3ZtkmTy5Ml79LN7e7enp8dfdlWx/%2BrYfbXsv1r2Xx27r5b9V8fu94Z6tm/fnCSp1erp6amnrrDZyyp/MUhPT0/%2B5E/%2BJA888EBuvPHGTJw4sd/55ubmTJs2LXfeeWe/47fffnvGjx%2Bfjo6OvTkuAAAA7FLld7Avu%2Byy/MM//EM%2B%2BtGPpru7Oz/5yU/6zh155JEZM2ZMFixYkHPOOSeLFy/OzJkzs2bNmqxYsSKXXXaZz8AGAABgSKg8sP/n//yfSZJPf/rTO5275ZZbcuKJJ%2Bb444/PsmXL0tnZmZUrV%2Bbwww/P4sWLM3v27L09LgAAAOxS5YH9ve99b0DXTZ8%2BPdOnTx/kaQAAAGD3eH41AAAAFCCwAQAAoACBDQAAAAUIbPYrLS3L094%2BJS0ty6seBQAA2McIbPYrra2daWp6LK2tnVWPAgAA7GMENvuVrq5F6e09Il1di6oeBQAA2MdU/jFdsDd1d89Ld/e8qscAAAD2Qe5gAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwN7PtbQsT3v7lLS0LK96FAAA2EMH/NsvqIbA3s%2B1tnamqemxtLZ2Vj0KAADsgRGp1d6YWu2NqdfbUq/Xqx6I/ZDA3s91dS1Kb%2B8R6epaVPUoAACwB0aku3tCtmyZkC1bDqx6GPZTI6segGp1d89Ld/e8qscAAIA9Vq/HnWsq5Q42AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFFB5YD/yyCO59NJLc/rpp6ejoyOnnXbaLq9btWpVzjjjjEydOjUzZszIbbfdtpcnBQAAgJdWeWA/9NBDWbVqVX7v934vkydP3uU19957b%2BbPn5%2BOjo58/vOfz7vf/e5cfvnlWbFixV6eFgAAAHZtZNUDnHzyyTnllFOSJJdcckl%2B/vOf73TN0qVL09HRkSVLliRJpk2blieffDJXX311Zs2alREjKv93AgAAAPZzlZfpy8Xx1q1bs3r16px66qn9js%2BcOTPr16/PfffdN5jjAQAAwIBUHtgv59FHH822bdsyadKkfsePPPLIJMm6deuqGAsAAAD6qfwp4i9n48aNSZK2trZ%2Bx3d8veP87mpqGvL/xrBP2rF3%2B9/77L5a9l8t%2B6%2BO3VfL/qtj93vXyJG11Ou1qsdgPzbkA3uHWm3Xf1Be6vhAtbWN3qPvZ8/Yf3Xsvlr2Xy37r47dV8v%2Bq2P3g69e356xY7cmGVf1KOzHhnxgH3zwwUl2vlO9adOmJDvf2W7Upk1b0tu7fY8eg8Y1NY1IW9to%2B6%2BA3VfL/qtl/9Wx%2B2rZf3Xsfu9oaxudWq033d1P58UXm1OvVz0R%2B5px4w4c0HVDPrBf9apXZdSoUXn44Ydz0kkn9R1fu3ZtkrzkR3sNVG/v9vT0%2BMuuKvZfHbuvlv1Xy/6rY/fVsv/q2P3eUM/27fX09NRTV9hUZMi/GKS5uTnTpk3LnXfe2e/47bffnvHjx6ejo6OiyQAAAODfVX4He8uWLVm1alWS5PHHH8/mzZvz7W9/O0lywgknpL29PQsWLMg555yTxYsXZ%2BbMmVmzZk1WrFiRyy67zGdgAwAAMCRUHtjPPPNM/uRP/qTfsR1f33LLLTnxxBNz/PHHZ9myZens7MzKlStz%2BOGHZ/HixZk9e3YVIwMAAMBOKg/sV77ylXnwwQdf9rrp06dn%2BvTpe2EiAAAAaJznVwMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQDAoGtpWZ729ilpaVle9SgAg0ZgAwAw6FpbO9PU9FhaWzurHgVg0AhsAAAGXVfXovT2HpGurkVVjwIwaEZWPQAAAPu%2B7u556e6eV/UYAIPKHWwAAAAoQGADAABAAQIbAAAAChDYAAAAUIDABgAAgAIENgAAABQgsOH/t3fvQVGd9x/HPwuICyriJWqxmkQUGipRE6lSUSI2wQvGXLRx6q1KMQFvNWo0E2MSh0aNmiqmXqLUISmmjo1xIoKaxIomE0xGdKKmtoEaL9S7Injhfn5/%2BGPNZkEWOBEW3q8ZRvY5z579nu95OMfv7nPOAgAAAIAJ%2BB5sAAAAAA2ERRbL7X9ryzCMWq8DjQ8FNgAAAACXZ7G4ycPDkNV6VlLti2PD8NGtW81qHxgaFQpsAAAAAC7PMAwVF38t6YYJa2sqiyVUFktzPslGtVBgAwAAAGgADEk3ZBgFtV6TpfYzzNFIcZMzAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABgAgpsAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABgAgpsAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABgAgpsAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAA1GNWa6Jat/6lWrSYpNatfymrNbGuQwIAVIICGwAAoB7z9n5b7u6n1bTpR3J3Py1v77frOiQAQCUosAEAAOqxmzdfVGlpJxUWPq3S0k66efPFug4JAFAJj7oOAAAAAJUrKIhWQUF0XYcBAHACn2ADAAAAAGACCmwAAAAAAExAgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABBTYAAAAAACYgAIbAAAAAAATUGADAAAAAGACCmwAAAAAAExAgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABC5TYJ84cULR0dHq2bOnQkNDFR8fr4KCgroOCwAAAAAASZJHXQfgjLy8PE2YMEF%2Bfn5KSEjQlStXtGjRIuXm5mrZsmV1HR4AAAAAAK5RYP/9739XXl6etm3bptatW0uS3N3dNXv2bMXGxsrf37%2BOIwQAAAAANHYuMUV83759Cg0NtRXXkhQZGSlPT0%2Blp6fXYWQAAAAAANzmEgV2dna2w6fUnp6e6ty5s7Kzs%2BsoKgAAAAAA7nCJKeJ5eXny8fFxaPfx8dG1a9dqte6WLb1kGLVaRY1YLPmyWK7JMFrKMFpUe7mrs1hu/1ub/FcnR2bn05X3jxm5v5dcOdcVqW7%2BG9r217XK8u9snsv7SU0lFbJfqqG%2BHntc/W/M%2BbF7%2B9%2Bajv2av65r59cM9XXsNzRubhYZhkVublYZhqXW67NYmspiscjDw2LK%2BtB4uESBXRnDMGSx1G7Au7nV1Yf41ySV/P9/1FrWYHnDULv8VydHZufT9fdP3Y396nL9XFfE%2Bfw3zO2va475dzbPt/vd/hH7pQbq37HH1f/Gqhd/zcd%2BTV/X1fNrnvo39hsei6WJvL3Hm7pOLy9TV4dGwCUKbB8fH%2BXl5Tm05%2Bfnu/ANzjrXcjmqlyOz88n%2BuXcae64b%2B/bfK87mmf3R8Lj6Pq1t/DV9Pn8zAFARl3grzd/f3%2BFa66KiIp06dcqFC2wAAAAAQEPiEgX2gAEDlJGRoatXr9raPvnkExUVFSk8PLwOIwMAAAAA4DaLYdT/2y3k5eUpKipKHTt2VFxcnC5fvqzFixcrLCxMy5Ytq%2BvwAAAAAABwjQJbkk6cOKH4%2BHgdPHhQVqtVUVFRmj17tqxWa12HBgAAAACA6xTYAAAAAADUZy5xDTYAAAAAAPUdBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABggkZXYJ84cULR0dHq2bOnQkNDFR8fr4KCgroOy6WlpaUpLi5O4eHh6tmzp4YPH65NmzaprKzM1mfevHkKDAx0%2BNm3b5/D%2BhITExUREaHg4GA9%2B%2ByzOnDgwL3cHJezdevWCnO7bNkyu37p6el66qmnFBwcrMcff1zJyckVro/8V8%2B4ceMqzH9gYKB27NghifFvlpMnT2rBggUaMWKEgoKCFBUVVWE/M8f69evXtWDBAvXp00e9evXSCy%2B8oJycHFO3yxVUlfvS0lKtX79eY8eOVd%2B%2BfRUSEqIxY8boyy%2B/dFhXREREhX8PhYWFdv3I/R3OjH2zjzPk/w5n8l/ZeSAwMFAXLlyw9WP8Aw2fR10HcC/l5eVpwoQJ8vPzU0JCgq5cuaJFixYpNzfXoRiB8zZu3Cg/Pz%2B99NJLatOmjQ4cOKA//elPOn36tObOnWvr16lTJ4c8%2B/v72z1OTEzUn//8Z82cOVNBQUHasmWLYmJitGXLFgUGBt6T7XFVGzZsUIsWLWyP27dvb/v90KFDiouL04gRIzRv3jxlZmYqPj5enp6eGjVqlK0f%2Ba%2B%2B1157TdevX7drS0pK0u7duxUaGmprY/zX3nfffaf09HT16NFDZWVlMgzDoY/ZY33WrFk6duyYXn31VTVv3lwJCQmaOHGiPv74Y1mt1nuy3fVBVbkvKCjQunXr9NRTTyk6OloeHh766KOPNHHiRK1Zs0YDBw606x8ZGalJkybZtXl6eto9Jvd3ODP2JXOPM%2BT/Dmfyv3nzZoe2uXPnysvLS%2B3atbNrZ/wDDZzRiKxbt87o0aOHcfnyZVvbxx9/bAQEBBhZWVl1GJlr%2B2E%2By7355ptGcHCwUVhYaBiGYcydO9cYNmzYXddTWFhoPProo8aSJUtsbSUlJcaQIUOMP/7xj%2BYG3YB8%2BOGHRkBAQIX7oVx0dLQxcuRIu7b58%2Bcb/fr1M0pLSw3DIP9mioiIMGJiYmyPGf/mKB%2BrhlF5Ts0c64cPHzYCAgKMvXv32tpycnKMoKAgY9OmTaZtlyuoKvclJSVGbm6uXVtZWZnx9NNPG2PHjrVrHzhwoPHGG2/c9fXIvT1nxr6Zxxnyb8%2BZ/P/Y6dOnjYCAAGP9%2BvV27Yx/oOFrVFPE92mrxPoAAA%2B3SURBVO3bp9DQULVu3drWFhkZKU9PT6Wnp9dhZK7th/ks99BDD6mwsFC5ublOryczM1P5%2Bfl2U6/c3d01dOhQpaenV/qOPe6uqKhIGRkZGjZsmF378OHDdfHiRX377beSyL9ZMjMzdebMGQ0fPrzazyP/d%2BfmdvdTltljPT09XT4%2BPhowYICtn5%2Bfnx555JFGd86oKvfu7u5q2bKlXZvFYtEvfvELu%2BmxziL39qrKv7MY%2BzVTk/ynpKTIYrFUeinL3ZB/wLU1qgI7OzvbYaqUp6enOnfurOzs7DqKqmE6ePCgfH191aZNG1vbqVOn1Lt3b3Xv3l3PPPOMPv30U7vnlO%2BDLl262LX7%2B/vrxo0bOn/%2B/E8fuAuLiorSQw89pEGDBmndunUqLS2VdDvvxcXFDnnt2rWrpDt5J//mSElJkZeXlwYNGmTXzvj/6Zk91rOzs/Xggw/KYrE4rI9zRtXKysp06NAhh/OuJG3fvl3du3dXr169FBMTo3//%2B992y8l9zZh1nCH/tbdjxw6FhISoQ4cODssY/0DD1uiuwfbx8XFo9/Hx0bVr1%2BogoobpyJEj2rp1q6ZMmSJ3d3dJtz/RDg4OVteuXZWfn68PPvhAU6ZM0cqVKzV48GBJt/ePp6enw7VF5Z%2BK5ObmVniiauzuu%2B8%2BTZs2TT169JDFYtGePXu0YsUKnT9/XgsWLLCN7R%2BP/fLH5cvJf%2B2VlJRo586dGjRokLy9vW3tjP97w%2ByxnpeXZ3dfgx%2Buj3NG1d5//32dOHFCCxcutGuPiIjQww8/LD8/P50%2BfVpr167V7373O23btk2dOnWSJHJfA2YeZ8h/7Rw/flz/%2Bc9/HMa%2BxPgHGoNGVWBXxjAMh3cJUTMXL17U9OnTFRwcrJiYGFv7hAkT7PpFRERo9OjRSkhIsJ34JVW4H8qnrLGPKta/f3/179/f9jgsLExNmzZVUlKSXnjhBVt7Zfn7YTv5r50vvvhCly9fdpgSyPi/t8wc686sC46%2B%2BuorLV26VJMmTVJISIjdsvnz59t%2B7927t/r166chQ4YoMTFRr7/%2Bum0Zua8es48z5L/mtm/friZNmigyMtJhGeMfaPga1RRxHx8f5eXlObTn5%2BdX%2BMk2qic/P18xMTGyWq1as2aNmjRpUmlfNzc3PfHEE8rOzrZ9TZqPj48KCwsdvqqifJ/9%2BPo%2BVG7IkCEqLS3Vv/71L1vefvyud3ley8c%2B%2Ba%2B9lJQU%2Bfr6Kiws7K79GP8/DbPHemXnjMpmQ%2BG248ePKy4uTr/5zW80Z86cKvu3a9dOjz76qI4dO2ZrI/e1V5vjDPmvOcMwlJqaqv79%2B8vX17fK/ox/oOFpVAW2v7%2B/w7UrRUVFOnXqVIXXiMF5hYWFio2N1aVLl7Rhwwa1atWqyuf8%2BKZN5fvgx/soOztbzZo1s/vaKTivc%2BfOatKkif773//atWdlZUm6k3fyXzsFBQX67LPPNHjw4Lu%2BuVSO8W8%2Bs8e6v7%2B/Tpw44bCvsrKyOGdU4tSpU/rDH/6goKAgvfXWW05/2lbR3wO5r72aHmfIf80dPHhQ//vf/6p1o0vGP9CwNKoCe8CAAcrIyNDVq1dtbZ988omKiooUHh5eh5G5tpKSEs2YMUPHjx/Xhg0b1LFjxyqfU1ZWpl27dqlbt262a8EeeeQRtWjRQqmpqbZ%2BpaWlSktLU3h4ONOiqiE1NVXu7u4KCgqSp6en%2Bvbtq7S0NLs%2BKSkpuu%2B%2B%2BxQUFCSJ/NfWnj17dOPGDaf%2BU8X4/2mYPdbDw8OVl5en/fv32/qdPXtWmZmZnDMqcPHiRU2aNElt27bV6tWrHb7XtzLnz59XZmamgoODbW3kvvZqc5wh/zW3fft2eXt7O3z3e2UY/0DD4/76Dy/4aOC6deumDz/8UPv371f79u116NAhvfnmm3r88cc1evToug7PZb3%2B%2ButKSUnRjBkz1K5dO507d87207x5c128eFFTpkxRcXGx8vPzdezYMcXHx%2BvQoUN64403bO/Guru7y93dXWvXrpXValVhYaFWrlypQ4cO6a233lLbtm3reEvrp%2BjoaF24cEHXr1/XyZMn9de//lXJyckaN26c7bq7Tp06ae3atTp79qyaNWum7du3a%2BPGjXr55ZfVvXt3SeS/tt5%2B%2B20VFhbq5ZdftiuGc3JyGP8muXXrlj777DNlZWXpiy%2B%2B0KVLl9ShQwdlZWWpdevW8vLyMnWsd%2BjQQUePHtXmzZvVvn17nT17VgsWLJDVatXChQvl4dF4bmNSVe4tFovGjx%2Bvc%2BfOaf78%2BSooKLA7F5TfoC8lJUXvvvuuCgoKdPXqVX355Zd65ZVXVFRUpEWLFtmmKJN7e1Xl/8qVK6YeZ8i/PWeOPdLtDxxeeeUVDRw4UEOHDnVYD%2BMfaBwsRiP7ctUTJ04oPj5eBw8elNVqVVRUlGbPnu1wR004LyIiQjk5ORUue%2B%2B99xQYGKiXX35Zx44d05UrV9SkSRN1795dkydPtrs5l3R7mlRiYqKSk5N16dIlBQQEaM6cOerbt%2B%2B92BSXFB8fr/379%2BvcuXMqKyvTAw88oFGjRmncuHF2hV56errefvttZWdnq0OHDpo4caLGjBljty7yXzPXrl1Tv379NGHCBIdrTnNzcxn/Jjlz5ozD15%2BVe%2B%2B999SnTx9J5o7169eva8mSJdq1a5eKi4vVp08fvfrqq07N1GlIqsp9x44dK10uyfY1RIcPH9by5cv13XffKT8/Xy1atFDfvn01ffp0h6%2BOIvd3VJX/n%2BI8S/7vcPbYs3fvXj3//PN69913K/ykmfEPNA6NrsAGAAAAAOCn0KiuwQYAAAAA4KdCgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABBTYAAAAAACYgAIbAAAAAAATUGADAAAAAGACCmwAQKW2bt2qwMBA209QUJDCwsI0c%2BZMff/993Ue15kzZ%2B7ab9WqVQoMDLxHUVUtPT1dq1atqnBZYGCgFi5ceI8jAgAAZvKo6wAAAPXfokWL1KVLFxUWFiozM1Nr167VgQMHlJaWppYtW9Z1eC4jPT1dycnJmjZtWl2HAgAAfgIU2ACAKnXr1k3BwcGSpD59%2Bqi0tFSrVq3Sp59%2BqmeffbaOowMAAKgfmCIOAKi28mL78uXLDstSU1P13HPPqWfPnurVq5eio6P17bff2vU5cuSIZs6cqYiICD388MOKiIjQiy%2B%2BqJycHIf1HT58WKNHj1ZwcLDCwsK0fPlylZSU1Cp%2BZ2KcN2%2BeevXqpZMnTyomJka9evVSeHi4Fi9erKKiIru%2B586d0/Tp09WrVy/17t1bs2bN0jfffKPAwEBt3brVtr7k5GRJspt2/%2BNp7tu2bdOQIUPUo0cPPfnkk/rnP/9Zq20FAAD3Dp9gAwCqrbwofOCBB%2Bza165dqxUrVuiZZ55RbGysiouLlZiYqDFjxmjLli3q2rWrJCknJ0cPPvighg0bppYtW%2BrixYv64IMPNHLkSO3YsUOtW7eWJGVlZen3v/%2B9OnbsqMWLF8tqtWrTpk1KSUmpcezOxihJxcXFio2N1ciRIzVp0iR9/fXXWr16tZo3b66pU6dKkm7evKnx48fr2rVrmj17tu6//37t379fM2fOtHvduLg43bx5U7t27dLmzZtt7e3atbP9vnfvXh05ckTTp0%2BXt7e3NmzYoKlTp2rnzp3q1KlTjbcZAADcGxTYAIAqlZWVqaSkxHYN9po1axQSEqKIiAhbn7Nnz2rVqlUaO3as5s%2Bfb2v/9a9/rcjISL3zzjtasWKFJGnw4MEaPHiwrU9paakee%2Bwx9evXTykpKRo/frwk6S9/%2BYsMw1BSUpLatm0rSXrssccUFRVVo%2B2oTozS7QJ72rRpGjJkiCQpNDRUR48eVUpKiq3A/uijj3Ty5EmtX79eAwYMkCSFhYXp1q1bdoV0586dbdvQs2fPCuMrLCzUxo0b1bx5c0nSL3/5S/Xv319paWmaPHlyjbYZAADcOxTYAIAq/fa3v7V77O/vr9WrV8vD485p5PPPP1dJSYlGjBhhN4W7adOmCgkJ0YEDB2xtN27c0OrVq7V7927l5OSotLTUtiw7O9v2%2B4EDBxQaGmorTCXJ3d1dQ4cO1TvvvFPt7ahOjJJksVjs3kSQbk/vzsjIsD3%2B%2Buuv1axZM1txXS4qKsquwHZGnz59bMW1JLVt21Zt2rSpcOo8AACofyiwAQBVWrJkifz9/XXjxg2lpqZq8%2BbNevHFF7VhwwZbn0uXLkmSRo4cWeE63Nzu3PZj1qxZysjIUFxcnIKDg9WsWTNZLBZNnjxZhYWFtn65ubl2xXW5itqcUZ0YJcnLy0tNmza1a/P09HQqxjZt2lQ7Pl9fX4e2H78eAACovyiwAQBV8vf3t93YrG/fviorK9OWLVu0c%2BdO21TvVq1aSZISEhLk5%2BdX6bry8/O1d%2B9eTZ061W7ac1FRka5du2bX19fX11YU/1BFbc5wNsbq8PX11TfffOPQXtMYAQCA66LABgBU25w5c7R7924lJCToiSeekJubm8LCwuTh4aFTp04pMjKy0udaLBYZhiFPT0%2B79i1btthNFZduT5nes2ePLl26ZPuUuLS0VKmpqTWK29kYqyMkJERpaWlKT09XeHi4rX3Hjh0Ofcu3uaCgQFar1ZTXBwAA9QcFNgCg2lq2bKnJkydr6dKl2r59u0aMGKGf//znmj59ulasWKHTp09rwIAB8vHx0aVLl3TkyBF5eXlp%2BvTpat68uUJCQpSYmKhWrVqpY8eO%2Buqrr/SPf/xDPj4%2Bdq8TGxurPXv2aMKECZoyZYqsVquSk5N169atGsXtbIzV8fTTTyspKUkvvfSSZsyYofvvv1/79u3T559/Lsl%2B2nlAQIAk2W6I5ubmpsDAQIc3GwAAgGvie7ABADUybtw4%2Bfn5afXq1bZPnp9//nmtXLlS33//vebOnavo6GgtW7ZMOTk5CgkJsT13%2BfLl6tOnj5YuXaqpU6fq6NGj2rhxo1q0aGH3GgEBAba7as%2BdO1cLFixQYGCg4uLiahy3szE6y9vbW0lJSfrVr36lpUuXatq0aTp79qxee%2B01SbLbpqioKI0aNUqbNm3Sc889p5EjR%2BrChQs13hYAAFC/WAzDMOo6CAAAGpry79veu3evOnToUNfhAACAe4Ap4gAA1NLf/vY3SVKXLl1UXFysjIwMvf/%2B%2B3ryyScprgEAaEQosAEAqCWr1aqkpCSdOXNGxcXF%2BtnPfqaYmBjFxsbWdWgAAOAeYoo4AAAAAAAm4CZnAAAAAACYgAIbAAAAAAATUGADAAAAAGACCmwAAAAAAExAgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABBTYAAAAAACY4P8AS9hWX0YYTD8AAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeZyN5eP/8fcZsxk7DRORXYXKkpIlQiXRgqSPUhJCtPiUJUKKUklabZGiiZQl8g2RrbKFUBhk32eMMWO2c35/zG/uz7lnzplzz8w9cwyv5%2BPRI%2BfMOfe5znXuc537fV/L7XC5XC4BAAAAAIBcCfB3AQAAAAAAuBIQsAEAAAAAsAEBGwAAAAAAGxCwAQAAAACwAQEbAAAAAAAbELABAAAAALABARsAAAAAABsQsAEAAAAAsAEBGwAAAAAAGxCwgVyaMGGCatWqpVq1amnYsGG53l5KSoqxvVq1aunEiRM2lBLu7P7MgJx49913jf1wxIgR/i4ObJSYmGhqx0%2BfPu3vIsEPoqKijH2gbt26Xh9HW5B9jz76qFFnP/74o7%2BLA5gE%2BrsAuDwMHjxY33//vde/BwUFqWjRooqIiFDt2rXVunVrNW/eXIUKFcrHUgK43AwaNEiLFi3y%2BveMbUebNm3UvHlzBQRwfhcAAFx5CNiwJDk5WdHR0YqOjtbu3bs1b948Va1aVW%2B//bZuvvlmfxcPV6l///1X99xzjySpUKFC2rVrl59LhIw8tR3Vq1fX22%2B/rTp16vi7eABQICQmJpqOt9auXavw8HA/lujqxOcAKwjYyKREiRKZhjIlJSXp5MmT%2Bvfff4379u/fr%2B7du2vmzJmEbAAqWbJkptDsqe3Yt2%2BfnnjiCX311VeqXbt2fhcTAAAgzxCwkUmtWrU0bdo0j387fPiwxo8fr2XLlkmS4uPjNXToUC1cuJAhn8BV7sYbb/Tadhw6dEjvvPOOfv75Z0lpbceQIUO0YMECORyO/CwmkOdCQkL0zz//%2BLsYKCAGDRqkQYMG%2BbsYAGxCIkK2VKxYURMnTlTLli2N%2B/bu3as1a9b4sVQALneVKlXSpEmT1Lx5c%2BO%2Bf/75R%2BvXr/djqQAAAOxFwEa2ORwODRgwwHTfb7/95qfSACgoHA6Hnn/%2BedN9tB0AAOBKwhBx5MiNN96osLAwxcfHS5KOHj2aref/9ttvWrZsmTZu3KjTp0/r4sWLKlWqlKpXr66WLVuqU6dOCgsLs7StvXv3au3atdq8ebP27dunU6dOKTExUcWKFVNERIQaNGigDh066JZbbslWGZ1OpxYuXKhFixbpn3/%2B0fnz5xUeHq7q1avr4Ycf1j333HNZraIeFRWlxYsXa926dTp27JhiYmJUtGhRXXfddWratKk6d%2B6sChUqZLkNb4uGnTp1SnPnztXy5ct17NgxXbp0SeHh4brtttv05JNP6sYbb7RczuTkZM2fP19LlizRvn37FBsb67FeJ0yYoM8%2B%2B0yS1KlTJ7355pvGNubOnavXXnvNtN3U1FTVqlXL42sOHDhQffv29Vm2TZs2KTIyUtu2bdOJEycUGhqqSpUq6e6779aTTz6pokWLWn6f3sycOVNvvfWWJKlChQpasWKF5SHSQ4YM0fz58yVJd999tz799NNMj4mLi9OCBQu0atUq7dmzRzExMUpJSVFoaKjCw8NVuXJl3Xzzzbr77rt1ww035Pr9ZFedOnUUEhKixMRESdKRI0ey9fwNGzZo2bJl2rRpk6ntqFGjhtF2FC5c2NK29uzZY2o7Tp8%2BbWo7GjZsqA4dOmR7jYnU1FSj7dizZ4/RdtSoUcPYx/NiSk1UVJTuv/9%2BSVJwcLB27NghKW14fmRkpH799VcdP35cSUlJqlSpku699149/fTTmfbruLg4zZ49Wz///LOioqKUnJyssmXLqkmTJnr22WdVsWJFS%2BWxs369vbeDBw8qMjJSa9eu1fHjx5WamqoKFSrorrvuUteuXXXdddf5ZbtWF0J69913NWXKFElSly5dNHr0aElpbdE333yj7du3G23R9ddfr1atWumJJ55QkSJFfNZZusOHD2vOnDn69ddfdezYMTkcDkVERKhx48bq0qWLatSoIUlq0qSJzpw5I0mKjIzUrbfeavk1fDl58qRmz56tlStX6tixY5KU4zK8%2BOKLWrJkiSTp5ZdfVq9evXy%2Bfnbe2/bt27Vu3Tpt3bpVUVFROnfunJKTk1W8eHFdd911atiwoTp16qSqVatmrxKy4G0/kKRff/1Vzz77bKbnNG3a1OO20p%2B/evVqo27CwsK0Zs0ay79hEydO1CeffCJJuvnmmzV37txsvR93nuo%2BJiZG8%2BfP108//aQjR44oLi5O4eHhatSokR599FHVq1cvx6%2BXlfXr12vJkiXatGmTzpw5o6SkJJUpU0Y1a9ZUy5Yt9dBDDyk0NNTjc3P6OeDqRMBGjjgcDhUrVswI2BcuXLD0vCNHjmj48OEeh4WeOnVKp06d0vr16zV58mS99dZbpuGknnTo0MHrPDf3lYu/%2Buor3XfffRo7dqyl4H7y5EkNHDhQW7duNd1/9OhRHT16VKtXr1bjxo31/vvv%2B9xWXrt06ZLGjRunb7/9Vqmpqaa/pdfBjh07NH36dPXv39/SwYi7FStWaMiQITp//rzp/sOHD%2Bvw4cP64Ycf9Morr%2Bjpp5/2ua0DBw5owIAB2rNnj%2Bl%2Bf9drUlKSxo4dq9mzZ5vuT0xM1I4dO7Rjxw598803mjZtmnEgmFPt2rXT22%2B/rdTUVB09elRbtmxRgwYNLJUxff6yJLVv3z7TY9atW6dXX33V4zV34%2BLiFBcXpwMHDuiXX37RxIkTNX/%2B/HxfZCwgIEDFihUzArbVtuPw4cMaNmyYfv/990x/S2871q1bp8mTJ2vcuHFq0qSJ1205nU49%2BOCDmfbDdO5tx6xZs9SuXTu9%2BeabloL78ePHNXDgQG3bts10f/o%2BvmrVKjVt2lTvvvuuz23Z4YcfftDrr7%2BuS5cume7fu3ev9u7dq8WLF%2Burr74ywt/WrVs1YMAAnTp1yvT4I0eOKDIyUgsXLtRHH33k9aBSytv6dTd37lyNHj1aSUlJHt/b7NmzNWLECD388MOXxXatSEpK0pgxYxQZGWm6PzExUdu3b9f27ds1Z84cTZ8%2BXdWqVfO5vW%2B%2B%2BUbjxo1TQkKC6f59%2B/Zp3759mjNnjv773//qqaeesvNtmCxZskQjRozI9F3PzzJYcebMGT322GM6fPiwx7%2BfPXtWZ8%2Be1bZt2/TFF1%2BoW7duGjx48GV1ot1ds2bNVKFCBR09elTx8fFaunSpOnfu7PN5TqfTdNnWTp062VquP//8UwMGDNDJkydN9x85ckRHjhzR999/r27dumno0KG2nYg8ffq0Xn31Va1bty7T344dO6Zjx45p1apV%2Bvzzz/XGG29k2b4BVhCwkSMul0uxsbHGbStn0//%2B%2B2/17NnTdPAfFham6tWrq3Dhwjp16pQOHDggKa0x7Nu3ryZMmKA2bdp43aZ7uA4KClLlypVVsmRJBQQE6OzZszpw4IAROn/66SedPn1as2bNyvIH8dy5c3rqqae0f/9%2B477g4GDVrFlThQsX1oEDB3TmzBlt2LBB/fr1U8OGDX2%2B97wSGxurXr16mU4EBAYGqlq1aipVqpRiY2O1Z88epaSkKDExUe%2B9956io6P16quvWtr%2B2rVr1b9/fzmdTgUFBalGjRoqVqyYTpw4YawK7XQ6NW7cOFWsWFGtW7f2uq2jR4%2Bqe/fuph/V0NBQ1ahRQ6Ghofr333916tQpS/UaERGhpk2b6tKlS9q0aZOktJM%2B3kJVpUqVsnyfw4YN08KFCyVJpUqVUuXKlRUQEKC9e/ca%2B/nJkyf17LPPavHixbnqyb7mmmvUuHFjrV27VpK0aNEiSwF71apVxgFqkSJFdPfdd5v%2BvmvXLvXp08cUCsqUKaNKlSqpcOHCio%2BP1/Hjx03173Q6c/w%2BcsrpdGa77di9e7d69uxp9IJIaW1H%2Br5z8uRJHTx4UFJa2O7du7c%2B/PDDTHXkXgb38Oer7fjxxx91%2BvRpzZgxw1LbkV4W6X9tR2hoqA4cOKCzZ89q7dq1GjBgQKarNdjt559/Nr7rYWFhqlmzpoKDg7V3715FR0dLSuupffbZZzV//nzt2bNHPXr0UHx8vAICAlSzZk2VKFFCx44dM0JHQkKCnn/%2BeS1ZskTXXnutx9fNq/p199NPPxmjWAIDA1WzZk0VLVpU//77r7GPpy%2Bk53A49NBDD/l1u1YNHjxYP/74oySpdOnSqly5shwOh/bs2WN8/0%2BcOGG0RVmdMP7mm2/0%2Buuvm%2B4rV66crr/%2BeiUkJGjPnj1KTEzU2LFjs9Ujnh3/93//p0GDBplO/qaPpImPj9eePXuUnJycp2Ww6uLFi6ZwXbhwYV1//fUqXry4pLTfgEOHDsnlcsnpdOrLL79UTEyMxo8fn6flKl26tJo2bSqXy2UKiLfffruCgoIyPT79JHBAQIA6duyoDz/8UFLaiSMrAXvNmjU6fvy4pLR2o127dna8DUlpJ0pHjhypuLg4SVKVKlUUHh6uM2fOGMdcLpdLs2bN0qVLlzRmzJhcv%2BaJEyf05JNPmq5kERISoho1aqhw4cI6ePCgcVx67Ngx9enTR%2BPHj1fbtm1N28np54CrEwEbObJz507TGfHq1atn%2BfgLFy6ob9%2B%2BRiN27bXX6tVXX1WbNm0UGPi/3fDAgQN64403tG7dOiUnJ2vIkCGqXbu2ypcv73G7xYsX1yOPPKI2bdrolltuydTIxcTE6Ouvv9ann36q5ORkbd68WV988YV69uzptaxjxowxhesnn3xSzz//vPEj63Q69fPPP%2Bv111/Xli1bjJMC/jB06FAjXIeEhKh///56/PHHTQHw/Pnz%2Buijj/Tll19KkqZPn64GDRpkGYaltPf50ksvSZL69Omjnj17qlixYsbfM/Z0jR07Vq1atfI63Pm1114zDlADAgKMbaYfVLlcLq1du1YjRozwWa/NmjVTs2bNTEPaAwICvK5gnZXly5crJiZG5cuX12uvvaaWLVsaZ82Tk5M1bdo0TZgwQVJa7%2BSMGTPUv3//bL%2BOu/bt2xsBO/2A3v174MmiRYuMf99zzz2ZhrG9//77RriuUaOGRo8erfr162fazpkzZ/TLL79k6iHLLzt27DCdBPB1EBIbG6u%2Bffsa4bp8%2BfIaPHiwWrVqZaqzqKgojR49Wr/99puSk5M1ePBgLVy4UBERER63W6JECaPtuPnmmzO1HefOndPs2bP12WefKTk5WX/88YdmzZqVZS/byJEjTeH66aefVt%2B%2BfU1tx7JlyzRy5Ej98ccf2rt3b5bvPTdSU1M1ZMgQBQUF6aWXXtJ//vMfhYSEGH%2BbOnWqMVJk9%2B7dWrBggaZMmaL4%2BHg98sgjevnll3XNNdcY21u9erVeeOEFxcfHKz4%2BXpMmTTKmOniSF/Xr/t6GDx8uSerYsaMGDRqk0qVLS0prR9asWaPhw4frxIkTcrlcGjlypBo0aOBzaHtebdeqZcuWKSYmRhUqVNCIESPUvHlzU1s0efJkIywdPXpUM2fO1HPPPedxW/v37zdNqylfvrxGjx6tpk2bGm10XFycpk2bpk8//VRvvvmmXC6XLe8j3alTpzRkyBAjXJcpU0ajRo1Sq1atjPd1/vx5ffjhh/rqq6/ypAzZVbZsWXXu3FmtW7fWDTfckKkH9cSJE5o6daq%2B%2BuoruVwuLVy4UPfcc0%2BWHQG5VadOHU2bNi3TtIP33nvP5/WXO3XqpI8//lipqanatm2b9u7d67PN/e6774x/33fffbZMjUr35ptvKi4uTrfeeqvGjBljKktUVJRee%2B01bdmyRVLaCYE777zTmMKREy6XS6%2B88ooRrh0Oh3r37q1nn33WeF9Op1MrV67U66%2B/rjNnzig5OVlDhw5V7dq1TSfnc/M54OrDImfINpfLpY8%2B%2Bsh037333pvlc959911jnnblypU1f/58tW3bNlOoqFKliiZPnmwMz7lw4YIxD8iT1atXa8iQIWrYsKHHM4glS5ZUv3799N577xn3zZo1SykpKR63t3XrVqP3QJJ69eqlYcOGGQfIUlqQu/feezV9%2BnSFhoYaPUH5bcmSJcaQ4dDQUM2cOVO9evXK9GNYokQJDRs2TAMHDjTuGz9%2BvM8DGZfLpfPnz2v06NF68cUXTeFakurVq6ePPvrIOFg7cuSI0Zuc0apVq0zTAl599VUNHDjQ1GPhcDjUrFkzffnllypZsmS%2B1WtMTIzCw8M1Z84c04GflNbz1qdPH3Xt2tW4z33oXE61adPGGA4bHR1thG1v4uLitHr1auN2xuHhSUlJxmJhAQEB%2BvTTTz2GaymtB71z586aN2%2Bebrrppty8jWxzuVyaNGmS6T5fB6bvvPOOMWezSpUq%2Bu6773TvvfdmajuqVaumadOm6c4775SUduDuaY66lNYzuWrVKg0ePFgNGjTw2HaULl1a/fv31zvvvGPc9%2BWXX2aahpFu06ZNxuULJem5557T4MGDM7Udbdu21dSpUxUSEpKn%2B3hqaqouXLigd999Vz169DDCtZS2vkLv3r31wAMPGPcNHz5cUVFR6tatm8aOHWsK15J011136ZVXXjFu//TTT8Yw/4zyon4zvrfY2Fg99thjeuutt4wQLKW1I82bN9fMmTNVokQJSWm97laG5OfVdq2KiYlR2bJlNWfOHLVo0SJTW9SvXz89%2Buijxn0//PCD12299957xomskiVL6ssvv1SzZs1MJ0CLFi2qgQMH6tVXX1VCQkKmaQS59cEHHxg9lWFhYZo%2BfbratGljel8lSpTQ8OHD1aNHjzwpQ3Zce%2B21WrlypQYMGKCbbrrJ4/DkiIgIvfbaa8bJZyntpPXlqly5crrrrruM2/Pmzcvy8efOndPKlSuN21Z6vLMjOjpatWvX1owZMzIF/WrVqumLL74wjewZO3askpOTc/x6S5YsMU0rGjx4sF588UXTcVJAQIBat26tmTNnGvfHx8dr7NixOX5dgICNbDl8%2BLAGDhyoX375xbjvgQceyHKRq3PnzplCydtvv206cMkoMDBQo0ePNg6gFy1aZPxIZ2R1IbR7773XWDTjxIkTxuJdGbn36lWqVCnTisfubrrpJvXo0cPS6%2BeFqVOnGv/u16%2Bfz0VB%2BvTpoypVqkhKGxa6YcMGn6%2BRvjiaN7fccotpsZj0M88Zffvtt8a/a9eure7du3vdZsWKFbOs97wwePBgrz2dkkzlPXLkSKb5qdmVcYi3e%2B%2B0J8uWLTPCTHh4uO644w7T38%2BePWschISHh1vuUcvPuYOHDx/W888/b7qk34MPPuh1YToprbc9PUQ4HA698847ltqO9Pe1YMECY52IjKy2Hffff79xwHf06FH9/fffHh/3zTffGP%2BuXLlylqMc6tatmy/zTVu3bq377rvP69%2B7dOli/Ds5OVnh4eGmEJ2R%2BwJAFy9ezPI6z3bXb0bh4eFZTnXJ%2BBmsWLHCNMUgv7dr1dChQ1WuXDmvf3dviw4ePKhz585lesypU6e0atUq4/aAAQOybBOeeuop20%2B2xcXFGQuRSdIzzzyT5aKKL774os%2BF4/JacHCwx5NBnjzzzDNGr%2BWWLVv8dqLdCvfv%2BYIFCzKtLeDuhx9%2BMH5Lqlev7vVEbW6MHj3a63oLoaGhGjNmjHEi6NSpU6bjzez6%2BuuvjX/Xq1cvy3a3evXqpmOPVatWZXsRTiAdARuZ/PPPP3rmmWdM/z355JO699571aZNG1MvTZMmTfTGG29kuT33no6MgcybChUqGA37pUuXMi0YlBPuQ3rSV4p153K5Mp25DQ4OznKbjz/%2BeJ6sBuxLVFSUdu7cKSmtZ8O9h9WbgIAAU4%2BVp8WiMnLvLfHG/QfYfWh9upSUFNN8pUcffdTnqtlZreRptxIlSmQZQqS0ntMyZcoYtz29z%2Bzq0KGD8e%2BVK1d6DYKSOYC3a9cuUzB27508ffq0zp49m%2Bvy5cTu3bu9th2tW7c2LdLWrFkzjRo1KsvtLV261DjYq1evnqXVpitWrGi0MQkJCdq%2BfXsu3lEa9ysQeGs73A8Cu3Tp4nPI/%2BOPP2559fic8rU4UZ06dUxlaN%2B%2BvWlfyqhw4cKmXic7vgeS7/r15OGHH/YZ4jt27GgcyCcnJ5tCZ35v14pSpUoZU168qV69ukqWLGnc9vQZrF%2B/3hilFRoaqgcffDDLbTocDkttfXasW7fOmEZWqFAhn79RwcHBtveW5qVChQqpTp06xu2//vrLj6XJWvPmzY31EqKjo7VixQqvj3UfHm734maSdOutt5rqzZMbbrjBtC7J8uXLc/RaMTEx2rx5s3H7iSee8Pmczp07G99tp9Np23cbVx/mYCOT8%2BfP%2BxyyWrlyZfXt21cdOnTweZDo3sDdfvvtlstRs2ZN/fHHH5LS5nxntSpwcnKyNmzYoB07dujw4cO6cOGCEhMTTcOg3Re4yLh6Zfrf3VfKbtasmc8yhoeH68YbbzTCbn5xH4pdu3btTMO3vXE/OLZSZisnQ9x7ft0Xr0q3b98%2B07A/K/tA0aJFVbt2bdO%2Bk1fq1KnjMwxJaUPt0oOr1ZWvs9K0aVOVKlVK0dHRio%2BP1/Lly02hO93p06eN74HkefXw0qVLq3z58jp27JicTqeee%2B45vfHGG1n2DueFmJgYn21HlSpV1K9fPz3wwAM%2B2w73/Tw7bUeNGjWMfWfXrl2ZevzdJSUlacOGDfrrr7%2B8th3u86o9tR379%2B83jbKxsgJtRESEatasmWUvcG75ujRhWFiYwsLCdPHiRUuPl2QaOu7p%2B56RHfXriZU6LlKkiBo0aGDskzt27PAZGvJqu1bUrVvX0qiSsmXLKiYmRpLnz8D9JEWdOnUszaHNzvfLCvcTWzfccIPpBKU3zZs3N9a78Lf4%2BHitXbtWO3fu1LFjxxQXF5ep59f9u2t1v/WHgIAAderUyZieM2/evEwLeElpU%2BT27dsnKe3Eva8TMzlhdXXu5s2bG%2B2/1ZNuGWXsmLFyTFekSBE1atTImJK1bds2devWLUevj6sbARs5cuTIEe3bt89SD4z7Qj4rVqzwOjw7I/dA7G34VUpKimbMmKEpU6YYBxxWeApIhw4dMv4dEBBg6RIoUlqPQn4HbPc6PXLkiJ555hlLz3OvIytD2jLOw/TEfaiXp/lz6fNnpbQhvNdff73PbUpS1apV8yVgW3mPkkw96hkveZMTgYGBatu2rXFpsMWLF3sM2D/%2B%2BKMxL7VKlSpez/53797dmDO2bds2dejQQTfddJOaNWumBg0aqF69eqb5wP6SnbYj/WBPSlsR2%2BqBlvsCeVm1HdOnT9e0adNsbTsCAwMtXx%2B3Ro0aeRawAwICVKpUKZ%2BPK1y4sBGwrYQgX9/3dHbWrydWV%2BitXr26EYTdP6f83q4VVtui7LS5VvfFypUrq1ChQpbmwFvhvhp3zZo1LT2nevXqcjgcfl3oLCEhQZMmTdKcOXOyHFWUkbdpbJeLTp066ZNPPlFqaqrWr1%2BvY8eOZVo81v1a161atcpyOk5OZef7lS6n3y/3ffDaa6%2B1/PtXq1YtI2B7u2Qb4AsBG5k0atRIs2bNMm6npKTo5MmT2r17t6ZPn67NmzcrJSVFkydPVkpKis9LPrkfXEVFRSkqKirbZfL045WcnKznn38%2BR/NzPM1Bcu8JCAsL8zk8PJ37cL384l6nZ86c8dlr6ImvA4JChQple46upwMj9wPmIkWKWB5Sb7VXPreszrlzZ9cBYPv27Y2AvW7dOp07dy7TQY378HBPvdfpunfvroMHD2rOnDnGfbt27TJOaKUPabz//vvVqVMnW1eGTde4cWPNmDHDuJ3eduzatUvTpk3T1q1blZycrM8%2B%2B0ypqakaNGhQlttz38/Tr5mbXZ4CW1JSkvr3729aOM4qT22H%2B8iXokWLWhoRIeVt2xEYGJjtIeg5%2BS54Ynf9emK17twf5/455fd2rbCrLXJv2622owEBASpSpIilUQlWuNeJ1ToNDg42LinoDxcuXFD37t1zdMLc6n7rLxEREWrevLl%2B%2BeUXOZ1OzZ8/37SWwMWLF7V06VLjdl4N18/J9yslJUUXL17M9mXc3PdlKycbPT3Wru82rj7MwYZPgYGBqlChglq3bq2vv/7aNFdr%2BvTpPg%2Bi7Ojt83S93ilTppjCdf369TVq1CjNnz9fGzZs0Pbt2/XPP/8Y//Xp0yfL13BfqTI7BzpWg7id8qpO84K/L7tyOatfv76x%2BFBKSorpAEdKG8XhPrfPUw93OofDoZEjR2rWrFm6%2B%2B67M%2B3D6ZdpSb%2Bcmvtq%2BXklve1o06aN5syZo44dOxp/mzp1qs8TQ3YcaHvazz///HNTu9WgQQONHj3aa9vx7LPPZvkaBantyA92129GgYGBlk/Uudexr9WI82q7%2BS2nba6dbXVB/E68%2BeabpnDdsmVLvf3221q4cKF%2B//137dixw7Tf5ubyUf7gfuw2f/58U9u4ZMkSo72tUKGCcTUGu1ndFzLuBzk5geH%2BnJzug5f7iRNcvujBRrY4HA6NGDFC27ZtM4Y2jho1Sj/99JPXH8ZixYoZZxLHjx%2BfZUiwKiUlRV988YVxu3v37ho6dGiWz0kfBumNe4%2Ber8dmZ7t5wX2oU%2BfOnTVmzJh8L4NV7mW9ePGinE6npYNYO%2BY5FwQPPPCAcTmpRYsW6T//%2BY/xN/fe63r16llaHbxRo0Zq1KiR4uPjtWXLFm3atEm///67tm3bZgz/jImJ0csvv6yQkBCf10O3S/oJgO3bt2vv3r1yuVwaNWqUlixZ4vXgp3jx4sZB34QJE2w5oE1KSjL1svfo0cPnKJwrqe3Ia3lRvxmlpKQoMTExywXZPG3b16iNvNpufnPvtbbajjqdTlt7ji%2B374SvE8onT540XfZs%2BPDhPufeFrTv71133aWIiAidOHFCR48e1fr164050e6X73rkkUfybPFWq3WW8XE5GdHm/pzsfFbuI0Auh2lVKJjowUa2BQUFafjw4cbto0ePmoalZuQ%2Br899XnVu7NixwwjtYWFhevnll30%2Bx9elldyH5iYlJen06dOWyuKPyzi4l9WuOs0r7vO8UqZua3sAACAASURBVFJSLJfXrhWKL3fuw77//PNP0/5kdXi4J2FhYWratKleeOEFzZkzR2vXrtVLL71kzCV3uVwaP358LkufPcHBwRo2bJhx%2B9ChQ6ZLuGXk3na4L4SVG9u3bzcOoIoWLaoXX3zR53N8tR3u5YyPj/d46SRPrsRLwORF/Xpite7cH2dljnlebTc/ube5VtvRgwcP2jb/WjLXydGjRy095%2BTJk5ZGA7ifkLM6esDXiYYNGzYYPfhVq1a1tLBVbi/XmN8KFSpkGkWUHqr37dunP//8U1LaVAH3x9jN6r7g/v0qUaKE5Wk37tyPk9IXALXCfc53XsxDx9WBgI0cue2220yrQU6ePNnrgjfuK9NaufayFcePHzf%2BXbNmTZ89Di6Xy%2Belvm644QbTWVsrCyo5nc58X%2BBMMq/u/eeff/ptzpoV1atXNy3K474itjdxcXGW6tX98yqoQ9GrVaum2rVrS0p7D4sXL5aUtv%2Blh8r0BdFyo3Tp0urdu7dee%2B01476DBw9aPuCxS%2BPGjU2ren/22Wdeh%2BHlRdvhvgBUrVq1fA5JtdJ23Hjjjab5zlbajtTUVL%2B0HXktL%2BrXE6sL3rk/zsq1nvNqu/kp/briUtrlo6z03llpl7PjxhtvNP69c%2BdOS%2B2z1bp3n4trZc74/v37fQZx92MKX5eRktJ%2Bo9wXG80PGddUyMlvXufOnY3fzeXLlys6Otq0uFnTpk2NS3rlhfz8frk/Lz4%2B3vLn5d4eeXptOz4HXPkI2Mix5557zvj3mTNnFBkZ6fFx7kF8y5Yttqya6/5jaWUhnw0bNujEiRNZPqZIkSKmg4IlS5b43O7vv//ul2sON2rUyDiLn5SUpO%2B//z7fy2BVYGCgaT5XZGSkzx%2BkBQsWZLlCcTr34O50OgvsfCn33un0Xuv0oC2lXW/erjPprVq1Mt32x/7r3nacOnXKdIDnzv3SfJs2bcrRAokZpV8fWLLWdqxZs8bnaJZixYqZVkrOOJfek/Xr12drde2CIi/q1xMrdfz333%2BbenDdr62b39vNT02aNDF6/C5duqQFCxZk%2BXiXy5XlSJKcaNiwofHvjJca9MbKb64kUwDcs2ePz8dndd3ndNndbxctWmR6Tn4IDg429eQmJiZmexvXXnutcbmq5ORkzZs3z7R/5PW1yFesWOHzdzopKUk///yzcTun368aNWqYFkuzsu7I7t27TYtpuu/H6ez4HHDlI2Ajxxo2bKhGjRoZt6dOneqx4WzevLmqVKkiKe2H/PXXX891ECpbtqzx73/%2B%2BSfLM/RJSUkaN26cpe26zw9fsmRJlj/eTqdTEydOtLRdu5UoUUIPPfSQcfvDDz/M957I7HBfXGXnzp2mVeozOnr0qHG9Tl9KlixpGi5YUC%2Bp0a5dO6NXYd%2B%2Bfdq5c6fpYNPXugXZOYOecbRDiRIlslFSe9xxxx2qX7%2B%2BcXvKlCke24SWLVsal3VzOp0aMWJErheUCg8PN/69e/fuLBcMTEpK0jvvvGNpu%2B7XjF20aFGWJwNSU1P91nbktbyq34xWrVqlLVu2ZPkY92sqV6hQwfR7ld/bzU/h4eFq0aKFcdvX78OXX35p%2B2iKm266yXTSaeLEiVm2U3///bd%2B%2BuknS9tOH/EjSRs3bsxySkZ0dLRmzpzpc5vu%2B%2B2ff/6ZZVmjo6P10UcfWSqr3dwv5ZbTy1e5/x5PmjTJuJRhmTJl1LJly9wV0IeYmBjT%2BjmefPnll8aJX4fDYTrWyY6AgADTc2fNmpXl9cpdLpfeffdd43ZERITX63bb8TngykbARq5k7IlyXygjXUBAgP773/8at7du3ao%2Bffr47DlLSEjQ/Pnz1aNHj0x/u%2BWWW4yhh/Hx8Xr77be9Xq5kwIABlnvNO3bsaDScqamp6tevn2noWLrU1FSNHj1aW7dutbTdvNC3b18jHMXExOjJJ5/0eZDkdDq1fv16PfPMM/n6o9CiRQtTL/bYsWM1adKkTCdG1q1bpyeeeELR0dGWLqsRGBhoOoibOXNmvq2ObqeyZcuahk2PGjXKmN8XFhaWqdc5o99%2B%2B019%2BvTRxo0bszwwTE1NNYWDcuXKqVKlSrksfc64tx3Hjx83LTCUrlChQqZLeW3atEnPPfeczznO8fHxmjdvnsfrw9erV884KXPx4kW98847XtuO/v37Wx5W2KlTJ2OUQUpKivr27etx1ExKSopGjhxpeahkQZNX9evJCy%2B8YLrmeTqXy6UJEyZo1apVxn3PPvus5cuW5dV289PLL79s/EZGR0friSee0Lp160yPuXjxoiZNmqRx48apcOHCxvoMdunZs6fx782bN2vMmDEe53kfPXpU/fr1szwH/LbbbjN6JpOTkzV69GiP%2B9j58%2BfVr18/SyMkbrvtNuPf//77r6ZOnerxcWfOnFHPnj115swZS2W1m/uQ5a%2B//jpHnRUtW7Y0Oince18ffPBB2y7Vl5UPP/xQy5cv9/i3X375RR988IFxu23btpYW9/TmySefVFhYmKS03wVvx55Op1Pjxo0zXdmiV69eXi9VasfngCsbq4gjV%2B68807deuutxgIZU6ZMUefOnTM10q1atVLv3r31%2BeefS0oLUq1atVK7du3UqFEjlS1bVoUKFVJsbKwOHDig7du3a%2B3atYqPj1e5cuUyvW5YWJg6depkXEM4MjJS%2B/btU6dOnVSxYkXFx8drx44d%2Bvbbb3Xy5EkVKVJEzZs39zn8r1ixYho2bJixMM%2BhQ4fUvn17de3aVQ0bNlRISIj279%2BvuXPnateuXQoJCVGTJk20cuXKXNdldpUvX17jx49X3759lZKSoiNHjqhjx45q0aKFmjVrpuuvv16hoaGKi4vT0aNH9ddff5mGY%2Bb3vKExY8aoa9euOnnypJxOpz766CNNnTpVNWvWVGhoqP7991/j7HL9%2BvXVsGFDTZ48WVLWl2554IEHjBMLkZGRWrlypbHNdO3bt8/1HOa81r59e61fv16SeQ5Y69atTUPhPXG5XPrll1/0yy%2B/qHz58mrWrJnq1q2rcuXKqUiRIrp48aL27NmjBQsWmEZl9O7d22/hoHnz5qpbt64RND///HM98sgjmRazueeee/TMM89o2rRpktKGFKe3HbfddpvKlSungIAAxcbGav/%2B/UbbkZCQoAoVKmR63aJFi%2BqRRx4xprTMnj1be/fuVceOHVWxYkVdvHhR27dvV2RkpE6fPq1ixYrpzjvv1LJly7J8PyVKlNDQoUONEwIHDx402o4GDRooJCREUVFRmjt3rnbv3q3Q0FA1btzYdKnBK0Fe1a%2B74OBgNW3aVCtXrtTDDz%2BsLl266Pbbb1eRIkV06NAhfffdd6aTnw0aNFCXLl38tl1/qFq1qoYOHaqRI0dKSguxPXr0UEREhCpVqqRLly5pz549xlScYcOG6YMPPjBu23G5rAcffFALFy40QstXX32lrVu3qnPnzqpataoSEhK0ceNGffPNN4qLi9Ptt9%2BuvXv3%2BjyBFhwcrCeeeMIY6bR06VKdOHFCjz32mK677jrFxcVp69atioyMVHR0tJo2bapdu3Zlud1q1aqpadOmRlnfffddbdmyRQ888IDKlSun2NhYbdy4UfPmzVNsbKzKly%2BvKlWqZDppkdfat29vHG%2BsWLFCzZo10w033GCal96sWTN17drV6zbSFztLv3pFurweHi6lBealS5eqX79%2Batu2re655x6Fh4fr9OnTWrFihX788Ufj2KRkyZIaMmRIrl6vQoUKGjx4sEaMGCFJ2rVrl9q1a6cuXbqofv36CgkJ0YEDBzR37lxTB8Udd9yhxx9/3Ot27fgccGUjYCPXnnvuOfXu3VtS2gI3P/zwg8eG%2BqWXXlLJkiU1fvx4OZ1OJSQkaN68eR57va14%2BeWXtWnTJiMwbN68WZs3b870uJCQEL3zzjuWe4zuv/9%2BHTlyRO%2B9956ktNVHJ0%2BebIS9dAEBARoxYoQOHz7sl4AtpV12Y%2BrUqXrhhRcUExNjClqXmwoVKmjGjBkaOHCg8ZldunRJ27dvNz2ucePGev/99zVlyhTjvqwu0dGtWzetXLlSGzdulJQ23y9jj4WVRWv87Z577tHIkSMzzefK7urhx44dU2RkpNc1EdL95z//yfIAIj/06dNH/fr1k5S2auyiRYv08MMPZ3rcK6%2B8opIlS2rChAnG5YTmzp3rde62L6%2B88oo2b95szLXbuHGjsf%2B4Cw0N1fjx4z22K560b99eR44cMXpgYmNjjZOK7goVKqRRo0Zp3759l%2BV3Nbfyqn7dvfXWW%2BratasOHDigGTNmmC4N5q5GjRr6%2BOOPLV92KK%2B26w/pB/fjxo0zgvOJEydMIysCAwP13//%2BV507d9bbb79t3J%2BTyyJ5MnHiRNPoqp07d3ocaVWhQgWNHz9ejzzyiKXt9urVS2vXrjVOeGzdutXjiLJatWrp/ffft3SJvzFjxqhz587G78fKlSs9/raXLFlSEydO9DnUOS%2B0bdtWy5YtM4bTx8TE6LfffjM9xn34sjedO3fW559/boz4atCggapWrWp/gTPo3r27XC6XfvrpJy1dutRrp0eRIkU0ZcoU03TAnOrSpYsuXLhgXDUjOjpan332mdfH33777frkk0%2ByPPls1%2BeAK9fl%2B8uAAqNFixamOVGTJ0/2uvhHjx49tHDhQt1///0%2Bz5BXq1ZNvXv39jp/qmjRopo9e7Y6dOjg9SCnXr16%2Bvbbb7N9rd9evXrps88%2B03XXXefx71WqVNHUqVPVqVOnbG03LzRu3FhLly5Vz549TQt6eBIeHq6OHTvqq6%2B%2BMua25qeqVatq/vz5GjVqlBo1aqQyZcooODhY5cuX11133aUJEyZo2rRpKl26tGkYV1bDxYODgzVjxgy99dZbatGihSIiImwf6pgfihYtmmn%2BW5kyZUxD67254YYb1L9/f9WuXdvrkLZ0derU0ccff6wRI0b4fWhrq1atVKtWLeP2Z5995nWYaK9evbRgwQLdd999PtuO6tWrq0%2BfPpo%2BfbrHvxctWlRz5szRAw884LXtaNCggb799ttsz0l87rnn9Mknn3jsPZfSvgPTpk3L8bzCgiAv6zddqVKlNG/ePK/DWoOCgvT4448rMjLS0nSTvN6uv3Tt2lWLFy9Wjx49VK1aNYWFhalIkSKqXr26unXrph9%2B%2BEFPPfWUkpKSTNf/9fVbYlX67/TTTz/t8WofgYGBuu%2B%2B%2B/Tdd995HK3mTXBwsKZOnapHH33U4z4WEhKixx57TJGRkZbXmbj22ms1d%2B5cYxGwjAoVKqQWLVro%2B%2B%2B/180332y5rHZyOBz64IMP9MEHH6hNmzaqUKGCzxFOnkRERJjqJT96r6X/lf/FF1/0%2Brk0adJECxYssLWOe/bsqdmzZ6tevXpeHxMeHq7hw4dr%2BvTppp5oT%2Bz6HHDlcrhYXx5%2BcunSJW3ZskVHjhwxVtMtVqyYKlasqJo1a2brzOXJkyf1%2B%2B%2B/68SJEwoKClJ4eLhuueWWXM3dkdKG3m7ZskV79uxRbGysypQpoxo1apguH3Q5Sb9s2N69exUdHa2kpCQVLVpUERERql69urHYXEHQtm1bY6XeGTNmqHHjxn4uUcEQFxenv//%2BW4cOHdK5c%2BeUlJSksLAwRUREqE6dOl5PGhUkWbUdtWrVMi1Y5MuJEyf0%2B%2B%2B/6%2BTJkwoKClLZsmV1880329J2bN68WXv37tWFCxeMtsNfB%2Bb%2BYlf9RkVFGb2QwcHBphFJ586d0x9//KETJ04oNTVV5cuX15133mkpWOXVdguazZs3GyNaKlSokCejsuLi4rRu3TodPXpUDodD5cqV02233Wb6vjZp0sSY3xwZGWm6JKU3Z8%2BeNa4UEhgYqGuvvVZ33HFHrj6nf//9Vxs3btTZs2cVGhqqcuXKqUGDBtlqWy5nq1evVq9evSSlnQRZu3ZtngVEb59pYmKifvvtNx05ckQXL15UeHi4GjZsmOu215fjx49r8%2BbNOnPmjJKSklSqVCnVqlVLdevW9ftJZ1w5CNgALjtbt27VY489Jimtx2j9%2BvUqXry4n0sFwF%2ByCsKX43YLmqFDh%2Bq7776TlLauRfoUqfyWk4CN7Ovbt69x%2BbKuXbsac/XzAp8prkYMEQdwWYmLi9Pw4cON261atSJcA0A2We0/Wb16tb7//nvjtqd1EHDliIqKMq39wEJcgP0I2ADyxcWLF9WhQwfNmTPHuASVu5SUFC1fvlwdO3Y0Lt0TFBRkLKAHALBu9uzZevnll/Xrr796vIzQuXPnNGnSJPXr189Y7KpevXpq0qRJfhcV%2BSQ6OlrDhg0zPu9mzZqZ1sEAYA9WEQeQb/755x%2BNHDlSI0eOVEREhMqXL6%2BQkBBduHBB%2B/fvV3x8vOnxL730kul6kwAAa5KTk7V48WItXrxYQUFBqly5skqXLi2Xy6XTp0/r4MGDpl7u0qVLa9y4ccxDvcKMHz9eBw4c0IULF7Rr1y5jMbvAwEC99NJLfi4dcGUiYAPIFxkP2jJeLsZdsWLF9Oqrr%2BbbyqYAcKVxX107OTnZGBnkSe3atfXBBx%2BoUqVK%2BVE05KONGzdq27Ztme7nBDaQdwjYAPJFWFiYVqxYoRUrVmjz5s2KiorSyZMnlZCQoODgYJUsWVI1atTQnXfeqUceeYR51wCQC926dVOtWrW0Zs0abd%2B%2BXYcOHVJ0dLSSk5NVrFgxXXPNNbr11lvVunXrHF8uDQVL0aJFVadOHXXv3l133323v4sDXLFYRRwAAAAAABuwyBkAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANgj0dwH8yeVy6dy5i3I6Xf4uylUnIMCh0qWLUP9%2BQN37F/XvX9S//1D3/kX9%2Bw91n3/Cw4v5uwjA1d2D7XA4FBDg8HcxrkoBAQ7q30%2Boe/%2Bi/v2L%2Bvcf6t6/qH//oe6Bq8tVHbABAAAAALALARsAAAAAABsQsAEAAAAAsAEBGwAAAAAAG1zVq4gDAPKOw3H5LeiTXiSH4/IsX35xuVjJGACAvEDABgDYrnDhi3I4Yv1djEzSVvENVkhIkoKCrt6Q6XIVV0JCEX8XAwCAKw4BGwBgK4fDIYcjVi7XBkmJ/i6OidOZFrCdzqSruBc3RA5HYzkcRa/iOgAAIG8QsAEAeSRRLtclfxfCJG1YuEtpZbs6w%2BVVPDIeAIA8xyJnAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0C/V0A4HLmcDj8XQTbpb8lh6Ngvz%2BXy%2BXvIgAAAAAmBGzAi8KFL8rhiPV3MWwXEOCQFKyQkCQFBRXckOpyFVdCQhF/FwMAAAAwELABDxwOhxyOWLlcGyQl%2Brs4tnI60wK205lUgHuBQ%2BRwNJbDUbQAvwcAAABcaQjYQJYS5XJd8nchbJU2LNyltPdWMMNpAR7ZDgAAgCsYi5wBAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYI9HcBACBnHHI40v5fkDgc//u/w1Gwym7VFfq2gHyTF23D1dD25AeXy%2BXvIgC4zBGwARRAgQoMdCk09LikgnWwExDgkBSskJAkBQUVrLJbF6DAwGQlJ/u7HEDBU7jwRTkcsbZv9%2Bpoe/Key1VcCQlF/F0MAJcxAjaAAqiQHI44uVw7JCX6uzDZ4nSmHeQ6nUlXcE9IcTkcNf1dCKDAcTgccjhi5XJtkN1t29XR9uS1EDkcjeVwFKUOAXhFwAZQgCXK5brk70JkS9rQTJfSyn5lHqA5HCH%2BLgJQwNnftl0NbU9eY2Q9ACsI2AAAXHXyfw0D5gD7RrUAQMFHwAYA4KrinzUMmANsBesXAEBBR8AGAOCq4p81DJgDbAXrFwBAQUfABgDgqpS/axgwB9g31i8AgIIvwN8FAAAAAADgSkDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAYEbAAAAAAAbEDABgAAAADABgRsAAAAAABsQMAGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAaB/i4AAAAAUDA45HCk/d/yMxz/%2B7/DYf15AAomAjYAAADgU6ACA10KDT0uyWX5WQEBDknBCglJUlCQ9echJ2r6uwAAARsAAADwrZAcjji5XDskJVp%2BltOZFrCdziS5XATsvBMiAjYuBwRsAAAAwLJEuVyXLD86bVi46/8/j4CdVxh9j8sFi5wBAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAAAAAA2CPR3Aa52DofD30Xwi/S37XBcnnVwGRYJAAAAwGWOgO1HhQtflMMR6%2B9i%2BEVAgENSsEJCkhQU5PJ3cTwIUGBgspKT/V0OAAAAAAUFAdtPHA6HHI5YuVwbJCX6uzj5zulMC9hOZ5JcrssxYBeXw1HT34UAAAAAUIAQsP0uUS7XJX8XIt%2BlDQt3Ke39X34B2%2BEI8XcRAAAAABQwLHIGAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANLpuAPXfuXHXo0EF169ZV48aN1adPH9PfV69erYceekh169ZVmzZt9PXXX/uppAAAAAAAZBbo7wJI0qRJkzRjxgz16dNHt9xyi86fP681a9YYf9%2B6dav69u2rBx98UIMHD9aWLVs0ZswYBQcHq3Pnzn4sOQAAAAAAafwesKOiovTpp59q8uTJatq0qXF/mzZtjH9//PHHuummm/TWW29Jku644w4dP35cEydOVMeOHRUQcNl0xAMAAAAArlJ%2BT6bz589XxYoVTeHaXVJSkn777Te1a9fOdH/79u11%2BvRp7dq1Kz%2BKCQAAAABAlvwesLdt26aaNWvq448/VuPGjVWnTh1169ZNu3fvliQdOnRIycnJqlq1qul51atXl5TWAw4AAAAAgL/5fYj46dOntXPnTu3du1ejRo1SUFCQPvroIz399NP6v//7P50/f16SVLx4cdPz0m%2Bn/z2nihcvnKvn54bDUVlSV0kuv5XBvxwqXPhyfe8BcjiCFBhYQ1fm53M5170VBf3zKej178vl/vlc6fXviz8/n6u97n3J68%2BG%2Bs%2Bd3Hw%2B1H1eczjC/F0EQNJlELBdLpfi4%2BM1adIk1ahRQ5JUu3ZttWrVSpGRkapfv74kyeFweHy%2Bt/utvnahQv7sxA/%2B//9dvXI%2Bff6QpBSl7cKVLNxvdRvm%2BxyOkGw8P/12RlU93JdxGxll3KZ7Gfd7eJwvmbeTue49laWqh79Zfc2sXt/q5%2Bf%2BXqtmepzD4f2z836fr8emy/gcb2XJivf9Met939Nr%2BSpfbvn6jK2Uyfxcz98fX59Jxm1Z%2BY5lLJcn5ucGBFjZTzyV2f31re4H%2BzPcTv/p9Vbf7q8nD/%2BWl%2Bdlj8Nx0tbtZea5Xr23PVntE1mVLavPz1c7nfEz9fVaOXltT9vOep9L%2B%2B54%2B85n53cuM3P9%2B2pXfH3nfLWtuStr3m0zp6%2Bdxty2WS9PWt1bfby3diC39ZjOyvclp3wdu7jLTj34%2Br0vLJcrVQ7HkZwXHVBxSaVytQW/B%2BwSJUrommuuMcK1JJUtW1ZVq1bVvn371LJlS0mZe6pjY2MlZe7Zzg6Hw6HY2ASlpjpzvA3kTKFCASpevHCO6z84%2BHuFhr6nS5deVlJST5/3W91Gbp6ffjsl5Q4FBf0ohyNBUJz47gAAIABJREFUSUmdFB//hc9tpKTcocDA34z/Z9yme3nCwgYrOHiepMKKj3/LZzkzljU1tZfHuk9/jNMZrsDAbUpKesQoe3Dw9ypceJQkKSHhdUuvaaWufH1%2Bae91vqksnh6Xnft8PTbjZ5DOW1my874la/t%2B0aKdFRi4RSkp9RUX96ul8uWWr8/Y0/t3f05ycmtL5fL1mbjvfykpTbx%2Bx9K/L9n5rhUuPFQOR4IcjsJKSBirS5eeybJMnsocGLgu2/vB/76zQXK5iigh4XVJ8lrf7q8nyfTvtOckSgrJ0XfR0/vKy33KvV697ftZ7RNW2p2sPr%2Bs2un095z%2Bmaak3KKAgNPZqgcrr522ny43vQ8rvzXePp/s/E6581T/vvYBT99xT%2B/HW33ktKye6sHObeb0tXP6GPe6L1TIWvm9tQO5rcesvu921a33Y5f/fc%2BstjvZ%2Bb0PC3tQLlcFJSSslsuVmOPy4%2BrlcITI4WisxMRguTwMOClVqoi17bhcnp6efwYPHqw1a9Zo3bp1pvs7dOig2rVra9SoUapfv74GDRqkp556yvj7H3/8oSeeeELfffed6tSpk%2BPXj46%2BqJQUAnZ%2BCwwMUKlSRah/P6Du/Yv69y/q33%2Boe/%2Bi/v2Hus8fpUsXkcORovj4GXK5Lvm7OCiAHI5QORwtlJBQXp4icnh4MUvb8fsiZy1atNCZM2e0Z88e476TJ09q//79qlWrloKDg3XHHXdo6dKlpuctXrxY4eHhuummm/K7yAAAAAAAZOL3gN2mTRvVrl1bzz//vJYsWaLly5erT58%2BKl26tB599FFJUr9%2B/fTXX3/ptdde0%2B%2B//65PP/1Uc%2BfO1cCBA7kGNgAAAADgsuD3dFqoUCFNmTJFderU0YgRIzRo0CBdc801mjFjhsLC0lYDrFevnj755BPt2LFDzzzzjL777ju99tpr6ty5s59LDwAAAABAGr8vciZJZcqU0XvvvZflY%2B666y7ddddd%2BVQiAAAAAACyx%2B892AAAAAAAXAkI2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2ICADQAAAACADQjYAAAAAADYgIANAAAAAIANCNgAAAAAANiAgA0AAAAAgA0I2AAAAAAA2CDQ3wUAAAAAAHuEyOHwdxlQMIXYshUCNgAAAIArQIAcjsb%2BLgQKMJeruFwuV662QcAGAAAAcAUI0KVL5ZXLfISrWG7DtUTABgAAAHCFcLnsCUlATrHIGQAAAAAANiBgAwAAAABgAwI2AAAAAAA2IGADAAAAAGADAjYAAAAAADYgYAMAAAAAYAMCNgAAAAAANiBgAwAAAABgAwI2AAD/j737D/OyrvM9/voyMA4jjjDKpUG2G7ipg5R2NqU9JWWyp1LSRPqlcTDUoyBty7nq2FnWNi8X3XJnMwXTREuzqxPVsuWlbWa7bGc7WBvWqfyxgueoqXnwByAOI8zwPX%2B0zDaBOV/4DPcMPB7XxRVz3/d85937Eq7ryf39AQBQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQQOWB/Y1vfCNHHXXUTr%2BuuuqqftetWrUqZ5xxRqZOnZoZM2bktttuq2hiAAAA2NnIqgfY4cYbb8xBBx3U9/Vhhx3W9/t777038%2BfPz%2Bmnn55LLrkka9asyeWXX57m5ubMnj27inEBAACgnyET2FOmTEl7e/suzy1dujQdHR1ZsmRJkmTatGl58sknc/XVV2fWrFkZMaLyG/EAAADs54Z8mW7dujWrV6/Oqaee2u/4zJkzs379%2Btx3330VTQYAAAD/bsgE9mmnnZZjjjkmb3vb23L99dent7c3SfLoo49m27ZtmTRpUr/rjzzyyCTJunXr9vqsAAAA8Nsqf4r4%2BPHjs3Dhwrzuda9LrVbL9773vXzmM5/JU089lUsvvTQbN25MkrS1tfX7vh1f7zi/u5qahsy/MexXduzd/vc%2Bu6%2BW/VfL/qtj99Wy/%2BrY/d41cmQt9Xqt6jHYj1Ue2G9%2B85vz5je/ue/rN73pTTnggAPyxS9%2BMRdeeGHf8Vpt139QXur4QLW1jd6j72fP2H917L5a9l8t%2B6%2BO3VfL/qtj94OvXq9n7NgDqx6D/Vzlgb0r73jHO3LTTTfl/vvvz8SJE5PsfKd606ZNSXa%2Bs92oTZu2pLd3%2Bx49Bo1rahqRtrbR9l8Bu6%2BW/VfL/qtj99Wy/%2BrY/d7R1jY6tVqycWNX6vWqp2FfNG7cwP7xZkgG9m961atelVGjRuXhhx/OSSed1Hd87dq1SZLJkyfv0eP39m5PT4%2B/7Kpi/9Wx%2B2rZf7Xsvzp2Xy37r47d7x09PfXUFTYVGpIvBrnjjjvS1NSUjo6ONDc3Z9q0abnzzjv7XXP77bdn/Pjx6ejoqGhKAAAA%2BHeV38GeN29epk2blte85jVJkrvvvjtf/epXM2fOnIwfPz5JsmDBgpxzzjlZvHhxZs6cmTVr1mTFihW57LLLfAY2AAAAQ0Llgf3qV786X/va1/KrX/0q27dvz%2B///u/nv//3/54PfvCDfdccf/zxWbZsWTo7O7Ny5cocfvjhWbx4cWbPnl3h5AAAAPDvKg/sxYsXD%2Bi66dOnZ/r06YM8DQAAAOwez68GAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQCAfUA9LS2bqx6C/ZzABgAA9gG9qdU2pVarVT0I%2BzGBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgwiFpalqe9fUpaWpZXPQoAADDIBDYMotbWzjQ1PZbW1s6qRwEAAAaZwIZB1NW1KL29R6Sra1HVowAAAINsZNUDwL6su3teurvnVT0GAACwF7iDDQAAAAUIbAAAAChgSAX2Cy%2B8kJNOOilHHXVUfvazn/U7t2rVqpxxxhmZOnVqZsyYkdtuu62iKQEAAGBnQyqwly1blt7e3p2O33vvvZk/f346Ojry%2Bc9/Pu9%2B97tz%2BeWXZ8WKFRVMCQAAADsbMoG9bt26fPnLX87ChQt3Ord06dJ0dHRkyZIlmTZtWubPn5%2BzzjorV199dbZv317BtAAAANDfkAnsv/zLv8z73ve%2BvPrVr%2B53fOvWrVm9enVOPfXUfsdnzpyZ9evX57777tubYwIAAMAuDYnA/va3v50HHnggCxYs2Onco48%2Bmm3btmXSpEn9jh955JFJfn3nGwAAAKpW%2Bedgb9myJVdeeWUWLVqUMWPG7HR%2B48aNSZK2trZ%2Bx3d8veP87mpqGhL/xrDf2bF3%2B9/77L5a9l8t%2B6%2BO3VfL/qtj93tTLU1NtYwaVcv27bWqh2E/VXlgX3fddTnkkENy5pln/s7rarVd/yF5qeMD1dY2eo%2B%2Bnz1j/9Wx%2B2rZf7Xsvzp2Xy37r47dD756fXtaWprS0vJMkoOSjKt6JPZDlQb2448/nptuuilLly7N5s2bkyRdXV19//vCCy/k4IMPTrLznepNmzYl2fnOdqM2bdqS3l5vlLa3NTWNSFvbaPuvgN1Xy/6rZf/Vsftq2X917H7vaGsbnVqtni1bVifpSa32xrz4YnPq9aonY18xbtyBA7qu0sD%2B5S9/mW3btuWCCy7Y6dycOXPyute9Ll/60pcyatSoPPzwwznppJP6zq9duzZJMnny5D2aobd3e3p6/GVXFfuvjt1Xy/6rZf/Vsftq2X917H5vqGf79l/ftKvV6unpqaeusNnLKg3sY445Jrfccku/Y/fff3%2BuuOKKfPKTn8zUqVPT3NycadOm5c4778zcuXP7rrv99tszfvz4dHR07OWpAQAAYGeVBnZbW1tOPPHEXZ6bMmVKpkyZkiRZsGBBzjnnnCxevDgzZ87MmjVrsmLFilx22WUZMcIbRgAAAFC9yt/kbCCOP/74LFu2LJ2dnVm5cmUOP/zwLF68OLNnz656NAAAAEgyBAP7xBNPzIMPPrjT8enTp2f69OkVTAQAAAAvz/OrAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAU0HNg///nPB2MOAAAAGNYaDuyzzjor733ve/PNb34z27ZtG4yZAAAAYNhpOLCvvPLKbN%2B%2BPR/72Mfylre8JZ/5zGfyq1/9ajBmAwAAgGGj4cA%2B44wzsmLFinz1q1/Nf/yP/zE33XRTTjnllCxcuDD33HPPYMwIAAAAQ95uv8nZa1/72nzqU5/KP/7jP%2Bbiiy/Oz3/%2B88ydOzennXZavvKVr%2BTFF18sOScAAAAMaXv8LuLNzc1paWnJqFGjUq/Xs2XLlvzFX/xF/viP/zg/%2BclPSswIAAAAQ95uB/YDDzyQSy%2B9NG9%2B85tz1VVX5bWvfW2%2B%2BtWv5u67787KlStz2GGH5dJLLy05KwAAAAxZIxv9hjvuuCO33XZb1qxZk/b29px77rl5//vfn/Hjx/ddc/TRR%2BdP//RPc9555xUdFgAAAIaqhgN70aJF6ejoyJIlS3Lqqaemubl5l9e98pWvzLve9a49HhAAAACGg4YD%2B0tf%2BlL%2B8A//8GWvO%2BKII3LFFVfs1lAAAAAw3DT8Guyvf/3reeyxx3Z57vHHH8/HP/7xPR4KAAAAhpuGA3vlypV57rnndnnuueeey8qVK/d4KAAAABhuGg7ser3%2Bkuc2btz4kq/JBgAAgH3ZgF6D/aMf/Sj33HNP39crVqzIP/3TP/W75sUXX8zdd9%2BdyZMnl50QAAAAhoEBBfY999yTa6%2B9NklSq9WyYsWKXV43YcIEn30NAADAfmlAgX3eeefl7LPPTr1ezx/90R9l%2BfLl6ejo6HdNc3NzDjzwwEEZEgAAAIa6AQV2S0tLWlpakiR33313xo8f77XWAAAA8Bsa/hzsiRMnDsYcAAAAMKwNKLDnzJmTT3ziE5k8eXLmzJnzO6%2Bt1Wr54he/WGQ4AAAAGC4GFNi/%2BdFcv%2BtjugZyHgAAAPZFAwrsW2%2B9dZe/BwAAAH5tRNUDsP9paVmetrZjknyu6lEAAACKEdjsda2tnWlqeizJlVWPAgAAUMyAniJ%2B9NFHp1arDegBa7Va7rvvvj0ain1bV9eif4vsS6oeBQAAoJgBBfaCBQsGHNjwcrq756Wn5/yMG3dgkheqHgcAAKCIAQX2woULB3sOAAAAGNa8BhsAAAAKGNAd7F3513/916xbty4vvvjiTufOOOOMPRoKAAAAhpuGA3vLli256KKLsnr16tRqtdTr9STp9xptgQ0AAMD%2BpuGniC9btiyPP/54vvSlL6Ver%2Bfaa6/NzTffnBkzZuT3fu/38rd/%2B7eDMScAAAAMaQ0H9t13353zzz8/xx9/fJLkFa94Rd74xjfms5/9bKZMmZIvf/nLxYcEAACAoa7hwH788cczadKkNDU1pVarZcuWLX3nZs6cmbvvvrvogAAAADAcNBzYBx10ULq6upIkhxxySB555JG%2Bcz09PX3nAAAAfltLy/K0t09JS8vyQXj0A/7tVy2/8RZRsNc0HNhHHXVU/u///b9JkhNPPDHXX399/uVf/iX/%2B3//7yxdujRHH3106RkBAIB9RGtrZ5qaHktra2fRx63VRqS5eWqam6dm5Mh6WlqezOjRLxT9GfByGn4X8VmzZvXdtf7IRz6SD3zgA/ngBz%2BYJGlra8sNN9xQdkIAAGCf0dW1KK2tnenqWlT0cev1erZu/dckLybpTdKUWu2NqdXG9H3yEQy2hgP7ne98Z9/vjzjiiPz93/9930d2HX/88Rk7dmzRAQEAgH1Hd/e8dHfPG4RHrifZlHq9O0lSq7UMws%2BA363hwP5tra2tOfnkk0vMAgAAAMNWw4H9xBNPvOw1EyZM2K1hAAAAYLhqOLBPPvnk1F7mLfnuv//%2B3R4IAAAAhqOGA3vJkiU7BfZzzz2X733ve/nVr36Viy66qNhwAAAAMFw0HNhnnnnmLo9/6EMfyoc//OE8%2BeSTezwUAAAADDcNfw7273LmmWfma1/7WsmHBAAAgGGhaGD39PRk06ZNJR8SAAAAhoU9/piuJNm2bVsefPDBXHPNNTn66KNLPCQAAAAMKw0H9tFHH/2S7yLe1taW5cuX7/FQAAAD0dKyPK2tnenqWpTu7nlVjwPAfq7hwF6wYMFOgd3c3JxXvvKVOemkkzJmzJhiwwEA/C6trZ1panosra2dAhuAyjUc2AsXLhyMOQAAGtbVtajvDjYAVK3Ia7ABAKrQ3T3PnWsAhoyGA/vjH//4gK%2Bt1WpZsmRJoz8CAAAAhp2GA/uee%2B7J888/n%2Beffz4jR47M2LFjs2HDhvT09OSggw7KQQcd1HftS70ZGgAAAOxrGg7sz3zmM1m4cGE%2B8YlP5B3veEeamprS29ubO%2B64I5/%2B9Kfzmc98Jq997WsHY1YAAAAYskY0%2Bg1/9Vd/lQ996EM57bTT0tTUlCRpamrKzJkz86EPfchTwgEAANgvNRzYv/jFL/Ka17xml%2Bde85rX5IEHHtjjoQAAAGC4aTiwx4wZkx/84Ae7PPeDH/zA52ADAACwX2r4Ndjvete7snz58vT09GTmzJk59NBD8/TTT%2Bdb3/pWvvjFL2bu3LmDMCYAAAAMbQ0H9qJFi/Lss8/m5ptvzhe%2B8IW%2B4/V6Pe9617uyaNGikvMBAAW1tCxPa2tnuroW%2BfxoACis4cAeOXJkrrzyylxwwQW55557smHDhowdOzYnnHBCJk%2BePBgzAgCFtLZ2pqnpsbS2dgpsACis4cDeYdKkSZk0aVLJWQCAQdbVtajvDjYAUNZuBzYAMPx0d89z5xoABknD7yIOAAAA7ExgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACGn4X8ZNPPjm1Wm2X50aMGJGDDjooU6dOzZw5c3wuNgAAAPuNhu9gn3DCCanX63nqqacyceLEvO51r8uECRPy1FNPpbe3N694xSty1113ZdasWfnZz342GDMDAADAkNNwYL/pTW9Kc3Nz7rrrrtxyyy3p7OzMrbfemu985ztpbm7OKaeckr//%2B7/P7//%2B7%2Beaa64ZjJkBAABgyGk4sD/3uc9l4cKFecUrXtHv%2BIQJE7JgwYLccMMNOeiggzJ37tz85Cc/KTYoAAAADGUNB/YjjzySMWPG7PJcW1tbHn/88STJxIkTs2XLlj2bDgAAAIaJhgN7woQJ%2Bdu//dtdnvv617/ed2d7w4YNOfjgg/dsOgAAABgmGn4X8Xnz5uXSSy/N%2B973vrz97W/PoYcemqeffjrf/va389Of/jSXXXZZkuSee%2B7JscceW3xgAAAAGIoaDuz3vOc9qdfrueaaa3LllVf2HT/00EPzyU9%2BMrNnz06SXHjhhWlubi43KQAAAAxhDQd2krz3ve/Ne97znjz88MPZsGFDxo4dm0mTJvX7fOxDDz202JAAAAAw1O1WYCdJrVbL5MmTS84CAAAAw9ZuBfbmzZvzT//0T3niiSfS3d3d71ytVsuCBQuKDAcAAADDRcOB/dOf/jQXXHBBNm7cuMvzAhsAAID9UcOBfcUVV%2BSwww7LjTfemKOOOsobmQEAAEB2I7AffPDB/PVf/3WmTp06GPMAAADAsDSi0W9ob28fjDkA9khLy/K0t09JS8vyqkdhP%2Be/RQDYfzUc2B/84Afzla98JfV6fTDmAdgtra2daWp6LK2tnVWPwn7Of4sAsP9q%2BCni27dvz8MPP5wzzjgjb3nLWzJ27Nh%2B52u1WubOnVtqPoAB6epalNbWznR1Lap6FPZz/lsEgP1Xw4H9qU99qu/3Dz744E7nBTZQhe7ueenunlf1GOC/RQDYjzUc2HffffdgzAEAAADDWsOBPXHixMGYAwAAAIa1ht/kDAAAANjZgO5gz5kzJ5/4xCcyefLkzJkz53deW6vV8sUvfnHAA3z/%2B9/P9ddfn7Vr12bz5s057LDDcsopp%2BTiiy/OQQcd1HfdqlWr8jd/8zdZt25dDj/88MydOzdnn332gH8OAAAADKYBBfZvfiTXy308V6Mf37Vx48Ycf/zx%2Bc//%2BT%2Bnra0tDz30UK655po89NBDuemmm5Ik9957b%2BbPn5/TTz89l1xySdasWZPLL788zc3NmT17dkM/DwAAAAbDgAL71ltv3eXvSzjttNNy2mmn9X194oknprm5OX/%2B53%2Bep556KocddliWLl2ajo6OLFmyJEkybdq0PPnkk7n66qsza9asjBjhme4AAABUa0iW6Y7P1u7p6cnWrVuzevXqnHrqqf2umTlzZtavX5/77ruvihEBAACgn4bfRTxJent7c%2Bedd%2Baee%2B7Jhg0bMnbs2Jx44ol5%2B9vfnpEjd%2Bsh09vbm56enqxduzZLly7NW9/61kycODFr167Ntm3bMmnSpH7XH3nkkUmSdevW5dhjj92tnwkAAAClNFzDzz77bM4777zcd999GTlyZMaOHZsNGzZkxYoVuemmm3LjjTemvb294UHe%2Bta35qmnnkqSvPnNb05nZ2eSX79GO0na2tr6Xb/j6x3nd1dT05C8ib/P27F3%2B9/77L5a9l8t%2B6%2BO3VfL/qtj93tTLU1NLanXa6nXk1rtgNRqtYwcWUu9Xqt6OPYTDQf2FVdckf/zf/5PrrrqqrzjHe9IU1NTent7c8cdd%2BQTn/hErrjiinz6059ueJAbbrghXV1dWbt2bZYtW5YLL7wwN998c9/5Wm3Xfyhe6vhAtbWN3qPvZ8/Yf3Xsvlr2Xy37r47dV8v%2Bq2P3g69e357Ro4/7t6%2Bak4xO0pbRow%2BscCr2Nw0H9j/8wz/kIx/5SL83JmtqasrMmTPzzDPP5Nprr92tQY4%2B%2Bugkyetf//p0dHRk1qxZueuuu/qeCv7bd6o3bdqUZOc7243atGlLenu379Fj0LimphFpaxtt/xWw%2B2rZf7Xsvzp2Xy37r47d7x1tbaNTq9WzZcv9SZJa7Q%2Bzdeuh2b49SV6odDb2DePGDewfahoO7Hq9nj/4gz/Y5bnXvOY1DX9M164cc8wxaWpqyqOPPpqTTz45o0aNysMPP5yTTjqp75q1a9cmSSZPnrxHP6u3d3t6evxlVxX7r47dV8v%2Bq2X/1bH7atl/dex%2Bb6hn%2B/Zf35Sr1XqzbVu9SJtAIxp%2BMcgf/dEf5Qc/%2BMEuz/3zP/9zTjjhhD0e6t57701vb29e%2BcpXprm5OdOmTcudd97Z75rbb78948ePT0dHxx7/PAAAANhTDd/Bnj9/fi6%2B%2BOL09vZm5syZOfTQQ/P000/nW9/6Vr7zne/k2muvzYYNG/qu3/GRWy/l4osvzrHHHpujjjoqLS0teeCBB3LjjTfmqKOOyimnnJIkWbBgQc4555wsXrw4M2fOzJo1a7JixYpcdtllPgMbAACAIaFWb/B5EzteK530f4OxHQ/z2286dv/99//Ox7vhhhtyxx135NFHH029Xs/EiRMzY8aMzJs3L2PGjOm7btWqVens7My6devnvYnkAAAgAElEQVRy%2BOGH59xzz83ZZ5/dyOi79NxzL3i6TgVGjhyRceMOtP8K2H217L9a9l8du6%2BW/VfH7veO9vYDU6v1pKvrC0mSWu0t2bJlgqeIU8z48QcN6LqG72AvWLBgj9%2B5%2BzddcMEFueCCC172uunTp2f69OnFfi4AAACU1HBgL1y4cDDmAAAAgGFtj17AXK/Xs3nzZk%2B9AAAAYL/X8B3sJPnpT3%2Baz372s/nRj36Ubdu2ZdSoUXnDG96QhQsX5rjjjnv5BwAAAIB9TMOB/b/%2B1//K%2BeefnwMPPDCnnnpq37uIf%2B9738s555yTz3/%2B83njG984GLMCAADAkNVwYF911VXp6OjIzTffnAMPPLDv%2BObNmzN37txcddVV%2BfrXv150SAAAABjqGn4N9kMPPZTzzjuvX1wnyZgxY3L%2B%2BefnoYceKjYcAAAADBcNB/YhhxySESN2/W1NTU1pb2/f46EAAABguGk4sN/73vfmC1/4QrZt29bv%2BNatW3PzzTfnPe95T7HhAAAAYLho%2BDXYI0eOzOOPP55TTjklM2bMyPjx47N%2B/frcddddaWpqygEHHJCbb745SVKr1TJ37tzSMwMAAMCQs1tvcrbDl770pZ3Of/rTn%2B77vcAGAABgf9FwYN99992DMQcAAAAMaw0H9sSJEwdjDgAAABjWGn6TMwAAAGBnDd/BTpIf/ehHufXWW7Nu3bp0d3f3O1er1fLd7363yHAAAAAwXDR8B/tf/uVfMnfu3Dz//PNZt25dJk2alMMOOyxPPvlkRo4cmTe84Q2DMScAAAAMaQ0H9jXXXJMzzzwzN954Y5LkIx/5SL785S/nG9/4Rl544YXMmDGj%2BJAwVLS0LE97%2B5S0tCyvehQAAGCIaTiwH3rooZxyyimp1WpJkt7e3iTJ0Ucfnfnz52fp0qVlJ4QhpLW1M01Nj6W1tbPqUQAAgCGm4cDesmVLDjzwwIwYMSLNzc157rnn%2Bs5NmjQp69atKzogDCVdXYvS23tEuroWVT0KAAAwxDQc2BMmTMjTTz%2BdJDnyyCOzatWqvnM/%2BtGPMnbs2HLTwRDT3T0vzz77i3R3z6t6FAAAYIhp%2BF3ETzjhhPzwhz/M29/%2B9syePTuf/OQns27dujQ3N%2Bef//mfc%2B655w7GnAAAADCkNRzYCxcuzMaNG5Mk73//%2B9Pd3Z1vfetbSZKLLrooF154YdkJAQAAYBhoOLDb29vT3t7e9/W5557rrjUAAAD7vYZfgw0AAADsrOE72Ely33335Vvf%2BlaeeOKJvPjii/3O1Wq1XHfddUWGAwAAgOGi4cBeuXJlPv7xj2fEiBFpb2/PqFGj%2Bp3f8fnYAAAAsD9pOLCvu%2B66TJ8%2BPX/1V3%2BVgw8%2BeDBmAgAAgGGn4ddg/7//9/8yZ84ccQ0AAAC/oeHAPuaYY/LUU08NxiwAAAAwbDUc2B/72Mdyww035IEHHhiMeQAAAGBYavg12Mcdd1z%2B%2BI//OO9%2B97szfvz4nZ4qXqvV8s1vfrPYgAAAADAcNBzYN9xwQ66//vq0t7dnwoQJO72LOAAAAOyPGg7sW265JbNmzcpll12WpqamwZgJAAAAhp2GX4P9wgsv5LTTThPXAAAA8BsaDuzXv/71Wbdu3WDMAgAAAMNWw4H9Z3/2Z/nKV76S7373u9m6detgzAQAAADDTsOvwZ41a1Z6enqycOHC1Gq1tLS09Dtfq9Xy4x//uNiAAAAAMBw0HNj/6T/9p9RqtcGYBQAAAIathgP7yiuvHIw5AAAAYFhr%2BDXYDE8tLcvT3j4lLS3Lqx4FAABgnySw9xOtrZ1panosra2dVY8CAACwTxLY%2B4murkXp7T0iXV2Lqh4FAABgn9Twa7AZnrq756W7e17VYwAAAOyz3MEGAACAAgQ2AAAAFDCgp4g/8cQTDT3ohAkTdmsYAAAAGK4GFNgnn3xyarXagB/0/vvv3%2B2BAAAAYDgaUGAvWbKkL7B7enpy3XXXpaWlJe985ztz6KGHZv369bnjjjvS3d2d%2BfPnD%2BrAAAAAMBQNKLDPPPPMvt93dnZm8uTJuf766zNixL%2B/hHvBggW54IIL8sgjj5SfEgAAAIa4ht/kbOXKlfnABz7QL66TZMSIEfnABz6Qv/u7vys2HAAAAAwXDQf2hg0b0t3dvctz3d3d2bRp0x4PBQAAAMNNw4Hd0dGRZcuW5dlnn%2B13/Nlnn82yZctyzDHHFBsOAABg4A74t19QjQG9Bvs3XXLJJTn33HPztre9LdOmTcv48eOzfv36rF69Okly8803Fx8SAADgd6nVRmTUqD9MT8%2Bo1OttqdfrVY/EfqjhwD7uuOPyta99Lddee21%2B%2BMMfZsOGDRk7dmze%2Bta35qKLLsof/MEfDMacAAAAL6ler6en54B0dx%2Be7dvFNdVoOLCTZPLkyfmbv/mb0rMAAADspnqS7XHjmio1/BpsAAAAYGe7dQd7w4YNuf3227Nu3bqd3lG8VqtlyZIlRYYDAACA4aLhwH7iiSdy1llnZcuWLenu7s64ceOycePG9Pb25uCDD86YMWMGY04AAAAY0hp%2Bivhf//Vf58gjj8wPfvCD1Ov1fP7zn8%2B9996bP//zP09zc3NuuOGGwZgTAAAAhrSGA/vee%2B/N%2B9///hxwwK8/X65er6e5uTlnn312zjrrrHzqU58qPiQAAAAMdQ0H9jPPPJPx48dnxIgRaWpqyubNm/vOnXDCCfnxj39cdEAAAAAYDhoO7EMOOSQbN25MkkycODE///nP%2B8798pe/TFNTU7npAAAAYJho%2BE3OjjvuuNx///1529velhkzZmTp0qXZunVrRo0aleXLl2fatGmDMScAAAAMaQ0H9oc%2B9KE8/vjjSZIFCxZk3bp1ueaaa1Kv1/OGN7whf/Znf1Z8SMppaVme1tbOdHUtSnf3vKrHAQAA2Gc0HNjHHntsjj322CRJa2trPve5z/W9DttHdA19ra2daWp6LK2tnQIbAACgoIZfg70rY8aMEdfDRFfXovT2HpGurkVVjwIAALBP2a3AXrduXRYtWpQ3velNOfbYY/OLX/wiSXLttddm9erVRQekrO7ueXn22V%2B4ew0AAFBYw4F9//3356yzzsoPf/jDnHDCCent7e0798ILL%2BQrX/lK0QEBAABgOGg4sK%2B66qocddRRueuuu/KpT30q9Xq979xrX/va/OxnPys6IAAAAAwHDQf2mjVrct5552X06NGp1Wr9zh166KF5%2Bumniw0HAAAAw8VuvQZ71KhRuzy%2BcePGNDc379FAAAAAMBw1HNhHHXVUvvvd7%2B7y3Pe///1MmTJlj4cCAACA4abhz8GeM2dO/ut//a8ZPXp0Tj/99CTJk08%2BmdWrV%2BfrX/96PvvZzxYfEgAAAIa6hgP7ne98Zx599NFce%2B21ufXWW5MkCxcuTFNTUz784Q/n5JNPLj4kAAAADHUNB3aSXHjhhTnjjDPy/e9/P88880zGjRuXN73pTZk4cWLp%2BQAAAGBY2K3ATpLDDz88s2fP3ul4vV7f6d3FAQAAYF%2B3W%2B8i/lK%2B%2Bc1v5h3veEfJhwQAAIBhYcB3sJ9//vl897vfzdNPP51Xv/rVOfnkkzNixK/7/Dvf%2BU4%2B%2B9nPZu3atZkwYcKgDQsAAABD1YAC%2B5FHHsnZZ5%2BdZ555pu8p4G94wxuybNmyLFq0KN///vfT1taWj370o/ngBz842DMDAADAkDOgwL766quzefPmXHzxxTn22GPzy1/%2BMtddd13e9773Ze3atZk9e3Y%2B%2BtGPpq2tbbDnBQAAgCFpQIH9wx/%2BMBdddFH%2By3/5L33HXvWqV%2BX888/P%2B973vvzFX/zFYM0HAAAAw8KA3uTsueeey%2Btf//p%2Bx/7Df/gPSX79udgAAACwvxtQYPf29uaAAw7od2zH1wceeGD5qQAAAGCYGfC7iD/88MNpamrq%2B7q3t7fv%2BG%2BbMmVKgdEAAABg%2BBhwYH/84x/f5fGPfexjfb/f8Q7j999//55PBgAAAMPIgAL7iiuuGOw5AAAAYFgbUGC/%2B93vHuw5AAAAYFgb0JucAQAAAL%2BbwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFBA5YF95513Zv78%2BZk%2BfXqOO%2B64zJw5M1/%2B8pezffv2ftetWrUqZ5xxRqZOnZoZM2bktttuq2hiAAAA2NnIqge4%2BeabM2HChHzsYx/LIYccknvuuSd/%2BZd/mcceeyz/7b/9tyTJvffem/nz5%2Bf000/PJZdckjVr1uTyyy9Pc3NzZs%2BeXfH/AwAAABgCgf25z30u7e3tfV9PmzYtXV1due222/Knf/qnaW5uztKlS9PR0ZElS5b0XfPkk0/m6quvzqxZszJiROU34gEAANjPVV6mvxnXOxxzzDF58cUXs2HDhmzdujWrV6/Oqaee2u%2BamTNnZv369bnvvvv21qgAAADwkioP7F358Y9/nLFjx%2BaQQw7Jo48%2Bmm3btmXSpEn9rjnyyCOTJOvWratiRAAAAOin8qeI/7af/exn%2BcY3vpEFCxakqakpGzduTJK0tbX1u27H1zvO766mpiH5bwz7vB17t/%2B9z%2B6rZf/Vsv/q2H217L86dr831dLUVMuoUbVs316rehj2U0MqsNevX58Pf/jDmTp1as4///x%2B52q1Xf8heanjA9XWNnqPvp89Y//Vsftq2X%2B17L86dl8t%2B6%2BO3Q%2B%2Ben17Wlqa0tLyTJKDkoyreiT2Q0MmsJ9//vmcf/75aWlpyXXXXZdRo0YlSQ4%2B%2BOAkO9%2Bp3rRpU5Kd72w3atOmLent3f7yF1JUU9OItLWNtv8K2H217L9a9l8du6%2BW/VfH7veOtrbRqdXq2bJldZKe1GpvzIsvNqder3oy9hXjxh04oOuGRGC/%2BOKLueiii/L000/nf/yP/5Fx4/79X5te9apXZdSoUXn44Ydz0kkn9R1fu3ZtkmTy5Ml79LN7e7enp8dfdlWx/%2BrYfbXsv1r2Xx27r5b9V8fu94Z6tm/fnCSp1erp6amnrrDZyyp/MUhPT0/%2B5E/%2BJA888EBuvPHGTJw4sd/55ubmTJs2LXfeeWe/47fffnvGjx%2Bfjo6OvTkuAAAA7FLld7Avu%2Byy/MM//EM%2B%2BtGPpru7Oz/5yU/6zh155JEZM2ZMFixYkHPOOSeLFy/OzJkzs2bNmqxYsSKXXXaZz8AGAABgSKg8sP/n//yfSZJPf/rTO5275ZZbcuKJJ%2Bb444/PsmXL0tnZmZUrV%2Bbwww/P4sWLM3v27L09LgAAAOxS5YH9ve99b0DXTZ8%2BPdOnTx/kaQAAAGD3eH41AAAAFCCwAQAAoACBDQAAAAUIbPYrLS3L094%2BJS0ty6seBQAA2McIbPYrra2daWp6LK2tnVWPAgAA7GMENvuVrq5F6e09Il1di6oeBQAA2MdU/jFdsDd1d89Ld/e8qscAAAD2Qe5gAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwAYAAIACBDYAAAAUILABAACgAIENAAAABQhsAAAAKEBgAwAAQAECGwAAAAoQ2AAAAFCAwN7PtbQsT3v7lLS0LK96FAAA2EMH/NsvqIbA3s%2B1tnamqemxtLZ2Vj0KAADsgRGp1d6YWu2NqdfbUq/Xqx6I/ZDA3s91dS1Kb%2B8R6epaVPUoAACwB0aku3tCtmyZkC1bDqx6GPZTI6segGp1d89Ld/e8qscAAIA9Vq/HnWsq5Q42AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFFB5YD/yyCO59NJLc/rpp6ejoyOnnXbaLq9btWpVzjjjjEydOjUzZszIbbfdtpcnBQAAgJdWeWA/9NBDWbVqVX7v934vkydP3uU19957b%2BbPn5%2BOjo58/vOfz7vf/e5cfvnlWbFixV6eFgAAAHZtZNUDnHzyyTnllFOSJJdcckl%2B/vOf73TN0qVL09HRkSVLliRJpk2blieffDJXX311Zs2alREjKv93AgAAAPZzlZfpy8Xx1q1bs3r16px66qn9js%2BcOTPr16/PfffdN5jjAQAAwIBUHtgv59FHH822bdsyadKkfsePPPLIJMm6deuqGAsAAAD6qfwp4i9n48aNSZK2trZ%2Bx3d8veP87mpqGvL/xrBP2rF3%2B9/77L5a9l8t%2B6%2BO3VfL/qtj93vXyJG11Ou1qsdgPzbkA3uHWm3Xf1Be6vhAtbWN3qPvZ8/Yf3Xsvlr2Xy37r47dV8v%2Bq2P3g69e356xY7cmGVf1KOzHhnxgH3zwwUl2vlO9adOmJDvf2W7Upk1b0tu7fY8eg8Y1NY1IW9to%2B6%2BA3VfL/qtl/9Wx%2B2rZf3Xsfu9oaxudWq033d1P58UXm1OvVz0R%2B5px4w4c0HVDPrBf9apXZdSoUXn44Ydz0kkn9R1fu3ZtkrzkR3sNVG/v9vT0%2BMuuKvZfHbuvlv1Xy/6rY/fVsv/q2P3eUM/27fX09NRTV9hUZMi/GKS5uTnTpk3LnXfe2e/47bffnvHjx6ejo6OiyQAAAODfVX4He8uWLVm1alWS5PHHH8/mzZvz7W9/O0lywgknpL29PQsWLMg555yTxYsXZ%2BbMmVmzZk1WrFiRyy67zGdgAwAAMCRUHtjPPPNM/uRP/qTfsR1f33LLLTnxxBNz/PHHZ9myZens7MzKlStz%2BOGHZ/HixZk9e3YVIwMAAMBOKg/sV77ylXnwwQdf9rrp06dn%2BvTpe2EiAAAAaJznVwMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQAAAAUIbAAAAChAYAMAAEABAhsAAAAKENgAAABQgMAGAACAAgQ2AAAAFCCwAQAAoACBDQDAoGtpWZ729ilpaVle9SgAg0ZgAwAw6FpbO9PU9FhaWzurHgVg0AhsAAAGXVfXovT2HpGurkVVjwIwaEZWPQAAAPu%2B7u556e6eV/UYAIPKHWwAAAAoQGADAABAAQIbAAAAChDYAAAAUIDABgAAgAIENgAAABQgsOH/t3fvQVGd9x/HPwuICyriJWqxmkQUGipRE6lSUSI2wQvGXLRx6q1KMQFvNWo0E2MSh0aNmiqmXqLUISmmjo1xIoKaxIomE0xGdKKmtoEaL9S7Injhfn5/%2BGPNZkEWOBEW3q8ZRvY5z579nu95OMfv7nPOAgAAAIAJ%2BB5sAAAAAA2ERRbL7X9ryzCMWq8DjQ8FNgAAAACXZ7G4ycPDkNV6VlLti2PD8NGtW81qHxgaFQpsAAAAAC7PMAwVF38t6YYJa2sqiyVUFktzPslGtVBgAwAAAGgADEk3ZBgFtV6TpfYzzNFIcZMzAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABgAgpsAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABgAgpsAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABgAgpsAAAAAABMQIENAAAAAIAJKLABAAAAADABBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAA1GNWa6Jat/6lWrSYpNatfymrNbGuQwIAVIICGwAAoB7z9n5b7u6n1bTpR3J3Py1v77frOiQAQCUosAEAAOqxmzdfVGlpJxUWPq3S0k66efPFug4JAFAJj7oOAAAAAJUrKIhWQUF0XYcBAHACn2ADAAAAAGACCmwAAAAAAExAgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABBTYAAAAAACYgAIbAAAAAAATUGADAAAAAGACCmwAAAAAAExAgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABC5TYJ84cULR0dHq2bOnQkNDFR8fr4KCgroOCwAAAAAASZJHXQfgjLy8PE2YMEF%2Bfn5KSEjQlStXtGjRIuXm5mrZsmV1HR4AAAAAAK5RYP/9739XXl6etm3bptatW0uS3N3dNXv2bMXGxsrf37%2BOIwQAAAAANHYuMUV83759Cg0NtRXXkhQZGSlPT0%2Blp6fXYWQAAAAAANzmEgV2dna2w6fUnp6e6ty5s7Kzs%2BsoKgAAAAAA7nCJKeJ5eXny8fFxaPfx8dG1a9dqte6WLb1kGLVaRY1YLPmyWK7JMFrKMFpUe7mrs1hu/1ub/FcnR2bn05X3jxm5v5dcOdcVqW7%2BG9r217XK8u9snsv7SU0lFbJfqqG%2BHntc/W/M%2BbF7%2B9%2Bajv2av65r59cM9XXsNzRubhYZhkVublYZhqXW67NYmspiscjDw2LK%2BtB4uESBXRnDMGSx1G7Au7nV1Yf41ySV/P9/1FrWYHnDULv8VydHZufT9fdP3Y396nL9XFfE%2Bfw3zO2va475dzbPt/vd/hH7pQbq37HH1f/Gqhd/zcd%2BTV/X1fNrnvo39hsei6WJvL3Hm7pOLy9TV4dGwCUKbB8fH%2BXl5Tm05%2Bfnu/ANzjrXcjmqlyOz88n%2BuXcae64b%2B/bfK87mmf3R8Lj6Pq1t/DV9Pn8zAFARl3grzd/f3%2BFa66KiIp06dcqFC2wAAAAAQEPiEgX2gAEDlJGRoatXr9raPvnkExUVFSk8PLwOIwMAAAAA4DaLYdT/2y3k5eUpKipKHTt2VFxcnC5fvqzFixcrLCxMy5Ytq%2BvwAAAAAABwjQJbkk6cOKH4%2BHgdPHhQVqtVUVFRmj17tqxWa12HBgAAAACA6xTYAAAAAADUZy5xDTYAAAAAAPUdBTYAAAAAACagwAYAAAAAwAQU2AAAAAAAmIACGwAAAAAAE1BgAwAAAABggkZXYJ84cULR0dHq2bOnQkNDFR8fr4KCgroOy6WlpaUpLi5O4eHh6tmzp4YPH65NmzaprKzM1mfevHkKDAx0%2BNm3b5/D%2BhITExUREaHg4GA9%2B%2ByzOnDgwL3cHJezdevWCnO7bNkyu37p6el66qmnFBwcrMcff1zJyckVro/8V8%2B4ceMqzH9gYKB27NghifFvlpMnT2rBggUaMWKEgoKCFBUVVWE/M8f69evXtWDBAvXp00e9evXSCy%2B8oJycHFO3yxVUlfvS0lKtX79eY8eOVd%2B%2BfRUSEqIxY8boyy%2B/dFhXREREhX8PhYWFdv3I/R3OjH2zjzPk/w5n8l/ZeSAwMFAXLlyw9WP8Aw2fR10HcC/l5eVpwoQJ8vPzU0JCgq5cuaJFixYpNzfXoRiB8zZu3Cg/Pz%2B99NJLatOmjQ4cOKA//elPOn36tObOnWvr16lTJ4c8%2B/v72z1OTEzUn//8Z82cOVNBQUHasmWLYmJitGXLFgUGBt6T7XFVGzZsUIsWLWyP27dvb/v90KFDiouL04gRIzRv3jxlZmYqPj5enp6eGjVqlK0f%2Ba%2B%2B1157TdevX7drS0pK0u7duxUaGmprY/zX3nfffaf09HT16NFDZWVlMgzDoY/ZY33WrFk6duyYXn31VTVv3lwJCQmaOHGiPv74Y1mt1nuy3fVBVbkvKCjQunXr9NRTTyk6OloeHh766KOPNHHiRK1Zs0YDBw606x8ZGalJkybZtXl6eto9Jvd3ODP2JXOPM%2BT/Dmfyv3nzZoe2uXPnysvLS%2B3atbNrZ/wDDZzRiKxbt87o0aOHcfnyZVvbxx9/bAQEBBhZWVl1GJlr%2B2E%2By7355ptGcHCwUVhYaBiGYcydO9cYNmzYXddTWFhoPProo8aSJUtsbSUlJcaQIUOMP/7xj%2BYG3YB8%2BOGHRkBAQIX7oVx0dLQxcuRIu7b58%2Bcb/fr1M0pLSw3DIP9mioiIMGJiYmyPGf/mKB%2BrhlF5Ts0c64cPHzYCAgKMvXv32tpycnKMoKAgY9OmTaZtlyuoKvclJSVGbm6uXVtZWZnx9NNPG2PHjrVrHzhwoPHGG2/c9fXIvT1nxr6Zxxnyb8%2BZ/P/Y6dOnjYCAAGP9%2BvV27Yx/oOFrVFPE92mrxPoAAA%2B3SURBVO3bp9DQULVu3drWFhkZKU9PT6Wnp9dhZK7th/ks99BDD6mwsFC5ublOryczM1P5%2Bfl2U6/c3d01dOhQpaenV/qOPe6uqKhIGRkZGjZsmF378OHDdfHiRX377beSyL9ZMjMzdebMGQ0fPrzazyP/d%2BfmdvdTltljPT09XT4%2BPhowYICtn5%2Bfnx555JFGd86oKvfu7u5q2bKlXZvFYtEvfvELu%2BmxziL39qrKv7MY%2BzVTk/ynpKTIYrFUeinL3ZB/wLU1qgI7OzvbYaqUp6enOnfurOzs7DqKqmE6ePCgfH191aZNG1vbqVOn1Lt3b3Xv3l3PPPOMPv30U7vnlO%2BDLl262LX7%2B/vrxo0bOn/%2B/E8fuAuLiorSQw89pEGDBmndunUqLS2VdDvvxcXFDnnt2rWrpDt5J//mSElJkZeXlwYNGmTXzvj/6Zk91rOzs/Xggw/KYrE4rI9zRtXKysp06NAhh/OuJG3fvl3du3dXr169FBMTo3//%2B992y8l9zZh1nCH/tbdjxw6FhISoQ4cODssY/0DD1uiuwfbx8XFo9/Hx0bVr1%2BogoobpyJEj2rp1q6ZMmSJ3d3dJtz/RDg4OVteuXZWfn68PPvhAU6ZM0cqVKzV48GBJt/ePp6enw7VF5Z%2BK5ObmVniiauzuu%2B8%2BTZs2TT169JDFYtGePXu0YsUKnT9/XgsWLLCN7R%2BP/fLH5cvJf%2B2VlJRo586dGjRokLy9vW3tjP97w%2ByxnpeXZ3dfgx%2Buj3NG1d5//32dOHFCCxcutGuPiIjQww8/LD8/P50%2BfVpr167V7373O23btk2dOnWSJHJfA2YeZ8h/7Rw/flz/%2Bc9/HMa%2BxPgHGoNGVWBXxjAMh3cJUTMXL17U9OnTFRwcrJiYGFv7hAkT7PpFRERo9OjRSkhIsJ34JVW4H8qnrLGPKta/f3/179/f9jgsLExNmzZVUlKSXnjhBVt7Zfn7YTv5r50vvvhCly9fdpgSyPi/t8wc686sC46%2B%2BuorLV26VJMmTVJISIjdsvnz59t%2B7927t/r166chQ4YoMTFRr7/%2Bum0Zua8es48z5L/mtm/friZNmigyMtJhGeMfaPga1RRxHx8f5eXlObTn5%2BdX%2BMk2qic/P18xMTGyWq1as2aNmjRpUmlfNzc3PfHEE8rOzrZ9TZqPj48KCwsdvqqifJ/9%2BPo%2BVG7IkCEqLS3Vv/71L1vefvyud3ley8c%2B%2Ba%2B9lJQU%2Bfr6Kiws7K79GP8/DbPHemXnjMpmQ%2BG248ePKy4uTr/5zW80Z86cKvu3a9dOjz76qI4dO2ZrI/e1V5vjDPmvOcMwlJqaqv79%2B8vX17fK/ox/oOFpVAW2v7%2B/w7UrRUVFOnXqVIXXiMF5hYWFio2N1aVLl7Rhwwa1atWqyuf8%2BKZN5fvgx/soOztbzZo1s/vaKTivc%2BfOatKkif773//atWdlZUm6k3fyXzsFBQX67LPPNHjw4Lu%2BuVSO8W8%2Bs8e6v7%2B/Tpw44bCvsrKyOGdU4tSpU/rDH/6goKAgvfXWW05/2lbR3wO5r72aHmfIf80dPHhQ//vf/6p1o0vGP9CwNKoCe8CAAcrIyNDVq1dtbZ988omKiooUHh5eh5G5tpKSEs2YMUPHjx/Xhg0b1LFjxyqfU1ZWpl27dqlbt262a8EeeeQRtWjRQqmpqbZ%2BpaWlSktLU3h4ONOiqiE1NVXu7u4KCgqSp6en%2Bvbtq7S0NLs%2BKSkpuu%2B%2B%2BxQUFCSJ/NfWnj17dOPGDaf%2BU8X4/2mYPdbDw8OVl5en/fv32/qdPXtWmZmZnDMqcPHiRU2aNElt27bV6tWrHb7XtzLnz59XZmamgoODbW3kvvZqc5wh/zW3fft2eXt7O3z3e2UY/0DD4/76Dy/4aOC6deumDz/8UPv371f79u116NAhvfnmm3r88cc1evToug7PZb3%2B%2ButKSUnRjBkz1K5dO507d87207x5c128eFFTpkxRcXGx8vPzdezYMcXHx%2BvQoUN64403bO/Guru7y93dXWvXrpXValVhYaFWrlypQ4cO6a233lLbtm3reEvrp%2BjoaF24cEHXr1/XyZMn9de//lXJyckaN26c7bq7Tp06ae3atTp79qyaNWum7du3a%2BPGjXr55ZfVvXt3SeS/tt5%2B%2B20VFhbq5ZdftiuGc3JyGP8muXXrlj777DNlZWXpiy%2B%2B0KVLl9ShQwdlZWWpdevW8vLyMnWsd%2BjQQUePHtXmzZvVvn17nT17VgsWLJDVatXChQvl4dF4bmNSVe4tFovGjx%2Bvc%2BfOaf78%2BSooKLA7F5TfoC8lJUXvvvuuCgoKdPXqVX355Zd65ZVXVFRUpEWLFtmmKJN7e1Xl/8qVK6YeZ8i/PWeOPdLtDxxeeeUVDRw4UEOHDnVYD%2BMfaBwsRiP7ctUTJ04oPj5eBw8elNVqVVRUlGbPnu1wR004LyIiQjk5ORUue%2B%2B99xQYGKiXX35Zx44d05UrV9SkSRN1795dkydPtrs5l3R7mlRiYqKSk5N16dIlBQQEaM6cOerbt%2B%2B92BSXFB8fr/379%2BvcuXMqKyvTAw88oFGjRmncuHF2hV56errefvttZWdnq0OHDpo4caLGjBljty7yXzPXrl1Tv379NGHCBIdrTnNzcxn/Jjlz5ozD15%2BVe%2B%2B999SnTx9J5o7169eva8mSJdq1a5eKi4vVp08fvfrqq07N1GlIqsp9x44dK10uyfY1RIcPH9by5cv13XffKT8/Xy1atFDfvn01ffp0h6%2BOIvd3VJX/n%2BI8S/7vcPbYs3fvXj3//PN69913K/ykmfEPNA6NrsAGAAAAAOCn0KiuwQYAAAAA4KdCgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABBTYAAAAAACYgAIbAAAAAAATUGADAAAAAGACCmwAQKW2bt2qwMBA209QUJDCwsI0c%2BZMff/993Ue15kzZ%2B7ab9WqVQoMDLxHUVUtPT1dq1atqnBZYGCgFi5ceI8jAgAAZvKo6wAAAPXfokWL1KVLFxUWFiozM1Nr167VgQMHlJaWppYtW9Z1eC4jPT1dycnJmjZtWl2HAgAAfgIU2ACAKnXr1k3BwcGSpD59%2Bqi0tFSrVq3Sp59%2BqmeffbaOowMAAKgfmCIOAKi28mL78uXLDstSU1P13HPPqWfPnurVq5eio6P17bff2vU5cuSIZs6cqYiICD388MOKiIjQiy%2B%2BqJycHIf1HT58WKNHj1ZwcLDCwsK0fPlylZSU1Cp%2BZ2KcN2%2BeevXqpZMnTyomJka9evVSeHi4Fi9erKKiIru%2B586d0/Tp09WrVy/17t1bs2bN0jfffKPAwEBt3brVtr7k5GRJspt2/%2BNp7tu2bdOQIUPUo0cPPfnkk/rnP/9Zq20FAAD3Dp9gAwCqrbwofOCBB%2Bza165dqxUrVuiZZ55RbGysiouLlZiYqDFjxmjLli3q2rWrJCknJ0cPPvighg0bppYtW%2BrixYv64IMPNHLkSO3YsUOtW7eWJGVlZen3v/%2B9OnbsqMWLF8tqtWrTpk1KSUmpcezOxihJxcXFio2N1ciRIzVp0iR9/fXXWr16tZo3b66pU6dKkm7evKnx48fr2rVrmj17tu6//37t379fM2fOtHvduLg43bx5U7t27dLmzZtt7e3atbP9vnfvXh05ckTTp0%2BXt7e3NmzYoKlTp2rnzp3q1KlTjbcZAADcGxTYAIAqlZWVqaSkxHYN9po1axQSEqKIiAhbn7Nnz2rVqlUaO3as5s%2Bfb2v/9a9/rcjISL3zzjtasWKFJGnw4MEaPHiwrU9paakee%2Bwx9evXTykpKRo/frwk6S9/%2BYsMw1BSUpLatm0rSXrssccUFRVVo%2B2oTozS7QJ72rRpGjJkiCQpNDRUR48eVUpKiq3A/uijj3Ty5EmtX79eAwYMkCSFhYXp1q1bdoV0586dbdvQs2fPCuMrLCzUxo0b1bx5c0nSL3/5S/Xv319paWmaPHlyjbYZAADcOxTYAIAq/fa3v7V77O/vr9WrV8vD485p5PPPP1dJSYlGjBhhN4W7adOmCgkJ0YEDB2xtN27c0OrVq7V7927l5OSotLTUtiw7O9v2%2B4EDBxQaGmorTCXJ3d1dQ4cO1TvvvFPt7ahOjJJksVjs3kSQbk/vzsjIsD3%2B%2Buuv1axZM1txXS4qKsquwHZGnz59bMW1JLVt21Zt2rSpcOo8AACofyiwAQBVWrJkifz9/XXjxg2lpqZq8%2BbNevHFF7VhwwZbn0uXLkmSRo4cWeE63Nzu3PZj1qxZysjIUFxcnIKDg9WsWTNZLBZNnjxZhYWFtn65ubl2xXW5itqcUZ0YJcnLy0tNmza1a/P09HQqxjZt2lQ7Pl9fX4e2H78eAACovyiwAQBV8vf3t93YrG/fviorK9OWLVu0c%2BdO21TvVq1aSZISEhLk5%2BdX6bry8/O1d%2B9eTZ061W7ac1FRka5du2bX19fX11YU/1BFbc5wNsbq8PX11TfffOPQXtMYAQCA66LABgBU25w5c7R7924lJCToiSeekJubm8LCwuTh4aFTp04pMjKy0udaLBYZhiFPT0%2B79i1btthNFZduT5nes2ePLl26ZPuUuLS0VKmpqTWK29kYqyMkJERpaWlKT09XeHi4rX3Hjh0Ofcu3uaCgQFar1ZTXBwAA9QcFNgCg2lq2bKnJkydr6dKl2r59u0aMGKGf//znmj59ulasWKHTp09rwIAB8vHx0aVLl3TkyBF5eXlp%2BvTpat68uUJCQpSYmKhWrVqpY8eO%2Buqrr/SPf/xDPj4%2Bdq8TGxurPXv2aMKECZoyZYqsVquSk5N169atGsXtbIzV8fTTTyspKUkvvfSSZsyYofvvv1/79u3T559/Lsl%2B2nlAQIAk2W6I5ubmpsDAQIc3GwAAgGvie7ABADUybtw4%2Bfn5afXq1bZPnp9//nmtXLlS33//vebOnavo6GgtW7ZMOTk5CgkJsT13%2BfLl6tOnj5YuXaqpU6fq6NGj2rhxo1q0aGH3GgEBAba7as%2BdO1cLFixQYGCg4uLiahy3szE6y9vbW0lJSfrVr36lpUuXatq0aTp79qxee%2B01SbLbpqioKI0aNUqbNm3Sc889p5EjR%2BrChQs13hYAAFC/WAzDMOo6CAAAGpry79veu3evOnToUNfhAACAe4Ap4gAA1NLf/vY3SVKXLl1UXFysjIwMvf/%2B%2B3ryyScprgEAaEQosAEAqCWr1aqkpCSdOXNGxcXF%2BtnPfqaYmBjFxsbWdWgAAOAeYoo4AAAAAAAm4CZnAAAAAACYgAIbAAAAAAATUGADAAAAAGACCmwAAAAAAExAgQ0AAAAAgAkosAEAAAAAMAEFNgAAAAAAJqDABgAAAADABBTYAAAAAACY4P8AS9hWX0YYTD8AAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -279,7 +314,7 @@
 <br>
 
 <h3 id="Read_length_vs_Read_mapping_quality_plot_using_a_kernel_density_estimation">Read length vs Read mapping quality plot using a kernel density estimation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdeXgTVdsG8HtmknSXAhYKlb1lkUWhgCKL7IoCvgqIuKGIgIDg9iqLICAKgoqKrwubIAhWEGUR4VM2ZVHZBGRrKWsLLRRaoGsyy/dHkjHTpk1a0obl/l1XryaTyeRkMjmZZ845zxE0TdNARERERERERFdF9HcBiIiIiIiIiG4EDLCJiIiIiIiIfIABNhEREREREZEPMMAmIiIiIiIi8gEG2EREREREREQ%2BwACbiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkAwywia7SjBkzUK9ePdSrVw9jx4696u3Jsqxvr169ekhJSfFBKcmVrz8zopJ4//339eNw/Pjx/i4O%2BVBeXp6hHj9//ry/i0R%2BkJiYqB8DjRs3LnQ91gXF9%2Bijj%2Br77KeffvJ3cYgMTP4uAF0bRo0ahR9%2B%2BKHQx81mM0JDQxEZGYmGDRuic%2BfOaNeuHSRJKsNSEtG15rXXXsOqVasKfTx/3dGlSxe0a9cOosjru0RERHTjYYBNXrHZbEhPT0d6ejoOHTqEZcuWoXbt2njvvffQpEkTfxePblInT55E165dAQCSJOHgwYN%2BLhHl567uiI6OxnvvvYdGjRr5u3hERNeFvLw8w/nWli1bEBER4ccS3Zz4OZA3GGBTAeXKlSvQlclqtSI1NRUnT57Ulx07dgz9%2B/fHggULGGQTEcLDwwsEze7qjqNHj%2BKpp57CokWL0LBhw7IuJhEREVGpYYBNBdSrVw9z5851%2B9jp06cxffp0rFu3DgCQnZ2NMWPGYOXKlezySXSTa9CgQaF1x6lTpzBt2jT88ssvAOx1x%2BjRo7FixQoIglCWxSQqdQEBAThy5Ii/i0HXiddeew2vvfaav4tBRD7CiIiKpVq1avj444/RoUMHfVlCQgJ%2B//13P5aKiK511atXx8yZM9GuXTt92ZEjR7Bt2zY/loqIiIjItxhgU7EJgoARI0YYlv3xxx9%2BKg0RXS8EQcCLL75oWMa6g4iIiG4k7CJOJdKgQQMEBwcjOzsbAJCcnFys5//xxx9Yt24dduzYgfPnzyMrKwvly5dHdHQ0OnTogN69eyM4ONirbSUkJGDLli3YtWsXjh49inPnziEvLw9hYWGIjIxEbGwsevbsiTvuuKNYZVRVFStXrsSqVatw5MgRXLp0CREREYiOjsbDDz%2BMrl27XlNZ1BMTE7F69Wps3boVZ86cQUZGBkJDQ3HbbbehTZs26NOnD6KioorcRmFJw86dO4elS5fi119/xZkzZ5Cbm4uIiAi0aNECTz/9NBo0aOB1OW02G5YvX441a9bg6NGjuHz5stv9OmPGDHzxxRcAgN69e%2BOdd97Rt7F06VK8%2Beabhu0qioJ69eq5fc2RI0di6NChHsu2c%2BdOxMXFYe/evUhJSUFgYCCqV6%2BOjh074umnn0ZoaKjX77MwCxYswLvvvgsAiIqKwvr1673uIj169GgsX74cANCxY0d8/vnnBdbJzMzEihUrsGnTJsTHxyMjIwOyLCMwMBARERGoWbMmmjRpgo4dO6J%2B/fpX/X6Kq1GjRggICEBeXh4AICkpqVjP3759O9atW4edO3ca6o6YmBi97ggKCvJqW/Hx8Ya64/z584a6o3nz5ujZs2exc0woiqLXHfHx8XrdERMTox/jpTGkJjExEQ888AAAwGKxYP/%2B/QDs3fPj4uLw22%2B/4ezZs7BarahevTruu%2B8%2BPPvsswWO68zMTCxevBi//PILEhMTYbPZUKlSJbRu3RrPP/88qlWr5lV5fLl/C3tvJ06cQFxcHLZs2YKzZ89CURRERUXh3nvvRb9%2B/XDbbbf5ZbveJkJ6//33MXv2bABA3759MWnSJAD2uujbb7/Fvn379LqoRo0a6NSpE5566imEhIR43GdOp0%2BfxpIlS/Dbb7/hzJkzEAQBkZGRaNWqFfr27YuYmBgAQOvWrZGWlgYAiIuLw5133un1a3iSmpqKxYsXY8OGDThz5gwAlLgML7/8MtasWQMAePXVVzFo0CCPr1%2Bc97Zv3z5s3boVe/bsQWJiIi5evAibzYZbbrkFt912G5o3b47evXujdu3axdsJRSjsOACA3377Dc8//3yB57Rp08bttpzP37x5s75vgoOD8fvvv3v9G/bxxx/js88%2BAwA0adIES5cuLdb7ceVu32dkZGD58uVYu3YtkpKSkJmZiYiICLRs2RKPPvoomjZtWuLXK8q2bduwZs0a7Ny5E2lpabBarahYsSLq1q2LDh064D//%2BQ8CAwPdPreknwPdnBhgU4kIgoCwsDA9wL5y5YpXz0tKSsK4cePcdgs9d%2B4czp07h23btmHWrFl49913Dd1J3enZs2eh49xcMxcvWrQI999/P6ZMmeJV4J6amoqRI0diz549huXJyclITk7G5s2b0apVK3z44Ycet1XacnNzMXXqVHz33XdQFMXwmHMf7N%2B/H/PmzcPw4cO9OhlxtX79eowePRqXLl0yLD99%2BjROnz6NH3/8Ea%2B//jqeffZZj9s6fvw4RowYgfj4eMNyf%2B9Xq9WKKVOmYPHixYbleXl52L9/P/bv349vv/0Wc%2BfO1U8ES%2BrBBx/Ee%2B%2B9B0VRkJycjN27dyM2NtarMjrHLwNAjx49CqyzdetWvPHGG27n3M3MzERmZiaOHz%2BOjRs34uOPP8by5cvLPMmYKIoICwvTA2xv647Tp09j7Nix%2BPPPPws85qw7tm7dilmzZmHq1Klo3bp1odtSVRUPPfRQgePQybXuWLhwIR588EG88847XgXuZ8%2BexciRI7F3717DcucxvmnTJrRp0wbvv/%2B%2Bx235wo8//oi33noLubm5huUJCQlISEjA6tWrsWjRIj3427NnD0aMGIFz584Z1k9KSkJcXBxWrlyJTz/9tNCTSqB096%2BrpUuXYtKkSbBarW7f2%2BLFizF%2B/Hg8/PDD18R2vWG1WjF58mTExcUZlufl5WHfvn3Yt28flixZgnnz5qFOnToet/ftt99i6tSpyMnJMSw/evQojh49iiVLluC///0vnnnmGV%2B%2BDYM1a9Zg/PjxBb7rZVkGb6SlpeGxxx7D6dOn3T5%2B4cIFXLhwAXv37sVXX32FJ598EqNGjbqmLrS7atu2LaKiopCcnIzs7Gz8/PPP6NOnj8fnqapqmLa1d%2B/ePi3X33//jREjRiA1NdWwPCkpCUlJSfjhhx/w5JNPYsyYMT67EHn%2B/Hm88cYb2Lp1a4HHzpw5gzNnzmDTpk348ssv8fbbbxdZvxF5gwE2lYimabh8%2BbJ%2B35ur6YcPH8bAgQMNJ//BwcGIjo5GUFAQzp07h%2BPHjwOwV4ZDhw7FjBkz0KVLl0K36Rpcm81m1KxZE%2BHh4RBFERcuXMDx48f1oHPt2rU4f/48Fi5cWOQP4sWLF/HMM8/g2LFj%2BjKLxYK6desiKCgIx48fR1paGrZv345hw4ahefPmHt97abl8%2BTIGDRpkuBBgMplQp04dlC9fHpcvX0Z8fDxkWUZeXh4%2B%2BOADpKen44033vBq%2B1u2bMHw4cOhqirMZjNiYmIQFhaGlJQUPSu0qqqYOnUqqlWrhs6dOxe6reTkZPTv39/woxoYGIiYmBgEBgbi5MmTOHfunFf7NTIyEm3atEFubi527twJwH7Rp7Cgqnr16kW%2Bz7Fjx2LlypUAgPLly6NmzZoQRREJCQn6cZ6amornn38eq1evvqqW7FtvvRWtWrXCli1bAACrVq3yKsDetGmTfoIaEhKCjh07Gh4/ePAghgwZYggKKlasiOrVqyMoKAjZ2dk4e/asYf%2Brqlri91FSqqoWu%2B44dOgQBg4cqLeCAPa6w3nspKam4sSJEwDswfbgwYPxySefFNhHrmVwDf481R0//fQTzp8/j/nz53tVdzjLAvxbdwQGBuL48eO4cOECtmzZghEjRhSYrcHXfvnlF/27HhwcjLp168JisSAhIQHp6ekA7C21zz//PJYvX474%2BHgMGDAA2dnZEEURdevWRbly5XDmzBk96MjJycGLL76INWvWoEqVKm5ft7T2r6u1a9fqvVhMJhPq1q2L0NBQnDx5Uj/GnYn0BEHAf/7zH79u11ujRo3CTz/9BACoUKECatasCUEQEB8fr3//U1JS9LqoqAvG3377Ld566y3DssqVK6NGjRrIyclBfHw88vLyMGXKlGK1iBfH//3f/%2BG1114zXPx19qTJzs5GfHw8bDZbqZbBW1lZWYbgOigoCDVq1MAtt9wCwP4bcOrUKWiaBlVV8fXXXyMjIwPTp08v1XJVqFABbdq0gaZphgDxrrvugtlsLrC%2B8yKwKIro1asXPvnkEwD2C0feBNi///47zp49C8Bebzz44IO%2BeBsA7BdKJ0yYgMzMTABArVq1EBERgbS0NP2cS9M0LFy4ELm5uZg8efJVv2ZKSgqefvppw0wWAQEBiImJQVBQEE6cOKGfl545cwZDhgzB9OnT0a1bN8N2Svo50M2JATaVyIEDBwxXxKOjo4tc/8qVKxg6dKheiVWpUgVvvPEGunTpApPp38Pw%2BPHjePvtt7F161bYbDaMHj0aDRs2RNWqVd1u95ZbbsEjjzyCLl264I477ihQyWVkZOCbb77B559/DpvNhl27duGrr77CwIEDCy3r5MmTDcH1008/jRdffFH/kVVVFb/88gveeust7N69W78o4A9jxozRg%2BuAgAAMHz4cjz/%2BuCEAvHTpEj799FN8/fXXAIB58%2BYhNja2yGAYsL/PV155BQAwZMgQDBw4EGFhYfrj%2BVu6pkyZgk6dOhXa3fnNN9/UT1BFUdS36Typ0jQNW7Zswfjx4z3u17Zt26Jt27aGLu2iKBaawboov/76KzIyMlC1alW8%2Beab6NChg37V3GazYe7cuZgxYwYAe%2Bvk/PnzMXz48GK/jqsePXroAbbzhN71e%2BDOqlWr9Ntdu3Yt0I3tww8/1IPrmJgYTJo0Cc2aNSuwnbS0NGzcuLFAC1lZ2b9/v%2BEigKeTkMuXL2Po0KF6cF21alWMGjUKnTp1MuyzxMRETJo0CX/88QdsNhtGjRqFlStXIjIy0u12y5Urp9cdTZo0KVB3XLx4EYsXL8YXX3wBm82Gv/76CwsXLiyylW3ChAmG4PrZZ5/F0KFDDXXHunXrMGHCBPz1119ISEgo8r1fDUVRMHr0aJjNZrzyyit44oknEBAQoD82Z84cvafIoUOHsGLFCsyePRvZ2dl45JFH8Oqrr%2BLWW2/Vt7d582a89NJLyM7ORnZ2NmbOnKkPdXCnNPav63sbN24cAKBXr1547bXXUKFCBQD2euT333/HuHHjkJKSAk3TMGHCBMTGxnrs2l5a2/XWunXrkJGRgaioKIwfPx7t2rUz1EWzZs3Sg6Xk5GQsWLAAL7zwgtttHTt2zDCspmrVqpg0aRLatGmj19GZmZmYO3cuPv/8c7zzzjvQNM0n78Pp3LlzGD16tB5cV6xYERMnTkSnTp3093Xp0iV88sknWLRoUamUobgqVaqEPn36oHPnzqhfv36BFtSUlBTMmTMHixYtgqZpWLlyJbp27VpkQ8DVatSoEebOnVtg2MEHH3zgcf7l3r1743//%2Bx8URcHevXuRkJDgsc79/vvv9dv333%2B/T4ZGOb3zzjvIzMzEnXfeicmTJxvKkpiYiDfffBO7d%2B8GYL8gcM899%2BhDOEpC0zS8/vrrenAtCAIGDx6M559/Xn9fqqpiw4YNeOutt5CWlgabzYYxY8agYcOGhovzV/M50M2HSc6o2DRNw6effmpYdt999xX5nPfff18fp12zZk0sX74c3bp1KxBU1KpVC7NmzdK751y5ckUfB%2BTO5s2bMXr0aDRv3tztFcTw8HAMGzYMH3zwgb5s4cKFkGXZ7fb27Nmjtx4AwKBBgzB27Fj9BBmwB3L33Xcf5s2bh8DAQL0lqKytWbNG7zIcGBiIBQsWYNCgQQV%2BDMuVK4exY8di5MiR%2BrLp06d7PJHRNA2XLl3CpEmT8PLLLxuCawBo2rQpPv30U/1kLSkpSW9Nzm/Tpk2GYQFvvPEGRo4caWixEAQBbdu2xddff43w8PAy268ZGRmIiIjAkiVLDCd%2BgL3lbciQIejXr5%2B%2BzLXrXEl16dJF7w6bnp6uB9uFyczMxObNm/X7%2BbuHW61WPVmYKIr4/PPP3QbXgL0FvU%2BfPli2bBluv/32q3kbxaZpGmbOnGlY5unEdNq0afqYzVq1auH777/HfffdV6DuqFOnDubOnYt77rkHgP3E3d0YdcDeMrlp0yaMGjUKsbGxbuuOChUqYPjw4Zg2bZq%2B7Ouvvy4wDMNp586d%2BvSFAPDCCy9g1KhRBeqObt26Yc6cOQgICCjVY1xRFFy5cgXvv/8%2BBgwYoAfXgD2/wuDBg9G9e3d92bhx45CYmIgnn3wSU6ZMMQTXAHDvvffi9ddf1%2B%2BvXbtW7%2BafX2ns3/zv7fLly3jsscfw7rvv6kEwYK9H2rVrhwULFqBcuXIA7K3u3nTJL63teisjIwOVKlXCkiVL0L59%2BwJ10bBhw/Doo4/qy3788cdCt/XBBx/oF7LCw8Px9ddfo23btoYLoKGhoRg5ciTeeOMN5OTkFBhGcLU%2B%2BugjvaUyODgY8%2BbNQ5cuXQzvq1y5chg3bhwGDBhQKmUojipVqmDDhg0YMWIEbr/9drfdkyMjI/Hmm2/qF58B%2B0Xra1XlypVx77336veXLVtW5PoXL17Ehg0b9PvetHgXR3p6Oho2bIj58%2BcXCPTr1KmDr776ytCzZ8qUKbDZbCV%2BvTVr1hiGFY0aNQovv/yy4TxJFEV07twZCxYs0JdnZ2djypQpJX5dIgbYVCynT5/GyJEjsXHjRn1Z9%2B7di0xydfHiRUNQ8t577xlOXPIzmUyYNGmSfgK9atUq/Uc6P28Tod1333160oyUlBQ9eVd%2Brq161atXL5Dx2NXtt9%2BOAQMGePX6pWHOnDn67WHDhnlMCjJkyBDUqlULgL1b6Pbt2z2%2BhjM5WmHuuOMOQ7IY55Xn/L777jv9dsOGDdG/f/9Ct1mtWrUi93tpGDVqVKEtnQAM5U1KSiowPrW48nfxdm2ddmfdunV6MBMREYG7777b8PiFCxf0k5CIiAivW9TKcuzg6dOn8eKLLxqm9HvooYcKTUwH2FvbnUGEIAiYNm2aV3WH832tWLFCzxORn7d1xwMPPKCf8CUnJ%2BPw4cNu1/v222/12zVr1iyyl0Pjxo3LZLxp586dcf/99xf6eN%2B%2BffXbNpsNERERhiA6P9cEQFlZWUXO8%2Bzr/ZtfREREkUNd8n8G69evNwwxKOvtemvMmDGoXLlyoY%2B71kUnTpzAxYsXC6xz7tw5bNq0Sb8/YsSIIuuEZ555xucX2zIzM/VEZADw3HPPFZlU8eWXX/aYOK60WSwWtxeD3Hnuuef0Vsvdu3f77UK7N1y/5ytWrCiQW8DVjz/%2BqP%2BWREdHF3qh9mpMmjSp0HwLgYGBmDx5sn4h6Ny5c4bzzeL65ptv9NtNmzYtst6Njo42nHts2rSp2Ek4iZwYYFMBR44cwXPPPWf4e/rpp3HfffehS5cuhlaa1q1b4%2B233y5ye64tHfkDssJERUXpFXtubm6BhEEl4dqlx5kp1pWmaQWu3FosliK3%2Bfjjj5dKNmBPEhMTceDAAQD2lg3XFtbCiKJoaLFylywqP9fWksK4/gC7dq13kmXZMF7p0Ucf9Zg1u6hMnr5Wrly5IoMQwN5yWrFiRf2%2Bu/dZXD179tRvb9iwodBAEDAG4A8%2B%2BGCBwNi1dfL8%2BfO4cOHCVZevJA4dOlRo3dG5c2dDkra2bdti4sSJRW7v559/1k/2mjZt6lW26WrVqul1TE5ODvbt23cV78jOdQaCwuoO15PAvn37euzy//jjj3udPb6kPCUnatSokaEMPXr0MBxL%2BQUFBRlanXzxPQA87193Hn74YY9BfK9evfQTeZvNZgg6y3q73ihfvrw%2B5KUw0dHRCA8P1%2B%2B7%2Bwy2bdum99IKDAzEQw89VOQ2BUHwqq4vjq1bt%2BrDyCRJ8vgbZbFYfN5aWpokSUKjRo30%2B//8848fS1O0du3a6fkS0tPTsX79%2BkLXde0e7uvkZgBw5513GvabO/Xr1zfkJfn1119L9FoZGRnYtWuXfv%2Bpp57y%2BJw%2Bffro321VVX323aabD8dgUwGXLl3y2GW1Zs2aGDp0KHr27OnxJNG1grvrrru8LkfdunXx119/AbCP%2BS4qK7DNZsP27duxf/9%2BnD59GleuXEFeXp6hG7Rrgov82Sudj7tmym7btq3HMkZERKBBgwZ6sFtWXLtiN2zYsED37cK4nhx7U2ZvLoa4tvy6Jq9yOnr0qKHbnzfHQGhoKBo2bGg4dkpLo0aNPAZDgL2rnTNw9TbzdVHatGmD8uXLIz09HdnZ2fj1118NQbfT%2BfPn9e8B4D57eIUKFVC1alWcOXMGqqrihRdewNtvv11k63BpyMjI8Fh31KpVC8OGDUP37t091h2ux3lx6o6YmBj92Dl48GCBFn9XVqsV27dvxz///FNo3eE6rtpd3XHs2DFDLxtvMtBGRkaibt26RbYCXy1PUxMGBwcjODgYWVlZXq0PwNB13N33PT9f7F93vNnHISEhiI2N1Y/J/fv3ewwaSmu73mjcuLFXvUoqVaqEjIwMAO4/A9eLFI0aNfJqDG1xvl/ecL2wVb9%2BfcMFysK0a9dOz3fhb9nZ2diyZQsOHDiAM2fOIDMzs0DLr%2Bt319vj1h9EUUTv3r314TnLli0rkMALsA%2BRO3r0KAD7hXtPF2ZKwtvs3O3atdPrf28vuuWXv2HGm3O6kJAQtGzZUh%2BStXfvXjz55JMlen26uTHAphJJSkrC0aNHvWqBcU3ks379%2BkK7Z%2BfnGhAX1v1KlmXMnz8fs2fP1k84vOEuQDp16pR%2BWxRFr6ZAAewtCmUdYLvu06SkJDz33HNePc91H3nTpS3/OEx3XLt6uRs/5xw/C9i78NaoUcPjNgGgdu3aZRJge/MeARha1PNPeVMSJpMJ3bp106cGW716tdsA%2B6efftLHpdaqVavQq//9%2B/fXx4zt3bsXPXv2xO233462bdsiNjYWTZs2NYwH9pfi1B3Okz3AnhHb2xMt1wR5RdUd8%2BbNw9y5c31ad5hMJq/nx42JiSm1AFsURZQvX97jekFBQXqA7U0Q5On77uTL/euOtxl6o6Oj9UDY9XMq6%2B16w9u6qDh1rrfHYs2aNSFJkldj4L3hmo27bt26Xj0nOjoagiD4NdFZTk4OZs6ciSVLlhTZqyi/woaxXSt69%2B6Nzz77DIqiYNu2bThz5kyB5LGuc1136tSpyOE4JVWc75dTSb9frsdglSpVvP79q1evnh5gFzZlG5EnDLCpgJYtW2LhwoX6fVmWkZqaikOHDmHevHnYtWsXZFnGrFmzIMuyxymfXE%2BuEhMTkZiYWOwyufvxstlsePHFF0s0PsfdGCTXloDg4GCP3cOdXLvrlRXXfZqWluax1dAdTycEkiQVe4yuuxMj1xPmkJAQr7vUe9sqf7W8HXPnylcngD169NAD7K1bt%2BLixYsFTmpcu4e7a7126t%2B/P06cOIElS5boyw4ePKhf0HJ2aXzggQfQu3dvn2aGdWrVqhXmz5%2Bv33fWHQcPHsTcuXOxZ88e2Gw2fPHFF1AUBa%2B99lqR23M9zp1z5haXu4DNarVi%2BPDhhsRx3nJXd7j2fAkNDfWqRwRQunWHyWQqdhf0knwX3PH1/nXH233nup7r51TW2/WGr%2Boi17rd23pUFEWEhIR41SvBG677xNt9arFY9CkF/eHKlSvo379/iS6Ye3vc%2BktkZCTatWuHjRs3QlVVLF%2B%2B3JBLICsrCz///LN%2Bv7S665fk%2ByXLMrKysoo9jZvrsezNxUZ36/rqu003H47BJo9MJhOioqLQuXNnfPPNN4axWvPmzfN4EuWL1j538/XOnj3bEFw3a9YMEydOxPLly7F9%2B3bs27cPR44c0f%2BGDBlS5Gu4ZqoszomOt4G4L5XWPi0N/p525VrWrFkzPfmQLMuGExzA3ovDdWyfuxZuJ0EQMGHCBCxcuBAdO3YscAw7p2lxTqfmmi2/tDjrji5dumDJkiXo1auX/ticOXM8XhjyxYm2u%2BP8yy%2B/NNRbsbGxmDRpUqF1x/PPP1/ka1xPdUdZ8PX%2Bzc9kMnl9oc51H3vKRlxa2y1rJa1zfVlXX4/fiXfeeccQXHfo0AHvvfceVq5ciT///BP79%2B83HLdXM32UP7ieuy1fvtxQN65Zs0avb6OiovTZGHzN22Mh/3FQkgsYrs8p6TF4rV84oWsXW7CpWARBwPjx47F37169a%2BPEiROxdu3aQn8Yw8LC9CuJ06dPLzJI8JYsy/jqq6/0%2B/3798eYMWOKfI6zG2RhXFv0PK1bnO2WBteuTn369MHkyZPLvAzeci1rVlYWVFX16iTWF%2BOcrwfdu3fXp5NatWoVnnjiCf0x19brpk2bepUdvGXLlmjZsiWys7Oxe/du7Ny5E3/%2B%2BSf27t2rd//MyMjAq6%2B%2BioCAAI/zofuK8wLAvn37kJCQAE3TMHHiRKxZs6bQk59bbrlFP%2BmbMWOGT05orVaroZV9wIABHnvh3Eh1R2krjf2bnyzLyMvLKzIhm7tte%2Bq1UVrbLWuurdbe1qOqqvq05fha%2B054uqCcmppqmPZs3LhxHsfeXm/f33vvvReRkZFISUlBcnIytm3bpo%2BJdp2%2B65FHHim15K3e7rP865WkR5vrc4rzWbn2ALkWhlXR9Ykt2FRsZrMZ48aN0%2B8nJycbuqXm5zquz3Vc9dXYv3%2B/HrQHBwfj1Vdf9fgcT1MruXbNtVqtOH/%2BvFdl8cc0Dq5l9dU%2BLS2u47xkWfa6vL7KUHytc%2B32/ffffxuOJ2%2B7h7sTHByMNm3a4KWXXsKSJUuwZcsWvPLKK/pYck3TMH369KssffFYLBaMHTtWv3/q1CnDFG75udYdromwrsa%2Bfc75TC0AACAASURBVPv0E6jQ0FC8/PLLHp/jqe5wLWd2drbbqZPcuRGngCmN/euOt/vOdT1vxpiX1nbLkmud6209euLECZ%2BNvwaM%2ByQ5Odmr56SmpnrVG8D1gpy3vQc8XWjYvn273oJfu3ZtrxJbXe10jWVNkiRDLyJnUH306FH8/fffAOxDBVzX8TVvjwXX71e5cuW8HnbjyvU8yZkA1BuuY75LYxw63RwYYFOJtGjRwpANctasWYUmvHHNTOvN3MveOHv2rH67bt26HlscNE3zONVX/fr1DVdtvUmopKpqmSc4A4zZvf/%2B%2B2%2B/jVnzRnR0tCEpj2tG7MJkZmZ6tV9dP6/rtSt6nTp10LBhQwD297B69WoA9uPPGVQ6E6JdjQoVKmDw4MF488039WUnTpzw%2BoTHV1q1amXI6v3FF18U2g2vNOoO1wRQ9erV89gl1Zu6o0GDBobxzt7UHYqi%2BKXuKG2lsX/d8Tbhnet63sz1XFrbLUvOecUB%2B/RR3rTeeVMvF0eDBg302wcOHPCqfvZ237uOxfVmzPixY8c8BuKu5xSeppEC7L9RrslGy0L%2BnAol%2Bc3r06eP/rv566%2B/Ij093ZDcrE2bNvqUXqWhLL9frs/Lzs72%2BvNyrY/cvbYvPge68THAphJ74YUX9NtpaWmIi4tzu55rIL57926fZM11/bH0JpHP9u3bkZKSUuQ6ISEhhpOCNWvWeNzun3/%2B6Zc5h1u2bKlfxbdarfjhhx/KvAzeMplMhvFccXFxHn%2BQVqxYUWSGYifXwF1V1et2vJRr67Sz1doZaAP2%2BeZ9dSW9U6dOhvv%2BOH5d645z584ZTvBcuU7Nt3PnzhIlSMzPOT8w4F3d8fvvv3vszRIWFmbIlJx/LL0727ZtK1Z27etFaexfd7zZx4cPHza04LrOrVvW2y1LrVu31lv8cnNzsWLFiiLX1zStyJ4kJdG8eXP9dv6pBgvjzW8uAEMAGB8f73H9ouZ9dirucbtq1SrDc8qCxWIxtOTm5eUVextVqlTRp6uy2WxYtmyZ4fgo7bnI169f7/F32mq14pdfftHvl/T7FRMTY0iW5k3ekUOHDhmSaboex06%2B%2BBzoxscAm0qsefPmaNmypX5/zpw5bivOdu3aoVatWgDsP%2BRvvfXWVQdClSpV0m8fOXKkyCv0VqsVU6dO9Wq7ruPD16xZU%2BSPt6qq%2BPjjj73arq%2BVK1cO//nPf/T7n3zySZm3RBaHa3KVAwcOGLLU55ecnKzP1%2BlJeHi4obvg9TqlxoMPPqi3Khw9ehQHDhwwnGx6yltQnCvo%2BXs7lCtXrhgl9Y27774bzZo10%2B/Pnj3bbZ3QoUMHfVo3VVUxfvz4q04oFRERod8%2BdOhQkQkDrVYrpk2b5tV2XeeMXbVqVZEXAxRF8VvdUdpKa//mt2nTJuzevbvIdVznVI6KijL8XpX1dstSREQE2rdvr9/39Pvw9ddf%2B7w3xe2332646PTxxx8XWU8dPnwYa9eu9Wrbzh4/ALBjx44ih2Skp6djwYIFHrfpetz%2B/fffRZY1PT0dn376qVdl9TXXqdxKOn2V6%2B/xzJkz9akMK1asiA4dOlxdAT3IyMgw5M9x5%2Buvv9Yv/AqCYDjXKQ5RFA3PXbhwYZHzlWuahvfff1%2B/HxkZWei83b74HOjGxgCbrkr%2BlijXRBlOoijiv//9r35/z549GDJkiMeWs5ycHCxfvhwDBgwo8Ngdd9yhdz3Mzs7Ge%2B%2B9V%2Bh0JSNGjPC61bxXr156xakoCoYNG2boOuakKAomTZqEPXv2eLXd0jB06FA9OMrIyMDTTz/t8SRJVVVs27YNzz33XJn%2BKLRv397Qij1lyhTMnDmzwIWRrVu34qmnnkJ6erpX02qYTCbDSdyCBQvKLDu6L1WqVMnQbXrixIn6%2BL7g4OACrc75/fHHHxgyZAh27NhR5ImhoiiG4KBy5cqoXr36VZa%2BZFzrjrNnzxoSDDlJkmSYymvnzp144YUXPI5xzs7OxrJly9zOD9%2B0aVP9okxWVhamTZtWaN0xfPhwr7sV9u7dW%2B9lIMsyhg4d6rbXjCzLmDBhgtddJa83pbV/3XnppZcMc547aZqGGTNmYNOmTfqy559/3utpy0pru2Xp1Vdf1X8j09PT8dRTT2Hr1q2GdbKysjBz5kxMnToVQUFBen4GXxk4cKB%2Be9euXZg8ebLbcd7JyckYNmyY12PAW7RoobdM2mw2TJo0ye0xdunSJQwbNsyrHhItWrTQb588eRJz5sxxu15aWhoGDhyItLQ0r8rqa65dlr/55psSNVZ06NBBb6RwbX196KGHfDZVX1E%2B%2BeQT/Prrr24f27hxIz766CP9frdu3bxK7lmYp59%2BGsHBwQDsvwuFnXuqqoqpU6caZrYYNGhQoVOV%2BuJzoBsbs4jTVbnnnntw55136gkyZs%2BejT59%2BhSopDt16oTBgwfjyy%2B/BGAPpDp16oQHH3wQLVu2RKVKlSBJEi5fvozjx49j37592LJlC7Kzs1G5cuUCrxscHIzevXvrcwjHxcXh6NGj6N27N6pVq4bs7Gzs378f3333HVJTUxESEoJ27dp57P4XFhaGsWPH6ol5Tp06hR49eqBfv35o3rw5AgICcOzYMSxduhQHDx5EQEAAWrdujQ0bNlz1viyuqlWrYvr06Rg6dChkWUZSUhJ69eqF9u3bo23btqhRowYCAwORmZmJ5ORk/PPPP4bumGU9bmjy5Mno168fUlNToaoqPv30U8yZMwd169ZFYGAgTp48qV9dbtasGZo3b45Zs2YBKHrqlu7du%2BsXFuLi4rBhwwZ9m049evS46jHMpa1Hjx7Ytm0bAOMYsM6dOxu6wrujaRo2btyIjRs3omrVqmjbti0aN26MypUrIyQkBFlZWYiPj8eKFSsMvTIGDx7st%2BCgXbt2aNy4sR5ofvnll3jkkUcKJLPp2rUrnnvuOcydOxeAvUuxs%2B5o0aIFKleuDFEUcfnyZRw7dkyvO3JychAVFVXgdUNDQ/HII4/oQ1oWL16MhIQE9OrVC9WqVUNWVhb27duHuLg4nD9/HmFhYbjnnnuwbt26It9PuXLlMGbMGP2CwIkTJ/S6IzY2FgEBAUhMTMTSpUtx6NAhBAYGolWrVoapBm8EpbV/XVksFrRp0wYbNmzAww8/jL59%2B%2BKuu%2B5CSEgITp06he%2B//95w8TM2NhZ9%2B/b123b9oXbt2hgzZgwmTJgAwB7EDhgwAJGRkahevTpyc3MRHx%2BvD8UZO3YsPvroI/2%2BL6bLeuihh7By5Uo9aFm0aBH27NmDPn36oHbt2sjJycGOHTvw7bffIjMzE3fddRcSEhI8XkCzWCx46qmn9J5OP//8M1JSUvDYY4/htttuQ2ZmJvbs2YO4uDikp6ejTZs2OHjwYJHbrVOnDtq0aaOX9f3338fu3bvRvXt3VK5cGZcvX8aOHTuwbNkyXL58GVWrVkWtWrUKXLQobT169NDPN9avX4%2B2bduifv36hnHpbdu2Rb9%2B/QrdhjPZmXP2CqfS7h4O2APmn3/%2BGcOGDUO3bt3QtWtXRERE4Pz581i/fj1%2B%2Bukn/dwkPDwco0ePvqrXi4qKwqhRozB%2B/HgAwMGDB/Hggw%2Bib9%2B%2BaNasGQICAnD8%2BHEsXbrU0EBx99134/HHHy90u774HOjGxgCbrtoLL7yAwYMHA7AnuPnxxx/dVtSvvPIKwsPDMX36dKiqipycHCxbtsxtq7c3Xn31VezcuVMPGHbt2oVdu3YVWC8gIADTpk3zusXogQceQFJSEj744AMA9uyjs2bN0oM9J1EUMX78eJw%2BfdovATZgn3Zjzpw5eOmll5CRkWEItK41UVFRmD9/PkaOHKl/Zrm5udi3b59hvVatWuHDDz/E7Nmz9WVFTdHx5JNPYsOGDdixYwcA%2B3i//C0W3iSt8beuXbtiwoQJBcZzFTd7%2BJkzZxAXF1doTgSnJ554osgTiLIwZMgQDBs2DIA9a%2ByqVavw8MMPF1jv9ddfR3h4OGbMmKFPJ7R06dJCx2578vrrr2PXrl36WLsdO3box4%2BrwMBATJ8%2B3W294k6PHj2QlJSkt8BcvnxZv6joSpIkTJw4EUePHr0mv6tXq7T2r6t3330X/fr1w/HjxzF//nzD1GCuYmJi8L///c/raYdKa7v%2B4Dy5nzp1qh44p6SkGHpWmEwm/Pe//0WfPn3w3nvv6ctLMi2SOx9//LGhd9WBAwfc9rSKiorC9OnT8cgjj3i13UGDBmHLli36BY89e/a47VFWr149fPjhh15N8Td58mT06dNH//3YsGGD29/28PBwfPzxxx67OpeGbt26Yd26dXp3%2BoyMDPzxxx%2BGdVy7LxemT58%2B%2BPLLL/UeX7Gxsahdu7bvC5xP//79oWka1q5di59//rnQRo%2BQkBDMnj3bMBywpPr27YsrV67os2akp6fjiy%2B%2BKHT9u%2B66C5999lmRF5999TnQjeva/WWg60b79u0NY6JmzZpVaPKPAQMGYOXKlXjggQc8XiGvU6cOBg8eXOj4qdDQUCxevBg9e/Ys9CSnadOm%2BO6774o91%2B%2BgQYPwxRdf4LbbbnP7eK1atTBnzhz07t27WNstDa1atcLPP/%2BMgQMHGhJ6uBMREYFevXph0aJF%2BtjWslS7dm0sX74cEydORMuWLVGxYkVYLBZUrVoV9957L2bMmIG5c%2BeiQoUKhm5cRXUXt1gsmD9/Pt599120b98ekZGRPu/qWBZCQ0MLjH%2BrWLGioWt9YerXr4/hw4ejYcOGhXZpc2rUqBH%2B97//Yfz48X7v2tqpUyfUq1dPv//FF18U2k100KBBWLFiBe6//36PdUd0dDSGDBmCefPmuX08NDQUS5YsQffu3QutO2JjY/Hdd98Ve0ziCy%2B8gM8%2B%2B8xt6zlg/w7MnTu3xOMKrweluX%2Bdypcvj2XLlhXardVsNuPxxx9HXFycV8NNSnu7/tKvXz%2BsXr0aAwYMQJ06dRAcHIyQkBBER0fjySefxI8//ohnnnkGVqvVMP%2Bvp98Sbzl/p5999lm3s32YTCbcf//9%2BP777932ViuMxWLBnDlz8Oijj7o9xgICAvDYY48hLi7O6zwTVapUwdKlS/UkYPlJkoT27dvjhx9%2BQJMmTbwuqy8JgoCPPvoIH330Ebp06YKoqCiPPZzciYyMNOyXsmi9Bv4t/8svv1zo59K6dWusWLHCp/t44MCBWLx4MZo2bVroOhERERg3bhzmzZtnaIl2x1efA924BI355clPcnNzsXv3biQlJenZdMPCwlCtWjXUrVu3WFcuU1NT8eeffyIlJQVmsxkRERG44447rmrsDmDvert7927Ex8fj8uXLqFixImJiYgzTB11LnNOGJSQkID09HVarFaGhoYiMjER0dLSebO560K1bNz1T7/z589GqVSs/l%2Bj6kJmZicOHD%2BPUqVO4ePEirFYrgoODERkZiUaNGhV60eh6UlTdUa9ePUPCIk9SUlLw559/IjU1FWazGZUqVUKTJk18Unfs2rULCQkJuHLlil53%2BOvE3F98tX8TExP1VkiLxWLokXTx4kX89ddfSElJgaIoqFq1Ku655x6vAqvS2u71ZteuXXqPlqioqFLplZWZmYmtW7ciOTkZgiCgcuXKaNGiheH72rp1a318c1xcnGFKysJcuHBBnynEZDKhSpUquPvuu6/qczp58iR27NiBCxcuIDAwEJUrV0ZsbGyx6pZr2ebNmzFo0CAA9osgW7ZsKbUAsbDPNC8vD3/88QeSkpKQlZWFiIgING/e/KrrXk/Onj2LXbt2IS0tDVarFeXLl0e9evXQuHFjv190phsHA2wiuubs2bMHjz32GAB7i9G2bdtwyy23%2BLlUROQvRQXC1%2BJ2rzdjxozB999/D8Ce18I5RKqslSTApuIbOnSoPn1Zv3799LH6pYGfKd2M2EWciK4pmZmZGDdunH6/U6dODK6JiIrJ2/aTzZs344cfftDvu8uDQDeOxMREQ%2B4HJuIi8j0G2ERUJrKystCzZ08sWbJEn4LKlSzL%2BPXXX9GrVy996h6z2awn0CMiIu8tXrwYr776Kn777Te30whdvHgRM2fOxLBhw/RkV02bNkXr1q3LuqhURtLT0zF27Fj9827btq0hDwYR%2BQaziBNRmTly5AgmTJiACRMmIDIyElWrVkVAQACuXLmCY8eOITs727D%2BK6%2B8YphvkoiIvGOz2bB69WqsXr0aZrMZNWvWRIUKFaBpGs6fP48TJ04YWrkrVKiAqVOnchzqDWb69Ok4fvw4rly5goMHD%2BrJ7EwmE1555RU/l47oxsQAm4jKRP6TtvzTxbgKCwvDG2%2B8UWaZTYmIbjSu2bVtNpveM8idhg0b4qOPPkL16tXLomhUhnbs2IG9e/cWWM4L2ESlhwE2EZWJ4OBgrF%2B/HuvXr8euXbuQmJiI1NRU5OTkwGKxIDw8HDExMbjnnnvwyCOPcNw1EdFVePLJJ1GvXj38/vvv2LdvH06dOoX09HTYbDaEhYXh1ltvxZ133onOnTuXeLo0ur6EhoaiUaNG6N%2B/Pzp27Ojv4hDdsJhFnIiIiIiIiMgHmOSMiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkAwywiYiIiIiIiHyAATYRERERERGRDzDAJiIiIiIiIvIBBthEREREREREPsAAm4iIiIiIiMgHGGATERERERER%2BQADbCIiIiIiIiIfYIBNRERERERE5AMMsImIiIiIiIh8gAE2ERERERERkQ8wwCYiIiIiIiLyAQbYRERERERERD7AAJuIiIiIiIjIBxhgExEREREREfkAA2wiIiIiIiIiH2CATUREREREROQDDLCJiIiIiIiIfIABNhEREREREZEPMMAmIiIiIiIi8gEG2EREREREREQ%2BwACbiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkAwywiYiIiIiIiHyAATYRERERERGRDzDAJiIiIiIiIvIBBthEREREREREPsAAm4iIiIiIiMgHGGATERERERER%2BQADbCIiIiIiIiIfYIBNRERERERE5AMMsImIiIiIiIh8gAE2ERERERERkQ8wwCYiIiIiIiLyAQbYRERERERERD7AAJuIiIiIiIjIBxhgExEREREREfkAA2wiIiIiIiIiH2CATUREREREROQDDLCJiIiIiIiIfMDk7wL4k6ZpuHgxC6qq%2BbsoNx1RFFChQgj3vx9w3/sX979/cf/7D/e9f3H/%2Bw/3fdmJiAjzdxGIbu4WbEEQIIqCv4txUxJFgfvfT7jv/Yv737%2B4//2H%2B96/uP/9h/ue6OZyUwfYRERERERERL7CAJuIiIiIiIjIBxhgExEREREREfnATZ3kjIiIbgRWCMIliOIlCMIlCMJlx/3LEIQsaJoA%2B/VkEaIoAgiCxWKDyQRomghAcPyJ0LRQaFoFqGp5qGoFaFp5ABY/vjciIiK6njDAJiKia5AKUUyBKJ6GJJ1y/Lf/CcJFRzB92RFQ5xZ76yEh3q%2BraaF6sP3v//JQ1VuhKDWgqjWhKDWhqlUASMUuCxEREd04GGATEZFfCEIGJOkwJOkoJOmUHkCL4mmIYhIEwVas7WlaMDQtxNEKHez4HwhAgyBojv%2BAySRAlmVomgZABaA5/lQIQg4E4YojeL8CQdAgCJmQpEwApzy8vhmqWh2KUguKUgOK4gy8a0JRakDTwku0n4iIiOj6wQCbiIhKWSZMpsOQpMMwmw86guqDkKQzRT5L0yRo2q1Q1cpQ1UpQ1Qio6q1Q1XIAQhzBtPMvGN60HkuSgLCwIOTk5EBRPM1Hq0IQsvIF3PY/Ubzi6Iae6mhpT4Eg2CBJiZCkRPdbUyMgyw2hKA1hszWEotwOWW4AIMhjuYmIiOj6wACbiIh8RIEkHYXJ9DdMpoMwmQ5Bkg5Bkk4W%2BgxVjYCiVIOmVYaiRDiC6EpQ1UrQtIrwb5drEZoWBk0LA1DVw7oKBOECJCnFEXCnGoJvUUyHKJ6HxbIJwCYEOWJqTROhqrUhy40gy7fr/1W1JpiHlIiI6PrDAJuIiEpAhSQlwmTaA7P5b5hMe2Ay7YUgZLpfWy2vd5VWlGpQlOpQlBoAijEY%2BpomQdMqQZYrAWji5vEcRxf4E5Ckk5CkkxDFYxDFS44u8kcREPCjvramhUKWm0CWm8Fms/%2Bpai3Yk7ERERHRtYoBNhEReaBBFI/DbN4Dk%2BlvmM17IEl/QxQvF1xTC4CiRDvGIVdzJAGrDk0r54dyX0uCoCh1oSh1XZZpEIR0l6D7BCTpBETxJAQhE2bzNpjN2/TWblUtD1luCputGWTZ/qeqnlrWiYiIqCwxwCYiIgNBSIfJtAtm8w6YzbtgMu2AKKYXWE/TLFCUOlCUGChKbchyDFS1GphJ21sCNK0CZLkCZLmZy3IFopgEkyneMaY7AZKUCFFMh8WyARbLBn1NVY3UA26brQVkuRkvZhAREfkRA2wiopuaDSbTAZhMOx0B9U5IUkKBtTTNDEWp7Qim60CWo6Gq1cGfkdIgQVVrwGqtAaCLY5nN0cKdAJPpKCQpHqJ4EqKYgoCANQgIWAMA0DQBilIPstwcNlsL2GzNoSgNwM%2BJiIiobPAXl4jopqE5WkZ3wWzeCbN5J0ymPRCEnAJrKkoUFKU%2BZLkuFKUeFKUmAHOZl5iczI6LGzGwWp3LciFJx2AyJUCS4mEyHYEonoXJdBgm02EEBi4CAGhaiKNreXNHK3dzx5zdRERE5GsMsImIblCCcBkm025DQC2KqQXWsyfUqudo%2BbSPE2Y34%2BtBIBTldijK7foS%2B9ziR2Ay2QNuSToCQciC2bwFZvMWfT1FqQpZjoXNFgtZjoUs38nPnIiIyAcYYBMR3RBsjqmxnC3TuxzBlXGuZ02THNNC1dVbp1U1CpwS6sagaeGQ5bsgy3c5ljjHcx9xjOk%2BAlE8AUk6A0k6g4CAVfpz7cdErGNMdyxkuTGAAL%2B8DyIiousVA2wioutOniOY3guTaS/M5r8hSf9AEPIKrKmqkY7WaWdAXQcMmm4m/47ntlq7OpblOKZYi3fMW34EopjiaPWOR2DgEgDOcfeNYbM1dUwZ1gSy3BBAoN/eDRER0bWOATYR0TUtGybTfkcgbQ%2BoJekgBEEusKZ9rG3%2Brt7hfigzXduCoCiNoCiN9CWCcMkxjts%2BntueRO2SY4jBbn09TZMcF2uaQJbvcPxvDE0r7483QkREdM1hgE1EdE2wQZKOQZIOw2Q6BJPpMCTpICQpHoKgFlhbVW9xzDcd7cjuHQ1VrQx29aaS0LRykOUWkOUWziUQxVRHsH3MMV1YoiPoPgST6RCAOP35ilJdD7Zl%2BXYoSn0oSm0wMR4REd1sGGATEZUpG4BDMJt3w2I56AikD0OSEiAINrfPUNXy%2BvRY9imy6kDTIgAIZVpyupkIUNVIxzzb7RzLNAjCBUfAfQwm03FH0H0WknQKknQKAQGr9S1omslxAageZLkeNK0BgKYAbgNg8cN7IiIiKn0MsImIfC4TknTSMW/xv3/25FLHANgQGlrwWZoWCEWpAVWtDkWpDkWpBkWpA02rUObvgKggAZp2K2T5VshyS%2BQ5hvwLQiZE8ThMpmOQpOMQRXuwLQg5%2BpRhAS7D/sPDRahqLX0Yg6LUgqLUhKLUgqpWA09NiIjoesZfMSKiYlEhCBcgiikQxRRI0llH4HxCD6pF8byHbQQ5Auh/A2lVrQ5VjQC7eNP1RtNCoSiNoSiNXZdCENIcLdtJkKTTjr9TEITLepdz4Od825IcF5hq5gu87f817ZYyfW9ERETFxQCbiAg2CEIGRDEDgpAOUTzvEkCnQhBSHf9TIIrn3CYYy0/TwqAoVfRutqpaCaoaCSAKoaHVkZ2dB0XRPG6H6PokQNMiIMsRkOVYAIAkCQgLC0Rm5lkAJyGKSZCkM47v2hmI4lkIgg2SdBySdBzAxgJbVdVyUNUoqOptUJQoqGpVKMptjmVRUJQoAMFl%2Bk6JiIhcMcAmouuYFYKQ5eYvE4KQ7XI70xE8ZzgC6XSX2xkQhKxiv7KqhkPTKkBVKzgC6MqOP/ttTXPTBxz2IIOt1HTzEqBp5aEo4QDuyPeYCkG46NIzJNURfJ91/M%2BAKF6CKF4CcLDQV1DV8lDV2xwBt/Mi17//FaUKNO1W8HtIRESlgQE2EZUSDcYAONsl8HUNgLMcAW42RDEHQI7jsVz9P5ANQcjRl9nXySo0KViJS6yFQNNCXYLn8lDVCtC0cKhqeT2gtk99xeqTyLdEaNqtUJRbDVOI/Ssbopjm6GGSpv8JgvP2OQhCLkQxHaKYDmB/oa%2BkaSbHBTHXXiZVoChVHcvsf5pWDkwmSERExcEzRCLyQo6jC%2Bd5vfXX03/7n28D4MJomhmaFgQgEJoW6Lgd5LgdCCAQqhoKTQvVg%2BiCfyEApDIpLxGVRLAjV0H1Qh7XHBfv0lwC8HSI4kVHy/hFCMIFCEI6BEGGJCVDkpKLfEVNC9aDbXtreFWXQLwaFKUGNK0iGIQTEZETA2yim5oGQbjkCJ7POMZD/vvf/pfsaA26ilcxBMBBetDrGgDbbwdA0ywAjP81LcBxO8Bl2b/P41y7RGTvfh4GTQuDqtYqYj3FkWvhoiNhYTpE8YJLIH7B0TJ%2BBYKQrSdkMxdSzWhasJ6o8N%2BkhdWgKNUdFwQ4Pz0R0c2EATbRTcGZOOgILJZ4AIkICzvgmHs506st2IPfClDVMEeLb1iBFmDnMmdrMRDsCIBZ1RDRtULSu6IXLdcl6E4rEICL4jlHIJ4Nk%2BkIgCNut6JpFkc2dPu0ZLIc45jXvq5juAkREd1IeNZLdEPJhcl0BJJk//v39rEC3bVNLt9%2BVb0FmlYRqnorNK0iFOVWRzD97zJ7wMxukER0swiEqlYFUBWKUtg6NsfQmXOOpGznXe6nQBDSIAhWmEzxMJniCzxbVStBUWIcc4LHOALwzK4elgAAIABJREFUulDVGmB9S0R0fWKATXQdE8VkmEx/wWL5EybTXzCZ9hY67lnTAqEo1aFp1WA210JOTiRstiioaiUAgWVbcCKiG4LZMS67aiGPK47W7jOOacmSIUlJEMXTLq3g52A2bzU8S1XLQVHugM12J2T5DsjynVCUOmBXcyKiax8DbKLrhg0m0z6YzX/CbP4LJtNfkKSkAmup6i2OcX/VoCi3QVGqQVGq6dPSSJIAszkIspwDVeU8zEREpUfSp/ADmuZ7LBuSlJwv8Hb%2BXYIo/gaz%2BTd9bU0Lgyw3gSw7A%2B87oSgxYHJGIqJrCwNsomuWDWbzdlgs62E2/wmTaQ8EIcewhqaJUNXakOUGkOV6UJQGjhM5di0kIrq2BTu6hcfAZuh4JEMUT8FkOgpJOgZJOgpJSoQgXIHZvBVm81YEBdnX1LRgyHJTWK33wGZrA5utJYAQP7wXIiJyYoBNdA0RhAuwWP4PAQHrYDavhyheMjyuqrdAUZzBdH3Icl0AQf4pLBERlQITVLU2rNbaLssUiOJpSNJRmEzHIUkJjqA7Ww%2B6genQNBNkuakj2G4Nm%2B1uaNot/nojREQ3JQbYRH6lQZIOwmJZi4CAtTCZ/oIg/NttW1XDIcvNIcuNIMv1oapR4Bg8IqKbjQRVrQlVrenS2q048nAcdPztd4zn3gGzeQeAGdA00TGWuzUUpQ2ALgAC/PYuiIhuBgywicpcLiyW32CxrIXFsg6SdNrwqKJEw2ZrAZutORSlLhhQExFRQRJUtTqs1uqwWu8HoEEUU2Ey7XcJuM/CZNoDk2kPgE8BCAgLi0VeXldYrV0hy3eCvzFERL7FAJuoTKgwm7cjMHAxAgJ%2BhCBc0R/RNAtkuRlstuaw2ZpD0yL8WE4iIro%2BCVDVSFitkbBau9iXCGkwmf6ByXQAZvN%2BiOJpmEw7YTLtREjIu1DVyrBauyAvrytstg7QtHJ%2Bfg9ERNc/BthEpUgUjyEw8FsEBn4LSTqhL1fVCNhsLWGzNYcsNwGnySIiIl/TtFths7WHzdYeVquAsLBM5OZuhSTthMm0C6KYisDARQgMXOQYv90KeXn3wWq9z9GDigkziYiKiwE2kY8JwiUEBPyIwMDFMJu368s1LRg2W1vk5XWEotwOdssjIqKyFQGb7T7k5naFferHf2Ay7YLZvBOSdBpm8%2B8wm38H8CYUpQas1vuRl/cf2Gx3g9OBERF5hwE2kU/IMJs3IihoMSyWnyAIuQAATRMgy81gtXZ0nKCwpZqIiK4FZshyU8hyU%2BTmDoQonoHJtBNm8y6YTPsgSScRFPQlgoK%2BhKpWRl5eD%2BTlPQyb7R4w2CYiKhwDbKKrIAjnEBQ0G0FBCyCKKfpyRakOq7UTrNb20LRb/VhCIiIiz1S1KqzWnrBaewLIhcn0NyyWP2A2b4copiIoaA6CguZAVSvlC7Z5KklE5Iq1IlEJSNJ%2BBAd/hoCApRAEKwD7HNX2cW4doSjR4Ng1IiK6PgVClu%2BGLN8NYBhMpr2wWLY6gu1zCAqai6CguVDVW5GX19PRjbwNeFpJRMSakKgYVFgs6xAU9Bksls36UllugLy8nrDZWgEw%2B694REREPmeGLDeHLDfHv8H2NphM2yCKaQgKmoegoHlQ1YrIy3sYubl9IcstwYvMRHSzYoBN5FEWAgO/QXDw55CkRACApkmw2dogL68nFKW%2Bn8tHRERUFkyQ5VjIciyAF2Ay7YPZvBVm8zaI4gW9G7mi1EZu7qPIy3vU0aOLiOjmwQCbqBCimISgoFkIDJwPUcwAAGhaCPLy7kdeXndoWiU/l5CIiMhfTJDlZpDlZsjJGeoYs70ZZvNWSNIxhIRMRUjIVNhszZGb2xd5eb2Yk4SIbgoMsInykaTDCA6ejoCA5RAEBQCgKFHIy%2BsJq7UTgCD/FpCIiOiaIrm0bA%2BF2bwdFstmfQows3knQkNHw2br7Ai2HwB/S4noRsUAm8hBkuIRHDwVAQHfQxA0AIAs34Hc3J6Q5RbgtCRERESeBMJm6wCbrQME4SLM5t9hsWyCyRQPi2UtLJa10LQw5OX1RG7uE45M5KK/C01E5DMMsOmmJ0kJCA6e5sgIrgIAbLbWyM3tC0Wp4%2BfSERERXZ80rQKs1odgtT4EUTwFi2UzLJaNEMVUBAZ%2Bg8DAb6AotZCb2w%2B5uf2gqjX8XWQioqvGAJtuWqKYiJCQaQgIiHMJrFshN7cfA2siIiIfUtXqyM19Crm5T0CSDsJi2QiL5TdI0nGEhLyLkJB3YbW2Q27uE8jL6wkgxN9FJiIqEQbYdNMRxeMICZmOgIAl%2Bhhrm%2B0uR2Ad4%2BfSERER3chEKEoj5OQ0Qk7O8zCbtyEgYANMpj2wWH6DxfIbNO1Vx5RfTzimwOSUX0R0/WCATTcNUTzpCKwXQxBkAIDN1tIRWNf1c%2BmIiIhuNoGw2TrCZusIQTgHi2UDLJZfIUlnERi4EIGBCx1TfvVDbu7jUNVq/i4wEZFHDLDphicIaQgJmYLAwK9cAuvmjsCac1gTERH5m6ZVQl7eY8jL6wtJOoCAgPUwm39zTPn1DoKD34XNdq%2BjC3kPAMH%2BLjIRkVsMsOkGloOgoM8REvIBBOEKAMBma4bc3MehKA38XDYiIqL/Z%2B/Oo%2BWo6/z/v2rpvr0lGCCKuxJcCKuOSlAJIERFiCgQXEAHBhe%2B8PPM1znOiMqIIiJuCCLooMMgA%2BNXM%2BLGgOMIiqiAShBZVYIOshr05i653V1VXfX743YnNzd3v939qfrU83GOB7kJt99V3Z3U836qqrEjR63W3hob21vSu9qnkF8v379DxeKPVSz%2BWHG8VEFwjOr1ExRFLxOnkANIEwIbFoo1MLBe1erZ8rw/SZJareepXv87RdG%2BhmcDAABzU1YYHqYwPEyu%2B1j7FPLr5bqPqVS6XKXS5e2/309Qs/lmxfHTTA8MAAQ27FIo/Ey12pny/dskSXG8XPX63yoMDxafswkAQDbF8W5qNN6qRuPN8v07VSzeoELhp/K836tW%2B4iq1bMVhoe1TyF/naSS6ZEB5BSBDSt43u9VrZ6lgYFrJElJUlajcbyazaMlDZgdDgAAdImrKNpPUbSfpHerWPyZisUfyvfvUrH4PyoW/0dx/CQ1m8eq0Xgzp5AD6DsCG5nmOH9RpXKeyuV/leNEShJPQfBaNRpvUZIsMz0eAADomYqCYI2CYI1c9%2BEJp5BvUrn8ryqX/1Wt1go1Gm9Wo/EmxfFzTA8MIAcIbGRUoHL5S6pUPi3XHZI0/lnW9fpJiuNnGZ4NAAD0Uxw/XY3G29RovLV9CvmP2qeQb1S1%2BnFVqx9XGL5Cjcab1Wy%2BQUmyk%2BmRAViKwEbmFArXa8mSf5Tn3S9JarVWtG9gtr/hyQAAgFmeomj/9jHBqSoUblax%2BCP5/u0qFH7WvlfLPyoIXqdG4y0KgsPE4TCAbuJPFGSG6/6varUPamDge5KkOF6mRuNvFQSvkuSZHQ4AAKRMWWH4KoXhq%2BQ4T7Q/5usGed7/amDgag0MXK04frKazWPUaBynKHqpuF4bwGIR2MiAhiqVC1SpnC/HaShJPDWbr1ej8RZJVdPDAQCAlEuSXdVsHqdm81h53v0qFn%2BsQuHHct0/q1z%2BksrlL6nVek775mjHqdXay/TIADKKwEaKJSoWv69a7Qx53h8kSVG0v8bG3qU4frbh2QAAQPY47c/Ofp7q9ZPl%2BxtULP5EhcLN8rw/qlL5rCqVzyqK9lSzeZwajeMUx881PTSADCGwkUquu1FLlrxfxeIPJElxvKvq9VMUhgeJ07cAAMDi%2BYqil7U/yquhQuEXKhZvku//Ur5/r3z/Y6pWP6YwfImazWPVbB6rON7N9NAAUo7ARspsaf/0%2BPNynEBJ4revjTpeUtn0cAAAwEolheFqheFqOc6oCoWfq1C4Sb7/axUKv1Kh8CtVqx9UGB6kZvNoBcFaYhvAlAhspESiYvG7qtU%2BIM97SJIUhi9Rvf4uxfHTDc8GAADyIklqCoJXKwheLcf5qwqFn6lY/Il8/x4Viz9RsfgTJcn7FEUHqNl8vZrN1/MRoQC2IrBhnOv%2BUUuWvG/C6eBPUb3%2BToXhKnE6OAAAMCVJdlYQrFUQrJXrPq5C4acqFH4u379PhcItKhRuUa32QUXRi9VovF5B8Hq1WnuYHhuAQQQ2DApUKn1GpdIn5Tj19ung69RorJM0YHo4AACAreL4KVuvxXacTe3P2L5ZnnenfH%2BDarUNkj6iKNqrvbJ9tFqtPU2PDaDPCGwY4fs/lfRelcv3SurcHfxUxfEzzQ4GAAAwiyRZriAYX7F2nMH2avbP5ft3yPfvlu/frWr1E2q1VigMXyfpWEn7S3INTw6g1whs9JXjPKFa7Z9VKl0lSYrjZarX36EwPFicDg4AALImSZYpCI5QEBwhxxnZeuq4798mz9soz7tI0kXaaadlCoLDFQSvUxAcriTZyfToAHqAwEafxCqVrlS1%2Bs9y3UEliSPHeb22bHmrWq2a6eEAAAAWLUmWKAjWKAjWSBpTobBBxeIvVSj8Uq47qFJpvUql9UoSX2H4CgXBEWo2j%2BCztgGLENjoOc%2B7W0uWvFeFwi2SpFZrhRqN01WtvkhSXVJidD4AAIDuqygMX6k4PkiFQlFjY7fLdX%2BhQuFWed6DKhZvVLF4o2q1MxRFe7ZXwV%2BtMHyZOEQHsot3L3poi6rVT6pc/oIcJ1KSlNVovE3N5lHyPF56AAAgLzy1WnspCFaq0ThJrvuwCoVfqFD4pTzvLvn%2BvfL9e1WpnK84fpLC8FA1m2sUhofzedtAxlA56Ili8TrVav8oz3tQkhSGr9TY2DuVJLsangwAAMCsOH66ms03qtl8oxxnRL5/mwqFX8n3b5PrbtbAwLc0MPAtSVIU7admc42C4NWKopeIw3cg3XiHoqtc9xHVau/XwMB3JI1/pMXY2KmKopcZngwAACB9kmSJwvAQheEhklryvN%2B3Y3uDfP%2B37TuT36Fq9TPt1e1XtYP7cCXJU0yPD2ASAhtd0lK5fKmq1XPkOCNKEk/N5hvVaLxFUsn0cAAAABngqdV6oVqtF0o6UY6zWb6/QYXCbSoUOqvbV2tg4GpJUhTt274z%2BWEKwwMkFY1OD4DARhf4/q%2B1ZMn/le9vkCRF0Z4aGzudO2ICAAAsQpKMr1iH4as0vrr9OxUKt8n3b5Pv/06%2B/xv5/m9UqZyvJKkpCFZvDW6OwwAzCGwsmOOMqFI5R%2BXyv8hxYiVJTfX6SQqC10hyTY8HAABgEU%2Bt1p5qtfbUttXt21Uo3C7f3yDXHdTAwLUaGLhW0vintgTBYe3/rZZUNTo9kBcENhYgUbF4TfsmZo9IkoLgENXrpyhJdjY8GwAAgP3GV7cPVRgeKimW5z3QPp38dnne3fK8jSqXN6pcvlRJUlQYvrz9Gd2Ht09Bd0xvAmAlAhvz4rp/Uq32Pg0MXCdJarWeqnr9NEXRiw1PBgAAkFeuWq091GrtoWbzeEljKhTu2Hr9tus%2BrmLxxyoWfyzpQ2q1nqEwPLz9UWAHK0mWGp0esAmBjTkKVS5frGr1PDnOmJLEV7N5nBqN4yUNmB4OAAAAW1UUhgcqDA9UvZ7IdR9SobChfWfyO%2BR5D8nzLlepdLmSxFcUrVKzeXh7dXsfsboNLByBjVkVCj9XrfZe%2Bf69kqQo2kdjY6cpjp9leDIAAADMzFEcP1PN5jPVbB4tqSHfv2vrzdI872EVCj9VofBTSR9RHD9FQbBGzeZrFYaHKkmWmN4AIFMIbEzLcZ5QrfbPKpWukiTF8U6q109p38mSn2wCAABkT0lR9BJF0UskSa77qHz/tvYK9x1y3cdVKl2pUulKJUlBYXiQguA1ajZfy53JgTkgsDGFWKXSFapWz5LrDkqSms0j1Gj8LT/FBAAAsEgcP1VBcJSC4ChJgXz/bvn%2BbSoWb5XrPqJi8QYVizeoVnu/ouiFCoLXKgheqzB8mUgJYEe8K7Adz7tTS5a8V4XCLySNf8TD2Nhp7btNAgAAwF5FRdGLFEUvUqNxilz3YRUKv1Sh8Et53l3y/fvk%2B/epUrlAcbys/Znbr1UQrFGSPMn08EAqENiQ1PlM63NVLn9JjtNSkpTVaLxNzeZRkjzT4wEAAKCvHMXxM9RsPkPN5hvlOKPtu5L/Sr7/S7nuoEql9SqV1itJfIXhwWo216rZPFJJ8hTTwwPGENi5l6hY/I5qtTMmfKb1QarX36Ek2dXwbAAAAEiDJKkpDFcrDFdLasnzfqtC4VcqFG6R5/2visXrVSxer1rtvYqiA9qxfRTXbSN3COwc87zfqlb7JxWLP5IktVpPU73%2B7q03vQAAAAB25KnVWqlWa6Uajbe3TyW/WYXCzfL9%2B1Qo3KJC4RbVah9SFO3Tju21arVWihvlwnYEdg45zrAqlU%2BqXP6iHCdSkhTbn2l9nPhMawAAAMxHHD9dzeZxajaPk%2BM8oULhFhWLN8vz7pTvj/%2BvWj1XrdaKdmwfqyjaV8Q2bERg50qsgYH/p1rtLLnu45KkMDxQ9fopiuOnGp4NAAAAWZcku269K7njDKtQuFWFwi3y/Q3yvI2qVC5QpXKBWq091Ggco2bzOG6mC6sQ2Dnh%2B79Wrfa%2BCXcHf7rq9XdxOjgAAAB6IkmWKgjWKAjWSKqrUPiVisWfyfdvlefdr2r1U6pWP6Uo2kvN5rFqNI5RHO9uemxgUQhsyznOX1Stnq1S6XI5TtK%2BO/ib1WweLalgejwAAADkQllheJDC8CBJYyoUblWx%2BFP5/q/an719t6rVsxVFf9Ne2X6j4vgZpocG5o3AtlakUukyVasfl%2BsOSpKC4FDV6ydxd3AAAAAYVFEYHqowPFSOM9K%2BKdpP5Pu/lu/fplrtNtVqH1IYHqhG43g1m8coSZaZHhqYEwLbQoXCz1Wr/aN8/05JUqu1u8bG3q1Wa2/DkwEAAADbJMmSraeRO86gCoWfq1i8Sb5/59Y7k9dq71cQvE6NxlsUBIeLszCRZgS2RcavZTlLAwPfkzT%2BB1a9fqKC4AhJntnhAAAAgBkkyTIFwZEKgiPlOE%2BoWPyJisUb5Hl/0MDAtzUw8G3F8a7tT795q6JoP3EncqQNgW0Bx/lL%2B2O3vtL%2B2C1XQfBaNRonKkl2Mj0eAAAAMC9JsquazWPUbB4j131AxeINKhZ/LNd9QuXyl1Quf0lRtKcajbeo2Txecfw00yMDkgjsjGuqXL5Ulcqn5bqbJUlh%2BDLV6ycpjp9teDYAAABg8eJ4dzUau6vROFm%2Bv0HF4o9UKNws379XtdqHVa2epTA8VNL1pkcFCOxsSjQw8C1Vqx%2BR5/1R0vh11vX63ymKXmR2NAAAAKAnPEXRSxVFL5XjjKpQ%2BJmKxRvk%2B3epWLzB9HCAJAI7c3z/VtVqH1Sh8EtJUhzvokbjbQqCV4nrrAEAAJAHSVJTELxGQfAaue6jKhZ/pFLJ9FQAgZ0ZrvuAarWPamDgW5KkJCmp0ThOzeYbJfGnCQAAAPIpjp%2BqRuOtBDZSgcBOOdd9TOXyZ1UuXybHCZUkjoLgNWo0TlCS7Gx6PAAAAABAG4GdUuN3Br9A5fKlcpy6JCkM/0b1%2BsmK4%2Bcang4AAAAAMBmBnTKOs1nl8hdUqVwixxmVJEXRSjUaJ7Y/6w8AAAAAkEYEdmqMqlL5ksrlz2/9yK1Waw/V6ycqil4iyTE7HgAAAABgRgS2cXWVy/%2BqSuV8ue4TkqRW69lqNE5QGL5chDUAAAAAZAOBbUygUumrqlY/Ldd9TJLUaj1djcZbFYYHiY/cAgAAAIBsIbD7bovK5StULl8kz3tIkhTHT1aj8VY%2ByxoAAAAAMozA7hPH%2BavK5UtVLn9JrvtXSVIc76JG43gFwWskFcwOCAAAAABYFAK7x1z3YZXLX1C5fLkcZ4skqdV6qprNYxUEh0kqmh0QAAAAANAVBHaPeN7vVKlcoIGBr8txQklSq7VCjcZxCsNXiFPBAQAAAMAuBHaX%2Bf5tqlQ%2Bp2Lxe3KcRJIURfuq0ThWUfQ34q7gAAAAAGAnArsrWioWf6By%2BRIVizdu/WoYHqhG41i1WnsanA0AAAAA0A8E9iI4zl9UKl2pcvkr8rz/lSQliacwfJUajWMUx88yPCEAAAAAoF8I7AXw/dtVLl%2BqgYFvynEakqQkqanZfLWazbVKkicbnhAAAAAA0G8E9pw1NTDwLZXLl6pQ%2BNXWr7Zae6jZPFJBsFpSydx4AAAAAACjCOxZuO6fVC5fplLpq3LdJyRJSeIrDA9Ss3mkWq0XihuXAQAAAAAI7CkFKhb/W6XSVSoWvy/HiSVJcbxczeYRCoJXK0mWGZ4RAAAAAJAmBPZWiXz/NpVKX9PAwH/KdQe3/koU7a9m83UKw1Xi86sBAAAAAFPJfWA7zkMql7%2BmUulr8v3fbf16HO%2BiIHiVguBV3A0cAAAAADCrnAf24dpppxvkOIkkKUkGFIavUBAcqijaT6xWAwAAAADmKueBfb0cR4qifdur1a%2BQVDE9FAAAAAAgg3Ie2H%2Bn0dGDFEV8bjUAAAAAYHFyHthvU5LUJSWmBwEAAAAAZJxregAAAAAAAGxAYAMAAAAA0AUENgAAAAAAXUBgAwAAAADQBQQ2AAAAAABdQGADAAAAANAFBDYAAAAAAF1AYAMAAAAA0AUENgAAAAAAXUBgAwAAAADQBQQ2AAAAAABdkJrAXr9%2BvV7/%2Btdrn3320YEHHqhTTz11u1%2B/8cYb9YY3vEH77LOP1qxZo6uuusrQpAAAAAAA7Mg3PYAkXXTRRbr88st16qmnar/99tPQ0JBuuummrb9%2B%2B%2B2367TTTtPRRx%2BtM844Qxs2bNA555yjYrGodevWGZwcAAAAAIBxxgN748aN%2BuIXv6hLL71Ur3zlK7d%2Bfc2aNVv//8UXX6yVK1fq3HPPlSStWrVKjz76qC688EIde%2Byxct3ULMQDAAAAAHLKeJleffXVeuYzn7ldXE8UBIFuueUWHXnkkdt9fe3atdq0aZPuueeefowJAAAAAMCMjAf2HXfcoec///m6%2BOKLdeCBB2rvvffWiSeeqHvvvVeS9OCDDyoMQ%2B2%2B%2B%2B7b/Xd77LGHpPEVcAAAAAAATDN%2BivimTZt099136/e//70%2B%2BtGPqlAo6Atf%2BIJOPvlk/eAHP9DQ0JAkaenSpdv9d51/7/z6wrxc1WoiKVnE98DCOJIc9r8R7Huz2P9msf/NYd%2Bbxf43h33fD45TND0CICkFgZ0kicbGxnTRRRfpec97niRpr7320mGHHaavf/3revGLXyxJchxnyv9%2Buq/P7bELct25/vdjC36c7gsseJzx793Ny%2BfjOOzeN2sLw97%2BRRj066k09HiLkaVZe4V9gKkULT6GtHnbJDu3z7ZtKhQWflw5kzjuybedkesW%2Bv%2BgC9aNF9IuSpJAjvPzLnwv5M%2B1kj4t6Yj2/18444G90047adddd90a15L05Cc/Wbvvvrvuv/9%2BHXrooZJ2XKkeHh6WtOPK9nw4jqPh4bpardn/1Fu27OYFP073/bpPj/ObTH3vsbH7u/49N27c0vXv2fGbXu7eFD3mQv26Xy/zFMvS84X%2B2Xdf0xP0zv77m56gt2x87mzbphUrqqZH6JpabQ/TI8xDN15In1GS7KTR0XoXvhfyxvdLKpelKPqzRkamPv5ftmxufz4YD%2BwVK1bokUce2eHrSZLIdV0961nPUqFQ0AMPPKDVq1dv/fX7779/63%2B/GK1WrCgy8GPFXOt%2BNYyOdj%2BuAQBAftgU13nWanEaPubP8/4qSYrjXRbdhsZvcnbIIYfoiSee0O9%2B97utX3v88cf1wAMP6AUveIGKxaJWrVql6667brv/7pprrtHy5cu1cuXKns%2B4fPmtPX8MAAAAoBuytXoNmOd5D0uSougFi/5exgN7zZo12muvvfSe97xH1157rX74wx/q1FNP1c4776zjjz9eknT66afrrrvu0plnnqlbb71VX/ziF7V%2B/Xr9/d//PZ%2BBDcyDbafy2Y7nC5PZ/Jrg9PDssXGbAOST6z4kSWq1nr/477Xo77BInufpy1/%2Bsvbee299%2BMMf1vve9z7tuuuuuvzyy1WpVCRJL3rRi3TJJZfozjvv1CmnnKJvfvObOvPMM7Vu3TrD0wMAACDrOD3cJH5SA/M870%2BSpChafGAbvwZbknbZZRd99rOfnfH3HHzwwTr44IP7NBEAAOli82ohq9cAAHMact3HJVmygg0AmB4H5gDSiD%2Bb0ovrr4H56Vx/Hce7KEl2WfT3I7ABpJLtK1rAfBAzQO9wejiQb647fnp4N1avJQIbAFKPuILNbP9hGu9fAEi3zgo2gQ0AQA4QaEgbXpPoHl5MMK9zB/FufESXRGBn0K9NDwAAQFeweg3TbDs9nOuvgfnr3EG81XpeV74fgQ0gtWw/%2BJ4PDtTziecdacNrEoBdWhNWsDlFHMg0DlIwX7xm8mPffe1/vm3/AZrtz58NWL02jTcJzHPdR%2BQ4oZJkQHH8rO58z658FwCZkbWDPtsPwucra88f5i8Pz7Ht72tbn0NbtwtAfhWLP5EkheHLJXld%2BZ4ENqbxG9MDAFvZfjA%2BX3lY3cyrPDyvtr%2BfbX0ObdsuVq8BSC0Vi/8jSWo03t6170pgA8gE2w/KF8K2A968y8Pzafv7OA/PoQ1si%2Bts4s0C83z/drnuJsXxMjWbR3Xt%2BxLYs1i%2B/FbTIwBdx0GgPXgusy8vZyQQ19ll87bZgNVrYGEGBjqr12%2BRNNC170tgA8gM2w/QF4qD3%2BzKy3PHeze7bHuNsnoNQJIcZ1C%2Bf7Ok7p4eLhHYgFG2Hbj0AwfqU8vLKqhN8vJ85eE9a%2Btzadt22RjX2Vy9tuyFhUwqFn8kx2kpDF%2BqVmtlV783gQ3klG0HThjH85oNeXmeiGsAQPokKhb/W5LUaPxt1787gQ0gc/Jw0L4YHPCnV57ONMjD%2B9Tm59K2bWP1Oi0se2Ehkzzvbnk9FPPIAAAgAElEQVTeQ0qSmhqNY7r%2B/QlsTCNbfwD26i8ZG/9CtkUeDt4XI08hlwV5ez7y8P60%2Bfm0bdts/Ls8m3ENpEPn5mbN5rGSal3//gQ2YJjJA5msH0Ttv38%2BDuQXI29hlzZ53P%2B2vydtf05t2zYb4zq7LHtxIZMcZ1SFwk2SpHq9uzc36/B78l0BZMa%2B%2B0q/%2BY3pKRZn//2lX//a9BTpNvGgOevPdxbYFilzYXtYS/Y/r7Ztn61xzeo1sHCFwk/kOE1F0UpF0Ut68hisYAOwQh4O7rvF9hU4k/K6b/Pw/rP9ebV9%2B2yR3bjmBYY0aGlg4FpJnY/mcnryKKxgA7NYsaKqjRu39PQxTK8im378bukc5LOaPTesandHnsOEsLaDjdto4%2Bp1duMaSIdi8QfyvD8ojpeq0XhTzx6HFWwYYOHf5Baw6QArDwf93ZbXldeF6uyvPO%2BzPLzP8vD82riNxHXaWPgiQ%2BY4zpBKpSskSWNjH1KS7NKzx2IFG8BWtqxkS6xmL9Tkg21bXg/dYmOMLARxbQcbt9HGuAaweKXSv8t1hxVFe6tef2dPH4vAhjVqtT00Onq/6TEWzKa4TRNugLY4nEZuZ4QsFGFtB1u30da4ZvUaWBzP%2B62Kxe9LkkZHP6NeJzCBDWA7NoY%2Bkd0deYltW%2BNjsYhrO9i6jcQ1gKm1VC5/SY6TqNF4i8Lw5T1/RAI7c/aXRCn0Wz9udCalJ27TMkc3ccp4d9l2Krmt0dENeQhrKR%2BvAVu3kbhOK0tfcMiUYvEH8v3fKY6XanT0Y315TAIbQK4Q2r0x1YF7GqPb1sDolTzEdV5eE7ZuJ3GdVpa%2B4JApjjOkcvmrkjo3NntyXx6XwAZSJi2rx52DsTTM0guEdu/N9YB%2Bsa8xW8PBJMLaHrZup61hLdkQ10A6lEpXyHFG%2BnJjs4kIbBiyr6Tul1svb3TWr9PE0yYtwd8rhLZ5tgZAFhHWdrF1W4nrtLP0hYdM8bz7VCz%2BtyRpZOSz6mf28jnYmAF/QJqStoOitM3TC/vvn4%2B4AKaSl9d/Hv4sk%2Bz%2BjHbiOu0sfeEhY1oql/9l643NoujAvj46gT2LTZsOMD0CUqSff7Gn7eAobfP0Sl5CA5Dy83q3OTgns3U7V6yoEtepZ%2BmLD5lTLP53329sNhGniMM6Wf887DSz/XTxiSZGB6ePwzZ5iGrJ3ticis3banNYS7bENZAOjvMXlctXSOrvjc0mIrCBFEtj0KZxpl7jOm3YgrC2k83bS1xnhcUvQmRIpGr1k%2B0bm%2B3b1xubTURgA/OU15udTWT7HcanQ2gji/IS1ZLdoTkVm7fX9rCWiGug20qly%2BX7dyuOl2p4%2BHKZSl0CGwb15k7itknzinGaZ%2BslTh9HFhDWdrN5m22Pa3vCWiKukRaFwk0qlb4lSRoZ%2BZJaLXPvM25yBiv1%2Bi%2Bvfv/ln%2BYDqTTP1g95uUkUsiNPr8k83bysw/ZtJq4BzJfrPqhK5UJJ0tjY/1UQHGV0HlawM2l/Sf1aNmOVGbPL60r2RKxqw7S8RLVkd2BOx/Zttj2sJRvj2vIXJTKirmr1E3KcuoLgIG3Z8mHTAxHYwEL1%2B1rstEdsXq/LngqxjX7JU1RL9kfmVPKwzcR1FuXghYkMSFSpfEGe96DieDcND/%2Bb0pC35idAzvVuhdzGj%2BtKe2RLhPZkxDa6LW9RLeUjMifLwzYT1lmVgxcnMqFYvEbF4o%2BVJL6Ghq4w8pFcUyGwgUUwcUfxLES2RGhPZXIYEdyYj7yFdR4Ccyp52O48hLVEXAO95Hn3qFz%2BsiRpy5aPKYpWGZ5oGwIbVrNxFVvKTmRLhPZMWN3GbPIW1VI%2BAnMqednuPMS1nWEtEddIC8fZrGr1PDlOS83mG1Wvn2Z6pO0Q2JiDXt/oLNs3UjP1udhZimyJ0J4NsY2OPEa1lJ/AnCwv252HsJaIa6D3WqpWPyXX/Yui6PkaGfmCJMf0UNshsIEuILLnjtCeHaeS50teg1rKT1xOJS/bTljbICcvVmRCqXSVfP8OJUlVw8NXKkmWmB5pBwR2ZvXzo7qyzdbTxDuyGNkSoT0fBLd98hzVUn7icip52nbi2gY5esEi9QqFn6lU%2BrokaWTkIrVaLzQ80dQI7DnYtOkALV9%2Bq%2BkxkHKmVrGl7Ea2RGgvBKeTZxNRbXoCs/K0/YS1LbL2oi2aHgA95Hl3qVL5jCRpbOxUNZvHGZ5oegQ2UqK312HbvootZTuyJUJ7oaaKNqI7HfIe1B15CsvJ8rbteQlribhOn6zNi/lw3T%2BqVvuYHCdQELxWW7aca3qkGRHYmKNs34isX0yuYkvZj2xp%2BwPSrG%2BLKZxSbgZBvU3ewnKyvG0/YW2bnL2AkWqO82fVah%2BW44wqDA/Q0NDlSnvCpns65Iwdq9hpiGzJjji1aVtMmi78CO%2BFI6anlrewnCxv209Y2yarL%2BCszo3ZOM6warUPt%2B8Y/kINDX1dUsX0WLMisDONG52llenIluxYze5gVbs3CO/ZEdKzy1tUTpbH7c9TWEvEdbpldW7MrqFq9aPyvD%2Bp1Xq6hoauVpLsbHqoOSGwMQ/ZP008D9diT2TjCjCx3XszRaWt8U1Iz08eo3KivG4/YW2rrL6gszo3ZhepWv2kfP8%2BxfEyDQ19S3H8DNNDzRmBjZTJfsR3pGEVu8Om1eyJiO3%2Bm2uIpiXECefuyWtUTpTXfUBY2yyrL%2Bqszo3ZJapULlKh8AslSVlDQ99I7cdxTYfARu70cxU7bZEt2Ruikw98bd3OrCBs7ZDXoJwoz/uAsLZZjl/YSLVS6asqFn%2BoJPE0PHy5ougA0yPNG4E9R3wWdj/Zs4otpSuyJXtXsydjdRtYmDwHZUfe9wFhbbusv8CzPj%2BmMzDwHZVK6yVJIyMXKQiOMDzRwhDYmdfvG53ZEb/9vhabyDaL2AZmlveglNgHEmGdD1l/oWd9fkynULhR5fKlkqTR0bPUbJ5oeKKFI7CRW0T2%2BD/zFpycSg6MIyjHsR/yF9ZSHuPahhe6DduAqfj%2B7apUzpckjY29W/X6PxieaHEIbKSUHSvlk6UtsqX8hnYHwY08ISbHsR/yGdVSHsNasiNMbdgGTMXzfqdq9eNynEjN5jHasuWTkhzTYy0KgY0FsCd%2BTXxsVxojWyK0Owhu2IaYHMd%2BGEdY54ktL3pbtgOTed79qtX%2BWY5TVxAcouHhf5Hkmh5r0QhsK/T7Oux%2BsSfkJ0trZEuE9mQEN7KGkNyGfTGOqM4jW178tmwHJvO8jarVzpTjjCoMD9Dw8FWSBkyP1RUENnLPxCq2lO7Ilgjt6Ux1wM4%2BgklE5Dbsi%2B0R1nlk05vApm3BRK77B1WrZ8pxRhSGL9XQ0DeVJEtMj9U1TpIkiekhTBoc3KIoiuf8%2B9P7UV0mVrD7VRX9eRwTkS0p1ZE9ERE5d%2Bwr9BIRuT32x/byGtVS3sNasitIF7It71AclzU8fH3Xp0H3uO4fVat9UK47pDB8iYaGvqUk2cn0WHOyfPncfgjACjbQxkr2zPioq7ljlRvdRkRuj/2xI8I6z2x7Q9i2Pehw3QdVq32oHdcv1tDQ1ZmJ6/kgsK1h4jrsfl0jbe%2B12B1ZiewOTh%2BfP6Ibc0U8To39sqM8R7VEWNsZojZuEyTJdf/UXrnerCjav71y/STTY/UEgQ1MYGoVW9p2oJTF0JaIxYUguiERjtNhv0yNqM57VHfY%2BAaxcZsgSa77UDuuBxVF%2B2rz5m8rSZaZHqtnCGxkRP9WsU1GtpS91ewOVrW7g%2Bi2H%2BE4PfbN1PIe1RJhvY2tbxJbtwuu%2B3D7tPC/Kor20ubN31GS7Gx6rJ7iJmfzvMmZxI3OdmTXzc46TEa2lK2V7OkQhr3F/k0/gnF27KOpEdXjCOsOm98o3do2bnKWNq77qGq1M%2BS6TyiKVmrz5muUJLuaHmvBuMlZLtn6edgd/b0WOw0r2VK2Q5tTyHtrujBhX/cfkTh37KuZEdbjCOsO298wtm9ffrnuY%2B3Twp9QFL1Qmzd/L9NxPR8ENrqgn%2BFr/w3PJsvqKeOTEdv9M1PAsO8XhzhcGPbbzIjqcUT1RHl40%2BRhG/PJdR9vx/WfFUXPb69cLzc9Vt8Q2MAMTK9id9gS2R2TD7aJvv6ZS%2Bjk%2BfkgBLuD/Tgzgnp7hPVEeXnz5GU788dx/ty%2B5vpxtVp7aGjoGiXJk02P1Vdcg23VNdgdtl%2BL3e/HMn899kQ2hfZ08hx4WZOV54rg6y327%2ByI6u0R1ZPl6U3Uq23lGmzTxk8L/5Bc9zG1Wiu0efN/KY6fZnqsruEa7B7atOmADEQ2uiktK9mSHddmz4YV7uwgrPKJ531uiOrtEdVTydObKU/bmj%2Bu%2B0g7rv/cjutrrIrr%2BSCwkVH9vxY7TZEt5SO0OwhuwDyienYE9dQI66nk7Q2Vt%2B3Nl/HPuf5Q%2B4Zmz9fQ0DWK491Mj2UMgW0lU3cT73f0EtlSvkK7g%2BAGeo%2BgnhuiempE9XTy%2BMbK4zbnh%2Bs%2BOOFzrvds3y08X9dcT0ZgI%2BOI7A7bboQ2H1OFANENzA9BPTcE9fSI6unk%2Bc2V5223n%2Bv%2BsR3XmxVFe2vz5u/m5qO4ZkJgLxDXYU8nHx%2BjlebIlvK1mj0dohuYGUE9d0T1zAjr6eT5TZbnbc8Hz9uoavVMue6womh/bd78LSXJLqbHSgUC21qmThM3wUzUdw4oCO3sILqRV8T0/BDUsyOqZ5L3N1zet99%2Bnvd71Wr/LMcZURj%2BjYaGrlaSLDM9VmoQ2OgBE8FrbuU8ravZ0vYHicT21Ihu2Iignj%2BienZE9Ux407EP8sHz7lOtdpYcZ1Rh%2BDINDX1TSbKT6bFShcAGuiDNkd3BqvbcTRcnhDfSiqCeP4J6bojq2fDmG8d%2ByAPPu6cd12MKw5draGi9kmRunw2dJ06SJInpIUwaHNyiKIoX/N%2Bn/zpsk6eJm6gRswWU9sieiNDuHsIb/URMLwxBPXdE9Wx4E26Tpn3xDsVxWcPD15sexEqed5dqtY/IceoKgtUaGvq6pHz9ubp8%2Bdx%2BmMAKNnooX6eKS9lYye7g9PHuYcUbvUJMLxxBPT9E9Vzwhtwe%2ByMvfP8OVatny3EaCoJDNTT0NUkV02OlFoFtvTzd7KzDfGRL2VrNJrZ7g/DGfBDTi0NQzx9RPRe8MXfEPskT39%2BgavVjcpxAQXC4hob%2BQ1LJ9FipRmCjx0zFrvmPC8vSavZExHbvzRRSxLf9COnFI6YXjqieC96k02Pf5Inv/0rV6sflOIGazSM0PHyFpAHTY6Ue12Av8hpsKQvXYUv5uxY7DY%2B9TRZDezJi2zziO1sI6e4hqBeHqJ4r3rTTy8K%2B4RrsbvL9X6haPVeOE6rZPErDw5dLKpoeyyiuwUaKmF9NNi2rq9kTsbJt3mzBRoD3HxHdGwT14hDU88GbeGbsnzzy/VvbcR2p2Xy9hof/TVLB9FiZQWDnhulrsfN7qnhHFq/Nns7kg1%2BCOx3mEntE%2BPwQ0P1BUC8eUT0fvLHnhv2UR75/s6rV89px/UYND39FxPX8ENhdsGnTARk5TTyv0hPZkh2r2ZOxup0d8wlGm2OccDaHmO4Ognq%2BeNPPHfsqrwqFn6tSOU%2BO01KzeUw7rsnF%2BWKPoY9Mhm76IluyYzV7Mla37dHtCO1WsBPH2UJQdw9RPV/8YTE/7K88KxR%2Bpkrlk3KclhqNdRoZ%2BReRigvDXssV06eJm5auyJbsXM2ebKqDa6I7nwhj%2BxHT3UVQLxR/2MwP%2ByvvCoWbVKl8uh3Xb9LIyJckeabHyiwCu0s4TXyuTEeu6cffkc2r2dNhlRuwA0HdXQT1YhCJ88c%2Bg1Qo/ESVymfacf0WjYxcIuJ6cQjs3EnDKrbpyDX9%2BFPLY2h3sMoNpB8x3RtE9UIRhwvHvsO4QuHHqlQ%2BK8eJ1WicoJGRL4i4XjwCG4aYjlzTjz%2B9PIf2RNMdzBPeQO8R071DUC8GYbg47D9sUyj8SJXK%2Be24frtGRj4vyTU9lhUI7C7KzmniaVjFToP0RrZEaE%2BH8Aa6i5juLYJ6sYjCxWMfYnuFwvWqVD4nx0lUr5%2Bs0dHPibjuHgIbBqUhcDt/6ZieY3qE9twQ3sDsiOneIqa7hSDsDvYjdlQs/o/K5QvbcX2KRkc/K%2BK6uwjs3ErLKnYaIltKzxzTI7QXhvBGXhHTvUdQdxMx2B3sR0yvULhhQly/U6Ojn5HkmB7LOgR2l2XnNPE0SUvcpmWOmU08oCO2F26m%2BCC%2BkTXEdH8Q1N1GDHYP%2BxIzKxR%2BOuG0cOK6lwjsXEvLKnaaZCOyO1jV7o3ZYoUAhymEdP8Q071ABHYf%2B3Tc/pKKpodILd%2B/VZXKp7be0Gx09NMirnuHwEZKpCls0zTL3BDa/cXqN3qNkO4/grpXCMDuY59ub3/TA6Sa79%2BuavUT7c%2B5XqeRkQvFNde95SRJkpgewqTBwS2Korjr3zdbp4mnaRU7bWGbtnnmjthOJwIcExHSZhDTvUYA9gb7dUcT4/rlimNPw8PXG5smbTzvTtVqZ8lxmmo2X6/h4cvF%2BurCLV%2B%2BZE6/jz2MlEnb6nHa5pk7rtVOJ04/zx8i2ixiuh8Iv95h306PleuZeN59qtU%2BKsdpKghereHhy0T69Qd7GUrftdhpi9q0zTN/xHZ2zDXGCPH0IKDTg5juJ8Kvt9i/0yOsZ%2BN597dXrusKgkM0NHSluEa9fzhFvEeniEtZO01cSldkpzVo0zrXwhHcdiPEF4d4TjeCup8Ivt5jH89uprjmFHFJct0/qlb7gFx3WGF4oDZvvloSf5d1A6eII%2BPSumqc1rkWjtVtuy0kEG2OcoI5u4jpfiP2%2BoP9PHesXM/GdR9WrXZmO67/RkND60Vc9x%2BBjQk4VXxuOn8ZpnG2xZl8AEtw5xMRCpMIaZOIvf5gP88PYT0XrvuYarUPyXUHFUX7aGjom0qSpabHyiUCu4c2bTogg6eJp01aI1tK92zdQXAD6CVi2jRCr3/Y1wtDXM%2BF4zzRjutNiqIXaPPm7yhJdjY9Vm4R2JgkbavYUrpD1t7V7KlMdTBMdAOYC2I6DYi8/mJ/LxxhPVeO89d2XD%2BmVmuFhoa%2BpyTZ1fRYuWb8JmdXX321PvCBD%2Bzw9Xe%2B85163/vet/Xfb7zxRn3uc5/Txo0btdtuu%2Bmkk07SCSecsOjH7%2BVNzjqyuYqdtsiWshGxWZix94huIN%2BI6bQg8PqPfb54C43rPN7kbExLlrxfnveAWq1navPm7yuOn2l6KGtl7iZnX/nKV7Rkybahn/KUp2z9/7fffrtOO%2B00HX300TrjjDO0YcMGnXPOOSoWi1q3bp2JcWFEmleyO7IwY%2B%2Bx0g3kAyGdNsSdGez37mDVen5C1WrnyvMeUBw/WZs3f4%2B4TonUBPZee%2B2lnXee%2BlqBiy%2B%2BWCtXrtS5554rSVq1apUeffRRXXjhhTr22GPlum4/R82JNJ4qLmUjYPN12vhcTXcgTngD6UdIpxVhZwb7vfuI6/lJVKlcJN%2B/XUlS1dDQfyqOdzc9FNpSE9jTCYJAt9xyy3ani0vS2rVr9Y1vfEP33HOP9t57b0PTzQ03O%2Bu2LES2RGjPzUwH7sQ30H/EdJoRduaw73uDsF6IUunfVSxeryTxNDR0haKI/ZgmqQnso446SoODg3ra056m448/Xu94xzvkeZ4efPBBhWGo3Xff/qcye%2BwxfgCwcePG1Ad2dqV1FVvKTmRLhPbCEd9A7xDSaUfQmcdz0FtE4UIUi9eqVPq6JGl09PMKwzWGJ8JkxgN7%2BfLles973qP99ttPjuPohhtu0AUXXKDHH39cH/7whzU0NCRJWrp0%2B89x6/x759cXyvP6c3r54OCBWrbs5r48VncR2d1DaHfTbHFAgAPjCOmsIObM4znoj96Gtec5Pf3%2BJnneLSqXvyhJqtc/qCj6W/nGaw6TGX9KDjroIB100EFb//2Vr3ylBgYG9NWvflWnnnrq1q87ztRvlum%2BPldLl5YX9d/nA5HdXYR2PxDgyBtCOksIufTgueif3q9YO46jJUtsPba/R9InJcWSTlG5fI7KZXt/mJBlxgN7KkcccYQuu%2Bwy3XvvvXr6058uaceV6uHhYUk7rmzP1/BwXa1Wbz%2Bma5usrmKnXRYjWyK0zSLAkVWEdBYRcenBc2FGf04HT5JEo6P1vjxWPznOI6pWPyjHaSoMX63R0c9IGjM9Vu4sW1ad0%2B9LZWBP9KxnPUuFQkEPPPCAVq9evfXr998/fvC7YsWKRX3/Vivu%2Bedg2yHNq9hStmN14l/2WZzfTnONGEIcvUBEZxkBly48H2b1/zrrVivp%2B2P2kuNsVq32YTnOkKJof23efLkkT%2BMr2UijVAb2tddeK8/ztHLlShWLRa1atUrXXXedTjrppK2/55prrtHy5cu1cuVKc4PmTtojW8ruanYHsZ01cwkhIhyTEdC2IN7SiefFPG5g1h0NVatny/MeUav1bG3evF5SzfRQmIXxwD7llFO0atUqPf/5z5ckXX/99frGN76ht7/97Vq%2BfLkk6fTTT9eJJ56oM888U2vXrtWGDRu0fv16nX322Zn7DGw%2Bsqsfsh7ZHVlelcdE84kpYtwOBLSNiLb04rlJD8K6e1qqVj8l3/%2Bt4niZhoauVpI8xfRQmAMnSRKj51Gcc845uummm/TYY48pjmM95znP0bp16/S2t71tuxuY3XjjjTr//PO1ceNG7bbbbjr55JN1wgknLPrxBwe39P0U8ewHdtpXsTtsDFMbtwmLQZD3F%2BGcB8Ra%2BvEcpU8awvrlimNPw8PXmx6kCxKVy5doYOBaJUlJmzd/T1F0gOmhcm/58iVz%2Bn3GA9s0E4EtEdn9Y3OQ2rxt6DXCfBuiOc8ItWzgeUqvNIR1hz2BPTDwbZXLX1aSOBoevlJBsNb0SNDcA9v4KeLIqixcjy3ZfZo112tj4XoRlf2KdoIYC0OkZQfPVfqlKazt4vu/Ual0mSRpy5ZPENcZRGAbwrXY/WbLddnTIbZhHuGLdCDOsofnLDsI615ynCdUqXxSjtNSo/Fm1ev/x/RIWAACG4uQlVXsDtsju2PygUoethlAPhFm2cTzli1EdX%2BEqlY/IdfdrCjaRyMjF0hyZv2vkD4EtkF2rGJnMbKlfEUnwQ0g6wiybOP5yybCup/K5S/L9%2B9r3zH8SkkV0yNhgQhsdEHWIlvKz2r2VKY60MnrvgCQLoSYHXges42w7rdi8YcaGPgvJYmjkZEvK46fa3okLAKBbZgdq9hSdiNbIi4lohtAfxFgduH5zD6i2hTP26hy%2BWJJ0tjYBxQErzY8ERaLwAZyvZo9E6IbwGIRXnbiebUHYW2S4wyrWj1XjhMoCF6jsbF/Mj0SuoDATgFWsdOA1ey5me6giv0G5BexZT%2BeY7sQ1enQUqXyWbnuY2q1nqvh4UsluaaHQhcQ2OiyLEe2RGgv1EwHX%2BxLwA5EVj7wPNuJqE6bUulrKhR%2BpSQpa2joKiXJMtMjoUsI7JSwZxVbyn5kS5w23k2zHayxn4H0IK7yh%2BfcboR1Gvn%2BrSqVviZJGhn5vFqtvQ1PhG4isNEjtkS2RAD2GgEO9BdBlW88//YjqtPMdR9RtXq%2BJGls7N1qNt9keCJ0G4GdInatYkt2RLZEaJs214NBnh9gGyIKEq%2BDPCGqsyFUtfoJOc6ownCVtmz5uOmB0AMENnrMlsiWCO20I8SRN8QTJuM1kS9EddaUSv8hz3tAcbxcw8NXSCqaHgk9QGCnjH2r2JJdkS0R2lk33wNQnmeYQixhJrw%2B8oegzjLPu08DA/8pSRoZuVBxvJvhidArBDb6xLbIlgjtvCDI0SsEEuaK10p%2BEdV2aKpSuUCOE6vReJOC4CjTA6GHCOwUsnMVW7IzsiVCG9tbyIEwrx37EERYDF4/%2BUZU26ZUulKe9yfF8W4aHf2U6XHQYwQ2%2BszWyJYIbSzcQg%2Bmea31D8GDXuB1BYmgtpvn3a2BgW9JGv9ILj7v2n4EdkrZu4ot2R3ZEqGN/unWwXleXqvEDEzi9YcOgjo/Gu1TwxM1GicqCF5reiD0AYGdYkR21k08mMpLwCCbOPAHuov3FCYiqPOqXP6qPO8RtVrP0OjoJ0yPgz4hsGFQHiK7g9gGAPsQ0pgKQQ3J9%2B/QwMB3JUkjI19QkuxkeCL0C4GdcnavYkv5iuwOYhsAsoeYxkyIakw0pkrl85Kkev3vFIavMjwP%2BonARgrkMbI7uF4bANKFkMZsiGnMrFz%2BN7nuY2q1nq0tWz5mehz0GYGdAfavYkv5jmxpxwM6ghsAeouQxlwR1Jg739%2BggYFrJUkjIxcrSZYYngj9RmAjRfIe2RNxGjkAdA8xjfkgqLFQ204NHxt7t8JwteF5YAKBnRH5WMWWiOypsLoNALMjorFQBDW6o1T6plx3k1qt52rLlo%2BYHgeGENgZQmRjHMENIM8IaSwGMY3ecJxNGhi4WpI0OnqOpKrZgWAMgY2U6vwFSGjPjuAGYBsiGt1CUKM/yuV/l%2BMECsNXKAiOMj0ODCKwMyY/q9gdrGbP33QHpoQ3gDQhotFtxDTM8Lzfq1i8XpI0OvpxSY7ZgWAUgY0MILK7Y6qDWaIbQC8R0eglghppkKhc/ldJUqPxJkXRiw3PA9MI7AzK3yq2RGT3ykwHv8Q3gNkQ0OgXYhrpVCjcLN%2B/U0lS0pYtZ5keBylAYGdUfiNbIrT7ZbYDZwIcyAciGiYQ1MiCUKXS5ZKksbH/T3H8DLPjIBUIbGQQq9npMJeDbiIcyAYiGiYR08imYvFaed7DiuMnq15/r%2BlxkBIEdoblcxW7g8jOhvkctBPjQO8Q0EgTghrd12qV5Dhh3x7PcUZULn9NkrRly5lKkiV9e2ykG4GNDOOUcbssJACIcoB4RroR0%2Bi9TZsO0M479/cxBwa%2BLscZURStVKPxtv4%2BOFKNwM64fK9idxDa%2BbXYsCDQkXbEM7KGoEb/bNp0gJHHdd6zAP8AACAASURBVN1HNDDwPUmdj%2BXyjMyBdCKwLUBkd3DaOOarG/FCpGMhCGfYgJiGOabiWpLK5a/KcSIFwRqF4WHG5kA6EdiwDKvZ6LduhRKhnm0EM2xHTCMdTIa1JLnugyoUfqokcTQ6%2BjGjsyCdCGxLsIo9GavZyJpeBBrRPncEMrA9ghrpYjqsOwYGviNJCoKj1GqtNDwN0ojAtgiRPRmr2cg7ohHAXBDTSK%2B0hLUkOc6gisXrJUljY%2B8xPA3SisBGDrCaDQDAOGIa2ZCmsO4YGPgvOU6oMHyJoih98yEdCGzLsIo9HVazAQB5Q0wje9IY1uMaKhb/S1Jn9doxOw5Si8C2EJE9E0IbAGArghrZlt64lorFG%2BS6w2q1nq0gWGt6HKQYgY2cIrQBAFlGTMMeaQ7rcfHWm5vV6/9HJBRmwqvDUqxizxWhDQBIO2Ia9kl/VG/j%2B7%2BQ5z2kOH6SGo23mR4HKUdgW4zIng9uhAYASANiGnbLUlh3lErfliQ1GicrSZYYngZpR2ADW008qCG2AQC9RkwjP7IY1pLkeb%2BT79%2BpJPFVr7/b9DjIAALbcqxiLxSnjgMAuomYRj5lNaw7BgbGV6%2BbzeMUx08zPA2ygMDOASJ7MQhtAMB8ENJA1qO6w3H%2BrELhp5I6H80FzI7Azgkie7E4fRwAMBkxDUxkS1h3DAz8jxynpSA4WK3WPqbHQUYQ2MC8saoNAPlCSAPTsS2qt0lUKNwoSWo0TjA8C7KEwM4RVrG7jVVtALALIQ3Mlb1hPc7z7pfnPawkKSkIjjQ9DjKEwM4ZIrtXiG0AyBZiGpgv26N6okLhJklSEBzBR3NhXghsoOuIbQBID0IaWIw8RfU2sYrFn0iSGo3jDM%2BCrCGwc4hV7H4itgGgPwhpoFvyGdXbeN49ct1NiuOlCoI1psdBxhDYOUVkmzD54I/gBoD5IaKBXsl7VE/UWb0OgrWSSmaHQeYQ2DlGZJtGcAPAjohooF%2BI6qlEW6%2B/5vRwLASBDaTGVAeVRDcAGxHRgAkE9ex8/9dy3WHF8XKF4cGmx0EGEdg5xyp22hHdALKGeAbShKien87p4c3mG0QqYSF41YDIzpyZDl6JbwC9RkADaUVML1ZThcLPJUmNxjrDsyCrCGzAKnM58CXCAUyFcAayhqDurkLhl3KculqtZyqKXmZ6HGQUgQ1JrGLny3wOoolxwA7EM2ADgrq3CoVbJEnN5jGSXLPDILMIbGxFZGNHvTgoJ9qB7iCaAdsR1P2UyPfvkCQFwasNz4IsI7CxHSIbvZf1KOAHBOiFrL8vACwWMW2W6/5JrvtXJUlJYfhS0%2BMgwwhsAJiXtIUQwZ8OaXtdAEg7gjpdfP83kqQwXCWpZHYYZBqBjR2wig1kSdbCrts/EMja9gPIp8M1OLhFURSbHgTTKBTulCSF4WrDkyDrCGxMicgG0BsEMQB7TbUq7fuuli0zMAzmIZ5w/TWBjcUhsDEtIhsAAGBqnOJtD8/7gxxnREmyRFH0YtPjIOMIbMyIyAYAAHlGSNtv2/XXLxd5hMXiFQQAAACImM6rTmAHwcGGJ4ENCGzMilVsAABgE0Ia20Ty/fEbnHH9NbqBwMacENkAACCLiGnMxPPul%2BPUFcfL1GrtbXocWIDAxpwR2QAAIM2IaczXtuuvV0tyzQ4DKxDYAAAAyBxiGt3g%2B3dJkoLgIMOTwBYENuaFVWwAANBvxDR6xfMekCQ%2BngtdQ2Bj3ohsAADQSwQ1%2BsFxBuW6g0oSR1G00vQ4sASBjQUhsgEAQDcQ0zDF8/4gSYrjFZIqZoeBNQhsLBiRDQAA5oOYRpp43h8lSVG0j9lBYBUCGwAAAD1BUCPNtgX2XmYHgVUIbCwKq9gAAEAippE9nVPEWcFGNxHYWDQiGwCA/CGokW2hXPdBSaxgo7sIbHQFkQ0AgN0IatjEdf8kx4kUxzspjp9pehxYhMBG1xDZAADYg6CGzTrXX7dae0lyjM4CuxDY6CoiGwCAbCKokSfbbnC2t9lBYB0CG11HZAMAkA1ENfJq2w3OCGx0F4ENAACQE4ODByqKYtNjAMbxEV3oFQIbPcEqNgAA5nVWqH3f1bJlVUlbzA4EpEJTrvtXSVKrtcLwLLANgY2eIbIBAOgvTvkGZue6myRJSVJTkiwzPA1sQ2Cjp4hsAAB6h6AG5q8T2K3WM8QdxNFtBDZ6jsgGAKB7iGpgcVz3z5KkOH6W4UlgIwIbfUFkAwCwMAQ10F3br2AD3UVgo2%2BIbAAA5oaoBnpnW2A/0/AksBGBDQAAYBhBDfRPJ7DjmBVsdB%2BBjb5iFRsAgHFENWBG5xrsVotrsNF9BDb6jsgGAOQVUQ2Y1pLjsIKN3iGwYcTg4IFatuxm02MAANBTBDWQLo4zKMeJlCSe4vippseBhQhsGHS4pB%2BaHgIAgK4iqoH02nb99dNECqEXeFXBKFayAQBZR1AD2cENztBrBDaM45psAEDWENVANjnOsCQpjnczPAlsRWAjFYhsAECaEdSAHRxnRJIUx8sMTwJbEdhIDSIbAJAWBDVgJ9cdlSQlCYGN3iCwAQAARFQDecAKNnqNwEaqsIoNAOgnohrIl05gs4KNXnFNDzDRli1btHr1ar3gBS/QnXfeud2v3XjjjXrDG96gffbZR2vWrNFVV11laEr0Ggc7AIBe2bTpgO3%2BByBfWMFGr6VqBfuSSy5Rq9Xa4eu33367TjvtNB199NE644wztGHDBp1zzjkqFotat26dgUnRa6xkAwC6hZAG0MEKNnotNYG9ceNG/cd//Ife//7366yzztru1y6%2B%2BGKtXLlS5557riRp1apVevTRR3XhhRfq2GOPleumaiEeXUJkAwAWgqAGMJ1tH9O1s%2BFJYKvUlOnHP/5xvfnNb9Zzn/vc7b4eBIFuueUWHXnkkdt9fe3atdq0aZPuueeefo6JPuMgCQAwG077BjA3sRyHu4ijt1IR2N///vd133336fTTT9/h1x588EGFYajdd999u6/vscceksZXvmE3DpYAABMR1AAWwnHG5DixJCmOn2R4GtjK%2BCni9Xpd5513nv7hH/5BtVpth18fGhqSJC1dunS7r3f%2BvfPrC%2BV5qfgZQ%2B509vtc9//g4IFatuzmXo4E9NXw8CvUasWmx5gR7zmkxeDggdv9u2/86CV75vv3LrqHfd9fnudM%2B2vbVq8r8v1Kv0ZCzhj/K%2BqLX/yidtllFx1zzDEz/j7HmfrNMt3X52rp0vKi/nsszvz2/%2BHtf/6wF6MA83D47L9lFpN%2BZphSi9/OHfH%2BxWx2fN0t40zOruG4xxz2fe8liaMlS2baz6EkyXF21rJl1f4MhdwxGtgPP/ywLrvsMl188cUaHR3/idLY2NjWf27ZskU77bSTpB1XqoeHx29QMHlle76Gh%2BupX0Wykee5Wrq0vMD9z2o2um/yCtnMtiz4cRb32rfBfPbzjnjv22Xq993C31%2BYHn/2mMO%2B74%2BlS8tynESjo/Vpf4/nDapSkVqtmoaH%2BbMG8zPXH8oYDeyHHnpIYRjqXe961w6/9va3v1377befrrzyShUKBT3wwANavXr11l%2B///77JUkrVqxY1AytVqwo4g87U9j/6JfZr9Ps7%2BuQ1/7CzOd6Wz6FIF3GL/WpanBwy4TXPu%2BBfuPPHnPY9/3RaiXT/prjNCVJSVLiuUDPGA3sPffcU1dcccV2X7v33nv1iU98Qh/96Ee1zz77qFgsatWqVbruuut00kknbf1911xzjZYvX66VK1f2eWqkQecgmwNoTMTNjjDRVK8H33eniDz%2BLOm2qfe9gUEAYALHCSSNBzbQK0b/ulu6dKkOOGDqA%2BK99tpLe%2B21lyTp9NNP14knnqgzzzxTa9eu1YYNG7R%2B/XqdffbZfAZ2zvFZ2flFTKObWBmfP96DALKns4LN9fDonUz8PPlFL3qRLrnkEp1//vn69re/rd12201nnnmm1q1bZ3o0pACRbTcO4pE2C3lNZvHPKN57AGzDCjb6IXWBfcABB%2Bi3v/3tDl8/%2BOCDdfDBBxuYCFlAZNuBA3rYitc2AKRB0P4nK9jondQFNrBQRHa2EBwAAKCfWMFGPxDYsAo3P0snYhoAAJhGYKMfCGxYidVsswhqAACQPmH7nwQ2eofAhrWI7P4gpgEAQBZsW8HmGmz0DoENqxHZ3UVMAwCArHKczsd0sYKN3iGwYT2uy144ghoAANiDFWz0HoGN3GA1e26IagAAYKeo/c%2BC0SlgNwIbucJq9o4IagAAkAeOE0uSksQzPAlsRmAjl/Ic2oODB2rZsqoGB7coimLT4wAAAPRJ57jHNToF7EZgI9fycNr45BVqn3c9AADIpaT9T1aw0TscaiP3bFvN5pRvAACAqbCCjd4jsIG2iWGaldgmpgEAAOaKa7DRewQ2MIW0xjZBDQAAsFCdU8Qdo1PAbgQ2MIt%2BxzYRDQAA0AudU8RZwUbvENjAPMwlfqeLcMIZAADAnM7HdHENNnqJwAa6jJAGAABII%2B4ijt7jxzcAAAAAcqBzkzMSCL3DqwsAAABADnANNnpv3oF911139WIOAAAAAOihZPbfAizSvAP7uOOO05ve9CZ997vfVRiGvZgJAAAAALqs8/FchDZ6Z96Bfd555ymOY/3TP/2TDjnkEF1wwQV67LHHejEbAAAAAHRJJ33iGX8XsBjzDuw3vOENWr9%2Bvb7xjW/oFa94hS677DIdfvjh%2Bv/Zu/fwKOp7j%2BOf2SUrCAkhkGKDek4JBUxBwJZbq3CMoKKkUJHWekEQ8QgRa21VfEqx5aFglVpFLoJQqlaPLdVylEIrYhs9tWAr2GMFLASPKFAaLiGgJJDdOX%2BE3WRJgJ3duezOvl/Po0lmJss3v0w2%2B8n3N7%2BZOnWqNmxw/h7BAAAAAGBdQwfbMOhgwzlJL3J24YUX6qGHHtIf//hH3XHHHfr73/%2Bu8ePHa%2BTIkXr%2B%2BedVV1dnZ50AAAAAkILoFHE62HBOyquIh0IhtW7dWjk5OTJNU0ePHtUPfvADXX755XrnnXfsqBEAAAAAUkTAhvOSDthbt27VjBkzdMkll2ju3Lm68MIL9atf/Urr1q3TypUr1blzZ82YMcPOWgEAAAAgKaZJwIbzWln9hNWrV%2BvZZ5/Vxo0bVVBQoAkTJuib3/ymCgsLY8f07NlT3/72t3XrrbfaWiwAAAAAJIdVxOE8ywH77rvvVklJiWbPnq2rr75aoVCoxePOPfdcffWrX025QAAAAABIHauIw3mWA/YvfvELfelLXzrjceedd57mzJmTVFEAAAAAYC862HCe5WuwX3jhBX300Uct7tu1a5fuv//%2BlIsCAAAAAHtFb9NFBxvOsRywV65cqYMHD7a47%2BDBg1q5cmXKRQEAAACAvehgw3mWA7ZpnvqEPHTo0CmvyQYAAAAA70SjT9jTKuBvCV2D/Ze//EUbNmyIfbxixQq9/vrrccfU1dVp3bp1Ki4utrdCAAAAAEhZ8MRbAjack1DA3rBhg%2BbPny9JMgxDK1asaPG4oqIi7n0NAAAAIO2YZkMH2zDqPa4EfpZQwL711lt1ww03yDRNffnLX9ayZctUUlISd0woFFLbtm0dKRIAAAAAUkMHG85LKGC3bt1arVu3liStW7dOhYWFXGsNAAAAIINEAzYdbDjH8n2wu3Tp4kQdAAAAAOCghoDNFHE4KaGAPW7cOD3wwAMqLi7WuHHjTnusYRh66qmnbCkOAAAAAOwQvQabDjaclFDAbnprrtPdpiuR/QAAAADgPqaIw3kJBexnnnmmxfcBAAAAIDNEA3bE0yrgb4EzHwIAAAAAmY3bdMENBGwAAAAAWYBFzuC8hKaI9%2BzZU4ZhJPSAhmFo8%2BbNKRUFAAAAAPbiGmw4L6GAXV5ennDABgAAAID0E528e9zTKuBvCQXsqVOnOl0HAAAAADjGNKNTxMMeVwI/4xpsAAAAAFkg2ltkijick1AHuyX/%2BMc/VFlZqbq6umb7Ro8enVJRAAAAAGAvpojDeZYD9tGjRzV58mStX79ehmHINE1JirtGm4ANAAAAIJ0wRRxusDxFfOHChdq1a5d%2B8YtfyDRNzZ8/X8uXL9fw4cP1b//2b/rNb37jRJ0AAAAAkIJob5EONpxjOWCvW7dOkyZNUr9%2B/SRJn/3sZzV48GDNmzdPX/jCF/Tcc8/ZXiQAAAAApCYafbgGG86xHLB37dqlrl27KhgMyjAMHT16NLavrKxM69ats7VAAAAAAEhdQwfbMOhgwzmWA3Zubq4%2B/fRTSVLHjh314YcfxvbV19fH9gEAAABAuoheg00HG06yHLB79Oih//u//5MkDRw4UIsXL9Zf//pX/e///q8WLFignj172l0jAAAAAKQousgZARvOsbyK%2BJgxY2Jd67vuukvXX3%2B9brrpJklSXl6elixZYm%2BFAAAAAJAyFjmD8ywH7Kuuuir2/nnnnaff//73sVt29evXT/n5%2BbYWCAAAAACpMk0WOYPzLAfsk5199tkqLS21oxYAAAAAcEh0kTMCNpxjOWDv3r37jMcUFRUlVQwAAAAAOINFzuA8ywG7tLRUhmGc9pgtW7YkXRAAAAAA2I%2BADedZDtizZ89uFrAPHjyo1157Tf/85z81efJk24oDAAAAADtEb9PFFHE4yXLAvuaaa1rcfsstt%2BjOO%2B/Unj17Ui4KAAAAAOwV7WCHPa0C/mb5Ptinc8011%2BjXv/61nQ8JAAAAADaIBmxu0wXn2Bqw6%2BvrVVNTY%2BdDAgAAAIANmCIO56V8my5JOn78uN5//309/vjj6tmzpx0PCQAAAAC2iV6DzSJncJLlgN2zZ89TriKel5enZcuWpVwUAAAAANgrOnmXgA3nWA7Y5eXlzQJ2KBTSueeeqyFDhqhdu3a2FQcAAAAA9mCRMzjPcsCeOnWqE3UAAAAAgIOi12CzyBmcY%2BsiZwAAAACQjkwz2ltkijicY7mDff/99yd8rGEYmj17ttV/AgAAAABs1tBbpIMNJ1kO2Bs2bNDhw4d1%2BPBhtWrVSvn5%2BaqurlZ9fb1yc3OVm5sbO/ZUi6EBAAAAgLuCTd6PiMm8cILlgP3oo49q6tSpeuCBBzRixAgFg0GFw2GtXr1aDz/8sB599FFdeOGFTtQKAAAAAElqGqjDImDDCZbPqh//%2BMe65ZZbNHLkSAWDDX8FCgaDKisr0y233MKUcAAAAABpxzSbRp%2BIZ3XA3ywH7Pfee0/du3dvcV/37t21devWlIsCAAAAAHud3MEG7Gc5YLdr105vvvlmi/vefPNN7oMNAAAAIA01Rh/DIGDDGZavwf7qV7%2BqZcuWqb6%2BXmVlZerUqZP27dunl19%2BWU899ZTGjx/vQJkAAAAAkAo62HCe5YB9991368CBA1q%2BfLl%2B/vOfx7abpqmvfvWruvvuu%2B2sDwAAAABsQMCG8ywH7FatWunBBx/Ubbfdpg0bNqi6ulr5%2BfkaMGCAiouLnagRAAAAAFLEImdwnuWAHdW1a1d17drVzloAAAAAwCGGTDMgw4jIMMIyTa/rgR9x8zcAAAAAWSIaf5giDmcQsAEAAABkCQI2nEXABgAAAJAlCNhwFgEbAAAAQJaIxh8WOYMzCNgAAAAAsoTR8H%2BDFc7gDAI2AAAAgCxDwIYzLN%2Bmq7S0VIZhtLgvEAgoNzdXvXv31rhx47gvNgAAAIA0Eu0vErDhDMsd7AEDBsg0Te3du1ddunRRnz59VFRUpL179yocDuuzn/2s1q5dqzFjxujdd991omYAAAAAsMw0o41CAjacYTlgX3zxxQqFQlq7dq2efvppPfLII3rmmWf0yiuvKBQKadiwYfr973%2Bvf//3f9fjjz/uRM0AAAAAkAICNpxhOWA/8cQTmjp1qj772c/GbS8qKlJ5ebmWLFmi3NxcjR8/Xu%2B8845thQIAAABAaqIdbFYRhzMsB%2BwPP/xQ7dq1a3FfXl6edu3aJUnq0qWLjh49mlp1AAAAAGAbrsGGsywH7KKiIv3mN79pcd8LL7wQ62xXV1erffv2qVUHAAAAALYjYMMZllcRnzhxombMmKHrrrtOV155pTp16qR9%2B/bpd7/7nf72t79p5syZkqQNGzaoV69ethcMAAAAAMlhijicZTlgf/3rX5dpmnr88cf14IMPxrZ36tRJP/zhDzV27FhJ0u23365QKGRfpQAAAACQkoaAbRh0sOEMywFbkr7xjW/o61//unbs2KHq6mrl5%2Bera9eucffH7tSpk21FAgAAAEDq6GDDWUkFbEkyDEPFxcV21gIAAAAALjDOfAiQhKQC9pEjR/T6669r9%2B7dqq2tjdtnGIbKy8ttKQ4AAAAAgExhOWD/7W9/02233aZDhw61uJ%2BADQAAACC90cGGMywH7Dlz5qhz585aunSpevTowUJmAAAAADJEw%2BJmpknAhjMsB%2Bz3339fP/nJT9S7d28n6gEAAAAAICMFrH5CQUGBE3UAAAAAgMOit%2Beigw1nWA7YN910k55//nmZJveOAwAAAJBJCNhwluUp4pFIRDt27NDo0aP1H//xH8rPz4/bbxiGxo8fb1d9AAAAAABkBMsB%2B6GHHoq9//777zfbT8AGAAAAkN7oYMMZlgP2unXrnKgDAAAAAFxCwIYzLAfsLl26OFEHAAAAADiMdaTgLMuLnAEAAABAZmKRMzgroQ72uHHj9MADD6i4uFjjxo077bGGYeipp55KuIA33nhDixcv1vbt23XkyBF17txZw4YN0x133KHc3NzYcRUVFfrpT3%2BqyspKnXPOORo/frxuuOGGhP8dAAAAANmOgA1nJRSwm96S60y357J6%2B65Dhw6pX79%2Buvnmm5WXl6dt27bp8ccf17Zt2/Szn/1MkrRp0yZNmTJFo0aN0rRp07Rx40bNmjVLoVBIY8eOtfTvAQAAAMhOhhE58V7Q0zrgXwkF7GeeeabF9%2B0wcuRIjRw5MvbxwIEDFQqF9P3vf1979%2B5V586dtWDBApWUlGj27NmSpEGDBmnPnj167LHHNGbMGAUCzHQHAAAAcCYNzUDTJD/AGWl5ZkXvrV1fX69jx45p/fr1uvrqq%2BOOKSsrU1VVlTZv3uxFiQAAAAAyTvjE27SMQfABy6uIS1I4HNaaNWu0YcMGVVdXKz8/XwMHDtSVV16pVq2SekiFw2HV19dr%2B/btWrBggS699FJ16dJF27dv1/Hjx9W1a9e447t16yZJqqysVK9evZL6NwEAAABkE6aIw1mW0/CBAwd06623avPmzWrVqpXy8/NVXV2tFStW6Gc/%2B5mWLl2qgoICy4Vceuml2rt3ryTpkksu0SOPPCKp4RptScrLy4s7PvpxdH%2BygkH%2BeuWF6Lgz/u5j7L3F%2BHuL8fcOY%2B8txt87jL27gsEzLV5mnjguh8tM4QjLAXvOnDn64IMPNHfuXI0YMULBYFDhcFirV6/WAw88oDlz5ujhhx%2B2XMiSJUv06aefavv27Vq4cKFuv/12LV%2B%2BPLbfMFr%2BYTnV9kTl5bVJ6fORGsbfO4y9txh/bzH%2B3mHsvcX4e4exd55pGsrNPdM4N3Sw8/PbSWrreE3IPpYD9h/%2B8AfdddddcQuTBYNBlZWVaf/%2B/Zo/f35ShfTs2VOSdNFFF6mkpERjxozR2rVrY1PBT%2B5U19TUSGre2baqpuaowuHImQ%2BErYLBgPLy2iQ1/h06/Dnu44MHB9tZmu%2BlMvZIHePvLcbfO4y9txh/7zD27sjLayPDMHXkyNHTHpeb23ANdnV1rUzzEzdKg0906JDYH2QsB2zTNPX5z3%2B%2BxX3du3e3fJuullxwwQUKBoPauXOnSktLlZOTox07dmjIkCGxY7Zv3y5JKi4uTunfCocjqq/nyc4riY5/YeGGU%2B5rGrirqgbaUlc24Nz3FuPvLcbfO4y9txh/7zD27giHT5dFGvfV1wdkmnw/YD/LFx58%2Bctf1ptvvtnivj/96U8aMGBAykVt2rRJ4XBY5557rkKhkAYNGqQ1a9bEHbNq1SoVFhaqpKQk5X8P6auwcMNpw/WpjrfyOQAAAMgGTQN1apeZAqdiuYM9ZcoU3XHHHQqHwyorK1OnTp20b98%2Bvfzyy3rllVc0f/58VVdXx46P3nLrVO644w716tVLPXr0UOvWrbV161YtXbpUPXr00LBhwyRJ5eXluvHGGzV9%2BnSVlZVp48aNWrFihWbOnMniBD5kVzhu%2Bjh0tgEAALJd04DNKuJwhmFanNMdvVZail9gLPowJy86tmXLltM%2B3pIlS7R69Wrt3LlTpmmqS5cuGj58uCZOnKh27drFjquoqNAjjzyiyspKnXPOOZowYYJuuOEGK6W36ODBT5iu44FWrQLq0KFts/F3qvNMwG50qrGHOxh/bzH%2B3mHsvcX4e4exd0dBQVsZxnHV1Kw7zVF1ys%2B/RpK0b98umWauO8XBFwoLEztfLHewy8vLU165u6nbbrtNt9122xmPGzp0qIYOHWrbv4v04vSU7sLCDYRsAACArBaOvWeadLDhDMsBe%2BrUqU7UgSzm1vXShGwAAIDsZRjhJh/leFYH/C2lC5hN09SRI0dsWTkc2enkW24BAAAAzmgasC33GYGEJBWw//a3v2nixInq06eP%2Bvfvrz59%2BmjixIl655137K4Pvvaq6/8iq4sDAABkq4aA3TA9nFXE4QzLf7r585//rEmTJqlt27a6%2BuqrY6uIv/baa7rxxhv15JNPavDgwU7UCh%2Bhcw0AAAB3RTvYTA%2BHcywH7Llz56qkpETLly9X27ZtY9uPHDmi8ePHa%2B7cuXrhhRdsLRL%2B4nUXmWuxAQAAsk/jNdgEbDjH8hTxbdu26dZbb40L15LUrl07TZo0Sdu2bbOtOPiP1%2BEaAAAA2apekmSaXH8N51gO2B07dlQg0PKnBYNBFRQUpFwU/CmdwnU61QIAAAA3RDvYBGw4x3LA/sY3vqGf//znOn78eNz2Y8eOafny5fr6179uW3HwDwItAAAAvNQ4RZyADedYPrtadE7zzgAAIABJREFUtWqlXbt2adiwYRo%2BfLgKCwtVVVWltWvXKhgM6qyzztLy5cslSYZhaPz48XbXjAyTruGaa7EBAACySXQVca7BhnOSWuQs6he/%2BEWz/Q8//HDsfQI2AAAAgPRQf%2BItHWw4x/LZtW7dOifqgE%2Bla/caAAAA2SbawSZgwzmWz64uXbo4UQd8KBPCNdPEAQAAsgPXYMMNlhc5AwAAAIDME50ifpanVcDfkvrzzV/%2B8hc988wzqqysVG1tbdw%2BwzD06quv2lIcMlcmdK8BAACQPQyj4S5ILHIGJ1nuYP/1r3/V%2BPHjdfjwYVVWVqpr167q3Lmz9uzZo1atWql///5O1Ak4hj8GAAAAZINoBzvkaRXwN8sB%2B/HHH9c111yjpUuXSpLuuusuPffcc3rxxRf1ySefaPjw4bYXicxCYAUAAED6iXawCdhwjuWAvW3bNg0bNkyGYUiSwuGGxQJ69uypKVOmaMGCBfZWiIxCuAYAAEA6MoxoB5sp4nCO5YB99OhRtW3bVoFAQKFQSAcPHozt69q1qyorK20tEAAAAABS1xCwTZNFzuAcywG7qKhI%2B/btkyR169ZNFRUVsX1/%2BctflJ%2Bfb191yCiZ3L3O5NoBAACQCK7BhvMsryI%2BYMAAvfXWW7ryyis1duxY/fCHP1RlZaVCoZD%2B9Kc/acKECU7UCQAAAABJi04RZxVxOMlywJ46daoOHTokSfrmN7%2Bp2tpavfzyy5KkyZMn6/bbb7e3QmQEOsAAAABIb3Sw4TzLAbugoEAFBQWxjydMmEDXOssRrgEAAJDu6GDDDZavwQYAAACAzEMHG86z3MGWpM2bN%2Bvll1/W7t27VVdXF7fPMAwtWrTIluKQ/uheAwAAIDNwH2w4z3LAXrlype6//34FAgEVFBQoJyd%2BikX0/tgAAAAAkC4MIxqwuU0XnGM5YC9atEhDhw7Vj3/8Y7Vv396JmpAh6F4DAAAgU0QDtkTAhnMsX4P9r3/9S%2BPGjSNcAwAAAMggxyRJptna4zrgZ5YD9gUXXKC9e/c6UQsAAAAAOKJxijjXYMM5lgP2vffeqyVLlmjr1q1O1IMMwfRwAAAAZJboFHE62HCO5Wuw%2B/btq8svv1xf%2B9rXVFhY2GyquGEYeumll2wrEAAAAABSF50iTgcbzrEcsJcsWaLFixeroKBARUVFzVYRBwAAAIB00zhFnA42nGM5YD/99NMaM2aMZs6cqWAw6ERNSHNMDwcAAEDmYRVxOM/yNdiffPKJRo4cSbgGAAAAkDEMIzpFnIAN51gO2BdddJEqKyudqAUAAAAAHEIHG86zHLC/973v6fnnn9err76qY8eOOVET0hjTwwEAAJCJ6GDDDZavwR4zZozq6%2Bs1depUGYah1q3jFwkwDENvv/22bQUCAAAAQOqii5wRsOEcywH7iiuukGEYTtQCAAAAAI4wjLoT77GKOJxjOWA/%2BOCDTtSBDMD0cAAAAGSu6BRxAjacY/kabAAAAADILGaT%2B2C38bgW%2BBkBGwAAAIDPNV2cmWuw4RwCNiCpqmqg1yUAAADAIdEVxCWmiMNZBGwkhOuvAQAAkLmi118HJeV4Wwp8jYANAAAAwNcaO9h0r%2BEsAjYAAAAAn2MFcbgjodt07d6929KDFhUVJVUMAAAAANgt2sEmYMNpCQXs0tJSGYaR8INu2bIl6YIAAAAAwF7HT7wlYMNZCQXs2bNnxwJ2fX29Fi1apNatW%2Buqq65Sp06dVFVVpdWrV6u2tlZTpkxxtGC4z%2B8LnLGCOAAAgL8ZRp0kOthwXkIB%2B5prrom9/8gjj6i4uFiLFy9WINB4CXd5ebluu%2B02ffjhh/ZXCQAAAABJY5EzuMPyImcrV67U9ddfHxeuJSkQCOj666/Xf//3f9tWHAAAAACkimuw4RbLAbu6ulq1tbUt7qutrVVNTU3KRQEAAACAfaIBu43HdcDvLAfskpISLVy4UAcOHIjbfuDAAS1cuFAXXHCBbcUBAAAAQKroYMMtCV2D3dS0adM0YcIEXXbZZRo0aJAKCwtVVVWl9evXS5KWL19ue5GAU1jgDAAAwP8I2HCL5YDdt29f/frXv9b8%2BfP11ltvqbq6Wvn5%2Bbr00ks1efJkff7zn3eiTgAAAABIUnSRM6aIw1mWA7YkFRcX66c//andtSAN%2Bf0WXQAAAPC/xtt0neVxJfA7y9dgA37B9HAAAIBswSJncEdSHezq6mqtWrVKlZWVzVYUNwxDs2fPtqU4AAAAAEgV12DDLZYD9u7du3Xttdfq6NGjqq2tVYcOHXTo0CGFw2G1b99e7dq1c6JOAAAAAEhKNGBzDTacZnmK%2BE9%2B8hN169ZNb775pkzT1JNPPqlNmzbp%2B9//vkKhkJYsWeJEnQAAAACQJDrYcIflgL1p0yZ985vf1FlnNSwQYJqmQqGQbrjhBl177bV66KGHbC8SsBvXXwMAAGSPxinidLDhLMsBe//%2B/SosLFQgEFAwGNSRI0di%2BwYMGKC3337b1gIBAAAAIDV0sOEOywG7Y8eOOnTokCSpS5cu%2Bvvf/x7b9/HHHysYDNpXHQAAAACkKHqbLq7BhtMsL3LWt29fbdmyRZdddpmGDx%2BuBQsW6NixY8rJydGyZcs0aNAgJ%2BoEbMP0cAAAgGzDFHG4w3LAvuWWW7Rr1y5JUnl5uSorK/X444/LNE31799f3/ve92wvEgAAAACSFe1gM0UcTrMcsHv16qVevXpJks4%2B%2B2w98cQTseuwuUUXAAAAgPRDBxvusBywW0KwRqZgejgAAED2abwGmw42nGV5kTNJqqys1N13362LL75YvXr10nvvvSdJmj9/vtavX29rgQAAAACQGjrYcIflgL1lyxZde%2B21euuttzRgwACFw%2BHYvk8%2B%2BUTPP/%2B8rQUCAAAAQCq4BhtusRyw586dqx49emjt2rV66KGHZJpmbN%2BFF16od99919YCAbswPRwAACAbmU0CNh1sOMtywN64caNuvfVWtWnTRoZhxO3r1KmT9u3bZ1txAAAAAJCa403ep4MNZyV1DXZOTk6L2w8dOqRQKJRSQQAAAABgl8YFzuhgw3mWA3aPHj306quvtrjvjTfe0Be%2B8IWUi0L68Mu0ar98HQAAALAqusBZUFLLjULALpZv0zVu3Dh95zvfUZs2bTRq1ChJ0p49e7R%2B/Xq98MILmjdvnu1FAgAAAEAyDOPYiffoXsN5lgP2VVddpZ07d2r%2B/Pl65plnJElTp05VMBjUnXfeqdLSUtuLBFJB9xoAACCbsYI43GM5YEvS7bffrtGjR%2BuNN97Q/v371aFDB1188cXq0qWL3fUBAAAAQNKiHWwCNtyQVMCWpHPOOUdjx45ttt00zWariwNeoXsNAACQ7aJTxAnYcF5Sq4ifyksvvaQRI0bY%2BZBIA5kaUjO1bgAAANinsYPNNdhwXsId7MOHD%2BvVV1/Vvn379LnPfU6lpaUKBBry%2BSuvvKJ58%2BZp%2B/btKioqcqxYAAAAALAmeg32WR7XgWyQUMD%2B8MMPdcMNN2j//v2xKeD9%2B/fXwoULdffdd%2BuNN95QXl6e7rnnHt10001O1wycEd1rAAAASJJhHD/xHh1sOC%2BhgP3YY4/pyJEjuuOOO9SrVy99/PHHWrRoka677jpt375dY8eO1T333KO8vDyn6wUAAACAhBlGtINNwIbzEgrYb731liZPnqz//M//jG07//zzNWnSJF133XX6wQ9%2B4FR9SBNVVQNVWLjB6zISQvcaAAAAjRo62EwRhxsSWuTs4MGDuuiii%2BK2ffGLX5TUcF9sIF0QrgEAANAUt%2BmCmxIK2OFwWGedFf8Xn%2BjHbdu2tb8qAAAAALBF9DZdTBGH8xJeRXzHjh0KBoOxj8PhcGz7yb7whS/YUBrSTbpPE6d7DQAAgJM1drCZIg7nJRyw77///ha333vvvbH3oyuMb9myJfXKAAAAACBl3Acb7kkoYM%2BZM8fpOoCU0L0GAABAS6K36eIabLghoYD9ta99zek6kCHScZo44RoAAACnEp0iLjFFHM5LaJEzAAAAAMhMdLDhHgI2LEunjnE61QIAAID0wyJncBMBGxmLcA0AAIAzO37iLR1sOI%2BAjYxEuAYAAEBioh3skMd1IBsQsJEULwMu4RoAAACJYhVxuImAjaR5EXQJ1wAAALCGVcThHgI2MgbhGgAAAFbRwYabCNhISVXVQFeCL%2BEaAAAAyaGDDfcQsGELJwMw4RoAAADJ4jZdcFMrrwuAf0SDcGHhBlsfDwAAAEgeU8ThHjrYsJ0dwZhwDQAAADtEO9gSt%2BmC8wjYcEQqAZlwDQAAAPvUS%2BI%2B2HAHU8ThmESmjB88OFj19RG3SgIAAEDWOX7iLddgw3kEbDiupY50q1YBdejQVtIn7hcEAACALBGWYTQ0c%2Bhgww1MEQcAAADgU8dj7xGw4QYCNgAAAABfMoz6Jh8xRRzOI2ADAAAA8KnjTd7n6lg4z/OAvWbNGk2ZMkVDhw5V3759VVZWpueee06RSPzCVxUVFRo9erR69%2B6t4cOH69lnn/WoYgAAAACZIbqC%2BFmSDG9LQVbw/M84y5cvV1FRke6991517NhRGzZs0I9%2B9CN99NFHuu%2B%2B%2ByRJmzZt0pQpUzRq1ChNmzZNGzdu1KxZsxQKhTR27FiPvwIAAAAA6cgwoh1srr%2BGOzwP2E888YQKCgpiHw8aNEiffvqpnn32WX37299WKBTSggULVFJSotmzZ8eO2bNnjx577DGNGTNGgYDnjXgAAAAAaachYLPAGdzieTJtGq6jLrjgAtXV1am6ulrHjh3T%2BvXrdfXVV8cdU1ZWpqqqKm3evNmtUgEAAABkkMZFzgjYcIfnAbslb7/9tvLz89WxY0ft3LlTx48fV9euXeOO6datmySpsrLSixIBAAAApL1oB5sVxOEOz6eIn%2Bzdd9/Viy%2B%2BqPLycgWDQR06dEiSlJeXF3dc9OPo/mQFg2n5Nwbfi4474%2B8%2Bxt5bjL%2B3GH/vMPbeYvy9w9i7Kxg0Tvo42sHOUatWfA/gvLQK2FVVVbrzzjvVu3dvTZo0KW6fYbS86t%2BpticqL69NSp%2BP1DD%2B3mHsvcX4e4vx9w5j7y3G3zuMvfNM01Bu7snj3BB3gsGQOnRo635RyDppE7APHz6sSZMmqXXr1lq0aJFycnIkSe3bt5fUvFNdU1MjqXln26qamqMKhyNnPhC2CgYDystrw/h7gLH3FuPvLcbfO4y9txh/7zD27sjLayPDMHXkyNG47cHgpzr7bKm%2BPqjDhz/xqDr4QaJ/oEmLgF1XV6fJkydr3759%2BuUvf6kOHTrE9p1//vnKycnRjh07NGTIkNj27du3S5KKi4tT%2BrfD4Yjq63my8wrj7x3G3luMv7cYf%2B8w9t5i/L3D2LsjHDbjPm5c5CyH8YcrPL8Qob6%2BXt/61re0detWLV26VF26dInbHwqFNGjQIK1ZsyZu%2B6pVq1RYWKiSkhI3ywUAAACQIQwjLEkyzaDHlSBbeN7Bnjlzpv7whz/onnvuUW1trd55553Yvm7duqldu3YqLy/XjTfeqOnTp6usrEwbN27UihUrNHPmTO6BDQAAAOAUGjvYgBs8D9j/8z//I0l6%2BOGHm%2B17%2BumnNXDgQPXr108LFy7UI488opUrV%2Bqcc87R9OnTNXbsWLfLBQAAAJAxoh1sAjbc4XnAfu211xI6bujQoRo6dKjD1QAAAADwj/CJtwRsuIP51QAAAAB8qXGRM67BhjsI2AAAAAB8iinicBcBGwAAAIBPMUUc7iJgAwAAAPAlbtMFtxGwAQAAAPhU5MRbz9d2RpYgYAMAAADwqWjApoMNdxCwAQAAAPgUARvuImADAAAA8KmGgG2axB64gzMNAAAAgE%2BZJ94Se%2BAOzjQAAAAAvhRdRZzYA7dwpgEAAADwqWgHm2uw4Q4CNgAAAACfii5yRuyBOzjTAAAAAPhUQwfbNOlgwx0EbAAAAAA%2BRQcb7uJMAwAAAOBT3Acb7iJgAwAAAPAlw4hOESf2wB2caQAAAAB8yjzzIYCNCNgAAAAAfM7wugBkCQI2AAAAAAA2IGADAAAA8DmmisMdBGwAAAAAAGxAwAYAAADgU1x7DXcRsAEAAAAAsAEBGwAAAAAAGxCwAQAAAACwAQEbAAAAgK8ZBquIwx0EbAAAAAAAbEDABgAAAADABgRsAAAAAD7HFHG4g4ANAAAAwJdMM3jivbCndSB7ELABAAAA%2BFRD3DGMeo/rQLYgYAMAAADwKTrYcBcBGwAAAIBPGSfe0sGGOwjYAAAAAHyp8RrsiKd1IHsQsAEAAAD4FNdgw10EbAAAAAA%2BxTXYcBcBGwAAAIBPEbDhLgI2AAAAAJ%2BKxh0CNtxBwAYAAADgS9FFzgyDgA13ELABAAAA%2BFQ07rDIGdxBwAYAAADgUwRsuIuADQAAAMCXTLOVJMkwjntcCbIFARsAAACAT%2BVIkgyjzuM6kC0I2AAAAAB8KufE21pPq0D2IGADAAAA8CXTDEmSDOOYx5UgWxCwAQAAAPhUtIPNFHG4g4ANAAAAwJdMM3oNNh1suIOADQAAAMCn6GDDXQRsAAAAAL7U2MFmkTO4g4ANAAAAwKeiHWymiMMdBGwAAAAAvtTYwWaKONxBwAYAAADgU00DtultKcgKBGwAAAAAPpXT5H2micN5BGwAAAAAvmSaZ8XeN4xPPawE2YKADQAAAMCncmSaQUkEbLiDgA0AAADAx1pLImDDHQRsAAAAAL5lmm0kSYbxiceVIBsQsAEAAAD4lmnSwYZ7CNgAAAAAfKz1ibd0sOE8AjYAAAAA32rsYBOw4TwCNgAAAADfImDDTQRsAAAAAD7GNdhwDwEbAAAAgG%2BxyBncRMAGAAAA4FumeZYkpojDHQRsAAAAAL7FNdhwEwEbAAAAgG%2BZZhtJkmEc8bgSZAMCNgAAAADfMs2zJUmBwCGPK0E2IGADAAAA8C3TbCtJMowajytBNiBgAwAAAPCxaMCmgw3nEbABAAAA%2BFZ0ijgdbLiBgA0AAADAt0yznSSuwYY7CNgAAAAAfIsONtxEwAYAAADgW42LnH0q6bi3xcD3CNgAAAAAfCsasCW62HAeARsAAACAjwVlmq0lsZI4nEfABgAAAOBrjQud0cGGswjYAAAAAHyt8TpsOthwFgEbAAAAgK9FO9iGUe1xJfA7AjYAAAAAXzPNPElSILDf40rgdwRsAAAAAL7WGLAPeFwJ/I6ADQAAAMDXIpFcSXSw4TwCNgAAAABfi3awDYMONpxFwAYAAADga6ZJBxvuIGADAAAA8LXoFHE62HAaARsAAACAr5lme0kscgbnEbABAAAA%2BFp0ijgdbDiNgA0AAADA1xpv01Utqd7bYuBrBGwAAAAAvmaa7WSahiTJMA56XA38jIANAAAAwOeCrCQOVxCwAQAAAPhe4zTxKo8rgZ8RsAEAAAD4nmkWSJICgX95XAn8jIANAAAAwPcikXxJBGw4i4ANAAAAwPdMs4MkAjacRcAGAAAA4HuRSHtJBGw4i4ANAAAAwPdMkynicB4BGwAAAIDvRSJMEYfzCNgAAAAAfC/awTYMAjacQ8AGAAAA4HvxHWzT22LgWwRsAAAAAL7X2ME%2BLsM46HE18CsCNgAAAIAskCPTzJXEddhwDgEbAAAAQFZgoTM4jYANAAAAICuYZjRg/9PjSuBXBGwAAAAAWSES6ShJCgT2eFwJ/MrzgP3hhx9qxowZGjVqlEpKSjRy5MgWj6uoqNDo0aPVu3dvDR8%2BXM8%2B%2B6zLlQIAAADIZNGAHQzu9rgS%2BFUrrwvYtm2bKioq1KdPH0UiEZlm8yXzN23apClTpmjUqFGaNm2aNm7cqFmzZikUCmns2LEeVA0AAJB%2BCgs3nHZ/hw7JP3ZV1cDkPxlIE5FIgSQ62HCO5wG7tLRUw4YNkyRNmzZNf//735sds2DBApWUlGj27NmSpEGDBmnPnj167LHHNGbMGAUCnjfiAQAAXHOmIO3mv0nwRiYxzWjApoMNZ3gesM8Ujo8dO6b169fru9/9btz2srIy/epXv9LmzZvVq1cvJ0sEAADwjBdh2oqW6iN0I101XoPNImdwhucB%2B0x27typ48ePq2vXrnHbu3XrJkmqrKwkYAMAAN9I90CdiKZfA2Eb6SR%2BkbOI0mBJKvhM2gfsQ4cOSZLy8vLitkc/ju5PVjDID5UXouPO%2BLuPsfcW4%2B8txt87jP2pdejwZ69LcFTTsH3w4GAPK/EG5767gkHjDEd0lGkaMozjysk5INP8jCt1IXukfcCOMoyWf1hOtT1ReXltUvp8pIbx9w5j7y3G31uMv3cY%2B6hXvS7AE/F/TBjmWR1e4Nx3nmkays1NZJw7SDqg/PxqSZ9zuCpkm7QP2O3bt5fUvFNdU1MjqXln26qamqMKhyMpPQasCwYDystrw/h7gLH3FuPvLcbfO9k%2B9n7vUien4Y8Mfu9qZ/u575a8vDYyDFNHjhw947Fnn91RweABHTlSqePHu7tQHfygQ4e2CR2X9gH7/PPPV05Ojnbs2KEhQ4bEtm/fvl2SVFxcnNLjh8MR1dfzZOcVxt87jL23GH9vMf7eyaax98O11G6I/vHB79dqZ9O576VwuPktf08WiXRUMLhNprmL7wlsl/YXg4RCIQ0aNEhr1qyJ275q1SoVFhaqpKTEo8oAAACaKyzcQLhOAuMGtzQudMatumA/zzvYR48eVUVFhSRp165dOnLkiH73u99JkgYMGKCCggKVl5frxhtv1PTp01VWVqaNGzdqxYoVmjlzJvfABgAAniMY2ic6ln7vaMM70YAdDO7xuBL4kecBe//%2B/frWt74Vty368dNPP62BAweqX79%2BWrhwoR555BGtXLlS55xzjqZPn66xY8d6UTIAAIAkgrWTCNpwSmMHe5fHlcCPPA/Y5557rt5///0zHjd06FANHTrUhYoAAABOjVDtrsLCDYRs2Mo0CyVJweBHHlcCP/I8YAMAAGQCgrV36GbDTpFIQ8Bu6GCbklK77S/QFBcwAwAAnAaLb6UPvg%2BwQyTSSZJkGJ/KMA54XA38hoANAADQAoJ1euJ7gtSFFIl0kMR12LAfU8QBAACaIMClP6aMI1WRSKECgYMKBj9WOHyh1%2BXARwjYAAAg6xGqMxMLoCFZDQud/UOBwMdelwKfYYo4AADIWkwDz3x8/5CM6EJnwSABG/YiYAMAgKxEMPMP/lACq6ILndHBht0I2AAAIKsQxvyL7ysSFQ3YdLBhNwI2AADICgTr7MD3GImIvxc2YB8CNgAA8DWCdfbh%2B40zaZwivltSvbfFwFcI2AAAwJcI1tmN7z1OxzQLZJqtZBhhBQJ7vC4HPsJtugAAgK8QrACcWUCmWSjD2KNg8CNFIud5XRB8gg42AADwDcI1muJ8wOlEIp0lSYHATo8rgZ8QsAEAQMZjOjhOhfMCp9J4L%2ByPPK4EfkLABgAAGYtgjURwjqAlBGw4gYANAAAyDsEaVnG%2B4GSNt%2BoiYMM%2BBGwAAJBRCEpIFucOmopEPiNJCga5Bhv2IWADAICMQNcaduAcQlQ0YAcCH0syvS0GvkHABgAAaY1gDbtxPkFqnCJuGEdlGPs8rgZ%2BQcAGAABpiyAEwDk5ikQ6SmKaOOxDwAYAAGmHrjWcxvkFqek0cRY6gz0I2AAAIK0QfAC4pXGhMwI27EHABgAAaYGuNdzG%2BQZWEofdCNgAAMBTBGt4iXMvu3EvbNiNgA0AADxDuAHgpWjAZoo47ELABgAArqNrjXTCuZi94u%2BFDaSOgA0AAFxFmEE64rzMTo0B%2B6AM47DH1cAPCNgAAMAlr6pDhz97XQQANHG2TDNXEtdhwx4EbAAA4DiCNTIBXezsFIl0lsRK4rBHK68LAAAA/kVgAZDuIpHPKBjcTgcbtqCDDQAAHEG4RibivM0%2BjffCJmAjdXSwAQCArQgoADJJJNJJEgEb9qCDDQAAbMGtt%2BAXnMfZpXElca7BRuroYCMtnO4XWVXVQBcrAQAkg0ACIFMxRRx2ImDDVSe/AOvQwfrnRBG8AcB7BGv4VWHhBl5rZIlowDaMvZKOSQp5Wg8yGwEbjnPqxVfTx%2BUXIAC4j3ANwA9MM0%2BmGZJhHFMgsFuRyL97XRIyGNdgw1Fuvfjiuj8AcA/PucgWnOfZwmgyTXyXx7Ug09HBhiO8%2BoUU/XfpaAOAMwgcAPzINAslfcy9sJEyAjZslS4vvAjaAGCvdHl%2BB9zGtdjZIRIplCQFgx97XAkyHVPEYZt0fPHFNEYASB3PowD8LhLpKEkKBJgijtTQwUbKMuGFFx1tALAuE57fAcAOjR1spogjNXSwkZJMe/GVafUCgFd4vgQa8fPgf5FIJ0l0sJE6AjaSlqm/bDK1bgBwA5fWAMhG0Q52IMA12EgNARtJyfQXX7yABIDmeF4EkK0aA/YhGUaNx9UgkxGwYZmfXoD56WsBgGTxR0fgzPgZ8bs2Ms1cSUwTR2oI2LDEj79ceGEJIJvx/AcADVjoDHYgYCNhfn8R5vevDwCa4o%2BLABCvcaGzf3pcCTIZARsJyZYXYdnydQLIbjzXAcnhZ8ffTLNAkhQI7PG4EmQyAjZwEn55AvAznuMAoGWRCAEbqSNg44yy8cVYNn7NAPyNKeEAcHoEbNiBgI3TyuYXY9n8tQPwF57PAODMIpGOkqRgkICN5BGwcUq8IGMMAGQ2utaA/fiZ8i/TbAjYdLCRCgI2cAb8IgWQiXjuAgBrolPEDeNfkuq9LQYZi4CNFvHCLB7jASBT0LUGgOSYZnuZZlCGYSoQ2Ot1OchQBGw0wwuzljEuANIdz1MAkIoA08SRMgI2YAEvXgGkI7rWgLv4efOv6EJngcA/Pa4EmYqAjTj8wjgzxghAOuE5CQDsY5rRW3Xt9rgSZCoCNpAEXtAC8BpdawCwH7fqQqoI2IjhhZo1jBcAr/D8AwDOiETyJUmBQJXHlSBTtfK6AAAAkBiCNQA4yzTzJEmj6T3vAAAZHUlEQVSGQcBGcuhgQxIv2pLFuAFwC883AOA806SDjdQQsIEU8aIXgNN4ngHSDz%2BX/hSJtJckBQL7Pa4EmYop4uAXBACkKZ6fAcBdphkN2HSwkRw62IANeBEMwG48rwCA%2B6KLnBnGEUlHvS0GGYmAneV4AWcfxhKAHbj9FgB46WyZZsMk30Bgn8e1IBMRsAEb8aIYQCp4DgEArxlNFjojYMM6rsHOYryQA4D0wPMxAKSPhoC9j%2BuwkRQ62IDNeKEMwAqeMwAgvURXEude2EgGARtwAC%2BYASSC5woASD%2BNU8S5VResI2BnKV7UAYC3eB4GgPQUieRJ4lZdSA4BG3AIL54BtIRVwgH/4GfZn0wzV5IUCBz0uBJkIgI2AAAu4cU4AKQ/02wrSTKMGo8rQSYiYGchXuC5h7EGEMXzAQBkBtM8W5JkGIc8rgSZiNt0AQDgIII1AGSWaAc7EKCDDevoYAMO48U1kL34%2BQeAzNM4Rbza40qQiQjYWYYXewDgDp5vASAzcQ02UkHABlzAC20gu/AzDwCZi4CNVHANNgAANiFYA0DmawzYdZJqJbX2tB5kFjrYWYQXfgDgHJ5jAcAv2sg0DUl0sWEdARtwCS%2B%2BAf/i5xsA/CQgqeFWXYEAt%2BqCNQRsAABSQLgGAP9pnCZOwIY1BGwAAJJEuAYAf2KhMySLgA0AQBII1wDgX6bZMEXcMA57XAkyDQEbcBEvyAF/4GcZAPwuJCm6kjiQOAI2AAAWEK4BwP9Mk4CN5BCwswQvCAEgdTyXAkC2CJ14W%2BtpFcg8BGwAABJAuAaA7EEHG8kiYAMu40U6kHn4uQWAbJMjSTKMox7XgUxDwAYAAACAJqIdbKaIwyoCNgAAp0H3GsCpVFUN9LoEOMQ0ox1spojDGgI2AACnQLgGgGwVvQabDjasIWADAAAAQBMscoZkEbABAGgB3WsAyGZcg43kELABADgJ4RoAshvXYCNZBGwAAAAAiNPqxFsCNqwhYAMA0ATdawAAkCwCNgAAAAAANiBgAwBwAt1rAACQCgI2AAAAYFFV1UCvSwCQhgjYAACI7jUAAEgdARsAAAAAWmAYptclIMMQsLME05jSB98LAACAdGd4XQAyVMYE7A8%2B%2BEATJ05U3759NXjwYM2aNUu1tbVelwUAAAAAgKTGO6intZqaGt18880qKirSvHnzdODAAc2ZM0fV1dWaO3eu1%2BUBADIc118DsILZaABOJSMC9vPPP6%2BamhqtXLlSBQUFkqRgMKjvfve7mjx5soqLiz2uEAAAAACQ7TJiivjrr7%2BuwYMHx8K1JF1xxRUKhUKqqKjwsDLAGv7iDQAAAPhXRgTsysrKZl3qUCik888/X5WVlR5VBQAAAMCfWD0cycmIKeI1NTXKy8trtj0vL0%2BHDh1K6bHbt28jM0t%2BfsLhUgWDLAznpYKC1l6XIOPEopjZdO6nE8bfWy2Nf8Pz4pc9qwlA5rHy%2B5znfXcEAoZMUwoG7Vn9OxCoP/HeWWrVKiN6kkgTGRGwT8U0TRlGaj9EgUC2/cCc7XUBWS0Y9LqCRtl37qcXxt9b8ePP8yIAa5L5fc7zvvMM4yzl5o6w6dFGSFqgUEgKhWx6SGSFjPhJz8vLU01NTbPthw8fbrGzDQAAAACA2zIiYBcXFze71vrYsWPauXMnK4gDAAAAANJCRgTsIUOGaP369Tp48GBs29q1a3Xs2DENHTrUw8oAAAAAAGhgmGb6L7dQU1OjkSNHqkuXLpoyZYr279%2BvBx98UBdffLHmzp3rdXkAAAAAAGRGwJakDz74QLNmzdLbb7%2Bt1q1ba%2BTIkfrud7%2Br1q29X5UZAAAAAICMCdgAAAAAAKSzjLgGGwAAAACAdEfABgAAAADABgRsAAAAAABsQMAGAAAAAMAGBGwAAAAAAGxAwAYAAAAAwAZZF7A/%2BOADTZw4UX379tXgwYM1a9Ys1dbWel1WRluzZo2mTJmioUOHqm/fviorK9Nzzz2nSCQSO2batGnq0aNHs/9ef/31Zo%2B3bNkylZaWqnfv3hozZow2bNjg5peTcV588cUWx3bu3Llxx1VUVGj06NHq3bu3hg8frmeffbbFx2P8rbnppptaHP8ePXrot7/9rSTOf7t8%2BOGHmjFjhkaNGqWSkhKNHDmyxePsPNePHDmiGTNmaODAgerXr59uv/127dq1y9avKxOcaezD4bCefPJJ3XjjjRo0aJD69%2B%2BvG264QX/%2B85%2BbPVZpaWmLPw91dXVxxzH2jRI59%2B1%2BnmH8GyUy/qf6PdCjRw/961//ih3H%2BQ/4XyuvC3BTTU2Nbr75ZhUVFWnevHk6cOCA5syZo%2Brq6mZhBIlbvny5ioqKdO%2B996pjx47asGGDfvSjH%2Bmjjz7SfffdFzvuvPPOazbOxcXFcR8vW7ZMP/3pT/Xtb39bJSUlWrFihSZNmqQVK1aoR48ernw9mWrp0qXKzc2Nfdy5c%2BfY%2B5s2bdKUKVM0atQoTZs2TRs3btSsWbMUCoU0duzY2HGMv3UPPPCAjhw5Erftqaee0iuvvKLBgwfHtnH%2Bp27btm2qqKhQnz59FIlEZJpms2PsPte/853v6L333tP3v/99tWvXTvPmzdOECRP00ksvqXXr1q583engTGNfW1urxYsXa/To0Zo4caJatWql3/zmN5owYYIWLVqkSy%2B9NO74K664QrfcckvctlAoFPcxY98okXNfsvd5hvFvlMj4//KXv2y27b777lObNm30mc98Jm475z/gc2YWWbx4sdmnTx9z//79sW0vvfSS2b17d3P79u0eVpbZmo5n1OzZs83evXubdXV1pmma5n333WdeffXVp32curo684tf/KL54x//OLatvr7eHDFihHnXXXfZW7SPvPDCC2b37t1b/D5ETZw40bz22mvjtk2fPt38yle%2BYobDYdM0GX87lZaWmpMmTYp9zPlvj%2Bi5apqnHlM7z/V33nnH7N69u/nHP/4xtm3Xrl1mSUmJ%2Bdxzz9n2dWWCM419fX29WV1dHbctEomYX/va18wbb7wxbvull15q/vCHPzztv8fYx0vk3LfzeYbxj5fI%2BJ/so48%2BMrt3724%2B%2BeSTcds5/wH/y6op4q%2B//roGDx6sgoKC2LYrrrhCoVBIFRUVHlaW2ZqOZ9QFF1yguro6VVdXJ/w4Gzdu1OHDh%2BOmXgWDQV111VWqqKg45V/scXrHjh3T%2BvXrdfXVV8dtLysrU1VVlTZv3iyJ8bfLxo0b9fHHH6usrMzy5zH%2BpxcInP5Xlt3nekVFhfLy8jRkyJDYcUVFRbrooouy7nfGmcY%2BGAyqffv2cdsMw1DPnj3jpscmirGPd6bxTxTnfnKSGf9Vq1bJMIxTXspyOow/kNmyKmBXVlY2myoVCoV0/vnnq7Ky0qOq/Ontt99Wfn6%2BOnbsGNu2c%2BdOfelLX1KvXr10zTXX6NVXX437nOj3oGvXrnHbi4uL9cknn2jv3r3OF57BRo4cqQsuuECXXXaZFi9erHA4LKlh3I8fP95sXLt16yapcdwZf3usWrVKbdq00WWXXRa3nfPfeXaf65WVlfrc5z4nwzCaPR6/M84sEolo06ZNzX7vStLLL7%2BsXr16qV%2B/fpo0aZLef//9uP2MfXLsep5h/FP329/%2BVv3799c555zTbB/nP%2BBvWXcNdl5eXrPteXl5OnTokAcV%2BdO7776rF198UeXl5QoGg5IaOtq9e/dWt27ddPjwYf3Xf/2XysvL9dhjj%2BnKK6%2BU1PD9CYVCza4tinZFqqurW/xFle0KCws1depU9enTR4Zh6LXXXtOjjz6qvXv3asaMGbFz%2B%2BRzP/pxdD/jn7r6%2Bnr97ne/02WXXaazzz47tp3z3x12n%2Bs1NTVx6xo0fTx%2BZ5zZM888ow8%2B%2BEAzZ86M215aWqoLL7xQRUVF%2Buijj/TEE0/o%2Buuv18qVK3XeeedJEmOfBDufZxj/1GzdulX/%2BMc/mp37Euc/kA2yKmCfimmazf5KiORUVVXpzjvvVO/evTVp0qTY9ptvvjnuuNLSUl133XWaN29e7Be/pBa/D9Epa3yPWnbJJZfokksuiX188cUX66yzztJTTz2l22%2B/Pbb9VOPXdDvjn5o//elP2r9/f7MpgZz/7rLzXE/ksdDcW2%2B9pYcffli33HKL%2BvfvH7dv%2BvTpsfe/9KUv6Stf%2BYpGjBihZcuW6Qc/%2BEFsH2Nvjd3PM4x/8l5%2B%2BWXl5OToiiuuaLaP8x/wv6yaIp6Xl6eamppm2w8fPtxiZxvWHD58WJMmTVLr1q21aNEi5eTknPLYQCCgyy%2B/XJWVlbHbpOXl5amurq7ZrSqi37OTr%2B/DqY0YMULhcFhbtmyJjdvJf/WOjmv03Gf8U7dq1Srl5%2Bfr4osvPu1xnP/OsPtcP9XvjFPNhkKDrVu3asqUKRo2bJjuueeeMx7/mc98Rl/84hf13nvvxbYx9qlL5XmG8U%2BeaZpavXq1LrnkEuXn55/xeM5/wH%2ByKmAXFxc3u3bl2LFj2rlzZ4vXiCFxdXV1mjx5svbt26elS5eqQ4cOZ/yckxdtin4PTv4eVVZWqm3btnG3nULizj//fOXk5GjHjh1x27dv3y6pcdwZ/9TU1tZq3bp1uvLKK0/7x6Uozn/72X2uFxcX64MPPmj2vdq%2BfTu/M05h586duvXWW1VSUqKHHnoo4W5bSz8PjH3qkn2eYfyT9/bbb2v37t2WFrrk/Af8JasC9pAhQ7R%2B/XodPHgwtm3t2rU6duyYhg4d6mFlma2%2Bvl7f%2Bta3tHXrVi1dulRdunQ54%2BdEIhH9/ve/1%2Bc///nYtWAXXXSRcnNztXr16thx4XBYa9as0dChQ5kWZcHq1asVDAZVUlKiUCj0/%2B3dfUyV5R/H8TdienhQUElJMk2Ss5mUbBGYJMZWPsR0FaabgSUTBwIOHzKmWTmWGuFQjJhJDAsbo6yNI6grgrAFucAJ9k%2B4pDiDhExS5OHw8PvDefqdH/jjwaNofl4bG1znOvf9va7dO4fPOdd93wQGBlJYWGjTx2Qycf/99zNz5kxA83%2BzioqKaGlpGdA/VTr%2Bbw17H%2BvBwcH8/ffflJaWWvvV19dTUVGh94w%2BNDY2snr1ajw8PEhPT%2B91X98b%2BeOPP6ioqMDX19faprm/eTfzOqP5H7r8/HycnZ173fv9RnT8i/z7OL793yd8/MvNmDGDL774gtLSUiZNmkRlZSXvvvsuzz77LCtWrBju8u5ab7/9NiaTifXr1zNx4kQaGhqsP66urjQ2NrJu3TosFguXL1/m7NmzJCUlUVlZyTvvvGP9NNbR0RFHR0cyMjIwGAy0t7ezd%2B9eKisree%2B99/Dw8Bjmkd6ZIiMjuXDhAleuXKG2tpaPP/6YnJwcwsPDrefdTZkyhYyMDOrr63FxcSE/P5%2BsrCwSExOZNWsWoPm/WXv27KG9vZ3ExESbMGw2m3X820lrayvffPMNNTU1fP/99zQ1NeHp6UlNTQ3jx4/HycnJrse6p6cn1dXV5ObmMmnSJOrr69m%2BfTsGg4EdO3YwcuS9cxmT/ubewcGBiIgIGhoa2LZtG21tbTbvBdcv0GcymThw4ABtbW389ddf/PDDD2zdupWOjg527txpXaKsubfV3/xfvHjRrq8zmn9bA3ntgWtfOGzdupVnnnmGxYsX99qOjn%2BRe4NDzz12c9Vff/2VpKQkfvrpJwwGA6GhoWzatKnXFTVl4EJCQjCbzX0%2BdujQIYxGI4mJiZw9e5aLFy9y3333MWvWLKKiomwuzgXXlkllZmaSk5NDU1MTPj4%2BbN68mcDAwNsxlLtSUlISpaWlNDQ00N3dzbRp01i2bBnh4eE2Qa%2BkpIQ9e/Zw7tw5PD09ee2111i5cqXNtjT/Q9Pc3MzcuXNZtWpVr3NOL126pOPfTurq6nrd/uy6Q4cOERAQANj3WL9y5Qq7d%2B/m%2BPHjWCwWAgICePPNNwe0UuffpL%2B59/LyuuHjgPU2RKdPnyYlJYVffvmFy5cvM2bMGAIDA4mPj%2B916yjN/T/6m/9b8T6r%2Bf/HQF97iouLWbt2LQcOHOjzm2Yd/yL3hnsuYIuIiIiIiIjcCvfUOdgiIiIiIiIit4oCtoiIiIiIiIgdKGCLiIiIiIiI2IECtoiIiIiIiIgdKGCLiIiIiIiI2IECtoiIiIiIiIgdKGCLiIiIiIiI2IECtoiIiIiIiIgdKGCLiMgNHTlyBKPRaP2ZOXMmQUFBJCQkcP78%2BWGvq66u7v/2S0tLw2g03qaq%2BldSUkJaWlqfjxmNRnbs2HGbKxIRERF7GjncBYiIyJ1v586dTJ8%2Bnfb2dioqKsjIyKC8vJzCwkLc3NyGu7y7RklJCTk5OcTFxQ13KSIiInILKGCLiEi/ZsyYga%2BvLwABAQF0dXWRlpbG119/zUsvvTTM1YmIiIjcGbREXEREBu162P7zzz97PVZQUMDy5cuZPXs2fn5%2BREZG8vPPP9v0qaqqIiEhgZCQEB577DFCQkLYsGEDZrO51/ZOnz7NihUr8PX1JSgoiJSUFDo7O2%2Bq/oHU%2BMYbb%2BDn50dtbS1r1qzBz8%2BP4OBgdu3aRUdHh03fhoYG4uPj8fPz44knnmDjxo2cOXMGo9HIkSNHrNvLyckBsFl2/7/L3L/66isWLVrE448/zpIlS/j2229vaqwiIiJy%2B%2BgbbBERGbTroXDatGk27RkZGaSmpvLiiy8SHR2NxWIhMzOTlStXkpeXxyOPPAKA2Wzm4Ycf5vnnn8fNzY3GxkY%2B%2B%2BwzwsLCOHr0KOPHjwegpqaGV199FS8vL3bt2oXBYODw4cOYTKYh1z7QGgEsFgvR0dGEhYWxevVqTp06RXp6Oq6ursTGxgJw9epVIiIiaG5uZtOmTUydOpXS0lISEhJs9hsTE8PVq1c5fvw4ubm51vaJEydafy8uLqaqqor4%2BHicnZ05ePAgsbGxHDt2jClTpgx5zCIiInJ7KGCLiEi/uru76ezstJ6D/eGHH%2BLv709ISIi1T319PWlpabzyyits27bN2v7UU0%2BxYMEC9u/fT2pqKgALFy5k4cKF1j5dXV3Mnz%2BfuXPnYjKZiIiIAOCDDz6gp6eH7OxsPDw8AJg/fz6hoaFDGsdgaoRrATsuLo5FixYBMGfOHKqrqzGZTNaA/eWXX1JbW8tHH33EvHnzAAgKCqK1tdUmSD/00EPWMcyePbvP%2Btrb28nKysLV1RWARx99lKeffprCwkKioqKGNGYRERG5fRSwRUSkXy%2B//LLN397e3qSnpzNy5D9vIydPnqSzs5OlS5faLOEePXo0/v7%2BlJeXW9taWlpIT0/nxIkTmM1murq6rI%2BdO3fO%2Bnt5eTlz5syxBlMAR0dHFi9ezP79%2Bwc9jsHUCODg4GDzIQJcW95dVlZm/fvUqVO4uLhYw/V1oaGhNgF7IAICAqzhGsDDw4MJEyb0uXReRERE7jwK2CIi0q/du3fj7e1NS0sLBQUF5ObmsmHDBg4ePGjt09TUBEBYWFif2xgx4p/LfmzcuJGysjJiYmLw9fXFxcUFBwcHoqKiaG9vt/a7dOmSTbi%2Brq%2B2gRhMjQBOTk6MHj3apm3UqFEDqnHChAmDrs/d3b1X2//uT0RERO5cCtgiItIvb29v64XNAgMD6e7uJi8vj2PHjlmXeo8bNw6Affv2MXny5Btu6/LlyxQXFxMbG2uz7Lmjo4Pm5mabvu7u7tZQ/N/6ahuIgdY4GO7u7pw5c6ZX%2B1BrFBERkbuXAraIiAza5s2bOXHiBPv27eO5555jxIgRBAUFMXLkSH777TcWLFhww%2Bc6ODjQ09PDqFGjbNrz8vJslorDtSXTRUVFNDU1Wb8l7urqoqCgYEh1D7TGwfD396ewsJCSkhKCg4Ot7UePHu3V9/qY29raMBgMdtm/iIiI3DkUsEVEZNDc3NyIiooiOTmZ/Px8li5dyoMPPkh8fDypqan8/vvvzJs3j7Fjx9LU1ERVVRVOTk7Ex8fj6uqKv78/mZmZjBs3Di8vL3788Uc%2B//xzxo4da7Of6OhoioqKWLVqFevWrcNgMJCTk0Nra%2BuQ6h5ojYPxwgsvkJ2dzeuvv8769euZOnUq3333HSdPngRsl537%2BPgAWC%2BINmLECIxGY68PG0REROTupPtgi4jIkISHhzN58mTS09Ot3zyvXbuWvXv3cv78ebZs2UJkZCTvv/8%2BZrMZf39/63NTUlIICAggOTmZ2NhYqqurycrKYsyYMTb78PHxsV5Ve8uWLWzfvh2j0UhMTMyQ6x5ojQPl7OxMdnY2Tz75JMnJycTFxVFfX89bb70FYDOm0NBQli1bxuHDh1m%2BfDlhYWFcuHBhyGMRERGRO4tDT09Pz3AXISIi8m9z/X7bxcXFeHp6Dnc5IiIichtoibiIiMhN%2BvTTTwGYPn06FouFsrIyPvnkE5YsWaJwLSIicg9RwBYREblJBoOB7Oxs6urqsFgsPPDAA6xZs4bo6OjhLk1ERERuIy0RFxEREREREbEDXeRMRERERERExA4UsEVERERERETsQAFbRERERERExA4UsEVERERERETsQAFbRERERERExA4UsEVERERERETsQAFbRERERERExA4UsEVERERERETsQAFbRERERERExA7%2BA3BcTQL/K/PVAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3wT9f8H8NddVidlWChUdstGRYYiQ5AlMlSm%2BFVRZAkIrq8yBAFRloqKXwdLEAQriDIE%2BSkIskSWgKzSMltoodACXUkud78/kp53bdqkJW0Yr%2BfjkUeTy%2BX6yeXyyb3v8/m8P4KiKAqIiIiIiIiI6IaI/i4AERERERER0e2AATYRERERERGRDzDAJiIiIiIiIvIBBthEREREREREPsAAm4iIiIiIiMgHGGATERERERER%2BQADbCIiIiIiIiIfYIBNRERERERE5AMMsImIiIiIiIh8gAE20Q2aNWsWateujdq1a2PcuHE3vD1JktTt1a5dG0lJST4oJWn5%2BjMjKooPPvhAPQ4nTJjg7%2BKQD1mtVl09funSJX8XifwgPj5ePQYaNmyY73qsCwqvT58%2B6j77%2Beef/V0cIh2jvwtAN4fRo0fjxx9/zPd5k8mEkJAQREREoH79%2Bmjfvj1at24Ng8FQgqUkopvNG2%2B8gTVr1uT7fO66o0OHDmjdujVEkdd3iYiI6PbDAJu8YrfbkZqaitTUVBw9ehQrVqxAjRo1MH36dNxzzz3%2BLh7doc6cOYOOHTsCAAwGA44cOeLnElFu7uqOqKgoTJ8%2BHQ0aNPB38YiIbglWq1V3vrVt2zaEh4f7sUR3Jn4O5A0G2JRHWFhYnq5MNpsNycnJOHPmjLrs5MmT6N%2B/PxYtWsQgm4hQunTpPEGzu7ojLi4Ozz77LJYsWYL69euXdDGJiIiIig0DbMqjdu3amD9/vtvnzp07h5kzZ2LDhg0AgMzMTIwdOxarV69ml0%2BiO1zdunXzrTvOnj2LGTNm4NdffwXgrDvGjBmDVatWQRCEkiwmUbGzWCw4fvy4v4tBt4g33ngDb7zxhr%2BLQUQ%2BwoiICqVy5cr45JNP0LZtW3XZiRMnsHXrVj%2BWiohudlWqVMHs2bPRunVrddnx48exY8cOP5aKiIiIyLcYYFOhCYKAkSNH6pb9%2BeeffioNEd0qBEHAyy%2B/rFvGuoOIiIhuJ%2BwiTkVSt25dBAUFITMzEwCQmJhYqNf/%2Beef2LBhA3bv3o1Lly4hIyMDZcqUQVRUFNq2bYtevXohKCjIq22dOHEC27Ztw969exEXF4eLFy/CarUiNDQUERERaNy4Mbp374577723UGWUZRmrV6/GmjVrcPz4cVy9ehXh4eGIiorCk08%2BiY4dO95UWdTj4%2BOxdu1abN%2B%2BHefPn0daWhpCQkJw9913o2XLlujduzciIyML3EZ%2BScMuXryI5cuX47fffsP58%2BeRnZ2N8PBwNG3aFM899xzq1q3rdTntdjtWrlyJdevWIS4uDteuXXO7X2fNmoUvv/wSANCrVy%2B899576jaWL1%2BOt99%2BW7ddh8OB2rVru/2fo0aNwrBhwzyWbc%2BePYiJicGBAweQlJSEgIAAVKlSBY888giee%2B45hISEeP0%2B87No0SK8//77AIDIyEhs3LjR6y7SY8aMwcqVKwEAjzzyCL744os866Snp2PVqlXYvHkzYmNjkZaWBkmSEBAQgPDwcFSrVg333HMPHnnkEdSpU%2BeG309hNWjQABaLBVarFQCQkJBQqNfv3LkTGzZswJ49e3R1R3R0tFp3BAYGerWt2NhYXd1x6dIlXd3RpEkTdO/evdA5JhwOh1p3xMbGqnVHdHS0eowXx5Ca%2BPh4PPbYYwAAs9mMQ4cOAXB2z4%2BJicEff/yBCxcuwGazoUqVKujUqRNeeOGFPMd1eno6li5dil9//RXx8fGw2%2B0oX748WrRogUGDBqFy5cpelceX%2Bze/93b69GnExMRg27ZtuHDhAhwOByIjI/Hwww%2BjX79%2BuPvuu/2yXW8TIX3wwQeYO3cuAKBv376YPHkyAGdd9N133%2BHgwYNqXVS1alW0a9cOzz77LIKDgz3usxznzp3DsmXL8Mcff%2BD8%2BfMQBAERERFo3rw5%2Bvbti%2BjoaABAixYtkJKSAgCIiYnBfffd5/X/8CQ5ORlLly7Fpk2bcP78eQAochleffVVrFu3DgDw%2BuuvY/DgwR7/f2He28GDB7F9%2B3bs378f8fHxuHLlCux2O0qVKoW7774bTZo0Qa9evVCjRo3C7YQC5HccAMAff/yBQYMG5XlNy5Yt3W4r5/VbtmxR901QUBC2bt3q9W/YJ598gs8//xwAcM8992D58uWFej9a7vZ9WloaVq5ciV9%2B%2BQUJCQlIT09HeHg4mjVrhj59%2BqBRo0ZF/n8F2bFjB9atW4c9e/YgJSUFNpsN5cqVQ61atdC2bVs88cQTCAgIcPvaon4OdGdigE1FIggCQkND1QD7%2BvXrXr0uISEB48ePd9st9OLFi7h48SJ27NiBOXPm4P3339d1J3Wne/fu%2BY5z02YuXrJkCR599FFMnTrVq8A9OTkZo0aNwv79%2B3XLExMTkZiYiC1btqB58%2Bb46KOPPG6ruGVnZ2PatGn4/vvv4XA4dM/l7INDhw5hwYIFGDFihFcnI1obN27EmDFjcPXqVd3yc%2BfO4dy5c/jpp5/w5ptv4oUXXvC4rVOnTmHkyJGIjY3VLff3frXZbJg6dSqWLl2qW261WnHo0CEcOnQI3333HebPn6%2BeCBZVly5dMH36dDgcDiQmJmLfvn1o3LixV2XMGb8MAN26dcuzzvbt2/HWW2%2B5nXM3PT0d6enpOHXqFH7//Xd88sknWLlyZYknGRNFEaGhoWqA7W3dce7cOYwbNw67du3K81xO3bF9%2B3bMmTMH06ZNQ4sWLfLdlizLePzxx/Mchzm0dcfixYvRpUsXvPfee14F7hcuXMCoUaNw4MAB3fKcY3zz5s1o2bIlPvjgA4/b8oWffvoJ77zzDrKzs3XLT5w4gRMnTmDt2rVYsmSJGvzt378fI0eOxMWLF3XrJyQkICYmBqtXr8Znn32W70klULz7V2v58uWYPHkybDab2/e2dOlSTJgwAU8%2B%2BeRNsV1v2Gw2TJkyBTExMbrlVqsVBw8exMGDB7Fs2TIsWLAANWvW9Li97777DtOmTUNWVpZueVxcHOLi4rBs2TL897//xfPPP%2B/Lt6Gzbt06TJgwIc93vSTL4I2UlBQ89dRTOHfunNvnL1%2B%2BjMuXL%2BPAgQP4%2Buuv8cwzz2D06NE31YV2rVatWiEyMhKJiYnIzMzE%2BvXr0bt3b4%2Bvk2VZN21rr169fFquv//%2BGyNHjkRycrJueUJCAhISEvDjjz/imWeewdixY312IfLSpUt46623sH379jzPnT9/HufPn8fmzZvx1Vdf4d133y2wfiPyBgNsKhJFUXDt2jX1sTdX048dO4aBAwfqTv6DgoIQFRWFwMBAXLx4EadOnQLgrAyHDRuGWbNmoUOHDvluUxtcm0wmVKtWDaVLl4Yoirh8%2BTJOnTqlBp2//PILLl26hMWLFxf4g3jlyhU8//zzOHnypLrMbDajVq1aCAwMxKlTp5CSkoKdO3di%2BPDhaNKkicf3XlyuXbuGwYMH6y4EGI1G1KxZE2XKlMG1a9cQGxsLSZJgtVrx4YcfIjU1FW%2B99ZZX29%2B2bRtGjBgBWZZhMpkQHR2N0NBQJCUlqVmhZVnGtGnTULlyZbRv3z7fbSUmJqJ///66H9WAgABER0cjICAAZ86cwcWLF73arxEREWjZsiWys7OxZ88eAM6LPvkFVVWqVCnwfY4bNw6rV68GAJQpUwbVqlWDKIo4ceKEepwnJydj0KBBWLt27Q21ZN91111o3rw5tm3bBgBYs2aNVwH25s2b1RPU4OBgPPLII7rnjxw5gqFDh%2BqCgnLlyqFKlSoIDAxEZmYmLly4oNv/siwX%2BX0UlSzLha47jh49ioEDB6qtIICz7sg5dpKTk3H69GkAzmB7yJAh%2BPTTT/PsI20ZtMGfp7rj559/xqVLl7Bw4UKv6o6csgD/1h0BAQE4deoULl%2B%2BjG3btmHkyJF5ZmvwtV9//VX9rgcFBaFWrVowm804ceIEUlNTAThbagcNGoSVK1ciNjYWAwYMQGZmJkRRRK1atRAWFobz58%2BrQUdWVhZefvllrFu3DhUrVnT7f4tr/2r98ssvai8Wo9GIWrVqISQkBGfOnFGP8ZxEeoIg4IknnvDrdr01evRo/PzzzwCAsmXLolq1ahAEAbGxser3PykpSa2LCrpg/N133%2BGdd97RLatQoQKqVq2KrKwsxMbGwmq1YurUqYVqES%2BM//u//8Mbb7yhu/ib05MmMzMTsbGxsNvtxVoGb2VkZOiC68DAQFStWhWlSpUC4PwNOHv2LBRFgSzL%2BOabb5CWloaZM2cWa7nKli2Lli1bQlEUXYD4wAMPwGQy5Vk/5yKwKIro2bMnPv30UwDOC0feBNhbt27FhQsXADjrjS5duvjibQBwXiidOHEi0tPTAQDVq1dHeHg4UlJS1HMuRVGwePFiZGdnY8qUKTf8P5OSkvDcc8/pZrKwWCyIjo5GYGAgTp8%2BrZ6Xnj9/HkOHDsXMmTPRuXNn3XaK%2BjnQnYkBNhXJ4cOHdVfEo6KiClz/%2BvXrGDZsmFqJVaxYEW%2B99RY6dOgAo/Hfw/DUqVN49913sX37dtjtdowZMwb169dHpUqV3G63VKlS6NGjBzp06IB77703TyWXlpaGb7/9Fl988QXsdjv27t2Lr7/%2BGgMHDsy3rFOmTNEF18899xxefvll9UdWlmX8%2BuuveOedd7Bv3z71ooA/jB07Vg2uLRYLRowYgaeffloXAF69ehWfffYZvvnmGwDAggUL0Lhx4wKDYcD5Pl977TUAwNChQzFw4ECEhoaqz%2Bdu6Zo6dSratWuXb3fnt99%2BWz1BFUVR3WbOSZWiKNi2bRsmTJjgcb%2B2atUKrVq10nVpF0Ux3wzWBfntt9%2BQlpaGSpUq4e2330bbtm3Vq%2BZ2ux3z58/HrFmzADhbJxcuXIgRI0YU%2Bv9odevWTQ2wc07otd8Dd9asWaPe79ixY55ubB999JEaXEdHR2Py5Mm4//7782wnJSUFv//%2Be54WspJy6NAh3UUATych165dw7Bhw9TgulKlShg9ejTatWun22fx8fGYPHky/vzzT9jtdowePRqrV69GRESE2%2B2GhYWpdcc999yTp%2B64cuUKli5dii%2B//BJ2ux1//fUXFi9eXGAr28SJE3XB9QsvvIBhw4bp6o4NGzZg4sSJ%2BOuvv3DixIkC3/uNcDgcGDNmDEwmE1577TX85z//gcViUZ%2BbN2%2Be2lPk6NGjWLVqFebOnYvMzEz06NEDr7/%2BOu666y51e1u2bMErr7yCzMxMZGZmYvbs2epQB3eKY/9q39v48eMBAD179sQbb7yBsmXLAnDWI1u3bsX48eORlJQERVEwceJENG7c2GPX9uLarrc2bNiAtLQ0REZGYsKECWjdurWuLpozZ44aLCUmJmLRokV46aWX3G7r5MmTumE1lSpVwuTJk9GyZUu1jk5PT8f8%2BfPxxRdf4L333oOiKD55HzkuXryIMWPGqMF1uXLlMGnSJLRr1059X1evXsWnn36KJUuWFEsZCqt8%2BfLo3bs32rdvjzp16uRpQU1KSsK8efOwZMkSKIqC1atXo2PHjgU2BNyoBg0aYP78%2BXmGHXz44Yce51/u1asX/ve//8HhcODAgQM4ceKExzr3hx9%2BUO8/%2BuijPhkaleO9995Deno67rvvPkyZMkVXlvj4eLz99tvYt28fAOcFgYceekgdwlEUiqLgzTffVINrQRAwZMgQDBo0SH1fsixj06ZNeOedd5CSkgK73Y6xY8eifv36uovzN/I50J2HSc6o0BRFwWeffaZb1qlTpwJf88EHH6jjtKtVq4aVK1eic%2BfOeYKK6tWrY86cOWr3nOvXr6vjgNzZsmULxowZgyZNmri9gli6dGkMHz4cH374obps8eLFkCTJ7fb279%2Bvth4AwODBgzFu3Dj1BBlwBnKdOnXCggULEBAQoLYElbR169apXYYDAgKwaNEiDB48OM%2BPYVhYGMaNG4dRo0apy2bOnOnxREZRFFy9ehWTJ0/Gq6%2B%2BqguuAaBRo0b47LPP1JO1hIQEtTU5t82bN%2BuGBbz11lsYNWqUrsVCEAS0atUK33zzDUqXLl1i%2BzUtLQ3h4eFYtmyZ7sQPcLa8DR06FP369VOXabvOFVWHDh3U7rCpqalqsJ2f9PR0bNmyRX2cu3u4zWZTk4WJoogvvvjCbXANOFvQe/fujRUrVqBevXo38jYKTVEUzJ49W7fM04npjBkz1DGb1atXxw8//IBOnTrlqTtq1qyJ%2BfPn46GHHgLgPHF3N0YdcLZMbt68GaNHj0bjxo3d1h1ly5bFiBEjMGPGDHXZN998k2cYRo49e/ao0xcCwEsvvYTRo0fnqTs6d%2B6MefPmwWKxFOsx7nA4cP36dXzwwQcYMGCAGlwDzvwKQ4YMQdeuXdVl48ePR3x8PJ555hlMnTpVF1wDwMMPP4w333xTffzLL7%2Bo3fxzK479m/u9Xbt2DU899RTef/99NQgGnPVI69atsWjRIoSFhQFwtrp70yW/uLbrrbS0NJQvXx7Lli1DmzZt8tRFw4cPR58%2BfdRlP/30U77b%2BvDDD9ULWaVLl8Y333yDVq1a6S6AhoSEYNSoUXjrrbeQlZWVZxjBjfr444/VlsqgoCAsWLAAHTp00L2vsLAwjB8/HgMGDCiWMhRGxYoVsWnTJowcORL16tVz2z05IiICb7/9tnrxGXBetL5ZVahQAQ8//LD6eMWKFQWuf%2BXKFWzatEl97E2Ld2Gkpqaifv36WLhwYZ5Av2bNmvj66691PXumTp0Ku91e5P%2B3bt063bCi0aNH49VXX9WdJ4miiPbt22PRokXq8szMTEydOrXI/5eIATYVyrlz5zBq1Cj8/vvv6rKuXbsWmOTqypUruqBk%2BvTpuhOX3IxGIyZPnqyeQK9Zs0b9kc7N20RonTp1UpNmJCUlqcm7ctO26lWpUiVPxmOtevXqYcCAAV79/%2BIwb9489f7w4cM9JgUZOnQoqlevDsDZLXTnzp0e/0dOcrT83HvvvbpkMTlXnnP7/vvv1fv169dH//79891m5cqVC9zvxWH06NH5tnQC0JU3ISEhz/jUwsrdxVvbOu3Ohg0b1GAmPDwcDz74oO75y5cvqych4eHhXreoleTYwXPnzuHll1/WTen3%2BOOP55uYDnC2tucEEYIgYMaMGV7VHTnva9WqVWqeiNy8rTsee%2Bwx9YQvMTERx44dc7ved999p96vVq1agb0cGjZsWCLjTdu3b49HH3003%2Bf79u2r3rfb7QgPD9cF0blpEwBlZGQUOM%2Bzr/dvbuHh4QUOdcn9GWzcuFE3xKCkt%2ButsWPHokKFCvk%2Br62LTp8%2BjStXruRZ5%2BLFi9i8ebP6eOTIkQXWCc8//7zPL7alp6ericgA4MUXXywwqeKrr77qMXFccTObzW4vBrnz4osvqq2W%2B/bt89uFdm9ov%2BerVq3Kk1tA66efflJ/S6KiovK9UHsjJk%2BenG%2B%2BhYCAAEyZMkW9EHTx4kXd%2BWZhffvtt%2Br9Ro0aFVjvRkVF6c49Nm/eXOgknEQ5GGBTHsePH8eLL76ouz333HPo1KkTOnTooGuladGiBd59990Ct6dt6cgdkOUnMjJSrdizs7PzJAwqCm2XnpxMsVqKouS5cms2mwvc5tNPP10s2YA9iY%2BPx%2BHDhwE4Wza0Laz5EUVR12LlLllUbtrWkvxof4C1XetzSJKkG6/Up08fj1mzC8rk6WthYWEFBiGAs%2BW0XLly6mN377Owunfvrt7ftGlTvoEgoA/Au3Tpkicw1rZOXrp0CZcvX77h8hXF0aNH86072rdvr0vS1qpVK0yaNKnA7a1fv1492WvUqJFX2aYrV66s1jFZWVk4ePDgDbwjJ%2B0MBPnVHdqTwL59%2B3rs8v/00097nT2%2BqDwlJ2rQoIGuDN26ddMdS7kFBgbqWp188T0APO9fd5588kmPQXzPnj3VE3m73a4LOkt6u94oU6aMOuQlP1FRUShdurT62N1nsGPHDrWXVkBAAB5//PECtykIgld1fWFs375dHUZmMBg8/kaZzWaft5YWJ4PBgAYNGqiP//nnHz%2BWpmCtW7dW8yWkpqZi48aN%2Ba6r7R7u6%2BRmAHDffffp9ps7derU0eUl%2Be2334r0v9LS0rB371718bPPPuvxNb1791a/27Is%2B%2By7TXcejsGmPK5eveqxy2q1atUwbNgwdO/e3eNJoraCe%2BCBB7wuR61atfDXX38BcI75LigrsN1ux86dO3Ho0CGcO3cO169fh9Vq1XWD1ia4yJ29Mud5babsVq1aeSxjeHg46tatqwa7JUXbFbt%2B/fp5um/nR3ty7E2ZvbkYom351SavyhEXF6fr9ufNMRASEoL69evrjp3i0qBBA4/BEODsapcTuHqb%2BbogLVu2RJkyZZCamorMzEz89ttvuqA7x6VLl9TvAeA%2Be3jZsmVRqVIlnD9/HrIs46WXXsK7775bYOtwcUhLS/NYd1SvXh3Dhw9H165dPdYd2uO8MHVHdHS0euwcOXIkT4u/ls1mw86dO/HPP//kW3dox1W7qztOnjyp62XjTQbaiIgI1KpVq8BW4BvlaWrCoKAgBAUFISMjw6v1Aei6jrv7vufmi/3rjjf7ODg4GI0bN1aPyUOHDnkMGopru95o2LChV71Kypcvj7S0NADuPwPtRYoGDRp4NYa2MN8vb2gvbNWpU0d3gTI/rVu3VvNd%2BFtmZia2bduGw4cP4/z580hPT8/T8qv97np73PqDKIro1auXOjxnxYoVeRJ4Ac4hcnFxcQCcF%2B49XZgpCm%2Bzc7du3Vqt/7296JZb7oYZb87pgoOD0axZM3VI1oEDB/DMM88U6f/TnY0BNhVJQkIC4uLivGqB0Sby2bhxY77ds3PTBsT5db%2BSJAkLFy7E3Llz1RMOb7gLkM6ePaveF0XRqylQAGeLQkkH2Np9mpCQgBdffNGr12n3kTdd2nKPw3RH29XL3fi5nPGzgLMLb9WqVT1uEwBq1KhRIgG2N%2B8RgK5FPfeUN0VhNBrRuXNndWqwtWvXug2wf/75Z3VcavXq1fO9%2Bt%2B/f391zNiBAwfQvXt31KtXD61atULjxo3RqFEj3XhgfylM3ZFzsgc4M2J7e6KlTZBXUN2xYMECzJ8/36d1h9Fo9Hp%2B3Ojo6GILsEVRRJkyZTyuFxgYqAbY3gRBnr7vOXy5f93xNkNvVFSUGghrP6eS3q43vK2LClPnenssVqtWDQaDwasx8N7QZuOuVauWV6%2BJioqCIAh%2BTXSWlZWF2bNnY9myZQX2Ksotv2FsN4tevXrh888/h8PhwI4dO3D%2B/Pk8yWO1c123a9euwOE4RVWY71eOon6/tMdgxYoVvf79q127thpg5zdlG5EnDLApj2bNmmHx4sXqY0mSkJycjKNHj2LBggXYu3cvJEnCnDlzIEmSxymftCdX8fHxiI%2BPL3SZ3P142e12vPzyy0Uan%2BNuDJK2JSAoKMhj9/Ac2u56JUW7T1NSUjy2Grrj6YTAYDAUeoyuuxMj7QlzcHCw113qvW2Vv1HejrnT8tUJYLdu3dQAe/v27bhy5Uqekxpt93B3rdc5%2Bvfvj9OnT2PZsmXqsiNHjqgXtHK6ND722GPo1auXTzPD5mjevDkWLlyoPs6pO44cOYL58%2Bdj//79sNvt%2BPLLL%2BFwOPDGG28UuD3tcZ4zZ25huQvYbDYbRowYoUsc5y13dYe250tISIhXPSKA4q07jEZjobugF%2BW74I6v96873u477Xraz6mkt%2BsNX9VF2rrd23pUFEUEBwd71SvBG9p94u0%2BNZvN6pSC/nD9%2BnX079%2B/SBfMvT1u/SUiIgKtW7fG77//DlmWsXLlSl0ugYyMDKxfv159XFzd9Yvy/ZIkCRkZGYWexk17LHtzsdHdur76btOdh2OwySOj0YjIyEi0b98e3377rW6s1oIFCzyeRPmitc/dfL1z587VBdf3338/Jk2ahJUrV2Lnzp04ePAgjh8/rt6GDh1a4P/QZqoszImOt4G4LxXXPi0O/p525WZ2//33q8mHJEnSneAAzl4c2rF97lq4cwiCgIkTJ2Lx4sV45JFH8hzDOdO05Eynps2WX1xy6o4OHTpg2bJl6Nmzp/rcvHnzPF4Y8sWJtrvj/KuvvtLVW40bN8bkyZPzrTsGDRpU4P%2B4leqOkuDr/Zub0Wj0%2BkKddh97ykZcXNstaUWtc31ZV9%2BK34n33ntPF1y3bdsW06dPx%2BrVq7Fr1y4cOnRId9zeyPRR/qA9d1u5cqWubly3bp1a30ZGRqqzMfiat8dC7uOgKBcwtK8p6jF4s184oZsXW7CpUARBwIQJE3DgwAG1a%2BOkSZPwyy%2B/5PvDGBoaql5JnDlzZoFBgrckScLXX3%2BtPu7fvz/Gjh1b4GtyukHmR9ui52ndwmy3OGi7OvXu3RtTpkwp8TJ4S1vWjIwMyLLs1UmsL8Y53wq6du2qTie1Zs0a/Oc//1Gf07ZeN2rUyKvs4M2aNUOzZs2QmZmJffv2Yc%2BePdi1axcOHDigdv9MS0vD66%2B/DovF4nE%2BdF/JuQBw8OBBnDhxAoqiYNKkSVi3bl2%2BJz%2BlSpVST/pmzZrlkxNam82ma2UfMGCAx144t1PdUdyKY//mJkkSrFZrgQnZ3G3bU6%2BN4tpuSdO2Wntbj8qy7NOW45vtO%2BHpgnJycrJu2rPx48d7HHt7q31/H374YURERCApKQmJiYnYsWOHOiZaO31Xjx49ii15q7f7LPd6RenRpn1NYT4rbQ%2BQm2FYFd2a2IJNhWYymTB%2B/Hj1cWJioq5bam7acX3acdU34tChQ2rQHhQUhNdff93jazxNraTtmmuz2XDp0iWvyuKPaRy0ZfXVPi0u2nFekiR5XV5fZSi%2B2Wm7ff/999%2B648nb7uHuBAUFoWXLlnjllVewbNkybNu2Da%2B99po6llxRFMycOfMGS184ZrMZ48aNUx%2BfPXtWN4Vbbtq6Q5sI60YcPHhQPYEKCQnBq6%2B%2B6i2iFscAACAASURBVPE1nuoObTkzMzPdTp3kzu04BUxx7F93vN132vW8GWNeXNstSdo619t69PTp0z4bfw3o90liYqJXr0lOTvaqN4D2gpy3vQc8XWjYuXOn2oJfo0YNrxJb3eh0jSXNYDDoehHlBNVxcXH4%2B%2B%2B/ATiHCmjX8TVvjwXt9yssLMzrYTda2vOknASg3tCO%2BS6Oceh0Z2CATUXStGlTXTbIOXPm5JvwRpuZ1pu5l71x4cIF9X6tWrU8tjgoiuJxqq86derortp6k1BJluUST3AG6LN7//33334bs%2BaNqKgoXVIebUbs/KSnp3u1X7Wf163aFb1mzZqoX78%2BAOd7WLt2LQDn8ZcTVOYkRLsRZcuWxZAhQ/D222%2Bry06fPu31CY%2BvNG/eXJfV%2B8svv8y3G15x1B3aBFC1a9f22CXVm7qjbt26uvHO3tQdDofDL3VHcSuO/euOtwnvtOt5M9dzcW23JOXMKw44p4/ypvXOm3q5MOrWraveP3z4sFf1s7f7XjsW15sx4ydPnvQYiGvPKTxNIwU4f6O0yUZLQu6cCkX5zevdu7f6u/nbb78hNTVVl9ysZcuW6pRexaEkv1/a12VmZnr9eWnrI3f/2xefA93%2BGGBTkb300kvq/ZSUFMTExLhdTxuI79u3zydZc7U/lt4k8tm5cyeSkpIKXCc4OFh3UrBu3TqP2921a5df5hxu1qyZehXfZrPhxx9/LPEyeMtoNOrGc8XExHj8QVq1alWBGYpzaAN3WZZv2fFS2tbpnFbrnEAbcM4376sr6e3atdM99sfxq607Ll68qDvB09JOzbdnz54iJUjMLWd%2BYMC7umPr1q0ee7OEhobqMiXnHkvvzo4dOwqVXftWURz71x1v9vGxY8d0LbjauXVLerslqUWLFmqLX3Z2NlatWlXg%2BoqiFNiTpCiaNGmi3s891WB%2BvPnNBaALAGNjYz2uX9C8zzkKe9yuWbNG95qSYDabdS25Vqu10NuoWLGiOl2V3W7HihUrdMdHcc9FvnHjRo%2B/0zabDb/%2B%2Bqv6uKjfr%2BjoaF2yNG/yjhw9elSXTFN7HOfwxedAtz8G2FRkTZo0QbNmzdTH8%2BbNc1txtm7dGtWrVwfg/CF/5513bjgQKl%2B%2BvHr/%2BPHjBV6ht9lsmDZtmlfb1Y4PX7duXYE/3rIs45NPPvFqu74WFhaGJ554Qn386aeflnhLZGFok6scPnxYl6U%2Bt8TERHW%2BTk9Kly6t6y54q06p0aVLF7VVIS4uDocPH9adbHrKW1CYK%2Bi5ezuEhYUVoqS%2B8eCDD%2BL%2B%2B%2B9XH8%2BdO9dtndC2bVt1WjdZljFhwoQbTigVHh6u3j969GiBCQNtNhtmzJjh1Xa1c8auWbOmwIsBDofDb3VHcSuu/Zvb5s2bsW/fvgLX0c6pHBkZqfu9KuntlqTw8HC0adNGfezp9%2BGbb77xeW%2BKevXq6S46ffLJJwXWU8eOHcMvv/zi1bZzevwAwO7duwsckpGamopFixZ53Kb2uP37778LLGtqaio%2B%2B%2Bwzr8rqa9qp3Io6fZX293j27NnqVIblypVD27Ztb6yAHqSlpeny57jzzTffqBd%2BBUHQnesUhiiKutcuXry4wPnKFUXBBx98oD6OiIjId95uX3wOdHtjgE03JHdLlDZRRg5RFPHf//5Xfbx//34MHTrUY8tZVlYWVq5ciQEDBuR57t5771W7HmZmZmL69On5TlcycuRIr1vNe/bsqVacDocDw4cP13Udy%2BFwODB58mTs37/fq%2B0Wh2HDhqnBUVpaGp577jmPJ0myLGPHjh148cUXS/RHoU2bNrpW7KlTp2L27Nl5Loxs374dzz77LFJTU72aVsNoNOpO4hYtWlRi2dF9qXz58rpu05MmTVLH9wUFBeVpdc7tzz//xNChQ7F79%2B4CTwwdDocuOKhQoQKqVKlyg6UvGm3dceHCBV2CoRwGg0E3ldeePXvw0ksveRzjnJmZiRUrVridH75Ro0bqRZmMjAzMmDEj37pjxIgRXncr7NWrl9rLQJIkDBs2zG2vGUmSMHHiRK%2B7St5qimv/uvPKK6/o5jzPoSgKZs2ahc2bN6vLBg0a5PW0ZcW13ZL0%2Buuvq7%2BRqampePbZZ7F9%2B3bdOhkZGZg9ezamTZuGwMBANT%2BDrwwcOFC9v3fvXkyZMsXtOO/ExEQMHz7c6zHgTZs2VVsm7XY7Jk%2Be7PYYu3r1KoYPH%2B5VD4mmTZuq98%2BcOYN58%2Ba5XS8lJQUDBw5ESkqKV2X1NW2X5W%2B//bZIjRVt27ZVGym0ra%2BPP/64z6bqK8inn36K3377ze1zv//%2BOz7%2B%2BGP1cefOnb1K7pmf5557DkFBQQCcvwv5nXvKsoxp06bpZrYYPHhwvlOV%2BuJzoNsbs4jTDXnooYdw3333qQky5s6di969e%2BeppNu1a4chQ4bgq6%2B%2BAuAMpNq1a4cuXbqgWbNmKF%2B%2BPAwGA65du4ZTp07h4MGD2LZtGzIzM1GhQoU8/zcoKAi9evVS5xCOiYlBXFwcevXqhcqVKyMzMxOHDh3C999/j%2BTkZAQHB6N169Yeu/%2BFhoZi3LhxamKes2fPolu3bujXrx%2BaNGkCi8WCkydPYvny5Thy5AgsFgtatGiBTZs23fC%2BLKxKlSph5syZGDZsGCRJQkJCAnr27Ik2bdqgVatWqFq1KgICApCeno7ExET8888/uu6YJT1uaMqUKejXrx%2BSk5MhyzI%2B%2B%2BwzzJs3D7Vq1UJAQADOnDmjXl2%2B//770aRJE8yZMwdAwVO3dO3aVb2wEBMTg02bNqnbzNGtW7cbHsNc3Lp164YdO3YA0I8Ba9%2B%2Bva4rvDuKouD333/H77//jkqVKqFVq1Zo2LAhKlSogODgYGRkZCA2NharVq3S9coYMmSI34KD1q1bo2HDhmqg%2BdVXX6FHjx55ktl07NgRL774IubPnw/A2aU4p%2B5o2rQpKlSoAFEUce3aNZw8eVKtO7KyshAZGZnn/4aEhKBHjx7qkJalS5fixIkT6NmzJypXroyMjAwcPHgQMTExuHTpEkJDQ/HQQw9hw4YNBb6fsLAwjB07Vr0gcPr0abXuaNy4MSwWC%2BLj47F8%2BXIcPXoUAQEBaN68uW6qwdtBce1fLbPZjJYtW2LTpk148skn0bdvXzzwwAMIDg7G2bNn8cMPP%2BgufjZu3Bh9%2B/b123b9oUaNGhg7diwmTpwIwBnEDhgwABEREahSpQqys7MRGxurDsUZN24cPv74Y/WxL6bLevzxx7F69Wo1aFmyZAn279%2BP3r17o0aNGsjKysLu3bvx3XffIT09HQ888ABOnDjh8QKa2WzGs88%2Bq/Z0Wr9%2BPZKSkvDUU0/h7rvvRnp6Ovbv34%2BYmBikpqaiZcuWOHLkSIHbrVmzJlq2bKmW9YMPPsC%2BffvQtWtXVKhQAdeuXcPu3buxYsUKXLt2DZUqVUL16tXzXLQobt26dVPPNzZu3IhWrVqhTp06unHprVq1Qr9%2B/fLdRk6ys5zZK3IUd/dwwBkwr1%2B/HsOHD0fnzp3RsWNHhIeH49KlS9i4cSN%2B/vln9dykdOnSGDNmzA39v8jISIwePRoTJkwAABw5cgRdunRB3759cf/998NiseDUqVNYvny5roHiwQcfxNNPP53vdn3xOdDtjQE23bCXXnoJQ4YMAeBMcPPTTz%2B5rahfe%2B01lC5dGjNnzoQsy8jKysKKFSvctnp74/XXX8eePXvUgGHv3r3Yu3dvnvUsFgtmzJjhdYvRY489hoSEBHz44YcAnNlH58yZowZ7OURRxIQJE3Du3Dm/BNiAc9qNefPm4ZVXXkFaWpou0LrZREZGYuHChRg1apT6mWVnZ%2BPgwYO69Zo3b46PPvoIc%2BfOVZcVNEXHM888g02bNmH37t0AnOP9crdYeJO0xt86duyIiRMn5hnPVdjs4efPn0dMTEy%2BORFy/Oc//ynwBKIkDB06FMOHDwfgzBq7Zs0aPPnkk3nWe/PNN1G6dGnMmjVLnU5o%2BfLl%2BY7d9uTNN9/E3r171bF2u3fvVo8frYCAAMycOdNtveJOt27dkJCQoLbAXLt2Tb2oqGUwGDBp0iTExcXdlN/VG1Vc%2B1fr/fffR79%2B/XDq1CksXLhQNzWYVnR0NP73v/95Pe1QcW3XH3JO7qdNm6YGzklJSbqeFUajEf/973/Ru3dvTJ8%2BXV1elGmR3Pnkk090vasOHz7stqdVZGQkZs6ciR49eni13cGDB2Pbtm3qBY/9%2B/e77VFWu3ZtfPTRR15N8TdlyhT07t1b/f3YtGmT29/20qVL45NPPvHY1bk4dO7cGRs2bFC706elpeHPP//UraPtvpyf3r1746uvvlJ7fDVu3Bg1atTwfYFz6d%2B/PxRFwS%2B//IL169fn2%2BgRHByMuXPn6oYDFlXfvn1x/fp1ddaM1NRUfPnll/mu/8ADD%2BDzzz8v8OKzrz4Hun3dvL8MdMto06aNbkzUnDlz8k3%2BMWDAAKxevRqPPfaYxyvkNWvWxJAhQ/IdPxUSEoKlS5eie/fu%2BZ7kNGrUCN9//32h5/odPHgwvvzyS9x9991un69evTrmzZuHXr16FWq7xaF58%2BZYv349Bg4cqEvo4U54eDh69uyJJUuWqGNbS1KNGjWwcuVKTJo0Cc2aNUO5cuVgNptRqVIlPPzww5g1axbmz5%2BPsmXL6rpxFdRd3Gw2Y%2BHChXj//ffRpk0bRERE%2BLyrY0kICQnJM/6tXLlyuq71%2BalTpw5GjBiB%2BvXr59ulLUeDBg3wv//9DxMmTPB719Z27dqhdu3a6uMvv/wy326igwcPxqpVq/Doo496rDuioqIwdOhQLFiwwO3zISEhWLZsGbp27Zpv3dG4cWN8//33hR6T%2BNJLL%2BHzzz9323oOOL8D8%2BfPL/K4wltBce7fHGXKlMGKFSvy7dZqMpnw9NNPIyYmxqvhJsW9XX/p168f1q5diwEDBqBmzZoICgpCcHAwoqKi8Mwzz%2BCnn37C888/D5vNppv/19NvibdyfqdfeOEFt7N9GI1GPProo/jhhx/c9lbLj9lsxrx589CnTx%2B3x5jFYsFTTz2FmJgYr/NMVKxYEcuXL1eTgOVmMBjQpk0b/Pjjj7jnnnu8LqsvCYKAjz/%2BGB9//DE6dOiAyMhIjz2c3ImIiNDtl5JovQb%2BLf%2Brr76a7%2BfSokULrFq1yqf7eODAgVi6dCkaNWqU7zrh4eEYP348FixYoGuJdsdXnwPdvgSF%2BeXJT7Kzs7Fv3z4kJCSo2XRDQ0NRuXJl1KpVq1BXLpOTk7Fr1y4kJSXBZDIhPDwc99577w2N3QGcXW/37duH2NhYXLt2DeXKlUN0dLRu%2BqCbSc60YSdOnEBqaipsNhtCQkIQERGBqKgoNdncraBz585qpt6FCxeiefPmfi7RrSE9PR3Hjh3D2bNnceXKFdhsNgQFBSEiIgINGjTI96LRraSguqN27dq6hEWeJCUlYdeuXUhOTobJZEL58uVxzz33%2BKTu2Lt3L06cOIHr16%2BrdYe/Tsz9xVf7Nz4%2BXm2FNJvNuh5JV65cwV9//YWkpCQ4HA5UqlQJDz30kFeBVXFt91azd%2B9etUdLZGRksfTKSk9Px/bt25GYmAhBEFChQgU0bdpU931t0aKFOr45JiZGNyVlfi5fvqzOFGI0GlGxYkU8%2BOCDN/Q5nTlzBrt378bly5cREBCAChUqoHHjxoWqW25mW7ZsweDBgwE4L4Js27at2ALE/D5Tq9WKP//8EwkJCcjIyEB4eDiaNGlyw3WvJxcuXMDevXuRkpICm82GMmXKoHbt2mjYsKHfLzrT7YMBNhHddPbv34%2BnnnoKgLPFaMeOHShVqpSfS0VE/lJQIHwzbvdWM3bsWPzwww8AnHktcoZIlbSiBNhUeMOGDVOnL%2BvXr586Vr848DOlOxG7iBPRTSU9PR3jx49XH7dr147BNRFRIXnbfrJlyxb8%2BOOP6mN3eRDo9hEfH6/L/cBEXES%2BxwCbiEpERkYGunfvjmXLlqlTUGlJkoTffvsNPXv2VKfuMZlMagI9IiLy3tKlS/H666/jjz/%2BcDuN0JUrVzB79mwMHz5cTXbVqFEjtGjRoqSLSiUkNTUV48aNUz/vVq1a6fJgEJFvMIs4EZWY48ePY%2BLEiZg4cSIiIiJQqVIlWCwWXL9%2BHSdPnkRmZqZu/ddee0033yQREXnHbrdj7dq1WLt2LUwmE6pVq4ayZctCURRcunQJp0%2Bf1rVyly1bFtOmTeM41NvMzJkzcerUKVy/fh1HjhxRk9kZjUa89tprfi4d0e2JATYRlYjcJ225p4vRCg0NxVtvvVVimU2JiG432uzadrtd7RnkTv369fHxxx%2BjSpUqJVE0KkG7d%2B/GgQMH8iznBWyi4sMAm4hKRFBQEDZu3IiNGzdi7969iI%2BPR3JyMrKysmA2m1G6dGlER0fjoYceQo8ePTjumojoBjzzzDOoXbs2tm7dioMHD%2BLs2bNITU2F3W5HaGgo7rrrLtx3331o3759kadLo1tLSEgIGjRogP79%2B%2BORRx7xd3GIblvMIk5ERERERETkA0xyRkREREREROQDDLCJiIiIiIiIfIABNhEREREREZEPMMAmIiIiIiIi8gEG2EREREREREQ%2BwACbiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkAwywiYiIiIiIiHyAATYRERERERGRDzDAJiIiIiIiIvIBBthEREREREREPsAAm4iIiIiIiMgHGGATERERERER%2BQADbCIiIiIiIiIfYIBNRERERERE5AMMsImIiIiIiIh8gAE2ERERERERkQ8wwCYiIiIiIiLyAQbYRERERERERD7AAJuIiIiIiIjIBxhgExEREREREfkAA2wiIiIiIiIiH2CATUREREREROQDDLCJiIiIiIiIfIABNhEREREREZEPMMAmIiIiIiIi8gEG2EREREREREQ%2BwACbiIiIiIiIyAcYYBMRERERERH5AANsIiIiIiIiIh9ggE1ERERERETkAwywiYiIiIiIiHyAATYRERERERGRDzDAJiIiIiIiIvIBBthEREREREREPsAAm4iIiIiIiMgHGGATERERERER%2BQADbCIiIiIiIiIfYIBNRERERERE5AMMsImIiIiIiIh8gAE2ERERERERkQ8wwCYiIiIiIiLyAQbYRERERERERD5g9HcB/ElRFFy5kgFZVvxdlDuOKAooWzaY%2B98PuO/9i/vfv7j//Yf73r%2B4//2H%2B77khIeH%2BrsIRHd2C7YgCBBFwd/FuCOJosD97yfc9/7F/e9f3P/%2Bw33vX9z//sN9T3RnuaMDbCIiIiIiIiJfYYBNRERERERE5AMMsImIiIiIiIh84I5OckZERLcyBUAmRDEVgnAVgpAFQbABsEEQrJq/VtdyKwwGEUAwzGbZdd8IwAhFMbruG6AogVCUUlCUUMhyGBSlFACLn94jERER3UoYYBMR0U1DEK5DFC9AFM%2B7/l6AwZAEQUiFKKZBEFIhCGma%2B/Yi/Z/g4MKtrygWKEooFMUZcMtyachyechyBGS5guv2731nUM6ERkRERHcaBthERFRCFAjCRRgMp2AwnHT9PasG1AbDBQjC9cJvVTFAUUIBmKEoZgAmKIoJzp%2B4nPs5jwWYTIAk2aEoEgAHBMEB4N%2BbIFghCBkQhEwIQiYAuJZZAaR4WaZAV8BdBQ5H1Vy3alCU8mAATkREdPthgE1ERD6kuFqdj8NgiHcF0Tm30xCEDM9bUIIhy%2BUgy3dBUcpBlsu4Wo%2BDXX9DIMsh6n0gAN4GqwaDAJMpEFlZWXA4vJmP1gFByAKQ6Qq4M1y362oruiimurqpX4EoXnE9n6W%2Bb5PJ3XsMhMNRBbJcFQ5HFCSpFhyOWpCkaAbfREREtzAG2EREVAQSDIbTMBhiYTAch9F4HAZDLIzG4wW2QiuKCEUpD1muCIejoqubdTlXIO28AYEl9zY8MriC%2BBAo3sTjAIBsV8B9GaJ4EaKYDIPhIkQxCaKYBEFIgSBkwWg8DuA4gP/TvVqWw%2BBwRMPhiFYDb4ejDhyOGgAMPn13RERE5FsMsImIqADOFmmj8R8YDIdhNP4Do/EwDIY4V%2BIwN69QDJDlSpDlSFcQHeG6OQNqZ3ft21kAZLkigIpwONw9b4copqgBt7N7fAIMhnMQhGSI4lWI4h6YTHt0r3K2eteBJNWHJNWDJDWAJNWHooSXxJsiIiIiLzDAJiIil0wYjUdhNGoD6X8giqlu11YUC2S5MhwO502W73b9rYjbP4i%2BESbXxYaKbp6zuQLuRIhigubvaVer934Yjft1r5Dl8pCk%2BnA46sNud/6VpDpwdp0nIiKiksQAm4jojiNDFM/qAmmj8R%2BIYjwEIW8/aGeL9N1wOKqribpkuaqrNVos%2BeLf1syQ5WqQ5Wq5ljsgikmubvlnYDCcgSiecmVbvwiz%2BSKA3xHo6l2vKCIcjihXsP3vTZargJ8ZERFR8WGATUR0GxOENBiNR1zdu3NuR/IdJy3LpeFw1IDDUc0VSFeHw1EZgLlkC065GCDLkZDlSNjtLTTLs10B92n1rzPwvgajMRZGYywslh/VtRUlVNO9vIHazRwIKfF3REREdDtigE1EdFuww2CIc7VIH3GNmT4Cg%2BGc27UVxeTKYF1Nd1OUMiVcbroxAXA4asPhqK1ZpkAQrriCbm3gfRaCcB0m0y6YTLv%2BXVsRIMs1XK3cDSBJDV2t3VXBbOZERESFwwCbiOiWori6CmtbpA/DYDieb9IxWQ53de%2Bu5uriXR2yHAn%2BBNyuBChKOUhSOUhSY81yCaKYqE6Z5rydhChedk2pFg%2BLZbW6tiyX0nQxb%2BgKvusBCC7xd0RERHSr4NkVEdFNShCuuqbAOqZJOnYYonjF7frOLNPaQLoaZLkqFCW0hEtONyeja%2Bx8Vdjt/y51HmcnXS3dzrm7RfEMRPEaRHEnTKad6rr/tnY3hCTVgSTVdU0hVhMcRkBERMQAm4jIzxTXPMnH1fmkjUbn3NKimOT%2BFYroSjqW07W7CmS5OpOOUZEoShgkqREkqZFmqeTKXn4yV2t3qqa1W7sNIxyOmnA46kKSarumE6vrCrwtuf8lERHRbYsBNhFRCRAEZ2BiMp0GcBbBwccgCHEwGE5AFK/m%2BzpZvgsORxVXa3QVVwt1ZTBooeJlVLOZ61u7U13B9ikYDOcgiudgMJyBIGS6Lg4dzxV4G1yBdx3Icl0A98FgqA5JYuBNRES3JwbYREQ%2BkTO%2B9SxE8ayru%2B1J1y0%2Bz1zSZk1vWmeLdEV1TmlZjlTnluZ4V7qZKEoZSFKZXK3dCgQhxXXMJ7gC7zMwGM5CEDLUbOaAc3x3qVI5x3wNVyt3LUhSTVcgXhOKEg4mVyMiolsVA2wiIo8UCEIaRPECRPE8DIbzriD6rCuYOAtRPA9BcBS4FVkuB0WJhMFQGVZreUhSBByOuyHLlcDxq3TrEqAo4ZCkcEhSE81yBYJwWf2eGAznYDYnQFFOQRDSYTDEwWCIy7M1RQl1TRVXE5JUQw28ncH3XWDwTURENzMG2ER0B3NOZySKKRDFi65bkiuQvgCD4YIaVAtCluetKSbIcgXIcnkoSnk4HBUhyxVdfysBCIDBICA0NBA2WxYcDqX43yKR3whQlLsgSXdBku6HwSDAbA5EenomZPmyprfHedf3LRGCkAxBuA6j8QCMxgO67uaAM7O5LNeEw1HD1eqdE4BHQVHKgsE3ERH5GwNsIrqN2F0Bs/MmCJddf3OWXdLcLkIQLkEQJK%2B3LsuloCjlIMt3QZbDXcH0Xa6/FaAopcEkY0Se/DuNGNAo13N2TU%2BRC64p6RJdF7kuujKb74fRuN9N8F0aspyTRb%2B65lbNNS2doYTeHxER3ckYYBPRTcoKUUxxBcm5A%2BXLrvup6n3n42tF%2Bk%2BKEgJZLgNFKeM6SS8HRSkLWS4LWb7LFVSXBZMyERU3E2S5CmS5CqQ8175suYLvC67W70TXRbM0NfjOTVHMriSBNdS54J33q8PhqAogqCTeHBER3QEYYBNRCZBdY5gvawLmyxCEFNf9FM2yy67AOr1I/0lRBChKKBSllOYW6mp9LgVFCYMsl4ailHYF1WEATL59u0RUDMzqPN55g2%2BrZmhHsmuoRxJE8TxEMRmCYMt3zDcAyHKEZg756robx30TEVFhMMAmohuQlWussvZ%2BsiZYvuIxAZg7iiJCUcJct1Jq4CzLoa77OYGzNqAOBruCEt1pLOq0YnmDb4cr2dq/dZOz63lOfoUMNSA3mXbm2bIz6Vo1NwF4DchyZbC%2BISIiLQbYRJQvQbgKg%2BG0a8qd067bGVeXzAt5pp7yRFGCXQHxv0Hzvy3LpTTP5fwNBluOiOjGGKAo5SFJ5QHcm%2BdZQbiuXiDUB98XIAgprqRrh2A0HsrzWkWxuJKsRUOSouFw/Htz9o4hIqI7DQNsojteBozG4zAYjrn%2BnnIF0ae9CqAVxaIZp%2Bwcq%2Bwcv1zG1R3736CZXbGJ6GbjbKEOhcNRy82zNlfQnZNwLVnT9fwCBMEKo/EIjMYjbpKulXfN8V0XklQPklQPDkcdKEqZEnlfRETkHwywie4QgnAdBsNxmM2xAOIREnIQongMBsOZAl/nTPpVUc2U7byFuxKBlWMrMxHdxsyQ5cquruC5OVxT%2ByW4Mp0nuv4muHJKOKf%2BM5m26V/lqASHo54aeDsczr9AQIm8IyIiKl4MsIluS5kwGg/BZNoLo3EfTKZ9eZL7mDSNybJcxpVhtzJkuRIcjgqQ5QjIcgUAgSVbdCKiW4LBdfGxIiSpaa7nMl3B9lkYDOdgMJxxDbe5CIPhPAyG8zCbf1PXVhSjK9C%2BF3b7vZCk%2ByBJDQAEl%2Bg7IiKiG8cAm%2BiWJ7nGB%2B6DybQfRuM%2BGAxH3SYVc047VQ1GY3VkZ1eE3e5smeFYQSIiXwpSx2Lb7drlGa5g%2B4waeIviSYjiNXWcd0DAEgDOJI/OvfujXQAAIABJREFULub3ugLvppCke8GWbiKimxsDbKJbjgSj8QBMpq0wm7fBZNrhdkorWS7rOjmLhsMRpSbdMRgEhIYGwm7PgsOh%2BKH8RER3qmA4HPXgcNTTLFMgCJdgNMbDYIiHwXASBkMcRPEyjMZjMBqPAYhxrqmYXAF3M9jtzpss3%2B2Xd0JERO4xwCa66TlgNB50BdRbYTTuhChe062hKCGQpNquFpMoSFI0FKUcODaaiOhmJ0BRysNuLw%2B7vfm/S4UrroA7HkZjHAyGYxDFVJhMe2Ay7UFg4OcAnGO6/w24m7tauXl6R0TkL6yBiW5CgnAJZvP/wWJZD5NpC0Txqu55Z0DdEJLUEHZ7Q8hyNQCiX8pKRES%2BpyhlIUllIUlNYbUCgOLKZO6c8cFoPAZRPOka0/0TLJafAACyXAqS1Bw2WyvY7a0gSfeAc3UTEZUcBthENwUFBsMRWCzrYTavh9G4B4Lwb/dtRQl2BdQNIEkN4XBUB0%2BYiIjuJIKaVM1ub%2Btalg2jMRYGw3FXd/JDEMVrMJs3wGzeAACQ5TDY7Q/B4WgNoBOAmmDvJiKi4sMAm8hvbDCZtrmC6l/yTJflTI7TDHZ7EzgcNcGAmoiI9AIgSfdAku5xtXI7YDCcciVM%2B8cVcF%2BFxbIewHoAYxAWVhZ2extYrR1gt7eDLEf49y0QEd1mGGATlSgHTKatCAhYAbN5la7rtzN5TSPY7U1htzeDotzlx3ISEdGtx%2BBKahkFq/VJOAPuk65pG3MC7iuwWFbCYlkJAJCkBrDZ2sNmaw%2B7/UEAZr%2B%2BAyKiWx0DbKJip8Bo3AeLZTkCAlZCFJPUZ2S5DCTpAdhsTSBJjcDpV4iIyHcM6nRhktQToaFmZGT8DYNhr2tKx1hXS/c/CAr6GIoSDJuttSvg7swM5URERcAAm6iYGAwnYLF8j4CAFTAY4tXlihIKm60l7PbWkKQGYHIyIiIqGQbIcj3Y7XUBPANBuAqjcT9Mpv0wGvdCFFNhsax3dSl/HZJ0L6zWzrDZHnNlJ%2BfYbSIiTxhgE/mQIFyHxfI9AgO/gdG4X12uKBbY7Q/CZmsNSWoMwOS/QhIREQFQlDDY7W1gt7cBILvGb%2B%2BHybQbBsMRGI0HYDQeQHDwNDgckbDZOsNqfQx2eysAFj%2BXnojo5sQAm8gHjMb9CAz8GhbLcghCBgBAUQyQpPths7V2jWsL8m8hiYiI8iXC4agJh6MmrNZertbt3TCbd8No3AODIRGBgfMQGDgPihICm609rNZusNk6QVFK%2BbvwREQ3DQbYREXkbK1egcDAr2E0/q0udzgqw2brBJvtEShKmB9LSEREVDTO1u32sNvbA7DBaDwAk%2BkvmEy7IIqXYbE4595WFDNstnawWh%2BHzdYZilLG30UnIvIrBthEhWQ0HkBAwNcICPgegpAOwJkB3G5vCau1ExyOBuA4NSIiun2YIUlNIUlNkZX1EgyGeJhMO2Ey7YDBcE4dt60oRtjtbWG1dofV2hWKUs7fBSciKnEMsIm84oDZvB5BQbNhMu38d6njbthsj7K1moiI7hCimpk8O/tZiOJZmEw7YDZvh8FwCmbzrzCbf0VIyCuuC89Pwmp9nME2Ed0xGGATFSgDAQHfIijoCzUTuPMKfUvYbB0hSfeArdVERHRnEiDLVWG1VoXV2g%2BimKAJtuNgNm%2BB2bwFISFvwG5/BNnZvWCzdYGihPq74ERExYYBNpEbopiEgIA5CAycD1FMBeCcXstqfQxWaxdeiSciIspFlu%2BG1doHVmsfiOIFmEzbYTZvdQXb/wez%2Bf%2BgKIGw2R51BdsdAAT4u9hERD7FAJtIw2A4jKCgz1zZwG0AAIejIqzWJ2CztQMQ6N8CEhER3QJkuSKs1l6wWntBFM/BbP4DJtMWGAyJsFh%2BhMXyI2S5FGy2bsjO7gW7/WHwtJSIbgesyYgAGI1/ITh4Bszm/1OXSVJ9WK2Pu6bYMvivcERERLcwWa6M7Oz/IDv7aRgMcTCZ/oDZvBWieAkBAd8iIOBbyHI4rNYnkJ3dG5LUDIDo72ITERUJA2y6oxmNO12B9UYAgKKIkKQWyM5%2BAg5HHT%2BXjoiI6HYiaBKkvQCD4QjM5q0wmZzBdmDgXAQGzoXDURlWa09YrT2Z64SIbjkMsOkOpMBk2oagoOkwm/9wLlEMrnk8e0OWK/m5fERERLc7EQ5HA2RlNUBW1iAYjX%2B7gm3n1F9BQR8jKOhjSFItV7DdCw5HtL8LTUTkEQNsuoMoMJk2Izh4OkymHc4lihE2W0dYrT0hyxF%2BLh8REdGdyAhJagJJagJgGEymPTCb/4DR%2BBeMxlgYjVMRHDwVknQ/srOd47r5m01ENysG2HQHUGAybURw8DSYTH85lygm2GydkJ3dE4pS3s/lIyIiIicL7PYWsNtbAMiEyfSnK9jeB6NxH0JC9iE4%2BG3Y7a2Rnd0HNls3KEqYvwtNRKRigE23NaNxF0JCJsJk2g4AUBQzbLbHkJ39JBTlLj%2BXjoiIiPIXBLv9Edjtj0AQrsJk2uoKtg/DbN4Ms3kzFOVV1wXzPrDZOoLTfhGRvzHAptuSwXAYwcGTYbGsB%2BAMrK3WLrBae0BRyvq5dERERFQYihIGm60rbLauEMUkVybyzTAYzsBiWQ2LZbVr2q/uyM7uA7u9FTgDCBH5AwNsuq2I4ikEB7/nmsdacSUv64Ds7KegKOH%2BLh4RERHdIFmOgNXaB1Zrb4jiaZjNW2A2b4EoXkRAwBIEBCyBLFdAdnZPWK19IEmNwEzkRFRSGGDTbUEUkxAUNAMBAQshCBIAwGZrjezs/0CW7/Zz6YiIiMj3BMhydWRnV0d29nOuab%2B2wGTaBlFMRlDQ5wgK%2BhwORxSys3vDau0NhyPK34Um%2Bn/27j1Oq7JQ%2B/i11nqe9ZxmBuQgKGoKCgoiYR4wFdTESkQJxQ4qkZWviexdvp96rc329Bq6rUxDdGse87BNMtnlqx02FloGaaBpKAqkJiqJBw7Dc1iH%2B/1jhnEQxHlgmHtmrd/380Fm1lrPcHEzDlxzr3XfSDgKNno0x1mrYvEaFQrXy3HKkqQgOESVyln8JQoAQGq03/brHGUyi%2BX7jyqb/ZM8b7lKpfYrkU9h9xAAOw0FGz1UoHz%2BdpVKs%2BS6b0mSwnC4yuWpiqKRlrMBAAB7sgrDwxWGh0sqt1uJ/C/tViL/N1YiB7BTULDRwxj5/q/U0DBTnveiJCmK9lK5/MXWv0h5xgoAAGxSUBAcqyA4tnUl8j/I9xewEjmAnYaCjR4jk3lKpdJM%2Bf6jkqQ47q1K5YzWvwz5VAYAAB%2BsZSXyCarVJnRgJfJTFQRjJWVtxwbQw9BK0O257qsqlS5TPn%2BvpE1bbk1SpXKapJLdcAAAoMfp2ErkfVSrTVSl8pnWss0/mwF8OL5SoBvboGLxahWL18lxKpKkWu04lctnyZhdLWcDAAA939ZWIn9U2ewf5bpvK5%2B/Q/n8Ha1l%2B2RVKpMo2wC2ia8O6IZi5XL3qqHhErnuG5KkMBypcvlsRdFQy9kAAEAytV%2BJ/H8pk3lW2ewf25Xt25XP36447qtqdaKq1c8oCI4W/5wG0B5fEdCtZDJPqKHh/yibfVKSFEW7q1I5W0EwRixgBgAAuoanMBylMBzVWrafaVe231KhcLsKhU1l%2B2RVq5Mo2wAk8VUA3YTrvq5S6RLl8/8lSTKmoErl86pWTxYLjAAAAHs8heFHFYYfVbl87lbK9m0qFG6jbAOQxP/5sK6iQmG2SqXvy3GaJUnV6gmqVM6SMX0sZwMAAGjv/WX7r8pmH1c2%2B4cPLNvGjLUdGkAXomDDEiPpAfXqdYFc9yVJUhgeoHL5HJ6zBgAAPYCnMBytMBzdVrZ9/4/KZN4/s72LpJOUzX5KYXic2AEFSDYKNrqc5y1TQ8O3JP1OrivFcV%2BVy2crCMaJ56wBAEDP817Zlr7Wrmz/Sa77jqQ71dBwp0qlvGq141StTlSt9ikZ09d2cACdjIKNLuM461QsXqVC4Xo5TijJV7U6WeXyaZIKtuMBAAB0gs3Ltu8/r2LxScXxY3Ld15XLPaRc7iEZ4yoIjlStNkHV6kmK471sBwfQCSjY6AJGudxP1dDw73Ld1ZKkIDhC2ez5qtV2Ucvt4gAAAEnjKYoOlHSompu/KGP%2Brmx2oXx/oTxvuXz/Mfn%2BY2pouFBhOErV6kmqVk9SFA0Xd/UBPRMFGzuV5/1VjY3fVDb7J0lSFA1SuXyOjDlU2WxBUtluQAAAgC7hKI73UbW6j6rVz8t131A2u0jZ7EJ53rPKZJ5WJvO0SqXvKooGq1qdoGp1osLwUEme7fAAOoiCjZ3Ccd5WqXS58vlb5TixjMm3brt1iqSsPP6eAAAAKRbHA1WtnqJq9RQ5zlpls39WNrtQmcxied5KFYuzVSzOVhzvqlrtRFWrJ6pWO0ZS3nZ0ANtAwUYni5TP36lS6RK57tuSpFptnMrls2VMP8vZAAAAuh9jeqlWG69abbyksrLZv7TObi%2BS6/5T%2BfztyudvlzEl1WqfaC3bn2SRNKAbomCj02Qyf1Zj4zeVySyRJEXR3iqXz1EYjrKcDAAAoKcoKAiOUhAcJSlQJvNM263krrtGudwvlMv9QsZ4CsMjVK2eqGp1guJ4H9vBAYiCjU7gOG%2BqoeFi5fN3SZKMKalcPkO12gTxKQYAALC9sgrDgxWGB6tcPleet7zdc9t/Vzb7B2Wzf1BDw3cUhsNbZ7YntK5g7toOD6QS7Qc7IFSh8GMVi7PkumslSdXqCapUpsqYXSxnAwAASBJHUbSfomg/VSpntlskbVHrImlLlcksVan0fcXxbq0z2ycqCMZKytkOD6QGBRvbJZt9TA0N31Qms1SSFIZDVS7/L0XR/paTAQAAJN/mi6StVybzhHz/z8pknpTrvq5C4RYVCrfImEbVase3zm6fwCQIsJNRsFEX112lhoaZyuXulyTFcZMqlS%2B2LsrB0uAAAABdzZhGBcFxCoLjJNWUyfy13SJpbymXe0C53AOtz20f1Ta7HccfsR0dSBwKNjqoomLxOhWL35fjbJQxrmq1E1WpnCljGm2HAwAAgCTJVxgeojA8ROXy1%2BR5L7a7lfwlZbMLlM0uUEPD/1EYHti6BdgEheFHJTm2wwM9HgUbH8LI9x9SQ8N35Hl/lySF4YjW28GHWM4GAACAD%2BYqioYpioapUpkq131d2ezC1rL9N2UyzyqTeVbF4lWKokGq1T6tanWCguBoSb7t8ECPRMHGB/K8ZWpo%2BJZ8/3eSpDjup3L5SwqCceI7nAAAAD1Ly%2BJnn1G1%2Bhk5ztp2z23/RZ63SoXCzSoUblYcNykIxrc%2Btz1exvS2HR3oMSjY2ILjvKti8UoVCjfJcUIZk1W1OlmVyhRJBdvxAAAAsIOM6aUgOF5BcLxantt%2BStnsn1v3235Hudz9yuXulzEZBcHRrWX7RMXxnrajA90aBRvtxMrn71KpdIlcd40kKQiOULn8ZcXxbpazAQAAYOfwFYaHKQwPU7l8njzvhXb7bb8i3/9d6x2N31QYjmpdJG2ComikuKsR2BwFG5KkTGaRGhq%2BpWx2iSQpivZSufxVheHBlpMBAACg67iKov0VRfurUvmiXHdVu0XSliqTeVqZzNMqla5QFA1p3SpsksJwlCjbAAU79Vz3dZVKFymf/6kkyZiSKpUzVK1OEJ8eAAAA6RbHg1StTla1OlmOs7b1NvKW/bY9b4WKxatVLF6tKBrcrmyzIjnSiwaVWlUVCnNUKn1PjtMsYxwFwSdVLp/FQhYAAADYgjG9VKuNV602XlJZ2ewT8v0/KpN5Qp63UsXiD1Us/lBRtE%2B7sj1alG2kCQU7dYx8/1dqaPi2PG%2BlJCkMh6tcPkdRtJ/lbAAAAOgZCgqCsQqCsWop20%2B2lu0/y/P%2BrmLxGhWL1yiK9m5Xtg8WZRtJR8FOEc97QQ0NF8r3/0eSFMd9W7fdOkZ8sQMAAMD2KSgIjm7dP7uibPYJZbN/VDb7hDzvJRWL16pYvFZR9JF2Zftj4t%2BfSCIKdgq0bLv1PRUKN7TbduszrdtuFW3HAwAAQGLk31e2n2wt23%2BW572sYvFHKhZ/pCjaq13ZPkSUbSQFBTvRAuXzt6pUukKu%2B3bLkeDw1m23BlnOBgAAgGTLKwiOUhAcpZay/ZfWsr1InveKisXZKhZnK4r2VqUyRdXqZxVFQ22HBnYIBTuRjHz/YTU0/Ls870VJm7bd%2BnLrdwgBAACArpRXEBypIDhSUrV1Zvvx1r22X1Kp9D2VSt9TGI5uLdunKY4H2g4N1I2CnTCZzFMqlf5Nvv%2BYJCmOe6tSOUO12icleXbDAQAAAMq1K9sVZbOL5PsLlMk8qUxmiRoalqhUmqkgOEaVyumq1SbKmEbboYEOoWAnhOuuUql0mXK5e%2BU4Rsb4qlYn8Zw1AAAAurG8gmCcgmBc6z7bj7WW7aXy/Ufk%2B4/ImG%2BoVpugSmWKarXjJWVthwY%2BEAW7h3Oc9SoUrlWxOFuOU5Yk1WrHqlyeKmN2tZwOAAAA6JiWfbZPUq12klz3dWWzv5fv/16e96pyuZ8pl/uZ4rhv62K9n1UYHiYWR0N3Q8HusaoqFG5Vsfg9ue4aSVIYHqhy%2BWxF0TDL2QAAAIDtF8e7qVr9vKrVz8nzlreW7QVy3bdUKNysQuFmRdE%2B7RZH2892ZEASBbsHipXL3adS6bvyvJclSVE0SJXKFxUEHxffxQMAAEByOIqi/RRF%2B6lSOVuZzNPy/d8rm/2jPO/vKpWuUql0lcLwYEl/sR0WoGD3HEa%2B/2uVSpcpk3lWkhTHfVWpfF612njxRwkAAIBk8xSGB7eW6fOUzS6U7z/aujjaYtvhAEm0sh4hk1mkhoaLlc0%2BLkkypqH1dpiTJOXthgMAAAC6XF5BcIyC4Ji2xdGKrOuLboCC3Y153lKVSv9Xudz/k6TWlcFPVrV6GlsVAAAAAHpvcTQKNroDCnY35HnPq1S6Ur7/QOuWW65qtRNUqXxexvSzHQ8AAAAAsBUU7G7E815QsXilcrn75ThGkhQER6tcPkNxvKfldAAAAACAbaFgdwOe96KKxf9QLvczOU4sSQqCo1Quf05xvI/ldAAAAACAjqBgW%2BS6K1QqXaVc7qftivURqlQ%2BrygaYjkdAAAAAKAeFGwLPG%2BZisUfthbrSJIUBGNai/W%2BltMBAAAAALYHBbsLZTJPqli8Wrncg23HguCw1mI91GIyAAAAAMCOomDvdEbZ7O9VLF4t31/QdjQIjlSlchrFGgAAAAASgoK908Ty/V%2BqVPqhMpnFkiRjPNVqx6lanaw43styPgAAAABAZ6Jgd7qK8vm5Khavkee9KEkyJqda7VOqVCbJmF0t5wMAAAAA7AwU7E7ium8on79ZhcKtct01kiRjGlStTlS1OlHG9LKcEAAAAACwM1Gwd1Ams0SFwg3K5e6X4wSSpDjeVdXqyapWPympaDcgAAAAAKBLULC3Syjff1DF4g3KZv/03tHwQFWrExUER0jy7MUDAAAAAHQ5CnYdHOct5fN3qVC4SZ73D0mSMRkFwThVqxMVRftZTggAAAAAsIWC/aGMstk/KJ%2B/TbncL%2BQ4NUlSHPdSrXaiqtUTZUwfyxkBAAAAALZRsD%2BA46xRPn%2BPCoXb5Hkr2o6H4VDVaieqVhsnybcXEAAAAADQrVCwNxMrm31MhcJt8v1fti1aZkxRtdqxqtVOUBTtazkjAAAAAKA7omBLct2XlM/fp3z%2Bv943Wz1MtdonVauNlVSwFxAAAAAA0O2lvGDfqMbGnyiTebztSMts9XGts9VDLGYDAAAAAPQkKS/Y5yqTkYxxFIajFQRjVasdJWarAQAAAAD1SnnB3leVyjGqVo%2BWMf1shwEAAAAA9GApL9g/VhCUZYyxHQQAAAAA0MO5tgMAAAAAAJAEFGwAAAAAADoBBRsAAAAAgE5AwQYAAAAAoBNQsAEAAAAA6AQUbAAAAAAAOgEFGwAAAACATkDBBgAAAACgE1CwAQAAAADoBBRsAAAAAAA6AQUbAAAAAIBOQMEGAAAAAKATULABAAAAAOgE3aZgz507VyeffLJGjhypI444Queee%2B5m5xcsWKBJkyZp5MiRGj9%2BvO6%2B%2B25LSQEAAAAA2FLGdgBJmj17tm6//Xade%2B65GjVqlNauXavHHnus7fySJUt03nnn6ZRTTtGFF16oxYsX6/LLL5fv%2B5oyZYrF5AAAAAAAtLBesFesWKEbbrhBN910k4466qi24%2BPHj297e86cORo%2BfLhmzZolSRozZoxef/11XXvttTr11FPlut1mIh4AAAAAkFLWm%2BnPf/5z7bnnnpuV6/ZqtZoWLlyoCRMmbHZ84sSJevPNN7V06dKuiAkAAAAAwDZZL9hPP/20hg4dqjlz5uiII47QgQceqDPPPFPPPfecJOmVV15REAQaPHjwZq/bd999JbXMgAMAAAAAYJv1W8TffPNN/e1vf9OLL76oSy%2B9VNlsVtddd52%2B9KUv6Te/%2BY3Wrl0rSWpqatrsdZve33R%2B%2B3xcpZKRZHbgY2D7OJIcxt8Kxt4uxt8uxt8ext4uxt8exr4rOI5vOwIgqRsUbGOMNm7cqNmzZ2u//faTJI0YMUKf%2BMQn9NOf/lQHH3ywJMlxnK2%2B/oOOd%2BzXzsp1t//12HE8Pm8PY28X428X428PY28X428PY7/zGRPLcV61HSOhYkmV1h/l1h%2BVD/i5/L5r2x%2BvfsDr218Td9Hvqb2CpJKk70j6xg59JOsFu1evXurXr19buZakXXfdVYMHD9by5ct17LHHStpypnrdunWStpzZrofjOFq3rqwosvGHmG6e56qpqcD4W8DY28X428X428PY28X428PYd42mpoIcJ1Zz8woZU7UdpwuFkqpynGodP9daf67IcWofcF2t9fym62td/jszxpVUlDF5SQUZU2j3flHGFCXlZUxJxhTbnS%2B87/pC649i6/F829txXJCU1%2BZPTjdvNc8uu5Q6lNt6wR4yZIhee%2B21LY4bY%2BS6rvbaay9ls1mtXLlSY8eObTu/fPnyttfviCiKFYZ8sbOF8beHsbeL8beL8beHsbeL8beHsd/5jGkZZ2Nsj3Os90ppS2ndWsHdWvndWuHdvBS//%2BN1/e/VGP99JbbQrsS2L7lFxfGmUvte8W0ptcV21xcUx8XW4tv%2B42XV8ohFV%2Bi8cbResI855hg98MADeuGFFzR06FBJ0urVq7Vy5UpNnjxZvu9rzJgxevjhhzVt2rS21z344IPq37%2B/hg8fbik5AAAAgJ4jUkspff/Mba312LaK7NaL8Zav2fR21zLG0eaFN6/2M74tM7bFtqLb8nNR7y/H7V/zXjnOt3tdXpLX5b%2B/nsR6wR4/frxGjBihGTNm6F//9V/l%2B77mzJmjPn366PTTT5ckTZ8%2BXWeeeaZmzpypiRMnavHixZo7d64uu%2Bwy9sAGAAAAINf9p0qlC/Terc2VdoW3KseJujyTMb5abmN%2Bf/ltX243ld8ti2/LbO/mtzjH8ZYfq%2BXXYW2p7sB6wfY8Tz/%2B8Y81a9YsXXTRRQrDUIceeqh%2B8IMfqFgsSpJGjx6t66%2B/XldffbXmzZungQMHaubMmZoyZYrl9AAAAAC6A8epKJP5a4eufa/wvr/8tn9Wt/i%2BwvveLG77W55bivD7n%2B/Nt5Zj63ULXaxb/In37dtXP/jBD7Z5zbhx4zRu3LguSgQAAACgJ4nj3orjsXLdpXLdNVucNyarMDxEtdqRCsNDFQSHyJj%2BFpIiybpFwQYAAACAHWFMk5qbL5IxFTnOW8pkXlQm84I8b5k8b5kcp6Js9k/KZv/U9poo%2BoiC4GMKw0MUBIcqDEepZVVpYPtQsAEAAAAkiCNj%2BikI%2BikIjmg9FsrzXlUm82Jb4Xbdv8vzXpbnvSzp55I2zXIf2Fq4D1EYHqIo2lc834yOomADAAAASLiMomhvRdHeksa3HtuoTGZlu1nu5%2BS6bymbXaJsdokKhR9Larn1PAw/1lq4D1Wtdrw23zcZeA8FGwAAAEAKFVtnqw9sfd/IcdYom10uz1umbPZ3ct01ct135fvz5fvzJUkbN35Tzc3/bi82ujUKNgAAAIBUc5y18rxlymSWyfNeaL2FvHmL6%2BK4v6LoMAsJ0VNQsAEAAACkSCDPW9GuUC%2BT572xxVXG5BRFBykMD1MYHqZa7RBF0R7ieWxsCwUbAAAAQEIZue5r75udXinHCbe4Mor2VRgeojA8vPV56%2BEyJmshM3oyCjYAAACARGi51fvZdjPTL8h1129xXRz3VRQdrCA4vHVP7IMVx70sJEbSULABAAAA9Hiu%2B5qamk7d4rgxvqJoZNut3i2z03uJW72xM1CwAQAAAPR47W/7juNeqlS%2BpVrtKIXhCBnjW0yGNKFgAwAAAOjxjGmSVJLjNMt11yqf/6GMWa8w3ENSf9vxkBLskA4AAACgx4vj3lq37h6Vy%2BcqjgfKddeoVLpSffsOV0PD%2BfK8521HRApQsAEAAAAkREnV6kStW3eTmpu/oyg6QI5TVaHwE/Xpc5h69ZqsbPYRScZ2UCQUt4gDAAAASBhPQXCkguDj8rznlc//tzKZP8j3/0e%2B/z8KwxHauPF8VatfEIudoTNRsAEAAAAklKMoOkDNzQfIdd9QoXC7stnHlMn8TU1NX9O6dVlVq6fbDokEoWADAAAASDTPW6Fc7gFlMo%2B3HYuifRRFH7OYCklEwQYAAACQQLEymSeVyz2gbPavbUfDcIzK5a%2BrWv2UjGFJKnQuCjYAAACABKnI93%2BnXG6ePO9VSZIxnoLgFG3c%2BK8KgtGW8yHJKNgAAAAAejzHiZTL3S7f/4Vcd50kyZhGVavTVC6fpzAcZDkh0oCCDQAAAKDHc5zXlM/fJUmK4z1UqZyvcnmq4rjBcjKkCQUbAAAAQI/nOC17W1ern9H69bfIGKoOuh5P9QMAAADo8YzJS5JyuQfzEXX%2BAAAgAElEQVTU0DBD0ka7gZBKFGwAAAAAPV4c76pK5WwZ4yqfv1u77HKsPO9527GQMhRsAAAAAIlQrX5Bzc2zFMd9lMk8p112OUa53D22YyFFKNgAAAAAEiMMR2r9%2Bh8pCA6W42xUU9O5amiYLqliOxpSgIINAAAAIFGM2UXNzZeoWj1BklQo3Kl8/j7LqZAGFGwAAAAACWPk%2B/Pl%2BwskSXE8QGE4znImpAFr1wMAAABIkLKKxevl%2B49IkoLgWK1ff4uiqJ/lXEgDCjYAAACARHDdv6tYvFSe96qMcVWp/Js2bPjf4sZddBUKNgAAAIAez3Ga1dBwvhynqjgeoA0bble1eqTtWEgZCjYAAACAHs9135JUVRCM0/r1t3FLOKygYAMAAABIhDjupXXrblcc97UdBSnFwwgAAAAAejxjPLnuWjU1fUHseQ1bKNgAAAAAejxjdpUxDcpm/6Smpq9Kim1HQgpRsAEAAAD0eMZk1dx8iYzJKpf7bzU0fFuSsR0LKUPBBgAAAJAIUfRRbdz4DUlSoXCDCoXrLCdC2lCwAQAAACRGEIxTtTpBklQqXSYpsBsIqULBBgAAAJAYnrdCvv%2BIJCkITpGUtRsIqULBBgAAAJAIjrNapdIlcpyyguBIrVs3x3YkpAwFGwAAAECP5zixSqVvy3XfVhQN07p198qYnO1YSJmM7QAAAAAAsKMc50257iuK4wFat26e4riX7UhIIWawAQAAAPR4jlOVMQ1av/6/FYaDbMdBSlGwAQAAACRCGB6qWu0A2zGQYhRsAAAAAD2eMVI2%2Bzv5/jzbUZBiFGwAAAAAPZ4xLc9cNzZ%2BS47zruU0SCsKNgAAAIAez5gmRdGect2WrboAGyjYAAAAABLAUbn8dUlSoXCrMpmFlvMgjSjYAAAAABIhikYpCEZJkorF2%2B2GQSpRsAEAAAAkguu%2BqEzmGUlSrTbZchqkEQUbAAAAQCIUCj%2BU48Sq1U5RpXKC7ThIoYztAAAAAACwoxxnvTzvBRnTpA0bfmA7DlKKGWwAAAAAPd6mrbk2bvy/iqJdLadBWlGwAQAAAPR4jmMUhodp48Yv2o6CFKNgAwAAAEiEKBopKg5s4rMPAAAAQCL4/l1ynNW2YyDFKNgAAAAAejxjcnKcqkqlObajIMUo2AAAAAB6PGOaJEn5/M1tC54BXY2CDQAAAKDHM6agKNpHjrNBhcLNtuMgpSjYAAAAABIhCI6RJPn%2BArtBkFoUbAAAAACJkM3Ol/Re0Qa6WsZ2AAAAAADYUY5Tluu%2BImMaVS6fYzsOUooZbAAAAAA9nuOslSRVKl9VHDdaToO0omADAAAA6PEcpyZjciqXz7cdBSlGwQYAAACQCLXaWYqifrZjIMUo2AAAAAASwZhdbEdAylGwAQAAACSC7/%2BXpNh2DKQYBRsAAABAj2eMK9d9Vb7/R9tRkGIUbAAAAAAJUJQk5XL3WM6BNKNgAwAAAOjxjClJknK5eZKa7YZBalGwAQAAAPR4xuRkTFaO06xMZoXtOEgpCjYAAACAHs9xynKcQHHcV1F0gO04SCkKNgAAAIAez3Fabguv1U6TMVnLaZBWFGwAAAAACVCWJFUqZ1rOgTSjYAMAAADo8RzHKIqGKQgOsh0FKUbBBgAAAJAItdoZkhzbMZBiFGwAAAAACRHbDoCUo2ADAAAASIRs9mHbEZByFGwAAAAAieB5T8hx3rIdAylGwQYAAADQ4xmTlePEyuX%2Bx3YUpBgFGwAAAECPZ0xBkuT7v7KcBGlGwQYAAACQAFlJkue9YDkH0oyCDQAAAKDHc5yqJCkMj7CcBGlGwQYAAACQAGVJUq12ouUcSDMKNgAAAIAez3EiGVNUrXak7ShIMQo2AAAAgEQIw3EyJmc7BlKMgg0AAAAgEYKA28NhFwUbAAAAQEI02w6AlKNgAwAAAEiETOYPtiMg5SjYAAAAABIhk3lcUmw7BlKMgg0AAACgxzPGkeu%2BLc973nYUpBgFGwAAAEACtKwe7vuPW86BNKNgAwAAAEgAr%2BW/3irLOZBmFGwAAAAACVCTJIXhxyznQJpRsAEAAAD0eI4TSJJqtY9bToI0o2ADAAAASIQoGqY47mM7BlKMgg0AAAAgEcLwKNsRkHIUbAAAAACJEIZH2o6AlKNgAwAAAEgEx3nHdgSkHAUbAAAAQCJ43hLbEZByFGwAAAAAiZDJ/MV2BKQcBRsAAABAIrjuMknNtmMgxSjYAAAAAHo8Yzw5Tqxs9hnbUZBiFGwAAAAACdBSbVz3Lcs5kGbWC/bPf/5zDRs2bIsf3//%2B9ze7bsGCBZo0aZJGjhyp8ePH6%2B6777aUGAAAAED3E0iSwvAgyzmQZhnbATa5%2Beab1djY2Pb%2BgAED2t5esmSJzjvvPJ1yyim68MILtXjxYl1%2B%2BeXyfV9TpkyxERcAAABAN%2BI4Uhz3URTtYTsKUqzbFOwRI0aoT58%2BWz03Z84cDR8%2BXLNmzZIkjRkzRq%2B//rquvfZanXrqqXJd6xPxAAAAACyLoo9KcmzHQIp1%2B2Zaq9W0cOFCTZgwYbPjEydO1JtvvqmlS5daSgYAAACgO4mij9mOgJTrNgX7pJNO0gEHHKBPfOITuvHGGxVFkSTplVdeURAEGjx48GbX77vvvpKkFStWdHlWAAAAAN1PFI2yHQEpZ/0W8f79%2B2vGjBkaNWqUHMfRI488omuuuUarV6/WRRddpLVr10qSmpqaNnvdpvc3nd9entdtvseQKpvGnfHveoy9XYy/XYy/PYy9XYy/PYx913Ldt5TJMNawx3rBPvroo3X00Ue3vX/UUUcpl8vpjjvu0Lnnntt23HG2/izFBx3vqKamwg69HjuG8beHsbeL8beL8beHsbeL8beHse8ahcILKhRKtmMgxawX7K359Kc/rVtvvVXPPfecBg0aJGnLmep169ZJ2nJmu17r1pUVRfEOfQzUz/NcNTUVGH8LGHu7GH%2B7GH97GHu7GH97GPuu0dRUkOdJYfiU1q9vth0HCbTLLh37xk23LNjt7bXXXspms1q5cqXGjh3bdnz58uWSpCFDhuzQx4%2BiWGHIFztbGH97GHu7GH%2B7GH97GHu7GH97GPuu4bpLFYaRWEkctnTLBxQeeugheZ6n4cOHy/d9jRkzRg8//PBm1zz44IPq37%2B/hg8fbiklAAAAgO7CGMl135HrvmE7ClLM%2Bgz2l7/8ZY0ZM0ZDhw6VJM2fP1/33Xefpk6dqv79%2B0uSpk%2BfrjPPPFMzZ87UxIkTtXjxYs2dO1eXXXYZe2ADAAAA0KZZa8fhFnHYY71g77PPPvrZz36mN954Q3Eca%2B%2B999Z3vvMdnXXWWW3XjB49Wtdff72uvvpqzZs3TwMHDtTMmTM1ZcoUi8kBAAAAdBeOY2SMrzje23YUpJj1gj1z5swOXTdu3DiNGzduJ6cBAAAA0FPF8X4yxnrFQYpxfzUAAACARIiiEbYjIOUo2AAAAAASIYpG2o6AlKNgAwAAAEiEKBpqOwJSjoINAAAAIBEc503bEZByFGwAAAAAieB5L9qOgJSjYAMAAABIBAo2bKNgAwAAAEgE133BdgSkHAUbAAAAQCK47kuSAtsxkGIUbAAAAAAJEclxItshkGIUbAAAAACJYMwgGZO3HQMpRsEGAAAAkAhRtK/tCEg5CjYAAACARIjj/WxHQMpRsAEAAAAkQhTtbzsCUo6CDQAAACAR4nhP2xGQchRsAAAAAIngOGtsR0DKUbABAAAAJILnvWQ7AlKOgg0AAAAgEVz377YjIOUo2AAAAAASgYIN2yjYAAAAABKBgg3bKNgAAAAAEsLYDoCUo2ADAAAASIQ4/ojtCEg5CjYAAACARIjjfWxHQMpRsAEAAAAkAgUbtlGwAQAAACRCHA%2B2HQEpR8EGAAAAkAhRNNB2BKQcBRsAAABAIrjum7YjIOUo2AAAAAASwXVftR0BKUfBBgAAAJAIrvsP2xGQchRsAAAAAInguq/YjoCUo2ADAAAASAQKNmyjYAMAAABICMd2AKQcBRsAAABAIsTxnrYjIOUo2AAAAAASIY73sh0BKUfBBgAAAJAIFGzYRsEGAAAAkAjcIg7bKNgAAAAAEiGO%2B9qOgJSjYAMAAABIBNddYzsCUo6CDQAAACARXPd12xGQchRsAAAAAInguqtsR0DKUbABAAAAJAIFG7ZRsAEAAAAkguO8ZjsCUo6CDQAAACAhMrYDIOUo2AAAAAASIY4H2Y6AlKNgAwAAAEgECjZso2ADAAAASARjKNiwi4INAAAAIBHieHfbEZByFGwAAAAAiRDHvW1HQMpRsAEAAAAkguuusR0BKUfBBgAAAJAIrvuG7QhIOQo2AAAAgERwnNW2IyDlKNgAAAAAEsF1X7cdASlHwQYAAACQCMxgwzYKNgAAAICEyNoOgJSjYAMAAABIhDjezXYEpBwFGwAAAEAiGEPBhl0UbAAAAACJEMcDbUdAylGwAQAAACQCBRu2UbABAAAAJIIxDbYjIOUo2AAAAAASwXXX2I6AlKNgAwAAAEgE1/2n7QhIOQo2AAAAgERwHAo27KJgAwAAAEgEZrBhGwUbAAAAQCI4zmrbEZByFGwAAAAAiWBMwXYEpBwFGwAAAEAiGDPAdgSkHAUbAAAAQCJQsGEbBRsAAABAIsQxBRt2UbABAAAAJEIc72o7AlKOgg0AAAAgEVjkDLZRsAEAAAAkguuusR0BKUfBBgAAAJAIrvum7QhIOQo2AAAAgERwHAo27KJgAwAAAEgE111tOwJSjoINAAAAIBGYwYZtFGwAAAAAiWBMyXYEpBwFGwAAAEAiGMM%2B2LCLgg0AAAAgEeJ4oO0ISDkKNgAAAIBEMKa/7QhIOQo2AAAAgESI4362IyDlKNgAAAAAEsEY33YEpBwFGwAAAEAiuC7bdMEuCjYAAACARHDd1bYjIOUo2AAAAAASwXH%2BaTsCUo6CDQAAACARXPcN2xGQchRsAAAAAIngODyDDbso2AAAAAASwZhG2xGQchRsAAAAAIlgzEDbEZByFGwAAAAAiRDHA2xHQMpRsAEAAAAkAjPYsI2CDQAAACAR4ri/7QhIOQo2AAAAgERwnGbbEZByFGwAAAAAiZDJ/MV2BKQcBRsAAABAInjeE7YjIOUo2AAAAAASwfP%2BKqlqOwZSjIINAAAAoMczxpXj1JTNPms7ClKMgg0AAAAgAbKSpEzmecs5kGYUbAAAAAAJEEqSomgfyzmQZhRsAAAAAD2e40QyxlMQjLIdBSlGwQYAAACQCHE8TMaUbMdAilGwAQAAACRCGB5iOwJSjoINAAAAIBGiaIztCEg5CjYAAACARIiigbYjIOW6VcFubm7W2LFjNWzYMD3zzDObnVuwYIEmTZqkkSNHavz48br77rstpQQAAADQHTnOu7YjIOW6VcG%2B/vrrFUXRFseXLFmi8847T8OHD9ePf/xjfeYzn9Hll1%2BuuXPnWkgJAAAAoDty3bdtR0DKdZuCvWLFCt1zzz2aMWPGFufmzJmj4cOHa9asWRozZozOO%2B88nXbaabr22msVx7GFtAAAAAC6G8d5x3YEpFy3Kdjf/e539bnPfU777LP5xvC1Wk0LFy7UhAkTNjs%2BceJEvfnmm1q6dGlXxgQAAADQTTGDDdu6RcH%2B1a9%2Bpeeff17Tp0/f4twrr7yiIAg0ePDgzY7vu%2B%2B%2BklpmvgEAAABAWmc7AFIuYztAuVzWlVdeqQsuuEANDQ1bnF%2B7dq0kqampabPjm97fdH57eV63%2BB5D6mwad8a/6zH2djH%2BdjH%2B9jD2djH%2B9jD2XctxmpTJMNawx3rBvuGGG9S3b19Nnjx5m9c5jlPX8Y5qairs0OuxYxh/exh7uxh/uxh/exh7uxh/exj7ruH7A%2BT7JdsxkGJWC/aqVat06623as6cOdqwYYMkaePGjW0/Nzc3q1evXpK2nKlet67l9o/3z2zXa926sqKIhdK6mue5amoqMP4WMPZ2Mf52Mf72MPZ2Mf72MPZdo6mpIM%2BTKpVGlcvNtuMggXbZpWPfuLFasF999VUFQaBzzjlni3NTp07VqFGjdNdddymbzWrlypUaO3Zs2/nly5dLkoYMGbJDGaIoVhjyxc4Wxt8ext4uxt8uxt8ext4uxt8exr5rRFFvxhlWWS3YBxxwgH7yk59sduy5557TFVdcoUsvvVQjR46U7/saM2aMHn74YU2bNq3tugcffFD9%2B/fX8OHDuzg1AAAAgO4ojnvbjoCUs1qwm5qadPjhh2/13IgRIzRixAhJ0vTp03XmmWdq5syZmjhxohYvXqy5c%2Bfqsssuk%2BuyiAEAAAAAqZtskoQUs77IWUeMHj1a119/va6%2B%2BmrNmzdPAwcO1MyZMzVlyhTb0QAAAAB0E47DNl2wq9sV7MMPP1zLli3b4vi4ceM0btw4C4kAAAAA9ASOs8F2BKQc91AAAAAASATXXfvhFwE7EQUbAAAAQCI4znrbEZByFGwAAAAACbHRdgCkHAUbAAAAQCIY02A7AlKOgg0AAAAgIRptB0DKUbABAAAAJIIxTbYjIOUo2AAAAAASIY4p2LCLgg0AAAAgEYzhFnHYRcEGAAAAAKATULABAAAAJILjbLAdASlHwQYAAACQCI7DPtiwi4INAAAAICEo2LCLgg0AAAAgEVy32XYEpBwFGwAAAEBC1GwHQMpRsAEAAAAkRMF2AKQcBRsAAABAIhhTsh0BKUfBBgAAAJAIcVy0HQEpR8EGAAAAkBAUbNhVd8F%2B9tlnd0YOAAAAANgh3CIO2%2Bou2Keddpo%2B%2B9nP6he/%2BIWCINgZmQAAAAAA6HHqLthXXnml4jjWt771LR1zzDG65ppr9MYbb%2ByMbAAAAABQh6rtAEi5ugv2pEmTNHfuXN1333068sgjdeutt%2Br444/XjBkztGjRop2REQAAAAA%2BlONQsGHXdi9ydtBBB%2Bmqq67S73//e51//vl69tlnNW3aNJ100km69957Va3yyQ0AAACgK9FBYNcOryLu%2B77y%2Bbyy2ayMMSqXy7rkkkt0wgkn6KmnnuqMjAAAAADwoRyHNaJg13YX7Oeff14XXXSRjj76aH3/%2B9/XQQcdpPvuu0/z58/XvHnzNGDAAF100UWdmRUAAAAAtiGyHQApl6n3BQ899JDuvvtuLV68WH369NGXvvQlff7zn1f//v3brtl///31jW98Q1/5ylc6NSwAAAAAfLCs7QBIuboL9gUXXKDhw4dr1qxZmjBhgnzf3%2Bp1e%2Byxh04%2B%2BeQdDggAAAAAHWHM1rsJ0FXqLth33XWXDjnkkA%2B9bs8999QVV1yxXaEAAAAAoH452wGQcnU/g33//ffrH//4x1bPrVq1St/%2B9rd3OBQAAAAA1IsZbNhWd8GeN2%2Be3nnnna2ee%2BeddzRv3rwdDgUAAAAA9aNgw666C7Yx5gPPrV279gOfyQYAAAAAIMk69Az2E088oUWLFrW9P3fuXD366KObXVOtVjV//nwNGTKkcxMCAAAAQId88GQg0BU6VLAXLVqk6667TpLkOI7mzp271et233139r4GAAAAYAn7YMOuDhXsr3zlKzrjjDNkjNHHP/5x3XLLLRo%2BfPhm1/i%2Br1KptFNCAgAAAMCHi20HQMp1qGDn83nl83lJ0vz589W/f3%2BetQYAAADQrTgOM9iwq%2B59sAcNGrQzcgAAAADADlpvOwBSrkMFe%2BrUqbr44os1ZMgQTZ06dZvXOo6jO%2B64o1PCAQAAAEBHed7fbUdAynWoYLffmmtb23R15DwAAAAA7Ayet9x2BKRchwr2nXfeudW3AQAAAKC7cF0KNuxybQcAAAAAgM7guittR0DKUbABAAAAJILrviWp2XYMpFiHbhHff//95ThOhz6g4zhaunTpDoUCAAAAgHoZk5NUsB0DKdahgj19%2BvQOF2wAAAAAsCGOB4ubdGFThwr2jBkzdnYOAAAAANghUbSf7QhIOb69AwAAACAR4niY7QhIuQ7NYG/NCy%2B8oBUrVqharW5xbtKkSTsUCgAAAADqFUVDbUdAytVdsMvlsr72ta9p4cKFchxHxhhJ2uwZbQo2AAAAgK5mzHbPHwKdou5bxK%2B//nqtWrVKd911l4wxuu6663Tbbbdp/Pjx%2BshHPqIHHnhgZ%2BQEAAAAgG3KZJ6yHQEpV3fBnj9/vr761a9q9OjRkqTddttNRxxxhH70ox9pxIgRuueeezo9JAAAAAB8mEzmL7YjIOXqLtirVq3S4MGD5XmeHMdRuVxuOzdx4kTNnz%2B/UwMCAAAAQEd43hJJse0YSLG6C3ZjY6M2btwoSerbt69efvnltnNhGLadAwAAAICuYowjx2lWJvOi7ShIsboL9rBhw/TSSy9Jkg4//HDdeOONevLJJ/XXv/5Vc%2BbM0f7779/ZGQEAAADgQ2QlSZnMUss5kGZ1L7N36qmnts1af/3rX9cXvvAFnXXWWZKkpqYm3XTTTZ2bEAAAAAA%2BVCRJiuNBlnMgzeou2CeeeGLb23vuuad%2B/etft23ZNXr0aPXu3btTAwIAAADAh3GcSMZ4CoIDbUdBiu3wRnHFYlHHHXdcZ2QBAAAAgO0Wx8NkTNF2DKRY3QX7tdde%2B9Brdt999%2B0KAwAAAADbKww/ZjsCUq7ugn3cccfJcZxtXvPcc89tdyAAAAAA2B5RdJjtCEi5ugv2rFmztijY77zzjh555BG98cYb%2BtrXvtZp4QAAAACgo4zJ246AlKu7YE%2BePHmrx88%2B%2B2z9y7/8i15//fUdDgUAAAAA9cpknpT0WdsxkGJ174O9LZMnT9bPfvazzvyQAAAAANAhnrfQdgSkXKcW7DAMtW7dus78kAAAAADQIZ73rKSNtmMgxTqlYAdBoGeffVazZ8/W/vvv3xkfEgAAAAA6zBhPjhMpm11iOwpSrO5nsPfff/8PXEW8qalJt9xyyw6HAgAAAID6%2BJKkTGapguBIy1mQVnUX7OnTp29RsH3f1x577KGxY8eqoaGh08IBAAAAQMcEkqQ43sdyDqRZ3QV7xowZOyMHAAAAAGw3xwklSUFwiOUkSLNOXeQMAAAAAGyJon0Vx71tx0CK1T2D/e1vf7vD1zqOo1mzZtX7SwAAAABA3cLwMNsRkHJ1F%2BxFixZp/fr1Wr9%2BvTKZjHr37q13331XYRiqsbFRjY2Nbdd%2B0GJoAAAAANDZomiM7QhIuboL9jXXXKMZM2bo4osv1qc//Wl5nqcoivTQQw/pe9/7nq655hoddNBBOyMrAAAAAHygOGbBZdhV9zPY//Ef/6Gzzz5bJ510kjzPkyR5nqeJEyfq7LPP5pZwAAAAAFZkMkttR0DK1V2w//a3v2no0KFbPTd06FA9//zzOxwKAAAAAOrlec/YjoCUq7tgNzQ06PHHH9/quccff5x9sAEAAABY4Xl/sx0BKVf3M9gnn3yybrnlFoVhqIkTJ6pfv35as2aNfvnLX%2BqOO%2B7QtGnTdkJMAAAAANg2131VjvOujGGrLthRd8G%2B4IIL9Pbbb%2Bu2227T7bff3nbcGKOTTz5ZF1xwQWfmAwAAAIAPZYwrx5E87yWF4Udtx0FK1V2wM5mMrrzySp1zzjlatGiR3n33XfXu3VuHHXaYhgwZsjMyAgAAAMA2OU4sSYrjj1hOgjSru2BvMnjwYA0ePLgzswAAAADAdovj3RTHu9iOgRSre5EzAAAAAOiOomi47QhIOQo2AAAAgESIooNsR0DKUbABAAAAJEIUjbQdASlHwQYAAACQCHG8q%2B0ISDkKNgAAAICECG0HQMpRsAEAAAAkguPUbEdAytW9Tddxxx0nx3G2es51XTU2NmrkyJGaOnUq%2B2IDAAAA6EKB7QBIubpnsA877DAZY7R69WoNGjRIo0aN0u67767Vq1criiLttttu%2Bu1vf6tTTz1VzzzzzM7IDAAAAABbwQw27Kq7YB911FHyfV%2B//e1v9ZOf/ERXX3217rzzTv3mN7%2BR7/s6/vjj9etf/1p77723Zs%2BevTMyAwAAAMAWHCeyHQEpV3fB/s///E/NmDFDu%2B2222bHd999d02fPl033XSTGhsbNW3aND311FOdFhQAAAAAtsWYup%2BABTpV3QX75ZdfVkNDw1bPNTU1adWqVZKkQYMGqVwu71g6AAAAAOiwrO0ASLm6C/buu%2B%2BuBx54YKvn7r///raZ7XfffVe9evXasXQAAAAA0GEUbNhV9z0UX/7yl3XRRRfpc5/7nD71qU%2BpX79%2BWrNmjX71q1/p6aef1mWXXSZJWrRokQ488MBODwwAAAAAW2MMBRt21V2wTz/9dBljNHv2bF155ZVtx/v166dLL71UU6ZMkSSde%2B658n2/85ICAAAAwDbxDDbs2q7PwM9%2B9rM6/fTTtXLlSr377rvq3bu3Bg8evNn%2B2P369eu0kAAAAADwYVz3NdsRkHLb/S0ex3E0ZMiQzswCAAAAANvN8561HQEpt10Fe8OGDXr00Uf12muvqVKpbHbOcRxNnz69U8IBAAAAQEd53jO2IyDl6i7YTz/9tM455xytXbt2q%2Bcp2AAAAABsaCnYRpLzYZcCO0XdBfuKK67QgAEDdPPNN2vYsGEsZAYAAADAOmMk131LjvNPGTPAdhykVN37YC9btkxf//rXNXLkSMo1AAAAgG7CkyRlMi9bzoE0q7tg9%2BnTZ2fkAAAAAIAdYFr%2Baxot50Ca1V2wzzrrLN17770yxuyMPAAAAACwHWJJkjG9LOdAmtX9DHYcx1q5cqUmTZqkY445Rr17997svOM4mjZtWmflAwAAAIAP5bSuaxbHFGzYU3fBvuqqq9reXrZs2RbnKdgAAAAAbDAmI2OKtmMgxeou2PPnz98ZOQAAAABghxjTJLbogk11F%2BxBgwbtjBwAAAAAsEPYngu21b3IGQAAAAB0R3G8h%2B0ISLkOzWBPnTpVF198sYYMGaKpU6du81rHcXTHHXd0OMBjjz2mG2%2B8UcuXL9eGDRs0YMAAHX/88Tr//PPV2PjeEvsLFoc6yNAAACAASURBVCzQD3/4Q61YsUIDBw7UtGnTdMYZZ3T41wEAAACQbHG8l%2B0ISLkOFez2W3J92PZc9W7ftXbtWo0ePVpf/OIX1dTUpBdffFGzZ8/Wiy%2B%2BqFtvvVWStGTJEp133nk65ZRTdOGFF2rx4sW6/PLL5fu%2BpkyZUtevBwAAACCZ/j979x4fRX3vf/w9u5tNQiAkAZSC0pagSIQKKhIqkhqliEBRgdZWvCBCBQTrXY9oLQ8KXpAqchOhHPVg649qOYJg1aoptYIewBYFLIkUFBHDJRdCLnuZ3x%2BY1TVBssmSb3bm9Xw8OE1mJpt3PhmT887cKNgwrUEF%2B9lnn6337XgYNmyYhg0bFnm/X79%2B8vv9uu%2B%2B%2B7Rv3z6dfPLJmj9/vnJycjRz5kxJUm5urvbu3avHH39cI0eOlMfDme4AAACA24XDp5qOAJdrkc209tnawWBQNTU1Wr9%2BvYYOHRq1zfDhw1VcXKytW7eaiAgAAACghQmH25mOAJeL%2BS7ikhQKhbR27Vpt2LBBJSUlysjIUL9%2B/XTJJZfI52vUSyoUCikYDKqwsFDz58/XhRdeqM6dO6uwsFCBQEBdu3aN2r5bt26SpKKiIvXs2bNRnxMAAACAc1hWlekIcLmY2/DBgwd1ww03aOvWrfL5fMrIyFBJSYlWrFih3//%2B91qyZImysrJiDnLhhRdq3759kqQLLrhAc%2BbMkXT0Gm1JSk9Pj9q%2B9v3a9Y3l9bbIg/iOVzt35t/8mL1ZzN8s5m8OszeL%2BZvD7JuXx3NEPh%2BzhjkxF%2BxZs2Zp586dmj17toYMGSKv16tQKKQ1a9bo17/%2BtWbNmqVHHnkk5iCLFy/WkSNHVFhYqAULFujGG2/UsmXLIustq/4Hxh9reUOlp6c26ePRNMzfHGZvFvM3i/mbw%2BzNYv7mMPvm0apVQK1apZmOAReLuWC/%2Beab%2BtWvfhV1YzKv16vhw4frwIEDmjdvXqOCnHHGGZKks88%2BWzk5ORo5cqRee%2B21yKng3zxSXVZWJqnuke1YlZVVKhQKN%2Bk1EDuv16P09FTmbwCzN4v5m8X8zWH2ZjF/c5h980hPT5XXK1VVHVJlZYXpOHCgzMyG/eEm5oJt27ZOO%2B20etedfvrpMT%2Bmqz49evSQ1%2BvV7t27lZ%2Bfr6SkJH388ccaOHBgZJvCwkJJUnZ2dpM%2BVygUVjDIDztTmL85zN4s5m8W8zeH2ZvF/M1h9s3Dtg8zZxgV8wUKP/zhD/WPf/yj3nVvv/22zjvvvCaH2rx5s0KhkE455RT5/X7l5uZq7dq1UdusXr1aHTp0UE5OTpM/HwAAAAAnaNwNl4F4iXkPnDRpkm666SaFQiENHz5c7du31/79%2B7Vq1Sq9%2BuqrmjdvnkpKSiLb1z5y61huuukm9ezZU927d1dKSoq2b9%2BuJUuWqHv37rr44oslSZMnT9aYMWM0bdo0DR8%2BXJs2bdKKFSs0ffp0noENAAAAQJJk261NR4DLWXaM53TXXistRd9grPZlvnnTsW3btn3r6y1evFhr1qzR7t27Zdu2OnfurEGDBmncuHFq3fqr/0AKCgo0Z84cFRUVqWPHjho7dqyuuuqqWKLX69ChCk4jMcDn8ygzM435G8DszWL%2BZjF/c5i9WczfHGbfPLKy0uT1/kdHjrymiopfmI4DB%2BrQoU2Dtov5CPbkyZObfOfur5swYYImTJhw3O3y8vKUl5cXt88LAAAAwFnCYe4gDrNiLthTpkw5ETkAAAAAoElsm4INs5p0AbNt2zp8%2BHBc7hwOAAAAAE3DTc5gVqP2wH/%2B85%2BaO3eu3nvvPQUCASUlJalv376aMmWKevfuHe%2BMAAAAAHBcllVuOgJcLuaC/c4772j8%2BPFKS0vT0KFDI3cRf%2BONNzRmzBg99dRT6t%2B//4nICgAAAADHZFllpiPA5WIu2LNnz1ZOTo6WLVumtLSvrnE4fPiwrrvuOs2ePVsvvPBCXEMCAAAAwPFwBBumxXwN9o4dO3TDDTdElWtJat26tcaPH68dO3bELRwAAAAANBRHsGFazAW7Xbt28njq/zCv16usrKwmhwIAAACAWFGwYVrMBftnP/uZ/vu//1uBQCBqeU1NjZYtW6af/vSncQsHAAAAAA2XbDoAXC7ma7B9Pp/27Nmjiy%2B%2BWIMGDVKHDh1UXFys1157TV6vV8nJyVq2bJkkybIsXXfddfHODAAAAAB12Ha66QhwuUbd5KzW//zP/9RZ/8gjj0TepmADAAAAaC623dZ0BLhczAX7r3/964nIAQAAAABNEg63MR0BLhdzwe7cufOJyAEAAAAATcIp4jAt5pucAQAAAEBLZFlHTEeAy8V8BFuS3nvvPT377LMqKipSVVVV1DrLsvT666/HJRwAAAAANJTP9y9JI0zHgIvFfAT7//7v/3TdddepvLxcRUVF6tq1q04%2B%2BWTt3btXPp9Pffv2PRE5AQAAAOBbeb2bTUeAy8VcsJ944gldccUVWrJkiSTpV7/6lZ577jm9%2BOKLqqio0KBBg%2BIeEgAAAACO52jBtk3HgIvFXLB37Nihiy%2B%2BWJZlSZJCoZAk6YwzztCkSZM0f/78%2BCYEAAAAgOOwbcnjOSCPZ6/pKHCxmAt2ZWWl0tLS5PF45Pf7dejQoci6rl27qqioKK4BAQAAAOD4jt5eyufbbjgH3Czmgt2pUyft379fktStWzcVFBRE1r333nvKyMiIXzoAAAAAaJCjZ9ba9ncM54CbxXwX8fPOO0/vvvuuLrnkEo0ePVq/%2Bc1vVFRUJL/fr7fffltjx449ETkBAAAA4Jgsy5ZtJysYPM10FLhYzAV7ypQpKi0tlST9/Oc/V1VVlVatWiVJmjhxom688cb4JgQAAACABgiFzpRtN%2BpJxEBcxLz3ZWVlKSsrK/L%2B2LFjOWoNAAAAwLhQqLfpCHC5mK/BBgAAAICWKBQ623QEuFyjzp/YunWrVq1apc8%2B%2B0zV1dVR6yzL0sKFC%2BMSDgAAAAAaKhw%2ByXQEuFzMBXvlypW655575PF4lJWVpaSkpKj1tc/HBgAAAIDmZFn7TEeAy8VcsBcuXKi8vDw99NBDatu27YnIBAAAAAAx83go2DAr5muwv/jiC11zzTWUawAAAAAtisfzmekIcLmYC3aPHj20bx9/GQIAAADQslCwYVrMBfvOO%2B/U4sWLtX379hORBwAAAAAaxbKKTUeAy8V8DXbv3r314x//WJdffrk6dOhQ51Rxy7L00ksvxS0gAAAAADSEbXMZK8yKuWAvXrxYTz75pLKystSpU6c6dxEHAAAAABPC4U6mI8DlYi7YzzzzjEaOHKnp06fL6/WeiEwAAAAAEDPb/o7pCHC5mK/Brqio0LBhwyjXAAAAAFoUjmDDtJgL9tlnn62ioqITkQUAAAAAGi0c7mg6Alwu5oJ977336o9//KNef/111dTUnIhMAAAAABAzy/rCdAS4XMzXYI8cOVLBYFBTpkyRZVlKSUmJWm9ZljZu3Bi3gAAAAADQEElJb0kaazoGXCzmgj148GBZlnUisgAAAABAo/l8BZLCasSJukBcxFywH3zwwRORAwAAAAAazbYteTwH5fNtUTB4luk4cCn%2BtAMAAADAAY5euur3v2U0BdyNgg0AAAAg4dm2X5Lk8/3TcBK4GQUbAAAAQMKzrKNPOAqFzjScBG5GwQYAAADgANWSpEDgR2ZjwNUo2AAAAAASnmWFZdttFAj0Nh0FLkbBBgAAAOAIweAA2bbXdAy4WIMe0/XZZ5/F9KKdOnVqVBgAAAAAaKxA4GLTEeByDSrY%2Bfn5siyrwS%2B6bdu2RgcCAAAAgMYIhznQB7MaVLBnzpwZKdjBYFALFy5USkqKLr30UrVv317FxcVas2aNqqqqNGnSpBMaGAAAAADq4/HsNR0BLteggn3FFVdE3p4zZ46ys7P15JNPyuP56hLuyZMna8KECdq1a1f8UwIAAADAcXg8e0xHgMvFfJOzlStX6he/%2BEVUuZYkj8ejX/ziF/rf//3fuIUDAAAAgIaiYMO0mAt2SUmJqqqq6l1XVVWlsrKyJocCAAAAgFhZ1qemI8DlYi7YOTk5WrBggQ4ePBi1/ODBg1qwYIF69OgRt3AAAAAA0FAeT7HpCHC5Bl2D/XV33323xo4dq4suuki5ubnq0KGDiouLtX79eknSsmXL4h4SAAAAAI7HttubjgCXi7lg9%2B7dW3/60580b948vfvuuyopKVFGRoYuvPBCTZw4UaeddtqJyAkAAAAA3yocPsV0BLhczAVbkrKzs/W73/0u3lkAAAAAoNEo2DAt5muwAQAAAKAlCodPNR0BLteoI9glJSVavXq1ioqK6txR3LIszZw5My7hAAAAAKChwuHvmI4Al4u5YH/22WcaNWqUKisrVVVVpczMTJWWlioUCqlt27Zq3br1icgJAAAAAN/KsvaZjgCXi/kU8UcffVTdunXTP/7xD9m2raeeekqbN2/WfffdJ7/fr8WLF5%2BInAAAAADwrXy%2Bd01HgMvFXLA3b96sn//850pOTpYk2bYtv9%2Bvq666SqNGjdLDDz8c95AAAAAAcDw%2B33rTEeByMRfsAwcOqEOHDvJ4PPJ6vTp8%2BHBk3XnnnaeNGzfGNSAAAAAANITXWyjLOmg6Blws5oLdrl07lZaWSpI6d%2B6sDz74ILLu008/ldfrjV86AAAAAGgA2z56e6mkJA74wZyYb3LWu3dvbdu2TRdddJEGDRqk%2BfPnq6amRklJSVq6dKlyc3NPRE4AAAAA%2BBZJkiSfb6dqagxHgWvFXLCvv/567dmzR5I0efJkFRUV6YknnpBt2%2Brbt6/uvffeuIcEAAAAgG93tFUHg2cazgE3i7lg9%2BzZUz179pQktWrVSosWLYpch80jugAAAACYYFkh2bZXgUBv01HgYjEX7PpQrAEAAACYFg7nyLbTTMeAi8V8kzNJKioq0q233qoBAwaoZ8%2Be%2BvDDDyVJ8%2BbN0/r13BofAAAAQPMLBvuZjgCXi7lgb9u2TaNGjdK7776r8847T6FQKLKuoqJCf/zjH%2BMaEAAAAAAaIhjkhsswK%2BaCPXv2bHXv3l2vvfaaHn74Ydm2HVn3gx/8QFu2bIlrQAAAAABoCNtONx0BLhdzwd60aZNuuOEGpaamyrKsqHXt27fX/v374xYOAAAAABrKsg6ajgCXa9Q12ElJSfUuLy0tld/vb1IgAAAAAGgMj%2BeA6QhwuZgLdvfu3fX666/Xu27dunU680yeOwcAAACg%2BVkWBRtmxfyYrmuuuUa33XabUlNTNWLECEnS3r17tX79er3wwguaO3du3EMCAAAAwPFYFperwqyYC/all16q3bt3a968eXr22WclSVOmTJHX69XUqVOVn58f95AAAAAAcDyWVWE6Alwu5oItSTfeeKMuu%2BwyrVu3TgcOHFBmZqYGDBigzp07xzsfAAAAADSIbWeajgCXa1TBlqSOHTtq9OjRdZbbtl3n7uIAAAAAcKLZdjvTEeByjbqL%2BLG89NJLGjJkSDxfEgAAAAAaJBxubzoCXK7BR7DLy8v1%2Buuva//%2B/fr%2B97%2Bv/Px8eTxH%2B/mrr76quXPnqrCwUJ06dTphYQEAAADgWDiCDdMaVLB37dqlq666SgcOHIicAt63b18tWLBAt956q9atW6f09HTdcccduvrqq090ZgAAAACoIxzmGmyY1aCC/fjjj%2Bvw4cO66aab1LNnT3366adauHChrrzyShUWFmr06NG64447lJ6efqLzAgAAAEC9LCtgOgJcrkEF%2B91339XEiRP1y1/%2BMrKsS5cuGj9%2BvK688ko98MADJyofAAAAADSIZZWajgCXa9BNzg4dOqSzzz47atk555wj6ehzsQEAAADANMsqMR0BLteggh0KhZScnBy1rPb9tLS0%2BKcCAAAAgBhRsGFag%2B8i/vHHH8vr9UbeD4VCkeXfdOaZZ8YhGgAAAAA0nMdzyHQEuFyDC/Y999xT7/I777wz8nbtHca3bdvW9GQAAAAAEJMq0wHgcg0q2LNmzTrROQAAAACgSWy7rekIcLkGFezLL7/8ROcAAAAAgCax7QzTEeByDbrJGQAAAAC0dLadaToCXI6CDQAAAMARwmGOYMMsCjYAAAAAR%2BAabJhGwQYAAADgCJZVYzoCXI6CDQAAAMARLKvUdAS4HAUbAAAAgCNQsGEaBRsAAACAI1hWmekIcDkKNgAAAABHsKwS0xHgchRsAAAAAI7ATc5gGgUbAAAAgCPYNs/BhlkUbAAAAACOYNvppiPA5SjYAAAAABzBttuajgCXo2ADAAAAcIRwmIINsyjYAAAAABzBttuYjgCXo2ADAAAAcAjuIg6zKNgAAAAAHMGyykxHgMtRsAEAAAA4gmWVm44AlzNesNeuXatJkyYpLy9PvXv31vDhw/Xcc88pHA5HbVdQUKDLLrtMvXr10qBBg7R8%2BXJDiQEAAAC0RB4PR7Bhls90gGXLlqlTp06688471a5dO23YsEG//e1v9cknn%2Biuu%2B6SJG3evFmTJk3SiBEjdPfdd2vTpk2aMWOG/H6/Ro8ebfgrAAAAANAScAQbphkv2IsWLVJWVlbk/dzcXB05ckTLly/XLbfcIr/fr/nz5ysnJ0czZ86MbLN37149/vjjGjlypDwe4wfiAQAAABgXMB0ALme8mX69XNfq0aOHqqurVVJSopqaGq1fv15Dhw6N2mb48OEqLi7W1q1bmysqAAAAgBbMtnkONswyXrDrs3HjRmVkZKhdu3bavXu3AoGAunbtGrVNt27dJElFRUUmIgIAAABoYXgONkwzfor4N23ZskUvvviiJk%2BeLK/Xq9LSUklSenp61Ha179eubyyvt0X%2BjcHxaufO/JsfszeL%2BZvF/M1h9mYxf3OYffOyrHT5fMwa5rSogl1cXKypU6eqV69eGj9%2BfNQ6y7Lq/ZhjLW%2Bo9PTUJn08mob5m8PszWL%2BZjF/c5i9WczfHGbfPFJTOyg1Nc10DLhYiynY5eXlGj9%2BvFJSUrRw4UIlJSVJktq2PXodxTePVJeVHb0F/zePbMeqrKxSoVD4%2BBsirrxej9LTU5m/AczeLOZvFvM3h9mbxfzNYfbNIz09VV6vVFHhU01Nhek4cKDMzIb94aZFFOzq6mpNnDhR%2B/fv1/PPP6/MzMzIui5duigpKUkff/yxBg4cGFleWFgoScrOzm7S5w6FwgoG%2BWFnCvM3h9mbxfzNYv7mMHuzmL85zL552HYFc4ZRxi9QCAaDuvnmm7V9%2B3YtWbJEnTt3jlrv9/uVm5urtWvXRi1fvXq1OnTooJycnOaMCwAAAKCFsqym3Z8JaCrjR7CnT5%2BuN998U3fccYeqqqr0/vvvR9Z169ZNrVu31uTJkzVmzBhNmzZNw4cP16ZNm7RixQpNnz6dZ2ADAAAAkETBhnnGC/bf//53SdIjjzxSZ90zzzyjfv36qU%2BfPlqwYIHmzJmjlStXqmPHjpo2bZpGjx7d3HEBAAAAtFCWVWI6AlzOeMF%2B4403GrRdXl6e8vLyTnAaAAAAAImKgg3TOL8aAAAAgCNYFncQh1kUbAAAAAAOETAdAC5HwQYAAADgCJZFwYZZFGwAAAAADkHBhlkUbAAAAAAOQcGGWRRsAAAAAI5gWSHTEeByFGwAAAAAjmDbaaYjwOUo2AAAAAAcwbbTTUeAy1GwAQAAADgCBRumUbABAAAAOIJttzUdAS5HwQYAAADgCLbdxnQEuBwFGwAAAIBDtDIdAC5HwQYAAADgCLadbDoCXI6CDQAAAMARbNtvOgJcjoINAAAAwCE4gg2zKNgAAAAAHIEj2DCNgg0AAADAIbymA8DlKNgAAAAAHMGyjpiOAJejYAMAAABwBMsqNx0BLkfBBgAAAOAIllVmOgJcjoINAAAAwBEo2DCNgg0AAADAESjYMI2CDQAAAMAhqDcwiz0QAAAAgCPYdrrpCHA5CjYAAAAAR6BgwzQKNgAAAABHsO02piPA5SjYAAAAAByBgg3TKNgAAAAAHMG2U01HgMtRsAEAAAA4gmWVm44Al6NgAwAAAHAEnoMN0yjYAAAAABzB4yk1HQEuR8EGAAAA4AiWRcGGWRRsAAAAAI5gWSWmI8DlKNgAAAAAHMG2vaYjwOUo2AAAAAAcwbYzTUeAy1GwAQAAADiCbaebjgCXo2ADAAAAcATbbms6AlyOgg0AAADAESjYMI2CDQAAAMARbDvVdAS4HAUbAAAAgCNYVqXpCHA5CjYAAAAAhzhsOgBcjoINAAAAwBEs64jpCHA5CjYAAAAAR/B4KkxHgMtRsAEAAAA4BKeIwywKNgAAAABHsKyg6QhwOQo2AAAAAIewTQeAy1GwAQAAADhE2HQAuBwFGwAAAIBDULBhFgUbAAAAgENwijjMomADAAAAcIiA6QBwOQo2AAAAAEewLJ6DDbMo2AAAAAAcwbJ4DjbMomADAAAAcAgKNsyiYAMAAABwBE4Rh2kUbAAAAACOwCniMI2CDQAAAMARbLuN6QhwOQo2AAAAAEcIh79jOgJcjoINAAAAwBFsm4INsyjYAAAAABwhHO5kOgJcjoINAAAAwBHC4Y6mI8DlKNgAAAAAHMG2U01HgMtRsAEAAAA4gsfzhekIcDkKNgAAAABH8Hg%2BNx0BLkfBBgAAAOAIHs8%2B0xHgchRsAAAAAI5gWRzBhlkUbAAAAACOwDXYMI2CDQAAAMARbDvNdAS4HAUbAAAAgCPwHGyYRsEGAAAA4Ai2/R3TEeByFGwAAAAAjsARbJhGwQYAAADgCBRsmEbBBgAAAOAQPtMB4HIUbAAAAACOYFl7TEeAy1GwAQAAADiC1/uZ6QhwOQo2AAAAAEfweD4xHQEuR8EGAAAA4AiW9anpCHA5CjYAAAAAR/B4PjcdAS5HwQYAAADgCLadYToCXI6CDQAAAMARwuFTTEeAy1GwAQAAADgCBRumUbABAAAAOEI4fKrpCHA5CjYAAAAARwiHO5uOAJejYAMAAABwCOoNzGIPBAAAAOAIHs8u0xHgchRsAAAAAI7g9VKwYRYFGwAAAIAjeDz/MR0BLkfBBgAAAOAIFGyYRsEGAAAA4AiWtdd0BLgcBRsAAACAI9h2e9MR4HIUbAAAAACOEA53MR0BLkfBBgAAAOAI4fD3TUeAy1GwAQAAADgCBRumUbABAAAAOEI4/D3TEeByFGwAAAAAjmDbIdMR4HIUbAAAAACO4PV%2BbDoCXI6CDQAAAMARvN4dpiPA5SjYAAAAABzB4/m36QhwOQo2AAAAAEfweIpMR4DLUbABAAAAOILHc0jSEdMx4GIUbAAAAACOEA5nSGplOgZcjIINAAAAwBHC4WzTEeByFGwAAAAAjhAOdzMdAS5HwQYAAADgCKHQGaYjwOWMF%2Bxdu3bp/vvv14gRI5STk6Nhw4bVu11BQYEuu%2Bwy9erVS4MGDdLy5cubOSkAAACAlowj2DDNeMHesWOHCgoK9N3vflfZ2fVfM7F582ZNmjRJOTk5euqpp3T55ZdrxowZWrFiRTOnBQAAANBy1ZgOAJfzmQ6Qn5%2Bviy%2B%2BWJJ0991364MPPqizzfz585WTk6OZM2dKknJzc7V37149/vjjGjlypDwe438nAAAAAGCY1/uhpNGmY8DFjDfT45XjmpoarV%2B/XkOHDo1aPnz4cBUXF2vr1q0nMh4AAACABHG0YAPmGC/Yx7N7924FAgF17do1anm3bkevrygqKjIRCwAAAEALQ8GGacZPET%2Be0tJSSVJ6enrU8tr3a9c3ltfb4v/G4Ei1c2f%2BzY/Zm8X8zWL%2B5jB7s5i/Ocy%2BeXk8n8rnOywp/bjbAidCiy/YtSzLiml5Q6Wnpzbp49E0zN8cZm8W8zeL%2BZvD7M1i/uYw%2BxPPti1ZlpSZeUjSd0zHgUu1%2BILdtm1bSXWPVJeVlUmqe2Q7VmVllQqFwk16DcTO6/UoPT2V%2BRvA7M1i/mYxf3OYvVnM3xxm3zzS01Pl9dqybUulpR1k2xWmI8FhMjPTGrRdiy/YXbp0UVJSkj7%2B%2BGMNHDgwsrywsFCSjvlor4YKhcIKBvlhZwrzN4fZm8X8zWL%2B5jB7s5i/Ocy%2BeYTD31UgkCKJWcOMFn8xiN/vV25urtauXRu1fPXq1erQoYNycnIMJQMAAADQkoTDdAOYZfwIdmVlpQoKCiRJe/bs0eHDh/XKK69Iks477zxlZWVp8uTJGjNmjKZNm6bhw4dr06ZNWrFihaZPn84zsAEAAABIkkKhXqYjwOWMF%2BwDBw7o5ptvjlpW%2B/4zzzyjfv36qU%2BfPlqwYIHmzJmjlStXqmPHjpo2bZpGj%2BYh8gAAAACOCoU4gg2zjBfsU045RR999NFxt8vLy1NeXl4zJAIAAACQmMpMB4DLcX41AAAAAEfw%2BTaZjgCXo2ADAAAAcASvd6PpCHA5CjYAAAAAR/B6t0qqMh0DLkbBBgAAAJDwbNsjywoqKWmL6ShwMQo2AAAAAAc4ev9mr3eP4RxwMwo2AAAAAAcISJJCoR6Gc8DNKNgAAAAAEp5l2bLtNAWD3UxHgYtRsAEAAAA4Qij0A9m213QMuBgFGwAAAIAjBIPnmI4Al6NgAwAAAHCEUOhs0xHgchRsAAAAAI5gWftMR4DLUbABAAAAOEJS0t9MR4DLUbABAAAAOILP9w9JIdMx4GIUbAAAAAAJz7YtWVapfL4PTEeBi1GwAQAAADhAsiTJ73/bcA64GQUbAAAAgAP4JEkez6eGc8DNKNgAAAAAHKBakhQKnWs4B9yMgg0AAADAAQKSpOrqAYZzwM0o2AAAAAASnmVJoVC2wuGTTEeBi1GwAQAAADhCMHiB6QhwOQo2AAAAAEcIBn9oOgJcjoINAAAAwBE8nn%2BbjgCXo2ADAAAAcAS/f5XpCHA5CjYAAACAhGfbktf7kbzeQtNR4GIUbAAAAAAOkCJJSk5eYzgH3IyCDQAAACDh2XaqJMnvX204CdyMgg0AAADAAXySJI/nM8M54GYUovoRnwAAHnlJREFUbAAAAAAJz7IqJUnBYJ7hJHAzCjYAAAAABzhasGtqfmI4B9yMgg0AAAAg4VlWSLbdStXVHMGGORRsAAAAAI4QDObLtlNMx4CLUbABAAAAOEIg8CPTEeByFGwAAAAAjuD3v2g6AlyOgg0AAAAg4dm2JZ/vH0pK%2BrvpKHAxCjYAAAAAB0g7%2Bn/THjKcA25GwQYAAACQ8Gw7XbbtU1JSgXy%2Bd0zHgUtRsAEAAAAkPNv2KRAYLElKS5tjOA3cioINAAAAwBFCoVMkSR7P54aTwK0o2AAAAAAcwFZy8p8kSdXVYw1ngVtRsAEAAAAkPMs6LI/ngMLh76iy8irTceBSFGwAAAAACc%2ByyiRJVVW3ybaTDaeBW1GwAQAAACQ8ywopHD5JR45cYzoKXIyCDQAAAMARqqvHybZTTMeAi1GwAQAAADhCUtJbpiPA5SjYAAAAABKebVvy%2Bd5RUtI/TEeBi1GwAQAAADhAmiSpVas5hnPAzSjYAAAAABKebafLtj3y%2B1%2BV1/sv03HgUhRsAAAAAAnPtn0KBH4kSUpLm282DFyLgg0AAADAEWw7U5JkWSWGk8CtKNgAAAAAEp5lheX3vyxJqq6%2BwXAauBUFGwAAAIADlMuyqhQKnamqqotNh4FLUbABAAAAJDzLKpckVVbeLskyGwauRcEGAAAAkPAsK6xQ6HuqqrrMdBS4GAUbAAAAgCMEApfLtr2mY8DFKNgAAAAAHMHvXybL%2BsJ0DLgYBRsAAABAwrNtvzyeErVpc6/pKHAxCjYAAACAhGfbWbJtS8nJzysp6Q3TceBSFGwAAAAACc%2B2/aqpOXqDszZtbpFUaTYQXImCDQAAAMARqqquUzjcXl7vTrVqtcB0HLgQBRsAAACAQ/hk20mSJI%2BHI9hofhRsAAAAAI6QnLxcXu9ehcMn68iRm03HgQtRsAEAAAAkPMsKKDn5/0mSKioeVTjcxnAiuBEFGwAAAEDCs6yDsqygAoHBqqoabjoOXIqCDQAAACDhWVa1bLuVDh/%2BnSTLdBy4FAUbAAAAgCMEgwMUDHY2HQMuRsEGAAAAkPBsW0pKelWpqfNMR4GLUbABAAAAJDzbzpQktW59r/z%2BlYbTwK0o2AAAAAASnm23UU3N5ZKk9PTx8vk2GE4EN6JgAwAAAHCEysobFQjkyrKq1bbtz%2BTxFJmOBJehYAMAAABwCK8qKu5QMNhdHs9BtW17rSTbdCi4CAUbAAAAgIOEZVnVX77tE4/sQnOiYAMAAABwiKDS0mbK6/2PwuEOKi9/1nQguAwFGwAAAIAjpKY%2BpqSkzbLtVJWXv6hg8FTTkeAyFGwAAAAACc%2BySuX3vyLb9ujw4adVU3OW6UhwIQo2AAAAgITn8ZRKko4ceVhVVZcYTgO3omADAAAAcIRwuK2qq39oOgZcjIINAAAAIOHZtlceT6kyM/OVkvLf4vFcMIGCDQAAACDh2fZ3FAz2l2VVqU2bqWrTZpwsq9x0LLgMBRsAAABAwrNtjyoqfqPKynGyba9SUv6kzMyB8nq3mI4GF6FgAwAAAHAIj6qrr9Dhww8qHO4gr7foy1PGfy9OGUdzoGADAAAAcJRQKEfl5XMVCPSVZVWrTZtfKTn5T6ZjwQUo2AAAAAAcx7IOyuPZK%2Bno6eNSR7OB4Ao%2B0wEAAAAAIH5s%2Bf2vKjV1kSyrRuHwyTp8%2BL9VXX2%2B6WBwAQo2AAAAAIeoVKtWj8rvf0uSFAhcqPLypQqF2htNBfegYAMAAABIeJYVUOvWk%2BT1fiLb9qqycpoqKm4RV8WiOVGwAQAAACQ8y/pcHs8nX54S/oyqq/ubjgQX4s85AAAAABKeZR19DFco1E3hcEg8lgsmULABAAAAJDzbbiXb9igp6W1lZFyqjIx8%2Bf3/KylkOhpchIINAAAAIOGFw%2B2/vFv4T2TbyUpK2qi2ba9WVta5SklZJqnKdES4AAUbAAAAgCOEw51UWflLlZX9XlVVY2Tb6fJ6i9Smzc1q166nWrWaLcs6ZDomHIyCDQAAAMBRbDtDVVU/V2np71VZOVHh8MnyeL5QWtp0ZWWdqbS0/5LH85npmHAgCjYAAAAAh0pVdfUwlZUt1pEjdykc/o48nsNq1WqeMjMHSgqbDgiHoWADAAAAcDSv92P5fH%2BXZX0eWRYK9ZZkmQsFR%2BI52AAAAAAcyJbPt1HJyS8oKelfkaWBwMWqrLxN1dU/FAUb8UbBBgAAAOAgQSUlrVNKygvyendKkmzbp0DgCh05cqsCgRzD%2BeBkFGwAAAAADmDL7/%2BzkpP/nzye4qNL7Faqrr5WlZVTFQx2NpwPbkDBBgAAAJDwPJ49Sk2dL0kKhzNVXT1ZR45MUDicYTgZ3ISCDQAAACDhWVb4a2%2BXKCnpBbVqtUvBYF8FAucqFOohyWsuIFyBgg0AAAAg4YXDmQqFLpLXu1Uez175fNvk822T9KwkybbTFAj0iRTuYPBchcPfMRsajkPBBgAAAJDwbLuNjhy5R7ZdLcsqkc9XKJ/vI3m9H8nr3S7LqpDf/3f5/X%2BPfEwo1DmqcAcCvSW1MvdFIOFRsAEAAAA4im1nKBA4V4HAuV8uCcnj%2BUw%2B345I6fZ4iuT17pHXu0fJySu//DivgsGeX5bto6U7FDpNksfY14LEQsEGAAAA4HBehcOnqqbmVNXU5H%2B5rEo%2B38fy%2Bf795VHubfJ4ipWU9E8lJf1TqalLJUnhcFsFg2d/Wdj7KxC4SDw/G8eSMAV7586dmjFjhjZu3KjU1FQNHTpUt99%2Bu1JSUkxHAwAAAJBwUhQM5igY/Oq52JZ14Muj3FuVlPS6PJ5SeTyl8vvflN//piSpvHy2qqommAqNFi4hCnZZWZmuvfZaderUSXPnztXBgwc1a9YslZSUaPbs2abjAQAAAEhYtiyrOHLq%2BNH/LZRl1dTZMhTqpnD4HAMZkSgSomD/8Y9/VFlZmVauXKmsrCxJktfr1e23366JEycqOzvbcEIAAAAAieGIfL4dXyvTH8njOVRnK9tOVzB4joLB8xQI9FUgcI7C4XYG8iKRJETB/tvf/qb%2B/ftHyrUkDR48WP/1X/%2BlgoICCjYAAACAeoTk8XzyZZHeLp/vI3k8u2VZdtRWtu1TONxDgcB5Cgb7KRA4R8Fgtri5GWKVEAW7qKhII0eOjFrm9/vVpUsXFRUVGUoFAAAAoCU5eg31lsijuXy%2BQllWZZ3twuHOXx6dzv3y5mVnybZTDSSG0yREwS4rK1N6enqd5enp6SotLW3Sa7dtmyrbPv52iC/ryxsvMv/mx%2BzNYv5mMX9zmL1ZzN8cZt88PB5L0h6lp/%2BszjrbTlMo1FuhUD8Fg/0UDJ6rcPjkqG283mYKCsdLiIJ9LLZty7Kadot8j4fTPkxi/uYwe7OYv1nM3xxmbxbzN4fZN4dTJH0iqdWX/44%2BbciyJJ/v6L/kZIPx4AoJ8V96enq6ysrK6iwvLy%2Bv98g2AAAAALfx6mjJzlJtuQaaW0IU7Ozs7DrXWtfU1Gj37t3c4AwAAAAA0CIkRMEeOHCg1q9fr0OHvrp9/muvvaaamhrl5eUZTAYAAAAAwFGWbbf82y2UlZVp2LBh6ty5syZNmqQDBw7owQcf1IABAzR79mzT8QAAAAAASIyCLUk7d%2B7UjBkztHHjRqWkpGjYsGG6/fbblZLC9RUAAAAAAPMSpmADAAAAANCSJcQ12AAAAAAAtHQUbAAAAAAA4oCCDQAAAABAHFCwAQAAAACIAwo2AAAAAABxQMEGAAAAACAOXFewd%2B7cqXHjxql3797q37%2B/ZsyYoaqqKtOxEtratWs1adIk5eXlqXfv3ho%2BfLiee%2B45hcPhyDZ33323unfvXuff3/72tzqvt3TpUuXn56tXr14aOXKkNmzY0JxfTsJ58cUX653t7Nmzo7YrKCjQZZddpl69emnQoEFavnx5va/H/GNz9dVX1zv/7t276%2BWXX5bE/h8vu3bt0v33368RI0YoJydHw4YNq3e7eO7rhw8f1v33369%2B/fqpT58%2BuvHGG7Vnz564fl2J4HizD4VCeuqppzRmzBjl5uaqb9%2B%2Buuqqq/TOO%2B/Uea38/Px6/3uorq6O2o7Zf6Uh%2B368f84w/680ZP7H%2Bj3QvXt3ffHFF5Ht2P8B5/OZDtCcysrKdO2116pTp06aO3euDh48qFmzZqmkpKROGUHDLVu2TJ06ddKdd96pdu3aacOGDfrtb3%2BrTz75RHfddVdku1NPPbXOnLOzs6PeX7p0qX73u9/plltuUU5OjlasWKHx48drxYoV6t69e7N8PYlqyZIlatOmTeT9k08%2BOfL25s2bNWnSJI0YMUJ33323Nm3apBkzZsjv92v06NGR7Zh/7H7961/r8OHDUcuefvppvfrqq%2Brfv39kGft/0%2B3YsUMFBQU666yzFA6HZdt2nW3iva/fdttt%2BvDDD3XfffepdevWmjt3rsaOHauXXnpJKSkpzfJ1twTHm31VVZWefPJJXXbZZRo3bpx8Pp/%2B/Oc/a%2BzYsVq4cKEuvPDCqO0HDx6s66%2B/PmqZ3%2B%2BPep/Zf6Uh%2B74U358zzP8rDZn/888/X2fZXXfdpdTUVJ100klRy9n/AYezXeTJJ5%2B0zzrrLPvAgQORZS%2B99JJ9%2Bumn24WFhQaTJbavz7PWzJkz7V69etnV1dW2bdv2XXfdZQ8dOvRbX6e6uto%2B55xz7IceeiiyLBgM2kOGDLF/9atfxTe0g7zwwgv26aefXu/3oda4cePsUaNGRS2bNm2aff7559uhUMi2beYfT/n5%2Bfb48eMj77P/x0ftvmrbx55pPPf1999/3z799NPtt956K7Jsz549dk5Ojv3cc8/F7etKBMebfTAYtEtKSqKWhcNh%2B/LLL7fHjBkTtfzCCy%2B0f/Ob33zr52P20Rqy78fz5wzzj9aQ%2BX/TJ598Yp9%2B%2Bun2U089FbWc/R9wPledIv63v/1N/fv3V1ZWVmTZ4MGD5ff7VVBQYDBZYvv6PGv16NFD1dXVKikpafDrbNq0SeXl5VGnXnm9Xl166aUqKCg45l/s8e1qamq0fv16DR06NGr58OHDVVxcrK1bt0pi/vGyadMmffrppxo%2BfHjMH8f8v53H8%2B2/suK9rxcUFCg9PV0DBw6MbNepUyedffbZrvudcbzZe71etW3bNmqZZVk644wzok6PbShmH%2B14828o9v3Gacz8V69eLcuyjnkpy7dh/kBic1XBLioqqnOqlN/vV5cuXVRUVGQolTNt3LhRGRkZateuXWTZ7t27de6556pnz5664oor9Prrr0d9TO33oGvXrlHLs7OzVVFRoX379p344Als2LBh6tGjhy666CI9%2BeSTCoVCko7OPRAI1Jlrt27dJH01d%2BYfH6tXr1ZqaqouuuiiqOXs/ydevPf1oqIiff/735dlWXVej98ZxxcOh7V58%2BY6v3cladWqVerZs6f69Omj8ePH66OPPopaz%2BwbJ14/Z5h/07388svq27evOnbsWGcd%2Bz/gbK67Bjs9Pb3O8vT0dJWWlhpI5ExbtmzRiy%2B%2BqMmTJ8vr9Uo6ekS7V69e6tatm8rLy/WHP/xBkydP1uOPP65LLrlE0tHvj9/vr3NtUe1RkZKSknp/Ubldhw4dNGXKFJ111lmyLEtvvPGGHnvsMe3bt0/3339/ZN/%2B5r5f%2B37teubfdMFgUK%2B88oouuugitWrVKrKc/b95xHtfLysri7qvwddfj98Zx/fss89q586dmj59etTy/Px8/eAHP1CnTp30ySefaNGiRfrFL36hlStX6tRTT5UkZt8I8fw5w/ybZvv27fr3v/9dZ9%2BX2P8BN3BVwT4W27br/JUQjVNcXKypU6eqV69eGj9%2BfGT5tddeG7Vdfn6%2BrrzySs2dOzfyi19Svd%2BH2lPW%2BB7V74ILLtAFF1wQeX/AgAFKTk7W008/rRtvvDGy/Fjz%2B/py5t80b7/9tg4cOFDnlED2/%2BYVz329Ia%2BFut5991098sgjuv7669W3b9%2BoddOmTYu8fe655%2Br888/XkCFDtHTpUj3wwAORdcw%2BNvH%2BOcP8G2/VqlVKSkrS4MGD66xj/wecz1WniKenp6usrKzO8vLy8nqPbCM25eXlGj9%2BvFJSUrRw4UIlJSUdc1uPx6Mf//jHKioqijwmLT09XdXV1XUeVVH7Pfvm9X04tiFDhigUCmnbtm2RuX3zr961c63d95l/061evVoZGRkaMGDAt27H/n9ixHtfP9bvjGOdDYWjtm/frkmTJuniiy/WHXfccdztTzrpJJ1zzjn68MMPI8uYfdM15ecM828827a1Zs0aXXDBBcrIyDju9uz/gPO4qmBnZ2fXuXalpqZGu3fvrvcaMTRcdXW1Jk6cqP3792vJkiXKzMw87sd886ZNtd%2BDb36PioqKlJaWFvXYKTRcly5dlJSUpI8//jhqeWFhoaSv5s78m6aqqkp//etfdckll3zrH5dqsf/HX7z39ezsbO3cubPO96qwsJDfGcewe/du3XDDDcrJydHDDz/c4KNt9f33wOybrrE/Z5h/423cuFGfffZZTDe6ZP8HnMVVBXvgwIFav369Dh06FFn22muvqaamRnl5eQaTJbZgMKibb75Z27dv15IlS9S5c%2Bfjfkw4HNZf/vIXnXbaaZFrwc4%2B%2B2y1adNGa9asiWwXCoW0du1a5eXlcVpUDNasWSOv16ucnBz5/X7l5uZq7dq1UdusXr1aHTp0UE5OjiTm31RvvPGGKioqGvT/VLH/nxjx3tfz8vJUVlamdevWRbbbu3evNm3axO%2BMehQXF%2Bv6669X%2B/bttWDBgjrP9T2Wffv2adOmTerVq1dkGbNvuqb8nGH%2Bjbdq1Sq1atWqzrPfj4X9H3Ae7wNfv%2BDD4U477TS98MILWrdunU4%2B%2BWRt3rxZM2fO1KBBg3TllVeajpewHnjgAa1evVo333yzTjrpJH3%2B%2BeeRf61bt1ZxcbEmT56sQCCg8vJyffjhh5oxY4Y2b96s3/zmN5G/xnq9Xnm9Xi1atEgpKSmqrq7W448/rs2bN%2Bvhhx9W%2B/btDX%2BlLdO4ceP0xRdf6PDhw9q1a5d%2B//vfa/ny5br66qsj192deuqpWrRokfbu3au0tDStWrVKy5Yt0z333KOePXtKYv5NNWfOHFVXV%2Buee%2B6JKsN79uxh/4%2BTyspK/fWvf1VhYaHefvtt7d%2B/Xx07dlRhYaGysrKUmpoa1329Y8eO%2BuCDD/T888/r5JNP1t69e3X//fcrJSVF06dPl8/nntuYHG/2lmXpmmuu0eeff65p06apqqoq6ndB7Q36Vq9ercWLF6uqqkqHDh3SO%2B%2B8o3vvvVc1NTWaNWtW5BRlZh/tePM/ePBgXH/OMP9oDfnZIx094HDvvffqwgsv1KWXXlrnddj/AXewbJc9XHXnzp2aMWOGNm7cqJSUFA0bNky33357nTtqouHy8/O1Z8%2Beetc988wz6t69u%2B655x59%2BOGHOnjwoJKSktSzZ09NmDAh6uZc0tHTpJYuXarly5dr//79Ov3003XHHXcoNze3Ob6UhDRjxgytW7dOn3/%2BucLhsL73ve9p9OjRuvrqq6OKXkFBgebMmaOioiJ17NhRY8eO1VVXXRX1Wsy/cUpLS3X%2B%2Befr2muvrXPNaUlJCft/nHz66ad1Hn9W65lnnlG/fv0kxXdfP3z4sB566CH95S9/USAQUL9%2B/XTfffc16EwdJzne7Dt37nzM9ZIijyF6//339eijj2rHjh0qLy9XmzZtlJubq6lTp9Z5dBSz/8rx5n8ifs8y/6809GfPW2%2B9pV/%2B8pdavHhxvUea2f8Bd3BdwQYAAAAA4ERw1TXYAAAAAACcKBRsAAAAAADigIINAAAAAEAcULABAAAAAIgDCjYAAAAAAHFAwQYAAAAAIA4o2AAAAAAAxAEFGwAAAACAOKBgAwCO6cUXX1T37t0j/3JycjRgwADdcsst%2Bs9//mM816effvqt2z3xxBPq3r17M6U6voKCAj3xxBP1ruvevbumT5/ezIkAAEA8%2BUwHAAC0fLNmzVLXrl1VXV2tTZs2adGiRdqwYYPWrl2rtm3bmo6XMAoKCrR8%2BXJNmTLFdBQAAHACULABAMd12mmnqVevXpKkfv36KRQK6YknntDrr7%2BukSNHGk4HAADQMnCKOAAgZrVl%2B8CBA3XWrVmzRj/72c/Uu3dv9enTR%2BPGjdPWrVujttmyZYtuueUW5efn6wc/%2BIHy8/N16623as%2BePXVe7/3339eVV16pXr16acCAAXr00UcVDAablL8hGe%2B%2B%2B2716dNHu3bt0vjx49WnTx/l5eXpwQcfVE1NTdS2n3/%2BuaZOnao%2Bffro3HPP1W233aZ//etf6t69u1588cXI6y1fvlySok67/%2BZp7itXrtSQIUN01lln6Sc/%2BYnefPPNJn2tAACg%2BXAEGwAQs9pS%2BL3vfS9q%2BaJFi/TYY4/piiuu0MSJExUIBLR06VJdddVVWrFihbp16yZJ2rNnj77//e9r6NChatu2rYqLi/WHP/xBo0aN0ssvv6ysrCxJUmFhoa677jp17txZDz74oFJSUvTcc89p9erVjc7e0IySFAgENHHiRI0aNUrXX3%2B93nvvPS1YsECtW7fWTTfdJEk6cuSIrrnmGpWWlur222/Xd7/7Xa1bt0633HJL1OedNGmSjhw5or/85S96/vnnI8tPOumkyNtvvfWWtmzZoqlTp6pVq1ZasmSJbrrpJr3yyis69dRTG/01AwCA5kHBBgAcVzgcVjAYjFyDvXDhQvXt21f5%2BfmRbfbu3asnnnhCY8aM0bRp0yLLf/jDH2rw4MGaN2%2BeHnvsMUnSJZdcoksuuSSyTSgU0o9%2B9COdf/75Wr16ta655hpJ0vz582Xbtp5%2B%2Bmm1b99ekvSjH/1Iw4YNa9TXEUtG6WjBnjJlioYMGSJJ6t%2B/vz744AOtXr06UrD//Oc/a9euXXrqqac0cOBASdKAAQNUWVkZVaS7dOkS%2BRp69%2B5db77q6motW7ZMrVu3liSdeeaZuuCCC7R27VpNmDChUV8zAABoPhRsAMBx/fSnP416Pzs7WwsWLJDP99Wvkb///e8KBoMaMWJE1CncycnJ6tu3rzZs2BBZVlFRoQULFujVV1/Vnj17FAqFIuuKiooib2/YsEH9%2B/ePFFNJ8nq9uvTSSzVv3ryYv45YMkqSZVlRf0SQjp7evX79%2Bsj77733ntLS0iLlutawYcOiCnZD9OvXL1KuJal9%2B/Zq165dvafOAwCAloeCDQA4roceekjZ2dmqqKjQmjVr9Pzzz%2BvWW2/VkiVLItvs379fkjRq1Kh6X8Pj%2Beq2H7fddpvWr1%2BvSZMmqVevXkpLS5NlWZowYYKqq6sj25WUlESV61r1LWuIWDJKUmpqqpKTk6OW%2Bf3%2BBmVs165dzPkyMjLqLPvm5wMAAC0XBRsAcFzZ2dmRG5vl5uYqHA5rxYoVeuWVVyKnemdmZkqS5s6dq06dOh3ztcrLy/XWW2/ppptuijrtuaamRqWlpVHbZmRkRErx19W3rCEamjEWGRkZ%2Bte//lVneWMzAgCAxEXBBgDE7I477tCrr76quXPn6sc//rE8Ho8GDBggn8%2Bn3bt3a/Dgwcf8WMuyZNu2/H5/1PIVK1ZEnSouHT1l%2Bo033tD%2B/fsjR4lDoZDWrFnTqNwNzRiLvn37au3atSooKFBeXl5k%2Bcsvv1xn29qvuaqqSikpKXH5/AAAoOWgYAMAYta2bVtNmDBBjzzyiFatWqURI0bolFNO0dSpU/XYY4/pk08%2B0cCBA5Wenq79%2B/dry5YtSk1N1dSpU9W6dWv17dtXS5cuVWZmpjp37qx3331Xf/rTn5Senh71eSZOnKg33nhD11577f9v7%2B5RWgnDKACfaxUEe7URLDIrUDcRBEGxSiUiRiWd6XQBo4WNrQxq1iFi4QJcgIUiuAGLFLnVDYiNNw7m/jxPP8z5yjPz8n7Z29tLo9HI9fV13t7exsr92Yy/Y21tLVVV5fDwMN1uNwsLC7m9vc3d3V2S92PnzWYzSUYL0aamplIUxYePDQDA38k92ACMpd1uZ35%2BPufn56M/zzs7Ozk7O8vj42N6vV62trZycnKS5%2BfnLC0tjZ49PT3NyspKyrLM/v5%2BHh4ecnFxkZmZmXfvaDabo63avV4vR0dHKYoinU5n7NyfzfhZ09PTqaoqy8vLKcsyBwcHeXl5yfHxcZK8O1Or1crGxkb6/X42Nzezvr6e19fXsc8CAPxZfgyHw%2BGkQwDAv%2BbXfds3NzeZnZ2ddBwA4BsYEQeAL7q6ukqSLC4uZjAY5P7%2BPpeXl1ldXVWuAeA/omADwBc1Go1UVZWnp6cMBoPMzc1le3s7u7u7k44GAHwjI%2BIAAABQA0vOAAAAoAYKNgAAANRAwQYAAIAaKNgAAABQAwUbAAAAaqBgAwAAQA0UbAAAAKiBgg0AAAA1ULABAACgBj8Bairz3hVSaxsAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -287,7 +322,7 @@
 <br>
 
 <h3 id="Percent_identity_vs_Average_Base_Quality_plot_using_dots">Percent identity vs Average Base Quality plot using dots</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9YAAAPWCAYAAAAF6QCyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3wU1f7/8fdsKhCaNJWOEkTEi0hVQECaIAIq4sV2FeWCBVEELMBPsSCioKB4FQVUipfepDdRRAMISBGREjoBUggJpO7%2B/sg3c3eSTXaTTbIbeD0fDx8mm93Zw8zuzHzO%2BZzPMRwOh0MAAAAAACBfbL5uAAAAAAAAxRmBNQAAAAAAXiCwBgAAAADACwTWAAAAAAB4gcAaAAAAAAAvEFgDAAAAAOAFAmsAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNXAFSEtLU7169cz/zpw5U2DbbtOmjbndbdu2Fdh2i5u5c%2Bea%2B%2BFf//qXr5sDAIDFgQMHzOvUbbfdluPzxo4daz5v9OjRRdjC4uv%2B%2B%2B8399nKlSt93Rz4qUBfNwD/8%2Bqrr2rhwoU5/j0oKEhlypTR9ddfr3/84x/q2rWrbr/99iJsIQAUPxMmTNB//vMf8/c77rhD06ZN82GLUNxt2LBBAwYMyPU5NptNYWFhqlixom6%2B%2BWbdfffd6tChg4KDg4uolVeXlJQUbdmyRRs3btTOnTt1/vx5xcbGqlSpUqpYsaJuuOEGtW3bVm3bttU111zj6%2BYCuAIRWBcjqampio6OVnR0tHbv3q0ZM2aoefPm%2BuCDD3Tttdf6unnIxT//%2BU/9/vvvkqQPPvhAPXr08HGLrl5Hjx5Vp06dJEkBAQHat29fgW6/TZs2ioqKkiTNnDlTTZo0KdDtI28cDoeWLFlieezXX3/VmTNnOG%2BiUNntdsXHxys%2BPl6HDx/WsmXLVKNGDb333ntq2rSpr5t3RVm1apXGjRun48ePZ/tbXFyc4uLidPDgQa1atUolS5bU008/rX79%2Bik0NNQHrS0eEhMT1bhxY/P3LVu20CHhAxyH4oXA2k%2BVLVtWDRs2tDyWkpKikydP6uTJk%2BZjv/32m/r06aM5c%2BaoSpUqRd1MAPBrv/76q06dOmV5zG63a/Hixfr3v//to1bhStOiRQsFBlpvqdLS0hQdHa0jR44oLS1NknTs2DH169dPX331lZo1a%2BaLpl5R0tLSNGLEiGzZfkFBQapevboqVqyohIQEnThxQvHx8ZKkS5cuaeLEiVq5cqW%2B%2Buor7p0AFBgCaz9Vr149ff311y7/tnfvXr311lvatWuXJOnMmTMaOXKkvvzyy6JsIvxIYGCg/vrrL18344rWu3dv9e7d29fNQB4tWrTI/Ll169b66aefJEkLFy4ksEaBmTBhQo6jSDExMfr666/11VdfSZKSk5P1xhtvaPny5QoKCirKZl5R0tPT9fzzz2vDhg3mY5UqVdKLL76oLl26qHTp0pbnRkRE6LPPPtPWrVslZcxH/uc//6kZM2bo%2BuuvL/L2%2B9Lw4cM1fPhwXzcDuOJQvKwYatCggb799lvVq1fPfOzHH3/U/v37fdgqAPAviYmJWr16tSTJMAy99dZbuu666yRJR44cMTsngcJ0zTXXaOjQoXrqqafMx44dO6aIiAgftqr4%2B/zzzy1BdYsWLbRixQr17t3bElRLGdN%2BWrZsqe%2B%2B%2B06DBg0yHz958qReeeUVpaenF1m7AVy5CKyLqdDQUL388suWxzZt2uSj1gCA/1m1apUuXbokSWratKmqVq2qbt26mX/PrVgkUNCyribwxx9/%2BKYhV4C9e/dq8uTJ5u8NGjTQ559/ni2gzsowDD333HOWTo7t27dr6tSphdZWAFcPUsGLsZYtWyooKEipqamS5DYV2OFwaP369Vq7dq127Nih6OhoJSUlqUKFCrrpppvUoUMH9ejRw21qmnOF3QcffFDvvvuuJOmnn37SkiVLtHv3bp09e1aJiYmWv2eVmJioZcuW6eeff9aff/6pmJgYpaSkqEyZMqpVq5YaN26su%2B%2B%2BO9clIzJdunRJS5cu1caNG/XXX38pJiZGhmGoUqVKuv3229W1a1e1bt3a7XZcFRlLT0/XqlWrtGDBAh08eFDnz59XmTJldNNNN%2Bnee%2B9Vz549ZbNl76NKS0tTgwYNsj0%2BbNgwDRs2LNvjNWrU0Jo1a9y20ZWs7/Xjjz%2B6Lcx09uxZzZ49W%2BvWrdPJkyflcDh07bXXqkWLFurTp48lIyKvDh06pGXLlmnz5s06deqU4uLiFBYWpmrVqqlVq1bq3bu3qlatmus2cioydvbsWc2dO1dr167VqVOnlJSUpEqVKqlp06Z6/PHHVb9%2BfZfbmzt3rkaMGGF5LD09Pcd/54svvqhnn33W5etbtmyp6dOnu2yrs0ceecTltjNff%2BTIEXXp0sV8fOXKlapdu7bL12S1aNEiM5WvYsWK%2BvHHH7PN8XTnueee09q1ayVJvXr10vvvv%2B/xazt27Khjx45Jkl577TWXS5CdOHFC8%2BfPV0REhA4fPqyLFy9KkkqVKqVrr71WN9xwgxo3bqyOHTsWyjxH58D5vvvukyT16NHDTMldvny5Xn/99VyrNC9fvlwvvfSSJKl06dLavHmzQkJCPHr/8ePH64svvpAk3XrrrZo7d26Oz7Xb7Vq3bp3WrVtnnp9TUlJUoUIF1a9fXx07dlT37t3dHuOxY8eaQcIjjzyiUaNGSZI2btyopUuXas%2BePTp37pwSExMtf88UFRWlTZs2KSIiQgcOHNCpU6d06dIllSxZUtdcc40aNWqkjh076u6775ZhGB7th0zr16/XokWL9Mcffyg6Olply5ZVjRo11K1bN/Xo0UNhYWGWatt169bVsmXL3G63oPZdYatSpYpKlixpdvbExcXl%2Bvz09HRt3bpVW7Zs0R9//KEjR44oNjZWdrtdZcuWVe3atdW8eXP17t07T9%2Bf/fv3a8GCBfr99991/PhxJSQkyGazqXTp0rruuusUHh6upk2bqkOHDipTpozb7cXExGjx4sXatGmTjhw5opiYGAUHB6tKlSpq3ry5evbsqVtvvdXj9nniiy%2B%2BMEeZAwIC9O6776pkyZIev/6ll17S%2BvXrFRkZKUmaOnWqHn/8cZff7UGDBmnVqlWSMq7f/fr1c7v95s2bm8d33rx52WrmONu1a5c2b96snTt36tChQ4qJiVFqaqrKli2ratWqqUmTJnrwwQc9vjZ4IqfzhJRzxfuWLVu63Fbm69evX6%2BBAwdKyjjH//zzzx4fE%2Bdz5W233abvv/8%2BT/8eZ672fWxsrObPn69Vq1bp5MmTSkhIUOXKldW0aVP16dNHjRo1yvf75ebnn3/WihUrtH37dp0/f14pKSmqWLGiwsPD1b59e/Xo0SPH60l%2BjwN8i8C6GAsJCVG5cuV07tw5SblfpP/880%2B98cYb2rt3b7a/nT59WqdPn9aGDRs0ZcoUffjhh7leBLK6ePGiXn/9dTPl0hPz5s3T%2BPHjFR0dne1vmZXPt2/frilTpuipp57KdS7Q8uXL9d5775n7wdnRo0d19OhRLViwQHfeeac%2B/PDDPFVTjIqK0ssvv5xt/ebo6Ght3rxZmzdv1oIFC/Sf//xHYWFhHm/X11atWqURI0aYxVwyHTp0SIcOHdL333%2BvIUOGeHQD4SwpKUnvv/%2B%2B5syZky21LjY2VrGxsdq9e7emTp2q559/Xv3798/T9tetW6fXXntNFy5csDx%2B/PhxHT9%2BXIsWLdKwYcP05JNP5mm7vlK7dm01a9bMTAmdP3%2B%2BXnnlFY9eO2/ePPPnHj165CtouO%2B%2B%2B8zAevXq1XrzzTc9qpK7c%2BdOM6i22Wzq2rVrtudMnTpVEyZMUEpKSra/ZVbp3b9/v3744QeNHz/e7NAqKCdPnjTnUgYHB6tz586SpPDwcNWrV09//fWXLly4oPXr11s6N7Jq3769SpUqpcTERF28eFEbN240t%2BXODz/8YP7cvXv3HJ%2B3e/dujRgxwuV0nlOnTunUqVNat26dvvzyS02YMEE33XSTR%2B8vZezrV1991ZIym5MRI0Zo/vz5stvt2f6WWd06MjJSixYtUoMGDTRx4kRVq1bN7XYTEhL0yiuvZGvDuXPndO7cOW3fvl3ffPONJk2a5PG/K1Nh7rvCkFnETFKuQce%2BffvUv39/l9c16X/7LiIiQl988YVefPFFPf3007m%2Bd3p6usaMGaMZM2bI4XBk%2B3vmtXfPnj1asGCBZs2aZTnPuDJt2jR9%2BumnSkhIsDyenJysixcv6uDBg5o1a5Z69uyp0aNHF8hSY6dOnTLPW5LUpUuXHDtUcxIcHKyBAwea9xYxMTFaunSpHnzwQa/b56moqCj17dtXJ06ccPn38%2BfP6/z589q5c6emTZumxx9/XEOHDlVAQECRtTEv7rrrLl177bU6c%2BaMEhMTtXLlSt1///1uX5eenm7pBC3oY/D7779r0KBB2b5LmfcNCxcu1BNPPKHhw4e7HCTJj6ioKA0fPlxbtmzJ9rfMIsQbNmzQf/7zH73zzju64447CuR94XsE1sVc5mi1pBxHmrds2aLnnntOiYmJ5mNly5ZVnTp1FBQUZKk0HhkZqccff1zTpk3zqAfP4XBo8ODB%2BvnnnyVJ5cqVU%2B3atWUYho4ePeryNe%2B//362NWTLlCmjmjVrqlSpUoqLi9Phw4fNG/KswZ%2BzzI4AZ9dff72uv/56ORwOHTp0yOxw2Lx5s/r27avZs2erfPnybv9tiYmJevLJJ3Xo0CFJUrVq1XT99dfr8uXL2r9/v7nvt27dquHDh%2Buzzz6zvN5ms6lVq1aSMlL%2BMv8d9erVU6VKlbK9X%2BXKld22qSCsXbtWL730kiXwrVixomrXrq3Lly/rwIEDSklJ0QcffKBSpUp5vN34%2BHj1799fO3bsMB8LDAzUDTfcoPLlyys%2BPl4HDhxQWlqakpOT9dFHHyk2NtbjAio///yznn/%2BedntdgUFBalu3boqXbq0zpw5Y37W7Ha73n//fVWvXl0dOnSwvP7aa69Vq1atlJSUZHaUGIahO%2B%2B80%2BX71ahRw%2BN/e4kSJcxjHRERYX52//GPf7hMTbz55pvNn/v06WMG1osWLdLgwYPdBsmRkZFm0Cgp30XV2rVrp9KlS%2BvixYtKTEzU%2BvXrXQbJWTmPIrZo0SLbZ3f27NkaO3as5bHM709AQIAuXryoY8eOmd8JVzf53lq4cKG53Xbt2llG3u677z6NGzdOUsY%2Bzy2wDg0NVadOncwbv6VLl3oUWP/%2B%2B%2B/mDXNAQECO%2B3XTpk168cUXzVFM6X/n0azn58OHD%2BvRRx/V9OnTdcstt7htQ3p6ul544QXz81W%2BfHnVqlVLklyenw8cOGAG1TabTdWqVVOFChUUGhqq%2BPh4HTp0SElJSZIyUnEffvhhLVy40OX5LFNycrL69%2B%2Bv7du3m4/ZbDbVrVtX5cqVU1RUlCIjI3X06FE99dRTGjx4sNt/V6bC3HeFYd%2B%2BfZaOprp16%2Bb43PPnz1sCgbCwMNWsWVOlS5dWWlqa2WkgZawYMm7cOCUlJen555/PcZtjxozRd999Z/5us9lUq1YtVaxYUYZhmB0nly9fliSXHSyZHA6HRo4cmS0Lo1atWqpcubJSUlJ04MABXbp0SQ6HQwsXLtSpU6f09ddfe12wbePGjZbr1wMPPJCv7XTu3FmjR482743Wr19fpIF1ZrXyTCVKlFDNmjXNc1VUVJSOHTsmh8Oh9PR0TZs2TRcuXNCYMWMKtV0VKlRQq1atZLfb9csvv5iPu6p8L0k33HCDpIzz3AMPPGDeC82dO9ejwPrHH3/U2bNnJWWMdHtyDfLUsWPHNGLECPMcUbt2bVWqVEnnzp3TkSNHJGV8lqdPn66kpCS99dZbXr/nqVOn9Nhjj1mObWhoqG688UaFhoYqMjJS58%2Bfl5QRZPfv318TJkxQx44dLdvJ73GAbxFYF2MxMTGWkbsKFSpke86pU6c0aNAg88IRHh6u4cOH684777Sk8e3evVv/7//9P%2B3du1eXLl3Syy%2B/rCVLlrgdhV25cqUSExNVqVIljRw5Uh06dDB7U%2B12e7ZlbmbOnGkJquvWrauhQ4eqVatWll7YlJQU/frrr5o3b16OPYhr1661BNV33323XnrpJcvNit1u1%2BrVq/XWW28pJiZGR44c0ciRI/Xpp5/m%2Bu%2BSpE8%2B%2BURxcXFq0qSJRo4caRnpiIuL06hRo8z0sLVr1yoiIsKyfIrNZjMruzunmPfr189n61ifP39er732mnlTUr58eb311lvq2LGjuZ/j4%2BM1adIkffvttxozZozHPbivv/66GVSHhITo%2BeefV9%2B%2BfS2foQsXLujTTz/Vt99%2BKyljVPP222/PFgRnZbfbzZoCAwYM0NNPP20JWHfs2KFBgwaZF%2BcxY8ZkS1Vt3bq1WrdubUnbdj5G3qhcubK5Hed1rIcNG%2BZ2HetOnTqpXLlyiouL07lz57Rx40a3%2B8N5FKlJkyb5ThEMDg5Wp06dNH/%2BfEkZAbO7m5r09HStWLHC/D3rSGxKSorGjx9v/t6pUycNGzZM1atXz7atQ4cOac2aNdnWmS4IixcvNn/OTAPP1L17d3300Uey2%2B366aefdP78eVWsWDHHbXXv3t0MrH/88UfFx8e7TZFdunSp%2BXPLli1dbv/YsWMaPHiwedNXv359DR8%2BXC1atLB8dnfu3KlRo0bpr7/%2B0sWLFzVkyBAtXLjQbZrl0qVLlZiYqGuvvVYjR45U%2B/btze9zenq6Tp8%2BbXl%2BUFCQunfvrq5du6pFixbZtp%2BcnKzly5dr3Lhxio6O1rlz5zR69OhcR5onT55sCaq7dOmi119/3ZK6fODAAY0aNUo7duzQRx99lOu/KVNh77uClpaWZvm3lSlTRnfddVeur6lVq5Z69%2B6t9u3bq06dOtn%2BfujQIU2aNMn8Pk6ePFl33323y9Hb48ePa%2BbMmebvjz32mJ599tlsGVx2u1179%2B7VypUr9eeff%2BbYtilTpliC6ocfflgDBgwwiwNKGeeCuXPnauzYsUpOTtZvv/2mSZMmZasPk1fOn6egoKB8rwleokQJ3XbbbebAQEFnzXiiSpUq6t27tzp06KB69eplu96ePn1aU6ZMMY/dggUL1LFjR7Vv377Q2nTrrbfq66%2B/zrZ%2Bcm6V7zP17t1bn3/%2Buex2u37//XcdPnzY5WfXmfP1rFu3bgX63Xz77bd16dIl3XbbbXr33XctwefBgwc1YsQI877l%2B%2B%2B/1x133OFxRpIrdrtdw4YNM4Nqm82mf//733r66afNeyG73a41a9borbfeUnR0tFJTUzVs2DAtXbrUkgHkzXGA71C8rBhbsWKFZaTnH//4R7bnjBo1yhwVuu222zRnzhy1atUq29y4hg0basaMGeZ805MnT1p6tnOSmJioMmXKaObMmercubMlOM4c8cgUFRVlmcPZpEkT/fe//9Vdd92VLbUpODhYbdq00cSJE/Xqq6%2B6fF/n%2BbJPPPGEJk%2BenG0EwGazqUuXLpoxY4Z5sl6zZo3lwpyTuLg4tWjRQtOmTcuWPliuXDmNHz9e4eHh5mPFoRDSxIkTzc9DaGiopk6dqs6dO1su5mXKlNEbb7yh/v37KykpyTIalJPly5eb88NDQ0P1zTffqH///tk6ZsqWLas33nhDL774ovnYuHHj3I5YOhwOXbhwQaNHj9ZLL72UbRT4tttu06effmp%2Brk%2BcOJEtfd9fBQcHq1evXubv7lIv09LSLEtIebsEmHNgvGnTpmxp9ln98ssvZm97SEhItrnlv//%2Bu/kZq1mzpiZMmOAyqJYyetgHDBhgCUILwrZt28xU9XLlyqlNmzaWv1epUsXsBEtLS3M7j7dFixbmqGxKSorZoZaTtLQ0rVy50vw9pzTwN954w%2Bz0bNasmf773/%2BqZcuW2c7PjRo10qxZs8ybwsjISI/mICYmJqp8%2BfKaOXOmOnToYPmeBwQEZEvjzswAat%2B%2Bvcub25CQEPXq1ctyPl27dq2OHz/u8v3PnTtn6bjq2rWrPv7442zzgcPDwzVt2jQ1aNBAsbGxbv9dUuHvu4KQlpamqKgorVixQv/85z/NAM4wDI0cOTLXjKCmTZtq5cqVevrpp3MMTG644QZ9/PHH5jkgPT1d33zzjcvn/vTTT%2BYIdKtWrTRixAiXN%2Bc2m00NGzbU0KFDNWXKFJfbioyM1MSJE83f33zzTUvF/UzBwcF65JFHNHnyZPOzN3XqVLMDNL%2Bcp7SFh4d7lV7unL0QGxtrZjgUherVq2vdunV64YUXVL9%2BfZed2Nddd51GjRplyeTImvHnT6677jpLPRt317Pz58/rxx9/NH8v6CUtY2Nj1bBhQ02fPj3biO6NN95onncyjRkzxqsK8UuXLrVkk73xxhsaPHiw5V7IZrOpc%2BfOmjZtmnkOuHTpUrYsLxRPBNbF1JEjRywXtuDgYLVt29bynL/%2B%2BstcszU4OFgfffSRSpQokeM2S5YsqTfffNP83dObjxdeeEE1a9Z0%2B7xvv/3WTIMrXbq0xo8f71GqsavnLFiwwLwBq1u3rtt04htuuMGyZu3s2bPdvm9gYKDGjBmT40U7MDBQjz76qPm7L3q78yIxMdESwDz11FOWlOSsXnjhBY/ToTOLQUkZBbHcFZwbMGCAOcoaGRnpch5SVplFz3Lyj3/8wzJ9wd%2BPh7OHHnrI/HnTpk3miLcrGzduNFNES5cunWsasyeaN29uBjqpqalug0bnILR9%2B/bZOk/OnDlj/nzrrbd6NPe7oOcMOnc8dO7c2eV32HkU212nWNZUbneB%2BObNmxUTEyMpY1Qsa4qflDE9JDNFu0SJEvrwww9zLYoWFhamkSNHmr97cg6TMoo0eTIPWsp9zq%2BzOnXqmJ9Zu92e4/zthQsXmlNmSpUqpZEjR%2BZY8KxEiRIep2EW1b7Li5YtW6pevXqW/xo0aKA2bdpo8ODBZgXwG2%2B8UZMnT86WRZFViRIlPC4ON2TIEPN7ltOxcD6n3H777R5tN6fv5TfffGMe1w4dOuif//xnrttp1aqV2bmUmprqNthyx7nzxdv1p7N2BmR%2Bb4tCcHCwx2nxzzzzjNkRsnXrVrMQpD9yvp4tXrzYMmUxqwULFph1B8LDwwu8yJ1hGHrnnXdyrB1SokQJjR492vyunT59Whs3bsz3%2B82aNcv8uUmTJpZ7xKzq1atnKZC6bt26bFlEKH4IrIuRlJQUHT58WF9%2B%2BaUeeughS7GyRx99NNs8R%2Bf0yg4dOritwixJjRs3Np935swZs2JmToKCgiyjbblZvny5%2BfMDDzzgVRVg53/bI4884tGNufOo0W%2B//eb2%2Ba1bt3Z70Xa%2BQTl69Khfr4W5ZcsWc/TZZrO5vRkKDg62XCBzcujQIXMEISgoyO12M9//3nvvNX/35Hh40hbndKnDhw%2B7fb6/qFOnjpnOmJ6ebgkMs3K%2BKb333ns9KjaWG5vNZlmCKrfR46SkJEvlelcjsc4BzoEDBwpl/nRukpKSLKnqOQUwnTt3Nvfd/v37XRa/cua8nYiIiFw7P5z34d133%2B2yc9D5HNalSxePzoctW7Y0R86PHTvm9iYsNDQ016Jp3nDOkNq9e7fL5ziPRHXu3Nlt%2BmLDhg1drqSQVVHsu8JQq1YtPfzww2revHmBbrd8%2BfJmJ2hcXJyZreHMuXPJ3Wc9N3a73dKx9Pjjj3v0urxef3PicDgsdVfcLa/lTtYpHe4ydnwlMDDQ/G44HA7t2bPHxy3KWbt27cz70fPnz%2BcaqGZOQ5IKfrRayrgncFew8JZbbrF0yjsXxsuL6Oho7dy50/z9sccec/uahx9%2B2LwOpaenexXUwz8wx9pPRUREeLzcUZs2bTRkyJBsjzunO%2BflQh4eHm6mQ%2B3bt88sdpPTcz25sDkXWpHkcmkiT12%2BfNlcekny/N9WtWpVc6mTs2fPup1X6UnxNuclrRwOhxISElS2bFmP2lPUnG9%2Bw8PDPSqW1qZNm2zF4bJyTrlu0KCBxzc6zmn7rqrVZ5XX45Fb0Tt/9NBDD5kpZPPnz1f//v2zjVidPXvWzEKRCu5G5L777jOXXtm6davOnDnjcrm29evXm%2Bm35cqVc7mEnXNq5V9//aXXX39dr7zyissaEIVhzZo1ZoXiqlWr5jg6FxYWpnbt2plB%2BIIFC/T666/nuN1bbrlFtWvX1pEjR2S32/XDDz9Y1sLNdPnyZa1bt878PafANr/n57p165oZC3v37s024uasfv36%2BZ6vuHPnTu3YsUOHDh1SfHy8WYQqk/OooatOBrvdnq/zdPPmzd2eD4pi3%2BVVTgWFEhMTdfz4cZ0/f16RkZF655139Pnnn2vs2LEeLQEpZezrzZs3a9%2B%2BfYqKilJiYmK2UUDn9OqoqKhs2UbO38tVq1Zp4sSJeuqpp/K8msWBAwfMc2tQUJClMzM3ztOmnD8XeZWammopquZtIbSsr88szlfUEhMTtXnzZu3du1enTp1SQkJCthUVnDtEcuvY87XMImaff/65pIzOYFdZO9u2bTMHb4KDg91mceRHZlFRd1q3bm3Otc5vp8WuXbvMnw3D8Oi9w8LC1KRJE3OayB9//OHR4AT8F4F1MVa%2BfHn169dP/fr1czk35%2B%2B//zZ/njNnjsdrJDuvh%2B1uvpunKYaZ1RczeTIqkdu2nJcsefvttz0usOX8utjY2FwD69z%2BlinraGFSUpLfBtbOoxi5VaN1VqdOHQUEBOQ6Eu/8OTtx4oTHS3Q5Z1x4Mq/Sk%2BPhPNXBVzdI%2BdWlSxe9%2B%2B67iouL09GjRxUREZEtaFi4cKH5Gb755pu9%2Bh45q1%2B/vm688UYdPHhQDodDy5Ytc7l0j/NIVU4p1tWrV9fdd99tBpcLFizQ0qVL1axZM7Vs2VKNGzdWw4YNC2TZHVecR/u7d%2B%2Beazpt9%2B7dzcB62bJlGjZsWK6p6927dzen4CxbtsxlYL1%2B/XozM6R8%2BfI5Vp13/t7MmDHDo/Wapbydn3Oa256bNWvWaNy4cTmu6uBK1qWWpIzvt3N9BncFjPLyvKLYd3nlrqDQvn37NG7cOP3yyy%2BKjo7WwIEDNWXKlBzXpJUy0pLHjRunpUuX5ppOm5WrNOFWrVqZ33FJ%2BvFQVFUAACAASURBVOyzzzR16lTdeeedatmypW677bYc5/k6y3y9lBE8uFpn1xXna0h8fLzS0tLytURgcHCwQkNDzfO782on%2BZH1s5uXlTAKwqVLlzRp0iR9//33HtUzyeTPqeBSRqfvF198YRaIjIqKypZZ4lz8LrOIZ0Fz7tDJjfM9UV7Ofc6c77GqVq3qcadVeHi4GVi7yjZB8UJg7afKli2bbS3p4OBglS5dWlWrVlWjRo3UsmXLHG9O09LSLBcMT0YEXXF38vb0IuScXlWyZEmv0lezrtftvAxBXrj7t%2BWnJ7yo017zwnkE19MLWFBQkEqVKpXr6K/z8Th//rx5gcgLVzfmzgICAvI8D9efj4UrwcHB6tGjh1l8aN68edkCa%2Be0uYJeFqZ79%2B6aMGGCpIxU5qyB9YULF7Rp0ybz99xGF9577z0NGDDAHAFITU01132XMjpAmjdvrh49emQreuiNqKgoy/nA3QhImzZtzIrs0dHR2rRpU67Vdu%2B77z4zsN67d68OHTqUrSCOcxr4Pffc4/I8knXEMb8jJO6%2BN3kNEiZNmuTRiglZuVqrPOv51dNMFnfV1otq3xW0m2%2B%2BWVOmTNGTTz6piIgIpaam6rXXXtPq1atdXsdPnjypRx99NNvKGp5wdTwCAgI0efJkPfPMM2bgcPnyZa1du9ZMfS1Tpoxat26t%2B%2B%2B/P8fRNufzfUpKSr7O91LG/s9vIFW2bFkzsM56P5BXWVO/CyO4y%2B29//Wvf%2BVrBN/VMfYnVatW1Z133qmffvpJ6enpWrBggQYOHGj%2BPSEhwVLPo7CWOfP0eDo/Lzk5WcnJybnWbXDF%2BZznyZKurp5b3DLtkB2BtZ%2BqV6%2BeV8sAZa5D6a3c1rGU5PFIsfNFwNuRqrz06ubG3b/tSuN8DPLSaeDueBXEZ%2B1qOxY56dOnjxlYr169WiNHjjQDjd9%2B%2B828IQ4NDS3wtLl7771XH3/8sRwOh/bv36%2BDBw/qxhtvNP%2B%2BatUqM6DJLcVayrhJmTVrlhYvXqxZs2Zp9%2B7dlo6Oy5cva%2BPGjdq4caNuvPFGffTRR27nwXli8eLFls9S37593b7GOcBatGhRroF19erV1ahRI3Me3bJlyywV7uPi4iyBRk7HyN/Oz1JGDQbnoLpGjRrq3bu3br/9dlWrVk1lypRRaGiomQGwYcOGXEcr89ux5e51RbXvCkNgYKAGDRpkFjQ6ffq01q5d63KJu6FDh5pBdWBgoO655x7dfffdqlu3rqpUqaKQkBDLufn%2B%2B%2B9324Fes2ZNLVmyRLNnz9acOXOy1aGIj4/XDz/8oB9%2B%2BEHNmjXTuHHjsk0J8Yfrb/Xq1c1UaOcshPxwfr3NZsv30oX58fbbb1uC6vbt26tz586qX7%2B%2BqlSpopIlS1qO8aBBg9wWl/Qnffr0MacuzZ8/XwMGDDDPH0uXLjW/y9WrV1eLFi0KpQ2e3utkvc9JSUnJc2BdEPdY/t5hAvcIrK9QpUqVks1mMy9es2bN8rgSaGFwHq3wNnXLeUQjKChIf/zxR55uIK9WzmlJeTkG7p7rfDx69%2B6td955J%2B%2BNg6SM6vW33367tm/frqSkJC1dulSPPPKIJGvRss6dO3tdtCeratWqqXHjxub81aVLl%2Bqll14y/%2B48Envvvfe6rVhss9nUq1cv9erVS9HR0frtt9%2B0fft2bdmyRYcOHTKfd/DgQT3xxBNasGCBRwUWc5O16FteR7PWr1%2BvuLi4XEc57rvvvhwD65UrV5qdD9WqVcuxOn7WUdn58%2Bdb5sD6whdffGH%2B3KxZM02ZMiXXzKK8nBckz1NX3T3PH/ddXjRq1Mhybd6%2BfXu2wHrbtm3m99AwDE2ePNntmteentNDQ0P15JNP6sknn9SJEye0detWRURE6Ndff7WMjkdEROiJJ57Itua38/4PDw8v8KXyPNG4cWOztse5c%2Bd0%2BvTpfM%2BXd649UqdOHa%2BLQWZy10F0%2BvRpyxSGN9980%2B3cWm/vnYpau3btVKlSJZ07d07Hjx/Xr7/%2Bak59cL6ePfjggx5XwM8rT/eZ8/MMw8jXlID83uc6d%2B4W9HUdRY9o5Apls9ks6SX5nTNSUDKrsUoZaaEnTpzI97aciyClpqbmK1XuauS83zxdqzMmJsbtCJHzvEJff86uBM7VzzNTvy9evKjVq1ebjxdG9VTJWmjL%2BaYvKirKUqQur5WmK1SooK5du2rkyJFavny5VqxYYUn9i4uLswR2%2BfHHH39YAvb8SE1N1Q8//JDrc%2B655x5zbuixY8csBWucg4zc9lFwcLClo8vX35uUlBTL8R02bJjbAMPdWsTlypWzBGSeVul39zx/23d5FRQUZNkvrvaj83SGu%2B66y21Q7XA4zLXl86JatWrq1auXxowZow0bNmju3LmW94qMjNScOXMsr3G%2Bjpw4ccInK2FkrqCQyd13NicHDhywzNfPumRpJufRR%2Bc6LTmx2%2B1uO4h%2B%2BeUXM/iuW7euRwWrvF3/u6gFBgbqgQceMH/PDKb3799vTuEICAjweGWZ/PD0Xsf5nrR8%2BfL5Gqxxvuc%2BefKkx1k7x48fN392t3IC/B%2BB9RXMeTkUT9YJLkw33XSTJa3G%2BSYur2rXrm0pEObrf5snnE/Svpr7W79%2BffPnvXv3epSKl7n2am6cq3Xv3LmzwFIFC0thHwtvsyfuuece8/O9d%2B9e7du3T0uWLDHnFNaqVSvbjWVBcZ4TfOLECXMt8GXLlpmfl5tuusnj4nc5qVOnjt59911L8JnfuZqZnNeibtq0qf766y%2BP/3NeSzS3pc6kjBsf54JkmcH06dOnLdWq3XU%2BOH9vfH0OO3funDnSHhAQ4FFRvMz58zmx2Wy6%2Beabzd89XWIpc33q3PjTvsur1NRUyznSVbqp81JgWWutuHLgwIECmTN%2B66236vPPP7esJZz1e%2Bl8X3Hp0iXL8kJF5c4777QshTlnzpx8pdDOnDnT8ntO31nn0UtPluM6dOiQ2%2BtrXo9xfHy8pXBcUSiITMDevXubo9Fr1qzRhQsXLKPVbdq08WrpVXdyWgowt%2Bc5n7fywvm8mZCQ4HFnonPnrKv3JiOzeOFoXcGci4%2BsWbNG0dHRPmtLcHCwmjRpYv6etRc8L2w2m2U%2Bzvfff%2B9V24qCc7Xq5ORkn7TBef/Hxsbq119/dfsaT0YCmjVrZgZjKSkplgDHHzkfC7vdXuBzmrytTB4SEmKZmztv3rxCLVrmrFy5cpbzRmbQ6Dx6XZDrInfo0MH82ZvzU0pKipYvX27%2B3rlz5zy9vkuXLubPnox8O%2B%2BD5cuXKz09XcuWLTM7aho0aJCtqFlWzsH5ihUrfLp%2BriejcM5iYmI8Wm/VefRz9erVbitx792716NiZP607/Jqx44dlqDL1fSHvFQAl9x3BuVFQECA2rVrZ/6e9XtZuXJlS6VlX1x/AwICzHnqUkbWQl5r0uzZs8dyH9KmTZsc6zw4p5kfOHDA7badl9vLSV6P8ZIlS4q8LkBoaKglqMvP9axatWrm9zU5OVnz5s2zZPYUVvZVprVr17q9xqekpFjWrs7vtMmsy896slrB7t27LavmON%2BnZSqI44CiQ2B9BevZs6c58nX58mWNHj3ap%2B1xvhBu377dqwDsX//6l/nznj17svU8%2BxvnVHhfLadQr149y6j1xIkTc71QHzhwwKPAumzZsurZs6dlu56mX/lCuXLlLKl9zmlYBcF5WbD8Hus%2BffqYP8%2BbN88sShQYGFioaXOSteDWypUr9ddff5kFdmw2m%2B69995cX5%2BXLADnkTtvlqnLnBstZcyP69SpU55eX69ePUvRIneBSocOHcx03ujoaP3yyy%2BWm0VPCss9%2BOCD5khYQkKCT2sTVKhQwRxVSk9Pt4yguPLBBx941CHVq1cv87vm7t%2BYlJSkN99806P2%2BtO%2By4u0tDRNmjTJ8pirtaydrxfuMgMOHTrk0fWvIL%2BXjz/%2BuPnzsmXLvM42yY9HH33Ukjnz6aefehTQStKZM2c0aNAg8/oXEhKi1157LcfnO48iRkRE5NpBFBMTo2%2B//dZtGypXrmz%2BvGPHjlyPT0xMjD777DO32yxohmFYUv/zez1znt70ySefmOfqSpUquZ3m4K3o6Gi3x2PatGnmMbXZbJb7mbwIDAy0vPbbb7/NNX3f4XDoww8/NH%2BvWrWq7rjjjmzPK6jjgKJBYH0FK1WqlF544QXz95UrV2ro0KFuiyrEx8fr22%2B/1ZAhQwq0Pe3atbP0BI4cOdLtDWxOwV3jxo0tN8/vvvuupk%2Bf7rZH98SJExo7dqy%2B/PLLPLbeO84X5uXLl%2BvcuXNF%2Bv6ZnnnmGfPnHTt2aPTo0S7nyJ06dUrPPfecx/Pnnn32WfMGLC4uTo8//rjbCrV2u12//PKL%2BvXrV6QXisDAQMuIyzfffFOgIwHO6WDz5s3LV4pm3bp1zcJXzhkObdu29Wg9b2%2B0b9/eDFpiYmI0cuRI829NmzbNViU4qy%2B%2B%2BEKjR4/OtnZ9VrGxsZZRJm/S253PI40aNcpXaqHzKHfW6uJZlShRwjLaPmnSJLO6sM1mc1nlOasyZcpYUtCXLFmi119/3e1UigsXLmjatGl69dVX3b6Hp8LCwiznqPfff99lO%2Bx2uyZMmOBxp2ilSpUs69ovW7ZML7/8crabzb///ltPPvmk/vjjD4%2BWqfGnfeepffv26ZlnnrGkujdt2tTlCFWzZs3Mn3/%2B%2BeccK0EfPnxYzzzzjEdZUKNGjdLEiRPNato5iYyMtKwv7Kp9PXv2NDtp7Xa7XnjhBXM9%2BNzs379fr732miW7JL9CQkL04Ycfmqn0aWlpevHFF/XVV1/let3asmWL%2Bvbta%2Bn8HTFiRK7rp7ds2dIs2pacnKx33nnHZSAcGxurZ5991qPsG%2Bfz3ZEjRzR9%2BnSXzzt79qz69eunmJgYt9ssDM7nhZkzZ%2BZ5pF3KuKZkdhY5f1Z79eqVr7XM8%2Brjjz/Whg0bXP5t7dq15hKKktStWzfLNIO8euKJJ8ystYSEBA0YMMDlsUtPT9e7775ryRzs379/jmnfBXEcUDSoCn6Fe%2Byxx7Rz504zJWXJkiXatGmTunfvrsaNG6tChQpyOBy6cOGCDh48qJ07d2rLli1KTU1V48aNC7QthmHoww8/1AMPPKCYmBilpqZq%2BPDhmjVrlrp27ao6deqoZMmSiouL0/79%2B/XTTz9p586devDBB9WtW7ds2xszZowOHjyow4cPKz09XWPGjNHs2bPVrVs3NWjQQGXLllVycrJiYmL0559/auvWreac4dyWiSkMnTt31tixY81ia%2B3bt1eDBg1Urlw580RaqVIlvfXWW4Xajm7dumnx4sX68ccfJUmzZ8/Wrl271Lt3b9WpU0fJycnatm2bZs%2BerYsXL6pp06aKjIx02xFw/fXXa9y4cXr22WeVlpamEydO6IEHHlDbtm3VunVr1axZU6GhoUpISNDJkye1Z88e/fTTT%2BZ2i3re%2Bb333msG/v/973%2B1fv16hYeHWwo2de/eXffcc0%2Bet92tWzdNmzZNUkZqa%2BvWrdWgQQOVLl3aHBW86aabNGjQoFy306dPn2yjVYWdNidlpJ116tTJDJ6cRy89SQO/fPmyZs6cqZkzZ6pBgwZq3ry5br75ZlWsWFHBwcGKjY3Vrl27NH/%2BfPMGNDAwMNu62Z6Kjo42l3SRrGndedGlSxf95z//kZRRrG3Lli2WlOOsunfvriVLlkiy7qMWLVpYRqNy069fP/3xxx9m4DR//nytX79e3bt312233aaKFSvKbrfrwoUL%2Bvvvv7Vjxw799ttvSk1NNavrFpTHH39cw4cPl5RRK6Fnz57q27ev6tevr/T0dB08eFALFizQn3/%2BKSlj1Nh5rmROnnvuOW3dutWcf/7DDz9oxYoVCg8PV9myZXX27FmzE6ZixYoaPHiwRowYISn3pf78ad9J0ksvveQySLh06ZKOHz%2Be7Rx63XXX6f3333e5rTZt2qhWrVqKjIyUJA0ePFg9e/ZU%2B/btVb58ecXExOjnn3/WwoULlZKSoltvvVVJSUm5pilfuHBBc%2BbM0eeff64mTZro9ttvV7169VS%2BfHkFBgbq7Nmz2rZtmxYuXGh2UJQrV85lUa2goCBNmjRJvXv3VmxsrC5duqTBgwfr66%2B/VqdOnVSvXj2VKlVKly9f1rlz57Rv3z5t3rzZnHNaUEsr3XTTTfriiy/03HPPmeubjxs3TrNnz1bXrl3N887Fixd17NgxrVmzxlLfxTAMvfLKK5YRVVeCg4P1yCOP6PPPP5eU0UF0%2BvRpPfTQQ6pWrZouXryo33//XXPmzFFcXJzuuusu7dq1K9dVCcLDw9WiRQszsHr//fe1bds2devWTZUrV9aFCxe0bds2zZkzRwkJCapWrZqqV69e5DUF7r33XvN%2BYfXq1WrVqpVuuukmy7zztm3b5roPg4KC1KtXL8uAhmEYhTqtKdM999yjFStWaODAgbrnnnvUsWNHs1L5mjVrtGLFCvP%2B45prrsk1c8ET1atX19ChQ80M0b1796pbt256%2BOGH1ahRI4WEhOjw4cOaO3euZam1Vq1aWTLVsiqI44CiQWB9Ffjggw9UsWJFs0c0Li5O3333nb777rsib8v111%2Bv2bNn65lnnjFHKXft2uU29dCVsLAwzZo1Sy%2B%2B%2BKJZGCcyMtInKVPuVK5cWa%2B//rrefvttc15v1qCpRo0aRdKW8ePHm6NDUsZIiquAPjNYzu1k7%2Byuu%2B7SV199pcGDBysuLk4Oh0MbNmzIsafYlx599FGtX79eW7dulZRRvCnrjW9%2Bl/Bp2LCh%2Bvfvb95EXLp0yXyfTJ4UeLvnnnv03nvvKT4%2BXpJUpUoVl2mjhaF79%2B7ZRiWDg4PzPHd57969bjMXAgMDNWbMGMs0hbxYunSpZY5wXtPAM9WvX98SzCxcuDDXwPrOO%2B9UhQoVso1O5WUOumEYGj9%2BvN577z0znTc2NlbffvutR%2BmkBalnz57atGmTmSF09OhRjRkzxuVzX3jhBTVo0MCjwDo4OFhffvmlhgwZYs7Lttvt2r9/v%2BV5NWvW1KRJkyyZDs7Vv7Pyp30nyaOaFZnuuusuvfXWWzkuERUQEKCPPvpIjz32mC5duiS73a4FCxZowYIF2Z5btWpVffzxx5bstNzY7XZFRES4LRJXunRpffbZZ5YUVGfVq1fXnDlzNHDgQLOo1u7duz0uFlVQWrZsqe%2B%2B%2B06vvvqq2bFw4sQJt1lplSpV0rvvvutxKvKAAQP0yy%2B/mPcq27dvtxQrzFS/fn19%2BOGH6tixo9ttvvfee3rooYfMiu5r1661zPXNVK5cOU2cONHrlRPyo3v37lq9erXWrFkjKeP%2BMetn3V0Wk5SRDj5lyhQziG3atKlq1qxZ8A3O4qmnnlJ6erpWr16t5cuX55gtUbp0aX311Vc5ft7z4pFHHlFCQoLGjx8vKSPza/LkyTk%2B/4477tCkSZNyXXKsoI4DCh%2Bp4FeBgIAAvfbaa/r%2B%2B%2B/VunXrXFNvDMNQgwYNNHjwYE2YMKFQ2lOrVi0tXrxYgwYNynVpgaCgILVt29ayXENW5cuX1/Tp0/XRRx/lWHgkU3BwsO644w698847lpTootK3b1/997//Ve/evRUeHq6wsDCfVHsMCwvTjBkz1K9fP5dL6gQEBKhTp06aP39%2BntcGbdmypVasWKGnn34617WApYwbmwceeEAzZswokguss%2BDgYE2fPl3vvfee2rZtq2uvvbbA1i%2BVpCFDhmj69Onq3r27atWqpZIlS%2BZ5nc7Q0FBLZ8v999%2BvgICAAmtjblq0aGGZ5yll9IZnXUPYla5du%2BqRRx5x21EUGBiodu3aaeHChR7NSc6JcwfArbfe6lUan3PHwZo1a3JN4w8ICMiW8h0SEpLnwD4wMFCjRo3SzJkzdeedd%2BZ6jG02m2655RYNGTJEY8eOzdP7eOLDDz/U888/b1kOylmtWrX06aef6vnnn8/TdsPCwvTFF19o8uTJ6tSpk6pUqaKgoCBVqlRJjRs31siRI7VgwQLVq1fP0lHhLi3cn/ZdTkJDQ1WpUiU1bdpU/fr106JFi/Tll1%2B6Pbfecsstmj17tqVCt7Pg4GD16NFDixYt8mj990cffVS9evXK9r121d5evXpp2bJlLtPAndWoUUMLFy7UiBEjVK1atVyfGxYWpg4dOuiTTz7JVyZQbho0aKBFixbp7bff1i233OL2XNuyZUutXr06T/N7Q0NDNXXqVD3wwAMur9uhoaHq27evvv/%2Be4/Ok1JGp8jcuXMtBSOdZRaSW7x4sUeV%2BguDYRiaNGmSJkyYoI4dO6pq1aqWAp2euu666yz7pSiyr6SM9n/yyScaNGhQjseldevWWrRoUYHu43//%2B9%2BaMWOGZQWDrKpUqaJRo0bpq6%2B%2ByvGcm6mgjgMKn%2BHw1do/8JmEhARt375dp0%2BfVlxcnAICAlSmTBnVrFnTTA0rKna7XXv27NHff/%2BtmJgY2e12lS1bVrVr11bDhg3dnmyyioqK0o4dO3T%2B/HnFx8crNDRU11xzjWrXrq169eoVaPB0JUhISNAvv/xizjerUqWKbr/99gJZ/sJut2vv3r36%2B%2B%2B/FRsbq5SUFIWFhenaa6/VjTfeaCkWhewOHz5s3oAahqE1a9aoevXqPm5V3pw7d0779%2B/XiRMnFB8fL4fDobCwMNWoUUMNGzYs0nNNcXHx4kXz/HzhwgUFBASobNmy5vnZXYdVQbXht99%2B07Fjx5SWlqbKlSvrhhtu8GhZIG%2B99tpr5sjs4MGDNXDgQI9f6w/7rjDs379fO3fuVFxcnEqXLq0qVaqoWbNmHgdwWR0/flwHDx7UqVOndPHiRRmGoTJlyqhOnTq65ZZbLOmleXHkyBHt2bNH0dHRunTpkkqWLKmKFSvqhhtuUN26dYtkPq2Ucd7ZtWuXoqOjFRMTo7S0NP3www9mNkRAQIAmTpxoqZOQF%2BfPn9eWLVsUFRWlwMBAXXfddZZ52PkRGRmpbdu2KTo6WiVKlFDlypXVpEmTQq%2BpUVTWrVtn1kUoW7asfvrpJ5dLzRWE5s2bm2n48%2BbNM89bycnJ%2BvXXX3XixAklJiaa%2B9hdp5C3Tp06pe3bt%2Bv8%2BfNKTU3VNddco3r16nnUCYTih8AaAPzQ2LFjNXXqVEkZaceZPwNXqosXL%2Bquu%2B4yC2xOnz69UOZD4%2Bpz%2BvRp9e3bV6dOnZKUkV0ydepUt6PyKBj//ve/zakgjz32mFlHoTDkFFgDRYFUcADwMxcuXLBU5nVVQAgoLjzpv7fb7Ro1apQZVFetWlXNmzcv7KbhKnHddddp6tSp5vSz5ORkDRw40KN1qeGdAwcOmIW3JOnhhx/2YWuAwkVgDQB%2B5PLlyxo1apQuXrwoSapdu7bat2/v41YB%2Bff000/rs88%2B06FDh1z%2BfdeuXXrqqacshYUGDhzokxoUuHLVrl1bX3/9tVkULz4%2BXk8//bQ5io2CFxMToxEjRpida%2B3atdONN97o41YBhYeq4ADgY9OnT1dERIQuX76s/fv3W9a9HDJkSJEVLQMKQ1RUlCZOnKiJEyeqXLlyqlGjhsLCwnT58mVFRkYqNjbW8vzOnTsXWXEjXF1uvvlmff3115Yl%2Bn7//Xevih7CauzYsTp69KguXryovXv3mlkogYGBGjx4sI9bBxQuAmsA8LE9e/Zo3bp12R7v06ePR8u2AP7MuUBPXFxcjuv7BgYG6rHHHtPQoUOLqmm4CjVq1CjXas3wzm%2B//eZymcWhQ4e6Xb0FKO4IrAHAj5QsWVJ169bVQw89lOtSc0Bx8d1332nDhg2KiIjQ/v37derUKSUmJsowDLNqd7NmzXT//fcXu8r3AHJWunRp3XLLLfrXv/6ltm3b%2Bro5QKGjKjgAAAAAAF6gMggAAAAAAF4gsAYAAAAAwAsE1gAAAAAAeIHAGgAAAAAALxBYAwAAAADgBQJrAAAAAAC8QGANAAAAAIAXCKwBAAAAAPACgTUAAAAAAF4gsAYAAAAAwAsE1gAAAAAAeIHAGgAAAAAALxBYAwAAAADgBQJrAAAAAAC8QGANAAAAAIAXCKwBAAAAAPACgTUAAAAAAF4gsAYAAAAAwAsE1gAAAAAAeIHAGgAAAAAALxBYAwAAAADgBQJrAAAAAAC8QGANAAAAAIAXCKwBAAAAAPACgTUAAAAAAF4gsAYAAAAAwAsE1gAAAAAAeIHAGgAAAAAALxBYAwAAAADgBQJrAAAAAAC8QGANAAAAAIAXCKwBAAAAAPACgTUAAAAAAF4gsAYAAAAAwAsE1gAAAAAAeIHAGgAAAAAALxBYAwAAAADgBQJrAAAAAAC8QGANAAAAAIAXCKwBAAAAAPACgTUAAAAAAF4gsAYAAAAAwAsE1gAAAAAAeIHAGgAAAAAALxBYAwAAAADghUBfN8CXzp27WGjbttkMXXNNKcXEJMpudxTa%2B6DgcMyKH45Z8cMxK344ZsUPx6z44Zh5r1Kl0r5uAq5yjFgXEpvNkGEYstkMXzcFHuKYFT8cs%2BKHY1b8cMyKH45Z8cMxA4o/AmsAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNQAAAAAAXriqq4IDAAAAzgyj6AuIZb6lYWR/f4eDKuFAcUBgDQAAAEgqUSJRhhFf5O%2BbUQ08WCEhKQoKsgbSDkcZXb5cqsjbBCBvCKwBAABw1TMMQ4YRL4dji6TkIn1vuz0jsLbbU7KMUIfIMFrKMMIYuQb8HIE1AAAAYEqWw5FUpO%2BYkf7t%2BL/3djg9XqTNAOAFipcBAAAAAOAFAmsAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNQAAAAAAXiCwBgAAAADACwTWAAAAAAB4gcAaAAAAAAAvEFgDAAAAAOAFAmsAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNQAAAAAAXiCwBgAAAADACwTWAAAAAAB4gcAaAAAAAAAvEFgDAAAAAOAFEghkrAAAIABJREFUAmsAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNQAAAAAAXiCwBgAAAADACwTWAAAAAAB4gcAaAAAAAAAvEFgDAAAAAOAFAmsAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNQAAAAAAXiCwBgAAAADACwTWAAAAAAB4gcAaAAAAAAAvEFgDAAAAAOAFAmsAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNQAAAAAAXgj0dQMAAABwdTIMw9dNMPlRUwAUQwTWAAAAKHIlSiTKMOJ93QwnNgUGpio11dftAFAcEVgDAACgSBmGIcOIl8OxRVKyr5vzf8rIMMJ93QgAxRSBNQAAAHwkWQ5Hkq8bIUkyjBBfNwFAMUbxMgAAAAAAvEBgDQAAAACAFwisAQAAAADwAoE1AAAAAABeILAGAAAAAMALBNYAAAAAAHiBwBoAAAAAAC8QWAMAAAAA4AUCawAAAAAAvEBgDQAAAACAFwisAQAAAADwAoE1AAAAAABeILAGAAAAAMALBNYAAAAAAHiBwBoAAAAAAC8QWAMAAAAA4AUCawAAAAAAvEBgDQAAAACAFwisAQAAAADwAoE1AAAAAABeILAGAAAAAMALBNYAAAAAAHgh0NcNAAAAQOEyDMPXTbDws%2BYAgNcIrAEAAK5gJUokyjDifd2MLGwKDExVaqqv2wEABYPAGgAA4AplGIYMI14OxxZJyb5ujpMyMoxwXzcCAAoMgTUAAMAVL1kOR5KvG2EyjBBfNwEAChTFywAAAAAA8AKBNQAAAAAAXiCwBgAAAADAC8yxBgAAAPyW8X/Lk/nPGmUOh8PXTQD8DoE1AAAA4JcCFRjoUGjoaUn%2BE8w6HGV0%2BXIpXzcD8CsE1gAAAIBfCpBhJMjh2C3/WS4tRIbRUoYRxsg14ITAGgAAAPBr/rNcmuE/GemAX6F4GQAAAAAAXiCwBgAAAADACwTWAAAAAAB4gcAaAAAAAAAvEFgDAAAAAOAFAmsAAAAAALxAYA0AAAAAgBdYxxoAAKAAGT5e6Dfz7Q2DNYcBoKgQWAMAABSQEiUSZRjxPm2DzWZIClZISIrsdkOBgalKTfVpkwDgikdgDQAAUAAMw5BhxMvh2CIp2WftsNszAmu7PUUOR2kZRrjP2gIAVwsCawAAgAKVLIcjyWfvnpGK7lBGcB/ss3YAwNWE4mUAAAAAAHiBwBoAAAAAAC8QWAMAAAAA4AUCawAAAAAAvEBgDQAAAACAFwisAQAAAADwAoE1AAAAAABeILAGAAAAAMALBNYAAAAAAHgh0NcNAAAAyC/DMHzdBJMfNQUAUMQIrAEAQLFUokSiDCPe181wYlNgYKpSU33dDgBAUSOwBgAAxY5hGDKMeDkcWyQl%2B7o5/6eMDCPc140AAPgAgTUAACjGkuVwJPm6EZIkwwjxdRMAAD5C8TIAAAAAALxAYA0AAAAAgBcIrAEAAAAA8AKBNQAAAAAAXiCwBgAAAADACwTWAAAAAAB4gcAaAAAAAAAvsI41AADwiGEYvm6CyY%2BaAgAAgTUAAHAvJCRBDscFXzfDiU2BgalKTfV1OwAAILAGAMAv%2BcvocGYzDCNedvsWSck%2Bbc//lJFhhPu6EQAASCKwBgDA75QokSjDiPd1MyRJNpshKVQBASlKT0%2BWw5Hk6yZJkgwjxNdNAADARGANAIAfMQxDhhEvh8M/RoftdkNSBRlGbV83BQAAv0VgDQCAX/KP0eGMlPQUXzcDAAC/xnJbAAAAAAB4gcAaAAAAAAAvEFgDAAAAAOAFAmsAAAAAALxAYA0AAAAAgBeoCg4AuKplVL32H37WHAAA4AECawDAVatEiUQZRryvm5GFTYGBqUpN9XU7AACApwisAQBFJnM01jB8P1Kc0YZ4ORxbJCX7tC1WZWQY4b5uBAAAyAMCawBAkShRIlEBARclBSskJEVBQQ4ftyhzZDhZDkeSj9vyP4YR4usmAACAPCKwBgAUOsMw/m90%2BFdJDtntKXI4fB1YMzIMAAAKBoE1AKDIOBzJkhySkn0eWDMyDAD5Zfzf1B6qLQKZCKwBoAD4er5wVr4OWgEAV6pABQY6FBp6Whkdpf6CDCT4FoE1AHjJHytLOxxllZRUytfNMPlZvwMAIN8CZBgJcjh2y38KP4aIwBq%2BRmAN%2BAl/G/GUGPX0xP/mDvtTZelSCgpq%2Bn/Bvr8cw4xCYWlpvm4HAKBg%2BE/hRz%2B8hcJViMAahc7fAkZ/DBb9ccRT8r9RTynj%2BGV%2Bpvxh6ab/va0/3WCE%2BOFoQkahMD87HQAAABQIAusrjL8FsaGhCX4XMDocZXT5sv8Ei/454in556inocDAEKWlZQSwNpsh3y/dlLlkk4/ePlf%2BFewDAABcqa7qwNqbINR51Mz1tv/3/6IKdv0viLUpMDBZqanb5D8BY4gM4w7ZbGHKOnDtq9FPfxzxlPx71DOzTXZ7RmDt26WbWLIJAADgamc4/DEvtojY7Sn5fKUhwzDkcNhzfY7NJtntUtGM9hkyDIccjpQiej9P2GQYgX7WJkOGESKHw1D2NhX1MXNuk8NpGSJ/YZNhBPnZ8cveJpvNkN3uy/YVj/3ke/9rU8b3zB/a5Y/7SfLHdtlsAXI4/O187n/7yZ/a9L9zo/%2B0ycof2%2BXbNrm%2BnrGfPGEYJWUYV/V4IfzAVR1YOxyOQr258/0NP/KKY1b8cMyKH45Z8cMxK344ZsXP1XLMbLYTMow0ORyBsturFdA2DTkc6bp8%2BbDlcX%2Bb/ofiq1Kl0m6fc1V37djtDsXEJBbKtgMDbSpfvpTi4y8pLS23kW34C45Z8cMxK344ZsUPx6z44ZgVP1fTMQsNXaCSJcfr0qWXlZTUr0C2ec01pWQY9iz1akJkGC1lGGF%2BWbgWV56rOrAGAAAAUHSSkvoVWECd3f/q1fhZPV9cBWy%2BbgAAAAAAAMUZgTUAAAAAAF4gsAYAAAAAwAsE1gAAAMD/Z%2B/u4%2BSo6nzxf05193RPd8%2BEnkk0CYRhRb1AAEHA4WldCKiry4oRFxFFNAOKK6sScjXC3RGCEXSTIIIIyEQEXV0l5rd7ucqqqChRw7rCRhAFRWIgIGRmkpnunn6qOr8/uqumuqeq%2Brmrqvvzfr3mlUx3PZyqU9XT3zrnfA/5lhCzbheBiMnLaqFpGlS1UOc6AplMALlcFqrKTIR%2BwDrzH7/WWSAQhKLwuSYREVErCHEAUva7XQzqcQysHUgpMTMzhbm5ZEPr79unQNO6e8qEbsM68x%2B/1ll/fxyDg0MQTFtKRIRIZKLlUzD1kl4/f1IucrsIRAysnehBdTyeQF9fuO4vwIGA8FUrGrHO/MhvdSalRC6XRTI5DQBYtGjY5RIREbkvGt2CQGAPotEtPRkYNqvXz5%2BUAxCivt6lRK3GwNqGpqlGUB2PDza0jWBQQaHgv5a0XsY68x8/1llfXxgAkExOY2AgwW7hRNTz0um1Rosr1c8v56/XW9apuzGwtqGqKoD5L8BERK2kf7aoagGK0udyaYiI3JXJjDHQaoJfzl/7W9bDmO9gyu/w1FkMrKvg%2BEciagd%2BthARUa9pb8u6AiFOKXtFykFI6Z/hYuRvDKyJiIiIiKjt2tuyriCTWQ5zHM2gmjqJgTVRi/35z7vx%2Bc9vwq5djyAS6cfZZ78JH/rQ5QiHI47rXX75B/Doo79e8PrXv34vRkYOM36/66478eijv8YTTzyOVCqFO%2B%2B8G0cccVSrD6NjvvOdb%2BOXv9yB3/72Mezfvx/XXXcDzjzz7Krrbdx4Db73vfss3/vgBy/HRRe9r%2BmyveMdf48XXnje8r3bbvsKjj76GADArbd%2BAT//%2BUP4y19egBAChx46ggsueDfOPvtNTZeBiIiIaiMlg2lyDwNrohaanZ3FRz/6ISxduhSf/vTnMD09hVtuuREzMwcwPn5d1fWPOeY1%2BPCHP1b22tKly8p%2B//d//w4OPvgQnHTSKH7ykx%2B1tPxuuP/%2B/wcAOPnk04z/1%2BJ977sE5557HoJBgUKh%2BEf0Rz/6Pr71rW/g5JNPbUnZPvOZf0Euly977bbbbsYzz/wJRxxxpPFaJjOHt73t7Tj00MMgpcRPfvIArrnmamiaxBvf%2BLctKQsREREReRcDa%2BqIbDZTtcW23aSUyOfz6OtrX6Kof//3bZidncFXvvKvOOiggwAAgUAQGzb8H7z3vWtw2GF/5bj%2BwMCA0QpqZ9u2%2B6AoCn796191RWB9221boSgKnn9%2Bb12B9cEHH4KDDz6kLCv4bbfdjMMOewVe9apXt6Rsr371EWW/z83N4fe/fwJ/%2B7fnIBic//hcu/YTZcuNjp6CZ555Gt/73v9lYE1ERETUAzjHSw/YuPEaXHTR%2BfjFL3bgoovOx6pVp2LNmvfgscd%2Bs2DZ7373/%2BLiiy/AqlWn4m1vezNuv/2LKBTm5wXct28fPvOZa/EP/3AuVq06DRdcsBq33/5F5HK5su2cfvqJuOeeu3DrrV/AW9/6JpxzzhsAAE8//UesW/cRvOUtZ%2BGss07Du971dnz9618tW/enP/0J3v/%2BC7Fq1al461vfhM2bP4t0Om28/%2Btf/wqnn34iHn74l7jmmqvxhje8Huedd86C7cwf90O4%2BOJ34cwzT8FDD/206fPp5Je//DlOPPF1RlANAGecsQp9fX34xS92tGQfrZyaaWLidrzhDX%2BNJ554HJde%2Bl6sWnUq3v3ud2DHjp%2B1bB/VtOp4XnrpReza9ahlIPvznz%2BESy%2B9GKtWnYZzzjkbmzZdj7m5ubr38bOfPYi5ubmaguXBwUVl9w4RERERdS%2B2WPeIyclJbNnyWaxZ8wEMDAzga1/7Kq688nJ885vbkUgMAQC%2B%2Bc2v4Utfuhnnn38hLr/8Y3jmmWdwxx23QtM0fOhD/wQAOHBgPwYHF%2BGf/ukKDAwMYM%2BeP2Pr1jswObkPV131qbJ93nvvN3D00cfik5/8Z%2BTzxQBj/fq1SCSGsH79PyMej%2BPZZ/fgpZdeNNZ56KEHcfXV/xtnnnk2PvCBD2Pv3udw%2B%2B1fxJ//vBs33XRr2fY3bboeb3rTW/CZz/wLHnzwx/jSl27G4Ye/qqwb8L59%2B3DTTZtx8cVjeNnLXo6XvezltueoGAQ5z4msKIpjIPjMM3/C3/3dW8te6%2Bvrw/Llh2D37j/Zrqd75JFf4%2ByzT4emaTjqqKNxySWX4bjjXlt1vUrPP78X//APb8X7338pxsY%2B6LhsoVDA%2BPhVuOCCd2P58uXYvn0brrpqHb7yla/jFa94pe16mqZB06rPH21u2W2nH/zgP6Fp2oJxzT/%2B8Q/xqU9dhbe85e8xNvZBTE7uw2233YLZ2Rlce%2B31de3jhz%2B8H8uWLcfRRx%2B74D0pJVRVxdzcHHbs%2BCn%2B67924p//eUNTx0RERERE/sDAukfMzBzAddfdgBNOOAkA8JrXvBZvf/vf4Vvf%2BgY%2B%2BMEPI51OYWLiDlx44XvxwQ9%2BGABw0kknIxAI4Itf/DwuvPAiLFp0EA4//JW4/PL5McDHHPMaRCL92LjxU1i79hOIROa7ew8OLsKnP/05Y1qh/fv3Y%2B/e5/CRj1yJ009/PQDgta89saycW7fegSOOOAobNlxv2s4grr32/%2BDXv/5V2fJnnLHKCBpPOOEk/PznP8NPfvJAWWA9OzuDzZu/gKOOOtrx/OiBaDXVAtXZ2RnE4wMLXh8YGMDMzIzjto8//gT87d/%2BHVasOBT79r2Eb3zja/jYx/4Rt9xyh2Ug1yr5fB4XX7wG55xzLgDgda87BRdcsBp33/0VXHPNRtv1rr9%2Bg23yMLOHHvpVy8rq5Ic/vB9HH30sli8/2HhNSokvfvEmrFr1Bqxf/8/G60NDQ/j4x6/AxRdfgle84vCatn/gwH48/PAv8a53XWQ5VdavfvUwrriieO8EAgFcccXHa0rCRkRERET%2Bx8C6R8TjcSOoBoqB3gknnIjHHy92B//Nb3Zhbi6NM888q6z76gknnIRsNounn/4jjj/%2BBEgp8e1vfwP/8R/bsXfvXuRyWWPZvXufLWvhPPnk08oCkEWLFmHp0mW4/fZia%2BEJJ5xU1oKcTqfx1FNP4h//8aNlZT/zzLPx6U9/Crt2PVoWWJ900snG/xVFwcjIYXjxxRfL1j3ooIOqBtUAsHjxEtx5590IBBSoqn0r7OLFS6puy3p6Ymnz%2BrzKgP3UU/8aF110Pu66605s2vSFqvs1W7ZseV0B7etff6bx/0AggNNOe33V7uBr1nwA5513fl3lapfdu5/Bk0/%2BHldc8b/LXt%2BzZzdeeOF5fOQjV5Zd18cddwKEEPj975/AK15xOFRVLcsiatXK/qMf/RCFQgFveIN1pu%2BVK4/GnXfejWQyiV/%2B8ue48cbPIRgM4Jxz3taioyQiIiIir2Jg3SMOOiix4LVEYgh79vwZQLE1DgDWrHmP5fovvvgXAMC3vvWv%2BOIXb8KFF74Xr33tiRgYGMATT/wWW7Z8dsE460SifJ9CCGzZcjPuuONL2LLls5ibm8OrX30EPvKRtTjuuNcimZyFlBLDw8Nl6wWDQSxadBBmZg6UvT4wUN4yHAqFysZiF497yPJ4KoVCIbzyla8uS4Rlpdp44IGBQczOzi54fXY2iZER58Rllfr7%2B3HKKafjJz95oK716hUMBjE4OFj2WiKRwOTkPsf1Xv7ypViy5GXtLFrNvv/97yEQCGDVqjeUvb5/f/G6vuqqdZbr/eUvLwAA3vnOt5VNq/Xtb/8Hli1bXrbsD35wPw4//FW23eOj0Zgx7dmJJ74O%2BXwON998I9785r9HIBBo7MCIiIiIyBcYWPeI/funF7w2PT2F4eHFAIoBIQBs3PgvePnLF45D1oOMH//4AZx22utx2WWXG%2B8984zd2OGFTbSHHnoYPv3pz6JQKOA3v/kf3HHHF/GJT1yB7du/h3h8AEIITE1Nlq1TKBSMsd31qtZKrGtVV/DDDvurBWOpc7kc9u59dsHY61p0Yi7GQqGAmZmZsuB6enrauDbseKkr%2BA9/%2BJ848cRRI1%2BATr9mrrji41i5cmHPBb0Hwmc/eyPy%2BdyC13UvvPACfvOb/zGGSdTif/2vI7Ft27ewf3/1c0lERERE/sbAukckk0n893//l9EdvPj7r4yuvMWx0hG89NJf8Dd/c6btdrLZDEKhUNlr3//%2B9%2BouTzAYxPHHn4B3v/t9WL9%2BLfbtewmHHjqCV73q1fjRj36ICy6Ybzl/8MEfQVVVHHvscXXvp1at6gp%2B8smn4qtfncCBA/uxaFExM/hPf/pj5HI5nHLKaXWVaW5uDr/4xUM48sij6lqvET/96Y%2BNMdaqqmLHjp9W7ULvla7gjz32Gzz33LN4//svXfDeyMhheNnLXo69e59zLOvhh9snaQOK47cB4Oyza586a9euRxGLxYzrgIiIiIi6FwPrHjE4uAg33HBdWVZwADj//HcBKI7BHhu7DLfeejNefPFFvPa1J0JRFOzd%2Byx%2B9rOfYuPGzyESieCkk0bx7W9/E9u2/RtWrBjB97//PTz77LM1leEPf3gKt9xyI8466404%2BOBDkEwmcc89X8GyZctx8MGHACgGa5/85Dp86lNX4c1vPqeUFfwWnHDC6xYkOmulUCiEI444qmpX8GrOPfc8bNv2LaxffyXe975LMD09hVtuuRFvfOOby%2Bawvv76Dbj//v%2BHBx/cCQD4n/95BN/4xj14/evPxNKly7Bv30v45je/hqmpSVx33Q1l%2B3jkkf/G/v3T%2BNOfngYA/Pd//xeef34vli1bbnRFricreCgUwle/uhW5XA7Lli3H9u334sUX/4Lrr9/suN6yZcsXdJduxO9%2B91s8//xeo9v2448/BqA4fOH4408AALzwwvN45zvfhve975IFAfT3v38/wuFw2ThxnRACl19%2BBa699mpkMnM45ZTT0d/fjxdeeB6/%2BMVD%2BMAHPoxDDx2pWsYf/OA/ccwxr8HSpUsXvPeHPzyFL33pZpx55llYtmw55ubS2LHjZ7jvvn/HZZdd3rGs6ERERL2u2FPRubtiJ3oDUm/iN74eMTw8jA996CO49dab8Nxzz%2BKv/uoV2LLlZgwNzY9nfte73oMlS5bg3/7t69i27d8QDAZx8MGH4NRT/9oIDt73vkuxf/9%2B3Hnn7QCAM844Cx/72Dp84hNX1FSG4eFh3HPPV7Bv30uIxeJ4zWuOw/j4dcYY1NNP/xt8%2BtOfw113fRmf/OSViMcH8MY3vsWY7svrBgYGcNNNX8LnP/8vuPrq/41IJIKzz37TgvJrmgZVVY3fh4cXI5fL4/bbb8GBAwcQifTjmGOOxbp1n1zQcjwxcTseffTXxu9f%2BtLNAIA3v/kcXH31NQBgzNFcOV7dSjAYxDXXbMSWLZ/F00//AcuWLcfGjZ/DK1/5qobOQb22bftWWZfyb37zawCA4457LW655Q4A81NZVU7vpaoqHnjgBzjttNcjGo1abn/VqrMxMBDHV7%2B61ehdsXTpMoyOnlp2/dv505%2Bexh//%2BBSuvHK95ftDQ0OIx%2BO46647MTU1iVgsjpGRw3D99Zvw1399RtXtExERUStIRCLPA3AOnKUcxNxcrDNFop4iZA8/tlFVDVNTKcv38vkcJiefx/DwMoRCfQ1tv9nWz1bZuPEa/O53v8U993zL7aJ4nlfqrFn33ff/4bbbbsG9995XNgVapYmJ2/HNb34NP/iBcwZwL/NrnbXiM8aPgkEFiUQM09MpX9ZbL2Kd%2BQ/rzH%2B8VGeRyASi0S1Ip9cikxlztSy1iEQmEI%2B/HVIuRTr9DQBZh6XDEOIUzM0tZ8s11WXJkoXT6VZyTnFMRL60a9f/4PzzL3QMqomIiIgqRaNbEAjsQTS6xe2i1CQa3QIh9Ck1s5AyY/vjHHQTNYeBNVEXuuqqT%2BG9713jdjGIiIiohSKRCQwNrUQkMtG2faTTa6GqK5BOr62rXMPDIxgeHmlr2ayk02shJUe3kvvYFbwHuoJT7Vhn/uPXOmNXcPe7O1JtWGf%2Bwzrzn1rrbGhoJQKBPVDVFZiaeryDJXSmlwuAK2UbGopBiALS6btKLdPWhIhAiDPYFZzqxq7gRERERERdopHW5E5Ip9dC0xLQtETVsnWi1Z3IDQysiYiIiIh8IJMZw9TU421NKtZI4JvJjGFycjcmJ3dXLZvfxnAT1YqBdRXsJkJE7cDPFiIi6rRaguZ2B75ebXUnahYDaxv6vMq5HLMHElHr6Z8tgQATrhARtRK7GturJWhud%2BDbiVZ3IjfwG50NRQmgvz%2BOZHIaANDXF4YQoq5taJqAqrJVyk9YZ/7jtzqTUiKXyyKZnEZ/fxyKwuebREStZA4eGbyVS6fXGnNU28lkxnjeiBrAwNrB4OAQABjBdb0URYGmMRunn7DO/MevddbfHzc%2BY4iIqHVqCR79IhKZMI6lFcEug2ai9mFg7UAIgUWLhjEwkICqFqqvYBIICCxaFMWBA2lftab1MtaZ//i1zgKBIFuqyRWt/pJO5EXdFDyy9Z3IPxhY10BRFChKffPMBoMKIpEI5uZUziHpE6wz/2GdEdWHX9KJ/KXTre%2Btevjm3kO8MJxHboYBiNIy9Q3xbAYTlvYGBtZEREQ9opu6yBL1gna1vtsFvq16%2BFaZJK0TQbYQCvr6jqm6nJQSkcjzADoX7Eo5iLm5WMf2R%2B5gYE1ERNQjuqmLLLUHhwvUzg/nyqqMkcgE4vF1EEJFPL4OAIz3WvXwzbydTvWUKSYHfRJAtRl9VAD1DfFsThhCnAIh4my57nIMrIl8wg9/wImIyN84XKB2Xj1XkcgEYrENxu%2BKMl1Wxmh0C4RQISUghLqgVXlq6vGmy1D5EK8zPWUkgBlImWnzfupT56RC5GPMnkPkE7XMPUlUifO5ElE92j2HcTfx6rmKRrdAUaahKMVZbSrLqJc7m32H8V617xjN/C3hvNXUK9hiTeQTHBtJjfBqiwoReROHC9Suneeq0V5qkcgEhEhC06IAwkilxhesb1duq%2B8YejmESC5o%2BSaicmyxJvIJPvGlRni1RYWIiOw12ktNb62WchiTk7tr/s5g9x1DLwcw3/LNnlBE1hhYExF1MT6QIWofBhjUqGrXTiMPRedbqxMte5iaz49CygByubOMvyUcmkZkjYE1ERFRGzDo6n4MMKhR1a6dRh6KzrdWx2tar5bPqFBoJ4RQEQrtNF5jTygiawysiYiI2oBBV/djgEGNase1Y95mLUFz5WeUvs7AwBrjX6sWcPaEIrLGwJqIiKgNGHR1PwYYVAurINf62rkNg4NHNtTLpTLZWS0P9io/o/R1wuHtxr%2BKMg0hZqoeDxExsCYi8hx%2BaekODLqICKin98oNDfdyqdxHOr0WmpaAEEnbvyWVn1Hz03CtNv6VMlA213UkMoF4fB174xBZYGBNROQx7EJMRN2mlx8Y1t57ZX3VYLiSfl7z%2BdGyfWQyY5AybkyRVY98/jRMTT2OfP40SDlY1hW8OPWWCikFhJjE8PCIx%2Bo0DCEinvoBwgAEhACEEJ7/ocYJKaV0uxBuUVUNU1Optmw7GFSQSMQwPZ1CoaC1ZR/UWqyzzmh0bk4r3VpnrTxHXtOtddbNWGf%2B48U6GxpaiUBgD1R1BaamHne7OJ6j15mqHlrXeXI6r/X%2BLancltW2K%2Be1BuCJOh0aikFRNOTzu1wthx0p4ygUBADvh11SDmJuLuZ2MTxnyZKBqssEO1AOIqpTNwdW5tbYbju2VslkxnhuiKirpNNrjb9rZC%2BTuRKRyOaaz5PTea32t6Tyu0bltip/Ny8PALHYBmM5L5BSIpd7EkDW7aJYUAEU3C5EDcIQ4hQIEUcPt702jIE1kQd1c/DJL1dE3tDND/DIe/jAsJzd/ZfLXYJ0ek3N29HPq94l3Ol%2BtktwFo%2Bvc9y2zvzdxJv5IySAGUiZcbsgvsWe4M3hGGsiD%2BrmbMJM6ETUGdXGtHIsP5F7mrn/rKbFqiWhmFWCM3NysmriqkgaAAAgAElEQVRl6ubvJkStwMCayIMYfFIr9XLSoF7GL8nULdr9GebGZ6TT/WdXHv31WGzDgmmxignFAsjnRzE8vBSLFy/CwMCasnUr56TOZMaQTG4yylHtM4HfTYicMbAmIupybJnsTfyS7B18uNWcdn%2BGufEZab7/IpEJDA4eCeA22/KYp7kCsGBaLFVdgWRyE0KhnVCUNISQCIe3GdddNLoFijINKeNl97y5HPxMIGoOA2sioi7HlsnexC/J3tFtD7c6/aCg3Z9h9W6/1cevXx/A5ejruxP5/CikDEDTFmN4eATDwyOIxTYYrdKp1Dimph7H7OzWsn/1BGSaFoWUAlL2G9ddLfNaE1FzGFgTEXU5BlhE7uq2h1udflDQ7s%2BwerdfefwDA2uweHGirOu1k8rAXB/rDKjo77/W6NodDD4CRZkum9YqmdxUlqxMH2cdiUwYLdO53FugaYcgl3uLcd01M681EdWGWcGJiIiI2qjbMmL34uwO5oza%2BfwoFGUv8vlRADAC4XB4O2Znt1bdhj4HtD7zRyYzBkURiMVuBDBTapkuZmiWEpAygVRqvCyg1rehKHuN5GMAEAjsMV4D5uvK/P9eqjeiTmKLNRERERHVzOu9YNrRVd3cSh0K7YQQKkKhnQCAbHY1pAwgm13tuA096RiQhJQCirLHaOXO5S4B8Azm5j4FTUtASqUUVIeQy52FaHQLIpEJ0zayZeOrzcnHzK9VTt/p5Xoj8jsG1kRERERdojIRVi8yz89ca3BdLRg3d%2Bc3/z8SmUAotBPJ5CbMzm6tKagXogAhJIQotnZHIhNYtGgFgGEEgzsgxH4oigYhAEXJIxzeZgTHQmRL24AxvjqfHy0d690AgHz%2BNExNPV5arjwTuPlYzd3Iiah5DKyJiIiIusR8Iqwb3C6Ko3YmQKucn7kWdpm49TLaZc%2BuXM/8e%2BUxplLjUNUVKBSOKyUXAwqFYxGPryuNo55CX993IIQEUOwGXtRvBPJShkvvhY1ymsdkmx8oWGUCN2cXD4fvbXoubQblRPMYWBMREZFn8Qt8ffTWVGC920Vx1IoEaHbXRuX8zNWWB7CgFdo8X7RTGSsT05l/rzxGPSBXlH2l4FkgGHy0NKZaABhCLvd2SBkyjbEOIJncaLRKq%2BphUNUVSKXGjXIWCseWjcnWHyhYZQIvtnqrZdtvZMy1dzPdhyFEhD8N/gBhAAJCAEKInvtplpBy/nlYr1FVDVNTqbZsOxhUkEjEMD2dQqGgtWUf1FqsM/9hnfkP68x/3KwzvXVNCBWqusLo3krOvHSfmZN%2Bmcf22r1ej6GhlQgE9tR8bdS6vL5ccaxzvOEyDgysQTi8HdnsaqObeDS6Bfn8qNHKDBSD21zu7QiHH4CmSQixH0LIssRl%2Bn0gJZBM3ohQaAfC4XtRDI4FgH5IGUYudxZCoZ1GmSuP2VwG83L1akX9tdLQUAyKoiGf3%2BV2UXxPyjgKBQGg90JEKQcxNxezfG/JkoGq6zMrOBFRG3ntywdRNV66Zudb1xprVWsVp3PipfPlRZXJs3StyJReb5brWpfXs37ncmeVZfmuta7N2b/NSc7mu%2BkDyeQmxGIbABS7iBdbfqegKHomcAAQUJRpxONrAShGK3Oxi/dezLdQSwBpaNrwgqzklcfcqgz1Xsx0L6VELvckgKzbRfE5FUDB7UK4IAwhToEQcTTa7swWa7ZYUwnrzH/8UGf1tqh0Oz/UWa%2BrvGbdbrH2QtDqdB978R730n3mlTqsh16nxW7Ym4xyV6vryum0pIwCyC5osdaDXPN5GRwcQzj8bWNbUgqj1drcQ7U4NvsgqOphCAZ3oVA4FoHAMwBQeu1RSNmPVGpjTefbqn6cyulVQ0MxCFFAOn0XpMy4XRzyoWJ3%2BDMwN7fcMrCupcWaY6x7FMesEXVG5fg7Iq/rxDVb698gr0wP5HROvHCPe/lvul6HADxXRrvzVkwSJiCEinh8rfG%2BU12bk4IBgKqugJThshZrp6RnweAvy7YnZX9p6qx3GEnMii3ZB5Xmr96HffumsX//g0ilxkvbeARCSChK2nbsc%2BUxW42VNr/m3bHURN7DwLpH8YOSqDO8EhgQ1aoT16zf/gY5nRMv3OOdPJ92wWi14N6LdW5XpkxmDFIeBKDYzToeX4eBgTWOLbex2AboSchSqXEj%2BDZPdWU%2BR5VBeiZzJYBoKXiOIpXaiHR6LUKhnaWW7/nx1pXBvZ79W%2B8armlR2wc9lcds9bDAbmoxInLGwLpH8YPS%2B7zcAkHU63h/NqeX/wa149rp5Pm0m06qWuDsxTp3KlMqNV5KXlZsuQ6HtztOx6WT8iCjRbo4hVYx6B4eHjGyjMfj6wCgrCW/tFfs359EMrkR0egWY3kh5iClQC53lu1xFBOYFYPvyckXbB/0LAzoFz4YsptajIiccYw1x1hTidfqzIvj9rzGa3VG1XVLnfXS/dktddaoVo8R7sS10846M58PPZg2Ty/VqvNUz3lvtI5qWa8yi7amLUYwuAvZ7GqEQjtLY7EFpOw3WoyB%2Bezc%2BnhrYH5e6uJyxfHXxYRJ6dK827dgevoiDA4eaWy3uHxxxeLUWTMQQl2QsdyPY9lbiWOsqVldMcZ69%2B7dGB8fx7nnnoujjjoK55xzjuPyjz32GI488kgcf/zxHSohkTu8%2BHSfiIp4f/aOVndh9vu1Y27BNB9Lq1s2az3v5rHN9dZRLfvQj2t2dmspmd8uowW72FIcMMY1A3NQlDQUZdp4P5UaNwXIMAXf6dJ0W3OlbagArsbg4JHI50eN7ermt1HMkg/Aco5swHtj2Yl6heuB9VNPPYUHH3wQIyMjOPzwwx2XlVLiuuuuw9DQUIdKR%2BQedr%2BiXuWHbta9cn9GIhMYHDwSwG1uF8U1rQ6Eu%2Bnaaeex1Hrem5mSrZG6zWZXl1qowwiFdkDKQWhaFJqWANAPQJ8CS0UstgGZzBiSyS3QtAQ0LWRk%2BdYD7Gz2PCSTm6CqKwAUg%2BW%2BvgdK202gUDgOUgZQKBwHoNhqnUxuQi53FqQMQNMWV01GBrTuc9UPn89EbnE9sF61ahUefPBBfOELX8DKlSsdl922bRump6dx3nnndah05AX8ECfqLV5MctSr5ufdvaHt%2B3L6rHfz74CXA%2BFOnJdG99Fs2Wo973pwbJ4Wq9Yy1bKPynVmZ7eWMnOnEQ7fW5pWaxiTk7uRTG4sZQMPAQCEmMbw8EgpAI8DiBtTZxWD6ndgdnYrMpkxFAonA9gPTSsmKituNw5F2QchVASDjxpdyjOZMfT1PWC8HgjsMebEtntY0KrPVX4%2BE9lzPbBWlNqKMDMzg82bN%2BOTn/wkQqFQm0tF7dDoH1l%2BiBP1Fr93le0mel0A69u%2BL6fPeq/8HfDag95OnJdG92GX5KzV6nnw0cixOK1TbHUWECKJSGTC1B07bryvdwvXp%2BEyj7MOh7cb56Sv7zsANAiRNVqj8/lR0z3Yb1PC8rGgduejVZ%2Br/Hwmsud6YF2rz3/%2B81i5ciXOPPNMt4tCDWr0jzM/xLuL176Ykvd4uYWw12QyY5iZeQLAZW3fl9fniga8E%2BDrOnFeGt2Heb1Wnrdm/oY0cixW6%2BgZw4sJxIrzSuvHppdL06KQMlpqgQ5D0xJlWb317uL6eoXCa4x/i0nPVPT1PWAkJNNbw/U5q/Vpt7LZd5S9bqdVn6v8fCayF3S7ALV44okncO%2B992L79u0t33Yw2J5nC4GAUvYvFedojEQ2I5O5sq7zXihcipmZSwEAwTZesayzzjB/wSoULm1qW6wz/2Gd%2BU%2Bn6szps75Tfweqqfw71td3p/F7LndJx8tjd15aWWeNnnvzepmMsP37X%2B85jMU2QFGmEYttKPsbUst2FEUY/0ajW2var9XxK4qAlPHS3NNAJLIZmrYEixcvAlDM4l0MqOezfmvacClg1ueaXlHa/skYGloJIZIAgEBgH/L5k6EoeyFE1gjaZ2aeKCuHuVyqeiei0c1QFOHKdegdAoFAxEj0Rr2rkTmvhAhDCIFgUDR8DXlquq3169fjsccew3333We8JqXEhRdeiNe85jVYv77YFe3mm2/G1q1b8cgjjzS1PyklhODNR9RZt6E4XnM9OtEKRkTUPocB2A1gBMAzrpbEvw5DfedwGMAUgCEAk3Vux7wMLJa3%2B/tkfh0ALgegotjx8yAAGwF8GIB5ajOB%2BW7aQ6VlzOvq%2B9XLNARgoLSPG0qv6cH5%2BQD%2B1aY8l5m2EQBwi0PZ6/mb67%2B/1VIWIMRv3S4GeUIf7IdPOBkEkGh4r55vsf7ud7%2BLP/7xj9i0aRNmZmYAANlsFkBx3HU4HEY4HG5o25omMTOTbllZzQIBBYOD/ZiZmYOq9t68n37EOuuUi0o/ANDcPPJeqDO3W6z8xgt15hdeubZYZ/b6%2Bq4o1dEVyOWa%2Bzyrf9/214ef6sx8DoGbql7zfX3jpmVSxnkoFE5GMKgtqAvzeQLM%2BwL6%2B68FMIO5uZuQy12CwcHPIBDYA027ClJ%2BxiiH/rqqfgaKMlnKQg4IoQGYgqZdBSE0ozW6%2BG8/ilNqFb9vHjhwUak82bJrpq/vCvT3XwUhpiHEmzAzczECgeIyxTmw01DVhzAzM39M5vLMzFyEaPR16OvbDSFU4zW7ZWvV6HpuGRzshxASc3NPQMqs28UhFxVbnk9ELre47pbr4vLWn%2BWJRKzq%2Bp4PrJ9%2B%2BmkcOHAAq1atWvDeSSedhEsvvRTr1q1rePuFQnv/4Kiq1vZ9UGuxzvzHzTobHNyMQGAPIpHNSKfXuFIGP%2BJ95iwSmUA0ug5CqJ65tlhnCxUKa0x109lzU8tnjx/qzHwOh4ZWVj0mfXl9Krhi8FnMlj019bjxuj4m2nwfTU09bqyrj21WlGljf/p4cCGSZeXQX0%2Bn1yIeL25XT1wGyFJQrP8ehJT5UoAdApCHEFn0978P4fC9paMIob//KvT3X4tUahxCZEtzVn8LqvplZLNrysqZTq816jESmYAQSWhawng9GPxlaf%2BBsmUBlJW9nmuh0fXcJaFpByBlxu2CkIuEiEAIFfm8RKc7Znt%2BkNvq1atx9913l/2sXr0a4XAYd999N975zne6XUQi6mF6Ypt8fpRJ2ahlmpmblzrLrYSMXkno1gi7c1bPMc1PBYeydcx5POzuI7t19cRcemKwytcjkbsBSEgJSBmFlAeVzUld/D1fygaeBpAv7XEO4fA2Y1kh8lCUtDF%2Bujg3dgDA8RgcPHLBdGAAjPMVjW4xpuLKZMbKAm27KceESCIW21DXNcokZUT1c73Fem5uDg8%2B%2BCAA4LnnnkMymcT9998PAHjd616HQw45BIccckjZOg8//DACgQBGR0c7Xl4iIrNMZgyZzJjR0hKNbuEXEWqaubWI15O3mQO5TtaV/tnjR604Z3b3iPl1fV9Oy1jtX39Nb9XWfw8GHzGC6H37XsDAwJpSK7RANnse8vnTSvNJZyHEHISQpZZrPZmZPvwwVJrrOmyUMxTaiUDgaQQCU8Z50QNpvVVeL3Pl8SnKNFR1heWx6O/r//frNUPkB64H1pOTk/joRz9a9pr%2B%2B913383gmYh8ofLLDlEz/Bw09Rre%2B9bM3Zit5lS2Omd2AbfVtuzukcrXa1nGSmVZiq29AUipQkoFkciEkeVbVQ/B7OzWsv1FIhOIx68wAvFUaqPtPvUHs8CQZeu7piWM1yvLXu36y%2BdHoSjPAujnNUrUZp7KCt5pqqphaqo9yUaCQQWJRAzT0ykfjU3pbawz/2Gd%2BQ/rzH9YZ41zCi7byQt1pgeLqrrC6M5cTbEFeDuy2dVGoNrotpzUUi%2BVyyxevBRCzCe8lTKAbHY1QqGdttspHs82SNnvGFjrxy3E%2BZie/nLZeOpodAvy%2BVHH/Thp9bnzqqGhGIQoIJ2%2Bi2Ose1xxjPUZmJtb3tIx1kuWDFRdxvNjrImcuDW2jYiIqBpzq2ev0P8u5/OjdY8BL7YAqwiFdpa93orx5ObvC7XUSyYzZrQGDwyswXw3bj3zd7GcleOQzfuZnd0KTTsEipJ23Jd%2B3MDPF5RhaurxUjfxxq4jP4/FJ/IbBtbka734pYWIiPyhF4Ma/e%2ByVdBZjd35ajaRVrFb9jrj%2B0I6vRaaloAQSccH87HYBgQCe4zEY8UEZUChcLxtvVZ%2BL6klwaW%2BzPw82Qvfr6W8VpiEjKhzGFiTr/XilxYiIvKHXgxqmvm73Orzpbcex2IbyrKDZzJjkDJuJASzWw8ozocsZT%2BkjAIoZvUOBJ5BOr0WsdgGDA%2BPGMGuOUO3HkiHQjsAAH19D9g2BGQyY5iZeQLAZZbHUa28ROQNDKzJ13rxSwtRN%2BKwju5XSx3zOvA/L/1drpxWyzwdldUDAHMgXlwvDE2LQog5AGkIoS%2BZRSx2NRRluizYjcU2lDJwZxEOby%2B1dm%2B3nNprYGANFi9OlLqZV2cub633Ce8nos5iYE1ERK5zGtbh1pdDfiltrVqG7tSyjF/qpd7AyQ1%2BOZeVai23HoymUuNVg31zd3GgGATncmdBiDSEKCZAms%2BDFC4F28XX8vnRUmv1fgAoTbWlGgnO9G2ZFZOVqQiHtwMA%2BvruBHBY6d%2BFzA8sah0G15vD5cKl5FX86dUfIOza1ef6dFtEREROU8a4NU%2BwW/vtVrVMS1XLMn6pF3PgZM5w7SX6uYzH1wGwnprKi5zKXZnNu/K94jzTRYoybWyjOF90MRhOpcaRyYxheHgE82Oro1CUNKQEcrmz0Nf3XRSD7mI372ICMrkgW3gotAOKsgfh8B4IMT%2BXdKFwLILBRwBIDA%2BPlEo0jUhkM9Jp54cxtU7x1mtTwQmhoK/vGLeLQQ2SMoxCIdSibQ22NCN4rRhYExGR65zmlXXry2Er9uvWdEteVMvcwbUs45dgIZtdbUwd5aZq80nH4%2BsghOr5BxU6fRyzlMKy3E4PXqLRLaWu2oCmJSBlwNiG%2BbqqXE/KBFKpceNchUI7kUptRDy%2BFnprduX6%2BnlXlGehdyGXEsZ1qyj7Sq9rEGIampYAMIJM5oqyY7UqU63z3Ne6XKu4/XknpUQu9yT0sfHkJ2EIcSIymaVoRTzs1mzSnMea81hTCevMf1hn/tNrddYNc8j2Wp11A3OdDQ4e6XgN1hsMtSt4qnXOZv2eKgaiRXoLs1P59NZqIZIACshmz0M%2Bf5rRgm3eRuU6%2BvsAyrZtN%2B%2B2uZzFpGdpAALZ7HmYnd1qKku2FESEMTf3KcRiHy27z/z2%2BeFmeTmPtb8Vu3G3fu7pVuI81kRERC7izAVkpZNjm6tdg/UmG6t13K75GGs5Xn27erIvu%2B1r2mJICajqYZaZss3HUzl3dbG1WoMQEuHwdoRCOyDEjLENq3Ka3zdv%2B6CD/gbh8L2onHe7ch7vZHIj9u2bwb59B5DPn2YkR1OUaWjaMCYnX8Dk5G7kcpcsOFa/fX74rbxErcbAmoioC/g1CVG381KGZL/qxmu7k0mlWnUNVgaM1YIn8zGax0Rb1aN5mio92Vfl9vX9B4OPQgggGNxlG8hVZvfWW5lVdQWy2dVGF3B9HHyxW3mybHn9GPRx15XzUAeDjxjjr83717fR1/eA0T1cX6cyS7k5w7c5adn8dF/w1ecHP%2B%2Bo1zGwJiLqAr2Z/ZV6QTde2%2B1q2bMK0lpFr4dQaGdNwZP5GNPptWXjma22rSjTkDKO2dmtltvX91%2BcU7qYICyTGbOcT9ocwGpaAkJMIhbbgHR6LWZntyKZ3GQE2cUu5dKYJstcL/oxJJObEArtrLgOqydZqrx2rbKU64F4f/%2B1tusRkT8wsCYi6gLsgkfdqhuv7Xa17OkBWSSyuaXbBeqvB/MxZjJjRjBrNW90La3g80HpRuzbN22MadaDcj3DdyQyURbAAoCipKEo04jFrsbw8EhZkA0A8/NTh8u6kZvHU1cefzZ7LqQsrmvONJ5KjRv7rlyn1nrvxmueqBcweRmTl7mexdEr/FRnVMQ68x/Wmbsa%2BbxnnfmHXr%2BZzJULEmF5jT5vtBBq3cmuzNcxgFIisP0QQi7Y1vDwiJEJvNjlu/i1V9MSmJzcbbwvpUAyOZ9JXH9dX67y3tETdZm31eh58EudeRmTl/kbk5dR12CXIyKi3sDP%2B%2B6mt4haJcJq1Vj1erbjtOz8%2BOXi%2BOZ6yqV3n47FNiCTGcPk5G5ks%2BcZY6HNUqlxaFoUUgpIedCCqXz0FmZzUF1UnLJJiP1G8FvZrVvTEtC0hNEyXstxV3KqMyLyFwbWxC5HREQ9gp/3vataArF6t1PLwxmnZfP5UUgZANC/ILN3JT1QHRhYg6GhlRBi4TzFodDOBRm6gWLgKuUwhJAQYtpIOKYHw1bds4vJ1OYAAELIsuRn5m7dk5O7MTm5G6HQDixenMDAwJq6zxERdQ8G1sQsjkREPaKbP%2B%2B7MXt4K1VLIGbmdC6dHs5Urue0rB4ISxm2HXutb0dvoQ6Ht5USmIWNccyV47Qrs3eby1EoHF9KfPYOx3ug2JouIaWApiWM7t9WAfjQ0EqEw9uMLOPVjpuIuhcDayIiIvI9N1sJ/RDU2yUQM7OapspqO3YBZuV6Tg9yKjNkAyibc9pq/1L2L8iqXZmtfGH27vly7N//oJHh227ar/I5qLdgcnK3bRA%2Bn328GIRns6urHjcRda%2Bg2wUgIiIiapY%2BZ3C7WgmdEr%2BZA0EvB1N6hm4r5mRimpaoucW10fUqyxKLbShl7t6AVGq8rC4rf49GtyAU2oFQaKcxpto8RVYxmVlx3LZdXcXja4196cuYp%2BmqlkxNn3tbT4imqocYWcbJTWFTlnfyj7DbBWgJBtZERETke05BYys4Bc/tDuprYQ78C4VL615/PplYoCzYbMd61bLT63WptyCn02vLWrUDgT1QlL0QQgVQDILNy0oZd6wr/UGAEMVAXi%2BLuR6rlVGf5quYwCzObt8eIISCvr5j3C5GV5AyjEKh%2Blztrd3noGczgteKgTURERFRFU7Bc7uD%2BlqYA/%2BZmfoDa/Px1XMsVuvVEpRWBr6VrdLm5eLxdQtaqDVtMYLBXcbv5m3a1ZVermx2Nfr6HjBe1/eRTG5aEMDb9UJo9Hw1i1Ok2pNSIpd7EnpGd2pUGEKciExm6YIs%2Bu3k96Aa4DzWnMeaDKwz/2Gd%2BQ/rzH9YZ/5Q2WLtZp3pQand/NSRyESpu3YWUoaNDN1WAbreuqwnXpMygGRykxFI6/uoJeCsnJu6ch/m8nY6gK31Pqt2bnsV57FuHT/MKe0GzmNNRERE1AO8lDCrWlbs4hRYcQiRNqba0gPlWGyDkcTMnHAtm11tBNfx%2BDrk86PQtETdc2AXZcuSzUk5aGT/9jpmHCfyLgbWRERERNSwyqzomcyY0VU6EpmwzJqeTq8tjU9OGOObVXUFAJQF2EBxDPXs7FYkk5tKycJUhMPbAMAIzPWM5LHYBttyplLjpX2EjW7e%2BlhpKeMAFmYmb3be71bz0gMUIirHwJqIfCkSmcDg4JEAbnO7KEQEf0w51Vtuw%2BDgkR2pD6vpscyvWb2fyYxhcnK3MZ2VHjDOB7%2BwXEfKgwAAQkgIsX9BS7MQ%2B22PuXIf5oBefxBgHqddbd5vXvNEZMbAmoh8aX5alBvcLgoRwd15pMnKDTXVRyuCQ6vuyebXnLovW7V2Vwa/5mUBQMqoMc2VlHFkMmNIpcaN18yt1vr2BwbWlHUx11t9zf83l9PcDT2fH7U8R7zmiciMgTVRF%2BqFp%2Bjz3QbXu10UctAL1yIVceyn16yvqT7MwWGt96tdMGzunmwXvNrt39zl2i5x2PwUV8NIJrc4Hp9eRr2LeDi8vWoQXFlO/fdQaKflurzmiciMgTVRF%2BqFp%2BiZzBhmZp4AcJnbRSEHvXAtUhHHfrZecw%2BmLsPMzBNV68OuK7RTGard11atxE77Nycl0zOGW42XzudHIWUA%2BfwoMpkx5POjiMfXYWBgTWk%2BbWnMp61vQ4hiFvBsdnXDQbBdAM1rnojMGFgTdSE%2BRSev4LXobexR4G2deDBl1xXaqQzV7mt9nXB4W9WEYnqXaz24Lk7Dtb9sGf067et7AEKoCIV2AgDC4e2lRGb3Ip8fNbKHF4Ps4lzGQgBSxjE7u7XhIJgBNBHVgoE1URfilwDyCl6L3sYeBd7WrgdTdg9UrO5XPXu3eVorfTkAltvRyy1lv2MZhoeXYvHiRQiFdhjjmQGUtTzr80wXc2qg7HwUp%2BAqBs%2Bh0M6ybttSho2x2Pn8aEvODxGREyF7eOZvVdUwNZVqy7aDQQWJRAzT0ykUClpb9kGtxTrzH9aZ/7DOvMVuLKtZp%2BusljKRs2p1NjS0EoHAHqjqCiNAdmK3fLXt6N26geJUV%2Bb61NcFACkD2Ldv2ljHXP/6clIGkExuWnBNVO4DgLG%2B/uCo1uOsLJumJSBlvCPXIj8bmzM0FIMQBaTT3wCQdbs4PheGEKdgbm45ejhMXGDJkoGqywQ7UA4iIiLyID2xlJeYW9G9VjavqvdhhB501toSri%2BvZ8fW9%2BO0Hb1MQHGu6Xh8HQAY5Uun1yIWuxpCzCGbXV12DPp2K8tqdWyZzFjZNaO3uEciExAiuWA6rnqOV4gkr0UfEUJBX98xbhej46QMo1AItXibgwyqG8AWa7ZYUwnrzH9YZ/7DOvMfr7VY%2B61FuxPlrWw5jka3Iha7EanUFUin17RtP7UsW%2BxGPgMhVMv19PMjRLKU8dt%2B%2BYGBNQiHtyObXY3Z2a2Wr%2Bfzp5W2NwlFSUNKgWSyscC4k9caPxubU2yxVpFOb0NvtViHIcSJyGSWopURXQ%2BHh7bYYk1ERHXxW9BC3adaK7rfWrQ7Ud7KluNIZDOAPYhENrc0sK6npbtyWav19PHTQqjQtARUdQWESEIIFVJiwdjo%2BWRl28sC61Bop5HUbH6MtQBQHK/d6Ln3Yo8OciIBzEDKjNsF6RghIgA0SMlg2AuYvIyIiAxMZkVe57dM851IQLZw/uUrAa28MZAAACAASURBVIyU/m2daskIzdNsmR/QmbuNRyITZXNMF4PoYqKyqanHkUqNlzKEw8j%2BrSsmKwugUDi2LLmY%2BRzr/89mz4OmJWy7gjNBGRG1GruCsys4lbDO/Id11nrtbrHuRJ2x1b21eJ95k1O37GKd3QNV/YzjfdDqe8WcaKyyK/d81/AohEhDCNgmB6tWrnqTrzmVtZlttBLvs%2BbMJy%2B7q%2BdarIU4g4nGOqCWruBssSYiIoNfpsdyam1iqzv1guot4TdUvQ9aca%2BY70W9TIXCsZAyUNaVW39PiLnS3NIwWqlDoR1YvDiBgYFit3Wnz6FmkpKZ%2Ba3nAxF5HwNrIiLyHaeAgF%2BYqRdUfwi2vup9oN8rerbvRrpFV44hn5p6HIqyzxjzXFnebPY8SBlANvsOo%2BzmsdO17E9RpiFl3PMPAImotzCwJiIi33EKnv3S6k6d1Xtjai/DzMwTjveBfq/oCb%2BqtVxbnUOre9Hp/pyd3Yp9%2B6bLko/pY6ez2dVVj6pVD87Ys4WIWo2BNRER%2BQ6DZ6qX1wIpLwX6tQarVufQ6l6s9/60CratWI29tjqPtZxb9mwholZjYE1ERESe0%2BrA02uBlJcC/VoD4Xx%2BFFIGoGmL664bc302WrdW5ywW24BAYA9isQ2Oy1XiwzkiajUG1kREVMZLLWnUu1odeHotkPJaoK%2BzawEeHh5BOLwNQqgIBndVrZuBgTVGQjJ9vmp9HXPd1vN5U%2Bs58%2Bq5JaLuxsCaiIjKeKklrRH1fFHnQwTvnoNuD468FujrrO5/PWGYENIYC12tbswJyebnqxZlc03rc1s383mTSo1DVVcglRo3XvPquSWi7sbAmoiIyvg9oKnni7rfHyK0glfPAYOjcp14AGI3lVU6vRaaloCmJZBMbsLs7FajbuzKpSckKxSOhRD7y94z162%2BbSGSlsdm3r5VSzcAz10nXn1Y1RvCpbmde%2BMHCLt9wslEyB6eTVxVNUxNpdqy7WBQQSIRw/R0CoWC1pZ9UGuxzvyHdeY/nagzqwRHrVi2W1U7B7zPvGFoaCUCgT1Q1RWYmnp8wft6Pebzo6Us31dhevoiyzqzq/Nq%2B7DahhBJKMq07Tr6NqUEhIDlcvPLCEh5EFKpcaNc%2BnualjCWT6XGjSC7lrJ2Wj3nUcf7rDlDQzEoioZ8fpfbRWkrKcMoFEIVrw1ibi7mUol6x5IlA1WXCXagHERERB2TyYzVHCTXs2y34jnwB73btF1PEj3QVJS9EEIFcAOAi4z3zcF05dzT%2Bvt6a7U%2Br7XTAyd9G1IKaFrUaHGuXF7fnx7wW5U/nV6LeHwdhFAhxHRZufT19QBe0xLG9vT3vaZaXVF7SCmRyz0JIOt2UdokDCFORCazFOZm0R5uI/UcBtZERGRgCy6RNzk9ADEHxbncWaUW6/Vly5iDaavATx9Hraoryua1ttunORgGshAibbl8LQ9u9Pf1zN7mcpnf01utA4E9AOC5lmodH1a5RQKYgZQZtwvSFsWu3xqkZDDtVRxjTUREBq%2BOtyUie7HYBijKNIDinNAzM08AuAx9fXcaY33NuROsxq%2Bb39f/r7dcV44V1h/A6UnMaklmVm3ccSYzhsnJ3Zic3L0gKNWDfinjRrIyq31xbDMRuYkt1kREZGAXRqLuEYlsNh6UNZLgq6/vASjKtPGgrbIrOVB7q7FV93PrMi/sNWP%2BXHJqDa51H0RE7cAWayIiMjATM5H/WE05BQCZzJU1Z/g3B6XmwFnP2B2LbSjrSl7vzAGV69i1Llv1mqn1c8mpXE6t2WzpJqJWYGBNRORT/DJI5Mxv94hdeStfr/zdLvDM5S6xfN1qe%2BZptvQANZUah5Rxo5u5U1fyavR1gGLWbHOgbtbMdH9O5XIa5sIhMETUCgysiYh8il8GiZx57R6pFujblbfy9XqOy2qfVtvTxzDrXa3N80zrQXazvVkikQnE4%2BuM1nCrALpdvWacAvZmgnkiIh0DayIin%2BKXQeo0v7UAe%2B0eqRYQ25W38vV6jkvfZyy2wTKRmXl7dsnKWiUW2wAhVEgpWhKo18MpYOcQGCJqBSF7OF%2B7qmqYmkq1ZdvBoIJEIobp6RQKBa0t%2B6DWYp35D%2BvMf7q9zrpxujJznQ0OHolAYA9UdYVnpzpqp2brt1PXh7nOgsEvl80D7VR3Q0MrF9Sv/pqUASSTm%2Bout/mY9ezlmpbA5OTupo%2Bzm3T7Z2O7DQ3FIEQB6fRdXT3dlhBnYG5uOafbcsGSJQNVl2GLNfma31pPiKi7udH1uJOfg15rAe60ZuvXjZZRfZ%2BqehikBDRtse01Y1W/6fRaSBmAEKpx3PVcc%2BZzZpdkjYioGzCwJl/z2vg5IuptbgSenfwc7PUus15/sKAHvH19dy54LxjcBSGK/9pdM/qY6mh0S1litGRyU9lx13PN5fOjkDIATVvcdb05iIjMGFiTr3n9Sw4R9RY3Ak9%2BDnZOu%2Bu3nimhIpEJDA%2BPYHh4xHhND3gjkc0L1s9mV0PKALLZ1bbXjDm5mHlMduVxF4NlASEmq7Zah0I7IYSKYHCXEYyztxm1T7jUZbr7foAwAAEhACHEgh9yH8dYc4w1lbDO/Id15j%2BsM/9hndWnmXHUVmOc7d7TfwdgvKbvO5O5ErHYR23rzK6M5vHUUg7ajsm22ne185HPjyIU2mm0iPfyWH0rvM%2BaMzQUg6JoyOd3uV2UtpIyjkJBAFgYvkk5iLm5WOcL1SNqGWMd7EA5iIiIiNrCKZB1I5mcuZt0vfvUg067KaHM7%2BnJwPT/AzCmygoGFcRK368jkQljuVRqHJnMmJFELB6/uuz8VO6jsizmIFmIZNm%2B7ehlqqRvZ2hoJbuHU0tIKZHLPQkg63ZR2kgFULB4PQwhToEQcSY2cxFbrOtosa7nDzSfPBb5KUMu68x/WGf%2BwzrzHy/Xmd51WQi1plbeTpWp3X/3qu3DKpM7MN%2B6PDw8Upq3GhACNWfpbjZDuN322HLt7fvMD3ohK7gTZgxvP2YFbzEmyqofzxkRUe/o9NjZ4jRSKqQM2Lbydnr8udM47Fadn3r%2BtqbTa6FpCWhawjgPenZuIFrXfq0yhDeD%2BQGIqJswsK4D/wDUj%2BeMqHsw4RBV0%2BmHqfrfGLvWU69lMW/V%2Bannb2smM4bJyd2YnNxtnAf9vCSTG%2Bua/soqQ3gzvFY/RETNYGBdB/4BqB/PmfcxWKJasQcKVdPph6mt/htj93lolZG7kc9Np/NTyzYHBtZg8eIEQqEdNRz3bRgcPNJ2e412WeffdSIiawysiXocgyWqFXugUDVeD7qqBa92n4eVr7f6c9M8zZXVNvVyh8PbIISKcHh7DVu92pg2y7yNyqm54vF1NT0g4ENYIiJnDKyJehyDJaqV14Mm8i6vBGXVAmK7z8PK1xv93LTavzkBm91YcX09oN%2BYi7pWQuw3WqfN80gLkSzNRV3beGk%2BhCUicsbAmqjHMVgionbzSlBWLSC2%2BzzUXweKmawBNPS5ad6//rAhFttgBNX6WPHKBxHzY8k3Yt%2B%2BaczObjW2GYlMYHh4BMPDIxUPLt5UyvotjS7f%2Br6j0S2lrOAH1fyAQF9fnyLL7YckRERew8CaiIiI2sorPWOafZBYywMCp9Z58/7nW6GxIAFb5X6cyq0HyYoyXVGun0MIQMoA8vnRBfNV60nLKrdrV369DKHQTk88JCEi8hoG1kRERNRW3dIzRp%2B6Sohk3eO0rbZVGdzqQW0%2BP7qgZdtuf1bTaRWdCikDKBSORTi8vWw8dbVAvZHu8l7p7k9E5Jag2wUgIiIi8oJqmbLNLc3x%2BDrjNTO9q3W11nlz63Tlts3bESIJRZm23V/ldub9HEKoCAYfhRCy1C28OJ7a6QFHtfJnMmNVA/JWPkBpNHs59aowhHC7DG4Iu10AAiCklNLtQrhFVTVMTaXasu1gUEEiEcP0dAqFgtaWfVBrsc78h3XmP6wz/2m0zvwYEA0NrUQgsAequsIYU13JnGzMaTmr9SrPR%2BX%2BzMvogWqxhXymbH%2BV26rcTjS6FbHYBmiaBJCFoqShaVFIOdy2%2BmhXfddSJ92An43NGRqKQVE05PO73C6KLSnDKBRCbdz%2BIObmYm3bfq9bsmSg6jJssSYiIqKWa1cLZjs5tdaaA8dkclNNrdJmVucjnx%2BFouyFpi3G0NBKpNNry4JHfR%2Bh0A6Ew9uRz49abquy3JHIZgBTkHIF0ulxy4C31YGwXUt2s2rtAUAkpUQu9ySArNtFsRCGECcik1mKdjVp9nBbqWewxZot1lTCOvMf1pn/sM78x48t1vXsu9Zlm205dWqxljLg2AJu17Kdz48iFNq5oOzFFusbkUpdgXR6TVuOh1qLn43NGRqKQYgC0um7IGXG7eIsIEQEQpyBubnlDIB9qpYWayYvIyIiopZzM2FZPdN71ZtsrNGWU6vzoW8zm13tuO3KfVfL0J3LXQLgmdK/rT0eJikjIrLGwJqIiIi6Si1Bo1UGbie1PiioJ/DUtzk7u9Vx23b7bibYb/TBR60PIhiAE1GvYWBNREREXaWWoFEPEEOhnUZX6FoCwWoBYz2t5fVs14obvQJqDeYbPQ9ERH7FwJqIiIh6TmWAWC0Q1APfWGyD7XKRyASESFrMKV2dXwLRWoP5ZrvOExH5jeuB9e7duzE%2BPo5zzz0XRx11FM4555yy91VVxZe//GW85z3vwcknn4yTTjoJ7373u/GLX/zCpRITNYfd44i8i/dn76gMEPP5UUgZMDJvVzLPMa2qK5DPjy64VqLRLVCUaUgZdww8ra6zdHptaWqtZFdcf26OsScicoPrgfVTTz2FBx98ECMjIzj88MMXvJ/JZHD77bfjiCOOwPXXX48tW7bg5S9/Od7//vfjxz/%2BsQslJmqOX1oliHoR70//snsoUuvDklBoJ4RQEQrttHxfb4FNpcZtE4c10006kxmDlHEoynTZ63zYQ0TkD67PY71q1SqcffbZAID169fjscceK3s/EonggQcewKJFi4zXTj/9dDzzzDPYunUrzjzzzI6Wl6hZnJOTyLt4f/qX3bzZlUGs3dRa1eq%2Bcp5mq%2BVrncvZbl/m1/UptYRIGsE2W3%2BJiLzL9RZrRXEuQiAQKAuqAUAIgSOOOAIvvvhiO4tG1BbsHkfkXbw//cuutdj8ulOPhHrrPpMZM7ZZb2uy3b7Mr1d2PdePq5Ut2GwNJyJqHdcD60ZomoZHHnnEsus4ERERdZ9qQWAtwapd8N1IgBmJTCAeX7cgUHfaViQygeHhEQwPj9juq3IaML3ruX5crRyuwKEPRESt43pX8Ebcc889%2BNOf/oQNGzY0va1gsD3PFgIBpexf8j7Wmf%2BwzvyHdVa/vr47EYlsRiZzJXK5Szq%2BL6/UmTkILBQubWgbhcKlmJkprhs0fQOqtm2r81Lspq1CygAymSuN7xNO29KTm%2Bn/t9qXuaV6ZuaJBWXNZK40ymL3HUavq0hkAn19m2yvnVq2RZ3hlfvM3wQCgQikFG4XpIyUgBBhCCEQDArPlY9aR0gppduF0OljrO%2B77z7bZR5%2B%2BGGsWbMG733ve/Hxj3%2B8qf1JKSEEL24iIu%2B4DcANANYDuMzlsnjFYQB2AxgB8EwX7asetwG4uvT/jWj9tVHtujsMC8%2BL3TpO26p2HLW8X8/9YVVuou4kZQFC/NbtYljoA9APYBBAwuWyUDv5KrD%2B3e9%2Bh/e85z04/fTTceONNzYdFKuqhpmZuaa2YScQUDA42I%2BZmTmoqtaWfVBrsc78h3XmP9XqbHDwSAQCe6CqK4zWul7nhRZrt%2B8zt6%2BLZuqgnnWdjrOv705Eo1dCCLXqedDrbG7uC44t1uQdXrjP/GxwsB9CqMhkvgMps24Xx1BsqT4RudxSaKxWX0skYlWX8U1X8D//%2Bc%2B45JJLcNRRR%2BFzn/tcy1qaC4X2XuWqqrV9H9RarDP/YZ35j12dmbMis06LCoU1SKfXIBKZwODgkZYZrVu9r6Ly8x8I3IFYbHNb92%2BnFdeFnmW7WvmtlnM6L9UMDm5GILAHkchm0zasOR3n4OBmo%2Bt5rechkxlDMvn%2BhspN7uDfs2ZIaNoBSJlxuyAGISIQQkU%2BL%2BGhtkxqE18M5HjppZewZs0aLF68GLfeeiv6%2BvrcLhIREbUBs3Lb63SiKT2JVl/fnaXfN7uW6KoV10W186cfbyx2NQKBPYjF6s/jUpm4LBKZgBBJaFqipincnI5TT7yWTG7i/UFE5EGuB9Zzc3O4//77cf/99%2BO5555DMpk0fp%2BamkImk8Ell1yCyclJXH755fjDH/6ARx991PghIiLqBXYZrZ00M52SHohGIpsBFBNd1bv/TnM63mrnTz9eIeaHiNV6/uaD8g0L5sxWlGlIGQeApqa24kMnIiJvc32M9bPPPouzzjrL8r27774bBx98sO37APD73/%2B%2B4X2rqoapqVTD6zsJBhUkEjFMT6fYpccnWGf%2BwzrzH9ZZZw0NrTTG7E5NPe64bGUXaP33TOZKxGIf9XydFae/WgshJDQtgcnJ3XWvH41uQT4/ilBoZ9m819XOn36eNS0BKeMLzmE922qFRu%2BzWrvLU%2Bvxs7E5Q0MxCFFAOn2XB7uCn4G5ueXsCu5zS5YMVF3G9THWhxxySNXguJngmYiIqFeZx%2BxWY%2B4qncmMGT/BoIJY9ZwtritOf9X4F1f9eK22W%2B38mc%2BzeRvmbYZCO6Aoe5HPj5at66VgtvIaICKi2rneFZyIiIjao57uw410NfeSdHotNC0BTUsglRoH0FxXeKD281fLcqHQTgihIhTaWfa63n28kTHdreb3a4CIyE0MrIl6TLNfNImoee24DzsVRHpVJjOGycndmJzcbRxDpxO%2BOfFD0Or3a4CIyE0MrIl6jJe%2BaBL1qnbch7y3F3IKZu0eRLTr4aNd0JpKjUNVVxit7ERE5E8MrKlj2FLqDX5oNSHqdu24D1u9zcrptjqpVX8vnFpg7R5EWL3ezr9fehmB5rKGExGRuxhYU8ewNcUb2NWPyH3tuA9bvc3K6bZazSlY7cTfC7sHEVavd6I89e6DD6uJiLyFgTV1DFtKiYj8Q//MzmSubMv2nQLJTvy9sHsQYfV6I13K66XvI58frWl7fFhNZCVcmuLKGz9A2O0TQh3k%2BjzWbuI81mTGOvMf1pn/sM78p111Zp5mCkBHp5yymrO60f3WM1d4K7fnNE0X7zP/YZ01Z2goBkXRkM/vavu%2BpAyjUAjVsfwg5uZ8MGchOfLFPNZERETUe8xzPOvBZLPzJ9c6J7Te2qsoeyGE2tR%2B65krvJXbs5t3m6hXSSmRyz0JINvGvYQhxInIZJai1qbJHm7D7DnsCk5ERNQj2j0ut9Ht19P1uxVjs/X9ZbOrHfdby/G0emy7W3kwOGab/E8CmIGUB9r2A8wA0CBlMWCu5Yd6BwNrIiKiHtHucbmNbr%2BeYLIVY7P1/c3ObnXcby%2BNY%2B6lYyUiagcG1kRERA3wYwtfu5OCpdNroWkJCJG0PS/NnjenY6gWoNe772rny4/XgB0mGCUiag4DayIiogb4sYWv3d2MM5kxSBmHokzbnhen8%2BYUqOrvAWh43udYbAMCgT2IxTbUtHy18%2BXHa8AOp2IkImoOA2siIqIGsIXPWrXz4vS%2BU6Ba%2BV67gtp6WqF5DRARkY6BNRERUQPYwmet2nlxet8pUK18r5GgNpUah6quQCo1brtMPQE7rwEiItJxui0iIiLyBKcppCrfa2S6qVrWaWb6rFqn%2ByIiou7DFmsiImqYG8mbuilhFHlPM63Q3TTmmoiI6sPAmoiIGuZGIMHghexUe%2BgSiUxgeHgEw8MjbXkwwzHXRES9i4E1ERE1zI1AgsFLazXTA8BrvQeqPXSJRrdAUaYds5Y3g2OuidwWhhCRtv0AYbcPkDyMY6yJiKhhjYxz9eM%2Bu5k5GDWfV328cCZzJYCP1rVuMyKRCWM6rFRqvK7tVhsfnU6vNbbNBzNE3UUIBX19x7Rt%2B1KGUSiEIOUgpJRt2w/5FwNrIiKiHhWJTECIJDQtsSDQ1IPmSGQz7ALrZhJ92dFblfX/WwX7dsnBqj10acdDGSYsI/IGKSVyuScBZNuw9TCEOBGZzFJoGoNqssau4ERE1BZe6yZM5SKRCcTj66Ao05AyviAo1LvcF1usG99H5TVQ7bpIp9dC0xKOwX6z3bhbeW1yzD%2BRV0gAM5DyQMt/gBkAGthQTU4YWBMRUVsw4PAOPZAcGFhjBJTR6BYIoULKgGWLsz5eOJe7xHa7tYxprnzfbh29jAAwObkbk5O7bYP9ZlvIW3ltcsw/EREBDKyJiKhNGHB4hx5IhsPbjYBSr59kclPDXZir1bHV%2B3br1BLsNpIczKp1upXXJhOWERERAAjZw6PvVVXD1FSqLdsOBhUkEjFMT6dQKGht2Qe1FuvMf1hn/sM6c4feQp3PjyIU2lnXeOBO1Vm7xioPDa1EILAHqroCU1OPt2y7Xsb7zH9YZ80ZGopBiALS6bsgZabl2y9mBT8Dc3PLmbisRy1ZMlB1GSYvIyIi6nJ%2ByKTerjK2I8GaHSYyIyLqXewKTkRERF2jsut3J7tqM68AEVHvYmBNRETUZsyQ3jluBrfMK0BE1LsYWBMREbWZl1oymwnyndb1ysMDN4NbJjIjIupdDKyJiIjazEstmc0E%2BU7rVttupwJvBrdEROQGBtZERERt1u5gr56gtZkg32ndatv1Uqs9ERFRqzGwJiIi8qhaA%2BZag9Zms1Y7PSCo9vDAS632RNStwqWpsVr7A4TdPjDyAU63RURE5FHmgNkuYI1EJiBEEpqWqBq06tuLxTZ0fFooP0z5RUT%2BJYSCvr5jWr5dKcMoFEKQcpBzWJMjBtZERNQVunEO4VrmYI5Gt0BRpqGqK6oet749IZJVA3Yr3XiOiag7SCmRyz0JINvCrYYhxInIZJZC0xhUkzMG1kRE1BVqad31m1paeWsJviu3Zw6Qa9XXdyei0XUQQjW6nDPIJiLvkABmIGWmZVssdgPXwIZqqgXHWBMRUVdwYwyvF6aYshrbXK1c9SRT6%2Bu7E8Bh6O%2B/FkKokDLw/7N352F21GW%2BwL%2BnO2my0UDAIIEAEiQX2YRRIRgIq6BhESTgHSDKIFtAuLIIIjqA6IADjMoqgsMSQG4Q8aLCBVwQRHABgxNZTOCyyYQt0GSjSfe5f2BaQgLpkzonfSr5fJ6nn%2B6uqq5602%2Bqn/M9v19V9YR5NyMDgDcJ1gAsF/riMUvNGi7rWdeAAecleTJJ0tU1IrNmnZt58w51MzIAeAvBGgCWUrOGyzlzjk9392qpVGYVHk2fN%2B%2BEJOtl7tx/XeiNC8%2BLBoB/EKwBYCktKVzWMlW8ntPK5807NNXqkLS0zMzgwWcW2m9n5%2BeS/L%2B/fwYAFkewBoAGqWVK9uDBZ/Y8Cqs3lhTEF4ymJ1mm09V7%2BwZBM1yfDgD1IlgD0JSaNXjVUlcjp4ovKbQvGE2fPfurNddQ5Hff2zcTmvX6dABYGoI1AE2p0cFracNjLXXVch3yggDc2blzr%2BrqbWhfmmuhi/zue1tXs16fDgBLQ7AGoCk1OngtbXhsVF0LAnD//vf3qq7eBualeQOhyL%2Bxt3W9dbtmnZ0AAL0lWAPQlBp91%2BnehMfFBb5mqKsWS/MGwrK%2B47dp4UB9rJRKZUDdPpKV%2BvofRIn06%2BsCAKAvzJt36BKD41sD37IKmb2pqxZz5hyfQYPOb%2Bop12WoEWhulUpL2to2W%2BJ21epKmT%2B/f6/3W622p1qtFimNFYRgDfB3AwZc0fPivlEhalkcg/pZHgJfvYN6I5ShRqC5VavVdHY%2BluT1d9lqpVQqH8q8ee9Nb7OyUE1vmQoO8HfLYjqqKa%2BLaubra5f1lGgAllY1SUeq1Vff8SPpSNKdavXNwNybD%2BgtwRrg75bFXYrdCXlR3mwAAMrOVHCAv1sW01FNeV3U8jDdGgBYsRmxBqBPlXG6dTNPXwcAlj3BGoCmUKawurxPXy9TLwCgGQjWADSFMoXVel0rv6QA21cBt0y9AIBmIFgDvAsjd8tOmW7sVq/p60sKsH0VcMvUCwBoBoI1wLswcrfslOVa63q%2B2bKkANtXAbcsvQCAZiFYA7wLI3e8XT3fbFlSgBVwAaAcBGuAd1GGYGO6%2BrLlzRYA4O08xxqg5N46gtrMbwAsLzyLHKBZrZRK5d3XJ%2B%2B6ASw1wRqg5ObMOT6DBp1vBBWAFVal0pK2ts2WuF21Ws2AAbMzd%2B6gZVAVKxLBGqDkjKDW14ABV/S8UeH3ClAO1Wo1nZ2PJXl9CVv2S6Xy4VQqg1OtVpdFaawgXGMNAG/x9puTuYYdoAyqSTpSrb76rh/J7L4ulOWUYA1An3treO3rIPv2m5N55BoAsCSCNSzn%2BjqkQG%2B8Nbz2dZB9%2B53g3QUcAFgSwRqWc30dUqA33hpemy3IluGRawBA3xKsYTnXbCEFFuet4bXWIGtWBgDQ1wRrWM4ZbSs3oXHJmmFWhj4BwIpNsAZoYs0QGptdb2ZlNDr4Dh58Zlpbn87gwWc2ZP/1IPwDQOMI1gBNzFT%2BJXunWRlvDZLeoPAmDQA0kmAN0MRM5V96bw2SjX6DYvbsr6ara0Rmz/5qQ/ZfD96kAYDG6dfXBQBAI8yZc3xPqF5wU7RGafT%2B66EMNQJAWQnWACyXBEmAFc1KqVSWvA00gmANAACUWqXSkra2zd51m2p1pcyf3z/Vanuq1eoyqowVhWusgT7lTsU0A/8PAcqtWq2ms/OxdHb%2B%2BR0%2BHsv8%2BStl3rzhmTt3cF%2BXy3JIsAb6lDsV0wz8PwQou2qSjlSrry72I%2BlI0h0D1TSKYA003LuNBrpT8fKh7CO%2B/h8CAEUI1kDDvdtooMdJLR/KPuLr/yEAUIRgDTTc8jQaWPaR2UZZHnqstwDA0urzYP3kk0/mq1/9avbee%2B984AMfyB577LHY7e6666588pOfzGabbZZdd901wBIg9gAAIABJREFU11577TKuFFhay9NoYNlHZhtleeix3gIAS6vPg/Vf//rX3HXXXVlvvfUycuTIxW7z4IMPZuLEifnABz6Q733ve9lnn31y1llnZfLkycu4WmBFtzyMzC5v6jXSrLcAwNLq8%2BdY77TTTtlll12SJKecckr%2B67/%2Ba5FtLrroonzgAx/IN77xjSTJNttsk%2Beeey7f/va386lPfSotLX3%2B/gCwgpg379BSj8ouj9460lykN3oLACytPk%2BkSwrFnZ2due%2B%2B%2BzJu3LiFlu%2B555554YUX8pe//KWR5QHQ5Iw0AwB9rc%2BD9ZI89dRTeeONN7LBBhsstHzDDTdMkkyfPr0vylqIG94A/MOy/pu4PFzfDQCUW59PBV%2BSV199NUnS3t6%2B0PIF3y9Yv7T69Sv%2B3sJbpyHOn39YkqS1tWWhzxTT1nZ5Bgw4L/PmnZDOzs815Bh6Vj561pwW9zdxAT0rHz0rHz0rHz2rh0paWwekWq30LKlW37K2slIqlUr69asstA3US9MH6wUqlcWfAO%2B0vDdaWipZbbXBS/3z/3BqkrPT2nrKIvtrbx9Yh/2T/EeSpzN48H9k8ODjGnokPSsfPWs27/w3cQE9Kx89Kx89Kx89W3rVancGDvzg25a2JXnr77Q9AwfW47U/LKrpg/Uqq6ySZNGR6Y6OjiSLjmTXoru7mo6OOUtfXI%2BD//6RJLOTvPmOY3v7wHR0zE1XV3cdjrFia2v7wt9HrL%2BQzs7ZDTmGnpWPnjWrRf8mLlBLz5bFTBWWzHlWPnpWPnpWTHv7wFQq1cyd%2B3Cq1deTLBih/lA6O9foGbl%2B83NjXkeyfOvNYGzTB%2Bt11103/fv3z%2BOPP57tt9%2B%2BZ/m0adOS5B0f0dVb8%2Bc39o9XV1d3w4%2BxIpg//18yZ86//P07PWNhelY%2BvelZe/t5aW19OgMGnPeW85%2B%2B4jwrHz0rHz0ropru7ldTrc5LklQqA1KpdOWNN6qpvnVOODRI01/I0dbWlm222Sa33nrrQst/8pOf5D3veU8%2B8IEP9FFlAG9yA8PGcLdvAKAs%2BnzEeu7cubnrrruSJM8%2B%2B2xmzZqV2267LUnykY98JEOHDs3RRx%2Bdgw46KKeddlr23HPPPPDAA5k8eXLOPPNMz7AG%2Bly9nqPMwjxXGgAoiz4P1i%2B99FKOO27hm1Et%2BP7qq6/O1ltvnS233DIXX3xxzj///Nx8881573vfm9NOOy3jx4/vi5IBFjJnzvEZNOh8I6sAACuomoP1N77xjRx44IFZb7316lLAOuusk0cffXSJ240dOzZjx46tyzEBihow4IqeMG1kFQBgxVbzPOrJkyfn4x//eD73uc/lV7/6VQNKAmh%2Bb53%2BDQDAiq3mYH333XfnlFNOybPPPpsjjzwyO%2B%2B8c6644opFHocFsDxzYy0AABaoOVgPGTIkEyZMyK233prLL78873//%2B3Peeedl7Nix%2BfKXv5yHH364EXUCNJV58w7Nyy9PNQUcAIBij9saM2ZMLr300txxxx3ZYostctNNN2XffffNP//zP/fc6RuAd%2BdxXQAA5VYoWHd2duamm27Ksccem/vvvz/rr79%2BjjzyyMyePTtHHnlkLr300nrVCVBXzRRmXa8NAFBuSxWsn3nmmXzzm9/Mdtttly9/%2BctZbbXVctlll%2BXWW2/Ncccdlx//%2BMc59NBDc/XVV9e7XoC6aKYw63ptAKiHlVKpDEilMiDJSn1dDCuYmh%2B3deSRR%2Bbuu%2B9OW1tb9tlnnxx88MF53/vet8h2O%2B%2B8cy6//PK6FAmUw9sfQdXMmunZ0x7XBQDFVCotaWvbLElSra6U%2BfP7p1ptT7Va7ePKWFHUHKynTZuWk046Kfvtt1%2BGDBnyjtu9//3vz3/%2B538WKo7alSnYsPx56yhws///E2YBYPlRrVbT2flYkqRS%2BVDmzXtvuruFapadmoP1nXfe2avthgwZktGjR9dcEMWUKdiw/GmmUWAAYEVSTdLx96%2B7Y6CaZa3ma6w33XTTPPTQQ4tdN3Xq1Gy66aaFi2LpuVaTvuQRVL3TTDdOAwCguJqD9fz5899xXVdXV7q6ugoVRDGCDTS/ZrpxGgAAxRV63NbbPfLII2lvb6/nLgGWO2aWAAAsX3p1jfU111yTSZMmJUkqlUqOO%2B64tLW1LbTNvHnz8vzzz2fXXXetf5UAyxE3TgMAWL70KlivssoqGTFiRJLkySefzJprrrnIHcEXPH7rkEMOqX%2BVAAAA0KR6Faz32muv7LXXXkmSf/7nf87Xvva1jBw5sqGFAQAAQBnU/Lit6667rhF1AAAAQCn1KljPmDEjq6%2B%2Bevr165cZM2Yscfs111yzcGEAAABQBr0K1jvssENuuOGGbL755hk7dmwqlcq7bv/www/XpTgAAABodr0K1meeeWbPzcu%2B9rWvNbQgAACA2q3098%2BVVCpJtdqnxbCC6VWwHj9%2B/GK/BvrOgAFXZNCg8zNnzvEe3QQArNAqlZa0tW2WJKlWqxkw4LlUqytn7tzBfVwZK4qab14GNIdBg85Pa%2BvTGTTofMEaAFihVavVdHY%2BluT1JF1JWlOpjE6lMiRVQ9csA70K1rfccktNO91zzz2Xqhig9%2BbMOb5nxBoAYMVWTdKRanVekqRSGdC35bDC6VWwPumkk3q9w0qlIljDMjBv3qFGqgEAoAn0Kljffvvtja4DWM65JhwAgOVVr4L1uuuu2%2Bg6gAbr62Bb1mvC%2B/r3BgBA82vp6wKAZeOtwbYvzJlzfLq6RpTumvC%2B/r0BAND8luqu4E8//XRuuOGGTJ8%2BPa%2B//vpC6yqVSq644oq6FAfUT1/f7Kys14T39e8NAIDmV3OwnjZtWsaPH5/VV189zz77bDbccMPMnDkzL774Yt773vdm7bXXbkSdQEFlDbZ9ze8NAIAlqXkq%2BHnnnZdtt902t912W6rVas4%2B%2B%2Bzcc889ufDCC9PZ2VnTHcQBAACg7GoO1lOnTs0%2B%2B%2ByTlpY3f7S7uztJsssuu%2BSzn/1szjvvvPpWCAAAAE2s5mDd0dGRVVddNS0tLenXr19ee%2B21nnWbb755/uu//quuBQIsrwYMuCJDh26SAQPclwIAilsplcqAVCoDkqzU18Wwgqk5WA8bNiyvvPJKkmS99dbLH/7wh551jz32WAYNGlS/6gCWY%2B44DgD10pJKZXQqlR3%2B/jE61Wp7qtVqXxfGCqLmm5f90z/9Ux588MHssssuGTduXC6%2B%2BOK8%2BOKLaWtry4033phx48Y1ok6A5Y47jgNAfVSrLZk7d/jblgnVLDs1B%2BsjjjgiM2bMSJIcfvjhef7553PLLbekUqlkl112ySmnnFL3IgGWR%2B44DgD1I0jTl2oO1uuvv37WX3/9N3%2B4X7%2BcfvrpOf300%2BtcFgAAAJRDzddYAwAAAP9Q84j1pZde%2Bq7rK5VKjjjiiKUuCAAAAMqk5mD9rW996x3XVSqVJBGsAQAAWGHUHKynTp26yLKZM2fm5z//eSZNmpRLLrmkLoUBAABAGdR8jXVra%2BsiH2ussUYOOOCAjBs3Luecc04j6gQAAICmVNebl22xxRa5995767lLAAAAaGp1DdaPPfZYBg4cWM9dAgAAQFOr%2BRrrW265ZZFlnZ2defTRRzN58uR84hOfqEthAAAAUAY1B%2BuTTjppscv79%2B%2BfPfbYI1/60pcKFwUAAABlUXOwvv322xdZttJKK2XYsGE9j9sCAACAFUXNwXrddddtRB0AAABQSjUH6%2BnTp%2Beee%2B7J3/72t1Qqlbz3ve/NNttsk//xP/5HI%2BoDAACAptbrYN3R0ZHTTjstd9xxR6rV6kLrKpVKPvKRj%2BS8887LGmuskSR5/vnnM2zYsPpWCwAAAE2mV8G6s7MzhxxySB555JHsu%2B%2B%2B2WWXXbLOOuukWq3m2WefzR133JEf//jHOeCAA/LjH/84r7zySg455JDccccdja4fAAAA%2BlSvgvXVV1%2BdadOm5aqrrsqHPvShhdZttNFG2XHHHfPJT34yhx9%2BeE499dQ89NBDaW1tbUjBAAAA0ExaerPRz372s0yYMGGRUP1WH/nIR3LQQQfl9ttvT3t7e66//vq6FQkAAADNqlfB%2Boknnsi22267xO0%2B%2BtGPplKp5LrrrnN9NQAAACuEXgXrWgwYMCBDhgyp924BAACgKfUqWK%2B33nq5//77l7jdfffd5znXAAAArFB6Fax33333XHXVVXnooYfecZspU6bk6quvzsc//vG6FQcAAADNrld3BZ8wYUJuueWWHHjggTnggAOy8847Z5111kmSPPPMM/n5z3%2BeG264Ieutt14%2B85nPNLRgAAAAaCa9CtaDBg3KlVdemRNPPDGTJk3Ktddeu9D6arWa0aNH55vf/GYGDhzYkEIBAACgGfUqWCfJe97znlx11VWZMmVKfvOb3%2BS5555Lkqy11loZM2ZMNt9884YVCQAAAM2q18F6gS222CJbbLFFI2oBAACA0qn747YAAABgRSJYAwAAQAGCNQAAABQgWAMAAEABgjUAAAAUUPNdwReYNWtW/vznP2fmzJkZM2ZM2tvb61kXAAAAlMJSBevvfve7ufTSSzN37txUKpXceOON2WSTTfLZz342Y8aMyec%2B97l61wkAAABNqeap4Ndff32%2B/e1vZ%2B%2B9987FF1%2BcarXas27s2LH55S9/WdcCAQAAoJnVPGI9adKkTJgwIaecckq6uroWWrf%2B%2Buvn//2//1ev2gAAAKDp1Txi/dRTT2Xs2LGLXTdkyJB0dHQULgoAAADKouZgvfLKK%2Bell15a7Lpnn302q6%2B%2BeuGiAAAAoCxqDtZbb711rrjiisydO7dnWaVSSVdXV37wgx9k2223rWuBAAAA0Mxqvsb62GOPzfjx4zNu3LjstttuqVQquf766/OXv/wlTz/9dM4999xG1AkAAABNqeYR6/e973257rrrsu666%2Bbqq69OtVrND3/4wwwePDiTJk3KOuus04g6AQAAoCkt1XOsN9poo1x55ZWZO3duZs6cmVVWWSWDBw%2Bud20AAADQ9GoesX6rgQMHZvjw4enfv3%2BefPLJdHd316suAAAAKIWag/W1116bSy65pOf7v/zlL9lhhx2y%2B%2B675%2BMf/3hmzJhR1wIBAACgmdUcrG%2B44YaFpn3/%2B7//e4YMGZIvfvGLeeONN3LxxRfXtcAF7rzzzowfPz5bbbVVtt122xxzzDF5/PHHG3IsAAAA6K2ag/Vzzz2XDTbYIEkya9as/P73v88JJ5yQQw45JJ///Odz9913173Ie%2B%2B9N8ccc0ze97735YILLshXvvKVPPHEEznkkEMya9asuh8PAAAAeqvmm5d1dnamf//%2BSZIpU6aku7u759nVI0aMyIsvvljfCpP89Kc/zfDhw3POOeekUqkkSdZee%2B2MHz8%2Bf/zjHzN27Ni6HxMAAAB6o%2BYR67XWWisPPPBAkuQXv/hFRo0alZVXXjlJ8vLLL2fIkCH1rTDJ/PnzM3jw4J5QnaTnmAAAANCXag7We%2ByxRy666KKMHz8%2B119/ffbaa6%2BedVOnTs36669fz/qSJPvtt18ef/zxXHPNNeno6MgzzzyTc845JyNHjszo0aPrfjwAAADorZqngk%2BcODEtLS158MEHc9RRR2XChAk96x5%2B%2BOHssssudS0wST784Q/nwgsvzAknnJCzzjorSbLhhhvm%2B9//ftra2grtu1%2B/Qk8ce0etrS0Lfab56Vn56Fn56Fn56Fn56Fn56Fl9NOp1PfRGpVqtVvu6iCV54IEHcvjhh2efffbJTjvtlFmzZuXSSy9NZ2dnrr/%2B%2BqWefl6tVheaXg4AAJSP1/X0tVIE63333TfDhw/PhRde2LPs5Zdfzvbbb99zR/Kl0dXVnY6OufUqcyGtrS1pbx%2BYjo656erqbsgxqC89Kx89Kx89Kx89Kx89Kx89K6a9fWCSNOx1Pay22uAlblPzVPAkefrpp3PDDTdk%2BvTpef311xdaV6lUcsUVVyzNbt/R9OnTs9NOOy20bOjQoRk2bFieeuqpQvueP7%2Bxf7y6urobfgzqS8/KR8/KR8/KR8/KR8/KR8%2BK8bujL9UcrKdNm5bx48dn9dVXz7PPPpsNN9wwM2fOzIsvvpj3vve9WXvttete5PDhwzN16tSFlr3wwgt5/vnnG3I8AAAA6K2ar/A/77zzsu222%2Ba2225LtVrN2WefnXvuuScXXnhhOjs7c9JJJ9W9yAMPPDC/%2BMUvcuaZZ%2BY3v/lNbr311hx22GEZNGjQQnclBwAAgGWt5hHrqVOn5qtf/WpaWt7M5N3db0652GWXXfL444/nvPPOyzXXXFPXIg888MD0798/1113XX70ox9l0KBB2WyzzXLOOedk2LBhdT0WAAAA1KLmYN3R0ZFVV101LS0t6devX1577bWedZtvvnkuueSSuhaYvHnd9gEHHJADDjig7vsGAACAImqeCj5s2LC88sorSZL11lsvf/jDH3rWPfbYYxk0aFD9qgMAAIAmV/OI9T/90z/lwQcfzC677JJx48bl4osvzosvvpi2trbceOONGTduXCPqBAAAgKZUc7A%2B4ogjMmPGjCTJ4Ycfnueffz633HJLKpVKdtlll5xyyil1LxIAAACaVc3Bev3118/666//5g/365fTTz89p59%2Bep3LAgAAgHKo%2BRprAAAA4B96PWLd2dmZBx98MP369csWW2yRfv365ZlnnskFF1yQRx55JGussUYmTJiQsWPHNrJeAAAAaCq9CtbPPfdcDjrooPztb39L8uZ08EsvvTQTJkzIjBkzssoqq%2BTRRx/Nb3/720yaNClbbbVVQ4sGAACAZtGrqeAXX3xx5syZkzPOOCPnnXde%2BvXrl4kTJ2bVVVfNXXfdlfvvvz8///nPM3LkyFx22WWNrhkAAACaRq9GrO%2B9994cc8wx2X///ZMka6%2B9dg444ICcd955WXPNNXuWHXroofnWt77VuGoBAACgyfRqxHrGjBkZNWpUz/cLvh4xYsRC240YMSIvvPBCHcsDAACA5tarYD1//vy0tbX1fN%2B/f/8kSWtr60Lb9evXL93d3XUsDwAAAJpbocdtVSqVetUBAAAApdTrx2198YtfzMCBAxdadsIJJ2TAgAE938%2BdO7d%2BlQEAAEAJ9CpYb7nllouMTi/ukVoDBw7M0KFD61MZAAAAlECvgvX111/f6DoAAACglApdYw0AAAArOsEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAK6NXjthbnySefzO9%2B97vMnDkz%2B%2B67b9ZYY4289NJLWXnlldPW1lbPGgEAAKBp1Rysu7u7c/rpp%2BfGG29Md3d3KpVKPvrRj2aNNdbIl770pWy66aY59thjG1ErAAAANJ2ap4J/97vfzY9%2B9KN84QtfyM0335xqtdqzbuzYsbn77rvrWiAAAAA0s5pHrG%2B66aYcddRROeyww9LV1bXQunXWWSdPP/103YoDAACAZlfziPVzzz2XrbbaarHrBgwYkNmzZxcuCgAAAMqi5mA9dOjQPPPMM4td98QTT2TNNdcsXBQAAACURc3Bevvtt893v/vdPP/88z3LKpVKZs2alUmTJmXHHXesa4EAAADQzGq%2BxvrYY4/Nfvvtl3HjxmX06NGpVCr5zne%2Bk0cffTSVSiVHHXVUI%2BoEAACAplTziPWwYcNy44035mMf%2B1geeOCBJMmUKVOyzTbb5Prrr8/QoUPrXiQAAAA0q5pHrJM3w/XXv/71etcCAAAApVPziDUAAADwDzWPWH/lK195x3WVSiXt7e3ZbLPNstNOO6V///6FigMAAIBmV3Ow/vWvf53Zs2dn1qxZaWlpSXt7ezo6OtLd3Z0hQ4aku7s7c%2BbMyYYbbpirrroqq6%2B%2BeiPqBgAAgKZQ81Tw7373u2lvb883v/nNTJkyJffdd1%2BmTJmSc845JyuvvHKuuuqqXHPNNXn55Zdz/vnnN6JmAAAAaBo1j1h/4xvfyGc%2B85nstddePcv69%2B%2BfvffeOzNnzszZZ5%2Bda6%2B9Nocddli%2B//3v17VYAAAAaDY1j1g/9NBD2WijjRa7bqONNsrUqVOTJBtvvHFmzpxZrDoAAABocjUH68GDB%2Bd3v/vdYtf97ne/y%2BDBg5Mkr7/%2Bes/XAAAAsLyqeSr4uHHj8r3vfS%2BVSiW777571lhjjbz44ov52c9%2BlssvvzwHHnhgkmTq1KnZYIMN6l4wAAAANJOag/WJJ56YGTNm5OKLL84ll1zSs7xarWb33XfPCSeckCTZfPPNM3r06PpVCgAAAE2o5mDd1taWb3/723n00Ufz%2B9//Pq%2B88kpWXXXVfPjDH86oUaN6thszZkxdCwUAAIBmVHOwXmDUqFELBWkAAABYES11sE6SV199NfPmzVtk%2BZprrllktwAAAFAaSxWsL7vsslx99dV56aWXFrv%2B4YcfLlQUAAAAlEXNj9v60Y9%2BlIsvvjgHHHBAqtVqDjvssBx66KEZNmxY1ltvvZxxxhmNqBMAAACaUs3B%2BpprrskRRxyRiRMnJkl22223nHjiibntttsyaNCgzJo1q%2B5FAgAAQLOqOVg/%2BeST%2BeAHP5iWljd/dP78%2BUmSgQMH5tBDD80PfvCD%2BlYIAAAATazmYN2v35uXZVcqlQwZMiT//d//3bNu6NChmTFjRv2qAwAAgCZXc7Bed911e8LzpptumsmTJ6erqyvd3d2ZPHlyhg8fXvciAQAAoFnVHKzHjBmT%2B%2B%2B/P0ly%2BOGH57e//W0%2B9KEPZZtttsmtt96aQw89tO5FAgAAQLOq%2BXFbxx13XM/X2267bSZNmpSf/vSnqVQq2WGHHfLRj360rgUCAABAM6spWHd2dub//J//ky233DIjR45Mkmy55ZbZcsstG1IcAAAANLuapoK3tbXl9NNPz0svvdSoegAAAKBUar7GesSIEXnxxRcbUQsAAACUTs3B%2BuCDD87ll1%2Be2bNnN6IeAAAAKJWab1725JNP5qWXXspOO%2B2UbbfdNu95z3tSqVR61lcqlZxyyil1LRIAAACaVc3B%2Bqqrrur5%2BtZbb11kvWANAADAiqTmYD116tRG1AEAAAClVHOwbm1tbUQdAAAAUEo1B%2BsFfvvb3%2Bb%2B%2B%2B/PzJkzc%2BSRR2attdbK1KlTM3z48Ky22mr1rBEAAACaVs3Bet68eTn66KNz7733plqtplKpZP/9989aa62Vyy67LMOHD8/JJ5/ciFoBAACg6dT8uK1vfetbmTJlSs4///z8/ve/T7Va7Vk3ZsyY/Pa3v61rgQAAANDMah6xvvXWW3Psscfm4x//eLq6uhZat9Zaa%2BVvf/tb3YoDAACAZlfziPVLL72UjTbaaLHrWltbM2/evMJFAQAAQFnUHKzXXHPNTJs2bbHrHn300ayzzjqFiwIAAICyqDlY77rrrrnkkkvyyCOP9CyrVCp57rnncvXVV2e33Xara4EAAADQzGq%2BxvqYY47Jb37zm%2By3334ZNWpUKpVKTjvttDz55JNZd911c/jhhzeiTgAAAGhKNY9YDxkyJDfccEMmTpyYfv36Zfjw4WlpackhhxySSZMmZeDAgY2oEwAAAJpSzSPWSTJo0KBMnDgxEydOrHc9AAAAUCo1j1ife%2B65efzxxxtRCwAAAJROzcH6qquuyrhx4/LpT386kydPzqxZsxpRFwAAAJRCzcH67rvvzqmnnprOzs585StfyXbbbZeTTz45v/vd7xpRHwAAADS1moP1qquumoMPPjg33XRTfvzjH2f//ffPPffckwkTJmTnnXfORRdd1Ig6AQAAoCnVHKzfatSoUfnSl76UX//617ngggvS1dWVCy%2B8sF61AQAAQNNbqruCv9XTTz%2Bdm266KTfffHP%2B%2B7//O8OGDatHXQAAAFAKSxWs586dm9tuuy033XRT/vCHP6Rfv37Zcccdc/rpp2e77bard409Jk%2BenGuuuSZPPPFEhgwZki222CKXXnppw44HAAAAS1JzsD711FNz2223Zc6cOdl4441z6qmnZs8998yqq67aiPp6XHDBBbnyyitz5JFHZosttsirr76au%2B%2B%2Bu6HHBAAAgCWpOVj/4he/yL777ptPfepT2XjjjRtR0yKmT5%2BeSy65JJdddlnGjBnTs3zXXXddJscHAACAd1JzsL777rvTv3//d1z/8ssvZ%2BjQoYWKerubbropI0aMWChUAwAAQDOo%2Ba7giwvV1Wo1d911Vz7/%2Bc9n%2B%2B23r0thbzVlypRstNFGueiiizJ69OhsuummOeigg/Lwww/X/VgAAABQi0J3BX/qqafywx/%2BMD/60Y/ywgsvpH///tltt93qVVuPF154IVOnTs1f//rXnHHGGenfv38uvPDCHHLIIbn99tvT3t6%2B1Pvu16/QE8feUWtry0KfaX56Vj56Vj56Vj56Vj56Vj56Vh%2BNel0PvVGpVqvVWn7g9ddfz6233pof/vCH%2BcMf/pBqtZpKpZLPfvazOfzww7PaaqvVvciPfexjefLJJ/OTn/wk73//%2B5Mkzz//fHbeeecce%2ByxOeyww5ZqvwtqBwAAysvrevpar0esH3roodx444352c9%2BltmzZ2fgwIHZZ599sttuu%2BWII47ITjvt1JBQnSSrrLJK1lhjjZ5QnSTDhg3LBhtskGnTpi31fru7q%2BnomFOPEhfR2tqS9vaB6eiYm66u7oYcg/rSs/LRs/LRs/LRs/LRs/LRs2La2wcmScNe18Nqqw1e4ja9CtZ77rlnT4D94Ac/mE996lP5xCc%2BkUGDBuW1114rVmUvjBw5Mn/7298WWV6tVtPSUmzKx/z5jf3j1dXV3fBjUF96Vj56Vj56Vj56Vj56Vj56VozfHX2pV6n0r3/9a5Jk7Nix%2BdrXvpb99tsvgwYNamhhb7XDDjvkxRdfzGOPPdazbMaMGXn88cczatSoZVYHAAAAvF2vgvWpp56aUaNG5Ve/%2BlX23HPPHHDAAZk8eXJmzZrV6PqSvPm86k022SSf//zn87Of/Sx33nk1qmq0AAAflklEQVRnjjzyyAwdOjT777//MqkBAAAAFqdXwXrChAm5%2BeabM3ny5Oy///55/PHH85WvfCXbbbddvvKVr6RSqTT0ZgGtra353ve%2Bl0033TRf/epXc%2BKJJ2aNNdbIlVdeuUxHzgEAAODtar4reLL4O4Ovt956OeCAA7LPPvs07CZm9dbV1Z2XX57dkH3369eS1VYbnJkzZ7veoyT0rHz0rHz0rHz0rHz0rHz0rJihQ9%2B8sVSjXtfDe96z8hK3Wao7f6200kr55Cc/mWuuuSb/9//%2B3xx%2B%2BOGZO3duvvnNb2aHHXZYml0CAABAKRV%2Bivq6666b448/Pr/61a9yySWXZLvttqtHXQAAAFAKvX6O9ZK0tLRkxx13zI477livXQIAAEDTKzxiDQAAACsywRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKCAUgbr2bNnZ/vtt8%2BoUaPy5z//ua/LAQAAYAVWymB98cUXp6urq6/LAAAAgPIF6%2BnTp%2Be6667L5z//%2Bb4uBQAAAMoXrL/%2B9a/n05/%2BdN73vvf1dSkAAABQrmB922235ZFHHsnRRx/d16UAAABAkqRfXxfQW3Pnzs3ZZ5%2Bd448/PkOGDKnbfvv1a8x7C62tLQt9pvnpWfnoWfnoWfnoWfnoWfnoWX006nU99EZpgvUll1yS1VdfPfvuu2/d9tnSUslqqw2u2/4Wp719YEP3T/3pWfnoWfnoWfnoWfnoWfno2dKrVqsNf10P76YUwfrZZ5/N97///Vx00UWZNWtWkmTOnDk9n2fPnp3Bg2s/kbq7q%2BnomFPXWhdobW1Je/vAdHTMTVdXd0OOQX3pWfnoWfnoWfnoWfnoWfnoWTEL3pBo1Ot66M2bNqUI1s8880zeeOONHH744YusmzBhQrbYYov87//9v5dq3/PnN/aPV1dXd8OPQX3pWfnoWfnoWfnoWfnoWfnoWTF%2Bd/SlUgTrjTfeOFdfffVCyx5%2B%2BOH827/9W84444xsttlmfVQZAAAAK7pSBOv29vZsvfXWi123ySabZJNNNlnGFQEAAMCb3DoPAAAACijFiPXibL311nn00Uf7ugwAAABWcEasAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKCAfn1dQG/ceuutueWWWzJ16tS8%2BuqrGTFiRP7n//yf%2BfSnP52WFu8NAAAA0HdKEaz/8z//M8OHD88Xv/jFrL766rn//vvz9a9/PU8//XROPvnkvi4PAACAFVgpgvWll16aoUOH9ny/zTbbZM6cObn22mvzhS98IW1tbX1YHQAAACuyUsyjfmuoXmDjjTfO66%2B/nldeeaUPKgIAAIA3lSJYL84f//jHrLrqqll99dX7uhQAAABWYKWYCv52f/7zn3PTTTfl6KOPTmtra6F99evXmPcWWltbFvpM89Oz8tGz8tGz8tGz8tGz8tGz%2BmjU63rojUq1Wq32dRG1eOGFF7L//vtnzTXXzDXXXJP%2B/fsv9b6q1WoqlUodqwMAAJY1r%2Bvpa6UK1q%2B99loOPvjgvP7667nuuuuy2mqrFdpfV1d3Ojrm1qm6hbW2tqS9fWA6Ouamq6u7IcegvvSsfPSsfPSsfPSsfPSsfPSsmPb2gUnSsNf1sNpqg5e4TWmmgr/%2B%2Bus56qij8uKLL%2BaGG24oHKoXmD%2B/sX%2B8urq6G34M6kvPykfPykfPykfPykfPykfPivG7oy%2BVIljPnz8/xx13XB555JFMmjQpa6%2B9dl%2BXBAAAAElKEqzPPPPM/PKXv8xJJ52UefPm5U9/%2BlPPug033DBDhgzpw%2BoAAABYkZUiWN9zzz1Jkn//939fZN3VV1%2BdrbfeelmXBAAAAElKEqx/8Ytf9HUJAAAAsFge9gYAAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABZQmWD/xxBM59NBD88EPfjCjR4/OWWedlXnz5vV1WQAAAKzg%2BvV1Ab3R0dGRz3zmMxk%2BfHi%2B853v5OWXX86//du/5ZVXXsm5557b1%2BUBAACwAitFsP7BD36Qjo6O3HzzzRk6dGiSpLW1NSeeeGKOOuqojBw5so8rBAAAYEVViqngv/71rzN69OieUJ0ku%2B22W9ra2nLXXXf1YWUAAACs6EoRrKdPn77IqHRbW1vWXXfdTJ8%2BvY%2BqAgAAgJJMBe/o6Eh7e/siy9vb2/Pqq68u9X5bWioZOnRwkdLeUaXy5udVVhmYarUhh6DO9Kx89Kx89Kx89Kx89Kx89KyYlpZKurur6devFGOGLKdKEazfSbVaTWXBX6KlUKlU0tq69D/fGy0tTvCy0bPy0bPy0bPy0bPy0bPy0bOl19payWqrNWbADHqjFGdve3t7Ojo6Fln%2B2muvLXYkGwAAAJaVUgTrkSNHLnItdWdnZ5566il3BAcAAKBPlSJYb7/99rnvvvsyc%2BbMnmV33HFHOjs7M3bs2D6sDAAAgBVdpVpt/lskdHR0ZI899sjaa6%2BdiRMn5qWXXsrZZ5%2BdMWPG5Nxzz%2B3r8gAAAFiBlSJYJ8kTTzyRs846K3/84x8zYMCA7LHHHjnxxBMzYMCAvi4NAACAFVhpgjUAAAA0o1JcYw0AAADNSrAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBOs6mDx5cvbaa69sttlmGT16dI488siF1t9111355Cc/mc022yy77rprrr322j6qlAXerWennHJKRo0atcjHr3/96z6seMV18MEHL7Yfo0aNyk9/%2BtOe7ZxnzaM3PXOeNZ8777wz48ePz1ZbbZVtt902xxxzTB5//PFFtnOuNY/e9My51jx%2B%2BctfZp999smmm26asWPH5jvf%2BU66uroW2c45BuXUr68LKLsLLrggV155ZY488shsscUWefXVV3P33Xf3rH/wwQczceLE7L333jnllFPywAMP5KyzzkpbW1vGjx/fh5WvuJbUsyQZMWJEzj333IWWjRw5clmWyd/967/%2Ba2bNmrXQsquuuiq33357Ro8encR51mx607PEedZM7r333hxzzDHZa6%2B98r/%2B1/9KR0dHLrzwwhxyyCH56U9/miFDhiRxrjWT3vYsca41gz/96U%2BZOHFiPvGJT%2BT444/P9OnT8x//8R%2BZO3duTj755J7tnGNQYlWW2rRp06obb7xx9e67737HbQ499NDqfvvtt9Cy0047rfrRj3602tXV1egSeZve9Ozkk0%2Bujhs3bhlWRa122mmn6mGHHdbzvfOs%2Bb29Z86z5nLqqadWd9xxx2p3d3fPsilTplQ32mij6q9%2B9aueZc615tHbnjnXmsO//Mu/VPfZZ5%2BFll1%2B%2BeXVTTbZpPrCCy/0LHOOQXmZCl7ATTfdlBEjRmTMmDGLXd/Z2Zn77rsv48aNW2j5nnvumRdeeCF/%2BctflkWZvMWSekbze%2BCBB/LMM89kzz33TOI8K4O394zmM3/%2B/AwePDiVSqVn2corr7zQNs615tKbntE8Hn744UVee2y33XZ54403cs899yRxjkHZCdYFTJkyJRtttFEuuuiijB49OptuumkOOuigPPzww0mSp556Km%2B88UY22GCDhX5uww03TJJMnz59mde8oltSzxZ46qmn8qEPfSibbrpp9t1339x55519VDFv95Of/CQDBw7MzjvvnMR5VgZv79kCzrPmsd9%2B%2B%2BXxxx/PNddck46OjjzzzDM555xzMnLkyJ7p%2B8615tKbni3gXOt7r7/%2Bevr377/Qsra2tiT/OHecY1BurrEu4IUXXsjUqVPz17/%2BNWeccUb69%2B/fc33T7bffnldffTVJ0t7evtDPLfh%2BwXqWnSX1rL29PRtvvHE222yzbLjhhnnttddy/fXX5%2Bijj863v/3t7L777n39T1ihzZ8/P7fddlt23nnnDBo0KEmcZ01ucT1L4jxrMh/%2B8Idz4YUX5oQTTshZZ52V5M0X89///vd7Xvw715pLb3qWONeaxfrrr5%2BHHnpooWV/%2BtOfkvzj3HGOQbkJ1gVUq9XMmTMnF1xwQd7//vcnSTbZZJPsvPPOueGGG7LVVlslyULTtN7qnZbTOEvq2WGHHZbPfOYzC/3MTjvtlE9/%2BtP5zne%2B40VIH/vNb36Tl156KXvsscci65xnzemdeuY8ay4PPPBATjrppHzqU5/KTjvtlFmzZuXSSy/NYYcdluuvv36hG2E515pDb3vmXGsOBx54YL70pS/lqquuyt57751p06blW9/6VlpbWxc5d5xjUE6mghewyiqrZI011ugJaEkybNiwbLDBBpk2bVpWWWWVJIu%2Bw9jR0ZFk0Xckabwl9WxxWlpa8rGPfSzTp0/PvHnzllWpLMZPfvKTrLrqqgtdp%2BY8a26L69niOM/61llnnZVtttkmX/7ylzN69Ojsuuuu%2Bd73vpcnnnji/7d39zFVl/8fx5/ecBOQyG0ogpLSEeXG3BhgYYgzqcxGU/IO8RZLm1ZbJbkkWkr4h5XnCCUqKUoTlWToqJYp2kyzZMMxTbRNB4kiqGQCys33j36eX0dA8XtS8MvrsbFxrnN9Pp/3%2BVx7//E%2B1/W5Dtu3bweUa11NR8asLcq1zhEbG8vs2bNZtWoVYWFhzJo1iylTpuDs7IyHhwegHBN52KmwtkJ7P1XR0tJCz5498fX1xcbGptVvSt4q4PRTFw/e3casPS0tLfcrJOmg%2Bvp69u7dS0xMjMVzasqzrqu9MWuP8qzznDlzhqFDh1q0ubq64unpyblz5wDlWlfTkTFrj3LtwevRowdLly7l8OHD5Ofnc%2BjQIeLi4qipqSEkJARQjok87FRYWyEqKopLly5x6tQpc9uFCxf4/fffMRgM2NraEh4eTmFhocVxu3fvxsPDg2HDhj3okLu9u41ZW5qbm/n222/x9/fH3t7%2BQYUqt/nhhx/466%2B/Wu0srTzrutobs7YozzpX//79KS0ttWirqqri4sWLeHt7A8q1rqYjY9YW5VrnevTRRxk6dCh9%2BvQhOzsbb29vRo0aBSjHRB52vT744IMPOjuIh5Wfnx/79%2B8nPz8fNzc3zp49S3JyMgCpqanY2Njg4%2BPD559/zvnz53F0dKSgoICsrCySkpIIDAzs5E/Q/dxtzC5evMiiRYu4efMmf/75J6WlpXz00UcUFxeTkpKib4s70erVq2loaCApKanVc2bKs66pvTGrqKhQnnVBmzZt4vLly/Tu3ZvS0lKSk5Opr68nJSUFR0dHQLnW1dxtzJRrXUdJSQkFBQXU1dVRVlbGhg0byMnJ4dNPP8XX19fcTzkm8vDq0aL1QFaprq5m5cqVFBUV0djYSGhoKElJSRY/lVBUVMTq1as5c%2BYMXl5ezJ49m%2BnTp3di1N3bncbsypUrJCUlUVpaSk1NDTY2NgQGBpKYmEhkZGRnh95tXb16laeeeoqEhATefvvtNvsoz7qWO42Z8qzraWlpITc3l5ycHM6dO4eDgwNBQUG8%2BeabrVbzKNe6ho6MmXKt6zhx4gTJycmUlZUBEBISwpIlS3jyySdb9VWOiTycVFiLiIiIiIiIWEHPWIuIiIiIiIhYQYW1iIiIiIiIiBVUWIuIiIiIiIhYQYW1iIiIiIiIiBVUWIuIiIiIiIhYQYW1iIiIiIiIiBVUWIuIiIiIiIhYQYW1iIiIiIiIiBVUWIuI/A/Ly8vDYDCY/4YNG8bo0aNJSkriwoULnR3ev%2BL06dMYjUbKy8s71P/WPelI//j4eOLj460N8Y6OHTuG0Wiktrb2rtevq6vDaDRy5MiR%2BxqTiIiI3BsV1iIi3UBqairbtm1j48aNxMXFsXv3bqZNm8b169c7OzSrnT59GpPJREVFRYf6R0VFsW3bNjw9Pe9zZB1TXFyMyWRqs7BOTk4mOTnZ/Lqurg6TycTPP//8IEMUERGRu%2Bjd2QGIiMj95%2B/vT1BQEADh4eE0NTWRnp7O999/z8SJE606d1NTE01NTdja2v4bod53rq6uuLq6dnYYHTJkyJDODkFEREQ6QDPWIiLd0IgRIwD4448/zG1VVVUsX76c0aNHExgYSHR0NCaTicbGRnOf8vJyDAYDmZmZpKenEx0dTVBQEIcPHwagtraWjz/%2BmLFjxxIYGEhERATz58/nzJkz5nPcuHGD9PR0YmJiCAwMJDw8nKSkJGpqaixijI6OZsGCBRw4cIDY2FiCg4OJiYlhx44d5j55eXksWbIEgJkzZ5qXvOfl5bX72dtaCt7S0kJmZiZjxowhKCiI2NhYioqK2jz%2B2rVrpKWlER0dTWBgIJGRkaxYsaLV7L/BYODDDz9k165dPPfcc4SEhDBx4kT27dtn7mM0Glm1ahUAY8eONcd/a6n3P5eCl5eXExERAYDJZDL3Xbp0Kb/88gsGg4Hdu3e3infXrl0YDAZKSkravSciIiJiHc1Yi4h0Q2fPngUwz9xWVVUxefJkevbsyaJFi/D19aW4uJiMjAwqKipITU21OD47O5tBgwbx7rvv4uTkxMCBA7l27RrTpk2joqKCefPmERISwvXr1zl69ChVVVUMHjyY5uZmFi5cyK%2B//srcuXMZOXIkFRUVGI1GSkpK2LlzJ/b29ubrnDx5krS0NObPn4%2B7uzvbt29n2bJlDBw4kNDQUKKionjrrbdYvXo1y5cvZ/jw4QD4%2Bvre0/0wmUyYTCYmTZrE%2BPHjqays5P3336e5uRk/Pz9zv7q6OmbMmEFlZSWvvvoqBoOBsrIy1qxZw6lTp/jyyy/p0aOHuf/%2B/fs5fvw4ixcvxsHBgfXr1/P666/zzTff4OPjw%2BTJk7l69SrZ2dmYTCY8PDyAtmeqPT09Wb9%2BPfPmzWPSpElMnjzZPIa%2Bvr4MGzaMrVu3MmHCBIvjtmzZQlBQEMHBwfd0T0RERKTjVFiLiHQDzc3NNDY20tDQwNGjR8nIyMDR0ZHo6Gjg75nTq1evsmfPHvr37w9AREQE9vb2pKWlMXfuXItiz87Ojg0bNmBjY2NuW7t2LWVlZWRlZTFq1Chz%2B7PPPmv%2Bv7CwkIMHD2I0Gi3ahw4dyqRJk8jLy2PatGnm9suXL/PVV1%2BZYwoNDeXw4cMUFBQQGhqKq6srAwcOBP4uRm/NxN%2BL2tpaMjMzGTduHCtWrDC3DxkyhKlTp1oU1tnZ2fz222/k5uaal9ZHRETw2GOPsXjxYg4cOMAzzzxj7t/Q0EBWVhZOTk4ADB8%2BnMjISAoLC0lMTMTLy4t%2B/foBEBAQwIABA9qN09bW1vzFgZeXV6vPGh8fT1JSEidOnCAgIACAkpISjh8/Tlpa2j3fFxEREek4LQUXEekG4uLiGD58OCNHjmTBggW4u7uTmZmJu7s78PfMalhYGJ6enjQ2Npr/Ro8eDdBqs6zo6GiLohrg4MGDDBo0yKKovt2%2Bffvo06cPY8aMsbhOQEAAHh4era4TEBBgLqrh74J%2B0KBBFkvYrVVcXExDQwMvvviiRfvIkSPx9vZuFb%2B/vz8BAQEW8T/99NP06NGjVfxhYWHmohrA3d0dNze3Dm%2B0di8mTJiAm5sbW7duNbdt2bIFV1dXnn/%2B%2BX/9eiIiIvL/NGMtItINpKWlMXjwYHr37o2bm1urHbGrq6vZt2%2BfeUb0dpcvX7Z4fWvJ8j/V1NSYZ1/bU11dTW1tLYGBgR26Tt%2B%2BfVv1sbW1paGh4Y7XuRdXrlwBMH/J8E%2B3t1VXV3P27NkO36cHEf8/z/vKK6%2BQlZXFO%2B%2B8Q2NjI4WFhcyePfuh2VhORETkYaXCWkSkGxg8eLB56XJbXFxcMBgMvPHGG22%2Bf3sh/s/niG9xdXWlsrLyjnG4uLjQt29f1q9f3%2Bb7jo6Odzz%2BfrhV/F66dKnVe5cuXbKYtXZxccHOzo6VK1e2eS4XF5f7E2QHTZ06lczMTHbu3ElDQwNNTU1MmTKlU2MSERHpDlRYi4gIUVFRFBUV4evri7Oz8391jsjISNasWcNPP/1k3r26revs2bOH5uZmQkJCrAnZ7NZsbH19/X91/IgRI7Czs6OgoIDx48eb248dO0ZFRYVFYR0VFcUXX3xB37598fHxsS7w/3Mr/o7MYt/ts3p6ejJ%2B/HhycnK4efMmY8aMsVhKLyIiIveHCmsREWHx4sUcOnSIKVOmEB8fj5%2BfHzdu3KC8vJwDBw6QkpKCl5fXHc%2BRkJBAYWEhCxcuJDExkeDgYOrr6zl69ChRUVGEh4fzwgsvUFBQQGJiIvHx8QQHB2NjY0NlZSVHjhxh7NixjBs37p5i9/f3ByA3NxdHR0fs7OwYMGBAh2ePnZ2dmTNnDhkZGSxbtoyYmBgqKysxGo2tlrwnJCTw3XffMWPGDGbNmoXBYKC5uZnz58/z448/MmfOnHv%2BwuCJJ54AYNOmTcTGxtK7d2/8/Pwsns2%2BxcnJCW9vb/bu3UtERATOzs64uLhYbHqWkJBg3jH89t3cRURE5P5QYS0iInh6erJjxw7S09PZsGEDFy5cwNHREW9vbyIjI%2BnTp89dz%2BHk5EROTg5Go5Hc3FzWrl1Lnz59CAoKIi4uDoBevXqRkZHB5s2byc/PZ926dfTq1QsvLy9CQ0PNRea98PHx4b333mPz5s3MnDmTpqYmUlNTefnllzt8jiVLluDg4EBOTg75%2Bfk8/vjjpKSksHHjRot%2BDg4ObN26lXXr1rFt2zbKy8uxt7enX79%2BjBo1qtVmZx0RFhbGggUL%2BPrrr9m%2BfTvNzc1s3ryZsLCwNvuvWLGCVatW8dprr3Hjxg1iY2P5%2BOOPze8HBwfj7e2Nvb19uysHRERE5N/Vo6WlpaWzgxAREZF/x8mTJ3nppZdYvnw506dP7%2BxwREREugXNWIuIiPwPOHfuHBUVFXzyySd4eHjc04y9iIiIWEe/Yy0iIvI/ID09nTlz5nD9%2BnU%2B%2B%2BwzHnnkkc4OSUREpNvQUnARERERERERK2jGWkRERERERMQKKqxFRERERERErKDCWkRERERERMQKKqxFRERERERErKDCWkRERERERMQKKqxFRERERERErKDCWkRERERERMQKKqxFRERERERErKDCWkRERERERMQK/wH6DL7tNzh4bwAAAABJRU5ErkJggg%3D%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9YAAAPWCAYAAAAF6QCyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3gU5fr/8c9sKhCaNJWOEkTEg0hVQECaIAIq4sF2FOWABVEELMBPsSCioKB4FAVUiofepDdRRAMISBGREjoBUggJpO7%2B/sg3c3aSTXY3m2wSeL%2Buy8tsmxlmdmfmfp77uR/D4XA4BAAAAAAA8sRW2BsAAAAAAEBxRmANAAAAAIAPCKwBAAAAAPABgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANXAHS0tJUr149878zZ87k27LbtGljLnfbtm35ttziZu7cueZ%2B%2BNe//lXYmwMAgMWBAwfM69Rtt92W4/vGjh1rvm/06NF%2B3MLi6/777zf32cqVKwt7c1BEBRb2BuB/Xn31VS1cuDDH14OCglSmTBldf/31%2Bsc//qGuXbvq9ttv9%2BMWAkDxM2HCBP3nP/8xH99xxx2aNm1aIW4RirsNGzZowIABub7HZrMpLCxMFStW1M0336y7775bHTp0UHBwsJ%2B28uqSkpKiLVu2aOPGjdq5c6fOnz%2Bv2NhYlSpVShUrVtQNN9ygtm3bqm3btrrmmmsKe3MBXIEIrIuR1NRURUdHKzo6Wrt379aMGTPUvHlzffDBB7r22msLe/OQi3/%2B85/6/fffJUkffPCBevToUchbdPU6evSoOnXqJEkKCAjQvn378nX5bdq0UVRUlCRp5syZatKkSb4uH95xOBxasmSJ5blff/1VZ86c4byJAmW32xUfH6/4%2BHgdPnxYy5YtU40aNfTee%2B%2BpadOmhb15V5RVq1Zp3LhxOn78eLbX4uLiFBcXp4MHD2rVqlUqWbKknn76afXr10%2BhoaGFsLXFQ2Jioho3bmw%2B3rJlCw0ShYDjULwQWBdRZcuWVcOGDS3PpaSk6OTJkzp58qT53G%2B//aY%2Bffpozpw5qlKlir83EwCKtF9//VWnTp2yPGe327V48WL9%2B9//LqStwpWmRYsWCgy03lKlpaUpOjpaR44cUVpamiTp2LFj6tevn7766is1a9asMDb1ipKWlqYRI0Zky/YLCgpS9erVVbFiRSUkJOjEiROKj4%2BXJF26dEkTJ07UypUr9dVXX3HvBCDfEFgXUfXq1dPXX3/t8rW9e/fqrbfe0q5duyRJZ86c0ciRI/Xll1/6cxNRhAQGBuqvv/4q7M24ovXu3Vu9e/cu7M2AlxYtWmT%2B3bp1a/3000%2BSpIULFxJYI99MmDAhx16kmJgYff311/rqq68kScnJyXrjjTe0fPlyBQUF%2BXMzryjp6el6/vnntWHDBvO5SpUq6cUXX1SXLl1UunRpy3sjIiL02WefaevWrZIyxiP/85//1IwZM3T99df7ffsL0/DhwzV8%2BPDC3gzgikPxsmKoQYMG%2Bvbbb1WvXj3zuR9//FH79%2B8vxK0CgKIlMTFRq1evliQZhqG33npL1113nSTpyJEjZuMkUJCuueYaDR06VE899ZT53LFjxxQREVGIW1X8ff7555agukWLFlqxYoV69%2B5tCaqljGE/LVu21HfffadBgwaZz588eVKvvPKK0tPT/bbdAK5cBNbFVGhoqF5%2B%2BWXLc5s2bSqkrQGAomfVqlW6dOmSJKlp06aqWrWqunXrZr6eW7FIIL9lnU3gjz/%2BKJwNuQLs3btXkydPNh83aNBAn3/%2BebaAOivDMPTcc89ZGjm2b9%2BuqVOnFti2Arh6kApejLVs2VJBQUFKTU2VJLepwA6HQ%2BvXr9fatWu1Y8cORUdHKykpSRUqVNBNN92kDh06qEePHm5T05wr7D744IN69913JUk//fSTlixZot27d%2Bvs2bNKTEy0vJ5VYmKili1bpp9//ll//vmnYmJilJKSojJlyqhWrVpq3Lix7r777lynjMh06dIlLV26VBs3btRff/2lmJgYGYahSpUq6fbbb1fXrl3VunVrt8txVWQsPT1dq1at0oIFC3Tw4EGdP39eZcqU0U033aR7771XPXv2lM2WvY0qLS1NDRo0yPb8sGHDNGzYsGzP16hRQ2vWrHG7ja5kXdePP/7otjDT2bNnNXv2bK1bt04nT56Uw%2BHQtddeqxYtWqhPnz6WjAhvHTp0SMuWLdPmzZt16tQpxcXFKSwsTNWqVVOrVq3Uu3dvVa1aNddl5FRk7OzZs5o7d67Wrl2rU6dOKSkpSZUqVVLTpk31%2BOOPq379%2Bi6XN3fuXI0YMcLyXHp6eo7/zhdffFHPPvusy8%2B3bNlS06dPd7mtzh555BGXy878/JEjR9SlSxfz%2BZUrV6p27douP5PVokWLzFS%2BihUr6scff8w2xtOd5557TmvXrpUk9erVS%2B%2B//77Hn%2B3YsaOOHTsmSXrttddcTkF24sQJzZ8/XxERETp8%2BLAuXrwoSSpVqpSuvfZa3XDDDWrcuLE6duxYIOMcnQPn%2B%2B67T5LUo0cPMyV3%2BfLlev3113Ot0rx8%2BXK99NJLkqTSpUtr8%2BbNCgkJ8Wj948eP1xdffCFJuvXWWzV37twc32u327Vu3TqtW7fOPD%2BnpKSoQoUKql%2B/vjp27Kju3bu7PcZjx441g4RHHnlEo0aNkiRt3LhRS5cu1Z49e3Tu3DklJiZaXs8UFRWlTZs2KSIiQgcOHNCpU6d06dIllSxZUtdcc40aNWqkjh076u6775ZhGB7th0zr16/XokWL9Mcffyg6Olply5ZVjRo11K1bN/Xo0UNhYWGWatt169bVsmXL3C43v/ZdQatSpYpKlixpNvbExcXl%2Bv709HRt3bpVW7Zs0R9//KEjR44oNjZWdrtdZcuWVe3atdW8eXP17t3bq9/P/v37tWDBAv3%2B%2B%2B86fvy4EhISZLPZVLp0aV133XUKDw9X06ZN1aFDB5UpU8bt8mJiYrR48WJt2rRJR44cUUxMjIKDg1WlShU1b95cPXv21K233urx9nniiy%2B%2BMHuZAwIC9O6776pkyZIef/6ll17S%2BvXrFRkZKUmaOnWqHn/8cZe/7UGDBmnVqlWSMq7f/fr1c7v85s2bm8d33rx52WrmONu1a5c2b96snTt36tChQ4qJiVFqaqrKli2ratWqqUmTJnrwwQc9vjZ4IqfzhJRzxfuWLVu6XFbm59evX6%2BBAwdKyjjH//zzzx4fE%2Bdz5W233abvv//eq3%2BPM1f7PjY2VvPnz9eqVat08uRJJSQkqHLlymratKn69OmjRo0a5Xl9ufn555%2B1YsUKbd%2B%2BXefPn1dKSooqVqyo8PBwtW/fXj169MjxepLX44DCRWBdjIWEhKhcuXI6d%2B6cpNwv0n/%2B%2BafeeOMN7d27N9trp0%2Bf1unTp7VhwwZNmTJFH374Ya4XgawuXryo119/3Uy59MS8efM0fvx4RUdHZ3sts/L59u3bNWXKFD311FO5jgVavny53nvvPXM/ODt69KiOHj2qBQsW6M4779SHH37oVTXFqKgovfzyy9nmb46OjtbmzZu1efNmLViwQP/5z38UFhbm8XIL26pVqzRixAizmEumQ4cO6dChQ/r%2B%2B%2B81ZMgQj24gnCUlJen999/XnDlzsqXWxcbGKjY2Vrt379bUqVP1/PPPq3///l4tf926dXrttdd04cIFy/PHjx/X8ePHtWjRIg0bNkxPPvmkV8stLLVr11azZs3MlND58%2BfrlVde8eiz8%2BbNM//u0aNHnoKG%2B%2B67zwysV69erTfffNOjKrk7d%2B40g2qbzaauXbtme8/UqVM1YcIEpaSkZHsts0rv/v379cMPP2j8%2BPFmg1Z%2BOXnypDmWMjg4WJ07d5YkhYeHq169evrrr7904cIFrV%2B/3tK4kVX79u1VqlQpJSYm6uLFi9q4caO5LHd%2B%2BOEH8%2B/u3bvn%2BL7du3drxIgRLofznDp1SqdOndK6dev05ZdfasKECbrppps8Wr%2BUsa9fffVVS8psTkaMGKH58%2BfLbrdney2zunVkZKQWLVqkBg0aaOLEiapWrZrb5SYkJOiVV17Jtg3nzp3TuXPntH37dn3zzTeaNGmSx/%2BuTAW57wpCZhEzSbkGHfv27VP//v1dXtek/%2B27iIgIffHFF3rxxRf19NNP57ru9PR0jRkzRjNmzJDD4cj2eua1d8%2BePVqwYIFmzZplOc%2B4Mm3aNH366adKSEiwPJ%2BcnKyLFy/q4MGDmjVrlnr27KnRo0fny1Rjp06dMs9bktSlS5ccG1RzEhwcrIEDB5r3FjExMVq6dKkefPBBn7fPU1FRUerbt69OnDjh8vXz58/r/Pnz2rlzp6ZNm6bHH39cQ4cOVUBAgN%2B20Rt33XWXrr32Wp05c0aJiYlauXKl7r//frefS09PtzSC5vcx%2BP333zVo0KBsv6XM%2B4aFCxfqiSee0PDhw112kuRFVFSUhg8fri1btmR7LbMI8YYNG/Sf//xH77zzju644458WS8KH4F1MZfZWy0px57mLVu26LnnnlNiYqL5XNmyZVWnTh0FBQVZKo1HRkbq8ccf17Rp0zxqwXM4HBo8eLB%2B/vlnSVK5cuVUu3ZtGYaho0ePuvzM%2B%2B%2B/n20O2TJlyqhmzZoqVaqU4uLidPjwYfOGPGvw5yyzIcDZ9ddfr%2Buvv14Oh0OHDh0yGxw2b96svn37avbs2Spfvrzbf1tiYqKefPJJHTp0SJJUrVo1XX/99bp8%2BbL2799v7vutW7dq%2BPDh%2Buyzzyyft9lsatWqlaSMlL/Mf0e9evVUqVKlbOurXLmy223KD2vXrtVLL71kCXwrVqyo2rVr6/Llyzpw4IBSUlL0wQcfqFSpUh4vNz4%2BXv3799eOHTvM5wIDA3XDDTeofPnyio%2BP14EDB5SWlqbk5GR99NFHio2N9biAys8//6znn39edrtdQUFBqlu3rkqXLq0zZ86Y3zW73a73339f1atXV4cOHSyfv/baa9WqVSslJSWZDSWGYejOO%2B90ub4aNWp4/G8vUaKEeawjIiLM7%2B4//vEPl6mJN998s/l3nz59zMB60aJFGjx4sNsgOTIy0gwaJeW5qFq7du1UunRpXbx4UYmJiVq/fr3LIDkr517EFi1aZPvuzp49W2PHjrU8l/n7CQgI0MWLF3Xs2DHzN%2BHqJt9XCxcuNJfbrl07S8/bfffdp3HjxknK2Oe5BdahoaHq1KmTeeO3dOlSjwLr33//3bxhDggIyHG/btq0SS%2B%2B%2BKLZiyn97zya9fx8%2BPBhPfroo5o%2BfbpuueUWt9uQnp6uF154wfx%2BlS9fXrVq1ZIkl%2BfnAwcOmEG1zWZTtWrVVKFCBYWGhio%2BPl6HDh1SUlKSpIxU3IcfflgLFy50eT7LlJycrP79%2B2v79u3mczabTXXr1lW5cuUUFRWlyMhIHT16VE899ZQGDx7s9t%2BVqSD3XUHYt2%2BfpaGpbt26Ob73/PnzlkAgLCxMNWvWVOnSpZWWlmY2GkgZM4aMGzdOSUlJev7553Nc5pgxY/Tdd9%2BZj202m2rVqqWKFSvKMAyz4eTy5cuS5LKBJZPD4dDIkSOzZWHUqlVLlStXVkpKig4cOKBLly7J4XBo4cKFOnXqlL7%2B%2BmufC7Zt3LjRcv164IEH8rSczp07a/To0ea90fr16/0aWGdWK89UokQJ1axZ0zxXRUVF6dixY3I4HEpPT9e0adN04cIFjRkzpkC3q0KFCmrVqpXsdrt%2B%2BeUX83lXle8l6YYbbpCUcZ574IEHzHuhuXPnehRY//jjjzp79qykjJ5uT65Bnjp27JhGjBhhniNq166tSpUq6dy5czpy5IikjO/y9OnTlZSUpLfeesvndZ46dUqPPfaY5diGhobqxhtvVGhoqCIjI3X%2B/HlJGUF2//79NWHCBHXs2NGynLweBxQuAutiLCYmxtJzV6FChWzvOXXqlAYNGmReOMLDwzV8%2BHDdeeedljS%2B3bt36//9v/%2BnvXv36tKlS3r55Ze1ZMkSt72wK1euVGJioipVqqSRI0eqQ4cOZmuq3W7PNs3NzJkzLUF13bp1NXToULVq1crSCpuSkqJff/1V8%2BbNy7EFce3atZag%2Bu6779ZLL71kuVmx2%2B1avXq13nrrLcXExOjIkSMaOXKkPv3001z/XZL0ySefKC4uTk2aNNHIkSMtPR1xcXEaNWqUmR62du1aRUREWKZPsdlsZmV35xTzfv36Fdo81ufPn9drr71m3pSUL19eb731ljp27Gju5/j4eE2aNEnffvutxowZ43EL7uuvv24G1SEhIXr%2B%2BefVt29fy3fowoUL%2BvTTT/Xtt99KyujVvP3227MFwVnZ7XazpsCAAQP09NNPWwLWHTt2aNCgQebFecyYMdlSVVu3bq3WrVtb0radj5EvKleubC7HeR7rYcOGuZ3HulOnTipXrpzi4uJ07tw5bdy40e3%2BcO5FatKkSZ5TBIODg9WpUyfNnz9fUkbA7O6mJj09XStWrDAfZ%2B2JTUlJ0fjx483HnTp10rBhw1S9evVsyzp06JDWrFmTbZ7p/LB48WLz78w08Ezdu3fXRx99JLvdrp9%2B%2Bknnz59XxYoVc1xW9%2B7dzcD6xx9/VHx8vNsU2aVLl5p/t2zZ0uXyjx07psGDB5s3ffXr19fw4cPVokULy3d3586dGjVqlP766y9dvHhRQ4YM0cKFC92mWS5dulSJiYm69tprNXLkSLVv3978Paenp%2Bv06dOW9wcFBal79%2B7q2rWrWrRokW35ycnJWr58ucaNG6fo6GidO3dOo0ePzrWnefLkyZagukuXLnr99dctqcsHDhzQqFGjtGPHDn300Ue5/psyFfS%2By29paWmWf1uZMmV011135fqZWrVqqXfv3mrfvr3q1KmT7fVDhw5p0qRJ5u9x8uTJuvvuu1323h4/flwzZ840Hz/22GN69tlns2Vw2e127d27VytXrtSff/6Z47ZNmTLFElQ//PDDGjBggFkcUMo4F8ydO1djx45VcnKyfvvtN02aNClbfRhvOX%2BfgoKC8jwneIkSJXTbbbeZHQP5nTXjiSpVqqh3797q0KGD6tWrl%2B16e/r0aU2ZMsU8dgsWLFDHjh3Vvn37AtumW2%2B9VV9//XW2%2BZNzq3yfqXfv3vr8889lt9v1%2B%2B%2B/6/Dhwy6/u86cr2fdunXL19/m22%2B/rUuXLum2227Tu%2B%2B%2Bawk%2BDx48qBEjRpj3Ld9//73uuOMOjzOSXLHb7Ro2bJgZVNtsNv373//W008/bd4L2e12rVmzRm%2B99Zaio6OVmpqqYcOGaenSpZYMIF%2BOAwoPxcuKsRUrVlh6ev7xj39ke8%2BoUaPMXqHbbrtNc%2BbMUatWrbKNjWvYsKFmzJhhjjc9efKkpWU7J4mJiSpTpoxmzpypzp07W4LjzB6PTFFRUZYxnE2aNNF///tf3XXXXdlSm4KDg9WmTRtNnDhRr776qsv1Oo%2BXfeKJJzR58uRsPQA2m01dunTRjBkzzJP1mjVrLBfmnMTFxalFixaaNm1atvTBcuXKafz48QoPDzefKw6FkCZOnGh%2BH0JDQzV16lR17tzZcjEvU6aM3njjDfXv319JSUmW3qCcLF%2B%2B3BwfHhoaqm%2B%2B%2BUb9%2B/fP1jBTtmxZvfHGG3rxxRfN58aNG%2Be2x9LhcOjChQsaPXq0XnrppWy9wLfddps%2B/fRT83t94sSJbOn7RVVwcLB69eplPnaXepmWlmaZQsrXKcCcA%2BNNmzZlS7PP6pdffjFb20NCQrKNLf/999/N71jNmjU1YcIEl0G1lNHCPmDAAEsQmh%2B2bdtmpqqXK1dObdq0sbxepUoVsxEsLS3N7TjeFi1amL2yKSkpZoNaTtLS0rRy5UrzcU5p4G%2B88YbZ6NmsWTP997//VcuWLbOdnxs1aqRZs2aZN4WRkZEejUFMTExU%2BfLlNXPmTHXo0MHyOw8ICMiWxp2ZAdS%2BfXuXN7chISHq1auX5Xy6du1aHT9%2B3OX6z507Z2m46tq1qz7%2B%2BONs44HDw8M1bdo0NWjQQLGxsW7/XVLB77v8kJaWpqioKK1YsUL//Oc/zQDOMAyNHDky14ygpk2bauXKlXr66adzDExuuOEGffzxx%2BY5ID09Xd98843L9/70009mD3SrVq00YsQIlzfnNptNDRs21NChQzVlyhSXy4qMjNTEiRPNx2%2B%2B%2Baal4n6m4OBgPfLII5o8ebL53Zs6darZAJpXzkPawsPDfUovd85eiI2NNTMc/KF69epat26dXnjhBdWvX99lI/Z1112nUaNGWTI5smb8FSXXXXedpZ6Nu%2BvZ%2BfPn9eOPP5qP83tKy9jYWDVs2FDTp0/P1qN74403muedTGPGjPGpQvzSpUst2WRvvPGGBg8ebLkXstls6ty5s6ZNm2aeAy5dupQtywvFE4F1MXXkyBHLhS04OFht27a1vOevv/4y52wNDg7WRx99pBIlSuS4zJIlS%2BrNN980H3t68/HCCy%2BoZs2abt/37bffmmlwpUuX1vjx4z1KNXb1ngULFpg3YHXr1nWbTnzDDTdY5qydPXu22/UGBgZqzJgxOV60AwMD9eijj5qPC6O12xuJiYmWAOapp56ypCRn9cILL3icDp1ZDErKKIjlruDcgAEDzF7WyMhIl%2BOQssosepaTf/zjH5bhC0X9eDh76KGHzL83bdpk9ni7snHjRjNFtHTp0rmmMXuiefPmZqCTmprqNmh0DkLbt2%2BfrfHkzJkz5t%2B33nqrR2O/83vMoHPDQ%2BfOnV3%2Bhp17sd01imVN5XYXiG/evFkxMTGSMnrFsqb4SRnDQzJTtEuUKKEPP/ww16JoYWFhGjlypPnYk3OYlFGkyZNx0FLuY36d1alTx/zO2u32HMdvL1y40BwyU6pUKY0cOTLHgmclSpTwOA3TX/vOGy1btlS9evUs/zVo0EBt2rTR4MGDzQrgN954oyZPnpwtiyKrEiVKeFwcbsiQIebvLKdj4XxOuf322z1abk6/y2%2B%2B%2BcY8rh06dNA///nPXJfTqlUrs3EpNTXVbbDljnPji6/zT2dtDMj83fpDcHCwx2nxzzzzjNkQsnXrVrMQZFHkfD1bvHixZchiVgsWLDDrDoSHh%2Bd7kTvDMPTOO%2B/kWDukRIkSGj16tPlbO336tDZu3Jjn9c2aNcv8u0mTJpZ7xKzq1atnKZC6bt26bFlEKH4IrIuRlJQUHT58WF9%2B%2BaUeeughS7GyRx99NNs4R%2Bf0yg4dOritwixJjRs3Nt935swZs2JmToKCgiy9bblZvny5%2BfcDDzzgUxVg53/bI4884tGNuXOv0W%2B//eb2/a1bt3Z70Xa%2BQTl69GiRngtzy5YtZu%2BzzWZzezMUHBxsuUDm5NChQ2YPQlBQkNvlZq7/3nvvNR97cjw82RbndKnDhw%2B7fX9RUadOHTOdMT093RIYZuV8U3rvvfd6VGwsNzabzTIFVW69x0lJSZbK9a56Yp0DnAMHDhTI%2BOncJCUlWVLVcwpgOnfubO67/fv3uyx%2B5cx5OREREbk2fjjvw7vvvttl46DzOaxLly4enQ9btmxp9pwfO3bM7U1YaGhorkXTfOGcIbV7926X73HuiercubPb9MWGDRu6nEkhK3/su4JQq1YtPfzww2revHm%2BLrd8%2BfJmI2hcXJyZreHMuXHJ3Xc9N3a73dKw9Pjjj3v0OW%2BvvzlxOByWuivuptdyJ%2BuQDncZO4UlMDDQ/G04HA7t2bOnkLcoZ%2B3atTPvR8%2BfP59roJo5DEnK/95qKeOewF3BwltuucXSKO9cGM8b0dHR2rlzp/n4sccec/uZhx9%2B2LwOpaen%2BxTUo2hgjHURFRER4fF0R23atNGQIUOyPe%2Bc7uzNhTw8PNxMh9q3b59Z7Can93pyYXMutCLJ5dREnrp8%2BbI59ZLk%2Bb%2BtatWq5lQnZ8%2BedTuu0pPibc5TWjkcDiUkJKhs2bIebY%2B/Od/8hoeHe1QsrU2bNtmKw2XlnHLdoEEDj290nNP2XVWrz8rb45Fb0bui6KGHHjJTyObPn6/%2B/ftn67E6e/asmYUi5d%2BNyH333WdOvbJ161adOXPG5XRt69evN9Nvy5Ur53IKO%2BfUyr/%2B%2Bkuvv/66XnnlFZc1IArCmjVrzArFVatWzbF3LiwsTO3atTOD8AULFuj111/Pcbm33HKLateurSNHjshut%2BuHH36wzIWb6fLly1q3bp35OKfANq/n57p165oZC3v37s3W4%2Basfv36eR6vuHPnTu3YsUOHDh1SfHy8WYQqk3OvoatGBrvdnqfzdPPmzd2eD/yx77yVU0GhxMREHT9%2BXOfPn1dkZKTeeecdff755xo7dqxHU0BKGft68%2BbN2rdvn6KiopSYmJitF9A5vToqKipbtpHz73LVqlWaOHGinnrqKa9nszhw4IB5bg0KCrI0ZubGediU8/fCW6mpqZaiar4WQsv6%2BczifP6WmJiozZs3a%2B/evTp16pQSEhKyzajg3CCSW8NeYcssYvb5559LymgMdpW1s23bNrPzJjg42G0WR15kFhV1p3Xr1uZY67w2Wuzatcv82zAMj9YdFhamJk2amMNE/vjjD486J1B0EVgXY%2BXLl1e/fv3Ur18/l2Nz/v77b/PvOXPmeDxHsvN82O7Gu3maYphZfTGTJ70SuS3LecqSt99%2B2%2BMCW86fi42NzTWwzu21TFl7C5OSkopsYO3ci5FbNVpnderUUUBAQK498c7fsxMnTng8RZdzxoUn4yo9OR7OQx0K6wYpr7p06aJ3331XcXFxOnr0qCIiIrIFDQsXLjS/wzfffLNPvyNn9evX14033qiDBw/K4XBo2bJlLqfuce6pyinFunr16rr77rvN4HLBggVaunSpmjVrppYtW6px48Zq2LBhvky744pzb3/37t1zTaft3r27GVgvW7ZMw4YNyzV1vXv37uYQnGXLlrkMrNevX29mhpQvXz7HqvPOv5sZM2Z4NF%2Bz5N35Oaex7blZs2aNxo0bl%2BOsDq5knWpJyvh9O9dncFfAyJv3%2BWPfectdQaF9%2B/Zp3Lhx%2BuWXXxQdHa2BAwdqypQpOc5JK2WkJY8bN05Lly7NNZ02K1dpwq1atTJ/45L02WabZUoAACAASURBVGefaerUqbrzzjvVsmVL3XbbbTmO83WW%2BXkpI3hwNc%2BuK87XkPj4eKWlpeVpisDg4GCFhoaa53fn2U7yIut315uZMPLDpUuXNGnSJH3//fce1TPJVJRTwaWMRt8vvvjCLBAZFRWVLbPEufhdZhHP/ObcoJMb53sib859zpzvsapWrepxo1V4eLgZWLvKNkHxQmBdRJUtWzbbXNLBwcEqXbq0qlatqkaNGqlly5Y53pympaVZLhie9Ai64u7k7elFyDm9qmTJkj6lr2adr9t5GgJvuPu35aUl3N9pr95w7sH19AIWFBSkUqVK5dr763w8zp8/b14gvOHqxtxZQECA1%2BNwi/KxcCU4OFg9evQwiw/NmzcvW2DtnDaX39PCdO/eXRMmTJCUkcqcNbC%2BcOGCNm3aZD7OrXfhvffe04ABA8wegNTUVHPedymjAaR58%2Bbq0aNHtqKHvoiKirKcD9z1gLRp08asyB4dHa1NmzblWm33vvvuMwPrvXv36tChQ9kK4jingd9zzz0uzyNZexzz2kPi7nfjbZAwadIkj2ZMyMrVXOVZz6%2BeZrK4q7bur32X326%2B%2BWZNmTJFTz75pCIiIpSamqrXXntNq1evdnkdP3nypB599NFsM2t4wtXxCAgI0OTJk/XMM8%2BYgcPly5e1du1aM/W1TJkyat26te6///4ce9ucz/cpKSl5Ot9LGfs/r4FU2bJlzcA66/2At7KmfhdEcJfbuv/1r3/lqQff1TEuSqpWrao777xTP/30k9LT07VgwQINHDjQfD0hIcFSz6Ogpjnz9Hg6vy85OVnJycm51m1wxfmc58mUrq7eW9wy7ZAdgXURVa9ePZ%2BmAcqch9JXuc1jKcnjnmLni4CvPVXetOrmxt2/7UrjfAy8aTRwd7zy47t2tR2LnPTp08cMrFevXq2RI0eagcZvv/1m3hCHhobme9rcvffeq48//lgOh0P79%2B/XwYMHdeONN5qvr1q1ygxockuxljJuUmbNmqXFixdr1qxZ2r17t6Wh4/Lly9q4caM2btyoG2%2B8UR999JHbcXCeWLx4seW71LdvX7efcQ6wFi1alGtgXb16dTVq1MgcR7ds2TJLhfu4uDhLoJHTMSpq52cpowaDc1Bdo0YN9e7dW7fffruqVaumMmXKKDQ01MwA2LBhQ669lXlt2HL3OX/tu4IQGBioQYMGmQWNTp8%2BrbVr17qc4m7o0KFmUB0YGKh77rlHd999t%2BrWrasqVaooJCTEcm6%2B//773Tag16xZU0uWLNHs2bM1Z86cbHUo4uPj9cMPP%2BiHH35Qs2bNNG7cuGxDQorC9bd69epmKrRzFkJeOH/eZrPleerCvHj77bctQXX79u3VuXNn1a9fX1WqVFHJkiUtx3jQoEFui0sWJX369DGHLs2fP18DBgwwzx9Lly41f8vVq1dXixYtCmQbPL3XyXqfk5KS4nVgnR/3WEW9wQTuEVhfoUqVKiWbzWZevGbNmuVxJdCC4Nxb4WvqlnOPRlBQkP744w%2BvbiCvVs5pSd4cA3fvdT4evXv31jvvvOP9xkFSRvX622%2B/Xdu3b1dSUpKWLl2qRx55RJK1aFnnzp19LtqTVbVq1dS4cWNz/OrSpUv10ksvma8798Tee%2B%2B9bisW22w29erVS7169VJ0dLR%2B%2B%2B03bd%2B%2BXVu2bNGhQ4fM9x08eFBPPPGEFixY4FGBxdxkLfrmbW/W%2BvXrFRcXl2svx3333ZdjYL1y5Uqz8aFatWo5VsfP2is7f/58yxjYwvDFF1%2BYfzdr1kxTpkzJNbPIm/OC5Hnqqrv3FcV9541GjRpZrs3bt2/PFlhv27bN/B0ahqHJkye7nfPa03N6aGionnzyST355JM6ceKEtm7dqoiICP3666%2BW3vGIiAg98cQT2eb8dt7/4eHh%2BT5VnicaN25s1vY4d%2B6cTp8%2Bnefx8s61R%2BrUqeNzMchM7hqITp8%2BbRnC8Oabb7odW%2BvrvZO/tWvXTpUqVdK5c%2Bd0/Phx/frrr%2BbQB%2Bfr2YMPPuhxBXxvebrPnN9nGEaehgTk9T7XuXE3v6/r8D%2BikSuUzWazpJfkdcxIfsmsxiplpIWeOHEiz8tyLoKUmpqap1S5q5HzfvN0rs6YmBi3PUTO4woL%2B3t2JXCufp6Z%2Bn3x4kWtXr3afL4gqqdK1kJbzjd9UVFRliJ13laarlChgrp27aqRI0dq%2BfLlWrFihSX1Ly4uzhLY5cUff/xhCdjzIjU1VT/88EOu77nnnnvMsaHHjh2zFKxxDjJy20fBwcGWhq7C/t2kpKRYju%2BwYcPcBhju5iIuV66cJSDztEq/u/cVtX3nraCgIMt%2BcbUfnYcz3HXXXW6DaofDYc4t741q1aqpV69eGjNmjDZs2KC5c%2Bda1hUZGak5c%2BZYPuN8HTlx4kShzISROYNCJne/2ZwcOHDAMl4/65SlmZx7H53rtOTEbre7bSD65ZdfzOC7bt26HhWs8nX%2Bb38LDAzUAw88YD7ODKb3799vDuEICAjweGaZvPD0Xsf5nrR8%2BfJ56qxxvuc%2BefKkx1k7x48fN/92N3MCij4C6yuY83QonswTXJBuuukmS1qN802ct2rXrm0pEFbY/zZPOJ%2BkC2vsb/369c2/9%2B7d61EqXubcq7lxrta9c%2BfOfEsVLCgFfSx8zZ645557zO/33r17tW/fPi1ZssQcU1irVq1sN5b5xXlM8IkTJ8y5wJctW2Z%2BX2666SaPi9/lpE6dOnr33XctwWdex2pmcp6LumnTpvrrr788/s95LtHcpjqTMm58nAuSZQbTp0%2BftlSrdtf44Py7Kexz2Llz58ye9oCAAI%2BK4mWOn8%2BJzWbTzTffbD72dIqlzPmpc1OU9p23UlNTLedIV%2BmmzlOBZa214sqBAwfyZcz4rbfeqs8//9wyl3DW36XzfcWlS5cs0wv5y5133mmZCnPOnDl5SqGdOXOm5XFOv1nn3ktPpuM6dOiQ2%2Burt8c4Pj7eUjjOH/IjE7B3795mb/SaNWt04cIFS291mzZtfJp61Z2cpgLM7X3O5y1vOJ83ExISPG5MdG6cdbVuMjKLF47WFcy5%2BMiaNWsUHR1daNsSHBysJk2amI%2BztoJ7w2azWcbjfP/99z5tmz84V6tOTk4ulG1w3v%2BxsbH69ddf3X7Gk56AZs2amcFYSkqKJcApipyPhd1uz/cxTb5WJg8JCbGMzZ03b16BFi1zVq5cOct5IzNodO69zs95kTt06GD%2B7cv5KSUlRcuXLzcfd%2B7c2avPd%2BnSxfzbk55v532wfPlypaena9myZWZDTYMGDbIVNcvKOThfsWJFoc6f60kvnLOYmBiP5lt17v1cvXq120rce/fu9agYWVHad97asWOHJehyNfzBmwrgkvvGIG8EBASoXbt25uOsv8vKlStbKi0XxvU3ICDAHKcuZWQteFuTZs%2BePZb7kDZt2uRY58E5zfzAgQNul%2B083V5OvD3GS5Ys8XtdgNDQUEtQl5frWbVq1czfa3JysubNm2fJ7Cmo7KtMa9eudXuNT0lJscxdnddhk1mnn/VktoLdu3dbZs1xvk/LlB/HAf5DYH0F69mzp9nzdfnyZY0ePbpQt8f5Qrh9%2B3afArB//etf5t979uzJ1vJc1DinwhfWdAr16tWz9FpPnDgx1wv1gQMHPAqsy5Ytq549e1qW62n6VWEoV66cJbXPOQ0rPzhPC5bXY92nTx/z73nz5plFiQIDAws0bU6yFtxauXKl/vrrL7PAjs1m07333pvr573JAnDuufNlmrrMsdFSxvi4Tp06efX5evXqWYoWuQtUOnToYKbzRkdH65dffrHcLHpSWO7BBx80e8ISEhIKtTZBhQoVzF6l9PR0Sw%2BKKx988IFHDVK9evUyf2vu/o1JSUl68803PdreorTvvJGWlqZJkyZZnnM1l7Xz9cJdZsChQ4c8uv7l5%2B/y8ccfN/9etmyZz9kmefHoo49aMmc%2B/fRTjwJaSTpz5owGDRpkXv9CQkL02muv5fh%2B517EiIiIXBuIYmJi9O2337rdhsqVK5t/79ixI9fjExMTo88%2B%2B8ztMvObYRiW1P%2B8Xs%2Bchzd98skn5rm6UqVKboc5%2BCo6Otrt8Zg2bZp5TG02m%2BV%2BxhuBgYGWz3777be5pu87HA59%2BOGH5uOqVavqjjvuyPa%2B/DoO8A8C6ytYqVKl9MILL5iPV65cqaFDh7otqhAfH69vv/1WQ4YMydftadeunaUlcOTIkW5vYHMK7ho3bmy5eX733Xc1ffp0ty26J06c0NixY/Xll196ufW%2Bcb4wL1%2B%2BXOfOnfPr%2BjM988wz5t87duzQ6NGjXY6RO3XqlJ577jmPx889%2B%2Byz5g1YXFycHn/8cbcVau12u3755Rf169fPrxeKwMBAS4/LN998k689Ac7pYPPmzctTimbdunXNwlfOGQ5t27b1aD5vX7Rv394MWmJiYjRy5EjztaZNm2arEpzVF198odGjR2ebuz6r2NhYSy%2BTL%2BntzueRRo0a5Sm10LmXO2t18axKlChh6W2fNGmSWV3YZrO5rPKcVZkyZSwp6EuWLNHrr7/udijFhQsXNG3aNL366qtu1%2BGpsLAwyznq/fffd7kddrtdEyZM8LhRtFKlSpZ57ZctW6aXX345283m33//rSeffFJ//PGHR9PUFKV956l9%2B/bpmWeesaS6N23a1GUPVbNmzcy/f/755xwrQR8%2BfFjPPPOMR1lQo0aN0sSJE81q2jmJjIy0zC/savt69uxpNtLa7Xa98MIL5nzwudm/f79ee%2B01S3ZJXoWEhOjDDz80U%2BnT0tL04osv6quvvsr1urVlyxb17dvX0vg7YsSIXOdPb9mypVm0LTk5We%2B8847LQDg2NlbPPvusR9k3zue7I0eOaPr06S7fd/bsWfXr108xMTFul1kQnM8LM2fO9LqnXcq4pmQ2Fjl/V3v16pWnucy99fHHH2vDhg0uX1u7dq05haIkdevWzTLMwFtPPPGEmbWWkJCgAQMGuDx26enpevfddy2Zg/37988x7Ts/jgP8g6rgV7jHHntMO3fuNFNSlixZok2bNql79%2B5q3LixKlSoIIfDoQsXLujgwYPauXOntmzZotTUVDVu3Dhft8UwDH344Yd64IEHFBMTo9TUVA0fPlyzZs1S165dVadOHZUsWVJxcXHav3%2B/fvrpJ%2B3cuVMPPvigunXrlm15Y8aM0cGDB3X48GGlp6drzJgxmj17trp166YGDRqobNmySk5OVkxMjP78809t3brVHDOc2zQxBaFz584aO3asWWytffv2atCggcqVK2eeSCtVqqS33nqrQLejW7duWrx4sX788UdJ0uzZs7Vr1y717t1bderUUXJysrZt26bZs2fr4sWLatq0qSIjI902BFx//fUaN26cnn32WaWlpenEiRN64IEH1LZtW7Vu3Vo1a9ZUaGioEhISdPLkSe3Zs0c//fSTuVx/jzu/9957zcD/v//9r9avX6/w8HBLwabu3bvrnnvu8XrZ3bp107Rp0yRlpLa2bt1aDRo0UOnSpc1ewZtuukmDBg3KdTl9%2BvTJ1ltV0GlzUkbaWadOnczgybn30pM08MuXL2vmzJmaOXOmGjRooObNm%2Bvmm29WxYoVFRwcrNjYWO3atUvz5883b0ADAwOzzZvtqejoaHNKF8ma1u2NLl266D//%2BY%2BkjGJtW7ZssaQcZ9W9e3ctWbJEknUftWjRwtIblZt%2B/frpjz/%2BMAOn%2BfPna/369erevbtuu%2B02VaxYUXa7XRcuXNDff/%2BtHTt26LffflNqaqpZXTe/PP744xo%2BfLikjFoJPXv2VN%2B%2BfVW/fn2lp6fr4MGDWrBggf78809JGb3GzmMlc/Lcc89p69at5vjzH374QStWrFB4eLjKli2rs2fPmo0wFStW1ODBgzVixAhJuU/1V5T2nSS99NJLLoOES5cu6fjx49nOodddd53ef/99l8tq06aNatWqpcjISEnS4MGD1bNnT7Vv317ly5dXTEyMfv75Zy1cuFApKSm69dZblZSUlGua8oULFzRnzhx9/vnnatKkiW6//XbVq1dP5cuXV2BgoM6ePatt27Zp4cKFZgNFuXLlXBbVCgoK0qRJk9S7d2/Fxsbq0qVLGjx4sL7%2B%2Bmt16tRJ9erVU6lSpXT58mWdO3dO%2B/bt0%2BbNm80xp/k1tdJNN92kL774Qs8995w5v/m4ceM0e/Zsde3a1TzvXLx4UceOHdOaNWss9V0Mw9Arr7xi6VF1JTg4WI888og%2B//xzSRkNRKdPn9ZDDz2katWq6eLFi/r99981Z84cxcXF6a677tKuXbtynZUgPDxcLVq0MAOr999/X9u2bVO3bt1UuXJlXbhwQdu2bdOcOXOUkJCgatWqqXr16n6vKXDvvfea9wurV69Wq1atdNNNN1nGnbdt2zbXfRgUFKRevXpZOjQMwyjQYU2Z7rnnHq1YsUIDBw7UPffco44dO5qVytesWaMVK1aY9x/XXHNNrpkLnqhevbqGDh1qZoju3btX3bp108MPP6xGjRopJCREhw8f1ty5cy1TrbVq1cqSqZZVfhwH%2BAeB9VXggw8%2BUMWKFc0W0bi4OH333Xf67rvv/L4t119/vWbPnq1nnnnG7KXctWuX29RDV8LCwjRr1iy9%2BOKLZmGcyMjIQkmZcqdy5cp6/fXX9fbbb5vjerMGTTVq1PDLtowfP97sHZIyelJcBfSZwXJuJ3tnd911l7766isNHjxYcXFxcjgc2rBhQ44txYXp0Ucf1fr167V161ZJGcWbst745nUKn4YNG6p///7mTcSlS5fM9WTypMDbPffco/fee0/x8fGSpCpVqrhMGy0I3bt3z9YrGRwc7PXY5b1797rNXAgMDNSYMWMswxS8sXTpUssYYW/TwDPVr1/fEswsXLgw18D6zjvvVIUKFbL1TnkzBt0wDI0fP17vvfeemc4bGxurb7/91qN00vzUs2dPbdq0ycwQOnr0qMaMGePyvS%2B88IIaNGjgUWAdHBysL7/8UkOGDDHHZdvtdu3fv9/yvpo1a2rSpEmWTAfn6t9ZFaV9J8mjmhWZ7rrrLr311ls5ThEVEBCgjz76SI899pguXboku92uBQsWaMGCBdneW7VqVX388ceW7LTc2O12RUREuC0SV7p0aX322WeWFFRn1atX15w5czRw4ECzqNbu3bs9LhaVX1q2bKnvvvtOr776qtmwcOLECbdZaZUqVdK7777rcSrygAED9Msvv5j3Ktu3b7cUK8xUv359ffjhh%2BrYsaPbZb733nt66KGHzIrua9eutYz1zVSuXDlNnDjR55kT8qJ79%2B5avXq11qxZIynj/jHrd91dFpOUkQ4%2BZcoUM4ht2rSpatasmf8bnMVTTz2l9PR0rV69WsuXL88xW6J06dL66quvcvy%2Be%2BORRx5RQkKCxo8fLykj82vy5Mk5vv%2BOO%2B7QpEmTcp1yLL%2BOAwoeqeBXgYCAAL322mv6/vvv1bp161xTbwzDUIMGDTR48GBNmDChQLanVq1aWrx4sQYNGpTr1AJBQUFq27atZbqGrMqXL6/p06fro48%2ByrHwSKbg4GDdcccdeueddywp0f7St29f/fe//1Xv3r0VHh6usLCwQqn2GBYWphkzZqhfv34up9QJCAhQp06dNH/%2BfK/nBm3ZsqVWrFihp59%2BOte5gKWMG5sHHnhAM2bM8MsF1llwcLCmT5%2Bu9957T23bttW1116bb/OXStKQIUM0ffp0de/eXbVq1VLJkiW9nqczNDTU0thy//33KyAgIN%2B2MTctWrSwjPOUMlrDs84h7ErXrl31yCOPuG0oCgwMVLt27bRw4UKPxiTnxLkB4NZbb/Upjc%2B54WDNmjW5pvEHBARkS/kOCQnxOrAPDAzUqFGjNHPmTN155525HmObzaZbbrlFQ4YM0dixY71ajyc%2B/PBDPf/885bpoJzVqlVLn376qZ5//nmvlhsWFqYvvvhCkydPVqdOnVSlShUFBQWpUqVKaty4sUaOHKkFCxaoXr16loYKd2nhRWnf5SQ0NFSVKlVS06ZN1a9fPy1atEhffvml23PrLbfcotmzZ1sqdDsLDg5Wjx49tGjRIo/mf3/00UfVq1evbL9rV9vbq1cvLVu2zGUauLMaNWpo4cKFGjFihKpVq5bre8PCwtShQwd98sknecoEyk2DBg20aNEivf3227rlllvcnmtbtmyp1atXezW%2BNzQ0VFOnTtUDDzzg8rodGhqqvn376vvvv/foPCllNIrMnTvXUjDSWWYhucWLF3tUqb8gGIahSZMmacKECerYsaOqVq1qKdDpqeuuu86yX/yRfSVlbP8nn3yiQYMG5XhcWrdurUWLFuXrPv73v/%2BtGTNmWGYwyKpKlSoaNWqUvvrqqxzPuZny6zig4BmOwpr7B4UmISFB27dv1%2BnTpxUXF6eAgACVKVNGNWvWNFPD/MVut2vPnj36%2B%2B%2B/FRMTI7vdrrJly6p27dpq2LCh25NNVlFRUdqxY4fOnz%2Bv%2BPh4hYaG6pprrlHt2rVVr169fA2ergQJCQn65ZdfzPFmVapU0e23354v01/Y7Xbt3btXf//9t2JjY5WSkqKwsDBde%2B21uvHGGy3FopDd4cOHzRtQwzC0Zs0aVa9evZC3yjvnzp3T/v37deLECcXHx8vhcCgsLEw1atRQw4YN/XquKS4uXrxonp8vXLiggIAAlS1b1jw/u2uwyq9t%2BO2333Ts2DGlpaWpcuXKuuGGGzyaFshXr732mtkzO3jwYA0cONDjzxaFfVcQ9u/fr507dyouLk6lS5dWlSpV1KxZM48DuKyOHz%2BugwcP6tSpU7p48aIMw1CZMmVUp04d3XLLLZb0Um8cOXJEe/bsUXR0tC5duqSSJUuqYsWKuuGGG1S3bl2/jKeVMs47u3btUnR0tGJiYpSWlqYffvjBzIYICAjQxIkTLXUSvHH%2B/Hlt2bJFUVFRCgwM1HXXXWcZh50XkZGR2rZtm6Kjo1WiRAlVrlxZTZo0KfCaGv6ybt06sy5C2bJl9dNPP7mcai4/NG/e3EzDnzdvnnneSk5O1q%2B//qoTJ04oMTHR3MfuGoV8derUKW3fvl3nz59XamqqrrnmGtWrV8%2BjRiAUPwTWAFAEjR07VlOnTpWUkXac%2BTdwpbp48aLuuusus8Dm9OnTC2Q8NK4%2Bp0%2BfVt%2B%2BfXXq1ClJGdklU6dOddsrj/zx73//2xwK8thjj5l1FApCToE14A%2BkggNAEXPhwgVLZV5XBYSA4sKT9nu73a5Ro0aZQXXVqlXVvHnzgt40XCWuu%2B46TZ061Rx%2BlpycrIEDB3o0LzV8c%2BDAAbPwliQ9/PDDhbg1QMEisAaAIuTy5csaNWqULl68KEmqXbu22rdvX8hbBeTd008/rc8%2B%2B0yHDh1y%2BfquXbv01FNPWQoLDRw4sFBqUODKVbt2bX399ddmUbz4%2BHg9/fTTZi828l9MTIxGjBhhNq61a9dON954YyFvFVBwqAoOAIVs%2BvTpioiI0OXLl7V//37LvJdDhgzxW9EyoCBERUVp4sSJmjhxosqVK6caNWooLCxMly9fVmRkpGJjYy3v79y5s9%2BKG%2BHqcvPNN%2Bvrr7%2B2TNH3%2B%2B%2B/%2B1T0EFZjx47V0aNHdfHiRe3du9fMQgkMDNTgwYMLeeuAgkVgDQCFbM%2BePVq3bl225/v06ePRtC1AUeZcoCcuLi7H%2BX0DAwP12GOPaejQof7aNFyFGjVqlGu1Zvjmt99%2BcznN4tChQ93O3gIUdwTWAFCElCxZUnXr1tVDDz2U61RzQHHx3XffacOGDYqIiND%2B/ft16tQpJSYmyjAMs2p3s2bNdP/99xe7yvcAcla6dGndcsst%2Bte//qW2bdsW9uYABY6q4AAAAAAA%2BIDKIAAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANAAAAAIAPCKwBAAAAAPABgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANAAAAAIAPCKwBAAAAAPABgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANAAAAAIAPCKwBAAAAAPABgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANAAAAAIAPCKwBAAAAAPABgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANAAAAAIAPCKwBAAAAAPABgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANAAAAAIAPAgt7AwrTuXMXC3sTrng2m6FrrimlmJhE2e2Owt4cFHF8X%2BAtvjPwBt8XeIPvS/FSqVLpwt4EXOXosUaBstkMGYYhm80o7E1BMcD3Bd7iOwNv8H2BN/i%2BAPAGgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAH1zVVcEBAAAAw8heoCzzKcNw/bovHA6qjANXGgJrAAAAXLVKlEiUYcRnez6jGniwQkJSFBSUv4Gww1FGly%2BXytdlAihcBNYAAAC4KhmGIcOIl8OxRVKy5TW7PSOwtttT8rmHOUSG0VKGEUbPNXAFIbAGAADAVS5ZDkeS5ZmM9G/H/72WfwFwPmeVAygiKF4GAAAAAIAPCKwBAAAAAPABgTUAAAAAAD4gsAYAAAAAwAcE1gAAAAAA%2BIDAGgAAAAAAHxBYAwAAAADgAwJrAAAAAAB8QGANAAAAAIAPAgt7AwAAAABnhmH4aT1%2BWQ2AqwCBNQAAAIqMEiUSZRjxflqbTYGBqUpN9dPqAFyxCKwBAABQJBiGIcOIl8OxRVKyH9ZYRoYR7of1ALjSEVgDZFzvmQAAIABJREFUAACgiEmWw5FU4GsxjJACXweAqwPFywAAAAAA8AGBNQAAAAAAPiCwBgAAAADABwTWAAAAAAD4gMAaAAAAAAAfEFgDAAAAAOADAmsAAAAAAHxAYA0AAAAAgA8IrAEAAAAA8AGBNQAAAAAAPiCwBgAAAADABwTWAAAAAAD4gMAaAAAAAAAfEFgDAAAAAOADAmsAAAAAAHxAYA0AAAAAgA8IrAEAAAAA8AGBNQAAAAAAPiCwBgAAAADABwTWAAAAAAD4ILCwNwAAAABFl2EYflyX31YFAPmKwBoAAAAulSiRKMOI9%2BMabQoMTFVqqh9XCQD5gMAaAAAA2RiGIcOIl8OxRVKyn9ZaRoYR7qd1AUD%2BIbAGAABALpLlcCT5ZU2GEeKX9QBAfqN4GQAAAAAAPiCwBgAAAADABwTWAAAAAAD4gMAaAAAAAAAfEFgDAAAAAOADAmsAAAAAAHzAdFsAAADFhGEYflyX31YFAMUegTUAAEAxUKJEogwj3o9rtCkwMFWpqX5cJQAUUwTWAAAARZxhGDKMeDkcWyQl%2B2mtZWQY4X5aFwAUbwTWAAAAxUayHI4kv6zJMEL8sh4AuBJQvAwAAAAAAB8QWAMAAAAA4AMCawAAAAAAfEBgDQAAAACADwisAQAAAADwAYE1AAAAAAA%2BILAGAAAAAMAHBNYAAAAAAPiAwBoAAAAAAB8QWAMAAAAA4AMCawAAAAAAfBBY2BsAAAAAXF0MGUbG//3B4XD4ZT3A1YzAGgAAAPCbQAUGOhQaelqSfwJeh6OMLl8u5Zd1AVcrAmsAAADAbwJkGAlyOHZLSvbD%2BkJkGC1lGGH0XAMFiMAaAAAA8LtkORxJBb4Wwz/Z5sBVj%2BJlAAAAAAD4gMAaAAAAAAAfEFgDAAAAAOADAmsAAAAAAHxAYA0AAAAAgA8IrAEAAAAA8AHTbQEAAOSR4ae5jJgyCQCKNgJrAACAPChRIlGGEe%2BntdkUGJiq1FQ/rQ4A4BUCawAAAC8ZhiHDiJfDsUVSsh/WWEaGEe6H9QAA8oLAGgAAIM%2BS5XAkFfhaDCOkwNcBAMg7ipcBAAAAAOADAmsAAAAAAHxAYA0AAAAAgA8IrAEAAAAA8AGBNQAAAAAAPiCwBgAAAADABwTWAAAAAAD4gHmsAQDAFcEwDDev/%2B//7t7rfl0%2BfRwAcIUhsAYAAMVeiRKJMoz4XN9jsxmSghUSkqKgIIePa7QpMDBVqak%2BLgYAcEUgsAYAAMWaYRgyjHg5HFskJef4Prs9I7C221PkcPgaWJeRYYT7uAwAwJWCwBoAAFwhkuVwJOX4akb6t%2BP/3udbYG0YIT59HgBwZaF4GQAAAAAAPqDHGgAAFAhfC4R5vh6/rAYAgBwRWAMAgHznSTGx/EMhMQBA4SKwBgAA%2BcrTYmL5h0JiAIDCRWANAAAKSO7FxPILhcQAAIWN4mUAAAAAAPiAwBoAAAAAAB8QWAMAAAAA4AMCawAAAAAAfEBgDQAAAACADwisAQAAAADwAYE1AAAAAAA%2BILAGAAAAAMAHBNYAAAAAAPggsLA3AAAAFDzDMPy4Lr%2BtCgCAIoHAGgCAK1yJEokyjHg/rtGmwMBUpab6cZUAABQiAmsAAK5ghmHIMOLlcGyRlOyntZaRYYT7aV0AABQ%2BAmsAAK4KyXI4kvyyJsMI8ct6AAAoKiheBgAAAACAD%2BixBgCgEPirmBiFxAAAKHgE1gAA%2BJl/i4lRSAwAgIJGYA0AgB/5v5gYhcQAAChoBNYAgKte4czx7J9iYhQSAwCg4BFYAwCuaszxDAAAfEVgDQC4ajHHMwAAyA8E1gAAMMczgCua8X/DUPw37MXhcPhtXUBRQGANAAAAXLECFRjoUGjoaUn%2BC3YdjjK6fLmU39YHFDYCawAAAOCKFSDDSJDDsVv%2BG/ISIsNoKcMIo%2BcaVw0CawAAAOCK588hL35ZDVCk2Ap7AwAAAAAAKM7osQaAYsafcy47HA6/rs/bdWa%2BzTDytl/oVQEAAPmBwBoAihH/zrlsKDAwRGlp/kkdzMs6bTZDUrBCQlIUFJSXcXzMKQ0AAHxHYA0AxYT/51zOmG/ZvwVvvFun3Z4RWNvtKXkskMOc0gAAwHcE1gBQ7PinAM3/5lsujDmePVtnRvq34//e731gzZzSAAAgP1C8DAAAAAAAH9BjDaDAeFtMytdCVMyVCQAAgMJAYA2gQOSlyJavhagcjjK6fLmU158DAAAAfEFgDSDf5bXIlm%2BFqEJkGC1lGGH0XAMAAMCvCKyBq4i/5iP%2B32q8K3rlSyEq5iMGAABAYSGwBq4S/p3/mLmBAQAAcPUgsAYKib96jzPWpUKZ/xgAAAC4GhBYF0P%2BDMgYq1ow/Nt7LP2vB9nf8x9f%2BfzdQAIAQPFg/N91i4sXrg4E1sWMvwOywqqy7O/Ggyu791i6enqQ/XsRDw1NKKQGEj%2BuEgAArwUqMNCh0NDTyqid4g9Xw30OijICax9d2QFZiAzjDtlsYcprx3Ve5iX2b7BiKDAwRGlpBd%2BL%2Bz/%2B7T2WrpYeZH9fxG0KDExWauo20UACAICzABlGghyO3fLXPSuBNQrbVR1Y%2BxoUF15vlb/SeX0PVLyfl9jfwUpGoOK/E///1on85u%2BLeOZxpIEEAADX/HXPWuCrANwyHFfxIFq7PcWHTxsyDIccjhT5L8XFJsMI9OM6bTKMIDkcqT6tz2YzZLd7%2BvnC%2Bjf6%2Bzhe6evM%2B/q8%2B77kzzrzhuNYVNaZ9%2B9M3tbnO45jYa7Pt%2B9L3taZP66G41gY68x9ffn3ffF8nfnvyj%2BOhlFShnFV9xeiCLiqA2uHw1EAJ0tkVTAXJVyp%2BL7AW3xn4A2%2BL/AG3xff2WwnZBhpcjgCZbdXK6B1GHI40nX58mHL84VVKwhXnkqVSrt9z1XdtGO3OxQTk1jYm3FFCwy0qXz5UoqPv6S0NHthbw6KOL4v8BbfGXiD7wu8wfclf4SGLlDJkuN16dLLSkrqVyDruOaaUjIMe5Y6RCEyjJYyjDBmuYFfXNWBNQAAAICCk5TUr8AC6uz%2BN6abcdfwN1thbwAAAAAAAMUZgTUAAAAAAD4gsAYAAAAAwAcE1gAAAACKLcO4WNibAFC8zBN2u13p6WmFvRnFkt1uKCkpQCkpyUpPpyIjcne1fF8CAgJls9Guif/P3r2HyVHVeQP/nurrTPdMMjMJJIEQBNdFwv0WbiuQwLqL7LJZEBFBYBIUFV1JshphHTAQQTYJIoiATEAQRSWbdxURwbxuXBHj64IiF2%2BrhEBAyGSSme6evtZ5/%2Biumup7VXd1V1X39/M88wS663Kq6nR1/%2Bqc8ztERGQHIfZCyh6ni0FdjoF1DVJKTEzsxtRUzOmieNquXQpUldNUkDndUl96eqLo7x%2BEYNpSImqxcHi05dMdkb14zayRcobTRSBiYF2LFlRHowMIBkP8Adwgn090dOsj2avT64uUEul0CrHYOABgxowhh0tERJ2ut3cDfL4d6O3dwCDNI3jNrJGyD0Kwdyk5i4F1Faqa04PqaLTf6eJ4mt%2BvIJvt/BZIskc31JdgMAQAiMXG0dc3wG7hRNRSicQKvfWTvKFTrhlb3qmbMLCuIpfLAZj%2BAUxEZCft3pLLZaEoQYdLQ0SdLJlcxqDGYzrlmrW/5T2E6Q6m/A1P7cXAug52/yaiVuC9hYiIOl17W94VCHFS0StS9kPKzh1eRu7CwJqIiIiIiGzX3pZ3BcnkPBjjaAbV1E4MrIls9sor2/HFL67Dc889i3C4B2ee%2BW585CNXIRQK11zvqqs%2BhF/96pmy1x966BEsWHAgAOCxx76Hz3/%2BcxXXP%2BGEk7Bhw%2B1Nl7/dzj//H/DGG6%2BXvb5ly1MIhap343rmmV/iE5%2B4suz1JUvOwuc%2Bd5Nt5fv%2B97%2BLhx76Gl5/fSf22WdfvPe9F%2BL88y8sWiaTyeCrX/0KfvjDxzA5OYmDDz4YH/7wVTjuuBNsKwcRERHVJiWDaXIOA2siG01OTuJf/uUjmDNnDm688RaMj%2B/GHXfciomJvRgZuaHu%2BocffiQ%2B9rFPFr02Z85c/b9POulU3HXXfUXvv/rqK7jxxutw4okn23MQDjj99CW48MKLAQB%2Bv0A2KxEMmht3fM011%2BGAAw7U/3/mzJm2lWvLlidx001rcP75F%2BLkk0/Fc8/9CrfffiuEEDjvvPfpy91223r88IffxxVXfBQLFhyIxx77Lv71X/8Fd911H/76rw%2BxrTxERERE5E4MrKktUqlk3RbbVpNSIpPJmA7YGvGf/7kJk5MTuO%2B%2Bb%2BgBns/nx5o1/4YPfnAYBx74tprr9/X14bDDDq/6/sDAAAYGBope27btZ/D5fFiy5KzmD8Ahg4OD%2BnFbzQp%2B0EEH45BDDm1JuUZH78Jpp52BT35yFQDghBNOxMTEXmzceA/OPfc8%2BP1%2BvPXWm/je9zbj4x%2B/Wm/JPuGEE3HZZe/Hfffdg5tv3tCSshERERGRe3COly6wdu31uOSSC/D000/hkksuwOLFJ2N4%2BGI8//xvypZ97LHv4dJLL8TixSfjn/7p73H33V9GNjs9L%2BCuXbvw%2Bc9/Du9977lYvPgUXHjhUtx995eRTqeLtnPqqcfhwQfvx513fglnn30WzjknH/T96U//i1WrPoGzz16CJUtOwfvf/8946KGvFa37k5/8Fy6//CIsXnwy/vEf343167%2BARCKhv//MM7/Eqaceh1/84ue4/vprcdZZ78J5551Ttp3p4/4pLr30/TjjjJPw05/%2BpOnzWcvPf/4zHHfcCUWtpqefvhjBYBBPP/1US/b5ox/9EMcccxyGhmZZXnd09G6cddbf4KWXXsAVV3wQixefjA984Hw89dR/t6CkzvnZz36KK664FIsXn4JzzjkT69bdhKmpqZrrJJNJ7NjxCk44oTgRyqJFJ2Pv3r14/vnnAAB//OMfkMvlipYTQuD440/EL37xc2QyGfsPiIiIiIhchS3WXWJsbAwbNnwBw8MfQl9fH77%2B9a9h5cqr8PDDmzEwMAgAePjhr%2BMrX7kdF1xwEa666pN4%2BeWXcc89d0JVVXzkIx8HAOzduwf9/TPw8Y9fjb6%2BPuzY8Qo2brwHY2O7cM011xXt85FHvonDDjsC//Zv1yGZzAfeq1evwMDAIFav/iyi0ShefXUH3nrrTX2dn/50K6699l9xxhln4kMf%2Bhh27nwNd9/9ZbzyynbcdtudRdtft%2B4mvPvdZ%2BPzn/93bN36Y3zlK7fj4IP/qqhL9K5du3Dbbetx6aXLsM8%2B%2B2Kfffateo6MDxCqURSl5pzDL7/8Z7znPf9Y9FowGMS8eftj%2B/Y/193%2Bs88%2BgzPPPBWqquLQQw/D8uVX4qijjqm6/G9/%2ByJ27HgFl1xyedHrr7%2B%2BE%2B997z/i8suvwLJlH665z2w2i5GRa3DhhR/AvHnzsHnzJlxzzSrcd99DOOigt1ddT1VVqGr9lmW/v/5t5oknHsf3vvd/4Pf7cdRRx%2BDKKz%2BOgw%2Buvm%2BjVav%2BBRMTezE0NAtnnvluLF/%2B4aLeET/%2B8Y9w3XXX4Oyz/wHLln0YY2O7cNddd2BycqLmWOx0Og0pJQKBQNHrwWD%2B/19%2B%2Bc846qhj9IdKpcsFAgGk02m8/vprRV3ViYiIiKjzMLDuEhMTe3HDDTfj2GOPBwAceeQx%2BOd/fg%2B%2B/e1v4sMf/hgSiThGR%2B/BRRd9EB/%2B8McAAMcffyJ8Ph%2B%2B/OUv4qKLLsGMGTNx8MFvx1VXTY8BPvzwIxEO92Dt2uuwYsWnEQ5PBzT9/TNw4423IBDwIZtVsWfPHuzc%2BRo%2B8YmVOPXUdwEAjjnmuKJybtx4Dw455FCsWXOTYTv9%2BNzn/g3PPPPLouVPP32xHjQee%2Bzx%2BNnP/hv/9V9bigLryckJrF//JRx66GE1z48WiNZTL1CdnJxANNpX9npfXx8mJiZqbvvoo4/F3/3dezB//gHYtestfPObX8cnP/lR3HHHPTjssCMqrvPkk48jGAzhtNPOqFv2ajKZDC69dBjnnHMugHwStAsvXIoHHrgP11%2B/tup6N920Bj/4waN1t//Tn/6y5vunnvouHHroYdh33znYufM1PPDARnz0o8uwceND2G%2B//auuF41GcdFFH8RRRx2DUCiE//mf/4eHH/46tm//M2655YsA8t3/v/zl27B48VlYvfqz%2BrqDg4P41KeuxqWXLsdBBx1ccfv9/f2YOXMmXnzxBZx99j/or7/wwvMA8tcaAObPPwAA8OKLL2Du3Hn6ci%2B%2BmF%2Bu3nUnIiIiIu9jYN0lotGoHlQD%2BUDv2GOPwwsv5LuD/%2BY3z2FqKoEzzlhS1HJ77LHHI5VK4U9/%2Bl8cffSxkFLiO9/5Jr773c3YuXMn0umUvuzOna8WtXCeeOIpRXP1zpgxA3PmzMXdd%2BdbC4899viiFuREIoE//OH3%2BOhH/6Wo7GeccSZuvPE6PPfcr4oC6%2BOPP1H/b0VRsGDBgXjzzTeL1p05c2bdoBoAZs2ajXvvfcDUcvVUnp5YVnl9WmnAfvLJf4NLLrkA999/L9at%2B1LZ8qqqYsuWJ3HyyacgEokWvTd37ry6Aa3Ru941HZj7fD6ccsq76nYHHx7%2BEM477wLT%2B6jmk5/8V/2/jzzyaJx00kl43/v%2BGd/85texatXqquu94x2H4B3vmE4Mduyxx2NoaBZuvfUWvPji8zj00MOwY8d2vPHG6/jEJ1YW1eujjjoWQgj87ncv4aCDDkYulyvKIqq1si9d%2Bl489NADOOKIo3DiiSfj%2Beefw3e%2B800A0/NQH3TQwTj66GNx1123Y5999sEBByzA97//PT3DuxAccUNERETU6RhYd4mZMwfKXhsYGMSOHa8AyHfxBoDh4Ysrrv/mm38BAHz729/Al798Gy666IM45pjj0NfXh5deehEbNnyhbJx1aZItIQQ2bLgd99zzFWzY8AVMTU3hHe84BJ/4xAocddQxiMUmIaXE0NBQ0Xp%2Bvx8zZszExMTeotf7%2BopbhgOBQNFY7PxxD1Y8nlKBQABvf/s76i5Xqxt4vkz9mJycLHt9cjKGBQtqJy4r1dPTg5NOOhX/9V9bKr7/zDO/xK5db%2BGss/7e0nZL%2Bf1%2B9Pf3F702MDCAsbFdNdfbd985mD17n6b2XcmsWbNxxBFH4Xe/e8nyuosXn4Vbb70Fv/vdb3HooYdhz558vb7mmlUVl//LX94AALzvff9UNOXXd77zXcydOw8XX3wZdu58FTfc8FlIKdHT04Mrr/w4br31lqIx7ddeez0%2B%2B9lP4yMfyc/VOWfOXFx22XKMjt5dVp%2BJiIiIqPMwsO4Se/aMl702Pr5bDw76%2BvKB1dq1/4599y0fh6x1cf3xj7fglFPehSuvvEp/7%2BWXq40dLm%2BiPeCAA3HjjV9ANpvFb37za9xzz5fx6U9fjc2bf4BotA9CCOzePVa0Tjab1cd2W1WvlVhjV1fwAw98W9lY6nQ6jZ07Xy0be21GrbkYn3zycUSjUZx00imWt2uUzWYxMTFRFFyPj4/XTYZmV1fwSuyag1KrM1df/SksXFjec0HrgfCFL9yKTCZd9nooFMJnP3sDPv7xlRgb24V58/bDyy//CQCKtjdnzlx89asP4PXXdyKZTOKAAxbgW996CENDs4qmSyMiIiKizsTAukvEYjH8z//8P707eP7/f6l35c2PlQ7jrbf%2BUnO8biqVLEvS9MQTP7BcHr/fj6OPPhYf%2BMBlWL16BXbtegsHHLAAf/VX78D//b8/0uc0BoCtW/8vcrkcjjjiKMv7McuuruAnnngyvva1UezduwczZuQzg//kJz9GOp22HABPTU3h6ad/ine%2Bs3wqqXQ6ja1bf4zTTltsy/RhP/nJj/Ux1rlcDk899ZO6Xejt6gpe6q233sJvfvNrvPvdZ1ted8uWHwKAfs4WLDgQ%2B%2ByzL3bufK1mWeslSps5c6ae6X3Tpm/jyCOPrpiQTHsAlUol8eij/4l/%2BId/snwMREREROQ9DKy7RH//DNx88w1FWcEB4IIL3g8gPwZ72bIrceedt%2BPNN9/EMcccB0VRsHPnq/jv//4J1q69BeFwGMcfvwjf%2Bc7D2LTpW5g/fwGeeOIHePXVV02V4Y9//APuuONWLFnyt9hvv/0Ri8Xw4IP3Ye7ceXqSquHhD%2BEzn1mF6667Bn//9%2BcUsoLfgWOPPaEs0ZmdAoGALXMhn3vuedi06dtYvXolLrtsOcbHd%2BOOO27F3/7t3xfNYX3TTWvw%2BOPfx9at2wAAv/71s/jmNx/Eu951BubMmYtdu97Cww9/Hbt3j%2BGGG24u28/TTz%2BFWGwSZ531dxXLYSUreCAQwNe%2BthHpdBpz587D5s2P4M03/4Kbblpfc725c%2BcVJetqxJNPPo6nn34KJ554MmbNmo2dO1/F179%2BPxTFV/Rw5Y03Xsf73vdPuOyy5bj88isAAGvWfBb77bc//vqvD0EwmE9e9u1vfwN/8zen6ddSCIGrrroan/vctUgmp3DSSaeip6cHb7zxOp5%2B%2Bqf40Ic%2BhgMOWFC1fE8//RRee20H3va2gzExsRdPPPE4nn32l7jzztGi5TZt%2BhYikSj22WdfvPHG6/jWtx5CMBjCBz5waVPnh4iIiMzL91Ss3V3Rrl5xRKUYWHeJoaEhfOQjn8Cdd96G1157FW9720HYsOF2DA5Oj/98//svxuzZs/Gtbz2ETZu%2BBb/fj/322x8nn/w3ejKnyy67Anv27MG9994NADj99CX45CdX4dOfvtpUGYaGhvDgg/dh1663EIlEceSRR2Fk5Ab4fD4AwKmnnoYbb7wF99//VXzmMysRjfbhb//2bH26L7fr6%2BvDbbd9BV/84r/j2mv/FeFwGGee%2Be6y8quqilwup///0NAspNMZ3H33Hdi7dy/C4R4cfvgRWLXqMxVbjp988nEMDc2q%2BrBBm6PZzPhev9%2BP669fiw0bvoA//emPmDt3HtauvQVvf/tfWTn0hsydux/efPMv%2BNKX1mNycrKQVO94LFv2Ycybt5%2B%2BnJQSuVyuaHqvt73tIDzxxA/w8MMPIZPJPxS45JLLy6YeW7z4TPT1RfG1r23Ue1fMmTMXixadXFT/K/H7fXj00e/i1Vdf0XtZ3HXXfUUPSQAgnc7gW9%2B6B2%2B99Sb6%2B2fgtNPOwPLlH0FPT0%2Bzp4iIiIhMkQiHXwdQO3CWsh9TU5H2FIm6ipBd/Ngml1Oxe3e84nuZTBpjY69jaGguAoHmu9o6ae3a6/Hb376IBx/8tiP79/sVZLP15zsm%2Bzz66P/BXXfdgUceebRoCrRSo6N34%2BGHv44nn6ydAbyduqW%2BdNI9xkl%2Bv4KBgQjGx%2BNdUW%2BoOawvZEUn1pdweBS9vRuQSKxAMrnM6eLYZmhIBdCDROKbAFI1lgxBiJMwNTWPLddkyezZ5dPpluI8MEQd6Lnnfo0LLrioZlBNRERE3aW3dwN8vh3o7d3gdFFsJYQ2c0wKUiar/tUOuomaw8CaqANdc811%2BOAHh50uBhEREdUQDo9icHAhwuHR%2BgvbIJFYgVxuPhKJFZbX1cra1zfc1jKbIaX1mWOI7Mau4F3QFdxp3dK1l%2BzRLfWF9xh7dGJXTWod1heyoh31ZXBwIXy%2BHcjl5mP37hdasg%2B7aGWV0gchcq4q8%2BBgBEJkkUjcX2iZrkyIMIQ4nV3ByTJ2BSciIiIicqlmWpDbTStrKrXUcpnb3TJP5ARmBSciIiIickAyuaylScTsTFbWTFmNY7s7KWkakRFbrOtgNxEiagXeW4iIyC7VWoTdkqzMSy3zRI1iYF2FNq9yOs3sgURkP%2B3e4vOx4xARdSZ2/22fagG0WwLaZHIZdu9%2Bga3V1NH4i64KRfGhpyeKWGwcABAMhiCEcLhU3qSqArkcW%2BfInE6vL1JKpNMpxGLj6OmJQlH4fJOIOhO7/7ZPIrFC7/Jt1Oqu5kQ0jYF1Df39gwCgB9fUGEVRoKrMvkrmdEt96emJ6vcYIqJOVC3Y60Z2jnWuhAE0kfMYWNcghMCMGUPo6xtALpd1ujie5PMJzJjRi717Ex3dCkn26Jb64vP52VLdhVr9w5rIbRjsTWPrPVHnY2BtgqIoUBTOM9sIv19BOBzG1FSOc4ZSXawv1Mn4w5qoeznZet/Kh3rue2AYQu2RmyEAorBM%2B4Z4MmFpd2BgTURE1AbsFkvUvdrVel8p0G3lQ73SbTsZaAuhIBg8vO5yUkqEw68DaF%2BwK2U/pqYibdsfOYOBNRERURuwWywZua%2Blr7t4%2BfzXKnsksgaKMo5oNP8AL5lc1tKHeqXbdrJnTj456O8B1JvRJwegnUM8QxDiJAgRZct1h2NgTUSmePlHCBGR23BogLO8dv77%2BoYRCm1GKrUUgcC2umUXQupTb7UzaZqzPXMkgAlImXRg39VxUqHuwew5RGRKtTkyreCcpkREeW6ZX7hbee38h0KbIUQOodDmmmWPx0egqgNQ1QE9yDXz3W3X9zPnq6ZuxsCaiEyx40eIHcE5EVEnYADirFad/1Y8QM5vKwQpBVKppTXLnkwuw9jYdoyNbde7gVf77jaWld/PRM1jYE1EptjxI8RrLQRERERWtCJA7e3dACESUNX9MTm50dK6tb67jWWt9P3MXmZE1jCwJqK2YQsNUXfjD3XqFNXqsl0PkI3bb9VD6URiBVR1AELEAKDs%2B5mt2ETWMLAmIiIADHqo9fhDnTpFtbps1wPk0uRqVrdp5n6eTC6DlFEoynjFzyR7mRFZw8CaiIgAMOih1uMPdeoUra7Lpdu3%2BuCz9H6urd/XN6xvJxwehRAxPdFZKfYyI7KGgTUREQFg0EOtxx/q5EXB4L1lQW29utxsDyBt%2BwAwOLgQkcgaSw8%2BS%2B/nWqAdCm3Wt9PbuwGKMq6/bywrezARWcfAmqjL8MuSqmHQQ0RULhxeb7k3j109gLTtANDHQ5v5/i69n2uBdiq1VA%2B4tdcAlLVuR6Or2IOJyCIG1kRdht19iYi6Ax%2Bk2iMRH/wOAAAgAElEQVSZXGm5N48xMZjZ81/pemnBbzw%2BUnM8dCO04DseHylr3RYiBykBVZ1ly77aJwQhwq76A0IABIQAhBCu/6PGCSmldLoQTsnlVOzeHXe6GB3N71cwMBDB%2BHgc2azqdHEI0OerTCRWuK5lstn64uZjo9bgPYas6Lb6Mji4ED7fDuRy8/VuxWRes/XF6vmvt3wz33HatqX0QYhczTLlW6yvhhCAlD7s2jVuaV9OGByMQFFUZDLPOV2UiqSMIpsVANwfdknZj6mpiNPFcJ3Zs/vqLuNvQzmIyEWSyWWWM4t6JVgtzaJKRNTNEokV%2Bv2b2s/q%2Ba%2B3vJXv79Lvbm3bmcwiBALbqu5DWy%2BbPRp%2B/3NIpZaa2p8bSCmRTv8eQMrpolSQA5B1uhAmhCDESRAiii5ue20YA2siqslLwSp/RFIn89JDLnIHqw9SqT4rn0Or519bVuvqbWbdSuXRxkgLkUMkskZ/30yruXFMtxdaqotJABOQMul0QTyLPcGbwzHWRFSTlzJFM/lW9wkG7wVwYOHfzsb8CETOs/tzaBxXnQ%2BIV8Dn24FIZE3D5ZkeI%2B0DgKayiROReQysiagmJ4NVJt6hesLh9QC2F/7tbPzBS27R7nuzm74LzH4Oa5XZ%2BJ4xMM4HxLJouVmz5mDWrBno6xuuuI1MZlFZebQyxmLryhKT1cMH1ESNY/IyJi9rqW5LFEPNKa0vTLxD9fT2bkQkcivi8auRSAzXX4E8y46u8PxOske7781OfReYrS%2BV6matMg8NLYCijENVBxCPjxQNYdJaqrXXtW7ZWhIxbV9CxKAo4/x%2BLBgcjECILBKJ%2B9kVvAn5TOanY2pqHsdYlzCTvIwt1kTkWmyho3rS6eUAXi78S52MXeHNa3ULb7vvzY3ur10t3ZHImqLu2%2BHwKISIQVUHkMkswtDQAgwNLahYDmMLcTK5DGNj2zE2tl1POCZlL6QUehIxY7Cdy81HJrPINa35RN2OgTURuRa7pBGRhg/azGv1Q4h235sb3V%2Bl8xAOj9YMdK3QAnchirNQRyJroCjjAGIIhR6BoowXzT%2Btdc%2BOx0cAAH19w5g1a6Cou7fWMh2LrcWuXXuRyZxS1PU7Hh/B7t0vIBDYxgdORC7BwJqIiIhcjw/azONDiDzjedAC6mh0RVmga0al1m8tcJcyVBQoa4TIFOaCBlR1QL8exumvwuFRhEKbIUQOodDmsm1rZdT%2BPxjcUvUYichZDKyJiIiIOojXHkK0qsu28Tz09m6AooxDCAkpRVGga4YW2EajV2PmzNMwOLgQqjoLUvqQTi8pOt/x%2BAhUdQBSKpASkDKAeHwEyeQy/Vi17uPR6Cpks0dASl/RnNGlAbP2/0Bxlm%2BvXWuiTsbAmoiIiKiEmzJRdzotaI1E1lg%2B52avUyKxAqo6AFUdQCy2AWNj2wHkk4z19Q3X3UZ%2BvHN%2Bnl%2B//1n4fDvg9z%2BntzRr6/b1DSMaXQUgBkVRIQSgKBl9/LV2rEKkCtvLQVF2YdeucUxObtSPqbd3AzKZRYhE1mBoaAEAYPfuF5BOL4GUPmQyi%2BqeC9ZhovZiYE1ERERUotOTpbkp6KrWGmtGtetUenylicGM64ZCm%2BsG9snkMqRS50NKASkDUNUBpFJLIaWAEDk9cNa6dQuRAZDvBl7pWKUMFbqJ%2B8pazqfLVT4%2BOxDYBiFyCAS2lR1rJHJtURK1Zuuwm%2BoIkRcwsCYiIvIQ/thtj04fu2r3g4Nm6qXWnblWa2y1/VWaxxkwd3zaNU6llpoK7CcnN0JV94ei5IPm/Hjn4sg5H2z7oKrz9RZuKQXi8RGEw6OIRNZAiBjS6SX6XNMAis5dvnXcByHy25RS6MeXySwqO0fTreBTFY%2Bv0TrszYdLocKUUfxr5A8IARAQAhBCdN1fsziPNeexbinOGUpWsL6QVd1WZ8LhUUSjqyBEjvPXNqBb6ouZOb/tmBfcyI65pq1so96yjRyfFvgC%2BXHSiiIQidyKePxqJBLDRdvV5pEGUGjFnqknLyt9X1V7IeVQyTo%2BxGLrkEwuw9DQHChKAlICqdT5CAS2IZNZpCcq08ZnVztuY9fxQGCbbdfU7jrSSoODESiKikzmOaeL4nlSRpHNCpQ%2BNOoGUvZjaipS8T0z81gzsGZg3VLd8iPGTl76IrMb6wtZ1W11RvtRbfxRDnjzvtFMmRtdt1vqix1BrlV21EEr2zATTJrdnnE5rZXW2IJd6Twag3AAUJTxonWkNAYmAkJIqGov8q3KEkLkM4WPjW3HrFkzIER%2B2XxLdfUHZ178rLfD4GAEQuSQSGwCkKq7PNWSA5B1uhAOCEGIkzA1NQ%2BVwmMG1nUwsG69bvkRYycnfhC5BesLWdVtdabaj2ov3jeaKXOj63ZLfemW4KteDw4z9aR0G1pwrbUYK0q%2BG7fWYq2tYzy/0128U5AyA22aLSMpfcj/cE8UxmVLqOoA4vERRCLXQogpSNmDdPrsQkt1CkAI6fQSy63Qta5/q1q3nZYPrLNIJO6HlEmni0MelO8Of3pTgTXHWNuI497IDp0%2Bro%2Bo29kxFrX0h7AX7xvNlNlrx9vu3wdmp2Dy0u%2BWSmXNB7M5SImK47Ir1ZPS7eS7bef0JGLauQsEthW6bfchnV5etN3SscfJ5DJIGYUQCSjKdFCdn2qrV090BkwVXu/R573OTwOWgKruj3h8LYLBLRBiDxQlAUUZ1xOr1RrnXOmYqq1TmrDNW%2BOnidyNgbWNvJnkgdyGc1ISdbZWfFd48b7RTJm9drzt/H1QLViu9LqXfrfUKqsQKMqS3dc3jFmzBhAIPFVWT4zbCYdHIUSsMAVXcRKx6UzlqxEM3luWXKw0YJ%2Bezqu38DeAVOp8qOoQ4vGRQjZvCSl9iMfX6uUybqt4ru18UK4lVqv1EKn03NR68FSasM0rD6eIvICBtY288gTdS0%2BoiYhawcn7oFe%2BK9zMa99jrbjm1c5BtQC00uteqouVyhqPj%2BhzUxtf16a8CoU2l23HmFVbC2SljCKZXFZ2joSIAbgWPT3XFE1jVfpgR%2BteHY%2BPYGzsjcLfdgSDW/T1VHUWpASy2SP07uODgwsBoCjIVtWBQldxQFWHMDm5se5DpNJzU%2BvBk/aeme0SkTUcY92FY6zbORavW8azkT1YX8iqRuuMF8cke0G7xvZyjHX1c1DtGrTy2jSSJMyO8cLV9PUNIxTaBMAPKaNFWbWHhhYUgunewnRYU8hmj4Ki7Coad6wF2QAM02YFoKpz9OW0f7Vs38akgvmx2ysKrc%2B9ABLQ5q2Oxdbp47rzgXS06Pi6ZYy8nTjGmprVEWOst2/fjpGREZx77rk49NBDcc4559Rc/vnnn8c73/lOHH300W0qYefx0hNqIqJW4H2wNdrVtZjXr/o5qNZa2cru86Xdq6v1JmikfjSyjjbftBAZKMp4lXWnoCgJCCHh9z8Ln2%2BHPr0VMN21W5vTNy9TGJ/8SNE4ZWA6m3c0usowJVe%2B67eUoUJQnZ/n2jiuGyifO1u7VgA81TODqNs5Hlj/4Q9/wNatW7FgwQIcfPDBNZeVUuKGG27A4OBgm0rXmbw2No2IOo/TXXkr3QedLlMnaFfAy%2B8xd52D0nHC1QLhRupHo3Uq3%2BVbQMpeJBIr9M93Or2kMMb4vKJu1/l/9%2BhlTyaXYe/eHQDu1MdOA/kI2xgka0nIYrF1enCttTbnt9%2BPdHpJ4b8HCutPj%2BvWurMLMYahoQWWx8Dbfd/ifZCocY4H1osXL8bWrVvxpS99CQsXLqy57KZNmzA%2BPo7zzjuvTaUjqo5fPkSNc2PSJDeWqVGtuj/V266bgj27teOe3%2B7vFbv2Z7zutQLhevWjUnkaqVPh8GhhnLWElCH09m5AJLJGb2VOJFZgcnIjxsa2IxbbgFxuPqTs0ZOGqeosDA4uRDB4LwBAyijyU2Xl38%2B/1quPUwbyGcqlDOnjvbVM4YoyridWy2f53lQ0rhsAhJjQs4Ab58Y281DB7vtWJ90HidrN8cBaUcwVYWJiAuvXr8dnPvMZBAKBFpeKKM/uLm1ElOfGrrxuLFOjWnV/ctN9r91BaDuOvd3nt3R/dpzTZh6u2HX8lbpaA9PdtSORNfpxTne7DgHIt0b7/c/B59uBcHg9gJsrjLUGcrm/1rehJUFTlIQeMBszjhffU3qK7jPTZS0/DjPn0u77VifdB4nazfHA2qwvfvGLWLhwIc444wyni0JdxO4ubWRO6dQm1Hnc2LLpxjI1qlX3Jzfd99odhLbj2Nt9fkv3Z9c5bTRAt%2Bv4te1oXa2N3bXzU2ih7IECAMM0WUsL3bNjAGZDSh/S6SUAegEUB99at%2B98MjShz6etBdvaf2td0GOxtUX3menpr87Xy2mF3fetTroPErWb3%2BkCmPHSSy/hkUcewebN5dMmNMvv98yzBU/y%2BZSif70mmVyJcHg9ksmVZXUlm70CExNXAAD8nvgkuZ9WT3p6NkBR8j9YstkrHC4VuZnX7zGt0qr7k5vue9nsiVCUnchmTzT9Xd5MfWnHsbf7/Jbur9J3XjB4r/5aOr284nZKl9EC9EhkTWG8cvV1S8uTTAr09q6HouTHM9fbd73jAoCJiSuKyggAPT3XQFF2YNasOZAyBEUZLyQrg57ELB8YPwshcggEtiGdfg%2BCwUcA9CCdfg/8/p8jmVyJfOfLFISQCAS2we9X9PopREoPsCcmXtLPdaWy5nL36sdu5XhJI%2BDzhSGlqL8odbRG5rwSIgQhBPx%2B0XAdctV0W6tXr8bzzz%2BPRx99VH9NSomLLroIRx55JFavXg0AuP3227Fx40Y8%2B%2ByzTe1PSgkh%2BOEjcp%2B7ANwMYDWAKx0uCxG504EAtgNYAOBlR0vS2Q5E/fNcuox2D58EsLvOurW2hRr7rvU9UfreXQA%2BCkAi3%2BocR75tKVdYXgEwE0ASQKLwWi%2BAFICjAbxV2NbNVcqjldkH4I7CPrXXtG2vNVFObZ1BAH0mj60ZnfVdK2UWQrzodDHIFYIAehpYrx/AQMN7dX0722OPPYb//d//xbp16zAxMQEASKVSAPLjrkOhEEKhUEPbVlWJiYlE/QWpYT6fgv7%2BHkxMTCGX8/acodR60/XlUuRylxRe9e5c82ZaejpZO46f95juFQxeXahfVyOdNnefaFd98fJnv7TsZs5z%2BTKXALgEvb2XIxj8D6TTJyCRqLZu9f0BKNqucdlweH1hHu/PI5lMFW2jv//zRe/19l4NIfLtSFImsGdPHNHokfD7nwEACKEil4tACFkYJw0AU4V13sLExEvI5VQEg6myc5E/xlcgZS%2Bmpj6PdPoSAHEEg1ejt3clhMghl4tgYiL/upGxnBMTl6C39wQEg69CyiQUZbf%2Beq11mmHntpzW359PPjc19RKkTDldHHJQvuX5OKTTsyy3XOeXr3yvGhiI1F3f9YH1n/70J%2BzduxeLFy8ue%2B/444/HFVdcgVWrVjW8/WyWP8TaIZdTea7JtE6pL/396/UEOInEsNPFabt2Hr9b6oyWyEjLCkytk80OG%2BqVtWvf6vri5c9%2BadnNnGfjMuHwV/XPgN//cwiRg9//84rnO/95WQUhcgiH10NVJcJh7fMzbBj7LJHNqiVlW6Hvp7e3uMyl72lBtWbmzL5CFnAUptFKQVVnwecb07uAanNQC3EyotEZECIDVZ0PIWLo7b0GPT2fQzw%2BgmDwPwrbTxXOgaqfE1WVejlKj780uVk2q%2BrnS8oQcrmhiusZj63ZOmznttxBQlX3Qsqk0wUhBwkRhhA5ZDIS7e6Y7fpBaUuXLsUDDzxQ9Ld06VKEQiE88MADeN/73ud0EYlcidOBOc9NiZ6c0I3H76as2W7TTfckr9T9Stek2bIbPwP1tmXM3l1pDuzS/zdur9YUX9OZvgEhxiAlCn/5OauFkBBiqpDILFQI/p%2BDoiQK7%2BWn1Uqn/xnAz6AoGQgBKMoOKMo4hMhPjdXbuwGp1FJI6UMqtbTsnBrLWHquteRmlbKIx%2BMjFROIGR/cAXA0gzsRlXN8jPXU1BS2bt0KAHjooYewY8cOfSz1CSecgMHBwbJ17Bpjncup2L3bu91MvcDvVzAwEMH4eLxDnoZ6x%2BDgwkIXr/n6Dwy3Y30hq9xWZ9hiXZ0b7kluqy9Oq3dNGqnPVtYpXbbe/1vdn3Z8mnxyshiEyCCbPRp79mzV189kFiEY3AIhxqGl38lPr3UcVPXXRS3WQqQgZQjx%2BEhZObWHAdo51d4TIgZFGS97XSu3mc%2BHcRkAjn%2Be3GRwMAIhskgk7meLdZfLt1ifjqmpeba2WM%2Be3Vd/304H1q%2B%2B%2BiqWLFlS8b0HHngAixYtKnudgbV38EeMc7z4A5/1haxinfEON9yTWF%2BK9fUNIxTajFRqKSYnN5a9XynYc8N1NCotY2mrbiTyKQiRgZQBxOO3lAW%2BpcLhUUQiawwBtg/j43tr1hdjGYzdq40Bs6oOQMpo1fNm9SFCIPBUzWvXbRhYk6arA2snMbBuPf6IIStYX8gq1pnu1Ghwx/pSrForqbEVNxDYVnSe29XzwOw1Lg2ko9H8mG1t6iwtQJZSQFX3r3hMlbYZiVwLIaYgxIUYH/9q1fqiBeIA9BZsK%2B83yg09QNyEgTVpnAysXT/GmsjLumlMIRFRu3Ase2VWv3OqjYHWzm8gsK1sDK7d48erldnsNTaOp9aC6vxY6j2F8dDa%2BOqeqsdUWo78%2BOcEVHV/AN%2Bouf/SsdKVyidlVB%2BTbRevjOMn6iYMrIlaiD/%2BiIjsx6CiMqvfOdWSV9U6v3YnvDKW2RjcGstg5oFBvvt2PqiWcmYhAZmAqvZCygGk02fXTaRWmnQtmVwJID8lWLX9m6mLVo/FDCYeI3IfdgVnV/CW6vZud24bi%2BZ23V5fyDrWGbKi0%2BuLF75zaiUoqzb%2BuVa35%2BnkYGOFVuZeCJEBkE9Qpii79DHOGmOX7OLkZY9BiCmkUudhcnKjXl9yuQNs63bNLtytwa7gpGFXcKIOxSfK1Ok43KHzlF5TXmPv8MJ3Tmmreq1pszTa65nMorK6qG0PCBmmz8pPj%2BX3PwtVnQUpfQDyWbkVZRzR6Cp9G5HIGvh8OwoZwacghEQotKlo/8nkyqJyhcOjGBpagKGhBZY/F1Zbr/n5I/IOBtZERFTG7I85twx3qNVVs5O14kd3vbmEW83KMbk96HB7%2Bexi5TitdjMvzoS9DT7fDkQia8q6jKfT%2BRlm0uklkDI/X1Y%2BuP4VhMhBiCwAbQqtHCKRNYW5o/cYStBT8i8A3IVweH1RLwBtXHXpuGkz58F4jGY%2BW265x3pHqNBiyb9u/QNCjtU%2BdgVnV/CW6vRud2Qv1hf3MNtd0emup63oquklrehW2shcwnayckxWj7/d95ha0zB1Eu04pfQhFlvX0JzTxmWMWbQjkTVQlHGo6gDi8ZGKc0IDwNDQgqLlotEVEEJCVQMQQoWUEoqiFgJr6NNfGcsNQO8WHgo9BmAKQvgBZKCqAxgb224oXwxCZJFKnYdM5pSq5aql2Xm6adrgYASKoiKTec7polCDpAwhmw3YtK1%2BTE1FbNmWhtNt1cHAuvUYKJEVrC/u4ZUfc1qdicdvK2tVqscrx1hLJxxDKSvHZPX4232PqTV%2BuJOuXTg8qmfkrvUQwcyDEG0ZAMjl5uvBqhbYavsr3b4xsNYCYGOwm88ULgvJzIb0FvPS7RiPxUjbrvEhgna8AKrOVd1p19mtx5IfY51DIrEJQMrp4pBlIQhxHJLJObAjMm1FeMvAug4G1q3HQImsYH0hq5qpM0wi1H2cvMeUBiVW6l%2B7A5rSuaGtzietPUQobcGudxxaa7AQMQDFrcH15p%2BuNl906Zzc9bYzHThr3cmPRS73F/1caPtIp5fo26l1jjrpPuPmY2HyMm/Ld%2BO2P%2BGYncwE1r7rr7/%2B%2BtYXxZ2klJiayjhdjI6mKAI9PUEkkxmoqjs/KOQerC9kVTN1Rsow/P4XkUisQDZ7TItKSG5Sq76Ew6Po778EUoZbUh%2By2WMwNfUxfdtW6l9//yXw%2BXbA738RU1MfM7U/M8dTbRnj/gKBp2vuOxwexYwZSxEMbkUisbowb3MYweCPIESuaL3Sc1BajmDwSSjKOAABIVQoyusIBP6n0DV7MxRlD/z%2BFyFluKzc2ewx6O39IhRlHIHALzA1dXXRPkOh/0QgsA1%2B/4tQlAkEAr9AT8%2B9ZceuXZd4/HokEo%2Bgp%2BdjmJpS0NOzQS%2Bfqs7G3r1P6MdS7biM2%2BuE%2B4ybj6WnJwghVGQyvwKQdbo4ZJEQfghxILLZ%2BsGrUyKR%2BmO3mbyMiMjluiUBUrt5IYOym3VavWx3kigr9c/MXMml16P0eCpdr2rHbMzCLUQMqjpQc/5nLZGX1pqbTC5DLLauapmrlRXId/9OpZYWdbEOhTYjP0e1D5nMIkSjq0xdK%2BN%2B8tuQEAJ6a3TpNkpb6vv73wkteZmxfMZjqpdFv5PuM510LEStwMCaiMjlmBWW3KjT6qWZ4LVRzT6EMBPQlF6P0uOpdL2qHbO2v0BgW2F8crTqvhOJFXqgWmkbAMqmpiotSyazqLCNFBKJFZic3Ijdu19APD6CXG4%2BstkjIKUP2ewRRUF2abm15ePxkbL9pFJLDWM3e/RljdswLj8d7N%2BsT7cVj48UXQdtPLaTWfSJyD3YFZxdwVuKXXvJCtaXytzc/c5prDPO8WK9rFVfanXnbVYjXbmtKr0eZrqely5T2jXczDXOZo%2BBqu5TWG512XL5Y/8LhEgiGPwRVHU2MpmT9O36/c%2Bit/dLEEKFEBkEg08Utves3nocDG6BouyBovylkOFbIBZbX3VaLu11Y/lV9QAEgz8stFgHMDn5jbLrbVxeK6OifAbx%2BOWIxz9a8dgUZQ%2Bk9CEev870OSP7sSu4t3VKV3AmL2PyspZqRaIYN2elpOYweRlZ1Ul1hve21nOqvnjl2mrJqSpltzar0nRt%2BYRkeyCELEt8NZ0sLD8NFlA8FZYxy7gQY1CURFGGcE1pVvDS8mjZwbXtl65fSb364pXr2g2YvMzbOiV5GbuCk%2BewmxURdSLe2zpXva7czXYVN7t%2BveW0ruFAfvxxJLLGdLm0bUcia8rqsZRRpFLnVex2nm9NHoCUAb2rthB7kMks0pfXzl88vraoq7dxv0Cs8ErxVEvG8duqOqDPc93I%2BSnFMcdEZMTAmjynlePgiIicwntbZ7ESpDX7UMXs%2BvWWmw5gRwpzSKf0ALuUdnx9fcNFATWAimO7A4FtFYPQfBbxKBQlU%2BimDQghKy5fGsgaxzgLoXX/Le6uqX2u4vERjI1t11uqjWWvNvabiMgKBtbkOXxCTESdyA33tk7L9O0kK0GaMQt3I%2Bff%2BFCm1jU0%2B/BGq4tSakFqqmpG8VBoUyGgTlVM8KW1SAsRQzg8WrF82jKqOoBU6nzTD5jyXbzzicy0FvHS1mjj56q0VT0U2lwz4RsRkRUMrImIiAiAO1vsvBrsW5kiC4CehbuR828MHrWgsVIrs9WHN/H4SCEonqqaUVzKnsIroTot0uNF2baN20oml%2BmtyVpGcGOrdOn1117TuovHYuuQyZxS93iqTeulXSM3PNwiIu/yO10AIiIicgctSZSbWuyMgVitgMdtiaSSyWV1y6EdWzS6CoBd5z9V8m/jksll%2BjzVUuanxTK%2Bp7UCa2Wudg0ymUVQlJ3IZBYhkzmlkMws34Jda9y5MemZ8fobA2QtEZqWBK1aPQmHR/U5uePxEVfUEWqFkJ4Ej7ykfsZtL2BgTURERADMBYPtZjbYNBuAN6oVgXsisQLR6CoIkUNv7wabWktDABJo5IdqpWM0ljEQ2FZx2XrBbTC4BULkEAxuweTkRlPXSgvoAZQF9ZXqhDF4r7W9XG6%2B6%2Bo42UMIBcHg4U4XoyNIGUI2G2jzPvtdmxHcLAbWRERE5Fpmg/1Wt7a3InA3tsDaVe54fKRse2YfClQ6xmplnG5tvxqBwFOYnNyoXwNtrHi1/dW6VlpZM5lFECKmt1gHAtsqBvOaQGBbWfBvdp9u4LYeF14kpUQ6/XvY0Vuju4UgxHFIJuegnXGu14NqgPNYcx7rFuukOWap9VhfyCrWGbKimfri5cBHa0kunUO6VL779bUQYgqp1HmYnNxY9bjzGbmvLmTy9iEWW6cvpwXd2v7Mnjsty7cQuYrrlm63dF27r0877y9mrxFVxnms7eOFOaWdwHmsiYiIiGzg5cRWVrKBC5GCEBKh0GYA0y3TpXNaJ5PLkEqdX8jIvbRovHgms6goE7hZxizfWqs3AP28GzOMl06V5eXrAzAjOVEnYGBNRERE1CEqZdHWgtLe3g1Vp7zSpFJL9WAZmA74AJQF2JOTG7Fr1zgymVMgRAxSCgiR04PyapnAq%2B1f21cstq5ihnQtaFaUcX2aL%2B2YvJg53sjrDwaIiIE1dblO%2BDImou7E%2B5d7OXltqk2ZZny91rRqWrA8ObkRwHTAF4%2BPFAXYxnWnM4fPhJQ%2BCJEDkNJbnkvnsq62f2NwWa8FV8oe/f1Gponj54eI7MbAmrqaG%2BdsJSIyg/cv92r22jQT9FULSI2v1wtaq7V6GwPs0ozcUvqQTi9BLLauEICH9GRipXNZ55cXEGKs7BhL5/YubcHV9h%2BPr60YhJs9d/z8EJHdGFhTV%2BOYJnP4ZL%2B78fq7E%2B9f7mX22lT7bDXTAgtUDkiNrcH1uh0bx0sby1YtQZgxI3dpAK6Nlc5kFunnJL%2B8hKIkyrpy1zv2SmU3vmb23PHzQ0R2Y2BNXY1jmszhk/3uxuvvTrx/NS4YvLelD4vMXptqny0zQV9pUG7mc9rXN4xZswbQ1zdcs1yJxAp9vHQksqZmecPhUQgRg6r2FiUVA/IBvjZWOhDYpme7zi8f0FutI5E1%2BnabDXitJGrj54eI7MTAmojq4pP97taN15%2Bt9J0tHF7viodF1T5bZoK%2B0iDXTPfuUOiRouRi1eS7bs8EANvhxhQAACAASURBVAiR0j8LlbpcRyJroCjjECJVSCq2uaxcxvHV08tn9VZrAPp2mw14GTATkVMYWBNRXfyh0t268fqzlb6zJZMrHXtYZHxo08hnS1vf2LXajPxUVoCU0DN%2BG2mt2TNnnobBwYVIp5cgl5sPKUP6Z8FYXq2VWYgUcrn5SKWWFv2rlat0fLVGyh6o6gBUtRcAGpp/mg/AiMhN/E4XgIiIyG20TMPd1EpfSbUxtV6XTi9HIlG7O3SrGB/aNHJOtfUB6F2rzWxXq9OZzCIEAtv0wF4TCm2GEDn4/c9CCOjbN9aBSqQMFZWjEuO%2Bg8EtUNUBxOMjSCaXYXBwYcPno/SYO7W%2BkhUhvf5So0JOF8CzGFgTERGV0BI8dbtmg8BO1UwA1%2BxDG2OQOji4UC9Dve0GAk9BUXYiFHoMQiTKrmkqtRSh0GZks0dAUXYVbV8LnI3HHY%2BPmD4O7fM0OLgQijKuT9ultbxrx9XoudDWZX3tbkIoCAYPd7oYbSdlCNlswOZt9kNKaes2u4GQXXzWcjkVu3fHnS5GR/P7FQwMRDA%2BHkc2qzpdHHI51heyinWmMrta7tzQAmhnGeyqL1oray43v2JrbTvOW70ylJo1awBC5CClgKruX7VsWtmFiOlBsNZyHY2ughC5on329Q0jFNqMVGqpPvd1tW1qLdZCpABMQQgJVR2AlFFbzpXd5533F%2B8YHIxAiBwSiU0AUk4Xp41CEOI4JJNzYGdE18XhYVWzZ/fVXYaBNQPrluKXElnB%2BmIvNwRFrcY6U5nVoMvN7DwWu%2BpLvc9WO86/1c93vQC4NKAuDXi1Y8qP0T5f38Z0wO7Drl3jFfdtPB8A9K7sUvogZX9RAO8mvL94Rz6wziKRuB9SJp0uTtsIEYYQp2Nqah6D4RYzE1gzeRkRUYdiAq7u1UmZ3N14LKVJx0qTaLWjzPUSn4XDoxgaWoChoQUIh0cxObkRu3aN6wFxtem6gBSk9CGdXlK0/fwUXD4IkZ%2B3WpNKLYWUPqRSS6smEzOeDy1LuKoOIBZbp893XSubOROUEZEXsMWaLdYtxae9ZAXri73c3GJtV9lYZ8iKVtWXSi3UjdRxOz%2BzWpkAVGwNHhpaUGiZ7oWUQ3pSs9Iu4FbK14qWeid7X/D%2B4h1ssWaLdauxxZqIqIu5cZos49y3bE2nTlGphbqRHiPN9DIxtuyGw6MQIgZV7YWqDlRsDc6PcwaEmILPtwOBwDbs3v0C0uklkNKnJxUzqnRPMe63FS31buyxQERUCbOCExFR22iBg6oO8McydYxKWeStZP82JvfS1rWqNCivN25ZyhCESBTmkx7S95lvtc4Vdfc2u1%2B7H%2BS5udcNEVEptlgTEVHbaK1P8fiI61rTqbW6bayslR4jWnCqtRpXy9Zd6/yVjmOu9%2BBKG9scj68tG0tt5aFXK1uUmSeCiLyEgTUREbWNG7unU3u0M0jyWhBvJjitd/6Mny0zn7Nqy1j9jGrLAyjqil7v/JtZht3AichLGFgTERF1AaeDzXYGSV5r6TQTzGrZtIWIlV3DRq5t6ZjsZuuG8Zxr/x2JrKm6XTPXiA/iiMhLGFgTEXUgp4Moch%2Bng812Bkleb%2Bms9PnVzpuijCMaXVH0XqVrq22jr2%2B46N/S6bWMgXA0uqrhe0alrugAqtY5r18jIqJSDKyJiDysWgBdL4hi4O0O7bwO3RTIeL2ls97nVwhZ9F6trOSh0Oaif7X1tHUymUUQIgYpBYTI2fLgRTv/teao9vo1IiIqxcCaiMjDqv0ArxdEOd16SXntvA4MZJrTrocg01NllU%2BTFY%2BPQFUHqk6hZaTdA1Kppfq/Wlfyvr5hPdt2ILANijIOKWdW7WperZzVWsC1972S0ZsPGjtJqDC3c3f8ASGnTzgZCNnFs4nncip27447XYyO5vcrGBiIYHw8jmxWdbo45HKsL9Y1%2BuPVSz96a/F6nemU6%2BAVzdSXwcGF8Pl26FNYmbl2lZapt17pfuoJh0cRja6CELm662jbltKnL2%2BcFkwLjkuPMZNZhEBgW1GZjduKxdYBQNFxWT0OJ1Urq9fvL91kcDACRVGRyTzndFFaSsoQstlAyWv9mJqKOFSi7jF7dl/dZRhYM7BuKX4pkRWsL2QV6wxZ0Ux9KQ2I6wWO1QLeWuuFw6OIRNYAyLdOJ5PLTAfi%2BV9zvYjF1tYN9CsFyrWO0RiIa2WudHzG9QF45qFRtXPM%2B4t3DA5GIEQOicQmACmni9MiIQhxHJLJOTBGb10cyrUVA%2Bs6GFi3Hr%2BUyAqz9YWtfKThPYassKO%2B1AtONaUtumZarCsF3VYCeAC2thBXOlYAVYNnL7VSm8H7i3fkA%2BssEon7IWXS6eK0RL779%2BmYmprHYNoBZgJrjrEmIs/h%2BGAicop2/wkEtulj1iuN0TWOce7t3aC/V2usuzE3grbNTGZR1XwJWuCrjZ82M/ZaW8/MmGKtrJOTG/UyG%2B%2B/pcdSK7cDxzETUadjYE1EntNN2Y2JyF1qZeA2PuzTgs5AYJvlB4GBwFOIRlfVDeCNQf7Y2HaMjW031YvH7MPJWg8MrGb65gNRIup0DKyJyHOY3ZiInFLp/lMr2LTyIHB6iqxNECIHKUXNAL7Rh4zV1quX6bva8Tezz1KVgnm2dhORFzCwJiJb8QcQUffy%2BudfK39f37Cl4K5WsFntvUr70oJPKXsAAFLOrBnANxrkGtczHpddgXu9fdZSKZhnazcReQEDayKyFX8AEXUvJz//dgT10y3Gm1sS3FUKYo370oLPeHwtcrn5iMdHitZvRW8d43ElEiuK5rJ2ondQpWCew3%2BIyAsYWBORrfgDiLqV11tr7eDk59%2BOwNeYcKwVwV0ksgY%2B3w5EImuq7qt0yqpW1alKydGSyWWQMgpFGXfs4WilYJ7Df4jICzjdFqfbailOVUFWsL64ixemNXNTnem0qYZaze76ZWZ7TteXoaEFUJRxqOoAxsa2V1zGWI8A1JzzutHzV22O7Wa322mcri9kHqfbolbjdFtdjC0nRNQsduu3ppnkTN3I7vrl5lbNcHgUQ0MLIEQKqjqgd/Gul3W7Vp0ynj%2Brdaq3d0MhOZqvbNtuPo9ERG7GwLpD8QcxETWL3fqtaSY5Uzfq5PpVKbu2ooxDiASkjOp1pFbWbe39ai3HxvNXr0719Q1j1qwB9PUNF60bi61jAE1EZBMG1h2qk3%2BwEFF7sOWqNXh/zmtl/bKzV0DptrTW56GhBVW3Xym7tqoOQFUHTI/b1sZjR6Mr6h5HJrMIUvqQySyq%2BH4otBlC5BAKbQZQPSs4kfeFCl2mO%2B8PCAEQEAIQQpT9kfM4xppjrFuK45PICtYXsop1hiqpNt69Un2pN6a4dFva/wOoOp6%2B1jbNjmHWxmNX24/ZsdhAvsU6FNqMVGopJic3mjpXxPuLlwwORqAoKjKZ55wuSktJGUU2KwCUh29S9mNqKtL%2BQnUJM2Os/W0oBxEREXmIHQmsnEyCpXWPNtMrwNi6XK3LtXFbicQKRCJr9P8uVXrc2v9nMosQCGyDEDEoyjgikTU1z088PlJzP1q5MplFCAa3lLWGG01ObiwLqCsdHxOXkZdJKZFO/x5AyumitFAOQLbC6yEIcRKEiDKxmYPYYt1lLdbt/tLk016ygvWFrGKdscbsd4AdrZhubAltpMXayMyy1Vq4pfRBiBxUdQBSRvUAW1vO6veztnzpdprhxmvmJN5fvKMbsoLXwozhrces4FSGSXOIiDqP2XGyZr8D7BgH7uRYcivjhq2M9TZz/kqPu3S%2B6nh8BLt3v4B4fKRoOavfz9ryAGw7zxz/T0TUOLZYs8W6pfi0l6xgfWmfTunyyTqTZ7alsVOuez1Wxlhb0crz12iLdadfSyfx/uIdbLFmi3WrscWayjDLL5ViRtjuxN4rncVsS6NbvwPq3YdKp4uqx0rLa7V9V3o9mVymj0k2c8%2BsdVyl71m9Nm69lkRE3YqBNVGXY4DVndjls7O4PciqFzjXuw%2BVThdVT%2Bn50PYfDN5bVq5odFXFfWtlikZXFZW7XlmNx2pcttLc1j7fDkQiayw93OTDUCIid2JgTdTlGGB1J7cHYlSdFwOresFovftQKrUUUvqQSi21tF/tXGlzQofD68vKJUQOUvrK9p1IrNATjhnLXa%2BsxoA8k1mkL6uVwZjp2zhVltWx1XwYSkTkLgysibocAywib/FiYFUrGDUzVnhyciN27RqvOmVUNaUJvrLZEwEcqLdcGxOLlXbvTiaXIRZbVzOILn3IEQ6PQogYpBQQIodAYFvV%2B6t27y1NYlZPJrMIUvqQySyyciqIiKjFGFgTERF5iBd7mdR6gGfmQUGjrfTaudIycfv9PwewXW%2B51soVCGyrWIZK5TaWt7Tsvb0boCjjkHKmfo20sqfTS/Sy1NtHrePNz4WdD9qJiMg9GFgTERF5SCf1MtFaeFV1oOaDgkZb6UvPVTK5EsCCwr/TSluBawW2xgcblabWUtUBfZu9vRv0LuDB4BbT5a51vGYfrHhxyAARkZcxsCYiIiJHRCJroCjjAFD2oMAYGLa6ld7YCpxPaLaiaDy0kRasAyjrwp5MLoOUUSjKOEKhzUXd0IFU1W2WqnW8Zh%2BstGLIAIN1cr9QYeqp7voDQk6feALgd7oAREREVF%2B3zVtsDAytttBXO1f5LuD5JGaJxPTUXdoUWtq/QpTPA1u6TWP5jPvQtpHJLNJbqbXkZUDCVPmTyWVNX2PjMdml2jETuYEQCoLBw50uRlVShpDNBlq4/X7OYe0wBtZEREQe0IlBTTq9BKHQZqTTS8reayYwNGbmBlDUFTwSuRXZ7AkYHFyoB8mlgWw0ei2AqaJylZ7/auUzbmtwcKG%2BTjw%2BUnH5Vj0wsSM4L9WKYJ3ILlJKpNO/B5ByuigVhCDEcUgm56BVsS%2BDauexKzgREZEHeCFpmZmuwsZlaiXiamYsebWpstLp5QBeht//86rdpJPJZVDVIQghi8rVyPk3rlPteLyU5b2TxvdTJ5IAJiDlXtf9ARMAVEiZD4Bb8UfOY2BNRETkAV4IaswEicZlWvWwoN5UWcnkypr7rVSu0vNv5ljNXDOr54DjnImI3ImBtQfxS5WIiNyo3nzVg4MLkcksqtuKW42V779a206nl9fcbysC4kbKWUkrpycjIqLGMbD2IC91GyMiou5RK0g0TjtVaRkzwaDd33/NBKBO9SAwE9DzdwIRUfsxsPYgL4yzIyIissKYcKxaoKvNEy1EzJbWWC8GoO1sTSciIvMcD6y3b9%2BOkZERnHvuuTj00ENxzjnnFL2fy%2BXw1a9%2BFRdffDFOPPFEHH/88fjABz6Ap59%2B2qESO88L4%2ByoMey%2BR27Eekl2iMdHkMvNRzw%2BUvS6sYu4lAJC5KrO9WycJ9pKMKztIxi8t%2Bh1uwN1t%2BDvBCKi9nM8sP7DH/6ArVu3YsGCBTj44IPL3k8mk7j77rtxyCGH4KabbsKGDRuw77774vLLL8ePf/xjB0pM1DpebD2hzsd62d2sZvqupl5W7EBgG6ScWbc8jbTGavvIz2NdXKZqgTofKBERkRWOz2O9ePFinHnmmQCA1atX4/nnny96PxwOY8uWLZgxY4b%2B2qmnnoqXX34ZGzduxBlnnNHW8hK1EucIJTdivexuZubPLn34YmVe5tL6Va%2BuNTI/s7aP/DzWtfevzSstREwPuNnyS0RE9TjeYq0otYvg8/mKgmoAEELgkEMOwZtvvtnKohG1HbvvkRuxXnY3My3ExmWs9nAw1q9Kdc2OlmNtu/l5rKvvH5h%2BSABAP6ZWtF6zRZyIqLM4Hlg3QlVVPPvssxW7jhMREVF1VgM6Mw9WjMvkx0r7kMkssqWs0eiqioF6veMofT8cHkV//zsB3FVzG9pDgnh8RD%2BmVgyH4BALIqLO4nhX8EY8%2BOCD%2BPOf/4w1ayonN7HC7/fkswXP8PmUon%2BJamF9IataXWeCwXsRDq9HMrlSb%2B2s9JqXGAO6bPYK27cfCGyDEDkEAtvqfsfWO5f5Ltk5SOlDMrmyaHv1jqP0/emW6Jvh811adRvZ7BWYmMj/t7/wKymZXKmX08rvhlrH1%2Bg2qX34neQ1Aj5fGFIKpwtSREpAiBCEEPD7hevKR/YRUkrpdCE02hjrRx99tOoyv/jFLzA8PIwPfvCD%2BNSnPtXU/qSUEIKVm4iosrsA3AxgNYArHS6LUw4EsB3AAgAv13jNS0qvq93X2cr2DkTtc1lrW/X2Y%2BY4K712EYBvA7gAwDfqlL%2BeA%2BHtukLkHVJmIcSLThejgiCAHgD9AAYcLgu1kqcC69/%2B9re4%2BOKLceqpp%2BLWW29tOijO5VRMTEw1tQ2qzedT0N/fg4mJKeRyqtPFIZdjfXGX/v53wufbgVxuPiYmXnK6OBW1us50Yot1KSevs13n0ux2zNSXmTNn6K3ke/bsbaqcnVZXug2/k7yjv78HQuSQTP4HpEw5XRxdvqX6OKTTc6CyCnnawECk7jKe6Qr%2ByiuvYPny5Tj00ENxyy232NbSnM2ylrdDLqfyXJNprC/uYMyW7Pbr0ao6k80OI5EYLvyfWvW1UlpmabOZsVu1DTNadZ3NlN/vzz/bV1XZ1L77%2B9fr02lNX5vqatWXVGopQqHNSKWW6stY3b7GTF0h9%2BN3kldIqOpeSJl0uiA6IcIQIodMRsJFbZnUIp4YNPLWW29heHgYs2bNwp133olgMOh0kYiIOh6zgTeuUmIqq0nD2pXcqlXX2Vj%2BSonEBgcXIhJZU/cYzZw3OxOmTU5uxK5d45ic3Ki/1sjc2URE1F0cD6ynpqbw%2BOOP4/HHH8drr72GWCym///u3buRTCaxfPlyjI2N4aqrrsIf//hH/OpXv9L/iIiIGtWqKY8qBWJWA2W3BnNmz1mlKbgikTVFATWAusdY7bwZy2FMmGaljGbxIRMREdXj%2BBjrV199FUuWLKn43gMPPID99tuv6vsA8Lvf/a7hfedyKnbvjje8PtXn9ysYGIhgfDzOblRUF%2BsLWdVsnRkcXKiPL969%2B4UWlHBapa7R7erubQetrELEoCjj%2Bjkzcwyl66rqAKSMmjruats3Xjtjd/ZkclnV6%2BqFe4yX6kSn80J9obzBwQiEyCKRuN%2BFXcFPx9TUPHYF97jZs/vqLuN4YO0kBtatxy8lsoL1haxqts44HcS0M7BvllbW0qDYyjHYeb5Lt2X8fwAV96PVl3j8tsJ4afcFr16qE52O30newcCaWs1MYO14V3AiIiKnON3F163dvSvRyhqPj%2BjnLBwehRAxqOqAqWOw83yXbsvYZbzSfsLhUfT3vxPAXQiH17dl/HojvFQniIhoGgNraqlg8F4ABxb%2BJSJqnUrjals1htouTgf2VlQqa2/vBijKOKSMOn4M9QJSLfAGbkYyudK1wauX6gQREU1jYE0tFQ6vB7C98C8RUetUSnLVrsza3apeMFvtwUYrHnjUC0i1sgKrkU4vZ/BKRES2YmBNLZVMrgSwoPCvfdzeCkVE7VcpyHNTt1o33LfanS272oONWlNxtUoyuQwTEy8BuLLodTdcFyIi8j4G1tRS6fRyAC8X/rUPW6GIqFSlIM9N3Wqdvm%2BFw6OIRle1tQzVHmxUmorLqfNiZf8MwomIqBoG1uRJbmqFIiIyw%2Bn7Vn66qxyk9LWtDNUebBhfN3temglqtXUr5fuwcl2cfghARPWECpm43fEHhJw%2BIdRGnG6L0221FKeqICtYX8gq1hnztOmoMplFCAS2tWyqqb6%2BYYRCm5FKLcXk5EbbttvMNFTGdX2%2BVzw7PRu1F%2B8v3jE4GIGiqMhknmv5vqQMIZsNWFi%2BH1NTkRaWiNrBzHRb/jaUg4iIiByWTC4rmndam5bKCjOBZSi0GULkEApttjWw1rqNN9Larq2bTK5EpInft9o5JCL3kVIinf49gFQL9xKCEMchmZwDs02TXdyG2XXYFZyIiLqeF8fONlrmWl2f623TTFfoVGoppPQhlVpqukxmjqWZ8fLaunbn%2B2iGF%2BsckbtJABOQcm/L/oAJACqkzAfMZv6oezCwJiKirufFsbONlrlWgFpvm2bGI09ObsSuXeOWWqu9eP6b1Y3HTETUyRhYExGRK7WzRc/pxGL1VDoXlcrc7Dmrdx6qBeWt3q8d%2B3Abt9c5IiKyhsnLmLyspZj4g6xgfSEjM8mquqXOmE3cpS2nqgOQMmopyZZx/DQAS0m6tP1K6UMstq4l45CbSV6m6Zb6QvZgffGOwcEIhMgikbgfUiZbtp98tu/TMTU1j928u4yZ5GVssSYiIldii940s%2BdCWw6A5W7Gxq7JVrspJxIrIKUPQuSqrtOOVm0iIiKnMLAmIiJXaiZZVacxey605eLxEctBqDFwtRrEJpPLEIutq7lOs2OKWR%2BIiMjNON0WERFRh2lkWqjSdZpdv1Qz02Vx/mgiInI7tlgTEZnUacmTOu14yN2aaXFmBm0iInI7BtZERCZ12o/7Tjseaq3SBzH1HszY%2BeCG46uJiMjtGFgTEZnUaT/uO%2B142qFVrfxe6D1Q%2BiCm3oMZOx/ccHw1EZkTKmTubs0fEHL6AMnFOMaaiMikRsatulmnHU87GIPFRs9dpfHCdmzX6j6tjlsuHSNdb8x0M2OqiYisEkJBMHh4y7YvZQjZbABS9nOqLaqI81hzHuuW4hyQZAXrC1nV7jpTLxg1E6xWmo%2B51cm5Ku3T%2BJoxCHbDw5ZWnQ/eY8gK1hfvyM9jnUMisQlAqgV7CEGI45BMzoGqdm3o1NU4jzURUZfwQlfiTlCvS7LW8hyNrqp6LSp1wbfa1TkcHsXQ0AIMDS1AX99w3WtfaZ/G15rttm13/eP4fyKyTgKYgJR7bf8DJgCo6N7mSDKDgTURUQdgINJ%2BlYLJRGIFpPRBiFzRtTAua8d44d7eDVCUcSjKOEKhzUXXvlK5Ku3T%2BFqz4%2B3trn8c/09ERF7DwJqIqAMwEGm/SsFkMrkMsdi6smvRisBTVQegqgNIpZYW7a%2BRfdUK9s20Rttd/5isjIiIvIbJy4iIOgATkbVfteRcla6F3Ym8al1vu/dlJrEa6x8REXU7tlgTERE1wEqrajtbYO3el1d7QzDvABERtRMDayIiIqqqNFD3SsDKvANERNRODKyJiMgxXgnSaJpXAlavtrQTEZE3MbAmIiLHeCVIs8rsA4N6y7nxwYNXAlYmQCMionZiYE1ERI7xSpBmldkHBvWWM7uddgbgDFiJiIjKMbAmIiLHtCNIc6LV1%2BwDg3rLmd1Op7b8ExEReQUDayIi6mj1gk6rgbeZ5c0%2BMKi3nNntdGrLPxGRNSEIEbb9Dwg5fWDkAZzHmoiIOlq1eZ3D4VH09m6AEDEoynjNeZobWb6dOI80EXU7IRQEg4fbvl0pQ8hmA5CyH1JK27dPnYOBNRFRl9ICxURiRUcHZdWCTq0lW1UHLHW3Nru8Gd1yDYiIWk3%2Bf/buPEyuss4X%2BLe6O002GhIgQFglDLnIJg4KwUBYBzQsggS8w6JcZAsIVxYNXHUU0QGH4MIWGXEEAsgFES8gXMCFRQQXEJzIIoHLJhMgCTRZm3TX/QPTJCaQrpzqrqr05/M8/XT6nNNVv%2B7%2Bcahvve95T7mcjo6nkiys4qOullJphyxYsF66uoRq3pup4AD9VH%2B/Lnfx9Om5c79c0XTrnh6/PH8/jXzJv0E9rgAO0DjKSdpTLr9RtY%2BkPUlXDFTTE4I1QD9Vz9fl9kXIrGThtCIjy0v%2BLH//ZsaSf4P%2B/kYHADQywRqgn6rn2ybVW8gsUs%2BS3/v3b2Ys%2BTeo5zc6AID3JlgDUHfqLWQuruett3aseCR9yZ/lvd7MqOc3OgCA9yZYA1B33itkvtc08d6aQr54RHm11X5S8ci1wAwAqz7BGoCGsuTU6tbW7yfZ9G%2Bf39k3ZMg5VQ/Yb99qqzPlcnOvjqRX880BC6IBQN8QrAH6iVqHrGo9/5JTqwcOnJzkub99fmdfkqpfo734sefMuWCFo89FftZqXl9eb9eqA8CqSrAG6Cd6K2T1NERW6/mXnFq9YMHpSYanVJqTgQOv6N43d%2B6Xq36NdiVTuov8rNW8vrzerlUHgFWVYA3QT/RWyOppiOyN5%2B/o%2BEyS1dPUNHup56/mdc0rM/pc5GetRu2La07i%2Bm4A6AOCNUA/0VuLaNV%2BVHRSrz7/yow%2B13rBMlPAgf5ptZRKA6v2kaxW6x%2BIBtJS6wIAaGxvT8mubHp0dQPnCWlvPzKLFnVV8THfMW/ead33oG4UjVgzQBGlUlNaW7dZ4XHl8mpZtGhAjx%2B3XG5LuVwuUhr9hGAN1K2BA6/oDgcrE8SKfj/V1ahhr6dvHNSTRqwZoIhyuZyOjqeSLHyPo1ZLqbRDFixYLz3NykI1PWUqOFC3ik5nNR32HbVeETyp/fRoAFZl5STtKZffeNePpD1JV8rltwNzTz6gpwRroG4VvXa39tf%2B1g9vMgAA9B5TwYG6VXQ6q%2Bmw72jUadgAAI3AiDVAP1DP07DrYZo6AEARgjVAP1RPYXZVmqZeT79XAKDvCNYA/VA9hdmeXAv/3oF1StratqyLMFtPv1cAoO8I1kBdMwLYO%2BppYbeeTFN/78B6Xt2E2Xr6vQIAfUewBuqaEcDe0VfXXFfrjZH3DqyT6ibM1vO17ABA7xGsgbpmBLCxVeuNkfcOrCekvf1xYRYAqBnBGqhrPR0BNGW8PnljBADoD9zHGlglLDkyauSyfriXOAB9Z7WUSu%2B9P3nPA2ClCdbAKmHevNMyePCFRkYBoB8qlZrS2rrNCo8rl8sZOHBu5s8f3AdV0Z8I1sAqwchobQ0ceEX3Gxv%2BDgD0tXK5nI6Op5IsXMGRLSmVPpRSaUjK5XJflEY/IVgDUNiQIeekqWl2hgw5R7AGoAbKSdpTLi94z6NKpYF9Uw79jsXLAOrIyi7CZvE2AIDaEayhDglJ/dfK3p6q1vf7njv3y%2BnsEqhwHwAAIABJREFU3Chz5365Js8PAFBLgjXUoVqHJGpnZW9PVevbWvX0tmgAAKsiwRrqUK1DErWzsgG1aLA1SwIAYOUJ1lCHjP71vf4eLGs1S6K//94BgFWDYA0Q0%2B9XNEuitwLw8n7vq2LYXhV/JgDgHYI1QPrH9Pv3CncrmiXRW288LO/3viq%2BybEq/kwAwDsEa4D0j%2Bn3RcJdb73xsLzf%2B6r4Jseq%2BDMBAO9oqXUBAPSNefNOy%2BDBF65UuFuw4Jg%2Be9OhL5%2Brr6yKPxMA8A7BGqCfEO4AWLWtllJpxcdAbxCsAQCAhlYqNaW1dZv3PKZcXi2LFg1IudyWcrncR5XRX7jGGhqIlYWpF3oRgHpSLpfT0fFUOjr%2B9C4fT2XRotWyYMHIzJ8/pNblsgoSrKGBWFmYeqEXAagv5STtKZffWO5H0p6kKwaq6S2CNTSQoisLG2XsW6vy79sq1wAA7xCsoYEUvSWUUca%2BtSr/vvvD7ckAAHpKsIZ%2BpFFGGVtbv79KjPQ2yu%2B7UqvySDwAwMqoebB%2B7rnn8uUvfzkHHnhg3v/%2B92e//fZb7nH33HNPPv7xj2ebbbbJ3nvvnWuuuaaPK4XG1yijjAMHTl4lRnob5fddqVV5JB4AYGXUPFj/5S9/yT333JNNNtkko0aNWu4xjzzySCZOnJj3v//9%2Bfd///ccdNBBOffcc3PDDTf0cbVAX1iw4PRVcqS3lqo5yryqjsQDAKysUrnGN3Hr6upKU9Pb%2BX7SpEn5z//8z9x6661LHfOZz3wmb7zxxlJB%2Bktf%2BlJ%2B%2Bctf5t577%2B3%2B/kp1dnZl1qy5K188K9TS0pRhw4Zk9uy5WbSoq9blUOf0S%2B8ZPnyrNDe/kM7OjTJr1rRal1M1eoZK6BcqoV8ax/DhQ1IqLcq8eT9MubxguceUSgNTKu2W%2BfNHuoc1FVtnndVXeEzNR6xXFIo7Ojry4IMPZvz48Utt33///fPqq6/mz3/%2Bc2%2BWB7BKMMoMANB7ah6sV%2BT555/PW2%2B9lc0222yp7ZtvvnmSZPr06bUoqxAL/wArUu3zxKp6vTcAQD1oqXUBK/LGG28kSdra2pbavvjrxftXVktL37%2B3sOTCP4sWHdvnz9%2BXmpublvqcvL3i88CBk7Ngwenp6PhMrUqjDi2vX/qr/nSeKELPUAn9QiX0S6Mppbl5YMrlUveWJWd8l0qrpVQqpaWltNQxUC11H6wXK5WW/x/Au23viaamUoYNG7LS37/yzk5yXpqbJ9Xo%2BfteW9ugJb76VpIXMmTItzJkyKm1Kok6tnS/9Ff97zxRhJ6hEvqFSuiXxlAud2XQoA/83dbWJEv%2B/doyaJD/p9I76j5Yr7HGGkmWHZlub29PsuxIdiW6usppb5%2B38sWttCP/9pEkq/biac3NTWlrG5T29vnp7Hx74Y/W1s/9bcT6c%2BnoWLV/fiqzvH7pv4qdJ/rLzBA9QyX0C5XQL42jrW1QSqVy5s9/POXywiSLR6h3SEfH2t0j129/9tqTyvVkkKPug/XGG2%2BcAQMG5Jlnnsmuu%2B7avf3pp59Okne9RVdPWeWxb3R2dnX/rhct%2Bh%2BZN%2B9//G2P3z/LWrJfWDltbW/fC3zgwMlL/Pe26tIzVEK/UAn90ijK6ep6o3tV8LdXAe/MW2%2BVrQJOn6j7i0ZaW1uz00475fbbb19q%2B6233pp11lkn73//%2B2tUGVCUhfx6j1XAAQD6Ts1HrOfPn5977rknSfLSSy9lzpw5ueOOO5IkH/7whzN8%2BPCcdNJJOeKII/LFL34x%2B%2B%2B/fx5%2B%2BOHccMMNOeecc1b6HtZA7S25QJfVqqtrwYJj/E4BAPpIzYP1zJkzc%2BqpSy9gtfjrq666KjvuuGO23377XHrppbnwwgtz8803Z7311ssXv/jFTJgwoRYlA1Uyb95pGTz4QqOqAAA0tIqD9Te%2B8Y0cfvjh2WSTTapSwIYbbpgnn3xyhceNGzcu48aNq8pzArU3cOAV3aHayCoAAI2s4nnUN9xwQz760Y/mM5/5TH71q1/1QklAf7DkNHAAAGhkFQfr%2B%2B67L5MmTcpLL72UE044IXvuuWeuuOKKZW6HBfBeLK4FAMCqolQusP78/fffn6lTp%2Bbee%2B9Na2trxo8fnyOOOCJbbrllNWvsNZ2dXZk1y73selNLS1OGDRuS2bPnulUFK6RfqJSeoRL6hUrol8YxfPiQlEqLMm/eD//udlu7Zf78kW63RWHrrLP6Co8ptKT22LFjM2XKlNx1113ZbrvtctNNN%2BXggw/OP//zP3ev9A1QbW7TBQBAPSkUrDs6OnLTTTfllFNOyUMPPZRNN900J5xwQubOnZsTTjghU6ZMqVadQC9rpLDq%2BmwAAOrJSgXrF198Md/85jezyy675H/9r/%2BVYcOG5fLLL8/tt9%2BeU089NT/96U9zzDHH5Kqrrqp2vUAvaaSw6vpsAGBZq/1tCvjAJKvVuhj6mYpvt3XCCSfkvvvuS2traw466KAceeSRed/73rfMcXvuuWe%2B//3vV6VI6O/64tZUjXRP6QULjnGLLgCgW6nUlNbWbZIk5fJqWbRoQMrlNtdX02cqDtZPP/10zjzzzBxyyCEZOnToux73D//wD/mP//iPQsVRPe4Z3NiWHE3urb%2BfsAoANKpyuZyOjqeSJKXSDlmwYL10dQnV9J2Kg/Xdd9/do%2BOGDh2aMWPGVFwQvaMvghm9p5FGkwEA%2Bl45Sfvf/t0VA9X0tYqvsd56663z2GOPLXfftGnTsvXWWxcuiupzTWpjW7DgmMyaNa1fvinSSIuqAQDQP1UcrBctWvSu%2Bzo7O9PZ2VmoIHpHfw5mNLZGWlQNAID%2BqdDttv7eE088kba2tmo%2BJNDPmW0BAEC969E11ldffXWmTp2aJCmVSjn11FPT2tq61DELFizIK6%2B8kr333rv6VQL9lkXVAACodz0K1mussUY22mijJMlzzz2Xddddd5kVwRfffuvoo4%2BufpUAAABQp3oUrA844IAccMABSZJ//ud/zte%2B9rWMGjWqVwsDAACARlDx7bauvfba3qgDAAAAGlKPgvWMGTOy1lprpaWlJTNmzFjh8euuu27hwgAAAKAR9ChY77bbbrn%2B%2Buuz7bbbZty4cSmVSu95/OOPP16V4gAAAKDe9ShYn3POOd2Ll33ta1/r1YIAAAAqt9rfPpdSKiXlck2LoZ/pUbCeMGHCcv8NtTBw4BUZPPjCzJt3mtswAQCQUqkpra3bJEnK5XIGDnw55fLqmT9/SI0ro7%2BoePEyqLXBgy9Mc/MLGTz4QsEaAICUy%2BV0dDyVZGGSziTNKZXGpFQamrKha/pAj4L1LbfcUtGD7r///itVDPTEvHmndY9YAwBAUk7SnnJ5QZKkVBpY23Lod3oUrM8888weP2CpVBKs6VULFhxjpBoAAKgbPQrWd955Z2/XAf2S68UBAKDx9ShYb7zxxr1dBzSEagfherxeXNgHAIDKNNW6AGgkSwbhapg377R0dm5UV9eLV/tnBACAVd1KrQr%2Bwgsv5Prrr8/06dOzcOHCpfaVSqVcccUVVSkO6k21F06rx%2BvFLQ4HAACVqThYP/3005kwYULWWmutvPTSS9l8880ze/bsvPbaa1lvvfWywQYb9EadUBfqMQhXW3/4GQEAoJoqngo%2BefLk7LzzzrnjjjtSLpdz3nnn5f7778/FF1%2Bcjo6OilYQBwAAgEZXcbCeNm1aDjrooDQ1vf2tXV1dSZK99torn/70pzN58uTqVggAAAB1rOJg3d7enjXXXDNNTU1paWnJm2%2B%2B2b1v2223zX/%2B539WtUCg/2lt/X6GD98qAwdarwEA6KnVUioNTKk0MMlqtS6GfqbiYD1ixIi8/vrrSZJNNtkkv//977v3PfXUUxk8eHD1qgP6pYEDJ1uZHACoQFNKpTEplXb728eYlMttKZfLtS6MfqLixcv%2B8R//MY888kj22muvjB8/Ppdeemlee%2B21tLa25sYbb8z48eN7o06gH1mw4PQMHDjZyuQAQI%2BUy02ZP3/k320Tquk7FQfr448/PjNmzEiSHHfccXnllVdyyy23pFQqZa%2B99sqkSZOqXiTQv3R0fCbz5v2PWpcBADQQQZpaKpX7cQd2dnZl1qy5tS5jldbS0pRhw4Zk9uy5WbSoq9blUOf0C5XSM1RCv1AJ/dI4hg8fkiRe19Nr1lln9RUeU/E11gAAAMA7Kp4KPmXKlPfcXyqVcvzxx690QQAAANBIKg7W3/72t991X6lUShLBGgAAgH6j4mA9bdq0ZbbNnj07P//5zzN16tRcdtllVSkMAAAAGkHF11g3Nzcv87H22mvnsMMOy/jx43P%2B%2Bef3Rp0AAABQl6q6eNl2222XBx54oJoPCQAAAHWtqsH6qaeeyqBBg6r5kAAAAFDXKr7G%2BpZbbllmW0dHR5588snccMMN%2BdjHPlaVwgAAAKARVByszzzzzOVuHzBgQPbbb7%2BcddZZhYsCAACARlFxsL7zzjuX2bbaaqtlxIgR3bfbAgAAgP6i4mC98cYb90YdAAAA0JAqDtbTp0/P/fffn7/%2B9a8plUpZb731stNOO%2BW//bf/1hv1AQAAQF3rcbBub2/PF7/4xdx1110pl8tL7SuVSvnwhz%2BcyZMnZ%2B21106SvPLKKxkxYkR1qwUAAIA606Ng3dHRkaOPPjpPPPFEDj744Oy1117ZcMMNUy6X89JLL%2BWuu%2B7KT3/60xx22GH56U9/mtdffz1HH3107rrrrt6uHwAAAGqqR8H6qquuytNPP50rr7wyO%2Byww1L7tthii%2By%2B%2B%2B75%2BMc/nuOOOy5nn312HnvssTQ3N/dKwQAAAFBPmnpy0M9%2B9rMcddRRy4TqJX34wx/OEUcckTvvvDNtbW257rrrqlYkAAAA1KseBetnn302O%2B%2B88wqP%2B8hHPpJSqZRrr73W9dUAAAD0Cz0K1pUYOHBghg4dWu2HBQAAgLrUo2C9ySab5KGHHlrhcQ8%2B%2BKD7XAMAANCv9ChY77vvvrnyyivz2GOPvesxjz76aK666qp89KMfrVpxAAAAUO96tCr4UUcdlVtuuSWHH354DjvssOy5557ZcMMNkyQvvvhifv7zn%2Bf666/PJptskk996lO9WjAAAADUkx4F68GDB%2BeHP/xhzjjjjEydOjXXXHPNUvvL5XLGjBmTb37zmxk0aFCvFAoAAAD1qEfBOknWWWedXHnllXn00Ufz61//Oi%2B//HKSZP3118/YsWOz7bbb9lqRAAAAUK96HKwX22677bLddtv1Ri0AAADQcKp%2Buy0AAADoTwRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACKl4VfLE5c%2BbkT3/6U2bPnp2xY8emra2tmnUBAABAQ1ipYP29730vU6ZMyfz581MqlXLjjTdmq622yqc//emMHTs2n/nMZ6pdJwAAANSliqeCX3fddfnOd76TAw88MJdeemnK5XL3vnHjxuWXv/xlVQsEAACAelbxiPXUqVNz1FFHZdKkSens7Fxq36abbpr/9//%2BX7VqAwAAgLpX8Yj1888/n3Hjxi1339ChQ9Pe3l64KAAAAGgUFQfr1VdfPTNnzlzuvpdeeilrrbVW4aIAAACgUVQcrHfcccdcccUVmT9/fve2UqmUzs7O/OhHP8rOO%2B9c1QIBAACgnlV8jfUpp5ySCRMmZPz48dlnn31SKpVy3XXX5c9//nNeeOGFXHDBBb1RJwAAANSlikes3/e%2B9%2BXaa6/NxhtvnKuuuirlcjk//vGPM2TIkEydOjUbbrhhb9QJAAAAdWml7mO9xRZb5Ic//GHmz5%2Bf2bNnZ4011siQIUOqXRsAAADUvYpHrJc0aNCgjBw5MgMGDMhzzz2Xrq6uatUFAAAADaHiYH3NNdfksssu6/76z3/%2Bc3bbbbfsu%2B%2B%2B%2BehHP5oZM2ZUtUAAAACoZxUH6%2Buvv36pad//9m//lqFDh%2Bbzn/983nrrrVx66aVVLXCxu%2B%2B%2BOxMmTMgHP/jB7Lzzzjn55JPzzDPP9MpzAQAAQE9VHKxffvnlbLbZZkmSOXPm5He/%2B11OP/30HH300fnsZz%2Bb%2B%2B67r%2BpFPvDAAzn55JPzvve9LxdddFG%2B9KUv5dlnn83RRx%2BdOXPmVP35AAAAoKcqXryso6MjAwYMSJI8%2Buij6erq6r539UYbbZTXXnutuhUmue222zJy5Micf/75KZVKSZINNtggEyZMyB/%2B8IeMGzeu6s8JAAAAPVHxiPX666%2Bfhx9%2BOEnyi1/8IqNHj87qq6%2BeJJk1a1aGDh1a3QqTLFq0KEOGDOkO1Um6nxMAAABqqeJgvd9%2B%2B%2BWSSy7JhAkTct111%2BWAAw7o3jdt2rRsuumm1awvSXLIIYfkmWeeydVXX5329va8%2BOKLOf/88zNq1KiMGTOm6s8HAAAAPVXxVPCJEyemqakpjzzySE488cQcddRR3fsef/zx7LXXXlUtMEk%2B9KEP5eKLL87pp5%2Bec889N0my%2Beab5wc/%2BEFaW1sLPXZLS6E7jrECzc1NS32G96JfqJSeoRL6hUrol8bjdT21VCqXy%2BVaF7EiDz/8cI477rgcdNBB2WOPPTJnzpxMmTIlHR0due6661Z6%2Bnm5XF5qejkAANB4vK6n1hoiWB988MEZOXJkLr744u5ts2bNyq677tq9IvnK6OzsSnv7/GqVyXI0NzelrW1Q2tvnp7Ozq9blUOf0C5XSM1RCv1AJ/dI42toGJYnX9fSaYcOGrPCYiqeCJ8kLL7yQ66%2B/PtOnT8/ChQuX2lcqlXLFFVeszMO%2Bq%2BnTp2ePPfZYatvw4cMzYsSIPP/884Uee9EiJ8q%2B0NnZ5XdNj%2BkXKqVnqIR%2BoRL6pXH4O1FLFQfrp59%2BOhMmTMhaa62Vl156KZtvvnlmz56d1157Leutt1422GCDqhc5cuTITJs2baltr776al555ZVeeT4AAADoqYqv8J88eXJ23nnn3HHHHSmXyznvvPNy//335%2BKLL05HR0fOPPPMqhd5%2BOGH5xe/%2BEXOOeec/PrXv87tt9%2BeY489NoMHD15qVXIAAADoaxWPWE%2BbNi1f/vKX09T0dibv6np7ysVee%2B2VZ555JpMnT87VV19d1SIPP/zwDBgwINdee21%2B8pOfZPDgwdlmm21y/vnnZ8SIEVV9LgAAAKhExcG6vb09a665ZpqamtLS0pI333yze9%2B2226byy67rKoFJm9ft33YYYflsMMOq/pjAwAAQBEVTwUfMWJEXn/99STJJptskt///vfd%2B5566qkMHjy4etUBAABAnat4xPof//Ef88gjj2SvvfbK%2BPHjc%2Bmll%2Ba1115La2trbrzxxowfP7436gQAAIC6VHGwPv744zNjxowkyXHHHZdXXnklt9xyS0qlUvbaa69MmjSp6kUCAABAvSqVy%2BVyrYuolc7OrsyaNbfWZazSWlqaMmzYkMyePde9BVkh/UKl9AyV0C9UQr80juHDhySJ1/X0mnXWWX2Fx1R8jTUAAADwjh5PBe/o6MgjjzySlpaWbLfddmlpacmLL76Yiy66KE888UTWXnvtHHXUURk3blxv1gsAAAB1pUfB%2BuWXX84RRxyRv/71r0mSTTfdNFOmTMlRRx2VGTNmZI011siTTz6Z3/zmN5k6dWo%2B%2BMEP9mrRAAAAUC96NBX80ksvzbx58/LVr341kydPTktLSyZOnJg111wz99xzTx566KH8/Oc/z6hRo3L55Zf3ds0AAABQN3o0Yv3AAw/k5JNPzqGHHpok2WCDDXLYYYdl8uTJWXfddbu3HXPMMfn2t7/de9UCAABAnenRiPWMGTMyevTo7q8X/3ujjTZa6riNNtoor776ahXLAwAAgPrWo2C9aNGitLa2dn89YMCAJElzc/NSx7W0tKSry%2B0IAAAA6D8K3W6rVCpVqw4AAABoSD2%2B3dbnP//5DBo0aKltp59%2BegYOHNj99fz586tXGQAAADSAHgXr7bfffpnR6eXdUmvQoEEZPnx4dSoDAACABtCjYH3dddf1dh0AAADQkApdYw0AAAD9nWANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAF9Oh2W8vz3HPP5be//W1mz56dgw8%2BOGuvvXZmzpyZ1VdfPa2trdWsEQAAAOpWxcG6q6srX/nKV3LjjTemq6srpVIpH/nIR7L22mvnrLPOytZbb51TTjmlN2oFAACAulPxVPDvfe97%2BclPfpLPfe5zufnmm1Mul7v3jRs3Lvfdd19VCwQAAIB6VvGI9U033ZQTTzwxxx57bDo7O5fat%2BGGG%2BaFF16oWnEAAABQ7yoesX755ZfzwQ9%2BcLn7Bg4cmLlz5xYuCgAAABpFxcF6%2BPDhefHFF5e779lnn826665buCgAAABoFBUH61133TXf%2B9738sorr3RvK5VKmTNnTqZOnZrdd9%2B9qgUCAABAPav4GutTTjklhxxySMaPH58xY8akVCrlu9/9bp588smUSqWceOKJvVEnAAAA1KWKR6xHjBiRG2%2B8Mf/0T/%2BUhx9%2BOEny6KOPZqeddsp1112X4cOHV71IAAAAqFcVj1gnb4frr3/969WuBQAAABpOxSPWAAAAwDsqHrH%2B0pe%2B9K77SqVS2trass0222SPPfbIgAEDChUHAAAA9a7iYH3vvfdm7ty5mTNnTpqamtLW1pb29vZ0dXVl6NCh6erqyrx587L55pvnyiuvzFprrdUbdQMAAEBdqHgq%2BPe%2B9720tbXlm9/8Zh599NE8%2BOCDefTRR3P%2B%2Bedn9dVXz5VXXpmrr746s2bNyoUXXtgbNQMAAEDdqHjE%2Bhvf%2BEY%2B9alP5YADDujeNmDAgBx44IGZPXt2zjvvvFxzzTU59thj84Mf/KCqxQIAAEC9qXjE%2BrHHHssWW2yx3H1bbLFFpk2bliTZcsstM3v27GLVAQAAQJ2rOFgPGTIkv/3tb5e777e//W2GDBmSJFm4cGH3vwEAAGBVVfFU8PHjx%2Bff//3fUyqVsu%2B%2B%2B2bttdfOa6%2B9lp/97Gf5/ve/n8MPPzxJMm3atGy22WZVLxgAAADqScXB%2BowzzsiMGTNy6aWX5rLLLuveXi6Xs%2B%2B%2B%2B%2Bb0009Pkmy77bYZM2ZM9SoFAACAOlRxsG5tbc13vvOdPPnkk/nd736X119/PWuuuWY%2B9KEPZfTo0d3HjR07tqqFAgAAQD2qOFgvNnr06KWCNAAAAPRHKx2sk%2BSNN97IggULltm%2B7rrrFnlYAAAAaBgrFawvv/zyXHXVVZk5c%2BZy9z/%2B%2BOOFigIAAIBGUfHttn7yk5/k0ksvzWGHHZZyuZxjjz02xxxzTEaMGJFNNtkkX/3qV3ujTgAAAKhLFQfrq6%2B%2BOscff3wmTpyYJNlnn31yxhln5I477sjgwYMzZ86cqhcJAAAA9ariYP3cc8/lAx/4QJqa3v7WRYsWJUkGDRqUY445Jj/60Y%2BqWyEAAADUsYqDdUvL25dll0qlDB06NP/1X//VvW/48OGZMWNG9aoDAACAOldxsN544427w/PWW2%2BdG264IZ2dnenq6soNN9yQkSNHVr1IAAAAqFcVB%2BuxY8fmoYceSpIcd9xx%2Bc1vfpMddtghO%2B20U26//fYcc8wxVS8SAAAA6lXFt9s69dRTu/%2B98847Z%2BrUqbnttttSKpWy22675SMf%2BUhVCwQAAIB6VlGw7ujoyP/5P/8n22%2B/fUaNGpUk2X777bP99tv3SnEAAABQ7yqaCt7a2pqvfOUrmTlzZm/VAwAAAA2l4musN9poo7z22mu9UQsAAAA0nIqD9ZFHHpnvf//7mTt3bm/UAwAAAA2l4sXLnnvuucycOTN77LFHdt5556yzzjoplUrd%2B0ulUiZNmlTVIgEAAKBeVRysr7zyyu5/33777cvsF6wBAADoTyoO1tOmTeuNOgAAAKAhVRysm5ube6MOAAAAaEgVB%2BvFfvOb3%2BShhx7K7Nmzc8IJJ2T99dfPtGnTMnLkyAwbNqyaNQIAAEDdqjhYL1iwICeddFIeeOCBlMvllEqlHHrooVl//fVz%2BeWXZ%2BTIkfnCF77QG7UCAABA3an4dlvf/va38%2Bijj%2BbCCy/M7373u5TL5e59Y8eOzW9%2B85uqFggAAAD1rOIR69tvvz2nnHJKPvrRj6azs3Opfeuvv37%2B%2Bte/Vq04AAAAqHcVj1jPnDkzW2yxxXL3NTc3Z8GCBYWLAgAAgEZRcbBed9118/TTTy9335NPPpkNN9ywcFEAAADQKCoO1nvvvXcuu%2ByyPPHEE93bSqVSXn755Vx11VXZZ599qlogAAAA1LOKr7E%2B%2BeST8%2Btf/zqHHHJIRo8enVKplC9%2B8Yt57rnnsvHGG%2Be4447rjToBAACgLlU8Yj106NBcf/31mThxYlpaWjJy5Mg0NTXl6KOPztSpUzNo0KDeqBMAAADqUsUj1kkyePDgTJw4MRMnTqx2PQAAANBQKh6xvuCCC/LMM8/0Ri0AAADQcCoO1ldeeWXGjx%2BfT37yk7nhhhsyZ86c3qgLAAAAGkLFwfq%2B%2B%2B7L2WefnY6OjnzpS1/KLrvski984Qv57W9/2xv1AQAAQF2rOFivueaaOfLII3PTTTflpz/9aQ499NDcf//9Oeqoo7Lnnnvmkksu6Y06AQAAoC5VHKyXNHr06Jx11lm59957c9FFF6WzszMXX3xxtWoDAACAurdSq4Iv6YUXXshNN92Um2%2B%2BOf/1X/%2BVESNGVKMuAAAAaAgrFaznz5%2BfO%2B64IzfddFN%2B//vfp6WlJbvvvnu%2B8pWvZJdddql2jd1uuOGGXH311Xn22WczdOjQbLfddpkyZUqvPR8AAACsSMXB%2Buyzz84dd9yRefPmZcstt8zZZ5%2Bd/fffP2uuuWZv1Nftoosuyg9/%2BMOccMIJ2W677fLGG2/kvvvu69XnBAAAgBWpOFj/4he/yMEHH5xPfOIT2XLLLXujpmVMnz49l112WS6//PKMHTu2e/vee%2B/dJ88PAAAA76biYH3fffdlwIAB77p/1qxZGT58eKGi/t72vqq1AAAgAElEQVRNN92UjTbaaKlQDQAAAPWg4lXBlxeqy%2BVy7rnnnnz2s5/NrrvuWpXClvToo49miy22yCWXXJIxY8Zk6623zhFHHJHHH3%2B86s8FAAAAlSi0Kvjzzz%2BfH//4x/nJT36SV199NQMGDMg%2B%2B%2BxTrdq6vfrqq5k2bVr%2B8pe/5Ktf/WoGDBiQiy%2B%2BOEcffXTuvPPOtLW1rfRjt7QUuuMYK9Dc3LTUZ3gv%2BoVK6RkqoV%2BohH5pPF7XU0ulcrlcruQbFi5cmNtvvz0//vGP8/vf/z7lcjmlUimf/vSnc9xxx2XYsGFVL/Kf/umf8txzz%2BXWW2/NP/zDPyRJXnnlley555455ZRTcuyxx67U4y6uHQAAaFxe11NrPR6xfuyxx3LjjTfmZz/7WebOnZtBgwbloIMOyj777JPjjz8%2Be%2ByxR6%2BE6iRZY401svbaa3eH6iQZMWJENttsszz99NMr/bhdXeW0t8%2BrRom8i%2BbmprS1DUp7%2B/x0dnbVuhzqnH6hUnqGSugXKqFfGkdb26Ak8bqeXjNs2JAVHtOjYL3//vt3B9gPfOAD%2BcQnPpGPfexjGTx4cN58881iVfbAqFGj8te//nWZ7eVyOU1NxaZ8LFrkRNkXOju7/K7pMf1CpfQMldAvVEK/NA5/J2qpR6n0L3/5S5Jk3Lhx%2BdrXvpZDDjkkgwcP7tXClrTbbrvltddey1NPPdW9bcaMGXnmmWcyevToPqsDAAAA/l6PgvXZZ5%2Bd0aNH51e/%2BlX233//HHbYYbnhhhsyZ86c3q4vydv3q95qq63y2c9%2BNj/72c9y991354QTTsjw4cNz6KGH9kkNAAAAsDwVLV72pz/9qfs66zfffDODBg3KuHHj8n//7//N1VdfnR122KHXCp05c2a%2B8Y1v5J577smiRYvyoQ99KGeddVY222yzlX7Mzs6uzJo1t4pV8vdaWpoybNiQzJ491/QcVki/UCk9QyX0C5XQL41j%2BPC3r3/1up7ess46q6/wmIpXBU%2BWvzL4JptsksMOOywHHXRQry1iVm2Cde/zPyUqoV%2BolJ6hEvqFSuiXxiFY09t6LVgv6fnnn8%2BNN96Ym2%2B%2BOa%2B88kpWW221PProo0Uess8I1r3P/5SohH6hUnqGSugXKqFfGodgTW/rSbAufBf1jTfeOKeddlp%2B9atf5bLLLssuu%2BxS9CEBAACgYfT4PtYr0tTUlN133z277757tR4SAAAA6l7hEWsAAADozwRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAhoyWM%2BdOze77rprRo8enT/96U%2B1LgcAAIB%2BrCGD9aWXXprOzs5alwEAAACNF6ynT5%2Bea6%2B9Np/97GdrXQoAAAA0XrD%2B%2Bte/nk9%2B8pN53/veV%2BtSAAAAoLGC9R133JEnnngiJ510Uq1LAQAAgCRJS60L6Kn58%2BfnvPPOy2mnnZahQ4dW7XFbWhrqvYWG09zctNRneC/6hUrpGSqhX6iEfmk8XtdTSw0TrC%2B77LKstdZaOfjgg6v2mE1NpQwbNqRqj8e7a2sbVOsSaCD6hUrpGSqhX6iEfmkM5XLZ63pqqiGC9UsvvZQf/OAHueSSSzJnzpwkybx587o/z507N0OGVP4fUldXOe3t86paK0trbm5KW9ugtLfPT2dnV63Loc7pFyqlZ6iEfqES%2BqVxLH7zw%2Bt6ektP3rRpiGD94osv5q233spxxx23zL6jjjoq2223Xf73//7fK/XYixY5UfaFzs4uv2t6TL9QKT1DJfQLldAvjcPfiVpqiGC95ZZb5qqrrlpq2%2BOPP55//dd/zVe/%2BtVss802NaoMAACA/q4hgnVbW1t23HHH5e7baqutstVWW/VxRQAAAPA2S%2BcBAABAAQ0xYr08O%2B64Y5588slalwEAAEA/Z8QaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAApoqXUBPXH77bfnlltuybRp0/LGG29ko402yn//7/89n/zkJ9PU5L0BAAAAaqchgvV//Md/ZOTIkfn85z%2BftdZaKw899FC%2B/vWv54UXXsgXvvCFWpcHAABAP9YQwXrKlCkZPnx499c77bRT5s2bl2uuuSaf%2B9zn0traWsPqAAAA6M8aYh71kqF6sS233DILFy7M66%2B/XoOKAAAA4G0NEayX5w9/%2BEPWXHPNrLXWWrUuBQAAgH6sIaaC/70//elPuemmm3LSSSelubm50GO1tDTsewsNobm5aanP8F70C5XSM1RCv1AJ/dJ4vK6nlkrlcrlc6yIq8eqrr%2BbQQw/Nuuuum6uvvjoDBgxY6ccql8splUpVrA4AAOhrXtdTaw0VrN98880ceeSRWbhwYa699toMGzas0ON1dnalvX1%2BlapjeZqbm9LWNijt7fPT2dlV63Koc/qFSukZKqFfqIR%2BaRxtbYOSxOt6es2wYUNWeEzDTAVfuHBhTjzxxLz22mu5/vrrC4fqxRYtcqLsC52dXX7X9Jh%2BoVJ6hkroFyqhXxqHvxO11BDBetGiRTn11FPzxBNPZOrUqdlggw1qXRIAAAAkaZBgfc455%2BSXv/xlzjzzzCxYsCB//OMfu/dtvvnmGTp0aA2rAwAAoD9riGB9//33J0n%2B7d/%2BbZl9V111VXbccce%2BLgkAAACSNEiw/sUvflHrEgAAAGC53OwNAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGgAAAApomGD97LPP5phjjskHPvCBjBkzJueee24WLFhQ67IAAADo51pqXUBPtLe351Of%2BlRGjhyZ7373u5k1a1b%2B9V//Na%2B//nouuOCCWpcHAABAP9YQwfpHP/pR2tvbc/PNN2f48OFJkubm5pxxxhk58cQTM2rUqBpXCAAAQH/VEFPB77333owZM6Y7VCfJPvvsk9bW1txzzz01rAwAAID%2BriGC9fTp05cZlW5tbc3GG2%2Bc6dOn16gqAAAAaJCp4O3t7Wlra1tme1tbW954442VftymplKGDx9SpDRWoFR6%2B/MaawxKuVzbWqh/%2BoVK6RkqoV%2BohH5pHE1NpXR1ldPS0hBjhqyiGiJYv5tyuZzS4rPeSiiVSmluXvnvp%2Beampzo6Dn9QqX0DJXQL1RCvzSG5uZShg0zYEbtNMSZoq2tLe3t7ctsf/PNN5c7kg0AAAB9pSGC9ahRo5a5lrqjoyPPP/%2B8FcEBAACoqYYI1rvuumsefPDBzJ49u3vbXXfdlY6OjowbN66GlQEAANDflcrl%2Bl%2BOob29Pfvtt1822GCDTJw4MTNnzsx5552XsWPH5oILLqh1eQAAAPRjDRGsk%2BTZZ5/Nueeemz/84Q8ZOHBg9ttvv5xxxhkZOHBgrUsDAACgH2uYYA0AAAD1qCGusQYAAIB6JVgDAABAAYI1AAAAFCBYAwAAQAGCNQAAABQgWAMAAEABgjWFHHnkkRk9evRyP2677bbu4%2B655558/OMfzzbbbJO9994711xzTQ2rppZ60jOTJk1a7v577723xtVTC3fffXcmTJiQD37wg9l5551z8skn55lnnlnmOOcZkp71i3MMS/rlL3%2BZgw46KFtvvXXGjRuX7373u%2Bns7FzmOOcY4L201LoAGtu//Mu/ZM6cOUttu/LKK3PnnXdmzJgxSZJHHnkkEydOzIEHHphJkybl4YcfzrnnnpvW1tZMmDChFmVTQz3pmSTZaKONcsEFFyx13KhRo/qkRurHAw88kJNPPjkHHHBA/uf//J9pb2/PxRdfnKOPPjq33XZbhg4dmsR5hrf1tF8S5xje9sc//jETJ07Mxz72sZx22mmZPn16vvWtb2X%2B/Pn5whe%2B0H2ccwywIoI1hWy%2B%2BebLbDv99NPzkY98JMOHD0%2BSXHLJJXn/%2B9%2Bfb3zjG0mSnXbaKS%2B//HK%2B853v5BOf%2BESamkyc6E960jNJMnDgwHzgAx/oy9KoQ7fddltGjhyZ888/P6VSKUmywQYbZMKECfnDH/6QcePGJXGe4W097ZfEOYa3XXTRRdlyyy0zefLkJMkuu%2BySzs7OfOtb38oxxxyTtddeO4lzDLBizgJU1cMPP5wXX3wx%2B%2B%2B/f5Kko6MjDz74YMaPH7/Ucfvvv39effXV/PnPf65FmdSRv%2B8ZWNKiRYsyZMiQ7pCUJKuvvvpSxzjPsFhP%2BgWW9Pjjj2fs2LFLbdtll13y1ltv5f7770/iHAP0jGBNVd16660ZNGhQ9txzzyTJ888/n7feeiubbbbZUsctHrWcPn16n9dIffn7nlns%2Beefzw477JCtt946Bx98cO6%2B%2B%2B4aVUgtHXLIIXnmmWdy9dVXp729PS%2B%2B%2BGLOP//8jBo1qvvSAecZFutJvyzmHEOSLFy4MAMGDFhqW2tra5J3zh3OMUBPmApO1SxatCh33HFH9txzzwwePDhJ8sYbbyRJ2traljp28deL99M/La9nkmTLLbfMNttsk8033zxvvvlmrrvuupx00kn5zne%2Bk3333beGFdPXPvShD%2BXiiy/O6aefnnPPPTfJ2y9mf/CDH3S/%2BHWeYbGe9EviHMM7Nt100zz22GNLbfvjH/%2BY5J1zh3MM0BOCNVXz61//OjNnzsx%2B%2B%2B23zL4lp%2BX1ZDv9w7v1zKc%2B9amlvt5jjz3yyU9%2BMt/97ne96O1nHn744Zx55pn5xCc%2BkT322CNz5szJlClTcuyxx%2Ba6665bajEq5xl62i/OMSx2%2BOGH56yzzsqVV16ZAw88ME8//XS%2B/e1vp7m5eZlzh3MM8F5MBadqbr311qy55ppLXau0xv9v7/5jqiz/P44/UfkREAgCoQhqSkeUH%2BbGAAtDnEplNpqSvxB/YmnTaqskl0TTFP%2Bw8hyhRCVFaaKSDh3VMlObaZZsOKaFrOkgMRSVTEDh8P2jr0dPoB4%2BR6Xi9djY4DrXfd/vc3Pt2t73%2BzrX8fQEWj/NraurA1o//ZXOpa0x05YuXbowevRoKioqaGhoeEDRyT/B0qVLiY6OZvHixcTExDBq1ChycnL49ddf2bZtG6B5Rm6yZby0RXNM55WYmMiMGTNYuXIlUVFRTJ8%2BnYkTJ%2BLp6Ymvry%2BgOUZEbKPEWu6JhoYG9u7dS0JCgtVnlYKCgnB0dGz1HaKnTp0C9NUmndntxszttLS0PICo5J%2BmoqKCgQMHWrV5e3vj5%2BfHmTNnAM0zcpMt4%2BV2NMd0Tg4ODixatIjDhw%2Bza9cuDh06RFJSErW1tURERACaY0TENkqs5Z745ptv%2BPPPP1vt7Ozk5ER0dDTFxcVW7bt378bX15dBgwY9yDDlH%2BR2Y6YtZrOZL7/8kuDgYFxcXB5AdPJP0atXL8rKyqzaampq%2BP333wkICAA0z8hNtoyXtmiOkYcffpiBAwfi4eFBXl4eAQEBDBs2DNAcIyK26fruu%2B%2B%2B29FByL/fqlWraGxsJC0trdVnjQIDA/n44485e/Ysbm5uFBUVkZubS1paGqGhoR0UsXS0242Zqqoq5s%2Bfz/Xr1/njjz8oKytj6dKllJSUkJGRocpAJ7Rx40YuXrxIt27dKCsrIz09nYaGBjIyMnBzcwM0z8hNdxsvmmPkVqWlpRQVFVFfX095eTnr168nPz%2BfDz/8kKCgIEs/zTEicjcOLVr7JHa6fPkyTzzxBCkpKbzxxhtt9tm/fz%2BrVq2ioqICf39/ZsyYwZQpUx5wpPJPcacxc%2BnSJdLS0igrK6O2thZHR0dCQ0NJTU0lNja2gyKWjtLS0kJBQQH5%2BfmcOXMGV1dXwsLCeO211zAYDFZ9Nc%2BILeNFc4zc6sSJE6Snp1NeXg5AREQECxcu5PHHH2/VV3OMiNyJEmsRERERERERO%2Bgz1iIiIiIiIiJ2UGItIiIiIiIiYgcl1iIiIiIiIiJ2UGItIiIiIiIiYgcl1iIiIiIiIiJ2UGItIiIiIiIiYgcl1iIiIiIiIiJ2UGItIiIiIiIiYgcl1iIi/2GFhYUYDAbLz6BBgxg%2BfDhpaWmcO3euo8O7J06dOoXRaKSystKm/jfuiS39k5OTSU5OtjfEOzp27BhGo5G6urq7Xr%2B%2Bvh6j0ciRI0fua0wiIiLSPkqsRUQ6geXLl7N161Y2bNhAUlISu3fvZvLkyVy9erWjQ7PbqVOnMJlMVFVV2dQ/Li6OrVu34ufnd58js01JSQkmk6nNxDo9PZ309HTL3/X19ZhMJn744YcHGaKIiIjcRbeODkBERO6/4OBgwsLCAIiOjqa5uZmsrCy%2B/vprxo0bZ9e5m5ubaW5uxsnJ6V6Eet95e3vj7e3d0WHYZMCAAR0dgoiIiNhAFWsRkU5oyJAhAPz222%2BWtpqaGpYsWcLw4cMJDQ0lPj4ek8lEU1OTpU9lZSUGg4GcnByysrKIj48nLCyMw4cPA1BXV8eKFSsYOXIkoaGhxMTEMGfOHCoqKiznuHbtGllZWSQkJBAaGkp0dDRpaWnU1tZaxRgfH8/cuXM5cOAAiYmJhIeHk5CQwPbt2y19CgsLWbhwIQDTpk2zLHkvLCy87Xtvayl4S0sLOTk5jBgxgrCwMBITE9m/f3%2Bbx1%2B5coXMzEzi4%2BMJDQ0lNjaWZcuWtar%2BGwwG3nvvPXbu3MnTTz9NREQE48aNY9%2B%2BfZY%2BRqORlStXAjBy5EhL/DeWet%2B6FLyyspKYmBgATCaTpe%2BiRYv48ccfMRgM7N69u1W8O3fuxGAwUFpaett7IiIiIvZRxVpEpBM6ffo0gKVyW1NTw4QJE%2BjSpQvz588nKCiIkpISsrOzqaqqYvny5VbH5%2BXl0bdvX9566y3c3d3p06cPV65cYfLkyVRVVTF79mwiIiK4evUqR48epaamhv79%2B2M2m5k3bx4//fQTs2bNYujQoVRVVWE0GiktLWXHjh24uLhYrnPy5EkyMzOZM2cOPj4%2BbNu2jcWLF9OnTx8iIyOJi4vj9ddfZ9WqVSxZsoTBgwcDEBQU1K77YTKZMJlMjB8/njFjxlBdXc0777yD2WymX79%2Bln719fVMnTqV6upqXnrpJQwGA%2BXl5axevZpffvmFTz/9FAcHB0v/b7/9luPHj7NgwQJcXV1Zt24dr7zyCl988QWBgYFMmDCBy5cvk5eXh8lkwtfXF2i7Uu3n58e6deuYPXs248ePZ8KECZb/YVBQEIMGDWLLli2MHTvW6rjNmzcTFhZGeHh4u%2B6JiIiI2E6JtYhIJ2A2m2lqaqKxsZGjR4%2BSnZ2Nm5sb8fHxwF%2BV08uXL7Nnzx569eoFQExMDC4uLmRmZjJr1iyrZM/Z2Zn169fj6OhoaVuzZg3l5eXk5uYybNgwS/vo0aMtvxcXF3Pw4EGMRqNV%2B8CBAxk/fjyFhYVMnjzZ0n7x4kU%2B%2B%2BwzS0yRkZEcPnyYoqIiIiMj8fb2pk%2BfPsBfyeiNSnx71NXVkZOTw6hRo1i2bJmlfcCAAUyaNMkqsc7Ly%2BPnn3%2BmoKDAsrQ%2BJiaGRx55hAULFnDgwAGeeuopS//GxkZyc3Nxd3cHYPDgwcTGxlJcXExqair%2B/v707NkTgJCQEHr37n3bOJ2cnCwPDvz9/Vu91%2BTkZNLS0jhx4gQhISEAlJaWcvz4cTIzM9t9X0RERMR2WgouItIJJCUlMXjwYIYOHcrcuXPx8fEhJycHHx8f4K/KalRUFH5%2BfjQ1NVl%2Bhg8fDtBqs6z4%2BHirpBrg4MGD9O3b1yqp/rt9%2B/bh4eHBiBEjrK4TEhKCr69vq%2BuEhIRYkmr4K6Hv27ev1RJ2e5WUlNDY2Mhzzz1n1T506FACAgJaxR8cHExISIhV/E8%2B%2BSQODg6t4o%2BKirIk1QA%2BPj706NHD5o3W2mPs2LH06NGDLVu2WNo2b96Mt7c3zzzzzD2/noiIiNykirWISCeQmZlJ//796datGz169Gi1I/aFCxfYt2%2BfpSL6dxcvXrT6%2B8aS5VvV1tZaqq%2B3c%2BHCBerq6ggNDbXpOt27d2/Vx8nJicbGxjtepz0uXboEYHnIcKu/t124cIHTp0/bfJ8eRPy3nvfFF18kNzeXN998k6amJoqLi5kxY8a/ZmM5ERGRfysl1iIinUD//v0tS5fb4uXlhcFg4NVXX23z9b8n4rd%2BjvgGb29vqqur7xiHl5cX3bt3Z926dW2%2B7ubmdsfj74cbye/58%2BdbvXb%2B/HmrqrWXlxfOzs68//77bZ7Ly8vr/gRpo0mTJpGTk8OOHTtobGykubmZiRMndmhMIiIinYESaxERIS4ujv379xMUFISnp%2Bf/dI7Y2FhWr17N999/b9m9uq3r7NmzB7PZTEREhD0hW9yoxjY0NPxPxw8ZMgRnZ2eKiooYM2aMpf3YsWNUVVVZJdZxcXF88skndO/encDAQPsC/3834relin239%2Brn58eYMWPIz8/n%2BvXrjBgxwmopvYiIiNwfSqxFRIQFCxZw6NAhJk6cSHJyMv369ePatWtUVlZy4MABMjIy8Pf3v%2BM5UlJSKC4uZt68eaSmphIeHk5DQwNHjx4lLi6O6Ohonn32WYqKikhNTSU5OZnw8HAcHR2prq7myJEjjBw5klGjRrUr9uDgYAAKCgpwc3PD2dmZ3r1721w99vT0ZObMmWRnZ7N48WISEhKorq7GaDS2WvKekpLCV199xdSpU5k%2BfToGgwGz2czZs2f57rvvmDlzZrsfGDz22GMAbNy4kcTERLp160a/fv2sPpt9g7u7OwEBAezdu5eYmBg8PT3x8vKy2vQsJSXFsmP433dzFxERkftDibWIiODn58f27dvJyspi/fr1nDt3Djc3NwICAoiNjcXDw%2BOu53B3dyc/Px%2Bj0UhBQQFr1qzBw8ODsLAwkpKSAOjatSvZ2dls2rSJXbt2sXbtWrp27Yq/vz%2BRkZGWJLM9AgMDefvtt9m0aRPTpk2jubmZ5cuX88ILL9h8joULF%2BLq6kp%2Bfj67du3i0UcfJSMjgw0bNlj1c3V1ZcuWLaxdu5atW7dSWVmJi4sLPXv2ZNiwYa02O7NFVFQUc%2BfO5fPPP2fbtm2YzWY2bdpEVFRUm/2XLVvGypUrefnll7l27RqJiYmsWLHC8np4eDgBAQG4uLjcduWAiIiI3FsOLS0tLR0dhIiIiNwbJ0%2Be5Pnnn2fJkiVMmTKlo8MRERHpFFSxFhER%2BQ84c%2BYMVVVVfPDBB/j6%2BrarYi8iIiL20fdYi4iI/AdkZWUxc%2BZMrl69ykcffcRDDz3U0SGJiIh0GloKLiIiIiIiImIHVaxFRERERERE7OqoaNcAAABaSURBVKDEWkRERERERMQOSqxFRERERERE7KDEWkRERERERMQOSqxFRERERERE7KDEWkRERERERMQOSqxFRERERERE7KDEWkRERERERMQOSqxFRERERERE7PB/ZSsWIWD4ZIQAAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -295,7 +330,7 @@
 <br>
 
 <h3 id="Percent_identity_vs_Average_Base_Quality_plot_using_a_kernel_density_estimation">Percent identity vs Average Base Quality plot using a kernel density estimation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9YAAAPWCAYAAAAF6QCyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3gU1fs28HtreqMjvSVAAOkQ6b1GmogCohQRlCoCUl9BadIUEEQUEClKCb1XqRJ6FZBAaIGQSjabuuX9I9/Mbya72d1kk2wC9%2Be6uMhutpzM7M7Mc85zniMzGo1GEBEREREREVG2yB3dACIiIiIiIqKCjIE1ERERERERkR0YWBMRERERERHZgYE1ERERERERkR0YWBMRERERERHZgYE1ERERERERkR0YWBMRERERERHZgYE1ERERERERkR0YWBMRERERERHZgYE10WtAp9PBz89P%2BPfixYsce%2B3mzZsLr3vx4sUce92CZsuWLcJ2%2BOSTTxzdHCIiIol79%2B4J56k6depk%2Brh58%2BYJj5s5c2YetrDg6tmzp7DNDhw44OjmUD6ldHQD6P98/fXX2L59e6a/V6lU8PT0xFtvvYW3334bnTt3Rr169fKwhUREBc/ixYvx888/C7ffeecdrFmzxoEtooLu%2BPHjGDZsmMXHyOVyuLu7o0iRIqhevTratGmDtm3bQq1W51Er3ywpKSk4d%2B4cTpw4gatXryIyMhIxMTFwc3NDkSJFUKlSJbRs2RItW7ZEoUKFHN1cInoNMbAuQFJTUxEVFYWoqCjcuHED69evR6NGjfD999%2BjRIkSjm4eWfDhhx/i8uXLAIDvv/8e3bp1c3CL3lyPHj1C%2B/btAQAKhQK3b9/O0ddv3rw5wsPDAQAbNmxA/fr1c/T1KWuMRiN27dolue%2Bff/7BixcveNykXGUwGBAXF4e4uDg8ePAAe/bsQdmyZTF79mw0aNDA0c17rRw8eBDz58/HkydPTH4XGxuL2NhY3L9/HwcPHoSrqyuGDBmCwYMHw9nZ2QGtLRi0Wi3q1q0r3D537hw7JByA%2B6FgYWCdT3l5eaFmzZqS%2B1JSUvDs2TM8e/ZMuO/8%2BfPo06cPNm/ejOLFi%2Bd1M4mI8rV//vkHYWFhkvsMBgN27tyJzz77zEGtotdN48aNoVRKL6l0Oh2ioqLw8OFD6HQ6AMDjx48xePBg/Prrr2jYsKEjmvpa0el0mDp1qkm2n0qlQpkyZVCkSBHEx8fj6dOniIuLAwAkJCRgyZIlOHDgAH799VdeOxFRjmFgnU/5%2Bfnht99%2BM/u7W7duYcaMGbh27RoA4MWLF5g2bRp%2B%2BeWXvGwi5SNKpRJ37951dDNea71790bv3r0d3QzKoh07dgg/N2vWDKdOnQIAbN%2B%2BnYE15ZjFixdnOooUHR2N3377Db/%2B%2BisAIDk5GVOmTMG%2BffugUqnyspmvFb1ejxEjRuD48ePCfUWLFsXo0aPRsWNHeHh4SB4bHByMn376CRcuXACQNh/5ww8/xPr16/HWW2/lefsdaeLEiZg4caKjm0H02mHxsgLI398f69atg5%2Bfn3Df33//jTt37jiwVURE%2BYtWq8WhQ4cAADKZDDNmzEDJkiUBAA8fPhQ6J4lyU6FChTB%2B/HgMGjRIuO/x48cIDg52YKsKvhUrVkiC6saNG2P//v3o3bu3JKgG0qb9BAQE4I8//sCoUaOE%2B589e4avvvoKer0%2Bz9pNRK8vBtYFlLOzM7788kvJfSdPnnRQa4iI8p%2BDBw8iISEBANCgQQOUKlUKXbp0EX5vqVgkUU7LuJrA9evXHdOQ18CtW7ewfPly4ba/vz9WrFhhElBnJJPJ8MUXX0g6OS5duoTVq1fnWluJ6M3BVPACLCAgACqVCqmpqQBgNRXYaDTi2LFjOHLkCK5cuYKoqCgkJSWhcOHCqFq1Ktq2bYtu3bpZTU0TV9h97733MGvWLADAqVOnsGvXLty4cQMvX76EVquV/D4jrVaLPXv24PTp0/j3338RHR2NlJQUeHp6onz58qhbty7atGljccmIdAkJCdi9ezdOnDiBu3fvIjo6GjKZDEWLFkW9evXQuXNnNGvWzOrrmCsyptfrcfDgQQQFBeH%2B/fuIjIyEp6cnqlatiq5du6J79%2B6Qy037qHQ6Hfz9/U3unzBhAiZMmGByf9myZXH48GGrbTQn43v9/fffVgszvXz5Eps2bcLRo0fx7NkzGI1GlChRAo0bN0afPn0kGRFZFRISgj179uDMmTMICwtDbGws3N3dUbp0aTRt2hS9e/dGqVKlLL5GZkXGXr58iS1btuDIkSMICwtDUlISihYtigYNGmDAgAGoVq2a2dfbsmULpk6dKrlPr9dn%2BneOHj0an3/%2BudnnBwQEYO3atWbbKtavXz%2Bzr53%2B/IcPH6Jjx47C/QcOHECFChXMPiejHTt2CKl8RYoUwd9//20yx9OaL774AkeOHAEA9OjRA3PnzrX5ue3atcPjx48BAJMmTTK7BNnTp0%2Bxbds2BAcH48GDB9BoNAAANzc3lChRApUqVULdunXRrl27XJnnKA6c3333XQBAt27dhJTcffv2YfLkyRarNO/btw9jx44FAHh4eODMmTNwcnKy6f0XLVqElStXAgBq1aqFLVu2ZPpYg8GAo0eP4ujRo8LxOSUlBYULF0a1atXQrl07BAYGWt3H8%2BbNE4KEfv36Yfr06QCAEydOYPfu3bh58yYiIiKg1Wolv08XHh6OkydPIjg4GPfu3UNYWBgSEhLg6uqKQoUKoXbt2mjXrh3atGkDmUxm03ZId%2BzYMezYsQPXr19HVFQUvLy8ULZsWXTp0gXdunWDu7u7pNp2lSpVsGfPHquvm1PbLrcVL14crq6uQmdPbGysxcfr9XpcuHAB586dw/Xr1/Hw4UPExMTAYDDAy8sLFSpUQKNGjdC7d%2B8sfX/u3LmDoKAgXL58GU%2BePEF8fDzkcjk8PDxQsmRJ%2BPr6okGDBmjbti08PT2tvl50dDR27tyJkydP4uHDh4iOjoZarUbx4sXRqFEjdO/eHbVq1bK5fbZYuXKlMMqsUCgwa9YsuLq62vz8sWPH4tixYwgNDQUArF69GgMGDDD73R41ahQOHjwIIO38PXjwYKuv36hRI2H/bt261aRmjti1a9dw5swZXL16FSEhIYiOjkZqaiq8vLxQunRp1K9fH%2B%2B9957N5wZbZHacADKveB8QEGD2tdKff%2BzYMQwfPhxA2jH%2B9OnTNu8T8bGyTp06%2BPPPP7P094iZ2/YxMTHYtm0bDh48iGfPniE%2BPh7FihVDgwYN0KdPH9SuXTvb72fJ6dOnsX//fly6dAmRkZFISUlBkSJF4Ovri9atW6Nbt26Znk%2Byux/IsRhYF2BOTk7w9vZGREQEAMsn6X///RdTpkzBrVu3TH73/PlzPH/%2BHMePH8eqVauwYMECiyeBjDQaDSZPniykXNpi69atWLRoEaKiokx%2Bl175/NKlS1i1ahUGDRpkcS7Qvn37MHv2bGE7iD169AiPHj1CUFAQmjRpggULFmSpmmJ4eDi%2B/PJLk/Wbo6KicObMGZw5cwZBQUH4%2Beef4e7ubvPrOtrBgwcxdepUoZhLupCQEISEhODPP//EuHHjbLqAEEtKSsLcuXOxefNmk9S6mJgYxMTE4MaNG1i9ejVGjBiBoUOHZun1jx49ikmTJuHVq1eS%2B588eYInT55gx44dmDBhAgYOHJil13WUChUqoGHDhkJK6LZt2/DVV1/Z9NytW7cKP3fr1i1bQcO7774rBNaHDh3CN998Y1OV3KtXrwpBtVwuR%2BfOnU0es3r1aixevBgpKSkmv0uv0nvnzh3s3bsXixYtEjq0csqzZ8%2BEuZRqtRodOnQAAPj6%2BsLPzw93797Fq1evcOzYMUnnRkatW7eGm5sbtFotNBoNTpw4IbyWNXv37hV%2BDgwMzPRxN27cwNSpU81O5wkLC0NYWBiOHj2KX375BYsXL0bVqlVten8gbVt//fXXkpTZzEydOhXbtm2DwWAw%2BV16devQ0FDs2LED/v7%2BWLJkCUqXLm31dePj4/HVV1%2BZtCEiIgIRERG4dOkSfv/9dyxdutTmvytdbm673JBexAyAxaDj9u3bGDp0qNnzGvB/2y44OBgrV67E6NGjMWTIEIvvrdfrMWfOHKxfvx5Go9Hk9%2Bnn3ps3byIoKAgbN26UHGfMWbNmDZYtW4b4%2BHjJ/cnJydBoNLh//z42btyI7t27Y%2BbMmTmy1FhYWJhw3AKAjh07Ztqhmhm1Wo3hw4cL1xbR0dHYvXs33nvvPbvbZ6vw8HD07dsXT58%2BNfv7yMhIREZG4urVq1izZg0GDBiA8ePHQ6FQ5Fkbs6JFixYoUaIEXrx4Aa1WiwMHDqBnz55Wn6fX6yWdoDm9Dy5fvoxRo0aZfJfSrxu2b9%2BOjz/%2BGBMnTjQ7SJId4eHhmDhxIs6dO2fyu/QixMePH8fPP/%2BM7777Du%2B8806OvC85HgPrAi59tBpApiPN586dwxdffAGtVivc5%2BXlhYoVK0KlUkkqjYeGhmLAgAFYs2aNTT14RqMRY8aMwenTpwEA3t7eqFChAmQyGR49emT2OXPnzjVZQ9bT0xPlypWDm5sbYmNj8eDBA%2BGCPGPwJ5beESD21ltv4a233oLRaERISIjQ4XDmzBn07dsXmzZtgo%2BPj9W/TavVYuDAgQgJCQEAlC5dGm%2B99RYSExNx584dYdtfuHABEydOxE8//SR5vlwuR9OmTQGkpfyl/x1%2Bfn4oWrSoyfsVK1bMaptywpEjRzB27FhJ4FukSBFUqFABiYmJuHfvHlJSUvD999/Dzc3N5teNi4vD0KFDceXKFeE%2BpVKJSpUqwcfHB3Fxcbh37x50Oh2Sk5OxcOFCxMTE2FxA5fTp0xgxYgQMBgNUKhWqVKkCDw8PvHjxQvisGQwGzJ07F2XKlEHbtm0lzy9RogSaNm2KpKQkoaNEJpOhSZMmZt%2BvbNmyNv/tLi4uwr4ODg4WPrtvv/222dTE6tWrCz/36dNHCKx37NiBMWPGWA2SQ0NDhaARQLaLqrVq1QoeHh7QaDTQarU4duyY2SA5I/EoYuPGjU0%2Bu5s2bcK8efMk96V/fxQKBTQaDR4/fix8J8xd5Ntr%2B/btwuu2atVKMvL27rvvYv78%2BQDStrmlwNrZ2Rnt27cXLvx2795tU2B9%2BfJl4YJZoVBkul1PnjyJ0aNHC6OYwP8dRzMenx88eID%2B/ftj7dq1qFGjhtU26PV6jBw5Uvh8%2Bfj4oHz58gBg9vh87949IaiWy%2BUoXbo0ChcuDGdnZ8TFxSEkJARJSUkA0lJxP/jgA2zfvt3s8SxdcnIyhg4dikuXLgn3yeVyVKlSBd7e3ggPD0doaCgePXqEQYMGYcyYMVb/rnS5ue1yw%2B3btyUdTVWqVMn0sZGRkZJAwN3dHeXKlYOHhwd0Op3QaQCkrRgyf/58JCUlYcSIEZm%2B5pw5c/DHH38It%2BVyOcqXL48iRYpAJpMJHSeJiYkAYLaDJZ3RaMS0adNMsjDKly%2BPYsWKISUlBffu3UNCQgKMRiO2b9%2BOsLAw/Pbbb3YXbDtx4oTk/NWrV69svU6HDh0wc%2BZM4dro2LFjeRpYp1crT%2Bfi4oJy5coJx6rw8HA8fvwYRqMRer0ea9aswatXrzBnzpxcbVfhwoXRtGlTGAwGnD17VrjfXOV7AKhUqRKAtONcr169hGuhLVu22BRY//3333j58iWAtJFuW85Btnr8%2BDGmTp0qHCMqVKiAokWLIiIiAg8fPgSQ9lleu3YtkpKSMGPGDLvfMywsDB999JFk3zo7O6Ny5cpwdnZGaGgoIiMjAaQF2UOHDsXixYvRrl07yetkdz%2BQYzGwLsCio6MlI3eFCxc2eUxYWBhGjRolnDh8fX0xceJENGnSRJLGd%2BPGDfy///f/cOvWLSQkJODLL7/Erl27rI7CHjhwAFqtFkWLFsW0adPQtm1boTfVYDCYLHOzYcMGSVBdpUoVjB8/Hk2bNpX0wqakpOCff/7B1q1bM%2B1BPHLkiCSobtOmDcaOHSu5WDEYDDh06BBmzJiB6OhoPHz4ENOmTcOyZcss/l0A8OOPPyI2Nhb169fHtGnTJCMdsbGxmD59upAeduTIEQQHB0uWT5HL5UJld3GK%2BeDBgx22jnVkZCQmTZokXJT4%2BPhgxowZaNeunbCd4%2BLisHTpUqxbtw5z5syxuQd38uTJQlDt5OSEESNGoG/fvpLP0KtXr7Bs2TKsW7cOQNqoZr169UyC4IwMBoNQU2DYsGEYMmSIJGC9cuUKRo0aJZyc58yZY5Kq2qxZMzRr1kySti3eR/YoVqyY8DridawnTJhgdR3r9u3bw9vbG7GxsYiIiMCJEyesbg/xKFL9%2BvWznSKoVqvRvn17bNu2DUBawGztokav12P//v3C7YwjsSkpKVi0aJFwu3379pgwYQLKlClj8lohISE4fPiwyTrTOWHnzp3Cz%2Blp4OkCAwOxcOFCGAwGnDp1CpGRkShSpEimrxUYGCgE1n///Tfi4uKspsju3r1b%2BDkgIMDs6z9%2B/BhjxowRLvqqVauGiRMnonHjxpLP7tWrVzF9%2BnTcvXsXGo0G48aNw/bt262mWe7evRtarRYlSpTAtGnT0Lp1a%2BH7rNfr8fz5c8njVSoVAgMD0blzZzRu3Njk9ZOTk7Fv3z7Mnz8fUVFRiIiIwMyZMy2ONC9fvlwSVHfs2BGTJ0%2BWpC7fu3cP06dPx5UrV7Bw4UKLf1O63N52OU2n00n%2BNk9PT7Ro0cLic8qXL4/evXujdevWqFixosnvQ0JCsHTpUuH7uHz5crRp08bs6O2TJ0%2BwYcMG4fZHH32Ezz//3CSDy2Aw4NatWzhw4AD%2B/fffTNu2atUqSVD9wQcfYNiwYUJxQCDtWLBlyxbMmzcPycnJOH/%2BPJYuXWpSHyarxJ8nlUqV7TXBXVxcUKdOHWFgIKezZmxRvHhx9O7dG23btoWfn5/J%2Bfb58%2BdYtWqVsO%2BCgoLQrl07tG7dOtfaVKtWLfz2228m6ydbqnyfrnfv3lixYgUMBgMuX76MBw8emP3sionPZ126dMnR7%2Ba3336LhIQE1KlTB7NmzZIEn/fv38fUqVOF65Y///wT77zzjs0ZSeYYDAZMmDBBCKrlcjk%2B%2B%2BwzDBkyRLgWMhgMOHz4MGbMmIGoqCikpqZiwoQJ2L17tyQDyJ79QI7D4mUF2P79%2ByUjPW%2B//bbJY6ZPny6MCtWpUwebN29G06ZNTebG1axZE%2BvXrxfmmz579kzSs50ZrVYLT09PbNiwAR06dJAEx%2BkjHunCw8Mlczjr16%2BPv/76Cy1atDBJbVKr1WjevDmWLFmCr7/%2B2uz7iufLfvzxx1i%2BfLnJCIBcLkfHjh2xfv164WB9%2BPBhyYk5M7GxsWjcuDHWrFljkj7o7e2NRYsWwdfXV7ivIBRCWrJkifB5cHZ2xurVq9GhQwfJydzT0xNTpkzB0KFDkZSUJBkNysy%2BffuE%2BeHOzs74/fffMXToUJOOGS8vL0yZMgWjR48W7ps/f77VEUuj0YhXr15h5syZGDt2rMkocJ06dbBs2TLhc/306VOT9P38Sq1Wo0ePHsJta6mXOp1OsoSUvUuAiQPjkydPmqTZZ3T27Fmht93Jyclkbvnly5eFz1i5cuWwePFis0E1kNbDPmzYMEkQmhMuXrwopKp7e3ujefPmkt8XL15c6ATT6XRW5/E2btxYGJVNSUkROtQyo9PpcODAAeF2ZmngU6ZMETo9GzZsiL/%2B%2BgsBAQEmx%2BfatWtj48aNwkVhaGioTXMQtVotfHx8sGHDBrRt21byPVcoFCZp3OkZQK1btzZ7cevk5IQePXpIjqdHjhzBkydPzL5/RESEpOOqc%2BfO%2BOGHH0zmA/v6%2BmLNmjXw9/dHTEyM1b8LyP1tlxN0Oh3Cw8Oxf/9%2BfPjhh0IAJ5PJMG3aNIsZQQ0aNMCBAwcwZMiQTAOTSpUq4YcffhCOAXq9Hr///rvZx546dUoYgW7atCmmTp1q9uJcLpejZs2aGD9%2BPFatWmX2tUJDQ7FkyRLh9jfffCOpuJ9OrVajX79%2BWL58ufDZW716tdABml3iKW2%2Bvr52pZeLsxdiYmKEDIe8UKZMGRw9ehQjR45EtWrVzHZilyxZEtOnT5dkcmTM%2BMtPSpYsKalnY%2B18FhkZib///lu4ndNLWsbExKBmzZpYu3atyYhu5cqVheNOujlz5thVIX737t2SbLIpU6ZgzJgxkmshuVyODh06YM2aNcIxICEhwSTLiwomBtYF1MOHDyUnNrVajZYtW0oec/fuXWHNVrVajYULF8LFxSXT13R1dcU333wj3Lb14mPkyJEoV66c1cetW7dOSIPz8PDAokWLbEo1NveYoKAg4QKsSpUqVtOJK1WqJFmzdtOmTVbfV6lUYs6cOZmetJVKJfr37y/cdkRvd1ZotVpJADNo0CBJSnJGI0eOtDkdOr0YFJBWEMtawblhw4YJo6yhoaFm5yFllF70LDNvv/22ZPpCft8fYu%2B//77w88mTJ4URb3NOnDghpIh6eHhYTGO2RaNGjYRAJzU11WrQKA5CW7dubdJ58uLFC%2BHnWrVq2TT3O6fnDIo7Hjp06GD2OywexbbWKZYxldtaIH7mzBlER0cDSBsVy5jiB6RND0lP0XZxccGCBQssFkVzd3fHtGnThNu2HMOAtCJNtsyDBizP%2BRWrWLGi8Jk1GAyZzt/evn27MGXGzc0N06ZNy7TgmYuLi81pmHm17bIiICAAfn5%2Bkn/%2B/v5o3rw5xowZI1QAr1y5MpYvX26SRZGRi4uLzcXhxo0bJ3zPMtsX4mNKvXr1bHrdzL6Xv//%2Bu7Bf27Ztiw8//NDi6zRt2lToXEpNTbUabFkj7nyxd/3pjJ0B6d/bvKBWq21Oi//000%2BFjpALFy4IhSDzI/H5bOfOnZIpixkFBQUJdQd8fX1zvMidTCbDd999l2ntEBcXF8ycOVP4rj1//hwnTpzI9vtt3LhR%2BLl%2B/fqSa8SM/Pz8JAVSjx49apJFRAUPA%2BsCJCUlBQ8ePMAvv/yC999/X1KsrH///ibzHMXplW3btrVahRkA6tatKzzuxYsXQsXMzKhUKslomyX79u0Tfu7Vq5ddVYDFf1u/fv1sujAXjxqdP3/e6uObNWtm9aQtvkB59OhRvl4L89y5c8Los1wut3oxpFarJSfIzISEhAgjCCqVyurrpr9/165dhdu27A9b2iJOl3rw4IHVx%2BcXFStWFNIZ9Xq9JDDMSHxR2rVrV5uKjVkil8slS1BZGj1OSkqSVK43NxIrDnDu3buXK/OnLUlKSpKkqmcWwHTo0EHYdnfu3DFb/EpM/DrBwcEWOz/E27BNmzZmOwfFx7COHTvadDwMCAgQRs4fP35s9SLM2dnZYtE0e4gzpG7cuGH2MeKRqA4dOlhNX6xZs6bZlRQyyottlxvKly%2BPDz74AI0aNcrR1/Xx8RE6QWNjY4VsDTFx55K1z7olBoNB0rE0YMAAm56X1fNvZoxGo6TuirXltazJOKXDWsaOoyiVSuG7YTQacfPmTQe3KHOtWrUSrkcjIyMtBqrp05CAnB%2BtBtKuCawVLKxRo4akU15cGC8roqKicPXqVeH2Rx99ZPU5H3zwgXAe0uv1dgX1lD9wjnU%2BFRwcbPNyR82bN8e4ceNM7henO2flRO7r6yukQ92%2BfVsodpPZY205sYkLrQAwuzSRrRITE4WllwDb/7ZSpUoJS528fPnS6rxKW4q3iZe0MhqNiI%2BPh5eXl03tyWvii19fX1%2BbiqU1b97cpDhcRuKUa39/f5svdMRp%2B%2Baq1WeU1f1hqehdfvT%2B%2B%2B8LKWTbtm3D0KFDTUasXr58KWShADl3IfLuu%2B8KS69cuHABL168MLtc27Fjx4T0W29vb7NL2IlTK%2B/evYvJkyfjq6%2B%2BMlsDIjccPnxYqFBcqlSpTEfn3N3d0apVKyEIDwoKwuTJkzN93Ro1aqBChQp4%2BPAhDAYD9u7dK1kLN11iYiKOHj0q3M4ssM3u8blKlSpCxsKtW7dMRtzEqlWrlu35ilevXsWVK1cQEhKCuLg4oQhVOvGooblOBoPBkK3jdKNGjaweD/Ji22VVZgWFtFotnjx5gsjISISGhuK7777DihUrMG/ePJuWgATStvWZM2dw%2B/ZthIeHQ6vVmowCitOrw8PDTbKNxN/LgwcPYsmSJRg0aFCWV7O4d%2B%2BecGxVqVSSzkxLxNOmxJ%2BLrEpNTZUUVbO3EFrG56cX58trWq0WZ86cwa1btxAWFob4%2BHiTFRXEHSKWOvYcLb2I2YoVKwCkdQaby9q5ePGiMHijVqutZnFkR3pRUWuaNWsmzLXObqfFtWvXhJ9lMplN7%2B3u7o769esL00SuX79u0%2BAE5V8MrAswHx8fDB48GIMHDzY7N%2Be///4Tft68ebPNaySL18O2Nt/N1hTD9OqL6WwZlbD0WuIlS7799lubC2yJnxcTE2MxsLb0u3QZRwuTkpLybWAtHsWwVI1WrGLFilAoFBZH4sWfs6dPn9q8RJc448KWeZW27A/xVAdHXSBlV8eOHTFr1izExsbi0aNHCA4ONgkatm/fLnyGq1evbtf3SKxatWqoXLky7t%2B/D6PRiD179phdukc8UpVZinWZMmXQpk0bIbgMCgrC7t270bBhQwQEBKBu3bqoWbNmjiy7Y454tD8wMNBiOm1gYKAQWO/ZswcTJkywmLoeGBgoTMHZs2eP2cD62LFjQmaIj49PplXnxd%2Bb9evX27ReM5C143Nmc9stOXz4MObPn5/pqg7mZFxqCUj7fovrM1grYJSVx%2BXFtssqawWFbt%2B%2Bjfnz5%2BPs2bOIiorC8OHDsWrVqkzXpAXS0pLnz5%2BP3bt3W0ynzchcmnDTpk2F7zgA/PTTT1i9ejWaNGmCgIAA1KlTJ9N5vmLpzwfSggdz6%2ByaIz6HxMXFQafTZWuJQLVaDWdnZ%2BH4Ll7tJDsyfnazshJGTkhISMDSpUvx559/2lTPJF1%2BTgUH0jp9V65cKRSIDA8PN8ksERe/Sy/imdPEHTqWiK%2BJsnLsExNfY5UqVcrmTitfX18hsDaXbUIFCwPrfMrLy8tkLWm1Wg0PDw%2BUKlUKtWvXRkBAQKYXp6kIIu0AACAASURBVDqdTnLCsGVE0BxrB29bT0Li9CpXV1e70lczrtctXoYgK6z9bdnpCc/rtNesEI/g2noCU6lUcHNzszj6K94fkZGRwgkiK8xdmIspFIosz8PNz/vCHLVajW7dugnFh7Zu3WoSWIvT5nJ6WZjAwEAsXrwYQFoqc8bA%2BtWrVzh58qRw29LowuzZszFs2DBhBCA1NVVY9x1I6wBp1KgRunXrZlL00B7h4eGS44G1EZDmzZsLFdmjoqJw8uRJi9V23333XSGwvnXrFkJCQkwK4ojTwDt16mT2OJJxxDG7IyTWvjdZDRKWLl1q04oJGZlbqzzj8dXWTBZr1dbzatvltOrVq2PVqlUYOHAggoODkZqaikmTJuHQoUNmz%2BPPnj1D//79TVbWsIW5/aFQKLB8%2BXJ8%2BumnQuCQmJiII0eOCKmvnp6eaNasGXr27JnpaJv4eJ%2BSkpKt4z2Qtv2zG0h5eXkJgXXG64Gsypj6nRvBnaX3/uSTT7I1gm9uH%2BcnpUqVQpMmTXDq1Cno9XoEBQVh%2BPDhwu/j4%2BMl9Txya5kzW/en%2BHHJyclITk62WLfBHPExz5YlXc09tqBl2pEpBtb5lJ%2Bfn13LAKWvQ2kvS%2BtYArB5pFh8ErB3pCorvbqWWPvbXjfifZCVTgNr%2BysnPmtv2r7ITJ8%2BfYTA%2BtChQ5g2bZoQaJw/f164IHZ2ds7xtLmuXbvihx9%2BgNFoxJ07d3D//n1UrlxZ%2BP3BgweFgMZSijWQdpGyceNG7Ny5Exs3bsSNGzckHR2JiYk4ceIETpw4gcqVK2PhwoVW58HZYufOnZLPUt%2B%2Bfa0%2BRxxg7dixw2JgXaZMGdSuXVuYR7dnzx5JhfvY2FhJoJHZPspvx2cgrQaDOKguW7YsevfujXr16qF06dLw9PSEs7OzkAFw/Phxi6OV2e3Ysva8vNp2uUGpVGLUqFFCQaPnz5/jyJEjZpe4Gz9%2BvBBUK5VKdOrUCW3atEGVKlVQvHhxODk5SY7NPXv2tNqBXq5cOezatQubNm3C5s2bTepQxMXFYe/evdi7dy8aNmyI%2BfPnm0wJyQ/n3zJlygip0OIshOwQP18ul2d76cLs%2BPbbbyVBdevWrdGhQwdUq1YNxYsXh6urq2Qfjxo1ympxyfykT58%2BwtSlbdu2YdiwYcLxY/fu3cJ3uUyZMmjcuHGutMHWa52M1zkpKSlZDqxz4horv3eYkHUMrF9Tbm5ukMvlwslr48aNNlcCzQ3i0Qp7U7fEIxoqlQrXr1/P0gXkm0qclpSVfWDtseL90bt3b3z33XdZbxwBSKteX69ePVy6dAlJSUnYvXs3%2BvXrB0BatKxDhw52F%2B3JqHTp0qhbt64wf3X37t0YO3as8HvxSGzXrl2tViyWy%2BXo0aMHevTogaioKJw/fx6XLl3CuXPnEBISIjzu/v37%2BPjjjxEUFGRTgUVLMhZ9y%2Bpo1rFjxxAbG2txlOPdd9/NNLA%2BcOCA0PlQunTpTKvjZxyV3bZtm2QOrCOsXLlS%2BLlhw4ZYtWqVxcyirBwXANtTV609Lj9uu6yoXbu25Nx86dIlk8D64sWLwvdQJpNh%2BfLlVte8tvWY7uzsjIEDB2LgwIF4%2BvQpLly4gODgYPzzzz%2BS0fHg4GB8/PHHJmt%2Bi7e/r69vji%2BVZ4u6desKtT0iIiLw/PnzbM%2BXF9ceqVixot3FINNZ6yB6/vy5ZArDN998Y3Vurb3XTnmtVatWKFq0KCIiIvDkyRP8888/wtQH8fnsvffes7kCflbZus3Ej5PJZNmaEpDd61xx525On9cp7zEaeU3J5XJJekl254zklPRqrEBaWujTp0%2Bz/VriIkipqanZSpV7E4m3m61rdUZHR1sdIRLPK3T05%2Bx1IK5%2Bnp76rdFocOjQIeH%2B3KieCkgLbYkv%2BsLDwyVF6rJaabpw4cLo3Lkzpk2bhn379mH//v2S1L/Y2FhJYJcd169flwTs2ZGamoq9e/dafEynTp2EuaGPHz%2BWFKwRBxmWtpFarZZ0dDn6e5OSkiLZvxMmTLAaYFhbi9jb21sSkNlapd/a4/LbtssqlUol2S7mtqN4OkOLFi2sBtVGo1FYWz4rSpcujR49emDOnDk4fvw4tmzZInmv0NBQbN68WfIc8Xnk6dOnDlkJI30FhXTWvrOZuXfvnmS%2BfsYlS9OJRx/FdVoyYzAYrHYQnT17Vgi%2Bq1SpYlPBKnvX/85rSqUSvXr1Em6nB9N37twRpnAoFAqbV5bJDluvdcTXpD4%2BPtkarBFfcz979szmrJ0nT54IP1tbOYHyPwbWrzHxcii2rBOcm6pWrSpJqxFfxGVVhQoVJAXCHP232UJ8kHbU3N9q1aoJP9%2B6dcumVLz0tVctEVfrvnr1ao6lCuaW3N4X9mZPdOrUSfh837p1C7dv38auXbuEOYXly5c3ubDMKeI5wU%2BfPhXWAt%2BzZ4/wealatarNxe8yU7FiRcyaNUsSfGZ3rmY68VrUDRo0wN27d23%2BJ15L1NJSZ0DahY%2B4IFl6MP38%2BXNJtWprnQ/i742jj2ERERHCSLtCobCpKF76/PnMyOVyVK9eXbht6xJL6etTW5Kftl1WpaamSo6R5tJNxUuBZay1Ys69e/dyZM54rVq1sGLFCslawhm/l%2BLrioSEBMnyQnmlSZMmkqUwN2/enK0U2g0bNkhuZ/adFY9e2rIcV0hIiNXza1b3cVxcnKRwXF7IiUzA3r17C6PRhw8fxqtXrySj1c2bN7dr6VVrMlsK0NLjxMetrBAfN%2BPj423uTBR3zpp7b2ZkFizcW68xcfGRw4cPIyoqymFtUavVqF%2B/vnA7Yy94Vsjlcsl8nD///NOutuUFcbXq5ORkh7RBvP1jYmLwzz//WH2OLSMBDRs2FIKxlJQUSYCTH4n3hcFgyPE5TfZWJndycpLMzd26dWuuFi0T8/b2lhw30oNG8eh1Tq6L3LZtW%2BFne45PKSkp2Ldvn3C7Q4cOWXp%2Bx44dhZ9tGfkWb4N9%2B/ZBr9djz549QkeNv7%2B/SVGzjMTB%2Bf79%2Bx26fq4to3Bi0dHRNq23Kh79PHTokNVK3Ldu3bKpGFl%2B2nZZdeXKFUnQZW76Q1YqgAPWO4OyQqFQoFWrVsLtjN/LYsWKSSotO%2BL8q1AohHnqQFrWQlZr0ty8eVNyHdK8efNM6zyI08zv3btn9bXFy%2B1lJqv7eNeuXXleF8DZ2VkS1GXnfFa6dGnh%2B5qcnIytW7dKMntyK/sq3ZEjR6ye41NSUiRrV2d32mTG5WdtWa3gxo0bklVzxNdp6XJiP1DeYWD9Guvevbsw8pWYmIiZM2c6tD3iE%2BGlS5fsCsA%2B%2BeQT4eebN2%2Ba9DznN%2BJUeEctp%2BDn5ycZtV6yZInFE/W9e/dsCqy9vLzQvXt3yevamn7lCN7e3pLUPnEaVk4QLwuW3X3dp08f4eetW7cKRYmUSmWups0B0oJbBw4cwN27d4UCO3K5HF27drX4/KxkAYhH7uxZpi59bjSQNj%2Buffv2WXq%2Bn5%2BfpGiRtUClbdu2QjpvVFQUzp49K7lYtKWw3HvvvSeMhMXHxzu0NkHhwoWFUSW9Xi8ZQTHn%2B%2B%2B/t6lDqkePHsJ3zdrfmJSUhG%2B%2B%2Bcam9uanbZcVOp0OS5culdxnbi1r8fnCWmZASEiITee/nPxeDhgwQPh5z549dmebZEf//v0lmTPLli2zKaAFgBcvXmDUqFHC%2Bc/JyQmTJk3K9PHiUcTg4GCLHUTR0dFYt26d1TYUK1ZM%2BPnKlSsW9090dDR%2B%2Buknq6%2BZ02QymST1P7vnM/H0ph9//FE4VhctWtTqNAd7RUVFWd0fa9asEfapXC6XXM9khVKplDx33bp1FtP3jUYjFixYINwuVaoU3nnnHZPH5dR%2BoLzBwPo15ubmhpEjRwq3Dxw4gPHjx1stqhAXF4d169Zh3LhxOdqeVq1aSXoCp02bZvUCNrPgrm7dupKL51mzZmHt2rVWe3SfPn2KefPm4Zdffsli6%2B0jPjHv27cPERERefr%2B6T799FPh5ytXrmDmzJlm58iFhYXhiy%2B%2BsHn%2B3Oeffy5cgMXGxmLAgAFWK9QaDAacPXsWgwcPztMThVKplIy4/P777zk6EiBOB9u6dWu2UjSrVKkiFL4SZzi0bNnSpvW87dG6dWshaImOjsa0adOE3zVo0MCkSnBGK1euxMyZM03Wrs8oJiZGMspkT3q7%2BDhSu3btbKUWike5M1YXz8jFxUUy2r506VKhurBcLjdb5TkjT09PSQr6rl27MHnyZKtTKV69eoU1a9bg66%2B/tvoetnJ3d5cco%2BbOnWu2HQaDAYsXL7a5U7Ro0aKSde337NmDL7/80uRi87///sPAgQNx/fp1m5apyU/bzla3b9/Gp59%2BKkl1b9CggdkRqoYNGwo/nz59OtNK0A8ePMCnn35qUxbU9OnTsWTJEqGadmZCQ0Ml6wuba1/37t2FTlqDwYCRI0cK68FbcufOHUyaNEmSXZJdTk5OWLBggZBKr9PpMHr0aPz6668Wz1vnzp1D3759JZ2/U6dOtbh%2BekBAgFC0LTk5Gd99953ZQDgmJgaff/65Tdk34uPdw4cPsXbtWrOPe/nyJQYPHozo6Girr5kbxMeFDRs2ZHmkHUg7p6R3Fok/qz169MjWWuZZ9cMPP%2BD48eNmf3fkyBFhCUUA6NKli2SaQVZ9/PHHQtZafHw8hg0bZnbf6fV6zJo1S5I5OHTo0EzTvnNiP1DeYFXw19xHH32Eq1evCikpu3btwsmTJxEYGIi6deuicOHCMBqNePXqFe7fv4%2BrV6/i3LlzSE1NRd26dXO0LTKZDAsWLECvXr0QHR2N1NRUTJw4ERs3bkTnzp1RsWJFuLq6IjY2Fnfu3MGpU6dw9epVvPfee%2BjSpYvJ682ZMwf379/HgwcPoNfrMWfOHGzatAldunSBv78/vLy8kJycjOjoaPz777%2B4cOGCMGfY0jIxuaFDhw6YN2%2BeUGytdevW8Pf3h7e3t3AgLVq0KGbMmJGr7ejSpQt27tyJv//%2BGwCwadMmXLt2Db1790bFihWRnJyMixcvYtOmTdBoNGjQoAFCQ0OtdgS89dZbmD9/Pj7//HPodDo8ffoUvXr1QsuWLdGsWTOUK1cOzs7OiI%2BPx7Nnz3Dz5k2cOnVKeN28nnfetWtXIfD/66%2B/cOzYMfj6%2BkoKNgUGBqJTp05Zfu0uXbpgzZo1ANJSW5s1awZ/f394eHgIo4JVq1bFqFGjLL5Onz59TEarcjttDkhLO2vfvr0QPIlHL21JA09MTMSGDRuwYcMG%2BPv7o1GjRqhevTqKFCkCtVqNmJgYXLt2Ddu2bRMuQJVKpcm62baKiooSlnQBpGndWdGxY0f8/PPPANKKtZ07d06ScpxRYGAgdu3aBUC6jRo3biwZjbJk8ODBuH79uhA4bdu2DceOHUNgYCDq1KmDIkWKwGAw4NWrV/jvv/9w5coVnD9/HqmpqUJ13ZwyYMAATJw4EUBarYTu3bujb9%2B%2BqFatGvR6Pe7fv4%2BgoCD8%2B%2B%2B/ANJGjcVzJTPzxRdf4MKFC8L8871792L//v3w9fWFl5cXXr58KXTCFClSBGPGjMHUqVMBWF7qLz9tOwAYO3as2SAhISEBT548MTmGlixZEnPnzjX7Ws2bN0f58uURGhoKABgzZgy6d%2B%2BO1q1bw8fHB9HR0Th9%2BjS2b9%2BOlJQU1KpVC0lJSRbTlF%2B9eoXNmzdjxYoVqF%2B/PurVqwc/Pz/4%2BPhAqVTi5cuXuHjxIrZv3y50UHh7e5stqqVSqbB06VL07t0bMTExSEhIwJgxY/Dbb7%2Bhffv28PPzg5ubGxITExEREYHbt2/jzJkzwpzTnFpaqWrVqli5ciW%2B%2BOILYX3z%2BfPnY9OmTejcubNw3NFoNHj8%2BDEOHz4sqe8ik8nw1VdfSUZUzVGr1ejXrx9WrFgBIK2D6Pnz53j//fdRunRpaDQaXL58GZs3b0ZsbCxatGiBa9euWVyVwNfXF40bNxYCq7lz5%2BLixYvo0qULihUrhlevXuHixYvYvHkz4uPjUbp0aZQpUybPawp07dpVuF44dOgQmjZtiqpVq0rmnbds2dLiNlSpVOjRo4dkQEMmk%2BXqtKZ0nTp1wv79%2BzF8%2BHB06tQJ7dq1EyqVHz58GPv37xeuPwoVKmQxc8EWZcqUwfjx44UM0Vu3bqFLly744IMPULt2bTg5OeHBgwfYsmWLZKm1pk2bSjLVMsqJ/UB5g4H1G%2BD7779HkSJFhB7R2NhY/PHHH/jjjz/yvC1vvfUWNm3ahE8//VQYpbx27ZrV1ENz3N3dsXHjRowePVoojBMaGuqQlClrihUrhsmTJ%2BPbb78V5vVmDJrKli2bJ21ZtGiRMDoEpI2kmAvo04NlSwd7sRYtWuDXX3/FmDFjEBsbC6PRiOPHj2faU%2BxI/fv3x7Fjx3DhwgUAacWbMl74ZncJn5o1a2Lo0KHCRURCQoLwPulsKfDWqVMnzJ49G3FxcQCA4sWLm00bzQ2BgYEmo5JqtTrLc5dv3bplNXNBqVRizpw5kmkKWbF7927JHOGspoGnq1atmiSY2b59u8XAukmTJihcuLDJ6FRW5qDLZDIsWrQIs2fPFtJ5Y2JisG7dOpvSSXNS9%2B7dcfLkSSFD6NGjR5gzZ47Zx44cORL%2B/v42BdZqtRq//PILxo0bJ8zLNhgMuHPnjuRx5cqVw9KlSyWZDuLq3xnlp20HwKaaFelatGiBGTNmZLpElEKhwMKFC/HRRx8hISEBBoMBQUFBCAoKMnlsqVKl8MMPP0iy0ywxGAwIDg62WiTOw8MDP/30kyQFVaxMmTLYvHkzhg8fLhTVunHjhs3FonJKQEAA/vjjD3z99ddCx8LTp0%2BtZqUVLVoUs2bNsjkVediwYTh79qxwrXLp0iVJscJ01apVw4IFC9CuXTurrzl79my8//77QkX3I0eOSOb6pvP29saSJUvsXjkhOwIDA3Ho0CEcPnwYQNr1Y8bPurUsJiAtHXzVqlVCENugQQOUK1cu5xucwaBBg6DX63Ho0CHs27cv02wJDw8P/Prrr5l%2B3rOiX79%2BiI%2BPx6JFiwCkZX4tX74808e/8847WLp0qcUlx3JqP1DuYyr4G0ChUGDSpEn4888/0axZM4upNzKZDP7%2B/hgzZgwWL16cK%2B0pX748du7ciVGjRllcWkClUqFly5aS5Roy8vHxwdq1a7Fw4cJMC4%2BkU6vVeOedd/Ddd99JUqLzSt%2B%2BffHXX3%2Bhd%2B/e8PX1hbu7u0OqPbq7u2P9%2BvUYPHiw2SV1FAoF2rdvj23btmV5bdCAgADs378fQ4YMsbgWMJB2YdOrVy%2BsX78%2BT06wYmq1GmvXrsXs2bPRsmVLlChRIsfWLwWAcePGYe3atQgMDET58uXh6uqa5XU6nZ2dJZ0tPXv2hEKhyLE2WtK4cWPJPE8grTc84xrC5nTu3Bn9%2BvWz2lGkVCrRqlUrbN%2B%2B3aY5yZkRdwDUqlXLrjQ%2BccfB4cOHLabxKxQKk5RvJyenLAf2SqUS06dPx4YNG9CkSROL%2B1gul6NGjRoYN24c5s2bl6X3scWCBQswYsQIyXJQYuXLl8eyZcswYsSILL2uu7s7Vq5cieXLl6N9%2B/YoXrw4VCoVihYtirp162LatGkICgqCn5%2BfpKPCWlp4ftp2mXF2dkbRokXRoEEDDB48GDt27MAvv/xi9dhao0YNbNq0SVKhW0ytVqNbt27YsWOHTeu/9%2B/fHz169DD5Xptrb48ePbBnzx6zaeBiZcuWxfbt2zF16lSULl3a4mPd3d3Rtm1b/Pjjj9nKBLLE398fO3bswLfffosaNWpYPdYGBATg0KFDWZrf6%2BzsjNWrV6NXr15mz9vOzs7o27cv/vzzT5uOk0Bap8iWLVskBSPF0gvJ7dy506ZK/blBJpNh6dKlWLx4Mdq1a4dSpUpJCnTaqmTJkpLtkhfZV0Ba%2B3/88UeMGjUq0/3SrFkz7NixI0e38WeffYb169dLVjDIqHjx4pg%2BfTp%2B/fXXTI%2B56XJqP1DukxkdtfYPOUx8fDwuXbqE58%2BfIzY2FgqFAp6enihXrpyQGpZXDAYDbt68if/%2B%2Bw/R0dEwGAzw8vJChQoVULNmTasHm4zCw8Nx5coVREZGIi4uDs7OzihUqBAqVKgAPz%2B/HA2eXgfx8fE4e/asMN%2BsePHiqFevXo4sf2EwGHDr1i38999/iImJQUpKCtzd3VGiRAlUrlxZUiyKTD148EC4AJXJZDh8%2BDDKlCnj4FZlTUREBO7cuYOnT58iLi4ORqMR7u7uKFu2LGrWrJmnx5qCQqPRCMfnV69eQaFQwMvLSzg%2BW%2Buwyqk2nD9/Ho8fP4ZOp0OxYsVQqVIlm5YFstekSZOEkdkxY8Zg%2BPDhNj83P2y73HDnzh1cvXoVsbGx8PDwQPHixdGwYUObA7iMnjx5gvv37yMsLAwajQYymQyenp6oWLEiatSoIUkvzYqHDx/i5s2biIqKQkJCAlxdXVGkSBFUqlQJVapUyZP5tEDacefatWuIiopCdHQ0dDod9u7dK2RDKBQKLFmyRFInISsiIyNx7tw5hIeHQ6lUomTJkpJ52NkRGhqKixcvIioqCi4uLihWrBjq16%2Bf6zU18srRo0eFugheXl44deqU2aXmckKjRo2ENPytW7cKx63k5GT8888/ePr0KbRarbCNrXUK2SssLAyXLl1CZGQkUlNTUahQIfj5%2BdnUCUQFDwNrIqJ8aN68eVi9ejWAtLTj9J%2BJXlcajQYtWrQQCmyuXbs2V%2BZD05vn%2BfPn6Nu3L8LCwgCkZZesXr3a6qg85YzPPvtMmAry0UcfCXUUckNmgTVRXmAqOBFRPvPq1StJZV5zBYSICgpb%2Bu8NBgOmT58uBNWlSpVCo0aNcrtp9IYoWbIkVq9eLUw/S05OxvDhw21al5rsc%2B/ePaHwFgB88MEHDmwNUe5iYE1ElI8kJiZi%2BvTp0Gg0AIAKFSqgdevWDm4VUfYNGTIEP/30E0JCQsz%2B/tq1axg0aJCksNDw4cMdUoOCXl8VKlTAb7/9JhTFi4uLw5AhQ4RRbMp50dHRmDp1qtC51qpVK1SuXNnBrSLKPawKTkTkYGvXrkVwcDASExNx584dybqX48aNy7OiZUS5ITw8HEuWLMGSJUvg7e2NsmXLwt3dHYmJiQgNDUVMTIzk8R06dMiz4kb0ZqlevTp%2B%2B%2B03yRJ9ly9ftqvoIUnNmzcPjx49gkajwa1bt4QsFKVSiTFjxji4dUS5i4E1EZGD3bx5E0ePHjW5v0%2BfPjYt20KUn4kL9MTGxma6vq9SqcRHH32E8ePH51XT6A1Uu3Zti9WayT7nz583u8zi%2BPHjra7eQlTQMbAmIspHXF1dUaVKFbz//vsWl5ojKij%2B%2BOMPHD9%2BHMHBwbhz5w7CwsKg1Wohk8mEqt0NGzZEz549C1zleyLKnIeHB2rUqIFPPvkELVu2dHRziHIdq4ITERERERER2YGVQYiIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjswMCaiIiIiIiIyA4MrImIiIiIiIjsoHR0AxwpIkKTa68tl8tQqJAboqO1MBiMufY%2BlHO4zwoe7rOCh/us4OE%2BK3i4zwoe7jP7FS3q4egm0BuOI9a5RC6XQSaTQS6XObopZCPus4KH%2B6zg4T4reLjPCh7us4KH%2B4yo4GNgTURERERERGQHBtZEREREREREdmBgTURERERERGSHN7p4GRERERGRbfSQySKhULyAXP4ccvlL6HQ1oNPVdXTDiCgfYGBNRERERG8ww/8C5uf/C5jDJf8rFC8gk72AXB4OmUxv8uyEhGHQar8B4JrnLSei/IOBNRERERG91pTKq1Aqr0Euf/G/f8%2BhUIRDJnueacBsjtEoh9HoDaOxMIxGZyiVN%2BDq%2BjOcnI4iLm4ldLr6ufyXEFF%2BxcCaiIiIiF5LMlkk3N2nwNl5k8XHGY0yIWA2GArDaCwEg8EHBkMhGAyF/ne7EIxGbwAK4XlK5UW4ui6BQvEfvL3bISFhHBISJgJQ5e4fRkT5DgNrIiIiInrNGOHktAHu7lMgl8fAaJRBp6sDo7FYJgGzD8QBs610uvrQaH6Ci8vPUKtPwM3tezg5HUJc3Ero9dVy/K8iovyLgTURERERvTYUiv/g4TEaKtVpAIBeXxEJCV9Ar6%2BaK%2B9nNHogIWE8UlMbw8VlOZTKq/DxaQ6tdjoSEz9HdgJ2Iip4uNwWEREREb0GkuHqOhs%2BPgFQqU7DaHRCYuJgaDSLcy2oFktNbQaN5iekpjaETJYMd/cp8PbuArk8NNffm4gcj4E1ERERERVoKtUpFCr0Dtzc5kImS0FqagNoNCuQnNwTeZmgaTQWglY7HQkJo2A0ukClOotChd6Bs/NaAMY8awcR5T2mghMRERFRgSSTRcHdrYZKUAAAIABJREFUfRqcndcDAAyGQkhMHIrU1KYAZI5qFVJSOkCnqwVX1x%2BhVN6Ah8coODntgUazDAZDCQe1i4hyE0esiYiIiKiAMcLJaRMKFaovBNXJyV2g0axAamozOC6o/j8GQ0nEx89CYuJgGI0qqNWH4OPTCE5OQY5uGhHlAo5YExEREVGBoVDch7v7l1CrTwAA9PoKSEj4HHp9dYe2yzwFkpN7IjW1LtzcFkOhuA9Pz0%2BQnLwbGs1CGI2FHN1AIsohHLEmIiIiogIgBa6u38PHJwBq9QkYjWokJg6ERvNDPg2q/4/BUB4azQIkJX0Io1EBJ6dtKFSoMVSqw45uGhHlEI5YExEREVG%2BplKdhbv7aCiVdwEAqan1kJg4HAZDSQe3LCtUSErqj9TUBnB1XQSF4im8vXshMXEQkpJmA3BzdAOJyA4csSYiIiKifEkmi4aHx0h4e3eEUnkXBoMPtNrx0GpnFLCg%2Bv/o9X7QaH5EcnI3AICLy2p4egYAOO3YhhGRXRhYExEREVE%2BY4ST02YUKtQAzs6/AwCSkzv9rzhZS%2BSH4mT2cUZi4lDEx8%2BCwVAMCsVDAM3h4jINQLKjG0dE2cDAmoiIiIjyDbn8Aby8esLTcwjk8gjo9WWh0cxDYuIIGI0ejm5ejtLpaiMubhlSU9sBMMLZeTG8vTsBSHJ004goixhYExEREVG%2BoFbvQKFC70CtPvq/4mQDoNEsgV5fw9FNy0VuSEoaC%2BBbGI0eUKkuws1tuqMbRURZxMCaiIiIiBzMAFfX7%2BDlNQAyWQJ0ulrQaJYhObkPAJWjG5dHmiIxcRwAwNX1Z6jV%2Bx3cHiLKCgbWREREROQwMpkGnp794Ob2PQAgKakn4uO/g8FQysEty3t6fUMkJfUAAHh4DIdcHubgFhGRrRhYExEREZFDyOUP4O3dFk5Oe2E0qqHVjkNS0mAACkc3zWGSkj6GXl8Zcnk0PD2HANA7uklEZAMG1kRERESU51Sq4/DxaQWl8l8YDIURHz8HqamtHd2sfEAFrXYCjEYXqFSn4eq6wNENIiIbMLAmIiIiojxkhIvLT/Dy6gG5PAY6XVVoNIuh11d1dMPyDYOhFBISPgcAuLrOgUp11sEtIiJrGFgTERERUR5JhofH53B3nwSZzICUlHaIj58Do7GwoxuW76SmtkZKShvIZAZ4eAyBTBbt6CYRkQUMrImIiIgo18nlL%2BDt3RnOzhtgNMqRmDgUCQmjAagd3bR8KyFhGPT6UlAonsLDYwQAo6ObRESZYGBNRERERLlKqbwEH58WUKkuwGj0gFY7E8nJ3QDIHN20fM4VCQnjYTQq4eS0B87Ovzq6QUSUCQbWRERERJRrnJw2wdu7I%2BTy59Dry0KjWQSdro6jm1Vg6PVVkJQ0EADg7j4ZCsVNB7eIiMxhYE1EREREuUAHN7cp8PT8DDJZMlJTG0OjWQiD4S1HN6zASU7uhtTUhpDJkuHpORCA1tFNIqIMGFgTERERUY6SyWLg5fUeXF2XAgCSkj6AVjsFgKtjG1ZgyZCQMAYGQ2EolXfh4fG1oxtERBkwsCYiIiKiHKNQ3IWPT2uo1cdgNDpDq/0aSUkfgZed9jEavZCQMA5GowzOzr/DyWmbo5tERCI8whERERFRjlCr98PHpzUUihAYDMUQH/89UlObObpZrw2d7m0kJ/cBALi7j4ZcHurYBhGRgIE1EREREdnJCBeXhfD0/AAymQY6XU1oND9Ar6/k6Ia9dpKS%2BkKnqw65PA6enoMApDq6SUQEBtZEREREZJcEeHoOhLv7DMhkRiQnd0F8/LcwGr0c3bDXlAJa7XgYje5QqS7Cze07RzeIiMDAmoiIiIiySS5/Ah%2BfDnByCoLRqEBCwhdITPwcgMrRTXutGY3FkJAwCgDg6roYKtUxB7eIiBhYExEREVGWqVSn4OPTAkrlNRgM3oiPn42UlM6ObtYbIzW1CZKT07a3p%2BdQyGQvHdwiojcbA2siIiIiygIjXFyWwcvrXcjlkdDrK0GjWQy9voajG/bGSUwcAr2%2BPOTyl/D0/AyAwdFNInpjMbAmIiIiIhtp4ek5CO7ukyGT6ZGS0gYazfcwGos5umFvKCdotRNgNDpBrT4KF5dljm4Q0RuLgTURERERWSWXh8DHpw2cnLb9bz71MCQkjAXg7OimvdEMhnJITBwKAHBz%2BwZK5SUHt4jozcTAmoiIiIgsUqsPwMenJZTK2zAYCiE%2Bfg5SUgIByBzdNAKQktIBKSnNIJPp4Ok5CDJZnKObRPTGYWBNRERERJkwwNV1Djw9%2B0AufwWdrvr/1qf2d3TDSEKGxMQRMBiKQ6F4CHf3MQCMjm4U0RuFgTURERERmZDJYuHl9QHc3Ob8b33qroiPnw2jsbCjm0ZmGI3u/1vfWgFn561wctrg6CYRvVEYWBMRERGRhEJxGz4%2BraBWH4DRqEZCwlgkJg4H16fO3/T6akhK6g8A8PD4CgrFPQe3iOjNwcCaiIiIiAROTtvg49MaCkUIDIbiiI%2Bfj5SUto5uFtkoObkXdLo6kMkS4Ok5EECSo5tE9EZgYE1EREREAHRwc5sCT8%2BBkMkSkJpa53/rU1d2dMMoSxTQar%2BEweANpfIG3NymObpBRG8EBtZEREREbziZLAJeXt3g6roUAJCU9D602hkwGr0c3DLKDqOx0P%2BWQgNcXVdCrd7n4BYRvf4YWBMRERG9wZTKi/DxaQ61%2BhSMRhdotZORlPQxAIWjm0Z20OnqIympJwDAw%2BNzyGSRDm4R0euNgTURERHRG8rZ%2BXd4e3eEQvEMen0ZaDSLkJraxNHNohySlDQAen1FyOXRcHef5OjmEL3WGFgTERERvXGS4eExCh4eIyGTpSA19R1oNItgMJR1dMMoR6mQkDACRqMMzs5/QaU66ugGEb22GFgTERERvUHk8mfw9u4EZ%2Be1MBplSEz8BFrtJACujm4a5QK93g8pKd0AAB4eYwFoHdsgotcUA2siIiKiN4RKdQo%2BPs2gUl2EweAJrXYmkpN7g5eEr7fExH4wGIpBoQiFm9tcRzeH6LXEoygRERHRa88AF5dl8PJ6F3J5JPT6SoiPXwyd7v%2Bzd9/xddX1H8dfZ9yVm9G0FGiLjCLIXqVAaQVaylKmCAKKIENUqgKCQnEgUxABpUxBtiCCOFgCMsv4sfeQVVZBupPcdebvj9ykSZumGffec2/yfj4eeTS549xPckvpq98ztop6MKmIOrLZ7wOQSs3Ctl%2BKeB6RoUdhLSIiIjKEmebHNDXtR339TAzDx3F2prX1PIJg9ahHkwryvG1wnB0wDJ%2BGhh8BXtQjiQwpCmsRERGRISkkkbiZ5uZJxOMPEYYJstlji9c3TkY9nEQglzuaMKzHtl8glbo86nFEhhSFtYiIiMiQM490%2BhAaG4/BNJfgeRvS2noxjvMVwIh6OIlIGI4klzsCgHT6TEzzg4gnEhk6FNYiIiIiQ0gs9i9gY%2BLxfxGGNrncYbS1nUsQjIt6NKkCjrMrnrcZhpGloeEEIIx6JJEhQWEtIiIiMgQYxhIaGr5Hff3BwDx8fx1aWy%2BkUDgQsKIeT6qGUby2dZx4/H4Sib9GPZDIkKCwFhEREalxsdjDNDdPIpn8M2FoAt8km72IIBgf9WhShYJgHPn8QQDU15%2BMYSyIeCKR2qewFhEREalZWerrT2TEiL2xrI/x/bFks%2BcBRwGxqIeTKlYofA3fXxvTnE99/c%2BjHkek5imsRURERGqQbT/NyJFTSKWuBKBQ2JPW1osJgo0inkxqQ6y4S7hBMnkTsdgjUQ8kUtMU1iIiIiI1xaGu7nRGjNgVy3qHIFiFtrYzyOW%2Bjy6jJf3h%2BxviOHsC0NDwYyAX7UAiNUxhLSIiIlIjLOtVmpunkk6fj2EEOM7OtLbOwvO2ino0qVG53LcJglWwrPdIp8%2BLehyRmqWwFhEREal6PqnUhTQ374htv0IQNJHJzCSbPYEwbIh6OKlpdWSz3wMglfo9lvVqxPOI1CaFtYiIiEgVM813GTFid%2Brrf4VhuLjuJFpbL8F1J0c9mgwRnjcJ152MYXg0NPwI8KMeSaTmKKxFREREqlJIMvlHRo6cTCz2f4Rhmmz2eDKZUwnD5qiHkyEmmz2GMEwTiz3beUI8Eek7hbWIiIhIlTHNT2hq%2BhoNDT/BMLJ43ha0tMzCcaYDRtTjyRAUhqPI5Q4HIJ0%2BHdP8KNqBRGqMwlpERESkajikUrNobt6WePw/hGGcbPZ7tLWdQRiuGvVwMsQ5zu543sYYRoaGhp8AYdQjidQMhbWIiIhI5ELi8XsYOXJb6utnYpoteN4GtLZejOPshf7KJpVhFq9tbROP30s8/veoBxKpGfpTWkRERCRClvU6TU370dT0DSzrXYKgmWz2ONrafksQrBH1eDLMBMGaFArfAKCh4SQMY1HEE4nUBoW1iIiISAQMYwH19SfQ3Lw98fiDhGGMfP5AWlquxHF2QX9Nk6jk8wfg%2B2timp9TX//LqMcRqQn6E1tERESkolxSqUsYOXJLUqmrMIwA151Ca%2Btl5POHAXVRDyjDXoxsdgYAyeR1xGKzI55HpPrZUQ8gIiIiMlzE4/%2Bmvn4mlvU2AL6/LrncUXjeZhFPJtKd729MofAVEom7aWj4EQsXPgEkox5LpGppxVpERESkzCzrTZqa9qep6QAs622CYATZ7I9obb1QUS1VK58/jCAYhWW9Q13d%2BVGPI1LVFNYiIiIiZWIYC0mnT6K5eRLx%2BP2EoU0%2B//XicdS7AVbUI4qsUBjWk8sdA0Bd3YVY1hsRTyRSvbQruIiIiEjJuSSTV5NOn4Nptp9V2XUnkcsdQRCMjXg2kb5z3e1x3UnEYk/S0PBDFi%2B%2BD63NiSxPYS0iIiJSQrHY/dTXz8S23wLA99cpHke9RcSTiQyEQTb7PRobXyQWe5pk8mry%2BaOjHkqk6uifm0RERERKwLLepqnp64wYsT%2B2/RZB0EQ2O4PW1t8rqqWmheEq5HKHA1BffxqmOTfagUSqkMJaREREZBAMYxHp9Mk0N29LPH4fYWiRz3%2BN1tYrcZw90HHUMhQ4zh543oYYRiv19SdGPY5I1VFYi4iIiAyAYSygru5sRo7cgrq6SzEMD9fdrng96iMJw/qoRxQpIYtsdgZhaJFI3Ek8/q%2BoBxKpKjrGWkRERKQfTHMuqdQsUqlrMIwMAL6/NrnckXjeVhFPJ1I%2BQbA2hcIBJJO30NBwAgsXbkMYrhb1WCJVQWEtIiIi0gem%2BS7p9O9JJP6MYTgA%2BP665PMH4Lrbo12%2BZTjI579BLPYUljWHpqbvsHjxP1FSiOi/AhEREZFeWdYrpNO/Ix7/O4YRAOB5m5LPfx3PmwAY0Q4oUlFxMplTaGg4nlhsNun0aWQyZ0Y9lEjkFNYiIiIiPbDtJ4tBfV/nba67Lfn81/H9jSKcTCRaQbAG2exxpNNnU1f3B1x3Io6zT9RjiURKYS0iIiLSKSQev5%2B6uguIxZ5ovyU0cd0dyOf3JwjGRzyfSHVw3cnk818nmbyNxsYfsGjRRvj%2BelGPJRIZhbWIiIgIPonE36mruxDbfhmAMIzhONMpFL5GEIyNeD6R6pPPfxvbfhvbfonGxm%2ByaNGDgM6GL8OTwlpERESGsQLJ5C3U1V2EZb0LQBimKBT2oFDYhzBcJeL5RKqZRSZzEg0Nx2Hbb9LYOIOWlmvQeQdkOFJYi4iIyDDURip1LanULCxrLgBh2EA%2Bvw%2BO81XCsDHi%2BURqQxg2k8n8jPr6k0kk/kYqtQ253A%2BiHkuk4hTWIiIiMmwYxkJSqStJpS7DNBcBEASjKBT2o1DYHUhFO6BIDfL9jcjljqKu7grS6Z/julvhedtFPZZIRSmsRUREZIgLicWeIJm8gUTi7xhGFgDfH0uh8HUcZxoQi3ZEkRrnOHth228Rjz9MU9O3WbjwMcJwtajHEqkYhbWIiIgMSaY5l2TyzySTN3UePw3g%2B%2BuSz%2B%2BP604BrOgGFBlSDLLZGVjWHCxrDk1N32Hx4n%2Bi3JDhQr/TRUREZAhxiMfvIZW6gVjsAQwjANpPSOY4O%2BI40/H9DdDJlUTKIUUmM5OGhuOIxWaTTp9GJnNm1EOJVITCWkRERGqeZb1GMnkDyeRfMM0Fnbd73qY4zs44zpeBZHQDigwTQTCObPY40umzqav7A667NY6zb9RjiZSdwlpERERqkmEsJpG4nVTqBmz7%2Bc7bg2AUjjMdx9mZIBgX4YQiw5PrTiaf/zrJ5G00Nv6ARYs2wvfXj3oskbJSWIuIiEgNCYjFZpNMXk8i8U8MIw9AGFp43iQKhZ3xvAno2GmRaOXz38a238a2X6Kx8ZssWvQQUB/1WCJlo7AWERGRqmeaH3U5Edmcztt9fy0cZxccZyphOCK6AUVkGRaZzEk0NByHbb9FY%2BMMWlquQec3kKFKYS0iIiJVqkAicRfJ5I3EYv/BMEIAwjDd5URk66O/qItUpzBsJpP5GfX1J5NI/I1UahtyuR9EPZZIWSisRUREpGoYxhLi8QeIx%2B8mHr8f01zceZ/nbU6hMB3X3R6diEykNvj%2BRuRyR1FXdwXp9M9x3S3xvElRjyVScgprERERiZRpfkg8fg%2BJxN3EYo9hGF7nfUEwusuJyMZEOKWIDJTj7IVtv0U8/jBNTYexcOFjhOFqUY8lUlIKaxEREamwENt%2BkXj8bhKJu7HtV7rd6/tr4rrb4rrb4PtfQiciE6l1BtnsD7GsOVjWHJqaDmfx4n8CsagHEykZhbWIiIhUQIFY7FESibuJx%2B/BsuZ23hOGJr6/Ma67Da67rS6RJTIkJclkZtLQcByx2OOk06eRyZwV9VAiJaOwFhERkbIwjAXE4/8mkbiHePw/GEZb531hmMTztsZxJuJ5EwnDpggnFZFKCIJxZLPHkU6fTV3dxbjuRBxn36jHEikJhbWIiIiUjGm%2BSyLRsYv3kxhG0HlfEIzCdbfDdbfB8zYD4tENKiKRcN3J5PNfJ5m8jcbGH7Bo0UbFs/uL1DaFtYiIiAxCG7HYk8TjjxKP34ttv9XtXt8fXzxeelt8f13AjGZMEaka%2Bfy3se23se2XaGz8JosWPQTURz2WyKAorEVERKQfMsRiTxGPzyYWexTbfh7D8DvvDUMLz9u8uCq9DUGgM/%2BKyLIsMpmTaGg4Dtt%2Bi8bGGbS0XIOuSS%2B1TGEtIiIivcgCT5FM/hvbfhTbfq7b5bAAgmB1PG8zXHdzPG9rwlArTyLSuzBsJpP5GfX1J5NI/I1UaiK53LFRjyUyYAprERER6SJHLPYMsdijxOOzse1nAYdUaukjgmBVPG9zPG9jPG8zrUqLyID4/kbkckdTV3c56fQvcN2t8LxJUY8lMiAKaxERkWGtUAzpx4jHH8O2n8EwCss8ZjSuuxmuuwmetylBsDraZVNESsFx9sS23yQef5impoNpabke190h6rFE%2Bk1hLSIiMqxkicVeIBabTSz2GLHY0xhGvtsjgmAUnrdZMaI3o75%2BPPl8Ht8PI5pZRIYug2z2h5jmp9j2WzQ17UMmc0Zxt3D9A57UDoW1iIjIkBVgWe9i288UV6WfxbJe7XayMYAgaC7u2r1pMabH0vEXWssy0F9uRaS8krS1nUNd3SXE4/%2Bhvn4msdhztLTMAtJRDyfSJwprERGRIcIwFmLbzxUj%2Bjls%2B1lMc9Fyj2tfkd64S0ivgeJZRKKVIJs9Hs9bj1TqjyQSt9Pc/CZLltxEEIyPejiRlVJYi4iI1CQX236tuBr9LLHYM1jWO8s9Kgzj%2BP76eN6XOn8Nw1VQSItI9TFwnL3w/XVIp3%2BDbb9Gc/NOtLZehePsGvVwIr1SWIuIiNQA0/wE2362uBr9DLb9IoaRW%2B5xvr8Gvr8Bnrc%2Bvr8%2Bvr8O%2Bt%2B9iNQS39%2BE1taLinH9Bo2NB5DNziSbPQkwox5PpEf6P62IiEhVCTHND7DtV7HtV4q/PodlzV3%2BkWE9nrdBtxXpMGyMYGYRkdIKw1VoazunuFv4XaTTZ2HbL9Laejlh2BT1eCLLUViLiIhEJoNtv94lol/Dsl7DNFuWe2QYWgTBOnjel4qr0V8iCMah1RsRGbpi5HI/wPfXI5W6hETiLmx7KkuW3Izvfynq4US6UViLiIiUXYhpfrzMKvSrmOa7GMbyl7AKwxhBsBa%2Bvw6%2Bvxaetx6%2B/0UgWfnRRUQi5ji74PtrkU6fjWW9Q3PzVFpaLsdx9o56NJFOCmsREZGSymHbb3SL6PZV6MU9PjoImvH98Z0R7fvji2fp1v%2BiRUQ6%2BP76xeOuz8O2X6Kp6VtksyeQyfwCsKIeT0T/1xYREem/ENP8DMt6B8t6t/jrO9j228VV6GD5Z4QWQbBmMaLXLn6sQxg2RzC/iEjtCcMRtLWdQTJ5DcnkHdTVXYBtv0hLy9VAQ9TjyTCnsBYREVkBw1jUGc2W9S62vTSiDSOzwucFQRNBMB7PW6czoIPgC0CscsOLiAxJFvn8Ufj%2BF6mr%2BwPx%2BIM0N%2B8EzIl4LhnuFNYiIjLMZbGs97rE8zud8WyaC1b4rDC0CMPV8P1xBME4fH8sQTAW31%2BTMByJrhMtIlI%2BrrsTra1rUl9/Npb1QdTjiCisRURkqPMwzU%2BxrA8xzQ%2BwrI%2BwrA%2BxrA8wzfewrI97fXYQrFIM53HFcB5LEIwjCFZDK9AiItEJgvG0tl5IXd35xPTHsURMYS0iIjXOwzQ/KYbzh8Vo/rDza9P8BMPwet1CGNbj%2B1/otvLcEdGQqsy3ISIi/RaGDWQyv2TEiKgnkeFOYS0iIlUuj2nOxbI%2BwjQ/wrI%2B6BLOHxXD2e91C2FoE4arEgSrEQSr4vurEgSjCYIxBME4wrAR7botIlKrdFZwiZ7CWkREIhJiGIsxzbnFcP60uPL8aedt7R8LV76lMNYZzWHYEc6rdrmtGf3FS0RERMpFYS0iImXgY5r/6xbIlvUptj0X%2BB%2BNjR8XV5pzfdpaGMY7I3npr6OXCWezrN%2BRiIiIyIoorEVEpA9CDGMJpjkfw5iPaXZ8zOvhtvkYxv96vJZzB6vL4nEQNBKGqxAEowjDUfj%2BKoThSIJgFEGwCmE4ijCsR7tqi4iISLVSWIuIDDshkMcwWjDNFgxjQbdIbg/jeZjm0tsNYwGG4fbvVUKTMOyI46XhnEyuTjbbiOeNIghGAomyfJciIiIilaKwFhGpKQGG0YZhtHR%2BtMdxywpvM83WLvctwTBa%2Bx3JHcIwRRiOIAhGEIZNhGFj8fPG4spzE2HYVIzoJpY9rtmyDJLJFL6fIwjCEvw8RERERKKnsBYRKYsQyGIY2WIId/010%2BVjRfcve3umuL1WDKM0QRqGBlDXJY57C%2BWmYihrdVlERERkWQprERnGfCCHYeR7iNrlAxeymGam%2BHnXx7Ut95z2CC7fimwYWoRhGkgThh0fdV1%2B7emj%2B2Par8%2BsE36JiIiIDJbCWkQiFgIu4GAY7R/tnxcAt/h1objrcsfteQwji2UVAJ9kcjFBkMM0s533GUau86M9npf9OlvcdgW%2BwzBJGKaAZPHznr5OAonirtaJ4tdd70t1Pq89qOPoZF4iIiIi1UFhLTIkhIBHR5y2B2lHiLrL3O6s4Gu3y/P8Lp97gIdhuBiGR3sEe10%2BdzEMv9tzO7bV8bz2MO54vUKX13dKErep1KA3sYKYTXaG7tLbE10iONHD/R3PSxTjOYFWhUVERESGNoW1SI9CIKCnuGz/vCMyvS4R6XeJU6/L47qGbaG4Krs0Lts/L3S7f8X3dazidjy/67aHhvbjfmNAjDCMFT%2B3Oz8PQ5uOqDWMBLadwnHsYsjGCcN48f44S%2BN36ec93xZH8SsiIiIiA6Wwrjkh7auJ3jKrgl0jrmv4dV1l7Cn4lq42do9Fr/N12oMxKN7ud7k9KH7d8Vi/y/1%2BcRtBl6%2BD4vwd0Rou89F%2Bzdv241KXvX3Ft3Xfbtf7gmXuX/bXnh8zYkTHz7a2tYeo3flr9887ArXr51bxMVbn52AVv%2B56u7WCx6zovo452l9r%2BUhe9v7uZ5HujWUZNDSkKBRy%2BL7OMC0iIiIi0RjWYR2P30V79AVdgrA9BNtDqyMauwdl1%2BjsuH1psLbHpGn6AKTTBcLQ67KdFa98rmw33KW/SjkZvRy22hGZ7cHYEaMd4WnTvuppL3Of1SUku6/ALr8iu%2ByvXZ9nr2A7HYHcNZwtdPytiIiIiEhlDOuwbmo6uOyvEY%2BX/SUACMP2oOsedR1fLxt/y69GLh%2BKVnGbFmAWP1/6NRjF53a9rafHmcXHGV0%2BOna57fia4uNY5nH08Nju97e/Xk/3dX0ds5fHLn2MaZrU16doa3Px/Y5A7rr62vF8ERERERGRpYwwDIft/pNh%2BPEytxgr%2Bbx/txmGQRjC0p/wip7T23b7%2BqsMnoFpGgRBx27iUv30ntUevWe1R%2B9Z7dF7Vnv0ng2GYcQxDJ0rRaI1rFesYVzxD7DyWPoHpNSKMDQYxv/WVJP0ntUevWe1R%2B9Z7dF7Vnv0ng2cYRj4vodhrIZpLmTx4odx3a2iHkuGkNGjG1b6mGEd1kEQsnBhpizbtm2T5uY0LS1ZPC8oy2tIaek9qz16z2qP3rPao/es9ug9qz16zwZn5Mg0AEEwBtNciGV9qLCWitM%2BEyIiIiIiUvOCYAwApvl%2BxJPIcKSwFhERERGRmtcR1pb1XsSTyHCksBYRERERkZoXBGsAYFn/jXgSGY4U1iIiIiIiUvN8/wuAwlqiobAWEREREZGaFwTtYW2aCzCMhRFPI8PNsD4ruIiIiJRWEAT4vhf1GMNaEBjk8xaOU8D3dfmmWqD3rHeWZWOafVkPTBEEq2KanxOLvYrj7FD22UQ6KKxFRERk0MIwpKVlIblcW9SjCDB/vkkQ6LJNtUTvWe9SqXoaG0diGEavj/O8LxKPf45tv6iwlopSWIuIiMigdUR1fX0z8XhipX/5lfKyLEMrnzVG71nPwjDEcQq0tS0CoKmnOI2kAAAgAElEQVRpVK%2BP9/0vAk9g2y9WYDqRpRTWIiIiMihB4HdGdX19Y9TjCGDbJp6n1c9aovdsxeLxBABtbYtoaGjudbdw318PANt%2BpiKziXTQyctERERkUHzfB5b%2B5VdEpNQ6/nxZ2TkcPG8DwtDGsj7Ast6pxGgigMJaRERESkS7f4tIufT9z5c6PG8jABKJB8o3kMgyFNYiIiIiIjJkeN7WAMRi90U8iQwnOsZaRERERCLx4YcfcNFF5/Pyyy%2BQTKaYPn03vv/9GSQSyV6fN2PGd3nxxeeXu/2mm25jrbXW7vz62muv4sUXn%2BeNN14jk8lw1VXXs8EGG5X626iYv/3trzz11OO8/vqrLF68mDPO%2BA1Tp05f6fPOOus07rnnzh7vO%2BaYGRx66OGDnu3rX9%2BLzz77tMf7Lr/8GjbZZFMALr30DzzxxGz%2B97/PMAyDNddci4MO%2BibTp%2B826Bk6uO5EUqk/EYs9gmF8ThiuWrJti6yIwlpEREREKq61tZUf//j7rL766px55nksWrSQWbMupKVlCb/85Rkrff6mm27Oscce1%2B221Vcf0%2B3rf/zjb4wbtwYTJ27Lww8/WNL5o3DvvXcBsN12kzs/74vDDz%2BKffbZv9ttDz54H7feejPbbbd9SWY7%2B%2Bzf4jhut9suv/xi5sx5nw022LDztnw%2Bx777fo0111ybMAx5%2BOH/cNpppxIEIbvuuntJZgmCNfG8DbDtN6mru5ZM5qcl2a5IbxTWIiIiIlWkUMivdMW23MIwxHVd4vF42V7jH/%2B4ndbWFq655s%2BMGDECAMuyOf30n/Ptbx/B2muv0%2BvzGxoaOldBV%2BT22%2B/ENE2ef/7ZIRHWl1/%2BJ0zT5NNP5/YrrMeNW4Nx49ZYZlsXs/ba41lvvfVLMtv662/Q7etcLsdbb73B7rvviW0vTY4TTvhZt8dtu%2B0k5sx5j3vu%2BVfJwhqgUNgL236TZPJqMpnjgVjJti3SEx1jLSIiIlJ01lmnceihB/Lkk49z6KEHMm3a9hxxxLd49dVXlnvs3Xf/i8MOO4hp07Zn33334IorLsHzlp6xeP78%2BZx99q854IB9mDZtMgcdtB9XXHEJjuN0286UKVtzww3Xcumlf2DvvXdjzz13AeC9997lxBN/xFe%2BsjM77zyZgw/%2BGjfddF235z766MN85zuHMG3a9uy992787nfnks1mO%2B9//vlnmTJla55%2B%2BilOO%2B1UdtllB/bff8/ltrP0%2B57NYYcdzNSpk5g9%2B9FB/zx789RTT7D11tt0RjXATjtNIx6P8%2BSTj5fkNXq7LFN/XX31Feyyy5d5443XOProbzNt2vZ885tf5/HHHyvZa6xMqb6fefM%2B5%2BWXX%2BwxZJ94YjZHH30Y06ZNZs89p3P%2B%2BeeQy%2BX6/RqPPfYIuVyuT7Hc2NjU7b%2BdUnDdyQRBM6b5Kcnk30q6bZGeaMVaREREpIsFCxZwwQXncsQR36WhoYEbb7yOn/xkBrfccgfNzSMBuOWWG7nssos58MBDmDHjOObMmcOVV15KEAR8//s/BGDJksU0Njbxwx8eT0NDAx999CF/%2BtOVLFgwn5kzf9XtNW%2B77WY22WQzTjnlF7hue2CcfPIJNDeP5OSTf0F9fT0ff/wR8%2BZ93vmc2bMf4dRTT2Lq1Ol897vHMnfuJ1xxxSV8%2BOEHXHLJ5d22f/7557Dbbl/h7LN/yyOPPMRll13Muuuu12034Pnz5/P73/%2BOww47klVXXY1VV11thT%2BjvkSQaZq9huCcOe/z1a/u3e22eDzO2LFr8MEH7690%2By%2B88DzTp08hCAI22mgTjjrqe2yxxVYrfd6yPv10LgccsDff%2Bc7RHHnkMb0%2B1vM8fvnLmRx00DcZO3Ysd9xxOzNnnsg119zE%2BPFfXOHzgiAgCFZ2jWqTSq153X//vwmCYLnjmh966AF%2B9auZfOUre3HkkcewYMF8Lr98Fq2tLfz61%2Bf06zUeeOBexowZyyabbLbcfWEY4vs%2BuVyOxx9/lGee%2BT9%2B8YvTB/U9LS9GobAnqdQNpNO/pFDYgzBsLPFriCylsBYRERHpoqVlCWec8RsmTJgIwOabb8XXvvZVbr31Zo455liy2QxXX30lhxzybY455lgAJk7cDsuyuOSSizjkkENpahrBuut%2BkRkzlh4DvOmmm5NMpjjrrF9xwgk/I5lcurt3Y2MTZ555XuclhRYvXszcuZ/wox/9hClTdgBgq6227jbnn/50JRtssBGnn35Ol%2B008utf/5znnnuWzTdfGpk77TStMxonTJjIE088xsMP/6dbWLe2tvC73/2BjTbapNefT0eIrszKQrW1tYX6%2Boblbm9oaKClpaXXbW%2B55QR23/2rfOELazJ//jxuvvlGjjvuB8yadWWPIVcqruty2GFHsOee%2BwCwzTaTOOig/bj%2B%2Bms47bSzVvi8c845fYUnD%2Btq9uxnSzZrbx544F422WQzxo4d13lbGIZccsnvmTZtF04%2B%2BRedt48cOZKf/vR4DjvsKMaPX7dP21%2ByZDFPP/0UBx98aI%2BXyXr22ac5/vj2/3Ysy%2BL443/ap5Ow9VehsB/x%2BH%2BwrLmk02fR1nZuyV9DpIPCWkRERKSL%2Bvr6zqiG9tCbMGFrXnutfXfwV155mVwuy9SpO3dbuZ0wYSKFQoH33nuXLbecQBiG/PWvN/PPf97B3LlzcZxC52Pnzv242wrndttN7hYgTU1NrL76GK64on21cMKEid1WkLPZLG%2B//V9%2B8IMfd5t96tTpnHnmr3jppRe6hfXEidt1fm6aJmuttTaff/55t%2BeOGDFipVENsMoqo7nqquv79LiV6fnSxOEKbl9q2WDffvsvc%2BihB3LttVdx/vl/WOnrdjVmzNh%2BBe0OO0zt/NyyLCZP3mGlu4MfccR32X//A3t9jGVVZrX6gw/m8N//vsXxx5/U7faPPvqAzz77lB/96Cfdfl9vscUEDMPgrbfeYPz4dfF9nzAMO%2B/vevx0hwcffADP89hll57P9L3xxptw1VXX09bWxlNPPcGFF56HbVvsuee%2BJfouOyTI5X5Aff3PSSavIJ8/CM/bssSvIdJOYS0iIiLSxYgRzcvd1tw8ko8%2B%2BhBoX40DOOKIb/X4/M8//x8At976Zy655Pcccsi32WqrrWloaOCNN17nggvOXe446%2Bbm7q9pGAYXXHAxV155GRdccC65XI7119%2BAH/3oBLbYYiva2loJw5BRo0Z1e55t2zQ1jaClZUm32xsauq8Mx2Kxbsdit3/fI3v8fpYVi8X44hdXfsKrlR0P3NDQSGtr63K3t7a2sdZavZ%2B4bFmpVIpJk6bw8MP/6dfz%2Bsu2bRobu%2B9O3NzczIIF83t93mqrrc7o0b1f8sm2KxPW9913D5ZlMW3aLt1uX7y4/ff1zJkn9vi8//3vMwC%2B8Y19u11W669//Sdjxozt9tj777%2BXddddb4W7x9fVpTsve7b11tvgug4XX3whe%2ByxF5ZlDewbWwHP2xLH2Yl4/GEaG49i0aL7CMNRK32eSH8prEVERES6WLx40XK3LVq0kFGjVgHagxDgrLN%2By2qrLX8cckdkPPTQf5g8eQe%2B970ZnffNmbOiY4eXX6Jdc821OfPMc/E8j1deeYkrr7yEn/3seO644x7q6xswDIOFCxd0e47neZ3HdvfXylaJO5RqV/C1115nuWOpHcdh7tyPlzv2ui%2B6rqKWi%2Bd5tLS0dIvrRYsWdf7eWJFq2hX8gQf%2BzdZbb9t5voAOHb9njj/%2Bp2y88fJ7LnTsgXDuuRfius5yt3f47LPPeOWVlzoPk%2BiLL31pQ26//VYWL175z3Igcrmjse3XsKy3aWo6mMWL/wlEe%2BZ9GXoU1iIiIiJdtLW18dxzz3TuDt7%2B9bOdu/K2HyudZN68/7HjjlNXuJ1CIU8s1v0SP/fdd0%2B/57Ftmy23nMA3v3k4J598AvPnz2PNNddivfXW58EHH%2BCgg5aunD/yyIP4vs/mm5dvd9dS7Qq%2B3Xbbc911V7NkyWKamtrPDP7oow/hOA6TJk3u10y5XI4nn5zNhhtu1K/nDcSjjz7UeYy17/s8/vijK92Fvlp2BX/ttVf55JOP%2Bc53jl7uvrXWWptVV12NuXM/6XXWdddd8UnaoP34bYDp0/t%2B6ayXX36RdDrd%2Bfug1MJwBG1tv6ah4SRisadobDyGlpZr0AWSpJQU1iIiIiJdNDY28ZvfnNHtrOAABx54MNB%2BDPaRR36PSy%2B9mM8//5ytttoa0zSZO/djHnvsUc466zySySQTJ27LX/96C7ff/he%2B8IW1uO%2B%2Be/j444/7NMM777zNrFkXsvPOuzJu3Bq0tbVxww3XMGbM2M7rER9xxHc55ZQT%2BdWvZrLHHnsWzwo%2BiwkTtmHChK3xvJWdhXpgYrFY5268g7HPPvtz%2B%2B23cvLJP%2BHww49i0aKFzJp1Ibvuuke3a1ifc87p3HvvXTzyyP8B8NJLL3DzzTewww5TWX31McyfP49bbrmRhQsXcMYZv%2Bn2Gi%2B88ByLFy/i/fffA%2BC5557h00/nMmbM2M7voT9nBY/FYlx33Z9wHIcxY8Zyxx238fnn/%2BOcc37X6/PGjBm73O7Sy7Jtc6Xv2Ztvvs6nn87t3G37tddeBdoPX9hyywkAfPbZp3zjG/ty%2BOFHLRfQ999/L4lEottx4h0Mw2DGjOP59a9PJZ/PMWnSFFKpFJ999ilPPjmb7373WNZcc61e52t/jX%2Bz6aabs/rqqy933zvvvM1ll13M1Kk7M2bMWHK5LI8//hh33vkPvve9GT0er10qQbAWmcyppNO/JJG4g/r61Whr%2Bw2KaykVhbWIiIhIF6NGjeL73/8Rl176ez755GPWWWc8F1xwMSNHLj0u8%2BCDv8Xo0aP5y19u4vbb/4Jt24wbtwbbb//lzjg4/PCjWbx4MVdddQUAO%2B20M8cddyI/%2B9nxfZph1KhR3HDDNcyfP490up7NN9%2BCX/7yjM5jUKdM2ZEzzzyPa6/9I6ec8hPq6xvYddevdF7uq9o1NDTw%2B99fxkUX/ZZTTz2JZDLJ9Om7LTd/EAT4vt/59ahRq%2BA4LldcMYslS5aQTKbYdNPNOPHEU5ZbOb766it48cXnO7%2B%2B7LKLAdhjjz059dTTADqv0bzs8eo9sW2b0047iwsuOJf33nuHMWPGctZZ5/HFL643oJ9Bf91%2B%2B63ddim/5ZYbAdhii62YNetKYOmlrJa9vJfv%2Bzz00P1MnrwDdXV1PW5/2rTpNDTUc911f%2Brcu2L11cew7bbbM3LkKGx7SY/P6/D%2B%2B3N49923OemkH/f42NGjbRobE1x77ZUsXLiIdLqetdZam3POOZ8vf3mnPv8cBsrzNiebPZ50%2BrekUpdjGJ/T2nop0PPPQ6Q/jLASB6RUKd8PWLgwU5Zt27ZJc3OaRYsyZfsXYyktvWe1R%2B9Z7dF7Vnv68p65rsOCBZ8yatQYYrF4hScsrbPOOo0333ydG264NepRBqUvq5/S7s47/87ll8/ittvu7HYJtGVdffUV3HLLjdx/f%2B9nAB%2BoKN6zlYVyNcnlUiv8c2bkyDQQ0Nb2CGFY6HkDXcTj95NKzcIwPFx3Ai0tfyYIxpRpchkKRo9e/tKAy9KKtYiIiIgMWy%2B//BIHHnhIr1Fdq2opnFfGsloxzRwjR84mmXSZN6/nS3n1hePsgu%2BvTjp9NrHYc4wYMZWWllvwvC1KOLEMNwprERERERm2Zs78VdQjDNpQCui%2BGj36312%2B2h3f798/jPj%2BprS1XUA6fTqW9SEjRuxOW9vp5PNHoeOuZSC0K7h2BZcivWe1R%2B9Z7dF7VnuG267gQ4V2Ba89fXnPhmNAd3Acj/nz57HuunNJJt1l7m0P677uCt5dhnT6PGKx9kudue42tLZejO9vWJK5ZWjoy67g%2BucYEREREZEqYttLevyQckiTyfyKbPZYwrCOWOxpmpunUFd3NtDfSJfhTGEtIiIiIhKRpdG8SAEdGRPH%2BQotLZfiupMwDJd0%2Bjc0N0/Btp%2BMejipEQprERERKYlhfHSZSJ9pFXqgwmV%2BLcMrhKPJZE4lk5lJEDRj22/R3LwbjY0HYNsvlO11ZWhQWIuIiMigdFxX2XG026RIV9qdu3QKBQ/DCInF/JU/eFAMXHcyra2X4Th7EIYmicS/aW7ekcbGb2DbL5b59aVW6azgIiIiMiimaZFK1dPWtgiAeDyBYRgRTzW8BYGB72sPgkqzrNZuXztORINURHaZr%2BvK9DohhYJHa2sLzc1LsKzK/L4Owway2RmY5n4kk7cSiz1IInEPicQ9FApfJZM5Bd/frCKzSG1QWIuIiMigNTaOBOiMa4mWaZoEgc4KXk6mmYt6hD6q1J4kC1dwe2LQWzaMkObmJYwZU/kV/yAYRzZ7PKZ5AKnUrdj2gyQSd5FI3EWhsBe53LG47iRA/5g43CmsRUREZNAMw6CpaRQNDc34vhf1OMOaZRk0NdWxZElWq9YlNHLk7KhH6EWtHf%2B7ZT8e2777d6VWqlckCNYgkzmhGNh/wbYfJpH4F4nEv/C8DcnljqBQOIgwbIp0TomOwlpERERKxjRNTFPXso6SbZskk0lyOV/Xsh6E0aP/HfUIXTwR9QAl9sgKbt%2B%2BolMMRBB8gUzmREzzQJLJfxGLPYhtv0FDw0nU1/%2BKfP4A8vkj8Lz%2B/OOBDAUKaxEREREZ9qojpIdaQPfXst9/9YZ2EKxJNnsshnEY8fijxON3YVlzSKWuI5W6Dtfdinz%2BSPL5/Snf8edSTRTWIiIiIjIsRR/Twz2kV6bj51O9gR2G9RQKX6FQ2APLepNk8m5s%2B1FiseeJxZ4nnZ5JobAXhcLXcN0dgVjUI0uZKKxFREREZNiILqYV0QNX/YENBr6/IZnMhhjGkcTjD5NI3IVpziWVupFU6kaCYCSFwj4UCvvhul8GrKiHlhJSWIuIiIjIkBVNSEcd0U9V6HW2q9DrdKiFwIYwHEGhsC%2BFwt5Y1hskErOx7ccwzYWkUteQSl1DEIwuRvb%2BuO52KLJrn8JaRERERIaMoR/SlYrmvuhplkrE9hNUe1y3M/H9jclmNwaOwrZfIx6fjW3PxjTnkUpdRSp1Fb6/ejHEv4bnTUSRXZsU1iIiIiJS0yof0%2BUM6WoK54HoOn85I7tW4rqDhedthudtBnyXWOwVYrHZxGKzsazPqKu7nLq6ywmCkTjOdBxnNxxnZ8JwZNSDSx8prEVERESk5lQ2pssV0rUe0StT7siutbjuYOO6W%2BK6WwLfIxZ7qRjZT2KaC0kmbyWZvJUwNPG8bSgUdsNxdsX3NwGMqIeXFVBYi4iIiEjVU0jXunJF9hPA7iXcXqXFcN2tcd2tgRlY1tvE489i289gWe8Siz1FLPYU8Gt8fyyOs2txNXtHoD7i2aUrhbWIiIiIVKXajunKRXRb28uD3kZ9/WYlmKSvnqLyJz6rBTa%2BvyG53IbAoRjGPOLxF7DtZ7Dt57GsuaRS15JKXUsYxnHdyTjOLjjOjvj%2BxoAZ9TcwrCmsRURERKRqVC6mSxnSpY/oUsRyKV6vfMHd8TMrRWAXgGQJtlNdwnA0hcKuFAq7Ag6x2OvY9rPEYk9jmp8Qjz9EPP4QAEEwCsfZEdfdAcfZkSAYj3YbryyFtYiIiIhEqvZiurQhXemI7o/yB7dWr/smjutugetuQS53JKb5KbHYc9j2i9j2S5jmApLJv5FM/g0A3/9CMbTbP4Jg9YjnH/oU1iIiIiJSUcM5pKs5ovujp%2B9j4LGtuO4fgyAYS6EwlkJhL8DFtt/Ftl/Btl/Esl7Fsj4ilbqRVOpGADzvS7jujjjOTrjuFMJwRLTfwhCksBYRERGRshuOMT1UIrqv2tpeVlxHIobnbYDnbQAcAOSJxd7Ctl8qrma/hW23f6RSVxbPNr45rjul%2BDFJoV0CCmsRERERKZvKBHX0MV3KiH7llUzJtrUym26aLun2BhfXUhpJXHdzXHdzAAyjDdt%2BjVjsZSzrBSzrA2KxF4jFXgAuJgwNPG9TXHdyMbS3JwxHRfst1CCFtYiIiIiUVO3EdPQhXcmI7svrlyK0Bx7XWrUuhzCsx3W3xXW3BcAwFhKLvYZtv4plvYxlfUgs9jKx2MvAZQB43ka47hQcZwquO5kwHB3hd1AbFNYiIiIiMmhDPaZLEdJRR3RfdJ1xMJGtlevqFYYjcZwv4zhfBsAwFhfPON4R2u9j269j26%2BTSl0JdByjPaVzVVsnQ1uewlpEREREBqw2grryMV0LEb0yHd/DQAN7YHGtVetKC8MROM72OM72ABhGC7b9OrHYq1jWK1jWO12O0b4aAM/7Iq775c7jtINgTJTfQlVQWIuIiIhIvyimuyt1RD%2B1gtG3i6g3X3klU/JjsaV6hWEjrrsdrtv%2BG84wWrHtN7HtV7HtlzHNt7Htd7Dtd0ilrgHA89ZdJrTHRvktREJhLSIiIiK9qp0zelcmpksZ0iuK6ME%2BtjcDCfSBrl5rl/DaF4YNuO5EXHci0HEytK6h/d/i5b7eJZW6FgDPG79MaI%2BL8DuoDIW1iIiIiCyncjENgwvq2onpUoXxYHXMMdDA1ur18NZ%2BMrStcd2tATCMTJfQfqV4ea/3sO33SKWuA8D318Fxvozr7oDjTB2SJ0NTWIuIiIhIp6G8Ol2pmK6WgF6Zp56KbvdyGTrCMI3rTsB1JxRvyRKLdQ3tN7Gs90ml3ieVuh4A190M152G40wr7nKejGz%2BUlFYi4iIiAxziuml%2BhvTtRLRKzKQuC7vqrVKv/bV4bpb4bpbFb/OFUP7FWz7BSzrv52X96qru4gwTOG62%2BM4O%2BM40/D9DQEjym9gQBTWIiIiIsPUUA3qWovpJ/rx49l%2B%2B9K%2BNgyFletE1ANIr1K47pa47pbAt4uX93oV234e234O05xPPP4f4vH/AOD7q%2BO6U3GcacXdxleNdvw%2BUliLiIiIDDO1cVZv6E9Q10pM9yei%2B/r8UsR27ce11Ir2y3tNwXGmACGm%2BTGx2EvEYs9jWS9hWZ9hWTeTTN4MtO827jh7USjsi%2B9/Kdrhe6GwFhERERkmamOFunyr05WM6cEG9EBeqxyr2ZU1kLKv%2BW96mDMIgi9QKHyBQmFPwMG2/0ss9gK2/Xy33cbT6bPwvA0pFPYpRnZ17TKusBYREREZwobq2b3LFdT9jelKBvTKDDawtWot0YvjeZvgeZsAh2IYS4jFniMWexzbfhbbfgPbfoN0%2Bjd43vpdInsToo5shbWIiIjIkHMbzc2VfL2B1mX5TkY2XGK6J9W0gt33a1hrtVqWF4ZNxWOtp2EYbcXIno1tP4Nt/xfb/i3p9G/xvPE4zr4UCvvieZsTRWQrrEVERESGiMquTkOlgroaVqerPaZ78sQT1RHX5TFkvzFZgTCsx3F2xHF2BLLE488XI/vp4nWzL6Cu7gJcdyuy2R/jOHsDVsXmU1iLiIiI1LDKxzTUclBXy%2Bp0X%2Beoxl2z%2B3qprfKuVsvwVtflBGhZ4vEXiruLP0ks9jxNTYfh%2B2uTzR5LPv8toFyXh1tKYS0iIiJSg2pndRqi3uW70jFdystxVfK452qM%2BJ5ptVq6qsNxJuM4kzGMxSQS9xKP/xPLmkNDw0mk02eTyx1FLndMWS/dpbAWERERqSFDOahLffx0uYO61Nez7u11Bhq9pd4dPPrVakW1rFgYjiCfP4h8fl8SiYdIJO7AND8hnf4tdXV/IJ8/hGz2ZwTB2JK/tsJaREREpAbUVlBDua5BXeoV6oGsTlcqqJd9zVpZUVZUS/SSFAp7UCjsSiz2NInE37Dt10mlriGRuJOWlutw3SklfcXIw/qDDz7g6quv5qWXXuLtt99m/Pjx3HnnnSt8/KuvvsoBBxxAMpnkhRdeqOCkIiIiItGonUtmgYK6uvR1tbov0d6X1eryRLWCWgbKwnUn4brbYVlvUFd3OZb1Lk1Ne5HJnEUu931KdQbxyMP67bff5pFHHmHzzTcnCALCMFzhY8Mw5IwzzmDkyJFks9kKTikiIiJSebW1Sl39u30P9NjpWgxqqPwu4IpqqV4Gvr8Rra3nUVc3i3j8IerrT8a2n6O19WKgbtCvEHlYT5s2jenTpwNw8skn8%2Bqrr67wsbfffjuLFi1i//3354YbbqjUiCIiIiIVN9xXqRXUlbOy1erSRnV/KKql1JJksz/B875EKvVHksm/YttvsnjxvYRhw6C2HHlYm6bZp8e1tLTwu9/9jrPPPrvX%2BBYRERGpdZWL6lJcS6pv9RnVbt/DZZfvZZVyF/CV6V9U9/UFFdVSLgaOsxe%2Bvw7p9DnY9iskkzeTy313UFuNPKz76qKLLmLjjTdm6tSpCmsREREZkrRKraBekf4EcCWPq9bu31KrfH8T8vlvUFd3Bcnkn4dHWL/xxhvcdttt3HHHHSXftm33bcW8vyzL7ParVD%2B9Z7VH71nt0XtWe/SeVUZz8z0VfsXKHEsd1eWzqvWyWZUwXKPaMMCyDMKwNCeikuEhCHYkDK/Ctp8nHv8vQbDBgLdV9WEdhiGnn346hxxyCOuuu25Jt22aBs3NfbsW30A1NqbKun0pPb1ntUfvWe3Re1Z79J6Vy20RvOZAozq6k5OVI6hrKab7ulo9XKMawDAM6uuTgP4RUPojBWwDPElT013AhAFvqerD%2Bu677%2Bbdd9/l/PPPp6WlBYBCoQC0H3edSCRIJBID2nYQhLS0lOfs4pZl0tiYoqUlh%2B8HZXkNKS29Z7VH71nt0XtWe/SelUflV6g7lD%2Bqq32VupaCuj%2BGc1RD%2B2JcJpMnDAuD2o4MP3V1i7EsyOVs8vme/1zqy2Js1Yf1e%2B%2B9x5IlS5g2bdpy902cOJGjjz6aE088ccDb97zy/iXB94Oyv4aUlt6z2qP3rPboPas9es9Kp/KX0AKtUvdvm9WkLyFcqqgu3dm/%2B3tGtMEfUx2G4Pthr5fuFVmWac7Bst4gDG1yuW8M6h%2BQqz6s99tvP7bZZptut91xxx3cfffd/CSlCd8AACAASURBVPGPf2Ts2LERTSYiIiLSd7UV1DCUonqoBjX0LapLsUoN1RvVvl8H6B/%2BpP8Sifa9h1x3d3x/1UFtK/KwzuVyPPLIIwB88skntLW1ce%2B99wKwzTbbsMYaa7DGGmt0e87TTz%2BNZVlsu%2B22FZ9XREREpL9qK6r7X6F9iWrt%2Bt03pT77d%2BV2/R7IdbsGH9Xz5u3GyJGD3owMQ7b9NPF4e3fm84M7IzhUQVgvWLCAH//4x91u6/j6%2BuuvVzyLiIhITat8VFdulRqqO6prSTUGNVRvVM%2Bbt9ugni/Dm20/TTp9Fobh4Th7USjsOOhtGuEwPhDB9wMWLuzbH/T9Zdsmzc1pFi3K6Ji0GqH3rPboPas9es9qj96zwRnKUR3Frt8w9I6p7k9Qw1CI6tIH9ciRaSCgre0RnbxMVsq2/490%2BuzOqG5puZYwjPX6nNGjG1a%2B3VINKCIiIiJLKaoV1b0ZfkENWqWWqMViD1JX9/tiVO9djOrSJLHCWkRERKSEaiuoYShGdTXrb1BDaaK6L0ENtbNKLdIfhtFKKnUp8fijADjOPrS0XFOyqAaFtYiIiEgNU1TXiqiCGkq5Sg2VjGoFtZSCbb9AXd2FmOYCwtAinz%2BRTOZnJY1qUFiLiIiIlExlV6srF9V9DWro%2B4nK%2BmogUV1Nu4ErqAdGUS2DlyeVupZE4l8A%2BP46tLVdg%2BNsVZZXU1iLiIiIlICiWmf/7qpcQd3XbUcX1aW5hJbIwIXY9tOkUn/Esj4FIJ8/kra2swnDVNleVWEtIiIiMkiKakV1V%2BU4MVlft1vLQQ2Kahkc0/yQVOqPxGLPAxAEq5HJXEY%2BP73sr62wFhEREakZiupqVuprUfdnu6UNatAqtdQSw2glmbyJePwuDCMgDGPk88eSzf6UIKivyAwKaxEREZFBqNxq9fCI6lLYbrvKvV65Vqf7uu1aD2pQVMtgeMTj95JM3ohptgLgOHuQyZyL561d0UkU1iIiIiJVr7ajuj%2BqdbV6IMdMd1XqoIbaPjlZB0W1DExALPYoyeRNWNZcAHx/fTKZ8ykUdopkIoW1iIiIyABV/prVA1Gepdv%2BRHUUZ%2Bke6Kr1YAN6WQrqnimoZWBCbPsZUqnrsaz3AQiCkeTzp5DNHlnyS2j1h8JaREREZABqYxfw8lynulasLK5LHdFdDb2gBkW1RMm2XyaZvA7bfhOAMKwnn/8xmcwMwnDl/22Um8JaREREpJ%2BGe1RX%2B2p1Vx3R2jFHOWMaFNS9UVDLQFjWmySTN3We6TsMkxQK3yWT%2BQlB0BzxdEsprEVERET6QVFd%2BuOqK6Fagro/c/QlqKH6o1pBLQNhWf8tBvWzAIShTaFwKNnsTHx/tYinW57CWkRERKSPhvMx1QMR9Wp1OfVnZRoU1CJ9ZVlvF4P6GQDC0MJxDiSbPaXiZ/ruD4W1iIiISB9UNqoHulrd/5IdDqvVpdDfkO5Qyt29OyioZSiyrHeKQf00AGFo4roHkMmcgueNj3i6lVNYi4iIiKxEbUR1/ymqezfQmIbhF9SKaRkoy3qXZPLPxGLt/zDYHtT7k8nMxPPWjXi6vlNYi4iIiPSidqJ6aOx3vf320V7LejAxDVEHNURx%2BSxFtQyEab5PMnkT8fiTAIShget%2BrRjU60U8Xf8prEVERERWYChHtVar2w02pCHq46c7p%2Bjn43Wmb4mGac4hmfwz8fjjQEdQ70smcyqet37E0w2cwlpEREQkctUb1VHoa%2BwOdGW70jENCmoR0/ywuMv3bAwjBMBx9iab/Tmuu0HE0w2ewlpERESkB0PxslpDTSkCuT8GcsmuoRbUoKiW/jHNz4pB/WCXoN6TbPYXuO6GEU9XOgprERERkWXURlQPTH9Xq4fybuB9Uc6YBgW1DF2GsYBk8hbi8fswDA8Ax9mDbPaXuO7GEU9XegprERERkS5qJ6qH92p1OQ0kpqHaghq027dEwTBaSCRuI5H4F4bhAOC6O5DNno7jbBXxdOWjsBYRERGpuGiiutLHVm%2B3HTxVI/0/0JiGajrDdwetUksU8iQSd5BM3o5h5ADwvK3JZk%2BnUJgS8Wzlp7AWERERKarsWcArq9pPWBaVSqxOg4JahrKAWOxBUqnrMc0FAPj%2BRmSzvyaf3xUwoh2vQhTWIiIiImgX8J6U4vjqaly1rlRMg4Jahjbbfolk8mps%2B10AgmAc2ezp5HL7A2a0w1WYwlpERESGvdqJ6oGJerU66rgezG7eUImghqijWkEt/WGaH5NK/YlY7P8ACMN6crkTyWZ/QBgmI54uGgprERERkYooRVRX2dJvP3TEbbkDe7AR3aEyMQ0KaqktOZLJP5NI/APD8AlDi0LhcLLZU/H9VaIeLlIKaxERERnWaue46to4YdnKdA3fwUZ2qSK6q%2BoOau3yLdGx7Sepq7sC05wHgOvuQlvbOXje%2BhFPVh0U1iIiIjJsDfVdwKtdfyO7HCENA4tpUFDL8GAYn1NXd3nnbt9BsAaZzIXk8/q91JXCWkRERKSsotsFvNpWq3uzbGSXK6K7qtzqNCiopfb4JBJ/J5m8CcMoEIY2%2BfwMMplTCMNU1MNVHYW1iIiIDEuVWa3WSvVAlDOqK7s6DVEHNSiqpf9Mcy51dedj228B4Hnb0tZ2Ma67QcSTVS%2BFtYiIiAw7tXNcNUR5wrJNN02X5JJbURtoTEOlT0gGWqWWaIXE4/eTSl2BYeQJwway2d%2BQzX6L4XI96oFSWIuIiIiURbRnAa%2Bl3cBLbTAh3aGWgxoU1dJ/htFCKjWLePxxADxvEq2tV%2BN5a0Q8WW1QWIuIiMiwol3Ah6boYhoU1FLrLOsV0unfYpoLCEObXG4m2ezxhKEV9Wg1Q2EtIiIiw0ZtRXV1rFZX8%2B7gpYhpUFDL8BaP30sqdSmG4eP742lruxbH2SLqsWqOwlpERESk6kR3XHW1K1VMg4JahjufZPJqksl/AOA4%2B9LScjlhWBfxXLVJYS0iIiLDQm2tVleXqFetSxnTEFVQg6JaqkeWdPpcYrFnAcjlTqGt7WR0grKBU1iLiIjIkFdbUT241epynbQsiriujtVpUFDLUGIYi6ivPxXL%2BoAwTJLJXEEut1/UY9U8hbWIiIgMacMpqsutXHFd6hXprhTUIksZxpLOqA6CVWlt/SuOs2XUYw0JCmsREREZsnS96tIbaFyXM56XNbiYhmoKasW0lIphtJJO/7wzqpcsuQ/PGx/1WEOGwlpERESGpMpFdfUcV12pa1d3RPKygV3JeF7W4GMadFIyGboypNO/wLbfIwhGsWTJ3YrqElNYi4iIyJBS2VXq4bEL%2BIpEGdIdhlpQg6JaSs0nnT4L236bIGimtfVuPG/9qIcachTWIiIiMmQoqoeP6IMaSh3VixbtgecFJd2mSDJ5I7HYS4RhitbWO3GcDaMeaUhSWIuIiMiQ8P/s3XmUXHWd//9XVS9JJyEQiGFfBCTKKjoqILJGkYkoIMt8B82IyCIinhllBv2KX9QZv8KIXx0hLAojEEEmCDqoMLiMDCqCjvyCRkACyG7YokknnXS6qn5/ZBKJLOlKVfWt6n48zvEkqVupeh8%2BSdvPfG7dO9ajeqROAy9Sc2I6abegXuWoJMXd0ozRqbv7towf/29JkqVLL8jg4G4FTzR6CWsAoON15uep7VQPV3vsTietOu27u7ucKVOa/tKMceXy45k48fNJkuXLT87AwFEFTzS6CWsAoGN15i51IqqHZzQHdeKz1LRSNRMmfCGl0rIMDb0u/f2fKXqgUU9YAwAdSVT/yWg6Dbx9TvdezcXJ6Dy9vd9Ld/f81GoTsmTJV1Or9RQ90qgnrAGAjiOqR5fmxXQiqBnrSqVFGT/%2B0iTJwMD/ztDQ1gVPNDYIawCgo3RuVPNczY3ppJ2DOhHVjJy%2BvktTLi9NpbJrli17f9HjjBnCGgDoCJ0f1K3Zre6k08CbH9OJoIY/6epakN7e/0ytVkp///mp1eTeSPFfGgBoe6K6c7UmppN2DmoxTVHGj788SbJy5ZEZHHxNwdOMLcIaAGhrorozCWoYWd3d89LT88vUat1ZuvT/FD3OmCOsAYC2Jao7T3sHtdO9Ga1qa3arV6x4T4aGtit2nDFIWAMAbUlUd47WxXRihxrWrbv7F%2Bnuvje12vgsW3Zm0eOMScIaAGg7IxfVrbrq98hF9aRJuxdyAbPOiOnELjWjXy3jx89JkqxYcWIqlWkFzzM2CWsAoG10/i51Mhp3qlsb0c8lqKFe3d23p7t7QWq1CVm27G%2BLHmfMEtYAQFvo/KgeHUE9chG9WjNjOmlVUCeimnZUSV/flUmS5ctPSqUyteB5xi5hDQAUamSDOhmNUf3cGF6f08JHPqYTQQ2N6%2Bn5z3R1/S612mS71QUT1gBAIUY%2BqJPRGNV/bnUkryuwi4npRFBDswymr2/VZ6sHBj6canVKwfOMbcIaABhRoyeok3aL6ud6oV3s4mI6EdTQXOPG3ZBy%2BalUq5tn2bJTih5nzBPWAMCIEdXFGD2704mghqRUejrjx1%2BdJFm27BOp1foKnghhDQC0XDFBnYjqoghqaKW%2BvktSKg1kaOi1Wb78fxU9DhHWAECLja5d6kRUv5TOOd07EdR0pu7uX6S39yep1brS339%2BarVy0SMRYQ0AtMjo26VORPWLEdQwMpalr292kmTFipOzcuUuBc/DasIaAGi60RnVrK2zTvdOBDWdr6/vy%2BnqWphqdYssXfrxosfhOYQ1ANBUo%2B/U79XsVrcmphNBDevW03Nbxo27ObVaKf39l6ZanVT0SDyHsAYAmkZUj0atiulEUMPwlEqL0tf3L0mSFStOy4oVbyx4Iv6csAYAGubU79GmlTGdCGqoRyUTJvxzyuXFqVR2Tn//J4oeiBcgrAGAhoz%2BqB5Lu9WduzudCGpGp/Hjr0pPz7zUan1ZsuTy1Grjih6JFyCsAYD1Nvqjeizo7N3pRFAzenV3/zzjx389SbJ06ZeycuX0gifixQhrAGC9iOpOJ6ihnZXLCzNhwueSJMuXH5%2BBgWMKnoiXIqwBgLoUF9SJqG5U58d0IqgZC5Zn4sRPp1zuz9DQHunvP7fogVgHYQ0ADEuxQZ2I6vXR6pBeTVBD89QyYcL/S1fXg6lWN8mSJV/3ueoOIKwBgHWaMuXGgicQ1cMzUiG9mqCGZhs37t/S2/vj1Grd6e%2B/KkNDWxY9EsMgrAGAF1V8UCeiel3ENIwW3d13ZPz4K5Mky5Z9LitW7F3wRAxX4WH90EMP5dJLL828efNy3333Zfvtt8%2B3v/3tNccrlUouu%2Byy3HLLLVmwYEEqlUp22mmnnHbaadl7b3/QAKBVij/1OxHVL2SkQ3o1QQ2tVC4/lIkTz02pVMuKFe/JsmXvLXok6lB4WN9333255ZZbsscee6RaraZWq611fPny5bn44otz%2BOGH54QTTkh3d3euv/76HH/88bnwwgtz4IEHFjQ5AIxeovq59krx97Ie3TGdCGrGtlJpcSZO/FRKpYGsXLlPliw5r%2BiRqFPhYX3QQQdlxowZSZIzzzwzv/71r9c6Pn78%2BPzgBz/IhhtuuOaxfffdN7/73e9y2WWXCWsAaKL2COp2tDpsRyqwiwrp1QQ1jJyhTJjw2XR1/T7V6tZZsuRrqdV6ih6KOhUe1uVy%2BSWPd3V1rRXVSVIqlfLKV74y//3f/93K0QBgTGmvqG6X3eo/16zd66LD%2BYWMXEwnghpW6%2Bv7Snp65qVWm5AlS65NpbJJ0SOxHgoP6/VRrVZz5513Zocddih6FAAYFUR1PV5q97odg3ldBDUUpbf35owbd0OSpL//0gwOvqrgiVhfHRnWV155ZR588MF86lOfavi1urtfesd8fXV1ldf6kfZnzTqPNes81qw9tceVv1dr96h%2Brk6M6NVGNqaTZNGiQ5Mk3R353Wdr%2BdrYuFIp6eoqpVYrFT3KsJXLd6ev74IkyfLlH83Q0GH%2BfnSwjlu6O%2B64I//8z/%2Bc9773vXnd617X0GuVy6VMmTKxSZO9sMmT%2B1r6%2BjSfNes81qzzWLN2cm3RAzCiRj6ok6OSJFOmFPDWHcbXxvVXq9UyadL4JJ3yjxNPJ/mnJENJ3p7x4/8x48d3yuy8kI4K63vuuSennnpqZsyYkTPOOKPh16tWa1m8eFkTJnu%2Brq5yJk/uy%2BLFA6lUqi15D5rLmnUea9Z5rFl7aa%2Bd6qSzdqs7SXG706ssHfH37zS%2BNjZm8uS%2BlEq1LF26PLXaiqLHGYaVmTDhrHR1PZtKZXqWLLkktdpA0UPxEoazGdsxYf3www/nfe97X3beeeece%2B65KZWac5rH0FBrv3hVKtWWvwfNZc06jzXrPNaseO31mepEVDdbETvTz/38tL/f68PXxvVXqyWVSu15t%2B5tR319F6er657UapOzePG/ZWhoQvyd6XwdEdZPPfVU3vve92bq1KmZPXt2ent7ix4JADpW%2B0U1zVFMTCcuSAbDtepiZd9NrVZKf/9lGRp6edEj0SSFh/XAwEBuueWWJMljjz2W/v7%2B3HTTTUmS17/%2B9ZkwYULe97735ZlnnsmZZ56ZBQsWrPX7X/3qV4/4zADQqUT1aCOmoVN0dS1IX9/sJMny5Wdm%2BfK3FDwRzVR4WD/zzDP50Ic%2BtNZjq399xRVXZMstt8w999yTJPnABz7wvN9/7733tn5IABgF2jeqnQZen%2BJiOhHUsD5KpSWZMOEzKZVWZuXKt6S//x%2BKHokmKzyst9pqq3XGsXgGgMa0b1QzPMXGdCKoYf1VM2HC59PVtTDV6tZZvPjSdM7VyxmuwsMaAGgtUd2pio/pRFBDo8aNuy49PXekVuvNkiVXpVrdsOiRaAFhDQCjmKjuNGIaRpOurt9k/PjLkyTLlp2bwcE9Cp6IVhHWADBKiepO0B4hvZqghuYplZZk4sRzUypVMzh4ZJYtO77okWghYQ0Ao4ygbmftFdKrCWpotlr6%2Br6YcvmpVCrbZsmS85OUih6KFhLWADCKiOp2JKZhrOnt/U56e29LrdaT/v45qVYnFT0SLSasAWCUENXtpD1jOhHU0Grl8sPp67s0STIw8Cmfqx4jhDUAjAKiuh2IaWBlJkz4XEqlwaxceWCWLj216IEYIcIaADqcqC5C%2B0b0cwlqGFnjx1%2BV7u77U61ulCVLLonPVY8dwhoAOtjoiOp9kvy06CFeQmdE9GqLFh2aKVMmZtGipUmqRY8DY0ZX190ZN%2B7aJMnSpV9KpbJpwRMxkoQ1AHSo0RHVq7VTXHdWSK%2B2ene623d3UICVmTDhi/9za62js3z5O4oeiBHmSy8AdKDRFdWrFRHXnRnRqznVG9rD%2BPFfT1fXI6lWp6a//3NFj0MBhDUAdJjRGdWr1Ru69YR4Z0f0amIa2ku5/EDGjZubJFm69POpVKYUPBFFENYA0EFGd1Svj9ERy8MhqKEdVTNhwvkplSoZHJyZ5csPL3ogCiKsAaBDiOqxR0xDe%2Bvt/UG6u%2B9NrTYh/f3/r%2BhxKJCwBoAOIKrHDjENnaFU6s/48f%2BaJBkYODOVymYFT0SRhDUAtDlRPfqJaeg848dflXL5j6lUdsiyZacWPQ4FE9YA0MZE9eglpqFzlctPpLf320lWXbCsVusteCKKJqwBoE2J6tFJUEPnGz9%2BTkqlSlauPDArVhxY9Di0AWENAG1IVI8uYhpGj66u%2B9Pb%2B6MkydKlny50FtqHsAaANiOqRwcxDaPT%2BPFXJkkGBw/PypW7FzwN7UJYA0AbEdWdTUzD6NbVdX96en6eWq2cpUv/T9Hj0EaENQC0CVHdmcQ0jB3jxs1Nkqxc%2BY4MDe1Q8DS0E2ENAAUT1J1HTMPYUy4/lp6eHydJli37%2B4Knod0IawAokKjuHGIaxrZx465LqVTLypVvzsqVuxQ9Dm1GWANAQUR1%2BxPTQJKUSkvS2/ufSZKBgb8reBrakbAGgAKI6vYlpoE/19t7c0qlFalUds6KFfsUPQ5tSFgDwAgT1e1FSAMvrZJx425IkgwMnJqkVOw4tCVhDQAjSFS3BzENDFd3989TLj%2BVanWjLF9%2BdNHj0KaENQCMEFFdLDENrI9x425MkgwOviu1Wl/B09CuhDUAjABRXQwxDTSiVHoy3d3/nSQZGDih4GloZ8IaAFpMVI8cIQ0007hx//E/t9jaN0NDOxQ9Dm1MWANAC4nq1hLSQOtU0tt7c5JkxYoTC56FdiesAaBFRHVriGlgJPT03JFy%2BdlUq5tk%2BfKZRY9DmxPWAEDbE9PASOvtvSnJ6ouW9RY8De1OWANAC9itboyQBopULi98zkXLji94GjqBsAYACiekgXbS23vT/1y07E0ZGtq%2B6HHoAMIaAJrMbvW6CWmgfa1cc9Gy5ctPLngWOoWwBgBaTkgDnaKn56cpl/%2BQanXTrFjxl0WPQ4cQ1gBA0wlpoFONG/edJMmKFe9JrSaXGB5/UgCAhglpYDTo6ro/3d3zU6t1Z2DghKLHoYMIawBosqeeOmTUf85aSAOjUW/vDUmSlSvflkpls4KnoZMIawDgRS1adGimTJmYRYuWZmioWvQ4AC1TKv0xvb0/SpIMDHyg0FnoPMIaAFqg03atX2wHutt3CsAY0dv7HymVVqZS2S2Dg68vehw6jP%2B7BIAWeW6stltkO5Ub4Lkqay5atmq3ulTsOHQcYQ0AI%2BDPQ3akQltAA6xbT89tKZefTrW6SZYvf2fR49CBhDUAFKCR3WyxDNBc48b9e5JkxYr3plYbV/A0dCJhDQAFE8oAxSmXf/c/t9jqyvLl7yt6HDpUuegBAAAAijJu3I1JkpUr35qhoc0LnoZOJawBAIAxaiC9vT9IkixffnLBs9DJhDUAADAm9fbemlJpIJXKy7NixX5Fj0MHE9YAAMCYtHq3esWKWZFGNMKfHgAAYMwpl3%2Bf7u5fp1YrZcWK/1X0OHQ4YQ0AAIw5PT0/TJIMDe2boaEtCp6GTiesAQCAMae399YkyYoV7yp4EkYDYQ0AAIwp5fJj6ep6OLVad1asOLTocRgFhDUAADCm9PTcliQZGton1epGBU/DaCCsAQCAMaWn52dJksHBwwuehNFCWAMAAGPI0nR13ZskGRx0GjjNIawBAIAxo7v7rpRK1VQq22doaMuix2GUENYAAMCY0dPz/yVJVq48oNhBGFWENQAAMGZ0d/8qSbJy5UEFT8JoIqwBAIAxoVTqT1fXQ0mSwcF9Cp6G0URYAwAAY0JX1z1Jkkpl21SrUwuehtFEWAMAAGNCd/eqsB4aekPBkzDaCGsAAGBMWH2braGhvQqehNFGWAMAAGNALV1d9yVJVq58bcGzMNoIawAAYNQrl3%2BfcnlJarWeDA3tXPQ4jDLCGgAAGPW6uhYkSSqVnVOrjSt4GkYbYQ0AAIx6q08Dr1T2LHgSRiNhDQAAjHqrd6yHhv6i4EkYjYQ1AAAwytXWhPXKlXasaT5hDQAAjGqrLly2NLVab4aGXln0OIxCwhoAABjV/vT56l1Sq/UUPA2jkbAGAABGtdVhPTT0moInYbQS1gAAwKj2p7B24TJao/Cwfuihh/KJT3wi73jHO7LzzjvnbW972ws%2B75Zbbsnhhx%2Be3XbbLW9%2B85vzta99bYQnBQAAOk8l3d2rrwjuwmW0RuFhfd999%2BWWW27Jtttumx122OEFn3PnnXfm1FNPzc4775wvf/nLOeKII/KP//iPmTt37ghPCwAAdJJy%2BbGUSgOp1SZkaGh60eMwSnUXPcBBBx2UGTNmJEnOPPPM/PrXv37ecy644ILsvPPO%2BcxnPpMk2WuvvfLEE0/ki1/8Yt75znemXC783wcAAIA21NX12yRJpbJbarWugqdhtCq8SNcVxYODg/nZz36WmTNnrvX4YYcdlqeeeiq/%2Bc1vWjkeAADQwbq7V4X10NDrCp6E0azwsF6Xhx9%2BOCtXrsz222%2B/1uM77rhjkuT%2B%2B%2B8vYiwAAKADrN6xduEyWqnwU8HX5Y9//GOSZPLkyWs9vvrXq4%2Bvr%2B7u1vzbQldXea0faX/WrPNYs85jzTqPNes81qzzWLPGlUpJV1cptVrpz44MpqvrwSRJtfr6ln3vD20f1quVSn/%2Bl%2BSlHx%2BOcrmUKVMmrvfvH47Jk/ta%2Bvo0nzXrPNas81izzmPNOo816zzWbP3VarVMmjQ%2Bzz8h98EkQ0k2yeTJr0yy/u0AL6Xtw3rDDTdM8vyd6cWLFyd5/k52ParVWhYvXrb%2Bw72Erq5yJk/uy%2BLFA6lUqi15D5rLmnUea9Z5rFnnsWadx5p1HmvWmMmT%2B1Iq1bJ06fLUaivWOtbT86uMH7/qNltLlrTm%2B35Gv%2BFsxrZ9WG%2BzzTbp6enJAw88kP3222/N4wsWrLoX3Yvdomu4hoZa%2B8WrUqm2/D1oLmvWeaxZ57FmnceadR5r1nms2fqr1ZJKpZZarbbW4%2BPGrfp89eDg6/y3paXa/kMGvb292WuvvXLjjTeu9fi3v/3tvOxlL8vOO%2B9c0GQAAEA7%2B9OFy15b8CSMdoXvWA8MDOSWW25Jkjz22GPp7%2B/PTTfdlCR5/etfn4033jgf%2BMAH8q53vSsf//jHc9hhh%2BWXv/xl5s6dm0996lPuYQ0AALyAZSmXH0uSrFz5moJnYbQrPKyfeeaZfOhDH1rrsdW/vuKKK/KGN7whe%2B65Z2bPnp3Pf/7z%2BeY3v5nNNtssH//4x3P00UcXMTIAANDmurruT6lUS7W6RarVqUWPwyhXd1h/5jOfyXHHHZdtt922KQNstdVWuffee9f5vP333z/7779/U94TAAAY3bq7V12TaWhoj4InYSyo%2BzzquXPn5tBDD8373ve%2B/OhHP2rBSAAAAI3p6ro/STI05DRwWq/usL711ltz5pln5rHHHsspp5ySgw8%2BOJdeeunzbocFAABQlK6uB5IkQ0OvLngSxoK6w3rSpEmZNWtWbrzxxnzlK1/JK17xipx33nnZf//987//9//O3Xff3Yo5AQAAZ8Q4FAAAIABJREFUhmkw5fIjSZKhod0LnoWxoKFLau%2B777656KKL8r3vfS977LFHrrvuuhx55JH567/%2B6zVX%2BgYAABhJXV2PpFSqplrdKJXKZkWPwxjQUFgPDg7muuuuy%2Bmnn57bb7892223XU455ZQsXbo0p5xySi666KJmzQkAADAs5fKDSZJKZeckpWKHYUxYr9ttPfroo7nqqqvyjW98I4sXL84b3/jGXHLJJdlvv/2SrLpd1uc%2B97lcccUVOeWUU5o6MAAAwEvp6vpdkqRS2bXYQRgz6g7rU045Jbfeemt6e3tzxBFH5N3vfnde/vKXP%2B95Bx98cL7yla80ZUgAAIDh6upa9fnqSmWXgidhrKg7rBcsWJAzzjgjRx11VCZNmvSiz3vFK16Rf/3Xf21oOAAAgHr96cJlOxU8CWNF3WH9/e9/f1jPmzRpUvbee%2B%2B6BwIAAFh/K1IuP5kkGRqaXvAsjBV1X7xs1113zV133fWCx%2BbPn59dd/U5BgAAoBjl8uMplWqpVjdMtbpJ0eMwRtQd1kNDQy96rFKppFKpNDQQAADA%2BurqejxJUq1uH1cEZ6Q0dLutP3fPPfdk8uTJzXxJAACAYSuXn0iSVKvPv8AytMqwPmN95ZVXZs6cOUmSUqmUD33oQ%2Bnt7V3rOcuXL8%2BTTz6ZN7/5zc2fEgAAYBhWh3WlsmPBkzCWDCusN9xww2y99dZJkoceeiibbrrp864Ivvr2W8cff3zzpwQAABiGcvn3SZJKxY41I2dYYf32t789b3/725Mkf/3Xf51Pf/rT2WGHHVo6GAAAQL1WXxG8Utm24EkYS%2Bq%2B3dZVV13VijkAAAAaVE25/FSSpFLZuuBZGEuGFdYLFy7MJptsku7u7ixcuHCdz990000bHgwAAKAepdIfUiqtTK1WTrW6RdHjMIYMK6wPOOCAXHPNNdl9992z//77p1R66cvW33333U0ZDgAAYLhW71bXatNSq/UUPA1jybDC%2BlOf%2BtSai5d9%2BtOfbulAAAAA66NcfjpJUq1uWfAkjDXDCuujjz76BX8OAADQLkql1WG9VcGTMNaUix4AAACgGVafCi6sGWnD2rG%2B4YYb6nrRww47bL2GAQAAWF/l8jNJXBGckTessD7jjDOG/YKlUklYAwAAI%2B5Pn7F2RXBG1rDC%2Buabb271HAAAAA3506ngLl7GyBpWWG%2BzzTatngMAAKABlZRKq08FF9aMLBcvAwAAOl6ptCilUjW1Wleq1U2LHocxZlg71n/ukUceyTXXXJP7778/K1asWOtYqVTKpZde2pThAAAAhqNcfjJJUqttllqtq%2BBpGGvqDusFCxbk6KOPziabbJLHHnssO%2B64YxYtWpSnn346m222Wbbc0mkXAADAyCqVVn%2B%2B2oXLGHl1nwp%2B3nnnZZ999slNN92UWq2Wz372s/nxj3%2Bc888/P4ODg3VdQRwAAKAZVu9YV6tutcXIqzus58%2BfnyOOOCLl8qrfWq1WkyQzZszIe97znpx33nnNnRAAAGAdyuWFSZJKZduCJ2EsqjusFy9enI022ijlcjnd3d1ZsmTJmmO77757fv3rXzd1QAAAgHVZHdbVqjsaMfLqDutp06blD3/4Q5Jk2223zS9%2B8Ys1x377299mwoQJzZsOAABgGFafCl6pOBWckVf3xcte%2B9rX5s4778yMGTMyc%2BbMzJ49O08//XR6e3tz7bXXZubMma2YEwAA4EWVSqvD2o41I6/usD755JOzcOGq0yxOOumkPPnkk7nhhhtSKpUyY8aMnHnmmU0fEgAA4MXVUi6v%2BohqteouRYy8usN6u%2B22y3bbbbfqN3d35%2Byzz87ZZ5/d5LEAAACGp1QaSpJUqxumWt2g4GkYi%2Br%2BjDUAAEB7WRXWtZrdaopR9471RRdd9JLHS6VSTj755PUeCAAAoD6VJO5hTXHqDusvfOELL3qsVColibAGAABG0Kod60plq4LnYKyqO6znz5//vMcWLVqUH/zgB5kzZ04uvPDCpgwGAAAwHKWSHWuKVfdnrLu6up73v6lTp%2BbYY4/NzJkzc84557RiTgAAgBexKqwrFZ%2BxphhNvXjZHnvskZ/%2B9KfNfEkAAIB1WL1jvVnBczBWNTWsf/vb36avr6%2BZLwkAALAOwppi1f0Z6xtuuOF5jw0ODubee%2B/N3Llz85d/%2BZdNGQwAAGA4SqVqkqRanVbwJIxVdYf1GWec8YKP9/T05G1ve1s%2B%2BtGPNjwUAABAPWq17lSrGxU9BmNU3WF98803P%2B%2BxcePGZdq0aWtutwUAADCSarUpSfQIxag7rLfZZptWzAEAALDearVNih6BMazusL7//vvz4x//OI8//nhKpVI222yz7LXXXnnlK1/ZivkAAADWadWONRRj2GG9ePHifPzjH8/3vve91Gq1tY6VSqW8/vWvz3nnnZepU6cmSZ588slMm%2BbiAQAAQOvVapOLHoExbFhhPTg4mOOPPz733HNPjjzyyMyYMSNbbbVVarVaHnvssXzve9/Lt771rRx77LH51re%2BlT/84Q85/vjj873vfa/V8wMAAKRW27DoERjDhhXWV1xxRRYsWJDLL788f/EXf7HWsZ122ikHHnhgDj/88Jx00kn52Mc%2BlrvuuitdXV0tGRgAAODP2bGmSOXhPOm73/1uZs2a9byofq7Xv/71ede73pWbb745kydPztVXX920IQEAAF5KrbZB0SMwhg0rrB988MHss88%2B63zeG9/4xpRKpVx11VU%2BXw0AAIyYWm1C0SMwhg0rrOsxfvz4TJo0qdkvCwAA8BL6ih6AMWxYYb3tttvm9ttvX%2Bfzfvazn7nPNQAAMOJqNWFNcYYV1m9961tz%2BeWX56677nrR58ybNy9XXHFFDj300KYNBwAAMDzjih6AMWxYVwWfNWtWbrjhhhx33HE59thjc/DBB2errbZKkjz66KP5wQ9%2BkGuuuSbbbrtt/uZv/qalAwMAAPy5Wm1YaQMtMaw/fRMmTMhXv/rVfOQjH8mcOXPyta99ba3jtVote%2B%2B9d84999z09TkFAwAAGFm1Wm/RIzCGDfufdV72spfl8ssvz7x58/KTn/wkTzzxRJJk8803z7777pvdd9%2B9ZUMCAAC8NDvWFKfuP3177LFH9thjj1bMAgAAsJ66ih6AMazpt9sCAAAYeXasKY6wBgAAOl6tZsea4ghrAABgFJA2FMefPgAAYBSQNhTHnz4AAGAUkDYUZ70/4d/f359f/epXWbRoUfbdd99Mnjy5mXMBAADUoVT0AIxh6xXWF198cS666KIMDAykVCrl2muvzS677JL3vOc92XffffO%2B972v2XMCAABAW6r7fImrr746X/ziF/OOd7wjs2fPTq1WW3Ns//33z3/%2B5382dUAAAIB1s2NNceresZ4zZ05mzZqVM888M5VKZa1j2223XX73u981azYAAABoe3XvWD/88MPZf//9X/DYpEmTsnjx4oaHAgAAqEelslXRIzCG1b1jvcEGG%2BSZZ555wWOPPfZYNtlkk4aHAgAAGK5KZYusXLmy6DEYw%2BresX7DG96QSy%2B9NAMDA2seK5VKqVQq%2BfrXv5599tmnqQMCAAC8tN6iB2CMq3vH%2BvTTT8/RRx%2BdmTNn5pBDDkmpVMrVV1%2Bd3/zmN3nkkUfyuc99rhVzAgAAQFuqe8f65S9/ea666qpss802ueKKK1Kr1fKNb3wjEydOzJw5c7LVVj7bAAAAwNixXvex3mmnnfLVr341AwMDWbRoUTbccMNMnDix2bMBAABA26t7x/q5%2Bvr6ssUWW6SnpycPPfRQqtVqs%2BYCAACAjlB3WH/ta1/LhRdeuObXv/nNb3LAAQfkrW99aw499NAsXLiwqQMCAABAO6s7rK%2B55pq1Tvv%2B53/%2B50yaNCl///d/n5UrV2b27NlNHXC173//%2Bzn66KPzmte8Jvvss09OO%2B20PPDAAy15LwAAABiuusP6iSeeyPbbb58k6e/vz89//vN8%2BMMfzvHHH58PfvCDufXWW5s%2B5E9/%2BtOcdtppefnLX54vfelLOeuss/Lggw/m%2BOOPT39/f9PfDwAAAIar7ouXDQ4OpqenJ0kyb968VKvVNfeu3nrrrfP00083d8Ik3/nOd7LFFlvknHPOSalUSpJsueWWOfroo/Pf//3f2X///Zv%2BngAAADAcde9Yb7755vnlL3%2BZJPnhD3%2BY6dOnZ4MNNkiSPPvss5k0aVJzJ0wyNDSUiRMnronqJGveEwAAAIpUd1i/7W1vywUXXJCjjz46V199dd7%2B9revOTZ//vxst912zZwvSXLUUUflgQceyJVXXpnFixfn0UcfzTnnnJMddtghe%2B%2B9d9PfDwAAAIar7lPBTz311JTL5dx55515//vfn1mzZq05dvfdd2fGjBlNHTBJXve61%2BX888/Phz/84fzjP/5jkmTHHXfMZZddlt7e3oZeu7u7oTuOvaiurvJaP9L%2BrFnnsWadx5p1HmvWeaxZ57FmzdGq7%2BthOEq1Wq1W9BDr8stf/jInnXRSjjjiiBx00EHp7%2B/PRRddlMHBwVx99dXrffp5rVZb6/RyAACg8/i%2BnqJ1RFgfeeSR2WKLLXL%2B%2BeeveezZZ5/Nfvvtt%2BaK5OujUqlm8eKBZo25lq6uciZP7svixQOpVKoteQ%2Bay5p1HmvWeaxZ57FmnceadR5r1pjJk/uSpGXf18OUKRPX%2BZy6TwVPkkceeSTXXHNN7r///qxYsWKtY6VSKZdeeun6vOyLuv/%2B%2B3PQQQet9djGG2%2BcadOm5eGHH27otYeGWvvFq1Kptvw9aC5r1nmsWeexZp3HmnUea9Z5rFlj/LejSHWH9YIFC3L00Udnk002yWOPPZYdd9wxixYtytNPP53NNtssW265ZdOH3GKLLTJ//vy1Hnvqqafy5JNPtuT9AAAAYLjq/oT/eeedl3322Sc33XRTarVaPvvZz%2BbHP/5xzj///AwODuaMM85o%2BpDHHXdcfvjDH%2BZTn/pUfvKTn%2BTGG2/MiSeemAkTJqx1VXIAAAAYaXXvWM%2BfPz%2Bf%2BMQnUi6vavJqddUpFzNmzMgDDzyQ8847L1deeWVThzzuuOPS09OTq666Ktdff30mTJiQ3XbbLeecc06mTZvW1PcCAACAetQd1osXL85GG22Ucrmc7u7uLFmyZM2x3XffPRdeeGFTB0xWfW772GOPzbHHHtv01wYAAIBG1H0q%2BLRp0/KHP/whSbLtttvmF7/4xZpjv/3tbzNhwoTmTQcAAABtru4d69e%2B9rW58847M2PGjMycOTOzZ8/O008/nd7e3lx77bWZOXNmK%2BYEAACAtlR3WJ988slZuHBhkuSkk07Kk08%2BmRtuuCGlUikzZszImWee2fQhAQAAoF3VHdbbbbddtttuu1W/ubs7Z599ds4%2B%2B%2BwmjwUAAACdoe7PWAMAAAB/Muwd68HBwdx5553p7u7OHnvske7u7jz66KP50pe%2BlHvuuSdTp07NrFmzsv/%2B%2B7dyXgAAAGgrwwrrJ554Iu9617vy%2BOOPJ1l1OvhFF12UWbNmZeHChdlwww1z77335rbbbsucOXPymte8pqVDAwAAQLsY1qngs2fPzrJly/LJT34y5513Xrq7u3Pqqadmo402yi233JLbb789P/jBD7LDDjvkkksuafXMAAAA0DaGtWP905/%2BNKeddlqOOeaYJMmWW26ZY489Nuedd1423XTTNY%2BdcMIJ%2BcIXvtC6aQEAAKDNDGvHeuHChZk%2BffqaX6/%2B%2BdZbb73W87beeus89dRTTRwPAAAA2tuwwnpoaCi9vb1rft3T05Mk6erqWut53d3dqVarTRwPAAAA2ltDt9sqlUrNmgMAAAA60rBvt/X3f//36evrW%2BuxD3/4wxk/fvyaXw8MDDRvMgAAAOgAwwrrPffc83m70y90S62%2Bvr5svPHGzZkMAAAAOsCwwvrqq69u9RwAAADQkRr6jDUAAACMdcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaMKzbbb2Qhx56KHfccUcWLVqUI488MlOnTs0zzzyTDTbYIL29vc2cEQAAANpW3WFdrVZz9tln59prr021Wk2pVMob3/jGTJ06NR/96Eez66675vTTT2/FrAAAANB26j4V/OKLL87111%2Bfv/3bv803v/nN1Gq1Ncf233//3HrrrU0dEAAAANpZ3TvW1113Xd7//vfnxBNPTKVSWevYVlttlUceeaRpwwEAAEC7q3vH%2BoknnshrXvOaFzw2fvz4LF26tOGhAAAAoFPUHdYbb7xxHn300Rc89uCDD2bTTTdteCgAAADoFHWH9X777ZeLL744Tz755JrHSqVS%2Bvv7M2fOnBx44IFNHRAAAADaWd2fsT799NNz1FFHZebMmdl7771TKpXyL//yL7n33ntTKpXy/ve/vxVzAgAAQFuqe8d62rRpufbaa/OWt7wlv/zlL5Mk8%2BbNy1577ZWrr746G2%2B8cdOHBAAAgHZV9451siqu/%2Bmf/qnZswAAAEDHqXvHGgAAAPiTuneszzrrrBc9ViqVMnny5Oy222456KCD0tPT09BwAAAA0O7qDuv/%2Bq//ytKlS9Pf359yuZzJkydn8eLFqVarmTRpUqrVapYtW5Ydd9wxl19%2BeTbZZJNWzA0AAABtoe5TwS%2B%2B%2BOJMnjw55557bubNm5ef/exnmTdvXs4555xssMEGufzyy3PllVfm2Wefzec///lWzAwAAABto%2B4d68985jP5m7/5m7z97W9f81hPT0/e8Y53ZNGiRfnsZz%2Bbr33taznxxBNz2WWXNXVYAAAAaDd171jfdddd2WmnnV7w2E477ZT58%2BcnSV71qldl0aJFjU0HAAAAba7usJ44cWLuuOOOFzx2xx13ZOLEiUmSFStWrPk5AAAAjFZ1nwo%2Bc%2BbMfPnLX06pVMpb3/rWTJ06NU8//XS%2B%2B93v5itf%2BUqOO%2B64JMn8%2BfOz/fbbN31gAAAAaCd1h/VHPvKRLFy4MLNnz86FF1645vFarZa3vvWt%2BfCHP5wk2X333bP33ns3b1IAAABoQ3WHdW9vb774xS/m3nvvzc9//vP84Q9/yEYbbZTXve51mT59%2Bprn7bvvvk0dFAAAANpR3WG92vTp09cKaQAAABiL1jusk%2BSPf/xjli9f/rzHN91000ZeFgAAADrGeoX1JZdckiuuuCLPPPPMCx6/%2B%2B67GxoKAAAAOkXdt9u6/vrrM3v27Bx77LGp1Wo58cQTc8IJJ2TatGnZdttt88lPfrIVcwIAAEBbqjusr7zyypx88sk59dRTkySHHHJIPvKRj%2BSmm27KhAkT0t/f3/QhAQAAoF3VHdYPPfRQXv3qV6dcXvVbh4aGkiR9fX054YQT8vWvf725EwIAAEAbqzusu7tXfSy7VCpl0qRJ%2Bf3vf7/m2MYbb5yFCxc2bzoAAABoc3WH9TbbbLMmnnfdddfMnTs3lUol1Wo1c%2BfOzRZbbNH0IQEAAKBd1R3W%2B%2B67b26//fYkyUknnZTbbrstf/EXf5G99torN954Y0444YSmDwkAAADtqu7bbX3oQx9a8/N99tknc%2BbMyXe%2B852USqUccMABeeMb39jUAQEAAKCd1RXWg4OD%2Bfd///fsueee2WGHHZIke%2B65Z/bcc8%2BWDAcAAADtrq5TwXt7e3P22WfnmWeeadU8AAAA0FHq/oz11ltvnaeffroVswAAAEDHqTus3/3ud%2BcrX/lKli5d2op5AAAAoKPUffGyhx56KM8880wOOuig7LPPPnnZy16WUqm05nipVMqZZ57Z1CEBAACgXdUd1pdffvman994443POy6sAQAAGEvqDuv58%2Be3Yg4AAADoSHWHdVdXVyvmAAAAgI5Ud1ivdtttt%2BX222/PokWLcsopp2TzzTfP/Pnzs8UWW2TKlCnNnBEAAADaVt1hvXz58nzgAx/IT3/609RqtZRKpRxzzDHZfPPNc8kll2SLLbbIP/zDP7RiVgAAAGg7dd9u6wtf%2BELmzZuXz3/%2B8/n5z3%2BeWq225ti%2B%2B%2B6b2267rakDAgAAQDure8f6xhtvzOmnn55DDz00lUplrWObb755Hn/88aYNBwAAAO2u7h3rZ555JjvttNMLHuvq6sry5csbHgoAAAA6Rd1hvemmm2bBggUveOzee%2B/NVltt1fBQAAAA0CnqDus3v/nNufDCC3PPPfeseaxUKuWJJ57IFVdckUMOOaSpAwIAAEA7q/sz1qeddlp%2B8pOf5Kijjsr06dNTKpXy8Y9/PA899FC22WabnHTSSa2YEwAAANpS3TvWkyZNyjXXXJNTTz013d3d2WKLLVIul3P88cdnzpw56evra8WcAAAA0Jbq3rFOkgkTJuTUU0/Nqaee2ux5AAAAoKPUvWP9uc99Lg888EArZgEAAICOU3dYX3755Zk5c2b%2B6q/%2BKnPnzk1/f38r5gIAAICOUHdY33rrrfnYxz6WwcHBnHXWWXnTm96Uf/iHf8gdd9zRivkAAACgrdUd1htttFHe/e5357rrrsu3vvWtHHPMMfnxj3%2BcWbNm5eCDD84FF1zQijkBAACgLdUd1s81ffr0fPSjH81//dd/5Utf%2BlIqlUrOP//8Zs0GAAAAbW%2B9rgr%2BXI888kiuu%2B66fPOb38zvf//7TJs2rRlzAQAAQEdYr7AeGBjITTfdlOuuuy6/%2BMUv0t3dnQMPPDBnn3123vSmNzV7xjXmzp2bK6%2B8Mg8%2B%2BGAmTZqUPfbYIxdddFHL3g8AAADWpe6w/tjHPpabbropy5Yty6te9ap87GMfy2GHHZaNNtqoFfOt8aUvfSlf/epXc8opp2SPPfbIH//4x9x6660tfU8AAABYl7rD%2Boc//GGOPPLIvPOd78yrXvWqVsz0PPfff38uvPDCXHLJJdl3333XPP7mN795RN4fAAAAXkzdYX3rrbemp6fnRY8/%2B%2Byz2XjjjRsa6s9dd9112XrrrdeKagAAAGgHdV8V/IWiular5ZZbbskHP/jB7Lfffk0Z7LnmzZuXnXbaKRdccEH23nvv7LrrrnnXu96Vu%2B%2B%2Bu%2BnvBQAAAPVo6KrgDz/8cL7xjW/k%2Buuvz1NPPZWenp4ccsghzZptjaeeeirz58/Pfffdl09%2B8pPp6enJ%2Beefn%2BOPPz4333xzJk%2BevN6v3d3d0B3HXlRXV3mtH2l/1qzzWLPOY806jzXrPNas81iz5mjV9/UwHKVarVar5zesWLEiN954Y77xjW/kF7/4RWq1WkqlUt7znvfkpJNOypQpU5o%2B5Fve8pY89NBD%2Bfa3v51XvOIVSZInn3wyBx98cE4//fSceOKJ6/W6q2cHAAA6l%2B/rKdqwd6zvuuuuXHvttfnud7%2BbpUuXpq%2BvL0cccUQOOeSQnHzyyTnooINaEtVJsuGGG2bq1KlrojpJpk2blu233z4LFixY79etVmtZvHhZM0Z8nq6uciZP7svixQOpVKoteQ%2Bay5p1HmvWeaxZ57FmnceadR5r1pjJk/uSpGXf18OUKRPX%2BZxhhfVhhx22JmBf/epX553vfGf%2B8i//MhMmTMiSJUsam3IYdthhhzz%2B%2BOPPe7xWq6VcbuyUj6Gh1n7xqlSqLX8PmsuadR5r1nmsWeexZp3HmnUea9YY/%2B0o0rCq9L777kuS7L///vn0pz%2Bdo446KhMmTGjpYM91wAEH5Omnn85vf/vbNY8tXLgwDzzwQKZPnz5icwAAAMCfG1ZYf%2BxjH8v06dPzox/9KIcddliOPfbYzJ07N/39/a2eL8mq%2B1Xvsssu%2BeAHP5jvfve7%2Bf73v59TTjklG2%2B8cY455pgRmQEAAABeyLDCetasWfnmN7%2BZuXPn5phjjskDDzyQs846K29605ty1llnpVQqtfRiAV1dXfnyl7%2BcXXfdNZ/4xCfykY98JFOnTs1Xv/rVEd05BwAAgD9X91XBkxe%2BMvi2226bY489NkcccUTLLmLWbJVKNc8%2Bu7Qlr93dXc6UKROzaNFSn/foENas81izzmPNOo816zzWrPNYs8ZsvPGqC0u16vt6eNnLNljnc9bryl/jxo3L4YcfniuvvDL/8R//kZNOOikDAwM599xzc8ABB6zPSwIAAEBHavgu6ttss03%2B7u/%2BLj/60Y9y4YUX5k1velMz5gIAAICOMOz7WK9LuVzOgQcemAMPPLBZLwkAAABtr%2BEdawAAABjLhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADhDUAAAA0QFgDAABAA4Q1AAAANEBYAwAAQAOENQAAADRAWAMAAEADOjKsly5dmv322y/Tp0/Pr371q6LHAQAAYAzryLCePXt2KpVK0WMAAABA54X1/fffn6uuuiof/OAHix4FAAAAOi%2Bs/%2Bmf/il/9Vd/lZe//OVFjwIAAACdFdY33XRT7rnnnnzgAx8oehQAAABIknQXPcBwDQwM5LOf/Wz%2B7u/%2BLpMmTWra63Z3t%2BbfFrq6ymuRq7NkAAAcgklEQVT9SPuzZp3HmnUea9Z5rFnnsWadx5o1R6u%2Br4fh6JiwvvDCC7PJJpvkyCOPbNprlsulTJkysWmv90ImT%2B5r6evTfNas81izzmPNOo816zzWrPNYs/VXq9Va/n09vJSOCOvHHnssl112WS644IL09/cnSZYtW7bmx6VLl2bixPr/IlWrtSxevKyps67W1VXO5Ml9Wbx4IJVKtSXvQXNZs85jzTqPNes81qzzWLPOY80as/ofJFr1fT0M5x9tOiKsH3300axcuTInnXTS847NmjUre%2ByxR/7t3/5tvV57aKi1X7wqlWrL34Pmsmadx5p1HmvWeaxZ57FmnceaNcZ/O4rUEWH9qle9KldcccVaj9199935v//3/%2BaTn/xkdtttt4ImAwAAYKzriLCePHly3vCGN7zgsV122SW77LLLCE8EAAAAq7h0HgAAADSgI3asX8gb3vCG3HvvvUWPAQAAwBhnxxoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAKABwhoAAAAaIKwBAACgAcIaAAAAGiCsAQAAoAHCGgAAABogrAEAAP7/9u49KKr7/OP4BxBEISCgxEjACyqiINapAxgxCmO08VZStd4IUePd0SSNUWKrNYNRrGMSwUuDlyiKVROqgw6pNVHUWq31Eh2rjaIjhUaDqKxWQYH9/ZEf26xgxBxxd8v7NeMo3z179mGfeZz97Dl7FjCAYA0AAAAAgAEEawAAAAAADCBYAwAAAABgQANbF1AbOTk5ys7O1pkzZ1RSUqLAwECNGDFCw4cPl7Mz7w0AAAAAAGzHIYL1unXr1KJFC73zzjvy8/PTkSNHtGDBAv3rX//SrFmzbF0eAAAAAKAec4hgvWrVKvn6%2Blp%2BjoqK0p07d7Rp0ya9%2BeabcnNzs2F1AAAAAID6zCHOo/5%2BqK4SGhqqsrIy3bx50wYVAQAAAADwHYcI1jU5duyYmjRpIj8/P1uXAgAAAACoxxziVPAHnT59WllZWZo6dapcXFwM7atBg7p5b8HFxdnqb9g/euZ46JnjoWeOh545HnrmeOjZk1FXr%2BuB2nAym81mWxfxOIqKijRs2DA9%2B%2ByzysjIkKur64/el9lslpOT0xOsDgAAAMDTxut62JpDBetbt24pISFBZWVlyszMlI%2BPj6H9VVRUymS6%2B4Sqs%2Bbi4iwvr0Yyme6qoqKyTh4DTxY9czz0zPHQM8dDzxwPPXM89MwYL69GklRnr%2BsBHx%2BPR27jMKeCl5WVafLkybp27Zq2bNliOFRXKS%2Bv2/%2B8Kioq6/wx8GTRM8dDzxwPPXM89Mzx0DPHQ8%2BM4bmDLTlEsC4vL9eMGTN07tw5bdy4UQEBAbYuCQAAAAAASQ4SrN977z3t3btXM2fOVGlpqU6ePGm5rW3btvL09LRhdQAAAACA%2BswhgvXBgwclSb/73e%2Bq3bZhwwZFRkY%2B7ZIAAAAAAJDkIMH6yy%2B/tHUJAAAAAADUiC97AwAAAADAAII1AAAAAAAGEKwBAAAAADCAYA0AAAAAgAEEawAAAAAADCBYAwAAAABgAMEaAAAAAAADCNYAAAAAABhAsAYAAAAAwACCNQAAAAAABhCsAQAAAAAwgGANAAAAAIABBGsAAAAAAAwgWAMAAAAAYADBGgAAAAAAAwjWAAAAAAAYQLAGAAAAAMAAgjUAAAAAAAYQrAEAAAAAMIBgDQAAAACAAQRrAAAAAAAMIFgDAAAAAGAAwRoAAAAAAAMI1gAAAAAAGECwBgAAAADAAII1AAAAAAAGEKwBAAAAADCAYA0AAAAAgAEEawAAAAAADCBYAwAAAABgAMEaAAAAAAADCNYAAAAAABhAsAYAAAAAwACCNQAAAAAABhCsAQAAAAAwgGANAAAAAIABBGsAAAAAAAwgWAMAAAAAYADBGgAAAAAAAwjWAAAAAAAYQLAGAAAAAMAAgjUAAAAAAAYQrAEAAAAAMIBgDQAAAACAAQRrAAAAAAAMIFgDAAAAAGAAwRoAAAAAAAMI1gAAAAAAGECwBgAAAADAAII1AAAAAAAGEKwBAAAAADCAYA0AAAAAgAEEawAAAAAADCBYAwAAAABgAMEaAAAAAAADCNYAAAAAABhAsAYAAAAAwACCNQAAAAAABhCsAQAAAAAwgGANAAAAAIABBGsAAAAAAAwgWAMAAAAAYADBGgAAAAAAAwjWAAAAAAAYQLAGAAAAAMAAgjUAAAAAAAYQrAEAAAAAMIBgDQAAAACAAQRrAAAAAAAMIFgDAAAAAGAAwRoAAAAAAAMI1gAAAAAAGECwBgAAAADAAII1AAAAAAAGEKwBAAAAADDAYYL1pUuXNG7cOHXp0kXR0dFKTk5WaWmprcsCAAAAANRzDWxdQG2YTCYlJiaqRYsWWrZsma5fv66FCxfq5s2bWrJkia3LAwAAAADUYw4RrP/whz/IZDJp%2B/bt8vX1lSS5uLjo7bff1uTJkxUcHGzjCgEAAAAA9ZVDnAq%2Bf/9%2BRUdHW0K1JPXt21dubm7Kzc21YWUAAAAAgPrOIYJ1Xl5etaPSbm5uCgoKUl5eno2qAgAAAADAQU4FN5lM8vLyqrbu5eWlkpKSH71fZ2cn%2Bfp6GCntoZycvvvb27uRzOY6eQg8YfTM8dAzx0PPHA89czz0zPHQM2OcnZ1UWWlWgwYOccwQ/6McIlg/jNlsllPV/0Q/gpOTk1xcfvz9a8PZmQF3NPTM8dAzx0PPHA89czz0zPHQsx/PxcVJPj51c8AMqA2HmF4vLy%2BZTKZq67du3arxSDYAAAAAAE%2BLQwTr4ODgap%2BlvnfvnvLz87kiOAAAAADAphwiWPfs2VOHDx/WjRs3LGt//vOfde/ePb344os2rAwAAAAAUN85mc32f4kEk8mkAQMGKCAgQFOmTFFxcbEWLVqkHj16aMmSJbYuDwAAAABQjzlEsJakS5cuKTk5WceOHZO7u7sGDBigt99%2BW%2B7u7rYuDQAAAABQjzlMsAYAAAAAwB45xGesAQAAAACwVwRrAAAAAAAMIFgDAAAAAGAAwRoAAAAAAAMI1gAAAAAAGECwBgAAAADAAIL1E7Bt2zYNGjRI4eHhio6O1qRJk6xuz83N1c9//nOFh4erT58%2B2rRpk40qRZUf6tns2bMVEhJS7c/%2B/fttWHH9lZCQUGM/QkJCtGvXLst2zJn9qE3PmDP7s2fPHg0dOlRdu3ZV9%2B7dNW3aNF28eLHadsya/ahNz5g1%2B7F3717Fx8crLCxML774opYtW6aKiopq2zFjgGNqYOsCHF1qaqo%2B%2BeQTTZo0SRERESopKdGBAwcst584cUJTpkzR4MGDNXv2bB0/flzJyclyc3PT0KFDbVh5/fWonklSYGCglixZYrUWHBz8NMvE/5s3b55u375ttbZ%2B/Xrt3r1b0dHRkpgze1ObnknMmT05dOiQpk2bpkGDBumNN96QyWRSWlqaxowZo127dsnT01MSs2ZPatsziVmzBydPntSUKVP08ssv66233lJeXp4%2B%2BOAD3b17V7NmzbJsx4wBDsyMH%2B3ChQvm0NBQ84EDBx66zbhx48xDhgyxWvv1r39tfuGFF8wVFRV1XSIeUJuezZo1y9y/f/%2BnWBUeV2xsrHn8%2BPGWn5kz%2B/dgz5gz%2B/Luu%2B%2Bae/fuba6srLSsffXVV%2Bb27dub9%2B3bZ1lj1uxHbXvGrNmHsWPHmuPj463WVq9ebe7UqZO5qKjIssaMAY6LU8ENyMrKUmBgoHr06FHj7ffu3dPhw4fVv39/q/WBAweqqKhI//jHP55GmfieR/UM9u/48eMqKCjQwIEDJTFnjuDBnsH%2BlJeXy8PDQ05OTpa1Z555xmobZs2%2B1KZnsB9nz56t9tojJiZG9%2B/f18GDByUxY4CjI1gb8NVXX6l9%2B/Zavny5oqOjFRYWptGjR%2Bvs2bOSpPz8fN2/f19t2rSxul/btm0lSXl5eU%2B95vruUT2rkp%2Bfr5/%2B9KcKCwvTK6%2B8oj179tioYjxo586datSokeLi4iQxZ47gwZ5VYc7sx5AhQ3Tx4kVlZGTIZDKpoKBAKSkpCg4Otpy%2Bz6zZl9r0rAqzZntlZWVydXW1WnNzc5P039lhxgDHxmesDSgqKtKZM2d0/vx5zZ8/X66urpbPN%2B3evVslJSWSJC8vL6v7Vf1cdTuenkf1zMvLS6GhoQoPD1fbtm1169Ytbd68WVOnTtVHH32kfv362fpXqNfKy8v1%2BeefKy4uTo0bN5Yk5szO1dQzScyZnenWrZvS0tL0q1/9SsnJyZK%2BezG/du1ay4t/Zs2%2B1KZnErNmL1q1aqVTp05ZrZ08eVLSf2eHGQMcG8HaALPZrDt37ig1NVXt2rWTJHXq1ElxcXHasmWLunbtKklWp2l938PWUXce1bPx48crMTHR6j6xsbEaPny4li1bxosQG/vLX/6i4uJiDRgwoNptzJl9eljPmDP7cvz4cc2cOVO/%2BMUvFBsbq9u3b2vVqlUaP368Nm/ebHUhLGbNPtS2Z8yafRg1apSSkpK0fv16DR48WBcuXNCHH34oFxeXarPDjAGOiVPBDfD29lbTpk0tAU2S/P391aZNG124cEHe3t6Sqr/DaDKZJFV/RxJ171E9q4mzs7Neeukl5eXlqbS09GmVihrs3LlTTZo0sfqcGnNm32rqWU2YM9tKTk5WVFSU5syZo%2BjoaPXp00fp6em6dOmStm3bJolZsze16VlNmDXbiI%2BP15gxY7R48WJFRkbqtdde0/Dhw%2BXt7a1mzZpJYsYAR0ewNuBhX1VhNpvl7OysoKAgubq6VvtOyaoAx1ddPH2P6tnDmM3muioJtVRaWqovvvhC/fr1s/qcGnNmvx7Ws4dhzmwnLy9PHTp0sFrz9fWVv7%2B/8vPzJTFr9qY2PXsYZu3pc3Jy0uzZs3X48GHt2LFDhw4d0rBhw3T9%2BnVFRERIYsYAR0ewNqBXr166du2avv76a8va1atXdfHiRYWEhMjNzU1RUVHKycmxut/OnTvVrFkzdezY8WmXXO89qmc1qays1J/%2B9Ce1a9dO7u7uT6tUPODLL7/Uf/7zn2pXlmbO7NfDelYT5sy2WrRooTNnzlitFRUV6dtvv1VAQIAkZs3e1KZnNWHWbOuZZ55Rhw4d5OXlpYyMDAUEBKh79%2B6SmDHA0bn89re//a2ti3BUrVu31r59%2B7Rjxw75%2Bfnp8uXLmjdvniRp4cKFcnV1VWBgoFatWqVvvvlGHh4eys7O1rp165SUlKSwsDAb/wb1z6N69u2332rq1Km6f/%2B%2Bbt26pTNnzig5OVknTpzQ/PnzebfYhpYuXaqysjIlJSVV%2B5wZc2afHtazwsJC5swOrV%2B/Xjdu3FCDBg105swZzZs3T6WlpZo/f748PDwkMWv25lE9Y9bsx6lTp5Sdna27d%2B/q/PnzWrNmjTIzM/Xhhx8qKCjIsh0zBjguJzPnAxlSXFys999/X7m5uSovL1e3bt2UlJRk9VUJubm5Wrp0qfLy8tS8eXONGTNGo0aNsmHV9dsP9ezmzZtKSkrSmTNndP36dbm6uiosLEwTJkxQTEyMrUuvt0pKSvTCCy8oMTFRM2fOrHEb5sy%2B/FDPmDP7YzabtXXrVmVmZio/P1%2BNGzdWeHi43nzzzWpn8zBr9qE2PWPW7MfZs2c1b948nT9/XpIUERGhGTNm6Cc/%2BUm1bZkxwDERrAEAAAAAMIDPWAMAAAAAYADBGgAAAAAAAwjWAAAAAAAYQLAGAAAAAMAAgjUAAAAAAAYQrAEAAAAAMIBgDQAAAACAAQRrAAAAAAAMIFgDwP%2BwrKwshYSEWP507NhRPXv2VFJSkq5evWrr8p6ICxcuKDU1VQUFBbXavuo5qc32CQkJSkhIMFriDzp%2B/LhSU1NlMpke%2Bfh3795Vamqqjhw5Uqc1AQCAx0OwBoB6YOHChdqyZYvWrl2rYcOGaefOnRo5cqTu3Llj69IMu3DhgtLS0lRYWFir7Xv16qUtW7bI39%2B/jiurnRMnTigtLa3GYD1v3jzNmzfP8vPdu3eVlpamv/3tb0%2BzRAAA8AgNbF0AAKDutWvXTuHh4ZKkqKgoVVRUaMWKFdqzZ48GDRpkaN8VFRWqqKiQm5vbkyi1zvn6%2BsrX19fWZdRK27ZtbV0CAACoBY5YA0A91KVLF0nSv//9b8taUVGR5s6dq549eyosLEyxsbFKS0tTeXm5ZZuCggKFhIQoPT1dK1asUGxsrMLDw3X48GFJkslk0qJFixQXF6ewsDBFR0dr/PjxysvLs%2Bzj3r17WrFihfr166ewsDBFRUUpKSlJ169ft6oxNjZWEydO1P79%2BxUfH6/OnTurX79%2B%2BvTTTy3bZGVlacaMGZKkV1991XLKe1ZW1kN/95pOBTebzUpPT1fv3r0VHh6u%2BPh45ebm1nj/27dvKyUlRbGxsQoLC1NMTIwWLFhQ7eh/SEiI3nvvPW3fvl0/%2B9nPFBERoUGDBmnv3r2WbVJTU7V48WJJUlxcnKX%2BqlO9v38qeEFBgaKjoyVJaWlplm1nz56tv//97woJCdHOnTur1bt9%2B3aFhITo1KlTD31OAACAMRyxBoB66PLly5JkOXJbVFSkoUOHytnZWVOnTlVQUJBOnDihlStXqrCwUAsXLrS6f0ZGhlq1aqVZs2bJ09NTLVu21O3btzVy5EgVFhbq9ddfV0REhO7cuaOjR4%2BqqKhIwcHBqqys1JQpU3Ts2DGNGzdOXbt2VWFhoVJTU3Xq1Cl99tlncnd3tzzOuXPnlJKSovHjx6tp06batm2b5syZo5YtW6pbt27q1auX3nrrLS1dulRz585Vp06dJElBQUGP9XykpaUpLS1NQ4YMUd%2B%2BfXXlyhX95je/UWVlpVq3bm3Z7u7duxo9erSuXLmiSZMmKSQkROfPn9eyZcv09ddf65NPPpGTk5Nl%2B3379un06dOaPn26GjdurNWrV2vatGn6/PPPFRgYqKFDh6qkpEQZGRlKS0tTs2bNJNV8pNrf31%2BrV6/W66%2B/riFDhmjo0KGWHgYFBaljx47atGmTBgwYYHW/jRs3Kjw8XJ07d36s5wQAANQewRoA6oHKykqVl5errKxMR48e1cqVK%2BXh4aHY2FhJ3x05LSkp0a5du9SiRQtJUnR0tNzd3ZWSkqJx48ZZhb2GDRtqzZo1cnV1tawtX75c58%2Bf17p169S9e3fL%2BksvvWT5d05Ojg4cOKDU1FSr9Q4dOmjIkCHKysrSyJEjLes3btzQ5s2bLTV169ZNhw8fVnZ2trp16yZfX1%2B1bNlS0ndhtOpI/OMwmUxKT09Xnz59tGDBAst627ZtNWLECKtgnZGRoX/%2B85/aunWr5dT66OhoPfvss5o%2Bfbr279%2BvF1980bJ9WVmZ1q1bJ09PT0lSp06dFBMTo5ycHE2YMEHNmzfXc889J0kKDQ3V888//9A63dzcLG8cNG/evNrvmpCQoKSkJJ09e1ahoaGSpFOnTun06dNKSUl57OcFAADUHqeCA0A9MGzYMHXq1Eldu3bVxIkT1bRpU6Wnp6tp06aSvjuyGhkZKX9/f5WXl1v%2B9OzZU5KqXSwrNjbWKlRL0oEDB9SqVSurUP2gvXv3ysvLS71797Z6nNDQUDVr1qza44SGhlpCtfRdoG/VqpXVKexGnThxQmVlZRo4cKDVeteuXRUQEFCt/nbt2ik0NNSq/h49esjJyala/ZGRkZZQLUlNmzaVn59frS%2B09jgGDBggPz8/bdq0ybK2ceNG%2Bfr66uWXX37ijwcAAP6LI9YAUA%2BkpKQoODhYDRo0kJ%2BfX7UrYhcXF2vv3r2WI6IPunHjhtXPVacsf9/169ctR18fpri4WCaTSWFhYbV6nCZNmlTbxs3NTWVlZT/4OI/j5s2bkmR5k%2BH7HlwrLi7W5cuXa/08PY36v7/fX/7yl1q3bp3eeecdlZeXKycnR2PGjHGYC8sBAOCoCNYAUA8EBwdbTl2uiY%2BPj0JCQvTGG2/UePuDQfz7nyOu4uvrqytXrvxgHT4%2BPmrSpIlWr15d4%2B0eHh4/eP%2B6UBV%2Br127Vu22a9euWR219vHxUcOGDfX%2B%2B%2B/XuC8fH5%2B6KbKWRowYofT0dH322WcqKytTRUWFhg8fbtOaAACoDwjWAAD16tVLubm5CgoKkre394/aR0xMjJYtW6a//vWvlqtX1/Q4u3btUmVlpSIiIoyUbFF1NLa0tPRH3b9Lly5q2LChsrOz1bdvX8v68ePHVVhYaBWse/Xqpd///vdq0qSJAgMDjRX%2B/6rqr81R7Ef9rv7%2B/urbt68yMzN1//599e7d2%2BpUegAAUDcI1gAATZ8%2BXYcOHdLw4cOVkJCg1q1b6969eyooKND%2B/fs1f/58NW/e/Af3kZiYqJycHE2ZMkUTJkxQ586dVVpaqqNHj6pXr16KiopS//79lZ2drQkTJighIUGdO3eWq6urrly5oiNHjiguLk59%2BvR5rNrbtWsnSdq6das8PDzUsGFDPf/887U%2Beuzt7a2xY8dq5cqVmjNnjvr166crV64oNTW12inviYmJ2r17t0aPHq3XXntNISEhqqys1DfffKODBw9q7Nixj/2GQfv27SVJ69evV3x8vBo0aKDWrVtbfTa7iqenpwICAvTFF18oOjpa3t7e8vHxsbroWWJiouWK4Q9ezR0AANQNgjUAQP7%2B/vr000%2B1YsUKrVmzRlevXpWHh4cCAgIUExMjLy%2BvR%2B7D09NTmZmZSk1N1datW7V8%2BXJ5eXkpPDxcw4YNkyS5uLho5cqV2rBhg3bs2KGPP/5YLi4uat68ubp162YJmY8jMDBQ7777rjZs2KBXX31VFRUVWrhwoV555ZVa72PGjBlq3LixMjMztWPHDrVp00bz58/X2rVrrbZr3LixNm3apI8//lhbtmxRQUGB3N3d9dxzz6l79%2B7VLnZWG5GRkZo4caL%2B%2BMc/atu2baqsrNSGDRsUGRlZ4/YLFizQ4sWLNXnyZN27d0/x8fFatGiR5fbOnTsrICBA7u7uDz1zAAAAPFlOZrPZbOsiAADAk3Hu3DkNHjxYc%2BfO1ahRo2xdDgAA9QJHrAEA%2BB%2BQn5%2BvwsJCffDBB2rWrNljHbEHAADG8D3WAAD8D1ixYoXGjh2rO3fu6KOPPlKjRo1sXRIAAPUGp4IDAAAAAGAAR6wBAAAAADCAYA0AAAAAgAEEawAAAAAADCBYAwAAAABgAMEaAAAAAAADCNYAAAAAABhAsAYAAAAAwACCNQAAAAAABhCsAQAAAAAw4P8AFsnGdJ/7SiYAAAAASUVORK5CYII%3D">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9YAAAPWCAYAAAAF6QCyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3xT1f8/8FdG03S3QBmyVwsUlA1l710BEVEQHCCCMkVAEPgJiogsZYpMkaGMsvfeUvYoAlIoq1C6RzrSjN8f/fR%2Bc5s0o2mbFl7Px8OHTZrcHu5N7r3vc97nfSR6vV4PIiIiIiIiIsoVqaMbQERERERERFSUMbAmIiIiIiIisgMDayIiIiIiIiI7MLAmIiIiIiIisgMDayIiIiIiIiI7MLAmIiIiIiIisgMDayIiIiIiIiI7MLAmIiIiIiIisgMDayIiIiIiIiI7MLAmegVoNBr4%2B/sL/7148SLPtt2qVSthu5cuXcqz7RY1W7ZsEfbDxx9/7OjmEBERidy7d0%2B4TtWrVy/H182ePVt43YwZMwqwhUXXO%2B%2B8I%2ByzAwcOOLo5VEjJHd0A%2Bj/ffPMNtm/fnuPvnZyc4OnpiTfeeANvvfUWunXrhgYNGhRgC4mIip4FCxbgt99%2BEx43a9YMa9ascWCLqKg7fvw4hg0bZvY1UqkU7u7uKFGiBGrVqoX27dujQ4cOUCgUBdTK14tarcb58%2Bdx4sQJXLt2DdHR0YiLi4ObmxtKlCiBqlWrok2bNmjTpg2KFSvm6OYS0SuIgXURkpGRgZiYGMTExODmzZtYv349mjRpgp9//hmlS5d2dPPIjA8%2B%2BABXrlwBAPz888/o2bOng1v0%2Bnr06BE6deoEAJDJZLh9%2B3aebr9Vq1aIjIwEAGzYsAENGzbM0%2B2TbfR6PXbt2iV67p9//sGLFy943qR8pdPpkJiYiMTERDx48AB79uxBhQoV8OOPP6JRo0aObt4r5eDBg5gzZw6ePHli9Lv4%2BHjEx8fj/v37OHjwIFxdXTFkyBAMHjwYSqXSAa0tGlQqFerXry88Pn/%2BPDskHIDHoWhhYF1IeXl5oU6dOqLn1Go1nj17hmfPngnPXbhwAf369cPmzZtRqlSpgm4mEVGh9s8//yAiIkL0nE6nw86dO/H55587qFX0qmnatCnkcvEtlUajQUxMDB4%2BfAiNRgMAePz4MQYPHoyVK1eicePGjmjqK0Wj0WDKlClG2X5OTk4oX748SpQogeTkZDx9%2BhSJiYkAgJSUFCxcuBAHDhzAypUree9ERHmGgXUh5e/vj1WrVpn8XWhoKKZPn47r168DAF68eIGpU6fi999/L8gmUiEil8tx9%2B5dRzfjlda3b1/07dvX0c0gG%2B3YsUP4uWXLljh9%2BjQAYPv27QysKc8sWLAgx1Gk2NhYrFq1CitXrgQApKen49tvv8W%2Bffvg5ORUkM18pWi1WowYMQLHjx8XnvP19cXo0aPRpUsXeHh4iF4bEhKCJUuW4OLFiwAy5yN/8MEHWL9%2BPd54440Cb78jTZw4ERMnTnR0M4heOSxeVgQFBARg3bp18Pf3F547efIk7ty548BWEREVLiqVCocOHQIASCQSTJ8%2BHWXKlAEAPHz4UOicJMpPxYoVw/jx4/Hpp58Kzz1%2B/BghISEObFXRt2zZMlFQ3bRpU%2Bzfvx99%2B/YVBdVA5rSfwMBA/Pnnnxg1apTw/LNnz/D1119Dq9UWWLuJ6NXFwLqIUiqV%2BOqrr0TPnTp1ykGtISIqfA4ePIiUlBQAQKNGjVC2bFl0795d%2BL25YpFEeS37agI3btxwTENeAaGhoVi6dKnwOCAgAMuWLTMKqLOTSCT48ssvRZ0cly9fxurVq/OtrUT0%2BmAqeBEWGBgIJycnZGRkAIDFVGC9Xo9jx47hyJEjuHr1KmJiYpCWlobixYujRo0a6NChA3r27GkxNc2wwu67776LmTNnAgBOnz6NXbt24ebNm3j58iVUKpXo99mpVCrs2bMHZ86cwb///ovY2Fio1Wp4enqiUqVKqF%2B/Ptq3b292yYgsKSkp2L17N06cOIG7d%2B8iNjYWEokEvr6%2BaNCgAbp164aWLVta3I6pImNarRYHDx5EcHAw7t%2B/j%2BjoaHh6eqJGjRro0aMHevXqBanUuI9Ko9EgICDA6PkJEyZgwoQJRs9XqFABhw8ftthGU7L/rZMnT1oszPTy5Uts2rQJR48exbNnz6DX61G6dGk0bdoU/fr1E2VE2CosLAx79uzB2bNnERERgfj4eLi7u6NcuXJo0aIF%2Bvbti7Jly5rdRk5Fxl6%2BfIktW7bgyJEjiIiIQFpaGnx9fdGoUSMMGjQINWvWNLm9LVu2YMqUKaLntFptjv/O0aNH44svvjD5/sDAQKxdu9ZkWw0NGDDA5Laz3v/w4UN06dJFeP7AgQOoXLmyyfdkt2PHDiGVr0SJEjh58qTRHE9LvvzySxw5cgQA0Lt3b/z0009Wv7djx454/PgxAGDSpEkmlyB7%2BvQptm3bhpCQEDx48ABJSUkAADc3N5QuXRpVq1ZF/fr10bFjx3yZ52gYOL/99tsAgJ49ewopufv27cPkyZPNVmnet28fxo4dCwDw8PDA2bNn4ezsbNXfnz9/PpYvXw4AePPNN7Fly5YcX6vT6XD06FEcPXpUOD%2Br1WoUL14cNWvWRMeOHREUFGTxGM%2BePVsIEgYMGIBp06YBAE6cOIHdu3fj1q1biIqKgkqlEv0%2BS2RkJE6dOoWQkBDcu3cPERERSElJgaurK4oVK4a6deuiY8eOaN%2B%2BPSQSiVX7IcuxY8ewY8cO3LhxAzExMfDy8kKFChXQvXt39OzZE%2B7u7qJq29WrV8eePXssbjev9l1%2BK1WqFFxdXYXOnvj4eLOv12q1uHjxIs6fP48bN27g4cOHiIuLg06ng5eXFypXrowmTZqgb9%2B%2BNn1/7ty5g%2BDgYFy5cgVPnjxBcnIypFIpPDw8UKZMGfj5%2BaFRo0bo0KEDPD09LW4vNjYWO3fuxKlTp/Dw4UPExsZCoVCgVKlSaNKkCXr16oU333zT6vZZY/ny5cIos0wmw8yZM%2BHq6mr1%2B8eOHYtjx44hPDwcALB69WoMGjTI5Hd71KhROHjwIIDM6/fgwYMtbr9JkybC8d26datRzRxD169fx9mzZ3Ht2jWEhYUhNjYWGRkZ8PLyQrly5dCwYUO8%2B%2B67Vl8brJHTeQLIueJ9YGCgyW1lvf/YsWMYPnw4gMxz/JkzZ6w%2BJobnynr16uGvv/6y6d9jyNS%2Bj4uLw7Zt23Dw4EE8e/YMycnJKFmyJBo1aoR%2B/fqhbt26uf575pw5cwb79%2B/H5cuXER0dDbVajRIlSsDPzw/t2rVDz549c7ye5PY4kGMxsC7CnJ2d4e3tjaioKADmL9L//vsvvv32W4SGhhr97vnz53j%2B/DmOHz%2BOFStWYO7cuWYvAtklJSVh8uTJQsqlNbZu3Yr58%2BcjJibG6HdZlc8vX76MFStW4NNPPzU7F2jfvn348ccfhf1g6NGjR3j06BGCg4PRvHlzzJ0716ZqipGRkfjqq6%2BM1m%2BOiYnB2bNncfbsWQQHB%2BO3336Du7u71dt1tIMHD2LKlClCMZcsYWFhCAsLw19//YVx48ZZdQNhKC0tDT/99BM2b95slFoXFxeHuLg43Lx5E6tXr8aIESMwdOhQm7Z/9OhRTJo0CQkJCaLnnzx5gidPnmDHjh2YMGECPvnkE5u26yiVK1dG48aNhZTQbdu24euvv7bqvVu3bhV%2B7tmzZ66ChrffflsIrA8dOoTvvvvOqiq5165dE4JqqVSKbt26Gb1m9erVWLBgAdRqtdHvsqr03rlzB3v37sX8%2BfOFDq288uzZM2EupUKhQOfOnQEAfn5%2B8Pf3x927d5GQkIBjx46JOjeya9euHdzc3KBSqZCUlIQTJ04I27Jk7969ws9BQUE5vu7mzZuYMmWKyek8ERERiIiIwNGjR/H7779jwYIFqFGjhlV/H8jc1998840oZTYnU6ZMwbZt26DT6Yx%2Bl1XdOjw8HDt27EBAQAAWLlyIcuXKWdxucnIyvv76a6M2REVFISoqCpcvX8Yff/yBRYsWWf3vypKf%2By4/ZBUxA2A26Lh9%2BzaGDh1q8roG/N%2B%2BCwkJwfLlyzF69GgMGTLE7N/WarWYNWsW1q9fD71eb/T7rGvvrVu3EBwcjI0bN4rOM6asWbMGixcvRnJysuj59PR0JCUl4f79%2B9i4cSN69eqFGTNm5MlSYxEREcJ5CwC6dOmSY4dqThQKBYYPHy7cW8TGxmL37t1499137W6ftSIjI9G/f388ffrU5O%2Bjo6MRHR2Na9euYc2aNRg0aBDGjx8PmUxWYG20RevWrVG6dGm8ePECKpUKBw4cwDvvvGPxfVqtVtQJmtfH4MqVKxg1apTRdynrvmH79u346KOPMHHiRJODJLkRGRmJiRMn4vz580a/yypCfPz4cfz222/44Ycf0KxZszz5u%2BR4DKyLuKzRagA5jjSfP38eX375JVQqlfCcl5cXqlSpAicnJ1Gl8fDwcAwaNAhr1qyxqgdPr9djzJgxOHPmDADA29sblStXhkQiwaNHj0y%2B56effjJaQ9bT0xMVK1aEm5sb4uPj8eDBA%2BGGPHvwZyirI8DQG2%2B8gTfeeAN6vR5hYWFCh8PZs2fRv39/bNq0CT4%2BPhb/bSqVCp988gnCwsIAAOXKlcMbb7yB1NRU3LlzR9j3Fy9exMSJE7FkyRLR%2B6VSKVq0aAEgM%2BUv69/h7%2B8PX19fo79XsmRJi23KC0eOHMHYsWNFgW%2BJEiVQuXJlpKam4t69e1Cr1fj555/h5uZm9XYTExMxdOhQXL16VXhOLpejatWq8PHxQWJiIu7duweNRoP09HTMmzcPcXFxVhdQOXPmDEaMGAGdTgcnJydUr14dHh4eePHihfBZ0%2Bl0%2BOmnn1C%2BfHl06NBB9P7SpUujRYsWSEtLEzpKJBIJmjdvbvLvVahQwep/u4uLi3CsQ0JChM/uW2%2B9ZTI1sVatWsLP/fr1EwLrHTt2YMyYMRaD5PDwcCFoBJDrompt27aFh4cHkpKSoFKpcOzYMZNBcnaGo4hNmzY1%2Buxu2rQJs2fPFj2X9f2RyWRISkrC48ePhe%2BEqZt8e23fvl3Ybtu2bUUjb2%2B//TbmzJkDIHOfmwuslUolOnXqJNz47d6926rA%2BsqVK8INs0wmy3G/njp1CqNHjxZGMYH/O49mPz8/ePAAH374IdauXYvatWtbbINWq8XIkSOFz5ePjw8qVaoEACbPz/fu3ROCaqlUinLlyqF48eJQKpVITExEWFgY0tLSAGSm4r7//vvYvn27yfNZlvT0dAwdOhSXL18WnpNKpahevTq8vb0RGRmJ8PBwPHr0CJ9%2B%2BinGjBlj8d%2BVJT/3XX64ffu2qKOpevXqOb42OjpaFAi4u7ujYsWK8PDwgEajEToNgMwVQ%2BbMmYO0tDSMGDEix23OmjULf/75p/BYKpWiUqVKKFGiBCQSidBxkpqaCgAmO1iy6PV6TJ061SgLo1KlSihZsiTUajXu3buHlJQU6PV6bN%2B%2BHREREVi1apXdBdtOnDghun716dMnV9vp3LkzZsyYIdwbHTt2rEAD66xq5VlcXFxQsWJF4VwVGRmJx48fQ6/XQ6vVYs2aNUhISMCsWbPytV3FixdHixYtoNPpcO7cOeF5U5XvAaBq1aoAMs9zffr0Ee6FtmzZYlVgffLkSbx8%2BRJA5ki3Ndcgaz1%2B/BhTpkwRzhGVK1eGr68voqKi8PDhQwCZn%2BW1a9ciLS0N06dPt/tvRkREYODAgaJjq1QqUa1aNSiVSoSHhyM6OhpAZpA9dOhQLFiwAB07dhRtJ7fHgRyLgXURFhsbKxq5K168uNFrIiIiMGrUKOHC4efnh4kTJ6J58%2BaiNL6bN2/i//2//4fQ0FCkpKTgq6%2B%2Bwq5duyyOwh44cAAqlQq%2Bvr6YOnUqOnToIPSm6nQ6o2VuNmzYIAqqq1evjvHjx6NFixaiXli1Wo1//vkHW7duzbEH8ciRI6Kgun379hg7dqzoZkWn0%2BHQoUOYPn06YmNj8fDhQ0ydOhWLFy82%2B%2B8CgF9//RXx8fFo2LAhpk6dKhrpiI%2BPx7Rp04T0sCNHjiAkJES0fIpUKhUquxummA8ePNhh61hHR0dj0qRJwk2Jj48Ppk%2Bfjo4dOwr7OTExEYsWLcK6deswa9Ysq3twJ0%2BeLATVzs7OGDFiBPr37y/6DCUkJGDx4sVYt24dgMxRzQYNGhgFwdnpdDqhpsCwYcMwZMgQUcB69epVjBo1Srg4z5o1yyhVtWXLlmjZsqUobdvwGNmjZMmSwnYM17GeMGGCxXWsO3XqBG9vb8THxyMqKgonTpywuD8MR5EaNmyY6xRBhUKBTp06Ydu2bQAyA2ZLNzVarRb79%2B8XHmcfiVWr1Zg/f77wuFOnTpgwYQLKly9vtK2wsDAcPnzYaJ3pvLBz507h56w08CxBQUGYN28edDodTp8%2BjejoaJQoUSLHbQUFBQmB9cmTJ5GYmGgxRXb37t3Cz4GBgSa3//jxY4wZM0a46atZsyYmTpyIpk2bij67165dw7Rp03D37l0kJSVh3Lhx2L59u8U0y927d0OlUqF06dKYOnUq2rVrJ3yftVotnj9/Lnq9k5MTgoKC0K1bNzRt2tRo%2B%2Bnp6di3bx/mzJmDmJgYREVFYcaMGWZHmpcuXSoKqrt06YLJkyeLUpfv3buHadOm4erVq5g3b57Zf1OW/N53eU2j0Yj%2BbZ6enmjdurXZ91SqVAl9%2B/ZFu3btUKVKFaPfh4WFYdGiRcL3cenSpWjfvr3J0dsnT55gw4YNwuOBAwfiiy%2B%2BMMrg0ul0CA0NxYEDB/Dvv//m2LYVK1aIgur3338fw4YNE4oDApnngi1btmD27NlIT0/HhQsXsGjRIqP6MLYy/Dw5OTnlek1wFxcX1KtXTxgYyOusGWuUKlUKffv2RYcOHeDv7290vX3%2B/DlWrFghHLvg4GB07NgR7dq1y7c2vfnmm1i1apXR%2BsnmKt9n6du3L5YtWwadTocrV67gwYMHJj%2B7hgyvZ927d8/T7%2Bb333%2BPlJQU1KtXDzNnzhQFn/fv38eUKVOE%2B5a//voLzZo1szojyRSdTocJEyYIQbVUKsXnn3%2BOIUOGCPdCOp0Ohw8fxvTp0xETE4OMjAxMmDABu3fvFmUA2XMcyHFYvKwI279/v2ik56233jJ6zbRp04RRoXr16mHz5s1o0aKF0dy4OnXqYP369cJ802fPnol6tnOiUqng6emJDRs2oHPnzqLgOGvEI0tkZKRoDmfDhg3x999/o3Xr1kapTQqFAq1atcLChQvxzTffmPy7hvNlP/roIyxdutRoBEAqlaJLly5Yv369cLI%2BfPiw6MKck/j4eDRt2hRr1qwxSh/09vbG/Pnz4efnJzxXFAohLVy4UPg8KJVKrF69Gp07dxZdzD09PfHtt99i6NChSEtLE40G5WTfvn3C/HClUok//vgDQ4cONeqY8fLywrfffovRo0cLz82ZM8fiiKVer0dCQgJmzJiBsWPHGo0C16tXD4sXLxY%2B10%2BfPjVK3y%2BsFAoFevfuLTy2lHqp0WhES0jZuwSYYWB86tQpozT77M6dOyf0tjs7OxvNLb9y5YrwGatYsSIWLFhgMqgGMnvYhw0bJgpC88KlS5eEVHVvb2%2B0atVK9PtSpUoJnWAajcbiPN6mTZsKo7JqtVroUMuJRqPBgQMHhMc5pYF/%2B%2B23Qqdn48aN8ffffyMwMNDo/Fy3bl1s3LhRuCkMDw%2B3ag6iSqWCj48PNmzYgA4dOoi%2B5zKZzCiNOysDqF27diZvbp2dndG7d2/R%2BfTIkSN48uSJyb8fFRUl6rjq1q0bfvnlF6P5wH5%2BflizZg0CAgIQFxdn8d8F5P%2B%2BywsajQaRkZHYv38/PvjgAyGAk0gkmDp1qtmMoEaNGuHAgQMYMmRIjoFJ1apV8csvvwjnAK1Wiz/%2B%2BMPka0%2BfPi2MQLdo0QJTpkwxeXMulUpRp04djB8/HitWrDC5rfDwcCxcuFB4/N1334kq7mdRKBQYMGAAli5dKnz2Vq9eLXSA5pbhlDY/Pz%2B70ssNsxfi4uKEDIeCUL58eRw9ehQjR45EzZo1TXZilylTBtOmTRNlcmTP%2BCtMypQpI6pnY%2Bl6Fh0djZMnTwqP83pJy7i4ONSpUwdr1641GtGtVq2acN7JMmvWLLsqxO/evVuUTfbtt99izJgxonshqVSKzp07Y82aNcI5ICUlxSjLi4omBtZF1MOHD0UXNoVCgTZt2ohec/fuXWHNVoVCgXnz5sHFxSXHbbq6uuK7774THlt78zFy5EhUrFjR4uvWrVsnpMF5eHhg/vz5VqUam3pNcHCwcANWvXp1i%2BnEVatWFa1Zu2nTJot/Vy6XY9asWTletOVyOT788EPhsSN6u22hUqlEAcynn34qSknObuTIkVanQ2cVgwIyC2JZKjg3bNgwYZQ1PDzc5Dyk7LKKnuXkrbfeEk1fKOzHw9B7770n/Hzq1ClhxNuUEydOCCmiHh4eZtOYrdGkSRMh0MnIyLAYNBoGoe3atTPqPHnx4oXw85tvvmnV3O%2B8njNo2PHQuXNnk99hw1FsS51i2VO5LQXiZ8%2BeRWxsLIDMUbHsKX5A5vSQrBRtFxcXzJ0712xRNHd3d0ydOlV4bM05DMgs0mTNPGjA/JxfQ1WqVBE%2BszqdLsf529u3bxemzLi5uWHq1Kk5FjxzcXGxOg2zoPadLQIDA%2BHv7y/6LyAgAK1atcKYMWOECuDVqlXD0qVLjbIosnNxcbG6ONy4ceOE71lOx8LwnNKgQQOrtpvT9/KPP/4QjmuHDh3wwQcfmN1OixYthM6ljIwMi8GWJYadL/auP529MyDre1sQFAqF1Wnxn332mdARcvHiRaEQZGFkeD3buXOnaMpidsHBwULdAT8/vzwvcieRSPDDDz/kWDvExcUFM2bMEL5rz58/x4kTJ3L99zZu3Cj83LBhQ9E9Ynb%2B/v6iAqlHjx41yiKiooeBdRGiVqvx4MED/P7773jvvfdExco%2B/PBDo3mOhumVHTp0sFiFGQDq168vvO7FixdCxcycODk5iUbbzNm3b5/wc58%2BfeyqAmz4bxswYIBVN%2BaGo0YXLlyw%2BPqWLVtavGgb3qA8evSoUK%2BFef78eWH0WSqVWrwZUigUogtkTsLCwoQRBCcnJ4vbzfr7PXr0EB5bczysaYthutSDBw8svr6wqFKlipDOqNVqRYFhdoY3pT169LCq2Jg5UqlUtASVudHjtLQ0UeV6UyOxhgHOvXv38mX%2BtDlpaWmiVPWcApjOnTsL%2B%2B7OnTsmi18ZMtxOSEiI2c4Pw33Yvn17k52DhuewLl26WHU%2BDAwMFEbOHz9%2BbPEmTKlUmi2aZg/DDKmbN2%2BafI3hSFTnzp0tpi/WqVPH5EoK2RXEvssPlSpVwvvvv48mTZrk6XZ9fHyETtD4%2BHghW8OQYeeSpc%2B6OTqdTtSxNGjQIKveZ%2Bv1Nyd6vV5Ud8XS8lqWZJ/SYSljx1Hkcrnw3dDr9bh165aDW5Sztm3bCvej0dHRZgPVrGlIQN6PVgOZ9wSWChbWrl1b1ClvWBjPFjExMbh27ZrweODAgRbf8/777wvXIa1Wa1dQT4UD51gXUiEhIVYvd9SqVSuMGzfO6HnDdGdbLuR%2Bfn5COtTt27eFYjc5vdaaC5thoRUAJpcmslZqaqqw9BJg/b%2BtbNmywlInL1%2B%2BtDiv0pribYZLWun1eiQnJ8PLy8uq9hQ0w5tfPz8/q4qltWrVyqg4XHaGKdcBAQFW3%2BgYpu2bqlafna3Hw1zRu8LovffeE1LItm3bhqFDhxqNWL18%2BVLIQgHy7kbk7bffFpZeuXjxIl68eGFyubZjx44J6bfe3t4ml7AzTK28e/cuJk%2BejK%2B//tpkDYj8cPjwYaFCcdmyZXMcnXN3d0fbtm2FIDw4OBiTJ0/Ocbu1a9dG5cqV8fDhQ%2Bh0Ouzdu1e0Fm6W1NRUHD16VHicU2Cb2/Nz9erVhYyF0NBQoxE3QzVr1sz1fMVr167h6tWrCAsLQ2JiolCEKovhqKGpTgadTper83STJk0sng8KYt/ZKqeCQiqVCk%2BePEF0dDTCw8Pxww8/YNmyZZg9e7ZVS0ACmfv67NmzuH37NiIjI6FSqYxGAQ3TqyMjI42yjQy/lwcPHsTChQvx6aef2ryaxb1794Rzq5OTk6gz0xzDaVOGnwtbZWRkiIqq2VsILfv7s4rzFTSVSoWzZ88iNDQUERERSE5ONlpRwbBDxFzHnqNlFTFbtmwZgMzOYFNZO5cuXRIGbxQKhcUsjtzIKipqScuWLYW51rnttLh%2B/brws0Qisepvu7u7o2HDhsI0kRs3blg1OEGFFwPrIszHxweDBw/G4MGDTc7N%2Be%2B//4SfN2/ebPUayYbrYVua72ZtimFW9cUs1oxKmNuW4ZIl33//vdUFtgzfFxcXZzawNve7LNlHC9PS0gptYG04imGuGq2hKlWqQCaTmR2JN/ycPX361OolugwzLqyZV2nN8TCc6uCoG6Tc6tKlC2bOnIn4%2BHg8evQIISEhRkHD9u3bhc9wrVq17PoeGapZsyaqVauG%2B/fvQ6/XY8%2BePSaX7jEcqcopxbp8%2BfJo3769EFwGBwdj9%2B7daNy4MQIDA1G/fn3UqVMnT5bdMcVwtD8oKMhsOm1QUJAQWO/ZswcTJkwwm7oeFBQkTMHZs2ePycD62LFjQmaIj49PjlXnDb8369evt2q9ZsC283NOc9vNOXz4MObMmZPjqg6mZF9qCcj8fhvWZ7BUwMiW1xXEvrOVpYJCt2/fxpw5c3Du3DnExMRg%2BPDhWLFiRY5r0gKZaclz5szB7t27zabTZmcqTbhFixbCdxwAlixZgtWrV6N58%2BYIDAxEvXr1cpznayjr/UBm8GBqnV1TDK8hiYmJ0Gg0uVoiUKFQQKlUCud3w9VOciP7Z9eWlTDyQkpKChYtWoS//vrLqnomWQpzKjiQ2em7fPlyoUBkZGSkUWaJYfG7rCKeec2wQ8ccw3siW859hgzvscqWLWt1p5Wfn58QWJvKNqGihYF1IeXl5WW0lrRCoYCHhwfKli2LunXrIjAwMGe1GQMAACAASURBVMebU41GI7pgWDMiaIqlk7e1FyHD9CpXV1e70lezr9dtuAyBLSz923LTE17Qaa%2B2MBzBtfYC5uTkBDc3N7Ojv4bHIzo6WrhA2MLUjbkhmUxm8zzcwnwsTFEoFOjZs6dQfGjr1q1GgbVh2lxeLwsTFBSEBQsWAMhMZc4eWCckJODUqVPCY3OjCz/%2B%2BCOGDRsmjABkZGQI674DmR0gTZo0Qc%2BePY2KHtojMjJSdD6wNALSqlUroSJ7TEwMTp06Zbba7ttvvy0E1qGhoQgLCzMqiGOYBt61a1eT55HsI465HSGx9L2xNUhYtGiRVSsmZGdqrfLs51drM1ksVVsvqH2X12rVqoUVK1bgk08%2BQUhICDIyMjBp0iQcOnTI5HX82bNn%2BPDDD41W1rCGqeMhk8mwdOlSfPbZZ0LgkJqaiiNHjgipr56enmjZsiXeeeedHEfbDM/3arU6V%2Bd7IHP/5zaQ8vLyEgLr7PcDtsqe%2Bp0fwZ25v/3xxx/nagTf1DEuTMqWLYvmzZvj9OnT0Gq1CA4OxvDhw4XfJycni%2Bp55NcyZ9YeT8PXpaenIz093WzdBlMMz3nWLOlq6rVFLdOOjDGwLqT8/f3tWgYoax1Ke5lbxxKA1SPFhhcBe0eqbOnVNcfSv%2B1VY3gMbOk0sHS88uKz9rodi5z069dPCKwPHTqEqVOnCoHGhQsXhBtipVKZ52lzPXr0wC%2B//AK9Xo87d%2B7g/v37qFatmvD7gwcPCgGNuRRrIPMmZePGjdi5cyc2btyImzdvijo6UlNTceLECZw4cQLVqlXDvHnzLM6Ds8bOnTtFn6X%2B/ftbfI9hgLVjxw6zgXX58uVRt25dYR7dnj17RBXu4%2BPjRYFGTseosJ2fgcwaDIZBdYUKFdC3b180aNAA5cqVg6enJ5RKpZABcPz4cbOjlbnt2LL0voLad/lBLpdj1KhRQkGj58%2Bf48iRIyaXuBs/frwQVMvlcnTt2hXt27dH9erVUapUKTg7O4vOze%2B8847FDvSKFSti165d2LRpEzZv3mxUhyIxMRF79%2B7F3r170bhxY8yZM8doSkhhuP6WL19eSIU2zELIDcP3S6XSXC9dmBvff/%2B9KKhu164dOnfujJo1a6JUqVJwdXUVHeNRo0ZZLC5ZmPTr10%2BYurRt2zYMGzZMOH/s3r1b%2BC6XL18eTZs2zZc2WHuvk/0%2BR61W2xxY58U9VmHvMCHLGFi/otzc3CCVSoWL18aNG62uBJofDEcr7E3dMhzRcHJywo0bN2y6gXxdGaYl2XIMLL3W8Hj07dsXP/zwg%2B2NIwCZ1esbNGiAy5cvIy0tDbt378aAAQMAiIuWde7c2e6iPdmVK1cO9evXF%2Bav7t69G2PHjhV%2BbzgS26NHD4sVi6VSKXr37o3evXsjJiYGFy5cwOXLl3H%2B/HmEhYUJr7t//z4%2B%2BugjBAcHW1Vg0ZzsRd9sHc06duwY4uPjzY5yvP322zkG1gcOHBA6H8qVK5djdfzso7Lbtm0TzYF1hOXLlws/N27cGCtWrDCbWWTLeQGwPnXV0usK476zRd26dUXX5suXLxsF1pcuXRK%2BhxKJBEuXLrW45rW153SlUolPPvkEn3zyCZ4%2BfYqLFy8iJCQE//zzj2h0PCQkBB999JHRmt%2BG%2B9/Pzy/Pl8qzRv369YXaHlFRUXj%2B/Hmu58sb1h6pUqWK3cUgs1jqIHr%2B/LloCsN3331ncW6tvfdOBa1t27bw9fVFVFQUnjx5gn/%2B%2BUeY%2BmB4PXv33XetroBvK2v3meHrJBJJrqYE5PY%2B17BzN6%2Bv61TwGI28oqRSqSi9JLdzRvJKVjVWIDMt9OnTp7nelmERpIyMjFylyr2ODPebtWt1xsbGWhwhMpxX6OjP2avAsPp5Vup3UlISDh06JDyfH9VTAXGhLcObvsjISFGROlsrTRcvXhzdunXD1KlTsW/fPuzfv1%2BU%2BhcfHy8K7HLjxo0booA9NzIyMrB3716zr%2BnataswN/Tx48eigjWGQYa5faRQKEQdXY7%2B3qjVatHxnTBhgsUAw9JaxN7e3qKAzNoq/ZZeV9j2na2cnJxE%2B8XUfjScztC6dWuLQbVerxfWlrdFuXLl0Lt3b8yaNQvHjx/Hli1bRH8rPDwcmzdvFr3H8Dry9OlTh6yEkbWCQhZL39mc3Lt3TzRfP/uSpVkMRx8N67TkRKfTWewgOnfunBB8V69e3aqCVfau/13Q5HI5%2BvTpIzzOCqbv3LkjTOGQyWRWryyTG9be6xjek/r4%2BORqsMbwnvvZs2dWZ%2B08efJE%2BNnSyglU%2BDGwfoUZLodizTrB%2BalGjRqitBrDmzhbVa5cWVQgzNH/NmsYnqQdNfe3Zs2aws%2BhoaFWpeJlrb1qjmG17mvXruVZqmB%2Bye9jYW/2RNeuXYXPd2hoKG7fvo1du3YJcworVapkdGOZVwznBD99%2BlRYC3zPnj3C56VGjRpWF7/LSZUqVTBz5kxR8JnbuZpZDNeibtSoEe7evWv1f4ZriZpb6gzIvPExLEiWFUw/f/5cVK3aUueD4ffG0eewqKgoYaRdJpNZVRQva/58TqRSKWrVqiU8tnaJpaz1qc0pTPvOVhkZGaJzpKl0U8OlwLLXWjHl3r17eTJn/M0338SyZctEawln/14a3lekpKSIlhcqKM2bNxcthbl58%2BZcpdBu2LBB9Din76zh6KU1y3GFhYVZvL7aeowTExNFheMKQl5kAvbt21cYjT58%2BDASEhJEo9WtWrWya%2BlVS3JaCtDc6wzPW7YwPG8mJydb3Zlo2Dlr6m8zI7No4dF6hRkWHzl8%2BDBiYmIc1haFQoGGDRsKj7P3gttCKpWK5uP89ddfdrWtIBhWq05PT3dIGwz3f1xcHP755x%2BL77FmJKBx48ZCMKZWq0UBTmFkeCx0Ol2ez2mytzK5s7OzaG7u1q1b87VomSFvb2/ReSMraDQcvc7LdZE7dOgg/GzP%2BUmtVmPfvn3C486dO9v0/i5dugg/WzPybbgP9u3bB61Wiz179ggdNQEBAUZFzbIzDM7379/v0PVzrRmFMxQbG2vVequGo5%2BHDh2yWIk7NDTUqmJkhWnf2erq1auioMvU9AdbKoADljuDbCGTydC2bVvhcfbvZcmSJUWVlh1x/ZXJZMI8dSAza8HWmjS3bt0S3Ye0atUqxzoPhmnm9%2B7ds7htw%2BX2cmLrMd61a1eB1wVQKpWioC4317Ny5coJ39f09HRs3bpVlNmTX9lXWY4cOWLxGq9Wq0VrV%2Bd22mT25WetWa3g5s2bolVzDO/TsuTFcaCCw8D6FdarVy9h5Cs1NRUzZsxwaHsML4SXL1%2B2KwD7%2BOOPhZ9v3bpl1PNc2BimwjtqOQV/f3/RqPXChQvNXqjv3btnVWDt5eWFXr16ibZrbfqVI3h7e4tS%2BwzTsPKC4bJguT3W/fr1E37eunWrUJRILpfna9ocIC64deDAAdy9e1cosCOVStGjRw%2Bz77clC8Bw5M6eZeqy5kYDmfPjOnXqZNP7/f39RUWLLAUqHTp0ENJ5Y2JicO7cOdHNojWF5d59911hJCw5OdmhtQmKFy8ujCpptVrRCIopP//8s1UdUr179xa%2Ba5b%2BjWlpafjuu%2B%2Bsam9h2ne20Gg0WLRokeg5U2tZG14vLGUGhIWFWXX9y8vv5aBBg4Sf9%2BzZY3e2SW58%2BOGHosyZxYsXWxXQAsCLFy8watQo4frn7OyMSZMm5fh6w1HEkJAQsx1EsbGxWLduncU2lCxZUvj56tWrZo9PbGwslixZYnGbeU0ikYhS/3N7PTOc3vTrr78K52pfX1%2BL0xzsFRMTY/F4rFmzRjimUqlUdD9jC7lcLnrvunXrzKbv6/V6zJ07V3hctmxZNGvWzOh1eXUcqGAwsH6Fubm5YeTIkcLjAwcOYPz48RaLKiQmJmLdunUYN25cnranbdu2op7AqVOnWryBzSm4q1%2B/vujmeebMmVi7dq3FHt2nT59i9uzZ%2BP33321svX0ML8z79u1DVFRUgf79LJ999pnw89WrVzFjxgyTc%2BQiIiLw5ZdfWj1/7osvvhBuwOLj4zFo0CCLFWp1Oh3OnTuHwYMHF%2BiFQi6Xi0Zc/vjjjzwdCTBMB9u6dWuuUjSrV68uFL4yzHBo06aNVet526Ndu3ZC0BIbG4upU6cKv2vUqJFRleDsli9fjhkzZhitXZ9dXFycaJTJnvR2w/NI3bp1c5VaaDjKnb26eHYuLi6i0fZFixYJ1YWlUqnJKs/ZeXp6ilLQd%2B3ahcmTJ1ucSpGQkIA1a9bgm2%2B%2Bsfg3rOXu7i46R/30008m26HT6bBgwQKrO0V9fX1F69rv2bMHX331ldHN5n///YdPPvkEN27csGqZmsK076x1%2B/ZtfPbZZ6JU90aNGpkcoWrcuLHw85kzZ3KsBP3gwQN89tlnVmVBTZs2DQsXLhSqaeckPDxctL6wqfb16tVL6KTV6XQYOXKksB68OXfu3MGkSZNE2SW55ezsjLlz5wqp9BqNBqNHj8bKlSvNXrfOnz%2BP/v37izp/p0yZYnb99MDAQKFoW3p6On744QeTgXBcXBy%2B%2BOILq7JvDM93Dx8%2BxNq1a02%2B7uXLlxg8eDBiY2MtbjM/GJ4XNmzYYPNIO5B5TcnqLDL8rPbu3TtXa5nb6pdffsHx48dN/u7IkSPCEooA0L17d9E0A1t99NFHQtZacnIyhg0bZvLYabVazJw5U5Q5OHTo0BzTvvPiOFDBYFXwV9zAgQNx7do1ISVl165dOHXqFIKCglC/fn0UL14cer0eCQkJuH//Pq5du4bz588jIyMD9evXz9O2SCQSzJ07F3369EFsbCwyMjIwceJEbNy4Ed26dUOVKlXg6uqK%2BPh43LlzB6dPn8a1a9fw7rvvonv37kbbmzVrFu7fv48HDx5Aq9Vi1qxZ2LRpE7p3746AgAB4eXkhPT0dsbGx%2BPfff3Hx4kVhzrC5ZWLyQ%2BfOnTF79myh2Fq7du0QEBAAb29v4UTq6%2BuL6dOn52s7unfvjp07d%2BLkyZMAgE2bNuH69evo27cvqlSpgvT0dFy6dAmbNm1CUlISGjVqhPDwcIsdAW%2B88QbmzJmDL774AhqNBk%2BfPkWfPn3Qpk0btGzZEhUrVoRSqURycjKePXuGW7du4fTp08J2C3reeY8ePYTA/%2B%2B//8axY8fg5%2BcnKtgUFBSErl272rzt7t27Y82aNQAyU1tbtmyJgIAAeHh4CKOCNWrUwKhRo8xup1%2B/fkajVfmdNgdkpp116tRJCJ4MRy%2BtSQNPTU3Fhg0bsGHDBgQEBKBJkyaoVasWSpQoAYVCgbi4OFy/fh3btm0TbkDlcrnRutnWiomJEZZ0AcRp3bbo0qULfvvtNwCZxdrOnz8vSjnOLigoCLt27QIg3kdNmzYVjUaZM3jwYNy4cUMInLZt24Zjx44hKCgI9erVQ4kSJaDT6ZCQkID//vsPV69exYULF5CRkSFU180rgwYNwsSJEwFk1kro1asX%2Bvfvj5o1a0Kr1eL%2B/fsIDg7Gv//%2BCyBz1NhwrmROvvzyS1y8eFGYf753717s378ffn5%2B8PLywsuXL4VOmBIlSmDMmDGYMmUKAPNL/RWmfQcAY8eONRkkpKSk4MmTJ0bn0DJlyuCnn34yua1WrVqhUqVKCA8PBwCMGTMGvXr1Qrt27eDj44PY2FicOXMG27dvh1qtxptvvom0tDSzacoJCQnYvHkzli1bhoYNG6JBgwbw9/eHj48P5HI5Xr58iUuXLmH79u1CB4W3t7fJolpOTk5YtGgR%2Bvbti7i4OKSkpGDMmDFYtWoVOnXqBH9/f7i5uSE1NRVRUVG4ffs2zp49K8w5zaullWrUqIHly5fjyy%2B/FNY3nzNnDjZt2oRu3boJ552kpCQ8fvwYhw8fFtV3kUgk%2BPrrr0UjqqYoFAoMGDAAy5YtA5DZQfT8%2BXO89957KFeuHJKSknDlyhVs3rwZ8fHxaN26Na5fv252VQI/Pz80bdpUCKx%2B%2BuknXLp0Cd27d0fJkiWRkJCAS5cuYfPmzUhOTka5cuVQvnz5Aq8p0KNHD%2BF%2B4dChQ2jRogVq1Kghmnfepk0bs/vQyckJvXv3Fg1oSCSSfJ3WlKVr167Yv38/hg8fjq5du6Jjx45CpfLDhw9j//79wv1HsWLFzGYuWKN8%2BfIYP368kCEaGhqK7t274/3330fdunXh7OyMBw8eYMuWLaKl1lq0aCHKVMsuL44DFQwG1q%2BBn3/%2BGSVKlBB6ROPj4/Hnn3/izz//LPC2vPHGG9i0aRM%2B%2B%2BwzYZTy%2BvXrFlMPTXF3d8fGjRsxevRooTBOeHi4Q1KmLClZsiQmT56M77//XpjXmz1oqlChQoG0Zf78%2BcLoEJA5kmIqoM8Kls2d7A21bt0aK1euxJgxYxAfHw%2B9Xo/jx4/n2FPsSB9%2B%2BCGOHTuGixcvAsgs3pT9xje3S/jUqVMHQ4cOFW4iUlJShL%2BTxZoCb127dsWPP/6IxMREAECpUqVMpo3mh6CgIKNRSYVCYfPc5dDQUIuZC3K5HLNmzRJNU7DF7t27RXOEbU0Dz1KzZk1RMLN9%2B3azgXXz5s1RvHhxo9EpW%2BagSyQSzJ8/Hz/%2B%2BKOQzhsXF4d169ZZlU6al3r16oVTp04JGUKPHj3CrFmzTL525MiRCAgIsCqwVigU%2BP333zFu3DhhXrZOp8OdO3dEr6tYsSIWLVokynQwrP6dXWHadwCsqlmRpXXr1pg%2BfXqOS0TJZDLMmzcPAwcOREpKCnQ6HYKDgxEcHGz02rJly%2BKXX34RZaeZo9PpEBISYrFInIeHB5YsWSJKQTVUvnx5bN68GcOHDxeKat28edPqYlF5JTAwEH/%2B%2BSe%2B%2BeYboWPh6dOnFrPSfH19MXPmTKtTkYcNG4Zz584J9yqXL18WFSvMUrNmTcydOxcdO3a0uM0ff/wR7733nlDR/ciRI6K5vlm8vb2xcOFCu1dOyI2goCAcOnQIhw8fBpB5/5j9s24piwnITAdfsWKFEMQ2atQIFStWzPsGZ/Ppp59Cq9Xi0KFD2LdvX47ZEh4eHli5cmWOn3dbDBgwAMnJyZg/fz6AzMyvpUuX5vj6Zs2aYdGiRWaXHMur40D5j6ngrwGZTIZJkybhr7/%2BQsuWLc2m3kgkEgQEBGDMmDFYsGBBvrSnUqVK2LlzJ0aNGmV2aQEnJye0adNGtFxDdj4%2BPli7di3mzZuXY%2BGRLAqFAs2aNcMPP/wgSokuKP3798fff/%2BNvn37ws/PD%2B7u7g6p9uju7o7169dj8ODBJpfUkclk6NSpE7Zt22bz2qCBgYHYv38/hgwZYnYtYCDzxqZPnz5Yv359gVxgDSkUCqxduxY//vgj2rRpg9KlS%2BfZ%2BqUAMG7cOKxduxZBQUGoVKkSXF1dbV6nU6lUijpb3nnnHchksjxrozlNmzYVzfMEMnvDs68hbEq3bt0wYMAAix1Fcrkcbdu2xfbt262ak5wTww6AN9980640PsOOg8OHD5tN45fJZEYp387OzjYH9nK5HNOmTcOGDRvQvHlzs8dYKpWidu3aGDduHGbPnm3T37HG3LlzMWLECNFyUIYqVaqExYsXY8SIETZt193dHcuXL8fSpUvRqVMnlCpVCk5OTvD19UX9%2BvUxdepUBAcHw9/fX9RRYSktvDDtu5wolUr4%2BvqiUaNGGDx4MHbs2IHff//d4rm1du3a2LRpk6hCtyGFQoGePXtix44dVq3//uGHH6J3795G32tT7e3duzf27NljMg3cUIUKFbB9%2B3ZMmTIF5cqVM/tad3d3dOjQAb/%2B%2BmuuMoHMCQgIwI4dO/D999%2Bjdu3aFs%2B1gYGBOHTokE3ze5VKJVavXo0%2BffqYvG4rlUr0798ff/31l1XnSSCzU2TLli2igpGGsgrJ7dy506pK/flBIpFg0aJFWLBgATp27IiyZcuKCnRaq0yZMqL9UhDZV0Bm%2B3/99VeMGjUqx%2BPSsmVL7NixI0/38eeff47169eLVjDIrlSpUpg2bRpWrlyZ4zk3S14dB8p/Er2j1v4hh0lOTsbly5fx/PlzxMfHQyaTwdPTExUrVhRSwwqKTqfDrVu38N9//yE2NhY6nQ5eXl6oXLky6tSpY/Fkk11kZCSuXr2K6OhoJCYmQqlUolixYqhcuTL8/f3zNHh6FSQnJ%2BPcuXPCfLNSpUqhQYMGebL8hU6nQ2hoKP777z/ExcVBrVbD3d0dpUuXRrVq1UTFosjYgwcPhBtQiUSCw4cPo3z58g5ulW2ioqJw584dPH36FImJidDr9XB3d0eFChVQp06dAj3XFBVJSUnC%2BTkhIQEymQxeXl7C%2BdlSh1VeteHChQt4/PgxNBoNSpYsiapVq1q1LJC9Jk2aJIzMjhkzBsOHD7f6vYVh3%2BWHO3fu4Nq1a4iPj4eHhwdKlSqFxo0bWx3AZffkyRPcv38fERERSEpKgkQigaenJ6pUqYLatWuL0ktt8fDhQ9y6dQsxMTFISUmBq6srSpQogapVq6J69eoFMp8WyDzvXL9%2BHTExMYiNjYVGo8HevXuFbAiZTIaFCxeK6iTYIjo6GufPn0dkZCTkcjnKlCkjmoedG%2BHh4bh06RJiYmLg4uKCkiVLomHDhvleU6OgHD16VKiL4OXlhdOnT5tcai4vNGnSREjD37p1q3DeSk9Pxz///IOnT59CpVIJ%2B9hSp5C9IiIicPnyZURHRyMjIwPFihWDv7%2B/VZ1AVPQwsCYiKoRmz56N1atXA8hMO876mehVlZSUhNatWwsFNteuXZsv86Hp9fP8%2BXP0798fERERADKzS1avXm1xVJ7yxueffy5MBRk4cKBQRyE/5BRYExUEpoITERUyCQkJosq8pgoIERUV1vTf63Q6TJs2TQiqy5YtiyZNmuR30%2Bg1UaZMGaxevVqYfpaeno7hw4dbtS412efevXtC4S0AeP/99x3YGqL8xcCaiKgQSU1NxbRp05CUlAQAqFy5Mtq1a%2BfgVhHl3pAhQ7BkyRKEhYWZ/P3169fx6aefigoLDR8%2B3CE1KOjVVblyZaxatUooipeYmIghQ4YIo9iU92JjYzFlyhShc61t27aoVq2ag1tFlH9YFZyIyMHWrl2LkJAQpKam4s6dO6J1L8eNG1dgRcuI8kNkZCQWLlyIhQsXwtvbGxUqVIC7uztSU1MRHh6OuLg40es7d%2B5cYMWN6PVSq1YtrFq1SrRE35UrV%2Bwqekhis2fPxqNHj5CUlITQ0FAhC0Uul2PMmDEObh1R/mJgTUTkYLdu3cLRo0eNnu/Xr59Vy7YQFWaGBXri4%2BNzXN9XLpdj4MCBGD9%2BfEE1jV5DdevWNVutmexz4cIFk8ssjh8/3uLqLURFHQNrIqJCxNXVFdWrV8d7771ndqk5oqLizz//xPHjxxESEoI7d%2B4gIiICKpUKEolEqNrduHFjvPPOO0Wu8j0R5czDwwO1a9fGxx9/jDZt2ji6OUT5jlXBiYiIiIiIiOzAyiBEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdmBgTURERERERGQHBtZEREREREREdpA7ugGOFBWV5OgmvPKkUgmKFXNDbKwKOp3e0c2hQo6fF7IVPzNkC35eyBb8vBQtvr4ejm4CveY4Yk35SiqVQCKRQCqVOLopVATw80K24meGbMHPC9mCnxcisgUDayIiIiIiIiI7MLAmIiIiIiIisgMDayIiIiIiIiI7vNbFy4iIiIjodaGHRBIHmewJpNLHkEpjoVa3gE5X1dENI6JXAANrIiIiInoF6CGRREMmewSp9AlksieQyR4JgbRM9gQSifGKMBkZjZGW9gHS03tDry/mgHYT0auAgTURERERFWEaODvvhKvrr5DLr1l8tU7nA52uFAAFZLJbcHIKgZNTCNzdJ0Kt7oK0tA%2BgVncEoMz3lhPRq4OBNREREREVQalQKjfA1XURZLKHAAC9XgK9vjh0ulLQ6Ur%2B7z/f//2/FHQ6XwDOwhYkklgoFCehUByHTBYGZ%2BddcHbeBZ2uGNTqdwEMBlDLIf86IipaGFgTERERUZEhkcTBxWUVXFyWQSqNAgDodJ5Qq4OQnt4der2X1dvS64shPb030tN7Qyp9CIXiOBSK45BKY6FU/g7gd3h6Vkda2vtITf0Yer1vPv2riKioY2BNRERERIWeVBoBF5clcHFZA4kkGQCg05VEWlpvqNWdYG/qtk5XGWlplZGW9hHk8mtwdj4JJ6czkMn%2Bg5vb93BxWYn4%2BO3QajmCTUTGGFgTERERUaElk92Fq%2BuvcHb%2BGxJJBgBAq62MtLR3kJHRCnl/OyuDRtMAen1DODl9hdTUI1AotkEmewxv7y5ISNgMjaZpHv9NIirqGFgTERERUaEjlUbA3X0SnJ23C89pNHWQltYHGk1DAJICaIUrNJqOUKubwM1tH2nSaQAAIABJREFUBuTy2/D2fhuJiX9Are5aAH%2BfiIoKqaMbQERERET0f3RQKtfAx6exEFRnZDRDUtI8JCf/BI2mEQomqP4/er0HkpO/R0ZGE0gkafD07A9n5w0F2gYiKtw4Yk1EREREhYJUGgYPj1FQKE4DADQaf6SkjIBOV8XBLQMAJVSqyXB1XQyF4jA8PYcjOTkaqamjHd0wIioEGFgTERERkYNp4OKyGG5uP0IiSYNe74y0tEFITw8CIHN04wzIkZIyGjqdF5TKrXB3nwqpNAoq1QwwEZTo9cbAmoiIiIgcRia7AU/PEZDLrwEANJp6SEn5EjpdGQe3LCcSpKV9Ar3eCy4uq%2BDquhBSaRSSkhYDcHJ044jIQRhYExEREZEDpMHNbTZcXH6BRKKFXu%2BO1NQhUKs7oKDnUOdGevo70Om84er6C5TKTZBKY5GQ8AcAV0c3jYgcgDkrRERERFSgnJzOoVixZnB1nQeJRIuMjJZITFwGtbojikJQnSUjox1UqinQ652hUByEt3dPSCSxjm4WETkAA2siIiIiKiDJcHcfC2/vLpDJ7kOnKw6V6luoVN9Ary/m6MblikbTGMnJP0Cv94CT0wV4e3eFVPrM0c0iogLGwJqIiIiI8p1cfhnFirWEi8sqAEB6ehckJS1FRkYzB7fMflptLSQlzYZOVwJy%2Bb/w9u7CkWui1wwDayIiIiLKR1q4us6Bt3dHyGRh0Ol8kZw8E6mpI6HXuzu6cXlGp6uIpKQ50OnKQCZ7BA%2BPkQD0jm4WERUQBtZERERElC%2Bk0sfw9u4ON7fvIZFooFa3QlLSImg0dR3dtHyh15f8X1q7HM7Ou6FUrnV0k4iogDCwJiIiIqI85%2By8BT4%2BzeHkdA56vQtUqnFISZkAvd7D0U3LV1ptNaSlfQwAcHf/BjLZHcc2iIgKBANrIiIiIsozEkkCPDyGwNNzMKTSBGg0NZGUtAgZGe1QlCp%2B2yM9vScyMhpAIkmFp%2BenANIc3SQiymcMrImIiIgoT8jl5%2BHj0xxK5Wbo9VKkpn6I5OTZ0OnKOLppBUyKlJQx0Om8IZffgpvbNEc3iIjyGQNrIiIiIrJTBlxdv4e3d1fIZI%2Bh05VBcvJspKd/AEDm6MY5hF5fDCkpYwAArq6/QaE44OAWEVF%2BYmBNRERERLkmlYbB27sz3NzmQCLRQa3ugMTEhdBqazm6aQ6n0TRCenovAICHx3BIpS8c3CIiyi8MrImIiIgoF/Rwdl6PYsVawMnpEvR6d6hUE5GSMhaAq6MbV2ikpn4MrbYqpNIYeHgMA6BzdJOIKB8wsCYiIiIim0gksfD0HARPzy8gkaig0byJxMRFyMho5eimFUJOUKm%2Bhl7vDIXiGFxcFju6QUSUDxhYExEREZHVnJxOwsenGZydd0KvlyE19RMkJ/8Avb6ko5tWaOl0FZCaOhQA4OY2HXL5VQe3iIjyGgNrIiIiIrJCOtzcpsLL623IZBHQasshOXke0tPfxetaoMwWanVnZGQ0h0SS8b8luJId3SQiykMMrImIiIjILJnsLnx82sPV9VdIJHqkp3dDUtKv0GqrO7ppRYgEKSkjodP5QiYLg4fHBEc3iIjyEANrIiIiIsqBHkrlSvj4tIRcfgM6nSeSk6cgNfVLAEpHN67I0es9oFKNg14vgVK5Hs7O2xzdJCLKIwysiYiIiMiIRBIFL69%2B8PD4ChJJGjIyGiApaQk0mkBHN61I02rrID39fQCAu/toSKWPHNwiIsoLDKyJiIiISEShOIRixZpCoTgAvd4JKSlDoVJ9B72%2BmKOb9kpIS/sAGk0tSKWJ8PQcDEDj6CYRkZ0YWBMRERHR/6TA3X0svLzehVQaBa22EpKSFkCt7gneNuYlGVJSxkGvd4OTUwhcXH5zdIOIyE48QxIRERER5PLLKFasBVxcVgEA0tN7ISlpPnS6yg5u2atJpyuN1NTBAAA3t1mQSl84uEVEZA8G1kRERESvNQ1cXWfD27sDZLL70OlKIDn5B6SmfgbA2dGNe6Wp1R2h0dSARJIEN7epjm4OEdmBgTURERHRa0oqDYO3d2e4uc2ERKKFWt0KSUmLodHUc3TTXhNSpKYO%2B1%2BV8L/h5HTO0Q0iolxiYE1ERET02tFDqVyLYsVawMnpIvR6d6hU45GSMgF6vYejG/da0WqrQ63uAgBwd/8aLGRGVDQxsCYiIiJ6jUgkUfD0/AAeHqMgkaig0byFxMRFyMhoA0Di6Oa9ltLSBkKn84RcfgtK5UpHN4eIcoGBNREREdFrQqHYj2LFmsDZeR/0eiekpg5GcvIP0OtLOrpprzW93gtpaQMB4H9p%2BS8d3CIishUDayIiIqJXnESSBA%2BPUfDy6gepNFpYRis9/R3wdrBwUKs7Q6utDqk0Ae7u3zm6OURkI55JiYiIiF5hTk5n4OPTDErlWuj1EqSlvYOkpAVcRqvQkSEl5XMAgFK5HnL5BQe3h4hswcCaiIiI6JWUCje3b%2BDt3Q0y2SPodKWgUs1EWtpgAApHN45M0GprIj29EwDAw2M8AK1jG0REVmNgTURERPSKkcsvoVixFnB1XQoASE/visTExdBo3nJwy8iStLSPoNe7Qy6/BqVyraObQ0RWYmBNRERE9MpQw9V1Bry9O0Am%2Bw86XXEkJ3%2BH1NQRAFwd3Tiygl7vjdTUrEJmMyCRxDi4RURkDQbWRERERK8AmewmfHzawM1tLiQSHdTqtkhKWgKNppGjm0Y2Uqu7QqutAqk0Du7u0x3dHCKyAgNrIiIioiJNA1fXufDxaQO5/BZ0Oi%2BoVJOQkvI19HoPRzeOckWGlJRhAABn5z8gl192cHuIyBIG1kRERERFlEx2D97enf6XMpyBjIxmSEpagoyMFo5uGtlJqw2AWt0eEoke7u7jAegc3SQiMoOBNREREVGRo4GLy6/w8WkBJ6dL0OvdoVKNg0o1GXq9j6MbR3kkNfVj6PWucHK6BKXyT0c3h4jMYGBNREREVITIZKHw8ekAd/epkEjSkJHRAImJS5CR0Q6AxNHNozyk1xdDWtoAAICb2//D/2fvvsMjK%2Bv3j79Pm5LJJJttsHRYpPeywLK0pYpYkCKiCFJEkKaiIPyQDoL0Ik2agBThCypNirgIUqSXBUSQurRddjdlyqm/PzLJJptNn8mZTO7XdeWaZM6Zcz4TD3Hv%2BTzneQzjy5grEpHeKFiLiIiIjAoudXVn0dS0Nbb9AlFUTy53DG1tpxJFE%2BMuTiqkWNyNIFgJ0/ySTOaMuMsRkV4oWIuIiIhUOdt%2BnqambchkflO6l3oLmpt/h%2BvuiLrUtc4mnz8UgFTqOmz75ZjrEZElUbAWERERqVp5MpmTGDdue2z79dKM38fR1nYiUTQh7uJkhPj%2BerjuthhGSH39L4Eo7pJEZDEK1iIiIiJVyHH%2Bxfjx06mru7i0LvW2tLRcgedtjbrUY08%2B/0OiKIXjPEUy%2BX9xlyMii1GwFhEREakihtFCff3PGTduFyzrHcJwAq2tJ5HL/YIoaoy7PIlJFE2kUNgTgEzm10A%2B3oJEpBsFaxEREZEqkUj8jaamzUmnrwGgWNyZlpbf4fubx1yZVINicXfCcDKW9SF1dZfEXY6IdKFgLSIiIhIz0/yYhobv09i4F5b1IWG4NK2tZ5DPH0UU1cddnlSNFPn8DwGoq7sQ0/w45npEpIOCtYiIiEhsfNLpyxg/fhOSyb8QRRaFwh40N1%2BG728Yd3FShTxvK3x/HQwjRyZzctzliEiJgrWIiIhIDGz7GZqatqa%2B/gQMow3fX4uWlospFA4E0nGXJ1XLIJ8/hCgySKXuwLafibsgEUHBWkRERGREGcY8stkjaWraEdt%2BjTBsIJc7mtbWcwjDleMuT0aBIFgV190JgGz2eCCMtyARUbAWERERGRkRyeTNjB%2B/CanUjQAUizvR0nJlKSTpn2UycIXC94miOmz7eZLJ2%2BIuR2TM019wERERkQqzrNmMG7cLDQ2HY5rzCIKVaWk5l3z%2BaC2hJUMSReMpFPYBoL7%2BFKA11npExjoFaxEREZEKMYwFZDIn0tQ0A8d5iihKkc8fREvLRQTB2nGXJ6NcsfgNgmAZTPNT6uouiLsckTFNwVpERESk7DxSqSsZP34D6uouxTB8PG86zc1XUCx%2BG7DjLlBqgkM%2BfyAAdXWXYprvxVuOyBimv%2BoiIiIiZRORSDxAff3/w7L%2BC0AQrEg%2BfyC%2Bv0nMtUkt8v3N8f0Nse0Xqa8/iebmm%2BIuSWRMUsdaREREpAxs%2ByUaG3ejsXEfLOu/hOE4crkjaGm5VKFaKsgglzuYKDJJJv%2BM4zwRd0EiY5KCtYiIiMgwmOYcstkfM27cNiQS/ySKEhQK36G5%2BRpc96uAFXeJUuPCcCVcd1cA6uuPA4J4CxIZgzQUXERERGRIWqmru7h0D3UOANfdlnx%2Bf6Jocsy1yVhTKOxLIvEPbPtVUqk/UCj8MO6SRMYUdaxFREREBsUjlbqRCRM2IpM5B8PI4ftr09JyPrncLxSqJRZR1Eg%2Bvy8AmczpGMaCmCsSGVvUsRYREREZEJdU6lbq6s7Hst4DIAimUCgcgOdtCRixVifiul8jmXwQy/qAurpzaWs7K%2B6SRMYMdaxFRERE%2BuSSSl3H%2BPEbkc0eiWW9Rxg2kc8fTEvLFXjeDBSqpTrY5PMHAZBOX4llvR1zPSJjhzrWIiIiIktUJJX6A3V1F2JZHwEQhuMpFvegWNwFSMVbnsgS%2BP4meN40HOdZ6ut/xcKFf0If/IhUnoK1iIiISDcFUqkbS4F6DgBhOIFCYU9cd2cgGW95Iv3I5w/Ctl8gkXiIROLPuO634i5JpOYpWIuIiIgAkCedvp66uoswzU8BCMOJFAp74bo7AYl4yxMZoDBcjmJxb1KpP5LN/pIvv9yOKGqMuyyRmqZgLSIiImOaYXxGOn0d6fS1mObnAITh5FKg3hFw4i1QZAgKhb1wnMexrI/IZE6ltfWCuEsSqWkK1iIiIjIm2fa/SaevIpm8G8PwAAjDpSgU9sZ1t0eBWka3BPn84dTXn0AqdS2Fwj74/rS4ixKpWQrWIiIiMoYUSSRuI5u9Att%2BvvNZ31%2BLYvFrpWWzFKilNvj%2B%2BrjujiQSD5PNHs38%2BY%2Bj61ukMhSsRUREpOaZ5iekUtcD15HJtA/3jiIHz9uWYvFrBMFX4i1QpELy%2BR9i289g26%2BTTl9OPn9M3CWJ1CQFaxEREalREbb9bGm49z0Yhg%2B0T0hWLO6K6%2B5MFI2LuUaRyoqiRvL5g8lkLiCTOZti8VuE4UpxlyVScxSsRUREpKYYxmekUreTSv0R257d%2BXwQrINl7U5b26YEgRVjhSIjy/Nm4vt/x7ZfIpv9GQsX3oXWthYpLwVrERERqQEFEokHSKdvwXEexTACAKIogetug%2BvuBnyFbDYN5IEozmJFRphBLnc42ewRJBKPkEzeRbG4Z9xFidQUBWsREREZpSJs%2B3lSqVtIJv8P05zfucX318J1Z%2BJ5WxFF9QBYalLLGBaGy1IofId0%2Bibq64/HdbcnipriLkukZihYi4iIyKhimnNIJjuGer/V%2BXwYTsJ1Z%2BK6MwnD5WKsUKQ6FYt7kEjMwrI%2BIJM5hdbWi%2BMuSaRmKFiLiIhI1TOM%2BSST95JM3oXj/APDCAGIoiSetyWuOxPfXw9QW1qkdw653E/IZo8jnb6eQuG7%2BP7mcRclUhMUrEVERKRKtZJM3k8yeReJxCMYhte5xffXwXW3x3VnAHXxlSgyygTBOhSLu5BMPkg2exTz5z8BJOIuS2TUU7AWERGRKpInkXiYVOouEokHMYx855YgWBnX3RrP24ownBJjjSKjW6FwAI7zNLb9JnV1l5DLHRt3SSKjnoK1iIiIxMwjkfg7yeRdJJP3YRgtnVuCYFk8b2tcdyvCcMUYaxSpHVGUJZ8/hEzmt9TVnUOhsDthODXuskRGNQVrERERiYFLIvEPksl7SCTu6zajdxhOxnW3wvO2JgimovV2RcrP87bB8x7FcV4orW19D/pvTWToFKxFRERkhBRJJB4rhen7Mc0FnVvCsAnP2wrX3YogWAMw4ytTZEwwyOcPx7YPL/13eTvF4j5xFyUyailYi4iISAUVSv9ov5tE4gFMc2HnlvYwPQPPm47vr41m9BYZWWE4hUJhX9LpG6iv/xWety1huHTcZYmMSgrWIiIiUmYFEolHSSbvJpl8oNs902E4obQ81pYEwZooTIvEq1j8FonEP7Gsd2hoOJAFC/6CIoLI4Om/GhERESmD9tm8k8l7SCYfxDBaO7eE4UQ8bwauO70UpjXMW6R6OLS1HUc2ezSO8wR1dWeRy/067qJERh0FaxERERmiHInEQ6RS95BI/A3DaOvcEoaTcN32Yd66Z1qkuoXhsuRyR5HJnEMmcx6%2Bvzmuu1PcZYmMKgrWIiIiMghtJJN/I5n8cylM5zq3hOFSXcL0aihMi4wenrc1xeLrJJP3ks3%2BiPnznyAMl4u7LJFRQ8FaRERE%2BmQY80kkHiKZvJdE4iEMI9%2B5LQyXXixMa7kekdEqnz8Yy/oPtv0fGhoOYMGCBwAn7rJERgUFaxEREenBNN8nmbyPROJ%2BHOdJDCPo3BaGU0rrTE8nCFZFYVqkVjjkcr8kmz0Gx3mWTOZU2trOiLsokVFBwVpERESACNt%2BkUTiPpLJB7Dt17ptDYKV8LzNSmF6KgrTIrUpDKeQyx1NJnMmdXWX4Hlb4Lpfi7sskaqnYC0iIjJmFXGcf5Y60w9gWXM6t0SRSRCsUwrTmxGGU2KsU0RGkudNp1DYnVTqbrLZw5g//3HCcKW4yxKpagrWIiIiY0aEZf2XROIREolHcZwnuk0%2BFkUpfH8TXHczfH8ToqghxlpFJE6Fwv7Y9pvY9hul%2B63/BiTjLkukailYi4iI1DDDWIDjzCKZfBTH%2BTuW9UG37WE4odSVnobvrw8k4ilURKqMQ1vbL0vrW79Aff2JtLaeF3dRIlVLwVpERKSmBNj2CyQSj5JIPIptP9dt4rEockpDvDfC8zYsDe/U/dIi0lMUTSaX%2Byn19aeSTl%2BN626J6%2B4ed1kiVUnBWkREZFTzse2XcZwnSSSewLafxjQXdNsjCJbH99uDtO%2BvC6TiKVVERh3fn0ahsDep1B00NBzB/PnrllYDEJGuFKxFRERGFQ/bfqEUpJ/EcZ7GMFq67RFFGXx/w86udBRNjqlWEakFhcL3se03sO1XaWjYn/nzHwHScZclUlUUrEVERKpaHsd5Ecd5Asd5Esd5ptuEYwBRVI/vr9P5FQSrAFY85YpIDbJoa/sF2exR2ParZLPH0dJySdxFiVQVBWsREZEqYhif4TjP4DhP4zjPYNsvYRhet33CsIEgWBfPW5sgWIcgWAkFaRGppCiaQC53LJnMSaRSN%2BD7XyGfPzLuskSqhoK1iIhIbAIs643OEO04z2BZ7/XYKwyb8P118f218f11CMMVAHPEqxWRsc33N6RQ2J90%2Bgbq608EDPL5I%2BIuS6QqKFiLiIiMEMOYh%2BM8h20/V3r8N6bZ3G2fKDIIw5Xx/TXx/TUIgjUJw6XRzN0iUg2KxT0xDJdU6o/U158AoHAtgoK1iIhIhbjY9iudIdpxnsey3umxVxSl8f01CYI1SmF6dSAz8uWKiAyIQaGwL4DCtUgXCtYiIiLDFmGa7%2BM4/%2B7SjX4Fwyj22DMIliuF6K8QBGvq/mgRGYUUrkUWp2AtIiIySIaxsLTk1XOdYdo05/bYr32SsTXw/dUIgvavKMrGULGISLl1hOuIVOpWhWsZ8xSsRURE%2BuRjWbNLIbr9vmjL%2Bg%2BGEXXbK4psgmAqQbB6KUivThhOQfdGi0jtMigUvgegcC1jnoK1iIhIpyK2/Qa2/Wrp/uhXsO2Xe6wbDRCGU/D91QmC1UpBeiqQGPmSRURipXAtAgrWIiIyRhnGfGz7NWz75VKQfhXLehPD8HvsG0WZxUL06kTRuBiqFhGpRgrXIgrWIiJS0wxjHpb1Nrb9Npb1Npb1H2z7NSzrgyXuH0VZgmBVfH9lgmBlgmBVwnA5tG60iEhfFK5lbFOwFhGRGlDEsv5bCs7/7RKi38Y05/f6qjBcmiCY2iVEr0IUTUL3RYuIDIXCtYxdCtYiIlLlAkzzM0zzI0zzYyyr/avje/iYceM%2BxTDCXo8QhpMJguUIw2UJgmUJwxUJgpU1Q7eISNn1DNemOZe2thPQPBRSyxSsRUQkBhGG0YphfI5pflH6%2BrzL41xM8xNM82NM8xMMI%2BjzaIYBUVRHECzfJTx3PC4DpEbmbYmICIuH67q6C0gk/k5z8zUEweox1yZSGQrWIiJSJgGGMX%2BxgNwRkhcFaMNo32YYhQEfOYpMomgiYTiJMJzY%2BWUYE0mnl6O1NYvvj0NDuEVEqoVBofB9gmAl0unLse2XaGraitbW0ygUDkV/r6XWKFiLiMgAFEpDrz/CND/Csj7s/L4jQBvG3D6HYy9JFKWJonGEYVPpcRxR1Fh6HFcK0JNKM3BbPV5vWQaQJoryQNRju4iIxMvzZuD7a1JXdzGO8zzZ7C9JJh%2BkpeUKwnBK3OWJlI2CtYiIACGm%2BQG2/Z/SJGAdofkjLOsDTPPzgR8pbCCKmoiiJsKwsfTYUArKjUTRuM5tGqItIlL7omgCbW2nkEjcRzp9HYnE32lq2pyWlotx3W/FXZ5IWShYi4iMKfnSrNn/wbLeKs2e/R8s6%2B1%2Bh2ZHUYownFzqIE8mCCYRhhOIovGdHeYoamRJnWURERnrTFz36/j%2B%2BmQy52NZ/6Wx8QcUCvvS2nouUdQQd4Eiw6JgLSJSk7zO9Zrbv97Asv6Dab6PYSx5yHQUOYThcoThcgTB5M77maOoI0xn0T1xIiIyHGG4Ai0t55FK3UoyeQep1B9xnCdpabkKz5sed3kiQ6ZgLSIyyhnGvFJ4frUzSFvWmxiGu8T9oyhLEKxAGC5PECxbWoZqecJwMuo2i4hI5TkUCj/A8zYmk7kAy3qfxsavks//VMtyyailYC0iMmoEpWHcXQP0a1jWnCXuHUUZgmDl0teKpaWoli8Nt1PnWURE4hUEa9PcfCnp9NUkkw9TV3cByeTd5HI/KS3XlYm7RJEBU7AWEalChrEA234dy3oVx%2BkI0bN7vQ86DKcQBKvg%2BysThisRBCsThkuhAC0iItWtjnz%2BGHx/U9Lpy7Gs/5HNHksmcyb5/CHk8z8iiibHXaRIvxSsRURiE2EYX2BZ/8Oy3il1o18vhegPl/yKKNWlC70yQbASQbASUDeilYuIiJST522J521MIvEIqdQ9mOYnZDLnUld3McXid8nljiQIvhJ3mSK9UrAWkREQ9fII7R1Vc2TLGVEhpvkJlvVu6et/Xb5/F8No7f2V4WSCYJUuAXrl0pqftfz7EhGRsSuF6%2B6G634Vx3mKZPJubPtNUqkbSKVuoFjclXz%2BKDxvCzQiS6qNgrXImBBiGK1dvlpKjzkMIwfkO7/v/pXvso%2BLYRRLj%2B5ij0XAKz0WMYxwUNVFkU37RCUJIEljo0MUJYgiB0gQRUnAIYqSRFEaqCOK0qWvTOmxrvNx0fYUUZQqHSMFJEvHWPR9%2BzkX/z/nCAiBoPPLMDq%2BDzGMHKb5JYYxr9tj%2B9c8DGN%2B6fFLTPOLPpexiiKDKJpEGC5LGC6N769QCtArlWbhFhERGWssPG8GnrclljWbVOpubPtpksn7SSbvx/M2IZc7Etf9Bpp0U6qFgrVI1fK6BOCOMLzoZ9Ps%2BnMLhtGGYTRjmh37N3cL09XMMHzAB3IAmCPckG0P2AaLQvTgPhjo//gmYTil21cQdHy/FJr9VEREZEkMgmBt2trWxjQ/Ipn8M4nEIzjOczQ27k8YTsF1t8d1twcOiLtYGeOMKIqWvKDpGPDFFy1xl1DzbNukqSnD/Plt%2BH55w0r1iYC2LsF28e7wop%2B779O82PaOn3vvcg65wsikvZu7qKPb3rld9Nje0U3Svbvb3kEGu9RFtkvPOaXH9p/bt9t0//TYWOxx8edDwMcwPCwrIJOxaGtrJQw9DMOjPXD7pe%2B7dsXdLt8v%2BoJCt33aX9P10S0dazi/R4coaiSKsp2PYZglihp6fB9FjYThJPQ5ZmVYlkE2m6alJU8QjNn/O5MB0vUig6HrpToZxgKSyftIJO7FNJu7bNH/RhIv/UtPxpiI9oCVKwXXPIZRKA15zi/2c26Jobi9M9xaCseLtkMrhlH%2BP%2BrtIa5jeHPXIdCLvod0l%2Bc7ttUt9nwdSx72XB2iCAzDANKEYaX/ERPRHtg7QnbHes9mj6/2DyNM2j8s6Pi%2BOn%2BHIiIitS6KxlEofI9CYa/S0pMv4TgvYGlEuMRMwVr60XGvabjY92FpuGzXbVGP59uH9KYwzRYsq6Nr2N55bB9y63V5zu/2ffvw4I7tfrfHjg5m%2B74dQbjQJRwv%2Bef27yvbOY%2Bi9nDY/Z7frgE31bltIIG4vRMs5WXQ/nt1GLtjdkREREazBL6/Eb6/EYXCgYwbF3c9MtYpWFdMSHs3rND5uGh4aqE0JLXrc12HsXa8ruvzXb/vCJZdJ1byWTTRkl8Kj36XnwM6htz23L/7xEzdg3N5NDaW7VBl0x6Auw57Tiz2mFos9KaBVD/huA7ouF9XRERERETGgjEdrFOpG1k0s/Hi91923MPpLfZc96C76LGw2Da3t9PWtPaw2rF8UvujYRhEkdnl3lub9ntxrc6fu2%2BzSts6vu/YZnX5edHruwfiRJfHRbM%2BL9onyaJZpm0UgEVEREREZLjGdLDOZo8ckfO0h82OZYMWf0ywaBKo7t%2B331vrLPZce6jsuOez5/2fHc91vR908ef6el1HIO4ejtvfh7mE540lfC3SMfFHa6sm/hARERERkdo0pmcFj6I59Jyx2OjxfftvaPHtPffr/bmxzMA0DcKw4x5skb7oepHB0jUjg6HrRQZD18toYRgJDGOE1%2BoUWcyY7ljDlNIfS6mY56VUAAAgAElEQVSkKDIYw5/fyCDpepHB0jUjg6HrRQZD18voYBgGQeADX8Gy3mPhwntw3ZlxlyU1ZNKkbL/7jOlgHYYRX37ZFncZNa1jHevm5twYWMdahkvXiwyWrhkZDF0vMhi6XkaP8eMzAIThUljWe1jW%2BzFXJGORxkyIiIiIiMioF4bLA2Dbb8VciYxFCtYiIiIiIjLqBcGKAFjWGzFXImORgrWIiIiIiIx6YahgLfFRsBYRERERkVEvCFYAwDQ/xTAWxFyNjDUK1iIiIiIiUgPqCcOJgO6zlpE3pmcFFxERkfIKw7C07E31CUODQsHCdYsEgZZQkr7peqkelmVjmgPrBwbBipjmXGz7NTxvswpXJrKIgrWIiIgMWxRFNDd/ST7fGncpfZo71yQMtXSSDIyul%2BqRTtfT0DAewzD63C8IVsdxnsdxniGfP2iEqhNRsBYREZEy6AjV9fVNJBLJfv/xGxfLMtR9lAHT9RK/KIpw3SKtrfMBaGyc0Of%2Bvr8mALb9VMVrE%2BlKwVpERESGJQyDzlBdX98Qdzl9sm0T31cHUgZG10t1SCSSALS2ziebbepzWLjvr04UmVjW%2B5jm%2B50zhYtUmiYvExERkWEJggBY9I9fEZFy6/j70v8cDhmCoL1rnUr9rcJViSyiYC0iIiJlUa3Dv0Vk9BvM35eOScsSifsrVY5IDwrWIiIiIiJSMzqCtW3PwjQ/jbkaGSt0j7WIiIiIxOKDD97noovO45VXXiSVSrPDDjtz2GFHkEym%2BnzdEUf8iJdeeqHH87fccicrrrgSAPff/1fOOuvUJb5%2B2rQtuOCCS4dd/0jbc8%2Bv8%2Bmnn/R4/tFHnySZ7P1WjBdeeI6jjvpxj%2Be3335HTj317LLVd999f%2BGWW27kk0/mMHnyUuy11z7suec%2B3fbxPI9rrrmCv/3tflpaWpg6dSqHHnoEm2wyrWx1hOFy%2BP5a2PZs0umbaWs7tmzHFumNgrWIiIiIjLiWlhaOPvowll56ac4441zmz/%2BSyy67kObmhfz616f3%2B/p1112fn/zkmG7PLb30lM7vt9hiBldeeX237R999AFnnHEym28%2BvTxvIgbbbrs9%2B%2Bzz/W7PJRKJAb32hBNOZoUVVur8edy4cWWr69FHH%2Bbss09jzz33Yfr0GbzyyktceumFGIbBHnt8p3O/iy8%2Bn7/97T4OOeRwVlxxJe6//y/84hdHc%2BWV17P66muUrZ5icRdsezbJ5A20tR2DYo9Umq4wERERkSpSLBb67dhWWhRFeJ434MA2FH/%2B8120tDRz/fV/7Ax4lmVz2mn/jx/84EBWWmnlPl%2BfzWZZZ511e93e1NREU1NTt%2BeeeeZfWJbF9tvvOPw3EJPx48f3%2Bb77ssoqU1ljjbXKXFG7a6%2B9km222Y5jjmnvDk%2BbtjnNzQu57rqr%2BeY398C2bb744nP%2B%2Bte7OfLIn3Z2sqdN25wDDvgu119/Nb/5zQVlq8fzZhCGv8eyPiCVupVCYb%2ByHVtkSXSPtYiIiEjJmWeewn777c1TTz3JfvvtzcyZ0znwwO/z2muv9tj3/vv/yv7778PMmdP51re%2BylVXXY7vL5qxeO7cuZx11qnstdc3mTlzS/bZZ3euuupyXNftdpwZMzbhpptu4He/u4RvfGNndtutPfS9%2B%2B47HHvsUey66/Zsv/2WfPe73%2BaWW27s9trHH/8HP/zhvsycOZ1vfGNnzj//HHK5XOf2F154jhkzNuHZZ5/mlFNOZMcdt2aPPXbrcZxF7/sJ9t//u2y33RY88cTjw/599uXpp//FJptM69Y13XbbmSQSCZ566smKnPORR/7GRhttwoQJEwf92muvvYodd9yKN954nUMO%2BQEzZ07ne9/bkyef/GcFKo3Pv/71BIccsj8zZ27JbrvtwHnnnU0%2Bn%2B/zNYVCgQ8//IBp07bo9vxmm01n4cKFvPbaKwD8979vEwRBt/0Mw2DTTTfn2WefxvO8Mr6TJMXiXgBkMmcBfb8HkeFSx1pERESki3nz5nHBBedw4IE/IpvNcvPNN/Lznx/BbbfdTVPTeABuu%2B1mrrjiUvbee1%2BOOOIY3nvvPa6%2B%2BneEYchhhx0JwMKFC2hoaOTII39KNpvlww8/4LrrrmbevLmccMLJ3c555523ss466/GrX52E57WH8%2BOP/xlNTeM5/viTqK%2Bv56OPPuSLLz7vfM0TT8zixBN/wXbb7cCPfvQT5sz5mKuuupwPPnifiy/%2BXbfjn3fe2ey8866cddZvmTXrMa644lKmTv1KtyHRc%2BfO5eKLz2f//Q9i8uSlmDx5qV5/R10/QOiNaZp9rjf83nv/42tf%2B0a35xKJBMsssxzvv/%2B/fo//4osvsMMOMwjDkLXWWoeDD/4xG2ywUa/7v/nmbD788AP22%2B%2BH3Z7/5JM57LXXN/jhDw/hoIMO7fOcvu/z61%2BfwD77fI9lllmGu%2B%2B%2BixNOOJbrr7%2BFVVZZtdfXhWFIGPa/HrZt9/9P84ceepC//vUebNtm/fU35LDDjmLq1N7P3dWxxx5Nc/NCJkyYyA477MzBBx/abXTEY489wsknn8Cuu36dgw46lHnz5nLllZfR0tLc573YrusSRRGO43R7PpFo//m99/7HBhts1Pmh0uL7OY6D67p88snH3YaqD1exuBvJ5J8xzY%2Bpq7ucXE73WkvlKFiLiIiIdNHcvJDTT/8NG2%2B8KQDrr78R3/7217jjjls59NCfkMu1ce21V7Pvvj/g0EN/AsCmm26OZVlcfvlF7LvvfjQ2jmPq1FU54ohF9wCvu%2B76pFJpzjzzZH72s%2BNIpRYFmoaGRs4449zOJYUWLFjAnDkfc9RRP2fGjK0B2GijTbrVed11V7PGGmtx2mlndzlOA6ee%2Bv944YXnuu2/7bYzO0Pjxhtvyr/%2B9U/%2B8Y9HuwXrlpZmzj//EtZaa50%2Bfz8dQbQ//QXVlpZm6uuzPZ7PZrM0Nzf3eewNN9yYXXb5GssvvwJz537BrbfezDHHHM5ll13NOuust8TXPPzwgyQSSbbZZrt%2Ba%2B%2BN53nsv/%2BB7LbbN4H2SdD22Wd3/vCH6znllDN7fd3ZZ5/GAw/c2%2B/xn3jiuT63z5ixNWuttQ5LLbU0c%2BZ8zI03Xsfhhx/EddfdwrLLLtfr6%2Brr69l33x%2BwwQYbkUwmef75f3PbbTfz/vv/49xzLwLah/9ffvnFzJy5I8cff1Lna8ePH88vf/lT9t//YFZZZeoSj9/Q0MC4ceOYPft1dt31653Pv/76a0D7/9YAyy%2B/AgCzZ7/OlCnLdO43e3b7fv397z54CfL5H5DJXEBd3dkUizsTBEMbRi/SHwVrERERkS7q6%2Bs7QzW0B72NN96E119vHw7%2B6quvkM/n2G677bt1bjfeeFOKxSLvvvsOG264MVEU8ac/3cpf/nI3c%2BbMwXWLnfvOmfNRtw7n5ptv2W2d3sbGRpZeegpXXdXeLdx44027dZBzuRxvv/0fDj/86G61b7fdDpxxxsm88spL3YL1pptu3vm9aZqsuOJKfP75591eO27cuH5DNcDEiZP4/e//MKD9%2BrPkpYmjXp5fZPHAPn36Vuy3397ccMPvOe%2B8S3rsH4Yhjz76MNOnb0kmU99t25Qpy/QbaLvaeutFwdyyLLbccut%2Bh4MfeOCP2GOPvQd8jt4cc8wvOr9ff/0N2XTTzfne9/bg1ltv5thjj%2B/1dauttgarrbZoYrCNN96UCRMmcuGF5zJ79mustdY6fPjh%2B3z66SccddTPu13XG2ywMYZh8NZbb7DKKlMJgoAoijq3d3TZd999L2655Q%2Bst94GbL75dF577RX%2B9KdbgUVrUK%2ByylQ23HBjrrzyUiZPnswKK6zIfff9tXOGd8Mo/12qnjcTz/sXjvM0DQ0HM3/%2BP4B02c8jomAtIiIi0sW4cU09nmtqGs%2BHH34AtA/xBjjwwO/32A/g888/A%2BCOO/7I5ZdfzL77/oCNNtqEbDbLG2/M5oILzulxn/Xik2wZhsEFF1zK1VdfwQUXnEM%2Bn2e11dbgqKN%2BxgYbbERrawtRFDFhwoRur7Ntm8bGcTQ3L%2Bz2fDbbvTPsOE63e7Hb3/f4Jb6fxTmOw6qrrtbvfn0NA2%2BvqYGWlpYez7e0tLLiin1PXLa4dDrNFlvM4B//eHSJ21944Tnmzv2CHXf86qCOuzjbtmloaOj2XFNTE/Pmze3zdUsttTSTJk0e1rmXZOLEiay33ga89dYbg37tzJk7cuGF5/LWW2%2By1lrrsGBB%2B3V9wglLHi792Wft60F/5zvf6rbk15/%2B9BemTFmG73//AObM%2BYjTTz%2BJKIpIp9P8%2BMdHcuGF53a7p/3EE0/hpJOO47DDDgLaZ3I/4ICDufbaq3pcz%2BVhkMsdRTb7Frb9Btnsz2lpuRzo59MbkUFSsBYRERHpYsGC%2BT2emz//y85wkM22B6szz/wtSy3V8z7kjiGujz32KFtuuTU//vERndvee6%2B3e4d7/iN/hRVW4owzzsH3fV599WWuvvpyjjvup9x99wPU12cxDIMvv5zX7TW%2B73fe2z1Y/XWJO5RrKPhKK63c415q13WZM%2BejHvdeD0TXLuriHn74Qerr69liiy0HfdyufN%2Bnubm5W7ieP39%2Bv5OhlWso%2BJL09b4Ho%2BOa%2BelPf8naa/ccudAxAuGccy7E89wezyeTSU466XSOPPLnzJs3l2WWWZb33nsXoNvxll56Ctdc8wc%2B%2BWQOhUKBFVZYkdtvv4UJEyZ2Wy6tnKKokVzuGDKZU0mlbiYIliaX%2B3VFziVjl4K1iIiISBetra08//y/O4eDt//8XOdQ3vZ7pVN88cVnfd6vWywWekzS9NBDDwy6Htu22XDDjfne9w7g%2BON/xty5X7DCCivyla%2Bsxt///ki3NY1nzfo7QRCw3nobDPo8A1WuoeCbbz6dG2%2B8loULF9DY2D4z%2BOOPP4bruoMOwPl8nqeeeoI11%2By5lJTrusya9RjbbDOzLMuHPf74Y533WAdBwJNPPt7vEPpyDQVf3Ny5X/Dqqy%2Bz8867Dvq1jz76N4DO39mKK67E5MlLMWfOx33W2t9EaePGjeuc6f2uu%2B5g/fU3XOKEZB0fQBWLBe699898/evfGvR7GAzf34R8/gjq6i4hkzmPKJpIPn94Rc8pY4uCtYiIiEgXDQ2N/OY3p3ebFRxg772/C7Tfg33QQT/md7%2B7lM8//5yNNtoE0zSZM%2Bcj/vnPxznzzHNJpVJsuulm/OlPt3HXXbez/PIr8tBDD/DRRx8NqIb//vdtLrvsQrbffieWXXY5Wltbuemm65kyZZnOSaoOPPBH/OpXx3LyySfw1a/uVpoV/DI23nhaj4nOyslxnLKshfzNb%2B7BXXfdwfHH/5wDDjiY%2BfO/5LLLLmSnnb7abQ3rs88%2BjQcfvI9Zs54B4OWXX%2BTWW29i6623Y%2BmlpzB37hfcdtvNfPnlPE4//Tc9zvPUU0/S2trCjjvussQ6BjMruOM43Hjjdbiuy5Qpy3D33Xfy%2BeefcfbZ5/f5uilTluk2WddQPPzwgzz11JNsvvl0Jk6cxJw5H3HTTTdgmla3D1c%2B/fQTvvOdb3HAAQfzwx8eAsBpp53Esssux%2Bqrr0Ei0T552R13/JGtttqm839LwzA44oifcuqpJ1Io5Nliixmk02k%2B/fQTnnrqCX70o5%2Bwwgor9lrfU089yccff8jKK0%2BluXkhDz30IC%2B%2B%2BBy/%2B9213fa7667byWTqmTx5KT799BNuv/0WEokk3/ve/sP6/QyE6%2B6MYSwgnf4D9fXHAx75/FFoWLiUg4K1iIiISBcTJkzgsMOO4ne/u5iPP/6IlVdehQsuuJTx4xfd//nd736fSZMmcfvtt3DXXbdj2zbLLrsc06dv1TmZ0wEHHMKCBQv4/e%2BvAmDbbbfnmGOO5bjjfjqgGiZMmMBNN13P3LlfkMnUs/76G/DrX5%2BOZVkAzJixDWeccS433HANv/rVz6mvz7LTTrt2LvdV7bLZLBdffAUXXfRbTjzxF6RSKXbYYece9YdhSBAEnT9PmDAR1/W46qrLWLhwIalUmnXXXY9jj/3VEjvHDz/8IBMmTOz1w4aONZoHcn%2BvbduccsqZXHDBObz77n%2BZMmUZzjzzXFZd9SuDeetDMmXKsnz%2B%2BWdccsn5tLS0kM1m2WijTTn44ENZZpllO/eLooggCLot77Xyyqvw0EMPcNttt%2BB57R8K7LffD3ssPTZz5g5ks/XceON1naMrll56CpttNr3b9b8ktm1x771/4aOPPugcZXHlldd3%2B5AEwHU9br/9ar744nMaGhrZZpvtOPjgw0inR2ZCsWJxbwyjjVTqLurrT8Ky3qO19bcoFslwGVG5bswYhYIg5Msv2%2BIuo6bZtklTU4b589vw/f7Xb5SxTdeLDJaumergeS7z5n3ChAlTcJzhD7WtJNs2%2B7xWzjzzFN58czY33XTHCFYlcbr33nu48srLuPPOe7stgQbdr5drr72K2267mYcf7nsG8HKx7daKn8P36/vfqUr09Xdm/PgMENLaOosoKi75AItJJv9MKnUNhhHhujvS3HwDUdRz%2BTcRgEmT%2Br829NGMiIiIiIxZr7zyMnvvvW%2BPUF1pIxGcy1HDaArfg1EsfpMwnExd3W9JJB6mqWkrmpuvwvc3i7s0GaUUrEVERERkzDrhhJMrevxqCNDD0bX%2BWgvZnrcFra1nk8n8Bst6l3HjdiaXO5Zc7jjA6ff1Il1pKLiGgleUhmnKYOh6kcHSNVMdamkouEhXg7leRnuAHqyRDtnlHgrelWG0kk5fTSLxaOlcG9HSchVBsHo5SpcaMJCh4OYI1CEiIiIiUjNsu7XH11hTS%2B89iurJ5X5GW9vxRFEWx3mBpqYtyGSOwzB6rmsvsiQK1iIiIiIivVCI7l%2Bt/G48byuamy/D87bAMHzq6q5g/PgNSaWuAfy4y5Mqp2AtIiIiZTGG7y6TGtI9JDbHXc6oU6mAPVJ/X6JoIm1t/4/W1jMIgpUwzS/JZn9OU9MMEokHAf2dkyVTsBYREZFh6VhX2XUHf2%2BjSNzUja6Mcv8%2BO/6%2BWNbIzL3s%2BxvS0nIJudxPCMMGbHs2jY17M27c1iQS9wCaq0G606zgIiIiMiymaZFO19Pa2n4vYiKRxDCMmKtasjA0CAJ1nMYyy%2Bo%2Bca3rxlTIgPX2gVVyRKsYuva/C0GQGdKroyjCdYu0ts4nna7HNEeyL2jhurvieVuRSt1FInEvjvMyjY0/wPdXI5f7GcXiXmgGcQEFaxERESmDhobxAJ3hulqZpkkYqtM0lphmtYyk8GI%2Bf9zh7wvCcOgfBqTT9Z1/Z0ZaFGXJ5w%2BgUPg2yeR9JJN/xrb/Q0PDjwmCs8nlfkKx%2BF2iqDGW%2BqQ6aLktLbdVUVoKRwZD14sMlq6Z6hOGIUFQnZP8WJZBY2MdCxfm1LWuYePHvxxzBW/GfP6BWiOWs3755fqDfo1l2X12qoe73Nbg5UilHiSR%2BD9Ms/3DxCiqo1DYi0LhIHx/gxGoQUbSQJbbUsdaREREysY0TUyzOteytm2TVCpFPh/og5gaMmnSMzGc9aUYzlluLyz288iEwWWWeZEvvthsRM5VOXUUCt%2BmUNiVZPIxEol7saz3SKdvJJ2%2BEc/biHz%2BYIrFbwN1cRcrI0TBWkRERERGlZEP07UQpPuz%2BHusXNCeNOmZGgjXACmKxa9SLO6CZb1BKvUAtv04jvMCjnM4YXgCxeLeFAp74/ubAtU594SUh4K1iIiIiFS9kQvTYyFED0TH76EyAbt2wjWAQRCsRVvbWhjGQSQSj5FM3o9pziGdvpp0%2BmqCYCUKhb0oFr9DEKwWd8FSAQrWIiIiIlJ1RiZIj2SIfqXMx1uvzMfrTeUCdm2F63ZRNI5icXeKxW9i2y%2BTSMzCcZ7Ast4jk/ktmcxv8bwNKBb3pljcgzCcEnfJUiYK1iIiIiJSFSofpisdpMsdnod6rkqE7pcYqfuwa4OJ72%2BI728I/JhE4jkc5x/Y9r9xnJdwnJfIZE7E87aiWNwN1/0aYbh83EXLMChYi4iIiEhsKhumKxGkRzI8D9WSaixH2C5/97oWu9Y9pXDdGbjuDAxjIYnEUzjOY9j2ayQSj5NIPA78Es/bANfdjWJxN4JgTXRP9uiiYC0iIiIiI2r0hOnREKIHquO9lCtgq3s9FFHUSLG4C8XiLpjmZzjOszjOU1jWK1062Wfg%2B6t0huz2ic%2BsuEuXfihYi4iIiEjFVS5MlytIVzpED%2BT4I3HfdLkCdvnC9djoWvcUhktRLH6dYvHrGMZCHOc5HOdpbPs5bPtdbPsS6uouIQwn4brb47o74roziaIJcZcuS6BgLSIiIiJlV91d6XKH6HIdbzDHGW4w7nquoR5LnetyiaLGUnjeHsiXutdP4zhPY5pfkErdRip1G1Fk4vsbl0L2Dvj%2BRoAZd/mCgrWIiIiIlFH1dqaHG36rbVj44vUMJ2i/MozXK1yXXxrP2wLP2wLwsO23cJwXsO3nsKx3cJx/4zj/JpM5izCc0KWbvT1RNDHu4scsBWsRERERGbLq7UwPJwhXW4geiOF2oMt5D7aUj4Pvr4PvrwP8AMOYV%2BpmP4dtv4BpziOVuoNU6g6iyMD318fztsF1ty0F87q438CYoWAtIiIiIoNSW2G6vCG6tfW/w3p9ff2qZahiOCF7KN1rda1HShRN6DJk3Mey3iaReL7UzX67cwK0urqLiaIEnrcZnrctrrttaekvxb9K0W9WRERERPpVnWF6ZIP0cENzOc4x%2BOA9lE70cIaGD81YncBseGyCYE3y%2BTWB72MY83Gc17Htl0rd7M9IJP5JIvFPMpnTCcNGPG9GqZu9LUGwGlrSq3wUrEVERERkicZymB6JED0UHXVVPmAPNlyrax23KGrqXC8bIkzzUxznlVLQfhHTXEgyeR/J5H0ABMFSeN5WeN7WuO5WhOEqKGgPnYK1iIiIiHQz%2BgP14IJ0JUL0O%2B%2B09bl96tTMsI7ftebBheyR70ZLHAzCcArF4hSKxZ2BAMt6H8d5Gdt%2BCct6Bcv6DMu6k1TqTgCCYFk8bytcd2s8byvCcMV438Ioo2AtIiIiImMqTA81SPcXlstxrKEE7sF3sQcarhXCa4dFEKxCEKwC7A642PbbOM5rWNbLWNbrWNbHWFb7sl4AQbAirrtVZ1c7DJeN9R1UOwVrERERkTFqrITpoQTpcobocpx3IIF7cAG7EqFZw8FHjwS%2Bvza%2BvzbwHaBQCtqvloL2m1jW%2B6TT75NO3wyA76%2BC523d2dWOoqVifQfVRsFaREREZAypbJiGygfq8ofpuEL0YHTUONCAXb5wra712JDC99fF99cF9gUKOM6b2Par2PbLmOZb2Pa72Pa7pNM3AOD7q3UbOj7W19BWsBYREREZA6ozUJe3Oz3QMD2UIP1KhZa2Xm%2BQmXWgAXvg4bo6aEbwapPC8zbA8zYA9gNyOM7sUtB%2BBdN8G9v%2BD7b9H9LpawHw/bVKQ8e3wfNmEEXjYn0HI03BWkRERKSGje7h3vGE6UqF6IGca6BB%2B5132soUrtWRloGow/M2wfM2AcAwWrHt2Z0dbct6p/TzbOAqosjE9zfEdbfD87bF86YBqVjfQaUpWIuIiIjUGHWn2w0kTI9kiB6IrvX0F7IH0r0uT%2Bda4Vu6i6J6PG9aKTCDYSzEtmeX7tF%2BqTQD%2BfM4zvPAeURRCs/bohS0t8H31wOsWN9DuSlYi4iIiNSIWg/UcYbpcgbwgXalO845kIBd%2BXAt0rsoasTztsDztgDAMObhOK92WUN7LonEYyQSjwEQhk143ja47ra47o6E4fJxll8WCtYiIiIio1jlwzTEPeS7v0Bd7jBd6S72QAPzUPcfPHWkpbyiaEIpNG8LRJjmxzjOK9j2i6XJ0OaTTN5DMnkP0HF/9k647k543maAE2f5Q6JgLSIiIjIKjf5APfzh3v0F6oEE5DiHgg9m2HfH/r3tN5B7ritvaEttaeKyWmcQhstRLC5HsbgrEGBZ75SC9vNY1mud92fX1V1EGDbgeTMpFnfC83YgDJeO%2Bw0MiIK1iIiIyCiiQD38QD3UMP1SL7%2BWDcqwdPNAu9JDDdcaDi7VwyIIViMIVgP2xDBacZyXse3nsO1nMc0F3brZnrcBrrsTxeLuBMFagBFr9b1RsBYREREZBUZ/oO5/v%2BEE6kp0p3sL0oPdbzDBu6/gLFKLoqge190S192S9m72/0gknse2/41lvYHjvITjvEQmcy6%2BvxrF4u4Ui98mCNaMu/RuFKxFREREqpgC9fAC9UDD9EBD9FAsfuz%2Bgnb1heuqKkZqmkUQrEo%2BvyrwHQxjQSlYP4VtP1NaO/scMplz8P01uoTs1eMuXMFaREREpBopUFc2UFcySPfnpZeGF66rL3gPne6vlr5E0bguk6C1kUg8j%2BP8E9t%2BFtt%2BE9s%2Bm0zmbHx/LQqFfSgU9iOKJsRSq4K1iIiISBUZC4Ea%2Bg7VQw3UA%2BlODzdQl2uG7oGE69Glpt6MVKUMrrs1rrt16b7s53Gcx0v3Zs%2Bmvv7XZDJnUSjsSaHwI3x/ZK9JBWsRERGRKjAygRriDtWjKVAP9JyjoXvc98Rlfb2Byr05datlqNrvy94G190Gw2jBcZ4hmbwXy3qbdPpm0umb8bxp5PM/olj8FpCoeE0K1iIiIiIxUqBuN5RQXe5APdTZwofaxa69rrXIyIuiLK67A667PZb1FqnU/dj2LBznWRznWcLwBHK5o8nnD6WSAVvBWkRERCQGIxeooZpDdaW61P0F6kqsXz3autj9G%2Bib0KcDUg0MgmAN2trWwDAOIJl8lETiPkzzc%2BrrTySVuoHW1nPwvB0qcnYFaxEREZERpi51u0p0qQfSoa5EqK5mQx8GXjkaBi6VFEXjKRT2olDYnURiFqnU9dj224wb922KxV1pbT2bMFy5rOeMPVi///77XHvttbz88su8/fbbrLLKKtx777297v/aa6%2Bx1157kf5ZyV8AACAASURBVEqlePHFF0ewUhEREZHhUZe6XSW61GMpUPfWDZ86NTOyhQBD6VYrVMvIsXHd7XHdzUmnbyeRuIdk8n4SiUdobf0NhcLBZTxTzN5%2B%2B21mzZrF%2BuuvTxiGRFHU675RFHH66aczfvx4crncCFYpIiIiMjxjpUsNCtXlUK6h5NU4aZnIyMuQzx9IsbgDdXW/x7afJ5v9GYbhks8fXpYzmGU5yjDMnDmTWbNmcckll7D22mv3ue9dd93F/Pnz2WOPPUaoOhEREZHhmTTpmRFcQqv2QvUrr/S%2B7aWXqjdUV%2Bqc6laLDF0YrkBr66kUCvsAUF9/POn0ZWU5duwda9McWLZvbm7m/PPP56yzzuK1116rcFUiIiIiw1Nbw77737cau9T9HaOSBtJx7m1G8MF2q3sL1ZXtVitUy2hlUCh8HzBIpW6lvv4EwnACxeJ3h3XU2IP1QF100UWsvfbabLfddgrWIiIiUrVGR6CGau5S97etWrvUHYYTqod73AEeaYjbRGpFR7j2SKXupK7usrERrN944w3uvPNO7r777rIf27ZjHw1f0yzL7PYo0hddLzJYumZkMCp9vTQ1PVWR4/Yu/i41KFSXW2/hebBDwHvvVpcjOA/%2BU4H587fArmDyMAywLIMoMip3Eqk5nrcnyeQ92ParJBJvEYZrDvlYVR%2BsoyjitNNOY99992Xq1KllPbZpGjQ1xXE/ytjT0JCOuwQZRXS9yGDpmpHBqMz18kgFjtmX%2BEN1JZbS6m/bQId/x6kSQ8BHLlRXZgg47EBT0xBeNghRFFFfn6IKppCSUSUNTAP%2BRWPjfcAmQz5S1Qfr%2B%2B%2B/n3feeYfzzjuP5uZmAIrFItB%2B33UymSSZTA7p2GEY0dys2cUrybJMGhrSNDfnCYIw7nKkyul6kcHSNSODUYnrZfR0qWG0h%2BqBGq1DwGs1VM%2BfvwXQ%2B/VQDg0NaQwjoq2tQBQVK3ouqT2pVB2OA8ViG7nckq/VgTRjqz5Yv/vuuyxcuJCZM2f22LbppptyyCGHcOyxxw75%2BL6vf4iNhCAI9buWAdP1IoOla0YGo1zXy8jeSw1jPVRX%2BxDw/kJ1X/dU12qobp%2BsbGT%2BNkcRBEHU59K9Iktimu3zdxWLmw/r/xuqPljvvvvuTJs2rdtzd999N/fffz/XXHMNyyyzTEyViYiIyFhVm6F6ePdTQ7yhOi7DnaistkO1SHWzrHewrE%2BJIgPPG941G3uwzufzzJo1C4CPP/6Y1tZWHnzwQQCmTZvGcsstx3LLLdftNc8%2B%2ByyWZbHZZvoPVkREREbW6AnVIzdJGcQ7/Dsuw%2BlS9/V6hWqRkZCnru5cADzvq4Rhw7COFnuwnjdvHkcffXS35zp%2B/sMf/qDwLCIiIlVh9ARqGC2heiCqsVtdLV1qUKgWGaq6uiuwrI8Iw6Vobb182MczojF8I0IQhHz5ZWUnUxjrbNukqSnD/Pltuv9R%2BqXrRQZL14wMxlCvl5EP1FAtXWqobKgeSOgebLCuVAd8oGtIx9%2BlhrEWqsePzwAhra2zNHmZDEBIKnUdqdTdRJFJS8t9FItb9vmKSZOy/R419o61iIiISLUay11qGF6o7reCUTAEfKBhGoYeqPvaVv5QPdA3NJQltURGgyJ1deeTSDwJQD5/Zr%2BheqAUrEVEREQWM7q61DDSQ7%2Bh/1BdjuA8lGHgXUPqYGsYTJDuaijDvvvaNrSh3xBnqNYQcKl2hrGQTOY0bPtNosihre0K8vm9y3Z8BWsRERGRLmq3Sz2w/UciVI9Ut3pJwXXxcw81TEP5AzWMrqHfHRSqpdrZ9jPU1V2CaS4gihpoabmNYnFGec9R1qOJiIiIjGIK1dXRqa6k4QRpGN6Q7762q0stUgk50umrSSYfBiAIvkJLyx/xvNXLfiYFaxERERFqOVSX535qKE%2BorvbgvST9hWmotkA9kO0dFKqlNtn2i9TVXYxpfkEUGRSLP6G19ddEUaoy56vIUUVERERGEYXq6uxUb7BBfMttDSRMw9ADNQx12Ddo6LdI7wzjc9Lp33dOUBaGy9Paeg3F4vSKnlfBWkRERMY0herhh%2BpKGslwPdAwDUO/hxrUpRapDJdk8v9Ipe7AMIpEkUmxeBBtbacShvUVP7uCtYiIiIxZoydUx3M/NQwsVA%2B0Wz3UrnZH4K1EwC5XmB7I9soF6oHuoy611KIIx3maVOpaLOsTAHx/M1pbL8Tz1hmxKhSsRUREREbE2A7V5TCU7vVggvOSDGSys8oFatCwb5HeWdZs0unrsO03AAjDpcjlziKf3xMwRrQWBWsREREZk0a2Wz0Sobp8Q78h3uHffVk8KHcE7eEG6K4GOnN49QdqUKiWWmSaH5BO34jjPA1AFKUoFA4jl/vFiAz7XhIFaxERERlzRi5Uj777qWHgoXqw3er11it/h7tcgXokwjQoUIsMh2F8Tip1G4nEwxhGSBSZuO73aGs7iSBYOtbaFKxFREREKkKhejSovUANCtVSawxjHqnUHSQSD2IYPgCetwttbadXZE3qoVCwFhERkTGlqempEThLbYfq0WqgIXow%2B1c%2BUA90HxhOoAaFaqk%2BhrGAZPJPJJP3YxguAJ63Jfn8yRSLm8dcXXcK1iIiIjKGPDIC56iuUD1QIxWqKzEcvK9zVeI1/YVpGOlADepSSy0xjGaSybtIJv%2BKYRQB8P1NyeVOoVjcKubqlkzBWkRERKRsqi9UD7RbPRjDDcYd4bXcAXsoQXowrxt%2BdxoUqEV6ZxitJJP3kEzeg2HkAfD99cnnT6FQmMlIz/Q9GArWIiIiMiZUfgj46A3VcQ0BH2z3eqjBeTjHKk93GhSoRfqSI5n8C8nk/2Ga7X%2BPgmAtcrmTKRR2oZoDdQcFaxEREal5lZ8FfKRC9cBVe6juUM6wXK7zDCRMQ7mGew9mP1CgltpSIJm8j2TyTkyzGYAgWI1c7iSKxa8TRWbM9Q2cgrWIiIjUtJFdr3qwBhuqyztZWa0bbGgf2e70YPYDBWqpLR6JxN9IpW7HNL8EIAhWJp8/kUJhD6LIirm%2BwVOwFhERERmWoXar4w/VcXerKyG%2BMA3lH%2B4NmulbaktAIvEoqdStmObnAIThcuRyJ1Ao7EMUjd54OnorFxEREelH9Q4Br0yoHqsqEaYhzu40KFBLbQlxnMdJpW7Bsua0PxNOplD4JbncAURRIub6hk/BWkRERGpS9YbqwarMDOCjuVs9lPuyyxumQYFaZCAiHOdpUqmbsKz3AQjD8RQKPyOXO4QoSsdcX/koWIuIiIiMqHgnKyuHkVyLuuN8QzHQMA1xB%2BrhhWlQoJZqE2HbL5BK3YRtv93%2BTJSlUDiKXO5wwjAbc33lp2AtIiIiNad6u9W1MwS8kuF6ODOFj54wDQrUUoss621SqetwnPY/EFFUR6HwY3K5YwjDcTFXVzkK1iIiIlJTxmKojmsW8OGE63Ivs1X%2Bod6gQC0ycIbxOen0jSQS/wAgihIUiweSy/2SIJgYa20jQcFaREREZMCq777quHUNyB0he6TWpo63Oz3YfUGBWmqRYbSSTN5BMvkXDMMDwHX3oK3tNHx/%2BZirGzkK1iIiIlIzqnfN6soF5Wpas7rSgXowQRoq1Z0e7L6gQC21KSCReJhU6kZMsxkAz9uSXO5sXHf41/xoo2AtIiIiNWEsDgEfCwYbpqFautOgQC21yrLeJJ2%2BAttu/2AvCFYllzuLQmFn4P%2Bzd%2BdRUpR338a/1cvM9MwwMKyKLAoKcYNo3EAUQYwaXOKC5I1KJCoiKr6JmqCPyRs1cccnRgRcMLIIISBqNEJc8khwCWr0QUVAAQVBwjo6%2B9Ld9f5BZmRkma6p6r6ruq/POR6gq6fnd%2BBmnIu7usoyO5whhDUAAAi87IlqSOmOaYmgBlrHsspUUPCk8vNfkSTZdrFqam5WdfVY2XbU8HRmEdYAAAD7lKn3VUtOQ9zNaeC9exf57l7WwQ5qYhrZzFZe3isqKHhcoVClJKmu7keqqvqdEolOhmfzB8IaAAAEWnp3q91ENaeA70trIrqRf2JaIqiR7UKhTYrFJika3fn1MJE4QpWVD6q%2B/ljDk/kLYQ0AAAIre6LajEzuWrsJaclpTEsENeBWUvn5z6mgYKYsq062nf%2Bf077Hy7bJyG/jdwQAAARSdkW1uRBPZ1y7jWmJoAZMsKxtKix8QNHoMklSQ8NAVVY%2BrHi8t%2BHJ/IuwBgAAgZNdUW1eYwC3NrC9COhdpTemW/N8iaBGrohG31Qs9geFQhWy7Ziqq%2B9UdfVoSSHTo/kaYQ0AAALDv1f/llof1a37uHTcv9rrQHaKoAZMqlcs9qjy8xdKkuLxI1VRMV3xuNO/l7mJsAYAAIFAVGcf5yHdiKAGvGRZ21RU9DtFIp/Iti3V1V2rysr/J9vOMz1aYBDWAADA19If1FIQT/8uLj44LbvWmdC6oM5ETEsENXJNOLxSRUW/VShUpmSyrSorp6uubqjpsQKHsAYAAL7l/6h2I7d2q7N9d1oiqBE80eirKiz8gywrrkSir8rL5ykeP9D0WIFEWAMAAF8KRlRzCvi%2BtD6mJYIaSK/8/GcViz0mSaqv/4HKy6fJts1eZyHICGsAAOArwQhqiajes8zGdGs/hqBGLrOVnz9HsdhTkqTa2qtVUXGXuOq3O4Q1AADwjWBEtX/C2A/vs3YX0o0IaiAzbBUU/FEFBU9LkmpqblZl5QRJltmxsgBhDQAAjMtMUEvmo9r7KM90XHsT0lLrLy7GRcmA1srPn9cU1dXVd6uqapzhibIHYQ0AAIwKxi615MeobpTOuPYupKXMx7TELjWwU17e3xSLTZckVVffRVR7jLAGAAAZF5wd6kb%2BjepGjQHcmsD2Np73JLhBXVY2QPF40pPXAkyJRN5RLDZJklRT839VVXWN4YmyD2ENAAAyJnNBLeVSVO/q24Gd/mjeGzdR7I%2BgLi0tklTlyesBpoRCm1RYeJ8sK6m6uv%2BjysrbTI%2BUlQhrAACQdrkZ1F69RuvkVlB7E9PSN6d8R/guGVmhXoWFdykUqlI8frQqKh4SFypLD75kAACAtMlsUEv%2Biupc4Sak3X6890ENZJNY7DFFImuUTJaqouIp2Xae6ZGyFmENAAA8F9yglryL6myOc7cx7fY1CGqgJZHIe8rPf1GSVFn5R8XjBxieKLsR1gAAwDOZD2rJn7vU2RrVJnenJYIaSFW1Cgv/IEmqrb1cdXVDDc%2BT/QhrAADgWrCDWiKq98X07rTkZVBLRDWyXyz2pEKhrUomu6uy8remx8kJhDUAAGg1gjrdr2eKFzHtxesQ1IBTodDnystbKEmqrJws2y4yPFFuIKwBAIBjwQ9qiaj%2BNr/EtERQA61lKxZ7VJaVVH39cNXVDTY9UM4grAEAQErMxLTk/6BO12tmglcx7dVrEdSAG5HIUkWjy2Tbeaqqutv0ODmFsAYAAPuUPUEtEdVStse0RFAjVzUoFpsmSaqtvUbxeE/D8%2BQWwhoAAOxV9kR1uuI3KFHtZUx79XoENeCl/PznFQ5/qWSyk6qrbzQ9Ts4hrAEAwG6yJ6il3I1qP8a0RFAD3rOsr1VQMEeSVF19m5LJNoYnyj2ENQAAaEJQ%2B%2BG13fA6pr18TYIaSJeCglmyrGolEkeotvbHpsfJSYQ1AADIsqCWciuq0xHTXr2u9zEtEdTArnbeXmuRJKmq6j7ZdsjwRLmJsAYAIMdlx62zGvktetPFzzEtEdRAptiKxR7b5fZaJ5oeKGcR1gAA5Ch2qf36OfYmXTHt5WsT1EAmRSLvKBr9X9l2VFVVd5keJ6cR1gAA5BiC2u%2BfZ1dBiGmJ908DJsQViz0uSaqrG6t4/ECz4%2BQ4whoAgBySXad9S9l36nc6Qzodn4OgBkzJz39W4fBGJZPtVVU1wfQ4OY%2BwBgAgB7BL7YV%2Bafi8mQhprz8Xp3sDpoVC/1ZBwWxJUk3NHdxeywcIawAAshy71F7aNU5bO0cmY9rLz0dQA/5gKxabLMuqU0PDQFVXX2J6IIiwBgAgqxHV6ZTpQHbC36d7SwQ10Fp5ea8oGv2XbDuqysqHJFmmR4IIawAAslbmozpXgtqvvA59ghrwG8vaoljsEUlSTc3NiscPMTwRGhHWAABkIaI6l/h/d1oiqAH3kios/G9ZVo3i8WNUXf0z0wNhF4Q1AABZhFO/cwlBDeSS/Pw/Kxr9QLYdU0XF47LtsOmRsAvCGgCALJFdu9QSUb0nnO4N5KJIZJkKCp6SJFVX3694vJfhifBthDUAAFkg%2B6IazRHUQK6yrB0qLLxXlpVUXd2PVF19qemRsAeENQAAAZZ9p343Yrc6PVcdJ6iBYEmosPBehUJfKZHoo4qKB00PhL0grAEACCiiOhsFJ6YlghpIt4KC2YpGP5RtF6qiYo5sO2Z6JOwFYQ0AQAAR1dkkXffDJqiBIItE3lV%2B/lxJUlXVH9TQwK21/IywBgAgYLI3qnNJumJaIqiB4AuFNqqo6F5Zlq26ustUU3OR6ZHQAsIaAIAAMRPV8EYwY1oiqIHMqlZR0e2yrCrF48eoouI%2B0wMhBYQ1AAABYS6qM7VbnY2ngaczpiWCGsg2SRUV3adweIOSyS4qL/%2BTbDvf9FBIgfGwXrdunaZNm6Zly5bp008/Va9evfTCCy80HU8kEnriiSe0ePFirV69WolEQn369NG1116rAQMGGJwcAIDMMLtLzSngzqQ7pKV0x7REUAOmFBQ8pWj0bdl2nioq5iqR6Gx6JKTIeFh/%2BumnWrx4sfr3769kMinbtpsdr62t1SOPPKIf/vCHuvzyyxWJRPTMM89o9OjRmjJlioYMGWJocgAA0i%2B3orqfgrlrnYmYltidBrJbNLpEBQV/kiRVV/9B9fVHG54IThgP66FDh2rYsGGSpAkTJuijjz5qdrygoECvvvqq2rZt2/TYoEGD9Pnnn%2BuJJ54grAEAWYv3U/tVpkJaYncayA2h0GcqLPxvSVJt7ThVV//Y8ERwynhYh0KhfR4Ph8PNolqSLMvSd77zHf3rX/9K52gAABhjPqpNnQLux13rTIZ0I4IayBWWVa6iojtkWXVqaDhZlZW/NT0SWsF4WLdGMpnU%2B%2B%2B/r969e5seBQAAT5kPasn8%2B6pNxrWJiG6U/piWCGrAXxIqLLxH4fBmJRI9VFExU7YdyETLeYH8U5s5c6Y%2B%2B%2Bwz3X777a5fKxLZ94453AmHQ81%2BBPaF9QKnsmnNlJa%2BZXoEn9k1cNMZ2SZDWspUTEtSWdnOi75GAvndX%2BZl09eXXGBZUjhsybYt06M4kp//pKLR/5VtF6q6ep4sqwN/RwMqcH9sb7/9tu677z799Kc/1bHHHuvqtUIhS6WlRR5Nhn0pKYmZHgEBwnqBU8FfM6%2BYHmAXpner9%2BTb8esktE2H895kKqiHNf2stDRDnzLLBP/rS26wbVvFxQWSgvQPIa9IWiBJsqw/qk2b48yOA1cCFdYrV67UuHHjNGzYMN10002uXy%2BZtFVeXu3BZNibcDikkpKYystrlEgkTY8Dn2O9wKmgrxl2qVvLr7HckszvTktVGfuc2SboX19ySUlJTJZlq6qqVrZdZ3qclIRCq1VYeJ8sS6qru0HV1cPF31f/SmUzNjBhvX79el1xxRU67LDDdO%2B998qyvDnNIx7nC2UmJBJJfq%2BRMtYLnArimvHHe6m/zY%2B71UGXuZiWdn3/dLD%2BPvhZEL%2B%2B5CLblhIJe7db9/qRZX39n4uV1auh4VSVl98q/s4GXyDCeuvWrfrpT3%2Bqjh07avLkycrLyzM9EgAArebPqIZ3TMU0AP%2BLq7DwLoVCW5VIHKTy8iclhU0PBQ8YD%2BuamhotXrxYkrRx40ZVVlZq0aJFkqTjjjtOhYWFuuKKK7R9%2B3ZNmDBBq1evbvbx3/1uZv/nBQBAa/k7qNmtdifz348Q1EDwxGLTFI1%2BKNsuUkXFn5VMtm35gxAIxsN6%2B/btuv7665s91vjrGTNm6IADDtDKlSslSddcc81uH79q1ar0DwkAgEv%2Bjmq0jpl/3CeogWCKRl9Tfv5fJEmVlY%2BpoaGv4YngJeNh3a1btxbjmHgGAARVMIKa3erUEdMAnAuFvlBh4UOSpJqaG1Rbe5bhieA142ENAEC2CkZUo2Xm3nZGUAPZoFZFRXfJsmrV0HCiqqpuNT0Q0oCwBgDAYwR10Jm/fgtBDWSPWGyqwuF1SiY7qqJiumybi5VlI8IaAAAPEdVBRUwD8F5e3svKz39Zth1SZeV0JRKdTY%2BENCGsAQDwAEEdROZjWiKogWwVCn2uWGyKJKm29mbV1Z1keCKkE2ENAIBLRHVQ%2BCOkJWIayH71Kiq6V5ZVp4aGU1RZeZPpgZBmhDUAAC4Q1X7mn5CWiGkglxQUzPjP%2B6o7qKLiCUkh0yMhzQhrAABagaD2I3%2BFdCOCGsgtkcgy5ec/K0mqqpqsRKKj4YmQCYQ1AAAOZV9Uf1fBvZc1MQ3APyyrUoWF/y3LslVXN0q1tWeaHgkZQlgDAOBA9kV1kPgzondFUAO5LRabolBoqxKJA1VRcbfpcZBBhDUAACnK7qj20661/wN6V8Q0AEmKRpcoL%2B%2B1/9xaa5psu9j0SMggwhoAgBZkd1Dv6ttBm4nQDlZENyKmAezKsioUi02VJNXW/kz19ccangiZRlgDALAPuRPVe9JS9LYU3sGM5r0hpgHsTUHBDIVCXymR6K2qqgmmx4EBhDUAAHuR21GdiuwK570hqAHsSzi8Unl5CyVJVVUPybbzDU8EEwhrAAC%2BhaAGMQ0gNQnFYg//5yrgI1VXN8j0QDCEsAYAYBdEde4ipgE4lZ//F0Uia5VMtlVl5V2mx4FBhDUAAP9BVOceYhpAa1nWdhUUPCVJqqm5Q8lkR8MTwSTCGgCQ8wjq3FJWNkDxeNL0GAACrqBgpiyrRvH40aquHmV6HBhGWAMAchpRnf0ad6UjkZBKS4skVZkdCEDghUKfKy/vFUlSdfW9kkJmB4JxhDUAIGcR1dmLU7wBpFMs9qQsy1Z9/VmqqzvO9DjwAcIaAJBzCOrsREwDyIRw%2BFNFo%2B/ItkOqqrrD9DjwCcIaAJBTiOrsQkwDyLSCgjmSpIaGCxSP9zY8DfyCsAYA5ASCOnsQ0wBMCYXWKhpdKtu2VFX1S9PjwEcIawBA1iOqg42QBuAXBQV/kiQ1NJyreLyP4WngJ4Q1ACBrEdTBRUwD8JtQaL2i0TclSdXVEwxPA78hrAEAWYmoDhZCGoDfFRTM/8%2BVwH%2BghobDTI8DnyGsAQBZh6j2P0IaQJBYVpmi0cWSpJqamwxPAz8irAEAWYOg9jdiGkBQ5eUtkmXFFY8frfr675keBz5EWAMAsgJR7T%2BENIDs0KD8/BclSbW11xqeBX5FWAMAAq%2B09C3TI0CENIDsFI2%2BoVBoh5LJzqqtPcf0OPApwhoAEFgEtVmENIBckJ//F0lSXd0Vsu08w9PArwhrAEAgcep35hHSAHJNOPyJIpFVsu2oamouNz0OfIywBgAEDlGdOcQ0gFyWn/%2BCJKmh4VwlEp0MTwM/I6wBAIFCVKcXIQ0AO1nW14pG/yFJqqm52vA08DvCGgAQGES19whpANizvLyXZVkNisePVH39MabHgc8R1gCAQCCqvUNMA0BLEsrP/6skqbZ2rCTL7DjwPcIaAIAsR0gDgDORyLsKhbYomWyn2toRpsdBABDWAABkIWIaAFqv8aJl9fWXyLYLDE%2BDICCsAQC%2Bx2ngLSOkAcAbodBGRaPvybYt1dSMMT0OAoKwBgAgoIhpAPBeXt6LkqR4fKji8QPNDoPAIKwBAAgIQhoA0q1WeXkv7/xZ7TjDsyBICGsAgO9t3Xp8Tp4OTkgDQGbl5b2mUKhKiURP1dWdanocBAhhDQAIhGyPayIaAEyzmy5aVld3hWw7ZHgeBAlhDQAIjGyJayIaAPwnHF6hcPgz2Xa%2BampGmR4HAUNYAwACJUhxTUADQHB8c4utC5RMlhqeBkFDWAMAAqcxWCORkEpLi1RWVqV4PNl0PBPhTTQDQPawrDJFo29IkmpqrjY8DYKIsAYAZB2iFwDgRF7e32RZccXj31NDQ3/T4yCAeEc%2BAAAAgByWUH7%2BzntX19ayW43WIawBAAAA5KxodKlCoe1KJturtvZc0%2BMgoAhrAAAAADkrL%2B9lSVJ9/aWy7XzD0yCoCGsAAAAAOcmyyhSJvCtJqqm51PA0CDLCGgAAAEBOyst7TZaVVDx%2BtOLxPqbHQYAR1gAAAAByUl7eq5KkurpLDE%2BCoCOsAQAAAOSccHiNwuHPZNtR1dZeYHocBBxhDQAAACDnRKP/I0lqaDhTyWSp4WkQdIQ1AAAAgJwTjS6VJNXVjTA8CbIBYQ0AAAAgp4RCGxQOfynbjqq%2BfojpcZAFCGsAAAAAOaVxtzoeH6hkssTwNMgGhDUAAACAnBKNvi1Jqq8/y/AkyBaENQAAAICcYVkVCoc/liTV159peBpkC8IaAAAAQM6IRP5XlpVUItFH8XgP0%2BMgSxDWAAAAAHJGJPKRJKmh4RSzgyCrENYAAAAAckYkslyS1NBwkuFJkE0IawAAAAA5wbIqFQp9Lkmqrx9odhhkFcIaAAAAQE4Ihz%2BWZdlKJA5SMtnJ9DjIIoQ1AAAAgJzQeBp4PM5uNbxFWAMAAADICZHICklSQ8Mgw5Mg2xDWAAAAAHJAQuHwaklSPH6M4VmQbQhrAAAAAFkvFPpCllUn2y5WPH6w6XGQZQhrAAAAAFkvEvlEkhSP95Nthw1Pg2xDWAMAAADIeuHwzrBOJI41PAmyEWENAAAAIOs1hnVDA%2B%2BvhvcIawAAAABZrl7h8OeSpIaG75kdBVmJsAYAAACQ1cLhtbKshJLJjkokDjA9DrIQYQ0AAAAgq33z/uqjJFlmh0FWIqwBAAAAZLXGK4I3NHDhMqSH8bBet26dfv3rX%2Bvcc8/VYYcdprPOOmuPz1u8eLF%2B%2BMMf6sgjSNxr1QAAIABJREFUj9Rpp52mp556KsOTAgAAAAiixh3reJwLlyE9jIf1p59%2BqsWLF6tnz57q3bv3Hp/z/vvva9y4cTrssMP02GOP6bzzztNvf/tbzZs3L8PTAgAAAAgSy6pUOLxRktTQcJThaZCtIqYHGDp0qIYNGyZJmjBhgj766KPdnvPwww/rsMMO05133ilJOuGEE7Rp0yY9%2BOCDuuCCCxQKGf/3AQAAAAA%2BFA5/KklKJrsrmexgeBpkK%2BNF2lIU19fX65///KeGDx/e7PGzzz5bW7du1ccff5zO8QAAAAAEWGNYx%2BPcZgvpYzysW7J%2B/Xo1NDSoV69ezR4/%2BOCDJUlr1qwxMRYAAACAAPjm/dVcuAzpY/xU8JZ8/fXXkqSSkpJmjzf%2BuvF4a0Uivv%2B3hUALh0PNfgT2hfUCp1gzcIL1AidYL8FiWVI4bMm2d7%2BVVuMVwZPJY/neH2nj%2B7BuZFl7vt/c3h5PRShkqbS0qNUfj9SVlMRMj4AAYb3AKdYMnGC9wAnWSzDYtq3i4gLtfkLuNknbJYVUXDxQEt/7Iz18H9Zt27aVtPvOdHl5uaTdd7KdSCZtlZdXt344tCgcDqmkJKby8holEknT48DnWC9wijUDJ1gvcIL1EhwlJTFZlq2qqlrZdl2zY5HIB4rFpESir3bmQ5WRGRFsqWzG%2Bj6se/TooWg0qrVr1%2Brkk09uenz16tWStNdbdKUqHucLZSYkEkl%2Br5Ey1gucYs3ACdYLnGC9BINtS4mELdu2mz0ejTa%2Bv/po/hyRVr5/k0FeXp5OOOEELVy4sNnjL7zwgjp16qTDDjvM0GQAAAAA/OybC5cdZ3gSZDvjO9Y1NTVavHixJGnjxo2qrKzUokWLJEnHHXec2rdvr2uuuUaXXHKJbr31Vp199tl67733NG/ePN1%2B%2B%2B3cwxoAAADAHthNt9pqaDja8CzIdsbDevv27br%2B%2BuubPdb46xkzZuj444/XUUcdpcmTJ%2BuBBx7Qs88%2Bq/3220%2B33nqrRowYYWJkAAAAAD5nWVsVClXKtqOKxw81PQ6ynOOwvvPOO3XxxRerZ8%2BengzQrVs3rVq1qsXnDR48WIMHD/bkcwIAAADIbuHwWklSMnmIbDvP8DTIdo7Po543b57OPPNMXXHFFXrttdfSMBIAAAAAuNMY1vF4P8OTIBc4DuslS5ZowoQJ2rhxo8aOHatTTz1V06ZN2%2B12WAAAAABgyjdhfZThSZALHId1cXGxRo0apYULF%2Brxxx/XIYccookTJ2rw4MH6r//6L61YsSIdcwIAAABAyr4J6yMNT4Jc4OqS2oMGDdLUqVP18ssvq3///lqwYIHOP/98/fjHP2660jcAAAAAZJJlVSoc3ixJiscPNzwNcoGrsK6vr9eCBQs0fvx4LV26VAceeKDGjh2rqqoqjR07VlOnTvVqTgAAAABISSj0uSQpmTxAyWSp2WGQE1p1u60NGzZo9uzZevrpp1VeXq4TTzxRjz76qE4%2B%2BWRJO2%2BXdf/992vGjBkaO3aspwMDAAAAwL40ngaeSHAaODLDcViPHTtWS5YsUV5ens477zxdeumlOuigg3Z73qmnnqrHH3/ckyEBAAAAIFXh8OeSeH81MsdxWK9evVo33XSTLrzwQhUXF%2B/1eYcccoj%2B%2BMc/uhoOAAAAAJwKhzdIkhKJvoYnQa5wHNavvPJKSs8rLi7WgAEDHA8EAAAAAG6EQhslSfF4H8OTIFc4vnjZEUccoQ8%2B%2BGCPx5YvX64jjjjC9VAAAAAA0BqWVaFQ6CtJUiLR2/A0yBWOwzoej%2B/1WCKRUCKRcDUQAAAAALRW4251MtlFyWQbw9MgV7i63da3rVy5UiUlJV6%2BJAAAAACkLBRqfH/1wYYnQS5J6T3WM2fO1KxZsyRJlmXp%2BuuvV15eXrPn1NbWasuWLTrttNO8nxIAAAAAUhAO/1uSlEwS1siclMK6bdu26t69uyRp3bp16tKly25XBG%2B8/dbo0aO9nxIAAAAAUhAKbZEkJRI9DU%2BCXJJSWJ9zzjk655xzJEk//vGPdccdd6h3by4EAAAAAMBfLKsxrLsbngS5xPHttmbPnp2OOQAAAADAtVBoqyQpmSSskTkphfXmzZvVoUMHRSIRbd68ucXnd%2BnSxfVgAAAAAOBMUqHQNknsWCOzUgrrU045RXPnzlW/fv00ePBgWZa1z%2BevWLHCk%2BEAAAAAIFWWVSbLisu2w0ok9jc9DnJISmF9%2B%2B23N1287I477kjrQAAAAADQGo0XLrPt/dSKd70CrZbSahsxYsQefw4AAAAAftEY1ry/GpkWMj0AAAAAAHih8cJlvL8amZbSjvXzzz/v6EXPPvvsVg0DAAAAAK31zY4197BGZqUU1jfddFPKL2hZFmENAAAAIOM4FRympBTWL730UrrnAAAAAABXOBUcpqQU1j169Ej3HAAAAADgSuOONWGNTOPiZQAAAACyQKUsq1qSlEh0MzwLck2rbu72xRdfaO7cuVqzZo3q6uqaHbMsS9OmTfNkOAAAAABIxTfvry6VbRcZnga5xnFYr169WiNGjFCHDh20ceNGHXzwwSorK9O2bdu033776YADDkjHnAAAAACwV6HQZklSMsluNTLP8angEydO1MCBA7Vo0SLZtq27775br7/%2BuiZNmqT6%2BnpHVxAHAAAAAC98E9ZcHwqZ5zisly9frvPOO0%2Bh0M4PTSaTkqRhw4bpsssu08SJE72dEAAAAABa8M2p4IQ1Ms9xWJeXl6tdu3YKhUKKRCKqqKhoOtavXz999NFHng4IAAAAAC2xrJ071olET8OTIBc5DuvOnTvrq6%2B%2BkiT17NlT7777btOxTz75RIWFhd5NBwAAAAAp4D3WMMnxxcu%2B973v6f3339ewYcM0fPhwTZ48Wdu2bVNeXp7mz5%2Bv4cOHp2NOAAAAANirUGirJO5hDTMch/VVV12lzZt3/mvQmDFjtGXLFj3//POyLEvDhg3ThAkTPB8SAAAAAPbOVii0XRJhDTMs27Zt00OYkkgktWNHlekxslokElJpaZHKyqoUjydNjwOfY73AKdYMnGC9wAnWS3C0b18ky6pXKBSTbRdo27bNkizTYyGLdOrUpsXnOH6PNQAAAAD4S0KSlEx2FVENExyfCj516tR9HrcsS1dddVWrBwIAAAAAZ%2BKSpGRyf8NzIFc5Duvf//73ez1mWTv/dYiwBgAAAJA5jTvWhDXMcBzWy5cv3%2B2xsrIyvfrqq5o1a5amTJniyWAAAAAAkJpdTwUHMs/xe6zD4fBu/3Xs2FEjR47U8OHDdc8996RjTgAAAADYI8tixxpmeXrxsv79%2B%2BvNN9/08iUBAAAAoAWENczyNKw/%2BeQTxWIxL18SAAAAAFrQGNZdDM%2BBXOX4PdbPP//8bo/V19dr1apVmjdvnn7wgx94MhgAAAAApGZnWCcS7FjDDMdhfdNNN%2B3x8Wg0qrPOOks333yz66EAAAAAIFWWZUtixxrmOA7rl156abfH8vPz1blz56bbbQEAAABAJtl2TLZdZHoM5CjHYd2jR490zAEAAAAArWbbbU2PgBzmOKzXrFmj119/XV9%2B%2BaUsy9J%2B%2B%2B2nE044Qd/5znfSMR8AAAAAtIiwhkkph3V5ebluvfVWvfzyy7Jtu9kxy7J03HHHaeLEierYsaMkacuWLercubO30wIAAADAHth2O9MjIIelFNb19fUaPXq0Vq5cqfPPP1/Dhg1Tt27dZNu2Nm7cqJdfflnPPfecRo4cqeeee05fffWVRo8erZdffjnd8wMAAACAbLvU9AjIYSmF9YwZM7R69WpNnz5dxxxzTLNjffr00ZAhQ/TDH/5QY8aM0S233KIPPvhA4XA4LQMDAAAAwLdxKjhMCqXypBdffFGjRo3aLap3ddxxx%2BmSSy7RSy%2B9pJKSEs2ZM8ezIQEAAABgX2y72PQIyGEphfVnn32mgQMHtvi8E088UZZlafbs2by/GgAAAEDG2HbM9AjIYSmFtRMFBQUqLuZfiwAAAABkUoHpAZDDUgrrnj17aunSpS0%2B75///Cf3uQYAAACQcbZNWMOclML6jDPO0PTp0/XBBx/s9TnLli3TjBkzdOaZZ3o2HAAAAACkJt/0AMhhKV0VfNSoUXr%2B%2Bed18cUXa%2BTIkTr11FPVrVs3SdKGDRv06quvau7cuerZs6d%2B8pOfpHVgAAAAAPg2dqxhUkphXVhYqCeffFI33nijZs2apaeeeqrZcdu2NWDAAN17772KxbhoAAAAAIDMIqxhUkphLUmdOnXS9OnTtWzZMr3xxhvatGmTJGn//ffXoEGD1K9fv7QNCQAAAAD7xqngMCflsG7Uv39/9e/fPx2zAAAAAECr2HbU9AjIYZ7fbgsAAAAAMi9segDkMMIaAAAAQBYgbWAOqw8AAABAFiBtYA6rDwAAAEAWIG1gDqsPAAAAQBYgbWCO46uCN6qsrNSHH36osrIyDRo0SCUlJV7OBQAAAAAOWKYHQA5rVVg/8sgjmjp1qmpqamRZlubPn6/DDz9cl112mQYNGqQrrrjC6zkBAAAAYK9smx1rmON49c2ZM0cPPvigzj33XE2ePFm2bTcdGzx4sP7nf/7H0wEBAAAAoGWENcxxvGM9a9YsjRo1ShMmTFAikWh27MADD9Tnn3/u1WwAAAAAkCLCGuY4Xn3r16/X4MGD93isuLhY5eXlrocCAAAAAGcIa5jjePW1adNG27dv3%2BOxjRs3qkOHDq6HAgAAAAAgKByH9fHHH69p06appqam6THLspRIJPSnP/1JAwcO9HRAAAAAANgX246ooeFI02Mghzl%2Bj/X48eM1YsQIDR8%2BXKeffrosy9KcOXP08ccf64svvtD999%2BfjjkBAAAAYI%2BSyW5KJKpMj4Ec5njH%2BqCDDtLs2bPVo0cPzZgxQ7Zt6%2Bmnn1ZRUZFmzZqlbt26pWNOAAAAAAB8qVX3se7Tp4%2BefPJJ1dTUqKysTG3btlVRUZHXswEAAAAA4HuuLp0Xi8XUtWtXRaNRrVu3Tslk0qu5AAAAAAAIBMdh/dRTT2nKlClNv/744491yimn6IwzztCZZ56pzZs3ezogAAAAAAB%2B5jis586d2%2By07/vuu0/FxcX6xS9%2BoYaGBk2ePNnTARu98sorGjFihI4%2B%2BmgNHDhQ1157rdauXZuWzwUAAAAAQKoch/WmTZvUq1cvSVJlZaXeeecd3XDDDRo9erSuu%2B46LVmyxPMh33zzTV177bU66KCD9NBDD%2BlXv/qVPvvsM40ePVqVlZWefz4AAAAAAFLl%2BOJl9fX1ikajkqRly5YpmUw23bu6e/fu2rZtm7cTSvrrX/%2Bqrl276p577pFlWZKkAw44QCNGjNC//vUvDR482PPPCQAAAABAKhzvWO%2B///567733JEl///vf1bdvX7Vp00aStGPHDhUXF3s7oaR4PK6ioqKmqJbU9DkBAAAAADDJcVifddZZevjhhzVixAjNmTNH55xzTtOx5cuX68ADD/RyPknShRdeqLVr12rmzJkqLy/Xhg0bdM8996h3794aMGCA558PAAAAAIBUOT4VfNy4cQqFQnr//fd19dVXa9SoUU3HVqxYoWHDhnk6oCQde%2ByxmjRpkm644Qb99re/lSQdfPDBeuKJJ5SXl%2BfqtSMRV3ccQwvC4VCzH4F9Yb3AKdYMnGC9wAnWS/DwfT1Msmzbtk0P0ZL33ntPY8aM0XnnnaehQ4eqsrJSU6dOVX19vebMmdPq089t2252ejkAAACA4OH7epgWiLA%2B//zz1bVrV02aNKnpsR07dujkk09uuiJ5ayQSSZWX13g1JvYgHA6ppCSm8vIaJRJJ0%2BPA51gvcIo1AydYL3CC9RIcJSUxSeL7eqRNaWlRi89xfCq4JH3xxReaO3eu1qxZo7q6umbHLMvStGnTWvOye7VmzRoNHTq02WPt27dX586dtX79elevHY/zhTITEokkv9dIGesFTrFm4ATrBU6wXoKDPyeY5DisV69erREjRqhDhw7auHGjDj74YJWVlWnbtm3ab7/9dMABB3g%2BZNeuXbV8%2BfJmj23dulVbtmxJy%2BcDAAAAACBVjt/hP3HiRA0cOFCLFi2Sbdu6%2B%2B679frrr2vSpEmqr6/XTTfd5PmQF198sf7%2B97/r9ttv1xtvvKGFCxfqyiuvVGFhYbOrkgMAAAAAkGmOd6yXL1%2BuX//61wqFdjZ5MrnzlIthw4Zp7dq1mjhxombOnOnpkBdffLGi0ahmz56tZ555RoWFhTryyCN1zz33qHPnzp5%2BLgAAAAAAnHAc1uXl5WrXrp1CoZAikYgqKiqajvXr109TpkzxdEBp5/u2R44cqZEjR3r%2B2gAAAAAAuOH4VPDOnTvrq6%2B%2BkiT17NlT7777btOxTz75RIWFhd5NBwAAAACAzznesf7e976n999/X8OGDdPw4cM1efJkbdu2TXl5eZo/f76GDx%2BejjkBAAAAAPAlx2F91VVXafPmzZKkMWPGaMuWLXr%2B%2BedlWZaGDRumCRMmeD4kAAAAAAB%2BZdm2bZsewpREIqkdO6pMj5HVIpGQSkuLVFZWxb0F0SLWC5xizcAJ1gucYL0ER/v2RZLE9/VIm06d2rT4HMfvsQYAAAAAAN9I%2BVTw%2Bvp6vf/%2B%2B4pEIurfv78ikYg2bNighx56SCtXrlTHjh01atQoDR48OJ3zAgAAAADgKymF9aZNm3TJJZfoyy%2B/lCQdeOCBmjp1qkaNGqXNmzerbdu2WrVqld566y3NmjVLRx99dFqHBgAAAADAL1I6FXzy5Mmqrq7WbbfdpokTJyoSiWjcuHFq166dFi9erKVLl%2BrVV19V79699eijj6Z7ZgAAAAAAfCOlHes333xT1157rS666CJJ0gEHHKCRI0dq4sSJ6tKlS9Njl19%2BuX7/%2B9%2Bnb1oAAAAAAHwmpR3rzZs3q2/fvk2/bvx59%2B7dmz2ve/fu2rp1q4fjAQAAAADgbymFdTweV15eXtOvo9GoJCkcDjd7XiQSUTLJ7QgAAAAAALnD1e22LMvyag4AAAAAAAIp5dtt/eIXv1AsFmv22A033KCCgoKmX9fU1Hg3GQAAAAAAAZBSWB911FG77U7v6ZZasVhM7du392YyAAAAAAACIKWwnjNnTrrnAAAAAAAgkFy9xxoAAAAAgFxHWAMAAAAA4AJhDQAAAACAC4Q1AAAAAAAuENYAAAAAALhAWAMAAAAA4EJKt9vak3Xr1untt99WWVmZzj//fHXs2FHbt29XmzZtlJeX5%2BWMAAAAAAD4luOwTiaT%2Bs1vfqP58%2BcrmUzKsiydeOKJ6tixo26%2B%2BWYdccQRGj9%2BfDpmBQAAAADAdxyfCv7II4/omWee0c9%2B9jM9%2B%2Byzsm276djgwYO1ZMkSTwcEAAAAAMDPHO9YL1iwQFdffbWuvPJKJRKJZse6deumL774wrPhAAAAAADwO8c71ps2bdLRRx%2B9x2MFBQWqqqpyPRQAAAAAAEHhOKzbt2%2BvDRs27PHYZ599pi5durgeCgAAAACAoHAc1ieffLIeeeQRbdmypekxy7JUWVmpWbNmaciQIZ4OCAAAAACAnzl%2Bj/X48eN14YUXavjw4RowYIAsy9If/vAHrVq1SpZl6eqrr07HnAAAAAAA%2BJLjHevOnTtr/vz5%2Bv73v6/33ntPkrRs2TKdcMIJmjNnjtq3b%2B/5kAAAAAAA%2BJXjHWtpZ1z/7ne/83oWAAAAAAACx/GONQAAAAAA%2BIbjHetf/epXez1mWZZKSkp05JFHaujQoYpGo66GAwAAAADA7xyH9T/%2B8Q9VVVWpsrJSoVBIJSUlKi8vVzKZVHFxsZLJpKqrq3XwwQdr%2BvTp6tChQzrmBgAAAADAFxyfCv7II4%2BopKRE9957r5YtW6Z//vOfWrZsme655x61adNG06dP18yZM7Vjxw498MAD6ZgZAAAAAADfcLxjfeedd%2BonP/mJzjnnnKbHotGozj33XJWVlenuu%2B/WU089pSuvvFJPPPGEp8MCAAAAAOA3jnesP/jgA/Xp02ePx/r06aPly5dLkg499FCVlZW5mw4AAAAAAJ9zHNZFRUV6%2B%2B2393js7bffVlFRkSSprq6u6ecAAAAAAGQrx6eCDx8%2BXI899pgsy9IZZ5yhjh07atu2bXrxxRf1%2BOOP6%2BKLL5YkLV%2B%2BXL169fJ8YAAAAAAA/MRxWN94443avHmzJk%2BerClTpjQ9btu2zjjjDN1www2SpH79%2BmnAgAHeTQoAAAAAgA85Duu8vDw9%2BOCDWrVqld555x199dVXateunY499lj17du36XmDBg3ydFAAAAAAAPzIcVg36tu3b7OQBgAAAAAgF7U6rCXp66%2B/Vm1t7W6Pd%2BnSxc3LAgAAAAAQGK0K60cffVQzZszQ9u3b93h8xYoVroYCAAAAACAoHN9u65lnntHkyZM1cuRI2batK6%2B8Updffrk6d%2B6snj176rbbbkvHnAAAAAAA%2BJLjsJ45c6auuuoqjRs3TpJ0%2Bumn68Ybb9SiRYtUWFioyspKz4cEAAAAAMCvHIf1unXr9N3vfleh0M4PjcfjkqRYLKbLL79cf/rTn7ydEAAAAAAAH3Mc1pHIzrdlW5al4uJi/fvf/2461r59e23evNm76QAAAAAA8DnHYd2jR4%2BmeD7iiCM0b948JRIJJZNJzZs3T127dvV8SAAAAAAA/MpxWA8aNEhLly6VJI0ZM0ZvvfWWjjnmGJ1wwglauHChLr/8cs%2BHBAAAAADArxzfbuv6669v%2BvnAgQM1a9Ys/fWvf5VlWTrllFN04oknejogAAAAAAB%2B5iis6%2Bvr9Ze//EVHHXWUevfuLUk66qijdNRRR6VlOAAAAAAA/M7RqeB5eXn6zW9%2Bo%2B3bt6drHgAAAAAAAsXxe6y7d%2B%2Bubdu2pWMWAAAAAAACx3FYX3rppXr88cdVVVWVjnkAAAAAAAgUxxcvW7dunbZv366hQ4dq4MCB6tSpkyzLajpuWZYmTJjg6ZAAAAAAAPiV47CePn16088XLly423HCGgAAAACQSxyH9fLly9MxBwAAAAAAgeQ4rMPhcDrmAAAAAAAgkByHdaO33npLS5cuVVlZmcaOHav9999fy5cvV9euXVVaWurljAAAAAAA%2BJbjsK6trdU111yjN998U7Zty7IsXXTRRdp///316KOPqmvXrvrlL3%2BZjlkBAAAAAPAdx7fb%2Bv3vf69ly5bpgQce0DvvvCPbtpuODRo0SG%2B99ZanAwIAAAAA4GeOd6wXLlyo8ePH68wzz1QikWh2bP/999eXX37p2XAAAAAAAPid4x3r7du3q0%2BfPns8Fg6HVVtb63ooAAAAAACCwnFYd%2BnSRatXr97jsVWrVqlbt26uhwIAAAAAICgch/Vpp52mKVOmaOXKlU2PWZalTZs2acaMGTr99NM9HRAAAAAAAD9z/B7ra6%2B9Vm%2B88YYuvPBC9e3bV5Zl6dZbb9W6devUo0cPjRkzJh1zAgAAAADgS453rIuLizV37lyNGzdOkUhEXbt2VSgU0ujRozVr1izFYrF0zAkAAAAAgC853rGWpMLCQo0bN07jxo3zeh4AAAAAAALF8Y71/fffr7Vr16ZjFgAAAAAAAsdxWE%2BfPl3Dhw/Xj370I82bN0%2BVlZXpmAsAAAAAgEBwHNZLlizRLbfcovr6ev3qV7/SSSedpF/%2B8pd6%2B%2B230zEfAAAAAAC%2B5jis27Vrp0svvVQLFizQc889p4suukivv/66Ro0apVNPPVUPP/xwOuYEAAAAAMCXHIf1rvr27aubb75Z//jHP/TQQw8pkUho0qRJXs0GAAAAAIDvteqq4Lv64osvtGDBAj377LP697//rc6dO3sxFwAAAAAAgdCqsK6pqdGiRYu0YMECvfvuu4pEIhoyZIh%2B85vf6KSTTvJ6xibz5s3TzJkz9dlnn6m4uFj9%2B/fX1KlT0/b5AAAAAABoieOwvuWWW7Ro0SJVV1fr0EMP1S233KKzzz5b7dq1S8d8TR566CE9%2BeSTGjt2rPr376%2Bvv/5aS5YsSevnBAAAAACgJY7D%2Bu9//7vOP/98XXDBBTr00EPTMdNu1qxZoylTpujRRx/VoEGDmh4/7bTTMvL5AQAAAADYG8dhvWTJEkWj0b0e37Fjh9q3b%2B9qqG9bsGCBunfv3iyqAQAAAADwA8dXBd9TVNu2rcWLF%2Bu6667TySef7Mlgu1q2bJn69Omjhx9%2BWAMGDNARRxyhSy65RCtWrPD8cwEAAAAA4ISrq4KvX79eTz/9tJ555hlt3bpV0WhUp59%2BulezNdm6dauWL1%2BuTz/9VLfddpui0agmTZqk0aNH66WXXlJJSUmrXzsScXXHMbQgHA41%2BxHYF9YLnGLNwAnWC5xgvQQP39fDJMu2bdvJB9TV1WnhwoV6%2Bumn9e6778q2bVmWpcsuu0xjxoxRaWmp50N%2B//vf17p16/TCCy/okEMOkSRt2bJFp556qsaPH68rr7yyVa/bODsAAACA4OL7epiW8o71Bx98oPnz5%2BvFF19UVVWVYrGYzjvvPJ1%2B%2Bum66qqrNHTo0LREtSS1bdtWHTt2bIpqSercubN69eql1atXt/p1k0lb5eXVXoyIvQiHQyopiam8vEaJRNL0OPA51gucYs3ACdYLnGC9BEdJSUyS%2BL4eaVNaWtTic1IK67PPPrspYL/73e/qggsu0A9%2B8AMVFhaqoqLC3ZQp6N27t7788svdHrdtW6GQu1M%2B4nG%2BUGZCIpHk9xopY73AKdYMnGC9wAnWS3Dw5wSTUqrSTz/9VJI0ePBg3XHHHbrwwgtVWFiY1sF2dcopp2jbtm365JNPmh7bvHmz1q5dq759%2B2ZsDgAAAAAAvi2lsL7lllvUt29fvfbaazr77LM1cuRIzZs3T5WVlemeT9LO%2B1Uffvjhuu666/Tiiy/qlVde0dixY9W%2BfXtddNFFGZkBAAAAAIA9cXTxsg8//LDpfdYVFRWKxWIaPHiw/va3v2nmzJk65phj0jbo9u1%2BJVwrAAAfLklEQVTbdeedd2rx4sWKx%2BM69thjdfPNN6tXr16tfs1EIqkdO6o8nBLfFomEVFpapLKyKk7PQYtYL3CKNQMnWC9wgvUSHO3b73z/K9/XI106dWrT4nMcXxVc2vOVwXv27KmRI0fqvPPOS9tFzLxGWKcf/1OCE6wXOMWagROsFzjBegkOwhrplraw3tX69es1f/58Pfvss9qyZYvy8/O1bNkyNy%2BZMYR1%2BvE/JTjBeoFTrBk4wXqBE6yX4CCskW6phLXru6j36NFDP//5z/Xaa69pypQpOumkk9y%2BJAAAAAAAgZHyfaxbEgqFNGTIEA0ZMsSrlwQAAAAAwPdc71gDAAAAAJDLCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXCGsAAAAAAFwgrAEAAAAAcIGwBgAAAADABcIaAAAAAAAXAhnWVVVVOvnkk9W3b199%2BOGHpscBAAAAAOSwQIb15MmTlUgkTI8BAAAAAEDwwnrNmjWaPXu2rrvuOtOjAAAAAAAQvLD%2B3e9%2Bpx/96Ec66KCDTI8CAAAAAECwwnrRokVauXKlrrnmGtOjAAAAAAAgSYqYHiBVNTU1uvvuu/Xzn/9cxcXFnr1uJBKof1sInHA41OxHYF9YL3CKNQMnWC9wgvUSPHxfD5MCE9ZTpkxRhw4ddP7553v2mqGQpdLSIs9eD3tXUhIzPQIChPUCp1gzcIL1AidYL8Fg2zbf18OoQIT1xo0b9cQTT%2Bjhhx9WZWWlJKm6urrpx6qqKhUVOf%2BLlEzaKi%2Bv9nRWNBcOh1RSElN5eY0SiaTpceBzrBc4xZqBE6wXOMF6CY7Gf/zg%2B3qkSyr/aBOIsN6wYYMaGho0ZsyY3Y6NGjVK/fv315///OdWvXY8zhfKTEgkkvxeI2WsFzjFmoETrBc4wXoJDv6cYFIgwvrQQw/VjBkzmj22YsUK3XXXXbrtttt05JFHGpoMAAAAAJDrAhHWJSUlOv744/d47PDDD9fhhx%2Be4YkAAAAAANiJS%2BcBAAAAAOBCIHas9%2BT444/XqlWrTI8BAAAAAMhx7FgDAAAAAOACYQ0AAAAAgAuENQAAAAAALhDWAAAAAAC4QFgDAAAAAOACYQ0AAAAAgAuENQAAAAAALhDWAAAAAAC4QFgDAAAAAOACYQ0AAAAAgAuENQAAAAAALhDWAAAAAAC4QFgDAAAAAOACYQ0AAAAAgAuENQAAAAAALhDWAAAAAAC4QFgDAAAAAOACYQ0AAAAAgAuENQAAAAAALhDWAAAAAAC4QFgDAAAAAOACYQ0AAAAAgAuENQAAAAAALhDWAAAAAAC4QFgDAAD8//buPsjK8rwf%2BHd5WRHIAstLCATUgF1RXqxTBtaIIoyRJqghEYoaQtSoFR3Nm1HqVGIGo1irEVa0QSWKYNWE6gBDmppQiLVYKzg4VFslTihUUgRltcIisL8//LG6LupuHmTd7OczswP7nPs859qz19xzvue%2Bz7MAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYA0AAAAFCNYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFBAu%2BYuoDGWL1%2BeJUuWZP369dmxY0f69euXc845J5MnT06bNt4bAAAAoPm0iGA9f/789OnTJ9///vfTvXv3PPXUU7nhhhvy3//937n66qubuzwAAABasRYRrO%2B6666Ul5fXfT9y5Mi89dZbWbhwYb797W%2BntLS0GasDAACgNWsR%2B6jfG6r3GzRoUGpqavL66683Q0UAAADwjhYRrA/kmWeeSdeuXdO9e/fmLgUAAIBWrEVsBX%2B/5557LosXL85ll12Wtm3bFjpXu3Yt9r2FFqFt2zb1/oUPo19oKj1DU%2BgXmkK/tDxe19OcSmpra2ubu4im2Lp1ayZNmpRPf/rTWbBgQdq3b/8Hn6u2tjYlJSUHsToAAOBQ87qe5taigvUbb7yRKVOmpKamJosWLUq3bt0KnW/v3n2prt55kKrjQNq2bZOyssNTXb0ze/fua%2B5y%2BITTLzSVnqEp9AtNoV9ajrKyw5PE63o%2BNt26dfrIMS1mK3hNTU0uvfTSvPrqq3nooYcKh%2Br99uwxUR4Ke/fu81zTaPqFptIzNIV%2BoSn0S8vh90RzahHBes%2BePbnyyivzwgsv5IEHHkjfvn2buyQAAABI0kKC9Q9/%2BMOsWLEiV111VXbt2pVnn3227raBAwemc%2BfOzVgdAAAArVmLCNZPPPFEkuRv/uZvGtx2//33Z8SIEYe6JAAAAEjSQoL1r3/96%2BYuAQAAAA7IH3sDAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAJaTLB%2B%2BeWXc%2BGFF%2Bb4449PZWVlZs6cmV27djV3WQAAALRy7Zq7gMaorq7O1KlT06dPn8yePTvbt2/PjTfemNdffz233HJLc5cHAABAK9YigvXf//3fp7q6Oo8%2B%2BmjKy8uTJG3bts33vve9XHrppRkwYEAzVwgAAEBr1SK2gq9atSqVlZV1oTpJTj/99JSWlmblypXNWBkAAACtXYsI1hs2bGiwKl1aWpr%2B/ftnw4YNzVQVAAAAtJCt4NXV1SkrK2twvKysLDt27PiDz9umTUnKyzsVKY2PUFLyzr9duhye2trmrYVPPv1CU%2BkZmkK/0BT6peVo06Yk%2B/bVpl27FrFmyB%2BpFhGsP0htbW1K9s96f4CSkpK0bfuH35/Ga9PGREfj6ReaSs/QFPqFptAvLUPbtiXp1s2CGc2nRcwUZWVlqa6ubnD8jTfeOOBKNgAAABwqLSJYDxgwoMFnqXfv3p2NGze6IjgAAADNqkUE65NPPjmrV6/Oa6%2B9Vnfsn/7pn7J79%2B6ccsopzVgZAAAArV1Jbe0n/3IM1dXVGT9%2BfPr27Ztp06Zl27Ztuemmm3LSSSfllltuae7yAAAAaMVaRLBOkpdffjkzZ87MM888kw4dOmT8%2BPH53ve%2Blw4dOjR3aQAAALRiLSZYAwAAwCdRi/iMNQAAAHxSCdYAAABQgGANAAAABQjWAAAAUIBgDQAAAAUI1gAAAFCAYE0hU6ZMSUVFxQG/li1bVjdu5cqV%2BfKXv5whQ4bktNNOy8KFC5uxappTY3rmmmuuOeDtq1ataubqaQ6PP/54Jk6cmBNOOCEnnnhiLr/88vz2t79tMM48Q9K4fjHH8F4rVqzIhAkTMnjw4JxyyimZPXt29u7d22CcOQb4MO2auwBathkzZuTNN9%2Bsd%2By%2B%2B%2B7LL3/5y1RWViZJ1q5dm2nTpuWss87KNddckzVr1mTmzJkpLS3NxIkTm6NsmlFjeiZJ%2BvXrl1tuuaXeuAEDBhySGvnkePLJJ3P55ZfnzDPPzLe%2B9a1UV1enqqoq559/fpYtW5bOnTsnMc/wjsb2S2KO4R3PPvtspk2bli9%2B8Yv5zne%2Bkw0bNuS2227Lzp07c/XVV9eNM8cAH0WwppCBAwc2OPbd7343n//851NeXp4kueOOO3LsscfmRz/6UZJk5MiReeWVV3L77bfnq1/9atq0sXGiNWlMzyRJhw4dcvzxxx/K0vgEWrZsWfr06ZNZs2alpKQkSdK3b99MnDgxzzzzTE455ZQk5hne0dh%2BScwxvGPOnDkZNGhQ/vZv/zZJMmrUqOzduze33XZbLrzwwvTo0SOJOQb4aGYBDqo1a9Zk06ZNOeOMM5Iku3fvzurVq/OlL32p3rgzzjgjW7duzX/8x380R5l8gry/Z%2BC99uzZk06dOtWFpCT51Kc%2BVW%2BMeYb9GtMv8F7PP/98TjrppHrHRo0albfffjtPPPFEEnMM0DiCNQfV0qVLc/jhh2fs2LFJko0bN%2Bbtt9/O5z73uXrj9q9abtiw4ZDXyCfL%2B3tmv40bN%2BbP/uzPMnjw4HzlK1/J448/3kwV0pzOPvvs/Pa3v82CBQtSXV2dTZs2ZdasWRkwYEDdRwfMM%2BzXmH7ZzxxDktTU1KR9%2B/b1jpWWliZ5d%2B4wxwCNYSs4B82ePXvyi1/8ImPHjk3Hjh2TJDt27EiSlJWV1Ru7//v9t9M6HahnkmTQoEEZMmRIBg4cmDfeeCMPPvhgLrvsstx%2B%2B%2B0ZN25cM1bMoTZ8%2BPBUVVXlu9/9bmbOnJnknRez9957b92LX/MM%2BzWmXxJzDO868sgjs27dunrHnn322STvzh3mGKAxBGsOmn/5l3/Jtm3bMn78%2BAa3vXdbXmOO0zp8UM9MnTq13vdjxozJ5MmTM3v2bC96W5k1a9bkqquuyle/%2BtWMGTMmb775Zu66665cdNFFefDBB%2BtdjMo8Q2P7xRzDfuedd16mT5%2Be%2B%2B67L2eddVZeeuml/PjHP07btm0bzB3mGODD2ArOQbN06dJ07dq13meVunTpkqThu7nV1dVJGr77S%2BtyoJ45kDZt2uQLX/hCNmzYkF27dh2i6vgkmDlzZkaOHJlrr702lZWVOe200zJv3ry8/PLLeeSRR5KYZ3hXY/rlQMwxrdeECRNy/vnn5%2Babb86IESPyjW98I5MnT06XLl3Ss2fPJOYYoHEEaw6KXbt25Ve/%2BlXGjRtX77NK/fv3T/v27Rv8DdGXXnopiT9t0pp9UM98kNra2kNQFZ80GzZsyDHHHFPvWHl5eXr16pWNGzcmMc/wrsb0ywcxx7ROJSUlueaaa7J69eo89thjefLJJzNp0qRs3749w4YNS2KOARpHsOag%2BPWvf53/%2B7//a3Bl59LS0owcOTLLly%2Bvd3zp0qXp2bNnjj322ENZJp8gH9QzB7Jv37784z/%2BY44%2B%2Buh06NDhEFTHJ0WfPn2yfv36ese2bt2a//3f/03fvn2TmGd4V2P65UDMMXzqU5/KMccck7KysixYsCB9%2B/bNiSeemMQcAzRO2x/84Ac/aO4iaPluvfXW1NTUZPr06Q0%2Ba9SvX7/cddddeeWVV9KpU6csWbIk8%2BfPz/Tp0zN48OBmqpjm9kE9s3nz5lx22WV5%2B%2B2388Ybb2T9%2BvWZOXNm1q5dm%2Buvv97KQCt033335bXXXku7du2yfv36zJgxI7t27cr111%2BfTp06JTHP8K6P6hdzDO%2B1bt26LFmyJDt37syLL76Ye%2B65J4sWLcqPf/zj9O/fv26cOQb4KCW19j5R0I4dO/L5z38%2BU6dOzVVXXXXAMStXrsytt96aDRs2pHfv3jn//PNz3nnnHeJK%2BaT4sJ55/fXXM3369Kxfvz7bt29P%2B/btM3jw4Fx88cUZNWpUM1VMc6mtrc3DDz%2BcRYsWZePGjenYsWOGDBmSb3/726moqKg31jxDY/rFHMN7Pf/885kxY0ZefPHFJMmwYcNy5ZVX5k//9E8bjDXHAB9GsAYAAIACfMYaAAAAChCsAQAAoADBGgAAAAoQrAEAAKAAwRoAAAAKEKwBAACgAMEaAAAAChCsAQAAoADBGuCP2OLFi1NRUVH3deyxx%2Bbkk0/O9OnT8/vf/765yzsoXnrppcyZMyebNm1q1Pj9z0ljxk%2BZMiVTpkwpWuKHWrNmTebMmZPq6uqPfPydO3dmzpw5eeqppz7WmgCAphGsAVqBG2%2B8MQ899FDuvffeTJo0KUuXLs25556bt956q7lLK%2Byll15KVVVVNm/e3Kjxo0ePzkMPPZRevXp9zJU1ztq1a1NVVXXAYD1jxozMmDGj7vudO3emqqoq//Zv/3YoSwQAPkK75i4AgI/f0UcfnSFDhiRJRo4cmb1792bu3Ll5/PHHc%2BaZZxY69969e7N3796UlpYejFI/duXl5SkvL2/uMhpl4MCBzV0CANAIVqwBWqHjjz8%2BSfI///M/dce2bt2a6667LieffHIGDx6cMWPGpKqqKnv27Kkbs2nTplRUVGTevHmZO3duxowZkyFDhmT16tVJkurq6tx0000ZO3ZsBg8enMrKylx00UXZsGFD3Tl2796duXPnZty4cRk8eHBGjhyZ6dOnZ/v27fVqHDNmTC655JKsWrUqEyZMyNChQzNu3Lj87Gc/qxuzePHiXHnllUmSr3/963Vb3hcvXvyBP/uBtoLX1tZm3rx5OfXUUzNkyJBMmDAhK1euPOD933zzzcyaNStjxozJ4MGDM2rUqNxwww0NVv8rKirywx/%2BMI8%2B%2Bmj%2B/M//PMOGDcuZZ56ZFStW1I2ZM2dObr755iTJ2LFj6%2Brfv9X7vVvBN23alMrKyiRJVVVV3dhrrrkm//7v/56KioosXbq0Qb2PPvpoKioqsm7dug98TgCAYqxYA7RCv/vd75KkbuV269atmThxYtq0aZPLLrss/fv3z9q1a3PnnXdm8%2BbNufHGG%2Bvdf8GCBTnyyCNz9dVXp3PnzjniiCPy5ptv5txzz83mzZvzzW9%2BM8OGDctbb72Vp59%2BOlu3bs2AAQOyb9%2B%2BTJs2Lc8880wuvPDCnHDCCdm8eXPmzJmTdevW5ec//3k6dOhQ9zgvvPBCZs2alYsuuig9evTII488kmuvvTZHHHFEhg8fntGjR%2Bc73/lObr311lx33XU57rjjkiT9%2B/dv0vNRVVWVqqqqnH322Tn99NOzZcuW/PVf/3X27duXo446qm7czp0787WvfS1btmzJX/7lX6aioiIvvvhiZs%2Benf/6r//KT3/605SUlNSN/%2Bd//uc899xzueKKK9KxY8fcfffdufzyy/OLX/wi/fr1y8SJE7Njx44sWLAgVVVV6dmzZ5IDr1T36tUrd999d775zW/m7LPPzsSJE%2Bt%2Bh/3798%2Bxxx6bhQsXZvz48fXu98ADD2TIkCEZOnRok54TAKDxBGuAVmDfvn3Zs2dPampq8vTTT%2BfOO%2B9Mp06dMmbMmCTvrJzu2LEjy5YtS58%2BfZIklZWV6dChQ2bNmpULL7ywXtg77LDDcs8996R9%2B/Z1x%2B644468%2BOKLmT9/fk488cS641/4whfq/r98%2BfL85je/yZw5c%2BodP%2BaYY3L22Wdn8eLFOffcc%2BuOv/baa3nwwQfraho%2BfHhWr16dJUuWZPjw4SkvL88RRxyR5J0wun8lvimqq6szb968nHbaabnhhhvqjg8cODDnnHNOvWC9YMGC/Od//mcefvjhuq31lZWV%2BfSnP50rrrgiq1atyimnnFI3vqamJvPnz0/nzp2TJMcdd1xGjRqV5cuX5%2BKLL07v3r3zmc98JkkyaNCgfPazn/3AOktLS%2BveOOjdu3eDn3XKlCmZPn16nn/%2B%2BQwaNChJsm7dujz33HOZNWtWk58XAKDxbAUHaAUmTZqU4447LieccEIuueSS9OjRI/PmzUuPHj2SvLOyOmLEiPTq1St79uyp%2Bzr55JOTpMHFssaMGVMvVCfJb37zmxx55JH1QvX7rVixImVlZTn11FPrPc6gQYPSs2fPBo8zaNCgulCdvBPojzzyyHpb2Itau3ZtampqcsYZZ9Q7fsIJJ6Rv374N6j/66KMzaNCgevWfdNJJKSkpaVD/iBEj6kJ1kvTo0SPdu3dv9IXWmmL8%2BPHp3r17Fi5cWHfsgQceSHl5eb74xS8e9McDAN5lxRqgFZg1a1YGDBiQdu3apXv37g2uiL1t27asWLGibkX0/V577bV63%2B/fsvxe27dvr1t9/SDbtm1LdXV1Bg8e3KjH6dq1a4MxpaWlqamp%2BdDHaYrXX389SereZHiv9x/btm1bfve73zX6eToU9b/3vH/xF3%2BR%2BfPn5/vf/3727NmT5cuX5/zzz28xF5YDgJZKsAZoBQYMGFC3dflAunXrloqKinzrW9864O3vD%2BLv/RzxfuXl5dmyZcuH1tGtW7d07do1d9999wFv79Sp04fe/%2BOwP/y%2B%2BuqrDW579dVX661ad%2BvWLYcddlh%2B9KMfHfBc3bp1%2B3iKbKRzzjkn8%2BbNy89//vPU1NRk7969mTx5crPWBACtgWANQEaPHp2VK1emf//%2B6dKlyx90jlGjRmX27Nn513/917qrVx/ocZYtW5Z9%2B/Zl2LBhRUqus381dteuXX/Q/Y8//vgcdthhWbJkSU4//fS642vWrMnmzZvrBevRo0fn7/7u79K1a9f069evWOH/3/76G7OK/VE/a69evXL66adn0aJFefvtt3PqqafW20oPAHw8BGsAcsUVV%2BTJJ5/M5MmTM2XKlBx11FHZvXt3Nm3alFWrVuX6669P7969P/QcU6dOzfLlyzNt2rRcfPHFGTp0aHbt2pWnn346o0ePzsiRI/OlL30pS5YsycUXX5wpU6Zk6NChad%2B%2BfbZs2ZKnnnoqY8eOzWmnndak2o8%2B%2BugkycMPP5xOnTrlsMMOy2c/%2B9lGrx536dIlF1xwQe68885ce%2B21GTduXLZs2ZI5c%2BY02PI%2BderU/PKXv8zXvva1fOMb30hFRUX27duXV155JU888UQuuOCCJr9h8Cd/8idJkvvuuy8TJkxIu3btctRRR9X7bPZ%2BnTt3Tt%2B%2BffOrX/0qlZWV6dKlS7p161bvomdTp06tu2L4%2B6/mDgB8PARrANKrV6/87Gc/y9y5c3PPPffk97//fTp16pS%2Bfftm1KhRKSsr%2B8hzdO7cOYsWLcqcOXPy8MMP54477khZWVmGDBmSSZMmJUnatm2bO%2B%2B8M/fff38ee%2Byx/OQnP0nbtm3Tu3fvDB8%2BvC5kNkW/fv3yV3/1V7n//vvz9a9/PXv37s2NN96Yr3zlK40%2Bx5VXXpmOHTtm0aJFeeyxx/K5z30u119/fe6999564zp27JiFCxfmJz/5SR566KFs2rQpHTp0yGc%2B85mceOKJDS521hgjRozIJZdckn/4h3/II488kn379uX%2B%2B%2B/PiBEjDjj%2BhhtuyM0335xLL700u3fvzoQJE3LTTTfV3T506ND07ds3HTp0%2BMCdAwDAwVVSW1tb29xFAAAHxwsvvJCzzjor1113Xc4777zmLgcAWgUr1gDwR2Djxo3ZvHlzbrvttvTs2bNJK/YAQDH%2BjjUA/BGYO3duLrjggrz11lu5/fbbc/jhhzd3SQDQatgKDgAAAAVYsQYAAIACBGsAAAAoQLAGAACAAgRrAAAAKECwBgAAgAIEawAAAChAsAYAAIACBGsAAAAoQLAGAACAAv4fA3l5DDUj5G4AAAAASUVORK5CYII%3D">
 
 <br>
 <br>
@@ -303,7 +338,7 @@
 <br>
 
 <h3 id="Aligned_read_length_vs_Percent_identity_plot_using_dots">Aligned read length vs Percent identity plot using dots</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3wU1f7/8fdsCiHE0JEi0iSAiIBcEBAEKYoCIiDYKCqCKF7rvRcB71UEG1IUVERFBUQEpAgoiJSriIheQaQoEDohlIRQ05P5/ZFv5rebbJJNMsmkvJ6PBw92N7OzZ8%2BUnc%2Bccz7HME3TFAAAAAAAyBeX0wUAAAAAAKAkIMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMBGrjVq1Mj6d/z4ca/LLF261Fpm8ODBhVzCkq9Lly5W/W7dutXp4pRYdtczx0XB49gAnLd48WLrOHzwwQdtW%2B9PP/1krbd79%2B62rbc4uu%2B%2B%2B6y6%2BOqrr5wuTpGXnJzscf168uRJp4uEEszf6QKg8GzdulVDhgyxngcHB2vz5s0KDg52sFQAgKKoUaNG2f49ODhY5cuXV8OGDdW6dWv17dtXVatWLaTSAQBQNNGCXYosX77c43lsbKzWrl3rUGkAIGszZsywWhqef/55p4sDL2JjYxUZGakffvhBU6ZM0S233KJ33nlHKSkpThcN2Thy5Ih1bF177bVOF6fUmzZtmrU9xo0bZ%2Bu6afEvGtgOpQ8t2KVEXFyc1qxZk%2Bn1ZcuW6a677nKgRACA4iIsLEzVqlXzeO3SpUvat2%2BfYmNjJUlJSUmaMWOGIiMj9corrzhRTAAAHEeAXUp8%2B%2B231kXQDTfcoL179%2Bry5cvaunWrTpw4oZo1a9r6ef369VO/fv1sXScAwBkPPfSQ13N6UlKSli9frtdee02XL1%2BWJH355Zfq0KGDbr/99sIuJoqIAQMGaMCAAU4Xo0RbsGCB00UAkAW6iJcSy5Ytsx4PGDDA6qJimibJMQAAeRIQEKABAwbogw8%2BkJ%2Bfn/X6rFmzHCwVAADOIcAuBSIjI/XLL79IkoKCgnTrrbfqzjvvtP6ecWw2AAC58be//U3dunWznv/55586ffq0gyUCAMAZdBEvBZYvX67U1FRJaVPYhISEqF27dqpWrZpOnz6tw4cPa/v27WrZsqVtn7l06VKNGTNGktSmTRvNmzcvx/ds2rRJS5Ys0Y4dOxQVFaXQ0FDVrl1bPXr0UL9%2B/RQaGuqRCb1WrVrasGGD13V16dJFERERkqS5c%2BfqxhtvVEJCglauXKmvvvpKhw8fVkxMjCpUqKBmzZqpb9%2B%2BuvXWW3P1HU3T1MaNG7Vu3Tpt27ZN0dHRio%2BPV%2BXKldW4cWN17dpVffr0UWBgoM/rPHPmjBYsWKD169fr%2BPHjMk1T1atX14033qh77rlHjRs3zlUZfTVjxgy98847kqS%2Bffvq9ddflyT9%2BOOPWrFihf744w%2BdOXNGly5d8vh7RnFxcVq1apU2btyovXv3Kjo6WoZhqEqVKrrhhht0xx13qFOnTj6VKSkpST///LO2bNmiXbt26dChQzp//rwkqUKFCqpfv77atm2rgQMHqlKlSrn6vk7Vc17YtZ9ltY23bdumhQsX6vfff9fJkycVGBioq6%2B%2BWl26dNHQoUMVEhLic1kjIiK0YMECff/99zpx4kSW9ert%2BEw3ePBg64ZgumXLlnn0wnG3fv16XXXVVdmWy%2B5jPyv9%2B/fXrl27JEkjR47UM88849P7EhIS1L59e126dEmS9NZbb3ntXh0eHq4lS5bot99%2B05EjR3Tp0iW5XC6VK1dONWvWVMOGDa1At2LFirZ8p9zo2LGjvv32W%2Bv5/v37M43bdhcTE6MVK1bohx9%2B0MGDBxUdHa3AwEBVq1ZNbdq0UZ8%2BfXz6Xbr55pt16tQpSdL8%2BfP1t7/9TRcvXtSKFSu0Zs0aHTt2TFFRUUpKSrL%2B7k14eLi%2B/vprbdmyRREREYqJiZG/v7%2BqVKmisLAwtW3bVj169Mj2O6U7cOCAVq1apc2bN%2BvEiRM6d%2B6cQkJCdNVVV6lDhw4aMGCAatWqle06jhw5Yu2bfn5%2B2rNnjyTp9OnTWrx4sdatW6cTJ04oPj5eVatWVevWrTVkyBA1adLE6/oWL16sF154weO1lJSULLPFP/XUU3r88cdz/K45fVa7du306aef5vierVu3avHixdq2bZvOnDmj8uXL66qrrtIdd9yhvn376oorrshTWUzT1IYNG7Ru3Tpt37490zm0W7du6tOnjwICArJdz7Rp0/T%2B%2B%2B9Lku6%2B%2B24rz8D//vc/LVy4UDt27NDJkycVFBRknUOHDBmS5Tn0vvvu07Zt2zxe%2B/LLL/Xll196Xf77779X9erVvb5/0qRJ6tOnj9eypjt69GiW2zr9/e7va9mypb744oss6yOjIUOGWFMjPvTQQ3lOTpnVfn/kyBF98cUX%2BvHHH3Xy5EklJyerZs2a6tSpk%2B677z7Vrl07T5%2BXneTkZK1atUrr16/Xnj17FB0dLZfLpSpVqqh58%2Ba67bbb1LVrVxmG4fX9ed0OKP4IsEsB9xbq9JZrl8ulnj176pNPPpGUdgFrZ4CdG3FxcRo9erTHhZkkRUVFKSoqStu3b9fcuXM1ffr0PH/GoUOH9OSTT2rfvn0er585c0YbNmzQhg0bdOutt2rKlCk%2BBcR//fWXXnjhBe3cuTPT3yIjIxUZGamNGzfqgw8%2B0JQpU3T99dfnuM5169Zp3LhxOnfunMfrBw4c0IEDB7Rw4UI9/fTTGjFiRI7ryq9Lly5p3LhxXhPjZeXbb7/VK6%2B8Yl3oujt69KiOHj2q5cuXq127dpo6dWq2QfHWrVv15JNPZqqLdKdOndKpU6e0ZcsWzZo1S2PGjNHAgQN9KmdRquecFMR%2Bli4xMVGTJk3KdPMrPj5eu3bt0q5du7RgwQLNnj07x%2BmaJGnJkiWaOHGileshnXu9PvPMMxo%2BfLjPZbSD3cd%2Bdu68804rwF61apXPAfbGjRut4DokJERdunTx%2BLtpmpo8ebI%2B/vhj62apu8TERMXExGj37t1avny5PvnkE33zzTf5%2Bi55UaNGDY/nWR2/kvTZZ5/p7bff1oULFzxeT0hI0MWLF3XgwAEtWLBAvXr10iuvvKKgoCCfy7Ft2zY9%2B%2ByzioyM9Gn5S5cuaeLEifrqq68y1W9SUpKOHTumY8eOaf369XrjjTe0ePHiLLNvx8fH6/XXX9eiRYsyZVOPiYlRTEyMdu7cqY8//lhPPPFErs8z69ev15gxY6ybjenSy7h8%2BXL961//0kMPPZSr9TopKSlJL774opYsWeLx%2BpkzZ3TmzBlt375dc%2BbM0YwZM3K97j///FPjxo3T7t27M/3N/Rz64YcfavLkyWrWrJnP605MTNRrr72mzz//3OP1hIQE7dy5Uzt37tQXX3yh2bNnq2HDhrkuuxMGDBigWbNmyTRNbd%2B%2BXQcOHFCDBg1yfN%2BxY8c8bozefffdtpZr6dKleumll5SQkODxenh4uMLDw7VgwQKNGzfO1s/dsWOHnn/%2BeR08eDDT3y5fvqwjR45oxYoVat68ud58803VqVPHts9G8UeAXcJt27ZNhw8fliRVrFhRHTt2tP525513WgH26tWrNW7cOJUpU6ZQy5ecnKxRo0Zp8%2BbN1muGYahhw4aqWLGizpw5o4MHDyoiIkIPP/ywxo4dm%2BvPOHPmjJ577jmdOXNGklS3bl1deeWVunjxovbu3WtdBK1du1ZvvPGG/v3vf2e7vl9%2B%2BUWPPfaYdUEsSaGhoapfv74CAwN14sQJHT9%2BXFJaYDl06FB99NFHatWqVZbr3Lhxo5566iklJydbr1WpUkV169ZVfHy89u3bp8TERE2ZMkXlypXLdR3khmmaeu655/Tf//5XUlprcb169WQYho4ePer1PZ988oneeOMNmaZpvVajRg3VqlVLpmnq4MGDiomJkSRt2bJF9913nxYsWJBlkH3y5EmPi/Py5curdu3aCgkJUVJSko4ePWptz9jYWP373/9WUlKSHnjggWy/W1Gq55wUxH7m7sUXX9TSpUsl/f9t7Ofnp/3791sX72fOnNEjjzyi1atXZ9uSvXTpUo0bN85j%2B1etWtWq1/DwcMXFxWny5MkqW7ZstuVq1qyZAgMDrZsyklStWjWFhYV5XT67wMvuYz8nPXv21BtvvKGUlBQdP35c27Zt0w033JDj%2B1atWmU9vvXWWzOdh9966y199NFH1nPDMFSnTh1Vq1ZNLpdLFy5c0OHDh62bG96C8MKQlJTk8TyrFsGXX35Z8%2BfP93itTp06uvLKK5WUlKR9%2B/ZZCdNWrVqlEydOaM6cOT7dADl06JBeffVVqy7q1q2ratWqWUF7RqdOndIjjzyS6QZM7dq1Vb16daWmpurUqVPWsZacnJzpJlK6CxcuaMSIEdq%2Bfbv1mr%2B/vxo0aKCKFSvqwoUL2rdvn5KTk5WQkKApU6YoJiZGo0ePzvF7SWk9ip544gmlpqYqICBADRs21BVXXKGTJ0/qyJEjktK2/euvv67atWt7dNmXpOrVq6tDhw6Kj4/X//73P0lp%2B9JNN93k9fOuvvpqn8qVH6Zp6h//%2BIfHzVzDMNSgQQNVqlRJp06d0pEjR3T8%2BPFct4pu2bJFo0aNsvYlKe23pH79%2BgoICFBERITVk%2Bbw4cMaMmSIPvnkE7Vo0cKn9Y8bN04rVqyQlHZ9VbduXblcLu3fv9%2B6cXTq1CkNHz5cq1atynQObdGihYKDg3XkyBEdO3ZMUto2uuaaa7x%2BXm5uANarV08dOnTQuXPnrJt%2BZcuWzfL3Ib1XxlVXXaWbbrpJP/74o6S0FnVf9s8vv/zSOv%2B3bNkyy%2B%2BQF%2BvWrbN6RPr7%2ByssLEwhISE6evSoTp48KSntOuCFF16Qy%2BWyJcHuL7/8okcffdTjWE/vOZeSkqLw8HBrv9qxY4fuv/9%2Bffrpp5lupOR1O6AEMFGi/fvf/zbDwsLMsLAwc/z48Zn%2B3rNnT%2BvvX3/9tU/rTF8%2BLCzMPHbsmNdllixZYi0zaNCgLNf1/vvve6zv0UcfNY8fP%2B6xzIEDB8xBgwaZYWFh5o033mgte8stt2S53ltuucVark2bNmZYWJg5cuRI8/Dhwx7LRUZGmoMHD7aWbdy4sXno0KEs1xsZGWmtLywszLzjjjvM77//3kxJSfFYbteuXWb//v2t5Tp16mSeP3/e6zqjo6M91tmmTRvzm2%2B%2B8Vjn%2BfPnzddee80MCwszmzVrZrZo0cJa/ueff86yvL6aPn26tb6WLVuaYWFh5k033WR%2B8803ZnJysrVcSkqKefToUY/3bty4MdM2/OuvvzyWSUlJMdeuXWu2a9fOY7msLF%2B%2B3Ozdu7c5Z86cTJ%2BX7s8//zQfeeQRa33NmjXLclnTLBr17OtxURD7mfs2Tl/3zTffbH733Xce601KSjJnzZplNmrUyFp%2B2rRpWZb16NGj5vXXX28t27FjR3Pjxo1mamqqtczly5fNd955x2zSpInP9epe3tGjR2f5%2BRkV1LHvq4cffjjbc25GFy5cMK%2B77jrrPZs3b/b4%2B%2BnTp82mTZtaf3/hhRfM06dPZ1pPamqquWfPHnPq1Knm/fffn%2B/vYZqe5/olS5bkuPzs2bM93vPrr79mWubTTz/1WGbMmDGZfkcSExPNBQsWmM2bN7eWe/XVV7P83I4dO2Y6fz3yyCPmwYMHPZaLiYnxOD6SkpLMe%2B65x6M8o0ePNo8cOZLpM6KioszPPvvM7NGjh9fvZZqmOWrUKI/z0axZs8yLFy96LHPu3Dlz4sSJHp/53XffeV3f4cOHrWUaNWpktm7d2mzcuLE5depU88KFCx7Lbtu2zezQoYO1fJcuXTyOwazW26RJE6/L5NeiRYuszxg6dGiWyy1YsMCjLoYMGZKp/nfv3m326dMn0zVAt27dslxvRESE%2Bbe//c1atlevXuamTZsy1ckff/xh9u3b1%2BO6IuM2Szd16tRM55bOnTub69at8ziHJiYmmjNnzvT4XjNmzMiyrO7rHTt2bJbLZXTvvfda71u%2BfLnXZTZv3uxTfblbs2aN9Z62bduaiYmJ2S6fnJzscQwuXrzY5%2B/gTcb9Pr2uR48ebUZFRXksu2nTJrNTp04ex52349c00453920SGRnpdbmzZ8%2Ba7du3t5a74YYbzCVLlnjUQ1xcnPnRRx95nJt79uxpJiQkeF1nXrYDijeSnJVgCQkJWr16tfXcPbFZut69e1uPCzvZ2fnz5/Xee%2B9Zz2%2B55Ra99957mcal1a9fX7Nnz1arVq2sVtDcOHfunHr16qX33nsvUxee6tWra%2BbMmdZdw9TU1Gyzqr/00ktWy2rz5s21ePFi3XzzzXK5PA%2Blpk2bat68eVY3wsjISM2dO9frOmfMmGGts0yZMpo9e7Zuv/12j3WGhobq%2Beef12OPPaaEhIQsW1DscPnyZYWEhGjevHm6/fbbPTIDu1wuj3FOcXFxHr0KBg0apPfffz9Tl2KXy6Xu3btr/vz51l38jRs3Zhprm6579%2B5asWKFhgwZkuW4qsaNG2vWrFnWWK2EhIRMXfXcFbV6zk5B7Gfuzp07p8qVK2vBggXq1q2bx3r9/f01YsQIDRo0yHotu3PDtGnTFB8fL0m64oorNHfuXHXu3NljTFpwcLBGjRqlcePGFWq92nns%2B8r9nLp69WqP3hLerFmzRomJiZLSWv3btm3r8ffNmzdbLcOtWrXShAkTVLVq1UzrMQxDTZo00TPPPOPTPlAQ3LulBwQEZOpGHRERocmTJ1vPx4wZo1dffTXTGPqAgADde%2B%2B9mjVrlnX%2BmTdvnk6cOJFjGS5fvqyuXbvq/fffV7169Tz%2BVqFCBYWGhlrP586d69HaPHbsWL3%2B%2ButeW24rV66sBx54QF9//bWuu%2B46r9/9u%2B%2B%2Bk5TWq2LOnDkaMWJEplbL8uXLa9y4cXrqqaes1958802P3h/emKap8%2BfP6%2BWXX9YzzzyTaTxyy5Yt9c4771jH3fHjx61W6qIqNjZWU6dOtZ63bt1aH374Yab6v/baazV37lzVr1/f52uA//znP1YrcsuWLbVo0SJ16NAh01jZZs2a6bPPPrN%2BsyIiInzKGXPu3DlVrVpVCxYsUNeuXT3OoQEBARo5cqTuu%2B8%2B67WsckgURV26dFGVKlUkSWfPntXGjRuzXX7Tpk3W0LBy5crpjjvusK0spmnq3LlzGjBggF5//XVVrlzZ4%2B8dOnTQvHnzVKFCBUlp1wGTJk3K12fOmDFDUVFRktK25QcffKB%2B/fp59MgJCgrSsGHD9MYbb1iv7d%2B/37FzL4oeAuwSbP369dYPTJ06dbx2e%2Brdu7f1g/Pjjz9aXSkLw8qVK60L8zJlymj8%2BPGZAoh0gYGBmjBhQpaJJLITGhqq8ePHZ/necuXKeYzbyZh0JF14eLjVbTogIEBTpkxRcHBwlp9btmxZjR8/3nr%2BxRdfZLqIiouLs7qYSdKDDz7o9eIt3RNPPKG6detm%2BXe7PPHEE5kuTr1ZtmyZoqOjJaXdCEnvxpWVevXqaeTIkdbzrObxzK5e3blcLv3rX/%2BynmeV9K6o1rM3BbGfefOvf/1LNWvWzPLvQ4cOtR6nj1XMKCYmRmvXrrWejxo1Ktt6e%2BCBB3zufmkHu4793OjevbvVDf7s2bMew1%2B8ce8e3qtXr0znQPecBr50N5fkcVOssMyePdsjV0CHDh0y7bfz5s2zbiZ07NhRDz74YLbrvPHGG9W/f39Jacm4Fi5cmGM5ypQpo5dffjnHOkhKSvJIvHXbbbd57PNZcblcXocluHfhHzVqVI45TUaOHGmdYw8fPqwtW7bk%2BNnpydGy0rx5c4/jy479uSCtWbPGGo7i7%2B%2BvCRMmZNkNOjQ0VP/5z398Wu/evXu1adMmSWnXDlOmTMl2aEpwcLBeeukl67mvib2ef/55j6RjGbnvT8ePHy82WfUDAgI8ulkvXrw42%2BXd/96zZ0%2Bff799Vbly5WyHBtSuXVtPPvmk9XzDhg15ruvLly973FAePHhwtsOuevbs6ZEk8/PPP3dsiA6KFgLsEix9fKXk2arirmbNmlZG1ZSUFK1cubJQyialZcRM17lzZ1155ZXZLt%2BgQQO1bt06159zxx135JgJ2f0E6i2hhZR2QyA9cOnSpYtPGSuvv/56q%2BUsfTy5u61bt1pjbA3D0P3335/t%2Bvz9/XXvvffm%2BLn54e/vr759%2B/q0rHvQ%2BsADD8jfP%2Be0Du49KdIzjuZH7dq1rYzJR44cyZQ0Kf1zilo9Z6Ug9rOMQkJC1LNnz2yXqV27tkdLqbd1btmyxWpdzXhRlpV77rknx2XsYtexnxvlypXzSFKW3Tn11KlTHr04vJ2n3cdj//XXX/kun50uXbqkX3/9Vc8884xHq1FAQIDHBW8697pInw0iJ%2B514sv5wr31LTu//fabx82LvGbLltIS%2BaUn0QoICPBoucyKy%2BVSr169rOe%2BfDdfEjm634SxY38uSOvXr7cet2vXLsebuu3atfMp4Zb771K3bt1yzNYupdVb%2BnInT560ctdkpXz58urRo0e2y9SrV8%2BjxbWobw93AwcO9Gh8SR/rnFFUVJR1Q1hStjeA8qpPnz45nsf79etnBfYpKSk5trpn5eeff7bGVhuGocGDB%2Bf4HvcbKREREdq7d2%2BePhslCwF2CXX69Gn99NNP1nNv3cO9/a0wuzG5t3a4T9OTHV%2BXc%2BdLdnT3u9AXL170uox7d7vclMM96UXGTKZ//PGH9fiaa67J9m54uptvvtnnz86LBg0aWN2tspOQkGAl7ZB8r5Mrr7zS6qYZHR3tNeu4u6ioKC1fvlyvv/66nnvuOY0cOVLDhg3z%2BJfe5dg0Ta93rotiPWelIPazjJo2bZrjlDSS53Hh7caF%2BzHcuHFjlS9fPsd15uUYziu7jv3ccg8K169fr7i4OK/LffPNN1ZrR/369dW0adNMy7j3tNi0aZMmTZrkdVsUtDFjxqhRo0Ye/1q1aqVBgwZ5dA338/PTxIkTM3UPP3TokNXt0jAMtWnTxqfPdd%2Bv06fryY6vSf7cj7M6derka2o%2B93U1bdrU5%2BmkcnPMSvKp90dOx2xR4n5e7tChg0/v8eW8/Ntvv1mPc3O%2BCXNLpJjTvnbdddf5dEPZveHArvNLYahdu7batWsnKW34jHuDjbvly5dbw2DCwsJyNZOFr9yT82albNmyHg0w3mbe8IX7PtmwYcNse3mla9Wqlccxv2PHjjx9NkoWsoiXUCtWrLAy5Lq3bnnTo0cPTZgwQYmJidq3b592797t9ULPTvHx8R5jqerXr%2B/T%2B3xdzp0vrRnuXf6yuhgODw%2B3Hn/55ZdZdkfOyD07bcbxY%2B5ZuX2dxqNu3boKCAjIlLHXLr7OJXn48GGPMrzyyis%2Bd011n2ojJibGa%2B%2BFU6dO6bXXXtPatWszTXeTHW8XMUWxnrNSEPtZRt7G8Hrj3q0yfTiHO/du474em7Vq1VJQUJDX9dnNrmM/tzp06KAKFSro3Llzio2N1fr16z1aK9O5t%2Bhm1cuoVatWuu6666ybWbNnz9Znn32m9u3bq127dmrZsqWaNm3qSLfwjJo1a6axY8d67cruvl/7%2B/tr1KhRuV5/%2Bvj97Lqg%2Bnr%2BOnTokPU4v793%2B/fvtx4fP35cw4YN8%2Bl97jMl%2BDK22Jf9OadjtqhISEjwuBkalsUsARn5kp3afXssWrTIGhufE/eWx5y2hy/bQiqY80thGThwoNVQs2TJEj322GOZhtu4z9ldEK3Xku%2B/2ddcc43VMzI9q35uuV8r%2BLpPGoahsLAw68ZOVrOtoHQhwC6hvM19nZXQ0FB16tTJ%2BhFatmxZgQfYGYMg98Qz2fG1ZcCdLy11OUlNTfVoDfClJcWbjN/bfZ2%2BtBpLaS1EISEheUr45gtfp6fKOMetL2MIvfEWEIeHh2vw4ME6e/ZsrteXPsbTXVGsZ28Kaj/LKC/HhLdx3e6f4%2BsxLKUdx4Vx8W/HsZ/Xz7399tutHAMrV67MFGAfOnTIo9UyqwDbMAzNmDFDw4cPt4LUhIQEbdy40eoGGRISoptuukn9%2BvVT586dC%2BAbpV1suk8hYxiGgoODVb58eTVs2FBt2rTJthXY/XyRlJRkTQOUWxcvXsw2wPb1/OU%2Bj3RW0wX6yv27RUVF5em7uU/H542fn1%2Bub6L4kovBKRnn8fb1vJzTcsnJyR516UvPAG8K6xxalHXr1k2VK1dWdHS0jh8/rp9//tlq1ZbSem6k36gKDAzM8Vozr/Kyb%2BS194b7%2B9KHnvnCfdmi3nMEhYMAuwTatWuXxx3ct99%2BW%2B%2B8806273FvUVy1apVGjx5doBenef2hceoHKj4%2B3pbEFRnL7946mpv6zs18mLmVVaK5jOy6G5%2BxXlNSUvT0009bwXX6D3fnzp3VoEEDVatWTWXKlPGory5duljzmXpTFOvZm4Laz4qaol4%2BO/Tu3dsKsDdv3qyYmBiPizD31uuWLVtm2/Jas2ZNLVu2TAsXLtSiRYsyzdl86dIlffvtt/r222/VokULTZ482eeWXF899NBD%2BZpf1q7M8TntO74mwnS/EZff49yOc2FpS4zk65zpGeW0rQrqd6k0CggIUN%2B%2Bfa0EfosXL/YIsN1br2%2B99VafA%2BHcMAzDp674kue%2B4e1Guy/c35fXa4W8fjZKFgLsEijjOOrcjvuJiYnR999/r27dutlZLA8ZW7t8veOX013%2BghIcHOzRXXjevHk%2BjyHMjnvijvTEGr7IzbIFxb03gb%2B/v3bs2OHzD2F2Nm7caN0gCggI0Jw5c3LMnpxTfRSXei6o/ayguO8Dublr79RxXJhatWqlq666SsePH1dSUpJWr17tkVzv66%2B/th5n1XrtLjAwUIMHD9bgwYMVGRmprVu36rffftNPP/2k48ePW8v9/vvvGjp0qJYtW%2BbTmPjC4n7Or1Onjkf2eSe4lye/Y2Pd1zVgwABNnDgxX%2BsrDTImrfL1XJvTcuXKlZPL5bIC5M8//9zncfnIbODAgZo9e7ZM09R3332nc%2BfOqUKFCrp06ZLWrFljLec%2BGwt5RXAAACAASURBVIOdTNNUbGysTz1T3PeNvPR2zPi%2B3Pz%2Bu/%2Bm5aY3F0oukpyVMElJSR7TvuRVQc%2BJHRQU5NGa42t2TSezcLqXN6/jezJy75qYXQusu3PnzhWJAMU9O2pycrLP5c%2BJ%2B7RGvXr1yjG4jouLyzG4K071XBD7WUGpUaOG9djXYzMiIqJIjw21k3u3cPfz8h9//GFlKfb399ftt9%2Beq/XWqFFDd911lyZMmKD169dr6dKl6t69u/X3iIgIffbZZ/krvM3cj8ETJ0443srjPoY2v8eZ%2B3cr6sdsUXHFFVd4tBD6el52v5nkjcvlKlbn0KKuTp06VqK4xMREq%2BfN119/bfUWqF27ttq2bVtgZcjLvpHXYR/u78tpX3PnPu46N13LUXIRYJcw//3vf63xYIGBgfrtt9%2B0d%2B9en/65X5D997//LfCxp82aNbMeu09Vkx07pnXKK/cMrnkdb5yRe6bdP//806dkXnnNjmm3OnXqePyQ2FUn7omz3PeRrOzYsSPH7nzFqZ4LYj8rKO7b56%2B//so0rtIbX491966%2BxbVLufuYxG3btlkXiu7dwzt06JDvMcBNmzbVjBkzPDIm5zT/dmG7/vrrrW2alJTkkenZCe7H2a5du/J108d9Xb///rtt3eELivswIKeOLZfL5TFm39fzrS/LNW/e3Hpc1M%2BhUsFuDzvOo%2B5TK6bPee0%2B9/Xdd9/t89CMvPB133Cf1SSveYTcrxV2795tZUjPTkxMjEeA7e2zS8LvGXKHALuEce8e3qFDhxznDnTXqlUrK7twUlKSRxfGgtCpUyfr8caNG3OcrunAgQMe06EUtptuusl6vG7dOp05cybf60yfg1xKazH15aLYfUocJxmGofbt21vPFy5caMt6c5u125feFsWpngtiPyso7dq1s1qhkpKSfJrmz9f9xD2RVXFt8W7QoIF1wWaaplatWqWUlBStXr3aWsaX7uG%2BMAzDY/7t6OhoW9Zrl4oVK3pceKaPT3dK27ZtrcAmNjY22/nKc9KmTRvrOEhMTCzU6S7zwj3TeGpqqmO9CdzPy99%2B%2B22ONz4vXbqkH374Icf1uk/59d133xW5YyEj9%2B3hng/HDnacR7t162bdBNy7d6%2BWLFliBb1%2Bfn7q27dv/guaDV9%2Bi/fv3%2B%2BRmyKvwwLycq3w9ddfWzf5/f39PW7wpCsJv2fIHQLsEuTs2bMePz633XZbrt7vcrk8uhkW9EVC7969rR%2BWhIQEjR8/PsuWyMTERL344ouOJh658847rRbb9PLm905kgwYNPC46p0%2Bfnu1FxoEDB7RixYp8faadhg4daj3es2eP5syZk%2B91umcq3rZtW7bL7tixw6f6KE71XBD7WUGpWLGibr31Vuv5e%2B%2B9l%2B0UJV988YW2b9/u07rdu/AeO3Ys74V0mHsAvWrVKv3888/WTZPg4GB17do12/fnZtu7t5wWpfHX6dzPF2vXrvV5CrqCUL16dY88I9OmTctzIFa%2BfHnddddd1vPp06fbNmSmIFSoUMGje7ZTx5d7nZ04cSLHm28zZ870KYnZXXfdZe3/cXFxevnll/NX0ALmPm2i3VM8uZ9Ho6Oj85RXJDAw0GNbjR8/3np88803e51m004//vhjjo0rU6dOtR7XqFEjz13Ww8LCPHpmvfXWW9m2Yl%2B8eFHvv/%2B%2B9bxr165eu4jbsR1QvBBglyArV660Wv8CAgJyvHDzpkePHtbjXbt2ecxdarfy5cvr8ccft56vX79ef//73z26CEtp09kMHz5cv/76q6NjW4KDg/Xkk09az7/77jv94x//yHGc7sWLF/XZZ5/pmWee8fr3ESNGWI937typ8ePHez2hnzx5Uo8//rhPXZYKS/PmzT3Gj77xxhuaPXt2ji0RERERmjRpkscPU7rWrVtbj9esWZNlF7/du3frscce83mO7OJSzwW1nxWUZ555xrpRdv78eQ0ZMkTff/%2B9R2AYGxurmTNn6uWXX1aZMmWynWYpnfsNkT179jg6PCQ/evbsabWU7tu3T2%2B//bb1t%2B7du3u0XnnzyiuvaMqUKZnOixlFRETo888/t567t8QUFT179tT1118vKe3GwbPPPutTy/H%2B/fv1wgsv2J4b5IknnrCy/0ZHR2vo0KHZBjgpKSlauXKl13wDjz/%2BuBXUnTt3TkOGDMlxiqjU1FT99NNPGjZsWKHOnevv7%2B8xx%2B%2BcOXMcuXnduHFjj9bm119/Pcvz/VdffaWPP/7Yp/WWK1dOf//7363na9as0T//%2Bc8cg5oLFy5o7ty5eu6553z6HLu4d0vetWuXrT31atWqZWX3Tk1N1bx58/K0Hvdu4u6t7AWV3Cyjp59%2BWgcOHMj0ummamj59usfNukceecTn2VC8GTlypPV4z549Gjt2rNdeHhcvXtSoUaOsG6Z%2Bfn4e1xnu7NoOKD7IIl6CuF98tG/fPk9ZFFu3bq0qVaooKipKUlor9j//%2BU/bypjRww8/rJ9//tnqhrNu3TqtX79eDRs2VMWKFRUVFWWdVMuXL6/nn39eo0ePluTMHLf333%2B/duzYYdX1qlWrtGnTJvXq1UutWrWy7lKeP39e4eHh%2Bv333/XTTz8pKSnJa7chKe2mRpcuXawfiIULF%2BqPP/7QgAED1KBBAyUkJOi3337TggULdOHCBbVs2VKRkZE6efJk4XzpHEycOFHh4eHav3%2B/UlJSNGnSJC1cuFA9e/ZU06ZNVaFCBSUmJio6Olp//fWXfv31V%2B3YsUOSNHz48Ezru%2BOOOzR16lSdOXNGycnJGj58uO6%2B%2B2517NhR5cuX1%2BnTp/XDDz9o5cqVSk5OVocOHXTgwIEcA5DiVM8FsZ8VlNq1a%2Bs///mPxo4dK9M0FRkZqREjRqhatWqqW7euEhIStG/fPqvlaezYsfr444%2Bt1taspt1p0KCBmjRpoj///FOmaWrIkCFq1KiRatSo4TEf8IQJEzwS7hU1V155pW688UYrcEjf9yXfuodfunRJ8%2BbN04cffqiWLVuqTZs2atSokSpVqiR/f39FR0frf//7n5YuXWrdhClXrpwGDx5cMF8oH/z8/DR9%2BnTdfffdioqKUlxcnP7xj3/ok08%2B0W233aZGjRopJCREcXFxioqK0p49e7RlyxZrVgG79%2B1GjRpp7NixeumllySlBfJ33HGHevbsqfbt26t69epKTU3VqVOntGPHDn333Xc6c%2BaM5s%2Bfr/r163usq2bNmnrzzTetm3PHjx9X//791blzZ3Xs2FF16tRRUFCQLl26pIiICO3atUubNm2yLs4Lu5dKr169rBsACxcu1IYNGxQWFqagoCBrmd69e%2Bc6AV9uvfjii7rrrrt0%2BfJlJSQk6OGHH9add96pLl26qFKlSjp16pS%2B%2BeYbrV%2B/XlLa74MvXYYHDx6s33//3UouuGLFCv3www/q3bu3brjhBlWuXFmmaXqcQ7ds2aKkpKQcE2varVGjRgoLC9O%2BffuUmpqqQYMGKSwsLNO57pVXXslTI0OvXr2sHDvTpk3TokWLVK9ePZUpU8Za5sEHH8x2xoq6deuqTZs2Hjk0qlatqs6dO%2Be6PLnh5%2Benrl27au3aterXr58GDhyodu3aKSQkREeOHNGyZcs88jm0aNHCY7aGvOjWrZv69Omjr776SlLazZ2dO3fqnnvuUaNGjZSSkqJdu3ZpwYIFHtcHjz76qK677ros12vHdkDxQYBdQuzdu1d79uyxnue2e3g6l8ulbt266YsvvpCU9qP07LPPepzk7eTv7693331Xo0eP1rfffisp7UIj4zyvtWrV0vTp0625kaW8T8OQX6%2B99poqVapk3U0/f/685s%2Bfr/nz5%2Bd5nZMnT9awYcOs7rN//vmn125t1atX15QpU4rUxXNISIjmz5%2Bvp59%2BWj/99JOktMyt7733Xp7WFxQUpDfffFPDhw9XUlKSkpKStGDBAq9jNq%2B55hq9%2BeabPt9FL071XBD7WUHp16%2BfUlNT9corr1iB8%2BnTp3X69GlrGT8/Pz399NMaNGiQZs6cab2e3XE8YcIEPfzww1aW%2BPSEjO7Gjh1r51cpEL17987UMle5cmWPHAY5MU1T27Zty3HYRHBwsGbMmOGR4b0oqVGjhhYtWqTHHnvM2pa7d%2B/OsbW3oNx3333y8/OzerQkJSVp%2BfLleWot79Spkz766CM9/fTTOnfunEzT1MaNG7Vx48YCKHn%2BDBo0SBs2bNCvv/4qSTpz5kymfA/ZBQt2ufrqqzVz5kyNGDFC8fHxSk1NzbL%2B%2B/Xrp969e/ucH2PSpEmqUqWKPv30U0lpPQvmzZtXJFsPJ06cqGHDhunixYsyTdPrue4///lPntb95JNPasuWLVZjRURERKYhDL5cM95zzz0eAXbfvn1tmZozJxMnTtTBgwcVHh6uuXPnau7cuV6Xa9CggWbOnJmv1mv3z0xISLCmIjt48KBee%2B21LJd/8MEHPXqeeWPXdkDxQBfxEsL9x8jf3z9P3cPTuXcTP336dIFnoy1btqymT5%2BuDz/8UD169FD16tUVEBCgypUrq0WLFhozZoyWL1%2Bu6667ziPAdqq7uMvl0ujRo7Vo0SJ16tQp2x8YwzDUpEkTPfXUUx5dQzMqV66c5syZo%2BHDh3u0IKTz8/NTt27dtHTpUtWqVcuW72Gn8uXLa/bs2Zo2bZqaNGmS7bKBgYFq166dJk6c6NEVy127du00b948j26M7sqWLat7771XixcvzlUG5uJUzwWxnxWku%2B%2B%2BW6tWrdIjjzyihg0bKjg4WOXKlVODBg103333aenSpRoxYoSSk5M9so1ndxw3a9ZMq1at0siRI9WiRQtVqFChUC7o7Hbbbbd5tFJIaS1xvty4HDhwoPr376/q1atnu1yZMmXUq1cvrVy50iNRXlFUq1Ytffnll3rxxRdVp06dbJcNDg5Wly5dNG3aNPXp06dAyjNw4ECtWLFC3bt3z7ZnVJUqVfTggw%2BqYcOGWS7Trl07rV69Wo888ojVJTQrVatWVf/%2B/fXZZ5/lWA92CwwM1KeffqpXX31VnTt3VvXq1b2eEwvDjTfeqKVLl3oMD3JXsWJFPf/889kGON74%2BflpzJgx%2BuKLL9SxY8ccz6FNmzbV008/rWnTpuXqc%2BzQvHlzrVq1So8%2B%2BqiaN29u67mufPnyWrJkicaNG6f27duratWqWfYcyk6jRo2sx4ZhFFr38PLly2vhwoXq16%2Bf1%2BMzICBA99xzjxYtWpTvGRnSBQYG6q233tIbb7yh2rVrZ7lc48aN9cEHH2jMmDE5ZlK3azugeDDMopo9B/BiwoQJVhebESNGFPpYKW8uXbqk3377TZGRkTp//rxcLpdCQ0N19dVXW105c7u%2BLVu26Pjx4zJNU9WrV1erVq0KPJGInU6dOqXt27crKipKFy9eVJkyZVSxYkXVq1dPjRs39vlCzjRN7dy5U7t27dKFCxcUGhqqGjVqqE2bNipXrly%2Byljc6tnu/cwpu3btUv/%2B/SWlBRg//vijwyUqPk6cOKF9%2B/YpIiJCFy9elGEYCgkJUf369dWsWbNczRpRlBw5ckQ7d%2B60kv8EBwercuXKql%2B/vsLCwgp1ONClS5f066%2B/WsdZYGCgqlatqrCwMDVq1ChX0xGlpqZq9%2B7d2r9/v2JiYpSYmKiQkBBVr15d11xzjerVq1eA36R4OnTokLZt26bo6GiFhISodu3auvHGG20JRNzPoefOnZOfn59CQ0NVp04dNWrUiPmLczB16lTNmjVLUlrm/ILqCXDkyBEreaafn59H78yzZ8/ql19%2B0cmTJ5WSkqIaNWqoffv2Od7Myq%2B//vpLe/bsUXR0tFwul6pUqaIWLVoU%2Bo0xFB8E2Cg24uPj1blzZ2t%2B7vfeey9fLfUACt/48eOtZFzdu3fXO%2B%2B843CJAADZSUpK0i233GINI5g8ebJtUwxmlF2ADRQXdBGH43y5x2Oapl5%2B%2BWUruK5SpYpuvvnmgi4aAB/4ep92y5YtHlPxFPT8qQCA/Pvqq6%2Bs4LpSpUqMFQZyUPwGs6HEGTVqlBo3bqwePXp4HXO7a9cuvf322x5zfA8fPtyRLOIAMvvyyy%2B1efNm9e3bV23bts003jgmJkYLFizQe%2B%2B9Z02r1rRp0wLPQAsAyJ/w8HCPeaaHDBnC2GEgBwTYcFxUVJTeffddvfvuu9Z4qCuuuEJxcXE6evSooqOjPZbv1KmThg4d6lBpAWSUnJys1atXa/Xq1QoICFCdOnWsMeFRUVE6dOiQRyt3hQoVNGnSpAKbnQAAkDepqal64oknJKXND79r1y4lJydLSpthoyjNYgIUVQTYcJz7lAoXLlzQzp07vS7n5%2BengQMHaty4cblKNAOgYLkfw0lJSQoPD89y2SZNmmjq1KmZ5hEGADgvNTXVmnfcXWBgoCZNmlRskykChYkAG4778MMPtWHDBm3dulV79%2B5VRESELl26JCmtpeuqq67SjTfeqLvuuousq0ARNGDAANWvX1%2BbNm3Sjh07dPToUY%2BsyelT7nXt2lVdu3blBhkAFAMul0sVK1ZU69at9dhjj6lx48ZOFwkoFsgiDgAAAACADcgiDgAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANjA3%2BkCOMk0TZ09e1mpqabTRSl1XC5DlSqVo/4dQN07i/p3FvXvHOreWdS/c6j7wlO16hVOFwEo3S3YhmHI5TKcLkap5HIZ1L9DqHtnUf/Oov6dQ907i/p3DnUPlC6lOsAGAAAAAMAuBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYINSnUUcAFBwDKPoJfRJL5JhFM3yFRbTJJMxAAAFgQAbAGC7smUvyzAuOF2MTNKy%2BAaqTJlEBQSU3iDTNEMVF1fO6WIAAFDiEGADAGxlGIYM44JMc4ukBKeL4yE1NS3ATk1NLMWtuGVkGO1kGCGluA4AACgYBNgAgAKSINOMd7oQHtK6hZtKK1vpDC5Lcc94AAAKHEnOAAAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADfydLgBQlBmG4XQRbJf%2BlQyjeH8/0zSdLgIAAADggQAbyELZspdlGBecLobtXC5DUqDKlElUQEDxDVJNM1RxceWcLgYAAABgIcAGvDAMQ4ZxQaa5RVKC08WxVWpqWoCdmppYjFuBy8gw2skwQorxdwAAAEBJQ4ANZCtBphnvdCFsldYt3FTadyuewWkx7tkOAACAEowkZwAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABs4O90AQAgbwwZRtr/xYlh/P//DaN4ld1XJfRrAYWmIM4NpeHcUxhM03S6CACKOAJsAMWQv/z9TQUFRUoqXhc7LpchKVBlyiQqIKB4ld13Lvn7JykpyelyAMVP2bKXZRgXbF9v6Tj3FDzTDFVcXDmniwGgCCPABlAM%2BckwLsk0d0pKcLowuZKamnaRm5qaWIJbQkJlGGFOFwIodgzDkGFckGlukd3nttJx7iloZWQY7WQYIdQhgCwRYAMoxhJkmvFOFyJX0rpmmkore8m8QDOMMk4XASjm7D%2B3lYZzT0GjZz0AXxBgAwBQ6hR%2BDgPGAOeMagGA4o8AGwCAUsWZHAaMAfYF%2BQsAoLgjwAYAoFRxJocBY4B9Qf4CACjuCLABACiVCjeHAWOAc0b%2BAgAo/lxOFwAAAAAAgJKAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbODvdAEAAACA4sGQYaT97/M7jP//v2H4/j4AxRMBNgAAAJAjf/n7mwoKipRk%2Bvwul8uQFKgyZRIVEOD7%2B5AXYU4XACDABgAAAHLmJ8O4JNPcKSnB53elpqYF2KmpiTJNAuyCU0YE2CgKCLABAAAAnyXINON9XjqtW7j5f%2B8jwC4o9L5HUUGSMwAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA28He6AKWdYRhOF8ER6V/bMIpmHRTBIgEAAAAo4giwHVS27GUZxgWni%2BEIl8uQFKgyZRIVEGA6XRwvXPL3T1JSktPlAAAAAFBcEGA7xDAMGcYFmeYWSQlOF6fQpaamBdipqYkyzaIYYIfKMMKcLgQAAACAYoQA23EJMs14pwtR6NK6hZtK%2B/5FL8A2jDJOFwEAAABAMUOSMwAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAPDNE3T6UI4KSUl1bHPNoxkSQmSSucmcLkMpaYW1e/ukmEEyDQTVRK3T9Gue18U7%2B1T/Os/J0V7%2B5T8%2Bs%2BJc9uHus9JwW4b6j%2B/8r59qPuCZxjBMgx/p4sBlO4A2zRNTnYO4sfGOdS9s6h/Z1H/zqHu7WcYF2UY52Wa5WWaV2S7LPXvnPzUvct1XIaRLNP0V2rqVTaXrORwuQyZZori4g46XZQ8Mc1QxcWVc7oYyEbVqtmfY9OV6ts8hmHowoVYJSc714pdWvn7u1SxYjnq3wHUvbOof2dR/86h7gtGpUrN5HIdU2pqbZ09uzvL5ah/5%2BS37oOClio4eKpiY59VfPywAihhyVCpUjkZRqpMc4vSeogWJ2VkGO1kGCEqxW2fJUapDrABAACKs9jYZ63gCyVTfPwwAutcSZBpxjtdiFwxDKdLADsRYAMAABRTBF8AULSQRRwAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAip2goNmqVKmpgoJmO10UACg0nPsAoOgjwAZQ7AQHT5Wf3zEFB091uigAUGg49wFA0UeADaDYiY19VikptRUb%2B6zTRQGAQsO5DwCKPn%2BnCwAAuRUfP0zx8cOcLgYAFCrOfQBQ9NGCDQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABuwSVDQbFWq1FRBQbOdLgoAoBBw3gcAZESADdgkOHiq/PyOKTh4qtNFAQAUAs77AICMCLABm8TGPquUlNqKjX3W6aIAAAoB530AQEYE2IBN4uOH6ezZ3YqPH%2BZ0UQCg2CsO3a857wMAMiLABgAARQ7drwEAxREBNgAAKHLofg0gNwzjotNFACRJ/k4XAAAAIKP4%2BGF0vQbgM8M4L9Ms63QxAFqwAQAAABRvplne6SIAkgiwAQAAABRzpnmF00UAJBFgAwAAAABgCwJsACVWcZjmBwAAACUHATaAEotpfgAAAFCYCLABlFhM81N4CqO3AD0SgMLHcQcAuUOADaDEio8fprNndzPVTyEojN4C9EgACh/HHQDkDvNgAwDyLTb2WQUHTy3Q3gKF8RkAPHHcofgpI8Nwugy5VUaS8X/lLnaFz8Q0TaeL4CgCbABAvsXHDyvwngKF8RkAPHHcoTgxtxVJPwAAIABJREFUDJcCA5s5XYw8MU1TQUGRkop/cGqaoYqLK%2Bd0MRxDgA0AAACg2DNNU4mJ%2ByQlOF2UPEiRlOx0IWxQRobRToYRUmpbsgmwAQAAAJQApqQLMs14pwtSahW/7vn2I8kZAAAAkAdkWQeQEQE2AAAAkAdkWQeQEQE2AKBYouUIgNNiY59VSkptsqwDsBBgAwCKJVqOADgtPn6Yzp7dTaZ1ABYCbABAsUTLEQAAKGoIsAHAB3RHLnpoOQIAAEUNATYA%2BIDuyKUXN1dQUrFvA4D9CLABwAd0Ry69uLmCkop9GwDsR4ANAD6gO3Lpxc0VlFTs2wBgP3%2BnCwAAQFEWHz%2BMGysokdi3AcB%2BtGADAAAAAGADAmwAAHLJieRQJKQCAKDoI8AGUOhyEygQVKAociI5FAmpCgbnGACAnQiwARS63AQKBBUoipxIDkVCqoLBOQYAYCcCbACFLjeBAkEFiiInssqTyb5gcI4BANiJLOIACl1uMteS5RZAQeIcAwCwEy3YAAAAAADYgAAbKEJItgMAQNHAbzKAvCDABooQku0AAFA08JsMIC8IsIEihGQ7AAAUDfwmA8gLAmygCCFLMFC00WUUKD34TQaQF0UiwN64caP69u2r6667Tp06ddL06dOVkpKSabnvv/9ed911l5o1a6bu3btr/vz5DpQWAFBa0WUUAABkx/EA%2B/fff9fjjz%2Bu%2BvXra%2BbMmXrooYc0e/ZsTZ482WO57du36/HHH9e1116rDz/8UH379tXEiRO1ePFih0oOACht6DIKAACy4/g82DNmzFCTJk00ZcoUSVLHjh2VkpKiadOmadiwYapSpYok6d1339W1116rV199VZLUtm1bRUZG6u2331b//v3lcjl%2BrwAAUMIxZzIAAMiO41Hpn3/%2BqQ4dOni81rFjRyUlJenHH3%2BUJCUmJurnn39Wz549PZbr3bu3zpw5oz179hRaeQEAAAAA8MbxADshIUEBAQEerwUGBkqSDhw4IEk6evSokpKSVL9%2BfY/lrrnmGo/lAAAAUHBI9AcA2XO8i3jdunX1xx9/eLz2%2B%2B%2B/S5LOnz/v8X9oaKjHcunP0/%2BeF35%2Bjt9jKJXS6536z5vAwI8UFDRF8fHPKTHxkVy9l7p3VnGt//zsc0VJca3/koC6d5Zd9e%2Be6C85ebgdRSvx2PcLkyHDSPsHpxhyuQz5%2BxsyzdK5HRwPsB944AGNGTNGc%2BbMUZ8%2BfRQeHq633npLfn5%2BmQ6OrA6W/BxEoaFl8/xe5B/1n1fTJB1TuXLTVK7cU3laA3XvrOJX//nf54qS4lf/JQd176z81/9YSa/Lz%2B95VaxYzo4ilRrs%2BwXPNFNUrlygJNPpopRigZICVbZs6T0/OB5g9%2B3bV/v27dOkSZP06quvKiAgQE888YTmzJmjqlWrSpLKly8vKXNL9YULFyRlbtnOjQsX4pSSkprn9yNv/PxcCg0tS/3nUWDgM//XmviMEhMv5%2Bq91L2zimv952efK0qKa/2XBNS9s/JS/957rgz%2Bv3%2BSVHzPBYWJfb9whIaWlWFIsbGJkhKcLk4pZsjlSlRCwmWZJew%2Bh683FR0PsA3D0PPPP69Ro0YpIiJCNWvWVHJysqZNm6bmzZtLkq6%2B%2BmoFBATo4MGDuvnmm633hoeHS5IaNGiQ589PSUlVcjInO6dQ/3mTnPywYmMf/r9neas/6t5Zxa3%2B7djnipLiVv8lCXXvrNzUf2joFPn5HVNQ0BS34x95xb5fGEyZZto/OMMwTKWmmkpOLr3bocgMBrniiivUuHFjhYaGat68eapVq5bat28vKS3pWdu2bbV69WqP96xatUpVq1bVtdde60SRAaBAkETId9QVUHCY9x0Acs/xFuw//vhDv/zyi5o0aaL4%2BHht2LBBX331lT788EP5%2BflZy40aNUqDBg3SCy%2B8oN69e2vbtm1avHixXn75ZebABlCiuCcRKs1zLgcFzVZw8FTFxj6bZT1QV0DBYd53AMg9xwPsgIAArV27Vu%2B%2B%2B64kqXnz5vp/7N19lFx1nSf%2Bd3UnnaKDASIBDIRRAjo8xAEFhUECC8I6Ao4oWfTooPwiPpAgYzjrwooP43JQBoiygODEsLIM4sgqnDWIOuAyMjqiMziLQV0UGHmI8hRMCE0lduf%2B/sBkaBKkq/tW3aqu1%2BucnKTr3qr7yaerbvf7fu/93quvvjoHHHDAqPUOOOCAfO5zn8vSpUtzww03ZJdddsk555yTBQsWVFE2QMsMDS3ZHCx72VjCs14BAJ2k8oC999575ytf%2BcqY1j388MNz%2BOGHt7gigGoZNXrGWMKzXgEAncS51QB0pEZjYVavvkuAhhYzlwFAeQRsAIAe9uzLMWCiHLCh1wnYAAA9zGzhlMkBG3qdgA0AFTDKQ6dwOQZlcsCGXidgQwv4xRl4rufuF4zyAJORAzb0uspnEYfJyL15ged67n7BLcYAWmFaarWqa%2Bhl05LUfv89GN83oiiKMgtqOwEbWsAvzsBzPXe/4BZjAOWq1foyMDCv6jJ6XlEUqdd/nWR8QbkoZuTpp6eXW1QbCdjQAn5xBp7LfgGgtYqiyIYNdydZX3UpPW4kyfA4nzsttdohqdW27dqRbAEbAACYBIoka1MUjaoLYZwmw%2Bn9Jjmj7er15ZkxY%2B8kV1RdCtBhTBAIAHQzAZu22zTRT/LpqksBJqAVYdjM2gCTj4On9BIBm7bbdH/E5KyqSwEmoBVh2P1TASYfB0/pJQJ2j6viiGKjsTBr1/4syfvbtk2gfK0Iw5P1/qlGb4Be5uApvUTA7nGOKALjNVnDcCvY1wK9zM8LeomA3eMcUQRoPftaxqvVZz84uwKgXAJ2j3NEEaD17GsZr1af/eDsCoByCdgAAB2q1Wc/OLsCoFxTqi4AAICtazQWtvTMh1a/PkCvMYINAHQk1wcD0G0EbACgI7k%2BGIBuI2ADAB3J9cEAdBvXYAMAHcn1wQB0GyPYAB3GdacAAN1JwAboMK47nfwcRAGAyUnABugwrjud/BxEAYDJScAG6DCNxsKsXn2Xa08nMQdReoezFQB6i4ANAG3mIErvGO/ZCoI5QHcSsAEAWmS8Zyu4jACgOwnYANChjGJ2v/GereAyAoDuJGBDC/ilGCiDUcze5TICgO4kYEML%2BKUYKINRTADoLgI2tIBfioEyGMUEgO4iYEML%2BKUYts7lEwCMlZ8ZdCMBuyJ2GEAvcvkEAGPlZwbdSMCuSLt3GAI90AlcPgHAWPmZQTcSsCvS7h2GI4DQPSbzATGXTwAwVn5m0I0E7Iq0e4fhCCB0DwfEAAC6k4DdIxwBhO7hgBgAQHcSsAE6jANiAExmk/lSKBCwAQC6hGDCZFD2pVD1%2BvL09T1YymvBRAnYAABdwhwNTAZlXwo1OLg0tdpwKa8FEyVgAwB0CXM0MBmUfSnU0NCSFMWUUl4LJso7EQCgSzQaC83PAM/RaCzM4OB0o9h0BCPYAF3E9Zd0C%2B9VAHqRgA3QRVx/SbfwXgWgFwnY0MGMAPFcrr8cv3p9eWbM2DvJFW3fbi9%2Bjr1XAehFAjZ0MCNA7dfpYcg9ssdv0%2Bcp%2BXQl2%2B21z7H3KgC9yCRn0MGGhpZkcHCpEaA2enYYEgwml02fp/7%2BsyrZrs8xQDtMS61WdQ2M37Qktd9/D9v/jSyKYsKvIWBDBzNbbPsJQ5NXo7Eww8OnZocdpid5qq3b9TkGaL1arS8DA/OqLoMJKooi9fqvk0w87Da/7Rl5%2BunpE3oNARvoGPX68s3htqpAIgwBnaYT9o3QDYqiyIYNdydZX3UpTMhIkipuuTYttdohqdW2ndBItoANdAynZwNsyb4RxqpIsjZF0ai6ELpQWZcWmOSsx3T6BE70NrMOb8lnFrBvBOgeAnaP6dXZbMsm9LSGWYe35DML2DcCdA8Bu8c4Cl4OoYd28ZkFAOgeAnaPcRS8HEIP7eIzS6s4EwcAyidgwzgIPUBVygrGzsR5hgMN7aPXQC8QsAGgi5QVjJ2J8wwHGtpHr4FeIGADQBcpKxg7E%2BcZDjS0j14DvUDABkZxCh90trKDca9/5ttxoKHXe7yJgzpALxCwgVGcwge9xWe%2B9fQYoHcI2MAoTuGD3uIz33rP7bERbYDJS8AGRnEKH5PZwMAXkrz093//u14OPL3%2BmW/H9/65PTaiDePXy/truoOADUCS3vilpV6/KMmvfv/3vxN4elcV33tnDdBuk2n/bn9NpxOwgSST64cv49MJv7S0%2Bn3YaJyZ5I9%2B//e/E3h6VxXf%2B14/a4D264T9e1nsr%2Bl0AjaQZHL98GV8OuGXlla/DzdseE%2BSf/v93/9O4Oldvvf0gk7Yv5fFZ5ZOJ2ADSSbXD1/GpxN%2BafE%2BBChfJ%2BzfoVdMqboAoDM0Ggv94KVy3ocAQDczgg0AAD2ulXNgmOeFXiJgAwBAj2vlHBjmeaGXCNgAANDjWjkHhvk16CUCNgCVa8fpg/X68syYsXeSK1q2DYBu1cqJ0EyyRi8RsAGoXDtOH9y0jeTTLdsGANDbBGxogkk6oDXacfrgpm0kZ7VsG3QH%2B3IAWkXAhiaYpANaox2nDzYaC7N27c%2BSvL9l26A72JcD0CoCNjShWyfpMFoD8O%2B6dV8OQOebUnUB0E0ajYVdOUHHs0dr1q49tepyACrVrftyADqfEWzoAUZrAACg9YxgQw949mjNFJ96AABoCSPYAAAAUAIBG2g5k6zRKt5bAEAnEbChy3RjoJgMt8Tpxr73gsnw3gIAJg8BG7pMNwaKbphk7YUCdDf2vRd0w3sLAOgdAjZ0mW4MFI3GwqxefVdH3xbnhQJ0N/a9Haoe2W/3e6vq/y8A0NkEbOgy3RBWu9ELBWh937peG9nvtf8vANAcARsgAvR49drIfq/9fwGA5rgjLgDj9ux7rPeCXvv/AgDNMYINAAAAJeiIEeybb745n//853PPPfekXq/nVa96VZYsWZI99thj8zpnnXVWrr/%2B%2Bi2eu2zZssyfP7%2Bd5QIAAMAWKg/Y3//%2B97N48eK86U1vyl/%2B5V9m7dq1ufTSS3PKKafkxhtvzLbbbrt53Tlz5uTCCy8c9fy5c%2Be2u2QAAADYQuUB%2B8Ybb8zs2bNz/vnnp1arJUl23XXXLFiwIP/yL/%2BSww8/fPO69Xo9%2B%2B%2B/f1WlAgAAwPOqPGAPDw9n%2BvTpm8N1krzoRS%2BqsCJ6Rb2%2BPIODSzM0tMSkRR3K9wgAaM60PCtWQBOmlfIqlQfsE088Me9%2B97tz9dVX58///M%2Bzdu3anH/%2B%2BZk7d24OOeSQUevef//9OfDAA9NoNPLyl788p512Wl7/%2BtdXVDnd7tn3sxXeOpPvEQAwVrVaXwYG5lVdRkcqimkZHp5adRkdryhmpCiKCb1G5QH7oIMOyqWXXpozzzwz5557bpJkzz33zJVXXpmBgYHN6%2B29996ZN29e9txzzzz55JO59tprs2jRolx88cV5wxveMO7t9/ebSL0Km/peZf8bjTNTr1%2BURuPMTJnSO%2B%2BD8fR%2BYOALm3u1YcN7WlXaFibj96gT3vu9TP%2Bro/fV0v/q6H37FEWR4eFfpCjWV11KR6nVpqVWOzDDw7tkgtlx0iuKZMoEE3KtmGhEn6A77rgj733ve3PCCSfkyCOPzLp163LFFVdkw4YNufbaa0dNcvZsGzduzNve9rasW7cu3/jGN9pcNfSalyb5VZI/SvJvlVYCALA1RfG71GpfSiJgjzYtyRF55vc4Wq3yEexzzz03Bx98cD7ykY9sfuzVr3515s%2Bfn%2Buuuy6nnHLKVp/X19eXY445JhdccEEajUbq9fq4tr927dMZGdk4rucyfv39fZkxYxv9r8B4ej8w8KHfjyR/KBs2PNXiCic37/1q6X919L5a%2Bl8dvW%2BPGTO2Sa2WDA1tiID9XLX09W3I%2BvVPGcGegB12mD6m9SoP2Pfcc0%2BOPPLIUY/NnDkzO%2B20U%2B6///4/%2BNwyBt9HRjZmeNjOrirt6r/JsrbUTO%2BHh/%2B/DA39f7//yuelDPY91dL/6nRq73vl50Sn9r8X6H07FCmKopSMMJnUakU2biwyPKw37VD5xSCzZ8/OXXfdNeqxRx99NI888kh23XXX533exo0b861vfSt77bXXuEev6R3PniwLAJ7LzwkAylD5CPY73vGO/Lf/9t/yyU9%2BMkcddVTWrl2bz3/%2B8xkcHMyb3vSmJMlDDz2Us846K8cdd1x23333rFmzJtdee21WrlyZSy65pOL/Ad1gaGjJ5pEJAHguPycAKENHBOypU6fmS1/6Uq6//voMDg5m3rx5Of/887PTTjslSaZPn55tt902l112WVavXp2pU6dmv/32y7Jly3LYYYdV/D%2BgGzQaCyf1KX8ATIyfEwCUofKAXavVctJJJ%2BWkk0563nW23377XH755W2sCgAAAJpT%2BTXYMNnU68szc%2Ba%2BqdeXV10KAADQRgI2lMxEOQAA0JsEbCjZ0NCSjIzMMVEOAAD0mMqvwYbJxkQ5AADQm4xgAwAAQAkEbAAAACiBgA0AAAAlELABAACgBAI2AAAAlEDABkap15dn5sx9U68vr7oUAADoKgI2MMrg4NL09z%2BQwcGlVZcCAABdRcAGRhkaWpKRkTkZGlpSdSl0EGc2AM9mnwCwdQI2MEqjsTCrV9%2BVRmNh1aXQQZzZADybfQLA1gnYALwgZzYAz2afALB1AjbQsZyC2Dmc2QA8m30CwNYJ2EDHcgoiAADdRMAGOpZTEAEA6CZTqi4A4Pk0GgudfggAQNcwgg0AAAAlELABAACgBAI2AAAAlEDABgAAgBII2FAh93kGAIDJQ8CGFnqhAO0%2Bz0Cvc6AReofPO71AwIYWeqEAvek%2Bz7/73Wv9wAF6kgON0Dt83ukFAja00KYAPTS0ZKvLG42FWb36rkydevuYf%2BA4%2BgtMJi%2B0nwQmD593esGUqguAyazRWJhGY%2BELrjc0tCSDg0vH9APn2Ud/x/LaAJ1srPtJoPv5vNMLjGBDB9g0kj3WMO7oLwAAdB4BG7pMM2GcajmdHwCgtwjYAC1iMhcAgN4iYAOTQieOFjudHwCgtwjYwKTQiaPFTucHAOgtAjZdqRNHK6lWM6PF3j8AALSC23TRldyqiudq5tYf3j8AMFlNS61WdQ2dZlrVBfQUAZuu1Mx9o%2BG5vH8AYPKp1foyMDCvbdsrimkZHp7atu1NRFHMSFEUVZfREwRsulIzo5XwXN4/ADD5FEWRDRvuTrK%2BDVubllrtwDQau6Qbcqtw3T4CNgAAMAkUSdamKBot31KtVk%2ByMUUhvDKaSc4AAACgBAJ2hzLLMQAAQHcRsDtUJ97TFwAAgOcnYHeoZu7pCwAAQPVMctahzHIMAADQXYxgAwAAQAkEbAAAACiBgA0AAAAlELABoEu4hSMAdDYBGwC6hFs4AkBnE7ABoEu4hSMAdDa36QKALuEWjgDQ2YxgAwAAQAkEbAAAACiBgA3ApLdp9u2BgS9UXQpAZdyJAFpPwAZg0ts0%2B3a9flHVpQBUxp0IoPUEbAAmvU2zbzcaZ1ZdCkBl3IkAWs8s4gBMeptm354ypS/Tp1ddDUA13IkAWs8INgAAAJRAwAYAAIASCNgAAABQAgEbAAAASiBgAwAAQAkEbAAAACiBgA0AAAAlELABAOgK9fryzJy5b%2Br15VWXArBVAjYAAF1hcHBp%2BvsfyODg0qpLAdgqARsAgDGrchR5aGhJRkbmZGhoSdu3DTAWAjYAAGNW5Shyo7Ewq1fflUZjYdu3XQanuMPkJ2ADADBmRpHHzynuMPkJ2AAAjFm3jyJXycEJmPymVF0AAAD0gkZjoQMTMMkZwQYAAIASCNgAAABQAgEbAAAASiBgAwAAQAkEbAAAACiBgA0AAAAlELABAACgBO6DDQAATBLTUqu1ZztJ7ffban6DRVGUXRAdQsAGAAC6Xq3Wl4GBeW3bXlEUqdd/naT5sFwUM/L009PLL4rKCdgAAEDXK4oiGzbcnWR9m7Y4kmR4HM%2BbllrtkNRq2xrJnoQEbAAAYBIokqxNUTSqLuQPas8p7FTFJGcAAABQAgEbAAAASiBgAwAAQAkEbAAAACiBgA0AAAAlELABAACgBAI2AAAAlKAjAvbNN9%2BcBQsW5FWvelX%2B9E//NIsXL8699967xXr/8A//kDe/%2Bc2ZN29ejj766FxzzTUVVAsAAABbqjxgf//738/ixYvzspe9LJdcckk%2B%2BtGP5r777sspp5ySdevWbV7vxz/%2BcU477bTss88%2BWbZsWU444YSce%2B65ue666yqsHgAAAJ4xpeoCbrzxxsyePTvnn39%2BarVakmTXXXfNggUL8i//8i85/PDDkySXXXZZ9tlnn5x33nlJkoMPPji//vWvc/HFF%2Betb31r%2BvoqP1YAAAC8gHp9eQYHl2ZoaEkajYVVlwOlqjyVDg8PZ/r06ZvDdZK86EUvGrXOhg0b8oMf/CDHHnvsqMePP/74PProo/npT3/alloBAICJGRxcmv7%2BBzI4uLTqUqB0lQfsE088Mffee2%2BuvvrqrF27Ng8%2B%2BGDOP//8zJ07N4ccckiS5P7778/vfve77LHHHqOeu%2BeeeyZJ7rnnnrbXDQAANG9oaElGRuZkaGhJ1aVA6So/Rfyggw7KpZdemjPPPDPnnntukmeC85VXXpmBgYEkyZo1a5IkM2bMGPXcTV9vWj4e/f2VH2PoSZv6rv/tp/fV0v9q6X919L5a%2Bl8dvd/S8PCpWbv21CTJlFLTSC21Wm3UmbGdqZa%2BvlqmTKmlKDq9VppVecC%2B44478p//83/OW9/61hx55JFZt25drrjiipx66qm59tprs%2B22225e9/k%2BLBP5EM2Ysc24n8vE6X919L5a%2Bj8RVyT5dJKzkrx/XK%2Bg/9XR%2B2rpf3X0vvWKYiTTpw8kKaou5QUMJBnINttMr7oQWqDygH3uuefm4IMPzkc%2B8pHNj7361a/O/Pnzc9111%2BWUU07Jdtttl2TLkeq1a9cm2XJkuxlr1z6dkZGN434%2B49Pf35cZM7bR/wrofbX0f%2BJmzDgv/f0PZGTkvKxd%2BxdNPVf/q6P31dL/6uh9e8yYsU1qtWRoaEOS9VWX8wJq6evbkPXrn0rR6ccC2GyHHcZ2QKTygH3PPffkyCOPHPXYzJkzs9NOO%2BX%2B%2B%2B9Pkuy%2B%2B%2B6ZOnVq7r333syfP3/zer/85S%2BTJHPnzh339kdGNmZ42M6uKvpfHb2vlv6P39DQks2zz463h/pfHb2vlv5XR%2B/boUhRPPOnk9VqRTZuLDI83Pm10rzKLwaZPXt27rrrrlGPPfroo3nkkUey6667JkkGBgZy8MEH56abbhq13ooVKzJr1qzss88%2BbasXelW9vjwzZ%2B6ben151aXQ4xqNhVm9%2Bi63dgEAOk7lAfsd73hHvvOd7%2BSTn/xkvve97%2BWmm27KqaeemsHBwbzpTW/avN6iRYuycuXKnHPOObn99ttz%2BeWX57rrrssZZ5zhHtjQBm6pAQAAf1jlp4i/4x3vyNSpU/OlL30p119/fQYHBzNv3rycf/752WmnnTavd8ABB%2BRzn/tcli5dmhtuuCG77LJLzjnnnCxYsKDC6qF3PPu0XAAAYEuVB%2BxarZaTTjopJ5100guue/jhh%2Bfwww9vQ1XAczUaC52SCwAAf4Bzq5lUXCcMAABUpemAvXLlylbUAaVwnTAAAFCVpgP2iSeemJNOOin/%2B3//7/zud79rRU0wbkNDSzIyMsd1wkDHcGYNAPSOpgP2pz/96WzcuDEf/vCHc8QRR%2BSzn/1sfvOb37SiNmia2/cAncaZNQDQO5oO2G9%2B85tz3XXX5Stf%2BUoOPfTQXHnllXn961%2Bf008/PbfffnsragSgxYyyjs14%2BuTMGgDoHeOe5OyVr3xl/vqv/zq33nprFi9enJUrV%2Bbd7353jjvuuHz5y1/O%2BvXry6wT2kLIoFcZZR2b8fTJmTUA0DsmPIv4wMBA6vV6pk6dmqIo8vTTT%2BcTn/hEjjnmmPzrv/5rGTVC2wgZ9CqjrGOjTwDAHzLugP3zn/88H/vYx3LYYYflwgsvzCtf%2Bcp85StfyS233JIbbrghO%2B%2B8cz72sY%2BVWSu0nF%2Be6VVGWcdGnwCAP2RKs0/4xje%2BkWuuuSZ33HFHZs6cmVNOOSVvf/vbM2vWrM3r/PEf/3E%2B9KEP5T3veU%2BpxUKrNRoL/eIMACWp15dncHBphoaW%2BPkK9ISmA/aSJUuyzz775Lzzzsuxxx6bgYGBra6322675U1vetOECwQAoDs9%2B9IrARvoBU0H7L/927/NgQce%2BILrzZkzJ5/61KfGVRQAAN1vaGjJ5hFsgF7Q9DXYX/3qV/PAAw9sddlDDz2Us88%2Be8JFAQDQ/cxbAPSapgP2DTfckCeeeGKry5544onccMMNEy4KAAAAuk3TAbsoiuddtmbNmue9JhsAgO5Ury/PzJn7pl5fXnUpAB1tTNdg/%2BhHP8rtt9%2B%2B%2Bevrrrsu3/3ud0ets379%2Btxyyy2ZO3duuRUCADwPs1S3h8nKAMZmTAH79ttvz6WXXpokqdVque6667a63uzZs937GgBoG8GvPUxWBjA2YwrY73nPe/KOd7wjRVHkT//0T7N8%2BfLss88%2Bo9YZGBjI9OnTW1IkAMDWCH7t0WgsdAADYAzGFLDr9Xrq9XqS5JZbbsmsWbNcaw0AVE7wA6CTNH0f7F133bUVdQAAAEBXG1PAPvnkk/Pxj388c%2BfOzcknn/wH163VarnqqqtKKQ46mYl1AAA6zbTUalXX8EKmVV0ALTSmgP3sW3P9odt0jWU5TBYm1gEA6By1Wl8GBuZVsu2imJbh4alNrD9DbpqkxhSwr7766q3%2BG3qZiXUAADpHURTZsOHuJOvbvOVpqdUOTKOxS8aamYXryavpa7B/9KMfZZ999tnqjOFDQ0O56667ctBBB5VSHHQyE%2BsAAHSSIsnaFEWjrVut1epJNqYoBGeSvmafcPLJJ%2Beee%2B7Z6rJ77733Ba9%2BLxDdAAAgAElEQVTRBgBoh3p9eWbO3Df1%2BvKqSwGgRzQdsP/QUZnh4eH09TX9kgAApXv2XBkA0A5jOkV83bp1Wbt27eavH3300axatWrUOo1GI9dff3123HHHcisEABgHc2W0l7trAIwxYH/xi1/MZZddluSZ23AtXrx4q%2BsVRZH3ve995VUHADBO5spoL3fXABhjwD700EMzODiYoihywQUX5J3vfGdmz549ap2BgYG8/OUvz2te85qWFArQy4wMAZ3OGQMAYwzYBxxwQA444IAkydNPP50FCxZk5513bmlhAPw7I0NAp3PGAMA4JjlbvHixcA3QZkNDSzIyMsfIEABAB2v6PthJ8uCDD%2Bamm27KqlWr0miMvs9crVbLeeedV0pxADzDyBAAQOdrOmDfeuutWbx4cTZu3JiZM2dmYGBg1PJarVZacQAAANAtmg7Yn/nMZ/KqV70qn/nMZ/LiF7%2B4FTUBAABA12n6Guxf/epXOfXUU4VrAAAAeJamA/bs2bMzNDTUiloAAACgazUdsN/3vvflyiuvzNNPP92KegAAAKArNX0N9k9%2B8pM8/vjjOfroo/Pa1742O%2BywwxbrnHPOOaUUBwAAAN2i6YD9t3/7t5v/feONN26xvFarCdgAAAD0nKYD9s9//vNW1AEAAABdrelrsAEAAIAtjTtg33bbbbnoootyzjnnZNWqVUmSO%2B%2B8M6tXry6tOChbvb48M2fum3p9edWlAAAAk0zTp4g//fTTOe200/JP//RPqdVqSZK3v/3tmT17dq688sq85CUvyX/5L/%2Bl9EKhDIODS9Pf/0AGB5em0VhYdTkAAMAk0vQI9mc%2B85msXLkyl1xySf75n/85RVFsXnbooYfm%2B9//fqkFQpmGhpZkZGROhoaWVF0KAAAwyTQ9gv3Nb34zZ5xxRo4%2B%2BuiMjIyMWjZ79uz8%2Bte/Lq04KFujsdDINQAA0BJNj2CvXr06e%2B6559ZfrK8vjUZjwkUBAABAt2k6YO%2B88865%2B%2B67t7rs//2//5fddtttwkUBQLuY/BAAKEvTAfuYY47JFVdckZ/%2B9KebH6vVannooYfyxS9%2BMW94wxtKLRAAWunZkx8CAExE09dgL1q0KP/0T/%2BUBQsWZK%2B99kqtVsvZZ5%2Bd%2B%2B%2B/Py972cvy3ve%2BtxV1AkBLDA0tyeDgUpMfAgAT1vQI9rbbbpsvf/nLOeOMMzI4OJjdd98922yzTd73vvflmmuuSb1eb0WdANASjcbCrF59lwkQAYAJa3oEO0nq9Xre%2B973Gq0GAACA32t6BBsAAADY0phGsE8%2B%2BeQxv2CtVstVV1017oIAAACgG40pYBdFMerr%2B%2B67L4899lhmz56dWbNm5dFHH82qVasya9asvOxlL2tJoQAAANDJxhSwr7766s3//u53v5uPfvSjufbaa3PAAQdsfvyOO%2B7Ihz70oSxcaJIYAAAAek/T12B/9rOfzeLFi0eF6yR51atelcWLF%2Bczn/lMacUBAABAt2g6YP/yl7/MS17ykq0ue8lLXpJ77713wkUBQLeq15dn5sx9U68vr7oUAKDNmg7YO%2B64Y7797W9vddk3v/nN7LjjjhMuCgC61eDg0vT3P5DBwaVVlwIAtFnT98F%2B%2B9vfnosuuii//e1vc/zxx2fHHXfMY489lq9//ev5%2B7//%2ByxZsqQVdQJAVxgaWpLBwaUZGvLzEAB6TdMB%2B9RTT02j0cgXvvCF/P3f/32SZ2YZnzZtWt7//vfn1FNPLb1IAOgWjcbCNBom/ASAXtR0wE6S008/Pe9%2B97vz4x//OL/97W%2Bz/fbbZ//998%2BMGTPKrg8AAHpKvb5885kwDthBdxlXwE6SF73oRZk/f36ZtQAAQM979lwOAjZ0lzEF7FWrVmXWrFmZOnVqVq1a9YLrz549e8KFAQBALzKXA3SvMQXso446Kn/3d3%2BXV77ylTnyyCNTq9X%2B4Po/%2B9nPSikOAAB6jbkcJmJaXiCqtGSbsMmYAvZ5552XOXPmbP73CwVsAACAdqrV%2BjIwMG/M6xfFtAwPTy1l20UxI0VRlPJadLcxBewTTjhh87/f8pa3tKwYAACA8SiKIhs23J1k/RjWnpZa7cA0GrukjFwsXLPJuCc5AwAA6BxFkrUpisYLrlmr1ZNsTFEIx5Srr%2BoCAAAAYDIQsAEAAKAEAjYAAACUQMAGAChZvb48M2fum3p9edWlANBGTQfsG264IU888cRWl/32t7/NDTfcMOGiAAC62eDg0vT3P5DBwaVVlwJAGzUdsM8%2B%2B%2Bw88MADW1324IMP5uyzz55wUQAA3WxoaElGRuZkaGhJ1aUA0EZN36brD01jv379%2BvT390%2BoIACAbtdoLEyjsbDqMgBoszEF7FWrVuWhhx7a/PVPf/rTrF8/%2BgbujUYjX/nKV/KSl7yk3AoBAACgC4wpYH/ta1/LpZdemlqtllqtlr/6q7/aYp1NI9sf%2BchHyq0QAAAAusCYAvaf/dmfZa%2B99kpRFPnLv/zLLFmyJH/0R380ap2BgYHstdde2W233VpSKAAAAHSyMQXsuXPnZu7cuUmST33qUzniiCOyww47tLQwAAAA6CZNzyJ%2BwgknCNcAQNdxb2oAWq3pWcST5J//%2BZ%2BzYsWKrFq1Ko1GY9SyWq2Wq666qpTiAADK8ux7U5vhG4BWaHoE%2B6tf/Wre%2Bc535qabbsratWtTFMWoPxs3bmxFnQAAE%2BLe1AC0WtMj2F/4whfyZ3/2Zzn//PMzMDDQipoAAErn3tQAtFrTI9irVq3KggULhGsAAAB4lqYD9ty5c/PYY4%2B1ohYAAADoWk0H7A996ENZtmxZHn744VbUAwAAAF2p6Wuwr7nmmjz55JP5j//xP%2BaP//iPs/32249aXqvVcvnll5dWIAAAAHSDpgP23Xffnb6%2BvsycOTOPPPJIHnnkkVHLa7VaacUBAABAt2g6YH/nO99pRR0AAADQ1ZoO2GX7i7/4i/zwhz/c6rKlS5fm2GOPzVlnnZXrr79%2Bi%2BXLli3L/PnzW10iAAAAvKBxBewNGzbka1/7Wn74wx/miSeeyMc//vG89KUvzc0335xXvOIVmTNnzphf6%2BMf/3jWrVs36rGrrroq3/72t3PIIYdsfmzOnDm58MILR603d%2B7c8ZQPAAAApWs6YK9evTrvete78otf/CI77rhjHn/88Tz11FNJkltuuSX/%2BI//mE984hNjfr0999xzi8fOPPPMHHrooZk5c%2Bbmx%2Br1evbff/9mywUAAIC2aPo2XRdccEHWrl2br371q7n11ltTFMXmZa997Wvzox/9aEIF3XHHHXnwwQdz/PHHT%2Bh1AAAAoJ2aDti33nprPvjBD2bffffdYsbwnXfeOb/5zW8mVNCKFSuyzTbb5Kijjhr1%2BP33358DDzww%2B%2B23X97ylrfk5ptvntB2AAAAoExNnyK%2Bbt26zJ49e6vLhoeHMzIyMu5ihoeH881vfjNHHXVUBgcHNz%2B%2B9957Z968edlzzz3z5JNP5tprr82iRYty8cUX5w1veMO4t5ck/f1NH2OgBJv6rv/tp/fV0v9q6X919L5a%2Bl8dvW%2BnWmq12hhvG1xLX18tU6bUUhRuM0x5mg7Yu%2B22W/71X/911ARkm9x555152cteNu5ivve97%2BXxxx/PcccdN%2Brxd73rXaO%2BPvLII/O2t70t//2///cJB%2BwZM7aZ0POZGP2vjt5XS/%2Brpf/V0ftq6X919L71imIk06cPJClecN1kIMlAttlmeourotc0HbCPP/74LFu2LHvttVeOOOKIJEmtVsudd96Z//k//2c%2B8IEPjLuYFStWZPvtt8/rXve6P7heX19fjjnmmFxwwQVpNBqp1%2Bvj3ubatU9nZGTjuJ/P%2BPT392XGjG30vwJ6Xy39r5b%2BV0fvq6X/1dH79pgxY5vUasnQ0IYk68fwjFr6%2BjZk/fqnUowlj9PzdthhbAdjmg7Yp556au64444sXrw42223XZJk4cKF%2Be1vf5vDDjssJ598crMvmSRpNBq55ZZbcvzxx2fq1KkvuH5R0idhZGRjhoft7Kqi/9XR%2B2rpf7X0vzp6Xy39r47et0ORoijGlBNqtSIbNxYZHh7b%2BjBWTQfsqVOnZtmyZfnGN76RW2%2B9NY8//nh22GGHHHHEETn22GPT1ze%2B60u%2B853v5KmnnhrT7OEbN27Mt771rey1114TGr0GAACAsjQdsJNnTgk/9thjc%2Byxx5ZWyNe//vXMnj07r371q0c9/tBDD%2BWss87Kcccdl9133z1r1qzJtddem5UrV%2BaSSy4pbfsAAAAwEU0H7Pvuuy%2BPPvpoXvOa12yx7Ic//GF22mmnvPSlL23qNdesWZPbbrst73rXu7aY9W/69OnZdtttc9lll2X16tWZOnVq9ttvvyxbtiyHHXZYs%2BUDQEer15dncHBphoaWpNFYWHU5AEATmg7Yn/70p/PSl750qwH7//yf/5P77rsvV1xxRVOvud1222XlypVbXbb99tvn8ssvb7ZMAOhKg4NL09//QAYHlwrYANBlmr5g%2Bic/%2BUkOOuigrS476KCDnjcoAwAvbGhoSUZG5mRoaEnVpQAATWp6BPvJJ5/M4ODgVpfV6/WsWbNmwkUBQK9qNBYauQaALtX0CPbOO%2B%2BcO%2B%2B8c6vL7rzzzsyaNWvCRQEAAEC3aTpgv/71r8/f/M3f5Ac/%2BMGox2%2B//fYsW7YsRx99dGnFAQAAQLdo%2BhTxRYsW5R//8R9zyimn5KUvfWl22WWX/OY3v8m//du/Zc8998zpp5/eijoBAACgozU9gv2iF70of/d3f5fFixdnu%2B22y6pVq7Lddtvl9NNPz5e//OVsu%2B22ragTAADgBUxLrVZ/wT/JtKoLZZJqagR7w4YN%2BeEPf5g99tgjixYtyqJFi1pVFwAAwJjVan0ZGJi3%2BeuimJbh4anPu35RzEhRFO0ojR7SVMCeMmVK3v/%2B92fZsmWZPXt2q2oCAABoSlEU2bDh7iTr88xI9oFpNHbJ82Vo4ZpWaCpg9/X1Zeedd866detaVQ8AAMA4FEnWpigavz8NfGOKQpCmvZq%2BBvvEE0/MNddck5GRkVbUAwAAAF2p6VnEp06dmvvuuy9vfOMbc%2BSRR2bWrFmp1Wqbl9dqtbz73e8us0YAAADoeE0H7AsvvHDzv//H//gfWywXsAEAAOhFTQfsW265pRV1AAAAQFdrOmDvuuuuragDAAAAulrTAXuTe%2B65Jz/60Y/yxBNP5MQTT8ysWbPy8MMPZ7vttku9Xi%2BzRgAAAOh4TQfskZGRfPSjH83111%2BfoihSq9Uyf/78zJo1Kx//%2BMez995754wzzmhFrQAAANCxmr5N1%2BWXX54VK1bkwx/%2BcFasWDHqvnKHHXZYbrvttlILBAAAgG7Q9Aj29ddfn9NOOy2nnHLKFvfC3m233fLggw%2BWVhwAAAB0i6ZHsB9%2B%2BOHsv//%2BW102bdq0PPXUUxMuCgAAALpN0wH7xS9%2BcR544IGtLrvvvvuyyy67TLgoAAAA6DZNB%2BzDDz88V1xxRR5%2B%2BOHNj9VqtTz55JO5%2Buqr8x/%2Bw38otUAAAADoBk1fg/3BD34w3/3ud/PGN74xr33ta1Or1bJ06dL84he/yJQpU3Laaae1ok4AAADoaE2PYO%2B44475X//rf%2BXYY4/NXXfdlf7%2B/vz85z/P/Pnz8%2BUvfznbb799K%2BoEAACAjtb0CHbyTMj%2B5Cc/WXYtAAAA0LXGHLAbjUZuvvnmrFq1KjvssEOOOuqozJw5s5W1AQAAQNcYU8B%2B%2BOGH8853vjMPPvhgiqJIkvz1X/91li1b9ry37AIAAIBeMqZrsD/72c/m4Ycfzgc%2B8IF8/vOfz3/9r/81U6dOzSc%2B8YkWlwcAAADdYUwj2N///vfzvve9L4sWLdr82O67754PfOADeeyxx7Ljjju2rEAAAADoBmMawX7sscdy0EEHjXrsNa95TYqiyGOPPdaSwgAAAKCbjClgj4yMpF6vj3ps2rRpm5cBAABArxvzLOL33ntv%2Bvv7N3%2B9KVjfe%2B%2B9W6y77777llAaAAAAdI8xB%2Byzzz57q49/%2BMMf3vzvoihSq9Xys5/9bOKVAQAAQBcZU8D%2B1Kc%2B1eo6AAAAoKuNKWCfcMIJra4DAKBp9fryDA4uzdDQkjQaC6suB4AeN6ZJzgAAOtHg4NL09z%2BQwcGlVZcCAAI2ANC9hoaWZGRkToaGllRdCgCMfZIzAIBO02gsdGo4AB3DCDYAAACUQMAGAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwAAAAogYANAAAAJRCwAQAAoAQCNgAAAJRAwAYAAIASTKm6AAAAgHJMS632zN9QBQEbAADoerVaXwYG5m3%2BuijqKYqiworoRQI2AADQ9YqiyIYNdydZn2dGsl%2BUWq0mZNNWAjYAADAJFEnWpigaqdXqv/8a2sskZwAAAFACARsAAABKIGADAABACQRsAAAAKIGADQAAACUQsAEAAKAEAjYAAACUQMAGAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwAAAAogYANAAAAJRCwAQAAoAQCNgAAAJRAwAYAAIASCNgAAABQAgEbAAAASiBgAwBQunp9eWbO3Df1%2BvKqSwFoGwEbAIDSDQ4uTX//AxkcXFp1KQBtI2ADAFC6oaElGRmZk6GhJVWXAtA2U6ouAACAyafRWJhGY2HVZQC0lRFsAAAAKIGADQAAACUQsAEAAKAEAjYAAACUQMAGAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwAAAAogYANAAAAJRCwAQAAoAQCNgAAAJRAwAYAAIASVB6w/%2BIv/iKveMUrtvrnxhtv3LzeP/zDP%2BTNb35z5s2bl6OPPjrXXHNNhVUDAADAaFOqLuDjH/941q1bN%2Bqxq666Kt/%2B9rdzyCGHJEl%2B/OMf57TTTsuf//mf56yzzsodd9yRc889NwMDA1mwYEEVZQMAAMAolQfsPffcc4vHzjzzzBx66KGZOXNmkuSyyy7LPvvsk/POOy9JcvDBB%2BfXv/51Lr744rz1rW9NX1/lA/EAAAD0uI5LpnfccUcefPDBHH/88UmSDRs25Ac/%2BEGOPfbYUesdf/zxefTRR/PTn/60ijIBAABglI4L2CtWrMg222yTo446Kkly//3353e/%2B1322GOPUettGvm%2B55572l4jAADQiaalVqsnmVZ1IfSoyk8Rf7bh4eF885vfzFFHHZXBwcEkyZo1a5IkM2bMGLXupq83LR%2Bv/v6OO8bQEzb1Xf/bT%2B%2Brpf/V0v/q6H219L86et8%2BtVpfpk175eavi2KbbNhQS1Krrih6TkcF7O9973t5/PHHc9xxx22xrFbb%2Bgfj%2BR4fqxkztpnQ85kY/a%2BO3ldL/6ul/9XR%2B2rpf3X0vvWKYiRTp96XZEOSgSQvzsDA9Iqrotd0VMBesWJFtt9%2B%2B7zuda/b/Nh2222XZMuR6rVr1ybZcmS7WWvXPp2RkY0Teg2a19/flxkzttH/Cuh9tfS/WvpfHb2vlv5XR%2B/bY8aMbVKrJUNDjydpJKmnr2991q9/KkVRdXVMBjvsMLaDNR0TsBuNRm655ZYcf/zxmTp16ubHd99990ydOjX33ntv5s%2Bfv/nxX/7yl0mSuXPnTmi7IyMbMzxsZ1cV/a%2BO3ldL/6ul/9XR%2B2rpf3X0vh2KFMUzf2q1Ihs3FhkefuZraJeOuRjkO9/5Tp566qnNs4dvMjAwkIMPPjg33XTTqMdXrFiRWbNmZZ999mlnmQAAALBVHROwv/71r2f27Nl59atfvcWyRYsWZeXKlTnnnHNy%2B%2B235/LLL891112XM844wz2wAQAA6AgdkU7XrFmT2267LW984xu3OmnZAQcckM997nP5yU9%2BkoULF%2BarX/1qzjnnnCxYsKCCagEAAGBLHXEN9nbbbZeVK1f%2BwXUOP/zwHH744W2qCAAAAJrTESPYAAAA0O0EbAAAACiBgA0AAAAlELABAACgBAI2AAAAlEDABgAAgBII2MCkUK8vz8yZ%2B6ZeX151KQAA9CgBG5gUBgeXpr//gQwOLq26FAAAepSADUwKQ0NLMjIyJ0NDS6ouBQCAHjWl6gIAytBoLEyjsbDqMgAA6GFGsAEAAKAEAjYAAACUQMAGAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwAAAAogYANAAAAJRCwAQAAoAQCNgAAAJRAwAYAAIASCNgAAABQAgEbAAAASiBgAwAAQAkEbAAAACiBgA0AAAAlELABAACgBAI2AAAAlEDABgAAgBII2AAAAFACARsAAABKIGADAABACQRsAAAAKIGADQAAACWYUnUBAAAA5ZiWWu2Zv6EKAjYAAND1arW%2BDAzM2/x1UdRTFEWFFdGLBGwAAKDrFUWRDRvuTrI%2Bz4xkvyi1Wk3Ipq0EbAAAYBIokqxNUTRSq9V//zW0l0nOAAAAoAQCNgAAAJRAwAYAAIASCNgAAABQAgEbAAAASiBgAwAAQAkEbAAAACiBgA0AAAAlELABAACgBAI2AAAAlEDABgAAgBII2AAAAFACARsAAABKIGADAABACQRsAAAAKIGADQAAACUQsAEAAKAEAjYAAACUQMAGAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwA6CH1%2BvLMnLlv6vXlVZcCAJOOgA0APWRwcGn6%2Bx/I4ODSqksBgElHwAaAHjI0tCQjI3MyNLSk6lIAYNKZUnUBAED7NBoL02gsrLoMAJiUjGADAABACQRsAAAAKIGADQAAACUQsAEAAKAEAjYAAACUQMAGAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwAAAAogYANAAAAJRCwAQAAoAQCNgAAAJRgStUFAAAAlGNaarVn/oYqCNgAAMAk0Jda7ZDNXxXFjBRFUWE99CIBGwAAmAT60mjMzqZMLVxTBQEbAACYFIpCsKZaJjkDAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwAAAAogYANAAAAJeiY23Rdd911ufrqq3Pfffdl2223zZ/8yZ/kiiuuSJKcddZZuf7667d4zrJlyzJ//vx2lwoAAABb6IiAfckll%2BSLX/xi3v/%2B9%2BdP/uRPsmbNmtx2222j1pkzZ04uvPDCUY/NnTu3nWUCAADA86o8YN9zzz25/PLL8zd/8zd53etet/nxo48%2BetR69Xo9%2B%2B%2B/f7vLAwAAgDGp/Brsr33ta5kzZ86ocA0AAADdpvKA/X//7//Ny1/%2B8lx22WU55JBDst9%2B%2B%2BWd73xnfvazn41a7/7778%2BBBx6Y/fbbL295y1ty8803V1QxAAAAbKnyU8QfffTR3HXXXfnFL36Rv/qrv8rUqVNz6aWX5pRTTsm3v/3tzJgxI3vvvXfmzZuXPffcM08%2B%2BWSuvfbaLFq0KBdffHHe8IY3TGj7/f2VH2PoSZv6rv/tp/fV0v9q6X919L5a%2Bl8dvW%2BvKVNqKYpa1WXQw2pFURRVFnDMMcfkV7/6VVasWJG99torSfLII4/kqKOOygc/%2BMGceuqpWzxn48aNedvb3pZ169blG9/4RrtLBgAAOkxRFKnVhGuqVfkI9nbbbZcdd9xxc7hOkp122il77LFHfvnLX271OX19fTnmmGNywQUXpNFopF6vj3v7a9c%2BnZGRjeN%2BPuPT39%2BXGTO20f8K6H219L9a%2Bl8dva%2BW/ldH79tjxoxtUqsla9YMpdrhQyarHXaYPqb1Kg/Yc%2BfOzapVq7Z4vCiK9PU9/6k0ZQ28j4xszPCwnV1V9L86el8t/a%2BW/ldH76ul/9XR%2B/YYHi5KywkwHpVfDHLEEUfksccey9133735sYcffjj33ntvXvGKV2z1ORs3bsy3vvWt7LXXXhMavQYAAICyVD6CffTRR2fffffN6aefnjPOOCMDAwO57LLLMnPmzPyn//Sf8tBDD%2BWss87Kcccdl9133z1r1qzJtddem5UrV%2BaSSy6punwAAABI0gEBu7%2B/P8uWLct5552Xj33sYxkeHs5BBx2Uiy66KIODg9mwYUO23XbbXHbZZVm9enWmTp2a/fbbL8uWLcthhx1WdfkAAACQpAMCdpK8%2BMUvzkUXXbTVZdtvv30uv/zyNlcEAAAAzan8GmwAAACYDARsAAAAKIGADQAAACUQsAEAAKAEAjYAAACUQMAGAACAEgjYAAAAUAIBGwAAAEogYAMAAEAJBGwAAAAogYANAAAAJRCwAQAAoAQCNgAAAJRAwAYAAIASCNgAAABQAgEbAAAASiBgAwAAQAkEbAAAACiBgA0AAAAlELABAACgBAI2AAAAlEDABgAAJoWiKKougR4nYAMAAJNCrVarugR6nIANAAAAJRCwAQAAoAQCNgAAAJRAwAYAAIASCNgAAABQAgEbAAAASiBgAwAAQAkEbAAAACiBgA0AAAAlELABAACgBAI2AAAAlEDABgAAgBII2Pz/7d13WBRX2wbwewsIUhVRxNgFFEEURbFFxYK9a4wldsVe8wqxYhDFKFGxoKLGFkMQTQJKzJv4iqZoEsHEhgWxN5Cq0rZ8f/Axui5Lc3QV7t91eV3umTOzZ549zO4zc%2BYMERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhEREREREZEImGATERERERERiYAJNhERERERlTrQpwAAACAASURBVAlqtVrfTaByjgk2ERERERGVCRKJRN9NoHKOCTYRERERERGRCJhgExEREREREYmACTYRERERERGRCJhgExEREREREYmACTYRERERERGRCJhgExEREREREYmACTYRERERERGRCJhgExEREREREYmACTYRERERERGRCJhgExEREREREYmACTYRERERERGRCJhgExEREREREYmACTYRERERERGRCOT6bsD7QKVSQalU6LsZZYpKJUFWlgw5OdlQKtX6bk65wtiLQyaTQyrlOUoiIiIieoEJdiHUajXS05ORmflU300pk5KSpFCpVPpuRrnE2IvD2NgU5uaVIZFI9N0UIiIiInoHMMEuRH5ybWpaCYaGFfgjWmQymYRXUPWEsX89arUaOTnZePo0BQBgYWGl5xYRERER0buACbYOKpVSSK5NTc313ZwySS6XQqHgVVR9YOxfn6FhBQDA06cpMDOrxOHiRERERMRJznRRKpUAXvyIJiJ6Vf7xgXM0EBERERHABLtIHBZORLrw%2BEBEREREL2OCTURERERERCQCJthEREREREREInhnJjkLCwvD3r17kZCQAFNTU7i4uCA4OFhYHh0djS%2B//BLx8fGwsbHBmDFjMGLECD22mKhgt2/fwrp1a/Dvv7EwMjJGly6emDJlOipUMCpy3aioSOzduwsPHz5AjRofYOzYSfDw6KKx7fDwUJw9%2BxcePnwACwtLtGjREpMmTYWVVRWNbV248C82b96AuLjLMDExgYdHF0yZMhNGRkW34130/PkzbNy4DidOHEdubg5cXVtgzpz/wMameqHrDR7cBw8fPihwWXDwLjg5OePZs6f45pv9OH36d9y5cwtyuRz29o0wefI0ODg0fBO7Q0RERERl0DuRYAcFBeGrr76Cl5cXXFxckJaWhlOnTgnLY2NjMXXqVPTr1w/e3t6IiYmBn58fDA0NMWTIED22nEhTRkYGZs2aAhsbG/j5rUZKSjI2bvwS6elpWLLk80LX/d//fsaKFcswcuQYtGzpjpMnT2DpUh%2BYmpqiZUt3AMBff53GuXMx6Nt3ABo0sEdi4mPs3LkNXl7jsHv3N6hYsSIA4OHDB5g1awpcXJphxYoAJCUlYcuWIDx5kgQ/v9VvPA5vwrJlC3HlShzmzPkUJiamCAkJxuzZU7F794FCT174%2B3%2BBnJxcjbLg4CDcvJmAhg0bAQAePXqIH344hJ49%2B2LCBC8oFAqEhR3AlCnjsGXLTibZRERERFQsek%2Bw4%2BPjsWXLFmzbtg3t2rUTyrt27Sr8f9OmTXB0dIS/vz8AwN3dHQ8ePMD69esxaNAgPh7nPZCdnVWsK7hvklqtRm5uLgwNDd/Ye3z/fTgyMtKxa9fXsLS0BADIZHIsX74In3wyDnXq1NW5bkhIMDp16gIvr%2BkAAFfXFrh9%2ByZCQoKFBLtzZ08MHDhUY3Kt%2BvXtMGbMx4iOPo4ePXoDAPbu3QUzM3OsWhUo7K%2BpqSkWL/bG1atxcHR0fCP7/6ZcvHgBv//%2BK774Yh1at847TtSr1wAffdQPUVGR6N9/sM517e01k%2BPMzExcuXIZ3bv3hlyedwisXr0GQkO/17i636JFSwwd2g/h4aH47LOlb2CviIiIiKis0XtmeujQIdSsWVMjuX5ZTk4OTp8%2BjV69emmU9%2BnTB4mJibh06dLbaOZ7bcWKZRg1aij%2B%2BOM3jBo1FB4ebTBu3EhcuHBeq%2B7RoxEYPXoYPDzaoH//Hti6dRMUihePIEpKSoK/vy%2BGDOkHD4%2B2GDZsALZu3YScnByN7bRr1wJ7936FzZs3oG9fT/TunXfC5MaNeMyfPxM9e3ZGhw5t8PHHA7F//26NdU%2BePIGxY4fDw6MN%2Bvb1xNq1AXj%2B/LmwPCbmb7Rr1wJ//nkay5YtRNeuH2LQoN5a23mx379i9OiP0alTa/z668nXjmdhTp/%2BHS1atBSSawDo2NEDhoaG%2BOOP33Sud//%2BPdy6dRNdunhqlHft2h2XL19EamoqAMDS0lJr5ur69RtAJpMhKSlRKLt69QqaNnXVOJng7t4WAPDbb6dQUtOnT8J//jMbUVGRGDo077OfPn0Sbt%2B%2BWeJtlcbp07/B1NRM2AcAsLGxQZMmTfH777rjWpBTp6KRmZmJbt26C2XGxsZaQ%2BcrVKiAOnXqasSViIiIiKgwek%2Bw//nnH9jb22PTpk1o3bo1nJycMHLkSFy%2BfBkAcPv2beTm5qJevXoa6zVo0ABA3hVwKtqTJ08QGBiA4cM/wfLlK2FoaIh586YjJSVZqPPNN/sQEOCHli1bIyAgECNGjMbBg6HYvn2LUCctLRXm5haYMWMO1q7dgOHDP0FUVCTWrFmp9Z4HDx7AvXt34OOzGIsX5w2P9vaei4yMDHh7L0Zg4Hp8/PEoZGVlCev8%2Bms0Fi78FDVr1saKFV9g9OjxOHbsKHx85mttf82alahZsxb8/b9A69btsGVLEE6f/l2jTlJSEtavX4thw0Zg7dog2NnZ64yRQqEo8p9KpSo0zjdvJqB2bc2r1IaGhrC1/QC3biXoXC9/2atXuOvUqQu1Wo1bt27qXPfChX%2BhVCo13jcnJwcGBgYa9WQyGSQSCW7efNGOo0cj0K5dC8TE/F3ofgHAlStx2LfvK3h5zcCiRb548iQJc%2BfO0Dq58iqlUllkXPOfO6/LzZsJqFWrttbJhTp16hUa14L8/POPqF7dFk5OTQqtl5mZiatXr2h9nkREREREuuh9iHhiYiIuXryIa9euwdfXFwYGBti4cSPGjh2Ln376CWlpaQAAc3NzjfXyX%2BcvLy2ZrOBzDCpV2Xq%2BbXp6Gj7/fBWaN3cDALi4uGLgwF749tsDmDx5Gp4/f4YdO7Zh%2BPBPMHnyNACAm5s7ZDIZNm1ah%2BHDR8HCwhL16zfA9Omzhe06O7vAyMgYK1Ysxdy5CzSuApqbW8DPb7WQFKWmpuL%2B/XuYOXMe2rf/EDKZFE2bNoda/aKdO3duQ8OGjli%2BfOVL2zGHr%2B8ixMT8DVfXFkJ5x44eGD9%2BMgCgeXM3/P77KZw48Qvc3dsIdTIy0rF27QY4OjoVGp8HD%2B5jyJC%2BRcZx7NiJwnsWJCMjHaamZlrlZmZmSE9PL2S9DAB5w7g11zP//%2BUF93OFQoENG9aiVq3aaNPmxSiQmjVr4fLlS1Cr1UL8L1%2B%2BCLVajYyMvHaU9BHOefeTb0PNmrUAAHZ29hgxYjCioiLRr99Anet99FF/nZOM5Wva1BUbN27Tuby0cX1VWloq/vzzND7%2BeFSRz7Devn0zsrOzMGjQ0CK3K5NJIJcX73xl/jFH17GH3izGX38Ye/1i/PWHsX%2B75HIJ1Oqy9Tue3i96T7DVajWeP3%2BOoKAg2NnZAQAaN26Mzp07IzQ0FK6urgCg88dwUT%2BSi2JublxgeVaWDElJ0hL9cH5XSSQSmJqaolWrVkJZpUoWaNHCDZcunYdcLsWlS%2BeRmfkcXbp0BfDiKm3Lli0RGJiNW7cS4OraHGq1GqGhX%2BO77w7hwYP7yM7OFuo%2BenQf9es3EF63adMWBgYy4bWVVSXY2FTHtm2b8OxZBtzcWqJq1WrC8ufPn%2BPatauYPn22Rsy7du0GP79luHDhH7Rs2VL4gnJ3b/NSPen/D%2Bd9LJRJJBJYWlqiSZPCr1QCgI1NNezata/IelWqWBfRHySQyaQF1pFKdfclqTSvH8vlMo06%2BeW6trlmzWrcuHEDwcEhMDJ6MRx8yJCPMG3aJGzduhHDh4/CkydJCAwMgEwmE%2BYskMmk6Nu3H/r27VfkfkskEtSrVx9169YRyurWrYN69erj8uULGDRI9z3Qa9asQ25urs7lAFCxYsVC4yqRSAqMn0SSt6y4f6MnTvwChUKB7t17FLrOsWNR%2BPbbA5g/3xt16tTWWU%2BlkkAqlcLComKJZ2fXdeyht4Px1x/GXr8Yf/1h7N88tVoNS0sTfTeDyjm9J9gWFhaoUqWKkFwDQNWqVVGvXj1cv34dnTp1AqB9pTr/qtWrV7ZLKj09E0ql9rDfnJxsqFQqKJVqKBSFDwt%2B1%2BUdbCpp7YelZSXcvn0LCoUKyckpAIDRo4cXuI0HDx5AoVAhNHQ/Nm1aj%2BHDP4GrawuYmZnh8uVLCAwMQGZmlsZ7WFhov2dgYBC2bduCNWtWITMzEw4ODTFjxlw0beqK1NQ0qNVqVKpU%2BZX1pLCwsEBqaioUCpXweVWsaKJRTy6X4/nz50JZ3n6/uq2CSSQy1K3boMh6Uqm00O2ZmZkhLS1Nq05GRgZq166jc10Tk7wr16mpabCwqCSU5/f7ihXNtNbduXMbIiK%2Bx4oVq2Fn11BjuYuLK6ZOnYUdO4Kxb99uSKVS9Os3CHK5ASpXtgIAKJUqjdEDhSmsDyUmJhUak5o160BdxBtJJJJCt2FqaoZHjx5q1UlPz4CZmXZsdDl2LAr169uhdu16Otf566/T8PNbhuHDR6F//8GFblupVEOlUiEt7TkyMwsf5p5PJpPC3NxY57GH3izGX38Ye/1i/PWHsX87zM2NIZEAaWnPi/37hqgkKlUq3skbvSfY9evXx/3797XK1Wo1pFIpatWqBQMDA9y4cQMffvihsPz69evC%2Bq9DqVQV%2BANaqSxbf5mpqSlaZSkpycKzk/OHIq9Y8QWqVaumVbd6dVsAwP/%2B9wvatv1QmOkagMY9vZq0RxfUqlUHfn4BUCgUuHTpPLZsCcKCBXNw%2BHAUTE3NIJFIkJz8RGMdhUIh3PtdUsUd4CDWEPE6depq3ROck5OD%2B/fvolcv3dvPv8837x7uOkL5zZsJkEgkGmUAcOhQGHbu3IZPP/0M7dp1KHCbw4ePwsCBQ3Dv3l1UrmwFMzMz9O7dBX369AeAEn/5pKQU1IdSinyElRhDxOvUqYu//jqjMeQdAG7evFHse6QfPnyI8%2Bf/EW6BKMilSxfw2Wf/QadOec8ML67SnIjTdeyht4Px1x/GXr8Yf/1h7N8OhUJd5Il9ojdJ7wl2x44dcfjwYVy9ehX29nkTUD169Ag3btzAwIEDYWhoCHd3d0RFRWHMmDHCepGRkbC2tn7vHjekL0%2BfPsXZs38J92Dnvf5buL80715qIyQmPkKHDp10bic7O0tr8qyffooqcXvkcjlcXZtjxIgx8Paei6SkRNSqVRt2dvY4fvxnDBs2UqgbHX0cSqUSTZo0LfH7FFeVKtYICdlTrHqFcXdvg927dyAtLRUWFnkziZ88%2BT/k5OSgdeu2Otezta2B2rXr4PjxnzTi/9//HkOjRo01ZiX/%2BedjWLfuC0yY4FXovc8AYGRkJAzbj4z8Hmq1Gh4eXQtdR5eEhHjcuXNbuAf7zp3bSEiIx4ABuoeHA0BAwJfIzS18IrT853fr4u7eFrt2bceZM38I99g/evQQ//57DnPmfFqs9v/8848AgC5duhe4/ObNBHz66Sw4O7vgs8%2BWvvbtJ0RERERU/ug9we7atSsaN26MGTNmYNasWTA0NMSmTZtQuXJlDB2al/xNmzYNI0eOxKJFi9CnTx/ExMQgLCwMy5cv5zOwi8nc3AKrVn2OceMmwczMDPv25T3SaujQjwHkTa41frwXNm8OwuPHj%2BHq2gJSqRT379/FqVMnsWLFahgZGcHNrRXCwr5BeHgoatasjZ9%2BisLdu3eL1Ybr169h48Yv0blzN9So8QEyM59h9%2B6dqF7dFjVqfAAAGDduEnx85mPp0s/Qo0dv3L9/D1u3bkTz5i01JjgTm4GBARo2fP2TNf36DUJ4%2BLfw9p6HMWMm/P/EYF%2BiW7ceGjOEr1y5HD/%2BeATR0WeEsvHjvbB0qQ9sbT%2BAm1sr/PprNP766zTWrg0S6sTGnoWf31I0adIULVq00njUWqVKlYQ43r9/D1FRkcLkbjExf%2BPbb7%2BGj88Sjdsqjh6NgL%2B/LzZsCC4yvpUqVYa391xMmOAFtRoICdmCKlWshWdv6/Lyffml1bixE9q0aYdVqz7H9OmzYWJigpCQrahe3Vbj/aOiIrFq1edYt24zmjVrrrGN//73GJydXWBjY6O1/ZSUZMydOx1yuRzDh49CXNxlYZmhoYHWs7SJiIiIiAqi9wRbJpNh%2B/bt8Pf3x5IlS6BQKODm5oa1a9cKV7WaNWuGzZs3IzAwEN999x1sbGywaNEiDBkyRM%2Btf39YWVlhypSZ2Lx5Pe7du4u6deshMDBIuB8XAD7%2BeCSsra0RGrof4eGhkMvlqFHjA7Rp0x5yeV5XGTNmIlJTUxESshUA0LFjZ8yePR8LFswpVhusrKywd%2B8uJCUlwsTEFC4uTbFkyeeQyfImQ2vXrgP8/Fbjq6%2B2w8dnHkxNzdCtW09MmTLjDURFfGZmZli/fgvWrfsCCxd%2BCiMjI3Tp4qnV/rz7%2BzXv2fXw6ILs7Czs2bMT33yzDzVq1ISv70q0bOku1ImJ%2BRsKhQLnzsXAy2usxvo9evTGwoXLAOSNEIiNPYuwsAPIzc1Fgwb28Pdfg7Zt22usk5mZCQAa/UAXB4eG6NDBA5s3b8CTJ0lwdHTC/Pk%2BqFChQrHj8zqWLvXDxo3rsXZtABSKXLi6tsCKFatRocKLycXUajWUSqXW0LCEhBuIj7%2BGefO8C9x2QsINPH78CAAwe/ZUjWU2NtVx8GCEyHtDRERERGWRRF3Ob1JISXlW4P0wubk5ePLkAaysqsPAwLCANd8fK1YsQ1zcJezd%2B62%2Bm6JBLi98wjB6c/Jj//nni5GWloY1azYUWn/69EmoWLEiVq9e95Za%2BH4ozXFCLpeiUiUTncceerMYf/1h7PWL8dcfxv7tqFzZBBIJkJz8nPdg0xthba39yNiCcHw1UTn277//YvTo8fpuBhERERFRmaD3IeJEpD9hYd/ruwlERERERGUGE%2BxyIP%2B%2BXKLSKuwRWkRERERElIdDxImIiIiIiIhEwASbiIiIiIiISARMsIvAWQiJSBceH4iIiIjoZUywdch/LnNOTraeW0JE76r844NMxuksiIiIiIiTnOkklcpgbGyKp09TAACGhhUgkUj03KqyRaWSQKnkFUB9YOxfj1qtRk5ONp4%2BTYGxsSmkUp6rJCIiehdwdBnpGxPsQpibVwYAIckmcUmlUqhUKn03o1xi7MVhbGwqHCeIiIhI/yQSCZNs0ism2IWQSCSwsLCCmVklKJUKfTenTJHJJLCwqIi0tOe8kvqWMfbikMnkvHJNRERERBqYYBeDVCqFVGqo72aUKXK5FEZGRsjMVEKh4JXUt4mxJyIiIiJ6M3j5hYiIiIiIiEgETLCJiIiIiIiIRMAEm4iIiIiIiEgEEnU5n2ZPqeQ9qPoik0kZfz1h7PWL8dcvxl9/GHv9Yvz1h7F/86TSvNnDk5OfcxZxeiOsrc2KVa/cJ9hEREREREREYuAQcSIiIiIiIiIRMMEmIiIiIiIiEgETbCIiIiIiIiIRMMEmIiIiIiIiEgETbCIiIiIiIiIRMMEmIiIiIiIiEgETbCIiIiIiIiIRMMEmIiIiIiIiEgETbCIiIiIiIiIRMMEmIiIiIiIiEgETbCIiIiIiIiIRMMEmIiIiIiIiEkG5S7ATEhIwfvx4NG3aFK1bt4afnx%2BysrL03az3WlRUFKZOnYoOHTqgadOm6NOnD77%2B%2BmuoVCqhjre3NxwcHLT%2BnTx5Umt7O3bsgIeHB5ydnTFo0CCcOXPmbe7Oe%2BfQoUMFxnbNmjUa9aKjo9G/f384Ozuja9eu2L9/f4HbY/xLZtSoUQXG38HBAUeOHAHA/i%2BWW7duYcmSJejXrx8cHR3Ru3fvAuuJ2defPn2KJUuWoFWrVmjWrBm8vLxw7949UffrfVBU7JVKJbZv346RI0fC3d0dbm5uGDFiBP744w%2BtbXl4eBT495Cdna1Rj7F/oTh9X%2BzjDOP/QnHir%2Bt7wMHBAY8fPxbqsf8TlX1yfTfgbUpPT8fo0aNha2uLDRs2IDk5GStXrkRqaqpWMkLFt2vXLtja2uI///kPrKyscObMGaxYsQJ37tzBggULhHo1a9bUinP9%2BvU1Xu/YsQNffvkl5syZA0dHR4SFhWHixIkICwuDg4PDW9mf91VISAjMzMyE19WqVRP%2BHxsbi6lTp6Jfv37w9vZGTEwM/Pz8YGhoiCFDhgj1GP%2BSW7p0KZ4%2BfapRtnv3bvz0009o3bq1UMb%2B//quXbuG6OhouLi4QKVSQa1Wa9URu6/PmzcPFy9exOLFi2FqaooNGzZg7Nix%2BOGHH2BkZPRW9vtdUFTss7KysHXrVvTv3x/jx4%2BHXC7H4cOHMXbsWGzZsgWdOnXSqO/p6Ylx48ZplBkaGmq8ZuxfKE7fB8Q9zjD%2BLxQn/qGhoVplCxYsgLGxMapWrapRzv5PVMapy5GtW7eqXVxc1E%2BePBHKfvjhB7W9vb36%2BvXremzZ%2B%2B3leObz9/dXOzs7q7Ozs9VqtVq9YMECda9evQrdTnZ2trp58%2BbqgIAAoUyhUKh79Oihnj17triNLkPCw8PV9vb2BX4O%2BcaPH68ePHiwRtmiRYvUbdu2VSuVSrVazfiLycPDQz1x4kThNfu/OPL7qlqtO6Zi9vVz586p7e3t1SdOnBDK7t27p3Z0dFR//fXXou3X%2B6Co2CsUCnVqaqpGmUqlUg8YMEA9cuRIjfJOnTqpfX19C30/xl5Tcfq%2BmMcZxl9TceL/qjt37qjt7e3V27dv1yhn/ycq%2B8rVEPGTJ0%2BidevWqFy5slDm6ekJQ0NDREdH67Fl77eX45mvUaNGyM7ORmpqarG3ExMTg4yMDI2hVzKZDD179kR0dLTOM/ZUuJycHJw%2BfRq9evXSKO/Tpw8SExNx6dIlAIy/WGJiYnD37l306dOnxOsx/oWTSgv/yhK7r0dHR8Pc3BwffvihUM/W1haurq7l7jujqNjLZDJYWFholEkkEjRs2FBjeGxxMfaaiop/cbHvl05p4h8ZGQmJRKLzVpbCMP5E77dylWDHx8drDZUyNDRErVq1EB8fr6dWlU1nz56FpaUlrKyshLLbt2%2BjRYsWcHJywsCBA/Hzzz9rrJP/GdSrV0%2BjvH79%2Bnj27BkePXr05hv%2BHuvduzcaNWqEzp07Y%2BvWrVAqlQDy4p6bm6sV1wYNGgB4EXfGXxyRkZEwNjZG586dNcrZ/988sft6fHw86tatC4lEorU9fmcUTaVSITY2Vut7FwAiIiLg5OSEZs2aYeLEibhy5YrGcsa%2BdMQ6zjD%2Br%2B/IkSNwc3ODjY2N1jL2f6Kyrdzdg21ubq5Vbm5ujrS0ND20qGw6f/48Dh06hGnTpkEmkwHIu6Lt7OyMBg0aICMjAwcOHMC0adOwfv16dO/eHUDe52NoaKh1b1H%2BVZHU1NQCv6jKO2tra8yYMQMuLi6QSCQ4fvw41q1bh0ePHmHJkiVC33617%2Be/zl/O%2BL8%2BhUKBH3/8EZ07d0bFihWFcvb/t0Psvp6enq4xr8HL2%2BN3RtH27t2LhIQELF%2B%2BXKPcw8MDTZo0ga2tLe7cuYPg4GAMHz4c3333HWrWrAkAjH0piHmcYfxfT1xcHK5evarV9wH2f6LyoFwl2Lqo1Wqts4RUOomJiZg5cyacnZ0xceJEoXz06NEa9Tw8PDBs2DBs2LBB%2BOIHUODnkD9kjZ9Rwdq3b4/27dsLr9u1a4cKFSpg9%2B7d8PLyEsp1xe/lcsb/9fz222948uSJ1pBA9v%2B3S8y%2BXpxtkbY///wTX3zxBcaNGwc3NzeNZYsWLRL%2B36JFC7Rt2xY9evTAjh07sGzZMmEZY18yYh9nGP/Si4iIgIGBATw9PbWWsf8TlX3laoi4ubk50tPTtcozMjIKvLJNJZORkYGJEyfCyMgIW7ZsgYGBgc66UqkU3bp1Q3x8vPCYNHNzc2RnZ2s9qiL/M3v1/j7SrUePHlAqlbh8%2BbIQt1fPeufHNb/vM/6vLzIyEpaWlmjXrl2h9dj/3wyx%2B7qu7wxdo6EoT1xcHKZOnYouXbrg008/LbJ%2B1apV0bx5c1y8eFEoY%2Bxf3%2BscZxj/0lOr1Th69Cjat28PS0vLIuuz/xOVPeUqwa5fv77WvSs5OTm4fft2gfeIUfFlZ2djypQpSEpKQkhICCpVqlTkOq9O2pT/Gbz6GcXHx8PExETjsVNUfLVq1YKBgQFu3LihUX79%2BnUAL%2BLO%2BL%2BerKws/PLLL%2BjevXuhJ5fysf%2BLT%2By%2BXr9%2BfSQkJGh9VtevX%2Bd3hg63b9/GhAkT4OjoiNWrVxf7altBfw%2BM/esr7XGG8S%2B9s2fP4v79%2ByWa6JL9n6hsKVcJ9ocffojTp08jJSVFKPvvf/%2BLnJwcdOjQQY8te78pFArMmjULcXFxCAkJQY0aNYpcR6VS4dixY7CzsxPuBXN1dYWZmRmOHj0q1FMqlYiKikKHDh04LKoEjh49CplMBkdHRxgaGsLd3R1RUVEadSIjI2FtbQ1HR0cAjP/rOn78OJ49e1asH1Xs/2%2BG2H29Q4cOSE9Px6lTp4R6Dx48QExMDL8zCpCYmIhx48ahSpUq2Lx5s9ZzfXV59OgRYmJi4OzsLJQx9q/vdY4zjH/pRUREoGLFilrPfteF/Z%2Bo7JEte/mGjzLOzs4O4eHhOHXqFKpVq4bY2Fj4%2B/uja9euGDZsmL6b995atmwZIiMjMWvWLFStWhUPHz4U/pmamiIxMRHTpk1Dbm4uMjIycPHiRfj5%2BSE2Nha%2Bvr7C2ViZTAaZTIbg4GAYGRkhOzsb69evR2xsLFavXo0qVaroeU/fTePHj8fjx4/x9OlT3Lp1Czt37sT%2B/fsxatQo4b67mjVrIjg4GA8ePICJiQkiIiKwa9cu%2BPj4wMnJCQDj/7oCAwORnZ0NHx8fjWT43r177P8iyczMxC%2B//ILr16/jt99%2BQ1JSEmxsbHD9%2BnVUrlwZxsbGovZ1GxsbXLhwAaGhoahWrRoePHiAJUuWwMjICMuXL4dcXn6mMSkq9hKJBJ988gkePnyIRYsWISsrS%2BO7IH%2BCvsjISGzbtg1ZWVlISUnBH3/8FgdMlwAADM5JREFUgYULFyInJwcrV64Uhigz9pqKin9ycrKoxxnGX1Nxjj1A3gWHhQsXolOnTujZs6fWdtj/icoHibqcPVw1ISEBfn5%2BOHv2LIyMjNC7d2/Mnz9fa0ZNKj4PDw/cu3evwGV79uyBg4MDfHx8cPHiRSQnJ8PAwABOTk6YNGmSxuRcQN4wqR07dmD//v1ISkqCvb09Pv30U7i7u7%2BNXXkv%2Bfn54dSpU3j48CFUKhXq1KmDIUOGYNSoURqJXnR0NAIDAxEfHw8bGxuMHTsWI0aM0NgW4186aWlpaNu2LUaPHq11z2lqair7v0ju3r2r9fizfHv27EGrVq0AiNvXnz59ioCAABw7dgy5ublo1aoVFi9eXKyROmVJUbGvUaOGzuUAhMcQnTt3DmvXrsW1a9eQkZEBMzMzuLu7Y%2BbMmVqPjmLsXygq/m/ie5bxf6G4x54TJ05g8uTJ2LZtW4FXmtn/icqHcpdgExEREREREb0J5eoebCIiIiIiIqI3hQk2ERERERERkQiYYBMRERERERGJgAk2ERERERERkQiYYBMRERERERGJgAk2ERERERERkQiYYBMRERERERGJgAk2ERERERERkQiYYBMRvUf27NkDBwcH9O7dW2cdBwcHBAUFCa/PnDkDBwcHnDlz5m00sdQOHToEBwcH3L17V99NKVJxY/qu7VNMTAyCgoKQnp6utczDwwOTJ0/WQ6uIiIjKDibYRETvkfDwcADAtWvX8M8//xRrncaNGyM0NBSNGzd%2Bk02j90BsbCw2btxYYIJNREREr48JNhHRe%2BL8%2BfOIi4tDx44dAQAHDx4s1nqmpqZo2rQpTE1N32Dr9CszM1PfTSAiIiJigk1E9L7IT6jnzZuHZs2a4ciRI8VKLHUNZ/7222/h6ekJJycn9OzZExEREfD29oaHh4dQ5%2B7du3BwcMCOHTuwa9cueHh4oFmzZvjoo49w7tw5rfc6f/48vLy80LJlSzg7O6N///44evSoVr1z585h2LBhcHZ2Rrt27bB27VooFIpixcHb2xvNmjXDlStXMG7cODRr1gxjxowRlv/%2B%2B%2B8YPXo0XF1d4eLigmHDhuGPP/7Q2MatW7fg4%2BODbt26wcXFBe3bt4eXlxeuXLmi9X7x8fEYP348XFxc0KpVKyxZsgTPnj0rVlt1KU4bg4KC4ODggGvXrmHu3Llo3rw52rRpAx8fH2RkZGjUTU9Px2effYaWLVuiWbNmmDRpEu7cuaNxu0BQUBBWr14NAOjcuTMcHBwK7BcnT57EgAED0KRJE3Tv3r3YJ3KIiIgIkOu7AUREVLSsrCwcOXIEzs7OsLe3x6BBg7Bo0SL8%2BOOPGDBgQIm3FxoaiiVLlsDT01NI2DZu3Ijc3NwC6%2B/fvx/16tXDZ599BgBYv349Jk2ahF9%2B%2BQVmZmYAgNOnT2PChAlwcXHBsmXLYGZmhqNHj2LOnDnIysrCwIEDAQDXr1/HmDFjUKNGDaxatQpGRkb4%2BuuvERkZWez25%2BbmYsqUKRg2bBgmTpwIpVIJAPj%2B%2B%2B%2BxYMECdO7cGQEBAZDL5QgNDcX48eOxY8cOtG7dGgDw%2BPFjWFpaYt68eahcuTLS0tJw%2BPBhDB06FIcPH0a9evUAAElJSRg1ahTkcjmWLl0KKysrRERE4PPPPy9xzPMVt435ZsyYgZ49e2Lw4MG4evUq1q5dCwBYuXIlAEClUsHLywsXLlzA9OnT0bhxY8TGxmLChAka2xkyZAjS0tKwd%2B9ebNy4EdbW1gCABg0aCHXi4uIQEBCAiRMnokqVKggLC8PChQtRu3ZtuLm5lXqfiYiIygsm2ERE74Eff/wRGRkZGDx4MACgZ8%2Be8Pf3x8GDB0ucYKtUKgQFBcHFxQUbNmwQyps3b45u3bqhatWqWuuYmJhg69atkMlkAICqVatiyJAhOHnyJHr16gUA8PX1hZ2dHXbv3g25PO/rpX379khJSUFgYCD69%2B8PqVSKTZs2Qa1WY/fu3ahSpQoAoGPHjoVO3Paq3NxcTJs2DYMGDRLKMjMz4e/vj44dO2LTpk1CeYcOHTBgwAAEBgYiLCwMAODm5qaRMCqVSnTo0AG9e/dGaGgofHx8AABfffUVkpOT8d1336Fhw4bC9saNG4f79%2B8Xu72laWO%2BwYMHC8lymzZtcOvWLYSHh8Pf3x8SiQSnTp3C2bNnsWzZMnz88ccAgLZt28LQ0FBIxgHAxsYG1atXBwA0atQIH3zwgVb7UlJScODAAdja2gpxOn36NCIiIphgExERFQOHiBMRvQfCw8NhZGQkJLMmJibo3r07/v77b9y8ebNE20pISEBiYiJ69OihUW5ra4tmzZoVuE7Hjh2F5BqAkGzeu3cPQN6Q6xs3bqBPnz4AAIVCIfz78MMPkZiYiISEBAB5Q9Zbt24tJNcAIJPJ0LNnzxLth6enp8br2NhYpKamYsCAARrvr1Kp0L59e5w/fx7Pnz8X2hccHIyePXvCyckJjo6OcHJyws2bNxEfHy9s88yZM7CzsxP2N19JTgaUto35Xh6yD%2BTNEp%2BdnY0nT54AAP78808A0Po88/tKSTRq1EhIrgGgQoUKqFOnTqlOJhAREZVHvIJNRPSOu3XrFv766y9069YNarVamAG6e/fuOHToEMLDwzFv3rxiby8lJQUAYGVlpbWsSpUqQtL8MktLS43XhoaGAIDs7GwAeUOpASAgIAABAQGFvm9qaqpGcv3yexeXsbGx1qRt%2BW2YOXOmzvXS0tJQsWJFrFq1Cvv378fEiRPh5uYGCwsLSCQSLFq0SNin/LYWdKW3JG0tbRvz6Yp9VlaW0Ea5XK5VrzRtfHUb%2Be/3ckyIiIhINybYRETvuPDwcKjVahw7dgzHjh3TWn748GHMnj1b4wpzYSpVqgQAwhXQl%2BUngCWVv83Jkyeja9euBdapW7cugLwkrqD3Kcl7SyQSnW1YvHgxXFxcClwv/6TCDz/8gP79%2B2Pu3Lkay1NSUmBubi68FqOtpW1jcVlaWkKhUCA1NVUjQU5MTCxVG4mIiKj0mGATEb3DlEolDh8%2BjFq1asHPz09r%2BYkTJ7Bz506cPHkSnTp1KtY269atC2tra0RFRWHs2LFC%2Bf379xEbG1vgPdhFqVevHurUqYO4uDitpPVVrVq1wvHjx5GUlCRcZVUqlQXONl4Srq6uMDc3x/Xr1zFy5MhC60okEhgYGGiUnThxAo8ePULt2rU12hoSEoK4uDiNYeIlmZCttG0srpYtWyIkJARHjx7F8OHDhfKC4vnqyAMiIiISFxNsIqJ32MmTJ/H48WPMnz8frVq10lpuZ2eHffv24eDBg8VOsKVSKWbMmIElS5Zg5syZGDRoENLT04WZpQu6Olwcvr6%2BmDhxIsaPH48BAwagWrVqSEtLQ3x8PC5evChMqDZlyhQcP34co0ePxrRp02BkZIT9%2B/e/9rOsTUxMsGjRInh7eyMtLQ2enp6wsrJCcnIy4uLikJycDF9fXwB595Tnzxbu4OCAixcvYseOHbCxsdHY5ujRoxEeHo5JkyZh9uzZwiziN27ceONtLK727dvD1dUVAQEBePr0KZycnBAbG4vvv/8egObVfnt7ewDA7t27MWDAAMjlctStW7dMPyOdiIjobWKCTUT0Djt48CAMDAw0Zst%2BWeXKldG1a1ccO3ZM44pwUT766CNIJBKEhIRg2rRpqFGjhvDYrQcPHpSqre7u7ggLC0NwcDD8/f2Rnp4OS0tL1K9fX2MCLnt7e%2BzatQsBAQFYsGABLCws0LdvX3h6emLx4sWleu98/fr1g62tLUJCQrB06VI8e/YMlStXRqNGjTRmW1%2B4cCHkcjm2bduG58%2Bfw9HREUFBQVi/fr3G9qytrbFv3z6sWLECy5Ytg7GxMbp06YLFixdj6tSpb7SNxSWVShEcHIxVq1Zh%2B/btyM3NhaurK7744gsMHTpUY8h7q1atMHnyZBw%2BfBhhYWFQqVTYs2dPgSdviIiIqOQkarVare9GEBGR/qWnp8PT0xNdunR5rec807shIiIC8%2BfPx4EDB%2BDq6qrv5hAREZULvIJNRFQOJSYmIjg4GK1atYKlpSXu37%2BPr776Cs%2BePcMnn3yi7%2BZRCUVGRuLRo0ewt7eHVCrFuXPnsGPHDri5uTG5JiIieouYYBMRlUOGhoa4d%2B8efH19kZaWBiMjI7i4uMDX1xd2dnb6bh6VkImJCY4cOYItW7YgMzMT1tbWGDhwIGbPnq3vphEREZUrHCJOREREREREJAKpvhtAREREREREVBYwwSYiIiIiIiISARNsIiIiIiIiIhEwwSYiIiIiIiISARNsIiIiIiIiIhEwwSYiIiIiIiISARNsIiIiIiIiIhEwwSYiIiIiIiISARNsIiIiIiIiIhH8H60DGFLPUQJnAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdd3wU1f7/8fdsKiHSQRCRJgEuICCXKghSFCkiINgoKoIoXuu9FwGvimBDAQUbKiogIiBFQEGlXEVE9AoiRWlSQygJoYT0ZH5/5Jv57Sab7CZMMimv5%2BPBg93N7OzZM2XnM%2BeczzFM0zQFAAAAAAAuicvpAgAAAAAAUBIQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYCPPGjZsaP07duyY12WWLl1qLTN06NBCLmHJ17VrV6t%2Bt2zZ4nRxSiy765njouBxbADOW7x4sXUc3nPPPbat98cff7TW26NHD9vWWxzdeeedVl188cUXThenyEtNTfW4fj1x4oTTRUIJFuh0AVB4tmzZomHDhlnPw8LCtGnTJoWFhTlYKgBAUdSwYcNc/x4WFqby5curQYMGat26tfr376%2BqVasWUukAACiaaMEuRZYvX%2B7xPD4%2BXt98841DpQGAnM2cOdNqaXjqqaecLg68iI%2BPV1RUlL7//ntNnTpVN9xwg958802lpaU5XTTk4vDhw9ax9be//c3p4pR606dPt7bHhAkTbF03Lf5FA9uh9KEFu5RISEjQmjVrsr2%2BbNky3XrrrQ6UCABQXERERKhatWoer8XFxWnv3r2Kj4%2BXJKWkpGjmzJmKiorSCy%2B84EQxAQBwHAF2KfH1119bF0HXXnut9uzZo4sXL2rLli06fvy4rrjiCls/b8CAARowYICt6wQAOOPee%2B/1ek5PSUnR8uXL9dJLL%2BnixYuSpM8//1wdO3bUzTffXNjFRBExaNAgDRo0yOlilGgLFixwuggAckAX8VJi2bJl1uNBgwZZXVRM0yQ5BgAgX4KCgjRo0CC99957CggIsF6fNWuWg6UCAMA5BNilQFRUlH7%2B%2BWdJUmhoqG688Ubdcsst1t%2Bzjs0GACAv/v73v6t79%2B7W8z/%2B%2BEOnTp1ysEQAADiDLuKlwPLly5Weni4pYwqb8PBwtW/fXtWqVdOpU6d06NAhbdu2TS1btrTtM5cuXapx48ZJktq0aaN58%2Bb5fM/GjRu1ZMkSbd%2B%2BXdHR0SpXrpxq1aqlnj17asCAASpXrpxHJvSaNWtq/fr1XtfVtWtXRUZGSpLmzp2rtm3bKikpSStXrtQXX3yhQ4cOKTY2VhUqVFCzZs3Uv39/3XjjjXn6jqZpasOGDVq7dq22bt2qmJgYJSYmqnLlymrUqJG6deumfv36KTg42O91nj59WgsWLNC6det07Ngxmaap6tWrq23btrr99tvVqFGjPJXRXzNnztSbb74pSerfv79efvllSdIPP/ygFStW6Pfff9fp06cVFxfn8fesEhIStGrVKm3YsEF79uxRTEyMDMNQlSpVdO2116pXr17q3LmzX2VKSUnRTz/9pM2bN2vnzp06ePCgzp07J0mqUKGC6tWrp3bt2mnw4MGqVKlSnr6vU/WcH3btZzlt461bt2rhwoX67bffdOLECQUHB%2Buqq65S165dNXz4cIWHh/td1sjISC1YsEDfffedjh8/nmO9ejs%2BMw0dOtS6IZhp2bJlHr1w3K1bt05XXnllruWy%2B9jPycCBA7Vz505J0ujRo/X444/79b6kpCR16NBBcXFxkqTXX3/da/fq/fv3a8mSJfr11191%2BPBhxcXFyeVyqWzZsrriiivUoEEDK9CtWLGiLd8pLzp16qSvv/7aer5v375s47bdxcbGasWKFfr%2B%2B%2B/1119/KSYmRsHBwapWrZratGmjfv36%2BfW7dP311%2BvkyZOSpPnz5%2Bvvf/%2B7Lly4oBUrVmjNmjU6evSooqOjlZKSYv3dm/379%2BvLL7/U5s2bFRkZqdjYWAUGBqpKlSqKiIhQu3bt1LNnz1y/U6YDBw5o1apV2rRpk44fP66zZ88qPDxcV155pTp27KhBgwapZs2aua7j8OHD1r4ZEBCg3bt3S5JOnTqlxYsXa%2B3atTp%2B/LgSExNVtWpVtW7dWsOGDVPjxo29rm/x4sV6%2BumnPV5LS0vLMVv8o48%2Bqoceesjnd/X1We3bt9fHH3/s8z1btmzR4sWLtXXrVp0%2BfVrly5fXlVdeqV69eql///667LLL8lUW0zS1fv16rV27Vtu2bct2Du3evbv69eunoKCgXNczffp0vfvuu5Kk2267zcoz8L///U8LFy7U9u3bdeLECYWGhlrn0GHDhuV4Dr3zzju1detWj9c%2B//xzff75516X/%2B6771S9enWv758yZYr69evntayZjhw5kuO2zny/%2B/tatmypzz77LMf6yGrYsGHW1Ij33ntvvpNT5rTfHz58WJ999pl%2B%2BOEHnThxQqmpqbriiivUuXNn3XnnnapVq1a%2BPi83qampWrVqldatW6fdu3crJiZGLpdLVapUUfPmzXXTTTepW7duMgzD6/vzux1Q/BFglwLuLdSZLdcul0u9e/fWRx99JCnjAtbOADsvEhISNHbsWI8LM0mKjo5WdHS0tm3bprlz52rGjBn5/oyDBw/qkUce0d69ez1eP336tNavX6/169frxhtv1NSpU/0KiP/88089/fTT2rFjR7a/RUVFKSoqShs2bNB7772nqVOn6pprrvG5zrVr12rChAk6e/asx%2BsHDhzQgQMHtHDhQj322GMaNWqUz3Vdqri4OE2YMMFrYrycfP3113rhhResC113R44c0ZEjR7R8%2BXK1b99e06ZNyzUo3rJlix555JFsdZHp5MmTOnnypDZv3qxZs2Zp3LhxGjx4sF/lLEr17EtB7GeZkpOTNWXKlGw3vxITE7Vz507t3LlTCxYs0OzZs31O1yRJS5Ys0eTJk61cD5nc6/Xxxx/XyJEj/S6jHew%2B9nNzyy23WAH2qlWr/A6wN2zYYAXX4eHh6tq1q8ffTdPUa6%2B9pg8//NC6WeouOTlZsbGx2rVrl5YvX66PPvpIX3311SV9l/yoUaOGx/Ocjl9J%2BuSTT/TGG2/o/PnzHq8nJSXpwoULOnDggBYsWKA%2BffrohRdeUGhoqN/l2Lp1q5544glFRUX5tXxcXJwmT56sL774Ilv9pqSk6OjRozp69KjWrVunV155RYsXL84x%2B3ZiYqJefvllLVq0KFs29djYWMXGxmrHjh368MMP9fDDD%2Bf5PLNu3TqNGzfOutmYKbOMy5cv17///W/de%2B%2B9eVqvk1JSUvTss89qyZIlHq%2BfPn1ap0%2Bf1rZt2zRnzhzNnDkzz%2Bv%2B448/NGHCBO3atSvb39zPoe%2B//75ee%2B01NWvWzO91Jycn66WXXtKnn37q8XpSUpJ27NihHTt26LPPPtPs2bPVoEGDPJfdCYMGDdKsWbNkmqa2bdumAwcOqH79%2Bj7fd/ToUY8bo7fddput5Vq6dKmee%2B45JSUleby%2Bf/9%2B7d%2B/XwsWLNCECRNs/dzt27frqaee0l9//ZXtbxcvXtThw4e1YsUKNW/eXK%2B%2B%2Bqpq165t22ej%2BCPALuG2bt2qQ4cOSZIqVqyoTp06WX%2B75ZZbrAB79erVmjBhgkJCQgq1fKmpqRozZow2bdpkvWYYhho0aKCKFSvq9OnT%2BuuvvxQZGan77rtP48ePz/NnnD59Wk8%2B%2BaROnz4tSapTp44uv/xyXbhwQXv27LEugr755hu98sor%2Bs9//pPr%2Bn7%2B%2BWc9%2BOCD1gWxJJUrV0716tVTcHCwjh8/rmPHjknKCCyHDx%2BuDz74QK1atcpxnRs2bNCjjz6q1NRU67UqVaqoTp06SkxM1N69e5WcnKypU6eqbNmyea6DvDBNU08%2B%2BaT%2B%2B9//SspoLa5bt64Mw9CRI0e8vuejjz7SK6%2B8ItM0rddq1KihmjVryjRN/fXXX4qNjZUkbd68WXfeeacWLFiQY5B94sQJj4vz8uXLq1atWgoPD1dKSoqOHDlibc/4%2BHj95z//UUpKiu6%2B%2B%2B5cv1tRqmdfCmI/c/fss89q6dKlkv7/Ng4ICNC%2Bffusi/fTp0/r/vvv1%2BrVq3NtyV66dKkmTJjgsf2rVq1q1ev%2B/fuVkJCg1157TWXKlMm1XM2aNVNwcLB1U0aSqlWrpoiICK/L5xZ42X3s%2B9K7d2%2B98sorSktL07Fjx7R161Zde%2B21Pt%2B3atUq6/GNN96Y7Tz8%2Buuv64MPPrCeG4ah2rVrq1q1anK5XDp//rwOHTpk3dzwFoQXhpSUFI/nObUIPv/885o/f77Ha7Vr19bll1%2BulJQU7d2710qYtmrVKh0/flxz5szx6wbIwYMH9eKLL1p1UadOHVWrVs0K2rM6efKk7r///mw3YGrVqqXq1asrPT1dJ0%2BetI611NTUbDeRMp0/f16jRo3Stm3brNcCAwNVv359VaxYUefPn9fevXuVmpqqpKQkTZ06VbGxsRo7dqzP7yVl9Ch6%2BOGHlZ6erqCgIDVo0ECXXXaZTpw4ocOHD0vK2PYvv/yyatWq5dFlX5KqV6%2Bujh07KjExUf/73/8kZexL1113ndfPu%2Bqqq/wq16UwTVP//Oc/PW7mGoah%2BvXrq1KlSjp58qQOHz6sY8eO5blVdPPmzRozZoy1L0kZvyX16tVTUFCQIiMjrZ40hw4d0rBhw/TRRx%2BpRYsWfq1/woQJWrFihaSM66s6derI5XJp37591o2jkydPauTIkVq1alW2c2iLFi0UFhamw4cP6%2BjRo5IyttHVV1/t9fPycgOwbt266tixo86ePWvd9CtTpkyOvw%2BZvTKuvPJKXXfddfrhhx8kZbSo%2B7N/fv7559b5v2XLljl%2Bh/xYu3at1SMyMDBQERERCg8P15EjR3TixAlJGdcBTz/9tFwuly0Jdn/%2B%2BWc98MADHsd6Zs%2B5tLQ07d%2B/39qvtm/frrvuuksff/xxthsp%2Bd0OKAFMlGj/%2Bc9/zIiICDMiIsKcOHFitr/37t3b%2BvuXX37p1zozl4%2BIiDCPHj3qdZklS5ZYywwZMiTHdb377rse63vggQfMY8eOeSxz4MABc8iQIWZERITZtm1ba9kbbrghx/XecMMN1nJt2rQxIyIizNGjR5uHDh3yWC4qKsocOnSotWyjRo3MgwcP5rjeqKgoa30RERFmr169zO%2B%2B%2B85MS0vzWG7nzp3mwIEDreU6d%2B5snjt3zus6Y2JiPNbZpk0b86uvvvJY57lz58yXXnrJjIiIMJs1a2a2aNHCWv6nn37Ksbz%2BmjFjhrW%2Bli1bmhEREeZ1111nfvXVV2Zqaqq1XFpamnnkyBGP927YsCHbNvzzzz89lklLSzO/%2BeYbs3379h7L5WT58uVm3759zTlz5mT7vEx//PGHef/991vra9asWY7LmmbRqGd/j4uC2M/ct3Hmuq%2B//nrz22%2B/9VhvSkqKOWvWLLNhw4bW8tOnT8%2BxrEeOHDGvueYaa9lOnTqZGzZsMNPT061lLl68aL755ptm48aN/a5X9/KOHTs2x8/PqqCOfX/dd999uZ5zszp//rzZtGlT6z2bNm3y%2BPupU6fMJk2aWH9/%2BumnzVOnTmVbT3p6url7925z2rRp5l133XXJ38M0Pc/1S5Ys8bn87NmzPd7zyy%2B/ZFvm448/9lhm3Lhx2X5HkpOTzQULFpjNmze3lnvxxRdz/NxOnTplO3/df//95l9//eWxXGxsrMfxkZKSYt5%2B%2B%2B0e5Rk7dqx5%2BPDhbJ8RHR1tfvLJJ2bPnj29fi/TNM0xY8Z4nI9mzZplXrhwwWOZs2fPmpMnT/b4zG%2B//dbr%2Bg4dOmQt07BhQ7N169Zmo0aNzGnTppnnz5/3WHbr1q1mx44dreW7du3qcQzmtN7GjRt7XeZSLVq0yPqM4cOH57jcggULPOpi2LBh2ep/165dZr9%2B/bJdA3Tv3j3H9UZGRpp///vfrWX79Oljbty4MVud/P7772b//v09riuybrNM06ZNy3Zu6dKli7l27VqPc2hycrL5zjvveHyvmTNn5lhW9/WOHz8%2Bx%2BWyuuOOO6z3LV%2B%2B3OsymzZt8qu%2B3K1Zs8Z6T7t27czk5ORcl09NTfU4BhcvXuz3d/Am636fWddjx441o6OjPZbduHGj2blzZ4/jztvxa5oZx7v7NomKivK63JkzZ8wOHTpYy1177bXmkiVLPOohISHB/OCDDzzOzb179zaTkpK8rjM/2wHFG0nOSrCkpCStXr3aeu6e2CxT3759rceFnezs3Llzevvtt63nN9xwg95%2B%2B%2B1s49Lq1aun2bNnq1WrVlYraF6cPXtWffr00dtvv52tC0/16tX1zjvvWHcN09PTc82q/txzz1ktq82bN9fixYt1/fXXy%2BXyPJSaNGmiefPmWd0Io6KiNHfuXK/rnDlzprXOkJAQzZ49WzfffLPHOsuVK6ennnpKDz74oJKSknJsQbHDxYsXFR4ernnz5unmm2/2yAzscrk8xjklJCR49CoYMmSI3n333Wxdil0ul3r06KH58%2Bdbd/E3bNiQbaxtph49emjFihUaNmxYjuOqGjVqpFmzZlljtZKSkrJ11XNX1Oo5NwWxn7k7e/asKleurAULFqh79%2B4e6w0MDNSoUaM0ZMgQ67Xczg3Tp09XYmKiJOmyyy7T3Llz1aVLF48xaWFhYRozZowmTJhQqPVq57HvL/dz6urVqz16S3izZs0aJScnS8po9W/Xrp3H3zdt2mS1DLdq1UqTJk1S1apVs63HMAw1btxYjz/%2BuF/7QEFw75YeFBSUrRt1ZGSkXnvtNev5uHHj9OKLL2YbQx8UFKQ77rhDs2bNss4/8%2BbN0/Hjx32W4eLFi%2BrWrZveffdd1a1b1%2BNvFSpUULly5aznc%2BfO9WhtHj9%2BvF5%2B%2BWWvLbeVK1fW3XffrS%2B//FJNmzb1%2Bt2//fZbSRm9KubMmaNRo0Zla7UsX768JkyYoEcffdR67dVXX/Xo/eGNaZo6d%2B6cnn/%2BeT3%2B%2BOPZxiO3bNlSb775pnXcHTt2zGqlLqri4%2BM1bdo063nr1q31/vvvZ6v/v/3tb5o7d67q1avn9zXAM888Y7Uit2zZUosWLVLHjh2zjZVt1qyZPvnkE%2Bs3KzIy0q%2BcMWfPnlXVqlW1YMECdevWzeMcGhQUpNGjR%2BvOO%2B%2B0Xssph0RR1LVrV1WpUkWSdObMGW3YsCHX5Tdu3GgNDStbtqx69eplW1lM09TZs2c1aNAgvfzyy6pcubLH3zt27Kh58%2BapQoUKkjKuA6ZMmXJJnzlz5kxFR0dLytiW7733ngYMGODRIyc0NFQjRozQK6%2B8Yr22b98%2Bx869KHoIsEuwdevWWT8wtWvX9trtqW/fvtYPzg8//GB1pSwMK1eutC7MQ0JCNHHixGwBRKbg4GBNmjQpx0QSuSlXrpwmTpyY43vLli3rMW4na9KRTPv377e6TQcFBWnq1KkKCwvL8XPLlCmjiRMnWs8/%2B%2ByzbBdRCQkJVhczSbrnnnu8Xrxlevjhh1WnTp0c/26Xhx9%2BONvFqTfLli1TTEyMpIwbIZnduHJSt25djR492nqe0zyeudWrO5fLpX//%2B9/W85yS3hXVevamIPYzb/7973/riiuuyPHvw4cPtx5njlXMKjY2Vt988431fMyYMbnW29133%2B1390s72HXs50WPHj2sbvBnzpzxGP7ijXv38D59%2BmQ7B7rnNPCnu7kkj5tihWX27NkeuQI6duyYbb%2BdN2%2BedTOhU6dOuueee3JdZ9u2bTVw4EBJGcm4Fi5c6LMcISEhev75533WQUpKikfirZtuusljn8%2BJy%2BXyOizBvQv/mDFjfOY0GT16tHWOPXTokDZv3uzzszOTo%2BWkefPmHseXHftzQVqzZo01HCUwMFCTJk3KsRt0uXLl9Mwzz/i13j179mjjxo2SMq4dpk6dmuvQlLCwMD333HPWc38Tez311FMeSceyct%2Bfjh07Vmyy6gcFBXl0s168eHGuy7v/vXfv3n7/fvurcuXKuQ4NqFWrlh555BHr%2Bfr16/Nd1xcvXvS4oTx06NBch1317t3bI0nmp59%2B6tgQHRQtBNglWOb4SsmzVcXdFVdcYWVUTUtL08qVKwulbFJGRsxMXbp00eWXX57r8vXr11fr1q3z/Dm9evXymQnZ/QTqLaGFlHFDIDNw6dq1q18ZK6%2B55hqr5SxzPLm7LVu2WGNsDcPQXXfdlev6AgMDdccdd/j83EsRGBio/v37%2B7Wse9B69913KzDQd1oH954UmRlHL0WtWrWsjMmHDx/OljQp83OKWj3npCD2s6zCw8PVu3fvXJepVauWR0upt3Vu3rzZal3NelGWk9tvv93nMnax69jPi7Jly3okKcvtnHry5EmPXhzeztPu47H//PPPSy6fneLi4vTLL7/o8ccf92g1CgoK8rjgzeReF5mzQfjiXif%2BnC/cW99y8%2Buvv3rcvMhvtmwpI5FfZhKtoKAgj5bLnLhcLvXp08d67s938yeRo/tNGDv254K0bt0663H79u193tRt3769Xwm33H%2BXunfv7jNbu5RRb5nLnThxwspdk5Py5curZ8%2BeuS5Tt25djxbXor493A0ePNij8SVzrHNW0dHR1g1hSbneAMqvfv36%2BTyPDxgwwArs09LSfLa65%2BSnn36yxlYbhqGhQ4f6fI/7jZTIyEjt2bMnX5%2BNkoUAu4Q6deqUfvzxR%2Bu5t%2B7h3v5WmN2Y3Fs73KfpyY2/y7nzJzu6%2B13oCxcueF3GvbtdXsrhnvQiaybT33//3Xp89dVX53o3PNP111/v92fnR/369a3uVrlJSkqyknZI/tfJ5ZdfbnXTjImJ8Zp13F10dLSWL1%2Bul19%2BWU8%2B%2BaRGjx6tESNGePzL7HJsmqbXO9dFsZ5zUhD7WVZNmjTxOSWN5HlceLtx4X4MN2rUSOXLl/e5zvwcw/ll17GfV%2B5B4bp165SQkOB1ua%2B%2B%2Bspq7ahXr56aNGmSbRn3nhYbN27UlClTvG6LgjZu3Dg1bNjQ41%2BrVq00ZMgQj67hAQEBmjx5crbu4QcPHrS6XRqGoTZt2vj1ue77deZ0PbnxN8mf%2B3FWu3btS5qaz31dTZo08Xs6qbwcs5L86v3h65gtStzPyx07dvTrPf6cl3/99VfrcV7ONxFuiRR97WtNmzb164aye8OBXeeXwlCrVi21b99eUsbwGfcGG3fLly%2B3hsFERETkaSYLf7kn581JmTJlPBpgvM284Q/3fbJBgwa59vLK1KpVK49jfvv27fn6bJQsZBEvoVasWGFlyHVv3fKmZ8%2BemjRpkpKTk7V3717t2rXL64WenRITEz3GUtWrV8%2Bv9/m7nDt/WjPcu/zldDG8f/9%2B6/Hnn3%2BeY3fkrNyz02YdP%2BaeldvfaTzq1KmjoKCgbBl77eLvXJKHDh3yKMMLL7zgd9dU96k2YmNjvfZeOHnypF566SV988032aa7yY23i5iiWM85KYj9LCtvY3i9ce9WmTmcw517t3F/j82aNWsqNDTU6/rsZtexn1cdO3ZUhQoVdPbsWcXHx2vdunUerZWZ3Ft0c%2Bpl1KpVKzVt2tS6mTV79mx98skn6tChg9q3b6%2BWLVuqSZMmjnQLz6pZs2YaP368167s7vt1YGCgxowZk%2Bf1Z47fz60Lqr/nr4MHD1qPL/X3bt%2B%2BfdbjY8eOacSIEX69z32mBH/GFvuzP/s6ZouKpKQkj5uhETnMEpCVP9mp3bfHokWLrLHxvri3PPraHv5sC6lgzi%2BFZfDgwVZDzZIlS/Tggw9mG27jPmd3QbReS/7/Zl999dVWz8jMrPp55X6t4O8%2BaRiGIiIirBs7Oc22gtKFALuE8jb3dU7KlSunzp07Wz9Cy5YtK/AAO2sQ5J54Jjf%2Btgy486elzpf09HSP1gB/WlK8yfq93dfpT6uxlNFCFB4enq%2BEb/7wd3qqrHPc%2BjOG0BtvAfH%2B/fs1dOhQnTlzJs/ryxzj6a4o1rM3BbWfZZWfY8LbuG73z/H3GJYyjuPCuPi349jP7%2BfefPPNVo6BlStXZguwDx486NFqmVOAbRiGZs6cqZEjR1pBalJSkjZs2GB1gwwPD9d1112nAQMGqEuXLgXwjTIuNt2nkDEMQ2FhYSpfvrwaNGigNm3a5NoK7H6%2BSElJsaYByqsLFy7kGmD7e/5yn0c6p%2BkC/eX%2B3aKjo/P13dyn4/MmICAgzzdR/MnF4JSs83j7e172tVxqaqpHXfrTM8CbwjqHFmXdu3dX5cqVFRMTo2PHjumnn36yWrWljJ4bmTeqgoODfV5r5ld%2B9o389t5wf1/m0DN/uC9b1HuOoHAQYJdAO3fu9LiD%2B8Ybb%2BjNN9/M9T3uLYqrVq3S2LFjC/TiNL8/NE79QCUmJtqSuCJr%2Bd1bR/NS33mZDzOvcko0l5Vdd%2BOz1mtaWpoee%2BwxK7jO/OHu0qWL6tevr2rVqikkJMSjvrp27WrNZ%2BpNUaxnbwpqPytqinr57NC3b18rwN60aZNiY2M9LsLcW69btmyZa8vrFVdcoWXLlmnhwoVatGhRtjmb4%2BLi9PXXX%2Bvrr79WixYt9Nprr/ndkuuve%2B%2B995Lml7Urc7yvfcffRJjuN%2BIu9Ti341xY2hIj%2BTtnela%2BtlVB/S6VRkFBQerfv7%2BVwG/x4sUeAbZ76/WNN97odyCcF4Zh%2BNUVX/LcN7zdaPeH%2B/vye62Q389GyUKAXQJlHUed13E/sbGx%2Bu6779S9e3c7i%2BUha2uXv3f8fN3lLyhhYWEe3YXnzZvn9xjC3Lgn7shMrOGPvCxbUNx7EwQGBmr79u1%2B/xDmZsOGDdYNoqCgIM2ZM8dn9mRf9VFc6rmg9rOC4r4P5OWuvVPHcWFq1aqVrrzySh07dkwpKSlavXq1R3K9L7/80nqcU%2Bu1u%2BDgYA0dOlRDhw5VVFSUtmzZol9//VU//vijjh07Zi3322%2B/afjw4Vq2bJlfY%2BILi/s5v3bt2h7Z553gXp5LHRvrvq5BgwZp8uTJl7S%2B0iBr0ip/z7W%2BlitbtqxcLpcVIH/66ad%2Bj8tHdoMHD9bs2bNlmqa%2B/fZbnT17VhUqVFBcXJzWrFljLec%2BG1aPiK8AACAASURBVIOdTNNUfHy8Xz1T3PeN/PR2zPq%2BvPz%2Bu/%2Bm5aU3F0oukpyVMCkpKR7TvuRXQc%2BJHRoa6tGa4292TSezcLqXN7/je7Jy75qYWwusu7NnzxaJAMU9O2pqaqrf5ffFfVqjPn36%2BAyuExISfAZ3xameC2I/Kyg1atSwHvt7bEZGRhbpsaF2cu8W7n5e/v33360sxYGBgbr55pvztN4aNWro1ltv1aRJk7Ru3TotXbpUPXr0sP4eGRmpTz755NIKbzP3Y/D48eOOt/K4j6G91OPM/bsV9WO2qLjssss8Wgj9PS%2B730zyxuVyFatzaFFXu3ZtK1FccnKy1fPmyy%2B/tHoL1KpVS%2B3atSuwMuRn38jvsA/39/na19y5j7vOS9dylFwE2CXMf//7X2s8WHBwsH799Vft2bPHr3/uF2T//e9/C3zsabNmzazH7lPV5MaOaZ3yyz2Da37HG2flnmn3jz/%2B8CuZV36zY9qtdu3aHj8kdtWJe%2BIs930kJ9u3b/fZna841XNB7GcFxX37/Pnnn9nGVXrj77Hu3tW3uHYpdx%2BTuHXrVutC0b17eMeOHS95DHCTJk00c%2BZMj4zJvubfLmzXXHONtU1TUlI8Mj07wf0427lz5yXd9HFf12%2B//WZbd/iC4j4MyKljy%2BVyeYzZ9/d8689yzZs3tx4X9XOoVLDbw47zqPvUiplzXrvPfX3bbbf5PTQjP/zdN9xnNclvHiH3a4Vdu3ZZGdJzExsb6xFge/vskvB7hrwhwC5h3LuHd%2BzY0efcge5atWplZRdOSUnx6MJYEDp37mw93rBhg8/pmg4cOOAxHUphu%2B6666zHa9eu1enTpy95nZlzkEsZLab%2BXBS7T4njJMMw1KFDB%2Bv5woULbVlvXrN2%2B9PbojjVc0HsZwWlffv2VitUSkqKX9P8%2BbufuCeyKq4t3vXr17cu2EzT1KpVq5SWlqbVq1dby/jTPdwfhmF4zL8dExNjy3rtUrFiRY8Lz8zx6U5p166dFdjEx8fnOl%2B5L23atLGOg%2BTk5EKd7jI/3DONp6enO9abwP28/PXXX/u88RkXF6fvv//e53rdp/z69ttvi9yxkJX79nDPh2MHO86j3bt3t24C7tmzR0uWLLGC3oCAAPXv3//SC5oLf36L9%2B3b55GbIr/DAvJzrfDll19aN/kDAwM9bvBkKgm/Z8gbAuwS5MyZMx4/PjfddFOe3u9yuTy6GRb0RULfvn2tH5akpCRNnDgxx5bI5ORkPfvss44mHrnlllusFtvM8l7qncj69et7XHTOmDEj14uMAwcOaMWKFZf0mXYaPny49Xj37t2aM2fOJa/TPVPx1q1bc112%2B/btftVHcarngtjPCkrFihV14403Ws/ffvvtXKco%2Beyzz7Rt2za/1u3ehffo0aP5L6TD3APoVatW6aeffrJumoSFhalbt265vj8v29695bQojb/O5H6%2B%2BOabb/yegq4gVK9e3SPPyPTp0/MdiJUvX1633nqr9XzGjBm2DZkpCBUqVPDonu3U8eVeZ8ePH/d58%2B2dd97xK4nZrbfeau3/CQkJev755y%2BtoAXMfdpEu6d4cj%2BPxsTE5CuvSHBwsMe2mjhxovX4%2Buuv9zrNpp1%2B%2BOEHn40r06ZNsx7XqFEj313WIyIiPHpmvf7667m2Yl%2B4cEHvvvuu9bxbt25eu4jbsR1QvBBglyArV660Wv%2BCgoJ8Xrh507NnT%2Bvxzp07PeYutVv58uX10EMPWc/XrVunf/zjHx5dhKWM6WxGjhypX375xdGxLWFhYXrkkUes599%2B%2B63%2B%2Bc9/%2Bhyne%2BHCBX3yySd6/PHHvf591KhR1uMdO3Zo4sSJXk/oJ06c0EMPPeRXl6XC0rx5c4/xo6%2B88opmz57tsyUiMjJSU6ZM8fhhytS6dWvr8Zo1a3Ls4rdr1y49%2BOCDfs%2BRXVzquaD2s4Ly%2BOOPWzfKzp07p2HDhum7777zCAzj4%2BP1zjvv6Pnnn1dISEiu0yxlcr8hsnv3bkeHh1yK3r17Wy2le/fu1RtvvGH9rUePHh6tV9688MILmjp1arbzYlaRkZH69NNPrefuLTFFRe/evXXNNddIyrhx8MQTT/jVcrxv3z49/fTTtucGefjhh63svzExMRo%2BfHiuAU5aWppWrlzpNd/AQw89ZAV1Z8%2Be1bBhw3xOEZWenq4ff/xRI0aMKNS5cwMDAz3m%2BJ0zZ44jN68bNWrk0dr88ssv53i%2B/%2BKLL/Thhx/6td6yZcvqH//4h/V8zZo1%2Bte//uUzqDl//rzmzp2rJ5980q/PsYt7t%2BSdO3fa2lOvZs2aVnbv9PR0zZs3L1/rce8m7t7KXlDJzbJ67LHHdODAgWyvm6apGTNmeNysu//%2B%2B/2eDcWb0aNHW493796t8ePHe%2B3lceHCBY0ZM8a6YRoQEOBxneHOru2A4oMs4iWI%2B8VHhw4d8pVFsXXr1qpSpYqio6MlZbRi/%2Btf/7KtjFndd999%2Bumnn6xuOGvXrtW6devUoEEDVaxYUdHR0dZJtXz58nrqqac0duxYSc7McXvXXXdp%2B/btVl2vWrVKGzduVJ8%2BfdSqVSvrLuW5c%2Be0f/9%2B/fbbb/rxxx%2BVkpLitduQlHFTo2vXrtYPxMKFC/X7779r0KBBql%2B/vpKSkvTrr79qwYIFOn/%2BvFq2bKmoqCidOHGicL60D5MnT9b%2B/fu1b98%2BpaWlacqUKVq4cKF69%2B6tJk2aqEKFCkpOTlZMTIz%2B/PNP/fLLL9q%2BfbskaeTIkdnW16tXL02bNk2nT59WamqqRo4cqdtuu02dOnVS%2BfLlderUKX3//fdauXKlUlNT1bFjRx04cMBnAFKc6rkg9rOCUqtWLT3zzDMaP368TNNUVFSURo0apWrVqqlOnTpKSkrS3r17rZan8ePH68MPP7RaW3Oadqd%2B/fpq3Lix/vjjD5mmqWHDhqlhw4aqUaOGx3zAkyZN8ki4V9Rcfvnlatu2rRU4ZO77kn/dw%2BPi4jRv3jy9//77atmypdq0aaOGDRuqUqVKCgwMVExMjP73v/9p6dKl1k2YsmXLaujQoQXzhS5BQECAZsyYodtuu03R0dFKSEjQP//5T3300Ue66aab1LBhQ4WHhyshIUHR0dHavXu3Nm/ebM0qYPe%2B3bBhQ40fP17PPfecpIxAvlevXurdu7c6dOig6tWrKz09XSdPntT27dv17bff6vTp05o/f77q1avnsa4rrrhCr776qnVz7tixYxo4cKC6dOmiTp06qXbt2goNDVVcXJwiIyO1c%2BdObdy40bo4L%2BxeKn369LFuACxcuFDr169XRESEQkNDrWX69u2b5wR8efXss8/q1ltv1cWLF5WUlKT77rtPt9xyi7p27apKlSrp5MmT%2Buqrr7Ru3TpJGb8P/nQZHjp0qH777TcrueCKFSv0/fffq2/fvrr22mtVuXJlmabpcQ7dvHmzUlJSfCbWtFvDhg0VERGhvXv3Kj09XUOGDFFERES2c90LL7yQr0aGPn36WDl2pk%2BfrkWLFqlu3boKCQmxlrnnnntynbGiTp06atOmjUcOjapVq6pLly55Lk9eBAQEqFu3bvrmm280YMAADR48WO3bt1d4eLgOHz6sZcuWeeRzaNGihcdsDfnRvXt39evXT1988YWkjJs7O3bs0O23366GDRsqLS1NO3fu1IIFCzyuDx544AE1bdo0x/XasR1QfBBglxB79uzR7t27red57R6eyeVyqXv37vrss88kZfwoPfHEEx4neTsFBgbqrbfe0tixY/X1119LyrjQyDrPa82aNTVjxgxrbmQp/9MwXKqXXnpJlSpVsu6mnzt3TvPnz9f8%2BfPzvc7XXntNI0aMsLrP/vHHH167tVWvXl1Tp04tUhfP4eHhmj9/vh577DH9%2BOOPkjIyt7799tv5Wl9oaKheffVVjRw5UikpKUpJSdGCBQu8jtm8%2Buqr9eqrr/p9F7041XNB7GcFZcCAAUpPT9cLL7xgBc6nTp3SqVOnrGUCAgL02GOPaciQIXrnnXes13M7jidNmqT77rvPyhKfmZDR3fjx4%2B38KgWib9%2B%2B2VrmKleu7JHDwBfTNLV161afwybCwsI0c%2BZMjwzvRUmNGjW0aNEiPfjgg9a23LVrl8/W3oJy5513KiAgwOrRkpKSouXLl%2Bertbxz58764IMP9Nhjj%2Bns2bMyTVMbNmzQhg0bCqDkl2bIkCFav369fvnlF0nS6dOns%2BV7yC1YsMtVV12ld955R6NGjVJiYqLS09NzrP8BAwaob9%2B%2BfufHmDJliqpUqaKPP/5YUkbPgnnz5hXJ1sPJkydrxIgRunDhgkzT9Hque%2BaZZ/K17kceeUSbN2%2B2GisiIyOzDWHw55rx9ttv9wiw%2B/fvb8vUnL5MnjxZf/31l/bv36%2B5c%2Bdq7ty5XperX7%2B%2B3nnnnUtqvXb/zKSkJGsqsr/%2B%2BksvvfRSjsvfc889Hj3PvLFrO6B4oIt4CeH%2BYxQYGJiv7uGZ3LuJnzp1qsCz0ZYpU0YzZszQ%2B%2B%2B/r549e6p69eoKCgpS5cqV1aJFC40bN07Lly9X06ZNPQJsp7qLu1wujR07VosWLVLnzp1z/YExDEONGzfWo48%2B6tE1NKuyZctqzpw5GjlypEcLQqaAgAB1795dS5cuVc2aNW35HnYqX768Zs%2BerenTp6tx48a5LhscHKz27dtr8uTJHl2x3LVv317z5s3z6MborkyZMrrjjju0ePHiPGVgLk71XBD7WUG67bbbtGrVKt1///1q0KCBwsLCVLZsWdWvX1933nmnli5dqlGjRik1NdUj23hux3GzZs20atUqjR49Wi1atFCFChUK5YLObjfddJNHK4WU0RLnz43LwYMHa%2BDAgapevXquy4WEhKhPnz5auXKlR6K8oqhmzZr6/PPP9eyzz6p27dq5LhsWFqauXbtq%2BvTp6tevX4GUZ/DgwVqxYoV69OiRa8%2BoKlWq6J577lGDBg1yXKZ9%2B/ZavXq17r//fqtLaE6qVq2qgQMH6pNPPvFZD3YLDg7Wxx9/rBdffFFdunRR9erVvZ4TC0Pbtm21dOlSj%2BFB7ipWrKinnnoq1wDHm4CAAI0bN06fffaZOnXq5PMc2qRJEz322GOaPn16nj7HDs2bN9eqVav0wAMPqHnz5rae68qXL68lS5ZowoQJ6tChg6pWrZpjz6HcNGzY0HpsGEahdQ8vX768Fi5cqAEDBng9PoOCgnT77bdr0aJFlzwjQ6bg4GC9/vrreuWVV1SrVq0cl2vUqJHee%2B89jRs3zmcmdbu2A4oHwyyq2XMALyZNmmR1sRk1alShj5XyJi4uTr/%2B%2BquioqJ07tw5uVwulStXTldddZXVlTOv69u8ebOOHTsm0zRVvXp1tWrVqsATidjp5MmT2rZtm6Kjo3XhwgWFhISoYsWKqlu3rho1auT3hZxpmtqxY4d27typ8%2BfPq1y5cqpRo4batGmjsmXLXlIZi1s9272fOWXnzp0aOHCgpIwA44cffnC4RMXH8ePHtXfvXkVGRurChQsyDEPh4eGqV6%2BemjVrlqdZI4qSw4cPa8eOHVbyn7CwMFWuXFn16tVTREREoQ4HiouL0y%2B//GIdZ8HBwapataoiIiLUsGHDPE1HlJ6erl27dmnfvn2KjY1VcnKywsPDVb16dV199dWqW7duAX6T4ungwYPaunWrYmJiFB4erlq1aqlt27a2BCLu59CzZ88qICBA5cqVU%2B3atdWwYUPmL/Zh2rRpmjVrlqSMzPkF1RPg8OHDVvLMgIAAj96ZZ86c0c8//6wTJ04oLS1NNWrUUIcOHXzezLpUf/75p3bv3q2YmBi5XC5VqVJFLVq0KPQbYyg%2BCLBRbCQmJqpLly7W/Nxvv/32JbXUAyh8EydOtJJx9ejRQ2%2B%2B%2BabDJQIA5CYlJUU33HCDNYzgtddes22KwaxyC7CB4oIu4nCcP/d4TNPU888/bwXXVapU0fXXX1/QRQPgB3/v027evNljKp6Cnj8VAHDpvvjiCyu4rlSpEmOFAR%2BK32A2lDhjxoxRo0aN1LNnT69jbnfu3Kk33njDY47vkSNHOpJFHEB2n3/%2BuTZt2qT%2B/furXbt22cYbx8bGasGCBXr77betadWaNGlS4BloAQCXZv/%2B/R7zTA8bNoyxw4APBNhwXHR0tN566y299dZb1nioyy67TAkJCTpy5IhiYmI8lu/cubOGDx/uUGkBZJWamqrVq1dr9erVCgoKUu3ata0x4dHR0Tp48KBHK3eFChU0ZcqUApudAACQP%2Bnp6Xr44YclZcwPv3PnTqWmpkrKmGGjKM1iAhRVBNhwnPuUCufPn9eOHTu8LhcQEKDBgwdrwoQJeUo0A6BguR/DKSkp2r9/f47LNm7cWNOmTcs2jzAAwHnp6enWvOPugoODNWXKlGKbTBEoTATYcNz777%2Bv9evXa8uWLdqzZ48iIyMVFxcnKaOl68orr1Tbtm116623knUVKIIGDRqkevXqaePGjdq%2BfbuOHDnikTU5c8q9bt26qVu3btwgA4BiwOVyqWLFimrdurUefPBBNWrUyOkiAcUCWcQBAAAAALABWcQBAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGwQ6XQAnmaapM2cuKj3ddLoopY7LZahSpbLUvwOoe2dR/86i/p1D3TuL%2BncOdV94qla9zOkiAKW7BdswDLlchtPFKJVcLoP6dwh17yzq31nUv3Ooe2dR/86h7oHSpVQH2AAAAAAA2IUAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsUKqziAMACo5hFL2EPplFMoyiWb7CYppkMgYAoCAQYAMAbFemzEUZxnmni5FNRhbfYIWEJCsoqPQGmaZZTgkJZZ0uBgAAJQ4BNgDAVoZhyDDOyzQ3S0pyujge0tMzAuz09ORS3IobIsNoL8MIL8V1AABAwSDABgAUkCSZZqLThfCQ0S3cVEbZSmdwWYp7xgMAUOBIcgYAAAAAgA0IsAEAAAAAsAEBNgAAAAAANiDABgAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGxAgA0AAAAAgA0IsAEAAAAAsAEBNgAAAAAANiDABgAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGwQ6HQBgKLMMAyni2C7zK9kGMX7%2B5mm6XQRAAAAAA8E2EAOypS5KMM473QxbOdyGZKCFRKSrKCg4hukmmY5JSSUdboYAAAAgIUAG/DCMAwZxnmZ5mZJSU4Xx1bp6RkBdnp6cjFuBQ6RYbSXYYQX4%2B8AAACAkoYAG8hVkkwz0elC2CqjW7ipjO9WPIPTYtyzHQAAACUYSc4AAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2CDQ6QIAQP4YMoyM/4sTw/j//xtG8Sq7v0ro1wIKTUGcG0rDuacwmKbpdBEAFHEE2ACKoUAFBpoKDY2SVLwudlwuQ1KwQkKSFRRUvMruP5cCA1OUkuJ0OYDip0yZizKM87avt3ScewqeaZZTQkJZp4sBoAgjwAZQDAXIMOJkmjskJTldmDxJT8%2B4yE1PTy7BLSHlZBgRThcCKHYMw5BhnJdpbpbd57bSce4paCEyjPYyjHDqEECOCLABFGNJMs1EpwuRJxldM01llL1kXqAZRojTRQCKOfvPbaXh3FPQ6FkPwB8E2AAAlDqFn8OAMcC%2BUS0AUPwRYAMAUKo4k8OAMcD%2BIH8BABR3BNgAAJQqzuQwYAywP8hfAADFHQE2AAClUuHmMGAMsG/kLwCA4s/ldAEAAAAAACgJCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAaBThcAAAAAKB4MGUbG/36/w/j//xuG/%2B8DUDwRYAMAAAA%2BBSow0FRoaJQk0%2B93uVyGpGCFhCQrKMj/9yE/IpwuAECADQAAAPgWIMOIk2nukJTk97vS0zMC7PT0ZJkmAXbBCREBNooCAmwAAADAb0kyzUS/l87oFm7%2B3/sIsAsKve9RVJDkDAAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANCLABAAAAALABATYAAAAAADYgwAYAAAAAwAYE2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAAAAAABsQIANAAAAAIANAp0uQGlnGIbTRXBE5tc2jKJZB0WwSAAAAACKOAJsB5Upc1GGcd7pYjjC5TIkBSskJFlBQabTxfHCpcDAFKWkOF0OAAAAAMUFAbZDDMOQYZyXaW6WlOR0cQpdenpGgJ2enizTLIoBdjkZRoTThQAAAABQjBBgOy5JppnodCEKXUa3cFMZ37/oBdiGEeJ0EQAAAAAUMyQ5AwAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGxAgA0AAAAAgA0IsAEAAAAAsAEBNgAAAAAANiDABgAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGxAgA0AAAAAgA0IsAEAAAAAsAEBNgAAAAAANiDABgAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGxAgA0AAAAAgA0IsAEAAAAAsAEBNgAAAAAANiDABgAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGxAgA0AAAAAgA0IsAEAAAAAsAEBNgAAAAAANiDABgAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGxAgA0AAAAAgA0IsAEAAAAAsAEBNgAAAAAANiDABgAAAADABgTYAAAAAADYgAAbAAAAAAAbEGADAAAAAGADAmwAAAAAAGxAgA0AAAAAgA0IsAEAAAAAsAEBNgAAAAAANjBM0zSdLoST0tLSHftsw0iVlCSpdG4Cl8tQenpR/e4uGUaQTDNZJXH7FO2690fx3j7Fv/59Kdrbp%2BTXvy/ObR/q3peC3TbU/6XK//ah7gueYYTJMAKdLgZQugNs0zQ52TmIHxvnUPfOov6dRf07h7q3n8t1TIaRKtMMVHr6lT6Wpf6dcil1n5dtXJq5XIZMM00JCX85XRSLaZZTQkJZp4sBm1Steplfy5Xq2zyGYej8%2BXilpjrXil1aBQa6VLFiWerfAdS9s6h/Z1H/zqHuC0Zo6FKFhU1TfPwTSkwckeNy1L9zLrXu/d3GpV2lSmVlGOkyzc3K6CHqtBAZRnsZRrhKcXtmqVSqA2wAAIDiLDFxBEFXCcc2zqskmWai04WQYThdAjiFJGcAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADQAAAACADQiwAQAAAACwAQE2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAgGIgNHS2KlVqotDQ2U4XBQCQAwJsAMUOF5kASqOwsGkKCDiqsLBpThcFAJADAmwAxQ4XmQBKo/j4J5SWVkvx8U84XRQAQA4IsAEUO1xkAiiNEhNH6MyZXUpMHOF0UQAAOQh0ugAAkFeJiSO4wAQAAECRQws2AAAAAAA2IMAGAAAAAMAGBNgAAAAAANiAABsAAAAAABsQYAMAAAAAYAMCbAAAAAAAbECADdgkNHS2KlVqotDQ2U4XBQAAAIADCLABm4SFTVNAwFGFhU1zuigAgELAjVUAQFYE2IBN4uOfUFpaLcXHP%2BF0UQAAhYAbqwCArAiwAZskJo7QmTO7lJg4wumiAAAKATdWAQBZBTpdAAAAgOIoMXEEN1UBAB5owQYAAABQrBnGBaeLAEgiwAYAAEUQCcQA5IVhnHO6CIAkAmwAAFAEkUAMQF6YZnmniwBIIsAGAABFEAnEAOSFaV7mdBEASSQ5AwAARRAJxAAAxREt2AAAAAAA2IAAGwAAAAAAGxBgAwAAAABgAwJsAECxwLRNAACgqCPJGYASKzR0tsLCpik%2B/gmSJZUA7tM2sT0BAN6FyDCcLoMkhUgy/q8sRaJAeWKaptNFKLYIsAGUWARkJUt8/BPWDRMAALIyDJeCg5s5XQyLaZoKDY2SVPyCVdMsp4SEsk4Xo1gi0UgfMgAAIABJREFUwAZQYhGQFZ7C6C3AtE0AgNyYpqnk5L2Skpwuyv9Jk5TqdCHyIUSG0V6GEU5Ldj4QYAMosQjICg%2B9BQAAzjMlnZdpJjpdkGKtaHSxL75IcgYAuGTx8U8oLa0WvQUAAECpRoANALhkiYkjdObMLlqvgRKG7P0AkDcE2AAAAPDKffgHAMA3AmwAAAB4xfCP3NHCDyArAmwAAAB4xfCP3NHCDyArAmwAQLFEyxEAp9HCDyArAmwAQLFEyxEAp9HCDyArAmwAQLFEyxEAAChqAp0uAAAA%2BZGYOIJWIwAAUKTQgg0AAAAAgA0IsAEAAAAAsAEBNgD4gYzVAEoazmsAYD8CbADwAxmrAZQ0nNcAwH4E2ADgBzJWl1608qGk4rwGAPYjizgA%2BIGM1aWXeysf%2BwBKEs5rAGA/WrABAMgFrXwAAMBfBNgACh1dblGcJCaO0Jkzu2jpK6E4HwEA7ESADaDQ5SWxDhe/AAoSib4AAHYiwAZQ6PLS5ZaLXxRF3PgpORgCAACwEwE2gEKXly63XPyiKHLixg9BfcFgCAAAwE4E2ACKNC5%2BURQ5ceOH3hwAABR9BNhAEUILFVA8OHHjh94cAAAUfQTYQBFCCxWAnNCbAwCAoo8AGyhCaKECAAAAii8CbKAIoYUKAICigWFbAPKDABsAAADIgmFbAPKDABsAAADIgmFbAPIj0OkCAAAAAEVNYuIIhmwByDNasAEAAAAAsAEBNgAAAAAANiDABgDAT2QVBgAAuSHABgDAT2QVBgAAuSHABgDAT2QVBgAAuSHABgDAT4mJI3TmzC4yC6PUYpgEAOSOABsohrjAQWFjnwMgMUwCAHwhwAaKIS5wUNjY5wBIDJMAAF8IsIFiiAscFDb2OQASwyQAwBcCbKAY4gIHhY19Dih9GBoCAHlHgA0AAIBsGBoCAHlHgA0ARQytRhmoB8BZDA0BgLwjwAaAIoZWowzUA%2BAshoYAQN4ViQB7w4YN6t%2B/v5o2barOnTtrxowZSktLy7bcd999p1tvvVXNmjVTjx49NH/%2BfAdKCwAFi1ajDNQDAAAobgKdLsBvv/2mhx56SL169dITTzyhAwcOaPr06UpISNDYsWOt5bZt26aHHnpI/fr101NPPaWtW7dq8uTJCg4O1qBBgxz8BgBgr8TEEbQYiXoAAADFj%2BMB9syZM9W4cWNNnTpVktSpUyelpaVp%2BvTpGjFihKpUqSJJeuutt/S3v/1NL774oiSpXbt2ioqK0htvvKGBAwfK5SoSjfEAgEIUGjpbYWHTFB//BME4AABwnONR6R9//KGOHTt6vNapUyelpKTohx9%2BkCQlJyfrp59%2BUu/evT2W69u3r06fPq3du3cXWnkBAEUH47QBoGghQSVKO8dbsJOSkhQUFOTxWnBwsCTpwIEDkqQjR44oJSVF9erV81ju6quvtpZr2rRpIZQWAFCUxMc/YbVgAwCc537j05meRSEyDAc%2BtkQJkWT8Xz36rkzTNAu6QMWK4wF2nTp19Pvvv3u89ttvv0mSzp075/F/uXLlPJbLfJ759/wICHC8Eb9Uyqx36r/wUffOov7tlZo6UufPj5QkBfrxi0b9O4e6dxb175zSVveJiU8qNHSqEhOfVGBg4X5nw3ApJOSaQv3Mkso0JZfrhCTfwbNpllNSUnjBF6qYcDzAvvvuuzVu3DjNmTNH/fr10/79%2B/X6668rICBARpbbT1mf%2B3rdH%2BXKlcn3e3HpqH/nUPfOov6dRf07h7p3lvf6f1fSy5Kekv4fe/cfZldd3wn8fTOZyeUGBpgSwUBoNbArv6woVJASLBSrIioWHuqDUtIRtSSWOjzr4hZ/LA8Pij8GfQShG8OWpRSUdWHXINQCi1pRoI19MKhLBZRAFMEoIVxu4kzu/oEZExJgbubcOffOfb2eJ09mzjlz7me%2BuffkvM/3e74n753egnpI77z3z05ydubOTebOnd5XbjbH09//YJKN0/vCM9J4krFJbDcnyZGp1fZscz3do/SAfdJJJ%2BW%2B%2B%2B7LJz7xiVx44YXp7%2B/P0qVLc%2BWVV2bevHlJkl133TXJtj3V69atS7Jtz3Yr1q17OuPjm3b459kxfX2zMji4k/YvgbYvl/YvVye1/8DAFyZ6eTZufFeptUyHTmr7XvR87T84eGH6%2BlZnfPzCrFv3zpIqnLm896fH4OBOqVSSev0XSRpll9NDqpk1a2M2bHgqM32k%2BO67T%2B6KUekBu1Kp5Nxzz82SJUvyyCOPZP78%2BRkbG8vFF1%2Bc3//930%2BS7Lvvvunv788DDzyQRYsWTfzsj370oyTJwoULd/j1x8c3ZWzMwa4s2r882r5c2r9cndD%2Bg4OfTl/f6lSrn069/hel1jKdOqHte9n22n/LuQz827SP9/50aKbZbLoneBpVKs1s2tTM2Jh236xjbgbZZZdd8rKXvSyDg4O56qqrsvfee%2Bc1r3lNkmcmPTviiCNy0003bfUzK1asyLx583LggQeWUTIA7LB6fSTj4wtM0EbpGo3hrF17r0fdARSg9B7se%2B65J3fddVcOOOCANBqN3Hbbbfnf//t/Z9myZenr65vYbsmSJXnHO96R8847LyeeeGJWrlyZ6667Lueff75nYNNxPJsXeLZnHxc2/wEAZo7SA3Z/f3%2B%2B9rWv5dJLL02S/P7v/36uuuqqHHrooVttd%2Bihh%2Bbzn/98RkdHc8MNN2SvvfbKeeedl1NOOaWMsuF5lf%2BICqDTOC4AwMxXesA%2B4IAD8qUvfWlS2x5zzDE55phj2lwRTJ1n8wLP5rgAADOfsdXQBu5noxdUq8szNHRQqtXlHb3PTuG4AAAzn4ANwA7ZcshzJ%2B8TAGC6CNgA7JB2zIJtZm2AmWcmj06CZyv9HmwAulM7ZsE2szbAzGOSR3qJHmwAaDO9N0AvMzqJXiJgA0Cbubcc6GUmeaSXCNgA0GZ6b9hRRj8AdBcBGwDaTO8NO8roB4DuImD3OFfGAaBzGf0A0F0E7B7nyjgAdK52j35woR2gWAJ2j3NlHAB6lwvtAMUSsHuc%2BwIB6FR6V9vPhXaAYgnYTLtqdXkGBw9IcnnZpQDQwfSutp8L7QDFErCZdptPmJKPl10KAB1M7yoA3UbAZtptPmFKzi27FAA6mN5VALrN7LILoPc0GsMZGzszu%2B8%2BN8lTZZcDAABQCD3YAAAAUAABGwCmmdmxAWBmErABYJqZHbt3uJgC0FsEbACYZmbH7h0upgD0FgEboMPo8Zr5zI7dO1xMAegtAjZAh9HjBTPHjl5McaENoDsJ2AAdRo8X4EIbQHcSsAE6jOHDgAttAN1JwIY2MLQPgKlwoQ2gOwnYPULgm16G9gFFcOwGgO4iYPcIgW96GdoHFMGxGwC6i4BdkunulRD4ppehfUARHLsBoLsI2CWZ7l4JgQ%2Bg%2Bzh2A73MbTJ0IwG7JHolAADgublNhm4kYJdErwQAADw3HVJ0IwEbgGljuB8Ak6VDim4kYAMwbQz3A6Bo1eryzJr1cNllQBIBG6DjzOReXsP9ACharTaaSmWs7DIgiYAN0HFmci%2Bv4X4AFK1eH0mzObvsMiCJgA3QcfTyAsDkNRrD2bRpn7LLgCQCNkDH0csLwEw2k2%2BFAgEbAACYNjP5VigQsAEAgGnjVihmMrMBAAAA06bRGHYbFDOWgA0AAMwQc1KplF1DL5mTpPKbNu/%2Bhm82m1Peh4ANABSuWl2eWm009fqInqoCaVd4bpXKrAwMHFJ2GT2n2WymWv1pkqmH07I1m4N5%2Bum5U9qHgA3QRZxc0y22nMTIe7U42hWeW7PZzMaN9yXZUHYpPWY8yVjZRRRgTiqVI1Op7DylnmwBG6CLOLmmW9TrIxMXgyiOdoXn00yyLs1mo%2BxC6EJF3VpgFnGALmLm1R1XrS7P4OABSS4vu5Se4Hnu7aFdATqbgA0drFpdnqGhg1KtLi%2B7FDqEk%2Bsdt7n3P/l42aUAADOUgA0dbMvhwMDUbO79T86d1td1oQwAeoeADR3McODpJwzNXI3GcNat%2B0GS907r67pQBgC9Q8CGDmY48PQThiiaC2UA0DsEbIAtCEMUzYUyAOgdAjbQMTpheLYwBHSaTjg2AjA5AjbQMQzP3pYTa2ivbviMOTYCdA8BG%2BgYhmdvy4k1tFc3fMYcGwG6h4ANdAzDs7flxJp264Ye3Hbqhs%2BYYyNA9xCwATqYE2vaZXOwnjv3/I7vwW0nn7Hp0%2BsXc4DeIGADQA/aPDQ6Scf34DIzdMNwfICpErABoAdtHhr91FMf1oPLtOiG4fgAUyVgA0AXKWqYraHRTDfvOaAXCNgA0EUMswWAziVgww4wUQtQFsNsAaBzCdiwA/QgAWUxzBYAOpeADTtADxLMLEalAABFELBhB%2BhBgu40MPCFJL/3m79/y6gUgO7ggiidTsAGkvgPi95QrX46yU9%2B8/dvGZXSuxz7oLu4IEqnE7B7jBMJnsvm/7Dmzj3fe4QZq9E4J8nv/ubvLZcbldKrnKxDd3FBlE4nYPcYJxI8l83/YSXxHmHG2rjxXUl%2B/Ju/YXpO1l3chuK4IEqnE7B7jKt%2BPJfN/2E99dSHvUcojSDCdJuOk3UXtymbYytMHwG7x7jqxwvxHuldnXAC1s4gUq0uz%2BDgAUkuL3zf8HyefXG7Ez5r9BYXeWD6CNgAJOmME7B2jrLZ/PslHy983/B8nn3hshM%2Ba/SWyRxb23nhx0UleomADUCSzriFpJ0jKH47z8C5he8bWtEJnzV6y2SOre288OOiEr1EwAYgycy/PaDRGM66dT9I8t6yS6HHzfTPGt2pnRd%2BXFSilwjYAJTO8EGAcrXzwo%2BLSvQSARuA0hk%2BCADMBAI2AKUzfBAAmAlml10AADQaw4YOAgBdTw82ANBT3PMPQLsI2NADnEwC/JZ7/gFoFwEbWtCtQdXJJMBvuecfgHYRsKEF3RpUnUwC/JZHBgHQLgI2tKBbg6qTSQAAaD%2BziEMLzHQMAAA8Fz3YAAAAUAABGwAAAAogYANt162zrwMAQCsEbKDtunX2dQAAaIWADbRdt86%2BDs9mNAYA8HwEbKDtPCaMmcJoDADg%2BQjY0GX0oJVDu5MYjQEAPD/PwYYus2UPmh7h4lSry1OrjaZeH9luu2p3kmdGY/j3B%2Bhkc1KplF0D3WlOIXsRsKHL1OsjE0GQ4rxQgNbunemFLowA0DsqlVkZGDik7DIK12zOydhYf9ll9IRmczDNZnNK%2BxCwocvoQWuPFwrQ2r0zGVkAwGbNZjMbN96XZEPZpRRoTiqVw9Jo7JUp5j4mYarhOhGwgQ42nb2TAnR3MrIAgN9qJlmXZrNRdiGFqVSqSTal2Swm/NF%2BJjmjZ5m0qvOZsbnzlf05MkM9ANBJBGx6lvDW%2BczY3Pl8jgAAfkvApmcJb51P72Tn8zkCAPgtAZuesL1hrMIbTJ3PEQDAbwnY9ATDWAEAgHYTsOkJhrFOTdkTWQEAQDcQsOkJhrFOjREAAADwwgRs4AUZAQAAAC9sdtkFAJ2v0RjW%2Bw8AAC9ADzYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwoWLW6PENDB6VaXV52KQAAwDQSsKFgtdpo%2BvpWp1YbLbsUACbJxVEAiiBgQ8Hq9ZGMjy9IvT5SdikATJKLowAUQcCGgjUaw1m79t40GsNllwLAJLk4CkARZpddAABA2RqNYRdGAZgyPdgAAABQAAEbAAAACiBgAwAAQAEEbAAAAChAR0xydsstt%2BRv//Zvc//996dareaVr3xlRkZG8tKXvnRim3PPPTfXX3/9Nj%2B7bNmyLFq0aDrLBQAAgG2UHrDvuOOOLF26NG9%2B85vz13/911m3bl0uueSSLF68ODfeeGN23nnniW0XLFiQT33qU1v9/MKFC6e7ZChMtbo8tdpo6vURs9cCAECXKz1g33jjjZk/f34uuuiiVCqVJMnee%2B%2BdU045Jf/6r/%2BaY445ZmLbarWaV7ziFWWVCoWr1UbT17c6tdqogA0AAF2u9Huwx8bGMnfu3IlwnSS77LJLiRXB9KnXRzI%2BviD1%2BkjZpQAAAFNUesA%2B%2BeST88ADD%2BSqq67KunXr8vDDD%2Beiiy7KwoULc%2BSRR2617UMPPZTDDjssBx98cN72trfllltuKalqKEajMZy1a%2B/Vew0AADNA6UPEDz/88FxyySU555xzcsEFFyRJ9ttvv1xxxRUZGBiY2O6AAw7IIYcckv322y9PPvlkrrnmmixZsiSf/exn8/rXv36HX7%2Bvr/RrDD1pc7tr/%2BnXTW0/MPCFVKufTqNxTjZufFfZ5RSim9p/JtL%2B5dH25dL%2B5dH206mSSqWy1cjY7lfJrFmVzJ5dSbM5k36vmavSbDabZRawcuXKvPvd785JJ52UY489NuvXr8/ll1%2BejRs35pprrtlqkrMtbdq0KX/2Z3%2BW9evX56tf/eo0Vw1Mj99L8pMkv5vkx6VWAgB0tmbz16lU/iHJhrJLKdCcJK/NM%2BdCdIPSe7AvuOCCHHHEEfmbv/mbiWWvetWrsmjRolx33XVZvHjxdn9u1qxZed3rXpdPfvKTaTQaqVarO/T669Y9nfHxTTv0s%2By4vr5ZGRzcSfuXoJvafmDg/b/pwX5/Nm58quxyCtFN7T8Taf/yaPtyaf/yaPvpMTi4UyqVpF7fmJkVsCuZNWtjNmx4KuV2i7L77nMntV3pAfv%2B%2B%2B/Pscceu9WyoaGhvOhFL8pDDz30vD9bROf7%2BPimjI052JVF%2B5enG9p%2BbOwvUq//xW%2B%2B6%2BxaW9UN7T%2BTaf/yaPtyaf/yaPvp0Eyz2SwkI3SKSqWZTZuaGRubWb/XTFb6zSDz58/Pvffeu9Wyxx57LD//%2Bc%2Bz9957P%2BfPbdq0Kf/4j/%2BY/ffff4d7rwEAaF21ujxDQwelWl1edikAHaX0gH3aaafltttuy/nnn59vfetbuemmm3LmmWemVqvlzW9%2Bc5LkkUceyTvf%2Bc588YtfzLe//e3cfPPNWbx4cVatWpWzzz675N8Aps6JCp3OexTYUq02mr6%2B1anVRssuBaCjlD5E/LTTTkt/f3/%2B4R/%2BIddff31qtVoOOeSQXHTRRXnRi16UJJk7d2523nnnXHrppVm7dm36%2B/tz8MEHZ9myZTn66KNL/g1g6rY8USn7kV3V6vLUaqOp10dKr4XO0UnvUaB89frIxP8VAPxW6QG7Uqnk1FNPzamnnvqc2%2By222657LLLprEqmF6ddKIiSLE9nfQeBcrXaAz7PwJgO0oP2EBnnagIUmxPJ71HAQA6Ven3YMOOcD9o%2BzQaw1m79l5hCgAAWiRg05VMrgIAAHQaAZuuVK%2BPZHx8gWHMAABAx3APNl3J/aAAAECn0YMNAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNjQRu14XrdngAMziWMa9I7p%2BbzPSaVSnTF/kjltbCvawSzi0EZbPq%2B7qFnP27FPgLI4pkHvaPfnvVKZlYGBQwrf73RoNudkbKz/OdYNptlsTnNF7CgBG9qoXh9JrTZa6PO627FP2qNaXT7xbyU4wPY5pkHvaPfnvdlsZuPG%2B5JsaMv%2B22dOKpXD0mjsle3laOG6uwjY0EbteF63Z4B3Dz1z8MIc06B3tP/z3kyyLs1mo42vUbxnhoJvSrMpTM8E7sEGaJN6fSTj4wv0zAEA9Ag92ABtomcOAKC36MEGAACAAgjYHcpjSwAAALqLgN2htpwcCQAAgM4nYHcokyNBa1oZ9WGECAAA7SBgd6hGYzhr195rgiSYpFZGfRghAgBAOwjYwIzQyqgPI0QAAGgHj%2BkCZoRWHonl8VkAALSDHmwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAzDjVavLMzR0UAYGvlB2KQDADCZgAzDj1Wqj6etbnWr102WXAgDMYAI2ADNevT6S8fEFaTTOKbsUAGAGm112AQDQbo3GcBqN4cyePStz55ZdDQAwU%2BnBBoAusfle8mp1edmlAADbIWADQJfYfC95rTZadikAwHYI2ADQJTbfS16vj5RdCtCFjIKB9hOwAaBLNBrDWbv23jQaw2WXAnQho2Cg/QRsAADoAUbBQPuZRRwAAHrA5icqAO2jBxsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAArQcsBetWpVO%2BoAAACArtZywD755JNz6qmn5v/8n/%2BTX//61%2B2oCQAAALpOywH74x//eDZt2pQPfOADee1rX5vPfOYz%2BdnPftaO2gAAAKBrtByw3/rWt%2Ba6667Ll770pRx11FG54oor8sd//Md53/velzvvvLMdNQIAAEDH2%2BFJzl7%2B8pfnE5/4RG6//fYsXbo0q1atyhlnnJE3velNufbaa7Nhw4Yi6wQAgK5WrS7P0NBBqVaXl10K0CZTnkV8YGAg1Wo1/f39aTabefrpp/PRj340r3vd6/Jv//ZvRdQIAABdr1YbTV/f6tRqo2WXArTJDgfsH/7wh/nwhz%2Bco48%2BOp/61Kfy8pe/PF/60pdy66235oYbbsiee%2B6ZD3/4w0XWCgAAXateH8n4%2BILU6yNllwK0yexWf%2BCrX/1qrr766qxcuTJDQ0NZvHhx3v72t2fevHkT27zsZS/L%2B9///rzrXe8qtFgAAOhWjcZwGo3hsssA2qjlgD0yMpIDDzwwF154YU444YQMDAxsd7t99tknb37zm6dcIAAAJM/cw1yrjaZeHxFUgY7UcsD%2B%2B7//%2Bxx22GEvuN2CBQvysY99bIeKAgCAZ9vyHmYBm%2B2bk0ql7BpaNafsAihQywH7y1/%2Bcvbcc88sWLBgm3WPPPJILrnkEsEaAIDC1esjEz3Y8GyVyqwMDBxSdhnPqdmck7Gx/udYN5hmsznNFdEOLQfsG264IW9/%2B9u3G7B/%2Bctf5oYbbhCwAQAonHuYeT7NZjMbN96XpBMfFzwnlcphaTT2yvZytHA9c7QcsJ/vH/%2BJJ554znuyge7mvjcAoLM1k6xLs9kou5BtVCrVJJvSbArTM92kAvbdd9%2BdO%2B%2B8c%2BL76667Lt/4xje22mbDhg259dZbs3DhwmIrBDqC%2B94AAOD5TSpg33nnnbnkkkuSJJVKJdddd912t5s/f75nX8MM5b43AAB4fpMK2O9617ty2mmnpdls5jWveU2WL1%2BeAw88cKttBgYGMnfu3LYUCZTPfW8AAPD8JhWwq9VqqtVqkuTWW2/NvHnz3GsNAAAAW2h5krO99967HXUAAABAV5tUwD799NPzkY98JAsXLszpp5/%2BvNtWKpVceeWVhRQHAEBn8VQJgOc2azIbbTmVfLPZfN4/mzZtaluxAACUa8unSgCwtUn1YF911VXb/RoAgN7iqRIAz21SPdhbuvvuu/PUU09td129Xs/dd9895aIAAOhMjcZw1q691/BwgO1oOWCffvrpuf/%2B%2B7e77oEHHnjBe7QBAABgJmo5YG95P/azjY2NZdaslncJAAAAXW9S92CvX78%2B69atm/j%2Bsccey5o1a7baptFo5Prrr88ee%2BxRbIUAAADQBSYVsP/u7/4ul156aZJnHsO1dOnS7W7XbDbznve8p7jqAAAAoEtMKmAfddRRqdVqaTab%2BeQnP5l3vOMdmT9//lbbDAwM5D/8h/%2BQP/iDP2hLoQAAANDJJhWwDz300Bx66KFJkqeffjqnnHJK9txzz7YWBgAAAN2k5RnJli5dKlzTsarV5RkaOijV6vKySwEAYDucrzGTTaoH%2B9kefvjh3HTTTVmzZk0ajcZW6yqVSi688MJCioNW1Wqj6etbnVpt1PM5AQA6kPM1ZrKWA/btt9%2BepUuXZtOmTRkaGsrAwMBW6yuVSmHFQavq9ZHUaqOp10fKLgUAgO1wvsZM1nLAvvjii/PKV74yF198cX7nd36nHTXBDms0hl0JBegh1eryiRN1x3/oDs7XmMlavgf7Jz/5Sc4880zhGgAo3ZZDTQGgbC0H7Pnz56der7ejFgB4QSbHYUv1%2BkjGxxcYagpAR2g5YL/nPe/JFVdckaeffrod9UCpnLjTq7rpva/Hki01GsNZu/Zew00B6Agt34P9ve99L7/4xS9y/PHH59WvfnV23333bbY577zzCikOpptZLelV3fTeNzkOANCpWg7Yf//3fz/x9Y033rjN%2BkqlImDTtZy406u66b1vchwAoFO1HLB/%2BMMftqMO6AitnLibuZaZRGgFAJi6lu/BBp7hPlAAAGBLLfdgb/bNb34zd911V375y1/mrLPOyvz583PPPfdkn332ydDQUJE1QkfqpiG1AABA%2B7UcsJ9%2B%2BumcddZZ%2Bfa3v51KpZIkefvb35758%2BfniiuuyItf/OL85//8nwsvFDqNIbUAAMCWWh4ifvHFF2fVqlX53Oc%2Bl3/5l39Js9mcWHfUUUfljjvuKLRAAAAA6AYt92DffPPNOfvss3P88cdnfHx8q3Xz58/PT3/608KKAwAAgG7Rcg/22rVrs99%2B%2B21/Z7NmpdFoTLkoAAAA6DYtB%2Bw999wz991333bX/b//9/%2Byzz77TLkoAAAA6DYtB%2BzXve51ufzyy/P9739/YlmlUskjjzySv/u7v8vrX//6QgsEAACAbtDyPdhLlizJt7/97ZxyyinZf//9U6lU8sEPfjAPPfRQXvKSl%2BTd7353O%2BoEAACAjtZyD/bOO%2B%2Bca6%2B9NmeffXZqtVr23Xff7LTTTnnPe96Tq6%2B%2BOtVqtR11AgAAQEdruQc7SarVat797nfrrQaAF1CtLk%2BtNpp6fSSNxnDZ5QAAbdRyDzYAMHm12mj6%2BlanVhstuxQAoM0m1YN9%2BumnT3qHlUolV1555Q4XBAAzSb0%2BMtGDDQDMbJMK2M1mc6vvH3zwwTz%2B%2BOOZP39%2B5s2bl8ceeyxr1qzJvHnz8pKXvKQthQJAN2o0hg0NB4AeMamAfdVVV018/Y0RrlUiAAAgAElEQVRvfCMf%2BtCHcs011%2BTQQw%2BdWL5y5cq8//3vz/CwkwgAAAB6T8v3YH/mM5/J0qVLtwrXSfLKV74yS5cuzcUXX1xYcQAAANAtWg7YP/rRj/LiF794u%2Bte/OIX54EHHphyUQAAANBtWg7Ye%2ByxR772ta9td93NN9%2BcPfbYY8pFAQAAQLdp%2BTnYb3/72/PpT386v/rVr3LiiSdmjz32yOOPP56vfOUr%2Bad/%2BqeMjJglFYCZyTOtAYDn03LAPvPMM9NoNPKFL3wh//RP/5TkmVnG58yZk/e%2B970588wzCy8SADrBls%2B0FrABgGdrOWAnyfve976cccYZ%2Be53v5tf/epX2W233fKKV7wig4ODRdcHAB3DM60BOt2cVCpl17A9c8ougGmyQwE7SXbZZZcsWrSoyFoAoKN5pjVA56pUZmVg4JDC99tszsnYWH8B%2BxlMs9ksoCI62aQC9po1azJv3rz09/dnzZo1L7j9/Pnzp1wYAADAZDWbzWzceF%2BSDQXudU4qlcPSaOyVqWZj4bo3TCpgH3fccfniF7%2BYl7/85Tn22GNTeYFxFz/4wQ8KKQ4AAGBymknWpdlsFLbHSqWaZFOaTQGZyZlUwL7wwguzYMGCia9fKGADAABAr5lUwD7ppJMmvn7b297WtmIAAACgW80quwAAAACYCQRsAACeV7W6PENDB6VaXV52KQAdTcAGAOB51Wqj6etbnVpttOxSADqagA0AwPOq10cyPr4g9fpI2aUAdLSOCNi33HJLTjnllLzyla/Ma17zmixdujQPPPDANtt9/etfz1vf%2BtYccsghOf7443P11VeXUC0AQG9pNIazdu29aTSGyy4FoKO1HLBvuOGG/PKXv9zuul/96le54YYbWtrfHXfckaVLl%2BYlL3lJPve5z%2BVDH/pQHnzwwSxevDjr16%2Bf2O673/1uzjrrrBx44IFZtmxZTjrppFxwwQW57rrrWv0VALqO%2Bx8BADpfywH7gx/8YFavXr3ddQ8//HA%2B%2BMEPtrS/G2%2B8MfPnz89FF12Uo446Km94wxvysY99LD/72c/yr//6rxPbXXrppTnwwANz4YUX5ogjjshZZ52Vk08%2BOZ/97GezadOmVn8NgK7i/kcAgM7XcsBuNpvPuW7Dhg3p6%2BtraX9jY2OZO3duKpXKxLJddtllq202btyY73znOznhhBO2Wn7iiSfmsccey/e///2WXhOg27j/Eeh0RtoAJLMns9GaNWvyyCOPTHz//e9/Pxs2bNhqm0ajkS996Ut58Ytf3FIBJ598cs4444xcddVVectb3pJ169bloosuysKFC3PkkUcmSR566KH8%2Bte/zktf%2BtKtfna//fZLktx///05%2BOCDW3pdgG7SaAy79xHoaFuOtHG8AnrVpAL2//pf/yuXXHJJKpVKKpVK/ut//a/bbLO5Z/tv/uZvWirg8MMPzyWXXJJzzjknF1xwQZJngvMVV1yRgYGBJMkTTzyRJBkcHNzqZzd/v3n9jujr64h53nrO5nbX/tNP25dL%2B5dL%2B5dH25drOtq/0Tgn1eqn02ick9mzn3mdgYEvTCzbuPFdbXvtTua9P50qE3mlyH3OmlXJ7NmVNJtF7peZalIB%2Bw1veEP233//NJvN/PVf/3VGRkbyu7/7u1ttMzAwkP333z/77LNPSwWsXLky/%2Bk//af86Z/%2BaY499tisX78%2Bl19%2Bec4888xcc8012XnnnSe2fa4Py1Q%2BRIODO%2B3wzzJ12r882r5c2r9c2r882r5c7W3/s5Ocnblzk7lzNy%2B7OMnqzJ17cebOPbuNr935vPfbr9kcz9y5A0me%2B5bW1g0kGchOO819wS0hmWTAXrhwYRYuXJgk%2BdjHPpbXvva12X333Qsp4IILLsgRRxyxVc/3q171qixatCjXXXddFi9enF133TXJtj3V69atS7Jtz3Yr1q17OuPjJkmbbn19szI4uJP2L4G2L5f2L5f2L4%2B2L1dZ7T8w8P7f9GC/Pxs3PjVtr9tJvPenx%2BDgTqlUknp9Y5INL7j95FUya9bGbNjwVJ5nKip6wO67T%2B4iy6QC9pZOOumklot5Pvfff3%2BOPfbYrZYNDQ3lRS96UR566KEkyb777pv%2B/v488MADWbRo0cR2P/rRj5JkIvzviPHxTRkbc7Ari/Yvj7Yvl/Yvl/Yvj7Yv13S3/9jYX6Re/4vffNfb/%2B7e%2B9OhmWaz%2BbyTMreqUmlm06ZmxsaK3S8zV8sBO0n%2B5V/%2BJStWrMiaNWvSaDS2WlepVHLllVdOel/z58/Pvffeu9Wyxx57LD//%2Bc%2Bz9957J3lm%2BPkRRxyRm266KWecccbEditWrMi8efNy4IEH7sivAQAAAIVpebaFL3/5y3nHO96Rm266KevWrZu4SrT5T6vPpD7ttNNy22235fzzz8%2B3vvWt3HTTTTnzzDNTq9Xy5je/eWK7JUuWZNWqVTnvvPNy55135rLLLst1112Xs88%2BO7NmmTQCAACAcrXcg/2FL3whb3jDG3LRRRdNzPI9Faeddlr6%2B/vzD//wD7n%2B%2ButTq9VyyCGH5KKLLsqLXvSiie0OPfTQfP7zn8/o6GhuuOGG7LXXXjnvvPNyyimnTLkGAAAAmKqWA/aaNWvyoQ99qJBwnTwzpPzUU0/Nqaee%2BoLbHnPMMTnmmGMKeV0AAAAoUstjqxcuXJjHH3%2B8HbUAwLSrVpdnaOigVKvLyy4FAOhyLQfs97///Vm2bFkeffTRdtQDANOqVhtNX9/q1GqjZZcCAHS5loeIX3311XnyySfzJ3/yJ3nZy16W3Xbbbav1lUoll112WWEFAkA71esjqdVGU6%2BPlF0KANDlWg7Y9913X2bNmpWhoaH8/Oc/z89//vOt1lcqlcKKA4B2azSG02gMl10GADADtBywb7vttnbUAQAAAF3NA6QBAACgADsUsDdu3Jhrr702IyMjWbx4cX784x8nSW655ZasXr26yPoAAACgK7Q8RHzt2rX58z//8/z7v/979thjj/ziF7/IU089lSS59dZb88///M/56Ec/WnSdAAAA0NFa7sH%2B5Cc/mXXr1uXLX/5ybr/99jSbzYl1r371q3P33XcXWiAAAAB0g5YD9u23356/%2Bqu/ykEHHbTNjOF77rlnfvaznxVWHAAAAHSLlgP2%2BvXrM3/%2B/O2uGxsby/j4%2BJSLAgAAgG7TcsDeZ5998m//9m/bXXfPPffkJS95yZSLAgAAgG7TcsA%2B8cQTs2zZstxyyy0T919XKpXcc889%2BR//43/kLW95S%2BFFAgAAQKdreRbxM888MytXrszSpUuz6667JkmGh4fzq1/9KkcffXROP/30wosEAACATtdywO7v78%2ByZcvy1a9%2BNbfffnt%2B8YtfZPfdd89rX/vanHDCCZk1a4cerQ0AAABdreWAnTwzJPyEE07ICSecUHQ9AACFqFaXp1YbTb0%2BkkZjuOxyAOgBLXc3P/jgg7nrrru2u%2B6uu%2B7Kj3/846nWBAAwZbXaaPr6VqdWGy27FAB6RMsB%2B%2BMf/3huvfXW7a77v//3/%2BbjH//4lIsCAJiqen0k4%2BMLUq%2BPlF0KAD2i5YD9ve99L4cffvh21x1%2B%2BOFZtWrVlIsCAJiqRmM4a9fea3g4ANOm5YD95JNPplarbXddtVrNE088MeWiAAAAoNu0HLD33HPP3HPPPdtdd88992TevHlTLgoAAAC6TcsB%2B4//%2BI/z3/7bf8t3vvOdrZbfeeedWbZsWY4//vjCigMAAIBu0fJjupYsWZJ//ud/zuLFi/N7v/d72WuvvfKzn/0sP/7xj7Pffvvlfe97XzvqBAAAgI7Wcg/2Lrvski9%2B8YtZunRpdt1116xZsya77rpr3ve%2B9%2BXaa6/Nzjvv3I46AQAAoKO11IO9cePG3HXXXXnpS1%2BaJUuWZMmSJe2qCwAAALpKSz3Ys2fPznvf%2B9785Cc/aVc9AAAA0JVa6sGeNWtW9txzz6xfv75d9QAAAOygOalUit0ftKLlSc5OPvnkXH311Tn22GPT19fXjpoAoGtVq8tTq42mXh9JozFcdjkAPaNSmZWBgUMK32%2BzWU2z2Sx8v8xMLQfs/v7%2BPPjgg3njG9%2BYY489NvPmzUtli8tElUolZ5xxRpE1AkDXqNVG09e3OrXaqIANMI2azWY2brwvyYYC9zonlcouqVQqQjaT0nLA/tSnPjXx9X//7/99m/UCNp1MzxLQbvX6yMRxBoDp1EyyLs1mo7A9VirV3%2BwXJqflgH3rrbe2ow6YFnqWgHZrNIYdXwCgR7UcsPfee%2B921AHTQs8SAADQLi0H7M3uv//%2B3H333fnlL3%2BZk08%2BOfPmzcujjz6aXXfdNdVqtcgaoTB6lgAAgHZpOWCPj4/nQx/6UK6//vo0m81UKpUsWrQo8%2BbNy0c%2B8pEccMABOfvss9tRKwAAAHSsWa3%2BwGWXXZYVK1bkAx/4QFasWLHVbHpHH310vvnNbxZaIAAAAHSDlnuwr7/%2B%2Bpx11llZvHhxxsfHt1q3zz775OGHHy6sOAAAAOgWLfdgP/roo3nFK16x3XVz5szJU089NeWiAACKVq0uz9DQQalWl5ddCgAzVMsB%2B3d%2B53eyevXq7a578MEHs9dee025KACAom35qEboZC4GQfdqOWAfc8wxufzyy/Poo49OLKtUKnnyySdz1VVX5Y/%2B6I8KLRAAoAj1%2BkjGxxd4VCMdz8Ug6F4t34P9V3/1V/nGN76RN77xjXn1q1%2BdSqWS0dHR/Pu//3tmz56ds846qx11AgBMiUc10i3q9ZHUaqMuBkEXarkHe4899sj//J//MyeccELuvffe9PX15Yc//GEWLVqUa6%2B9Nrvttls76gQAgJ7QaAxn7dp7XRCCLtRyD3byTMg%2B//zzi64FAAAAutakA3aj0cgtt9ySNWvWZPfdd89xxx2XoaGhdtYGAAAAXWNSAfvRRx/NO97xjjz88MNpNptJkk984hNZtmzZcz6yCwAAAHrJpO7B/sxnPpNHH300f/mXf5m//du/zX/5L/8l/f39%2BehHP9rm8gAAAKA7TKoH%2B4477sh73vOeLFmyZGLZvvvum7/8y7/M448/nj322KNtBQIAAEA3mFQP9uOPP57DDz98q2V/8Ad/kGazmccff7wthQEAAEA3mVTAHh8fT7Va3WrZnDlzJtYBAABAr5v0LOIPPPBA%2Bvr6Jr7fHKwfeOCBbbY96KCDCigNAAAAusekA/YHP/jB7S7/wAc%2BMPF1s9lMpVLJD37wg6lXBgAAAF1kUgH7Yx/7WLvrAACYMarV5anVRlOvj6TRGC67HACmyaQC9kknndTuOgAAZoxabTR9fatTq40K2AA9ZFKTnAEAMHn1%2BkjGxxekXh8puxQAptGk78EGAGByGo1hPdcAPUgPNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AHaRaXZ6hoYNSrS4vuxQAoEUCNgB0kFptNH19q1OrjZZdCgDQIgEbADpIvT6S8fEFqddHyi4FAGjR7LILAAB%2Bq9EYTqMxXHYZAMAO0IMNAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgALPLLgAAAKAYc1KpFLs/aIWADQAAzACzUqkcWfhem83BNJvNwvfLzCRgAwAAM8CsNBrzU3QWFq5phYANAADMCM2mQEy5THIGAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKMLvsAt75znfmrrvu2u660dHRnHDCCTn33HNz/fXXb7N%2B2bJlWbRoUbtLBAAAgBdUesD%2ByEc%2BkvXr12%2B17Morr8zXvva1HHnkkRPLFixYkE996lNbbbdw4cJpqREAAABeSOkBe7/99ttm2TnnnJOjjjoqQ0NDE8uq1Wpe8YpXTGdpAAAAMGkddw/2ypUr8/DDD%2BfEE08suxQAAACYtI4L2CtWrMhOO%2B2U4447bqvlDz30UA477LAcfPDBedvb3pZbbrmlpAoBAABgW6UPEd/S2NhYbr755hx33HGp1WoTyw844IAccsgh2W%2B//fLkk0/mmmuuyZIlS/LZz342r3/966f0mn19HXeNoSdsbnftP/20fbm0f7m0f3m0fbm0f3m0/fSaPbuSZrNSdhn0sEqz2WyWXcRmX//61/Pud787l19%2Bef7oj/7oObfbtGlT/uzP/izr16/PV7/61WmsEAAA6ETNZjOVinBNuTqqB3vFihXZbbfd8od/%2BIfPu92sWbPyute9Lp/85CfTaDRSrVZ3%2BDXXrXs64%2BObdvjn2TF9fbMyOLiT9i%2BBti%2BX9i%2BX9i%2BPti%2BX9i%2BPtp8eg4M7pVJJ1q2rZ3vdh53TpUi32n33uZParmMCdqPRyK233poTTzwx/f39L7h9UR3v4%2BObMjbmYFcW7V8ebV8u7V8u7V8ebV8u7V8ebT8dmpk9e02SbXNCszmYp5%2BeXECCqeiYgH3bbbflqaeemtTs4Zs2bco//uM/Zv/9959S7zUAADBTjKfZvCPJhmctn5NK5chUKjsX1kkHz6VjAvZXvvKVzJ8/P6961au2Wv7II4/k3HPPzZve9Kbsu%2B%2B%2BeeKJJ3LNNddk1apV%2BdznPldStQAAQOfZkGazsdUSt2UznToiYD/xxBP55je/mT//8z/fZmKCuXPnZuedd86ll16atWvXpr%2B/PwcffHCWLVuWo48%2BuqSKAQAAYGsdEbB33XXXrFq1arvrdtttt1x22WXTXBEAAAC0xgP5AAAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbACga1WryzM0dFCq1eVllwIAAjYA0L1qtdH09a1OrTZadikAIGADAN2rXh/J%2BPiC1OsjZZcCAJlddgEAADuq0RhOozFcdhkAkEQPNgAAABRCwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAFK5aXZ6hoYNSrS4vuxSAaSNgAwBQuFptNH19q1OrjZZdCsC0EbABAChcvT6S8fEFqddHyi4FYNrMLrsAAABmnkZjOI3GcNllAEwrPdgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAowu%2BwCAAAAijEnlcq2y2C6CNjAjFCtLk%2BtNpp6fSSNxnDZ5QAA06xSmZWBgUMmvm8252RsrP83Xw%2Bm2WyWVRo9RMAGZoRabTR9fatTq40K2ADQg5rNZjZuvC/JhjzTk31YGo290mxGuGbauAcbmBHq9ZGMjy9IvT5SdikAQCmaSdal2Xwiybokm4Rrpp0ebGBGaDSG9VwDAFAqPdgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoAACNgAAABRAwAYAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAowOyyCwAAACjGnFQqz/wNZRCwAQCAGWBWKpUjJ75rNgfTbDZLrIdeJGADAAAzwKw0GvOzOVML15RBwAYAAGaEZlOwplwmOQMAAIACCNgAAABQAAEbAAAACiBgAwAAQAEEbAAAACiAgA0AAAAFELABAACgAAI2AAAAFEDABgAAgAII2AAAAFAAARsAAAAKIGADAABAAQRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABSg/Y73znO/Mf/%2BN/3O6fG2%2B8cWK7r3/963nrW9%2BaQw45JMcff3yuvvrqEqsGAACArc0uu4CPfOQjWb9%2B/VbLrrzyynzta1/LkUcemST57ne/m7POOitvectbcu6552blypW54IILMjAwkFNOOaWMsgEAAGArpQfs/fbbb5tl55xzTo466qgMDQ0lSS699NIceOCBufDCC5MkRxxxRH7605/ms5/9bP70T/80s2aV3hEPAABAj%2Bu4ZLpy5co8/PDDOfHEE5MkGzduzHe%2B852ccMIJW2134okn5rHHHsv3v//9MsoEAACArXRcwF6xYkV22mmnHHfccUmShx56KL/%2B9a/z0pe%2BdKvtNvd833///dNeIwAAADxb6UPEtzQ2Npabb745xx13XGq1WpLkiSeeSJIMDg5ute3m7zev31F9fR13jaEnbG537T/9tH25tH%2B5tH95tH25tH95tP30mj27kmazUnYZ9LCOCtjf%2Bta38otf/CJvetObtllXqWz/g/JcyydrcHCnKf08U6P9y6Pty6X9y6X9y6Pty6X9y6Pt26/ZbGa33eaWXQY9rqMC9ooVK7LbbrvlD//wDyeW7brrrkm27alet25dkm17tlu1bt3TGR/fNKV90Lq%2BvlkZHNxJ%2B5dA25dL%2B5dL%2B5dH25dL%2B5dH20%2BPwcGdUqkkTzxRT7NZdjXMRLvvPrmLNx0TsBuNRm699daceOKJ6e/vn1i%2B7777pr%2B/Pw888EAWLVo0sfxHP/pRkmThwoVTet3x8U0ZG3OwK4v2L4%2B2L5f2L5f2L4%2B2L5f2L4%2B2nx5jY800JWxK1DE3g9x222156qmnJmYP32xgYCBHHHFEbrrppq2Wr1ixIvPmzcuBBx44nWUCAADAdnVMwP7KV76S%2BfPn51WvetU265YsWZJVq1blvPPOy5133pnLLrss1113Xc4%2B%2B2zPwAYAAKAjdEQ6feKJJ/LNb34zb3zjG7c7admhhx6az3/%2B8/ne976X4eHhfPnLX855552XU045pYRqAQAAYFsdcQ/2rrvumlWrVj3vNsccc0yOOeaYaaoIAAAAWtMRPdgAAADQ7QRsAAAAKICADQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjYAAAAUAABGwAAAAogYAMAAEABBGwAAAAogIANAAAABRCwAQAAoACzyy4AAACgCJVKklSSJM1ms9Ra6E0CNgAAMAM0U63%2BNMkzwbrZHMzTT88ttyR6joANAADMAONpNu9IsiHJnFQqR6ZS2VlPNtNKwAYAAGaIDWk2G78ZKg7TzyRnAAAAUAABGwB6SLW6PENDB6VaXV52KQAw4wjYANBDarXR9PWtTq02WnYpADDjCNgA0EPq9ZGMjy9IvT5SdikAMOOY5AwAekijMZxGY7jsMgBgRtKDDQAAAAUQsAEAAKAAAjYAAAAUQMAGAACAAgjY8P/bu/OwqKr/D%2BDvGRZRVkEUIVcUFEEERXBXXFDS3M1MU0EUl8ytr5IbJC5YmruooKlZmaIVuGWZYKVWgr/Mb5girriA7LLP3N8ffLl6HQYGHEXh/Xoen8c599w7537meMfP3HPOJSIiIiIi0gIm2ERERERERERawASbiIiIiIiISAuYYBMRERERERFpARNsIiIiIiIiIi1ggk1ERERERESkBUywiYiIiIiIiLSACTYRERERERGRFjDBJiIiIiIiItICJthEREREREREWsAEm4iIiIiIiEgLmGATERERERERaQETbCIiIiIiIiItYIJNREREREREpAW6Vd2A14FSqYRCUVTVzahWlEoZ8vJ0UFCQD4VCqOrm1CiMvXbo6OhCLudvlERERET0BBPsMgiCgMzMVOTmZld1U6qllBQ5lEplVTejRmLstaN2bSOYmJhDJpNVdVOIiIiI6BXABLsMJcm1kVFd6OvX4n%2BitUxHR8Y7qFWEsX8%2BgiCgoCAf2dlpAABTU4sqbhERERERvQqYYKuhVCrE5NrIyKSqm1Mt6erKUVTEu6hVgbF/fvr6tQAA2dlpMDauy%2BHiRERERMRFztRRKBQAnvwnmojoWSXXB67RQEREREQAE%2BxycVg4EanD6wMRERERPY0JNhEREREREZEWMMEmIiIiIiIi0gIuckakZbdu3cS6dZ/ir7/iYGBQG336eGHq1BmoVcug3H2PHYvC3r27cP/%2BPdjYvIGJEyfD07OP5NgREftx4cIfuH//HkxNzdChQ0dMnjwNFhb1Sj2mUqnEpEnj8O%2B/V7Bs2Sr06tWn1Hqvupycx9i0aR1Onz6FwsICuLp2wOzZ/4GVVcMy9xsxYhDu379X6rbQ0F1wdHTCvXtJGDnyrVLr6Onp4eefzz53%2B4mIiIio%2BmOCTaRFWVlZ%2BOCDqbCyskJw8GqkpaVi06bPkJmZgSVLlpW5788//4jlywMxduwEdOzogZiY01i6NABGRkbo2NEDAPDHH%2Bdw8WIs3nprKFq0sENy8kPs3Lkd/v4%2B2L37a9SpU0fluN99dwgpKSkv5HxfpsDAhbhyJR6zZ38IQ0MjhIWFYqOaRgcAACAASURBVNasadi9%2B6syf7xYseITFBQUSspCQzfixo1EtGrVGgBgYVEPoaG7ntlTwLx5M%2BHi0kHbp0JERERE1RQTbHop8vPzNLqD%2ByIJgoDCwkLo6%2Bu/sPf47rsIZGVlYteuL2FmZgYA0NHRxccfL8J77/mgadNmavcNCwtFr1594O8/AwDg6toBt27dQFhYqJhg9%2B7thWHDRkkW17K1bYkJE95BdPQpDBgwUHLM9PR07NixFdOmzcSqVWUn%2BK%2Byy5f/xm%2B//YJPPlmHTp26AgCaN2%2BBt98ejGPHojBkyAi1%2B9rZtZK8zs3NxZUr/6B//4HQ1S2%2BBOrr68PR0UlSLzb2T2RnZ6Nv3/5aPhsiIiIiqq44B7sGWL48EOPGjcLZs79i3LhR8PTsDB%2Bfsfj770sqdY8ejcT48aPh6dkZQ4YMwLZtm1FU9OQRRCkpKVixIggjRw6Gp2cXjB49FNu2bUZBQYHkOF27dsDevZ9jy5YNeOstLwwc2BcAcP16AubNmwlv797o0aMz3nlnGPbt2y3ZNybmNCZOHANPz8546y0vrFkTgpycHHF7bOyf6Nq1A37//RwCAxeib9/uGD58oMpxnpz3Lxg//h306tUJv/wS89zxLMu5c7%2BhQ4eOYnINAD17ekJfXx9nz/6qdr%2BkpLu4efMG%2BvTxkpT37dsf//xzGenp6QAAMzMzlZWrbW1bQEdHBykpySrH3bZtE1xd26N9e7fnOS3MmDEZ//nPLBw7FoVRo4o/%2BxkzJuPWrRvPdVxNnTv3K4yMjOHh0UUss7KyQtu27fDbb%2BrjWpozZ6KRm5uLfv3KTpxPnjwBQ0NDdOnSrVJtJiIiIqKah3ewa4hHjx5h7doQ%2BPhMhrGxMb74Yjfmzp2Br78%2BjLp1zQEAX3/9BbZu3YhRo8ZgxoxZuHHjBrZv3wKlUompU98HAGRkpMPExBTvvz8bxsbGuH37Fnbu3I5Hj1Lw0UdLJe958OBXcHRsi4CAxSgsLE7SFyyYg7p1zbFgwWKYmhrj5s1bSE5%2BKO7zyy/RWLjwQ/Tq1QeTJ09HUtJdbNu2Gbdu3cT69Vskx//005Xw8vLGihWfIDr6Z2zduhG2ti3h4dFZrJOSkoL169dg/Hhf1K/fAPXrN1Abo6d/SFBHLpdDLlf/u9SNG4l4803pXF59fX1YW7%2BBmzcT1e5Xsu3ZO9xNmzaDIAi4efMGzMzalbrv33//BYVCgSZNpPv%2B889lnDx5HHv3fqP2fY8ejcSKFUHYsCEUrq5lD4W%2BciUed%2B/egb9/cV/YsWML5sx5H19%2BGVHmqACFQgFBEMo8tkwmg46OjtrtN24konHjJio/LjRt2hy//16x%2BdE//ngcDRtaw9Gxrdo6RUVFiI4%2Bhe7de6FWrVoVOj4RERER1VxMsGuIzMwMLFu2SryT6ezsimHD3sQ333yFKVOmIyfnMcLDt2PMmPcwZcp0AICbmwd0dHSwefM6jBkzDqamZrC1bYEZM2aJx3VycoaBQW0sX74Uc%2BbMh4HBk2HgJiamCA5eLSZF6enpSEq6i5kz56Jr1%2B7Q1ZXD2bm9pJ07d25Hq1YO%2BPjjlU8dxwRBQYsQG/unJAns2dMTvr5TAADt27vht9/O4PTpnyQJdlZWJtas2QAHB8cy41PWIldPmzjRT3zP0mRlZcLIyFil3NjYGJmZmWXslwUAMDIyemY/k/9tzyh1v6KiImzYsAaNGzdB585dxXKlUom1a0MwevRYNGxojXv3ktSflIaK55NvR6NGjQEALVva4d13R%2BDYsSgMHjxM7X5vvz1E7SJjJdq1c8WmTdvVbq9sXJ%2BVkZGO338/h3feGVfmM6zPnfsVmZkZHB5ORERERBXCBLuGMDIykgwTNjY2Rvv2HXD5cvEw8UuX/kJubg569eotuZPbvr0b8vPzcf16Alxc2kMQBBw48BW%2B//4wkpKSUFCQL9ZNSrqD5s1biK89PLpIkhhTU1NYWTXEtm2bkJWVCXd3d5ibW4rbc3JycPXqv5g27QNJ23v16oPg4KX466%2BLkgTbzc1D/LtcLkeTJk3x8OFDyb5mZmblJtcAUK%2BeJcLC9mhUrzyl522CmvJn95VWenLnt/Sd164NwfXrCdi8eYc4nxgAIiO/xaNHjzB27IQy38/bexC8vQeV3zAAzZrZisk1ADRq1BjNmtni8uVLZSbYISGfobCwQO12AKUuzvas0hJiQRDKTJSfderUjygqKkLfvl5l1vvhh%2BMwN7d47qH1RERERFSzMMGuIczM6qqU1a1rjtu3bwEovrMHAD4%2BY0vd/%2BHDBwCAb775Eps3r8eYMe/B1bUDjI2N8c8//8XatSEq87Dr1pW%2Bp0wmw9q1G7F9%2B1asXRuC3Nxc2Nm1wsyZc9CunSuys7MgCAIsLCwk%2B%2Bnq6sLU1AyZmdK7uMbG0juaenp6krnaxedtXur5PEtPTw8tWtiVW6%2Bs4eHFbTIR70Y/LSsrW2UIt3Q/4//Vy4K5%2BZPzz87OEo/7rJ07t%2BPIke%2BxfPlqtGrlIJbn5ORg%2B/bN8PObhsLCQhQWFuLx48cAgLy8PDx%2BnA1TU9XjlefZz7Ok7NGjR2XuVzLMvSzlJcnGxiZ48OC%2BSnl2drZKPyjLyZPHYWvbUvJD0LNycnLw229nMHDgkDKHrRMRERERPYsJdg2Rnp6mUpaWlio%2BO7kkgVu%2B/BM0aKA6T7lhQ2sAwM8//4QuXbqLK10DxfNjS6eaNDVu3BTBwSEoKirCf/97CVu3bsT8%2BbNx%2BPAxGBkZQyaTITVVmrAVFRWJc78rStObm9oaIt60aTOVudYFBQVISrqjMjf7aSXJ940biWjSpKlYfuNGImQymaQMAA4dOoCdO7fjww8/QteuPSTbMjLSkZGRgU8/XYlPP10p2bZ8eSC2brXA0aMnyzrNUqWlldaH0mBv36qU2k9oY4h406bN8Mcf51XuWN%2B4cb3MHy6edv/%2BfVy69H/iFAh1YmJ%2BRl5eHoeHExEREVGFMcGuIbKzs3Hhwh/ikNfi139i%2BPBRAErmUhsgOfkBevTopfY4%2Bfl50NPTk5T98MOxCrdHV1cXrq7t8e67E7BgwRykpCSjceMmaNnSDqdO/YjRo5/cSY%2BOPgWFQoG2bUtf5EsbtDVE3MOjM3bvDkdGRjpMTYtXEo%2BJ%2BRkFBQXo1KmL2v2srW3QpElTnDr1gyT%2BJ0%2BeQOvWbSSrkv/44wmsW/cJJk3yL3Votrm5BTZsCJWUpaY%2BQmDgQvj4TIabm3u551maxMQE3L59Sxwmfvv2LSQmJmDoUPWPyAK0M0Tcw6MLdu3agfPnz4pz7B88uI%2B//rqI2bM/1Kj9P/54HADQp0/5q4fb2LyBNm3Kn1pARERERPQ0Jtg1hImJKVatWiZZRRwARo16B0DxHG1fX39s2bIRDx8%2BhKtrB8jlciQl3cGZMzFYvnw1DAwM4ObmjgMHvkZExH40atQEP/xwDHfu3NGoDdeuXcWmTZ%2Bhd%2B9%2BsLF5A7m5j7F79040bGgNG5s3AAA%2BPpMREDAPS5d%2BhAEDBv5vFfFNaN%2B%2BY7mrXD8PPT09yTDryho8eDgiIr7BggVzMWHCpP8tDPYZ%2BvUbIFkhfOXKj3H8%2BBFER58Xy3x9/bF0aQCsrd%2BAm5s7fvklGn/8cQ5r1mwU68TFXUBw8FK0bdsOHTq4Sx61VrduXdjYvIFatWqpxKpkkbNmzZrDyclZLK/IKuLFq7/PwaRJ/hAEICxsK%2BrVs1R59vazbG3VD8fWVJs2jujcuStWrVqGGTNmwdDQEGFh29CwobXk/Y8di8KqVcuwbt0WuLhIF9A7efIEnJycYWVlpfZ90tLS8Oef58udu05EREREVBom2DWEhYUFpk6diS1b1uPu3Tto1qw51q7dKJnv%2B847Y2FpaYn9%2B/chImI/dHV1YWPzBjp37iYuoDVhgh/S09MRFrYNANCzZ2/MmjUP8%2BfP1qgNFhYW2Lt3F1JSkmFoaARn53ZYsmSZONe1a9ceCA5ejc8/34GAgLkwMjJGv37e4mPCXnXGxsZYv34r1q37BAsXfggDAwP06eOl0n6lUgmFQiEp8/Tsg/z8POzZsxNff/0FbGwaIShoJTp2fLKYW2zsnygqKsLFi7Hw958o2X/AgIFYuDCwQu3Nzc0FAEk/UMfevhV69PDEli0b8OhRChwcHDFvXsBLe4zV0qXB2LRpPdasCUFRUSFcXTtg%2BfLVqFXrycr1giCU%2BliwxMTrSEi4irlzF5T5HqdOnYRCoeDwcCIiIiKqFJlQ3upD1Vxa2mMUFSlVygsLC/Do0T1YWDSEnp76Z/y%2BDpYvD0R8/H/LfB5yVdDVlZcae3rxSmK/bNni/83X3lBm/RkzJqNOnTpYvXrdS2rh66Ey1wldXTnq1jVUe%2B2hF4vxrzqMfdVi/KsOY/9ymJsbQiYrQk7O5xCEPMhkBpDJeiI317rcxVaJNGFpqdnCumUviUxE1dpff/2F8eN9q7oZRERERFpSCzKZAYCXM8KO6FkcIk5Ugx048F1VN4GIiIhIS%2BSQyTqJrwTBhHev6aVjgl0DVHReLtGzynqEFhEREdGrQY68PGuU5NRMrqkqMMEmIiIiIqJqQRCYWFPV4hxsIiIiIiIiIi1ggl0O/gJGROrw%2BkBERERET2OCrUbJc5kLCvKruCVE9KoquT7o6HC2DRERERFxDrZacrkOatc2QnZ2GgBAX78WZDJZFbeqelEqZVAoeAewKjD2z0cQBBQU5CM7Ow21axtBLudvlURERETEBLtMJibmACAm2aRdcrkcSqWyqptRIzH22lG7tpF4nSAiIiIiYoJdBplMBlNTCxgb14VCUVTVzalWdHRkMDWtg4yMHN5JfckYe%2B3Q0dHlnWsiIiIikmCCrQG5XA65XL%2Bqm1Gt6OrKYWBggNxcBYqKeCf1ZWLsiYiIiIheDN5%2BISIiIiIiItICJthEREREREREWsAEm4iIiIiIiEgLZIIg1OhVjhQKzkGtKjo6csa/ijD2VYvxr1qMf9Vh7KsW4191GPsXTy6XQRAEpKbmoIanN/SCWFoaa1SvxifYRERERERERNrAIeJEREREREREWsAEm4iIiIiIiEgLmGATERERERERaQETbCIiIiIiIiItYIJNREREREREpAVMsImIiIiIiIi0gAk2ERERERERkRYwwSYiIiIiIiLSAibYRERERERERFrABJuIiIiIiIhIC5hgExEREREREWkBE2wiIiIiIiIiLahxCXZiYiJ8fX3Rrl07dOrUCcHBwcjLy6vqZr3Wjh07hmnTpqFHjx5o164dBg0ahC%2B//BJKpVKss2DBAtjb26v8iYmJUTleeHg4PD094eTkhOHDh%2BP8%2BfMv83ReO4cOHSo1tp9%2B%2BqmkXnR0NIYMGQInJyf07dsX%2B/btK/V4jH/FjBs3rtT429vb48iRIwDY/7Xl5s2bWLJkCQYPHgwHBwcMHDiw1Hra7OvZ2dlYsmQJ3N3d4eLiAn9/f9y9e1er5/U6KC/2CoUCO3bswNixY%2BHh4QE3Nze8%2B%2B67OHv2rMqxPD09S/33kJ%2BfL6nH2D%2BhSd/X9nWG8X9Ck/ir%2Bx6wt7fHw4cPxXrs/0TVn25VN%2BBlyszMxPjx42FtbY0NGzYgNTUVK1euRHp6ukoyQprbtWsXrK2t8Z///AcWFhY4f/48li9fjtu3b2P%2B/PlivUaNGqnE2dbWVvI6PDwcn332GWbPng0HBwccOHAAfn5%2BOHDgAOzt7V/K%2BbyuwsLCYGxsLL5u0KCB%2BPe4uDhMmzYNgwcPxoIFCxAbG4vg4GDo6%2Btj5MiRYj3Gv%2BKWLl2K7OxsSdnu3bvxww8/oFOnTmIZ%2B//zu3r1KqKjo%2BHs7AylUglBEFTqaLuvz507F5cvX8bixYthZGSEDRs2YOLEifj%2B%2B%2B9hYGDwUs77VVBe7PPy8rBt2zYMGTIEvr6%2B0NXVxeHDhzFx4kRs3boVvXr1ktT38vKCj4%2BPpExfX1/ymrF/QpO%2BD2j3OsP4P6FJ/Pfv369SNn/%2BfNSuXRv169eXlLP/E1VzQg2ybds2wdnZWXj06JFY9v333wt2dnbCtWvXqrBlr7en41lixYoVgpOTk5Cfny8IgiDMnz9fePPNN8s8Tn5%2BvtC%2BfXshJCRELCsqKhIGDBggzJo1S7uNrkYiIiIEOzu7Uj%2BHEr6%2BvsKIESMkZYsWLRK6dOkiKBQKQRAYf23y9PQU/Pz8xNfs/9pR0lcFQX1MtdnXL168KNjZ2QmnT58Wy%2B7evSs4ODgIX375pdbO63VQXuyLioqE9PR0SZlSqRSGDh0qjB07VlLeq1cvISgoqMz3Y%2BylNOn72rzOMP5SmsT/Wbdv3xbs7OyEHTt2SMrZ/4mqvxo1RDwmJgadOnWCubm5WObl5QV9fX1ER0dXYcteb0/Hs0Tr1q2Rn5%2BP9PR0jY8TGxuLrKwsydArHR0deHt7Izo6Wu0v9lS2goICnDt3Dm%2B%2B%2BaakfNCgQUhOTsZ///tfAIy/tsTGxuLOnTsYNGhQhfdj/Msml5f9laXtvh4dHQ0TExN0795drGdtbQ1XV9ca951RXux1dHRgamoqKZPJZGjVqpVkeKymGHup8uKvKfb9yqlM/KOioiCTydROZSkL40/0eqtRCXZCQoLKUCl9fX00btwYCQkJVdSq6unChQswMzODhYWFWHbr1i106NABjo6OGDZsGH788UfJPiWfQfPmzSXltra2ePz4MR48ePDiG/4aGzhwIFq3bo3evXtj27ZtUCgUAIrjXlhYqBLXFi1aAHgSd8ZfO6KiolC7dm307t1bUs7%2B/%2BJpu68nJCSgWbNmkMlkKsfjd0b5lEol4uLiVL53ASAyMhKOjo5wcXGBn58frly5ItnO2FeOtq4zjP/zO3LkCNzc3GBlZaWyjf2fqHqrcXOwTUxMVMpNTEyQkZFRBS2qni5duoRDhw5h%2BvTp0NHRAVB8R9vJyQktWrRAVlYWvvrqK0yfPh3r169H//79ARR/Pvr6%2Bipzi0ruiqSnp5f6RVXTWVpa4v3334ezszNkMhlOnTqFdevW4cGDB1iyZInYt5/t%2ByWvS7Yz/s%2BvqKgIx48fR%2B/evVGnTh2xnP3/5dB2X8/MzJSsa/D08fidUb69e/ciMTERH3/8saTc09MTbdu2hbW1NW7fvo3Q0FCMGTMG3377LRo1agQAjH0laPM6w/g/n/j4ePz7778qfR9g/yeqCWpUgq2OIAgqvxJS5SQnJ2PmzJlwcnKCn5%2BfWD5%2B/HhJPU9PT4wePRobNmwQv/gBlPo5lAxZ42dUum7duqFbt27i665du6JWrVrYvXs3/P39xXJ18Xu6nPF/Pr/%2B%2BisePXqkMiSQ/f/l0mZf1%2BRYpOr333/HJ598Ah8fH7i5uUm2LVq0SPx7hw4d0KVLFwwYMADh4eEIDAwUtzH2FaPt6wzjX3mRkZHQ09ODl5eXyjb2f6Lqr0YNETcxMUFmZqZKeVZWVql3tqlisrKy4OfnBwMDA2zduhV6enpq68rlcvTr1w8JCQniY9JMTEyQn5%2Bv8qiKks/s2fl9pN6AAQOgUCjwzz//iHF79lfvkriW9H3G//lFRUXBzMwMXbt2LbMe%2B/%2BLoe2%2Bru47Q91oKCoWHx%2BPadOmoU%2BfPvjwww/LrV%2B/fn20b98ely9fFssY%2B%2Bf3PNcZxr/yBEHA0aNH0a1bN5iZmZVbn/2fqPqpUQm2ra2tytyVgoIC3Lp1q9Q5YqS5/Px8TJ06FSkpKQgLC0PdunXL3efZRZtKPoNnP6OEhAQYGhpKHjtFmmvcuDH09PRw/fp1Sfm1a9cAPIk74/988vLy8NNPP6F///5l/rhUgv1f%2B7Td121tbZGYmKjyWV27do3fGWrcunULkyZNgoODA1avXq3x3bbS/j0w9s%2BvstcZxr/yLly4gKSkpAotdMn%2BT1S91KgEu3v37jh37hzS0tLEspMnT6KgoAA9evSowpa93oqKivDBBx8gPj4eYWFhsLGxKXcfpVKJEydOoGXLluJcMFdXVxgbG%2BPo0aNiPYVCgWPHjqFHjx4cFlUBR48ehY6ODhwcHKCvrw8PDw8cO3ZMUicqKgqWlpZwcHAAwPg/r1OnTuHx48ca/aeK/f/F0HZf79GjBzIzM3HmzBmx3r179xAbG8vvjFIkJyfDx8cH9erVw5YtW1Se66vOgwcPEBsbCycnJ7GMsX9%2Bz3OdYfwrLzIyEnXq1FF59rs67P9E1Y9O4NMTPqq5li1bIiIiAmfOnEGDBg0QFxeHFStWoG/fvhg9enRVN%2B%2B1FRgYiKioKHzwwQeoX78%2B7t%2B/L/4xMjJCcnIypk%2BfjsLCQmRlZeHy5csIDg5GXFwcgoKCxF9jdXR0oKOjg9DQUBgYGCA/Px/r169HXFwcVq9ejXr16lXxmb6afH198fDhQ2RnZ%2BPmzZvYuXMn9u3bh3Hjxonz7ho1aoTQ0FDcu3cPhoaGiIyMxK5duxAQEABHR0cAjP/zWrt2LfLz8xEQECBJhu/evcv%2BryW5ubn46aefcO3aNfz6669ISUmBlZUVrl27BnNzc9SuXVurfd3Kygp///039u/fjwYNGuDevXtYsmQJDAwM8PHHH0NXt%2BYsY1Je7GUyGd577z3cv38fixYtQl5enuS7oGSBvqioKGzfvh15eXlIS0vD2bNnsXDhQhQUFGDlypXiEGXGXqq8%2BKempmr1OsP4S2ly7QGKbzgsXLgQvXr1gre3t8px2P%2BJagaZUMMerpqYmIjg4GBcuHABBgYGGDhwIObNm6eyoiZpztPTE3fv3i112549e2Bvb4%2BAgABcvnwZqamp0NPTg6OjIyZPnixZnAsoHiYVHh6Offv2ISUlBXZ2dvjwww/h4eHxMk7ltRQcHIwzZ87g/v37UCqVaNq0KUaOHIlx48ZJEr3o6GisXbsWCQkJsLKywsSJE/Huu%2B9KjsX4V05GRga6dOmC8ePHq8w5TU9PZ//Xkjt37qg8/qzEnj174O7uDkC7fT07OxshISE4ceIECgsL4e7ujsWLF2s0Uqc6KS/2NjY2arcDEB9DdPHiRaxZswZXr15FVlYWjI2N4eHhgZkzZ6o8Ooqxf6K8%2BL%2BI71nG/wlNrz2nT5/GlClTsH379lLvNLP/E9UMNS7BJiIiIiIiInoRatQcbCIiIiIiIqIXhQk2ERERERERkRYwwSYiIiIiIiLSAibYRERERERERFrABJuIiIiIiIhIC5hgExEREREREWkBE2wiIiIiIiIiLWCCTURERERERKQFTLCJiF4je/bsgb29PQYOHKi2jr29PTZu3Ci%2BPn/%2BPOzt7XH%2B/PmX0cRKO3ToEOzt7XHnzp2qbkq5NI3pq3ZOsbGx2LhxIzIzM1W2eXp6YsqUKVXQKiIiouqDCTYR0WskIiICAHD16lX83//9n0b7tGnTBvv370ebNm1eZNPoNRAXF4dNmzaVmmATERHR82OCTUT0mrh06RLi4%2BPRs2dPAMDBgwc12s/IyAjt2rWDkZHRC2xd1crNza3qJhARERExwSYiel2UJNRz586Fi4sLjhw5olFiqW448zfffAMvLy84OjrC29sbkZGRWLBgATw9PcU6d%2B7cgb29PcLDw7Fr1y54enrCxcUFb7/9Ni5evKjyXpcuXYK/vz86duwIJycnDBkyBEePHlWpd/HiRYwePRpOTk7o2rUr1qxZg6KiIo3isGDBAri4uODKlSvw8fGBi4sLJkyYIG7/7bffMH78eLi6usLZ2RmjR4/G2bNnJce4efMmAgIC0K9fPzg7O6Nbt27w9/fHlStXVN4vISEBvr6%2BcHZ2hru7O5YsWYLHjx9r1FZ1NGnjxo0bYW9vj6tXr2LOnDlo3749OnfujICAAGRlZUnqZmZm4qOPPkLHjh3h4uKCyZMn4/bt25LpAhs3bsTq1asBAL1794a9vX2p/SImJgZDhw5F27Zt0b9/f41/yCEiIiJAt6obQERE5cvLy8ORI0fg5OQEOzs7DB8%2BHIsWLcLx48cxdOjQCh9v//79WLJkCby8vMSEbdOmTSgsLCy1/r59%2B9C8eXN89NFHAID169dj8uTJ%2BOmnn2BsbAwAOHfuHCZNmgRnZ2cEBgbC2NgYR48exezZs5GXl4dhw4YBAK5du4YJEybAxsYGq1atgoGBAb788ktERUVp3P7CwkJMnToVo0ePhp%2BfHxQKBQDgu%2B%2B%2Bw/z589G7d2%2BEhIRAV1cX%2B/fvh6%2BvL8LDw9GpUycAwMOHD2FmZoa5c%2BfC3NwcGRkZOHz4MEaNGoXDhw%2BjefPmAICUlBSMGzcOurq6WLp0KSwsLBAZGYlly5ZVOOYlNG1jiffffx/e3t4YMWIE/v33X6xZswYAsHLlSgCAUqmEv78//v77b8yYMQNt2rRBXFwcJk2aJDnOyJEjkZGRgb1792LTpk2wtLQEALRo0UKsEx8fj5CQEPj5%2BaFevXo4cOAAFi5ciCZNmsDNza3S50xERFRTMMEmInoNHD9%2BHFlZWRgxYgQAwNvbGytWrMDBgwcrnGArlUps3LgRzs7O2LBhg1jevn179OvXD/Xr11fZx9DQENu2bYOOjg4AoH79%2Bhg5ciRiYmLw5ptvAgCCgoLQsmVL7N69G7q6xV8v3bp1Q1paGtauXYshQ4ZALpdj8%2BbNEAQBu3fvRr169QAAPXv2LHPhtmcVFhZi%2BvTpGD58uFiWm5uLFStWoGfPnti8ebNY3qNHDwwdOhRr167FgQMHAABubm6ShFGhUKBHjx4YOHAg9u/fj4CAAADA559/jtTUVHz77bdo1aqVeDwfHx8kJSVp3N7KtLHEiBEjxGS5c%2BfOuHnzJiIiIrBixQrIZDKcOXMGFy5cQGBgIN555x0AQJcuXaCvry8m4wBgZWWFhg0bAgBat26NN954Q6V9aWlp%2BOqrr2BtbS3G6dy5c4iMjGSCTUREpAEOEScieg1ERETAwMBATGYNDQ3Rv39//Pnnn7hx40aFjpWYmIjk5GQMGDBAUm5tbQ0XncFgZgAABfxJREFUF5dS9%2BnZs6eYXAMQk827d%2B8CKB5yff36dQwaNAgAUFRUJP7p3r07kpOTkZiYCKB4yHqnTp3E5BoAdHR04O3tXaHz8PLykryOi4tDeno6hg4dKnl/pVKJbt264dKlS8jJyRHbFxoaCm9vbzg6OsLBwQGOjo64ceMGEhISxGOeP38eLVu2FM%2B3REV%2BDKhsG0s8PWQfKF4lPj8/H48ePQIA/P777wCg8nmW9JWKaN26tZhcA0CtWrXQtGnTSv2YQEREVBPxDjYR0Svu5s2b%2BOOPP9CvXz8IgiCuAN2/f38cOnQIERERmDt3rsbHS0tLAwBYWFiobKtXr56YND/NzMxM8lpfXx8AkJ%2BfD6B4KDUAhISEICQkpMz3TU9PlyTXT7%2B3pmrXrq2yaFtJG2bOnKl2v4yMDNSpUwerVq3Cvn374OfnBzc3N5iamkImk2HRokXiOZW0tbQ7vRVpa2XbWEJd7PPy8sQ26urqqtSrTBufPUbJ%2Bz0dEyIiIlKPCTYR0SsuIiICgiDgxIkTOHHihMr2w4cPY9asWZI7zGWpW7cuAIh3QJ9WkgBWVMkxp0yZgr59%2B5Zap1mzZgCKk7jS3qci7y2TydS2YfHixXB2di51v5IfFb7//nsMGTIEc%2BbMkWxPS0uDiYmJ%2BFobba1sGzVlZmaGoqIipKenSxLk5OTkSrWRiIiIKo8JNhHRK0yhUODw4cNo3LgxgoODVbafPn0aO3fuRExMDHr16qXRMZs1awZLS0scO3YMEydOFMuTkpIQFxdX6hzs8jRv3hxNmzZFfHy8StL6LHd3d5w6dQopKSniXVaFQlHqauMV4erqChMTE1y7dg1jx44ts65MJoOenp6k7PTp03jw4AGaNGkiaWtYWBji4%2BMlw8QrsiBbZduoqY4dOyIsLAxHjx7FmDFjxPLS4vnsyAMiIiLSLibYRESvsJiYGDx8%2BBDz5s2Du7u7yvaWLVviiy%2B%2BwMGDBzVOsOVyOd5//30sWbIEM2fOxPDhw5GZmSmuLF3a3WFNBAUFwc/PD76%2Bvhg6dCgaNGiAjIwMJCQk4PLly%2BKCalOnTsWpU6cwfvx4TJ8%2BHQYGBti3b99zP8va0NAQixYtwoIFC5CRkQEvLy9YWFggNTUV8fHxSE1NRVBQEIDiOeUlq4Xb29vj8uXLCA8Ph5WVleSY48ePR0REBCZPnoxZs2aJq4hfv379hbdRU926dYOrqytCQkKQnZ0NR0dHxMXF4bvvvgMgvdtvZ2cHANi9ezeGDh0KXV1dNGvWrFo/I52IiOhlYoJNRPQKO3jwIPT09CSrZT/N3Nwcffv2xYkTJyR3hMvz9ttvQyaTISwsDNOnT4eNjY342K179%2B5Vqq0eHh44cOAAQkNDsWLFCmRmZsLMzAy2traSBbjs7Oywa9cuhISEYP78%2BTA1NcVbb70FLy8vLF68uFLvXWLw4MGwtrZGWFgYli5disePH8Pc3BytW7eWrLa%2BcOFC6OrqYvv27cjJyYGDgwM2btyI9evXS45naWmJL774AsuXL0dgYCBq166NPn36YPHixZg2bdoLbaOm5HI5QkNDsWrVKuzYsQOFhYVwdXXFJ598glGjRkmGvLu7u2PKlCk4fPgwDhw4AKVSiT179pT64w0RERFVnEwQBKGqG0FERFUvMzMTXl5e6NOnz3M955leDZGRkZg3bx6%2B%2BuoruLq6VnVziIiIagTewSYiqoGSk5MRGhoKd3d3mJmZISkpCZ9//jkeP36M9957r6qbRxUUFRWFBw8ewM7ODnK5HBcvXkR4eDjc3NyYXBMREb1ETLCJiGogfX193L17F0FBQcjIyICBgQGcnZ0RFBSEli1bVnXzqIIMDQ1x5MgRbN26Fbm5ubC0tMSwYcMwa9asqm4aERFRjcIh4kRERERERERaIK/qBhARERERERFVB0ywiYiIiIiIiLSACTYRERERERGRFjDBJiIiIiIiItICJthEREREREREWsAEm4iIiIiIiEgLmGATERERERERaQETbCIiIiIiIiItYIJNREREREREpAX/Dx5UU7p/bxtuAAAAAElFTkSuQmCC">
 
 <br>
 <br>
@@ -311,7 +346,40 @@
 <br>
 
 <h3 id="Aligned_read_length_vs_Percent_identity_plot_using_a_kernel_density_estimation">Aligned read length vs Percent identity plot using a kernel density estimation</h3>
-<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy%2B17YcXAAAgAElEQVR4nOzdd3gU1foH8O/M7G4qhG4oIRRJQECaVEGQJlIFBUUpNhDFa7ne30XAexVBRRRQ8IKoqDRDkSKggFJUBEQFREIPJZAQQhISIJDs7pTfH9mMM8km2YRNNgnfz/PkyZazs2dnZ2bnnXPOewRN0zQQERERERER0U0RfV0BIiIiIiIiovKAATYRERERERGRFzDAJiIiIiIiIvICBthEREREREREXsAAm4iIiIiIiMgLGGATEREREREReQEDbCIiIiIiIiIvYIBNRERERERE5AUMsImIiIiIiIi8gAE2FVpkZKT%2BFxcX57bMmjVr9DIjR44s4RqWf927d9fX7969e31dnXLL2%2BuZ%2B0Xx475B5HurVq3S98PHH3/ca8vdvXu3vtxevXp5bbll0fDhw/V18c033/i6OqWeLMum89eLFy/6ukpUjll8XQEqOXv37sWoUaP0%2B4GBgdi1axcCAwN9WCsiIiqNIiMj830%2BMDAQISEhaNSoEdq2bYvBgwejevXqJVQ7IiKi0okt2LeQdevWme7fuHED33//vY9qQ0SUt7lz5%2BotDa%2B%2B%2Bqqvq0Nu3LhxAwkJCfj5558xc%2BZM3Hvvvfjoo4%2BgKIqvq0b5iI2N1fetO%2B64w9fVueXNnj1b/z4mT57s1WWzxb904Pdw62EL9i0iIyMDmzdvzvX42rVr8cADD/igRkREVFZERESgRo0apsfS09Nx4sQJ3LhxAwDgdDoxd%2B5cJCQk4K233vJFNYmIiHyOAfYtYsuWLfpJUOvWrXH8%2BHFcv34de/fuxYULF1CrVi2vvt%2BQIUMwZMgQry6TiIh844knnnB7THc6nVi3bh3eeecdXL9%2BHQDw9ddfo3Pnzrj//vtLuppUSgwdOhRDhw71dTXKtaioKF9XgYjywC7it4i1a9fqt4cOHap3UdE0jckxiIioSKxWK4YOHYpPPvkEkiTpjy9YsMCHtSIiIvIdBti3gISEBPz2228AAH9/f/Tu3RsDBw7Un885NpuIiKgw7rrrLvTs2VO/f/ToUVy6dMmHNSIiIvINdhG/Baxbtw6qqgLImsImODgYHTt2RI0aNXDp0iWcPXsWBw4cQKtWrbz2nmvWrMHEiRMBAO3atcOSJUsKfM3OnTuxevVqHDx4EMnJyahYsSLCwsLQp08fDBkyBBUrVjRlQq9duza2b9/udlndu3dHfHw8AGDx4sVo37497HY7NmzYgG%2B%2B%2BQZnz55FamoqKlWqhObNm2Pw4MHo3bt3oT6jpmnYsWMHtm7div379yMlJQWZmZmoWrUqGjdujB49emDQoEGw2WweLzMpKQlRUVHYtm0b4uLioGkaQkND0b59ezz88MNo3Lhxoeroqblz5%2BKjjz4CAAwePBjTp08HAPzyyy9Yv349/vrrLyQlJSE9Pd30fE4ZGRnYuHEjduzYgePHjyMlJQWCIKBatWpo3bo1%2Bvbti65du3pUJ6fTiV9//RV79uxBdHQ0zpw5gytXrgAAKlWqhAYNGqBDhw4YNmwYqlSpUqjP66v1XBTe2s7y%2Bo7379%2BPFStW4M8//8TFixdhs9lQt25ddO/eHaNHj0ZwcLDHdY2Pj0dUVBR%2B%2BuknXLhwIc/16m7/zDZy5Ej9gmC2tWvXmnrhGG3btg116tTJt17e3vfz8uCDDyI6OhoAMG7cOLz88ssevc5ut6NTp05IT08HAHzwwQduu1fHxMRg9erV2LdvH2JjY5Geng5RFBEUFIRatWqhUaNGeqBbuXJlr3ymwujSpQu2bNmi3z958mSucdtGqampWL9%2BPX7%2B%2BWecPn0aKSkpsNlsqFGjBtq1a4dBgwZ59Lt0zz33IDExEQCwbNky3HXXXbh27RrWr1%2BPzZs34/z580hOTobT6dSfdycmJgbffvst9uzZg/j4eKSmpsJisaBatWqIiIhAhw4d0KdPn3w/U7ZTp05h48aN2LVrFy5cuIC0tDQEBwejTp066Ny5M4YOHYratWvnu4zY2Fh925QkCUeOHAEAXLp0CatWrcLWrVtx4cIFZGZmonr16mjbti1GjRqFJk2auF3eqlWr8Nprr5keUxQlz2zxL774Ip577rkCP2tB79WxY0d8%2BeWXBb5m7969WLVqFfbv34%2BkpCSEhISgTp066Nu3LwYPHowKFSoUqS6apmH79u3YunUrDhw4kOsY2rNnTwwaNAhWqzXf5cyePRsff/wxAOChhx7S8wz88ccfWLFiBQ4ePIiLFy/C399fP4aOGjUqz2Po8OHDsX//ftNjX3/9Nb7%2B%2Bmu35X/66SeEhoa6ff2MGTMwaNAgt3XNdu7cuTy/6%2BzXG1/XqlUrLF%2B%2BPM/1kdOoUaP0qRGfeOKJIienzGu7j42NxfLly/HLL7/g4sWLkGUZtWrVQteuXTF8%2BHCEhYUV6f3yI8syNm7ciG3btuHIkSNISUmBKIqoVq0aWrRogfvuuw89evSAIAhuX1/U74HKPgbYtwBjC3V2y7UoiujXrx%2B%2B%2BOILAFknsN4MsAsjIyMDEyZMMJ2YAUBycjKSk5Nx4MABLF68GHPmzCnye5w5cwYvvPACTpw4YXo8KSkJ27dvx/bt29G7d2/MnDnTo4D42LFjeO2113Do0KFczyUkJCAhIQE7duzAJ598gpkzZ%2BLOO%2B8scJlbt27F5MmTkZaWZnr81KlTOHXqFFasWIGXXnoJY8eOLXBZNys9PR2TJ092mxgvL1u2bMFbb72ln%2BganTt3DufOncO6devQsWNHzJo1K9%2BgeO/evXjhhRdyrYtsiYmJSExMxJ49e7BgwQJMnDgRw4YN86iepWk9F6Q4trNsDocDM2bMyHXxKzMzE9HR0YiOjkZUVBQWLlxY4HRNALB69WpMmzZNz/WQzbheX375ZYwZM8bjOnqDt/f9/AwcOFAPsDdu3OhxgL1jxw49uA4ODkb37t1Nz2uahvfffx%2Bff/65frHUyOFwIDU1FYcPH8a6devwxRdf4Lvvvrupz1IUNWvWNN3Pa/8FgKVLl%2BLDDz/E1atXTY/b7XZcu3YNp06dQlRUFPr374%2B33noL/v7%2BHtdj//79%2BOc//4mEhASPyqenp2PatGn45ptvcq1fp9OJ8%2BfP4/z589i2bRveffddrFq1Ks/s25mZmZg%2BfTpWrlyZK5t6amoqUlNTcejQIXz%2B%2Bed4/vnnC32c2bZtGyZOnKhfbMyWXcd169bh3//%2BN5544olCLdeXnE4nXn/9daxevdr0eFJSEpKSknDgwAEsWrQIc%2BfOLfSyjx49ismTJ%2BPw4cO5njMeQz/99FO8//77aN68ucfLdjgceOedd/DVV1%2BZHrfb7Th06BAOHTqE5cuXY%2BHChWjUqFGh6%2B4LQ4cOxYIFC6BpGg4cOIBTp06hYcOGBb7u/PnzpgujDz30kFfrtWbNGrzxxhuw2%2B2mx2NiYhATE4OoqChMnjzZq%2B978OBBvPrqqzh9%2BnSu565fv47Y2FisX78eLVq0wHvvvYfw8HCvvTeVfQywy7n9%2B/fj7NmzAIDKlSujS5cu%2BnMDBw7UA%2BxNmzZh8uTJ8PPzK9H6ybKM8ePHY9euXfpjgiCgUaNGqFy5MpKSknD69GnEx8fjySefxKRJkwr9HklJSXjllVeQlJQEAKhXrx5uu%2B02XLt2DcePH9dPgr7//nu8%2B%2B67%2BM9//pPv8n777Tc8%2B%2Byz%2BgkxAFSsWBENGjSAzWbDhQsXEBcXByArsBw9ejQ%2B%2B%2BwztGnTJs9l7tixAy%2B%2B%2BCJkWdYfq1atGurVq4fMzEycOHECDocDM2fORFBQUKHXQWFomoZXXnkFP/74I4Cs1uL69etDEAScO3fO7Wu%2B%2BOILvPvuu9A0TX%2BsZs2aqF27NjRNw%2BnTp5GamgoA2LNnD4YPH46oqKg8g%2ByLFy%2BaTs5DQkIQFhaG4OBgOJ1OnDt3Tv8%2Bb9y4gf/85z9wOp147LHH8v1spWk9F6Q4tjOj119/HWvWrAHw93csSRJOnjypn7wnJSXh6aefxqZNm/JtyV6zZg0mT55s%2Bv6rV6%2Bur9eYmBhkZGTg/fffR0BAQL71at68OWw2m35RBgBq1KiBiIgIt%2BXzC7y8ve8XpF%2B/fnj33XehKAri4uKwf/9%2BtG7dusDXbdy4Ub/du3fvXMfhDz74AJ999pl%2BXxAEhIeHo0aNGhBFEVevXsXZs2f1ixvugvCS4HQ6TffzahF88803sWzZMtNj4eHhuO222%2BB0OnHixAk9YdrGjRtx4cIFLFq0yKMLIGfOnMHbb7%2Btr4t69eqhRo0aetCeU2JiIp5%2B%2BulcF2DCwsIQGhoKVVWRmJio72uyLOe6iJTt6tWrGDt2LA4cOKA/ZrFY0LBhQ1SuXBlXr17FiRMnIMsy7HY7Zs6cidTUVEyYMKHAzwVk9Sh6/vnnoaoqrFYrGjVqhAoVKuDixYuIjY0FkPXdT58%2BHWFhYaYu%2BwAQGhqKzp07IzMzE3/88QeArG3p7rvvdvt%2BdevW9aheN0PTNPzrX/8yXcwVBAENGzZElSpVkJiYiNjYWMTFxRW6VXTPnj0YP368vi0BWb8lDRo0gNVqRXx8vN6T5uzZsxg1ahS%2B%2BOILtGzZ0qPlT548GevXrweQdX5Vr149iKKIkydP6heOEhMTMWbMGGzcuDHXMbRly5YIDAxEbGwszp8/DyDrO7r99tvdvl9hLgDWr18fnTt3Rlpamn7RLyAgIM/fh%2BxeGXXq1MHdd9%2BNX375BUBWi7on2%2BfXX3%2BtH/9btWqV52coiq1bt%2Bo9Ii0WCyIiIhAcHIxz587h4sWLALLOA1577TWIouiVBLu//fYbnnnmGdO%2Bnt1zTlEUxMTE6NvVwYMH8eijj%2BLLL7/MdSGlqN8DlQMalWv/%2Bc9/tIiICC0iIkKbMmVKruf79eunP//tt996tMzs8hEREdr58%2Bfdllm9erVeZsSIEXku6%2BOPPzYt75lnntHi4uJMZU6dOqWNGDFCi4iI0Nq3b6%2BXvffee/Nc7r333quXa9eunRYREaGNGzdOO3v2rKlcQkKCNnLkSL1s48aNtTNnzuS53ISEBH15ERERWt%2B%2BfbWffvpJUxTFVC46Olp78MEH9XJdu3bVrly54naZKSkppmW2a9dO%2B%2B6770zLvHLlivbOO%2B9oERERWvPmzbWWLVvq5X/99dc86%2BupOXPm6Mtr1aqVFhERod19993ad999p8myrJdTFEU7d%2B6c6bU7duzI9R0eO3bMVEZRFO3777/XOnbsaCqXl3Xr1mkDBgzQFi1alOv9sh09elR7%2Bumn9eU1b948z7KaVjrWs6f7RXFsZ8bvOHvZ99xzj/bDDz%2BYlut0OrUFCxZokZGRevnZs2fnWddz585pd955p162S5cu2o4dOzRVVfUy169f1z766COtSZMmHq9XY30nTJiQ5/vnVFz7vqeefPLJfI%2B5OV29elVr1qyZ/ppdu3aZnr906ZLWtGlT/fnXXntNu3TpUq7lqKqqHTlyRJs1a5b26KOP3vTn0DTzsX716tUFll%2B4cKHpNb///nuuMl9%2B%2BaWpzMSJE3P9jjgcDi0qKkpr0aKFXu7tt9/O8327dOmS6/j19NNPa6dPnzaVS01NNe0fTqdTe/jhh031mTBhghYbG5vrPZKTk7WlS5dqffr0cfu5NE3Txo8fbzoeLViwQLt27ZqpTFpamjZt2jTTe/7www9ul3f27Fm9TGRkpNa2bVutcePG2qxZs7SrV6%2Bayu7fv1/r3LmzXr579%2B6mfTCv5TZp0sRtmZu1cuVK/T1Gjx6dZ7moqCjTuhg1alSu9X/48GFt0KBBuc4Bevbsmedy4%2BPjtbvuuksv279/f23nzp251slff/2lDR482HRekfM7yzZr1qxcx5Zu3bppW7duNR1DHQ6HNn/%2BfNPnmjt3bp51NS530qRJeZbL6ZFHHtFft27dOrdldu3a5dH6Mtq8ebP%2Bmg4dOmgOhyPf8rIsm/bBVatWefwZ3Mm53Wev6wkTJmjJycmmsjt37tS6du1q2u/c7b%2BalrW/G7%2BThIQEt%2BUuX76sderUSS/XunVrbfXq1ab1kJGRoX322WemY3O/fv00u93udplF%2BR6obGOSs3LMbrdj06ZN%2Bn1jYrNsAwYM0G%2BXdLKzK1euYN68efr9e%2B%2B9F/Pmzcs1Lq1BgwZYuHAh2rRpo7eCFkZaWhr69%2B%2BPefPm5erCExoaivnz5%2BtXDVVVzTer%2BhtvvKG3rLZo0QKrVq3CPffcA1E070pNmzbFkiVL9G6ECQkJWLx4sdtlzp07V1%2Bmn58fFi5ciPvvv9%2B0zIoVK%2BLVV1/Fs88%2BC7vdnmcLijdcv34dwcHBWLJkCe6//35TZmBRFE3jnDIyMky9CkaMGIGPP/44V5diURTRq1cvLFu2TL%2BKv2PHjlxjbbP16tUL69evx6hRo/IcV9W4cWMsWLBAH6tlt9tzddUzKm3rOT/FsZ0ZpaWloWrVqoiKikLPnj1Ny7VYLBg7dixGjBihP5bfsWH27NnIzMwEAFSoUAGLFy9Gt27dTGPSAgMDMX78eEyePLlE16s3931PGY%2BpmzZtMvWWcGfz5s1wOBwAslr9O3ToYHp%2B165destwmzZtMHXqVFSvXj3XcgRBQJMmTfDyyy97tA0UB2O3dKvVmqsbdXx8PN5//339/sSJE/H222/nGkNvtVrxyCOPYMGCBfrxZ8mSJbhw4UKBdbh%2B/Tp69OiBjz/%2BGPXr1zc9V6lSJVSsWFG/v3jxYlNr86RJkzB9%2BnS3LbdVq1bFY489hm%2B//RbNmjVz%2B9l/%2BOEHAFm9KhYtWoSxY8fmarUMCQnB5MmT8eKLL%2BqPvffee6beH%2B5omoYrV67gzTffxMsvv5xrPHKrVq3w0Ucf6ftdXFyc3kpdWt24cQOzZs3S77dt2xaffvpprvV/xx13YPHixWjQoIHH5wD//e9/9VbkVq1aYeXKlejcuXOusbLNmzfH0qVL9d%2Bs%2BPh4j3LGpKWloXr16oiKikKPHj1Mx1Cr1Ypx48Zh%2BPDh%2BmN55ZAojbp3745q1aoBAC5fvowdO3bkW37nzp360LCgoCD07dvXa3XRNA1paWkYOnQopk%2BfjqpVq5qe79y5M5YsWYJKlSoByDoPmDFjxk2959y5c5GcnAwg67v85JNPMGTIEFOPHH9/fzz11FN499139cdOnjzps2MvlT4MsMuxbdu26T8w4eHhbrs9DRgwQP/B%2BeWXX/SulCVhw4YN%2Bom5n58fpkyZkiuAyGaz2TB16tQ8E0nkp2LFipgyZUqerw0KCjKN28mZdCRbTEyM3m3aarVi5syZCAwMzPN9AwICMGXKFP3%2B8uXLc51EZWRk6F3MAODxxx93e/KW7fnnn0e9evXyfN5bnn/%2B%2BVwnp%2B6sXbsWKSkpALIuhGR348pL/fr1MW7cOP1%2BXvN45rdejURRxL///W/9fl5J70rrenanOLYzd/7973%2BjVq1aeT4/evRo/Xb2WMWcUlNT8f333%2Bv3x48fn%2B96e%2ByxxzzufukN3tr3C6NXr156N/jLly%2Bbhr%2B4Y%2Bwe3r9//1zHQGNOA0%2B6mwMwXRQrKQsXLjTlCujcuXOu7XbJkiX6xYQuXbrg8ccfz3eZ7du3x4MPPgggKxnXihUrCqyHn58f3nzzzQLXgdPpNCXeuu%2B%2B%2B0zbfF5EUXQ7LMHYhX/8%2BPEF5jQZN26cfow9e/Ys9uzZU%2BB7ZydHy0uLFi1M%2B5c3tufitHnzZn04isViwdSpU/PsBl2xYkX897//9Wi5x48fx86dOwFknTvMnDkz36EpgYGBeOONN/T7nib2evXVV01Jx3Iybk9xcXFlJqu%2B1Wo1dbNetWpVvuWNz/fr18/j329PVa1aNd%2BhAWFhYXjhhRf0%2B9u3by/yur5%2B/brpgvLIkSPzHXbVr18/U5LMr776ymdDdKh0YYBdjmWPrwTMrSpGtWrV0jOqKoqCDRs2lEjdgKyMmNm6deuG2267Ld/yDRs2RNu2bQv9Pn379i0wE7LxAOouoQWQdUEgO3Dp3r27Rxkr77zzTr3lLHs8udHevXv1MbaCIODRRx/Nd3kWiwWPPPJIge97MywWCwYPHuxRWWPQ%2Bthjj8FiKTitg7EnRXbG0ZsRFhamZ0yOjY3NlTQp%2B31K23rOS3FsZzkFBwejX79%2B%2BZYJCwsztZS6W%2BaePXv01tWcJ2V5efjhhwss4y3e2vcLIygoyJSkLL9jamJioqkXh7vjtHE89rFjx266ft6Unp6O33//HS%2B//LKp1chqtZpOeLMZ10X2bBAFMa4TT44Xxta3/Ozbt8908aKo2bKBrER%2B2Um0rFarqeUyL6Ioon///vp9Tz6bJ4kcjRdhvLE9F6dt27bptzt27FjgRd2OHTt6lHDL%2BLvUs2fPArO1A1nrLbvcxYsX9dw1eQkJCUGfPn3yLVO/fn1Ti2tp/z6Mhg0bZmp8yR7rnFNycrJ%2BQRhAvheAimrQoEEFHseHDBmiB/aKohTY6p6XX3/9VR9bLQgCRo4cWeBrjBdS4uPjcfz48SK9N5UvDLDLqUuXLmH37t36fXfdw909V5LdmIytHcZpevLjaTkjT7KjG69CX7t2zW0ZY3e7wtTDmPQiZybTv/76S799%2B%2B2353s1PNs999zj8XsXRcOGDfXuVvmx2%2B160g7A83Vy22236d00U1JS3GYdN0pOTsa6deswffp0vPLKKxg3bhyeeuop0192l2NN09xeuS6N6zkvxbGd5dS0adMCp6QBzPuFuwsXxn24cePGCAkJKXCZRdmHi8pb%2B35hGYPCbdu2ISMjw2257777Tm/taNCgAZo2bZqrjLGnxc6dOzFjxgy330VxmzhxIiIjI01/bdq0wYgRI0xdwyVJwrRp03J1Dz9z5oze7VIQBLRr186j9zVu19nT9eTH0yR/xv0sPDz8pqbmMy6radOmHk8nVZh9FoBHvT8K2mdLE%2BNxuXPnzh69xpPj8r59%2B/TbhTneRBgSKRa0rTVr1syjC8rGhgNvHV9KQlhYGDp27Agga/iMscHGaN26dfowmIiIiELNZOEpY3LevAQEBJgaYNzNvOEJ4zbZqFGjfHt5ZWvTpo1pnz948GCR3pvKF2YRL6fWr1%2BvZ8g1tm6506dPH0ydOhUOhwMnTpzA4cOH3Z7oeVNmZqZpLFWDBg08ep2n5Yw8ac0wdvnL62Q4JiZGv/3111/n2R05J2N22pzjx4xZuT2dxqNevXqwWq25MvZ6i6dzSZ49e9ZUh7feesvjrqnGqTZSU1Pd9l5ITEzEO%2B%2B8g%2B%2B//z7XdDf5cXcSUxrXc16KYzvLyd0YXneM3Sqzh3MYGbuNe7pv1q5dG/7%2B/m6X523e2vcLq3PnzqhUqRLS0tJw48YNbNu2zdRamc3YoptXL6M2bdqgWbNm%2BsWshQsXYunSpejUqRM6duyIVq1aoWnTpj7pFp5T8%2BbNMWnSJLdd2Y3btcViwfjx4wu9/Ozx%2B/l1QfX0%2BHXmzBn99s3%2B3p08eVK/HRcXh6eeesqj1xlnSvBkbLEn23NB%2B2xpYbfbTRdDI/KYJSAnT7JTG7%2BPlStX6mPjC2JseSzo%2B/DkuwCK5/hSUoYNG6Y31KxevRrPPvtsruE2xjm7i6P1GvD8N/v222/Xe0ZmZ9UvLOO5gqfbpCAIiIiI0C/s5DXbCt1aGGCXU%2B7mvs5LxYoV0bVrV/1HaO3atcUeYOcMgoyJZ/LjacuAkSctdQVRVdXUGuBJS4o7OT%2B3cZmetBoDWS1EwcHBRUr45glPp6fKOcetJ2MI3XEXEMfExGDkyJG4fPlyoZeXPcbTqDSuZ3eKazvLqSj7hLtx3cb38XQfBrL245I4%2BffGvl/U973//vv1HAMbNmzIFWCfOXPG1GqZV4AtCALmzp2LMWPG6EGq3W7Hjh079G6QwcHBuPvuuzFkyBB069atGD5R1smmcQoZQRAQGBiIkJAQNGrUCO3atcu3Fdh4vHA6nfo0QIV17dq1fANsT49fxnmk85ou0FPGz5acnFykz2acjs8dSZIKfRHFk1wMvpJzHm9Pj8sFlZNl2bQuPekZ4E5JHUNLs549e6Jq1apISUlBXFwcfv31V71VG8jquZF9ocpmsxV4rllURdk2itp7w/i67KFnnjCWLe09R6hkMMAuh6Kjo01XcD/88EN89NFH%2Bb7G2KK4ceNGTJgwoVhPTov6Q%2BOrH6jMzEyvJK7IWX9j62hh1ndh5sMsrLwSzeXkravxOderoih46aWX9OA6%2B4e7W7duaNiwIWrUqAE/Pz/T%2Burevbs%2Bn6k7pXE9u1Nc21lpU9rr5w0DBgzQA%2Bxdu3YhNTXVdBJmbL1u1apVvi2vtWrVwtq1a7FixQqsXLky15zN6enp2LJlC7Zs2YKWLVvi/fff97gl11NPPPHETc0v663M8QVtO54mwjReiLvZ/dwbx8JbLTGSp3Om51TQd1Vcv0u3IqvVisGDB%2BsJ/FatWmUKsI2t17179/Y4EC4MQRA86ooPmLcNdxfaPWF8XVHPFYr63lS%2BMMAuh3KOoy7suJ/U1FT89NNP6NmzpzerZZKztcvTK34FXeUvLoGBgabuwkuWLPF4DGF%2BjIk7shNreKIwZYuLsTeBxWLBwYMHPf4hzM%2BOHTv0C0RWqxWLFi0qMHtyQeujrKzn4trOiotxGyjMVXtf7cclqU2bNqhTpw7i4uLgdDqxadMmU3K9b7/9Vr%2BdV%2Bu1kc1mw8iRIzFy5EgkJCRg79692LdvH3bv3o24uDi93J9//onRo0dj7dq1Ho2JLynGY354eLgp%2B7wvGOtzs2NjjcsaOnQopk2bdlPLuxXkTFrl6bG2oHJBQUEQRVEPkL/66iuPx%2BVTbsOGDcPChQuhaRp%2B%2BOEHpKWloVKlSkhPT8fmzZv1csbZGLxJ0zTcuHHDo54pxm2jKL0dc76uML//xt%2B0wvTmovKLSc7KGafTaZr2paiKe05sf39/U2uOp9k1fZmF01jfoo7vycnYNTG/FlijtLS0UhGgGLOjyrLscf0LYpzWqH///gUG1xkZGc4VJuIAACAASURBVAUGd2VpPRfHdlZcatasqd/2dN%2BMj48v1WNDvcnYLdx4XP7rr7/0LMUWiwX3339/oZZbs2ZNPPDAA5g6dSq2bduGNWvWoFevXvrz8fHxWLp06c1V3suM%2B%2BCFCxd83spjHEN7s/uZ8bOV9n22tKhQoYKphdDT47LxYpI7oiiWqWNoaRceHq4ninM4HHrPm2%2B//VbvLRAWFoYOHToUWx2Ksm0UddiH8XUFbWtGxnHXhelaTuUXA%2Bxy5scff9THg9lsNuzbtw/Hjx/36M94Qvbjjz8W%2B9jT5s2b67eNU9XkxxvTOhWVMYNrUccb52TMtHv06FGPknkVNTumt4WHh5t%2BSLy1ToyJs4zbSF4OHjxYYHe%2BsrSei2M7Ky7G7%2BfYsWO5xlW64%2Bm%2BbuzqW1a7lBvHJO7fv18/UTR2D%2B/cufNNjwFu2rQp5s6da8qYXND82yXtzjvv1L9Tp9NpyvTsC8b9LDo6%2BqYu%2BhiX9eeff3qtO3xxMQ4D8tW%2BJYqiacy%2Bp8dbT8q1aNFCv13aj6FA8X4f3jiOGqdWzJ7z2jj39UMPPeTx0Iyi8HTbMM5qUtQ8QsZzhcOHD%2BsZ0vOTmppqCrDdvXd5%2BD2jwmGAXc4Yu4d37ty5wLkDjdq0aaNnF3Y6naYujMWha9eu%2Bu0dO3YUOF3TqVOnTNOhlLS7775bv71161YkJSXd9DKz5yAHslpMPTkpNk6J40uCIKBTp076/RUrVnhluYXN2u1Jb4uytJ6LYzsrLh07dtRboZxOp0fT/Hm6nRgTWZXVFu%2BGDRvqJ2yapmHjxo1QFAWbNm3Sy3jSPdwTgiCY5t9OSUnxynK9pXLlyqYTz%2Bzx6b7SoUMHPbC5ceNGvvOVF6Rdu3b6fuBwOEp0usuiMGYaV1XVZ70JjMflLVu2FHjhMz09HT///HOByzVO%2BfXDDz%2BUun0hJ%2BP3YcyH4w3eOI727NlTvwh4/PhxrF69Wg96JUnC4MGDb76i%2BfDkt/jkyZOm3BRFHRZQlHOFb7/9Vr/Ib7FYTBd4spWH3zMqHAbY5cjly5dNPz733XdfoV4viqKpm2FxnyQMGDBA/2Gx2%2B2YMmVKni2RDocDr7/%2Buk8TjwwcOFBvsc2u781eiWzYsKHppHPOnDn5nmScOnUK69evv6n39KbRo0frt48cOYJFixbd9DKNmYr379%2Bfb9mDBw96tD7K0nouju2suFSuXBm9e/fW78%2BbNy/fKUqWL1%2BOAwcOeLRsYxfe8%2BfPF72SPmYMoDdu3Ihff/1Vv2gSGBiIHj165Pv6wnz3xpbT0jT%2BOpvxePH99997PAVdcQgNDTXlGZk9e3aRA7GQkBA88MAD%2Bv05c%2BZ4bchMcahUqZKpe7av9i/jOrtw4UKBF9/mz5/vURKzBx54QN/%2BMzIy8Oabb95cRYuZcdpEb0/xZDyOpqSkFCmviM1mM31XU6ZM0W/fc889bqfZ9KZffvmlwMaVWbNm6bdr1qxZ5C7rERERpp5ZH3zwQb6t2NeuXcPHH3%2Bs3%2B/Ro4fbLuLe%2BB6obGGAXY5s2LBBb/2zWq0Fnri506dPH/12dHS0ae5SbwsJCcFzzz2n39%2B2bRv%2B8Y9/mLoIA1nT2YwZMwa///67T8e2BAYG4oUXXtDv//DDD/jXv/5V4Djda9euYenSpXj55ZfdPj927Fj99qFDhzBlyhS3B/SLFy/iueee86jLUklp0aKFafzou%2B%2B%2Bi4ULFxbYEhEfH48ZM2aYfpiytW3bVr%2B9efPmPLv4HT58GM8%2B%2B6zHc2SXlfVcXNtZcXn55Zf1C2VXrlzBqFGj8NNPP5kCwxs3bmD%2B/Pl488034efnl%2B80S9mMF0SOHDni0%2BEhN6Nfv356S%2BmJEyfw4Ycf6s/16tXL1HrlzltvvYWZM2fmOi7mFB8fj6%2B%2B%2Bkq/b2yJKS369euHO%2B%2B8E0DWhYN//vOfHrUcnzx5Eq%2B99prXc4M8//zzevbflJQUjB49Ot8AR1EUbNiwwW2%2Bgeeee04P6tLS0jBq1KgCp4hSVRW7d%2B/GU089VaJz51osFtMcv4sWLfLJxevGjRubWpunT5%2Be5/H%2Bm2%2B%2Bweeff%2B7RcoOCgvCPf/xDv79582b83//9X4FBzdWrV7F48WK88sorHr2Ptxi7JUdHR3u1p17t2rX17N6qqmLJkiVFWo6xm7ixlb24kpvl9NJLL%2BHUqVO5Htc0DXPmzDFdrHv66ac9ng3FnXHjxum3jxw5gkmTJrnt5XHt2jWMHz9ev2AqSZLpPMPIW98DlR3MIl6OGE8%2BOnXqVKQsim3btkW1atWQnJwMIKsV%2B//%2B7/%2B8VsecnnzySfz66696N5ytW7di27ZtaNSoESpXrozk5GT9oBoSEoJXX30VEyZMAOCbOW4fffRRHDx4UF/XGzduxM6dO9G/f3%2B0adNGv0p55coVxMTE4M8//8Tu3bvhdDrddhsCsi5qdO/eXf%2BBWLFiBf766y8MHToUDRs2hN1ux759%2BxAVFYWrV6%2BiVatWSEhIwMWLF0vmQxdg2rRpiImJwcmTJ6EoCmbMmIEVK1agX79%2BaNq0KSpVqgSHw4GUlBQcO3YMv//%2BOw4ePAgAGDNmTK7l9e3bF7NmzUJSUhJkWcaYMWPw0EMPoUuXLggJCcGlS5fw888/Y8OGDZBlGZ07d8apU6cKDEDK0nouju2suISFheG///0vJk2aBE3TkJCQgLFjx6JGjRqoV68e7HY7Tpw4obc8TZo0CZ9//rne2prXtDsNGzZEkyZNcPToUWiahlGjRiEyMhI1a9Y0zQc8depUU8K90ua2225D%2B/bt9cAhe9sHPOsenp6ejiVLluDTTz9Fq1at0K5dO0RGRqJKlSqwWCxISUnBH3/8gTVr1ugXYYKCgjBy5Mji%2BUA3QZIkzJkzBw899BCSk5ORkZGBf/3rX/jiiy9w3333ITIyEsHBwcjIyEBycjKOHDmCPXv26LMKeHvbjoyMxKRJk/DGG28AyArk%2B/bti379%2BqFTp04IDQ2FqqpITEzEwYMH8cMPPyApKQnLli1DgwYNTMuqVasW3nvvPf3iXFxcHB588EF069YNXbp0QXh4OPz9/ZGeno74%2BHhER0dj586d%2Bsl5SfdS6d%2B/v34BYMWKFdi%2BfTsiIiLg7%2B%2BvlxkwYEChE/AV1uuvv44HHngA169fh91ux5NPPomBAweie/fuqFKlChITE/Hdd99h27ZtALJ%2BHzzpMjxy5Ej8%2BeefenLB9evX4%2Beff8aAAQPQunVrVK1aFZqmmY6he/bsgdPpLDCxprdFRkYiIiICJ06cgKqqGDFiBCIiInId6956660iNTL0799fz7Eze/ZsrFy5EvXr14efn59e5vHHH893xop69eqhXbt2phwa1atXR7du3Qpdn8KQJAk9evTA999/jyFDhmDYsGHo2LEjgoODERsbi7Vr15ryObRs2dI0W0NR9OzZE4MGDcI333wDIOvizqFDh/Dwww8jMjISiqIgOjoaUVFRpvODZ555Bs2aNctzud74HqjsYIBdThw/fhxHjhzR7xe2e3g2URTRs2dPLF%2B%2BHEDWj9I///lP00HemywWC/73v/9hwoQJ2LJlC4CsE42c87zWrl0bc%2BbM0edGBoo%2BDcPNeuedd1ClShX9avqVK1ewbNkyLFu2rMjLfP/99/HUU0/p3WePHj3qtltbaGgoZs6cWapOnoODg7Fs2TK89NJL2L17N4CszK3z5s0r0vL8/f3x3nvvYcyYMXA6nXA6nYiKinI7ZvP222/He%2B%2B95/FV9LK0notjOysuQ4YMgaqqeOutt/TA%2BdKlS7h06ZJeRpIkvPTSSxgxYgTmz5%2BvP57ffjx16lQ8%2BeSTepb47ISMRpMmTfLmRykWAwYMyNUyV7VqVVMOg4Jomob9%2B/cXOGwiMDAQc%2BfONWV4L01q1qyJlStX4tlnn9W/y8OHDxfY2ltchg8fDkmS9B4tTqcT69atK1JredeuXfHZZ5/hpZdeQlpaGjRNw44dO7Bjx45iqPnNGTFiBLZv347ff/8dAJCUlJQr30N%2BwYK31K1bF/Pnz8fYsWORmZkJVVXzXP9DhgzBgAEDPM6PMWPGDFSrVg1ffvklgKyeBUuWLCmVrYfTpk3DU089hWvXrkHTNLfHuv/%2B979FWvYLL7yAPXv26I0V8fHxuYYweHLO%2BPDDD5sC7MGDB3tlas6CTJs2DadPn0ZMTAwWL16MxYsXuy3XsGFDzJ8//6Zar43vabfb9anITp8%2BjXfeeSfP8o8//rip55k73voeqGxgF/FywvhjZLFYitQ9PJuxm/ilS5eKPRttQEAA5syZg08//RR9%2BvRBaGgorFYrqlatipYtW2LixIlYt24dmjVrZgqwfdVdXBRFTJgwAStXrkTXrl3z/YERBAFNmjTBiy%2B%2BaOoamlNQUBAWLVqEMWPGmFoQskmShJ49e2LNmjWoXbu2Vz6HN4WEhGDhwoWYPXs2mjRpkm9Zm82Gjh07Ytq0aaauWEYdO3bEkiVLTN0YjQICAvDII49g1apVhcrAXJbWc3FsZ8XpoYcewsaNG/H000%2BjUaNGCAwMRFBQEBo2bIjhw4djzZo1GDt2LGRZNmUbz28/bt68OTZu3Ihx48ahZcuWqFSpUomc0HnbfffdZ2qlALJa4jy5cDls2DA8%2BOCDCA0Nzbecn58f%2Bvfvjw0bNpgS5ZVGtWvXxtdff43XX38d4eHh%2BZYNDAxE9%2B7dMXv2bAwaNKhY6jNs2DCsX78evXr1yrdnVLVq1fD444%2BjUaNGeZbp2LEjNm3ahKefflrvEpqX6tWr48EHH8TSpUsLXA/eZrPZ8OWXX%2BLtt99Gt27dEBoa6vaYWBLat2%2BPNWvWmIYHGVWuXBmvvvpqvgGOO5IkYeLEiVi%2BfDm6dOlS4DG0adOmeOmllzB79uxCvY83tGjRAhs3bsQzzzyDFi1aePVYFxISgtWrV2Py5Mno1KkTqlevnmfPofxERkbqtwVBKLHu4SEhIVixYgWGDBnidv%2B0Wq14%2BOGHsXLlypuekSGbzWbDBx98gHfffRdhYWF5lmvcuDE%2B%2BeQTTJw4scBM6t76HqhsELTSmj2HyI2pU6fqXWzGjh1b4mOl3ElPT8e%2BffuQkJCAK1euQBRFVKxYEXXr1tW7chZ2eXv27EFcXBw0TUNoaCjatGlT7IlEvCkxMREHDhxAcnIyrl27Bj8/P1SuXBn169dH48aNPT6R0zQNhw4dQnR0NK5evYqKFSuiZs2aaNeuHYKCgm6qjmVtPXt7O/OV6OhoPPjggwCyAoxffvnFxzUqOy5cuIATJ04gPj4e165dgyAICA4ORoMGDdC8efNCzRpRmsTGxuLQoUN68p/AwEBUrVoVDRo0QERERIkOB0pPT8fvv/%2Bu72c2mw3Vq1dHREQEIiMjCzUdkaqqOHz4ME6ePInU1FQ4HA4EBwcjNDQUt99%2BO%2BrXr1%2BMn6RsOnPmDPbv34%2BUlBQEBwcjLCwM7du390ogYjyGpqWlQZIkVKxYEeHh4YiMjOT8xQWYNWsWFixYACArc35x9QSIjY3Vk2dKkmTqnXn58mX89ttvuHjxIhRFQc2aNdGpU6cCL2bdrGPHjuHIkSNISUmBKIqoVq0aWrZsWeIXxqjsYIBNZUZmZia6deumz889b968m2qpJ6KSN2XKFD0ZV69evfDRRx/5uEZERJQfp9OJe%2B%2B9Vx9G8P7773ttisGc8guwicoKdhEnn/PkGo%2BmaXjzzTf14LpatWq45557irtqROQBT6/T7tmzxzQVT3HPn0pERDfvm2%2B%2B0YPrKlWqcKwwUQHK3mA2KnfGjx%2BPxo0bo0%2BfPm7H3EZHR%2BPDDz80zfE9ZswYn2QRJ6Lcvv76a%2BzatQuDBw9Ghw4dco03Tk1NRVRUFObNm6dPq9a0adNiz0BLREQ3JyYmxjTP9KhRozh2mKgADLDJ55KTk/G///0P//vf//TxUBUqVEBGRgbOnTuHlJQUU/muXbti9OjRPqotEeUkyzI2bdqETZs2wWq1Ijw8XB8TnpycjDNnzphauStVqoQZM2YU2%2BwERERUNKqq4vnnnweQNT98dHQ0ZFkGkDXDRmmaxYSotGKATT5nnFLh6tWrOHTokNtykiRh2LBhmDx5cqESzRBR8TLuw06nEzExMXmWbdKkCWbNmpVrHmEiIvI9VVX1eceNbDYbZsyYUWaTKRKVJAbY5HOffvoptm/fjr179%2BL48eOIj49Heno6gKyWrjp16qB9%2B/Z44IEHmHWVqBQaOnQoGjRogJ07d%2BLgwYM4d%2B6cKWty9pR7PXr0QI8ePXiBjIioDBBFEZUrV0bbtm3x7LPPonHjxr6uElGZwCziRERERERERF7ALOJEREREREREXsAAm4iIiIiIiMgLGGATEREREREReQEDbCIiIiIiIiIvYIBNRERERERE5AUMsImIiIiIiIi8gAE2ERERERERkRcwwCYiIiIiIiLyAgbYRERERERERF7AAJuIiIiIiIjICxhgExEREREREXkBA2wiIiIiIiIiL2CATUREREREROQFDLCJiIiIiIiIvIABNhEREREREZEXMMAmIiIiIiIi8gIG2ERERERERERewACbiIiIiIiIyAsYYBMRERERERF5AQNsIiIiIiIiIi9ggE1ERERERETkBQywiYiIiIiIiLyAATYRERERERGRFzDAJiIiIiIiIvICBthEREREREREXsAAm4iIiIiIiMgLGGATEREREREReQEDbCIiIiIiIiIvYIBNRERERERE5AUMsImIiIiIiIi8gAE2ERERERERkRcwwCYiIiIiIiLyAgbYRERERERERF7AAJuIiIiIiIjICxhgExEREREREXkBA2wiIiIiIiIiL2CATUREREREROQFDLCJiIiIiIiIvIABNhEREREREZEXMMAmIiIiIiIi8gIG2ERERERERERewACbiIiIiIiIyAsYYBMRERERERF5AQNsIiIiIiIiIi9ggE1ERERERETkBRZfV8CXNE3D5cvXoaqar6tyyxFFAVWqBHH9%2BwDXvW9x/fsW17/vcN37Fte/73Ddl5zq1Sv4ugpEt3YLtiAIEEXB19W4JYmiwPXvI1z3vsX171tc/77Dde9bXP%2B%2Bw3VPdGu5pQNsIiIiIiIiIm9hgE1ERERERETkBQywiYiIiIiIiLzglk5yRkRE5YEDgnAFongFgnAFgnDVdf8qBOE6NE1A1vVkEaIoAgiAzeaExQJomghAcP2J0LRgaFoVqGplqGoVaFplADYffjYiIiIqSxhgExFRKaRCFC9CFM9Dks65/mf9CcJlVzB91RVQZxZ66UFBnpfVtGA92P77f2WoajUoSjhUtR4UpR5UtSYAqdB1ISIiovKDATYREfmEIKRBko5BkmIgSef0AFoUz0MU4yAIzkItT9MCoWlBrlboQNd/fwAaBEFz/QcsFgGyLEPTNAAqAM31p0IQMiAI11zB%2BzUIggZBSIckpQM4V8D7W6GqdaEo9aEo4VCU7MC7HhQlHJpWqUjriYiIiMoOBthERFTM0mGxHIMkHYPVesQVVB%2BBJF3I91WaJkHTqkFVb4Oq1oCqVoeqVoOqhgAIcgXT2X%2BB8KT1WJIEVKgQgIyMDChKQfPRqhCE6zkC7qw/Ubzm6oae6GppvwhBcEKSTkGSTrlfmlodstwUitIUTmdTKModkOUmAAIKrDcRERGVDQywiYjISxRIUgwslj9hsRyBxXIUknQUkhSb5ytUtToUJQyadhsUpboriK4BVa0BTasK33a5FqFpFaBpFQDUKqCsAkFIgSRddAXciabgWxRTIYpJsNl%2BBPAjAlwxtaaJUNUGkOVmkOU79P%2BqWg/MQ0pERFT2MMAmIqIiUCFJp2CxHIDV%2BicslgOwWA5CENLdl1Yr612lFSUMilIXihIOoBCDoUs1CZpWA7JcA8Cdbp7PcHWBPwtJioUkxUIUT0MUr7i6yMfAz2%2BdXlrTgiHLd0KWW8PpzPpT1frISsZGREREpRUDbCIiKoAGUTwDq/UALJY/YbUegCT9CVG8mruk5gdFud01DjnMlQSsLjQtxAf1Lk0CoCgRUJQIw2MaBCHVEHSfhSSdhSjGQhDSYbXuhtW6W2/tVtXKkOVWcDpbQ5az/lS1oJZ1IiIiKkkMsImIyEQQUmGx7IPV%2Bjus1n2wWH6HKKbmKqdpNihKQyhKIyhKA8hyI6hqGJhJ21MCNK0KZLkKZLm14XEFohgHi%2BWEa0z3SUjSKYhiKmy27bDZtuslVTVUD7idzraQ5da8mEFERORDDLCJiG5pTlgsh2Gx/OEKqP%2BAJJ3MVUrTrFCUBq5guiFk%2BXaoal3wZ6Q4SFDVcDgc4QB6uR5zulq4T8JiiYEknYAoxkIUL8LP7zv4%2BX0HANA0AYoSCVm%2BC05nWzidd0FRmoDfExERUcngLy4R0S1Dc7WM7oPV%2Bges1j9gsRyAIGTkKqkotaEojSHLEVCUSChKPQDWEq8xZbO6Lm40gsOR/VgmJOk0LJaTkKQTsFiOQxQTYLEcg8VyDP7%2BSwEAmhbk6lp%2Bl6uV%2By7XnN1ERETkbQywiYjKKUG4CotlvymgFsXEXOWyEmpFulo%2Bs8YJs5txWeAPRbkDinKH/kjW3OLHYbFkBdySdByCcB1W6y%2BwWn/RyylKLchyGzidbSDLbSDLLfmdExEReQEDbCKicsHpmhoru2V6nyu4Ms/1rGmSa1qoCL11WlVrg1NClQ%2BaVgmy3B6y3N71SPZ47uOuMd3HIYpnIUkXIEkX4Oe3QX9t1jbRxjWmuw1kuTkAP598DiIiorKKATYRUZljdwXTB2GxHITV%2BickKRqCYM9VUlVDXa3T2QF1QzBoupX8PZ7b4ejteizDNcXaCde85cchihddrd4n4O8fBSB73H1zOJ2tXFOG3QlZbgrA32efhoiIqLRjgE1EVKrdgMVyyBVIZwXUknQEgiDnKpk11jZnV%2B9KPqgzlW4BUJRmUJRm%2BiOCcMU1jjtrPHdWErUrriEG%2B/Vymia5LtbcCVlu4frfHJpW2RcfhIiIqNRhgE1EVCo4IUmnIUnHYLEchcVyDJJ0BJJ0AoKg5iqtqhVd803f7srufTtU9TawqzcVhaaFQJbbQpbbZj8CUUx0BdunXdOFnXIF3UdhsRwFsEJ/vaLU1YNtWb4DitIYitIATIxHRES3GgbYREQlygngKKzW/bDZjrgC6WOQpJMQBKfbV6hqZX16rKwpshpC06oDEEq05nQrEaCqoa55tu9xPaZBEFJcAfdpWCxnXEF3AiTpHCTpHPz8NupL0DSL6wJQJGQ5EprWBEArAHUA2HzwmYiIiIofA2wiIq9LhyTFuuYt/vsvK7nUaQBOBAfnfpWm%2BUNRwqGqdaEodaEoYVCUhtC0KiX%2BCYhyE6Bp1SDL1SDL7WB3DfkXhHSI4hlYLKchSWcgilnBtiBk6FOG%2BRmG/VeqJEJV6%2BvDGBSlPhSlHhSlPlQ1DDw1ISKisoy/YkREhaJCEFIgihchihchSQmuwPmsHlSLYlIBywhwBdB/B9KqWheqWh3s4k1ljaYFQ1GaQ1GaGx%2BFICS7WrbjIEnnXX/nIAhX9S7nwKYcy5JcF5jq5Qi8s/5rWsUS/WxERESFxQCbiAhOCEIaRDENgpAKUUwyBNCJEIRE1/%2BLEMVLbhOM5aRpFaAoNfVutqpaA6oaCqA2goPr4sYNOxRFK3A5RGWTAE2rDlmuDlluAwCQJAEVKvgjPT0BQCxEMQ6SdMG1r12AKCZAEJyQpDOQpDMAduRaqqqGQFVrQ1XrQFFqQ1VrQVHquB6rDUWpDSCwRD8pERGREQNsIirDHBCE627%2B0iEINwy3013Bc5orkE413E6DIFwv9DuraiVoWhWoahVXAH2b6y/rtqa56QOOrCCDrdR06xKgaZWhKJUAtMjxnApBuGzoGZLoCr4TXP/TIIpXIIpXABzJ8x1UtTJUtY4r4M6%2ByPX3f0WpCU2rBu6HRERUHBhgE1Ex0WAOgG8YAl9jAHzdFeDegChmAMhwPZep/wduQBAy9MeyylzPMylYkWusBUHTgg3Bc2WoahVoWiWoamU9oM6a%2BoqHTyLvEqFp1aAo1UxTiP3tBkQx2dXDJFn/E4Ts25cgCJkQxVSIYiqAQ3m%2Bk6ZZXBfEjL1MakJRarkey/rTtBAwmSARERUGzxCJyAMZri6cSXrrb0H/s/68GwDnRdOs0LQAAP7QNH/X7QDXbX8A/lDVYGhasB5E5/4LAiCVSH2JqCgCXbkK6ubxvOa6eJdsCMBTIYqXXS3jlyEIKRCEVAiCDEmKhyTF5/uOmhaoB9tZreG1DIF4GBQlHJpWFQzCiYgoGwNsoluaBkG44gqeL7jGQ/79P%2Bsv3tUadBPvYgqAA/Sg1xgAZ932g6bZAJj/a5qf67af4bG/X8e5dokoq/t5BWhaBahq/XzKKa5cC5ddCQtTIYophkA8xdUyfg2CcENPyGbN4zCjaYF6osK/kxaGQVHqui4IcH56IqJbCQNsoltCduKg47DZTgA4hQoVDrvmXk73aAlZwW8VqGoFV4tvhVwtwNmPZbcWA4GuAJiHGiIqLSS9K3r%2BMg1Bd3KuAFwUL7kC8RuwWI4DOO52KZpmc2VDz5qWTJYbuea1j3ANNyEiovKEZ71E5UomLJbjkKSsv79vn87VXdti2PtVtSI0rSpUtRo0rSoUpZormP77sayAmd0giehW4Q9VrQWgFhQlrzJO19CZS66kbEmG%2BxchCMkQBAcslhOwWE7kerWq1oCiNHLNCd7IFYBHQFXDweMtEVHZxACbqAwTxXhYLL/BZtsLi%2BU3WCwH8xz3rGn%2BUJS60LQwWK31kZERCqezNlS1BgD/kq04EVG5YHWNy66Vx/OKq7X7gmtasnhIUhxE8byhFfwSrNZdplepaggUpQWczpaQ5RaQ5ZZQlIZgV3MiotKPATZRmeGExfIXrNa9sFp/g8XyGyQpLlcpVa3oGvcXBkWpA0UJg6KE%2B9UztQAAIABJREFU6dPSSJIAqzUAspwBVeU8zERExUfSp/ADWuV47gYkKT5H4J39dwWi%2BDOs1p/10ppWAbJ8J2Q5O/BuCUVpBCZnJCIqXRhgE5VaTlite2CzbYPVuhcWywEIQoaphKaJUNUGkOUmkOVIKEoT14kcuxYSEZVuga5u4Y3gNHU8kiGK52CxxECSTkOSYiBJpyAI12C17oLVugsBAVklNS0QstwKDkcnOJ2d4XS2AxDkg89CRETZGGATlSKCkAKb7Xv4%2BW2B1boNonjF9LyqVoSiZAfTjSHLEQACfFNZIiIqBhaoagM4HA0MjykQxfOQpBhYLGcgSSddQfcNPegG3oOmWSDLrVzB9t1wOjtA0yr66oMQEd2SGGAT%2BZQGSToCm20z/Pw2w2L5DYLwd7dtVa0EWb4LstwMstwYqlobHINHRHSrkaCq9aCq9Qyt3YorD8cR198h13ju32G1/g5gNjRNdI3lvhuK0hlALwB%2BPvsURES3AgbYRCUuEzbbz7DZNsNm2wJJOm96VlFuh9PZFk7nXVCUCDCgJiKi3CSoal04HHXhcPQBoEEUE2GxHDIE3AmwWA7AYjkA4CMAAipUaAO7vTccjt6Q5ZbgbwwRkXcxwCYqESqs1j3w9/8Kfn7rIAjX9Gc0zQZZbg2n8y44nXdB06r7sJ5ERFQ2CVDVUDgcoXA4emU9IiTDYomGxXIYVushiOJ5WCx/wGL5A0FBb0NVb4PD0Qt2e284nfdC00J8/BmIiMo%2BBthExUgUT8Pffzn8/ZdDks7qj6tqdTid7eB03gVZvhOcJouIiLxN06rB6ewGp7MbHA4BFSqkIzNzFyTpD1gs%2ByCKifD3Xwp//6Wu8dsdYbffB4fjPlcPKibMJCIqLAbYRF4mCFfg57cO/v5fwWrdoz%2BuaYFwOrvAbu8ORbkD7JZHREQlqzqczvuQmdkbWVM/RsNi2Qer9Q9I0nlYrTthte4E8BoUJRwORx/Y7Q/A6ewATgdGROQZBthEXiHDat2BgICvYLN9C0HIBABomgBZbg2Ho7vrBIUt1UREVBpYIcutIMutkJn5NETxAiyWP2C17oPF8hckKRYBAQsQELAAqnob7PYBsNsHw%2BnsBAbbRER5Y4BNdBME4RICAj5FQMAiiOJF/XFFqQuHowccjm7QtGo%2BrCEREVHBVLUWHI6BcDgGAsiExfInbLZfYbXugSgmIiDgMwQEfAZVrZEj2OapJBGREY%2BKREUgSYcQGDgPfn6rIAgOAFlzVGeNc%2BsORbkdHLtGRERlkz9kuQNkuQOA8bBYDsJm2%2BUKti8hIGAhAgIWQlWrwW4f6OpG3hk8rSQi4pGQqBBU2GxbEBAwDzbbT/qjstwEdvtAOJ0dAVh9Vz0iIiKvs0KW74Is34W/g%2B3dsFh2QxSTERDwOQICPoeqVoXdPhiZmQ9DltuBF5mJ6FbFAJuoQNfh778MgYHzIUmnAACaJsHp7Ay7fSAUpbGP60dERFQSLJDlNpDlNgCehcXyF6zWXbBad0MUU/Ru5IrSAJmZw2C3D3P16CIiunUwwCbKgyjGISDgE/j7fwlRTAMAaFoQ7PY%2BsNv7Q9Nq%2BLiGREREvmKBLLeGLLdGRsZzrjHbP8Fq3QVJOo2goOkICpoOp/MuZGY%2BDLv9QeYkIaJbAgNsohwk6RgCA9%2BDn98aCIICAFCU2rDbB8Lh6AEgwLcVJCIiKlUkQ8v2c7Ba98Bm%2B0mfAsxq/QPBwRPhdPZ0Bdt9wd9SIiqvGGATuUjSCQQGToef32oIggYAkOUWyMwcCFluC05LQkREVBB/OJ33wum8F4JwGVbrTthsP8JiOQGbbTNsts3QtAqw2wciM/MxVyZy0deVJiLyGgbYdMuTpJMIDJzhygiuAgCczruRmfkwFKWhj2tHRERUNmlaFTgcg%2BBwDIIonoPN9hNsth0QxUT4%2By%2BDv/8yKEp9ZGYOR2bmcKhquK%2BrTER00xhg0y1LFE8hKGgG/PxWGALrjsjMHM7AmoiIyItUtS4yM0ciM/MxSNIR2Gw7YLP9DEk6g6CgtxEU9DYcjnuQmfkY7PaBAIJ8XWUioiJhgE23HFE8g6Cg9%2BDnF6WPsXY627sC60Y%2Brh0REVF5JkJRmiEjoxkyMsbAat0NP7/tsFgOwGb7GTbbz9C0V1xTfj3mmgKTU34RUdnBAJtuGaIY6wqsv4IgyAAAp7OdK7CO8HHtiIiIbjX%2BcDq7w%2BnsDkG4BJttO2y2rZCkBPj7L4G//xLXlF/DkZn5KFQ1zNcVJiIqEANsKvcEIRlBQe/A3/8LQ2B9lyuw5hzWREREvqZpNWC3PwK7/WFI0mH4%2BW2D1fqza8qvtxAY%2BDaczq6uLuQDAAT6uspERG4xwKZyLAMBAfMRFDQTgnANAOB0tkZm5qNQlCY%2BrhsRERHlJkBRmuHGjWYAxrq6kG%2BDxXIQNtuPsNl%2BhKpWhMMxBBkZj0GW24FdyImoNGGATeWQCj%2B/VQgKehOSdB4AoCiNkJHxJGT5Th/XjYiIiDwTAKezB5zOHhDFi64u5Nsgihfh7/8l/P2/dP2%2BPwa7/RGoai1fV5iIiAE2lS9W6y4EB78Gi2UfAEBVqyMjYzSczq7gPJtERERlk6qGIjPzUWRmPgKL5RBstu2wWn%2BBJJ1EcPAbCAp6E05nD1cX8r4A/H1dZSK6RTHApnJBkk4iKOh1%2BPltBABoWgAyM4fBbh8EwM%2B3lft/9u47Tor68P/4a3Znth9FUEGMYou9IFiIJSL2EqOoMWKMRs03itEUTYhdf/aGjVgiSewFY4klsZfYBexdFAtiQbm%2Bfef3xxU4OO727nZ32vv5ePhIOPZmP1NumNfN7IyIiIhUSIhCYVMKhU2B/yMSeY5I5DFM8y0ikUeJRB6lVBpCNjuJTOYgXUIuIjWnwBZPM4zvSCTOJx6fgWEUsO0wudxuZDI/x7aHOj08ERERqZoEudzO5HI7EwrNX%2BIS8m%2BJx2cQj8%2BgWFyLTOYgMpmfUSqNdnrAIhIACmzxqBzx%2BDUkEhcRCjUAbc%2ByTqcPo1RazeGxiYiISC2VSqPIZH5BJnNw%2ByXkT7ZfQj6XZPIckslzyOe3IZM5iGz2p9j2YKeHLCI%2BpcAWz7Gsx6mrO5Fw%2BCMAisW12m9gtpnDIxMRERFnhSkUNms/JvgNlvUCkciTmOarWNZz7fdqOZFcbg8ymZ%2BTy01Eh8MiUknao4hnhEKfkkqdRDR6PwCl0lAymV%2BSy%2B0IhJ0dnIiIiLhMnHx%2BR/L5HTGMhe2P%2BXqCcPhTotG7iUbvplRaiWx2PzKZ/SkUtkCf1xaRgVJgiwdkSCQuI5G4FMPIYNthstmfkMn8HEg6PTgRERFxOdseTja7P9nsJMLhj4hEnsKyniIU%2BoZ4/Bri8WsoFke33xxtf4rFDZ0esoh4lAJbXMwmEvkvqdRUwuFPACgUNqO19deUSqs7PDYRERHxHqP92dnrkE4fjmnOIRJ5Bst6gXB4HonEJSQSl1AorE82uz%2BZzP6USms4PWgR8RAFtrhSKDSXuro/E4k8AkCpNJx0%2Bgjy%2Be3Q5VsiIiIycCaFwpbtj/LKYFkvE4n8D9N8BdN8F9P8fyST/498fhzZ7CSy2UmUSiOcHrSIuJwCW1ympf23x1dgGDls22z/bNSBQNzpwYmIiIgvxcjntyef3x7DaMaynsey/odpvoZlzcKyZpFMnkQ%2Bvx3Z7D7kcnsrtkWkWwpscQmbSOTfpFJ/IRz%2BAoB8fhzp9K8plUY5PDYREREJCttOkcvtQi63C4bxPZb1HJHIM5jmO0QizxCJPINtn0ChsBXZ7E/IZn%2BiR4SKSCcFtjguFJpHXd0JS1wOvjLp9FHk81ujy8FFRETEKba9Arnc3uRyexMKfY1lPYtlPY9pvodlvYhlvUgqdRKFwuZkMj8hl/sJxeLaTg9bRBykwBYH5YjFLiYWuwDDSLdfDn4AmcwBQNTpwYmIiIh0KpVW7vwstmF82/6M7RcIh9/ENOeQSs0BzqBQ2LD9zPY%2BFIvrOz1sEakxBbY4wjSfBX5PPP4u0HF38N9QKv3A2YGJiIiI9MK2VySXaztjbRiL2s9mP49pvo5pvo1pvk0yeR7F4lrk83sAk4DNgJDDIxeRalNgS00ZxkJSqVOJxW4BoFQaSjp9JPn8j9Hl4CIiIuI1tj2UXG53crndMYymzkvHTXM24fBcwuErgSsZPHgoudxO5HJ7kMvthG0PdnroIlIFCmypkRKx2M0kk6cSCi3Ctg0M4ye0tBxMsZhyenAiIiIiA2bbdeRyO5PL7Qy0YllziERewbJeIRRaRCw2k1hsJrZtks9vQy63O9ns7nrWtoiPKLCl6sLht6mr%2Bz2W9SIAxeJaZDJTSCbHAGnAdnR8IiIiIpWXIJ/fllJpOywrQmvrq4RCL2NZLxEOf0Yk8jSRyNOkUlMpFNZvPwu%2BC/n8lugQXcS79NMrVdRCMnkB8fhVGEYB246TyfyCbHYvwmFteiIiIhIUYYrFDcnlNiCTOYxQaD6W9TKW9Qrh8FuY5ruY5rskEpdSKg0hn59ANrsz%2BfxOet62iMeocqQqIpH/kEqdSDj8GQD5/La0th6FbQ93eGQiIiIiziqVRpHN7ks2uy%2BG0YRpzsayZmGaswmF6olG7yEavQeAQmFTstmdyeV2oVAYhw7fRdxNP6FSUaHQl6RSfyYavQ9oe6RFa%2BtvKBS2dHhkIiIiIu5j23Xk8zuQz%2B8AFAmHP2yP7TmY5vvtdyZ/nWTy4vaz2zu2B/dO2PbKTg9fRJaiwJYKKRKPX0cyeTaG0YRth8lm9yWT%2BTkQc3pwIiIiIh4Qplhcj2JxPeAQDKMe05yDZc3GsjrObt9NNHo3AIXCJu13Jp9IPr8VEHF09CKiwJYKMM3XqKv7HaY5B4BCYX1aW6fojpgiIiIiA2DbbWes8/kdaTu7/QGWNRvTnI1pfoBpvoFpvkEicSm2nSKX274zuHUcJuIMBbb0m2E0kUicTTx%2BLYZRwrZTpNOHkcvtCoScHp6IiIiIj4QpFtenWFyfxWe3X8WyXsU05xAKLSIafYho9CGg7aktudzE9v%2B2B5KOjl4kKBTY0g82kcgD7Tcx%2BxKAXG4H0ukjsO0VHB6biIiIiP%2B1nd2eQD4/ASgRDn/cfjn5q4TDbxMOzyUen0s8fh22HSGf/1H7M7p3ar8E3XB6FkR8SYEtfRIKfU4qdQLR6H8AKBZHkk4fQ6GwucMjExEREQmqEMXi2hSLa5PNHgi0Ylmvd35%2BOxT6mkjkKSKRp4CTKRZXJZ/fqf1RYD/Gtgc5OnoRP1FgS5nyxOPTSSbPxzBasW2TbHZ/MpkDgajTgxMRERGRTgny%2BfHk8%2BNJp21CoS%2BwrDntdyZ/nXD4C8LhfxKL/RPbNikUtiab3an97PbG6Oy2SP8psKVXlvU8qdTvMc13ASgUNqa19RhKpdUcHpmIiIiI9MygVPoB2ewPyGb3ATKY5ludN0sLh%2BdjWc9iWc8CZ1AqrUwutzPZ7G7k8xOw7TqnZ0DEUxTYslyGsZBU6lRisVsAKJUGk04f0X4nS/1mU0RERMR7YhQK4ygUxgEQCi3ANGe3n%2BF%2BnVDoa2Kxm4nFbsa2LfL57cjldiWb3U13JhcpgwJbulEiFruRZPJ0QqFFAGSzu5PJ/FK/xRQRERHxkVJpJLncXuRyewE5TPNtTHM2kchLhEJfEok8QSTyBKnUnykU1iOX241cbjfy%2BS1RSogsSz8V0kU4/CZ1db/Hsl4G2h7x0Np6TPvdJkVERETEvyIUCmMoFMaQyRxBKDQfy3oFy3qFcPgtTPM9TPM9EonLKJWGtj9zezdyuZ2x7SFOD17EFRTYAnQ80/pc4vFrMIwith0nk/kF2exeQNjp4YmIiIhITRmUSquSza5KNrsvhtHcflfyWZjmK4RCi4jFZhKLzcS2TfL5H5PN7k02uye2vbLTgxdxjAI78GwikftIpaYu8Uzr7Uinj8S2hzs8NhERERFxA9tOkc9vTz6/PVAkHH4fy5qFZb1IOPwpkcjjRCKPk0r9nkJhq/bY3kuf25bAUWAHWDj8PqnUn4hEngSgWFyFdPr/Om96ISIiIiKyrDDF4gYUixuQyRzafin5C1jWC5jme1jWi1jWi6RSJ1MobNwe23tTLG6AbpQrfqfADiDDaCSRuIB4/GoMo4BtR9qfab0/eqa1iIiIiPRFqTSKbHZ/stn9MYyFWNaLRCIvEA6/iWm2/ZdMnkuxuFZ7bE%2BiUNgExbb4kQI7UEpEo7eTSp1OKPQ1APn8eNLpIyiVRjo8NhERERHxOtse3nlXcsNoxLJewrJexDTnEA7PJZG4jETiMorFtclk9iOb3V830xVfUWAHhGm%2BRip1whJ3Bx9FOv1rXQ4uIiIiIlVh24PI5XYml9sZSGNZs4hEnsM0XyIc/ohk8kKSyQspFDYkm51EJrMfpdKaTg9bZEAU2D5nGN%2BRTJ5FLPZPDMNuvzv4QWSz%2BwCW08MTERERkUCIk89vRz6/HdCKZb1EJPIspjmr/dnbb5NMnkWhMLb9zPa%2BlEqrOj1okT5TYPtWgVjs7yST5xAKLQIgl5tAOn2Y7g4uIiIiIg5KkM9PIJ%2BfgGE0td8U7RlM8zVMczap1GxSqZPJ58eTyRxINrsftj3U6UGLlEWB7UOW9Typ1ImY5psAFItr0tr6fxSLGzk8MhERERGRxWy7rvMycsNYhGU9TyTyP0zzzc47k6dSfyaX24NM5ufkcjuhqzDFzRTYPtL2WZbTiUbvB9p2WOn0IeRyuwNhZwcnIiIiItID2x5KLrcnudyeGMZCIpFniESeIBz%2BhGj0XqLReymVhrc//eZgCoVN0Z3IxW0U2D5gGN%2B1P3br%2BvbHboXI5XYjkzkE2x7s9PBERERERPrEtoeTze5HNrsfodDHRCJPEIk8RSi0kHj8GuLxaygU1ieT%2BTnZ7IGUSqs4PWQRQIHtcVni8etIJC4iFKoHIJ/fknT6MEql1R0em4iIiIjIwJVKa5LJrEkmczimOYdI5Eks6wVM811SqdNIJk8nn58APO70UEUU2N5kE43eQzJ5BuHwPKDtc9bp9K8oFMY4OzQRERERkaoIUyhsQaGwBYbRjGU9RyTyBKb5FpHIE04PTgRQYHuOab5EKnUSlvUKAKXSMDKZX5DL7Yg%2BZy0iIiIiQWDbKXK5XcnldiUUWkAk8iSxmNOjElFge0Yo9DGp1JlEo/cAYNsxMpn9yWb3BbQ3EREREZFgKpVGkskcrMAWV1Bgu1wo9BXx%2BCXE43/HMPLYtkEutyuZzGRsewWnhyciIiIiIiLtFNgu1XZn8MuIx6/DMNIA5PNjSacPp1Raw%2BHRiYiIiIiIyNIU2C5jGPXE41eRSPwVw2gGoFDYgEzmkPZn/YmIiIiIiIgbKbBdo5lE4hri8Ss6H7lVLK5NOn0IhcI4wHB2eCIiIiIiItIjBbbj0sTjM0gkLiUUWghAsbg6mcxk8vkfobAWERERERHxBgW2Y3LEYjeQTF5EKPQVAMXiKDKZg8nnt0OP3BIREREREfEWBXbNtRCP30g8fiXh8BcAlEorkckcrGdZi4iIiIiIeJgCu0YM43vi8euIx68hFPoegFJpGJnMgeRyuwKWswMUERERERGRAVFgV1koNJ94/Cri8X9iGC0AFIsjyWYnkctNBCLODlBEREREREQqQoFdJeHwByQSlxGN3oFh5AEoFtcik9mffH4bdCm4iIiIiIiIvyiwK8w0Z5NITCMSuR/DsAEoFDYhk5lEoTAW3RVcRERERETEnxTYFVEkEnmEePyvRCJPd341nx9PJjOJYnF9B8cmIiIiIiIitaDAHgDD%2BI5Y7Gbi8esJhz8FwLbD5PM7ksnsR6m0msMjFBERERERkVpRYPeDab5KPH4d0ei/MIwMALadIpvdhWx2b2x7JYdHKCIiIiIiIrWmwC5blmj0HuLx67CsWZ1fLRbXJpvdk1xueyDm3PBERERERETEUQrsXoRCnxOP/51Y7AZCoYUA2LZJPr8d2eyeFIvroRuXiYiIiIiIiAK7WzkikYeJxW4hEvkvhlECoFRakWx2d3K5XbDtoQ6PUURERERERNxEgd3JxjRnE4vdRjR6F6HQos6/KRQ2I5vdg3x%2Ba/T8ahEREREREelO4APbML4gHr%2BNWOw2TPODzq%2BXSsPI5XYkl9tRdwMXERERERGRXgU8sHdi8OAnMAwbANuOks9vQy43gUJhU3S2WkRERERERMoV8MB%2BHMOAQmGT9rPV2wAJpwclIiIiIiIiHhTwwP4Vzc3bUSjoudUiIiIiIiIyMAEP7F9g22nAdnogIiIiIiIi4nEhpwcgIiIiIiIi4gcKbBEREREREZEKUGCLiIiIiIiIVIACW0RERERERKQCFNgiIiIiIiIiFaDAFhEREREREakABbaIiIiIiIhIBSiwRURERERERCpAgS0iIiIiIiJSAQpsERERERERkQpQYIuIiIiIiIhUgAJbREREREREpAIU2CIiIiIiIiIVoMAWERERERERqQAFtoiIiIiIiEgFKLBFREREREREKsCwbdt2ehDOyVEq2UCAF4FjDEIhQ8vfEVr2ztLyd5aWv3O07J2l5e8cLftaMIwIhqFzh%2BK8QAe2bdvtOztxQjicdnoI0q2c0wMQKVPW4fePOvz%2BIuJeEacHEEBxSqU8jY2POz2QblnWMyQSF2IYNi0tJ9LaeqrTQ5I%2BWnHFurJeZ1Z5HK5mGAaNja0UCiWnhxIYK674tNNDkGXMcnoA4itznB5AwG3u9ABEZBnjnB5AQEzAzWmTz29POt1MIjGdZPIibHso6fSxTg9LqsC9W6H4isLaLRTTUg5Fsne5ed0p/iWolvy3V7EdZLncHhhGM/H4DaRSJ1EqDSWbnez0sKTCFNhSVQprpymoBdwdXRIc2g7Lp19G%2BJdiO%2Biy2QMwjCZisbupq5uCbQ8ml9vL6WFJBSmwpeIU1U5SUAeLgkXEnwbys6049w7FdjAZZDK/wjCaiUYfYdCgw2houIt8fgenByYVosCWilFYO0FB7W8KaBHpq3L2G4pw9%2Bn491yhHQwG6fSxhEItWNZzDB58MPX1/6ZQ0Pr3AwW2DJjCupYU1P6igBYRJ/S271GAO0dntYMjTEvLCaRSrZjmqwwe/FMaGu6iUNja6YHJAAX6MV0Aixa16C7i/aSwrhVFtXcpoEX6qliMkM%2BnAMPpoUi3NnR6AAGkZQ5gWSXC4Z6yZQKlkunax3QtXyup1FmY5pvYdoKGhtt1ubhL6TFdUjUK61pQVHuHIlqkEmwbFizYjvr6Mdi2Dk%2B8Rc98rp2o0wNwiI1h2AwZ0sLIkc0Yvvr9W4Lm5jNIJs/FsmYzePABNDbeRC63m9MDk37Sv2BSNoV1NSmo3U8hLVJNCxZsx6JFW1NXlyIa9dXRc0DFnB6AzyWcHkCN2WSzeRYtCgOwyirNDo%2Bn0mK0tJxKMnkBlvUCgwYdTGPjDHK5fZ0emPSDAlt6pbCuFkW1OymkRWqtWIxQXz%2BGuroUdXUhp4cjFZHt5mtBi8Jq6li%2BSUdHUUuRiAVAfX2RlVdu6eVycS%2ByaGmZSiIxjUjkKQYNOpympjTZ7MFOD0z6SIEty6WwrgZFtXsopEXcIp9PYdumzlz7XutSf1ZwD1zLEv/f/7EdjVo0NRnk8yHC4aLTw6kCk9bWP2DbkfZHeP2GpqZWMpkjnR6Y9IECW5ahsK40RbWzFNIi7qewDiYFd2V1xLafQ9vA//uLMOn0b4EY0ei/qav7A4aRbv%2BaeIECWzoprCtJUV17CmkREW9bMrgV2/0XhND2uxDp9K%2Bx7Tix2B2kUidjGM20tk7F/79g8D4FtiisK0ZRXTuKaRERfyvv7PZnn83n0kuv5bXX3iYej7HzzttzzDGHEYv1frftBx98nBtvnMmCBV%2Bz6qojOeKIg5k4cdsu077zzvuZNet1vvrqG4YMGcQWW2zGb35zKMOGDe0yrTfffJerrvoH7733EYlEgokTt%2BXYYw8jFnPyZm/9D%2B2WllauvPJqnnjiGfL5HGPHbs4f//hbRo4c0eP3/fSnB/HVV193%2B3fXXz%2BdjTbagJaWFm69dSYvvPASn332OaZpst56P%2BQ3vzmS9db7YZ/H6l8Gmcyh2HaMePwGksnzMIxWWlrOQpHtbnoOdoCfg62wrgRFdfUppoPLqz9f45wegOdkMsOYO/eXDB8%2BhEhEB47Sm7bYbmpq5uCDpzBixEr86lcHsWhRPZdfPoOtt96cM888occpPPHEs5x00vkceuj%2BbLXV5jz99AvMnPkAl112JltttTkAM2fez733Pszee%2B/MOuuswTfffMeMGbdSLJa45ZarSCTiACxY8A0HHXQ0m222AT/72U/49tvvmT79n4wduzHnnXdSdRdFn5Qf2n/84194//0POe64o0kmE1x33T9oaWnl5ptn9PjLi/ff/5B8Pt/la9OnX8u8eZ9x//13YZph5s79hOOOO4G99tqdMWM2oVAocscd/%2BL119/guuuu6jGyc7kCCxd%2By1prfUMstvRnsL36HOzeRaP3EY9fB0A6fSTNzRcDuiFkrek52LJcCuuB8upBvxcopv0h6D8j1Zp/hbuUJ5PJEYs5%2B2xq27bJ5wudd36urLaz2/fc82%2Bampq56aYrGDJkMADhcJjTT7%2BYww77GWus8YPlTuHaa29m4sRtOeaYwwAYO3YTPv30C6677pbOwN555%2B3Zf/%2B9MJZ46PLaa4/mF7/4LU8%2B%2BTx77jkRgBtvvJNBg5JcdNFpnfNbV5fkpJPO5/3357LuumtVfAn0T3lntN966x2ee%2B5FLr30PH70o60BWGutNZk0aTIPPfQw%2B%2B33k%2BV%2B77rrrtPlz%2Bl0mvfe%2B4A99tgV0%2Bx4xNYI/vWvW7qc3d9ii7FMmnQwM2few6mn/rkf8%2BZv2ew%2B7WeyryQevx7DaKWp6SqUcu6ktRIgCuuBCHowVINi2lvoUPZnAAAgAElEQVT0M%2BC8ga4DBXotnHXWdN5772OOPfYQrrrqZr744ivWWGNVTjzxCDbaqOuZuQceeIrbbnuAzz9fwODBKfbYYweOOurAzhBZuHAR11xzG3PmvMN33y1ixRWHMXHi1hxxxAFdwnXrrQ/kmGMOprGxmYceepp0OsOTT97Exx9/zpVX3szbb39INptj5ZWHsffeO/KLX%2BzT%2Bb1PP/0yM2bcxbx580mlEkyYsBVTphxCItEWP7Nnv82UKWdy%2BeUn8%2BCDT/Hss7MZNCjFpEm7dpnO4vmezF//ehvz5n3BmWcex8SJ46u2rF944VW22GJjhgyx6IjuCRO24ZxzLuf5519ZbmB/%2BeVXfPrpFxx99KFdvr7LLjtw9tmXUV/fwJAhgzujfUlrrz2acDjEwoXfdX7t/fc/ZsyYjbusk/Hj237enn325T4H9tFHTyWRiDNx4rbMmHEbCxd%2BzwYb/JCpU49l9dVX7dO0utfzncdfeOEl6upSjB%2B/VefXRoxYmU033Zjnnnuxx8Be2jPPPEc6nWHXXXfq/Fo8Hl/mddFohNGjV2PhwoVlTztocrldse0oicSlxGK3YhhpGhv/Bjj7yzRZlgI7ABTWA6GoqAzFtHtpGw%2BOSqxrRXo5Fi5cxEUXXc%2BRRx5AXV2Km266l%2BOPP4eZM69ghRXaou3WWx9g%2BvSbOeigPTnuuEOZN%2B8Lrr32dkqlElOmTAagvr6JQYNSHH/8odTVpfjssy%2BZMWMm331XzymnHNPlPe%2B44yE23viHnHLK0eTzBQBOPPFChg4dxMkn/4ZUKsHnn3/Ft99%2B3/k9zzwzi6lTL2HHHbfmN7/5OV9%2B%2BTV//ettfPrpAq666tQu07/wwuvZbbftOP/8E3jqqZeZPv0W1l57dcaP32yJ%2Bf6eSy/9J4cfvh8rrzyclVYattxlVCj0/oilUMggFFr%2BZbDz5s1nr70mdPlaJJJn1KiVmTfvix6%2B73MARo/uGuBrrPEDbNtm3rwv2GyzZeMa4M0336NYLHX53lwuh2l2PaQOh8MYhtH5XgAPPPAYZ599GdOnn8vYsZssd3wA778/ly%2B%2BWNB5hv3aa2/i%2BONP4847r%2B3xqoBisUhvH/40jLbxtVn2rPa8eZ%2By2mo/6HLmHmCNNVbnpZde6XniS3nkkccZOXIEG2%2B8YY%2BvS6fTfPDBR%2By%2B%2By59mn7Q5PM70NoaIZG4gGj0HgYPbqKh4UYg5fTQZAkKbB9TWPeXgmPgFNTuoe1ZKqlS25O/Q72xsZlzz/0D48ZtBMCYMeuzzz5Hc8cdD3L00QfT0pLm%2Buvv5JBDfsLRRx8MwFZbbUI4HObKK2/ikEN%2BwuDBday99mocd9zis6ybbLIu8XiMs86azgknHNHls7CDB9dx3nl/7Iyi%2BvpG5s//mt/97pdst13b8h47dqMu47z%2B%2Bpmsv/5anHPO7zu/NmhQitNOu4LZs99m7NjFUbTDDltx1FEHAjBu3EY899xsnnjixS6B3djYwrRpJ7Phhmv3uHy%2B/PIb9tvv2F6X4xFH7N/5nt1pbGyhrm7ZM7B1dUkaG%2BtZfKO0xFLf19z%2ButRS35fq8vdLKxQKXHbZday%2B%2Bqpss82WnV9fbbVRvPvuh9i23bn833nnfWzbprGxqcd5XJ7vv6/nr389j9VWGwXAOuuswUEHHc1DDz3OT3%2B623K/b9Kko/jqq296nPaYMRtx9dXnL/XVxaHd2Ni8zLIBqKur69P8NDQ08NJLs5g8%2BcBlYn1p1177dzKZDPvvv2/Z0w%2BqfP5HtLScSjJ5LpHIYwwZsicNDTOx7ZWcHpq0U2D7kMK6PxQhA6Ogdo62XfGipbfbVYEckB7ANN3zWKdUKtEZ19AWfGPHbsRbb30IwJtvvk9ra4Yddxzf5UzuuHEbkc3mmDv3czbffANs2%2BaOOx7i3nsfY8GCb8hmF988av78r1lrrdU6/zx%2B/GZdImbw4DpGjFiRq6%2B%2BjcbGZrbYYuMuZ5RbWzN8%2BOE8jj32kC5j33HH8Zx55nRef/3dLoG91VaLz7iGQiFWX30U3377XZfvHTKkrte4BlhxxRX4xz/O6/V1w4cP7fU13bHttrO0i5X3%2BK%2BO%2B/4urwUvvvga5s79jGuuOb/zMn6ASZP2ZMqUk5g%2B/Z8cfPC%2BfPfdIi666BrC4RCGsfgM/F577cRee%2B3U3aSXseaaq3XGNbRF/JprrsZbb73XY2BffPFpy9xkbGkdN2frXgtQBMLL/E3b8in/JoSPPfYUhUKBXXbpeZ4ffvgxbr/9Lk444Xh%2B8INRPb5W2hQK42huPpdk8iws61WGDt2ZhoZ/USz2/vMn1afA9hnFdV8pTvpHQV172lZFerb0Y50qqW/xPmTIoGW%2BNnToID77bAHQduk3wC9/2f3NnL7%2Buu1zqLff/mD7Ge19GDt2Q%2BrqkrzzzlwuvngGuVzXiBo6tOslzYZhcPnlJ3Pttbdz8cUzSKezrLvuGvzud79kzJgNaG5uwbZthg0b0uX7TDPM4MGpZc7iLn2m2LJMWlszPY5heSzLZJ11Rvf6ulCo55gbNChJU1PLMl9vbm5h9OjlhVorgwa1XWLd1NTc5XFbzc1t0%2Bru7O3119/K/fc/wnnnncz663e9kdfYsZvw29/%2Biuuuu4Wbb/4XoVCIfffdHcsyl3mcV7mGDh3S7dcWLlzU4/e1Xebe87R7OZnMoEEpvvrqW9pie/F6b25uZtCg8i9FfuSRx1l77TVZa601lvual16axdlnX8jkyT9j//1/Wva0BYrF9Whuvohk8nTC4U8YMmRnGhrupFDYwumhBZ4C2ycU1n2lWOkbBXVtaLsUcae%2BxHuB%2BvoGlj5rumhRI8OHt0VTR6Scf/4JrLzysp9TXmWVtks9n3jiRbbbbhzHHHNw59998kn3ny3uLppWX30Vzj33DxQKBd544wOuvvo2TjjhAu6//1pSqSSGYfD99w1dR18o0tDQt5BaPIbyzm5W6hLx0aNHMW/e/C5fy%2BXyzJ//9TKfze76fW03Cps3by6jRw%2Bj4xcon3zyOYZhdP59h7vuepDrr7%2BVqVOPZfvtt1p6cgBMnrwfkybtwRdffMWwYUOpq0ux224Hs88%2Bu/Y6n91ZtKi%2B26%2Btt17PZyj7f4n4YqNH/4CXX361/ZL3xZH9ySefsvrqq/c%2BeOCrr77mjTfe4uijj1rua95%2B%2B13%2B8pfT2HHHH3Pssf9X1nSlq1JpVHtkn4lpfsiQIXvR2PhPcrndnR5aoCmwPU5h3ReKl/IpqKtP26OIXzU3p5k16x3Gjdug/c8LmT37LfbffyLQyiab/IBYLMI33yxghx026mYKbcGXzS5786yHH362z%2BMxTZPNN9%2BAQw/dhxNPvJCFC79ntdVWYZ11RvP44y9w8MF7db72ySdfolgssumm6/f5fcpVqUvEx48fwz/%2B8S8aGpoYPLjt%2BbRPP/0yuVyeH/1ozHK/b5VVVmL11Ufx2GPPs8MOW9Lxy5BHH32aDTb4YZe7hz/66NNceum1/PrXk3u8NBsgFoux9tqjAbj//kewbZuJE7frdT678/HHn/HZZ/M7LxP/7LP5fPzxZ0yatGeP3zfwS8Tb7oA%2BY8ZtvPjiHMaPHwu08PXX3/L662/yxz8eV9b4H3nkCQB22WXHbv/%2Bk08%2B5Q9/mMomm2zEqaf%2BuexfzsiybHsozc3nkUxegGW9wqBBP6e5eRqZzOFODy2wFNgeprgul0Kmdwrq6tH2JxI0gwYlOeecv3PUUfuSSiW46aYHAfjZz9rukJxKJTjqqH2ZPv1OvvlmEWPHrkcoFGL%2B/G945plXOf/8Y4nFomyxxfrceeejzJz5b1ZbbQQPP/wCX3yxoKwxfPjhp1xxxY3stNOPWHXVlWlubuWGG%2B5l5MgVGTVqBABHHnkAf/7zRZx66mXssccOzJ//NVdffSvjxm3c5fPXlWZZJuuvP/BnQ%2B%2B7787MnPlfTjzxQn71q0ksWtTI5ZffwK67bssaayw%2BC33OOVfz0ENP89xzt3d%2B7de/PpBTTrmMUaNWZsstN%2BF//3uFl156lcsuO4m24E4wZ86bnHnmNDbddAO23HIMb731Xuf3DxkymFVXHQm0PfbrwQcfZ8MN1wVg9uw3uP32%2BzjllOO7XAnQl7uIr7DCEE488f/xf/93CLYN1113MyuuOIw99pjY4/d1BP5AbLTRumyzzRace%2B7lHHfcESSTCa677hZGjlyJPfbYtvN1Dz30MOeccyFXXnkJm2%2B%2BWZdpPPLIY2yyyUaMGLHyMtP//vtF/O53f8I0TSZP/hnvvfdB599ZlrXMs7SlHHFaWk4hHp9ONPoIdXXHEwrNp7X1ZPryuXmpDAW2Bymsy6Go6Z2iurK0zYlIm%2BHDhzBlygFceeWdzJ//DWusMYrLLvsjw4YtPjM6efLurLTSUG677WFmznwM0wwzatRKbLvtpp1nrY84Yh/q65v429/uAWDChHH84Q%2BTOeGEy4AMXS9Dz7PkXbOHDRvCsGFDuPHGe/n22%2B9JJhNsttl6nHHGbwmH2268tf324zjvvD/y97/fxZ/%2BdCGpVJLddtuOKVO63vjMrerqkkyffhqXXPIPpk69hFgsws47b7PM%2BIvFEsViqcvXJk4cTyaT5YYb7uHWW%2B9n1VVHcPbZv2OrrTZtf0Urs2fPplAo8Oqrb3HkkSd0%2Bf499pjIaae13X3dNE3mzHmTO%2B74N/l8gXXWGc0FF5zMtttu2eV7Mpm2z6yvsELvn8ted921mDDhR1x55T/47rvv2XDDdfnTn6YQjdbmmcdnnXUiV1wxg4suupp8vsDYsZtw3nkntd%2B5vu2z6qWSTbFYWuYz3598Mo%2BPPvqYE0/8XbfT/uSTT/n667bL2H/7267LdcSIlbn33tu7%2BzbplUk6fRy2PYxY7DaSyQsJh7%2BkqelyYPmPdpPKM2y7t1sh%2BNuiRS0UCqXeX%2BgCCutyKHKWT0FdOdrORCopk1mVuXPPZvjwOiK16YeqOeusv/Hee/O49dZznB5KN9xzp3XvGfiyO%2BOMS2hoaGTatDN7fN3RR08lkYhzySWnD/g9a2PZR6VVSy5XYOHCb1lrrW%2BIxZZ%2BlvoESiWTxsbHazYet4pE/kM8/lcMo0QutzMNDTegZ2UP3Ior1pX1Op3B9gCFdTkUPN1TVA%2Bcti0R8Yvubtam6C5P98/U7os33niHM844ofcXes7iZ2iLO%2BRyu1MqDSWZvJBI5FE9K7vGFNgup7juicJnWQrqgdE2JSJBo%2Bjum/Keqd2du%2B%2BeUdmhuE7Xx3qJswqFrduflX2mnpVdY7pE3KWXiCuse6II6kpR3X/altxgwYLybtrkVSNHjnR6CK7np0vE/UnB3TMtn2VVJ7R1iXjfhULzSaVOJxRaQKk0TM/KHgBdIu5RCuueKIYWU1T3nbafWvF7MPfVQJaH4lzcYemz3ArKrgZ%2B%2Bbj/6LJxtyiVRtHUpGdl15IC20UU18ujMFJQ94e2m0pTONdeX5e5glxqo/%2BXSfubQntZCm03WPys7POxrFntz8q%2BkEzm104PzZcU2C6gsF4eBZLCulzaVipFEe1tfVl/7orxEmDT9rzWQH9yzYN0dntZCu1lVerz2TbaR/RXnJaWU4nHryYa/S91dScQDn9CS8vZQNjpwfmKAtthiuvuBD2WFNW9C/o2MjCKaIHyt4NahLhlLcIw8mSzBpGIDp69TWe3F1NodzXws9nZbB7DsLEs990/yRtM0uljKZVGEI//k0RiOuHwZzQ2/g1tp5WjwHaIwro7QY4mRXXPgrxt9J9CWiqhFiEeDqcZMuQxFi36CZAkGtVZKn9YMrbjjo3CeR1hGXN0FO7R2P6/fQk6m2w2T1NTI0OHthAOa//QfwbZ7AGUSiuRSEwjGr2fIUP2oqHhdj3Gq0J0F3EH7iKuuF5aUONJUb18Qd0m%2BkchLV6yvBC3bYMFCw6gvn4nbNui7XJx8aeg3yo%2B6PO/pGiZr7MxDJshQ1oYObIZo9vdg%2B4i3lfh8Fskk%2BcQCjVSLI6moeEuisUfOj0s1yr3LuIK7BoGtsJ6aUGMKEV194K4LfSdQlqCoFRKUCoNx7YNVlpJZ1P8b0OnB%2BCQoM738vS%2BPCyr1MuZawV2f4RC80kmzyAc/pJSaQiNjbeSz2/r9LBcSYFdploFtuJ6SUGLKUX1soK2DfSdYlqkb9x10zbpu3FOD8Ahmzs9ABcZ6DagwO4vw2ggmTwb03wH27ZoappONnuQ08NyHQV2maod2ArrJQUtqhTWiwVt3fedglqkNhTiXhDE2FZoL9bf9a/AHpgsyeQ0LOt/ALS0nExr65/Qx3UWU2CXqZqBrbjuEKS4UlQvFqT13jeKaRH3U4i7gUI7uPqz7hXYA1ciFruBWOwuADKZyTQ1XY7uG9BGgV2magW24hqCFVgK62Ct775RUIv4kyK8VoIW2orsxfqy7hXYlRKJPEQ8fjWGUSKX24HGxhux7SFOD8txCuwyVTqwFdYQnNBSVAdnXZdPMS0iHRTglabQDqZy17sCu5JM8xWSyQswjDSFwvo0NMykVFrN6WE5SoFdpkoGtuI6KLEV5LAOyjoun4K6%2Bma5eLMbF7TjfakIhfdABe0HT6Hdprf1rsCutHB4LsnkWYRCCymVVqah4Q4KheBujwrsMlUisBXW4P/wUlRLGwX1wLg5lmtJYS7dUXj3VZB%2BkIIbNV31tM4V2NVgGAtJpc4kHP4Y207Q2HgDudyuTg/LEQrsMg00sBXXfj9aDmpY%2B329lk9BXT7Fc%2BUpxEXRXY4g/aAotNt0t84V2NXTSjJ5HpY1B9sO09x8OZnMoU4PquYU2GUaSGAHO679fiQdtLD2%2B/osn4K6Z4po91GEB4%2Bie3mC9MOg0F52fSuwq6tAInElkchjALS0TKW19S8E6TFeCuwy9TewgxvXfj66VlQHlaK6K0W0vyjA/U/BvbSgbPSK7K7rWoFdfTax2M3EYrcDkMn8gqamywDL2WHViAK7TH0N7OCGNfg3yIIU1n5dh32joF5MMR1sim//UnSDQjtIxqHArp1I5D/E439tf4zXTjQ03AiknB5W1Smwy9SXwA5uXPv1CDwoYe3X9Vc%2BBbVCWvpO8e0fwY7toGzIimw4UYFdQ6b5UvtjvLLk82NoaJiJba/k9LCqSoFdpnIDW3HtJ0EIaz%2But74JelQrqKWaFN/eFdzYDspGG%2BTQPp5SKaHArqFw%2BL32x3g1UCyOpqHhXxSL6zg9rKpRYJepnMAOZlz78ejc72Htx3VWviAHtWJa3ETx7S3BC%2B6gbKBBDG0FthNCofkkk2cQDn9JqbRC%2B7Oyt3J6WFWhwC5TT4GtsPYLhbVfBTWqFdTiRQpvdwtWaAdlYwxaZCuwnWIY9SSTZ2Ga72PbMRob/04ut5fTw6o4BXaZlhfYims/8HNY%2B21dlUdBLeI/Cm/3CU5sB2HjC1JkK7CdlSGZvBDLegnbDtHcfBGZzFFOD6qiFNhl6i6wgxfXfjt692tY%2B209lSeIUa2gFlF4u0EwQjsoG1oQQluB7bwi8fjVRKP/AaC19fe0tJwOhJwdVoUosMu0dGArrr3Mj2Htp/VTvqBFtYJapHwK79pTaPuF3yNbge0ONtHoHcTjNwGQyRxIU9NfgYizw6oABXaZlgzsYMW1n47oFdZeF7SgBkW1SKUpvGvD37EdhI3Iz5GtwHaTSORR4vErMYwiudwEGhpuwevPylZgl6kjsBXXXuS3sPbLeilP0KJaQd1/blx2ijnv0LqqPEW2H/gxtBXYbmOas0kmz8Mw0uTzW9HQcBe2PdjpYfWbArtMixa1MHTok04Po0ZceJTaLwprr1JUS4cgLRsFnvtonVSGQtvr/BbZCmw3CoffI5U6HcNoplDYjPr6e7DtYU4Pq18U2GV7wOkB1Igfjmb9FNZ%2BWB/lCVJUBykay6HlUT4Fn/O0DvrPv6EdlI3CL6GtwHarcHguyeRphEL1FArr09BwH6XSCKeH1WcK7LK0AEE4e%2B2Ho1y/xLUf1kXvFNXBEfT5rwWFn3O07PvGn6EdlI3AD5GtwHazUOhzUqlTCIUWUiyuRX39fZRKqzk9rD5RYJfF74HthyNfP4S1H9ZD7xTV/hfU%2BXYrxZ8ztNx7p9D2Kq9HtgLb7UKhBaRSpxIKLaBYXJWGhn9TLK7t9LDKpsAui58D2%2BtHwgprL1BU%2B1fQ5tdPFIC1peW9fP4L7aCsbK%2BGtgLbCwxjIanUKYTDn1MqrUR9/b8pFjdwelhlUWCXxa%2BB7eUjY4W12wUlqoMUmEGa1yBTCNaOlnVX/grtoKxcL0a2AtsrDKOeVOpUwuGPKZWG0tBwL4XCGKeH1SsFdln8FtheP0r2elx7ffkvn6LaX4Iyn9I7hWBtaDn7LbJBoe1GCmwvMYwmkskzMM33KJUG0dAwk0JhvNPD6pECuyx%2BCmwvHzErrN1IUe0fQZhHqQyFYHUFffkqsr3KK5GtwPaeVlKpszDNN7HtBA0Nt5HPT3B6UMulwC6LXwLby0fPXo1rLy/z5QtKVIP/o9Pv8ye1EfQgrKYgL1v/hHaQVqIXIluB7U0ZksnzsKxZ2HaExsabyOV2d3pQ3VJgl8UPge3Vo2iFtZsEJaz9HJ1%2BnjdxjyBHYTUFcbkqsr3I7ZGtwPauPMnkRVjWc9i2SVPT38hmJzk9qGV4KrCffPJJrrjiCj788EOGDRvGpEmTmDJlCuFwuMvrnn76aaZNm8bcuXMZMWIEhx12GJMnTx7AO3s9sL14RK2wdgtFtff5ed7EG4IYhtUWpGWqyPYiN0e2AtvbiiQSlxOJPI5th2hquops9hCnB9VFuYFtVnkcvXrttdc45phj2GOPPfjDH/7A3LlzmTZtGul0mj//%2Bc%2Bdr3v11Vc55phj2GeffZg6dSpz5szh7LPPJhKJcMABBzg4B07x4pG1F%2BPai8t5%2BRTV3ufneRPvWXp7DFIcVkvHMg3CslywYIFPInsWwYnsObg7ssW7wrS2/g7bjhKNPkRd3RQgQTa7n9MD6zPHz2AfccQRLFq0iLvvvrvzazNmzGDatGk89dRTDB8%2BHIAjjzyShoYGZs6c2fm6U089lSeffJJnnnmGUCjUj3f34hlsLx5dK6ydFoSw9nN4%2BnnexN%2BCEInVFoRl6I/IhuBENrgzsnUG2x9s4vFriEYfwLYtGhpmks/v6PSggPLPYPenSivq3XffZdttt%2B3yte222458Ps%2Bzzz4LQC6X48UXX2TPPffs8rq9996bb7/9lnfeeadm43WWF4%2ByvRbXs/Dmcl7WggULOv/zq1mzFv/nN36eNwmOJbdjbcv9E4Rl559/p3y%2BorqYg/eO8cQbDNLpX5PL/RjDyDN48GRM8xWnB9Unjl8ins1msSyry9cikQgAc%2BfOBeCzzz4jn8%2Bz5pprdnnd2muv3fm6jTbaqAajdZIXd9pe2/F6cRl35Z%2BDlOXz84Gmn%2BdNBLpu40E4M1tJfl92ulzcq3TJuFRDmNbW32MYTVjWHAYP3p/6%2BkcoFtd1emBlcTywR48ezRtvvNHla6%2B99hoADQ0NXf530KBBXV7X8eeOv/cvrx11K6xrTWHtXX6dr0qa46JdyuY6jqwYfX67/2bN8ufyUmR7lbsiOxw2nB6CVESETOZkQqGTCYffY8iQn9LY%2BBi2/QOnB9YrxwN78uTJ/OUvf%2BGGG25gn3324aOPPuKyyy4jHA5jGF1/QJb%2Bc29f9wevHX276Ei4V15btsvye1j7NT79Ol/94aZ4Lkc541WE94%2BCu2/8ejM0RbZXuSOyDcOgri7u9DCkYuLA%2BcDxhEKfMmTIT4FngeHODqsXjgf2vvvuywcffMCFF17Iueeei2VZHHvssdxwww2suOKKAAwePBhY9kx1Y2MjsOyZbf/w2lG4V46UvbZcu1JUe5Nf56tcXgvpgVjevCq8%2B8bvl0RXih9DW5HtVc5Htm3bNDenHR2DVFoEwziLROJEQqH3KRR2o6npAaC8G45V0tChybJe53hgG4bB1KlTmTJlCvPnz2eVVVahUCgwbdo0Nt10UwBWW201LMvi448/Zvvtt%2B/83o8%2B%2BgiAtdZay5GxV5eXjsa9cuTspWW6LD%2BHtZ/j08/z1p0ghXRfKbz7T7HdO7%2BFtiLbq5yP7GLR0QckSVUMp7n5LFKpP2Gas0kmD6ah4U4g6vTAuuX4Y7q6c/nll3Pffffx6KOPEg6HgbbHdDU1NXHHHXd0vu60007jiSee8OFjurx0RO6Vo2kvLdPFFNXe5Od5W5qCujoU3eXzS1BWml%2BWiz8iG4IV2eBMZOsxXX4XDr9PKnUyhpEmm92Xxsa/A%2BGavX%2B5j%2BlyPLDfeOMNXn75ZdZff30ymQxPPPEE9913H3/7298YP3585%2BteffVVDjnkEPbdd1/23ntv5syZwxVXXMFZZ53FAQcc0M93d2Nge%2BnI3AtH1l5anosprL3Hr/O1NAW1MxTcvfNLUFaSX5aJIturar3jUmAHgWm%2BSjJ5BoZRIJ3%2BFc3N04Da3I/LM4H97rvvcvrpp/Phhx8CsOmmm3L88cczZsyYZV779NNPc%2BmllzJ37lxGjBjB4YcfzuTJkwfw7m4LbC8doXvhKNtLy7ONX8Paz/Hp53nroKh2F8V2z/wSlZXil%2BWhyPaqWu6wFNhBYVnPkkicj2HYtLScSGvrqTV5X88EtrPcFNheOUr3wpG2V5blYgpr7/HzvIGi2isU2z3zS1wOlB%2BWgwLby2q1o1JgB0kk8h8SiasAaG6%2BgHT66Kq/pwK7LG4JbK8cqXvhiNsry7KNH8Paz%2BHp53kDRbXXKbaXzw%2BBOVB%2BWAaKbC%2BrxQ5KgR000egdxOM3AtDQcDu53B5VfT8FdlncENheOWJ3%2B5G3V5ZjG7%2BFtd/D08/zp6j2J8V29/wQmQPh9fn3T2CDIrsaFNjBYxOPX0M0%2BgCl0lAWLXqOUmnVqr2bArssCuzyuP0I3AvLsI3C2jv8PG%2BK6mBRbC/L660iIaEAACAASURBVKE5EF6fd/9EtsdXRL9Vc4ekwA6mfPvjuz4gn9%2Ba%2BvqHqNaTqBXYZXE6sL1wBO/mI3EvLL82fgprP4cn%2BHf%2BFNUCiu2leT02%2B8vL8%2B2fwIZgRrYCWyovFFpAXd1xGEZrVW96psAui5OB7YWjeDcfkXth%2BSmsvcSP86eoluVRaHfl5eDsD6/PryLb66q1A1JgB5llPUMyeQG2bdDQcB/5/A4Vfw8FdlmcCmwvHMm79cjcC8vOP2Htx%2Bhckl/nT2EtfaHYXszr4dkXXp9X/0S2x1dEv1Vjx6PADrp4/Eqi0f9SKq3M998/h22vVNHpK7DL4kRge%2BGI3q1H5%2B5fdgprb/Dj/CmqZaAU2ot5PT7L5eX59E9ggyK7UhTYkqGu7o%2BEw/PI5SbS0PAvIFSxqSuwy1LrwPbCUb1bj9Ldvez8ENZ%2BjM4l%2BXX%2BFNZSDYrtNl4O0HJ5eR4V2X5QyZ2NAlsgFPqUurrfYxhZmpvPIp3%2BXcWmrcAuiwK7Kzceqbt9mXk/rv0anh38OH%2BKaqkVhXYbL0doObw6fwpsv6jUjkaBLW0ikYdJJK7Atk3q6/9LobBlRaarwC5LLQPb7Uf5bjxid/cyU1i7l1/nTWEtTgp6bHs1Qsvl1flTZPtFJXYwCmzpYJNIXEQk8jTF4uosWvQ/bHvIgKdabmBX5yFhshS3H%2B278ajdvcvMy2Ht1/Ds4Nf5U1iLG8yZE%2BzInjXLuxEqIhIsBq2tUwiHPyAc/pS6ut/S2HgjYNTk3Sv3qW/xKDceubu3krwa17Nm%2BTc%2Bwb/zN2eO4lrcJejbox/3M%2BImQd7AAr5zkSpI0tr6J2zbJBq9j1js7zV7ZwV21bl5Z%2BnGnZk7l9eCBQs8Gdd%2BDc8Ofp0/hbW4WdC3Tz/uc8C/8yUiwVUs/pBM5nAAUqmphMPv1OR9FdiB5cajI3f%2B666wdpeOefPj/AU9XMRbgryt%2BnH/I%2BK8AO9UpGqy2X3I57fEMLKkUqfW5D0V2FWlf4HL575l5cWz1n4NT/D3vEGwY0W8K8jbrZ/3R%2BIkbVgilWWQTv8a2w4TiTyKab5U9XfUTc6qxs07SLcdEblvWXkxrP3Kz/MGwQ6Ualh6e9FNqaqvYxsO8g3QxDkLFizw2Z3Eg24OlX02tgiUSiPJ5XYmGv0vyeS5NDTcV9X3U2AHjtuO5t1VTwpr9/DzvIHCuq/6uz309fsU5P0XxLuM%2B%2B3O4n6bHxGRDtnsgUQijxGJPIllPUc%2Bv03V3kuBXRVuLQO3HdG7azl5Ka79Gp9%2Bna8lKax75vQ20N37KzjKp8gWqYRZBPuZ2DqLLZVXKq1MLrcr0eiDJJNnU1//ENV6bJcCWxzirpLySlw7HR/V4tf5WpLCunteWPe67LxvghjZIlJpimypvEzmQCKRR7Cs57CsZ8jnf1yV91FgV5xbjxbddHTvnmWksHaWX%2BdrSQrrrvywzpecB8V294IW2TqLLSLifrY9nFxud6LRf5NMnkN9/fZU4yy2Ydu2XfGpekYL8GQFp%2BfWI0c3HeG7Zxl5Ia79ECNL8%2BM8dUdhvVhQ1jkosroTpND2y/r32nz49yZnHlsRVdGXHcjxlEoJGhsfr9poxPsM43sGDToCw8hRX383%2BfxOZX/viivWlfU6ncH2PTcd5bvnKNvtce3HIPHjPHVHYR2cdd2djnn3WqBUU5DOZutMtoiIu9n2CmSzexGL3U0yeS719ROp9FlsPQe7YgJ8RFkWdywfLzzb2m9x4vfnV3eYM0dxHZR1XQ4ti66C/rMh1eX2f9f7TzsRd50oEr/IZvfDtmNY1iwikYcrPn0Ftq%2B5Zafkjn8g3P4PsN8OyP02Pz1RPARnXfeVlotI9fn3EnERqQbbHko2uxcAyeS5QGU/Ma1LxKXK3HF06ea49tsBuN/mpycK62CtbxGR2tLnDUSqJZvdj2j0QUzzNSKRB8nl9qrYtHUGuyLceISpI/8OiuvaCNIZa1BcQ7DW90BoOYmIiLiLbQ8mm90HgETiiopOW4HtS2458nf%2BqFJxXX1BDGvFdbDWuVSGfm68QTdpE/fRzkOqI5vdFQDTnAU0V2y6ukR8wHSU2T3nl4tb49ovYeKX%2BSiX4mCxoK37StDdpUWqQ5%2B/FpH%2Bsu2VKJVWIhT6Bst6hXx%2BQkWmq8D2HTdUgPNH34rr6vHDPPSV4rpNENe9iIiI%2BFehsDGRyONY1rMKbJHlcWNc%2ByFM/DAPfaWwXiyI67/SdBbb/7R%2BRUS8pVDYkEjkcSKR52ltrcw0FdgD4rYjTjfUgLPLRHFdeV4ff38prhcL6jYgEjT6BYG41xxgc6cHIT5UKGwEdHwOOwPEBjxNBbZUkI7Cl%2BblMPHy2AdCYd1VULeDatFZbJHK0eevRWSgSqVVKJWGEgotwrLmkM//aMDTVGD7hqrATWevvRwlXh77QCisuwrqdiAiIiJBYrR/DvsZLOu5igS2HtPVbzr67EqXhnfwapgE7XFbHfTYrWUFcTuopSAvX/2suZeurBCRoCoUNgTAsp6ryPR0BtsXnD5iUVx38OKBsxfHXCk62F9WkLcHEfEOXR4uIpWyOLBfAvKANaDpKbD7RUegbuGWuPZilHhxzJWisO5ekLeJWtNnsUVE%2Bko3OpPqKJVWx7brMIwmTPN1CoWB/QOtS8RlgJw7IndLXHtRkENKcS1uoLj2H61TqSxtUCK1E%2Bq8m7hlPT/gqekMtucFsxbcFNdeilUvjbXSFNbiFkEOsc118smVvLZN6vLwoNIORKqnUNgQy3qBSORZ0unjBjQtncGWAQhwrbXzUrB6aayVprgWt/BayFSSn%2BPay%2BvVa2MPRlx7bKWI%2BECxuAoAodDXA56WzmCL57jl7LVXgtUr46wWxbW4hddCppIU1%2B7k5bGLiFSSYWQBsO3kgKelM9h95qZacbIc3LQcas8r0eqVcVaDHr/VdzrYrp4gL1vFtVSKzl6LSLUYRgaoTGDrDLZ4ihvOXnshWr0wxmpSWItbKMD8y%2Bvr1mvjD0Zci4hzKhfYOoMt/eBMvSmuy%2BOFMVaT4lrcwmsBUw1%2BPnvtZdo23UorRsQplbxEXGewRcrkhXD1whirRWEtbqKA8Xdce3n9enHswTh77cEVI%2BIjiy8RTwx4WgpszwpWTTh99trt4er28VWb4lrcxIsBU2mKa6mUYMS1iDhtcWCnBjwtBbb0UfBKzu3x6vbxVZPCuvLGjQv2NjUQCq82imv38vr4/UsrRsRpusmZY3TU6QQnz167PTTcPr5qUViL2yhc2iiu3cuL49fZa1nMxzsXcYk0UJlLxHWTM09yqi5qX3NOXxruZoprEXfwYrhI33h9HXtx/MGJaw%2BuHBEfWnyTM10iLlI1bg1Yt46r2hTW4jZejJZq8vPZa6mt4MS1iLiFYXScwdZjukSqwq0R69Zxib8oHHs2bpyW0dL8HNdeX9deH7%2B/aeWIuIfuIi4BoMvDpYPOXtfekgfl%2BsWOImV5FNbu5dXxB%2BfstUdXkIgvlQiFvm37f6UhA56aAlvKFJwjbLfGhFvHVW2Ka%2BcFMba9Gie1orB2Ny/OQ3DCGhTXfeXjHY64Qjj8HqHQ99h2HYXCmAFPT4Et4gFBiZqlKa7dx4%2Bx7cUYcYqfwxr8sS14cR4U1yLiJMt6HoBsdncgNuDpKbDFlZy6PNyNweDGMdWC4tr9ujuQd/v26sX4cAs/x7VftgsvzofiWnrm4x2PuESJSORZALLZfSsyRQW256g6xP8U197lhuj2YmS4mZ/DGvyxvXh1HoIT1x5dQSIBEA6/Tyj0LbZdRy43sSLTVGBLGVx%2BSqpC3HjmzY1jqjbFtf949eA/6BTW3uDV%2BVBcS%2B98vhMSV7Cs5wDIZnejEpeHgwJbXEh3D2%2BjuBYRJ/g9rMG7Ubo0r86H4lpE3KFEJNIR2JW5PBwU2CKA%2B2LWbeOpBcW1iLMU1t7i1XlRXEt5ArBDEseFwx8QCn2Dbacqdnk4KLBFXEdxLSK1prj2Di/Ph%2BJaRNyk6%2BXh8YpNV4EtruLE5eFBDFo3UVyLOEdh7S1enhfFtZQvADsmcQG74ncP76DAll6oPmspaLGvuBZxhsLae7w8P4prEXGbtruHd1wevlNFp63AlkBzU9C6aSy1oLgWqb0ghDV4O0aX5vV5UVxL3wRkJyWOs6znAcjldqWSl4eDAltERMT3FNbe5OX5UViLiHvliESeASCTqezl4aDAFhfR47lERCpHUe1dXp8nxbX0T0B2WuK4aPReQqFvKZVGkMvtXPHpK7BFXCBol4dD28G/LhMXqaygRDV4P0K74/V5UlhL/wVo5yWOMoyFxGJ3ANDc/P%2Bo9OXhoMAWERHxtCBFNXg/QpfH6/OluJb%2BC9hOTBwVj/8Dw8iQz29NNntgVd5DgS0iIuIximr/8Pq8KaxlYAK2MxNHhcNvEYk8hW0bNDdfBBhVeR8FtgRWEC/LFhHvClpUg/fjsyd%2BmDfFtQxMAHdq4qAiicS1AGQyv6JQ2LRq76TAFnGYQl9ElkdR7T9%2BmD%2BFtYh4TSTyX8LhjymVhtLSckpV30uBLSIi4hJBDOoOfgjPnvhl/hTXUhkB3tlJzRlGA/H4TQC0tJyCbQ%2Br6vspsEXEMbqTuIii2u/8Mo8Ka6mcAO/0xBGx2C0YRhOFwkZkModX/f0U2H0yDtD1vCIi0n9BDuoOfonOnvhpHhXXUjnaAUpthcNziUQeAmi/sVn181eBLeIgff5aJBgU1f4Kzp74aT4V1lJZ2hFKrdnE49diGDbZ7CTy%2BW1q8q4KbAkkha2IVJOCejE/BWdP/DafimupLO0UpfYs6ylM821sO0Fz89k1e18FtoiIyAApqLvyW2z2xG/zqrCWytMOUpzQQjz%2BTwBaW0%2BgVBpVs3dWYIuIozrCRDc7E69QTHfPb6HZEz/Oq8JaqkM7THFCiWRyGqHQQorFNWltPbam767A9pzNAZXIQI0bp8vE3UahLW6jkO6dH0OzJ36c3%2BCENSiua007UXFGNHoXlvUCth2lsfHvQKym76/AFhFXWTJqFNtSCwrpvvFjZPbEr/OrsJbq0o5VnGGac4jFbgSgufkSCoXab4sK7D4L2qO6gja/taUz6T1TbEulKKL7z6%2BB2Rs/z3dw4trHK9G1tLMV54RCX5NIXIRh2GQyh5HJHOrIOBTYIuIJ3QWSols6KKAry89x2RO/z7fCWqpLO2JxUpZk8jxCoUby%2BbE0NV3k2EgU2CLiWcuLKoW3fyica8fvcbk8QZjv4IQ1KK6dop21OMkmHr%2BacPhDSqVhNDbeBEQdG40CW0R8p5woU4TXnmLZXYIQlsvz/9m78zgp6nv/9%2B/qbVbAGRmXQT0qoAmJxjWiRlCIWxCNP%2BUkXg2G6/EkQRKj5uToNW45XhOjcTnqkYTESAwS9Rg8R1ySiOIS44qJ4pIooERwGWCYjenprX5/jD3MMAvdM931rfrW6/l45BGcaYYPRU91veZbVR2WvzthjfJjxw7zEolHVFHxR7luRK2tdyqX283oPAR2INl5J/Fdd91VH3zwgekxPMd12GZ4GXt%2Bi3lCN7zCEpYDCcvfPVxRLRHWJvFiAvOi0bdUVfUzSVJHx1VKp6canojAHiZu/AWgcAQtTAlLVA4mTH9/whre4oUN5jlOs2pqfiTHyair68vq7PyO6ZEkEdgoiJ0/UGDlGIBtwhSUgwnbNiCs4S3CGn6RVU3NdYpENiiT2VdtbbdJckwPJYnABgAgsMIWk4MJ43YgrOEtwhr%2BUll5p2Kxv8p1R6m1dZFcd5TpkXoQ2IAPsJoOoBBhDMnBhHVbhC%2BsJeLaNOIa/hKPP6XKyt9Jklpbb1c2u4/hifryRWA/9thj%2BtnPfqZVq1apsrJSBx10kC688ELtvffePY%2B5%2BOKLtWTJkn6/d8GCBZoyZYqX4wIA4ImwRuRgwro9whnVEmFtGmEN/4lG31R19U2SpC1bLlQqdbLhifozHtjPPvus5s2bp5NPPlnf/e531draqltvvVVz5szRQw89pNra2p7H7r777rr%2B%2Buv7/P7x48d7PfInTF%2BXbOedxMOMVWwAYQ3IoYR5mxDWMIe4hv9EImtVW3uVHKdLqdRx6ui4zPRIAzIe2A899JAaGxt17bXXynG6L0wfN26cZs2apZdffllTp2691XplZaUOOOAAU6OGnDc/UPD6rbqIWgCmhDkchxL27RLeqJYIaz8grOFPjtOk2trL5ThtSqcPVUvLQklR02MNyHhgZzIZ1dTU9MS1JI0a5Z%2BL1AEvEfyAncIejUNh23QjrGEWYQ3/cpw21dZeoUikSZnMvmppuVdSjemxBmU8sE8//XR9/etf11133aVTTjlFra2tuvbaazV%2B/HgdfvjhfR67du1aHXLIIUomk9pnn300d%2B5cffGLXzQ0ucRp4uUR9lVsv80DoDgE4/axjbqFO6olwtoPCGv4XVI1NT9UNPqestlxamlZItfd0fRQQ3Jc13VND/HEE0/ooosuUkdHhyRpwoQJ%2BuUvf6lddtml5zELFy5ULBbThAkT1NbWpsWLF%2BuZZ57RzTffrBNOOGGYf3KHpCdGOL3pEvIysL37u3oZ2JI/g9aPMwHoi1AsDNtpK6JaIqz9wra4Pl%2B5XLU6Oh43PQhKJqOqqv9fsdjzyuXq1Nb2e%2BVyk4xNU1dX2Kq58cBesWKF/vVf/1Wnnnqqpk2bpvb2ds2fP1%2BpVEqLFy/uc5Oz3nK5nL761a%2Bqvb1dDz/88DD/dAK7eN78fb0ObMmfQevHmYAwIhCLw/bqi6jO44nhD7aFdd75ct0aOc6zpgdBSbiSrpP0iKQqSY9JOsLoRIUyfor41VdfrcmTJ%2BvSSy/t%2BdjBBx%2BsKVOm6L777tOcOXMG/H2RSETHHXecrrvuOiWTSVVWVno1ss9wmrjNOF0c8BZhODxst/6I6jyeHP5ha1hv5bqu2ts7TY%2BBEkgk7lRFxSNy3ag6On6tdPpz6l4cNafQFWzjgb1q1SpNmzatz8fq6%2Bu10047ae3atUP%2BXh%2Bc3S7z12GjVPwas36dCwgqYnDk2IYDI6p740niH/aHdW/ZrB/6ACNRUfE/qqi4V5LU1narurqOl5QzO1QRjAd2Y2OjXn/99T4fa2pq0scff6xx48YN%2BvtyuZx%2B//vfa%2BLEiSFevTaBHyiYQGQDxSEAS4vtOTiiels8WfwjXGENO8Tjy1VV9XNJUnv7VerqOtPwRMUzHthnnnmm/uM//kM//OEPNX36dLW2tupnP/uZqqurdfLJJ0uS1q1bp4svvlgnnXSS9thjD7W0tGjx4sVauXKlbrnlFsN/A5SLidPE/Ryyfp4NMIHoKx%2B27dCI6oHwpPEPwhrBFIu9rOrqGyRJW7bMVWfndw1PNDy%2BCOx4PK67775bS5YsUXV1tfbbbz9de%2B212mmnnSRJNTU1qq2t1W233aZNmzYpHo/rs5/9rBYsWKCjjjrK8N9AMr%2Bqa%2Bd12OiPyEZYEHjeYnsPjaAeDE8cfyGsEVzR6N9UU/MjOU5WyeQsdXRcI8kxPdawGL%2BLuFmluIt4nunq4W7ipeT3iPX7fMBQiDnz%2BDfYPqJ6KDyB/IWw7tb9Nl2trctMD4IiRSJrVVt7sSKRFqVS09TScq%2BkhOmx%2BmloGFXQ44yvYAND4W7iA2MlG35EtPkT/y6FI6q3hyeTfxDVsEMk8oFqay9TJNKidPpgtbT8Rn6M62IQ2CXDaeI2CULA5g%2Ba/T4ngo9ACxb%2BvQpHUBeCJ5S/ENawh%2BNs%2BCSuNyiT%2BbRaWv5bUq3psUaMwMYwefcDBVOr2EGIbInQxvAQYXbg37E4BHUxeHL5C2ENuzhOyydx/YGy2fFqafkfue6OpscqCQIbsAShDYngsh3/vsUjqovFk8xfCGvYx3HaVVt7uaLRtcpmx2nz5v9RLreL6bFKhpuclewmZ3mm68bOm51J3PCsWEGdG/0RVeHEv/vwENTDwZPNfwjr4nGTs2BIqrb2MsVibyiXa9DmzY8qm51oeqiCcJMzWIdTxYvT%2B%2BA8iPOHBREFiefBSBDUw8WTzp8Ia9gspdraqz%2BJ6zpt3vw/gYnrYhDY1vH6Zmemb%2B7mjaBGdh6xbQbRhIHwvBgZgnqkeAL6D1GNMMiopuZaxWKvyHVr1dLy38pmP2t6qLIgsEsuHMFpism37Qp6ZOcR26VBJKEQPE9GjqAuBZ6I/kRYIyyyqq6%2BUfH4c3LdSrW03KNM5lDTQ5UNgW0lVrHLxZbIztv24N%2Bmv9tIEEUoFs%2BZ0iGoS4UnpX8R1ggTV1VVtyuRWC7Xjam19S6l00eZHqqsCOyyCE9wmmByFVuyL7J7GygSbPu7EkIYCZ4/pUVMlxpPUP8iqhFGrior71BFxSNy3YhaW3%2BpVOp400OVHYGNEvH2hwpEtneGCgq/bAOiB6XGc6o8COpy4Mnqb4Q1wquycrEqK38nSWpru02p1KmGJ/IGgW0tr08TD58wRfZgiBAEHc/h8iKoy4Unrv8R1gi3iooHVFm5SJLU1vYTdXWdaXgi7xDYZRPG08TDtYotEdlAEBDR3iCmy40nsv8R1YAkJRKPqapqgSSpo%2BNyJZPfNDyRtwhsq9m/ik1kA5CIaBMI6nLjSR0chDWQF4s9r6qq/5QkbdnyHW3Z8j3DE3mPwEaJhXHlnsgGvEBEm0NMe4UnebAQ1kBv0ejrqqn5sRwnq2TyTHV0/IfpkYwgsMvKD7HJKrZX8gf/hDYwfES0PxDUXuEJHzxENTCQSORd1db%2BUI6TUip1gtrabpHkmB7LCAIbZeD9Dxb8EtkSq9nAUAho/yGmvcY3QTAR1v6XMD1AaEUiH6m29nI5TrvS6clqablTYc5Mx3Vd1/QQ5nRIesKDP8cPtWViFdv7v7dfIjuP0EbYEND%2BR1CbwDdGcBHWwXCIpGOUy8XU2rrM9DCh4jibVVv7fUWj65TJTNLmzY/IdetMj1UWDQ2jCnpceH%2B0ACv5aSVbYjUbdiGeg4eYNoVvluAjrIOD7zdztqim5ipFo%2BuUze6hlpYl1sZ1MVjB9mQFW2IV21t%2Biuw8Qht%2BR0AHH0FtCt88diCqg6f39x4r2N5Kq7b2KsViryiXG6vNm3%2BvbHai6aHKihVs%2BISZG735bSVb4iZoMI%2BAtgsxbRLfTHYhrIOJ70Nzsqqp%2BalisVfkurVqabnf%2BrguBoHtGe4o7jU/RrZEaKN8CGh7EdOm8c1lJ8I6uPieNMdVVdXPFI8/LddNqKXlbmUyB5oeylcIbHjA3A8X/BrZEqGN4hHQ4UBM%2BwHfbHYjrION70%2BTKisXq6LiIbmuo9bWBUqnjzY9ku8Q2J4K8yo2kT0YQhu9EdHhQkz7Ad904UBU24HvV5MSiYdUWblIktTe/lOlUqcansifCGyEgt8jWyK0w4SIDh9C2k/4BgwPotoufO%2BaFIs9p6qq2yVJHR2XKJn8F8MT%2BRd3EffsLuK9%2BaGgTF2Lbfbv7vfI3haxHVxEdHgR037CN2I4Edb2KeR7mbuIl0sk8q5GjfqeHKdTnZ3nqL39BkmO6bE8x13E4VNmT5MPwkp2b6xq%2BxsRHW6EtN/wDRluRLW9%2BN42yXFaVFt7tRynU6nUVLW3/0RhjOtisIJtZAVbMr2S283kHcVZyR4Jgts7RDQIab/imxMSYW27Yr7PWcEuvYxqay9XLPZXZbN7q7l5mVx3R9NDGcMKNgoQrrft6i1oK9nb2jb6CO7hI6DRGzHtZ3yzojfC2n58z5tWVbVAsdhf5bqj1NKyONRxXQwC2xg/3FHcJPN///yBdJBDO4/gHhwBjYEQ0kHANy8GQliHA9//piUSD6uiYuknb8f1C2WznzY9UmAQ2KFnchXbfGRLwV/NHshQUWlTfBPP2B5COij4ZsZQiOpwYX9gWiz2V1VVzZckdXRcqVTqRMMTBQvXYBu7BjvPL7UT3uux82yL7JEwFeEEM4aDiA4ivtlRCMI6fEayb%2BAa7FKIRD5Qbe2FikRalUz%2Bs9raFoibmnXjGmwEiH9WsiVCWyJ04T9EdNCxU0GhiOrwYj9h3hbV1FytSKRV6fTBamu7RcR18Qhs4/wRl%2BZveOaX7WDnKeNAEBDRtuAgGcNBWIcb%2Bw3zcqqp%2Bami0XeVy%2B2i1tZFkqpMDxVIBDZ6IbLzWM0GyoOIthEHxhguohrsP/yisvI3isefk%2BtWqKXlbuVyjaZHCiwC2xf8E5bm%2BWtbENpAcQho23EwjJEiqpHH/sQv4vHlqqy8R5LU1narMhn%2BbUaCwMY2TK9iS36LbInTxoE8AjpsOMhCKRDV2Bb7Fr%2BIRt9RdfXNkqQtWy5QV9dXDE8UfAS2b/gpKonsgbCajTAgoMOMA16UElGNwbCv8Y%2Bkqquvl%2BOklEodr46Oy00PZAUCG4MgsgdDaCPICGh04wAX5UBUY3vY9/hJVdWvFI3%2BQ7ncrmpt/ZmkqOmRrEBg%2B4o/g9Is/24TQht%2BRECjPw5oUS4ENYrBvshPYrGXVFGxVJLU2nq7XLfe8ET2ILB9x09B6YdVbMlf26Q/QhteI6IxNA5iUW6ENYrFfslPHKel13XX31Q6Pc3wRHYhsLEdRHahCG2UEhGNwnHgCi8Q1Rgu9lH%2B4qq6%2BjZFIpuUyeyrjo6rTA9kHQLbl/wWk0R2MXqHEbGNoRDRGB4OVuEVohojxf7Kb%2BLxxxWP/0muG1Nb2wJJVaZHsg6BjQIR2cNBbIOIxshxgAqvENQoJfZdfhOJfKjq6vmSpI6OS5XJHGB4IjsR2L4VrJD0Vn6HHaztQ2zbi4hGaXFQCi8R1SgH9mP%2Bk1V19Y1ynC1Kpyers/O7pgeyFoHta36LbL%2BsYuf5bfsUjtgOHiIa5cFBKLxGUKPc2K/5UUXFEsViK%2BW6tWpt/bl4S67yIbBRJCK71LYNN4LbDAIa5cdBJ0wgqOEl9nN%2BFI2uUmXlXZKktrafKJfb0%2BxAliOwfc%2BPAenHyJb8t52Gh%2BAuDwIa3uNAEyYQQUvXuwAAIABJREFU1DCFfZ4/dam6%2BqdynIy6umaqq%2BtM0wNZj8AOBCK7MH7cTiM3UBgS3f0R0DCHg0qYRFDDD9gP%2BlVl5V2KRt9TLreT2tpuluSYHsl6BDZGwK%2BRLdkY2r0NFpM2hjfhDH/hIBImEdPwI/aLfhWN/k2VlUskSW1tt8l1xxqeKBwI7MCwc3W2fMK5vQqNUVMhTiwjODhghEmENIKCfaV/uaqq%2BoUkKZn8qlKp4w3PEx4ENkbIj6vYeeGM7EIQuoDEgSH8gZhGULEP9bN4/BnFYm/IdavU0XGl6XFChcAOFL8Go98jW/LndgNQfhwAwi8IadiEfau/pVRVdackacuW85XLNZodJ2QI7MAhsoeH0AbsxsEe/ISYhs3Y3/pdRcWDikQ%2BVC63q7ZsOd/0OKFDYKOE/B7ZEqENBB0HdvAjghphwT7Y7xxnsyor75EktbdfLqnG7EAhRGAHkl9XsaVgRLbk720IhBkHbwgCghphxP45CCor75bjdCiTOUBdXWeYHieUCOzA8nMgBimyJf9uR8BGHKAhaIhpgH13MEQi7ymReESS1N5%2BjaSI2YFCisAONCK7NAhtoDQ4AIMNCGqgL/btQVFVdYccJ6eurplKp79gepzQIrBRRkGKbInQBobCARZsREwDQ2PfHxSx2EuKx1%2BS68bV3v5D0%2BOEGoEdeH5exZaCF9lS3xcTP29boBQ4eEKYENQAbJRVVdUdkqTOzm8olxtveJ5wC3lg23JXvSBEthS80JZY1UZwEc4IO2IaGBleR4Iikfi9otH3lMvVa8uWfzM9TuiFPLCl5uZjVFf3hOkxSsDvkS0FczU7j9CGX3DAAwyMoAZKh9ea4OhUZeUiSVJHxyVy3TrD8yD0gQ2vBTmyJU4fR/lwMAMUh6AGyoPXoyBJJB5TJLJZ2ezeSib/X9PjQAS2JKmpaaoaGp40PUYJBGEVWwp%2BZOcR2ygUByvAyBDTgDd4vQqWrCoq/leStGXLXElxs%2BNAEoFtISLbDGI7vDgYAUqPoAa8x%2BtZ0MRiLygaXa9crk7J5Jmmx8EnCOxP2LOKLQUrsiW7Qlvq/wIVhH8LDIyDDcAbBDVgFq93QVRZ2b16nUx%2BXfbcvDn4CGz4gG2r2dsiuP2JgwnALKIa8AdeD4MoGn1Hsdirct2YOjv/1fQ46IXA7oVVbJNsj%2BzeCG5vcMAA%2BA9RDfgLr5VBlb/2uqvrVOVy4wxPg94I7G0Q2SaFKbJ7G%2BzFLUj/dl7iYAAIFqIa8CdeT4PKcTYqHl8uSersPM/sMOiHwLZeECNbCmdobyts4c0LPWAPohrwN15zg6yi4iE5Tlbp9OHKZNjf%2Bg2BPQC7VrGl4EW2FN7V7EIU%2B6Lo1b89L9YAONAD/I/X62BLKpF4RJK0ZQur135EYIdGUCNbIrRHihdSAOVEVAPBwTFB0CUSTygSaVU2u6dSqRmmx8EAIqYH8KumpqmmR0APDt4AwF8O6vU/AMFAXAdfrufmZp2d35QUNTsOBkRgD8G%2ByA7yjpUDOQAwi6gGgivIx4DIi8VeVjS6VrncaCWTXzM9DgZBYIdO0HewHNgBgHeIaiD4gn7sh7yKij9IkpLJ2XLdUYanwWAI7O2wbxVbCv6OloM9ACgfohoA/MZx2hSLvSBJrF77HDc5C60g3vRsW9wEDQBGjpAG7BX0RRXkxeN/luNklMl8Rtnsp02PgyGwgl0AO1exJXt2uqy0AEBxWKUG7GfLcR4kKZHofgvhZHKW4UmwPQR2gYjsIOBAEQAGR1QD4WHT8R0cZ5Oi0b9Kkrq6TjM8DbaHU8QhO04Xz%2BO0cQDYipgGwoe4tk0i8bQcx1U6fZhyuX8yPQ62gxXsIti7ii3ZtzNmlQZAmLEPBMLJtuM5SFI8/pQkTg8PCgK7SER20HCQCSBM2OcB4WXjcRwikfWKxd6S60bV1XWq6XFQAE4RxzZsOl28N04dB2ArghoAcW2r/Op1On2MXLfB8DQoBIE9DE1NU9XQ8KTpMTAsvQ9EiW0AQUVUA8gjru3l9rp7ODc3CwpOER8mThW3AadSAggS7gIOYFthOWYLp2h0taLRtXLdCqVSM02PgwKxgo1B5HfYNp4uvi1WtQH4ESENYCjEte3i8aclSanUiXLd0YanQaFYwR4Bu1ex88K282aFCIBJ7IMAFCJsx2dh1Pv08NMNz4Ji%2BCKwH3vsMc2aNUsHHXSQjjjiCM2bN0%2BrV6/u97gnn3xSX/7yl7Xffvvp2GOP1aJFiwxM2xeRbTMOdAGU20FiXwOgOGE9LguXSGSNIpGP5brVSqWONT0OimA8sJ999lnNmzdPe%2B21l2655RZddtllWrNmjebMmaP29vaex73yyiuaO3euJk2apAULFujUU0/V1Vdfrfvuu8/g9GES9p05B8AARmrbmGZ/AqBYYT8eC494/EVJUip1tKQqo7OgOMavwX7ooYfU2Nioa6%2B9Vo7jSJLGjRunWbNm6eWXX9bUqd0rxLfddpsmTZqka665RpI0efJkffDBB7r55pt12mmnKRIx97OC8NxV3Na38CrWtgfFXLcdLjZHEc/l0rH5eQLADOI6TOLx7mPuVOp4w5OgWMYDO5PJqKampieuJWnUqFF9HpNKpfTcc8/pe9/7Xp%2BPz5w5U/fee6/eeOMNffazn/VkXhDZ/RHcwUDwbF8pt5Ht3wc8nwB4ibgOE8dpUTT6piQCO4iMB/bpp5%2Bur3/967rrrrt0yimnqLW1Vddee63Gjx%2Bvww8/XJK0du1apdNp7b333n1%2B74QJEyRJq1atMh7Y4VnFlojs7RnswNv24PAKYRMMQYt1nlcA/Iq4DptY7CU5jqtM5nPK5RpNj4MiGQ/sQw89VLfeeqsuuugiXX311ZK6w/mOO%2B5QIpGQJLW0tEiSRo/ue3v6/H/nPz8c0WjpTi1vbj5GdXVPlOzr%2BRuRXTzCe2CEDbaH5wiAsCKuixWNOtt/kM8lEt3H2On0CYrFjN8yC0UyHtgrVqzQv/3bv%2Bm0007TtGnT1N7ervnz5%2Bvcc8/V4sWLVVtb2/PY3qeR9zbYxwsxenSpbxpwkqSlJf6afkVkl0Yh8eD3CCeAAAAoLeK6WI7jaNSooN8QLCPpZUlSVdWpqqqqMTsOimY8sK%2B%2B%2BmpNnjxZl156ac/HDj74YE2ZMkX33Xef5syZozFjxkjqv1Ld2toqqf/KdjFaWzuVzeaG/fsHUldX0i/nc/mdP6FdXgQsAADhQVwPh%2Bu6am/vND3GiESjf1V1dYdyubFqaZkkqcP0SPhEXV1hP%2BwwHtirVq3StGnT%2Bnysvr5eO%2B20k9auXStJ2mOPPRSPx7V69WpNmTKl53HvvPOOJGn8%2BPHD/vOz2ZwymdIGdriux85jNRsAAGDkiOuRyGZd0yOMyNa35zpemYwklbZTUH7GT%2BpvbGzU66%2B/3udjTU1N%2BvjjjzVu3DhJUiKR0OTJk/XII4/0edzSpUvV0NCgSZMmeTZvoZqappoewQBeEAAAAIaPY6mwi8dfkCR1dZ1geBIMV/TKK6%2B80vQQCxcuVHNzs2KxmF5//XVdccUVSiaTuuqqq1RT070Uv/vuu2v%2B/Pn64IMPVFNTowcffFC/%2BtWvdMkll4zoDuLJZFq5XHl%2B0lVT815Zvq6/NUpab3oIAACAADlE3cdQGL695LoRdXWtMT3IsEUi61RVtUiuG1d7%2B02SKkyPhF5qagr793Bc1zV6HoXrurr33nt19913a%2B3ataqurtZ%2B%2B%2B2nCy64QPvuu2%2Bfxz755JO64YYbtGrVKu2yyy6aM2eOzjzzzBH9%2Bc3NHSU/Rby38J0q3hunjAMAAAyNVevSOEa5XEytrctMDzJsFRUPqKpqgVKpo9XS8r%2Bmx8E2GhpGFfQ444FtWrkDWyKyAQAAMBDiunSCH9g1NZcpHl%2Bh9vZr1Nk5z/Q42EahgW38GuwwCOf12Hm8cAAAAPTHMRJ6SyoWe02SlEodZ3gWjETRgb1y5cpyzAGr8QICAACwFcdG6CsWe02Ok1Y2u7uy2Ymmx8EIFB3Yp59%2Bur7yla/of//3f5VOp8sxk5XCvYotdb%2BQ8GICAADCjuMh9BePvyJJSqW%2BKMkxOwxGpOjA/vGPf6xcLqfvf//7Ovroo3XTTTfpww8/LMds1iGyJUIbAACEF8dAGFgs9rKkfGAjyIZ9k7NXX31Vv/nNb/Too48ql8vpmGOO0VlnnaXDDjus1DOWlRc3Oest3Dc82xY3QAMAAGFBXJdXcG9yFol8oNGj/0WuG9XGje/KdceYHgkD8Owu4ps2bdK9996re%2B65Rx9%2B%2BKHGjx%2Bvs846S6eeeqoqKvz/3m1eB7ZEZPdHaAMAAFsR1t4IbmAnEg%2Bruvo2pdNHaPPmR02Pg0F4dhfxRCKhyspKxeNxua6rzs5OXXnllTruuOP0l7/8ZaRf3kqcKr4tXngAAICNOMbB9vW9/hpBN%2BzAfuutt3T55ZfrqKOO0vXXX6/9999f9957r5YtW6YHHnhAO%2B%2B8sy6//PJSzmoVIntbXJsNAABswnENCpFWLEZg2yRW7G94%2BOGHtWjRIq1YsUL19fWaM2eOzjjjDDU0NPQ85lOf%2BpQuuOAC/cu//EtJh7VNU9NUThfv5xBxyjgAAAg24tpr2WyVHCd473AUi70px%2BlULjdWmcz%2BpsdBCRQd2BdeeKEmTZqka665RjNmzFAikRjwcbvttptOPvnkEQ%2BIMMq/KBHaAAAgSAhrE5qapqq%2B3vQUw7N19Xq6SnD1Lnyg6JucvfTSSzrkEHt2HiZucrYtVrG3h9AGAAB%2BZ8/xcZDkL7usr6%2BR46QDd5OzUaPOVzT6jlpbF6ir6yumx8EQynaTs/vvv1//%2BMc/BvzcunXrdMkllxT7JUOP67G3h%2BuzAQCAn3GcguI5ziZFo%2B9IklKpaYanQakUHdgPPPCAmpubB/xcc3OzHnjggREPFUZEdiEIbQAA4Cccm5gU9OPnePxFSVImc7Bct2E7j0ZQFB3YQ51R3tLSMug12di%2BoO8kvMOLGQAAMI1jEZNsOG6Ox1%2BWJHV1HW94EpRSQTc5e/HFF/X888/3/Pd9992np556qs9jurq6tGzZMo0fP760EwKD6v3CxnXaAADAK8S1STbEdffbc3UHdipFYNukoMB%2B/vnndeutt0qSHMfRfffdN%2BDjGhsbee/rEeKtu4aLO48DAAAvENcm2RHXUiy2Uo6TVC63szKZz5keByVU0F3Ek8mkOjs75bqujjjiCP3yl7/UpEmT%2BjwmkUiopqambIOWix/uIj4QIrsUiG0AAFAqhLVpQ8V10O4iXlW1QBUVDyiZnK22tltNj4MCFHoX8YJWsCsrK1VZWSlJWrZsmRoaGrjWusxYyS4FVrUBAEApENem2bJy3c1VPP6CJK6/tlFBgd3buHHjyjEHBkBkl8q2L4oENwAAKARh7Qd2xbUUiaxTJLJerptQOn206XFQYgUF9uzZs3XFFVdo/Pjxmj179pCPdRxHCxcuLMlwILLLg5ujAQCA7SGu/cC2uJa2vj1XOv0FuW5hpx0jOAoK7N6XaW/vku0CLulGkYjsciK2AQBAb4S1X9gY15IUj3cfc6ZSxxmeBOVQ0E3ObObXm5wNhMj2GsENAEC4ENd%2BUWxcB%2BcmZx0aM%2BYMOU5WGzf%2BRbnc3qYHQoEKvclZpNgv/OKLL6qjo2PAz23ZskUvvvhisV8SBbL1p3j%2BdcgA/wMAAPbhdd5PbD7mjcdfkeNklc1OJK4tVfRNzmbPnq177rlH%2B%2B%2B/f7/PrV69WrNnz9abb75ZkuHQH6eLmzbYiy%2Br3YUJ4sEL/7YAYLcgvjbZy%2Ba4lraeHt7VdYLhSVAuRQf2UGeUZzIZRSJFL4qjSES2H23vxTnokRbmg49C/%2B5B/zcGgLAJ82ubP9ke11JGsdjzkqRUisC2VUGB3d7ertbW1p7/bmpq0vr16/s8JplMasmSJRo7dmxpJwSswIu4/Yb6Nya%2BAcBfeF32G/vjWorFXlMk0qpcbqzS6SNMj4MyKSiw77zzTt12222Sut%2BGa968eQM%2BznVdfeMb3yjddBgUq9hAkAx0IEd0A4D3CGs/CkNcS1I8/mdJUip1kqSo2WFQNgUF9pFHHqnq6mq5rqvrrrtOZ511lhobG/s8JpFIaJ999tHnP//5sgyK/ohsIMiIbgDwFnHtR2GJaymrePxZSVIyebLhWVBOBQX2gQceqAMPPFCS1NnZqVmzZmnnnXcu62AoDJEN2GTbgz%2BCGwBGjrD2q/DEtRSNvqlIpFm53A5Kp6eYHgdlVPRNzgY7PRzmENmArQhuABg%2BwtrPwhTXkpRI5E8PP1FSwuwwKKuiA1uS3n//fT3yyCNav369kslkn885jqNrrrmmJMOhcEQ2EAYENwAUhrj2s7DFteT2nB7e1cXp4bYrOrCXL1%2BuefPmKZfLqb6%2BXolE35/AOI5TsuFQnPzOitAGwoLgBoC%2BCGu/C19cS9Ho24pEPpbr1iiVmmZ6HJRZ0YF944036qCDDtKNN96oHXfcsRwzYYRYzQbCqveBJbENIEwIa78LY1jnbb17%2BPGSqswOg7KLFPsb3nvvPZ177rnEtc%2BFeScGQOo%2B2Mz/DwBsxX4uCMJ9XOoqHv%2BTJE4PD4uiA7uxsVFbtmwpxywosXDvzABsRWwDsA37tKAI%2B/FoJPKuotF1ct1KdXUdZ3oceKDowP7GN76hO%2B64Q52dneWYByUW9p0agG0R2wCCjP1XkHAcKiUS3Tc3S6WmS6o1Oww8UfQ12K%2B99po2btyoY489Vocddpjq6ur6PeYHP/hBSYZDaXBNNoCBcc02gCAhrIOEuJa6Tw9/RhKnh4eJ47quW8xv%2BNSnPjX0F3QcvfnmmyMaykvNzR3KZHKmx/AEkQ1g%2BwhtAH5DWAeNibiur6%2BR46TV2rrM8z97MNHoKo0a9R25bqU2bnxHrjva9EgYgYaGUQU9rugV7LfeeqvoYeAPvI0XgO1jVRuAXxDWQcOqdV/xePcxdyp1InEdIkVfg43gY%2BcHoDBcrw3ABPY7QcTx5bZySiS6AzuZnGV4Fnip6BXsvKefflovvPCCmpubNXfuXDU2NurVV1/Vbrvtpvr6%2BlLOiDLgumwAxckf7LKqDaBciOqgIq77i8VWKhLZoFxujFKpY02PAw8VHdidnZ2aO3eu/vznP8txHEnSGWecocbGRt1xxx3adddd9e///u8lHxSlxynjAIrHKeQASo2wDjLiemDx%2BFOSpFTqFEkVZoeBp4o%2BRfzGG2/UypUrdcstt%2Bill15S73ukHXnkkXr22WdLOiDKjx0jgOHhNE4AI8E%2BJOg4hhxMWolE993Dk8l/NjwLvFb0Cvajjz6q888/X8cee6yy2WyfzzU2NuqDDz4o2XDwDqeMAxg%2BVrUBFIOoDjrCemix2MtynDblcrsqnT7S9DjwWNGBvWnTJk2YMGHAz0UiESWTyREPBTM4ZRzAyHGtNoDBENY2IK63L5HoPj08mTxNUtTsMPBc0aeI77zzzvr73/8%2B4Of%2B9re/abfddhvxUDCLHSeAkeMO5ADy2BfYgmPEQmxRPP5nSVJXF3cPD6OiA/u4447T/Pnz9cYbb/R8zHEcrVu3TnfeeadOOOGEkg4IM5qaprITBVAiHFwD4cMP2WzDcWFh4vHn5DgpZbMTlMkcYHocGOC4ve9SVoD29nadddZZevvttzVx4kT97W9/0z777KO1a9dqr7320t13363KyspyzVtyzc0dymRypsfwPU4bB1BanEIO2Imgtk1Qwrq%2BvkaOk1Zr6zKjc9TUXKF4/CV1dPx/2rLlYqOzoLQaGkYV9LiiA1uSksmkfv3rX2v58uXauHGj6urqdPTRR%2Bvss89WVVVV0cOaRGAXjsgGUB7ENhB8hLWNghLXkj8C23GaNXr02XKcrDZtWqFsduD7ViGYyhrYNiGwi0doAygPQhsIFqLaZkGKa8kfgV1R8T%2Bqqvq50ulDtHnz48bmQHkUGthF30Uc4G7jAMqDt/sCgoGwtlnQwtpPEonuqE4mzzA8CUwqKLBnz55d8Bd0HEcLFy4c9kAIDt47G0D58HZfgP8Q1rYjrocvElmjaPQduW5cXV3/x/Q4MKigwN72LPI1a9Zow4YNamxsVENDg5qamrR%2B/Xo1NDRor732Ksug8CdWswGUF6vagFlEdVgQ1yOTSDwhSUqlTpDr7mh4GphUUGDfddddPb9%2B6qmndNlll2nx4sU68MADez6%2BYsUKXXDBBTrnnHNKPyV8r/dOmdgGUB7ENuAdwjosCOtSyPYEdjL5/xieBaYV/T7YN910k%2BbNm9cnriXpoIMO0rx583TjjTeWbDgEE%2B%2BhDaD8eH9doDz43goTjtdKIxZ7RZHIJuVy9UqljjU9Dgwr%2BiZn77zzjnbdddcBP7frrrtq9erVIx4KduD0cQDlx6o2MHIEddgQ1qWVSCyXJHV1nS4pYXIU%2BEDRK9hjx47VH/7whwE/9%2Bijj2rs2LEjHgp2YUUbgDcOEatvQDH4fgkjjslKbYvi8T9J4vRwdCt6BfuMM87QT3/6U23evFkzZ87U2LFjtWHDBj344IP64x//qAsvvLAcc8ICXKcNwDusbAMDI6jDjLguvUTiGTlOSpnMvspkDtz%2Bb4D1ig7sc889V8lkUr/4xS/0xz/%2BUVL3XcYrKir0zW9%2BU%2Beee27Jh4R9mpuPUV1djaSlpkcBYD1iG2FHVIcdYV0%2BW29udoYkx%2Bww8AXH3fY9uArU1tamV155RZs3b9YOO%2BygAw44QKNHjy71fGXX3NyhTCZneozQicUiqqur6bP9WdUG4C1iGzYjqtEtLHFdX18jx0mrtXWZZ39mJPKhRo8%2BR67raNOmN5TLjfPsz4b3GhpGFfS4olew80aNGqUpU6YM97cD/XBTNADeYmUbtiGqsVVYwtqkeHy5JCmdPpq4Ro%2BCAnv9%2BvVqaGhQPB7X%2BvXrt/v4xsbGEQ%2BG8Nr2BYHgBlB%2BxDaCiqhGf8S1F1wlEo9LkpLJrxieBX5SUGBPnz5d99xzj/bff39NmzZNjjP09QVvvvlmSYYDJG6OBsBrxDb8jqjGwAhr70SjbykaXSfXrVZX18mmx4GPFBTY11xzjXbfffeeX28vsIFyYXUbgLe2DRmCG6YQ1Rgace2tre99fbKkWpOjwGeGfZMzW3CTMzMGuslZKRDcALxDbKPciGpsH2HdzdubnKU1evRsRSKt2rz5AaXT0zz4M2Fa2W9yBvjRQC8yRDeA8mB1G%2BVAVKNwxLUZ8fiLikRalcvtqnSafwP0RWDDeoO9%2BBDeAEqLa7cxXEQ1ikNYm5U/PTyZ/GdJUZOjwIcIbITW9l6cCPChefHizr8BgovVbQyFoMbwEddmOU6bYrHnJUnJ5FcNTwM/IrCBQQznBcx0EBYyc7mufy%2BHIP4bAAMjuEFUY2QIa3%2BIx5%2BW42SUyeynbPYzpseBDxHYQAnx4mceZyYgGAaKLaLbLgQ1SoNjC39JJJ6QJCWTZxieBH5VdGA/8MADmjp1qurq6vp9bvPmzVq%2BfLm%2B/OUvl2Q4ACg1rsmHf7HKHVzENMqDuPaXSGS9YrE35LoRdXWdbnoc%2BFTRgX3JJZfonnvuGTCw33//fV1yySUENoDA4Q708B9Wuf2LoEZ5Edb%2BlF%2B9TqenKZfbxfA08KuiA3uot83u6upSNMqd9ADYYdsDHIIb5g0WdoR3eRDS8B5x7Vdur9PDubkZBldQYK9fv17r1q3r%2Be833nhDXV1dfR6TTCZ17733atdddy3thADgEwQ3/GuoECS%2Bt4%2BQhnmEtb9Fo28pEvlArlurrq6TTI8DHysosH/3u9/p1ltvleM4chxHV111Vb/H5Fe2L7300tJOCAA%2BRXAjGIjvrQhp%2BA9hHQyJxNOSpK6uGZKqzQ4DXysosE888URNnDhRruvqu9/9ri688EL90z/9U5/HJBIJTZw4UbvttltZBgUAv%2Bt9kERsIxgKDU6/hzjhjGAiroMiq3j8GUlSV9f/MTwL/K6gwB4/frzGjx8vSfrRj36ko48%2BesCbnAEAuhHbsAsBC5QSYR0s0egbikQ2KpfbQanUdNPjwOeKvsnZqaeeWo45AMBavQ%2BkYrGI6uqeMDgNAMAUwjqYEonu1etU6iRJCbPDwPeKDmxJeumll7R06VKtX79eyWSyz%2Bccx9HChQtLMhwA2OkkNTd3KJPJsboNACHR3HyMpJzpMVC0raeHJ5OcHo7tKzqw77//fl166aUaM2aM9tprL8Xj8T6fH%2BptvAAAfXEqOQDYrbn5GNXV1UjqMD0KhiEWe1WRyGblcvVKpzkDAdtXdGD/4he/0Iknnqhrr71WiQSnSABAqRDbAGCP/D49NqzzReEXW29udoqk%2BNAPBiRFiv0N69ev16xZs4hrACijpqapXKsHAAHE/tsmaSUSf5LE3cNRuKJ/pjZ%2B/Hht2LChHLMAALbBqjYABAdhbZdY7C9ynDblcjspnf6C6XEQEEWvYF9wwQVasGCBPvroo3LMAwAYBKsiAOBP7J/tlL97ePfp4VGzwyAwil7BXrRokdra2nT88cfrU5/6lHbYYYc%2Bn3ccR7fffnvJBgQA9MWqNgD4A1Fts5Ti8T9LkpLJ0w3PgiApOrD//ve/KxKJqL6%2BXh9//LE%2B/vjjPp93HKdkwwEAhpY/uCO0AcA7hLX9YrEVcpwOZbONymQOMz0OAqTowH788cfLMQcAYARY1QYAbxDX4ZBIPC9JSqVO1jCuqkWIGX/jgK997Wt64YUXBvzcDTfcoBkzZujiiy/WkiVL%2Bn1%2BwYIFmjJlSrlHBIBAYVUbAEqPsA6TnGKxFyVJXV1fMjwLgmZYgZ1KpfS73/1OL7zwgpqbm3XFFVdozz331GOPPaZ9991Xu%2B%2B%2Be8Ff64orrlB7e3ufjy1cuFB/%2BMMfdPjhh/d8bPfdd9f111/f53Hjx48fzvgAEAqENgCMHGEdPtHo3xWJNCuXG610%2BgjT4yBjU7WAAAAgAElEQVRgig7sTZs26eyzz9bbb7%2BtsWPHauPGjero6JAkLVu2TM8884yuvPLKgr/ehAkT%2Bn3soosu0pFHHqn6%2Bvqej1VWVuqAAw4odlwACD1OHweA4SGuwyke7169TqenS0qYHQaBU/QFBdddd51aW1t1//33a/ny5XJdt%2Bdzhx12mF588cURDbRixQq9//77mjlz5oi%2BDgCgP95KBgC2j31luMXj3ZevdnWdYHgSBFHRK9jLly/X9773PX3mM59RNpvt87mdd95ZH3744YgGWrp0qaqqqjR9%2BvQ%2BH1%2B7dq0OOeQQJZNJ7bPPPpo7d66%2B%2BMUvjujPAoCwYlUbAPojquE4HysaXS3XjSiVOs70OAigogO7vb1djY2NA34uk8n0i%2B5iZDIZPfroo5o%2Bfbqqq6t7Pv7pT39a%2B%2B23nyZMmKC2tjYtXrxY5513nm6%2B%2BWadcMLIfrIUjXJXQBPy253t7z22vVl%2B3P7NzcdIkurqnjA8CQCYkd8Pxspw%2B18/7vdtFo2O7C2D86eHZ7OTFY02lGIkhEzRu5HddttNf/nLX/rcgCzv1Vdf1V577TXsYf70pz9p48aNOumkk/p8/Oyzz%2B7z39OmTdNXv/pV/ed//ueIA3v06KoR/X6MDNvfHLa9Wf7c/vl971KjUwCAd7r3e3V15f%2BT/Lnft4vrOho1aqTb%2BSVJUix2iurqakY%2BFEKn6MCeOXOmFixYoIkTJ%2Broo4%2BWJDmOo1dffVW//vWv9a1vfWvYwyxdulQ77LCDvvCFLwz5uEgkouOOO07XXXedksmkKisrh/1ntrZ2KpvNDfv3Y3ii0YhGj65i%2BxvAtjcrGNv/mJ5fsaoNwEb5FWupo%2Bx/VjD2%2B8E3enSVHMdVe3vnCL7KFtXWviLHkVpapimXK//zA8FR6A9cig7sc889VytWrNC8efM0ZswYSdI555yjzZs366ijjtLs2bOL/ZKSpGQyqWXLlmnmzJmKx%2BPbfXzvm6uNRDabUybDzs4Utr85bHuzgrL9easvADbZeo219/vfoOz3gy6bHX4jxOMr5DhpZbN7KZXaRyaeJwi%2BogM7Ho9rwYIFevjhh7V8%2BXJt3LhRdXV1OvroozVjxgxFIsO7vuTxxx9XR0dHQXcPz%2BVy%2Bv3vf6%2BJEyeOaPUaAFAYQhtA0HEDM2xPPN59engqdYKkkV3LjfAa1q0cHMfRjBkzNGPGjJIN8uCDD6qxsVEHH3xwn4%2BvW7dOF198sU466STtscceamlp0eLFi7Vy5UrdcsstJfvzAQDbx93HAQQNYY3C5BSLdd/grKvrRMOzIMiKDuw1a9aoqalJn//85/t97oUXXtBOO%2B2kPffcs6iv2dLSoqefflpnn322HKfvT4tqampUW1ur2267TZs2bVI8HtdnP/tZLViwQEcddVSx4wMASoRVbQB%2BRlijGNHoKkUizXLdUUqnjzA9DgKs6MD%2B8Y9/rD333HPAwH7iiSe0Zs0azZ8/v6ivOWbMGK1cuXLAz%2B2www66/fbbix0TAOARQhuAnxDWGI5YrLtFuuM6YXYYBFrRF0y/9tprOvTQQwf83KGHHjpoKAMA7NbUNJUDWwBGsQ/CcOUDO5XiDFmMTNEr2G1tbaqurh7wc5WVlWppaRnxUACA4OI6bQBeI6wxMlnFYq9JktLpod8uGNieolewd955Z7366qsDfu7VV19VQ0PDiIcCANiBVW0A5cQ%2BBqUQja6W43QolxutTOZzpsdBwBUd2F/84hf185//XM8991yfjz///PNasGCBjj322JINBwCwAwfBAEqJfQpKKX96eCZzhKSo2WEQeEWfIn7eeefpmWee0Zw5c7Tnnntql1120Ycffqh3331XEyZM0Le//e1yzAkAsACnjwMYCaIa5cD11yilolewR40apXvuuUfz5s3TmDFjtH79eo0ZM0bf/va39dvf/la1tbXlmBMAYBlWoAAUiv0Fyofrr1FaRa1gp1IpvfDCC9p777113nnn6bzzzivXXACAkGBVG8BgiGqUW9/rr/c3PQ4sUNQKdiwW0ze/%2BU2999575ZoHABBirFIBkNgXwDv51Wuuv0apFLWCHYlEtPPOO6u9vb1c8wAAwKo2EGKENby09frrKYYngS2Kvgb79NNP16JFi5TNZssxDwAAfbCSBYQD3%2BvwXrYnsLn%2BGqVS9F3E4/G41qxZoy996UuaNm2aGhoa5DhOz%2Bcdx9HXv/71Us4IAEDPgTcr2oBdiGqYsvX66zHKZPYzPQ4sUXRgX3/99T2//tWvftXv8wQ2AKCcOH0csANhDdOi0bclSZnMIeL6a5RK0YG9bNmycswBAEDRWNUGgoewhl/EYqskSZnMAYYngU2KDuxx48aVYw4AAIaNVW0gGIhr%2BEk0%2Bo4kKZ0msFE6RQd23qpVq/Tiiy%2BqublZp59%2BuhoaGvTRRx9pzJgxqqysLOWMAAAUjFVtwH8Ia/hPWpHIu5JYwUZpFR3Y2WxWl112mZYsWSLXdeU4jqZMmaKGhgZdccUV%2BvSnP63zzz%2B/HLMCAFAwVrUB8whr%2BFU0%2Bq4cJ6Ncrk653B6mx4FFin6brttvv11Lly7V97//fS1dulSu6/Z87qijjtLTTz9d0gEBABip/Nv/NDcfY3oUIBR4yy34Xf708EzmQEnO0A8GilD0CvaSJUs0d%2B5czZkzp997Ye%2B22256//33SzYcAACld5KamztUV/eE6UEA6xDVCIpodLUkTg9H6RUd2B999JEOOGDgJ2JFRYU6OjpGPBQAAOXGKeRA6RDWCJqtNzj7nOFJYJuiA3vHHXfUP/7xD02ePLnf59asWaNddtmlJIMBAOAVYhsoHlGN4EorGl0jiRVslF7RgT116lTNnz9fU6ZM0dixYyVJjuOora1Nd911l445huvbAADBRWwDQyOsEXTR6HtynPQnNzjb0/Q4sEzRgf2d73xHTz31lL70pS/psMMOk%2BM4uuGGG/T2228rFotp7ty55ZgTAADPEdvAVoQ1bLH1BmefEzc4Q6kVfRfxsWPH6r//%2B781Y8YMvf7664pGo3rrrbc0ZcoU/fa3v9UOO%2BxQjjkBADCKuyIjrHjuwzbc4AzlVPQKttQd2T/84Q9LPQsAAL7HqjbCgqiGraLRdyVJmcx%2BZgeBlQoO7GQyqccee0zr169XXV2dpk%2Bfrvr6%2BnLOBgCArxHbsBFhDdtFIuskSdnsPoYngY0KCuyPPvpIZ511lt5//325ritJ%2BslPfqIFCxYM%2BpZdAACECbGNoCOsEQaO06ZIZLMkKZMZb3ga2KigwL7pppv00Ucf6Vvf%2BpY%2B97nP6b333tP8%2BfN15ZVX6oEHHij3jAAABAqxjSAhrBEmW1evGyXVmh0GVioosJ999ll94xvf0HnnndfzsT322EPf%2Bta3tGHDhp636wIAAH0R2/AjohphlQ/sXG6i4Ulgq4ICe8OGDTr00EP7fOzzn/%2B8XNclsAEAKBCxDdOam49RJpMzPQZgTDS6XpKUyUwwPAlsVVBgZ7NZVVZW9vlYRUVFz%2BcAAEBxtl1BJLhRLk1NUxWLRVRXVyOpw/Q4gFHRaP4UcQIb5VHwXcRXr16taDTa89/5sF69enW/x37mM58pwWgAAIQHq9soNU4DB/qLRN6XRGCjfAoO7EsuuWTAj3//%2B9/v%2BbXrunIcR2%2B%2B%2BebIJwMAIKRY3cZwEdXAUHI912BnMlyDjfIoKLB/9KMflXsOAAAwCIIbgyGogcI5zgY5TkquG1cut4fpcWCpggL71FNPLfccAACgQAR3uBHVwPBEo/nTw/dWESfyAkXhmQUAQMAR3PYjqoGRi0S67yDO9dcoJwIbAADLENx2IKqB0opGP5BEYKO8CGwAACxHcAcHUQ2UTyTSJEnKZnc3PAlsRmADABAyA0Uc0W0GQQ14x3E2SJJyuXGGJ4HNCGwAAEB0e4CYBsyKRAhslB%2BBDQAABjRYEBLe20dMA36TluNskiRlswQ2yofABgAARRkqHsMW34Q0EAyO0yzHceW6CbnujqbHgcUIbAAAUDKDBWcsFlFdXY2kpd4ONEIENGCHraeHN0qKmB0GViOwAQCAZ5qbj1Emkxv27x/JCjmxDIRX38AGyofABgAAgUEkAxiOSGSjJCmbJbBRXpwfAQAAAMBqjtMd2LncboYnge0IbAAAAABWi0a7TxFnBRvlRmADAAAAsJrj8B7Y8AaBDQAAAMBqkUiTJG5yhvIjsAEAAABYzJXjNEuScrmdDc8C2xHYAAAAACy2RY6TlSTlcjsangW2I7ABAAAAWCsSaZUkuW6NpCqzw8B6BDYAAAAAazlOiyRWr%2BENAhsAAACAtRwnv4JNYKP8CGwAAAAA1soHNivY8AKBDQAAAMBakUibJCmXqzc8CcKAwAYAAABgra2niI81PAnCgMAGAAAAYK38XcQ5RRxeILABAAAAWItrsOElAhsAAACAtXibLniJwAYAAABgLd6mC14isAEAAABYa%2Bsp4txFHOVHYAMAAACwlCvH6ej%2BlTva8CwIAwIbAAAAgKXScpyMJMl1RxmeBWFAYAMAAACwUn71WiKw4Q0CGwAAAICVHGeLpHxckz4oP55lAAAAAKyUD%2Bxcjuuv4Q0CGwAAAICV%2Bq5gA%2BVHYAMAAACwEncQh9cIbAAAAACWyq9gE9jwBoENAAAAwEpbTxEnsOENAhsAAACAlRynUxLXYMM7BDYAAAAAK%2BWvweYu4vAKgQ0AAADASqxgw2sENgAAAAArbQ3sWsOTICwIbAAAAABWcpwuSZLrVhueBGFBYAMAAACwVFISgQ3vENgAAAAArOQ4%2BcCuMTwJwoLABgAAAGClrYHNCja8QWADAAAAsBIr2PAagQ0AAADAUqxgw1sENgAAAAAr5VewJQIb3iCwAQAAAFjI1dYVbE4RhzcIbAAAAAAWSstxcpI4RRzeIbABAAAAWGfr6eGsYMM7BDYAAAAAC%2BVPD09IipkdBaFBYAMAAACwjuN0SeL0cHjLeGB/7Wtf07777jvg/x566KGexz355JP68pe/rP3220/HHnusFi1aZHBqAAAAAH7mOKlPflVpdA6Ei/FzJa644gq1t7f3%2BdjChQv1hz/8QYcffrgk6ZVXXtHcuXN1yimn6OKLL9aKFSt09dVXK5FIaNasWSbGBgAAAOBr%2BRXsKsNzIEyMB/aECRP6feyiiy7SkUceqfr6eknSbbfdpkmTJumaa66RJE2ePFkffPCBbr75Zp122mmKRIwvxAMAAADwkfwKtuuygg3v%2BK5MV6xYoffff18zZ86UJKVSKT333HOaMWNGn8fNnDlTTU1NeuONN0yMCQAAAMDX8qeIs4IN7/gusJcuXaqqqipNnz5dkrR27Vql02ntvffefR6XX/letWqV5zMCAAAA8LetNzljBRveMX6KeG%2BZTEaPPvqopk%2Bfrurq7rv9tbS0SJJGjx7d57H5/85/friiUd/9jCEU8tud7e89tr1ZbH%2Bz2P7msO3NYvubw7b3VjTq9Pw6Ekl/8qsqxWJsf3jDV4H9pz/9SRs3btRJJ53U73OO4wzwOwb/eKFGj%2BaUEZPY/uaw7c1i%2B5vF9jeHbW8W298ctn35ua6jUaN6b2dXkhSP16qursbMUAgdXwX20qVLtcMOO%2BgLX/hCz8fGjBkjqf9KdWtrq6T%2BK9vFam3tVDabG9HXQPGi0YhGj65i%2BxvAtjeL7W8W298ctr1ZbH9z2PbeGD26So7jqr29s%2Bdj8Xi7KiulVCqujo4Og9PBBoX%2BkMY3gZ1MJrVs2TLNnDlT8Xi85%2BN77LGH4vG4Vq9erSlTpvR8/J133pEkjR8/fkR/bjabUybDzs4Utr85bHuz2P5msf3NYdubxfY3h23vjWzW7fl1LNZ9k7NcrpJtD8/45mKExx9/XB0dHT13D89LJBKaPHmyHnnkkT4fX7p0qRoaGjRp0iQvxwQAAAAQANzkDCb4JrAffPBBNTY26uCDD%2B73ufPOO08rV67UD37wAz3//PO6/fbbdd999%2Bn888/nPbABAAAADCD/Pthc/w7v%2BKJOW1pa9PTTT%2BtLX/rSgDctO/DAA/Vf//Vfeu2113TOOefo/vvv1w9%2B8APNmjXLwLQAAAAA/M5x8oHNCja844trsMeMGaOVK1cO%2BZipU6dq6tSpHk0EAAAAIMgcZ%2BvbdAFe8cUKNgAAAACUFivY8B6BDQAAAMA6%2BRVs160wPAnChMAGAAAAYCFucgbvEdgAAAAArJO/yZnECja8Q2ADAAAAsBDXYMN7BDYAAAAA67CCDRMIbAAAAAAWYgUb3iOwAQAAAFgnv4LNXcThJQIbAAAAgIXSn/w/K9jwDoENAAAAwEK8TRe8R2ADAAAAsM7WU8QThidBmBDYAAAAACzjSurq/hUr2PAQgQ0AAADAMhk5jvvJr7nJGbxDYAMAAACwTLrnV7xNF7xEYAMAAACwSv76626sYMM7BDYAAAAAy/R%2BD2zH7CgIFQIbAAAAgFUcp/sUcU4Ph9cIbAAAAACWyZ8izunh8BaBDQAAAMAqW98DmxVseIvABgAAAGCZ/F3EWcGGtwhsAAAAAFbZuoJdZXgShA2BDQAAAMAyve8iDniHwAYAAABglfxdxCWuwYa3CGwAAAAAlumSxAo2vEdgAwAAALAK74MNUwhsAAAAAJbJvw82gQ1vEdgAAAAArMIKNkwhsAEAAABYZevbdHENNrxFYAMAAACwDHcRhxkENgAAAACr5Fewc7kqw5MgbAhsAAAAAJbJ3%2BSMU8ThLQIbAAAAgFW2XoPNKeLwFoENAAAAwDL5u4izgg1vEdgAAAAArOI4XZ/8imuw4S0CGwAAAIBlWMGGGQQ2AAAAAKtwDTZMIbABAAAAWCZ/F3ECG94isAEAAABYJX8NtutyDTa8RWADAAAAsMrWwGYFG94isAEAAABYJn8NNivY8BaBDQAAAMAqvE0XTCGwAQAAAFiGU8RhBoENAAAAwCI5OU7%2BfbBZwYa3CGwAAAAAFkn1/IoVbHiNwAYAAABgDcdJ9fovAhveIrABAAAAWCR/B/GYpJjZURA6BDYAAAAAa3AHcZhEYAMAAACwSH4Fm9PD4T0CGwAAAIA18ivY3EEcJhDYAAAAAKxBYMMkAhsAAACARfJ3Ea82OgXCicAGAAAAYA1WsGESgQ0AAADAIvmbnBHY8B6BDQAAAMAarGDDJAIbAAAAgDW2BjZv0wXvEdgAAAAALMJNzmAOgQ0AAADAGpwiDpMIbAAAAAAW4SZnMIfABgAAAGANVrBhEoENAAAAwBoENkwisAEAAABYJH%2BKOHcRh/cIbAAAAADWyK9gSzVG50A4EdgAAAAArMEp4jCJwAYAAABgkXxg8z7Y8B6BDQAAAMAajpOUxAo2zCCwAQAAAFhj6ynirGDDewQ2AAAAAIsQ2DCHwAYAAABgjfwp4hKniMN7BDYAAAAAi7CCDXMIbAAAAACWyMhxMpK4yRnMILAB/N/27jw6iipv4/iT1bCFyCaDA8qSREJiDIqAsgZDEEF2ZRREwGCEAfcBFCJxEEWFGQjILosih4kBlQDiKEfgOIIzEjyAoiQgKCAEIQtIQpZ6/%2BDthrYDJKHNhcr3cw5H%2BnZ19e1fX7p9%2Bt6qAgAAsImzzr8xgw0TCNgAAAAAbOH8Jbq8Jfmb7QwqJQI2AAAAAFtwXKLr3AnOvEx2BZUUARsAAACATXCCM5hFwAYAAABgC%2BeXiBOwYQYBGwAAAIAtOJaIE7BhCgEbAAAAgE04jsEmYMMMAjYAAAAAWzg/g801sGEGARsAAACALXAMNkwjYAMAAACwibOSmMGGOQRsAAAAALbAEnGYRsAGAAAAYBOOgF3NcD9QWRGwAQAAANiCYwZbYgYbZhCwAQAAANiCI2AXFxOwYQYBGwAAAIAtnD8Gm7OIwwwCNgAAAACbcCwRDzDaC1ReBGwAAAAAtnB%2BBpuTnMEMX9MdcEhOTtY777yj/fv3q3r16oqMjNTcuXMlSePGjdPq1avdHrNgwQJ16NChorsKAAAA4KrEZbpg1lURsJOSkrRkyRLFx8crMjJS2dnZ2rJli8s2DRs21JtvvunS1rRp04rsJgAAAICrGMdgwzTjATsjI0Nz5szR/Pnz1a5dO2d7TEyMy3YBAQG67bbbKrp7AAAAAK4R5wM2M9gww/gx2KtWrVLDhg1dwjUAAAAAlF3e//%2BXGWyYYTxgf/PNNwoJCdHs2bPVtm1bhYeHa9CgQfruu%2B9ctjt48KDuuOMOhYeHq2/fvvr0008N9RgAAADA1YgZbJhmfIl4Zmamdu/erb179yoxMVF%2Bfn6aNWuWhg4dqk8%2B%2BUSBgYFq3ry5IiIi1KxZM%2BXm5mrFihUaNWqUZsyYoW7dul3R8/v4GP%2BNoVJy1J36Vzxqbxb1N4v6m0PtzaL%2B5lD7iuUI2N7e1eTrS81R8bwsy7JMdqBr1646cOCAUlNTFRwcLEk6duyYunTpojFjxiguLs7tMcXFxRo4cKBOnTqldevWVXSXAQAAAFxlLOusvLwCde5M4j9Kuslsh1ApGZ/BrlmzpurUqeMM15JUr149NWnSROnp6SU%2BxtvbW127dtUbb7yhvLw8BQSU/0LyOTlnVFRUXO7Ho3x8fLwVGFiF%2BhtA7c2i/mZRf3OovVnU3xxqXzECA6vIy8tyzmBnZVmyrNOGewU7uf760l1b3XjAbtq0qQ4fPuzWblmWvL0vvqzDUxPvRUXFKizkw84U6m8OtTeL%2BptF/c2h9mZRf3OofUU4nw8KCgIkUW9UPOMHJnTq1EnHjx/XDz/84Gw7evSo9u3bp9DQ0BIfU1xcrA0bNig4OPiKZq8BAAAA2MWFE3Cc5AxmGJ/BjomJUYsWLTR69Gg9%2BeST8vf31%2BzZs1WrVi098MADOnTokMaNG6cePXqoUaNGys7O1ooVK7Rr1y4lJSWZ7j4AAACAq8K5gG1Z/roK5hFRSRkP2D4%2BPlqwYIGmTJmihIQEFRYWqlWrVpo2bZqqVq2qs2fPqnr16po9e7ZOnDghPz8/hYeHa8GCBWrfvr3p7gMAAAC4KjgCNtfAhjnGA7Yk1a5dW9OmTSvxvqCgIM2ZM6eCewQAAADg2uJYIs4hpDCHtRMAAAAAbMAxg83x1zCHgA0AAADABhwBmxlsmEPABgAAAGADjiXizGDDHAI2AAAAABtgBhvmEbABAAAA2ADHYMM8AjYAAAAAG2AGG%2BYRsAEAAADYAJfpgnkEbAAAAADXPC8vxwx2VcM9QWVGwAYAAABgAywRh3kEbAAAAAA2wEnOYB4BGwAAAIANOAL2dYb7gcqMgA0AAADABjjJGcwjYAMAAACwDY7BhkkEbAAAAAA2wBJxmEfABgAAAGADjiXiBGyYQ8AGAAAAYAPMYMM8AjYAAAAAG%2BA62DCPgA0AAADARpjBhjkEbAAAAAA2wBJxmEfABgAAAGADXAcb5hGwAQAAANgAM9gwj4ANAAAAwAY4yRnMI2ADAAAAsAHHEnF/o71A5UbABgAAAGAbLBGHSQRsAAAAADbADDbMI2ADAAAAuOZ5eZ37r2X5me0IKjUCNgAAAAAbYQYb5hCwAQAAANiGZRGwYQ4BGwAAAICNsEQc5hCwAQAAANiCZfmKiAOTGH0AAAAAbIJLdMEsAjYAAAAAW%2BD4a5hGwAYAAABgExx/DbMI2AAAAABsgRlsmEbABgAAAGATzGDDLAI2AAAAAFuwLAI2zCJgAwAAALAJAjbMImADAAAAsAlf0x1AJUfABgAAAGALLBGHaQRsAAAAADbhY7oDqOQI2AAAAABsghlsmEXABgAAAGALLBGHaQRsAAAAADbBSc5gFgEbAAAAgC1YFgEbZhGwAQAAANgEARtmEbABAAAA2ATHYMMsAjYAAAAAW2CJOEwjYAMAAACwCa6DDbMI2AAAAABsghlsmEXABgAAAGATzGDDLAI2AAAAAFuwLAI2zCJgAwAAALAJAjbMImADAAAAsAkCNswiYAMAAACwCQI2zCJgAwAAALAFjsGGaQRsAAAAADbBZbpgFgEbAAAAgC1YFvEGZjECAQAAANgES8RhFgEbAAAAgE0QsGEWARsAAACATRCwYRYBGwAAAIAtcBZxmEbABgAAAGATxBuYxQgEAAAAYBPEG5jFCAQAAABgE16mO4BKjoANAAAAwCaINzCLEQgAAADAFiyLeAOzGIEAAAAAbIJ4A7MYgQAAAABsgngDsxiBAAAAAGyCeAOzGIEAAAAAbIJ4A7MYgQAAAABsgngDsxiBAAAAAGyBs4jDNEYgAAAAAJvwMt0BVHIEbAAAAAA2QcCGWQRsAAAAADZBwIZZBGwAAAAANkHAhlkEbAAAAAA2QbyBWYxAAAAAADbBDDbMImADAAAAsAkCNswiYAMAAACwCQI2zCJgAwAAALAJAjbMImADAAAAsAXLIt7ALEYgAAAAAJtgBhtmEbABAAAA2AQBG2YRsAEAAADYBAEbZhGwAQAAANgEARtmEbABAAAA2AQBG2ZdNQE7OTlZ999/vyIiItS2bVvFx8e73L9p0yb17t1bERERiomJ0fLlyw31FAAAAAAAd76mOyBJSUlJWrJkieLj4xUZGans7Gxt2bLFeX9aWppGjhypXr16ady4cdq%2BfbsmT54sf39/DRgwwGDPAQAAAFw9mMGGWcYDdkZGhubMmaP58%2BerXbt2zvaYmBjn32fPnq2wsDBNmTJFktSmTRsdOXJEM2bMUL9%2B/eTtfdVMxAMAAAAwhoANs4wn01WrVqlhw4Yu4fpCZ8%2Be1datW3Xfffe5tPfs2VOZmZn69ttvK6KbAAAAAABckvGA/c033ygkJESzZ89W27ZtFR4erkGDBum7776TJB08eFAFBQVq0qSJy%2BOaNWsm6dwMOAAAAAAAphlfIp6Zmandu3dr7969SkxMlJ%2Bfn2bNmqWhQ4fqk08%2BUXZ2tiQpMDDQ5XGO2477y8vHx/hvDJWSo%2B7Uv%2BJRe7Oov1nU3xxqbxb1N1banYUAABo4SURBVIfaVyxvbx/5%2BlJrmGM8YFuWpd9%2B%2B01JSUkKDg6WJLVo0UJdunTRypUr1bJlS0mSl1fJx1NcrL20AgOrXNHjcWWovznU3izqbxb1N4fam0X9zaH2FaNGjSqSqpnuBiox4wG7Zs2aqlOnjjNcS1K9evXUpEkTpaenq3PnzpLcZ6pzcnIkuc9sl1VOzhkVFRVf0T5Qdj4%2B3goMrEL9DaD2ZlF/s6i/OdTeLOpvDrWvGIGBVeTjI%2BXm5qmw8LTp7sCGrr%2B%2BdD/cGA/YTZs21eHDh93aLcuSt7e3GjVqJD8/P%2B3bt08dOnRw3p%2Benu58/JUoKipWYSEfdqZQf3OovVnU3yzqbw61N4v6m0PtK0ZxsUWdYZTxAxQ6deqk48eP64cffnC2HT16VPv27VNoaKj8/f3Vpk0brV%2B/3uVxqampqlu3rsLCwiq6ywAAAACuQpbFZbpglvGAHRMToxYtWmj06NFat26dPv30U8XHx6tWrVp64IEHJEmjRo3Srl27NGHCBG3btk1z5sxRcnKynnzySa6BDQAAAOD/EbBhlvF06uPjowULFig8PFwJCQl67rnnVKdOHS1ZskRVq1aVJEVFRemtt97Szp07NXz4cKWkpGjChAkaMGCA4d4DAAAAAHCO8WOwJal27dqaNm3aJbfp2LGjOnbsWEE9AgAAAACgbIzPYAMAAACAZ7BEHGYRsAEAAAAA8AACNgAAAAAAHkDABgAAAADAAwjYAAAAAGyCY7BhFgEbAAAAAAAPIGADAAAAAOABBGwAAAAANsEScZhFwAYAAAAAwAMI2AAAAAAAeAABGwAAAIBNsEQcZhGwAQAAAADwAAI2AAAAAAAeQMAGAAAAAMADfE13wLTAwCqmu1CpUX9zqL1Z1N8s6m8OtTeL%2BptD7f9Y3t4ce42rg5dlWZbpTgAAAAAAcK1jiTgAAAAAAB5AwAYAAAAAwAMI2AAAAAAAeAABGwAAAAAADyBgAwAAAADgAQRsAAAAAAA8gIANAAAAAIAHELABAAAAAPAAAjYAAAAAAB5AwAYAAAAAwAMI2AAAAAAAeAABGwAAAAAAD6h0AXv//v0aPny4brvtNrVt21aTJ09WXl6e6W5d09avX6%2BRI0eqY8eOuu2229SzZ0%2B99957Ki4udm4zbtw4hYaGuv3ZvHmz2/4WLVqk6OhoRUREqF%2B/ftq2bVtFvpxrzqpVq0qs7Ztvvumy3aZNm9S7d29FREQoJiZGy5cvL3F/1L9sBg8eXGL9Q0NDtXbtWkmMf085cOCAEhIS1KtXL4WFhalHjx4lbufJsX7q1CklJCSodevWioqKUnx8vA4dOuTR13UtuFzti4qKtGDBAg0aNEht2rRRq1at9PDDD%2BvLL79021d0dHSJ/x7y8/NdtqP255Vm7Hv6c4b6n1ea%2Bl/seyA0NFTHjh1zbsf4B%2BzP13QHKlJOTo6GDBmiBg0aaObMmTpx4oReffVVZWVluYURlN7ixYvVoEED/e1vf1Pt2rW1bds2vfLKK/rpp580duxY53YNGzZ0q3PTpk1dbi9atEj/%2BMc/9PTTTyssLEzJycmKi4tTcnKyQkNDK%2BT1XKsWLlyoGjVqOG/fcMMNzr%2BnpaVp5MiR6tWrl8aNG6ft27dr8uTJ8vf314ABA5zbUf%2Bye%2Bmll3Tq1CmXtqVLl%2BqTTz5R27ZtnW2M/yu3d%2B9ebdq0SZGRkSouLpZlWW7beHqsP/vss9q9e7cmTpyo6tWra%2BbMmRo6dKg%2B%2BugjBQQEVMjrvhpcrvZ5eXmaN2%2BeevfureHDh8vX11erV6/W0KFDNWfOHHXu3Nll%2B9jYWA0bNsylzd/f3%2BU2tT%2BvNGNf8uznDPU/rzT1X7lypVvb2LFjVaVKFdWrV8%2BlnfEP2JxVicybN8%2BKjIy0fv31V2fbRx99ZIWEhFjp6ekGe3Ztu7CeDlOmTLEiIiKs/Px8y7Isa%2BzYsdZ99913yf3k5%2Bdbt99%2BuzV16lRnW2FhoXXvvfdaTz31lGc7bSMpKSlWSEhIie%2BDw/Dhw63%2B/fu7tE2YMMG6%2B%2B67raKiIsuyqL8nRUdHW3Fxcc7bjH/PcIxVy7p4TT051nfs2GGFhIRYn3/%2BubPt0KFDVlhYmPXee%2B957HVdCy5X%2B8LCQisrK8ulrbi42OrTp481aNAgl/bOnTtbiYmJl3w%2Bau%2BqNGPfk58z1N9Vaer/ez/99JMVEhJiLViwwKWd8Q/YX6VaIr5582a1bdtWtWrVcrbFxsbK399fmzZtMtiza9uF9XRo3ry58vPzlZWVVer9bN%2B%2BXbm5uS5Lr3x8fNS9e3dt2rTpor/Y49LOnj2rrVu36r777nNp79mzpzIzM/Xtt99Kov6esn37dv3888/q2bNnmR9H/S/N2/vSX1meHuubNm1SYGCgOnTo4NyuQYMGatmyZaX7zrhc7X18fFSzZk2XNi8vL91yyy0uy2NLi9q7ulz9S4uxXz7lqX9qaqq8vLwueijLpVB/4NpWqQJ2RkaG21Ipf39/NWrUSBkZGYZ6ZU9ff/21goKCVLt2bWfbwYMHdccddyg8PFx9%2B/bVp59%2B6vIYx3vQpEkTl/amTZvq9OnTOnr06B/f8WtYjx491Lx5c3Xp0kXz5s1TUVGRpHN1LygocKtrs2bNJJ2vO/X3jNTUVFWpUkVdunRxaWf8//E8PdYzMjLUuHFjeXl5ue2P74zLKy4uVlpamtv3riStWbNG4eHhioqKUlxcnL7//nuX%2B6l9%2BXjqc4b6X7m1a9eqVatWql%2B/vtt9jH/A3irdMdiBgYFu7YGBgcrOzjbQI3vauXOnVq1apVGjRsnHx0fSuRntiIgINWvWTLm5uVqxYoVGjRqlGTNmqFu3bpLOvT/%2B/v5uxxY5ZkWysrJK/KKq7OrWravRo0crMjJSXl5e2rhxo/75z3/q6NGjSkhIcI7t3499x23H/dT/yhUWFurjjz9Wly5dVLVqVWc7479ieHqs5%2BTkuJzX4ML98Z1xee%2B8847279%2Bvl19%2B2aU9Ojpat956qxo0aKCffvpJc%2BfO1UMPPaQPPvhADRs2lCRqXw6e/Jyh/ldmz549%2BuGHH9zGvsT4ByqDShWwL8ayLLdfCVE%2BmZmZGjNmjCIiIhQXF%2BdsHzJkiMt20dHRGjhwoGbOnOn84pdU4vvgWLLGe1Sy9u3bq3379s7b7dq103XXXaelS5cqPj7e2X6x%2Bl3YTv2vzBdffKFff/3VbUkg479ieXKsl2ZfcPfVV1/pjTfe0LBhw9SqVSuX%2ByZMmOD8%2Bx133KG7775b9957rxYtWqRJkyY576P2ZePpzxnqX35r1qyRn5%2BfYmNj3e5j/AP2V6mWiAcGBionJ8etPTc3t8SZbZRNbm6u4uLiFBAQoDlz5sjPz%2B%2Bi23p7e6tr167KyMhwXiYtMDBQ%2Bfn5bpeqcLxnvz%2B%2BDxd37733qqioSN99952zbr//1dtRV8fYp/5XLjU1VUFBQWrXrt0lt2P8/zE8PdYv9p1xsdVQOGfPnj0aOXKk7rnnHj3//POX3b5evXq6/fbbtXv3bmcbtb9yV/I5Q/3Lz7IsrVu3Tu3bt1dQUNBlt2f8A/ZTqQJ206ZN3Y5dOXv2rA4ePFjiMWIovfz8fD3xxBM6fvy4Fi5cqOuvv/6yj/n9SZsc78Hv36OMjAxVq1bN5bJTKL1GjRrJz89P%2B/btc2lPT0%2BXdL7u1P/K5OXl6bPPPlO3bt0u%2BeOSA%2BPf8zw91ps2bar9%2B/e7vVfp6el8Z1zEwYMH9dhjjyksLEyvv/56qWfbSvr3QO2vXHk/Z6h/%2BX399dc6fPhwmU50yfgH7KVSBewOHTpo69atOnnypLPt3//%2Bt86ePauOHTsa7Nm1rbCwUE8%2B%2BaT27NmjhQsX6sYbb7zsY4qLi7VhwwYFBwc7jwVr2bKlatSooXXr1jm3Kyoq0vr169WxY0eWRZXBunXr5OPjo7CwMPn7%2B6tNmzZav369yzapqamqW7euwsLCJFH/K7Vx40adPn26VP9Txfj/Y3h6rHfs2FE5OTnasmWLc7sjR45o%2B/btfGeUIDMzU8OGDVOdOnX01ltvuV3X92KOHj2q7du3KyIiwtlG7a/clXzOUP/yW7NmjapWrep27feLYfwD9uMz6cIDPmwuODhYKSkp2rJli2644QalpaVpypQpiomJ0cCBA01375o1adIkpaam6sknn1S9evX0yy%2B/OP9Ur15dmZmZGjVqlAoKCpSbm6vdu3dr8uTJSktLU2JiovPXWB8fH/n4%2BGju3LkKCAhQfn6%2BZsyYobS0NL3%2B%2BuuqU6eO4Vd6dRo%2BfLiOHTumU6dO6cCBA3r77be1fPlyDR482HncXcOGDTV37lwdOXJE1apV05o1a7R48WKNHz9e4eHhkqj/lZo%2Bfbry8/M1fvx4lzB86NAhxr%2BHnDlzRp999pnS09P1xRdf6Pjx46pfv77S09NVq1YtValSxaNjvX79%2Btq1a5dWrlypG264QUeOHFFCQoICAgL08ssvy9e38pzG5HK19/Ly0iOPPKJffvlFEyZMUF5enst3geMEfampqZo/f77y8vJ08uRJffnll3rxxRd19uxZvfrqq84lytTe1eXqf%2BLECY9%2BzlB/V6X57JHOTTi8%2BOKL6ty5s7p37%2B62H8Y/UDl4WZXs4qr79%2B/X5MmT9fXXXysgIEA9evTQc88953ZGTZRedHS0Dh06VOJ9y5YtU2hoqMaPH6/du3frxIkT8vPzU3h4uEaMGOFyci7p3DKpRYsWafny5Tp%2B/LhCQkL0/PPPq02bNhXxUq5JkydP1pYtW/TLL7%2BouLhYN998swYMGKDBgwe7BL1NmzZp%2BvTpysjIUP369TV06FA9/PDDLvui/uWTnZ2tu%2B%2B%2BW0OGDHE75jQrK4vx7yE///yz2%2BXPHJYtW6bWrVtL8uxYP3XqlKZOnaoNGzaooKBArVu31sSJE0u1UsdOLlf7G2%2B88aL3S3JehmjHjh2aNm2a9u7dq9zcXNWoUUNt2rTRmDFj3C4dRe3Pu1z9/4jvWep/Xmk/ez7//HM9/vjjmj9/fokzzYx/oHKodAEbAAAAAIA/QqU6BhsAAAAAgD8KARsAAAAAAA8gYAMAAAAA4AEEbAAAAAAAPICADQAAAACABxCwAQAAAADwAAI2AAAAAAAeQMAGAAAAAMADCNgAcA1ZtmyZQkND1aNHj4tuExoaqqSkJOftbdu2KTQ0VNu2bauILpbbqlWrFBoaqp9//tl0Vy6rtDW92l7T9u3blZSUpJycHLf7oqOj9fjjjxvoFQAA9kHABoBrSEpKiiRp7969%2Buabb0r1mBYtWmjlypVq0aLFH9k1XAPS0tI0a9asEgM2AAC4cgRsALhG7Ny5U3v27FGnTp0kSe%2B//36pHle9enXddtttql69%2Bh/YO7POnDljugsAAAAEbAC4VjgC9bPPPquoqCitXbu2VMHyYsuZ//Wvfyk2Nlbh4eHq3r271qxZo3Hjxik6Otq5zc8//6zQ0FAtWrRIixcvVnR0tKKiovTggw9qx44dbs%2B1c%2BdOxcfH684771RERIR69%2B6tdevWuW23Y8cODRw4UBEREWrXrp2mTZumwsLCUtVh3LhxioqK0vfff69hw4YpKipKjz76qPP%2B//znPxoyZIhatmypyMhIDRw4UF9%2B%2BaXLPg4cOKDx48era9euioyMVPv27RUfH6/vv//e7fkyMjI0fPhwRUZGqnXr1kpISNDp06dL1deLKU0fk5KSFBoaqr179%2BqZZ57R7bffrrvuukvjx49Xbm6uy7Y5OTl64YUXdOeddyoqKkojRozQTz/95HK4QFJSkl5//XVJUpcuXRQaGlriuNi8ebP69OmjW2%2B9Vd26dSv1DzkAAEDyNd0BAMDl5eXlae3atYqIiFBISIj69eunCRMm6OOPP1afPn3KvL%2BVK1cqISFBsbGxzsA2a9YsFRQUlLj98uXL1aRJE73wwguSpBkzZmjEiBH67LPPVKNGDUnS1q1b9dhjjykyMlKTJk1SjRo1tG7dOj399NPKy8tT3759JUnp6el69NFHdeONN%2Bq1115TQECA3nvvPaWmppa6/wUFBXriiSc0cOBAxcXFqaioSJL04YcfauzYserSpYumTp0qX19frVy5UsOHD9eiRYvUtm1bSdKxY8cUFBSkZ599VrVq1VJ2drZWr16tBx54QKtXr1aTJk0kScePH9fgwYPl6%2Burl156SbVr19aaNWv097//vcw1dyhtHx1Gjx6t7t27q3///vrhhx80bdo0SdKrr74qSSouLlZ8fLx27dqlv/71r2rRooXS0tL02GOPuexnwIABys7O1jvvvKNZs2apbt26kqRmzZo5t9mzZ4%2BmTp2quLg41alTR8nJyXrxxRd10003qVWrVuV%2BzQAAVBYEbAC4Bnz88cfKzc1V//79JUndu3fXlClT9P7775c5YBcXFyspKUmRkZGaOXOms/32229X165dVa9ePbfHVKtWTfPmzZOPj48kqV69ehowYIA2b96s%2B%2B67T5KUmJio4OBgLV26VL6%2B575e2rdvr5MnT2r69Onq3bu3vL29NXv2bFmWpaVLl6pOnTqSpE6dOl3yxG2/V1BQoFGjRqlfv37OtjNnzmjKlCnq1KmTZs%2Be7Wzv2LGj%2BvTpo%2BnTpys5OVmS1KpVK5fAWFRUpI4dO6pHjx5auXKlxo8fL0lasmSJTpw4oQ8%2B%2BEC33HKLc3/Dhg3T4cOHS93f8vTRoX///s6wfNddd%2BnAgQNKSUnRlClT5OXlpS1btujrr7/WpEmT9Je//EWSdPfdd8vf398ZxiWpfv36%2BtOf/iRJat68uf785z%2B79e/kyZNasWKFGjRo4KzT1q1btWbNGgI2AAClwBJxALgGpKSkKCAgwBlmq1Wrpm7duul///uffvzxxzLta//%2B/crMzNS9997r0t6gQQNFRUWV%2BJhOnTo5w7UkZ9g8dOiQpHNLrvft26eePXtKkgoLC51/OnTooMzMTO3fv1/SuSXrbdu2dYZrSfLx8VH37t3L9DpiY2NdbqelpSkrK0t9%2BvRxef7i4mK1b99eO3fu1G%2B//ebs39y5c9W9e3eFh4crLCxM4eHh%2BvHHH5WRkeHc57Zt2xQcHOx8vQ5l%2BTGgvH10uHDJvnTuLPH5%2Bfn69ddfJUlfffWVJLm9n46xUhbNmzd3hmtJuu6663TzzTeX68cEAAAqI2awAeAqd%2BDAAf33v/9V165dZVmW8wzQ3bp106pVq5SSkqJnn3221Ps7efKkJKl27dpu99WpU8cZmi8UFBTkctvf31%2BSlJ%2BfL%2BncUmpJmjp1qqZOnXrJ583KynIJ1xc%2Bd2lVqVLF7aRtjj6MGTPmoo/Lzs5W1apV9dprr2n58uWKi4tTq1atVLNmTXl5eWnChAnO1%2BToa0kzvWXpa3n76HCx2ufl5Tn76Ovr67Zdefr4%2B304nu/CmgAAgIsjYAPAVS4lJUWWZWnDhg3asGGD2/2rV6/WU0895TLDfCnXX3%2B9JDlnQC/kCIBl5djn448/rpiYmBK3ady4saRzIa6k5ynLc3t5eV20DxMnTlRkZGSJj3P8qPDRRx%2Bpd%2B/eeuaZZ1zuP3nypAIDA523PdHX8vaxtIKCglRYWKisrCyXgJyZmVmuPgIAgPIjYAPAVayoqEirV69Wo0aNNHnyZLf7P//8c7399tvavHmzOnfuXKp9Nm7cWHXr1tX69es1dOhQZ/vhw4eVlpZW4jHYl9OkSRPdfPPN2rNnj1to/b3WrVtr48aNOn78uHOWtaioqMSzjZdFy5YtFRgYqPT0dA0aNOiS23p5ecnPz8%2Bl7fPPP9fRo0d10003ufR14cKF2rNnj8sy8bKckK28fSytO%2B%2B8UwsXLtS6dev00EMPOdtLqufvVx4AAADPImADwFVs8%2BbNOnbsmJ577jm1bt3a7f7g4GC9%2B%2B67ev/990sdsL29vTV69GglJCRozJgx6tevn3Jycpxnli5pdrg0EhMTFRcXp%2BHDh6tPnz664YYblJ2drYyMDO3evdt5QrUnnnhCGzdu1JAhQzRq1CgFBARo%2BfLlV3wt62rVqmnChAkaN26csrOzFRsbq9q1a%2BvEiRPas2ePTpw4ocTEREnnjil3nC08NDRUu3fv1qJFi1S/fn2XfQ4ZMkQpKSkaMWKEnnrqKedZxPft2/eH97G02rdvr5YtW2rq1Kk6deqUwsPDlZaWpg8//FCS62x/SEiIJGnp0qXq06ePfH191bhxY1tfIx0AgIpEwAaAq9j7778vPz8/l7NlX6hWrVqKiYnRhg0bXGaEL%2BfBBx%2BUl5eXFi5cqFGjRunGG290XnbryJEj5eprmzZtlJycrLlz52rKlCnKyclRUFCQmjZt6nICrpCQEC1evFhTp07V2LFjVbNmTd1///2KjY3VxIkTy/XcDr169VKDBg20cOFCvfTSSzp9%2BrRq1aql5s2bu5xt/cUXX5Svr6/mz5%2Bv3377TWFhYUpKStKMGTNc9le3bl29%2B%2B67euWVVzRp0iRVqVJF99xzjyZOnKiRI0f%2BoX0sLW9vb82dO1evvfaaFixYoIKCArVs2VJvvPGGHnjgAZcl761bt9bjjz%2Bu1atXKzk5WcXFxVq2bFmJP94AAICy87IsyzLdCQCAeTk5OYqNjdU999xzRdd5xtVhzZo1eu6557RixQq1bNnSdHcAAKgUmMEGgEooMzNTc%2BfOVevWrRUUFKTDhw9ryZIlOn36tB555BHT3UMZpaam6ujRowoJCZG3t7d27NihRYsWqVWrVoRrAAAqEAEbACohf39/HTp0SImJicrOzlZAQIAiIyOVmJio4OBg091DGVWrVk1r167VnDlzdObMGdWtW1d9%2B/bVU089ZbprAABUKiwRBwAAAADAA7xNdwAAAAAAADsgYAMAAAAA4AEEbAAAAAAAPICADQAAAACABxCwAQAAAADwAAI2AAAAAAAeQMAGAAAAAMADCNgAAAAAAHgAARsAAAAAAA/4PyC/awKNuy0RAAAAAElFTkSuQmCC">
+<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA9gAAAPWCAYAAAAbIDABAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD%2BnaQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeXgT1foH8O/MJOkKZbcslU0KCAiIgCCbLIosIqsbixuI4nW53t9FwHsVwQ0FFLwoKiqbyI6AgqwiIKICIgVZylJoKdCWFii0SSZzfn8kHWfatE1L2rTl%2B3mePEkmk8nJZGYy75xz3iMJIQSIiIiIiIiI6LrIgS4AERERERERUVnAAJuIiIiIiIjIDxhgExEREREREfkBA2wiIiIiIiIiP2CATUREREREROQHDLCJiIiIiIiI/IABNhEREREREZEfMMAmIiIiIiIi8gMG2ERERERERER%2BwACbCqxhw4b6LT4%2B3us8K1as0OcZNmxYMZew7Ovatau%2Bfnfv3h3o4pRZ/l7P3C%2BKHvcNosBbunSpvh8%2B9thjflvuzz//rC%2B3R48efltuafTwww/r6%2BLbb78NdHFKPFVVTeev586dC3SRqAyzBLoAVHx2796N4cOH689DQ0Oxc%2BdOhIaGBrBURERUEjVs2DDP10NDQxEREYEGDRqgdevW6N%2B/P6pWrVpMpSMiIiqZWIN9A1m1apXp%2BbVr17Bhw4YAlYaIKHczZ87UaxpeeeWVQBeHvLh27RoSExPx008/YerUqbj77rvx0UcfweVyBbpolIe4uDh937r11lsDXZwb3vTp0/XfY8KECX5dNmv8Swb%2BDjce1mDfIDIyMrB%2B/foc01euXIkHHnggACUiIqLSIjo6GtWqVTNNS09Px9GjR3Ht2jUAgNPpxMyZM5GYmIg333wzEMUkIiIKOAbYN4gffvhBPwm6/fbbceTIEVy9ehW7d%2B/G2bNnUaNGDb9%2B3oABAzBgwAC/LpOIiALj8ccf93pMdzqdWLVqFd5%2B%2B21cvXoVALBs2TJ06NAB9913X3EXk0qIwYMHY/DgwYEuRpm2aNGiQBeBiHLBJuI3iJUrV%2BqPBw8erDdREUIwOQYRERWK1WrF4MGD8emnn0JRFH367NmzA1gqIiKiwGGAfQNITEzEr7/%2BCgAIDg7GPffcg/vvv19/PXvfbCIiooK444470L17d/35X3/9hQsXLgSwRERERIHBJuI3gFWrVkHTNADuIWzCw8PRrl07VKtWDRcuXMCpU6ewb98%2BtGzZ0m%2BfuWLFCowbNw4A0KZNG8yfPz/f92zfvh3Lly/H/v37kZycjPLlyyMqKgo9e/bEgAEDUL58eVMm9Jo1a2LLli1el9W1a1ckJCQAAObNm4e2bdvCbrdjzZo1%2BPbbb3Hq1CmkpqaiQoUKaNasGfr374977rmnQN9RCIGtW7di06ZN2Lt3L1JSUpCZmYnKlSujUaNG6NatG/r16webzebzMpOSkrBo0SJs3rwZ8fHxEEIgMjISbdu2xYMPPohGjRoVqIy%2BmjlzJj766CMAQP/%2B/fHOO%2B8AAHbs2IHVq1fjzz//RFJSEtLT002vZ5eRkYG1a9di69atOHLkCFJSUiBJEqpUqYLbb78dvXr1QufOnX0qk9PpxC%2B//IJdu3YhJiYGJ0%2BexKVLlwAAFSpUQL169XDnnXdiyJAhqFSpUoG%2Bb6DWc2H4azvL7Tfeu3cvFi9ejD/%2B%2BAPnzp2DzWbDzTffjK5du2LEiBEIDw/3uawJCQlYtGgRtm3bhrNnz%2Ba6Xr3tn1mGDRumXxDMsnLlSlMrHKPNmzejVq1aeZbL3/t%2BbgYOHIiYmBgAwOjRo/HSSy/59D673Y727dsjPT0dAPDBBx94bV4dGxuL5cuXY8%2BePYiLi0N6ejpkWUZYWBhq1KiBBg0a6IFuxYoV/fKdCqJjx4744Ycf9OfHjh3L0W/bKDU1FatXr8ZPP/2EEydOICUlBTabDdWqVUObNm3Qr18/n/6XOnXqhPPnzwMAFi5ciDvuuANXrlzB6tWrsX79epw5cwbJyclwOp36697Exsbiu%2B%2B%2Bw65du5CQkIDU1FRYLBZUqVIF0dHRuPPOO9GzZ888v1OW48ePY%2B3atdi5cyfOnj2LtLQ0hIeHo1atWujQoQMGDx6MmjVr5rmMuLg4fdtUFAWHDh0CAFy4cAFLly7Fpk2bcPbsWWRmZqJq1apo3bo1hg8fjsaNG3td3tKlS/Hqq6%2Baprlcrlyzxb/wwgt49tln8/2u%2BX1Wu3bt8NVXX%2BX7nt27d2Pp0qXYu3cvkpKSEBERgVq1aqFXr17o378/ypUrV6iyCCGwZcsWbNq0Cfv27ctxDO3evTv69esHq9Wa53KmT5%2BOTz75BAAwaNAgPc/A77//jsWLF2P//v04d%2B4cgoOD9WPo8OHDcz2GPvzww9i7d69p2rJly7Bs2TKv82/btg2RkZFe3z9lyhT069fPa1mznD59OtffOuv9xve1bNkS33zzTa7rI7vhw4frQyM%2B/vjjhU5Omdt2HxcXh2%2B%2B%2BQY7duzAuXPnoKoqatSogc6dO%2BPhhx9GVFRUoT4vL6qqYu3atdi8eTMOHTqElJQUyLKMKlWqoHnz5rj33nvRrVs3SJLk9f2F/R2o9GOAfQMw1lBn1VzLsozevXvjyy%2B/BOA%2BgfVngF0QGRkZGDt2rOnEDACSk5ORnJyMffv2Yd68eZgxY0ahP%2BPkyZN4/vnncfToUdP0pKQkbNmyBVu2bME999yDqVOn%2BhQQHz58GK%2B%2B%2BioOHDiQ47XExEQkJiZi69at%2BPTTTzF16lTcdttt%2BS5z06ZNmDBhAtLS0kzTjx8/juPHj2Px4sV48cUXMWrUqHyXdb3S09MxYcIEr4nxcvPDDz/gzTff1E90jU6fPo3Tp09j1apVaNeuHaZNm5ZnULx79248//zzOdZFlvPnz%2BP8%2BfPYtWsXZs%2BejXHjxmHIkCE%2BlbMkref8FMV2lsXhcGDKlCk5Ln5lZmYiJiYGMTExWLRoEebMmZPvcE0AsHz5ckyePFnP9ZDFuF5feukljBw50ucy%2BoO/9/283H///XqAvXbtWp8D7K1bt%2BrBdXh4OLp27Wp6XQiB999/H1988YV%2BsdTI4XAgNTUVBw8exKpVq/Dll1/i%2B%2B%2B/v67vUhjVq1c3Pc9t/wWABQsW4MMPP8Tly5dN0%2B12O65cuYLjx49j0aJF6NOnD958800EBwf7XI69e/fin//8JxITE32aPz09HZMnT8a3336bY/06nU6cOXMGZ86cwebNm/Huu%2B9i6dKluWbfzszMxDvvvIMlS5bkyKaempqK1NRUHDhwAF988QWee%2B65Ah9nNm/ejHHjxukXG7NklXHVqlX497//jccff7xAyw0kp9OJ1157DcuXLzdNT0pKQlJSEvbt24e5c%2Bdi5syZBV72X3/9hQkTJuDgwYM5XjMeQz/77DO8//77aNasmc/LdjgcePvtt/H111%2Bbptvtdhw4cAAHDhzAN998gzlz5qBBgwYFLnsgDB48GLNnz4YQAvv27cPx48dRv379fN935swZ04XRQYMG%2BbVcK1aswOuvvw673W6aHhsbi9jYWCxatAgTJkzw6%2Bfu378fr7zyCk6cOJHjtatXryIuLg6rV69G8%2BbN8d5776F27dp%2B%2B2wq/Rhgl3F79%2B7FqVOnAAAVK1ZEx44d9dfuv/9%2BPcBet24dJkyYgKCgoGItn6qqGDNmDHbu3KlPkyQJDRo0QMWKFZGUlIQTJ04gISEBTzzxBMaPH1/gz0hKSsLLL7%2BMpKQkAECdOnVw00034cqVKzhy5Ih%2BErRhwwa8%2B%2B67%2BM9//pPn8n799Vc888wz%2BgkxAJQvXx716tWDzWbD2bNnER8fD8AdWI4YMQKff/45WrVqlesyt27dihdeeAGqqurTqlSpgjp16iAzMxNHjx6Fw%2BHA1KlTERYWVuB1UBBCCLz88sv48ccfAbhri%2BvWrQtJknD69Gmv7/nyyy/x7rvvQgihT6tevTpq1qwJIQROnDiB1NRUAMCuXbvw8MMPY9GiRbkG2efOnTOdnEdERCAqKgrh4eFwOp04ffq0/nteu3YN//nPf%2BB0OvHoo4/m%2Bd1K0nrOT1FsZ0avvfYaVqxYAeDv31hRFBw7dkw/eU9KSsJTTz2FdevW5VmTvWLFCkyYMMH0%2B1etWlVfr7GxscjIyMD777%2BPkJCQPMvVrFkz2Gw2/aIMAFSrVg3R0dFe588r8PL3vp%2Bf3r17491334XL5UJ8fDz27t2L22%2B/Pd/3rV27Vn98zz335DgOf/DBB/j888/155IkoXbt2qhWrRpkWcbly5dx6tQp/eKGtyC8ODidTtPz3GoE33jjDSxcuNA0rXbt2rjpppvgdDpx9OhRPWHa2rVrcfbsWcydO9enCyAnT57EW2%2B9pa%2BLOnXqoFq1anrQnt358%2Bfx1FNP5bgAExUVhcjISGiahvPnz%2Bv7mqqqOS4iZbl8%2BTJGjRqFffv26dMsFgvq16%2BPihUr4vLlyzh69ChUVYXdbsfUqVORmpqKsWPH5vu9AHeLoueeew6apsFqtaJBgwYoV64czp07h7i4OADu3/6dd95BVFSUqck%2BAERGRqJDhw7IzMzE77//DsC9Ld11111eP%2B/mm2/2qVzXQwiBf/3rX6aLuZIkoX79%2BqhUqRLOnz%2BPuLg4xMfHF7hWdNeuXRgzZoy%2BLQHu/5J69erBarUiISFBb0lz6tQpDB8%2BHF9%2B%2BSVatGjh0/InTJiA1atXA3CfX9WpUweyLOPYsWP6haPz589j5MiRWLt2bY5jaIsWLRAaGoq4uDicOXMGgPs3uuWWW7x%2BXkEuANatWxcdOnRAWlqaftEvJCQk1/%2BHrFYZtWrVwl133YUdO3YAcNeo%2B7J9Llu2TD/%2Bt2zZMtfvUBibNm3SW0RaLBZER0cjPDwcp0%2Bfxrlz5wC4zwNeffVVyLLslwS7v/76K55%2B%2BmnTvp7Vcs7lciE2Nlbfrvbv349HHnkEX331VY4LKYX9HagMEFSm/ec//xHR0dEiOjpaTJw4McfrvXv31l//7rvvfFpm1vzR0dHizJkzXudZvny5Ps/QoUNzXdYnn3xiWt7TTz8t4uPjTfMcP35cDB06VERHR4u2bdvq89599925Lvfuu%2B/W52vTpo2Ijo4Wo0ePFqdOnTLNl5iYKIYNG6bP26hRI3Hy5Mlcl5uYmKgvLzo6WvTq1Uts27ZNuFwu03wxMTFi4MCB%2BnydO3cWly5d8rrMlJQU0zLbtGkjvv/%2Be9MyL126JN5%2B%2B20RHR0tmjVrJlq0aKHP/8svv%2BRaXl/NmDFDX17Lli1FdHS0uOuuu8T3338vVFXV53O5XOL06dOm927dujXHb3j48GHTPC6XS2zYsEG0a9fONF9uVq1aJfr27Svmzp2b4/Oy/PXXX%2BKpp57Sl9esWbNc5xWiZKxnX/eLotjOjL9x1rI7deokNm7caFqu0%2BkUs2fPFg0bNtTnnz59eq5lPX36tLjtttv0eTt27Ci2bt0qNE3T57l69ar46KOPROPGjX1er8byjh07NtfPz66o9n1fPfHEE3kec7O7fPmyaNq0qf6enTt3ml6/cOGCaNKkif76q6%2B%2BKi5cuJBjOZqmiUOHDolp06aJRx555Lq/hxDmY/3y5cvznX/OnDmm9/z222855vnqq69M84wbNy7H/4jD4RCLFi0SzZs31%2Bd76623cv3cjh075jh%2BPfXUU%2BLEiROm%2BVJTU037h9PpFA8%2B%2BKCpPGPHjhVxcXE5PiM5OVksWLBA9OzZ0%2Bv3EkKIMWPGmI5Hs2fPFleuXDHNk5aWJiZPnmz6zI0bN3pd3qlTp/R5GjZsKFq3bi0aNWokpk2bJi5fvmyad%2B/evaJDhw76/F27djXtg7ktt3Hjxl7nuV5LlizRP2PEiBG5zrdo0SLTuhg%2BfHiO9X/w4EHRr1%2B/HOcA3bt3z3W5CQkJ4o477tDn7dOnj9i%2BfXuOdfLnn3%2BK/v37m84rsv9mWaZNm5bj2NKlSxexadMm0zHU4XCIjz/%2B2PS9Zs6cmWtZjcsdP358rvNl99BDD%2BnvW7Vqldd5du7c6dP6Mlq/fr3%2BnjvvvFM4HI4851dV1bQPLl261Ofv4E327T5rXY8dO1YkJyeb5t2%2Bfbvo3Lmzab/ztv8K4d7fjb9JYmKi1/kuXrwo2rdvr893%2B%2B23i%2BXLl5vWQ0ZGhvj8889Nx%2BbevXsLu93udZmF%2BR2odGOSszLMbrdj3bp1%2BnNjYrMsffv21R8Xd7KzS5cuYdasWfrzu%2B%2B%2BG7NmzcrRL61evXqYM2cOWrVqpdeCFkRaWhr69OmDWbNm5WjCExkZiY8//li/aqhpWp5Z1V9//XW9ZrV58%2BZYunQpOnXqBFk270pNmjTB/Pnz9WaEiYmJmDdvntdlzpw5U19mUFAQ5syZg/vuu8%2B0zPLly%2BOVV17BM888A7vdnmsNij9cvXoV4eHhmD9/Pu677z5TZmBZlk39nDIyMkytCoYOHYpPPvkkR5NiWZbRo0cPLFy4UL%2BKv3Xr1hx9bbP06NEDq1evxvDhw3PtV9WoUSPMnj1b76tlt9tzNNUzKmnrOS9FsZ0ZpaWloXLlyli0aBG6d%2B9uWq7FYsGoUaMwdOhQfVpex4bp06cjMzMTAFCuXDnMmzcPXbp0MfVJCw0NxZgxYzBhwoRiXa/%2B3Pd9ZTymrlu3ztRawpv169fD4XAAcNf633nnnabXd%2B7cqdcMt2rVCpMmTULVqlVzLEeSJDRu3BgvvfSST9tAUTA2S7darTmaUSckJOD999/Xn48bNw5vvfVWjj70VqsVDz30EGbPnq0ff%2BbPn4%2BzZ8/mW4arV6%2BiW7du%2BOSTT1C3bl3TaxUqVED58uX15/PmzTPVNo8fPx7vvPOO15rbypUr49FHH8V3332Hpk2bev3uGzduBOBuVTF37lyMGjUqR61lREQEJkyYgBdeeEGf9t5775laf3gjhMClS5fwxhtv4KWXXsrRH7lly5b46KOP9P0uPj5er6Uuqa5du4Zp06bpz1u3bo3PPvssx/q/9dZbMW/ePNSrV8/nc4D//ve/ei1yy5YtsWTJEnTo0CFHX9lmzZphwYIF%2Bn9WQkKCTzlj0tLSULVqVSxatAjdunUzHUOtVitGjx6Nhx9%2BWJ%2BWWw6Jkqhr166oUqUKAODixYvYunVrnvNv375d7xoWFhaGXr16%2Ba0sQgikpaVh8ODBeOedd1C5cmXT6x06dMD8%2BfNRoUIFAO7zgClTplzXZ86cORPJyckA3L/lp59%2BigEDBpha5AQHB%2BPJJ5/Eu%2B%2B%2Bq087duxYwI69VPIwwC7DNm/erP/B1K5d22uzp759%2B%2Bp/ODt27NCbUhaHNWvW6CfmQUFBmDhxYo4AIovNZsOkSZNyTSSRl/Lly2PixIm5vjcsLMzUbyd70pEssbGxerNpq9WKqVOnIjQ0NNfPDQkJwcSJE/Xn33zzTY6TqIyMDL2JGQA89thjXk/esjz33HOoU6dOrq/7y3PPPZfj5NSblStXIiUlBYD7QkhWM67c1K1bF6NHj9af5zaOZ17r1UiWZfz73//Wn%2BeW9K6krmdvimI78%2Bbf//43atSokevrI0aM0B9n9VXMLjU1FRs2bNCfjxkzJs/19uijj/rc/NIf/LXvF0SPHj30ZvAXL140dX/xxtg8vE%2BfPjmOgcacBr40NwdguihWXObMmWPKFdChQ4cc2%2B38%2BfP1iwkdO3bEY489lucy27Zti4EDBwJwJ%2BNavHhxvuUICgrCG2%2B8ke86cDqdpsRb9957r2mbz40sy167JRib8I8ZMybfnCajR4/Wj7GnTp3Crl278v3srORouWnevLlp//LH9lyU1q9fr3dHsVgsmDRpUq7NoMuXL4///ve/Pi33yJEj2L59OwD3ucPUqVPz7JoSGhqK119/XX/ua2KvV155xZR0LDvj9hQfH19qsupbrVZTM%2BulS5fmOb/x9d69e/v8/%2B2rypUr59k1ICoqCs8//7z%2BfMuWLYVe11evXjVdUB42bFie3a569%2B5tSpL59ddfB6yLDpUsDLDLsKz%2BlYC5VsWoRo0aekZVl8uFNWvWFEvZAHdGzCxdunTBTTfdlOf89evXR%2BvWrQv8Ob169co3E7LxAOotoQXgviCQFbh07drVp4yVt912m15zltWf3Gj37t16H1tJkvDII4/kuTyLxYKHHnoo38%2B9HhaLBf379/dpXmPQ%2Buijj8JiyT%2Btg7ElRVbG0esRFRWlZ0yOi4vLkTQp63NK2nrOTVFsZ9mFh4ejd%2B/eec4TFRVlqin1tsxdu3bptavZT8py8%2BCDD%2BY7j7/4a98viLCwMFOSsryOqefPnze14vB2nDb2xz58%2BPB1l8%2Bf0tPT8dtvv%2BGll14y1RpZrVbTCW8W47rIGg0iP8Z14svxwlj7lpc9e/aYLl4UNls24E7kl5VEy2q1mmoucyPLMvr06aM/9%2BW7%2BZLI0XgRxh/bc1HavHmz/rhdu3b5XtRt166dTwm3jP9L3bt3zzdbO%2BBeb1nznTt3Ts9dk5uIiAj07Nkzz3nq1q1rqnEt6b%2BH0ZAhQ0yVL1l9nbNLTk7WLwgDyPMCUGH169cv3%2BP4gAED9MDe5XLlW%2Buem19%2B%2BUXvWy1JEoYNG5bve4wXUhISEnDkyJFCfTaVLQywy6gLFy7g559/1p97ax7u7bXibMZkrO0wDtOTF1/nM/IlO7rxKvSVK1e8zmNsbleQchiTXmTPZPrnn3/qj2%2B55ZY8r4Zn6dSpk8%2BfXRj169fXm1vlxW6360k7AN/XyU033aQ300xJSfGaddwoOTkZq1atwjvvvIOXX34Zo0ePxpNPPmm6ZTU5FkJ4vXJdEtdzbopiO8uuSZMm%2BQ5JA5j3C28XLoz7cKNGjRAREZHvMguzDxeWv/b9gjIGhZs3b0ZGRobX%2Bb7//nu9tqNevXpo0qRJjnmMLS22b9%2BOKVOmeP0titq4cePQsGFD061Vq1YYOnSoqWm4oiiYPHlyjubhJ0%2Be1JtdSpKENm3a%2BPS5xu06a7ievPia5M%2B4n9WuXfu6huYzLqtJkyY%2BDydVkH0WgE%2BtP/LbZ0sS43G5Q4cOPr3Hl%2BPynj179McFOd5EGxIp5retNW3a1KcLysaKA38dX4pDVFQU2rVrB8DdfcZYYWO0atUqvRtMdHR0gUay8JUxOW9uQkJCTBUw3kbe8IVxm2zQoEGerbyytGrVyrTP79%2B/v1CfTWULs4iXUatXr9Yz5Bprt7zp2bMnJk2aBIfDgaNHj%2BLgwYNeT/T8KTMz09SXql69ej69z9f5jHypzTA2%2BcvtZDg2NlZ/vGzZslybI2dnzE6bvf%2BYMSu3r8N41KlTB1arNUfGXn/xdSzJU6dOmcrw5ptv%2Btw01TjURmpqqtfWC%2BfPn8fbb7%2BNDRs25BjuJi/eTmJK4nrOTVFsZ9l568PrjbFZZVZ3DiNjs3Ff982aNWsiODjY6/L8zV/7fkF16NABFSpUQFpaGq5du4bNmzebaiuzGGt0c2tl1KpVKzRt2lS/mDVnzhwsWLAA7du3R7t27dCyZUs0adIkIM3Cs2vWrBnGjx/vtSm7cbu2WCwYM2ZMgZef1X8/ryaovh6/Tp48qT%2B%2B3v%2B7Y8eO6Y/j4%2BPx5JNP%2BvQ%2B40gJvvQt9mV7zm%2BfLSnsdrvpYmh0LqMEZOdLdmrj77FkyRK9b3x%2BjDWP%2Bf0evvwWQNEcX4rLkCFD9Iqa5cuX45lnnsnR3cY4ZndR1F4Dvv9n33LLLXrLyKys%2BgVlPFfwdZuUJAnR0dH6hZ3cRluhGwsD7DLK29jXuSlfvjw6d%2B6s/wmtXLmyyAPs7EGQMfFMXnytGTDypaYuP5qmmWoDfKlJ8Sb79zYu05daY8BdQxQeHl6ohG%2B%2B8HV4quxj3PrSh9AbbwFxbGwshg0bhosXLxZ4eVl9PI1K4nr2pqi2s%2BwKs09469dt/Bxf92HAvR8Xx8m/P/b9wn7ufffdp%2BcYWLNmTY4A%2B%2BTJk6Zay9wCbEmSMHPmTIwcOVIPUu12O7Zu3ao3gwwPD8ddd92FAQMGoEuXLkXwjdwnm8YhZCRJQmhoKCIiItCgQQO0adMmz1pg4/HC6XTqwwAV1JUrV/IMsH09fhnHkc5tuEBfGb9bcnJyob6bcTg%2BbxRFKfBFFF9yMQRK9nG8fT0u5zefqqqmdelLywBviusYWpJ1794dlStXRkpKCuLj4/HLL7/otdqAu%2BVG1oUqm82W77lmYRVm2yhs6w3j%2B7K6nvnCOG9JbzlCxYMBdhkUExNjuoL74Ycf4qOPPsrzPcYaxbVr12Ls2LFFenJa2D%2BaQP1BZWZm%2BiVxRfbyG2tHC7K%2BCzIeZkHllmguO39djc%2B%2BXl0uF1588UU9uM764%2B7SpQvq16%2BPatWqISgoyLS%2Bunbtqo9n6k1JXM/eFNV2VtKU9PL5Q9%2B%2BffUAe%2BfOnUhNTTWdhBlrr1u2bJlnzWuNGjWwcuVKLF68GEuWLMkxZnN6ejp%2B%2BOEH/PDDD2jRogXef/99n2tyffX4449f1/iy/socn9%2B242siTOOFuOvdz/1xLLzREiP5OmZ6dvn9VkX1v3Qjslqt6N%2B/v57Ab%2BnSpaYA21h7fc899/gcCBeEJEk%2BNcUHzNuGtwvtvjC%2Br7DnCoX9bCpbGGCXQdn7URe0309qaiq2bduG7t27%2B7NYJtlru3y94pffVf6iEhoaamouPH/%2BfJ/7EObFmLgjK7GGLwoyb1ExtiawWCzYv3%2B/z3%2BEedm6dat%2BgchqtWLu3Ln5Zk/Ob32UlvVcVNtZUTFuAwW5ah%2Bo/bg4tWrVCrVq1UJ8fDycTifWrVtnSq733Xff6Y9zq702stlsGDZsGIYNG4bExETs3r0be/bswc8//4z4%2BHh9vj/%2B%2BAMjRozAypUrfeoTX1yMx/zatWubss8HgrE819s31riswYMHY/Lkyde1vBtB9qRVvh5r85svLCwMsizrAfLXX3/tc798ymnIkCGYM2cOhBDYuHEj0tLSUKFCBaSnp2P9%2BvX6fMbRGPxJCIFr16751DLFuG0UprVj9vcV5P/f%2BJ9WkNZcVHYxyVkZ43Q6TcO%2BFFZRj4kdHBxsqs3xNbtmILNwGstb2P492RmbJuZVA2uUlpZWIgIUY3ZUVVV9Ln9%2BjMMa9enTJ4yMCeQAACAASURBVN/gOiMjI9/grjSt56LYzopK9erV9ce%2B7psJCQklum%2BoPxmbhRuPy3/%2B%2BaeepdhiseC%2B%2B%2B4r0HKrV6%2BOBx54AJMmTcLmzZuxYsUK9OjRQ389ISEBCxYsuL7C%2B5lxHzx79mzAa3mMfWivdz8zfreSvs%2BWFOXKlTPVEPp6XDZeTPJGluVSdQwt6WrXrq0ninM4HHrLm%2B%2B%2B%2B05vLRAVFYU777yzyMpQmG2jsN0%2BjO/Lb1szMva7LkjTciq7GGCXMT/%2B%2BKPeH8xms2HPnj04cuSITzfjCdmPP/5Y5H1PmzVrpj82DlWTF38M61RYxgyuhe1vnJ0x0%2B5ff/3lUzKvwmbH9LfatWub/kj8tU6MibOM20hu9u/fn29zvtK0notiOysqxt/n8OHDOfpVeuPrvm5s6ltam5Qb%2ByTu3btXP1E0Ng/v0KHDdfcBbtKkCWbOnGnKmJzf%2BNvF7bbbbtN/U6fTacr0HAjG/SwmJua6LvoYl/XHH3/4rTl8UTF2AwrUviXLsqnPvq/HW1/ma968uf64pB9DgaL9PfxxHDUOrZg15rVx7OtBgwb53DWjMHzdNoyjmhQ2j5DxXOHgwYN6hvS8pKammgJsb59dFv7PqGAYYJcxxubhHTp0yHfsQKNWrVrp2YWdTqepCWNR6Ny5s/5469at%2BQ7XdPz4cdNwKMXtrrvu0h9v2rQJSUlJ173MrDHIAXeNqS8nxcYhcQJJkiS0b99ef7548WK/LLegWbt9aW1RmtZzUWxnRaVdu3Z6LZTT6fRpmD9ftxNjIqvSWuNdv359/YRNCIG1a9fC5XJh3bp1%2Bjy%2BNA/3hSRJpvG3U1JS/LJcf6lYsaLpxDOrf3qg3HnnnXpgc%2B3atTzHK89PmzZt9P3A4XAU63CXhWHMNK5pWsBaExiPyz/88EO%2BFz7T09Px008/5btc45BfGzduLHH7QnbG38OYD8cf/HEc7d69u34R8MiRI1i%2BfLke9CqKgv79%2B19/QfPgy3/xsWPHTLkpCtstoDDnCt99951%2Bkd9isZgu8GQpC/9nVDAMsMuQixcvmv587r333gK9X5ZlUzPDoj5J6Nu3r/7HYrfbMXHixFxrIh0OB1577bWAJh65//779RrbrPJe75XI%2BvXrm046Z8yYkedJxvHjx7F69err%2Bkx/GjFihP740KFDmDt37nUv05ipeO/evXnOu3//fp/WR2laz0WxnRWVihUr4p577tGfz5o1K88hSr755hvs27fPp2Ubm/CeOXOm8IUMMGMAvXbtWvzyyy/6RZPQ0FB069Ytz/cX5Lc31pyWpP7XWYzHiw0bNvg8BF1RiIyMNOUZmT59eqEDsYiICDzwwAP68xkzZvity0xRqFChgql5dqD2L%2BM6O3v2bL4X3z7%2B%2BGOfkpg98MAD%2BvafkZGBN9544/oKWsSMwyb6e4gn43E0JSWlUHlFbDab6beaOHGi/rhTp05eh9n0px07duRbuTJt2jT9cfXq1QvdZD06OtrUMuuDDz7Isxb7ypUr%2BOSTT/Tn3bp189pE3B%2B/A5UuDLDLkDVr1ui1f1arNd8TN2969uypP46JiTGNXepvERERePbZZ/Xnmzdvxj/%2B8Q9TE2HAPZzNyJEj8dtvvwW0b0toaCief/55/fnGjRvxr3/9K99%2BuleuXMGCBQvw0ksveX191KhR%2BuMDBw5g4sSJXg/o586dw7PPPutTk6Xi0rx5c1P/0XfffRdz5szJtyYiISEBU6ZMMf0xZWndurX%2BeP369bk28Tt48CCeeeYZn8fILi3ruai2s6Ly0ksv6RfKLl26hOHDh2Pbtm2mwPDatWv4%2BOOP8cYbbyAoKCjPYZayGC%2BIHDp0KKDdQ65H79699ZrSo0eP4sMPP9Rf69Gjh6n2yps333wTU6dOzXFczC4hIQFff/21/txYE1NS9O7dG7fddhsA94WDf/7znz7VHB87dgyvvvqq33ODPPfcc3r235SUFIwYMSLPAMflcmHNmjVe8w08%2B%2ByzelCXlpaG4cOH5ztElKZp%2BPnnn/Hkk08W69i5FovFNMbv3LlzA3LxulGjRqba5nfeeSfX4/23336LL774wqflhoWF4R//%2BIf%2BfP369fi///u/fIOay5cvY968eXj55Zd9%2Bhx/MTZLjomJ8WtLvZo1a%2BrZvTVNw/z58wu1HGMzcWMte1ElN8vuxRdfxPHjx3NMF0JgxowZpot1Tz31lM%2BjoXgzevRo/fGhQ4cwfvx4r608rly5gjFjxugXTBVFMZ1nGPnrd6DSg1nEyxDjyUf79u0LlUWxdevWqFKlCpKTkwG4a7H/7//%2Bz29lzO6JJ57AL7/8ojfD2bRpEzZv3owGDRqgYsWKSE5O1g%2BqEREReOWVVzB27FgAgRnj9pFHHsH%2B/fv1db127Vps374dffr0QatWrfSrlJcuXUJsbCz%2B%2BOMP/Pzzz3A6nV6bDQHuixpdu3bV/yAWL16MP//8E4MHD0b9%2BvVht9uxZ88eLFq0CJcvX0bLli2RmJiIc%2BfOFc%2BXzsfkyZMRGxuLY8eOweVyYcqUKVi8eDF69%2B6NJk2aoEKFCnA4HEhJScHhw4fx22%2B/Yf/%2B/QCAkSNH5lher169MG3aNCQlJUFVVYwcORKDBg1Cx44dERERgQsXLuCnn37CmjVroKoqOnTogOPHj%2BcbgJSm9VwU21lRiYqKwn//%2B1%2BMHz8eQggkJiZi1KhRqFatGurUqQO73Y6jR4/qNU/jx4/HF198ode25jbsTv369dG4cWP89ddfEEJg%2BPDhaNiwIapXr24aD3jSpEmmhHslzU033YS2bdvqgUPWtg/41jw8PT0d8%2BfPx2effYaWLVuiTZs2aNiwISpVqgSLxYKUlBT8/vvvWLFihX4RJiwsDMOGDSuaL3QdFEXBjBkzMGjQICQnJyMjIwP/%2Bte/8OWXX%2BLee%2B9Fw4YNER4ejoyMDCQnJ%2BPQoUPYtWuXPqqAv7fthg0bYvz48Xj99dcBuAP5Xr16oXfv3mjfvj0iIyOhaRrOnz%2BP/fv3Y%2BPGjUhKSsLChQtRr14907Jq1KiB9957T784Fx8fj4EDB6JLly7o2LEjateujeDgYKSnpyMhIQExMTHYvn27fnJe3K1U%2BvTpo18AWLx4MbZs2YLo6GgEBwfr8/Tt27fACfgK6rXXXsMDDzyAq1evwm6344knnsD999%2BPrl27olKlSjh//jy%2B//57bN68GYD7/8GXJsPDhg3DH3/8oScXXL16NX766Sf07dsXt99%2BOypXrgwhhOkYumvXLjidznwTa/pbw4YNER0djaNHj0LTNAwdOhTR0dE5jnVvvvlmoSoZ%2BvTpo%2BfYmT59OpYsWYK6desiKChIn%2Bexxx7Lc8SKOnXqoE2bNqYcGlWrVkWXLl0KXJ6CUBQF3bp1w4YNGzBgwAAMGTIE7dq1Q3h4OOLi4rBy5UpTPocWLVqYRmsojO7du6Nfv3749ttvAbgv7hw4cAAPPvggGjZsCJfLhZiYGCxatMh0fvD000%2BjadOmuS7XH78DlR4MsMuII0eO4NChQ/rzgjYPzyLLMrp3745vvvkGgPtP6Z///KfpIO9PFosF//vf/zB27Fj88MMPANwnGtnHea1ZsyZmzJihj40MFH4Yhuv19ttvo1KlSvrV9EuXLmHhwoVYuHBhoZf5/vvv48knn9Sbz/71119em7VFRkZi6tSpJerkOTw8HAsXLsSLL76In3/%2BGYA7c%2BusWbMKtbzg4GC89957GDlyJJxOJ5xOJxYtWuS1z%2BYtt9yC9957z%2Ber6KVpPRfFdlZUBgwYAE3T8Oabb%2BqB84ULF3DhwgV9HkVR8OKLL2Lo0KH4%2BOOP9el57ceTJk3CE088oWeJz0rIaDR%2B/Hh/fpUi0bdv3xw1c5UrVzblMMiPEAJ79%2B7Nt9tEaGgoZs6cacrwXpJUr14dS5YswTPPPKP/lgcPHsy3treoPPzww1AURW/R4nQ6sWrVqkLVlnfu3Bmff/45XnzxRaSlpUEIga1bt2Lr1q1FUPLrM3ToUGzZsgW//fYbACApKSlHvoe8ggV/ufnmm/Hxxx9j1KhRyMzMhKZpua7/AQMGoG/fvj7nx5gyZQqqVKmCr776CoC7ZcH8%2BfNLZO3h5MmT8eSTT%2BLKlSsQQng91v33v/8t1LKff/557Nq1S6%2BsSEhIyNGFwZdzxgcffNAUYPfv398vQ3PmZ/LkyThx4gRiY2Mxb948zJs3z%2Bt89evXx8cff3xdtdfGz7Tb7fpQZCdOnMDbb7%2Bd6/yPPfaYqeWZN/76Hah0YBPxMsL4Z2SxWArVPDyLsZn4hQsXijwbbUhICGbMmIHPPvsMPXv2RGRkJKxWKypXrowWLVpg3LhxWLVqFZo2bWoKsAPVXFyWZYwdOxZLlixB586d8/yDkSQJjRs3xgsvvGBqGppdWFgY5s6di5EjR5pqELIoioLu3btjxYoVqFmzpl%2B%2Bhz9FRERgzpw5mD59Oho3bpznvDabDe3atcPkyZNNTbGM2rVrh/nz55uaMRqFhITgoYcewtKlSwuUgbk0reei2M6K0qBBg7B27Vo89dRTaNCgAUJDQxEWFob69evj4YcfxooVKzBq1CioqmrKNp7XftysWTOsXbsWo0ePRosWLVChQoViOaHzt3vvvddUSwG4a%2BJ8uXA5ZMgQDBw4EJGRkXnOFxQUhD59%2BmDNmjWmRHklUc2aNbFs2TK89tprqF27dp7zhoaGomvXrpg%2BfTr69etXJOUZMmQIVq9ejR49euTZMqpKlSp47LHH0KBBg1znadeuHdatW4ennnpKbxKam6pVq2LgwIFYsGBBvuvB32w2G7766iu89dZb6NKlCyIjI70eE4tD27ZtsWLFClP3IKOKFSvilVdeyTPA8UZRFIwbNw7ffPMNOnbsmO8xtEmTJnjxxRcxffr0An2OPzRv3hxr167F008/jebNm/v1WBcREYHly5djwoQJaN%2B%2BPapWrZpry6G8NGzYUH8sSVKxNQ%2BPiIjA4sWLMWDAAK/7p9VqxYMPPoglS5Zc94gMWWw2Gz744AO8%2B%2B67iIqKynW%2BRo0a4dNPP8W4cePyzaTur9%2BBSgdJlNTsOUReTJo0SW9iM2rUqGLvK%2BVNeno69uzZg8TERFy6dAmyLKN8%2BfK4%2Beab9aacBV3erl27EB8fDyEEIiMj0apVqyJPJOJP58%2Bfx759%2B5CcnIwrV64gKCgIFStWRN26ddGoUSOfT%2BSEEDhw4ABiYmJw%2BfJllC9fHtWrV0ebNm0QFhZ2XWUsbevZ39tZoMTExGDgwIEA3AHGjh07Alyi0uPs2bM4evQoEhIScOXKFUiShPDwcNSrVw/NmjUr0KgRJUlcXBwOHDigJ/8JDQ1F5cqVUa9ePURHRxdrd6D09HT89ttv%2Bn5ms9lQtWpVREdHo2HDhgUajkjTNBw8eBDHjh1DamoqHA4HwsPDERkZiVtuuQV169Ytwm9SOp08eRJ79%2B5FSkoKwsPDERUVhbZt2/olEDEeQ9PS0qAoCsqXL4/atWujYcOGHL84H9OmTcPs2bMBuDPnF1VLgLi4OD15pqIoptaZFy9exK%2B//opz587B5XKhevXqaN%2B%2Bfb4Xs67X4cOHcejQIaSkpECWZVSpUgUtWrQo9gtjVHowwKZSIzMzE126dNHH5541a9Z11dQTUfGbOHGinoyrR48e%2BOijjwJcIiIiyovT6cTdd9%2BtdyN4//33/TbEYHZ5BdhEpQWbiFPA%2BXKNRwiBN954Qw%2Buq1Spgk6dOhV10YjIB75ep921a5dpKJ6iHj%2BViIiu37fffqsH15UqVWJfYaJ8lL7ObFTmjBkzBo0aNULPnj299rmNiYnBhx9%2BaBrje%2BTIkQHJIk5EOS1btgw7d%2B5E//79ceedd%2Bbob5yamopFixZh1qxZ%2BrBqTZo0KfIMtEREdH1iY2NN40wPHz6cfYeJ8sEAmwIuOTkZ//vf//C///1P7w9Vrlw5ZGRk4PTp00hJSTHN37lzZ4wYMSJApSWi7FRVxbp167Bu3TpYrVbUrl1b7xOenJyMkydPmmq5K1SogClTphTZ6ARERFQ4mqbhueeeA%2BAeHz4mJgaqqgJwj7BRkkYxISqpGGBTwBmHVLh8%2BTIOHDjgdT5FUTBkyBBMmDChQIlmiKhoGfdhp9OJ2NjYXOdt3Lgxpk2blmMcYSIiCjxN0/Rxx41sNhumTJlSapMpEhUnBtgUcJ999hm2bNmC3bt348iRI0hISEB6ejoAd01XrVq10LZtWzzwwAPMukpUAg0ePBj16tXD9u3bsX//fpw%2BfdqUNTlryL1u3bqhW7duvEBGRFQKyLKMihUronXr1njmmWfQqFGjQBeJqFRgFnEiIiIiIiIiP2AWcSIiIiIiIiI/YIBNRERERERE5AcMsImIiIiIiIj8gAE2ERERERERkR8wwCYiIiIiIiLyAwbYRERERERERH7AAJuIiIiIiIjIDxhgExEREREREfkBA2wiIiIiIiIiP2CATUREREREROQHDLCJiIiIiIiI/IABNhEREREREZEfMMAmIiIiIiIi8gMG2ERERERERER%2BwACbiIiIiIiIyA8YYBMRERERERH5AQNsIiIiIiIiIj9ggE1ERERERETkBwywiYiIiIiIiPyAATYRERERERGRHzDAJiIiIiIiIvIDBthEREREREREfsAAm4iIiIiIiMgPGGATERERERER%2BQEDbCIiIiIiIiI/YIBNRERERERE5AcMsImIiIiIiIj8gAE2ERERERERkR8wwCYiIiIiIiLyAwbYRERERERERH7AAJuIiIiIiIjIDxhgExEREREREfkBA2wiIiIiIiIiP2CATUREREREROQHDLCJiIiIiIiI/IABNhEREREREZEfMMAmIiIiIiIi8gMG2ERERERERER%2BwACbiIiIiIiIyA8YYBMRERERERH5AQNsIiIiIiIiIj9ggE1ERERERETkBwywiYiIiIiIiPyAATYRERERERGRHzDAJiIiIiIiIvIDS6ALEEhCCFy8eBWaJgJdlBuOLEuoVCmM6z8AuO4Di%2Bs/sLj%2BA4frPrC4/gOH6774VK1aLtBFILqxa7AlSYIsS4Euxg1JliWu/wDhug8srv/A4voPHK77wOL6Dxyue6Ibyw0dYBMRERERERH5CwNsIiIiIiIiIj9ggE1ERERERETkBzd0kjMiIirNBIBrkOVUSNIlSFIGJMkBwAFJshvu7Z7pdiiKDCAMNpvmeWwBYIEQFs9jBUKEQIjyEKIcNC0CQpQHEBSg70hERESlCQNsIiIqMSTpCmQ5EbJ81nOfCEU5B0lKhSynQZJSIUlphsfOQn1OWFjB5hciCEKUgxDugFvTKkDTqkHTIqFpN3lufz92B%2BVMaERERHSjYYBNRETFRECSLkBRTkJRTnjuT%2BsBtaIkQpKuFHypQoEQ5QDYIIQNgBVCWOH%2Bi8t6nPVcgtUKqKoTQqgAXJAkF4C/b5JkhyRdhSRdgyRdAwDPNDuAZB/LFOIJuG%2BGy1U7260OhKgGBuBERERlDwNsIiLyI%2BGpdT4CRTnuCaKzbqcgSVfzX4IIg6ZVhqZVgRCVoWkVPbXHYZ77cGhauP4YCIavwaqiSLBaQ5CRkQGXy5fxaF2QpAwA1zwB91XP7Ypeiy7LqZ5m6hchyxc9r2fo39tq9fYdQ%2BBy3QxNqw2X6xaoajRcrmioagMG30RERKUYA2wiIioEFYpyCopyFIpyBBbLESjKUVgsR/KshRZChhDVoGnV4XJV9zSzruwJpN03IKT4vka%2BFE8QHw7hSzwOAMj0BNwpkOULkOXzUJQLkOVzkOVzkKRkSFIGLJYjAI4A2GB6t6ZFwOVqAJergR54u1yN4HLVA6D49dsRERGRfzHAJiKiPLhrpC2WGCjKQVgsMbBYDkJRYj2Jw7y8QyjQtBrQtJqeIDrSc3MH1O7m2mVZMDStOoDqcLm8ve6ELCfrAbe7eXw8FOUMJOk8ZPkSZPl3WK2/m97lrvVuBFVtAlW9FaraFKraBEJULY4vRURERD5ggE1ERB7XYLH8BYvFGEjHQJZTvc4tRBA0LQoul/umabU899VR9oPo62H1XGyo7uU1hyfgToAsxxvuT3lqvffBYtlneoemVYOqNoHL1QROp/teVRvB3XSeiIiIihMDbCKiG44GWT5tCqQtlhjI8nFIUs520O4a6Vpwuerqibo0rbanNlou/uKXaTZoWh1oWp1s012Q5XOeZvlxUJQ4yPJJT7b1C7DZLgDYihBP63ohZLhct3iC7b9vmnYz%2BJsREREVHQbYRERlmCSlwWI55GnenXU7lGs/aU2rAJerHlyuOp5Aui5crigAtuItOGWjQNNqQtNqwum8yzA90xNwn9Lv3YH3ZVgsR2GxHEVQ0Ep9biHKGZqXN9WbmQPhxf6NiIiIyiIG2EREZYITihLrqZE%2B5OkzfQiKcsbr3EJYPRms65huQlQs5nLT9QmGy9UQLldDwzQBSbroCbqNgfdpSNIVWK27YbXu/ntuIUHT6nlquZtCVZt5artrg9nMiYiICoYBNhFRqSI8TYWNNdIHoShHck06pmlVPc2763iaeNeFptUE/wLKKglCVIaqVoaqtjJMVyHLCfqQae7bCchyimdIteMIClqtz61p5Q1NzJt5gu9bAYQV%2BzciIiIqLXh2RURUQknSJc8QWIcNSccOQpYvep3fnWXaGEjXgabVhhDlirnkVDJZPH3na8Pp/Huqezs74anpdo/dLctxkOXLkOVdsFp36fP%2BXdvdDKraCKra2DOEWH2wGwEREREDbCKiABOecZKP6ONJWyzusaVl%2BZz3dwjZk3Qsq2n3zdC0ukw6RoUiRARUtSVUtaVhqurJXn4iW213qqG227gMC1yu%2BnC5GkNVG3qGE2vsCbyDsn8kERFRmcUAm4ioGEiSOzCxWk8BOI2wsMOQpFgoyjHI8qVc36dpVeBy3eypjb7ZU0MdBQYtVLQsejZzc213qifYPglFOQNZPgNFiYMkXfNcHDqSLfBWPIF3I2haYwAtoCh1oaoMvImIqGxigE1E5BdZ/VtPQ5ZPe5rbnvDcjucYS9pmaE3rrpGuro8prWk19bGl2d%2BVShIhKkJVK2ar7RaQpGTPNh/vCbzjoCinIUlX9WzmgLt/d/nyWdt8PU8tdzRUtb4nEK8PIaqCydWIiKi0YoBNRJQvAUlKgywnQpbPQlHOeoLo055g4jRk%2BSwkyZXnUjStMoSoCUWJgt1eDaoaCZerFjStBth/lUovCUJUhapWhareYZguIEkp%2Bn6iKGdgs8VDiJOQpHQoSiwUJTbH0oQo5xkqrj5UtZ4eeLuD7ypg8E1ERCUZA2wiuoG5hzOS5WTI8gXP7ZwnkE6EoiTqQbUkZeS/NGGFpt0ETasGIarB5aoOTavuua8BIBiKIqFcuRA4HBlwuUTRf0WigJEgRBWoahWo6u1QFAk2WwjS069B01IMrT3Oeva3BEjSeUjSFVgs%2B2Gx7Dc1Nwfcmc01rT5crnqeWu%2BsAPwWCFEJDL6JiCjQGGATURni9ATM7pskpXjus6YlGW4XIElJkCTV56VrWnkIURmaVgWaVtUTTFfx3N8EISqAScaI8vP3MGJAy2yvOQ0tRRI9Q9IleC5yXfBkNt8Hi2Wfl%2BC7AjQtK4t%2BXcOtjmdYOqWYvh8REd3IGGATUQllhywne4Lk7IFyiudxqv7Y/fxyoT5JiHBoWkUIUdFzkl4ZQlSCplWCplXxBNWVwKRMREXNCk27GZp2M9Qc174c2YLvRE/td4LnolmaHnxnJ4TNkySwnj4WvPtxXbhctQGEFseXIyKiGwADbCIqBpqnD3OKIWBOgSQlex4nG6aleALr9EJ9khAShCgHIcobbuU8tc/lIUQENK0ChKjgCaojAFj9%2B3WJqAjY9HG8cwbfdkPXjvOerh7nIMtnIcvnIUmOXPt8A4CmRRrGkK9rurHfNxERFQQDbCK6DhnZ%2BiobH583BMsX800A5o0QMoSI8NzK64GzppXzPM4KnI0BdRjYFJToRhOkDyuWM/h2eZKt/X1scjc9z8qvcFUPyK3WXTmW7E66VsdLAF4PmhYFHm%2BIiMiIATYR5UqSLkFRTnmG3DnlucV5mmQm5hh6Kj9ChHkC4r%2BD5r9rlssbXsu6DwNrjojo%2BigQohpUtRqA5jlelaQr%2BgVCc/CdCElK9iRdOwCL5UCO9woR5Emy1gCq2gAu1983d%2BsYIiK60TDAJrrhXYXFcgSKcthzf9ITRJ/yKYAWIsjQT9ndV9ndf7mipzn230Ezm2ITUUnjrqEuB5cr2surDk/QnZVw7byh6XkiJMkOi%2BUQLJZDXpKuVfOM8d0YqnorVPVWuFyNIETFYvleREQUGAywiW4QknQFinIENttRAMcRHv4nZPkwFCUuz/e5k35V1zNlu29VPYnAKrOWmYjKMBs0LcrTFDw7l2dov3hPpvMEz328J6eEe%2Bg/q3WH%2BV2uGnC5btUDb5fLfQ8EF8s3IiKiosUAm6hMugaL5QCs1j2wWPbCat2bI7mP1VCZrGkVPRl2o6BpNeBy3QRNi4Sm3QQgpHiLTkRUKiiei4/Voaqts712zRNsn4ainIGixHm621yAopyFopyFzbZJn1sIiyfQbg6nszlUtQVUtSmAsGL9RkREdP0YYBOVeqqnf%2BBeWK37YLHshaL85TWpmHvYqTqwWOoiM7M6nE53zQz7ChIR%2BVOo3hfb6TROv%2BoJtuP0wFuWT0CWL%2Bv9vIODFwBwJ3l0NzFv7gm8W0NVm4M13UREJRsDbKJSR4XFsh9W63bYbDtgtf7sdUgrTavkOTlrAJfrFj3pjqJIKFcuBE5nBlwuEYDyExHdqMLgct0Kl%2BtWwzQBSUqCxXIcinIcinICihILWU6BxXIYFsthAIvdcwqrJ%2BBuA6fTfdO0WgH5JkRE5B0DbKISzwWL5U9PQL0dFssuyPJl0xxChENVG3pqTG6BqjaAEJXBl0YrmwAAIABJREFUvtFERCWdBCGqwemsBqez3d9TpYuegPs4LJZYKMphyHIqrNbfYbX%2BjpCQWQDcfbr/DrjbeWq5eXpHRBQoPAITlUCSlASbbQOCgtbBat0GWb5ket0dUDeDqjaD09kMmlYHgByQshIRkf8JUQmqWgmq2hp2OwAITyZz94gPFsthyPIJT5/uVQgKWgUA0LTyUNV2cDg6wunsCFW9DRyrm4io%2BDDAJioRBBTlEIKC1sFmWweL5XdI0t/Nt4UI8wTUTaGqzeBy1QVPmIiIbiSSnlTN6bzbMy0TFstRKMoRT3PyA5Dly7DZfoDN9gMAQNMi4HS2h8vVCcC9AOqDrZuIiIoOA2yigHHAat3hCarX5xguy50cpw2czjvgctUHA2oiIjILhqreBlW9zVPL7YKinPQkTIvxBNyXEBS0DsA6AOMQEVEJTmcX2O094HR2g6ZFBvYrEBGVMQywiYqVC1brdgQHL4PN9q2p6bc7eU1LOJ2t4XS2gRBVAlhOIiIqfRRPUstbYLf3hzvgPuEZtjEr4L6IoKAVCApaAQBQ1aZwOLrD4egOp/NOALaAfgMiotKOATZRkROwWPYiKGgpgoNXQJbP6a9oWkWoals4HHdAVVuCw68QEZH/KPpwYao6EOXK2XD16h9QlD2eIR2Pemq6YxAa%2BgGECIPD0ckTcN/HDOVERIXAAJuoiCjKMQQFLUFw8DIoynF9uhDl4HB0gNPZCaraFExORkRExUOBpt0Kp7MxgKGQpEuwWPbBat0Hi2UPZDkVQUHrPE3KX4aqNofdfh8cjl6e7OTsu01ElB8G2ER%2BJElXEBS0BCEh82Cx7NOnCxEEp/NOOBydoKqtAFgDV0giIiIAQkTA6ewCp7MLAM3Tf3sfrNbfoCiHYLHsh8WyH2Fh78DlqgmH4z7Y7b3gdHYEEBTg0hMRlUwMsIn8wGLZh5CQLxEUtBSSdBUAIIQCVb0dDkcnT7%2B20MAWkoiIKFcyXK76cLnqw24f5Knd/g0222%2BwWH6HoiQgJORzhIR8DiHC4XB0h93eFw7HvRCifKALT0RUYjDAJiokd231MoSEfAmL5Q99ussVBYfjXjgcXSFERABLSEREVDju2u3ucDq7A3DAYtkPq/VXWK27IcspCApyj70thA0ORzfY7f3gcNwHISoGuuhERAHFAJuogCyW/QgO/hLBwUsgSekA3BnAnc4OsNvvhcvVFOynRkREZYcNqtoaqtoaGRnPQFGOw2rdBav1ZyjKGb3fthAWOJ13w26/H3Z7HwhROdAFJyIqdgywiXzigs22DqGhM2G17vp7qqsWHI6erK0mIqIbhKxnJs/MHAZZPg2r9WfYbDuhKCdhs22EzbYR4eEvei4894fd3o/BNhHdMBhgE%2BXpKoKDFyI09GM9E7j7Cn0HOBz3QFVvA2uriYjoxiRB02rDbq8Nu/1hyHK8IdiOhc22DTbbNoSH/wtOZ1dkZg6Cw9EbQpQLdMGJiIoMA2wiL2T5HIKDP0VIyBzIcioA9/Badnsv2O29eSWeiIgoG02rBbt9COz2IZDlRFitO2GzbfcE2xtgs22AECFwOHp6gu0eAIIDXWwiIr9igE1koCgHERr6kScbuAMA4HJVh93%2BAByObgBCAltAIiKiUkDTqsNuHwS7fRBk%2BQxstp9gtW6DoiQgKGglgoJWQtPKw%2BHoi8zMQXA6O4OnpURUFvBIRgTAYvkVYWFTYLNt0KepahPY7f08Q2wpgSscERFRKaZpUcjMfBSZmY9AUWJhtf4Em207ZDkJwcELERy8EJpWFXb7A8jMHAxVbQNADnSxiYgKhQE23dAsll2ewHozAEAIGap6FzIzH4DL1SjApSMiIipLJEOCtMehKIdgs22H1eoOtkNCPkNIyGdwuaJgtw%2BE3T6QuU6IqNRhgE03IAGrdQdCQ9%2BFzfaTe4pQPON4Doam1Qhw%2BYiIiMo6GS5XU2RkNEVGxkhYLH94gm330F%2BhoR8gNPQDqGq0J9geBJerQaALTUSULwbYdAMRsFp/RFjYu7Baf3ZPERY4HPfAbh8ITYsMcPmIiIhuRBao6h1Q1TsAPAur9XfYbD/BYvkVFstRWCxvIyzsbajq7cjMdPfr5n82EZVUDLDpBiBgtW5GWNg7sFp/dU8RVjgc9yIzcyCEqBbg8hEREZFbEJzOu%2BB03gXgGqzWXzzB9l5YLHsRHr4XYWGvwunshMzMIXA4%2BkKIiEAXmohIxwCbyjSLZTfCw1%2BH1boTACCEDQ5HL2Rm9ocQVQJcOiIiIspdKJzOrnA6u0KSLsFq3e4Jtg/CZvsRNtuPEOIlzwXzIXA47gGH/SKiQGOATWWSohxEWNgbCApaB8AdWNvtvWG3D4AQlQJcOiIiIioIISLgcPSBw9EHsnzOk4n8RyhKHIKCViMoaLVn2K/7kZk5BE5nR3AEECIKBAbYVKbI8kmEhb3pGcdaeJKX9UBm5kMQomqgi0dERETXSdMiYbcPgd0%2BGLJ8CjbbNths2yDLFxAcvADBwQugaTchM3Mg7PYhUNWWYCZyIiouDLCpTJDlcwgNnYLg4K8gSSoAwOHohMzMR6FptQJcOiIiIvI/CZpWF5mZdZGZOdwz7Nc2WK07IMvnERo6C6Ghs%2BBy3YLMzMGw2wfD5bol0IUmojKOATaVapJ0CaGhHyAkZBYkKQMA4HTegczMYfwTJSIiumEYh/0aBYtlL2y2n2C17oKixCIszJiJfDBHDyGiIsMAm0opJ4KDv0JY2FuQ5RQAgKreioyM4XC5mgW4bERERBQ4VqhqW6hqWwAZhkzkewyZyCcwEzkRFQkG2FTKCNhs6xEe/ioU5RgAwOW6GRkZIzx/pOxjRURERFlC4HTeDafzbk8m8h2w2bYxEzkRFRkG2FRqWCx/ICzsVdhsPwEANK0CMjMf9fwZclMmIiKi3LkzkfeGw9Hbh0zkA%2BF0dgJgDXSxiaiUYVRCJZ4sxyMs7A0E/z97dx4fV13vf/w1a2ZL0lIKLSCl0MoqCC0IyL56WZTN61IEZFGgKlwFQRYFZAcpiIDsAv5QBEUB8YJALYtspSBwEVnLUspSmqVJZj1zfn9kadIm6SSZmfM93/N%2BPh48gHQy85lzJtPzyjlzTuL3QO8ltw4glzsESHs7nIiIiPhOZWciX41CYX9yuQN7YlubzSKyanqnEIN1kEpdRir1K0KhHACFwm5ks9/CddfweDYRERHxv8HORP4osdgThMNLSSRuIZG4pSe2v0wud4BiW0SGpXcHMVCZhobfk8mcRTj8IQCl0ufIZo/EcT7r8WwiIiJip/5nIv8u0ejLxGJP9Ivt35BI/IZyeQL5/P7k8wdSLO6INqdFpD%2B9I4hRotFnyWROIRabD4DjrEUudyTF4rboBGYiIiJSHxFKpS0olbboie2X%2BsX2pySTvyGZ7I3tL5PPH6DYFhFA7wJiiHB4Men0WSQSvwPAdZPkct8gn/8yOsGIiIiIeCdCqfR5SqXPk80eO0hs30wyebNiW0QA/eSL53Ikk1eSTl9KKNQJQD6/F7nct3Dd1TyeTURERKS/FWP7RWKxfxKLPT5kbLvuTl4PLSJ1pMAWj7jA3TQ3/5BweCEApdLGZLPf0eesRURExAcilEpbUipt2Rfb8fgTRKMr7tkeD%2BxHLPYlSqXd0BVQROymwJa6i0T%2BQybzY2Au4TCUyxPIZo%2BkWNwZfc5aRERE/Gd5bMNx/WL7ScLhFuA2MpnbSKcTFAq7kc/vT6HwJVx3gteDi0iVKbClbkKhdlKpi0kmryYUKgFx8vmDyGYPAZJejyciIiJSBQNjOx5/lVRqPuXyY4TDi2louJ%2BGhvtx3TDF4hcpFPYln9%2BPcnldrwcXkSpQYEsduDQ03EEmcybh8EcAFIvbEYt9j0JhPN2Hi4uIiIjYJoLjbAZsTWfn4bju28RiTxGPP0Uk8gbx%2BGPE44%2BRyZxKqbQF%2Bfx%2B5PP74TiboKP6RPxJgS01FYm8SGPjycRiTwLgOGuTzX4H192aWCwJZL0dUERERKQuQpTLU8nnp5LPf4Nw%2BENisaeJxZ4iEnmZaPRfRKP/Ip0%2BD8dZn3x%2BX/L5/SmVtgYiXg8vIhVSYEtNhEJLSafPJZG4iVCojOsmei679RUgRkR/T4iIiEiAlcuTyOe/Qj7/FUKhNmKxZ4jFniIaXUAk8hap1JWkUldSLq9BobAP%2Bfw%2BFAq7AAmvRxeRYSiwpcocEonbSKfPIhxeCkChsDPZ7JG47uoezyYiIiJiHtdtplDYk0JhTyBLLPZcz97tpwmHPyaR%2BA2JxG9w3TSFwu49sb23TpImYiAFtlRNNPoMjY0nE40%2BD4DjrEc2%2Bx1KpS08nkxERETEL5IUiztQLO4AFIlGX%2Bo7lDwcXkJDwz00NNyD60YolbYjn9%2BHfH5fyuWpXg8uIiiwpQpCoU/IZH5GIvFbAFw3TTY7i0JhX/QSExERERmtGKXSVpRKW5HNHksk8ka/z22/TSz2OLHY42Qyp1EqbdKzZ3vfnjOYh70eXiSQVD8yBiWSyetJpc4nHG4DIJ/fi1zuMFx3vMeziYiIiNgkhONMx3Gmk8sd2u8kaU/3nCTtFaLRV0inL6VcntyzZ3sfisWdgAavhxcJDAW2jEos9hiZzMlEo68AUCp9lmz2uzjORh5PJiIiImK/gSdJW0Y0%2Bizx%2BDNEo/MJhxeTTN5IMnkjrttIobBHz97tvbQTRKTGFNgyIuHwIjKZM2ho%2BCMA5XITudzhPSfl0KnBRUREROrNdRspFnejWNwNKBCNvtjvJGmf0tBwNw0Nd/d8bnuHvr3b5fIUr0cXsY4CWyqUI5X6FanUpYRCXbhumEJhH3K5Q3HdRq%2BHExEREREA4pRKMymVZpLNHkck8nq/Q8kXEovNIxabRyZzCqXSZj2XANuXUunzQMjr4UV8T4Etq%2BASj99PJnMakcjbAJRKm/YcDr6Bx7OJiIiIyNDCOM6GOM6G5HKHEQ4vJhZ7qie2/49o9GWi0ZdJpS7GcdamUPgv8vl9KRZ3BOJeDy/iSwpsGVIk8h8ymR8Tj88FoFxenWz22xSLO6PfcIqIiIj4S/fJzw4knz%2BQUKit3%2Be2nyMSWUQyeQPJ5A2Uy00Ui3v2fG57T1x3nNeji/iGAltWEgq1kkpdSDJ5HaFQCdeNkc8fRC73VSDp9XgiIiIiMkau20yxuAfF4h50f277BWKxZ3qut91CQ8MfaWj4I64bpVjcsSe296Fc/ozXo4sYTYEt/ZRJJH5LOn0W4fASAIrF7chmj6JcnuzxbCIiIiJSG3FKpW0olbYhmz2eSOS1ftfbfpd4fG7PEY0nUypt0XOStH1xnM%2BhoxpFBlJgCwDR6NNkMj8mFnseAMdZl2z2GEqlrTyeTERERETqJ4zjbITjbEQudzjh8KJ%2BJ0l7hWj0X0Sj/yKdvgDH2aDnUmEHUCptgWJbRIEdeOHwYtLpn5JI3AGA66bJ5WaRz%2B%2BLXh4iIiIiwVYur00%2BfxD5/EGEQm09h5F3X287EnmTVOoyUqnLcJz1%2B8W2zkguwaWCCqw8yeRVpNOXEAp14rohisW9yWa/pRNZiIiIiMhKXLeZQmFPCoU9gSyx2LPE408QjT5LJPIWqdQcUqk5OM7UfrG9JYptCRIFduC4xOP/SybzEyKRtwAolTYhm/0OjjPd49lERERExB%2BSFIs7USzuRHdsz%2B%2BJ7WeIRN4mlbqcVOpyHGe9frG9FYptsZ0CO0AikdfIZE4lHn8IgHJ5Qs9lt3ZBb3YiIiIiMjpJisUde66fnSMWe5ZY7AlisWeJRBaSSl1BKnUFjjOlX2zPQNufYiMFdgB0X3brEpLJa/pdduvAnstupbweT0RERESskVghtuf3xPYzRCLvkEr9klTqlzjOuv1ieyaKbbGFAttqRRKJm0inLyAcXtr9leIXei67tbbHs4mIiIiI3RIUiztQLO5Ad2w/1xPbTxOJvEsqdSWp1JU4znrkcl8ln/8ajvNZr4cWGRMFtpVc4vG/kcmcSSTyOtB72a2jen5DKCIiIiJSTwmKxS9SLH4RyPfs2f5nz7W2F5JOX0I6fQml0pY9sX0I5fIkr4cWGTEFtmWi0RdIp08nHn8MgHJ5HLncLAqFvYGIt8OJiIiIiNDQL7ZzxGJPE4/PIxqdTzT6PJnM86TTZ1As7kIu998UCvvjuo1eDy1SEQW2JcLhRaTT59DQ8HtCIRfXjZPPH6DPWYuIiIiIwRIUiztTLO7cc53tx3pi%2BxXi8UeIxx/Bdf%2BHQmFfcrmvUijsAcS8HlpkSApsnwuFlpFMXkEqdSWhUBaAQmFXstnDcN01PJ5ORERERKQy3dfZ3o9CYT/C4cXEYv8gHv8Hkcj7NDTcRUPDXZTLE3pO1vs1SqVt0MnRxDQKbN/Kk0zeRCp1CeHwEgBKpc3IZo/EcTb0eDYRERERkdErlyeTz3%2BDfP7rRCJv9MT2PMLhT0kmbyCZvAHHmdrv5GjTvR5ZBFBg%2B1CZhoY/kE6fRyTyDgCOsza53OEUi9uj3%2BKJiIiIiD1COM50HGc6udyRRKP/Ih7/B7HYE0Qib5NOX0w6fTGl0lbAc14PK6LA9g%2BXePwB0ulziEZfBqBcnkAu9w0KhT3RqhQRERERu0UolbbqienjicWeIh5/tOfkaAu8Hk4EUJX5QjT6NJnMz4jF/gmA62Z6DofZD0h4O5yIiIiISN0lKBZ3oVjcpe/kaCmd11cMoMA2WCTyCun0z2lo%2BCtAz5nBv0w%2Bf4guVSAiIiIiwvKToymwxQQKbANFIq%2BSTl9IPH53zyW3whQKe5HLfQPXXd3r8URERERERGQQCmyDRCKvkUpdSEPDHwmFXACKxR3JZmdRLn/G4%2BlERERERERkOApsA0Qir5NKXURDw12EQmUAisUdyGa/Trk81ePpREREREREpBIKbA%2BFw2%2BSTl9MQ8Md/cJ6O3K5b%2BA4G3g8nYiIiIiIiIyEAtsDkch/SKXm9IS1A0CxuG1PWE/zeDoREREREREZDQV2HUWj80mlLqOh4b6%2BrxWL2/SE9Wc9nExERERERETGSoFdcy6x2D9IpS4jHp/X99Vi8YvkcocorEVERERERCyhwK6ZMvH4vaTTc4hGFwDguhEKhd3I5w%2BiXF7X4/lERERERESkmhTYVZcjkbiTVOpyIpHXAXDdBgqFL5HLHYDrruHxfCIiIiIiIlILCuwqCYc/JJG4gWTyJsLhJQC4boZ8fn/y%2Bf1x3WaPJxQREREREZFaUmCPUTT6PMnkNTQ0/JFQqAhAubwG%2BfyXyef3BlLeDigiIiIiIiJ1ocAelRLx%2BH2kUtcQiz25/Kulzcjn96dY3A6IeDeeiIiIiIiI1J0CewRCoU9JJH5LMnkdkch7ALhulGJxZ/L5/XGc6R5PKCIiIiIiIl5RYK%2BSSyz2OInEzTQ03EMoVACgXG6mUNiHfH4fXHc1j2cUERERERERrymwhxAKLSGRuJ1k8mYikTf7vl4qfZZCYR8KhZ2BuHcDioiIiIiIiFEU2AOUicUeI5m8mXj83r6TlrluikJhVwqFvXCcaR7PKCIiIiIiIiZSYAPh8EISiT%2BQSPxuhb3VG1Io7E2hsBOQ9G5AERERERERMV7AA/taGhtvJRr9Z99XuvdW79azt3oDD2cTERERERERPwl4YB9LNAquG6JU2pJicScKhR3Q3moREREREREZqYAH9jRyuV3I53fEdVf3ehgRERERERHxsYAH9vUUi1lc1/V6EBEREREREfG5sNcDiIiIiIiIiNhAgS0iIiIiIiJSBQpsERERERERkSpQYIuIiIiIiIhUgQJbREREREREpAoU2CIiIiIiIiJVoMAWERERERERqQIFtoiIiIiIiEgVKLBFREREREREqkCBLSIiIiIiIlIFCmwRERERERGRKlBgi4iIiIiIiFSBAltERERERESkChTYIiIiIiIiIlWgwBYRERERERGpAgW2iIiIiIiISBUosEVERERERESqQIEtIiIiIiIiUgUh13Vdr4fwToFy2QUCvAg8EyIcDmn5e0LL3lta/t7S8veOlr23tPy9o2VfD6FQnFBI%2Bw7Fe4EObNd1e97sxAvL/7KRFUUiWa9HEBGRuivU8L7jNbxvCRLHSXo9wqDC4RCuW6C9/eE6PFqRTOYnRKP/plTalJaWh4B0HR5XvDRxYmNFtwt0YAO0tHRSKpW9HiNwotEw48entfx7TJw4z%2BsRRERkzOZ7PUANzPR6ADHYJ5/s7PUIfVZbLU0oVKxTYEMotITGxhMJh1vI5b7KsmU3AKG6PLZ4o9LAjtZ4DhEZhIJaRMRPbAznSlXy3BXhQdW7PWNSaNeL665OZ%2BepZDKnkUjcSak0g2z2eK/HEgMosEXqQEEtImKyIAd0NQy3/BTfQRDU0HaczchmjyKVuo50%2BnRKpc0pFnfweizxmAJbpEYU1SIiJlFEe2Oo5a7wtlEQQ7tQ%2BDLR6OvE43NpajqclpZHKZfX9nos8ZACW6SKFNUiIl5SRPvHYOtK0W2L/ttD9sd2iK6u7xGJvEMk8hbNzV%2BltfVvuG6z14OJRxTYImOkqBYRqRcFtN0U3TYKxl7tBJ2dZ5DJ/Iho9GWammbR1vZHoMHrwcQDCmyRUVBUi4jUwnwcJ0KxmGDws/Fm6j2QeO7VQb62ad2nkLFrbHwcgKVLtxnV90ciUcJhc69zXS6vSWfnWWQypxKPP0pj43E9ZxY3d2apDQW2SIUU1SIiYzH83mfXhcWLp9Paui6uG6nTTGIH7SX0l4UAlMsjX2/JZIamptUIhcy8HJbjTKOz8zTS6bNIJO6iXF6Lzs5zvR5L6kyBLTIMRbWIyKpU57DtxYun09KyAY2NjTQ0KLBlLFJeDyAj4DjpVd7GdV0KhTwdHS0ANDdPqPVYo1YqbUVX14mk078glfol5fJkstnZXo8ldaTAFhmEwlr8TZ9THUif4Vw1b18zjhOltXVdGhsbaWyMezqL2CDf779XHW/ite71VSo1DnureLx7j3dHRwuNjeONPly8WNyNbHYpyeTNpNOn4ThrUSgc6PVYUicKbJEeimoZOYWsP2g9ma5YbMB1I9pzLTXQucL/K7hNFY0uA4YP7d7IdpwS4bDZv4zL5w8mHF5CQ8O9NDUdQ1vbRF0jOyAU2BJoiuqgUWiJmMnMz1OKjfoHt2LbRNHosiEj29TPXg8uRDZ7DOHwUmKxJ2hq%2BgatrQ/gOJt4PZjUmAJbAklhbQPFsoiIjIX2bpuqkr3Z/hChs/NHZDKtRKP/R3PzwbS2PkC5vK7Xg0kNKbAlUBTWfqBwFhGRyrz77iIuu%2BxaXnjh/0gmE%2By5504cf/wRJBKrPkP1X//6MLfeeieLF3/EOutM5qijvsnuu/cewpvm3Xff4w9/uJv58xfw4YcfMW5cM1tvvRXHHns0EyasNuh9lstljjjiWF577XXOP/8sdtvNn9d%2B7uzs4sorr%2BGRRx6lWCwwY8ZW/OhH32fy5EnDft8BB3ydDz/8aNA/u%2BGGq9hss0344IMPOeigbwx6m1gsxmOPPdj3/3aEdgOdnWeSyfyYSORdxo3bn9bW%2BymX1/Z6MKkRBbYEgsLaJApoEREZu2XLOpg9%2BzQmTVqDCy44jZaWVq644kba2pZx9tknDfu9jzzyOD//%2BRwOO%2BwQvvCFrZg370nOOOMiMpkUX/jCVkAnTz/9BM8//zwHHLAf06dP4%2BOPP%2BHGG3/D0UfP5v/9v5tIpZIr3e/dd9/LkiVLavSM6%2BenP/05//nP65x00g9Ip1Ncd93NfP/7J/Hb39447C8vLrro5xSLxQFfu%2Bqqa1m48F022mhDAFZffTVuuOGqAbdxXZf/%2BZ9TmDFjy0Hvd7jDxv3AdRvp6Pg5mcypRCJvM27c/rS0/A3XXdPr0aQGFNhiNYW1VxTRIiJeyeXyFe3BrSXXdSkWS8TjsZo9xt13/y/LlnVw222/ZNy4ZgAikQg/%2B9mlHHHE15g69TNDfu%2B11/6W3XffgeOPPwKAGTM255133ue66/5fT2DDnnvuxCGH7Nfvc7/TmTZtfb71raOZO3ce%2B%2B77pQH32draxrXX3sT3v/9dzjvvkqo/33p5%2BeVXeOKJp7jssgvYfvttAdhgg/U5%2BOBZ3H//Axx00JeH/N4NN5w%2B4P%2Bz2Syvvvoa%2B%2ByzN9Fo90kM4/E4m2028HPIzz33Ah0dney11%2B5D3nc0uoxyuTTap%2BU5112djo7zaWw8hUjkjb492a67utejSZUpsMVKCut6UUiLiPR3zjlzePXV1/ne947kV7%2B6ifffX8zUqety8snHsdlmGw247X33PcTvfvdn3ntvEc3Njeyzzx4cc8ysvhBZsmQpv/71rSxY8BKfftrCxIkT2H33HTjqqG8OCNdtt92P448/nPb2Du6//2Gy2Rxz597FW2%2B9w5VX3sT//d9r5PMF1lxzdfbff0%2B%2B9a1D%2Br533rwnufHG37Fw4XtkMml23fWLzJ59RN/e2eeee5HZs0/jiivO4a9/fZjHH3%2BGpqYMBx%2B874D7Wf68v83VV9/CwoXvc/bZJ/U75Lr6nnxyPltv/fm%2BuAbYddcvct55V/DPfz47ZGB/8MGHvPPO%2Bxx33GEDvr7XXrtw7rmX09raxrhxzQPut9e0aWsSiYRZsuTTlf7s6quvZ8aMzzNjxlZjel7HHXciqVSS3XffhRtvvJUlS5awySYbc%2BqpP2TKlNp/dvfJJ5%2BmsTHDdtt9oe9rkyatyRZbfI4nnnhq2MBe0aOPPkE2m2PvvfcY9nYPPvgQ6XSaHXbYfpX3GQ7nWW21Z1i2zH9n5HbdNejoOJ9M5lSi0VcZN%2B4rtLbei%2BsO/pED8ScFtlhFYV1LimkRkUosWdLCJZdcw9FHf5PGxgy33XYnJ5zwU%2B688zpWW20cALfffjdXXXUzX//6AfzgB0excOF7XHvtbZTLZWbPPgKA1tZ2mpoaOeGEo2lszPDuu4u48cbb%2BfTTFs4IBlTUAAAgAElEQVQ448QBj3nHHffwuc9tzBlnnECx2L2X7%2BSTf8748c2cfvoPyGTSvPfeB3zyyfIwfPTRpzn11PPZbbcdOPbYw/jggw%2B5%2BupbeOed9/nVr84bcP8XX3w1X/rSrlx44en84x//5KqrfsO0aVPZbrsZ/Z73Ui677Dq%2B/e2vs%2Baaq7PGGkPvmSuVnFUux3A4NOy1jhcufI/99ttzwNfi8Rhrrz2ZhQvfH/b7ANZbb2CAT536GVzXZeHC9/n851eOa4CXXnoVxymz3nprsvwkaWleeeVVHnzwYW6//eYhH/e%2B%2B/6Xc8%2B9iKuumsOMGZ8f8nYA//nP67z//gccf/wxAFx77U2ccMKP%2BcMfbiUeH/ryVI7j4LrD3jWhUPee/qEsXPgO6677mZXO2D116hSefvrZ4e98BQ8%2B%2BDCTJ0/ic5/bdMjblEol5s59jJ133oGGhsovvTVx4jw%2B%2BcR/n3EvlyfT0XFeT2S/RHPzgbS1/QXXHef1aFIlCmyxgsK62hTTIiKj1d6%2BjPPPP5WZM7cAYMstN%2BUrX/k2d9zxF4477nA6O7u44YbbOfTQgznuuMMB%2BMIXtiQSiXDllTdx6KEH0dzcxLRp6/GDHxzVd7%2Bbb74JyWSCc86Zw0knHUsikej7s%2BbmRi644Cd9UdTa2saiRR9y4onHsOOO3XsiZ8zYfMCcN9xwOxtvPJ3zzjul72tNTY389KeX8NxzLw64/S67bM8xx8wCYObMzXniiWd55JEnBgR2e3sHc%2Baczaabbjjs8vngg4846KCjhr0NwFFHfaPvMQfT3t5BY%2BPKZ/5ubMzQ3r5s2O/rvd2K39f/z1dUKpW4/PLrmDJlHb74xW36vl4uL%2BPSSy/jm988gLXWmsQHH3w49JOq0NKlLVx99eWsu%2B46AEyfPo2vf/1w7r//AQ44YP8hv%2B/gg2cNeZKxXltuuQXXXHP5kH/evVwzK329sbFx2OW6ora2Np5%2Bej6zZv33sJfX%2Buc/n6a9vZ299x768PCh9G7/%2BS20y%2BV1eiL7J8Riz9PcfDBtbX/Gdf37OXNZToEtvqawrgbFtIhINWUy6b64hu5wmzFjc15%2B%2BT8AvPTSv%2BnqyrLbbjsM2JM7c%2Bbm5PN53nzzHbba6nO4rssdd9zDn//8vyxe/BH5fKHvtosWfcgGG6zX9//bbTdzQMQ0NzcxadIaXHPNLbS3d7D11lsM2KPc1ZXl9dff4nvf%2B/aA2XfbbQfOPvsy/vWv/xsQ2L2fSwYIh8NMmbIOn3wy8GRe48Y1rTKuASZOXI2bb56zytutvnolh82uHG6u647qesluz67fob710kt/zZtvvsuvf31h32H8APfc8yBLlrRw2GGH0L1Xu2vQ799vvy%2Bx335fGvTPVrT%2B%2Buv1xTXAuuuuw/rrr8fLL78ybGBfeun5K51kbEWDnZxtZYMv15Fcs/6hh/5BqVRir72GPzz8gQceYrXVxjNz5ugPrZ84cR6Os8%2Bov98L5fIUOjrOpbHxNGKxZ2lu/iqtrX9El4vzPwW2%2BJLCeiwU1CIitTRuXNNKXxs/vpl3310EdB/6DXD44ScM%2Bv0ffdQdrr///V/69mjPmLE5jY0ZXnnldS699BoKhYERNX78wEOaQ6EQV1xxDtdeexuXXnoN2WyODTfcgBNPPIYtt9yMjo5OXNdlwoTxA74vGo3Q3Ny40l7cFfcUx2JRurqyK8xQ2SGusViM6dPXX%2BXtwuHhY66pKcOyZSvvbe7o6Fzp8O8Vvw%2B6z0Le//l3dHQf8j3Y3tsbbride%2B99kAsuOJ2NN15%2BIq%2BurizXXHMrxx77LYrFEsViB52d3YGdy7XR2fkJ6fTEYZ/HYMaPHz/o15YsWTrs902dOqWiQ8SH09SU4cMPP17p6x0dHX3LrhIPPvgw06atzwYbTB3yNl1dWZ544im%2B/OV9hj1svRKRSJZy2V9pUy6v33N28dOJxf5Jc/PXaWv7A1DJL0HEVP56FUrgKaxHQ0EtIlJb/fdYlmhtbWPFvZgtLUtZffVmoIumpu7PmV544UmsueaEle5trbXWALp45JFH2XHHGRx//H/3/dnbb7/R81%2B5AY8RChVXeswpU1bj/PNPoFQq8eKL73DNNbdy0knncO%2B9t5DJpAmFQixd2jrge0olh7a2ZSMKqeUzVHa7ah0ivt56n%2Bn7PHWvQqHIokWL2W%2B/ofea9sb3woXvDQjxt99%2Bj1AoxHrrrTPg9nfd9VduuOF2Tj31e%2By00xcG/Flrazttbe1cdNFVXHTRwEtPnXPOHFZb7Wbuv/%2B3PV%2BpfM9kS0vLoF/baKPPDvt91ThEfL31pvDMM8%2BtdCTA22%2B/w5QpU1YxebcPP/yIF198meOOO2bY282b9xi5XG7Ys4fbznGm09FxDpnMGcTj83oi%2B3dAyuvRZJQU2OILCuuRUlSLiIzO4If3jkRHRxfz57/MzJmb9f3/c8%2B9zCGHdB8evPnmG5JINPDxx5%2Byyy7bDHk/%2BXyBaHTgptoDDzw%2B4nmi0ShbbbUBhx22PyeffDFLlixi3XXXYvr09Xj44Uf55jf37rllirlzn8BxHLbYYuiTUo1VtQ4R3267mdx88%2B9pa2unubn7qIF58/5JoVBk%2B%2B23HvL71lprElOmrMNDDz3GLrssP2v13/8%2Bj002%2BeyAs4f//e/zuOyya/nOd2ZxwAErH949YcJ4rrrq/AFfW7q0hTPPvISjj/4m22zT/7rOnf3%2Be/jYfuuthbz77vt9h4m/%2B%2B77vPXWQg4%2B%2BCvDfl81DhHfbrsvcOONt/LUU8%2By3Xbdr8%2BPPvqYf/3rJX70ox8M%2B729HnzwEQD22mu3YW/3wAMPs846a6102a6gcZyN6Og4i0zmLOLxuYwbdxBtbX/AdVc%2BGkbMp8AWoymsK6Wglmpb4PUABhnbJXfEa2MP5pFqaspw3nnXcMwx/00mk%2Ba22/4MwNe%2B1v0Z0UwmxTHH/DdXXfVbPv74U2bM2IxwOMSiRR/x6KPzufDCH5FINLD11pvzhz/cz513/i/rrjuZBx54jPffr%2BwEWq%2B//g6//OWt7LHH9qyzzpp0dHRxyy1/ZvLkiay99iQAjj76q5xyyiWceebl7LPPLixa9BHXXHM7M2d%2BjhkzptG97PJVXz6xWGzAYdajdeCBX%2BLOO%2B/l5JPP5cgjv0ZLSxtXXHEDe%2B%2B9y4BLdJ133hXcf//DPPHEPX1f%2B853DuWMMy5i7bUns802n%2Bexx57m6aef5/LLz%2B67zYIFL3H22XPYYotN2GabLXn55Vf7/mzcuGbWWWcyDQ3xlU4e98EH3XuQ119/XTbffOO%2Br99330Oce%2B7lXHXV%2Bf2%2BZ/DQXm218Zx88ul897tH4rou1113ExMnrs4%2B%2Bwz/Ge5p01Z96P2qbLbZJnzxi9ty/vmX8IMfHEc6neK6625m8uRJ7LPP3n23u//%2BBzjvvIu58spfsNVWA8%2BK/uCDD7H55psxadKaQz5OS0srzz77HIcd9s0xz2wDx9msZ0/22T2Hix9AW9tduoSXDymwxViK61VRVEsvxXBt1XL5Kt5Hrv7BPFKrrz6e2bNnceWVt7Fo0UdMnfoZLr/8dCZMWP4Z5Vmz9meNNVbjd7%2B7jzvv/F%2Bi0Qhrrz2JHXbYqm%2Bv9VFHHUJrazvXX38HALvuui0//OG3Oemki1Y5w4QJ45gwYRy33vpnPvlkKel0is9/fiPOOuv7RCLdl77aaaeZXHDBj7jpprv48Y8vJpNJ86Uv7cjs2YcOco8DD0kHByiPcglVR2NjhquuOp9f/OLXnHrq%2BSQSDey55859lznr5ThlHGfgrLvvvgO5XJ5bbvkDt9/%2BJ9ZZZy3OPfeUASdze%2B65FymVSjz//MscffRJA75/n31256c//Z8RzZvL5YDueF5u%2BaW%2B%2Bttww%2BnsuutOXHnlr/n000/ZdNON%2BfGPfziiy1iNxTnnnMEvf3kNl1xyOcVikRkztuKCC84mkWjou0257OI45ZU%2B8/322wt54423OPnkExnOww/PxXGcQB8eviLH2YSOjvNIp39KLDafceP2o7X1L7juyD/HL94Jue6qToVgt5aWTkolb/%2BCCKJoNMz48elBl7/CejiKanspkqUWTAv4wV/nudwE3nzzcFZffRzx%2BMjP/mySc865ildffYvbb/%2BF16N4SJ8dHcxZZ/2CtrZ25sw5e5hbpTnuuBNJpZL84hcX1G02vygUSixZ8gkbbPAxicSK11LflXI5Snv7w57MVk3h8EIymTMIh1solT5LW9s9lMtreT1W4E2cWNll1LQHW4yhsB6Kotp/FMtiCr0WxQsrHmWg4AZ48cVXOOusk1Zxq066jw6QICuX16Oj4yIymTOIRl9j3Lj/orX1Hsrlyk4yJ95SYIsRFNcrUlSbR6EiIjI6Cm6AP/3pxhHc2qE7tnVN5KAql9dm2bKLaGw8nUjkbcaN%2BxJtbffgOGM/f4HUlg4R1yHinug9RBzu83oUwyisvaF4FvGSTYeIy2gEM7hHRqENwTlEvL9QaAmZzJlEIu9SLq9Ba%2Bs9OE6wz7ruFR0iLkYbP36u1yMYRFFdewpoERFz9d/Drdge3OAnQxP7ue7qdHRcQCbzUyKRNxk37r9oa/szpdKWq/5m8YQCW%2BpOh4P3UlhXlyJaRMT/FNvDU2gHkeuO6zm7%2BFlEo6/S3Lw/bW1/pFT6gtejySAU2FI3CmtQVI%2BVIlrEToH%2BtJoMSbE9tKCGtktQ3y9ct5GOjp%2BTyZxDNPoS48YdQFvb7ykWd/Z6NFmBAltqTmENCuvRUEyLBEUs1kEoVCKfd/UZbBmCYntwwQrtfL5IKOQSiwX1/EkpOjrOIp0%2Bn1jsOZqbD6G9/bcUCnt7PZj0o8CWmlJcK6xXTSEtEnSRSIFx456npWVbIENDgyJbhtPZ778Tnk1hlvaef9v6yweXfL7IsmXtjB/fSSQSzL3Y3RJ0dp5JOn0RsdiTNDV9k/b2mygUvuL1YNJDZxHXWcRrQmGtsB6aglpEVua6sHjxjrS2bonr6vf/MhpxrwcwSIPXA1SZSyjkMm5cJ5MndxAa9Hdwdp5FfGglUqnLiMfn4boRli27hnz%2B614PZTWdRVw8E9y4VlSvTDFtt6C95md6PYDVQiFYa63HWHPNpykWM4D2Ystober1AIawaznEYuWA77leUZSurh8BceLxv9PY%2BF1CoSy53Le9HizwFNhSNQprUVD7lV7DlRnLclKcVyoSKRCJLPV6DPG1R/v991aeTeG9p3v%2Brfcfe0Xo6voBrpugoeFeGhtPIBTqIpud7fVggabAlqoIZlwrShTUJtPr0ywjXR/aIBapjt6/p4Ic2r3vP3pfsVOYbPa7uG4DicRdZDI/IRTqoqvrZK8HCywFtoxJMMMagh0vimrvBfn1FxSVrmNtMItURqHd/b6i9ww7hcjljsB1kySTt5FO/xzI0tV1Jvq4Tf0psGXUghnXQQ0bRXX9BfW1JiMzkteJNqxFFNram22vUM9JzuIkkzeSTl9KKNRJZ%2BeFKLLrS4EtI6awDgpFde0F8XUl3lGMiyzX/%2B%2B4IMa29mbbKp8/CNdNkEpdRSp1DaFQlo6OOUDE69ECQ4EtIxK8uA5aACmqqy9oryGxw2het9pYF79aQHAjG/Sza59CYR%2B692RfQTL5G0KhLpYt%2BzVKv/rQUpaKKKxtpqiujiC9ZkQGU6ufgbFs/Afl51KBNHZBPnRce7NtVCjsgevGSaUuJZH4A6FQjvb2m9D14msv5LpuoC8o19LSSalU9noMYwUvrCE4G2QK69ELymtEROyhgBqZIIY2%2BPt1sivlcpT29oe9HsQo0ehTpNMXEgoVKRT2pK3tt0DS67F8aeLExopup8BWYA8peHEdhGhSVI9cEF4XIhJcfg6qelBo%2B4cCeyjR6POk0z8nFMpTKOxEW9vvgYzXY/mOArtCCuyVKaxtpLCuTBBeCyIilfBjYNVSEEPbb68BBfZwIpGXyWTOIhTKUixuQ1vbXbjuOK/H8hUFdoUU2AMFK65tjylF9fBsX/9mWrx4sdcjVGTy5MlejyBiGL/FVq0ELbT9tN4V2KsSifyHTOanhEIdlEqfp7X1blx3gtdj%2BYYCu0IK7G7BCmuwO64U1oOzeZ17wy%2BxXC%2BKcgkWP4VXLSi0zaPArkQ4/BaZzJmEw62UShvT2novrruG12P5ggK7QgrsoMW1zZGlsB7I5nVde4rn2lCEi738EGDVpsg2iwK7UuHwuz2RvYRS6bO0td1HuTzJ67GMp8CuUJADW2FtA0X1crau49pRRJtHAS52MD3Eqk2hbQYF9kiEwx%2BQyZxGOPwJjjON1tb7KJfX8nosoymwKxTEwA5WWIOd4aWw7mbjuq0%2BhbQdFN/iT6bGWLUpsr2nwB6pcHhxT2R/jOOsT2vrvZTLn/F6LGMpsCsUtMAOVlzbGl9Bj2tb12t1KKaDR%2BEt/mBikNVCkELbtHWqwB6NUOhjGhtPIxxejONM6dmTPcXrsYykwK5QUAI7WGENdkZYkMPaxvU5doppGY7CW8xlWphVW5AiG8xZnwrs0QqFPiGTOZ1IZBGO85meyJ7q9VjGUWBXyPbAVljbQGEt3RTUUg0KbzGHKWFWK0EKbRPWpQJ7LEKhJT2R/T6OszZtbffiONO8HssoCuwK2RzYwYprG0MsqGFt47ocHQW11JPCW7xjQpzViiK7fhTYYxUKLe2J7HcplyfT2nofjjPd67GMocCukI2BHaywBvuCLIhhbds6HB0FtZhI4S315XWk1YpCu/YU2NUQCrX2RPZCyuU1aW29F8fZyOuxjKDArpBNga2w9juFddAoqMWvFN1SezaGtiK7thTY1RIKtZHJnEkk8ibl8kRaW/%2BG43zW67E8p8CukC2Brbj2uyDFtW3rbmQU1WMzf5Qvn5k2bqsbSOEt1WXjD64iu3YU2NUUCi0jkzmDSOQNyuXJtLT8jXJ5fa/H8pQCu0J%2BD2yFtd8prINAUT3QaCPZa4r00VN4y9jY%2BMOn0K4%2BBXa1de/JPo1IZGHP2cX/Rrm8rtdjeUaBXSG/BrbC2u8U1jYLelD7NaCrQRE%2BcopvqZxtP2CK7OpSYNdCKNRCJvMTIpH3cJypPZG9ltdjeUKBXSE/Brbi2s%2BCEtY2rbPKBC2qgxzRo6X4Hh0FuKzMth%2BmoIR2rdebArtWui/hdSqRyGIcZxotLX/Dddf0eqy6U2BXyE%2BBrbD2uyDEtW3rbNWCENaK6dpSeI%2BNAjzIbPrhCUpkQ%2B3WmwK7lkKhj2lsPIVw%2BGNKpY1pbb0f153g9Vh1pcCukB8CW2Htd0EIa7BvvQ3P5rBWUHtP0V0binEb2fTDosgeGwV2rYXDH5DJ/IRweAml0ha0tt6D6473eqy6UWBXyOTADl5Yg32RFoS4tm2dDc3WqFZQm0/B7T3Fucls%2BgFRZI%2BeArsewuH3eiK7hWJxJm1tf8Z1m7weqy4U2BUyMbAV1jZQWNvExrBWVPufottfFOj1YMsPhSJ7dBTY9RIOL%2ByJ7HaKxW1pbb0bSHs9Vs0psCtkWmAHL65t28oPQliDfettcDaFtYLafgpueyjGx8KWH4QgRTZUZ70psOspEnmDTOZ0QqEOCoU9aGu7A4h5PVZNKbArZEpgBy%2Bswb5IC0Jc27bOBmdLWCuqg03BbSfFdyVsevEHKbTHut4U2PUWify7J7Lz5HJfY9mya4Gw12PVjAK7Ql4HtsLaBgprWyisxWYKbrspvAdjy4tekV0ZBbYXotFnSKfPJRRy6Or6AZ2d53o9Us0osCvkVWArrG2huLaBDWGtqJaRUnDbT9ENimy/Gs16U2B7JRZ7mHT6MgA6Os4jm/2%2BxxPVhgK7QvUO7GCGNdgXaQprG/g9rBXVUi2K7WAIbnDb8gJXZA9Pge2lhoY/kkzeBEB7%2B3Xk81/3eKLqU2BXqJ6BHcy4tq0AFNa28HNcBz2sq/38FZcr0zKxXzBj24YXtiJ7aApsb7kkEjeSSNyN60Zpa7uDYnFPr4eqKgV2heoR2AprWyiubeDXsLY9qv3y/IIankF93kESnOC24cWsyB6cAtt7ZVKpy4jH5%2BK6KVpb76VU2trroapGgV2hWga2wtoWCmsbKKzNYeNzClKABum5BlEwQtuWF7FCeyAFthmKpNM/JxZ7jnJ5NVpb/47jTPd6qKpQYFeoFoGtsLZFEMIa7Fx3A/kxrm2JUFuex2gEIUSD8ByDzO7YtuXFq8heToFtjiyZzOlEo//BcdaltfUhyuVJXg81ZgrsClU7sBXXtghCXNu43lamuK4vP89eD7YHqe3PL4gU2X6gyO6mwDZJKNRGJvNjIpH3KRZn0Np6P5D0eqwxUWBXqFqBrbC2RRDCGuxcdwMprOvHr3ObwOYgtfm5BZGdoW3TizRokQ0rrz8FtmnC4cVkMj8kHG4nnz%2BI9vabgLDXY42aArtCYw1shbUtghLWYOf6G0hxXXt%2Bm9cvbI5Sm59bkNgX2ja9MIMe2QpsE0UiL5PJnE4oVKKz8xS6uk73eqRRU2BXaLSBrbC2SVDi2tb1N5Df4tpPoeqnWW1gc5Da/NyCwq7QtukFGeTIVmCbKh7/O6nU5QC0t19PPv81jycaHQV2hUYT2MGLa1u3qoMS1mDvOhxIcV0bfpnTdjZHqc3PzXb2hLZNL8KgRrYC22SJxM0kEnfhug20tt5HqfQFr0caMQV2hUYS2AprWyisbaOwrj4/zBhktgep7c/PNopsEwUxsk%2BgXE4psI1VJp0%2Bn1jsScrlibS0PEK5PMXroUZEgV2hSgI7eGENdoZZkMIa7FyHK1NcV5fp88nKghCjQXiONrAjtG17sQUptBXY5svS2HgKkciblEqb0Nr6IK7b5PVQFVNgV2hVgR28uLZ16zpIcW3rOlyZn%2BLa9HA1fT6pTFBCNCjP048U2SYKSmQrsP0gFFpCY%2BP/EA4vpVDYi7a2O4CI12NVRIFdoaECW2FtiyCFNdi7HlemuK4Ok2eTsQlahAbt%2BZpMkW2iIES2AtsvIpHXyGROIRQq0NX1fTo7z/N6pIoosCs0WGAHK65t3bpWWNtMcT12ps4ltRHE%2BAziczaNv0PbxheQ7ZGtwPaTWOwx0ukLAWhru4VC4UCPJ1o1BXaF%2Bge2wtoGQQtrsHddDk5xPTYmziT1E/ToDPrz94Ii2zQ2R7YC22%2BWn1k8TUvLXBxnI69HGpYCu0K9gR2cuLZ161phbTs/hTWYGbImziTeUWx203KoPUW2aWyNbAW2/zhkMmcSjf4Lx5lOS8tco096psCu2H1eD1BHNm5dK6yDQHE9NqbNI2ZRYA6k5VEb/o1sm18QtoW2AtuPQqFWGhtPJBz%2BhHz%2By7S33waEvB5rUArsinQCc70eog5s3LoOYliDnetyeH6KaxND1sSZqmFBnd4CtrJt%2B3MVFJeD03IZO/8GNiiy/UKB7VeRyKs9Jz0r0dFxDtnsiV6PNCgFdkVsD2xLt6wDGde2rsvhKa7HxsSZRqpeIT1Stoe3gnLVtIxGzr%2BRbfvKtuUNTYHtZ/H4/aRSV%2BG6Ydra/kKxuLPXI61EgV0RWwPbgq3qQRm6pV1Ttq7LVVNcj55p84yEqUFdCVujWyFZOS2rVVNkm8zvb2IKbH9zSSavoKHh75TLE2hpeYxyeR2vhxpAgV0RGwPbx1vWQ/LxFveY2LguK6O4Hj3T5qmEn6N6OLYFt%2BJx5LTMBufPyA7KyvTzG5cC2//yNDb%2BmEjkDYrFmbS2/g1o8HqoPr4K7Llz5/LLX/6S119/nQkTJnDwwQcze/ZsIpHIgNvNmzePOXPm8OabbzJp0iSOOOIIZs2aNYZHtimwfbhVvUqWbnWvko3rsnKK69EzbZ7h2BrVw7EpuBWOo6Pl1s2fgQ2KbNMpsG0QDn9IY%2BOJhELL6Or6Lp2dl3g9Up9KAzty1llnnVXbUYb3wgsvcOSRR7LNNttw0kknMWXKFK6%2B%2BmqWLVvGDjvs0He7559/nqOOOoodd9yRk08%2BmXHjxnHppZey5pprsummm47y0YvAwmo8DQ/NBz7weogqWwD4J7Kqx8Z1OTKK69EzbZ7BLFgAixd3/xNEvc998WLwbV/0%2BOCD7n/WWsvrSfyld7kFffl1dHTQ2FjZhqpZPgCCsNIWA358k9oW142Rz7/t9SAyBq6bwXGmEI//g1jsOUqlLXCc6V6PBUA6XdnedM/3YB911FG0tLTwpz/9qe9rN954I3PmzOEf//gHq6%2B%2BOgBHH300bW1t3HnnnX23O/PMM5k7dy6PPvoo4XB4FI/u9z3YPtiiHpEA7tIC7FuPo6O4Hh2TZhlMEPdUj5Qte7a1d3Zsgrj8/LknO2gryk9vUNqDbZNE4kYSiT9RLo%2BnpeWflMtrez1SxXuwR1OlVfXvf/97wJ5qgB133JFiscjjjz8OQKFQ4KmnnmLfffcdcLv999%2BfTz75hFdeeaVu85phPnZF2QKCGde2rcfRU1yPjkmzrGjBAsV1pXqXld%2BX1/z5Zr8mTde7/IK0DP303r9cgFYQEMztMzFBLncYjjOdcLiFpqZjAMfrkSoW9XqAfD5PLBYb8LV4PA7Am2%2B%2BCcC7775LsVhk/fXXH3C7adOm9d1us802q8O0XrPtTT2ob9q2rcfR89vGlUkbvibN0p/fI9Fr/ZefX/ds939tBnGvbDX0LkMtPzFD7xuTT9%2BUxKdidHaeTGPjCcRij5NKXUpX1yleD1URzwN7vfXW48UXXxzwtRdeeAGAtra2Af9uamoacLve/%2B/9c7sZujU9KkHdArdpHY6d3%2BLaJIrrYOhdnn4NbVAojlUQlt/ixYt9eKj4fIJ3qDh0b7%2BZ/4YUiYS8HkGqZh1yudkkk5eSSl2A4%2ByM42zv9VCr5Hlgz5o1i5/85CfccsstfOUrX%2BGNN97g8ssvJxKJEAoN/AFZ8f9X9XV7GLo1PWJB3fq2Zf1Vh1/D2pSoNWWO/hTWtWVTaIPdsVgrQQht8Quz92aHQiEaG95tBfsAACAASURBVJNejyFVtS/wEqHQAzQ1HQW8AKzm8UzD8zywDzzwQF577TUuvvhizj//fGKxGN/73ve45ZZbmDhxIgDNzc3Aynuq29vbgZX3bNvDwC3pUQvaFrhN6656FNdjY8oc/Smu68eGw8dBsTgWti477cX2IzP3ZruuS0dH1usxpOqOIZ1%2BmXD4PQqFI%2BjsvB2o/w7W8ePTFd3O88AOhUKceuqpzJ49m0WLFrHWWmtRKpWYM2cOW2yxBQDrrrsusViMt956i5122qnve9944w0ANthgA09mry0Dt6RHJWhb37ast%2BpTXI%2BNKXP0Ulh7S3u1g23%2BfC0zMYGZe7Mdx9MLJElNJOnsPJlM5iTi8XvJ568nlzva66GG5PlZxHs1Njay0UYb0dTUxG233cbaa6/N9tt3H2Mfj8fZdttt%2Bdvf/jbge%2B677z4mTpzIJpts4sXINWLLmaWDdmZwW9Zb9S1evFhxPUamzNFLcW0OG84%2BDsE7e3Y1aJmZQCugmwVvQmI8x5lOLvdtADKZ04lEXvd4oqF5vgf7xRdf5JlnnmHjjTcml8vxyCOP8Je//IXrr7%2BeSCTSd7vZs2dz6KGHcsYZZ7D//vuzYMEC7rzzTs4555xRXgPbRDa8UQftTdaGdVY7fg1rMGfD1ZQ5etkQczayYY82aK/2aNhy2Lg/DxOX5czcmy12yee/TCw2n2j0eRobj6O19QEgssrvq7eQ67qeHkfx73//m5/97Ge8/nr3byG22GILTjjhBLbccsuVbjtv3jwuu%2Bwy3nzzTSZNmsS3v/1tZs2aNYZH7wTmjuH7q8mwregRC9JWt9/XVe35OazBnKg1ZQ5QWPuN30O7P7%2BHYz35fVn5N7B9vuCrzqs3oBMol1O0tz/s0eNLPYRCH9PUNJtQqIuOjnPIZk%2Bs22NPnNhY0e08D2xvmRDYBm1Bj1pQtrxtWFe1p7iuDlPmAMW1n9kU2uD/gKwHvy8jf0a2zxd6zdT7DUiBHRTx%2BN9JpS7HdeO0tDyK49Tn48KVBrbnh4gHm0Fb0KMSlK1uv6%2Bn%2BvB7WIM5UWvKHKC49jtbDh3vpUPIV82WQ8bFBjpsXGqjUNiDWOxJYrGnaWr6Li0tjwAxr8fqo8D2jEFb0CMWlC1uP6%2Bj%2BrEhrMGsqDWBwtoutlziqz/F9vB0pvF6Cvolu1bFzEt6iZ%2BF6Or6Ho2N/yYa/Rep1CV0dZ3m9VB9bDk7mM/4eUve9q3u%2Bf3%2BkeH4%2BezgKzIprk2YRXFtNxvXr86oPTg/LhNb/l6RFQXt6jJSa667GtnscQCkUpcQjT7v8UTLaQ923fnwbzvA/jdFv66X%2BrNp48e0jU8T5rExvmRlth063kt7tUVMp73ZUj3F4k4UCk8Sjz9KY%2BN3aWl5FEh4PZb2YNeXAVvPo2LzFrf2VlfKpj3WYEbM9mfCPIrr4LHlOtqD0V7tbloG9aIFXTntzZbqyWaPpVweTzT6Kun0%2BV6PAyiw68iPb7y2vgHqMPBK9Ua1TWEN5m1wmjCPrZEllVFo2y3oz19MZembjtSV6zbT1fU9AJLJK4lEXvJ4IgV2nfjxbzYb3/QU1ZWyMap7mbahacI8toaVjJzNr4Xe0DbhZ84LQX3eYjpbd%2BZIPZVK21Is7kgo5NDYeCJQ9nQefQa75vz2N5qNb3J%2BWwfesDWoe5m4cWnCTDYHlYyOrZ/P7k%2BXspLa0NnER0%2BfzZax6eo6mqam54jFniWRuJlc7ijPZgm5rut69uie6wTm1vD%2BDdh6HhHbtrT9tvzrz/ao7mVCyK7IhJlsj%2BtqLGMFmN2h3StI69kPz3Xy5MlejzAGPljARhvLG84JlMsp2tsfrto04i/x%2BD2kUtdSLjezdOl8XHfNqt7/xImNFd1OgV2zwDZg63lEbNrS9tuyr7%2BghDWYEbIrMmEmG%2BO6nsvVD5FSbQpte/jhefo3sn2wcH1hNG84CmxxyGROIhp9jVzuEJYtu6mq967ArkitAtuArecRsWVL22/Lvb6CFNVgRsQOxoS5bIlrE5ZlLz8ES7UotP3PD8/Pv4ENiuxqGembjQJbIBJ5nUzmh4RCZVpb76ZY3L1q963ArkgtAtugLb5VsmQr21fLvL6CFtW9TAqv/kyYy%2B9xbcIyXBU/xMtYBSGywe51afpzU2DLcpW%2B4SiwpVsyeR0NDX/BcaaydOlTQLIq91tpYOskZ1Xlgy2/Pj7fygb8tbzrJ6hRDWbHlwmz%2BTmuTVh%2Bleo/q%2BkRM1pBOBEa6GRoImbQCdBkZLLZQ4nFHicSeZtU6hK6un5a18fXHuyq7sH2yxagj7eyAf8s5/oJclT3MjnATJjNr3FtwrKrBtsDzfbQ7mXbejT5%2BWgPtqxsVW802oMty8ViT5BOn4/rxmhpeRrHmTbm%2B9Qe7Lrzy1agT7eyAf8s49pTUC9neoCZPp%2BpbFtutu8JXbAgGJE9f76961CqSZfrqg3tyZbKFYvbUyzOJBabTzr9c9rbb6nbYyuwA0Vx7WeK6oFMDzCT5vPb3muTll212RzaQTps3Mb1J%2BIPimypVIhs9gii0edoaLibaPT7lEr1efNWYFeFH7YGfbaF3ccPy7Y2FNSD80N8mTSjn%2BLapOVWa7aHtiJbRGpHkS2VKZenUizuTjz%2BEJnMT2lt/SsQqvnjhmv%2BCNbzwxahj7aw%2B8zHH8u2uhYvXtz3jyw3f/7yf0xn0oyKa/PZ%2Brz99NobLVvXnYg/BOBNRqoim52F68aJxR4nHn%2BgLo%2BpwBYDBWurRVE9NL9EdS%2BTZvVT4Ji03Lzgt9d5pRYs8NfrcDT8vu78PLuIIlsq4bprkM/vD0A6fRbg1PwxFdhj4oe/mfz05hOcvdaK6uH5caPVpHn9EjV%2BXM%2B1ZOuy8MvrcSxsXXde8fcZxKW%2BAvAGI2OWz38V180Qjb5CQ8Pva/54%2Bgy21fz0pmP/1olienh%2B3UA1bW6/xIxpy80Utn42OwgnQNPnskW8os9ky/Bct5Fc7mskkzeSTp9LPn8QkKzZ42kP9qiZvnXok61sy/daa0/1qvl5L6Zpcyuu7WHrMvLLa3S0bF1vMhp6MdSX5W8uMmb5/H6Uy2sQiSwimby2po%2BlwLaSX95k7PzLR1G9an46adlgTJzdL%2BFi2nIzmYmvs2rwy2t1tGxcZyL%2BkPd6ADFanGz2UABSqTlAV80eSYeIj4rJf3v6ZcvF5GU4corpVbNlo9PE5%2BGHYDFxufmFjYce237IuI3rTETE74rFXSiXf0c4vJhE4k5yucNr8jjagy11Ztch4dpTPTy/76lekYnPQ3EdDLYuQz%2B8fm1n62tLRGRlEfL5fQFIJq8B3Jo8igLbKqZvqdjxt7gOAR%2BebVEN5j4fxUmwmPgarAZbX8d%2BWV/a0y4iQVIo7InrJohGXyEWe6wmj6FDxKVOfLKlMQTF9ND8shE5GiY/N79EicnLUETMY88luvSbCxETuW6GQmEPGhruI5n8NcXiTlV/DAX2iJm6tWjy1rapy2zVFNYrC0Iwmf4cFdfBZetnexcssPfz2CIiYpZ8fl8aGu4jHv8r4fBCyuX1qnr/CmypMX9uYSuslwtaJJn%2BfBXXIiIiIqNXLq9LsTiDWOw5ksnr6ew8r6r3r8CWGvLfFrbCOrhh5Ifn7Ze4ltrSXmyxlQ4PF5F6yef3IxZ7jkTiVjo7fwJkqnbfCmwrmLjV7YNa6SfIYe2HsKwlvzx/P8W1X5apnymypRpsfA2JiFSiVJqJ46xFJPIBicTvyeWOrtp9K7Al0IIY1oqfbn5aDoprEX%2By9RchIiL%2BF6ZQ2Jdk8noSibsU2N4xccvRxC1vE5fTQEEKawXPcn5cFoprGYqt8aa92MFkz%2BHhIuIXxeK2JJPXE40%2BQyjUjus2VeV%2BFdhSZWZvYQchrBU5K/PrMlFci4j4jYW/9RKxVLk8CcdZh0jkfWKxRykU9qvK/Sqwfc20rW9zt7BtDmuFzdD8umz8FNbiLe3FFhERGb1SaSsikfeJxx9WYItpzC0ZG%2BPar%2BFYD35fNn6Ma78vczGTIru2TPrFjA4PFxGvFItb0tBwD/H4Q4ALhMZ8nwpssZZNYa2AGZ4ty8ePcS1SK4pr8R%2BDfmshIhUplT6H60aJRN4hEnkDx5k%2B5vtUYEsVmFc3NsS1LdFYK7YtH8W1jIZJeyFlZVo/q2bP3mutbBF/SuI4mxGNvkAs9rACW2Qwfo5r26Kx2mxdPn6Oa1vXiXhLe69ry5TwV1yLiAmKxS2JRl%2BgoeFhcrljx3x/CmwZI7O2rv0Y1wqUoQVh2fg5rsVbpkSSDM7U9WPqXP6lBSrid6XSlsDNxGKPAQUgPqb7U2D7lglb5ebUj9/COgjhOBpBWy6KaxktmyNJe6%2BDwY691xb/IIoEiOOsj%2Bs2EAp1EQ4volyeOqb7U2CL7/klroMWj5UI6jKxJayDuv5EVsXUX4CYMpfiWkTMEsJ1mwmFPiYcXqLAFq%2BYsWXth7hWhCynZWFPXIt3TIkkkeDSD6GIbcrlcYTD3YE9Vgps8S2T41ohqWWwIoW1VIPtcW3D4eGmriNT5vL/3mtDFqSIVJXrNgMosOtvJqbsufWW98vA1LgOclQG%2BbmviuJaRLykuK4WQxakiFRdb2CHQgpsCSAT4zpocRm05ztaNoe1XgP1Z0ok1Yr2XovZtHJFbFYuaw%2B2eMbbrWrT4joIkRGE51gLNse11J/CTUbLlNeOv/deG7IQRaRmXLcJUGBLwJgU1zZHp83PrR4U1iIjp73XtWHKTIprETHd8sD%2BdMz3pcAWX1Bc145tz8dLQYrrmTP12qk1U%2BKolhTWtWPKXIprEfGDcrkRUGCL1JUtMWHL8zBJkMK6P0V2bZgSRrWmuK4dU%2Bbyb1wbsgBFpG7C4XYAyuXxY74vBbaMgDdb0l7vvfZ7QPh9ftMFNa57KbKrw5QgqgcbwhrMXWemzKW4FhE/CYe7e8Nxpo75vhTYI6ZLddWT4np0/Dq3nwQ9rPvr3aDX627kTImhelBY154ps/kzrg1ZeCLiiUikN7A3GPN9KbDFWIrryvlpVr9TWA9Ne7MrY0oE1YstYQ1mrztTZvNfXBuy4ETEU%2BHwIkCBLVITfgkEv8xpC4V1ZRTZgzMlfupNcV0fpsymuBYRfyoTDn8AKLClruq7xezV3mvTw8D0%2BWyjqB4dRfZypoRPvSms68eU%2BRTXIuJXodBSQqE8rhvBcaaM%2Bf4U2KOiz2HXkuJ6ZSbPZhtFdXUEObJNCR4v2BTWYP66NGU%2Bf8W1IQtNRIwRiXTvvS6X1wNiY74/BbYIZoaAiTPZSlFdG0GJbFMix0sK6/oyaT7FtYj4XTUPDwcFtlSkflvI9d57beLGv4kz2UZBXT/9Q8Cm17ZJgeMl28IazF%2B3Js3nn7g2aKGJiHGi0dcBcJxp1bm/qtyLiA%2BZtrFv2jy2UVR7z8%2BX8zIpakxhW1z7YR2bNKPiWkTskCMWexSAfH7/qtyjAnvU9DnsavP6slxe8WNs%2BIGC2lxDRYKXPwsmhYvJbItq8Me6N21Gf8S1YQtNamwroMHrIcSHYrEnCIW6cJwNKBa3r8p9KrAlkEyIWhNmsImC2v9MiwixM6jBX681k2ZVWIuZLH2jkrpoaHgIgFxuFhCqyn0qsMUI9dx7bULYmjCDnymmRWrH1qgGs2J1VUybVXEtZrL4DUtqLhz%2BgGj0RVw3TC73jardrwJbAsXrsPX68f1EES1SP4pqc5g2r8JazGTxm5bUTTz%2BMADF4h6Uy2tX7X4V2GOiz2FL5RTXK1NEi3hHUW0WE2c2P64NXGhSBxa/eUkdOcTj3YeHZ7OHVvWeFdjiuXodHu5V4AY9rBXRIuZQVJvHxLkV1mImi9/ApO6i0ecJh5dQLq9GofBf1b3vqt6b1NFWQD3KxY46VFzXnkJaxDw2B3UvEwO1UibOrrgWMwXgzUzqqqHh7wDkcl%2Bj2megV2CPmQ4TH4t67L1WXFefYlrEXIpq85k4v8JazBSANzSpu0jkFWKxxwHI5Q6r%2Bv0rsEWqzLawVkyLmC0IQQ1mRulImDq/wlrMFJA3NvGAQyp1DQC53LdwnE2r/ggKbLFavWPX73GtmBbxB0W1f5j8HBTXYp6AvLmJZxoa7iMSeYtyeTwdHefU5DEU2OKZWh8erriunMJaxGxBCWowO0hHwuTnobAW8wToTU48EwotIZG4DYDOznNw3Qk1eRwFdlXoc9hB59e4VliLmElB7V8mPx%2BFtZglQG90YoRk8kZCoSzF4tbkct%2Bq2eMosEUCRlEtYpYgxTSYHaCjZfpzUliLOQL2hifGiEYXEI8/iuuGWbZsDhCu3WPV7J5FPFTPPcp%2B2XutsBbxVtBCupfp8TlafnheCmsxQ0Df/P4/e3ceZUdd5///VXXv7XS6OytpA80yYgIishMMwhBIIgiyKAq/kYFBOA6iIYrgjMIgosiwiCMg%2BCWYkQERIjAIM0REJbI5IItBY1gEEyBAWLL0nnTfrX5/dG56SS93qapP1aeej3M8avdN%2Bn1v31u3nvlU1UWEZDV%2B/CJJ0ubNZ6tQ2CfQn0Zg%2B8bEYeJhfRY2RhKHuCasgfAR03aKy/0jrGFWQjeAiKxx436hVOotFYvba9OmiwL/eQQ2rBOH6A0LcQ0EJ6kRPVBcgrMWcbqPhDXMYGOI6HLd11Rff6ckqavrcnnexMB/JoENI4K%2BgngYohzyhDXgH0K6X5xis1pxvI%2BENcLBxhDx4jidamq6TI6TVTZ7pHp7PxPKzyWwfcXVxJMiqnFNWAPVIaK3FcfQrFZc7ythDX%2BxIYRNCmpouFqu%2B7YKhfero2OxJCeUn0xgwypRDd8wENfA8Ijn8sQ1MqsR5/sa/aiWCOsoYQOIZKqv/6kymT/K8xrU3n6HPG9qaD%2BbwAYqFLWIJ6yRVIRz9eIcmNWw4f4S1knFhg6oVCbzmOrr/1uS1Nn5/1Qo7BXqzyewY48riYeJuAb8RSQHz4a4rIYt95uwthEbPiAorrtaDQ3XSZI2bfqqens/HfoMBLbvOA/blKjFb9CIawSB4I0/W8KyErbd53hEtURYj4QNKWCC43SoqelyOU6Pstl56u6%2BxMgcBDYAxAgBjIFsC8ty2Xi/4xPVEmE9EBtlIBoGXtRsV3V03CwpZWQSAhsoU5RWyFm9tgfBjHLYGJTlsvm%2BxyuqpWSHNRtrIMr6Lmq23MhFzYYisAEgBIQ0ymVzUI4lCfc9flEtJTOs2WgDcVFXt3TIRc0%2BbHQeAjsQnIcNJBUhjXIlISZHk6T7H8%2BolpIV1my8gTjKZB5WQ8ONkqTu7m8YuajZUAS2FYK8kjj/WBA1HB4eLQQ1xpKkkBxJ0h6D%2BAa1lJyoZuMNxF0m86QaGq6RJG3adLY2bfo3wxP1IbABoEJENYaTtIgcTpIfg3hHtZSMsGbjDdginf6TGhqukuMU1NPzj%2BruvkqSY3osSQQ2AJSFqIaU7IAcKumPRfyDWrI/qtlwAzZKpV5SY%2BNlcpycenuPV2fnDZJc02NtRWAHhkOrbRKVK4hzeHj4COtkSno8DsRj0ceOoC6x%2BZfKRhuwmeu%2BqqamS%2BQ4m5XNzt3ycVzRStpoTQMAEUBUJwPhuC0ek352BbVEVAOIO9d9S01NF8txupTLzVZ7%2Bx2SxpkeaxsENgBsQVjbhVgcGY/NYPbFdInNv2g22ECSOM46NTV9U67bqnx%2Bb7W33y2p0fRYwyKwAxXmYeJBXkkcUcDh4cEhrOOJSBwbj9G27I3pEpt/6WysgSRynFY1NV0s131PhcJMtbXdJ8%2BbbHqsERHYQEwccACR7TfCOtqIw8rweG3L/pgeyOYnABtrIKkcZ6Oami5SKvWGCoWd1Nb2P/K8ZtNjjYrARhm4YBvsQVRHAzFYPR674SUrpktsfjKwsQaSznHWq6np35RKvaVCYUe1td2vYnFn02ONicCGETvssIPefvtt02OUbdasaFxJnFXs6hDV4SIA/cHjOLJkxnSJzU8MNtYA%2BjjOe1vi%2Bm0VCruorW2pisX3mx6rLAR24DgPOyxRieCgEdnlIaqDQfT5j8d0ZMkO6ZIkPEHYYAPo57pvq6npIrnuuyoUdt2ycr2L6bHKRmADMURkj4ywrh3BFxwe2%2BER0kMl4YnCxhp%2BmiWpzvQQ8IHrrlVT07/JddepUJixZeV6R9NjVYTABsqUlBXyOCKqK0foBYfHdmSE9EiS8qRhYw2/JeW1kwyu%2B8aWlesNyud3V3v7UhWL25seq2IENsrEhc6ihlVswrocxF5weGxHRkiXI0lPIDbW8FuSXj/J4Lqvb4nrVuXze6qt7X/lee8zPVZVCOxQcB72cIK40FnSVpmTGNlE9fCIveDw2A6PiK5U0p5IbKzht6S9hpLDdV/dEtftyuf33hLX25keq2oENlCBKAZ8UiKbsB6M6PMXj%2BfICOlqJPUJxYYafkvqayk5Uqm/qbHxYrluh/L5/dXWdq88b6rpsWpCYAMWKMWnbaFNVPcjAP3B4zgyQroWSX5isaGG35L8ekqWVOplNTVdLMfpUi43S%2B3tv5DnTTY9Vs0I7NDYcA6zDfehdlFcxS6xZTWbsCYEa8FjNzIi2g88wYhq%2BI/XVdKkUi%2BqqekSOU63crnZam%2B/R5430fRYviCwrcR52FEN4DDENbKTHtVEYWV4vEZHSPuFJ1q/hG%2BkEQBeX0mVSq1UU9O35Tiblcsdqra2uyU1mR7LNwQ2UIWoR/zAWI1ibCc9piUCsVw8TmMjpv3Ck21bbKzhN15nSZdOr1Bj43fkOD3KZg9Xe/vPJTWaHstXjud5nukhzOmW9HCIPy/MIguyqvy/H36vYkvhBHCUI3s0YUY3Md2PWBwZj83YCGm/8GQbGxtu%2BC2M191cFYtpdXQsC%2BFnoRrp9HNqbPyuHKdX2ex8tbffIWm86bHK1tw8oazbsYIdKj6uK0xhrDJHfSV7JOVEbzkRTjyPjXDsx2NRHkLaTzzpyscGHX7itYfB0uln1dj473KcrLLZj6u9/TZJ9abHCgSBjSr4/w8FQZyLHZa4RvZYiOfqEJF9eBzKQ0z7hSdcddjQw0%2B8DjG8dPopNTZeIcfJqbf3OHV03CKpzvRYgSGwYTVb4xfRkuSYTPJ9rwQh7QeebP4gquEXXpMYWybzf2pouEqOU1Bv76fU0fETSRnTYwWKc7BDPQe7xIZzsYO5D0GtYnM%2BNvyWtLBM2v2tFiHtB55s/iKo4ZeovzY5BztqBsZ1T89J6uz8seK8vss52AgYn4k9FKvl9ktKZCblftaCkK4VT7JgEdXwA69TVG9wXH9WnZ03SkqZHisUBDYiJahzscOK31KYENr2SEJsJuE%2BVouQrgVPrPAQ1KgFr1X4K8lxLRHYhthyNXFWsUfCanb82Rqdtt6vWhHS1eIJZQZBjWrwekXwkh7XEoGNCIr7Krapn4fa2RifNt6nWhDS1eKJZBZBjXLxWoU5mcwTA%2BL6HxIZ1xKBjYQhsjGUbQFq2/2pFiFdDZ480UFQYzi8RhFdfXF95Za4/v/U2blISYxrKSJXEX/ooYd00003adWqVaqvr9cBBxyg888/Xx/4wAe23uaCCy7Qvffeu82fXbx4sebMmVPlTzZ1FfESG64mLsXtiuKSmegltKPDpgi16b5Ui5iuFE%2Ba6CGoMRSv08pxFXFTMpkn1dBwxZa4PnnL1cLti%2BvYXEX8iSee0MKFC3XCCSfoq1/9qjo6OnTDDTfozDPP1C9/%2BUs1NTVtve3OO%2B%2Bs73//%2B4P%2B/IwZM8IeGdsI5lzsoA4Vl8ysLLOabZZNIWrTfakUMV2pBD9ZIo2gxkC8ThFfSYnrShgP7F/%2B8pdqaWnRVVddJcdxJEk77rijTj75ZP3xj3/U4YcfvvW29fX12m%2B//UyNGnNBXuwsnkxFtkRoh8WWELXlflSKmK5UQp8osUBQo4TXKeyRTg%2BM65PU2XmTkh7XUgQCO5/Pq7GxcWtcS9KECeUtv8efTVfhjt8qtmRuVXlgMBHb/rEpRG26L%2BUgpiuRsCdH7BDTKOG1Cnul08%2BpsfGqAXH9Y0UgLSPB%2BKNw0kkn6YwzztBtt92mT37yk%2Bro6NBVV12lGTNm6KMf/eig265Zs0azZs1ST0%2BPdt99dy1YsEAf%2B9jHDE0eR/FcxbY1sgf%2BfInQrpZNIWrTfRkNMV2JhDwpYouYRgmvVSRHKvWSGhv/XY6TU2/vJ4nrISJxkbOHH35YX/va19Td3S1Jmjlzpn7yk59o%2B%2B2333qbW2%2B9Vel0WjNnzlRnZ6eWLFmi3//%2B97ruuut09NFHV/mTTV/kTAp/BTvowA7u/gQZ2VK0AjdKs0SNTRFq030ZDUFdjoQ8GWKNmEYJr9do6rvIWXf370wPYjXXfU0NDd%2BQ43Qql5unrq67JY0zPVYopkxpLOt2xgN7%2BfLl%2BsIXvqATTzxR8%2BbNU1dXlxYtWqRsNqslS5YMusjZQMViUZ/97GfV1dWlBx54oMqfHoXAlojs8gQd2CVRitsozWKKbRFq2/0Zipguh%2BVPgtgjpDEUr9l4mCvPy8hxnjA9iMXelvQVSeslHSzpt5KGb7UkM76Wf9lll%2Bnggw/WRRddtPVrBx54oObMmaO7775bZ5555rB/znVdHXXUUbr66qvV09Oj%2Bvr6sEaGIUEfKl5i%2BpDxgYbGWFTmCpKNAWrjfSohqMdi8S8/9ghpjITXbVx5nqeurs2mx7CS42xUQ8O/ynXXq1DYU52dd8nzHPUtWCZDuSvYxgN71apVmjdv3qCvTZ06Ve973/u0Zs2aUf9sBI5u90nYFzsL%2Blzs4O5PEiN7INsujmZzeNp434jp0Vj4C7cCEY1y8Pq1SaFgSx9Eh%2BN0qqnpYrnu2yoUdlVb230qFidLKpoeLZKMB3ZLS4uef/75QV9bt26d3nvvPe24444j/rlisahf//rX2m233Vi9jiQiO2jDBVzc5rWNbfeRoB6JZb/o2COiUSlew0D5etTYeKlSHMeh5gAAIABJREFUqVdVLE7fEtfbj/3HEsx4YJ966qn67ne/q0svvVTz589XR0eHbrrpJjU0NOiEE06QJL311lu64IILdNxxx2mXXXZRe3u7lixZopUrV%2Br66683fA/iKp5XFC8JM7KlaIfrQCMFXhjz2xaX5bLpfhPUw7HoFxxrRDRqwesYqE5OjY1XKJ1%2BQcXi5C1xvavpoSLP%2BEXOPM/TXXfdpTvuuENr1qxRQ0OD9t57b5133nn64Ac/KElqa2vThRdeqOeff14bN25UJpPRXnvtpS984Qs67LDDavjpUbnIWYltFzuTgr5PYV34TIpPZCN4RLWtLPrFxhYhDb/wek6evquId3QsMz2IJYpqaPi%2B6uoelec1qK3tf5TPzzY9lFHNzRPKup3xwDYr6YEtEdmVI7STyZaoJqgHsuSXGlvENILA6zq5CGw/1df/VPX1d8rzMmpvv0u53HzTIxlXbmAbP0QcA4V9sTMpnEPFg71fpWAIK7Tjdtg4qkdU28aSX2jsENIIC69xwA%2BZzO9UX3%2BnJKmz83riukIENmRDZEvhnZddQmjbyYaoJqgldrRNIaZhAq93wC%2Bp1AtqaPihJGnTpvPV2/uPhieKHwI7ckysYofFvsiWCO24syGoJaKaHeywEdKIAl73gJ9c9101Nv67HCen3t7j1d39LdMjxRKBjS3Cuqq4nZEt2fcZ1TYjqm1gyS8xFohpRA2vf8B/m9TYeKlct035/L7q6PixJNf0ULFEYEeSqVVsuyJbCv8CaCWsakeLLUEtJTWqLfoFRh4xjahiOwAEp6DGxquVSr2mYnF7tbf/XFKj6aFii8COLJsPFZfCun%2BmVrNLWNU2x5aoJqgRHGIaUce2AAhDff1/KZN5Wp5Xr/b2JSoWdzQ9UqwR2BgirFVsKczIlsytZpewqh0cW2K6JHlRbdkvMHIIacQN2wQgLHV1D6q%2B/l5JUkfHTcrnDzQ8UfwR2JFm%2B6HiUpj30fRqdsnQGCS4K2dbUEtJi2oLf4GRQUwjjtgmACakUis1fvz/kyR1d1%2BkbPZEwxPZgcDGCIjssHAY%2BdhsDGopSVFt6S/QOGIaccZ2ATDJcdrV2Hi1HKeg3t7PaNOmr5seyRoEduTZfi52SbiRLZk/ZHw4rG7bG9MlyYhqy3%2BJxhDUsAHbB8A8Tw0N18l116tQmKmOjuslOaaHsgaBjVGEuYothf2PCVEO7ZKRYjPu4W17RA%2BUjKCW2GkOClENW7CNAKJi3Lj/USbzlDxvnNrbb5XUZHokqxDYsWByFdvuyJbiEdpDjRWopgM8SQE9nGREdcJ/yYEhqGEjthdAVKRSf1V9/c2SpK6uK1Uo7G14Ivs4nud5pocwa6npASpgsprCjOwSM/c3TqGN6CCqUR2CGrZie4GwzVWxmFZHxzLTg0SW43RpwoRz5brvqLf3U%2BrouFUcGl6%2B5uYJZd2OFexYSdJKtmTq/sZxRRtmENWoDlENm7HNAKLJU0PDDXLdd1QovF%2BdnT8UcR2MxAd2a%2BtcTZnysOkxYiI5kS0R2tgWQY3qENRIArYdQJTV1f1Kmczj8ryMOjr%2BS5432fRI1kp8YMeP6auKJyuyJUI76YhqVIeoRhKw7QDiIJVapfHjF0uSuru/o3z%2BQMMT2S3x52C3tnYrny%2BquflR06NUyPRlpE2cky2Zv999iG17JSOoJXaM/UZQw3ZsMxB1nIM9vJwmTDhXqdTrymaPVnv7neLQ8OpwDjYCZmIlWzK9ml0yMMKI7XgjqFEdghq2Y5sB2GDcuP9WKvW6isVmdXTcKOI6eAR2bEUhNE1GtmT%2B/vfhEPJ4SU5QS%2Bwg%2B4mgho3YRgA2c901qq%2B/U5LU1fU9ed52hidKBgJ7i3XrDo/hYeJJjmwpGve/39BwI7ijgaBGdQhq2IBtApBcRTU03CDHySmb/bh6ez9teqDEILBjLwqRaTqyJfOPwbY4jDx8yYrpEnag/UNUI254/QMYXl3dg0qnn5fnNamz8wfi0PDwENgDxHMVOypMRrYU5dCWWN0OSjKDWmKn2k9ENeKE1z6AsTnOeo0f/1%2BSpK6ub6lY3NnwRMlCYA8Rz8iOwiq2ZD6ypeg8FqMjuCuT3JAeiB1r/xDViAte9wAq5amhYZEcZ5NyuYPU03OW6YESh8C2RlTCsrTjymp2JYYLyCRGNyE9FDvX/iGqEWW81v1X7T4AvwvEWybzhDKZJ%2BV5GXV2Xi8pZXqkxCGwhxHPVWwpOpEtRWc1W4rOY1KZ0WIzrvFNQI%2BFHTt/EdWIIl7n1QnrvbzSn8PvE9HhOF0aP36RJGnTpvNUKOxpeKJkIrCtQ2RvK96hPZxyQzWMECeaa8XOmb%2BIakQFr%2B3KxfF9eqSZ%2Bf0jfOPG3SXX3ahCYTdt2vQvpsdJLMfzPM/0ECa1tnYrny8O%2B714rmKXROlNKgqRPVCUHhskDztd/iOqYRKv6eol6f2Y50nw5qpYTKujY5npQYxwnPc0ceLZcpys2truUS53pOmRrNPcPKGs27GCPYr4HiouRW8lW4pOaNu3oo2oY8fKf0Q1TOC1XLukvvcOvd88l%2BCv%2Bvo75DhZZbOHKZf7mOlxEo3ARoiicsh4ycA3t6S%2B4SMY7Dj5j6BGmHgN%2B4f31%2BENfFx4vqE2rvua6uoekiR1d39HfOa1WQT2GFjF9lvUIruEVW3Ugp2jYBDVCAOv3%2BDwnlqe0uPEcxHVGT/%2Bp3IcT729n1I%2Bz/PINALbelGNbCnaoS1F73FDNPDGFRyCGmHgNRw83j%2BrQ2ijcqnUSmUyT8nzUuruvtj0OBCBXZZ4r2JL0YxsKbqr2SWsakNiRydoRDWCxms4eLxP%2BovQRrk8jR9/iySpp%2BcMFQq7mR0HkgjsshHZQYl6ZEusaicNOzTBI6oRBl7LweL9MHiENkaXyTypdPpFeV6DNm36hulxsAWBXQEiOyhRPmR8KGLbPuy4hIOoRlh4TQeL977wPSue19hWQfX1t0mSNm1aoGJxe8PzoITATpyoRrYUj9XsgYjt%2BGEHJVxENcLE6ztYvM%2BZRWRjsEzmD0ql1qhYnKLNm881PQ4GILArFP9VbCn6kS3FK7Slbd/0ovr4Jgk7ImYQ1Qgbr/Xg8F4WLUQ2%2Bo0b9z%2BSpM2bPy/Pm2R4GgxEYFeByA5D3FazhyK4w8POhnlENUzgtR8c3rOii8iGlEr9Ven08/K8jHp6zjI9DoYgsBMtDpEtxTu0Swju2rAzES0ENUxiexAc3pvigchOunHj/leS1Nv7GRWLOxieBkMR2FWyYxVbin5kS3aFdslIb4xR/10EiZ2F6CKoERVsJ4KT5PefOCKyk8px1imTeVyStHnzOYanwXAI7BoQ2WGL%2B2Hj5RjrzTIOv6fhsBMQLwQ1ooZtSHDi%2Br4CIjuZxo1bKscpKJudo3x%2BX9PjYBgEdo2I7LDZuJpdiWrfSKv93fLGnQwENaKKbVCw4vC%2Bj9ER2cmyWePG/arvf7F6HVkENgaIS2RLhHalePNFCTGNOGCbFay4vNejPER2UtTVPSTH6VahMFPZ7MdNj4MRENg%2BsGcVW4pXZEuENjAWghpxQygEJ07v7wAG8zRu3P2SpE2bFkhyzY6DEfGb8cm6dYebHsFHcdy5OUCEBCD1vxZ4TQAoeVbEte34/doulXpRqdRb8rwm9fScYnocjILA9hGRHQUEBZKGoIZN4vreE1WENWCLurpHJEm9vSdIajQ5CsbAIeIYRdwOFy/hsHHYioAGUI44vncDGFlOdXWPSZJ6ev7B8CwYC4HtM7vOx5biG9kSoY14I6YBVCqu79cARpNOPyvH6VSxuINyuTmmx8EYCOwAENlRQ2gj6ohpALWI83s0gLGMG/eIJKmn52RJKaOzYGwVn4O9cuXKIOawjl3nY0t2nBfHeaqIgqHnTPN8BFAL4hqwmeN0KZ1%2BShKHh8dFxSvYJ510kvbdd1%2BdeuqpOuaYY5TJZIKYC5EU95XsgVjVRtAIZwBBsuX9GMBoMpn/k%2BPklM/vqUJhL9PjoAwVr2BfeeWVKhaL%2BvrXv64jjjhC1157rd55550gZos9%2B1axJTtWsgdiFRG1Gm5FmucTUDnb3l%2BCwpXBMRKeFzYqXT28b/XaMTkKyuR4nudV8wdXrFihn/3sZ3rwwQdVLBY1d%2B5cnXbaaZo9e7bfMwaqtbVb%2BXwx0J9h1/nYJTZvxFnVxlAEMxA8AntsNr/3wh9Jfh3NVbGYVkfHMtOD%2BMZxNmjSpNMlSRs2PK9icWfDEyVbc/OEsm5XdWCXbNy4UXfddZfuvPNOvfPOO5oxY4ZOO%2B00nXjiiRo3blwtf3UowghsydbIlux/sye2k4OIBsxKchiMxfb3Wvgnya8j%2BwK7ru7Xamj4oXK5WWpr%2B53pcRKv3MCu%2BBDxoerq6lRfX69MJiPP87R582Z9%2B9vf1lFHHaU//elPtf71iDzbN%2BQc9muPkQ7l5ncLRAMRuS0OBweSLJPpW%2BjJZo80PAkqUfUK9ksvvaQ77rhD999/v3K5nI4%2B%2Bmidfvrp2mefffTSSy/pW9/6lnp6evS///u/fs/sq7BWsCWbV7GlZO4AsLodTcQyEG%2B2/8PtWJL4fgr/JPn1Y9sKdk6TJv2jHGeTWlsfVj5/oOmBEi%2BwQ8QfeOAB3X777Vq%2BfLmmTp2qf/iHf9App5yi5ubmQbd78skn9c///M96/vnnK/nrQxdmYEtEtr2I7XAR0YDdkhgJSX4PhT%2BS%2BLoZyK7ATqf/rKamf1Ox2KwNG16RDwceo0blBnbFH9N1/vnna88999Tll1%2BuY489VnV1dcPebqeddtIJJ5xQ6V%2BPWLPpY7wqNTT4CO7aENBAsj2r5MRCUt83AYwmnf6jpNLh4cR1nFS8gv3ss89q1ix73vTCXsGWbF/FlthZGAnR3Yd4BlAJe/Y5%2BvE%2BCb/Z%2BDqplF0r2BMmfEmp1Bp1dNyi3t5Pmx4HCnAF%2B5577tH06dO1887bXib%2Brbfe0g033KArrrii0r82UdatO9zyyE7ySvZoRgtLG%2BKbcAYQBJtWs3lvBDA2131HqdQaeV5K2ew80%2BOgQhUH9n333adTTjll2MBubW3VfffdR2CXgcjGYOXGaVghTiwDiJI4RzbvhQhaXF8bGEk63bfdyOcPludNNjwNKlVxYI92RHl7e/uI52QjiYhs/xG%2BAJKq9H4Sh5jgvQ9A9TKZP0uSens/ZngSVKOswH7mmWf01FNPbf3/d999tx577LFBt%2Bnt7dWyZcs0Y8YMfye0mP2r2BKRDQDwV5RXs3m/Q9ii%2BlpA9YpKpVZKknK5wwzPgmqUFdhPPfWUbrjhBkmS4zi6%2B%2B67h71dS0uLvvWtb/k3XQIkJ7IldjwAAP6Iymo272sA/OW6b8p1O%2BR545XP72d6HFShrKuI9/T0aPPmzfI8T4cccoh%2B8pOfaM899xx0m7q6OjU2NgY2aFBMXEV8OPZHdgk7IwCAIIQV27yPISpM/wNT1NhxFfG6ugfU0PAj5XJz1Na21PQ4GMDXq4jX19ervr5ekrRs2TI1NzdzrjWqxCHjAIAgDHxv8Ss8eL8CEK50%2BgVJUjb7UcOToFoVX%2BRsxx13DGKOxEvGoeIlRDYAIEi8x8B2rF7byVM6XTr/%2BlDDs6BaZQX26aefrksuuUQzZszQ6aefPuptHcfRrbfe6stwSUNkAwAAYHTEta1c9z257jp5Xlq53EGmx0GV3HJuNPA0bc/zRv1PsWj%2BfGbEBW8QAAAA5WPfyWap1POStOXiZvG7thX6lHWRM5tF5SJnAyVnFXsgVrMBAABGRlyPLv4XOWtouEF1db/Spk1fUXf3ZabHwRDlXuSsrBXsgZ555hl1d3cP%2B71NmzbpmWeeqfSvxBDr1h1uegQDeNMAAAAYHvtJSZBK/VWSlMvNNjwJalFxYJ9%2B%2BulatWrVsN9bvXr1mOdoozxENgAAAJAUPXLd1yVJ%2BfyBhmdBLSoO7NGOKM/n83Ldiv9KYIBZIrQBAABK2C9KglRqtRynoGJxuorFHUyPgxqUdRXxrq4udXR0bP3/69at09q1awfdpqenR/fee6%2BmTZvm74QJlqyrig/FVcYBAEDSEddJkUq9IknK5Q6Q5JgdBjUpK7BvueUW/ehHP5LU9zFcCxcuHPZ2nufp7LPP9m86ENmSCG0AAJA8xHWSpNN9p%2BDm8/sbngS1KiuwDz30UDU0NMjzPF199dU67bTT1NLSMug2dXV12n333fWRj3wkkEGRZKxmAwCAJCGukyaVelmSlM8fYHgS1KqswN5///21//59/5qyefNmnXzyyZo%2BfXqgg6FfslexS4hsAACQBMR18mxSKvWGpNIh4oiziq9ItnDhQuLagGReVXwoLoAGAABsxn5OEqXTfedfFwq7yPO4nlXclbWCPdSbb76pX/3qV1q7dq16enoGfc9xHF1%2B%2BeW%2BDIfBWMku4dxsAABgG%2BI6qVIpzr%2B2ScWB/cgjj2jhwoUqFouaOnWq6urqBn3fcbjqHcLCYeMAAMAGxHWSDb6COOKu4sC%2B5pprdMABB%2Biaa67RdtttF8RMGAWr2EOxmg0AAOKMuE660iHirGDboeJzsF9//XWdddZZxLVBnI89HM7PBgAAccO%2BS9I5Trtc921JUj6/n%2BFp4IeKA7ulpUWbNm0KYhZUgMgeCaENAADigP0VSKnU3yRJhcIMed5kw9PADxUH9tlnn62bb75ZmzdvDmIewCeENgAAiCr2UdCnFNicf22Pis/B/stf/qINGzboyCOP1OzZszVlypRtbvPNb37Tl%2BEwOs7HLsfANzDO0wYAAKYR1%2BiXTvcFNudf28PxPM%2Br5A/sscceo/%2BFjqMXX3yxpqHC1NrarXy%2BaHqMmhDZlSK0AQCACcR1cOaqWEyro2OZ6UEqMnHi5%2BS669Xa%2Bmvl8x81PQ5G0dw8oazbVbyC/dJLL1U8DBAtrGpHR5R2NHguAACCFKX3PESB42yQ666X57nK5/cxPQ58UnFgI3o4VLwWxLa/4rzzMNbsPD8AANWK8/tjPBQK4%2BU4OdNjVKT0%2BdeFwh6SGs0OA99UHdiPP/64nn76abW2tmrBggVqaWnRihUrtNNOO2nq1Kl%2BzogyENl%2BGPrmR1D1Y8eA5wcAoDq8hwap9Mk6ccyP/vOvucCZTSoO7M2bN2vBggV68skn5TiOJOmUU05RS0uLbr75Zu2www76xje%2B4fugGBuR7bfh3hBtjCre%2BKvD0Q8AgLHwHhukuH9sbf8VxLnAmU0qDuxrrrlGK1eu1PXXX69DDjlEBx544NbvHXroofrZz37m64CoDJEdtJHeKKMYWLyph4fYBgAMxftwkOIe15KnVOplSaxg26biwH7wwQd17rnn6sgjj1ShUBj0vZaWFr399tu%2BDYfqENkm8CaKEmIbAMB%2BQZDiH9eS674n122X52WUz%2B9lehz4yK30D2zcuFEzZ84c/i9zXfX09NQ8FADYYZbYyQKApGG7HyQb4loaeIGzvSSNMzsMfFVxYE%2BfPl0vv/zysN/761//qp122qnmoVA7WzY%2BgB0IbQBIBrb1QbJp/5bzr%2B1VcWAfddRRWrRokV544YWtX3McR2%2B99ZZuueUWHX300b4OiOrZtBEC7EBoA4C92L4HZd26w63br%2BUK4vZyPM/zKvkDXV1dOu200/TKK69ot91201//%2BlftvvvuWrNmjXbddVfdcccdqq%2BvD2pe37W2diufL5oeI1Ccjw1EFedoA4AdiOuglBvWU6c2ynFy6uhYFvBEfihq0qTPynG6tXHj/6lQ2Nv0QChDc/OEsm5X8Qp2U1OTfv7zn%2Bvcc89VQ0ODdtllF40fP15nn322br/99ljFdVLY9i9%2BgD3YIQOA%2BGNbHhRb92Fd9y05Trc8b7wKhQ%2BZHgc%2Bq3gF2zZJWMEuYSUbiDJWswEgngjsIFQa13Fawa6r%2B60aGq5VLneI2toeND0OyhTYCjbiy9Z/BQTswA4aAMQP2%2B4g2L7PWvr861zuIMOTIAhlfQ726aefXvZf6DiObr311qoHAoDkKu2osZoNANFHXPvN9rAuSadfkiTlch8xPAmCUFZgDz2K/NVXX9X69evV0tKi5uZmrVu3TmvXrlVzc7N23XXXQAaFP0obLg4XB6JslohsAIgy4tpvSYlraZNc9zVJUj7P88hGZQX2bbfdtvV/P/bYY7r44ou1ZMkS7b9//%2Be2LV%2B%2BXOedd54%2B//nP%2Bz8lfLdu3eFENhBprGYDQDQRRX5LTlxL6fQrcpyiCoWdVSzuYHocBKDic7CvvfZaLVy4cFBcS9IBBxyghQsX6pprrvFtOAQrSRszIL7YkQOA6GCb7Lek7Y%2BWzr/O5zn/2lYVB/bf/vY37bDD8P/assMOO2j16tU1D4XwJG2jBsQTO3QAYB7bYr8lcT%2B0//xrnk%2B2qjiwp02bpt/85jfDfu/BBx/UtGnTah4K4Urixg2In1li5w4ATGH767dk7n96SqW4wJntyjoHe6BTTjlF//Ef/6G2tjYdf/zxmjZtmtavX6/7779fv/3tb3X%2B%2BecHMScCxjnZQFxwATQAQHwlM6z7uO5auW6bPG%2Bc8vl9TI%2BDgFQc2GeddZZ6enr0n//5n/rtb38rqe8q4%2BPGjdMXv/hFnXXWWb4PiXAQ2UBcENkAEB5Wr/2S5LiWpHR6pSQpnz9QUr3ZYRAYxxv6GVxl6uzs1HPPPae2tjZNnjxZ%2B%2B23nyZOnOj3fIFrbe1WPl80PUakENlAXBDZABAs4tovQcf11KmNcpycOjqWBfpzatHQcK3q6n6r7u5/0aZN3zI9DirU3DyhrNtVvIJdMmHCBM2ZM6faP44IYyUbiAs%2BygsAgkNc%2ByXpK9cl/SvYBxueBEEqK7DXrl2r5uZmZTIZrV27dszbt7S01DwYzCKygTjhkHEA8Bdx7Rfiuo/jbJDrvi3Pc5TLzTY9DgJUVmDPnz9fd955p/bZZx/NmzdPjuOMevsXX3zRl%2BFgFpENxAmRDQD%2BIK79QFgPlk6/IEkqFPaW500yPA2CVFZgX3755dp55523/u%2BxAhv2KG0cCW0gDohsAIB5xPW2SoGdy33U8CQIWtUXObMFFzkrH5ENxAmhDQCVY/W6VqbiOuoXOZsw4StKpVapvf1WZbMnmh4HVSj3ImduwHPAIvxrJBAn7CQCQGXYbtaKfcXhOU6XXHe1JCmfZwXbdgQ2KrJu3eFsPIHYYGcRAMrD9rJW7B%2BOLJVaKcfxVCjMVLG4velxEDACG1VhIwrExSyx4wgAo2EbWSv2C0eXyfxFkpTN8jglAYGNqrGaDcQJO5AAsC22jbViX3Bs6fQKSVIud5jhSRCGSAT2Qw89pJNPPlkHHHCADjnkEC1cuFCrV6/e5naPPvqoPvWpT2nvvffWkUceqdtvv93AtBiKDSsQF%2BxIAkA/tom1Yh9wbI7TrlSqr2uyWQI7CSoO7Pvuu0%2Btra3Dfq%2BtrU333XdfRX/fE088oYULF2rXXXfV9ddfr4svvlivvvqqzjzzTHV1dW293XPPPacFCxZozz331OLFi3XiiSfqsssu0913313pXUAAWM0G4oIdSgBA7djvK0863Xd4eD6/pzyv2fA0CEPFgX3hhRfqjTfeGPZ7b775pi688MKK/r5f/vKXamlp0VVXXaVDDz1UxxxzjK644gq98847%2BuMf/7j1dj/60Y%2B055576vLLL9fBBx%2BsBQsW6KSTTtJ1112nYpGP2YoKNrZAHHBeNoCkYxtYC/b3ypdOr5TE4eFJUnFgj/ax2b29vUqlUhX9ffl8Xo2NjXIcZ%2BvXJkwY/Blj2WxWf/jDH3TssccO%2Bvrxxx%2BvdevW6YUXXqjoZyJYrGYDccEOJoAkYttXC/bxKpNO/1mSlM3OMTwJwpIu50Zr167VW2%2B9tfX/v/DCC%2Brt7R10m56eHt11113aYYcdKhrgpJNO0hlnnKHbbrtNn/zkJ9XR0aGrrrpKM2bM0Ec/2vc5cWvWrFEul9MHPvCBQX925syZkqRVq1Zpr732qujnInilDXBz86OGJwEwslmSnjU9BACEhLiuBXFdGcfZqFRqjTzPUS53qOlxEJKyAvsXv/iFbrjhBjmOI8dx9J3vfGeb25RWti%2B66KKKBjjooIN0ww036Gtf%2B5ouu%2BwySX3hfPPNN6uurk6S1N7eLkmaOHHioD9b%2Bv%2Bl71cjlYrEdd6s1to6V5I0ZcrDhicBMLzSDiehDcBmxHUtWlvnKl1WOZiVSjlj3ygkpauHFwr7KJWaZngahKWsl8kxxxyj3XbbTZ7n6atf/arOP/98/d3f/d2g29TV1Wm33XbTTjvtVNEAy5cv17/%2B67/qM5/5jObNm6euri4tWrRIZ511lpYsWaKmpqattx14GPlAI329HBMnjq/6z6JSx23576VGpwAwElazAdiKuK7NcZoyxfQMY/M8RxMmRGnfvu8CZ%2Bn00ZoypdHwLAhLWYE9Y8YMzZgxQ5J0xRVX6IgjjtAUn15ll112mQ4%2B%2BOBBK98HHnig5syZo7vvvltnnnmmJk2aJGnbleqOjg5J265sV6KjY7MKBS6SFq65rGYDkcVqNgDbENe16DsSsdv0GGOaOHG8HMdTV9dm06Ns4amx8Wm5rtTZeZjy%2Beg/hhhduf9IUvGBHieeeGLFw4xm1apVmjdv3qCvTZ06Ve973/u0Zs0aSdIuu%2ByiTCaj1atXa86c/gsE/O1vf5OkrfFfjUKhqHyewA5ba%2BvcLU9SVrOBaCK0AdiAuK5V3PaTC4WRL8gcJtd9Va67UZ7XoJ6e2ZLi9TiielWdSfHss89q6dKlWrt2rXp6egZ9z3Ec3XrrrWX/XS0tLXr%2B%2BecHfW3dunV67733tOOOO0rqO/z84IMP1q9%2B9SudccYZW2%2B3dOlSNTc3a88996zmbiACWlvnKp8vciE0ILI4bBxAXBHXteKiZtXLZJZLknK5v5c0zuwwCFXFgX3PPffooosu0qRJk7Trrrsqk8kM%2Bv5oH%2BM1nFNPPVUkDS30AAAgAElEQVTf/e53demll2r%2B/Pnq6OjQTTfdpIaGBp1wwglbb3fOOefotNNO0ze/%2BU0df/zxWr58ue6%2B%2B25deumlcl0uVBZ3AzfgxDYQNaxmA4gb4rpWxHVt0uk/SZKy2fmGJ0HYHK/CIj7mmGO0xx576Kqrrtp6le9aeJ6nu%2B66S3fccYfWrFmjhoYG7b333jrvvPP0wQ9%2BcNBtH330Uf3gBz/QqlWrtP322%2BvMM8/UqaeeWtPPb23tjt2hLzZIp11NmdI45uNPbANRQ2QDiDriulZxjOupUxvlODl1dCwzPYqkHk2a9Fk5Tk4bN/5RhcJupgeCD5qbJ5R1u4oDe99999WNN96oQw45pKrBoobANqPcwC4htIGoIbQBRBFxXas4xrUUrcBOp59VU9MlKhR21saNKyVF56PDUL1yA7viQ8RnzJih9evXVzwQUAsOIQeihsPGAUQNcV2ruMZ11KTTz0mScrn5Iq6Tp%2BLAPu%2B88/S9731Ps2fP1vTp04OYCRjV0I0/wR2OoN50%2Bf3FHRdBAxAFxHWtiGv/lC5w1ts7b4xbwkYVB/btt9%2Buzs5OffzjH9cee%2ByhyZMnD/q%2B4zi68cYbfRsQGAvBXY3jInN6RDlv6PxOo47VbAAmEdeIDsdZp1RqjTzPVS7HP1okUcWB/fLLL8t1XU2dOlXvvfee3nvvvUHfdxwOg4BZwwVbUgKtnFjtO/89hGF8lOTfabwQ2gDCRFj7hdVr/5RWr/P5WfK8mO1wwRcVB/bvfve7IOYAAmVDoPHmN5gNv1N7EdoAgkZc%2B4X9C3/1fzwXh4cnVcWBDdhirDeUoGONNzT/cbpA1BDaAIJAXPuFfRG/FZTJ9F3gjM%2B/Tq6qAjubzeoXv/iFnn76abW2tuqSSy7R%2B9//fj300EP64Ac/qJ133tnvOYHQ8aYTf1x9Piq4EBoAPxDWfmI/x3%2Bp1CtynE4Vi5OUzx9oehwYUnFgb9y4UZ/73Of0yiuvaNq0adqwYYO6u7slScuWLdPvf/97ffvb3/Z7TgCoCbFtGqvZAGpBXCP6SoeH53JHiAOFk8ut9A9cffXV6ujo0D333KNHHnlEnudt/d7s2bP1zDPP%2BDogAPht3brDt/4HYZsldpQBlI9tRhB4/wtG6QJnHB6ebBX/08ojjzyif/mXf9GHP/xhFQqFQd%2BbPn263nnnHd%2BGA4CgsbJtCivaAMZCWAeBuA5Kt1KplyRxgbOkqziwu7q61NLSMuz38vn8NtENAHFBbJtAaAMYirAOCnEdnExmuRynoHx%2BdxWLu5geBwZVfIj4TjvtpD/96U/Dfm/FihXaddddax4KAEzjMPKwzRKHggJgGxAc3s%2BClcn0nSabzR5jeBKYVnFgH3/88Vq8eLEeeuihredfO46jFStW6Kc//ak%2B%2BclP%2Bj4kAJhEaIeN0AaSh9c94qygdJrARp%2BKDxE/66yztHz5ci1cuFCTJk2SJH3%2B859XW1ubDjvsMJ1%2B%2Bum%2BDwkAUVCKbA4fDwuHjwPJQFgHjX8kDlYq9ZJct0PF4hTlch8xPQ4MqziwM5mMFi9erAceeECPPPKINmzYoClTpuiII47QscceK9eteFEcAGKFc7XDRmgDdiKsw0BcB6//8PCjxMdzoapngOM4OvbYY3Xsscf6PQ8AxAqr2mEitAE7ENZhIa7D0R/YHzc8CaKg4uXmV199VU8//fSw33v66af12muv1ToTAMQO52mHiXM1gXjitRsm3pPC4brvKJV6TZ6X4vOvIamKwL7yyiu1bNmyYb/38MMP68orr6x5KACIK0I7TFx5HIgHXqdh430oPOl038JjPn%2BIPG%2BK4WkQBRUH9l/%2B8hcddNBBw37voIMO0sqVK2seCgDijo/5Chs78ED08LqE/UqHh/f2Hm14EkRFxedgd3Z2qqGhYdjv1dfXq729veahAMAmnKcdpoE785yrDYSPoDaNf9gN0yal0yskSdksgY0%2BFa9gT58%2BXStWrBj2eytWrFBzc3PNQwGAjdatO1ytrXNNj5EgrJ4B4eH1FgXEdbgymefkOHkVCjNUKOxmehxERMWB/bGPfUw//vGP9Yc//GHQ15966iktXrxYRx55pG/DAYCdjiO0Q8W52kBweG1FBXEdvnS6dPVwVq/Rr%2BJDxM855xz9/ve/15lnnqn3v//92n777fXOO%2B/otdde08yZM/XlL385iDkBwDocOm4CH/UF%2BIOojhLi2oQi519jWBUH9oQJE3TnnXfqlltu0eOPP661a9dqypQp%2BvKXv6zPfe5zamxsDGJOALAWoW0C52oDlSOqo4i4NiOVelmu26ZicaJyuUNMj4MIqSiws9msnn76aX3gAx/QOeeco3POOSeouQAgcQhtU1jVBkZHWEcVcW1OafU6l/uYpIzZYRApFZ2DnU6n9cUvflGvv/56UPMAQOLx8V6mcK42MBivhyjjfcKsTKbv8685PBxDVbSC7bqupk%2Bfrq6urqDmAQBswYq2SRxCjqQiqOOAuDbLcd5TKrVanucqm%2BUCzxis4quIn3TSSbr99ttVKBSCmAcAMAQr2qaxsg3b8RyPE94PzCutXufzH5HnbWd4GkRNxRc5y2QyevXVV/WJT3xC8%2BbNU3NzsxzH2fp9x3F0xhln%2BDkjAECsaEcDK9uwBTEdR8R1NNTVPSlJ6u093vAkiCLH8zyvkj%2Bwxx57jP4XOo5efPHFmoYKU2trt/L5oukxEieddjVlSiOPvwE89mb5%2BfgT2lFCbCMOiOq4IqzHNnVqoxwnp46OZYH%2BHMfp0MSJp8lxCtqw4c8qFncN9OchOpqbJ5R1u4pXsJctC/ZJCwAoDyvaUcLKNqKKqI474jpaMpmn5DgF5fN7E9cYVsWBveOOOwYxBwCgSoR21BDbMImgtglxHT2ZzFOSpN7e4wxPgqiqOLBLVq1apWeeeUatra066aST1NzcrHfffVeTJk1SfX29nzMCAMpAaEcRsY0wENU2Iq6jaLPS6b5tOedfYyQVB3ahUNDFF1%2Bse%2B%2B9V57nyXEczZkzR83Nzbrkkkv0oQ99SOeee24QswIAykBoRxWxDT8R1bYirKMrk/mjHCenQuEDKhQ%2BbHocRFTFH9N14403aunSpfr617%2BupUuXauA10g477DA9/vjjvg4IAKgOH%2B8VZbPERyOhcjxnbMc2O9oymT9IKh0e7ox%2BYyRWxSvY9957rxYsWKAzzzxzm8/C3mmnnfTmm2/6NhwAoHasaMcBq9sYDiGdJMR11OW2fv41h4djNBUH9rvvvqv99ttv2O%2BNGzdO3d3dNQ8FAPAfoR0XxHayEdVJQ1jHQzr9ZzlOt4rF6crnDzI9DiKs4sDebrvt9MYbb%2Bjggw/e5nuvvvqqtt9%2Be18GAwAEg9COk%2BFii%2Bi2C0GdZMR1fAy%2BenjFZ9kiQSoO7MMPP1yLFi3SnDlzNG3aNEmS4zjq7OzUbbfdprlz5/o%2BJADAf4R2XA0NMoI7Pohp9CGs46agTOZJSRwejrFVHNhf%2BcpX9Nhjj%2BkTn/iEZs%2BeLcdx9IMf/ECvvPKK0um0FixYEMScAICAENpxxyp3NBHT2BZhHU%2Bp1Ety3VYVi5OVyx1mehxEXMWBPW3aNP33f/%2B3fvjDH%2BrRRx9VKpXSSy%2B9pLlz5%2BorX/mKJk%2BeHMScAICArVt3OJFtDaI7XMQ0xtbaOldS0fQYqELp6uHZ7MclZcwOg8irOLClvsi%2B9NJL/Z4FAGAYq9k2GykCCe/yEdKoXGvrXE2Z0iiJCwHHk6e6uickSb29JxieBXFQdmD39PTooYce0tq1azVlyhTNnz9fU6dODXI2AIAhhHaSEN7bIqRRu9J2NF3VchaiIpVaLdd9R543XtnsfNPjIAbKesm/%2B%2B67Ou200/Tmm2/K8zxJ0ve%2B9z0tXrx4xI/sAgDEH6GdZOVEZhwjnHhGsDjP2i79h4fPl9RgdhjEQlmBfe211%2Brdd9/Vl770Je277756/fXXtWjRIn3729/WfffdF/SMAADDCG0Mr9pY9SvMiWVEB2FtJ64ejkqVFdhPPPGEzj77bJ1zzjlbv7bLLrvoS1/6ktavX7/147oAAHYjtOEPwhj2IKzt5bprlUq9Ks9LK5s92vQ4iImyAnv9%2BvU66KCDBn3tIx/5iDzPI7ABIIEIbQBJR1jbr3R4eC53mDxviuFpEBdlBXahUFB9ff2gr40bN27r9wAAyURoA0gawjo5%2Bg8PP87wJIiTsq9ruHr1aqVSqa3/vxTWq1ev3ua2H/7wh30YDQAQF4Q2ANsR1sniOBuUTr8gScpmCWyUr%2BzAvvDCC4f9%2Bte//vWt/9vzPDmOoxdffLH2yQAAsUNoA7AJUZ1cmcxTkqRc7iAVizsYngZxUlZgX3HFFUHPAQCwCKENIM4Ia5TOv%2Bbq4ahUWYF94oknBj0HAMBChDaAuCCqUeI4nUqn/ySJw8NRubIPEQcAoFqENoCoIqwxVDr9rBynoHx%2BTxUKM02Pg5ghsAEAoSG0AUQBUY3R1NVx9XBUj8AGAISO0AZgAmGNsfUonX5WkpTNcv41KkdgAwCMIbQBBI2oRiUymefkOL0qFHZRPr%2BP6XEQQwQ2AMA4QhuAn4hqVKv/6uHHSXLMDoNYIrABAJFBaAOoFlGN2uW3BnY2e4LhWRBXBDYAIHIIbQDlIqzhl3T6L3KcLhWL05TLzTY9DmKKwAYARBahDWA4RDWCkMk8JUnKZo%2BVlDI7DGKLwAYARB6hDYCoRrCKymT4eC7UjsAGAMQGoQ0kC1GNsKRSL8t118vzJiibPcL0OIgxAhsAEDuENmA3whphy2SekSRls0dKGmd2GMQagQ0AiK2BO%2BHENhBvRDVMymSelST19n7c8CSIOwIbAGAFVrWB%2BCGqEQWOs16p1N/kec6WFWygegQ2AMAqhDYQbUQ1oiaTWS5JyucPlOdNMzwN4o7ABgBYidAGooOoRpSVDg/PZo8yPAlsQGADAKzGedqAGUQ14iGndLpvBZvAhh8IbABAYrS2ztWUKY2SlpoeBbASUY24SadfkONsVrH4PuXz%2B5keBxYgsAEAidPaOlf5fFESq9pArYhqxFk6XTo8/EhJrtlhYAUCGwCQaBxCDlSOqIYt%2Bj%2Bei8PD4Q8CGwCALbgwGjA6who2cZwNSqXWyPMc5XJHmB4HliCwAQAYglVtoB9RDVul0yskSYXCfvK8KYangS0IbAAARsGqNpKKsIbtMpmVkqRs9jDDk8AmBDYAAGVgVRtJQFQjSdLpP0uScjkCG/4hsAEAqBCxDZsQ1Ugix3lPrvu2PC%2BlXO4Q0%2BPAIgQ2AAA1ILYRR0Q1ki6T6Vu9zuf3l%2BdNMDwNbEJgAwDgE2Ib0XacWlu7t34GPJBk6XTf%2Bde5HP/YBH8R2AAABIDYRhSUnofptKspXCQZ2MLbegVxLnAGvxHYAAAEbOjhuAQ3gsTh38DoXPddue578ryMcrnZpseBZQhsAABCxuo2/EZUA%2BVLpV6WJBUK%2B0hqNDsMrENgAwBgEKvbqAZBDVQvlXpFkpTL7W94EtiIwAYAIEIIboyGsAZql06XAvtAw5PARgQ2AAARxuHkIKoBPxW2rmDn8wcYngU2IrABAIgJVreTg6gGguG6b8hxeuR5TSoUdjc9DixEYAMAEFMEt12IaiB4pcPD8/n9JKXMDgMrEdgAAFhiuEAjuqOLoAbC13%2BBMw4PRzAIbAAALMYqd7QQ1YBZnH%2BNoBHYAAAkCKvc4SGmgagpKJV6VRIf0YXgENgAACTcSCFIeFeGoAaizXXflePk5HnjVSz%2BnelxYCkCGwAADGu0YExyfBPSQDy57puSpEJhpiTX7DCwFoENAAAqNlZkxj3AiWjAPqlUKbD5eC4Eh8AGAAC%2BGxqo6bSrKVMa1drarXy%2BOOh7YcU40QwkWyr1liQpn9/N8CSwGYENAACMInwBhKH/EHECG8Hh5AMAAAAA1nPdNyRxiDiCRWADAAAAsJrjtMt12yVJ%2BfxMw9PAZgQ2AAAAAKu5bt/514XCzpIazQ4DqxHYAAAAAKzmuu9KkorFXQ1PAtsR2AAAAACs5robJUmFwg6GJ4HtCGwAAAAAVisFdrHYYngS2I7ABgAAAGA1190gSSoWtzc8CWxHYAMAAACwmuNwiDjCQWADAAAAsJrrrpckFYsENoJFYAMAAACwmCfHKR0iTmAjWAQ2AAAAAGs5ToccJy%2BJc7ARPAIbAAAAgLVK518Xi9tJqjM7DKxHYAMAAACwlut2SioFNhAsAhsAAACAxTZJkjxvouE5kAQENgAAAABrOQ6BjfAQ2AAAAACsRWAjTAQ2AAAAAGv1B/YEw5MgCQhsAAAAANZynM2SWMFGOAhsAAAAANZynG5JUrHICjaCR2ADAAAAsBbnYCNMBDYAAAAAa/UfIt5keBIkAYENAAAAwGIFSZLnZQzPgSRImx7gn/7pn/T0008P%2B70f/OAHOvbYY3XBBRfo3nvv3eb7ixcv1pw5c4IeEQAAAEBseVv%2B2zE6BZLBeGBfcskl6urqGvS1W2%2B9Vb/5zW/00Y9%2BdOvXdt55Z33/%2B98fdLsZM2aEMiMAAACAuCoFNgfvInjGA3vmzJnbfO1rX/uaDj30UE2dOnXr1%2Brr67XffvuFORoAAACAmHMcAhvhidyzbPny5XrzzTd1/PHHmx4FAAAAQOwVt/x35NIHForcs2zp0qUaP3685s%2BfP%2Bjra9as0axZs7TXXnvp05/%2BtB566CFDEwIAAACID1awER7jh4gPlM/n9eCDD2r%2B/PlqaGjY%2BvUPfehD2nvvvTVz5kx1dnZqyZIlOuecc3Tdddfp6KOPrulnplK80EwoPe48/uHjsTeLx98sHn9zeOzN4vE3h8c%2BXKnUthcyKx0i7roppdP8HhAsx/M8b%2BybhePRRx/VF77wBS1atEhz584d8XbFYlGf/exn1dXVpQceeCDECQEAAABEkedl5ThPDPOdcyWtkHSPpE%2BHOxQSJ1Ir2EuXLtXkyZP193//96PeznVdHXXUUbr66qvV09Oj%2Bvr6qn9mR8dmFQrFsW8IX6VSriZOHM/jbwCPvVk8/mbx%2BJvDY28Wj785PPbhmDhxvBzHU1fX5m2%2B19BQUColdXVllct1G5gONpgypbGs20UmsHt6erRs2TIdf/zxymTG/hB4vxbeC4Wi8nk2dqbw%2BJvDY28Wj79ZPP7m8NibxeNvDo99OAqFbRvB84pbvufwO0DgInMSwu9%2B9zt1d3eXdfXwYrGoX//619ptt91qWr0GAAAAYLf%2Bj%2Bna9vxswG%2BRWcG%2B//771dLSogMPPHDQ19966y1dcMEFOu6447TLLruovb1dS5Ys0cqVK3X99dcbmhYAAABAPPAxXQhPJAK7vb1djz/%2BuD73uc/JcQb/y1JjY6Oampr0ox/9SBs3blQmk9Fee%2B2lxYsX67DDDjM0MQAAAIB46FvB9jwCG8GLRGBPmjRJK1euHPZ7kydP1o033hjyRAAAAADswAo2wsOzDAAAAIDFSudgkz4IHs8yAAAAABZjBRvh4VkGAAAAwGKsYCM8PMsAAAAAWIwVbISHZxkAAAAAi5WuIp4yPAeSgMAGAAAAYC3HKa1gO6PeDvADgQ0AAADAYpyDjfDwLAMAAABgMc7BRnh4lgEAAACwGCvYCA/PMgAAAAAWYwUb4eFZBgAAAMBipauIkz4IHs8yAAAAABZjBRvh4VkGAAAAwGKcg43w8CwDAAAAYDFWsBEenmUAAAAArOU4rGAjPDzLAAAAAFistILtGJ0CyUBgAwAAALAYVxFHeHiWAQAAALAY52AjPDzLAAAAAFiMc7ARHp5lAAAAACzGCjbCw7MMAAAAgMUIbISHZxkAAAAAS3lynELf//LqDM%2BCJCCwAQAAAFgqP%2BB/Z4xNgeQgsAEAAABYqj%2BwWcFGGAhsAAAAAFZynIEr2AQ2gkdgAwAAALBUTpLkea6klNlRkAgENgAAAABLlVawWb1GOAhsAAAAAFZynNIKNoGNcBDYAAAAACxVWsHmCuIIB4ENAAAAwEqOk5UkeV694UmQFAQ2AAAAAEv1bPnvBqNTIDkIbAAAAABWcpy%2BwPa8RsOTICkIbAAAAABW6g9sVrARDgIbAAAAgJX6A7vJ8CRICgIbAAAAgKV6JbGCjfAQ2AAAAACsxCHiCBuBDQAAAMBKBDbCRmADAAAAsFTpEHGuIo5wENgAAAAArOS6myRJnjfR8CRICgIbAAAAgJUcp1uSVCxOMjwJkoLABgAAAGCpvsD2PAIb4SCwAQAAAFiptIJNYCMsBDYAAAAAKzlOlySpWJxseBIkBYENAAAAwEqlwGYFG2EhsAEAAABYyCOwEToCGwAAAICFeuU4BUlcRRzhIbABAAAAWKd/9TotqcHsMEgMAhsAAACAdRynQ5LkeVMlOWaHQWIQ2AAAAACs47p9gV0sbmd4EiQJgQ0AAADAOv0r2AQ2wkNgAwAAALBOKbCLxamGJ0GSENgAAAAArOM4nZI4RBzhIrABAAAAWMd1CWyEj8AGAAAAYJ3BVxEHwkFgAwAAALCO47RLYgUb4SKwAQAAAFin9DFdXEUcYSKwAQAAAFiHq4jDBAIbAAAAgHX6A5sVbISHwAYAAABgmR45To8kDhFHuAhsAAAAAFYpfQa252XkeRMMT4MkIbABAAAAWGXwBc4cs8MgUQhsAAAAAFbh/GuYQmADAAAAsErpM7A9jyuII1wENgAAAACrOE6XJFawET4CGwAAAIBVShc5KxanGJ4ESUNgAwAAALCK6/atYHOIOMJGYAMAAACwCivYMIXABgAAAGCV/s/BJrARLgIbAAAAgFVYwYYpBDYAAAAAq7CCDVMIbAAAAABWYQUbphDYAAAAACxSZAUbxhDYAAAAACyyWY5TlCQVi5MNz4KkIbABAAAAWMN1S6vX4yWNNzsMEofABgAAAGANzr%2BGSQQ2AAAAAGs4Tpckzr%2BGGQQ2AAAAAGtwgTOYRGADAAAAsEZpBZtDxGECgQ0AAADAGqxgwyQCGwAAAIA1WMGGSQQ2AAAAAGu4LoENcwhsAAAAANbov4r4JMOTIIkIbAAAAADWcJzNkiTPm2B4EiQRgQ0AAADAIgQ2zCGwAQAAAFjDcTZJkjzv/2/vzqObKvM/jn/SzZalVPYpP1G2VmprLYgFWQpFKBQYQEAZFRFqAWFEFB1AyuYgWh2ZAVRAqQiKHgYKasvmDByW4wjO0DIHcKq0ILtQli4gLV3y%2BwMTiCnQlsAtN%2B/XOZw0T25unnzzmPjJc%2B%2BT6gb3BO6IgA0AAADANCyWAkkEbBiDgA0AAADANDgHG0YiYAMAAAAwCaskDhGHcQjYAAAAAEyiWBZLiSTJaq1hcF/gjgjYAAAAAEzBdni4xAw2jEHABgAAAGAStgXOfCR5GdsVuCUCNgAAAABTsFiKJElWq5/BPYG7ImADAAAAMImLv17eYWgv4L4I2AAAAABMwWK5FLCtVgI2jEHABgAAAGASRb9eErBhDAI2AAAAAFO4fA62r8E9gbsiYAMAAAAwCc7BhrEI2AAAAABMgXOwYTQCNgAAAACTsB0iTsCGMQjYAAAAAEzBYin59S9vQ/sB90XABgAAAADABQjYAAAAAEzCYnQH4OYI2AAAAAAAuAABGwAAAAAAFyBgAwAAAADgAgRsAAAAAABcgIANAAAAAIALELABAAAAAHABAjYAAAAAAC5AwAYAAABgEtZfL/k9bBiDgA0AAAAAgAsQsAEAAAAAcAECNgAAAAAALkDABgAAAADABQjYAAAAAEyGRc5gDMMD9pAhQxQcHFzmvzVr1ti327Jli/r166ewsDB169ZNy5YtM7DXAAAAAAA48jK6A9OmTdO5c%2Bcc2pYsWaKvv/5a7dq1kySlp6dr9OjR6tu3ryZOnKi0tDTNnDlTPj4%2BGjRokBHdBgAAAADAgeEBu3nz5k5t48ePV/v27VW7dm1J0nvvvaeQkBDNmjVLktS2bVsdP35cc%2BbM0YABA%2BThYfhEPAAAAADAzVW5ZJqWlqYjR46oT58%2BkqSLFy9q%2B/bt6tWrl8N2ffr0UXZ2tr7//nsjugkAAAAAgIMqF7BTU1Pl5%2Benrl27SpIOHTqkoqIiNW3a1GE728x3VlbWLe8jAAAAgKrLamWRMxjD8EPEr1RcXKz169era9euqlatmiQpNzdXkuTv7%2B%2Bwre267fbK8vSsct8xuAVb3an/rUftjUX9jUX9jUPtjUX9jUPtby0PD%2BuvlxZ5eVFz3HpVKmB/8803On36tHr37u10m8VS9rdQV2svL39/vxu6P24M9TcOtTcW9TcW9TcOtTcW9TcOtb/5rFaLfH19JEne3p66887qBvcI7qhKBezU1FQFBASoQ4cO9rZatWpJcp6pzsvLk%2BQ8s11ReXkXVFJSekP7QMV5enrI39%2BP%2BhuA2huL%2BhuL%2BhuH2huL%2BhuH2t8a/v5%2BslisKiy8KF9fqaioROfOnTe6WzCR8n5hU2UCdkFBgTZu3Kg%2BffrI29vb3t64cWN5e3tr//796tSpk709MzNTktSsWbMbetySklIVF/NmZxTqbxxqbyzqbyzqbxxqbyzqbxxqf2uUltourdQbhqgyJyZs2rRJ58%2Bft68ebuPj46O2bdtq3bp1Du2pqamqV6%2BeQkJCbmU3AQAAAFR5LHIGY1SZgJ2SkqLAwEC1bt3a6bYxY8Zoz549SkhI0I4dOzR//nytWLFCL7zwAr%2BBDQAAAACoEqpEOs3NzdW2bdsUGxtb5qJlERERev/997V7927FxcUpOTlZCQkJGjRokAG9BQAAAFA1WY3uANxclTgHu1atWtqzZ881t4mKilJUVNQt6hEAAAAAABVTJWawAQAAAAC43RGwAQAAAJgMi5zBGARsAAAAAABcgIANAAAAwCRY5AzGImADAAAAAOACBGwAAAAAJsM52DAGARsAAAAAABcgYAMAAAAA4AIEbAAAAAAAXICADQAAAMAkWEUcxiJgAwAAAFJQQs8AABsCSURBVDAZFjmDMQjYAAAAAAC4AAEbAAAAAAAXIGADAAAAAOACBGwAAAAAJsEiZzAWARsAAACASZT%2BeulpaC/gvgjYAAAAAEyCgA1jEbABAAAAmILFUiJJslq9DO4J3BUBGwAAAIBJ2GawiTkwBiMPAAAAgElwiDiMRcAGAAAAYBK2gM0h4jAGARsAAACASVwK2FYrM9gwBgEbAAAAgCnYFjkj5sAojDwAAAAAJsE52DAWARsAAACASXAONoxFwAYAAABgEpyDDWMRsAEAAACYBIeIw1gEbAAAAACmYFvkzGol5sAYjDwAAAAAJsE52DAWARsAAACASXCIOIxFwAYAAABgChYLARvGImADAAAAMAlWEYexCNgAAAAATKLo10tvQ3sB90XABgAAAGAKFsulgG21%2BhrcE7grAjYAAAAAk7goSbJa/QzuB9wVARsAAACAKVgsF3/96w5D%2BwH3RcAGAAAAYBIcIg5jEbABAAAAmIJtBttqZQYbxiBgAwAAADCJwl8vmcGGMQjYAAAAAEzh8irizGDDGARsAAAAACZhO0ScGWwYg4ANAAAAwBQuryJOwIYxCNgAAAAATIJFzmAsAjYAAAAAk7AFbD%2BD%2BwF3RcAGAAAAYAJWWSzWX/9mBhvGIGADAAAAMBUWOYNRCNgAAAAATMB6xd8%2BhvUC7o2ADQAAAMAELgXsS7PXFmO7ArdFwAYAAABgAlcGbMAYBGwAAAAAJsACZzAeARsAAACACTCDDeMRsAEAAACYgC1gM4MN4xCwAQAAAJiA7RBxP0N7AfdGwAYAAABgGsxgw0gEbAAAAAAmYJvB5hxsGIeADQAAAMAEWOQMxiNgAwAAADABFjmD8QjYAAAAAEyAGWwYj4ANAAAA4LZnsdjOwWYGG8YhYAMAAAAwAQ4Rh/EI2AAAAABMhEPEYRwCNgAAAAATuDSDXVrqZ3A/4M4I2AAAAABMgHOwYTwCNgAAAAATYBVxGI%2BADQAAAMAEWOQMxiNgAwAAADAB2yHizGDDOARsAAAAACZgm8H2MbgfcGcEbAAAAAAmwAw2jEfABgAAAGAazGDDSARsAAAAACZgm8H2NrQXcG8EbAAAAACmwSriMBIBGwAAAIAJ2GawOUQcxiFgAwAAADAB2yriHCIO4xCwAQAAAJgIM9gwjpfRHTCav7%2Bf0V1wa9TfONTeWNTfWNTfONTeWNTfONT%2B5vLwsIjfwUZVYLFardbrbwYAAAAAAK6FQ8QBAAAAAHABAjYAAAAAAC5AwAYAAAAAwAUI2AAAAAAAuAABGwAAAAAAFyBgAwAAAADgAgRsAAAAAABcgIANAAAAAIALELABAAAAAHABAjYAAAAAAC5AwAYAAAAAwAUI2AAAAAAAuIDbBewDBw4oLi5ODzzwgNq1a6eZM2eqoKDA6G7d1tatW6fRo0crKipKDzzwgPr06aPPPvtMpaWl9m0mTpyo4OBgp39bt2512l9SUpKio6MVFhamAQMGaMeOHbfy6dx2Vq1aVWZt//KXvzhst2XLFvXr109hYWHq1q2bli1bVub%2BqH/FDBkypMz6BwcHa82aNZIY/65y8OBBTZ06VX379lVISIh69%2B5d5nauHOvnzp3T1KlTFRkZqYiICI0aNUpHjx516fO6HVyv9iUlJfrwww/11FNPqW3btmrTpo2efPJJffvtt077io6OLvO/h8LCQoftqP1l5Rn7rn6fof6Xlaf%2BV/scCA4O1smTJ%2B3bMf4B8/MyugO3Ul5enoYOHarAwEDNnTtXZ86c0RtvvKGcnBynMILyW7x4sQIDA/WnP/1JderU0Y4dO/T666/r8OHDmjBhgn27u%2B66y6nOzZo1c7ielJSkv/71r3rxxRcVEhKiFStWKD4%2BXitWrFBwcPAteT63q0WLFqlmzZr26w0aNLD/nZ6ertGjR6tv376aOHGi0tLSNHPmTPn4%2BGjQoEH27ah/xU2bNk3nzp1zaFuyZIm%2B/vprtWvXzt7G%2BL9x%2B/bt05YtWxQeHq7S0lJZrVanbVw91sePH6%2B9e/dqypQpqlGjhubOnathw4bpq6%2B%2Bkq%2Bv7y153lXB9WpfUFCghQsXql%2B/foqLi5OXl5dWr16tYcOGaf78%2BerSpYvD9jExMRo%2BfLhDm4%2BPj8N1an9Zeca%2B5Nr3Gep/WXnqv3z5cqe2CRMmyM/PT/Xr13doZ/wDJmd1IwsXLrSGh4dbT58%2BbW/76quvrEFBQdbMzEwDe3Z7u7KeNrNmzbKGhYVZCwsLrVar1TphwgRrr169rrmfwsJCa%2BvWra2JiYn2tuLiYmvPnj2t48aNc22nTSQ5OdkaFBRU5utgExcXZx04cKBDW0JCgrV9%2B/bWkpISq9VK/V0pOjraGh8fb7/O%2BHcN21i1Wq9eU1eO9V27dlmDgoKsmzdvtrcdPXrUGhISYv3ss89c9rxuB9erfXFxsTUnJ8ehrbS01Nq/f3/rU0895dDepUsX64wZM675eNTeUXnGvivfZ6i/o/LU/7cOHz5sDQoKsn744YcO7Yx/wPzc6hDxrVu3ql27dqpdu7a9LSYmRj4%2BPtqyZYuBPbu9XVlPm5YtW6qwsFA5OTnl3k9aWpry8/MdDr3y9PRUbGystmzZctVv7HFtFy9e1Pbt29WrVy%2BH9j59%2Big7O1vff/%2B9JOrvKmlpaTpy5Ij69OlT4ftR/2vz8Lj2R5arx/qWLVvk7%2B%2BvTp062bcLDAxUq1at3O4z43q19/T0VK1atRzaLBaL7r33XofDY8uL2ju6Xv3Li7FfOZWpf2pqqiwWy1VPZbkW6g/c3twqYGdlZTkdKuXj46PGjRsrKyvLoF6Z086dOxUQEKA6derY2w4dOqQHH3xQoaGhevTRR/XPf/7T4T6216Bp06YO7c2aNdP58%2Bd14sSJm9/x21jv3r3VsmVLde3aVQsXLlRJSYmkS3UvKipyqmvz5s0lXa479XeN1NRU%2Bfn5qWvXrg7tjP%2Bbz9VjPSsrS02aNJHFYnHaH58Z11daWqr09HSnz11JSklJUWhoqCIiIhQfH68ffvjB4XZqXzmuep%2Bh/jduzZo1atOmjRo2bOh0G%2BMfMDe3Owfb39/fqd3f31%2B5ubkG9Micdu/erVWrVmnMmDHy9PSUdGlGOywsTM2bN1d%2Bfr4%2B//xzjRkzRnPmzFGPHj0kXXp9fHx8nM4tss2K5OTklPlB5e7q1aun559/XuHh4bJYLNq0aZP%2B9re/6cSJE5o6dap9bP927Nuu226n/jeuuLhY69evV9euXVWtWjV7O%2BP/1nD1WM/Ly3NY1%2BDK/fGZcX2ffPKJDhw4oNdee82hPTo6Wvfff78CAwN1%2BPBhLViwQE888YS%2B%2BOIL3XXXXZJE7SvBle8z1P/GZGRk6Mcff3Qa%2BxLjH3AHbhWwr8ZqtTp9S4jKyc7O1tixYxUWFqb4%2BHh7%2B9ChQx22i46O1uDBgzV37lz7B7%2BkMl8H2yFrvEZl69ixozp27Gi/3qFDB91xxx1asmSJRo0aZW%2B/Wv2ubKf%2BN%2Babb77R6dOnnQ4JZPzfWq4c6%2BXZF5x99913evvttzV8%2BHC1adPG4baEhAT73w8%2B%2BKDat2%2Bvnj17KikpSdOnT7ffRu0rxtXvM9S/8lJSUuTt7a2YmBin2xj/gPm51SHi/v7%2BysvLc2rPz88vc2YbFZOfn6/4%2BHj5%2Bvpq/vz58vb2vuq2Hh4e6t69u7Kysuw/k%2Bbv76/CwkKnn6qwvWa/Pb8PV9ezZ0%2BVlJTof//7n71uv/3W21ZX29in/jcuNTVVAQEB6tChwzW3Y/zfHK4e61f7zLja0VC4JCMjQ6NHj9YjjzyiV1555brb169fX61bt9bevXvtbdT%2Bxt3I%2Bwz1rzyr1aq1a9eqY8eOCggIuO72jH/AfNwqYDdr1szp3JWLFy/q0KFDZZ4jhvIrLCzUc889p1OnTmnRokW68847r3uf3y7aZHsNfvsaZWVlqXr16g4/O4Xya9y4sby9vbV//36H9szMTEmX6079b0xBQYE2btyoHj16XPPLJRvGv%2Bu5eqw3a9ZMBw4ccHqtMjMz%2Bcy4ikOHDunZZ59VSEiI3nrrrXLPtpX13wO1v3GVfZ%2Bh/pW3c%2BdOHTt2rEILXTL%2BAXNxq4DdqVMnbd%2B%2BXWfPnrW3/eMf/9DFixcVFRVlYM9ub8XFxXrhhReUkZGhRYsWqVGjRte9T2lpqTZs2KAWLVrYzwVr1aqVatasqbVr19q3Kykp0bp16xQVFcVhURWwdu1aeXp6KiQkRD4%2BPmrbtq3WrVvnsE1qaqrq1aunkJAQSdT/Rm3atEnnz58v1/9UMf5vDleP9aioKOXl5Wnbtm327Y4fP660tDQ%2BM8qQnZ2t4cOHq27dunr//fedftf3ak6cOKG0tDSFhYXZ26j9jbuR9xnqX3kpKSmqVq2a02%2B/Xw3jHzAfz%2BlXnvBhci1atFBycrK2bdumBg0aKD09XbNmzVK3bt00ePBgo7t325o%2BfbpSU1P1wgsvqH79%2Bvr555/t/2rUqKHs7GyNGTNGRUVFys/P1969ezVz5kylp6drxowZ9m9jPT095enpqQULFsjX11eFhYWaM2eO0tPT9dZbb6lu3boGP9OqKS4uTidPntS5c%2Bd08OBBffTRR1q2bJmGDBliP%2B/urrvu0oIFC3T8%2BHFVr15dKSkpWrx4sSZNmqTQ0FBJ1P9GzZ49W4WFhZo0aZJDGD569Cjj30UuXLigjRs3KjMzU998841OnTqlhg0bKjMzU7Vr15afn59Lx3rDhg21Z88eLV%2B%2BXA0aNNDx48c1depU%2Bfr66rXXXpOXl/ssY3K92lssFj399NP6%2BeeflZCQoIKCAofPAtsCfampqfrggw9UUFCgs2fP6ttvv9XkyZN18eJFvfHGG/ZDlKm9o%2BvV/8yZMy59n6H%2Bjsrz3iNdmnCYPHmyunTpotjYWKf9MP4B92CxutmPqx44cEAzZ87Uzp075evrq969e%2Bvll192WlET5RcdHa2jR4%2BWedvSpUsVHBysSZMmae/evTpz5oy8vb0VGhqqESNGOCzOJV06TCopKUnLli3TqVOnFBQUpFdeeUVt27a9FU/ltjRz5kxt27ZNP//8s0pLS3XPPfdo0KBBGjJkiEPQ27Jli2bPnq2srCw1bNhQw4YN05NPPumwL%2BpfObm5uWrfvr2GDh3qdM5pTk4O499Fjhw54vTzZzZLly5VZGSkJNeO9XPnzikxMVEbNmxQUVGRIiMjNWXKlHIdqWMm16t9o0aNrnq7JPvPEO3atUvvvPOO9u3bp/z8fNWsWVNt27bV2LFjnX46itpfdr3634zPWep/WXnfezZv3qyRI0fqgw8%2BKHOmmfEPuAe3C9gAAAAAANwMbnUONgAAAAAANwsBGwAAAAAAFyBgAwAAAADgAgRsAAAAAABcgIANAAAAAIALELABAAAAAHABAjYAAAAAAC5AwAYAAAAAwAUI2ABwG1m6dKmCg4PVu3fvq24THBysefPm2a/v2LFDwcHB2rFjx63oYqWtWrVKwcHBOnLkiNFdua7y1rSqPae0tDTNmzdPeXl5TrdFR0dr5MiRBvQKAADzIGADwG0kOTlZkrRv3z7997//Ldd97rvvPi1fvlz33XffzewabgPp6el69913ywzYAADgxhGwAeA2sXv3bmVkZKhz586SpJUrV5brfjVq1NADDzygGjVq3MTeGevChQtGdwEAAICADQC3C1ugHj9%2BvCIiIrRmzZpyBcurHc7897//XTExMQoNDVVsbKxSUlI0ceJERUdH27c5cuSIgoODlZSUpMWLFys6OloRERF6/PHHtWvXLqfH2r17t0aNGqWHHnpIYWFh6tevn9auXeu03a5duzR48GCFhYWpQ4cOeuedd1RcXFyuOkycOFERERH64YcfNHz4cEVEROiZZ56x3/6vf/1LQ4cOVatWrRQeHq7Bgwfr22%2B/ddjHwYMHNWnSJHXv3l3h4eHq2LGjRo0apR9%2B%2BMHp8bKyshQXF6fw8HBFRkZq6tSpOn/%2BfLn6ejXl6eO8efMUHBysffv26aWXXlLr1q318MMPa9KkScrPz3fYNi8vT6%2B%2B%2BqoeeughRUREaMSIETp8%2BLDD6QLz5s3TW2%2B9JUnq2rWrgoODyxwXW7duVf/%2B/XX//ferR48e5f4iBwAASF5GdwAAcH0FBQVas2aNwsLCFBQUpAEDBighIUHr169X//79K7y/5cuXa%2BrUqYqJibEHtnfffVdFRUVlbr9s2TI1bdpUr776qiRpzpw5GjFihDZu3KiaNWtKkrZv365nn31W4eHhmj59umrWrKm1a9fqxRdfVEFBgR599FFJUmZmpp555hk1atRIb775pnx9ffXZZ58pNTW13P0vKirSc889p8GDBys%2BPl4lJSWSpC%2B//FITJkxQ165dlZiYKC8vLy1fvlxxcXFKSkpSu3btJEknT55UQECAxo8fr9q1ays3N1erV6/WY489ptWrV6tp06aSpFOnTmnIkCHy8vLStGnTVKdOHaWkpOjPf/5zhWtuU94%2B2jz//POKjY3VwIED9eOPP%2Bqdd96RJL3xxhuSpNLSUo0aNUp79uzRH//4R913331KT0/Xs88%2B67CfQYMGKTc3V5988oneffdd1atXT5LUvHlz%2BzYZGRlKTExUfHy86tatqxUrVmjy5Mm6%2B%2B671aZNm0o/ZwAA3AUBGwBuA%2BvXr1d%2Bfr4GDhwoSYqNjdWsWbO0cuXKCgfs0tJSzZs3T%2BHh4Zo7d669vXXr1urevbvq16/vdJ/q1atr4cKF8vT0lCTVr19fgwYN0tatW9WrVy9J0owZM9SiRQstWbJEXl6XPl46duyos2fPavbs2erXr588PDz03nvvyWq1asmSJapbt64kqXPnztdcuO23ioqKNGbMGA0YMMDeduHCBc2aNUudO3fWe%2B%2B9Z2%2BPiopS//79NXv2bK1YsUKS1KZNG4fAWFJSoqioKPXu3VvLly/XpEmTJEkff/yxzpw5oy%2B%2B%2BEL33nuvfX/Dhw/XsWPHyt3fyvTRZuDAgfaw/PDDD%2BvgwYNKTk7WrFmzZLFYtG3bNu3cuVPTp0/XH/7wB0lS%2B/bt5ePjYw/jktSwYUP97ne/kyS1bNlS//d//%2BfUv7Nnz%2Brzzz9XYGCgvU7bt29XSkoKARsAgHLgEHEAuA0kJyfL19fXHmarV6%2BuHj166D//%2BY9%2B%2BumnCu3rwIEDys7OVs%2BePR3aAwMDFRERUeZ9OnfubA/Xkuxh8%2BjRo5IuHXK9f/9%2B9enTR5JUXFxs/9epUydlZ2frwIEDki4dst6uXTt7uJYkT09PxcbGVuh5xMTEOFxPT09XTk6O%2Bvfv7/D4paWl6tixo3bv3q1ffvnF3r8FCxYoNjZWoaGhCgkJUWhoqH766SdlZWXZ97ljxw61aNHC/nxtKvJlQGX7aHPlIfvSpVXiCwsLdfr0aUnSd999J0lOr6dtrFREy5Yt7eFaku644w7dc889lfoyAQAAd8QMNgBUcQcPHtS///1vde/eXVar1b4CdI8ePbRq1SolJydr/Pjx5d7f2bNnJUl16tRxuq1u3br20HylgIAAh%2Bs%2BPj6SpMLCQkmXDqWWpMTERCUmJl7zcXNychzC9ZWPXV5%2Bfn5Oi7bZ%2BjB27Nir3i83N1fVqlXTm2%2B%2BqWXLlik%2BPl5t2rRRrVq1ZLFYlJCQYH9Otr6WNdNbkb5Wto82V6t9QUGBvY9eXl5O21Wmj7/dh%2B3xrqwJAAC4OgI2AFRxycnJslqt2rBhgzZs2OB0%2B%2BrVqzVu3DiHGeZrufPOOyXJPgN6JVsArCjbPkeOHKlu3bqVuU2TJk0kXQpxZT1ORR7bYrFctQ9TpkxReHh4mfezfanw1VdfqV%2B/fnrppZccbj979qz8/f3t113R18r2sbwCAgJUXFysnJwch4CcnZ1dqT4CAIDKI2ADQBVWUlKi1atXq3Hjxpo5c6bT7Zs3b9ZHH32krVu3qkuXLuXaZ5MmTVSvXj2tW7dOw4YNs7cfO3ZM6enpZZ6DfT1NmzbVPffco4yMDKfQ%2BluRkZHatGmTTp06ZZ9lLSkpKXO18Ypo1aqV/P39lZmZqaeeeuqa21osFnl7ezu0bd68WSdOnNDdd9/t0NdFixYpIyPD4TDxiizIVtk%2BltdDDz2kRYsWae3atXriiSfs7WXV87dHHgAAANciYANAFbZ161adPHlSL7/8siIjI51ub9GihT799FOtXLmy3AHbw8NDzz//vKZOnaqxY8dqwIABysvLs68sXdbscHnMmDFD8fHxiouLU//%2B/dWgQQPl5uYqKytLe/futS%2Bo9txzz2nTpk0aOnSoxowZI19fXy1btuyGf8u6evXqSkhI0MSJE5Wbm6uYmBjVqVNHZ86cUUZGhs6cOaMZM2ZIunROuW218ODgYO3du1dJSUlq2LChwz6HDh2q5ORkjRgxQuPGjbOvIr5///6b3sfy6tixo1q1aqXExESdO3dOoaGhSk9P15dffinJcbY/KChIkrRkyRL1799fXl5eatKkial/Ix0AgFuJgA0AVdjKlSvl7e3tsFr2lWrXrq1u3bppw4YNDjPC1/P444/LYrFo0aJFGjNmjBo1amT/2a3jx49Xqq9t27bVihUrtGDBAs2aNUt5eXkKCAhQs2bNHBbgCgoK0uLFi5WYmKgJEyaoVq1a%2Bv3vf6%2BYmBhNmTKlUo9t07dvXwUGBmrRokWaNm2azp8/r9q1a6tly5YOq61PnjxZXl5e%2BuCDD/TLL78oJCRE8%2BbN05w5cxz2V69ePX366ad6/fXXNX36dPn5%2BemRRx7RlClTNHr06Jvax/Ly8PDQggUL9Oabb%2BrDDz9UUVGRWrVqpbfffluPPfaYwyHvkZGRGjlypFavXq0VK1aotLRUS5cuLfPLGwAAUHEWq9VqNboTAADj5eXlKSYmRo888sgN/c4zqoaUlBS9/PLL%2Bvzzz9WqVSujuwMAgFtgBhsA3FB2drYWLFigyMhIBQQE6NixY/r44491/vx5Pf3000Z3DxWUmpqqEydOKCgoSB4eHtq1a5eSkpLUpk0bwjUAALcQARsA3JCPj4%2BOHj2qGTNmKDc3V76%2BvgoPD9eMGTPUokULo7uHCqpevbrWrFmj%2BfPn68KFC6pXr54effRRjRs3zuiuAQDgVjhEHAAAAAAAF/AwugMAAAAAAJgBARsAAAAAABcgYAMAAAAA4AIEbAAAAAAAXICADQAAAACACxCwAQAAAABwAQI2AAAAAAAuQMAGAAAAAMAFCNgAAAAAALjA/wPlFFn4gONjAgAAAABJRU5ErkJggg%3D%3D">
+
+<br>
+<br>
+<br>
+<br>
+
+<h3 id="Dynamic_histogram_of_percent_identity">Dynamic histogram of percent identity</h3>
+<div>
+        
+                <script type="text/javascript">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>
+        <script type="text/javascript">/**
+* plotly.js v1.51.2
+* Copyright 2012-2019, Plotly, Inc.
+* All rights reserved.
+* Licensed under the MIT license
+*/
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).Plotly=t()}}(function(){return function(){return function t(e,r,n){function a(o,s){if(!r[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(i)return i(o,!0);var c=new Error("Cannot find module '"+o+"'");throw c.code="MODULE_NOT_FOUND",c}var u=r[o]={exports:{}};e[o][0].call(u.exports,function(t){return a(e[o][1][t]||t)},u,u.exports,t,e,r,n)}return r[o].exports}for(var i="function"==typeof require&&require,o=0;o<n.length;o++)a(n[o]);return a}}()({1:[function(t,e,r){"use strict";var n=t("../src/lib"),a={"X,X div":"direction:ltr;font-family:'Open Sans', verdana, arial, sans-serif;margin:0;padding:0;","X input,X button":"font-family:'Open Sans', verdana, arial, sans-serif;","X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color 0.3s ease 0s;-moz-transition:background-color 0.3s ease 0s;-ms-transition:background-color 0.3s ease 0s;-o-transition:background-color 0.3s ease 0s;transition:background-color 0.3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity 0.3s ease 0s;-moz-transition:opacity 0.3s ease 0s;-ms-transition:opacity 0.3s ease 0s;-o-transition:opacity 0.3s ease 0s;transition:opacity 0.3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":"content:'';position:absolute;background:transparent;border:6px solid transparent;z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;","X [data-title]:after":"content:attr(data-title);background:#69738a;color:white;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid transparent;border-left-color:#69738a;margin-top:8px;margin-right:-30px;","X .select-outline":"fill:none;stroke-width:1;shape-rendering:crispEdges;","X .select-outline-1":"stroke:white;","X .select-outline-2":"stroke:black;stroke-dasharray:2px 2px;",Y:"font-family:'Open Sans';position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;","Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,0.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:0.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var i in a){var o=i.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,a[i])}},{"../src/lib":716}],2:[function(t,e,r){"use strict";e.exports=t("../src/transforms/aggregate")},{"../src/transforms/aggregate":1294}],3:[function(t,e,r){"use strict";e.exports=t("../src/traces/bar")},{"../src/traces/bar":863}],4:[function(t,e,r){"use strict";e.exports=t("../src/traces/barpolar")},{"../src/traces/barpolar":875}],5:[function(t,e,r){"use strict";e.exports=t("../src/traces/box")},{"../src/traces/box":885}],6:[function(t,e,r){"use strict";e.exports=t("../src/components/calendars")},{"../src/components/calendars":589}],7:[function(t,e,r){"use strict";e.exports=t("../src/traces/candlestick")},{"../src/traces/candlestick":894}],8:[function(t,e,r){"use strict";e.exports=t("../src/traces/carpet")},{"../src/traces/carpet":913}],9:[function(t,e,r){"use strict";e.exports=t("../src/traces/choropleth")},{"../src/traces/choropleth":927}],10:[function(t,e,r){"use strict";e.exports=t("../src/traces/choroplethmapbox")},{"../src/traces/choroplethmapbox":934}],11:[function(t,e,r){"use strict";e.exports=t("../src/traces/cone")},{"../src/traces/cone":940}],12:[function(t,e,r){"use strict";e.exports=t("../src/traces/contour")},{"../src/traces/contour":955}],13:[function(t,e,r){"use strict";e.exports=t("../src/traces/contourcarpet")},{"../src/traces/contourcarpet":966}],14:[function(t,e,r){"use strict";e.exports=t("../src/core")},{"../src/core":694}],15:[function(t,e,r){"use strict";e.exports=t("../src/traces/densitymapbox")},{"../src/traces/densitymapbox":974}],16:[function(t,e,r){"use strict";e.exports=t("../src/transforms/filter")},{"../src/transforms/filter":1295}],17:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnel")},{"../src/traces/funnel":984}],18:[function(t,e,r){"use strict";e.exports=t("../src/traces/funnelarea")},{"../src/traces/funnelarea":993}],19:[function(t,e,r){"use strict";e.exports=t("../src/transforms/groupby")},{"../src/transforms/groupby":1296}],20:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmap")},{"../src/traces/heatmap":1006}],21:[function(t,e,r){"use strict";e.exports=t("../src/traces/heatmapgl")},{"../src/traces/heatmapgl":1015}],22:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram")},{"../src/traces/histogram":1027}],23:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2d")},{"../src/traces/histogram2d":1033}],24:[function(t,e,r){"use strict";e.exports=t("../src/traces/histogram2dcontour")},{"../src/traces/histogram2dcontour":1037}],25:[function(t,e,r){"use strict";e.exports=t("../src/traces/image")},{"../src/traces/image":1044}],26:[function(t,e,r){"use strict";var n=t("./core");n.register([t("./bar"),t("./box"),t("./heatmap"),t("./histogram"),t("./histogram2d"),t("./histogram2dcontour"),t("./contour"),t("./scatterternary"),t("./violin"),t("./funnel"),t("./waterfall"),t("./image"),t("./pie"),t("./sunburst"),t("./treemap"),t("./funnelarea"),t("./scatter3d"),t("./surface"),t("./isosurface"),t("./volume"),t("./mesh3d"),t("./cone"),t("./streamtube"),t("./scattergeo"),t("./choropleth"),t("./scattergl"),t("./splom"),t("./pointcloud"),t("./heatmapgl"),t("./parcoords"),t("./parcats"),t("./scattermapbox"),t("./choroplethmapbox"),t("./densitymapbox"),t("./sankey"),t("./indicator"),t("./table"),t("./carpet"),t("./scattercarpet"),t("./contourcarpet"),t("./ohlc"),t("./candlestick"),t("./scatterpolar"),t("./scatterpolargl"),t("./barpolar")]),n.register([t("./aggregate"),t("./filter"),t("./groupby"),t("./sort")]),n.register([t("./calendars")]),e.exports=n},{"./aggregate":2,"./bar":3,"./barpolar":4,"./box":5,"./calendars":6,"./candlestick":7,"./carpet":8,"./choropleth":9,"./choroplethmapbox":10,"./cone":11,"./contour":12,"./contourcarpet":13,"./core":14,"./densitymapbox":15,"./filter":16,"./funnel":17,"./funnelarea":18,"./groupby":19,"./heatmap":20,"./heatmapgl":21,"./histogram":22,"./histogram2d":23,"./histogram2dcontour":24,"./image":25,"./indicator":27,"./isosurface":28,"./mesh3d":29,"./ohlc":30,"./parcats":31,"./parcoords":32,"./pie":33,"./pointcloud":34,"./sankey":35,"./scatter3d":36,"./scattercarpet":37,"./scattergeo":38,"./scattergl":39,"./scattermapbox":40,"./scatterpolar":41,"./scatterpolargl":42,"./scatterternary":43,"./sort":44,"./splom":45,"./streamtube":46,"./sunburst":47,"./surface":48,"./table":49,"./treemap":50,"./violin":51,"./volume":52,"./waterfall":53}],27:[function(t,e,r){"use strict";e.exports=t("../src/traces/indicator")},{"../src/traces/indicator":1052}],28:[function(t,e,r){"use strict";e.exports=t("../src/traces/isosurface")},{"../src/traces/isosurface":1058}],29:[function(t,e,r){"use strict";e.exports=t("../src/traces/mesh3d")},{"../src/traces/mesh3d":1063}],30:[function(t,e,r){"use strict";e.exports=t("../src/traces/ohlc")},{"../src/traces/ohlc":1068}],31:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcats")},{"../src/traces/parcats":1077}],32:[function(t,e,r){"use strict";e.exports=t("../src/traces/parcoords")},{"../src/traces/parcoords":1087}],33:[function(t,e,r){"use strict";e.exports=t("../src/traces/pie")},{"../src/traces/pie":1098}],34:[function(t,e,r){"use strict";e.exports=t("../src/traces/pointcloud")},{"../src/traces/pointcloud":1107}],35:[function(t,e,r){"use strict";e.exports=t("../src/traces/sankey")},{"../src/traces/sankey":1113}],36:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatter3d")},{"../src/traces/scatter3d":1150}],37:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattercarpet")},{"../src/traces/scattercarpet":1157}],38:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergeo")},{"../src/traces/scattergeo":1165}],39:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattergl")},{"../src/traces/scattergl":1177}],40:[function(t,e,r){"use strict";e.exports=t("../src/traces/scattermapbox")},{"../src/traces/scattermapbox":1187}],41:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolar")},{"../src/traces/scatterpolar":1195}],42:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterpolargl")},{"../src/traces/scatterpolargl":1202}],43:[function(t,e,r){"use strict";e.exports=t("../src/traces/scatterternary")},{"../src/traces/scatterternary":1210}],44:[function(t,e,r){"use strict";e.exports=t("../src/transforms/sort")},{"../src/transforms/sort":1298}],45:[function(t,e,r){"use strict";e.exports=t("../src/traces/splom")},{"../src/traces/splom":1219}],46:[function(t,e,r){"use strict";e.exports=t("../src/traces/streamtube")},{"../src/traces/streamtube":1227}],47:[function(t,e,r){"use strict";e.exports=t("../src/traces/sunburst")},{"../src/traces/sunburst":1235}],48:[function(t,e,r){"use strict";e.exports=t("../src/traces/surface")},{"../src/traces/surface":1244}],49:[function(t,e,r){"use strict";e.exports=t("../src/traces/table")},{"../src/traces/table":1252}],50:[function(t,e,r){"use strict";e.exports=t("../src/traces/treemap")},{"../src/traces/treemap":1261}],51:[function(t,e,r){"use strict";e.exports=t("../src/traces/violin")},{"../src/traces/violin":1273}],52:[function(t,e,r){"use strict";e.exports=t("../src/traces/volume")},{"../src/traces/volume":1281}],53:[function(t,e,r){"use strict";e.exports=t("../src/traces/waterfall")},{"../src/traces/waterfall":1289}],54:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),h=a(),f=i();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=t("turntable-camera-controller"),a=t("orbit-camera-controller"),i=t("matrix-camera-controller");function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map(function(e){return t[e]}),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;[["flush",1],["idle",1],["lookAt",4],["rotate",4],["pan",4],["translate",4],["setMatrix",2],["setDistanceLimits",2],["setDistance",2]].forEach(function(t){for(var e=t[0],r=[],n=0;n<t[1];++n)r.push("a"+n);var a="var cc=this._controllerList;for(var i=0;i<cc.length;++i){cc[i]."+t[0]+"("+r.join()+")}";s[e]=Function.apply(null,r.concat(a))}),s.recalcMatrix=function(t){this._active.recalcMatrix(t)},s.getDistance=function(t){return this._active.getDistance(t)},s.getDistanceLimits=function(t){return this._active.getDistanceLimits(t)},s.lastT=function(){return this._active.lastT()},s.setMode=function(t){if(t!==this._mode){var e=this._controllerNames.indexOf(t);if(!(e<0)){var r=this._active,n=this._controllerList[e],a=Math.max(r.lastT(),n.lastT());r.recalcMatrix(a),n.setMatrix(a,r.computedMatrix),this._active=n,this._mode=t,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}}},s.getMode=function(){return this._mode}},{"matrix-camera-controller":434,"orbit-camera-controller":457,"turntable-camera-controller":540}],55:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){"use strict";function i(t){return t.target.depth}function o(t,e){return t.sourceLinks.length?t.depth:e-1}function s(t){return function(){return t}}a=a&&a.hasOwnProperty("default")?a.default:a;var l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function c(t,e){return h(t.source,e.source)||t.index-e.index}function u(t,e){return h(t.target,e.target)||t.index-e.index}function h(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function f(t){return t.value}function p(t){return(t.y0+t.y1)/2}function d(t){return p(t.source)}function g(t){return p(t.target)}function v(t){return t.index}function m(t){return t.nodes}function y(t){return t.links}function x(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function b(t,e){return e(t)}var _=25,w=10,k=.3;function T(t,e){var r=0,n=0;t.links.forEach(function(a){a.circular&&(a.source.circularLinkType||a.target.circularLinkType?a.circularLinkType=a.source.circularLinkType?a.source.circularLinkType:a.target.circularLinkType:a.circularLinkType=r<n?"top":"bottom","top"==a.circularLinkType?r+=1:n+=1,t.nodes.forEach(function(t){b(t,e)!=b(a.source,e)&&b(t,e)!=b(a.target,e)||(t.circularLinkType=a.circularLinkType)}))}),t.links.forEach(function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),Y(t,e)&&(t.circularLinkType=t.source.circularLinkType))})}function A(t){var e=Math.abs(t.y1-t.y0),r=Math.abs(t.target.x0-t.source.x1);return Math.atan(r/e)}function M(t,e){var r=0;t.sourceLinks.forEach(function(t){r=t.circular&&!Y(t,e)?r+1:r});var n=0;return t.targetLinks.forEach(function(t){n=t.circular&&!Y(t,e)?n+1:n}),r+n}function S(t){var e=t.source.sourceLinks,r=0;e.forEach(function(t){r=t.circular?r+1:r});var n=t.target.targetLinks,a=0;return n.forEach(function(t){a=t.circular?a+1:a}),!(r>1||a>1)}function E(t,e,r){return t.sort(C),t.forEach(function(n,a){var i,o,s=0;if(Y(n,r)&&S(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;l<a;l++)if(i=t[a],o=t[l],!(i.source.column<o.target.column||i.target.column>o.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}}),t}function L(t,r,a,i){var o=e.min(t.links,function(t){return t.source.y0});t.links.forEach(function(t){t.circular&&(t.circularPathData={})}),E(t.links.filter(function(t){return"top"==t.circularLinkType}),r,i),E(t.links.filter(function(t){return"bottom"==t.circularLinkType}),r,i),t.links.forEach(function(e){if(e.circular){if(e.circularPathData.arcRadius=e.width+w,e.circularPathData.leftNodeBuffer=5,e.circularPathData.rightNodeBuffer=5,e.circularPathData.sourceWidth=e.source.x1-e.source.x0,e.circularPathData.sourceX=e.source.x0+e.circularPathData.sourceWidth,e.circularPathData.targetX=e.target.x0,e.circularPathData.sourceY=e.y0,e.circularPathData.targetY=e.y1,Y(e,i)&&S(e))e.circularPathData.leftSmallArcRadius=w+e.width/2,e.circularPathData.leftLargeArcRadius=w+e.width/2,e.circularPathData.rightSmallArcRadius=w+e.width/2,e.circularPathData.rightLargeArcRadius=w+e.width/2,"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=e.source.y1+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=e.source.y0-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius);else{var s=e.source.column,l=e.circularLinkType,c=t.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});"bottom"==e.circularLinkType?c.sort(O):c.sort(P);var u=0;c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.leftSmallArcRadius=w+e.width/2+u,e.circularPathData.leftLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),s=e.target.column,c=t.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l}),"bottom"==e.circularLinkType?c.sort(I):c.sort(z),u=0,c.forEach(function(t,n){t.circularLinkID==e.circularLinkID&&(e.circularPathData.rightSmallArcRadius=w+e.width/2+u,e.circularPathData.rightLargeArcRadius=w+e.width/2+n*r+u),u+=t.width}),"bottom"==e.circularLinkType?(e.circularPathData.verticalFullExtent=Math.max(a,e.source.y1,e.target.y1)+_+e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent-e.circularPathData.rightLargeArcRadius):(e.circularPathData.verticalFullExtent=o-_-e.circularPathData.verticalBuffer,e.circularPathData.verticalLeftInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.leftLargeArcRadius,e.circularPathData.verticalRightInnerExtent=e.circularPathData.verticalFullExtent+e.circularPathData.rightLargeArcRadius)}e.circularPathData.leftInnerExtent=e.circularPathData.sourceX+e.circularPathData.leftNodeBuffer,e.circularPathData.rightInnerExtent=e.circularPathData.targetX-e.circularPathData.rightNodeBuffer,e.circularPathData.leftFullExtent=e.circularPathData.sourceX+e.circularPathData.leftLargeArcRadius+e.circularPathData.leftNodeBuffer,e.circularPathData.rightFullExtent=e.circularPathData.targetX-e.circularPathData.rightLargeArcRadius-e.circularPathData.rightNodeBuffer}if(e.circular)e.path=function(t){var e="";e="top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY;return e}(e);else{var h=n.linkHorizontal().source(function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]}).target(function(t){return[t.target.x0,t.y1]});e.path=h(e)}})}function C(t,e){return D(t)==D(e)?"bottom"==t.circularLinkType?O(t,e):P(t,e):D(e)-D(t)}function P(t,e){return t.y0-e.y0}function O(t,e){return e.y0-t.y0}function z(t,e){return t.y1-e.y1}function I(t,e){return e.y1-t.y1}function D(t){return t.target.column-t.source.column}function R(t){return t.target.x0-t.source.x1}function F(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1+n:t.y1-n}function B(t,e){var r=A(t),n=R(e)/Math.tan(r);return"up"==G(t)?t.y1-n:t.y1+n}function N(t,e,r,n){t.links.forEach(function(a){if(!a.circular&&a.target.column-a.source.column>1){var i=a.source.column+1,o=a.target.column-1,s=1,l=o-i+1;for(s=1;i<=o;i++,s++)t.nodes.forEach(function(o){if(o.column==i){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),g=h*a.y0+f*a.y0+p*a.y1+d*a.y1,v=g-a.width/2,m=g+a.width/2;v>o.y0&&v<o.y1?(c=o.y1-v+10,c="bottom"==o.circularLinkType?c:-c,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&j(o,t)&&V(t,c,e,r)})):m>o.y0&&m<o.y1?(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)})):v<o.y0&&m>o.y1&&(c=m-o.y0+10,o=V(o,c,e,r),t.nodes.forEach(function(t){b(t,n)!=b(o,n)&&t.column==o.column&&t.y0<o.y1&&t.y1>o.y1&&V(t,c,e,r)}))}})}})}function j(t,e){return t.y0>e.y0&&t.y0<e.y1||(t.y1>e.y0&&t.y1<e.y1||t.y0<e.y0&&t.y1>e.y1)}function V(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach(function(t){t.y1=t.y1+e}),t.sourceLinks.forEach(function(t){t.y0=t.y0+e})),t}function U(t,e,r,n){t.nodes.forEach(function(a){n&&a.y+(a.y1-a.y0)>e&&(a.y=a.y-(a.y+(a.y1-a.y0)-e));var i=t.links.filter(function(t){return b(t.source,r)==b(a,r)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!H(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=B(e,t);return t.y1-r}if(e.target.column>t.target.column)return B(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0});var s=a.y0;i.forEach(function(t){t.y0=s+t.width/2,s+=t.width}),i.forEach(function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r<o;r++)n+=i[r].width;t.y0=a.y1-n-t.width/2}})})}function q(t,e,r){t.nodes.forEach(function(e){var n=t.links.filter(function(t){return b(t.target,r)==b(e,r)}),a=n.length;a>1&&n.sort(function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!H(t,e))return t.y0-e.y0;if(e.source.column<t.source.column){var r=F(e,t);return t.y0-r}if(t.source.column<e.source.column)return F(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0});var i=e.y0;n.forEach(function(t){t.y1=i+t.width/2,i+=t.width}),n.forEach(function(t,r){if("bottom"==t.circularLinkType){for(var i=r+1,o=0;i<a;i++)o+=n[i].width;t.y1=e.y1-o-t.width/2}})})}function H(t,e){return G(t)==G(e)}function G(t){return t.y0-t.y1>0?"up":"down"}function Y(t,e){return b(t.source,e)==b(t.target,e)}t.sankeyCircular=function(){var t,n,i=0,b=0,A=1,S=1,E=24,C=v,P=o,O=m,z=y,I=32,D=2,R=null;function F(){var o={nodes:O.apply(null,arguments),links:z.apply(null,arguments)};!function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,C);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;"object"!==("undefined"==typeof n?"undefined":l(n))&&(n=t.source=x(e,n)),"object"!==("undefined"==typeof a?"undefined":l(a))&&(a=t.target=x(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(o),function(t,e,r){var n=0;if(null===r){for(var i=[],o=0;o<t.links.length;o++){var s=t.links[o],l=s.source.index,c=s.target.index;i[l]||(i[l]=[]),i[c]||(i[c]=[]),-1===i[l].indexOf(c)&&i[l].push(c)}var u=a(i);u.sort(function(t,e){return t.length-e.length});var h={};for(o=0;o<u.length;o++){var f=u[o],p=f.slice(-2);h[p[0]]||(h[p[0]]={}),h[p[0]][p[1]]=!0}t.links.forEach(function(t){var e=t.target.index,r=t.source.index;e===r||h[r]&&h[r][e]?(t.circular=!0,t.circularLinkID=n,n+=1):t.circular=!1})}else t.links.forEach(function(t){t.source[r]<t.target[r]?t.circular=!1:(t.circular=!0,t.circularLinkID=n,n+=1)})}(o,0,R),function(t){t.nodes.forEach(function(t){t.partOfCycle=!1,t.value=Math.max(e.sum(t.sourceLinks,f),e.sum(t.targetLinks,f)),t.sourceLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}),t.targetLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})})}(o),function(t){var e,r,n;for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.depth=n,t.sourceLinks.forEach(function(t){r.indexOf(t.target)<0&&!t.circular&&r.push(t.target)})});for(e=t.nodes,r=[],n=0;e.length;++n,e=r,r=[])e.forEach(function(t){t.height=n,t.targetLinks.forEach(function(t){r.indexOf(t.source)<0&&!t.circular&&r.push(t.source)})});t.nodes.forEach(function(t){t.column=Math.floor(P.call(null,t,n))})}(o),T(o,C),function(a,o,s){var l=r.nest().key(function(t){return t.column}).sortKeys(e.ascending).entries(a.nodes).map(function(t){return t.values});(function(r){if(n){var o=1/0;l.forEach(function(t){var e=S*n/(t.length+1);o=e<o?e:o}),t=o}var s=e.min(l,function(r){return(S-b-(r.length-1)*t)/e.sum(r,f)});s*=k,a.links.forEach(function(t){t.width=t.value*s});var c=function(t){var r=0,n=0,a=0,i=0,o=e.max(t.nodes,function(t){return t.column});return t.links.forEach(function(t){t.circular&&("top"==t.circularLinkType?r+=t.width:n+=t.width,0==t.target.column&&(i+=t.width),t.source.column==o&&(a+=t.width))}),{top:r=r>0?r+_+w:r,bottom:n=n>0?n+_+w:n,left:i=i>0?i+_+w:i,right:a=a>0?a+_+w:a}}(a),u=function(t,r){var n=e.max(t.nodes,function(t){return t.column}),a=A-i,o=S-b,s=a+r.right+r.left,l=o+r.top+r.bottom,c=a/s,u=o/l;return i=i*c+r.left,A=0==r.right?A:A*c,b=b*u+r.top,S*=u,t.nodes.forEach(function(t){t.x0=i+t.column*((A-i-E)/n),t.x1=t.x0+E}),u}(a,c);s*=u,a.links.forEach(function(t){t.width=t.value*s}),l.forEach(function(t){var e=t.length;t.forEach(function(t,n){t.depth==l.length-1&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):0==t.depth&&1==e?(t.y0=S/2-t.value*s,t.y1=t.y0+t.value*s):t.partOfCycle?0==M(t,r)?(t.y0=S/2+n,t.y1=t.y0+t.value*s):"top"==t.circularLinkType?(t.y0=b+n,t.y1=t.y0+t.value*s):(t.y0=S-t.value*s-n,t.y1=t.y0+t.value*s):0==c.top||0==c.bottom?(t.y0=(S-b)/e*n,t.y1=t.y0+t.value*s):(t.y0=(S-b)/2-e/2+n,t.y1=t.y0+t.value*s)})})})(s),m();for(var c=1,u=o;u>0;--u)v(c*=.99,s),m();function v(t,r){var n=l.length;l.forEach(function(a){var i=a.length,o=a[0].depth;a.forEach(function(a){var s;if(a.sourceLinks.length||a.targetLinks.length)if(a.partOfCycle&&M(a,r)>0);else if(0==o&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else if(o==n-1&&1==i)s=a.y1-a.y0,a.y0=S/2-s/2,a.y1=S/2+s/2;else{var l=e.mean(a.sourceLinks,g),c=e.mean(a.targetLinks,d),u=((l&&c?(l+c)/2:l||c)-p(a))*t;a.y0+=u,a.y1+=u}})})}function m(){l.forEach(function(e){var r,n,a,i=b,o=e.length;for(e.sort(h),a=0;a<o;++a)r=e[a],(n=i-r.y0)>0&&(r.y0+=n,r.y1+=n),i=r.y1+t;if((n=i-t-S)>0)for(i=r.y0-=n,r.y1-=n,a=o-2;a>=0;--a)r=e[a],(n=r.y1+t-i)>0&&(r.y0-=n,r.y1-=n),i=r.y0})}}(o,I,C),B(o);for(var s=0;s<4;s++)U(o,S,C),q(o,0,C),N(o,b,S,C),U(o,S,C),q(o,0,C);return function(t,r,n){var a=t.nodes,i=t.links,o=!1,s=!1;if(i.forEach(function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)}),0==o||0==s){var l=e.min(a,function(t){return t.y0}),c=e.max(a,function(t){return t.y1}),u=c-l,h=n-r,f=h/u;a.forEach(function(t){var e=(t.y1-t.y0)*f;t.y0=(t.y0-l)*f,t.y1=t.y0+e}),i.forEach(function(t){t.y0=(t.y0-l)*f,t.y1=(t.y1-l)*f,t.width=t.width*f})}}(o,b,S),L(o,D,S,C),o}function B(t){t.nodes.forEach(function(t){t.sourceLinks.sort(u),t.targetLinks.sort(c)}),t.nodes.forEach(function(t){var e=t.y0,r=e,n=t.y1,a=n;t.sourceLinks.forEach(function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)}),t.targetLinks.forEach(function(t){t.circular?(t.y1=a-t.width/2,a-=t.width):(t.y1=r+t.width/2,r+=t.width)})})}return F.nodeId=function(t){return arguments.length?(C="function"==typeof t?t:s(t),F):C},F.nodeAlign=function(t){return arguments.length?(P="function"==typeof t?t:s(t),F):P},F.nodeWidth=function(t){return arguments.length?(E=+t,F):E},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(O="function"==typeof t?t:s(t),F):O},F.links=function(t){return arguments.length?(z="function"==typeof t?t:s(t),F):z},F.size=function(t){return arguments.length?(i=b=0,A=+t[0],S=+t[1],F):[A-i,S-b]},F.extent=function(t){return arguments.length?(i=+t[0][0],A=+t[1][0],b=+t[0][1],S=+t[1][1],F):[[i,b],[A,S]]},F.iterations=function(t){return arguments.length?(I=+t,F):I},F.circularLinkGap=function(t){return arguments.length?(D=+t,F):D},F.nodePaddingRatio=function(t){return arguments.length?(n=+t,F):n},F.sortNodes=function(t){return arguments.length?(R=t,F):R},F.update=function(t){return T(t,C),B(t),t.links.forEach(function(t){t.circular&&(t.circularLinkType=t.y0+t.y1<S?"top":"bottom",t.source.circularLinkType=t.circularLinkType,t.target.circularLinkType=t.circularLinkType)}),U(t,S,C,!1),q(t,0,C),L(t,D,S,C),t},F},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,i)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=o,Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-array"),t("d3-collection"),t("d3-shape"),t("elementary-circuits-directed-graph")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,null)},{"d3-array":153,"d3-collection":154,"d3-shape":162,"elementary-circuits-directed-graph":174}],56:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n){"use strict";function a(t){return t.target.depth}function i(t,e){return t.sourceLinks.length?t.depth:e-1}function o(t){return function(){return t}}function s(t,e){return c(t.source,e.source)||t.index-e.index}function l(t,e){return c(t.target,e.target)||t.index-e.index}function c(t,e){return t.y0-e.y0}function u(t){return t.value}function h(t){return(t.y0+t.y1)/2}function f(t){return h(t.source)*t.value}function p(t){return h(t.target)*t.value}function d(t){return t.index}function g(t){return t.nodes}function v(t){return t.links}function m(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function y(t){return[t.source.x1,t.y0]}function x(t){return[t.target.x0,t.y1]}t.sankey=function(){var t=0,n=0,a=1,y=1,x=24,b=8,_=d,w=i,k=g,T=v,A=32,M=2/3;function S(){var i={nodes:k.apply(null,arguments),links:T.apply(null,arguments)};return function(t){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var e=r.map(t.nodes,_);t.links.forEach(function(t,r){t.index=r;var n=t.source,a=t.target;"object"!=typeof n&&(n=t.source=m(e,n)),"object"!=typeof a&&(a=t.target=m(e,a)),n.sourceLinks.push(t),a.targetLinks.push(t)})}(i),function(t){t.nodes.forEach(function(t){t.value=Math.max(e.sum(t.sourceLinks,u),e.sum(t.targetLinks,u))})}(i),function(e){var r,n,i;for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.depth=i,t.sourceLinks.forEach(function(t){n.indexOf(t.target)<0&&n.push(t.target)})});for(r=e.nodes,n=[],i=0;r.length;++i,r=n,n=[])r.forEach(function(t){t.height=i,t.targetLinks.forEach(function(t){n.indexOf(t.source)<0&&n.push(t.source)})});var o=(a-t-x)/(i-1);e.nodes.forEach(function(e){e.x1=(e.x0=t+Math.max(0,Math.min(i-1,Math.floor(w.call(null,e,i))))*o)+x})}(i),function(t){var a=r.nest().key(function(t){return t.x0}).sortKeys(e.ascending).entries(t.nodes).map(function(t){return t.values});(function(){var r=e.max(a,function(t){return t.length}),i=M*(y-n)/(r-1);b>i&&(b=i);var o=e.min(a,function(t){return(y-n-(t.length-1)*b)/e.sum(t,u)});a.forEach(function(t){t.forEach(function(t,e){t.y1=(t.y0=e)+t.value*o})}),t.links.forEach(function(t){t.width=t.value*o})})(),d();for(var i=1,o=A;o>0;--o)l(i*=.99),d(),s(i),d();function s(t){a.forEach(function(r){r.forEach(function(r){if(r.targetLinks.length){var n=(e.sum(r.targetLinks,f)/e.sum(r.targetLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function l(t){a.slice().reverse().forEach(function(r){r.forEach(function(r){if(r.sourceLinks.length){var n=(e.sum(r.sourceLinks,p)/e.sum(r.sourceLinks,u)-h(r))*t;r.y0+=n,r.y1+=n}})})}function d(){a.forEach(function(t){var e,r,a,i=n,o=t.length;for(t.sort(c),a=0;a<o;++a)e=t[a],(r=i-e.y0)>0&&(e.y0+=r,e.y1+=r),i=e.y1+b;if((r=i-b-y)>0)for(i=e.y0-=r,e.y1-=r,a=o-2;a>=0;--a)e=t[a],(r=e.y1+b-i)>0&&(e.y0-=r,e.y1-=r),i=e.y0})}}(i),E(i),i}function E(t){t.nodes.forEach(function(t){t.sourceLinks.sort(l),t.targetLinks.sort(s)}),t.nodes.forEach(function(t){var e=t.y0,r=e;t.sourceLinks.forEach(function(t){t.y0=e+t.width/2,e+=t.width}),t.targetLinks.forEach(function(t){t.y1=r+t.width/2,r+=t.width})})}return S.update=function(t){return E(t),t},S.nodeId=function(t){return arguments.length?(_="function"==typeof t?t:o(t),S):_},S.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:o(t),S):w},S.nodeWidth=function(t){return arguments.length?(x=+t,S):x},S.nodePadding=function(t){return arguments.length?(b=+t,S):b},S.nodes=function(t){return arguments.length?(k="function"==typeof t?t:o(t),S):k},S.links=function(t){return arguments.length?(T="function"==typeof t?t:o(t),S):T},S.size=function(e){return arguments.length?(t=n=0,a=+e[0],y=+e[1],S):[a-t,y-n]},S.extent=function(e){return arguments.length?(t=+e[0][0],a=+e[1][0],n=+e[0][1],y=+e[1][1],S):[[t,n],[a,y]]},S.iterations=function(t){return arguments.length?(A=+t,S):A},S},t.sankeyCenter=function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?e.min(t.sourceLinks,a)-1:0},t.sankeyLeft=function(t){return t.depth},t.sankeyRight=function(t,e){return e-1-t.height},t.sankeyJustify=i,t.sankeyLinkHorizontal=function(){return n.linkHorizontal().source(y).target(x)},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-array"),t("d3-collection"),t("d3-shape")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3)},{"d3-array":153,"d3-collection":154,"d3-shape":162}],57:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),a=6378137;function i(t){var e=0;if(t&&t.length>0){e+=Math.abs(o(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(o(t[r]))}return e}function o(t){var e,r,n,i,o,l,c=0,u=t.length;if(u>2){for(l=0;l<u;l++)l===u-2?(n=u-2,i=u-1,o=0):l===u-1?(n=u-1,i=0,o=1):(n=l,i=l+1,o=l+2),e=t[n],r=t[i],c+=(s(t[o][0])-s(e[0]))*Math.sin(s(r[1]));c=c*a*a/2}return c}function s(t){return t*Math.PI/180}r.default=function(t){return n.geomReduce(t,function(t,e){return t+function(t){var e,r=0;switch(t.type){case"Polygon":return i(t.coordinates);case"MultiPolygon":for(e=0;e<t.coordinates.length;e++)r+=i(t.coordinates[e]);return r;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}(e)},0)}},{"@turf/meta":60}],58:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/meta"),a=t("@turf/helpers");r.default=function(t,e){void 0===e&&(e={});var r=0,i=0,o=0;return n.coordEach(t,function(t){r+=t[0],i+=t[1],o++}),a.point([r/o,i/o],e.properties)}},{"@turf/helpers":59,"@turf/meta":60}],59:[function(t,e,r){"use strict";function n(t,e,r){void 0===r&&(r={});var n={type:"Feature"};return(0===r.id||r.id)&&(n.id=r.id),r.bbox&&(n.bbox=r.bbox),n.properties=e||{},n.geometry=t,n}function a(t,e,r){return void 0===r&&(r={}),n({type:"Point",coordinates:t},e,r)}function i(t,e,r){void 0===r&&(r={});for(var a=0,i=t;a<i.length;a++){var o=i[a];if(o.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var s=0;s<o[o.length-1].length;s++)if(o[o.length-1][s]!==o[0][s])throw new Error("First and last Position are not equivalent.")}return n({type:"Polygon",coordinates:t},e,r)}function o(t,e,r){if(void 0===r&&(r={}),t.length<2)throw new Error("coordinates must be an array of two or more positions");return n({type:"LineString",coordinates:t},e,r)}function s(t,e){void 0===e&&(e={});var r={type:"FeatureCollection"};return e.id&&(r.id=e.id),e.bbox&&(r.bbox=e.bbox),r.features=t,r}function l(t,e,r){return void 0===r&&(r={}),n({type:"MultiLineString",coordinates:t},e,r)}function c(t,e,r){return void 0===r&&(r={}),n({type:"MultiPoint",coordinates:t},e,r)}function u(t,e,r){return void 0===r&&(r={}),n({type:"MultiPolygon",coordinates:t},e,r)}function h(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t*n}function f(t,e){void 0===e&&(e="kilometers");var n=r.factors[e];if(!n)throw new Error(e+" units is invalid");return t/n}function p(t){return 180*(t%(2*Math.PI))/Math.PI}function d(t){return!isNaN(t)&&null!==t&&!Array.isArray(t)&&!/^\s*$/.test(t)}Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=6371008.8,r.factors={centimeters:100*r.earthRadius,centimetres:100*r.earthRadius,degrees:r.earthRadius/111325,feet:3.28084*r.earthRadius,inches:39.37*r.earthRadius,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:1e3*r.earthRadius,millimetres:1e3*r.earthRadius,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius/1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:1/111325,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:1/1609.344,millimeters:1e3,millimetres:1e3,nauticalmiles:1/1852,radians:1/r.earthRadius,yards:1/1.0936},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:3.86e-7,millimeters:1e6,millimetres:1e6,yards:1.195990046},r.feature=n,r.geometry=function(t,e,r){switch(void 0===r&&(r={}),t){case"Point":return a(e).geometry;case"LineString":return o(e).geometry;case"Polygon":return i(e).geometry;case"MultiPoint":return c(e).geometry;case"MultiLineString":return l(e).geometry;case"MultiPolygon":return u(e).geometry;default:throw new Error(t+" is invalid")}},r.point=a,r.points=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return a(t,e)}),r)},r.polygon=i,r.polygons=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return i(t,e)}),r)},r.lineString=o,r.lineStrings=function(t,e,r){return void 0===r&&(r={}),s(t.map(function(t){return o(t,e)}),r)},r.featureCollection=s,r.multiLineString=l,r.multiPoint=c,r.multiPolygon=u,r.geometryCollection=function(t,e,r){return void 0===r&&(r={}),n({type:"GeometryCollection",geometries:t},e,r)},r.round=function(t,e){if(void 0===e&&(e=0),e&&!(e>=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},r.radiansToLength=h,r.lengthToRadians=f,r.lengthToDegrees=function(t,e){return p(f(t,e))},r.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},r.radiansToDegrees=p,r.degreesToRadians=function(t){return t%360*Math.PI/180},r.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return h(f(t,e),r)},r.convertArea=function(t,e,n){if(void 0===e&&(e="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var a=r.areaFactors[e];if(!a)throw new Error("invalid original units");var i=r.areaFactors[n];if(!i)throw new Error("invalid final units");return t/a*i},r.isNumber=d,r.isObject=function(t){return!!t&&t.constructor===Object},r.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach(function(t){if(!d(t))throw new Error("bbox must only contain numbers")})},r.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},r.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},r.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},r.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},r.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},r.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},r.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},r.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},{}],60:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=t("@turf/helpers");function a(t,e,r){if(null!==t)for(var n,i,o,s,l,c,u,h,f=0,p=0,d=t.type,g="FeatureCollection"===d,v="Feature"===d,m=g?t.features.length:1,y=0;y<m;y++){l=(h=!!(u=g?t.features[y].geometry:v?t.geometry:t)&&"GeometryCollection"===u.type)?u.geometries.length:1;for(var x=0;x<l;x++){var b=0,_=0;if(null!==(s=h?u.geometries[x]:u)){c=s.coordinates;var w=s.type;switch(f=!r||"Polygon"!==w&&"MultiPolygon"!==w?0:1,w){case null:break;case"Point":if(!1===e(c,p,y,b,_))return!1;p++,b++;break;case"LineString":case"MultiPoint":for(n=0;n<c.length;n++){if(!1===e(c[n],p,y,b,_))return!1;p++,"MultiPoint"===w&&b++}"LineString"===w&&b++;break;case"Polygon":case"MultiLineString":for(n=0;n<c.length;n++){for(i=0;i<c[n].length-f;i++){if(!1===e(c[n][i],p,y,b,_))return!1;p++}"MultiLineString"===w&&b++,"Polygon"===w&&_++}"Polygon"===w&&b++;break;case"MultiPolygon":for(n=0;n<c.length;n++){for(_=0,i=0;i<c[n].length;i++){for(o=0;o<c[n][i].length-f;o++){if(!1===e(c[n][i][o],p,y,b,_))return!1;p++}_++}b++}break;case"GeometryCollection":for(n=0;n<s.geometries.length;n++)if(!1===a(s.geometries[n],e,r))return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function i(t,e){var r;switch(t.type){case"FeatureCollection":for(r=0;r<t.features.length&&!1!==e(t.features[r].properties,r);r++);break;case"Feature":e(t.properties,0)}}function o(t,e){if("Feature"===t.type)e(t,0);else if("FeatureCollection"===t.type)for(var r=0;r<t.features.length&&!1!==e(t.features[r],r);r++);}function s(t,e){var r,n,a,i,o,s,l,c,u,h,f=0,p="FeatureCollection"===t.type,d="Feature"===t.type,g=p?t.features.length:1;for(r=0;r<g;r++){for(s=p?t.features[r].geometry:d?t.geometry:t,c=p?t.features[r].properties:d?t.properties:{},u=p?t.features[r].bbox:d?t.bbox:void 0,h=p?t.features[r].id:d?t.id:void 0,o=(l=!!s&&"GeometryCollection"===s.type)?s.geometries.length:1,a=0;a<o;a++)if(null!==(i=l?s.geometries[a]:s))switch(i.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":if(!1===e(i,f,c,u,h))return!1;break;case"GeometryCollection":for(n=0;n<i.geometries.length;n++)if(!1===e(i.geometries[n],f,c,u,h))return!1;break;default:throw new Error("Unknown Geometry Type")}else if(!1===e(null,f,c,u,h))return!1;f++}}function l(t,e){s(t,function(t,r,a,i,o){var s,l=null===t?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return!1!==e(n.feature(t,a,{bbox:i,id:o}),r,0)&&void 0}switch(l){case"MultiPoint":s="Point";break;case"MultiLineString":s="LineString";break;case"MultiPolygon":s="Polygon"}for(var c=0;c<t.coordinates.length;c++){var u={type:s,coordinates:t.coordinates[c]};if(!1===e(n.feature(u,a),r,c))return!1}})}function c(t,e){l(t,function(t,r,i){var o=0;if(t.geometry){var s=t.geometry.type;if("Point"!==s&&"MultiPoint"!==s){var l,c=0,u=0,h=0;return!1!==a(t,function(a,s,f,p,d){if(void 0===l||r>c||p>u||d>h)return l=a,c=r,u=p,h=d,void(o=0);var g=n.lineString([l,a],t.properties);if(!1===e(g,r,i,d,o))return!1;o++,l=a})&&void 0}}})}function u(t,e){if(!t)throw new Error("geojson is required");l(t,function(t,r,a){if(null!==t.geometry){var i=t.geometry.type,o=t.geometry.coordinates;switch(i){case"LineString":if(!1===e(t,r,a,0,0))return!1;break;case"Polygon":for(var s=0;s<o.length;s++)if(!1===e(n.lineString(o[s],t.properties),r,a,s))return!1}}})}r.coordEach=a,r.coordReduce=function(t,e,r,n){var i=r;return a(t,function(t,n,a,o,s){i=0===n&&void 0===r?t:e(i,t,n,a,o,s)},n),i},r.propEach=i,r.propReduce=function(t,e,r){var n=r;return i(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.featureEach=o,r.featureReduce=function(t,e,r){var n=r;return o(t,function(t,a){n=0===a&&void 0===r?t:e(n,t,a)}),n},r.coordAll=function(t){var e=[];return a(t,function(t){e.push(t)}),e},r.geomEach=s,r.geomReduce=function(t,e,r){var n=r;return s(t,function(t,a,i,o,s){n=0===a&&void 0===r?t:e(n,t,a,i,o,s)}),n},r.flattenEach=l,r.flattenReduce=function(t,e,r){var n=r;return l(t,function(t,a,i){n=0===a&&0===i&&void 0===r?t:e(n,t,a,i)}),n},r.segmentEach=c,r.segmentReduce=function(t,e,r){var n=r,a=!1;return c(t,function(t,i,o,s,l){n=!1===a&&void 0===r?t:e(n,t,i,o,s,l),a=!0}),n},r.lineEach=u,r.lineReduce=function(t,e,r){var n=r;return u(t,function(t,a,i,o){n=0===a&&void 0===r?t:e(n,t,a,i,o)}),n},r.findSegment=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.segmentIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":case"MultiPoint":return null;case"LineString":return s<0&&(s=c.length+s-1),n.lineString([c[s],c[s+1]],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s-1),n.lineString([c[o][s],c[o][s+1]],l,e);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s-1),n.lineString([c[i][s],c[i][s+1]],l,e);case"MultiPolygon":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s-1),n.lineString([c[i][o][s],c[i][o][s+1]],l,e)}throw new Error("geojson is invalid")},r.findPoint=function(t,e){if(e=e||{},!n.isObject(e))throw new Error("options is invalid");var r,a=e.featureIndex||0,i=e.multiFeatureIndex||0,o=e.geometryIndex||0,s=e.coordIndex||0,l=e.properties;switch(t.type){case"FeatureCollection":a<0&&(a=t.features.length+a),l=l||t.features[a].properties,r=t.features[a].geometry;break;case"Feature":l=l||t.properties,r=t.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":r=t;break;default:throw new Error("geojson is invalid")}if(null===r)return null;var c=r.coordinates;switch(r.type){case"Point":return n.point(c,l,e);case"MultiPoint":return i<0&&(i=c.length+i),n.point(c[i],l,e);case"LineString":return s<0&&(s=c.length+s),n.point(c[s],l,e);case"Polygon":return o<0&&(o=c.length+o),s<0&&(s=c[o].length+s),n.point(c[o][s],l,e);case"MultiLineString":return i<0&&(i=c.length+i),s<0&&(s=c[i].length+s),n.point(c[i][s],l,e);case"MultiPolygon":return i<0&&(i=c.length+i),o<0&&(o=c[i].length+o),s<0&&(s=c[i][o].length-s),n.point(c[i][o][s],l,e)}throw new Error("geojson is invalid")}},{"@turf/helpers":59}],61:[function(t,e,r){"use strict";var n="undefined"==typeof WeakMap?t("weak-map"):WeakMap,a=t("gl-buffer"),i=t("gl-vao"),o=new n;e.exports=function(t){var e=o.get(t),r=e&&(e._triangleBuffer.handle||e._triangleBuffer.buffer);if(!r||!t.isBuffer(r)){var n=a(t,new Float32Array([-1,-1,-1,4,4,-1]));(e=i(t,[{buffer:n,type:t.FLOAT,size:2}]))._triangleBuffer=n,o.set(t,e)}e.bind(),t.drawArrays(t.TRIANGLES,0,3),e.unbind()}},{"gl-buffer":243,"gl-vao":328,"weak-map":550}],62:[function(t,e,r){e.exports=function(t){var e=0,r=0,n=0,a=0;return t.map(function(t){var i=(t=t.slice())[0],o=i.toUpperCase();if(i!=o)switch(t[0]=o,i){case"a":t[6]+=n,t[7]+=a;break;case"v":t[1]+=a;break;case"h":t[1]+=n;break;default:for(var s=1;s<t.length;)t[s++]+=n,t[s++]+=a}switch(o){case"Z":n=e,a=r;break;case"H":n=t[1];break;case"V":a=t[1];break;case"M":n=e=t[1],a=r=t[2];break;default:n=t[t.length-2],a=t[t.length-1]}return t})}},{}],63:[function(t,e,r){var n=t("pad-left");e.exports=function(t,e,r){e="number"==typeof e?e:1,r=r||": ";var a=t.split(/\r?\n/),i=String(a.length+e-1).length;return a.map(function(t,a){var o=a+e,s=String(o).length,l=n(o,i-s);return l+r+t}).join("\n")}},{"pad-left":458}],64:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[0];for(var r=t[0].length,n=[t[0]],i=[0],o=1;o<e;++o)if(n.push(t[o]),a(n,r)){if(i.push(o),i.length===r+1)return i}else n.pop();return i};var n=t("robust-orientation");function a(t,e){for(var r=new Array(e+1),a=0;a<t.length;++a)r[a]=t[a];for(a=0;a<=t.length;++a){for(var i=t.length;i<=e;++i){for(var o=new Array(e),s=0;s<e;++s)o[s]=Math.pow(i+1-a,s);r[i]=o}if(n.apply(void 0,r))return!0}return!1}},{"robust-orientation":508}],65:[function(t,e,r){"use strict";e.exports=function(t,e){return n(e).filter(function(r){for(var n=new Array(r.length),i=0;i<r.length;++i)n[i]=e[r[i]];return a(n)*t<1})};var n=t("delaunay-triangulate"),a=t("circumradius")},{circumradius:115,"delaunay-triangulate":166}],66:[function(t,e,r){e.exports=function(t,e){return a(n(t,e))};var n=t("alpha-complex"),a=t("simplicial-complex-boundary")},{"alpha-complex":65,"simplicial-complex-boundary":515}],67:[function(t,e,r){"use strict";e.exports=function(t,e){if(!t||null==t.length)throw Error("Argument should be an array");e=null==e?1:Math.floor(e);for(var r=Array(2*e),n=0;n<e;n++){for(var a=-1/0,i=1/0,o=n,s=t.length;o<s;o+=e)t[o]>a&&(a=t[o]),t[o]<i&&(i=t[o]);r[n]=i,r[e+n]=a}return r}},{}],68:[function(t,e,r){e.exports=function(t,e){var r="number"==typeof t,n="number"==typeof e;r&&!n?(e=t,t=0):r||n||(t=0,e=0);var a=(e|=0)-(t|=0);if(a<0)throw new Error("array length must be positive");for(var i=new Array(a),o=0,s=t;o<a;o++,s++)i[o]=s;return i}},{}],69:[function(t,e,r){(function(r){"use strict";var n=t("object-assign");function a(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,a=0,i=Math.min(r,n);a<i;++a)if(t[a]!==e[a]){r=t[a],n=e[a];break}return r<n?-1:n<r?1:0}function i(t){return r.Buffer&&"function"==typeof r.Buffer.isBuffer?r.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var o=t("util/"),s=Object.prototype.hasOwnProperty,l=Array.prototype.slice,c="foo"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function h(t){return!i(t)&&("function"==typeof r.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var f=e.exports=y,p=/\s*function\s+([^\(\s]*)\s*/;function d(t){if(o.isFunction(t)){if(c)return t.name;var e=t.toString().match(p);return e&&e[1]}}function g(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function v(t){if(c||!o.isFunction(t))return o.inspect(t);var e=d(t);return"[Function"+(e?": "+e:"")+"]"}function m(t,e,r,n,a){throw new f.AssertionError({message:r,actual:t,expected:e,operator:n,stackStartFunction:a})}function y(t,e){t||m(t,!0,e,"==",f.ok)}function x(t,e,r,n){if(t===e)return!0;if(i(t)&&i(e))return 0===a(t,e);if(o.isDate(t)&&o.isDate(e))return t.getTime()===e.getTime();if(o.isRegExp(t)&&o.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(h(t)&&h(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===a(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var s=(n=n||{actual:[],expected:[]}).actual.indexOf(t);return-1!==s&&s===n.expected.indexOf(e)||(n.actual.push(t),n.expected.push(e),function(t,e,r,n){if(null==t||null==e)return!1;if(o.isPrimitive(t)||o.isPrimitive(e))return t===e;if(r&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var a=b(t),i=b(e);if(a&&!i||!a&&i)return!1;if(a)return t=l.call(t),e=l.call(e),x(t,e,r);var s,c,u=k(t),h=k(e);if(u.length!==h.length)return!1;for(u.sort(),h.sort(),c=u.length-1;c>=0;c--)if(u[c]!==h[c])return!1;for(c=u.length-1;c>=0;c--)if(s=u[c],!x(t[s],e[s],r,n))return!1;return!0}(t,e,r,n))}return r?t===e:t==e}function b(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function _(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function w(t,e,r,n){var a;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof r&&(n=r,r=null),a=function(t){var e;try{t()}catch(t){e=t}return e}(e),n=(r&&r.name?" ("+r.name+").":".")+(n?" "+n:"."),t&&!a&&m(a,r,"Missing expected exception"+n);var i="string"==typeof n,s=!t&&a&&!r;if((!t&&o.isError(a)&&i&&_(a,r)||s)&&m(a,r,"Got unwanted exception"+n),t&&a&&r&&!_(a,r)||!t&&a)throw a}f.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=g(v((e=this).actual),128)+" "+e.operator+" "+g(v(e.expected),128),this.generatedMessage=!0);var r=t.stackStartFunction||m;if(Error.captureStackTrace)Error.captureStackTrace(this,r);else{var n=new Error;if(n.stack){var a=n.stack,i=d(r),o=a.indexOf("\n"+i);if(o>=0){var s=a.indexOf("\n",o+1);a=a.substring(s+1)}this.stack=a}}},o.inherits(f.AssertionError,Error),f.fail=m,f.ok=y,f.equal=function(t,e,r){t!=e&&m(t,e,r,"==",f.equal)},f.notEqual=function(t,e,r){t==e&&m(t,e,r,"!=",f.notEqual)},f.deepEqual=function(t,e,r){x(t,e,!1)||m(t,e,r,"deepEqual",f.deepEqual)},f.deepStrictEqual=function(t,e,r){x(t,e,!0)||m(t,e,r,"deepStrictEqual",f.deepStrictEqual)},f.notDeepEqual=function(t,e,r){x(t,e,!1)&&m(t,e,r,"notDeepEqual",f.notDeepEqual)},f.notDeepStrictEqual=function t(e,r,n){x(e,r,!0)&&m(e,r,n,"notDeepStrictEqual",t)},f.strictEqual=function(t,e,r){t!==e&&m(t,e,r,"===",f.strictEqual)},f.notStrictEqual=function(t,e,r){t===e&&m(t,e,r,"!==",f.notStrictEqual)},f.throws=function(t,e,r){w(!0,t,e,r)},f.doesNotThrow=function(t,e,r){w(!1,t,e,r)},f.ifError=function(t){if(t)throw t},f.strict=n(function t(e,r){e||m(e,!0,r,"==",t)},f,{equal:f.strictEqual,deepEqual:f.deepStrictEqual,notEqual:f.notStrictEqual,notDeepEqual:f.notDeepStrictEqual}),f.strict.strict=f.strict;var k=Object.keys||function(t){var e=[];for(var r in t)s.call(t,r)&&e.push(r);return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"object-assign":455,"util/":72}],70:[function(t,e,r){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},{}],71:[function(t,e,r){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],72:[function(t,e,r){(function(e,n){var a=/%[sdj%]/g;r.format=function(t){if(!m(t)){for(var e=[],r=0;r<arguments.length;r++)e.push(s(arguments[r]));return e.join(" ")}r=1;for(var n=arguments,i=n.length,o=String(t).replace(a,function(t){if("%%"===t)return"%";if(r>=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}}),l=n[r];r<i;l=n[++r])g(l)||!b(l)?o+=" "+l:o+=" "+s(l);return o},r.deprecate=function(t,a){if(y(n.process))return function(){return r.deprecate(t,a).apply(this,arguments)};if(!0===e.noDeprecation)return t;var i=!1;return function(){if(!i){if(e.throwDeprecation)throw new Error(a);e.traceDeprecation?console.trace(a):console.error(a),i=!0}return t.apply(this,arguments)}};var i,o={};function s(t,e){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(e)?n.showHidden=e:e&&r._extend(n,e),y(n.showHidden)&&(n.showHidden=!1),y(n.depth)&&(n.depth=2),y(n.colors)&&(n.colors=!1),y(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),u(n,t,n.depth)}function l(t,e){var r=s.styles[e];return r?"\x1b["+s.colors[r][0]+"m"+t+"\x1b["+s.colors[r][1]+"m":t}function c(t,e){return t}function u(t,e,n){if(t.customInspect&&e&&k(e.inspect)&&e.inspect!==r.inspect&&(!e.constructor||e.constructor.prototype!==e)){var a=e.inspect(n,t);return m(a)||(a=u(t,a,n)),a}var i=function(t,e){if(y(e))return t.stylize("undefined","undefined");if(m(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}if(v(e))return t.stylize(""+e,"number");if(d(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,e);if(i)return i;var o=Object.keys(e),s=function(t){var e={};return t.forEach(function(t,r){e[t]=!0}),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(e)),w(e)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return h(e);if(0===o.length){if(k(e)){var l=e.name?": "+e.name:"";return t.stylize("[Function"+l+"]","special")}if(x(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(_(e))return t.stylize(Date.prototype.toString.call(e),"date");if(w(e))return h(e)}var c,b="",T=!1,A=["{","}"];(p(e)&&(T=!0,A=["[","]"]),k(e))&&(b=" [Function"+(e.name?": "+e.name:"")+"]");return x(e)&&(b=" "+RegExp.prototype.toString.call(e)),_(e)&&(b=" "+Date.prototype.toUTCString.call(e)),w(e)&&(b=" "+h(e)),0!==o.length||T&&0!=e.length?n<0?x(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special"):(t.seen.push(e),c=T?function(t,e,r,n,a){for(var i=[],o=0,s=e.length;o<s;++o)S(e,String(o))?i.push(f(t,e,r,n,String(o),!0)):i.push("");return a.forEach(function(a){a.match(/^\d+$/)||i.push(f(t,e,r,n,a,!0))}),i}(t,e,n,s,o):o.map(function(r){return f(t,e,n,s,r,T)}),t.seen.pop(),function(t,e,r){if(t.reduce(function(t,e){return 0,e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n  ")+" "+r[1];return r[0]+e+" "+t.join(", ")+" "+r[1]}(c,b,A)):A[0]+b+A[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,r,n,a,i){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,a)||{value:e[a]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),S(n,a)||(o="["+a+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(r)?u(t,l.value,null):u(t,l.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map(function(t){return"  "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return"   "+t}).join("\n")):s=t.stylize("[Circular]","special")),y(o)){if(i&&a.match(/^\d+$/))return s;(o=JSON.stringify(""+a)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function p(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function v(t){return"number"==typeof t}function m(t){return"string"==typeof t}function y(t){return void 0===t}function x(t){return b(t)&&"[object RegExp]"===T(t)}function b(t){return"object"==typeof t&&null!==t}function _(t){return b(t)&&"[object Date]"===T(t)}function w(t){return b(t)&&("[object Error]"===T(t)||t instanceof Error)}function k(t){return"function"==typeof t}function T(t){return Object.prototype.toString.call(t)}function A(t){return t<10?"0"+t.toString(10):t.toString(10)}r.debuglog=function(t){if(y(i)&&(i=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var n=e.pid;o[t]=function(){var e=r.format.apply(r,arguments);console.error("%s %d: %s",t,n,e)}}else o[t]=function(){};return o[t]},r.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},r.isArray=p,r.isBoolean=d,r.isNull=g,r.isNullOrUndefined=function(t){return null==t},r.isNumber=v,r.isString=m,r.isSymbol=function(t){return"symbol"==typeof t},r.isUndefined=y,r.isRegExp=x,r.isObject=b,r.isDate=_,r.isError=w,r.isFunction=k,r.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t},r.isBuffer=t("./support/isBuffer");var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t,e){return Object.prototype.hasOwnProperty.call(t,e)}r.log=function(){var t,e;console.log("%s - %s",(t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":"),[t.getDate(),M[t.getMonth()],e].join(" ")),r.format.apply(r,arguments))},r.inherits=t("inherits"),r._extend=function(t,e){if(!e||!b(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t}}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":71,_process:483,inherits:70}],73:[function(t,e,r){e.exports=function(t){return atob(t)}},{}],74:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=e.length,i=new Array(r+1),o=0;o<r;++o){for(var s=new Array(r+1),l=0;l<=r;++l)s[l]=t[l][o];i[o]=s}i[r]=new Array(r+1);for(var o=0;o<=r;++o)i[r][o]=1;for(var c=new Array(r+1),o=0;o<r;++o)c[o]=e[o];c[r]=1;var u=n(i,c),h=a(u[r+1]);0===h&&(h=1);for(var f=new Array(r+1),o=0;o<=r;++o)f[o]=a(u[o])/h;return f};var n=t("robust-linear-solve");function a(t){for(var e=0,r=0;r<t.length;++r)e+=t[r];return e}},{"robust-linear-solve":507}],75:[function(t,e,r){"use strict";r.byteLength=function(t){var e=c(t),r=e[0],n=e[1];return 3*(r+n)/4-n},r.toByteArray=function(t){var e,r,n=c(t),o=n[0],s=n[1],l=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,s)),u=0,h=s>0?o-4:o;for(r=0;r<h;r+=4)e=a[t.charCodeAt(r)]<<18|a[t.charCodeAt(r+1)]<<12|a[t.charCodeAt(r+2)]<<6|a[t.charCodeAt(r+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===s&&(e=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,l[u++]=255&e);1===s&&(e=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},r.fromByteArray=function(t){for(var e,r=t.length,a=r%3,i=[],o=0,s=r-a;o<s;o+=16383)i.push(u(t,o,o+16383>s?s:o+16383));1===a?(e=t[r-1],i.push(n[e>>2]+n[e<<4&63]+"==")):2===a&&(e=(t[r-2]<<8)+t[r-1],i.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return i.join("")};for(var n=[],a=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)n[s]=o[s],a[o.charCodeAt(s)]=s;function c(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function u(t,e,r){for(var a,i,o=[],s=e;s<r;s+=3)a=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(n[(i=a)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return o.join("")}a["-".charCodeAt(0)]=62,a["_".charCodeAt(0)]=63},{}],76:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],77:[function(t,e,r){"use strict";e.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},{}],78:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},{"./lib/rationalize":86}],79:[function(t,e,r){"use strict";var n=t("./is-rat"),a=t("./lib/is-bn"),i=t("./lib/num-to-bn"),o=t("./lib/str-to-bn"),s=t("./lib/rationalize"),l=t("./div");e.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c=0;var u,h;if(a(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[i(0),i(1)];if(e===Math.floor(e))u=i(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),c-=256;u=i(e)}}if(n(r))u.mul(r[1]),h=r[0].clone();else if(a(r))h=r.clone();else if("string"==typeof r)h=o(r);else if(r)if(r===Math.floor(r))h=i(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),c+=256;h=i(r)}else h=i(1);c>0?u=u.ushln(c):c<0&&(h=h.ushln(-c));return s(u,h)}},{"./div":78,"./is-rat":80,"./lib/is-bn":84,"./lib/num-to-bn":85,"./lib/rationalize":86,"./lib/str-to-bn":87}],80:[function(t,e,r){"use strict";var n=t("./lib/is-bn");e.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},{"./lib/is-bn":84}],81:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return t.cmp(new n(0))}},{"bn.js":95}],82:[function(t,e,r){"use strict";var n=t("./bn-sign");e.exports=function(t){var e=t.length,r=t.words,a=0;if(1===e)a=r[0];else if(2===e)a=r[0]+67108864*r[1];else for(var i=0;i<e;i++){var o=r[i];a+=o*Math.pow(67108864,i)}return n(t)*a}},{"./bn-sign":81}],83:[function(t,e,r){"use strict";var n=t("double-bits"),a=t("bit-twiddle").countTrailingZeros;e.exports=function(t){var e=a(n.lo(t));if(e<32)return e;var r=a(n.hi(t));if(r>20)return 52;return r+32}},{"bit-twiddle":93,"double-bits":168}],84:[function(t,e,r){"use strict";t("bn.js");e.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},{"bn.js":95}],85:[function(t,e,r){"use strict";var n=t("bn.js"),a=t("double-bits");e.exports=function(t){var e=a.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},{"bn.js":95,"double-bits":168}],86:[function(t,e,r){"use strict";var n=t("./num-to-bn"),a=t("./bn-sign");e.exports=function(t,e){var r=a(t),i=a(e);if(0===r)return[n(0),n(1)];if(0===i)return[n(0),n(0)];i<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);if(o.cmpn(1))return[t.div(o),e.div(o)];return[t,e]}},{"./bn-sign":81,"./num-to-bn":85}],87:[function(t,e,r){"use strict";var n=t("bn.js");e.exports=function(t){return new n(t)}},{"bn.js":95}],88:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},{"./lib/rationalize":86}],89:[function(t,e,r){"use strict";var n=t("./lib/bn-sign");e.exports=function(t){return n(t[0])*n(t[1])}},{"./lib/bn-sign":81}],90:[function(t,e,r){"use strict";var n=t("./lib/rationalize");e.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},{"./lib/rationalize":86}],91:[function(t,e,r){"use strict";var n=t("./lib/bn-to-num"),a=t("./lib/ctz");e.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var i=e.abs().divmod(r.abs()),o=i.div,s=n(o),l=i.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=a(s)+4,h=n(l.ushln(u).divRound(r));return c*(s+h*Math.pow(2,-u))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?c*h*Math.pow(2,-f):(h*=Math.pow(2,-1023),c*h*Math.pow(2,1023-f))}},{"./lib/bn-to-num":82,"./lib/ctz":83}],92:[function(t,e,r){"use strict";function n(t,e,r,n,a,i){var o=["function ",t,"(a,l,h,",n.join(","),"){",i?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a",a?".get(m)":"[m]"];return i?e.indexOf("c")<0?o.push(";if(x===y){return m}else if(x<=y){"):o.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):o.push(";if(",e,"){i=m;"),r?o.push("l=m+1}else{h=m-1}"):o.push("h=m-1}else{l=m+1}"),o.push("}"),i?o.push("return -1};"):o.push("return i};"),o.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],!1,a),n("B","x"+t+"y",e,["y"],!0,a),n("P","c(x,y)"+t+"0",e,["y","c"],!1,a),n("Q","c(x,y)"+t+"0",e,["y","c"],!0,a),"function dispatchBsearch",r,"(a,y,c,l,h){if(a.shape){if(typeof(c)==='function'){return Q(a,(l===undefined)?0:l|0,(h===undefined)?a.shape[0]-1:h|0,y,c)}else{return B(a,(c===undefined)?0:c|0,(l===undefined)?a.shape[0]-1:l|0,y)}}else{if(typeof(c)==='function'){return P(a,(l===undefined)?0:l|0,(h===undefined)?a.length-1:h|0,y,c)}else{return A(a,(c===undefined)?0:c|0,(l===undefined)?a.length-1:l|0,y)}}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],93:[function(t,e,r){"use strict";function n(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}r.INT_BITS=32,r.INT_MAX=2147483647,r.INT_MIN=-1<<31,r.sign=function(t){return(t>0)-(t<0)},r.abs=function(t){var e=t>>31;return(t^e)-e},r.min=function(t,e){return e^(t^e)&-(t<e)},r.max=function(t,e){return t^(t^e)&-(t<e)},r.isPow2=function(t){return!(t&t-1||!t)},r.log2=function(t){var e,r;return e=(t>65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},r.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},r.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},r.countTrailingZeros=n,r.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1},r.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},r.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var a=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,a=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--a;t[e]=n<<a&255}}(a),r.reverse=function(t){return a[255&t]<<24|a[t>>>8&255]<<16|a[t>>>16&255]<<8|a[t>>>24&255]},r.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},r.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},r.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},r.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},r.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>n(t)+1}},{}],94:[function(t,e,r){"use strict";var n=t("clamp");e.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,g,v=null==e.cutoff?.25:e.cutoff,m=null==e.radius?8:e.radius,y=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext("2d"),r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t.canvas,h=t,r=f.width,o=f.height,p=h.getImageData(0,0,r,o),l=p.data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,g=c.length;d<g;d++)l[d]=c[d*u+y]/255;else if(1!==u)throw Error("Raw data can have only 1 value per pixel");var x=Array(r*o),b=Array(r*o),_=Array(s),w=Array(s),k=Array(s+1),T=Array(s);for(d=0,g=r*o;d<g;d++){var A=l[d];x[d]=1===A?0:0===A?a:Math.pow(Math.max(0,.5-A),2),b[d]=1===A?a:0===A?0:Math.pow(Math.max(0,A-.5),2)}i(x,r,o,_,w,T,k),i(b,r,o,_,w,T,k);var M=window.Float32Array?new Float32Array(r*o):new Array(r*o);for(d=0,g=r*o;d<g;d++)M[d]=n(1-((x[d]-b[d])/m+v),0,1);return M};var a=1e20;function i(t,e,r,n,a,i,s){for(var l=0;l<e;l++){for(var c=0;c<r;c++)n[c]=t[c*e+l];for(o(n,a,i,s,r),c=0;c<r;c++)t[c*e+l]=a[c]}for(c=0;c<r;c++){for(l=0;l<e;l++)n[l]=t[c*e+l];for(o(n,a,i,s,e),l=0;l<e;l++)t[c*e+l]=Math.sqrt(a[l])}}function o(t,e,r,n,i){r[0]=0,n[0]=-a,n[1]=+a;for(var o=1,s=0;o<i;o++){for(var l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);l<=n[s];)s--,l=(t[o]+o*o-(t[r[s]]+r[s]*r[s]))/(2*o-2*r[s]);r[++s]=o,n[s]=l,n[s+1]=+a}for(o=0,s=0;o<i;o++){for(;n[s+1]<o;)s++;e[o]=(o-r[s])*(o-r[s])+t[r[s]]}}},{clamp:116}],95:[function(t,e,r){!function(e,r){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function a(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function i(t,e,r){if(i.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof e?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;try{o=t("buffer").Buffer}catch(t){}function s(t,e,r){for(var n=0,a=Math.min(t.length,r),i=e;i<a;i++){var o=t.charCodeAt(i)-48;n<<=4,n|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return n}function l(t,e,r,n){for(var a=0,i=Math.min(t.length,r),o=e;o<i;o++){var s=t.charCodeAt(o)-48;a*=n,a+=s>=49?s-49+10:s>=17?s-17+10:s}return a}i.isBN=function(t){return t instanceof i||null!==t&&"object"==typeof t&&t.constructor.wordSize===i.wordSize&&Array.isArray(t.words)},i.max=function(t,e){return t.cmp(e)>0?t:e},i.min=function(t,e){return t.cmp(e)<0?t:e},i.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var a=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&a++,16===e?this._parseHex(t,a):this._parseBase(t,e,a),"-"===t[0]&&(this.negative=1),this.strip(),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initNumber=function(t,e,r){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(n(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===r&&this._initArray(this.toArray(),e,r)},i.prototype._initArray=function(t,e,r){if(n("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var a=0;a<this.length;a++)this.words[a]=0;var i,o,s=0;if("be"===r)for(a=t.length-1,i=0;a>=0;a-=3)o=t[a]|t[a-1]<<8|t[a-2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);else if("le"===r)for(a=0,i=0;a<t.length;a+=3)o=t[a]|t[a+1]<<8|t[a+2]<<16,this.words[i]|=o<<s&67108863,this.words[i+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,i++);return this.strip()},i.prototype._parseHex=function(t,e){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var n,a,i=0;for(r=t.length-6,n=0;r>=e;r-=6)a=s(t,r,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303,(i+=24)>=26&&(i-=26,n++);r+6!==e&&(a=s(t,e,r+6),this.words[n]|=a<<i&67108863,this.words[n+1]|=a>>>26-i&4194303),this.strip()},i.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,a=1;a<=67108863;a*=e)n++;n--,a=a/e|0;for(var i=t.length-r,o=i%n,s=Math.min(i,i-o)+r,c=0,u=r;u<s;u+=n)c=l(t,u,u+n,e),this.imuln(a),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==o){var h=1;for(c=l(t,u,t.length,e),u=0;u<o;u++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}},i.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},i.prototype.clone=function(){var t=new i(null);return this.copy(t),t},i.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},i.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],u=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var a=0|t.words[0],i=0|e.words[0],o=a*i,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c<n;c++){for(var u=l>>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(a=0|t.words[d])*(i=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}i.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var a=0,i=0,o=0;o<this.length;o++){var s=this.words[o],l=(16777215&(s<<a|i)).toString(16);r=0!==(i=s>>>24-a&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(a+=2)>=26&&(a-=26,o--)}for(0!==i&&(r=i.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var f=u[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var g=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?g+r:c[f-g.length]+g+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(t,e){return n("undefined"!=typeof o),this.toArrayLike(o,t,e)},i.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},i.prototype.toArrayLike=function(t,e,r){var a=this.byteLength(),i=r||Math.max(1,a);n(a<=i,"byte array longer than desired length"),n(i>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(i),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s<i;s++)c[s]=0}else{for(s=0;s<i-a;s++)c[s]=0;for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[i-s-1]=o}return c},Math.clz32?i.prototype._countBits=function(t){return 32-Math.clz32(t)}:i.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},i.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},i.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},i.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},i.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},i.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},i.prototype.isNeg=function(){return 0!==this.negative},i.prototype.neg=function(){return this.clone().ineg()},i.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},i.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},i.prototype.ior=function(t){return n(0==(this.negative|t.negative)),this.iuor(t)},i.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},i.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},i.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},i.prototype.iand=function(t){return n(0==(this.negative|t.negative)),this.iuand(t)},i.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},i.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},i.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;n<r.length;n++)this.words[n]=e.words[n]^r.words[n];if(this!==e)for(;n<e.length;n++)this.words[n]=e.words[n];return this.length=e.length,this.strip()},i.prototype.ixor=function(t){return n(0==(this.negative|t.negative)),this.iuxor(t)},i.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},i.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},i.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var a=0;a<e;a++)this.words[a]=67108863&~this.words[a];return r>0&&(this.words[a]=~this.words[a]&67108863>>26-r),this.strip()},i.prototype.notn=function(t){return this.clone().inotn(t)},i.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,a=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<<a:this.words[r]&~(1<<a),this.strip()},i.prototype.iadd=function(t){var e,r,n;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,n=t):(r=t,n=this);for(var a=0,i=0;i<n.length;i++)e=(0|r.words[i])+(0|n.words[i])+a,this.words[i]=67108863&e,a=e>>>26;for(;0!==a&&i<r.length;i++)e=(0|r.words[i])+a,this.words[i]=67108863&e,a=e>>>26;if(this.length=r.length,0!==a)this.words[this.length]=a,this.length++;else if(r!==this)for(;i<r.length;i++)this.words[i]=r.words[i];return this},i.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},i.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,a=this.cmp(t);if(0===a)return this.negative=0,this.length=1,this.words[0]=0,this;a>0?(r=this,n=t):(r=t,n=this);for(var i=0,o=0;o<n.length;o++)i=(e=(0|r.words[o])-(0|n.words[o])+i)>>26,this.words[o]=67108863&e;for(;0!==i&&o<r.length;o++)i=(e=(0|r.words[o])+i)>>26,this.words[o]=67108863&e;if(0===i&&o<r.length&&r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this.length=Math.max(this.length,o),r!==this&&(this.negative=1),this.strip()},i.prototype.sub=function(t){return this.clone().isub(t)};var p=function(t,e,r){var n,a,i,o=t.words,s=e.words,l=r.words,c=0,u=0|o[0],h=8191&u,f=u>>>13,p=0|o[1],d=8191&p,g=p>>>13,v=0|o[2],m=8191&v,y=v>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],k=8191&w,T=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,z=P>>>13,I=0|o[8],D=8191&I,R=I>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],V=8191&j,U=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Y=0|s[2],W=8191&Y,X=Y>>>13,Z=0|s[3],J=8191&Z,K=Z>>>13,Q=0|s[4],$=8191&Q,tt=Q>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,at=0|s[6],it=8191&at,ot=at>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,gt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var vt=(c+(n=Math.imul(h,V))|0)+((8191&(a=(a=Math.imul(h,U))+Math.imul(f,V)|0))<<13)|0;c=((i=Math.imul(f,U))+(a>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(d,V),a=(a=Math.imul(d,U))+Math.imul(g,V)|0,i=Math.imul(g,U);var mt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(a=(a=a+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((i=i+Math.imul(f,G)|0)+(a>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(m,V),a=(a=Math.imul(m,U))+Math.imul(y,V)|0,i=Math.imul(y,U),n=n+Math.imul(d,H)|0,a=(a=a+Math.imul(d,G)|0)+Math.imul(g,H)|0,i=i+Math.imul(g,G)|0;var yt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(a=(a=a+Math.imul(h,X)|0)+Math.imul(f,W)|0))<<13)|0;c=((i=i+Math.imul(f,X)|0)+(a>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(b,V),a=(a=Math.imul(b,U))+Math.imul(_,V)|0,i=Math.imul(_,U),n=n+Math.imul(m,H)|0,a=(a=a+Math.imul(m,G)|0)+Math.imul(y,H)|0,i=i+Math.imul(y,G)|0,n=n+Math.imul(d,W)|0,a=(a=a+Math.imul(d,X)|0)+Math.imul(g,W)|0,i=i+Math.imul(g,X)|0;var xt=(c+(n=n+Math.imul(h,J)|0)|0)+((8191&(a=(a=a+Math.imul(h,K)|0)+Math.imul(f,J)|0))<<13)|0;c=((i=i+Math.imul(f,K)|0)+(a>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(k,V),a=(a=Math.imul(k,U))+Math.imul(T,V)|0,i=Math.imul(T,U),n=n+Math.imul(b,H)|0,a=(a=a+Math.imul(b,G)|0)+Math.imul(_,H)|0,i=i+Math.imul(_,G)|0,n=n+Math.imul(m,W)|0,a=(a=a+Math.imul(m,X)|0)+Math.imul(y,W)|0,i=i+Math.imul(y,X)|0,n=n+Math.imul(d,J)|0,a=(a=a+Math.imul(d,K)|0)+Math.imul(g,J)|0,i=i+Math.imul(g,K)|0;var bt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(a=(a=a+Math.imul(h,tt)|0)+Math.imul(f,$)|0))<<13)|0;c=((i=i+Math.imul(f,tt)|0)+(a>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,V),a=(a=Math.imul(M,U))+Math.imul(S,V)|0,i=Math.imul(S,U),n=n+Math.imul(k,H)|0,a=(a=a+Math.imul(k,G)|0)+Math.imul(T,H)|0,i=i+Math.imul(T,G)|0,n=n+Math.imul(b,W)|0,a=(a=a+Math.imul(b,X)|0)+Math.imul(_,W)|0,i=i+Math.imul(_,X)|0,n=n+Math.imul(m,J)|0,a=(a=a+Math.imul(m,K)|0)+Math.imul(y,J)|0,i=i+Math.imul(y,K)|0,n=n+Math.imul(d,$)|0,a=(a=a+Math.imul(d,tt)|0)+Math.imul(g,$)|0,i=i+Math.imul(g,tt)|0;var _t=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(a=(a=a+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((i=i+Math.imul(f,nt)|0)+(a>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,V),a=(a=Math.imul(L,U))+Math.imul(C,V)|0,i=Math.imul(C,U),n=n+Math.imul(M,H)|0,a=(a=a+Math.imul(M,G)|0)+Math.imul(S,H)|0,i=i+Math.imul(S,G)|0,n=n+Math.imul(k,W)|0,a=(a=a+Math.imul(k,X)|0)+Math.imul(T,W)|0,i=i+Math.imul(T,X)|0,n=n+Math.imul(b,J)|0,a=(a=a+Math.imul(b,K)|0)+Math.imul(_,J)|0,i=i+Math.imul(_,K)|0,n=n+Math.imul(m,$)|0,a=(a=a+Math.imul(m,tt)|0)+Math.imul(y,$)|0,i=i+Math.imul(y,tt)|0,n=n+Math.imul(d,rt)|0,a=(a=a+Math.imul(d,nt)|0)+Math.imul(g,rt)|0,i=i+Math.imul(g,nt)|0;var wt=(c+(n=n+Math.imul(h,it)|0)|0)+((8191&(a=(a=a+Math.imul(h,ot)|0)+Math.imul(f,it)|0))<<13)|0;c=((i=i+Math.imul(f,ot)|0)+(a>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,V),a=(a=Math.imul(O,U))+Math.imul(z,V)|0,i=Math.imul(z,U),n=n+Math.imul(L,H)|0,a=(a=a+Math.imul(L,G)|0)+Math.imul(C,H)|0,i=i+Math.imul(C,G)|0,n=n+Math.imul(M,W)|0,a=(a=a+Math.imul(M,X)|0)+Math.imul(S,W)|0,i=i+Math.imul(S,X)|0,n=n+Math.imul(k,J)|0,a=(a=a+Math.imul(k,K)|0)+Math.imul(T,J)|0,i=i+Math.imul(T,K)|0,n=n+Math.imul(b,$)|0,a=(a=a+Math.imul(b,tt)|0)+Math.imul(_,$)|0,i=i+Math.imul(_,tt)|0,n=n+Math.imul(m,rt)|0,a=(a=a+Math.imul(m,nt)|0)+Math.imul(y,rt)|0,i=i+Math.imul(y,nt)|0,n=n+Math.imul(d,it)|0,a=(a=a+Math.imul(d,ot)|0)+Math.imul(g,it)|0,i=i+Math.imul(g,ot)|0;var kt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(a=(a=a+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((i=i+Math.imul(f,ct)|0)+(a>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(D,V),a=(a=Math.imul(D,U))+Math.imul(R,V)|0,i=Math.imul(R,U),n=n+Math.imul(O,H)|0,a=(a=a+Math.imul(O,G)|0)+Math.imul(z,H)|0,i=i+Math.imul(z,G)|0,n=n+Math.imul(L,W)|0,a=(a=a+Math.imul(L,X)|0)+Math.imul(C,W)|0,i=i+Math.imul(C,X)|0,n=n+Math.imul(M,J)|0,a=(a=a+Math.imul(M,K)|0)+Math.imul(S,J)|0,i=i+Math.imul(S,K)|0,n=n+Math.imul(k,$)|0,a=(a=a+Math.imul(k,tt)|0)+Math.imul(T,$)|0,i=i+Math.imul(T,tt)|0,n=n+Math.imul(b,rt)|0,a=(a=a+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,i=i+Math.imul(_,nt)|0,n=n+Math.imul(m,it)|0,a=(a=a+Math.imul(m,ot)|0)+Math.imul(y,it)|0,i=i+Math.imul(y,ot)|0,n=n+Math.imul(d,lt)|0,a=(a=a+Math.imul(d,ct)|0)+Math.imul(g,lt)|0,i=i+Math.imul(g,ct)|0;var Tt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(a=(a=a+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((i=i+Math.imul(f,ft)|0)+(a>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(B,V),a=(a=Math.imul(B,U))+Math.imul(N,V)|0,i=Math.imul(N,U),n=n+Math.imul(D,H)|0,a=(a=a+Math.imul(D,G)|0)+Math.imul(R,H)|0,i=i+Math.imul(R,G)|0,n=n+Math.imul(O,W)|0,a=(a=a+Math.imul(O,X)|0)+Math.imul(z,W)|0,i=i+Math.imul(z,X)|0,n=n+Math.imul(L,J)|0,a=(a=a+Math.imul(L,K)|0)+Math.imul(C,J)|0,i=i+Math.imul(C,K)|0,n=n+Math.imul(M,$)|0,a=(a=a+Math.imul(M,tt)|0)+Math.imul(S,$)|0,i=i+Math.imul(S,tt)|0,n=n+Math.imul(k,rt)|0,a=(a=a+Math.imul(k,nt)|0)+Math.imul(T,rt)|0,i=i+Math.imul(T,nt)|0,n=n+Math.imul(b,it)|0,a=(a=a+Math.imul(b,ot)|0)+Math.imul(_,it)|0,i=i+Math.imul(_,ot)|0,n=n+Math.imul(m,lt)|0,a=(a=a+Math.imul(m,ct)|0)+Math.imul(y,lt)|0,i=i+Math.imul(y,ct)|0,n=n+Math.imul(d,ht)|0,a=(a=a+Math.imul(d,ft)|0)+Math.imul(g,ht)|0,i=i+Math.imul(g,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(a=(a=a+Math.imul(h,gt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((i=i+Math.imul(f,gt)|0)+(a>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),a=(a=Math.imul(B,G))+Math.imul(N,H)|0,i=Math.imul(N,G),n=n+Math.imul(D,W)|0,a=(a=a+Math.imul(D,X)|0)+Math.imul(R,W)|0,i=i+Math.imul(R,X)|0,n=n+Math.imul(O,J)|0,a=(a=a+Math.imul(O,K)|0)+Math.imul(z,J)|0,i=i+Math.imul(z,K)|0,n=n+Math.imul(L,$)|0,a=(a=a+Math.imul(L,tt)|0)+Math.imul(C,$)|0,i=i+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,a=(a=a+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,i=i+Math.imul(S,nt)|0,n=n+Math.imul(k,it)|0,a=(a=a+Math.imul(k,ot)|0)+Math.imul(T,it)|0,i=i+Math.imul(T,ot)|0,n=n+Math.imul(b,lt)|0,a=(a=a+Math.imul(b,ct)|0)+Math.imul(_,lt)|0,i=i+Math.imul(_,ct)|0,n=n+Math.imul(m,ht)|0,a=(a=a+Math.imul(m,ft)|0)+Math.imul(y,ht)|0,i=i+Math.imul(y,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(a=(a=a+Math.imul(d,gt)|0)+Math.imul(g,dt)|0))<<13)|0;c=((i=i+Math.imul(g,gt)|0)+(a>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),a=(a=Math.imul(B,X))+Math.imul(N,W)|0,i=Math.imul(N,X),n=n+Math.imul(D,J)|0,a=(a=a+Math.imul(D,K)|0)+Math.imul(R,J)|0,i=i+Math.imul(R,K)|0,n=n+Math.imul(O,$)|0,a=(a=a+Math.imul(O,tt)|0)+Math.imul(z,$)|0,i=i+Math.imul(z,tt)|0,n=n+Math.imul(L,rt)|0,a=(a=a+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,i=i+Math.imul(C,nt)|0,n=n+Math.imul(M,it)|0,a=(a=a+Math.imul(M,ot)|0)+Math.imul(S,it)|0,i=i+Math.imul(S,ot)|0,n=n+Math.imul(k,lt)|0,a=(a=a+Math.imul(k,ct)|0)+Math.imul(T,lt)|0,i=i+Math.imul(T,ct)|0,n=n+Math.imul(b,ht)|0,a=(a=a+Math.imul(b,ft)|0)+Math.imul(_,ht)|0,i=i+Math.imul(_,ft)|0;var St=(c+(n=n+Math.imul(m,dt)|0)|0)+((8191&(a=(a=a+Math.imul(m,gt)|0)+Math.imul(y,dt)|0))<<13)|0;c=((i=i+Math.imul(y,gt)|0)+(a>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,J),a=(a=Math.imul(B,K))+Math.imul(N,J)|0,i=Math.imul(N,K),n=n+Math.imul(D,$)|0,a=(a=a+Math.imul(D,tt)|0)+Math.imul(R,$)|0,i=i+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,a=(a=a+Math.imul(O,nt)|0)+Math.imul(z,rt)|0,i=i+Math.imul(z,nt)|0,n=n+Math.imul(L,it)|0,a=(a=a+Math.imul(L,ot)|0)+Math.imul(C,it)|0,i=i+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,a=(a=a+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,i=i+Math.imul(S,ct)|0,n=n+Math.imul(k,ht)|0,a=(a=a+Math.imul(k,ft)|0)+Math.imul(T,ht)|0,i=i+Math.imul(T,ft)|0;var Et=(c+(n=n+Math.imul(b,dt)|0)|0)+((8191&(a=(a=a+Math.imul(b,gt)|0)+Math.imul(_,dt)|0))<<13)|0;c=((i=i+Math.imul(_,gt)|0)+(a>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,$),a=(a=Math.imul(B,tt))+Math.imul(N,$)|0,i=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,a=(a=a+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,i=i+Math.imul(R,nt)|0,n=n+Math.imul(O,it)|0,a=(a=a+Math.imul(O,ot)|0)+Math.imul(z,it)|0,i=i+Math.imul(z,ot)|0,n=n+Math.imul(L,lt)|0,a=(a=a+Math.imul(L,ct)|0)+Math.imul(C,lt)|0,i=i+Math.imul(C,ct)|0,n=n+Math.imul(M,ht)|0,a=(a=a+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,i=i+Math.imul(S,ft)|0;var Lt=(c+(n=n+Math.imul(k,dt)|0)|0)+((8191&(a=(a=a+Math.imul(k,gt)|0)+Math.imul(T,dt)|0))<<13)|0;c=((i=i+Math.imul(T,gt)|0)+(a>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),a=(a=Math.imul(B,nt))+Math.imul(N,rt)|0,i=Math.imul(N,nt),n=n+Math.imul(D,it)|0,a=(a=a+Math.imul(D,ot)|0)+Math.imul(R,it)|0,i=i+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,a=(a=a+Math.imul(O,ct)|0)+Math.imul(z,lt)|0,i=i+Math.imul(z,ct)|0,n=n+Math.imul(L,ht)|0,a=(a=a+Math.imul(L,ft)|0)+Math.imul(C,ht)|0,i=i+Math.imul(C,ft)|0;var Ct=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(a=(a=a+Math.imul(M,gt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((i=i+Math.imul(S,gt)|0)+(a>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,it),a=(a=Math.imul(B,ot))+Math.imul(N,it)|0,i=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,a=(a=a+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,i=i+Math.imul(R,ct)|0,n=n+Math.imul(O,ht)|0,a=(a=a+Math.imul(O,ft)|0)+Math.imul(z,ht)|0,i=i+Math.imul(z,ft)|0;var Pt=(c+(n=n+Math.imul(L,dt)|0)|0)+((8191&(a=(a=a+Math.imul(L,gt)|0)+Math.imul(C,dt)|0))<<13)|0;c=((i=i+Math.imul(C,gt)|0)+(a>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),a=(a=Math.imul(B,ct))+Math.imul(N,lt)|0,i=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,a=(a=a+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,i=i+Math.imul(R,ft)|0;var Ot=(c+(n=n+Math.imul(O,dt)|0)|0)+((8191&(a=(a=a+Math.imul(O,gt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((i=i+Math.imul(z,gt)|0)+(a>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ht),a=(a=Math.imul(B,ft))+Math.imul(N,ht)|0,i=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(a=(a=a+Math.imul(D,gt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((i=i+Math.imul(R,gt)|0)+(a>>>13)|0)+(zt>>>26)|0,zt&=67108863;var It=(c+(n=Math.imul(B,dt))|0)+((8191&(a=(a=Math.imul(B,gt))+Math.imul(N,dt)|0))<<13)|0;return c=((i=Math.imul(N,gt))+(a>>>13)|0)+(It>>>26)|0,It&=67108863,l[0]=vt,l[1]=mt,l[2]=yt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=kt,l[8]=Tt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=zt,l[18]=It,0!==c&&(l[19]=c,r.length++),r};function d(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(p=f),i.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?p(this,t,e):r<63?f(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,a=0,i=0;i<r.length-1;i++){var o=a;a=0;for(var s=67108863&n,l=Math.min(i,e.length-1),c=Math.max(0,i-t.length+1);c<=l;c++){var u=i-c,h=(0|t.words[u])*(0|e.words[c]),f=67108863&h;s=67108863&(f=f+s|0),a+=(o=(o=o+(h/67108864|0)|0)+(f>>>26)|0)>>>26,o&=67108863}r.words[i]=s,n=o,o=a}return 0!==n?r.words[i]=n:r.length--,r.strip()}(this,t,e):d(this,t,e)},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=i.prototype._countBits(t)-1,n=0;n<t;n++)e[n]=this.revBin(n,r,t);return e},g.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var n=0,a=0;a<e;a++)n|=(1&t)<<e-a-1,t>>=1;return n},g.prototype.permute=function(t,e,r,n,a,i){for(var o=0;o<i;o++)n[o]=e[t[o]],a[o]=r[t[o]]},g.prototype.transform=function(t,e,r,n,a,i){this.permute(i,t,e,r,n,a);for(var o=1;o<a;o<<=1)for(var s=o<<1,l=Math.cos(2*Math.PI/s),c=Math.sin(2*Math.PI/s),u=0;u<a;u+=s)for(var h=l,f=c,p=0;p<o;p++){var d=r[u+p],g=n[u+p],v=r[u+p+o],m=n[u+p+o],y=h*v-f*m;m=h*m+f*v,v=y,r[u+p]=d+v,n[u+p]=g+m,r[u+p+o]=d-v,n[u+p+o]=g-m,p!==s&&(y=l*h-c*f,f=l*f+c*h,h=y)}},g.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),n=1&r,a=0;for(r=r/2|0;r;r>>>=1)a++;return 1<<a+1+n},g.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var n=0;n<r/2;n++){var a=t[n];t[n]=t[r-n-1],t[r-n-1]=a,a=e[n],e[n]=-e[r-n-1],e[r-n-1]=-a}},g.prototype.normalize13b=function(t,e){for(var r=0,n=0;n<e/2;n++){var a=8192*Math.round(t[2*n+1]/e)+Math.round(t[2*n]/e)+r;t[n]=67108863&a,r=a<67108864?0:a/67108864|0}return t},g.prototype.convert13b=function(t,e,r,a){for(var i=0,o=0;o<e;o++)i+=0|t[o],r[2*o]=8191&i,i>>>=13,r[2*o+1]=8191&i,i>>>=13;for(o=2*e;o<a;++o)r[o]=0;n(0===i),n(0==(-8192&i))},g.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},g.prototype.mulp=function(t,e,r){var n=2*this.guessLen13b(t.length,e.length),a=this.makeRBT(n),i=this.stub(n),o=new Array(n),s=new Array(n),l=new Array(n),c=new Array(n),u=new Array(n),h=new Array(n),f=r.words;f.length=n,this.convert13b(t.words,t.length,o,n),this.convert13b(e.words,e.length,c,n),this.transform(o,i,s,l,n,a),this.transform(c,i,u,h,n,a);for(var p=0;p<n;p++){var d=s[p]*u[p]-l[p]*h[p];l[p]=s[p]*h[p]+l[p]*u[p],s[p]=d}return this.conjugate(s,l,n),this.transform(s,l,f,i,n,a),this.conjugate(f,i,n),this.normalize13b(f,n),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},i.prototype.mul=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},i.prototype.mulf=function(t){var e=new i(null);return e.words=new Array(this.length+t.length),d(this,t,e)},i.prototype.imul=function(t){return this.clone().mulTo(t,this)},i.prototype.imuln=function(t){n("number"==typeof t),n(t<67108864);for(var e=0,r=0;r<this.length;r++){var a=(0|this.words[r])*t,i=(67108863&a)+(67108863&e);e>>=26,e+=a/67108864|0,e+=i>>>26,this.words[r]=67108863&i}return 0!==e&&(this.words[r]=e,this.length++),this},i.prototype.muln=function(t){return this.clone().imuln(t)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var n=r/26|0,a=r%26;e[r]=(t.words[n]&1<<a)>>>a}return e}(t);if(0===e.length)return new i(1);for(var r=this,n=0;n<e.length&&0===e[n];n++,r=r.sqr());if(++n<e.length)for(var a=r.sqr();n<e.length;n++,a=a.sqr())0!==e[n]&&(r=r.mul(a));return r},i.prototype.iushln=function(t){n("number"==typeof t&&t>=0);var e,r=t%26,a=(t-r)/26,i=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e<this.length;e++){var s=this.words[e]&i,l=(0|this.words[e])-s<<r;this.words[e]=l|o,o=s>>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==a){for(e=this.length-1;e>=0;e--)this.words[e+a]=this.words[e];for(e=0;e<a;e++)this.words[e]=0;this.length+=a}return this.strip()},i.prototype.ishln=function(t){return n(0===this.negative),this.iushln(t)},i.prototype.iushrn=function(t,e,r){var a;n("number"==typeof t&&t>=0),a=e?(e-e%26)/26:0;var i=t%26,o=Math.min((t-i)/26,this.length),s=67108863^67108863>>>i<<i,l=r;if(a-=o,a=Math.max(0,a),l){for(var c=0;c<o;c++)l.words[c]=this.words[c];l.length=o}if(0===o);else if(this.length>o)for(this.length-=o,c=0;c<this.length;c++)this.words[c]=this.words[c+o];else this.words[0]=0,this.length=1;var u=0;for(c=this.length-1;c>=0&&(0!==u||c>=a);c--){var h=0|this.words[c];this.words[c]=u<<26-i|h>>>i,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},i.prototype.shln=function(t){return this.clone().ishln(t)},i.prototype.ushln=function(t){return this.clone().iushln(t)},i.prototype.shrn=function(t){return this.clone().ishrn(t)},i.prototype.ushrn=function(t){return this.clone().iushrn(t)},i.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,a=1<<e;return!(this.length<=r)&&!!(this.words[r]&a)},i.prototype.imaskn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var a=67108863^67108863>>>e<<e;this.words[this.length-1]&=a}return this.strip()},i.prototype.maskn=function(t){return this.clone().imaskn(t)},i.prototype.iaddn=function(t){return n("number"==typeof t),n(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},i.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},i.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},i.prototype.addn=function(t){return this.clone().iaddn(t)},i.prototype.subn=function(t){return this.clone().isubn(t)},i.prototype.iabs=function(){return this.negative=0,this},i.prototype.abs=function(){return this.clone().iabs()},i.prototype._ishlnsubmul=function(t,e,r){var a,i,o=t.length+r;this._expand(o);var s=0;for(a=0;a<t.length;a++){i=(0|this.words[a+r])+s;var l=(0|t.words[a])*e;s=((i-=67108863&l)>>26)-(l/67108864|0),this.words[a+r]=67108863&i}for(;a<this.length-r;a++)s=(i=(0|this.words[a+r])+s)>>26,this.words[a+r]=67108863&i;if(0===s)return this.strip();for(n(-1===s),s=0,a=0;a<this.length;a++)s=(i=-(0|this.words[a])+s)>>26,this.words[a]=67108863&i;return this.negative=1,this.strip()},i.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),a=t,o=0|a.words[a.length-1];0!==(r=26-this._countBits(o))&&(a=a.ushln(r),n.iushln(r),o=0|a.words[a.length-1]);var s,l=n.length-a.length;if("mod"!==e){(s=new i(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c<s.length;c++)s.words[c]=0}var u=n.clone()._ishlnsubmul(a,1,l);0===u.negative&&(n=u,s&&(s.words[l]=1));for(var h=l-1;h>=0;h--){var f=67108864*(0|n.words[a.length+h])+(0|n.words[a.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(a,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(a,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},i.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(a=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:a,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(a=s.div.neg()),{div:a,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new i(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new i(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new i(this.modn(t.words[0]))}:this._wordDiv(t,e);var a,o,s},i.prototype.div=function(t){return this.divmod(t,"div",!1).div},i.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},i.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},i.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),a=t.andln(1),i=r.cmp(n);return i<0||1===a&&0===i?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},i.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,a=this.length-1;a>=0;a--)r=(e*r+(0|this.words[a]))%t;return r},i.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var a=(0|this.words[r])+67108864*e;this.words[r]=a/t|0,e=a%t}return this.strip()},i.prototype.divn=function(t){return this.clone().idivn(t)},i.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a=new i(1),o=new i(0),s=new i(0),l=new i(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(a.isOdd()||o.isOdd())&&(a.iadd(u),o.isub(h)),a.iushrn(1),o.iushrn(1);for(var d=0,g=1;0==(r.words[0]&g)&&d<26;++d,g<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),a.isub(s),o.isub(l)):(r.isub(e),s.isub(a),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},i.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var a,o=new i(1),s=new i(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(a=0===e.cmpn(1)?o:s).cmpn(0)<0&&a.iadd(t),a},i.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var a=e.cmp(r);if(a<0){var i=e;e=r,r=i}else if(0===a||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},i.prototype.invm=function(t){return this.egcd(t).a.umod(t)},i.prototype.isEven=function(){return 0==(1&this.words[0])},i.prototype.isOdd=function(){return 1==(1&this.words[0])},i.prototype.andln=function(t){return this.words[0]&t},i.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,a=1<<e;if(this.length<=r)return this._expand(r+1),this.words[r]|=a,this;for(var i=a,o=r;0!==i&&o<this.length;o++){var s=0|this.words[o];i=(s+=i)>>>26,s&=67108863,this.words[o]=s}return 0!==i&&(this.words[o]=i,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var a=0|this.words[0];e=a===t?0:a<t?-1:1}return 0!==this.negative?0|-e:e},i.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},i.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var n=0|this.words[r],a=0|t.words[r];if(n!==a){n<a?e=-1:n>a&&(e=1);break}}return e},i.prototype.gtn=function(t){return 1===this.cmpn(t)},i.prototype.gt=function(t){return 1===this.cmp(t)},i.prototype.gten=function(t){return this.cmpn(t)>=0},i.prototype.gte=function(t){return this.cmp(t)>=0},i.prototype.ltn=function(t){return-1===this.cmpn(t)},i.prototype.lt=function(t){return-1===this.cmp(t)},i.prototype.lten=function(t){return this.cmpn(t)<=0},i.prototype.lte=function(t){return this.cmp(t)<=0},i.prototype.eqn=function(t){return 0===this.cmpn(t)},i.prototype.eq=function(t){return 0===this.cmp(t)},i.red=function(t){return new w(t)},i.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(t){return this.red=t,this},i.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},i.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},i.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},i.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},i.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},i.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},i.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},i.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new i(e,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function y(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function x(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function _(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function w(t){if("string"==typeof t){var e=i._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){w.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new i(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e<this.n?-1:r.ucmp(this.p);return 0===n?(r.words[0]=0,r.length=1):n>0?r.isub(this.p):r.strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},a(y,m),y.prototype.split=function(t,e){for(var r=Math.min(t.length,9),n=0;n<r;n++)e.words[n]=t.words[n];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var a=t.words[9];for(e.words[e.length++]=4194303&a,n=10;n<t.length;n++){var i=0|t.words[n];t.words[n-10]=(4194303&i)<<4|a>>>22,a=i}a>>>=22,t.words[n-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},y.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var n=0|t.words[r];e+=977*n,t.words[r]=67108863&e,e=64*n+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},a(x,m),a(b,m),a(_,m),_.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var n=19*(0|t.words[r])+e,a=67108863&n;n>>>=26,t.words[r]=a,e=n}return 0!==e&&(t.words[t.length++]=e),t},i._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new y;else if("p224"===t)e=new x;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new _}return v[t]=e,e},w.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},w.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},w.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},w.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},w.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},w.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},w.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},w.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},w.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},w.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},w.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},w.prototype.isqr=function(t){return this.imul(t,t.clone())},w.prototype.sqr=function(t){return this.mul(t,t)},w.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new i(1)).iushrn(2);return this.pow(t,r)}for(var a=this.m.subn(1),o=0;!a.isZero()&&0===a.andln(1);)o++,a.iushrn(1);n(!a.isZero());var s=new i(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new i(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,a),f=this.pow(t,a.addn(1).iushrn(1)),p=this.pow(t,a),d=o;0!==p.cmp(s);){for(var g=p,v=0;0!==g.cmp(s);v++)g=g.redSqr();n(v<d);var m=this.pow(h,new i(1).iushln(d-v-1));f=f.redMul(m),h=m.redSqr(),p=p.redMul(h),d=v}return f},w.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},w.prototype.pow=function(t,e){if(e.isZero())return new i(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new i(1).toRed(this),r[1]=t;for(var n=2;n<r.length;n++)r[n]=this.mul(r[n-1],t);var a=r[0],o=0,s=0,l=e.bitLength()%26;for(0===l&&(l=26),n=e.length-1;n>=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;a!==r[0]&&(a=this.sqr(a)),0!==h||0!==o?(o<<=1,o|=h,(4===++s||0===n&&0===u)&&(a=this.mul(a,r[o]),s=0,o=0)):s=0}l=26}return a},w.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},w.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},i.mont=function(t){return new k(t)},a(k,w),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),i=a;return a.cmp(this.m)>=0?i=a.isub(this.m):a.cmpn(0)<0&&(i=a.iadd(this.m)),i._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new i(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),o=a;return a.cmp(this.m)>=0?o=a.isub(this.m):a.cmpn(0)<0&&(o=a.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}("undefined"==typeof e||e,this)},{buffer:104}],96:[function(t,e,r){"use strict";e.exports=function(t){var e,r,n,a=t.length,i=0;for(e=0;e<a;++e)i+=t[e].length;var o=new Array(i),s=0;for(e=0;e<a;++e){var l=t[e],c=l.length;for(r=0;r<c;++r){var u=o[s++]=new Array(c-1),h=0;for(n=0;n<c;++n)n!==r&&(u[h++]=l[n]);if(1&r){var f=u[1];u[1]=u[0],u[0]=f}}}return o}},{}],97:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 1:return n=[],c(a=t,a,u,!0),n;case 2:return"function"==typeof e?c(t,t,e,!0):function(t,e){return n=[],c(t,e,u,!1),n}(t,e);case 3:return c(t,e,r,!1);default:throw new Error("box-intersect: Invalid arguments")}var a};var n,a=t("typedarray-pool"),i=t("./lib/sweep"),o=t("./lib/intersect");function s(t,e){for(var r=0;r<t;++r)if(!(e[r]<=e[r+t]))return!0;return!1}function l(t,e,r,n){for(var a=0,i=0,o=0,l=t.length;o<l;++o){var c=t[o];if(!s(e,c)){for(var u=0;u<2*e;++u)r[a++]=c[u];n[i++]=o}}return i}function c(t,e,r,n){var s=t.length,c=e.length;if(!(s<=0||c<=0)){var u=t[0].length>>>1;if(!(u<=0)){var h,f=a.mallocDouble(2*u*s),p=a.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)i.init(s),h=i.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=a.mallocDouble(2*u*c),g=a.mallocInt32(c);(c=l(e,u,d,g))>0&&(i.init(s+c),h=1===u?i.sweepBipartite(u,r,0,s,f,p,0,c,d,g):o(u,r,n,s,f,p,c,d,g),a.free(d),a.free(g))}a.free(f),a.free(p)}return h}}}function u(t,e){n.push([t,e])}},{"./lib/intersect":99,"./lib/sweep":103,"typedarray-pool":543}],98:[function(t,e,r){"use strict";var n="d",a="ax",i="vv",o="fp",s="es",l="rs",c="re",u="rb",h="ri",f="rp",p="bs",d="be",g="bb",v="bi",m="bp",y="rv",x="Q",b=[n,a,i,l,c,u,h,p,d,g,v];function _(t){var e="bruteForce"+(t?"Full":"Partial"),r=[],_=b.slice();t||_.splice(3,0,o);var w=["function "+e+"("+_.join()+"){"];function k(e,o){var _=function(t,e,r){var o="bruteForce"+(t?"Red":"Blue")+(e?"Flip":"")+(r?"Full":""),_=["function ",o,"(",b.join(),"){","var ",s,"=2*",n,";"],w="for(var i="+l+","+f+"="+s+"*"+l+";i<"+c+";++i,"+f+"+="+s+"){var x0="+u+"["+a+"+"+f+"],x1="+u+"["+a+"+"+f+"+"+n+"],xi="+h+"[i];",k="for(var j="+p+","+m+"="+s+"*"+p+";j<"+d+";++j,"+m+"+="+s+"){var y0="+g+"["+a+"+"+m+"],"+(r?"y1="+g+"["+a+"+"+m+"+"+n+"],":"")+"yi="+v+"[j];";return t?_.push(w,x,":",k):_.push(k,x,":",w),r?_.push("if(y1<x0||x1<y0)continue;"):e?_.push("if(y0<=x0||x1<y0)continue;"):_.push("if(y0<x0||x1<y0)continue;"),_.push("for(var k="+a+"+1;k<"+n+";++k){var r0="+u+"[k+"+f+"],r1="+u+"[k+"+n+"+"+f+"],b0="+g+"[k+"+m+"],b1="+g+"[k+"+n+"+"+m+"];if(r1<b0||b1<r0)continue "+x+";}var "+y+"="+i+"("),e?_.push("yi,xi"):_.push("xi,yi"),_.push(");if("+y+"!==void 0)return "+y+";}}}"),{name:o,code:_.join("")}}(e,o,t);r.push(_.code),w.push("return "+_.name+"("+b.join()+");")}w.push("if("+c+"-"+l+">"+d+"-"+p+"){"),t?(k(!0,!1),w.push("}else{"),k(!1,!1)):(w.push("if("+o+"){"),k(!0,!0),w.push("}else{"),k(!0,!1),w.push("}}else{if("+o+"){"),k(!1,!0),w.push("}else{"),k(!1,!1),w.push("}")),w.push("}}return "+e);var T=r.join("")+w.join("");return new Function(T)()}r.partial=_(!1),r.full=_(!0)},{}],99:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,u,S,E,L,C){!function(t,e){var r=8*a.log2(e+1)*(t+1)|0,i=a.nextPow2(b*r);w.length<i&&(n.free(w),w=n.mallocInt32(i));var o=a.nextPow2(_*r);k<o&&(n.free(k),k=n.mallocDouble(o))}(t,i+E);var P,O=0,z=2*t;T(O++,0,0,i,0,E,r?16:0,-1/0,1/0),r||T(O++,0,0,E,0,i,1,-1/0,1/0);for(;O>0;){var I=(O-=1)*b,D=w[I],R=w[I+1],F=w[I+2],B=w[I+3],N=w[I+4],j=w[I+5],V=O*_,U=k[V],q=k[V+1],H=1&j,G=!!(16&j),Y=u,W=S,X=L,Z=C;if(H&&(Y=L,W=C,X=u,Z=S),!(2&j&&(F=v(t,D,R,F,Y,W,q),R>=F)||4&j&&(R=m(t,D,R,F,Y,W,U))>=F)){var J=F-R,K=N-B;if(G){if(t*J*(J+K)<p){if(void 0!==(P=l.scanComplete(t,D,e,R,F,Y,W,B,N,X,Z)))return P;continue}}else{if(t*Math.min(J,K)<h){if(void 0!==(P=o(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}if(t*J*K<f){if(void 0!==(P=l.scanBipartite(t,D,e,H,R,F,Y,W,B,N,X,Z)))return P;continue}}var Q=d(t,D,R,F,Y,W,U,q);if(R<Q)if(t*(Q-R)<h){if(void 0!==(P=s(t,D+1,e,R,Q,Y,W,B,N,X,Z)))return P}else if(D===t-2){if(void 0!==(P=H?l.sweepBipartite(t,e,B,N,X,Z,R,Q,Y,W):l.sweepBipartite(t,e,R,Q,Y,W,B,N,X,Z)))return P}else T(O++,D+1,R,Q,B,N,H,-1/0,1/0),T(O++,D+1,B,N,R,Q,1^H,-1/0,1/0);if(Q<F){var $=c(t,D,B,N,X,Z),tt=X[z*$+D],et=g(t,D,$,N,X,Z,tt);if(et<N&&T(O++,D,Q,F,et,N,(4|H)+(G?16:0),tt,q),B<$&&T(O++,D,Q,F,B,$,(2|H)+(G?16:0),U,tt),$+1===et){if(void 0!==(P=G?M(t,D,e,Q,F,Y,W,$,X,Z[$]):A(t,D,e,H,Q,F,Y,W,$,X,Z[$])))return P}else if($<et){var rt;if(G){if(rt=y(t,D,Q,F,Y,W,tt),Q<rt){var nt=g(t,D,Q,rt,Y,W,tt);if(D===t-2){if(Q<nt&&void 0!==(P=l.sweepComplete(t,e,Q,nt,Y,W,$,et,X,Z)))return P;if(nt<rt&&void 0!==(P=l.sweepBipartite(t,e,nt,rt,Y,W,$,et,X,Z)))return P}else Q<nt&&T(O++,D+1,Q,nt,$,et,16,-1/0,1/0),nt<rt&&(T(O++,D+1,nt,rt,$,et,0,-1/0,1/0),T(O++,D+1,$,et,nt,rt,1,-1/0,1/0))}}else rt=H?x(t,D,Q,F,Y,W,tt):y(t,D,Q,F,Y,W,tt),Q<rt&&(D===t-2?P=H?l.sweepBipartite(t,e,$,et,X,Z,Q,rt,Y,W):l.sweepBipartite(t,e,Q,rt,Y,W,$,et,X,Z):(T(O++,D+1,Q,rt,$,et,H,-1/0,1/0),T(O++,D+1,$,et,Q,rt,1^H,-1/0,1/0)))}}}}};var n=t("typedarray-pool"),a=t("bit-twiddle"),i=t("./brute"),o=i.partial,s=i.full,l=t("./sweep"),c=t("./median"),u=t("./partition"),h=128,f=1<<22,p=1<<22,d=u("!(lo>=p0)&&!(p1>=hi)",["p0","p1"]),g=u("lo===p0",["p0"]),v=u("lo<p0",["p0"]),m=u("hi<=p0",["p0"]),y=u("lo<=p0&&p0<=hi",["p0"]),x=u("lo<p0&&p0<=hi",["p0"]),b=6,_=2,w=n.mallocInt32(1024),k=n.mallocDouble(1024);function T(t,e,r,n,a,i,o,s,l){var c=b*t;w[c]=e,w[c+1]=r,w[c+2]=n,w[c+3]=a,w[c+4]=i,w[c+5]=o;var u=_*t;k[u]=s,k[u+1]=l}function A(t,e,r,n,a,i,o,s,l,c,u){var h=2*t,f=l*h,p=c[f+e];t:for(var d=a,g=a*h;d<i;++d,g+=h){var v=o[g+e],m=o[g+e+t];if(!(p<v||m<p)&&(!n||p!==v)){for(var y,x=s[d],b=e+1;b<t;++b){v=o[g+b],m=o[g+b+t];var _=c[f+b],w=c[f+b+t];if(m<_||w<v)continue t}if(void 0!==(y=n?r(u,x):r(x,u)))return y}}}function M(t,e,r,n,a,i,o,s,l,c){var u=2*t,h=s*u,f=l[h+e];t:for(var p=n,d=n*u;p<a;++p,d+=u){var g=o[p];if(g!==c){var v=i[d+e],m=i[d+e+t];if(!(f<v||m<f)){for(var y=e+1;y<t;++y){v=i[d+y],m=i[d+y+t];var x=l[h+y],b=l[h+y+t];if(m<x||b<v)continue t}var _=r(g,c);if(void 0!==_)return _}}}}},{"./brute":98,"./median":100,"./partition":101,"./sweep":103,"bit-twiddle":93,"typedarray-pool":543}],100:[function(t,e,r){"use strict";e.exports=function(t,e,r,o,s,l){if(o<=r+1)return r;var c=r,u=o,h=o+r>>>1,f=2*t,p=h,d=s[f*h+e];for(;c<u;){if(u-c<a){i(t,e,c,u,s,l),d=s[f*h+e];break}var g=u-c,v=Math.random()*g+c|0,m=s[f*v+e],y=Math.random()*g+c|0,x=s[f*y+e],b=Math.random()*g+c|0,_=s[f*b+e];m<=x?_>=x?(p=y,d=x):m>=_?(p=v,d=m):(p=b,d=_):x>=_?(p=y,d=x):_>=m?(p=v,d=m):(p=b,d=_);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var M=l[u-1];l[u-1]=l[p],l[p]=M,p=n(t,e,c,u-1,s,l,d);for(var w=f*(u-1),k=f*p,T=0;T<f;++T,++w,++k){var A=s[w];s[w]=s[k],s[k]=A}var M=l[u-1];if(l[u-1]=l[p],l[p]=M,h<p){for(u=p-1;c<u&&s[f*(u-1)+e]===d;)u-=1;u+=1}else{if(!(p<h))break;for(c=p+1;c<u&&s[f*c+e]===d;)c+=1}}return n(t,e,r,h,s,l,s[f*h+e])};var n=t("./partition")("lo<p0",["p0"]),a=8;function i(t,e,r,n,a,i){for(var o=2*t,s=o*(r+1)+e,l=r+1;l<n;++l,s+=o)for(var c=a[s],u=l,h=o*(l-1);u>r&&a[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;d<o;++d,++f,++p){var g=a[f];a[f]=a[p],a[p]=g}var v=i[u];i[u]=i[u-1],i[u-1]=v}}},{"./partition":101}],101:[function(t,e,r){"use strict";e.exports=function(t,e){var r="abcdef".split("").concat(e),a=[];t.indexOf("lo")>=0&&a.push("lo=e[k+n]");t.indexOf("hi")>=0&&a.push("hi=e[k+o]");return r.push(n.replace("_",a.join()).replace("$",t)),Function.apply(void 0,r)};var n="for(var j=2*a,k=j*c,l=k,m=c,n=b,o=a+b,p=c;d>p;++p,k+=j){var _;if($)if(m===p)m+=1,l+=j;else{for(var s=0;j>s;++s){var t=e[k+s];e[k+s]=e[l],e[l++]=t}var u=f[p];f[p]=f[m],f[m++]=u}}return m"},{}],102:[function(t,e,r){"use strict";e.exports=function(t,e){e<=4*n?a(0,e-1,t):function t(e,r,h){var f=(r-e+1)/6|0,p=e+f,d=r-f,g=e+r>>1,v=g-f,m=g+f,y=p,x=v,b=g,_=m,w=d,k=e+1,T=r-1,A=0;c(y,x,h)&&(A=y,y=x,x=A);c(_,w,h)&&(A=_,_=w,w=A);c(y,b,h)&&(A=y,y=b,b=A);c(x,b,h)&&(A=x,x=b,b=A);c(y,_,h)&&(A=y,y=_,_=A);c(b,_,h)&&(A=b,b=_,_=A);c(x,w,h)&&(A=x,x=w,w=A);c(x,b,h)&&(A=x,x=b,b=A);c(_,w,h)&&(A=_,_=w,w=A);var M=h[2*x];var S=h[2*x+1];var E=h[2*_];var L=h[2*_+1];var C=2*y;var P=2*b;var O=2*w;var z=2*p;var I=2*g;var D=2*d;for(var R=0;R<2;++R){var F=h[C+R],B=h[P+R],N=h[O+R];h[z+R]=F,h[I+R]=B,h[D+R]=N}o(v,e,h);o(m,r,h);for(var j=k;j<=T;++j)if(u(j,M,S,h))j!==k&&i(j,k,h),++k;else if(!u(j,E,L,h))for(;;){if(u(T,E,L,h)){u(T,M,S,h)?(s(j,k,T,h),++k,--T):(i(j,T,h),--T);break}if(--T<j)break}l(e,k-1,M,S,h);l(r,T+1,E,L,h);k-2-e<=n?a(e,k-2,h):t(e,k-2,h);r-(T+2)<=n?a(T+2,r,h):t(T+2,r,h);T-k<=n?a(k,T,h):t(k,T,h)}(0,e-1,t)};var n=32;function a(t,e,r){for(var n=2*(t+1),a=t+1;a<=e;++a){for(var i=r[n++],o=r[n++],s=a,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(c<i)break;if(c===i&&u<o)break;r[l]=c,r[l+1]=u,l-=2}r[l]=i,r[l+1]=o}}function i(t,e,r){e*=2;var n=r[t*=2],a=r[t+1];r[t]=r[e],r[t+1]=r[e+1],r[e]=n,r[e+1]=a}function o(t,e,r){e*=2,r[t*=2]=r[e],r[t+1]=r[e+1]}function s(t,e,r,n){e*=2,r*=2;var a=n[t*=2],i=n[t+1];n[t]=n[e],n[t+1]=n[e+1],n[e]=n[r],n[e+1]=n[r+1],n[r]=a,n[r+1]=i}function l(t,e,r,n,a){e*=2,a[t*=2]=a[e],a[e]=r,a[t+1]=a[e+1],a[e+1]=n}function c(t,e,r){e*=2;var n=r[t*=2],a=r[e];return!(n<a)&&(n!==a||r[t+1]>r[e+1])}function u(t,e,r,n){var a=n[t*=2];return a<e||a===e&&n[t+1]<r}},{}],103:[function(t,e,r){"use strict";e.exports={init:function(t){var e=a.nextPow2(t);s.length<e&&(n.free(s),s=n.mallocInt32(e));l.length<e&&(n.free(l),l=n.mallocInt32(e));c.length<e&&(n.free(c),c=n.mallocInt32(e));u.length<e&&(n.free(u),u=n.mallocInt32(e));h.length<e&&(n.free(h),h=n.mallocInt32(e));f.length<e&&(n.free(f),f=n.mallocInt32(e));var r=8*e;p.length<r&&(n.free(p),p=n.mallocDouble(r))},sweepBipartite:function(t,e,r,n,a,h,f,v,m,y){for(var x=0,b=2*t,_=t-1,w=b-1,k=r;k<n;++k){var T=h[k],A=b*k;p[x++]=a[A+_],p[x++]=-(T+1),p[x++]=a[A+w],p[x++]=T}for(var k=f;k<v;++k){var T=y[k]+o,M=b*k;p[x++]=m[M+_],p[x++]=-T,p[x++]=m[M+w],p[x++]=T}var S=x>>>1;i(p,S);for(var E=0,L=0,k=0;k<S;++k){var C=0|p[2*k+1];if(C>=o)d(c,u,L--,C=C-o|0);else if(C>=0)d(s,l,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P<E;++P){var O=e(s[P],C);if(void 0!==O)return O}g(c,u,L++,C)}else{C=-C-1|0;for(var P=0;P<L;++P){var O=e(C,c[P]);if(void 0!==O)return O}g(s,l,E++,C)}}},sweepComplete:function(t,e,r,n,a,o,v,m,y,x){for(var b=0,_=2*t,w=t-1,k=_-1,T=r;T<n;++T){var A=o[T]+1<<1,M=_*T;p[b++]=a[M+w],p[b++]=-A,p[b++]=a[M+k],p[b++]=A}for(var T=v;T<m;++T){var A=x[T]+1<<1,S=_*T;p[b++]=y[S+w],p[b++]=1|-A,p[b++]=y[S+k],p[b++]=1|A}var E=b>>>1;i(p,E);for(var L=0,C=0,P=0,T=0;T<E;++T){var O=0|p[2*T+1],z=1&O;if(T<E-1&&O>>1==p[2*T+3]>>1&&(z=2,T+=1),O<0){for(var I=-(O>>1)-1,D=0;D<P;++D){var R=e(h[D],I);if(void 0!==R)return R}if(0!==z)for(var D=0;D<L;++D){var R=e(s[D],I);if(void 0!==R)return R}if(1!==z)for(var D=0;D<C;++D){var R=e(c[D],I);if(void 0!==R)return R}0===z?g(s,l,L++,I):1===z?g(c,u,C++,I):2===z&&g(h,f,P++,I)}else{var I=(O>>1)-1;0===z?d(s,l,L--,I):1===z?d(c,u,C--,I):2===z&&d(h,f,P--,I)}}},scanBipartite:function(t,e,r,n,a,c,u,h,f,v,m,y){var x=0,b=2*t,_=e,w=e+t,k=1,T=1;n?T=o:k=o;for(var A=a;A<c;++A){var M=A+k,S=b*A;p[x++]=u[S+_],p[x++]=-M,p[x++]=u[S+w],p[x++]=M}for(var A=f;A<v;++A){var M=A+T,E=b*A;p[x++]=m[E+_],p[x++]=-M}var L=x>>>1;i(p,L);for(var C=0,A=0;A<L;++A){var P=0|p[2*A+1];if(P<0){var M=-P,O=!1;if(M>=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(s,l,C++,M);else{var z=y[M],I=b*M,D=m[I+e+1],R=m[I+e+1+t];t:for(var F=0;F<C;++F){var B=s[F],N=b*B;if(!(R<u[N+e+1]||u[N+e+1+t]<D)){for(var j=e+2;j<t;++j)if(m[I+j+t]<u[N+j]||u[N+j+t]<m[I+j])continue t;var V,U=h[B];if(void 0!==(V=n?r(z,U):r(U,z)))return V}}}}else d(s,l,C--,P-k)}},scanComplete:function(t,e,r,n,a,l,c,u,h,f,d){for(var g=0,v=2*t,m=e,y=e+t,x=n;x<a;++x){var b=x+o,_=v*x;p[g++]=l[_+m],p[g++]=-b,p[g++]=l[_+y],p[g++]=b}for(var x=u;x<h;++x){var b=x+1,w=v*x;p[g++]=f[w+m],p[g++]=-b}var k=g>>>1;i(p,k);for(var T=0,x=0;x<k;++x){var A=0|p[2*x+1];if(A<0){var b=-A;if(b>=o)s[T++]=b-o;else{var M=d[b-=1],S=v*b,E=f[S+e+1],L=f[S+e+1+t];t:for(var C=0;C<T;++C){var P=s[C],O=c[P];if(O===M)break;var z=v*P;if(!(L<l[z+e+1]||l[z+e+1+t]<E)){for(var I=e+2;I<t;++I)if(f[S+I+t]<l[z+I]||l[z+I+t]<f[S+I])continue t;var D=r(O,M);if(void 0!==D)return D}}}}else{for(var b=A-o,C=T-1;C>=0;--C)if(s[C]===b){for(var I=C+1;I<T;++I)s[I-1]=s[I];break}--T}}}};var n=t("typedarray-pool"),a=t("bit-twiddle"),i=t("./sort"),o=1<<28,s=n.mallocInt32(1024),l=n.mallocInt32(1024),c=n.mallocInt32(1024),u=n.mallocInt32(1024),h=n.mallocInt32(1024),f=n.mallocInt32(1024),p=n.mallocDouble(8192);function d(t,e,r,n){var a=e[n],i=t[r-1];t[a]=i,e[i]=a}function g(t,e,r,n){t[r]=n,e[n]=r}},{"./sort":102,"bit-twiddle":93,"typedarray-pool":543}],104:[function(t,e,r){},{}],105:[function(t,e,r){var n=Object.create||function(t){var e=function(){};return e.prototype=t,new e},a=Object.keys||function(t){var e=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.push(r);return r},i=Function.prototype.bind||function(t){var e=this;return function(){return e.apply(t,arguments)}};function o(){this._events&&Object.prototype.hasOwnProperty.call(this,"_events")||(this._events=n(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._maxListeners=void 0;var s,l=10;try{var c={};Object.defineProperty&&Object.defineProperty(c,"x",{value:0}),s=0===c.x}catch(t){s=!1}function u(t){return void 0===t._maxListeners?o.defaultMaxListeners:t._maxListeners}function h(t,e,r,a){var i,o,s;if("function"!=typeof r)throw new TypeError('"listener" argument must be a function');if((o=t._events)?(o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]):(o=t._events=n(null),t._eventsCount=0),s){if("function"==typeof s?s=o[e]=a?[r,s]:[s,r]:a?s.unshift(r):s.push(r),!s.warned&&(i=u(t))&&i>0&&s.length>i){s.warned=!0;var l=new Error("Possible EventEmitter memory leak detected. "+s.length+' "'+String(e)+'" listeners added. Use emitter.setMaxListeners() to increase limit.');l.name="MaxListenersExceededWarning",l.emitter=t,l.type=e,l.count=s.length,"object"==typeof console&&console.warn&&console.warn("%s: %s",l.name,l.message)}}else s=o[e]=r,++t._eventsCount;return t}function f(){if(!this.fired)switch(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:for(var t=new Array(arguments.length),e=0;e<t.length;++e)t[e]=arguments[e];this.listener.apply(this.target,t)}}function p(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=i.call(f,n);return a.listener=r,n.wrapFn=a,a}function d(t,e,r){var n=t._events;if(!n)return[];var a=n[e];return a?"function"==typeof a?r?[a.listener||a]:[a]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(a):v(a,a.length):[]}function g(t){var e=this._events;if(e){var r=e[t];if("function"==typeof r)return 1;if(r)return r.length}return 0}function v(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}s?Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return l},set:function(t){if("number"!=typeof t||t<0||t!=t)throw new TypeError('"defaultMaxListeners" must be a positive number');l=t}}):o.defaultMaxListeners=l,o.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=t,this},o.prototype.getMaxListeners=function(){return u(this)},o.prototype.emit=function(t){var e,r,n,a,i,o,s="error"===t;if(o=this._events)s=s&&null==o.error;else if(!s)return!1;if(s){if(arguments.length>1&&(e=arguments[1]),e instanceof Error)throw e;var l=new Error('Unhandled "error" event. ('+e+")");throw l.context=e,l}if(!(r=o[t]))return!1;var c="function"==typeof r;switch(n=arguments.length){case 1:!function(t,e,r){if(e)t.call(r);else for(var n=t.length,a=v(t,n),i=0;i<n;++i)a[i].call(r)}(r,c,this);break;case 2:!function(t,e,r,n){if(e)t.call(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].call(r,n)}(r,c,this,arguments[1]);break;case 3:!function(t,e,r,n,a){if(e)t.call(r,n,a);else for(var i=t.length,o=v(t,i),s=0;s<i;++s)o[s].call(r,n,a)}(r,c,this,arguments[1],arguments[2]);break;case 4:!function(t,e,r,n,a,i){if(e)t.call(r,n,a,i);else for(var o=t.length,s=v(t,o),l=0;l<o;++l)s[l].call(r,n,a,i)}(r,c,this,arguments[1],arguments[2],arguments[3]);break;default:for(a=new Array(n-1),i=1;i<n;i++)a[i-1]=arguments[i];!function(t,e,r,n){if(e)t.apply(r,n);else for(var a=t.length,i=v(t,a),o=0;o<a;++o)i[o].apply(r,n)}(r,c,this,a)}return!0},o.prototype.addListener=function(t,e){return h(this,t,e,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(t,e){return h(this,t,e,!0)},o.prototype.once=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.on(t,p(this,t,e)),this},o.prototype.prependOnceListener=function(t,e){if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');return this.prependListener(t,p(this,t,e)),this},o.prototype.removeListener=function(t,e){var r,a,i,o,s;if("function"!=typeof e)throw new TypeError('"listener" argument must be a function');if(!(a=this._events))return this;if(!(r=a[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=n(null):(delete a[t],a.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(i=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,i=o;break}if(i<0)return this;0===i?r.shift():function(t,e){for(var r=e,n=r+1,a=t.length;n<a;r+=1,n+=1)t[r]=t[n];t.pop()}(r,i),1===r.length&&(a[t]=r[0]),a.removeListener&&this.emit("removeListener",t,s||e)}return this},o.prototype.removeAllListeners=function(t){var e,r,i;if(!(r=this._events))return this;if(!r.removeListener)return 0===arguments.length?(this._events=n(null),this._eventsCount=0):r[t]&&(0==--this._eventsCount?this._events=n(null):delete r[t]),this;if(0===arguments.length){var o,s=a(r);for(i=0;i<s.length;++i)"removeListener"!==(o=s[i])&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=n(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},o.prototype.listeners=function(t){return d(this,t,!0)},o.prototype.rawListeners=function(t){return d(this,t,!1)},o.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):g.call(t,e)},o.prototype.listenerCount=g,o.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]}},{}],106:[function(t,e,r){(function(e){"use strict";var n=t("base64-js"),a=t("ieee754"),i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;r.Buffer=e,r.SlowBuffer=function(t){+t!=t&&(t=0);return e.alloc(+t)},r.INSPECT_MAX_BYTES=50;var o=2147483647;function s(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');var r=new Uint8Array(t);return Object.setPrototypeOf(r,e.prototype),r}function e(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,r,n){if("string"==typeof t)return function(t,r){"string"==typeof r&&""!==r||(r="utf8");if(!e.isEncoding(r))throw new TypeError("Unknown encoding: "+r);var n=0|p(t,r),a=s(n),i=a.write(t,r);i!==n&&(a=a.slice(0,i));return a}(t,r);if(ArrayBuffer.isView(t))return h(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(j(t,ArrayBuffer)||t&&j(t.buffer,ArrayBuffer))return function(t,r,n){if(r<0||t.byteLength<r)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<r+(n||0))throw new RangeError('"length" is outside of buffer bounds');var a;a=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);return Object.setPrototypeOf(a,e.prototype),a}(t,r,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var a=t.valueOf&&t.valueOf();if(null!=a&&a!==t)return e.from(a,r,n);var i=function(t){if(e.isBuffer(t)){var r=0|f(t.length),n=s(r);return 0===n.length?n:(t.copy(n,0,0,r),n)}if(void 0!==t.length)return"number"!=typeof t.length||V(t.length)?s(0):h(t);if("Buffer"===t.type&&Array.isArray(t.data))return h(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return e.from(t[Symbol.toPrimitive]("string"),r,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return c(t),s(t<0?0:0|f(t))}function h(t){for(var e=t.length<0?0:0|f(t.length),r=s(e),n=0;n<e;n+=1)r[n]=255&t[n];return r}function f(t){if(t>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function p(t,r){if(e.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||j(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var n=t.length,a=arguments.length>2&&!0===arguments[2];if(!a&&0===n)return 0;for(var i=!1;;)switch(r){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return F(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return B(t).length;default:if(i)return a?-1:F(t).length;r=(""+r).toLowerCase(),i=!0}}function d(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function g(t,r,n,a,i){if(0===t.length)return-1;if("string"==typeof n?(a=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),V(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof r&&(r=e.from(r,a)),e.isBuffer(r))return 0===r.length?-1:v(t,r,n,a,i);if("number"==typeof r)return r&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,n):Uint8Array.prototype.lastIndexOf.call(t,r,n):v(t,[r],n,a,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,r,n,a){var i,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(a){var u=-1;for(i=r;i<s;i++)if(c(t,i)===c(e,-1===u?0:i-u)){if(-1===u&&(u=i),i-u+1===l)return u*o}else-1!==u&&(i-=i-u),u=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var h=!0,f=0;f<l;f++)if(c(t,i+f)!==c(e,f)){h=!1;break}if(h)return i}return-1}function m(t,e,r,n){r=Number(r)||0;var a=t.length-r;n?(n=Number(n))>a&&(n=a):n=a;var i=e.length;n>i/2&&(n=i/2);for(var o=0;o<n;++o){var s=parseInt(e.substr(2*o,2),16);if(V(s))return o;t[r+o]=s}return o}function y(t,e,r,n){return N(F(e,t.length-r),t,r,n)}function x(t,e,r,n){return N(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,n)}function b(t,e,r,n){return x(t,e,r,n)}function _(t,e,r,n){return N(B(e),t,r,n)}function w(t,e,r,n){return N(function(t,e){for(var r,n,a,i=[],o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,a=r%256,i.push(a),i.push(n);return i}(e,t.length-r),t,r,n)}function k(t,e,r){return 0===e&&r===t.length?n.fromByteArray(t):n.fromByteArray(t.slice(e,r))}function T(t,e,r){r=Math.min(t.length,r);for(var n=[],a=e;a<r;){var i,o,s,l,c=t[a],u=null,h=c>239?4:c>223?3:c>191?2:1;if(a+h<=r)switch(h){case 1:c<128&&(u=c);break;case 2:128==(192&(i=t[a+1]))&&(l=(31&c)<<6|63&i)>127&&(u=l);break;case 3:i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&(l=(15&c)<<12|(63&i)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&i)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,h=1):u>65535&&(u-=65536,n.push(u>>>10&1023|55296),u=56320|1023&u),n.push(u),a+=h}return function(t){var e=t.length;if(e<=A)return String.fromCharCode.apply(String,t);var r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=A));return r}(n)}r.kMaxLength=o,e.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),e.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(e.prototype,"parent",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.buffer}}),Object.defineProperty(e.prototype,"offset",{enumerable:!0,get:function(){if(e.isBuffer(this))return this.byteOffset}}),"undefined"!=typeof Symbol&&null!=Symbol.species&&e[Symbol.species]===e&&Object.defineProperty(e,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1}),e.poolSize=8192,e.from=function(t,e,r){return l(t,e,r)},Object.setPrototypeOf(e.prototype,Uint8Array.prototype),Object.setPrototypeOf(e,Uint8Array),e.alloc=function(t,e,r){return function(t,e,r){return c(t),t<=0?s(t):void 0!==e?"string"==typeof r?s(t).fill(e,r):s(t).fill(e):s(t)}(t,e,r)},e.allocUnsafe=function(t){return u(t)},e.allocUnsafeSlow=function(t){return u(t)},e.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==e.prototype},e.compare=function(t,r){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),j(r,Uint8Array)&&(r=e.from(r,r.offset,r.byteLength)),!e.isBuffer(t)||!e.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;for(var n=t.length,a=r.length,i=0,o=Math.min(n,a);i<o;++i)if(t[i]!==r[i]){n=t[i],a=r[i];break}return n<a?-1:a<n?1:0},e.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},e.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return e.alloc(0);var n;if(void 0===r)for(r=0,n=0;n<t.length;++n)r+=t[n].length;var a=e.allocUnsafe(r),i=0;for(n=0;n<t.length;++n){var o=t[n];if(j(o,Uint8Array)&&(o=e.from(o)),!e.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(a,i),i+=o.length}return a},e.byteLength=p,e.prototype._isBuffer=!0,e.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)d(this,e,e+1);return this},e.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)d(this,e,e+3),d(this,e+1,e+2);return this},e.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)d(this,e,e+7),d(this,e+1,e+6),d(this,e+2,e+5),d(this,e+3,e+4);return this},e.prototype.toString=function(){var t=this.length;return 0===t?"":0===arguments.length?T(this,0,t):function(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return E(this,e,r);case"utf8":case"utf-8":return T(this,e,r);case"ascii":return M(this,e,r);case"latin1":case"binary":return S(this,e,r);case"base64":return k(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}.apply(this,arguments)},e.prototype.toLocaleString=e.prototype.toString,e.prototype.equals=function(t){if(!e.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===e.compare(this,t)},e.prototype.inspect=function(){var t="",e=r.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},i&&(e.prototype[i]=e.prototype.inspect),e.prototype.compare=function(t,r,n,a,i){if(j(t,Uint8Array)&&(t=e.from(t,t.offset,t.byteLength)),!e.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===r&&(r=0),void 0===n&&(n=t?t.length:0),void 0===a&&(a=0),void 0===i&&(i=this.length),r<0||n>t.length||a<0||i>this.length)throw new RangeError("out of range index");if(a>=i&&r>=n)return 0;if(a>=i)return-1;if(r>=n)return 1;if(this===t)return 0;for(var o=(i>>>=0)-(a>>>=0),s=(n>>>=0)-(r>>>=0),l=Math.min(o,s),c=this.slice(a,i),u=t.slice(r,n),h=0;h<l;++h)if(c[h]!==u[h]){o=c[h],s=u[h];break}return o<s?-1:s<o?1:0},e.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},e.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},e.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},e.prototype.write=function(t,e,r,n){if(void 0===e)n="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)n=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var a=this.length-e;if((void 0===r||r>a)&&(r=a),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return m(this,t,e,r);case"utf8":case"utf-8":return y(this,t,e,r);case"ascii":return x(this,t,e,r);case"latin1":case"binary":return b(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return w(this,t,e,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},e.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var A=4096;function M(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(127&t[a]);return n}function S(t,e,r){var n="";r=Math.min(t.length,r);for(var a=e;a<r;++a)n+=String.fromCharCode(t[a]);return n}function E(t,e,r){var n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);for(var a="",i=e;i<r;++i)a+=R(t[i]);return a}function L(t,e,r){for(var n=t.slice(e,r),a="",i=0;i<n.length;i+=2)a+=String.fromCharCode(n[i]+256*n[i+1]);return a}function C(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function P(t,r,n,a,i,o){if(!e.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||r<o)throw new RangeError('"value" argument is out of bounds');if(n+a>t.length)throw new RangeError("Index out of range")}function O(t,e,r,n,a,i){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function z(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,4),a.write(t,e,r,n,23,4),r+4}function I(t,e,r,n,i){return e=+e,r>>>=0,i||O(t,0,r,8),a.write(t,e,r,n,52,8),r+8}e.prototype.slice=function(t,r){var n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(r=void 0===r?n:~~r)<0?(r+=n)<0&&(r=0):r>n&&(r=n),r<t&&(r=t);var a=this.subarray(t,r);return Object.setPrototypeOf(a,e.prototype),a},e.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n},e.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t+--e],a=1;e>0&&(a*=256);)n+=this[t+--e]*a;return n},e.prototype.readUInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),this[t]},e.prototype.readUInt16LE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]|this[t+1]<<8},e.prototype.readUInt16BE=function(t,e){return t>>>=0,e||C(t,2,this.length),this[t]<<8|this[t+1]},e.prototype.readUInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},e.prototype.readUInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},e.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=this[t],a=1,i=0;++i<e&&(a*=256);)n+=this[t+i]*a;return n>=(a*=128)&&(n-=Math.pow(2,8*e)),n},e.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||C(t,e,this.length);for(var n=e,a=1,i=this[t+--n];n>0&&(a*=256);)i+=this[t+--n]*a;return i>=(a*=128)&&(i-=Math.pow(2,8*e)),i},e.prototype.readInt8=function(t,e){return t>>>=0,e||C(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},e.prototype.readInt16LE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt16BE=function(t,e){t>>>=0,e||C(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},e.prototype.readInt32LE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},e.prototype.readInt32BE=function(t,e){return t>>>=0,e||C(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},e.prototype.readFloatLE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!0,23,4)},e.prototype.readFloatBE=function(t,e){return t>>>=0,e||C(t,4,this.length),a.read(this,t,!1,23,4)},e.prototype.readDoubleLE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!0,52,8)},e.prototype.readDoubleBE=function(t,e){return t>>>=0,e||C(t,8,this.length),a.read(this,t,!1,52,8)},e.prototype.writeUIntLE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=1,i=0;for(this[e]=255&t;++i<r&&(a*=256);)this[e+i]=t/a&255;return e+r},e.prototype.writeUIntBE=function(t,e,r,n){(t=+t,e>>>=0,r>>>=0,n)||P(this,t,e,r,Math.pow(2,8*r)-1,0);var a=r-1,i=1;for(this[e+a]=255&t;--a>=0&&(i*=256);)this[e+a]=t/i&255;return e+r},e.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,255,0),this[e]=255&t,e+1},e.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},e.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=0,o=1,s=0;for(this[e]=255&t;++i<r&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var a=Math.pow(2,8*r-1);P(this,t,e,r,a-1,-a)}var i=r-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o>>0)-s&255;return e+r},e.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},e.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},e.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},e.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},e.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||P(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},e.prototype.writeFloatLE=function(t,e,r){return z(this,t,e,!0,r)},e.prototype.writeFloatBE=function(t,e,r){return z(this,t,e,!1,r)},e.prototype.writeDoubleLE=function(t,e,r){return I(this,t,e,!0,r)},e.prototype.writeDoubleBE=function(t,e,r){return I(this,t,e,!1,r)},e.prototype.copy=function(t,r,n,a){if(!e.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),a||0===a||(a=this.length),r>=t.length&&(r=t.length),r||(r=0),a>0&&a<n&&(a=n),a===n)return 0;if(0===t.length||0===this.length)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(a<0)throw new RangeError("sourceEnd out of bounds");a>this.length&&(a=this.length),t.length-r<a-n&&(a=t.length-r+n);var i=a-n;if(this===t&&"function"==typeof Uint8Array.prototype.copyWithin)this.copyWithin(r,n,a);else if(this===t&&n<r&&r<a)for(var o=i-1;o>=0;--o)t[o+r]=this[o+n];else Uint8Array.prototype.set.call(t,this.subarray(n,a),r);return i},e.prototype.fill=function(t,r,n,a){if("string"==typeof t){if("string"==typeof r?(a=r,r=0,n=this.length):"string"==typeof n&&(a=n,n=this.length),void 0!==a&&"string"!=typeof a)throw new TypeError("encoding must be a string");if("string"==typeof a&&!e.isEncoding(a))throw new TypeError("Unknown encoding: "+a);if(1===t.length){var i=t.charCodeAt(0);("utf8"===a&&i<128||"latin1"===a)&&(t=i)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;var o;if(r>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(o=r;o<n;++o)this[o]=t;else{var s=e.isBuffer(t)?t:e.from(t,a),l=s.length;if(0===l)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<n-r;++o)this[o+r]=s[o%l]}return this};var D=/[^+/0-9A-Za-z-_]/g;function R(t){return t<16?"0"+t.toString(16):t.toString(16)}function F(t,e){var r;e=e||1/0;for(var n=t.length,a=null,i=[],o=0;o<n;++o){if((r=t.charCodeAt(o))>55295&&r<57344){if(!a){if(r>56319){(e-=3)>-1&&i.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&i.push(239,191,189);continue}a=r;continue}if(r<56320){(e-=3)>-1&&i.push(239,191,189),a=r;continue}r=65536+(a-55296<<10|r-56320)}else a&&(e-=3)>-1&&i.push(239,191,189);if(a=null,r<128){if((e-=1)<0)break;i.push(r)}else if(r<2048){if((e-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function B(t){return n.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(D,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function N(t,e,r,n){for(var a=0;a<n&&!(a+r>=e.length||a>=t.length);++a)e[a+r]=t[a];return a}function j(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function V(t){return t!=t}}).call(this,t("buffer").Buffer)},{"base64-js":75,buffer:106,ieee754:413}],107:[function(t,e,r){"use strict";var n=t("./lib/monotone"),a=t("./lib/triangulation"),i=t("./lib/delaunay"),o=t("./lib/filter");function s(t){return[Math.min(t[0],t[1]),Math.max(t[0],t[1])]}function l(t,e){return t[0]-e[0]||t[1]-e[1]}function c(t,e,r){return e in t?t[e]:r}e.exports=function(t,e,r){Array.isArray(e)?(r=r||{},e=e||[]):(r=e||{},e=[]);var u=!!c(r,"delaunay",!0),h=!!c(r,"interior",!0),f=!!c(r,"exterior",!0),p=!!c(r,"infinity",!1);if(!h&&!f||0===t.length)return[];var d=n(t,e);if(u||h!==f||p){for(var g=a(t.length,function(t){return t.map(s).sort(l)}(e)),v=0;v<d.length;++v){var m=d[v];g.addTriangle(m[0],m[1],m[2])}return u&&i(t,g),f?h?p?o(g,0,p):g.cells():o(g,1,p):o(g,-1)}return d}},{"./lib/delaunay":108,"./lib/filter":109,"./lib/monotone":110,"./lib/triangulation":111}],108:[function(t,e,r){"use strict";var n=t("robust-in-sphere")[4];t("binary-search-bounds");function a(t,e,r,a,i,o){var s=e.opposite(a,i);if(!(s<0)){if(i<a){var l=a;a=i,i=l,l=o,o=s,s=l}e.isConstraint(a,i)||n(t[a],t[i],t[o],t[s])<0&&r.push(a,i)}}e.exports=function(t,e){for(var r=[],i=t.length,o=e.stars,s=0;s<i;++s)for(var l=o[s],c=1;c<l.length;c+=2){var u=l[c];if(!(u<s)&&!e.isConstraint(s,u)){for(var h=l[c-1],f=-1,p=1;p<l.length;p+=2)if(l[p-1]===u){f=l[p];break}f<0||n(t[s],t[u],t[h],t[f])<0&&r.push(s,u)}}for(;r.length>0;){for(var u=r.pop(),s=r.pop(),h=-1,f=-1,l=o[s],d=1;d<l.length;d+=2){var g=l[d-1],v=l[d];g===u?f=v:v===u&&(h=g)}h<0||f<0||(n(t[s],t[u],t[h],t[f])>=0||(e.flip(s,u),a(t,e,r,h,s,f),a(t,e,r,s,f,h),a(t,e,r,f,u,h),a(t,e,r,u,h,f)))}}},{"binary-search-bounds":112,"robust-in-sphere":506}],109:[function(t,e,r){"use strict";var n,a=t("binary-search-bounds");function i(t,e,r,n,a,i,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=a,this.next=i,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}e.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,a=0;a<n;++a){var s=r[a],l=s[0],c=s[1],u=s[2];c<u?c<l&&(s[0]=c,s[1]=u,s[2]=l):u<l&&(s[0]=u,s[1]=l,s[2]=c)}r.sort(o);for(var h=new Array(n),a=0;a<h.length;++a)h[a]=0;var f=[],p=[],d=new Array(3*n),g=new Array(3*n),v=null;e&&(v=[]);for(var m=new i(r,d,g,h,f,p,v),a=0;a<n;++a)for(var s=r[a],y=0;y<3;++y){var l=s[y],c=s[(y+1)%3],x=d[3*a+y]=m.locate(c,l,t.opposite(c,l)),b=g[3*a+y]=t.isConstraint(l,c);x<0&&(b?p.push(a):(f.push(a),h[a]=1),e&&v.push([c,l,-1]))}return m}(t,r);if(0===e)return r?n.cells.concat(n.boundary):n.cells;var a=1,s=n.active,l=n.next,c=n.flags,u=n.cells,h=n.constraint,f=n.neighbor;for(;s.length>0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-a){c[p]=a;u[p];for(var d=0;d<3;++d){var g=f[3*p+d];g>=0&&0===c[g]&&(h[3*p+d]?l.push(g):(s.push(g),c[g]=a))}}}var v=l;l=s,s=v,l.length=0,a=-a}var m=function(t,e,r){for(var n=0,a=0;a<t.length;++a)e[a]===r&&(t[n++]=t[a]);return t.length=n,t}(u,c,e);if(r)return m.concat(n.boundary);return m},i.prototype.locate=(n=[0,0,0],function(t,e,r){var i=t,s=e,l=r;return e<r?e<t&&(i=e,s=r,l=t):r<t&&(i=r,s=t,l=e),i<0?-1:(n[0]=i,n[1]=s,n[2]=l,a.eq(this.cells,n,o))})},{"binary-search-bounds":112}],110:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("robust-orientation")[3],i=0,o=1,s=2;function l(t,e,r,n,a){this.a=t,this.b=e,this.idx=r,this.lowerIds=n,this.upperIds=a}function c(t,e,r,n){this.a=t,this.b=e,this.type=r,this.idx=n}function u(t,e){var r=t.a[0]-e.a[0]||t.a[1]-e.a[1]||t.type-e.type;return r||(t.type!==i&&(r=a(t.a,t.b,e.b))?r:t.idx-e.idx)}function h(t,e){return a(t.a,t.b,e)}function f(t,e,r,i,o){for(var s=n.lt(e,i,h),l=n.gt(e,i,h),c=s;c<l;++c){for(var u=e[c],f=u.lowerIds,p=f.length;p>1&&a(r[f[p-2]],r[f[p-1]],i)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=u.upperIds;for(p=d.length;p>1&&a(r[d[p-2]],r[d[p-1]],i)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function p(t,e){var r;return(r=t.a[0]<e.a[0]?a(t.a,t.b,e.a):a(e.b,e.a,t.a))?r:(r=e.b[0]<t.b[0]?a(t.a,t.b,e.b):a(e.b,e.a,t.b))||t.idx-e.idx}function d(t,e,r){var a=n.le(t,r,p),i=t[a],o=i.upperIds,s=o[o.length-1];i.upperIds=[s],t.splice(a+1,0,new l(r.a,r.b,r.idx,[s],o))}function g(t,e,r){var a=r.a;r.a=r.b,r.b=a;var i=n.eq(t,r,p),o=t[i];t[i-1].upperIds=o.upperIds,t.splice(i,1)}e.exports=function(t,e){for(var r=t.length,n=e.length,a=[],h=0;h<r;++h)a.push(new c(t[h],null,i,h));for(var h=0;h<n;++h){var p=e[h],v=t[p[0]],m=t[p[1]];v[0]<m[0]?a.push(new c(v,m,s,h),new c(m,v,o,h)):v[0]>m[0]&&a.push(new c(m,v,s,h),new c(v,m,o,h))}a.sort(u);for(var y=a[0].a[0]-(1+Math.abs(a[0].a[0]))*Math.pow(2,-52),x=[new l([y,1],[y,0],-1,[],[],[],[])],b=[],h=0,_=a.length;h<_;++h){var w=a[h],k=w.type;k===i?f(b,x,t,w.a,w.idx):k===s?d(x,t,w):g(x,t,w)}return b}},{"binary-search-bounds":112,"robust-orientation":508}],111:[function(t,e,r){"use strict";var n=t("binary-search-bounds");function a(t,e){this.stars=t,this.edges=e}e.exports=function(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=[];return new a(r,e)};var i=a.prototype;function o(t,e,r){for(var n=1,a=t.length;n<a;n+=2)if(t[n-1]===e&&t[n]===r)return t[n-1]=t[a-2],t[n]=t[a-1],void(t.length=a-2)}i.isConstraint=function(){var t=[0,0];function e(t,e){return t[0]-e[0]||t[1]-e[1]}return function(r,a){return t[0]=Math.min(r,a),t[1]=Math.max(r,a),n.eq(this.edges,t,e)>=0}}(),i.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},i.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},i.opposite=function(t,e){for(var r=this.stars[e],n=1,a=r.length;n<a;n+=2)if(r[n]===t)return r[n-1];return-1},i.flip=function(t,e){var r=this.opposite(t,e),n=this.opposite(e,t);this.removeTriangle(t,e,r),this.removeTriangle(e,t,n),this.addTriangle(t,n,r),this.addTriangle(e,r,n)},i.edges=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2)e.push([a[i],a[i+1]]);return e},i.cells=function(){for(var t=this.stars,e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;i+=2){var s=a[i],l=a[i+1];r<Math.min(s,l)&&e.push([r,s,l])}return e}},{"binary-search-bounds":112}],112:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=["function ",t,"(a,l,h,",n.join(","),"){",a?"":"var i=",r?"l-1":"h+1",";while(l<=h){var m=(l+h)>>>1,x=a[m]"];return a?e.indexOf("c")<0?i.push(";if(x===y){return m}else if(x<=y){"):i.push(";var p=c(x,y);if(p===0){return m}else if(p<=0){"):i.push(";if(",e,"){i=m;"),r?i.push("l=m+1}else{h=m-1}"):i.push("h=m-1}else{l=m+1}"),i.push("}"),a?i.push("return -1};"):i.push("return i};"),i.join("")}function a(t,e,r,a){return new Function([n("A","x"+t+"y",e,["y"],a),n("P","c(x,y)"+t+"0",e,["y","c"],a),"function dispatchBsearch",r,"(a,y,c,l,h){if(typeof(c)==='function'){return P(a,(l===void 0)?0:l|0,(h===void 0)?a.length-1:h|0,y,c)}else{return A(a,(c===void 0)?0:c|0,(l===void 0)?a.length-1:l|0,y)}}return dispatchBsearch",r].join(""))()}e.exports={ge:a(">=",!1,"GE"),gt:a(">",!1,"GT"),lt:a("<",!0,"LT"),le:a("<=",!0,"LE"),eq:a("-",!0,"EQ",!0)}},{}],113:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1,r=1;r<t.length;++r)for(var n=0;n<r;++n)if(t[r]<t[n])e=-e;else if(t[n]===t[r])return 0;return e}},{}],114:[function(t,e,r){"use strict";var n=t("dup"),a=t("robust-linear-solve");function i(t,e){for(var r=0,n=t.length,a=0;a<n;++a)r+=t[a]*e[a];return r}function o(t){var e=t.length;if(0===e)return[];t[0].length;var r=n([t.length+1,t.length+1],1),o=n([t.length+1],1);r[e][e]=0;for(var s=0;s<e;++s){for(var l=0;l<=s;++l)r[l][s]=r[s][l]=2*i(t[s],t[l]);o[s]=i(t[s],t[s])}var c=a(r,o),u=0,h=c[e+1];for(s=0;s<h.length;++s)u+=h[s];var f=new Array(e);for(s=0;s<e;++s){h=c[s];var p=0;for(l=0;l<h.length;++l)p+=h[l];f[s]=p/u}return f}function s(t){if(0===t.length)return[];for(var e=t[0].length,r=n([e]),a=o(t),i=0;i<t.length;++i)for(var s=0;s<e;++s)r[s]+=t[i][s]*a[i];return r}s.barycenetric=o,e.exports=s},{dup:171,"robust-linear-solve":507}],115:[function(t,e,r){e.exports=function(t){for(var e=n(t),r=0,a=0;a<t.length;++a)for(var i=t[a],o=0;o<e.length;++o)r+=Math.pow(i[o]-e[o],2);return Math.sqrt(r/t.length)};var n=t("circumcenter")},{circumcenter:114}],116:[function(t,e,r){e.exports=function(t,e,r){return e<r?t<e?e:t>r?r:t:t<r?r:t>e?e:t}},{}],117:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n;if(r){n=e;for(var a=new Array(e.length),i=0;i<e.length;++i){var o=e[i];a[i]=[o[0],o[1],r[i]]}e=a}var s=function(t,e,r){var n=d(t,[],p(t));return m(e,n,r),!!n}(t,e,!!r);for(;y(t,e,!!r);)s=!0;if(r&&s){n.length=0,r.length=0;for(var i=0;i<e.length;++i){var o=e[i];n.push([o[0],o[1]]),r.push(o[2])}}return s};var n=t("union-find"),a=t("box-intersect"),i=t("robust-segment-intersect"),o=t("big-rat"),s=t("big-rat/cmp"),l=t("big-rat/to-float"),c=t("rat-vec"),u=t("nextafter"),h=t("./lib/rat-seg-intersect");function f(t){var e=l(t);return[u(e,-1/0),u(e,1/0)]}function p(t){for(var e=new Array(t.length),r=0;r<t.length;++r){var n=t[r];e[r]=[u(n[0],-1/0),u(n[1],-1/0),u(n[0],1/0),u(n[1],1/0)]}return e}function d(t,e,r){for(var i=e.length,o=new n(i),s=[],l=0;l<e.length;++l){var c=e[l],h=f(c[0]),p=f(c[1]);s.push([u(h[0],-1/0),u(p[0],-1/0),u(h[1],1/0),u(p[1],1/0)])}a(s,function(t,e){o.link(t,e)});var d=!0,g=new Array(i);for(l=0;l<i;++l){(m=o.find(l))!==l&&(d=!1,t[m]=[Math.min(t[l][0],t[m][0]),Math.min(t[l][1],t[m][1])])}if(d)return null;var v=0;for(l=0;l<i;++l){var m;(m=o.find(l))===l?(g[l]=v,t[v++]=t[l]):g[l]=-1}t.length=v;for(l=0;l<i;++l)g[l]<0&&(g[l]=g[o.find(l)]);return g}function g(t,e){return t[0]-e[0]||t[1]-e[1]}function v(t,e){var r=t[0]-e[0]||t[1]-e[1];return r||(t[2]<e[2]?-1:t[2]>e[2]?1:0)}function m(t,e,r){if(0!==t.length){if(e)for(var n=0;n<t.length;++n){var a=e[(o=t[n])[0]],i=e[o[1]];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}else for(n=0;n<t.length;++n){var o;a=(o=t[n])[0],i=o[1];o[0]=Math.min(a,i),o[1]=Math.max(a,i)}r?t.sort(v):t.sort(g);var s=1;for(n=1;n<t.length;++n){var l=t[n-1],c=t[n];(c[0]!==l[0]||c[1]!==l[1]||r&&c[2]!==l[2])&&(t[s++]=c)}t.length=s}}function y(t,e,r){var n=function(t,e){for(var r=new Array(e.length),n=0;n<e.length;++n){var a=e[n],i=t[a[0]],o=t[a[1]];r[n]=[u(Math.min(i[0],o[0]),-1/0),u(Math.min(i[1],o[1]),-1/0),u(Math.max(i[0],o[0]),1/0),u(Math.max(i[1],o[1]),1/0)]}return r}(t,e),f=function(t,e,r){var n=[];return a(r,function(r,a){var o=e[r],s=e[a];if(o[0]!==s[0]&&o[0]!==s[1]&&o[1]!==s[0]&&o[1]!==s[1]){var l=t[o[0]],c=t[o[1]],u=t[s[0]],h=t[s[1]];i(l,c,u,h)&&n.push([r,a])}}),n}(t,e,n),g=p(t),v=function(t,e,r,n){var o=[];return a(r,n,function(r,n){var a=e[r];if(a[0]!==n&&a[1]!==n){var s=t[n],l=t[a[0]],c=t[a[1]];i(l,c,s,s)&&o.push([r,n])}}),o}(t,e,n,g),y=d(t,function(t,e,r,n,a){var i,u,f=t.map(function(t){return[o(t[0]),o(t[1])]});for(i=0;i<r.length;++i){var p=r[i];u=p[0];var d=p[1],g=e[u],v=e[d],m=h(c(t[g[0]]),c(t[g[1]]),c(t[v[0]]),c(t[v[1]]));if(m){var y=t.length;t.push([l(m[0]),l(m[1])]),f.push(m),n.push([u,y],[d,y])}}for(n.sort(function(t,e){if(t[0]!==e[0])return t[0]-e[0];var r=f[t[1]],n=f[e[1]];return s(r[0],n[0])||s(r[1],n[1])}),i=n.length-1;i>=0;--i){var x=e[u=(S=n[i])[0]],b=x[0],_=x[1],w=t[b],k=t[_];if((w[0]-k[0]||w[1]-k[1])<0){var T=b;b=_,_=T}x[0]=b;var A,M=x[1]=S[1];for(a&&(A=x[2]);i>0&&n[i-1][0]===u;){var S,E=(S=n[--i])[1];a?e.push([M,E,A]):e.push([M,E]),M=E}a?e.push([M,_,A]):e.push([M,_])}return f}(t,e,f,v,r));return m(e,y,r),!!y||(f.length>0||v.length>0)}},{"./lib/rat-seg-intersect":118,"big-rat":79,"big-rat/cmp":77,"big-rat/to-float":91,"box-intersect":97,nextafter:452,"rat-vec":487,"robust-segment-intersect":511,"union-find":544}],118:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var i=s(e,t),h=s(n,r),f=u(i,h);if(0===o(f))return null;var p=s(t,r),d=u(h,p),g=a(d,f),v=c(i,g);return l(t,v)};var n=t("big-rat/mul"),a=t("big-rat/div"),i=t("big-rat/sub"),o=t("big-rat/sign"),s=t("rat-vec/sub"),l=t("rat-vec/add"),c=t("rat-vec/muls");function u(t,e){return i(n(t[0],e[1]),n(t[1],e[0]))}},{"big-rat/div":78,"big-rat/mul":88,"big-rat/sign":89,"big-rat/sub":90,"rat-vec/add":486,"rat-vec/muls":488,"rat-vec/sub":489}],119:[function(t,e,r){"use strict";var n=t("clamp");function a(t,e){null==e&&(e=!0);var r=t[0],a=t[1],i=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,a*=255,i*=255,o*=255),16777216*(r=255&n(r,0,255))+((a=255&n(a,0,255))<<16)+((i=255&n(i,0,255))<<8)+(o=255&n(o,0,255))}e.exports=a,e.exports.to=a,e.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,a=(65280&t)>>>8,i=255&t;return!1===e?[r,n,a,i]:[r/255,n/255,a/255,i/255]}},{clamp:116}],120:[function(t,e,r){"use strict";e.exports={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]}},{}],121:[function(t,e,r){"use strict";var n=t("color-rgba"),a=t("clamp"),i=t("dtype");e.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(i(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=a(Math.floor(255*t[0]),0,255),r[1]=a(Math.floor(255*t[1]),0,255),r[2]=a(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:a(Math.floor(255*t[3]),0,255)),r)}},{clamp:116,"color-rgba":123,dtype:170}],122:[function(t,e,r){(function(r){"use strict";var n=t("color-name"),a=t("is-plain-obj"),i=t("defined");e.exports=function(t){var e,s,l=[],c=1;if("string"==typeof t)if(n[t])l=n[t].slice(),s="rgb";else if("transparent"===t)c=0,s="rgb",l=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var u=t.slice(1),h=u.length,f=h<=4;c=1,f?(l=[parseInt(u[0]+u[0],16),parseInt(u[1]+u[1],16),parseInt(u[2]+u[2],16)],4===h&&(c=parseInt(u[3]+u[3],16)/255)):(l=[parseInt(u[0]+u[1],16),parseInt(u[2]+u[3],16),parseInt(u[4]+u[5],16)],8===h&&(c=parseInt(u[6]+u[7],16)/255)),l[0]||(l[0]=0),l[1]||(l[1]=0),l[2]||(l[2]=0),s="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var p=e[1],d="rgb"===p,u=p.replace(/a$/,"");s=u;var h="cmyk"===u?4:"gray"===u?1:3;l=e[2].trim().split(/\s*,\s*/).map(function(t,e){if(/%$/.test(t))return e===h?parseFloat(t)/100:"rgb"===u?255*parseFloat(t)/100:parseFloat(t);if("h"===u[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==o[t])return o[t]}return parseFloat(t)}),p===u&&l.push(1),c=d?1:void 0===l[h]?1:l[h],l=l.slice(0,h)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(l=t.match(/([0-9]+)/g).map(function(t){return parseFloat(t)}),s=t.match(/([a-z])/gi).join("").toLowerCase());else if(isNaN(t))if(a(t)){var g=i(t.r,t.red,t.R,null);null!==g?(s="rgb",l=[g,i(t.g,t.green,t.G),i(t.b,t.blue,t.B)]):(s="hsl",l=[i(t.h,t.hue,t.H),i(t.s,t.saturation,t.S),i(t.l,t.lightness,t.L,t.b,t.brightness)]),c=i(t.a,t.alpha,t.opacity,1),null!=t.opacity&&(c/=100)}else(Array.isArray(t)||r.ArrayBuffer&&ArrayBuffer.isView&&ArrayBuffer.isView(t))&&(l=[t[0],t[1],t[2]],s="rgb",c=4===t.length?t[3]:1);else s="rgb",l=[t>>>16,(65280&t)>>>8,255&t];return{space:s,values:l,alpha:c}};var o={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"color-name":120,defined:165,"is-plain-obj":423}],123:[function(t,e,r){"use strict";var n=t("color-parse"),a=t("color-space/hsl"),i=t("clamp");e.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=i(r.values[0],0,255),e[1]=i(r.values[1],0,255),e[2]=i(r.values[2],0,255),"h"===r.space[0]&&(e=a.rgb(e)),e.push(i(r.alpha,0,1)),e):[]}},{clamp:116,"color-parse":122,"color-space/hsl":124}],124:[function(t,e,r){"use strict";var n=t("./rgb");e.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,a,i,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[i=255*l,i,i];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,i=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,a[c]=255*i;return a}},n.hsl=function(t){var e,r,n=t[0]/255,a=t[1]/255,i=t[2]/255,o=Math.min(n,a,i),s=Math.max(n,a,i),l=s-o;return s===o?e=0:n===s?e=(a-i)/l:a===s?e=2+(i-n)/l:i===s&&(e=4+(n-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},{"./rgb":125}],125:[function(t,e,r){"use strict";e.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},{}],126:[function(t,e,r){e.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],cool:[{index:0,rgb:[0,255,255]},{index:1,rgb:[255,0,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},{}],127:[function(t,e,r){"use strict";var n=t("./colorScale"),a=t("lerp");function i(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}e.exports=function(t){var e,r,l,c,u,h,f,p,d,g;t||(t={});p=(t.nshades||72)-1,f=t.format||"hex",(h=t.colormap)||(h="jet");if("string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1];e=u.map(function(t){return Math.round(t.index*p)}),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var v=u.map(function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1?n:(n[3]=d[0]+(d[1]-d[0])*r,n)}),m=[];for(g=0;g<e.length-1;++g){c=e[g+1]-e[g],r=v[g],l=v[g+1];for(var y=0;y<c;y++){var x=y/c;m.push([Math.round(a(r[0],l[0],x)),Math.round(a(r[1],l[1],x)),Math.round(a(r[2],l[2],x)),a(r[3],l[3],x)])}}m.push(u[u.length-1].rgb.concat(d[1])),"hex"===f?m=m.map(o):"rgbaString"===f?m=m.map(s):"float"===f&&(m=m.map(i));return m}},{"./colorScale":126,lerp:426}],128:[function(t,e,r){"use strict";e.exports=function(t,e,r,i){var o=n(e,r,i);if(0===o){var s=a(n(t,e,r)),c=a(n(t,e,i));if(s===c){if(0===s){var u=l(t,e,r),h=l(t,e,i);return u===h?0:u?1:-1}return 0}return 0===c?s>0?-1:l(t,e,i)?-1:1:0===s?c>0?1:l(t,e,r)?1:-1:a(c-s)}var f=n(t,e,r);if(f>0)return o>0&&n(t,e,i)>0?1:-1;if(f<0)return o>0||n(t,e,i)>0?1:-1;var p=n(t,e,i);return p>0?1:l(t,e,r)?1:-1};var n=t("robust-orientation"),a=t("signum"),i=t("two-sum"),o=t("robust-product"),s=t("robust-sum");function l(t,e,r){var n=i(t[0],-e[0]),a=i(t[1],-e[1]),l=i(r[0],-e[0]),c=i(r[1],-e[1]),u=s(o(n,l),o(a,c));return u[u.length-1]>=0}},{"robust-orientation":508,"robust-product":509,"robust-sum":513,signum:514,"two-sum":542}],129:[function(t,e,r){e.exports=function(t,e){var r=t.length,i=t.length-e.length;if(i)return i;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return t[0]+t[1]-e[0]-e[1]||n(t[0],t[1])-n(e[0],e[1]);case 3:var o=t[0]+t[1],s=e[0]+e[1];if(i=o+t[2]-(s+e[2]))return i;var l=n(t[0],t[1]),c=n(e[0],e[1]);return n(l,t[2])-n(c,e[2])||n(l+t[2],o)-n(c+e[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=e[0],g=e[1],v=e[2],m=e[3];return u+h+f+p-(d+g+v+m)||n(u,h,f,p)-n(d,g,v,m,d)||n(u+h,u+f,u+p,h+f,h+p,f+p)-n(d+g,d+v,d+m,g+v,g+m,v+m)||n(u+h+f,u+h+p,u+f+p,h+f+p)-n(d+g+v,d+g+m,d+v+m,g+v+m);default:for(var y=t.slice().sort(a),x=e.slice().sort(a),b=0;b<r;++b)if(i=y[b]-x[b])return i;return 0}};var n=Math.min;function a(t,e){return t-e}},{}],130:[function(t,e,r){"use strict";var n=t("compare-cell"),a=t("cell-orientation");e.exports=function(t,e){return n(t,e)||a(t)-a(e)}},{"cell-orientation":113,"compare-cell":129}],131:[function(t,e,r){"use strict";var n=t("./lib/ch1d"),a=t("./lib/ch2d"),i=t("./lib/chnd");e.exports=function(t){var e=t.length;if(0===e)return[];if(1===e)return[[0]];var r=t[0].length;if(0===r)return[];if(1===r)return n(t);if(2===r)return a(t);return i(t,r)}},{"./lib/ch1d":132,"./lib/ch2d":133,"./lib/chnd":134}],132:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0,r=0,n=1;n<t.length;++n)t[n][0]<t[e][0]&&(e=n),t[n][0]>t[r][0]&&(r=n);return e<r?[[e],[r]]:e>r?[[r],[e]]:[[e]]}},{}],133:[function(t,e,r){"use strict";e.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var a=new Array(r),i=e[r-1],o=0;o<r;++o){var s=e[o];a[o]=[i,s],i=s}return a};var n=t("monotone-convex-hull-2d")},{"monotone-convex-hull-2d":435}],134:[function(t,e,r){"use strict";e.exports=function(t,e){try{return n(t,!0)}catch(s){var r=a(t);if(r.length<=e)return[];var i=function(t,e){for(var r=t.length,n=new Array(r),a=0;a<e.length;++a)n[a]=t[e[a]];for(var i=e.length,a=0;a<r;++a)e.indexOf(a)<0&&(n[i++]=t[a]);return n}(t,r),o=n(i,!0);return function(t,e){for(var r=t.length,n=e.length,a=0;a<r;++a)for(var i=t[a],o=0;o<i.length;++o){var s=i[o];if(s<n)i[o]=e[s];else{s-=n;for(var l=0;l<n;++l)s>=e[l]&&(s+=1);i[o]=s}}return t}(o,r)}};var n=t("incremental-convex-hull"),a=t("affine-hull")},{"affine-hull":64,"incremental-convex-hull":414}],135:[function(t,e,r){e.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|\xe7)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|\xe9)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|\xe9)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|\xe3)o.?tom(e|\xe9)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},{}],136:[function(t,e,r){e.exports=["xx-small","x-small","small","medium","large","x-large","xx-large","larger","smaller"]},{}],137:[function(t,e,r){e.exports=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"]},{}],138:[function(t,e,r){e.exports=["normal","italic","oblique"]},{}],139:[function(t,e,r){e.exports=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"]},{}],140:[function(t,e,r){"use strict";e.exports={parse:t("./parse"),stringify:t("./stringify")}},{"./parse":142,"./stringify":143}],141:[function(t,e,r){"use strict";var n=t("css-font-size-keywords");e.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},{"css-font-size-keywords":136}],142:[function(t,e,r){"use strict";var n=t("unquote"),a=t("css-global-keywords"),i=t("css-system-font-keywords"),o=t("css-font-weight-keywords"),s=t("css-font-style-keywords"),l=t("css-font-stretch-keywords"),c=t("string-split-by"),u=t("./lib/util").isSize;e.exports=f;var h=f.cache={};function f(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(h[t])return h[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==i.indexOf(t))return h[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},f=c(t,/\s+/);e=f.shift();){if(-1!==a.indexOf(e))return["style","variant","weight","stretch"].forEach(function(t){r[t]=e}),h[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error("Missing required font-family.");return r.family=c(f.join(" "),/\s*,\s*/).map(n),h[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},{"./lib/util":141,"css-font-stretch-keywords":137,"css-font-style-keywords":138,"css-font-weight-keywords":139,"css-global-keywords":144,"css-system-font-keywords":145,"string-split-by":527,unquote:546}],143:[function(t,e,r){"use strict";var n=t("pick-by-alias"),a=t("./lib/util").isSize,i=g(t("css-global-keywords")),o=g(t("css-system-font-keywords")),s=g(t("css-font-weight-keywords")),l=g(t("css-font-style-keywords")),c=g(t("css-font-stretch-keywords")),u={normal:1,"small-caps":1},h={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f="1rem",p="serif";function d(t,e){if(t&&!e[t]&&!i[t])throw Error("Unknown keyword `"+t+"`");return t}function g(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=1;return e}e.exports=function(t){if((t=n(t,{style:"style fontstyle fontStyle font-style slope distinction",variant:"variant font-variant fontVariant fontvariant var capitalization",weight:"weight w font-weight fontWeight fontweight",stretch:"stretch font-stretch fontStretch fontstretch width",size:"size s font-size fontSize fontsize height em emSize",lineHeight:"lh line-height lineHeight lineheight leading",family:"font family fontFamily font-family fontfamily type typeface face",system:"system reserved default global"})).system)return t.system&&d(t.system,o),t.system;if(d(t.style,l),d(t.variant,u),d(t.weight,s),d(t.stretch,c),null==t.size&&(t.size=f),"number"==typeof t.size&&(t.size+="px"),!a)throw Error("Bad size value `"+t.size+"`");t.family||(t.family=p),Array.isArray(t.family)&&(t.family.length||(t.family=[p]),t.family=t.family.map(function(t){return h[t]?t:'"'+t+'"'}).join(", "));var e=[];return e.push(t.style),t.variant!==t.style&&e.push(t.variant),t.weight!==t.variant&&t.weight!==t.style&&e.push(t.weight),t.stretch!==t.weight&&t.stretch!==t.variant&&t.stretch!==t.style&&e.push(t.stretch),e.push(t.size+(null==t.lineHeight||"normal"===t.lineHeight||t.lineHeight+""=="1"?"":"/"+t.lineHeight)),e.push(t.family),e.filter(Boolean).join(" ")}},{"./lib/util":141,"css-font-stretch-keywords":137,"css-font-style-keywords":138,"css-font-weight-keywords":139,"css-global-keywords":144,"css-system-font-keywords":145,"pick-by-alias":466}],144:[function(t,e,r){e.exports=["inherit","initial","unset"]},{}],145:[function(t,e,r){e.exports=["caption","icon","menu","message-box","small-caption","status-bar"]},{}],146:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i){var o=a-1,s=a*a,l=o*o,c=(1+2*a)*l,u=a*l,h=s*(3-2*a),f=s*o;if(t.length){i||(i=new Array(t.length));for(var p=t.length-1;p>=0;--p)i[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return i}return c*t+u*e+h*r+f*n},e.exports.derivative=function(t,e,r,n,a,i){var o=6*a*a-6*a,s=3*a*a-4*a+1,l=-6*a*a+6*a,c=3*a*a-2*a;if(t.length){i||(i=new Array(t.length));for(var u=t.length-1;u>=0;--u)i[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return i}return o*t+s*e+l*r[u]+c*n}},{}],147:[function(t,e,r){"use strict";var n=t("./lib/thunk.js");function a(){this.argTypes=[],this.shimArgs=[],this.arrayArgs=[],this.arrayBlockIndices=[],this.scalarArgs=[],this.offsetArgs=[],this.offsetArgIndex=[],this.indexArgs=[],this.shapeArgs=[],this.funcName="",this.pre=null,this.body=null,this.post=null,this.debug=!1}e.exports=function(t){var e=new a;e.pre=t.pre,e.body=t.body,e.post=t.post;var r=t.args.slice(0);e.argTypes=r;for(var i=0;i<r.length;++i){var o=r[i];if("array"===o||"object"==typeof o&&o.blockIndices){if(e.argTypes[i]="array",e.arrayArgs.push(i),e.arrayBlockIndices.push(o.blockIndices?o.blockIndices:0),e.shimArgs.push("array"+i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array args");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array args")}else if("scalar"===o)e.scalarArgs.push(i),e.shimArgs.push("scalar"+i);else if("index"===o){if(e.indexArgs.push(i),i<e.pre.args.length&&e.pre.args[i].count>0)throw new Error("cwise: pre() block may not reference array index");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array index");if(i<e.post.args.length&&e.post.args[i].count>0)throw new Error("cwise: post() block may not reference array index")}else if("shape"===o){if(e.shapeArgs.push(i),i<e.pre.args.length&&e.pre.args[i].lvalue)throw new Error("cwise: pre() block may not write to array shape");if(i<e.body.args.length&&e.body.args[i].lvalue)throw new Error("cwise: body() block may not write to array shape");if(i<e.post.args.length&&e.post.args[i].lvalue)throw new Error("cwise: post() block may not write to array shape")}else{if("object"!=typeof o||!o.offset)throw new Error("cwise: Unknown argument type "+r[i]);e.argTypes[i]="offset",e.offsetArgs.push({array:o.array,offset:o.offset}),e.offsetArgIndex.push(i)}}if(e.arrayArgs.length<=0)throw new Error("cwise: No array arguments specified");if(e.pre.args.length>r.length)throw new Error("cwise: Too many arguments in pre() block");if(e.body.args.length>r.length)throw new Error("cwise: Too many arguments in body() block");if(e.post.args.length>r.length)throw new Error("cwise: Too many arguments in post() block");return e.debug=!!t.printCode||!!t.debug,e.funcName=t.funcName||"cwise",e.blockSize=t.blockSize||64,n(e)}},{"./lib/thunk.js":149}],148:[function(t,e,r){"use strict";var n=t("uniq");function a(t,e,r){var n,a,i=t.length,o=e.arrayArgs.length,s=e.indexArgs.length>0,l=[],c=[],u=0,h=0;for(n=0;n<i;++n)c.push(["i",n,"=0"].join(""));for(a=0;a<o;++a)for(n=0;n<i;++n)h=u,u=t[n],0===n?c.push(["d",a,"s",n,"=t",a,"p",u].join("")):c.push(["d",a,"s",n,"=(t",a,"p",u,"-s",h,"*t",a,"p",h,")"].join(""));for(c.length>0&&l.push("var "+c.join(",")),n=i-1;n>=0;--n)u=t[n],l.push(["for(i",n,"=0;i",n,"<s",u,";++i",n,"){"].join(""));for(l.push(r),n=0;n<i;++n){for(h=u,u=t[n],a=0;a<o;++a)l.push(["p",a,"+=d",a,"s",n].join(""));s&&(n>0&&l.push(["index[",h,"]-=s",h].join("")),l.push(["++index[",u,"]"].join(""))),l.push("}")}return l.join("\n")}function i(t,e,r){for(var n=t.body,a=[],i=[],o=0;o<t.args.length;++o){var s=t.args[o];if(!(s.count<=0)){var l=new RegExp(s.name,"g"),c="",u=e.arrayArgs.indexOf(o);switch(e.argTypes[o]){case"offset":var h=e.offsetArgIndex.indexOf(o);u=e.offsetArgs[h].array,c="+q"+h;case"array":c="p"+u+c;var f="l"+o,p="a"+u;if(0===e.arrayBlockIndices[u])1===s.count?"generic"===r[u]?s.lvalue?(a.push(["var ",f,"=",p,".get(",c,")"].join("")),n=n.replace(l,f),i.push([p,".set(",c,",",f,")"].join(""))):n=n.replace(l,[p,".get(",c,")"].join("")):n=n.replace(l,[p,"[",c,"]"].join("")):"generic"===r[u]?(a.push(["var ",f,"=",p,".get(",c,")"].join("")),n=n.replace(l,f),s.lvalue&&i.push([p,".set(",c,",",f,")"].join(""))):(a.push(["var ",f,"=",p,"[",c,"]"].join("")),n=n.replace(l,f),s.lvalue&&i.push([p,"[",c,"]=",f].join("")));else{for(var d=[s.name],g=[c],v=0;v<Math.abs(e.arrayBlockIndices[u]);v++)d.push("\\s*\\[([^\\]]+)\\]"),g.push("$"+(v+1)+"*t"+u+"b"+v);if(l=new RegExp(d.join(""),"g"),c=g.join("+"),"generic"===r[u])throw new Error("cwise: Generic arrays not supported in combination with blocks!");n=n.replace(l,[p,"[",c,"]"].join(""))}break;case"scalar":n=n.replace(l,"Y"+e.scalarArgs.indexOf(o));break;case"index":n=n.replace(l,"index");break;case"shape":n=n.replace(l,"shape")}}}return[a.join("\n"),n,i.join("\n")].join("\n").trim()}e.exports=function(t,e){for(var r=e[1].length-Math.abs(t.arrayBlockIndices[0])|0,o=new Array(t.arrayArgs.length),s=new Array(t.arrayArgs.length),l=0;l<t.arrayArgs.length;++l)s[l]=e[2*l],o[l]=e[2*l+1];var c=[],u=[],h=[],f=[],p=[];for(l=0;l<t.arrayArgs.length;++l){t.arrayBlockIndices[l]<0?(h.push(0),f.push(r),c.push(r),u.push(r+t.arrayBlockIndices[l])):(h.push(t.arrayBlockIndices[l]),f.push(t.arrayBlockIndices[l]+r),c.push(0),u.push(t.arrayBlockIndices[l]));for(var d=[],g=0;g<o[l].length;g++)h[l]<=o[l][g]&&o[l][g]<f[l]&&d.push(o[l][g]-h[l]);p.push(d)}var v=["SS"],m=["'use strict'"],y=[];for(g=0;g<r;++g)y.push(["s",g,"=SS[",g,"]"].join(""));for(l=0;l<t.arrayArgs.length;++l){for(v.push("a"+l),v.push("t"+l),v.push("p"+l),g=0;g<r;++g)y.push(["t",l,"p",g,"=t",l,"[",h[l]+g,"]"].join(""));for(g=0;g<Math.abs(t.arrayBlockIndices[l]);++g)y.push(["t",l,"b",g,"=t",l,"[",c[l]+g,"]"].join(""))}for(l=0;l<t.scalarArgs.length;++l)v.push("Y"+l);if(t.shapeArgs.length>0&&y.push("shape=SS.slice(0)"),t.indexArgs.length>0){var x=new Array(r);for(l=0;l<r;++l)x[l]="0";y.push(["index=[",x.join(","),"]"].join(""))}for(l=0;l<t.offsetArgs.length;++l){var b=t.offsetArgs[l],_=[];for(g=0;g<b.offset.length;++g)0!==b.offset[g]&&(1===b.offset[g]?_.push(["t",b.array,"p",g].join("")):_.push([b.offset[g],"*t",b.array,"p",g].join("")));0===_.length?y.push("q"+l+"=0"):y.push(["q",l,"=",_.join("+")].join(""))}var w=n([].concat(t.pre.thisVars).concat(t.body.thisVars).concat(t.post.thisVars));for((y=y.concat(w)).length>0&&m.push("var "+y.join(",")),l=0;l<t.arrayArgs.length;++l)m.push("p"+l+"|=0");t.pre.body.length>3&&m.push(i(t.pre,t,s));var k=i(t.body,t,s),T=function(t){for(var e=0,r=t[0].length;e<r;){for(var n=1;n<t.length;++n)if(t[n][e]!==t[0][e])return e;++e}return e}(p);T<r?m.push(function(t,e,r,n){for(var i=e.length,o=r.arrayArgs.length,s=r.blockSize,l=r.indexArgs.length>0,c=[],u=0;u<o;++u)c.push(["var offset",u,"=p",u].join(""));for(u=t;u<i;++u)c.push(["for(var j"+u+"=SS[",e[u],"]|0;j",u,">0;){"].join("")),c.push(["if(j",u,"<",s,"){"].join("")),c.push(["s",e[u],"=j",u].join("")),c.push(["j",u,"=0"].join("")),c.push(["}else{s",e[u],"=",s].join("")),c.push(["j",u,"-=",s,"}"].join("")),l&&c.push(["index[",e[u],"]=j",u].join(""));for(u=0;u<o;++u){for(var h=["offset"+u],f=t;f<i;++f)h.push(["j",f,"*t",u,"p",e[f]].join(""));c.push(["p",u,"=(",h.join("+"),")"].join(""))}for(c.push(a(e,r,n)),u=t;u<i;++u)c.push("}");return c.join("\n")}(T,p[0],t,k)):m.push(a(p[0],t,k)),t.post.body.length>3&&m.push(i(t.post,t,s)),t.debug&&console.log("-----Generated cwise routine for ",e,":\n"+m.join("\n")+"\n----------");var A=[t.funcName||"unnamed","_cwise_loop_",o[0].join("s"),"m",T,function(t){for(var e=new Array(t.length),r=!0,n=0;n<t.length;++n){var a=t[n],i=a.match(/\d+/);i=i?i[0]:"",0===a.charAt(0)?e[n]="u"+a.charAt(1)+i:e[n]=a.charAt(0)+i,n>0&&(r=r&&e[n]===e[n-1])}return r?e[0]:e.join("")}(s)].join("");return new Function(["function ",A,"(",v.join(","),"){",m.join("\n"),"} return ",A].join(""))()}},{uniq:545}],149:[function(t,e,r){"use strict";var n=t("./compile.js");e.exports=function(t){var e=["'use strict'","var CACHED={}"],r=[],a=t.funcName+"_cwise_thunk";e.push(["return function ",a,"(",t.shimArgs.join(","),"){"].join(""));for(var i=[],o=[],s=[["array",t.arrayArgs[0],".shape.slice(",Math.max(0,t.arrayBlockIndices[0]),t.arrayBlockIndices[0]<0?","+t.arrayBlockIndices[0]+")":")"].join("")],l=[],c=[],u=0;u<t.arrayArgs.length;++u){var h=t.arrayArgs[u];r.push(["t",h,"=array",h,".dtype,","r",h,"=array",h,".order"].join("")),i.push("t"+h),i.push("r"+h),o.push("t"+h),o.push("r"+h+".join()"),s.push("array"+h+".data"),s.push("array"+h+".stride"),s.push("array"+h+".offset|0"),u>0&&(l.push("array"+t.arrayArgs[0]+".shape.length===array"+h+".shape.length+"+(Math.abs(t.arrayBlockIndices[0])-Math.abs(t.arrayBlockIndices[u]))),c.push("array"+t.arrayArgs[0]+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[0])+"]===array"+h+".shape[shapeIndex+"+Math.max(0,t.arrayBlockIndices[u])+"]"))}for(t.arrayArgs.length>1&&(e.push("if (!("+l.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same dimensionality!')"),e.push("for(var shapeIndex=array"+t.arrayArgs[0]+".shape.length-"+Math.abs(t.arrayBlockIndices[0])+"; shapeIndex--\x3e0;) {"),e.push("if (!("+c.join(" && ")+")) throw new Error('cwise: Arrays do not all have the same shape!')"),e.push("}")),u=0;u<t.scalarArgs.length;++u)s.push("scalar"+t.scalarArgs[u]);return r.push(["type=[",o.join(","),"].join()"].join("")),r.push("proc=CACHED[type]"),e.push("var "+r.join(",")),e.push(["if(!proc){","CACHED[type]=proc=compile([",i.join(","),"])}","return proc(",s.join(","),")}"].join("")),t.debug&&console.log("-----Generated thunk:\n"+e.join("\n")+"\n----------"),new Function("compile",e.join("\n"))(n.bind(void 0,t))}},{"./compile.js":148}],150:[function(t,e,r){e.exports=t("cwise-compiler")},{"cwise-compiler":147}],151:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/copy"),i=t("es5-ext/object/normalize-options"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/map"),l=t("es5-ext/object/valid-callable"),c=t("es5-ext/object/valid-value"),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=c(e)&&l(e.value);return delete(n=a(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&f.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),h(this,t,e),this[t])},n},e.exports=function(t){var e=i(arguments[1]);return null!=e.resolveContext&&o(e.resolveContext),s(t,function(t,r){return n(r,t,e)})}},{"es5-ext/object/copy":191,"es5-ext/object/map":200,"es5-ext/object/normalize-options":201,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207}],152:[function(t,e,r){"use strict";var n=t("es5-ext/object/assign"),a=t("es5-ext/object/normalize-options"),i=t("es5-ext/object/is-callable"),o=t("es5-ext/string/#/contains");(e.exports=function(t,e){var r,i,s,l,c;return arguments.length<2||"string"!=typeof t?(l=e,e=t,t=null):l=arguments[2],null==t?(r=s=!0,i=!1):(r=o.call(t,"c"),i=o.call(t,"e"),s=o.call(t,"w")),c={value:e,configurable:r,enumerable:i,writable:s},l?n(a(l),c):c}).gs=function(t,e,r){var s,l,c,u;return"string"!=typeof t?(c=r,r=e,e=t,t=null):c=arguments[3],null==e?e=void 0:i(e)?null==r?r=void 0:i(r)||(c=r,r=void 0):(c=e,e=r=void 0),null==t?(s=!0,l=!1):(s=o.call(t,"c"),l=o.call(t,"e")),u={get:e,set:r,configurable:s,enumerable:l},c?n(a(c),u):u}},{"es5-ext/object/assign":188,"es5-ext/object/is-callable":194,"es5-ext/object/normalize-options":201,"es5-ext/string/#/contains":208}],153:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function r(t){var r;return 1===t.length&&(r=t,t=function(t,n){return e(r(t),n)}),{left:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(null==n&&(n=0),null==a&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}var n=r(e),a=n.right,i=n.left;function o(t,e){return[t,e]}function s(t){return null===t?NaN:+t}function l(t,e){var r,n,a=t.length,i=0,o=-1,l=0,c=0;if(null==e)for(;++o<a;)isNaN(r=s(t[o]))||(c+=(n=r-l)*(r-(l+=n/++i)));else for(;++o<a;)isNaN(r=s(e(t[o],o,t)))||(c+=(n=r-l)*(r-(l+=n/++i)));if(i>1)return c/(i-1)}function c(t,e){var r=l(t,e);return r?Math.sqrt(r):r}function u(t,e){var r,n,a,i=t.length,o=-1;if(null==e){for(;++o<i;)if(null!=(r=t[o])&&r>=r)for(n=a=r;++o<i;)null!=(r=t[o])&&(n>r&&(n=r),a<r&&(a=r))}else for(;++o<i;)if(null!=(r=e(t[o],o,t))&&r>=r)for(n=a=r;++o<i;)null!=(r=e(t[o],o,t))&&(n>r&&(n=r),a<r&&(a=r));return[n,a]}var h=Array.prototype,f=h.slice,p=h.map;function d(t){return function(){return t}}function g(t){return t}function v(t,e,r){t=+t,e=+e,r=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+r;for(var n=-1,a=0|Math.max(0,Math.ceil((e-t)/r)),i=new Array(a);++n<a;)i[n]=t+n*r;return i}var m=Math.sqrt(50),y=Math.sqrt(10),x=Math.sqrt(2);function b(t,e,r){var n=(e-t)/Math.max(0,r),a=Math.floor(Math.log(n)/Math.LN10),i=n/Math.pow(10,a);return a>=0?(i>=m?10:i>=y?5:i>=x?2:1)*Math.pow(10,a):-Math.pow(10,-a)/(i>=m?10:i>=y?5:i>=x?2:1)}function _(t,e,r){var n=Math.abs(e-t)/Math.max(0,r),a=Math.pow(10,Math.floor(Math.log(n)/Math.LN10)),i=n/a;return i>=m?a*=10:i>=y?a*=5:i>=x&&(a*=2),e<t?-a:a}function w(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1}function k(t,e,r){if(null==r&&(r=s),n=t.length){if((e=+e)<=0||n<2)return+r(t[0],0,t);if(e>=1)return+r(t[n-1],n-1,t);var n,a=(n-1)*e,i=Math.floor(a),o=+r(t[i],i,t);return o+(+r(t[i+1],i+1,t)-o)*(a-i)}}function T(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&n>r&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&n>r&&(n=r);return n}function A(t){if(!(a=t.length))return[];for(var e=-1,r=T(t,M),n=new Array(r);++e<r;)for(var a,i=-1,o=n[e]=new Array(a);++i<a;)o[i]=t[i][e];return n}function M(t){return t.length}t.bisect=a,t.bisectRight=a,t.bisectLeft=i,t.ascending=e,t.bisector=r,t.cross=function(t,e,r){var n,a,i,s,l=t.length,c=e.length,u=new Array(l*c);for(null==r&&(r=o),n=i=0;n<l;++n)for(s=t[n],a=0;a<c;++a,++i)u[i]=r(s,e[a]);return u},t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.deviation=c,t.extent=u,t.histogram=function(){var t=g,e=u,r=w;function n(n){var i,o,s=n.length,l=new Array(s);for(i=0;i<s;++i)l[i]=t(n[i],i,n);var c=e(l),u=c[0],h=c[1],f=r(l,u,h);Array.isArray(f)||(f=_(u,h,f),f=v(Math.ceil(u/f)*f,h,f));for(var p=f.length;f[0]<=u;)f.shift(),--p;for(;f[p-1]>h;)f.pop(),--p;var d,g=new Array(p+1);for(i=0;i<=p;++i)(d=g[i]=[]).x0=i>0?f[i-1]:u,d.x1=i<p?f[i]:h;for(i=0;i<s;++i)u<=(o=l[i])&&o<=h&&g[a(f,o,0,p)].push(n[i]);return g}return n.value=function(e){return arguments.length?(t="function"==typeof e?e:d(e),n):t},n.domain=function(t){return arguments.length?(e="function"==typeof t?t:d([t[0],t[1]]),n):e},n.thresholds=function(t){return arguments.length?(r="function"==typeof t?t:Array.isArray(t)?d(f.call(t)):d(t),n):r},n},t.thresholdFreedmanDiaconis=function(t,r,n){return t=p.call(t,s).sort(e),Math.ceil((n-r)/(2*(k(t,.75)-k(t,.25))*Math.pow(t.length,-1/3)))},t.thresholdScott=function(t,e,r){return Math.ceil((r-e)/(3.5*c(t)*Math.pow(t.length,-1/3)))},t.thresholdSturges=w,t.max=function(t,e){var r,n,a=t.length,i=-1;if(null==e){for(;++i<a;)if(null!=(r=t[i])&&r>=r)for(n=r;++i<a;)null!=(r=t[i])&&r>n&&(n=r)}else for(;++i<a;)if(null!=(r=e(t[i],i,t))&&r>=r)for(n=r;++i<a;)null!=(r=e(t[i],i,t))&&r>n&&(n=r);return n},t.mean=function(t,e){var r,n=t.length,a=n,i=-1,o=0;if(null==e)for(;++i<n;)isNaN(r=s(t[i]))?--a:o+=r;else for(;++i<n;)isNaN(r=s(e(t[i],i,t)))?--a:o+=r;if(a)return o/a},t.median=function(t,r){var n,a=t.length,i=-1,o=[];if(null==r)for(;++i<a;)isNaN(n=s(t[i]))||o.push(n);else for(;++i<a;)isNaN(n=s(r(t[i],i,t)))||o.push(n);return k(o.sort(e),.5)},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r},t.min=T,t.pairs=function(t,e){null==e&&(e=o);for(var r=0,n=t.length-1,a=t[0],i=new Array(n<0?0:n);r<n;)i[r]=e(a,a=t[++r]);return i},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.quantile=k,t.range=v,t.scan=function(t,r){if(n=t.length){var n,a,i=0,o=0,s=t[o];for(null==r&&(r=e);++i<n;)(r(a=t[i],s)<0||0!==r(s,s))&&(s=a,o=i);return 0===r(s,s)?o:void 0}},t.shuffle=function(t,e,r){for(var n,a,i=(null==r?t.length:r)-(e=null==e?0:+e);i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.sum=function(t,e){var r,n=t.length,a=-1,i=0;if(null==e)for(;++a<n;)(r=+t[a])&&(i+=r);else for(;++a<n;)(r=+e(t[a],a,t))&&(i+=r);return i},t.ticks=function(t,e,r){var n,a,i,o,s=-1;if(r=+r,(t=+t)==(e=+e)&&r>0)return[t];if((n=e<t)&&(a=t,t=e,e=a),0===(o=b(t,e,r))||!isFinite(o))return[];if(o>0)for(t=Math.ceil(t/o),e=Math.floor(e/o),i=new Array(a=Math.ceil(e-t+1));++s<a;)i[s]=(t+s)*o;else for(t=Math.floor(t*o),e=Math.ceil(e*o),i=new Array(a=Math.ceil(t-e+1));++s<a;)i[s]=(t-s)/o;return n&&i.reverse(),i},t.tickIncrement=b,t.tickStep=_,t.transpose=A,t.variance=l,t.zip=function(){return A(arguments)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],154:[function(t,e,r){var n;n=this,function(t){"use strict";function e(){}function r(t,r){var n=new e;if(t instanceof e)t.each(function(t,e){n.set(e,t)});else if(Array.isArray(t)){var a,i=-1,o=t.length;if(null==r)for(;++i<o;)n.set(i,t[i]);else for(;++i<o;)n.set(r(a=t[i],i,t),a)}else if(t)for(var s in t)n.set(s,t[s]);return n}e.prototype=r.prototype={constructor:e,has:function(t){return"$"+t in this},get:function(t){return this["$"+t]},set:function(t,e){return this["$"+t]=e,this},remove:function(t){var e="$"+t;return e in this&&delete this[e]},clear:function(){for(var t in this)"$"===t[0]&&delete this[t]},keys:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(e.slice(1));return t},values:function(){var t=[];for(var e in this)"$"===e[0]&&t.push(this[e]);return t},entries:function(){var t=[];for(var e in this)"$"===e[0]&&t.push({key:e.slice(1),value:this[e]});return t},size:function(){var t=0;for(var e in this)"$"===e[0]&&++t;return t},empty:function(){for(var t in this)if("$"===t[0])return!1;return!0},each:function(t){for(var e in this)"$"===e[0]&&t(this[e],e.slice(1),this)}};function n(){return{}}function a(t,e,r){t[e]=r}function i(){return r()}function o(t,e,r){t.set(e,r)}function s(){}var l=r.prototype;function c(t,e){var r=new s;if(t instanceof s)t.each(function(t){r.add(t)});else if(t){var n=-1,a=t.length;if(null==e)for(;++n<a;)r.add(t[n]);else for(;++n<a;)r.add(e(t[n],n,t))}return r}s.prototype=c.prototype={constructor:s,has:l.has,add:function(t){return this["$"+(t+="")]=t,this},remove:l.remove,clear:l.clear,values:l.keys,size:l.size,empty:l.empty,each:l.each};t.nest=function(){var t,e,s,l=[],c=[];function u(n,a,i,o){if(a>=l.length)return null!=t&&n.sort(t),null!=e?e(n):n;for(var s,c,h,f=-1,p=n.length,d=l[a++],g=r(),v=i();++f<p;)(h=g.get(s=d(c=n[f])+""))?h.push(c):g.set(s,[c]);return g.each(function(t,e){o(v,e,u(t,a,i,o))}),v}return s={object:function(t){return u(t,0,n,a)},map:function(t){return u(t,0,i,o)},entries:function(t){return function t(r,n){if(++n>l.length)return r;var a,i=c[n-1];return null!=e&&n>=l.length?a=r.entries():(a=[],r.each(function(e,r){a.push({key:r,values:t(e,n)})})),null!=i?a.sort(function(t,e){return i(t.key,e.key)}):a}(u(t,0,i,o),0)},key:function(t){return l.push(t),s},sortKeys:function(t){return c[l.length-1]=t,s},sortValues:function(e){return t=e,s},rollup:function(t){return e=t,s}}},t.set=c,t.map=r,t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],155:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function r(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function n(){}var a="\\s*([+-]?\\d+)\\s*",i="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",o="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",s=/^#([0-9a-f]{3})$/,l=/^#([0-9a-f]{6})$/,c=new RegExp("^rgb\\("+[a,a,a]+"\\)$"),u=new RegExp("^rgb\\("+[o,o,o]+"\\)$"),h=new RegExp("^rgba\\("+[a,a,a,i]+"\\)$"),f=new RegExp("^rgba\\("+[o,o,o,i]+"\\)$"),p=new RegExp("^hsl\\("+[i,o,o]+"\\)$"),d=new RegExp("^hsla\\("+[i,o,o,i]+"\\)$"),g={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function v(t){var e;return t=(t+"").trim().toLowerCase(),(e=s.exec(t))?new _((e=parseInt(e[1],16))>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):(e=l.exec(t))?m(parseInt(e[1],16)):(e=c.exec(t))?new _(e[1],e[2],e[3],1):(e=u.exec(t))?new _(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=h.exec(t))?y(e[1],e[2],e[3],e[4]):(e=f.exec(t))?y(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=p.exec(t))?k(e[1],e[2]/100,e[3]/100,1):(e=d.exec(t))?k(e[1],e[2]/100,e[3]/100,e[4]):g.hasOwnProperty(t)?m(g[t]):"transparent"===t?new _(NaN,NaN,NaN,0):null}function m(t){return new _(t>>16&255,t>>8&255,255&t,1)}function y(t,e,r,n){return n<=0&&(t=e=r=NaN),new _(t,e,r,n)}function x(t){return t instanceof n||(t=v(t)),t?new _((t=t.rgb()).r,t.g,t.b,t.opacity):new _}function b(t,e,r,n){return 1===arguments.length?x(t):new _(t,e,r,null==n?1:n)}function _(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function w(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function k(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new A(t,e,r,n)}function T(t,e,r,a){return 1===arguments.length?function(t){if(t instanceof A)return new A(t.h,t.s,t.l,t.opacity);if(t instanceof n||(t=v(t)),!t)return new A;if(t instanceof A)return t;var e=(t=t.rgb()).r/255,r=t.g/255,a=t.b/255,i=Math.min(e,r,a),o=Math.max(e,r,a),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-a)/l+6*(r<a):r===o?(a-e)/l+2:(e-r)/l+4,l/=c<.5?o+i:2-o-i,s*=60):l=c>0&&c<1?0:s,new A(s,l,c,t.opacity)}(t):new A(t,e,r,null==a?1:a)}function A(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function M(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}e(n,v,{displayable:function(){return this.rgb().displayable()},hex:function(){return this.rgb().hex()},toString:function(){return this.rgb()+""}}),e(_,b,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new _(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&this.r<=255&&0<=this.g&&this.g<=255&&0<=this.b&&this.b<=255&&0<=this.opacity&&this.opacity<=1},hex:function(){return"#"+w(this.r)+w(this.g)+w(this.b)},toString:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}})),e(A,T,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new A(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new A(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,a=2*r-n;return new _(M(t>=240?t-240:t+120,a,n),M(t,a,n),M(t<120?t+240:t-120,a,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1}}));var S=Math.PI/180,E=180/Math.PI,L=.96422,C=1,P=.82521,O=4/29,z=6/29,I=3*z*z,D=z*z*z;function R(t){if(t instanceof B)return new B(t.l,t.a,t.b,t.opacity);if(t instanceof G){if(isNaN(t.h))return new B(t.l,0,0,t.opacity);var e=t.h*S;return new B(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}t instanceof _||(t=x(t));var r,n,a=U(t.r),i=U(t.g),o=U(t.b),s=N((.2225045*a+.7168786*i+.0606169*o)/C);return a===i&&i===o?r=n=s:(r=N((.4360747*a+.3850649*i+.1430804*o)/L),n=N((.0139322*a+.0971045*i+.7141733*o)/P)),new B(116*s-16,500*(r-s),200*(s-n),t.opacity)}function F(t,e,r,n){return 1===arguments.length?R(t):new B(t,e,r,null==n?1:n)}function B(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}function N(t){return t>D?Math.pow(t,1/3):t/I+O}function j(t){return t>z?t*t*t:I*(t-O)}function V(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function U(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function q(t){if(t instanceof G)return new G(t.h,t.c,t.l,t.opacity);if(t instanceof B||(t=R(t)),0===t.a&&0===t.b)return new G(NaN,0,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*E;return new G(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function H(t,e,r,n){return 1===arguments.length?q(t):new G(t,e,r,null==n?1:n)}function G(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}e(B,F,r(n,{brighter:function(t){return new B(this.l+18*(null==t?1:t),this.a,this.b,this.opacity)},darker:function(t){return new B(this.l-18*(null==t?1:t),this.a,this.b,this.opacity)},rgb:function(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return new _(V(3.1338561*(e=L*j(e))-1.6168667*(t=C*j(t))-.4906146*(r=P*j(r))),V(-.9787684*e+1.9161415*t+.033454*r),V(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}})),e(G,H,r(n,{brighter:function(t){return new G(this.h,this.c,this.l+18*(null==t?1:t),this.opacity)},darker:function(t){return new G(this.h,this.c,this.l-18*(null==t?1:t),this.opacity)},rgb:function(){return R(this).rgb()}}));var Y=-.14861,W=1.78277,X=-.29227,Z=-.90649,J=1.97294,K=J*Z,Q=J*W,$=W*X-Z*Y;function tt(t,e,r,n){return 1===arguments.length?function(t){if(t instanceof et)return new et(t.h,t.s,t.l,t.opacity);t instanceof _||(t=x(t));var e=t.r/255,r=t.g/255,n=t.b/255,a=($*n+K*e-Q*r)/($+K-Q),i=n-a,o=(J*(r-a)-X*i)/Z,s=Math.sqrt(o*o+i*i)/(J*a*(1-a)),l=s?Math.atan2(o,i)*E-120:NaN;return new et(l<0?l+360:l,s,a,t.opacity)}(t):new et(t,e,r,null==n?1:n)}function et(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}e(et,tt,r(n,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new et(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new et(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=isNaN(this.h)?0:(this.h+120)*S,e=+this.l,r=isNaN(this.s)?0:this.s*e*(1-e),n=Math.cos(t),a=Math.sin(t);return new _(255*(e+r*(Y*n+W*a)),255*(e+r*(X*n+Z*a)),255*(e+r*(J*n)),this.opacity)}})),t.color=v,t.rgb=b,t.hsl=T,t.lab=F,t.hcl=H,t.lch=function(t,e,r,n){return 1===arguments.length?q(t):new G(r,e,t,null==n?1:n)},t.gray=function(t,e){return new B(t,0,0,null==e?1:e)},t.cubehelix=tt,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],156:[function(t,e,r){var n;n=this,function(t){"use strict";var e={value:function(){}};function r(){for(var t,e=0,r=arguments.length,a={};e<r;++e){if(!(t=arguments[e]+"")||t in a)throw new Error("illegal type: "+t);a[t]=[]}return new n(a)}function n(t){this._=t}function a(t,e){for(var r,n=0,a=t.length;n<a;++n)if((r=t[n]).name===e)return r.value}function i(t,r,n){for(var a=0,i=t.length;a<i;++a)if(t[a].name===r){t[a]=e,t=t.slice(0,a).concat(t.slice(a+1));break}return null!=n&&t.push({name:r,value:n}),t}n.prototype=r.prototype={constructor:n,on:function(t,e){var r,n,o=this._,s=(n=o,(t+"").trim().split(/^|\s+/).map(function(t){var e="",r=t.indexOf(".");if(r>=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}})),l=-1,c=s.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++l<c;)if(r=(t=s[l]).type)o[r]=i(o[r],t.name,e);else if(null==e)for(r in o)o[r]=i(o[r],t.name,null);return this}for(;++l<c;)if((r=(t=s[l]).type)&&(r=a(o[r],t.name)))return r},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new n(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var r,n,a=new Array(r),i=0;i<r;++i)a[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=0,r=(n=this._[t]).length;i<r;++i)n[i].value.apply(e,a)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],a=0,i=n.length;a<i;++a)n[a].value.apply(e,r)}},t.dispatch=r,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],157:[function(t,e,r){var n,a;n=this,a=function(t,e,r,n,a){"use strict";var i=function(t){return function(){return t}},o=function(){return 1e-6*(Math.random()-.5)};function s(t){return t.x+t.vx}function l(t){return t.y+t.vy}function c(t){return t.index}function u(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function h(t){return t.x}function f(t){return t.y}var p=10,d=Math.PI*(3-Math.sqrt(5));t.forceCenter=function(t,e){var r;function n(){var n,a,i=r.length,o=0,s=0;for(n=0;n<i;++n)o+=(a=r[n]).x,s+=a.y;for(o=o/i-t,s=s/i-e,n=0;n<i;++n)(a=r[n]).x-=o,a.y-=s}return null==t&&(t=0),null==e&&(e=0),n.initialize=function(t){r=t},n.x=function(e){return arguments.length?(t=+e,n):t},n.y=function(t){return arguments.length?(e=+t,n):e},n},t.forceCollide=function(t){var r,n,a=1,c=1;function u(){for(var t,i,u,f,p,d,g,v=r.length,m=0;m<c;++m)for(i=e.quadtree(r,s,l).visitAfter(h),t=0;t<v;++t)u=r[t],d=n[u.index],g=d*d,f=u.x+u.vx,p=u.y+u.vy,i.visit(y);function y(t,e,r,n,i){var s=t.data,l=t.r,c=d+l;if(!s)return e>f+c||n<f-c||r>p+c||i<p-c;if(s.index>u.index){var h=f-s.x-s.vx,v=p-s.y-s.vy,m=h*h+v*v;m<c*c&&(0===h&&(m+=(h=o())*h),0===v&&(m+=(v=o())*v),m=(c-(m=Math.sqrt(m)))/m*a,u.vx+=(h*=m)*(c=(l*=l)/(g+l)),u.vy+=(v*=m)*c,s.vx-=h*(c=1-c),s.vy-=v*c)}}}function h(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e)t[e]&&t[e].r>t.r&&(t.r=t[e].r)}function f(){if(r){var e,a,i=r.length;for(n=new Array(i),e=0;e<i;++e)a=r[e],n[a.index]=+t(a,e,r)}}return"function"!=typeof t&&(t=i(null==t?1:+t)),u.initialize=function(t){r=t,f()},u.iterations=function(t){return arguments.length?(c=+t,u):c},u.strength=function(t){return arguments.length?(a=+t,u):a},u.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),f(),u):t},u},t.forceLink=function(t){var e,n,a,s,l,h=c,f=function(t){return 1/Math.min(s[t.source.index],s[t.target.index])},p=i(30),d=1;function g(r){for(var a=0,i=t.length;a<d;++a)for(var s,c,u,h,f,p,g,v=0;v<i;++v)c=(s=t[v]).source,h=(u=s.target).x+u.vx-c.x-c.vx||o(),f=u.y+u.vy-c.y-c.vy||o(),h*=p=((p=Math.sqrt(h*h+f*f))-n[v])/p*r*e[v],f*=p,u.vx-=h*(g=l[v]),u.vy-=f*g,c.vx+=h*(g=1-g),c.vy+=f*g}function v(){if(a){var i,o,c=a.length,f=t.length,p=r.map(a,h);for(i=0,s=new Array(c);i<f;++i)(o=t[i]).index=i,"object"!=typeof o.source&&(o.source=u(p,o.source)),"object"!=typeof o.target&&(o.target=u(p,o.target)),s[o.source.index]=(s[o.source.index]||0)+1,s[o.target.index]=(s[o.target.index]||0)+1;for(i=0,l=new Array(f);i<f;++i)o=t[i],l[i]=s[o.source.index]/(s[o.source.index]+s[o.target.index]);e=new Array(f),m(),n=new Array(f),y()}}function m(){if(a)for(var r=0,n=t.length;r<n;++r)e[r]=+f(t[r],r,t)}function y(){if(a)for(var e=0,r=t.length;e<r;++e)n[e]=+p(t[e],e,t)}return null==t&&(t=[]),g.initialize=function(t){a=t,v()},g.links=function(e){return arguments.length?(t=e,v(),g):t},g.id=function(t){return arguments.length?(h=t,g):h},g.iterations=function(t){return arguments.length?(d=+t,g):d},g.strength=function(t){return arguments.length?(f="function"==typeof t?t:i(+t),m(),g):f},g.distance=function(t){return arguments.length?(p="function"==typeof t?t:i(+t),y(),g):p},g},t.forceManyBody=function(){var t,r,n,a,s=i(-30),l=1,c=1/0,u=.81;function p(a){var i,o=t.length,s=e.quadtree(t,h,f).visitAfter(g);for(n=a,i=0;i<o;++i)r=t[i],s.visit(v)}function d(){if(t){var e,r,n=t.length;for(a=new Array(n),e=0;e<n;++e)r=t[e],a[r.index]=+s(r,e,t)}}function g(t){var e,r,n,i,o,s=0,l=0;if(t.length){for(n=i=o=0;o<4;++o)(e=t[o])&&(r=Math.abs(e.value))&&(s+=e.value,l+=r,n+=r*e.x,i+=r*e.y);t.x=n/l,t.y=i/l}else{(e=t).x=e.data.x,e.y=e.data.y;do{s+=a[e.data.index]}while(e=e.next)}t.value=s}function v(t,e,i,s){if(!t.value)return!0;var h=t.x-r.x,f=t.y-r.y,p=s-e,d=h*h+f*f;if(p*p/u<d)return d<c&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)),r.vx+=h*t.value*n/d,r.vy+=f*t.value*n/d),!0;if(!(t.length||d>=c)){(t.data!==r||t.next)&&(0===h&&(d+=(h=o())*h),0===f&&(d+=(f=o())*f),d<l&&(d=Math.sqrt(l*d)));do{t.data!==r&&(p=a[t.data.index]*n/d,r.vx+=h*p,r.vy+=f*p)}while(t=t.next)}}return p.initialize=function(e){t=e,d()},p.strength=function(t){return arguments.length?(s="function"==typeof t?t:i(+t),d(),p):s},p.distanceMin=function(t){return arguments.length?(l=t*t,p):Math.sqrt(l)},p.distanceMax=function(t){return arguments.length?(c=t*t,p):Math.sqrt(c)},p.theta=function(t){return arguments.length?(u=t*t,p):Math.sqrt(u)},p},t.forceRadial=function(t,e,r){var n,a,o,s=i(.1);function l(t){for(var i=0,s=n.length;i<s;++i){var l=n[i],c=l.x-e||1e-6,u=l.y-r||1e-6,h=Math.sqrt(c*c+u*u),f=(o[i]-h)*a[i]*t/h;l.vx+=c*f,l.vy+=u*f}}function c(){if(n){var e,r=n.length;for(a=new Array(r),o=new Array(r),e=0;e<r;++e)o[e]=+t(n[e],e,n),a[e]=isNaN(o[e])?0:+s(n[e],e,n)}}return"function"!=typeof t&&(t=i(+t)),null==e&&(e=0),null==r&&(r=0),l.initialize=function(t){n=t,c()},l.strength=function(t){return arguments.length?(s="function"==typeof t?t:i(+t),c(),l):s},l.radius=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),c(),l):t},l.x=function(t){return arguments.length?(e=+t,l):e},l.y=function(t){return arguments.length?(r=+t,l):r},l},t.forceSimulation=function(t){var e,i=1,o=.001,s=1-Math.pow(o,1/300),l=0,c=.6,u=r.map(),h=a.timer(g),f=n.dispatch("tick","end");function g(){v(),f.call("tick",e),i<o&&(h.stop(),f.call("end",e))}function v(){var e,r,n=t.length;for(i+=(l-i)*s,u.each(function(t){t(i)}),e=0;e<n;++e)null==(r=t[e]).fx?r.x+=r.vx*=c:(r.x=r.fx,r.vx=0),null==r.fy?r.y+=r.vy*=c:(r.y=r.fy,r.vy=0)}function m(){for(var e,r=0,n=t.length;r<n;++r){if((e=t[r]).index=r,isNaN(e.x)||isNaN(e.y)){var a=p*Math.sqrt(r),i=r*d;e.x=a*Math.cos(i),e.y=a*Math.sin(i)}(isNaN(e.vx)||isNaN(e.vy))&&(e.vx=e.vy=0)}}function y(e){return e.initialize&&e.initialize(t),e}return null==t&&(t=[]),m(),e={tick:v,restart:function(){return h.restart(g),e},stop:function(){return h.stop(),e},nodes:function(r){return arguments.length?(t=r,m(),u.each(y),e):t},alpha:function(t){return arguments.length?(i=+t,e):i},alphaMin:function(t){return arguments.length?(o=+t,e):o},alphaDecay:function(t){return arguments.length?(s=+t,e):+s},alphaTarget:function(t){return arguments.length?(l=+t,e):l},velocityDecay:function(t){return arguments.length?(c=1-t,e):1-c},force:function(t,r){return arguments.length>1?(null==r?u.remove(t):u.set(t,y(r)),e):u.get(t)},find:function(e,r,n){var a,i,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c<u;++c)(o=(a=e-(s=t[c]).x)*a+(i=r-s.y)*i)<n&&(l=s,n=o);return l},on:function(t,r){return arguments.length>1?(f.on(t,r),e):f.on(t)}}},t.forceX=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vx+=(n[i]-a.x)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.x=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o},t.forceY=function(t){var e,r,n,a=i(.1);function o(t){for(var a,i=0,o=e.length;i<o;++i)(a=e[i]).vy+=(n[i]-a.y)*r[i]*t}function s(){if(e){var i,o=e.length;for(r=new Array(o),n=new Array(o),i=0;i<o;++i)r[i]=isNaN(n[i]=+t(e[i],i,e))?0:+a(e[i],i,e)}}return"function"!=typeof t&&(t=i(null==t?0:+t)),o.initialize=function(t){e=t,s()},o.strength=function(t){return arguments.length?(a="function"==typeof t?t:i(+t),s(),o):a},o.y=function(e){return arguments.length?(t="function"==typeof e?e:i(+e),s(),o):t},o},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-quadtree"),t("d3-collection"),t("d3-dispatch"),t("d3-timer")):a(n.d3=n.d3||{},n.d3,n.d3,n.d3,n.d3)},{"d3-collection":154,"d3-dispatch":156,"d3-quadtree":161,"d3-timer":163}],158:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e){return t.parent===e.parent?1:2}function r(t,e){return t+e.x}function n(t,e){return Math.max(t,e.y)}function a(t){var e=0,r=t.children,n=r&&r.length;if(n)for(;--n>=0;)e+=r[n].value;else e=1;t.value=e}function i(t,e){var r,n,a,i,s,u=new c(t),h=+t.value&&(u.value=t.value),f=[u];for(null==e&&(e=o);r=f.pop();)if(h&&(r.value=+r.data.value),(a=e(r.data))&&(s=a.length))for(r.children=new Array(s),i=s-1;i>=0;--i)f.push(n=r.children[i]=new c(a[i])),n.parent=r,n.depth=r.depth+1;return u.eachBefore(l)}function o(t){return t.children}function s(t){t.data=t.data.data}function l(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function c(t){this.data=t,this.depth=this.height=0,this.parent=null}c.prototype=i.prototype={constructor:c,count:function(){return this.eachAfter(a)},each:function(t){var e,r,n,a,i=this,o=[i];do{for(e=o.reverse(),o=[];i=e.pop();)if(t(i),r=i.children)for(n=0,a=r.length;n<a;++n)o.push(r[n])}while(o.length);return this},eachAfter:function(t){for(var e,r,n,a=this,i=[a],o=[];a=i.pop();)if(o.push(a),e=a.children)for(r=0,n=e.length;r<n;++r)i.push(e[r]);for(;a=o.pop();)t(a);return this},eachBefore:function(t){for(var e,r,n=this,a=[n];n=a.pop();)if(t(n),e=n.children)for(r=e.length-1;r>=0;--r)a.push(e[r]);return this},sum:function(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,a=n&&n.length;--a>=0;)r+=n[a].value;e.value=r})},sort:function(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),a=null;for(t=r.pop(),e=n.pop();t===e;)a=t,t=r.pop(),e=n.pop();return a}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var a=n.length;t!==r;)n.splice(a,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each(function(e){t.push(e)}),t},leaves:function(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t},links:function(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e},copy:function(){return i(this).eachBefore(s)}};var u=Array.prototype.slice;function h(t){for(var e,r,n=0,a=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(u.call(t))).length,i=[];n<a;)e=t[n],r&&d(r,e)?++n:(r=v(i=f(i,e)),n=0);return r}function f(t,e){var r,n;if(g(e,t))return[e];for(r=0;r<t.length;++r)if(p(e,t[r])&&g(m(t[r],e),t))return[t[r],e];for(r=0;r<t.length-1;++r)for(n=r+1;n<t.length;++n)if(p(m(t[r],t[n]),e)&&p(m(t[r],e),t[n])&&p(m(t[n],e),t[r])&&g(y(t[r],t[n],e),t))return[t[r],t[n],e];throw new Error}function p(t,e){var r=t.r-e.r,n=e.x-t.x,a=e.y-t.y;return r<0||r*r<n*n+a*a}function d(t,e){var r=t.r-e.r+1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function g(t,e){for(var r=0;r<e.length;++r)if(!d(t,e[r]))return!1;return!0}function v(t){switch(t.length){case 1:return{x:(e=t[0]).x,y:e.y,r:e.r};case 2:return m(t[0],t[1]);case 3:return y(t[0],t[1],t[2])}var e}function m(t,e){var r=t.x,n=t.y,a=t.r,i=e.x,o=e.y,s=e.r,l=i-r,c=o-n,u=s-a,h=Math.sqrt(l*l+c*c);return{x:(r+i+l/h*u)/2,y:(n+o+c/h*u)/2,r:(h+a+s)/2}}function y(t,e,r){var n=t.x,a=t.y,i=t.r,o=e.x,s=e.y,l=e.r,c=r.x,u=r.y,h=r.r,f=n-o,p=n-c,d=a-s,g=a-u,v=l-i,m=h-i,y=n*n+a*a-i*i,x=y-o*o-s*s+l*l,b=y-c*c-u*u+h*h,_=p*d-f*g,w=(d*b-g*x)/(2*_)-n,k=(g*v-d*m)/_,T=(p*x-f*b)/(2*_)-a,A=(f*m-p*v)/_,M=k*k+A*A-1,S=2*(i+w*k+T*A),E=w*w+T*T-i*i,L=-(M?(S+Math.sqrt(S*S-4*M*E))/(2*M):E/S);return{x:n+w+k*L,y:a+T+A*L,r:L}}function x(t,e,r){var n,a,i,o,s=t.x-e.x,l=t.y-e.y,c=s*s+l*l;c?(a=e.r+r.r,a*=a,o=t.r+r.r,a>(o*=o)?(n=(c+o-a)/(2*c),i=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-i*l,r.y=t.y-n*l+i*s):(n=(c+a-o)/(2*c),i=Math.sqrt(Math.max(0,a/c-n*n)),r.x=e.x+n*s-i*l,r.y=e.y+n*l+i*s)):(r.x=e.x+r.r,r.y=e.y)}function b(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,a=e.y-t.y;return r>0&&r*r>n*n+a*a}function _(t){var e=t._,r=t.next._,n=e.r+r.r,a=(e.x*r.r+r.x*e.r)/n,i=(e.y*r.r+r.y*e.r)/n;return a*a+i*i}function w(t){this._=t,this.next=null,this.previous=null}function k(t){if(!(a=t.length))return 0;var e,r,n,a,i,o,s,l,c,u,f;if((e=t[0]).x=0,e.y=0,!(a>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(a>2))return e.r+r.r;x(r,e,n=t[2]),e=new w(e),r=new w(r),n=new w(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s<a;++s){x(e._,r._,n=t[s]),n=new w(n),l=r.next,c=e.previous,u=r._.r,f=e._.r;do{if(u<=f){if(b(l._,n._)){r=l,e.next=r,r.previous=e,--s;continue t}u+=l._.r,l=l.next}else{if(b(c._,n._)){(e=c).next=r,r.previous=e,--s;continue t}f+=c._.r,c=c.previous}}while(l!==c.next);for(n.previous=e,n.next=r,e.next=r.previous=r=n,i=_(e);(n=n.next)!==r;)(o=_(n))<i&&(e=n,i=o);r=e.next}for(e=[r._],n=r;(n=n.next)!==r;)e.push(n._);for(n=h(e),s=0;s<a;++s)(e=t[s]).x-=n.x,e.y-=n.y;return n.r}function T(t){if("function"!=typeof t)throw new Error;return t}function A(){return 0}function M(t){return function(){return t}}function S(t){return Math.sqrt(t.value)}function E(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function L(t,e){return function(r){if(n=r.children){var n,a,i,o=n.length,s=t(r)*e||0;if(s)for(a=0;a<o;++a)n[a].r+=s;if(i=k(n),s)for(a=0;a<o;++a)n[a].r-=s;r.r=i+s}}}function C(t){return function(e){var r=e.parent;e.r*=t,r&&(e.x=r.x+t*e.x,e.y=r.y+t*e.y)}}function P(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function O(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(n-e)/t.value;++s<l;)(i=o[s]).y0=r,i.y1=a,i.x0=e,i.x1=e+=i.value*c}var z="$",I={depth:-1},D={};function R(t){return t.id}function F(t){return t.parentId}function B(t,e){return t.parent===e.parent?1:2}function N(t){var e=t.children;return e?e[0]:t.t}function j(t){var e=t.children;return e?e[e.length-1]:t.t}function V(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function U(t,e,r){return t.a.parent===e.parent?t.a:r}function q(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function H(t,e,r,n,a){for(var i,o=t.children,s=-1,l=o.length,c=t.value&&(a-r)/t.value;++s<l;)(i=o[s]).x0=e,i.x1=n,i.y0=r,i.y1=r+=i.value*c}q.prototype=Object.create(c.prototype);var G=(1+Math.sqrt(5))/2;function Y(t,e,r,n,a,i){for(var o,s,l,c,u,h,f,p,d,g,v,m=[],y=e.children,x=0,b=0,_=y.length,w=e.value;x<_;){l=a-r,c=i-n;do{u=y[b++].value}while(!u&&b<_);for(h=f=u,v=u*u*(g=Math.max(c/l,l/c)/(w*t)),d=Math.max(f/v,v/h);b<_;++b){if(u+=s=y[b].value,s<h&&(h=s),s>f&&(f=s),v=u*u*g,(p=Math.max(f/v,v/h))>d){u-=s;break}d=p}m.push(o={value:u,dice:l<c,children:y.slice(x,b)}),o.dice?O(o,r,n,a,w?n+=c*u/w:i):H(o,r,n,w?r+=l*u/w:a,i),w-=u,x=b}return m}var W=function t(e){function r(t,r,n,a,i){Y(e,t,r,n,a,i)}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);var X=function t(e){function r(t,r,n,a,i){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h<f;){for(l=(s=o[h]).children,c=s.value=0,u=l.length;c<u;++c)s.value+=l[c].value;s.dice?O(s,r,n,a,n+=(i-n)*s.value/p):H(s,r,n,r+=(a-r)*s.value/p,i),p-=s.value}else t._squarify=o=Y(e,t,r,n,a,i),o.ratio=e}return r.ratio=function(e){return t((e=+e)>1?e:1)},r}(G);t.cluster=function(){var t=e,a=1,i=1,o=!1;function s(e){var s,l=0;e.eachAfter(function(e){var a=e.children;a?(e.x=function(t){return t.reduce(r,0)/t.length}(a),e.y=function(t){return 1+t.reduce(n,0)}(a)):(e.x=s?l+=t(e,s):0,e.y=0,s=e)});var c=function(t){for(var e;e=t.children;)t=e[0];return t}(e),u=function(t){for(var e;e=t.children;)t=e[e.length-1];return t}(e),h=c.x-t(c,u)/2,f=u.x+t(u,c)/2;return e.eachAfter(o?function(t){t.x=(t.x-e.x)*a,t.y=(e.y-t.y)*i}:function(t){t.x=(t.x-h)/(f-h)*a,t.y=(1-(e.y?t.y/e.y:1))*i})}return s.separation=function(e){return arguments.length?(t=e,s):t},s.size=function(t){return arguments.length?(o=!1,a=+t[0],i=+t[1],s):o?null:[a,i]},s.nodeSize=function(t){return arguments.length?(o=!0,a=+t[0],i=+t[1],s):o?[a,i]:null},s},t.hierarchy=i,t.pack=function(){var t=null,e=1,r=1,n=A;function a(a){return a.x=e/2,a.y=r/2,t?a.eachBefore(E(t)).eachAfter(L(n,.5)).eachBefore(C(1)):a.eachBefore(E(S)).eachAfter(L(A,1)).eachAfter(L(n,a.r/Math.min(e,r))).eachBefore(C(Math.min(e,r)/(2*a.r))),a}return a.radius=function(e){return arguments.length?(t=null==(r=e)?null:T(r),a):t;var r},a.size=function(t){return arguments.length?(e=+t[0],r=+t[1],a):[e,r]},a.padding=function(t){return arguments.length?(n="function"==typeof t?t:M(+t),a):n},a},t.packSiblings=function(t){return k(t),t},t.packEnclose=h,t.partition=function(){var t=1,e=1,r=0,n=!1;function a(a){var i=a.height+1;return a.x0=a.y0=r,a.x1=t,a.y1=e/i,a.eachBefore(function(t,e){return function(n){n.children&&O(n,n.x0,t*(n.depth+1)/e,n.x1,t*(n.depth+2)/e);var a=n.x0,i=n.y0,o=n.x1-r,s=n.y1-r;o<a&&(a=o=(a+o)/2),s<i&&(i=s=(i+s)/2),n.x0=a,n.y0=i,n.x1=o,n.y1=s}}(e,i)),n&&a.eachBefore(P),a}return a.round=function(t){return arguments.length?(n=!!t,a):n},a.size=function(r){return arguments.length?(t=+r[0],e=+r[1],a):[t,e]},a.padding=function(t){return arguments.length?(r=+t,a):r},a},t.stratify=function(){var t=R,e=F;function r(r){var n,a,i,o,s,u,h,f=r.length,p=new Array(f),d={};for(a=0;a<f;++a)n=r[a],s=p[a]=new c(n),null!=(u=t(n,a,r))&&(u+="")&&(d[h=z+(s.id=u)]=h in d?D:s);for(a=0;a<f;++a)if(s=p[a],null!=(u=e(r[a],a,r))&&(u+="")){if(!(o=d[z+u]))throw new Error("missing: "+u);if(o===D)throw new Error("ambiguous: "+u);o.children?o.children.push(s):o.children=[s],s.parent=o}else{if(i)throw new Error("multiple roots");i=s}if(!i)throw new Error("no root");if(i.parent=I,i.eachBefore(function(t){t.depth=t.parent.depth+1,--f}).eachBefore(l),i.parent=null,f>0)throw new Error("cycle");return i}return r.id=function(e){return arguments.length?(t=T(e),r):t},r.parentId=function(t){return arguments.length?(e=T(t),r):e},r},t.tree=function(){var t=B,e=1,r=1,n=null;function a(a){var l=function(t){for(var e,r,n,a,i,o=new q(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(i=n.length),a=i-1;a>=0;--a)s.push(r=e.children[a]=new q(n[a],a)),r.parent=e;return(o.parent=new q(null,0)).children=[o],o}(a);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(o),n)a.eachBefore(s);else{var c=a,u=a,h=a;a.eachBefore(function(t){t.x<c.x&&(c=t),t.x>u.x&&(u=t),t.depth>h.depth&&(h=t)});var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),g=r/(h.depth||1);a.eachBefore(function(t){t.x=(t.x+p)*d,t.y=t.depth*g})}return a}function i(e){var r=e.children,n=e.parent.children,a=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,a=t.children,i=a.length;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var i=(r[0].z+r[r.length-1].z)/2;a?(e.z=a.z+t(e._,a._),e.m=e.z-i):e.z=i}else a&&(e.z=a.z+t(e._,a._));e.parent.A=function(e,r,n){if(r){for(var a,i=e,o=e,s=r,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=j(s),i=N(i),s&&i;)l=N(l),(o=j(o)).a=e,(a=s.z+h-i.z-c+t(s._,i._))>0&&(V(U(s,e,n),e,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!j(o)&&(o.t=s,o.m+=h-u),i&&!N(l)&&(l.t=i,l.m+=c-f,n=e)}return n}(e,a,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return a.separation=function(e){return arguments.length?(t=e,a):t},a.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],a):n?null:[e,r]},a.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],a):n?[e,r]:null},a},t.treemap=function(){var t=W,e=!1,r=1,n=1,a=[0],i=A,o=A,s=A,l=A,c=A;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),a=[0],e&&t.eachBefore(P),t}function h(e){var r=a[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h<n&&(n=h=(n+h)/2),f<u&&(u=f=(u+f)/2),e.x0=n,e.y0=u,e.x1=h,e.y1=f,e.children&&(r=a[e.depth+1]=i(e)/2,n+=c(e)-r,u+=o(e)-r,(h-=s(e)-r)<n&&(n=h=(n+h)/2),(f-=l(e)-r)<u&&(u=f=(u+f)/2),t(e,n,u,h,f))}return u.round=function(t){return arguments.length?(e=!!t,u):e},u.size=function(t){return arguments.length?(r=+t[0],n=+t[1],u):[r,n]},u.tile=function(e){return arguments.length?(t=T(e),u):t},u.padding=function(t){return arguments.length?u.paddingInner(t).paddingOuter(t):u.paddingInner()},u.paddingInner=function(t){return arguments.length?(i="function"==typeof t?t:M(+t),u):i},u.paddingOuter=function(t){return arguments.length?u.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):u.paddingTop()},u.paddingTop=function(t){return arguments.length?(o="function"==typeof t?t:M(+t),u):o},u.paddingRight=function(t){return arguments.length?(s="function"==typeof t?t:M(+t),u):s},u.paddingBottom=function(t){return arguments.length?(l="function"==typeof t?t:M(+t),u):l},u.paddingLeft=function(t){return arguments.length?(c="function"==typeof t?t:M(+t),u):c},u},t.treemapBinary=function(t,e,r,n,a){var i,o,s=t.children,l=s.length,c=new Array(l+1);for(c[0]=o=i=0;i<l;++i)c[i+1]=o+=s[i].value;!function t(e,r,n,a,i,o,l){if(e>=r-1){var u=s[e];return u.x0=a,u.y0=i,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p<d;){var g=p+d>>>1;c[g]<f?p=g+1:d=g}f-c[p-1]<c[p]-f&&e+1<p&&--p;var v=c[p]-h,m=n-v;if(o-a>l-i){var y=(a*m+o*v)/n;t(e,p,v,a,i,y,l),t(p,r,m,y,i,o,l)}else{var x=(i*m+l*v)/n;t(e,p,v,a,i,o,x),t(p,r,m,a,x,o,l)}}(0,l,t.value,e,r,n,a)},t.treemapDice=O,t.treemapSlice=H,t.treemapSliceDice=function(t,e,r,n,a){(1&t.depth?H:O)(t,e,r,n,a)},t.treemapSquarify=W,t.treemapResquarify=X,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],159:[function(t,e,r){var n,a;n=this,a=function(t,e){"use strict";function r(t,e,r,n,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*r+(1+3*t+3*i-3*o)*n+o*a)/6}function n(t){var e=t.length-1;return function(n){var a=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),i=t[a],o=t[a+1],s=a>0?t[a-1]:2*i-o,l=a<e-1?t[a+2]:2*o-i;return r((n-a/e)*e,s,i,o,l)}}function a(t){var e=t.length;return function(n){var a=Math.floor(((n%=1)<0?++n:n)*e),i=t[(a+e-1)%e],o=t[a%e],s=t[(a+1)%e],l=t[(a+2)%e];return r((n-a/e)*e,i,o,s,l)}}function i(t){return function(){return t}}function o(t,e){return function(r){return t+r*e}}function s(t,e){var r=e-t;return r?o(t,r>180||r<-180?r-360*Math.round(r/360):r):i(isNaN(t)?e:t)}function l(t){return 1==(t=+t)?c:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):i(isNaN(e)?r:e)}}function c(t,e){var r=e-t;return r?o(t,r):i(isNaN(t)?e:t)}var u=function t(r){var n=l(r);function a(t,r){var a=n((t=e.rgb(t)).r,(r=e.rgb(r)).r),i=n(t.g,r.g),o=n(t.b,r.b),s=c(t.opacity,r.opacity);return function(e){return t.r=a(e),t.g=i(e),t.b=o(e),t.opacity=s(e),t+""}}return a.gamma=t,a}(1);function h(t){return function(r){var n,a,i=r.length,o=new Array(i),s=new Array(i),l=new Array(i);for(n=0;n<i;++n)a=e.rgb(r[n]),o[n]=a.r||0,s[n]=a.g||0,l[n]=a.b||0;return o=t(o),s=t(s),l=t(l),a.opacity=1,function(t){return a.r=o(t),a.g=s(t),a.b=l(t),a+""}}}var f=h(n),p=h(a);function d(t,e){var r,n=e?e.length:0,a=t?Math.min(n,t.length):0,i=new Array(a),o=new Array(n);for(r=0;r<a;++r)i[r]=_(t[r],e[r]);for(;r<n;++r)o[r]=e[r];return function(t){for(r=0;r<a;++r)o[r]=i[r](t);return o}}function g(t,e){var r=new Date;return e-=t=+t,function(n){return r.setTime(t+e*n),r}}function v(t,e){return e-=t=+t,function(r){return t+e*r}}function m(t,e){var r,n={},a={};for(r in null!==t&&"object"==typeof t||(t={}),null!==e&&"object"==typeof e||(e={}),e)r in t?n[r]=_(t[r],e[r]):a[r]=e[r];return function(t){for(r in n)a[r]=n[r](t);return a}}var y=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,x=new RegExp(y.source,"g");function b(t,e){var r,n,a,i=y.lastIndex=x.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=y.exec(t))&&(n=x.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:v(r,n)})),i=x.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?function(t){return function(e){return t(e)+""}}(l[0].x):function(t){return function(){return t}}(e):(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}function _(t,r){var n,a=typeof r;return null==r||"boolean"===a?i(r):("number"===a?v:"string"===a?(n=e.color(r))?(r=n,u):b:r instanceof e.color?u:r instanceof Date?g:Array.isArray(r)?d:"function"!=typeof r.valueOf&&"function"!=typeof r.toString||isNaN(r)?m:v)(t,r)}var w,k,T,A,M=180/Math.PI,S={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function E(t,e,r,n,a,i){var o,s,l;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(s=Math.sqrt(r*r+n*n))&&(r/=s,n/=s,l/=s),t*n<e*r&&(t=-t,e=-e,l=-l,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*M,skewX:Math.atan(l)*M,scaleX:o,scaleY:s}}function L(t,e,r,n){function a(t){return t.length?t.pop()+" ":""}return function(i,o){var s=[],l=[];return i=t(i),o=t(o),function(t,n,a,i,o,s){if(t!==a||n!==i){var l=o.push("translate(",null,e,null,r);s.push({i:l-4,x:v(t,a)},{i:l-2,x:v(n,i)})}else(a||i)&&o.push("translate("+a+e+i+r)}(i.translateX,i.translateY,o.translateX,o.translateY,s,l),function(t,e,r,i){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),i.push({i:r.push(a(r)+"rotate(",null,n)-2,x:v(t,e)})):e&&r.push(a(r)+"rotate("+e+n)}(i.rotate,o.rotate,s,l),function(t,e,r,i){t!==e?i.push({i:r.push(a(r)+"skewX(",null,n)-2,x:v(t,e)}):e&&r.push(a(r)+"skewX("+e+n)}(i.skewX,o.skewX,s,l),function(t,e,r,n,i,o){if(t!==r||e!==n){var s=i.push(a(i)+"scale(",null,",",null,")");o.push({i:s-4,x:v(t,r)},{i:s-2,x:v(e,n)})}else 1===r&&1===n||i.push(a(i)+"scale("+r+","+n+")")}(i.scaleX,i.scaleY,o.scaleX,o.scaleY,s,l),i=o=null,function(t){for(var e,r=-1,n=l.length;++r<n;)s[(e=l[r]).i]=e.x(t);return s.join("")}}}var C=L(function(t){return"none"===t?S:(w||(w=document.createElement("DIV"),k=document.documentElement,T=document.defaultView),w.style.transform=t,t=T.getComputedStyle(k.appendChild(w),null).getPropertyValue("transform"),k.removeChild(w),E(+(t=t.slice(7,-1).split(","))[0],+t[1],+t[2],+t[3],+t[4],+t[5]))},"px, ","px)","deg)"),P=L(function(t){return null==t?S:(A||(A=document.createElementNS("http://www.w3.org/2000/svg","g")),A.setAttribute("transform",t),(t=A.transform.baseVal.consolidate())?E((t=t.matrix).a,t.b,t.c,t.d,t.e,t.f):S)},", ",")",")"),O=Math.SQRT2,z=2,I=4,D=1e-12;function R(t){return((t=Math.exp(t))+1/t)/2}function F(t){return function(r,n){var a=t((r=e.hsl(r)).h,(n=e.hsl(n)).h),i=c(r.s,n.s),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.s=i(t),r.l=o(t),r.opacity=s(t),r+""}}}var B=F(s),N=F(c);function j(t){return function(r,n){var a=t((r=e.hcl(r)).h,(n=e.hcl(n)).h),i=c(r.c,n.c),o=c(r.l,n.l),s=c(r.opacity,n.opacity);return function(t){return r.h=a(t),r.c=i(t),r.l=o(t),r.opacity=s(t),r+""}}}var V=j(s),U=j(c);function q(t){return function r(n){function a(r,a){var i=t((r=e.cubehelix(r)).h,(a=e.cubehelix(a)).h),o=c(r.s,a.s),s=c(r.l,a.l),l=c(r.opacity,a.opacity);return function(t){return r.h=i(t),r.s=o(t),r.l=s(Math.pow(t,n)),r.opacity=l(t),r+""}}return n=+n,a.gamma=r,a}(1)}var H=q(s),G=q(c);t.interpolate=_,t.interpolateArray=d,t.interpolateBasis=n,t.interpolateBasisClosed=a,t.interpolateDate=g,t.interpolateDiscrete=function(t){var e=t.length;return function(r){return t[Math.max(0,Math.min(e-1,Math.floor(r*e)))]}},t.interpolateHue=function(t,e){var r=s(+t,+e);return function(t){var e=r(t);return e-360*Math.floor(e/360)}},t.interpolateNumber=v,t.interpolateObject=m,t.interpolateRound=function(t,e){return e-=t=+t,function(r){return Math.round(t+e*r)}},t.interpolateString=b,t.interpolateTransformCss=C,t.interpolateTransformSvg=P,t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<D)n=Math.log(c/o)/O,r=function(t){return[a+t*u,i+t*h,o*Math.exp(O*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+I*f)/(2*o*z*p),g=(c*c-o*o-I*f)/(2*c*z*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/O,r=function(t){var e,r=t*n,s=R(v),l=o/(z*p)*(s*(e=O*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/R(O*r+v)]}}return r.duration=1e3*n,r},t.interpolateRgb=u,t.interpolateRgbBasis=f,t.interpolateRgbBasisClosed=p,t.interpolateHsl=B,t.interpolateHslLong=N,t.interpolateLab=function(t,r){var n=c((t=e.lab(t)).l,(r=e.lab(r)).l),a=c(t.a,r.a),i=c(t.b,r.b),o=c(t.opacity,r.opacity);return function(e){return t.l=n(e),t.a=a(e),t.b=i(e),t.opacity=o(e),t+""}},t.interpolateHcl=V,t.interpolateHclLong=U,t.interpolateCubehelix=H,t.interpolateCubehelixLong=G,t.piecewise=function(t,e){for(var r=0,n=e.length-1,a=e[0],i=new Array(n<0?0:n);r<n;)i[r]=t(a,a=e[++r]);return function(t){var e=Math.max(0,Math.min(n-1,Math.floor(t*=n)));return i[e](t-e)}},t.quantize=function(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t(n/(e-1));return r},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-color")):a(n.d3=n.d3||{},n.d3)},{"d3-color":155}],160:[function(t,e,r){var n;n=this,function(t){"use strict";var e=Math.PI,r=2*e,n=r-1e-6;function a(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function i(){return new a}a.prototype=i.prototype={constructor:a,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,a,i){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+a)+","+(this._y1=+i)},arcTo:function(t,r,n,a,i){t=+t,r=+r,n=+n,a=+a,i=+i;var o=this._x1,s=this._y1,l=n-t,c=a-r,u=o-t,h=s-r,f=u*u+h*h;if(i<0)throw new Error("negative radius: "+i);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=r);else if(f>1e-6)if(Math.abs(h*l-c*u)>1e-6&&i){var p=n-o,d=a-s,g=l*l+c*c,v=p*p+d*d,m=Math.sqrt(g),y=Math.sqrt(f),x=i*Math.tan((e-Math.acos((g+f-v)/(2*m*y)))/2),b=x/y,_=x/m;Math.abs(b-1)>1e-6&&(this._+="L"+(t+b*u)+","+(r+b*h)),this._+="A"+i+","+i+",0,0,"+ +(h*p>u*d)+","+(this._x1=t+_*l)+","+(this._y1=r+_*c)}else this._+="L"+(this._x1=t)+","+(this._y1=r);else;},arc:function(t,a,i,o,s,l){t=+t,a=+a;var c=(i=+i)*Math.cos(o),u=i*Math.sin(o),h=t+c,f=a+u,p=1^l,d=l?o-s:s-o;if(i<0)throw new Error("negative radius: "+i);null===this._x1?this._+="M"+h+","+f:(Math.abs(this._x1-h)>1e-6||Math.abs(this._y1-f)>1e-6)&&(this._+="L"+h+","+f),i&&(d<0&&(d=d%r+r),d>n?this._+="A"+i+","+i+",0,1,"+p+","+(t-c)+","+(a-u)+"A"+i+","+i+",0,1,"+p+","+(this._x1=h)+","+(this._y1=f):d>1e-6&&(this._+="A"+i+","+i+",0,"+ +(d>=e)+","+p+","+(this._x1=t+i*Math.cos(s))+","+(this._y1=a+i*Math.sin(s))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}},t.path=i,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],161:[function(t,e,r){var n;n=this,function(t){"use strict";function e(t,e,r,n){if(isNaN(e)||isNaN(r))return t;var a,i,o,s,l,c,u,h,f,p=t._root,d={data:n},g=t._x0,v=t._y0,m=t._x1,y=t._y1;if(!p)return t._root=d,t;for(;p.length;)if((c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o,a=p,!(p=p[h=u<<1|c]))return a[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,a?a[h]=d:t._root=d,t;do{a=a?a[h]=new Array(4):t._root=new Array(4),(c=e>=(i=(g+m)/2))?g=i:m=i,(u=r>=(o=(v+y)/2))?v=o:y=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=i));return a[f]=p,a[h]=d,t}var r=function(t,e,r,n,a){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=a};function n(t){return t[0]}function a(t){return t[1]}function i(t,e,r){var i=new o(null==e?n:e,null==r?a:r,NaN,NaN,NaN,NaN);return null==t?i:i.addAll(t)}function o(t,e,r,n,a,i){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=a,this._y1=i,this._root=void 0}function s(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}var l=i.prototype=o.prototype;l.copy=function(){var t,e,r=new o(this._x,this._y,this._x0,this._y0,this._x1,this._y1),n=this._root;if(!n)return r;if(!n.length)return r._root=s(n),r;for(t=[{source:n,target:r._root=new Array(4)}];n=t.pop();)for(var a=0;a<4;++a)(e=n.source[a])&&(e.length?t.push({source:e,target:n.target[a]=new Array(4)}):n.target[a]=s(e));return r},l.add=function(t){var r=+this._x.call(null,t),n=+this._y.call(null,t);return e(this.cover(r,n),r,n,t)},l.addAll=function(t){var r,n,a,i,o=t.length,s=new Array(o),l=new Array(o),c=1/0,u=1/0,h=-1/0,f=-1/0;for(n=0;n<o;++n)isNaN(a=+this._x.call(null,r=t[n]))||isNaN(i=+this._y.call(null,r))||(s[n]=a,l[n]=i,a<c&&(c=a),a>h&&(h=a),i<u&&(u=i),i>f&&(f=i));for(h<c&&(c=this._x0,h=this._x1),f<u&&(u=this._y0,f=this._y1),this.cover(c,u).cover(h,f),n=0;n<o;++n)e(this,s[n],l[n],t[n]);return this},l.cover=function(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var r=this._x0,n=this._y0,a=this._x1,i=this._y1;if(isNaN(r))a=(r=Math.floor(t))+1,i=(n=Math.floor(e))+1;else{if(!(r>t||t>a||n>e||e>i))return this;var o,s,l=a-r,c=this._root;switch(s=(e<(n+i)/2)<<1|t<(r+a)/2){case 0:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),t>(a=r+l)||e>i);break;case 1:do{(o=new Array(4))[s]=c,c=o}while(i=n+(l*=2),(r=a-l)>t||e>i);break;case 2:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),t>(a=r+l)||n>e);break;case 3:do{(o=new Array(4))[s]=c,c=o}while(n=i-(l*=2),(r=a-l)>t||n>e)}this._root&&this._root.length&&(this._root=c)}return this._x0=r,this._y0=n,this._x1=a,this._y1=i,this},l.data=function(){var t=[];return this.visit(function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}),t},l.extent=function(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]},l.find=function(t,e,n){var a,i,o,s,l,c,u,h=this._x0,f=this._y0,p=this._x1,d=this._y1,g=[],v=this._root;for(v&&g.push(new r(v,h,f,p,d)),null==n?n=1/0:(h=t-n,f=e-n,p=t+n,d=e+n,n*=n);c=g.pop();)if(!(!(v=c.node)||(i=c.x0)>p||(o=c.y0)>d||(s=c.x1)<h||(l=c.y1)<f))if(v.length){var m=(i+s)/2,y=(o+l)/2;g.push(new r(v[3],m,y,s,l),new r(v[2],i,y,m,l),new r(v[1],m,o,s,y),new r(v[0],i,o,m,y)),(u=(e>=y)<<1|t>=m)&&(c=g[g.length-1],g[g.length-1]=g[g.length-1-u],g[g.length-1-u]=c)}else{var x=t-+this._x.call(null,v.data),b=e-+this._y.call(null,v.data),_=x*x+b*b;if(_<n){var w=Math.sqrt(n=_);h=t-w,f=e-w,p=t+w,d=e+w,a=v.data}}return a},l.remove=function(t){if(isNaN(i=+this._x.call(null,t))||isNaN(o=+this._y.call(null,t)))return this;var e,r,n,a,i,o,s,l,c,u,h,f,p=this._root,d=this._x0,g=this._y0,v=this._x1,m=this._y1;if(!p)return this;if(p.length)for(;;){if((c=i>=(s=(d+v)/2))?d=s:v=s,(u=o>=(l=(g+m)/2))?g=l:m=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(a=p.next)&&delete p.next,n?(a?n.next=a:delete n.next,this):e?(a?e[h]=a:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=a,this)},l.removeAll=function(t){for(var e=0,r=t.length;e<r;++e)this.remove(t[e]);return this},l.root=function(){return this._root},l.size=function(){var t=0;return this.visit(function(e){if(!e.length)do{++t}while(e=e.next)}),t},l.visit=function(t){var e,n,a,i,o,s,l=[],c=this._root;for(c&&l.push(new r(c,this._x0,this._y0,this._x1,this._y1));e=l.pop();)if(!t(c=e.node,a=e.x0,i=e.y0,o=e.x1,s=e.y1)&&c.length){var u=(a+o)/2,h=(i+s)/2;(n=c[3])&&l.push(new r(n,u,h,o,s)),(n=c[2])&&l.push(new r(n,a,h,u,s)),(n=c[1])&&l.push(new r(n,u,i,o,h)),(n=c[0])&&l.push(new r(n,a,i,u,h))}return this},l.visitAfter=function(t){var e,n=[],a=[];for(this._root&&n.push(new r(this._root,this._x0,this._y0,this._x1,this._y1));e=n.pop();){var i=e.node;if(i.length){var o,s=e.x0,l=e.y0,c=e.x1,u=e.y1,h=(s+c)/2,f=(l+u)/2;(o=i[0])&&n.push(new r(o,s,l,h,f)),(o=i[1])&&n.push(new r(o,h,l,c,f)),(o=i[2])&&n.push(new r(o,s,f,h,u)),(o=i[3])&&n.push(new r(o,h,f,c,u))}a.push(e)}for(;e=a.pop();)t(e.node,e.x0,e.y0,e.x1,e.y1);return this},l.x=function(t){return arguments.length?(this._x=t,this):this._x},l.y=function(t){return arguments.length?(this._y=t,this):this._y},t.quadtree=i,Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],162:[function(t,e,r){var n,a;n=this,a=function(t,e){"use strict";function r(t){return function(){return t}}var n=Math.abs,a=Math.atan2,i=Math.cos,o=Math.max,s=Math.min,l=Math.sin,c=Math.sqrt,u=1e-12,h=Math.PI,f=h/2,p=2*h;function d(t){return t>=1?f:t<=-1?-f:Math.asin(t)}function g(t){return t.innerRadius}function v(t){return t.outerRadius}function m(t){return t.startAngle}function y(t){return t.endAngle}function x(t){return t&&t.padAngle}function b(t,e,r,n,a,i,s){var l=t-r,u=e-n,h=(s?i:-i)/c(l*l+u*u),f=h*u,p=-h*l,d=t+f,g=e+p,v=r+f,m=n+p,y=(d+v)/2,x=(g+m)/2,b=v-d,_=m-g,w=b*b+_*_,k=a-i,T=d*m-v*g,A=(_<0?-1:1)*c(o(0,k*k*w-T*T)),M=(T*_-b*A)/w,S=(-T*b-_*A)/w,E=(T*_+b*A)/w,L=(-T*b+_*A)/w,C=M-y,P=S-x,O=E-y,z=L-x;return C*C+P*P>O*O+z*z&&(M=E,S=L),{cx:M,cy:S,x01:-f,y01:-p,x11:M*(a/k-1),y11:S*(a/k-1)}}function _(t){this._context=t}function w(t){return new _(t)}function k(t){return t[0]}function T(t){return t[1]}function A(){var t=k,n=T,a=r(!0),i=null,o=w,s=null;function l(r){var l,c,u,h=r.length,f=!1;for(null==i&&(s=o(u=e.path())),l=0;l<=h;++l)!(l<h&&a(c=r[l],l,r))===f&&((f=!f)?s.lineStart():s.lineEnd()),f&&s.point(+t(c,l,r),+n(c,l,r));if(u)return s=null,u+""||null}return l.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),l):t},l.y=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),l):n},l.defined=function(t){return arguments.length?(a="function"==typeof t?t:r(!!t),l):a},l.curve=function(t){return arguments.length?(o=t,null!=i&&(s=o(i)),l):o},l.context=function(t){return arguments.length?(null==t?i=s=null:s=o(i=t),l):i},l}function M(){var t=k,n=null,a=r(0),i=T,o=r(!0),s=null,l=w,c=null;function u(r){var u,h,f,p,d,g=r.length,v=!1,m=new Array(g),y=new Array(g);for(null==s&&(c=l(d=e.path())),u=0;u<=g;++u){if(!(u<g&&o(p=r[u],u,r))===v)if(v=!v)h=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),f=u-1;f>=h;--f)c.point(m[f],y[f]);c.lineEnd(),c.areaEnd()}v&&(m[u]=+t(p,u,r),y[u]=+a(p,u,r),c.point(n?+n(p,u,r):m[u],i?+i(p,u,r):y[u]))}if(d)return c=null,d+""||null}function h(){return A().defined(o).curve(l).context(s)}return u.x=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),n=null,u):t},u.x0=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),u):t},u.x1=function(t){return arguments.length?(n=null==t?null:"function"==typeof t?t:r(+t),u):n},u.y=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i=null,u):a},u.y0=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),u):a},u.y1=function(t){return arguments.length?(i=null==t?null:"function"==typeof t?t:r(+t),u):i},u.lineX0=u.lineY0=function(){return h().x(t).y(a)},u.lineY1=function(){return h().x(t).y(i)},u.lineX1=function(){return h().x(n).y(a)},u.defined=function(t){return arguments.length?(o="function"==typeof t?t:r(!!t),u):o},u.curve=function(t){return arguments.length?(l=t,null!=s&&(c=l(s)),u):l},u.context=function(t){return arguments.length?(null==t?s=c=null:c=l(s=t),u):s},u}function S(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function E(t){return t}_.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e)}}};var L=P(w);function C(t){this._curve=t}function P(t){function e(e){return new C(t(e))}return e._curve=t,e}function O(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function z(){return O(A().curve(L))}function I(){var t=M().curve(L),e=t.curve,r=t.lineX0,n=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return O(r())},delete t.lineX0,t.lineEndAngle=function(){return O(n())},delete t.lineX1,t.lineInnerRadius=function(){return O(a())},delete t.lineY0,t.lineOuterRadius=function(){return O(i())},delete t.lineY1,t.curve=function(t){return arguments.length?e(P(t)):e()._curve},t}function D(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}C.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};var R=Array.prototype.slice;function F(t){return t.source}function B(t){return t.target}function N(t){var n=F,a=B,i=k,o=T,s=null;function l(){var r,l=R.call(arguments),c=n.apply(this,l),u=a.apply(this,l);if(s||(s=r=e.path()),t(s,+i.apply(this,(l[0]=c,l)),+o.apply(this,l),+i.apply(this,(l[0]=u,l)),+o.apply(this,l)),r)return s=null,r+""||null}return l.source=function(t){return arguments.length?(n=t,l):n},l.target=function(t){return arguments.length?(a=t,l):a},l.x=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),l):i},l.y=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),l):o},l.context=function(t){return arguments.length?(s=null==t?null:t,l):s},l}function j(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,a,n,a)}function V(t,e,r,n,a){t.moveTo(e,r),t.bezierCurveTo(e,r=(r+a)/2,n,r,n,a)}function U(t,e,r,n,a){var i=D(e,r),o=D(e,r=(r+a)/2),s=D(n,r),l=D(n,a);t.moveTo(i[0],i[1]),t.bezierCurveTo(o[0],o[1],s[0],s[1],l[0],l[1])}var q={draw:function(t,e){var r=Math.sqrt(e/h);t.moveTo(r,0),t.arc(0,0,r,0,p)}},H={draw:function(t,e){var r=Math.sqrt(e/5)/2;t.moveTo(-3*r,-r),t.lineTo(-r,-r),t.lineTo(-r,-3*r),t.lineTo(r,-3*r),t.lineTo(r,-r),t.lineTo(3*r,-r),t.lineTo(3*r,r),t.lineTo(r,r),t.lineTo(r,3*r),t.lineTo(-r,3*r),t.lineTo(-r,r),t.lineTo(-3*r,r),t.closePath()}},G=Math.sqrt(1/3),Y=2*G,W={draw:function(t,e){var r=Math.sqrt(e/Y),n=r*G;t.moveTo(0,-r),t.lineTo(n,0),t.lineTo(0,r),t.lineTo(-n,0),t.closePath()}},X=Math.sin(h/10)/Math.sin(7*h/10),Z=Math.sin(p/10)*X,J=-Math.cos(p/10)*X,K={draw:function(t,e){var r=Math.sqrt(.8908130915292852*e),n=Z*r,a=J*r;t.moveTo(0,-r),t.lineTo(n,a);for(var i=1;i<5;++i){var o=p*i/5,s=Math.cos(o),l=Math.sin(o);t.lineTo(l*r,-s*r),t.lineTo(s*n-l*a,l*n+s*a)}t.closePath()}},Q={draw:function(t,e){var r=Math.sqrt(e),n=-r/2;t.rect(n,n,r,r)}},$=Math.sqrt(3),tt={draw:function(t,e){var r=-Math.sqrt(e/(3*$));t.moveTo(0,2*r),t.lineTo(-$*r,-r),t.lineTo($*r,-r),t.closePath()}},et=-.5,rt=Math.sqrt(3)/2,nt=1/Math.sqrt(12),at=3*(nt/2+1),it={draw:function(t,e){var r=Math.sqrt(e/at),n=r/2,a=r*nt,i=n,o=r*nt+r,s=-i,l=o;t.moveTo(n,a),t.lineTo(i,o),t.lineTo(s,l),t.lineTo(et*n-rt*a,rt*n+et*a),t.lineTo(et*i-rt*o,rt*i+et*o),t.lineTo(et*s-rt*l,rt*s+et*l),t.lineTo(et*n+rt*a,et*a-rt*n),t.lineTo(et*i+rt*o,et*o-rt*i),t.lineTo(et*s+rt*l,et*l-rt*s),t.closePath()}},ot=[q,H,W,Q,K,tt,it];function st(){}function lt(t,e,r){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+r)/6)}function ct(t){this._context=t}function ut(t){this._context=t}function ht(t){this._context=t}function ft(t,e){this._basis=new ct(t),this._beta=e}ct.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:lt(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ut.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ht.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:lt(this,t,e)}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}},ft.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n,a=t[0],i=e[0],o=t[r]-a,s=e[r]-i,l=-1;++l<=r;)n=l/r,this._basis.point(this._beta*t[l]+(1-this._beta)*(a+n*o),this._beta*e[l]+(1-this._beta)*(i+n*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var pt=function t(e){function r(t){return 1===e?new ct(t):new ft(t,e)}return r.beta=function(e){return t(+e)},r}(.85);function dt(t,e,r){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-r),t._x2,t._y2)}function gt(t,e){this._context=t,this._k=(1-e)/6}gt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:dt(this,this._x1,this._y1)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var vt=function t(e){function r(t){return new gt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function mt(t,e){this._context=t,this._k=(1-e)/6}mt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var yt=function t(e){function r(t){return new mt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function xt(t,e){this._context=t,this._k=(1-e)/6}xt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:dt(this,t,e)}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var bt=function t(e){function r(t){return new xt(t,e)}return r.tension=function(e){return t(+e)},r}(0);function _t(t,e,r){var n=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>u){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,l=3*t._l01_a*(t._l01_a+t._l12_a);n=(n*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,a=(a*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>u){var c=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,h=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*c+t._x1*t._l23_2a-e*t._l12_2a)/h,o=(o*c+t._y1*t._l23_2a-r*t._l12_2a)/h}t._context.bezierCurveTo(n,a,i,o,t._x2,t._y2)}function wt(t,e){this._context=t,this._alpha=e}wt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var kt=function t(e){function r(t){return e?new wt(t,e):new gt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Tt(t,e){this._context=t,this._alpha=e}Tt.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5)}},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var At=function t(e){function r(t){return e?new Tt(t,e):new mt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Mt(t,e){this._context=t,this._alpha=e}Mt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||0!==this._line&&3===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_t(this,t,e)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var St=function t(e){function r(t){return e?new Mt(t,e):new xt(t,0)}return r.alpha=function(e){return t(+e)},r}(.5);function Et(t){this._context=t}function Lt(t){return t<0?-1:1}function Ct(t,e,r){var n=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(n||a<0&&-0),o=(r-t._y1)/(a||n<0&&-0),s=(i*a+o*n)/(n+a);return(Lt(i)+Lt(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(s))||0}function Pt(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function Ot(t,e,r){var n=t._x0,a=t._y0,i=t._x1,o=t._y1,s=(i-n)/3;t._context.bezierCurveTo(n+s,a+s*e,i-s,o-s*r,i,o)}function zt(t){this._context=t}function It(t){this._context=new Dt(t)}function Dt(t){this._context=t}function Rt(t){this._context=t}function Ft(t){var e,r,n=t.length-1,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)a[e]=1,i[e]=4,o[e]=4*t[e]+2*t[e+1];for(a[n-1]=2,i[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=a[e]/i[e-1],i[e]-=r,o[e]-=r*o[e-1];for(a[n-1]=o[n-1]/i[n-1],e=n-2;e>=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-a[e+1];return[a,i]}function Bt(t,e){this._context=t,this._t=e}function Nt(t,e){if((a=t.length)>1)for(var r,n,a,i=1,o=t[e[0]],s=o.length;i<a;++i)for(n=o,o=t[e[i]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(n[r][1])?n[r][0]:n[r][1]}function jt(t){for(var e=t.length,r=new Array(e);--e>=0;)r[e]=e;return r}function Vt(t,e){return t[e]}function Ut(t){var e=t.map(qt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function qt(t){for(var e,r=-1,n=0,a=t.length,i=-1/0;++r<a;)(e=+t[r][1])>i&&(i=e,n=r);return n}function Ht(t){var e=t.map(Gt);return jt(t).sort(function(t,r){return e[t]-e[r]})}function Gt(t){for(var e,r=0,n=-1,a=t.length;++n<a;)(e=+t[n][1])&&(r+=e);return r}Et.prototype={areaStart:st,areaEnd:st,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}},zt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Ot(this,this._t0,Pt(this,this._t0))}(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var r=NaN;if(e=+e,(t=+t)!==this._x1||e!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Ot(this,Pt(this,r=Ct(this,t,e)),r);break;default:Ot(this,this._t0,r=Ct(this,t,e))}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}},(It.prototype=Object.create(zt.prototype)).point=function(t,e){zt.prototype.point.call(this,e,t)},Dt.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,r,n,a,i){this._context.bezierCurveTo(e,t,n,r,i,a)}},Rt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),2===r)this._context.lineTo(t[1],e[1]);else for(var n=Ft(t),a=Ft(e),i=0,o=1;o<r;++i,++o)this._context.bezierCurveTo(n[0][i],a[0][i],n[1][i],a[1][i],t[o],e[o]);(this._line||0!==this._line&&1===r)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}},Bt.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}}this._x=t,this._y=e}},t.arc=function(){var t=g,o=v,_=r(0),w=null,k=m,T=y,A=x,M=null;function S(){var r,g,v,m=+t.apply(this,arguments),y=+o.apply(this,arguments),x=k.apply(this,arguments)-f,S=T.apply(this,arguments)-f,E=n(S-x),L=S>x;if(M||(M=r=e.path()),y<m&&(g=y,y=m,m=g),y>u)if(E>p-u)M.moveTo(y*i(x),y*l(x)),M.arc(0,0,y,x,S,!L),m>u&&(M.moveTo(m*i(S),m*l(S)),M.arc(0,0,m,S,x,L));else{var C,P,O=x,z=S,I=x,D=S,R=E,F=E,B=A.apply(this,arguments)/2,N=B>u&&(w?+w.apply(this,arguments):c(m*m+y*y)),j=s(n(y-m)/2,+_.apply(this,arguments)),V=j,U=j;if(N>u){var q=d(N/m*l(B)),H=d(N/y*l(B));(R-=2*q)>u?(I+=q*=L?1:-1,D-=q):(R=0,I=D=(x+S)/2),(F-=2*H)>u?(O+=H*=L?1:-1,z-=H):(F=0,O=z=(x+S)/2)}var G=y*i(O),Y=y*l(O),W=m*i(D),X=m*l(D);if(j>u){var Z,J=y*i(z),K=y*l(z),Q=m*i(I),$=m*l(I);if(E<h&&(Z=function(t,e,r,n,a,i,o,s){var l=r-t,c=n-e,h=o-a,f=s-i,p=f*l-h*c;if(!(p*p<u))return[t+(p=(h*(e-i)-f*(t-a))/p)*l,e+p*c]}(G,Y,Q,$,J,K,W,X))){var tt=G-Z[0],et=Y-Z[1],rt=J-Z[0],nt=K-Z[1],at=1/l(((v=(tt*rt+et*nt)/(c(tt*tt+et*et)*c(rt*rt+nt*nt)))>1?0:v<-1?h:Math.acos(v))/2),it=c(Z[0]*Z[0]+Z[1]*Z[1]);V=s(j,(m-it)/(at-1)),U=s(j,(y-it)/(at+1))}}F>u?U>u?(C=b(Q,$,G,Y,y,U,L),P=b(J,K,W,X,y,U,L),M.moveTo(C.cx+C.x01,C.cy+C.y01),U<j?M.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(P.y01,P.x01),!L):(M.arc(C.cx,C.cy,U,a(C.y01,C.x01),a(C.y11,C.x11),!L),M.arc(0,0,y,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),!L),M.arc(P.cx,P.cy,U,a(P.y11,P.x11),a(P.y01,P.x01),!L))):(M.moveTo(G,Y),M.arc(0,0,y,O,z,!L)):M.moveTo(G,Y),m>u&&R>u?V>u?(C=b(W,X,J,K,m,-V,L),P=b(G,Y,Q,$,m,-V,L),M.lineTo(C.cx+C.x01,C.cy+C.y01),V<j?M.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(P.y01,P.x01),!L):(M.arc(C.cx,C.cy,V,a(C.y01,C.x01),a(C.y11,C.x11),!L),M.arc(0,0,m,a(C.cy+C.y11,C.cx+C.x11),a(P.cy+P.y11,P.cx+P.x11),L),M.arc(P.cx,P.cy,V,a(P.y11,P.x11),a(P.y01,P.x01),!L))):M.arc(0,0,m,D,I,L):M.lineTo(W,X)}else M.moveTo(0,0);if(M.closePath(),r)return M=null,r+""||null}return S.centroid=function(){var e=(+t.apply(this,arguments)+ +o.apply(this,arguments))/2,r=(+k.apply(this,arguments)+ +T.apply(this,arguments))/2-h/2;return[i(r)*e,l(r)*e]},S.innerRadius=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),S):t},S.outerRadius=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),S):o},S.cornerRadius=function(t){return arguments.length?(_="function"==typeof t?t:r(+t),S):_},S.padRadius=function(t){return arguments.length?(w=null==t?null:"function"==typeof t?t:r(+t),S):w},S.startAngle=function(t){return arguments.length?(k="function"==typeof t?t:r(+t),S):k},S.endAngle=function(t){return arguments.length?(T="function"==typeof t?t:r(+t),S):T},S.padAngle=function(t){return arguments.length?(A="function"==typeof t?t:r(+t),S):A},S.context=function(t){return arguments.length?(M=null==t?null:t,S):M},S},t.area=M,t.line=A,t.pie=function(){var t=E,e=S,n=null,a=r(0),i=r(p),o=r(0);function s(r){var s,l,c,u,h,f=r.length,d=0,g=new Array(f),v=new Array(f),m=+a.apply(this,arguments),y=Math.min(p,Math.max(-p,i.apply(this,arguments)-m)),x=Math.min(Math.abs(y)/f,o.apply(this,arguments)),b=x*(y<0?-1:1);for(s=0;s<f;++s)(h=v[g[s]=s]=+t(r[s],s,r))>0&&(d+=h);for(null!=e?g.sort(function(t,r){return e(v[t],v[r])}):null!=n&&g.sort(function(t,e){return n(r[t],r[e])}),s=0,c=d?(y-f*b)/d:0;s<f;++s,m=u)l=g[s],u=m+((h=v[l])>0?h*c:0)+b,v[l]={data:r[l],index:s,value:h,startAngle:m,endAngle:u,padAngle:x};return v}return s.value=function(e){return arguments.length?(t="function"==typeof e?e:r(+e),s):t},s.sortValues=function(t){return arguments.length?(e=t,n=null,s):e},s.sort=function(t){return arguments.length?(n=t,e=null,s):n},s.startAngle=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),s):a},s.endAngle=function(t){return arguments.length?(i="function"==typeof t?t:r(+t),s):i},s.padAngle=function(t){return arguments.length?(o="function"==typeof t?t:r(+t),s):o},s},t.areaRadial=I,t.radialArea=I,t.lineRadial=z,t.radialLine=z,t.pointRadial=D,t.linkHorizontal=function(){return N(j)},t.linkVertical=function(){return N(V)},t.linkRadial=function(){var t=N(U);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t},t.symbol=function(){var t=r(q),n=r(64),a=null;function i(){var r;if(a||(a=r=e.path()),t.apply(this,arguments).draw(a,+n.apply(this,arguments)),r)return a=null,r+""||null}return i.type=function(e){return arguments.length?(t="function"==typeof e?e:r(e),i):t},i.size=function(t){return arguments.length?(n="function"==typeof t?t:r(+t),i):n},i.context=function(t){return arguments.length?(a=null==t?null:t,i):a},i},t.symbols=ot,t.symbolCircle=q,t.symbolCross=H,t.symbolDiamond=W,t.symbolSquare=Q,t.symbolStar=K,t.symbolTriangle=tt,t.symbolWye=it,t.curveBasisClosed=function(t){return new ut(t)},t.curveBasisOpen=function(t){return new ht(t)},t.curveBasis=function(t){return new ct(t)},t.curveBundle=pt,t.curveCardinalClosed=yt,t.curveCardinalOpen=bt,t.curveCardinal=vt,t.curveCatmullRomClosed=At,t.curveCatmullRomOpen=St,t.curveCatmullRom=kt,t.curveLinearClosed=function(t){return new Et(t)},t.curveLinear=w,t.curveMonotoneX=function(t){return new zt(t)},t.curveMonotoneY=function(t){return new It(t)},t.curveNatural=function(t){return new Rt(t)},t.curveStep=function(t){return new Bt(t,.5)},t.curveStepAfter=function(t){return new Bt(t,1)},t.curveStepBefore=function(t){return new Bt(t,0)},t.stack=function(){var t=r([]),e=jt,n=Nt,a=Vt;function i(r){var i,o,s=t.apply(this,arguments),l=r.length,c=s.length,u=new Array(c);for(i=0;i<c;++i){for(var h,f=s[i],p=u[i]=new Array(l),d=0;d<l;++d)p[d]=h=[0,+a(r[d],f,d,r)],h.data=r[d];p.key=f}for(i=0,o=e(u);i<c;++i)u[o[i]].index=i;return n(u,o),u}return i.keys=function(e){return arguments.length?(t="function"==typeof e?e:r(R.call(e)),i):t},i.value=function(t){return arguments.length?(a="function"==typeof t?t:r(+t),i):a},i.order=function(t){return arguments.length?(e=null==t?jt:"function"==typeof t?t:r(R.call(t)),i):e},i.offset=function(t){return arguments.length?(n=null==t?Nt:t,i):n},i},t.stackOffsetExpand=function(t,e){if((n=t.length)>0){for(var r,n,a,i=0,o=t[0].length;i<o;++i){for(a=r=0;r<n;++r)a+=t[r][i][1]||0;if(a)for(r=0;r<n;++r)t[r][i][1]/=a}Nt(t,e)}},t.stackOffsetDiverging=function(t,e){if((s=t.length)>1)for(var r,n,a,i,o,s,l=0,c=t[e[0]].length;l<c;++l)for(i=o=0,r=0;r<s;++r)(a=(n=t[e[r]][l])[1]-n[0])>=0?(n[0]=i,n[1]=i+=a):a<0?(n[1]=o,n[0]=o+=a):n[0]=i},t.stackOffsetNone=Nt,t.stackOffsetSilhouette=function(t,e){if((r=t.length)>0){for(var r,n=0,a=t[e[0]],i=a.length;n<i;++n){for(var o=0,s=0;o<r;++o)s+=t[o][n][1]||0;a[n][1]+=a[n][0]=-s/2}Nt(t,e)}},t.stackOffsetWiggle=function(t,e){if((a=t.length)>0&&(n=(r=t[e[0]]).length)>0){for(var r,n,a,i=0,o=1;o<n;++o){for(var s=0,l=0,c=0;s<a;++s){for(var u=t[e[s]],h=u[o][1]||0,f=(h-(u[o-1][1]||0))/2,p=0;p<s;++p){var d=t[e[p]];f+=(d[o][1]||0)-(d[o-1][1]||0)}l+=h,c+=f*h}r[o-1][1]+=r[o-1][0]=i,l&&(i-=c/l)}r[o-1][1]+=r[o-1][0]=i,Nt(t,e)}},t.stackOrderAppearance=Ut,t.stackOrderAscending=Ht,t.stackOrderDescending=function(t){return Ht(t).reverse()},t.stackOrderInsideOut=function(t){var e,r,n=t.length,a=t.map(Gt),i=Ut(t),o=0,s=0,l=[],c=[];for(e=0;e<n;++e)r=i[e],o<s?(o+=a[r],l.push(r)):(s+=a[r],c.push(r));return c.reverse().concat(l)},t.stackOrderNone=jt,t.stackOrderReverse=function(t){return jt(t).reverse()},Object.defineProperty(t,"__esModule",{value:!0})},"object"==typeof r&&"undefined"!=typeof e?a(r,t("d3-path")):a(n.d3=n.d3||{},n.d3)},{"d3-path":160}],163:[function(t,e,r){var n;n=this,function(t){"use strict";var e,r,n=0,a=0,i=0,o=1e3,s=0,l=0,c=0,u="object"==typeof performance&&performance.now?performance:Date,h="object"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function f(){return l||(h(p),l=u.now()+c)}function p(){l=0}function d(){this._call=this._time=this._next=null}function g(t,e,r){var n=new d;return n.restart(t,e,r),n}function v(){f(),++n;for(var t,r=e;r;)(t=l-r._time)>=0&&r._call.call(null,t),r=r._next;--n}function m(){l=(s=u.now())+c,n=a=0;try{v()}finally{n=0,function(){var t,n,a=e,i=1/0;for(;a;)a._call?(i>a._time&&(i=a._time),t=a,a=a._next):(n=a._next,a._next=null,a=t?t._next=n:e=n);r=t,x(i)}(),l=0}}function y(){var t=u.now(),e=t-s;e>o&&(c-=e,s=t)}function x(t){n||(a&&(a=clearTimeout(a)),t-l>24?(t<1/0&&(a=setTimeout(m,t-u.now()-c)),i&&(i=clearInterval(i))):(i||(s=u.now(),i=setInterval(y,o)),n=1,h(m)))}d.prototype=g.prototype={constructor:d,restart:function(t,n,a){if("function"!=typeof t)throw new TypeError("callback is not a function");a=(null==a?f():+a)+(null==n?0:+n),this._next||r===this||(r?r._next=this:e=this,r=this),this._call=t,this._time=a,x()},stop:function(){this._call&&(this._call=null,this._time=1/0,x())}};t.now=f,t.timer=g,t.timerFlush=v,t.timeout=function(t,e,r){var n=new d;return e=null==e?0:+e,n.restart(function(r){n.stop(),t(r+e)},e,r),n},t.interval=function(t,e,r){var n=new d,a=e;return null==e?(n.restart(t,e,r),n):(e=+e,r=null==r?f():+r,n.restart(function i(o){o+=a,n.restart(i,a+=e,r),t(o)},e,r),n)},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.d3=n.d3||{})},{}],164:[function(t,e,r){!function(){var t={version:"3.5.17"},r=[].slice,n=function(t){return r.call(t)},a=this.document;function i(t){return t&&(t.ownerDocument||t.document||t).documentElement}function o(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(a)try{n(a.documentElement.childNodes)[0].nodeType}catch(t){n=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),a)try{a.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var s=this.Element.prototype,l=s.setAttribute,c=s.setAttributeNS,u=this.CSSStyleDeclaration.prototype,h=u.setProperty;s.setAttribute=function(t,e){l.call(this,t,e+"")},s.setAttributeNS=function(t,e,r){c.call(this,t,e,r+"")},u.setProperty=function(t,e,r){h.call(this,t,e+"",r)}}function f(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function p(t){return null===t?NaN:+t}function d(t){return!isNaN(t)}function g(t){return{left:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)<0?n=i+1:a=i}return n},right:function(e,r,n,a){for(arguments.length<3&&(n=0),arguments.length<4&&(a=e.length);n<a;){var i=n+a>>>1;t(e[i],r)>0?a=i:n=i+1}return n}}}t.ascending=f,t.descending=function(t,e){return e<t?-1:e>t?1:e>=t?0:NaN},t.min=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&r>n&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&r>n&&(r=n)}return r},t.max=function(t,e){var r,n,a=-1,i=t.length;if(1===arguments.length){for(;++a<i;)if(null!=(n=t[a])&&n>=n){r=n;break}for(;++a<i;)null!=(n=t[a])&&n>r&&(r=n)}else{for(;++a<i;)if(null!=(n=e.call(t,t[a],a))&&n>=n){r=n;break}for(;++a<i;)null!=(n=e.call(t,t[a],a))&&n>r&&(r=n)}return r},t.extent=function(t,e){var r,n,a,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(n=t[i])&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=t[i])&&(r>n&&(r=n),a<n&&(a=n))}else{for(;++i<o;)if(null!=(n=e.call(t,t[i],i))&&n>=n){r=a=n;break}for(;++i<o;)null!=(n=e.call(t,t[i],i))&&(r>n&&(r=n),a<n&&(a=n))}return[r,a]},t.sum=function(t,e){var r,n=0,a=t.length,i=-1;if(1===arguments.length)for(;++i<a;)d(r=+t[i])&&(n+=r);else for(;++i<a;)d(r=+e.call(t,t[i],i))&&(n+=r);return n},t.mean=function(t,e){var r,n=0,a=t.length,i=-1,o=a;if(1===arguments.length)for(;++i<a;)d(r=p(t[i]))?n+=r:--o;else for(;++i<a;)d(r=p(e.call(t,t[i],i)))?n+=r:--o;if(o)return n/o},t.quantile=function(t,e){var r=(t.length-1)*e+1,n=Math.floor(r),a=+t[n-1],i=r-n;return i?a+i*(t[n]-a):a},t.median=function(e,r){var n,a=[],i=e.length,o=-1;if(1===arguments.length)for(;++o<i;)d(n=p(e[o]))&&a.push(n);else for(;++o<i;)d(n=p(r.call(e,e[o],o)))&&a.push(n);if(a.length)return t.quantile(a.sort(f),.5)},t.variance=function(t,e){var r,n,a=t.length,i=0,o=0,s=-1,l=0;if(1===arguments.length)for(;++s<a;)d(r=p(t[s]))&&(o+=(n=r-i)*(r-(i+=n/++l)));else for(;++s<a;)d(r=p(e.call(t,t[s],s)))&&(o+=(n=r-i)*(r-(i+=n/++l)));if(l>1)return o/(l-1)},t.deviation=function(){var e=t.variance.apply(this,arguments);return e?Math.sqrt(e):e};var v=g(f);function m(t){return t.length}t.bisectLeft=v.left,t.bisect=t.bisectRight=v.right,t.bisector=function(t){return g(1===t.length?function(e,r){return f(t(e),r)}:t)},t.shuffle=function(t,e,r){(i=arguments.length)<3&&(r=t.length,i<2&&(e=0));for(var n,a,i=r-e;i;)a=Math.random()*i--|0,n=t[i+e],t[i+e]=t[a+e],t[a+e]=n;return t},t.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},t.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],a=new Array(r<0?0:r);e<r;)a[e]=[n,n=t[++e]];return a},t.transpose=function(e){if(!(i=e.length))return[];for(var r=-1,n=t.min(e,m),a=new Array(n);++r<n;)for(var i,o=-1,s=a[r]=new Array(i);++o<i;)s[o]=e[o][r];return a},t.zip=function(){return t.transpose(arguments)},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e},t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.entries=function(t){var e=[];for(var r in t)e.push({key:r,value:t[r]});return e},t.merge=function(t){for(var e,r,n,a=t.length,i=-1,o=0;++i<a;)o+=t[i].length;for(r=new Array(o);--a>=0;)for(e=(n=t[a]).length;--e>=0;)r[--o]=n[e];return r};var y=Math.abs;function x(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function b(){this._=Object.create(null)}t.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,a=[],i=function(t){var e=1;for(;t*e%1;)e*=10;return e}(y(r)),o=-1;if(t*=i,e*=i,(r*=i)<0)for(;(n=t+r*++o)>e;)a.push(n/i);else for(;(n=t+r*++o)<e;)a.push(n/i);return a},t.map=function(t,e){var r=new b;if(t instanceof b)t.forEach(function(t,e){r.set(t,e)});else if(Array.isArray(t)){var n,a=-1,i=t.length;if(1===arguments.length)for(;++a<i;)r.set(a,t[a]);else for(;++a<i;)r.set(e.call(t,n=t[a],a),n)}else for(var o in t)r.set(o,t[o]);return r};var _="__proto__",w="\0";function k(t){return(t+="")===_||t[0]===w?w+t:t}function T(t){return(t+="")[0]===w?t.slice(1):t}function A(t){return k(t)in this._}function M(t){return(t=k(t))in this._&&delete this._[t]}function S(){var t=[];for(var e in this._)t.push(T(e));return t}function E(){var t=0;for(var e in this._)++t;return t}function L(){for(var t in this._)return!1;return!0}function C(){this._=Object.create(null)}function P(t){return t}function O(t,e,r){return function(){var n=r.apply(e,arguments);return n===e?t:n}}function z(t,e){if(e in t)return e;e=e.charAt(0).toUpperCase()+e.slice(1);for(var r=0,n=I.length;r<n;++r){var a=I[r]+e;if(a in t)return a}}x(b,{has:A,get:function(t){return this._[k(t)]},set:function(t,e){return this._[k(t)]=e},remove:M,keys:S,values:function(){var t=[];for(var e in this._)t.push(this._[e]);return t},entries:function(){var t=[];for(var e in this._)t.push({key:T(e),value:this._[e]});return t},size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e),this._[e])}}),t.nest=function(){var e,r,n={},a=[],i=[];function o(t,i,s){if(s>=a.length)return r?r.call(n,i):e?i.sort(e):i;for(var l,c,u,h,f=-1,p=i.length,d=a[s++],g=new b;++f<p;)(h=g.get(l=d(c=i[f])))?h.push(c):g.set(l,[c]);return t?(c=t(),u=function(e,r){c.set(e,o(t,r,s))}):(c={},u=function(e,r){c[e]=o(t,r,s)}),g.forEach(u),c}return n.map=function(t,e){return o(e,t,0)},n.entries=function(e){return function t(e,r){if(r>=a.length)return e;var n=[],o=i[r++];return e.forEach(function(e,a){n.push({key:e,values:t(a,r)})}),o?n.sort(function(t,e){return o(t.key,e.key)}):n}(o(t.map,e,0),0)},n.key=function(t){return a.push(t),n},n.sortKeys=function(t){return i[a.length-1]=t,n},n.sortValues=function(t){return e=t,n},n.rollup=function(t){return r=t,n},n},t.set=function(t){var e=new C;if(t)for(var r=0,n=t.length;r<n;++r)e.add(t[r]);return e},x(C,{has:A,add:function(t){return this._[k(t+="")]=!0,t},remove:M,values:S,size:E,empty:L,forEach:function(t){for(var e in this._)t.call(this,T(e))}}),t.behavior={},t.rebind=function(t,e){for(var r,n=1,a=arguments.length;++n<a;)t[r=arguments[n]]=O(t,e,e[r]);return t};var I=["webkit","ms","moz","Moz","o","O"];function D(){}function R(){}function F(t){var e=[],r=new b;function n(){for(var r,n=e,a=-1,i=n.length;++a<i;)(r=n[a].on)&&r.apply(this,arguments);return t}return n.on=function(n,a){var i,o=r.get(n);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(n)),a&&e.push(r.set(n,{on:a})),t)},n}function B(){t.event.preventDefault()}function N(){for(var e,r=t.event;e=r.sourceEvent;)r=e;return r}function j(e){for(var r=new R,n=0,a=arguments.length;++n<a;)r[arguments[n]]=F(r);return r.of=function(n,a){return function(i){try{var o=i.sourceEvent=t.event;i.target=e,t.event=i,r[i.type].apply(n,a)}finally{t.event=o}}},r}t.dispatch=function(){for(var t=new R,e=-1,r=arguments.length;++e<r;)t[arguments[e]]=F(t);return t},R.prototype.on=function(t,e){var r=t.indexOf("."),n="";if(r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},t.event=null,t.requote=function(t){return t.replace(V,"\\$&")};var V=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,U={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function q(t){return U(t,W),t}var H=function(t,e){return e.querySelector(t)},G=function(t,e){return e.querySelectorAll(t)},Y=function(t,e){var r=t.matches||t[z(t,"matchesSelector")];return(Y=function(t,e){return r.call(t,e)})(t,e)};"function"==typeof Sizzle&&(H=function(t,e){return Sizzle(t,e)[0]||null},G=Sizzle,Y=Sizzle.matchesSelector),t.selection=function(){return t.select(a.documentElement)};var W=t.selection.prototype=[];function X(t){return"function"==typeof t?t:function(){return H(t,this)}}function Z(t){return"function"==typeof t?t:function(){return G(t,this)}}W.select=function(t){var e,r,n,a,i=[];t=X(t);for(var o=-1,s=this.length;++o<s;){i.push(e=[]),e.parentNode=(n=this[o]).parentNode;for(var l=-1,c=n.length;++l<c;)(a=n[l])?(e.push(r=t.call(a,a.__data__,l,o)),r&&"__data__"in a&&(r.__data__=a.__data__)):e.push(null)}return q(i)},W.selectAll=function(t){var e,r,a=[];t=Z(t);for(var i=-1,o=this.length;++i<o;)for(var s=this[i],l=-1,c=s.length;++l<c;)(r=s[l])&&(a.push(e=n(t.call(r,r.__data__,l,i))),e.parentNode=r);return q(a)};var J="http://www.w3.org/1999/xhtml",K={svg:"http://www.w3.org/2000/svg",xhtml:J,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Q(e,r){return e=t.ns.qualify(e),null==r?e.local?function(){this.removeAttributeNS(e.space,e.local)}:function(){this.removeAttribute(e)}:"function"==typeof r?e.local?function(){var t=r.apply(this,arguments);null==t?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,t)}:function(){var t=r.apply(this,arguments);null==t?this.removeAttribute(e):this.setAttribute(e,t)}:e.local?function(){this.setAttributeNS(e.space,e.local,r)}:function(){this.setAttribute(e,r)}}function $(t){return t.trim().replace(/\s+/g," ")}function tt(e){return new RegExp("(?:^|\\s+)"+t.requote(e)+"(?:\\s+|$)","g")}function et(t){return(t+"").trim().split(/^|\s+/)}function rt(t,e){var r=(t=et(t).map(nt)).length;return"function"==typeof e?function(){for(var n=-1,a=e.apply(this,arguments);++n<r;)t[n](this,a)}:function(){for(var n=-1;++n<r;)t[n](this,e)}}function nt(t){var e=tt(t);return function(r,n){if(a=r.classList)return n?a.add(t):a.remove(t);var a=r.getAttribute("class")||"";n?(e.lastIndex=0,e.test(a)||r.setAttribute("class",$(a+" "+t))):r.setAttribute("class",$(a.replace(e," ")))}}function at(t,e,r){return null==e?function(){this.style.removeProperty(t)}:"function"==typeof e?function(){var n=e.apply(this,arguments);null==n?this.style.removeProperty(t):this.style.setProperty(t,n,r)}:function(){this.style.setProperty(t,e,r)}}function it(t,e){return null==e?function(){delete this[t]}:"function"==typeof e?function(){var r=e.apply(this,arguments);null==r?delete this[t]:this[t]=r}:function(){this[t]=e}}function ot(e){return"function"==typeof e?e:(e=t.ns.qualify(e)).local?function(){return this.ownerDocument.createElementNS(e.space,e.local)}:function(){var t=this.ownerDocument,r=this.namespaceURI;return r===J&&t.documentElement.namespaceURI===J?t.createElement(e):t.createElementNS(r,e)}}function st(){var t=this.parentNode;t&&t.removeChild(this)}function lt(t){return{__data__:t}}function ct(t){return function(){return Y(this,t)}}function ut(t,e){for(var r=0,n=t.length;r<n;r++)for(var a,i=t[r],o=0,s=i.length;o<s;o++)(a=i[o])&&e(a,o,r);return t}function ht(t){return U(t,ft),t}t.ns={prefix:K,qualify:function(t){var e=t.indexOf(":"),r=t;return e>=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),K.hasOwnProperty(r)?{space:K[r],local:t}:t}},W.attr=function(e,r){if(arguments.length<2){if("string"==typeof e){var n=this.node();return(e=t.ns.qualify(e)).local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}for(r in e)this.each(Q(r,e[r]));return this}return this.each(Q(e,r))},W.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=et(t)).length,a=-1;if(e=r.classList){for(;++a<n;)if(!e.contains(t[a]))return!1}else for(e=r.getAttribute("class");++a<n;)if(!tt(t[a]).test(e))return!1;return!0}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},W.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.each(at(r,t[r],e));return this}if(n<2){var a=this.node();return o(a).getComputedStyle(a,null).getPropertyValue(t)}r=""}return this.each(at(t,e,r))},W.property=function(t,e){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(e in t)this.each(it(e,t[e]));return this}return this.each(it(t,e))},W.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.textContent=null==e?"":e}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},W.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var e=t.apply(this,arguments);this.innerHTML=null==e?"":e}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},W.append=function(t){return t=ot(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},W.insert=function(t,e){return t=ot(t),e=X(e),this.select(function(){return this.insertBefore(t.apply(this,arguments),e.apply(this,arguments)||null)})},W.remove=function(){return this.each(st)},W.data=function(t,e){var r,n,a=-1,i=this.length;if(!arguments.length){for(t=new Array(i=(r=this[0]).length);++a<i;)(n=r[a])&&(t[a]=n.__data__);return t}function o(t,r){var n,a,i,o=t.length,u=r.length,h=Math.min(o,u),f=new Array(u),p=new Array(u),d=new Array(o);if(e){var g,v=new b,m=new Array(o);for(n=-1;++n<o;)(a=t[n])&&(v.has(g=e.call(a,a.__data__,n))?d[n]=a:v.set(g,a),m[n]=g);for(n=-1;++n<u;)(a=v.get(g=e.call(r,i=r[n],n)))?!0!==a&&(f[n]=a,a.__data__=i):p[n]=lt(i),v.set(g,!0);for(n=-1;++n<o;)n in m&&!0!==v.get(m[n])&&(d[n]=t[n])}else{for(n=-1;++n<h;)a=t[n],i=r[n],a?(a.__data__=i,f[n]=a):p[n]=lt(i);for(;n<u;++n)p[n]=lt(r[n]);for(;n<o;++n)d[n]=t[n]}p.update=f,p.parentNode=f.parentNode=d.parentNode=t.parentNode,s.push(p),l.push(f),c.push(d)}var s=ht([]),l=q([]),c=q([]);if("function"==typeof t)for(;++a<i;)o(r=this[a],t.call(r,r.parentNode.__data__,a));else for(;++a<i;)o(r=this[a],t);return l.enter=function(){return s},l.exit=function(){return c},l},W.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},W.filter=function(t){var e,r,n,a=[];"function"!=typeof t&&(t=ct(t));for(var i=0,o=this.length;i<o;i++){a.push(e=[]),e.parentNode=(r=this[i]).parentNode;for(var s=0,l=r.length;s<l;s++)(n=r[s])&&t.call(n,n.__data__,s,i)&&e.push(n)}return q(a)},W.order=function(){for(var t=-1,e=this.length;++t<e;)for(var r,n=this[t],a=n.length-1,i=n[a];--a>=0;)(r=n[a])&&(i&&i!==r.nextSibling&&i.parentNode.insertBefore(r,i),i=r);return this},W.sort=function(t){t=function(t){arguments.length||(t=f);return function(e,r){return e&&r?t(e.__data__,r.__data__):!e-!r}}.apply(this,arguments);for(var e=-1,r=this.length;++e<r;)this[e].sort(t);return this.order()},W.each=function(t){return ut(this,function(e,r,n){t.call(e,e.__data__,r,n)})},W.call=function(t){var e=n(arguments);return t.apply(e[0]=this,e),this},W.empty=function(){return!this.node()},W.node=function(){for(var t=0,e=this.length;t<e;t++)for(var r=this[t],n=0,a=r.length;n<a;n++){var i=r[n];if(i)return i}return null},W.size=function(){var t=0;return ut(this,function(){++t}),t};var ft=[];function pt(e,r,a){var i="__on"+e,o=e.indexOf("."),s=gt;o>0&&(e=e.slice(0,o));var l=dt.get(e);function c(){var t=this[i];t&&(this.removeEventListener(e,t,t.$),delete this[i])}return l&&(e=l,s=vt),o?r?function(){var t=s(r,n(arguments));c.call(this),this.addEventListener(e,this[i]=t,t.$=a),t._=r}:c:r?D:function(){var r,n=new RegExp("^__on([^.]+)"+t.requote(e)+"$");for(var a in this)if(r=a.match(n)){var i=this[a];this.removeEventListener(r[1],i,i.$),delete this[a]}}}t.selection.enter=ht,t.selection.enter.prototype=ft,ft.append=W.append,ft.empty=W.empty,ft.node=W.node,ft.call=W.call,ft.size=W.size,ft.select=function(t){for(var e,r,n,a,i,o=[],s=-1,l=this.length;++s<l;){n=(a=this[s]).update,o.push(e=[]),e.parentNode=a.parentNode;for(var c=-1,u=a.length;++c<u;)(i=a[c])?(e.push(n[c]=r=t.call(a.parentNode,i.__data__,c,s)),r.__data__=i.__data__):e.push(null)}return q(o)},ft.insert=function(t,e){var r,n,a;return arguments.length<2&&(r=this,e=function(t,e,i){var o,s=r[i].update,l=s.length;for(i!=a&&(a=i,n=0),e>=n&&(n=e+1);!(o=s[n])&&++n<l;);return o}),W.insert.call(this,t,e)},t.select=function(t){var e;return"string"==typeof t?(e=[H(t,a)]).parentNode=a.documentElement:(e=[t]).parentNode=i(t),q([e])},t.selectAll=function(t){var e;return"string"==typeof t?(e=n(G(t,a))).parentNode=a.documentElement:(e=n(t)).parentNode=null,q([e])},W.on=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=!1),t)this.each(pt(r,t[r],e));return this}if(n<2)return(n=this.node()["__on"+t])&&n._;r=!1}return this.each(pt(t,e,r))};var dt=t.map({mouseenter:"mouseover",mouseleave:"mouseout"});function gt(e,r){return function(n){var a=t.event;t.event=n,r[0]=this.__data__;try{e.apply(this,r)}finally{t.event=a}}}function vt(t,e){var r=gt(t,e);return function(t){var e=t.relatedTarget;e&&(e===this||8&e.compareDocumentPosition(this))||r.call(this,t)}}a&&dt.forEach(function(t){"on"+t in a&&dt.remove(t)});var mt,yt=0;function xt(e){var r=".dragsuppress-"+ ++yt,n="click"+r,a=t.select(o(e)).on("touchmove"+r,B).on("dragstart"+r,B).on("selectstart"+r,B);if(null==mt&&(mt=!("onselectstart"in e)&&z(e.style,"userSelect")),mt){var s=i(e).style,l=s[mt];s[mt]="none"}return function(t){if(a.on(r,null),mt&&(s[mt]=l),t){var e=function(){a.on(n,null)};a.on(n,function(){B(),e()},!0),setTimeout(e,0)}}}t.mouse=function(t){return _t(t,N())};var bt=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function _t(e,r){r.changedTouches&&(r=r.changedTouches[0]);var n=e.ownerSVGElement||e;if(n.createSVGPoint){var a=n.createSVGPoint();if(bt<0){var i=o(e);if(i.scrollX||i.scrollY){var s=(n=t.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important"))[0][0].getScreenCTM();bt=!(s.f||s.e),n.remove()}}return bt?(a.x=r.pageX,a.y=r.pageY):(a.x=r.clientX,a.y=r.clientY),[(a=a.matrixTransform(e.getScreenCTM().inverse())).x,a.y]}var l=e.getBoundingClientRect();return[r.clientX-l.left-e.clientLeft,r.clientY-l.top-e.clientTop]}function wt(){return t.event.changedTouches[0].identifier}t.touch=function(t,e,r){if(arguments.length<3&&(r=e,e=N().changedTouches),e)for(var n,a=0,i=e.length;a<i;++a)if((n=e[a]).identifier===r)return _t(t,n)},t.behavior.drag=function(){var e=j(i,"drag","dragstart","dragend"),r=null,n=s(D,t.mouse,o,"mousemove","mouseup"),a=s(wt,t.touch,P,"touchmove","touchend");function i(){this.on("mousedown.drag",n).on("touchstart.drag",a)}function s(n,a,i,o,s){return function(){var l,c=t.event.target.correspondingElement||t.event.target,u=this.parentNode,h=e.of(this,arguments),f=0,p=n(),d=".drag"+(null==p?"":"-"+p),g=t.select(i(c)).on(o+d,function(){var t,e,r=a(u,p);if(!r)return;t=r[0]-m[0],e=r[1]-m[1],f|=t|e,m=r,h({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e})}).on(s+d,function(){if(!a(u,p))return;g.on(o+d,null).on(s+d,null),v(f),h({type:"dragend"})}),v=xt(c),m=a(u,p);l=r?[(l=r.apply(this,arguments)).x-m[0],l.y-m[1]]:[0,0],h({type:"dragstart"})}}return i.origin=function(t){return arguments.length?(r=t,i):r},t.rebind(i,e,"on")},t.touches=function(t,e){return arguments.length<2&&(e=N().touches),e?n(e).map(function(e){var r=_t(t,e);return r.identifier=e.identifier,r}):[]};var kt=1e-6,Tt=kt*kt,At=Math.PI,Mt=2*At,St=Mt-kt,Et=At/2,Lt=At/180,Ct=180/At;function Pt(t){return t>0?1:t<0?-1:0}function Ot(t,e,r){return(e[0]-t[0])*(r[1]-t[1])-(e[1]-t[1])*(r[0]-t[0])}function zt(t){return t>1?0:t<-1?At:Math.acos(t)}function It(t){return t>1?Et:t<-1?-Et:Math.asin(t)}function Dt(t){return((t=Math.exp(t))+1/t)/2}function Rt(t){return(t=Math.sin(t/2))*t}var Ft=Math.SQRT2;t.interpolateZoom=function(t,e){var r,n,a=t[0],i=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-a,h=l-i,f=u*u+h*h;if(f<Tt)n=Math.log(c/o)/Ft,r=function(t){return[a+t*u,i+t*h,o*Math.exp(Ft*t*n)]};else{var p=Math.sqrt(f),d=(c*c-o*o+4*f)/(2*o*2*p),g=(c*c-o*o-4*f)/(2*c*2*p),v=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(g*g+1)-g);n=(m-v)/Ft,r=function(t){var e,r=t*n,s=Dt(v),l=o/(2*p)*(s*(e=Ft*r+v,((e=Math.exp(2*e))-1)/(e+1))-function(t){return((t=Math.exp(t))-1/t)/2}(v));return[a+l*u,i+l*h,o*s/Dt(Ft*r+v)]}}return r.duration=1e3*n,r},t.behavior.zoom=function(){var e,r,n,i,s,l,c,u,h,f={x:0,y:0,k:1},p=[960,500],d=jt,g=250,v=0,m="mousedown.zoom",y="mousemove.zoom",x="mouseup.zoom",b="touchstart.zoom",_=j(w,"zoomstart","zoom","zoomend");function w(t){t.on(m,P).on(Nt+".zoom",z).on("dblclick.zoom",I).on(b,O)}function k(t){return[(t[0]-f.x)/f.k,(t[1]-f.y)/f.k]}function T(t){f.k=Math.max(d[0],Math.min(d[1],t))}function A(t,e){e=function(t){return[t[0]*f.k+f.x,t[1]*f.k+f.y]}(e),f.x+=t[0]-e[0],f.y+=t[1]-e[1]}function M(e,n,a,i){e.__chart__={x:f.x,y:f.y,k:f.k},T(Math.pow(2,i)),A(r=n,a),e=t.select(e),g>0&&(e=e.transition().duration(g)),e.call(w.event)}function S(){c&&c.domain(l.range().map(function(t){return(t-f.x)/f.k}).map(l.invert)),h&&h.domain(u.range().map(function(t){return(t-f.y)/f.k}).map(u.invert))}function E(t){v++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function C(t){--v||(t({type:"zoomend"}),r=null)}function P(){var e=this,r=_.of(e,arguments),n=0,a=t.select(o(e)).on(y,function(){n=1,A(t.mouse(e),i),L(r)}).on(x,function(){a.on(y,null).on(x,null),s(n),C(r)}),i=k(t.mouse(e)),s=xt(e);hs.call(e),E(r)}function O(){var e,r=this,n=_.of(r,arguments),a={},i=0,o=".zoom-"+t.event.changedTouches[0].identifier,l="touchmove"+o,c="touchend"+o,u=[],h=t.select(r),p=xt(r);function d(){var n=t.touches(r);return e=f.k,n.forEach(function(t){t.identifier in a&&(a[t.identifier]=k(t))}),n}function g(){var e=t.event.target;t.select(e).on(l,v).on(c,y),u.push(e);for(var n=t.event.changedTouches,o=0,h=n.length;o<h;++o)a[n[o].identifier]=null;var p=d(),g=Date.now();if(1===p.length){if(g-s<500){var m=p[0];M(r,m,a[m.identifier],Math.floor(Math.log(f.k)/Math.LN2)+1),B()}s=g}else if(p.length>1){m=p[0];var x=p[1],b=m[0]-x[0],_=m[1]-x[1];i=b*b+_*_}}function v(){var o,l,c,u,h=t.touches(r);hs.call(r);for(var f=0,p=h.length;f<p;++f,u=null)if(c=h[f],u=a[c.identifier]){if(l)break;o=c,l=u}if(u){var d=(d=c[0]-o[0])*d+(d=c[1]-o[1])*d,g=i&&Math.sqrt(d/i);o=[(o[0]+c[0])/2,(o[1]+c[1])/2],l=[(l[0]+u[0])/2,(l[1]+u[1])/2],T(g*e)}s=null,A(o,l),L(n)}function y(){if(t.event.touches.length){for(var e=t.event.changedTouches,r=0,i=e.length;r<i;++r)delete a[e[r].identifier];for(var s in a)return void d()}t.selectAll(u).on(o,null),h.on(m,P).on(b,O),p(),C(n)}g(),E(n),h.on(m,null).on(b,g)}function z(){var a=_.of(this,arguments);i?clearTimeout(i):(hs.call(this),e=k(r=n||t.mouse(this)),E(a)),i=setTimeout(function(){i=null,C(a)},50),B(),T(Math.pow(2,.002*Bt())*f.k),A(r,e),L(a)}function I(){var e=t.mouse(this),r=Math.log(f.k)/Math.LN2;M(this,e,k(e),t.event.shiftKey?Math.ceil(r)-1:Math.floor(r)+1)}return Nt||(Nt="onwheel"in a?(Bt=function(){return-t.event.deltaY*(t.event.deltaMode?120:1)},"wheel"):"onmousewheel"in a?(Bt=function(){return t.event.wheelDelta},"mousewheel"):(Bt=function(){return-t.event.detail},"MozMousePixelScroll")),w.event=function(e){e.each(function(){var e=_.of(this,arguments),n=f;ds?t.select(this).transition().each("start.zoom",function(){f=this.__chart__||{x:0,y:0,k:1},E(e)}).tween("zoom:zoom",function(){var a=p[0],i=p[1],o=r?r[0]:a/2,s=r?r[1]:i/2,l=t.interpolateZoom([(o-f.x)/f.k,(s-f.y)/f.k,a/f.k],[(o-n.x)/n.k,(s-n.y)/n.k,a/n.k]);return function(t){var r=l(t),n=a/r[2];this.__chart__=f={x:o-r[0]*n,y:s-r[1]*n,k:n},L(e)}}).each("interrupt.zoom",function(){C(e)}).each("end.zoom",function(){C(e)}):(this.__chart__=f,E(e),L(e),C(e))})},w.translate=function(t){return arguments.length?(f={x:+t[0],y:+t[1],k:f.k},S(),w):[f.x,f.y]},w.scale=function(t){return arguments.length?(f={x:f.x,y:f.y,k:null},T(+t),S(),w):f.k},w.scaleExtent=function(t){return arguments.length?(d=null==t?jt:[+t[0],+t[1]],w):d},w.center=function(t){return arguments.length?(n=t&&[+t[0],+t[1]],w):n},w.size=function(t){return arguments.length?(p=t&&[+t[0],+t[1]],w):p},w.duration=function(t){return arguments.length?(g=+t,w):g},w.x=function(t){return arguments.length?(c=t,l=t.copy(),f={x:0,y:0,k:1},w):c},w.y=function(t){return arguments.length?(h=t,u=t.copy(),f={x:0,y:0,k:1},w):h},t.rebind(w,_,"on")};var Bt,Nt,jt=[0,1/0];function Vt(){}function Ut(t,e,r){return this instanceof Ut?(this.h=+t,this.s=+e,void(this.l=+r)):arguments.length<2?t instanceof Ut?new Ut(t.h,t.s,t.l):ue(""+t,he,Ut):new Ut(t,e,r)}t.color=Vt,Vt.prototype.toString=function(){return this.rgb()+""},t.hsl=Ut;var qt=Ut.prototype=new Vt;function Ht(t,e,r){var n,a;function i(t){return Math.round(255*function(t){return t>360?t-=360:t<0&&(t+=360),t<60?n+(a-n)*t/60:t<180?a:t<240?n+(a-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)?0:e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(a=r<=.5?r*(1+e):r+e-r*e),new ie(i(t+120),i(t),i(t-120))}function Gt(e,r,n){return this instanceof Gt?(this.h=+e,this.c=+r,void(this.l=+n)):arguments.length<2?e instanceof Gt?new Gt(e.h,e.c,e.l):ee(e instanceof Xt?e.l:(e=fe((e=t.rgb(e)).r,e.g,e.b)).l,e.a,e.b):new Gt(e,r,n)}qt.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,this.l/t)},qt.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new Ut(this.h,this.s,t*this.l)},qt.rgb=function(){return Ht(this.h,this.s,this.l)},t.hcl=Gt;var Yt=Gt.prototype=new Vt;function Wt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Lt)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Gt?Wt(t.h,t.c,t.l):fe((t=ie(t)).r,t.g,t.b):new Xt(t,e,r)}Yt.brighter=function(t){return new Gt(this.h,this.c,Math.min(100,this.l+Zt*(arguments.length?t:1)))},Yt.darker=function(t){return new Gt(this.h,this.c,Math.max(0,this.l-Zt*(arguments.length?t:1)))},Yt.rgb=function(){return Wt(this.h,this.c,this.l).rgb()},t.lab=Xt;var Zt=18,Jt=.95047,Kt=1,Qt=1.08883,$t=Xt.prototype=new Vt;function te(t,e,r){var n=(t+16)/116,a=n+e/500,i=n-r/200;return new ie(ae(3.2404542*(a=re(a)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(i=re(i)*Qt)),ae(-.969266*a+1.8760108*n+.041556*i),ae(.0556434*a-.2040259*n+1.0572252*i))}function ee(t,e,r){return t>0?new Gt(Math.atan2(r,e)*Ct,Math.sqrt(e*e+r*r),t):new Gt(NaN,NaN,t)}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ae(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ie(t,e,r){return this instanceof ie?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ie?new ie(t.r,t.g,t.b):ue(""+t,ie,Ht):new ie(t,e,r)}function oe(t){return new ie(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}$t.brighter=function(t){return new Xt(Math.min(100,this.l+Zt*(arguments.length?t:1)),this.a,this.b)},$t.darker=function(t){return new Xt(Math.max(0,this.l-Zt*(arguments.length?t:1)),this.a,this.b)},$t.rgb=function(){return te(this.l,this.a,this.b)},t.rgb=ie;var le=ie.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,a,i,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(a=n[2].split(","),n[1]){case"hsl":return r(parseFloat(a[0]),parseFloat(a[1])/100,parseFloat(a[2])/100);case"rgb":return e(de(a[0]),de(a[1]),de(a[2]))}return(i=ge.get(t))?e(i.r,i.g,i.b):(null==t||"#"!==t.charAt(0)||isNaN(i=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&i)>>4,o|=o>>4,s=240&i,s|=s>>4,l=15&i,l|=l<<4):7===t.length&&(o=(16711680&i)>>16,s=(65280&i)>>8,l=255&i)),e(o,s,l))}function he(t,e,r){var n,a,i=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-i,l=(o+i)/2;return s?(a=l<.5?s/(o+i):s/(2-o-i),n=t==o?(e-r)/s+(e<r?6:0):e==o?(r-t)/s+2:(t-e)/s+4,n*=60):(n=NaN,a=l>0&&l<1?0:n),new Ut(n,a,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),a=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*a-16,500*(n-a),200*(a-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,a=30;return e||r||n?(e&&e<a&&(e=a),r&&r<a&&(r=a),n&&n<a&&(n=a),new ie(Math.min(255,e/t),Math.min(255,r/t),Math.min(255,n/t))):new ie(a,a,a)},le.darker=function(t){return new ie((t=Math.pow(.7,arguments.length?t:1))*this.r,t*this.g,t*this.b)},le.hsl=function(){return he(this.r,this.g,this.b)},le.toString=function(){return"#"+ce(this.r)+ce(this.g)+ce(this.b)};var ge=t.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});function ve(t){return"function"==typeof t?t:function(){return t}}function me(t){return function(e,r,n){return 2===arguments.length&&"function"==typeof r&&(n=r,r=null),ye(e,r,t,n)}}function ye(e,r,a,i){var o={},s=t.dispatch("beforesend","progress","load","error"),l={},c=new XMLHttpRequest,u=null;function h(){var t,e=c.status;if(!e&&function(t){var e=t.responseType;return e&&"text"!==e?t.response:t.responseText}(c)||e>=200&&e<300||304===e){try{t=a.call(o,c)}catch(t){return void s.error.call(o,t)}s.load.call(o,t)}else s.error.call(o,c)}return!this.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(e)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(e){var r=t.event;t.event=e;try{s.progress.call(o,c)}finally{t.event=r}},o.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",o)},o.mimeType=function(t){return arguments.length?(r=null==t?null:t+"",o):r},o.responseType=function(t){return arguments.length?(u=t,o):u},o.response=function(t){return a=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(n(arguments)))}}),o.send=function(t,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(t,e,!0),null==r||"accept"in l||(l.accept=r+",*/*"),c.setRequestHeader)for(var i in l)c.setRequestHeader(i,l[i]);return null!=r&&c.overrideMimeType&&c.overrideMimeType(r),null!=u&&(c.responseType=u),null!=a&&o.on("error",a).on("load",function(t){a(null,t)}),s.beforesend.call(o,c),c.send(null==n?null:n),o},o.abort=function(){return c.abort(),o},t.rebind(o,s,"on"),null==i?o:o.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(i))}ge.forEach(function(t,e){ge.set(t,oe(e))}),t.functor=ve,t.xhr=me(P),t.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function a(t,r,n){arguments.length<3&&(n=r,r=null);var a=ye(t,e,null==r?i:o(r),n);return a.row=function(t){return arguments.length?a.response(null==(r=t)?i:o(t)):r},a}function i(t){return a.parse(t.responseText)}function o(t){return function(e){return a.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return a.parse=function(t,e){var r;return a.parseRows(t,function(t,n){if(r)return r(t,n-1);var a=new Function("d","return {"+t.map(function(t,e){return JSON.stringify(t)+": d["+e+"]"}).join(",")+"}");r=e?function(t,r){return e(a(t),r)}:a})},a.parseRows=function(t,e){var r,a,i={},o={},s=[],l=t.length,c=0,u=0;function h(){if(c>=l)return o;if(a)return a=!1,i;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++<l;)if(34===t.charCodeAt(r)){if(34!==t.charCodeAt(r+1))break;++r}return c=r+2,13===(s=t.charCodeAt(r+1))?(a=!0,10===t.charCodeAt(r+2)&&++c):10===s&&(a=!0),t.slice(e+1,r).replace(/""/g,'"')}for(;c<l;){var s,u=1;if(10===(s=t.charCodeAt(c++)))a=!0;else if(13===s)a=!0,10===t.charCodeAt(c)&&(++c,++u);else if(s!==n)continue;return t.slice(e,c-u)}return t.slice(e)}for(;(r=h())!==o;){for(var f=[];r!==i&&r!==o;)f.push(r),r=h();e&&null==(f=e(f,u++))||s.push(f)}return s},a.format=function(e){if(Array.isArray(e[0]))return a.formatRows(e);var r=new C,n=[];return e.forEach(function(t){for(var e in t)r.has(e)||n.push(r.add(e))}),[n.map(l).join(t)].concat(e.map(function(e){return n.map(function(t){return l(e[t])}).join(t)})).join("\n")},a.formatRows=function(t){return t.map(s).join("\n")},a},t.csv=t.dsv(",","text/csv"),t.tsv=t.dsv("\t","text/tab-separated-values");var xe,be,_e,we,ke=this[z(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};function Te(t,e,r){var n=arguments.length;n<2&&(e=0),n<3&&(r=Date.now());var a={c:t,t:r+e,n:null};return be?be.n=a:xe=a,be=a,_e||(we=clearTimeout(we),_e=1,ke(Ae)),a}function Ae(){var t=Me(),e=Se()-t;e>24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,ke(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t<r&&(r=e.t),e=(t=e).n):e=t?t.n=e.n:xe=e.n;return be=t,r}function Ee(t,e){return e-(t?Math.ceil(Math.log(t)/Math.LN10):1)}t.timer=function(){Te.apply(this,arguments)},t.timer.flush=function(){Me(),Se()},t.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)};var Le=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(function(t,e){var r=Math.pow(10,3*y(8-e));return{scale:e>8?function(t){return t/r}:function(t){return t*r},symbol:t}});t.formatPrefix=function(e,r){var n=0;return(e=+e)&&(e<0&&(e*=-1),r&&(e=t.round(e,Ee(e,r))),n=1+Math.floor(1e-12+Math.log(e)/Math.LN10),n=Math.max(-24,Math.min(24,3*Math.floor((n-1)/3)))),Le[8+n/3]};var Ce=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,Pe=t.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,e){return t.toPrecision(e)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},r:function(e,r){return(e=t.round(e,Ee(e,r))).toFixed(Math.max(0,Math.min(20,Ee(e*(1+1e-15),r))))}});function Oe(t){return t+""}var ze=t.time={},Ie=Date;function De(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}De.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){Re.setUTCDate.apply(this._,arguments)},setDay:function(){Re.setUTCDay.apply(this._,arguments)},setFullYear:function(){Re.setUTCFullYear.apply(this._,arguments)},setHours:function(){Re.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){Re.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){Re.setUTCMinutes.apply(this._,arguments)},setMonth:function(){Re.setUTCMonth.apply(this._,arguments)},setSeconds:function(){Re.setUTCSeconds.apply(this._,arguments)},setTime:function(){Re.setTime.apply(this._,arguments)}};var Re=Date.prototype;function Fe(t,e,r){function n(e){var r=t(e),n=i(r,1);return e-r<n-e?r:n}function a(r){return e(r=t(new Ie(r-1)),1),r}function i(t,r){return e(t=new Ie(+t),r),t}function o(t,n,i){var o=a(t),s=[];if(i>1)for(;o<n;)r(o)%i||s.push(new Date(+o)),e(o,1);else for(;o<n;)s.push(new Date(+o)),e(o,1);return s}t.floor=t,t.round=n,t.ceil=a,t.offset=i,t.range=o;var s=t.utc=Be(t);return s.floor=s,s.round=Be(n),s.ceil=Be(a),s.offset=Be(i),s.range=function(t,e,r){try{Ie=De;var n=new De;return n._=t,o(n,e,r)}finally{Ie=Date}},t}function Be(t){return function(e,r){try{Ie=De;var n=new De;return n._=e,t(n,r)._}finally{Ie=Date}}}ze.year=Fe(function(t){return(t=ze.day(t)).setMonth(0,1),t},function(t,e){t.setFullYear(t.getFullYear()+e)},function(t){return t.getFullYear()}),ze.years=ze.year.range,ze.years.utc=ze.year.utc.range,ze.day=Fe(function(t){var e=new Ie(2e3,0);return e.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),e},function(t,e){t.setDate(t.getDate()+e)},function(t){return t.getDate()-1}),ze.days=ze.day.range,ze.days.utc=ze.day.utc.range,ze.dayOfYear=function(t){var e=ze.year(t);return Math.floor((t-e-6e4*(t.getTimezoneOffset()-e.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,e){e=7-e;var r=ze[t]=Fe(function(t){return(t=ze.day(t)).setDate(t.getDate()-(t.getDay()+e)%7),t},function(t,e){t.setDate(t.getDate()+7*Math.floor(e))},function(t){var r=ze.year(t).getDay();return Math.floor((ze.dayOfYear(t)+(r+e)%7)/7)-(r!==e)});ze[t+"s"]=r.range,ze[t+"s"].utc=r.utc.range,ze[t+"OfYear"]=function(t){var r=ze.year(t).getDay();return Math.floor((ze.dayOfYear(t)+(r+e)%7)/7)}}),ze.week=ze.sunday,ze.weeks=ze.sunday.range,ze.weeks.utc=ze.sunday.utc.range,ze.weekOfYear=ze.sundayOfYear;var Ne={"-":"",_:" ",0:"0"},je=/^\s*\d+/,Ve=/^%/;function Ue(t,e,r){var n=t<0?"-":"",a=(n?-t:t)+"",i=a.length;return n+(i<r?new Array(r-i+1).join(e)+a:a)}function qe(e){return new RegExp("^(?:"+e.map(t.requote).join("|")+")","i")}function He(t){for(var e=new b,r=-1,n=t.length;++r<n;)e.set(t[r].toLowerCase(),r);return e}function Ge(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Ye(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.U=+n[0],r+n[0].length):-1}function We(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r));return n?(t.W=+n[0],r+n[0].length):-1}function Xe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function Ze(t,e,r){je.lastIndex=0;var n,a=je.exec(e.slice(r,r+2));return a?(t.y=(n=+a[0])+(n>68?1900:2e3),r+a[0].length):-1}function Je(t,e,r){return/^[+-]\d{4}$/.test(e=e.slice(r,r+5))?(t.Z=-e,r+5):-1}function Ke(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function Qe(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function $e(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.j=+n[0],r+n[0].length):-1}function tr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function er(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function rr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function nr(t,e,r){je.lastIndex=0;var n=je.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function ar(t){var e=t.getTimezoneOffset(),r=e>0?"-":"+",n=y(e)/60|0,a=y(e)%60;return r+Ue(n,"0",2)+Ue(a,"0",2)}function ir(t,e,r){Ve.lastIndex=0;var n=Ve.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function or(t){for(var e=t.length,r=-1;++r<e;)t[r][0]=this(t[r][0]);return function(e){for(var r=0,n=t[r];!n[1](e);)n=t[++r];return n[0](e)}}t.locale=function(e){return{numberFormat:function(e){var r=e.decimal,n=e.thousands,a=e.grouping,i=e.currency,o=a&&n?function(t,e){for(var r=t.length,i=[],o=0,s=a[0],l=0;r>0&&s>0&&(l+s+1>e&&(s=Math.max(1,e-l)),i.push(t.substring(r-=s,r+s)),!((l+=s+1)>e));)s=a[o=(o+1)%a.length];return i.reverse().join(n)}:P;return function(e){var n=Ce.exec(e),a=n[1]||" ",s=n[2]||">",l=n[3]||"-",c=n[4]||"",u=n[5],h=+n[6],f=n[7],p=n[8],d=n[9],g=1,v="",m="",y=!1,x=!0;switch(p&&(p=+p.substring(1)),(u||"0"===a&&"="===s)&&(u=a="0",s="="),d){case"n":f=!0,d="g";break;case"%":g=100,m="%",d="f";break;case"p":g=100,m="%",d="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+d.toLowerCase());case"c":x=!1;case"d":y=!0,p=0;break;case"s":g=-1,d="r"}"$"===c&&(v=i[0],m=i[1]),"r"!=d||p||(d="g"),null!=p&&("g"==d?p=Math.max(1,Math.min(21,p)):"e"!=d&&"f"!=d||(p=Math.max(0,Math.min(20,p)))),d=Pe.get(d)||Oe;var b=u&&f;return function(e){var n=m;if(y&&e%1)return"";var i=e<0||0===e&&1/e<0?(e=-e,"-"):"-"===l?"":l;if(g<0){var c=t.formatPrefix(e,p);e=c.scale(e),n=c.symbol+m}else e*=g;var _,w,k=(e=d(e,p)).lastIndexOf(".");if(k<0){var T=x?e.lastIndexOf("e"):-1;T<0?(_=e,w=""):(_=e.substring(0,T),w=e.substring(T))}else _=e.substring(0,k),w=r+e.substring(k+1);!u&&f&&(_=o(_,1/0));var A=v.length+_.length+w.length+(b?0:i.length),M=A<h?new Array(A=h-A+1).join(a):"";return b&&(_=o(M+_,M.length?h-w.length:1/0)),i+=v,e=_+w,("<"===s?i+e+M:">"===s?M+i+e:"^"===s?M.substring(0,A>>=1)+i+e+M.substring(A):i+(b?e:M+e))+n}}}(e),timeFormat:function(e){var r=e.dateTime,n=e.date,a=e.time,i=e.periods,o=e.days,s=e.shortDays,l=e.months,c=e.shortMonths;function u(t){var e=t.length;function r(r){for(var n,a,i,o=[],s=-1,l=0;++s<e;)37===t.charCodeAt(s)&&(o.push(t.slice(l,s)),null!=(a=Ne[n=t.charAt(++s)])&&(n=t.charAt(++s)),(i=_[n])&&(n=i(r,null==a?"e"===n?" ":"0":a)),o.push(n),l=s+1);return o.push(t.slice(l,s)),o.join("")}return r.parse=function(e){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null};if(h(r,t,e,0)!=e.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var n=null!=r.Z&&Ie!==De,a=new(n?De:Ie);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),n?a._:a},r.toString=function(){return t},r}function h(t,e,r,n){for(var a,i,o,s=0,l=e.length,c=r.length;s<l;){if(n>=c)return-1;if(37===(a=e.charCodeAt(s++))){if(o=e.charAt(s++),!(i=w[o in Ne?e.charAt(s++):o])||(n=i(t,r,n))<0)return-1}else if(a!=r.charCodeAt(n++))return-1}return n}u.utc=function(t){var e=u(t);function r(t){try{var r=new(Ie=De);return r._=t,e(r)}finally{Ie=Date}}return r.parse=function(t){try{Ie=De;var r=e.parse(t);return r&&r._}finally{Ie=Date}},r.toString=e.toString,r},u.multi=u.utc.multi=or;var f=t.map(),p=qe(o),d=He(o),g=qe(s),v=He(s),m=qe(l),y=He(l),x=qe(c),b=He(c);i.forEach(function(t,e){f.set(t.toLowerCase(),e)});var _={a:function(t){return s[t.getDay()]},A:function(t){return o[t.getDay()]},b:function(t){return c[t.getMonth()]},B:function(t){return l[t.getMonth()]},c:u(r),d:function(t,e){return Ue(t.getDate(),e,2)},e:function(t,e){return Ue(t.getDate(),e,2)},H:function(t,e){return Ue(t.getHours(),e,2)},I:function(t,e){return Ue(t.getHours()%12||12,e,2)},j:function(t,e){return Ue(1+ze.dayOfYear(t),e,3)},L:function(t,e){return Ue(t.getMilliseconds(),e,3)},m:function(t,e){return Ue(t.getMonth()+1,e,2)},M:function(t,e){return Ue(t.getMinutes(),e,2)},p:function(t){return i[+(t.getHours()>=12)]},S:function(t,e){return Ue(t.getSeconds(),e,2)},U:function(t,e){return Ue(ze.sundayOfYear(t),e,2)},w:function(t){return t.getDay()},W:function(t,e){return Ue(ze.mondayOfYear(t),e,2)},x:u(n),X:u(a),y:function(t,e){return Ue(t.getFullYear()%100,e,2)},Y:function(t,e){return Ue(t.getFullYear()%1e4,e,4)},Z:ar,"%":function(){return"%"}},w={a:function(t,e,r){g.lastIndex=0;var n=g.exec(e.slice(r));return n?(t.w=v.get(n[0].toLowerCase()),r+n[0].length):-1},A:function(t,e,r){p.lastIndex=0;var n=p.exec(e.slice(r));return n?(t.w=d.get(n[0].toLowerCase()),r+n[0].length):-1},b:function(t,e,r){x.lastIndex=0;var n=x.exec(e.slice(r));return n?(t.m=b.get(n[0].toLowerCase()),r+n[0].length):-1},B:function(t,e,r){m.lastIndex=0;var n=m.exec(e.slice(r));return n?(t.m=y.get(n[0].toLowerCase()),r+n[0].length):-1},c:function(t,e,r){return h(t,_.c.toString(),e,r)},d:Qe,e:Qe,H:tr,I:tr,j:$e,L:nr,m:Ke,M:er,p:function(t,e,r){var n=f.get(e.slice(r,r+=2).toLowerCase());return null==n?-1:(t.p=n,r)},S:rr,U:Ye,w:Ge,W:We,x:function(t,e,r){return h(t,_.x.toString(),e,r)},X:function(t,e,r){return h(t,_.X.toString(),e,r)},y:Ze,Y:Xe,Z:Je,"%":ir};return u}(e)}};var sr=t.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function lr(){}t.format=sr.numberFormat,t.geo={},lr.prototype={s:0,t:0,add:function(t){ur(t,this.t,cr),ur(cr.s,this.s,this),this.s?this.t+=cr.t:this.s=cr.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var cr=new lr;function ur(t,e,r){var n=r.s=t+e,a=n-t,i=n-a;r.t=t-i+(e-a)}function hr(t,e){t&&pr.hasOwnProperty(t.type)&&pr[t.type](t,e)}t.geo.stream=function(t,e){t&&fr.hasOwnProperty(t.type)?fr[t.type](t,e):hr(t,e)};var fr={Feature:function(t,e){hr(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,n=-1,a=r.length;++n<a;)hr(r[n].geometry,e)}},pr={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)t=r[n],e.point(t[0],t[1],t[2])},LineString:function(t,e){dr(t.coordinates,e,0)},MultiLineString:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)dr(r[n],e,0)},Polygon:function(t,e){gr(t.coordinates,e)},MultiPolygon:function(t,e){for(var r=t.coordinates,n=-1,a=r.length;++n<a;)gr(r[n],e)},GeometryCollection:function(t,e){for(var r=t.geometries,n=-1,a=r.length;++n<a;)hr(r[n],e)}};function dr(t,e,r){var n,a=-1,i=t.length-r;for(e.lineStart();++a<i;)n=t[a],e.point(n[0],n[1],n[2]);e.lineEnd()}function gr(t,e){var r=-1,n=t.length;for(e.polygonStart();++r<n;)dr(t[r],e,1);e.polygonEnd()}t.geo.area=function(e){return vr=0,t.geo.stream(e,Lr),vr};var vr,mr,yr,xr,br,_r,wr,kr,Tr,Ar,Mr,Sr,Er=new lr,Lr={sphere:function(){vr+=4*At},point:D,lineStart:D,lineEnd:D,polygonStart:function(){Er.reset(),Lr.lineStart=Cr},polygonEnd:function(){var t=2*Er;vr+=t<0?4*At+t:t,Lr.lineStart=Lr.lineEnd=Lr.point=D}};function Cr(){var t,e,r,n,a;function i(t,e){e=e*Lt/2+At/4;var i=(t*=Lt)-r,o=i>=0?1:-1,s=o*i,l=Math.cos(e),c=Math.sin(e),u=a*c,h=n*l+u*Math.cos(s),f=u*o*Math.sin(s);Er.add(Math.atan2(f,h)),r=t,n=l,a=c}Lr.point=function(o,s){Lr.point=i,r=(t=o)*Lt,n=Math.cos(s=(e=s)*Lt/2+At/4),a=Math.sin(s)},Lr.lineEnd=function(){i(t,e)}}function Pr(t){var e=t[0],r=t[1],n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}function Or(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function zr(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function Ir(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Dr(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Rr(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function Fr(t){return[Math.atan2(t[1],t[0]),It(t[2])]}function Br(t,e){return y(t[0]-e[0])<kt&&y(t[1]-e[1])<kt}t.geo.bounds=function(){var e,r,n,a,i,o,s,l,c,u,h,f={point:p,lineStart:g,lineEnd:v,polygonStart:function(){f.point=m,f.lineStart=x,f.lineEnd=b,c=0,Lr.polygonStart()},polygonEnd:function(){Lr.polygonEnd(),f.point=p,f.lineStart=g,f.lineEnd=v,Er<0?(e=-(n=180),r=-(a=90)):c>kt?a=90:c<-kt&&(r=-90),h[0]=e,h[1]=n}};function p(t,i){u.push(h=[e=t,n=t]),i<r&&(r=i),i>a&&(a=i)}function d(t,o){var s=Pr([t*Lt,o*Lt]);if(l){var c=zr(l,s),u=zr([c[1],-c[0],0],c);Rr(u),u=Fr(u);var h=t-i,f=h>0?1:-1,d=u[0]*Ct*f,g=y(h)>180;if(g^(f*i<d&&d<f*t))(v=u[1]*Ct)>a&&(a=v);else if(g^(f*i<(d=(d+360)%360-180)&&d<f*t)){var v;(v=-u[1]*Ct)<r&&(r=v)}else o<r&&(r=o),o>a&&(a=o);g?t<i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t):n>=e?(t<e&&(e=t),t>n&&(n=t)):t>i?_(e,t)>_(e,n)&&(n=t):_(t,n)>_(e,n)&&(e=t)}else p(t,o);l=s,i=t}function g(){f.point=d}function v(){h[0]=e,h[1]=n,f.point=p,l=null}function m(t,e){if(l){var r=t-i;c+=y(r)>180?r+(r>0?360:-360):r}else o=t,s=e;Lr.point(t,e),d(t,e)}function x(){Lr.lineStart()}function b(){m(o,s),Lr.lineEnd(),y(c)>kt&&(e=-(n=180)),h[0]=e,h[1]=n,l=null}function _(t,e){return(e-=t)<0?e+360:e}function w(t,e){return t[0]-e[0]}function k(t,e){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}return function(i){if(a=n=-(e=r=1/0),u=[],t.geo.stream(i,f),c=u.length){u.sort(w);for(var o=1,s=[g=u[0]];o<c;++o)k((p=u[o])[0],g)||k(p[1],g)?(_(g[0],p[1])>_(g[0],g[1])&&(g[1]=p[1]),_(p[0],g[1])>_(g[0],g[1])&&(g[0]=p[0])):s.push(g=p);for(var l,c,p,d=-1/0,g=(o=0,s[c=s.length-1]);o<=c;g=p,++o)p=s[o],(l=_(g[1],p[0]))>d&&(d=l,e=p[0],n=g[1])}return u=h=null,e===1/0||r===1/0?[[NaN,NaN],[NaN,NaN]]:[[e,r],[n,a]]}}(),t.geo.centroid=function(e){mr=yr=xr=br=_r=wr=kr=Tr=Ar=Mr=Sr=0,t.geo.stream(e,Nr);var r=Ar,n=Mr,a=Sr,i=r*r+n*n+a*a;return i<Tt&&(r=wr,n=kr,a=Tr,yr<kt&&(r=xr,n=br,a=_r),(i=r*r+n*n+a*a)<Tt)?[NaN,NaN]:[Math.atan2(n,r)*Ct,It(a/Math.sqrt(i))*Ct]};var Nr={sphere:D,point:jr,lineStart:Ur,lineEnd:qr,polygonStart:function(){Nr.lineStart=Hr},polygonEnd:function(){Nr.lineStart=Ur}};function jr(t,e){t*=Lt;var r=Math.cos(e*=Lt);Vr(r*Math.cos(t),r*Math.sin(t),Math.sin(e))}function Vr(t,e,r){xr+=(t-xr)/++mr,br+=(e-br)/mr,_r+=(r-_r)/mr}function Ur(){var t,e,r;function n(n,a){n*=Lt;var i=Math.cos(a*=Lt),o=i*Math.cos(n),s=i*Math.sin(n),l=Math.sin(a),c=Math.atan2(Math.sqrt((c=e*l-r*s)*c+(c=r*o-t*l)*c+(c=t*s-e*o)*c),t*o+e*s+r*l);yr+=c,wr+=c*(t+(t=o)),kr+=c*(e+(e=s)),Tr+=c*(r+(r=l)),Vr(t,e,r)}Nr.point=function(a,i){a*=Lt;var o=Math.cos(i*=Lt);t=o*Math.cos(a),e=o*Math.sin(a),r=Math.sin(i),Nr.point=n,Vr(t,e,r)}}function qr(){Nr.point=jr}function Hr(){var t,e,r,n,a;function i(t,e){t*=Lt;var i=Math.cos(e*=Lt),o=i*Math.cos(t),s=i*Math.sin(t),l=Math.sin(e),c=n*l-a*s,u=a*o-r*l,h=r*s-n*o,f=Math.sqrt(c*c+u*u+h*h),p=r*o+n*s+a*l,d=f&&-zt(p)/f,g=Math.atan2(f,p);Ar+=d*c,Mr+=d*u,Sr+=d*h,yr+=g,wr+=g*(r+(r=o)),kr+=g*(n+(n=s)),Tr+=g*(a+(a=l)),Vr(r,n,a)}Nr.point=function(o,s){t=o,e=s,Nr.point=i,o*=Lt;var l=Math.cos(s*=Lt);r=l*Math.cos(o),n=l*Math.sin(o),a=Math.sin(s),Vr(r,n,a)},Nr.lineEnd=function(){i(t,e),Nr.lineEnd=qr,Nr.point=jr}}function Gr(t,e){function r(r,n){return r=t(r,n),e(r[0],r[1])}return t.invert&&e.invert&&(r.invert=function(r,n){return(r=e.invert(r,n))&&t.invert(r[0],r[1])}),r}function Yr(){return!0}function Wr(t,e,r,n,a){var i=[],o=[];if(t.forEach(function(t){if(!((e=t.length-1)<=0)){var e,r=t[0],n=t[e];if(Br(r,n)){a.lineStart();for(var s=0;s<e;++s)a.point((r=t[s])[0],r[1]);a.lineEnd()}else{var l=new Zr(r,t,null,!0),c=new Zr(r,null,l,!1);l.o=c,i.push(l),o.push(c),l=new Zr(n,t,null,!1),c=new Zr(n,null,l,!0),l.o=c,i.push(l),o.push(c)}}}),o.sort(e),Xr(i),Xr(o),i.length){for(var s=0,l=r,c=o.length;s<c;++s)o[s].e=l=!l;for(var u,h,f=i[0];;){for(var p=f,d=!0;p.v;)if((p=p.n)===f)return;u=p.z,a.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(s=0,c=u.length;s<c;++s)a.point((h=u[s])[0],h[1]);else n(p.x,p.n.x,1,a);p=p.n}else{if(d)for(s=(u=p.p.z).length-1;s>=0;--s)a.point((h=u[s])[0],h[1]);else n(p.x,p.p.x,-1,a);p=p.p}u=(p=p.o).z,d=!d}while(!p.v);a.lineEnd()}}}function Xr(t){if(e=t.length){for(var e,r,n=0,a=t[0];++n<e;)a.n=r=t[n],r.p=a,a=r;a.n=r=t[0],r.p=a}}function Zr(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function Jr(e,r,n,a){return function(i,o){var s,l=r(o),c=i.invert(a[0],a[1]),u={point:h,lineStart:p,lineEnd:d,polygonStart:function(){u.point=b,u.lineStart=_,u.lineEnd=w,s=[],g=[]},polygonEnd:function(){u.point=h,u.lineStart=p,u.lineEnd=d,s=t.merge(s);var e=function(t,e){var r=t[0],n=t[1],a=[Math.sin(r),-Math.cos(r),0],i=0,o=0;Er.reset();for(var s=0,l=e.length;s<l;++s){var c=e[s],u=c.length;if(u)for(var h=c[0],f=h[0],p=h[1]/2+At/4,d=Math.sin(p),g=Math.cos(p),v=1;;){v===u&&(v=0);var m=(t=c[v])[0],y=t[1]/2+At/4,x=Math.sin(y),b=Math.cos(y),_=m-f,w=_>=0?1:-1,k=w*_,T=k>At,A=d*x;if(Er.add(Math.atan2(A*w*Math.sin(k),g*b+A*Math.cos(k))),i+=T?_+w*Mt:_,T^f>=r^m>=r){var M=zr(Pr(h),Pr(t));Rr(M);var S=zr(a,M);Rr(S);var E=(T^_>=0?-1:1)*It(S[2]);(n>E||n===E&&(M[0]||M[1]))&&(o+=T^_>=0?1:-1)}if(!v++)break;f=m,d=x,g=b,h=t}}return(i<-kt||i<kt&&Er<-kt)^1&o}(c,g);s.length?(x||(o.polygonStart(),x=!0),Wr(s,$r,e,n,o)):e&&(x||(o.polygonStart(),x=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),s=g=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(t,r){var n=i(t,r);e(t=n[0],r=n[1])&&o.point(t,r)}function f(t,e){var r=i(t,e);l.point(r[0],r[1])}function p(){u.point=f,l.lineStart()}function d(){u.point=h,l.lineEnd()}var g,v,m=Qr(),y=r(m),x=!1;function b(t,e){v.push([t,e]);var r=i(t,e);y.point(r[0],r[1])}function _(){y.lineStart(),v=[]}function w(){b(v[0][0],v[0][1]),y.lineEnd();var t,e=y.clean(),r=m.buffer(),n=r.length;if(v.pop(),g.push(v),v=null,n)if(1&e){var a,i=-1;if((n=(t=r[0]).length-1)>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++i<n;)o.point((a=t[i])[0],a[1]);o.lineEnd()}}else n>1&&2&e&&r.push(r.pop().concat(r.shift())),s.push(r.filter(Kr))}return u}}function Kr(t){return t.length>1}function Qr(){var t,e=[];return{lineStart:function(){e.push(t=[])},point:function(e,r){t.push([e,r])},lineEnd:D,buffer:function(){var r=e;return e=[],t=null,r},rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))}}}function $r(t,e){return((t=t.x)[0]<0?t[1]-Et-kt:Et-t[1])-((e=e.x)[0]<0?e[1]-Et-kt:Et-e[1])}var tn=Jr(Yr,function(t){var e,r=NaN,n=NaN,a=NaN;return{lineStart:function(){t.lineStart(),e=1},point:function(i,o){var s=i>0?At:-At,l=y(i-r);y(l-At)<kt?(t.point(r,n=(n+o)/2>0?Et:-Et),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),t.point(i,n),e=0):a!==s&&l>=At&&(y(r-a)<kt&&(r-=a*kt),y(i-s)<kt&&(i-=s*kt),n=function(t,e,r,n){var a,i,o=Math.sin(t-r);return y(o)>kt?Math.atan((Math.sin(e)*(i=Math.cos(n))*Math.sin(r)-Math.sin(n)*(a=Math.cos(e))*Math.sin(t))/(a*i*o)):(e+n)/2}(r,n,i,o),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(s,n),e=0),t.point(r=i,n=o),a=s},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}},function(t,e,r,n){var a;if(null==t)a=r*Et,n.point(-At,a),n.point(0,a),n.point(At,a),n.point(At,0),n.point(At,-a),n.point(0,-a),n.point(-At,-a),n.point(-At,0),n.point(-At,a);else if(y(t[0]-e[0])>kt){var i=t[0]<e[0]?At:-At;a=r*i/2,n.point(-i,a),n.point(0,a),n.point(i,a)}else n.point(e[0],e[1])},[-At,-At/2]);function en(t,e,r,n){return function(a){var i,o=a.a,s=a.b,l=o.x,c=o.y,u=0,h=1,f=s.x-l,p=s.y-c;if(i=t-l,f||!(i>0)){if(i/=f,f<0){if(i<u)return;i<h&&(h=i)}else if(f>0){if(i>h)return;i>u&&(u=i)}if(i=r-l,f||!(i<0)){if(i/=f,f<0){if(i>h)return;i>u&&(u=i)}else if(f>0){if(i<u)return;i<h&&(h=i)}if(i=e-c,p||!(i>0)){if(i/=p,p<0){if(i<u)return;i<h&&(h=i)}else if(p>0){if(i>h)return;i>u&&(u=i)}if(i=n-c,p||!(i<0)){if(i/=p,p<0){if(i>h)return;i>u&&(u=i)}else if(p>0){if(i<u)return;i<h&&(h=i)}return u>0&&(a.a={x:l+u*f,y:c+u*p}),h<1&&(a.b={x:l+h*f,y:c+h*p}),a}}}}}}var rn=1e9;function nn(e,r,n,a){return function(l){var c,u,h,f,p,d,g,v,m,y,x,b=l,_=Qr(),w=en(e,r,n,a),k={point:M,lineStart:function(){k.point=S,u&&u.push(h=[]);y=!0,m=!1,g=v=NaN},lineEnd:function(){c&&(S(f,p),d&&m&&_.rejoin(),c.push(_.buffer()));k.point=M,m&&l.lineEnd()},polygonStart:function(){l=_,c=[],u=[],x=!0},polygonEnd:function(){l=b,c=t.merge(c);var r=function(t){for(var e=0,r=u.length,n=t[1],a=0;a<r;++a)for(var i,o=1,s=u[a],l=s.length,c=s[0];o<l;++o)i=s[o],c[1]<=n?i[1]>n&&Ot(c,i,t)>0&&++e:i[1]<=n&&Ot(c,i,t)<0&&--e,c=i;return 0!==e}([e,a]),n=x&&r,i=c.length;(n||i)&&(l.polygonStart(),n&&(l.lineStart(),T(null,null,1,l),l.lineEnd()),i&&Wr(c,o,r,T,l),l.polygonEnd()),c=u=h=null}};function T(t,o,l,c){var u=0,h=0;if(null==t||(u=i(t,l))!==(h=i(o,l))||s(t,o)<0^l>0)do{c.point(0===u||3===u?e:n,u>1?a:r)}while((u=(u+l+4)%4)!==h);else c.point(o[0],o[1])}function A(t,i){return e<=t&&t<=n&&r<=i&&i<=a}function M(t,e){A(t,e)&&l.point(t,e)}function S(t,e){var r=A(t=Math.max(-rn,Math.min(rn,t)),e=Math.max(-rn,Math.min(rn,e)));if(u&&h.push([t,e]),y)f=t,p=e,d=r,y=!1,r&&(l.lineStart(),l.point(t,e));else if(r&&m)l.point(t,e);else{var n={a:{x:g,y:v},b:{x:t,y:e}};w(n)?(m||(l.lineStart(),l.point(n.a.x,n.a.y)),l.point(n.b.x,n.b.y),r||l.lineEnd(),x=!1):r&&(l.lineStart(),l.point(t,e),x=!1)}g=t,v=e,m=r}return k};function i(t,a){return y(t[0]-e)<kt?a>0?0:3:y(t[0]-n)<kt?a>0?2:1:y(t[1]-r)<kt?a>0?1:0:a>0?3:2}function o(t,e){return s(t.x,e.x)}function s(t,e){var r=i(t,1),n=i(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}}function an(t){var e=0,r=At/3,n=Ln(t),a=n(e,r);return a.parallels=function(t){return arguments.length?n(e=t[0]*At/180,r=t[1]*At/180):[e/At*180,r/At*180]},a}function on(t,e){var r=Math.sin(t),n=(r+Math.sin(e))/2,a=1+r*(2*n-r),i=Math.sqrt(a)/n;function o(t,e){var r=Math.sqrt(a-2*n*Math.sin(e))/n;return[r*Math.sin(t*=n),i-r*Math.cos(t)]}return o.invert=function(t,e){var r=i-e;return[Math.atan2(t,r)/n,It((a-(t*t+r*r)*n*n)/(2*n))]},o}t.geo.clipExtent=function(){var t,e,r,n,a,i,o={stream:function(t){return a&&(a.valid=!1),(a=i(t)).valid=!0,a},extent:function(s){return arguments.length?(i=nn(t=+s[0][0],e=+s[0][1],r=+s[1][0],n=+s[1][1]),a&&(a.valid=!1,a=null),o):[[t,e],[r,n]]}};return o.extent([[0,0],[960,500]])},(t.geo.conicEqualArea=function(){return an(on)}).raw=on,t.geo.albers=function(){return t.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},t.geo.albersUsa=function(){var e,r,n,a,i=t.geo.albers(),o=t.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),s=t.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(t,r){e=[t,r]}};function c(t){var i=t[0],o=t[1];return e=null,r(i,o),e||(n(i,o),e)||a(i,o),e}return c.invert=function(t){var e=i.scale(),r=i.translate(),n=(t[0]-r[0])/e,a=(t[1]-r[1])/e;return(a>=.12&&a<.234&&n>=-.425&&n<-.214?o:a>=.166&&a<.234&&n>=-.214&&n<-.115?s:i).invert(t)},c.stream=function(t){var e=i.stream(t),r=o.stream(t),n=s.stream(t);return{point:function(t,a){e.point(t,a),r.point(t,a),n.point(t,a)},sphere:function(){e.sphere(),r.sphere(),n.sphere()},lineStart:function(){e.lineStart(),r.lineStart(),n.lineStart()},lineEnd:function(){e.lineEnd(),r.lineEnd(),n.lineEnd()},polygonStart:function(){e.polygonStart(),r.polygonStart(),n.polygonStart()},polygonEnd:function(){e.polygonEnd(),r.polygonEnd(),n.polygonEnd()}}},c.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),c):i.precision()},c.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),c.translate(i.translate())):i.scale()},c.translate=function(t){if(!arguments.length)return i.translate();var e=i.scale(),u=+t[0],h=+t[1];return r=i.translate(t).clipExtent([[u-.455*e,h-.238*e],[u+.455*e,h+.238*e]]).stream(l).point,n=o.translate([u-.307*e,h+.201*e]).clipExtent([[u-.425*e+kt,h+.12*e+kt],[u-.214*e-kt,h+.234*e-kt]]).stream(l).point,a=s.translate([u-.205*e,h+.212*e]).clipExtent([[u-.214*e+kt,h+.166*e+kt],[u-.115*e-kt,h+.234*e-kt]]).stream(l).point,c},c.scale(1070)};var sn,ln,cn,un,hn,fn,pn={point:D,lineStart:D,lineEnd:D,polygonStart:function(){ln=0,pn.lineStart=dn},polygonEnd:function(){pn.lineStart=pn.lineEnd=pn.point=D,sn+=y(ln/2)}};function dn(){var t,e,r,n;function a(t,e){ln+=n*t-r*e,r=t,n=e}pn.point=function(i,o){pn.point=a,t=r=i,e=n=o},pn.lineEnd=function(){a(t,e)}}var gn={point:function(t,e){t<cn&&(cn=t);t>hn&&(hn=t);e<un&&(un=e);e>fn&&(fn=e)},lineStart:D,lineEnd:D,polygonStart:D,polygonEnd:D};function vn(){var t=mn(4.5),e=[],r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(e){return t=mn(e),r},result:function(){if(e.length){var t=e.join("");return e=[],t}}};function n(r,n){e.push("M",r,",",n,t)}function a(t,n){e.push("M",t,",",n),r.point=i}function i(t,r){e.push("L",t,",",r)}function o(){r.point=n}function s(){e.push("Z")}return r}function mn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}var yn,xn={point:bn,lineStart:_n,lineEnd:wn,polygonStart:function(){xn.lineStart=kn},polygonEnd:function(){xn.point=bn,xn.lineStart=_n,xn.lineEnd=wn}};function bn(t,e){xr+=t,br+=e,++_r}function _n(){var t,e;function r(r,n){var a=r-t,i=n-e,o=Math.sqrt(a*a+i*i);wr+=o*(t+r)/2,kr+=o*(e+n)/2,Tr+=o,bn(t=r,e=n)}xn.point=function(n,a){xn.point=r,bn(t=n,e=a)}}function wn(){xn.point=bn}function kn(){var t,e,r,n;function a(t,e){var a=t-r,i=e-n,o=Math.sqrt(a*a+i*i);wr+=o*(r+t)/2,kr+=o*(n+e)/2,Tr+=o,Ar+=(o=n*t-r*e)*(r+t),Mr+=o*(n+e),Sr+=3*o,bn(r=t,n=e)}xn.point=function(i,o){xn.point=a,bn(t=r=i,e=n=o)},xn.lineEnd=function(){a(t,e)}}function Tn(t){var e=4.5,r={point:n,lineStart:function(){r.point=a},lineEnd:o,polygonStart:function(){r.lineEnd=s},polygonEnd:function(){r.lineEnd=o,r.point=n},pointRadius:function(t){return e=t,r},result:D};function n(r,n){t.moveTo(r+e,n),t.arc(r,n,e,0,Mt)}function a(e,n){t.moveTo(e,n),r.point=i}function i(e,r){t.lineTo(e,r)}function o(){r.point=n}function s(){t.closePath()}return r}function An(t){var e=.5,r=Math.cos(30*Lt),n=16;function a(e){return(n?function(e){var r,a,o,s,l,c,u,h,f,p,d,g,v={point:m,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart(),v.lineStart=_},polygonEnd:function(){e.polygonEnd(),v.lineStart=y}};function m(r,n){r=t(r,n),e.point(r[0],r[1])}function y(){h=NaN,v.point=x,e.lineStart()}function x(r,a){var o=Pr([r,a]),s=t(r,a);i(h,f,u,p,d,g,h=s[0],f=s[1],u=r,p=o[0],d=o[1],g=o[2],n,e),e.point(h,f)}function b(){v.point=m,e.lineEnd()}function _(){y(),v.point=w,v.lineEnd=k}function w(t,e){x(r=t,e),a=h,o=f,s=p,l=d,c=g,v.point=x}function k(){i(h,f,u,p,d,g,a,o,r,s,l,c,n,e),v.lineEnd=b,b()}return v}:function(e){return Sn(e,function(r,n){r=t(r,n),e.point(r[0],r[1])})})(e)}function i(n,a,o,s,l,c,u,h,f,p,d,g,v,m){var x=u-n,b=h-a,_=x*x+b*b;if(_>4*e&&v--){var w=s+p,k=l+d,T=c+g,A=Math.sqrt(w*w+k*k+T*T),M=Math.asin(T/=A),S=y(y(T)-1)<kt||y(o-f)<kt?(o+f)/2:Math.atan2(k,w),E=t(S,M),L=E[0],C=E[1],P=L-n,O=C-a,z=b*P-x*O;(z*z/_>e||y((x*P+b*O)/_-.5)>.3||s*p+l*d+c*g<r)&&(i(n,a,o,s,l,c,L,C,S,w/=A,k/=A,T,v,m),m.point(L,C),i(L,C,S,w,k,T,u,h,f,p,d,g,v,m))}}return a.precision=function(t){return arguments.length?(n=(e=t*t)>0&&16,a):Math.sqrt(e)},a}function Mn(t){this.stream=t}function Sn(t,e){return{point:e,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function En(t){return Ln(function(){return t})()}function Ln(e){var r,n,a,i,o,s,l=An(function(t,e){return[(t=r(t,e))[0]*c+i,o-t[1]*c]}),c=150,u=480,h=250,f=0,p=0,d=0,g=0,v=0,m=tn,x=P,b=null,_=null;function w(t){return[(t=a(t[0]*Lt,t[1]*Lt))[0]*c+i,o-t[1]*c]}function k(t){return(t=a.invert((t[0]-i)/c,(o-t[1])/c))&&[t[0]*Ct,t[1]*Ct]}function T(){a=Gr(n=zn(d,g,v),r);var t=r(f,p);return i=u-t[0]*c,o=h+t[1]*c,A()}function A(){return s&&(s.valid=!1,s=null),w}return w.stream=function(t){return s&&(s.valid=!1),(s=Cn(m(n,l(x(t))))).valid=!0,s},w.clipAngle=function(t){return arguments.length?(m=null==t?(b=t,tn):function(t){var e=Math.cos(t),r=e>0,n=y(e)>kt;return Jr(a,function(t){var e,s,l,c,u;return{lineStart:function(){c=l=!1,u=1},point:function(h,f){var p,d=[h,f],g=a(h,f),v=r?g?0:o(h,f):g?o(h+(h<0?At:-At),f):0;if(!e&&(c=l=g)&&t.lineStart(),g!==l&&(p=i(e,d),(Br(e,p)||Br(d,p))&&(d[0]+=kt,d[1]+=kt,g=a(d[0],d[1]))),g!==l)u=0,g?(t.lineStart(),p=i(d,e),t.point(p[0],p[1])):(p=i(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(n&&e&&r^g){var m;v&s||!(m=i(d,e,!0))||(u=0,r?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!g||e&&Br(e,d)||t.point(d[0],d[1]),e=d,l=g,s=v},lineEnd:function(){l&&t.lineEnd(),e=null},clean:function(){return u|(c&&l)<<1}}},Fn(t,6*Lt),r?[0,-t]:[-At,t-At]);function a(t,r){return Math.cos(t)*Math.cos(r)>e}function i(t,r,n){var a=[1,0,0],i=zr(Pr(t),Pr(r)),o=Or(i,i),s=i[0],l=o-s*s;if(!l)return!n&&t;var c=e*o/l,u=-e*s/l,h=zr(a,i),f=Dr(a,c);Ir(f,Dr(i,u));var p=h,d=Or(f,p),g=Or(p,p),v=d*d-g*(Or(f,f)-1);if(!(v<0)){var m=Math.sqrt(v),x=Dr(p,(-d-m)/g);if(Ir(x,f),x=Fr(x),!n)return x;var b,_=t[0],w=r[0],k=t[1],T=r[1];w<_&&(b=_,_=w,w=b);var A=w-_,M=y(A-At)<kt;if(!M&&T<k&&(b=k,k=T,T=b),M||A<kt?M?k+T>0^x[1]<(y(x[0]-_)<kt?k:T):k<=x[1]&&x[1]<=T:A>At^(_<=x[0]&&x[0]<=w)){var S=Dr(p,(-d+m)/g);return Ir(S,f),[x,Fr(S)]}}}function o(e,n){var a=r?t:At-t,i=0;return e<-a?i|=1:e>a&&(i|=2),n<-a?i|=4:n>a&&(i|=8),i}}((b=+t)*Lt),A()):b},w.clipExtent=function(t){return arguments.length?(_=t,x=t?nn(t[0][0],t[0][1],t[1][0],t[1][1]):P,A()):_},w.scale=function(t){return arguments.length?(c=+t,T()):c},w.translate=function(t){return arguments.length?(u=+t[0],h=+t[1],T()):[u,h]},w.center=function(t){return arguments.length?(f=t[0]%360*Lt,p=t[1]%360*Lt,T()):[f*Ct,p*Ct]},w.rotate=function(t){return arguments.length?(d=t[0]%360*Lt,g=t[1]%360*Lt,v=t.length>2?t[2]%360*Lt:0,T()):[d*Ct,g*Ct,v*Ct]},t.rebind(w,l,"precision"),function(){return r=e.apply(this,arguments),w.invert=r.invert&&k,T()}}function Cn(t){return Sn(t,function(e,r){t.point(e*Lt,r*Lt)})}function Pn(t,e){return[t,e]}function On(t,e){return[t>At?t-Mt:t<-At?t+Mt:t,e]}function zn(t,e,r){return t?e||r?Gr(Dn(t),Rn(e,r)):Dn(t):e||r?Rn(e,r):On}function In(t){return function(e,r){return[(e+=t)>At?e-Mt:e<-At?e+Mt:e,r]}}function Dn(t){var e=In(t);return e.invert=In(-t),e}function Rn(t,e){var r=Math.cos(t),n=Math.sin(t),a=Math.cos(e),i=Math.sin(e);function o(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*r+s*n;return[Math.atan2(l*a-u*i,s*r-c*n),It(u*a+l*i)]}return o.invert=function(t,e){var o=Math.cos(e),s=Math.cos(t)*o,l=Math.sin(t)*o,c=Math.sin(e),u=c*a-l*i;return[Math.atan2(l*a+c*i,s*r+u*n),It(u*r-s*n)]},o}function Fn(t,e){var r=Math.cos(t),n=Math.sin(t);return function(a,i,o,s){var l=o*e;null!=a?(a=Bn(r,a),i=Bn(r,i),(o>0?a<i:a>i)&&(a+=o*Mt)):(a=t+o*Mt,i=t-.5*l);for(var c,u=a;o>0?u>i:u<i;u-=l)s.point((c=Fr([r,-n*Math.cos(u),-n*Math.sin(u)]))[0],c[1])}}function Bn(t,e){var r=Pr(e);r[0]-=t,Rr(r);var n=zt(-r[1]);return((-r[2]<0?-n:n)+2*Math.PI-kt)%(2*Math.PI)}function Nn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[t,e]})}}function jn(e,r,n){var a=t.range(e,r-kt,n).concat(r);return function(t){return a.map(function(e){return[e,t]})}}function Vn(t){return t.source}function Un(t){return t.target}t.geo.path=function(){var e,r,n,a,i,o=4.5;function s(e){return e&&("function"==typeof o&&a.pointRadius(+o.apply(this,arguments)),i&&i.valid||(i=n(a)),t.geo.stream(e,i)),a.result()}function l(){return i=null,s}return s.area=function(e){return sn=0,t.geo.stream(e,n(pn)),sn},s.centroid=function(e){return xr=br=_r=wr=kr=Tr=Ar=Mr=Sr=0,t.geo.stream(e,n(xn)),Sr?[Ar/Sr,Mr/Sr]:Tr?[wr/Tr,kr/Tr]:_r?[xr/_r,br/_r]:[NaN,NaN]},s.bounds=function(e){return hn=fn=-(cn=un=1/0),t.geo.stream(e,n(gn)),[[cn,un],[hn,fn]]},s.projection=function(t){return arguments.length?(n=(e=t)?t.stream||(r=t,a=An(function(t,e){return r([t*Ct,e*Ct])}),function(t){return Cn(a(t))}):P,l()):e;var r,a},s.context=function(t){return arguments.length?(a=null==(r=t)?new vn:new Tn(t),"function"!=typeof o&&a.pointRadius(o),l()):r},s.pointRadius=function(t){return arguments.length?(o="function"==typeof t?t:(a.pointRadius(+t),+t),s):o},s.projection(t.geo.albersUsa()).context(null)},t.geo.transform=function(t){return{stream:function(e){var r=new Mn(e);for(var n in t)r[n]=t[n];return r}}},Mn.prototype={point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},t.geo.projection=En,t.geo.projectionMutator=Ln,(t.geo.equirectangular=function(){return En(Pn)}).raw=Pn.invert=Pn,t.geo.rotation=function(t){function e(e){return(e=t(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e}return t=zn(t[0]%360*Lt,t[1]*Lt,t.length>2?t[2]*Lt:0),e.invert=function(e){return(e=t.invert(e[0]*Lt,e[1]*Lt))[0]*=Ct,e[1]*=Ct,e},e},On.invert=Pn,t.geo.circle=function(){var t,e,r=[0,0],n=6;function a(){var t="function"==typeof r?r.apply(this,arguments):r,n=zn(-t[0]*Lt,-t[1]*Lt,0).invert,a=[];return e(null,null,1,{point:function(t,e){a.push(t=n(t,e)),t[0]*=Ct,t[1]*=Ct}}),{type:"Polygon",coordinates:[a]}}return a.origin=function(t){return arguments.length?(r=t,a):r},a.angle=function(r){return arguments.length?(e=Fn((t=+r)*Lt,n*Lt),a):t},a.precision=function(r){return arguments.length?(e=Fn(t*Lt,(n=+r)*Lt),a):n},a.angle(90)},t.geo.distance=function(t,e){var r,n=(e[0]-t[0])*Lt,a=t[1]*Lt,i=e[1]*Lt,o=Math.sin(n),s=Math.cos(n),l=Math.sin(a),c=Math.cos(a),u=Math.sin(i),h=Math.cos(i);return Math.atan2(Math.sqrt((r=h*o)*r+(r=c*u-l*h*s)*r),l*u+c*h*s)},t.geo.graticule=function(){var e,r,n,a,i,o,s,l,c,u,h,f,p=10,d=p,g=90,v=360,m=2.5;function x(){return{type:"MultiLineString",coordinates:b()}}function b(){return t.range(Math.ceil(a/g)*g,n,g).map(h).concat(t.range(Math.ceil(l/v)*v,s,v).map(f)).concat(t.range(Math.ceil(r/p)*p,e,p).filter(function(t){return y(t%g)>kt}).map(c)).concat(t.range(Math.ceil(o/d)*d,i,d).filter(function(t){return y(t%v)>kt}).map(u))}return x.lines=function(){return b().map(function(t){return{type:"LineString",coordinates:t}})},x.outline=function(){return{type:"Polygon",coordinates:[h(a).concat(f(s).slice(1),h(n).reverse().slice(1),f(l).reverse().slice(1))]}},x.extent=function(t){return arguments.length?x.majorExtent(t).minorExtent(t):x.minorExtent()},x.majorExtent=function(t){return arguments.length?(a=+t[0][0],n=+t[1][0],l=+t[0][1],s=+t[1][1],a>n&&(t=a,a=n,n=t),l>s&&(t=l,l=s,s=t),x.precision(m)):[[a,l],[n,s]]},x.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],o=+t[0][1],i=+t[1][1],r>e&&(t=r,r=e,e=t),o>i&&(t=o,o=i,i=t),x.precision(m)):[[r,o],[e,i]]},x.step=function(t){return arguments.length?x.majorStep(t).minorStep(t):x.minorStep()},x.majorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],x):[g,v]},x.minorStep=function(t){return arguments.length?(p=+t[0],d=+t[1],x):[p,d]},x.precision=function(t){return arguments.length?(m=+t,c=Nn(o,i,90),u=jn(r,e,m),h=Nn(l,s,90),f=jn(a,n,m),x):m},x.majorExtent([[-180,-90+kt],[180,90-kt]]).minorExtent([[-180,-80-kt],[180,80+kt]])},t.geo.greatArc=function(){var e,r,n=Vn,a=Un;function i(){return{type:"LineString",coordinates:[e||n.apply(this,arguments),r||a.apply(this,arguments)]}}return i.distance=function(){return t.geo.distance(e||n.apply(this,arguments),r||a.apply(this,arguments))},i.source=function(t){return arguments.length?(n=t,e="function"==typeof t?null:t,i):n},i.target=function(t){return arguments.length?(a=t,r="function"==typeof t?null:t,i):a},i.precision=function(){return arguments.length?i:0},i},t.geo.interpolate=function(t,e){return r=t[0]*Lt,n=t[1]*Lt,a=e[0]*Lt,i=e[1]*Lt,o=Math.cos(n),s=Math.sin(n),l=Math.cos(i),c=Math.sin(i),u=o*Math.cos(r),h=o*Math.sin(r),f=l*Math.cos(a),p=l*Math.sin(a),d=2*Math.asin(Math.sqrt(Rt(i-n)+o*l*Rt(a-r))),g=1/Math.sin(d),(v=d?function(t){var e=Math.sin(t*=d)*g,r=Math.sin(d-t)*g,n=r*u+e*f,a=r*h+e*p,i=r*s+e*c;return[Math.atan2(a,n)*Ct,Math.atan2(i,Math.sqrt(n*n+a*a))*Ct]}:function(){return[r*Ct,n*Ct]}).distance=d,v;var r,n,a,i,o,s,l,c,u,h,f,p,d,g,v},t.geo.length=function(e){return yn=0,t.geo.stream(e,qn),yn};var qn={sphere:D,point:D,lineStart:function(){var t,e,r;function n(n,a){var i=Math.sin(a*=Lt),o=Math.cos(a),s=y((n*=Lt)-t),l=Math.cos(s);yn+=Math.atan2(Math.sqrt((s=o*Math.sin(s))*s+(s=r*i-e*o*l)*s),e*i+r*o*l),t=n,e=i,r=o}qn.point=function(a,i){t=a*Lt,e=Math.sin(i*=Lt),r=Math.cos(i),qn.point=n},qn.lineEnd=function(){qn.point=qn.lineEnd=D}},lineEnd:D,polygonStart:D,polygonEnd:D};function Hn(t,e){function r(e,r){var n=Math.cos(e),a=Math.cos(r),i=t(n*a);return[i*a*Math.sin(e),i*Math.sin(r)]}return r.invert=function(t,r){var n=Math.sqrt(t*t+r*r),a=e(n),i=Math.sin(a),o=Math.cos(a);return[Math.atan2(t*i,n*o),Math.asin(n&&r*i/n)]},r}var Gn=Hn(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(t.geo.azimuthalEqualArea=function(){return En(Gn)}).raw=Gn;var Yn=Hn(function(t){var e=Math.acos(t);return e&&e/Math.sin(e)},P);function Wn(t,e){var r=Math.cos(t),n=function(t){return Math.tan(At/4+t/2)},a=t===e?Math.sin(t):Math.log(r/Math.cos(e))/Math.log(n(e)/n(t)),i=r*Math.pow(n(t),a)/a;if(!a)return Jn;function o(t,e){i>0?e<-Et+kt&&(e=-Et+kt):e>Et-kt&&(e=Et-kt);var r=i/Math.pow(n(e),a);return[r*Math.sin(a*t),i-r*Math.cos(a*t)]}return o.invert=function(t,e){var r=i-e,n=Pt(a)*Math.sqrt(t*t+r*r);return[Math.atan2(t,r)/a,2*Math.atan(Math.pow(i/n,1/a))-Et]},o}function Xn(t,e){var r=Math.cos(t),n=t===e?Math.sin(t):(r-Math.cos(e))/(e-t),a=r/n+t;if(y(n)<kt)return Pn;function i(t,e){var r=a-e;return[r*Math.sin(n*t),a-r*Math.cos(n*t)]}return i.invert=function(t,e){var r=a-e;return[Math.atan2(t,r)/n,a-Pt(n)*Math.sqrt(t*t+r*r)]},i}(t.geo.azimuthalEquidistant=function(){return En(Yn)}).raw=Yn,(t.geo.conicConformal=function(){return an(Wn)}).raw=Wn,(t.geo.conicEquidistant=function(){return an(Xn)}).raw=Xn;var Zn=Hn(function(t){return 1/t},Math.atan);function Jn(t,e){return[t,Math.log(Math.tan(At/4+e/2))]}function Kn(t){var e,r=En(t),n=r.scale,a=r.translate,i=r.clipExtent;return r.scale=function(){var t=n.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.translate=function(){var t=a.apply(r,arguments);return t===r?e?r.clipExtent(null):r:t},r.clipExtent=function(t){var o=i.apply(r,arguments);if(o===r){if(e=null==t){var s=At*n(),l=a();i([[l[0]-s,l[1]-s],[l[0]+s,l[1]+s]])}}else e&&(o=null);return o},r.clipExtent(null)}(t.geo.gnomonic=function(){return En(Zn)}).raw=Zn,Jn.invert=function(t,e){return[t,2*Math.atan(Math.exp(e))-Et]},(t.geo.mercator=function(){return Kn(Jn)}).raw=Jn;var Qn=Hn(function(){return 1},Math.asin);(t.geo.orthographic=function(){return En(Qn)}).raw=Qn;var $n=Hn(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});function ta(t,e){return[Math.log(Math.tan(At/4+e/2)),-t]}function ea(t){return t[0]}function ra(t){return t[1]}function na(t){for(var e=t.length,r=[0,1],n=2,a=2;a<e;a++){for(;n>1&&Ot(t[r[n-2]],t[r[n-1]],t[a])<=0;)--n;r[n++]=a}return r.slice(0,n)}function aa(t,e){return t[0]-e[0]||t[1]-e[1]}(t.geo.stereographic=function(){return En($n)}).raw=$n,ta.invert=function(t,e){return[-e,2*Math.atan(Math.exp(t))-Et]},(t.geo.transverseMercator=function(){var t=Kn(ta),e=t.center,r=t.rotate;return t.center=function(t){return t?e([-t[1],t[0]]):[(t=e())[1],-t[0]]},t.rotate=function(t){return t?r([t[0],t[1],t.length>2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90])}).raw=ta,t.geom={},t.geom.hull=function(t){var e=ea,r=ra;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,a=ve(e),i=ve(r),o=t.length,s=[],l=[];for(n=0;n<o;n++)s.push([+a.call(this,t[n],n),+i.call(this,t[n],n),n]);for(s.sort(aa),n=0;n<o;n++)l.push([s[n][0],-s[n][1]]);var c=na(s),u=na(l),h=u[0]===c[0],f=u[u.length-1]===c[c.length-1],p=[];for(n=c.length-1;n>=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;n<u.length-f;++n)p.push(t[s[u[n]][2]]);return p}return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n},t.geom.polygon=function(t){return U(t,ia),t};var ia=t.geom.polygon.prototype=[];function oa(t,e,r){return(r[0]-e[0])*(t[1]-e[1])<(r[1]-e[1])*(t[0]-e[0])}function sa(t,e,r,n){var a=t[0],i=r[0],o=e[0]-a,s=n[0]-i,l=t[1],c=r[1],u=e[1]-l,h=n[1]-c,f=(s*(l-c)-h*(a-i))/(h*o-s*u);return[a+f*o,l+f*u]}function la(t){var e=t[0],r=t[t.length-1];return!(e[0]-r[0]||e[1]-r[1])}ia.area=function(){for(var t,e=-1,r=this.length,n=this[r-1],a=0;++e<r;)t=n,n=this[e],a+=t[1]*n[0]-t[0]*n[1];return.5*a},ia.centroid=function(t){var e,r,n=-1,a=this.length,i=0,o=0,s=this[a-1];for(arguments.length||(t=-1/(6*this.area()));++n<a;)e=s,s=this[n],r=e[0]*s[1]-s[0]*e[1],i+=(e[0]+s[0])*r,o+=(e[1]+s[1])*r;return[i*t,o*t]},ia.clip=function(t){for(var e,r,n,a,i,o,s=la(t),l=-1,c=this.length-la(this),u=this[c-1];++l<c;){for(e=t.slice(),t.length=0,a=this[l],i=e[(n=e.length-s)-1],r=-1;++r<n;)oa(o=e[r],u,a)?(oa(i,u,a)||t.push(sa(i,o,u,a)),t.push(o)):oa(i,u,a)&&t.push(sa(i,o,u,a)),i=o;s&&t.push(t[0]),u=a}return t};var ca,ua,ha,fa,pa,da=[],ga=[];function va(){Ia(this),this.edge=this.site=this.circle=null}function ma(t){var e=da.pop()||new va;return e.site=t,e}function ya(t){Sa(t),ha.remove(t),da.push(t),Ia(t)}function xa(t){var e=t.circle,r=e.x,n=e.cy,a={x:r,y:n},i=t.P,o=t.N,s=[t];ya(t);for(var l=i;l.circle&&y(r-l.circle.x)<kt&&y(n-l.circle.cy)<kt;)i=l.P,s.unshift(l),ya(l),l=i;s.unshift(l),Sa(l);for(var c=o;c.circle&&y(r-c.circle.x)<kt&&y(n-c.circle.cy)<kt;)o=c.N,s.push(c),ya(c),c=o;s.push(c),Sa(c);var u,h=s.length;for(u=1;u<h;++u)c=s[u],l=s[u-1],Pa(c.edge,l.site,c.site,a);l=s[0],(c=s[h-1]).edge=Ca(l.site,c.site,null,a),Ma(l),Ma(c)}function ba(t){for(var e,r,n,a,i=t.x,o=t.y,s=ha._;s;)if((n=_a(s,o)-i)>kt)s=s.L;else{if(!((a=i-wa(s,o))>kt)){n>-kt?(e=s.P,r=s):a>-kt?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=ma(t);if(ha.insert(e,l),e||r){if(e===r)return Sa(e),r=ma(e.site),ha.insert(l,r),l.edge=r.edge=Ca(e.site,l.site),Ma(e),void Ma(r);if(r){Sa(e),Sa(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,g=d.x-u,v=d.y-h,m=2*(f*v-p*g),y=f*f+p*p,x=g*g+v*v,b={x:(v*y-p*x)/m+u,y:(f*x-g*y)/m+h};Pa(r.edge,c,d,b),l.edge=Ca(c,t,null,b),r.edge=Ca(t,d,null,b),Ma(e),Ma(r)}else l.edge=Ca(e.site,l.site)}}function _a(t,e){var r=t.site,n=r.x,a=r.y,i=a-e;if(!i)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/i-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+a-i/2)))/h+n:(n+s)/2}function wa(t,e){var r=t.N;if(r)return _a(r,e);var n=t.site;return n.y===e?n.x:1/0}function ka(t){this.site=t,this.edges=[]}function Ta(t,e){return e.angle-t.angle}function Aa(){Ia(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ma(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,a=t.site,i=r.site;if(n!==i){var o=a.x,s=a.y,l=n.x-o,c=n.y-s,u=i.x-o,h=2*(l*(v=i.y-s)-c*u);if(!(h>=-Tt)){var f=l*l+c*c,p=u*u+v*v,d=(v*f-c*p)/h,g=(l*p-u*f)/h,v=g+s,m=ga.pop()||new Aa;m.arc=t,m.site=a,m.x=d+o,m.y=v+Math.sqrt(d*d+g*g),m.cy=v,t.circle=m;for(var y=null,x=pa._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}pa.insert(y,m),y||(fa=m)}}}}function Sa(t){var e=t.circle;e&&(e.P||(fa=e.N),pa.remove(e),ga.push(e),Ia(e),t.circle=null)}function Ea(t,e){var r=t.b;if(r)return!0;var n,a,i=t.a,o=e[0][0],s=e[1][0],l=e[0][1],c=e[1][1],u=t.l,h=t.r,f=u.x,p=u.y,d=h.x,g=h.y,v=(f+d)/2,m=(p+g)/2;if(g===p){if(v<o||v>=s)return;if(f>d){if(i){if(i.y>=c)return}else i={x:v,y:l};r={x:v,y:c}}else{if(i){if(i.y<l)return}else i={x:v,y:c};r={x:v,y:l}}}else if(a=m-(n=(f-d)/(g-p))*v,n<-1||n>1)if(f>d){if(i){if(i.y>=c)return}else i={x:(l-a)/n,y:l};r={x:(c-a)/n,y:c}}else{if(i){if(i.y<l)return}else i={x:(c-a)/n,y:c};r={x:(l-a)/n,y:l}}else if(p<g){if(i){if(i.x>=s)return}else i={x:o,y:n*o+a};r={x:s,y:n*s+a}}else{if(i){if(i.x<o)return}else i={x:s,y:n*s+a};r={x:o,y:n*o+a}}return t.a=i,t.b=r,!0}function La(t,e){this.l=t,this.r=e,this.a=this.b=null}function Ca(t,e,r,n){var a=new La(t,e);return ca.push(a),r&&Pa(a,t,e,r),n&&Pa(a,e,t,n),ua[t.i].edges.push(new Oa(a,t,e)),ua[e.i].edges.push(new Oa(a,e,t)),a}function Pa(t,e,r,n){t.a||t.b?t.l===r?t.b=n:t.a=n:(t.a=n,t.l=e,t.r=r)}function Oa(t,e,r){var n=t.a,a=t.b;this.edge=t,this.site=e,this.angle=r?Math.atan2(r.y-e.y,r.x-e.x):t.l===e?Math.atan2(a.x-n.x,n.y-a.y):Math.atan2(n.x-a.x,a.y-n.y)}function za(){this._=null}function Ia(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function Da(t,e){var r=e,n=e.R,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.R=n.L,r.R&&(r.R.U=r),n.L=r}function Ra(t,e){var r=e,n=e.L,a=r.U;a?a.L===r?a.L=n:a.R=n:t._=n,n.U=a,r.U=n,r.L=n.R,r.L&&(r.L.U=r),n.R=r}function Fa(t){for(;t.L;)t=t.L;return t}function Ba(t,e){var r,n,a,i=t.sort(Na).pop();for(ca=[],ua=new Array(t.length),ha=new za,pa=new za;;)if(a=fa,i&&(!a||i.y<a.y||i.y===a.y&&i.x<a.x))i.x===r&&i.y===n||(ua[i.i]=new ka(i),ba(i),r=i.x,n=i.y),i=t.pop();else{if(!a)break;xa(a.arc)}e&&(function(t){for(var e,r=ca,n=en(t[0][0],t[0][1],t[1][0],t[1][1]),a=r.length;a--;)(!Ea(e=r[a],t)||!n(e)||y(e.a.x-e.b.x)<kt&&y(e.a.y-e.b.y)<kt)&&(e.a=e.b=null,r.splice(a,1))}(e),function(t){for(var e,r,n,a,i,o,s,l,c,u,h=t[0][0],f=t[1][0],p=t[0][1],d=t[1][1],g=ua,v=g.length;v--;)if((i=g[v])&&i.prepare())for(l=(s=i.edges).length,o=0;o<l;)n=(u=s[o].end()).x,a=u.y,e=(c=s[++o%l].start()).x,r=c.y,(y(n-e)>kt||y(a-r)>kt)&&(s.splice(o,0,new Oa((m=i.site,x=u,b=y(n-h)<kt&&d-a>kt?{x:h,y:y(e-h)<kt?r:d}:y(a-d)<kt&&f-n>kt?{x:y(r-d)<kt?e:f,y:d}:y(n-f)<kt&&a-p>kt?{x:f,y:y(e-f)<kt?r:p}:y(a-p)<kt&&n-h>kt?{x:y(r-p)<kt?e:h,y:p}:null,_=void 0,_=new La(m,null),_.a=x,_.b=b,ca.push(_),_),i.site,null)),++l);var m,x,b,_}(e));var o={cells:ua,edges:ca};return ha=pa=ca=ua=null,o}function Na(t,e){return e.y-t.y||e.x-t.x}ka.prototype.prepare=function(){for(var t,e=this.edges,r=e.length;r--;)(t=e[r].edge).b&&t.a||e.splice(r,1);return e.sort(Ta),e.length},Oa.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},za.prototype={insert:function(t,e){var r,n,a;if(t){if(e.P=t,e.N=t.N,t.N&&(t.N.P=e),t.N=e,t.R){for(t=t.R;t.L;)t=t.L;t.L=e}else t.R=e;r=t}else this._?(t=Fa(this._),e.P=null,e.N=t,t.P=t.L=e,r=t):(e.P=e.N=null,this._=e,r=null);for(e.L=e.R=null,e.U=r,e.C=!0,t=e;r&&r.C;)r===(n=r.U).L?(a=n.R)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.R&&(Da(this,r),r=(t=r).U),r.C=!1,n.C=!0,Ra(this,n)):(a=n.L)&&a.C?(r.C=a.C=!1,n.C=!0,t=n):(t===r.L&&(Ra(this,r),r=(t=r).U),r.C=!1,n.C=!0,Da(this,n)),r=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var e,r,n,a=t.U,i=t.L,o=t.R;if(r=i?o?Fa(o):i:o,a?a.L===t?a.L=r:a.R=r:this._=r,i&&o?(n=r.C,r.C=t.C,r.L=i,i.U=r,r!==o?(a=r.U,r.U=t.U,t=r.R,a.L=t,r.R=o,o.U=r):(r.U=a,a=r,t=r.R)):(n=t.C,t=r),t&&(t.U=a),!n)if(t&&t.C)t.C=!1;else{do{if(t===this._)break;if(t===a.L){if((e=a.R).C&&(e.C=!1,a.C=!0,Da(this,a),e=a.R),e.L&&e.L.C||e.R&&e.R.C){e.R&&e.R.C||(e.L.C=!1,e.C=!0,Ra(this,e),e=a.R),e.C=a.C,a.C=e.R.C=!1,Da(this,a),t=this._;break}}else if((e=a.L).C&&(e.C=!1,a.C=!0,Ra(this,a),e=a.L),e.L&&e.L.C||e.R&&e.R.C){e.L&&e.L.C||(e.R.C=!1,e.C=!0,Da(this,e),e=a.L),e.C=a.C,a.C=e.L.C=!1,Ra(this,a),t=this._;break}e.C=!0,t=a,a=a.U}while(!t.C);t&&(t.C=!1)}}},t.geom.voronoi=function(t){var e=ea,r=ra,n=e,a=r,i=ja;if(t)return o(t);function o(t){var e=new Array(t.length),r=i[0][0],n=i[0][1],a=i[1][0],o=i[1][1];return Ba(s(t),i).cells.forEach(function(i,s){var l=i.edges,c=i.site;(e[s]=l.length?l.map(function(t){var e=t.start();return[e.x,e.y]}):c.x>=r&&c.x<=a&&c.y>=n&&c.y<=o?[[r,o],[a,o],[a,n],[r,n]]:[]).point=t[s]}),e}function s(t){return t.map(function(t,e){return{x:Math.round(n(t,e)/kt)*kt,y:Math.round(a(t,e)/kt)*kt,i:e}})}return o.links=function(t){return Ba(s(t)).edges.filter(function(t){return t.l&&t.r}).map(function(e){return{source:t[e.l.i],target:t[e.r.i]}})},o.triangles=function(t){var e=[];return Ba(s(t)).cells.forEach(function(r,n){for(var a,i,o,s,l=r.site,c=r.edges.sort(Ta),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++u<h;)f,a=p,p=(f=c[u].edge).l===l?f.r:f.l,n<a.i&&n<p.i&&(o=a,s=p,((i=l).x-s.x)*(o.y-i.y)-(i.x-o.x)*(s.y-i.y)<0)&&e.push([t[n],t[a.i],t[p.i]])}),e},o.x=function(t){return arguments.length?(n=ve(e=t),o):e},o.y=function(t){return arguments.length?(a=ve(r=t),o):r},o.clipExtent=function(t){return arguments.length?(i=null==t?ja:t,o):i===ja?null:i},o.size=function(t){return arguments.length?o.clipExtent(t&&[[0,0],t]):i===ja?null:i&&i[1]},o};var ja=[[-1e6,-1e6],[1e6,1e6]];function Va(t){return t.x}function Ua(t){return t.y}function qa(e,r){e=t.rgb(e),r=t.rgb(r);var n=e.r,a=e.g,i=e.b,o=r.r-n,s=r.g-a,l=r.b-i;return function(t){return"#"+ce(Math.round(n+o*t))+ce(Math.round(a+s*t))+ce(Math.round(i+l*t))}}function Ha(t,e){var r,n={},a={};for(r in t)r in e?n[r]=Za(t[r],e[r]):a[r]=t[r];for(r in e)r in t||(a[r]=e[r]);return function(t){for(r in n)a[r]=n[r](t);return a}}function Ga(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function Ya(t,e){var r,n,a,i=Wa.lastIndex=Xa.lastIndex=0,o=-1,s=[],l=[];for(t+="",e+="";(r=Wa.exec(t))&&(n=Xa.exec(e));)(a=n.index)>i&&(a=e.slice(i,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:Ga(r,n)})),i=Xa.lastIndex;return i<e.length&&(a=e.slice(i),s[o]?s[o]+=a:s[++o]=a),s.length<2?l[0]?(e=l[0].x,function(t){return e(t)+""}):function(){return e}:(e=l.length,function(t){for(var r,n=0;n<e;++n)s[(r=l[n]).i]=r.x(t);return s.join("")})}t.geom.delaunay=function(e){return t.geom.voronoi().triangles(e)},t.geom.quadtree=function(t,e,r,n,a){var i,o=ea,s=ra;if(i=arguments.length)return o=Va,s=Ua,3===i&&(a=r,n=e,r=e=0),l(t);function l(t){var l,c,u,h,f,p,d,g,v,m=ve(o),x=ve(s);if(null!=e)p=e,d=r,g=n,v=a;else if(g=v=-(p=d=1/0),c=[],u=[],f=t.length,i)for(h=0;h<f;++h)(l=t[h]).x<p&&(p=l.x),l.y<d&&(d=l.y),l.x>g&&(g=l.x),l.y>v&&(v=l.y),c.push(l.x),u.push(l.y);else for(h=0;h<f;++h){var b=+m(l=t[h],h),_=+x(l,h);b<p&&(p=b),_<d&&(d=_),b>g&&(g=b),_>v&&(v=_),c.push(b),u.push(_)}var w=g-p,k=v-d;function T(t,e,r,n,a,i,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(y(l-r)+y(c-n)<.01)A(t,e,r,n,a,i,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,a,i,o,s),A(t,e,r,n,a,i,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,a,i,o,s)}function A(t,e,r,n,a,i,o,s){var l=.5*(a+o),c=.5*(i+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?a=l:o=l,h?i=c:s=c,T(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}}),e,r,n,a,i,o,s)}w>k?v=d+w:g=p+k;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){T(M,t,+m(t,++h),+x(t,h),p,d,g,v)}};if(M.visit=function(t){!function t(e,r,n,a,i,o){if(!e(r,n,a,i,o)){var s=.5*(n+i),l=.5*(a+o),c=r.nodes;c[0]&&t(e,c[0],n,a,s,l),c[1]&&t(e,c[1],s,a,i,l),c[2]&&t(e,c[2],n,l,s,o),c[3]&&t(e,c[3],s,l,i,o)}}(t,M,p,d,g,v)},M.find=function(t){return function(t,e,r,n,a,i,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>i||h>o||f<n||p<a)){if(d=c.point){var d,g=e-c.x,v=r-c.y,m=g*g+v*v;if(m<l){var y=Math.sqrt(l=m);n=e-y,a=r-y,i=e+y,o=r+y,s=d}}for(var x=c.nodes,b=.5*(u+f),_=.5*(h+p),w=(r>=_)<<1|e>=b,k=w+4;w<k;++w)if(c=x[3&w])switch(3&w){case 0:t(c,u,h,b,_);break;case 1:t(c,b,h,f,_);break;case 2:t(c,u,_,b,p);break;case 3:t(c,b,_,f,p)}}}(t,n,a,i,o),s}(M,t[0],t[1],p,d,g,v)},h=-1,null==e){for(;++h<f;)T(M,t[h],c[h],u[h],p,d,g,v);--h}else t.forEach(M.add);return c=u=t=l=null,M}return l.x=function(t){return arguments.length?(o=t,l):o},l.y=function(t){return arguments.length?(s=t,l):s},l.extent=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=+t[0][0],r=+t[0][1],n=+t[1][0],a=+t[1][1]),l):null==e?null:[[e,r],[n,a]]},l.size=function(t){return arguments.length?(null==t?e=r=n=a=null:(e=r=0,n=+t[0],a=+t[1]),l):null==e?null:[n-e,a-r]},l},t.interpolateRgb=qa,t.interpolateObject=Ha,t.interpolateNumber=Ga,t.interpolateString=Ya;var Wa=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xa=new RegExp(Wa.source,"g");function Za(e,r){for(var n,a=t.interpolators.length;--a>=0&&!(n=t.interpolators[a](e,r)););return n}function Ja(t,e){var r,n=[],a=[],i=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r<s;++r)n.push(Za(t[r],e[r]));for(;r<i;++r)a[r]=t[r];for(;r<o;++r)a[r]=e[r];return function(t){for(r=0;r<s;++r)a[r]=n[r](t);return a}}t.interpolate=Za,t.interpolators=[function(t,e){var r=typeof e;return("string"===r?ge.has(e.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(e)?qa:Ya:e instanceof Vt?qa:Array.isArray(e)?Ja:"object"===r&&isNaN(e)?Ha:Ga)(t,e)}],t.interpolateArray=Ja;var Ka=function(){return P},Qa=t.map({linear:Ka,poly:function(t){return function(e){return Math.pow(e,t)}},quad:function(){return ri},cubic:function(){return ni},sin:function(){return ii},exp:function(){return oi},circle:function(){return si},elastic:function(t,e){var r;arguments.length<2&&(e=.45);arguments.length?r=e/Mt*Math.asin(1/t):(t=1,r=e/4);return function(n){return 1+t*Math.pow(2,-10*n)*Math.sin((n-r)*Mt/e)}},back:function(t){t||(t=1.70158);return function(e){return e*e*((t+1)*e-t)}},bounce:function(){return li}}),$a=t.map({in:P,out:ti,"in-out":ei,"out-in":function(t){return ei(ti(t))}});function ti(t){return function(e){return 1-t(1-e)}}function ei(t){return function(e){return.5*(e<.5?t(2*e):2-t(2-2*e))}}function ri(t){return t*t}function ni(t){return t*t*t}function ai(t){if(t<=0)return 0;if(t>=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function ii(t){return 1-Math.cos(t*Et)}function oi(t){return Math.pow(2,10*(t-1))}function si(t){return 1-Math.sqrt(1-t*t)}function li(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function ci(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function ui(t){var e,r,n,a=[t.a,t.b],i=[t.c,t.d],o=fi(a),s=hi(a,i),l=fi(((e=i)[0]+=(n=-s)*(r=a)[0],e[1]+=n*r[1],e))||0;a[0]*i[1]<i[0]*a[1]&&(a[0]*=-1,a[1]*=-1,o*=-1,s*=-1),this.rotate=(o?Math.atan2(a[1],a[0]):Math.atan2(-i[0],i[1]))*Ct,this.translate=[t.e,t.f],this.scale=[o,l],this.skew=l?Math.atan2(s,l)*Ct:0}function hi(t,e){return t[0]*e[0]+t[1]*e[1]}function fi(t){var e=Math.sqrt(hi(t,t));return e&&(t[0]/=e,t[1]/=e),e}t.ease=function(t){var e,n=t.indexOf("-"),a=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1):"in";return a=Qa.get(a)||Ka,i=$a.get(i)||P,e=i(a.apply(null,r.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},t.interpolateHcl=function(e,r){e=t.hcl(e),r=t.hcl(r);var n=e.h,a=e.c,i=e.l,o=r.h-n,s=r.c-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.c:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Wt(n+o*t,a+s*t,i+l*t)+""}},t.interpolateHsl=function(e,r){e=t.hsl(e),r=t.hsl(r);var n=e.h,a=e.s,i=e.l,o=r.h-n,s=r.s-a,l=r.l-i;isNaN(s)&&(s=0,a=isNaN(a)?r.s:a);isNaN(o)?(o=0,n=isNaN(n)?r.h:n):o>180?o-=360:o<-180&&(o+=360);return function(t){return Ht(n+o*t,a+s*t,i+l*t)+""}},t.interpolateLab=function(e,r){e=t.lab(e),r=t.lab(r);var n=e.l,a=e.a,i=e.b,o=r.l-n,s=r.a-a,l=r.b-i;return function(t){return te(n+o*t,a+s*t,i+l*t)+""}},t.interpolateRound=ci,t.transform=function(e){var r=a.createElementNS(t.ns.prefix.svg,"g");return(t.transform=function(t){if(null!=t){r.setAttribute("transform",t);var e=r.transform.baseVal.consolidate()}return new ui(e?e.matrix:pi)})(e)},ui.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var pi={a:1,b:0,c:0,d:1,e:0,f:0};function di(t){return t.length?t.pop()+",":""}function gi(e,r){var n=[],a=[];return e=t.transform(e),r=t.transform(r),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push("translate(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(e.translate,r.translate,n,a),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(di(r)+"rotate(",null,")")-2,x:Ga(t,e)})):e&&r.push(di(r)+"rotate("+e+")")}(e.rotate,r.rotate,n,a),function(t,e,r,n){t!==e?n.push({i:r.push(di(r)+"skewX(",null,")")-2,x:Ga(t,e)}):e&&r.push(di(r)+"skewX("+e+")")}(e.skew,r.skew,n,a),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var a=r.push(di(r)+"scale(",null,",",null,")");n.push({i:a-4,x:Ga(t[0],e[0])},{i:a-2,x:Ga(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(di(r)+"scale("+e+")")}(e.scale,r.scale,n,a),e=r=null,function(t){for(var e,r=-1,i=a.length;++r<i;)n[(e=a[r]).i]=e.x(t);return n.join("")}}function vi(t,e){return e=(e-=t=+t)||1/e,function(r){return(r-t)/e}}function mi(t,e){return e=(e-=t=+t)||1/e,function(r){return Math.max(0,Math.min(1,(r-t)/e))}}function yi(t){for(var e=t.source,r=t.target,n=function(t,e){if(t===e)return t;var r=xi(t),n=xi(e),a=r.pop(),i=n.pop(),o=null;for(;a===i;)o=a,a=r.pop(),i=n.pop();return o}(e,r),a=[e];e!==n;)e=e.parent,a.push(e);for(var i=a.length;r!==n;)a.splice(i,0,r),r=r.parent;return a}function xi(t){for(var e=[],r=t.parent;null!=r;)e.push(t),t=r,r=r.parent;return e.push(t),e}function bi(t){t.fixed|=2}function _i(t){t.fixed&=-7}function wi(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ki(t){t.fixed&=-5}t.interpolateTransform=gi,t.layout={},t.layout.bundle=function(){return function(t){for(var e=[],r=-1,n=t.length;++r<n;)e.push(yi(t[r]));return e}},t.layout.chord=function(){var e,r,n,a,i,o,s,l={},c=0;function u(){var l,u,f,p,d,g={},v=[],m=t.range(a),y=[];for(e=[],r=[],l=0,p=-1;++p<a;){for(u=0,d=-1;++d<a;)u+=n[p][d];v.push(u),y.push(t.range(a)),l+=u}for(i&&m.sort(function(t,e){return i(v[t],v[e])}),o&&y.forEach(function(t,e){t.sort(function(t,r){return o(n[e][t],n[e][r])})}),l=(Mt-c*a)/l,u=0,p=-1;++p<a;){for(f=u,d=-1;++d<a;){var x=m[p],b=y[x][d],_=n[x][b],w=u,k=u+=_*l;g[x+"-"+b]={index:x,subindex:b,startAngle:w,endAngle:k,value:_}}r[x]={index:x,startAngle:f,endAngle:u,value:v[x]},u+=c}for(p=-1;++p<a;)for(d=p-1;++d<a;){var T=g[p+"-"+d],A=g[d+"-"+p];(T.value||A.value)&&e.push(T.value<A.value?{source:A,target:T}:{source:T,target:A})}s&&h()}function h(){e.sort(function(t,e){return s((t.source.value+t.target.value)/2,(e.source.value+e.target.value)/2)})}return l.matrix=function(t){return arguments.length?(a=(n=t)&&n.length,e=r=null,l):n},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(i=t,e=r=null,l):i},l.sortSubgroups=function(t){return arguments.length?(o=t,e=null,l):o},l.sortChords=function(t){return arguments.length?(s=t,e&&h(),l):s},l.chords=function(){return e||u(),e},l.groups=function(){return r||u(),r},l},t.layout.force=function(){var e,r,n,a,i,o,s={},l=t.dispatch("start","tick","end"),c=[1,1],u=.9,h=Ti,f=Ai,p=-30,d=Mi,g=.1,v=.64,m=[],y=[];function x(t){return function(e,r,n,a){if(e.point!==t){var i=e.cx-t.x,o=e.cy-t.y,s=a-r,l=i*i+o*o;if(s*s/v<l){if(l<d){var c=e.charge/l;t.px-=i*c,t.py-=o*c}return!0}if(e.point&&l&&l<d){c=e.pointCharge/l;t.px-=i*c,t.py-=o*c}}return!e.charge}}function b(e){e.px=t.event.x,e.py=t.event.y,s.resume()}return s.tick=function(){if((n*=.99)<.005)return e=null,l.end({type:"end",alpha:n=0}),!0;var r,s,h,f,d,v,b,_,w,k=m.length,T=y.length;for(s=0;s<T;++s)f=(h=y[s]).source,(v=(_=(d=h.target).x-f.x)*_+(w=d.y-f.y)*w)&&(_*=v=n*i[s]*((v=Math.sqrt(v))-a[s])/v,w*=v,d.x-=_*(b=f.weight+d.weight?f.weight/(f.weight+d.weight):.5),d.y-=w*b,f.x+=_*(b=1-b),f.y+=w*b);if((b=n*g)&&(_=c[0]/2,w=c[1]/2,s=-1,b))for(;++s<k;)(h=m[s]).x+=(_-h.x)*b,h.y+=(w-h.y)*b;if(p)for(!function t(e,r,n){var a=0,i=0;e.charge=0;if(!e.leaf)for(var o,s=e.nodes,l=s.length,c=-1;++c<l;)null!=(o=s[c])&&(t(o,r,n),e.charge+=o.charge,a+=o.charge*o.cx,i+=o.charge*o.cy);if(e.point){e.leaf||(e.point.x+=Math.random()-.5,e.point.y+=Math.random()-.5);var u=r*n[e.point.index];e.charge+=e.pointCharge=u,a+=u*e.point.x,i+=u*e.point.y}e.cx=a/e.charge;e.cy=i/e.charge}(r=t.geom.quadtree(m),n,o),s=-1;++s<k;)(h=m[s]).fixed||r.visit(x(h));for(s=-1;++s<k;)(h=m[s]).fixed?(h.x=h.px,h.y=h.py):(h.x-=(h.px-(h.px=h.x))*u,h.y-=(h.py-(h.py=h.y))*u);l.tick({type:"tick",alpha:n})},s.nodes=function(t){return arguments.length?(m=t,s):m},s.links=function(t){return arguments.length?(y=t,s):y},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(f="function"==typeof t?t:+t,s):f},s.friction=function(t){return arguments.length?(u=+t,s):u},s.charge=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.chargeDistance=function(t){return arguments.length?(d=t*t,s):Math.sqrt(d)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.alpha=function(t){return arguments.length?(t=+t,n?t>0?n=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:n=0})):t>0&&(l.start({type:"start",alpha:n=t}),e=Te(s.tick)),s):n},s.start=function(){var t,e,r,n=m.length,l=y.length,u=c[0],d=c[1];for(t=0;t<n;++t)(r=m[t]).index=t,r.weight=0;for(t=0;t<l;++t)"number"==typeof(r=y[t]).source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;t<n;++t)r=m[t],isNaN(r.x)&&(r.x=g("x",u)),isNaN(r.y)&&(r.y=g("y",d)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(a=[],"function"==typeof h)for(t=0;t<l;++t)a[t]=+h.call(this,y[t],t);else for(t=0;t<l;++t)a[t]=h;if(i=[],"function"==typeof f)for(t=0;t<l;++t)i[t]=+f.call(this,y[t],t);else for(t=0;t<l;++t)i[t]=f;if(o=[],"function"==typeof p)for(t=0;t<n;++t)o[t]=+p.call(this,m[t],t);else for(t=0;t<n;++t)o[t]=p;function g(r,a){if(!e){for(e=new Array(n),c=0;c<n;++c)e[c]=[];for(c=0;c<l;++c){var i=y[c];e[i.source.index].push(i.target),e[i.target.index].push(i.source)}}for(var o,s=e[t],c=-1,u=s.length;++c<u;)if(!isNaN(o=s[c][r]))return o;return Math.random()*a}return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){if(r||(r=t.behavior.drag().origin(P).on("dragstart.force",bi).on("drag.force",b).on("dragend.force",_i)),!arguments.length)return r;this.on("mouseover.force",wi).on("mouseout.force",ki).call(r)},t.rebind(s,l,"on")};var Ti=20,Ai=1,Mi=1/0;function Si(e,r){return t.rebind(e,r,"sort","children","value"),e.nodes=e,e.links=zi,e}function Ei(t,e){for(var r=[t];null!=(t=r.pop());)if(e(t),(a=t.children)&&(n=a.length))for(var n,a;--n>=0;)r.push(a[n])}function Li(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(i=t.children)&&(a=i.length))for(var a,i,o=-1;++o<a;)r.push(i[o]);for(;null!=(t=n.pop());)e(t)}function Ci(t){return t.children}function Pi(t){return t.value}function Oi(t,e){return e.value-t.value}function zi(e){return t.merge(e.map(function(t){return(t.children||[]).map(function(e){return{source:t,target:e}})}))}t.layout.hierarchy=function(){var t=Oi,e=Ci,r=Pi;function n(a){var i,o=[a],s=[];for(a.depth=0;null!=(i=o.pop());)if(s.push(i),(c=e.call(n,i,i.depth))&&(l=c.length)){for(var l,c,u;--l>=0;)o.push(u=c[l]),u.parent=i,u.depth=i.depth+1;r&&(i.value=0),i.children=c}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Li(a,function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)}),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Ei(t,function(t){t.children&&(t.value=0)}),Li(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},t.layout.partition=function(){var e=t.layout.hierarchy(),r=[1,1];function n(t,n){var a=e.call(this,t,n);return function t(e,r,n,a){var i=e.children;if(e.x=r,e.y=e.depth*a,e.dx=n,e.dy=a,i&&(o=i.length)){var o,s,l,c=-1;for(n=e.value?n/e.value:0;++c<o;)t(s=i[c],r,l=s.value*n,a),r+=l}}(a[0],0,r[0],r[1]/function t(e){var r=e.children,n=0;if(r&&(a=r.length))for(var a,i=-1;++i<a;)n=Math.max(n,t(r[i]));return 1+n}(a[0])),a}return n.size=function(t){return arguments.length?(r=t,n):r},Si(n,e)},t.layout.pie=function(){var e=Number,r=Ii,n=0,a=Mt,i=0;function o(s){var l,c=s.length,u=s.map(function(t,r){return+e.call(o,t,r)}),h=+("function"==typeof n?n.apply(this,arguments):n),f=("function"==typeof a?a.apply(this,arguments):a)-h,p=Math.min(Math.abs(f)/c,+("function"==typeof i?i.apply(this,arguments):i)),d=p*(f<0?-1:1),g=t.sum(u),v=g?(f-c*d)/g:0,m=t.range(c),y=[];return null!=r&&m.sort(r===Ii?function(t,e){return u[e]-u[t]}:function(t,e){return r(s[t],s[e])}),m.forEach(function(t){y[t]={data:s[t],value:l=u[t],startAngle:h,endAngle:h+=l*v+d,padAngle:p}}),y}return o.value=function(t){return arguments.length?(e=t,o):e},o.sort=function(t){return arguments.length?(r=t,o):r},o.startAngle=function(t){return arguments.length?(n=t,o):n},o.endAngle=function(t){return arguments.length?(a=t,o):a},o.padAngle=function(t){return arguments.length?(i=t,o):i},o};var Ii={};function Di(t){return t.x}function Ri(t){return t.y}function Fi(t,e,r){t.y0=e,t.y=r}t.layout.stack=function(){var e=P,r=ji,n=Vi,a=Fi,i=Di,o=Ri;function s(l,c){if(!(p=l.length))return l;var u=l.map(function(t,r){return e.call(s,t,r)}),h=u.map(function(t){return t.map(function(t,e){return[i.call(s,t,e),o.call(s,t,e)]})}),f=r.call(s,h,c);u=t.permute(u,f),h=t.permute(h,f);var p,d,g,v,m=n.call(s,h,c),y=u[0].length;for(g=0;g<y;++g)for(a.call(s,u[0][g],v=m[g],h[0][g][1]),d=1;d<p;++d)a.call(s,u[d][g],v+=h[d-1][g][1],h[d][g][1]);return l}return s.values=function(t){return arguments.length?(e=t,s):e},s.order=function(t){return arguments.length?(r="function"==typeof t?t:Bi.get(t)||ji,s):r},s.offset=function(t){return arguments.length?(n="function"==typeof t?t:Ni.get(t)||Vi,s):n},s.x=function(t){return arguments.length?(i=t,s):i},s.y=function(t){return arguments.length?(o=t,s):o},s.out=function(t){return arguments.length?(a=t,s):a},s};var Bi=t.map({"inside-out":function(e){var r,n,a=e.length,i=e.map(Ui),o=e.map(qi),s=t.range(a).sort(function(t,e){return i[t]-i[e]}),l=0,c=0,u=[],h=[];for(r=0;r<a;++r)n=s[r],l<c?(l+=o[n],u.push(n)):(c+=o[n],h.push(n));return h.reverse().concat(u)},reverse:function(e){return t.range(e.length).reverse()},default:ji}),Ni=t.map({silhouette:function(t){var e,r,n,a=t.length,i=t[0].length,o=[],s=0,l=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];n>s&&(s=n),o.push(n)}for(r=0;r<i;++r)l[r]=(s-o[r])/2;return l},wiggle:function(t){var e,r,n,a,i,o,s,l,c,u=t.length,h=t[0],f=h.length,p=[];for(p[0]=l=c=0,r=1;r<f;++r){for(e=0,a=0;e<u;++e)a+=t[e][r][1];for(e=0,i=0,s=h[r][0]-h[r-1][0];e<u;++e){for(n=0,o=(t[e][r][1]-t[e][r-1][1])/(2*s);n<e;++n)o+=(t[n][r][1]-t[n][r-1][1])/s;i+=o*t[e][r][1]}p[r]=l-=a?i/a*s:0,l<c&&(c=l)}for(r=0;r<f;++r)p[r]-=c;return p},expand:function(t){var e,r,n,a=t.length,i=t[0].length,o=1/a,s=[];for(r=0;r<i;++r){for(e=0,n=0;e<a;e++)n+=t[e][r][1];if(n)for(e=0;e<a;e++)t[e][r][1]/=n;else for(e=0;e<a;e++)t[e][r][1]=o}for(r=0;r<i;++r)s[r]=0;return s},zero:Vi});function ji(e){return t.range(e.length)}function Vi(t){for(var e=-1,r=t[0].length,n=[];++e<r;)n[e]=0;return n}function Ui(t){for(var e,r=1,n=0,a=t[0][1],i=t.length;r<i;++r)(e=t[r][1])>a&&(n=r,a=e);return n}function qi(t){return t.reduce(Hi,0)}function Hi(t,e){return t+e[1]}function Gi(t,e){return Yi(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function Yi(t,e){for(var r=-1,n=+t[0],a=(t[1]-n)/e,i=[];++r<=e;)i[r]=a*r+n;return i}function Wi(e){return[t.min(e),t.max(e)]}function Xi(t,e){return t.value-e.value}function Zi(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Ji(t,e){t._pack_next=e,e._pack_prev=t}function Ki(t,e){var r=e.x-t.x,n=e.y-t.y,a=t.r+e.r;return.999*a*a>r*r+n*n}function Qi(t){if((e=t.children)&&(l=e.length)){var e,r,n,a,i,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach($i),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(eo(r,n,a=e[2]),x(a),Zi(r,a),r._pack_prev=a,Zi(a,n),n=r._pack_next,i=3;i<l;i++){eo(r,n,a=e[i]);var p=0,d=1,g=1;for(o=n._pack_next;o!==n;o=o._pack_next,d++)if(Ki(o,a)){p=1;break}if(1==p)for(s=r._pack_prev;s!==o._pack_prev&&!Ki(s,a);s=s._pack_prev,g++);p?(d<g||d==g&&n.r<r.r?Ji(r,n=o):Ji(r=s,n),i--):(Zi(r,a),n=a,x(a))}var v=(c+u)/2,m=(h+f)/2,y=0;for(i=0;i<l;i++)(a=e[i]).x-=v,a.y-=m,y=Math.max(y,a.r+Math.sqrt(a.x*a.x+a.y*a.y));t.r=y,e.forEach(to)}function x(t){c=Math.min(t.x-t.r,c),u=Math.max(t.x+t.r,u),h=Math.min(t.y-t.r,h),f=Math.max(t.y+t.r,f)}}function $i(t){t._pack_next=t._pack_prev=t}function to(t){delete t._pack_next,delete t._pack_prev}function eo(t,e,r){var n=t.r+r.r,a=e.x-t.x,i=e.y-t.y;if(n&&(a||i)){var o=e.r+r.r,s=a*a+i*i,l=.5+((n*=n)-(o*=o))/(2*s),c=Math.sqrt(Math.max(0,2*o*(n+s)-(n-=s)*n-o*o))/(2*s);r.x=t.x+l*a+c*i,r.y=t.y+l*i-c*a}else r.x=t.x+n,r.y=t.y}function ro(t,e){return t.parent==e.parent?1:2}function no(t){var e=t.children;return e.length?e[0]:t.t}function ao(t){var e,r=t.children;return(e=r.length)?r[e-1]:t.t}function io(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function oo(t,e,r){return t.a.parent===e.parent?t.a:r}function so(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function lo(t,e){var r=t.x+e[3],n=t.y+e[0],a=t.dx-e[1]-e[3],i=t.dy-e[0]-e[2];return a<0&&(r+=a/2,a=0),i<0&&(n+=i/2,i=0),{x:r,y:n,dx:a,dy:i}}function co(t){var e=t[0],r=t[t.length-1];return e<r?[e,r]:[r,e]}function uo(t){return t.rangeExtent?t.rangeExtent():co(t.range())}function ho(t,e,r,n){var a=r(t[0],t[1]),i=n(e[0],e[1]);return function(t){return i(a(t))}}function fo(t,e){var r,n=0,a=t.length-1,i=t[n],o=t[a];return o<i&&(r=n,n=a,a=r,r=i,i=o,o=r),t[n]=e.floor(i),t[a]=e.ceil(o),t}function po(t){return t?{floor:function(e){return Math.floor(e/t)*t},ceil:function(e){return Math.ceil(e/t)*t}}:go}t.layout.histogram=function(){var e=!0,r=Number,n=Wi,a=Gi;function i(i,o){for(var s,l,c=[],u=i.map(r,this),h=n.call(this,u,o),f=a.call(this,h,u,o),p=(o=-1,u.length),d=f.length-1,g=e?1:1/p;++o<d;)(s=c[o]=[]).dx=f[o+1]-(s.x=f[o]),s.y=0;if(d>0)for(o=-1;++o<p;)(l=u[o])>=h[0]&&l<=h[1]&&((s=c[t.bisect(f,l,1,d)-1]).y+=g,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(r=t,i):r},i.range=function(t){return arguments.length?(n=ve(t),i):n},i.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return Yi(e,t)}:ve(t),i):a},i.frequency=function(t){return arguments.length?(e=!!t,i):e},i},t.layout.pack=function(){var e,r=t.layout.hierarchy().sort(Xi),n=0,a=[1,1];function i(t,i){var o=r.call(this,t,i),s=o[0],l=a[0],c=a[1],u=null==e?Math.sqrt:"function"==typeof e?e:function(){return e};if(s.x=s.y=0,Li(s,function(t){t.r=+u(t.value)}),Li(s,Qi),n){var h=n*(e?1:Math.max(2*s.r/l,2*s.r/c))/2;Li(s,function(t){t.r+=h}),Li(s,Qi),Li(s,function(t){t.r-=h})}return function t(e,r,n,a){var i=e.children;e.x=r+=a*e.x;e.y=n+=a*e.y;e.r*=a;if(i)for(var o=-1,s=i.length;++o<s;)t(i[o],r,n,a)}(s,l/2,c/2,e?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(a=t,i):a},i.radius=function(t){return arguments.length?(e=null==t||"function"==typeof t?t:+t,i):e},i.padding=function(t){return arguments.length?(n=+t,i):n},Si(i,r)},t.layout.tree=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=null;function i(t,i){var c=e.call(this,t,i),u=c[0],h=function(t){var e,r={A:null,children:[t]},n=[r];for(;null!=(e=n.pop());)for(var a,i=e.children,o=0,s=i.length;o<s;++o)n.push((i[o]=a={_:i[o],parent:e,children:(a=i[o].children)&&a.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=a);return r.children[0]}(u);if(Li(h,o),h.parent.m=-h.z,Ei(h,s),a)Ei(u,l);else{var f=u,p=u,d=u;Ei(u,function(t){t.x<f.x&&(f=t),t.x>p.x&&(p=t),t.depth>d.depth&&(d=t)});var g=r(f,p)/2-f.x,v=n[0]/(p.x+r(p,f)/2+g),m=n[1]/(d.depth||1);Ei(u,function(t){t.x=(t.x+g)*v,t.y=t.depth*m})}return c}function o(t){var e=t.children,n=t.parent.children,a=t.i?n[t.i-1]:null;if(e.length){!function(t){var e,r=0,n=0,a=t.children,i=a.length;for(;--i>=0;)(e=a[i]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var i=(e[0].z+e[e.length-1].z)/2;a?(t.z=a.z+r(t._,a._),t.m=t.z-i):t.z=i}else a&&(t.z=a.z+r(t._,a._));t.parent.A=function(t,e,n){if(e){for(var a,i=t,o=t,s=e,l=i.parent.children[0],c=i.m,u=o.m,h=s.m,f=l.m;s=ao(s),i=no(i),s&&i;)l=no(l),(o=ao(o)).a=t,(a=s.z+h-i.z-c+r(s._,i._))>0&&(io(oo(s,t,n),t,a),c+=a,u+=a),h+=s.m,c+=i.m,f+=l.m,u+=o.m;s&&!ao(o)&&(o.t=s,o.m+=h-u),i&&!no(l)&&(l.t=i,l.m+=c-f,n=t)}return n}(t,a,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=n[0],t.y=t.depth*n[1]}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t)?l:null,i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null==(n=t)?null:l,i):a?n:null},Si(i,e)},t.layout.cluster=function(){var e=t.layout.hierarchy().sort(null).value(null),r=ro,n=[1,1],a=!1;function i(i,o){var s,l=e.call(this,i,o),c=l[0],u=0;Li(c,function(e){var n=e.children;n&&n.length?(e.x=function(t){return t.reduce(function(t,e){return t+e.x},0)/t.length}(n),e.y=function(e){return 1+t.max(e,function(t){return t.y})}(n)):(e.x=s?u+=r(e,s):0,e.y=0,s=e)});var h=function t(e){var r=e.children;return r&&r.length?t(r[0]):e}(c),f=function t(e){var r,n=e.children;return n&&(r=n.length)?t(n[r-1]):e}(c),p=h.x-r(h,f)/2,d=f.x+r(f,h)/2;return Li(c,a?function(t){t.x=(t.x-c.x)*n[0],t.y=(c.y-t.y)*n[1]}:function(t){t.x=(t.x-p)/(d-p)*n[0],t.y=(1-(c.y?t.y/c.y:1))*n[1]}),l}return i.separation=function(t){return arguments.length?(r=t,i):r},i.size=function(t){return arguments.length?(a=null==(n=t),i):a?null:n},i.nodeSize=function(t){return arguments.length?(a=null!=(n=t),i):a?n:null},Si(i,e)},t.layout.treemap=function(){var e,r=t.layout.hierarchy(),n=Math.round,a=[1,1],i=null,o=so,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,a=-1,i=t.length;++a<i;)n=(r=t[a]).value*(e<0?0:e),r.area=isNaN(n)||n<=0?0:n}function h(t){var e=t.children;if(e&&e.length){var r,n,a,i=o(t),s=[],c=e.slice(),f=1/0,g="slice"===l?i.dx:"dice"===l?i.dy:"slice-dice"===l?1&t.depth?i.dy:i.dx:Math.min(i.dx,i.dy);for(u(c,i.dx*i.dy/t.value),s.area=0;(a=c.length)>0;)s.push(r=c[a-1]),s.area+=r.area,"squarify"!==l||(n=p(s,g))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,g,i,!1),g=Math.min(i.dx,i.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,g,i,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),a=e.slice(),i=[];for(u(a,n.dx*n.dy/t.value),i.area=0;r=a.pop();)i.push(r),i.area+=r.area,null!=r.z&&(d(i,r.z?n.dx:n.dy,n,!a.length),i.length=i.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,a=0,i=1/0,o=-1,s=t.length;++o<s;)(r=t[o].area)&&(r<i&&(i=r),r>a&&(a=r));return e*=e,(n*=n)?Math.max(e*a*c/n,n/(e*i*c)):1/0}function d(t,e,r,a){var i,o=-1,s=t.length,l=r.x,c=r.y,u=e?n(t.area/e):0;if(e==r.dx){for((a||u>r.dy)&&(u=r.dy);++o<s;)(i=t[o]).x=l,i.y=c,i.dy=u,l+=i.dx=Math.min(r.x+r.dx-l,u?n(i.area/u):0);i.z=!0,i.dx+=r.x+r.dx-l,r.y+=u,r.dy-=u}else{for((a||u>r.dx)&&(u=r.dx);++o<s;)(i=t[o]).x=l,i.y=c,i.dx=u,c+=i.dy=Math.min(r.y+r.dy-c,u?n(i.area/u):0);i.z=!1,i.dy+=r.y+r.dy-c,r.x+=u,r.dx-=u}}function g(t){var n=e||r(t),i=n[0];return i.x=i.y=0,i.value?(i.dx=a[0],i.dy=a[1]):i.dx=i.dy=0,e&&r.revalue(i),u([i],i.dx*i.dy/i.value),(e?f:h)(i),s&&(e=n),n}return g.size=function(t){return arguments.length?(a=t,g):a},g.padding=function(t){if(!arguments.length)return i;function e(e){return lo(e,t)}var r;return o=null==(i=t)?so:"function"==(r=typeof t)?function(e){var r=t.call(g,e,e.depth);return null==r?so(e):lo(e,"number"==typeof r?[r,r,r,r]:r)}:"number"===r?(t=[t,t,t,t],e):e,g},g.round=function(t){return arguments.length?(n=t?Math.round:Number,g):n!=Number},g.sticky=function(t){return arguments.length?(s=t,e=null,g):s},g.ratio=function(t){return arguments.length?(c=t,g):c},g.mode=function(t){return arguments.length?(l=t+"",g):l},Si(g,r)},t.random={normal:function(t,e){var r=arguments.length;return r<2&&(e=1),r<1&&(t=0),function(){var r,n,a;do{a=(r=2*Math.random()-1)*r+(n=2*Math.random()-1)*n}while(!a||a>1);return t+e*r*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=t.random.normal.apply(t,arguments);return function(){return Math.exp(e())}},bates:function(e){var r=t.random.irwinHall(e);return function(){return r()/e}},irwinHall:function(t){return function(){for(var e=0,r=0;r<t;r++)e+=Math.random();return e}}},t.scale={};var go={floor:P,ceil:P};function vo(e,r,n,a){var i=[],o=[],s=0,l=Math.min(e.length,r.length)-1;for(e[l]<e[0]&&(e=e.slice().reverse(),r=r.slice().reverse());++s<=l;)i.push(n(e[s-1],e[s])),o.push(a(r[s-1],r[s]));return function(r){var n=t.bisect(e,r,1,l)-1;return o[n](i[n](r))}}function mo(e,r){return t.rebind(e,r,"range","rangeRound","interpolate","clamp")}function yo(t,e){return fo(t,po(xo(t,e)[2])),fo(t,po(xo(t,e)[2])),t}function xo(t,e){null==e&&(e=10);var r=co(t),n=r[1]-r[0],a=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),i=e/n*a;return i<=.15?a*=10:i<=.35?a*=5:i<=.75&&(a*=2),r[0]=Math.ceil(r[0]/a)*a,r[1]=Math.floor(r[1]/a)*a+.5*a,r[2]=a,r}function bo(e,r){return t.range.apply(t,xo(e,r))}function _o(e,r,n){var a=xo(e,r);if(n){var i=Ce.exec(n);if(i.shift(),"s"===i[8]){var o=t.formatPrefix(Math.max(y(a[0]),y(a[1])));return i[7]||(i[7]="."+ko(o.scale(a[2]))),i[8]="f",n=t.format(i.join("")),function(t){return n(o.scale(t))+o.symbol}}i[7]||(i[7]="."+function(t,e){var r=ko(e[2]);return t in wo?Math.abs(r-ko(Math.max(y(e[0]),y(e[1]))))+ +("e"!==t):r-2*("%"===t)}(i[8],a)),n=i.join("")}else n=",."+ko(a[2])+"f";return t.format(n)}t.scale.linear=function(){return function t(e,r,n,a){var i,o;function s(){var t=Math.min(e.length,r.length)>2?vo:ho,s=a?mi:vi;return i=t(e,r,s,n),o=t(r,e,s,Za),l}function l(t){return i(t)}l.invert=function(t){return o(t)};l.domain=function(t){return arguments.length?(e=t.map(Number),s()):e};l.range=function(t){return arguments.length?(r=t,s()):r};l.rangeRound=function(t){return l.range(t).interpolate(ci)};l.clamp=function(t){return arguments.length?(a=t,s()):a};l.interpolate=function(t){return arguments.length?(n=t,s()):n};l.ticks=function(t){return bo(e,t)};l.tickFormat=function(t,r){return _o(e,t,r)};l.nice=function(t){return yo(e,t),s()};l.copy=function(){return t(e,r,n,a)};return s()}([0,1],[0,1],Za,!1)};var wo={s:1,g:1,p:1,r:1,e:1};function ko(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}t.scale.log=function(){return function e(r,n,a,i){function o(t){return(a?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function s(t){return a?Math.pow(n,t):-Math.pow(n,-t)}function l(t){return r(o(t))}l.invert=function(t){return s(r.invert(t))};l.domain=function(t){return arguments.length?(a=t[0]>=0,r.domain((i=t.map(Number)).map(o)),l):i};l.base=function(t){return arguments.length?(n=+t,r.domain(i.map(o)),l):n};l.nice=function(){var t=fo(i.map(o),a?Math:Ao);return r.domain(t),i=t.map(s),l};l.ticks=function(){var t=co(i),e=[],r=t[0],l=t[1],c=Math.floor(o(r)),u=Math.ceil(o(l)),h=n%1?2:n;if(isFinite(u-c)){if(a){for(;c<u;c++)for(var f=1;f<h;f++)e.push(s(c)*f);e.push(s(c))}else for(e.push(s(c));c++<u;)for(var f=h-1;f>0;f--)e.push(s(c)*f);for(c=0;e[c]<r;c++);for(u=e.length;e[u-1]>l;u--);e=e.slice(c,u)}return e};l.tickFormat=function(e,r){if(!arguments.length)return To;arguments.length<2?r=To:"function"!=typeof r&&(r=t.format(r));var a=Math.max(1,n*e/l.ticks().length);return function(t){var e=t/s(Math.round(o(t)));return e*n<n-.5&&(e*=n),e<=a?r(t):""}};l.copy=function(){return e(r.copy(),n,a,i)};return mo(l,r)}(t.scale.linear().domain([0,1]),10,!0,[1,10])};var To=t.format(".0e"),Ao={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function Mo(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}t.scale.pow=function(){return function t(e,r,n){var a=Mo(r),i=Mo(1/r);function o(t){return e(a(t))}o.invert=function(t){return i(e.invert(t))};o.domain=function(t){return arguments.length?(e.domain((n=t.map(Number)).map(a)),o):n};o.ticks=function(t){return bo(n,t)};o.tickFormat=function(t,e){return _o(n,t,e)};o.nice=function(t){return o.domain(yo(n,t))};o.exponent=function(t){return arguments.length?(a=Mo(r=t),i=Mo(1/r),e.domain(n.map(a)),o):r};o.copy=function(){return t(e.copy(),r,n)};return mo(o,e)}(t.scale.linear(),1,[0,1])},t.scale.sqrt=function(){return t.scale.pow().exponent(.5)},t.scale.ordinal=function(){return function e(r,n){var a,i,o;function s(t){return i[((a.get(t)||("range"===n.t?a.set(t,r.push(t)):NaN))-1)%i.length]}function l(e,n){return t.range(r.length).map(function(t){return e+n*t})}s.domain=function(t){if(!arguments.length)return r;r=[],a=new b;for(var e,i=-1,o=t.length;++i<o;)a.has(e=t[i])||a.set(e,r.push(e));return s[n.t].apply(s,n.a)};s.range=function(t){return arguments.length?(i=t,o=0,n={t:"range",a:arguments},s):i};s.rangePoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=(a+c)/2,0):(c-a)/(r.length-1+e);return i=l(a+u*e/2,u),o=0,n={t:"rangePoints",a:arguments},s};s.rangeRoundPoints=function(t,e){arguments.length<2&&(e=0);var a=t[0],c=t[1],u=r.length<2?(a=c=Math.round((a+c)/2),0):(c-a)/(r.length-1+e)|0;return i=l(a+Math.round(u*e/2+(c-a-(r.length-1+e)*u)/2),u),o=0,n={t:"rangeRoundPoints",a:arguments},s};s.rangeBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=(h-u)/(r.length-e+2*a);return i=l(u+f*a,f),c&&i.reverse(),o=f*(1-e),n={t:"rangeBands",a:arguments},s};s.rangeRoundBands=function(t,e,a){arguments.length<2&&(e=0),arguments.length<3&&(a=e);var c=t[1]<t[0],u=t[c-0],h=t[1-c],f=Math.floor((h-u)/(r.length-e+2*a));return i=l(u+Math.round((h-u-(r.length-e)*f)/2),f),c&&i.reverse(),o=Math.round(f*(1-e)),n={t:"rangeRoundBands",a:arguments},s};s.rangeBand=function(){return o};s.rangeExtent=function(){return co(n.a[0])};s.copy=function(){return e(r,n)};return s.domain(r)}([],{t:"range",a:[[]]})},t.scale.category10=function(){return t.scale.ordinal().range(So)},t.scale.category20=function(){return t.scale.ordinal().range(Eo)},t.scale.category20b=function(){return t.scale.ordinal().range(Lo)},t.scale.category20c=function(){return t.scale.ordinal().range(Co)};var So=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(se),Eo=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(se),Lo=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(se),Co=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(se);function Po(){return 0}t.scale.quantile=function(){return function e(r,n){var a;function i(){var e=0,i=n.length;for(a=[];++e<i;)a[e-1]=t.quantile(r,e/i);return o}function o(e){if(!isNaN(e=+e))return n[t.bisect(a,e)]}o.domain=function(t){return arguments.length?(r=t.map(p).filter(d).sort(f),i()):r};o.range=function(t){return arguments.length?(n=t,i()):n};o.quantiles=function(){return a};o.invertExtent=function(t){return(t=n.indexOf(t))<0?[NaN,NaN]:[t>0?a[t-1]:r[0],t<a.length?a[t]:r[r.length-1]]};o.copy=function(){return e(r,n)};return i()}([],[])},t.scale.quantize=function(){return function t(e,r,n){var a,i;function o(t){return n[Math.max(0,Math.min(i,Math.floor(a*(t-e))))]}function s(){return a=n.length/(r-e),i=n.length-1,o}o.domain=function(t){return arguments.length?(e=+t[0],r=+t[t.length-1],s()):[e,r]};o.range=function(t){return arguments.length?(n=t,s()):n};o.invertExtent=function(t){return[t=(t=n.indexOf(t))<0?NaN:t/a+e,t+1/a]};o.copy=function(){return t(e,r,n)};return s()}(0,1,[0,1])},t.scale.threshold=function(){return function e(r,n){function a(e){if(e<=e)return n[t.bisect(r,e)]}a.domain=function(t){return arguments.length?(r=t,a):r};a.range=function(t){return arguments.length?(n=t,a):n};a.invertExtent=function(t){return t=n.indexOf(t),[r[t-1],r[t]]};a.copy=function(){return e(r,n)};return a}([.5],[0,1])},t.scale.identity=function(){return function t(e){function r(t){return+t}r.invert=r;r.domain=r.range=function(t){return arguments.length?(e=t.map(r),r):e};r.ticks=function(t){return bo(e,t)};r.tickFormat=function(t,r){return _o(e,t,r)};r.copy=function(){return t(e)};return r}([0,1])},t.svg={},t.svg.arc=function(){var t=zo,e=Io,r=Po,n=Oo,a=Do,i=Ro,o=Fo;function s(){var s=Math.max(0,+t.apply(this,arguments)),c=Math.max(0,+e.apply(this,arguments)),u=a.apply(this,arguments)-Et,h=i.apply(this,arguments)-Et,f=Math.abs(h-u),p=u>h?0:1;if(c<s&&(d=c,c=s,s=d),f>=St)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,g,v,m,y,x,b,_,w,k,T,A,M=0,S=0,E=[];if((m=(+o.apply(this,arguments)||0)/2)&&(v=n===Oo?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=It(v/c*Math.sin(m))),s&&(M=It(v/s*Math.sin(m)))),c){y=c*Math.cos(u+S),x=c*Math.sin(u+S),b=c*Math.cos(h-S),_=c*Math.sin(h-S);var L=Math.abs(h-u-2*S)<=At?0:1;if(S&&Bo(y,x,b,_)===p^L){var C=(u+h)/2;y=c*Math.cos(C),x=c*Math.sin(C),b=_=null}}else y=x=0;if(s){w=s*Math.cos(h-M),k=s*Math.sin(h-M),T=s*Math.cos(u+M),A=s*Math.sin(u+M);var P=Math.abs(u-h+2*M)<=At?0:1;if(M&&Bo(w,k,T,A)===1-p^P){var O=(u+h)/2;w=s*Math.cos(O),k=s*Math.sin(O),T=A=null}}else w=k=0;if(f>kt&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){g=s<c^p?0:1;var z=d,I=d;if(f<At){var D=null==T?[w,k]:null==b?[y,x]:sa([y,x],[T,A],[b,_],[w,k]),R=y-D[0],F=x-D[1],B=b-D[0],N=_-D[1],j=1/Math.sin(Math.acos((R*B+F*N)/(Math.sqrt(R*R+F*F)*Math.sqrt(B*B+N*N)))/2),V=Math.sqrt(D[0]*D[0]+D[1]*D[1]);I=Math.min(d,(s-V)/(j-1)),z=Math.min(d,(c-V)/(j+1))}if(null!=b){var U=No(null==T?[w,k]:[T,A],[y,x],c,z,p),q=No([b,_],[w,k],c,z,p);d===z?E.push("M",U[0],"A",z,",",z," 0 0,",g," ",U[1],"A",c,",",c," 0 ",1-p^Bo(U[1][0],U[1][1],q[1][0],q[1][1]),",",p," ",q[1],"A",z,",",z," 0 0,",g," ",q[0]):E.push("M",U[0],"A",z,",",z," 0 1,",g," ",q[0])}else E.push("M",y,",",x);if(null!=T){var H=No([y,x],[T,A],s,-I,p),G=No([w,k],null==b?[y,x]:[b,_],s,-I,p);d===I?E.push("L",G[0],"A",I,",",I," 0 0,",g," ",G[1],"A",s,",",s," 0 ",p^Bo(G[1][0],G[1][1],H[1][0],H[1][1]),",",1-p," ",H[1],"A",I,",",I," 0 0,",g," ",H[0]):E.push("L",G[0],"A",I,",",I," 0 0,",g," ",H[0])}else E.push("L",w,",",k)}else E.push("M",y,",",x),null!=b&&E.push("A",c,",",c," 0 ",L,",",p," ",b,",",_),E.push("L",w,",",k),null!=T&&E.push("A",s,",",s," 0 ",P,",",1-p," ",T,",",A);return E.push("Z"),E.join("")}function l(t,e){return"M0,"+t+"A"+t+","+t+" 0 1,"+e+" 0,"+-t+"A"+t+","+t+" 0 1,"+e+" 0,"+t}return s.innerRadius=function(e){return arguments.length?(t=ve(e),s):t},s.outerRadius=function(t){return arguments.length?(e=ve(t),s):e},s.cornerRadius=function(t){return arguments.length?(r=ve(t),s):r},s.padRadius=function(t){return arguments.length?(n=t==Oo?Oo:ve(t),s):n},s.startAngle=function(t){return arguments.length?(a=ve(t),s):a},s.endAngle=function(t){return arguments.length?(i=ve(t),s):i},s.padAngle=function(t){return arguments.length?(o=ve(t),s):o},s.centroid=function(){var r=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +i.apply(this,arguments))/2-Et;return[Math.cos(n)*r,Math.sin(n)*r]},s};var Oo="auto";function zo(t){return t.innerRadius}function Io(t){return t.outerRadius}function Do(t){return t.startAngle}function Ro(t){return t.endAngle}function Fo(t){return t&&t.padAngle}function Bo(t,e,r,n){return(t-r)*e-(e-n)*t>0?0:1}function No(t,e,r,n,a){var i=t[0]-e[0],o=t[1]-e[1],s=(a?n:-n)/Math.sqrt(i*i+o*o),l=s*o,c=-s*i,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,g=(h+p)/2,v=f-u,m=p-h,y=v*v+m*m,x=r-n,b=u*p-f*h,_=(m<0?-1:1)*Math.sqrt(Math.max(0,x*x*y-b*b)),w=(b*m-v*_)/y,k=(-b*v-m*_)/y,T=(b*m+v*_)/y,A=(-b*v+m*_)/y,M=w-d,S=k-g,E=T-d,L=A-g;return M*M+S*S>E*E+L*L&&(w=T,k=A),[[w-l,k-c],[w*r/x,k*r/x]]}function jo(t){var e=ea,r=ra,n=Yr,a=Uo,i=a.key,o=.7;function s(i){var s,l=[],c=[],u=-1,h=i.length,f=ve(e),p=ve(r);function d(){l.push("M",a(t(c),o))}for(;++u<h;)n.call(this,s=i[u],u)?c.push([+f.call(this,s,u),+p.call(this,s,u)]):c.length&&(d(),c=[]);return c.length&&d(),l.length?l.join(""):null}return s.x=function(t){return arguments.length?(e=t,s):e},s.y=function(t){return arguments.length?(r=t,s):r},s.defined=function(t){return arguments.length?(n=t,s):n},s.interpolate=function(t){return arguments.length?(i="function"==typeof t?a=t:(a=Vo.get(t)||Uo).key,s):i},s.tension=function(t){return arguments.length?(o=t,s):o},s}t.svg.line=function(){return jo(P)};var Vo=t.map({linear:Uo,"linear-closed":qo,step:function(t){var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];for(;++e<r;)a.push("H",(n[0]+(n=t[e])[0])/2,"V",n[1]);r>1&&a.push("H",n[0]);return a.join("")},"step-before":Ho,"step-after":Go,basis:Xo,"basis-open":function(t){if(t.length<4)return Uo(t);var e,r=[],n=-1,a=t.length,i=[0],o=[0];for(;++n<3;)e=t[n],i.push(e[0]),o.push(e[1]);r.push(Zo(Qo,i)+","+Zo(Qo,o)),--n;for(;++n<a;)e=t[n],i.shift(),i.push(e[0]),o.shift(),o.push(e[1]),$o(r,i,o);return r.join("")},"basis-closed":function(t){var e,r,n=-1,a=t.length,i=a+4,o=[],s=[];for(;++n<4;)r=t[n%a],o.push(r[0]),s.push(r[1]);e=[Zo(Qo,o),",",Zo(Qo,s)],--n;for(;++n<i;)r=t[n%a],o.shift(),o.push(r[0]),s.shift(),s.push(r[1]),$o(e,o,s);return e.join("")},bundle:function(t,e){var r=t.length-1;if(r)for(var n,a,i=t[0][0],o=t[0][1],s=t[r][0]-i,l=t[r][1]-o,c=-1;++c<=r;)n=t[c],a=c/r,n[0]=e*n[0]+(1-e)*(i+a*s),n[1]=e*n[1]+(1-e)*(o+a*l);return Xo(t)},cardinal:function(t,e){return t.length<3?Uo(t):t[0]+Yo(t,Wo(t,e))},"cardinal-open":function(t,e){return t.length<4?Uo(t):t[1]+Yo(t.slice(1,-1),Wo(t,e))},"cardinal-closed":function(t,e){return t.length<3?qo(t):t[0]+Yo((t.push(t[0]),t),Wo([t[t.length-2]].concat(t,[t[1]]),e))},monotone:function(t){return t.length<3?Uo(t):t[0]+Yo(t,function(t){var e,r,n,a,i=[],o=function(t){var e=0,r=t.length-1,n=[],a=t[0],i=t[1],o=n[0]=ts(a,i);for(;++e<r;)n[e]=(o+(o=ts(a=i,i=t[e+1])))/2;return n[e]=o,n}(t),s=-1,l=t.length-1;for(;++s<l;)e=ts(t[s],t[s+1]),y(e)<kt?o[s]=o[s+1]=0:(r=o[s]/e,n=o[s+1]/e,(a=r*r+n*n)>9&&(a=3*e/Math.sqrt(a),o[s]=a*r,o[s+1]=a*n));s=-1;for(;++s<=l;)a=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),i.push([a||0,o[s]*a||0]);return i}(t))}});function Uo(t){return t.length>1?t.join("L"):t+"Z"}function qo(t){return t.join("L")+"Z"}function Ho(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e<r;)a.push("V",(n=t[e])[1],"H",n[0]);return a.join("")}function Go(t){for(var e=0,r=t.length,n=t[0],a=[n[0],",",n[1]];++e<r;)a.push("H",(n=t[e])[0],"V",n[1]);return a.join("")}function Yo(t,e){if(e.length<1||t.length!=e.length&&t.length!=e.length+2)return Uo(t);var r=t.length!=e.length,n="",a=t[0],i=t[1],o=e[0],s=o,l=1;if(r&&(n+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],a=t[1],l=2),e.length>1){s=e[1],i=t[l],l++,n+="C"+(a[0]+o[0])+","+(a[1]+o[1])+","+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1];for(var c=2;c<e.length;c++,l++)i=t[l],s=e[c],n+="S"+(i[0]-s[0])+","+(i[1]-s[1])+","+i[0]+","+i[1]}if(r){var u=t[l];n+="Q"+(i[0]+2*s[0]/3)+","+(i[1]+2*s[1]/3)+","+u[0]+","+u[1]}return n}function Wo(t,e){for(var r,n=[],a=(1-e)/2,i=t[0],o=t[1],s=1,l=t.length;++s<l;)r=i,i=o,o=t[s],n.push([a*(o[0]-r[0]),a*(o[1]-r[1])]);return n}function Xo(t){if(t.length<3)return Uo(t);var e=1,r=t.length,n=t[0],a=n[0],i=n[1],o=[a,a,a,(n=t[1])[0]],s=[i,i,i,n[1]],l=[a,",",i,"L",Zo(Qo,o),",",Zo(Qo,s)];for(t.push(t[r-1]);++e<=r;)n=t[e],o.shift(),o.push(n[0]),s.shift(),s.push(n[1]),$o(l,o,s);return t.pop(),l.push("L",n),l.join("")}function Zo(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}Vo.forEach(function(t,e){e.key=t,e.closed=/-closed$/.test(t)});var Jo=[0,2/3,1/3,0],Ko=[0,1/3,2/3,0],Qo=[0,1/6,2/3,1/6];function $o(t,e,r){t.push("C",Zo(Jo,e),",",Zo(Jo,r),",",Zo(Ko,e),",",Zo(Ko,r),",",Zo(Qo,e),",",Zo(Qo,r))}function ts(t,e){return(e[1]-t[1])/(e[0]-t[0])}function es(t){for(var e,r,n,a=-1,i=t.length;++a<i;)r=(e=t[a])[0],n=e[1]-Et,e[0]=r*Math.cos(n),e[1]=r*Math.sin(n);return t}function rs(t){var e=ea,r=ea,n=0,a=ra,i=Yr,o=Uo,s=o.key,l=o,c="L",u=.7;function h(s){var h,f,p,d=[],g=[],v=[],m=-1,y=s.length,x=ve(e),b=ve(n),_=e===r?function(){return f}:ve(r),w=n===a?function(){return p}:ve(a);function k(){d.push("M",o(t(v),u),c,l(t(g.reverse()),u),"Z")}for(;++m<y;)i.call(this,h=s[m],m)?(g.push([f=+x.call(this,h,m),p=+b.call(this,h,m)]),v.push([+_.call(this,h,m),+w.call(this,h,m)])):g.length&&(k(),g=[],v=[]);return g.length&&k(),d.length?d.join(""):null}return h.x=function(t){return arguments.length?(e=r=t,h):r},h.x0=function(t){return arguments.length?(e=t,h):e},h.x1=function(t){return arguments.length?(r=t,h):r},h.y=function(t){return arguments.length?(n=a=t,h):a},h.y0=function(t){return arguments.length?(n=t,h):n},h.y1=function(t){return arguments.length?(a=t,h):a},h.defined=function(t){return arguments.length?(i=t,h):i},h.interpolate=function(t){return arguments.length?(s="function"==typeof t?o=t:(o=Vo.get(t)||Uo).key,l=o.reverse||o,c=o.closed?"M":"L",h):s},h.tension=function(t){return arguments.length?(u=t,h):u},h}function ns(t){return t.radius}function as(t){return[t.x,t.y]}function is(){return 64}function os(){return"circle"}function ss(t){var e=Math.sqrt(t/At);return"M0,"+e+"A"+e+","+e+" 0 1,1 0,"+-e+"A"+e+","+e+" 0 1,1 0,"+e+"Z"}t.svg.line.radial=function(){var t=jo(es);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},Ho.reverse=Go,Go.reverse=Ho,t.svg.area=function(){return rs(P)},t.svg.area.radial=function(){var t=rs(es);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},t.svg.chord=function(){var t=Vn,e=Un,r=ns,n=Do,a=Ro;function i(r,n){var a,i,c=o(this,t,r,n),u=o(this,e,r,n);return"M"+c.p0+s(c.r,c.p1,c.a1-c.a0)+(i=u,(a=c).a0==i.a0&&a.a1==i.a1?l(c.r,c.p1,c.r,c.p0):l(c.r,c.p1,u.r,u.p0)+s(u.r,u.p1,u.a1-u.a0)+l(u.r,u.p1,c.r,c.p0))+"Z"}function o(t,e,i,o){var s=e.call(t,i,o),l=r.call(t,s,o),c=n.call(t,s,o)-Et,u=a.call(t,s,o)-Et;return{r:l,a0:c,a1:u,p0:[l*Math.cos(c),l*Math.sin(c)],p1:[l*Math.cos(u),l*Math.sin(u)]}}function s(t,e,r){return"A"+t+","+t+" 0 "+ +(r>At)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return i.radius=function(t){return arguments.length?(r=ve(t),i):r},i.source=function(e){return arguments.length?(t=ve(e),i):t},i.target=function(t){return arguments.length?(e=ve(t),i):e},i.startAngle=function(t){return arguments.length?(n=ve(t),i):n},i.endAngle=function(t){return arguments.length?(a=ve(t),i):a},i},t.svg.diagonal=function(){var t=Vn,e=Un,r=as;function n(n,a){var i=t.call(this,n,a),o=e.call(this,n,a),s=(i.y+o.y)/2,l=[i,{x:i.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ve(e),n):t},n.target=function(t){return arguments.length?(e=ve(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},t.svg.diagonal.radial=function(){var e=t.svg.diagonal(),r=as,n=e.projection;return e.projection=function(t){return arguments.length?n(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-Et;return[r*Math.cos(n),r*Math.sin(n)]}}(r=t)):r},e},t.svg.symbol=function(){var t=os,e=is;function r(r,n){return(ls.get(t.call(this,r,n))||ss)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ve(e),r):t},r.size=function(t){return arguments.length?(e=ve(t),r):e},r};var ls=t.map({circle:ss,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*us)),r=e*us;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/cs),r=e*cs/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});t.svg.symbolTypes=ls.keys();var cs=Math.sqrt(3),us=Math.tan(30*Lt);W.transition=function(t){for(var e,r,n=ds||++ms,a=bs(t),i=[],o=gs||{time:Date.now(),ease:ai,delay:0,duration:250},s=-1,l=this.length;++s<l;){i.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(r=c[u])&&_s(r,u,a,n,o),e.push(r)}return ps(i,a,n)},W.interrupt=function(t){return this.each(null==t?hs:fs(bs(t)))};var hs=fs(bs());function fs(t){return function(){var e,r,n;(e=this[t])&&(n=e[r=e.active])&&(n.timer.c=null,n.timer.t=NaN,--e.count?delete e[r]:delete this[t],e.active+=.5,n.event&&n.event.interrupt.call(this,this.__data__,n.index))}}function ps(t,e,r){return U(t,vs),t.namespace=e,t.id=r,t}var ds,gs,vs=[],ms=0;function ys(t,e,r,n){var a=t.id,i=t.namespace;return ut(t,"function"==typeof r?function(t,o,s){t[i][a].tween.set(e,n(r.call(t,t.__data__,o,s)))}:(r=n(r),function(t){t[i][a].tween.set(e,r)}))}function xs(t){return null==t&&(t=""),function(){this.textContent=t}}function bs(t){return null==t?"__transition__":"__transition_"+t+"__"}function _s(t,e,r,n,a){var i,o,s,l,c,u=t[r]||(t[r]={active:0,count:0}),h=u[n];function f(r){var a=u.active,f=u[a];for(var d in f&&(f.timer.c=null,f.timer.t=NaN,--u.count,delete u[a],f.event&&f.event.interrupt.call(t,t.__data__,f.index)),u)if(+d<n){var g=u[d];g.timer.c=null,g.timer.t=NaN,--u.count,delete u[d]}o.c=p,Te(function(){return o.c&&p(r||1)&&(o.c=null,o.t=NaN),1},0,i),u.active=n,h.event&&h.event.start.call(t,t.__data__,e),c=[],h.tween.forEach(function(r,n){(n=n.call(t,t.__data__,e))&&c.push(n)}),l=h.ease,s=h.duration}function p(a){for(var i=a/s,o=l(i),f=c.length;f>0;)c[--f].call(t,o);if(i>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(i=a.time,o=Te(function(t){var e=h.delay;if(o.t=e+i,e<=t)return f(t-e);o.c=f},0,i),h=u[n]={tween:new b,time:i,timer:o,delay:a.delay,duration:a.duration,ease:a.ease,index:e},a=null,++u.count)}vs.call=W.call,vs.empty=W.empty,vs.node=W.node,vs.size=W.size,t.transition=function(e,r){return e&&e.transition?ds?e.transition(r):e:t.selection().transition(e)},t.transition.prototype=vs,vs.select=function(t){var e,r,n,a=this.id,i=this.namespace,o=[];t=X(t);for(var s=-1,l=this.length;++s<l;){o.push(e=[]);for(var c=this[s],u=-1,h=c.length;++u<h;)(n=c[u])&&(r=t.call(n,n.__data__,u,s))?("__data__"in n&&(r.__data__=n.__data__),_s(r,u,i,a,n[i][a]),e.push(r)):e.push(null)}return ps(o,i,a)},vs.selectAll=function(t){var e,r,n,a,i,o=this.id,s=this.namespace,l=[];t=Z(t);for(var c=-1,u=this.length;++c<u;)for(var h=this[c],f=-1,p=h.length;++f<p;)if(n=h[f]){i=n[s][o],r=t.call(n,n.__data__,f,c),l.push(e=[]);for(var d=-1,g=r.length;++d<g;)(a=r[d])&&_s(a,d,s,o,i),e.push(a)}return ps(l,s,o)},vs.filter=function(t){var e,r,n=[];"function"!=typeof t&&(t=ct(t));for(var a=0,i=this.length;a<i;a++){n.push(e=[]);for(var o,s=0,l=(o=this[a]).length;s<l;s++)(r=o[s])&&t.call(r,r.__data__,s,a)&&e.push(r)}return ps(n,this.namespace,this.id)},vs.tween=function(t,e){var r=this.id,n=this.namespace;return arguments.length<2?this.node()[n][r].tween.get(t):ut(this,null==e?function(e){e[n][r].tween.remove(t)}:function(a){a[n][r].tween.set(t,e)})},vs.attr=function(e,r){if(arguments.length<2){for(r in e)this.attr(r,e[r]);return this}var n="transform"==e?gi:Za,a=t.ns.qualify(e);function i(){this.removeAttribute(a)}function o(){this.removeAttributeNS(a.space,a.local)}return ys(this,"attr."+e,r,a.local?function(t){return null==t?o:(t+="",function(){var e,r=this.getAttributeNS(a.space,a.local);return r!==t&&(e=n(r,t),function(t){this.setAttributeNS(a.space,a.local,e(t))})})}:function(t){return null==t?i:(t+="",function(){var e,r=this.getAttribute(a);return r!==t&&(e=n(r,t),function(t){this.setAttribute(a,e(t))})})})},vs.attrTween=function(e,r){var n=t.ns.qualify(e);return this.tween("attr."+e,n.local?function(t,e){var a=r.call(this,t,e,this.getAttributeNS(n.space,n.local));return a&&function(t){this.setAttributeNS(n.space,n.local,a(t))}}:function(t,e){var a=r.call(this,t,e,this.getAttribute(n));return a&&function(t){this.setAttribute(n,a(t))}})},vs.style=function(t,e,r){var n=arguments.length;if(n<3){if("string"!=typeof t){for(r in n<2&&(e=""),t)this.style(r,t[r],e);return this}r=""}function a(){this.style.removeProperty(t)}return ys(this,"style."+t,e,function(e){return null==e?a:(e+="",function(){var n,a=o(this).getComputedStyle(this,null).getPropertyValue(t);return a!==e&&(n=Za(a,e),function(e){this.style.setProperty(t,n(e),r)})})})},vs.styleTween=function(t,e,r){return arguments.length<3&&(r=""),this.tween("style."+t,function(n,a){var i=e.call(this,n,a,o(this).getComputedStyle(this,null).getPropertyValue(t));return i&&function(e){this.style.setProperty(t,i(e),r)}})},vs.text=function(t){return ys(this,"text",t,xs)},vs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var e;this[t].count<2&&(e=this.parentNode)&&e.removeChild(this)})},vs.ease=function(e){var r=this.id,n=this.namespace;return arguments.length<1?this.node()[n][r].ease:("function"!=typeof e&&(e=t.ease.apply(t,arguments)),ut(this,function(t){t[n][r].ease=e}))},vs.delay=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].delay:ut(this,"function"==typeof t?function(n,a,i){n[r][e].delay=+t.call(n,n.__data__,a,i)}:(t=+t,function(n){n[r][e].delay=t}))},vs.duration=function(t){var e=this.id,r=this.namespace;return arguments.length<1?this.node()[r][e].duration:ut(this,"function"==typeof t?function(n,a,i){n[r][e].duration=Math.max(1,t.call(n,n.__data__,a,i))}:(t=Math.max(1,t),function(n){n[r][e].duration=t}))},vs.each=function(e,r){var n=this.id,a=this.namespace;if(arguments.length<2){var i=gs,o=ds;try{ds=n,ut(this,function(t,r,i){gs=t[a][n],e.call(t,t.__data__,r,i)})}finally{gs=i,ds=o}}else ut(this,function(i){var o=i[a][n];(o.event||(o.event=t.dispatch("start","end","interrupt"))).on(e,r)});return this},vs.transition=function(){for(var t,e,r,n=this.id,a=++ms,i=this.namespace,o=[],s=0,l=this.length;s<l;s++){o.push(t=[]);for(var c,u=0,h=(c=this[s]).length;u<h;u++)(e=c[u])&&_s(e,u,i,a,{time:(r=e[i][n]).time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration}),t.push(e)}return ps(o,i,a)},t.svg.axis=function(){var e,r=t.scale.linear(),a=ws,i=6,o=6,s=3,l=[10],c=null;function u(n){n.each(function(){var n,u=t.select(this),h=this.__chart__||r,f=this.__chart__=r.copy(),p=null==c?f.ticks?f.ticks.apply(f,l):f.domain():c,d=null==e?f.tickFormat?f.tickFormat.apply(f,l):P:e,g=u.selectAll(".tick").data(p,f),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",kt),m=t.transition(g.exit()).style("opacity",kt).remove(),y=t.transition(g.order()).style("opacity",1),x=Math.max(i,0)+s,b=uo(f),_=u.selectAll(".domain").data([0]),w=(_.enter().append("path").attr("class","domain"),t.transition(_));v.append("line"),v.append("text");var k,T,A,M,S=v.select("line"),E=y.select("line"),L=g.select("text").text(d),C=v.select("text"),O=y.select("text"),z="top"===a||"left"===a?-1:1;if("bottom"===a||"top"===a?(n=Ts,k="x",A="y",T="x2",M="y2",L.attr("dy",z<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+z*o+"V0H"+b[1]+"V"+z*o)):(n=As,k="y",A="x",T="y2",M="x2",L.attr("dy",".32em").style("text-anchor",z<0?"end":"start"),w.attr("d","M"+z*o+","+b[0]+"H0V"+b[1]+"H"+z*o)),S.attr(M,z*i),C.attr(A,z*x),E.attr(T,0).attr(M,z*i),O.attr(k,0).attr(A,z*x),f.rangeBand){var I=f,D=I.rangeBand()/2;h=f=function(t){return I(t)+D}}else h.rangeBand?h=f:m.call(n,f,h);v.call(n,h,f),y.call(n,f,f)})}return u.scale=function(t){return arguments.length?(r=t,u):r},u.orient=function(t){return arguments.length?(a=t in ks?t+"":ws,u):a},u.ticks=function(){return arguments.length?(l=n(arguments),u):l},u.tickValues=function(t){return arguments.length?(c=t,u):c},u.tickFormat=function(t){return arguments.length?(e=t,u):e},u.tickSize=function(t){var e=arguments.length;return e?(i=+t,o=+arguments[e-1],u):i},u.innerTickSize=function(t){return arguments.length?(i=+t,u):i},u.outerTickSize=function(t){return arguments.length?(o=+t,u):o},u.tickPadding=function(t){return arguments.length?(s=+t,u):s},u.tickSubdivide=function(){return arguments.length&&u},u};var ws="bottom",ks={top:1,right:1,bottom:1,left:1};function Ts(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate("+(isFinite(n)?n:r(t))+",0)"})}function As(t,e,r){t.attr("transform",function(t){var n=e(t);return"translate(0,"+(isFinite(n)?n:r(t))+")"})}t.svg.brush=function(){var e,r,n=j(f,"brushstart","brush","brushend"),a=null,i=null,s=[0,0],l=[0,0],c=!0,u=!0,h=Ss[0];function f(e){e.each(function(){var e=t.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",v).on("touchstart.brush",v),r=e.selectAll(".background").data([0]);r.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),e.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var n=e.selectAll(".resize").data(h,P);n.exit().remove(),n.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ms[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),n.style("display",f.empty()?"none":null);var o,s=t.transition(e),l=t.transition(r);a&&(o=uo(a),l.attr("x",o[0]).attr("width",o[1]-o[0]),d(s)),i&&(o=uo(i),l.attr("y",o[0]).attr("height",o[1]-o[0]),g(s)),p(s)})}function p(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+s[+/e$/.test(t)]+","+l[+/^s/.test(t)]+")"})}function d(t){t.select(".extent").attr("x",s[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function g(t){t.select(".extent").attr("y",l[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",l[1]-l[0])}function v(){var h,v,m=this,y=t.select(t.event.target),x=n.of(m,arguments),b=t.select(m),_=y.datum(),w=!/^(n|s)$/.test(_)&&a,k=!/^(e|w)$/.test(_)&&i,T=y.classed("extent"),A=xt(m),M=t.mouse(m),S=t.select(o(m)).on("keydown.brush",function(){32==t.event.keyCode&&(T||(h=null,M[0]-=s[1],M[1]-=l[1],T=2),B())}).on("keyup.brush",function(){32==t.event.keyCode&&2==T&&(M[0]+=s[1],M[1]+=l[1],T=0,B())});if(t.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",O):S.on("mousemove.brush",C).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),T)M[0]=s[0]-M[0],M[1]=l[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);v=[s[1-E]-M[0],l[1-L]-M[1]],M[0]=s[E],M[1]=l[L]}else t.event.altKey&&(h=M.slice());function C(){var e=t.mouse(m),r=!1;v&&(e[0]+=v[0],e[1]+=v[1]),T||(t.event.altKey?(h||(h=[(s[0]+s[1])/2,(l[0]+l[1])/2]),M[0]=s[+(e[0]<h[0])],M[1]=l[+(e[1]<h[1])]):h=null),w&&P(e,a,0)&&(d(b),r=!0),k&&P(e,i,1)&&(g(b),r=!0),r&&(p(b),x({type:"brush",mode:T?"move":"resize"}))}function P(t,n,a){var i,o,f=uo(n),p=f[0],d=f[1],g=M[a],v=a?l:s,m=v[1]-v[0];if(T&&(p-=g,d-=m+g),i=(a?u:c)?Math.max(p,Math.min(d,t[a])):t[a],T?o=(i+=g)+m:(h&&(g=Math.max(p,Math.min(d,2*h[a]-i))),g<i?(o=i,i=g):o=g),v[0]!=i||v[1]!=o)return a?r=null:e=null,v[0]=i,v[1]=o,!0}function O(){C(),b.style("pointer-events","all").selectAll(".resize").style("display",f.empty()?"none":null),t.select("body").style("cursor",null),S.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),A(),x({type:"brushend"})}b.style("pointer-events","none").selectAll(".resize").style("display",null),t.select("body").style("cursor",y.style("cursor")),x({type:"brushstart"}),C()}return f.event=function(a){a.each(function(){var a=n.of(this,arguments),i={x:s,y:l,i:e,j:r},o=this.__chart__||i;this.__chart__=i,ds?t.select(this).transition().each("start.brush",function(){e=o.i,r=o.j,s=o.x,l=o.y,a({type:"brushstart"})}).tween("brush:brush",function(){var t=Ja(s,i.x),n=Ja(l,i.y);return e=r=null,function(e){s=i.x=t(e),l=i.y=n(e),a({type:"brush",mode:"resize"})}}).each("end.brush",function(){e=i.i,r=i.j,a({type:"brush",mode:"resize"}),a({type:"brushend"})}):(a({type:"brushstart"}),a({type:"brush",mode:"resize"}),a({type:"brushend"}))})},f.x=function(t){return arguments.length?(h=Ss[!(a=t)<<1|!i],f):a},f.y=function(t){return arguments.length?(h=Ss[!a<<1|!(i=t)],f):i},f.clamp=function(t){return arguments.length?(a&&i?(c=!!t[0],u=!!t[1]):a?c=!!t:i&&(u=!!t),f):a&&i?[c,u]:a?c:i?u:null},f.extent=function(t){var n,o,c,u,h;return arguments.length?(a&&(n=t[0],o=t[1],i&&(n=n[0],o=o[0]),e=[n,o],a.invert&&(n=a(n),o=a(o)),o<n&&(h=n,n=o,o=h),n==s[0]&&o==s[1]||(s=[n,o])),i&&(c=t[0],u=t[1],a&&(c=c[1],u=u[1]),r=[c,u],i.invert&&(c=i(c),u=i(u)),u<c&&(h=c,c=u,u=h),c==l[0]&&u==l[1]||(l=[c,u])),f):(a&&(e?(n=e[0],o=e[1]):(n=s[0],o=s[1],a.invert&&(n=a.invert(n),o=a.invert(o)),o<n&&(h=n,n=o,o=h))),i&&(r?(c=r[0],u=r[1]):(c=l[0],u=l[1],i.invert&&(c=i.invert(c),u=i.invert(u)),u<c&&(h=c,c=u,u=h))),a&&i?[[n,c],[o,u]]:a?[n,o]:i&&[c,u])},f.clear=function(){return f.empty()||(s=[0,0],l=[0,0],e=r=null),f},f.empty=function(){return!!a&&s[0]==s[1]||!!i&&l[0]==l[1]},t.rebind(f,n,"on")};var Ms={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ss=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Es=ze.format=sr.timeFormat,Ls=Es.utc,Cs=Ls("%Y-%m-%dT%H:%M:%S.%LZ");function Ps(t){return t.toISOString()}function Os(e,r,n){function a(t){return e(t)}function i(e,n){var a=(e[1]-e[0])/n,i=t.bisect(Is,a);return i==Is.length?[r.year,xo(e.map(function(t){return t/31536e6}),n)[2]]:i?r[a/Is[i-1]<Is[i]/a?i-1:i]:[Fs,xo(e,n)[2]]}return a.invert=function(t){return zs(e.invert(t))},a.domain=function(t){return arguments.length?(e.domain(t),a):e.domain().map(zs)},a.nice=function(t,e){var r=a.domain(),n=co(r),o=null==t?i(n,10):"number"==typeof t&&i(n,t);function s(r){return!isNaN(r)&&!t.range(r,zs(+r+1),e).length}return o&&(t=o[0],e=o[1]),a.domain(fo(r,e>1?{floor:function(e){for(;s(e=t.floor(e));)e=zs(e-1);return e},ceil:function(e){for(;s(e=t.ceil(e));)e=zs(+e+1);return e}}:t))},a.ticks=function(t,e){var r=co(a.domain()),n=null==t?i(r,10):"number"==typeof t?i(r,t):!t.range&&[{range:t},e];return n&&(t=n[0],e=n[1]),t.range(r[0],zs(+r[1]+1),e<1?1:e)},a.tickFormat=function(){return n},a.copy=function(){return Os(e.copy(),r,n)},mo(a,e)}function zs(t){return new Date(t)}Es.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Ps:Cs,Ps.parse=function(t){var e=new Date(t);return isNaN(e)?null:e},Ps.toString=Cs.toString,ze.second=Fe(function(t){return new Ie(1e3*Math.floor(t/1e3))},function(t,e){t.setTime(t.getTime()+1e3*Math.floor(e))},function(t){return t.getSeconds()}),ze.seconds=ze.second.range,ze.seconds.utc=ze.second.utc.range,ze.minute=Fe(function(t){return new Ie(6e4*Math.floor(t/6e4))},function(t,e){t.setTime(t.getTime()+6e4*Math.floor(e))},function(t){return t.getMinutes()}),ze.minutes=ze.minute.range,ze.minutes.utc=ze.minute.utc.range,ze.hour=Fe(function(t){var e=t.getTimezoneOffset()/60;return new Ie(36e5*(Math.floor(t/36e5-e)+e))},function(t,e){t.setTime(t.getTime()+36e5*Math.floor(e))},function(t){return t.getHours()}),ze.hours=ze.hour.range,ze.hours.utc=ze.hour.utc.range,ze.month=Fe(function(t){return(t=ze.day(t)).setDate(1),t},function(t,e){t.setMonth(t.getMonth()+e)},function(t){return t.getMonth()}),ze.months=ze.month.range,ze.months.utc=ze.month.utc.range;var Is=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ds=[[ze.second,1],[ze.second,5],[ze.second,15],[ze.second,30],[ze.minute,1],[ze.minute,5],[ze.minute,15],[ze.minute,30],[ze.hour,1],[ze.hour,3],[ze.hour,6],[ze.hour,12],[ze.day,1],[ze.day,2],[ze.week,1],[ze.month,1],[ze.month,3],[ze.year,1]],Rs=Es.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Yr]]),Fs={range:function(e,r,n){return t.range(Math.ceil(e/n)*n,+r,n).map(zs)},floor:P,ceil:P};Ds.year=ze.year,ze.scale=function(){return Os(t.scale.linear(),Ds,Rs)};var Bs=Ds.map(function(t){return[t[0].utc,t[1]]}),Ns=Ls.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Yr]]);function js(t){return JSON.parse(t.responseText)}function Vs(t){var e=a.createRange();return e.selectNode(a.body),e.createContextualFragment(t.responseText)}Bs.year=ze.year.utc,ze.scale.utc=function(){return Os(t.scale.linear(),Bs,Ns)},t.text=me(function(t){return t.responseText}),t.json=function(t,e){return ye(t,"application/json",js,e)},t.html=function(t,e){return ye(t,"text/html",Vs,e)},t.xml=me(function(t){return t.responseXML}),"object"==typeof e&&e.exports?e.exports=t:this.d3=t}()},{}],165:[function(t,e,r){e.exports=function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}},{}],166:[function(t,e,r){"use strict";var n=t("incremental-convex-hull"),a=t("uniq");function i(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,a=r.length,i=0;i<a;++i){var o=n[i]-r[i];if(o)return o}return 0}e.exports=function(t,e){var r=t.length;if(0===r)return[];var s=t[0].length;if(s<1)return[];if(1===s)return function(t,e,r){if(1===t)return r?[[-1,0]]:[];var n=e.map(function(t,e){return[t[0],e]});n.sort(function(t,e){return t[0]-e[0]});for(var a=new Array(t-1),i=1;i<t;++i){var o=n[i-1],s=n[i];a[i-1]=[o[1],s[1]]}r&&a.push([-1,a[0][1]],[a[t-1][1],-1]);return a}(r,t,e);for(var l=new Array(r),c=1,u=0;u<r;++u){for(var h=t[u],f=new Array(s+1),p=0,d=0;d<s;++d){var g=h[d];f[d]=g,p+=g*g}f[s]=p,l[u]=new i(f,u),c=Math.max(p,c)}a(l,o),r=l.length;for(var v=new Array(r+s+1),m=new Array(r+s+1),y=(s+1)*(s+1)*c,x=new Array(s+1),u=0;u<=s;++u)x[u]=0;x[s]=y,v[0]=x.slice(),m[0]=-1;for(var u=0;u<=s;++u){var f=x.slice();f[u]=1,v[u+1]=f,m[u+1]=-1}for(var u=0;u<r;++u){var b=l[u];v[u+s+1]=b.point,m[u+s+1]=b.index}var _=n(v,!1);_=e?_.filter(function(t){for(var e=0,r=0;r<=s;++r){var n=m[t[r]];if(n<0&&++e>=2)return!1;t[r]=n}return!0}):_.filter(function(t){for(var e=0;e<=s;++e){var r=m[t[e]];if(r<0)return!1;t[e]=r}return!0});if(1&s)for(var u=0;u<_.length;++u){var b=_[u],f=b[0];b[0]=b[1],b[1]=f}return _}},{"incremental-convex-hull":414,uniq:545}],167:[function(t,e,r){"use strict";e.exports=i;var n=(i.canvas=document.createElement("canvas")).getContext("2d"),a=o([32,126]);function i(t,e){Array.isArray(t)&&(t=t.join(", "));var r,i={},s=16,l=.05;e&&(2===e.length&&"number"==typeof e[0]?r=o(e):Array.isArray(e)?r=e:(e.o?r=o(e.o):e.pairs&&(r=e.pairs),e.fontSize&&(s=e.fontSize),null!=e.threshold&&(l=e.threshold))),r||(r=a),n.font=s+"px "+t;for(var c=0;c<r.length;c++){var u=r[c],h=n.measureText(u[0]).width+n.measureText(u[1]).width,f=n.measureText(u).width;if(Math.abs(h-f)>s*l){var p=(f-h)/s;i[u]=1e3*p}}return i}function o(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),a=t[0];a<t[1];a++){var i=n+String.fromCharCode(a);e.push(i)}return e}i.createPairs=o,i.ascii=a},{}],168:[function(t,e,r){(function(t){var r=!1;if("undefined"!=typeof Float64Array){var n=new Float64Array(1),a=new Uint32Array(n.buffer);if(n[0]=1,r=!0,1072693248===a[1]){e.exports=function(t){return n[0]=t,[a[0],a[1]]},e.exports.pack=function(t,e){return a[0]=t,a[1]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[0]},e.exports.hi=function(t){return n[0]=t,a[1]}}else if(1072693248===a[0]){e.exports=function(t){return n[0]=t,[a[1],a[0]]},e.exports.pack=function(t,e){return a[1]=t,a[0]=e,n[0]},e.exports.lo=function(t){return n[0]=t,a[1]},e.exports.hi=function(t){return n[0]=t,a[0]}}else r=!1}if(!r){var i=new t(8);e.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},e.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},e.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},e.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}e.exports.sign=function(t){return e.exports.hi(t)>>>31},e.exports.exponent=function(t){return(e.exports.hi(t)<<1>>>21)-1023},e.exports.fraction=function(t){var r=e.exports.lo(t),n=e.exports.hi(t),a=1048575&n;return 2146435072&n&&(a+=1<<20),[r,a]},e.exports.denormalized=function(t){return!(2146435072&e.exports.hi(t))}}).call(this,t("buffer").Buffer)},{buffer:106}],169:[function(t,e,r){var n=t("abs-svg-path"),a=t("normalize-svg-path"),i={M:"moveTo",C:"bezierCurveTo"};e.exports=function(t,e){t.beginPath(),a(n(e)).forEach(function(e){var r=e[0],n=e.slice(1);t[i[r]].apply(t,n)}),t.closePath()}},{"abs-svg-path":62,"normalize-svg-path":453}],170:[function(t,e,r){e.exports=function(t){switch(t){case"int8":return Int8Array;case"int16":return Int16Array;case"int32":return Int32Array;case"uint8":return Uint8Array;case"uint16":return Uint16Array;case"uint32":return Uint32Array;case"float32":return Float32Array;case"float64":return Float64Array;case"array":return Array;case"uint8_clamped":return Uint8ClampedArray}}},{}],171:[function(t,e,r){"use strict";e.exports=function(t,e){switch("undefined"==typeof e&&(e=0),typeof t){case"number":if(t>0)return function(t,e){var r,n;for(r=new Array(t),n=0;n<t;++n)r[n]=e;return r}(0|t,e);break;case"object":if("number"==typeof t.length)return function t(e,r,n){var a=0|e[n];if(a<=0)return[];var i,o=new Array(a);if(n===e.length-1)for(i=0;i<a;++i)o[i]=r;else for(i=0;i<a;++i)o[i]=t(e,r,n+1);return o}(t,e,0)}return[]}},{}],172:[function(t,e,r){"use strict";function n(t,e,r){r=r||2;var n,s,l,c,u,p,d,v=e&&e.length,m=v?e[0]*r:t.length,y=a(t,0,m,r,!0),x=[];if(!y||y.next===y.prev)return x;if(v&&(y=function(t,e,r,n){var o,s,l,c,u,p=[];for(o=0,s=e.length;o<s;o++)l=e[o]*n,c=o<s-1?e[o+1]*n:t.length,(u=a(t,l,c,n,!1))===u.next&&(u.steiner=!0),p.push(g(u));for(p.sort(h),o=0;o<p.length;o++)f(p[o],r),r=i(r,r.next);return r}(t,e,y,r)),t.length>80*r){n=l=t[0],s=c=t[1];for(var b=r;b<m;b+=r)(u=t[b])<n&&(n=u),(p=t[b+1])<s&&(s=p),u>l&&(l=u),p>c&&(c=p);d=0!==(d=Math.max(l-n,c-s))?1/d:0}return o(y,x,r,n,s,d),x}function a(t,e,r,n,a){var i,o;if(a===E(t,e,r,n)>0)for(i=e;i<r;i+=n)o=A(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=A(i,t[i],t[i+1],o);return o&&x(o,o.next)&&(M(o),o=o.next),o}function i(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!x(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(M(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function o(t,e,r,n,a,h,f){if(t){!f&&h&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=d(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,h);for(var p,g,v=t;t.prev!==t.next;)if(p=t.prev,g=t.next,h?l(t,n,a,h):s(t))e.push(p.i/r),e.push(t.i/r),e.push(g.i/r),M(t),t=g.next,v=g.next;else if((t=g)===v){f?1===f?o(t=c(i(t),e,r),e,r,n,a,h,2):2===f&&u(t,e,r,n,a,h):o(i(t),e,r,n,a,h,1);break}}}function s(t){var e=t.prev,r=t,n=t.next;if(y(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if(v(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&y(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function l(t,e,r,n){var a=t.prev,i=t,o=t.next;if(y(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=d(s,l,e,r,n),f=d(c,u,e,r,n),p=t.prevZ,g=t.nextZ;p&&p.z>=h&&g&&g.z<=f;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&y(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;g&&g.z<=f;){if(g!==t.prev&&g!==t.next&&v(a.x,a.y,i.x,i.y,o.x,o.y,g.x,g.y)&&y(g.prev,g,g.next)>=0)return!1;g=g.nextZ}return!0}function c(t,e,r){var n=t;do{var a=n.prev,o=n.next.next;!x(a,o)&&b(a,n,n.next,o)&&k(a,o)&&k(o,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(o.i/r),M(n),M(n.next),n=t=o),n=n.next}while(n!==t);return i(n)}function u(t,e,r,n,a,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=T(l,c);return l=i(l,l.next),u=i(u,u.next),o(l,e,r,n,a,s),void o(u,e,r,n,a,s)}c=c.next}l=l.next}while(l!==t)}function h(t,e){return t.x-e.x}function f(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&v(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),k(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&p(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=T(e,t);i(r,r.next)}}function p(t,e){return y(t.prev,t,e.prev)<0&&y(e.next,t,t.next)<0}function d(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function g(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function v(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&b(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(k(t,e)&&k(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(y(t.prev,t,e.prev)||y(t,e.prev,e))||x(t,e)&&y(t.prev,t,t.next)>0&&y(e.prev,e,e.next)>0)}function y(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function x(t,e){return t.x===e.x&&t.y===e.y}function b(t,e,r,n){var a=w(y(t,e,r)),i=w(y(t,e,n)),o=w(y(r,n,t)),s=w(y(r,n,e));return a!==i&&o!==s||(!(0!==a||!_(t,r,e))||(!(0!==i||!_(t,n,e))||(!(0!==o||!_(r,t,n))||!(0!==s||!_(r,e,n)))))}function _(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function w(t){return t>0?1:t<0?-1:0}function k(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function T(t,e){var r=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function A(t,e,r,n){var a=new S(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function M(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function E(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}e.exports=n,e.exports.default=n,n.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(E(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(E(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},n.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r}},{}],173:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if("number"!=typeof e){e=0;for(var a=0;a<r;++a){var i=t[a];e=Math.max(e,i[0],i[1])}e=1+(0|e)}e|=0;for(var o=new Array(e),a=0;a<e;++a)o[a]=[];for(var a=0;a<r;++a){var i=t[a];o[i[0]].push(i[1]),o[i[1]].push(i[0])}for(var s=0;s<e;++s)n(o[s],function(t,e){return t-e});return o};var n=t("uniq")},{uniq:545}],174:[function(t,e,r){var n=t("strongly-connected-components");e.exports=function(t){var e,r=[],a=[],i=[],o={},s=[];function l(t){var r,n,u=!1;for(a.push(t),i[t]=!0,r=0;r<s[t].length;r++)(n=s[t][r])===e?(c(e,a),u=!0):i[n]||(u=l(n));if(u)!function t(e){i[e]=!1,o.hasOwnProperty(e)&&Object.keys(o[e]).forEach(function(r){delete o[e][r],i[r]&&t(r)})}(t);else for(r=0;r<s[t].length;r++){n=s[t][r];var h=o[n];h||(h={},o[n]=h),h[n]=!0}return a.pop(),u}function c(t,e){var n=[].concat(e).concat(t);r.push(n)}function u(e){!function(e){for(var r=0;r<t.length;r++)r<e&&(t[r]=[]),t[r]=t[r].filter(function(t){return t>=e})}(e);for(var r,a=n(t).components.filter(function(t){return t.length>1}),i=1/0,o=0;o<a.length;o++)for(var s=0;s<a[o].length;s++)a[o][s]<i&&(i=a[o][s],r=o);var l=a[r];return!!l&&{leastVertex:i,adjList:t.map(function(t,e){return-1===l.indexOf(e)?[]:t.filter(function(t){return-1!==l.indexOf(t)})})}}e=0;for(var h=t.length;e<h;){var f=u(e);if(e=f.leastVertex,s=f.adjList){for(var p=0;p<s.length;p++)for(var d=0;d<s[p].length;d++){var g=s[p][d];i[+g]=!1,o[g]={}}l(e),e+=1}else e=h}return r}},{"strongly-connected-components":528}],175:[function(t,e,r){"use strict";var n=t("../../object/valid-value");e.exports=function(){return n(this).length=0,this}},{"../../object/valid-value":207}],176:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Array.from:t("./shim")},{"./is-implemented":177,"./shim":178}],177:[function(t,e,r){"use strict";e.exports=function(){var t,e,r=Array.from;return"function"==typeof r&&(e=r(t=["raz","dwa"]),Boolean(e&&e!==t&&"dwa"===e[1]))}},{}],178:[function(t,e,r){"use strict";var n=t("es6-symbol").iterator,a=t("../../function/is-arguments"),i=t("../../function/is-function"),o=t("../../number/to-pos-integer"),s=t("../../object/valid-callable"),l=t("../../object/valid-value"),c=t("../../object/is-value"),u=t("../../string/is-string"),h=Array.isArray,f=Function.prototype.call,p={configurable:!0,enumerable:!0,writable:!0,value:null},d=Object.defineProperty;e.exports=function(t){var e,r,g,v,m,y,x,b,_,w,k=arguments[1],T=arguments[2];if(t=Object(l(t)),c(k)&&s(k),this&&this!==Array&&i(this))e=this;else{if(!k){if(a(t))return 1!==(m=t.length)?Array.apply(null,t):((v=new Array(1))[0]=t[0],v);if(h(t)){for(v=new Array(m=t.length),r=0;r<m;++r)v[r]=t[r];return v}}v=[]}if(!h(t))if(void 0!==(_=t[n])){for(x=s(_).call(t),e&&(v=new e),b=x.next(),r=0;!b.done;)w=k?f.call(k,T,b.value,r):b.value,e?(p.value=w,d(v,r,p)):v[r]=w,b=x.next(),++r;m=r}else if(u(t)){for(m=t.length,e&&(v=new e),r=0,g=0;r<m;++r)w=t[r],r+1<m&&(y=w.charCodeAt(0))>=55296&&y<=56319&&(w+=t[++r]),w=k?f.call(k,T,w,g):w,e?(p.value=w,d(v,g,p)):v[g]=w,++g;m=g}if(void 0===m)for(m=o(t.length),e&&(v=new e(m)),r=0;r<m;++r)w=k?f.call(k,T,t[r],r):t[r],e?(p.value=w,d(v,r,p)):v[r]=w;return e&&(p.value=null,v.length=m),v}},{"../../function/is-arguments":179,"../../function/is-function":180,"../../number/to-pos-integer":186,"../../object/is-value":196,"../../object/valid-callable":205,"../../object/valid-value":207,"../../string/is-string":211,"es6-symbol":221}],179:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call(function(){return arguments}());e.exports=function(t){return n.call(t)===a}},{}],180:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call(t("./noop"));e.exports=function(t){return"function"==typeof t&&n.call(t)===a}},{"./noop":181}],181:[function(t,e,r){"use strict";e.exports=function(){}},{}],182:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Math.sign:t("./shim")},{"./is-implemented":183,"./shim":184}],183:[function(t,e,r){"use strict";e.exports=function(){var t=Math.sign;return"function"==typeof t&&(1===t(10)&&-1===t(-20))}},{}],184:[function(t,e,r){"use strict";e.exports=function(t){return t=Number(t),isNaN(t)||0===t?t:t>0?1:-1}},{}],185:[function(t,e,r){"use strict";var n=t("../math/sign"),a=Math.abs,i=Math.floor;e.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*i(a(t)):t}},{"../math/sign":182}],186:[function(t,e,r){"use strict";var n=t("./to-integer"),a=Math.max;e.exports=function(t){return a(0,n(t))}},{"./to-integer":185}],187:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./valid-value"),i=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;e.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(a(r)),n(c),u=s(r),f&&u.sort("function"==typeof f?i.call(f,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e})}}},{"./valid-callable":205,"./valid-value":207}],188:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.assign:t("./shim")},{"./is-implemented":189,"./shim":190}],189:[function(t,e,r){"use strict";e.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},{}],190:[function(t,e,r){"use strict";var n=t("../keys"),a=t("../valid-value"),i=Math.max;e.exports=function(t,e){var r,o,s,l=i(arguments.length,2);for(t=Object(a(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o<l;++o)e=arguments[o],n(e).forEach(s);if(void 0!==r)throw r;return t}},{"../keys":197,"../valid-value":207}],191:[function(t,e,r){"use strict";var n=t("../array/from"),a=t("./assign"),i=t("./valid-value");e.exports=function(t){var e=Object(i(t)),r=arguments[1],o=Object(arguments[2]);if(e!==t&&!r)return e;var s={};return r?n(r,function(e){(o.ensure||e in t)&&(s[e]=t[e])}):a(s,t),s}},{"../array/from":176,"./assign":188,"./valid-value":207}],192:[function(t,e,r){"use strict";var n,a,i,o,s=Object.create;t("./set-prototype-of/is-implemented")()||(n=t("./set-prototype-of/shim")),e.exports=n?1!==n.level?s:(a={},i={},o={configurable:!1,enumerable:!1,writable:!0,value:void 0},Object.getOwnPropertyNames(Object.prototype).forEach(function(t){i[t]="__proto__"!==t?o:{configurable:!0,enumerable:!1,writable:!0,value:void 0}}),Object.defineProperties(a,i),Object.defineProperty(n,"nullPolyfill",{configurable:!1,enumerable:!1,writable:!1,value:a}),function(t,e){return s(null===t?a:t,e)}):s},{"./set-prototype-of/is-implemented":203,"./set-prototype-of/shim":204}],193:[function(t,e,r){"use strict";e.exports=t("./_iterate")("forEach")},{"./_iterate":187}],194:[function(t,e,r){"use strict";e.exports=function(t){return"function"==typeof t}},{}],195:[function(t,e,r){"use strict";var n=t("./is-value"),a={function:!0,object:!0};e.exports=function(t){return n(t)&&a[typeof t]||!1}},{"./is-value":196}],196:[function(t,e,r){"use strict";var n=t("../function/noop")();e.exports=function(t){return t!==n&&null!==t}},{"../function/noop":181}],197:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.keys:t("./shim")},{"./is-implemented":198,"./shim":199}],198:[function(t,e,r){"use strict";e.exports=function(){try{return Object.keys("primitive"),!0}catch(t){return!1}}},{}],199:[function(t,e,r){"use strict";var n=t("../is-value"),a=Object.keys;e.exports=function(t){return a(n(t)?Object(t):t)}},{"../is-value":196}],200:[function(t,e,r){"use strict";var n=t("./valid-callable"),a=t("./for-each"),i=Function.prototype.call;e.exports=function(t,e){var r={},o=arguments[2];return n(e),a(t,function(t,n,a,s){r[n]=i.call(e,o,t,n,a,s)}),r}},{"./for-each":193,"./valid-callable":205}],201:[function(t,e,r){"use strict";var n=t("./is-value"),a=Array.prototype.forEach,i=Object.create;e.exports=function(t){var e=i(null);return a.call(arguments,function(t){n(t)&&function(t,e){var r;for(r in t)e[r]=t[r]}(Object(t),e)}),e}},{"./is-value":196}],202:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Object.setPrototypeOf:t("./shim")},{"./is-implemented":203,"./shim":204}],203:[function(t,e,r){"use strict";var n=Object.create,a=Object.getPrototypeOf,i={};e.exports=function(){var t=Object.setPrototypeOf,e=arguments[0]||n;return"function"==typeof t&&a(t(e(null),i))===i}},{}],204:[function(t,e,r){"use strict";var n,a,i,o,s=t("../is-object"),l=t("../valid-value"),c=Object.prototype.isPrototypeOf,u=Object.defineProperty,h={configurable:!0,enumerable:!1,writable:!0,value:void 0};n=function(t,e){if(l(t),null===e||s(e))return t;throw new TypeError("Prototype must be null or an object")},e.exports=(a=function(){var t,e=Object.create(null),r={},n=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__");if(n){try{(t=n.set).call(e,r)}catch(t){}if(Object.getPrototypeOf(e)===r)return{set:t,level:2}}return e.__proto__=r,Object.getPrototypeOf(e)===r?{level:2}:((e={}).__proto__=r,Object.getPrototypeOf(e)===r&&{level:1})}())?(2===a.level?a.set?(o=a.set,i=function(t,e){return o.call(n(t,e),e),t}):i=function(t,e){return n(t,e).__proto__=e,t}:i=function t(e,r){var a;return n(e,r),(a=c.call(t.nullPolyfill,e))&&delete t.nullPolyfill.__proto__,null===r&&(r=t.nullPolyfill),e.__proto__=r,a&&u(t.nullPolyfill,"__proto__",h),e},Object.defineProperty(i,"level",{configurable:!1,enumerable:!1,writable:!1,value:a.level})):null,t("../create")},{"../create":192,"../is-object":195,"../valid-value":207}],205:[function(t,e,r){"use strict";e.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},{}],206:[function(t,e,r){"use strict";var n=t("./is-object");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not an Object");return t}},{"./is-object":195}],207:[function(t,e,r){"use strict";var n=t("./is-value");e.exports=function(t){if(!n(t))throw new TypeError("Cannot use null or undefined");return t}},{"./is-value":196}],208:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?String.prototype.contains:t("./shim")},{"./is-implemented":209,"./shim":210}],209:[function(t,e,r){"use strict";var n="razdwatrzy";e.exports=function(){return"function"==typeof n.contains&&(!0===n.contains("dwa")&&!1===n.contains("foo"))}},{}],210:[function(t,e,r){"use strict";var n=String.prototype.indexOf;e.exports=function(t){return n.call(this,t,arguments[1])>-1}},{}],211:[function(t,e,r){"use strict";var n=Object.prototype.toString,a=n.call("");e.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||n.call(t)===a)||!1}},{}],212:[function(t,e,r){"use strict";var n=Object.create(null),a=Math.random;e.exports=function(){var t;do{t=a().toString(36).slice(2)}while(n[t]);return t}},{}],213:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("es5-ext/string/#/contains"),o=t("d"),s=t("es6-symbol"),l=t("./"),c=Object.defineProperty;n=e.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?i.call(e,"key+value")?"key+value":i.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},a&&a(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o(function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t})}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es5-ext/string/#/contains":208,"es6-symbol":221}],214:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/valid-callable"),i=t("es5-ext/string/is-string"),o=t("./get"),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;e.exports=function(t,e){var r,u,h,f,p,d,g,v,m=arguments[2];if(s(t)||n(t)?r="array":i(t)?r="string":t=o(t),a(e),h=function(){f=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,m,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p<d&&(g=t[p],p+1<d&&(v=g.charCodeAt(0))>=55296&&v<=56319&&(g+=t[++p]),l.call(e,m,g,h),!f);++p);else c.call(t,function(t){return l.call(e,m,t,h),f})}},{"./get":215,"es5-ext/function/is-arguments":179,"es5-ext/object/valid-callable":205,"es5-ext/string/is-string":211}],215:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/string/is-string"),i=t("./array"),o=t("./string"),s=t("./valid-iterable"),l=t("es6-symbol").iterator;e.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new i(t):a(t)?new o(t):new i(t)}},{"./array":213,"./string":218,"./valid-iterable":219,"es5-ext/function/is-arguments":179,"es5-ext/string/is-string":211,"es6-symbol":221}],216:[function(t,e,r){"use strict";var n,a=t("es5-ext/array/#/clear"),i=t("es5-ext/object/assign"),o=t("es5-ext/object/valid-callable"),s=t("es5-ext/object/valid-value"),l=t("d"),c=t("d/auto-bind"),u=t("es6-symbol"),h=Object.defineProperty,f=Object.defineProperties;e.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");f(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,f(n.prototype,i({_next:l(function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__<this.__list__.length?this.__nextIndex__++:void this._unBind()}),next:l(function(){return this._createResult(this._next())}),_createResult:l(function(t){return void 0===t?{done:!0,value:void 0}:{done:!1,value:this._resolve(t)}}),_resolve:l(function(t){return this.__list__[t]}),_unBind:l(function(){this.__list__=null,delete this.__redo__,this.__context__&&(this.__context__.off("_add",this._onAdd),this.__context__.off("_delete",this._onDelete),this.__context__.off("_clear",this._onClear),this.__context__=null)}),toString:l(function(){return"[object "+(this[u.toStringTag]||"Object")+"]"})},c({_onAdd:l(function(t){t>=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach(function(e,r){e>=t&&(this.__redo__[r]=++e)},this),this.__redo__.push(t)):h(this,"__redo__",l("c",[t])))}),_onDelete:l(function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach(function(e,r){e>t&&(this.__redo__[r]=--e)},this)))}),_onClear:l(function(){this.__redo__&&a.call(this.__redo__),this.__nextIndex__=0})}))),h(n.prototype,u.iterator,l(function(){return this}))},{d:152,"d/auto-bind":151,"es5-ext/array/#/clear":175,"es5-ext/object/assign":188,"es5-ext/object/valid-callable":205,"es5-ext/object/valid-value":207,"es6-symbol":221}],217:[function(t,e,r){"use strict";var n=t("es5-ext/function/is-arguments"),a=t("es5-ext/object/is-value"),i=t("es5-ext/string/is-string"),o=t("es6-symbol").iterator,s=Array.isArray;e.exports=function(t){return!!a(t)&&(!!s(t)||(!!i(t)||(!!n(t)||"function"==typeof t[o])))}},{"es5-ext/function/is-arguments":179,"es5-ext/object/is-value":196,"es5-ext/string/is-string":211,"es6-symbol":221}],218:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/set-prototype-of"),i=t("d"),o=t("es6-symbol"),s=t("./"),l=Object.defineProperty;n=e.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",i("",t.length))},a&&a(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:i(function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()}),_resolve:i(function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0))>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r})}),l(n.prototype,o.toStringTag,i("c","String Iterator"))},{"./":216,d:152,"es5-ext/object/set-prototype-of":202,"es6-symbol":221}],219:[function(t,e,r){"use strict";var n=t("./is-iterable");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},{"./is-iterable":217}],220:[function(t,e,r){(function(n,a){!function(t,n){"object"==typeof r&&"undefined"!=typeof e?e.exports=n():t.ES6Promise=n()}(this,function(){"use strict";function e(t){return"function"==typeof t}var r=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},i=0,o=void 0,s=void 0,l=function(t,e){g[i]=t,g[i+1]=e,2===(i+=2)&&(s?s(v):_())};var c="undefined"!=typeof window?window:void 0,u=c||{},h=u.MutationObserver||u.WebKitMutationObserver,f="undefined"==typeof self&&"undefined"!=typeof n&&"[object process]"==={}.toString.call(n),p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel;function d(){var t=setTimeout;return function(){return t(v,1)}}var g=new Array(1e3);function v(){for(var t=0;t<i;t+=2){(0,g[t])(g[t+1]),g[t]=void 0,g[t+1]=void 0}i=0}var m,y,x,b,_=void 0;function w(t,e){var r=arguments,n=this,a=new this.constructor(A);void 0===a[T]&&U(a);var i,o=n._state;return o?(i=r[o-1],l(function(){return j(o,a,i,n._result)})):R(n,a,t,e),a}function k(t){if(t&&"object"==typeof t&&t.constructor===this)return t;var e=new this(A);return O(e,t),e}f?_=function(){return n.nextTick(v)}:h?(y=0,x=new h(v),b=document.createTextNode(""),x.observe(b,{characterData:!0}),_=function(){b.data=y=++y%2}):p?((m=new MessageChannel).port1.onmessage=v,_=function(){return m.port2.postMessage(0)}):_=void 0===c&&"function"==typeof t?function(){try{var e=t("vertx");return o=e.runOnLoop||e.runOnContext,function(){o(v)}}catch(t){return d()}}():d();var T=Math.random().toString(36).substring(16);function A(){}var M=void 0,S=1,E=2,L=new B;function C(t){try{return t.then}catch(t){return L.error=t,L}}function P(t,r,n){r.constructor===t.constructor&&n===w&&r.constructor.resolve===k?function(t,e){e._state===S?I(t,e._result):e._state===E?D(t,e._result):R(e,void 0,function(e){return O(t,e)},function(e){return D(t,e)})}(t,r):n===L?D(t,L.error):void 0===n?I(t,r):e(n)?function(t,e,r){l(function(t){var n=!1,a=function(t,e,r,n){try{t.call(e,r,n)}catch(t){return t}}(r,e,function(r){n||(n=!0,e!==r?O(t,r):I(t,r))},function(e){n||(n=!0,D(t,e))},t._label);!n&&a&&(n=!0,D(t,a))},t)}(t,r,n):I(t,r)}function O(t,e){var r;t===e?D(t,new TypeError("You cannot resolve a promise with itself")):"function"==typeof(r=e)||"object"==typeof r&&null!==r?P(t,e,C(e)):I(t,e)}function z(t){t._onerror&&t._onerror(t._result),F(t)}function I(t,e){t._state===M&&(t._result=e,t._state=S,0!==t._subscribers.length&&l(F,t))}function D(t,e){t._state===M&&(t._state=E,t._result=e,l(z,t))}function R(t,e,r,n){var a=t._subscribers,i=a.length;t._onerror=null,a[i]=e,a[i+S]=r,a[i+E]=n,0===i&&t._state&&l(F,t)}function F(t){var e=t._subscribers,r=t._state;if(0!==e.length){for(var n=void 0,a=void 0,i=t._result,o=0;o<e.length;o+=3)n=e[o],a=e[o+r],n?j(r,n,a,i):a(i);t._subscribers.length=0}}function B(){this.error=null}var N=new B;function j(t,r,n,a){var i=e(n),o=void 0,s=void 0,l=void 0,c=void 0;if(i){if((o=function(t,e){try{return t(e)}catch(t){return N.error=t,N}}(n,a))===N?(c=!0,s=o.error,o=null):l=!0,r===o)return void D(r,new TypeError("A promises callback cannot return that same promise."))}else o=a,l=!0;r._state!==M||(i&&l?O(r,o):c?D(r,s):t===S?I(r,o):t===E&&D(r,o))}var V=0;function U(t){t[T]=V++,t._state=void 0,t._result=void 0,t._subscribers=[]}function q(t,e){this._instanceConstructor=t,this.promise=new t(A),this.promise[T]||U(this.promise),r(e)?(this._input=e,this.length=e.length,this._remaining=e.length,this._result=new Array(this.length),0===this.length?I(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&I(this.promise,this._result))):D(this.promise,new Error("Array Methods must be provided an Array"))}function H(t){this[T]=V++,this._result=this._state=void 0,this._subscribers=[],A!==t&&("function"!=typeof t&&function(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}(),this instanceof H?function(t,e){try{e(function(e){O(t,e)},function(e){D(t,e)})}catch(e){D(t,e)}}(this,t):function(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}())}function G(){var t=void 0;if("undefined"!=typeof a)t=a;else if("undefined"!=typeof self)t=self;else try{t=Function("return this")()}catch(t){throw new Error("polyfill failed because global object is unavailable in this environment")}var e=t.Promise;if(e){var r=null;try{r=Object.prototype.toString.call(e.resolve())}catch(t){}if("[object Promise]"===r&&!e.cast)return}t.Promise=H}return q.prototype._enumerate=function(){for(var t=this.length,e=this._input,r=0;this._state===M&&r<t;r++)this._eachEntry(e[r],r)},q.prototype._eachEntry=function(t,e){var r=this._instanceConstructor,n=r.resolve;if(n===k){var a=C(t);if(a===w&&t._state!==M)this._settledAt(t._state,e,t._result);else if("function"!=typeof a)this._remaining--,this._result[e]=t;else if(r===H){var i=new r(A);P(i,t,a),this._willSettleAt(i,e)}else this._willSettleAt(new r(function(e){return e(t)}),e)}else this._willSettleAt(n(t),e)},q.prototype._settledAt=function(t,e,r){var n=this.promise;n._state===M&&(this._remaining--,t===E?D(n,r):this._result[e]=r),0===this._remaining&&I(n,this._result)},q.prototype._willSettleAt=function(t,e){var r=this;R(t,void 0,function(t){return r._settledAt(S,e,t)},function(t){return r._settledAt(E,e,t)})},H.all=function(t){return new q(this,t).promise},H.race=function(t){var e=this;return r(t)?new e(function(r,n){for(var a=t.length,i=0;i<a;i++)e.resolve(t[i]).then(r,n)}):new e(function(t,e){return e(new TypeError("You must pass an array to race."))})},H.resolve=k,H.reject=function(t){var e=new this(A);return D(e,t),e},H._setScheduler=function(t){s=t},H._setAsap=function(t){l=t},H._asap=l,H.prototype={constructor:H,then:w,catch:function(t){return this.then(null,t)}},G(),H.polyfill=G,H.Promise=H,H})}).call(this,t("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{_process:483}],221:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?Symbol:t("./polyfill")},{"./is-implemented":222,"./polyfill":224}],222:[function(t,e,r){"use strict";var n={object:!0,symbol:!0};e.exports=function(){var t;if("function"!=typeof Symbol)return!1;t=Symbol("test symbol");try{String(t)}catch(t){return!1}return!!n[typeof Symbol.iterator]&&(!!n[typeof Symbol.toPrimitive]&&!!n[typeof Symbol.toStringTag])}},{}],223:[function(t,e,r){"use strict";e.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&("Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag]))}},{}],224:[function(t,e,r){"use strict";var n,a,i,o,s=t("d"),l=t("./validate-symbol"),c=Object.create,u=Object.defineProperties,h=Object.defineProperty,f=Object.prototype,p=c(null);if("function"==typeof Symbol){n=Symbol;try{String(n()),o=!0}catch(t){}}var d,g=(d=c(null),function(t){for(var e,r,n=0;d[t+(n||"")];)++n;return d[t+=n||""]=!0,h(f,e="@@"+t,s.gs(null,function(t){r||(r=!0,h(this,e,s(t)),r=!1)})),e});i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return a(t)},e.exports=a=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return o?n(e):(r=c(i.prototype),e=void 0===e?"":String(e),u(r,{__description__:s("",e),__name__:s("",g(e))}))},u(a,{for:s(function(t){return p[t]?p[t]:p[t]=a(String(t))}),keyFor:s(function(t){var e;for(e in l(t),p)if(p[e]===t)return e}),hasInstance:s("",n&&n.hasInstance||a("hasInstance")),isConcatSpreadable:s("",n&&n.isConcatSpreadable||a("isConcatSpreadable")),iterator:s("",n&&n.iterator||a("iterator")),match:s("",n&&n.match||a("match")),replace:s("",n&&n.replace||a("replace")),search:s("",n&&n.search||a("search")),species:s("",n&&n.species||a("species")),split:s("",n&&n.split||a("split")),toPrimitive:s("",n&&n.toPrimitive||a("toPrimitive")),toStringTag:s("",n&&n.toStringTag||a("toStringTag")),unscopables:s("",n&&n.unscopables||a("unscopables"))}),u(i.prototype,{constructor:s(a),toString:s("",function(){return this.__name__})}),u(a.prototype,{toString:s(function(){return"Symbol ("+l(this).__description__+")"}),valueOf:s(function(){return l(this)})}),h(a.prototype,a.toPrimitive,s("",function(){var t=l(this);return"symbol"==typeof t?t:t.toString()})),h(a.prototype,a.toStringTag,s("c","Symbol")),h(i.prototype,a.toStringTag,s("c",a.prototype[a.toStringTag])),h(i.prototype,a.toPrimitive,s("c",a.prototype[a.toPrimitive]))},{"./validate-symbol":225,d:152}],225:[function(t,e,r){"use strict";var n=t("./is-symbol");e.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},{"./is-symbol":223}],226:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=e||0,a=r||1;return[[t[12]+t[0],t[13]+t[1],t[14]+t[2],t[15]+t[3]],[t[12]-t[0],t[13]-t[1],t[14]-t[2],t[15]-t[3]],[t[12]+t[4],t[13]+t[5],t[14]+t[6],t[15]+t[7]],[t[12]-t[4],t[13]-t[5],t[14]-t[6],t[15]-t[7]],[n*t[12]+t[8],n*t[13]+t[9],n*t[14]+t[10],n*t[15]+t[11]],[a*t[12]-t[8],a*t[13]-t[9],a*t[14]-t[10],a*t[15]-t[11]]]}},{}],227:[function(t,e,r){"use strict";var n=t("is-string-blank");e.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0===(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},{"is-string-blank":424}],228:[function(t,e,r){"use strict";e.exports=function(t,e,r){switch(arguments.length){case 0:return new o([0],[0],0);case 1:if("number"==typeof t){var n=l(t);return new o(n,n,0)}return new o(t,l(t.length),0);case 2:if("number"==typeof e){var n=l(t.length);return new o(t,n,+e)}r=0;case 3:if(t.length!==e.length)throw new Error("state and velocity lengths must match");return new o(t,e,r)}};var n=t("cubic-hermite"),a=t("binary-search-bounds");function i(t,e,r){return Math.min(e,Math.max(t,r))}function o(t,e,r){this.dimension=t.length,this.bounds=[new Array(this.dimension),new Array(this.dimension)];for(var n=0;n<this.dimension;++n)this.bounds[0][n]=-1/0,this.bounds[1][n]=1/0;this._state=t.slice().reverse(),this._velocity=e.slice().reverse(),this._time=[r],this._scratch=[t.slice(),t.slice(),t.slice(),t.slice(),t.slice()]}var s=o.prototype;function l(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=0;return e}s.flush=function(t){var e=a.gt(this._time,t)-1;e<=0||(this._time.splice(0,e),this._state.splice(0,e*this.dimension),this._velocity.splice(0,e*this.dimension))},s.curve=function(t){var e=this._time,r=e.length,o=a.le(e,t),s=this._scratch[0],l=this._state,c=this._velocity,u=this.dimension,h=this.bounds;if(o<0)for(var f=u-1,p=0;p<u;++p,--f)s[p]=l[f];else if(o>=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p<u;++p,--f)s[p]=l[f]+d*c[f]}else{f=u*(o+1)-1;var g=e[o],v=e[o+1]-g||1,m=this._scratch[1],y=this._scratch[2],x=this._scratch[3],b=this._scratch[4],_=!0;for(p=0;p<u;++p,--f)m[p]=l[f],x[p]=c[f]*v,y[p]=l[f+u],b[p]=c[f+u]*v,_=_&&m[p]===y[p]&&x[p]===b[p]&&0===x[p];if(_)for(p=0;p<u;++p)s[p]=m[p];else n(m,x,y,b,(t-g)/v,s)}var w=h[0],k=h[1];for(p=0;p<u;++p)s[p]=i(w[p],k[p],s[p]);return s},s.dcurve=function(t){var e=this._time,r=e.length,i=a.le(e,t),o=this._scratch[0],s=this._state,l=this._velocity,c=this.dimension;if(i>=r-1)for(var u=s.length-1,h=(e[r-1],0);h<c;++h,--u)o[h]=l[u];else{u=c*(i+1)-1;var f=e[i],p=e[i+1]-f||1,d=this._scratch[1],g=this._scratch[2],v=this._scratch[3],m=this._scratch[4],y=!0;for(h=0;h<c;++h,--u)d[h]=s[u],v[h]=l[u]*p,g[h]=s[u+c],m[h]=l[u+c]*p,y=y&&d[h]===g[h]&&v[h]===m[h]&&0===v[h];if(y)for(h=0;h<c;++h)o[h]=0;else{n.derivative(d,v,g,m,(t-f)/p,o);for(h=0;h<c;++h)o[h]/=p}}return o},s.lastT=function(){var t=this._time;return t[t.length-1]},s.stable=function(){for(var t=this._velocity,e=t.length,r=this.dimension-1;r>=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1];this._time.push(e,t);for(var u=0;u<2;++u)for(var h=0;h<r;++h)n.push(n[o++]),a.push(0);this._time.push(t);for(h=r;h>0;--h)n.push(i(l[h-1],c[h-1],arguments[h])),a.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t<e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=t-e,l=this.bounds,c=l[0],u=l[1],h=s>1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=i(c[f-1],u[f-1],arguments[f]);n.push(p),a.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t<this.lastT()||arguments.length!==e+1)){var r=this._state,n=this._velocity,a=this.bounds,o=a[0],s=a[1];this._time.push(t);for(var l=e;l>0;--l)r.push(i(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,a=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(i(l[f-1],c[f-1],n[o++]+p)),a.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t<e)){var r=this.dimension,n=this._state,a=this._velocity,o=n.length-r,s=this.bounds,l=s[0],c=s[1],u=t-e;this._time.push(t);for(var h=r-1;h>=0;--h)n.push(i(l[h],c[h],n[o]+u*a[o])),a.push(0),o+=1}}},{"binary-search-bounds":92,"cubic-hermite":146}],229:[function(t,e,r){var n=t("dtype");e.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var a,i,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(a=0,o=r;a<t.length;a++)for(i=0;i<l;i++)e[o++]=null===t[a][i]?NaN:t[a][i]}else if(e&&"string"!=typeof e)e.set(t,r);else{var h=n(e||"float32");if(Array.isArray(t)||"array"===e)for(e=new h(t.length+r),a=0,o=r,s=e.length;o<s;o++,a++)e[o]=null===t[a]?NaN:t[a];else 0===r?e=new h(t):(e=new h(t.length+r)).set(t,r)}return e}},{dtype:170}],230:[function(t,e,r){"use strict";var n=t("css-font/stringify"),a=[32,126];e.exports=function(t){var e=(t=t||{}).shape?t.shape:t.canvas?[t.canvas.width,t.canvas.height]:[512,512],r=t.canvas||document.createElement("canvas"),i=t.font,o="number"==typeof t.step?[t.step,t.step]:t.step||[32,32],s=t.chars||a;i&&"string"!=typeof i&&(i=n(i));if(Array.isArray(s)){if(2===s.length&&"number"==typeof s[0]&&"number"==typeof s[1]){for(var l=[],c=s[0],u=0;c<=s[1];c++)l[u++]=String.fromCharCode(c);s=l}}else s=String(s).split("");e=e.slice(),r.width=e[0],r.height=e[1];var h=r.getContext("2d");h.fillStyle="#000",h.fillRect(0,0,r.width,r.height),h.font=i,h.textAlign="center",h.textBaseline="middle",h.fillStyle="#fff";for(var f=o[0]/2,p=o[1]/2,c=0;c<s.length;c++)h.fillText(s[c],f,p),(f+=o[0])>e[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},{"css-font/stringify":143}],231:[function(t,e,r){"use strict";function n(t,e){e||(e={}),("string"==typeof t||Array.isArray(t))&&(e.family=t);var r=Array.isArray(e.family)?e.family.join(", "):e.family;if(!r)throw Error("`family` must be defined");var s=e.size||e.fontSize||e.em||48,l=e.weight||e.fontWeight||"",c=(t=[e.style||e.fontStyle||"",l,s].join(" ")+"px "+r,e.origin||"top");if(n.cache[r]&&s<=n.cache[r].em)return a(n.cache[r],c);var u=e.canvas||n.canvas,h=u.getContext("2d"),f={upper:void 0!==e.upper?e.upper:"H",lower:void 0!==e.lower?e.lower:"x",descent:void 0!==e.descent?e.descent:"p",ascent:void 0!==e.ascent?e.ascent:"h",tittle:void 0!==e.tittle?e.tittle:"i",overshoot:void 0!==e.overshoot?e.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d={top:0};h.clearRect(0,0,p,p),h.textBaseline="top",h.fillStyle="black",h.fillText("H",0,0);var g=i(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline="bottom",h.fillText("H",0,p);var v=i(h.getImageData(0,0,p,p));d.lineHeight=d.bottom=p-v+g,h.clearRect(0,0,p,p),h.textBaseline="alphabetic",h.fillText("H",0,p);var m=p-i(h.getImageData(0,0,p,p))-1+g;d.baseline=d.alphabetic=m,h.clearRect(0,0,p,p),h.textBaseline="middle",h.fillText("H",0,.5*p);var y=i(h.getImageData(0,0,p,p));d.median=d.middle=p-y-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="hanging",h.fillText("H",0,.5*p);var x=i(h.getImageData(0,0,p,p));d.hanging=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="ideographic",h.fillText("H",0,p);var b=i(h.getImageData(0,0,p,p));if(d.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.upper,0,0),d.upper=i(h.getImageData(0,0,p,p)),d.capHeight=d.baseline-d.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.lower,0,0),d.lower=i(h.getImageData(0,0,p,p)),d.xHeight=d.baseline-d.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.tittle,0,0),d.tittle=i(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.ascent,0,0),d.ascent=i(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.descent,0,0),d.descent=o(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.overshoot,0,0);var _=o(h.getImageData(0,0,p,p));d.overshoot=_-m}for(var w in d)d[w]/=s;return d.em=s,n.cache[r]=d,a(d,c)}function a(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function i(t){for(var e=t.height,r=t.data,n=3;n<r.length;n+=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}function o(t){for(var e=t.height,r=t.data,n=r.length-1;n>0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}e.exports=n,n.canvas=document.createElement("canvas"),n.cache={}},{}],232:[function(t,e,r){"use strict";e.exports=function(t){return new c(t||d,null)};var n=0,a=1;function i(t,e,r,n,a,i){this._color=t,this.key=e,this.value=r,this.left=n,this.right=a,this._count=i}function o(t){return new i(t._color,t.key,t.value,t.left,t.right,t._count)}function s(t,e){return new i(t,e.key,e.value,e.left,e.right,e._count)}function l(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function c(t,e){this._compare=t,this.root=e}var u=c.prototype;function h(t,e){this.tree=t,this._stack=e}Object.defineProperty(u,"keys",{get:function(){var t=[];return this.forEach(function(e,r){t.push(e)}),t}}),Object.defineProperty(u,"values",{get:function(){var t=[];return this.forEach(function(e,r){t.push(r)}),t}}),Object.defineProperty(u,"length",{get:function(){return this.root?this.root._count:0}}),u.insert=function(t,e){for(var r=this._compare,o=this.root,u=[],h=[];o;){var f=r(t,o.key);u.push(o),h.push(f),o=f<=0?o.left:o.right}u.push(new i(n,t,e,null,null,1));for(var p=u.length-2;p>=0;--p){o=u[p];h[p]<=0?u[p]=new i(o._color,o.key,o.value,u[p+1],o.right,o._count+1):u[p]=new i(o._color,o.key,o.value,o.left,u[p+1],o._count+1)}for(p=u.length-1;p>1;--p){var d=u[p-1];o=u[p];if(d._color===a||o._color===a)break;var g=u[p-2];if(g.left===d)if(d.left===o){if(!(v=g.right)||v._color!==n){if(g._color=n,g.left=d.right,d._color=a,d.right=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).left===g?m.left=d:m.right=d;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else{if(!(v=g.right)||v._color!==n){if(d.right=o.left,g._color=n,g.left=o.right,o._color=a,o.left=d,o.right=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).left===g?m.left=o:m.right=o;break}d._color=a,g.right=s(a,v),g._color=n,p-=1}else if(d.right===o){if(!(v=g.left)||v._color!==n){if(g._color=n,g.right=d.left,d._color=a,d.left=g,u[p-2]=d,u[p-1]=o,l(g),l(d),p>=3)(m=u[p-3]).right===g?m.right=d:m.left=d;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}else{var v;if(!(v=g.left)||v._color!==n){var m;if(d.left=o.right,g._color=n,g.right=o.left,o._color=a,o.right=d,o.left=g,u[p-2]=o,u[p-1]=d,l(g),l(d),l(o),p>=3)(m=u[p-3]).right===g?m.right=o:m.left=o;break}d._color=a,g.left=s(a,v),g._color=n,p-=1}}return u[0]._color=a,new c(r,u[0])},u.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return function t(e,r){var n;if(r.left&&(n=t(e,r.left)))return n;return(n=e(r.key,r.value))||(r.right?t(e,r.right):void 0)}(t,this.root);case 2:return function t(e,r,n,a){if(r(e,a.key)<=0){var i;if(a.left&&(i=t(e,r,n,a.left)))return i;if(i=n(a.key,a.value))return i}if(a.right)return t(e,r,n,a.right)}(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return function t(e,r,n,a,i){var o,s=n(e,i.key),l=n(r,i.key);if(s<=0){if(i.left&&(o=t(e,r,n,a,i.left)))return o;if(l>0&&(o=a(i.key,i.value)))return o}if(l>0&&i.right)return t(e,r,n,a,i.right)}(e,r,this._compare,t,this.root)}},Object.defineProperty(u,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new h(this,t)}}),Object.defineProperty(u,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new h(this,t)}}),u.at=function(t){if(t<0)return new h(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t<e.left._count){e=e.left;continue}t-=e.left._count}if(!t)return new h(this,r);if(t-=1,!e.right)break;if(t>=e.right._count)break;e=e.right}return new h(this,[])},u.ge=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<=0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.gt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i<0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.lt=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>0&&(a=n.length),r=i<=0?r.left:r.right}return n.length=a,new h(this,n)},u.le=function(t){for(var e=this._compare,r=this.root,n=[],a=0;r;){var i=e(t,r.key);n.push(r),i>=0&&(a=n.length),r=i<0?r.left:r.right}return n.length=a,new h(this,n)},u.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var a=e(t,r.key);if(n.push(r),0===a)return new h(this,n);r=a<=0?r.left:r.right}return new h(this,[])},u.remove=function(t){var e=this.find(t);return e?e.remove():this},u.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=h.prototype;function p(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function d(t,e){return t<e?-1:t>e?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new h(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var e=new Array(t.length),r=t[t.length-1];e[e.length-1]=new i(r._color,r.key,r.value,r.left,r.right,r._count);for(var u=t.length-2;u>=0;--u){(r=t[u]).left===t[u+1]?e[u]=new i(r._color,r.key,r.value,e[u+1],r.right,r._count):e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count)}if((r=e[e.length-1]).left&&r.right){var h=e.length;for(r=r.left;r.right;)e.push(r),r=r.right;var f=e[h-1];e.push(new i(r._color,f.key,f.value,r.left,r.right,r._count)),e[h-1].key=r.key,e[h-1].value=r.value;for(u=e.length-2;u>=h;--u)r=e[u],e[u]=new i(r._color,r.key,r.value,r.left,e[u+1],r._count);e[h-1].left=e[h]}if((r=e[e.length-1])._color===n){var d=e[e.length-2];d.left===r?d.left=null:d.right===r&&(d.right=null),e.pop();for(u=0;u<e.length;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(r.left||r.right){r.left?p(r,r.left):r.right&&p(r,r.right),r._color=a;for(u=0;u<e.length-1;++u)e[u]._count--;return new c(this.tree._compare,e[0])}if(1===e.length)return new c(this.tree._compare,null);for(u=0;u<e.length;++u)e[u]._count--;var g=e[e.length-2];return function(t){for(var e,r,i,c,u=t.length-1;u>=0;--u){if(e=t[u],0===u)return void(e._color=a);if((r=t[u-1]).left===e){if((i=r.right).right&&i.right._color===n)return c=(i=r.right=o(i)).right=o(i.right),r.right=i.left,i.left=r,i.right=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),void(t[u-1]=i);if(i.left&&i.left._color===n)return c=(i=r.right=o(i)).left=o(i.left),r.right=c.left,i.left=c.right,c.left=r,c.right=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).left===r?h.left=c:h.right=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.right=s(n,i));r.right=s(n,i);continue}i=o(i),r.right=i.left,i.left=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).left===r?h.left=i:h.right=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}else{if((i=r.left).left&&i.left._color===n)return c=(i=r.left=o(i)).left=o(i.left),r.left=i.right,i.right=r,i.left=c,i._color=r._color,e._color=a,r._color=a,c._color=a,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),void(t[u-1]=i);if(i.right&&i.right._color===n)return c=(i=r.left=o(i)).right=o(i.right),r.left=c.right,i.right=c.left,c.right=r,c.left=i,c._color=r._color,r._color=a,i._color=a,e._color=a,l(r),l(i),l(c),u>1&&((h=t[u-2]).right===r?h.right=c:h.left=c),void(t[u-1]=c);if(i._color===a){if(r._color===n)return r._color=a,void(r.left=s(n,i));r.left=s(n,i);continue}var h;i=o(i),r.left=i.right,i.right=r,i._color=r._color,r._color=n,l(r),l(i),u>1&&((h=t[u-2]).right===r?h.right=i:h.left=i),t[u-1]=i,t[u]=r,u+1<t.length?t[u+1]=e:t.push(e),u+=2}}}(e),g.left===r?g.left=null:g.right=null,new c(this.tree._compare,e[0])},Object.defineProperty(f,"key",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var e=this._stack;if(0===e.length)throw new Error("Can't update empty node!");var r=new Array(e.length),n=e[e.length-1];r[r.length-1]=new i(n._color,n.key,t,n.left,n.right,n._count);for(var a=e.length-2;a>=0;--a)(n=e[a]).left===e[a+1]?r[a]=new i(n._color,n.key,n.value,r[a+1],n.right,n._count):r[a]=new i(n._color,n.key,n.value,n.left,r[a+1],n._count);return new c(this.tree._compare,r[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},{}],233:[function(t,e,r){var n=[.9999999999998099,676.5203681218851,-1259.1392167224028,771.3234287776531,-176.6150291621406,12.507343278686905,-.13857109526572012,9984369578019572e-21,1.5056327351493116e-7],a=607/128,i=[.9999999999999971,57.15623566586292,-59.59796035547549,14.136097974741746,-.4919138160976202,3399464998481189e-20,4652362892704858e-20,-9837447530487956e-20,.0001580887032249125,-.00021026444172410488,.00021743961811521265,-.0001643181065367639,8441822398385275e-20,-26190838401581408e-21,36899182659531625e-22];function o(t){if(t<0)return Number("0/0");for(var e=i[0],r=i.length-1;r>0;--r)e+=i[r]/(t+r);var n=t+a+.5;return.5*Math.log(2*Math.PI)+(t+.5)*Math.log(n)-n+Math.log(e)-Math.log(t)}e.exports=function t(e){if(e<.5)return Math.PI/(Math.sin(Math.PI*e)*t(1-e));if(e>100)return Math.exp(o(e));e-=1;for(var r=n[0],a=1;a<9;a++)r+=n[a]/(e+a);var i=e+7+.5;return Math.sqrt(2*Math.PI)*Math.pow(i,e+.5)*Math.exp(-i)*r},e.exports.log=o},{}],234:[function(t,e,r){e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("must specify type string");if(e=e||{},"undefined"==typeof document&&!e.canvas)return null;var r=e.canvas||document.createElement("canvas");"number"==typeof e.width&&(r.width=e.width);"number"==typeof e.height&&(r.height=e.height);var n,a=e;try{var i=[t];0===t.indexOf("webgl")&&i.push("experimental-"+t);for(var o=0;o<i.length;o++)if(n=r.getContext(i[o],a))return n}catch(t){n=null}return n||null}},{}],235:[function(t,e,r){"use strict";e.exports=function(t,e){var r=new u(t);return r.update(e),r};var n=t("./lib/text.js"),a=t("./lib/lines.js"),i=t("./lib/background.js"),o=t("./lib/cube.js"),s=t("./lib/ticks.js"),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function c(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont="sans-serif",this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=i(t)}var h=u.prototype;function f(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}h.update=function(t){function e(e,r,n){if(n in t){var a,i=t[n],o=this[n];(e?Array.isArray(i)&&Array.isArray(i[0]):Array.isArray(i))?this[n]=a=[r(i[0]),r(i[1]),r(i[2])]:this[n]=a=[r(i),r(i),r(i)];for(var s=0;s<3;++s)if(a[s]!==o[s])return!0}return!1}t=t||{};var r,i=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]}),u=!1,h=!1;if("bounds"in t)for(var f=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)f[p][d]!==this.bounds[p][d]&&(h=!0),this.bounds[p][d]=f[p][d];if("ticks"in t){r=t.ticks,u=!0,this.autoTicks=!1;for(p=0;p<3;++p)this.tickSpacing[p]=0}else i("tickSpacing")&&(this.autoTicks=!0,h=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),h=!0,u=!0,this._firstInit=!1),h&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(p=0;p<3;++p)r[p].sort(function(t,e){return t.x-e.x});s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),i("tickSize"),i("tickAngle"),i("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),o("labelEnable"),i("labelSize"),i("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),i("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),i("lineTickLength"),i("lineTickWidth"),c("lineTickColor"),o("gridEnable"),i("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),i("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor"),this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont):this._text=n(this.gl,this.bounds,this.labels,this.labelFont,this.ticks,this.tickFont),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=a(this.gl,this.bounds,this.ticks))};var p=[new f,new f,new f];function d(t,e,r,n,a){for(var i=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=i,f=s,p=o,d=l;c&1<<u&&(h=s,f=i,p=l,d=o),h[u]=r[0][u],f[u]=r[1][u],a[u]>0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var g=[0,0,0],v={model:l,view:l,projection:l,_ortho:!1};h.isOpaque=function(){return!0},h.isTransparent=function(){return!1},h.drawTransparent=function(t){};var m=[0,0,0],y=[0,0,0],x=[0,0,0];h.draw=function(t){t=t||v;for(var e=this.gl,r=t.model||l,n=t.view||l,a=t.projection||l,i=this.bounds,s=t._ortho||!1,u=o(r,n,a,i,s),h=u.cubeEdges,f=u.axis,b=n[12],_=n[13],w=n[14],k=n[15],T=(s?2:1)*this.pixelRatio*(a[3]*b+a[7]*_+a[11]*w+a[15]*k)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=h[A],this.lastCubeProps.axis[A]=f[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,h,f);e=this.gl;var S,E=g;for(A=0;A<3;++A)this.backgroundEnable[A]?E[A]=f[A]:E[A]=0;this._background.draw(r,n,a,i,E,this.backgroundColor),this._lines.bind(r,n,a,this);for(A=0;A<3;++A){var L=[0,0,0];f[A]>0?L[A]=i[1][A]:L[A]=i[0][A];for(var C=0;C<2;++C){var P=(A+1+C)%3,O=(A+1+(1^C))%3;this.gridEnable[P]&&this._lines.drawGrid(P,O,this.bounds,L,this.gridColor[P],this.gridWidth[P]*this.pixelRatio)}for(C=0;C<2;++C){P=(A+1+C)%3,O=(A+1+(1^C))%3;this.zeroEnable[O]&&Math.min(i[0][O],i[1][O])<=0&&Math.max(i[0][O],i[1][O])>=0&&this._lines.drawZero(P,O,this.bounds,L,this.zeroLineColor[O],this.zeroLineWidth[O]*this.pixelRatio)}}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var z=c(m,M[A].primalMinor),I=c(y,M[A].mirrorMinor),D=this.lineTickLength;for(C=0;C<3;++C){var R=T/r[5*C];z[C]*=D[C]*R,I[C]*=D[C]*R}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,z,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,I,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}this._lines.unbind(),this._text.bind(r,n,a,this.pixelRatio);var F,B;function N(t){(B=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,a=(t+2)%3,i=e[n],o=e[a],s=r[n],l=r[a];i>0&&l>0?N(n):i>0&&l<0?N(n):i<0&&l>0?N(n):i<0&&l<0?N(n):o>0&&s>0?N(a):o>0&&s<0?N(a):o<0&&s>0?N(a):o<0&&s<0&&N(a)}for(A=0;A<3;++A){var V=M[A].primalMinor,U=M[A].mirrorMinor,q=c(x,M[A].primalOffset);for(C=0;C<3;++C)this.lineTickEnable[A]&&(q[C]+=T*V[C]*Math.max(this.lineTickLength[C],0)/r[5*C]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,F=1,"auto"===(S=[this.tickAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]),B=[0,0,0],j(A,V,U);for(C=0;C<3;++C)q[C]+=T*V[C]*this.tickPad[C]/r[5*C];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,B,S)}if(this.labelEnable[A]){F=0,B=[0,0,0],this.labels[A].length>4&&(N(A),F=1),"auto"===(S=[this.labelAlign[A],.5,F])[0]?S[0]=0:S[0]=parseInt(""+S[0]);for(C=0;C<3;++C)q[C]+=T*V[C]*this.labelPad[C]/r[5*C];q[A]+=.5*(i[0][A]+i[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],B,S)}}this._text.unbind()},h.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},{"./lib/background.js":236,"./lib/cube.js":237,"./lib/lines.js":238,"./lib/text.js":240,"./lib/ticks.js":241}],236:[function(t,e,r){"use strict";e.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var g=-1;g<=1;g+=2)h[u]=g,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var v=c;c=u,u=v}var m=n(t,new Float32Array(e)),y=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=a(t,[{buffer:m,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:m,type:t.FLOAT,size:3,offset:12,stride:24}],y),b=i(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,m,x,b)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,a,i){for(var o=!1,s=0;s<3;++s)o=o||a[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:a,colors:i},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders":239,"gl-buffer":243,"gl-vao":328}],237:[function(t,e,r){"use strict";e.exports=function(t,e,r,i,p){a(s,e,t),a(s,r,s);for(var y=0,x=0;x<2;++x){u[2]=i[x][2];for(var b=0;b<2;++b){u[1]=i[b][1];for(var _=0;_<2;++_)u[0]=i[_][0],f(l[y],u,s),y+=1}}for(var w=-1,x=0;x<8;++x){for(var k=l[x][3],T=0;T<3;++T)c[x][T]=l[x][T]/k;p&&(c[x][2]*=-1),k<0&&(w<0?w=x:c[x][2]<c[w][2]&&(w=x))}if(w<0){w=0;for(var A=0;A<3;++A){for(var M=(A+2)%3,S=(A+1)%3,E=-1,L=-1,C=0;C<2;++C){var P=C<<A,O=P+(C<<M)+(1-C<<S),z=P+(1-C<<M)+(C<<S);o(c[P],c[O],c[z],h)<0||(C?E=1:L=1)}if(E<0||L<0)L>E&&(w|=1<<A);else{for(var C=0;C<2;++C){var P=C<<A,O=P+(C<<M)+(1-C<<S),z=P+(1-C<<M)+(C<<S),I=d([l[P],l[O],l[z],l[P+(1<<M)+(1<<S)]]);C?E=I:L=I}L>E&&(w|=1<<A)}}}for(var D=7^w,R=-1,x=0;x<8;++x)x!==w&&x!==D&&(R<0?R=x:c[R][1]>c[x][1]&&(R=x));for(var F=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D){F<0&&(F=B);var S=c[B];S[0]<c[F][0]&&(F=B)}}for(var N=-1,x=0;x<3;++x){var B=R^1<<x;if(B!==w&&B!==D&&B!==F){N<0&&(N=B);var S=c[B];S[0]>c[N][0]&&(N=B)}}var j=g;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^N)]=R&N;var V=7^N;V===w||V===D?(V=7^F,j[n.log2(N^V)]=V&N):j[n.log2(F^V)]=V&F;for(var U=v,q=w,A=0;A<3;++A)U[A]=q&1<<A?-1:1;return m};var n=t("bit-twiddle"),a=t("gl-mat4/multiply"),i=t("split-polygon"),o=t("robust-orientation"),s=new Array(16),l=new Array(8),c=new Array(8),u=new Array(3),h=[0,0,0];function f(t,e,r){for(var n=0;n<4;++n){t[n]=r[12+n];for(var a=0;a<3;++a)t[n]+=e[a]*r[4*a+n]}}!function(){for(var t=0;t<8;++t)l[t]=[1,1,1,1],c[t]=[1,1,1]}();var p=[[0,0,1,0,0],[0,0,-1,1,0],[0,-1,0,1,0],[0,1,0,1,0],[-1,0,0,1,0],[1,0,0,1,0]];function d(t){for(var e=0;e<p.length;++e)if((t=i.positive(t,p[e])).length<3)return 0;var r=t[0],n=r[0]/r[3],a=r[1]/r[3],o=0;for(e=1;e+1<t.length;++e){var s=t[e],l=t[e+1],c=s[0]/s[3]-n,u=s[1]/s[3]-a,h=l[0]/l[3]-n,f=l[1]/l[3]-a;o+=Math.abs(c*f-u*h)}return o}var g=[1,1,1],v=[0,0,0],m={cubeEdges:g,axis:v}},{"bit-twiddle":93,"gl-mat4/multiply":269,"robust-orientation":508,"split-polygon":525}],238:[function(t,e,r){"use strict";e.exports=function(t,e,r){var o=[],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[0,0,0];o.push(0,0,1,0,1,1,0,0,-1,0,0,-1,0,1,1,0,1,-1);for(var h=0;h<3;++h){for(var f=o.length/3|0,d=0;d<r[h].length;++d){var g=+r[h][d].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;s[h]=f,l[h]=v-f;for(var f=o.length/3|0,m=0;m<r[h].length;++m){var g=+r[h][m].x;o.push(g,0,1,g,1,1,g,0,-1,g,0,-1,g,1,1,g,1,-1)}var v=o.length/3|0;c[h]=f,u[h]=v-f}var y=n(t,new Float32Array(o)),x=a(t,[{buffer:y,type:t.FLOAT,size:3,stride:0,offset:0}]),b=i(t);return b.attributes.position.location=0,new p(t,y,x,b,l,s,u,c)};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders").line,o=[0,0,0],s=[0,0,0],l=[0,0,0],c=[0,0,0],u=[1,1];function h(t){return t[0]=t[1]=t[2]=0,t}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t,e,r,n,a,i,o,s){this.gl=t,this.vertBuffer=e,this.vao=r,this.shader=n,this.tickCount=a,this.tickOffset=i,this.gridCount=o,this.gridOffset=s}var d=p.prototype;d.bind=function(t,e,r){this.shader.bind(),this.shader.uniforms.model=t,this.shader.uniforms.view=e,this.shader.uniforms.projection=r,u[0]=this.gl.drawingBufferWidth,u[1]=this.gl.drawingBufferHeight,this.shader.uniforms.screenShape=u,this.vao.bind()},d.unbind=function(){this.vao.unbind()},d.drawAxisLine=function(t,e,r,n,a){var i=h(s);this.shader.uniforms.majorAxis=s,i[t]=e[1][t]-e[0][t],this.shader.uniforms.minorAxis=i;var o,u=f(c,r);u[t]+=e[0][t],this.shader.uniforms.offset=u,this.shader.uniforms.lineWidth=a,this.shader.uniforms.color=n,(o=h(l))[(t+2)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6),(o=h(l))[(t+1)%3]=1,this.shader.uniforms.screenAxis=o,this.vao.draw(this.gl.TRIANGLES,6)},d.drawAxisTicks=function(t,e,r,n,a){if(this.tickCount[t]){var i=h(o);i[t]=1,this.shader.uniforms.majorAxis=i,this.shader.uniforms.offset=e,this.shader.uniforms.minorAxis=r,this.shader.uniforms.color=n,this.shader.uniforms.lineWidth=a;var s=h(l);s[t]=1,this.shader.uniforms.screenAxis=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t])}},d.drawGrid=function(t,e,r,n,a,i){if(this.gridCount[t]){var u=h(s);u[e]=r[1][e]-r[0][e],this.shader.uniforms.minorAxis=u;var p=f(c,n);p[e]+=r[0][e],this.shader.uniforms.offset=p;var d=h(o);d[t]=1,this.shader.uniforms.majorAxis=d;var g=h(l);g[t]=1,this.shader.uniforms.screenAxis=g,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,this.gridCount[t],this.gridOffset[t])}},d.drawZero=function(t,e,r,n,a,i){var o=h(s);this.shader.uniforms.majorAxis=o,o[t]=r[1][t]-r[0][t],this.shader.uniforms.minorAxis=o;var u=f(c,n);u[t]+=r[0][t],this.shader.uniforms.offset=u;var p=h(l);p[e]=1,this.shader.uniforms.screenAxis=p,this.shader.uniforms.lineWidth=i,this.shader.uniforms.color=a,this.vao.draw(this.gl.TRIANGLES,6)},d.dispose=function(){this.vao.dispose(),this.vertBuffer.dispose(),this.shader.dispose()}},{"./shaders":239,"gl-buffer":243,"gl-vao":328}],239:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, majorAxis, minorAxis, screenAxis;\nuniform float lineWidth;\nuniform vec2 screenShape;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nvoid main() {\n  vec3 major = position.x * majorAxis;\n  vec3 minor = position.y * minorAxis;\n\n  vec3 vPosition = major + minor + offset;\n  vec3 pPosition = project(vPosition);\n  vec3 offset = project(vPosition + screenAxis * position.z);\n\n  vec2 screen = normalize((offset - pPosition).xy * screenShape) / screenShape;\n\n  gl_Position = vec4(pPosition + vec3(0.5 * screen * lineWidth, 0), 1.0);\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);r.line=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"}])};var s=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\nuniform vec3 offset, axis, alignDir, alignOpt;\nuniform float scale, angle, pixelScale;\nuniform vec2 resolution;\n\nvec3 project(vec3 p) {\n  vec4 pp = projection * view * model * vec4(p, 1.0);\n  return pp.xyz / max(pp.w, 0.0001);\n}\n\nfloat computeViewAngle(vec3 a, vec3 b) {\n  vec3 A = project(a);\n  vec3 B = project(b);\n\n  return atan(\n    (B.y - A.y) * resolution.y,\n    (B.x - A.x) * resolution.x\n  );\n}\n\nconst float PI = 3.141592;\nconst float TWO_PI = 2.0 * PI;\nconst float HALF_PI = 0.5 * PI;\nconst float ONE_AND_HALF_PI = 1.5 * PI;\n\nint option = int(floor(alignOpt.x + 0.001));\nfloat hv_ratio =       alignOpt.y;\nbool enableAlign =    (alignOpt.z != 0.0);\n\nfloat mod_angle(float a) {\n  return mod(a, PI);\n}\n\nfloat positive_angle(float a) {\n  return mod_angle((a < 0.0) ?\n    a + TWO_PI :\n    a\n  );\n}\n\nfloat look_upwards(float a) {\n  float b = positive_angle(a);\n  return ((b > HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n    b - PI :\n    b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n  // ratio controls the ratio between being horizontal to (vertical + horizontal)\n  // if ratio is set to 0.5 then it is 50%, 50%.\n  // when using a higher ratio e.g. 0.75 the result would\n  // likely be more horizontal than vertical.\n\n  float b = positive_angle(a);\n\n  return\n    (b < (      ratio) * HALF_PI) ? 0.0 :\n    (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n    (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n    (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n                                    0.0;\n}\n\nfloat roundTo(float a, float b) {\n  return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n  float b = positive_angle(a);\n  float div = TWO_PI / float(n);\n  float c = roundTo(b, div);\n  return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n  return\n    (option >  2) ? look_round_n_directions(rawAngle + delta, option) :       // option 3-n: round to n directions\n    (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n    (option == 1) ? rawAngle + delta :       // use free angle, and flip to align with one direction of the axis\n    (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n    (option ==-1) ? 0.0 :                    // useful for backward compatibility, all texts remains horizontal\n                    rawAngle;                // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n                   (axis.y == 0.0) &&\n                   (axis.z == 0.0);\n\nvoid main() {\n  //Compute world offset\n  float axisDistance = position.z;\n  vec3 dataPosition = axisDistance * axis + offset;\n\n  float beta = angle; // i.e. user defined attributes for each tick\n\n  float axisAngle;\n  float clipAngle;\n  float flip;\n\n  if (enableAlign) {\n    axisAngle = (isAxisTitle) ? HALF_PI :\n                      computeViewAngle(dataPosition, dataPosition + axis);\n    clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n    axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n    clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n    flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n                vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n    beta += applyAlignOption(clipAngle, flip * PI);\n  }\n\n  //Compute plane offset\n  vec2 planeCoord = position.xy * pixelScale;\n\n  mat2 planeXform = scale * mat2(\n     cos(beta), sin(beta),\n    -sin(beta), cos(beta)\n  );\n\n  vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n  //Compute clip position\n  vec3 clipPosition = project(dataPosition);\n\n  //Apply text offset in clip coordinates\n  clipPosition += vec3(viewOffset, 0.0);\n\n  //Done\n  gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = color;\n}"]);r.text=function(t){return a(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n  vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n  vec3 realNormal = signAxis * normal;\n\n  if(dot(realNormal, enable) > 0.0) {\n    vec3 minRange = min(bounds[0], bounds[1]);\n    vec3 maxRange = max(bounds[0], bounds[1]);\n    vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n    gl_Position = projection * view * model * vec4(nPosition, 1.0);\n  } else {\n    gl_Position = vec4(0,0,0,0);\n  }\n\n  colorChannel = abs(realNormal);\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n  gl_FragColor = colorChannel.x * colors[0] +\n                 colorChannel.y * colors[1] +\n                 colorChannel.z * colors[2];\n}"]);r.bg=function(t){return a(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},{"gl-shader":303,glslify:410}],240:[function(t,e,r){(function(r){"use strict";e.exports=function(t,e,r,i,s,l){var u=n(t),h=a(t,[{buffer:u,size:3}]),f=o(t);f.attributes.position.location=0;var p=new c(t,f,u,h);return p.update(e,r,i,s,l),p};var n=t("gl-buffer"),a=t("gl-vao"),i=t("vectorize-text"),o=t("./shaders").text,s=window||r.global||{},l=s.__TEXT_CACHE||{};s.__TEXT_CACHE={};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}var u=c.prototype,h=[0,0];u.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var a=this.shader.uniforms;a.model=t,a.view=e,a.projection=r,a.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},u.unbind=function(){this.vao.unbind()},u.update=function(t,e,r,n,a){var o=[];function s(t,e,r,n,a,s){var c=l[r];c||(c=l[r]={});var u=c[e];u||(u=c[e]=function(t,e){try{return i(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r,textAlign:"center",textBaseline:"middle",lineSpacing:a,styletags:s}));for(var h=(n||12)/12,f=u.positions,p=u.cells,d=0,g=p.length;d<g;++d)for(var v=p[d],m=2;m>=0;--m){var y=f[v[m]];o.push(h*y[0],-h*y[1],t)}}for(var c=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=o.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(o.length/3|0)-h[d],c[d]=o.length/3|0;for(var g=0;g<n[d].length;++g)n[d][g].text&&s(n[d][g].x,n[d][g].text,n[d][g].font||a,n[d][g].fontSize||12,1.25,p);u[d]=(o.length/3|0)-c[d]}this.buffer.update(o),this.tickOffset=c,this.tickCount=u,this.labelOffset=h,this.labelCount=f},u.drawTicks=function(t,e,r,n,a,i,o,s){this.tickCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.tickCount[t],this.tickOffset[t]))},u.drawLabel=function(t,e,r,n,a,i,o,s){this.labelCount[t]&&(this.shader.uniforms.axis=i,this.shader.uniforms.color=a,this.shader.uniforms.angle=r,this.shader.uniforms.scale=e,this.shader.uniforms.offset=n,this.shader.uniforms.alignDir=o,this.shader.uniforms.alignOpt=s,this.vao.draw(this.gl.TRIANGLES,this.labelCount[t],this.labelOffset[t]))},u.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()}}).call(this,t("_process"))},{"./shaders":239,_process:483,"gl-buffer":243,"gl-vao":328,"vectorize-text":548}],241:[function(t,e,r){"use strict";function n(t,e){var r=t+"",n=r.indexOf("."),a=0;n>=0&&(a=r.length-n-1);var i=Math.pow(10,a),o=Math.round(t*e*i),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/i,c=o%i;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),a){for(var h=""+c;h.length<a;)h="0"+h;return u+"."+h}return u}r.create=function(t,e){for(var r=[],a=0;a<3;++a){for(var i=[],o=(t[0][a],t[1][a],0);o*e[a]<=t[1][a];++o)i.push({x:o*e[a],text:n(e[a],o)});for(var o=-1;o*e[a]>=t[0][a];--o)i.push({x:o*e[a],text:n(e[a],o)});r.push(i)}return r},r.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;++n){var a=t[r][n],i=e[r][n];if(a.x!==i.x||a.text!==i.text||a.font!==i.font||a.fontColor!==i.fontColor||a.fontSize!==i.fontSize||a.dx!==i.dx||a.dy!==i.dy)return!1}}return!0}},{}],242:[function(t,e,r){"use strict";e.exports=function(t,e,r,l,h){var f=e.model||c,p=e.view||c,m=e.projection||c,y=e._ortho||!1,x=t.bounds,b=(h=h||i(f,p,m,x,y)).axis;o(u,p,f),o(u,m,u);for(var _=g,w=0;w<3;++w)_[w].lo=1/0,_[w].hi=-1/0,_[w].pixelsPerDataUnit=1/0;var k=n(s(u,u));s(u,u);for(var T=0;T<3;++T){var A=(T+1)%3,M=(T+2)%3,S=v;t:for(var w=0;w<2;++w){var E=[];if(b[T]<0!=!!w){S[T]=x[w][T];for(var L=0;L<2;++L){S[A]=x[L^w][A];for(var C=0;C<2;++C)S[M]=x[C^L^w][M],E.push(S.slice())}for(var P=y?5:4,L=P;L===P;++L){if(0===E.length)continue t;E=a.positive(E,k[L])}for(var L=0;L<E.length;++L)for(var M=E[L],O=d(v,u,M,r,l),C=0;C<3;++C)_[C].lo=Math.min(_[C].lo,M[C]),_[C].hi=Math.max(_[C].hi,M[C]),C!==T&&(_[C].pixelsPerDataUnit=Math.min(_[C].pixelsPerDataUnit,Math.abs(O[C])))}}}return _};var n=t("extract-frustum-planes"),a=t("split-polygon"),i=t("./lib/cube.js"),o=t("gl-mat4/multiply"),s=t("gl-mat4/transpose"),l=t("gl-vec4/transformMat4"),c=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),u=new Float32Array(16);function h(t,e,r){this.lo=t,this.hi=e,this.pixelsPerDataUnit=r}var f=[0,0,0,1],p=[0,0,0,1];function d(t,e,r,n,a){for(var i=0;i<3;++i){for(var o=f,s=p,c=0;c<3;++c)s[c]=o[c]=r[c];s[3]=o[3]=1,s[i]+=1,l(s,s,e),s[3]<0&&(t[i]=1/0),o[i]-=1,l(o,o,e),o[3]<0&&(t[i]=1/0);var u=(o[0]/o[3]-s[0]/s[3])*n,h=(o[1]/o[3]-s[1]/s[3])*a;t[i]=.25*Math.sqrt(u*u+h*h)}return t}var g=[new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0),new h(1/0,-1/0,1/0)],v=[0,0,0]},{"./lib/cube.js":237,"extract-frustum-planes":226,"gl-mat4/multiply":269,"gl-mat4/transpose":278,"gl-vec4/transformMat4":399,"split-polygon":525}],243:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=t("ndarray-ops"),i=t("ndarray"),o=["uint8","uint8_clamped","uint16","uint32","int8","int16","int32","float32"];function s(t,e,r,n,a){this.gl=t,this.type=e,this.handle=r,this.length=n,this.usage=a}var l=s.prototype;function c(t,e,r,n,a,i){var o=a.length*a.BYTES_PER_ELEMENT;if(i<0)return t.bufferData(e,a,n),o;if(o+i>r)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,i,a),r}function u(t,e){for(var r=n.malloc(t.length,e),a=t.length,i=0;i<a;++i)r[i]=t[i];return r}l.bind=function(){this.gl.bindBuffer(this.type,this.handle)},l.unbind=function(){this.gl.bindBuffer(this.type,null)},l.dispose=function(){this.gl.deleteBuffer(this.handle)},l.update=function(t,e){if("number"!=typeof e&&(e=-1),this.bind(),"object"==typeof t&&"undefined"!=typeof t.shape){var r=t.dtype;if(o.indexOf(r)<0&&(r="float32"),this.type===this.gl.ELEMENT_ARRAY_BUFFER)r=gl.getExtension("OES_element_index_uint")&&"uint16"!==r?"uint32":"uint16";if(r===t.dtype&&function(t,e){for(var r=1,n=e.length-1;n>=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=i(s,t.shape);a.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},e.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var a=t.createBuffer(),i=new s(t,r,a,0,n);return i.update(e),i}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],244:[function(t,e,r){"use strict";var n=t("gl-vec3");e.exports=function(t,e){var r=t.positions,a=t.vectors,i={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),i;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,g=[],v=1/0,m=!1,y=0;y<r.length;y++){var x=r[y];s=Math.min(x[0],s),l=Math.max(x[0],l),c=Math.min(x[1],c),u=Math.max(x[1],u),h=Math.min(x[2],h),f=Math.max(x[2],f);var b=a[y];if(n.length(b)>o&&(o=n.length(b)),y){var _=2*n.distance(p,x)/(n.length(d)+n.length(b));_?(v=Math.min(v,_),m=!1):m=!0}m||(p=x,d=b),g.push(b)}var w=[s,c,h],k=[l,u,f];e&&(e[0]=w,e[1]=k),0===o&&(o=1);var T=1/o;isFinite(v)||(v=1),i.vectorScale=v;var A=t.coneSize||.5;t.absoluteConeSize&&(A=t.absoluteConeSize*T),i.coneScale=A;y=0;for(var M=0;y<r.length;y++)for(var S=(x=r[y])[0],E=x[1],L=x[2],C=g[y],P=n.length(C)*T,O=0;O<8;O++){i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.positions.push([S,E,L,M++]),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vectors.push(C),i.vertexIntensity.push(P,P,P),i.vertexIntensity.push(P,P,P);var z=i.positions.length;i.cells.push([z-6,z-5,z-4],[z-3,z-2,z-1])}return i};var a=t("./lib/shaders");e.exports.createMesh=t("./create_mesh"),e.exports.createConeMesh=function(t,r){return e.exports.createMesh(t,r,{shaders:a,traceType:"cone"})}},{"./create_mesh":245,"./lib/shaders":246,"gl-vec3":347}],245:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("gl-mat4/multiply"),l=t("gl-mat4/invert"),c=t("ndarray"),u=t("colormap"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e,r,n,a,i,o,s,l,c,u){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.pickShader=n,this.trianglePositions=a,this.triangleVectors=i,this.triangleColors=s,this.triangleUVs=l,this.triangleIds=o,this.triangleVAO=c,this.triangleCount=0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.traceType=u,this.tubeScale=1,this.coneScale=2,this.vectorScale=1,this.coneOffset=.25,this._model=h,this._view=h,this._projection=h,this._resolution=[1,1]}var p=f.prototype;p.isOpaque=function(){return this.opacity>=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var a=e[n],i=0;i<3;++i)r[4*n+i]=a[i];r[4*n+3]=255*a[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,a=t.vectors;if(n&&r&&a){var i=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=a;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,g=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],g=+t.vertexIntensityBounds[1];else for(var v=0;v<p.length;++v){var m=p[v];d=Math.min(d,m),g=Math.max(g,m)}else for(v=0;v<n.length;++v){m=n[v][2];d=Math.min(d,m),g=Math.max(g,m)}this.intensity=p||function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n),this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(v=0;v<n.length;++v)for(var y=n[v],x=0;x<3;++x)!isNaN(y[x])&&isFinite(y[x])&&(this.bounds[0][x]=Math.min(this.bounds[0][x],y[x]),this.bounds[1][x]=Math.max(this.bounds[1][x],y[x]));var b=0;t:for(v=0;v<r.length;++v){var _=r[v];switch(_.length){case 3:for(x=0;x<3;++x){y=n[k=_[x]];for(var w=0;w<3;++w)if(isNaN(y[w])||!isFinite(y[w]))continue t}for(x=0;x<3;++x){var k;y=n[k=_[2-x]];i.push(y[0],y[1],y[2],y[3]);var T=a[k];o.push(T[0],T[1],T[2],T[3]||0);var A,M=f;3===M.length?s.push(M[0],M[1],M[2],1):s.push(M[0],M[1],M[2],M[3]),A=p?[(p[k]-d)/(g-d),0]:[(y[2]-d)/(g-d),0],l.push(A[0],A[1]),h.push(v)}b+=1}}this.triangleCount=b,this.trianglePositions.update(i),this.triangleVectors.update(o),this.triangleColors.update(s),this.triangleUVs.update(l),this.triangleIds.update(new Uint32Array(h))}},p.drawTransparent=p.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var c={model:r,view:n,projection:a,inverseModel:h.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],opacity:this.opacity,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,texture:0};c.inverseModel=l(c.inverseModel,c.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);s(u,c.view,c.model),s(u,c.projection,u),l(u,u);for(o=0;o<3;++o)c.eyePosition[o]=u[12+o]/u[15];var f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];c.lightPosition[o]=p/f}if(this.triangleCount>0){var g=this.triShader;g.bind(),g.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,a=t.projection||h,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:a,clipBounds:i,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),a={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?a.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(a.intensity=this.intensity[r[1]],a.velocity=this.vectors[r[1]].slice(0,3),a.divergence=this.vectors[r[1]][3],a.index=e),a},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},e.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),u=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),h=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=t.LINEAR_MIPMAP_LINEAR,h.magFilter=t.LINEAR;var p=a(t),d=a(t),g=a(t),v=a(t),m=a(t),y=new f(t,h,l,u,p,d,m,g,v,i(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:m,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:v,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return y.update(e),y}},{colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-shader":303,"gl-texture2d":323,"gl-vao":328,ndarray:451}],246:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * conePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(conePosition, 1.0);\n  vec4 t_position  = view * conePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = conePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n//   segment + 0 top vertex\n//   segment + 1 perimeter vertex a+1\n//   segment + 2 perimeter vertex a\n//   segment + 3 center base vertex\n//   segment + 4 perimeter vertex a\n//   segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n  const float segmentCount = 8.0;\n\n  float index = rawIndex - floor(rawIndex /\n    (segmentCount * 6.0)) *\n    (segmentCount * 6.0);\n\n  float segment = floor(0.001 + index/6.0);\n  float segmentIndex = index - (segment*6.0);\n\n  normal = -normalize(d);\n\n  if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n    return mix(vec3(0.0), -d, coneOffset);\n  }\n\n  float nextAngle = (\n    (segmentIndex > 0.99 &&  segmentIndex < 1.01) ||\n    (segmentIndex > 4.99 &&  segmentIndex < 5.01)\n  ) ? 1.0 : 0.0;\n  float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n  vec3 v1 = mix(d, vec3(0.0), coneOffset);\n  vec3 v2 = v1 - d;\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d)*0.25;\n  vec3 y = v * sin(angle) * length(d)*0.25;\n  vec3 v3 = v2 + x + y;\n  if (segmentIndex < 3.0) {\n    vec3 tx = u * sin(angle);\n    vec3 ty = v * -cos(angle);\n    vec3 tangent = tx + ty;\n    normal = normalize(cross(v3 - v1, tangent));\n  }\n\n  if (segmentIndex == 0.0) {\n    return mix(d, vec3(0.0), coneOffset);\n  }\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n  vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n  gl_Position = projection * view * conePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},{glslify:410}],247:[function(t,e,r){e.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34000:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},{}],248:[function(t,e,r){var n=t("./1.0/numbers");e.exports=function(t){return n[t]}},{"./1.0/numbers":247}],249:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),o=a(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=i(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index"),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,a=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var i=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho||!1?2:1)*this.pixelRatio*(a[3]*i+a[7]*s+a[11]*l+a[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var a=-1;a<=1;a+=2){var i=[0,0,0];i[(n+e)%3]=a,r.push(i)}t[e]=r}return t}();function h(t,e,r,n){for(var a=u[n],i=0;i<a.length;++i){var o=a[i];t.push(e[0],e[1],e[2],r[0],r[1],r[2],r[3],o[0],o[1],o[2])}return a.length}l.update=function(t){"lineWidth"in(t=t||{})&&(this.lineWidth=t.lineWidth,Array.isArray(this.lineWidth)||(this.lineWidth=[this.lineWidth,this.lineWidth,this.lineWidth])),"capSize"in t&&(this.capSize=t.capSize,Array.isArray(this.capSize)||(this.capSize=[this.capSize,this.capSize,this.capSize])),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var e=t.color||[[0,0,0],[0,0,0],[0,0,0]],r=t.position,n=t.error;if(Array.isArray(e[0])||(e=[e,e,e]),r&&n){var a=[],i=r.length,o=0;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.lineCount=[0,0,0];for(var s=0;s<3;++s){this.lineOffset[s]=o;t:for(var l=0;l<i;++l){for(var u=r[l],f=0;f<3;++f)if(isNaN(u[f])||!isFinite(u[f]))continue t;var p=n[l],d=e[s];if(Array.isArray(d[0])&&(d=e[l]),3===d.length?d=[d[0],d[1],d[2],1]:4===d.length&&(d=[d[0],d[1],d[2],d[3]],!this.hasAlpha&&d[3]<1&&(this.hasAlpha=!0)),!isNaN(p[0][s])&&!isNaN(p[1][s])){var g;if(p[0][s]<0)(g=u.slice())[s]+=p[0][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s);if(p[1][s]>0)(g=u.slice())[s]+=p[1][s],a.push(u[0],u[1],u[2],d[0],d[1],d[2],d[3],0,0,0,g[0],g[1],g[2],d[0],d[1],d[2],d[3],0,0,0),c(this.bounds,g),o+=2+h(a,g,d,s)}}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(a)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},{"./shaders/index":250,"gl-buffer":243,"gl-vao":328}],250:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n  vec4 worldPosition  = model * vec4(position, 1.0);\n  worldPosition       = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n  gl_Position         = projection * view * worldPosition;\n  fragColor           = color;\n  fragPosition        = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  gl_FragColor = opacity * fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},{"gl-shader":303,glslify:410}],251:[function(t,e,r){"use strict";var n=t("gl-texture2d");e.exports=function(t,e,r,n){a||(a=t.FRAMEBUFFER_UNSUPPORTED,i=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var a=new Array(r),i=0;i<n;++i)a[i]=t.COLOR_ATTACHMENT0+i;for(var i=n;i<r;++i)a[i]=t.NONE;l[n]=a}}(t,c);Array.isArray(e)&&(n=r,r=0|e[1],e=0|e[0]);if("number"!=typeof e)throw new Error("gl-fbo: Missing shape parameter");var u=t.getParameter(t.MAX_RENDERBUFFER_SIZE);if(e<0||e>u||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var g=!0;"depth"in n&&(g=!!n.depth);var v=!1;"stencil"in n&&(v=!!n.stencil);return new d(t,e,r,f,h,g,v,c)};var a,i,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case a:throw new Error("gl-fbo: Framebuffer unsupported");case i:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(t,e,r,a,i,o){if(!a)return null;var s=n(t,e,r,i,a);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,a){var i=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,i),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,a,t.RENDERBUFFER,i),i}function d(t,e,r,n,a,i,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(a);for(var d=0;d<a;++d)this.color[d]=null;this._color_rb=null,this.depth=null,this._depth_rb=null,this._colorType=n,this._useDepth=i,this._useStencil=o;var g=this,v=[0|e,0|r];Object.defineProperties(v,{0:{get:function(){return g._shape[0]},set:function(t){return g.width=t}},1:{get:function(){return g._shape[1]},set:function(t){return g.height=t}}}),this._shapeVector=v,function(t){var e=c(t.gl),r=t.gl,n=t.handle=r.createFramebuffer(),a=t._shape[0],i=t._shape[1],o=t.color.length,s=t._ext,d=t._useStencil,g=t._useDepth,v=t._colorType;r.bindFramebuffer(r.FRAMEBUFFER,n);for(var m=0;m<o;++m)t.color[m]=f(r,a,i,v,r.RGBA,r.COLOR_ATTACHMENT0+m);0===o?(t._color_rb=p(r,a,i,r.RGBA4,r.COLOR_ATTACHMENT0),s&&s.drawBuffersWEBGL(l[0])):o>1&&s.drawBuffersWEBGL(l[o]);var y=r.getExtension("WEBGL_depth_texture");y?d?t.depth=f(r,a,i,y.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g&&(t.depth=f(r,a,i,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):g&&d?t._depth_rb=p(r,a,i,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):g?t._depth_rb=p(r,a,i,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,a,i,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),m=0;m<t.color.length;++m)t.color[m].dispose(),t.color[m]=null;t._color_rb&&(r.deleteRenderbuffer(t._color_rb),t._color_rb=null),u(r,e),h(x)}u(r,e)}(this)}var g=d.prototype;function v(t,e,r){if(t._destroyed)throw new Error("gl-fbo: Can't resize destroyed FBO");if(t._shape[0]!==e||t._shape[1]!==r){var n=t.gl,a=n.getParameter(n.MAX_RENDERBUFFER_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var i=c(n),o=0;o<t.color.length;++o)t.color[o].shape=t._shape;t._color_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._color_rb),n.renderbufferStorage(n.RENDERBUFFER,n.RGBA4,t._shape[0],t._shape[1])),t.depth&&(t.depth.shape=t._shape),t._depth_rb&&(n.bindRenderbuffer(n.RENDERBUFFER,t._depth_rb),t._useDepth&&t._useStencil?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_STENCIL,t._shape[0],t._shape[1]):t._useDepth?n.renderbufferStorage(n.RENDERBUFFER,n.DEPTH_COMPONENT16,t._shape[0],t._shape[1]):t._useStencil&&n.renderbufferStorage(n.RENDERBUFFER,n.STENCIL_INDEX,t._shape[0],t._shape[1])),n.bindFramebuffer(n.FRAMEBUFFER,t.handle);var s=n.checkFramebufferStatus(n.FRAMEBUFFER);s!==n.FRAMEBUFFER_COMPLETE&&(t.dispose(),u(n,i),h(s)),u(n,i)}}Object.defineProperties(g,{shape:{get:function(){return this._destroyed?[0,0]:this._shapeVector},set:function(t){if(Array.isArray(t)||(t=[0|t,0|t]),2!==t.length)throw new Error("gl-fbo: Shape vector must be length 2");var e=0|t[0],r=0|t[1];return v(this,e,r),[e,r]},enumerable:!1},width:{get:function(){return this._destroyed?0:this._shape[0]},set:function(t){return v(this,t|=0,this._shape[1]),t},enumerable:!1},height:{get:function(){return this._destroyed?0:this._shape[1]},set:function(t){return t|=0,v(this,this._shape[0],t),t},enumerable:!1}}),g.bind=function(){if(!this._destroyed){var t=this.gl;t.bindFramebuffer(t.FRAMEBUFFER,this.handle),t.viewport(0,0,this._shape[0],this._shape[1])}},g.dispose=function(){if(!this._destroyed){this._destroyed=!0;var t=this.gl;t.deleteFramebuffer(this.handle),this.handle=null,this.depth&&(this.depth.dispose(),this.depth=null),this._depth_rb&&(t.deleteRenderbuffer(this._depth_rb),this._depth_rb=null);for(var e=0;e<this.color.length;++e)this.color[e].dispose(),this.color[e]=null;this._color_rb&&(t.deleteRenderbuffer(this._color_rb),this._color_rb=null)}}},{"gl-texture2d":323}],252:[function(t,e,r){var n=t("sprintf-js").sprintf,a=t("gl-constants/lookup"),i=t("glsl-shader-name"),o=t("add-line-numbers");e.exports=function(t,e,r){"use strict";var s=i(e)||"of unknown name (see npm glsl-shader-name)",l="unknown type";void 0!==r&&(l=r===a.FRAGMENT_SHADER?"fragment":"vertex");for(var c=n("Error compiling %s shader %s:\n",l,s),u=n("%s%s",c,t),h=t.split("\n"),f={},p=0;p<h.length;p++){var d=h[p];if(""!==d&&"\0"!==d){var g=parseInt(d.split(":")[2]);if(isNaN(g))throw new Error(n("Could not parse error: %s",d));f[g]=d}}for(var v=o(e).split("\n"),p=0;p<v.length;p++)if(f[p+3]||f[p+2]||f[p+1]){var m=v[p];if(c+=m+"\n",f[p+1]){var y=f[p+1];y=y.substr(y.split(":",3).join(":").length+1).trim(),c+=n("^^^ %s\n\n",y)}}return{long:c.trim(),short:u.trim()}}},{"add-line-numbers":63,"gl-constants/lookup":248,"glsl-shader-name":402,"sprintf-js":526}],253:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.gl,n=o(r,l.vertex,l.fragment),a=o(r,l.pickVertex,l.pickFragment),i=s(r),u=s(r),h=s(r),f=s(r),p=new c(t,n,a,i,u,h,f);return p.update(e),t.addObject(p),p};var n=t("binary-search-bounds"),a=t("iota-array"),i=t("typedarray-pool"),o=t("gl-shader"),s=t("gl-buffer"),l=t("./lib/shaders");function c(t,e,r,n,a,i,o){this.plot=t,this.shader=e,this.pickShader=r,this.positionBuffer=n,this.weightBuffer=a,this.colorBuffer=i,this.idBuffer=o,this.xData=[],this.yData=[],this.shape=[0,0],this.bounds=[1/0,1/0,-1/0,-1/0],this.pickOffset=0}var u,h=c.prototype,f=[0,0,1,0,0,1,1,0,1,1,0,1];h.draw=(u=[1,0,0,0,1,0,0,0,1],function(){var t=this.plot,e=this.shader,r=this.bounds,n=this.numVertices;if(!(n<=0)){var a=t.gl,i=t.dataBox,o=r[2]-r[0],s=r[3]-r[1],l=i[2]-i[0],c=i[3]-i[1];u[0]=2*o/l,u[4]=2*s/c,u[6]=2*(r[0]-i[0])/l-1,u[7]=2*(r[1]-i[1])/c-1,e.bind();var h=e.uniforms;h.viewTransform=u,h.shape=this.shape;var f=e.attributes;this.positionBuffer.bind(),f.position.pointer(),this.weightBuffer.bind(),f.weight.pointer(a.UNSIGNED_BYTE,!1),this.colorBuffer.bind(),f.color.pointer(a.UNSIGNED_BYTE,!0),a.drawArrays(a.TRIANGLES,0,n)}}),h.drawPick=function(){var t=[1,0,0,0,1,0,0,0,1],e=[0,0,0,0];return function(r){var n=this.plot,a=this.pickShader,i=this.bounds,o=this.numVertices;if(!(o<=0)){var s=n.gl,l=n.dataBox,c=i[2]-i[0],u=i[3]-i[1],h=l[2]-l[0],f=l[3]-l[1];t[0]=2*c/h,t[4]=2*u/f,t[6]=2*(i[0]-l[0])/h-1,t[7]=2*(i[1]-l[1])/f-1;for(var p=0;p<4;++p)e[p]=r>>8*p&255;this.pickOffset=r,a.bind();var d=a.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var g=a.attributes;return this.positionBuffer.bind(),g.position.pointer(),this.weightBuffer.bind(),g.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),g.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,a=this.shape[0]*this.shape[1];if(r<n||r>=n+a)return null;var i=r-n,o=this.xData,s=this.yData;return{object:this,pointId:i,dataCoord:[o[i%this.shape[0]],s[i/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||a(e[0]),o=t.y||a(e[1]),s=t.z||new Float32Array(e[0]*e[1]);this.xData=r,this.yData=o;var l=t.colorLevels||[0],c=t.colorValues||[0,0,0,1],u=l.length,h=this.bounds,p=h[0]=r[0],d=h[1]=o[0],g=1/((h[2]=r[r.length-1])-p),v=1/((h[3]=o[o.length-1])-d),m=e[0],y=e[1];this.shape=[m,y];var x=(m-1)*(y-1)*(f.length>>>1);this.numVertices=x;for(var b=i.mallocUint8(4*x),_=i.mallocFloat32(2*x),w=i.mallocUint8(2*x),k=i.mallocUint32(x),T=0,A=0;A<y-1;++A)for(var M=v*(o[A]-d),S=v*(o[A+1]-d),E=0;E<m-1;++E)for(var L=g*(r[E]-p),C=g*(r[E+1]-p),P=0;P<f.length;P+=2){var O,z,I,D,R=f[P],F=f[P+1],B=s[(A+F)*m+(E+R)],N=n.le(l,B);if(N<0)O=c[0],z=c[1],I=c[2],D=c[3];else if(N===u-1)O=c[4*u-4],z=c[4*u-3],I=c[4*u-2],D=c[4*u-1];else{var j=(B-l[N])/(l[N+1]-l[N]),V=1-j,U=4*N,q=4*(N+1);O=V*c[U]+j*c[q],z=V*c[U+1]+j*c[q+1],I=V*c[U+2]+j*c[q+2],D=V*c[U+3]+j*c[q+3]}b[4*T]=255*O,b[4*T+1]=255*z,b[4*T+2]=255*I,b[4*T+3]=255*D,_[2*T]=.5*L+.5*C,_[2*T+1]=.5*M+.5*S,w[2*T]=R,w[2*T+1]=F,k[T]=A*m+E,T+=1}this.positionBuffer.update(_),this.weightBuffer.update(w),this.colorBuffer.update(b),this.idBuffer.update(k),i.free(_),i.free(b),i.free(w),i.free(k)},h.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.positionBuffer.dispose(),this.weightBuffer.dispose(),this.colorBuffer.dispose(),this.idBuffer.dispose(),this.plot.removeObject(this)}},{"./lib/shaders":254,"binary-search-bounds":255,"gl-buffer":243,"gl-shader":303,"iota-array":417,"typedarray-pool":543}],254:[function(t,e,r){"use strict";var n=t("glslify");e.exports={fragment:n(["precision lowp float;\n#define GLSLIFY 1\nvarying vec4 fragColor;\nvoid main() {\n  gl_FragColor = vec4(fragColor.rgb * fragColor.a, fragColor.a);\n}\n"]),vertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 color;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  fragColor = color;\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"]),pickFragment:n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nuniform vec2 shape;\nuniform vec4 pickOffset;\n\nvoid main() {\n  vec2 d = step(.5, vWeight);\n  vec4 id = fragId + pickOffset;\n  id.x += d.x + d.y*shape.x;\n\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  gl_FragColor = id/255.;\n}\n"]),pickVertex:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\nattribute vec2 weight;\n\nuniform vec2 shape;\nuniform mat3 viewTransform;\n\nvarying vec4 fragId;\nvarying vec2 vWeight;\n\nvoid main() {\n  vWeight = weight;\n\n  fragId = pickId;\n\n  vec3 vPosition = viewTransform * vec3( position + (weight-.5)/(shape-1.) , 1.0);\n  gl_Position = vec4(vPosition.xy, 0, vPosition.z);\n}\n"])}},{glslify:410}],255:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],256:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, nextPosition;\nattribute float arcLength, lineWidth;\nattribute vec4 color;\n\nuniform vec2 screenShape;\nuniform float pixelRatio;\nuniform mat4 model, view, projection;\n\nvarying vec4 fragColor;\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  vec4 startPoint = project(position);\n  vec4 endPoint   = project(nextPosition);\n\n  vec2 A = startPoint.xy / startPoint.w;\n  vec2 B =   endPoint.xy /   endPoint.w;\n\n  float clipAngle = atan(\n    (B.y - A.y) * screenShape.y,\n    (B.x - A.x) * screenShape.x\n  );\n\n  vec2 offset = 0.5 * pixelRatio * lineWidth * vec2(\n    sin(clipAngle),\n    -cos(clipAngle)\n  ) / screenShape;\n\n  gl_Position = vec4(startPoint.xy + startPoint.w * offset, startPoint.zw);\n\n  worldPosition = position;\n  pixelArcLength = arcLength;\n  fragColor = color;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3      clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float     dashScale;\nuniform float     opacity;\n\nvarying vec3    worldPosition;\nvarying float   pixelArcLength;\nvarying vec4    fragColor;\n\nvoid main() {\n  if (\n    outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n    fragColor.a * opacity == 0.\n  ) discard;\n\n  float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n  if(dashWeight < 0.5) {\n    discard;\n  }\n  gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX  1.70141184e38\n#define FLOAT_MIN  1.17549435e-38\n\nlowp vec4 encode_float_1540259130(highp float v) {\n  highp float av = abs(v);\n\n  //Handle special cases\n  if(av < FLOAT_MIN) {\n    return vec4(0.0, 0.0, 0.0, 0.0);\n  } else if(v > FLOAT_MAX) {\n    return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n  } else if(v < -FLOAT_MAX) {\n    return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n  }\n\n  highp vec4 c = vec4(0,0,0,0);\n\n  //Compute exponent and mantissa\n  highp float e = floor(log2(av));\n  highp float m = av * pow(2.0, -e) - 1.0;\n  \n  //Unpack mantissa\n  c[1] = floor(128.0 * m);\n  m -= c[1] / 128.0;\n  c[2] = floor(32768.0 * m);\n  m -= c[2] / 32768.0;\n  c[3] = floor(8388608.0 * m);\n  \n  //Unpack exponent\n  highp float ebias = e + 127.0;\n  c[0] = floor(ebias / 2.0);\n  ebias -= c[0] * 2.0;\n  c[1] += floor(ebias) * 128.0; \n\n  //Unpack sign bit\n  c[0] += 128.0 * step(0.0, -v);\n\n  //Scale back to range\n  return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n  gl_FragColor = vec4(pickId/255.0, encode_float_1540259130(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];r.createShader=function(t){return a(t,i,o,null,l)},r.createPickShader=function(t){return a(t,i,s,null,l)}},{"gl-shader":303,glslify:410}],257:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=u(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),c=a(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),f=l(new Array(1024),[256,1,4]),p=0;p<1024;++p)f.data[p]=255;var d=i(e,f);d.wrap=e.REPEAT;var g=new v(e,r,o,s,c,d);return g.update(t),g};var n=t("gl-buffer"),a=t("gl-vao"),i=t("gl-texture2d"),o=t("glsl-read-float"),s=t("binary-search-bounds"),l=t("ndarray"),c=t("./lib/shaders"),u=c.createShader,h=c.createPickShader,f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function p(t,e){for(var r=0,n=0;n<3;++n){var a=t[n]-e[n];r+=a*a}return Math.sqrt(r)}function d(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function v(t,e,r,n,a,i){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=a,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=i,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=v.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||f,view:t.view||f,projection:t.projection||f,clipBounds:d(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||f,view:t.view||f,projection:t.projection||f,pickId:this.pickId,clipBounds:d(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var a=[],i=[],o=[],c=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var d=t.color||t.colors||[0,0,0,1],g=t.lineWidth||1,v=!1;t:for(e=1;e<f.length;++e){var m,y,x,b=f[e-1],_=f[e];for(i.push(c),o.push(b.slice()),r=0;r<3;++r){if(isNaN(b[r])||isNaN(_[r])||!isFinite(b[r])||!isFinite(_[r])){if(!n&&a.length>0){for(var w=0;w<24;++w)a.push(a[a.length-12]);u+=2,v=!0}continue t}h[0][r]=Math.min(h[0][r],b[r],_[r]),h[1][r]=Math.max(h[1][r],b[r],_[r])}Array.isArray(d[0])?(m=d.length>e-1?d[e-1]:d.length>0?d[d.length-1]:[0,0,0,1],y=d.length>e?d[e]:d.length>0?d[d.length-1]:[0,0,0,1]):m=y=d,3===m.length&&(m=[m[0],m[1],m[2],1]),3===y.length&&(y=[y[0],y[1],y[2],1]),!this.hasAlpha&&m[3]<1&&(this.hasAlpha=!0),x=Array.isArray(g)?g.length>e-1?g[e-1]:g.length>0?g[g.length-1]:[0,0,0,1]:g;var k=c;if(c+=p(b,_),v){for(r=0;r<2;++r)a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3]);u+=2,v=!1}a.push(b[0],b[1],b[2],_[0],_[1],_[2],k,x,m[0],m[1],m[2],m[3],b[0],b[1],b[2],_[0],_[1],_[2],k,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],c,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],c,x,y[0],y[1],y[2],y[3]),u+=4}}if(this.buffer.update(a),i.push(c),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=i,"dashes"in t){var T=t.dashes.slice();for(T.unshift(0),e=1;e<T.length;++e)T[e]=T[e-1]+T[e];var A=l(new Array(1024),[256,1,4]);for(e=0;e<256;++e){for(r=0;r<4;++r)A.set(e,0,r,0);1&s.le(T,T[T.length-1]*e/255)?A.set(e,0,0,0):A.set(e,0,0,255)}this.texture.setPixels(A)}},m.dispose=function(){this.shader.dispose(),this.vao.dispose(),this.buffer.dispose()},m.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=o(t.value[0],t.value[1],t.value[2],0),r=s.le(this.arcLength,e);if(r<0)return null;if(r===this.arcLength.length-1)return new g(this.arcLength[this.arcLength.length-1],this.points[this.points.length-1].slice(),r);for(var n=this.points[r],a=this.points[Math.min(r+1,this.points.length-1)],i=(e-this.arcLength[r])/(this.arcLength[r+1]-this.arcLength[r]),l=1-i,c=[0,0,0],u=0;u<3;++u)c[u]=l*n[u]+i*a[u];var h=Math.min(i<.5?r:r+1,this.points.length-1);return new g(e,c,h,this.points[h])}},{"./lib/shaders":256,"binary-search-bounds":258,"gl-buffer":243,"gl-texture2d":323,"gl-vao":328,"glsl-read-float":401,ndarray:451}],258:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],259:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*i-a*n;return o?(o=1/o,t[0]=i*o,t[1]=-n*o,t[2]=-a*o,t[3]=r*o,t):null}},{}],260:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=u*o-s*c,f=-u*i+s*l,p=c*i-o*l,d=r*h+n*f+a*p;return d?(d=1/d,t[0]=h*d,t[1]=(-u*n+a*c)*d,t[2]=(s*n-a*o)*d,t[3]=f*d,t[4]=(u*r-a*l)*d,t[5]=(-s*r+a*i)*d,t[6]=p*d,t[7]=(-c*r+n*l)*d,t[8]=(o*r-n*i)*d,t):null}},{}],261:[function(t,e,r){e.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},{}],262:[function(t,e,r){e.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],263:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3],i=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11],p=t[12],d=t[13],g=t[14],v=t[15];return(e*o-r*i)*(h*v-f*g)-(e*s-n*i)*(u*v-f*d)+(e*l-a*i)*(u*g-h*d)+(r*s-n*o)*(c*v-f*p)-(r*l-a*o)*(c*g-h*p)+(n*l-a*s)*(c*d-u*p)}},{}],264:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r+r,s=n+n,l=a+a,c=r*o,u=n*o,h=n*s,f=a*o,p=a*s,d=a*l,g=i*o,v=i*s,m=i*l;return t[0]=1-h-d,t[1]=u+m,t[2]=f-v,t[3]=0,t[4]=u-m,t[5]=1-c-d,t[6]=p+g,t[7]=0,t[8]=f+v,t[9]=p-g,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],265:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=n+n,l=a+a,c=i+i,u=n*s,h=n*l,f=n*c,p=a*l,d=a*c,g=i*c,v=o*s,m=o*l,y=o*c;return t[0]=1-(p+g),t[1]=h+y,t[2]=f-m,t[3]=0,t[4]=h-y,t[5]=1-(u+g),t[6]=d+v,t[7]=0,t[8]=f+m,t[9]=d-v,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},{}],266:[function(t,e,r){e.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},{}],267:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,k=a*c-i*l,T=u*g-h*d,A=u*v-f*d,M=u*m-p*d,S=h*v-f*g,E=h*m-p*g,L=f*m-p*v,C=y*L-x*E+b*S+_*M-w*A+k*T;if(!C)return null;return C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(a*E-n*L-i*S)*C,t[2]=(g*k-v*w+m*_)*C,t[3]=(f*w-h*k-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-a*M+i*A)*C,t[6]=(v*b-d*k-m*x)*C,t[7]=(u*k-f*b+p*x)*C,t[8]=(o*E-s*M+c*T)*C,t[9]=(n*M-r*E-i*T)*C,t[10]=(d*w-g*b+m*y)*C,t[11]=(h*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*T)*C,t[13]=(r*S-n*A+a*T)*C,t[14]=(g*x-d*_-v*y)*C,t[15]=(u*_-h*x+f*y)*C,t}},{}],268:[function(t,e,r){var n=t("./identity");e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g=e[0],v=e[1],m=e[2],y=a[0],x=a[1],b=a[2],_=r[0],w=r[1],k=r[2];if(Math.abs(g-_)<1e-6&&Math.abs(v-w)<1e-6&&Math.abs(m-k)<1e-6)return n(t);h=g-_,f=v-w,p=m-k,d=1/Math.sqrt(h*h+f*f+p*p),i=x*(p*=d)-b*(f*=d),o=b*(h*=d)-y*p,s=y*f-x*h,(d=Math.sqrt(i*i+o*o+s*s))?(i*=d=1/d,o*=d,s*=d):(i=0,o=0,s=0);l=f*s-p*o,c=p*i-h*s,u=h*o-f*i,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0);return t[0]=i,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=c,t[6]=f,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(i*g+o*v+s*m),t[13]=-(l*g+c*v+u*m),t[14]=-(h*g+f*v+p*m),t[15]=1,t}},{"./identity":266}],269:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*v,t[2]=x*i+b*c+_*p+w*m,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*a+b*l+_*f+w*v,t[6]=x*i+b*c+_*p+w*m,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*a+b*l+_*f+w*v,t[10]=x*i+b*c+_*p+w*m,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*a+b*l+_*f+w*v,t[14]=x*i+b*c+_*p+w*m,t[15]=x*o+b*u+_*d+w*y,t}},{}],270:[function(t,e,r){e.exports=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t}},{}],271:[function(t,e,r){e.exports=function(t,e,r,n,a){var i=1/Math.tan(e/2),o=1/(n-a);return t[0]=i/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(a+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*a*n*o,t[15]=0,t}},{}],272:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_,w,k,T,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);if(Math.abs(P)<1e-6)return null;E*=P=1/P,L*=P,C*=P,a=Math.sin(r),i=Math.cos(r),o=1-i,s=e[0],l=e[1],c=e[2],u=e[3],h=e[4],f=e[5],p=e[6],d=e[7],g=e[8],v=e[9],m=e[10],y=e[11],x=E*E*o+i,b=L*E*o+C*a,_=C*E*o-L*a,w=E*L*o-C*a,k=L*L*o+i,T=C*L*o+E*a,A=E*C*o+L*a,M=L*C*o-E*a,S=C*C*o+i,t[0]=s*x+h*b+g*_,t[1]=l*x+f*b+v*_,t[2]=c*x+p*b+m*_,t[3]=u*x+d*b+y*_,t[4]=s*w+h*k+g*T,t[5]=l*w+f*k+v*T,t[6]=c*w+p*k+m*T,t[7]=u*w+d*k+y*T,t[8]=s*A+h*M+g*S,t[9]=l*A+f*M+v*S,t[10]=c*A+p*M+m*S,t[11]=u*A+d*M+y*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t}},{}],273:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t}},{}],274:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a-c*n,t[1]=o*a-u*n,t[2]=s*a-h*n,t[3]=l*a-f*n,t[8]=i*n+c*a,t[9]=o*n+u*a,t[10]=s*n+h*a,t[11]=l*n+f*a,t}},{}],275:[function(t,e,r){e.exports=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]);return t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t}},{}],276:[function(t,e,r){e.exports=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},{}],277:[function(t,e,r){e.exports=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],v=r[1],m=r[2];e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=a*g+l*v+f*m+e[13],t[14]=i*g+c*v+p*m+e[14],t[15]=o*g+u*v+d*m+e[15]);return t}},{}],278:[function(t,e,r){e.exports=function(t,e){if(t===e){var r=e[1],n=e[2],a=e[3],i=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=i,t[11]=e[14],t[12]=a,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},{}],279:[function(t,e,r){"use strict";e.exports=function(t,e){switch(e.length){case 0:break;case 1:t[0]=1/e[0];break;case 4:n(t,e);break;case 9:a(t,e);break;case 16:i(t,e);break;default:throw new Error("currently supports matrices up to 4x4")}return t};var n=t("gl-mat2/invert"),a=t("gl-mat3/invert"),i=t("gl-mat4/invert")},{"gl-mat2/invert":259,"gl-mat3/invert":260,"gl-mat4/invert":267}],280:[function(t,e,r){"use strict";var n=t("barycentric"),a=t("polytope-closest-point/lib/closest_point_2d.js");function i(t,e){for(var r=[0,0,0,0],n=0;n<4;++n)for(var a=0;a<4;++a)r[a]+=t[4*n+a]*e[n];return r}function o(t,e,r,n,a){for(var o=i(n,i(r,i(e,[t[0],t[1],t[2],1]))),s=0;s<3;++s)o[s]/=o[3];return[.5*a[0]*(1+o[0]),.5*a[1]*(1-o[1])]}e.exports=function(t,e,r,i,s,l){if(1===t.length)return[0,t[0].slice()];for(var c=new Array(t.length),u=0;u<t.length;++u)c[u]=o(t[u],r,i,s,l);for(var h=0,f=1/0,u=0;u<c.length;++u){for(var p=0,d=0;d<2;++d)p+=Math.pow(c[u][d]-e[d],2);p<f&&(f=p,h=u)}for(var g=function(t,e){if(2===t.length){for(var r=0,i=0,o=0;o<2;++o)r+=Math.pow(e[o]-t[0][o],2),i+=Math.pow(e[o]-t[1][o],2);return r=Math.sqrt(r),i=Math.sqrt(i),r+i<1e-6?[1,0]:[i/(r+i),r/(i+r)]}if(3===t.length){var s=[0,0];return a(t[0],t[1],t[2],e,s),n(t,s)}return[]}(c,e),v=0,u=0;u<3;++u){if(g[u]<-.001||g[u]>1.0001)return null;v+=g[u]}if(Math.abs(v-1)>.001)return null;return[h,function(t,e){for(var r=[0,0,0],n=0;n<t.length;++n)for(var a=t[n],i=e[n],o=0;o<3;++o)r[o]+=i*a[o];return r}(t,g),g]}},{barycentric:74,"polytope-closest-point/lib/closest_point_2d.js":482}],281:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n           , view\n           , projection\n           , inverseModel;\nuniform vec3 eyePosition\n           , lightPosition;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n  return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n  gl_Position      = project(position);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * vec4(position , 1.0);\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal  = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  f_color          = color;\n  f_data           = position;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n            , fresnel\n            , kambient\n            , kdiffuse\n            , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n           , f_lightDirection\n           , f_eyeDirection\n           , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (f_color.a == 0.0 ||\n    outOfRange(clipBounds[0], clipBounds[1], f_data)\n  ) discard;\n\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_color = color;\n  f_data  = position;\n  f_uv    = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n  } else {\n    gl_Position = projection * view * model * vec4(position, 1.0);\n  }\n  gl_PointSize = pointSize;\n  f_color = color;\n  f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n  if(dot(pointR, pointR) > 0.25) {\n    discard;\n  }\n  gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n  f_id        = id;\n  f_position  = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3  position;\nattribute float pointSize;\nattribute vec4  id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n  } else {\n    gl_Position  = projection * view * model * vec4(position, 1.0);\n    gl_PointSize = pointSize;\n  }\n  f_id         = id;\n  f_position   = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n  gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n  gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},r.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},r.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},r.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},r.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},{glslify:410}],282:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("normals"),l=t("gl-mat4/multiply"),c=t("gl-mat4/invert"),u=t("ndarray"),h=t("colormap"),f=t("simplicial-complex-contour"),p=t("typedarray-pool"),d=t("./lib/shaders"),g=t("./lib/closest-point"),v=d.meshShader,m=d.wireShader,y=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function k(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_,k,T,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=a,this.pickShader=i,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=v,this.edgeUVs=m,this.edgeIds=g,this.edgeVAO=y,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=k,this.pointSizes=T,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var T=k.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;r<e.length;++r){if(e.length<2)return 1;if(e[r][0]===t)return e[r][1];if(e[r][0]>t&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,y.vertex,y.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}T.isOpaque=function(){return!this.hasAlpha},T.isTransparent=function(){return this.hasAlpha},T.pickSlots=1,T.setPickBase=function(t){this.pickId=t},T.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,a=e.vertexWeights,i=r.length,o=p.mallocFloat32(6*i),s=0,l=0;l<i;++l)for(var c=r[l],u=0;u<2;++u){var h=c[0];2===c.length&&(h=c[u]);for(var d=n[h][0],g=n[h][1],v=a[h],m=1-v,y=this.positions[d],x=this.positions[g],b=0;b<3;++b)o[s++]=v*y[b]+m*x[b]}this.contourCount=s/3|0,this.contourPositions.update(o.subarray(0,s)),p.free(o)}else this.contourCount=0},T.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"contourEnable"in t&&(this.contourEnable=t.contourEnable),"contourColor"in t&&(this.contourColor=t.contourColor),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"lightPosition"in t&&(this.lightPosition=t.lightPosition),this.hasAlpha=!1,"opacity"in t&&(this.opacity=t.opacity,this.opacity<1&&(this.hasAlpha=!0)),"opacityscale"in t&&(this.opacityscale=t.opacityscale,this.hasAlpha=!0),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),t.texture?(this.texture.dispose(),this.texture=o(e,t.texture)):t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t,e){for(var r=h({colormap:t,nshades:256,format:"rgba"}),n=new Uint8Array(1024),a=0;a<256;++a){for(var i=r[a],o=0;o<3;++o)n[4*a+o]=i[o];n[4*a+3]=e?255*A(a/255,e):255*i[3]}return u(n,[256,256,4],[4,0,1])}(t.colormap,this.opacityscale)),this.texture.generateMipmap());var r=t.cells,n=t.positions;if(n&&r){var a=[],i=[],l=[],c=[],f=[],p=[],d=[],g=[],v=[],m=[],y=[],x=[],b=[],_=[];this.cells=r,this.positions=n;var w=t.vertexNormals,k=t.cellNormals,T=void 0===t.vertexNormalsEpsilon?1e-6:t.vertexNormalsEpsilon,M=void 0===t.faceNormalsEpsilon?1e-6:t.faceNormalsEpsilon;t.useFacetNormals&&!k&&(k=s.faceNormals(r,n,M)),k||w||(w=s.vertexNormals(r,n,T));var S=t.vertexColors,E=t.cellColors,L=t.meshColor||[1,1,1,1],C=t.vertexUVs,P=t.vertexIntensity,O=t.cellUVs,z=t.cellIntensity,I=1/0,D=-1/0;if(!C&&!O)if(P)if(t.vertexIntensityBounds)I=+t.vertexIntensityBounds[0],D=+t.vertexIntensityBounds[1];else for(var R=0;R<P.length;++R){var F=P[R];I=Math.min(I,F),D=Math.max(D,F)}else if(z)for(R=0;R<z.length;++R){F=z[R];I=Math.min(I,F),D=Math.max(D,F)}else for(R=0;R<n.length;++R){F=n[R][2];I=Math.min(I,F),D=Math.max(D,F)}this.intensity=P||(z?function(t,e,r){for(var n=new Array(e),a=0;a<e;++a)n[a]=0;var i=t.length;for(a=0;a<i;++a)for(var o=t[a],s=0;s<o.length;++s)n[o[s]]=r[a];return n}(r,n.length,z):function(t){for(var e=t.length,r=new Array(e),n=0;n<e;++n)r[n]=t[n][2];return r}(n));var B=t.pointSizes,N=t.pointSize||1;this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(R=0;R<n.length;++R)for(var j=n[R],V=0;V<3;++V)!isNaN(j[V])&&isFinite(j[V])&&(this.bounds[0][V]=Math.min(this.bounds[0][V],j[V]),this.bounds[1][V]=Math.max(this.bounds[1][V],j[V]));var U=0,q=0,H=0;t:for(R=0;R<r.length;++R){var G=r[R];switch(G.length){case 1:for(j=n[W=G[0]],V=0;V<3;++V)if(isNaN(j[V])||!isFinite(j[V]))continue t;m.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?y.push(X[0],X[1],X[2],this.opacity):(y.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],x.push(Z[0],Z[1]),B?b.push(B[W]):b.push(N),_.push(R),H+=1;break;case 2:for(V=0;V<2;++V){j=n[W=G[V]];for(var Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t}for(V=0;V<2;++V){j=n[W=G[V]];p.push(j[0],j[1],j[2]),X=S?S[W]:E?E[R]:L,this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?d.push(X[0],X[1],X[2],this.opacity):(d.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],g.push(Z[0],Z[1]),v.push(R)}q+=1;break;case 3:for(V=0;V<3;++V)for(j=n[W=G[V]],Y=0;Y<3;++Y)if(isNaN(j[Y])||!isFinite(j[Y]))continue t;for(V=0;V<3;++V){var W,X,Z,J;j=n[W=G[2-V]];a.push(j[0],j[1],j[2]),(X=S?S[W]:E?E[R]:L)?this.opacityscale&&P?i.push(X[0],X[1],X[2],this.opacity*A((P[W]-I)/(D-I),this.opacityscale)):3===X.length?i.push(X[0],X[1],X[2],this.opacity):(i.push(X[0],X[1],X[2],X[3]*this.opacity),X[3]<1&&(this.hasAlpha=!0)):i.push(.5,.5,.5,1),Z=C?C[W]:P?[(P[W]-I)/(D-I),0]:O?O[R]:z?[(z[R]-I)/(D-I),0]:[(j[2]-I)/(D-I),0],c.push(Z[0],Z[1]),J=w?w[W]:k[R],l.push(J[0],J[1],J[2]),f.push(R)}U+=1}}this.pointCount=H,this.edgeCount=q,this.triangleCount=U,this.pointPositions.update(m),this.pointColors.update(y),this.pointUVs.update(x),this.pointSizes.update(b),this.pointIds.update(new Uint32Array(_)),this.edgePositions.update(p),this.edgeColors.update(d),this.edgeUVs.update(g),this.edgeIds.update(new Uint32Array(v)),this.trianglePositions.update(a),this.triangleColors.update(i),this.triangleUVs.update(c),this.triangleNormals.update(l),this.triangleIds.update(new Uint32Array(f))}},T.drawTransparent=T.draw=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);var s={model:r,view:n,projection:a,inverseModel:w.slice(),clipBounds:i,kambient:this.ambientLight,kdiffuse:this.diffuseLight,kspecular:this.specularLight,roughness:this.roughness,fresnel:this.fresnel,eyePosition:[0,0,0],lightPosition:[0,0,0],contourColor:this.contourColor,texture:0};s.inverseModel=c(s.inverseModel,s.model),e.disable(e.CULL_FACE),this.texture.bind(0);var u=new Array(16);l(u,s.view,s.model),l(u,s.projection,u),c(u,u);for(o=0;o<3;++o)s.eyePosition[o]=u[12+o]/u[15];var h,f=u[15];for(o=0;o<3;++o)f+=this.lightPosition[o]*u[4*o+3];for(o=0;o<3;++o){for(var p=u[12+o],d=0;d<3;++d)p+=u[4*d+o]*this.lightPosition[d];s.lightPosition[o]=p/f}this.triangleCount>0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind());this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind());this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind());this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},T.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,a=t.projection||w,i=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)i[0][o]=Math.max(i[0][o],this.clipBounds[0][o]),i[1][o]=Math.min(i[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(a),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:a,clipBounds:i,pickId:this.pickId/255};((s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0)&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},T.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,a=new Array(r.length),i=0;i<r.length;++i)a[i]=n[r[i]];var o=g(a,[t.coord[0],this._resolution[1]-t.coord[1]],this._model,this._view,this._projection,this._resolution);if(!o)return null;var s=o[2],l=0;for(i=0;i<r.length;++i)l+=s[i]*this.intensity[r[i]];return{position:o[1],index:r[o[0]],cell:r,cellId:e,intensity:l,dataCoordinate:this.positions[r[o[0]]]}},T.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.lineShader.dispose(),this.pointShader.dispose(),this.pickShader.dispose(),this.pointPickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleNormals.dispose(),this.triangleIds.dispose(),this.edgeVAO.dispose(),this.edgePositions.dispose(),this.edgeColors.dispose(),this.edgeUVs.dispose(),this.edgeIds.dispose(),this.pointVAO.dispose(),this.pointPositions.dispose(),this.pointColors.dispose(),this.pointUVs.dispose(),this.pointSizes.dispose(),this.pointIds.dispose(),this.contourVAO.dispose(),this.contourPositions.dispose(),this.contourShader.dispose()},e.exports=function(t,e){if(1===arguments.length&&(t=(e=t).gl),!(t.getExtension("OES_standard_derivatives")||t.getExtension("MOZ_OES_standard_derivatives")||t.getExtension("WEBKIT_OES_standard_derivatives")))throw new Error("derivatives not supported");var r=function(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.normal.location=4,e}(t),s=function(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e}(t),l=M(t),c=S(t),h=E(t),f=L(t),p=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));p.generateMipmap(),p.minFilter=t.LINEAR_MIPMAP_LINEAR,p.magFilter=t.LINEAR;var d=a(t),g=a(t),y=a(t),x=a(t),b=a(t),_=i(t,[{buffer:d,type:t.FLOAT,size:3},{buffer:b,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:g,type:t.FLOAT,size:4},{buffer:y,type:t.FLOAT,size:2},{buffer:x,type:t.FLOAT,size:3}]),w=a(t),T=a(t),A=a(t),C=a(t),P=i(t,[{buffer:w,type:t.FLOAT,size:3},{buffer:C,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:T,type:t.FLOAT,size:4},{buffer:A,type:t.FLOAT,size:2}]),O=a(t),z=a(t),I=a(t),D=a(t),R=a(t),F=i(t,[{buffer:O,type:t.FLOAT,size:3},{buffer:R,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:z,type:t.FLOAT,size:4},{buffer:I,type:t.FLOAT,size:2},{buffer:D,type:t.FLOAT,size:1}]),B=a(t),N=new k(t,p,r,s,l,c,h,f,d,b,g,y,x,_,w,C,T,A,P,O,R,z,I,D,F,B,i(t,[{buffer:B,type:t.FLOAT,size:3}]));return N.update(e),N}},{"./lib/closest-point":280,"./lib/shaders":281,colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-shader":303,"gl-texture2d":323,"gl-vao":328,ndarray:451,normals:454,"simplicial-complex-contour":516,"typedarray-pool":543}],283:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[0,0,0,1,1,0,1,1]),s=a(e,i.boxVert,i.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawBox=(s=[0,0],l=[0,0],function(t,e,r,n,a){var i=this.plot,o=this.shader,c=i.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,o.uniforms.lo=s,o.uniforms.hi=l,o.uniforms.color=a,c.drawArrays(c.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"gl-buffer":243,"gl-shader":303}],284:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,o.gridVert,o.gridFrag),l=a(e,o.tickVert,o.gridFrag);return new s(t,r,i,l)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("binary-search-bounds"),o=t("./shaders");function s(t,e,r,n){this.plot=t,this.vbo=e,this.shader=r,this.tickShader=n,this.ticks=[[],[]]}function l(t,e){return t-e}var c,u,h,f,p,d=s.prototype;d.draw=(c=[0,0],u=[0,0],h=[0,0],function(){for(var t=this.plot,e=this.vbo,r=this.shader,n=this.ticks,a=t.gl,i=t._tickBounds,o=t.dataBox,s=t.viewBox,l=t.gridLineWidth,f=t.gridLineColor,p=t.gridLineEnable,d=t.pixelRatio,g=0;g<2;++g){var v=i[g],m=i[g+2]-v,y=.5*(o[g+2]+o[g]),x=o[g+2]-o[g];u[g]=2*m/x,c[g]=2*(v-y)/x}r.bind(),e.bind(),r.attributes.dataCoord.pointer(),r.uniforms.dataShift=c,r.uniforms.dataScale=u;var b=0;for(g=0;g<2;++g){h[0]=h[1]=0,h[g]=1,r.uniforms.dataAxis=h,r.uniforms.lineWidth=l[g]/(s[g+2]-s[g])*d,r.uniforms.color=f[g];var _=6*n[g].length;p[g]&&_&&a.drawArrays(a.TRIANGLES,b,_),b+=_}}),d.drawTickMarks=function(){var t=[0,0],e=[0,0],r=[1,0],n=[0,1],a=[0,0],o=[0,0];return function(){for(var s=this.plot,c=this.vbo,u=this.tickShader,h=this.ticks,f=s.gl,p=s._tickBounds,d=s.dataBox,g=s.viewBox,v=s.pixelRatio,m=s.screenBox,y=m[2]-m[0],x=m[3]-m[1],b=g[2]-g[0],_=g[3]-g[1],w=0;w<2;++w){var k=p[w],T=p[w+2]-k,A=.5*(d[w+2]+d[w]),M=d[w+2]-d[w];e[w]=2*T/M,t[w]=2*(k-A)/M}e[0]*=b/y,t[0]*=b/y,e[1]*=_/x,t[1]*=_/x,u.bind(),c.bind(),u.attributes.dataCoord.pointer();var S=u.uniforms;S.dataShift=t,S.dataScale=e;var E=s.tickMarkLength,L=s.tickMarkWidth,C=s.tickMarkColor,P=6*h[0].length,O=Math.min(i.ge(h[0],(d[0]-p[0])/(p[2]-p[0]),l),h[0].length),z=Math.min(i.gt(h[0],(d[2]-p[0])/(p[2]-p[0]),l),h[0].length),I=0+6*O,D=6*Math.max(0,z-O),R=Math.min(i.ge(h[1],(d[1]-p[1])/(p[3]-p[1]),l),h[1].length),F=Math.min(i.gt(h[1],(d[3]-p[1])/(p[3]-p[1]),l),h[1].length),B=P+6*R,N=6*Math.max(0,F-R);a[0]=2*(g[0]-E[1])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[1]*v/y,o[1]=L[1]*v/x,N&&(S.color=C[1],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[1]-E[0])/x-1,o[0]=L[0]*v/y,o[1]=E[0]*v/x,D&&(S.color=C[0],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,I,D)),a[0]=2*(g[2]+E[3])/y-1,a[1]=(g[3]+g[1])/x-1,o[0]=E[3]*v/y,o[1]=L[3]*v/x,N&&(S.color=C[3],S.tickScale=o,S.dataAxis=n,S.screenOffset=a,f.drawArrays(f.TRIANGLES,B,N)),a[0]=(g[2]+g[0])/y-1,a[1]=2*(g[3]+E[2])/x-1,o[0]=L[2]*v/y,o[1]=E[2]*v/x,D&&(S.color=C[2],S.tickScale=o,S.dataAxis=r,S.screenOffset=a,f.drawArrays(f.TRIANGLES,I,D))}}(),d.update=(f=[1,1,-1,-1,1,-1],p=[1,-1,1,1,-1,-1],function(t){for(var e=t.ticks,r=t.bounds,n=new Float32Array(18*(e[0].length+e[1].length)),a=(this.plot.zeroLineEnable,0),i=[[],[]],o=0;o<2;++o)for(var s=i[o],l=e[o],c=r[o],u=r[o+2],h=0;h<l.length;++h){var d=(l[h].x-c)/(u-c);s.push(d);for(var g=0;g<6;++g)n[a++]=d,n[a++]=f[g],n[a++]=p[g]}this.ticks=i,this.vbo.update(n)}),d.dispose=function(){this.vbo.dispose(),this.shader.dispose(),this.tickShader.dispose()}},{"./shaders":286,"binary-search-bounds":288,"gl-buffer":243,"gl-shader":303}],285:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[-1,-1,-1,1,1,-1,1,1]),s=a(e,i.lineVert,i.lineFrag);return new o(t,r,s)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("./shaders");function o(t,e,r){this.plot=t,this.vbo=e,this.shader=r}var s,l,c=o.prototype;c.bind=function(){var t=this.shader;this.vbo.bind(),this.shader.bind(),t.attributes.coord.pointer(),t.uniforms.screenBox=this.plot.screenBox},c.drawLine=(s=[0,0],l=[0,0],function(t,e,r,n,a,i){var o=this.plot,c=this.shader,u=o.gl;s[0]=t,s[1]=e,l[0]=r,l[1]=n,c.uniforms.start=s,c.uniforms.end=l,c.uniforms.width=a*o.pixelRatio,c.uniforms.color=i,u.drawArrays(u.TRIANGLE_STRIP,0,4)}),c.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"gl-buffer":243,"gl-shader":303}],286:[function(t,e,r){"use strict";var n=t("glslify"),a=n(["precision lowp float;\n#define GLSLIFY 1\nuniform vec4 color;\nvoid main() {\n  gl_FragColor = vec4(color.xyz * color.w, color.w);\n}\n"]);e.exports={lineVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 start, end;\nuniform float width;\n\nvec2 perp(vec2 v) {\n  return vec2(v.y, -v.x);\n}\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  vec2 delta = normalize(perp(start - end));\n  vec2 offset = mix(start, end, 0.5 * (coord.y+1.0));\n  gl_Position = vec4(screen(offset + 0.5 * width * delta * coord.x), 0, 1);\n}\n"]),lineFrag:a,textVert:n(["#define GLSLIFY 1\nattribute vec3 textCoordinate;\n\nuniform vec2 dataScale, dataShift, dataAxis, screenOffset, textScale;\nuniform float angle;\n\nvoid main() {\n  float dataOffset  = textCoordinate.z;\n  vec2 glyphOffset  = textCoordinate.xy;\n  mat2 glyphMatrix = mat2(cos(angle), sin(angle), -sin(angle), cos(angle));\n  vec2 screenCoordinate = dataAxis * (dataScale * dataOffset + dataShift) +\n    glyphMatrix * glyphOffset * textScale + screenOffset;\n  gl_Position = vec4(screenCoordinate, 0, 1);\n}\n"]),textFrag:a,gridVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale;\nuniform float lineWidth;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  pos += 10.0 * dataCoord.y * vec2(dataAxis.y, -dataAxis.x) + dataCoord.z * lineWidth;\n  gl_Position = vec4(pos, 0, 1);\n}\n"]),gridFrag:a,boxVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 coord;\n\nuniform vec4 screenBox;\nuniform vec2 lo, hi;\n\nvec2 screen(vec2 v) {\n  return 2.0 * (v - screenBox.xy) / (screenBox.zw - screenBox.xy) - 1.0;\n}\n\nvoid main() {\n  gl_Position = vec4(screen(mix(lo, hi, coord)), 0, 1);\n}\n"]),tickVert:n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 dataCoord;\n\nuniform vec2 dataAxis, dataShift, dataScale, screenOffset, tickScale;\n\nvoid main() {\n  vec2 pos = dataAxis * (dataScale * dataCoord.x + dataShift);\n  gl_Position = vec4(pos + tickScale*dataCoord.yz + screenOffset, 0, 1);\n}\n"])}},{glslify:410}],287:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e),i=a(e,s.textVert,s.textFrag);return new l(t,r,i)};var n=t("gl-buffer"),a=t("gl-shader"),i=t("text-cache"),o=t("binary-search-bounds"),s=t("./shaders");function l(t,e,r){this.plot=t,this.vbo=e,this.shader=r,this.tickOffset=[[],[]],this.tickX=[[],[]],this.labelOffset=[0,0],this.labelCount=[0,0]}var c,u,h,f,p,d,g=l.prototype;g.drawTicks=(c=[0,0],u=[0,0],h=[0,0],function(t){var e=this.plot,r=this.shader,n=this.tickX[t],a=this.tickOffset[t],i=e.gl,s=e.viewBox,l=e.dataBox,f=e.screenBox,p=e.pixelRatio,d=e.tickEnable,g=e.tickPad,v=e.tickColor,m=e.tickAngle,y=e.labelEnable,x=e.labelPad,b=e.labelColor,_=e.labelAngle,w=this.labelOffset[t],k=this.labelCount[t],T=o.lt(n,l[t]),A=o.le(n,l[t+2]);c[0]=c[1]=0,c[t]=1,u[t]=(s[2+t]+s[t])/(f[2+t]-f[t])-1;var M=2/f[2+(1^t)]-f[1^t];u[1^t]=M*s[1^t]-1,d[t]&&(u[1^t]-=M*p*g[t],T<A&&a[A]>a[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t],r.uniforms.angle=m[t],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t]&&k&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t],r.uniforms.angle=_[t],i.drawArrays(i.TRIANGLES,w,k)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*g[t+2],T<A&&a[A]>a[T]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=v[t+2],r.uniforms.angle=m[t+2],i.drawArrays(i.TRIANGLES,a[T],a[A]-a[T]))),y[t+2]&&k&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],i.drawArrays(i.TRIANGLES,w,k))}),g.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,a=r.gl,i=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-i[u])/(i[2+u]-i[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,a.drawArrays(a.TRIANGLES,this.titleOffset,this.titleCount)}}}(),g.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,a=t.screenBox,i=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=i[o],g=i[o+2]-h,v=a[o],m=a[o+2]-v;p[o]=2*l/u*g/m,f[o]=2*(s-c)/u*g/m}d[1]=2*t.pixelRatio/(a[3]-a[1]),d[0]=d[1]*(a[3]-a[1])/(a[2]-a[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),g.update=function(t){var e,r,n,a,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e<f.length;++e){var p=f[e],d=p.x,g=p.text,v=p.font||"sans-serif";a=p.fontSize||12;for(var m=1/(c[o+2]-c[o]),y=c[o],x=g.split("\n"),b=0;b<x.length;b++)for(n=i(v,x[b]).data,r=0;r<n.length;r+=2)s.push(n[r]*a,-n[r+1]*a-b*a*1.2,(d-y)*m);u.push(Math.floor(s.length/3)),h.push(d)}this.tickOffset[o]=u,this.tickX[o]=h}for(o=0;o<2;++o){for(this.labelOffset[o]=Math.floor(s.length/3),n=i(t.labelFont[o],t.labels[o],{textAlign:"center"}).data,a=t.labelSize[o],e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.labelCount[o]=Math.floor(s.length/3)-this.labelOffset[o]}for(this.titleOffset=Math.floor(s.length/3),n=i(t.titleFont,t.title).data,a=t.titleSize,e=0;e<n.length;e+=2)s.push(n[e]*a,-n[e+1]*a,0);this.titleCount=Math.floor(s.length/3)-this.titleOffset,this.vbo.update(s)},g.dispose=function(){this.vbo.dispose(),this.shader.dispose()}},{"./shaders":286,"binary-search-bounds":288,"gl-buffer":243,"gl-shader":303,"text-cache":534}],288:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],289:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=n(e,[e.drawingBufferWidth,e.drawingBufferHeight]),c=new l(e,r);return c.grid=a(c),c.text=i(c),c.line=o(c),c.box=s(c),c.update(t),c};var n=t("gl-select-static"),a=t("./lib/grid"),i=t("./lib/text"),o=t("./lib/line"),s=t("./lib/box");function l(t,e){this.gl=t,this.pickBuffer=e,this.screenBox=[0,0,t.drawingBufferWidth,t.drawingBufferHeight],this.viewBox=[0,0,0,0],this.dataBox=[-10,-10,10,10],this.gridLineEnable=[!0,!0],this.gridLineWidth=[1,1],this.gridLineColor=[[0,0,0,1],[0,0,0,1]],this.pixelRatio=1,this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickEnable=[!0,!0,!0,!0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[15,15,15,15],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelEnable=[!0,!0,!0,!0],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.titleCenter=[0,0],this.titleEnable=!0,this.titleAngle=0,this.titleColor=[0,0,0,1],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[4,4],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderLineEnable=[!0,!0,!0,!0],this.borderLineWidth=[2,2,2,2],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.grid=null,this.text=null,this.line=null,this.box=null,this.objects=[],this.overlays=[],this._tickBounds=[1/0,1/0,-1/0,-1/0],this.static=!1,this.dirty=!1,this.pickDirty=!1,this.pickDelay=120,this.pickRadius=10,this._pickTimeout=null,this._drawPick=this.drawPick.bind(this),this._depthCounter=0}var c=l.prototype;function u(t){for(var e=t.slice(),r=0;r<e.length;++r)e[r]=e[r].slice();return e}function h(t,e){return t.x-e.x}c.setDirty=function(){this.dirty=this.pickDirty=!0},c.setOverlayDirty=function(){this.dirty=!0},c.nextDepthValue=function(){return this._depthCounter++/65536},c.draw=function(){var t=this.gl,e=this.screenBox,r=this.viewBox,n=this.dataBox,a=this.pixelRatio,i=this.grid,o=this.line,s=this.text,l=this.objects;if(this._depthCounter=0,this.pickDirty&&(this._pickTimeout&&clearTimeout(this._pickTimeout),this.pickDirty=!1,this._pickTimeout=setTimeout(this._drawPick,this.pickDelay)),this.dirty){if(this.dirty=!1,t.bindFramebuffer(t.FRAMEBUFFER,null),t.enable(t.SCISSOR_TEST),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.enable(t.BLEND),t.blendEquation(t.FUNC_ADD,t.FUNC_ADD),t.blendFunc(t.ONE,t.ONE_MINUS_SRC_ALPHA),this.borderColor){t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]);var c=this.borderColor;t.clearColor(c[0]*c[3],c[1]*c[3],c[2]*c[3],c[3]),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT)}t.scissor(r[0],r[1],r[2]-r[0],r[3]-r[1]),t.viewport(r[0],r[1],r[2]-r[0],r[3]-r[1]);var u=this.backgroundColor;t.clearColor(u[0]*u[3],u[1]*u[3],u[2]*u[3],u[3]),t.clear(t.COLOR_BUFFER_BIT),i.draw();var h=this.zeroLineEnable,f=this.zeroLineColor,p=this.zeroLineWidth;if(h[0]||h[1]){o.bind();for(var d=0;d<2;++d)if(h[d]&&n[d]<=0&&n[d+2]>=0){var g=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(g,e[1],g,e[3],p[d],f[d]):o.drawLine(e[0],g,e[2],g,p[d],f[d])}}for(d=0;d<l.length;++d)l[d].draw();t.viewport(e[0],e[1],e[2]-e[0],e[3]-e[1]),t.scissor(e[0],e[1],e[2]-e[0],e[3]-e[1]),this.grid.drawTickMarks(),o.bind();var v=this.borderLineEnable,m=this.borderLineWidth,y=this.borderLineColor;for(v[1]&&o.drawLine(r[0],r[1]-.5*m[1]*a,r[0],r[3]+.5*m[3]*a,m[1],y[1]),v[0]&&o.drawLine(r[0]-.5*m[0]*a,r[1],r[2]+.5*m[2]*a,r[1],m[0],y[0]),v[3]&&o.drawLine(r[2],r[1]-.5*m[1]*a,r[2],r[3]+.5*m[3]*a,m[3],y[3]),v[2]&&o.drawLine(r[0]-.5*m[0]*a,r[3],r[2]+.5*m[2]*a,r[3],m[2],y[2]),s.bind(),d=0;d<2;++d)s.drawTicks(d);this.titleEnable&&s.drawTitle();var x=this.overlays;for(d=0;d<x.length;++d)x[d].draw();t.disable(t.SCISSOR_TEST),t.disable(t.BLEND),t.depthMask(!0)}},c.drawPick=function(){if(!this.static){var t=this.pickBuffer;this.gl;this._pickTimeout=null,t.begin();for(var e=1,r=this.objects,n=0;n<r.length;++n)e=r[n].drawPick(e);t.end()}},c.pick=function(t,e){if(!this.static){var r=this.pixelRatio,n=this.pickPixelRatio,a=this.viewBox,i=0|Math.round((t-a[0]/r)*n),o=0|Math.round((e-a[1]/r)*n),s=this.pickBuffer.query(i,o,this.pickRadius);if(!s)return null;for(var l=s.id+(s.value[0]<<8)+(s.value[1]<<16)+(s.value[2]<<24),c=this.objects,u=0;u<c.length;++u){var h=c[u].pick(i,o,l);if(h)return h}return null}},c.setScreenBox=function(t){var e=this.screenBox,r=this.pixelRatio;e[0]=0|Math.round(t[0]*r),e[1]=0|Math.round(t[1]*r),e[2]=0|Math.round(t[2]*r),e[3]=0|Math.round(t[3]*r),this.setDirty()},c.setDataBox=function(t){var e=this.dataBox;(e[0]!==t[0]||e[1]!==t[1]||e[2]!==t[2]||e[3]!==t[3])&&(e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],this.setDirty())},c.setViewBox=function(t){var e=this.pixelRatio,r=this.viewBox;r[0]=0|Math.round(t[0]*e),r[1]=0|Math.round(t[1]*e),r[2]=0|Math.round(t[2]*e),r[3]=0|Math.round(t[3]*e);var n=this.pickPixelRatio;this.pickBuffer.shape=[0|Math.round((t[2]-t[0])*n),0|Math.round((t[3]-t[1])*n)],this.setDirty()},c.update=function(t){t=t||{};var e=this.gl;this.pixelRatio=t.pixelRatio||1;var r=this.pixelRatio;this.pickPixelRatio=Math.max(r,1),this.setScreenBox(t.screenBox||[0,0,e.drawingBufferWidth/r,e.drawingBufferHeight/r]);this.screenBox;this.setViewBox(t.viewBox||[.125*(this.screenBox[2]-this.screenBox[0])/r,.125*(this.screenBox[3]-this.screenBox[1])/r,.875*(this.screenBox[2]-this.screenBox[0])/r,.875*(this.screenBox[3]-this.screenBox[1])/r]);var n=this.viewBox,a=(n[2]-n[0])/(n[3]-n[1]);this.setDataBox(t.dataBox||[-10,-10/a,10,10/a]),this.borderColor=!1!==t.borderColor&&(t.borderColor||[0,0,0,0]).slice(),this.backgroundColor=(t.backgroundColor||[0,0,0,0]).slice(),this.gridLineEnable=(t.gridLineEnable||[!0,!0]).slice(),this.gridLineWidth=(t.gridLineWidth||[1,1]).slice(),this.gridLineColor=u(t.gridLineColor||[[.5,.5,.5,1],[.5,.5,.5,1]]),this.zeroLineEnable=(t.zeroLineEnable||[!0,!0]).slice(),this.zeroLineWidth=(t.zeroLineWidth||[4,4]).slice(),this.zeroLineColor=u(t.zeroLineColor||[[0,0,0,1],[0,0,0,1]]),this.tickMarkLength=(t.tickMarkLength||[0,0,0,0]).slice(),this.tickMarkWidth=(t.tickMarkWidth||[0,0,0,0]).slice(),this.tickMarkColor=u(t.tickMarkColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.titleCenter=(t.titleCenter||[.5*(n[0]+n[2])/r,(n[3]+120)/r]).slice(),this.titleEnable=!("titleEnable"in t&&!t.titleEnable),this.titleAngle=t.titleAngle||0,this.titleColor=(t.titleColor||[0,0,0,1]).slice(),this.labelPad=(t.labelPad||[15,15,15,15]).slice(),this.labelAngle=(t.labelAngle||[0,Math.PI/2,0,3*Math.PI/2]).slice(),this.labelEnable=(t.labelEnable||[!0,!0,!0,!0]).slice(),this.labelColor=u(t.labelColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.tickPad=(t.tickPad||[15,15,15,15]).slice(),this.tickAngle=(t.tickAngle||[0,0,0,0]).slice(),this.tickEnable=(t.tickEnable||[!0,!0,!0,!0]).slice(),this.tickColor=u(t.tickColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]),this.borderLineEnable=(t.borderLineEnable||[!0,!0,!0,!0]).slice(),this.borderLineWidth=(t.borderLineWidth||[2,2,2,2]).slice(),this.borderLineColor=u(t.borderLineColor||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]);var i=t.ticks||[[],[]],o=this._tickBounds;o[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(var s=0;s<2;++s){var l=i[s].slice(0);0!==l.length&&(l.sort(h),o[s]=Math.min(o[s],l[0].x),o[s+2]=Math.max(o[s+2],l[l.length-1].x))}this.grid.update({bounds:o,ticks:i}),this.text.update({bounds:o,ticks:i,labels:t.labels||["x","y"],labelSize:t.labelSize||[12,12],labelFont:t.labelFont||["sans-serif","sans-serif"],title:t.title||"",titleSize:t.titleSize||18,titleFont:t.titleFont||"sans-serif"}),this.static=!!t.static,this.setDirty()},c.dispose=function(){this.box.dispose(),this.grid.dispose(),this.text.dispose(),this.line.dispose();for(var t=this.objects.length-1;t>=0;--t)this.objects[t].dispose();this.objects.length=0;for(t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setDirty();break}},c.addOverlay=function(t){this.overlays.indexOf(t)<0&&(this.overlays.push(t),this.setOverlayDirty())},c.removeOverlay=function(t){for(var e=this.overlays,r=0;r<e.length;++r)if(e[r]===t){e.splice(r,1),this.setOverlayDirty();break}}},{"./lib/box":283,"./lib/grid":284,"./lib/line":285,"./lib/text":287,"gl-select-static":302}],290:[function(t,e,r){"use strict";e.exports=function(t,e){t=t||document.body,e=e||{};var r=[.01,1/0];"distanceLimits"in e&&(r[0]=e.distanceLimits[0],r[1]=e.distanceLimits[1]);"zoomMin"in e&&(r[0]=e.zoomMin);"zoomMax"in e&&(r[1]=e.zoomMax);var c=a({center:e.center||[0,0,0],up:e.up||[0,1,0],eye:e.eye||[0,0,10],mode:e.mode||"orbit",distanceLimits:r}),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=t.clientWidth,p=t.clientHeight,d={keyBindingMode:"rotate",enableWheel:!0,view:c,element:t,delay:e.delay||16,rotateSpeed:e.rotateSpeed||1,zoomSpeed:e.zoomSpeed||1,translateSpeed:e.translateSpeed||1,flipX:!!e.flipX,flipY:!!e.flipY,modes:c.modes,_ortho:e._ortho||e.projection&&"orthographic"===e.projection.type||!1,tick:function(){var e=n(),r=this.delay,a=e-2*r;c.idle(e-r),c.recalcMatrix(a),c.flush(e-(100+2*r));for(var i=!0,o=c.computedMatrix,s=0;s<16;++s)i=i&&u[s]===o[s],u[s]=o[s];var l=t.clientWidth===f&&t.clientHeight===p;return f=t.clientWidth,p=t.clientHeight,i?!l:(h=Math.exp(c.computedRadius[0]),!0)},lookAt:function(t,e,r){c.lookAt(c.lastT(),t,e,r)},rotate:function(t,e,r){c.rotate(c.lastT(),t,e,r)},pan:function(t,e,r){c.pan(c.lastT(),t,e,r)},translate:function(t,e,r){c.translate(c.lastT(),t,e,r)}};return Object.defineProperties(d,{matrix:{get:function(){return c.computedMatrix},set:function(t){return c.setMatrix(c.lastT(),t),c.computedMatrix},enumerable:!0},mode:{get:function(){return c.getMode()},set:function(t){var e=c.computedUp.slice(),r=c.computedEye.slice(),a=c.computedCenter.slice();if(c.setMode(t),"turntable"===t){var i=n();c._active.lookAt(i,r,a,e),c._active.lookAt(i+500,r,a,[0,0,1]),c._active.flush(i)}return c.getMode()},enumerable:!0},center:{get:function(){return c.computedCenter},set:function(t){return c.lookAt(c.lastT(),null,t),c.computedCenter},enumerable:!0},eye:{get:function(){return c.computedEye},set:function(t){return c.lookAt(c.lastT(),t),c.computedEye},enumerable:!0},up:{get:function(){return c.computedUp},set:function(t){return c.lookAt(c.lastT(),null,null,t),c.computedUp},enumerable:!0},distance:{get:function(){return h},set:function(t){return c.setDistance(c.lastT(),t),t},enumerable:!0},distanceLimits:{get:function(){return c.getDistanceLimits(r)},set:function(t){return c.setDistanceLimits(t),t},enumerable:!0}}),t.addEventListener("contextmenu",function(t){return t.preventDefault(),!1}),d._lastX=-1,d._lastY=-1,d._lastMods={shift:!1,control:!1,alt:!1,meta:!1},d.enableMouseListeners=function(){function e(e,r,a,i){var o=d.keyBindingMode;if(!1!==o){var s="rotate"===o,l="pan"===o,u="zoom"===o,f=!!i.control,p=!!i.alt,g=!!i.shift,v=!!(1&e),m=!!(2&e),y=!!(4&e),x=1/t.clientHeight,b=x*(r-d._lastX),_=x*(a-d._lastY),w=d.flipX?1:-1,k=d.flipY?1:-1,T=Math.PI*d.rotateSpeed,A=n();if(-1!==d._lastX&&-1!==d._lastY&&((s&&v&&!f&&!p&&!g||v&&!f&&!p&&g)&&c.rotate(A,w*T*b,-k*T*_,0),(l&&v&&!f&&!p&&!g||m||v&&f&&!p&&!g)&&c.pan(A,-d.translateSpeed*b*h,d.translateSpeed*_*h,0),u&&v&&!f&&!p&&!g||y||v&&!f&&p&&!g)){var M=-d.zoomSpeed*_/window.innerHeight*(A-c.lastT())*100;c.pan(A,0,0,h*(Math.exp(M)-1))}return d._lastX=r,d._lastY=a,d._lastMods=i,!0}}d.mouseListener=i(t,e),t.addEventListener("touchstart",function(r){var n=s(r.changedTouches[0],t);e(0,n[0],n[1],d._lastMods),e(1,n[0],n[1],d._lastMods),r.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchmove",function(r){var n=s(r.changedTouches[0],t);e(1,n[0],n[1],d._lastMods),r.preventDefault()},!!l&&{passive:!1}),t.addEventListener("touchend",function(t){e(0,d._lastX,d._lastY,d._lastMods),t.preventDefault()},!!l&&{passive:!1}),d.wheelListener=o(t,function(t,e){if(!1!==d.keyBindingMode&&d.enableWheel){var r=d.flipX?1:-1,a=d.flipY?1:-1,i=n();if(Math.abs(t)>Math.abs(e))c.rotate(i,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*a*e/window.innerHeight*(i-c.lastT())/20;c.pan(i,0,0,h*(Math.exp(o)-1))}}},!0)},d.enableMouseListeners(),d};var n=t("right-now"),a=t("3d-view"),i=t("mouse-change"),o=t("mouse-wheel"),s=t("mouse-event-offset"),l=t("has-passive-events")},{"3d-view":54,"has-passive-events":412,"mouse-change":436,"mouse-event-offset":437,"mouse-wheel":439,"right-now":502}],291:[function(t,e,r){var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n  uv = position;\n  gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n  vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n  gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec2"}])}},{"gl-shader":303,glslify:410}],292:[function(t,e,r){"use strict";var n=t("./camera.js"),a=t("gl-axes3d"),i=t("gl-axes3d/properties"),o=t("gl-spikes3d"),s=t("gl-select-static"),l=t("gl-fbo"),c=t("a-big-triangle"),u=t("mouse-change"),h=t("gl-mat4/perspective"),f=t("gl-mat4/ortho"),p=t("./lib/shader"),d=t("is-mobile")({tablet:!0});function g(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function v(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}if(e>0){r=Math.round(Math.pow(10,e));return Math.ceil(t/r)*r}return Math.ceil(t)}function m(t){return"boolean"!=typeof t||t}e.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;if(!e)if(e=document.createElement("canvas"),t.container){var r=t.container;r.appendChild(e)}else document.body.appendChild(e);var y=t.gl;y||(y=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d}));if(!y)throw new Error("webgl not supported");var x=t.bounds||[[-10,-10,-10],[10,10,10]],b=new g,_=l(y,[y.drawingBufferWidth,y.drawingBufferHeight],{preferFloat:!d}),w=p(y),k=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:k},A=t.axes||{},M=a(y,A);M.enable=!A.disable;var S=t.spikes||{},E=o(y,S),L=[],C=[],P=[],O=[],z=!0,I=!0,D=new Array(16),R=new Array(16),F={view:null,projection:D,model:R,_ortho:!1},I=!0,B=[y.drawingBufferWidth,y.drawingBufferHeight],N=t.cameraObject||n(e,T),j={gl:y,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:b,camera:N,axes:M,axesPixels:null,spikes:E,bounds:x,objects:L,shape:B,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:m(t.autoResize),autoBounds:m(t.autoBounds),autoScale:!!t.autoScale,autoCenter:m(t.autoCenter),clipToBounds:m(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:F,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z}},V=[y.drawingBufferWidth/j.pixelRatio|0,y.drawingBufferHeight/j.pixelRatio|0];function U(){if(!j._stopped&&j.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var a=0|Math.ceil(r*j.pixelRatio),i=0|Math.ceil(n*j.pixelRatio);if(a!==e.width||i!==e.height){e.width=a,e.height=i;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",z=!0}}}j.autoResize&&U();function q(){for(var t=L.length,e=O.length,r=0;r<e;++r)P[r]=0;t:for(var r=0;r<t;++r){var n=L[r],a=n.pickSlots;if(a){for(var i=0;i<e;++i)if(P[i]+a<255){C[r]=i,n.setPickBase(P[i]+1),P[i]+=a;continue t}var o=s(y,B);C[r]=e,O.push(o),P.push(a),n.setPickBase(1),e+=1}else C[r]=-1}for(;e>0&&0===P[e-1];)P.pop(),O.pop().dispose()}function H(){if(j.contextLost)return!0;y.isContextLost()&&(j.contextLost=!0,j.mouseListener.enabled=!1,j.selection.object=null,j.oncontextloss&&j.oncontextloss())}window.addEventListener("resize",U),j.update=function(t){j._stopped||(t=t||{},z=!0,I=!0)},j.add=function(t){j._stopped||(t.axes=M,L.push(t),C.push(-1),z=!0,I=!0,q())},j.remove=function(t){if(!j._stopped){var e=L.indexOf(t);e<0||(L.splice(e,1),C.pop(),z=!0,I=!0,q())}},j.dispose=function(){if(!j._stopped&&(j._stopped=!0,window.removeEventListener("resize",U),e.removeEventListener("webglcontextlost",H),j.mouseListener.enabled=!1,!j.contextLost)){M.dispose(),E.dispose();for(var t=0;t<L.length;++t)L[t].dispose();_.dispose();for(var t=0;t<O.length;++t)O[t].dispose();w.dispose(),y=null,M=null,E=null,L=[]}},j._mouseRotating=!1,j._prevButtons=0,j.enableMouseListeners=function(){j.mouseListener=u(e,function(t,e,r){if(!j._stopped){var n=O.length,a=L.length,i=b.object;b.distance=1/0,b.mouse[0]=e,b.mouse[1]=r,b.object=null,b.screen=null,b.dataCoordinate=b.dataPosition=null;var o=!1;if(t&&j._prevButtons)j._mouseRotating=!0;else{j._mouseRotating&&(I=!0),j._mouseRotating=!1;for(var s=0;s<n;++s){var l=O[s].query(e,V[1]-r-1,j.pickRadius);if(l){if(l.distance>b.distance)continue;for(var c=0;c<a;++c){var u=L[c];if(C[c]===s){var h=u.pick(l);h&&(b.buttons=t,b.screen=l.coord,b.distance=l.distance,b.object=u,b.index=h.distance,b.dataPosition=h.position,b.dataCoordinate=h.dataCoordinate,b.data=h,o=!0)}}}}}i&&i!==b.object&&(i.highlight&&i.highlight(null),z=!0),b.object&&(b.object.highlight&&b.object.highlight(b.data),z=!0),(o=o||b.object!==i)&&j.onselect&&j.onselect(b),1&t&&!(1&j._prevButtons)&&j.onclick&&j.onclick(b),j._prevButtons=t}})},e.addEventListener("webglcontextlost",H);var G=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],Y=[G[0].slice(),G[1].slice()];function W(){if(!H()){U();var t=j.camera.tick();F.view=j.camera.matrix,z=z||t,I=I||t,M.pixelRatio=j.pixelRatio,E.pixelRatio=j.pixelRatio;var e=L.length,r=G[0],n=G[1];r[0]=r[1]=r[2]=1/0,n[0]=n[1]=n[2]=-1/0;for(var a=0;a<e;++a){var o=L[a];o.pixelRatio=j.pixelRatio,o.axes=j.axes,z=z||!!o.dirty,I=I||!!o.dirty;var s=o.bounds;if(s)for(var l=s[0],u=s[1],p=0;p<3;++p)r[p]=Math.min(r[p],l[p]),n[p]=Math.max(n[p],u[p])}var d=j.bounds;if(j.autoBounds)for(var p=0;p<3;++p){if(n[p]<r[p])r[p]=-1,n[p]=1;else{r[p]===n[p]&&(r[p]-=1,n[p]+=1);var g=.05*(n[p]-r[p]);r[p]=r[p]-g,n[p]=n[p]+g}d[0][p]=r[p],d[1][p]=n[p]}for(var m=!1,p=0;p<3;++p)m=m||Y[0][p]!==d[0][p]||Y[1][p]!==d[1][p],Y[0][p]=d[0][p],Y[1][p]=d[1][p];if(I=I||m,z=z||m){if(m){for(var x=[0,0,0],a=0;a<3;++a)x[a]=v((d[1][a]-d[0][a])/10);M.autoTicks?M.update({bounds:d,tickSpacing:x}):M.update({bounds:d})}var T=y.drawingBufferWidth,A=y.drawingBufferHeight;B[0]=T,B[1]=A,V[0]=0|Math.max(T/j.pixelRatio,1),V[1]=0|Math.max(A/j.pixelRatio,1),k?(f(D,-T/A,T/A,-1,1,j.zNear,j.zFar),F._ortho=!0):(h(D,j.fovy,T/A,j.zNear,j.zFar),F._ortho=!1);for(var a=0;a<16;++a)R[a]=0;R[15]=1;for(var S=0,a=0;a<3;++a)S=Math.max(S,d[1][a]-d[0][a]);for(var a=0;a<3;++a)j.autoScale?R[5*a]=j.aspect[a]/(d[1][a]-d[0][a]):R[5*a]=1/S,j.autoCenter&&(R[12+a]=.5*-R[5*a]*(d[0][a]+d[1][a]));for(var a=0;a<e;++a){var o=L[a];o.axesBounds=d,j.clipToBounds&&(o.clipBounds=d)}b.object&&(j.snapToData?E.position=b.dataCoordinate:E.position=b.dataPosition,E.bounds=d),I&&(I=!1,function(){if(H())return;y.colorMask(!0,!0,!0,!0),y.depthMask(!0),y.disable(y.BLEND),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL);for(var t=L.length,e=O.length,r=0;r<e;++r){var n=O[r];n.shape=V,n.begin();for(var a=0;a<t;++a)if(C[a]===r){var i=L[a];i.drawPick&&(i.pixelRatio=1,i.drawPick(F))}n.end()}}()),j.axesPixels=i(j.axes,F,T,A),j.onrender&&j.onrender(),y.bindFramebuffer(y.FRAMEBUFFER,null),y.viewport(0,0,T,A);var P=j.clearColor;y.clearColor(P[0],P[1],P[2],P[3]),y.clear(y.COLOR_BUFFER_BIT|y.DEPTH_BUFFER_BIT),y.depthMask(!0),y.colorMask(!0,!0,!0,!0),y.enable(y.DEPTH_TEST),y.depthFunc(y.LEQUAL),y.disable(y.BLEND),y.disable(y.CULL_FACE);var N=!1;M.enable&&(N=N||M.isTransparent(),M.draw(F)),E.axes=M,b.object&&E.draw(F),y.disable(y.CULL_FACE);for(var a=0;a<e;++a){var o=L[a];o.axes=M,o.pixelRatio=j.pixelRatio,o.isOpaque&&o.isOpaque()&&o.draw(F),o.isTransparent&&o.isTransparent()&&(N=!0)}if(N){_.shape=B,_.bind(),y.clear(y.DEPTH_BUFFER_BIT),y.colorMask(!1,!1,!1,!1),y.depthMask(!0),y.depthFunc(y.LESS),M.enable&&M.isTransparent()&&M.drawTransparent(F);for(var a=0;a<e;++a){var o=L[a];o.isOpaque&&o.isOpaque()&&o.draw(F)}y.enable(y.BLEND),y.blendEquation(y.FUNC_ADD),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.colorMask(!0,!0,!0,!0),y.depthMask(!1),y.clearColor(0,0,0,0),y.clear(y.COLOR_BUFFER_BIT),M.isTransparent()&&M.drawTransparent(F);for(var a=0;a<e;++a){var o=L[a];o.isTransparent&&o.isTransparent()&&o.drawTransparent(F)}y.bindFramebuffer(y.FRAMEBUFFER,null),y.blendFunc(y.ONE,y.ONE_MINUS_SRC_ALPHA),y.disable(y.DEPTH_TEST),w.bind(),_.color[0].bind(0),w.uniforms.accumBuffer=0,c(y),y.disable(y.BLEND)}z=!1;for(var a=0;a<e;++a)L[a].dirty=!1}}}return j.enableMouseListeners(),function t(){j._stopped||j.contextLost||(W(),requestAnimationFrame(t))}(),j.redraw=function(){j._stopped||(z=!0,W())},j},createCamera:n}},{"./camera.js":290,"./lib/shader":291,"a-big-triangle":61,"gl-axes3d":235,"gl-axes3d/properties":242,"gl-fbo":251,"gl-mat4/ortho":270,"gl-mat4/perspective":271,"gl-select-static":302,"gl-spikes3d":312,"is-mobile":421,"mouse-change":436}],293:[function(t,e,r){var n=t("glslify");r.pointVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform float pointCloud;\n\nhighp float rand(vec2 co) {\n  highp float a = 12.9898;\n  highp float b = 78.233;\n  highp float c = 43758.5453;\n  highp float d = dot(co.xy, vec2(a, b));\n  highp float e = mod(d, 3.14);\n  return fract(sin(e) * c);\n}\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n    // if we don't jitter the point size a bit, overall point cloud\n    // saturation 'jumps' on zooming, which is disturbing and confusing\n  gl_PointSize = pointSize * ((19.5 + rand(position)) / 20.0);\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    // get the same square surface as circle would be\n    gl_PointSize *= 0.886;\n  }\n}"]),r.pointFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color, borderColor;\nuniform float centerFraction;\nuniform float pointCloud;\n\nvoid main() {\n  float radius;\n  vec4 baseColor;\n  if(pointCloud != 0.0) { // pointCloud is truthy\n    if(centerFraction == 1.0) {\n      gl_FragColor = color;\n    } else {\n      gl_FragColor = mix(borderColor, color, centerFraction);\n    }\n  } else {\n    radius = length(2.0 * gl_PointCoord.xy - 1.0);\n    if(radius > 1.0) {\n      discard;\n    }\n    baseColor = mix(borderColor, color, step(radius, centerFraction));\n    gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n  }\n}\n"]),r.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n  vec3 hgPosition = matrix * vec3(position, 1);\n  gl_Position  = vec4(hgPosition.xy, 0, hgPosition.z);\n  gl_PointSize = pointSize;\n\n  vec4 id = pickId + pickOffset;\n  id.y += floor(id.x / 256.0);\n  id.x -= floor(id.x / 256.0) * 256.0;\n\n  id.z += floor(id.y / 256.0);\n  id.y -= floor(id.y / 256.0) * 256.0;\n\n  id.w += floor(id.z / 256.0);\n  id.z -= floor(id.z / 256.0) * 256.0;\n\n  fragId = id;\n}\n"]),r.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n  float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n  if(radius > 1.0) {\n    discard;\n  }\n  gl_FragColor = fragId / 255.0;\n}\n"])},{glslify:410}],294:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("typedarray-pool"),o=t("./lib/shader");function s(t,e,r,n,a){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=a,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}e.exports=function(t,e){var r=t.gl,i=a(r),l=a(r),c=n(r,o.pointVertex,o.pointFragment),u=n(r,o.pickVertex,o.pickFragment),h=new s(t,i,l,c,u);return h.update(e),t.addObject(h),h};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,a=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=a?s:i.mallocFloat32(s.length),c=o?t.idToIndex:i.mallocInt32(n);if(a||l.set(s),!o)for(l.set(s),e=0;e<n;e++)c[e]=e;this.points=s,this.offsetBuffer.update(l),this.pickBuffer.update(c),a||i.free(l),o||i.free(c),this.pointCount=n,this.pickOffset=0},u.unifiedDraw=(l=[1,0,0,0,1,0,0,0,1],c=[0,0,0,0],function(t){var e=void 0!==t,r=e?this.pickShader:this.shader,n=this.plot.gl,a=this.plot.dataBox;if(0===this.pointCount)return t;var i=a[2]-a[0],o=a[3]-a[1],s=function(t,e){var r,n=0,a=t.length>>>1;for(r=0;r<a;r++){var i=t[2*r],o=t[2*r+1];i>=e[0]&&i<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,a),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/i,l[4]=2/o,l[6]=-2*a[0]/i-1,l[7]=-2*a[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,a=this.pointCount;if(r<n||r>=n+a)return null;var i=r-n,o=this.points;return{object:this,pointId:i,dataCoord:[o[2*i],o[2*i+1]]}}},{"./lib/shader":293,"gl-buffer":243,"gl-shader":303,"typedarray-pool":543}],295:[function(t,e,r){e.exports=function(t,e,r,n){var a,i,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],g=r[2],v=r[3];(i=c*p+u*d+h*g+f*v)<0&&(i=-i,p=-p,d=-d,g=-g,v=-v);1-i>1e-6?(a=Math.acos(i),o=Math.sin(a),s=Math.sin((1-n)*a)/o,l=Math.sin(n*a)/o):(s=1-n,l=n);return t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*g,t[3]=s*f+l*v,t}},{}],296:[function(t,e,r){"use strict";e.exports=function(t){return t||0===t?t.toString():""}},{}],297:[function(t,e,r){"use strict";var n=t("vectorize-text");e.exports=function(t,e,r){var i=a[e];i||(i=a[e]={});if(t in i)return i[t];var o={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},s=n(t,o);o.triangles=!1;var l,c,u=n(t,o);if(r&&1!==r){for(l=0;l<s.positions.length;++l)for(c=0;c<s.positions[l].length;++c)s.positions[l][c]/=r;for(l=0;l<u.positions.length;++l)for(c=0;c<u.positions[l].length;++c)u.positions[l][c]/=r}var h=[[1/0,1/0],[-1/0,-1/0]],f=u.positions.length;for(l=0;l<f;++l){var p=u.positions[l];for(c=0;c<2;++c)h[0][c]=Math.min(h[0][c],p[c]),h[1][c]=Math.max(h[1][c],p[c])}return i[t]=[s,u,h]};var a={}},{"vectorize-text":548}],298:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = 1.0;\n    if(distance(highlightId, id) < 0.0001) {\n      scale = highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1);\n    vec4 viewPosition = view * worldPosition;\n    viewPosition = viewPosition / viewPosition.w;\n    vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float scale = pixelRatio;\n    if(distance(highlightId.bgr, id.bgr) < 0.001) {\n      scale *= highlightScale;\n    }\n\n    vec4 worldPosition = model * vec4(position, 1.0);\n    vec4 viewPosition = view * worldPosition;\n    vec4 clipPosition = projection * viewPosition;\n    clipPosition /= clipPosition.w;\n\n    gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = position;\n  }\n}"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n    gl_Position = vec4(0,0,0,0);\n  } else {\n    float lscale = pixelRatio * scale;\n    if(distance(highlightId, id) < 0.0001) {\n      lscale *= highlightScale;\n    }\n\n    vec4 clipCenter   = projection * view * model * vec4(position, 1);\n    vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n    vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n    gl_Position = clipPosition;\n    interpColor = color;\n    pickId = id;\n    dataCoordinate = dataPosition;\n  }\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (\n    outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n    interpColor.a * opacity == 0.\n  ) discard;\n  gl_FragColor = interpColor * opacity;\n}\n"]),c=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n  if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n  gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:i,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:i,fragment:c,attributes:u},g={vertex:o,fragment:c,attributes:u},v={vertex:s,fragment:c,attributes:u};function m(t,e){var r=n(t,e),a=r.attributes;return a.position.location=0,a.color.location=1,a.glyph.location=2,a.id.location=3,r}r.createPerspective=function(t){return m(t,h)},r.createOrtho=function(t){return m(t,f)},r.createProject=function(t){return m(t,p)},r.createPickPerspective=function(t){return m(t,d)},r.createPickOrtho=function(t){return m(t,g)},r.createPickProject=function(t){return m(t,v)}},{"gl-shader":303,glslify:410}],299:[function(t,e,r){"use strict";var n=t("is-string-blank"),a=t("gl-buffer"),i=t("gl-vao"),o=t("typedarray-pool"),s=t("gl-mat4/multiply"),l=t("./lib/shaders"),c=t("./lib/glyphs"),u=t("./lib/get-simple-string"),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function f(t,e){var r=t[0],n=t[1],a=t[2],i=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*a+e[12]*i,t[1]=e[1]*r+e[5]*n+e[9]*a+e[13]*i,t[2]=e[2]*r+e[6]*n+e[10]*a+e[14]*i,t[3]=e[3]*r+e[7]*n+e[11]*a+e[15]*i,t}function p(t,e,r,n){return f(n,n),f(n,n),f(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function g(t){return!0===t?1:t>1?1:t}function v(t,e,r,n,a,i,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=a,this.colorBuffer=i,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}e.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=a(e),f=a(e),p=a(e),d=a(e),g=i(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),m=new v(e,r,n,o,h,f,p,d,g,s,c,u);return m.update(t),m};var m=v.prototype;m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},m.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var y=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],k=h.slice(),T=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}function L(t,e,r,n){var a,i=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,d=e.axesBounds,g=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);a=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],y[0]=2/o.drawingBufferWidth,y[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=y,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=g,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var v=0;v<3;++v)if(i[v]){l.scale=e.projectScale[v],l.opacity=e.projectOpacity[v];for(var m=k,L=0;L<16;++L)m[L]=0;for(L=0;L<4;++L)m[5*L]=1;m[5*v]=0,a[v]<0?m[12+v]=d[0][v]:m[12+v]=d[1][v],s(m,c,m),l.model=m;var C=(v+1)%3,P=(v+2)%3,O=M(x),z=M(b);O[C]=1,z[P]=1;var I=p(0,0,0,S(_,O)),D=p(0,0,0,S(w,z));if(Math.abs(I[1])>Math.abs(D[1])){var R=I;I=D,D=R,R=O,O=z,z=R;var F=C;C=P,P=F}I[0]<0&&(O[C]=-1),D[1]>0&&(z[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(c[4*C+L],2),N+=Math.pow(c[4*P+L],2);O[C]/=Math.sqrt(B),z[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=z,l.fragClipBounds[0]=E(T,g[0],v,-1e8),l.fragClipBounds[1]=E(T,g[1],v,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}var C=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function P(t,e,r,n,a,i,o){var s=r.gl;if((i===r.projectHasAlpha||o)&&L(e,r,n,a),i===r.hasAlpha||o){t.bind();var l=t.uniforms;l.model=n.model||h,l.view=n.view||h,l.projection=n.projection||h,y[0]=2/s.drawingBufferWidth,y[1]=2/s.drawingBufferHeight,l.screenSize=y,l.highlightId=r.highlightId,l.highlightScale=r.highlightScale,l.fragClipBounds=C,l.clipBounds=r.axes.bounds,l.opacity=r.opacity,l.pickGroup=r.pickId/255,l.pixelRatio=a,r.vao.bind(),r.vao.draw(s.TRIANGLES,r.vertexCount),r.lineWidth>0&&(s.lineWidth(r.lineWidth*a),r.vao.draw(s.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,a){var i;i=Array.isArray(t)?e<t.length?t[e]:void 0:t,i=u(i);var o=!0;n(i)&&(i="\u25bc",o=!1);var s=c(i,r,a);return{mesh:s[0],lines:s[1],bounds:s[2],visible:o}}m.draw=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!1,!1)},m.drawTransparent=function(t){P(this.useOrtho?this.orthoShader:this.shader,this.projectShader,this,t,this.pixelRatio,!0,!1)},m.drawPick=function(t){P(this.useOrtho?this.pickOrthoShader:this.pickPerspectiveShader,this.pickProjectShader,this,t,1,!0,!0)},m.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[2]+(t.value[1]<<8)+(t.value[0]<<16);if(e>=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var a=0;a<3;++a)n.position[a]=n.dataCoordinate[a]=r[a];return n},m.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,a=e>>16&255;this.highlightId=[r/255,n/255,a/255,0]}else this.highlightId=[1,1,1,1]},m.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){if(Array.isArray(t.projectOpacity))this.projectOpacity=t.projectOpacity.slice();else{r=+t.projectOpacity;this.projectOpacity=[r,r,r]}for(var n=0;n<3;++n)this.projectOpacity[n]=g(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=g(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var a,i,s=t.position,l=t.font||"normal",c=t.alignment||[0,0];if(2===c.length)a=c[0],i=c[1];else{a=[],i=[];for(n=0;n<c.length;++n)a[n]=c[n][0],i[n]=c[n][1]}var u=[1/0,1/0,1/0],h=[-1/0,-1/0,-1/0],f=t.glyph,p=t.color,d=t.size,v=t.angle,m=t.lineColor,y=-1,x=0,b=0,_=0;if(s.length){_=s.length;t:for(n=0;n<_;++n){for(var w=s[n],k=0;k<3;++k)if(isNaN(w[k])||!isFinite(w[k]))continue t;var T=(N=O(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;x+=3*T.cells.length,b+=2*A.edges.length}}var S=x+b,E=o.mallocFloat(3*S),L=o.mallocFloat(4*S),C=o.mallocFloat(2*S),P=o.mallocUint32(S);if(S>0){var z=0,I=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(m)&&Array.isArray(m[0]);t:for(n=0;n<_;++n){y+=1;for(w=s[n],k=0;k<3;++k){if(isNaN(w[k])||!isFinite(w[k]))continue t;h[k]=Math.max(h[k],w[k]),u[k]=Math.min(u[k],w[k])}T=(N=O(f,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(V=F?n<p.length?p[n]:[0,0,0,0]:p).length){for(k=0;k<3;++k)D[k]=V[k];D[3]=1}else if(4===V.length){for(k=0;k<4;++k)D[k]=V[k];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else D[0]=D[1]=D[2]=0,D[3]=1;else D=[1,1,1,0];if(j)if(Array.isArray(m)){var V;if(3===(V=B?n<m.length?m[n]:[0,0,0,0]:m).length){for(k=0;k<3;++k)R[k]=V[k];R[k]=1}else if(4===V.length){for(k=0;k<4;++k)R[k]=V[k];!this.hasAlpha&&V[3]<1&&(this.hasAlpha=!0)}}else R[0]=R[1]=R[2]=0,R[3]=1;else R=[1,1,1,0];var U=.5;j?Array.isArray(d)?U=n<d.length?+d[n]:12:d?U=+d:this.useOrtho&&(U=12):U=0;var q=0;Array.isArray(v)?q=n<v.length?+v[n]:0:v&&(q=+v);var H=Math.cos(q),G=Math.sin(q);for(w=s[n],k=0;k<3;++k)h[k]=Math.max(h[k],w[k]),u[k]=Math.min(u[k],w[k]);var Y=a,W=i;Y=0;Array.isArray(a)?Y=n<a.length?a[n]:0:a&&(Y=a);W=0;Array.isArray(i)?W=n<i.length?i[n]:0:i&&(W=i);var X=[Y*=Y>0?1-M[0][0]:Y<0?1+M[1][0]:1,W*=W>0?1-M[0][1]:W<0?1+M[1][1]:1],Z=T.cells||[],J=T.positions||[];for(k=0;k<Z.length;++k)for(var K=Z[k],Q=0;Q<3;++Q){for(var $=0;$<3;++$)E[3*z+$]=w[$];for($=0;$<4;++$)L[4*z+$]=D[$];P[z]=y;var tt=J[K[Q]];C[2*z]=U*(H*tt[0]-G*tt[1]+X[0]),C[2*z+1]=U*(G*tt[0]+H*tt[1]+X[1]),z+=1}for(Z=A.edges,J=A.positions,k=0;k<Z.length;++k)for(K=Z[k],Q=0;Q<2;++Q){for($=0;$<3;++$)E[3*I+$]=w[$];for($=0;$<4;++$)L[4*I+$]=R[$];P[I]=y;tt=J[K[Q]];C[2*I]=U*(H*tt[0]-G*tt[1]+X[0]),C[2*I+1]=U*(G*tt[0]+H*tt[1]+X[1]),I+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=x,this.lineVertexCount=b,this.pointBuffer.update(E),this.colorBuffer.update(L),this.glyphBuffer.update(C),this.idBuffer.update(P),o.free(E),o.free(L),o.free(C),o.free(P)},m.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},{"./lib/get-simple-string":296,"./lib/glyphs":297,"./lib/shaders":298,"gl-buffer":243,"gl-mat4/multiply":269,"gl-vao":328,"is-string-blank":424,"typedarray-pool":543}],300:[function(t,e,r){"use strict";var n=t("glslify");r.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n  gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),r.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n  gl_FragColor = color;\n}\n"])},{glslify:410}],301:[function(t,e,r){"use strict";var n=t("gl-shader"),a=t("gl-buffer"),i=t("./lib/shaders");function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}e.exports=function(t,e){var r=t.gl,s=a(r,[0,0,0,1,1,0,1,1]),l=n(r,i.boxVertex,i.boxFragment),c=new o(t,s,l);return c.update(e),t.addOverlay(c),c};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),a=(this.outerFill,this.outerColor),i=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,h=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],f=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(h=Math.max(h,c[0]),f=Math.max(f,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p<h||d<f)){o.bind();var g=s[2]-s[0],v=s[3]-s[1];if(this.outerFill&&(o.drawBox(0,0,g,f,a),o.drawBox(0,f,h,d,a),o.drawBox(0,d,g,v,a),o.drawBox(p,f,g,d,a)),this.innerFill&&o.drawBox(h,f,p,d,n),r>0){var m=r*u;o.drawBox(h-m,f-m,p+m,f+m,i),o.drawBox(h-m,d-m,p+m,d+m,i),o.drawBox(h-m,f-m,h+m,d+m,i),o.drawBox(p-m,f-m,p+m,d+m,i)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},{"./lib/shaders":300,"gl-buffer":243,"gl-shader":303}],302:[function(t,e,r){"use strict";e.exports=function(t,e){var r=n(t,e),i=a.mallocUint8(e[0]*e[1]*4);return new c(t,r,i)};var n=t("gl-fbo"),a=t("typedarray-pool"),i=t("ndarray"),o=t("bit-twiddle").nextPow2,s=t("cwise/lib/wrapper")({args:["array",{offset:[0,0,1],array:0},{offset:[0,0,2],array:0},{offset:[0,0,3],array:0},"scalar","scalar","index"],pre:{body:"{this_closestD2=1e8,this_closestX=-1,this_closestY=-1}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},body:{body:"{if(_inline_16_arg0_<255||_inline_16_arg1_<255||_inline_16_arg2_<255||_inline_16_arg3_<255){var _inline_16_l=_inline_16_arg4_-_inline_16_arg6_[0],_inline_16_a=_inline_16_arg5_-_inline_16_arg6_[1],_inline_16_f=_inline_16_l*_inline_16_l+_inline_16_a*_inline_16_a;_inline_16_f<this_closestD2&&(this_closestD2=_inline_16_f,this_closestX=_inline_16_arg6_[0],this_closestY=_inline_16_arg6_[1])}}",args:[{name:"_inline_16_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg4_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg5_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_16_arg6_",lvalue:!1,rvalue:!0,count:4}],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:["_inline_16_a","_inline_16_f","_inline_16_l"]},post:{body:"{return[this_closestX,this_closestY,this_closestD2]}",args:[],thisVars:["this_closestD2","this_closestX","this_closestY"],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});function l(t,e,r,n,a){this.coord=[t,e],this.id=r,this.value=n,this.distance=a}function c(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=c.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){a.free(this.buffer);for(var n=this.buffer=a.mallocUint8(o(r*e*4)),i=0;i<r*e*4;++i)n[i]=255}return t}}}),u.begin=function(){var t=this.gl;this.shape;t&&(this.fbo.bind(),t.clearColor(1,1,1,1),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT))},u.end=function(){var t=this.gl;t&&(t.bindFramebuffer(t.FRAMEBUFFER,null),this._readTimeout||clearTimeout(this._readTimeout),this._readTimeout=setTimeout(this._readCallback,1))},u.query=function(t,e,r){if(!this.gl)return null;var n=this.fbo.shape.slice();t|=0,e|=0,"number"!=typeof r&&(r=1);var a=0|Math.min(Math.max(t-r,0),n[0]),o=0|Math.min(Math.max(t+r,0),n[0]),c=0|Math.min(Math.max(e-r,0),n[1]),u=0|Math.min(Math.max(e+r,0),n[1]);if(o<=a||u<=c)return null;var h=[o-a,u-c],f=i(this.buffer,[h[0],h[1],4],[4,4*n[0],1],4*(a+n[0]*c)),p=s(f.hi(h[0],h[1],1),r,r),d=p[0],g=p[1];return d<0||Math.pow(this.radius,2)<p[2]?null:new l(d+a|0,g+c|0,f.get(d,g,0),[f.get(d,g,1),f.get(d,g,2),f.get(d,g,3)],Math.sqrt(p[2]))},u.dispose=function(){this.gl&&(this.fbo.dispose(),a.free(this.buffer),this.gl=null,this._readTimeout&&clearTimeout(this._readTimeout))}},{"bit-twiddle":93,"cwise/lib/wrapper":150,"gl-fbo":251,ndarray:451,"typedarray-pool":543}],303:[function(t,e,r){"use strict";var n=t("./lib/create-uniforms"),a=t("./lib/create-attributes"),i=t("./lib/reflect"),o=t("./lib/shader-cache"),s=t("./lib/runtime-reflect"),l=t("./lib/GLError");function c(t){this.gl=t,this.gl.lastAttribCount=0,this._vref=this._fref=this._relink=this.vertShader=this.fragShader=this.program=this.attributes=this.uniforms=this.types=null}var u=c.prototype;function h(t,e){return t.name<e.name?-1:1}u.bind=function(){var t;this.program||this._relink();var e=this.gl.getProgramParameter(this.program,this.gl.ACTIVE_ATTRIBUTES),r=this.gl.lastAttribCount;if(e>r)for(t=r;t<e;t++)this.gl.enableVertexAttribArray(t);else if(r>e)for(t=e;t<r;t++)this.gl.disableVertexAttribArray(t);this.gl.lastAttribCount=e,this.gl.useProgram(this.program)},u.dispose=function(){for(var t=this.gl.lastAttribCount,e=0;e<t;e++)this.gl.disableVertexAttribArray(e);this.gl.lastAttribCount=0,this._fref&&this._fref.dispose(),this._vref&&this._vref.dispose(),this.attributes=this.types=this.vertShader=this.fragShader=this.program=this._relink=this._fref=this._vref=null},u.update=function(t,e,r,c){if(!e||1===arguments.length){var u=t;t=u.vertex,e=u.fragment,r=u.uniforms,c=u.attributes}var f=this,p=f.gl,d=f._vref;f._vref=o.shader(p,p.VERTEX_SHADER,t),d&&d.dispose(),f.vertShader=f._vref.shader;var g=this._fref;if(f._fref=o.shader(p,p.FRAGMENT_SHADER,e),g&&g.dispose(),f.fragShader=f._fref.shader,!r||!c){var v=p.createProgram();if(p.attachShader(v,f.fragShader),p.attachShader(v,f.vertShader),p.linkProgram(v),!p.getProgramParameter(v,p.LINK_STATUS)){var m=p.getProgramInfoLog(v);throw new l(m,"Error linking program:"+m)}r=r||s.uniforms(p,v),c=c||s.attributes(p,v),p.deleteProgram(v)}(c=c.slice()).sort(h);var y,x=[],b=[],_=[];for(y=0;y<c.length;++y){var w=c[y];if(w.type.indexOf("mat")>=0){for(var k=0|w.type.charAt(w.type.length-1),T=new Array(k),A=0;A<k;++A)T[A]=_.length,b.push(w.name+"["+A+"]"),"number"==typeof w.location?_.push(w.location+A):Array.isArray(w.location)&&w.location.length===k&&"number"==typeof w.location[A]?_.push(0|w.location[A]):_.push(-1);x.push({name:w.name,type:w.type,locations:T})}else x.push({name:w.name,type:w.type,locations:[_.length]}),b.push(w.name),"number"==typeof w.location?_.push(0|w.location):_.push(-1)}var M=0;for(y=0;y<_.length;++y)if(_[y]<0){for(;_.indexOf(M)>=0;)M+=1;_[y]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,b,_);for(var t=0;t<r.length;++t)S[t]=p.getUniformLocation(f.program,r[t].name)}E(),f._relink=E,f.types={uniforms:i(r),attributes:i(c)},f.attributes=a(p,f,x,_),Object.defineProperty(f,"uniforms",n(p,f,r,S))},e.exports=function(t,e,r,n,a){var i=new c(t);return i.update(e,r,n,a),i}},{"./lib/GLError":304,"./lib/create-attributes":305,"./lib/create-uniforms":306,"./lib/reflect":307,"./lib/runtime-reflect":308,"./lib/shader-cache":309}],304:[function(t,e,r){function n(t,e,r){this.shortMessage=e||"",this.longMessage=r||"",this.rawError=t||"",this.message="gl-shader: "+(e||t||"")+(r?"\n"+r:""),this.stack=(new Error).stack}n.prototype=new Error,n.prototype.name="GLError",n.prototype.constructor=n,e.exports=n},{}],305:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){for(var i={},l=0,c=r.length;l<c;++l){var u=r[l],h=u.name,f=u.type,p=u.locations;switch(f){case"bool":case"int":case"float":o(t,e,p[0],a,1,i,h);break;default:if(f.indexOf("vec")>=0){var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);o(t,e,p[0],a,d,i,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d=f.charCodeAt(f.length-1)-48;if(d<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(t,e,p,a,d,i,h)}}}return i};var n=t("./GLError");function a(t,e,r,n,a,i){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=a,this._constFunc=i}var i=a.prototype;function o(t,e,r,n,i,o,s){for(var l=["gl","v"],c=[],u=0;u<i;++u)l.push("x"+u),c.push("x"+u);l.push("if(x0.length===void 0){return gl.vertexAttrib"+i+"f(v,"+c.join()+")}else{return gl.vertexAttrib"+i+"fv(v,x0)}");var h=Function.apply(null,l),f=new a(t,e,r,n,i,h);Object.defineProperty(o,s,{set:function(e){return t.disableVertexAttribArray(n[r]),h(t,n[r],e),e},get:function(){return f},enumerable:!0})}function s(t,e,r,n,a,i,s){for(var l=new Array(a),c=new Array(a),u=0;u<a;++u)o(t,e,r[u],n,a,l,u),c[u]=l[u];Object.defineProperty(l,"location",{set:function(t){if(Array.isArray(t))for(var e=0;e<a;++e)c[e].location=t[e];else for(e=0;e<a;++e)c[e].location=t+e;return t},get:function(){for(var t=new Array(a),e=0;e<a;++e)t[e]=n[r[e]];return t},enumerable:!0}),l.pointer=function(e,i,o,s){e=e||t.FLOAT,i=!!i,o=o||a*a,s=s||0;for(var l=0;l<a;++l){var c=n[r[l]];t.vertexAttribPointer(c,a,e,i,o,s+l*a),t.enableVertexAttribArray(c)}};var h=new Array(a),f=t["vertexAttrib"+a+"fv"];Object.defineProperty(i,s,{set:function(e){for(var i=0;i<a;++i){var o=n[r[i]];if(t.disableVertexAttribArray(o),Array.isArray(e[0]))f.call(t,o,e[i]);else{for(var s=0;s<a;++s)h[s]=e[a*i+s];f.call(t,o,h)}}return e},get:function(){return l},enumerable:!0})}i.pointer=function(t,e,r,n){var a=this._gl,i=this._locations[this._index];a.vertexAttribPointer(i,this._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(i)},i.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(i,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}})},{"./GLError":304}],306:[function(t,e,r){"use strict";var n=t("./reflect"),a=t("./GLError");function i(t){return new Function("y","return function(){return y}")(t)}function o(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}e.exports=function(t,e,r,s){function l(t,e,r){switch(r){case"bool":case"int":case"sampler2D":case"samplerCube":return"gl.uniform1i(locations["+e+"],obj"+t+")";case"float":return"gl.uniform1f(locations["+e+"],obj"+t+")";default:var n=r.indexOf("vec");if(!(0<=n&&n<=1&&r.length===4+n)){if(0===r.indexOf("mat")&&4===r.length){var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+r);return"gl.uniformMatrix"+i+"fv(locations["+e+"],false,obj"+t+")"}throw new a("","Unknown uniform data type for "+name+": "+r)}var i=r.charCodeAt(r.length-1)-48;if(i<2||i>4)throw new a("","Invalid data type");switch(r.charAt(0)){case"b":case"i":return"gl.uniform"+i+"iv(locations["+e+"],obj"+t+")";case"v":return"gl.uniform"+i+"fv(locations["+e+"],obj"+t+")";default:throw new a("","Unrecognized data type for vector "+name+": "+r)}}}function c(e){for(var n=["return function updateProperty(obj){"],a=function t(e,r){if("object"!=typeof r)return[[e,r]];var n=[];for(var a in r){var i=r[a],o=e;parseInt(a)+""===a?o+="["+a+"]":o+="."+a,"object"==typeof i?n.push.apply(n,t(o,i)):n.push([o,i])}return n}("",e),i=0;i<a.length;++i){var o=a[i],c=o[0],u=o[1];s[u]&&n.push(l(c,u,r[u].type))}n.push("return obj}");var h=new Function("gl","locations",n.join("\n"));return h(t,s)}function u(n,l,u){if("object"==typeof u){var f=h(u);Object.defineProperty(n,l,{get:i(f),set:c(u),enumerable:!0,configurable:!1})}else s[u]?Object.defineProperty(n,l,{get:(p=u,new Function("gl","wrapper","locations","return function(){return gl.getUniform(wrapper.program,locations["+p+"])}")(t,e,s)),set:c(u),enumerable:!0,configurable:!1}):n[l]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new a("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r=t.charCodeAt(t.length-1)-48;if(r<2||r>4)throw new a("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new a("","Unknown uniform data type for "+name+": "+t)}}(r[u].type);var p}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r<t.length;++r)u(e,r,t[r])}else for(var n in e={},t)u(e,n,t[n]);return e}var f=n(r,!0);return{get:i(h(f)),set:c(f),enumerable:!0,configurable:!0}}},{"./GLError":304,"./reflect":307}],307:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r={},n=0;n<t.length;++n)for(var a=t[n].name,i=a.split("."),o=r,s=0;s<i.length;++s){var l=i[s].split("[");if(l.length>1){l[0]in o||(o[l[0]]=[]),o=o[l[0]];for(var c=1;c<l.length;++c){var u=parseInt(l[c]);c<l.length-1||s<i.length-1?(u in o||(c<l.length-1?o[u]=[]:o[u]={}),o=o[u]):o[u]=e?n:t[n].type}}else s<i.length-1?(l[0]in o||(o[l[0]]={}),o=o[l[0]]):o[l[0]]=e?n:t[n].type}return r}},{}],308:[function(t,e,r){"use strict";r.uniforms=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=[],a=0;a<r;++a){var o=t.getActiveUniform(e,a);if(o){var s=i(t,o.type);if(o.size>1)for(var l=0;l<o.size;++l)n.push({name:o.name.replace("[0]","["+l+"]"),type:s});else n.push({name:o.name,type:s})}}return n},r.attributes=function(t,e){for(var r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=[],a=0;a<r;++a){var o=t.getActiveAttrib(e,a);o&&n.push({name:o.name,type:i(t,o.type)})}return n};var n={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},a=null;function i(t,e){if(!a){var r=Object.keys(n);a={};for(var i=0;i<r.length;++i){var o=r[i];a[t[o]]=n[o]}}return a[e]}},{}],309:[function(t,e,r){"use strict";r.shader=function(t,e,r){return u(t).getShaderReference(e,r)},r.program=function(t,e,r,n,a){return u(t).getProgram(e,r,n,a)};var n=t("./GLError"),a=t("gl-format-compiler-error"),i=new("undefined"==typeof WeakMap?t("weakmap-shim"):WeakMap),o=0;function s(t,e,r,n,a,i,o){this.id=t,this.src=e,this.type=r,this.shader=n,this.count=i,this.programs=[],this.cache=o}function l(t){this.gl=t,this.shaders=[{},{}],this.programs={}}s.prototype.dispose=function(){if(0==--this.count){for(var t=this.cache,e=t.gl,r=this.programs,n=0,a=r.length;n<a;++n){var i=t.programs[r[n]];i&&(delete t.programs[n],e.deleteProgram(i))}e.deleteShader(this.shader),delete t.shaders[this.type===e.FRAGMENT_SHADER|0][this.src]}};var c=l.prototype;function u(t){var e=i.get(t);return e||(e=new l(t),i.set(t,e)),e}c.getShaderReference=function(t,e){var r=this.gl,i=this.shaders[t===r.FRAGMENT_SHADER|0],l=i[e];if(l&&r.isShader(l.shader))l.count+=1;else{var c=function(t,e,r){var i=t.createShader(e);if(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS)){var o=t.getShaderInfoLog(i);try{var s=a(o,r,e)}catch(t){throw console.warn("Failed to format compiler error: "+t),new n(o,"Error compiling shader:\n"+o)}throw new n(o,s.short,s.long)}return i}(r,t,e);l=i[e]=new s(o++,e,t,c,[],1,this)}return l},c.getProgram=function(t,e,r,a){var i=[t.id,e.id,r.join(":"),a.join(":")].join("@"),o=this.programs[i];return o&&this.gl.isProgram(o)||(this.programs[i]=o=function(t,e,r,a,i){var o=t.createProgram();t.attachShader(o,e),t.attachShader(o,r);for(var s=0;s<a.length;++s)t.bindAttribLocation(o,i[s],a[s]);if(t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS)){var l=t.getProgramInfoLog(o);throw new n(l,"Error linking program: "+l)}return o}(this.gl,t.shader,e.shader,r,a),t.programs.push(i),e.programs.push(i)),o}},{"./GLError":304,"gl-format-compiler-error":252,"weakmap-shim":553}],310:[function(t,e,r){"use strict";function n(t){this.plot=t,this.enable=[!0,!0,!1,!1],this.width=[1,1,1,1],this.color=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.center=[1/0,1/0]}e.exports=function(t,e){var r=new n(t);return r.update(e),t.addOverlay(r),r};var a=n.prototype;a.update=function(t){t=t||{},this.enable=(t.enable||[!0,!0,!1,!1]).slice(),this.width=(t.width||[1,1,1,1]).slice(),this.color=(t.color||[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]).map(function(t){return t.slice()}),this.center=(t.center||[1/0,1/0]).slice(),this.plot.setOverlayDirty()},a.draw=function(){var t=this.enable,e=this.width,r=this.color,n=this.center,a=this.plot,i=a.line,o=a.dataBox,s=a.viewBox;if(i.bind(),o[0]<=n[0]&&n[0]<=o[2]&&o[1]<=n[1]&&n[1]<=o[3]){var l=s[0]+(n[0]-o[0])/(o[2]-o[0])*(s[2]-s[0]),c=s[1]+(n[1]-o[1])/(o[3]-o[1])*(s[3]-s[1]);t[0]&&i.drawLine(l,c,s[0],c,e[0],r[0]),t[1]&&i.drawLine(l,c,l,s[1],e[1],r[1]),t[2]&&i.drawLine(l,c,s[2],c,e[2],r[2]),t[3]&&i.drawLine(l,c,l,s[3],e[3],r[3])}},a.dispose=function(){this.plot.removeOverlay(this)}},{}],311:[function(t,e,r){"use strict";var n=t("glslify"),a=t("gl-shader"),i=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec3 position, color;\nattribute float weight;\n\nuniform mat4 model, view, projection;\nuniform vec3 coordinates[3];\nuniform vec4 colors[3];\nuniform vec2 screenShape;\nuniform float lineWidth;\n\nvarying vec4 fragColor;\n\nvoid main() {\n  vec3 vertexPosition = mix(coordinates[0],\n    mix(coordinates[2], coordinates[1], 0.5 * (position + 1.0)), abs(position));\n\n  vec4 clipPos = projection * view * model * vec4(vertexPosition, 1.0);\n  vec2 clipOffset = (projection * view * model * vec4(color, 0.0)).xy;\n  vec2 delta = weight * clipOffset * screenShape;\n  vec2 lineOffset = normalize(vec2(delta.y, -delta.x)) / screenShape;\n\n  gl_Position   = vec4(clipPos.xy + clipPos.w * 0.5 * lineWidth * lineOffset, clipPos.z, clipPos.w);\n  fragColor     = color.x * colors[0] + color.y * colors[1] + color.z * colors[2];\n}\n"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n  gl_FragColor = fragColor;\n}"]);e.exports=function(t){return a(t,i,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec3"},{name:"weight",type:"float"}])}},{"gl-shader":303,glslify:410}],312:[function(t,e,r){"use strict";var n=t("gl-buffer"),a=t("gl-vao"),i=t("./shaders/index");e.exports=function(t,e){var r=[];function o(t,e,n,a,i,o){var s=[t,e,n,0,0,0,1];s[a+3]=1,s[a]=i,r.push.apply(r,s),s[6]=-1,r.push.apply(r,s),s[a]=o,r.push.apply(r,s),r.push.apply(r,s),s[6]=1,r.push.apply(r,s),s[a]=i,r.push.apply(r,s)}o(0,0,0,0,0,1),o(0,0,0,1,0,1),o(0,0,0,2,0,1),o(1,0,0,1,-1,1),o(1,0,0,2,-1,1),o(0,1,0,0,-1,1),o(0,1,0,2,-1,1),o(0,0,1,0,-1,1),o(0,0,1,1,-1,1);var l=n(t,r),c=a(t,[{type:t.FLOAT,buffer:l,size:3,offset:0,stride:28},{type:t.FLOAT,buffer:l,size:3,offset:12,stride:28},{type:t.FLOAT,buffer:l,size:1,offset:24,stride:28}]),u=i(t);u.attributes.position.location=0,u.attributes.color.location=1,u.attributes.weight.location=2;var h=new s(t,l,c,u);return h.update(e),h};var o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n,this.pixelRatio=1,this.bounds=[[-1e3,-1e3,-1e3],[1e3,1e3,1e3]],this.position=[0,0,0],this.lineWidth=[2,2,2],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.enabled=[!0,!0,!0],this.drawSides=[!0,!0,!0],this.axes=null}var l=s.prototype,c=[0,0,0],u=[0,0,0],h=[0,0];l.isTransparent=function(){return!1},l.drawTransparent=function(t){},l.draw=function(t){var e=this.gl,r=this.vao,n=this.shader;r.bind(),n.bind();var a,i=t.model||o,s=t.view||o,l=t.projection||o;this.axes&&(a=this.axes.lastCubeProps.axis);for(var f=c,p=u,d=0;d<3;++d)a&&a[d]<0?(f[d]=this.bounds[0][d],p[d]=this.bounds[1][d]):(f[d]=this.bounds[1][d],p[d]=this.bounds[0][d]);h[0]=e.drawingBufferWidth,h[1]=e.drawingBufferHeight,n.uniforms.model=i,n.uniforms.view=s,n.uniforms.projection=l,n.uniforms.coordinates=[this.position,f,p],n.uniforms.colors=this.colors,n.uniforms.screenShape=h;for(d=0;d<3;++d)n.uniforms.lineWidth=this.lineWidth[d]*this.pixelRatio,this.enabled[d]&&(r.draw(e.TRIANGLES,6,6*d),this.drawSides[d]&&r.draw(e.TRIANGLES,12,18+12*d));r.unbind()},l.update=function(t){t&&("bounds"in t&&(this.bounds=t.bounds),"position"in t&&(this.position=t.position),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"colors"in t&&(this.colors=t.colors),"enabled"in t&&(this.enabled=t.enabled),"drawSides"in t&&(this.drawSides=t.drawSides))},l.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},{"./shaders/index":311,"gl-buffer":243,"gl-vao":328}],313:[function(t,e,r){var n=t("glslify"),a=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  // Scale the vector magnitude to stay constant with\n  // model & view changes.\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * tubePosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  f_lightDirection = lightPosition - cameraCoordinate.xyz;\n  f_eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n  // vec4 m_position  = model * vec4(tubePosition, 1.0);\n  vec4 t_position  = view * tubePosition;\n  gl_Position      = projection * t_position;\n\n  f_color          = color;\n  f_data           = tubePosition.xyz;\n  f_position       = position.xyz;\n  f_uv             = uv;\n}\n"]),i=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness,\n  float fresnel) {\n\n  float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n  float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n  //Half angle vector\n  vec3 H = normalize(lightDirection + viewDirection);\n\n  //Geometric term\n  float NdotH = max(dot(surfaceNormal, H), 0.0);\n  float VdotH = max(dot(viewDirection, H), 0.000001);\n  float LdotH = max(dot(lightDirection, H), 0.000001);\n  float G1 = (2.0 * NdotH * VdotN) / VdotH;\n  float G2 = (2.0 * NdotH * LdotN) / LdotH;\n  float G = min(1.0, min(G1, G2));\n  \n  //Distribution term\n  float D = beckmannDistribution(NdotH, roughness);\n\n  //Fresnel term\n  float F = pow(1.0 - VdotN, fresnel);\n\n  //Multiply terms and done\n  return  G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n  vec3 N = normalize(f_normal);\n  vec3 L = normalize(f_lightDirection);\n  vec3 V = normalize(f_eyeDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n  // Return up-vector for only-z vector.\n  // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n  // From the above if-statement we have ||a|| > 0  U  ||b|| > 0.\n  // Assign z = 0, x = -b, y = a:\n  // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n  if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n    return normalize(vec3(-v.y, v.x, 0.0));\n  } else {\n    return normalize(vec3(0.0, v.z, -v.y));\n  }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n  float segmentCount = 8.0;\n\n  float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n  vec3 u = getOrthogonalVector(d);\n  vec3 v = normalize(cross(u, d));\n\n  vec3 x = u * cos(angle) * length(d);\n  vec3 y = v * sin(angle) * length(d);\n  vec3 v3 = x + y;\n\n  normal = normalize(v3);\n\n  return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  vec3 normal;\n  vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n  vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n  gl_Position = projection * view * tubePosition;\n  f_id        = id;\n  f_position  = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3  clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n  if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n  gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);r.meshShader={vertex:a,fragment:i,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},r.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},{glslify:410}],314:[function(t,e,r){"use strict";var n=t("gl-vec3"),a=t("gl-vec4"),i=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e,r,i){for(var o=0,s=0;s<t.length;s++)for(var l=t[s].velocities,c=0;c<l.length;c++)o=Math.max(o,n.length(l[c]));var u=t.map(function(t){return function(t,e,r,i){for(var o=t.points,s=t.velocities,l=t.divergences,c=[],u=[],h=[],f=[],p=[],d=[],g=0,v=0,m=a.create(),y=a.create(),x=0;x<o.length;x++){var b=o[x],_=s[x],w=l[x];0===e&&(w=.05*r),v=n.length(_)/i,m=a.create(),n.copy(m,_),m[3]=w;for(var k=0;k<8;k++)p[k]=[b[0],b[1],b[2],k];if(f.length>0)for(k=0;k<8;k++){var T=(k+1)%8;c.push(f[k],p[k],p[T],p[T],f[T],f[k]),h.push(y,m,m,m,y,y),d.push(g,v,v,v,g,g);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=y;y=m,m=S;var E=g;g=v,v=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,i,o)}),h=[],f=[],p=[],d=[];for(s=0;s<u.length;s++){var g=u[s],v=h.length;h=h.concat(g.positions),p=p.concat(g.vectors),d=d.concat(g.vertexIntensity);for(c=0;c<g.cells.length;c++){var m=g.cells[c],y=[];f.push(y);for(var x=0;x<m.length;x++)y.push(m[x]+v)}}return{positions:h,cells:f,vectors:p,vertexIntensity:d,colormap:e}},s=function(t,e){var r,n=t.length;for(r=0;r<n;r++){var a=t[r];if(a===e)return r;if(a>e)return r-1}return r},l=function(t,e,r){return t<e?e:t>r?r:t},c=function(t){var e=1/0;t.sort(function(t,e){return t-e});for(var r=t.length,n=1;n<r;n++){var a=Math.abs(t[n]-t[n-1]);a<e&&(e=a)}return e};e.exports=function(t,e){var r=t.startingPositions,a=t.maxLength||1e3,u=t.tubeSize||1,h=t.absoluteTubeSize,f=t.gridFill||"+x+y+z",p={};-1!==f.indexOf("-x")&&(p.reversedX=!0),-1!==f.indexOf("-y")&&(p.reversedY=!0),-1!==f.indexOf("-z")&&(p.reversedZ=!0),p.filled=i.indexOf(f.replace(/-/g,"").replace(/\+/g,""));var d=t.getVelocity||function(e){return function(t,e,r){var a=e.vectors,i=e.meshgrid,o=t[0],c=t[1],u=t[2],h=i[0].length,f=i[1].length,p=i[2].length,d=s(i[0],o),g=s(i[1],c),v=s(i[2],u),m=d+1,y=g+1,x=v+1;if(d=l(d,0,h-1),m=l(m,0,h-1),g=l(g,0,f-1),y=l(y,0,f-1),v=l(v,0,p-1),x=l(x,0,p-1),d<0||g<0||v<0||m>h-1||y>f-1||x>p-1)return n.create();var b,_,w,k,T,A,M=i[0][d],S=i[0][m],E=i[1][g],L=i[1][y],C=i[2][v],P=(o-M)/(S-M),O=(c-E)/(L-E),z=(u-C)/(i[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,m=h-1-m),r.reversedY&&(g=f-1-g,y=f-1-y),r.reversedZ&&(v=p-1-v,x=p-1-x),r.filled){case 5:T=v,A=x,w=g*p,k=y*p,b=d*p*f,_=m*p*f;break;case 4:T=v,A=x,b=d*p,_=m*p,w=g*p*h,k=y*p*h;break;case 3:w=g,k=y,T=v*f,A=x*f,b=d*f*p,_=m*f*p;break;case 2:w=g,k=y,b=d*f,_=m*f,T=v*f*h,A=x*f*h;break;case 1:b=d,_=m,T=v*h,A=x*h,w=g*h*p,k=y*h*p;break;default:b=d,_=m,w=g*h,k=y*h,T=v*h*f,A=x*h*f}var I=a[b+w+T],D=a[b+w+A],R=a[b+k+T],F=a[b+k+A],B=a[_+w+T],N=a[_+w+A],j=a[_+k+T],V=a[_+k+A],U=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(U,I,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,V,P);var Y=n.create(),W=n.create();n.lerp(Y,U,H,O),n.lerp(W,q,G,O);var X=n.create();return n.lerp(X,Y,W,z),X}(e,t,p)},g=t.getDivergence||function(t,e){var r=n.create(),a=1e-4;n.add(r,t,[a,0,0]);var i=d(r);n.subtract(i,i,e),n.scale(i,i,1e4),n.add(r,t,[0,a,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1e4),n.add(r,t,[0,0,a]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1e4),n.add(r,i,o),n.add(r,r,s),r},v=[],m=e[0][0],y=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],k=function(t){var e=t[0],r=t[1],n=t[2];return!(e<m||e>b||r<y||r>_||n<x||n>w)},T=10*n.distance(e[0],e[1])/a,A=T*T,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],a={},i={},o={},s=t.length,l=0;l<s;l++){var u=t[l],h=u[0],f=u[1],p=u[2];a[h]||(e.push(h),a[h]=!0),i[f]||(r.push(f),i[f]=!0),o[p]||(n.push(p),o[p]=!0)}var d=c(e),g=c(r),v=c(n),m=Math.min(d,g,v);return isFinite(m)?m:1}(r));for(var L=0;L<E;L++){var C=n.create();n.copy(C,r[L]);var P=[C],O=[],z=d(C),I=C;O.push(z);var D=[],R=g(C,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F),v.push({points:P,velocities:O,divergences:D});for(var B=0;B<100*a&&P.length<a&&k(C);){B++;var N=n.clone(z),j=n.squaredLength(N);if(0===j)break;if(j>A&&n.scale(N,N,T/Math.sqrt(j)),n.add(N,N,C),z=d(N),n.squaredDistance(I,N)-A>-1e-4*A){P.push(N),I=N,O.push(z);R=g(N,z),F=n.length(R);isFinite(F)&&F>S&&(S=F),D.push(F)}C=N}}var V=o(v,t.colormap,S,M);return h?V.tubeScale=h:(0===S&&(S=1),V.tubeScale=.5*u*M/S),V};var u=t("./lib/shaders"),h=t("gl-cone3d").createMesh;e.exports.createTubeMesh=function(t,e){return h(t,e,{shaders:u,traceType:"streamtube"})}},{"./lib/shaders":313,"gl-cone3d":244,"gl-vec3":347,"gl-vec4":383}],315:[function(t,e,r){var n=t("gl-shader"),a=t("glslify"),i=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute vec3 f;\nattribute vec3 normal;\n\nuniform vec3 objectOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 lightPosition, eyePosition;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 localCoordinate = vec3(uv.zw, f.x);\n  worldCoordinate = objectOffset + localCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n  vec4 clipPosition = projection * view * worldPosition;\n  gl_Position = clipPosition;\n  kill = f.y;\n  value = f.z;\n  planeCoordinate = uv.xy;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Lighting geometry parameters\n  vec4 cameraCoordinate = view * worldPosition;\n  cameraCoordinate.xyz /= cameraCoordinate.w;\n  lightDirection = lightPosition - cameraCoordinate.xyz;\n  eyeDirection   = eyePosition - cameraCoordinate.xyz;\n  surfaceNormal  = normalize((vec4(normal,0) * inverseModel).xyz);\n}\n"]),o=a(["precision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n  float NdotH = max(x, 0.0001);\n  float cos2Alpha = NdotH * NdotH;\n  float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n  float roughness2 = roughness * roughness;\n  float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n  return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat beckmannSpecular(\n  vec3 lightDirection,\n  vec3 viewDirection,\n  vec3 surfaceNormal,\n  float roughness) {\n  return beckmannDistribution(dot(surfaceNormal, normalize(lightDirection + viewDirection)), roughness);\n}\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  if ((kill > 0.0) ||\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n  vec3 N = normalize(surfaceNormal);\n  vec3 V = normalize(eyeDirection);\n  vec3 L = normalize(lightDirection);\n\n  if(gl_FrontFacing) {\n    N = -N;\n  }\n\n  float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n  float diffuse  = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n  //decide how to interpolate color \u2014 in vertex or in fragment\n  vec4 surfaceColor =\n    step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n    step(.5, vertexColor) * vColor;\n\n  vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular,  1.0);\n\n  gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=a(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n  vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n  worldCoordinate = objectOffset + dataCoordinate;\n  vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n  vec4 clipPosition = projection * view * worldPosition;\n  clipPosition.z += zOffset;\n\n  gl_Position = clipPosition;\n  value = f + objectOffset.z;\n  kill = -1.0;\n  planeCoordinate = uv.zw;\n\n  vColor = texture2D(colormap, vec2(value, value));\n\n  //Don't do lighting for contours\n  surfaceNormal   = vec3(1,0,0);\n  eyeDirection    = vec3(0,1,0);\n  lightDirection  = vec3(0,0,1);\n}\n"]),l=a(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n  return ((p > max(a, b)) || \n          (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n  return (outOfRange(a.x, b.x, p.x) ||\n          outOfRange(a.y, b.y, p.y) ||\n          outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n  return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n  float vh = 255.0 * v;\n  float upper = floor(vh);\n  float lower = fract(vh);\n  return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n  if ((kill > 0.0) ||\n      (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n  vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n  vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n  gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);r.createShader=function(t){var e=n(t,i,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createPickShader=function(t){var e=n(t,i,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},r.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},r.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},{"gl-shader":303,glslify:410}],316:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],317:[function(t,e,r){"use strict";e.exports=function(t){var e=t.gl,r=y(e),n=b(e),s=x(e),l=_(e),c=a(e),u=i(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=a(e),f=i(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=a(e),d=i(e,[{buffer:p,size:2,type:e.FLOAT}]),g=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);g.minFilter=e.LINEAR,g.magFilter=e.LINEAR;var v=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,g,s,l,h,f,p,d,[0,0,0]),m={levels:[[],[],[]]};for(var k in t)m[k]=t[k];return m.colormap=m.colormap||"jet",v.update(m),v};var n=t("bit-twiddle"),a=t("gl-buffer"),i=t("gl-vao"),o=t("gl-texture2d"),s=t("typedarray-pool"),l=t("colormap"),c=t("ndarray-ops"),u=t("ndarray-pack"),h=t("ndarray"),f=t("surface-nets"),p=t("gl-mat4/multiply"),d=t("gl-mat4/invert"),g=t("binary-search-bounds"),v=t("ndarray-gradient"),m=t("./lib/shaders"),y=m.createShader,x=m.createContourShader,b=m.createPickShader,_=m.createPickContourShader,w=40,k=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],T=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,a){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=a}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,a,i,o,l,c,u,f,p,d,g,v){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=v,this.intensityBounds=[],this._shader=n,this._pickShader=a,this._coordinateBuffer=i,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=g,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.isTransparent=function(){return this.opacity<1},L.isOpaque=function(){if(this.opacity>=1)return!0;for(var t=0;t<3;++t)if(this._contourCounts[t].length>0||this._dynamicCounts[t]>0)return!0;return!1},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],P={showSurface:!1,showContour:!1,projections:[k.slice(),k.slice(),k.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,a,i=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=P.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(i[r]>0)][r],p(l,t.model,l);var c=P.clipBounds[r];for(a=0;a<2;++a)for(n=0;n<3;++n)c[a][n]=t.clipBounds[a][n];c[0][r]=-1e8,c[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var z={model:k,view:k,projection:k,inverseModel:k.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},I=k.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=t.model||k,n.view=t.view||k,n.projection=t.projection||k,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var a=0;a<2;++a)for(var i=n.clipBounds[a],o=0;o<3;++o)i[o]=Math.min(Math.max(this.clipBounds[a][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=I;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),a=0;a<3;++a)n.eyePosition[a]=s[12+a]/s[15];var l=s[15];for(a=0;a<3;++a)l+=this.lightPosition[a]*s[4*a+3];for(a=0;a<3;++a){var c=s[12+a];for(o=0;o<3;++o)c+=s[4*o+a]*this.lightPosition[o];n.lightPosition[a]=c/l}var u=O(n,this);if(u.showSurface&&e===this.opacity<1){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),a=0;a<3;++a)this.surfaceProject[a]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[a],this._shader.uniforms.clipBounds=u.clipBounds[a],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour&&!e){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),a=0;a<3;++a)for(h.uniforms.permutation=A[a],r.lineWidth(this.contourWidth[a]*this.pixelRatio),o=0;o<this.contourLevels[a].length;++o)o===this.highlightLevel[a]?(h.uniforms.contourColor=this.highlightColor[a],h.uniforms.contourTint=this.highlightTint[a]):0!==o&&o-1!==this.highlightLevel[a]||(h.uniforms.contourColor=this.contourColor[a],h.uniforms.contourTint=this.contourTint[a]),this._contourCounts[a][o]&&(h.uniforms.height=this.contourLevels[a][o],f.draw(r.LINES,this._contourCounts[a][o],this._contourOffsets[a][o]));for(a=0;a<3;++a)for(h.uniforms.model=u.projections[a],h.uniforms.clipBounds=u.clipBounds[a],o=0;o<3;++o)if(this.contourProject[a][o]){h.uniforms.permutation=A[o],r.lineWidth(this.contourWidth[o]*this.pixelRatio);for(var g=0;g<this.contourLevels[o].length;++g)g===this.highlightLevel[o]?(h.uniforms.contourColor=this.highlightColor[o],h.uniforms.contourTint=this.highlightTint[o]):0!==g&&g-1!==this.highlightLevel[o]||(h.uniforms.contourColor=this.contourColor[o],h.uniforms.contourTint=this.contourTint[o]),this._contourCounts[o][g]&&(h.uniforms.height=this.contourLevels[o][g],f.draw(r.LINES,this._contourCounts[o][g],this._contourOffsets[o][g]))}for(f.unbind(),(f=this._dynamicVAO).bind(),a=0;a<3;++a)if(0!==this._dynamicCounts[a])for(h.uniforms.model=n.model,h.uniforms.clipBounds=n.clipBounds,h.uniforms.permutation=A[a],r.lineWidth(this.dynamicWidth[a]*this.pixelRatio),h.uniforms.contourColor=this.dynamicColor[a],h.uniforms.contourTint=this.dynamicTint[a],h.uniforms.height=this.dynamicLevel[a],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]),o=0;o<3;++o)this.contourProject[o][a]&&(h.uniforms.model=u.projections[o],h.uniforms.clipBounds=u.clipBounds[o],f.draw(r.LINES,this._dynamicCounts[a],this._dynamicOffsets[a]));f.unbind()}}L.draw=function(t){return R.call(this,t,!1)},L.drawTransparent=function(t){return R.call(this,t,!0)};var F={model:k,view:k,projection:k,inverseModel:k,clipBounds:[[0,0,0],[0,0,0]],height:0,shape:[0,0],pickId:0,lowerBound:[0,0,0],upperBound:[0,0,0],zOffset:0,objectOffset:[0,0,0],permutation:[1,0,0,0,1,0,0,0,1],lightPosition:[0,0,0],eyePosition:[0,0,0]};function B(t,e){return Array.isArray(t)?[e(t[0]),e(t[1]),e(t[2])]:[e(t),e(t),e(t)]}function N(t){return Array.isArray(t)?3===t.length?[t[0],t[1],t[2],1]:[t[0],t[1],t[2],t[3]]:[0,0,0,1]}function j(t){if(Array.isArray(t)){if(Array.isArray(t))return[N(t[0]),N(t[1]),N(t[2])];var e=N(t);return[e.slice(),e.slice(),e.slice()]}}L.drawPick=function(t){t=t||{};var e=this.gl;e.disable(e.CULL_FACE);var r=F;r.model=t.model||k,r.view=t.view||k,r.projection=t.projection||k,r.shape=this._field[2].shape,r.pickId=this.pickId/255,r.lowerBound=this.bounds[0],r.upperBound=this.bounds[1],r.objectOffset=this.objectOffset,r.permutation=D;for(var n=0;n<2;++n)for(var a=r.clipBounds[n],i=0;i<3;++i)a[i]=Math.min(Math.max(this.clipBounds[n][i],-1e8),1e8);var o=O(r,this);if(o.showSurface){for(this._pickShader.bind(),this._pickShader.uniforms=r,this._vao.bind(),this._vao.draw(e.TRIANGLES,this._vertexCount),n=0;n<3;++n)this.surfaceProject[n]&&(this._pickShader.uniforms.model=o.projections[n],this._pickShader.uniforms.clipBounds=o.clipBounds[n],this._vao.draw(e.TRIANGLES,this._vertexCount));this._vao.unbind()}if(o.showContour){var s=this._contourPickShader;s.bind(),s.uniforms=r;var l=this._contourVAO;for(l.bind(),i=0;i<3;++i)for(e.lineWidth(this.contourWidth[i]*this.pixelRatio),s.uniforms.permutation=A[i],n=0;n<this.contourLevels[i].length;++n)this._contourCounts[i][n]&&(s.uniforms.height=this.contourLevels[i][n],l.draw(e.LINES,this._contourCounts[i][n],this._contourOffsets[i][n]));for(n=0;n<3;++n)for(s.uniforms.model=o.projections[n],s.uniforms.clipBounds=o.clipBounds[n],i=0;i<3;++i)if(this.contourProject[n][i]){s.uniforms.permutation=A[i],e.lineWidth(this.contourWidth[i]*this.pixelRatio);for(var c=0;c<this.contourLevels[i].length;++c)this._contourCounts[i][c]&&(s.uniforms.height=this.contourLevels[i][c],l.draw(e.LINES,this._contourCounts[i][c],this._contourOffsets[i][c]))}l.unbind()}},L.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=this._field[2].shape,r=this._pickResult,n=e[0]*(t.value[0]+(t.value[2]>>4)/16)/255,a=Math.floor(n),i=n-a,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;a+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?i:1-i,f=0;f<2;++f)for(var p=a+u,d=s+f,v=h*(f?l:1-l),m=0;m<3;++m)c[m]+=this._field[m].get(p,d)*v;for(var y=this._pickResult.level,x=0;x<3;++x)if(y[x]=g.le(this.contourLevels[x],c[x]),y[x]<0)this.contourLevels[x].length>0&&(y[x]=0);else if(y[x]<this.contourLevels[x].length-1){var b=this.contourLevels[x][y[x]],_=this.contourLevels[x][y[x]+1];Math.abs(b-c[x])>Math.abs(_-c[x])&&(y[x]+=1)}for(r.index[0]=i<.5?a:a+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],m=0;m<3;++m)r.dataCoordinate[m]=this._field[m].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,function(t){return B(t,Boolean)})),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0);var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var a=(e.shape[0]+2)*(e.shape[1]+2);a>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(a))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var i=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2]);if(t.coords){var p=t.coords;if(!Array.isArray(p)||3!==p.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var d=p[o];for(b=0;b<2;++b)if(d.shape[b]!==i[b])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],d)}}else if(t.ticks){var g=t.ticks;if(!Array.isArray(g)||2!==g.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var m=g[o];if((Array.isArray(m)||m.length)&&(m=h(m)),m.shape[0]!==i[o])throw new Error("gl-surface: invalid tick length");var y=h(m.data,i);y.stride[o]=m.stride[0],y.stride[1^o]=0,this.padField(this._field[o],y)}}else{for(o=0;o<2;++o){var x=[0,0];x[o]=1,this._field[o]=h(this._field[o].data,[i[0]+2,i[1]+2],x,0)}this._field[0].set(0,0,0);for(var b=0;b<i[0];++b)this._field[0].set(b+1,0,b);for(this._field[0].set(i[0]+1,0,i[0]-1),this._field[1].set(0,0,0),b=0;b<i[1];++b)this._field[1].set(0,b+1,b);this._field[1].set(0,i[1]+1,i[1]-1)}var _=this._field,w=h(s.mallocFloat(3*_[2].size*2),[3,i[0]+2,i[1]+2,2]);for(o=0;o<3;++o)v(w.pick(o),_[o],"mirror");var k=h(s.mallocFloat(3*_[2].size),[i[0]+2,i[1]+2,3]);for(o=0;o<i[0]+2;++o)for(b=0;b<i[1]+2;++b){var A=w.get(0,o,b,0),M=w.get(0,o,b,1),E=w.get(1,o,b,0),L=w.get(1,o,b,1),C=w.get(2,o,b,0),P=w.get(2,o,b,1),O=E*P-L*C,z=C*M-P*A,I=A*L-M*E,D=Math.sqrt(O*O+z*z+I*I);D<1e-8?(D=Math.max(Math.abs(O),Math.abs(z),Math.abs(I)))<1e-8?(I=1,z=O=0,D=1):D=1/D:D=1/Math.sqrt(D),k.set(o,b,0,O*D),k.set(o,b,1,z*D),k.set(o,b,2,I*D)}s.free(w.data);var R=[1/0,1/0,1/0],F=[-1/0,-1/0,-1/0],N=1/0,V=-1/0,U=(i[0]-1)*(i[1]-1)*6,q=s.mallocFloat(n.nextPow2(10*U)),H=0,G=0;for(o=0;o<i[0]-1;++o)t:for(b=0;b<i[1]-1;++b){for(var Y=0;Y<2;++Y)for(var W=0;W<2;++W)for(var X=0;X<3;++X){var Z=this._field[X].get(1+o+Y,1+b+W);if(isNaN(Z)||!isFinite(Z))continue t}for(X=0;X<6;++X){var J=o+T[X][0],K=b+T[X][1],Q=this._field[0].get(J+1,K+1),$=this._field[1].get(J+1,K+1);Z=this._field[2].get(J+1,K+1),O=k.get(J+1,K+1,0),z=k.get(J+1,K+1,1),I=k.get(J+1,K+1,2),t.intensity&&(tt=t.intensity.get(J,K));var tt=t.intensity?t.intensity.get(J,K):Z+this.objectOffset[2];q[H++]=J,q[H++]=K,q[H++]=Q,q[H++]=$,q[H++]=Z,q[H++]=0,q[H++]=tt,q[H++]=O,q[H++]=z,q[H++]=I,R[0]=Math.min(R[0],Q+this.objectOffset[0]),R[1]=Math.min(R[1],$+this.objectOffset[1]),R[2]=Math.min(R[2],Z+this.objectOffset[2]),N=Math.min(N,tt),F[0]=Math.max(F[0],Q+this.objectOffset[0]),F[1]=Math.max(F[1],$+this.objectOffset[1]),F[2]=Math.max(F[2],Z+this.objectOffset[2]),V=Math.max(V,tt),G+=1}}for(t.intensityBounds&&(N=+t.intensityBounds[0],V=+t.intensityBounds[1]),o=6;o<H;o+=10)q[o]=(q[o]-N)/(V-N);this._vertexCount=G,this._coordinateBuffer.update(q.subarray(0,H)),s.freeFloat(q),s.free(k.data),this.bounds=[R,F],this.intensity=t.intensity||this._field[2],this.intensityBounds[0]===N&&this.intensityBounds[1]===V||(r=!0),this.intensityBounds=[N,V]}if("levels"in t){var et=t.levels;for(et=Array.isArray(et[0])?et.slice():[[],[],et],o=0;o<3;++o)et[o]=et[o].slice(),et[o].sort(function(t,e){return t-e});for(o=0;o<3;++o)for(b=0;b<et[o].length;++b)et[o][b]-=this.objectOffset[o];t:for(o=0;o<3;++o){if(et[o].length!==this.contourLevels[o].length){r=!0;break}for(b=0;b<et[o].length;++b)if(et[o][b]!==this.contourLevels[o][b]){r=!0;break t}}this.contourLevels=et}if(r){_=this._field,i=this.shape;for(var rt=[],nt=0;nt<3;++nt){var at=this.contourLevels[nt],it=[],ot=[],st=[0,0,0];for(o=0;o<at.length;++o){var lt=f(this._field[nt],at[o]);it.push(rt.length/5|0),G=0;t:for(b=0;b<lt.cells.length;++b){var ct=lt.cells[b];for(X=0;X<2;++X){var ut=lt.positions[ct[X]],ht=ut[0],ft=0|Math.floor(ht),pt=ht-ft,dt=ut[1],gt=0|Math.floor(dt),vt=dt-gt,mt=!1;e:for(var yt=0;yt<3;++yt){st[yt]=0;var xt=(nt+yt+1)%3;for(Y=0;Y<2;++Y){var bt=Y?pt:1-pt;for(J=0|Math.min(Math.max(ft+Y,0),i[0]),W=0;W<2;++W){var _t=W?vt:1-vt;if(K=0|Math.min(Math.max(gt+W,0),i[1]),Z=yt<2?this._field[xt].get(J,K):(this.intensity.get(J,K)-this.intensityBounds[0])/(this.intensityBounds[1]-this.intensityBounds[0]),!isFinite(Z)||isNaN(Z)){mt=!0;break e}var wt=bt*_t;st[yt]+=wt*Z}}}if(mt){if(X>0){for(var kt=0;kt<5;++kt)rt.pop();G-=1}continue t}rt.push(st[0],st[1],ut[0],ut[1],st[2]),G+=1}}ot.push(G)}this._contourOffsets[nt]=it,this._contourCounts[nt]=ot}var Tt=s.mallocFloat(rt.length);for(o=0;o<rt.length;++o)Tt[o]=rt[o];this._contourBuffer.update(Tt),s.freeFloat(Tt)}t.colormap&&this._colorMap.setPixels(function(t){var e=u([l({colormap:t,nshades:S,format:"rgba"}).map(function(t){return[t[0],t[1],t[2],255*t[3]]})]);return c.divseq(e,255),e}(t.colormap))},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,a=this.shape,i=s.mallocFloat(12*a[0]*a[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,c=(o+2)%3,u=this._field[o],h=this._field[l],p=this._field[c],d=f(u,r[o]),g=d.cells,v=d.positions;for(this._dynamicOffsets[o]=n,e=0;e<g.length;++e)for(var m=g[e],y=0;y<2;++y){var x=v[m[y]],b=+x[0],_=0|b,w=0|Math.min(_+1,a[0]),k=b-_,T=1-k,A=+x[1],M=0|A,S=0|Math.min(M+1,a[1]),E=A-M,L=1-E,C=T*L,P=T*E,O=k*L,z=k*E,I=C*h.get(_,M)+P*h.get(_,S)+O*h.get(w,M)+z*h.get(w,S),D=C*p.get(_,M)+P*p.get(_,S)+O*p.get(w,M)+z*p.get(w,S);if(isNaN(I)||isNaN(D)){y&&(n-=1);break}i[2*n+0]=I,i[2*n+1]=D,n+=1}this._dynamicCounts[o]=n-this._dynamicOffsets[o]}else this.dynamicLevel[o]=NaN,this._dynamicCounts[o]=0;this._dynamicBuffer.update(i.subarray(0,2*n)),s.freeFloat(i)}}},{"./lib/shaders":315,"binary-search-bounds":316,"bit-twiddle":93,colormap:127,"gl-buffer":243,"gl-mat4/invert":267,"gl-mat4/multiply":269,"gl-texture2d":323,"gl-vao":328,ndarray:451,"ndarray-gradient":442,"ndarray-ops":445,"ndarray-pack":446,"surface-nets":529,"typedarray-pool":543}],318:[function(t,e,r){"use strict";var n=t("css-font"),a=t("pick-by-alias"),i=t("regl"),o=t("gl-util/context"),s=t("es6-weak-map"),l=t("color-normalize"),c=t("font-atlas"),u=t("typedarray-pool"),h=t("parse-rect"),f=t("is-plain-obj"),p=t("parse-unit"),d=t("to-px"),g=t("detect-kerning"),v=t("object-assign"),m=t("font-measure"),y=t("flatten-vertex-data"),x=t("bit-twiddle").nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var k=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||i({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(t)?t:{})};k.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\t"+(k.normalViewport?"":"vec2 positionOffset = vec2(positionOffset.x,- positionOffset.y);")+"\n\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ positionOffset))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\t"+(k.normalViewport?"position.y = 1. - position.y;":"")+"\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform sampler2D atlas;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},k.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=a(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map(function(t){return parseFloat(t)}):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),k.normalViewport&&(this.viewport.y=this.canvas.height-this.viewport.y-this.viewport.height),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=y(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=k.baseFontSize+"px sans-serif");var r,i=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach(function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(k.baseFontSize+"px "+t)}else t=n.parse(n.stringify(t));var a=n.stringify({size:k.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),s=p(t.size),l=Math.round(s[0]*d(s[1]));if(l!==e.fontSize[r]&&(o=!0,e.fontSize[r]=l),!(e.font[r]&&a==e.font[r].baseString||(i=!0,e.font[r]=k.fonts[a],e.font[r]))){var c=t.family.join(", "),u=[t.style];t.style!=t.variant&&u.push(t.variant),t.variant!=t.weight&&u.push(t.weight),_&&t.weight!=t.stretch&&u.push(t.stretch),e.font[r]={baseString:a,family:c,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:m(c,{origin:"top",fontSize:k.baseFontSize,fontStyle:u.join(" ")})},k.fonts[a]=e.font[r]}}),(i||o)&&this.font.forEach(function(r,a){var i=n.stringify({size:e.fontSize[a],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[a]=e.shader.atlas[i],!e.fontAtlas[a]){var o=r.metrics;e.shader.atlas[i]=e.fontAtlas[a]={fontString:i,step:2*Math.ceil(e.fontSize[a]*o.bottom*.5),em:e.fontSize[a],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)}),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f<s.length;f++)s[f]=t.text;t.text=s}if(null!=t.text||i){if(this.textOffsets=[0],Array.isArray(t.text)){this.count=t.text[0].length,this.counts=[this.count];for(var b=1;b<t.text.length;b++)this.textOffsets[b]=this.textOffsets[b-1]+t.text[b-1].length,this.count+=t.text[b].length,this.counts.push(t.text[b].length);this.text=t.text.join("")}else this.text=t.text,this.count=this.text.length,this.counts=[this.count];r=[],this.font.forEach(function(t,n){k.atlasContext.font=t.baseString;for(var a=e.fontAtlas[n],i=0;i<e.text.length;i++){var o=e.text.charAt(i);if(null==a.ids[o]&&(a.ids[o]=a.chars.length,a.chars.push(o),r.push(o)),null==t.width[o]&&(t.width[o]=k.atlasContext.measureText(o).width/k.baseFontSize,e.kerning)){var s=[];for(var l in t.width)s.push(l+o,o+l);v(t.kerning,g(t.family,{pairs:s}))}}})}if(t.position)if(t.position.length>2){for(var w=!t.position[0].length,T=u.mallocFloat(2*this.count),A=0,M=0;A<this.counts.length;A++){var S=this.counts[A];if(w)for(var E=0;E<S;E++)T[M++]=t.position[2*A],T[M++]=t.position[2*A+1];else for(var L=0;L<S;L++)T[M++]=t.position[A][0],T[M++]=t.position[A][1]}this.position.call?this.position({type:"float",data:T}):this.position=this.regl.buffer({type:"float",data:T}),u.freeFloat(T)}else this.position.destroy&&this.position.destroy(),this.position={constant:t.position};if(t.text||i){var C=u.mallocUint8(this.count),P=u.mallocFloat(2*this.count);this.textWidth=[];for(var O=0,z=0;O<this.counts.length;O++){for(var I=this.counts[O],D=this.font[O]||this.font[0],R=this.fontAtlas[O]||this.fontAtlas[0],F=0;F<I;F++){var B=this.text.charAt(z),N=this.text.charAt(z-1);if(C[z]=R.ids[B],P[2*z]=D.width[B],F){var j=P[2*z-2],V=P[2*z],U=P[2*z-1]+.5*j+.5*V;if(this.kerning){var q=D.kerning[N+B];q&&(U+=.001*q)}P[2*z+1]=U}else P[2*z+1]=.5*P[2*z];z++}this.textWidth.push(P.length?.5*P[2*z-2]+P[2*z-1]:0)}t.align||(t.align=this.align),this.charBuffer({data:C,type:"uint8",usage:"stream"}),this.sizeBuffer({data:P,type:"float",usage:"stream"}),u.freeUint8(C),u.freeFloat(P),r.length&&this.font.forEach(function(t,r){var n=e.fontAtlas[r],a=n.step,i=Math.floor(k.maxAtlasSize/a),o=Math.min(i,n.chars.length),s=Math.ceil(n.chars.length/o),l=x(o*a),u=x(s*a);n.width=l,n.height=u,n.rows=s,n.cols=o,n.em&&n.texture({data:c({canvas:k.atlasCanvas,font:n.fontString,chars:n.chars,shape:[l,u],step:[a,a]})})})}if(t.align&&(this.align=t.align,this.alignOffset=this.textWidth.map(function(t,r){var n=Array.isArray(e.align)?e.align.length>1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0})),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map(function(t,r){var n=(e.font[r]||e.font[0]).metrics,a=0;return a+=.5*n.bottom,a+="number"==typeof t?t-n.baseline:-n[t],k.normalViewport||(a*=-1),a})),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Y=(t.color.subarray||t.color.slice).bind(t.color),W=0;W<G;W+=4)H.set(l(Y(W,W+4),"uint8"),W)}else{var X=t.color.length;H=u.mallocUint8(4*X);for(var Z=0;Z<X;Z++)H.set(l(t.color[Z]||0,"uint8"),4*Z)}this.color=H}else this.color=l(t.color,"uint8");if(t.position||t.text||t.color||t.baseline||t.align||t.font||t.offset||t.opacity)if(this.color.length>4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var J=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(J);for(var K=0;K<this.batch.length;K++)this.batch[K]={count:this.counts.length>1?this.counts[K]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[K]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*K,4*K+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[K]:this.opacity,baseline:null!=this.baselineOffset[K]?this.baselineOffset[K]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[K]?this.alignOffset[K]:this.alignOffset[0]:0,atlas:this.fontAtlas[K]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*K,2*K+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},k.prototype.destroy=function(){},k.prototype.kerning=!0,k.prototype.position={constant:new Float32Array(2)},k.prototype.translate=null,k.prototype.scale=null,k.prototype.font=null,k.prototype.text="",k.prototype.positionOffset=[0,0],k.prototype.opacity=1,k.prototype.color=new Uint8Array([0,0,0,255]),k.prototype.alignOffset=[0,0],k.normalViewport=!1,k.maxAtlasSize=1024,k.atlasCanvas=document.createElement("canvas"),k.atlasContext=k.atlasCanvas.getContext("2d",{alpha:!1}),k.baseFontSize=64,k.fonts={},e.exports=k},{"bit-twiddle":93,"color-normalize":121,"css-font":140,"detect-kerning":167,"es6-weak-map":319,"flatten-vertex-data":229,"font-atlas":230,"font-measure":231,"gl-util/context":324,"is-plain-obj":423,"object-assign":455,"parse-rect":460,"parse-unit":462,"pick-by-alias":466,regl:500,"to-px":537,"typedarray-pool":543}],319:[function(t,e,r){"use strict";e.exports=t("./is-implemented")()?WeakMap:t("./polyfill")},{"./is-implemented":320,"./polyfill":322}],320:[function(t,e,r){"use strict";e.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&("function"==typeof t.set&&(t.set({},1)===t&&("function"==typeof t.delete&&("function"==typeof t.has&&"one"===t.get(e)))))}},{}],321:[function(t,e,r){"use strict";e.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},{}],322:[function(t,e,r){"use strict";var n,a=t("es5-ext/object/is-value"),i=t("es5-ext/object/set-prototype-of"),o=t("es5-ext/object/valid-object"),s=t("es5-ext/object/valid-value"),l=t("es5-ext/string/random-uniq"),c=t("d"),u=t("es6-iterator/get"),h=t("es6-iterator/for-of"),f=t("es6-symbol").toStringTag,p=t("./is-native-implemented"),d=Array.isArray,g=Object.defineProperty,v=Object.prototype.hasOwnProperty,m=Object.getPrototypeOf;e.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&i&&WeakMap!==n?i(new WeakMap,m(this)):this,a(e)&&(d(e)||(e=u(e))),g(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(h(e,function(e){s(e),t.set(e[0],e[1])}),t):t},p&&(i&&i(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c(function(t){return!!v.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)}),get:c(function(t){if(v.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]}),has:c(function(t){return v.call(o(t),this.__weakMapData__)}),set:c(function(t,e){return g(o(t),this.__weakMapData__,c("c",e)),this}),toString:c(function(){return"[object WeakMap]"})}),g(n.prototype,f,c("c","WeakMap"))},{"./is-native-implemented":321,d:152,"es5-ext/object/is-value":196,"es5-ext/object/set-prototype-of":202,"es5-ext/object/valid-object":206,"es5-ext/object/valid-value":207,"es5-ext/string/random-uniq":212,"es6-iterator/for-of":214,"es6-iterator/get":215,"es6-symbol":221}],323:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("ndarray-ops"),i=t("typedarray-pool");e.exports=function(t){if(arguments.length<=1)throw new Error("gl-texture2d: Missing arguments for texture2d constructor");o||function(t){o=[t.LINEAR,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_NEAREST],s=[t.NEAREST,t.LINEAR,t.NEAREST_MIPMAP_NEAREST,t.NEAREST_MIPMAP_LINEAR,t.LINEAR_MIPMAP_NEAREST,t.LINEAR_MIPMAP_LINEAR],l=[t.REPEAT,t.CLAMP_TO_EDGE,t.MIRRORED_REPEAT]}(t);if("number"==typeof arguments[1])return v(t,arguments[1],arguments[2],arguments[3]||t.RGBA,arguments[4]||t.UNSIGNED_BYTE);if(Array.isArray(arguments[1]))return v(t,0|arguments[1][0],0|arguments[1][1],arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if("object"==typeof arguments[1]){var e=arguments[1],r=c(e)?e:e.raw;if(r)return function(t,e,r,n,a,i){var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,a,a,i,e),new f(t,o,r,n,a,i)}(t,r,0|e.width,0|e.height,arguments[2]||t.RGBA,arguments[3]||t.UNSIGNED_BYTE);if(e.shape&&e.data&&e.stride)return function(t,e){var r=e.dtype,o=e.shape.slice(),s=t.getParameter(t.MAX_TEXTURE_SIZE);if(o[0]<0||o[0]>s||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var h,p,v=0;if(2===o.length)v=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])v=t.ALPHA;else if(2===o[2])v=t.LUMINANCE_ALPHA;else if(3===o[2])v=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var m=e.size;if(l)h=0===e.offset&&e.data.length===m?e.data:e.data.subarray(e.offset,e.offset+m);else{var y=[o[2],o[2]*o[0],1];p=i.malloc(m,r);var x=n(p,o,y,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?a.assign(x,e):u(x,e),h=p.subarray(0,m)}var b=g(t);t.texImage2D(t.TEXTURE_2D,0,v,o[0],o[1],0,v,c,h),l||i.free(p);return new f(t,b,o[0],o[1],v,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){a.muls(t,e,255)};function h(t,e,r){var n=t.gl,a=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function f(t,e,r,n,a,i){this.gl=t,this.handle=e,this.format=a,this.type=i,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=f.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function g(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function v(t,e,r,n,a){var i=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture shape");if(a===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=g(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,a,null),new f(t,o,e,r,n,a)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l){this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l)}else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var g=0,v=0,m=d(p,h.stride.slice());"float32"===f?g=t.FLOAT:"float64"===f?(g=t.FLOAT,m=!1,f="float32"):"uint8"===f?g=t.UNSIGNED_BYTE:(g=t.UNSIGNED_BYTE,m=!1,f="uint8");if(2===p.length)v=t.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])v=t.ALPHA;else if(2===p[2])v=t.LUMINANCE_ALPHA;else if(3===p[2])v=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");v=t.RGBA}p[2]}v!==t.LUMINANCE&&v!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(v=s);if(v!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var y=h.size,x=c.indexOf(o)<0;x&&c.push(o);if(g===l&&m)0===h.offset&&h.data.length===y?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+y));else{var b;b=l===t.FLOAT?i.mallocFloat32(y):i.mallocUint8(y);var _=n(b,p,[p[2],p[2]*p[0],1]);g===t.FLOAT&&l===t.UNSIGNED_BYTE?u(_,h):a.assign(_,h),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,y)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,y)),l===t.FLOAT?i.freeFloat32(b):i.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},{ndarray:451,"ndarray-ops":445,"typedarray-pool":543}],324:[function(t,e,r){(function(r){"use strict";var n=t("pick-by-alias");function a(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function i(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}e.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},i(t)?t={container:t}:t="string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0),t.pixelRatio||(t.pixelRatio=r.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}i(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),a(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),a(t)}if(!t.gl)try{t.gl=t.canvas.getContext("webgl",t.attrs)}catch(e){try{t.gl=t.canvas.getContext("experimental-webgl",t.attrs)}catch(e){t.gl=t.canvas.getContext("webgl-experimental",t.attrs)}}return t.gl}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"pick-by-alias":466}],325:[function(t,e,r){"use strict";e.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var a=0;a<r.length;++a){var i=r[a];if(i.buffer){var o=i.buffer,s=i.size||4,l=i.type||t.FLOAT,c=!!i.normalized,u=i.stride||0,h=i.offset||0;o.bind(),t.enableVertexAttribArray(a),t.vertexAttribPointer(a,s,l,c,u,h)}else{if("number"==typeof i)t.vertexAttrib1f(a,i);else if(1===i.length)t.vertexAttrib1f(a,i[0]);else if(2===i.length)t.vertexAttrib2f(a,i[0],i[1]);else if(3===i.length)t.vertexAttrib3f(a,i[0],i[1],i[2]);else{if(4!==i.length)throw new Error("gl-vao: Invalid vertex attribute");t.vertexAttrib4f(a,i[0],i[1],i[2],i[3])}t.disableVertexAttribArray(a)}}for(;a<n;++a)t.disableVertexAttribArray(a)}else for(t.bindBuffer(t.ARRAY_BUFFER,null),a=0;a<n;++a)t.disableVertexAttribArray(a)}},{}],326:[function(t,e,r){"use strict";var n=t("./do-bind.js");function a(t){this.gl=t,this._elements=null,this._attributes=null,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(){n(this.gl,this._elements,this._attributes)},a.prototype.update=function(t,e,r){this._elements=e,this._attributes=t,this._elementsType=r||this.gl.UNSIGNED_SHORT},a.prototype.dispose=function(){},a.prototype.unbind=function(){},a.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._elements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t){return new a(t)}},{"./do-bind.js":325}],327:[function(t,e,r){"use strict";var n=t("./do-bind.js");function a(t,e,r,n,a,i){this.location=t,this.dimension=e,this.a=r,this.b=n,this.c=a,this.d=i}function i(t,e,r){this.gl=t,this._ext=e,this.handle=r,this._attribs=[],this._useElements=!1,this._elementsType=t.UNSIGNED_SHORT}a.prototype.bind=function(t){switch(this.dimension){case 1:t.vertexAttrib1f(this.location,this.a);break;case 2:t.vertexAttrib2f(this.location,this.a,this.b);break;case 3:t.vertexAttrib3f(this.location,this.a,this.b,this.c);break;case 4:t.vertexAttrib4f(this.location,this.a,this.b,this.c,this.d)}},i.prototype.bind=function(){this._ext.bindVertexArrayOES(this.handle);for(var t=0;t<this._attribs.length;++t)this._attribs[t].bind(this.gl)},i.prototype.unbind=function(){this._ext.bindVertexArrayOES(null)},i.prototype.dispose=function(){this._ext.deleteVertexArrayOES(this.handle)},i.prototype.update=function(t,e,r){if(this.bind(),n(this.gl,e,t),this.unbind(),this._attribs.length=0,t)for(var i=0;i<t.length;++i){var o=t[i];"number"==typeof o?this._attribs.push(new a(i,1,o)):Array.isArray(o)&&this._attribs.push(new a(i,o.length,o[0],o[1],o[2],o[3]))}this._useElements=!!e,this._elementsType=r||this.gl.UNSIGNED_SHORT},i.prototype.draw=function(t,e,r){r=r||0;var n=this.gl;this._useElements?n.drawElements(t,e,this._elementsType,r):n.drawArrays(t,r,e)},e.exports=function(t,e){return new i(t,e,e.createVertexArrayOES())}},{"./do-bind.js":325}],328:[function(t,e,r){"use strict";var n=t("./lib/vao-native.js"),a=t("./lib/vao-emulated.js");function i(t){this.bindVertexArrayOES=t.bindVertexArray.bind(t),this.createVertexArrayOES=t.createVertexArray.bind(t),this.deleteVertexArrayOES=t.deleteVertexArray.bind(t)}e.exports=function(t,e,r,o){var s,l=t.createVertexArray?new i(t):t.getExtension("OES_vertex_array_object");return(s=l?n(t,l):a(t)).update(e,r,o),s}},{"./lib/vao-emulated.js":326,"./lib/vao-native.js":327}],329:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}},{}],330:[function(t,e,r){e.exports=function(t,e){var r=n(t[0],t[1],t[2]),o=n(e[0],e[1],e[2]);a(r,r),a(o,o);var s=i(r,o);return s>1?0:Math.acos(s)};var n=t("./fromValues"),a=t("./normalize"),i=t("./dot")},{"./dot":340,"./fromValues":346,"./normalize":357}],331:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},{}],332:[function(t,e,r){e.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},{}],333:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},{}],334:[function(t,e,r){e.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},{}],335:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2];return t[0]=a*l-i*s,t[1]=i*o-n*l,t[2]=n*s-a*o,t}},{}],336:[function(t,e,r){e.exports=t("./distance")},{"./distance":337}],337:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return Math.sqrt(r*r+n*n+a*a)}},{}],338:[function(t,e,r){e.exports=t("./divide")},{"./divide":339}],339:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},{}],340:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},{}],341:[function(t,e,r){e.exports=1e-6},{}],342:[function(t,e,r){e.exports=function(t,e){var r=t[0],a=t[1],i=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(a-s)<=n*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(i-l)<=n*Math.max(1,Math.abs(i),Math.abs(l))};var n=t("./epsilon")},{"./epsilon":341}],343:[function(t,e,r){e.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},{}],344:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},{}],345:[function(t,e,r){e.exports=function(t,e,r,a,i,o){var s,l;e||(e=3);r||(r=0);l=a?Math.min(a*e+r,t.length):t.length;for(s=r;s<l;s+=e)n[0]=t[s],n[1]=t[s+1],n[2]=t[s+2],i(n,n,o),t[s]=n[0],t[s+1]=n[1],t[s+2]=n[2];return t};var n=t("./create")()},{"./create":334}],346:[function(t,e,r){e.exports=function(t,e,r){var n=new Float32Array(3);return n[0]=t,n[1]=e,n[2]=r,n}},{}],347:[function(t,e,r){e.exports={EPSILON:t("./epsilon"),create:t("./create"),clone:t("./clone"),angle:t("./angle"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),equals:t("./equals"),exactEquals:t("./exactEquals"),add:t("./add"),subtract:t("./subtract"),sub:t("./sub"),multiply:t("./multiply"),mul:t("./mul"),divide:t("./divide"),div:t("./div"),min:t("./min"),max:t("./max"),floor:t("./floor"),ceil:t("./ceil"),round:t("./round"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),dist:t("./dist"),squaredDistance:t("./squaredDistance"),sqrDist:t("./sqrDist"),length:t("./length"),len:t("./len"),squaredLength:t("./squaredLength"),sqrLen:t("./sqrLen"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),cross:t("./cross"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformMat3:t("./transformMat3"),transformQuat:t("./transformQuat"),rotateX:t("./rotateX"),rotateY:t("./rotateY"),rotateZ:t("./rotateZ"),forEach:t("./forEach")}},{"./add":329,"./angle":330,"./ceil":331,"./clone":332,"./copy":333,"./create":334,"./cross":335,"./dist":336,"./distance":337,"./div":338,"./divide":339,"./dot":340,"./epsilon":341,"./equals":342,"./exactEquals":343,"./floor":344,"./forEach":345,"./fromValues":346,"./inverse":348,"./len":349,"./length":350,"./lerp":351,"./max":352,"./min":353,"./mul":354,"./multiply":355,"./negate":356,"./normalize":357,"./random":358,"./rotateX":359,"./rotateY":360,"./rotateZ":361,"./round":362,"./scale":363,"./scaleAndAdd":364,"./set":365,"./sqrDist":366,"./sqrLen":367,"./squaredDistance":368,"./squaredLength":369,"./sub":370,"./subtract":371,"./transformMat3":372,"./transformMat4":373,"./transformQuat":374}],348:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}},{}],349:[function(t,e,r){e.exports=t("./length")},{"./length":350}],350:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return Math.sqrt(e*e+r*r+n*n)}},{}],351:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t}},{}],352:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t}},{}],353:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t}},{}],354:[function(t,e,r){e.exports=t("./multiply")},{"./multiply":355}],355:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t}},{}],356:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}},{}],357:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=r*r+n*n+a*a;i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i);return t}},{}],358:[function(t,e,r){e.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,a=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*a,t[1]=Math.sin(r)*a,t[2]=n*e,t}},{}],359:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[1],i=r[2],o=e[1]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=a+o*c-s*l,t[2]=i+o*l+s*c,t}},{}],360:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[2],o=e[0]-a,s=e[2]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+s*l+o*c,t[1]=e[1],t[2]=i+s*c-o*l,t}},{}],361:[function(t,e,r){e.exports=function(t,e,r,n){var a=r[0],i=r[1],o=e[0]-a,s=e[1]-i,l=Math.sin(n),c=Math.cos(n);return t[0]=a+o*c-s*l,t[1]=i+o*l+s*c,t[2]=e[2],t}},{}],362:[function(t,e,r){e.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},{}],363:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},{}],364:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},{}],365:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},{}],366:[function(t,e,r){e.exports=t("./squaredDistance")},{"./squaredDistance":368}],367:[function(t,e,r){e.exports=t("./squaredLength")},{"./squaredLength":369}],368:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2];return r*r+n*n+a*a}},{}],369:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},{}],370:[function(t,e,r){e.exports=t("./subtract")},{"./subtract":371}],371:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},{}],372:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t}},{}],373:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[3]*n+r[7]*a+r[11]*i+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*a+r[8]*i+r[12])/o,t[1]=(r[1]*n+r[5]*a+r[9]*i+r[13])/o,t[2]=(r[2]*n+r[6]*a+r[10]*i+r[14])/o,t}},{}],374:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},{}],375:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},{}],376:[function(t,e,r){e.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},{}],377:[function(t,e,r){e.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},{}],378:[function(t,e,r){e.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},{}],379:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(r*r+n*n+a*a+i*i)}},{}],380:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},{}],381:[function(t,e,r){e.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},{}],382:[function(t,e,r){e.exports=function(t,e,r,n){var a=new Float32Array(4);return a[0]=t,a[1]=e,a[2]=r,a[3]=n,a}},{}],383:[function(t,e,r){e.exports={create:t("./create"),clone:t("./clone"),fromValues:t("./fromValues"),copy:t("./copy"),set:t("./set"),add:t("./add"),subtract:t("./subtract"),multiply:t("./multiply"),divide:t("./divide"),min:t("./min"),max:t("./max"),scale:t("./scale"),scaleAndAdd:t("./scaleAndAdd"),distance:t("./distance"),squaredDistance:t("./squaredDistance"),length:t("./length"),squaredLength:t("./squaredLength"),negate:t("./negate"),inverse:t("./inverse"),normalize:t("./normalize"),dot:t("./dot"),lerp:t("./lerp"),random:t("./random"),transformMat4:t("./transformMat4"),transformQuat:t("./transformQuat")}},{"./add":375,"./clone":376,"./copy":377,"./create":378,"./distance":379,"./divide":380,"./dot":381,"./fromValues":382,"./inverse":384,"./length":385,"./lerp":386,"./max":387,"./min":388,"./multiply":389,"./negate":390,"./normalize":391,"./random":392,"./scale":393,"./scaleAndAdd":394,"./set":395,"./squaredDistance":396,"./squaredLength":397,"./subtract":398,"./transformMat4":399,"./transformQuat":400}],384:[function(t,e,r){e.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},{}],385:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return Math.sqrt(e*e+r*r+n*n+a*a)}},{}],386:[function(t,e,r){e.exports=function(t,e,r,n){var a=e[0],i=e[1],o=e[2],s=e[3];return t[0]=a+n*(r[0]-a),t[1]=i+n*(r[1]-i),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},{}],387:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},{}],388:[function(t,e,r){e.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},{}],389:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},{}],390:[function(t,e,r){e.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},{}],391:[function(t,e,r){e.exports=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=r*r+n*n+a*a+i*i;o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=a*o,t[3]=i*o);return t}},{}],392:[function(t,e,r){var n=t("./normalize"),a=t("./scale");e.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),a(t,t,e),t}},{"./normalize":391,"./scale":393}],393:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},{}],394:[function(t,e,r){e.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},{}],395:[function(t,e,r){e.exports=function(t,e,r,n,a){return t[0]=e,t[1]=r,t[2]=n,t[3]=a,t}},{}],396:[function(t,e,r){e.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],a=e[2]-t[2],i=e[3]-t[3];return r*r+n*n+a*a+i*i}},{}],397:[function(t,e,r){e.exports=function(t){var e=t[0],r=t[1],n=t[2],a=t[3];return e*e+r*r+n*n+a*a}},{}],398:[function(t,e,r){e.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},{}],399:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}},{}],400:[function(t,e,r){e.exports=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*i-l*a,h=c*a+l*n-o*i,f=c*i+o*a-s*n,p=-o*n-s*a-l*i;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},{}],401:[function(t,e,r){e.exports=function(t,e,r,i){return n[0]=i,n[1]=r,n[2]=e,n[3]=t,a[0]};var n=new Uint8Array(4),a=new Float32Array(n.buffer)},{}],402:[function(t,e,r){var n=t("glsl-tokenizer"),a=t("atob-lite");e.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r<e.length;r++){var i=e[r];if("preprocessor"===i.type){var o=i.data.match(/\#define\s+SHADER_NAME(_B64)?\s+(.+)$/);if(o&&o[2]){var s=o[1],l=o[2];return(s?a(l):l).trim()}}}}},{"atob-lite":73,"glsl-tokenizer":409}],403:[function(t,e,r){e.exports=function(t){var e,r,k,T=0,A=0,M=l,S=[],E=[],L=1,C=0,P=0,O=!1,z=!1,I="",D=i,R=n;"300 es"===(t=t||{}).version&&(D=s,R=o);return function(t){return E=[],null!==t?function(t){var r;T=0,k=(I+=t).length;for(;e=I[T],T<k;){switch(r=T,M){case u:T=V();break;case h:case f:T=j();break;case p:T=U();break;case d:T=G();break;case _:T=H();break;case g:T=Y();break;case c:T=W();break;case x:T=N();break;case l:T=B()}if(r!==T)switch(I[r]){case"\n":C=0,++L;break;default:++C}}return A+=T,I=I.slice(T),E}(t.replace?t.replace(/\r\n/g,"\n"):t):function(t){S.length&&F(S.join(""));return M=b,F("(eof)"),E}()};function F(t){t.length&&E.push({type:w[M],data:t,position:P,line:L,column:C})}function B(){return S=S.length?[]:S,"/"===r&&"*"===e?(P=A+T-1,M=u,r=e,T+1):"/"===r&&"/"===e?(P=A+T-1,M=h,r=e,T+1):"#"===e?(M=f,P=A+T,T):/\s/.test(e)?(M=x,P=A+T,T):(O=/\d/.test(e),z=/[^\w_]/.test(e),P=A+T,M=O?d:z?p:c,T)}function N(){return/[^\s]/g.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function j(){return"\r"!==e&&"\n"!==e||"\\"===r?(S.push(e),r=e,T+1):(F(S.join("")),M=l,T)}function V(){return"/"===e&&"*"===r?(S.push(e),F(S.join("")),M=l,T+1):(S.push(e),r=e,T+1)}function U(){if("."===r&&/\d/.test(e))return M=g,T;if("/"===r&&"*"===e)return M=u,T;if("/"===r&&"/"===e)return M=h,T;if("."===e&&S.length){for(;q(S););return M=g,T}if(";"===e||")"===e||"("===e){if(S.length)for(;q(S););return F(e),M=l,T+1}var t=2===S.length&&"="!==e;if(/[\w_\d\s]/.test(e)||t){for(;q(S););return M=l,T}return S.push(e),r=e,T+1}function q(t){for(var e,r,n=0;;){if(e=a.indexOf(t.slice(0,t.length+n).join("")),r=a[e],-1===e){if(n--+t.length>0)continue;r=t.slice(0,1).join("")}return F(r),P+=r.length,(S=S.slice(r.length)).length}}function H(){return/[^a-fA-F0-9]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function G(){return"."===e?(S.push(e),M=g,r=e,T+1):/[eE]/.test(e)?(S.push(e),M=g,r=e,T+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function Y(){return"f"===e&&(S.push(e),r=e,T+=1),/[eE]/.test(e)?(S.push(e),r=e,T+1):"-"===e&&/[eE]/.test(r)?(S.push(e),r=e,T+1):/[^\d]/.test(e)?(F(S.join("")),M=l,T):(S.push(e),r=e,T+1)}function W(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=R.indexOf(t)>-1?y:D.indexOf(t)>-1?m:v,F(S.join("")),M=l,T}return S.push(e),r=e,T+1}};var n=t("./lib/literals"),a=t("./lib/operators"),i=t("./lib/builtins"),o=t("./lib/literals-300es"),s=t("./lib/builtins-300es"),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,g=5,v=6,m=7,y=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},{"./lib/builtins":405,"./lib/builtins-300es":404,"./lib/literals":407,"./lib/literals-300es":406,"./lib/operators":408}],404:[function(t,e,r){var n=t("./builtins");n=n.slice().filter(function(t){return!/^(gl\_|texture)/.test(t)}),e.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},{"./builtins":405}],405:[function(t,e,r){e.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},{}],406:[function(t,e,r){var n=t("./literals");e.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uint","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},{"./literals":407}],407:[function(t,e,r){e.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},{}],408:[function(t,e,r){e.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},{}],409:[function(t,e,r){var n=t("./index");e.exports=function(t,e){var r=n(e),a=[];return a=(a=a.concat(r(t))).concat(r(null))}},{"./index":403}],410:[function(t,e,r){e.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n<t.length-1;n++)r.push(t[n],e[n]||"");return r.push(t[n]),r.join("")}},{}],411:[function(t,e,r){(function(r){"use strict";var n,a=t("is-browser");n="function"==typeof r.matchMedia?!r.matchMedia("(hover: none)").matches:a,e.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"is-browser":418}],412:[function(t,e,r){"use strict";var n=t("is-browser");e.exports=n&&function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){t=!1}return t}()},{"is-browser":418}],413:[function(t,e,r){r.read=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},r.write=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g}},{}],414:[function(t,e,r){"use strict";e.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var a=t[0].length;if(r<=a)throw new Error("Must input at least d+1 points");var o=t.slice(0,a+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(a+1),u=0;u<=a;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);for(var h=new i(l,new Array(a+1),!1),f=h.adjacent,p=new Array(a+2),u=0;u<=a;++u){for(var d=l.slice(),g=0;g<=a;++g)g===u&&(d[g]=-1);var v=d[0];d[0]=d[1],d[1]=v;var m=new i(d,new Array(a+1),!0);f[u]=m,p[u]=m}p[a+1]=h;for(var u=0;u<=a;++u)for(var d=f[u].vertices,y=f[u].adjacent,g=0;g<=a;++g){var x=d[g];if(x<0)y[g]=h;else for(var b=0;b<=a;++b)f[b].vertices.indexOf(x)<0&&(y[g]=f[b])}for(var _=new c(a,o,p),w=!!e,u=a+1;u<r;++u)_.insert(t[u],w);return _.boundary()};var n=t("robust-orientation"),a=t("simplicial-complex").compareCells;function i(t,e,r){this.vertices=t,this.adjacent=e,this.boundary=r,this.lastVisited=-1}function o(t,e,r){this.vertices=t,this.cell=e,this.index=r}function s(t,e){return a(t.vertices,e.vertices)}i.prototype.flip=function(){var t=this.vertices[0];this.vertices[0]=this.vertices[1],this.vertices[1]=t;var e=this.adjacent[0];this.adjacent[0]=this.adjacent[1],this.adjacent[1]=e};var l=[];function c(t,e,r){this.dimension=t,this.vertices=e,this.simplices=r,this.interior=r.filter(function(t){return!t.boundary}),this.tuple=new Array(t+1);for(var a=0;a<=t;++a)this.tuple[a]=this.vertices[a];var i=l[t];i||(i=l[t]=function(t){for(var e=["function orient(){var tuple=this.tuple;return test("],r=0;r<=t;++r)r>0&&e.push(","),e.push("tuple[",r,"]");e.push(")}return orient");var a=new Function("test",e.join("")),i=n[t+1];return i||(i=n),a(i)}(t)),this.orient=i}var u=c.prototype;u.handleBoundaryDegeneracy=function(t,e){var r=this.dimension,n=this.vertices.length-1,a=this.tuple,i=this.vertices,o=[t];for(t.lastVisited=-n;o.length>0;){(t=o.pop()).vertices;for(var s=t.adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];a[h]=f<0?e:i[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,i=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)i[u]=a[l[u]];s.lastVisited=r;for(u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=i[u];i[u]=t;var p=this.orient();if(i[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,a=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,g=p.indexOf(r);if(!(g<0))for(var v=0;v<=n;++v)if(v!==g){var m=d[v];if(m.boundary&&!(m.lastVisited>=r)){var y=m.vertices;if(m.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)y[b]<0?(x=b,l[b]=t):l[b]=a[y[b]];if(this.orient()>0){y[x]=r,m.boundary=!1,c.push(m),h.push(m),m.lastVisited=r;continue}m.lastVisited=-r}var _=m.adjacent,w=p.slice(),k=d.slice(),T=new i(w,k,!0);u.push(T);var A=_.indexOf(e);if(!(A<0)){_[A]=T,k[g]=m,w[v]=-1,k[v]=e,d[v]=T,T.flip();for(b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}f.push(new o(S,T,b))}}}}}}f.sort(s);for(v=0;v+1<f.length;v+=2){var P=f[v],O=f[v+1],z=P.index,I=O.index;z<0||I<0||(P.cell.adjacent[P.index]=O.cell,O.cell.adjacent[O.index]=P.cell)}},u.insert=function(t,e){var r=this.vertices;r.push(t);var n=this.walk(t,e);if(n){for(var a=this.dimension,i=this.tuple,o=0;o<=a;++o){var s=n.vertices[o];i[o]=s<0?t:r[s]}var l=this.orient(i);l<0||(0!==l||(n=this.handleBoundaryDegeneracy(n,t)))&&this.addPeaks(t,n)}},u.boundary=function(){for(var t=this.dimension,e=[],r=this.simplices,n=r.length,a=0;a<n;++a){var i=r[a];if(i.boundary){for(var o=new Array(t),s=i.vertices,l=0,c=0,u=0;u<=t;++u)s[u]>=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},{"robust-orientation":508,"simplicial-complex":518}],415:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=0,i=1;function o(t,e,r,n,a){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=a,this.count=(e?e.count:0)+(r?r.count:0)+n.length}e.exports=function(t){if(!t||0===t.length)return new x(null);return new x(y(t))};var s=o.prototype;function l(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function c(t,e){var r=y(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function u(t,e){var r=t.intervals([]);r.push(e),c(t,r)}function h(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?a:(r.splice(n,1),c(t,r),i)}function f(t,e,r){for(var n=0;n<t.length&&t[n][0]<=e;++n){var a=r(t[n]);if(a)return a}}function p(t,e,r){for(var n=t.length-1;n>=0&&t[n][1]>=e;--n){var a=r(t[n]);if(a)return a}}function d(t,e){for(var r=0;r<t.length;++r){var n=e(t[r]);if(n)return n}}function g(t,e){return t-e}function v(t,e){var r=t[0]-e[0];return r||t[1]-e[1]}function m(t,e){var r=t[1]-e[1];return r||t[0]-e[0]}function y(t){if(0===t.length)return null;for(var e=[],r=0;r<t.length;++r)e.push(t[r][0],t[r][1]);e.sort(g);var n=e[e.length>>1],a=[],i=[],s=[];for(r=0;r<t.length;++r){var l=t[r];l[1]<n?a.push(l):n<l[0]?i.push(l):s.push(l)}var c=s,u=s.slice();return c.sort(v),u.sort(m),new o(n,y(a),y(i),c,u)}function x(t){this.root=t}s.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t},s.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?u(this,t):this.left.insert(t):this.left=y([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?u(this,t):this.right.insert(t):this.right=y([t]);else{var r=n.ge(this.leftPoints,t,v),a=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(a,0,t)}},s.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid)return this.left?4*(this.right?this.right.count:0)>3*(e-1)?h(this,t):2===(c=this.left.remove(t))?(this.left=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?h(this,t):2===(c=this.right.remove(t))?(this.right=null,this.count-=1,i):(c===i&&(this.count-=1),c):a;if(1===this.count)return this.leftPoints[0]===t?2:a;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,o=this.left;o.right;)r=o,o=o.right;if(r===this)o.right=this.right;else{var s=this.left,c=this.right;r.count-=o.count,r.right=o.left,o.left=s,o.right=c}l(this,o),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?l(this,this.left):l(this,this.right);return i}for(s=n.ge(this.leftPoints,t,v);s<this.leftPoints.length&&this.leftPoints[s][0]===t[0];++s)if(this.leftPoints[s]===t){this.count-=1,this.leftPoints.splice(s,1);for(c=n.ge(this.rightPoints,t,m);c<this.rightPoints.length&&this.rightPoints[c][1]===t[1];++c)if(this.rightPoints[c]===t)return this.rightPoints.splice(c,1),i}return a},s.queryPoint=function(t,e){if(t<this.mid){if(this.left)if(r=this.left.queryPoint(t,e))return r;return f(this.leftPoints,t,e)}if(t>this.mid){var r;if(this.right)if(r=this.right.queryPoint(t,e))return r;return p(this.rightPoints,t,e)}return d(this.leftPoints,e)},s.queryInterval=function(t,e,r){var n;if(t<this.mid&&this.left&&(n=this.left.queryInterval(t,e,r)))return n;if(e>this.mid&&this.right&&(n=this.right.queryInterval(t,e,r)))return n;return e<this.mid?f(this.leftPoints,e,r):t>this.mid?p(this.rightPoints,t,r):d(this.leftPoints,r)};var b=x.prototype;b.insert=function(t){this.root?this.root.insert(t):this.root=new o(t[0],null,null,[t],[t])},b.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),e!==a}return!1},b.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},b.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(b,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(b,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},{"binary-search-bounds":92}],416:[function(t,e,r){"use strict";e.exports=function(t,e){e=e||new Array(t.length);for(var r=0;r<t.length;++r)e[t[r]]=r;return e}},{}],417:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=r;return e}},{}],418:[function(t,e,r){e.exports=!0},{}],419:[function(t,e,r){function n(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}e.exports=function(t){return null!=t&&(n(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&n(t.slice(0,0))}(t)||!!t._isBuffer)}},{}],420:[function(t,e,r){"use strict";e.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},{}],421:[function(t,e,r){"use strict";e.exports=i,e.exports.isMobile=i,e.exports.default=i;var n=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,a=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function i(t){t||(t={});var e=t.ua;return e||"undefined"==typeof navigator||(e=navigator.userAgent),e&&e.headers&&"string"==typeof e.headers["user-agent"]&&(e=e.headers["user-agent"]),"string"==typeof e&&(t.tablet?a.test(e):n.test(e))}},{}],422:[function(t,e,r){"use strict";e.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},{}],423:[function(t,e,r){"use strict";var n=Object.prototype.toString;e.exports=function(t){var e;return"[object Object]"===n.call(t)&&(null===(e=Object.getPrototypeOf(t))||e===Object.getPrototypeOf({}))}},{}],424:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=t.length,n=0;n<r;n++)if(((e=t.charCodeAt(n))<9||e>13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},{}],425:[function(t,e,r){"use strict";e.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},{}],426:[function(t,e,r){e.exports=function(t,e,r){return t*(1-r)+e*r}},{}],427:[function(t,e,r){var n,a;n=this,a=function(){"use strict";var t,e,r;function n(n,a){if(t)if(e){var i="var sharedChunk = {}; ("+t+")(sharedChunk); ("+e+")(sharedChunk);",o={};t(o),(r=a(o)).workerUrl=window.URL.createObjectURL(new Blob([i],{type:"text/javascript"}))}else e=a;else t=a}return n(0,function(t){function e(t,e){return t(e={exports:{}},e.exports),e.exports}var r=n;function n(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=n,this.p2x=r,this.p2y=n}n.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},n.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},n.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},n.prototype.solveCurveX=function(t,e){var r,n,a,i,o;for(void 0===e&&(e=1e-6),a=t,o=0;o<8;o++){if(i=this.sampleCurveX(a)-t,Math.abs(i)<e)return a;var s=this.sampleCurveDerivativeX(a);if(Math.abs(s)<1e-6)break;a-=i/s}if((a=t)<(r=0))return r;if(a>(n=1))return n;for(;r<n;){if(i=this.sampleCurveX(a),Math.abs(i-t)<e)return a;t>i?r=a:n=a,a=.5*(n-r)+r}return a},n.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=i;function i(t,e){this.x=t,this.y=e}function o(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(!o(t[r],e[r]))return!1;return!0}if("object"==typeof t&&null!==t&&null!==e){if("object"!=typeof e)return!1;if(Object.keys(t).length!==Object.keys(e).length)return!1;for(var n in t)if(!o(t[n],e[n]))return!1;return!0}return t===e}function s(t,e,n,a){var i=new r(t,e,n,a);return function(t){return i.solve(t)}}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},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(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,a=r*this.x+e*this.y;return this.x=n,this.y=a,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),a=e.x+r*(this.x-e.x)-n*(this.y-e.y),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=a,this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var l=s(.25,.1,.25,1);function c(t,e,r){return Math.min(r,Math.max(e,t))}function u(t,e,r){var n=r-e,a=((t-e)%n+n)%n+e;return a===e?r:a}function h(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}var f=1;function p(){return f++}function d(){return function t(e){return e?(e^16*Math.random()>>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function g(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach(function(t){e[t]&&(e[t]=e[t].bind(e))})}function m(t,e){return-1!==t.indexOf(e,t.length-e.length)}function y(t,e,r){var n={};for(var a in t)n[a]=e.call(r||this,t[a],a,t);return n}function x(t,e,r){var n={};for(var a in t)e.call(r||this,t[a],a,t)&&(n[a]=t[a]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?y(t,b):t}var _={};function w(t){_[t]||("undefined"!=typeof console&&console.warn(t),_[t]=!0)}function k(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function T(t){for(var e=0,r=0,n=t.length,a=n-1,i=void 0,o=void 0;r<n;a=r++)i=t[r],e+=((o=t[a]).x-i.x)*(i.y+o.y);return e}function A(t){var e={};if(t.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,function(t,r,n,a){var i=n||a;return e[r]=!i||i.toLowerCase(),""}),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}function M(t){try{var e=self[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var S,E,L,C,P=self.performance&&self.performance.now?self.performance.now.bind(self.performance):Date.now.bind(Date),O=self.requestAnimationFrame||self.mozRequestAnimationFrame||self.webkitRequestAnimationFrame||self.msRequestAnimationFrame,z=self.cancelAnimationFrame||self.mozCancelAnimationFrame||self.webkitCancelAnimationFrame||self.msCancelAnimationFrame,I={now:P,frame:function(t){var e=O(t);return{cancel:function(){return z(e)}}},getImageData:function(t){var e=self.document.createElement("canvas"),r=e.getContext("2d");if(!r)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r.getImageData(0,0,t.width,t.height)},resolveURL:function(t){return S||(S=self.document.createElement("a")),S.href=t,S.href},hardwareConcurrency:self.navigator.hardwareConcurrency||4,get devicePixelRatio(){return self.devicePixelRatio},get prefersReducedMotion(){return!!self.matchMedia&&(null==E&&(E=self.matchMedia("(prefers-reduced-motion: reduce)")),E.matches)}},D={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},R={supported:!1,testSupport:function(t){!F&&C&&(B?N(t):L=t)}},F=!1,B=!1;function N(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,C),t.isContextLost())return;R.supported=!0}catch(t){}t.deleteTexture(e),F=!0}self.document&&((C=self.document.createElement("img")).onload=function(){L&&N(L),L=null,B=!0},C.onerror=function(){F=!0,L=null},C.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var j="01",V=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function U(t){return 0===t.indexOf("mapbox:")}V.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",j,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},V.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},V.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},V.prototype.normalizeStyleURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeGlyphsURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSourceURL=function(t,e){if(!U(t))return t;var r=Y(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},V.prototype.normalizeSpriteURL=function(t,e,r,n){var a=Y(t);return U(t)?(a.path="/styles/v1"+a.path+"/sprite"+e+r,this._makeAPIURL(a,this._customAccessToken||n)):(a.path+=""+e+r,W(a))},V.prototype.normalizeTileURL=function(t,e,r){if(this._isSkuTokenExpired()&&this._createSkuToken(),!e||!U(e))return t;var n=Y(t),a=I.devicePixelRatio>=2||512===r?"@2x":"",i=R.supported?".webp":"$1";return n.path=n.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+a+i),n.path=n.path.replace(/^.+\/v4\//,"/"),n.path="/v4"+n.path,D.REQUIRE_ACCESS_TOKEN&&(D.ACCESS_TOKEN||this._customAccessToken)&&this._skuToken&&n.params.push("sku="+this._skuToken),this._makeAPIURL(n,this._customAccessToken)},V.prototype.canonicalizeTileURL=function(t){var e=Y(t);if(!e.path.match(/(^\/v4\/)/)||!e.path.match(/\.[\w]+$/))return t;var r="mapbox://tiles/";r+=e.path.replace("/v4/","");var n=e.params.filter(function(t){return!t.match(/^access_token=/)});return n.length&&(r+="?"+n.join("&")),r},V.prototype.canonicalizeTileset=function(t,e){if(!U(e))return t.tiles||[];for(var r=[],n=0,a=t.tiles;n<a.length;n+=1){var i=a[n],o=this.canonicalizeTileURL(i);r.push(o)}return r},V.prototype._makeAPIURL=function(t,e){var r="See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes",n=Y(D.API_URL);if(t.protocol=n.protocol,t.authority=n.authority,"/"!==n.path&&(t.path=""+n.path+t.path),!D.REQUIRE_ACCESS_TOKEN)return W(t);if(!(e=e||D.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter(function(t){return-1===t.indexOf("access_token")}),t.params.push("access_token="+e),W(t)};var q=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function H(t){return q.test(t)}var G=/^(\w+):\/\/([^\/?]*)(\/[^?]+)?\??(.+)?/;function Y(t){var e=t.match(G);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function W(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}function X(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(self.atob(e).split("").map(function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)}).join(""))))}catch(t){return null}}var Z=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};Z.prototype.getStorageKey=function(t){var e,r=X(D.ACCESS_TOKEN),n="";return r&&r.u?(e=r.u,n=self.btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(t,e){return String.fromCharCode(Number("0x"+e))}))):n=D.ACCESS_TOKEN||"",t?"mapbox.eventData."+t+":"+n:"mapbox.eventData:"+n},Z.prototype.fetchEventData=function(){var t=M("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=self.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var a=self.localStorage.getItem(r);a&&(this.anonId=a)}catch(t){w("Unable to read from LocalStorage")}},Z.prototype.saveEventData=function(){var t=M("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{self.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&self.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){w("Unable to write to LocalStorage")}},Z.prototype.processRequests=function(t){},Z.prototype.postEvent=function(t,e,r,n){var a=this;if(D.EVENTS_URL){var i=Y(D.EVENTS_URL);i.params.push("access_token="+(n||D.ACCESS_TOKEN||""));var o={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:"1.3.2",skuId:j,userId:this.anonId},s=e?h(o,e):o,l={url:W(i),headers:{"Content-Type":"text/plain"},body:JSON.stringify([s])};this.pendingRequest=mt(l,function(t){a.pendingRequest=null,r(t),a.saveEventData(),a.processRequests(n)})}},Z.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var J,K=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(D.EVENTS_URL&&n||D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(t)}))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,a=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),g(this.anonId)||(this.anonId=d()),this.postEvent(a,{skuToken:this.skuToken},function(t){t||n&&(e.success[n]=!0)},t))}},e}(Z),Q=new(function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){D.EVENTS_URL&&D.ACCESS_TOKEN&&Array.isArray(t)&&t.some(function(t){return U(t)||H(t)})&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=X(D.ACCESS_TOKEN),n=r?r.u:D.ACCESS_TOKEN,a=n!==this.eventData.tokenU;g(this.anonId)||(this.anonId=d(),a=!0);var i=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(i),l=(i-this.eventData.lastSuccess)/864e5;a=a||l>=1||l<-1||o.getDate()!==s.getDate()}else a=!0;if(!a)return this.processRequests();this.postEvent(i,{"enabled.telemetry":!1},function(t){t||(e.eventData.lastSuccess=i,e.eventData.tokenU=n)},t)}},e}(Z)),$=Q.postTurnstileEvent.bind(Q),tt=new K,et=tt.postMapLoadEvent.bind(tt),rt="mapbox-tiles",nt=500,at=50,it=42e4;function ot(t){var e=t.indexOf("?");return e<0?t:t.slice(0,e)}var st=1/0,lt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(lt);var ct=function(t){function e(e,r,n){401===r&&H(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error);function ut(){return"undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof self&&self instanceof WorkerGlobalScope}var ht=ut()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===self.location.protocol?self.parent:self).location.href};function ft(t,e){var r,n=new self.AbortController,a=new self.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:ht(),signal:n.signal}),i=!1,o=!1,s=(r=a.url).indexOf("sku=")>0&&H(r);"json"===t.type&&a.headers.set("Accept","application/json");var l=function(r,n,i){if(!o){if(r&&"SecurityError"!==r.message&&w(r),n&&i)return c(n);var l=Date.now();self.fetch(a).then(function(r){if(r.ok){var n=s?r.clone():null;return c(r,n,l)}return e(new ct(r.statusText,r.status,t.url))}).catch(function(t){20!==t.code&&e(new Error(t.message))})}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then(function(t){o||(n&&s&&function(t,e,r){if(self.caches){var n={status:e.status,statusText:e.statusText,headers:new self.Headers};e.headers.forEach(function(t,e){return n.headers.set(e,t)});var a=A(e.headers.get("Cache-Control")||"");a["no-store"]||(a["max-age"]&&n.headers.set("Expires",new Date(r+1e3*a["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-r<it||function(t,e){if(void 0===J)try{new Response(new ReadableStream),J=!0}catch(t){J=!1}J?e(t.body):t.blob().then(e)}(e,function(e){var r=new self.Response(e,n);self.caches.open(rt).then(function(e){return e.put(ot(t.url),r)}).catch(function(t){return w(t.message)})}))}}(a,n,s),i=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))}).catch(function(t){return e(new Error(t.message))})};return s?function(t,e){if(!self.caches)return e(null);var r=ot(t.url);self.caches.open(rt).then(function(t){t.match(r).then(function(n){var a=function(t){if(!t)return!1;var e=new Date(t.headers.get("Expires")),r=A(t.headers.get("Cache-Control")||"");return e>Date.now()&&!r["no-cache"]}(n);t.delete(r),a&&t.put(r,n.clone()),e(null,n,a)}).catch(e)}).catch(e)}(a,l):l(null,null),{cancel:function(){o=!0,i||n.abort()}}}var pt,dt,gt=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(ht())&&!/^\w+:/.test(r))){if(self.fetch&&self.Request&&self.AbortController&&self.Request.prototype.hasOwnProperty("signal"))return ft(t,e);if(ut()&&self.worker&&self.worker.actor)return self.worker.actor.send("getResource",t,e)}var r;return function(t,e){var r=new self.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new ct(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},vt=function(t,e){return gt(h(t,{type:"arrayBuffer"}),e)},mt=function(t,e){return gt(h(t,{method:"POST"}),e)};pt=[],dt=0;var yt=function(t,e){if(dt>=D.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return pt.push(r),r}dt++;var n=!1,a=function(){if(!n)for(n=!0,dt--;pt.length&&dt<D.MAX_PARALLEL_IMAGE_REQUESTS;){var t=pt.shift(),e=t.requestParameters,r=t.callback;t.cancelled||(t.cancel=yt(e,r).cancel)}},i=vt(t,function(t,r,n,i){if(a(),t)e(t);else if(r){var o=new self.Image,s=self.URL||self.webkitURL;o.onload=function(){e(null,o),s.revokeObjectURL(o.src)},o.onerror=function(){return e(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."))};var l=new self.Blob([new Uint8Array(r)],{type:"image/png"});o.cacheControl=n,o.expires=i,o.src=r.byteLength?s.createObjectURL(l):"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII="}});return{cancel:function(){i.cancel(),a()}}};function xt(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function bt(t,e,r){if(r&&r[t]){var n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}var _t=function(t,e){void 0===e&&(e={}),h(this,e),this.type=t},wt=function(t){function e(e,r){void 0===r&&(r={}),t.call(this,"error",h({error:e},r))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(_t),kt=function(){};kt.prototype.on=function(t,e){return this._listeners=this._listeners||{},xt(t,e,this._listeners),this},kt.prototype.off=function(t,e){return bt(t,e,this._listeners),bt(t,e,this._oneTimeListeners),this},kt.prototype.once=function(t,e){return this._oneTimeListeners=this._oneTimeListeners||{},xt(t,e,this._oneTimeListeners),this},kt.prototype.fire=function(t,e){"string"==typeof t&&(t=new _t(t,e||{}));var r=t.type;if(this.listens(r)){t.target=this;for(var n=0,a=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];n<a.length;n+=1)a[n].call(this,t);for(var i=0,o=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];i<o.length;i+=1){var s=o[i];bt(r,s,this._oneTimeListeners),s.call(this,t)}var l=this._eventedParent;l&&(h(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),l.fire(t))}else t instanceof wt&&console.error(t.error);return this},kt.prototype.listens=function(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},kt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Tt={$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"},sources:{required:!0,type:"sources"},sprite:{type:"string"},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"},"*":{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"},"*":{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:{}},default:"mapbox"},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1}},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"],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:"string",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:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"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:{},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-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"},{"!":"text-variable-anchor"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,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":{}}},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:22,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},expression_name:{type:"enum",values:{let:{group:"Variable binding"},var:{group:"Variable binding"},literal:{group:"Types"},array:{group:"Types"},at:{group:"Lookup"},case:{group:"Decision"},match:{group:"Decision"},coalesce:{group:"Decision"},step:{group:"Ramps, scales, curves"},interpolate:{group:"Ramps, scales, curves"},"interpolate-hcl":{group:"Ramps, scales, curves"},"interpolate-lab":{group:"Ramps, scales, curves"},ln2:{group:"Math"},pi:{group:"Math"},e:{group:"Math"},typeof:{group:"Types"},string:{group:"Types"},number:{group:"Types"},boolean:{group:"Types"},object:{group:"Types"},collator:{group:"Types"},format:{group:"Types"},"number-format":{group:"Types"},"to-string":{group:"Types"},"to-number":{group:"Types"},"to-boolean":{group:"Types"},"to-rgba":{group:"Color"},"to-color":{group:"Types"},rgb:{group:"Color"},rgba:{group:"Color"},get:{group:"Lookup"},has:{group:"Lookup"},length:{group:"Lookup"},properties:{group:"Feature data"},"feature-state":{group:"Feature data"},"geometry-type":{group:"Feature data"},id:{group:"Feature data"},zoom:{group:"Zoom"},"heatmap-density":{group:"Heatmap"},"line-progress":{group:"Feature data"},accumulated:{group:"Feature data"},"+":{group:"Math"},"*":{group:"Math"},"-":{group:"Math"},"/":{group:"Math"},"%":{group:"Math"},"^":{group:"Math"},sqrt:{group:"Math"},log10:{group:"Math"},ln:{group:"Math"},log2:{group:"Math"},sin:{group:"Math"},cos:{group:"Math"},tan:{group:"Math"},asin:{group:"Math"},acos:{group:"Math"},atan:{group:"Math"},min:{group:"Math"},max:{group:"Math"},round:{group:"Math"},abs:{group:"Math"},ceil:{group:"Math"},floor:{group:"Math"},"==":{group:"Decision"},"!=":{group:"Decision"},">":{group:"Decision"},"<":{group:"Decision"},">=":{group:"Decision"},"<=":{group:"Decision"},all:{group:"Decision"},any:{group:"Decision"},"!":{group:"Decision"},"is-supported-script":{group:"String"},upcase:{group:"String"},downcase:{group:"String"},concat:{group:"String"},"resolved-locale":{group:"String"}}},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}},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:"string",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:"string",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:"string",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:"string",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"}}},At=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Mt(t){var e=t.key,r=t.value;return r?[new At(e,r,"constants have been deprecated as of v8")]:[]}function St(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,a=e;n<a.length;n+=1){var i=a[n];for(var o in i)t[o]=i[o]}return t}function Et(t){return t instanceof Number||t instanceof String||t instanceof Boolean}function Lt(t){return Et(t)?t.valueOf():t}function Ct(t){if(Array.isArray(t))return t.map(Ct);if(t instanceof Object&&!Et(t)){var e={};for(var r in t)e[r]=Ct(t[r]);return e}return Lt(t)}var Pt=function(t){function e(e,r){t.call(this,r),this.message=r,this.key=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error),Ot=function(t,e){void 0===e&&(e=[]),this.parent=t,this.bindings={};for(var r=0,n=e;r<n.length;r+=1){var a=n[r],i=a[0],o=a[1];this.bindings[i]=o}};Ot.prototype.concat=function(t){return new Ot(this,t)},Ot.prototype.get=function(t){if(this.bindings[t])return this.bindings[t];if(this.parent)return this.parent.get(t);throw new Error(t+" not found in scope.")},Ot.prototype.has=function(t){return!!this.bindings[t]||!!this.parent&&this.parent.has(t)};var zt={kind:"null"},It={kind:"number"},Dt={kind:"string"},Rt={kind:"boolean"},Ft={kind:"color"},Bt={kind:"object"},Nt={kind:"value"},jt={kind:"collator"},Vt={kind:"formatted"};function Ut(t,e){return{kind:"array",itemType:t,N:e}}function qt(t){if("array"===t.kind){var e=qt(t.itemType);return"number"==typeof t.N?"array<"+e+", "+t.N+">":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var Ht=[zt,It,Dt,Rt,Ft,Vt,Bt,Ut(Nt)];function Gt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Gt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=Ht;r<n.length;r+=1)if(!Gt(n[r],e))return null}return"Expected "+qt(t)+" but found "+qt(e)+" instead."}var Yt=e(function(t,e){var r={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],rebeccapurple:[102,51,153,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function n(t){return(t=Math.round(t))<0?0:t>255?255:t}function a(t){return t<0?0:t>1?1:t}function i(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?a(parseFloat(t)/100):a(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,a=t.replace(/ /g,"").toLowerCase();if(a in r)return r[a].slice();if("#"===a[0])return 4===a.length?(e=parseInt(a.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===a.length&&(e=parseInt(a.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=a.indexOf("("),c=a.indexOf(")");if(-1!==l&&c+1===a.length){var u=a.substr(0,l),h=a.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[i(h[0]),i(h[1]),i(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),g=o(h[2]),v=g<=.5?g*(d+1):g+d-g*d,m=2*g-v;return[n(255*s(m,v,p+1/3)),n(255*s(m,v,p)),n(255*s(m,v,p-1/3)),f];default:return null}}return null}}catch(t){}}).parseCSSColor,Wt=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};Wt.parse=function(t){if(t){if(t instanceof Wt)return t;if("string"==typeof t){var e=Yt(t);if(e)return new Wt(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},Wt.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],a=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+a+")"},Wt.prototype.toArray=function(){var t=this.r,e=this.g,r=this.b,n=this.a;return 0===n?[0,0,0,0]:[255*t/n,255*e/n,255*r/n,n]},Wt.black=new Wt(0,0,0,1),Wt.white=new Wt(1,1,1,1),Wt.transparent=new Wt(0,0,0,0),Wt.red=new Wt(1,0,0,1);var Xt=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};Xt.prototype.compare=function(t,e){return this.collator.compare(t,e)},Xt.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var Zt=function(t,e,r,n){this.text=t,this.scale=e,this.fontStack=r,this.textColor=n},Jt=function(t){this.sections=t};function Kt(t,e,r,n){return"number"==typeof t&&t>=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function Qt(t){if(null===t)return zt;if("string"==typeof t)return Dt;if("boolean"==typeof t)return Rt;if("number"==typeof t)return It;if(t instanceof Wt)return Ft;if(t instanceof Xt)return jt;if(t instanceof Jt)return Vt;if(Array.isArray(t)){for(var e,r=t.length,n=0,a=t;n<a.length;n+=1){var i=Qt(a[n]);if(e){if(e===i)continue;e=Nt;break}e=i}return Ut(e||Nt,r)}return Bt}function $t(t){var e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Wt||t instanceof Jt?t.toString():JSON.stringify(t)}Jt.fromString=function(t){return new Jt([new Zt(t,null,null,null)])},Jt.prototype.toString=function(){return this.sections.map(function(t){return t.text}).join("")},Jt.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.text);var a={};n.fontStack&&(a["text-font"]=["literal",n.fontStack.split(",")]),n.scale&&(a["font-scale"]=n.scale),n.textColor&&(a["text-color"]=["rgba"].concat(n.textColor.toArray())),t.push(a)}return t};var te=function(t,e){this.type=t,this.value=e};te.parse=function(t,e){if(2!==t.length)return e.error("'literal' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(!function t(e){if(null===e)return!0;if("string"==typeof e)return!0;if("boolean"==typeof e)return!0;if("number"==typeof e)return!0;if(e instanceof Wt)return!0;if(e instanceof Xt)return!0;if(e instanceof Jt)return!0;if(Array.isArray(e)){for(var r=0,n=e;r<n.length;r+=1)if(!t(n[r]))return!1;return!0}if("object"==typeof e){for(var a in e)if(!t(e[a]))return!1;return!0}return!1}(t[1]))return e.error("invalid value");var r=t[1],n=Qt(r),a=e.expectedType;return"array"!==n.kind||0!==n.N||!a||"array"!==a.kind||"number"==typeof a.N&&0!==a.N||(n=a),new te(n,r)},te.prototype.evaluate=function(){return this.value},te.prototype.eachChild=function(){},te.prototype.possibleOutputs=function(){return[this.value]},te.prototype.serialize=function(){return"array"===this.type.kind||"object"===this.type.kind?["literal",this.value]:this.value instanceof Wt?["rgba"].concat(this.value.toArray()):this.value instanceof Jt?this.value.serialize():this.value};var ee=function(t){this.name="ExpressionEvaluationError",this.message=t};ee.prototype.toJSON=function(){return this.message};var re={string:Dt,number:It,boolean:Rt,object:Bt},ne=function(t,e){this.type=t,this.args=e};ne.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r,n=1,a=t[0];if("array"===a){var i,o;if(t.length>2){var s=t[1];if("string"!=typeof s||!(s in re)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=re[s],n++}else i=Nt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=Ut(i,o)}else r=re[a];for(var l=[];n<t.length;n++){var c=e.parse(t[n],n,Nt);if(!c)return null;l.push(c)}return new ne(r,l)},ne.prototype.evaluate=function(t){for(var e=0;e<this.args.length;e++){var r=this.args[e].evaluate(t);if(!Gt(this.type,Qt(r)))return r;if(e===this.args.length-1)throw new ee("Expected value to be of type "+qt(this.type)+", but found "+qt(Qt(r))+" instead.")}return null},ne.prototype.eachChild=function(t){this.args.forEach(t)},ne.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},ne.prototype.serialize=function(){var t=this.type,e=[t.kind];if("array"===t.kind){var r=t.itemType;if("string"===r.kind||"number"===r.kind||"boolean"===r.kind){e.push(r.kind);var n=t.N;("number"==typeof n||this.args.length>1)&&e.push(n)}}return e.concat(this.args.map(function(t){return t.serialize()}))};var ae=function(t){this.type=Vt,this.sections=t};ae.parse=function(t,e){if(t.length<3)return e.error("Expected at least two arguments.");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");for(var r=[],n=1;n<t.length-1;n+=2){var a=e.parse(t[n],1,Nt);if(!a)return null;var i=a.type.kind;if("string"!==i&&"value"!==i&&"null"!==i)return e.error("Formatted text type must be 'string', 'value', or 'null'.");var o=t[n+1];if("object"!=typeof o||Array.isArray(o))return e.error("Format options argument must be an object.");var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,It)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,Ut(Dt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Ft)))return null;r.push({text:a,scale:s,font:l,textColor:c})}return new ae(r)},ae.prototype.evaluate=function(t){return new Jt(this.sections.map(function(e){return new Zt($t(e.text.evaluate(t)),e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)}))},ae.prototype.eachChild=function(t){for(var e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t(n.text),n.scale&&t(n.scale),n.font&&t(n.font),n.textColor&&t(n.textColor)}},ae.prototype.possibleOutputs=function(){return[void 0]},ae.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e<r.length;e+=1){var n=r[e];t.push(n.text.serialize());var a={};n.scale&&(a["font-scale"]=n.scale.serialize()),n.font&&(a["text-font"]=n.font.serialize()),n.textColor&&(a["text-color"]=n.textColor.serialize()),t.push(a)}return t};var ie={"to-boolean":Rt,"to-color":Ft,"to-number":It,"to-string":Dt},oe=function(t,e){this.type=t,this.args=e};oe.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ie[r],a=[],i=1;i<t.length;i++){var o=e.parse(t[i],i,Nt);if(!o)return null;a.push(o)}return new oe(n,a)},oe.prototype.evaluate=function(t){if("boolean"===this.type.kind)return Boolean(this.args[0].evaluate(t));if("color"===this.type.kind){for(var e,r,n=0,a=this.args;n<a.length;n+=1){if(r=null,(e=a[n].evaluate(t))instanceof Wt)return e;if("string"==typeof e){var i=t.parseColor(e);if(i)return i}else if(Array.isArray(e)&&!(r=e.length<3||e.length>4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":Kt(e[0],e[1],e[2],e[3])))return new Wt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ee(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s<l.length;s+=1){if(null===(o=l[s].evaluate(t)))return 0;var c=Number(o);if(!isNaN(c))return c}throw new ee("Could not convert "+JSON.stringify(o)+" to number.")}return"formatted"===this.type.kind?Jt.fromString($t(this.args[0].evaluate(t))):$t(this.args[0].evaluate(t))},oe.prototype.eachChild=function(t){this.args.forEach(t)},oe.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},oe.prototype.serialize=function(){if("formatted"===this.type.kind)return new ae([{text:this.args[0],scale:null,font:null,textColor:null}]).serialize();var t=["to-"+this.type.kind];return this.eachChild(function(e){t.push(e.serialize())}),t};var se=["Unknown","Point","LineString","Polygon"],le=function(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={}};le.prototype.id=function(){return this.feature&&"id"in this.feature?this.feature.id:null},le.prototype.geometryType=function(){return this.feature?"number"==typeof this.feature.type?se[this.feature.type]:this.feature.type:null},le.prototype.properties=function(){return this.feature&&this.feature.properties||{}},le.prototype.parseColor=function(t){var e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Wt.parse(t)),e};var ce=function(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n};ce.prototype.evaluate=function(t){return this._evaluate(t,this.args)},ce.prototype.eachChild=function(t){this.args.forEach(t)},ce.prototype.possibleOutputs=function(){return[void 0]},ce.prototype.serialize=function(){return[this.name].concat(this.args.map(function(t){return t.serialize()}))},ce.parse=function(t,e){var r,n=t[0],a=ce.definitions[n];if(!a)return e.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0);for(var i=Array.isArray(a)?a[0]:a.type,o=Array.isArray(a)?[[a[1],a[2]]]:a.overloads,s=o.filter(function(e){var r=e[0];return!Array.isArray(r)||r.length===t.length-1}),l=null,c=0,u=s;c<u.length;c+=1){var h=u[c],f=h[0],p=h[1];l=new ge(e.registry,e.path,null,e.scope);for(var d=[],g=!1,v=1;v<t.length;v++){var m=t[v],y=Array.isArray(f)?f[v-1]:f.type,x=l.parse(m,1+d.length,y);if(!x){g=!0;break}d.push(x)}if(!g)if(Array.isArray(f)&&f.length!==d.length)l.error("Expected "+f.length+" arguments, but found "+d.length+" instead.");else{for(var b=0;b<d.length;b++){var _=Array.isArray(f)?f[b]:f.type,w=d[b];l.concat(b+1).checkSubtype(_,w.type)}if(0===l.errors.length)return new ce(n,i,p,d)}}if(1===s.length)(r=e.errors).push.apply(r,l.errors);else{for(var k=(s.length?s:o).map(function(t){var e;return e=t[0],Array.isArray(e)?"("+e.map(qt).join(", ")+")":"("+qt(e.type)+"...)"}).join(" | "),T=[],A=1;A<t.length;A++){var M=e.parse(t[A],1+T.length);if(!M)return null;T.push(qt(M.type))}e.error("Expected arguments of type "+k+", but found ("+T.join(", ")+") instead.")}return null},ce.register=function(t,e){for(var r in ce.definitions=e,e)t[r]=ce};var ue=function(t,e,r){this.type=jt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e};function he(t){if(t instanceof ce){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}var e=!0;return t.eachChild(function(t){e&&!he(t)&&(e=!1)}),e}function fe(t){if(t instanceof ce&&"feature-state"===t.name)return!1;var e=!0;return t.eachChild(function(t){e&&!fe(t)&&(e=!1)}),e}function pe(t,e){if(t instanceof ce&&e.indexOf(t.name)>=0)return!1;var r=!0;return t.eachChild(function(t){r&&!pe(t,e)&&(r=!1)}),r}ue.parse=function(t,e){if(2!==t.length)return e.error("Expected one argument.");var r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");var n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,Rt);if(!n)return null;var a=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,Rt);if(!a)return null;var i=null;return r.locale&&!(i=e.parse(r.locale,1,Dt))?null:new ue(n,a,i)},ue.prototype.evaluate=function(t){return new Xt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)},ue.prototype.eachChild=function(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)},ue.prototype.possibleOutputs=function(){return[void 0]},ue.prototype.serialize=function(){var t={};return t["case-sensitive"]=this.caseSensitive.serialize(),t["diacritic-sensitive"]=this.diacriticSensitive.serialize(),this.locale&&(t.locale=this.locale.serialize()),["collator",t]};var de=function(t,e){this.type=e.type,this.name=t,this.boundExpression=e};de.parse=function(t,e){if(2!==t.length||"string"!=typeof t[1])return e.error("'var' expression requires exactly one string literal argument.");var r=t[1];return e.scope.has(r)?new de(r,e.scope.get(r)):e.error('Unknown variable "'+r+'". Make sure "'+r+'" has been bound in an enclosing "let" expression before using it.',1)},de.prototype.evaluate=function(t){return this.boundExpression.evaluate(t)},de.prototype.eachChild=function(){},de.prototype.possibleOutputs=function(){return[void 0]},de.prototype.serialize=function(){return["var",this.name]};var ge=function(t,e,r,n,a){void 0===e&&(e=[]),void 0===n&&(n=new Ot),void 0===a&&(a=[]),this.registry=t,this.path=e,this.key=e.map(function(t){return"["+t+"]"}).join(""),this.scope=n,this.errors=a,this.expectedType=r};function ve(t,e){for(var r,n,a=t.length-1,i=0,o=a,s=0;i<=o;)if(r=t[s=Math.floor((i+o)/2)],n=t[s+1],r<=e){if(s===a||e<n)return s;i=s+1}else{if(!(r>e))throw new ee("Input is not a number.");o=s-1}return 0}ge.prototype.parse=function(t,e,r,n,a){return void 0===a&&(a={}),e?this.concat(e,r,n)._parse(t,a):this._parse(t,a)},ge.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new ne(e,[t]):"coerce"===r?new oe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var a=this.registry[n];if(a){var i=a.parse(t,this);if(!i)return null;if(this.expectedType){var o=this.expectedType,s=i.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else i=r(i,o,e.typeAnnotation||"coerce");else i=r(i,o,e.typeAnnotation||"assert")}if(!(i instanceof te)&&function t(e){if(e instanceof de)return t(e.boundExpression);if(e instanceof ce&&"error"===e.name)return!1;if(e instanceof ue)return!1;var r=e instanceof oe||e instanceof ne,n=!0;return e.eachChild(function(e){n=r?n&&t(e):n&&e instanceof te}),!!n&&(he(e)&&pe(e,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"]))}(i)){var l=new le;try{i=new te(i.type,i.evaluate(l))}catch(t){return this.error(t.message),null}}return i}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},ge.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,a=r?this.scope.concat(r):this.scope;return new ge(this.registry,n,e||null,a,this.errors)},ge.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map(function(t){return"["+t+"]"}).join("");this.errors.push(new Pt(n,t))},ge.prototype.checkSubtype=function(t,e){var r=Gt(t,e);return r&&this.error(r),r};var me=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,a=r;n<a.length;n+=1){var i=a[n],o=i[0],s=i[1];this.labels.push(o),this.outputs.push(s)}};function ye(t,e,r){return t*(1-r)+e*r}me.parse=function(t,e){if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");var r=e.parse(t[1],1,It);if(!r)return null;var n=[],a=null;e.expectedType&&"value"!==e.expectedType.kind&&(a=e.expectedType);for(var i=1;i<t.length;i+=2){var o=1===i?-1/0:t[i],s=t[i+1],l=i,c=i+1;if("number"!=typeof o)return e.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',l);if(n.length&&n[n.length-1][0]>=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,a);if(!u)return null;a=a||u.type,n.push([o,u])}return new me(a,r,n)},me.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;return n>=e[a-1]?r[a-1].evaluate(t):r[ve(e,n)].evaluate(t)},me.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},me.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}))},me.prototype.serialize=function(){for(var t=["step",this.input.serialize()],e=0;e<this.labels.length;e++)e>0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var xe=Object.freeze({number:ye,color:function(t,e,r){return new Wt(ye(t.r,e.r,r),ye(t.g,e.g,r),ye(t.b,e.b,r),ye(t.a,e.a,r))},array:function(t,e,r){return t.map(function(t,n){return ye(t,e[n],r)})}}),be=.95047,_e=1,we=1.08883,ke=4/29,Te=6/29,Ae=3*Te*Te,Me=Te*Te*Te,Se=Math.PI/180,Ee=180/Math.PI;function Le(t){return t>Me?Math.pow(t,1/3):t/Ae+ke}function Ce(t){return t>Te?t*t*t:Ae*(t-ke)}function Pe(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Oe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function ze(t){var e=Oe(t.r),r=Oe(t.g),n=Oe(t.b),a=Le((.4124564*e+.3575761*r+.1804375*n)/be),i=Le((.2126729*e+.7151522*r+.072175*n)/_e);return{l:116*i-16,a:500*(a-i),b:200*(i-Le((.0193339*e+.119192*r+.9503041*n)/we)),alpha:t.a}}function Ie(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=_e*Ce(e),r=be*Ce(r),n=we*Ce(n),new Wt(Pe(3.2404542*r-1.5371385*e-.4985314*n),Pe(-.969266*r+1.8760108*e+.041556*n),Pe(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}var De={forward:ze,reverse:Ie,interpolate:function(t,e,r){return{l:ye(t.l,e.l,r),a:ye(t.a,e.a,r),b:ye(t.b,e.b,r),alpha:ye(t.alpha,e.alpha,r)}}},Re={forward:function(t){var e=ze(t),r=e.l,n=e.a,a=e.b,i=Math.atan2(a,n)*Ee;return{h:i<0?i+360:i,c:Math.sqrt(n*n+a*a),l:r,alpha:t.a}},reverse:function(t){var e=t.h*Se,r=t.c;return Ie({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:function(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}(t.h,e.h,r),c:ye(t.c,e.c,r),l:ye(t.l,e.l,r),alpha:ye(t.alpha,e.alpha,r)}}},Fe=Object.freeze({lab:De,hcl:Re}),Be=function(t,e,r,n,a){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var i=0,o=a;i<o.length;i+=1){var s=o[i],l=s[0],c=s[1];this.labels.push(l),this.outputs.push(c)}};function Ne(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}Be.interpolationFactor=function(t,e,n,a){var i=0;if("exponential"===t.name)i=Ne(e,t.base,n,a);else if("linear"===t.name)i=Ne(e,1,n,a);else if("cubic-bezier"===t.name){var o=t.controlPoints;i=new r(o[0],o[1],o[2],o[3]).solve(Ne(e,1,n,a))}return i},Be.parse=function(t,e){var r=t[0],n=t[1],a=t[2],i=t.slice(3);if(!Array.isArray(n)||0===n.length)return e.error("Expected an interpolation type expression.",1);if("linear"===n[0])n={name:"linear"};else if("exponential"===n[0]){var o=n[1];if("number"!=typeof o)return e.error("Exponential interpolation requires a numeric base.",1,1);n={name:"exponential",base:o}}else{if("cubic-bezier"!==n[0])return e.error("Unknown interpolation type "+String(n[0]),1,0);var s=n.slice(1);if(4!==s.length||s.some(function(t){return"number"!=typeof t||t<0||t>1}))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(a=e.parse(a,2,It)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Ft:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u<i.length;u+=2){var h=i[u],f=i[u+1],p=u+3,d=u+4;if("number"!=typeof h)return e.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',p);if(l.length&&l[l.length-1][0]>=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var g=e.parse(f,d,c);if(!g)return null;c=c||g.type,l.push([h,g])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new Be(c,r,n,a,l):e.error("Type "+qt(c)+" is not interpolatable.")},Be.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var a=e.length;if(n>=e[a-1])return r[a-1].evaluate(t);var i=ve(e,n),o=e[i],s=e[i+1],l=Be.interpolationFactor(this.interpolation,n,o,s),c=r[i].evaluate(t),u=r[i+1].evaluate(t);return"interpolate"===this.operator?xe[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?Re.reverse(Re.interpolate(Re.forward(c),Re.forward(u),l)):De.reverse(De.interpolate(De.forward(c),De.forward(u),l))},Be.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e<r.length;e+=1)t(r[e])},Be.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()}))},Be.prototype.serialize=function(){var t;t="linear"===this.interpolation.name?["linear"]:"exponential"===this.interpolation.name?1===this.interpolation.base?["linear"]:["exponential",this.interpolation.base]:["cubic-bezier"].concat(this.interpolation.controlPoints);for(var e=[this.operator,t,this.input.serialize()],r=0;r<this.labels.length;r++)e.push(this.labels[r],this.outputs[r].serialize());return e};var je=function(t,e){this.type=t,this.args=e};je.parse=function(t,e){if(t.length<2)return e.error("Expectected at least one argument.");var r=null,n=e.expectedType;n&&"value"!==n.kind&&(r=n);for(var a=[],i=0,o=t.slice(1);i<o.length;i+=1){var s=o[i],l=e.parse(s,1+a.length,r,void 0,{typeAnnotation:"omit"});if(!l)return null;r=r||l.type,a.push(l)}var c=n&&a.some(function(t){return Gt(n,t.type)});return new je(c?Nt:r,a)},je.prototype.evaluate=function(t){for(var e=null,r=0,n=this.args;r<n.length&&null===(e=n[r].evaluate(t));r+=1);return e},je.prototype.eachChild=function(t){this.args.forEach(t)},je.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.args.map(function(t){return t.possibleOutputs()}))},je.prototype.serialize=function(){var t=["coalesce"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Ve=function(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e};Ve.prototype.evaluate=function(t){return this.result.evaluate(t)},Ve.prototype.eachChild=function(t){for(var e=0,r=this.bindings;e<r.length;e+=1)t(r[e][1]);t(this.result)},Ve.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found "+(t.length-1)+" instead.");for(var r=[],n=1;n<t.length-1;n+=2){var a=t[n];if("string"!=typeof a)return e.error("Expected string, but found "+typeof a+" instead.",n);if(/[^a-zA-Z0-9_]/.test(a))return e.error("Variable names must contain only alphanumeric characters or '_'.",n);var i=e.parse(t[n+1],n+1);if(!i)return null;r.push([a,i])}var o=e.parse(t[t.length-1],t.length-1,e.expectedType,r);return o?new Ve(r,o):null},Ve.prototype.possibleOutputs=function(){return this.result.possibleOutputs()},Ve.prototype.serialize=function(){for(var t=["let"],e=0,r=this.bindings;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];t.push(a,i.serialize())}return t.push(this.result.serialize()),t};var Ue=function(t,e,r){this.type=t,this.index=e,this.input=r};Ue.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,It),n=e.parse(t[2],2,Ut(e.expectedType||Nt));if(!r||!n)return null;var a=n.type;return new Ue(a.itemType,r,n)},Ue.prototype.evaluate=function(t){var e=this.index.evaluate(t),r=this.input.evaluate(t);if(e<0)throw new ee("Array index out of bounds: "+e+" < 0.");if(e>=r.length)throw new ee("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new ee("Array index must be an integer, but found "+e+" instead.");return r[e]},Ue.prototype.eachChild=function(t){t(this.index),t(this.input)},Ue.prototype.possibleOutputs=function(){return[void 0]},Ue.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var qe=function(t,e,r,n,a,i){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=a,this.otherwise=i};qe.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var a={},i=[],o=2;o<t.length-1;o+=2){var s=t[o],l=t[o+1];Array.isArray(s)||(s=[s]);var c=e.concat(o);if(0===s.length)return c.error("Expected at least one branch label.");for(var u=0,h=s;u<h.length;u+=1){var f=h[u];if("number"!=typeof f&&"string"!=typeof f)return c.error("Branch labels must be numbers or strings.");if("number"==typeof f&&Math.abs(f)>Number.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,Qt(f)))return null}else r=Qt(f);if(void 0!==a[String(f)])return c.error("Branch labels must be unique.");a[String(f)]=i.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,i.push(p)}var d=e.parse(t[1],1,Nt);if(!d)return null;var g=e.parse(t[t.length-1],t.length-1,n);return g?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new qe(r,n,d,a,i,g):null},qe.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(Qt(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},qe.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},qe.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.outputs.map(function(t){return t.possibleOutputs()})).concat(this.otherwise.possibleOutputs())},qe.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},a=0,i=Object.keys(this.cases).sort();a<i.length;a+=1){var o=i[a];void 0===(h=n[this.cases[o]])?(n[this.cases[o]]=r.length,r.push([this.cases[o],[o]])):r[h][1].push(o)}for(var s=function(e){return"number"===t.inputType.kind?Number(e):e},l=0,c=r;l<c.length;l+=1){var u=c[l],h=u[0],f=u[1];1===f.length?e.push(s(f[0])):e.push(f.map(s)),e.push(this.outputs[outputIndex$1].serialize())}return e.push(this.otherwise.serialize()),e};var He=function(t,e,r){this.type=t,this.branches=e,this.otherwise=r};function Ge(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function Ye(t,e,r,n){return 0===n.compare(e,r)}function We(t,e,r){var n="=="!==t&&"!="!==t;return function(){function a(t,e,r){this.type=Rt,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}return a.parse=function(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");var r=t[0],i=e.parse(t[1],1,Nt);if(!i)return null;if(!Ge(r,i.type))return e.concat(1).error('"'+r+"\" comparisons are not supported for type '"+qt(i.type)+"'.");var o=e.parse(t[2],2,Nt);if(!o)return null;if(!Ge(r,o.type))return e.concat(2).error('"'+r+"\" comparisons are not supported for type '"+qt(o.type)+"'.");if(i.type.kind!==o.type.kind&&"value"!==i.type.kind&&"value"!==o.type.kind)return e.error("Cannot compare types '"+qt(i.type)+"' and '"+qt(o.type)+"'.");n&&("value"===i.type.kind&&"value"!==o.type.kind?i=new ne(o.type,[i]):"value"!==i.type.kind&&"value"===o.type.kind&&(o=new ne(i.type,[o])));var s=null;if(4===t.length){if("string"!==i.type.kind&&"string"!==o.type.kind&&"value"!==i.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(!(s=e.parse(t[3],3,jt)))return null}return new a(i,o,s)},a.prototype.evaluate=function(a){var i=this.lhs.evaluate(a),o=this.rhs.evaluate(a);if(n&&this.hasUntypedArgument){var s=Qt(i),l=Qt(o);if(s.kind!==l.kind||"string"!==s.kind&&"number"!==s.kind)throw new ee('Expected arguments for "'+t+'" to be (string, string) or (number, number), but found ('+s.kind+", "+l.kind+") instead.")}if(this.collator&&!n&&this.hasUntypedArgument){var c=Qt(i),u=Qt(o);if("string"!==c.kind||"string"!==u.kind)return e(a,i,o)}return this.collator?r(a,i,o,this.collator.evaluate(a)):e(a,i,o)},a.prototype.eachChild=function(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)},a.prototype.possibleOutputs=function(){return[!0,!1]},a.prototype.serialize=function(){var e=[t];return this.eachChild(function(t){e.push(t.serialize())}),e},a}()}He.parse=function(t,e){if(t.length<4)return e.error("Expected at least 3 arguments, but found only "+(t.length-1)+".");if(t.length%2!=0)return e.error("Expected an odd number of arguments.");var r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);for(var n=[],a=1;a<t.length-1;a+=2){var i=e.parse(t[a],a,Rt);if(!i)return null;var o=e.parse(t[a+1],a+1,r);if(!o)return null;n.push([i,o]),r=r||o.type}var s=e.parse(t[t.length-1],t.length-1,r);return s?new He(r,n,s):null},He.prototype.evaluate=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];if(a.evaluate(t))return i.evaluate(t)}return this.otherwise.evaluate(t)},He.prototype.eachChild=function(t){for(var e=0,r=this.branches;e<r.length;e+=1){var n=r[e],a=n[0],i=n[1];t(a),t(i)}t(this.otherwise)},He.prototype.possibleOutputs=function(){var t;return(t=[]).concat.apply(t,this.branches.map(function(t){return t[0],t[1].possibleOutputs()})).concat(this.otherwise.possibleOutputs())},He.prototype.serialize=function(){var t=["case"];return this.eachChild(function(e){t.push(e.serialize())}),t};var Xe=We("==",function(t,e,r){return e===r},Ye),Ze=We("!=",function(t,e,r){return e!==r},function(t,e,r,n){return!Ye(0,e,r,n)}),Je=We("<",function(t,e,r){return e<r},function(t,e,r,n){return n.compare(e,r)<0}),Ke=We(">",function(t,e,r){return e>r},function(t,e,r,n){return n.compare(e,r)>0}),Qe=We("<=",function(t,e,r){return e<=r},function(t,e,r,n){return n.compare(e,r)<=0}),$e=We(">=",function(t,e,r){return e>=r},function(t,e,r,n){return n.compare(e,r)>=0}),tr=function(t,e,r,n,a){this.type=Dt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=a};tr.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,It);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var a=null;if(n.locale&&!(a=e.parse(n.locale,1,Dt)))return null;var i=null;if(n.currency&&!(i=e.parse(n.currency,1,Dt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,It)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,It))?null:new tr(r,a,i,o,s)},tr.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},tr.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},tr.prototype.possibleOutputs=function(){return[void 0]},tr.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var er=function(t){this.type=It,this.input=t};er.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+qt(r.type)+" instead."):new er(r):null},er.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ee("Expected value to be of type string or array, but found "+qt(Qt(e))+" instead.")},er.prototype.eachChild=function(t){t(this.input)},er.prototype.possibleOutputs=function(){return[void 0]},er.prototype.serialize=function(){var t=["length"];return this.eachChild(function(e){t.push(e.serialize())}),t};var rr={"==":Xe,"!=":Ze,">":Ke,"<":Je,">=":$e,"<=":Qe,array:ne,at:Ue,boolean:ne,case:He,coalesce:je,collator:ue,format:ae,interpolate:Be,"interpolate-hcl":Be,"interpolate-lab":Be,length:er,let:Ve,literal:te,match:qe,number:ne,"number-format":tr,object:ne,step:me,string:ne,"to-boolean":oe,"to-color":oe,"to-number":oe,"to-string":oe,var:de};function nr(t,e){var r=e[0],n=e[1],a=e[2],i=e[3];r=r.evaluate(t),n=n.evaluate(t),a=a.evaluate(t);var o=i?i.evaluate(t):1,s=Kt(r,n,a,o);if(s)throw new ee(s);return new Wt(r/255*o,n/255*o,a/255*o,o)}function ar(t,e){return t in e}function ir(t,e){var r=e[t];return void 0===r?null:r}function or(t){return{type:t}}function sr(t){return{result:"success",value:t}}function lr(t){return{result:"error",value:t}}function cr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function ur(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function hr(t){return!!t.expression&&t.expression.interpolated}function fr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function pr(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function dr(t){return t}function gr(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function vr(t,e,r,n,a){return gr(typeof r===a?n[r]:void 0,t.default,e.default)}function mr(t,e,r){if("number"!==fr(r))return gr(t.default,e.default);var n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];var a=ve(t.stops.map(function(t){return t[0]}),r);return t.stops[a][1]}function yr(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==fr(r))return gr(t.default,e.default);var a=t.stops.length;if(1===a)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[a-1][0])return t.stops[a-1][1];var i=ve(t.stops.map(function(t){return t[0]}),r),o=function(t,e,r,n){var a=n-r,i=t-r;return 0===a?0:1===e?i/a:(Math.pow(e,i)-1)/(Math.pow(e,a)-1)}(r,n,t.stops[i][0],t.stops[i+1][0]),s=t.stops[i][1],l=t.stops[i+1][1],c=xe[e.type]||dr;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=Fe[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function xr(t,e,r){return"color"===e.type?r=Wt.parse(r):"formatted"===e.type?r=Jt.fromString(r.toString()):fr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),gr(r,t.default,e.default)}ce.register(rr,{error:[{kind:"error"},[Dt],function(t,e){var r=e[0];throw new ee(r.evaluate(t))}],typeof:[Dt,[Nt],function(t,e){return qt(Qt(e[0].evaluate(t)))}],"to-rgba":[Ut(It,4),[Ft],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Ft,[It,It,It],nr],rgba:[Ft,[It,It,It,It],nr],has:{type:Rt,overloads:[[[Dt],function(t,e){return ar(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ar(r.evaluate(t),n.evaluate(t))}]]},get:{type:Nt,overloads:[[[Dt],function(t,e){return ir(e[0].evaluate(t),t.properties())}],[[Dt,Bt],function(t,e){var r=e[0],n=e[1];return ir(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Nt,[Dt],function(t,e){return ir(e[0].evaluate(t),t.featureState||{})}],properties:[Bt,[],function(t){return t.properties()}],"geometry-type":[Dt,[],function(t){return t.geometryType()}],id:[Nt,[],function(t){return t.id()}],zoom:[It,[],function(t){return t.globals.zoom}],"heatmap-density":[It,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[It,[],function(t){return t.globals.lineProgress||0}],accumulated:[Nt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[It,or(It),function(t,e){for(var r=0,n=0,a=e;n<a.length;n+=1)r+=a[n].evaluate(t);return r}],"*":[It,or(It),function(t,e){for(var r=1,n=0,a=e;n<a.length;n+=1)r*=a[n].evaluate(t);return r}],"-":{type:It,overloads:[[[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)-n.evaluate(t)}],[[It],function(t,e){return-e[0].evaluate(t)}]]},"/":[It,[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)/n.evaluate(t)}],"%":[It,[It,It],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)%n.evaluate(t)}],ln2:[It,[],function(){return Math.LN2}],pi:[It,[],function(){return Math.PI}],e:[It,[],function(){return Math.E}],"^":[It,[It,It],function(t,e){var r=e[0],n=e[1];return Math.pow(r.evaluate(t),n.evaluate(t))}],sqrt:[It,[It],function(t,e){var r=e[0];return Math.sqrt(r.evaluate(t))}],log10:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN10}],ln:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))}],log2:[It,[It],function(t,e){var r=e[0];return Math.log(r.evaluate(t))/Math.LN2}],sin:[It,[It],function(t,e){var r=e[0];return Math.sin(r.evaluate(t))}],cos:[It,[It],function(t,e){var r=e[0];return Math.cos(r.evaluate(t))}],tan:[It,[It],function(t,e){var r=e[0];return Math.tan(r.evaluate(t))}],asin:[It,[It],function(t,e){var r=e[0];return Math.asin(r.evaluate(t))}],acos:[It,[It],function(t,e){var r=e[0];return Math.acos(r.evaluate(t))}],atan:[It,[It],function(t,e){var r=e[0];return Math.atan(r.evaluate(t))}],min:[It,or(It),function(t,e){return Math.min.apply(Math,e.map(function(e){return e.evaluate(t)}))}],max:[It,or(It),function(t,e){return Math.max.apply(Math,e.map(function(e){return e.evaluate(t)}))}],abs:[It,[It],function(t,e){var r=e[0];return Math.abs(r.evaluate(t))}],round:[It,[It],function(t,e){var r=e[0].evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[It,[It],function(t,e){var r=e[0];return Math.floor(r.evaluate(t))}],ceil:[It,[It],function(t,e){var r=e[0];return Math.ceil(r.evaluate(t))}],"filter-==":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1];return t.properties()[r.value]===n.value}],"filter-id-==":[Rt,[Nt],function(t,e){var r=e[0];return t.id()===r.value}],"filter-type-==":[Rt,[Dt],function(t,e){var r=e[0];return t.geometryType()===r.value}],"filter-<":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<i}],"filter-id-<":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<a}],"filter->":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>i}],"filter-id->":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>a}],"filter-<=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a<=i}],"filter-id-<=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n<=a}],"filter->=":[Rt,[Dt,Nt],function(t,e){var r=e[0],n=e[1],a=t.properties()[r.value],i=n.value;return typeof a==typeof i&&a>=i}],"filter-id->=":[Rt,[Nt],function(t,e){var r=e[0],n=t.id(),a=r.value;return typeof n==typeof a&&n>=a}],"filter-has":[Rt,[Nt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Rt,[],function(t){return null!==t.id()}],"filter-type-in":[Rt,[Ut(Dt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Rt,[Ut(Nt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Rt,[Dt,Ut(Nt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var a=r+n>>1;if(e[a]===t)return!0;e[a]>t?n=a-1:r=a+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Rt,overloads:[[[Rt,Rt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[or(Rt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(!n[r].evaluate(t))return!1;return!0}]]},any:{type:Rt,overloads:[[[Rt,Rt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)||n.evaluate(t)}],[or(Rt),function(t,e){for(var r=0,n=e;r<n.length;r+=1)if(n[r].evaluate(t))return!0;return!1}]]},"!":[Rt,[Rt],function(t,e){return!e[0].evaluate(t)}],"is-supported-script":[Rt,[Dt],function(t,e){var r=e[0],n=t.globals&&t.globals.isSupportedScript;return!n||n(r.evaluate(t))}],upcase:[Dt,[Dt],function(t,e){return e[0].evaluate(t).toUpperCase()}],downcase:[Dt,[Dt],function(t,e){return e[0].evaluate(t).toLowerCase()}],concat:[Dt,or(Nt),function(t,e){return e.map(function(e){return $t(e.evaluate(t))}).join("")}],"resolved-locale":[Dt,[jt],function(t,e){return e[0].evaluate(t).resolvedLocale()}]});var br=function(t,e){this.expression=t,this._warningHistory={},this._evaluator=new le,this._defaultValue=e?function(t){return"color"===t.type&&pr(t.default)?new Wt(0,0,0,0):"color"===t.type?Wt.parse(t.default)||null:void 0===t.default?null:t.default}(e):null,this._enumValues=e&&"enum"===e.type?e.values:null};function _r(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in rr}function wr(t,e){var r=new ge(rr,[],e?function(t){var e={color:Ft,string:Dt,number:It,enum:Dt,boolean:Rt,formatted:Vt};return"array"===t.type?Ut(e[t.value]||Nt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?sr(new br(n,e)):lr(r.errors)}br.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.formattedSection=n,this.expression.evaluate(this._evaluator)},br.prototype.evaluate=function(t,e,r,n){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.formattedSection=n||null;try{var a=this.expression.evaluate(this._evaluator);if(null==a)return this._defaultValue;if(this._enumValues&&!(a in this._enumValues))throw new ee("Expected value to be one of "+Object.keys(this._enumValues).map(function(t){return JSON.stringify(t)}).join(", ")+", but found "+JSON.stringify(a)+" instead.");return a}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var kr=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!fe(e.expression)};kr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n)},kr.prototype.evaluate=function(t,e,r,n){return this._styleExpression.evaluate(t,e,r,n)};var Tr=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!fe(e.expression),this.interpolationType=n};function Ar(t,e){if("error"===(t=wr(t,e)).result)return t;var r=t.value.expression,n=he(r);if(!n&&!cr(e))return lr([new Pt("","data expressions not supported")]);var a=pe(r,["zoom"]);if(!a&&!ur(e))return lr([new Pt("","zoom expressions not supported")]);var i=function t(e){var r=null;if(e instanceof Ve)r=t(e.result);else if(e instanceof je)for(var n=0,a=e.args;n<a.length;n+=1){var i=a[n];if(r=t(i))break}else(e instanceof me||e instanceof Be)&&e.input instanceof ce&&"zoom"===e.input.name&&(r=e);return r instanceof Pt?r:(e.eachChild(function(e){var n=t(e);n instanceof Pt?r=n:!r&&n?r=new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):r&&n&&r!==n&&(r=new Pt("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),r)}(r);if(!i&&!a)return lr([new Pt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(i instanceof Pt)return lr([i]);if(i instanceof Be&&!hr(e))return lr([new Pt("",'"interpolate" expressions cannot be used with this property')]);if(!i)return sr(new kr(n?"constant":"source",t.value));var o=i instanceof Be?i.interpolation:void 0;return sr(new Tr(n?"camera":"composite",t.value,i.labels,o))}Tr.prototype.evaluateWithoutErrorHandling=function(t,e,r,n){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n)},Tr.prototype.evaluate=function(t,e,r,n){return this._styleExpression.evaluate(t,e,r,n)},Tr.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?Be.interpolationFactor(this.interpolationType,t,e,r):0};var Mr=function(t,e){this._parameters=t,this._specification=e,St(this,function t(e,r){var n,a,i,o="color"===r.type,s=e.stops&&"object"==typeof e.stops[0][0],l=s||void 0!==e.property,c=s||!l,u=e.type||(hr(r)?"exponential":"interval");if(o&&((e=St({},e)).stops&&(e.stops=e.stops.map(function(t){return[t[0],Wt.parse(t[1])]})),e.default?e.default=Wt.parse(e.default):e.default=Wt.parse(r.default)),e.colorSpace&&"rgb"!==e.colorSpace&&!Fe[e.colorSpace])throw new Error("Unknown color space: "+e.colorSpace);if("exponential"===u)n=yr;else if("interval"===u)n=mr;else if("categorical"===u){n=vr,a=Object.create(null);for(var h=0,f=e.stops;h<f.length;h+=1){var p=f[h];a[p[0]]=p[1]}i=typeof e.stops[0][0]}else{if("identity"!==u)throw new Error('Unknown function type "'+u+'"');n=xr}if(s){for(var d={},g=[],v=0;v<e.stops.length;v++){var m=e.stops[v],y=m[0].zoom;void 0===d[y]&&(d[y]={zoom:y,type:e.type,property:e.property,default:e.default,stops:[]},g.push(y)),d[y].stops.push([m[0].value,m[1]])}for(var x=[],b=0,_=g;b<_.length;b+=1){var w=_[b];x.push([d[w].zoom,t(d[w],r)])}var k={name:"linear"};return{kind:"composite",interpolationType:k,interpolationFactor:Be.interpolationFactor.bind(void 0,k),zoomStops:x.map(function(t){return t[0]}),evaluate:function(t,n){var a=t.zoom;return yr({stops:x,base:e.base},r,a).evaluate(a,n)}}}if(c){var T="exponential"===u?{name:"exponential",base:void 0!==e.base?e.base:1}:null;return{kind:"camera",interpolationType:T,interpolationFactor:Be.interpolationFactor.bind(void 0,T),zoomStops:e.stops.map(function(t){return t[0]}),evaluate:function(t){var o=t.zoom;return n(e,r,o,a,i)}}}return{kind:"source",evaluate:function(t,o){var s=o&&o.properties?o.properties[e.property]:void 0;return void 0===s?gr(e.default,r.default):n(e,r,s,a,i)}}}(this._parameters,this._specification))};function Sr(t){var e=t.key,r=t.value,n=t.valueSpec||{},a=t.objectElementValidators||{},i=t.style,o=t.styleSpec,s=[],l=fr(r);if("object"!==l)return[new At(e,r,"object expected, "+l+" found")];for(var c in r){var u=c.split(".")[0],h=n[u]||n["*"],f=void 0;if(a[u])f=a[u];else if(n[u])f=Kr;else if(a["*"])f=a["*"];else{if(!n["*"]){s.push(new At(e,r[c],'unknown property "'+c+'"'));continue}f=Kr}s=s.concat(f({key:(e?e+".":e)+c,value:r[c],valueSpec:h,style:i,styleSpec:o,object:r,objectKey:c},r))}for(var p in n)a[p]||n[p].required&&void 0===n[p].default&&void 0===r[p]&&s.push(new At(e,r,'missing required property "'+p+'"'));return s}function Er(t){var e=t.value,r=t.valueSpec,n=t.style,a=t.styleSpec,i=t.key,o=t.arrayElementValidator||Kr;if("array"!==fr(e))return[new At(i,e,"array expected, "+fr(e)+" found")];if(r.length&&e.length!==r.length)return[new At(i,e,"array length "+r.length+" expected, length "+e.length+" found")];if(r["min-length"]&&e.length<r["min-length"])return[new At(i,e,"array length at least "+r["min-length"]+" expected, length "+e.length+" found")];var s={type:r.value,values:r.values};a.$version<7&&(s.function=r.function),"object"===fr(r.value)&&(s=r.value);for(var l=[],c=0;c<e.length;c++)l=l.concat(o({array:e,arrayIndex:c,value:e[c],valueSpec:s,style:n,styleSpec:a,key:i+"["+c+"]"}));return l}function Lr(t){var e=t.key,r=t.value,n=t.valueSpec,a=fr(r);return"number"!==a?[new At(e,r,"number expected, "+a+" found")]:"minimum"in n&&r<n.minimum?[new At(e,r,r+" is less than the minimum value "+n.minimum)]:"maximum"in n&&r>n.maximum?[new At(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function Cr(t){var e,r,n,a=t.valueSpec,i=Lt(t.value.type),o={},s="categorical"!==i&&void 0===t.value.property,l=!s,c="array"===fr(t.value.stops)&&"array"===fr(t.value.stops[0])&&"object"===fr(t.value.stops[0][0]),u=Sr({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===i)return[new At(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(Er({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===fr(r)&&0===r.length&&e.push(new At(t.key,r,"array must have at least one stop")),e},default:function(t){return Kr({key:t.key,value:t.value,valueSpec:a,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===i&&s&&u.push(new At(t.key,t.value,'missing required property "property"')),"identity"===i||t.value.stops||u.push(new At(t.key,t.value,'missing required property "stops"')),"exponential"===i&&t.valueSpec.expression&&!hr(t.valueSpec)&&u.push(new At(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!cr(t.valueSpec)?u.push(new At(t.key,t.value,"property functions not supported")):s&&!ur(t.valueSpec)&&u.push(new At(t.key,t.value,"zoom functions not supported"))),"categorical"!==i&&!c||void 0!==t.value.property||u.push(new At(t.key,t.value,'"property" property is required')),u;function h(t){var e=[],i=t.value,s=t.key;if("array"!==fr(i))return[new At(s,i,"array expected, "+fr(i)+" found")];if(2!==i.length)return[new At(s,i,"array length 2 expected, length "+i.length+" found")];if(c){if("object"!==fr(i[0]))return[new At(s,i,"object expected, "+fr(i[0])+" found")];if(void 0===i[0].zoom)return[new At(s,i,"object stop key must have zoom")];if(void 0===i[0].value)return[new At(s,i,"object stop key must have value")];if(n&&n>Lt(i[0].zoom))return[new At(s,i[0].zoom,"stop zoom values must appear in ascending order")];Lt(i[0].zoom)!==n&&(n=Lt(i[0].zoom),r=void 0,o={}),e=e.concat(Sr({key:s+"[0]",value:i[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Lr,value:f}}))}else e=e.concat(f({key:s+"[0]",value:i[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},i));return _r(Ct(i[1]))?e.concat([new At(s+"[1]",i[1],"expressions are not allowed in function stops.")]):e.concat(Kr({key:s+"[1]",value:i[1],valueSpec:a,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=fr(t.value),l=Lt(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new At(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new At(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==i){var u="number expected, "+s+" found";return cr(a)&&void 0===i&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new At(t.key,c,u)]}return"categorical"!==i||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==i&&"number"===s&&void 0!==r&&l<r?[new At(t.key,c,"stop domain values must appear in ascending order")]:(r=l,"categorical"===i&&l in o?[new At(t.key,c,"stop domain values must be unique")]:(o[l]=!0,[])):[new At(t.key,c,"integer expected, found "+l)]}}function Pr(t){var e=("property"===t.expressionContext?Ar:wr)(Ct(t.value),t.valueSpec);if("error"===e.result)return e.value.map(function(e){return new At(""+t.key+e.key,t.value,e.message)});var r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&-1!==r.possibleOutputs().indexOf(void 0))return[new At(t.key,t.value,'Invalid data expression for "'+t.propertyKey+'". Output values must be contained as literals within the expression.')];if("property"===t.expressionContext&&"layout"===t.propertyType&&!fe(r))return[new At(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!fe(r))return[new At(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!pe(r,["zoom","feature-state"]))return[new At(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!he(r))return[new At(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Or(t){var e=t.key,r=t.value,n=t.valueSpec,a=[];return Array.isArray(n.values)?-1===n.values.indexOf(Lt(r))&&a.push(new At(e,r,"expected one of ["+n.values.join(", ")+"], "+JSON.stringify(r)+" found")):-1===Object.keys(n.values).indexOf(Lt(r))&&a.push(new At(e,r,"expected one of ["+Object.keys(n.values).join(", ")+"], "+JSON.stringify(r)+" found")),a}function zr(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);e<r.length;e+=1){var n=r[e];if(!zr(n)&&"boolean"!=typeof n)return!1}return!0;default:return!0}}Mr.deserialize=function(t){return new Mr(t._parameters,t._specification)},Mr.serialize=function(t){return{_parameters:t._parameters,_specification:t._specification}};var Ir={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function Dr(t){if(null==t)return function(){return!0};zr(t)||(t=Fr(t));var e=wr(t,Ir);if("error"===e.result)throw new Error(e.value.map(function(t){return t.key+": "+t.message}).join(", "));return function(t,r){return e.value.evaluate(t,r)}}function Rr(t,e){return t<e?-1:t>e?1:0}function Fr(t){if(!t)return!0;var e,r=t[0];return t.length<=1?"any"!==r:"=="===r?Br(t[1],t[2],"=="):"!="===r?Vr(Br(t[1],t[2],"==")):"<"===r||">"===r||"<="===r||">="===r?Br(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(Fr))):"all"===r?["all"].concat(t.slice(1).map(Fr)):"none"===r?["all"].concat(t.slice(1).map(Fr).map(Vr)):"in"===r?Nr(t[1],t.slice(2)):"!in"===r?Vr(Nr(t[1],t.slice(2))):"has"===r?jr(t[1]):"!has"!==r||Vr(jr(t[1]))}function Br(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Nr(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(function(t){return typeof t!=typeof e[0]})?["filter-in-large",t,["literal",e.sort(Rr)]]:["filter-in-small",t,["literal",e]]}}function jr(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Vr(t){return["!",t]}function Ur(t){return zr(Ct(t.value))?Pr(St({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):function t(e){var r=e.value,n=e.key;if("array"!==fr(r))return[new At(n,r,"array expected, "+fr(r)+" found")];var a,i=e.styleSpec,o=[];if(r.length<1)return[new At(n,r,"filter array must have at least 1 element")];switch(o=o.concat(Or({key:n+"[0]",value:r[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Lt(r[0])){case"<":case"<=":case">":case">=":r.length>=2&&"$type"===Lt(r[1])&&o.push(new At(n,r,'"$type" cannot be use with operator "'+r[0]+'"'));case"==":case"!=":3!==r.length&&o.push(new At(n,r,'filter array for operator "'+r[0]+'" must have 3 elements'));case"in":case"!in":r.length>=2&&"string"!==(a=fr(r[1]))&&o.push(new At(n+"[1]",r[1],"string expected, "+a+" found"));for(var s=2;s<r.length;s++)a=fr(r[s]),"$type"===Lt(r[1])?o=o.concat(Or({key:n+"["+s+"]",value:r[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):"string"!==a&&"number"!==a&&"boolean"!==a&&o.push(new At(n+"["+s+"]",r[s],"string, number, or boolean expected, "+a+" found"));break;case"any":case"all":case"none":for(var l=1;l<r.length;l++)o=o.concat(t({key:n+"["+l+"]",value:r[l],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":a=fr(r[1]),2!==r.length?o.push(new At(n,r,'filter array for "'+r[0]+'" operator must have 2 elements')):"string"!==a&&o.push(new At(n+"[1]",r[1],"string expected, "+a+" found"))}return o}(t)}function qr(t,e){var r=t.key,n=t.style,a=t.styleSpec,i=t.value,o=t.objectKey,s=a[e+"_"+t.layerType];if(!s)return[];var l=o.match(/^(.*)-transition$/);if("paint"===e&&l&&s[l[1]]&&s[l[1]].transition)return Kr({key:r,value:i,valueSpec:a.transition,style:n,styleSpec:a});var c,u=t.valueSpec||s[o];if(!u)return[new At(r,i,'unknown property "'+o+'"')];if("string"===fr(i)&&cr(u)&&!u.tokens&&(c=/^{([^}]+)}$/.exec(i)))return[new At(r,i,'"'+o+'" does not support interpolation syntax\nUse an identity property function instead: `{ "type": "identity", "property": '+JSON.stringify(c[1])+" }`.")];var h=[];return"symbol"===t.layerType&&("text-field"===o&&n&&!n.glyphs&&h.push(new At(r,i,'use of "text-field" requires a style "glyphs" property')),"text-font"===o&&pr(Ct(i))&&"identity"===Lt(i.type)&&h.push(new At(r,i,'"text-font" does not support identity functions'))),h.concat(Kr({key:t.key,value:i,valueSpec:u,style:n,styleSpec:a,expressionContext:"property",propertyType:e,propertyKey:o}))}function Hr(t){return qr(t,"paint")}function Gr(t){return qr(t,"layout")}function Yr(t){var e=[],r=t.value,n=t.key,a=t.style,i=t.styleSpec;r.type||r.ref||e.push(new At(n,r,'either "type" or "ref" is required'));var o,s=Lt(r.type),l=Lt(r.ref);if(r.id)for(var c=Lt(r.id),u=0;u<t.arrayIndex;u++){var h=a.layers[u];Lt(h.id)===c&&e.push(new At(n,r.id,'duplicate layer id "'+r.id+'", previously used at line '+h.id.__line__))}if("ref"in r)["type","source","source-layer","filter","layout"].forEach(function(t){t in r&&e.push(new At(n,r[t],'"'+t+'" is prohibited for ref layers'))}),a.layers.forEach(function(t){Lt(t.id)===l&&(o=t)}),o?o.ref?e.push(new At(n,r.ref,"ref cannot reference another ref layer")):s=Lt(o.type):e.push(new At(n,r.ref,'ref layer "'+l+'" not found'));else if("background"!==s)if(r.source){var f=a.sources&&a.sources[r.source],p=f&&Lt(f.type);f?"vector"===p&&"raster"===s?e.push(new At(n,r.source,'layer "'+r.id+'" requires a raster source')):"raster"===p&&"raster"!==s?e.push(new At(n,r.source,'layer "'+r.id+'" requires a vector source')):"vector"!==p||r["source-layer"]?"raster-dem"===p&&"hillshade"!==s?e.push(new At(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==s||!r.paint||!r.paint["line-gradient"]||"geojson"===p&&f.lineMetrics||e.push(new At(n,r,'layer "'+r.id+'" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.')):e.push(new At(n,r,'layer "'+r.id+'" must specify a "source-layer"')):e.push(new At(n,r.source,'source "'+r.source+'" not found'))}else e.push(new At(n,r,'missing required property "source"'));return e=e.concat(Sr({key:n,value:r,valueSpec:i.layer,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(){return[]},type:function(){return Kr({key:n+".type",value:r.type,valueSpec:i.layer.type,style:t.style,styleSpec:t.styleSpec,object:r,objectKey:"type"})},filter:Ur,layout:function(t){return Sr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Gr(St({layerType:s},t))}}})},paint:function(t){return Sr({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{"*":function(t){return Hr(St({layerType:s},t))}}})}}}))}function Wr(t){var e=t.value,r=t.key,n=t.styleSpec,a=t.style;if(!e.type)return[new At(r,e,'"type" is required')];var i,o=Lt(e.type);switch(o){case"vector":case"raster":case"raster-dem":return Sr({key:r,value:e,valueSpec:n["source_"+o.replace("-","_")],style:t.style,styleSpec:n});case"geojson":if(i=Sr({key:r,value:e,valueSpec:n.source_geojson,style:a,styleSpec:n}),e.cluster)for(var s in e.clusterProperties){var l=e.clusterProperties[s],c=l[0],u=l[1],h="string"==typeof c?[c,["accumulated"],["get",s]]:c;i.push.apply(i,Pr({key:r+"."+s+".map",value:u,expressionContext:"cluster-map"})),i.push.apply(i,Pr({key:r+"."+s+".reduce",value:h,expressionContext:"cluster-reduce"}))}return i;case"video":return Sr({key:r,value:e,valueSpec:n.source_video,style:a,styleSpec:n});case"image":return Sr({key:r,value:e,valueSpec:n.source_image,style:a,styleSpec:n});case"canvas":return[new At(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Or({key:r+".type",value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:a,styleSpec:n})}}function Xr(t){var e=t.value,r=t.styleSpec,n=r.light,a=t.style,i=[],o=fr(e);if(void 0===e)return i;if("object"!==o)return i.concat([new At("light",e,"object expected, "+o+" found")]);for(var s in e){var l=s.match(/^(.*)-transition$/);i=l&&n[l[1]]&&n[l[1]].transition?i.concat(Kr({key:s,value:e[s],valueSpec:r.transition,style:a,styleSpec:r})):n[s]?i.concat(Kr({key:s,value:e[s],valueSpec:n[s],style:a,styleSpec:r})):i.concat([new At(s,e[s],'unknown property "'+s+'"')])}return i}function Zr(t){var e=t.value,r=t.key,n=fr(e);return"string"!==n?[new At(r,e,"string expected, "+n+" found")]:[]}var Jr={"*":function(){return[]},array:Er,boolean:function(t){var e=t.value,r=t.key,n=fr(e);return"boolean"!==n?[new At(r,e,"boolean expected, "+n+" found")]:[]},number:Lr,color:function(t){var e=t.key,r=t.value,n=fr(r);return"string"!==n?[new At(e,r,"color expected, "+n+" found")]:null===Yt(r)?[new At(e,r,'color expected, "'+r+'" found')]:[]},constants:Mt,enum:Or,filter:Ur,function:Cr,layer:Yr,object:Sr,source:Wr,light:Xr,string:Zr,formatted:function(t){return 0===Zr(t).length?[]:Pr(t)}};function Kr(t){var e=t.value,r=t.valueSpec,n=t.styleSpec;return r.expression&&pr(Lt(e))?Cr(t):r.expression&&_r(Ct(e))?Pr(t):r.type&&Jr[r.type]?Jr[r.type](t):Sr(St({},t,{valueSpec:r.type?n[r.type]:r}))}function Qr(t){var e=t.value,r=t.key,n=Zr(t);return n.length?n:(-1===e.indexOf("{fontstack}")&&n.push(new At(r,e,'"glyphs" url must include a "{fontstack}" token')),-1===e.indexOf("{range}")&&n.push(new At(r,e,'"glyphs" url must include a "{range}" token')),n)}function $r(t,e){e=e||Tt;var r=[];return r=r.concat(Kr({key:"",value:t,valueSpec:e.$root,styleSpec:e,style:t,objectElementValidators:{glyphs:Qr,"*":function(){return[]}}})),t.constants&&(r=r.concat(Mt({key:"constants",value:t.constants,style:t,styleSpec:e}))),tn(r)}function tn(t){return[].concat(t).sort(function(t,e){return t.line-e.line})}function en(t){return function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];return tn(t.apply(this,e))}}$r.source=en(Wr),$r.light=en(Xr),$r.layer=en(Yr),$r.filter=en(Ur),$r.paintProperty=en(Hr),$r.layoutProperty=en(Gr);var rn=$r,nn=rn.light,an=rn.paintProperty,on=rn.layoutProperty;function sn(t,e){var r=!1;if(e&&e.length)for(var n=0,a=e;n<a.length;n+=1){var i=a[n];t.fire(new wt(new Error(i.message))),r=!0}return r}var ln=un,cn=3;function un(t,e,r){var n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;var a=new Int32Array(this.arrayBuffer);t=a[0],e=a[1],r=a[2],this.d=e+2*r;for(var i=0;i<this.d*this.d;i++){var o=a[cn+i],s=a[cn+i+1];n.push(o===s?null:a.subarray(o,s))}var l=a[cn+n.length],c=a[cn+n.length+1];this.keys=a.subarray(l,c),this.bboxes=a.subarray(c),this.insert=this._insertReadonly}else{this.d=e+2*r;for(var u=0;u<this.d*this.d;u++)n.push([]);this.keys=[],this.bboxes=[]}this.n=e,this.extent=t,this.padding=r,this.scale=e/t,this.uid=0;var h=r/e*t;this.min=-h,this.max=t+h}un.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertCell,this.uid++),this.keys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},un.prototype._insertReadonly=function(){throw"Cannot insert into a GridIndex created from an ArrayBuffer."},un.prototype._insertCell=function(t,e,r,n,a,i){this.cells[a].push(i)},un.prototype.query=function(t,e,r,n,a){var i=this.min,o=this.max;if(t<=i&&e<=i&&o<=r&&o<=n&&!a)return Array.prototype.slice.call(this.keys);var s=[];return this._forEachCell(t,e,r,n,this._queryCell,s,{},a),s},un.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=this.cells[a];if(null!==l)for(var c=this.keys,u=this.bboxes,h=0;h<l.length;h++){var f=l[h];if(void 0===o[f]){var p=4*f;(s?s(u[p+0],u[p+1],u[p+2],u[p+3]):t<=u[p+2]&&e<=u[p+3]&&r>=u[p+0]&&n>=u[p+1])?(o[f]=!0,i.push(c[f])):o[f]=!1}}},un.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&a.call(this,t,e,r,n,d,i,o,s))return}},un.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},un.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},un.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=cn+this.cells.length+1+1,r=0,n=0;n<this.cells.length;n++)r+=this.cells[n].length;var a=new Int32Array(e+r+this.keys.length+this.bboxes.length);a[0]=this.extent,a[1]=this.n,a[2]=this.padding;for(var i=e,o=0;o<t.length;o++){var s=t[o];a[cn+o]=i,a.set(s,i),i+=s.length}return a[cn+t.length]=i,a.set(this.keys,i),i+=this.keys.length,a[cn+t.length+1]=i,a.set(this.bboxes,i),i+=this.bboxes.length,a.buffer};var hn=self.ImageData,fn={};function pn(t,e,r){void 0===r&&(r={}),Object.defineProperty(e,"_classRegistryKey",{value:t,writeable:!1}),fn[t]={klass:e,omit:r.omit||[],shallow:r.shallow||[]}}for(var dn in pn("Object",Object),ln.serialize=function(t,e){var r=t.toArrayBuffer();return e&&e.push(r),{buffer:r}},ln.deserialize=function(t){return new ln(t.buffer)},pn("Grid",ln),pn("Color",Wt),pn("Error",Error),pn("StylePropertyFunction",Mr),pn("StyleExpression",br,{omit:["_evaluator"]}),pn("ZoomDependentExpression",Tr),pn("ZoomConstantExpression",kr),pn("CompoundExpression",ce,{omit:["_evaluate"]}),rr)rr[dn]._classRegistryKey||pn("Expression_"+dn,rr[dn]);function gn(t,e){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp)return t;if(t instanceof ArrayBuffer)return e&&e.push(t),t;if(ArrayBuffer.isView(t)){var r=t;return e&&e.push(r.buffer),r}if(t instanceof hn)return e&&e.push(t.data.buffer),t;if(Array.isArray(t)){for(var n=[],a=0,i=t;a<i.length;a+=1){var o=i[a];n.push(gn(o,e))}return n}if("object"==typeof t){var s=t.constructor,l=s._classRegistryKey;if(!l)throw new Error("can't serialize object of unregistered class");var c=s.serialize?s.serialize(t,e):{};if(!s.serialize){for(var u in t)if(t.hasOwnProperty(u)&&!(fn[l].omit.indexOf(u)>=0)){var h=t[u];c[u]=fn[l].shallow.indexOf(u)>=0?h:gn(h,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof t)}function vn(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof ArrayBuffer||ArrayBuffer.isView(t)||t instanceof hn)return t;if(Array.isArray(t))return t.map(vn);if("object"==typeof t){var e=t.$name||"Object",r=fn[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),a=0,i=Object.keys(t);a<i.length;a+=1){var o=i[a];if("$name"!==o){var s=t[o];n[o]=fn[e].shallow.indexOf(o)>=0?s:vn(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var mn=function(){this.first=!0};mn.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom<r&&(this.lastIntegerZoom=r,this.lastIntegerZoomTime=e),t!==this.lastZoom&&(this.lastZoom=t,this.lastFloorZoom=r,!0))};var yn={"Latin-1 Supplement":function(t){return t>=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function xn(t){for(var e=0,r=t;e<r.length;e+=1)if(_n(r[e].charCodeAt(0)))return!0;return!1}function bn(t){return!(yn.Arabic(t)||yn["Arabic Supplement"](t)||yn["Arabic Extended-A"](t)||yn["Arabic Presentation Forms-A"](t)||yn["Arabic Presentation Forms-B"](t))}function _n(t){return!!(746===t||747===t||!(t<4352)&&(yn["Bopomofo Extended"](t)||yn.Bopomofo(t)||yn["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||yn["CJK Compatibility Ideographs"](t)||yn["CJK Compatibility"](t)||yn["CJK Radicals Supplement"](t)||yn["CJK Strokes"](t)||!(!yn["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||yn["CJK Unified Ideographs Extension A"](t)||yn["CJK Unified Ideographs"](t)||yn["Enclosed CJK Letters and Months"](t)||yn["Hangul Compatibility Jamo"](t)||yn["Hangul Jamo Extended-A"](t)||yn["Hangul Jamo Extended-B"](t)||yn["Hangul Jamo"](t)||yn["Hangul Syllables"](t)||yn.Hiragana(t)||yn["Ideographic Description Characters"](t)||yn.Kanbun(t)||yn["Kangxi Radicals"](t)||yn["Katakana Phonetic Extensions"](t)||yn.Katakana(t)&&12540!==t||!(!yn["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!yn["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||yn["Unified Canadian Aboriginal Syllabics"](t)||yn["Unified Canadian Aboriginal Syllabics Extended"](t)||yn["Vertical Forms"](t)||yn["Yijing Hexagram Symbols"](t)||yn["Yi Syllables"](t)||yn["Yi Radicals"](t)))}function wn(t){return!(_n(t)||function(t){return!!(yn["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||yn["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||yn["Letterlike Symbols"](t)||yn["Number Forms"](t)||yn["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||yn["Control Pictures"](t)&&9251!==t||yn["Optical Character Recognition"](t)||yn["Enclosed Alphanumerics"](t)||yn["Geometric Shapes"](t)||yn["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||yn["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||yn["CJK Symbols and Punctuation"](t)||yn.Katakana(t)||yn["Private Use Area"](t)||yn["CJK Compatibility Forms"](t)||yn["Small Form Variants"](t)||yn["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function kn(t,e){return!(!e&&(t>=1424&&t<=2303||yn["Arabic Presentation Forms-A"](t)||yn["Arabic Presentation Forms-B"](t))||t>=2304&&t<=3583||t>=3840&&t<=4255||yn.Khmer(t))}var Tn,An=!1,Mn=null,Sn=!1,En=new kt,Ln={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Sn||null!=Ln.applyArabicShaping}},Cn=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new mn,this.transition={})};Cn.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;r<n.length;r+=1)if(!kn(n[r].charCodeAt(0),e))return!1;return!0}(t,Ln.isLoaded())},Cn.prototype.crossFadingFactor=function(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)},Cn.prototype.getCrossfadeParameters=function(){var t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Pn=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(pr(t))return new Mr(t,e);if(_r(t)){var r=Ar(t,e);if("error"===r.result)throw new Error(r.value.map(function(t){return t.key+": "+t.message}).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=Wt.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Pn.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Pn.prototype.possiblyEvaluate=function(t){return this.property.possiblyEvaluate(this,t)};var On=function(t){this.property=t,this.value=new Pn(t,void 0)};On.prototype.transitioned=function(t,e){return new In(this.property,this.value,e,h({},t.transition,this.transition),t.now)},On.prototype.untransitioned=function(){return new In(this.property,this.value,null,{},0)};var zn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};zn.prototype.getValue=function(t){return b(this._values[t].value.value)},zn.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].value=new Pn(this._values[t].property,null===e?void 0:b(e))},zn.prototype.getTransition=function(t){return b(this._values[t].transition)},zn.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new On(this._values[t].property)),this._values[t].transition=b(e)||void 0},zn.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a);var i=this.getTransition(n);void 0!==i&&(t[n+"-transition"]=i)}return t},zn.prototype.transitioned=function(t,e){for(var r=new Dn(this._properties),n=0,a=Object.keys(this._values);n<a.length;n+=1){var i=a[n];r._values[i]=this._values[i].transitioned(t,e._values[i])}return r},zn.prototype.untransitioned=function(){for(var t=new Dn(this._properties),e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e];t._values[n]=this._values[n].untransitioned()}return t};var In=function(t,e,r,n,a){this.property=t,this.value=e,this.begin=a+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)};In.prototype.possiblyEvaluate=function(t){var e=t.now||0,r=this.value.possiblyEvaluate(t),n=this.prior;if(n){if(e>this.end)return this.prior=null,r;if(this.value.isDataDriven())return this.prior=null,r;if(e<this.begin)return n.possiblyEvaluate(t);var a=(e-this.begin)/(this.end-this.begin);return this.property.interpolate(n.possiblyEvaluate(t),r,function(t){if(a<=0)return 0;if(a>=1)return 1;var e=a*a,r=e*a;return 4*(a<.5?r:3*(a-e)+r-.75)}())}return r};var Dn=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Dn.prototype.possiblyEvaluate=function(t){for(var e=new Bn(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var a=n[r];e._values[a]=this._values[a].possiblyEvaluate(t)}return e},Dn.prototype.hasTransition=function(){for(var t=0,e=Object.keys(this._values);t<e.length;t+=1){var r=e[t];if(this._values[r].prior)return!0}return!1};var Rn=function(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)};Rn.prototype.getValue=function(t){return b(this._values[t].value)},Rn.prototype.setValue=function(t,e){this._values[t]=new Pn(this._values[t].property,null===e?void 0:b(e))},Rn.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);e<r.length;e+=1){var n=r[e],a=this.getValue(n);void 0!==a&&(t[n]=a)}return t},Rn.prototype.possiblyEvaluate=function(t){for(var e=new Bn(this._properties),r=0,n=Object.keys(this._values);r<n.length;r+=1){var a=n[r];e._values[a]=this._values[a].possiblyEvaluate(t)}return e};var Fn=function(t,e,r){this.property=t,this.value=e,this.parameters=r};Fn.prototype.isConstant=function(){return"constant"===this.value.kind},Fn.prototype.constantOr=function(t){return"constant"===this.value.kind?this.value.value:t},Fn.prototype.evaluate=function(t,e){return this.property.evaluate(this.value,this.parameters,t,e)};var Bn=function(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)};Bn.prototype.get=function(t){return this._values[t]};var Nn=function(t){this.specification=t};Nn.prototype.possiblyEvaluate=function(t,e){return t.expression.evaluate(e)},Nn.prototype.interpolate=function(t,e,r){var n=xe[this.specification.type];return n?n(t,e,r):t};var jn=function(t,e){this.specification=t,this.overrides=e};jn.prototype.possiblyEvaluate=function(t,e){return"constant"===t.expression.kind||"camera"===t.expression.kind?new Fn(this,{kind:"constant",value:t.expression.evaluate(e)},e):new Fn(this,t.expression,e)},jn.prototype.interpolate=function(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Fn(this,{kind:"constant",value:void 0},t.parameters);var n=xe[this.specification.type];return n?new Fn(this,{kind:"constant",value:n(t.value.value,e.value.value,r)},t.parameters):t},jn.prototype.evaluate=function(t,e,r,n){return"constant"===t.kind?t.value:t.evaluate(e,r,n)};var Vn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(t,e){if(void 0===t.value)return new Fn(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){var r=t.expression.evaluate(e),n=this._calculate(r,r,r,e);return new Fn(this,{kind:"constant",value:n},e)}if("camera"===t.expression.kind){var a=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Fn(this,{kind:"constant",value:a},e)}return new Fn(this,t.expression,e)},e.prototype.evaluate=function(t,e,r,n){if("source"===t.kind){var a=t.evaluate(e,r,n);return this._calculate(a,a,a,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value},e.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(jn),Un=function(t){this.specification=t};Un.prototype.possiblyEvaluate=function(t,e){if(void 0!==t.value){if("constant"===t.expression.kind){var r=t.expression.evaluate(e);return this._calculate(r,r,r,e)}return this._calculate(t.expression.evaluate(new Cn(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom),e)),t.expression.evaluate(new Cn(Math.floor(e.zoom+1),e)),e)}},Un.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Un.prototype.interpolate=function(t){return t};var qn=function(t){this.specification=t};qn.prototype.possiblyEvaluate=function(t,e){return!!t.expression.evaluate(e)},qn.prototype.interpolate=function(){return!1};var Hn=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Pn(r,void 0),a=this.defaultTransitionablePropertyValues[e]=new On(r);this.defaultTransitioningPropertyValues[e]=a.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};pn("DataDrivenProperty",jn),pn("DataConstantProperty",Nn),pn("CrossFadedDataDrivenProperty",Vn),pn("CrossFadedProperty",Un),pn("ColorRampProperty",qn);var Gn=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter=function(){return!0},"custom"!==e.type&&(e=e,this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new Rn(r.layout)),r.paint)){for(var n in this._transitionablePaint=new zn(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var a in e.layout)this.setLayoutProperty(a,e.layout[a],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned()}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(on,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return m(t,"-transition")?this._transitionablePaint.getTransition(t.slice(0,-"-transition".length)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(an,n,t,e,r))return!1}if(m(t,"-transition"))return this._transitionablePaint.setTransition(t.slice(0,-"-transition".length),e||void 0),!1;var a=this._transitionablePaint._values[t],i="cross-faded-data-driven"===a.property.specification["property-type"],o=a.value.isDataDriven(),s=a.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||i||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t<this.minzoom)||!!(this.maxzoom&&t>=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t)),this.paint=this._transitioningPaint.possiblyEvaluate(t)},e.prototype.serialize=function(){var t={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&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),x(t,function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)})},e.prototype._validate=function(t,e,r,n,a){return void 0===a&&(a={}),(!a||!1!==a.validate)&&sn(this,t.call(rn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Tt,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Fn&&cr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(kt),Yn={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Wn=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Xn=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function Zn(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map(function(t){var a,i=(a=t.type,Yn[a].BYTES_PER_ELEMENT),o=r=Jn(r,Math.max(e,i)),s=t.components||1;return n=Math.max(n,i),r+=i*s,{name:t.name,type:t.type,components:s,offset:o}}),size:Jn(r,Math.max(n,e)),alignment:e}}function Jn(t,e){return Math.ceil(t/e)*e}Xn.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Xn.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Xn.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Xn.prototype.clear=function(){this.length=0},Xn.prototype.resize=function(t){this.reserve(t),this.length=t},Xn.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Xn.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var Kn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Xn);Kn.prototype.bytesPerElement=4,pn("StructArrayLayout2i4",Kn);var Qn=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,this.int16[i+3]=a,t},e}(Xn);Qn.prototype.bytesPerElement=8,pn("StructArrayLayout4i8",Qn);var $n=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);$n.prototype.bytesPerElement=12,pn("StructArrayLayout2i4i12",$n);var ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=a,this.uint8[l+6]=i,this.uint8[l+7]=o,t},e}(Xn);ta.prototype.bytesPerElement=8,pn("StructArrayLayout2i4ub8",ta);var ea=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.uint16[c+0]=e,this.uint16[c+1]=r,this.uint16[c+2]=n,this.uint16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ea.prototype.bytesPerElement=16,pn("StructArrayLayout8ui16",ea);var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s){var l=this.length;return this.resize(l+1),this.emplace(l,t,e,r,n,a,i,o,s)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l){var c=8*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=a,this.uint16[c+4]=i,this.uint16[c+5]=o,this.uint16[c+6]=s,this.uint16[c+7]=l,t},e}(Xn);ra.prototype.bytesPerElement=16,pn("StructArrayLayout4i4ui16",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t},e}(Xn);na.prototype.bytesPerElement=12,pn("StructArrayLayout3f12",na);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Xn);aa.prototype.bytesPerElement=4,pn("StructArrayLayout1ul4",aa);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,a,i,o,s,l,c,u)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h){var f=12*t,p=6*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=a,this.int16[f+4]=i,this.int16[f+5]=o,this.uint32[p+3]=s,this.uint16[f+8]=l,this.uint16[f+9]=c,this.int16[f+10]=u,this.int16[f+11]=h,t},e}(Xn);ia.prototype.bytesPerElement=24,pn("StructArrayLayout6i1ul2ui2i24",ia);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,a,i){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,a,i)},e.prototype.emplace=function(t,e,r,n,a,i,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=a,this.int16[s+4]=i,this.int16[s+5]=o,t},e}(Xn);oa.prototype.bytesPerElement=12,pn("StructArrayLayout2i2i2i12",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=12*t,o=3*t;return this.uint8[i+0]=e,this.uint8[i+1]=r,this.float32[o+1]=n,this.float32[o+2]=a,t},e}(Xn);sa.prototype.bytesPerElement=12,pn("StructArrayLayout2ub2f12",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){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)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v=this.length;return this.resize(v+1),this.emplace(v,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v){var m=22*t,y=11*t,x=44*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=a,this.uint32[y+2]=i,this.uint32[y+3]=o,this.uint32[y+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=c,this.uint16[m+12]=u,this.float32[y+7]=h,this.float32[y+8]=f,this.uint8[x+36]=p,this.uint8[x+37]=d,this.uint8[x+38]=g,this.uint32[y+10]=v,t},e}(Xn);la.prototype.bytesPerElement=44,pn("StructArrayLayout2i2ui3ul3ui2f3ub1ul44",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){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)},e.prototype.emplaceBack=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x){var b=this.length;return this.resize(b+1),this.emplace(b,t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x)},e.prototype.emplace=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b){var _=24*t,w=12*t;return this.int16[_+0]=e,this.int16[_+1]=r,this.int16[_+2]=n,this.int16[_+3]=a,this.int16[_+4]=i,this.int16[_+5]=o,this.uint16[_+6]=s,this.uint16[_+7]=l,this.uint16[_+8]=c,this.uint16[_+9]=u,this.uint16[_+10]=h,this.uint16[_+11]=f,this.uint16[_+12]=p,this.uint16[_+13]=d,this.uint16[_+14]=g,this.uint16[_+15]=v,this.uint16[_+16]=m,this.uint32[w+9]=y,this.float32[w+10]=x,this.float32[w+11]=b,t},e}(Xn);ca.prototype.bytesPerElement=48,pn("StructArrayLayout6i11ui1ul2f48",ca);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Xn);ua.prototype.bytesPerElement=4,pn("StructArrayLayout1f4",ua);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,t},e}(Xn);ha.prototype.bytesPerElement=6,pn("StructArrayLayout3i6",ha);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=2*t,i=4*t;return this.uint32[a+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t},e}(Xn);fa.prototype.bytesPerElement=8,pn("StructArrayLayout1ul2ui8",fa);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var a=3*t;return this.uint16[a+0]=e,this.uint16[a+1]=r,this.uint16[a+2]=n,t},e}(Xn);pa.prototype.bytesPerElement=6,pn("StructArrayLayout3ui6",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Xn);da.prototype.bytesPerElement=4,pn("StructArrayLayout2ui4",da);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Xn);ga.prototype.bytesPerElement=2,pn("StructArrayLayout1ui2",ga);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Xn);va.prototype.bytesPerElement=8,pn("StructArrayLayout2f8",va);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,a){var i=4*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,this.float32[i+3]=a,t},e}(Xn);ma.prototype.bytesPerElement=16,pn("StructArrayLayout4f16",ma);var ya=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},radius:{configurable:!0},signedDistanceFromAnchor:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorPointY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.x1.set=function(t){this._structArray.int16[this._pos2+2]=t},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.y1.set=function(t){this._structArray.int16[this._pos2+3]=t},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.x2.set=function(t){this._structArray.int16[this._pos2+4]=t},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.y2.set=function(t){this._structArray.int16[this._pos2+5]=t},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.radius.get=function(){return this._structArray.int16[this._pos2+10]},r.radius.set=function(t){this._structArray.int16[this._pos2+10]=t},r.signedDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+11]},r.signedDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+11]=t},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Wn);ya.prototype.size=24;var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ya(this,t)},e}(ia);pn("CollisionBoxArray",xa);var ba=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.glyphStartIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.numGlyphs.set=function(t){this._structArray.uint16[this._pos2+3]=t},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.vertexStartIndex.set=function(t){this._structArray.uint32[this._pos4+2]=t},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineStartIndex.set=function(t){this._structArray.uint32[this._pos4+3]=t},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.lineLength.set=function(t){this._structArray.uint32[this._pos4+4]=t},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.segment.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.lowerSize.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.upperSize.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetX.set=function(t){this._structArray.float32[this._pos4+7]=t},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.lineOffsetY.set=function(t){this._structArray.float32[this._pos4+8]=t},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.writingMode.set=function(t){this._structArray.uint8[this._pos1+36]=t},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},Object.defineProperties(e.prototype,r),e}(Wn);ba.prototype.size=44;var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ba(this,t)},e}(la);pn("PlacedSymbolArray",_a);var wa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},radialTextOffset:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorX.set=function(t){this._structArray.int16[this._pos2+0]=t},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.anchorY.set=function(t){this._structArray.int16[this._pos2+1]=t},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.rightJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+2]=t},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.centerJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+3]=t},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.leftJustifiedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+4]=t},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.verticalPlacedTextSymbolIndex.set=function(t){this._structArray.int16[this._pos2+5]=t},r.key.get=function(){return this._structArray.uint16[this._pos2+6]},r.key.set=function(t){this._structArray.uint16[this._pos2+6]=t},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+7]},r.textBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+7]=t},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+8]=t},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.verticalTextBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+9]=t},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+10]=t},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.iconBoxStartIndex.set=function(t){this._structArray.uint16[this._pos2+11]=t},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxEndIndex.set=function(t){this._structArray.uint16[this._pos2+12]=t},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.featureIndex.set=function(t){this._structArray.uint16[this._pos2+13]=t},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+14]},r.numHorizontalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+14]=t},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+15]},r.numVerticalGlyphVertices.set=function(t){this._structArray.uint16[this._pos2+15]=t},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+16]},r.numIconVertices.set=function(t){this._structArray.uint16[this._pos2+16]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+9]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+9]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+10]},r.textBoxScale.set=function(t){this._structArray.float32[this._pos4+10]=t},r.radialTextOffset.get=function(){return this._structArray.float32[this._pos4+11]},r.radialTextOffset.set=function(t){this._structArray.float32[this._pos4+11]=t},Object.defineProperties(e.prototype,r),e}(Wn);wa.prototype.size=48;var ka=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new wa(this,t)},e}(ca);pn("SymbolInstanceArray",ka);var Ta=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={offsetX:{configurable:!0}};return r.offsetX.get=function(){return this._structArray.float32[this._pos4+0]},r.offsetX.set=function(t){this._structArray.float32[this._pos4+0]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ta.prototype.size=4;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e.prototype.get=function(t){return new Ta(this,t)},e}(ua);pn("GlyphOffsetArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={x:{configurable:!0},y:{configurable:!0},tileUnitDistanceFromAnchor:{configurable:!0}};return r.x.get=function(){return this._structArray.int16[this._pos2+0]},r.x.set=function(t){this._structArray.int16[this._pos2+0]=t},r.y.get=function(){return this._structArray.int16[this._pos2+1]},r.y.set=function(t){this._structArray.int16[this._pos2+1]=t},r.tileUnitDistanceFromAnchor.get=function(){return this._structArray.int16[this._pos2+2]},r.tileUnitDistanceFromAnchor.set=function(t){this._structArray.int16[this._pos2+2]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ma.prototype.size=6;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e.prototype.get=function(t){return new Ma(this,t)},e}(ha);pn("SymbolLineVertexArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.featureIndex.set=function(t){this._structArray.uint32[this._pos4+0]=t},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.sourceLayerIndex.set=function(t){this._structArray.uint16[this._pos2+2]=t},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},r.bucketIndex.set=function(t){this._structArray.uint16[this._pos2+3]=t},Object.defineProperties(e.prototype,r),e}(Wn);Ea.prototype.size=8;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(fa);pn("FeatureIndexArray",La);var Ca=Zn([{name:"a_pos",components:2,type:"Int16"}],4).members,Pa=function(t){void 0===t&&(t=[]),this.segments=t};function Oa(t,e){return 256*(t=c(Math.floor(t),0,255))+c(Math.floor(e),0,255)}Pa.prototype.prepareSegment=function(t,e,r,n){var a=this.segments[this.segments.length-1];return t>Pa.MAX_VERTEX_ARRAY_LENGTH&&w("Max vertices per segment is "+Pa.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!a||a.vertexLength+t>Pa.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==n)&&(a={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(a.sortKey=n),this.segments.push(a)),a},Pa.prototype.get=function(){return this.segments},Pa.prototype.destroy=function(){for(var t=0,e=this.segments;t<e.length;t+=1){var r=e[t];for(var n in r.vaos)r.vaos[n].destroy()}},Pa.simpleSegment=function(t,e,r,n){return new Pa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])},Pa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,pn("SegmentVector",Pa);var za=function(){this.ids=[],this.positions=[],this.indexed=!1};function Ia(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}za.prototype.add=function(t,e,r,n){this.ids.push(t),this.positions.push(e,r,n)},za.prototype.getPositions=function(t){for(var e=0,r=this.ids.length-1;e<r;){var n=e+r>>1;this.ids[n]>=t?r=n:e=n+1}for(var a=[];this.ids[e]===t;){var i=this.positions[3*e],o=this.positions[3*e+1],s=this.positions[3*e+2];a.push({index:i,start:o,end:s}),e++}return a},za.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return function t(e,r,n,a){if(!(n>=a)){for(var i=e[n+a>>1],o=n-1,s=a+1;;){do{o++}while(e[o]<i);do{s--}while(e[s]>i);if(o>=s)break;Ia(e,o,s),Ia(r,3*o,3*s),Ia(r,3*o+1,3*s+1),Ia(r,3*o+2,3*s+2)}t(e,r,n,s),t(e,r,s+1,a)}}(r,n,0,r.length-1),e.push(r.buffer,n.buffer),{ids:r,positions:n}},za.deserialize=function(t){var e=new za;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e},pn("FeaturePositionMap",za);var Da=function(t,e){this.gl=t.gl,this.location=e},Ra=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1i(this.location,t))},e}(Da),Fa=function(t){function e(e,r){t.call(this,e,r),this.current=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){this.current!==t&&(this.current=t,this.gl.uniform1f(this.location,t))},e}(Da),Ba=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]||(this.current=t,this.gl.uniform2f(this.location,t[0],t[1]))},e}(Da),Na=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]||(this.current=t,this.gl.uniform3f(this.location,t[0],t[1],t[2]))},e}(Da),ja=function(t){function e(e,r){t.call(this,e,r),this.current=[0,0,0,0]}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t[0]===this.current[0]&&t[1]===this.current[1]&&t[2]===this.current[2]&&t[3]===this.current[3]||(this.current=t,this.gl.uniform4f(this.location,t[0],t[1],t[2],t[3]))},e}(Da),Va=function(t){function e(e,r){t.call(this,e,r),this.current=Wt.transparent}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){t.r===this.current.r&&t.g===this.current.g&&t.b===this.current.b&&t.a===this.current.a||(this.current=t,this.gl.uniform4f(this.location,t.r,t.g,t.b,t.a))},e}(Da),Ua=new Float32Array(16),qa=function(t){function e(e,r){t.call(this,e,r),this.current=Ua}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t[12]!==this.current[12]||t[0]!==this.current[0])return this.current=t,void this.gl.uniformMatrix4fv(this.location,!1,t);for(var e=1;e<16;e++)if(t[e]!==this.current[e]){this.current=t,this.gl.uniformMatrix4fv(this.location,!1,t);break}},e}(Da);function Ha(t){return[Oa(255*t.r,255*t.g),Oa(255*t.b,255*t.a)]}var Ga=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0};Ga.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ga.prototype.setConstantPatternPositions=function(){},Ga.prototype.populatePaintArray=function(){},Ga.prototype.updatePaintArray=function(){},Ga.prototype.upload=function(){},Ga.prototype.destroy=function(){},Ga.prototype.setUniforms=function(t,e,r,n){e.set(n.constantOr(this.value))},Ga.prototype.getBinding=function(t,e){return"color"===this.type?new Va(t,e):new Fa(t,e)},Ga.serialize=function(t){var e=t.value,r=t.names,n=t.type;return{value:gn(e),names:r,type:n}},Ga.deserialize=function(t){var e=t.value,r=t.names,n=t.type;return new Ga(vn(e),r,n)};var Ya=function(t,e,r){this.value=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t}),this.type=r,this.maxValue=-1/0,this.patternPositions={patternTo:null,patternFrom:null}};Ya.prototype.defines=function(){return this.names.map(function(t){return"#define HAS_UNIFORM_u_"+t})},Ya.prototype.populatePaintArray=function(){},Ya.prototype.updatePaintArray=function(){},Ya.prototype.upload=function(){},Ya.prototype.destroy=function(){},Ya.prototype.setConstantPatternPositions=function(t,e){this.patternPositions.patternTo=t.tlbr,this.patternPositions.patternFrom=e.tlbr},Ya.prototype.setUniforms=function(t,e,r,n,a){var i=this.patternPositions;"u_pattern_to"===a&&i.patternTo&&e.set(i.patternTo),"u_pattern_from"===a&&i.patternFrom&&e.set(i.patternFrom)},Ya.prototype.getBinding=function(t,e){return new ja(t,e)};var Wa=function(t,e,r,n){this.expression=t,this.names=e,this.type=r,this.uniformNames=this.names.map(function(t){return"a_"+t}),this.maxValue=-1/0,this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?2:1,offset:0}}),this.paintVertexArray=new n};Wa.prototype.defines=function(){return[]},Wa.prototype.setConstantPatternPositions=function(){},Wa.prototype.populatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=a.length;a.reserve(t);var o=this.expression.evaluate(new Cn(0),e,{},n);if("color"===this.type)for(var s=Ha(o),l=i;l<t;l++)a.emplaceBack(s[0],s[1]);else{for(var c=i;c<t;c++)a.emplaceBack(o);this.maxValue=Math.max(this.maxValue,o)}},Wa.prototype.updatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=this.expression.evaluate({zoom:0},r,n);if("color"===this.type)for(var o=Ha(i),s=t;s<e;s++)a.emplace(s,o[0],o[1]);else{for(var l=t;l<e;l++)a.emplace(l,i);this.maxValue=Math.max(this.maxValue,i)}},Wa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Wa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Wa.prototype.setUniforms=function(t,e){e.set(0)},Wa.prototype.getBinding=function(t,e){return new Fa(t,e)};var Xa=function(t,e,r,n,a,i){this.expression=t,this.names=e,this.uniformNames=this.names.map(function(t){return"u_"+t+"_t"}),this.type=r,this.useIntegerZoom=n,this.zoom=a,this.maxValue=-1/0;var o=i;this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Float32",components:"color"===r?4:2,offset:0}}),this.paintVertexArray=new o};Xa.prototype.defines=function(){return[]},Xa.prototype.setConstantPatternPositions=function(){},Xa.prototype.populatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=a.length;a.reserve(t);var o=this.expression.evaluate(new Cn(this.zoom),e,{},n),s=this.expression.evaluate(new Cn(this.zoom+1),e,{},n);if("color"===this.type)for(var l=Ha(o),c=Ha(s),u=i;u<t;u++)a.emplaceBack(l[0],l[1],c[0],c[1]);else{for(var h=i;h<t;h++)a.emplaceBack(o,s);this.maxValue=Math.max(this.maxValue,o,s)}},Xa.prototype.updatePaintArray=function(t,e,r,n){var a=this.paintVertexArray,i=this.expression.evaluate({zoom:this.zoom},r,n),o=this.expression.evaluate({zoom:this.zoom+1},r,n);if("color"===this.type)for(var s=Ha(i),l=Ha(o),c=t;c<e;c++)a.emplace(c,s[0],s[1],l[0],l[1]);else{for(var u=t;u<e;u++)a.emplace(u,i,o);this.maxValue=Math.max(this.maxValue,i,o)}},Xa.prototype.upload=function(t){this.paintVertexArray&&this.paintVertexArray.arrayBuffer&&(this.paintVertexBuffer&&this.paintVertexBuffer.buffer?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=t.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Xa.prototype.destroy=function(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()},Xa.prototype.interpolationFactor=function(t){return this.useIntegerZoom?this.expression.interpolationFactor(Math.floor(t),this.zoom,this.zoom+1):this.expression.interpolationFactor(t,this.zoom,this.zoom+1)},Xa.prototype.setUniforms=function(t,e,r){e.set(this.interpolationFactor(r.zoom))},Xa.prototype.getBinding=function(t,e){return new Fa(t,e)};var Za=function(t,e,r,n,a,i,o){this.expression=t,this.names=e,this.type=r,this.uniformNames=this.names.map(function(t){return"u_"+t+"_t"}),this.useIntegerZoom=n,this.zoom=a,this.maxValue=-1/0,this.layerId=o,this.paintVertexAttributes=e.map(function(t){return{name:"a_"+t,type:"Uint16",components:4,offset:0}}),this.zoomInPaintVertexArray=new i,this.zoomOutPaintVertexArray=new i};Za.prototype.defines=function(){return[]},Za.prototype.setConstantPatternPositions=function(){},Za.prototype.populatePaintArray=function(t,e,r){var n=this.zoomInPaintVertexArray,a=this.zoomOutPaintVertexArray,i=this.layerId,o=n.length;if(n.reserve(t),a.reserve(t),r&&e.patterns&&e.patterns[i]){var s=e.patterns[i],l=s.min,c=s.mid,u=s.max,h=r[l],f=r[c],p=r[u];if(!h||!f||!p)return;for(var d=o;d<t;d++)n.emplaceBack(f.tl[0],f.tl[1],f.br[0],f.br[1],h.tl[0],h.tl[1],h.br[0],h.br[1]),a.emplaceBack(f.tl[0],f.tl[1],f.br[0],f.br[1],p.tl[0],p.tl[1],p.br[0],p.br[1])}},Za.prototype.updatePaintArray=function(t,e,r,n,a){var i=this.zoomInPaintVertexArray,o=this.zoomOutPaintVertexArray,s=this.layerId;if(a&&r.patterns&&r.patterns[s]){var l=r.patterns[s],c=l.min,u=l.mid,h=l.max,f=a[c],p=a[u],d=a[h];if(!f||!p||!d)return;for(var g=t;g<e;g++)i.emplace(g,p.tl[0],p.tl[1],p.br[0],p.br[1],f.tl[0],f.tl[1],f.br[0],f.br[1]),o.emplace(g,p.tl[0],p.tl[1],p.br[0],p.br[1],d.tl[0],d.tl[1],d.br[0],d.br[1])}},Za.prototype.upload=function(t){this.zoomInPaintVertexArray&&this.zoomInPaintVertexArray.arrayBuffer&&this.zoomOutPaintVertexArray&&this.zoomOutPaintVertexArray.arrayBuffer&&(this.zoomInPaintVertexBuffer=t.createVertexBuffer(this.zoomInPaintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent),this.zoomOutPaintVertexBuffer=t.createVertexBuffer(this.zoomOutPaintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))},Za.prototype.destroy=function(){this.zoomOutPaintVertexBuffer&&this.zoomOutPaintVertexBuffer.destroy(),this.zoomInPaintVertexBuffer&&this.zoomInPaintVertexBuffer.destroy()},Za.prototype.setUniforms=function(t,e){e.set(0)},Za.prototype.getBinding=function(t,e){return new Fa(t,e)};var Ja=function(){this.binders={},this.cacheKey="",this._buffers=[],this._featureMap=new za,this._bufferOffset=0};Ja.createDynamic=function(t,e,r){var n=new Ja,a=[];for(var i in t.paint._values)if(r(i)){var o=t.paint.get(i);if(o instanceof Fn&&cr(o.property.specification)){var s=Qa(i,t.type),l=o.property.specification.type,c=o.property.useIntegerZoom;if("cross-faded"===o.property.specification["property-type"]||"cross-faded-data-driven"===o.property.specification["property-type"])if("constant"===o.value.kind)n.binders[i]=new Ya(o.value.value,s,l),a.push("/u_"+i);else{var u=$a(i,l,"source");n.binders[i]=new Za(o.value,s,l,c,e,u,t.id),a.push("/a_"+i)}else if("constant"===o.value.kind)n.binders[i]=new Ga(o.value.value,s,l),a.push("/u_"+i);else if("source"===o.value.kind){var h=$a(i,l,"source");n.binders[i]=new Wa(o.value,s,l,h),a.push("/a_"+i)}else{var f=$a(i,l,"composite");n.binders[i]=new Xa(o.value,s,l,c,e,f),a.push("/z_"+i)}}}return n.cacheKey=a.sort().join(""),n},Ja.prototype.populatePaintArrays=function(t,e,r,n,a){for(var i in this.binders)this.binders[i].populatePaintArray(t,e,n,a);void 0!==e.id&&this._featureMap.add(+e.id,r,this._bufferOffset,t),this._bufferOffset=t},Ja.prototype.setConstantPatternPositions=function(t,e){for(var r in this.binders)this.binders[r].setConstantPatternPositions(t,e)},Ja.prototype.updatePaintArrays=function(t,e,r,n){var a=!1;for(var i in t)for(var o=0,s=this._featureMap.getPositions(+i);o<s.length;o+=1){var l=s[o],c=e.feature(l.index);for(var u in this.binders){var h=this.binders[u];if(!(h instanceof Ga||h instanceof Ya)&&!0===h.expression.isStateDependent){var f=r.paint.get(u);h.expression=f.value,h.updatePaintArray(l.start,l.end,c,t[i],n),a=!0}}}return a},Ja.prototype.defines=function(){var t=[];for(var e in this.binders)t.push.apply(t,this.binders[e].defines());return t},Ja.prototype.getPaintVertexBuffers=function(){return this._buffers},Ja.prototype.getUniforms=function(t,e){var r=[];for(var n in this.binders)for(var a=this.binders[n],i=0,o=a.uniformNames;i<o.length;i+=1){var s=o[i];if(e[s]){var l=a.getBinding(t,e[s]);r.push({name:s,property:n,binding:l})}}return r},Ja.prototype.setUniforms=function(t,e,r,n){for(var a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.name,l=o.property,c=o.binding;this.binders[l].setUniforms(t,c,n,r.get(l),s)}},Ja.prototype.updatePatternPaintBuffers=function(t){var e=[];for(var r in this.binders){var n=this.binders[r];if(n instanceof Za){var a=2===t.fromScale?n.zoomInPaintVertexBuffer:n.zoomOutPaintVertexBuffer;a&&e.push(a)}else(n instanceof Wa||n instanceof Xa)&&n.paintVertexBuffer&&e.push(n.paintVertexBuffer)}this._buffers=e},Ja.prototype.upload=function(t){for(var e in this.binders)this.binders[e].upload(t);var r=[];for(var n in this.binders){var a=this.binders[n];(a instanceof Wa||a instanceof Xa)&&a.paintVertexBuffer&&r.push(a.paintVertexBuffer)}this._buffers=r},Ja.prototype.destroy=function(){for(var t in this.binders)this.binders[t].destroy()};var Ka=function(t,e,r,n){void 0===n&&(n=function(){return!0}),this.programConfigurations={};for(var a=0,i=e;a<i.length;a+=1){var o=i[a];this.programConfigurations[o.id]=Ja.createDynamic(o,r,n),this.programConfigurations[o.id].layoutAttributes=t}this.needsUpload=!1};function Qa(t,e){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"],"fill-pattern":["pattern_to","pattern_from"],"fill-extrusion-pattern":["pattern_to","pattern_from"]}[t]||[t.replace(e+"-","").replace(/-/g,"_")]}function $a(t,e,r){var n={color:{source:va,composite:ma},number:{source:ua,composite:va}},a=function(t){return{"line-pattern":{source:ea,composite:ea},"fill-pattern":{source:ea,composite:ea},"fill-extrusion-pattern":{source:ea,composite:ea}}[t]}(t);return a&&a[r]||n[e][r]}Ka.prototype.populatePaintArrays=function(t,e,r,n,a){for(var i in this.programConfigurations)this.programConfigurations[i].populatePaintArrays(t,e,r,n,a);this.needsUpload=!0},Ka.prototype.updatePaintArrays=function(t,e,r,n){for(var a=0,i=r;a<i.length;a+=1){var o=i[a];this.needsUpload=this.programConfigurations[o.id].updatePaintArrays(t,e,o,n)||this.needsUpload}},Ka.prototype.get=function(t){return this.programConfigurations[t]},Ka.prototype.upload=function(t){if(this.needsUpload){for(var e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}},Ka.prototype.destroy=function(){for(var t in this.programConfigurations)this.programConfigurations[t].destroy()},pn("ConstantBinder",Ga),pn("CrossFadedConstantBinder",Ya),pn("SourceExpressionBinder",Wa),pn("CrossFadedCompositeBinder",Za),pn("CompositeExpressionBinder",Xa),pn("ProgramConfiguration",Ja,{omit:["_buffers"]}),pn("ProgramConfigurationSet",Ka);var ti=8192,ei=(15,{min:-1*Math.pow(2,14),max:Math.pow(2,14)-1});function ri(t){for(var e=ti/t.extent,r=t.loadGeometry(),n=0;n<r.length;n++)for(var a=r[n],i=0;i<a.length;i++){var o=a[i];o.x=Math.round(o.x*e),o.y=Math.round(o.y*e),(o.x<ei.min||o.x>ei.max||o.y<ei.min||o.y>ei.max)&&(w("Geometry exceeds allowed extent, reduce your vector tile buffer size"),o.x=c(o.x,ei.min,ei.max),o.y=c(o.y,ei.min,ei.max))}return r}function ni(t,e,r,n,a){t.emplaceBack(2*e+(n+1)/2,2*r+(a+1)/2)}var ai=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Kn,this.indexArray=new pa,this.segments=new Pa,this.programConfigurations=new Ka(Ca,t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function ii(t,e){for(var r=0;r<t.length;r++)if(di(e,t[r]))return!0;for(var n=0;n<e.length;n++)if(di(t,e[n]))return!0;return!!ci(t,e)}function oi(t,e,r){return!!di(t,e)||!!hi(e,t,r)}function si(t,e){if(1===t.length)return pi(e,t[0]);for(var r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++)if(di(t,n[a]))return!0;for(var i=0;i<t.length;i++)if(pi(e,t[i]))return!0;for(var o=0;o<e.length;o++)if(ci(t,e[o]))return!0;return!1}function li(t,e,r){if(t.length>1){if(ci(t,e))return!0;for(var n=0;n<e.length;n++)if(hi(e[n],t,r))return!0}for(var a=0;a<t.length;a++)if(hi(t[a],e,r))return!0;return!1}function ci(t,e){if(0===t.length||0===e.length)return!1;for(var r=0;r<t.length-1;r++)for(var n=t[r],a=t[r+1],i=0;i<e.length-1;i++)if(ui(n,a,e[i],e[i+1]))return!0;return!1}function ui(t,e,r,n){return k(t,r,n)!==k(e,r,n)&&k(t,e,r)!==k(t,e,n)}function hi(t,e,r){var n=r*r;if(1===e.length)return t.distSqr(e[0])<n;for(var a=1;a<e.length;a++)if(fi(t,e[a-1],e[a])<n)return!0;return!1}function fi(t,e,r){var n=e.distSqr(r);if(0===n)return t.distSqr(e);var a=((t.x-e.x)*(r.x-e.x)+(t.y-e.y)*(r.y-e.y))/n;return a<0?t.distSqr(e):a>1?t.distSqr(r):t.distSqr(r.sub(e)._mult(a)._add(e))}function pi(t,e){for(var r,n,a,i=!1,o=0;o<t.length;o++)for(var s=0,l=(r=t[o]).length-1;s<r.length;l=s++)n=r[s],a=r[l],n.y>e.y!=a.y>e.y&&e.x<(a.x-n.x)*(e.y-n.y)/(a.y-n.y)+n.x&&(i=!i);return i}function di(t,e){for(var r=!1,n=0,a=t.length-1;n<t.length;a=n++){var i=t[n],o=t[a];i.y>e.y!=o.y>e.y&&e.x<(o.x-i.x)*(e.y-i.y)/(o.y-i.y)+i.x&&(r=!r)}return r}function gi(t,e,r){var n=r[0],a=r[2];if(t.x<n.x&&e.x<n.x||t.x>a.x&&e.x>a.x||t.y<n.y&&e.y<n.y||t.y>a.y&&e.y>a.y)return!1;var i=k(t,e,r[0]);return i!==k(t,e,r[1])||i!==k(t,e,r[2])||i!==k(t,e,r[3])}function vi(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).binders[t].maxValue}function mi(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function yi(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l<t.length;l++){var c=t[l];s.push(c.sub(o))}return s}ai.prototype.populate=function(t,e){var r=this.layers[0],n=[],a=null;"circle"===r.type&&(a=r.layout.get("circle-sort-key"));for(var i=0,o=t;i<o.length;i+=1){var s=o[i],l=s.feature,c=s.index,u=s.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),l)){var h=ri(l),f=a?a.evaluate(l,{}):void 0,p={id:l.id,properties:l.properties,type:l.type,sourceLayerIndex:u,index:c,geometry:h,patterns:{},sortKey:f};n.push(p)}}a&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var d=0,g=n;d<g.length;d+=1){var v=g[d],m=v,y=m.geometry,x=m.index,b=m.sourceLayerIndex,_=t[x].feature;this.addFeature(v,y,x),e.featureIndex.insert(_,y,x,b,this.index)}},ai.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},ai.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},ai.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},ai.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ca),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},ai.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},ai.prototype.addFeature=function(t,e,r){for(var n=0,a=e;n<a.length;n+=1)for(var i=0,o=a[n];i<o.length;i+=1){var s=o[i],l=s.x,c=s.y;if(!(l<0||l>=ti||c<0||c>=ti)){var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=u.vertexLength;ni(this.layoutVertexArray,l,c,-1,-1),ni(this.layoutVertexArray,l,c,1,-1),ni(this.layoutVertexArray,l,c,1,1),ni(this.layoutVertexArray,l,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),u.vertexLength+=4,u.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{})},pn("CircleBucket",ai,{omit:["layers"]});var xi,bi=new Hn({"circle-sort-key":new jn(Tt.layout_circle["circle-sort-key"])}),_i={paint:new Hn({"circle-radius":new jn(Tt.paint_circle["circle-radius"]),"circle-color":new jn(Tt.paint_circle["circle-color"]),"circle-blur":new jn(Tt.paint_circle["circle-blur"]),"circle-opacity":new jn(Tt.paint_circle["circle-opacity"]),"circle-translate":new Nn(Tt.paint_circle["circle-translate"]),"circle-translate-anchor":new Nn(Tt.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new Nn(Tt.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new Nn(Tt.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new jn(Tt.paint_circle["circle-stroke-width"]),"circle-stroke-color":new jn(Tt.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new jn(Tt.paint_circle["circle-stroke-opacity"])}),layout:bi},wi="undefined"!=typeof Float32Array?Float32Array:Array;function ki(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3];return t[0]=r[0]*n+r[4]*a+r[8]*i+r[12]*o,t[1]=r[1]*n+r[5]*a+r[9]*i+r[13]*o,t[2]=r[2]*n+r[6]*a+r[10]*i+r[14]*o,t[3]=r[3]*n+r[7]*a+r[11]*i+r[15]*o,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)}),xi=new wi(3),wi!=Float32Array&&(xi[0]=0,xi[1]=0,xi[2]=0),function(){var t=new wi(4);wi!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ti=function(t){function e(e){t.call(this,e,_i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new ai(t)},e.prototype.queryRadius=function(t){var e=t;return vi("circle-radius",this,e)+vi("circle-stroke-width",this,e)+mi(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o,s){for(var l=yi(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),i.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(t,e){return l.map(function(t){return Ai(t,e)})}(0,s),f=u?c*o:c,p=0,d=n;p<d.length;p+=1)for(var g=0,v=d[p];g<v.length;g+=1){var m=v[g],y=u?m:Ai(m,s),x=f,b=ki([],[m.x,m.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?x*=b[3]/i.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(x*=i.cameraToCenterDistance/b[3]),oi(h,y,x))return!0}return!1},e}(Gn);function Ai(t,e){var r=ki([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}var Mi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(ai);function Si(t,e,r,n){var a=e.width,i=e.height;if(n){if(n instanceof Uint8ClampedArray)n=new Uint8Array(n.buffer);else if(n.length!==a*i*r)throw new RangeError("mismatched image size")}else n=new Uint8Array(a*i*r);return t.width=a,t.height=i,t.data=n,t}function Ei(t,e,r){var n=e.width,a=e.height;if(n!==t.width||a!==t.height){var i=Si({},{width:n,height:a},r);Li(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,n),height:Math.min(t.height,a)},r),t.width=n,t.height=a,t.data=i.data}}function Li(t,e,r,n,a,i){if(0===a.width||0===a.height)return e;if(a.width>t.width||a.height>t.height||r.x>t.width-a.width||r.y>t.height-a.height)throw new RangeError("out of range source coordinates for image copy");if(a.width>e.width||a.height>e.height||n.x>e.width-a.width||n.y>e.height-a.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l<a.height;l++)for(var c=((r.y+l)*t.width+r.x)*i,u=((n.y+l)*e.width+n.x)*i,h=0;h<a.width*i;h++)s[u+h]=o[c+h];return e}pn("HeatmapBucket",Mi,{omit:["layers"]});var Ci=function(t,e){Si(this,t,1,e)};Ci.prototype.resize=function(t){Ei(this,t,1)},Ci.prototype.clone=function(){return new Ci({width:this.width,height:this.height},new Uint8Array(this.data))},Ci.copy=function(t,e,r,n,a){Li(t,e,r,n,a,1)};var Pi=function(t,e){Si(this,t,4,e)};Pi.prototype.resize=function(t){Ei(this,t,4)},Pi.prototype.replace=function(t,e){e?this.data.set(t):t instanceof Uint8ClampedArray?this.data=new Uint8Array(t.buffer):this.data=t},Pi.prototype.clone=function(){return new Pi({width:this.width,height:this.height},new Uint8Array(this.data))},Pi.copy=function(t,e,r,n,a){Li(t,e,r,n,a,4)},pn("AlphaImage",Ci),pn("RGBAImage",Pi);var Oi={paint:new Hn({"heatmap-radius":new jn(Tt.paint_heatmap["heatmap-radius"]),"heatmap-weight":new jn(Tt.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Nn(Tt.paint_heatmap["heatmap-intensity"]),"heatmap-color":new qn(Tt.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Nn(Tt.paint_heatmap["heatmap-opacity"])})};function zi(t,e){for(var r=new Uint8Array(1024),n={},a=0,i=0;a<256;a++,i+=4){n[e]=a/255;var o=t.evaluate(n);r[i+0]=Math.floor(255*o.r/o.a),r[i+1]=Math.floor(255*o.g/o.a),r[i+2]=Math.floor(255*o.b/o.a),r[i+3]=Math.floor(255*o.a)}return new Pi({width:256,height:1},r)}var Ii=function(t){function e(e){t.call(this,e,Oi),this._updateColorRamp()}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Mi(t)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){"heatmap-color"===t&&this._updateColorRamp()},e.prototype._updateColorRamp=function(){var t=this._transitionablePaint._values["heatmap-color"].value.expression;this.colorRamp=zi(t,"heatmapDensity"),this.colorRampTexture=null},e.prototype.resize=function(){this.heatmapFbo&&(this.heatmapFbo.destroy(),this.heatmapFbo=null)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("heatmap-opacity")&&"none"!==this.visibility},e}(Gn),Di={paint:new Hn({"hillshade-illumination-direction":new Nn(Tt.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-anchor":new Nn(Tt.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new Nn(Tt.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new Nn(Tt.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new Nn(Tt.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new Nn(Tt.paint_hillshade["hillshade-accent-color"])})},Ri=function(t){function e(e){t.call(this,e,Di)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.hasOffscreenPass=function(){return 0!==this.paint.get("hillshade-exaggeration")&&"none"!==this.visibility},e}(Gn),Fi=Zn([{name:"a_pos",components:2,type:"Int16"}],4).members,Bi=ji,Ni=ji;function ji(t,e,r){r=r||2;var n,a,i,o,s,l,c,u=e&&e.length,h=u?e[0]*r:t.length,f=Vi(t,0,h,r,!0),p=[];if(!f||f.next===f.prev)return p;if(u&&(f=function(t,e,r,n){var a,i,o,s=[];for(a=0,i=e.length;a<i;a++)(o=Vi(t,e[a]*n,a<i-1?e[a+1]*n:t.length,n,!1))===o.next&&(o.steiner=!0),s.push(Qi(o));for(s.sort(Xi),a=0;a<s.length;a++)Zi(s[a],r),r=Ui(r,r.next);return r}(t,e,f,r)),t.length>80*r){n=i=t[0],a=o=t[1];for(var d=r;d<h;d+=r)(s=t[d])<n&&(n=s),(l=t[d+1])<a&&(a=l),s>i&&(i=s),l>o&&(o=l);c=0!==(c=Math.max(i-n,o-a))?1/c:0}return qi(f,p,r,n,a,c),p}function Vi(t,e,r,n,a){var i,o;if(a===ho(t,e,r,n)>0)for(i=e;i<r;i+=n)o=lo(i,t[i],t[i+1],o);else for(i=r-n;i>=e;i-=n)o=lo(i,t[i],t[i+1],o);return o&&ro(o,o.next)&&(co(o),o=o.next),o}function Ui(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!ro(n,n.next)&&0!==eo(n.prev,n,n.next))n=n.next;else{if(co(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function qi(t,e,r,n,a,i,o){if(t){!o&&i&&function(t,e,r,n){var a=t;do{null===a.z&&(a.z=Ki(a.x,a.y,e,r,n)),a.prevZ=a.prev,a.nextZ=a.next,a=a.next}while(a!==t);a.prevZ.nextZ=null,a.prevZ=null,function(t){var e,r,n,a,i,o,s,l,c=1;do{for(r=t,t=null,i=null,o=0;r;){for(o++,n=r,s=0,e=0;e<c&&(s++,n=n.nextZ);e++);for(l=c;s>0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(a=r,r=r.nextZ,s--):(a=n,n=n.nextZ,l--),i?i.nextZ=a:t=a,a.prevZ=i,i=a;r=n}i.nextZ=null,c*=2}while(o>1)}(a)}(t,n,a,i);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,i?Gi(t,n,a,i):Hi(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),co(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?qi(t=Yi(Ui(t),e,r),e,r,n,a,i,2):2===o&&Wi(t,e,r,n,a,i):qi(Ui(t),e,r,n,a,i,1);break}}}function Hi(t){var e=t.prev,r=t,n=t.next;if(eo(e,r,n)>=0)return!1;for(var a=t.next.next;a!==t.prev;){if($i(e.x,e.y,r.x,r.y,n.x,n.y,a.x,a.y)&&eo(a.prev,a,a.next)>=0)return!1;a=a.next}return!0}function Gi(t,e,r,n){var a=t.prev,i=t,o=t.next;if(eo(a,i,o)>=0)return!1;for(var s=a.x<i.x?a.x<o.x?a.x:o.x:i.x<o.x?i.x:o.x,l=a.y<i.y?a.y<o.y?a.y:o.y:i.y<o.y?i.y:o.y,c=a.x>i.x?a.x>o.x?a.x:o.x:i.x>o.x?i.x:o.x,u=a.y>i.y?a.y>o.y?a.y:o.y:i.y>o.y?i.y:o.y,h=Ki(s,l,e,r,n),f=Ki(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,p.x,p.y)&&eo(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&$i(a.x,a.y,i.x,i.y,o.x,o.y,d.x,d.y)&&eo(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function Yi(t,e,r){var n=t;do{var a=n.prev,i=n.next.next;!ro(a,i)&&no(a,n,n.next,i)&&oo(a,i)&&oo(i,a)&&(e.push(a.i/r),e.push(n.i/r),e.push(i.i/r),co(n),co(n.next),n=t=i),n=n.next}while(n!==t);return Ui(n)}function Wi(t,e,r,n,a,i){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&to(o,s)){var l=so(o,s);return o=Ui(o,o.next),l=Ui(l,l.next),qi(o,e,r,n,a,i),void qi(l,e,r,n,a,i)}s=s.next}o=o.next}while(o!==t)}function Xi(t,e){return t.x-e.x}function Zi(t,e){if(e=function(t,e){var r,n=e,a=t.x,i=t.y,o=-1/0;do{if(i<=n.y&&i>=n.next.y&&n.next.y!==n.y){var s=n.x+(i-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=a&&s>o){if(o=s,s===a){if(i===n.y)return n;if(i===n.next.y)return n.next}r=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!r)return null;if(a===o)return r;var l,c=r,u=r.x,h=r.y,f=1/0;n=r;do{a>=n.x&&n.x>=u&&a!==n.x&&$i(i<h?a:o,i,u,h,i<h?o:a,i,n.x,n.y)&&(l=Math.abs(i-n.y)/(a-n.x),oo(n,t)&&(l<f||l===f&&(n.x>r.x||n.x===r.x&&Ji(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=so(e,t);Ui(r,r.next)}}function Ji(t,e){return eo(t.prev,t,e.prev)<0&&eo(e.next,t,t.next)<0}function Ki(t,e,r,n,a){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*a)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*a)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Qi(t){var e=t,r=t;do{(e.x<r.x||e.x===r.x&&e.y<r.y)&&(r=e),e=e.next}while(e!==t);return r}function $i(t,e,r,n,a,i,o,s){return(a-o)*(e-s)-(t-o)*(i-s)>=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(i-s)-(a-o)*(n-s)>=0}function to(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&no(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(oo(t,e)&&oo(e,t)&&function(t,e){var r=t,n=!1,a=(t.x+e.x)/2,i=(t.y+e.y)/2;do{r.y>i!=r.next.y>i&&r.next.y!==r.y&&a<(r.next.x-r.x)*(i-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(eo(t.prev,t,e.prev)||eo(t,e.prev,e))||ro(t,e)&&eo(t.prev,t,t.next)>0&&eo(e.prev,e,e.next)>0)}function eo(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function ro(t,e){return t.x===e.x&&t.y===e.y}function no(t,e,r,n){var a=io(eo(t,e,r)),i=io(eo(t,e,n)),o=io(eo(r,n,t)),s=io(eo(r,n,e));return a!==i&&o!==s||!(0!==a||!ao(t,r,e))||!(0!==i||!ao(t,n,e))||!(0!==o||!ao(r,t,n))||!(0!==s||!ao(r,e,n))}function ao(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function io(t){return t>0?1:t<0?-1:0}function oo(t,e){return eo(t.prev,t,t.next)<0?eo(t,e,t.next)>=0&&eo(t,t.prev,e)>=0:eo(t,e,t.prev)<0||eo(t,t.next,e)<0}function so(t,e){var r=new uo(t.i,t.x,t.y),n=new uo(e.i,e.x,e.y),a=t.next,i=e.prev;return t.next=e,e.prev=t,r.next=a,a.prev=r,n.next=r,r.prev=n,i.next=n,n.prev=i,n}function lo(t,e,r,n){var a=new uo(t,e,r);return n?(a.next=n.next,a.prev=n,n.next.prev=a,n.next=a):(a.prev=a,a.next=a),a}function co(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function uo(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function ho(t,e,r,n){for(var a=0,i=e,o=r-n;i<r;i+=n)a+=(t[o]-t[i])*(t[i+1]+t[o+1]),o=i;return a}function fo(t,e,r,n,a){!function t(e,r,n,a,i){for(;a>n;){if(a-n>600){var o=a-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);t(e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(a,Math.floor(r+(o-s)*c/o+u)),i)}var h=e[r],f=n,p=a;for(po(e,n,r),i(e[a],h)>0&&po(e,n,a);f<p;){for(po(e,f,p),f++,p--;i(e[f],h)<0;)f++;for(;i(e[p],h)>0;)p--}0===i(e[n],h)?po(e,n,p):po(e,++p,a),p<=r&&(n=p+1),r<=p&&(a=p-1)}}(t,e,r||0,n||t.length-1,a||go)}function po(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function go(t,e){return t<e?-1:t>e?1:0}function vo(t,e){var r=t.length;if(r<=1)return[t];for(var n,a,i=[],o=0;o<r;o++){var s=T(t[o]);0!==s&&(t[o].area=Math.abs(s),void 0===a&&(a=s<0),a===s<0?(n&&i.push(n),n=[t[o]]):n.push(t[o]))}if(n&&i.push(n),e>1)for(var l=0;l<i.length;l++)i[l].length<=e||(fo(i[l],e,1,i[l].length-1,mo),i[l]=i[l].slice(0,e));return i}function mo(t,e){return e.area-t.area}function yo(t,e,r){for(var n=r.patternDependencies,a=!1,i=0,o=e;i<o.length;i+=1){var s=o[i].paint.get(t+"-pattern");s.isConstant()||(a=!0);var l=s.constantOr(null);l&&(a=!0,n[l.to]=!0,n[l.from]=!0)}return a}function xo(t,e,r,n,a){for(var i=a.patternDependencies,o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.paint.get(t+"-pattern").value;if("constant"!==c.kind){var u=c.evaluate({zoom:n-1},r,{}),h=c.evaluate({zoom:n},r,{}),f=c.evaluate({zoom:n+1},r,{});i[u]=!0,i[h]=!0,i[f]=!0,r.patterns[l.id]={min:u,mid:h,max:f}}}return r}ji.deviation=function(t,e,r,n){var a=e&&e.length,i=a?e[0]*r:t.length,o=Math.abs(ho(t,0,i,r));if(a)for(var s=0,l=e.length;s<l;s++){var c=e[s]*r,u=s<l-1?e[s+1]*r:t.length;o-=Math.abs(ho(t,c,u,r))}var h=0;for(s=0;s<n.length;s+=3){var f=n[s]*r,p=n[s+1]*r,d=n[s+2]*r;h+=Math.abs((t[f]-t[d])*(t[p+1]-t[f+1])-(t[f]-t[p])*(t[d+1]-t[f+1]))}return 0===o&&0===h?0:Math.abs((h-o)/o)},ji.flatten=function(t){for(var e=t[0][0].length,r={vertices:[],holes:[],dimensions:e},n=0,a=0;a<t.length;a++){for(var i=0;i<t[a].length;i++)for(var o=0;o<e;o++)r.vertices.push(t[a][i][o]);a>0&&(n+=t[a-1].length,r.holes.push(n))}return r},Bi.default=Ni;var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Kn,this.indexArray=new pa,this.indexArray2=new da,this.programConfigurations=new Ka(Fi,t.layers,t.zoom),this.segments=new Pa,this.segments2=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};bo.prototype.populate=function(t,e){this.hasPattern=yo("fill",this.layers,e);for(var r=this.layers[0].layout.get("fill-sort-key"),n=[],a=0,i=t;a<i.length;a+=1){var o=i[a],s=o.feature,l=o.index,c=o.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),s)){var u=ri(s),h=r?r.evaluate(s,{}):void 0,f={id:s.id,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:u,patterns:{},sortKey:h};n.push(f)}}r&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var p=0,d=n;p<d.length;p+=1){var g=d[p],v=g,m=v.geometry,y=v.index,x=v.sourceLayerIndex;if(this.hasPattern){var b=xo("fill",this.layers,g,this.zoom,e);this.patternFeatures.push(b)}else this.addFeature(g,m,y,{});var _=t[y].feature;e.featureIndex.insert(_,m,y,x,this.index)}},bo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},bo.prototype.addFeatures=function(t,e){for(var r=0,n=this.patternFeatures;r<n.length;r+=1){var a=n[r];this.addFeature(a,a.geometry,a.index,e)}},bo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},bo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},bo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Fi),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0},bo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())},bo.prototype.addFeature=function(t,e,r,n){for(var a=0,i=vo(e,500);a<i.length;a+=1){for(var o=i[a],s=0,l=0,c=o;l<c.length;l+=1)s+=c[l].length;for(var u=this.segments.prepareSegment(s,this.layoutVertexArray,this.indexArray),h=u.vertexLength,f=[],p=[],d=0,g=o;d<g.length;d+=1){var v=g[d];if(0!==v.length){v!==o[0]&&p.push(f.length/2);var m=this.segments2.prepareSegment(v.length,this.layoutVertexArray,this.indexArray2),y=m.vertexLength;this.layoutVertexArray.emplaceBack(v[0].x,v[0].y),this.indexArray2.emplaceBack(y+v.length-1,y),f.push(v[0].x),f.push(v[0].y);for(var x=1;x<v.length;x++)this.layoutVertexArray.emplaceBack(v[x].x,v[x].y),this.indexArray2.emplaceBack(y+x-1,y+x),f.push(v[x].x),f.push(v[x].y);m.vertexLength+=v.length,m.primitiveLength+=v.length}}for(var b=Bi(f,p),_=0;_<b.length;_+=3)this.indexArray.emplaceBack(h+b[_],h+b[_+1],h+b[_+2]);u.vertexLength+=s,u.primitiveLength+=b.length/3}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,n)},pn("FillBucket",bo,{omit:["layers","patternFeatures"]});var _o=new Hn({"fill-sort-key":new jn(Tt.layout_fill["fill-sort-key"])}),wo={paint:new Hn({"fill-antialias":new Nn(Tt.paint_fill["fill-antialias"]),"fill-opacity":new jn(Tt.paint_fill["fill-opacity"]),"fill-color":new jn(Tt.paint_fill["fill-color"]),"fill-outline-color":new jn(Tt.paint_fill["fill-outline-color"]),"fill-translate":new Nn(Tt.paint_fill["fill-translate"]),"fill-translate-anchor":new Nn(Tt.paint_fill["fill-translate-anchor"]),"fill-pattern":new Vn(Tt.paint_fill["fill-pattern"])}),layout:_o},ko=function(t){function e(e){t.call(this,e,wo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e);var r=this.paint._values["fill-outline-color"];"constant"===r.value.kind&&void 0===r.value.value&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])},e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(){return mi(this.paint.get("fill-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,a,i,o){return si(yi(t,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),i.angle,o),n)},e.prototype.isTileClipped=function(){return!0},e}(Gn),To=Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4).members,Ao=Mo;function Mo(t,e,r,n,a){this.properties={},this.extent=r,this.type=0,this._pbf=t,this._geometry=-1,this._keys=n,this._values=a,t.readFields(So,this,e)}function So(t,e,r){1==t?e.id=r.readVarint():2==t?function(t,e){for(var r=t.readVarint()+t.pos;t.pos<r;){var n=e._keys[t.readVarint()],a=e._values[t.readVarint()];e.properties[n]=a}}(r,e):3==t?e.type=r.readVarint():4==t&&(e._geometry=r.pos)}function Eo(t){for(var e,r,n=0,a=0,i=t.length,o=i-1;a<i;o=a++)e=t[a],n+=((r=t[o]).x-e.x)*(e.y+r.y);return n}Mo.types=["Unknown","Point","LineString","Polygon"],Mo.prototype.loadGeometry=function(){var t=this._pbf;t.pos=this._geometry;for(var e,r=t.readVarint()+t.pos,n=1,i=0,o=0,s=0,l=[];t.pos<r;){if(i<=0){var c=t.readVarint();n=7&c,i=c>>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Mo.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,a=0,i=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos<e;){if(n<=0){var u=t.readVarint();r=7&u,n=u>>3}if(n--,1===r||2===r)(a+=t.readSVarint())<o&&(o=a),a>s&&(s=a),(i+=t.readSVarint())<l&&(l=i),i>c&&(c=i);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Mo.prototype.toGeoJSON=function(t,e,r){var n,a,i=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Mo.types[this.type];function u(t){for(var e=0;e<t.length;e++){var r=t[e],n=180-360*(r.y+s)/i;t[e]=[360*(r.x+o)/i-180,360/Math.PI*Math.atan(Math.exp(n*Math.PI/180))-90]}}switch(this.type){case 1:var h=[];for(n=0;n<l.length;n++)h[n]=l[n][0];u(l=h);break;case 2:for(n=0;n<l.length;n++)u(l[n]);break;case 3:for(l=function(t){var e=t.length;if(e<=1)return[t];for(var r,n,a=[],i=0;i<e;i++){var o=Eo(t[i]);0!==o&&(void 0===n&&(n=o<0),n===o<0?(r&&a.push(r),r=[t[i]]):r.push(t[i]))}return r&&a.push(r),a}(l),n=0;n<l.length;n++)for(a=0;a<l[n].length;a++)u(l[n][a])}1===l.length?l=l[0]:c="Multi"+c;var f={type:"Feature",geometry:{type:c,coordinates:l},properties:this.properties};return"id"in this&&(f.id=this.id),f};var Lo=Co;function Co(t,e){this.version=1,this.name=null,this.extent=4096,this.length=0,this._pbf=t,this._keys=[],this._values=[],this._features=[],t.readFields(Po,this,e),this.length=this._features.length}function Po(t,e,r){15===t?e.version=r.readVarint():1===t?e.name=r.readString():5===t?e.extent=r.readVarint():2===t?e._features.push(r.pos):3===t?e._keys.push(r.readString()):4===t&&e._values.push(function(t){for(var e=null,r=t.readVarint()+t.pos;t.pos<r;){var n=t.readVarint()>>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Oo(t,e,r){if(3===t){var n=new Lo(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Co.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ao(this._pbf,e,this.extent,this._keys,this._values)};var zo={VectorTile:function(t,e){this.layers=t.readFields(Oo,{},e)},VectorTileFeature:Ao,VectorTileLayer:Lo},Io=zo.VectorTileFeature.types,Do=Math.pow(2,13);function Ro(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,2*Math.floor(n*Do)+o,a*Do*2,i*Do*2,Math.round(s))}var Fo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new $n,this.indexArray=new pa,this.programConfigurations=new Ka(To,t.layers,t.zoom),this.segments=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};function Bo(t,e){return t.x===e.x&&(t.x<0||t.x>ti)||t.y===e.y&&(t.y<0||t.y>ti)}function No(t){return t.every(function(t){return t.x<0})||t.every(function(t){return t.x>ti})||t.every(function(t){return t.y<0})||t.every(function(t){return t.y>ti})}Fo.prototype.populate=function(t,e){this.features=[],this.hasPattern=yo("fill-extrusion",this.layers,e);for(var r=0,n=t;r<n.length;r+=1){var a=n[r],i=a.feature,o=a.index,s=a.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),i)){var l=ri(i),c={sourceLayerIndex:s,index:o,geometry:l,properties:i.properties,type:i.type,patterns:{}};void 0!==i.id&&(c.id=i.id),this.hasPattern?this.features.push(xo("fill-extrusion",this.layers,c,this.zoom,e)):this.addFeature(c,l,o,{}),e.featureIndex.insert(i,l,o,s,this.index,!0)}}},Fo.prototype.addFeatures=function(t,e){for(var r=0,n=this.features;r<n.length;r+=1){var a=n[r],i=a.geometry;this.addFeature(a,i,a.index,e)}},Fo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Fo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Fo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Fo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,To),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Fo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Fo.prototype.addFeature=function(t,e,r,n){for(var a=0,i=vo(e,500);a<i.length;a+=1){for(var o=i[a],s=0,l=0,c=o;l<c.length;l+=1)s+=c[l].length;for(var u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray),h=0,f=o;h<f.length;h+=1){var p=f[h];if(0!==p.length&&!No(p))for(var d=0,g=0;g<p.length;g++){var v=p[g];if(g>=1){var m=p[g-1];if(!Bo(v,m)){u.vertexLength+4>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var y=v.sub(m)._perp()._unit(),x=m.dist(v);d+x>32768&&(d=0),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,v.x,v.y,y.x,y.y,0,1,d),d+=x,Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,0,d),Ro(this.layoutVertexArray,m.x,m.y,y.x,y.y,0,1,d);var b=u.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),u.vertexLength+=4,u.primitiveLength+=2}}}}if(u.vertexLength+s>Pa.MAX_VERTEX_ARRAY_LENGTH&&(u=this.segments.prepareSegment(s,this.layoutVertexArray,this.indexArray)),"Polygon"===Io[t.type]){for(var _=[],w=[],k=u.vertexLength,T=0,A=o;T<A.length;T+=1){var M=A[T];if(0!==M.length){M!==o[0]&&w.push(_.length/2);for(var S=0;S<M.length;S++){var E=M[S];Ro(this.layoutVertexArray,E.x,E.y,0,0,1,1,0),_.push(E.x),_.push(E.y)}}}for(var L=Bi(_,w),C=0;C<L.length;C+=3)this.indexArray.emplaceBack(k+L[C],k+L[C+2],k+L[C+1]);u.primitiveLength+=L.length/3,u.vertexLength+=s}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,n)},pn("FillExtrusionBucket",Fo,{omit:["layers","features"]});var jo={paint:new Hn({"fill-extrusion-opacity":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new Vn(Tt["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new jn(Tt["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Nn(Tt["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})},Vo=function(t){function e(e){t.call(this,e,jo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new Fo(t)},e.prototype.queryRadius=function(){return mi(this.paint.get("fill-extrusion-translate"))},e.prototype.is3D=function(){return!0},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s,l){var c=yi(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(e,r),h=this.paint.get("fill-extrusion-base").evaluate(e,r),f=function(t,e,r,n){for(var i=[],o=0,s=t;o<s.length;o+=1){var l=s[o],c=[l.x,l.y,0,1];ki(c,c,e),i.push(new a(c[0]/c[3],c[1]/c[3]))}return i}(c,l),p=function(t,e,r,n){for(var i=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r,g=0,v=t;g<v.length;g+=1){for(var m=[],y=[],x=0,b=v[g];x<b.length;x+=1){var _=b[x],w=_.x,k=_.y,T=n[0]*w+n[4]*k+n[12],A=n[1]*w+n[5]*k+n[13],M=n[2]*w+n[6]*k+n[14],S=n[3]*w+n[7]*k+n[15],E=M+c,L=S+u,C=T+h,P=A+f,O=M+p,z=S+d,I=new a((T+s)/L,(A+l)/L);I.z=E/L,m.push(I);var D=new a(C/z,P/z);D.z=O/z,y.push(D)}i.push(m),o.push(y)}return[i,o]}(n,h,u,l);return function(t,e,r){var n=1/0;si(r,e)&&(n=qo(r,e[0]));for(var a=0;a<e.length;a++)for(var i=e[a],o=t[a],s=0;s<i.length-1;s++){var l=i[s],c=i[s+1],u=o[s],h=[l,c,o[s+1],u,l];ii(r,h)&&(n=Math.min(n,qo(r,h)))}return n!==1/0&&n}(p[0],p[1],f)},e}(Gn);function Uo(t,e){return t.x*e.x+t.y*e.y}function qo(t,e){if(1===t.length){var r=e[0],n=e[1],a=e[3],i=t[0],o=n.sub(r),s=a.sub(r),l=i.sub(r),c=Uo(o,o),u=Uo(o,s),h=Uo(s,s),f=Uo(l,o),p=Uo(l,s),d=c*h-u*u,g=(h*f-u*p)/d,v=(c*p-u*f)/d,m=1-g-v;return r.z*m+n.z*g+a.z*v}for(var y=1/0,x=0,b=e;x<b.length;x+=1){var _=b[x];y=Math.min(y,_.z)}return y}var Ho=Zn([{name:"a_pos_normal",components:2,type:"Int16"},{name:"a_data",components:4,type:"Uint8"}],4).members,Go=zo.VectorTileFeature.types,Yo=Math.cos(Math.PI/180*37.5),Wo=Math.pow(2,14)/.5,Xo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ta,this.indexArray=new pa,this.programConfigurations=new Ka(Ho,t.layers,t.zoom),this.segments=new Pa,this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id})};Xo.prototype.populate=function(t,e){this.hasPattern=yo("line",this.layers,e);for(var r=this.layers[0].layout.get("line-sort-key"),n=[],a=0,i=t;a<i.length;a+=1){var o=i[a],s=o.feature,l=o.index,c=o.sourceLayerIndex;if(this.layers[0]._featureFilter(new Cn(this.zoom),s)){var u=ri(s),h=r?r.evaluate(s,{}):void 0,f={id:s.id,properties:s.properties,type:s.type,sourceLayerIndex:c,index:l,geometry:u,patterns:{},sortKey:h};n.push(f)}}r&&n.sort(function(t,e){return t.sortKey-e.sortKey});for(var p=0,d=n;p<d.length;p+=1){var g=d[p],v=g,m=v.geometry,y=v.index,x=v.sourceLayerIndex;if(this.hasPattern){var b=xo("line",this.layers,g,this.zoom,e);this.patternFeatures.push(b)}else this.addFeature(g,m,y,{});var _=t[y].feature;e.featureIndex.insert(_,m,y,x,this.index)}},Xo.prototype.update=function(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)},Xo.prototype.addFeatures=function(t,e){for(var r=0,n=this.patternFeatures;r<n.length;r+=1){var a=n[r];this.addFeature(a,a.geometry,a.index,e)}},Xo.prototype.isEmpty=function(){return 0===this.layoutVertexArray.length},Xo.prototype.uploadPending=function(){return!this.uploaded||this.programConfigurations.needsUpload},Xo.prototype.upload=function(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ho),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0},Xo.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())},Xo.prototype.addFeature=function(t,e,r,n){for(var a=this.layers[0].layout,i=a.get("line-join").evaluate(t,{}),o=a.get("line-cap"),s=a.get("line-miter-limit"),l=a.get("line-round-limit"),c=0,u=e;c<u.length;c+=1){var h=u[c];this.addLine(h,t,i,o,s,l,r,n)}},Xo.prototype.addLine=function(t,e,r,n,a,i,o,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,e.properties&&e.properties.hasOwnProperty("mapbox_clip_start")&&e.properties.hasOwnProperty("mapbox_clip_end")){this.clipStart=+e.properties.mapbox_clip_start,this.clipEnd=+e.properties.mapbox_clip_end;for(var l=0;l<t.length-1;l++)this.totalDistance+=t[l].dist(t[l+1])}for(var c="Polygon"===Go[e.type],u=t.length;u>=2&&t[u-1].equals(t[u-2]);)u--;for(var h=0;h<u-1&&t[h].equals(t[h+1]);)h++;if(!(u<(c?3:2))){"bevel"===r&&(a=1.05);var f,p=ti/(512*this.overscaling)*15,d=this.segments.prepareSegment(10*u,this.layoutVertexArray,this.indexArray),g=void 0,v=void 0,m=void 0,y=void 0;this.e1=this.e2=-1,c&&(f=t[u-2],y=t[h].sub(f)._unit()._perp());for(var x=h;x<u;x++)if(!(v=c&&x===u-1?t[h+1]:t[x+1])||!t[x].equals(v)){y&&(m=y),f&&(g=f),f=t[x],y=v?v.sub(f)._unit()._perp():m;var b=(m=m||y).add(y);0===b.x&&0===b.y||b._unit();var _=m.x*y.x+m.y*y.y,w=b.x*y.x+b.y*y.y,k=0!==w?1/w:1/0,T=2*Math.sqrt(2-2*w),A=w<Yo&&g&&v,M=m.x*y.y-m.y*y.x>0;if(A&&x>h){var S=f.dist(g);if(S>2*p){var E=f.sub(f.sub(g)._mult(p/S)._round());this.updateDistance(g,E),this.addCurrentVertex(E,m,0,0,d),g=E}}var L=g&&v,C=L?r:c?"butt":n;if(L&&"round"===C&&(k<i?C="miter":k<=2&&(C="fakeround")),"miter"===C&&k>a&&(C="bevel"),"bevel"===C&&(k>2&&(C="flipbevel"),k<a&&(C="miter")),g&&this.updateDistance(g,f),"miter"===C)b._mult(k),this.addCurrentVertex(f,b,0,0,d);else if("flipbevel"===C){if(k>100)b=y.mult(-1);else{var P=k*m.add(y).mag()/m.sub(y).mag();b._perp()._mult(P*(M?-1:1))}this.addCurrentVertex(f,b,0,0,d),this.addCurrentVertex(f,b.mult(-1),0,0,d)}else if("bevel"===C||"fakeround"===C){var O=-Math.sqrt(k*k-1),z=M?O:0,I=M?0:O;if(g&&this.addCurrentVertex(f,m,z,I,d),"fakeround"===C)for(var D=Math.round(180*T/Math.PI/20),R=1;R<D;R++){var F=R/D;if(.5!==F){var B=F-.5;F+=F*B*(F-1)*((1.0904+_*(_*(3.55645-1.43519*_)-3.2452))*B*B+(.848013+_*(.215638*_-1.06021)))}var N=y.sub(m)._mult(F)._add(m)._unit()._mult(M?-1:1);this.addHalfVertex(f,N.x,N.y,!1,M,0,d)}v&&this.addCurrentVertex(f,y,-z,-I,d)}else if("butt"===C)this.addCurrentVertex(f,b,0,0,d);else if("square"===C){var j=g?1:-1;this.addCurrentVertex(f,b,j,j,d)}else"round"===C&&(g&&(this.addCurrentVertex(f,m,0,0,d),this.addCurrentVertex(f,m,1,1,d,!0)),v&&(this.addCurrentVertex(f,y,-1,-1,d,!0),this.addCurrentVertex(f,y,0,0,d)));if(A&&x<u-1){var V=f.dist(v);if(V>2*p){var U=f.add(v.sub(f)._mult(p/V)._round());this.updateDistance(f,U),this.addCurrentVertex(U,y,0,0,d),f=U}}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,o,s)}},Xo.prototype.addCurrentVertex=function(t,e,r,n,a,i){void 0===i&&(i=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,i,!1,r,a),this.addHalfVertex(t,l,c,i,!0,-n,a),this.distance>Wo/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,a,i))},Xo.prototype.addHalfVertex=function(t,e,r,n,a,i,o){var s=t.x,l=t.y,c=.5*this.scaledDistance;this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(a?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===i?0:i<0?-1:1)|(63&c)<<2,c>>6);var u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),a?this.e2=u:this.e1=u},Xo.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.scaledDistance=this.totalDistance>0?(this.clipStart+(this.clipEnd-this.clipStart)*this.distance/this.totalDistance)*(Wo-1):this.distance},pn("LineBucket",Xo,{omit:["layers","patternFeatures"]});var Zo=new Hn({"line-cap":new Nn(Tt.layout_line["line-cap"]),"line-join":new jn(Tt.layout_line["line-join"]),"line-miter-limit":new Nn(Tt.layout_line["line-miter-limit"]),"line-round-limit":new Nn(Tt.layout_line["line-round-limit"]),"line-sort-key":new jn(Tt.layout_line["line-sort-key"])}),Jo={paint:new Hn({"line-opacity":new jn(Tt.paint_line["line-opacity"]),"line-color":new jn(Tt.paint_line["line-color"]),"line-translate":new Nn(Tt.paint_line["line-translate"]),"line-translate-anchor":new Nn(Tt.paint_line["line-translate-anchor"]),"line-width":new jn(Tt.paint_line["line-width"]),"line-gap-width":new jn(Tt.paint_line["line-gap-width"]),"line-offset":new jn(Tt.paint_line["line-offset"]),"line-blur":new jn(Tt.paint_line["line-blur"]),"line-dasharray":new Un(Tt.paint_line["line-dasharray"]),"line-pattern":new Vn(Tt.paint_line["line-pattern"]),"line-gradient":new qn(Tt.paint_line["line-gradient"])}),layout:Zo},Ko=new(function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Cn(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,a){return r=h({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,a)},e}(jn))(Jo.paint.properties["line-width"].specification);Ko.useIntegerZoom=!0;var Qo=function(t){function e(e){t.call(this,e,Jo)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){"line-gradient"===t&&this._updateGradient()},e.prototype._updateGradient=function(){var t=this._transitionablePaint._values["line-gradient"].value.expression;this.gradient=zi(t,"lineProgress"),this.gradientTexture=null},e.prototype.recalculate=function(e){t.prototype.recalculate.call(this,e),this.paint._values["line-floorwidth"]=Ko.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new Xo(t)},e.prototype.queryRadius=function(t){var e=t,r=$o(vi("line-width",this,e),vi("line-gap-width",this,e)),n=vi("line-offset",this,e);return r/2+Math.abs(n)+mi(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=yi(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*$o(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i<t.length;i++){for(var o=t[i],s=[],l=0;l<o.length;l++){var c=o[l-1],u=o[l],h=o[l+1],f=0===l?n:u.sub(c)._unit()._perp(),p=l===o.length-1?n:h.sub(u)._unit()._perp(),d=f._add(p)._unit(),g=d.x*p.x+d.y*p.y;d._mult(1/g),s.push(d._mult(e)._add(u))}r.push(s)}return r}(n,u*s)),function(t,e,r){for(var n=0;n<e.length;n++){var a=e[n];if(t.length>=3)for(var i=0;i<a.length;i++)if(di(t,a[i]))return!0;if(li(t,a,r))return!0}return!1}(l,n,c)},e.prototype.isTileClipped=function(){return!0},e}(Gn);function $o(t,e){return e>0?e+2*t:t}var ts=Zn([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"}]),es=Zn([{name:"a_projected_pos",components:3,type:"Float32"}],4),rs=(Zn([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),Zn([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),ns=(Zn([{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"},{type:"Int16",name:"radius"},{type:"Int16",name:"signedDistanceFromAnchor"}]),Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),as=Zn([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4);function is(t,e,r){return t.sections.forEach(function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ln.applyArabicShaping&&(t=Ln.applyArabicShaping(t)),t}(t.text,e,r)}),t}Zn([{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"}]),Zn([{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:"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:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"radialTextOffset"}]),Zn([{type:"Float32",name:"offsetX"}]),Zn([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var os={"!":"\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"},ss=24,ls={horizontal:1,vertical:2,horizontalOnly:3},cs=function(){this.text="",this.sectionIndex=[],this.sections=[]};function us(t,e,r,n,a,i,o,s,l,c,u){var h,f=cs.fromFeature(t,r);c===ls.vertical&&f.verticalizePunctuation();var p=Ln.processBidirectionalText,d=Ln.processStyledBidirectionalText;if(p&&1===f.sections.length){h=[];for(var g=0,v=p(f.toString(),vs(f,s,n,e));g<v.length;g+=1){var m=v[g],y=new cs;y.text=m,y.sections=f.sections;for(var x=0;x<m.length;x++)y.sectionIndex.push(0);h.push(y)}}else if(d){h=[];for(var b=0,_=d(f.text,f.sectionIndex,vs(f,s,n,e));b<_.length;b+=1){var w=_[b],k=new cs;k.text=w[0],k.sectionIndex=w[1],k.sections=f.sections,h.push(k)}}else h=function(t,e){for(var r=[],n=t.text,a=0,i=0,o=e;i<o.length;i+=1){var s=o[i];r.push(t.substring(a,s)),a=s}return a<n.length&&r.push(t.substring(a,n.length)),r}(f,vs(f,s,n,e));var T=[],A={positionedGlyphs:T,text:f.toString(),top:l[1],bottom:l[1],left:l[0],right:l[0],writingMode:c,lineCount:h.length,yOffset:-17};return function(t,e,r,n,a,i,o,s,l){for(var c=0,u=t.yOffset,h=0,f=t.positionedGlyphs,p="right"===i?1:"left"===i?0:.5,d=0,g=r;d<g.length;d+=1){var v=g[d];v.trim();var m=v.getMaxScale();if(v.length()){for(var y=f.length,x=0;x<v.length();x++){var b=v.getSection(x),_=v.getSectionIndex(x),w=v.getCharCode(x),k=24*(m-b.scale),T=e[b.fontStack],A=T&&T[w];A&&(o===ls.horizontal||!l&&!_n(w)||l&&(hs[w]||(S=w,yn.Arabic(S)||yn["Arabic Supplement"](S)||yn["Arabic Extended-A"](S)||yn["Arabic Presentation Forms-A"](S)||yn["Arabic Presentation Forms-B"](S)))?(f.push({glyph:w,x:c,y:u+k,vertical:!1,scale:b.scale,fontStack:b.fontStack,sectionIndex:_}),c+=A.metrics.advance*b.scale+s):(f.push({glyph:w,x:c,y:u+k,vertical:!0,scale:b.scale,fontStack:b.fontStack,sectionIndex:_}),c+=ss*b.scale+s))}if(f.length!==y){var M=c-s;h=Math.max(M,h),ys(f,e,y,f.length-1,p)}c=0,u+=n*m}else u+=n}var S,E=ms(a),L=E.horizontalAlign,C=E.verticalAlign;!function(t,e,r,n,a,i,o){for(var s=(e-r)*a,l=(-n*o+.5)*i,c=0;c<t.length;c++)t[c].x+=s,t[c].y+=l}(f,p,L,C,h,n,r.length);var P=u-t.yOffset;t.top+=-C*P,t.bottom=t.top+P,t.left+=-L*h,t.right=t.left+h}(A,e,h,a,i,o,c,s,u),!!T.length&&A}cs.fromFeature=function(t,e){for(var r=new cs,n=0;n<t.sections.length;n++){var a=t.sections[n];r.sections.push({scale:a.scale||1,fontStack:a.fontStack||e}),r.text+=a.text;for(var i=0;i<a.text.length;i++)r.sectionIndex.push(n)}return r},cs.prototype.length=function(){return this.text.length},cs.prototype.getSection=function(t){return this.sections[this.sectionIndex[t]]},cs.prototype.getSectionIndex=function(t){return this.sectionIndex[t]},cs.prototype.getCharCode=function(t){return this.text.charCodeAt(t)},cs.prototype.verticalizePunctuation=function(){this.text=function(t){for(var e="",r=0;r<t.length;r++){var n=t.charCodeAt(r+1)||null,a=t.charCodeAt(r-1)||null;n&&wn(n)&&!os[t[r+1]]||a&&wn(a)&&!os[t[r-1]]||!os[t[r]]?e+=t[r]:e+=os[t[r]]}return e}(this.text)},cs.prototype.trim=function(){for(var t=0,e=0;e<this.text.length&&hs[this.text.charCodeAt(e)];e++)t++;for(var r=this.text.length,n=this.text.length-1;n>=0&&n>=t&&hs[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},cs.prototype.substring=function(t,e){var r=new cs;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},cs.prototype.toString=function(){return this.text},cs.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce(function(e,r){return Math.max(e,t.sections[r].scale)},0)};var hs={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},fs={};function ps(t,e,r,n){var a=Math.pow(t-e,2);return n?t<e?a/2:2*a:a+Math.abs(r)*r}function ds(t,e,r){var n=0;return 10===t&&(n-=1e4),r&&(n+=150),40!==t&&65288!==t||(n+=50),41!==e&&65289!==e||(n+=50),n}function gs(t,e,r,n,a,i){for(var o=null,s=ps(e,r,a,i),l=0,c=n;l<c.length;l+=1){var u=c[l],h=ps(e-u.x,r,a,i)+u.badness;h<=s&&(o=u,s=h)}return{index:t,x:e,priorBreak:o,badness:s}}function vs(t,e,r,n){if(!r)return[];if(!t)return[];for(var a,i=[],o=function(t,e,r,n){for(var a=0,i=0;i<t.length();i++){var o=t.getSection(i),s=n[o.fontStack],l=s&&s[t.getCharCode(i)];l&&(a+=l.metrics.advance*o.scale+e)}return a/Math.max(1,Math.ceil(a/r))}(t,e,r,n),s=t.text.indexOf("\u200b")>=0,l=0,c=0;c<t.length();c++){var u=t.getSection(c),h=t.getCharCode(c),f=n[u.fontStack],p=f&&f[h];if(p&&!hs[h]&&(l+=p.metrics.advance*u.scale+e),c<t.length()-1){var d=!((a=h)<11904||!(yn["Bopomofo Extended"](a)||yn.Bopomofo(a)||yn["CJK Compatibility Forms"](a)||yn["CJK Compatibility Ideographs"](a)||yn["CJK Compatibility"](a)||yn["CJK Radicals Supplement"](a)||yn["CJK Strokes"](a)||yn["CJK Symbols and Punctuation"](a)||yn["CJK Unified Ideographs Extension A"](a)||yn["CJK Unified Ideographs"](a)||yn["Enclosed CJK Letters and Months"](a)||yn["Halfwidth and Fullwidth Forms"](a)||yn.Hiragana(a)||yn["Ideographic Description Characters"](a)||yn["Kangxi Radicals"](a)||yn["Katakana Phonetic Extensions"](a)||yn.Katakana(a)||yn["Vertical Forms"](a)||yn["Yi Radicals"](a)||yn["Yi Syllables"](a)));(fs[h]||d)&&i.push(gs(c+1,l,o,i,ds(h,t.getCharCode(c+1),d&&s),!1))}}return function t(e){return e?t(e.priorBreak).concat(e.index):[]}(gs(t.length(),l,o,i,0,!0))}function ms(t){var e=.5,r=.5;switch(t){case"right":case"top-right":case"bottom-right":e=1;break;case"left":case"top-left":case"bottom-left":e=0}switch(t){case"bottom":case"bottom-right":case"bottom-left":r=1;break;case"top":case"top-right":case"top-left":r=0}return{horizontalAlign:e,verticalAlign:r}}function ys(t,e,r,n,a){if(a){var i=t[n],o=e[i.fontStack],s=o&&o[i.glyph];if(s)for(var l=s.metrics.advance*i.scale,c=(t[n].x+l)*a,u=r;u<=n;u++)t[u].x-=c}}fs[10]=!0,fs[32]=!0,fs[38]=!0,fs[40]=!0,fs[41]=!0,fs[43]=!0,fs[45]=!0,fs[47]=!0,fs[173]=!0,fs[183]=!0,fs[8203]=!0,fs[8208]=!0,fs[8211]=!0,fs[8231]=!0;var xs=function(t){function e(e,r,n,a){t.call(this,e,r),this.angle=n,void 0!==a&&(this.segment=a)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.clone=function(){return new e(this.x,this.y,this.angle,this.segment)},e}(a);pn("Anchor",xs);var bs=256;function _s(t,e){var r=e.expression;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Cn(t+1))};if("source"===r.kind)return{kind:"source"};for(var n=r.zoomStops,a=r.interpolationType,i=0;i<n.length&&n[i]<=t;)i++;for(var o=i=Math.max(0,i-1);o<n.length&&n[o]<t+1;)o++;o=Math.min(n.length-1,o);var s=n[i],l=n[o];return"composite"===r.kind?{kind:"composite",minZoom:s,maxZoom:l,interpolationType:a}:{kind:"camera",minZoom:s,maxZoom:l,minSize:r.evaluate(new Cn(s)),maxSize:r.evaluate(new Cn(l)),interpolationType:a}}function ws(t,e,r){var n=e.uSize,a=e.uSizeT,i=r.lowerSize,o=r.upperSize;return"source"===t.kind?i/bs:"composite"===t.kind?ye(i/bs,o/bs,a):n}function ks(t,e){var r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){var a=t.interpolationType,i=t.minZoom,o=t.maxZoom,s=a?c(Be.interpolationFactor(a,e,i,o),0,1):0;"camera"===t.kind?n=ye(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}}var Ts=Object.freeze({getSizeData:_s,evaluateSizeForFeature:ws,evaluateSizeForZoom:ks,SIZE_PACK_FACTOR:bs}),As=zo.VectorTileFeature.types,Ms=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function Ss(t,e,r,n,a,i,o,s){t.emplaceBack(e,r,Math.round(32*n),Math.round(32*a),i,o,s?s[0]:0,s?s[1]:0)}function Es(t,e,r){t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r),t.emplaceBack(e.x,e.y,r)}var Ls=function(t){this.layoutVertexArray=new ra,this.indexArray=new pa,this.programConfigurations=t,this.segments=new Pa,this.dynamicLayoutVertexArray=new na,this.opacityVertexArray=new aa,this.placedSymbolArray=new _a};Ls.prototype.upload=function(t,e,r,n){r&&(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ts.members),this.indexBuffer=t.createIndexBuffer(this.indexArray,e),this.dynamicLayoutVertexBuffer=t.createVertexBuffer(this.dynamicLayoutVertexArray,es.members,!0),this.opacityVertexBuffer=t.createVertexBuffer(this.opacityVertexArray,Ms,!0),this.opacityVertexBuffer.itemSize=1),(r||n)&&this.programConfigurations.upload(t)},Ls.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.dynamicLayoutVertexBuffer.destroy(),this.opacityVertexBuffer.destroy())},pn("SymbolBuffers",Ls);var Cs=function(t,e,r){this.layoutVertexArray=new t,this.layoutAttributes=e,this.indexArray=new r,this.segments=new Pa,this.collisionVertexArray=new sa};Cs.prototype.upload=function(t){this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,this.layoutAttributes),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.collisionVertexBuffer=t.createVertexBuffer(this.collisionVertexArray,rs.members,!0)},Cs.prototype.destroy=function(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.collisionVertexBuffer.destroy())},pn("CollisionBuffers",Cs);var Ps=function(t){this.collisionBoxArray=t.collisionBoxArray,this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(function(t){return t.id}),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasPaintOverrides=!1;var e=this.layers[0]._unevaluatedLayout._values;this.textSizeData=_s(this.zoom,e["text-size"]),this.iconSizeData=_s(this.zoom,e["icon-size"]);var r=this.layers[0].layout,n=r.get("symbol-sort-key"),a=r.get("symbol-z-order");this.sortFeaturesByKey="viewport-y"!==a&&void 0!==n.constantOr(1);var i="viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey;this.sortFeaturesByY=i&&(r.get("text-allow-overlap")||r.get("icon-allow-overlap")||r.get("text-ignore-placement")||r.get("icon-ignore-placement")),"point"===r.get("symbol-placement")&&(this.writingModes=r.get("text-writing-mode").map(function(t){return ls[t]})),this.stateDependentLayerIds=this.layers.filter(function(t){return t.isStateDependent()}).map(function(t){return t.id}),this.sourceID=t.sourceID};Ps.prototype.createArrays=function(){var t=this.layers[0].layout;this.hasPaintOverrides=Ds.hasPaintOverrides(t),this.text=new Ls(new Ka(ts.members,this.layers,this.zoom,function(t){return/^text/.test(t)})),this.icon=new Ls(new Ka(ts.members,this.layers,this.zoom,function(t){return/^icon/.test(t)})),this.collisionBox=new Cs(oa,ns.members,da),this.collisionCircle=new Cs(oa,as.members,pa),this.glyphOffsetArray=new Aa,this.lineVertexArray=new Sa,this.symbolInstances=new ka},Ps.prototype.calculateGlyphDependencies=function(t,e,r,n,a){for(var i=0;i<t.length;i++)if(e[t.charCodeAt(i)]=!0,(r||n)&&a){var o=os[t.charAt(i)];o&&(e[o.charCodeAt(0)]=!0)}},Ps.prototype.populate=function(t,e){var r=this.layers[0],n=r.layout,a=n.get("text-font"),i=n.get("text-field"),o=n.get("icon-image"),s=("constant"!==i.value.kind||i.value.value.toString().length>0)&&("constant"!==a.value.kind||a.value.value.length>0),l="constant"!==o.value.kind||o.value.value&&o.value.value.length>0,c=n.get("symbol-sort-key");if(this.features=[],s||l){for(var u=e.iconDependencies,h=e.glyphDependencies,f=new Cn(this.zoom),p=0,d=t;p<d.length;p+=1){var g=d[p],v=g.feature,m=g.index,y=g.sourceLayerIndex;if(r._featureFilter(f,v)){var x=void 0;if(s){var b=r.getValueAndResolveTokens("text-field",v);x=is(b instanceof Jt?b:Jt.fromString(b),r,v)}var _=void 0;if(l&&(_=r.getValueAndResolveTokens("icon-image",v)),x||_){var w=this.sortFeaturesByKey?c.evaluate(v,{}):void 0,k={text:x,icon:_,index:m,sourceLayerIndex:y,geometry:ri(v),properties:v.properties,type:As[v.type],sortKey:w};if(void 0!==v.id&&(k.id=v.id),this.features.push(k),_&&(u[_]=!0),x){var T=a.evaluate(v,{}).join(","),A="map"===n.get("text-rotation-alignment")&&"point"!==n.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(ls.vertical)>=0;for(var M=0,S=x.sections;M<S.length;M+=1){var E=S[M],L=xn(x.toString()),C=E.fontStack||T,P=h[C]=h[C]||{};this.calculateGlyphDependencies(E.text,P,A,this.allowVerticalPlacement,L)}}}}}"line"===n.get("symbol-placement")&&(this.features=function(t){var e={},r={},n=[],a=0;function i(e){n.push(t[e]),a++}function o(t,e,a){var i=r[t];return delete r[t],r[e]=i,n[i].geometry[0].pop(),n[i].geometry[0]=n[i].geometry[0].concat(a[0]),i}function s(t,r,a){var i=e[r];return delete e[r],e[t]=i,n[i].geometry[0].shift(),n[i].geometry[0]=a[0].concat(n[i].geometry[0]),i}function l(t,e,r){var n=r?e[0][e[0].length-1]:e[0][0];return t+":"+n.x+":"+n.y}for(var c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.text?u.text.toString():null;if(f){var p=l(f,h),d=l(f,h,!0);if(p in r&&d in e&&r[p]!==e[d]){var g=s(p,d,h),v=o(p,d,n[g].geometry);delete e[p],delete r[d],r[l(f,n[v].geometry,!0)]=v,n[g].geometry=null}else p in r?o(p,d,h):d in e?s(p,d,h):(i(c),e[p]=a-1,r[d]=a-1)}else i(c)}return n.filter(function(t){return t.geometry})}(this.features)),this.sortFeaturesByKey&&this.features.sort(function(t,e){return t.sortKey-e.sortKey})}},Ps.prototype.update=function(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))},Ps.prototype.isEmpty=function(){return 0===this.symbolInstances.length},Ps.prototype.uploadPending=function(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload},Ps.prototype.upload=function(t){this.uploaded||(this.collisionBox.upload(t),this.collisionCircle.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0},Ps.prototype.destroy=function(){this.text.destroy(),this.icon.destroy(),this.collisionBox.destroy(),this.collisionCircle.destroy()},Ps.prototype.addToLineVertexArray=function(t,e){var r=this.lineVertexArray.length;if(void 0!==t.segment){for(var n=t.dist(e[t.segment+1]),a=t.dist(e[t.segment]),i={},o=t.segment+1;o<e.length;o++)i[o]={x:e[o].x,y:e[o].y,tileUnitDistanceFromAnchor:n},o<e.length-1&&(n+=e[o+1].dist(e[o]));for(var s=t.segment||0;s>=0;s--)i[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:a},s>0&&(a+=e[s-1].dist(e[s]));for(var l=0;l<e.length;l++){var c=i[l];this.lineVertexArray.emplaceBack(c.x,c.y,c.tileUnitDistanceFromAnchor)}}return{lineStartIndex:r,lineLength:this.lineVertexArray.length-r}},Ps.prototype.addSymbols=function(t,e,r,n,a,i,o,s,l,c){var u=this,h=t.indexArray,f=t.layoutVertexArray,p=t.dynamicLayoutVertexArray,d=t.segments.prepareSegment(4*e.length,t.layoutVertexArray,t.indexArray,i.sortKey),g=this.glyphOffsetArray.length,v=d.vertexLength,m=this.allowVerticalPlacement&&o===ls.vertical?Math.PI/2:0,y=function(t){var e=t.tl,n=t.tr,a=t.bl,i=t.br,o=t.tex,l=d.vertexLength,c=t.glyphOffset[1];Ss(f,s.x,s.y,e.x,c+e.y,o.x,o.y,r),Ss(f,s.x,s.y,n.x,c+n.y,o.x+o.w,o.y,r),Ss(f,s.x,s.y,a.x,c+a.y,o.x,o.y+o.h,r),Ss(f,s.x,s.y,i.x,c+i.y,o.x+o.w,o.y+o.h,r),Es(p,s,m),h.emplaceBack(l,l+1,l+2),h.emplaceBack(l+1,l+2,l+3),d.vertexLength+=4,d.primitiveLength+=2,u.glyphOffsetArray.emplaceBack(t.glyphOffset[0])};if(i.text&&i.text.sections){var x=i.text.sections;if(this.hasPaintOverrides){for(var b,_=function(e,r){void 0===b||b===e&&!r||t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{},x[b]),b=e},w=0,k=e;w<k.length;w+=1){var T=k[w];_(T.sectionIndex,!1),y(T)}_(b,!0)}else{for(var A=0,M=e;A<M.length;A+=1)y(M[A]);t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{},x[0])}}else{for(var S=0,E=e;S<E.length;S+=1)y(E[S]);t.programConfigurations.populatePaintArrays(t.layoutVertexArray.length,i,i.index,{})}t.placedSymbolArray.emplaceBack(s.x,s.y,g,this.glyphOffsetArray.length-g,v,l,c,s.segment,r?r[0]:0,r?r[1]:0,n[0],n[1],o,0,!1,0)},Ps.prototype._addCollisionDebugVertex=function(t,e,r,n,a,i){return e.emplaceBack(0,0),t.emplaceBack(r.x,r.y,n,a,Math.round(i.x),Math.round(i.y))},Ps.prototype.addCollisionDebugVertices=function(t,e,r,n,i,o,s,l){var c=i.segments.prepareSegment(4,i.layoutVertexArray,i.indexArray),u=c.vertexLength,h=i.layoutVertexArray,f=i.collisionVertexArray,p=s.anchorX,d=s.anchorY;if(this._addCollisionDebugVertex(h,f,o,p,d,new a(t,e)),this._addCollisionDebugVertex(h,f,o,p,d,new a(r,e)),this._addCollisionDebugVertex(h,f,o,p,d,new a(r,n)),this._addCollisionDebugVertex(h,f,o,p,d,new a(t,n)),c.vertexLength+=4,l){var g=i.indexArray;g.emplaceBack(u,u+1,u+2),g.emplaceBack(u,u+2,u+3),c.primitiveLength+=2}else{var v=i.indexArray;v.emplaceBack(u,u+1),v.emplaceBack(u+1,u+2),v.emplaceBack(u+2,u+3),v.emplaceBack(u+3,u),c.primitiveLength+=4}},Ps.prototype.addDebugCollisionBoxes=function(t,e,r){for(var n=t;n<e;n++){var a=this.collisionBoxArray.get(n),i=a.x1,o=a.y1,s=a.x2,l=a.y2,c=a.radius>0;this.addCollisionDebugVertices(i,o,s,l,c?this.collisionCircle:this.collisionBox,a.anchorPoint,r,c)}},Ps.prototype.generateCollisionDebugBuffers=function(){for(var t=0;t<this.symbolInstances.length;t++){var e=this.symbolInstances.get(t);this.addDebugCollisionBoxes(e.textBoxStartIndex,e.textBoxEndIndex,e),this.addDebugCollisionBoxes(e.verticalTextBoxStartIndex,e.verticalTextBoxEndIndex,e),this.addDebugCollisionBoxes(e.iconBoxStartIndex,e.iconBoxEndIndex,e)}},Ps.prototype._deserializeCollisionBoxesForSymbol=function(t,e,r,n,a,i,o){for(var s={},l=e;l<r;l++){var c=t.get(l);if(0===c.radius){s.textBox={x1:c.x1,y1:c.y1,x2:c.x2,y2:c.y2,anchorPointX:c.anchorPointX,anchorPointY:c.anchorPointY},s.textFeatureIndex=c.featureIndex;break}s.textCircles||(s.textCircles=[],s.textFeatureIndex=c.featureIndex),s.textCircles.push(c.anchorPointX,c.anchorPointY,c.radius,c.signedDistanceFromAnchor,1)}for(var u=n;u<a;u++){var h=t.get(u);if(0===h.radius){s.verticalTextBox={x1:h.x1,y1:h.y1,x2:h.x2,y2:h.y2,anchorPointX:h.anchorPointX,anchorPointY:h.anchorPointY},s.verticalTextFeatureIndex=h.featureIndex;break}}for(var f=i;f<o;f++){var p=t.get(f);if(0===p.radius){s.iconBox={x1:p.x1,y1:p.y1,x2:p.x2,y2:p.y2,anchorPointX:p.anchorPointX,anchorPointY:p.anchorPointY},s.iconFeatureIndex=p.featureIndex;break}}return s},Ps.prototype.deserializeCollisionBoxes=function(t){this.collisionArrays=[];for(var e=0;e<this.symbolInstances.length;e++){var r=this.symbolInstances.get(e);this.collisionArrays.push(this._deserializeCollisionBoxesForSymbol(t,r.textBoxStartIndex,r.textBoxEndIndex,r.verticalTextBoxStartIndex,r.verticalTextBoxEndIndex,r.iconBoxStartIndex,r.iconBoxEndIndex))}},Ps.prototype.hasTextData=function(){return this.text.segments.get().length>0},Ps.prototype.hasIconData=function(){return this.icon.segments.get().length>0},Ps.prototype.hasCollisionBoxData=function(){return this.collisionBox.segments.get().length>0},Ps.prototype.hasCollisionCircleData=function(){return this.collisionCircle.segments.get().length>0},Ps.prototype.addIndicesForPlacedTextSymbol=function(t){for(var e=this.text.placedSymbolArray.get(t),r=e.vertexStartIndex+4*e.numGlyphs,n=e.vertexStartIndex;n<r;n+=4)this.text.indexArray.emplaceBack(n,n+1,n+2),this.text.indexArray.emplaceBack(n+1,n+2,n+3)},Ps.prototype.getSortedSymbolIndexes=function(t){if(this.sortedAngle===t&&void 0!==this.symbolInstanceIndexes)return this.symbolInstanceIndexes;for(var e=Math.sin(t),r=Math.cos(t),n=[],a=[],i=[],o=0;o<this.symbolInstances.length;++o){i.push(o);var s=this.symbolInstances.get(o);n.push(0|Math.round(e*s.anchorX+r*s.anchorY)),a.push(s.featureIndex)}return i.sort(function(t,e){return n[t]-n[e]||a[e]-a[t]}),i},Ps.prototype.sortFeatures=function(t){var e=this;if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r<n.length;r+=1){var a=n[r],i=this.symbolInstances.get(a);this.featureSortOrder.push(i.featureIndex),[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach(function(t,r,n){t>=0&&n.indexOf(t)===r&&e.addIndicesForPlacedTextSymbol(t)}),i.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedTextSymbol(i.verticalPlacedTextSymbolIndex);var o=this.icon.placedSymbolArray.get(a);if(o.numGlyphs){var s=o.vertexStartIndex;this.icon.indexArray.emplaceBack(s,s+1,s+2),this.icon.indexArray.emplaceBack(s+1,s+2,s+3)}}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},pn("SymbolBucket",Ps,{omit:["layers","collisionBoxArray","features","compareText"]}),Ps.MAX_GLYPHS=65535,Ps.addDynamicAttributes=Es;var Os=new Hn({"symbol-placement":new Nn(Tt.layout_symbol["symbol-placement"]),"symbol-spacing":new Nn(Tt.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Nn(Tt.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new jn(Tt.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Nn(Tt.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Nn(Tt.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new Nn(Tt.layout_symbol["icon-ignore-placement"]),"icon-optional":new Nn(Tt.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Nn(Tt.layout_symbol["icon-rotation-alignment"]),"icon-size":new jn(Tt.layout_symbol["icon-size"]),"icon-text-fit":new Nn(Tt.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Nn(Tt.layout_symbol["icon-text-fit-padding"]),"icon-image":new jn(Tt.layout_symbol["icon-image"]),"icon-rotate":new jn(Tt.layout_symbol["icon-rotate"]),"icon-padding":new Nn(Tt.layout_symbol["icon-padding"]),"icon-keep-upright":new Nn(Tt.layout_symbol["icon-keep-upright"]),"icon-offset":new jn(Tt.layout_symbol["icon-offset"]),"icon-anchor":new jn(Tt.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Nn(Tt.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Nn(Tt.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Nn(Tt.layout_symbol["text-rotation-alignment"]),"text-field":new jn(Tt.layout_symbol["text-field"]),"text-font":new jn(Tt.layout_symbol["text-font"]),"text-size":new jn(Tt.layout_symbol["text-size"]),"text-max-width":new jn(Tt.layout_symbol["text-max-width"]),"text-line-height":new Nn(Tt.layout_symbol["text-line-height"]),"text-letter-spacing":new jn(Tt.layout_symbol["text-letter-spacing"]),"text-justify":new jn(Tt.layout_symbol["text-justify"]),"text-radial-offset":new jn(Tt.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Nn(Tt.layout_symbol["text-variable-anchor"]),"text-anchor":new jn(Tt.layout_symbol["text-anchor"]),"text-max-angle":new Nn(Tt.layout_symbol["text-max-angle"]),"text-writing-mode":new Nn(Tt.layout_symbol["text-writing-mode"]),"text-rotate":new jn(Tt.layout_symbol["text-rotate"]),"text-padding":new Nn(Tt.layout_symbol["text-padding"]),"text-keep-upright":new Nn(Tt.layout_symbol["text-keep-upright"]),"text-transform":new jn(Tt.layout_symbol["text-transform"]),"text-offset":new jn(Tt.layout_symbol["text-offset"]),"text-allow-overlap":new Nn(Tt.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new Nn(Tt.layout_symbol["text-ignore-placement"]),"text-optional":new Nn(Tt.layout_symbol["text-optional"])}),zs={paint:new Hn({"icon-opacity":new jn(Tt.paint_symbol["icon-opacity"]),"icon-color":new jn(Tt.paint_symbol["icon-color"]),"icon-halo-color":new jn(Tt.paint_symbol["icon-halo-color"]),"icon-halo-width":new jn(Tt.paint_symbol["icon-halo-width"]),"icon-halo-blur":new jn(Tt.paint_symbol["icon-halo-blur"]),"icon-translate":new Nn(Tt.paint_symbol["icon-translate"]),"icon-translate-anchor":new Nn(Tt.paint_symbol["icon-translate-anchor"]),"text-opacity":new jn(Tt.paint_symbol["text-opacity"]),"text-color":new jn(Tt.paint_symbol["text-color"],{runtimeType:Ft,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new jn(Tt.paint_symbol["text-halo-color"]),"text-halo-width":new jn(Tt.paint_symbol["text-halo-width"]),"text-halo-blur":new jn(Tt.paint_symbol["text-halo-blur"]),"text-translate":new Nn(Tt.paint_symbol["text-translate"]),"text-translate-anchor":new Nn(Tt.paint_symbol["text-translate-anchor"])}),layout:Os},Is=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:zt,this.defaultValue=t};Is.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},Is.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},Is.prototype.possibleOutputs=function(){return[void 0]},Is.prototype.serialize=function(){return null},pn("FormatSectionOverride",Is,{omit:["defaultValue"]});var Ds=function(t){function e(e){t.call(this,e,zs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e){if(t.prototype.recalculate.call(this,e),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var r=this.layout.get("text-writing-mode");if(r){for(var n=[],a=0,i=r;a<i.length;a+=1){var o=i[a];n.indexOf(o)<0&&n.push(o)}this.layout._values["text-writing-mode"]=n}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()},e.prototype.getValueAndResolveTokens=function(t,e){var r=this.layout.get(t).evaluate(e,{}),n=this._unevaluatedLayout._values[t];return n.isDataDriven()||_r(n.value)?r:function(t,e){return r.replace(/{([^{}]+)}/g,function(e,r){return r in t?String(t[r]):""})}(e.properties)},e.prototype.createBucket=function(t){return new Ps(t)},e.prototype.queryRadius=function(){return 0},e.prototype.queryIntersectsFeature=function(){return!1},e.prototype._setPaintOverrides=function(){for(var t=0,r=zs.paint.overridableProperties;t<r.length;t+=1){var n=r[t];if(e.hasPaintOverride(this.layout,n)){var a,i=this.paint.get(n),o=new Is(i),s=new br(o,i.property.specification);a="constant"===i.value.kind||"source"===i.value.kind?new kr("source",s):new Tr("composite",s,i.value.zoomStops,i.value._interpolationType),this.paint._values[n]=new Fn(i.property,a,i.parameters)}}},e.prototype._handleOverridablePaintPropertyUpdate=function(t,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&e.hasPaintOverride(this.layout,t)},e.hasPaintOverride=function(t,e){var r=t.get("text-field"),n=zs.paint.properties[e],a=!1,i=function(t){for(var e=0,r=t;e<r.length;e+=1){var i=r[e];if(n.overrides&&n.overrides.hasOverride(i))return void(a=!0)}};if("constant"===r.value.kind&&r.value.value instanceof Jt)i(r.value.value.sections);else if("source"===r.value.kind){var o=function(t){if(!a)if(t instanceof te&&Qt(t.value)===Vt){var e=t.value;i(e.sections)}else t instanceof ae?i(t.sections):t.eachChild(o)},s=r.value;s._styleExpression&&o(s._styleExpression.expression)}return a},e.hasPaintOverrides=function(t){for(var r=0,n=zs.paint.overridableProperties;r<n.length;r+=1){var a=n[r];if(e.hasPaintOverride(t,a))return!0}return!1},e}(Gn),Rs={paint:new Hn({"background-color":new Nn(Tt.paint_background["background-color"]),"background-pattern":new Un(Tt.paint_background["background-pattern"]),"background-opacity":new Nn(Tt.paint_background["background-opacity"])})},Fs=function(t){function e(e){t.call(this,e,Rs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Gn),Bs={paint:new Hn({"raster-opacity":new Nn(Tt.paint_raster["raster-opacity"]),"raster-hue-rotate":new Nn(Tt.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Nn(Tt.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Nn(Tt.paint_raster["raster-brightness-max"]),"raster-saturation":new Nn(Tt.paint_raster["raster-saturation"]),"raster-contrast":new Nn(Tt.paint_raster["raster-contrast"]),"raster-resampling":new Nn(Tt.paint_raster["raster-resampling"]),"raster-fade-duration":new Nn(Tt.paint_raster["raster-fade-duration"])})},Ns=function(t){function e(e){t.call(this,e,Bs)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Gn),js=function(t){function e(e){t.call(this,e,{}),this.implementation=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.is3D=function(){return"3d"===this.implementation.renderingMode},e.prototype.hasOffscreenPass=function(){return void 0!==this.implementation.prerender},e.prototype.recalculate=function(){},e.prototype.updateTransitions=function(){},e.prototype.hasTransition=function(){},e.prototype.serialize=function(){},e.prototype.onAdd=function(t){this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},e.prototype.onRemove=function(t){this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},e}(Gn),Vs={circle:Ti,heatmap:Ii,hillshade:Ri,fill:ko,"fill-extrusion":Vo,line:Qo,symbol:Ds,background:Fs,raster:Ns};function Us(t){for(var e=0,r=0,n=0,a=t;n<a.length;n+=1){var i=a[n];e+=i.w*i.h,r=Math.max(r,i.w)}t.sort(function(t,e){return e.h-t.h});for(var o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}],s=0,l=0,c=0,u=t;c<u.length;c+=1)for(var h=u[c],f=o.length-1;f>=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f<o.length&&(o[f]=d)}else h.h===p.h?(p.x+=h.w,p.w-=h.w):h.w===p.w?(p.y+=h.h,p.h-=h.h):(o.push({x:p.x+h.w,y:p.y,w:p.w-h.w,h:h.h}),p.y+=h.h,p.h-=h.h);break}}return{w:s,h:l,fill:e/(s*l)||0}}var qs=function(t,e){var r=e.pixelRatio,n=e.version;this.paddedRect=t,this.pixelRatio=r,this.version=n},Hs={tl:{configurable:!0},br:{configurable:!0},tlbr:{configurable:!0},displaySize:{configurable:!0}};Hs.tl.get=function(){return[this.paddedRect.x+1,this.paddedRect.y+1]},Hs.br.get=function(){return[this.paddedRect.x+this.paddedRect.w-1,this.paddedRect.y+this.paddedRect.h-1]},Hs.tlbr.get=function(){return this.tl.concat(this.br)},Hs.displaySize.get=function(){return[(this.paddedRect.w-2)/this.pixelRatio,(this.paddedRect.h-2)/this.pixelRatio]},Object.defineProperties(qs.prototype,Hs);var Gs=function(t,e){var r={},n={};this.haveRenderCallbacks=[];var a=[];this.addImages(t,r,a),this.addImages(e,n,a);var i=Us(a),o=i.w,s=i.h,l=new Pi({width:o||1,height:s||1});for(var c in t){var u=t[c],h=r[c].paddedRect;Pi.copy(u.data,l,{x:0,y:0},{x:h.x+1,y:h.y+1},u.data)}for(var f in e){var p=e[f],d=n[f].paddedRect,g=d.x+1,v=d.y+1,m=p.data.width,y=p.data.height;Pi.copy(p.data,l,{x:0,y:0},{x:g,y:v},p.data),Pi.copy(p.data,l,{x:0,y:y-1},{x:g,y:v-1},{width:m,height:1}),Pi.copy(p.data,l,{x:0,y:0},{x:g,y:v+y},{width:m,height:1}),Pi.copy(p.data,l,{x:m-1,y:0},{x:g-1,y:v},{width:1,height:y}),Pi.copy(p.data,l,{x:0,y:0},{x:g+m,y:v},{width:1,height:y})}this.image=l,this.iconPositions=r,this.patternPositions=n};Gs.prototype.addImages=function(t,e,r){for(var n in t){var a=t[n],i={x:0,y:0,w:a.data.width+2,h:a.data.height+2};r.push(i),e[n]=new qs(i,a),a.hasRenderCallback&&this.haveRenderCallbacks.push(n)}},Gs.prototype.patchUpdatedImages=function(t,e){for(var r in t.dispatchRenderCallbacks(this.haveRenderCallbacks),t.updatedImages)this.patchUpdatedImage(this.iconPositions[r],t.getImage(r),e),this.patchUpdatedImage(this.patternPositions[r],t.getImage(r),e)},Gs.prototype.patchUpdatedImage=function(t,e,r){if(t&&e&&t.version!==e.version){t.version=e.version;var n=t.tl,a=n[0],i=n[1];r.update(e.data,void 0,{x:a,y:i})}},pn("ImagePosition",qs),pn("ImageAtlas",Gs);var Ys=self.HTMLImageElement,Ws=self.HTMLCanvasElement,Xs=self.HTMLVideoElement,Zs=self.ImageData,Js=function(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)};Js.prototype.update=function(t,e,r){var n=t.width,a=t.height,i=!(this.size&&this.size[0]===n&&this.size[1]===a||r),o=this.context,s=o.gl;if(this.useMipmap=Boolean(e&&e.useMipmap),s.bindTexture(s.TEXTURE_2D,this.texture),o.pixelStoreUnpackFlipY.set(!1),o.pixelStoreUnpack.set(1),o.pixelStoreUnpackPremultiplyAlpha.set(this.format===s.RGBA&&(!e||!1!==e.premultiply)),i)this.size=[n,a],t instanceof Ys||t instanceof Ws||t instanceof Xs||t instanceof Zs?s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,s.UNSIGNED_BYTE,t):s.texImage2D(s.TEXTURE_2D,0,this.format,n,a,0,this.format,s.UNSIGNED_BYTE,t.data);else{var l=r||{x:0,y:0},c=l.x,u=l.y;t instanceof Ys||t instanceof Ws||t instanceof Xs||t instanceof Zs?s.texSubImage2D(s.TEXTURE_2D,0,c,u,s.RGBA,s.UNSIGNED_BYTE,t):s.texSubImage2D(s.TEXTURE_2D,0,c,u,n,a,s.RGBA,s.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&s.generateMipmap(s.TEXTURE_2D)},Js.prototype.bind=function(t,e,r){var n=this.context.gl;n.bindTexture(n.TEXTURE_2D,this.texture),r!==n.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=n.LINEAR),t!==this.filter&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,t),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,e),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,e),this.wrap=e)},Js.prototype.isSizePowerOfTwo=function(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0},Js.prototype.destroy=function(){this.context.gl.deleteTexture(this.texture),this.texture=null};var Ks=function(t,e,r,n,a){var i,o,s=8*a-n-1,l=(1<<s)-1,c=l>>1,u=-7,h=r?a-1:0,f=r?-1:1,p=t[e+h];for(h+=f,i=p&(1<<-u)-1,p>>=-u,u+=s;u>0;i=256*i+t[e+h],h+=f,u-=8);for(o=i&(1<<-u)-1,i>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===i)i=1-c;else{if(i===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),i-=c}return(p?-1:1)*o*Math.pow(2,i-n)},Qs=function(t,e,r,n,a,i){var o,s,l,c=8*i-a-1,u=(1<<c)-1,h=u>>1,f=23===a?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,a),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,a),o=0));a>=8;t[r+p]=255&s,p+=d,s/=256,a-=8);for(o=o<<a|s,c+=a;c>0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*g},$s=tl;function tl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}function el(t){return t.type===tl.Bytes?t.readVarint()+t.pos:t.pos+1}function rl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var a=r.pos-1;a>=t;a--)r.buf[a+n]=r.buf[a]}function al(t,e){for(var r=0;r<t.length;r++)e.writeVarint(t[r])}function il(t,e){for(var r=0;r<t.length;r++)e.writeSVarint(t[r])}function ol(t,e){for(var r=0;r<t.length;r++)e.writeFloat(t[r])}function sl(t,e){for(var r=0;r<t.length;r++)e.writeDouble(t[r])}function ll(t,e){for(var r=0;r<t.length;r++)e.writeBoolean(t[r])}function cl(t,e){for(var r=0;r<t.length;r++)e.writeFixed32(t[r])}function ul(t,e){for(var r=0;r<t.length;r++)e.writeSFixed32(t[r])}function hl(t,e){for(var r=0;r<t.length;r++)e.writeFixed64(t[r])}function fl(t,e){for(var r=0;r<t.length;r++)e.writeSFixed64(t[r])}function pl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+16777216*t[e+3]}function dl(t,e,r){t[r]=e,t[r+1]=e>>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function gl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}tl.Varint=0,tl.Fixed64=1,tl.Bytes=2,tl.Fixed32=5,tl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos<r;){var n=this.readVarint(),a=n>>3,i=this.pos;this.type=7&n,t(a,e,this),this.pos===i&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=pl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=gl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*pl(this.buf,this.pos+4);return this.pos+=8,t},readSFixed64:function(){var t=pl(this.buf,this.pos)+4294967296*gl(this.buf,this.pos+4);return this.pos+=8,t},readFloat:function(){var t=Ks(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ks(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,a,i=r.buf;if(n=(112&(a=i[r.pos++]))>>4,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<3,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<10,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<17,a<128)return rl(t,n,e);if(n|=(127&(a=i[r.pos++]))<<24,a<128)return rl(t,n,e);if(n|=(1&(a=i[r.pos++]))<<31,a<128)return rl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=function(t,e,r){for(var n="",a=e;a<r;){var i,o,s,l=t[a],c=null,u=l>239?4:l>223?3:l>191?2:1;if(a+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(i=t[a+1]))&&(c=(31&l)<<6|63&i)<=127&&(c=null):3===u?(i=t[a+1],o=t[a+2],128==(192&i)&&128==(192&o)&&((c=(15&l)<<12|(63&i)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(i=t[a+1],o=t[a+2],s=t[a+3],128==(192&i)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&i)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),a+=u}return n}(this.buf,this.pos,t);return this.pos=t,e},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==tl.Bytes)return t.push(this.readVarint(e));var r=el(this);for(t=t||[];this.pos<r;)t.push(this.readVarint(e));return t},readPackedSVarint:function(t){if(this.type!==tl.Bytes)return t.push(this.readSVarint());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSVarint());return t},readPackedBoolean:function(t){if(this.type!==tl.Bytes)return t.push(this.readBoolean());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readBoolean());return t},readPackedFloat:function(t){if(this.type!==tl.Bytes)return t.push(this.readFloat());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFloat());return t},readPackedDouble:function(t){if(this.type!==tl.Bytes)return t.push(this.readDouble());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readDouble());return t},readPackedFixed32:function(t){if(this.type!==tl.Bytes)return t.push(this.readFixed32());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFixed32());return t},readPackedSFixed32:function(t){if(this.type!==tl.Bytes)return t.push(this.readSFixed32());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed32());return t},readPackedFixed64:function(t){if(this.type!==tl.Bytes)return t.push(this.readFixed64());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readFixed64());return t},readPackedSFixed64:function(t){if(this.type!==tl.Bytes)return t.push(this.readSFixed64());var e=el(this);for(t=t||[];this.pos<e;)t.push(this.readSFixed64());return t},skip:function(t){var e=7&t;if(e===tl.Varint)for(;this.buf[this.pos++]>127;);else if(e===tl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===tl.Fixed32)this.pos+=4;else{if(e!==tl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e<this.pos+t;)e*=2;if(e!==this.length){var r=new Uint8Array(e);r.set(this.buf),this.buf=r,this.length=e}},finish:function(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)},writeFixed32:function(t){this.realloc(4),dl(this.buf,t,this.pos),this.pos+=4},writeSFixed32:function(t){this.realloc(4),dl(this.buf,t,this.pos),this.pos+=4},writeFixed64:function(t){this.realloc(8),dl(this.buf,-1&t,this.pos),dl(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeSFixed64:function(t){this.realloc(8),dl(this.buf,-1&t,this.pos),dl(this.buf,Math.floor(t*(1/4294967296)),this.pos+4),this.pos+=8},writeVarint:function(t){(t=+t||0)>268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,a,i=0;i<e.length;i++){if((n=e.charCodeAt(i))>55295&&n<57344){if(!a){n>56319||i+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):a=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,a=n;continue}n=a-55296<<10|n-56320|65536,a=null}else a&&(t[r++]=239,t[r++]=191,t[r++]=189,a=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Qs(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Qs(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r<e;r++)this.buf[this.pos++]=t[r]},writeRawMessage:function(t,e){this.pos++;var r=this.pos;t(e,this);var n=this.pos-r;n>=128&&nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,tl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,al,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,il,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,ll,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,ol,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,sl,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,cl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,ul,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,hl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,fl,e)},writeBytesField:function(t,e){this.writeTag(t,tl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,tl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,tl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,tl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,tl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,tl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,tl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var vl=3;function ml(t,e,r){1===t&&r.readMessage(yl,e)}function yl(t,e,r){if(3===t){var n=r.readMessage(xl,{}),a=n.id,i=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:a,bitmap:new Ci({width:o+2*vl,height:s+2*vl},i),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function xl(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var bl=vl,_l=function(t){var e=this;this._callback=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=function(){e._triggered=!1,e._callback()})};_l.prototype.trigger=function(){var t=this;this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(function(){t._triggered=!1,t._callback()},0))};var wl=function(t,e,r){this.target=t,this.parent=e,this.mapId=r,this.callbacks={},this.tasks={},this.taskQueue=[],this.cancelCallbacks={},v(["receive","process"],this),this.invoker=new _l(this.process),this.target.addEventListener("message",this.receive,!1)};function kl(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}wl.prototype.send=function(t,e,r,n){var a=this,i=Math.round(1e18*Math.random()).toString(36).substring(0,10);r&&(this.callbacks[i]=r);var o=[];return this.target.postMessage({id:i,type:t,hasCallback:!!r,targetMapId:n,sourceMapId:this.mapId,data:gn(e,o)},o),{cancel:function(){r&&delete a.callbacks[i],a.target.postMessage({id:i,type:"<cancel>",targetMapId:n,sourceMapId:a.mapId})}}},wl.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if("<cancel>"===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()},wl.prototype.process=function(){var t=this;if(this.taskQueue.length){var e=this.taskQueue.shift(),r=this.tasks[e];if(delete this.tasks[e],this.taskQueue.length&&this.invoker.trigger(),r)if("<response>"===r.type){var n=this.callbacks[e];delete this.callbacks[e],n&&(r.error?n(vn(r.error)):n(null,vn(r.data)))}else{var a=!1,i=r.hasCallback?function(r,n){a=!0,delete t.cancelCallbacks[e];var i=[];t.target.postMessage({id:e,type:"<response>",sourceMapId:t.mapId,error:r?gn(r):null,data:gn(n,i)},i)}:function(t){a=!0},o=null,s=vn(r.data);if(this.parent[r.type])o=this.parent[r.type](r.sourceMapId,s,i);else if(this.parent.getWorkerSource){var l=r.type.split(".");o=this.parent.getWorkerSource(r.sourceMapId,l[0],s.source)[l[1]](s,i)}else i(new Error("Could not find function "+r.type));!a&&o&&o.cancel&&(this.cancelCallbacks[e]=o.cancel)}}},wl.prototype.remove=function(){this.target.removeEventListener("message",this.receive,!1)};var Tl=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Tl.prototype.setNorthEast=function(t){return this._ne=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.setSouthWest=function(t){return this._sw=t instanceof Al?new Al(t.lng,t.lat):Al.convert(t),this},Tl.prototype.extend=function(t){var e,r,n=this._sw,a=this._ne;if(t instanceof Al)e=t,r=t;else{if(!(t instanceof Tl))return Array.isArray(t)?t.every(Array.isArray)?this.extend(Tl.convert(t)):this.extend(Al.convert(t)):this;if(e=t._sw,r=t._ne,!e||!r)return this}return n||a?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),a.lng=Math.max(r.lng,a.lng),a.lat=Math.max(r.lat,a.lat)):(this._sw=new Al(e.lng,e.lat),this._ne=new Al(r.lng,r.lat)),this},Tl.prototype.getCenter=function(){return new Al((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Tl.prototype.getSouthWest=function(){return this._sw},Tl.prototype.getNorthEast=function(){return this._ne},Tl.prototype.getNorthWest=function(){return new Al(this.getWest(),this.getNorth())},Tl.prototype.getSouthEast=function(){return new Al(this.getEast(),this.getSouth())},Tl.prototype.getWest=function(){return this._sw.lng},Tl.prototype.getSouth=function(){return this._sw.lat},Tl.prototype.getEast=function(){return this._ne.lng},Tl.prototype.getNorth=function(){return this._ne.lat},Tl.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Tl.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Tl.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Tl.convert=function(t){return!t||t instanceof Tl?t:new Tl(t)};var Al=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Al.prototype.wrap=function(){return new Al(u(this.lng,-180,180),this.lat)},Al.prototype.toArray=function(){return[this.lng,this.lat]},Al.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Al.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Tl(new Al(this.lng-r,this.lat-e),new Al(this.lng+r,this.lat+e))},Al.convert=function(t){if(t instanceof Al)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Al(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Al(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: <lng>, lat: <lat>}, an object {lon: <lng>, lat: <lat>}, or an array of [<lng>, <lat>]")};var Ml=2*Math.PI*6378137;function Sl(t){return Ml*Math.cos(t*Math.PI/180)}function El(t){return(180+t)/360}function Ll(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Cl(t,e){return t/Sl(e)}function Pl(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Ol=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Ol.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Al.convert(t);return new Ol(El(r.lng),Ll(r.lat),Cl(e,r.lat))},Ol.prototype.toLngLat=function(){return new Al(360*this.x-180,Pl(this.y))},Ol.prototype.toAltitude=function(){return this.z*Sl(Pl(this.y))},Ol.prototype.meterInMercatorCoordinateUnits=function(){return 1/Ml*(t=Pl(this.y),1/Math.cos(t*Math.PI/180));var t};var zl=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Rl(0,t,e,r)};zl.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},zl.prototype.url=function(t,e){var r,n,a,i,o,s=(r=this.x,n=this.y,a=this.z,i=kl(256*r,256*(n=Math.pow(2,a)-n-1),a),o=kl(256*(r+1),256*(n+1),a),i[0]+","+i[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,a="",i=t;i>0;i--)a+=(e&(n=1<<i-1)?1:0)+(r&n?2:0);return a}(this.z,this.x,this.y);return t[(this.x+this.y)%t.length].replace("{prefix}",(this.x%16).toString(16)+(this.y%16).toString(16)).replace("{z}",String(this.z)).replace("{x}",String(this.x)).replace("{y}",String("tms"===e?Math.pow(2,this.z)-this.y-1:this.y)).replace("{quadkey}",l).replace("{bbox-epsg-3857}",s)},zl.prototype.getTilePoint=function(t){var e=Math.pow(2,this.z);return new a((t.x*e-this.x)*ti,(t.y*e-this.y)*ti)};var Il=function(t,e){this.wrap=t,this.canonical=e,this.key=Rl(t,e.z,e.x,e.y)},Dl=function(t,e,r,n,a){this.overscaledZ=t,this.wrap=e,this.canonical=new zl(r,+n,+a),this.key=Rl(e,t,n,a)};function Rl(t,e,r,n){(t*=2)<0&&(t=-1*t-1);var a=1<<e;return 32*(a*a*t+a*n+r)+e}Dl.prototype.equals=function(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)},Dl.prototype.scaledTo=function(t){var e=this.canonical.z-t;return t>this.canonical.z?new Dl(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Dl(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Dl.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ<this.overscaledZ&&t.canonical.x===this.canonical.x>>e&&t.canonical.y===this.canonical.y>>e},Dl.prototype.children=function(t){if(this.overscaledZ>=t)return[new Dl(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Dl(e,this.wrap,e,r,n),new Dl(e,this.wrap,e,r+1,n),new Dl(e,this.wrap,e,r,n+1),new Dl(e,this.wrap,e,r+1,n+1)]},Dl.prototype.isLessThan=function(t){return this.wrap<t.wrap||!(this.wrap>t.wrap)&&(this.overscaledZ<t.overscaledZ||!(this.overscaledZ>t.overscaledZ)&&(this.canonical.x<t.canonical.x||!(this.canonical.x>t.canonical.x)&&this.canonical.y<t.canonical.y))},Dl.prototype.wrapped=function(){return new Dl(this.overscaledZ,0,this.canonical.z,this.canonical.x,this.canonical.y)},Dl.prototype.unwrapTo=function(t){return new Dl(this.overscaledZ,t,this.canonical.z,this.canonical.x,this.canonical.y)},Dl.prototype.overscaleFactor=function(){return Math.pow(2,this.overscaledZ-this.canonical.z)},Dl.prototype.toUnwrapped=function(){return new Il(this.wrap,this.canonical)},Dl.prototype.toString=function(){return this.overscaledZ+"/"+this.canonical.x+"/"+this.canonical.y},Dl.prototype.getTilePoint=function(t){return this.canonical.getTilePoint(new Ol(t.x-this.wrap,t.y))},pn("CanonicalTileID",zl),pn("OverscaledTileID",Dl,{omit:["posMatrix"]});var Fl=function(t,e,r){if(this.uid=t,e.height!==e.width)throw new RangeError("DEM tiles must be square");if(r&&"mapbox"!==r&&"terrarium"!==r)return w('"'+r+'" is not a valid encoding type. Valid types include "mapbox" and "terrarium".');var n=this.dim=e.height;this.stride=this.dim+2,this.data=new Int32Array(this.stride*this.stride);for(var a=e.data,i="terrarium"===r?this._unpackTerrarium:this._unpackMapbox,o=0;o<n;o++)for(var s=0;s<n;s++){var l=4*(o*n+s);this.set(s,o,i(a[l],a[l+1],a[l+2]))}for(var c=0;c<n;c++)this.set(-1,c,this.get(0,c)),this.set(n,c,this.get(n-1,c)),this.set(c,-1,this.get(c,0)),this.set(c,n,this.get(c,n-1));this.set(-1,-1,this.get(0,0)),this.set(n,-1,this.get(n-1,0)),this.set(-1,n,this.get(0,n-1)),this.set(n,n,this.get(n-1,n-1))};Fl.prototype.set=function(t,e,r){this.data[this._idx(t,e)]=r+65536},Fl.prototype.get=function(t,e){return this.data[this._idx(t,e)]-65536},Fl.prototype._idx=function(t,e){if(t<-1||t>=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Fl.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Fl.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Fl.prototype.getPixels=function(){return new Pi({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Fl.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,a=e*this.dim+this.dim,i=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=a-1;break;case 1:a=n+1}switch(r){case-1:i=o-1;break;case 1:o=i+1}for(var s=-e*this.dim,l=-r*this.dim,c=i;c<o;c++)for(var u=n;u<a;u++)this.set(u,c,t.get(u+s,c+l))},pn("DEMData",Fl);var Bl=Zn([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),Nl=function(t){this._stringToNumber={},this._numberToString=[];for(var e=0;e<t.length;e++){var r=t[e];this._stringToNumber[r]=e,this._numberToString[e]=r}};Nl.prototype.encode=function(t){return this._stringToNumber[t]},Nl.prototype.decode=function(t){return this._numberToString[t]};var jl=function(t,e,r,n){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,null!=t.id&&(this.id=t.id)},Vl={geometry:{configurable:!0}};Vl.geometry.get=function(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry},Vl.geometry.set=function(t){this._geometry=t},jl.prototype.toJSON=function(){var t={geometry:this.geometry};for(var e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t},Object.defineProperties(jl.prototype,Vl);var Ul=function(){this.state={},this.stateChanges={},this.deletedStates={}};Ul.prototype.updateState=function(t,e,r){var n=String(e);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][n]=this.stateChanges[t][n]||{},h(this.stateChanges[t][n],r),null===this.deletedStates[t])for(var a in this.deletedStates[t]={},this.state[t])a!==n&&(this.deletedStates[t][a]=null);else if(this.deletedStates[t]&&null===this.deletedStates[t][n])for(var i in this.deletedStates[t][n]={},this.state[t][n])r[i]||(this.deletedStates[t][n][i]=null);else for(var o in r)this.deletedStates[t]&&this.deletedStates[t][n]&&null===this.deletedStates[t][n][o]&&delete this.deletedStates[t][n][o]},Ul.prototype.removeFeatureState=function(t,e,r){if(null!==this.deletedStates[t]){var n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e&&e>=0)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e&&e>=0)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}},Ul.prototype.getState=function(t,e){var r=String(e),n=this.state[t]||{},a=this.stateChanges[t]||{},i=h({},n[r],a[r]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){var o=this.deletedStates[t][e];if(null===o)return{};for(var s in o)delete i[s]}return i},Ul.prototype.initializeTileState=function(t,e){t.setFeatureState(this.state,e)},Ul.prototype.coalesceChanges=function(t,e){var r={};for(var n in this.stateChanges){this.state[n]=this.state[n]||{};var a={};for(var i in this.stateChanges[n])this.state[n][i]||(this.state[n][i]={}),h(this.state[n][i],this.stateChanges[n][i]),a[i]=this.state[n][i];r[n]=a}for(var o in this.deletedStates){this.state[o]=this.state[o]||{};var s={};if(null===this.deletedStates[o])for(var l in this.state[o])s[l]={},this.state[o][l]={};else for(var c in this.deletedStates[o]){if(null===this.deletedStates[o][c])this.state[o][c]={};else for(var u=0,f=Object.keys(this.deletedStates[o][c]);u<f.length;u+=1){var p=f[u];delete this.state[o][c][p]}s[c]=this.state[o][c]}r[o]=r[o]||{},h(r[o],s)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(r).length)for(var d in t)t[d].setFeatureState(r,e)};var ql=function(t,e,r){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=e||new ln(ti,16,0),this.grid3D=new ln(ti,16,0),this.featureIndexArray=r||new La};function Hl(t){for(var e=1/0,r=1/0,n=-1/0,a=-1/0,i=0,o=t;i<o.length;i+=1){var s=o[i];e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),a=Math.max(a,s.y)}return{minX:e,minY:r,maxX:n,maxY:a}}function Gl(t,e){return e-t}ql.prototype.insert=function(t,e,r,n,a,i){var o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,a);for(var s=i?this.grid3D:this.grid,l=0;l<e.length;l++){for(var c=e[l],u=[1/0,1/0,-1/0,-1/0],h=0;h<c.length;h++){var f=c[h];u[0]=Math.min(u[0],f.x),u[1]=Math.min(u[1],f.y),u[2]=Math.max(u[2],f.x),u[3]=Math.max(u[3],f.y)}u[0]<ti&&u[1]<ti&&u[2]>=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},ql.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new zo.VectorTile(new $s(this.rawTileData)).layers,this.sourceLayerCoder=new Nl(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},ql.prototype.query=function(t,e,r){var n=this;this.loadVTLayers();for(var i=t.params||{},o=ti/t.tileSize/t.scale,s=Dr(i.filter),l=t.queryGeometry,c=t.queryPadding*o,u=Hl(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=Hl(t.cameraQueryGeometry),p=0,d=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o<s.length;o+=1){var l=s[o];if(e<=l.x&&r<=l.y&&n>=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u<h.length;u+=1)if(di(t,h[u]))return!0;for(var f=0;f<t.length-1;f++)if(gi(t[f],t[f+1],c))return!0;return!1}(t.cameraQueryGeometry,e-c,r-c,n+c,i+c)});p<d.length;p+=1){var g=d[p];h.push(g)}h.sort(Gl);for(var v,m={},y=function(a){var c=h[a];if(c!==v){v=c;var u=n.featureIndexArray.get(c),f=null;n.loadMatchingFeature(m,u.bucketIndex,u.sourceLayerIndex,u.featureIndex,s,i.layers,e,function(e,a){f||(f=ri(e));var i={};return e.id&&(i=r.getState(a.sourceLayer||"_geojsonTileLayer",e.id)),a.queryIntersectsFeature(l,e,i,f,n.z,t.transform,o,t.pixelPosMatrix)})}},x=0;x<h.length;x++)y(x);return m},ql.prototype.loadMatchingFeature=function(t,e,r,n,a,i,o,s){var l=this.bucketLayerIDs[e];if(!i||function(t,e){for(var r=0;r<t.length;r++)if(e.indexOf(t[r])>=0)return!0;return!1}(i,l)){var c=this.sourceLayerCoder.decode(r),u=this.vtLayers[c].feature(n);if(a(new Cn(this.tileID.overscaledZ),u))for(var h=0;h<l.length;h++){var f=l[h];if(!(i&&i.indexOf(f)<0)){var p=o[f];if(p){var d=!s||s(u,p);if(d){var g=new jl(u,this.z,this.x,this.y);g.layer=p.serialize();var v=t[f];void 0===v&&(v=t[f]=[]),v.push({featureIndex:n,feature:g,intersectionZ:d})}}}}}},ql.prototype.lookupSymbolFeatures=function(t,e,r,n,a,i){var o={};this.loadVTLayers();for(var s=Dr(n),l=0,c=t;l<c.length;l+=1){var u=c[l];this.loadMatchingFeature(o,e,r,u,s,a,i)}return o},ql.prototype.hasLayer=function(t){for(var e=0,r=this.bucketLayerIDs;e<r.length;e+=1)for(var n=0,a=r[e];n<a.length;n+=1)if(t===a[n])return!0;return!1},pn("FeatureIndex",ql,{omit:["rawTileData","sourceLayerCoder"]});var Yl=function(t,e){this.tileID=t,this.uid=p(),this.uses=0,this.tileSize=e,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.expiredRequestCount=0,this.state="loading"};function Wl(t,e,r,n,a){if(void 0===e.segment)return!0;for(var i=e,o=e.segment+1,s=0;s>-r/2;){if(--o<0)return!1;s-=t[o].dist(i),i=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;s<r/2;){var u=t[o-1],h=t[o],f=t[o+1];if(!f)return!1;var p=u.angleTo(h)-h.angleTo(f);for(p=Math.abs((p+3*Math.PI)%(2*Math.PI)-Math.PI),l.push({distance:s,angleDelta:p}),c+=p;s-l[0].distance>n;)c-=l.shift().angleDelta;if(c>a)return!1;o++,s+=h.dist(f)}return!0}function Xl(t){for(var e=0,r=0;r<t.length-1;r++)e+=t[r].dist(t[r+1]);return e}function Zl(t,e,r){return t?.6*e*r:0}function Jl(t,e){return Math.max(t?t.right-t.left:0,e?e.right-e.left:0)}function Kl(t,e,r,n,a,i){for(var o=Zl(r,a,i),s=Jl(r,n)*i,l=0,c=Xl(t)/2,u=0;u<t.length-1;u++){var h=t[u],f=t[u+1],p=h.dist(f);if(l+p>c){var d=(c-l)/p,g=ye(h.x,f.x,d),v=ye(h.y,f.y,d),m=new xs(g,v,f.angleTo(h),u);return m._round(),!o||Wl(t,m,s,o,e)?m:void 0}l+=p}}function Ql(t,e,r,n,a,i,o,s,l){var c=Zl(n,i,o),u=Jl(n,a),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h<e/4&&(e=h+e/4),function t(e,r,n,a,i,o,s,l,c){for(var u=o/2,h=Xl(e),f=0,p=r-n,d=[],g=0;g<e.length-1;g++){for(var v=e[g],m=e[g+1],y=v.dist(m),x=m.angleTo(v);p+n<f+y;){var b=((p+=n)-f)/y,_=ye(v.x,m.x,b),w=ye(v.y,m.y,b);if(_>=0&&_<c&&w>=0&&w<c&&p-u>=0&&p+u<=h){var k=new xs(_,w,x,g);k._round(),a&&!Wl(e,k,o,a,i)||d.push(k)}}f+=y}return l||d.length||s||(d=t(e,f/2,n,a,i,o,s,!0,c)),d}(t,f?e/2*s%e:(u/2+2*i)*o*s%e,e,c,r,h,f,!1,l)}Yl.prototype.registerFadeDuration=function(t){var e=t+this.timeAdded;e<I.now()||this.fadeEndTime&&e<this.fadeEndTime||(this.fadeEndTime=e)},Yl.prototype.wasRequested=function(){return"errored"===this.state||"loaded"===this.state||"reloading"===this.state},Yl.prototype.loadVectorData=function(t,e,r){if(this.hasData()&&this.unloadVectorData(),this.state="loaded",t){for(var n in t.featureIndex&&(this.latestFeatureIndex=t.featureIndex,t.rawTileData?(this.latestRawTileData=t.rawTileData,this.latestFeatureIndex.rawTileData=t.rawTileData):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData)),this.collisionBoxArray=t.collisionBoxArray,this.buckets=function(t,e){var r={};if(!e)return r;for(var n=function(){var t=i[a],n=t.layerIds.map(function(t){return e.getLayer(t)}).filter(Boolean);if(0!==n.length){t.layers=n,t.stateDependentLayerIds&&(t.stateDependentLayers=t.stateDependentLayerIds.map(function(t){return n.filter(function(e){return e.id===t})[0]}));for(var o=0,s=n;o<s.length;o+=1){var l=s[o];r[l.id]=t}}},a=0,i=t;a<i.length;a+=1)n();return r}(t.buckets,e.style),this.hasSymbolBuckets=!1,this.buckets){var a=this.buckets[n];if(a instanceof Ps){if(this.hasSymbolBuckets=!0,!r)break;a.justReloaded=!0}}for(var i in this.queryPadding=0,this.buckets){var o=this.buckets[i];this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(i).queryRadius(o))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new xa},Yl.prototype.unloadVectorData=function(){for(var t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"},Yl.prototype.unloadDEMData=function(){this.dem=null,this.neighboringTiles=null,this.state="unloaded"},Yl.prototype.getBucket=function(t){return this.buckets[t.id]},Yl.prototype.upload=function(t){for(var e in this.buckets){var r=this.buckets[e];r.uploadPending()&&r.upload(t)}var n=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Js(t,this.imageAtlas.image,n.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Js(t,this.glyphAtlasImage,n.ALPHA),this.glyphAtlasImage=null)},Yl.prototype.prepare=function(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)},Yl.prototype.queryRenderedFeatures=function(t,e,r,n,a,i,o,s,l){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:r,cameraQueryGeometry:n,scale:a,tileSize:this.tileSize,pixelPosMatrix:l,transform:o,params:i,queryPadding:this.queryPadding*s},t,e):{}},Yl.prototype.querySourceFeatures=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData){var r=this.latestFeatureIndex.loadVTLayers(),n=e?e.sourceLayer:"",a=r._geojsonTileLayer||r[n];if(a)for(var i=Dr(e&&e.filter),o=this.tileID.canonical,s=o.z,l=o.x,c=o.y,u={z:s,x:l,y:c},h=0;h<a.length;h++){var f=a.feature(h);if(i(new Cn(this.tileID.overscaledZ),f)){var p=new jl(f,s,l,c);p.tile=u,t.push(p)}}}},Yl.prototype.clearMask=function(){this.segments&&(this.segments.destroy(),delete this.segments),this.maskedBoundsBuffer&&(this.maskedBoundsBuffer.destroy(),delete this.maskedBoundsBuffer),this.maskedIndexBuffer&&(this.maskedIndexBuffer.destroy(),delete this.maskedIndexBuffer)},Yl.prototype.setMask=function(t,e){if(!o(this.mask,t)&&(this.mask=t,this.clearMask(),!o(t,{0:!0}))){var r=new Qn,n=new pa;this.segments=new Pa,this.segments.prepareSegment(0,r,n);for(var i=Object.keys(t),s=0;s<i.length;s++){var l=t[+i[s]],c=ti>>l.z,u=new a(l.x*c,l.y*c),h=new a(u.x+c,u.y+c),f=this.segments.prepareSegment(4,r,n);r.emplaceBack(u.x,u.y,u.x,u.y),r.emplaceBack(h.x,u.y,h.x,u.y),r.emplaceBack(u.x,h.y,u.x,h.y),r.emplaceBack(h.x,h.y,h.x,h.y);var p=f.vertexLength;n.emplaceBack(p,p+1,p+2),n.emplaceBack(p+1,p+2,p+3),f.vertexLength+=4,f.primitiveLength+=2}this.maskedBoundsBuffer=e.createVertexBuffer(r,Bl.members),this.maskedIndexBuffer=e.createIndexBuffer(n)}},Yl.prototype.hasData=function(){return"loaded"===this.state||"reloading"===this.state||"expired"===this.state},Yl.prototype.patternsLoaded=function(){return this.imageAtlas&&!!Object.keys(this.imageAtlas.patternPositions).length},Yl.prototype.setExpiryData=function(t){var e=this.expirationTime;if(t.cacheControl){var r=A(t.cacheControl);r["max-age"]&&(this.expirationTime=Date.now()+1e3*r["max-age"])}else t.expires&&(this.expirationTime=new Date(t.expires).getTime());if(this.expirationTime){var n=Date.now(),a=!1;if(this.expirationTime>n)a=!1;else if(e)if(this.expirationTime<e)a=!0;else{var i=this.expirationTime-e;i?this.expirationTime=n+Math.max(i,3e4):a=!0}else a=!0;a?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}},Yl.prototype.getExpiryTimeout=function(){if(this.expirationTime)return this.expiredRequestCount?1e3*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-(new Date).getTime(),Math.pow(2,31)-1)},Yl.prototype.setFeatureState=function(t,e){if(this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData&&0!==Object.keys(t).length){var r=this.latestFeatureIndex.loadVTLayers();for(var n in this.buckets){var a=this.buckets[n],i=a.layers[0].sourceLayer||"_geojsonTileLayer",o=r[i],s=t[i];o&&s&&0!==Object.keys(s).length&&(a.update(s,o,this.imageAtlas&&this.imageAtlas.patternPositions||{}),e&&e.style&&(this.queryPadding=Math.max(this.queryPadding,e.style.getLayer(n).queryRadius(a))))}}},Yl.prototype.holdingForFade=function(){return void 0!==this.symbolFadeHoldUntil},Yl.prototype.symbolFadeFinished=function(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<I.now()},Yl.prototype.clearFadeHold=function(){this.symbolFadeHoldUntil=void 0},Yl.prototype.setHoldDuration=function(t){this.symbolFadeHoldUntil=I.now()+t};var $l=function(t,e,r,n,i,o,s,l,c,u,h,f){var p=s.top*l-c,d=s.bottom*l+c,g=s.left*l-c,v=s.right*l+c;if(this.boxStartIndex=t.length,u){var m=d-p,y=v-g;m>0&&(m=Math.max(10*l,m),this._addLineCollisionCircles(t,e,r,r.segment,y,m,n,i,o,h))}else{if(f){var x=new a(g,p),b=new a(v,p),_=new a(g,d),w=new a(v,d),k=f*Math.PI/180;x._rotate(k),b._rotate(k),_._rotate(k),w._rotate(k),g=Math.min(x.x,b.x,_.x,w.x),v=Math.max(x.x,b.x,_.x,w.x),p=Math.min(x.y,b.y,_.y,w.y),d=Math.max(x.y,b.y,_.y,w.y)}t.emplaceBack(r.x,r.y,g,p,v,d,n,i,o,0,0)}this.boxEndIndex=t.length};$l.prototype._addLineCollisionCircles=function(t,e,r,n,a,i,o,s,l,c){var u=i/2,h=Math.floor(a/u)||1,f=1+.4*Math.log(c)/Math.LN2,p=Math.floor(h*f/2),d=-i/2,g=r,v=n+1,m=d,y=-a/2,x=y-a/4;do{if(--v<0){if(m>y)return;v=0;break}m-=e[v].dist(g),g=e[v]}while(m>x);for(var b=e[v].dist(e[v+1]),_=-p;_<h+p;_++){var w=_*u,k=y+w;if(w<0&&(k+=w),w>a&&(k+=w-a),!(k<m)){for(;m+b<k;){if(m+=b,++v+1>=e.length)return;b=e[v].dist(e[v+1])}var T=k-m,A=e[v],M=e[v+1].sub(A)._unit()._mult(T)._add(A)._round(),S=Math.abs(k-d)<u?0:.8*(k-d);t.emplaceBack(M.x,M.y,-i/2,-i/2,i/2,i/2,o,s,l,i/2,S)}}};var tc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=ec),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function ec(t,e){return t<e?-1:t>e?1:0}function rc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;c<l.length;c++){var u=l[c];(!c||u.x<n)&&(n=u.x),(!c||u.y<i)&&(i=u.y),(!c||u.x>o)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,g=new tc([],nc);if(0===p)return new a(n,i);for(var v=n;v<o;v+=p)for(var m=i;m<s;m+=p)g.push(new ac(v+d,m+d,d,t));for(var y=function(t){for(var e=0,r=0,n=0,a=t[0],i=0,o=a.length,s=o-1;i<o;s=i++){var l=a[i],c=a[s],u=l.x*c.y-c.x*l.y;r+=(l.x+c.x)*u,n+=(l.y+c.y)*u,e+=3*u}return new ac(r/e,n/e,0,t)}(t),x=g.length;g.length;){var b=g.pop();(b.d>y.d||!y.d)&&(y=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-y.d<=e||(d=b.h/2,g.push(new ac(b.p.x-d,b.p.y-d,d,t)),g.push(new ac(b.p.x+d,b.p.y-d,d,t)),g.push(new ac(b.p.x-d,b.p.y+d,d,t)),g.push(new ac(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+y.d)),y.p}function nc(t,e){return e.max-t.max}function ac(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,a=0;a<e.length;a++)for(var i=e[a],o=0,s=i.length,l=s-1;o<s;l=o++){var c=i[o],u=i[l];c.y>t.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,fi(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}tc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},tc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},tc.prototype.peek=function(){return this.data[0]},tc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var a=t-1>>1,i=e[a];if(r(n,i)>=0)break;e[t]=i,t=a}e[t]=n},tc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,a=e[t];t<n;){var i=1+(t<<1),o=e[i],s=i+1;if(s<this.length&&r(e[s],o)<0&&(i=s,o=e[s]),r(o,a)>=0)break;e[t]=o,t=i}e[t]=a};var ic=e(function(t){t.exports=function(t,e){var r,n,a,i,o,s,l,c;for(r=3&t.length,n=t.length-r,a=e,o=3432918353,s=461845907,c=0;c<n;)l=255&t.charCodeAt(c)|(255&t.charCodeAt(++c))<<8|(255&t.charCodeAt(++c))<<16|(255&t.charCodeAt(++c))<<24,++c,a=27492+(65535&(i=5*(65535&(a=(a^=l=(65535&(l=(l=(65535&l)*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|a>>>19))+((5*(a>>>16)&65535)<<16)&4294967295))+((58964+(i>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:a^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return a^=t.length,a=2246822507*(65535&(a^=a>>>16))+((2246822507*(a>>>16)&65535)<<16)&4294967295,a=3266489909*(65535&(a^=a>>>13))+((3266489909*(a>>>16)&65535)<<16)&4294967295,(a^=a>>>16)>>>0}}),oc=e(function(t){t.exports=function(t,e){for(var r,n=t.length,a=e^n,i=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(i)|(255&t.charCodeAt(++i))<<8|(255&t.charCodeAt(++i))<<16|(255&t.charCodeAt(++i))<<24))+((1540483477*(r>>>16)&65535)<<16),a=1540483477*(65535&a)+((1540483477*(a>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++i;switch(n){case 3:a^=(255&t.charCodeAt(i+2))<<16;case 2:a^=(255&t.charCodeAt(i+1))<<8;case 1:a=1540483477*(65535&(a^=255&t.charCodeAt(i)))+((1540483477*(a>>>16)&65535)<<16)}return a=1540483477*(65535&(a^=a>>>13))+((1540483477*(a>>>16)&65535)<<16),(a^=a>>>15)>>>0}}),sc=ic,lc=ic,cc=oc;sc.murmur3=lc,sc.murmur2=cc;var uc=7;function hc(t,e){var r=0,n=0,a=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=a-uc;break;case"bottom-right":case"bottom-left":n=-a+uc;break;case"bottom":n=-e+uc;break;case"top":n=e-uc}switch(t){case"top-right":case"bottom-right":r=-a;break;case"top-left":case"bottom-left":r=a;break;case"left":r=e;break;case"right":r=-e}return[r,n]}function fc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var pc=65535;function dc(t,e,r,n,i,o,s,l,c,u,h,f,p){var d=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=e.positionedGlyphs,h=[],f=0;f<u.length;f++){var p=u[f],d=s[p.fontStack],g=d&&d[p.glyph];if(g){var v=g.rect;if(v){var m=bl+1,y=g.metrics.advance*p.scale/2,x=i?[p.x+y,p.y]:[0,0],b=i?[0,0]:[p.x+y+r[0],p.y+r[1]],_=(i||l)&&p.vertical,w=[0,0];_&&(w=b,b=[0,0]);var k=(g.metrics.left-m)*p.scale-y+b[0],T=(-g.metrics.top-m)*p.scale+b[1],A=k+v.w*p.scale,M=T+v.h*p.scale,S=new a(k,T),E=new a(A,T),L=new a(k,M),C=new a(A,M);if(_){var P=new a(-y,y-e.yOffset),O=-Math.PI/2,z=ss/2-y,I=new a(5-e.yOffset-z,0),D=new(Function.prototype.bind.apply(a,[null].concat(w)));S._rotateAround(O,P)._add(I)._add(D),E._rotateAround(O,P)._add(I)._add(D),L._rotateAround(O,P)._add(I)._add(D),C._rotateAround(O,P)._add(I)._add(D)}if(c){var R=Math.sin(c),F=Math.cos(c),B=[F,-R,R,F];S._matMult(B),E._matMult(B),L._matMult(B),C._matMult(B)}h.push({tl:S,tr:E,bl:L,br:C,tex:v,writingMode:e.writingMode,glyphOffset:x,sectionIndex:p.sectionIndex})}}}return h}(0,r,s,n,i,o,f,t.allowVerticalPlacement),g=t.textSizeData,v=null;"source"===g.kind?(v=[bs*n.layout.get("text-size").evaluate(o,{})])[0]>pc&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'):"composite"===g.kind&&((v=[bs*p.compositeTextSizes[0].evaluate(o,{}),bs*p.compositeTextSizes[1].evaluate(o,{})])[0]>pc||v[1]>pc)&&w(t.layerIds[0]+': Value for "text-size" is >= 256. Reduce your "text-size".'),t.addSymbols(t.text,d,v,s,i,o,c,e,l.lineStartIndex,l.lineLength);for(var m=0,y=u;m<y.length;m+=1)h[y[m]]=t.text.placedSymbolArray.length-1;return 4*d.length}function gc(t){for(var e in t)return t[e];return null}function vc(t,e,r,n){var a=t.compareText;if(e in a){for(var i=a[e],o=i.length-1;o>=0;o--)if(n.dist(i[o])<r)return!0}else a[e]=[];return a[e].push(n),!1}t.Actor=wl,t.AlphaImage=Ci,t.CanonicalTileID=zl,t.CollisionBoxArray=xa,t.Color=Wt,t.DEMData=Fl,t.DataConstantProperty=Nn,t.DictionaryCoder=Nl,t.EXTENT=ti,t.ErrorEvent=wt,t.EvaluationParameters=Cn,t.Event=_t,t.Evented=kt,t.FeatureIndex=ql,t.FillBucket=bo,t.FillExtrusionBucket=Fo,t.ImageAtlas=Gs,t.ImagePosition=qs,t.LineBucket=Xo,t.LngLat=Al,t.LngLatBounds=Tl,t.MercatorCoordinate=Ol,t.ONE_EM=ss,t.OverscaledTileID=Dl,t.Point=a,t.Point$1=a,t.ProgramConfiguration=Ja,t.Properties=Hn,t.Protobuf=$s,t.RGBAImage=Pi,t.RequestManager=V,t.ResourceType=lt,t.SegmentVector=Pa,t.SourceFeatureState=Ul,t.StructArrayLayout1ui2=ga,t.StructArrayLayout2i4=Kn,t.StructArrayLayout2ui4=da,t.StructArrayLayout3ui6=pa,t.StructArrayLayout4i8=Qn,t.SymbolBucket=Ps,t.Texture=Js,t.Tile=Yl,t.Transitionable=zn,t.Uniform1f=Fa,t.Uniform1i=Ra,t.Uniform2f=Ba,t.Uniform3f=Na,t.Uniform4f=ja,t.UniformColor=Va,t.UniformMatrix4f=qa,t.UnwrappedTileID=Il,t.ValidationError=At,t.WritingMode=ls,t.ZoomHistory=mn,t.addDynamicAttributes=Es,t.asyncAll=function(t,e,r){if(!t.length)return r(null,[]);var n=t.length,a=new Array(t.length),i=null;t.forEach(function(t,o){e(t,function(t,e){t&&(i=t),a[o]=e,0==--n&&r(i,a)})})},t.bezier=s,t.bindAll=v,t.browser=I,t.cacheEntryPossiblyAdded=function(t){++st>at&&(t.getActor().send("enforceCacheSizeLimit",nt),st=0)},t.clamp=c,t.clearTileCache=function(t){var e=self.caches.delete(rt);t&&e.catch(t).then(function(){return t()})},t.clone=function(t){var e=new wi(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=b,t.config=D,t.create=function(){var t=new wi(16);return wi!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new wi(9);return wi!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new wi(4);return wi!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=wr,t.createLayout=Zn,t.createStyleLayer=function(t){return"custom"===t.type?new js(t):new Vs[t.type](t)},t.deepEqual=o,t.ease=l,t.emitValidationErrors=sn,t.endsWith=m,t.enforceCacheSizeLimit=function(t){self.caches&&self.caches.open(rt).then(function(e){e.keys().then(function(r){for(var n=0;n<r.length-t;n++)e.delete(r[n])})})},t.evaluateRadialOffset=hc,t.evaluateSizeForFeature=ws,t.evaluateSizeForZoom=ks,t.evented=En,t.extend=h,t.featureFilter=Dr,t.filterObject=x,t.fromRotation=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},t.getAnchorAlignment=ms,t.getAnchorJustification=fc,t.getArrayBuffer=vt,t.getImage=yt,t.getJSON=function(t,e){return gt(h(t,{type:"json"}),e)},t.getReferrer=ht,t.getVideo=function(t,e){var r,n,a=self.document.createElement("video");a.muted=!0,a.onloadstart=function(){e(null,a)};for(var i=0;i<t.length;i++){var o=self.document.createElement("source");r=t[i],n=void 0,(n=self.document.createElement("a")).href=r,(n.protocol!==self.document.location.protocol||n.host!==self.document.location.host)&&(a.crossOrigin="Anonymous"),o.src=t[i],a.appendChild(o)}return{cancel:function(){}}},t.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.invert=function(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],g=e[13],v=e[14],m=e[15],y=r*s-n*o,x=r*l-a*o,b=r*c-i*o,_=n*l-a*s,w=n*c-i*s,k=a*c-i*l,T=u*g-h*d,A=u*v-f*d,M=u*m-p*d,S=h*v-f*g,E=h*m-p*g,L=f*m-p*v,C=y*L-x*E+b*S+_*M-w*A+k*T;return C?(C=1/C,t[0]=(s*L-l*E+c*S)*C,t[1]=(a*E-n*L-i*S)*C,t[2]=(g*k-v*w+m*_)*C,t[3]=(f*w-h*k-p*_)*C,t[4]=(l*M-o*L-c*A)*C,t[5]=(r*L-a*M+i*A)*C,t[6]=(v*b-d*k-m*x)*C,t[7]=(u*k-f*b+p*x)*C,t[8]=(o*E-s*M+c*T)*C,t[9]=(n*M-r*E-i*T)*C,t[10]=(d*w-g*b+m*y)*C,t[11]=(h*b-u*w-p*y)*C,t[12]=(s*A-o*S-l*T)*C,t[13]=(r*S-n*A+a*T)*C,t[14]=(g*x-d*_-v*y)*C,t[15]=(u*_-h*x+f*y)*C,t):null},t.isChar=yn,t.isMapboxURL=U,t.keysDifference=function(t,e){var r=[];for(var n in t)n in e||r.push(n);return r},t.makeRequest=gt,t.mapObject=y,t.mercatorXfromLng=El,t.mercatorYfromLat=Ll,t.mercatorZfromAltitude=Cl,t.multiply=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],g=e[12],v=e[13],m=e[14],y=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*h+w*g,t[1]=x*a+b*l+_*f+w*v,t[2]=x*i+b*c+_*p+w*m,t[3]=x*o+b*u+_*d+w*y,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*h+w*g,t[5]=x*a+b*l+_*f+w*v,t[6]=x*i+b*c+_*p+w*m,t[7]=x*o+b*u+_*d+w*y,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*h+w*g,t[9]=x*a+b*l+_*f+w*v,t[10]=x*i+b*c+_*p+w*m,t[11]=x*o+b*u+_*d+w*y,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*h+w*g,t[13]=x*a+b*l+_*f+w*v,t[14]=x*i+b*c+_*p+w*m,t[15]=x*o+b*u+_*d+w*y,t},t.mvt=zo,t.number=ye,t.ortho=function(t,e,r,n,a,i,o){var s=1/(e-r),l=1/(n-a),c=1/(i-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(a+n)*l,t[14]=(o+i)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new $s(t).readFields(ml,[])},t.pbf=$s,t.performSymbolLayout=function(t,e,r,n,i,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=ti/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if("composite"===t.textSizeData.kind){var h=t.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new Cn(f)),c["text-size"].possiblyEvaluate(new Cn(p))]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,g=d.minZoom,v=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new Cn(g)),c["icon-size"].possiblyEvaluate(new Cn(v))]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new Cn(t.zoom+1)),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new Cn(t.zoom+1)),u.textMaxSize=c["text-size"].possiblyEvaluate(new Cn(18));for(var m=l.get("text-line-height")*ss,y="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=function(){var o=k[_],s=l.get("text-font").evaluate(o,{}).join(","),c=r,h={horizontal:{},vertical:void 0},f=o.text,p=[0,0];if(f){var d=f.toString(),g=l.get("text-letter-spacing").evaluate(o,{})*ss,v=function(t){for(var e=0,r=d;e<r.length;e+=1)if(!bn(r[e].charCodeAt(0)))return!1;return!0}()?g:0,b=l.get("text-anchor").evaluate(o,{}),T=l.get("text-variable-anchor"),A=l.get("text-radial-offset").evaluate(o,{});T||(p=A?hc(b,A*ss):l.get("text-offset").evaluate(o,{}).map(function(t){return t*ss}));var M=y?"center":l.get("text-justify").evaluate(o,{}),S="point"===l.get("symbol-placement")?l.get("text-max-width").evaluate(o,{})*ss:0,E=function(){t.allowVerticalPlacement&&xn(d)&&(h.vertical=us(f,e,s,S,m,b,"left",v,p,ls.vertical,!0))};if(!y&&T){for(var L="auto"===M?T.map(function(t){return fc(t)}):[M],C=!1,P=0;P<L.length;P++){var O=L[P];if(!h.horizontal[O])if(C)h.horizontal[O]=h.horizontal[0];else{var z=us(f,e,s,S,m,"center",O,v,p,ls.horizontal,!1);z&&(h.horizontal[O]=z,C=1===z.lineCount)}}E()}else{"auto"===M&&(M=fc(b));var I=us(f,e,s,S,m,b,M,v,p,ls.horizontal,!1);I&&(h.horizontal[M]=I),E(),xn(d)&&y&&x&&(h.vertical=us(f,e,s,S,m,b,M,v,p,ls.vertical,!1))}}var D=void 0;if(o.icon){var R=n[o.icon];R&&(D=function(t,e,r){var n=ms(r),a=n.horizontalAlign,i=n.verticalAlign,o=e[0],s=e[1],l=o-t.displaySize[0]*a,c=l+t.displaySize[0],u=s-t.displaySize[1]*i;return{image:t,top:u,bottom:u+t.displaySize[1],left:l,right:c}}(i[o.icon],l.get("icon-offset").evaluate(o,{}),l.get("icon-anchor").evaluate(o,{})),void 0===t.sdfIcons?t.sdfIcons=R.sdf:t.sdfIcons!==R.sdf&&w("Style sheet warning: Cannot mix SDF and non-SDF icons in one buffer"),R.pixelRatio!==t.pixelRatio?t.iconsNeedLinear=!0:0!==l.get("icon-rotate").constantOr(1)&&(t.iconsNeedLinear=!0))}(Object.keys(h.horizontal).length||D)&&function(t,e,r,n,i,o,s){var l=o.layoutTextSize.evaluate(e,{}),c=o.layoutIconSize.evaluate(e,{}),u=o.textMaxSize.evaluate(e,{});void 0===u&&(u=l);var h=t.layers[0].layout,f=h.get("icon-offset").evaluate(e,{}),p=gc(r.horizontal),d=l/24,g=t.tilePixelRatio*d,v=t.tilePixelRatio*u/24,m=t.tilePixelRatio*c,y=t.tilePixelRatio*h.get("symbol-spacing"),x=h.get("text-padding")*t.tilePixelRatio,b=h.get("icon-padding")*t.tilePixelRatio,_=h.get("text-max-angle")/180*Math.PI,k="map"===h.get("text-rotation-alignment")&&"point"!==h.get("symbol-placement"),T="map"===h.get("icon-rotation-alignment")&&"point"!==h.get("symbol-placement"),A=h.get("symbol-placement"),M=y/2,S=function(l,c){c.x<0||c.x>=ti||c.y<0||c.y>=ti||function(t,e,r,n,i,o,s,l,c,u,h,f,p,d,g,v,m,y,x,b,_){var k,T,A,M=t.addToLineVertexArray(e,r),S=0,E=0,L=0,C={},P=sc(""),O=(o.layout.get("text-radial-offset").evaluate(x,{})||0)*ss;if(t.allowVerticalPlacement&&n.vertical){var z=o.layout.get("text-rotate").evaluate(x,{})+90,I=n.vertical;A=new $l(s,r,e,l,c,u,I,h,f,p,t.overscaling,z)}for(var D in n.horizontal){var R=n.horizontal[D];if(!k){P=sc(R.text);var F=o.layout.get("text-rotate").evaluate(x,{});k=new $l(s,r,e,l,c,u,R,h,f,p,t.overscaling,F)}var B=1===R.lineCount;if(E+=dc(t,e,R,o,p,x,d,M,n.vertical?ls.horizontal:ls.horizontalOnly,B?Object.keys(n.horizontal):[D],C,b,_),B)break}n.vertical&&(L+=dc(t,e,n.vertical,o,p,x,d,M,ls.vertical,["vertical"],C,b,_));var N=k?k.boxStartIndex:t.collisionBoxArray.length,j=k?k.boxEndIndex:t.collisionBoxArray.length,V=A?A.boxStartIndex:t.collisionBoxArray.length,U=A?A.boxEndIndex:t.collisionBoxArray.length;if(i){var q=function(t,e,r,n,i,o){var s,l,c,u,h=e.image,f=r.layout,p=e.top-1/h.pixelRatio,d=e.left-1/h.pixelRatio,g=e.bottom+1/h.pixelRatio,v=e.right+1/h.pixelRatio;if("none"!==f.get("icon-text-fit")&&i){var m=v-d,y=g-p,x=f.get("text-size").evaluate(o,{})/24,b=i.left*x,_=i.right*x,w=i.top*x,k=_-b,T=i.bottom*x-w,A=f.get("icon-text-fit-padding")[0],M=f.get("icon-text-fit-padding")[1],S=f.get("icon-text-fit-padding")[2],E=f.get("icon-text-fit-padding")[3],L="width"===f.get("icon-text-fit")?.5*(T-y):0,C="height"===f.get("icon-text-fit")?.5*(k-m):0,P="width"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?k:m,O="height"===f.get("icon-text-fit")||"both"===f.get("icon-text-fit")?T:y;s=new a(b+C-E,w+L-A),l=new a(b+C+M+P,w+L-A),c=new a(b+C+M+P,w+L+S+O),u=new a(b+C-E,w+L+S+O)}else s=new a(d,p),l=new a(v,p),c=new a(v,g),u=new a(d,g);var z=r.layout.get("icon-rotate").evaluate(o,{})*Math.PI/180;if(z){var I=Math.sin(z),D=Math.cos(z),R=[D,-I,I,D];s._matMult(R),l._matMult(R),u._matMult(R),c._matMult(R)}return[{tl:s,tr:l,bl:u,br:c,tex:h.paddedRect,writingMode:void 0,glyphOffset:[0,0],sectionIndex:0}]}(0,i,o,0,gc(n.horizontal),x),H=o.layout.get("icon-rotate").evaluate(x,{});T=new $l(s,r,e,l,c,u,i,g,v,!1,t.overscaling,H),S=4*q.length;var G=t.iconSizeData,Y=null;"source"===G.kind?(Y=[bs*o.layout.get("icon-size").evaluate(x,{})])[0]>pc&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'):"composite"===G.kind&&((Y=[bs*_.compositeIconSizes[0].evaluate(x,{}),bs*_.compositeIconSizes[1].evaluate(x,{})])[0]>pc||Y[1]>pc)&&w(t.layerIds[0]+': Value for "icon-size" is >= 256. Reduce your "icon-size".'),t.addSymbols(t.icon,q,Y,y,m,x,!1,e,M.lineStartIndex,M.lineLength)}var W=T?T.boxStartIndex:t.collisionBoxArray.length,X=T?T.boxEndIndex:t.collisionBoxArray.length;t.glyphOffsetArray.length>=Ps.MAX_GLYPHS&&w("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),t.symbolInstances.emplaceBack(e.x,e.y,C.right>=0?C.right:-1,C.center>=0?C.center:-1,C.left>=0?C.left:-1,C.vertical||-1,P,N,j,V,U,W,X,l,E,L,S,0,h,O)}(t,c,l,r,n,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,g,x,k,s,m,b,T,f,e,i,o)};if("line"===A)for(var E=0,L=function(t,e,r,n,i){for(var o=[],s=0;s<t.length;s++)for(var l=t[s],c=void 0,u=0;u<l.length-1;u++){var h=l[u],f=l[u+1];h.x<0&&f.x<0||(h.x<0?h=new a(0,h.y+(f.y-h.y)*((0-h.x)/(f.x-h.x)))._round():f.x<0&&(f=new a(0,h.y+(f.y-h.y)*((0-h.x)/(f.x-h.x)))._round()),h.y<0&&f.y<0||(h.y<0?h=new a(h.x+(f.x-h.x)*((0-h.y)/(f.y-h.y)),0)._round():f.y<0&&(f=new a(h.x+(f.x-h.x)*((0-h.y)/(f.y-h.y)),0)._round()),h.x>=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),c&&h.equals(c[c.length-1])||(c=[h],o.push(c)),c.push(f)))))}return o}(e.geometry,0,0,ti,ti);E<L.length;E+=1)for(var C=L[E],P=0,O=Ql(C,y,_,r.vertical||p,n,24,v,t.overscaling,ti);P<O.length;P+=1){var z=O[P];p&&vc(t,p.text,M,z)||S(C,z)}else if("line-center"===A)for(var I=0,D=e.geometry;I<D.length;I+=1){var R=D[I];if(R.length>1){var F=Kl(R,_,r.vertical||p,n,24,v);F&&S(R,F)}}else if("Polygon"===e.type)for(var B=0,N=vo(e.geometry,0);B<N.length;B+=1){var j=N[B],V=rc(j,16);S(j[0],new xs(V.x,V.y,0))}else if("LineString"===e.type)for(var U=0,q=e.geometry;U<q.length;U+=1){var H=q[U];S(H,new xs(H[0].x,H[0].y,0))}else if("Point"===e.type)for(var G=0,Y=e.geometry;G<Y.length;G+=1)for(var W=0,X=Y[G];W<X.length;W+=1){var Z=X[W];S([Z],new xs(Z.x,Z.y,0))}}(t,o,h,D,c,u,p)},_=0,k=t.features;_<k.length;_+=1)b();o&&t.generateCollisionDebugBuffers()},t.perspective=function(t,e,r,n,a){var i,o=1/Math.tan(e/2);return t[0]=o/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=o,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=-1,t[12]=0,t[13]=0,t[15]=0,null!=a&&a!==1/0?(i=1/(n-a),t[10]=(a+n)*i,t[14]=2*a*n*i):(t[10]=-1,t[14]=-2*n),t},t.pick=function(t,e){for(var r={},n=0;n<e.length;n++){var a=e[n];a in t&&(r[a]=t[a])}return r},t.plugin=Ln,t.polygonIntersectsPolygon=ii,t.postMapLoadEvent=et,t.postTurnstileEvent=$,t.potpack=Us,t.rasterBoundsAttributes=Bl,t.refProperties=["type","source","source-layer","minzoom","maxzoom","filter","layout"],t.register=pn,t.registerForPluginAvailability=function(t){return Mn?t({pluginURL:Mn,completionCallback:Tn}):En.once("pluginAvailable",t),t},t.rotate=function(t,e,r){var n=e[0],a=e[1],i=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);return t[0]=n*l+i*s,t[1]=a*l+o*s,t[2]=n*-s+i*l,t[3]=a*-s+o*l,t},t.rotateX=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=i*a+c*n,t[5]=o*a+u*n,t[6]=s*a+h*n,t[7]=l*a+f*n,t[8]=c*a-i*n,t[9]=u*a-o*n,t[10]=h*a-s*n,t[11]=f*a-l*n,t},t.rotateZ=function(t,e,r){var n=Math.sin(r),a=Math.cos(r),i=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=i*a+c*n,t[1]=o*a+u*n,t[2]=s*a+h*n,t[3]=l*a+f*n,t[4]=c*a-i*n,t[5]=u*a-o*n,t[6]=h*a-s*n,t[7]=f*a-l*n,t},t.scale=function(t,e,r){var n=r[0],a=r[1],i=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.setCacheLimits=function(t,e){nt=t,at=e},t.setRTLTextPlugin=function(t,e){if(An)throw new Error("setRTLTextPlugin cannot be called multiple times.");An=!0,Mn=I.resolveURL(t),Tn=function(t){t?(An=!1,Mn=null,e&&e(t)):Sn=!0},En.fire(new _t("pluginAvailable",{pluginURL:Mn,completionCallback:Tn}))},t.sphericalToCartesian=function(t){var e=t[0],r=t[1],n=t[2];return r+=90,r*=Math.PI/180,n*=Math.PI/180,{x:e*Math.cos(r)*Math.sin(n),y:e*Math.sin(r)*Math.sin(n),z:e*Math.cos(n)}},t.styleSpec=Tt,t.symbolSize=Ts,t.transformMat3=function(t,e,r){var n=e[0],a=e[1],i=e[2];return t[0]=n*r[0]+a*r[3]+i*r[6],t[1]=n*r[1]+a*r[4]+i*r[7],t[2]=n*r[2]+a*r[5]+i*r[8],t},t.transformMat4=ki,t.translate=function(t,e,r){var n,a,i,o,s,l,c,u,h,f,p,d,g=r[0],v=r[1],m=r[2];return e===t?(t[12]=e[0]*g+e[4]*v+e[8]*m+e[12],t[13]=e[1]*g+e[5]*v+e[9]*m+e[13],t[14]=e[2]*g+e[6]*v+e[10]*m+e[14],t[15]=e[3]*g+e[7]*v+e[11]*m+e[15]):(n=e[0],a=e[1],i=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=a,t[2]=i,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*g+s*v+h*m+e[12],t[13]=a*g+l*v+f*m+e[13],t[14]=i*g+c*v+p*m+e[14],t[15]=o*g+u*v+d*m+e[15]),t},t.uniqueId=p,t.validateCustomStyleLayer=function(t){var e=[],r=t.id;return void 0===r&&e.push({message:"layers."+r+': missing required property "id"'}),void 0===t.render&&e.push({message:"layers."+r+': missing required method "render"'}),t.renderingMode&&"2d"!==t.renderingMode&&"3d"!==t.renderingMode&&e.push({message:"layers."+r+': property "renderingMode" must be either "2d" or "3d"'}),e},t.validateLight=nn,t.validateStyle=rn,t.values=function(t){var e=[];for(var r in t)e.push(t[r]);return e},t.vectorTile=zo,t.version="1.3.2",t.warnOnce=w,t.webpSupported=R,t.window=self,t.wrap=u}),n(0,function(t){function e(t){var r=typeof t;if("number"===r||"boolean"===r||"string"===r||null==t)return JSON.stringify(t);if(Array.isArray(t)){for(var n="[",a=0,i=t;a<i.length;a+=1)n+=e(i[a])+",";return n+"]"}for(var o=Object.keys(t).sort(),s="{",l=0;l<o.length;l++)s+=JSON.stringify(o[l])+":"+e(t[o[l]])+",";return s+"}"}function r(r){for(var n="",a=0,i=t.refProperties;a<i.length;a+=1)n+="/"+e(r[i[a]]);return n}var n=function(t){this.keyCache={},t&&this.replace(t)};n.prototype.replace=function(t){this._layerConfigs={},this._layers={},this.update(t,[])},n.prototype.update=function(e,n){for(var a=this,i=0,o=e;i<o.length;i+=1){var s=o[i];this._layerConfigs[s.id]=s;var l=this._layers[s.id]=t.createStyleLayer(s);l._featureFilter=t.featureFilter(l.filter),this.keyCache[s.id]&&delete this.keyCache[s.id]}for(var c=0,u=n;c<u.length;c+=1){var h=u[c];delete this.keyCache[h],delete this._layerConfigs[h],delete this._layers[h]}this.familiesBySource={};for(var f=0,p=function(t,e){for(var n={},a=0;a<t.length;a++){var i=e&&e[t[a].id]||r(t[a]);e&&(e[t[a].id]=i);var o=n[i];o||(o=n[i]=[]),o.push(t[a])}var s=[];for(var l in n)s.push(n[l]);return s}(t.values(this._layerConfigs),this.keyCache);f<p.length;f+=1){var d=p[f].map(function(t){return a._layers[t.id]}),g=d[0];if("none"!==g.visibility){var v=g.source||"",m=this.familiesBySource[v];m||(m=this.familiesBySource[v]={});var y=g.sourceLayer||"_geojsonTileLayer",x=m[y];x||(x=m[y]=[]),x.push(d)}}};var a=function(e){var r={},n=[];for(var a in e){var i=e[a],o=r[a]={};for(var s in i){var l=i[+s];if(l&&0!==l.bitmap.width&&0!==l.bitmap.height){var c={x:0,y:0,w:l.bitmap.width+2,h:l.bitmap.height+2};n.push(c),o[s]={rect:c,metrics:l.metrics}}}}var u=t.potpack(n),h=u.w,f=u.h,p=new t.AlphaImage({width:h||1,height:f||1});for(var d in e){var g=e[d];for(var v in g){var m=g[+v];if(m&&0!==m.bitmap.width&&0!==m.bitmap.height){var y=r[d][v].rect;t.AlphaImage.copy(m.bitmap,p,{x:0,y:0},{x:y.x+1,y:y.y+1},m.bitmap)}}}this.image=p,this.positions=r};t.register("GlyphAtlas",a);var i=function(e){this.tileID=new t.OverscaledTileID(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies};function o(e,r){for(var n=new t.EvaluationParameters(r),a=0,i=e;a<i.length;a+=1)i[a].recalculate(n)}i.prototype.parse=function(e,r,n,i){var s=this;this.status="parsing",this.data=e,this.collisionBoxArray=new t.CollisionBoxArray;var l=new t.DictionaryCoder(Object.keys(e.layers).sort()),c=new t.FeatureIndex(this.tileID);c.bucketLayerIDs=[];var u,h,f,p,d={},g={featureIndex:c,iconDependencies:{},patternDependencies:{},glyphDependencies:{}},v=r.familiesBySource[this.source];for(var m in v){var y=e.layers[m];if(y){1===y.version&&t.warnOnce('Vector tile source "'+this.source+'" layer "'+m+'" does not use vector tile spec v2 and therefore may have some rendering errors.');for(var x=l.encode(m),b=[],_=0;_<y.length;_++){var w=y.feature(_);b.push({feature:w,index:_,sourceLayerIndex:x})}for(var k=0,T=v[m];k<T.length;k+=1){var A=T[k],M=A[0];M.minzoom&&this.zoom<Math.floor(M.minzoom)||M.maxzoom&&this.zoom>=M.maxzoom||"none"!==M.visibility&&(o(A,this.zoom),(d[M.id]=M.createBucket({index:c.bucketLayerIDs.length,layers:A,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:x,sourceID:this.source})).populate(b,g),c.bucketLayerIDs.push(A.map(function(t){return t.id})))}}}var S=t.mapObject(g.glyphDependencies,function(t){return Object.keys(t).map(Number)});Object.keys(S).length?n.send("getGlyphs",{uid:this.uid,stacks:S},function(t,e){u||(u=t,h=e,C.call(s))}):h={};var E=Object.keys(g.iconDependencies);E.length?n.send("getImages",{icons:E},function(t,e){u||(u=t,f=e,C.call(s))}):f={};var L=Object.keys(g.patternDependencies);function C(){if(u)return i(u);if(h&&f&&p){var e=new a(h),r=new t.ImageAtlas(f,p);for(var n in d){var s=d[n];s instanceof t.SymbolBucket?(o(s.layers,this.zoom),t.performSymbolLayout(s,h,e.positions,f,r.iconPositions,this.showCollisionBoxes)):s.hasPattern&&(s instanceof t.LineBucket||s instanceof t.FillBucket||s instanceof t.FillExtrusionBucket)&&(o(s.layers,this.zoom),s.addFeatures(g,r.patternPositions))}this.status="done",i(null,{buckets:t.values(d).filter(function(t){return!t.isEmpty()}),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?f:null,glyphPositions:this.returnDependencies?e.positions:null})}}L.length?n.send("getImages",{icons:L},function(t,e){u||(u=t,p=e,C.call(s))}):p={},C.call(this)};var s="undefined"!=typeof performance,l={getEntriesByName:function(t){return!!(s&&performance&&performance.getEntriesByName)&&performance.getEntriesByName(t)},mark:function(t){return!!(s&&performance&&performance.mark)&&performance.mark(t)},measure:function(t,e,r){return!!(s&&performance&&performance.measure)&&performance.measure(t,e,r)},clearMarks:function(t){return!!(s&&performance&&performance.clearMarks)&&performance.clearMarks(t)},clearMeasures:function(t){return!!(s&&performance&&performance.clearMeasures)&&performance.clearMeasures(t)}},c=function(t){this._marks={start:[t.url,"start"].join("#"),end:[t.url,"end"].join("#"),measure:t.url.toString()},l.mark(this._marks.start)};function u(e,r){var n=t.getArrayBuffer(e.request,function(e,n,a,i){e?r(e):n&&r(null,{vectorTile:new t.vectorTile.VectorTile(new t.pbf(n)),rawData:n,cacheControl:a,expires:i})});return function(){n.cancel(),r()}}c.prototype.finish=function(){l.mark(this._marks.end);var t=l.getEntriesByName(this._marks.measure);return 0===t.length&&(l.measure(this._marks.measure,this._marks.start,this._marks.end),t=l.getEntriesByName(this._marks.measure),l.clearMarks(this._marks.start),l.clearMarks(this._marks.end),l.clearMeasures(this._marks.measure)),t},l.Performance=c;var h=function(t,e,r){this.actor=t,this.layerIndex=e,this.loadVectorData=r||u,this.loading={},this.loaded={}};h.prototype.loadTile=function(e,r){var n=this,a=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new l.Performance(e.request),s=this.loading[a]=new i(e);s.abort=this.loadVectorData(e,function(e,i){if(delete n.loading[a],e||!i)return s.status="done",n.loaded[a]=s,r(e);var l=i.rawData,c={};i.expires&&(c.expires=i.expires),i.cacheControl&&(c.cacheControl=i.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=i.vectorTile,s.parse(i.vectorTile,n.layerIndex,n.actor,function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))}),n.loaded=n.loaded||{},n.loaded[a]=s})},h.prototype.reloadTile=function(t,e){var r=this.loaded,n=t.uid,a=this;if(r&&r[n]){var i=r[n];i.showCollisionBoxes=t.showCollisionBoxes;var o=function(t,r){var n=i.reloadCallback;n&&(delete i.reloadCallback,i.parse(i.vectorTile,a.layerIndex,a.actor,n)),e(t,r)};"parsing"===i.status?i.reloadCallback=o:"done"===i.status&&(i.vectorTile?i.parse(i.vectorTile,this.layerIndex,this.actor,o):o())}},h.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},h.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var f=function(){this.loaded={}};f.prototype.loadTile=function(e,r){var n=e.uid,a=e.encoding,i=e.rawImageData,o=new t.DEMData(n,i,a);this.loaded=this.loaded||{},this.loaded[n]=o,r(null,o)},f.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var p={RADIUS:6378137,FLATTENING:1/298.257223563,POLAR_RADIUS:6356752.3142};function d(t){var e=0;if(t&&t.length>0){e+=Math.abs(g(t[0]));for(var r=1;r<t.length;r++)e-=Math.abs(g(t[r]))}return e}function g(t){var e,r,n,a,i,o,s=0,l=t.length;if(l>2){for(o=0;o<l;o++)o===l-2?(n=l-2,a=l-1,i=0):o===l-1?(n=l-1,a=0,i=1):(n=o,a=o+1,i=o+2),e=t[n],r=t[a],s+=(v(t[i][0])-v(e[0]))*Math.sin(v(r[1]));s=s*p.RADIUS*p.RADIUS/2}return s}function v(t){return t*Math.PI/180}var m={geometry:function t(e){var r,n=0;switch(e.type){case"Polygon":return d(e.coordinates);case"MultiPolygon":for(r=0;r<e.coordinates.length;r++)n+=d(e.coordinates[r]);return n;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0;case"GeometryCollection":for(r=0;r<e.geometries.length;r++)n+=t(e.geometries[r]);return n}},ring:g};function y(t,e){return function(r){return t(r,e)}}function x(t,e){e=!!e,t[0]=b(t[0],e);for(var r=1;r<t.length;r++)t[r]=b(t[r],!e);return t}function b(t,e){return function(t){return m.ring(t)>=0}(t)===e?t:t.reverse()}var _=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,w=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};w.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r<n.length;r+=1){var a=n[r];e.push([new t.Point$1(a[0],a[1])])}return e}for(var i=[],o=0,s=this._feature.geometry;o<s.length;o+=1){for(var l=[],c=0,u=s[o];c<u.length;c+=1){var h=u[c];l.push(new t.Point$1(h[0],h[1]))}i.push(l)}return i},w.prototype.toGeoJSON=function(t,e,r){return _.call(this,t,e,r)};var k=function(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.EXTENT,this.length=e.length,this._features=e};k.prototype.feature=function(t){return new w(this._features[t])};var T=t.vectorTile.VectorTileFeature,A=M;function M(t,e){this.options=e||{},this.features=t,this.length=t.length}function S(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}M.prototype.feature=function(t){return new S(this.features[t],this.options.extent)},S.prototype.loadGeometry=function(){var e=this.rawGeometry;this.geometry=[];for(var r=0;r<e.length;r++){for(var n=e[r],a=[],i=0;i<n.length;i++)a.push(new t.Point$1(n[i][0],n[i][1]));this.geometry.push(a)}return this.geometry},S.prototype.bbox=function(){this.geometry||this.loadGeometry();for(var t=this.geometry,e=1/0,r=-1/0,n=1/0,a=-1/0,i=0;i<t.length;i++)for(var o=t[i],s=0;s<o.length;s++){var l=o[s];e=Math.min(e,l.x),r=Math.max(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.y)}return[e,n,r,a]},S.prototype.toGeoJSON=T.prototype.toGeoJSON;var E=P,L=P,C=A;function P(e){var r=new t.pbf;return function(t,e){for(var r in t.layers)e.writeMessage(3,O,t.layers[r])}(e,r),r.finish()}function O(t,e){var r;e.writeVarintField(15,t.version||1),e.writeStringField(1,t.name||""),e.writeVarintField(5,t.extent||4096);var n={keys:[],values:[],keycache:{},valuecache:{}};for(r=0;r<t.length;r++)n.feature=t.feature(r),e.writeMessage(2,z,n);var a=n.keys;for(r=0;r<a.length;r++)e.writeStringField(3,a[r]);var i=n.values;for(r=0;r<i.length;r++)e.writeMessage(4,B,i[r])}function z(t,e){var r=t.feature;void 0!==r.id&&e.writeVarintField(1,r.id),e.writeMessage(2,I,t),e.writeVarintField(3,r.type),e.writeMessage(4,F,r)}function I(t,e){var r=t.feature,n=t.keys,a=t.values,i=t.keycache,o=t.valuecache;for(var s in r.properties){var l=i[s];void 0===l&&(n.push(s),l=n.length-1,i[s]=l),e.writeVarint(l);var c=r.properties[s],u=typeof c;"string"!==u&&"boolean"!==u&&"number"!==u&&(c=JSON.stringify(c));var h=u+":"+c,f=o[h];void 0===f&&(a.push(c),f=a.length-1,o[h]=f),e.writeVarint(f)}}function D(t,e){return(e<<3)+(7&t)}function R(t){return t<<1^t>>31}function F(t,e){for(var r=t.loadGeometry(),n=t.type,a=0,i=0,o=r.length,s=0;s<o;s++){var l=r[s],c=1;1===n&&(c=l.length),e.writeVarint(D(1,c));for(var u=3===n?l.length-1:l.length,h=0;h<u;h++){1===h&&1!==n&&e.writeVarint(D(2,u-1));var f=l[h].x-a,p=l[h].y-i;e.writeVarint(R(f)),e.writeVarint(R(p)),a+=f,i+=p}3===n&&e.writeVarint(D(7,1))}}function B(t,e){var r=typeof t;"string"===r?e.writeStringField(1,t):"boolean"===r?e.writeBooleanField(7,t):"number"===r&&(t%1!=0?e.writeDoubleField(3,t):t<0?e.writeSVarintField(6,t):e.writeVarintField(5,t))}function N(t,e,r,n){j(t,r,n),j(e,2*r,2*n),j(e,2*r+1,2*n+1)}function j(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function V(t,e,r,n){var a=t-r,i=e-n;return a*a+i*i}E.fromVectorTileJs=L,E.fromGeojsonVt=function(t,e){e=e||{};var r={};for(var n in t)r[n]=new A(t[n].features,e),r[n].name=n,r[n].version=e.version,r[n].extent=e.extent;return P({layers:r})},E.GeoJSONWrapper=C;var U=function(t){return t[0]},q=function(t){return t[1]},H=function(t,e,r,n,a){void 0===e&&(e=U),void 0===r&&(r=q),void 0===n&&(n=64),void 0===a&&(a=Float64Array),this.nodeSize=n,this.points=t;for(var i=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new i(t.length),s=this.coords=new a(2*t.length),l=0;l<t.length;l++)o[l]=l,s[2*l]=e(t[l]),s[2*l+1]=r(t[l]);!function t(e,r,n,a,i,o){if(!(i-a<=n)){var s=a+i>>1;!function t(e,r,n,a,i,o){for(;i>a;){if(i-a>600){var s=i-a+1,l=n-a+1,c=Math.log(s),u=.5*Math.exp(2*c/3),h=.5*Math.sqrt(c*u*(s-u)/s)*(l-s/2<0?-1:1);t(e,r,n,Math.max(a,Math.floor(n-l*u/s+h)),Math.min(i,Math.floor(n+(s-l)*u/s+h)),o)}var f=r[2*n+o],p=a,d=i;for(N(e,r,a,n),r[2*i+o]>f&&N(e,r,a,i);p<d;){for(N(e,r,p,d),p++,d--;r[2*p+o]<f;)p++;for(;r[2*d+o]>f;)d--}r[2*a+o]===f?N(e,r,a,d):N(e,r,++d,i),d<=n&&(a=d+1),n<=d&&(i=d-1)}}(e,r,s,a,i,o%2),t(e,r,n,a,s-1,o+1),t(e,r,n,s+1,i,o+1)}}(o,s,n,0,o.length-1,0)};H.prototype.range=function(t,e,r,n){return function(t,e,r,n,a,i,o){for(var s,l,c=[0,t.length-1,0],u=[];c.length;){var h=c.pop(),f=c.pop(),p=c.pop();if(f-p<=o)for(var d=p;d<=f;d++)s=e[2*d],l=e[2*d+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[d]);else{var g=Math.floor((p+f)/2);s=e[2*g],l=e[2*g+1],s>=r&&s<=a&&l>=n&&l<=i&&u.push(t[g]);var v=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(g-1),c.push(v)),(0===h?a>=s:i>=l)&&(c.push(g+1),c.push(f),c.push(v))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},H.prototype.within=function(t,e,r){return function(t,e,r,n,a,i){for(var o=[0,t.length-1,0],s=[],l=a*a;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=i)for(var f=h;f<=u;f++)V(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],g=e[2*p+1];V(d,g,r,n)<=l&&s.push(t[p]);var v=(c+1)%2;(0===c?r-a<=d:n-a<=g)&&(o.push(h),o.push(p-1),o.push(v)),(0===c?r+a>=d:n+a>=g)&&(o.push(p+1),o.push(u),o.push(v))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var G={minZoom:0,maxZoom:16,radius:40,extent:512,nodeSize:64,log:!1,reduce:null,map:function(t){return t}},Y=function(t){this.options=$(Object.create(G),t),this.trees=new Array(this.options.maxZoom+1)};function W(t,e,r,n,a){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:a}}function X(t,e){var r=t.geometry.coordinates,n=r[0],a=r[1];return{x:K(n),y:Q(a),zoom:1/0,index:e,parentId:-1}}function Z(t){return{type:"Feature",id:t.id,properties:J(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function J(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return $($({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function K(t){return t/360+.5}function Q(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function $(t,e){for(var r in e)t[r]=e[r];return t}function tt(t){return t.x}function et(t){return t.y}function rt(t,e,r,n,a,i){var o=a-r,s=i-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=a,n=i):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function nt(t,e,r,n){var a={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)at(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n<e.length;n++)at(t,e[n]);else if("MultiPolygon"===r)for(n=0;n<e.length;n++)for(var a=0;a<e[n].length;a++)at(t,e[n][a])}(a),a}function at(t,e){for(var r=0;r<e.length;r+=3)t.minX=Math.min(t.minX,e[r]),t.minY=Math.min(t.minY,e[r+1]),t.maxX=Math.max(t.maxX,e[r]),t.maxY=Math.max(t.maxY,e[r+1])}function it(t,e,r,n){if(e.geometry){var a=e.geometry.coordinates,i=e.geometry.type,o=Math.pow(r.tolerance/((1<<r.maxZoom)*r.extent),2),s=[],l=e.id;if(r.promoteId?l=e.properties[r.promoteId]:r.generateId&&(l=n||0),"Point"===i)ot(a,s);else if("MultiPoint"===i)for(var c=0;c<a.length;c++)ot(a[c],s);else if("LineString"===i)st(a,s,o,!1);else if("MultiLineString"===i){if(r.lineMetrics){for(c=0;c<a.length;c++)s=[],st(a[c],s,o,!1),t.push(nt(l,"LineString",s,e.properties));return}lt(a,s,o,!1)}else if("Polygon"===i)lt(a,s,o,!0);else{if("MultiPolygon"!==i){if("GeometryCollection"===i){for(c=0;c<e.geometry.geometries.length;c++)it(t,{id:l,geometry:e.geometry.geometries[c],properties:e.properties},r,n);return}throw new Error("Input data is not a valid GeoJSON object.")}for(c=0;c<a.length;c++){var u=[];lt(a[c],u,o,!0),s.push(u)}}t.push(nt(l,i,s,e.properties))}}function ot(t,e){e.push(ct(t[0])),e.push(ut(t[1])),e.push(0)}function st(t,e,r,n){for(var a,i,o=0,s=0;s<t.length;s++){var l=ct(t[s][0]),c=ut(t[s][1]);e.push(l),e.push(c),e.push(0),s>0&&(o+=n?(a*c-l*i)/2:Math.sqrt(Math.pow(l-a,2)+Math.pow(c-i,2))),a=l,i=c}var u=e.length-3;e[2]=1,function t(e,r,n,a){for(var i,o=a,s=n-r>>1,l=n-r,c=e[r],u=e[r+1],h=e[n],f=e[n+1],p=r+3;p<n;p+=3){var d=rt(e[p],e[p+1],c,u,h,f);if(d>o)i=p,o=d;else if(d===o){var g=Math.abs(p-s);g<l&&(i=p,l=g)}}o>a&&(i-r>3&&t(e,r,i,a),e[i+2]=o,n-i>3&&t(e,i,n,a))}(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function lt(t,e,r,n){for(var a=0;a<t.length;a++){var i=[];st(t[a],i,r,n),e.push(i)}}function ct(t){return t/360+.5}function ut(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function ht(t,e,r,n,a,i,o,s){if(n/=e,i>=(r/=e)&&o<n)return t;if(o<r||i>=n)return null;for(var l=[],c=0;c<t.length;c++){var u=t[c],h=u.geometry,f=u.type,p=0===a?u.minX:u.minY,d=0===a?u.maxX:u.maxY;if(p>=r&&d<n)l.push(u);else if(!(d<r||p>=n)){var g=[];if("Point"===f||"MultiPoint"===f)ft(h,g,r,n,a);else if("LineString"===f)pt(h,g,r,n,a,!1,s.lineMetrics);else if("MultiLineString"===f)gt(h,g,r,n,a,!1);else if("Polygon"===f)gt(h,g,r,n,a,!0);else if("MultiPolygon"===f)for(var v=0;v<h.length;v++){var m=[];gt(h[v],m,r,n,a,!0),m.length&&g.push(m)}if(g.length){if(s.lineMetrics&&"LineString"===f){for(v=0;v<g.length;v++)l.push(nt(u.id,f,g[v],u.tags));continue}"LineString"!==f&&"MultiLineString"!==f||(1===g.length?(f="LineString",g=g[0]):f="MultiLineString"),"Point"!==f&&"MultiPoint"!==f||(f=3===g.length?"Point":"MultiPoint"),l.push(nt(u.id,f,g,u.tags))}}}return l.length?l:null}function ft(t,e,r,n,a){for(var i=0;i<t.length;i+=3){var o=t[i+a];o>=r&&o<=n&&(e.push(t[i]),e.push(t[i+1]),e.push(t[i+2]))}}function pt(t,e,r,n,a,i,o){for(var s,l,c=dt(t),u=0===a?mt:yt,h=t.start,f=0;f<t.length-3;f+=3){var p=t[f],d=t[f+1],g=t[f+2],v=t[f+3],m=t[f+4],y=0===a?p:d,x=0===a?v:m,b=!1;o&&(s=Math.sqrt(Math.pow(p-v,2)+Math.pow(d-m,2))),y<r?x>r&&(l=u(c,p,d,v,m,r),o&&(c.start=h+s*l)):y>n?x<n&&(l=u(c,p,d,v,m,n),o&&(c.start=h+s*l)):vt(c,p,d,g),x<r&&y>=r&&(l=u(c,p,d,v,m,r),b=!0),x>n&&y<=n&&(l=u(c,p,d,v,m,n),b=!0),!i&&b&&(o&&(c.end=h+s*l),e.push(c),c=dt(t)),o&&(h+=s)}var _=t.length-3;p=t[_],d=t[_+1],g=t[_+2],(y=0===a?p:d)>=r&&y<=n&&vt(c,p,d,g),_=c.length-3,i&&_>=3&&(c[_]!==c[0]||c[_+1]!==c[1])&&vt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function dt(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function gt(t,e,r,n,a,i){for(var o=0;o<t.length;o++)pt(t[o],e,r,n,a,i,!1)}function vt(t,e,r,n){t.push(e),t.push(r),t.push(n)}function mt(t,e,r,n,a,i){var o=(i-e)/(n-e);return t.push(i),t.push(r+(a-r)*o),t.push(1),o}function yt(t,e,r,n,a,i){var o=(i-r)/(a-r);return t.push(e+(n-e)*o),t.push(i),t.push(1),o}function xt(t,e){for(var r=[],n=0;n<t.length;n++){var a,i=t[n],o=i.type;if("Point"===o||"MultiPoint"===o||"LineString"===o)a=bt(i.geometry,e);else if("MultiLineString"===o||"Polygon"===o){a=[];for(var s=0;s<i.geometry.length;s++)a.push(bt(i.geometry[s],e))}else if("MultiPolygon"===o)for(a=[],s=0;s<i.geometry.length;s++){for(var l=[],c=0;c<i.geometry[s].length;c++)l.push(bt(i.geometry[s][c],e));a.push(l)}r.push(nt(i.id,o,a,i.tags))}return r}function bt(t,e){var r=[];r.size=t.size,void 0!==t.start&&(r.start=t.start,r.end=t.end);for(var n=0;n<t.length;n+=3)r.push(t[n]+e,t[n+1],t[n+2]);return r}function _t(t,e){if(t.transformed)return t;var r,n,a,i=1<<t.z,o=t.x,s=t.y;for(r=0;r<t.features.length;r++){var l=t.features[r],c=l.geometry,u=l.type;if(l.geometry=[],1===u)for(n=0;n<c.length;n+=2)l.geometry.push(wt(c[n],c[n+1],e,i,o,s));else for(n=0;n<c.length;n++){var h=[];for(a=0;a<c[n].length;a+=2)h.push(wt(c[n][a],c[n][a+1],e,i,o,s));l.geometry.push(h)}}return t.transformed=!0,t}function wt(t,e,r,n,a,i){return[Math.round(r*(t*n-a)),Math.round(r*(e*n-i))]}function kt(t,e,r,n,a){for(var i=e===a.maxZoom?0:a.tolerance/((1<<e)*a.extent),o={features:[],numPoints:0,numSimplified:0,numFeatures:0,source:null,x:r,y:n,z:e,transformed:!1,minX:2,minY:1,maxX:-1,maxY:0},s=0;s<t.length;s++){o.numFeatures++,Tt(o,t[s],i,a);var l=t[s].minX,c=t[s].minY,u=t[s].maxX,h=t[s].maxY;l<o.minX&&(o.minX=l),c<o.minY&&(o.minY=c),u>o.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function Tt(t,e,r,n){var a=e.geometry,i=e.type,o=[];if("Point"===i||"MultiPoint"===i)for(var s=0;s<a.length;s+=3)o.push(a[s]),o.push(a[s+1]),t.numPoints++,t.numSimplified++;else if("LineString"===i)At(o,a,t,r,!1,!1);else if("MultiLineString"===i||"Polygon"===i)for(s=0;s<a.length;s++)At(o,a[s],t,r,"Polygon"===i,0===s);else if("MultiPolygon"===i)for(var l=0;l<a.length;l++){var c=a[l];for(s=0;s<c.length;s++)At(o,c[s],t,r,!0,0===s)}if(o.length){var u=e.tags||null;if("LineString"===i&&n.lineMetrics){for(var h in u={},e.tags)u[h]=e.tags[h];u.mapbox_clip_start=a.start/a.size,u.mapbox_clip_end=a.end/a.size}var f={geometry:o,type:"Polygon"===i||"MultiPolygon"===i?3:"LineString"===i||"MultiLineString"===i?2:1,tags:u};null!==e.id&&(f.id=e.id),t.features.push(f)}}function At(t,e,r,n,a,i){var o=n*n;if(n>0&&e.size<(a?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;l<e.length;l+=3)(0===n||e[l+2]>o)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;a&&function(t,e){for(var r=0,n=0,a=t.length,i=a-2;n<a;i=n,n+=2)r+=(t[n]-t[i])*(t[n+1]+t[i+1]);if(r>0===e)for(n=0,a=t.length;n<a/2;n+=2){var o=t[n],s=t[n+1];t[n]=t[a-2-n],t[n+1]=t[a-1-n],t[a-2-n]=o,t[a-1-n]=s}}(s,i),t.push(s)}}function Mt(t,e){var r=(e=this.options=function(t,e){for(var r in e)t[r]=e[r];return t}(Object.create(this.options),e)).debug;if(r&&console.time("preprocess data"),e.maxZoom<0||e.maxZoom>24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n<t.features.length;n++)it(r,t.features[n],e,n);else"Feature"===t.type?it(r,t,e):it(r,{geometry:t},e);return r}(t,e);this.tiles={},this.tileCoords=[],r&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",e.indexMaxZoom,e.indexMaxPoints),console.time("generate tiles"),this.stats={},this.total=0),(n=function(t,e){var r=e.buffer/e.extent,n=t,a=ht(t,1,-1-r,r,0,-1,2,e),i=ht(t,1,1-r,2+r,0,-1,2,e);return(a||i)&&(n=ht(t,1,-r,1+r,0,-1,2,e)||[],a&&(n=xt(a,1).concat(n)),i&&(n=n.concat(xt(i,-1)))),n}(n,e)).length&&this.splitTile(n,0,0,0),r&&(n.length&&console.log("features: %d, points: %d",this.tiles[0].numFeatures,this.tiles[0].numPoints),console.timeEnd("generate tiles"),console.log("tiles generated:",this.total,JSON.stringify(this.stats)))}function St(t,e,r){return 32*((1<<t)*r+e)+t}function Et(t,e){var r=t.tileID.canonical;if(!this._geoJSONIndex)return e(null,null);var n=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!n)return e(null,null);var a=new k(n.features),i=E(a);0===i.byteOffset&&i.byteLength===i.buffer.byteLength||(i=new Uint8Array(i)),e(null,{vectorTile:a,rawData:i.buffer})}Y.prototype.load=function(t){var e=this.options,r=e.log,n=e.minZoom,a=e.maxZoom,i=e.nodeSize;r&&console.time("total time");var o="prepare "+t.length+" points";r&&console.time(o),this.points=t;for(var s=[],l=0;l<t.length;l++)t[l].geometry&&s.push(X(t[l],l));this.trees[a+1]=new H(s,tt,et,i,Float32Array),r&&console.timeEnd(o);for(var c=a;c>=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new H(s,tt,et,i,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},Y.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),a=180===t[2]?180:((t[2]+180)%360+360)%360-180,i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,a=180;else if(r>a){var o=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,a,i],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(K(r),Q(i),K(a),Q(n));u<h.length;u+=1){var f=h[u],p=l.points[f];c.push(p.numPoints?Z(p):this.points[p.index])}return c},Y.prototype.getChildren=function(t){var e=t>>5,r=t%32,n="No cluster with the specified id.",a=this.trees[r];if(!a)throw new Error(n);var i=a.points[e];if(!i)throw new Error(n);for(var o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=[],l=0,c=a.within(i.x,i.y,o);l<c.length;l+=1){var u=c[l],h=a.points[u];h.parentId===t&&s.push(h.numPoints?Z(h):this.points[h.index])}if(0===s.length)throw new Error(n);return s},Y.prototype.getLeaves=function(t,e,r){e=e||10,r=r||0;var n=[];return this._appendLeaves(n,t,e,r,0),n},Y.prototype.getTile=function(t,e,r){var n=this.trees[this._limitZoom(t)],a=Math.pow(2,t),i=this.options,o=i.extent,s=i.radius/o,l=(r-s)/a,c=(r+1+s)/a,u={features:[]};return this._addTileFeatures(n.range((e-s)/a,l,(e+1+s)/a,c),n.points,e,r,a,u),0===e&&this._addTileFeatures(n.range(1-s/a,l,1,c),n.points,a,r,a,u),e===a-1&&this._addTileFeatures(n.range(0,l,s/a,c),n.points,-1,r,a,u),u.features.length?u:null},Y.prototype.getClusterExpansionZoom=function(t){for(var e=t%32-1;e<=this.options.maxZoom;){var r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e},Y.prototype._appendLeaves=function(t,e,r,n,a){for(var i=0,o=this.getChildren(e);i<o.length;i+=1){var s=o[i],l=s.properties;if(l&&l.cluster?a+l.point_count<=n?a+=l.point_count:a=this._appendLeaves(t,l.cluster_id,r,n,a):a<n?a++:t.push(s),t.length===r)break}return a},Y.prototype._addTileFeatures=function(t,e,r,n,a,i){for(var o=0,s=t;o<s.length;o+=1){var l=e[s[o]],c={type:1,geometry:[[Math.round(this.options.extent*(l.x*a-r)),Math.round(this.options.extent*(l.y*a-n))]],tags:l.numPoints?J(l):this.points[l.index].properties},u=l.numPoints?l.id:this.points[l.index].id;void 0!==u&&(c.id=u),i.features.push(c)}},Y.prototype._limitZoom=function(t){return Math.max(this.options.minZoom,Math.min(t,this.options.maxZoom+1))},Y.prototype._cluster=function(t,e){for(var r=[],n=this.options,a=n.radius,i=n.extent,o=n.reduce,s=a/(i*Math.pow(2,e)),l=0;l<t.length;l++){var c=t[l];if(!(c.zoom<=e)){c.zoom=e;for(var u=this.trees[e+1],h=u.within(c.x,c.y,s),f=c.numPoints||1,p=c.x*f,d=c.y*f,g=o&&f>1?this._map(c,!0):null,v=(l<<5)+(e+1),m=0,y=h;m<y.length;m+=1){var x=y[m],b=u.points[x];if(!(b.zoom<=e)){b.zoom=e;var _=b.numPoints||1;p+=b.x*_,d+=b.y*_,f+=_,b.parentId=v,o&&(g||(g=this._map(c,!0)),o(g,this._map(b)))}}1===f?r.push(c):(c.parentId=v,r.push(W(p/f,d/f,v,f,g)))}}return r},Y.prototype._map=function(t,e){if(t.numPoints)return e?$({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?$({},n):n},Mt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Mt.prototype.splitTile=function(t,e,r,n,a,i,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<<e,h=St(e,r,n),f=this.tiles[h];if(!f&&(c>1&&console.time("creation"),f=this.tiles[h]=kt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,a){if(e===l.maxZoom||e===a)continue;var d=1<<a-e;if(r!==Math.floor(i/d)||n!==Math.floor(o/d))continue}else if(e===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue;if(f.source=null,0!==t.length){c>1&&console.time("clipping");var g,v,m,y,x,b,_=.5*l.buffer/l.extent,w=.5-_,k=.5+_,T=1+_;g=v=m=y=null,x=ht(t,u,r-_,r+k,0,f.minX,f.maxX,l),b=ht(t,u,r+w,r+T,0,f.minX,f.maxX,l),t=null,x&&(g=ht(x,u,n-_,n+k,1,f.minY,f.maxY,l),v=ht(x,u,n+w,n+T,1,f.minY,f.maxY,l),x=null),b&&(m=ht(b,u,n-_,n+k,1,f.minY,f.maxY,l),y=ht(b,u,n+w,n+T,1,f.minY,f.maxY,l),b=null),c>1&&console.timeEnd("clipping"),s.push(g||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(m||[],e+1,2*r+1,2*n),s.push(y||[],e+1,2*r+1,2*n+1)}}},Mt.prototype.getTile=function(t,e,r){var n=this.options,a=n.extent,i=n.debug;if(t<0||t>24)return null;var o=1<<t,s=St(t,e=(e%o+o)%o,r);if(this.tiles[s])return _t(this.tiles[s],a);i>1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[St(c,u,h)];return l&&l.source?(i>1&&console.log("found parent tile z%d-%d-%d",c,u,h),i>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,r),i>1&&console.timeEnd("drilling down"),this.tiles[s]?_t(this.tiles[s],a):null):null};var Lt=function(e){function r(t,r,n){e.call(this,t,r,Et),n&&(this.loadGeoJSON=n)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var a=!!(n&&n.request&&n.request.collectResourceTiming)&&new l.Performance(n.request);this.loadGeoJSON(n,function(i,o){if(i||!o)return r(i);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));!function t(e,r){switch(e&&e.type||null){case"FeatureCollection":return e.features=e.features.map(y(t,r)),e;case"GeometryCollection":return e.geometries=e.geometries.map(y(t,r)),e;case"Feature":return e.geometry=t(e.geometry,r),e;case"Polygon":case"MultiPolygon":return function(t,e){return"Polygon"===t.type?t.coordinates=x(t.coordinates,e):"MultiPolygon"===t.type&&(t.coordinates=t.coordinates.map(y(x,e))),t}(e,r);default:return e}}(o,!0);try{e._geoJSONIndex=n.cluster?new Y(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var a={},i={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c<u.length;c+=1){var h=u[c],f=n[h],p=f[0],d=f[1],g=t.createExpression(d),v=t.createExpression("string"==typeof p?[p,["accumulated"],["get",h]]:p);a[h]=g.value,i[h]=v.value}return r.map=function(t){s.properties=t;for(var e={},r=0,n=l;r<n.length;r+=1){var i=n[r];e[i]=a[i].evaluate(o,s)}return e},r.reduce=function(t,e){s.properties=e;for(var r=0,n=l;r<n.length;r+=1){var a=n[r];o.accumulated=t[a],t[a]=i[a].evaluate(o,s)}},r}(n)).load(o.features):new Mt(o,n.geojsonVtOptions)}catch(i){return r(i)}e.loaded={};var s={};if(a){var l=a.finish();l&&(s.resourceTiming={},s.resourceTiming[n.source]=JSON.parse(JSON.stringify(l)))}r(null,s)})}},r.prototype.coalesce=function(){"Coalescing"===this._state?this._state="Idle":"NeedsLoadData"===this._state&&(this._state="Coalescing",this._loadData())},r.prototype.reloadTile=function(t,r){var n=this.loaded,a=t.uid;return n&&n[a]?e.prototype.reloadTile.call(this,t,r):this.loadTile(t,r)},r.prototype.loadGeoJSON=function(e,r){if(e.request)t.getJSON(e.request,r);else{if("string"!=typeof e.data)return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."));try{return r(null,JSON.parse(e.data))}catch(t){return r(new Error("Input data given to '"+e.source+"' is not a valid GeoJSON object."))}}},r.prototype.removeSource=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),e()},r.prototype.getClusterExpansionZoom=function(t,e){e(null,this._geoJSONIndex.getClusterExpansionZoom(t.clusterId))},r.prototype.getClusterChildren=function(t,e){e(null,this._geoJSONIndex.getChildren(t.clusterId))},r.prototype.getClusterLeaves=function(t,e){e(null,this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset))},r}(h),Ct=function(e){var r=this;this.self=e,this.actor=new t.Actor(e,this),this.layerIndexes={},this.workerSourceTypes={vector:h,geojson:Lt},this.workerSources={},this.demWorkerSources={},this.self.registerWorkerSource=function(t,e){if(r.workerSourceTypes[t])throw new Error('Worker source with name "'+t+'" already registered.');r.workerSourceTypes[t]=e},this.self.registerRTLTextPlugin=function(e){if(t.plugin.isLoaded())throw new Error("RTL text plugin already registered.");t.plugin.applyArabicShaping=e.applyArabicShaping,t.plugin.processBidirectionalText=e.processBidirectionalText,t.plugin.processStyledBidirectionalText=e.processStyledBidirectionalText}};return Ct.prototype.setReferrer=function(t,e){this.referrer=e},Ct.prototype.setLayers=function(t,e,r){this.getLayerIndex(t).replace(e),r()},Ct.prototype.updateLayers=function(t,e,r){this.getLayerIndex(t).update(e.layers,e.removedIds),r()},Ct.prototype.loadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).loadTile(e,r)},Ct.prototype.loadDEMTile=function(t,e,r){this.getDEMWorkerSource(t,e.source).loadTile(e,r)},Ct.prototype.reloadTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).reloadTile(e,r)},Ct.prototype.abortTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).abortTile(e,r)},Ct.prototype.removeTile=function(t,e,r){this.getWorkerSource(t,e.type,e.source).removeTile(e,r)},Ct.prototype.removeDEMTile=function(t,e){this.getDEMWorkerSource(t,e.source).removeTile(e)},Ct.prototype.removeSource=function(t,e,r){if(this.workerSources[t]&&this.workerSources[t][e.type]&&this.workerSources[t][e.type][e.source]){var n=this.workerSources[t][e.type][e.source];delete this.workerSources[t][e.type][e.source],void 0!==n.removeSource?n.removeSource(e,r):r()}},Ct.prototype.loadWorkerSource=function(t,e,r){try{this.self.importScripts(e.url),r()}catch(t){r(t.toString())}},Ct.prototype.loadRTLTextPlugin=function(e,r,n){try{t.plugin.isLoaded()||(this.self.importScripts(r),n(t.plugin.isLoaded()?null:new Error("RTL Text Plugin failed to import scripts from "+r)))}catch(t){n(t.toString())}},Ct.prototype.getLayerIndex=function(t){var e=this.layerIndexes[t];return e||(e=this.layerIndexes[t]=new n),e},Ct.prototype.getWorkerSource=function(t,e,r){var n=this;if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){var a={send:function(e,r,a){n.actor.send(e,r,a,t)}};this.workerSources[t][e][r]=new this.workerSourceTypes[e](a,this.getLayerIndex(t))}return this.workerSources[t][e][r]},Ct.prototype.getDEMWorkerSource=function(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new f),this.demWorkerSources[t][e]},Ct.prototype.enforceCacheSizeLimit=function(e,r){t.enforceCacheSizeLimit(r)},"undefined"!=typeof WorkerGlobalScope&&void 0!==t.window&&t.window instanceof WorkerGlobalScope&&(t.window.worker=new Ct(t.window)),Ct}),n(0,function(t){var e=t.createCommonjsModule(function(t){function e(t){return!!("undefined"!=typeof window&&"undefined"!=typeof document&&Array.prototype&&Array.prototype.every&&Array.prototype.filter&&Array.prototype.forEach&&Array.prototype.indexOf&&Array.prototype.lastIndexOf&&Array.prototype.map&&Array.prototype.some&&Array.prototype.reduce&&Array.prototype.reduceRight&&Array.isArray&&Function.prototype&&Function.prototype.bind&&Object.keys&&Object.create&&Object.getPrototypeOf&&Object.getOwnPropertyNames&&Object.isSealed&&Object.isFrozen&&Object.isExtensible&&Object.getOwnPropertyDescriptor&&Object.defineProperty&&Object.defineProperties&&Object.seal&&Object.freeze&&Object.preventExtensions&&"JSON"in window&&"parse"in JSON&&"stringify"in JSON&&function(){if(!("Worker"in window&&"Blob"in window&&"URL"in window))return!1;var t,e,r=new Blob([""],{type:"text/javascript"}),n=URL.createObjectURL(r);try{e=new Worker(n),t=!0}catch(e){t=!1}return e&&e.terminate(),URL.revokeObjectURL(n),t}()&&"Uint8ClampedArray"in window&&ArrayBuffer.isView&&function(t){return void 0===r[t]&&(r[t]=function(t){var r=document.createElement("canvas"),n=Object.create(e.webGLContextAttributes);return n.failIfMajorPerformanceCaveat=t,r.probablySupportsContext?r.probablySupportsContext("webgl",n)||r.probablySupportsContext("experimental-webgl",n):r.supportsContext?r.supportsContext("webgl",n)||r.supportsContext("experimental-webgl",n):r.getContext("webgl",n)||r.getContext("experimental-webgl",n)}(t)),r[t]}(t&&t.failIfMajorPerformanceCaveat))}t.exports?t.exports=e:window&&(window.mapboxgl=window.mapboxgl||{},window.mapboxgl.supported=e);var r={};e.webGLContextAttributes={antialias:!1,alpha:!0,stencil:!0,depth:!0}}),r={create:function(e,r,n){var a=t.window.document.createElement(e);return void 0!==r&&(a.className=r),n&&n.appendChild(a),a},createNS:function(e,r){return t.window.document.createElementNS(e,r)}},n=t.window.document.documentElement.style;function a(t){if(!n)return t[0];for(var e=0;e<t.length;e++)if(t[e]in n)return t[e];return t[0]}var i,o=a(["userSelect","MozUserSelect","WebkitUserSelect","msUserSelect"]);r.disableDrag=function(){n&&o&&(i=n[o],n[o]="none")},r.enableDrag=function(){n&&o&&(n[o]=i)};var s=a(["transform","WebkitTransform"]);r.setTransform=function(t,e){t.style[s]=e};var l=!1;try{var c=Object.defineProperty({},"passive",{get:function(){l=!0}});t.window.addEventListener("test",c,c),t.window.removeEventListener("test",c,c)}catch(t){l=!1}r.addEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.addEventListener(e,r,n):t.addEventListener(e,r,n.capture)},r.removeEventListener=function(t,e,r,n){void 0===n&&(n={}),"passive"in n&&l?t.removeEventListener(e,r,n):t.removeEventListener(e,r,n.capture)};var u=function(e){e.preventDefault(),e.stopPropagation(),t.window.removeEventListener("click",u,!0)};function h(t){var e=t.userImage;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}r.suppressClick=function(){t.window.addEventListener("click",u,!0),t.window.setTimeout(function(){t.window.removeEventListener("click",u,!0)},0)},r.mousePos=function(e,r){var n=e.getBoundingClientRect(),a=t.window.TouchEvent&&r instanceof t.window.TouchEvent?r.touches[0]:r;return new t.Point(a.clientX-n.left-e.clientLeft,a.clientY-n.top-e.clientTop)},r.touchPos=function(e,r){for(var n=e.getBoundingClientRect(),a=[],i="touchend"===r.type?r.changedTouches:r.touches,o=0;o<i.length;o++)a.push(new t.Point(i[o].clientX-n.left-e.clientLeft,i[o].clientY-n.top-e.clientTop));return a},r.mouseButton=function(e){return void 0!==t.window.InstallTrigger&&2===e.button&&e.ctrlKey&&t.window.navigator.platform.toUpperCase().indexOf("MAC")>=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e<r.length;e+=1){var n=r[e],a=n.ids,i=n.callback;this._notify(a,i)}this.requestors=[]}},r.prototype.getImage=function(t){return this.images[t]},r.prototype.addImage=function(t,e){this.images[t]=e},r.prototype.updateImage=function(t,e){var r=this.images[t];e.version=r.version+1,this.images[t]=e,this.updatedImages[t]=!0},r.prototype.removeImage=function(t){var e=this.images[t];delete this.images[t],delete this.patterns[t],e.userImage&&e.userImage.onRemove&&e.userImage.onRemove()},r.prototype.listImages=function(){return Object.keys(this.images)},r.prototype.getImages=function(t,e){var r=!0;if(!this.isLoaded())for(var n=0,a=t;n<a.length;n+=1){var i=a[n];this.images[i]||(r=!1)}this.isLoaded()||r?this._notify(t,e):this.requestors.push({ids:t,callback:e})},r.prototype._notify=function(e,r){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a];this.images[o]||this.fire(new t.Event("styleimagemissing",{id:o}));var s=this.images[o];s?n[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,hasRenderCallback:Boolean(s.userImage&&s.userImage.render)}:t.warnOnce('Image "'+o+'" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.')}r(null,n)},r.prototype.getPixelSize=function(){var t=this.atlasImage;return{width:t.width,height:t.height}},r.prototype.getPattern=function(e){var r=this.patterns[e],n=this.getImage(e);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{var a={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new t.ImagePosition(a,n);this.patterns[e]={bin:a,position:i}}return this._updatePatternAtlas(),this.patterns[e].position},r.prototype.bind=function(e){var r=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new t.Texture(e,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)},r.prototype._updatePatternAtlas=function(){var e=[];for(var r in this.patterns)e.push(this.patterns[r].bin);var n=t.potpack(e),a=n.w,i=n.h,o=this.atlasImage;for(var s in o.resize({width:a||1,height:i||1}),this.patterns){var l=this.patterns[s].bin,c=l.x+1,u=l.y+1,h=this.images[s].data,f=h.width,p=h.height;t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u},{width:f,height:p}),t.RGBAImage.copy(h,o,{x:0,y:p-1},{x:c,y:u-1},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c,y:u+p},{width:f,height:1}),t.RGBAImage.copy(h,o,{x:f-1,y:0},{x:c-1,y:u},{width:1,height:p}),t.RGBAImage.copy(h,o,{x:0,y:0},{x:c+f,y:u},{width:1,height:p})}this.dirty=!0},r.prototype.beginFrame=function(){this.callbackDispatchedThisFrame={}},r.prototype.dispatchRenderCallbacks=function(t){for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!this.callbackDispatchedThisFrame[n]){this.callbackDispatchedThisFrame[n]=!0;var a=this.images[n];h(a)&&this.updateImage(n,a)}}},r}(t.Evented),p=v,d=v,g=1e20;function v(t,e,r,n,a,i){this.fontSize=t||24,this.buffer=void 0===e?3:e,this.cutoff=n||.25,this.fontFamily=a||"sans-serif",this.fontWeight=i||"normal",this.radius=r||8;var o=this.size=this.fontSize+2*this.buffer;this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=o,this.ctx=this.canvas.getContext("2d"),this.ctx.font=this.fontWeight+" "+this.fontSize+"px "+this.fontFamily,this.ctx.textBaseline="middle",this.ctx.fillStyle="black",this.gridOuter=new Float64Array(o*o),this.gridInner=new Float64Array(o*o),this.f=new Float64Array(o),this.d=new Float64Array(o),this.z=new Float64Array(o+1),this.v=new Int16Array(o),this.middle=Math.round(o/2*(navigator.userAgent.indexOf("Gecko/")>=0?1.2:1))}function m(t,e,r,n,a,i,o){for(var s=0;s<e;s++){for(var l=0;l<r;l++)n[l]=t[l*e+s];for(y(n,a,i,o,r),l=0;l<r;l++)t[l*e+s]=a[l]}for(l=0;l<r;l++){for(s=0;s<e;s++)n[s]=t[l*e+s];for(y(n,a,i,o,e),s=0;s<e;s++)t[l*e+s]=Math.sqrt(a[s])}}function y(t,e,r,n,a){r[0]=0,n[0]=-g,n[1]=+g;for(var i=1,o=0;i<a;i++){for(var s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);s<=n[o];)o--,s=(t[i]+i*i-(t[r[o]]+r[o]*r[o]))/(2*i-2*r[o]);r[++o]=i,n[o]=s,n[o+1]=+g}for(i=0,o=0;i<a;i++){for(;n[o+1]<i;)o++;e[i]=(i-r[o])*(i-r[o])+t[r[o]]}}v.prototype.draw=function(t){this.ctx.clearRect(0,0,this.size,this.size),this.ctx.fillText(t,this.buffer,this.middle);for(var e=this.ctx.getImageData(0,0,this.size,this.size),r=new Uint8ClampedArray(this.size*this.size),n=0;n<this.size*this.size;n++){var a=e.data[4*n+3]/255;this.gridOuter[n]=1===a?0:0===a?g:Math.pow(Math.max(0,.5-a),2),this.gridInner[n]=1===a?g:0===a?0:Math.pow(Math.max(0,a-.5),2)}for(m(this.gridOuter,this.size,this.size,this.f,this.d,this.v,this.z),m(this.gridInner,this.size,this.size,this.f,this.d,this.v,this.z),n=0;n<this.size*this.size;n++){var i=this.gridOuter[n]-this.gridInner[n];r[n]=Math.max(0,Math.min(255,Math.round(255-255*(i/this.radius+this.cutoff))))}return r},p.default=d;var x=function(t,e){this.requestManager=t,this.localIdeographFontFamily=e,this.entries={}};x.prototype.setURL=function(t){this.url=t},x.prototype.getGlyphs=function(e,r){var n=this,a=[];for(var i in e)for(var o=0,s=e[i];o<s.length;o+=1){var l=s[o];a.push({stack:i,id:l})}t.asyncAll(a,function(t,e){var r=t.stack,a=t.id,i=n.entries[r];i||(i=n.entries[r]={glyphs:{},requests:{}});var o=i.glyphs[a];if(void 0===o){if(o=n._tinySDF(i,r,a))return i.glyphs[a]=o,void e(null,{stack:r,id:a,glyph:o});var s=Math.floor(a/256);if(256*s>65535)e(new Error("glyphs > 65535 not supported"));else{var l=i.requests[s];l||(l=i.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,function(t,e){if(e)for(var r in e)n._doesCharSupportLocalGlyph(+r)||(i.glyphs[+r]=e[+r]);for(var a=0,o=l;a<o.length;a+=1)(0,o[a])(t,e);delete i.requests[s]})),l.push(function(t,n){t?e(t):n&&e(null,{stack:r,id:a,glyph:n[a]||null})})}}else e(null,{stack:r,id:a,glyph:o})},function(t,e){if(t)r(t);else if(e){for(var n={},a=0,i=e;a<i.length;a+=1){var o=i[a],s=o.stack,l=o.id,c=o.glyph;(n[s]||(n[s]={}))[l]=c&&{id:c.id,bitmap:c.bitmap.clone(),metrics:c.metrics}}r(null,n)}})},x.prototype._doesCharSupportLocalGlyph=function(e){return!!this.localIdeographFontFamily&&(t.isChar["CJK Unified Ideographs"](e)||t.isChar["Hangul Syllables"](e)||t.isChar.Hiragana(e)||t.isChar.Katakana(e))},x.prototype._tinySDF=function(e,r,n){var a=this.localIdeographFontFamily;if(a&&this._doesCharSupportLocalGlyph(n)){var i=e.tinySDF;if(!i){var o="400";/bold/i.test(r)?o="900":/medium/i.test(r)?o="500":/light/i.test(r)&&(o="200"),i=e.tinySDF=new x.TinySDF(24,3,8,.25,a,o)}return{id:n,bitmap:new t.AlphaImage({width:30,height:30},i.draw(String.fromCharCode(n))),metrics:{width:24,height:24,left:0,top:-8,advance:24}}}},x.loadGlyphRange=function(e,r,n,a,i){var o=256*r,s=o+255,l=a.transformRequest(a.normalizeGlyphsURL(n).replace("{fontstack}",e).replace("{range}",o+"-"+s),t.ResourceType.Glyphs);t.getArrayBuffer(l,function(e,r){if(e)i(e);else if(r){for(var n={},a=0,o=t.parseGlyphPBF(r);a<o.length;a+=1){var s=o[a];n[s.id]=s}i(null,n)}})},x.TinySDF=p;var b=function(){this.specification=t.styleSpec.light.position};b.prototype.possiblyEvaluate=function(e,r){return t.sphericalToCartesian(e.expression.evaluate(r))},b.prototype.interpolate=function(e,r,n){return{x:t.number(e.x,r.x,n),y:t.number(e.y,r.y,n),z:t.number(e.z,r.z,n)}};var _=new t.Properties({anchor:new t.DataConstantProperty(t.styleSpec.light.anchor),position:new b,color:new t.DataConstantProperty(t.styleSpec.light.color),intensity:new t.DataConstantProperty(t.styleSpec.light.intensity)}),w=function(e){function r(r){e.call(this),this._transitionable=new t.Transitionable(_),this.setLight(r),this._transitioning=this._transitionable.untransitioned()}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getLight=function(){return this._transitionable.serialize()},r.prototype.setLight=function(e,r){if(void 0===r&&(r={}),!this._validate(t.validateLight,e,r))for(var n in e){var a=e[n];t.endsWith(n,"-transition")?this._transitionable.setTransition(n.slice(0,-"-transition".length),a):this._transitionable.setValue(n,a)}},r.prototype.updateTransitions=function(t){this._transitioning=this._transitionable.transitioned(t,this._transitioning)},r.prototype.hasTransition=function(){return this._transitioning.hasTransition()},r.prototype.recalculate=function(t){this.properties=this._transitioning.possiblyEvaluate(t)},r.prototype._validate=function(e,r,n){return(!n||!1!==n.validate)&&t.emitValidationErrors(this,e.call(t.validateStyle,t.extend({value:r,style:{glyphs:!0,sprite:!0},styleSpec:t.styleSpec})))},r}(t.Evented),k=function(t,e){this.width=t,this.height=e,this.nextRow=0,this.bytes=4,this.data=new Uint8Array(this.width*this.height*this.bytes),this.positions={}};k.prototype.getDash=function(t,e){var r=t.join(",")+String(e);return this.positions[r]||(this.positions[r]=this.addDash(t,e)),this.positions[r]},k.prototype.addDash=function(e,r){var n=r?7:0,a=2*n+1;if(this.nextRow+a>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var i=0,o=0;o<e.length;o++)i+=e[o];for(var s=this.width/i,l=s/2,c=e.length%2==1,u=-n;u<=n;u++)for(var h=this.nextRow+n+u,f=this.width*h,p=c?-e[e.length-1]:0,d=e[0],g=1,v=0;v<this.width;v++){for(;d<v/s;)p=d,d+=e[g],c&&g===e.length-1&&(d+=e[0]),g++;var m=Math.abs(v-p*s),y=Math.abs(v-d*s),x=Math.min(m,y),b=g%2==1,_=void 0;if(r){var w=n?u/n*(l+1):0;if(b){var k=l-Math.abs(w);_=Math.sqrt(x*x+k*k)}else _=l-Math.sqrt(x*x+w*w)}else _=(b?1:-1)*x;this.data[3+4*(f+v)]=Math.max(0,Math.min(255,_+128))}var T={y:(this.nextRow+n+.5)/this.height,height:2*n/this.height,width:i};return this.nextRow+=a,this.dirty=!0,T},k.prototype.bind=function(t){var e=t.gl;this.texture?(e.bindTexture(e.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,e.texSubImage2D(e.TEXTURE_2D,0,0,0,this.width,this.height,e.RGBA,e.UNSIGNED_BYTE,this.data))):(this.texture=e.createTexture(),e.bindTexture(e.TEXTURE_2D,this.texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.REPEAT),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,this.width,this.height,0,e.RGBA,e.UNSIGNED_BYTE,this.data))};var T=function e(r,n){this.workerPool=r,this.actors=[],this.currentActor=0,this.id=t.uniqueId();for(var a=this.workerPool.acquire(this.id),i=0;i<a.length;i++){var o=a[i],s=new e.Actor(o,n,this.id);s.name="Worker "+i,this.actors.push(s)}};function A(e,r,n){var a=function(a,i){if(a)return n(a);if(i){var o=t.pick(t.extend(i,e),["tiles","minzoom","maxzoom","attribution","mapbox_logo","bounds","scheme","tileSize","encoding"]);i.vector_layers&&(o.vectorLayers=i.vector_layers,o.vectorLayerIds=o.vectorLayers.map(function(t){return t.id})),e.url&&(o.tiles=r.canonicalizeTileset(o,e.url)),n(null,o)}};return e.url?t.getJSON(r.transformRequest(r.normalizeSourceURL(e.url),t.ResourceType.Source),a):t.browser.frame(function(){return a(null,e)})}T.prototype.broadcast=function(e,r,n){n=n||function(){},t.asyncAll(this.actors,function(t,n){t.send(e,r,n)},n)},T.prototype.getActor=function(){return this.currentActor=(this.currentActor+1)%this.actors.length,this.actors[this.currentActor]},T.prototype.remove=function(){this.actors.forEach(function(t){t.remove()}),this.actors=[],this.workerPool.release(this.id)},T.Actor=t.Actor;var M=function(e,r,n){this.bounds=t.LngLatBounds.convert(this.validateBounds(e)),this.minzoom=r||0,this.maxzoom=n||24};M.prototype.validateBounds=function(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]},M.prototype.contains=function(e){var r=Math.pow(2,e.z),n=Math.floor(t.mercatorXfromLng(this.bounds.getWest())*r),a=Math.floor(t.mercatorYfromLat(this.bounds.getNorth())*r),i=Math.ceil(t.mercatorXfromLng(this.bounds.getEast())*r),o=Math.ceil(t.mercatorYfromLat(this.bounds.getSouth())*r);return e.x>=n&&e.x<i&&e.y>=a&&e.y<o};var S=function(e){function r(r,n,a,i){if(e.call(this),this.id=r,this.dispatcher=a,this.type="vector",this.minzoom=0,this.maxzoom=22,this.scheme="xyz",this.tileSize=512,this.reparseOverscaled=!0,this.isTileClipped=!0,this._loaded=!1,t.extend(this,t.pick(n,["url","scheme","tileSize"])),this._options=t.extend({type:"vector"},n),this._collectResourceTiming=n.collectResourceTiming,512!==this.tileSize)throw new Error("vector tile sources must have a tileSize of 512");this.setEventedParent(i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=A(this._options,this.map._requestManager,function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles,e.map._requestManager._customAccessToken),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken,e.map._requestManager._customAccessToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.loaded=function(){return this._loaded},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,null),a={request:this.map._requestManager.transformRequest(n,t.ResourceType.Tile),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};function i(n,a){return delete e.request,e.aborted?r(null):n&&404!==n.status?r(n):(a&&a.resourceTiming&&(e.resourceTiming=a.resourceTiming),this.map._refreshExpiredTiles&&a&&e.setExpiryData(a),e.loadVectorData(a,this.map.painter),t.cacheEntryPossiblyAdded(this.dispatcher),r(null),void(e.reloadCallback&&(this.loadTile(e,e.reloadCallback),e.reloadCallback=null)))}a.request.collectResourceTiming=this._collectResourceTiming,e.actor&&"expired"!==e.state?"loading"===e.state?e.reloadCallback=r:e.request=e.actor.send("reloadTile",a,i.bind(this)):(e.actor=this.dispatcher.getActor(),e.request=e.actor.send("loadTile",a,i.bind(this)))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.actor&&t.actor.send("abortTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.unloadTile=function(t){t.unloadVectorData(),t.actor&&t.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id},void 0)},r.prototype.hasTransition=function(){return!1},r}(t.Evented),E=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.dispatcher=a,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=t.extend({type:"raster"},n),t.extend(this,t.pick(n,["url","scheme","tileSize"]))}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this._tileJSONRequest=A(this._options,this.map._requestManager,function(r,n){e._tileJSONRequest=null,e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(t.extend(e,n),n.bounds&&(e.tileBounds=new M(n.bounds,e.minzoom,e.maxzoom)),t.postTurnstileEvent(n.tiles),t.postMapLoadEvent(n.tiles,e.map._getMapId(),e.map._requestManager._skuToken),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})),e.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})))})},r.prototype.loaded=function(){return this._loaded},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.onRemove=function(){this._tileJSONRequest&&(this._tileJSONRequest.cancel(),this._tileJSONRequest=null)},r.prototype.serialize=function(){return t.extend({},this._options)},r.prototype.hasTile=function(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)},r.prototype.loadTile=function(e,r){var n=this,a=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(a,t.ResourceType.Tile),function(a,i){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(a)e.state="errored",r(a);else if(i){n.map._refreshExpiredTiles&&e.setExpiryData(i),delete i.cacheControl,delete i.expires;var o=n.map.painter.context,s=o.gl;e.texture=n.map.painter.getTileTexture(i.width),e.texture?e.texture.update(i,{useMipmap:!0}):(e.texture=new t.Texture(o,i,s.RGBA,{useMipmap:!0}),e.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST),o.extTextureFilterAnisotropic&&s.texParameterf(s.TEXTURE_2D,o.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,o.extTextureFilterAnisotropicMax)),e.state="loaded",t.cacheEntryPossiblyAdded(n.dispatcher),r(null)}})},r.prototype.abortTile=function(t,e){t.request&&(t.request.cancel(),delete t.request),e()},r.prototype.unloadTile=function(t,e){t.texture&&this.map.painter.saveTileTexture(t.texture),e()},r.prototype.hasTransition=function(){return!1},r}(t.Evented),L=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),this.type="raster-dem",this.maxzoom=22,this._options=t.extend({type:"raster-dem"},n),this.encoding=n.encoding||"mapbox"}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.serialize=function(){return{type:"raster-dem",url:this.url,tileSize:this.tileSize,tiles:this.tiles,bounds:this.bounds,encoding:this.encoding}},r.prototype.loadTile=function(e,r){var n=this.map._requestManager.normalizeTileURL(e.tileID.canonical.url(this.tiles,this.scheme),this.url,this.tileSize);e.request=t.getImage(this.map._requestManager.transformRequest(n,t.ResourceType.Tile),function(n,a){if(delete e.request,e.aborted)e.state="unloaded",r(null);else if(n)e.state="errored",r(n);else if(a){this.map._refreshExpiredTiles&&e.setExpiryData(a),delete a.cacheControl,delete a.expires;var i=t.browser.getImageData(a),o={uid:e.uid,coord:e.tileID,source:this.id,rawImageData:i,encoding:this.encoding};e.actor&&"expired"!==e.state||(e.actor=this.dispatcher.getActor(),e.actor.send("loadDEMTile",o,function(t,n){t&&(e.state="errored",r(t)),n&&(e.dem=n,e.needsHillshadePrepare=!0,e.state="loaded",r(null))}.bind(this)))}}.bind(this)),e.neighboringTiles=this._getNeighboringTiles(e.tileID)},r.prototype._getNeighboringTiles=function(e){var r=e.canonical,n=Math.pow(2,r.z),a=(r.x-1+n)%n,i=0===r.x?e.wrap-1:e.wrap,o=(r.x+1+n)%n,s=r.x+1===n?e.wrap+1:e.wrap,l={};return l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+1<n&&(l[new t.OverscaledTileID(e.overscaledZ,i,r.z,a,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y+1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y+1).key]={backfilled:!1}),l},r.prototype.unloadTile=function(t){t.demTexture&&this.map.painter.saveTileTexture(t.demTexture),t.fbo&&(t.fbo.destroy(),delete t.fbo),t.dem&&delete t.dem,delete t.neighboringTiles,t.state="unloaded",t.actor&&t.actor.send("removeDEMTile",{uid:t.uid,source:this.id})},r}(E),C=function(e){function r(r,n,a,i){e.call(this),this.id=r,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._loaded=!1,this.actor=a.getActor(),this.setEventedParent(i),this._data=n.data,this._options=t.extend({},n),this._collectResourceTiming=n.collectResourceTiming,this._resourceTiming=[],void 0!==n.maxzoom&&(this.maxzoom=n.maxzoom),n.type&&(this.type=n.type),n.attribution&&(this.attribution=n.attribution);var o=t.EXTENT/this.tileSize;this.workerOptions=t.extend({source:this.id,cluster:n.cluster||!1,geojsonVtOptions:{buffer:(void 0!==n.buffer?n.buffer:128)*o,tolerance:(void 0!==n.tolerance?n.tolerance:.375)*o,extent:t.EXTENT,maxZoom:this.maxzoom,lineMetrics:n.lineMetrics||!1,generateId:n.generateId||!1},superclusterOptions:{maxZoom:void 0!==n.clusterMaxZoom?Math.min(n.clusterMaxZoom,this.maxzoom-1):this.maxzoom-1,extent:t.EXTENT,radius:(n.clusterRadius||50)*o,log:!1},clusterProperties:n.clusterProperties},n.workerOptions)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(r){if(r)e.fire(new t.ErrorEvent(r));else{var n={dataType:"source",sourceDataType:"metadata"};e._collectResourceTiming&&e._resourceTiming&&e._resourceTiming.length>0&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}})},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData(function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}}),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),a=this._data;"string"==typeof a?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(a),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(a),this.actor.send(this.type+".loadData",n,function(t,a){r._removed||a&&a.abandoned||(r._loaded=!0,a&&a.resourceTiming&&a.resourceTiming[r.id]&&(r._resourceTiming=a.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))})},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,a=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var i={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes};e.request=this.actor.send(a,i,function(t,i){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(i,n.map.painter,"reloadTile"===a),r(null))})},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=function(e){function r(t,r,n,a){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),function(a,i){n._loaded=!0,a?n.fire(new t.ErrorEvent(a)):i&&(n.image=i,e&&(n.coordinates=e),r&&r(),n._finishLoading())})},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,function(){e.texture=null}),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,a=-1/0,i=-1/0,o=0,s=e;o<s.length;o+=1){var l=s[o];r=Math.min(r,l.x),n=Math.min(n,l.y),a=Math.max(a,l.x),i=Math.max(i,l.y)}var c=a-r,u=i-n,h=Math.max(c,u),f=Math.max(0,Math.floor(-Math.log(h)/Math.LN2)),p=Math.pow(2,f);return new t.CanonicalTileID(f,Math.floor((r+a)/2*p),Math.floor((n+i)/2*p))}(n),this.minzoom=this.maxzoom=this.tileID.z;var a=n.map(function(t){return r.tileID.getTilePoint(t)._round()});return this._boundsArray=new t.StructArrayLayout4i8,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,t.EXTENT,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,t.EXTENT),this._boundsArray.emplaceBack(a[2].x,a[2].y,t.EXTENT,t.EXTENT),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"content"})),this},r.prototype.prepare=function(){if(0!==Object.keys(this.tiles).length&&this.image){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture||(this.texture=new t.Texture(e,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.loadTile=function(t,e){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={},e(null)):(t.state="errored",e(null))},r.prototype.serialize=function(){return{type:"image",url:this.options.url,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=function(e){function r(t,r,n,a){e.call(this,t,r,n,a),this.roundZoom=!0,this.type="video",this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){var e=this;this._loaded=!1;var r=this.options;this.urls=[];for(var n=0,a=r.urls;n<a.length;n+=1){var i=a[n];this.urls.push(this.map._requestManager.transformRequest(i,t.ResourceType.Source).url)}t.getVideo(this.urls,function(r,n){e._loaded=!0,r?e.fire(new t.ErrorEvent(r)):n&&(e.video=n,e.video.loop=!0,e.video.addEventListener("playing",function(){e.map.triggerRepaint()}),e.map&&e.video.play(),e._finishLoading())})},r.prototype.pause=function(){this.video&&this.video.pause()},r.prototype.play=function(){this.video&&this.video.play()},r.prototype.seek=function(e){if(this.video){var r=this.video.seekable;e<r.start(0)||e>r.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var a=this.tiles[n];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(P),z=function(e){function r(r,n,a,i){e.call(this,r,n,a,i),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some(function(t){return!Array.isArray(t)||2!==t.length||t.some(function(t){return"number"!=typeof t})})||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,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 t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(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())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var a in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,t.rasterBoundsAttributes.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var i=this.tiles[a];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];t<e.length;t+=1){var r=e[t];if(isNaN(r)||r<=0)return!0}return!1},r}(P),I={vector:S,raster:E,"raster-dem":L,geojson:C,video:O,image:P,canvas:z},D=function(e,r,n,a){var i=new I[r.type](e,r,n,a);if(i.id!==e)throw new Error("Expected Source id to be "+e+" instead of "+i.id);return t.bindAll(["load","abort","unload","serialize","prepare"],i),i};function R(e,r){var n=t.identity([]);return t.translate(n,n,[1,1,0]),t.scale(n,n,[.5*e.width,.5*e.height,1]),t.multiply(n,n,e.calculatePosMatrix(r.toUnwrapped()))}function F(t,e,r,n,a){var i=function(t,e,r){if(t)for(var n=0,a=t;n<a.length;n+=1){var i=e[a[n]];if(i&&i.source===r&&"fill-extrusion"===i.type)return!0}else for(var o in e){var s=e[o];if(s.source===r&&"fill-extrusion"===s.type)return!0}return!1}(n&&n.layers,e,t.id),o=a.maxPitchScaleFactor(),s=t.tilesIn(r,o,i);s.sort(B);for(var l=[],c=0,u=s;c<u.length;c+=1){var h=u[c];l.push({wrappedTileID:h.tileID.wrapped().key,queryResults:h.tile.queryRenderedFeatures(e,t._state,h.queryGeometry,h.cameraQueryGeometry,h.scale,n,a,o,R(t.transform,h.tileID))})}var f=function(t){for(var e={},r={},n=0,a=t;n<a.length;n+=1){var i=a[n],o=i.queryResults,s=i.wrappedTileID,l=r[s]=r[s]||{};for(var c in o)for(var u=o[c],h=l[c]=l[c]||{},f=e[c]=e[c]||[],p=0,d=u;p<d.length;p+=1){var g=d[p];h[g.featureIndex]||(h[g.featureIndex]=!0,f.push(g))}}return e}(l);for(var p in f)f[p].forEach(function(e){var r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n});return f}function B(t,e){var r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}var N=function(t,e){this.max=t,this.onRemove=e,this.reset()};N.prototype.reset=function(){for(var t in this.data)for(var e=0,r=this.data[t];e<r.length;e+=1){var n=r[e];n.timeout&&clearTimeout(n.timeout),this.onRemove(n.value)}return this.data={},this.order=[],this},N.prototype.add=function(t,e,r){var n=this,a=t.wrapped().key;void 0===this.data[a]&&(this.data[a]=[]);var i={value:e,timeout:void 0};if(void 0!==r&&(i.timeout=setTimeout(function(){n.remove(t,i)},r)),this.data[a].push(i),this.order.push(a),this.order.length>this.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},N.prototype.has=function(t){return t.wrapped().key in this.data},N.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},N.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},N.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},N.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),a=this.data[r][n];return this.data[r].splice(n,1),a.timeout&&clearTimeout(a.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(a.value),this.order.splice(this.order.indexOf(r),1),this},N.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this};var j=function(t,e,r){this.context=t;var n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};j.prototype.bind=function(){this.context.bindElementBuffer.set(this.buffer)},j.prototype.updateData=function(t){var e=this.context.gl;this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)},j.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var V={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"},U=function(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;var a=t.gl;this.buffer=a.createBuffer(),t.bindVertexBuffer.set(this.buffer),a.bufferData(a.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer};U.prototype.bind=function(){this.context.bindVertexBuffer.set(this.buffer)},U.prototype.updateData=function(t){var e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)},U.prototype.enableAttributes=function(t,e){for(var r=0;r<this.attributes.length;r++){var n=this.attributes[r],a=e.attributes[n.name];void 0!==a&&t.enableVertexAttribArray(a)}},U.prototype.setVertexAttribPointers=function(t,e,r){for(var n=0;n<this.attributes.length;n++){var a=this.attributes[n],i=e.attributes[a.name];void 0!==i&&t.vertexAttribPointer(i,a.components,t[V[a.type]],!1,this.itemSize,a.offset+this.itemSize*(r||0))}},U.prototype.destroy=function(){var t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)};var q=function(t){this.gl=t.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1};q.prototype.get=function(){return this.current},q.prototype.set=function(t){},q.prototype.getDefault=function(){return this.default},q.prototype.setDefault=function(){this.set(this.default)};var H=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.clearColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),G=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 1},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearDepth(t),this.current=t,this.dirty=!1)},e}(q),Y=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.clearStencil(t),this.current=t,this.dirty=!1)},e}(q),W=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[!0,!0,!0,!0]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.colorMask(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),X=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthMask(t),this.current=t,this.dirty=!1)},e}(q),Z=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 255},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.stencilMask(t),this.current=t,this.dirty=!1)},e}(q),J=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return{func:this.gl.ALWAYS,ref:0,mask:255}},e.prototype.set=function(t){var e=this.current;(t.func!==e.func||t.ref!==e.ref||t.mask!==e.mask||this.dirty)&&(this.gl.stencilFunc(t.func,t.ref,t.mask),this.current=t,this.dirty=!1)},e}(q),K=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.KEEP,t.KEEP,t.KEEP]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||this.dirty)&&(this.gl.stencilOp(t[0],t[1],t[2]),this.current=t,this.dirty=!1)},e}(q),Q=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.current=t,this.dirty=!1}},e}(q),$=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return[0,1]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.depthRange(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),tt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),this.current=t,this.dirty=!1}},e}(q),et=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.LESS},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.depthFunc(t),this.current=t,this.dirty=!1)},e}(q),rt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.BLEND):e.disable(e.BLEND),this.current=t,this.dirty=!1}},e}(q),nt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[t.ONE,t.ZERO]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||this.dirty)&&(this.gl.blendFunc(t[0],t[1]),this.current=t,this.dirty=!1)},e}(q),at=function(e){function r(){e.apply(this,arguments)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getDefault=function(){return t.Color.transparent},r.prototype.set=function(t){var e=this.current;(t.r!==e.r||t.g!==e.g||t.b!==e.b||t.a!==e.a||this.dirty)&&(this.gl.blendColor(t.r,t.g,t.b,t.a),this.current=t,this.dirty=!1)},r}(q),it=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.FUNC_ADD},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.blendEquation(t),this.current=t,this.dirty=!1)},e}(q),ot=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;t?e.enable(e.CULL_FACE):e.disable(e.CULL_FACE),this.current=t,this.dirty=!1}},e}(q),st=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.BACK},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.cullFace(t),this.current=t,this.dirty=!1)},e}(q),lt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.CCW},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.frontFace(t),this.current=t,this.dirty=!1)},e}(q),ct=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.useProgram(t),this.current=t,this.dirty=!1)},e}(q),ut=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return this.gl.TEXTURE0},e.prototype.set=function(t){(t!==this.current||this.dirty)&&(this.gl.activeTexture(t),this.current=t,this.dirty=!1)},e}(q),ht=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){var t=this.gl;return[0,0,t.drawingBufferWidth,t.drawingBufferHeight]},e.prototype.set=function(t){var e=this.current;(t[0]!==e[0]||t[1]!==e[1]||t[2]!==e[2]||t[3]!==e[3]||this.dirty)&&(this.gl.viewport(t[0],t[1],t[2],t[3]),this.current=t,this.dirty=!1)},e}(q),ft=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t),this.current=t,this.dirty=!1}},e}(q),pt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindRenderbuffer(e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(q),dt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindTexture(e.TEXTURE_2D,t),this.current=t,this.dirty=!1}},e}(q),gt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.bindBuffer(e.ARRAY_BUFFER,t),this.current=t,this.dirty=!1}},e}(q),vt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){var e=this.gl;e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,t),this.current=t,this.dirty=!1},e}(q),mt=function(t){function e(e){t.call(this,e),this.vao=e.extVertexArrayObject}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e.prototype.set=function(t){this.vao&&(t!==this.current||this.dirty)&&(this.vao.bindVertexArrayOES(t),this.current=t,this.dirty=!1)},e}(q),yt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return 4},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_ALIGNMENT,t),this.current=t,this.dirty=!1}},e}(q),xt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),bt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return!1},e.prototype.set=function(t){if(t!==this.current||this.dirty){var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t),this.current=t,this.dirty=!1}},e}(q),_t=function(t){function e(e,r){t.call(this,e),this.context=e,this.parent=r}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getDefault=function(){return null},e}(q),wt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.setDirty=function(){this.dirty=!0},e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,t,0),this.current=t,this.dirty=!1}},e}(_t),kt=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.set=function(t){if(t!==this.current||this.dirty){this.context.bindFramebuffer.set(this.parent);var e=this.gl;e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.RENDERBUFFER,t),this.current=t,this.dirty=!1}},e}(_t),Tt=function(t,e,r){this.context=t,this.width=e,this.height=r;var n=t.gl,a=this.framebuffer=n.createFramebuffer();this.colorAttachment=new wt(t,a),this.depthAttachment=new kt(t,a)};Tt.prototype.destroy=function(){var t=this.context.gl,e=this.colorAttachment.get();e&&t.deleteTexture(e);var r=this.depthAttachment.get();r&&t.deleteRenderbuffer(r),t.deleteFramebuffer(this.framebuffer)};var At=function(t,e,r){this.func=t,this.mask=e,this.range=r};At.ReadOnly=!1,At.ReadWrite=!0,At.disabled=new At(519,At.ReadOnly,[0,1]);var Mt=function(t,e,r,n,a,i){this.test=t,this.ref=e,this.mask=r,this.fail=n,this.depthFail=a,this.pass=i};Mt.disabled=new Mt({func:519,mask:0},0,0,7680,7680,7680);var St=function(t,e,r){this.blendFunction=t,this.blendColor=e,this.mask=r};St.disabled=new St(St.Replace=[1,0],t.Color.transparent,[!1,!1,!1,!1]),St.unblended=new St(St.Replace,t.Color.transparent,[!0,!0,!0,!0]),St.alphaBlended=new St([1,771],t.Color.transparent,[!0,!0,!0,!0]);var Et=function(t,e,r){this.enable=t,this.mode=e,this.frontFace=r};Et.disabled=new Et(!1,1029,2305),Et.backCCW=new Et(!0,1029,2305);var Lt=function(t){this.gl=t,this.extVertexArrayObject=this.gl.getExtension("OES_vertex_array_object"),this.clearColor=new H(this),this.clearDepth=new G(this),this.clearStencil=new Y(this),this.colorMask=new W(this),this.depthMask=new X(this),this.stencilMask=new Z(this),this.stencilFunc=new J(this),this.stencilOp=new K(this),this.stencilTest=new Q(this),this.depthRange=new $(this),this.depthTest=new tt(this),this.depthFunc=new et(this),this.blend=new rt(this),this.blendFunc=new nt(this),this.blendColor=new at(this),this.blendEquation=new it(this),this.cullFace=new ot(this),this.cullFaceSide=new st(this),this.frontFace=new lt(this),this.program=new ct(this),this.activeTexture=new ut(this),this.viewport=new ht(this),this.bindFramebuffer=new ft(this),this.bindRenderbuffer=new pt(this),this.bindTexture=new dt(this),this.bindVertexBuffer=new gt(this),this.bindElementBuffer=new vt(this),this.bindVertexArrayOES=this.extVertexArrayObject&&new mt(this),this.pixelStoreUnpack=new yt(this),this.pixelStoreUnpackPremultiplyAlpha=new xt(this),this.pixelStoreUnpackFlipY=new bt(this),this.extTextureFilterAnisotropic=t.getExtension("EXT_texture_filter_anisotropic")||t.getExtension("MOZ_EXT_texture_filter_anisotropic")||t.getExtension("WEBKIT_EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=t.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.extTextureHalfFloat=t.getExtension("OES_texture_half_float"),this.extTextureHalfFloat&&t.getExtension("OES_texture_half_float_linear")};Lt.prototype.setDefault=function(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()},Lt.prototype.setDirty=function(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.extVertexArrayObject&&(this.bindVertexArrayOES.dirty=!0),this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0},Lt.prototype.createIndexBuffer=function(t,e){return new j(this,t,e)},Lt.prototype.createVertexBuffer=function(t,e,r){return new U(this,t,e,r)},Lt.prototype.createRenderbuffer=function(t,e,r){var n=this.gl,a=n.createRenderbuffer();return this.bindRenderbuffer.set(a),n.renderbufferStorage(n.RENDERBUFFER,t,e,r),this.bindRenderbuffer.set(null),a},Lt.prototype.createFramebuffer=function(t,e){return new Tt(this,t,e)},Lt.prototype.clear=function(t){var e=t.color,r=t.depth,n=this.gl,a=0;e&&(a|=n.COLOR_BUFFER_BIT,this.clearColor.set(e),this.colorMask.set([!0,!0,!0,!0])),void 0!==r&&(a|=n.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),n.clear(a)},Lt.prototype.setCullFace=function(t){!1===t.enable?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(t.mode),this.frontFace.set(t.frontFace))},Lt.prototype.setDepthMode=function(t){t.func!==this.gl.ALWAYS||t.mask?(this.depthTest.set(!0),this.depthFunc.set(t.func),this.depthMask.set(t.mask),this.depthRange.set(t.range)):this.depthTest.set(!1)},Lt.prototype.setStencilMode=function(t){t.test.func!==this.gl.ALWAYS||t.mask?(this.stencilTest.set(!0),this.stencilMask.set(t.mask),this.stencilOp.set([t.fail,t.depthFail,t.pass]),this.stencilFunc.set({func:t.test.func,ref:t.ref,mask:t.test.mask})):this.stencilTest.set(!1)},Lt.prototype.setColorMode=function(e){t.deepEqual(e.blendFunction,St.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(e.blendFunction),this.blendColor.set(e.blendColor)),this.colorMask.set(e.mask)},Lt.prototype.unbindVAO=function(){this.extVertexArrayObject&&this.bindVertexArrayOES.set(null)};var Ct=function(e){function r(r,n,a){var i=this;e.call(this),this.id=r,this.dispatcher=a,this.on("data",function(t){"source"===t.dataType&&"metadata"===t.sourceDataType&&(i._sourceLoaded=!0),i._sourceLoaded&&!i._paused&&"source"===t.dataType&&"content"===t.sourceDataType&&(i.reload(),i.transform&&i.update(i.transform))}),this.on("error",function(){i._sourceErrored=!0}),this._source=D(r,n,a,this),this._tiles={},this._cache=new N(0,this._unloadTile.bind(this)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._coveredTiles={},this._state=new t.SourceFeatureState}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.onAdd=function(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._source&&this._source.onAdd&&this._source.onAdd(t)},r.prototype.onRemove=function(t){this._source&&this._source.onRemove&&this._source.onRemove(t)},r.prototype.loaded=function(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;for(var t in this._tiles){var e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0},r.prototype.getSource=function(){return this._source},r.prototype.pause=function(){this._paused=!0},r.prototype.resume=function(){if(this._paused){var t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform)}},r.prototype._loadTile=function(t,e){return this._source.loadTile(t,e)},r.prototype._unloadTile=function(t){if(this._source.unloadTile)return this._source.unloadTile(t,function(){})},r.prototype._abortTile=function(t){if(this._source.abortTile)return this._source.abortTile(t,function(){})},r.prototype.serialize=function(){return this._source.serialize()},r.prototype.prepare=function(t){for(var e in this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null),this._tiles){var r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}},r.prototype.getIds=function(){return Object.keys(this._tiles).map(Number).sort(Pt)},r.prototype.getRenderableIds=function(e){var r=this,n=[];for(var a in this._tiles)this._isIdRenderable(+a,e)&&n.push(+a);return e?n.sort(function(e,n){var a=r._tiles[e].tileID,i=r._tiles[n].tileID,o=new t.Point(a.canonical.x,a.canonical.y)._rotate(r.transform.angle),s=new t.Point(i.canonical.x,i.canonical.y)._rotate(r.transform.angle);return a.overscaledZ-i.overscaledZ||s.y-o.y||s.x-o.x}):n.sort(Pt)},r.prototype.hasRenderableParent=function(t){var e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)},r.prototype._isIdRenderable=function(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())},r.prototype.reload=function(){if(this._paused)this._shouldReloadOnResume=!0;else for(var t in this._cache.reset(),this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")},r.prototype._reloadTile=function(t,e){var r=this._tiles[t];r&&("loading"!==r.state&&(r.state=e),this._loadTile(r,this._tileLoaded.bind(this,r,t,e)))},r.prototype._tileLoaded=function(e,r,n,a){if(a)return e.state="errored",void(404!==a.status?this._source.fire(new t.ErrorEvent(a,{tile:e})):this.update(this.transform));e.timeAdded=t.browser.now(),"expired"===n&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(r,e),"raster-dem"===this.getSource().type&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),this._source.fire(new t.Event("data",{dataType:"source",tile:e,coord:e.tileID}))},r.prototype._backfillDEM=function(t){for(var e=this.getRenderableIds(),r=0;r<e.length;r++){var n=e[r];if(t.neighboringTiles&&t.neighboringTiles[n]){var a=this.getTileByID(n);i(t,a),i(a,t)}}function i(t,e){t.needsHillshadePrepare=!0;var r=e.tileID.canonical.x-t.tileID.canonical.x,n=e.tileID.canonical.y-t.tileID.canonical.y,a=Math.pow(2,t.tileID.canonical.z),i=e.tileID.key;0===r&&0===n||Math.abs(n)>1||(Math.abs(r)>1&&(1===Math.abs(r+a)?r+=a:1===Math.abs(r-a)&&(r-=a)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[i]&&(t.neighboringTiles[i].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype.getZoom=function(t){return t.zoom+t.scaleZoom(t.tileSize/this._source.tileSize)},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var a in this._tiles){var i=this._tiles[a];if(!(n[a]||!i.hasData()||i.tileID.overscaledZ<=e||i.tileID.overscaledZ>r)){for(var o=i.tileID;i&&i.tileID.overscaledZ>e+1;){var s=i.tileID.scaledTo(i.tileID.overscaledZ-1);(i=this._tiles[s.key])&&i.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){for(var r=t.overscaledZ-1;r>=e;r--){var n=t.scaledTo(r);if(!n)return;var a=String(n.key),i=this._tiles[a];if(i&&i.hasData())return i;if(this._cache.has(n))return this._cache.get(n)}},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var a in this._tiles){var i=this._tiles[a];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+r),n[i.tileID.key]=i}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var a;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?a=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)}):(a=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(a=a.filter(function(t){return n._source.hasTile(t)}))):a=[];var i=(this._source.roundZoom?Math.round:Math.floor)(this.getZoom(e)),o=Math.max(i-r.maxOverzooming,this._source.minzoom),s=Math.max(i+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(a,i);if(Ot(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);h<f.length;h+=1){var p=f[h],d=l[p],g=this._tiles[p];if(g&&!(g.fadeEndTime&&g.fadeEndTime<=t.browser.now())){var v=this.findLoadedParent(d,o);v&&(this._addTile(v.tileID),c[v.tileID.key]=v.tileID),u[p]=d}}for(var m in this._retainLoadedChildren(u,i,s,l),c)l[m]||(this._coveredTiles[m]=!0,l[m]=c[m])}for(var y in l)this._tiles[y].clearFadeHold();for(var x=0,b=t.keysDifference(this._tiles,l);x<b.length;x+=1){var _=b[x],w=this._tiles[_];w.hasSymbolBuckets&&!w.holdingForFade()?w.setHoldDuration(this.map._fadeDuration):w.hasSymbolBuckets&&!w.symbolFadeFinished()||this._removeTile(_)}}},r.prototype.releaseSymbolFadeTiles=function(){for(var t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)},r.prototype._updateRetainedTiles=function(t,e){for(var n={},a={},i=Math.max(e-r.maxOverzooming,this._source.minzoom),o=Math.max(e+r.maxUnderzooming,this._source.minzoom),s={},l=0,c=t;l<c.length;l+=1){var u=c[l],h=this._addTile(u);n[u.key]=u,h.hasData()||e<this._source.maxzoom&&(s[u.key]=u)}this._retainLoadedChildren(s,e,o,n);for(var f=0,p=t;f<p.length;f+=1){var d=p[f],g=this._tiles[d.key];if(!g.hasData()){if(e+1>this._source.maxzoom){var v=d.children(this._source.maxzoom)[0],m=this.getTile(v);if(m&&m.hasData()){n[v.key]=v;continue}}else{var y=d.children(this._source.maxzoom);if(n[y[0].key]&&n[y[1].key]&&n[y[2].key]&&n[y[3].key])continue}for(var x=g.wasRequested(),b=d.overscaledZ-1;b>=i;--b){var _=d.scaledTo(b);if(a[_.key])break;if(a[_.key]=!0,!(g=this.getTile(_))&&x&&(g=this._addTile(_)),g&&(n[_.key]=_,x=g.wasRequested(),g.hasData()))break}}}return n},r.prototype._addTile=function(e){var r=this._tiles[e.key];if(r)return r;(r=this._cache.getAndRemove(e))&&(this._setTileReloadTimer(e.key,r),r.tileID=e,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,r)));var n=Boolean(r);return n||(r=new t.Tile(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(r,this._tileLoaded.bind(this,r,e.key,r.state))),r?(r.uses++,this._tiles[e.key]=r,n||this._source.fire(new t.Event("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r):null},r.prototype._setTileReloadTimer=function(t,e){var r=this;t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);var n=e.getExpiryTimeout();n&&(this._timers[t]=setTimeout(function(){r._reloadTile(t,"expired"),delete r._timers[t]},n))},r.prototype._removeTile=function(t){var e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var a=this,i=[],o=this.transform;if(!o)return i;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map(function(t){return o.pointCoordinate(t)}),c=s.map(function(t){return o.pointCoordinate(t)}),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,g=0,v=c;g<v.length;g+=1){var m=v[g];h=Math.min(h,m.x),f=Math.min(f,m.y),p=Math.max(p,m.x),d=Math.max(d,m.y)}for(var y=function(e){var n=a._tiles[u[e]];if(!n.holdingForFade()){var s=n.tileID,g=Math.pow(2,o.zoom-n.tileID.overscaledZ),v=r*n.queryPadding*t.EXTENT/n.tileSize/g,m=[s.getTilePoint(new t.MercatorCoordinate(h,f)),s.getTilePoint(new t.MercatorCoordinate(p,d))];if(m[0].x-v<t.EXTENT&&m[0].y-v<t.EXTENT&&m[1].x+v>=0&&m[1].y+v>=0){var y=l.map(function(t){return s.getTilePoint(t)}),x=c.map(function(t){return s.getTilePoint(t)});i.push({tile:n,tileID:s,queryGeometry:y,cameraQueryGeometry:x,scale:g})}}},x=0;x<u.length;x++)y(x);return i},r.prototype.getVisibleCoordinates=function(t){for(var e=this,r=this.getRenderableIds(t).map(function(t){return e._tiles[t].tileID}),n=0,a=r;n<a.length;n+=1){var i=a[n];i.posMatrix=this.transform.calculatePosMatrix(i.toUnwrapped())}return r},r.prototype.hasTransition=function(){if(this._source.hasTransition())return!0;if(Ot(this._source.type))for(var e in this._tiles){var r=this._tiles[e];if(void 0!==r.fadeEndTime&&r.fadeEndTime>=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r}(t.Evented);function Pt(t,e){return t%32-e%32||e-t}function Ot(t){return"raster"===t||"image"===t||"video"===t}function zt(){return new t.window.Worker(Qn.workerUrl)}Ct.maxOverzooming=10,Ct.maxUnderzooming=3;var It=function(){this.active={}};It.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length<It.workerCount;)this.workers.push(new zt);return this.active[t]=!0,this.workers.slice()},It.prototype.release=function(t){delete this.active[t],0===Object.keys(this.active).length&&(this.workers.forEach(function(t){t.terminate()}),this.workers=null)};var Dt,Rt=Math.floor(t.browser.hardwareConcurrency/2);function Ft(e,r){var n={};for(var a in e)"ref"!==a&&(n[a]=e[a]);return t.refProperties.forEach(function(t){t in r&&(n[t]=r[t])}),n}function Bt(t){t=t.slice();for(var e=Object.create(null),r=0;r<t.length;r++)e[t[r].id]=t[r];for(var n=0;n<t.length;n++)"ref"in t[n]&&(t[n]=Ft(t[n],e[t[n].ref]));return t}It.workerCount=Math.max(Math.min(Rt,6),1);var Nt={setStyle:"setStyle",addLayer:"addLayer",removeLayer:"removeLayer",setPaintProperty:"setPaintProperty",setLayoutProperty:"setLayoutProperty",setFilter:"setFilter",addSource:"addSource",removeSource:"removeSource",setGeoJSONSourceData:"setGeoJSONSourceData",setLayerZoomRange:"setLayerZoomRange",setLayerProperty:"setLayerProperty",setCenter:"setCenter",setZoom:"setZoom",setBearing:"setBearing",setPitch:"setPitch",setSprite:"setSprite",setGlyphs:"setGlyphs",setTransition:"setTransition",setLight:"setLight"};function jt(t,e,r){r.push({command:Nt.addSource,args:[t,e[t]]})}function Vt(t,e,r){e.push({command:Nt.removeSource,args:[t]}),r[t]=!0}function Ut(t,e,r,n){Vt(t,r,n),jt(t,e,r)}function qt(e,r,n){var a;for(a in e[n])if(e[n].hasOwnProperty(a)&&"data"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;for(a in r[n])if(r[n].hasOwnProperty(a)&&"data"!==a&&!t.deepEqual(e[n][a],r[n][a]))return!1;return!0}function Ht(e,r,n,a,i,o){var s;for(s in r=r||{},e=e||{})e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}));for(s in r)r.hasOwnProperty(s)&&!e.hasOwnProperty(s)&&(t.deepEqual(e[s],r[s])||n.push({command:o,args:[a,s,r[s],i]}))}function Gt(t){return t.id}function Yt(t,e){return t[e.id]=e,t}var Wt=function(t,e,r){var n=this.boxCells=[],a=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var i=0;i<this.xCellCount*this.yCellCount;i++)n.push([]),a.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=t,this.height=e,this.xScale=this.xCellCount/t,this.yScale=this.yCellCount/e,this.boxUid=0,this.circleUid=0};function Xt(e,r,n,a,i){var o=t.create();return r?(t.scale(o,o,[1/i,1/i,1]),n||t.rotateZ(o,o,a.angle)):t.multiply(o,a.labelPlaneMatrix,e),o}function Zt(e,r,n,a,i){if(r){var o=t.clone(e);return t.scale(o,o,[i,i,1]),n||t.rotateZ(o,o,-a.angle),o}return a.glCoordMatrix}function Jt(e,r){var n=[e.x,e.y,0,1];oe(n,n,r);var a=n[3];return{point:new t.Point(n[0]/a,n[1]/a),signedDistanceFromCamera:a}}function Kt(t,e){var r=t[0]/t[3],n=t[1]/t[3];return r>=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function Qt(e,r,n,a,i,o,s,l){var c=a?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=a?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=a?e.text.placedSymbolArray:e.icon.placedSymbolArray,g=n.transform.width/n.transform.height,v=!1,m=0;m<d.length;m++){var y=d.get(m);if(y.hidden||y.writingMode===t.WritingMode.vertical&&!v)ie(y.numGlyphs,f);else{v=!1;var x=[y.anchorX,y.anchorY,0,1];if(t.transformMat4(x,x,r),Kt(x,h)){var b=.5+x[3]/n.transform.cameraToCenterDistance*.5,_=t.evaluateSizeForFeature(c,u,y),w=s?_*b:_/b,k=new t.Point(y.anchorX,y.anchorY),T=Jt(k,i).point,A={},M=ee(y,w,!1,l,r,i,o,e.glyphOffsetArray,p,f,T,k,A,g);v=M.useVertical,(M.notEnoughRoom||v||M.needsFlipping&&ee(y,w,!0,l,r,i,o,e.glyphOffsetArray,p,f,T,k,A,g).notEnoughRoom)&&ie(y.numGlyphs,f)}else ie(y.numGlyphs,f)}}a?e.text.dynamicLayoutVertexBuffer.updateData(f):e.icon.dynamicLayoutVertexBuffer.updateData(f)}function $t(t,e,r,n,a,i,o,s,l,c,u,h){var f=s.glyphStartIndex+s.numGlyphs,p=s.lineStartIndex,d=s.lineStartIndex+s.lineLength,g=e.getoffsetX(s.glyphStartIndex),v=e.getoffsetX(f-1),m=ne(t*g,r,n,a,i,o,s.segment,p,d,l,c,u,h);if(!m)return null;var y=ne(t*v,r,n,a,i,o,s.segment,p,d,l,c,u,h);return y?{first:m,last:y}:null}function te(e,r,n,a){return e===t.WritingMode.horizontal&&Math.abs(n.y-r.y)>Math.abs(n.x-r.x)*a?{useVertical:!0}:(e===t.WritingMode.vertical?r.y<n.y:r.x>n.x)?{needsFlipping:!0}:null}function ee(e,r,n,a,i,o,s,l,c,u,h,f,p,d){var g,v=r/24,m=e.lineOffsetX*v,y=e.lineOffsetY*v;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=$t(v,l,m,y,n,h,f,e,c,o,p,!1);if(!w)return{notEnoughRoom:!0};var k=Jt(w.first.point,s).point,T=Jt(w.last.point,s).point;if(a&&!n){var A=te(e.writingMode,k,T,d);if(A)return A}g=[w.first];for(var M=e.glyphStartIndex+1;M<x-1;M++)g.push(ne(v*l.getoffsetX(M),m,y,n,h,f,e.segment,b,_,c,o,p,!1));g.push(w.last)}else{if(a&&!n){var S=Jt(f,i).point,E=e.lineStartIndex+e.segment+1,L=new t.Point(c.getx(E),c.gety(E)),C=Jt(L,i),P=C.signedDistanceFromCamera>0?C.point:re(f,L,S,1,i),O=te(e.writingMode,S,P,d);if(O)return O}var z=ne(v*l.getoffsetX(e.glyphStartIndex),m,y,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p,!1);if(!z)return{notEnoughRoom:!0};g=[z]}for(var I=0,D=g;I<D.length;I+=1){var R=D[I];t.addDynamicAttributes(u,R.point,R.angle)}return{}}function re(t,e,r,n,a){var i=Jt(t.add(t.sub(e)._unit()),a).point,o=r.sub(i);return r.add(o._mult(n/o.mag()))}function ne(e,r,n,a,i,o,s,l,c,u,h,f,p){var d=a?e-r:e+r,g=d>0?1:-1,v=0;a&&(g*=-1,v=Math.PI),g<0&&(v+=Math.PI);for(var m=g>0?l+s:l+s+1,y=m,x=i,b=i,_=0,w=0,k=Math.abs(d);_+w<=k;){if((m+=g)<l||m>=c)return null;if(b=x,void 0===(x=f[m])){var T=new t.Point(u.getx(m),u.gety(m)),A=Jt(T,h);if(A.signedDistanceFromCamera>0)x=f[m]=A.point;else{var M=m-g;x=re(0===_?o:new t.Point(u.getx(M),u.gety(M)),T,b,k-_+1,h)}}_+=w,w=b.dist(x)}var S=(k-_)/w,E=x.sub(b),L=E.mult(S)._add(b);return L._add(E._unit()._perp()._mult(n*g)),{point:L,angle:v+Math.atan2(x.y-b.y,x.x-b.x),tileDistance:p?{prevTileDistance:m-g===y?0:u.gettileUnitDistanceFromAnchor(m-g),lastSegmentViewportDistance:k-_}:null}}Wt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Wt.prototype.insert=function(t,e,r,n,a){this._forEachCell(e,r,n,a,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(a)},Wt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Wt.prototype._insertBoxCell=function(t,e,r,n,a,i){this.boxCells[a].push(i)},Wt.prototype._insertCircleCell=function(t,e,r,n,a,i){this.circleCells[a].push(i)},Wt.prototype._query=function(t,e,r,n,a,i){if(r<0||t>this.width||n<0||e>this.height)return!a&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(a)return!0;for(var s=0;s<this.boxKeys.length;s++)o.push({key:this.boxKeys[s],x1:this.bboxes[4*s],y1:this.bboxes[4*s+1],x2:this.bboxes[4*s+2],y2:this.bboxes[4*s+3]});for(var l=0;l<this.circleKeys.length;l++){var c=this.circles[3*l],u=this.circles[3*l+1],h=this.circles[3*l+2];o.push({key:this.circleKeys[l],x1:c-h,y1:u-h,x2:c+h,y2:u+h})}return i?o.filter(i):o}var f={hitTest:a,seenUids:{box:{},circle:{}}};return this._forEachCell(t,e,r,n,this._queryCell,o,f,i),a?o.length>0:o},Wt.prototype._queryCircle=function(t,e,r,n,a){var i=t-r,o=t+r,s=e-r,l=e+r;if(o<0||i>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(i,s,o,l,this._queryCellCircle,c,u,a),n?c.length>0:c},Wt.prototype.query=function(t,e,r,n,a){return this._query(t,e,r,n,!1,a)},Wt.prototype.hitTest=function(t,e,r,n,a){return this._query(t,e,r,n,!0,a)},Wt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Wt.prototype._queryCell=function(t,e,r,n,a,i,o,s){var l=o.seenUids,c=this.boxCells[a];if(null!==c)for(var u=this.bboxes,h=0,f=c;h<f.length;h+=1){var p=f[h];if(!l.box[p]){l.box[p]=!0;var d=4*p;if(t<=u[d+2]&&e<=u[d+3]&&r>=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return i.push(!0),!0;i.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var g=this.circleCells[a];if(null!==g)for(var v=this.circles,m=0,y=g;m<y.length;m+=1){var x=y[m];if(!l.circle[x]){l.circle[x]=!0;var b=3*x;if(this._circleAndRectCollide(v[b],v[b+1],v[b+2],t,e,r,n)&&(!s||s(this.circleKeys[x]))){if(o.hitTest)return i.push(!0),!0;var _=v[b],w=v[b+1],k=v[b+2];i.push({key:this.circleKeys[x],x1:_-k,y1:w-k,x2:_+k,y2:w+k})}}}},Wt.prototype._queryCellCircle=function(t,e,r,n,a,i,o,s){var l=o.circle,c=o.seenUids,u=this.boxCells[a];if(null!==u)for(var h=this.bboxes,f=0,p=u;f<p.length;f+=1){var d=p[f];if(!c.box[d]){c.box[d]=!0;var g=4*d;if(this._circleAndRectCollide(l.x,l.y,l.radius,h[g+0],h[g+1],h[g+2],h[g+3])&&(!s||s(this.boxKeys[d])))return i.push(!0),!0}}var v=this.circleCells[a];if(null!==v)for(var m=this.circles,y=0,x=v;y<x.length;y+=1){var b=x[y];if(!c.circle[b]){c.circle[b]=!0;var _=3*b;if(this._circlesCollide(m[_],m[_+1],m[_+2],l.x,l.y,l.radius)&&(!s||s(this.circleKeys[b])))return i.push(!0),!0}}},Wt.prototype._forEachCell=function(t,e,r,n,a,i,o,s){for(var l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.xCellCount*p+f;if(a.call(this,t,e,r,n,d,i,o,s))return}},Wt.prototype._convertToXCellCoord=function(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))},Wt.prototype._convertToYCellCoord=function(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))},Wt.prototype._circlesCollide=function(t,e,r,n,a,i){var o=n-t,s=a-e,l=r+i;return l*l>o*o+s*s},Wt.prototype._circleAndRectCollide=function(t,e,r,n,a,i,o){var s=(i-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-a)/2,u=Math.abs(e-(a+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var ae=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ie(t,e){for(var r=0;r<t;r++){var n=e.length;e.resize(n+4),e.float32.set(ae,3*n)}}function oe(t,e,r){var n=e[0],a=e[1];return t[0]=r[0]*n+r[4]*a+r[12],t[1]=r[1]*n+r[5]*a+r[13],t[3]=r[3]*n+r[7]*a+r[15],t}var se=function(t,e,r){void 0===e&&(e=new Wt(t.width+200,t.height+200,25)),void 0===r&&(r=new Wt(t.width+200,t.height+200,25)),this.transform=t,this.grid=e,this.ignoredGrid=r,this.pitchfactor=Math.cos(t._pitch)*t.cameraToCenterDistance,this.screenRightBoundary=t.width+100,this.screenBottomBoundary=t.height+100,this.gridRightBoundary=t.width+200,this.gridBottomBoundary=t.height+200};function le(t,e,r){t[e+4]=r?1:0}function ce(e,r,n){return r*(t.EXTENT/(e.tileSize*Math.pow(2,n-e.tileID.overscaledZ)))}se.prototype.placeCollisionBox=function(t,e,r,n,a){var i=this.projectAndGetPerspectiveRatio(n,t.anchorPointX,t.anchorPointY),o=r*i.perspectiveRatio,s=t.x1*o+i.point.x,l=t.y1*o+i.point.y,c=t.x2*o+i.point.x,u=t.y2*o+i.point.y;return!this.isInsideGrid(s,l,c,u)||!e&&this.grid.hitTest(s,l,c,u,a)?{box:[],offscreen:!1}:{box:[s,l,c,u],offscreen:this.isOffscreen(s,l,c,u)}},se.prototype.approximateTileDistance=function(t,e,r,n,a){var i=a?1:n/this.pitchfactor,o=t.lastSegmentViewportDistance*r;return t.prevTileDistance+o+(i-1)*o*Math.abs(Math.sin(e))},se.prototype.placeCollisionCircles=function(e,r,n,a,i,o,s,l,c,u,h,f,p){var d=[],g=this.projectAnchor(c,i.anchorX,i.anchorY),v=l/24,m=i.lineOffsetX*l,y=i.lineOffsetY*l,x=new t.Point(i.anchorX,i.anchorY),b=$t(v,s,m,y,!1,Jt(x,u).point,x,i,o,u,{},!0),_=!1,w=!1,k=!0,T=g.perspectiveRatio*a,A=1/(a*n),M=0,S=0;b&&(M=this.approximateTileDistance(b.first.tileDistance,b.first.angle,A,g.cameraDistance,f),S=this.approximateTileDistance(b.last.tileDistance,b.last.angle,A,g.cameraDistance,f));for(var E=0;E<e.length;E+=5){var L=e[E],C=e[E+1],P=e[E+2],O=e[E+3];if(!b||O<-M||O>S)le(e,E,!1);else{var z=this.projectPoint(c,L,C),I=P*T;if(d.length>0){var D=z.x-d[d.length-4],R=z.y-d[d.length-3];if(I*I*2>D*D+R*R&&E+8<e.length){var F=e[E+8];if(F>-M&&F<S){le(e,E,!1);continue}}}var B=E/5;d.push(z.x,z.y,I,B),le(e,E,!0);var N=z.x-I,j=z.y-I,V=z.x+I,U=z.y+I;if(k=k&&this.isOffscreen(N,j,V,U),w=w||this.isInsideGrid(N,j,V,U),!r&&this.grid.hitTestCircle(z.x,z.y,I,p)){if(!h)return{circles:[],offscreen:!1};_=!0}}}return{circles:_||!w?[]:d,offscreen:k}},se.prototype.queryRenderedSymbols=function(e){if(0===e.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};for(var r=[],n=1/0,a=1/0,i=-1/0,o=-1/0,s=0,l=e;s<l.length;s+=1){var c=l[s],u=new t.Point(c.x+100,c.y+100);n=Math.min(n,u.x),a=Math.min(a,u.y),i=Math.max(i,u.x),o=Math.max(o,u.y),r.push(u)}for(var h={},f={},p=0,d=this.grid.query(n,a,i,o).concat(this.ignoredGrid.query(n,a,i,o));p<d.length;p+=1){var g=d[p],v=g.key;if(void 0===h[v.bucketInstanceId]&&(h[v.bucketInstanceId]={}),!h[v.bucketInstanceId][v.featureIndex]){var m=[new t.Point(g.x1,g.y1),new t.Point(g.x2,g.y1),new t.Point(g.x2,g.y2),new t.Point(g.x1,g.y2)];t.polygonIntersectsPolygon(r,m)&&(h[v.bucketInstanceId][v.featureIndex]=!0,void 0===f[v.bucketInstanceId]&&(f[v.bucketInstanceId]=[]),f[v.bucketInstanceId].push(v.featureIndex))}}return f},se.prototype.insertCollisionBox=function(t,e,r,n,a){var i={bucketInstanceId:r,featureIndex:n,collisionGroupID:a};(e?this.ignoredGrid:this.grid).insert(i,t[0],t[1],t[2],t[3])},se.prototype.insertCollisionCircles=function(t,e,r,n,a){for(var i=e?this.ignoredGrid:this.grid,o={bucketInstanceId:r,featureIndex:n,collisionGroupID:a},s=0;s<t.length;s+=4)i.insertCircle(o,t[s],t[s+1],t[s+2])},se.prototype.projectAnchor=function(t,e,r){var n=[e,r,0,1];return oe(n,n,t),{perspectiveRatio:.5+this.transform.cameraToCenterDistance/n[3]*.5,cameraDistance:n[3]}},se.prototype.projectPoint=function(e,r,n){var a=[r,n,0,1];return oe(a,a,e),new t.Point((a[0]/a[3]+1)/2*this.transform.width+100,(-a[1]/a[3]+1)/2*this.transform.height+100)},se.prototype.projectAndGetPerspectiveRatio=function(e,r,n){var a=[r,n,0,1];return oe(a,a,e),{point:new t.Point((a[0]/a[3]+1)/2*this.transform.width+100,(-a[1]/a[3]+1)/2*this.transform.height+100),perspectiveRatio:.5+this.transform.cameraToCenterDistance/a[3]*.5}},se.prototype.isOffscreen=function(t,e,r,n){return r<100||t>=this.screenRightBoundary||n<100||e>this.screenBottomBoundary},se.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t<this.gridRightBoundary&&n>=0&&e<this.gridBottomBoundary};var ue=function(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r};ue.prototype.isHidden=function(){return 0===this.opacity&&!this.placed};var he=function(t,e,r,n,a){this.text=new ue(t?t.text:null,e,r,a),this.icon=new ue(t?t.icon:null,e,n,a)};he.prototype.isHidden=function(){return this.text.isHidden()&&this.icon.isHidden()};var fe=function(t,e,r){this.text=t,this.icon=e,this.skipFade=r},pe=function(t,e,r,n,a){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=a},de=function(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}};function ge(e,r,n,a,i){var o=t.getAnchorAlignment(e),s=-(o.horizontalAlign-.5)*r,l=-(o.verticalAlign-.5)*n,c=t.evaluateRadialOffset(e,a);return new t.Point(s+c[0]*i,l+c[1]*i)}de.prototype.get=function(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){var e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:function(t){return t.collisionGroupID===e}}}return this.collisionGroups[t]};var ve=function(t,e,r,n){this.transform=t.clone(),this.collisionIndex=new se(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=e,this.retainedQueryData={},this.collisionGroups=new de(r),this.prevPlacement=n,n&&(n.prevPlacement=void 0),this.placedOrientations={}};function me(t,e,r,n,a){t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0),t.emplaceBack(e?1:0,r?1:0,n||0,a||0)}ve.prototype.placeLayerTile=function(e,r,n,a){var i=r.getBucket(e),o=r.latestFeatureIndex;if(i&&o&&e.id===i.layerIds[0]){var s=r.collisionBoxArray,l=i.layers[0].layout,c=Math.pow(2,this.transform.zoom-r.tileID.overscaledZ),u=r.tileSize/t.EXTENT,h=this.transform.calculatePosMatrix(r.tileID.toUnwrapped()),f=Xt(h,"map"===l.get("text-pitch-alignment"),"map"===l.get("text-rotation-alignment"),this.transform,ce(r,1,this.transform.zoom)),p=Xt(h,"map"===l.get("icon-pitch-alignment"),"map"===l.get("icon-rotation-alignment"),this.transform,ce(r,1,this.transform.zoom));this.retainedQueryData[i.bucketInstanceId]=new pe(i.bucketInstanceId,o,i.sourceLayerIndex,i.index,r.tileID),this.placeLayerBucket(i,h,f,p,c,u,n,r.holdingForFade(),a,s)}},ve.prototype.attemptAnchorPlacement=function(e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v,m=ge(e,n,a,i,o),y=this.collisionIndex.placeCollisionBox(function(e,r,n,a,i,o){var s=e.x1,l=e.x2,c=e.y1,u=e.y2,h=e.anchorPointX,f=e.anchorPointY,p=new t.Point(r,n);return a&&p._rotate(i?o:-o),{x1:s+p.x,y1:c+p.y,x2:l+p.x,y2:u+p.y,anchorPointX:h,anchorPointY:f}}(r,m.x,m.y,s,l,this.transform.angle),f,c,u,h.predicate);if(y.box.length>0)return this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(v=this.prevPlacement.variableOffsets[p.crossTileID].anchor),this.variableOffsets[p.crossTileID]={radialOffset:i,width:n,height:a,anchor:e,textBoxScale:o,prevAnchor:v},this.markUsedJustification(d,e,p,g),d.allowVerticalPlacement&&(this.markUsedOrientation(d,g,p),this.placedOrientations[p.crossTileID]=g),y},ve.prototype.placeLayerBucket=function(e,r,n,a,i,o,s,l,c,u){var h=this,f=e.layers[0].layout,p=t.evaluateSizeForZoom(e.textSizeData,this.transform.zoom),d=f.get("text-optional"),g=f.get("icon-optional"),v=f.get("text-allow-overlap"),m=f.get("icon-allow-overlap"),y=v&&(m||!e.hasIconData()||g),x=m&&(v||!e.hasTextData()||d),b=this.collisionGroups.get(e.sourceID),_="map"===f.get("text-rotation-alignment"),w="map"===f.get("text-pitch-alignment"),k="viewport-y"===f.get("symbol-z-order");!e.collisionArrays&&u&&e.deserializeCollisionBoxes(u);var T=function(a,u){if(!c[a.crossTileID])if(l)h.placements[a.crossTileID]=new fe(!1,!1,!1);else{var m,k=!1,T=!1,A=!0,M={box:null,offscreen:null},S={box:null,offscreen:null},E=null,L=null,C=0,P=0,O=0;u.textFeatureIndex&&(C=u.textFeatureIndex),u.verticalTextFeatureIndex&&(P=u.verticalTextFeatureIndex);var z=u.textBox;if(z){var I=function(r){var n=t.WritingMode.horizontal;if(e.allowVerticalPlacement&&!r&&h.prevPlacement){var i=h.prevPlacement.placedOrientations[a.crossTileID];i&&(h.placedOrientations[a.crossTileID]=i,n=i,h.markUsedOrientation(e,n,a))}return n},D=function(r,n){if(e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&u.verticalTextBox)for(var i=0,o=e.writingModes;i<o.length&&(o[i]===t.WritingMode.vertical?(M=n(),S=M):M=r(),!(M&&M.box&&M.box.length));i+=1);else M=r()};if(f.get("text-variable-anchor")){var R=f.get("text-variable-anchor");if(h.prevPlacement&&h.prevPlacement.variableOffsets[a.crossTileID]){var F=h.prevPlacement.variableOffsets[a.crossTileID];R.indexOf(F.anchor)>0&&(R=R.filter(function(t){return t!==F.anchor})).unshift(F.anchor)}var B=function(t,n){for(var i=t.x2-t.x1,s=t.y2-t.y1,l=a.textBoxScale,c={box:[],offscreen:!1},u=v?2*R.length:R.length,f=0;f<u;++f){var p=R[f%R.length],d=f>=R.length;if((c=h.attemptAnchorPlacement(p,t,i,s,a.radialTextOffset,l,_,w,o,r,b,d,a,e,n))&&c.box&&c.box.length){k=!0;break}}return c};D(function(){return B(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox,n=M&&M.box&&M.box.length;return e.allowVerticalPlacement&&!n&&a.numVerticalGlyphVertices>0&&r?B(r,t.WritingMode.vertical):{box:null,offscreen:null}}),M&&(k=M.box,A=M.offscreen);var N=I(M&&M.box);if(!k&&h.prevPlacement){var j=h.prevPlacement.variableOffsets[a.crossTileID];j&&(h.variableOffsets[a.crossTileID]=j,h.markUsedJustification(e,j.anchor,a,N))}}else{var V=function(t,n){var i=h.collisionIndex.placeCollisionBox(t,f.get("text-allow-overlap"),o,r,b.predicate);return i&&i.box&&i.box.length&&(h.markUsedOrientation(e,n,a),h.placedOrientations[a.crossTileID]=n),i};D(function(){return V(z,t.WritingMode.horizontal)},function(){var r=u.verticalTextBox;return e.allowVerticalPlacement&&a.numVerticalGlyphVertices>0&&r?V(r,t.WritingMode.vertical):{box:null,offscreen:null}}),I(M&&M.box&&M.box.length)}}k=(m=M)&&m.box&&m.box.length>0,A=m&&m.offscreen;var U=u.textCircles;if(U){var q=e.text.placedSymbolArray.get(a.centerJustifiedTextSymbolIndex),H=t.evaluateSizeForFeature(e.textSizeData,p,q);E=h.collisionIndex.placeCollisionCircles(U,f.get("text-allow-overlap"),i,o,q,e.lineVertexArray,e.glyphOffsetArray,H,r,n,s,w,b.predicate),k=f.get("text-allow-overlap")||E.circles.length>0,A=A&&E.offscreen}u.iconFeatureIndex&&(O=u.iconFeatureIndex),u.iconBox&&(T=(L=h.collisionIndex.placeCollisionBox(u.iconBox,f.get("icon-allow-overlap"),o,r,b.predicate)).box.length>0,A=A&&L.offscreen);var G=d||0===a.numHorizontalGlyphVertices&&0===a.numVerticalGlyphVertices,Y=g||0===a.numIconVertices;G||Y?Y?G||(T=T&&k):k=T&&k:T=k=T&&k,k&&m&&m.box&&(S&&S.box&&P?h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,P,b.ID):h.collisionIndex.insertCollisionBox(m.box,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID)),T&&L&&h.collisionIndex.insertCollisionBox(L.box,f.get("icon-ignore-placement"),e.bucketInstanceId,O,b.ID),k&&E&&h.collisionIndex.insertCollisionCircles(E.circles,f.get("text-ignore-placement"),e.bucketInstanceId,C,b.ID),h.placements[a.crossTileID]=new fe(k||y,T||x,A||e.justReloaded),c[a.crossTileID]=!0}};if(k)for(var A=e.getSortedSymbolIndexes(this.transform.angle),M=A.length-1;M>=0;--M){var S=A[M];T(e.symbolInstances.get(S),e.collisionArrays[S])}else for(var E=0;E<e.symbolInstances.length;++E)T(e.symbolInstances.get(E),e.collisionArrays[E]);e.justReloaded=!1},ve.prototype.markUsedJustification=function(e,r,n,a){var i,o={left:n.leftJustifiedTextSymbolIndex,center:n.centerJustifiedTextSymbolIndex,right:n.rightJustifiedTextSymbolIndex};i=a===t.WritingMode.vertical?n.verticalPlacedTextSymbolIndex:o[t.getAnchorJustification(r)];for(var s=0,l=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex,n.verticalPlacedTextSymbolIndex];s<l.length;s+=1){var c=l[s];c>=0&&(e.text.placedSymbolArray.get(c).crossTileID=i>=0&&c!==i?0:n.crossTileID)}},ve.prototype.markUsedOrientation=function(e,r,n){for(var a=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,i=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o<s.length;o+=1){var l=s[o];e.text.placedSymbolArray.get(l).placedOrientation=a}n.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=i)},ve.prototype.commit=function(t){this.commitTime=t;var e=this.prevPlacement,r=!1,n=e&&0!==this.fadeDuration?(this.commitTime-e.commitTime)/this.fadeDuration:1,a=e?e.opacities:{},i=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(var s in this.placements){var l=this.placements[s],c=a[s];c?(this.opacities[s]=new he(c,n,l.text,l.icon),r=r||l.text!==c.text.placed||l.icon!==c.icon.placed):(this.opacities[s]=new he(null,n,l.text,l.icon,l.skipFade),r=r||l.text||l.icon)}for(var u in a){var h=a[u];if(!this.opacities[u]){var f=new he(h,n,!1,!1);f.isHidden()||(this.opacities[u]=f,r=r||h.text.placed||h.icon.placed)}}for(var p in i)this.variableOffsets[p]||!this.opacities[p]||this.opacities[p].isHidden()||(this.variableOffsets[p]=i[p]);for(var d in o)this.placedOrientations[d]||!this.opacities[d]||this.opacities[d].isHidden()||(this.placedOrientations[d]=o[d]);r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)},ve.prototype.updateLayerOpacities=function(t,e){for(var r={},n=0,a=e;n<a.length;n+=1){var i=a[n],o=i.getBucket(t);o&&i.latestFeatureIndex&&t.id===o.layerIds[0]&&this.updateBucketOpacities(o,r,i.collisionBoxArray)}},ve.prototype.updateBucketOpacities=function(e,r,n){e.hasTextData()&&e.text.opacityVertexArray.clear(),e.hasIconData()&&e.icon.opacityVertexArray.clear(),e.hasCollisionBoxData()&&e.collisionBox.collisionVertexArray.clear(),e.hasCollisionCircleData()&&e.collisionCircle.collisionVertexArray.clear();var a=e.layers[0].layout,i=new he(null,0,!1,!1,!0),o=a.get("text-allow-overlap"),s=a.get("icon-allow-overlap"),l=a.get("text-variable-anchor"),c="map"===a.get("text-rotation-alignment"),u="map"===a.get("text-pitch-alignment"),h=new he(null,0,o&&(s||!e.hasIconData()||a.get("icon-optional")),s&&(o||!e.hasTextData()||a.get("text-optional")),!0);!e.collisionArrays&&n&&(e.hasCollisionBoxData()||e.hasCollisionCircleData())&&e.deserializeCollisionBoxes(n);for(var f=0;f<e.symbolInstances.length;f++){var p=e.symbolInstances.get(f),d=p.numHorizontalGlyphVertices,g=p.numVerticalGlyphVertices,v=p.crossTileID,m=r[v],y=this.opacities[v];m?y=i:y||(y=h,this.opacities[v]=y),r[v]=!0;var x=d>0||g>0,b=p.numIconVertices>0;if(x){for(var _=Ae(y.text),w=(d+g)/4,k=0;k<w;k++)e.text.opacityVertexArray.emplaceBack(_);var T=y.text.isHidden()?1:0,A=this.placedOrientations[p.crossTileID],M=A===t.WritingMode.horizontal||A===t.WritingMode.horizontalOnly?1:0,S=A===t.WritingMode.vertical?1:0;[p.rightJustifiedTextSymbolIndex,p.centerJustifiedTextSymbolIndex,p.leftJustifiedTextSymbolIndex].forEach(function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=T||S)}),p.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(p.verticalPlacedTextSymbolIndex).hidden=T||M);var E=this.variableOffsets[p.crossTileID];E&&this.markUsedJustification(e,E.anchor,p,A);var L=this.placedOrientations[p.crossTileID];L&&(this.markUsedJustification(e,"left",p,L),this.markUsedOrientation(e,L,p))}if(b){for(var C=Ae(y.icon),P=0;P<p.numIconVertices/4;P++)e.icon.opacityVertexArray.emplaceBack(C);e.icon.placedSymbolArray.get(f).hidden=y.icon.isHidden()}if(e.hasCollisionBoxData()||e.hasCollisionCircleData()){var O=e.collisionArrays[f];if(O){if(O.textBox){var z=new t.Point(0,0),I=!0;if(l){var D=this.variableOffsets[v];D?(z=ge(D.anchor,D.width,D.height,D.radialOffset,D.textBoxScale),c&&z._rotate(u?this.transform.angle:-this.transform.angle)):I=!1}me(e.collisionBox.collisionVertexArray,y.text.placed,!I,z.x,z.y)}O.iconBox&&me(e.collisionBox.collisionVertexArray,y.icon.placed,!1);var R=O.textCircles;if(R&&e.hasCollisionCircleData())for(var F=0;F<R.length;F+=5){var B=m||0===R[F+4];me(e.collisionCircle.collisionVertexArray,y.text.placed,B)}}}}e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasCollisionBoxData()&&e.collisionBox.collisionVertexBuffer&&e.collisionBox.collisionVertexBuffer.updateData(e.collisionBox.collisionVertexArray),e.hasCollisionCircleData()&&e.collisionCircle.collisionVertexBuffer&&e.collisionCircle.collisionVertexBuffer.updateData(e.collisionCircle.collisionVertexArray)},ve.prototype.symbolFadeChange=function(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration},ve.prototype.hasTransitions=function(t){return this.stale||t-this.lastPlacementChangeTime<this.fadeDuration},ve.prototype.stillRecent=function(t){return this.commitTime+this.fadeDuration>t},ve.prototype.setStale=function(){this.stale=!0};var ye=Math.pow(2,25),xe=Math.pow(2,24),be=Math.pow(2,17),_e=Math.pow(2,16),we=Math.pow(2,9),ke=Math.pow(2,8),Te=Math.pow(2,1);function Ae(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*ye+e*xe+r*be+e*_e+r*we+e*ke+r*Te+e}var Me=function(){this._currentTileIndex=0,this._seenCrossTileIDs={}};Me.prototype.continuePlacement=function(t,e,r,n,a){for(;this._currentTileIndex<t.length;){var i=t[this._currentTileIndex];if(e.placeLayerTile(n,i,r,this._seenCrossTileIDs),this._currentTileIndex++,a())return!0}};var Se=function(t,e,r,n,a,i,o){this.placement=new ve(t,a,i,o),this._currentPlacementIndex=e.length-1,this._forceFullPlacement=r,this._showCollisionBoxes=n,this._done=!1};Se.prototype.isDone=function(){return this._done},Se.prototype.continuePlacement=function(e,r,n){for(var a=this,i=t.browser.now(),o=function(){var e=t.browser.now()-i;return!a._forceFullPlacement&&e>2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Me),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Se.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Ee=512/t.EXTENT/2,Le=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;n<e.length;n++){var a=e.get(n),i=a.key;this.indexedSymbolInstances[i]||(this.indexedSymbolInstances[i]=[]),this.indexedSymbolInstances[i].push({crossTileID:a.crossTileID,coord:this.getScaledCoordinates(a,t)})}};Le.prototype.getScaledCoordinates=function(e,r){var n=r.canonical.z-this.tileID.canonical.z,a=Ee/Math.pow(2,n);return{x:Math.floor((r.canonical.x*t.EXTENT+e.anchorX)*a),y:Math.floor((r.canonical.y*t.EXTENT+e.anchorY)*a)}},Le.prototype.findMatches=function(t,e,r){for(var n=this.tileID.canonical.z<e.canonical.z?1:Math.pow(2,this.tileID.canonical.z-e.canonical.z),a=0;a<t.length;a++){var i=t.get(a);if(!i.crossTileID){var o=this.indexedSymbolInstances[i.key];if(o)for(var s=this.getScaledCoordinates(i,e),l=0,c=o;l<c.length;l+=1){var u=c[l];if(Math.abs(u.coord.x-s.x)<=n&&Math.abs(u.coord.y-s.y)<=n&&!r[u.crossTileID]){r[u.crossTileID]=!0,i.crossTileID=u.crossTileID;break}}}}};var Ce=function(){this.maxCrossTileID=0};Ce.prototype.generate=function(){return++this.maxCrossTileID};var Pe=function(){this.indexes={},this.usedCrossTileIDs={},this.lng=0};Pe.prototype.handleWrapJump=function(t){var e=Math.round((t-this.lng)/360);if(0!==e)for(var r in this.indexes){var n=this.indexes[r],a={};for(var i in n){var o=n[i];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+e),a[o.tileID.key]=o}this.indexes[r]=a}this.lng=t},Pe.prototype.addBucket=function(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(var n=0;n<e.symbolInstances.length;n++)e.symbolInstances.get(n).crossTileID=0;this.usedCrossTileIDs[t.overscaledZ]||(this.usedCrossTileIDs[t.overscaledZ]={});var a=this.usedCrossTileIDs[t.overscaledZ];for(var i in this.indexes){var o=this.indexes[i];if(Number(i)>t.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,a)}else{var c=o[t.scaledTo(Number(i)).key];c&&c.findMatches(e.symbolInstances,t,a)}}for(var u=0;u<e.symbolInstances.length;u++){var h=e.symbolInstances.get(u);h.crossTileID||(h.crossTileID=r.generate(),a[h.crossTileID]=!0)}return void 0===this.indexes[t.overscaledZ]&&(this.indexes[t.overscaledZ]={}),this.indexes[t.overscaledZ][t.key]=new Le(t,e.symbolInstances,e.bucketInstanceId),!0},Pe.prototype.removeBucketCrossTileIDs=function(t,e){for(var r in e.indexedSymbolInstances)for(var n=0,a=e.indexedSymbolInstances[r];n<a.length;n+=1){var i=a[n];delete this.usedCrossTileIDs[t][i.crossTileID]}},Pe.prototype.removeStaleBuckets=function(t){var e=!1;for(var r in this.indexes){var n=this.indexes[r];for(var a in n)t[n[a].bucketInstanceId]||(this.removeBucketCrossTileIDs(r,n[a]),delete n[a],e=!0)}return e};var Oe=function(){this.layerIndexes={},this.crossTileIDs=new Ce,this.maxBucketInstanceId=0,this.bucketsInCurrentPlacement={}};Oe.prototype.addLayer=function(t,e,r){var n=this.layerIndexes[t.id];void 0===n&&(n=this.layerIndexes[t.id]=new Pe);var a=!1,i={};n.handleWrapJump(r);for(var o=0,s=e;o<s.length;o+=1){var l=s[o],c=l.getBucket(t);c&&t.id===c.layerIds[0]&&(c.bucketInstanceId||(c.bucketInstanceId=++this.maxBucketInstanceId),n.addBucket(l.tileID,c,this.crossTileIDs)&&(a=!0),i[c.bucketInstanceId]=!0)}return n.removeStaleBuckets(i)&&(a=!0),a},Oe.prototype.pruneUnusedLayers=function(t){var e={};for(var r in t.forEach(function(t){e[t]=!0}),this.layerIndexes)e[r]||delete this.layerIndexes[r]};var ze=function(e,r){return t.emitValidationErrors(e,r&&r.filter(function(t){return"source.canvas"!==t.identifier}))},Ie=t.pick(Nt,["addLayer","removeLayer","setPaintProperty","setLayoutProperty","setFilter","addSource","removeSource","setLayerZoomRange","setLight","setTransition","setGeoJSONSourceData"]),De=t.pick(Nt,["setCenter","setZoom","setBearing","setPitch"]),Re=function(e){function r(n,a){var i=this;void 0===a&&(a={}),e.call(this),this.map=n,this.dispatcher=new T((Dt||(Dt=new It),Dt),this),this.imageManager=new f,this.imageManager.setEventedParent(this),this.glyphManager=new x(n._requestManager,a.localIdeographFontFamily),this.lineAtlas=new k(256,512),this.crossTileSymbolIndex=new Oe,this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new t.ZoomHistory,this._loaded=!1,this._resetUpdates(),this.dispatcher.broadcast("setReferrer",t.getReferrer());var o=this;this._rtlTextPluginCallback=r.registerForPluginAvailability(function(t){for(var e in o.dispatcher.broadcast("loadRTLTextPlugin",t.pluginURL,t.completionCallback),o.sourceCaches)o.sourceCaches[e].reload()}),this.on("data",function(t){if("source"===t.dataType&&"metadata"===t.sourceDataType){var e=i.sourceCaches[t.sourceId];if(e){var r=e.getSource();if(r&&r.vectorLayerIds)for(var n in i._layers){var a=i._layers[n];a.source===r.id&&i._validateLayer(a)}}}})}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadURL=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"}));var a="boolean"==typeof r.validate?r.validate:!t.isMapboxURL(e);e=this.map._requestManager.normalizeStyleURL(e,r.accessToken);var i=this.map._requestManager.transformRequest(e,t.ResourceType.Style);this._request=t.getJSON(i,function(e,r){n._request=null,e?n.fire(new t.ErrorEvent(e)):r&&n._load(r,a)})},r.prototype.loadJSON=function(e,r){var n=this;void 0===r&&(r={}),this.fire(new t.Event("dataloading",{dataType:"style"})),this._request=t.browser.frame(function(){n._request=null,n._load(e,!1!==r.validate)})},r.prototype._load=function(e,r){var n=this;if(!r||!ze(this,t.validateStyle(e))){for(var a in this._loaded=!0,this.stylesheet=e,e.sources)this.addSource(a,e.sources[a],{validate:!1});e.sprite?this._spriteRequest=function(e,r,n){var a,i,o,s=t.browser.devicePixelRatio>1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),function(t,e){l=null,o||(o=t,a=e,u())}),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),function(t,e){c=null,o||(o=t,i=e,u())});function u(){if(o)n(o);else if(a&&i){var e=t.browser.getImageData(i),r={};for(var s in a){var l=a[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,g=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,g,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:g,pixelRatio:d,sdf:p}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e.sprite,this.map._requestManager,function(e,r){if(n._spriteRequest=null,e)n.fire(new t.ErrorEvent(e));else if(r)for(var a in r)n.imageManager.addImage(a,r[a]);n.imageManager.setLoaded(!0),n.fire(new t.Event("data",{dataType:"style"}))}):this.imageManager.setLoaded(!0),this.glyphManager.setURL(e.glyphs);var i=Bt(this.stylesheet.layers);this._order=i.map(function(t){return t.id}),this._layers={};for(var o=0,s=i;o<s.length;o+=1){var l=s[o];(l=t.createStyleLayer(l)).setEventedParent(this,{layer:{id:l.id}}),this._layers[l.id]=l}this.dispatcher.broadcast("setLayers",this._serializeLayers(this._order)),this.light=new w(this.stylesheet.light),this.fire(new t.Event("data",{dataType:"style"})),this.fire(new t.Event("style.load"))}},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var a=r.getSource();("geojson"===a.type||a.vectorLayerIds&&-1===a.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+a.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r<n.length;r+=1){var a=n[r],i=this._layers[a];"custom"!==i.type&&e.push(i.serialize())}return e},r.prototype.hasTransitions=function(){if(this.light&&this.light.hasTransition())return!0;for(var t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(var e in this._layers)if(this._layers[e].hasTransition())return!0;return!1},r.prototype._checkLoaded=function(){if(!this._loaded)throw new Error("Style is not done loading")},r.prototype.update=function(e){if(this._loaded){var r=this._changed;if(this._changed){var n=Object.keys(this._updatedLayers),a=Object.keys(this._removedLayers);for(var i in(n.length||a.length)&&this._updateWorkerLayers(n,a),this._updatedSources){var o=this._updatedSources[i];"reload"===o?this._reloadSource(i):"clear"===o&&this._clearSource(i)}for(var s in this._updatedPaintProps)this._layers[s].updateTransitions(e);this.light.updateTransitions(e),this._resetUpdates()}for(var l in this.sourceCaches)this.sourceCaches[l].used=!1;for(var c=0,u=this._order;c<u.length;c+=1){var h=u[c],f=this._layers[h];f.recalculate(e),!f.isHidden(e.zoom)&&f.source&&(this.sourceCaches[f.source].used=!0)}this.light.recalculate(e),this.z=e.zoom,r&&this.fire(new t.Event("data",{dataType:"style"}))}},r.prototype._updateWorkerLayers=function(t,e){this.dispatcher.broadcast("updateLayers",{layers:this._serializeLayers(t),removedIds:e})},r.prototype._resetUpdates=function(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={}},r.prototype.setState=function(e){var r=this;if(this._checkLoaded(),ze(this,t.validateStyle(e)))return!1;(e=t.clone$1(e)).layers=Bt(e.layers);var n=function(e,r){if(!e)return[{command:Nt.setStyle,args:[r]}];var n=[];try{if(!t.deepEqual(e.version,r.version))return[{command:Nt.setStyle,args:[r]}];t.deepEqual(e.center,r.center)||n.push({command:Nt.setCenter,args:[r.center]}),t.deepEqual(e.zoom,r.zoom)||n.push({command:Nt.setZoom,args:[r.zoom]}),t.deepEqual(e.bearing,r.bearing)||n.push({command:Nt.setBearing,args:[r.bearing]}),t.deepEqual(e.pitch,r.pitch)||n.push({command:Nt.setPitch,args:[r.pitch]}),t.deepEqual(e.sprite,r.sprite)||n.push({command:Nt.setSprite,args:[r.sprite]}),t.deepEqual(e.glyphs,r.glyphs)||n.push({command:Nt.setGlyphs,args:[r.glyphs]}),t.deepEqual(e.transition,r.transition)||n.push({command:Nt.setTransition,args:[r.transition]}),t.deepEqual(e.light,r.light)||n.push({command:Nt.setLight,args:[r.light]});var a={},i=[];!function(e,r,n,a){var i;for(i in r=r||{},e=e||{})e.hasOwnProperty(i)&&(r.hasOwnProperty(i)||Vt(i,n,a));for(i in r)r.hasOwnProperty(i)&&(e.hasOwnProperty(i)?t.deepEqual(e[i],r[i])||("geojson"===e[i].type&&"geojson"===r[i].type&&qt(e,r,i)?n.push({command:Nt.setGeoJSONSourceData,args:[i,r[i].data]}):Ut(i,r,n,a)):jt(i,r,n))}(e.sources,r.sources,i,a);var o=[];e.layers&&e.layers.forEach(function(t){a[t.source]?n.push({command:Nt.removeLayer,args:[t.id]}):o.push(t)}),n=n.concat(i),function(e,r,n){r=r||[];var a,i,o,s,l,c,u,h=(e=e||[]).map(Gt),f=r.map(Gt),p=e.reduce(Yt,{}),d=r.reduce(Yt,{}),g=h.slice(),v=Object.create(null);for(a=0,i=0;a<h.length;a++)o=h[a],d.hasOwnProperty(o)?i++:(n.push({command:Nt.removeLayer,args:[o]}),g.splice(g.indexOf(o,i),1));for(a=0,i=0;a<f.length;a++)o=f[f.length-1-a],g[g.length-1-a]!==o&&(p.hasOwnProperty(o)?(n.push({command:Nt.removeLayer,args:[o]}),g.splice(g.lastIndexOf(o,g.length-i),1)):i++,c=g[g.length-a],n.push({command:Nt.addLayer,args:[d[o],c]}),g.splice(g.length-a,0,o),v[o]=!0);for(a=0;a<f.length;a++)if(s=p[o=f[a]],l=d[o],!v[o]&&!t.deepEqual(s,l))if(t.deepEqual(s.source,l.source)&&t.deepEqual(s["source-layer"],l["source-layer"])&&t.deepEqual(s.type,l.type)){for(u in Ht(s.layout,l.layout,n,o,null,Nt.setLayoutProperty),Ht(s.paint,l.paint,n,o,null,Nt.setPaintProperty),t.deepEqual(s.filter,l.filter)||n.push({command:Nt.setFilter,args:[o,l.filter]}),t.deepEqual(s.minzoom,l.minzoom)&&t.deepEqual(s.maxzoom,l.maxzoom)||n.push({command:Nt.setLayerZoomRange,args:[o,l.minzoom,l.maxzoom]}),s)s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Ht(s[u],l[u],n,o,u.slice(6),Nt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Nt.setLayerProperty,args:[o,u,l[u]]}));for(u in l)l.hasOwnProperty(u)&&!s.hasOwnProperty(u)&&"layout"!==u&&"paint"!==u&&"filter"!==u&&"metadata"!==u&&"minzoom"!==u&&"maxzoom"!==u&&(0===u.indexOf("paint.")?Ht(s[u],l[u],n,o,u.slice(6),Nt.setPaintProperty):t.deepEqual(s[u],l[u])||n.push({command:Nt.setLayerProperty,args:[o,u,l[u]]}))}else n.push({command:Nt.removeLayer,args:[o]}),c=g[g.lastIndexOf(o)+1],n.push({command:Nt.addLayer,args:[l,c]})}(o,r.layers,n)}catch(t){console.warn("Unable to compute style diff:",t),n=[{command:Nt.setStyle,args:[r]}]}return n}(this.serialize(),e).filter(function(t){return!(t.command in De)});if(0===n.length)return!1;var a=n.filter(function(t){return!(t.command in Ie)});if(a.length>0)throw new Error("Unimplemented: "+a.map(function(t){return t.command}).join(", ")+".");return n.forEach(function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)}),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var a=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but the only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var i=this.sourceCaches[e]=new Ct(e,r,this.dispatcher);i.style=this,i.setEventedParent(this,function(){return{isSourceLoaded:a.loaded(),source:i.serialize(),sourceId:e}}),i.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=e.id;if(this.getLayer(a))this.fire(new t.ErrorEvent(new Error('Layer with id "'+a+'" already exists on this map')));else{var i;if("custom"===e.type){if(ze(this,t.validateCustomStyleLayer(e)))return;i=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(a,e.source),e=t.clone$1(e),e=t.extend(e,{source:a})),this._validate(t.validateStyle.layer,"layers."+a,e,{arrayIndex:-1},n))return;i=t.createStyleLayer(e),this._validateLayer(i),i.setEventedParent(this,{layer:{id:a}})}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,a),this._layerOrderChanged=!0,this._layers[a]=i,this._removedLayers[a]&&i.source&&"custom"!==i.type){var s=this._removedLayers[a];delete this._removedLayers[a],s.type!==i.type?this._updatedSources[i.source]="clear":(this._updatedSources[i.source]="reload",this.sourceCaches[i.source].pause())}this._updateLayer(i),i.onAdd&&i.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var a=r?this._order.indexOf(r):this._order.length;r&&-1===a?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(a,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var a=this.getLayer(e);a?a.minzoom===r&&a.maxzoom===n||(null!=r&&(a.minzoom=r),null!=n&&(a.maxzoom=n),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var a=this.getLayer(e);if(a){if(!t.deepEqual(a.filter,r))return null==r?(a.filter=void 0,void this._updateLayer(a)):void(this._validate(t.validateStyle.filter,"layers."+a.id+".filter",r,null,n)||(a.filter=t.clone$1(r),this._updateLayer(a)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getLayoutProperty(r),n)||(i.setLayoutProperty(r,n,a),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,a){void 0===a&&(a={}),this._checkLoaded();var i=this.getLayer(e);i?t.deepEqual(i.getPaintProperty(r),n)||(i.setPaintProperty(r,n,a)&&this._updateLayer(i),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=e.sourceLayer,i=this.sourceCaches[n],o=parseInt(e.id,10);if(void 0!==i){var s=i.getSource().type;"geojson"===s&&a?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==s||a?isNaN(o)||o<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative."))):i.setFeatureState(a,o,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,a=this.sourceCaches[n];if(void 0!==a){var i=a.getSource().type,o="vector"===i?e.sourceLayer:void 0,s=parseInt(e.id,10);"vector"!==i||o?void 0!==e.id&&isNaN(s)||s<0?this.fire(new t.ErrorEvent(new Error("The feature id parameter must be non-negative."))):r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is requred to remove its specific state property."))):a.removeFeatureState(o,s,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,a=this.sourceCaches[r],i=parseInt(e.id,10);if(void 0!==a)if("vector"!==a.getSource().type||n){if(!(isNaN(i)||i<0))return a.getFeatureState(n,i);this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided and non-negative.")))}else this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")));else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,function(t){return t.serialize()}),layers:this._serializeLayers(this._order)},function(t){return void 0!==t})},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},a=[],i=this._order.length-1;i>=0;i--){var o=this._order[i];if(r(o)){n[o]=i;for(var s=0,l=t;s<l.length;s+=1){var c=l[s][o];if(c)for(var u=0,h=c;u<h.length;u+=1){var f=h[u];a.push(f)}}}}a.sort(function(t,e){return e.intersectionZ-t.intersectionZ});for(var p=[],d=this._order.length-1;d>=0;d--){var g=this._order[d];if(r(g))for(var v=a.length-1;v>=0;v--){var m=a[v].feature;if(n[m.layer.id]<d)break;p.push(m),a.pop()}else for(var y=0,x=t;y<x.length;y+=1){var b=x[y][g];if(b)for(var _=0,w=b;_<w.length;_+=1){var k=w[_];p.push(k.feature)}}}return p},r.prototype.queryRenderedFeatures=function(e,r,n){r&&r.filter&&this._validate(t.validateStyle.filter,"queryRenderedFeatures.filter",r.filter,null,r);var a={};if(r&&r.layers){if(!Array.isArray(r.layers))return this.fire(new t.ErrorEvent(new Error("parameters.layers must be an Array."))),[];for(var i=0,o=r.layers;i<o.length;i+=1){var s=o[i],l=this._layers[s];if(!l)return this.fire(new t.ErrorEvent(new Error("The layer '"+s+"' does not exist in the map's style and cannot be queried for features."))),[];a[l.source]=!0}}var c=[];for(var u in this.sourceCaches)r.layers&&!a[u]||c.push(F(this.sourceCaches[u],this._layers,e,r,n));return this.placement&&c.push(function(t,e,r,n,a,i){for(var o={},s=a.queryRenderedSymbols(r),l=[],c=0,u=Object.keys(s).map(Number);c<u.length;c+=1){var h=u[c];l.push(i[h])}l.sort(B);for(var f=function(){var e=d[p],r=e.featureIndex.lookupSymbolFeatures(s[e.bucketInstanceId],e.bucketIndex,e.sourceLayerIndex,n.filter,n.layers,t);for(var a in r){var i=o[a]=o[a]||[],l=r[a];l.sort(function(t,r){var n=e.featureSortOrder;if(n){var a=n.indexOf(t.featureIndex);return n.indexOf(r.featureIndex)-a}return r.featureIndex-t.featureIndex});for(var c=0,u=l;c<u.length;c+=1){var h=u[c];i.push(h)}}},p=0,d=l;p<d.length;p+=1)f();var g=function(r){o[r].forEach(function(n){var a=n.feature,i=t[r],o=e[i.source].getFeatureState(a.layer["source-layer"],a.id);a.source=a.layer.source,a.layer["source-layer"]&&(a.sourceLayer=a.layer["source-layer"]),a.state=o})};for(var v in o)g(v);return o}(this._layers,this.sourceCaches,e,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(c)},r.prototype.querySourceFeatures=function(e,r){r&&r.filter&&this._validate(t.validateStyle.filter,"querySourceFeatures.filter",r.filter,null,r);var n=this.sourceCaches[e];return n?function(t,e){for(var r=t.getRenderableIds().map(function(e){return t.getTileByID(e)}),n=[],a={},i=0;i<r.length;i++){var o=r[i],s=o.tileID.canonical.key;a[s]||(a[s]=!0,o.querySourceFeatures(n,e))}return n}(n,r):[]},r.prototype.addSourceType=function(t,e,n){return r.getSourceType(t)?n(new Error('A source type called "'+t+'" already exists.')):(r.setSourceType(t,e),e.workerSourceURL?void this.dispatcher.broadcast("loadWorkerSource",{name:t,url:e.workerSourceURL},n):n(null,null))},r.prototype.getLight=function(){return this.light.getLight()},r.prototype.setLight=function(e,r){void 0===r&&(r={}),this._checkLoaded();var n=this.light.getLight(),a=!1;for(var i in e)if(!t.deepEqual(e[i],n[i])){a=!0;break}if(a){var o={now:t.browser.now(),transition:t.extend({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(e,r),this.light.updateTransitions(o)}},r.prototype._validate=function(e,r,n,a,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&ze(this,e.call(t.validateStyle,t.extend({key:r,style:this.serialize(),value:n,styleSpec:t.styleSpec},a)))},r.prototype._remove=function(){for(var e in this._request&&(this._request.cancel(),this._request=null),this._spriteRequest&&(this._spriteRequest.cancel(),this._spriteRequest=null),t.evented.off("pluginAvailable",this._rtlTextPluginCallback),this.sourceCaches)this.sourceCaches[e].clearTiles();this.dispatcher.remove()},r.prototype._clearSource=function(t){this.sourceCaches[t].clearTiles()},r.prototype._reloadSource=function(t){this.sourceCaches[t].resume(),this.sourceCaches[t].reload()},r.prototype._updateSources=function(t){for(var e in this.sourceCaches)this.sourceCaches[e].update(t)},r.prototype._generateCollisionBoxes=function(){for(var t in this.sourceCaches)this._reloadSource(t)},r.prototype._updatePlacement=function(e,r,n,a){for(var i=!1,o=!1,s={},l=0,c=this._order;l<c.length;l+=1){var u=c[l],h=this._layers[u];if("symbol"===h.type){if(!s[h.source]){var f=this.sourceCaches[h.source];s[h.source]=f.getRenderableIds(!0).map(function(t){return f.getTileByID(t)}).sort(function(t,e){return e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)})}var p=this.crossTileSymbolIndex.addLayer(h,s[h.source],e.center.lng);i=i||p}}this.crossTileSymbolIndex.pruneUnusedLayers(this._order);var d=this._layerOrderChanged||0===n;if((d||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(t.browser.now()))&&(this.pauseablePlacement=new Se(e,this._order,d,r,n,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,s),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(t.browser.now()),o=!0),i&&this.pauseablePlacement.placement.setStale()),o||i)for(var g=0,v=this._order;g<v.length;g+=1){var m=v[g],y=this._layers[m];"symbol"===y.type&&this.placement.updateLayerOpacities(y,s[y.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(t.browser.now())},r.prototype._releaseSymbolFadeTiles=function(){for(var t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()},r.prototype.getImages=function(t,e,r){this.imageManager.getImages(e.icons,r)},r.prototype.getGlyphs=function(t,e,r){this.glyphManager.getGlyphs(e.stacks,r)},r.prototype.getResource=function(e,r,n){return t.makeRequest(r,n)},r}(t.Evented);Re.getSourceType=function(t){return I[t]},Re.setSourceType=function(t,e){I[t]=e},Re.registerForPluginAvailability=t.registerForPluginAvailability;var Fe=t.createLayout([{name:"a_pos",type:"Int16",components:2}]),Be=cr("#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","#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;}"),Ne=cr("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);}"),je=cr("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);}"),Ve=cr("varying vec3 v_data;\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=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;\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);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,0,1);} else {gl_Position=u_matrix*vec4(circle_center,0,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);}"),Ue=cr("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);}"),qe=cr("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;}"),He=cr("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;}"),Ge=cr("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,0.0,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;}"),Ye=cr("uniform float u_overscale_factor;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;void main() {float alpha=0.5;vec4 color=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {color=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {color*=.2;}float extrude_scale_length=length(v_extrude_scale);float extrude_length=length(v_extrude)*extrude_scale_length;float stroke_width=15.0*extrude_scale_length/u_overscale_factor;float radius=v_radius*extrude_scale_length;float distance_to_edge=abs(extrude_length-radius);float opacity_t=smoothstep(-stroke_width,0.0,-distance_to_edge);gl_FragColor=opacity_t*color;}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;varying float v_radius;varying vec2 v_extrude;varying vec2 v_extrude_scale;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,0.0,1.0);highp float padding_factor=1.2;gl_Position.xy+=a_extrude*u_extrude_scale*padding_factor*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;v_radius=abs(a_extrude.y);v_extrude=a_extrude*padding_factor;v_extrude_scale=u_extrude_scale*u_camera_to_center_distance*collision_perspective_ratio;}"),We=cr("uniform highp vec4 u_color;void main() {gl_FragColor=u_color;}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),Xe=cr("#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);}"),Ze=cr("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;}"),Je=cr("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 vec4 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\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;float pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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;}"),Ke=cr("uniform 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 vec4 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\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;float pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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);}"),Qe=cr("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;varying 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;base=max(0.0,base);height=max(0.0,height);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;}"),$e=cr("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\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\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 vec4 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;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\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\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 pixelRatio=u_scale.x;float tileRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);base=max(0.0,base);height=max(0.0,height);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;}"),tr=cr("#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 float u_maxzoom;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;return (data.r+data.g*256.0+data.b*256.0*256.0)/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 exaggeration=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/ pow(2.0,(u_zoom-u_maxzoom)*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;}"),er=cr("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;}"),rr=cr("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;float 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;v_width2=vec2(outset,inset);}"),nr=cr("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 float v_lineprogress;\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,vec2(v_lineprogress,0.5));gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define MAX_LINE_DISTANCE 32767.0\n#define scale 0.015873016\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_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_lineprogress;\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;v_lineprogress=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0/MAX_LINE_DISTANCE;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;float 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;v_width2=vec2(outset,inset);}"),ar=cr("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec4 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 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 pixelRatio=u_scale.x;float tileZoomRatio=u_scale.y;float fromScale=u_scale.z;float toScale=u_scale.w;vec2 display_size_a=vec2((pattern_br_a.x-pattern_tl_a.x)/pixelRatio,(pattern_br_a.y-pattern_tl_a.y)/pixelRatio);vec2 display_size_b=vec2((pattern_br_b.x-pattern_tl_b.x)/pixelRatio,(pattern_br_b.y-pattern_tl_b.y)/pixelRatio);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 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,1.0);float x_b=mod(v_linesofar/pattern_size_b.x,1.0);float y_a=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_a.y+2.0)/2.0)/pattern_size_a.y);float y_b=0.5+(v_normal.y*clamp(v_width2.s,0.0,(pattern_size_b.y+2.0)/2.0)/pattern_size_b.y);vec2 pos_a=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,vec2(x_a,y_a));vec2 pos_b=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,vec2(x_b,y_b));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;\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 vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_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 mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_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;float 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;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);}"),ir=cr("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;float 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;v_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);}"),or=cr("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;}"),sr=cr("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 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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,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),0,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,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,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;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),lr=cr("#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 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;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;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[0],a_size[1],u_size_t)/256.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size[0]/256.0;} else if (!u_is_size_zoom_constant && u_is_size_feature_constant) {size=u_size;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,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),0,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,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 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 interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=vec2(tex.x,tex.y);v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}");function cr(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n={};return{fragmentSource:t=t.replace(r,function(t,e,r,a,i){return n[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"}),vertexSource:e=e.replace(r,function(t,e,r,a,i){var o="float"===a?"vec2":"vec4",s=i.match(/color/)?"color":o;return n[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\nvarying "+r+" "+a+" "+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+i+" = a_"+i+";\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+o+" a_"+i+";\n#else\nuniform "+r+" "+a+" u_"+i+";\n#endif\n":"vec4"===s?"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = a_"+i+";\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n    "+r+" "+a+" "+i+" = unpack_mix_"+s+"(a_"+i+", u_"+i+"_t);\n#else\n    "+r+" "+a+" "+i+" = u_"+i+";\n#endif\n"})}}var ur=Object.freeze({prelude:Be,background:Ne,backgroundPattern:je,circle:Ve,clippingMask:Ue,heatmap:qe,heatmapTexture:He,collisionBox:Ge,collisionCircle:Ye,debug:We,fill:Xe,fillOutline:Ze,fillOutlinePattern:Je,fillPattern:Ke,fillExtrusion:Qe,fillExtrusionPattern:$e,hillshadePrepare:tr,hillshade:er,line:rr,lineGradient:nr,linePattern:ar,lineSDF:ir,raster:or,symbolIcon:sr,symbolSDF:lr}),hr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};hr.prototype.bind=function(t,e,r,n,a,i,o,s){this.context=t;for(var l=this.boundPaintVertexBuffers.length!==n.length,c=0;!l&&c<n.length;c++)this.boundPaintVertexBuffers[c]!==n[c]&&(l=!0);var u=!this.vao||this.boundProgram!==e||this.boundLayoutVertexBuffer!==r||l||this.boundIndexBuffer!==a||this.boundVertexOffset!==i||this.boundDynamicVertexBuffer!==o||this.boundDynamicVertexBuffer2!==s;!t.extVertexArrayObject||u?this.freshBind(e,r,n,a,i,o,s):(t.bindVertexArrayOES.set(this.vao),o&&o.bind(),a&&a.dynamicDraw&&a.bind(),s&&s.bind())},hr.prototype.freshBind=function(t,e,r,n,a,i,o){var s,l=t.numAttributes,c=this.context,u=c.gl;if(c.extVertexArrayObject)this.vao&&this.destroy(),this.vao=c.extVertexArrayObject.createVertexArrayOES(),c.bindVertexArrayOES.set(this.vao),s=0,this.boundProgram=t,this.boundLayoutVertexBuffer=e,this.boundPaintVertexBuffers=r,this.boundIndexBuffer=n,this.boundVertexOffset=a,this.boundDynamicVertexBuffer=i,this.boundDynamicVertexBuffer2=o;else{s=c.currentNumAttributes||0;for(var h=l;h<s;h++)u.disableVertexAttribArray(h)}e.enableAttributes(u,t);for(var f=0,p=r;f<p.length;f+=1)p[f].enableAttributes(u,t);i&&i.enableAttributes(u,t),o&&o.enableAttributes(u,t),e.bind(),e.setVertexAttribPointers(u,t,a);for(var d=0,g=r;d<g.length;d+=1){var v=g[d];v.bind(),v.setVertexAttribPointers(u,t,a)}i&&(i.bind(),i.setVertexAttribPointers(u,t,a)),n&&n.bind(),o&&(o.bind(),o.setVertexAttribPointers(u,t,a)),c.currentNumAttributes=l},hr.prototype.destroy=function(){this.vao&&(this.context.extVertexArrayObject.deleteVertexArrayOES(this.vao),this.vao=null)};var fr=function(t,e,r,n,a){var i=t.gl;this.program=i.createProgram();var o=r.defines();a&&o.push("#define OVERDRAW_INSPECTOR;");var s=o.concat(Be.fragmentSource,e.fragmentSource).join("\n"),l=o.concat(Be.vertexSource,e.vertexSource).join("\n"),c=i.createShader(i.FRAGMENT_SHADER);i.shaderSource(c,s),i.compileShader(c),i.attachShader(this.program,c);var u=i.createShader(i.VERTEX_SHADER);i.shaderSource(u,l),i.compileShader(u),i.attachShader(this.program,u);for(var h=r.layoutAttributes||[],f=0;f<h.length;f++)i.bindAttribLocation(this.program,f,h[f].name);i.linkProgram(this.program),this.numAttributes=i.getProgramParameter(this.program,i.ACTIVE_ATTRIBUTES),this.attributes={};for(var p={},d=0;d<this.numAttributes;d++){var g=i.getActiveAttrib(this.program,d);g&&(this.attributes[g.name]=i.getAttribLocation(this.program,g.name))}for(var v=i.getProgramParameter(this.program,i.ACTIVE_UNIFORMS),m=0;m<v;m++){var y=i.getActiveUniform(this.program,m);y&&(p[y.name]=i.getUniformLocation(this.program,y.name))}this.fixedUniforms=n(t,p),this.binderUniforms=r.getUniforms(t,p)};function pr(e,r,n){var a=1/ce(n,1,r.transform.tileZoom),i=Math.pow(2,n.tileID.overscaledZ),o=n.tileSize*Math.pow(2,r.transform.tileZoom)/i,s=o*(n.tileID.canonical.x+n.tileID.wrap*i),l=o*n.tileID.canonical.y;return{u_image:0,u_texsize:n.imageAtlasTexture.size,u_scale:[t.browser.devicePixelRatio,a,e.fromScale,e.toScale],u_fade:e.t,u_pixel_coord_upper:[s>>16,l>>16],u_pixel_coord_lower:[65535&s,65535&l]}}fr.prototype.draw=function(t,e,r,n,a,i,o,s,l,c,u,h,f,p,d,g){var v,m=t.gl;for(var y in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(a),t.setCullFace(i),this.fixedUniforms)this.fixedUniforms[y].set(o[y]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(v={},v[m.LINES]=2,v[m.TRIANGLES]=3,v[m.LINE_STRIP]=1,v)[e],b=0,_=u.get();b<_.length;b+=1){var w=_[b],k=w.vaos||(w.vaos={});(k[s]||(k[s]=new hr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],c,w.vertexOffset,d,g),m.drawElements(e,w.primitiveLength*x,m.UNSIGNED_SHORT,w.primitiveOffset*x*2)}};var dr=function(e,r,n,a){var i=r.style.light,o=i.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===i.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var c=i.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:i.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:a}},gr=function(e,r,n,a,i,o,s){return t.extend(dr(e,r,n,a),pr(o,r,s),{u_height_factor:-Math.pow(2,i.overscaledZ)/s.tileSize/8})},vr=function(t){return{u_matrix:t}},mr=function(e,r,n,a){return t.extend(vr(e),pr(n,r,a))},yr=function(t,e){return{u_matrix:t,u_world:e}},xr=function(e,r,n,a,i){return t.extend(mr(e,r,n,a),{u_world:i})},br=function(e,r,n,a){var i,o,s=e.transform;if("map"===a.paint.get("circle-pitch-alignment")){var l=ce(n,1,s.zoom);i=!0,o=[l,l]}else i=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===a.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,a.paint.get("circle-translate"),a.paint.get("circle-translate-anchor")),u_pitch_with_map:+i,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},_r=function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},wr=function(t,e,r){var n=ce(r,1,e.zoom),a=Math.pow(2,e.zoom-r.tileID.overscaledZ),i=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*a),e.pixelsToGLUnits[1]/(n*a)],u_overscale_factor:i}},kr=function(t,e){return{u_matrix:t,u_color:e}},Tr=function(t){return{u_matrix:t}},Ar=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ce(e,1,r),u_intensity:n}},Mr=function(t,e,r){var n=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),i=r.paint.get("hillshade-accent-color"),o=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(o-=t.transform.angle);var s=!t.options.moving;return{u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),s),u_image:0,u_latrange:Er(t,e.tileID),u_light:[r.paint.get("hillshade-exaggeration"),o],u_shadow:n,u_highlight:a,u_accent:i}},Sr=function(e,r){var n=e.dem.stride,a=t.create();return t.ortho(a,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(a,a,[0,-t.EXTENT,0]),{u_matrix:a,u_image:1,u_dimension:[n,n],u_zoom:e.tileID.overscaledZ,u_maxzoom:r}};function Er(e,r){var n=Math.pow(2,r.canonical.z),a=r.canonical.y;return[new t.MercatorCoordinate(0,a/n).toLngLat().lat,new t.MercatorCoordinate(0,(a+1)/n).toLngLat().lat]}var Lr=function(e,r,n){var a=e.transform;return{u_matrix:Ir(e,r,n),u_ratio:1/ce(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Cr=function(e,r,n){return t.extend(Lr(e,r,n),{u_image:0})},Pr=function(e,r,n,a){var i=e.transform,o=zr(r,i);return{u_matrix:Ir(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ce(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[t.browser.devicePixelRatio,o,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},Or=function(e,r,n,a,i){var o=e.transform,s=e.lineAtlas,l=zr(r,o),c="round"===n.layout.get("line-cap"),u=s.getDash(a.from,c),h=s.getDash(a.to,c),f=u.width*i.fromScale,p=h.width*i.toScale;return t.extend(Lr(e,r,n),{u_patternscale_a:[l/f,-u.height/2],u_patternscale_b:[l/p,-h.height/2],u_sdfgamma:s.width/(256*Math.min(f,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:u.y,u_tex_y_b:h.y,u_mix:i.t})};function zr(t,e){return 1/ce(t,1,e.tileZoom)}function Ir(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Dr=function(t,e,r,n,a){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*a.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:a.paint.get("raster-brightness-min"),u_brightness_high:a.paint.get("raster-brightness-max"),u_saturation_factor:(o=a.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(i=a.paint.get("raster-contrast"),i>0?1/(1-i):1+i),u_spin_weights:function(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}(a.paint.get("raster-hue-rotate"))};var i,o};var Rr=function(t,e,r,n,a,i,o,s,l,c){var u=a.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:a.options.fadeDuration?a.symbolFadeChange:1,u_matrix:i,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Fr=function(e,r,n,a,i,o,s,l,c,u,h){var f=i.transform;return t.extend(Rr(e,r,n,a,i,o,s,l,c,u),{u_gamma_scale:a?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Br=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},Nr=function(e,r,n,a,i,o){return t.extend(function(t,e,r,n){var a=r.imageManager.getPattern(t.from),i=r.imageManager.getPattern(t.to),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:a.tl,u_pattern_br_a:a.br,u_pattern_tl_b:i.tl,u_pattern_br_b:i.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:a.displaySize,u_pattern_size_b:i.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ce(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(a,o,n,i),{u_matrix:e,u_opacity:r})},jr={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:_r,collisionCircle:_r,debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_maxzoom:new t.Uniform1f(e,r.u_maxzoom)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform4f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1f(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1f(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1f(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function Vr(e,r){for(var n=e.sort(function(t,e){return t.tileID.isLessThan(e.tileID)?-1:e.tileID.isLessThan(t.tileID)?1:0}),a=0;a<n.length;a++){var i={},o=n[a],s=n.slice(a+1);Ur(o.tileID.wrapped(),o.tileID,s,new t.OverscaledTileID(0,o.tileID.wrap+1,0,0,0),i),o.setMask(i,r)}}function Ur(e,r,n,a,i){for(var o=0;o<n.length;o++){var s=n[o];if(a.isLessThan(s.tileID))break;if(r.key===s.tileID.key)return;if(s.tileID.isChildOf(r)){for(var l=r.children(1/0),c=0;c<l.length;c++)Ur(e,l[c],n.slice(o),a,i);return}}var u=r.overscaledZ-e.overscaledZ,h=new t.CanonicalTileID(u,r.canonical.x-(e.canonical.x<<u),r.canonical.y-(e.canonical.y<<u));i[h.key]=i[h.key]||h}function qr(t,e,r,n,a){for(var i=t.context,o=i.gl,s=a?t.useProgram("collisionCircle"):t.useProgram("collisionBox"),l=0;l<n.length;l++){var c=n[l],u=e.getTile(c),h=u.getBucket(r);if(h){var f=a?h.collisionCircle:h.collisionBox;f&&s.draw(i,a?o.TRIANGLES:o.LINES,At.disabled,Mt.disabled,t.colorModeForRenderPass(),Et.disabled,wr(c.posMatrix,t.transform,u),r.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,null,t.transform.zoom,null,null,f.collisionVertexBuffer)}}}var Hr=t.identity(new Float32Array(16));function Gr(e,r,n,a,i,o){var s=t.getAnchorAlignment(e),l=-(s.horizontalAlign-.5)*r,c=-(s.verticalAlign-.5)*n,u=t.evaluateRadialOffset(e,a);return new t.Point((l/i+u[0])*o,(c/i+u[1])*o)}function Yr(e,r,n,a,i,o,s,l,c,u){var h=e.text.placedSymbolArray,f=e.text.dynamicLayoutVertexArray;f.clear();for(var p=0;p<h.length;p++){var d=h.get(p),g=e.allowVerticalPlacement&&!d.placedOrientation,v=d.hidden||!d.crossTileID||g?null:a[d.crossTileID];if(v){var m=new t.Point(d.anchorX,d.anchorY),y=Jt(m,n?l:s),x=.5+o.cameraToCenterDistance/y.signedDistanceFromCamera*.5,b=i.evaluateSizeForFeature(e.textSizeData,u,d)*x/t.ONE_EM;n&&(b*=e.tilePixelRatio/c);for(var _=v.width,w=v.height,k=v.radialOffset,T=v.textBoxScale,A=Gr(v.anchor,_,w,k,T,b),M=n?Jt(m.add(A),s).point:y.point.add(r?A.rotate(-o.angle):A),S=e.allowVerticalPlacement&&d.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,E=0;E<d.numGlyphs;E++)t.addDynamicAttributes(f,M,S)}else ie(d.numGlyphs,f)}e.text.dynamicLayoutVertexBuffer.updateData(f)}function Wr(e){var r=e.text.placedSymbolArray,n=e.text.dynamicLayoutVertexArray;n.clear();for(var a=0;a<r.length;a++){var i=r.get(a);if(i.hidden||!i.placedOrientation)ie(i.numGlyphs,n);else for(var o=new t.Point(i.anchorX,i.anchorY),s=e.allowVerticalPlacement&&i.placedOrientation===t.WritingMode.vertical?Math.PI/2:0,l=0;l<i.numGlyphs;l++)t.addDynamicAttributes(n,o,s)}e.text.dynamicLayoutVertexBuffer.updateData(n)}function Xr(e,r,n,a,i,o,s,l,c,u,h,f,p){for(var d,g,v=e.context,m=v.gl,y=e.transform,x="map"===l,b="map"===c,_=x&&"point"!==n.layout.get("symbol-placement"),w=x&&!b&&!_,k=void 0!==n.layout.get("symbol-sort-key").constantOr(1),T=e.depthModeForSublayer(0,At.ReadOnly),A=n.layout.get("text-variable-anchor"),M=[],S=0,E=a;S<E.length;S+=1){var L=E[S],C=r.getTile(L),P=C.getBucket(n);if(P){var O=i?P.text:P.icon;if(O&&O.segments.get().length){var z=O.programConfigurations.get(n.id),I=i||P.sdfIcons,D=i?P.textSizeData:P.iconSizeData;d||(d=e.useProgram(I?"symbolSDF":"symbolIcon",z),g=t.evaluateSizeForZoom(D,y.zoom)),v.activeTexture.set(m.TEXTURE0);var R=void 0,F=void 0,B=void 0;if(i)F=C.glyphAtlasTexture,B=m.LINEAR,R=C.glyphAtlasTexture.size;else{var N=1!==n.layout.get("icon-size").constantOr(0)||P.iconsNeedLinear,j=b||0!==y.pitch;F=C.imageAtlasTexture,B=I||e.options.rotating||e.options.zooming||N||j?m.LINEAR:m.NEAREST,R=C.imageAtlasTexture.size}var V=ce(C,1,e.transform.zoom),U=Xt(L.posMatrix,b,x,e.transform,V),q=Zt(L.posMatrix,b,x,e.transform,V);if(_)Qt(P,L.posMatrix,e,i,U,q,b,u);else if(i&&g&&A){var H=Math.pow(2,y.zoom-C.tileID.overscaledZ);Yr(P,x,b,p,t.symbolSize,y,U,L.posMatrix,H,g)}else i&&g&&P.allowVerticalPlacement&&Wr(P);var G=e.translatePosMatrix(L.posMatrix,C,o,s),Y=_||i&&A?Hr:U,W=e.translatePosMatrix(q,C,o,s,!0),X=I&&0!==n.paint.get(i?"text-halo-width":"icon-halo-width").constantOr(1),Z={program:d,buffers:O,uniformValues:I?Fr(D.kind,g,w,b,e,G,Y,W,i,R,!0):Rr(D.kind,g,w,b,e,G,Y,W,i,R),atlasTexture:F,atlasInterpolation:B,isSDF:I,hasHalo:X};if(k)for(var J=0,K=O.segments.get();J<K.length;J+=1){var Q=K[J];M.push({segments:new t.SegmentVector([Q]),sortKey:Q.sortKey,state:Z})}else M.push({segments:O.segments,sortKey:0,state:Z})}}}k&&M.sort(function(t,e){return t.sortKey-e.sortKey});for(var $=0,tt=M;$<tt.length;$+=1){var et=tt[$],rt=et.state;if(rt.atlasTexture.bind(rt.atlasInterpolation,m.CLAMP_TO_EDGE),rt.isSDF){var nt=rt.uniformValues;rt.hasHalo&&(nt.u_is_halo=1,Zr(rt.buffers,et.segments,n,e,rt.program,T,h,f,nt)),nt.u_is_halo=0}Zr(rt.buffers,et.segments,n,e,rt.program,T,h,f,rt.uniformValues)}}function Zr(t,e,r,n,a,i,o,s,l){var c=n.context,u=c.gl;a.draw(c,u.TRIANGLES,i,o,s,Et.disabled,l,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function Jr(t,e,r,n,a,i,o){var s,l,c,u,h,f=t.context.gl,p=r.paint.get("fill-pattern"),d=p&&p.constantOr(1),g=r.getCrossfadeParameters();o?(l=d&&!r.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",s=f.LINES):(l=d?"fillPattern":"fill",s=f.TRIANGLES);for(var v=0,m=n;v<m.length;v+=1){var y=m[v],x=e.getTile(y);if(!d||x.patternsLoaded()){var b=x.getBucket(r);if(b){var _=b.programConfigurations.get(r.id),w=t.useProgram(l,_);d&&(t.context.activeTexture.set(f.TEXTURE0),x.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),_.updatePatternPaintBuffers(g));var k=p.constantOr(null);if(k&&x.imageAtlas){var T=x.imageAtlas.patternPositions[k.to],A=x.imageAtlas.patternPositions[k.from];T&&A&&_.setConstantPatternPositions(T,A)}var M=t.translatePosMatrix(y.posMatrix,x,r.paint.get("fill-translate"),r.paint.get("fill-translate-anchor"));if(o){u=b.indexBuffer2,h=b.segments2;var S=[f.drawingBufferWidth,f.drawingBufferHeight];c="fillOutlinePattern"===l&&d?xr(M,t,g,x,S):yr(M,S)}else u=b.indexBuffer,h=b.segments,c=d?mr(M,t,g,x):vr(M);w.draw(t.context,s,a,t.stencilModeForClipping(y),i,Et.disabled,c,r.id,b.layoutVertexBuffer,u,h,r.paint,t.transform.zoom,_)}}}}function Kr(t,e,r,n,a,i,o){for(var s=t.context,l=s.gl,c=r.paint.get("fill-extrusion-pattern"),u=c.constantOr(1),h=r.getCrossfadeParameters(),f=r.paint.get("fill-extrusion-opacity"),p=0,d=n;p<d.length;p+=1){var g=d[p],v=e.getTile(g),m=v.getBucket(r);if(m){var y=m.programConfigurations.get(r.id),x=t.useProgram(u?"fillExtrusionPattern":"fillExtrusion",y);u&&(t.context.activeTexture.set(l.TEXTURE0),v.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),y.updatePatternPaintBuffers(h));var b=c.constantOr(null);if(b&&v.imageAtlas){var _=v.imageAtlas.patternPositions[b.to],w=v.imageAtlas.patternPositions[b.from];_&&w&&y.setConstantPatternPositions(_,w)}var k=t.translatePosMatrix(g.posMatrix,v,r.paint.get("fill-extrusion-translate"),r.paint.get("fill-extrusion-translate-anchor")),T=r.paint.get("fill-extrusion-vertical-gradient"),A=u?gr(k,t,T,f,g,h,v):dr(k,t,T,f);x.draw(s,s.gl.TRIANGLES,a,i,o,Et.backCCW,A,r.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,r.paint,t.transform.zoom,y)}}}function Qr(t,e,r,n,a,i){var o=t.context,s=o.gl,l=e.fbo;if(l){var c=t.useProgram("hillshade");o.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.colorAttachment.get());var u=Mr(t,e,r);e.maskedBoundsBuffer&&e.maskedIndexBuffer&&e.segments?c.draw(o,s.TRIANGLES,n,a,i,Et.disabled,u,r.id,e.maskedBoundsBuffer,e.maskedIndexBuffer,e.segments):c.draw(o,s.TRIANGLES,n,a,i,Et.disabled,u,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}function $r(e,r,n,a,i,o,s){var l=e.context,c=l.gl;if(r.dem&&r.dem.data){var u=r.dem.dim,h=r.dem.stride,f=r.dem.getPixels();if(l.activeTexture.set(c.TEXTURE1),l.pixelStoreUnpackPremultiplyAlpha.set(!1),r.demTexture=r.demTexture||e.getTileTexture(h),r.demTexture){var p=r.demTexture;p.update(f,{premultiply:!1}),p.bind(c.NEAREST,c.CLAMP_TO_EDGE)}else r.demTexture=new t.Texture(l,f,c.RGBA,{premultiply:!1}),r.demTexture.bind(c.NEAREST,c.CLAMP_TO_EDGE);l.activeTexture.set(c.TEXTURE0);var d=r.fbo;if(!d){var g=new t.Texture(l,{width:u,height:u,data:null},c.RGBA);g.bind(c.LINEAR,c.CLAMP_TO_EDGE),(d=r.fbo=l.createFramebuffer(u,u)).colorAttachment.set(g.texture)}l.bindFramebuffer.set(d.framebuffer),l.viewport.set([0,0,u,u]),e.useProgram("hillshadePrepare").draw(l,c.TRIANGLES,i,o,s,Et.disabled,Sr(r,a),n.id,e.rasterBoundsBuffer,e.quadTriangleIndexBuffer,e.rasterBoundsSegments),r.needsHillshadePrepare=!1}}function tn(e,r,n,a,i){var o=a.paint.get("raster-fade-duration");if(o>0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=i.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}function en(e,r,n){var a=e.context,i=a.gl,o=n.posMatrix,s=e.useProgram("debug"),l=At.disabled,c=Mt.disabled,u=e.colorModeForRenderPass(),h="$debug";s.draw(a,i.LINE_STRIP,l,c,u,Et.disabled,kr(o,t.Color.red),h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);for(var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),g=r.getTile(n).tileSize,v=512/Math.min(g,512),m=function(t,e,r,n){n=n||1;var a,i,o,s,l,c,u,h,f=[];for(a=0,i=t.length;a<i;a++)if(l=rn[t[a]]){for(h=null,o=0,s=l[1].length;o<s;o+=2)-1===l[1][o]&&-1===l[1][o+1]?h=null:(c=e+l[1][o]*n,u=r-l[1][o+1]*n,h&&f.push(h.x,h.y,c,u),h={x:c,y:u});e+=l[0]*n}return f}(n.toString()+" "+d+"kb",50,200*v,5*v),y=new t.StructArrayLayout2i4,x=new t.StructArrayLayout2ui4,b=0;b<m.length;b+=2)y.emplaceBack(m[b],m[b+1]),x.emplaceBack(b,b+1);for(var _=a.createVertexBuffer(y,Fe.members),w=a.createIndexBuffer(x),k=t.SegmentVector.simpleSegment(0,0,y.length/2,y.length/2),T=t.EXTENT/(Math.pow(2,e.transform.zoom-n.overscaledZ)*g*v),A=[],M=-1;M<=1;M++)for(var S=-1;S<=1&&(0!==M||0!==S);S++)A.push([M,S]);for(var E=0;E<A.length;E++){var L=A[E];s.draw(a,i.LINES,l,c,u,Et.disabled,kr(t.translate([],o,[T*L[0],T*L[1],0]),t.Color.white),h,_,w,k)}s.draw(a,i.LINES,l,c,u,Et.disabled,kr(o,t.Color.black),h,_,w,k)}var rn={" ":[16,[]],"!":[10,[5,21,5,7,-1,-1,5,2,4,1,5,0,6,1,5,2]],'"':[16,[4,21,4,14,-1,-1,12,21,12,14]],"#":[21,[11,25,4,-7,-1,-1,17,25,10,-7,-1,-1,4,12,18,12,-1,-1,3,6,17,6]],$:[20,[8,25,8,-4,-1,-1,12,25,12,-4,-1,-1,17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],"%":[24,[21,21,3,0,-1,-1,8,21,10,19,10,17,9,15,7,14,5,14,3,16,3,18,4,20,6,21,8,21,10,20,13,19,16,19,19,20,21,21,-1,-1,17,7,15,6,14,4,14,2,16,0,18,0,20,1,21,3,21,5,19,7,17,7]],"&":[26,[23,12,23,13,22,14,21,14,20,13,19,11,17,6,15,3,13,1,11,0,7,0,5,1,4,2,3,4,3,6,4,8,5,9,12,13,13,14,14,16,14,18,13,20,11,21,9,20,8,18,8,16,9,13,11,10,16,3,18,1,20,0,22,0,23,1,23,2]],"'":[10,[5,19,4,20,5,21,6,20,6,18,5,16,4,15]],"(":[14,[11,25,9,23,7,20,5,16,4,11,4,7,5,2,7,-2,9,-5,11,-7]],")":[14,[3,25,5,23,7,20,9,16,10,11,10,7,9,2,7,-2,5,-5,3,-7]],"*":[16,[8,21,8,9,-1,-1,3,18,13,12,-1,-1,13,18,3,12]],"+":[26,[13,18,13,0,-1,-1,4,9,22,9]],",":[10,[6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"-":[26,[4,9,22,9]],".":[10,[5,2,4,1,5,0,6,1,5,2]],"/":[22,[20,25,2,-7]],0:[20,[9,21,6,20,4,17,3,12,3,9,4,4,6,1,9,0,11,0,14,1,16,4,17,9,17,12,16,17,14,20,11,21,9,21]],1:[20,[6,17,8,18,11,21,11,0]],2:[20,[4,16,4,17,5,19,6,20,8,21,12,21,14,20,15,19,16,17,16,15,15,13,13,10,3,0,17,0]],3:[20,[5,21,16,21,10,13,13,13,15,12,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],4:[20,[13,21,3,7,18,7,-1,-1,13,21,13,0]],5:[20,[15,21,5,21,4,12,5,13,8,14,11,14,14,13,16,11,17,8,17,6,16,3,14,1,11,0,8,0,5,1,4,2,3,4]],6:[20,[16,18,15,20,12,21,10,21,7,20,5,17,4,12,4,7,5,3,7,1,10,0,11,0,14,1,16,3,17,6,17,7,16,10,14,12,11,13,10,13,7,12,5,10,4,7]],7:[20,[17,21,7,0,-1,-1,3,21,17,21]],8:[20,[8,21,5,20,4,18,4,16,5,14,7,13,11,12,14,11,16,9,17,7,17,4,16,2,15,1,12,0,8,0,5,1,4,2,3,4,3,7,4,9,6,11,9,12,13,13,15,14,16,16,16,18,15,20,12,21,8,21]],9:[20,[16,14,15,11,13,9,10,8,9,8,6,9,4,11,3,14,3,15,4,18,6,20,9,21,10,21,13,20,15,18,16,14,16,9,15,4,13,1,10,0,8,0,5,1,4,3]],":":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,5,2,4,1,5,0,6,1,5,2]],";":[10,[5,14,4,13,5,12,6,13,5,14,-1,-1,6,1,5,0,4,1,5,2,6,1,6,-1,5,-3,4,-4]],"<":[24,[20,18,4,9,20,0]],"=":[26,[4,12,22,12,-1,-1,4,6,22,6]],">":[24,[4,18,20,9,4,0]],"?":[18,[3,16,3,17,4,19,5,20,7,21,11,21,13,20,14,19,15,17,15,15,14,13,13,12,9,10,9,7,-1,-1,9,2,8,1,9,0,10,1,9,2]],"@":[27,[18,13,17,15,15,16,12,16,10,15,9,14,8,11,8,8,9,6,11,5,14,5,16,6,17,8,-1,-1,12,16,10,14,9,11,9,8,10,6,11,5,-1,-1,18,16,17,8,17,6,19,5,21,5,23,7,24,10,24,12,23,15,22,17,20,19,18,20,15,21,12,21,9,20,7,19,5,17,4,15,3,12,3,9,4,6,5,4,7,2,9,1,12,0,15,0,18,1,20,2,21,3,-1,-1,19,16,18,8,18,6,19,5]],A:[18,[9,21,1,0,-1,-1,9,21,17,0,-1,-1,4,7,14,7]],B:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,-1,-1,4,11,13,11,16,10,17,9,18,7,18,4,17,2,16,1,13,0,4,0]],C:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5]],D:[21,[4,21,4,0,-1,-1,4,21,11,21,14,20,16,18,17,16,18,13,18,8,17,5,16,3,14,1,11,0,4,0]],E:[19,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11,-1,-1,4,0,17,0]],F:[18,[4,21,4,0,-1,-1,4,21,17,21,-1,-1,4,11,12,11]],G:[21,[18,16,17,18,15,20,13,21,9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,18,8,-1,-1,13,8,18,8]],H:[22,[4,21,4,0,-1,-1,18,21,18,0,-1,-1,4,11,18,11]],I:[8,[4,21,4,0]],J:[16,[12,21,12,5,11,2,10,1,8,0,6,0,4,1,3,2,2,5,2,7]],K:[21,[4,21,4,0,-1,-1,18,21,4,7,-1,-1,9,12,18,0]],L:[17,[4,21,4,0,-1,-1,4,0,16,0]],M:[24,[4,21,4,0,-1,-1,4,21,12,0,-1,-1,20,21,12,0,-1,-1,20,21,20,0]],N:[22,[4,21,4,0,-1,-1,4,21,18,0,-1,-1,18,21,18,0]],O:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21]],P:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,14,17,12,16,11,13,10,4,10]],Q:[22,[9,21,7,20,5,18,4,16,3,13,3,8,4,5,5,3,7,1,9,0,13,0,15,1,17,3,18,5,19,8,19,13,18,16,17,18,15,20,13,21,9,21,-1,-1,12,4,18,-2]],R:[21,[4,21,4,0,-1,-1,4,21,13,21,16,20,17,19,18,17,18,15,17,13,16,12,13,11,4,11,-1,-1,11,11,18,0]],S:[20,[17,18,15,20,12,21,8,21,5,20,3,18,3,16,4,14,5,13,7,12,13,10,15,9,16,8,17,6,17,3,15,1,12,0,8,0,5,1,3,3]],T:[16,[8,21,8,0,-1,-1,1,21,15,21]],U:[22,[4,21,4,6,5,3,7,1,10,0,12,0,15,1,17,3,18,6,18,21]],V:[18,[1,21,9,0,-1,-1,17,21,9,0]],W:[24,[2,21,7,0,-1,-1,12,21,7,0,-1,-1,12,21,17,0,-1,-1,22,21,17,0]],X:[20,[3,21,17,0,-1,-1,17,21,3,0]],Y:[18,[1,21,9,11,9,0,-1,-1,17,21,9,11]],Z:[20,[17,21,3,0,-1,-1,3,21,17,21,-1,-1,3,0,17,0]],"[":[14,[4,25,4,-7,-1,-1,5,25,5,-7,-1,-1,4,25,11,25,-1,-1,4,-7,11,-7]],"\\":[14,[0,21,14,-3]],"]":[14,[9,25,9,-7,-1,-1,10,25,10,-7,-1,-1,3,25,10,25,-1,-1,3,-7,10,-7]],"^":[16,[6,15,8,18,10,15,-1,-1,3,12,8,17,13,12,-1,-1,8,17,8,0]],_:[16,[0,-2,16,-2]],"`":[10,[6,21,5,20,4,18,4,16,5,15,6,16,5,17]],a:[19,[15,14,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],b:[19,[4,21,4,0,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],c:[18,[15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],d:[19,[15,21,15,0,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],e:[18,[3,8,15,8,15,10,14,12,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],f:[12,[10,21,8,21,6,20,5,17,5,0,-1,-1,2,14,9,14]],g:[19,[15,14,15,-2,14,-5,13,-6,11,-7,8,-7,6,-6,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],h:[19,[4,21,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],i:[8,[3,21,4,20,5,21,4,22,3,21,-1,-1,4,14,4,0]],j:[10,[5,21,6,20,7,21,6,22,5,21,-1,-1,6,14,6,-3,5,-6,3,-7,1,-7]],k:[17,[4,21,4,0,-1,-1,14,14,4,4,-1,-1,8,8,15,0]],l:[8,[4,21,4,0]],m:[30,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0,-1,-1,15,10,18,13,20,14,23,14,25,13,26,10,26,0]],n:[19,[4,14,4,0,-1,-1,4,10,7,13,9,14,12,14,14,13,15,10,15,0]],o:[19,[8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3,16,6,16,8,15,11,13,13,11,14,8,14]],p:[19,[4,14,4,-7,-1,-1,4,11,6,13,8,14,11,14,13,13,15,11,16,8,16,6,15,3,13,1,11,0,8,0,6,1,4,3]],q:[19,[15,14,15,-7,-1,-1,15,11,13,13,11,14,8,14,6,13,4,11,3,8,3,6,4,3,6,1,8,0,11,0,13,1,15,3]],r:[13,[4,14,4,0,-1,-1,4,8,5,11,7,13,9,14,12,14]],s:[17,[14,11,13,13,10,14,7,14,4,13,3,11,4,9,6,8,11,7,13,6,14,4,14,3,13,1,10,0,7,0,4,1,3,3]],t:[12,[5,21,5,4,6,1,8,0,10,0,-1,-1,2,14,9,14]],u:[19,[4,14,4,4,5,1,7,0,10,0,12,1,15,4,-1,-1,15,14,15,0]],v:[16,[2,14,8,0,-1,-1,14,14,8,0]],w:[22,[3,14,7,0,-1,-1,11,14,7,0,-1,-1,11,14,15,0,-1,-1,19,14,15,0]],x:[17,[3,14,14,0,-1,-1,14,14,3,0]],y:[16,[2,14,8,0,-1,-1,14,14,8,0,6,-4,4,-6,2,-7,1,-7]],z:[17,[14,14,3,0,-1,-1,3,14,14,14,-1,-1,3,0,14,0]],"{":[14,[9,25,7,24,6,23,5,21,5,19,6,17,7,16,8,14,8,12,6,10,-1,-1,7,24,6,22,6,20,7,18,8,17,9,15,9,13,8,11,4,9,8,7,9,5,9,3,8,1,7,0,6,-2,6,-4,7,-6,-1,-1,6,8,8,6,8,4,7,2,6,1,5,-1,5,-3,6,-5,7,-6,9,-7]],"|":[8,[4,25,4,-7]],"}":[14,[5,25,7,24,8,23,9,21,9,19,8,17,7,16,6,14,6,12,8,10,-1,-1,7,24,8,22,8,20,7,18,6,17,5,15,5,13,6,11,10,9,6,7,5,5,5,3,6,1,7,0,8,-2,8,-4,7,-6,-1,-1,8,8,6,6,6,4,7,2,8,1,9,-1,9,-3,8,-5,7,-6,5,-7]],"~":[24,[3,6,3,8,4,11,6,12,8,12,10,11,14,8,16,7,18,7,20,8,21,10,-1,-1,3,8,4,10,6,11,8,11,10,10,14,7,16,6,18,6,20,7,21,10,21,12]]},nn={symbol:function(t,e,r,n,a){if("translucent"===t.renderPass){var i=Mt.disabled,o=t.colorModeForRenderPass();0!==r.paint.get("icon-opacity").constantOr(1)&&Xr(t,e,r,n,!1,r.paint.get("icon-translate"),r.paint.get("icon-translate-anchor"),r.layout.get("icon-rotation-alignment"),r.layout.get("icon-pitch-alignment"),r.layout.get("icon-keep-upright"),i,o,a),0!==r.paint.get("text-opacity").constantOr(1)&&Xr(t,e,r,n,!0,r.paint.get("text-translate"),r.paint.get("text-translate-anchor"),r.layout.get("text-rotation-alignment"),r.layout.get("text-pitch-alignment"),r.layout.get("text-keep-upright"),i,o,a),e.map.showCollisionBoxes&&function(t,e,r,n){qr(t,e,r,n,!1),qr(t,e,r,n,!0)}(t,e,r,n)}},circle:function(e,r,n,a){if("translucent"===e.renderPass){var i=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=void 0!==n.layout.get("circle-sort-key").constantOr(1);if(0!==i.constantOr(1)||0!==o.constantOr(1)&&0!==s.constantOr(1)){for(var c=e.context,u=c.gl,h=e.depthModeForSublayer(0,At.ReadOnly),f=Mt.disabled,p=e.colorModeForRenderPass(),d=[],g=0;g<a.length;g++){var v=a[g],m=r.getTile(v),y=m.getBucket(n);if(y){var x=y.programConfigurations.get(n.id),b={programConfiguration:x,program:e.useProgram("circle",x),layoutVertexBuffer:y.layoutVertexBuffer,indexBuffer:y.indexBuffer,uniformValues:br(e,v,m,n)};if(l)for(var _=0,w=y.segments.get();_<w.length;_+=1){var k=w[_];d.push({segments:new t.SegmentVector([k]),sortKey:k.sortKey,state:b})}else d.push({segments:y.segments,sortKey:0,state:b})}}l&&d.sort(function(t,e){return t.sortKey-e.sortKey});for(var T=0,A=d;T<A.length;T+=1){var M=A[T],S=M.state,E=S.programConfiguration,L=S.program,C=S.layoutVertexBuffer,P=S.indexBuffer,O=S.uniformValues,z=M.segments;L.draw(c,u.TRIANGLES,h,f,p,Et.disabled,O,n.id,C,P,z,n.paint,e.transform.zoom,E)}}}},heatmap:function(e,r,n,a){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===e.renderPass){var i=e.context,o=i.gl,s=e.depthModeForSublayer(0,At.ReadOnly),l=Mt.disabled,c=new St([o.ONE,o.ONE],t.Color.transparent,[!0,!0,!0,!0]);!function(t,e,r){var n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);var a=r.heatmapFbo;if(a)n.bindTexture(n.TEXTURE_2D,a.colorAttachment.get()),t.bindFramebuffer.set(a.framebuffer);else{var i=n.createTexture();n.bindTexture(n.TEXTURE_2D,i),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),a=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4),function t(e,r,n,a){var i=e.gl;i.texImage2D(i.TEXTURE_2D,0,i.RGBA,r.width/4,r.height/4,0,i.RGBA,e.extTextureHalfFloat?e.extTextureHalfFloat.HALF_FLOAT_OES:i.UNSIGNED_BYTE,null),a.colorAttachment.set(n),e.extTextureHalfFloat&&i.checkFramebufferStatus(i.FRAMEBUFFER)!==i.FRAMEBUFFER_COMPLETE&&(e.extTextureHalfFloat=null,a.colorAttachment.setDirty(),t(e,r,n,a))}(t,e,i,a)}}(i,e,n),i.clear({color:t.Color.transparent});for(var u=0;u<a.length;u++){var h=a[u];if(!r.hasRenderableParent(h)){var f=r.getTile(h),p=f.getBucket(n);if(p){var d=p.programConfigurations.get(n.id),g=e.useProgram("heatmap",d),v=e.transform.zoom;g.draw(i,o.TRIANGLES,s,l,c,Et.disabled,Ar(h.posMatrix,f,v,n.paint.get("heatmap-intensity")),n.id,p.layoutVertexBuffer,p.indexBuffer,p.segments,n.paint,e.transform.zoom,d)}}}i.viewport.set([0,0,e.width,e.height])}else"translucent"===e.renderPass&&(e.context.setColorMode(e.colorModeForRenderPass()),function(e,r){var n=e.context,a=n.gl,i=r.heatmapFbo;if(i){n.activeTexture.set(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,i.colorAttachment.get()),n.activeTexture.set(a.TEXTURE1);var o=r.colorRampTexture;o||(o=r.colorRampTexture=new t.Texture(n,r.colorRamp,a.RGBA)),o.bind(a.LINEAR,a.CLAMP_TO_EDGE),e.useProgram("heatmapTexture").draw(n,a.TRIANGLES,At.disabled,Mt.disabled,e.colorModeForRenderPass(),Et.disabled,function(e,r,n,a){var i=t.create();t.ortho(i,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:i,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:a,u_opacity:r.paint.get("heatmap-opacity")}}(e,r,0,1),r.id,e.viewportBuffer,e.quadTriangleIndexBuffer,e.viewportSegments,r.paint,e.transform.zoom)}}(e,n))},line:function(e,r,n,a){if("translucent"===e.renderPass){var i=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0!==i.constantOr(1)&&0!==o.constantOr(1)){var s=e.depthModeForSublayer(0,At.ReadOnly),l=e.colorModeForRenderPass(),c=n.paint.get("line-dasharray"),u=n.paint.get("line-pattern"),h=u.constantOr(1),f=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=c?"lineSDF":h?"linePattern":f?"lineGradient":"line",g=e.context,v=g.gl,m=!0;if(f){g.activeTexture.set(v.TEXTURE0);var y=n.gradientTexture;if(!n.gradient)return;y||(y=n.gradientTexture=new t.Texture(g,n.gradient,v.RGBA)),y.bind(v.LINEAR,v.CLAMP_TO_EDGE)}for(var x=0,b=a;x<b.length;x+=1){var _=b[x],w=r.getTile(_);if(!h||w.patternsLoaded()){var k=w.getBucket(n);if(k){var T=k.programConfigurations.get(n.id),A=e.context.program.get(),M=e.useProgram(d,T),S=m||M.program!==A,E=u.constantOr(null);if(E&&w.imageAtlas){var L=w.imageAtlas.patternPositions[E.to],C=w.imageAtlas.patternPositions[E.from];L&&C&&T.setConstantPatternPositions(L,C)}var P=c?Or(e,w,n,c,p):h?Pr(e,w,n,p):f?Cr(e,w,n):Lr(e,w,n);c&&(S||e.lineAtlas.dirty)?(g.activeTexture.set(v.TEXTURE0),e.lineAtlas.bind(g)):h&&(g.activeTexture.set(v.TEXTURE0),w.imageAtlasTexture.bind(v.LINEAR,v.CLAMP_TO_EDGE),T.updatePatternPaintBuffers(p)),M.draw(g,v.TRIANGLES,s,e.stencilModeForClipping(_),l,Et.disabled,P,n.id,k.layoutVertexBuffer,k.indexBuffer,k.segments,n.paint,e.transform.zoom,T),m=!1}}}}}},fill:function(e,r,n,a){var i=n.paint.get("fill-color"),o=n.paint.get("fill-opacity");if(0!==o.constantOr(1)){var s=e.colorModeForRenderPass(),l=n.paint.get("fill-pattern"),c=e.opaquePassEnabledForLayer()&&!l.constantOr(1)&&1===i.constantOr(t.Color.transparent).a&&1===o.constantOr(0)?"opaque":"translucent";if(e.renderPass===c){var u=e.depthModeForSublayer(1,"opaque"===e.renderPass?At.ReadWrite:At.ReadOnly);Jr(e,r,n,a,u,s,!1)}if("translucent"===e.renderPass&&n.paint.get("fill-antialias")){var h=e.depthModeForSublayer(n.getPaintProperty("fill-outline-color")?2:0,At.ReadOnly);Jr(e,r,n,a,h,s,!0)}}},"fill-extrusion":function(t,e,r,n){var a=r.paint.get("fill-extrusion-opacity");if(0!==a&&"translucent"===t.renderPass){var i=new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D);if(1!==a||r.paint.get("fill-extrusion-pattern").constantOr(1))Kr(t,e,r,n,i,Mt.disabled,St.disabled),Kr(t,e,r,n,i,t.stencilModeFor3D(),t.colorModeForRenderPass());else{var o=t.colorModeForRenderPass();Kr(t,e,r,n,i,Mt.disabled,o)}}},hillshade:function(t,e,r,n){if("offscreen"===t.renderPass||"translucent"===t.renderPass){for(var a=t.context,i=e.getSource().maxzoom,o=t.depthModeForSublayer(0,At.ReadOnly),s=Mt.disabled,l=t.colorModeForRenderPass(),c=0,u=n;c<u.length;c+=1){var h=u[c],f=e.getTile(h);f.needsHillshadePrepare&&"offscreen"===t.renderPass?$r(t,f,r,i,o,s,l):"translucent"===t.renderPass&&Qr(t,f,r,o,s,l)}a.viewport.set([0,0,t.width,t.height])}},raster:function(t,e,r,n){if("translucent"===t.renderPass&&0!==r.paint.get("raster-opacity"))for(var a=t.context,i=a.gl,o=e.getSource(),s=t.useProgram("raster"),l=Mt.disabled,c=t.colorModeForRenderPass(),u=n.length&&n[0].overscaledZ,h=!t.options.moving,f=0,p=n;f<p.length;f+=1){var d=p[f],g=t.depthModeForSublayer(d.overscaledZ-u,1===r.paint.get("raster-opacity")?At.ReadWrite:At.ReadOnly,i.LESS),v=e.getTile(d),m=t.transform.calculatePosMatrix(d.toUnwrapped(),h);v.registerFadeDuration(r.paint.get("raster-fade-duration"));var y=e.findLoadedParent(d,0),x=tn(v,y,e,r,t.transform),b=void 0,_=void 0,w="nearest"===r.paint.get("raster-resampling")?i.NEAREST:i.LINEAR;a.activeTexture.set(i.TEXTURE0),v.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),a.activeTexture.set(i.TEXTURE1),y?(y.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST),b=Math.pow(2,y.tileID.overscaledZ-v.tileID.overscaledZ),_=[v.tileID.canonical.x*b%1,v.tileID.canonical.y*b%1]):v.texture.bind(w,i.CLAMP_TO_EDGE,i.LINEAR_MIPMAP_NEAREST);var k=Dr(m,_||[0,0],b||1,x,r);o instanceof P?s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):v.maskedBoundsBuffer&&v.maskedIndexBuffer&&v.segments?s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,v.maskedBoundsBuffer,v.maskedIndexBuffer,v.segments,r.paint,t.transform.zoom):s.draw(a,i.TRIANGLES,g,l,c,Et.disabled,k,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}},background:function(t,e,r){var n=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0!==a){var i=t.context,o=i.gl,s=t.transform,l=s.tileSize,c=r.paint.get("background-pattern");if(!t.isPatternMissing(c)){var u=!c&&1===n.a&&1===a&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass===u){var h=Mt.disabled,f=t.depthModeForSublayer(0,"opaque"===u?At.ReadWrite:At.ReadOnly),p=t.colorModeForRenderPass(),d=t.useProgram(c?"backgroundPattern":"background"),g=s.coveringTiles({tileSize:l});c&&(i.activeTexture.set(o.TEXTURE0),t.imageManager.bind(t.context));for(var v=r.getCrossfadeParameters(),m=0,y=g;m<y.length;m+=1){var x=y[m],b=t.transform.calculatePosMatrix(x.toUnwrapped()),_=c?Nr(b,a,t,c,{tileID:x,tileSize:l},v):Br(b,a,n);d.draw(i,o.TRIANGLES,f,h,p,Et.disabled,_,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}}}},debug:function(t,e,r){for(var n=0;n<r.length;n++)en(t,e,r[n])},custom:function(t,e,r){var n=t.context,a=r.implementation;if("offscreen"===t.renderPass){var i=a.prerender;i&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),i.call(a,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Mt.disabled);var o="3d"===a.renderingMode?new At(t.context.gl.LEQUAL,At.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,At.ReadOnly);n.setDepthMode(o),a.render(n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}},an=function(e,r){this.context=new Lt(e),this.transform=r,this._tileTextures={},this.setup(),this.numSublayers=Ct.maxUnderzooming+Ct.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.depthRboNeedsClear=!0,this.emptyProgramConfiguration=new t.ProgramConfiguration,this.crossTileSymbolIndex=new Oe};function on(t,e){if(t.y>e.y){var r=t;t=e,e=r}return{x0:t.x,y0:t.y,x1:e.x,y1:e.y,dx:e.x-t.x,dy:e.y-t.y}}function sn(t,e,r,n,a){var i=Math.max(r,Math.floor(e.y0)),o=Math.min(n,Math.ceil(e.y1));if(t.x0===e.x0&&t.y0===e.y0?t.x0+e.dy/t.dy*t.dx<e.x1:t.x1-e.dy/t.dy*t.dx<e.x0){var s=t;t=e,e=s}for(var l=t.dx/t.dy,c=e.dx/e.dy,u=t.dx>0,h=e.dx<0,f=i;f<o;f++){var p=l*Math.max(0,Math.min(t.dy,f+u-t.y0))+t.x0,d=c*Math.max(0,Math.min(e.dy,f+h-e.y0))+e.x0;a(Math.floor(d),Math.ceil(p),f)}}function ln(t,e,r,n,a,i){var o,s=on(t,e),l=on(e,r),c=on(r,t);s.dy>l.dy&&(o=s,s=l,l=o),s.dy>c.dy&&(o=s,s=c,c=o),l.dy>c.dy&&(o=l,l=c,c=o),s.dy&&sn(c,s,n,a,i),l.dy&&sn(c,l,n,a,i)}an.prototype.resize=function(e,r){var n=this.context.gl;if(this.width=e*t.browser.devicePixelRatio,this.height=r*t.browser.devicePixelRatio,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(var a=0,i=this.style._order;a<i.length;a+=1){var o=i[a];this.style._layers[o].resize()}this.depthRbo&&(n.deleteRenderbuffer(this.depthRbo),this.depthRbo=null)},an.prototype.setup=function(){var e=this.context,r=new t.StructArrayLayout2i4;r.emplaceBack(0,0),r.emplaceBack(t.EXTENT,0),r.emplaceBack(0,t.EXTENT),r.emplaceBack(t.EXTENT,t.EXTENT),this.tileExtentBuffer=e.createVertexBuffer(r,Fe.members),this.tileExtentSegments=t.SegmentVector.simpleSegment(0,0,4,2);var n=new t.StructArrayLayout2i4;n.emplaceBack(0,0),n.emplaceBack(t.EXTENT,0),n.emplaceBack(0,t.EXTENT),n.emplaceBack(t.EXTENT,t.EXTENT),this.debugBuffer=e.createVertexBuffer(n,Fe.members),this.debugSegments=t.SegmentVector.simpleSegment(0,0,4,5);var a=new t.StructArrayLayout4i8;a.emplaceBack(0,0,0,0),a.emplaceBack(t.EXTENT,0,t.EXTENT,0),a.emplaceBack(0,t.EXTENT,0,t.EXTENT),a.emplaceBack(t.EXTENT,t.EXTENT,t.EXTENT,t.EXTENT),this.rasterBoundsBuffer=e.createVertexBuffer(a,t.rasterBoundsAttributes.members),this.rasterBoundsSegments=t.SegmentVector.simpleSegment(0,0,4,2);var i=new t.StructArrayLayout2i4;i.emplaceBack(0,0),i.emplaceBack(1,0),i.emplaceBack(0,1),i.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(i,Fe.members),this.viewportSegments=t.SegmentVector.simpleSegment(0,0,4,2);var o=new t.StructArrayLayout1ui2;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(o);var s=new t.StructArrayLayout3ui6;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(s);var l=this.context.gl;this.stencilClearMode=new Mt({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)},an.prototype.clearStencil=function(){var e=this.context,r=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;var n=t.create();t.ortho(n,0,this.width,this.height,0,0,1),t.scale(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,r.TRIANGLES,At.disabled,this.stencilClearMode,St.disabled,Et.disabled,Tr(n),"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)},an.prototype._renderTileClippingMasks=function(t,e){if(this.currentStencilSource!==t.source&&t.isTileClipped()&&e&&e.length){this.currentStencilSource=t.source;var r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(St.disabled),r.setDepthMode(At.disabled);var a=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var i=0,o=e;i<o.length;i+=1){var s=o[i],l=this._tileClippingMaskIDs[s.key]=this.nextStencilID++;a.draw(r,n.TRIANGLES,At.disabled,new Mt({func:n.ALWAYS,mask:0},l,255,n.KEEP,n.KEEP,n.REPLACE),St.disabled,Et.disabled,Tr(s.posMatrix),"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}},an.prototype.stencilModeFor3D=function(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Mt({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Mt({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},an.prototype.colorModeForRenderPass=function(){var e=this.context.gl;return this._showOverdrawInspector?new St([e.CONSTANT_COLOR,e.ONE],new t.Color(1/8,1/8,1/8,0),[!0,!0,!0,!0]):"opaque"===this.renderPass?St.unblended:St.alphaBlended},an.prototype.depthModeForSublayer=function(t,e,r){if(!this.opaquePassEnabledForLayer())return At.disabled;var n=1-((1+this.currentLayer)*this.numSublayers+t)*this.depthEpsilon;return new At(r||this.context.gl.LEQUAL,e,[n,n])},an.prototype.opaquePassEnabledForLayer=function(){return this.currentLayer<this.opaquePassCutoff},an.prototype.render=function(e,r){this.style=e,this.options=r,this.lineAtlas=e.lineAtlas,this.imageManager=e.imageManager,this.glyphManager=e.glyphManager,this.symbolFadeChange=e.placement.symbolFadeChange(t.browser.now()),this.imageManager.beginFrame();var n=this.style._order,a=this.style.sourceCaches;for(var i in a){var o=a[i];o.used&&o.prepare(this.context)}var s={},l={},c={};for(var u in a){var h=a[u];s[u]=h.getVisibleCoordinates(),l[u]=s[u].slice().reverse(),c[u]=h.getVisibleCoordinates(!0).reverse()}for(var f in a){var p=a[f],d=p.getSource();if("raster"===d.type||"raster-dem"===d.type){for(var g=[],v=0,m=s[f];v<m.length;v+=1){var y=m[v];g.push(p.getTile(y))}Vr(g,this.context)}}this.opaquePassCutoff=1/0;for(var x=0;x<n.length;x++){var b=n[x];if(this.style._layers[b].is3D()){this.opaquePassCutoff=x;break}}this.renderPass="offscreen",this.depthRboNeedsClear=!0;for(var _=0,w=n;_<w.length;_+=1){var k=w[_],T=this.style._layers[k];if(T.hasOffscreenPass()&&!T.isHidden(this.transform.zoom)){var A=l[T.source];("custom"===T.type||A.length)&&this.renderLayer(this,a[T.source],T,A)}}for(this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?t.Color.black:t.Color.transparent,depth:1}),this.clearStencil(),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],this.renderPass="opaque",this.currentLayer=n.length-1;this.currentLayer>=0;this.currentLayer--){var M=this.style._layers[n[this.currentLayer]],S=a[M.source],E=s[M.source];this._renderTileClippingMasks(M,E),this.renderLayer(this,S,M,E)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer<n.length;this.currentLayer++){var L=this.style._layers[n[this.currentLayer]],C=a[L.source],P=("symbol"===L.type?c:l)[L.source];this._renderTileClippingMasks(L,s[L.source]),this.renderLayer(this,C,L,P)}if(this.options.showTileBoundaries)for(var O in a){nn.debug(this,a[O],s[O]);break}this.context.setDefault()},an.prototype.setupOffscreenDepthRenderbuffer=function(){var t=this.context;this.depthRbo||(this.depthRbo=t.createRenderbuffer(t.gl.DEPTH_COMPONENT16,this.width,this.height))},an.prototype.renderLayer=function(t,e,r,n){r.isHidden(this.transform.zoom)||("background"===r.type||"custom"===r.type||n.length)&&(this.id=r.id,nn[r.type](t,e,r,n,this.style.placement.variableOffsets))},an.prototype.translatePosMatrix=function(e,r,n,a,i){if(!n[0]&&!n[1])return e;var o=i?"map"===a?this.transform.angle:0:"viewport"===a?-this.transform.angle:0;if(o){var s=Math.sin(o),l=Math.cos(o);n=[n[0]*l-n[1]*s,n[0]*s+n[1]*l]}var c=[i?n[0]:ce(r,n[0],this.transform.zoom),i?n[1]:ce(r,n[1],this.transform.zoom),0],u=new Float32Array(16);return t.translate(u,e,c),u},an.prototype.saveTileTexture=function(t){var e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]},an.prototype.getTileTexture=function(t){var e=this._tileTextures[t];return e&&e.length>0?e.pop():null},an.prototype.isPatternMissing=function(t){if(!t)return!1;var e=this.imageManager.getPattern(t.from),r=this.imageManager.getPattern(t.to);return!e||!r},an.prototype.useProgram=function(t,e){void 0===e&&(e=this.emptyProgramConfiguration),this.cache=this.cache||{};var r=""+t+(e.cacheKey||"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new fr(this.context,ur[t],e,jr[t],this._showOverdrawInspector)),this.cache[r]},an.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},an.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)};var cn=function(e,r,n){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===n||n,this._minZoom=e||0,this._maxZoom=r||22,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._posMatrixCache={},this._alignedPosMatrixCache={}},un={minZoom:{configurable:!0},maxZoom:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerPoint:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};cn.prototype.clone=function(){var t=new cn(this._minZoom,this._maxZoom,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._calcMatrices(),t},un.minZoom.get=function(){return this._minZoom},un.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},un.maxZoom.get=function(){return this._maxZoom},un.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},un.renderWorldCopies.get=function(){return this._renderWorldCopies},un.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},un.worldSize.get=function(){return this.tileSize*this.scale},un.centerPoint.get=function(){return this.size._div(2)},un.size.get=function(){return new t.Point(this.width,this.height)},un.bearing.get=function(){return-this.angle/Math.PI*180},un.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},un.pitch.get=function(){return this._pitch/Math.PI*180},un.pitch.set=function(e){var r=t.clamp(e,0,60)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},un.fov.get=function(){return this._fov/Math.PI*180},un.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},un.zoom.get=function(){return this._zoom},un.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},un.center.get=function(){return this._center},un.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},cn.prototype.coveringZoomLevel=function(t){return(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize))},cn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),a=this.pointCoordinate(new t.Point(this.width,0)),i=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,a.x,i.x,o.x)),l=Math.floor(Math.max(n.x,a.x,i.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},cn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&r<e.minzoom)return[];void 0!==e.maxzoom&&r>e.maxzoom&&(r=e.maxzoom);var a=t.MercatorCoordinate.fromLngLat(this.center),i=Math.pow(2,r),o=new t.Point(i*a.x-.5,i*a.y-.5);return function(e,r,n,a){void 0===a&&(a=!0);var i=1<<e,o={};function s(r,s,l){var c,u,h,f;if(l>=0&&l<=i)for(c=r;c<s;c++)u=Math.floor(c/i),h=(c%i+i)%i,0!==u&&!0!==a||(f=new t.OverscaledTileID(n,u,e,h,l),o[f.key]=f)}var l=r.map(function(e){return new t.Point(e.x,e.y)._mult(i)});return ln(l[0],l[1],l[2],0,i,s),ln(l[2],l[3],l[0],0,i,s),Object.keys(o).map(function(t){return o[t]})}(r,[this.pointCoordinate(new t.Point(0,0)),this.pointCoordinate(new t.Point(this.width,0)),this.pointCoordinate(new t.Point(this.width,this.height)),this.pointCoordinate(new t.Point(0,this.height))],e.reparseOverscaled?n:r,this._renderWorldCopies).sort(function(t,e){return o.dist(t.canonical)-o.dist(e.canonical)})},cn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},un.unmodified.get=function(){return this._unmodified},cn.prototype.zoomScale=function(t){return Math.pow(2,t)},cn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},cn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},cn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},un.point.get=function(){return this.project(this.center)},cn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),a=this.pointCoordinate(this.centerPoint),i=this.locationCoordinate(e),o=new t.MercatorCoordinate(i.x-(n.x-a.x),i.y-(n.y-a.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},cn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},cn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},cn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},cn.prototype.coordinateLocation=function(t){return t.toLngLat()},cn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var a=r[3],i=n[3],o=r[0]/a,s=n[0]/i,l=r[1]/a,c=n[1]/i,u=r[2]/a,h=n[2]/i,f=u===h?0:(0-u)/(h-u);return new t.MercatorCoordinate(t.number(o,s,f)/this.worldSize,t.number(l,c,f)/this.worldSize)},cn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},cn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},cn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},cn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},cn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,a=r?this._alignedPosMatrixCache:this._posMatrixCache;if(a[n])return a[n];var i=e.canonical,o=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,i.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),a[n]=new Float32Array(l),a[n]},cn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},cn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,a,i=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;i=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-i<c.y?c.y/(o-i):0}if(this.lngRange){var f=this.lngRange;s=t.mercatorXfromLng(f[0])*this.worldSize,r=(l=t.mercatorXfromLng(f[1])*this.worldSize)-s<c.x?c.x/(l-s):0}var p=this.point,d=Math.max(r||0,e||0);if(d)return this.center=this.unproject(new t.Point(r?(l+s)/2:p.x,e?(o+i)/2:p.y)),this.zoom+=this.scaleZoom(d),this._unmodified=u,void(this._constraining=!1);if(this.latRange){var g=p.y,v=c.y/2;g-v<i&&(a=i+v),g+v>o&&(a=o-v)}if(this.lngRange){var m=p.x,y=c.x/2;m-y<s&&(n=s+y),m+y>l&&(n=l-y)}void 0===n&&void 0===a||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==a?a:p.y))),this._unmodified=u,this._constraining=!1}},cn.prototype._calcMatrices=function(){if(this.height){this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height;var e=this._fov/2,r=Math.PI/2+this._pitch,n=Math.sin(e)*this.cameraToCenterDistance/Math.sin(Math.PI-r-e),a=this.point,i=a.x,o=a.y,s=1.01*(Math.cos(Math.PI/2-this._pitch)*n+this.cameraToCenterDistance),l=this.height/50,c=new Float64Array(16);t.perspective(c,this._fov,this.width/this.height,l,s),t.scale(c,c,[1,-1,1]),t.translate(c,c,[0,0,-this.cameraToCenterDistance]),t.rotateX(c,c,this._pitch),t.rotateZ(c,c,this.angle),t.translate(c,c,[-i,-o,0]),this.mercatorMatrix=t.scale([],c,[this.worldSize,this.worldSize,this.worldSize]),t.scale(c,c,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=c;var u=this.width%2/2,h=this.height%2/2,f=Math.cos(this.angle),p=Math.sin(this.angle),d=i-Math.round(i)+f*u+p*h,g=o-Math.round(o)+f*h+p*u,v=new Float64Array(c);if(t.translate(v,v,[d>.5?d-1:d,g>.5?g-1:g,0]),this.alignedProjMatrix=v,c=t.create(),t.scale(c,c,[this.width/2,-this.height/2,1]),t.translate(c,c,[1,-1,0]),this.labelPlaneMatrix=c,c=t.create(),t.scale(c,c,[1,-1,1]),t.translate(c,c,[-1,-1,0]),t.scale(c,c,[2/this.width,2/this.height,1]),this.glCoordMatrix=c,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(c=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=c,this._posMatrixCache={},this._alignedPosMatrixCache={}}},cn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},cn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},cn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,a=r.y,i=r.x,o=r.y,s=0,l=e;s<l.length;s+=1){var c=l[s];n=Math.min(n,c.x),a=Math.min(a,c.y),i=Math.max(i,c.x),o=Math.max(o,c.y)}return[new t.Point(n,a),new t.Point(i,a),new t.Point(i,o),new t.Point(n,o),new t.Point(n,a)]},Object.defineProperties(cn.prototype,un);var hn=function(){var e,r,n,a;t.bindAll(["_onHashChange","_updateHash"],this),this._updateHash=(e=this._updateHashUnthrottled.bind(this),300,r=!1,n=null,a=function(){n=null,r&&(e(),n=setTimeout(a,300),r=!1)},function(){return r=!0,n||a(),n})};hn.prototype.addTo=function(e){return this._map=e,t.window.addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this},hn.prototype.remove=function(){return t.window.removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this},hn.prototype.getHashString=function(t){var e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),a=Math.pow(10,n),i=Math.round(e.lng*a)/a,o=Math.round(e.lat*a)/a,s=this._map.getBearing(),l=this._map.getPitch(),c="";return c+=t?"#/"+i+"/"+o+"/"+r:"#"+r+"/"+o+"/"+i,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+="/"+Math.round(l)),c},hn.prototype._onHashChange=function(){var e=t.window.location.hash.replace("#","").split("/");return e.length>=3&&(this._map.jumpTo({center:[+e[2],+e[1]],zoom:+e[0],bearing:+(e[3]||0),pitch:+(e[4]||0)}),!0)},hn.prototype._updateHashUnthrottled=function(){var e=this.getHashString();try{t.window.history.replaceState(t.window.history.state,"",e)}catch(t){}};var fn=function(e){function n(n,a,i,o){void 0===o&&(o={});var s=r.mousePos(a.getCanvasContainer(),i),l=a.unproject(s);e.call(this,n,t.extend({point:s,lngLat:l,originalEvent:i},o)),this._defaultPrevented=!1,this.target=a}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),pn=function(e){function n(n,a,i){var o=r.touchPos(a.getCanvasContainer(),i),s=o.map(function(t){return a.unproject(t)}),l=o.reduce(function(t,e,r,n){return t.add(e.div(n.length))},new t.Point(0,0)),c=a.unproject(l);e.call(this,n,{points:o,point:l,lngLats:s,lngLat:c,originalEvent:i}),this._defaultPrevented=!1}e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n;var a={defaultPrevented:{configurable:!0}};return n.prototype.preventDefault=function(){this._defaultPrevented=!0},a.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(n.prototype,a),n}(t.Event),dn=function(t){function e(e,r,n){t.call(this,e,{originalEvent:n}),this._defaultPrevented=!1}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={defaultPrevented:{configurable:!0}};return e.prototype.preventDefault=function(){this._defaultPrevented=!0},r.defaultPrevented.get=function(){return this._defaultPrevented},Object.defineProperties(e.prototype,r),e}(t.Event),gn=function(e){this._map=e,this._el=e.getCanvasContainer(),this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=1/450,t.bindAll(["_onWheel","_onTimeout","_onScrollFrame","_onScrollFinished"],this)};gn.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gn.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gn.prototype.isEnabled=function(){return!!this._enabled},gn.prototype.isActive=function(){return!!this._active},gn.prototype.isZooming=function(){return!!this._zooming},gn.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gn.prototype.onWheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),a=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%4.000244140625==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":a>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(a*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this.isActive()||this._start(e)),e.preventDefault()}},gn.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this.isActive()||this._start(t)},gn.prototype._start=function(e){if(this._delta){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0,this._map.fire(new t.Event("movestart",{originalEvent:e})),this._map.fire(new t.Event("zoomstart",{originalEvent:e}))),this._finishTimeout&&clearTimeout(this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame))}},gn.prototype._onScrollFrame=function(){var e=this;if(this._frameId=null,this.isActive()){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>4.000244140625?this._wheelZoomRate:this._defaultZoomRate,a=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==a&&(a=1/a);var i="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(i*a))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o="number"==typeof this._targetZoom?this._targetZoom:r.zoom,s=this._startZoom,l=this._easing,c=!1;if("wheel"===this._type&&s&&l){var u=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=l(u);r.zoom=t.number(s,o,h),u<1?this._frameId||(this._frameId=this._map._requestRenderFrame(this._onScrollFrame)):c=!0}else r.zoom=o,c=!0;r.setLocationAtPoint(this._around,this._aroundPoint),this._map.fire(new t.Event("move",{originalEvent:this._lastWheelEvent})),this._map.fire(new t.Event("zoom",{originalEvent:this._lastWheelEvent})),c&&(this._active=!1,this._finishTimeout=setTimeout(function(){e._zooming=!1,e._map.fire(new t.Event("zoomend",{originalEvent:e._lastWheelEvent})),e._map.fire(new t.Event("moveend",{originalEvent:e._lastWheelEvent})),delete e._targetZoom},200))}},gn.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,a=(t.browser.now()-n.start)/n.duration,i=n.easing(a+.01)-n.easing(a),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r};var vn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMouseMove","_onMouseUp","_onKeyDown"],this)};vn.prototype.isEnabled=function(){return!!this._enabled},vn.prototype.isActive=function(){return!!this._active},vn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},vn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},vn.prototype.onMouseDown=function(e){this.isEnabled()&&e.shiftKey&&0===e.button&&(t.window.document.addEventListener("mousemove",this._onMouseMove,!1),t.window.document.addEventListener("keydown",this._onKeyDown,!1),t.window.document.addEventListener("mouseup",this._onMouseUp,!1),r.disableDrag(),this._startPos=this._lastPos=r.mousePos(this._el,e),this._active=!0)},vn.prototype._onMouseMove=function(t){var e=r.mousePos(this._el,t);if(!(this._lastPos.equals(e)||!this._box&&e.dist(this._startPos)<this._clickTolerance)){var n=this._startPos;this._lastPos=e,this._box||(this._box=r.create("div","mapboxgl-boxzoom",this._container),this._container.classList.add("mapboxgl-crosshair"),this._fireEvent("boxzoomstart",t));var a=Math.min(n.x,e.x),i=Math.max(n.x,e.x),o=Math.min(n.y,e.y),s=Math.max(n.y,e.y);r.setTransform(this._box,"translate("+a+"px,"+o+"px)"),this._box.style.width=i-a+"px",this._box.style.height=s-o+"px"}},vn.prototype._onMouseUp=function(e){if(0===e.button){var n=this._startPos,a=r.mousePos(this._el,e);this._finish(),r.suppressClick(),n.x===a.x&&n.y===a.y?this._fireEvent("boxzoomcancel",e):this._map.fitScreenCoordinates(n,a,this._map.getBearing(),{linear:!0}).fire(new t.Event("boxzoomend",{originalEvent:e}))}},vn.prototype._onKeyDown=function(t){27===t.keyCode&&(this._finish(),this._fireEvent("boxzoomcancel",t))},vn.prototype._finish=function(){this._active=!1,t.window.document.removeEventListener("mousemove",this._onMouseMove,!1),t.window.document.removeEventListener("keydown",this._onKeyDown,!1),t.window.document.removeEventListener("mouseup",this._onMouseUp,!1),this._container.classList.remove("mapboxgl-crosshair"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos},vn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,{originalEvent:r}))};var mn=t.bezier(0,0,.25,1),yn=function(e,r){this._map=e,this._el=r.element||e.getCanvasContainer(),this._state="disabled",this._button=r.button||"right",this._bearingSnap=r.bearingSnap||0,this._pitchWithRotate=!1!==r.pitchWithRotate,t.bindAll(["onMouseDown","_onMouseMove","_onMouseUp","_onBlur","_onDragFrame"],this)};yn.prototype.isEnabled=function(){return"disabled"!==this._state},yn.prototype.isActive=function(){return"active"===this._state},yn.prototype.enable=function(){this.isEnabled()||(this._state="enabled")},yn.prototype.disable=function(){if(this.isEnabled())switch(this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend"),this._pitchWithRotate&&this._fireEvent("pitchend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},yn.prototype.onMouseDown=function(e){if("enabled"===this._state){var n="touchstart"===e.type;if(n)this._startTime=Date.now();else if("right"===this._button){if(this._eventButton=r.mouseButton(e),this._eventButton!==(e.ctrlKey?0:2))return}else{if(e.ctrlKey||0!==r.mouseButton(e))return;this._eventButton=0}r.disableDrag(),n?(t.window.document.addEventListener("touchmove",this._onMouseMove,{capture:!0}),t.window.document.addEventListener("touchend",this._onMouseUp)):(t.window.document.addEventListener("mousemove",this._onMouseMove,{capture:!0}),t.window.document.addEventListener("mouseup",this._onMouseUp)),t.window.addEventListener("blur",this._onBlur),this._state="pending",this._inertia=[[t.browser.now(),this._map.getBearing()]],this._startPos=this._prevPos=this._lastPos=r.mousePos(this._el,e),this._center=this._map.transform.centerPoint,e.preventDefault()}},yn.prototype._onMouseMove=function(t){var e=r.mousePos(this._el,t);this._lastPos.equals(e)||(this._lastMoveEvent=t,this._lastPos=e,"pending"===this._state&&(this._state="active",this._fireEvent("rotatestart",t),this._fireEvent("movestart",t),this._pitchWithRotate&&this._fireEvent("pitchstart",t)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))},yn.prototype._onDragFrame=function(){this._frameId=null;var e=this._lastMoveEvent;if(e){var r=this._map.transform,n=this._prevPos,a=this._lastPos,i=.8*(n.x-a.x),o=-.5*(n.y-a.y),s=r.bearing-i,l=r.pitch-o,c=this._inertia,u=c[c.length-1];this._drainInertiaBuffer(),c.push([t.browser.now(),this._map._normalizeBearing(s,u[1])]),r.bearing=s,this._pitchWithRotate&&(this._fireEvent("pitch",e),r.pitch=l),this._fireEvent("rotate",e),this._fireEvent("move",e),delete this._lastMoveEvent,this._prevPos=this._lastPos}},yn.prototype._onMouseUp=function(t){if("touchend"===t.type&&this._startPos===this._lastPos&&Date.now()-this._startTime<300&&this._el.click(),r.mouseButton(t)===this._eventButton)switch(this._state){case"active":this._state="enabled",r.suppressClick(),this._unbind(),this._deactivate(),this._inertialRotate(t);break;case"pending":this._state="enabled",this._unbind()}},yn.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("rotateend",t),this._pitchWithRotate&&this._fireEvent("pitchend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},yn.prototype._unbind=function(){t.window.document.removeEventListener("mousemove",this._onMouseMove,{capture:!0}),t.window.document.removeEventListener("mouseup",this._onMouseUp),t.window.document.removeEventListener("touchmove",this._onMouseMove,{capture:!0}),t.window.document.removeEventListener("touchend",this._onMouseUp),t.window.removeEventListener("blur",this._onBlur),r.enableDrag()},yn.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._startPos,delete this._prevPos,delete this._lastPos},yn.prototype._inertialRotate=function(t){var e=this;this._fireEvent("rotateend",t),this._drainInertiaBuffer();var r=this._map,n=r.getBearing(),a=this._inertia,i=function(){Math.abs(n)<e._bearingSnap?r.resetNorth({noMoveStart:!0},{originalEvent:t}):e._fireEvent("moveend",t),e._pitchWithRotate&&e._fireEvent("pitchend",t)};if(a.length<2)i();else{var o=a[0],s=a[a.length-1],l=a[a.length-2],c=r._normalizeBearing(n,l[1]),u=s[1]-o[1],h=u<0?-1:1,f=(s[0]-o[0])/1e3;if(0!==u&&0!==f){var p=Math.abs(u*(.25/f));p>180&&(p=180);var d=p/180;c+=h*p*(d/2),Math.abs(r._normalizeBearing(c,0))<this._bearingSnap&&(c=r._normalizeBearing(0,c)),r.rotateTo(c,{duration:1e3*d,easing:mn,noMoveStart:!0},{originalEvent:t})}else i()}},yn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},yn.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>0&&r-e[0][0]>160;)e.shift()};var xn=t.bezier(0,0,.3,1),bn=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._state="disabled",this._clickTolerance=r.clickTolerance||1,t.bindAll(["_onMove","_onMouseUp","_onTouchEnd","_onBlur","_onDragFrame"],this)};bn.prototype.isEnabled=function(){return"disabled"!==this._state},bn.prototype.isActive=function(){return"active"===this._state},bn.prototype.enable=function(){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-drag-pan"),this._state="enabled")},bn.prototype.disable=function(){if(this.isEnabled())switch(this._el.classList.remove("mapboxgl-touch-drag-pan"),this._state){case"active":this._state="disabled",this._unbind(),this._deactivate(),this._fireEvent("dragend"),this._fireEvent("moveend");break;case"pending":this._state="disabled",this._unbind();break;default:this._state="disabled"}},bn.prototype.onMouseDown=function(e){"enabled"===this._state&&(e.ctrlKey||0!==r.mouseButton(e)||(r.addEventListener(t.window.document,"mousemove",this._onMove,{capture:!0}),r.addEventListener(t.window.document,"mouseup",this._onMouseUp),this._start(e)))},bn.prototype.onTouchStart=function(e){"enabled"===this._state&&(e.touches.length>1||(r.addEventListener(t.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),r.addEventListener(t.window.document,"touchend",this._onTouchEnd),this._start(e)))},bn.prototype._start=function(e){t.window.addEventListener("blur",this._onBlur),this._state="pending",this._startPos=this._mouseDownPos=this._prevPos=this._lastPos=r.mousePos(this._el,e),this._inertia=[[t.browser.now(),this._startPos]]},bn.prototype._onMove=function(e){e.preventDefault();var n=r.mousePos(this._el,e);this._lastPos.equals(n)||"pending"===this._state&&n.dist(this._mouseDownPos)<this._clickTolerance||(this._lastMoveEvent=e,this._lastPos=n,this._drainInertiaBuffer(),this._inertia.push([t.browser.now(),this._lastPos]),"pending"===this._state&&(this._state="active",this._fireEvent("dragstart",e),this._fireEvent("movestart",e)),this._frameId||(this._frameId=this._map._requestRenderFrame(this._onDragFrame)))},bn.prototype._onDragFrame=function(){this._frameId=null;var t=this._lastMoveEvent;if(t){var e=this._map.transform;e.setLocationAtPoint(e.pointLocation(this._prevPos),this._lastPos),this._fireEvent("drag",t),this._fireEvent("move",t),this._prevPos=this._lastPos,delete this._lastMoveEvent}},bn.prototype._onMouseUp=function(t){if(0===r.mouseButton(t))switch(this._state){case"active":this._state="enabled",r.suppressClick(),this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._onTouchEnd=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._inertialPan(t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._onBlur=function(t){switch(this._state){case"active":this._state="enabled",this._unbind(),this._deactivate(),this._fireEvent("dragend",t),this._fireEvent("moveend",t);break;case"pending":this._state="enabled",this._unbind()}},bn.prototype._unbind=function(){r.removeEventListener(t.window.document,"touchmove",this._onMove,{capture:!0,passive:!1}),r.removeEventListener(t.window.document,"touchend",this._onTouchEnd),r.removeEventListener(t.window.document,"mousemove",this._onMove,{capture:!0}),r.removeEventListener(t.window.document,"mouseup",this._onMouseUp),r.removeEventListener(t.window,"blur",this._onBlur)},bn.prototype._deactivate=function(){this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._lastMoveEvent,delete this._startPos,delete this._prevPos,delete this._mouseDownPos,delete this._lastPos},bn.prototype._inertialPan=function(t){this._fireEvent("dragend",t),this._drainInertiaBuffer();var e=this._inertia;if(e.length<2)this._fireEvent("moveend",t);else{var r=e[e.length-1],n=e[0],a=r[1].sub(n[1]),i=(r[0]-n[0])/1e3;if(0===i||r[1].equals(n[1]))this._fireEvent("moveend",t);else{var o=a.mult(.3/i),s=o.mag();s>1400&&(s=1400,o._unit()._mult(s));var l=s/750,c=o.mult(-l/2);this._map.panBy(c,{duration:1e3*l,easing:xn,noMoveStart:!0},{originalEvent:t})}}},bn.prototype._fireEvent=function(e,r){return this._map.fire(new t.Event(e,r?{originalEvent:r}:{}))},bn.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>0&&r-e[0][0]>160;)e.shift()};var _n=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onKeyDown"],this)};function wn(t){return t*(2-t)}_n.prototype.isEnabled=function(){return!!this._enabled},_n.prototype.enable=function(){this.isEnabled()||(this._el.addEventListener("keydown",this._onKeyDown,!1),this._enabled=!0)},_n.prototype.disable=function(){this.isEnabled()&&(this._el.removeEventListener("keydown",this._onKeyDown),this._enabled=!1)},_n.prototype._onKeyDown=function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e=0,r=0,n=0,a=0,i=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),i=-1);break;case 40:t.shiftKey?n=-1:(i=1,t.preventDefault());break;default:return}var o=this._map,s=o.getZoom(),l={duration:300,delayEndEvents:500,easing:wn,zoom:e?Math.round(s)+e*(t.shiftKey?2:1):s,bearing:o.getBearing()+15*r,pitch:o.getPitch()+10*n,offset:[100*-a,100*-i],center:o.getCenter()};o.easeTo(l,{originalEvent:t})}};var kn=function(e){this._map=e,t.bindAll(["_onDblClick","_onZoomEnd"],this)};kn.prototype.isEnabled=function(){return!!this._enabled},kn.prototype.isActive=function(){return!!this._active},kn.prototype.enable=function(){this.isEnabled()||(this._enabled=!0)},kn.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},kn.prototype.onTouchStart=function(t){var e=this;if(this.isEnabled()&&!(t.points.length>1))if(this._tapped){var r=t.points[0],n=this._tappedPoint;if(n&&n.dist(r)<=30){t.originalEvent.preventDefault();var a=function(){e._tapped&&e._zoom(t),e._map.off("touchcancel",i),e._resetTapped()},i=function(){e._map.off("touchend",a),e._resetTapped()};this._map.once("touchend",a),this._map.once("touchcancel",i)}else this._resetTapped()}else this._tappedPoint=t.points[0],this._tapped=setTimeout(function(){e._tapped=null,e._tappedPoint=null},300)},kn.prototype._resetTapped=function(){clearTimeout(this._tapped),this._tapped=null,this._tappedPoint=null},kn.prototype.onDblClick=function(t){this.isEnabled()&&(t.originalEvent.preventDefault(),this._zoom(t))},kn.prototype._zoom=function(t){this._active=!0,this._map.on("zoomend",this._onZoomEnd),this._map.zoomTo(this._map.getZoom()+(t.originalEvent.shiftKey?-1:1),{around:t.lngLat},t)},kn.prototype._onZoomEnd=function(){this._active=!1,this._map.off("zoomend",this._onZoomEnd)};var Tn=t.bezier(0,0,.15,1),An=function(e){this._map=e,this._el=e.getCanvasContainer(),t.bindAll(["_onMove","_onEnd","_onTouchFrame"],this)};An.prototype.isEnabled=function(){return!!this._enabled},An.prototype.enable=function(t){this.isEnabled()||(this._el.classList.add("mapboxgl-touch-zoom-rotate"),this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)},An.prototype.disable=function(){this.isEnabled()&&(this._el.classList.remove("mapboxgl-touch-zoom-rotate"),this._enabled=!1)},An.prototype.disableRotation=function(){this._rotationDisabled=!0},An.prototype.enableRotation=function(){this._rotationDisabled=!1},An.prototype.onStart=function(e){if(this.isEnabled()&&2===e.touches.length){var n=r.mousePos(this._el,e.touches[0]),a=r.mousePos(this._el,e.touches[1]),i=n.add(a).div(2);this._startVec=n.sub(a),this._startAround=this._map.transform.pointLocation(i),this._gestureIntent=void 0,this._inertia=[],r.addEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.addEventListener(t.window.document,"touchend",this._onEnd)}},An.prototype._getTouchEventData=function(t){var e=r.mousePos(this._el,t.touches[0]),n=r.mousePos(this._el,t.touches[1]),a=e.sub(n);return{vec:a,center:e.add(n).div(2),scale:a.mag()/this._startVec.mag(),bearing:this._rotationDisabled?0:180*a.angleWith(this._startVec)/Math.PI}},An.prototype._onMove=function(e){if(2===e.touches.length){var r=this._getTouchEventData(e),n=r.vec,a=r.scale,i=r.bearing;if(!this._gestureIntent){var o=this._rotationDisabled&&1!==a||Math.abs(1-a)>.15;Math.abs(i)>10?this._gestureIntent="rotate":o&&(this._gestureIntent="zoom"),this._gestureIntent&&(this._map.fire(new t.Event(this._gestureIntent+"start",{originalEvent:e})),this._map.fire(new t.Event("movestart",{originalEvent:e})),this._startVec=n)}this._lastTouchEvent=e,this._frameId||(this._frameId=this._map._requestRenderFrame(this._onTouchFrame)),e.preventDefault()}},An.prototype._onTouchFrame=function(){this._frameId=null;var e=this._gestureIntent;if(e){var r=this._map.transform;this._startScale||(this._startScale=r.scale,this._startBearing=r.bearing);var n=this._getTouchEventData(this._lastTouchEvent),a=n.center,i=n.bearing,o=n.scale,s=r.pointLocation(a),l=r.locationPoint(s);"rotate"===e&&(r.bearing=this._startBearing+i),r.zoom=r.scaleZoom(this._startScale*o),r.setLocationAtPoint(this._startAround,l),this._map.fire(new t.Event(e,{originalEvent:this._lastTouchEvent})),this._map.fire(new t.Event("move",{originalEvent:this._lastTouchEvent})),this._drainInertiaBuffer(),this._inertia.push([t.browser.now(),o,a])}},An.prototype._onEnd=function(e){r.removeEventListener(t.window.document,"touchmove",this._onMove,{passive:!1}),r.removeEventListener(t.window.document,"touchend",this._onEnd);var n=this._gestureIntent,a=this._startScale;if(this._frameId&&(this._map._cancelRenderFrame(this._frameId),this._frameId=null),delete this._gestureIntent,delete this._startScale,delete this._startBearing,delete this._lastTouchEvent,n){this._map.fire(new t.Event(n+"end",{originalEvent:e})),this._drainInertiaBuffer();var i=this._inertia,o=this._map;if(i.length<2)o.snapToNorth({},{originalEvent:e});else{var s=i[i.length-1],l=i[0],c=o.transform.scaleZoom(a*s[1]),u=o.transform.scaleZoom(a*l[1]),h=c-u,f=(s[0]-l[0])/1e3,p=s[2];if(0!==f&&c!==u){var d=.15*h/f;Math.abs(d)>2.5&&(d=d>0?2.5:-2.5);var g=1e3*Math.abs(d/(12*.15)),v=c+d*g/2e3;v<0&&(v=0),o.easeTo({zoom:v,duration:g,easing:Tn,around:this._aroundCenter?o.getCenter():o.unproject(p),noMoveStart:!0},{originalEvent:e})}else o.snapToNorth({},{originalEvent:e})}}},An.prototype._drainInertiaBuffer=function(){for(var e=this._inertia,r=t.browser.now();e.length>2&&r-e[0][0]>160;)e.shift()};var Mn={scrollZoom:gn,boxZoom:vn,dragRotate:yn,dragPan:bn,keyboard:_n,doubleClickZoom:kn,touchZoomRotate:An},Sn=function(e){function r(r,n){e.call(this),this._moving=!1,this._zooming=!1,this.transform=r,this._bearingSnap=n.bearingSnap,t.bindAll(["_renderFrameCallback"],this)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.getCenter=function(){return new t.LngLat(this.transform.center.lng,this.transform.center.lat)},r.prototype.setCenter=function(t,e){return this.jumpTo({center:t},e)},r.prototype.panBy=function(e,r,n){return e=t.Point.convert(e).mult(-1),this.panTo(this.transform.center,t.extend({offset:e},r),n)},r.prototype.panTo=function(e,r,n){return this.easeTo(t.extend({center:e},r),n)},r.prototype.getZoom=function(){return this.transform.zoom},r.prototype.setZoom=function(t,e){return this.jumpTo({zoom:t},e),this},r.prototype.zoomTo=function(e,r,n){return this.easeTo(t.extend({zoom:e},r),n)},r.prototype.zoomIn=function(t,e){return this.zoomTo(this.getZoom()+1,t,e),this},r.prototype.zoomOut=function(t,e){return this.zoomTo(this.getZoom()-1,t,e),this},r.prototype.getBearing=function(){return this.transform.bearing},r.prototype.setBearing=function(t,e){return this.jumpTo({bearing:t},e),this},r.prototype.rotateTo=function(e,r,n){return this.easeTo(t.extend({bearing:e},r),n)},r.prototype.resetNorth=function(e,r){return this.rotateTo(0,t.extend({duration:1e3},e),r),this},r.prototype.resetNorthPitch=function(e,r){return this.easeTo(t.extend({bearing:0,pitch:0,duration:1e3},e),r),this},r.prototype.snapToNorth=function(t,e){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(t,e):this},r.prototype.getPitch=function(){return this.transform.pitch},r.prototype.setPitch=function(t,e){return this.jumpTo({pitch:t},e),this},r.prototype.cameraForBounds=function(e,r){return e=t.LngLatBounds.convert(e),this._cameraForBoxAndBearing(e.getNorthWest(),e.getSouthEast(),0,r)},r.prototype._cameraForBoxAndBearing=function(e,r,n,a){if("number"==typeof(a=t.extend({padding:{top:0,bottom:0,right:0,left:0},offset:[0,0],maxZoom:this.transform.maxZoom},a)).padding){var i=a.padding;a.padding={top:i,bottom:i,right:i,left:i}}if(t.deepEqual(Object.keys(a.padding).sort(function(t,e){return t<e?-1:t>e?1:0}),["bottom","left","right","top"])){var o=this.transform,s=o.project(t.LngLat.convert(e)),l=o.project(t.LngLat.convert(r)),c=s.rotate(-n*Math.PI/180),u=l.rotate(-n*Math.PI/180),h=new t.Point(Math.max(c.x,u.x),Math.max(c.y,u.y)),f=new t.Point(Math.min(c.x,u.x),Math.min(c.y,u.y)),p=h.sub(f),d=(o.width-a.padding.left-a.padding.right)/p.x,g=(o.height-a.padding.top-a.padding.bottom)/p.y;if(!(g<0||d<0)){var v=Math.min(o.scaleZoom(o.scale*Math.min(d,g)),a.maxZoom),m=t.Point.convert(a.offset),y=(a.padding.left-a.padding.right)/2,x=(a.padding.top-a.padding.bottom)/2,b=new t.Point(m.x+y,m.y+x).mult(o.scale/o.zoomScale(v));return{center:o.unproject(s.add(l).div(2).sub(b)),zoom:v,bearing:n}}t.warnOnce("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}else t.warnOnce("options.padding must be a positive number, or an Object with keys 'bottom', 'left', 'right', 'top'")},r.prototype.fitBounds=function(t,e,r){return this._fitInternal(this.cameraForBounds(t,e),e,r)},r.prototype.fitScreenCoordinates=function(e,r,n,a,i){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.pointLocation(t.Point.convert(e)),this.transform.pointLocation(t.Point.convert(r)),n,a),a,i)},r.prototype._fitInternal=function(e,r,n){return e?(r=t.extend(e,r)).linear?this.easeTo(r,n):this.flyTo(r,n):this},r.prototype.jumpTo=function(e,r){this.stop();var n=this.transform,a=!1,i=!1,o=!1;return"zoom"in e&&n.zoom!==+e.zoom&&(a=!0,n.zoom=+e.zoom),void 0!==e.center&&(n.center=t.LngLat.convert(e.center)),"bearing"in e&&n.bearing!==+e.bearing&&(i=!0,n.bearing=+e.bearing),"pitch"in e&&n.pitch!==+e.pitch&&(o=!0,n.pitch=+e.pitch),this.fire(new t.Event("movestart",r)).fire(new t.Event("move",r)),a&&this.fire(new t.Event("zoomstart",r)).fire(new t.Event("zoom",r)).fire(new t.Event("zoomend",r)),i&&this.fire(new t.Event("rotatestart",r)).fire(new t.Event("rotate",r)).fire(new t.Event("rotateend",r)),o&&this.fire(new t.Event("pitchstart",r)).fire(new t.Event("pitch",r)).fire(new t.Event("pitchend",r)),this.fire(new t.Event("moveend",r))},r.prototype.easeTo=function(e,r){var n=this;this.stop(),(!1===(e=t.extend({offset:[0,0],duration:500,easing:t.ease},e)).animate||t.browser.prefersReducedMotion)&&(e.duration=0);var a=this.transform,i=this.getZoom(),o=this.getBearing(),s=this.getPitch(),l="zoom"in e?+e.zoom:i,c="bearing"in e?this._normalizeBearing(e.bearing,o):o,u="pitch"in e?+e.pitch:s,h=a.centerPoint.add(t.Point.convert(e.offset)),f=a.pointLocation(h),p=t.LngLat.convert(e.center||f);this._normalizeCenter(p);var d,g,v=a.project(f),m=a.project(p).sub(v),y=a.zoomScale(l-i);return e.around&&(d=t.LngLat.convert(e.around),g=a.locationPoint(d)),this._zooming=l!==i,this._rotating=o!==c,this._pitching=u!==s,this._prepareEase(r,e.noMoveStart),clearTimeout(this._easeEndTimeoutID),this._ease(function(e){if(n._zooming&&(a.zoom=t.number(i,l,e)),n._rotating&&(a.bearing=t.number(o,c,e)),n._pitching&&(a.pitch=t.number(s,u,e)),d)a.setLocationAtPoint(d,g);else{var f=a.zoomScale(a.zoom-i),p=l>i?Math.min(2,y):Math.max(.5,y),x=Math.pow(p,1-e),b=a.unproject(v.add(m.mult(e*x)).mult(f));a.setLocationAtPoint(a.renderWorldCopies?b.wrap():b,h)}n._fireMoveEvents(r)},function(){e.delayEndEvents?n._easeEndTimeoutID=setTimeout(function(){return n._afterEase(r)},e.delayEndEvents):n._afterEase(r)},e),this},r.prototype._prepareEase=function(e,r){this._moving=!0,r||this.fire(new t.Event("movestart",e)),this._zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e){var r=this._zooming,n=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,r&&this.fire(new t.Event("zoomend",e)),n&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))},r.prototype.flyTo=function(e,r){var n=this;if(t.browser.prefersReducedMotion){var a=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(a,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var i=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c="zoom"in e?t.clamp(+e.zoom,i.minZoom,i.maxZoom):o,u="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,f=i.zoomScale(c-o),p=i.centerPoint.add(t.Point.convert(e.offset)),d=i.pointLocation(p),g=t.LngLat.convert(e.center||d);this._normalizeCenter(g);var v=i.project(d),m=i.project(g).sub(v),y=e.curve,x=Math.max(i.width,i.height),b=x/f,_=m.mag();if("minZoom"in e){var w=t.clamp(Math.min(e.minZoom,o,c),i.minZoom,i.maxZoom),k=x/i.zoomScale(w-o);y=Math.sqrt(k/_*2)}var T=y*y;function A(t){var e=(b*b-x*x+(t?-1:1)*T*T*_*_)/(2*(t?b:x)*T*_);return Math.log(Math.sqrt(e*e+1)-e)}function M(t){return(Math.exp(t)-Math.exp(-t))/2}function S(t){return(Math.exp(t)+Math.exp(-t))/2}var E=A(0),L=function(t){return S(E)/S(E+y*t)},C=function(t){return x*((S(E)*(M(e=E+y*t)/S(e))-M(E))/T)/_;var e},P=(A(1)-E)/y;if(Math.abs(_)<1e-6||!isFinite(P)){if(Math.abs(x-b)<1e-6)return this.easeTo(e,r);var O=b<x?-1:1;P=Math.abs(Math.log(b/x))/y,C=function(){return 0},L=function(t){return Math.exp(O*y*t)}}if("duration"in e)e.duration=+e.duration;else{var z="screenSpeed"in e?+e.screenSpeed/y:+e.speed;e.duration=1e3*P/z}return e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._prepareEase(r,!1),this._ease(function(e){var a=e*P,f=1/L(a);i.zoom=1===e?c:o+i.scaleZoom(f),n._rotating&&(i.bearing=t.number(s,u,e)),n._pitching&&(i.pitch=t.number(l,h,e));var d=1===e?g:i.unproject(v.add(m.mult(C(a))).mult(f));i.setLocationAtPoint(i.renderWorldCopies?d.wrap():d,p),n._fireMoveEvents(r)},function(){return n._afterEase(r)},e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var t=this._onEaseEnd;delete this._onEaseEnd,t.call(this)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)<n&&(e-=360),Math.abs(e+360-r)<n&&(e+=360),e},r.prototype._normalizeCenter=function(t){var e=this.transform;if(e.renderWorldCopies&&!e.lngRange){var r=t.lng-e.center.lng;t.lng+=r>180?-360:r<-180?360:0}},r}(t.Evented),En=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_updateEditLink","_updateData","_updateCompact"],this)};En.prototype.getDefaultPosition=function(){return"bottom-right"},En.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},En.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0},En.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce(function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n<r.length-1?"&":"")),t},"?");e.href=t.config.FEEDBACK_URL+"/"+n+(this._map._hash?this._map._hash.getHashString(!0):""),e.rel="noopener nofollow"}},En.prototype._updateData=function(t){!t||"metadata"!==t.sourceDataType&&"style"!==t.dataType||(this._updateAttributions(),this._updateEditLink())},En.prototype._updateAttributions=function(){if(this._map.style){var t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map(function(t){return"string"!=typeof t?"":t})):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){var e=this._map.style.stylesheet;this.styleOwner=e.owner,this.styleId=e.id}var r=this._map.style.sourceCaches;for(var n in r){var a=r[n];if(a.used){var i=a.getSource();i.attribution&&t.indexOf(i.attribution)<0&&t.push(i.attribution)}}t.sort(function(t,e){return t.length-e.length});var o=(t=t.filter(function(e,r){for(var n=r+1;n<t.length;n++)if(t[n].indexOf(e)>=0)return!1;return!0})).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},En.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact")};var Ln=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Ln.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label","Mapbox logo"),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Ln.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Ln.prototype.getDefaultPosition=function(){return"bottom-left"},Ln.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Ln.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Ln.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Cn=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Cn.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Cn.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;r<n.length;r+=1){var a=n[r];if(a.id===t)return void(a.cancelled=!0)}},Cn.prototype.run=function(){var t=this._currentlyRunning=this._queue;this._queue=[];for(var e=0,r=t;e<r.length;e+=1){var n=r[e];if(!n.cancelled&&(n.callback(),this._cleared))break}this._cleared=!1,this._currentlyRunning=!1},Cn.prototype.clear=function(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]};var Pn=t.window.HTMLImageElement,On=t.window.HTMLElement,zn={center:[0,0],zoom:0,bearing:0,pitch:0,minZoom:0,maxZoom:22,interactive:!0,scrollZoom:!0,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,bearingSnap:7,clickTolerance:3,hash:!1,attributionControl:!0,failIfMajorPerformanceCaveat:!1,preserveDrawingBuffer:!1,trackResize:!0,renderWorldCopies:!0,refreshExpiredTiles:!0,maxTileCacheSize:null,localIdeographFontFamily:"sans-serif",transformRequest:null,accessToken:null,fadeDuration:300,crossSourceCollisions:!0},In=function(n){function a(e){var a=this;if(null!=(e=t.extend({},zn,e)).minZoom&&null!=e.maxZoom&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than minZoom");var i=new cn(e.minZoom,e.maxZoom,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Cn,this._controls=[],this._mapId=t.uniqueId(),this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof On))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",function(){return a._update(!1)}),this.on("moveend",function(){return a._update(!1)}),this.on("zoom",function(){return a._update(!0)}),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1)),function(t,e){var n=t.getCanvasContainer(),a=null,i=!1,o=null;for(var s in Mn)t[s]=new Mn[s](t,e),e.interactive&&e[s]&&t[s].enable(e[s]);r.addEventListener(n,"mouseout",function(e){t.fire(new fn("mouseout",t,e))}),r.addEventListener(n,"mousedown",function(a){i=!0,o=r.mousePos(n,a);var s=new fn("mousedown",t,a);t.fire(s),s.defaultPrevented||(e.interactive&&!t.doubleClickZoom.isActive()&&t.stop(),t.boxZoom.onMouseDown(a),t.boxZoom.isActive()||t.dragPan.isActive()||t.dragRotate.onMouseDown(a),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onMouseDown(a))}),r.addEventListener(n,"mouseup",function(e){var r=t.dragRotate.isActive();a&&!r&&t.fire(new fn("contextmenu",t,a)),a=null,i=!1,t.fire(new fn("mouseup",t,e))}),r.addEventListener(n,"mousemove",function(e){if(!t.dragPan.isActive()&&!t.dragRotate.isActive()){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mousemove",t,e))}}),r.addEventListener(n,"mouseover",function(e){for(var r=e.target;r&&r!==n;)r=r.parentNode;r===n&&t.fire(new fn("mouseover",t,e))}),r.addEventListener(n,"touchstart",function(r){var n=new pn("touchstart",t,r);t.fire(n),n.defaultPrevented||(e.interactive&&t.stop(),t.boxZoom.isActive()||t.dragRotate.isActive()||t.dragPan.onTouchStart(r),t.touchZoomRotate.onStart(r),t.doubleClickZoom.onTouchStart(n))},{passive:!1}),r.addEventListener(n,"touchmove",function(e){t.fire(new pn("touchmove",t,e))},{passive:!1}),r.addEventListener(n,"touchend",function(e){t.fire(new pn("touchend",t,e))}),r.addEventListener(n,"touchcancel",function(e){t.fire(new pn("touchcancel",t,e))}),r.addEventListener(n,"click",function(a){var i=r.mousePos(n,a);(!o||i.equals(o)||i.dist(o)<e.clickTolerance)&&t.fire(new fn("click",t,a))}),r.addEventListener(n,"dblclick",function(e){var r=new fn("dblclick",t,e);t.fire(r),r.defaultPrevented||t.doubleClickZoom.onDblClick(r)}),r.addEventListener(n,"contextmenu",function(e){var r=t.dragRotate.isActive();i||r?i&&(a=e):t.fire(new fn("contextmenu",t,e)),(t.dragRotate.isEnabled()||t.listens("contextmenu"))&&e.preventDefault()}),r.addEventListener(n,"wheel",function(r){e.interactive&&t.stop();var n=new dn("wheel",t,r);t.fire(n),n.defaultPrevented||t.scrollZoom.onWheel(r)},{passive:!1})}(this,e),this._hash=e.hash&&(new hn).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new En({customAttribution:e.customAttribution})),this.addControl(new Ln,e.logoPosition),this.on("style.load",function(){a.transform.unmodified&&a.jumpTo(a.style.stylesheet)}),this.on("data",function(e){a._update("style"===e.dataType),a.fire(new t.Event(e.dataType+"data",e))}),this.on("dataloading",function(e){a.fire(new t.Event(e.dataType+"dataloading",e))})}n&&(a.__proto__=n),a.prototype=Object.create(n&&n.prototype),a.prototype.constructor=a;var i={showTileBoundaries:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return a.prototype._getMapId=function(){return this._mapId},a.prototype.addControl=function(e,r){if(void 0===r&&e.getDefaultPosition&&(r=e.getDefaultPosition()),void 0===r&&(r="top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var a=this._controlPositions[r];return-1!==r.indexOf("bottom")?a.insertBefore(n,a.firstChild):a.appendChild(n),this},a.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},a.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],a=r[1];return this._resizeCanvas(n,a),this.transform.resize(n,a),this.painter.resize(n,a),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e)).fire(new t.Event("resize",e)).fire(new t.Event("moveend",e)),this},a.prototype.getBounds=function(){return this.transform.getBounds()},a.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},a.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},a.prototype.setMinZoom=function(t){if((t=null==t?0:t)>=0&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()<t&&this.setZoom(t),this;throw new Error("minZoom must be between 0 and the current maxZoom, inclusive")},a.prototype.getMinZoom=function(){return this.transform.minZoom},a.prototype.setMaxZoom=function(t){if((t=null==t?22:t)>=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")},a.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},a.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},a.prototype.getMaxZoom=function(){return this.transform.maxZoom},a.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},a.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},a.prototype.isMoving=function(){return this._moving||this.dragPan.isActive()||this.dragRotate.isActive()||this.scrollZoom.isActive()},a.prototype.isZooming=function(){return this._zooming||this.scrollZoom.isZooming()},a.prototype.isRotating=function(){return this._rotating||this.dragRotate.isActive()},a.prototype.on=function(t,e,r){var a=this;if(void 0===r)return n.prototype.on.call(this,t,e);var i=function(){var n;if("mouseenter"===t||"mouseover"===t){var i=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?i||(i=!0,r.call(a,new fn(t,a,n.originalEvent,{features:o}))):i=!1},mouseout:function(){i=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(a.getLayer(e)?a.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(a,new fn(t,a,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(a,new fn(t,a,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=a.getLayer(e)?a.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(a,t),delete t.features)},n)}}();for(var o in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(o,i.delegates[o]);return this},a.prototype.off=function(t,e,r){if(void 0===r)return n.prototype.off.call(this,t,e);if(this._delegatedListeners&&this._delegatedListeners[t])for(var a=this._delegatedListeners[t],i=0;i<a.length;i++){var o=a[i];if(o.layer===e&&o.listener===r){for(var s in o.delegates)this.off(s,o.delegates[s]);return a.splice(i,1),this}}return this},a.prototype.queryRenderedFeatures=function(e,r){if(!this.style)return[];var n;if(void 0!==r||void 0===e||e instanceof t.Point||Array.isArray(e)||(r=e,e=void 0),r=r||{},(e=e||[[0,0],[this.transform.width,this.transform.height]])instanceof t.Point||"number"==typeof e[0])n=[t.Point.convert(e)];else{var a=t.Point.convert(e[0]),i=t.Point.convert(e[1]);n=[a,new t.Point(i.x,a.y),i,new t.Point(a.x,i.y),a]}return this.style.queryRenderedFeatures(n,r,this.transform)},a.prototype.querySourceFeatures=function(t,e){return this.style.querySourceFeatures(t,e)},a.prototype.setStyle=function(e,r){return!1!==(r=t.extend({},{localIdeographFontFamily:this._localIdeographFontFamily},r)).diff&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&e?(this._diffStyle(e,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(e,r))},a.prototype._updateStyle=function(t,e){return this.style&&(this.style.setEventedParent(null),this.style._remove()),t?(this.style=new Re(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t):this.style.loadJSON(t),this):(delete this.style,this)},a.prototype._diffStyle=function(e,r){var n=this;if("string"==typeof e){var a=this._requestManager.normalizeStyleURL(e),i=this._requestManager.transformRequest(a,t.ResourceType.Style);t.getJSON(i,function(e,a){e?n.fire(new t.ErrorEvent(e)):a&&n._updateDiff(a,r)})}else"object"==typeof e&&this._updateDiff(e,r)},a.prototype._updateDiff=function(e,r){try{this.style.setState(e)&&this._update(!0)}catch(n){t.warnOnce("Unable to perform style diff: "+(n.message||n.error||n)+".  Rebuilding the style from scratch."),this._updateStyle(e,r)}},a.prototype.getStyle=function(){if(this.style)return this.style.serialize()},a.prototype.isStyleLoaded=function(){return this.style?this.style.loaded():t.warnOnce("There is no style added to the map.")},a.prototype.addSource=function(t,e){return this.style.addSource(t,e),this._update(!0)},a.prototype.isSourceLoaded=function(e){var r=this.style&&this.style.sourceCaches[e];if(void 0!==r)return r.loaded();this.fire(new t.ErrorEvent(new Error("There is no source with ID '"+e+"'")))},a.prototype.areTilesLoaded=function(){var t=this.style&&this.style.sourceCaches;for(var e in t){var r=t[e]._tiles;for(var n in r){var a=r[n];if("loaded"!==a.state&&"errored"!==a.state)return!1}}return!0},a.prototype.addSourceType=function(t,e,r){return this.style.addSourceType(t,e,r)},a.prototype.removeSource=function(t){return this.style.removeSource(t),this._update(!0)},a.prototype.getSource=function(t){return this.style.getSource(t)},a.prototype.addImage=function(e,r,n){void 0===n&&(n={});var a=n.pixelRatio;void 0===a&&(a=1);var i=n.sdf;if(void 0===i&&(i=!1),r instanceof Pn){var o=t.browser.getImageData(r),s=o.width,l=o.height,c=o.data;this.style.addImage(e,{data:new t.RGBAImage({width:s,height:l},c),pixelRatio:a,sdf:i,version:0})}else{if(void 0===r.width||void 0===r.height)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));var u=r.width,h=r.height,f=r.data,p=r;this.style.addImage(e,{data:new t.RGBAImage({width:u,height:h},new Uint8Array(f)),pixelRatio:a,sdf:i,version:0,userImage:p}),p.onAdd&&p.onAdd(this,e)}},a.prototype.updateImage=function(e,r){var n=this.style.getImage(e);if(!n)return this.fire(new t.ErrorEvent(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));var a=r instanceof Pn?t.browser.getImageData(r):r,i=a.width,o=a.height,s=a.data;if(void 0===i||void 0===o)return this.fire(new t.ErrorEvent(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(i!==n.data.width||o!==n.data.height)return this.fire(new t.ErrorEvent(new Error("The width and height of the updated image must be that same as the previous version of the image")));var l=!(r instanceof Pn);n.data.replace(s,l),this.style.updateImage(e,n)},a.prototype.hasImage=function(e){return e?!!this.style.getImage(e):(this.fire(new t.ErrorEvent(new Error("Missing required image id"))),!1)},a.prototype.removeImage=function(t){this.style.removeImage(t)},a.prototype.loadImage=function(e,r){t.getImage(this._requestManager.transformRequest(e,t.ResourceType.Image),r)},a.prototype.listImages=function(){return this.style.listImages()},a.prototype.addLayer=function(t,e){return this.style.addLayer(t,e),this._update(!0)},a.prototype.moveLayer=function(t,e){return this.style.moveLayer(t,e),this._update(!0)},a.prototype.removeLayer=function(t){return this.style.removeLayer(t),this._update(!0)},a.prototype.getLayer=function(t){return this.style.getLayer(t)},a.prototype.setFilter=function(t,e,r){return void 0===r&&(r={}),this.style.setFilter(t,e,r),this._update(!0)},a.prototype.setLayerZoomRange=function(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)},a.prototype.getFilter=function(t){return this.style.getFilter(t)},a.prototype.setPaintProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setPaintProperty(t,e,r,n),this._update(!0)},a.prototype.getPaintProperty=function(t,e){return this.style.getPaintProperty(t,e)},a.prototype.setLayoutProperty=function(t,e,r,n){return void 0===n&&(n={}),this.style.setLayoutProperty(t,e,r,n),this._update(!0)},a.prototype.getLayoutProperty=function(t,e){return this.style.getLayoutProperty(t,e)},a.prototype.setLight=function(t,e){return void 0===e&&(e={}),this.style.setLight(t,e),this._update(!0)},a.prototype.getLight=function(){return this.style.getLight()},a.prototype.setFeatureState=function(t,e){return this.style.setFeatureState(t,e),this._update()},a.prototype.removeFeatureState=function(t,e){return this.style.removeFeatureState(t,e),this._update()},a.prototype.getFeatureState=function(t){return this.style.getFeatureState(t)},a.prototype.getContainer=function(){return this._container},a.prototype.getCanvasContainer=function(){return this._canvasContainer},a.prototype.getCanvas=function(){return this._canvas},a.prototype._containerDimensions=function(){var t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]},a.prototype._detectMissingCSS=function(){"rgb(250, 128, 114)"!==t.window.getComputedStyle(this._missingCSSCanary).getPropertyValue("background-color")&&t.warnOnce("This page appears to be missing CSS declarations for Mapbox GL JS, which may cause the map to display incorrectly. Please ensure your page includes mapbox-gl.css, as described in https://www.mapbox.com/mapbox-gl-js/api/.")},a.prototype._setupContainer=function(){var t=this._container;t.classList.add("mapboxgl-map"),(this._missingCSSCanary=r.create("div","mapboxgl-canary",t)).style.visibility="hidden",this._detectMissingCSS();var e=this._canvasContainer=r.create("div","mapboxgl-canvas-container",t);this._interactive&&e.classList.add("mapboxgl-interactive"),this._canvas=r.create("canvas","mapboxgl-canvas",e),this._canvas.style.position="absolute",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");var n=this._containerDimensions();this._resizeCanvas(n[0],n[1]);var a=this._controlContainer=r.create("div","mapboxgl-control-container",t),i=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(function(t){i[t]=r.create("div","mapboxgl-ctrl-"+t,a)})},a.prototype._resizeCanvas=function(e,r){var n=t.window.devicePixelRatio||1;this._canvas.width=n*e,this._canvas.height=n*r,this._canvas.style.width=e+"px",this._canvas.style.height=r+"px"},a.prototype._setupPainter=function(){var r=t.extend({},e.webGLContextAttributes,{failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1}),n=this._canvas.getContext("webgl",r)||this._canvas.getContext("experimental-webgl",r);n?(this.painter=new an(n,this.transform),t.webpSupported.testSupport(n)):this.fire(new t.ErrorEvent(new Error("Failed to initialize WebGL")))},a.prototype._contextLost=function(e){e.preventDefault(),this._frame&&(this._frame.cancel(),this._frame=null),this.fire(new t.Event("webglcontextlost",{originalEvent:e}))},a.prototype._contextRestored=function(e){this._setupPainter(),this.resize(),this._update(),this.fire(new t.Event("webglcontextrestored",{originalEvent:e}))},a.prototype.loaded=function(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()},a.prototype._update=function(t){return this.style?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this},a.prototype._requestRenderFrame=function(t){return this._update(),this._renderTaskQueue.add(t)},a.prototype._cancelRenderFrame=function(t){this._renderTaskQueue.remove(t)},a.prototype._render=function(){this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run();var e=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;var r=this.transform.zoom,n=t.browser.now();this.style.zoomHistory.update(r,n);var a=new t.EvaluationParameters(r,{now:n,fadeDuration:this._fadeDuration,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),i=a.crossFadingFactor();1===i&&i===this._crossFadingFactor||(e=!0,this._crossFadingFactor=i),this.style.update(a)}return this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,this._fadeDuration,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:this._fadeDuration}),this.fire(new t.Event("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new t.Event("load"))),this.style&&(this.style.hasTransitions()||e)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles(),this._sourcesDirty||this._repaint||this._styleDirty||this._placementDirty?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new t.Event("idle")),this},a.prototype.remove=function(){this._hash&&this._hash.remove();for(var e=0,r=this._controls;e<r.length;e+=1)r[e].onRemove(this);this._controls=[],this._frame&&(this._frame.cancel(),this._frame=null),this._renderTaskQueue.clear(),this.setStyle(null),void 0!==t.window&&(t.window.removeEventListener("resize",this._onWindowResize,!1),t.window.removeEventListener("online",this._onWindowOnline,!1));var n=this.painter.context.gl.getExtension("WEBGL_lose_context");n&&n.loseContext(),Dn(this._canvasContainer),Dn(this._controlContainer),Dn(this._missingCSSCanary),this._container.classList.remove("mapboxgl-map"),this.fire(new t.Event("remove"))},a.prototype.triggerRepaint=function(){var e=this;this.style&&!this._frame&&(this._frame=t.browser.frame(function(){e._frame=null,e._render()}))},a.prototype._onWindowOnline=function(){this._update()},a.prototype._onWindowResize=function(){this._trackResize&&this.resize()._update()},i.showTileBoundaries.get=function(){return!!this._showTileBoundaries},i.showTileBoundaries.set=function(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())},i.showCollisionBoxes.get=function(){return!!this._showCollisionBoxes},i.showCollisionBoxes.set=function(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())},i.showOverdrawInspector.get=function(){return!!this._showOverdrawInspector},i.showOverdrawInspector.set=function(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())},i.repaint.get=function(){return!!this._repaint},i.repaint.set=function(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())},i.vertices.get=function(){return!!this._vertices},i.vertices.set=function(t){this._vertices=t,this._update()},a.prototype._setCacheLimits=function(e,r){t.setCacheLimits(e,r)},i.version.get=function(){return t.version},Object.defineProperties(a.prototype,i),a}(Sn);function Dn(t){t.parentNode&&t.parentNode.removeChild(t)}var Rn={showCompass:!0,showZoom:!0,visualizePitch:!1},Fn=function(e){var n=this;this.options=t.extend({},Rn,e),this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this.options.showZoom&&(t.bindAll(["_updateZoomButtons"],this),this._zoomInButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-in","Zoom in",function(){return n._map.zoomIn()}),this._zoomOutButton=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-zoom-out","Zoom out",function(){return n._map.zoomOut()})),this.options.showCompass&&(t.bindAll(["_rotateCompassArrow"],this),this._compass=this._createButton("mapboxgl-ctrl-icon mapboxgl-ctrl-compass","Reset bearing to north",function(){n.options.visualizePitch?n._map.resetNorthPitch():n._map.resetNorth()}),this._compassArrow=r.create("span","mapboxgl-ctrl-compass-arrow",this._compass))};function Bn(e,r,n){if(e=new t.LngLat(e.lng,e.lat),r){var a=new t.LngLat(e.lng-360,e.lat),i=new t.LngLat(e.lng+360,e.lat),o=n.locationPoint(e).distSqr(r);n.locationPoint(a).distSqr(r)<o?e=a:n.locationPoint(i).distSqr(r)<o&&(e=i)}for(;Math.abs(e.lng-n.center.lng)>180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Fn.prototype._updateZoomButtons=function(){var t=this._map.getZoom();t===this._map.getMaxZoom()?this._zoomInButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomInButton.classList.remove("mapboxgl-ctrl-icon-disabled"),t===this._map.getMinZoom()?this._zoomOutButton.classList.add("mapboxgl-ctrl-icon-disabled"):this._zoomOutButton.classList.remove("mapboxgl-ctrl-icon-disabled")},Fn.prototype._rotateCompassArrow=function(){var t=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._compassArrow.style.transform=t},Fn.prototype.onAdd=function(t){return this._map=t,this.options.showZoom&&(this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new yn(t,{button:"left",element:this._compass}),r.addEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.addEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.enable()),this._container},Fn.prototype.onRemove=function(){r.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),r.removeEventListener(this._compass,"mousedown",this._handler.onMouseDown),r.removeEventListener(this._compass,"touchstart",this._handler.onMouseDown,{passive:!1}),this._handler.disable(),delete this._handler),delete this._map},Fn.prototype._createButton=function(t,e,n){var a=r.create("button",t,this._container);return a.type="button",a.title=e,a.setAttribute("aria-label",e),a.addEventListener("click",n),a};var Nn={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 jn(t,e,r){var n=t.classList;for(var a in Nn)n.remove("mapboxgl-"+r+"-anchor-"+a);n.add("mapboxgl-"+r+"-anchor-"+e)}var Vn,Un=function(e){function n(n,a){if(e.call(this),(n instanceof t.window.HTMLElement||a)&&(n=t.extend({element:n},a)),t.bindAll(["_update","_onMove","_onUp","_addDragHandler","_onMapClick"],this),this._anchor=n&&n.anchor||"center",this._color=n&&n.color||"#3FB1CE",this._draggable=n&&n.draggable||!1,this._state="inactive",n&&n.element)this._element=n.element,this._offset=t.Point.convert(n&&n.offset||[0,0]);else{this._defaultMarker=!0,this._element=r.create("div");var i=r.createNS("http://www.w3.org/2000/svg","svg");i.setAttributeNS(null,"display","block"),i.setAttributeNS(null,"height","41px"),i.setAttributeNS(null,"width","27px"),i.setAttributeNS(null,"viewBox","0 0 27 41");var o=r.createNS("http://www.w3.org/2000/svg","g");o.setAttributeNS(null,"stroke","none"),o.setAttributeNS(null,"stroke-width","1"),o.setAttributeNS(null,"fill","none"),o.setAttributeNS(null,"fill-rule","evenodd");var s=r.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");var l=r.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");for(var c=0,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"}];c<u.length;c+=1){var h=u[c],f=r.createNS("http://www.w3.org/2000/svg","ellipse");f.setAttributeNS(null,"opacity","0.04"),f.setAttributeNS(null,"cx","10.5"),f.setAttributeNS(null,"cy","5.80029008"),f.setAttributeNS(null,"rx",h.rx),f.setAttributeNS(null,"ry",h.ry),l.appendChild(f)}var p=r.createNS("http://www.w3.org/2000/svg","g");p.setAttributeNS(null,"fill",this._color);var d=r.createNS("http://www.w3.org/2000/svg","path");d.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"),p.appendChild(d);var g=r.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"fill","#000000");var v=r.createNS("http://www.w3.org/2000/svg","path");v.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"),g.appendChild(v);var m=r.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(6.0, 7.0)"),m.setAttributeNS(null,"fill","#FFFFFF");var y=r.createNS("http://www.w3.org/2000/svg","g");y.setAttributeNS(null,"transform","translate(8.0, 8.0)");var x=r.createNS("http://www.w3.org/2000/svg","circle");x.setAttributeNS(null,"fill","#000000"),x.setAttributeNS(null,"opacity","0.25"),x.setAttributeNS(null,"cx","5.5"),x.setAttributeNS(null,"cy","5.5"),x.setAttributeNS(null,"r","5.4999962");var b=r.createNS("http://www.w3.org/2000/svg","circle");b.setAttributeNS(null,"fill","#FFFFFF"),b.setAttributeNS(null,"cx","5.5"),b.setAttributeNS(null,"cy","5.5"),b.setAttributeNS(null,"r","5.4999962"),y.appendChild(x),y.appendChild(b),s.appendChild(l),s.appendChild(p),s.appendChild(g),s.appendChild(m),s.appendChild(y),i.appendChild(s),this._element.appendChild(i),this._offset=t.Point.convert(n&&n.offset||[0,-14])}this._element.classList.add("mapboxgl-marker"),this._element.addEventListener("dragstart",function(t){t.preventDefault()}),jn(this._element,this._anchor,"marker"),this._popup=null}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this},n.prototype.remove=function(){return 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),r.remove(this._element),this._popup&&this._popup.remove(),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this},n.prototype.getElement=function(){return this._element},n.prototype.setPopup=function(t){if(this._popup&&(this._popup.remove(),this._popup=null),t){if(!("offset"in t.options)){var e=Math.sqrt(Math.pow(13.5,2)/2);t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[e,-1*(24.6+e)],"bottom-right":[-e,-1*(24.6+e)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=t,this._lngLat&&this._popup.setLngLat(this._lngLat)}return this},n.prototype._onMapClick=function(t){var e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},n.prototype.getPopup=function(){return this._popup},n.prototype.togglePopup=function(){var t=this._popup;return t?(t.isOpen()?t.remove():t.addTo(this._map),this):this},n.prototype._update=function(t){this._map&&(this._map.transform.renderWorldCopies&&(this._lngLat=Bn(this._lngLat,this._pos,this._map.transform)),this._pos=this._map.project(this._lngLat)._add(this._offset),t&&"moveend"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,Nn[this._anchor]+" translate("+this._pos.x+"px, "+this._pos.y+"px)"))},n.prototype.getOffset=function(){return this._offset},n.prototype.setOffset=function(e){return this._offset=t.Point.convert(e),this._update(),this},n.prototype._onMove=function(e){this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag"))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),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))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(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},n.prototype.isDraggable=function(){return this._draggable},n}(t.Evented),qn={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showUserLocation:!0},Hn=function(e){function n(r){e.call(this),this.options=t.extend({},qn,r),t.bindAll(["_onSuccess","_onError","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){var n;return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Vn?n(Vn):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then(function(t){Vn="denied"!==t.state,n(Vn)}):(Vn=!!t.window.navigator.geolocation,n(Vn)),this._container},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),r.remove(this._container),this._map=void 0},n.prototype._onSuccess=function(e){if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,a=this._map.getBearing(),i=t.extend({bearing:a},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),i,{geolocateSource:!0})},n.prototype._updateMarker=function(t){t?this._userLocationDotMarker.setLngLat([t.coords.longitude,t.coords.latitude]).addTo(this._map):this._userLocationDotMarker.remove()},n.prototype._onError=function(e){if(this.options.trackUserLocation)if(1===e.code)this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),void 0!==this._geolocationWatchID&&this._clearWatch();else switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;!1!==e?(this._container.addEventListener("contextmenu",function(t){return t.preventDefault()}),this._geolocateButton=r.create("button","mapboxgl-ctrl-icon mapboxgl-ctrl-geolocate",this._container),this._geolocateButton.type="button",this._geolocateButton.setAttribute("aria-label","Geolocate"),this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Un(this._dotElement),this.options.trackUserLocation&&(this._watchState="OFF")),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",function(e){e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))})):t.warnOnce("Geolocation support is not available, the GeolocateControl will not be visible.")},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("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 t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}"OFF"===this._watchState&&void 0!==this._geolocationWatchID?this._clearWatch():void 0===this._geolocationWatchID&&(this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,this.options.positionOptions))}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Gn={maxWidth:100,unit:"metric"},Yn=function(e){this.options=t.extend({},Gn,e),t.bindAll(["_onMove","setUnit"],this)};function Wn(t,e,r){var n,a,i,o,s,l,c=r&&r.maxWidth||100,u=t._container.clientHeight/2,h=(n=t.unproject([0,u]),a=t.unproject([c,u]),i=Math.PI/180,o=n.lat*i,s=a.lat*i,l=Math.sin(o)*Math.sin(s)+Math.cos(o)*Math.cos(s)*Math.cos((a.lng-n.lng)*i),6371e3*Math.acos(Math.min(l,1)));if(r&&"imperial"===r.unit){var f=3.2808*h;f>5280?Xn(e,c,f/5280,"mi"):Xn(e,c,f,"ft")}else r&&"nautical"===r.unit?Xn(e,c,h/1852,"nm"):Xn(e,c,h,"m")}function Xn(t,e,r,n){var a,i,o,s=(a=r,(i=Math.pow(10,(""+Math.floor(a)).length-1))*(o=(o=a/i)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;"m"===n&&s>=1e3&&(s/=1e3,n="km"),t.style.width=e*l+"px",t.innerHTML=s+n}Yn.prototype.getDefaultPosition=function(){return"bottom-left"},Yn.prototype._onMove=function(){Wn(this._map,this._container,this.options)},Yn.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Yn.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Yn.prototype.setUnit=function(t){this.options.unit=t,Wn(this._map,this._container,this.options)};var Zn=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange"),this._className="mapboxgl-ctrl"};Zn.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div",this._className+" mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},Zn.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},Zn.prototype._setupUI=function(){(this._fullscreenButton=r.create("button",this._className+"-icon "+this._className+"-fullscreen",this._controlContainer)).type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},Zn.prototype._updateTitle=function(){var t=this._isFullscreen()?"Exit fullscreen":"Enter fullscreen";this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},Zn.prototype._isFullscreen=function(){return this._fullscreen},Zn.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(this._className+"-shrink"),this._fullscreenButton.classList.toggle(this._className+"-fullscreen"),this._updateTitle())},Zn.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var Jn={closeButton:!0,closeOnClick:!0,className:"",maxWidth:"240px"},Kn=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(Jn),r),t.bindAll(["_update","_onClickClose","remove"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){var r=this;return this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClickClose),this._map.on("remove",this.remove),this._update(),this._trackPointer?(this._map.on("mousemove",function(t){r._update(t.point)}),this._map.on("mouseup",function(t){r._update(t.point)}),this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("click",this._onClickClose),this._map.off("remove",this.remove),this._map.off("mousemove"),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove"),this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){var t=this;return this._trackPointer=!0,this._pos=null,this._map&&(this._map.off("move",this._update),this._map.on("mousemove",function(e){t._update(e.point)}),this._map.on("drag",function(e){t._update(e.point)}),this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),a=t.window.document.createElement("body");for(a.innerHTML=e;r=a.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){return this._createContent(),this._content.appendChild(t),this._update(),this},n.prototype._createContent=function(){this._content&&r.remove(this._content),this._content=r.create("div","mapboxgl-popup-content",this._container),this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="&#215;",this._closeButton.addEventListener("click",this._onClickClose))},n.prototype._update=function(e){var n=this,a=this._lngLat||this._trackPointer;if(this._map&&a&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach(function(t){return n._container.classList.add(t)})),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=Bn(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||e)){var i=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat),o=this.options.anchor,s=function e(r){if(r){if("number"==typeof r){var n=Math.round(Math.sqrt(.5*Math.pow(r,2)));return{center:new t.Point(0,0),top:new t.Point(0,r),"top-left":new t.Point(n,n),"top-right":new t.Point(-n,n),bottom:new t.Point(0,-r),"bottom-left":new t.Point(n,-n),"bottom-right":new t.Point(-n,-n),left:new t.Point(r,0),right:new t.Point(-r,0)}}if(r instanceof t.Point||Array.isArray(r)){var a=t.Point.convert(r);return{center:a,top:a,"top-left":a,"top-right":a,bottom:a,"bottom-left":a,"bottom-right":a,left:a,right:a}}return{center:t.Point.convert(r.center||[0,0]),top:t.Point.convert(r.top||[0,0]),"top-left":t.Point.convert(r["top-left"]||[0,0]),"top-right":t.Point.convert(r["top-right"]||[0,0]),bottom:t.Point.convert(r.bottom||[0,0]),"bottom-left":t.Point.convert(r["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(r["bottom-right"]||[0,0]),left:t.Point.convert(r.left||[0,0]),right:t.Point.convert(r.right||[0,0])}}return e(new t.Point(0,0))}(this.options.offset);if(!o){var l,c=this._container.offsetWidth,u=this._container.offsetHeight;l=i.y+s.bottom.y<u?["top"]:i.y>this._map.transform.height-u?["bottom"]:[],i.x<c/2?l.push("left"):i.x>this._map.transform.width-c/2&&l.push("right"),o=0===l.length?"bottom":l.join("-")}var h=i.add(s[o]).round();r.setTransform(this._container,Nn[o]+" translate("+h.x+"px,"+h.y+"px)"),jn(this._container,o,"popup")}},n.prototype._onClickClose=function(){this.remove()},n}(t.Evented),Qn={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,Map:In,NavigationControl:Fn,GeolocateControl:Hn,AttributionControl:En,ScaleControl:Yn,FullscreenControl:Zn,Popup:Kn,Marker:Un,Style:Re,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return It.workerCount},set workerCount(t){It.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return Qn}),r},"object"==typeof r&&"undefined"!=typeof e?e.exports=a():(n=n||self).mapboxgl=a()},{}],428:[function(t,e,r){"use strict";e.exports=function(t){for(var e=1<<t+1,r=new Array(e),n=0;n<e;++n)r[n]=i(t,n);return r};var n=t("convex-hull");function a(t,e,r){for(var n=new Array(t),a=0;a<t;++a)n[a]=0,a===e&&(n[a]+=.5),a===r&&(n[a]+=.5);return n}function i(t,e){if(0===e||e===(1<<t+1)-1)return[];for(var r=[],i=[],o=0;o<=t;++o)if(e&1<<o){r.push(a(t,o-1,o-1)),i.push(null);for(var s=0;s<=t;++s)~e&1<<s&&(r.push(a(t,o-1,s-1)),i.push([o,s]))}var l=n(r),c=[];t:for(o=0;o<l.length;++o){var u=l[o],h=[];for(s=0;s<u.length;++s){if(!i[u[s]])continue t;h.push(i[u[s]].slice())}c.push(h)}return c}},{"convex-hull":131}],429:[function(t,e,r){var n=t("./normalize"),a=t("gl-mat4/create"),i=t("gl-mat4/clone"),o=t("gl-mat4/determinant"),s=t("gl-mat4/invert"),l=t("gl-mat4/transpose"),c={length:t("gl-vec3/length"),normalize:t("gl-vec3/normalize"),dot:t("gl-vec3/dot"),cross:t("gl-vec3/cross")},u=a(),h=a(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function g(t,e,r,n,a){t[0]=e[0]*n+r[0]*a,t[1]=e[1]*n+r[1]*a,t[2]=e[2]*n+r[2]*a}e.exports=function(t,e,r,a,v,m){if(e||(e=[0,0,0]),r||(r=[0,0,0]),a||(a=[0,0,0]),v||(v=[0,0,0,1]),m||(m=[0,0,0,1]),!n(u,t))return!1;if(i(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8))return!1;var y,x,b,_,w,k,T,A=u[3],M=u[7],S=u[11],E=u[12],L=u[13],C=u[14],P=u[15];if(0!==A||0!==M||0!==S){if(f[0]=A,f[1]=M,f[2]=S,f[3]=P,!s(h,h))return!1;l(h,h),y=v,b=h,_=(x=f)[0],w=x[1],k=x[2],T=x[3],y[0]=b[0]*_+b[4]*w+b[8]*k+b[12]*T,y[1]=b[1]*_+b[5]*w+b[9]*k+b[13]*T,y[2]=b[2]*_+b[6]*w+b[10]*k+b[14]*T,y[3]=b[3]*_+b[7]*w+b[11]*k+b[15]*T}else v[0]=v[1]=v[2]=0,v[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),a[0]=c.dot(p[0],p[1]),g(p[1],p[1],p[0],1,-a[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),a[0]/=r[1],a[1]=c.dot(p[0],p[2]),g(p[2],p[2],p[0],1,-a[1]),a[2]=c.dot(p[1],p[2]),g(p[2],p[2],p[1],1,-a[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),a[1]/=r[2],a[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return m[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),m[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),m[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),m[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(m[0]=-m[0]),p[0][2]>p[2][0]&&(m[1]=-m[1]),p[1][0]>p[0][1]&&(m[2]=-m[2]),!0}},{"./normalize":430,"gl-mat4/clone":261,"gl-mat4/create":262,"gl-mat4/determinant":263,"gl-mat4/invert":267,"gl-mat4/transpose":278,"gl-vec3/cross":335,"gl-vec3/dot":340,"gl-vec3/length":350,"gl-vec3/normalize":357}],430:[function(t,e,r){e.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,a=0;a<16;a++)t[a]=e[a]*n;return!0}},{}],431:[function(t,e,r){var n=t("gl-vec3/lerp"),a=t("mat4-recompose"),i=t("mat4-decompose"),o=t("gl-mat4/determinant"),s=t("quat-slerp"),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}e.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=i(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=i(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),a(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},{"gl-mat4/determinant":263,"gl-vec3/lerp":351,"mat4-decompose":429,"mat4-recompose":432,"quat-slerp":484}],432:[function(t,e,r){var n={identity:t("gl-mat4/identity"),translate:t("gl-mat4/translate"),multiply:t("gl-mat4/multiply"),create:t("gl-mat4/create"),scale:t("gl-mat4/scale"),fromRotationTranslation:t("gl-mat4/fromRotationTranslation")},a=(n.create(),n.create());e.exports=function(t,e,r,i,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(a),0!==i[2]&&(a[9]=i[2],n.multiply(t,t,a)),0!==i[1]&&(a[9]=0,a[8]=i[1],n.multiply(t,t,a)),0!==i[0]&&(a[8]=0,a[4]=i[0],n.multiply(t,t,a)),n.scale(t,t,r),t}},{"gl-mat4/create":262,"gl-mat4/fromRotationTranslation":265,"gl-mat4/identity":266,"gl-mat4/multiply":269,"gl-mat4/scale":276,"gl-mat4/translate":277}],433:[function(t,e,r){"use strict";e.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},{}],434:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("mat4-interpolate"),i=t("gl-mat4/invert"),o=t("gl-mat4/rotateX"),s=t("gl-mat4/rotateY"),l=t("gl-mat4/rotateZ"),c=t("gl-mat4/lookAt"),u=t("gl-mat4/translate"),h=(t("gl-mat4/scale"),t("gl-vec3/normalize")),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}e.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else a(o,f,d,(t-e[r])/u)}var g=this.computedUp;g[0]=o[1],g[1]=o[5],g[2]=o[9],h(g,g);var v=this.computedInverse;i(v,o);var m=this.computedEye,y=v[15];m[0]=v[12]/y,m[1]=v[13]/y,m[2]=v[14]/y;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=m[c]-o[2+4*c]*b}},d.idle=function(t){if(!(t<this.lastT())){for(var e=this._components,r=e.length-16,n=0;n<16;++n)e.push(e[r++]);this._time.push(t)}},d.flush=function(t){var e=n.gt(this._time,t)-2;e<0||(this._time.splice(0,e),this._components.splice(0,16*e))},d.lastT=function(){return this._time[this._time.length-1]},d.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||f,n=n||this.computedUp,this.setMatrix(t,c(this.computedMatrix,e,r,n));for(var a=0,i=0;i<3;++i)a+=Math.pow(r[i]-e[i],2);a=Math.log(Math.sqrt(a)),this.computedRadius[0]=a},d.rotate=function(t,e,r,n){this.recalcMatrix(t);var a=this.computedInverse;e&&s(a,a,e),r&&o(a,a,r),n&&l(a,a,n),this.setMatrix(t,i(this.computedMatrix,a))};var g=[0,0,0];d.pan=function(t,e,r,n){g[0]=-(e||0),g[1]=-(r||0),g[2]=-(n||0),this.recalcMatrix(t);var a=this.computedInverse;u(a,a,g),this.setMatrix(t,i(a,a))},d.translate=function(t,e,r,n){g[0]=e||0,g[1]=r||0,g[2]=n||0,this.recalcMatrix(t);var a=this.computedMatrix;u(a,a,g),this.setMatrix(t,a)},d.setMatrix=function(t,e){if(!(t<this.lastT())){this._time.push(t);for(var r=0;r<16;++r)this._components.push(e[r])}},d.setDistance=function(t,e){this.computedRadius[0]=e},d.setDistanceLimits=function(t,e){var r=this._limits;r[0]=t,r[1]=e},d.getDistanceLimits=function(t){var e=this._limits;return t?(t[0]=e[0],t[1]=e[1],t):e}},{"binary-search-bounds":92,"gl-mat4/invert":267,"gl-mat4/lookAt":268,"gl-mat4/rotateX":273,"gl-mat4/rotateY":274,"gl-mat4/rotateZ":275,"gl-mat4/scale":276,"gl-mat4/translate":277,"gl-vec3/normalize":357,"mat4-interpolate":431}],435:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<3){for(var r=new Array(e),a=0;a<e;++a)r[a]=a;return 2===e&&t[0][0]===t[1][0]&&t[0][1]===t[1][1]?[0]:r}for(var i=new Array(e),a=0;a<e;++a)i[a]=a;i.sort(function(e,r){var n=t[e][0]-t[r][0];return n||t[e][1]-t[r][1]});for(var o=[i[0],i[1]],s=[i[0],i[1]],a=2;a<e;++a){for(var l=i[a],c=t[l],u=o.length;u>1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}for(var r=new Array(s.length+o.length-2),h=0,a=0,f=o.length;a<f;++a)r[h++]=o[a];for(var p=s.length-2;p>0;--p)r[h++]=s[p];return r};var n=t("robust-orientation")[3]},{"robust-orientation":508}],436:[function(t,e,r){"use strict";e.exports=function(t,e){e||(e=t,t=window);var r=0,a=0,i=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==a||u!==i||l(s))&&(r=0|t,a=c||0,i=u||0,e&&e(r,a,i,o))}function u(t){c(0,t)}function h(){(r||a||i||o.shift||o.alt||o.meta||o.control)&&(a=i=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,a,i,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function g(t){c(r&~n.buttons(t),t)}function v(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",g),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}v();var m={element:t};return Object.defineProperties(m,{enabled:{get:function(){return s},set:function(e){e?v():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",g),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return a},enumerable:!0},y:{get:function(){return i},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),m};var n=t("mouse-event")},{"mouse-event":438}],437:[function(t,e,r){var n={left:0,top:0};e.exports=function(t,e,r){e=e||t.currentTarget||t.srcElement,Array.isArray(r)||(r=[0,0]);var a=t.clientX||0,i=t.clientY||0,o=(s=e,s===window||s===document||s===document.body?n:s.getBoundingClientRect());var s;return r[0]=a-o.left,r[1]=i-o.top,r}},{}],438:[function(t,e,r){"use strict";function n(t){return t.target||t.srcElement||window}r.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<<e-1}else if("button"in t){var e;if(1===(e=t.button))return 4;if(2===e)return 2;if(e>=0)return 1<<e}}return 0},r.element=n,r.x=function(t){if("object"==typeof t){if("offsetX"in t)return t.offsetX;var e=n(t).getBoundingClientRect();return t.clientX-e.left}return 0},r.y=function(t){if("object"==typeof t){if("offsetY"in t)return t.offsetY;var e=n(t).getBoundingClientRect();return t.clientY-e.top}return 0}},{}],439:[function(t,e,r){"use strict";var n=t("to-px");e.exports=function(t,e,r){"function"==typeof t&&(r=!!e,e=t,t=window);var a=n("ex",t),i=function(t){r&&t.preventDefault();var n=t.deltaX||0,i=t.deltaY||0,o=t.deltaZ||0,s=t.deltaMode,l=1;switch(s){case 1:l=a;break;case 2:l=window.innerHeight}if(i*=l,o*=l,(n*=l)||i||o)return e(n,i,o,t)};return t.addEventListener("wheel",i),i}},{"to-px":537}],440:[function(t,e,r){"use strict";var n=t("typedarray-pool");function a(t){return"a"+t}function i(t){return"d"+t}function o(t,e){return"c"+t+"_"+e}function s(t){return"s"+t}function l(t,e){return"t"+t+"_"+e}function c(t){return"o"+t}function u(t){return"x"+t}function h(t){return"p"+t}function f(t,e){return"d"+t+"_"+e}function p(t){return"i"+t}function d(t,e){return"u"+t+"_"+e}function g(t){return"b"+t}function v(t){return"y"+t}function m(t){return"e"+t}function y(t){return"v"+t}e.exports=function(t){function e(t){throw new Error("ndarray-extract-contour: "+t)}"object"!=typeof t&&e("Must specify arguments");var r=t.order;Array.isArray(r)||e("Must specify order");var M=t.arrayArguments||1;M<1&&e("Must have at least one array argument");var S=t.scalarArguments||0;S<0&&e("Scalar arg count must be > 0");"function"!=typeof t.vertex&&e("Must specify vertex creation function");"function"!=typeof t.cell&&e("Must specify cell creation function");"function"!=typeof t.phase&&e("Must specify phase function");for(var E=t.getters||[],L=new Array(M),C=0;C<M;++C)E.indexOf(C)>=0?L[C]=!0:L[C]=!1;return function(t,e,r,M,S,E){var L=E.length,C=S.length;if(C<2)throw new Error("ndarray-extract-contour: Dimension must be at least 2");for(var P="extractContour"+S.join("_"),O=[],z=[],I=[],D=0;D<L;++D)I.push(a(D));for(var D=0;D<M;++D)I.push(u(D));for(var D=0;D<C;++D)z.push(s(D)+"="+a(0)+".shape["+D+"]|0");for(var D=0;D<L;++D){z.push(i(D)+"="+a(D)+".data",c(D)+"="+a(D)+".offset|0");for(var R=0;R<C;++R)z.push(l(D,R)+"="+a(D)+".stride["+R+"]|0")}for(var D=0;D<L;++D){z.push(h(D)+"="+c(D)),z.push(o(D,0));for(var R=1;R<1<<C;++R){for(var F=[],B=0;B<C;++B)R&1<<B&&F.push("-"+l(D,B));z.push(f(D,R)+"=("+F.join("")+")|0"),z.push(o(D,R)+"=0")}}for(var D=0;D<L;++D)for(var R=0;R<C;++R){var N=[l(D,S[R])];R>0&&N.push(l(D,S[R-1])+"*"+s(S[R-1])),z.push(d(D,S[R])+"=("+N.join("-")+")|0")}for(var D=0;D<C;++D)z.push(p(D)+"=0");z.push(_+"=0");for(var j=["2"],D=C-2;D>=0;--D)j.push(s(S[D]));z.push(w+"=("+j.join("*")+")|0",b+"=mallocUint32("+w+")",x+"=mallocUint32("+w+")",k+"=0"),z.push(g(0)+"=0");for(var R=1;R<1<<C;++R){for(var V=[],U=[],B=0;B<C;++B)R&1<<B&&(0===U.length?V.push("1"):V.unshift(U.join("*"))),U.push(s(S[B]));var q="";V[0].indexOf(s(S[C-2]))<0&&(q="-");var H=A(C,R,S);z.push(m(H)+"=(-"+V.join("-")+")|0",v(H)+"=("+q+V.join("-")+")|0",g(H)+"=0")}function G(t,e){O.push("for(",p(S[t]),"=",e,";",p(S[t]),"<",s(S[t]),";","++",p(S[t]),"){")}function Y(t){for(var e=0;e<L;++e)O.push(h(e),"+=",d(e,S[t]),";");O.push("}")}function W(){for(var t=1;t<1<<C;++t)O.push(T,"=",m(t),";",m(t),"=",v(t),";",v(t),"=",T,";")}z.push(y(0)+"=0",T+"=0"),function t(e,r){if(e<0)return void function(t){for(var e=0;e<L;++e)E[e]?O.push(o(e,0),"=",i(e),".get(",h(e),");"):O.push(o(e,0),"=",i(e),"[",h(e),"];");for(var r=[],e=0;e<L;++e)r.push(o(e,0));for(var e=0;e<M;++e)r.push(u(e));O.push(g(0),"=",b,"[",k,"]=phase(",r.join(),");");for(var n=1;n<1<<C;++n)O.push(g(n),"=",b,"[",k,"+",m(n),"];");for(var a=[],n=1;n<1<<C;++n)a.push("("+g(0)+"!=="+g(n)+")");O.push("if(",a.join("||"),"){");for(var s=[],e=0;e<C;++e)s.push(p(e));for(var e=0;e<L;++e){s.push(o(e,0));for(var n=1;n<1<<C;++n)E[e]?O.push(o(e,n),"=",i(e),".get(",h(e),"+",f(e,n),");"):O.push(o(e,n),"=",i(e),"[",h(e),"+",f(e,n),"];"),s.push(o(e,n))}for(var e=0;e<1<<C;++e)s.push(g(e));for(var e=0;e<M;++e)s.push(u(e));O.push("vertex(",s.join(),");",y(0),"=",x,"[",k,"]=",_,"++;");for(var l=(1<<C)-1,c=g(l),n=0;n<C;++n)if(0==(t&~(1<<n))){for(var d=l^1<<n,v=g(d),w=[],T=d;T>0;T=T-1&d)w.push(x+"["+k+"+"+m(T)+"]");w.push(y(0));for(var T=0;T<L;++T)1&n?w.push(o(T,l),o(T,d)):w.push(o(T,d),o(T,l));1&n?w.push(c,v):w.push(v,c);for(var T=0;T<M;++T)w.push(u(T));O.push("if(",c,"!==",v,"){","face(",w.join(),")}")}O.push("}",k,"+=1;")}(r);!function(t){for(var e=t-1;e>=0;--e)G(e,0);for(var r=[],e=0;e<L;++e)E[e]?r.push(i(e)+".get("+h(e)+")"):r.push(i(e)+"["+h(e)+"]");for(var e=0;e<M;++e)r.push(u(e));O.push(b,"[",k,"++]=phase(",r.join(),");");for(var e=0;e<t;++e)Y(e);for(var n=0;n<L;++n)O.push(h(n),"+=",d(n,S[t]),";")}(e);O.push("if(",s(S[e]),">0){",p(S[e]),"=1;");t(e-1,r|1<<S[e]);for(var n=0;n<L;++n)O.push(h(n),"+=",d(n,S[e]),";");e===C-1&&(O.push(k,"=0;"),W());G(e,2);t(e-1,r);e===C-1&&(O.push("if(",p(S[C-1]),"&1){",k,"=0;}"),W());Y(e);O.push("}")}(C-1,0),O.push("freeUint32(",x,");freeUint32(",b,");");var X=["'use strict';","function ",P,"(",I.join(),"){","var ",z.join(),";",O.join(""),"}","return ",P].join("");return new Function("vertex","face","phase","mallocUint32","freeUint32",X)(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,S,r,L)};var x="V",b="P",_="N",w="Q",k="X",T="T";function A(t,e,r){for(var n=0,a=0;a<t;++a)e&1<<a&&(n|=1<<r[a]);return n}},{"typedarray-pool":543}],441:[function(t,e,r){"use strict";var n=t("cwise/lib/wrapper")({args:["index","array","scalar"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{_inline_1_arg1_=_inline_1_arg2_.apply(void 0,_inline_1_arg0_)}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"cwise",blockSize:64});e.exports=function(t,e){return n(t,e),t}},{"cwise/lib/wrapper":150}],442:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(Array.isArray(r)){if(r.length!==e.dimension)throw new Error("ndarray-gradient: invalid boundary conditions")}else r=n(e.dimension,"string"==typeof r?r:"clamp");if(t.dimension!==e.dimension+1)throw new Error("ndarray-gradient: output dimension must be +1 input dimension");if(t.shape[e.dimension]!==e.dimension)throw new Error("ndarray-gradient: output shape must match input shape");for(var a=0;a<e.dimension;++a)if(t.shape[a]!==e.shape[a])throw new Error("ndarray-gradient: shape mismatch");if(0===e.size)return t;if(e.dimension<=0)return t.set(0),t;return function(t){var e=t.join();if(m=o[e])return m;var r=t.length,n=["function gradient(dst,src){var s=src.shape.slice();"];function a(e){for(var a=r-e.length,i=[],o=[],s=[],l=0;l<r;++l)e.indexOf(l+1)>=0?s.push("0"):e.indexOf(-(l+1))>=0?s.push("s["+l+"]-1"):(s.push("-1"),i.push("1"),o.push("s["+l+"]-2"));var c=".lo("+i.join()+").hi("+o.join()+")";if(0===i.length&&(c=""),a>0){n.push("if(1");for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push("&&s[",l,"]>2");n.push("){grad",a,"(src.pick(",s.join(),")",c);for(var l=0;l<r;++l)e.indexOf(l+1)>=0||e.indexOf(-(l+1))>=0||n.push(",dst.pick(",s.join(),",",l,")",c);n.push(");")}for(var l=0;l<e.length;++l){var u=Math.abs(e[l])-1,h="dst.pick("+s.join()+","+u+")"+c;switch(t[u]){case"clamp":var f=s.slice(),p=s.slice();e[l]<0?f[u]="s["+u+"]-2":p[u]="1",0===a?n.push("if(s[",u,"]>1){dst.set(",s.join(),",",u,",0.5*(src.get(",f.join(),")-src.get(",p.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>1){diff(",h,",src.pick(",f.join(),")",c,",src.pick(",p.join(),")",c,");}else{zero(",h,");};");break;case"mirror":0===a?n.push("dst.set(",s.join(),",",u,",0);"):n.push("zero(",h,");");break;case"wrap":var d=s.slice(),g=s.slice();e[l]<0?(d[u]="s["+u+"]-2",g[u]="0"):(d[u]="s["+u+"]-1",g[u]="1"),0===a?n.push("if(s[",u,"]>2){dst.set(",s.join(),",",u,",0.5*(src.get(",d.join(),")-src.get(",g.join(),")))}else{dst.set(",s.join(),",",u,",0)};"):n.push("if(s[",u,"]>2){diff(",h,",src.pick(",d.join(),")",c,",src.pick(",g.join(),")",c,");}else{zero(",h,");};");break;default:throw new Error("ndarray-gradient: Invalid boundary condition")}}a>0&&n.push("};")}for(var s=0;s<1<<r;++s){for(var h=[],f=0;f<r;++f)s&1<<f&&h.push(f+1);for(var p=0;p<1<<h.length;++p){for(var d=h.slice(),f=0;f<h.length;++f)p&1<<f&&(d[f]=-d[f]);a(d)}}n.push("return dst;};return gradient");for(var g=["diff","zero"],v=[l,c],s=1;s<=r;++s)g.push("grad"+s),v.push(u(s));g.push(n.join(""));var m=Function.apply(void 0,g).apply(void 0,v);return i[e]=m,m}(r)(t,e)};var n=t("dup"),a=t("cwise-compiler"),i={},o={},s={body:"",args:[],thisVars:[],localVars:[]},l=a({args:["array","array","array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1},{name:"left",lvalue:!1,rvalue:!0,count:1},{name:"right",lvalue:!1,rvalue:!0,count:1}],body:"out=0.5*(left-right)",thisVars:[],localVars:[]},funcName:"cdiff"}),c=a({args:["array"],pre:s,post:s,body:{args:[{name:"out",lvalue:!0,rvalue:!1,count:1}],body:"out=0",thisVars:[],localVars:[]},funcName:"zero"});function u(t){if(t in i)return i[t];for(var e=[],r=0;r<t;++r)e.push("out",r,"s=0.5*(inp",r,"l-inp",r,"r);");var o=["array"],l=["junk"];for(r=0;r<t;++r){o.push("array"),l.push("out"+r+"s");var c=n(t);c[r]=-1,o.push({array:0,offset:c.slice()}),c[r]=1,o.push({array:0,offset:c.slice()}),l.push("inp"+r+"l","inp"+r+"r")}return i[t]=a({args:o,pre:s,post:s,body:{body:e.join(""),args:l.map(function(t){return{name:t,lvalue:0===t.indexOf("out"),rvalue:0===t.indexOf("inp"),count:"junk"!==t|0}}),thisVars:[],localVars:[]},funcName:"fdTemplate"+t})}},{"cwise-compiler":147,dup:171}],443:[function(t,e,r){"use strict";var n=t("ndarray-warp"),a=t("gl-matrix-invert");e.exports=function(t,e,r){var i=e.dimension,o=a([],r);return n(t,e,function(t,e){for(var r=0;r<i;++r){t[r]=o[(i+1)*i+r];for(var n=0;n<i;++n)t[r]+=o[(i+1)*n+r]*e[n]}var a=o[(i+1)*(i+1)-1];for(n=0;n<i;++n)a+=o[(i+1)*n+i]*e[n];var s=1/a;for(r=0;r<i;++r)t[r]*=s;return t}),t}},{"gl-matrix-invert":279,"ndarray-warp":450}],444:[function(t,e,r){"use strict";function n(t,e){var r=Math.floor(e),n=e-r,a=0<=r&&r<t.shape[0],i=0<=r+1&&r+1<t.shape[0];return(1-n)*(a?+t.get(r):0)+n*(i?+t.get(r+1):0)}function a(t,e,r){var n=Math.floor(e),a=e-n,i=0<=n&&n<t.shape[0],o=0<=n+1&&n+1<t.shape[0],s=Math.floor(r),l=r-s,c=0<=s&&s<t.shape[1],u=0<=s+1&&s+1<t.shape[1],h=i&&c?t.get(n,s):0,f=i&&u?t.get(n,s+1):0;return(1-l)*((1-a)*h+a*(o&&c?t.get(n+1,s):0))+l*((1-a)*f+a*(o&&u?t.get(n+1,s+1):0))}function i(t,e,r,n){var a=Math.floor(e),i=e-a,o=0<=a&&a<t.shape[0],s=0<=a+1&&a+1<t.shape[0],l=Math.floor(r),c=r-l,u=0<=l&&l<t.shape[1],h=0<=l+1&&l+1<t.shape[1],f=Math.floor(n),p=n-f,d=0<=f&&f<t.shape[2],g=0<=f+1&&f+1<t.shape[2],v=o&&u&&d?t.get(a,l,f):0,m=o&&h&&d?t.get(a,l+1,f):0,y=s&&u&&d?t.get(a+1,l,f):0,x=s&&h&&d?t.get(a+1,l+1,f):0,b=o&&u&&g?t.get(a,l,f+1):0,_=o&&h&&g?t.get(a,l+1,f+1):0;return(1-p)*((1-c)*((1-i)*v+i*y)+c*((1-i)*m+i*x))+p*((1-c)*((1-i)*b+i*(s&&u&&g?t.get(a+1,l,f+1):0))+c*((1-i)*_+i*(s&&h&&g?t.get(a+1,l+1,f+1):0)))}e.exports=function(t,e,r,o){switch(t.shape.length){case 0:return 0;case 1:return n(t,e);case 2:return a(t,e,r);case 3:return i(t,e,r,o);default:return function(t){var e,r,n=0|t.shape.length,a=new Array(n),i=new Array(n),o=new Array(n),s=new Array(n);for(e=0;e<n;++e)r=+arguments[e+1],a[e]=Math.floor(r),i[e]=r-a[e],o[e]=0<=a[e]&&a[e]<t.shape[e],s[e]=0<=a[e]+1&&a[e]+1<t.shape[e];var l,c,u,h=0;t:for(e=0;e<1<<n;++e){for(c=1,u=t.offset,l=0;l<n;++l)if(e&1<<l){if(!s[l])continue t;c*=i[l],u+=t.stride[l]*(a[l]+1)}else{if(!o[l])continue t;c*=1-i[l],u+=t.stride[l]*a[l]}h+=c*t.data[u]}return h}.apply(void 0,arguments)}},e.exports.d1=n,e.exports.d2=a,e.exports.d3=i},{}],445:[function(t,e,r){"use strict";var n=t("cwise-compiler"),a={body:"",args:[],thisVars:[],localVars:[]};function i(t){if(!t)return a;for(var e=0;e<t.args.length;++e){var r=t.args[e];t.args[e]=0===e?{name:r,lvalue:!0,rvalue:!!t.rvalue,count:t.count||1}:{name:r,lvalue:!1,rvalue:!0,count:1}}return t.thisVars||(t.thisVars=[]),t.localVars||(t.localVars=[]),t}function o(t){for(var e=[],r=0;r<t.args.length;++r)e.push("a"+r);return new Function("P",["return function ",t.funcName,"_ndarrayops(",e.join(","),") {P(",e.join(","),");return a0}"].join(""))(function(t){return n({args:t.args,pre:i(t.pre),body:i(t.body),post:i(t.proc),funcName:t.funcName})}(t))}var s={add:"+",sub:"-",mul:"*",div:"/",mod:"%",band:"&",bor:"|",bxor:"^",lshift:"<<",rshift:">>",rrshift:">>>"};!function(){for(var t in s){var e=s[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a"+e+"=b"},rvalue:!0,funcName:t+"eq"}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a"+e+"=s"},rvalue:!0,funcName:t+"seq"})}}();var l={not:"!",bnot:"~",neg:"-",recip:"1.0/"};!function(){for(var t in l){var e=l[t];r[t]=o({args:["array","array"],body:{args:["a","b"],body:"a="+e+"b"},funcName:t}),r[t+"eq"]=o({args:["array"],body:{args:["a"],body:"a="+e+"a"},rvalue:!0,count:2,funcName:t+"eq"})}}();var c={and:"&&",or:"||",eq:"===",neq:"!==",lt:"<",gt:">",leq:"<=",geq:">="};!function(){for(var t in c){var e=c[t];r[t]=o({args:["array","array","array"],body:{args:["a","b","c"],body:"a=b"+e+"c"},funcName:t}),r[t+"s"]=o({args:["array","array","scalar"],body:{args:["a","b","s"],body:"a=b"+e+"s"},funcName:t+"s"}),r[t+"eq"]=o({args:["array","array"],body:{args:["a","b"],body:"a=a"+e+"b"},rvalue:!0,count:2,funcName:t+"eq"}),r[t+"seq"]=o({args:["array","scalar"],body:{args:["a","s"],body:"a=a"+e+"s"},rvalue:!0,count:2,funcName:t+"seq"})}}();var u=["abs","acos","asin","atan","ceil","cos","exp","floor","log","round","sin","sqrt","tan"];!function(){for(var t=0;t<u.length;++t){var e=u[t];r[e]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b)",thisVars:["this_f"]},funcName:e}),r[e+"eq"]=o({args:["array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a"],body:"a=this_f(a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"})}}();var h=["max","min","atan2","pow"];!function(){for(var t=0;t<h.length;++t){var e=h[t];r[e]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e}),r[e+"s"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(b,c)",thisVars:["this_f"]},funcName:e+"s"}),r[e+"eq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"eq"}),r[e+"seq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(a,b)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"seq"})}}();var f=["atan2","pow"];!function(){for(var t=0;t<f.length;++t){var e=f[t];r[e+"op"]=o({args:["array","array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"op"}),r[e+"ops"]=o({args:["array","array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b","c"],body:"a=this_f(c,b)",thisVars:["this_f"]},funcName:e+"ops"}),r[e+"opeq"]=o({args:["array","array"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opeq"}),r[e+"opseq"]=o({args:["array","scalar"],pre:{args:[],body:"this_f=Math."+e,thisVars:["this_f"]},body:{args:["a","b"],body:"a=this_f(b,a)",thisVars:["this_f"]},rvalue:!0,count:2,funcName:e+"opseq"})}}(),r.any=n({args:["array"],pre:a,body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"if(a){return true}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return false"},funcName:"any"}),r.all=n({args:["array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1}],body:"if(!x){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"all"}),r.sum=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s+=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"sum"}),r.prod=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=1"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:1}],body:"this_s*=a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"prod"}),r.norm2squared=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm2squared"}),r.norm2=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:2}],body:"this_s+=a*a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return Math.sqrt(this_s)"},funcName:"norm2"}),r.norminf=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:4}],body:"if(-a>this_s){this_s=-a}else if(a>this_s){this_s=a}",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norminf"}),r.norm1=n({args:["array"],pre:{args:[],localVars:[],thisVars:["this_s"],body:"this_s=0"},body:{args:[{name:"a",lvalue:!1,rvalue:!0,count:3}],body:"this_s+=a<0?-a:a",localVars:[],thisVars:["this_s"]},post:{args:[],localVars:[],thisVars:["this_s"],body:"return this_s"},funcName:"norm1"}),r.sup=n({args:["array"],pre:{body:"this_h=-Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_>this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.inf=n({args:["array"],pre:{body:"this_h=Infinity",args:[],thisVars:["this_h"],localVars:[]},body:{body:"if(_inline_1_arg0_<this_h)this_h=_inline_1_arg0_",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_h"],localVars:[]},post:{body:"return this_h",args:[],thisVars:["this_h"],localVars:[]}}),r.argmin=n({args:["index","array","shape"],pre:{body:"{this_v=Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_<this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.argmax=n({args:["index","array","shape"],pre:{body:"{this_v=-Infinity;this_i=_inline_0_arg2_.slice(0)}",args:[{name:"_inline_0_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_0_arg2_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_i","this_v"],localVars:[]},body:{body:"{if(_inline_1_arg1_>this_v){this_v=_inline_1_arg1_;for(var _inline_1_k=0;_inline_1_k<_inline_1_arg0_.length;++_inline_1_k){this_i[_inline_1_k]=_inline_1_arg0_[_inline_1_k]}}}",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:2}],thisVars:["this_i","this_v"],localVars:["_inline_1_k"]},post:{body:"{return this_i}",args:[],thisVars:["this_i"],localVars:[]}}),r.random=o({args:["array"],pre:{args:[],body:"this_f=Math.random",thisVars:["this_f"]},body:{args:["a"],body:"a=this_f()",thisVars:["this_f"]},funcName:"random"}),r.assign=o({args:["array","array"],body:{args:["a","b"],body:"a=b"},funcName:"assign"}),r.assigns=o({args:["array","scalar"],body:{args:["a","b"],body:"a=b"},funcName:"assigns"}),r.equals=n({args:["array","array"],pre:a,body:{args:[{name:"x",lvalue:!1,rvalue:!0,count:1},{name:"y",lvalue:!1,rvalue:!0,count:1}],body:"if(x!==y){return false}",localVars:[],thisVars:[]},post:{args:[],localVars:[],thisVars:[],body:"return true"},funcName:"equals"})},{"cwise-compiler":147}],446:[function(t,e,r){"use strict";var n=t("ndarray"),a=t("./doConvert.js");e.exports=function(t,e){for(var r=[],i=t,o=1;Array.isArray(i);)r.push(i.length),o*=i.length,i=i[0];return 0===r.length?n():(e||(e=n(new Float64Array(o),r)),a(e,t),e)}},{"./doConvert.js":447,ndarray:451}],447:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\nvar _inline_1_v=_inline_1_arg1_,_inline_1_i\nfor(_inline_1_i=0;_inline_1_i<_inline_1_arg2_.length-1;++_inline_1_i) {\n_inline_1_v=_inline_1_v[_inline_1_arg2_[_inline_1_i]]\n}\n_inline_1_arg0_=_inline_1_v[_inline_1_arg2_[_inline_1_arg2_.length-1]]\n}",args:[{name:"_inline_1_arg0_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:4}],thisVars:[],localVars:["_inline_1_i","_inline_1_v"]},post:{body:"{}",args:[],thisVars:[],localVars:[]},funcName:"convert",blockSize:64})},{"cwise-compiler":147}],448:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=32;function i(t){switch(t){case"uint8":return[n.mallocUint8,n.freeUint8];case"uint16":return[n.mallocUint16,n.freeUint16];case"uint32":return[n.mallocUint32,n.freeUint32];case"int8":return[n.mallocInt8,n.freeInt8];case"int16":return[n.mallocInt16,n.freeInt16];case"int32":return[n.mallocInt32,n.freeInt32];case"float32":return[n.mallocFloat,n.freeFloat];case"float64":return[n.mallocDouble,n.freeDouble];default:return null}}function o(t){for(var e=[],r=0;r<t;++r)e.push("s"+r);for(r=0;r<t;++r)e.push("n"+r);for(r=1;r<t;++r)e.push("d"+r);for(r=1;r<t;++r)e.push("e"+r);for(r=1;r<t;++r)e.push("f"+r);return e}e.exports=function(t,e){var r=["'use strict'"],n=["ndarraySortWrapper",t.join("d"),e].join("");r.push(["function ",n,"(",["array"].join(","),"){"].join(""));for(var s=["data=array.data,offset=array.offset|0,shape=array.shape,stride=array.stride"],l=0;l<t.length;++l)s.push(["s",l,"=stride[",l,"]|0,n",l,"=shape[",l,"]|0"].join(""));var c=new Array(t.length),u=[];for(l=0;l<t.length;++l)0!==(p=t[l])&&(0===u.length?c[p]="1":c[p]=u.join("*"),u.push("n"+p));var h=-1,f=-1;for(l=0;l<t.length;++l){var p,d=t[l];0!==d&&(h>0?s.push(["d",d,"=s",d,"-d",h,"*n",h].join("")):s.push(["d",d,"=s",d].join("")),h=d),0!=(p=t.length-1-l)&&(f>0?s.push(["e",p,"=s",p,"-e",f,"*n",f,",f",p,"=",c[p],"-f",f,"*n",f].join("")):s.push(["e",p,"=s",p,",f",p,"=",c[p]].join("")),f=p)}r.push("var "+s.join(","));var g=["0","n0-1","data","offset"].concat(o(t.length));r.push(["if(n0<=",a,"){","insertionSort(",g.join(","),")}else{","quickSort(",g.join(","),")}"].join("")),r.push("}return "+n);var v=new Function("insertionSort","quickSort",r.join("\n")),m=function(t,e){var r=["'use strict'"],n=["ndarrayInsertionSort",t.join("d"),e].join(""),a=["left","right","data","offset"].concat(o(t.length)),s=i(e),l=["i,j,cptr,ptr=left*s0+offset"];if(t.length>1){for(var c=[],u=1;u<t.length;++u)l.push("i"+u),c.push("n"+u);s?l.push("scratch=malloc("+c.join("*")+")"):l.push("scratch=new Array("+c.join("*")+")"),l.push("dptr","sptr","a","b")}else l.push("scratch");function h(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function f(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}if(r.push(["function ",n,"(",a.join(","),"){var ",l.join(",")].join(""),"for(i=left+1;i<=right;++i){","j=i;ptr+=s0","cptr=ptr"),t.length>1){for(r.push("dptr=0;sptr=ptr"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push("scratch[dptr++]=",h("sptr")),u=0;u<t.length;++u)0!==(p=t[u])&&r.push("sptr+=d"+p,"}");for(r.push("__g:while(j--\x3eleft){","dptr=0","sptr=cptr-s0"),u=1;u<t.length;++u)1===u&&r.push("__l:"),r.push(["for(i",u,"=0;i",u,"<n",u,";++i",u,"){"].join(""));for(r.push(["a=",h("sptr"),"\nb=scratch[dptr]\nif(a<b){break __g}\nif(a>b){break __l}"].join("")),u=t.length-1;u>=1;--u)r.push("sptr+=e"+u,"dptr+=f"+u,"}");for(r.push("dptr=cptr;sptr=cptr-s0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(f("dptr",h("sptr"))),u=0;u<t.length;++u)0!==(p=t[u])&&r.push(["dptr+=d",p,";sptr+=d",p].join(""),"}");for(r.push("cptr-=s0\n}"),r.push("dptr=cptr;sptr=0"),u=t.length-1;u>=0;--u)0!==(p=t[u])&&r.push(["for(i",p,"=0;i",p,"<n",p,";++i",p,"){"].join(""));for(r.push(f("dptr","scratch[sptr++]")),u=0;u<t.length;++u){var p;0!==(p=t[u])&&r.push("dptr+=d"+p,"}")}}else r.push("scratch="+h("ptr"),"while((j--\x3eleft)&&("+h("cptr-s0")+">scratch)){",f("cptr",h("cptr-s0")),"cptr-=s0","}",f("cptr","scratch"));return r.push("}"),t.length>1&&s&&r.push("free(scratch)"),r.push("} return "+n),s?new Function("malloc","free",r.join("\n"))(s[0],s[1]):new Function(r.join("\n"))()}(t,e),y=function(t,e,r){var n=["'use strict'"],s=["ndarrayQuickSort",t.join("d"),e].join(""),l=["left","right","data","offset"].concat(o(t.length)),c=i(e),u=0;n.push(["function ",s,"(",l.join(","),"){"].join(""));var h=["sixth=((right-left+1)/6)|0","index1=left+sixth","index5=right-sixth","index3=(left+right)>>1","index2=index3-sixth","index4=index3+sixth","el1=index1","el2=index2","el3=index3","el4=index4","el5=index5","less=left+1","great=right-1","pivots_are_equal=true","tmp","tmp0","x","y","z","k","ptr0","ptr1","ptr2","comp_pivot1=0","comp_pivot2=0","comp=0"];if(t.length>1){for(var f=[],p=1;p<t.length;++p)f.push("n"+p),h.push("i"+p);for(p=0;p<8;++p)h.push("b_ptr"+p);h.push("ptr3","ptr4","ptr5","ptr6","ptr7","pivot_ptr","ptr_shift","elementSize="+f.join("*")),c?h.push("pivot1=malloc(elementSize)","pivot2=malloc(elementSize)"):h.push("pivot1=new Array(elementSize),pivot2=new Array(elementSize)")}else h.push("pivot1","pivot2");function d(t){return["(offset+",t,"*s0)"].join("")}function g(t){return"generic"===e?["data.get(",t,")"].join(""):["data[",t,"]"].join("")}function v(t,r){return"generic"===e?["data.set(",t,",",r,")"].join(""):["data[",t,"]=",r].join("")}function m(e,r,a){if(1===e.length)n.push("ptr0="+d(e[0]));else for(var i=0;i<e.length;++i)n.push(["b_ptr",i,"=s0*",e[i]].join(""));for(r&&n.push("pivot_ptr=0"),n.push("ptr_shift=offset"),i=t.length-1;i>=0;--i)0!==(o=t[i])&&n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(e.length>1)for(i=0;i<e.length;++i)n.push(["ptr",i,"=b_ptr",i,"+ptr_shift"].join(""));for(n.push(a),r&&n.push("++pivot_ptr"),i=0;i<t.length;++i){var o;0!==(o=t[i])&&(e.length>1?n.push("ptr_shift+=d"+o):n.push("ptr0+=d"+o),n.push("}"))}}function y(e,r,a,i){if(1===r.length)n.push("ptr0="+d(r[0]));else{for(var o=0;o<r.length;++o)n.push(["b_ptr",o,"=s0*",r[o]].join(""));n.push("ptr_shift=offset")}for(a&&n.push("pivot_ptr=0"),e&&n.push(e+":"),o=1;o<t.length;++o)n.push(["for(i",o,"=0;i",o,"<n",o,";++i",o,"){"].join(""));if(r.length>1)for(o=0;o<r.length;++o)n.push(["ptr",o,"=b_ptr",o,"+ptr_shift"].join(""));for(n.push(i),o=t.length-1;o>=1;--o)a&&n.push("pivot_ptr+=f"+o),r.length>1?n.push("ptr_shift+=e"+o):n.push("ptr0+=e"+o),n.push("}")}function x(){t.length>1&&c&&n.push("free(pivot1)","free(pivot2)")}function b(e,r){var a="el"+e,i="el"+r;if(t.length>1){var o="__l"+ ++u;y(o,[a,i],!1,["comp=",g("ptr0"),"-",g("ptr1"),"\n","if(comp>0){tmp0=",a,";",a,"=",i,";",i,"=tmp0;break ",o,"}\n","if(comp<0){break ",o,"}"].join(""))}else n.push(["if(",g(d(a)),">",g(d(i)),"){tmp0=",a,";",a,"=",i,";",i,"=tmp0}"].join(""))}function _(e,r){t.length>1?m([e,r],!1,v("ptr0",g("ptr1"))):n.push(v(d(e),g(d(r))))}function w(e,r,a){if(t.length>1){var i="__l"+ ++u;y(i,[r],!0,[e,"=",g("ptr0"),"-pivot",a,"[pivot_ptr]\n","if(",e,"!==0){break ",i,"}"].join(""))}else n.push([e,"=",g(d(r)),"-pivot",a].join(""))}function k(e,r){t.length>1?m([e,r],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join("")):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1","tmp")].join(""))}function T(e,r,a){t.length>1?(m([e,r,a],!1,["tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join("")),n.push("++"+r,"--"+a)):n.push(["ptr0=",d(e),"\n","ptr1=",d(r),"\n","ptr2=",d(a),"\n","++",r,"\n","--",a,"\n","tmp=",g("ptr0"),"\n",v("ptr0",g("ptr1")),"\n",v("ptr1",g("ptr2")),"\n",v("ptr2","tmp")].join(""))}function A(t,e){k(t,e),n.push("--"+e)}function M(e,r,a){t.length>1?m([e,r],!0,[v("ptr0",g("ptr1")),"\n",v("ptr1",["pivot",a,"[pivot_ptr]"].join(""))].join("")):n.push(v(d(e),g(d(r))),v(d(r),"pivot"+a))}function S(e,r){n.push(["if((",r,"-",e,")<=",a,"){\n","insertionSort(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}else{\n",s,"(",e,",",r,",data,offset,",o(t.length).join(","),")\n","}"].join(""))}function E(e,r,a){t.length>1?(n.push(["__l",++u,":while(true){"].join("")),m([e],!0,["if(",g("ptr0"),"!==pivot",r,"[pivot_ptr]){break __l",u,"}"].join("")),n.push(a,"}")):n.push(["while(",g(d(e)),"===pivot",r,"){",a,"}"].join(""))}return n.push("var "+h.join(",")),b(1,2),b(4,5),b(1,3),b(2,3),b(1,4),b(3,4),b(2,5),b(2,3),b(4,5),t.length>1?m(["el1","el2","el3","el4","el5","index1","index3","index5"],!0,["pivot1[pivot_ptr]=",g("ptr1"),"\n","pivot2[pivot_ptr]=",g("ptr3"),"\n","pivots_are_equal=pivots_are_equal&&(pivot1[pivot_ptr]===pivot2[pivot_ptr])\n","x=",g("ptr0"),"\n","y=",g("ptr2"),"\n","z=",g("ptr4"),"\n",v("ptr5","x"),"\n",v("ptr6","y"),"\n",v("ptr7","z")].join("")):n.push(["pivot1=",g(d("el2")),"\n","pivot2=",g(d("el4")),"\n","pivots_are_equal=pivot1===pivot2\n","x=",g(d("el1")),"\n","y=",g(d("el3")),"\n","z=",g(d("el5")),"\n",v(d("index1"),"x"),"\n",v(d("index3"),"y"),"\n",v(d("index5"),"z")].join("")),_("index2","left"),_("index4","right"),n.push("if(pivots_are_equal){"),n.push("for(k=less;k<=great;++k){"),w("comp","k",1),n.push("if(comp===0){continue}"),n.push("if(comp<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),n.push("while(true){"),w("comp","great",1),n.push("if(comp>0){"),n.push("great--"),n.push("}else if(comp<0){"),T("k","less","great"),n.push("break"),n.push("}else{"),A("k","great"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}else{"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1<0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2>0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp>0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),T("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),M("left","(less-1)",1),M("right","(great+1)",2),S("left","(less-2)"),S("(great+2)","right"),n.push("if(pivots_are_equal){"),x(),n.push("return"),n.push("}"),n.push("if(less<index1&&great>index5){"),E("less",1,"++less"),E("great",2,"--great"),n.push("for(k=less;k<=great;++k){"),w("comp_pivot1","k",1),n.push("if(comp_pivot1===0){"),n.push("if(k!==less){"),k("k","less"),n.push("}"),n.push("++less"),n.push("}else{"),w("comp_pivot2","k",2),n.push("if(comp_pivot2===0){"),n.push("while(true){"),w("comp","great",2),n.push("if(comp===0){"),n.push("if(--great<k){break}"),n.push("continue"),n.push("}else{"),w("comp","great",1),n.push("if(comp<0){"),T("k","less","great"),n.push("}else{"),A("k","great"),n.push("}"),n.push("break"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),n.push("}"),x(),S("less","great"),n.push("}return "+s),t.length>1&&c?new Function("insertionSort","malloc","free",n.join("\n"))(r,c[0],c[1]):new Function("insertionSort",n.join("\n"))(r)}(t,e,m);return v(m,y)}},{"typedarray-pool":543}],449:[function(t,e,r){"use strict";var n=t("./lib/compile_sort.js"),a={};e.exports=function(t){var e=t.order,r=t.dtype,i=[e,r].join(":"),o=a[i];return o||(a[i]=o=n(e,r)),o(t),t}},{"./lib/compile_sort.js":448}],450:[function(t,e,r){"use strict";var n=t("ndarray-linear-interpolate"),a=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=new Array(_inline_3_arg4_)}",args:[{name:"_inline_3_arg0_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg1_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg2_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg3_",lvalue:!1,rvalue:!1,count:0},{name:"_inline_3_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_4_arg2_(this_warped,_inline_4_arg0_),_inline_4_arg1_=_inline_4_arg3_.apply(void 0,this_warped)}",args:[{name:"_inline_4_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_4_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_4_arg4_",lvalue:!1,rvalue:!1,count:0}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warpND",blockSize:64}),i=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_7_arg2_(this_warped,_inline_7_arg0_),_inline_7_arg1_=_inline_7_arg3_(_inline_7_arg4_,this_warped[0])}",args:[{name:"_inline_7_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_7_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_7_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp1D",blockSize:64}),o=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_10_arg2_(this_warped,_inline_10_arg0_),_inline_10_arg1_=_inline_10_arg3_(_inline_10_arg4_,this_warped[0],this_warped[1])}",args:[{name:"_inline_10_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_10_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_10_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp2D",blockSize:64}),s=t("cwise/lib/wrapper")({args:["index","array","scalar","scalar","scalar"],pre:{body:"{this_warped=[0,0,0]}",args:[],thisVars:["this_warped"],localVars:[]},body:{body:"{_inline_13_arg2_(this_warped,_inline_13_arg0_),_inline_13_arg1_=_inline_13_arg3_(_inline_13_arg4_,this_warped[0],this_warped[1],this_warped[2])}",args:[{name:"_inline_13_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg1_",lvalue:!0,rvalue:!1,count:1},{name:"_inline_13_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg3_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_13_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:["this_warped"],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},debug:!1,funcName:"warp3D",blockSize:64});e.exports=function(t,e,r){switch(e.shape.length){case 1:i(t,r,n.d1,e);break;case 2:o(t,r,n.d2,e);break;case 3:s(t,r,n.d3,e);break;default:a(t,r,n.bind(void 0,e),e.shape.length)}return t}},{"cwise/lib/wrapper":150,"ndarray-linear-interpolate":444}],451:[function(t,e,r){var n=t("iota-array"),a=t("is-buffer"),i="undefined"!=typeof Float64Array;function o(t,e){return t[0]-e[0]}function s(){var t,e=this.stride,r=new Array(e.length);for(t=0;t<r.length;++t)r[t]=[Math.abs(e[t]),t];r.sort(o);var n=new Array(r.length);for(t=0;t<n.length;++t)n[t]=r[t][1];return n}function l(t,e){var r=["View",e,"d",t].join("");e<0&&(r="View_Nil"+t);var a="generic"===t;if(-1===e){var i="function "+r+"(a){this.data=a;};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return -1};proto.size=0;proto.dimension=-1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function(){return new "+r+"(this.data);};proto.get=proto.set=function(){};proto.pick=function(){return null};return function construct_"+r+"(a){return new "+r+"(a);}";return new Function(i)()}if(0===e){i="function "+r+"(a,d) {this.data = a;this.offset = d};var proto="+r+".prototype;proto.dtype='"+t+"';proto.index=function(){return this.offset};proto.dimension=0;proto.size=1;proto.shape=proto.stride=proto.order=[];proto.lo=proto.hi=proto.transpose=proto.step=function "+r+"_copy() {return new "+r+"(this.data,this.offset)};proto.pick=function "+r+"_pick(){return TrivialArray(this.data);};proto.valueOf=proto.get=function "+r+"_get(){return "+(a?"this.data.get(this.offset)":"this.data[this.offset]")+"};proto.set=function "+r+"_set(v){return "+(a?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+"};return function construct_"+r+"(a,b,c,d){return new "+r+"(a,d)}";return new Function("TrivialArray",i)(c[t][0])}i=["'use strict'"];var o=n(e),l=o.map(function(t){return"i"+t}),u="this.offset+"+o.map(function(t){return"this.stride["+t+"]*i"+t}).join("+"),h=o.map(function(t){return"b"+t}).join(","),f=o.map(function(t){return"c"+t}).join(",");i.push("function "+r+"(a,"+h+","+f+",d){this.data=a","this.shape=["+h+"]","this.stride=["+f+"]","this.offset=d|0}","var proto="+r+".prototype","proto.dtype='"+t+"'","proto.dimension="+e),i.push("Object.defineProperty(proto,'size',{get:function "+r+"_size(){return "+o.map(function(t){return"this.shape["+t+"]"}).join("*"),"}})"),1===e?i.push("proto.order=[0]"):(i.push("Object.defineProperty(proto,'order',{get:"),e<4?(i.push("function "+r+"_order(){"),2===e?i.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):3===e&&i.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]);if(s0>s1){if(s1>s2){return [2,1,0];}else if(s0>s2){return [1,2,0];}else{return [1,0,2];}}else if(s0>s2){return [2,0,1];}else if(s2>s1){return [0,1,2];}else{return [0,2,1];}}})")):i.push("ORDER})")),i.push("proto.set=function "+r+"_set("+l.join(",")+",v){"),a?i.push("return this.data.set("+u+",v)}"):i.push("return this.data["+u+"]=v}"),i.push("proto.get=function "+r+"_get("+l.join(",")+"){"),a?i.push("return this.data.get("+u+")}"):i.push("return this.data["+u+"]}"),i.push("proto.index=function "+r+"_index(",l.join(),"){return "+u+"}"),i.push("proto.hi=function "+r+"_hi("+l.join(",")+"){return new "+r+"(this.data,"+o.map(function(t){return["(typeof i",t,"!=='number'||i",t,"<0)?this.shape[",t,"]:i",t,"|0"].join("")}).join(",")+","+o.map(function(t){return"this.stride["+t+"]"}).join(",")+",this.offset)}");var p=o.map(function(t){return"a"+t+"=this.shape["+t+"]"}),d=o.map(function(t){return"c"+t+"=this.stride["+t+"]"});i.push("proto.lo=function "+r+"_lo("+l.join(",")+"){var b=this.offset,d=0,"+p.join(",")+","+d.join(","));for(var g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'&&i"+g+">=0){d=i"+g+"|0;b+=c"+g+"*d;a"+g+"-=d}");i.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"c"+t}).join(",")+",b)}"),i.push("proto.step=function "+r+"_step("+l.join(",")+"){var "+o.map(function(t){return"a"+t+"=this.shape["+t+"]"}).join(",")+","+o.map(function(t){return"b"+t+"=this.stride["+t+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'){d=i"+g+"|0;if(d<0){c+=b"+g+"*(a"+g+"-1);a"+g+"=ceil(-a"+g+"/d)}else{a"+g+"=ceil(a"+g+"/d)}b"+g+"*=d}");i.push("return new "+r+"(this.data,"+o.map(function(t){return"a"+t}).join(",")+","+o.map(function(t){return"b"+t}).join(",")+",c)}");var v=new Array(e),m=new Array(e);for(g=0;g<e;++g)v[g]="a[i"+g+"]",m[g]="b[i"+g+"]";i.push("proto.transpose=function "+r+"_transpose("+l+"){"+l.map(function(t,e){return t+"=("+t+"===undefined?"+e+":"+t+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+r+"(this.data,"+v.join(",")+","+m.join(",")+",this.offset)}"),i.push("proto.pick=function "+r+"_pick("+l+"){var a=[],b=[],c=this.offset");for(g=0;g<e;++g)i.push("if(typeof i"+g+"==='number'&&i"+g+">=0){c=(c+this.stride["+g+"]*i"+g+")|0}else{a.push(this.shape["+g+"]);b.push(this.stride["+g+"])}");return i.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),i.push("return function construct_"+r+"(data,shape,stride,offset){return new "+r+"(data,"+o.map(function(t){return"shape["+t+"]"}).join(",")+","+o.map(function(t){return"stride["+t+"]"}).join(",")+",offset)}"),new Function("CTOR_LIST","ORDER",i.join("\n"))(c[t],s)}var c={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],buffer:[],generic:[]};e.exports=function(t,e,r,n){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===n)for(n=0,s=0;s<o;++s)r[s]<0&&(n-=(e[s]-1)*r[s]);for(var h=function(t){if(a(t))return"buffer";if(i)switch(Object.prototype.toString.call(t)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped"}return Array.isArray(t)?"array":"generic"}(t),f=c[h];f.length<=o+1;)f.push(l(h,f.length-1));return(0,f[o+1])(t,e,r,n)}},{"iota-array":417,"is-buffer":419}],452:[function(t,e,r){"use strict";var n=t("double-bits"),a=Math.pow(2,-1074),i=-1>>>0;e.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-a:a;var r=n.hi(t),o=n.lo(t);e>t==t>0?o===i?(r+=1,o=0):o+=1:0===o?(o=i,r-=1):o-=1;return n.pack(o,r)}},{"double-bits":168}],453:[function(t,e,r){var n=Math.PI,a=c(120);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function o(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}function s(t,e,r,i,o,c,u,h,f,p){if(p)k=p[0],T=p[1],_=p[2],w=p[3];else{var d=l(t,e,-o);t=d.x,e=d.y;var g=(t-(h=(d=l(h,f,-o)).x))/2,v=(e-(f=d.y))/2,m=g*g/(r*r)+v*v/(i*i);m>1&&(r*=m=Math.sqrt(m),i*=m);var y=r*r,x=i*i,b=(c==u?-1:1)*Math.sqrt(Math.abs((y*x-y*v*v-x*g*g)/(y*v*v+x*g*g)));b==1/0&&(b=1);var _=b*r*v/i+(t+h)/2,w=b*-i*g/r+(e+f)/2,k=Math.asin(((e-w)/i).toFixed(9)),T=Math.asin(((f-w)/i).toFixed(9));(k=t<_?n-k:k)<0&&(k=2*n+k),(T=h<_?n-T:T)<0&&(T=2*n+T),u&&k>T&&(k-=2*n),!u&&T>k&&(T-=2*n)}if(Math.abs(T-k)>a){var A=T,M=h,S=f;T=k+a*(u&&T>k?1:-1);var E=s(h=_+r*Math.cos(T),f=w+i*Math.sin(T),r,i,o,0,u,M,S,[T,A,_,w])}var L=Math.tan((T-k)/4),C=4/3*r*L,P=4/3*i*L,O=[2*t-(t+C*Math.sin(k)),2*e-(e-P*Math.cos(k)),h+C*Math.sin(T),f-P*Math.cos(T),h,f];if(p)return O;E&&(O=O.concat(E));for(var z=0;z<O.length;){var I=l(O[z],O[z+1],o);O[z++]=I.x,O[z++]=I.y}return O}function l(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function c(t){return t*(n/180)}e.exports=function(t){for(var e,r=[],n=0,a=0,l=0,u=0,h=null,f=null,p=0,d=0,g=0,v=t.length;g<v;g++){var m=t[g],y=m[0];switch(y){case"M":l=m[1],u=m[2];break;case"A":(m=s(p,d,m[1],m[2],c(m[3]),m[4],m[5],m[6],m[7])).unshift("C"),m.length>7&&(r.push(m.splice(0,7)),m.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-n,b+=b-a),m=["C",x,b,m[1],m[2],m[3],m[4]];break;case"T":"Q"==e||"T"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),m=o(p,d,h,f,m[1],m[2]);break;case"Q":h=m[1],f=m[2],m=o(p,d,m[1],m[2],m[3],m[4]);break;case"L":m=i(p,d,m[1],m[2]);break;case"H":m=i(p,d,m[1],d);break;case"V":m=i(p,d,p,m[1]);break;case"Z":m=i(p,d,l,u)}e=y,p=m[m.length-2],d=m[m.length-1],m.length>4?(n=m[m.length-4],a=m[m.length-3]):(n=p,a=d),r.push(m)}return r}},{}],454:[function(t,e,r){r.vertexNormals=function(t,e,r){for(var n=e.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o)a[o]=[0,0,0];for(o=0;o<t.length;++o)for(var s=t[o],l=0,c=s[s.length-1],u=s[0],h=0;h<s.length;++h){l=c,c=u,u=s[(h+1)%s.length];for(var f=e[l],p=e[c],d=e[u],g=new Array(3),v=0,m=new Array(3),y=0,x=0;x<3;++x)g[x]=f[x]-p[x],v+=g[x]*g[x],m[x]=d[x]-p[x],y+=m[x]*m[x];if(v*y>i){var b=a[c],_=1/Math.sqrt(v*y);for(x=0;x<3;++x){var w=(x+1)%3,k=(x+2)%3;b[x]+=_*(m[w]*g[k]-m[k]*g[w])}}}for(o=0;o<n;++o){b=a[o];var T=0;for(x=0;x<3;++x)T+=b[x]*b[x];if(T>i)for(_=1/Math.sqrt(T),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return a},r.faceNormals=function(t,e,r){for(var n=t.length,a=new Array(n),i=void 0===r?1e-6:r,o=0;o<n;++o){for(var s=t[o],l=new Array(3),c=0;c<3;++c)l[c]=e[s[c]];var u=new Array(3),h=new Array(3);for(c=0;c<3;++c)u[c]=l[1][c]-l[0][c],h[c]=l[2][c]-l[0][c];var f=new Array(3),p=0;for(c=0;c<3;++c){var d=(c+1)%3,g=(c+2)%3;f[c]=u[d]*h[g]-u[g]*h[d],p+=f[c]*f[c]}p=p>i?1/Math.sqrt(p):0;for(c=0;c<3;++c)f[c]*=p;a[o]=f}return a}},{}],455:[function(t,e,r){"use strict";var n=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l<arguments.length;l++){for(var c in r=Object(arguments[l]))a.call(r,c)&&(s[c]=r[c]);if(n){o=n(r);for(var u=0;u<o.length;u++)i.call(r,o[u])&&(s[o[u]]=r[o[u]])}}return s}},{}],456:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i,o,s,l,c){var u=e+i+c;if(h>0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-i)/h,t[3]=.5*h}else{var f=Math.max(e,i,c),h=Math.sqrt(2*f-u+1);e>=f?(t[0]=.5*h,t[1]=.5*(a+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):i>=f?(t[0]=.5*(r+a)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-a)/h)}return t}},{}],457:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var a=new h(r,e,Math.log(n));a.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&a.lookAt(0,t.eye,t.center,t.up);return a};var n=t("filtered-vector"),a=t("gl-mat4/lookAt"),i=t("gl-mat4/fromQuat"),o=t("gl-mat4/invert"),s=t("./lib/quatFromFrame");function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],a=e[2],i=e[3],o=c(r,n,a,i);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=a/o,t[3]=i/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;i(r,e);var n=this.computedCenter,a=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);a[0]=n[0]+s*r[2],a[1]=n[1]+s*r[6],a[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*a[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=a[1],o=a[5],s=a[9],c=l(i,o,s);i/=c,o/=c,s/=c;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=l(u-=i*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var g=a[2],v=a[6],m=a[10],y=g*i+v*o+m*s,x=g*u+v*h+m*f,b=l(g-=y*i+x*u,v-=y*o+x*h,m-=y*s+x*f);g/=b,v/=b,m/=b;var _=u*e+i*r,w=h*e+o*r,k=f*e+s*r;this.center.move(t,_,w,k);var T=Math.exp(this.computedRadius[0]);T=Math.max(1e-4,T+n),this.radius.set(t,Math.log(T))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var a=this.computedMatrix,i=a[0],o=a[4],s=a[8],u=a[1],h=a[5],f=a[9],p=a[2],d=a[6],g=a[10],v=e*i+r*u,m=e*o+r*h,y=e*s+r*f,x=-(d*y-g*m),b=-(g*v-p*y),_=-(p*m-d*v),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),k=c(x,b,_,w);k>1e-6?(x/=k,b/=k,_/=k,w/=k):(x=b=_=0,w=1);var T=this.computedRotation,A=T[0],M=T[1],S=T[2],E=T[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=g;var z=Math.sin(n)/l(x,b,_);x*=z,b*=z,_*=z,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var I=c(L,C,P,O);I>1e-6?(L/=I,C/=I,P/=I,O/=I):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var i=this.computedMatrix;a(i,e,r,n);var o=this.computedRotation;s(o,i[0],i[1],i[2],i[4],i[5],i[6],i[8],i[9],i[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var a=n[15];if(Math.abs(a)>1e-6){var i=n[12]/a,l=n[13]/a,c=n[14]/a;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,i-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var a=t.distance;a&&a>0&&this.radius.set(e,Math.log(a)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},{"./lib/quatFromFrame":456,"filtered-vector":228,"gl-mat4/fromQuat":264,"gl-mat4/invert":267,"gl-mat4/lookAt":268}],458:[function(t,e,r){"use strict";var n=t("repeat-string");e.exports=function(t,e,r){return n(r="undefined"!=typeof r?r+"":" ",e)+t}},{"repeat-string":501}],459:[function(t,e,r){"use strict";function n(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],a=e.escape||"___",i=!!e.flat;n.forEach(function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function i(e,i,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),a+s+a}r.forEach(function(t,n){for(var a,o=0;t!=a;)if(a=t,t=t.replace(e,i),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t}),n=n.reverse(),r=r.map(function(e){return n.forEach(function(r){e=e.replace(new RegExp("(\\"+a+r+"\\"+a+")","g"),t[0]+"$1"+t[1])}),e})});var o=new RegExp("\\"+a+"([0-9]+)\\"+a);return i?r:function t(e,r,n){for(var a,i=[],s=0;a=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");i.push(e.slice(0,a.index)),i.push(t(r[a[1]],r)),e=e.slice(a.index+a[0].length)}return i.push(e),i}(r[0],r)}function a(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",a=t[0];if(!a)return"";for(var i=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;a!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=a,a=a.replace(i,s)}return a}return t.reduce(function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r},"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function i(t,e){return Array.isArray(t)?a(t,e):n(t,e)}i.parse=n,i.stringify=a,e.exports=i},{}],460:[function(t,e,r){"use strict";var n=t("pick-by-alias");e.exports=function(t){var e;arguments.length>1&&(t=arguments);"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]);t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"}),e={x:t.left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height);return e}},{"pick-by-alias":466}],461:[function(t,e,r){e.exports=function(t){var e=[];return t.replace(a,function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(i);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(e.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==n[o])return a.unshift(r),e.push(a);if(a.length<n[o])throw new Error("malformed path data");e.push([r].concat(a.splice(0,n[o])))}}),e};var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=/([astvzqmhlc])([^astvzqmhlc]*)/gi;var i=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi},{}],462:[function(t,e,r){e.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},{}],463:[function(t,e,r){(function(t){(function(){var r,n,a,i,o,s;"undefined"!=typeof performance&&null!==performance&&performance.now?e.exports=function(){return performance.now()}:"undefined"!=typeof t&&null!==t&&t.hrtime?(e.exports=function(){return(r()-o)/1e6},n=t.hrtime,i=(r=function(){var t;return 1e9*(t=n())[0]+t[1]})(),s=1e9*t.uptime(),o=i-s):Date.now?(e.exports=function(){return Date.now()-a},a=Date.now()):(e.exports=function(){return(new Date).getTime()-a},a=(new Date).getTime())}).call(this)}).call(this,t("_process"))},{_process:483}],464:[function(t,e,r){"use strict";e.exports=function(t){var e=t.length;if(e<n){for(var r=1,i=0;i<e;++i)for(var o=0;o<i;++o)if(t[i]<t[o])r=-r;else if(t[i]===t[o])return 0;return r}for(var s=a.mallocUint8(e),i=0;i<e;++i)s[i]=0;for(var r=1,i=0;i<e;++i)if(!s[i]){var l=1;s[i]=1;for(var o=t[i];o!==i;o=t[o]){if(s[o])return a.freeUint8(s),0;l+=1,s[o]=1}1&l||(r=-r)}return a.freeUint8(s),r};var n=32,a=t("typedarray-pool")},{"typedarray-pool":543}],465:[function(t,e,r){"use strict";var n=t("typedarray-pool"),a=t("invert-permutation");r.rank=function(t){var e=t.length;switch(e){case 0:case 1:return 0;case 2:return t[1]}var r,i,o,s=n.mallocUint32(e),l=n.mallocUint32(e),c=0;for(a(t,l),o=0;o<e;++o)s[o]=t[o];for(o=e-1;o>0;--o)i=l[o],r=s[o],s[o]=s[i],s[i]=r,l[o]=l[r],l[r]=i,c=(c+r)*o;return n.freeUint32(l),n.freeUint32(s),c},r.unrank=function(t,e,r){switch(t){case 0:return r||[];case 1:return r?(r[0]=0,r):[0];case 2:return r?(e?(r[0]=0,r[1]=1):(r[0]=1,r[1]=0),r):e?[0,1]:[1,0]}var n,a,i,o=1;for((r=r||new Array(t))[0]=0,i=1;i<t;++i)r[i]=i,o=o*i|0;for(i=t-1;i>0;--i)e=e-(n=e/o|0)*o|0,o=o/i|0,a=0|r[i],r[i]=0|r[n],r[n]=0|a;return r}},{"invert-permutation":416,"typedarray-pool":543}],466:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n,i,o={};if("string"==typeof e&&(e=a(e)),Array.isArray(e)){var s={};for(i=0;i<e.length;i++)s[e[i]]=!0;e=s}for(n in e)e[n]=a(e[n]);var l={};for(n in e){var c=e[n];if(Array.isArray(c))for(i=0;i<c.length;i++){var u=c[i];if(r&&(l[u]=!0),u in t){if(o[n]=t[u],r)for(var h=i;h<c.length;h++)l[c[h]]=!0;break}}else n in t&&(e[n]&&(o[n]=t[n]),r&&(l[n]=!0))}if(r)for(n in t)l[n]||(o[n]=t[n]);return o};var n={};function a(t){return n[t]?n[t]:("string"==typeof t&&(t=n[t]=t.split(/\s*,\s*|\s+/)),t)}},{}],467:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=0|e.length,a=t.length,i=[new Array(r),new Array(r)],o=0;o<r;++o)i[0][o]=[],i[1][o]=[];for(var o=0;o<a;++o){var s=t[o];i[0][s[0]].push(s),i[1][s[1]].push(s)}for(var l=[],o=0;o<r;++o)i[0][o].length+i[1][o].length===0&&l.push([o]);function c(t,e){var r=i[e][t[e]];r.splice(r.indexOf(t),1)}function u(t,r,a){for(var o,s,l,u=0;u<2;++u)if(i[u][r].length>0){o=i[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=i[h][r],p=0;p<f.length;++p){var d=f[p],g=d[1^h],v=n(e[t],e[r],e[s],e[g]);v>0&&(o=d,s=g,l=h)}return a?s:(o&&c(o,l),s)}function h(t,r){var a=i[r][t][0],o=[t];c(a,r);for(var s=a[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(i[0][t].length+i[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(var o=0;o<r;++o)for(var p=0;p<2;++p){for(var d=[];i[p][o].length>0;){i[0][o].length;var g=h(o,p);f(d,g)?d.push.apply(d,g):(d.length>0&&l.push(d),d=g)}d.length>0&&l.push(d)}return l};var n=t("compare-angle")},{"compare-angle":128}],468:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=n(t,e.length),a=new Array(e.length),i=new Array(e.length),o=[],s=0;s<e.length;++s){var l=r[s].length;i[s]=l,a[s]=!0,l<=1&&o.push(s)}for(;o.length>0;){var c=o.pop();a[c]=!1;for(var u=r[c],s=0;s<u.length;++s){var h=u[s];0==--i[h]&&o.push(h)}}for(var f=new Array(e.length),p=[],s=0;s<e.length;++s)if(a[s]){var c=p.length;f[s]=c,p.push(e[s])}else f[s]=-1;for(var d=[],s=0;s<t.length;++s){var g=t[s];a[g[0]]&&a[g[1]]&&d.push([f[g[0]],f[g[1]]])}return[d,p]};var n=t("edges-to-adjacency-list")},{"edges-to-adjacency-list":173}],469:[function(t,e,r){"use strict";e.exports=function(t,e){var r=c(t,e);t=r[0];for(var h=(e=r[1]).length,f=(t.length,n(t,e.length)),p=0;p<h;++p)if(f[p].length%2==1)throw new Error("planar-graph-to-polyline: graph must be manifold");var d=a(t,e);for(var g=(d=d.filter(function(t){for(var r=t.length,n=[0],a=0;a<r;++a){var i=e[t[a]],l=e[t[(a+1)%r]],c=o(-i[0],i[1]),u=o(-i[0],l[1]),h=o(l[0],i[1]),f=o(l[0],l[1]);n=s(n,s(s(c,u),s(h,f)))}return n[n.length-1]>0})).length,v=new Array(g),m=new Array(g),p=0;p<g;++p){v[p]=p;var y=new Array(g),x=d[p].map(function(t){return e[t]}),b=i([x]),_=0;t:for(var w=0;w<g;++w)if(y[w]=0,p!==w){for(var k=d[w],T=k.length,A=0;A<T;++A){var M=b(e[k[A]]);if(0!==M){M<0&&(y[w]=1,_+=1);continue t}}y[w]=1,_+=1}m[p]=[_,p,y]}m.sort(function(t,e){return e[0]-t[0]});for(var p=0;p<g;++p)for(var y=m[p],S=y[1],E=y[2],w=0;w<g;++w)E[w]&&(v[w]=S);for(var L=function(t){for(var e=new Array(t),r=0;r<t;++r)e[r]=[];return e}(g),p=0;p<g;++p)L[p].push(v[p]),L[v[p]].push(p);for(var C={},P=u(h,!1),p=0;p<g;++p)for(var k=d[p],T=k.length,w=0;w<T;++w){var O=k[w],z=k[(w+1)%T],I=Math.min(O,z)+":"+Math.max(O,z);if(I in C){var D=C[I];L[D].push(p),L[p].push(D),P[O]=P[z]=!0}else C[I]=p}function R(t){for(var e=t.length,r=0;r<e;++r)if(!P[t[r]])return!1;return!0}for(var F=[],B=u(g,-1),p=0;p<g;++p)v[p]!==p||R(d[p])?B[p]=-1:(F.push(p),B[p]=0);var r=[];for(;F.length>0;){var N=F.pop(),j=L[N];l(j,function(t,e){return t-e});var V,U=j.length,q=B[N];if(0===q){var k=d[N];V=[k]}for(var p=0;p<U;++p){var H=j[p];if(!(B[H]>=0)&&(B[H]=1^q,F.push(H),0===q)){var k=d[H];R(k)||(k.reverse(),V.push(k))}}0===q&&r.push(V)}return r};var n=t("edges-to-adjacency-list"),a=t("planar-dual"),i=t("point-in-big-polygon"),o=t("two-product"),s=t("robust-sum"),l=t("uniq"),c=t("./lib/trim-leaves");function u(t,e){for(var r=new Array(t),n=0;n<t;++n)r[n]=e;return r}},{"./lib/trim-leaves":468,"edges-to-adjacency-list":173,"planar-dual":467,"point-in-big-polygon":473,"robust-sum":513,"two-product":541,uniq:545}],470:[function(t,e,r){"use strict";e.exports=t("./quad")},{"./quad":472}],471:[function(t,e,r){arguments[4][112][0].apply(r,arguments)},{dup:112}],472:[function(t,e,r){"use strict";var n=t("binary-search-bounds"),a=t("clamp"),i=t("parse-rect"),o=t("array-bounds"),s=t("pick-by-alias"),l=t("defined"),c=t("flatten-vertex-data"),u=t("is-obj"),h=t("dtype"),f=t("math-log2"),p=1073741824;function d(t,e){for(var r=e[0],n=e[1],i=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l<c;l++)s[2*l]=a((t[2*l]-r)*i,0,1),s[2*l+1]=a((t[2*l+1]-n)*o,0,1);return s}e.exports=function(t,e){e||(e={}),t=c(t,"float64"),e=s(e,{bounds:"range bounds dataBox databox",maxDepth:"depth maxDepth maxdepth level maxLevel maxlevel levels",dtype:"type dtype format out dst output destination"});var r=l(e.maxDepth,255),a=l(e.bounds,o(t,2));a[0]===a[2]&&a[2]++,a[1]===a[3]&&a[3]++;var g,v=d(t,a),m=t.length>>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?g=new(h(e.dtype))(m):e.dtype&&(g=e.dtype,Array.isArray(g)&&(g.length=m));for(var y=0;y<m;++y)g[y]=y;var x=[],b=[],_=[],w=[];!function t(e,n,a,i,o,s){if(!i.length)return null;var l=x[o]||(x[o]=[]);var c=_[o]||(_[o]=[]);var u=b[o]||(b[o]=[]);var h=l.length;o++;if(o>r||s>p){for(var f=0;f<i.length;f++)l.push(i[f]),c.push(s),u.push(null,null,null,null);return h}l.push(i[0]);c.push(s);if(i.length<=1)return u.push(null,null,null,null),h;var d=.5*a;var g=e+d,m=n+d;var y=[],w=[],k=[],T=[];for(var A=1,M=i.length;A<M;A++){var S=i[A],E=v[2*S],L=v[2*S+1];E<g?L<m?y.push(S):w.push(S):L<m?k.push(S):T.push(S)}s<<=2;u.push(t(e,n,d,y,o,s),t(e,m,d,w,o,s+1),t(g,n,d,k,o,s+2),t(g,m,d,T,o,s+3));return h}(0,0,1,g,0,1);for(var k=0,T=0;T<x.length;T++){var A=x[T];if(g.set)g.set(A,k);else for(var M=0,S=A.length;M<S;M++)g[M+k]=A[M];var E=k+x[T].length;w[T]=[k,E],k=E}return g.range=function(){var e,r=[],o=arguments.length;for(;o--;)r[o]=arguments[o];if(u(r[r.length-1])){var c=r.pop();r.length||null==c.x&&null==c.l&&null==c.left||(r=[c],e={}),e=s(c,{level:"level maxLevel",d:"d diam diameter r radius px pxSize pixel pixelSize maxD size minSize",lod:"lod details ranges offsets"})}else e={};r.length||(r=a);var h=i.apply(void 0,r),p=[Math.min(h.x,h.x+h.width),Math.min(h.y,h.y+h.height),Math.max(h.x,h.x+h.width),Math.max(h.y,h.y+h.height)],g=p[0],v=p[1],m=p[2],y=p[3],k=d([g,v,m,y],a),T=k[0],A=k[1],M=k[2],S=k[3],E=l(e.level,x.length);if(null!=e.d){var C;"number"==typeof e.d?C=[e.d,e.d]:e.d.length&&(C=e.d),E=Math.min(Math.max(Math.ceil(-f(Math.abs(C[0])/(a[2]-a[0]))),Math.ceil(-f(Math.abs(C[1])/(a[3]-a[1])))),E)}if(E=Math.min(E,x.length),e.lod)return function(t,e,r,a,i){for(var o=[],s=0;s<i;s++){var l=_[s],c=w[s][0],u=L(t,e,s),h=L(r,a,s),f=n.ge(l,u),p=n.gt(l,h,f,l.length-1);o[s]=[f+c,p+c]}return o}(T,A,M,S,E);var P=[];return function e(r,n,a,i,o,s){if(null!==o&&null!==s){var l=r+a,c=n+a;if(!(T>l||A>c||M<r||S<n||i>=E||o===s)){var u=x[i];void 0===s&&(s=u.length);for(var h=o;h<s;h++){var f=u[h],p=t[2*f],d=t[2*f+1];p>=g&&p<=m&&d>=v&&d<=y&&P.push(f)}var _=b[i],w=_[4*o+0],k=_[4*o+1],L=_[4*o+2],C=_[4*o+3],O=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(_,o+1),z=.5*a,I=i+1;e(r,n,z,I,w,k||L||C||O),e(r,n+z,z,I,k,L||C||O),e(r+z,n,z,I,L,C||O),e(r+z,n+z,z,I,C,O)}}}(0,0,1,0,0,1),P},g;function L(t,e,r){for(var n=1,a=.5,i=.5,o=.5,s=0;s<r;s++)n<<=2,n+=t<a?e<i?0:1:e<i?2:3,o*=.5,a+=t<a?-o:o,i+=e<i?-o:o;return n}}},{"array-bounds":67,"binary-search-bounds":471,clamp:116,defined:165,dtype:170,"flatten-vertex-data":229,"is-obj":422,"math-log2":433,"parse-rect":460,"pick-by-alias":466}],473:[function(t,e,r){e.exports=function(t){for(var e=t.length,r=[],i=[],s=0;s<e;++s)for(var u=t[s],h=u.length,f=h-1,p=0;p<h;f=p++){var d=u[f],g=u[p];d[0]===g[0]?i.push([d,g]):r.push([d,g])}if(0===r.length)return 0===i.length?c:(v=l(i),function(t){return v(t[0],t[1])?0:1});var v;var m=a(r),y=function(t,e){return function(r){var a=o.le(e,r[0]);if(a<0)return 1;var i=t[a];if(!i){if(!(a>0&&e[a]===r[0]))return 1;i=t[a-1]}for(var s=1;i;){var l=i.key,c=n(r,l[0],l[1]);if(l[0][0]<l[1][0])if(c<0)i=i.left;else{if(!(c>0))return 0;s=-1,i=i.right}else if(c>0)i=i.left;else{if(!(c<0))return 0;s=1,i=i.right}}return s}}(m.slabs,m.coordinates);return 0===i.length?y:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(i),y)};var n=t("robust-orientation")[3],a=t("slab-decomposition"),i=t("interval-tree-1d"),o=t("binary-search-bounds");function s(){return!0}function l(t){for(var e={},r=0;r<t.length;++r){var n=t[r],a=n[0][0],o=n[0][1],l=n[1][1],c=[Math.min(o,l),Math.max(o,l)];a in e?e[a].push(c):e[a]=[c]}var u={},h=Object.keys(e);for(r=0;r<h.length;++r){var f=e[h[r]];u[h[r]]=i(f)}return function(t){return function(e,r){var n=t[e];return!!n&&!!n.queryPoint(r,s)}}(u)}function c(t){return 1}},{"binary-search-bounds":92,"interval-tree-1d":415,"robust-orientation":508,"slab-decomposition":524}],474:[function(t,e,r){var n,a=t("./lib/build-log"),i=t("./lib/epsilon"),o=t("./lib/intersecter"),s=t("./lib/segment-chainer"),l=t("./lib/segment-selector"),c=t("./lib/geojson"),u=!1,h=i();function f(t,e,r){var a=n.segments(t),i=n.segments(e),o=r(n.combine(a,i));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=a():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=o(!0,h,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,h,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,h,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,h,t)},union:function(t,e){return f(t,e,n.selectUnion)},intersect:function(t,e){return f(t,e,n.selectIntersect)},difference:function(t,e){return f(t,e,n.selectDifference)},differenceRev:function(t,e){return f(t,e,n.selectDifferenceRev)},xor:function(t,e){return f(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),e.exports=n},{"./lib/build-log":475,"./lib/epsilon":476,"./lib/geojson":477,"./lib/intersecter":478,"./lib/segment-chainer":480,"./lib/segment-selector":481}],475:[function(t,e,r){e.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1,"  ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},{}],476:[function(t,e,r){e.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var a=r[0],i=r[1],o=n[0],s=n[1],l=e[0];return(o-a)*(e[1]-i)-(s-i)*(l-a)>=-t},pointBetween:function(e,r,n){var a=e[1]-r[1],i=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*i+a*s;return!(l<t||l-(i*i+s*s)>-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])<t},pointsSameY:function(e,r){return Math.abs(e[1]-r[1])<t},pointsSame:function(t,r){return e.pointsSameX(t,r)&&e.pointsSameY(t,r)},pointsCompare:function(t,r){return e.pointsSameX(t,r)?e.pointsSameY(t,r)?0:t[1]<r[1]?-1:1:t[0]<r[0]?-1:1},pointsCollinear:function(e,r,n){var a=e[0]-r[0],i=e[1]-r[1],o=r[0]-n[0],s=r[1]-n[1];return Math.abs(a*s-o*i)<t},linesIntersect:function(e,r,n,a){var i=r[0]-e[0],o=r[1]-e[1],s=a[0]-n[0],l=a[1]-n[1],c=i*l-o*s;if(Math.abs(c)<t)return!1;var u=e[0]-n[0],h=e[1]-n[1],f=(s*h-l*u)/c,p=(i*h-o*u)/c,d={alongA:0,alongB:0,pt:[e[0]+f*i,e[1]+f*o]};return d.alongA=f<=-t?-2:f<t?-1:f-1<=-t?0:f-1<t?1:2,d.alongB=p<=-t?-2:p<t?-1:p-1<=-t?0:p-1<t?1:2,d},pointInsideRegion:function(e,r){for(var n=e[0],a=e[1],i=r[r.length-1][0],o=r[r.length-1][1],s=!1,l=0;l<r.length;l++){var c=r[l][0],u=r[l][1];u-a>t!=o-a>t&&(i-c)*(a-u)/(o-u)+c-n>t&&(s=!s),i=c,o=u}return s}};return e}},{}],477:[function(t,e,r){var n={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),a=1;a<e.length;a++)n=t.selectDifference(t.combine(n,r(e[a])));return n}if("Polygon"===e.type)return t.polygon(r(e.coordinates));if("MultiPolygon"===e.type){for(var n=t.segments({inverted:!1,regions:[]}),a=0;a<e.coordinates.length;a++)n=t.selectUnion(t.combine(n,r(e.coordinates[a])));return t.polygon(n)}throw new Error("PolyBool: Cannot convert GeoJSON object to PolyBool polygon")},fromPolygon:function(t,e,r){function n(t,r){return e.pointInsideRegion([.5*(t[0][0]+t[1][0]),.5*(t[0][1]+t[1][1])],r)}function a(t){return{region:t,children:[]}}r=t.polygon(t.segments(r));var i=a(null);function o(t,e){for(var r=0;r<t.children.length;r++){if(n(e,(s=t.children[r]).region))return void o(s,e)}var i=a(e);for(r=0;r<t.children.length;r++){var s;n((s=t.children[r]).region,e)&&(i.children.push(s),t.children.splice(r,1),r--)}t.children.push(i)}for(var s=0;s<r.regions.length;s++){var l=r.regions[s];l.length<3||o(i,l)}function c(t,e){for(var r=0,n=t[t.length-1][0],a=t[t.length-1][1],i=[],o=0;o<t.length;o++){var s=t[o][0],l=t[o][1];i.push([s,l]),r+=l*n-s*a,n=s,a=l}return r<0!==e&&i.reverse(),i.push([i[0][0],i[0][1]]),i}var u=[];function h(t){var e=[c(t.region,!1)];u.push(e);for(var r=0;r<t.children.length;r++)e.push(f(t.children[r]))}function f(t){for(var e=0;e<t.children.length;e++)h(t.children[e]);return c(t.region,!0)}for(s=0;s<i.children.length;s++)h(i.children[s]);return u.length<=0?{type:"Polygon",coordinates:[]}:1==u.length?{type:"Polygon",coordinates:u[0]}:{type:"MultiPolygon",coordinates:u}}};e.exports=n},{}],478:[function(t,e,r){var n=t("./linked-list");e.exports=function(t,e,r){function a(t,e,n){return{id:r?r.segmentId():-1,start:t,end:e,myFill:{above:n.myFill.above,below:n.myFill.below},otherFill:null}}var i=n.create();function o(t,r){i.insertBefore(t,function(n){return function(t,r,n,a,i,o){var s=e.pointsCompare(r,i);return 0!==s?s:e.pointsSame(n,o)?0:t!==a?t?1:-1:e.pointAboveOrOnLine(n,a?i:o,a?o:i)?1:-1}(t.isStart,t.pt,r,n.isStart,n.pt,n.other.pt)<0})}function s(t,e){var r=function(t,e){var r=n.node({isStart:!0,pt:t.start,seg:t,primary:e,other:null,status:null});return o(r,t.end),r}(t,e);return function(t,e,r){var a=n.node({isStart:!1,pt:e.end,seg:e,primary:r,other:t,status:null});t.other=a,o(a,t.pt)}(r,t,e),r}function l(t,e){var n=a(e,t.seg.end,t.seg);return function(t,e){r&&r.segmentChop(t.seg,e),t.other.remove(),t.seg.end=e,t.other.pt=e,o(t.other,t.pt)}(t,e),s(n,t.primary)}function c(a,o){var s=n.create();function c(t){return s.findTransition(function(r){var n,a,i,o,s,l;return n=t,a=r.ev,i=n.seg.start,o=n.seg.end,s=a.seg.start,l=a.seg.end,(e.pointsCollinear(i,s,l)?e.pointsCollinear(o,s,l)?1:e.pointAboveOrOnLine(o,s,l)?1:-1:e.pointAboveOrOnLine(i,s,l)?1:-1)>0})}function u(t,n){var a=t.seg,i=n.seg,o=a.start,s=a.end,c=i.start,u=i.end;r&&r.checkIntersection(a,i);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),g=!p&&e.pointBetween(s,c,u);if(f)return g?l(n,s):l(t,u),n;d&&(p||(g?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!i.isEmpty();){var f=i.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,g=p.after?p.after.ev:null;function v(){if(d){var t=u(f,d);if(t)return t}return!!g&&u(f,g)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!g&&g.seg);var m,y,x=v();if(x)t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=f.seg.myFill,r&&r.segmentUpdate(x.seg),f.other.remove(),f.remove();if(i.getHead()!==f){r&&r.rewind(f.seg);continue}t?(y=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=g?g.seg.myFill.above:a,f.seg.myFill.above=y?!f.seg.myFill.below:f.seg.myFill.below):null===f.seg.otherFill&&(m=g?f.primary===g.primary?g.seg.otherFill.above:g.seg.myFill.above:f.primary?o:a,f.seg.otherFill={above:m,below:m}),r&&r.status(f.seg,!!d&&d.seg,!!g&&g.seg),f.other.status=p.insert(n.node({ev:f}))}else{var b=f.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&u(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!f.primary){var _=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=_}h.push(f.seg)}i.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,a,i,o=t[t.length-1],l=0;l<t.length;l++){n=o,o=t[l];var c=e.pointsCompare(n,o);0!==c&&s((a=c<0?n:o,i=c<0?o:n,{id:r?r.segmentId():-1,start:a,end:i,myFill:{above:null,below:null},otherFill:null}),!0)}},calculate:function(t){return c(t,!1)}}:{calculate:function(t,e,r,n){return t.forEach(function(t){s(a(t.start,t.end,t),!0)}),r.forEach(function(t){s(a(t.start,t.end,t),!1)}),c(e,n)}}}},{"./linked-list":479}],479:[function(t,e,r){e.exports={create:function(){var t={root:{root:!0,next:null},exists:function(e){return null!==e&&e!==t.root},isEmpty:function(){return null===t.root.next},getHead:function(){return t.root.next},insertBefore:function(e,r){for(var n=t.root,a=t.root.next;null!==a;){if(r(a))return e.prev=a.prev,e.next=a,a.prev.next=e,void(a.prev=e);n=a,a=a.next}n.next=e,e.prev=n,e.next=null},findTransition:function(e){for(var r=t.root,n=t.root.next;null!==n&&!e(n);)r=n,n=n.next;return{before:r===t.root?null:r,after:n,insert:function(t){return t.prev=r,t.next=n,r.next=t,null!==n&&(n.prev=t),t}}}};return t},node:function(t){return t.prev=null,t.next=null,t.remove=function(){t.prev.next=t.next,t.next&&(t.next.prev=t.prev),t.prev=null,t.next=null},t}}},{}],480:[function(t,e,r){e.exports=function(t,e,r){var n=[],a=[];return t.forEach(function(t){var i=t.start,o=t.end;if(e.pointsSame(i,o))console.warn("PolyBool: Warning: Zero-length segment detected; your epsilon is probably too small or too large");else{r&&r.chainStart(t);for(var s={index:0,matches_head:!1,matches_pt1:!1},l={index:0,matches_head:!1,matches_pt1:!1},c=s,u=0;u<n.length;u++){var h=(v=n[u])[0],f=(v[1],v[v.length-1]);if(v[v.length-2],e.pointsSame(h,i)){if(T(u,!0,!0))break}else if(e.pointsSame(h,o)){if(T(u,!0,!1))break}else if(e.pointsSame(f,i)){if(T(u,!1,!0))break}else if(e.pointsSame(f,o)&&T(u,!1,!1))break}if(c===s)return n.push([i,o]),void(r&&r.chainNew(i,o));if(c===l){r&&r.chainMatch(s.index);var p=s.index,d=s.matches_pt1?o:i,g=s.matches_head,v=n[p],m=g?v[0]:v[v.length-1],y=g?v[1]:v[v.length-2],x=g?v[v.length-1]:v[0],b=g?v[v.length-2]:v[1];return e.pointsCollinear(y,m,d)&&(g?(r&&r.chainRemoveHead(s.index,d),v.shift()):(r&&r.chainRemoveTail(s.index,d),v.pop()),m=y),e.pointsSame(x,d)?(n.splice(p,1),e.pointsCollinear(b,x,m)&&(g?(r&&r.chainRemoveTail(s.index,m),v.pop()):(r&&r.chainRemoveHead(s.index,m),v.shift())),r&&r.chainClose(s.index),void a.push(v)):void(g?(r&&r.chainAddHead(s.index,d),v.unshift(d)):(r&&r.chainAddTail(s.index,d),v.push(d)))}var _=s.index,w=l.index;r&&r.chainConnect(_,w);var k=n[_].length<n[w].length;s.matches_head?l.matches_head?k?(A(_),M(_,w)):(A(w),M(w,_)):M(w,_):l.matches_head?M(_,w):k?(A(_),M(w,_)):(A(w),M(_,w))}function T(t,e,r){return c.index=t,c.matches_head=e,c.matches_pt1=r,c===s?(c=l,!1):(c=null,!0)}function A(t){r&&r.chainReverse(t),n[t].reverse()}function M(t,a){var i=n[t],o=n[a],s=i[i.length-1],l=i[i.length-2],c=o[0],u=o[1];e.pointsCollinear(l,s,c)&&(r&&r.chainRemoveTail(t,s),i.pop(),s=l),e.pointsCollinear(s,c,u)&&(r&&r.chainRemoveHead(a,c),o.shift()),r&&r.chainJoin(t,a),n[t]=i.concat(o),n.splice(a,1)}}),a}},{}],481:[function(t,e,r){function n(t,e,r){var n=[];return t.forEach(function(t){var a=(t.myFill.above?8:0)+(t.myFill.below?4:0)+(t.otherFill&&t.otherFill.above?2:0)+(t.otherFill&&t.otherFill.below?1:0);0!==e[a]&&n.push({id:r?r.segmentId():-1,start:t.start,end:t.end,myFill:{above:1===e[a],below:2===e[a]},otherFill:null})}),r&&r.selected(n),n}var a={union:function(t,e){return n(t,[0,2,1,0,2,2,0,0,1,0,1,0,0,0,0,0],e)},intersect:function(t,e){return n(t,[0,0,0,0,0,2,0,2,0,0,1,1,0,2,1,0],e)},difference:function(t,e){return n(t,[0,0,0,0,2,0,2,0,1,1,0,0,0,1,2,0],e)},differenceRev:function(t,e){return n(t,[0,2,1,0,0,0,1,1,0,2,0,2,0,0,0,0],e)},xor:function(t,e){return n(t,[0,2,1,0,2,0,0,1,1,0,0,2,0,1,2,0],e)}};e.exports=a},{}],482:[function(t,e,r){"use strict";var n=new Float64Array(4),a=new Float64Array(4),i=new Float64Array(4);e.exports=function(t,e,r,o,s){n.length<o.length&&(n=new Float64Array(o.length),a=new Float64Array(o.length),i=new Float64Array(o.length));for(var l=0;l<o.length;++l)n[l]=t[l]-o[l],a[l]=e[l]-t[l],i[l]=r[l]-t[l];var c=0,u=0,h=0,f=0,p=0,d=0;for(l=0;l<o.length;++l){var g=a[l],v=i[l],m=n[l];c+=g*g,u+=g*v,h+=v*v,f+=m*g,p+=m*v,d+=m*m}var y,x,b,_,w,k=Math.abs(c*h-u*u),T=u*p-h*f,A=u*f-c*p;if(T+A<=k)if(T<0)A<0&&f<0?(A=0,-f>=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d):(T=0,p>=0?(A=0,y=d):-p>=h?(A=1,y=h+2*p+d):y=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(T=0,y=d):-f>=c?(T=1,y=c+2*f+d):y=f*(T=-f/c)+d;else{var M=1/k;y=(T*=M)*(c*T+u*(A*=M)+2*f)+A*(u*T+h*A+2*p)+d}else T<0?(b=h+p)>(x=u+f)?(_=b-x)>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d:(T=0,b<=0?(A=1,y=h+2*p+d):p>=0?(A=0,y=d):y=p*(A=-p/h)+d):A<0?(b=c+f)>(x=u+p)?(_=b-x)>=(w=c-2*u+h)?(A=1,T=0,y=h+2*p+d):y=(T=1-(A=_/w))*(c*T+u*A+2*f)+A*(u*T+h*A+2*p)+d:(A=0,b<=0?(T=1,y=c+2*f+d):f>=0?(T=0,y=d):y=f*(T=-f/c)+d):(_=h+p-u-f)<=0?(T=0,A=1,y=h+2*p+d):_>=(w=c-2*u+h)?(T=1,A=0,y=c+2*f+d):y=(T=_/w)*(c*T+u*(A=1-T)+2*f)+A*(u*T+h*A+2*p)+d;var S=1-T-A;for(l=0;l<o.length;++l)s[l]=S*t[l]+T*e[l]+A*r[l];return y<0?0:y}},{}],483:[function(t,e,r){var n,a,i=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function l(t){if(n===setTimeout)return setTimeout(t,0);if((n===o||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:o}catch(t){n=o}try{a="function"==typeof clearTimeout?clearTimeout:s}catch(t){a=s}}();var c,u=[],h=!1,f=-1;function p(){h&&c&&(h=!1,c.length?u=c.concat(u):f=-1,u.length&&d())}function d(){if(!h){var t=l(p);h=!0;for(var e=u.length;e;){for(c=u,u=[];++f<e;)c&&c[f].run();f=-1,e=u.length}c=null,h=!1,function(t){if(a===clearTimeout)return clearTimeout(t);if((a===s||!a)&&clearTimeout)return a=clearTimeout,clearTimeout(t);try{a(t)}catch(e){try{return a.call(null,t)}catch(e){return a.call(this,t)}}}(t)}}function g(t,e){this.fun=t,this.array=e}function v(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];u.push(new g(t,e)),1!==u.length||h||l(d)},g.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=v,i.addListener=v,i.once=v,i.off=v,i.removeListener=v,i.removeAllListeners=v,i.emit=v,i.prependListener=v,i.prependOnceListener=v,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},{}],484:[function(t,e,r){e.exports=t("gl-quat/slerp")},{"gl-quat/slerp":295}],485:[function(t,e,r){(function(r){for(var n=t("performance-now"),a="undefined"==typeof window?r:window,i=["moz","webkit"],o="AnimationFrame",s=a["request"+o],l=a["cancel"+o]||a["cancelRequest"+o],c=0;!s&&c<i.length;c++)s=a[i[c]+"Request"+o],l=a[i[c]+"Cancel"+o]||a[i[c]+"CancelRequest"+o];if(!s||!l){var u=0,h=0,f=[];s=function(t){if(0===f.length){var e=n(),r=Math.max(0,1e3/60-(e-u));u=r+e,setTimeout(function(){var t=f.slice(0);f.length=0;for(var e=0;e<t.length;e++)if(!t[e].cancelled)try{t[e].callback(u)}catch(t){setTimeout(function(){throw t},0)}},Math.round(r))}return f.push({handle:++h,callback:t,cancelled:!1}),h},l=function(t){for(var e=0;e<f.length;e++)f[e].handle===t&&(f[e].cancelled=!0)}}e.exports=function(t){return s.call(a,t)},e.exports.cancel=function(){l.apply(a,arguments)},e.exports.polyfill=function(t){t||(t=a),t.requestAnimationFrame=s,t.cancelAnimationFrame=l}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"performance-now":463}],486:[function(t,e,r){"use strict";var n=t("big-rat/add");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{"big-rat/add":76}],487:[function(t,e,r){"use strict";e.exports=function(t){for(var e=new Array(t.length),r=0;r<t.length;++r)e[r]=n(t[r]);return e};var n=t("big-rat")},{"big-rat":79}],488:[function(t,e,r){"use strict";var n=t("big-rat"),a=t("big-rat/mul");e.exports=function(t,e){for(var r=n(e),i=t.length,o=new Array(i),s=0;s<i;++s)o[s]=a(t[s],r);return o}},{"big-rat":79,"big-rat/mul":88}],489:[function(t,e,r){"use strict";var n=t("big-rat/sub");e.exports=function(t,e){for(var r=t.length,a=new Array(r),i=0;i<r;++i)a[i]=n(t[i],e[i]);return a}},{"big-rat/sub":90}],490:[function(t,e,r){"use strict";var n=t("compare-cell"),a=t("compare-oriented-cell"),i=t("cell-orientation");e.exports=function(t){t.sort(a);for(var e=t.length,r=0,o=0;o<e;++o){var s=t[o],l=i(s);if(0!==l){if(r>0){var c=t[r-1];if(0===n(s,c)&&i(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},{"cell-orientation":113,"compare-cell":129,"compare-oriented-cell":130}],491:[function(t,e,r){"use strict";var n=t("array-bounds"),a=t("color-normalize"),i=t("update-diff"),o=t("pick-by-alias"),s=t("object-assign"),l=t("flatten-vertex-data"),c=t("to-float32"),u=c.float32,h=c.fract32;e.exports=function(t,e){"function"==typeof t?(e||(e={}),e.regl=t):e=t;e.length&&(e.positions=e);if(!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");var r,c,p,d,g,v,m=t._gl,y={color:"black",capSize:5,lineWidth:1,opacity:1,viewport:null,range:null,offset:0,count:0,bounds:null,positions:[],errors:[]},x=[];return d=t.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array(0)}),c=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),p=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),g=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)}),v=t.buffer({usage:"static",type:"float",data:f}),k(e),r=t({vert:"\n\t\tprecision highp float;\n\n\t\tattribute vec2 position, positionFract;\n\t\tattribute vec4 error;\n\t\tattribute vec4 color;\n\n\t\tattribute vec2 direction, lineOffset, capOffset;\n\n\t\tuniform vec4 viewport;\n\t\tuniform float lineWidth, capSize;\n\t\tuniform vec2 scale, scaleFract, translate, translateFract;\n\n\t\tvarying vec4 fragColor;\n\n\t\tvoid main() {\n\t\t\tfragColor = color / 255.;\n\n\t\t\tvec2 pixelOffset = lineWidth * lineOffset + (capSize + lineWidth) * capOffset;\n\n\t\t\tvec2 dxy = -step(.5, direction.xy) * error.xz + step(direction.xy, vec2(-.5)) * error.yw;\n\n\t\t\tvec2 position = position + dxy;\n\n\t\t\tvec2 pos = (position + translate) * scale\n\t\t\t\t+ (positionFract + translateFract) * scale\n\t\t\t\t+ (position + translate) * scaleFract\n\t\t\t\t+ (positionFract + translateFract) * scaleFract;\n\n\t\t\tpos += pixelOffset / viewport.zw;\n\n\t\t\tgl_Position = vec4(pos * 2. - 1., 0, 1);\n\t\t}\n\t\t",frag:"\n\t\tprecision highp float;\n\n\t\tvarying vec4 fragColor;\n\n\t\tuniform float opacity;\n\n\t\tvoid main() {\n\t\t\tgl_FragColor = fragColor;\n\t\t\tgl_FragColor.a *= opacity;\n\t\t}\n\t\t",uniforms:{range:t.prop("range"),lineWidth:t.prop("lineWidth"),capSize:t.prop("capSize"),opacity:t.prop("opacity"),scale:t.prop("scale"),translate:t.prop("translate"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{color:{buffer:d,offset:function(t,e){return 4*e.offset},divisor:1},position:{buffer:c,offset:function(t,e){return 8*e.offset},divisor:1},positionFract:{buffer:p,offset:function(t,e){return 8*e.offset},divisor:1},error:{buffer:g,offset:function(t,e){return 16*e.offset},divisor:1},direction:{buffer:v,stride:24,offset:0},lineOffset:{buffer:v,stride:24,offset:8},capOffset:{buffer:v,stride:24,offset:16}},primitive:"triangles",blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:!1,instances:t.prop("count"),count:f.length}),s(b,{update:k,draw:_,destroy:T,regl:t,gl:m,canvas:m.canvas,groups:x}),b;function b(t){t?k(t):null===t&&T(),_()}function _(e){if("number"==typeof e)return w(e);e&&!Array.isArray(e)&&(e=[e]),t._refresh(),x.forEach(function(t,r){t&&(e&&(e[r]?t.draw=!0:t.draw=!1),t.draw?w(r):t.draw=!0)})}function w(t){"number"==typeof t&&(t=x[t]),null!=t&&t&&t.count&&t.color&&t.opacity&&t.positions&&t.positions.length>1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function k(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map(function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},y,t)),i(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var i=0;i<r;i++)t[i]=n}if(t.length<r)throw Error("Not enough colors");for(var o=new Uint8Array(4*r),s=0;s<r;s++){var l=a(t[s],"uint8");o.set(l,4*s)}return o},range:function(t,e,r){var n=e.bounds;return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=h(e.scale),e.translateFract=h(e.translate),t},viewport:function(t){var e;return Array.isArray(t)?e={x:t[0],y:t[1],width:t[2]-t[0],height:t[3]-t[1]}:t?(e={x:t.x||t.left||0,y:t.y||t.top||0},t.right?e.width=t.right-e.x:e.width=t.w||t.width||0,t.bottom?e.height=t.bottom-e.y:e.height=t.h||t.height||0):e={x:0,y:0,width:m.drawingBufferWidth,height:m.drawingBufferHeight},e}}]),u):u}),e||r){var f=x.reduce(function(t,e,r){return t+(e?e.count:0)},0),v=new Float64Array(2*f),_=new Uint8Array(4*f),w=new Float32Array(4*f);x.forEach(function(t,e){if(t){var r=t.positions,n=t.count,a=t.offset,i=t.color,o=t.errors;n&&(_.set(i,4*a),w.set(o,4*a),v.set(r,2*a))}}),c(u(v)),p(h(v)),d(_),g(w)}}}function T(){c.destroy(),p.destroy(),d.destroy(),g.destroy(),v.destroy()}};var f=[[1,0,0,1,0,0],[1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,-1,0,0],[-1,0,0,1,0,0],[1,0,0,1,0,0],[1,0,-1,0,0,1],[1,0,-1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,-1],[1,0,1,0,0,1],[1,0,-1,0,0,1],[-1,0,-1,0,0,1],[-1,0,-1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,-1],[-1,0,1,0,0,1],[-1,0,-1,0,0,1],[0,1,1,0,0,0],[0,1,-1,0,0,0],[0,-1,-1,0,0,0],[0,-1,-1,0,0,0],[0,1,1,0,0,0],[0,-1,1,0,0,0],[0,1,0,-1,1,0],[0,1,0,-1,-1,0],[0,1,0,1,-1,0],[0,1,0,1,1,0],[0,1,0,-1,1,0],[0,1,0,1,-1,0],[0,-1,0,-1,1,0],[0,-1,0,-1,-1,0],[0,-1,0,1,-1,0],[0,-1,0,1,1,0],[0,-1,0,-1,1,0],[0,-1,0,1,-1,0]]},{"array-bounds":67,"color-normalize":121,"flatten-vertex-data":229,"object-assign":455,"pick-by-alias":466,"to-float32":536,"update-diff":547}],492:[function(t,e,r){"use strict";var n=t("color-normalize"),a=t("array-bounds"),i=t("object-assign"),o=t("glslify"),s=t("pick-by-alias"),l=t("flatten-vertex-data"),c=t("earcut"),u=t("array-normalize"),h=t("to-float32"),f=h.float32,p=h.fract32,d=t("es6-weak-map"),g=t("parse-rect");function v(t,e){if(!(this instanceof v))return new v(t,e);if("function"==typeof t?(e||(e={}),e.regl=t):e=t,e.length&&(e.positions=e),!(t=e.regl).hasExtension("ANGLE_instanced_arrays"))throw Error("regl-error2d: `ANGLE_instanced_arrays` extension should be enabled");this.gl=t._gl,this.regl=t,this.passes=[],this.shaders=v.shaders.has(t)?v.shaders.get(t):v.shaders.set(t,v.createShaders(t)).get(t),this.update(e)}e.exports=v,v.dashMult=2,v.maxPatternLength=256,v.precisionThreshold=3e6,v.maxPoints=1e4,v.maxLines=2048,v.shaders=new d,v.createShaders=function(t){var e,r=t.buffer({usage:"static",type:"float",data:[0,1,0,0,1,1,1,0]}),n={primitive:"triangle strip",instances:t.prop("count"),count:4,offset:0,uniforms:{miterMode:function(t,e){return"round"===e.join?2:1},miterLimit:t.prop("miterLimit"),scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),thickness:t.prop("thickness"),dashPattern:t.prop("dashTexture"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),dashSize:t.prop("dashLength"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]},depth:t.prop("depth")},blend:{enable:!0,color:[0,0,0,0],equation:{rgb:"add",alpha:"add"},func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},depth:{enable:function(t,e){return!e.overlay}},stencil:{enable:!1},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport")},a=t(i({vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, aCoordFract, bCoordFract;\nattribute vec4 color;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvec2 project(vec2 position, vec2 positionFract, vec2 scale, vec2 scaleFract, vec2 translate, vec2 translateFract) {\n\t// the order is important\n\treturn position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n}\n\nvoid main() {\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineOffset = lineTop * 2. - 1.;\n\n\tvec2 diff = (bCoord + bCoordFract - aCoord - aCoordFract);\n\ttangent = normalize(diff * scale * viewport.zw);\n\tvec2 normal = vec2(-tangent.y, tangent.x);\n\n\tvec2 position = project(aCoord, aCoordFract, scale, scaleFract, translate, translateFract) * lineStart\n\t\t+ project(bCoord, bCoordFract, scale, scaleFract, translate, translateFract) * lineEnd\n\n\t\t+ thickness * normal * .5 * lineOffset / viewport.zw;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\n\nuniform float dashSize, pixelRatio, thickness, opacity, id;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\n\nvoid main() {\n\tfloat alpha = 1.;\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},aCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8,divisor:1},bCoordFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:16,divisor:1},color:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1}}},n));try{e=t(i({cull:{enable:!0,face:"back"},vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 aCoord, bCoord, nextCoord, prevCoord;\nattribute vec4 aColor, bColor;\nattribute float lineEnd, lineTop;\n\nuniform vec2 scale, translate;\nuniform float thickness, pixelRatio, id, depth;\nuniform vec4 viewport;\nuniform float miterLimit, miterMode;\n\nvarying vec4 fragColor;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 tangent;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nconst float REVERSE_THRESHOLD = -.875;\nconst float MIN_DIFF = 1e-6;\n\n// TODO: possible optimizations: avoid overcalculating all for vertices and calc just one instead\n// TODO: precalculate dot products, normalize things beforehead etc.\n// TODO: refactor to rectangular algorithm\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nbool isNaN( float val ){\n  return ( val < 0.0 || 0.0 < val || val == 0.0 ) ? false : true;\n}\n\nvoid main() {\n\tvec2 aCoord = aCoord, bCoord = bCoord, prevCoord = prevCoord, nextCoord = nextCoord;\n\n  vec2 adjustedScale;\n  adjustedScale.x = (abs(scale.x) < MIN_DIFF) ? MIN_DIFF : scale.x;\n  adjustedScale.y = (abs(scale.y) < MIN_DIFF) ? MIN_DIFF : scale.y;\n\n  vec2 scaleRatio = adjustedScale * viewport.zw;\n\tvec2 normalWidth = thickness / scaleRatio;\n\n\tfloat lineStart = 1. - lineEnd;\n\tfloat lineBot = 1. - lineTop;\n\n\tfragColor = (lineStart * aColor + lineEnd * bColor) / 255.;\n\n\tif (isNaN(aCoord.x) || isNaN(aCoord.y) || isNaN(bCoord.x) || isNaN(bCoord.y)) return;\n\n\tif (aCoord == prevCoord) prevCoord = aCoord + normalize(bCoord - aCoord);\n\tif (bCoord == nextCoord) nextCoord = bCoord - normalize(bCoord - aCoord);\n\n\tvec2 prevDiff = aCoord - prevCoord;\n\tvec2 currDiff = bCoord - aCoord;\n\tvec2 nextDiff = nextCoord - bCoord;\n\n\tvec2 prevTangent = normalize(prevDiff * scaleRatio);\n\tvec2 currTangent = normalize(currDiff * scaleRatio);\n\tvec2 nextTangent = normalize(nextDiff * scaleRatio);\n\n\tvec2 prevNormal = vec2(-prevTangent.y, prevTangent.x);\n\tvec2 currNormal = vec2(-currTangent.y, currTangent.x);\n\tvec2 nextNormal = vec2(-nextTangent.y, nextTangent.x);\n\n\tvec2 startJoinDirection = normalize(prevTangent - currTangent);\n\tvec2 endJoinDirection = normalize(currTangent - nextTangent);\n\n\t// collapsed/unidirectional segment cases\n\t// FIXME: there should be more elegant solution\n\tvec2 prevTanDiff = abs(prevTangent - currTangent);\n\tvec2 nextTanDiff = abs(nextTangent - currTangent);\n\tif (max(prevTanDiff.x, prevTanDiff.y) < MIN_DIFF) {\n\t\tstartJoinDirection = currNormal;\n\t}\n\tif (max(nextTanDiff.x, nextTanDiff.y) < MIN_DIFF) {\n\t\tendJoinDirection = currNormal;\n\t}\n\tif (aCoord == bCoord) {\n\t\tendJoinDirection = startJoinDirection;\n\t\tcurrNormal = prevNormal;\n\t\tcurrTangent = prevTangent;\n\t}\n\n\ttangent = currTangent;\n\n\t//calculate join shifts relative to normals\n\tfloat startJoinShift = dot(currNormal, startJoinDirection);\n\tfloat endJoinShift = dot(currNormal, endJoinDirection);\n\n\tfloat startMiterRatio = abs(1. / startJoinShift);\n\tfloat endMiterRatio = abs(1. / endJoinShift);\n\n\tvec2 startJoin = startJoinDirection * startMiterRatio;\n\tvec2 endJoin = endJoinDirection * endMiterRatio;\n\n\tvec2 startTopJoin, startBotJoin, endTopJoin, endBotJoin;\n\tstartTopJoin = sign(startJoinShift) * startJoin * .5;\n\tstartBotJoin = -startTopJoin;\n\n\tendTopJoin = sign(endJoinShift) * endJoin * .5;\n\tendBotJoin = -endTopJoin;\n\n\tvec2 aTopCoord = aCoord + normalWidth * startTopJoin;\n\tvec2 bTopCoord = bCoord + normalWidth * endTopJoin;\n\tvec2 aBotCoord = aCoord + normalWidth * startBotJoin;\n\tvec2 bBotCoord = bCoord + normalWidth * endBotJoin;\n\n\t//miter anti-clipping\n\tfloat baClipping = distToLine(bCoord, aCoord, aBotCoord) / dot(normalize(normalWidth * endBotJoin), normalize(normalWidth.yx * vec2(-startBotJoin.y, startBotJoin.x)));\n\tfloat abClipping = distToLine(aCoord, bCoord, bTopCoord) / dot(normalize(normalWidth * startBotJoin), normalize(normalWidth.yx * vec2(-endBotJoin.y, endBotJoin.x)));\n\n\t//prevent close to reverse direction switch\n\tbool prevReverse = dot(currTangent, prevTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, prevNormal)) * min(length(prevDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\tbool nextReverse = dot(currTangent, nextTangent) <= REVERSE_THRESHOLD && abs(dot(currTangent, nextNormal)) * min(length(nextDiff), length(currDiff)) <  length(normalWidth * currNormal);\n\n\tif (prevReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * startJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / startMiterRatio, 1.);\n\t\taBotCoord = aCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\taTopCoord = aCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!nextReverse && baClipping > 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position  * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x)  / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D dashPattern;\nuniform float dashSize, pixelRatio, thickness, opacity, id, miterMode;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashSize) * .5 + .25;\n\tfloat dash = texture2D(dashPattern, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n"]),attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=a}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:o(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n       + positionFract * scale + translateFract\n       + position * scaleFract\n       + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n"]),frag:o(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n"]),uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:a,miter:e}},v.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},v.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},v.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach(function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>v.precisionThreshold||e.scale[1]*e.viewport.height>v.precisionThreshold?t.shaders.rect(e):"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=v.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))}),this},v.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,o=this.gl;if(t.forEach(function(t,h){var d=e.passes[h];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=s(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow"}),d||(e.passes[h]=d={id:h,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=i({},v.defaults,t)),null!=t.thickness&&(d.thickness=parseFloat(t.thickness)),null!=t.opacity&&(d.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(d.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(d.overlay=!!t.overlay,h<v.maxLines&&(d.depth=2*(v.maxLines-1-h%v.maxLines)/v.maxLines-1)),null!=t.join&&(d.join=t.join),null!=t.hole&&(d.hole=t.hole),null!=t.fill&&(d.fill=t.fill?n(t.fill,"uint8"):null),null!=t.viewport&&(d.viewport=g(t.viewport)),d.viewport||(d.viewport=g([o.drawingBufferWidth,o.drawingBufferHeight])),null!=t.close&&(d.close=t.close),null===t.positions&&(t.positions=[]),t.positions){var m,y;if(t.positions.x&&t.positions.y){var x=t.positions.x,b=t.positions.y;y=d.count=Math.max(x.length,b.length),m=new Float64Array(2*y);for(var _=0;_<y;_++)m[2*_]=x[_],m[2*_+1]=b[_]}else m=l(t.positions,"float64"),y=d.count=Math.floor(m.length/2);var w=d.bounds=a(m,2);if(d.fill){for(var k=[],T={},A=0,M=0,S=0,E=d.count;M<E;M++){var L=m[2*M],C=m[2*M+1];isNaN(L)||isNaN(C)||null==L||null==C?(L=m[2*A],C=m[2*A+1],T[M]=A):A=M,k[S++]=L,k[S++]=C}for(var P=c(k,d.hole||[]),O=0,z=P.length;O<z;O++)null!=T[P[O]]&&(P[O]=T[P[O]]);d.triangles=P}var I=new Float64Array(m);u(I,2,w);var D=new Float64Array(2*y+6);d.close?m[0]===m[2*y-2]&&m[1]===m[2*y-1]?(D[0]=I[2*y-4],D[1]=I[2*y-3]):(D[0]=I[2*y-2],D[1]=I[2*y-1]):(D[0]=I[0],D[1]=I[1]),D.set(I,2),d.close?m[0]===m[2*y-2]&&m[1]===m[2*y-1]?(D[2*y+2]=I[2],D[2*y+3]=I[3],d.count-=1):(D[2*y+2]=I[0],D[2*y+3]=I[1],D[2*y+4]=I[2],D[2*y+5]=I[3]):(D[2*y+2]=I[2*y-2],D[2*y+3]=I[2*y-1],D[2*y+4]=I[2*y-2],D[2*y+5]=I[2*y-1]),d.positionBuffer(f(D)),d.positionFractBuffer(p(D))}if(t.range?d.range=t.range:d.range||(d.range=d.bounds),(t.range||t.positions)&&d.count){var R=d.bounds,F=R[2]-R[0],B=R[3]-R[1],N=d.range[2]-d.range[0],j=d.range[3]-d.range[1];d.scale=[F/N,B/j],d.translate=[-d.range[0]/N+R[0]/N||0,-d.range[1]/j+R[1]/j||0],d.scaleFract=p(d.scale),d.translateFract=p(d.translate)}if(t.dashes){var V,U=0;if(!t.dashes||t.dashes.length<2)U=1,V=new Uint8Array([255,255,255,255,255,255,255,255]);else{U=0;for(var q=0;q<t.dashes.length;++q)U+=t.dashes[q];V=new Uint8Array(U*v.dashMult);for(var H=0,G=255,Y=0;Y<2;Y++)for(var W=0;W<t.dashes.length;++W){for(var X=0,Z=t.dashes[W]*v.dashMult*.5;X<Z;++X)V[H++]=G;G^=255}}d.dashLength=U,d.dashTexture({channels:1,data:V,width:V.length,height:1,mag:"linear",min:"linear"},0,0)}if(t.color){var J=d.count,K=t.color;K||(K="transparent");var Q=new Uint8Array(4*J+4);if(Array.isArray(K)&&"number"!=typeof K[0]){for(var $=0;$<J;$++){var tt=n(K[$],"uint8");Q.set(tt,4*$)}Q.set(n(K[0],"uint8"),4*J)}else for(var et=n(K,"uint8"),rt=0;rt<J+1;rt++)Q.set(et,4*rt);d.colorBuffer({usage:"dynamic",type:"uint8",data:Q})}}else e.passes[h]=null}),t.length<this.passes.length){for(var h=t.length;h<this.passes.length;h++){var d=e.passes[h];d&&(d.colorBuffer.destroy(),d.positionBuffer.destroy(),d.dashTexture.destroy())}this.passes.length=t.length}for(var m=[],y=0;y<this.passes.length;y++)null!==e.passes[y]&&m.push(e.passes[y]);return this.passes=m,this}},v.prototype.destroy=function(){return this.passes.forEach(function(t){t.colorBuffer.destroy(),t.positionBuffer.destroy(),t.dashTexture.destroy()}),this.passes.length=0,this}},{"array-bounds":67,"array-normalize":493,"color-normalize":121,earcut:172,"es6-weak-map":494,"flatten-vertex-data":229,glslify:410,"object-assign":455,"parse-rect":460,"pick-by-alias":466,"to-float32":536}],493:[function(t,e,r){"use strict";var n=t("array-bounds");e.exports=function(t,e,r){if(!t||null==t.length)throw Error("Argument should be an array");null==e&&(e=1);null==r&&(r=n(t,e));for(var a=0;a<e;a++){var i=r[e+a],o=r[a],s=a,l=t.length;if(i===1/0&&o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:t[s]===o?0:.5;else if(i===1/0)for(s=a;s<l;s+=e)t[s]=t[s]===i?1:0;else if(o===-1/0)for(s=a;s<l;s+=e)t[s]=t[s]===o?0:1;else{var c=i-o;for(s=a;s<l;s+=e)isNaN(t[s])||(t[s]=0===c?.5:(t[s]-o)/c)}}return t}},{"array-bounds":67}],494:[function(t,e,r){arguments[4][319][0].apply(r,arguments)},{"./is-implemented":495,"./polyfill":497,dup:319}],495:[function(t,e,r){arguments[4][320][0].apply(r,arguments)},{dup:320}],496:[function(t,e,r){arguments[4][321][0].apply(r,arguments)},{dup:321}],497:[function(t,e,r){arguments[4][322][0].apply(r,arguments)},{"./is-native-implemented":496,d:152,dup:322,"es5-ext/object/is-value":196,"es5-ext/object/set-prototype-of":202,"es5-ext/object/valid-object":206,"es5-ext/object/valid-value":207,"es5-ext/string/random-uniq":212,"es6-iterator/for-of":214,"es6-iterator/get":215,"es6-symbol":221}],498:[function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(t){return function(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e<t.length;e++)r[e]=t[e];return r}}(t)||function(t){if(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t))return Array.from(t)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var i=t("color-normalize"),o=t("array-bounds"),s=t("color-id"),l=t("point-cluster"),c=t("object-assign"),u=t("glslify"),h=t("pick-by-alias"),f=t("update-diff"),p=t("flatten-vertex-data"),d=t("is-iexplorer"),g=t("to-float32"),v=t("parse-rect"),m=y;function y(t,e){var r=this;if(!(this instanceof y))return new y(t,e);"function"==typeof t?(e||(e={}),e.regl=t):(e=t,t=null),e&&e.length&&(e.positions=e);var n,a=(t=e.regl)._gl,i=[];this.tooManyColors=d,n=t.texture({data:new Uint8Array(1020),width:255,height:1,type:"uint8",format:"rgba",wrapS:"clamp",wrapT:"clamp",mag:"nearest",min:"nearest"}),c(this,{regl:t,gl:a,groups:[],markerCache:[null],markerTextures:[null],palette:i,paletteIds:{},paletteTexture:n,maxColors:255,maxSize:100,canvas:a.canvas}),this.update(e);var o={uniforms:{pixelRatio:t.context("pixelRatio"),palette:n,paletteSize:function(t,e){return[r.tooManyColors?0:255,n.height]},scale:t.prop("scale"),scaleFract:t.prop("scaleFract"),translate:t.prop("translate"),translateFract:t.prop("translateFract"),opacity:t.prop("opacity"),marker:t.prop("markerTexture")},attributes:{x:function(t,e){return e.xAttr||{buffer:e.positionBuffer,stride:8,offset:0}},y:function(t,e){return e.yAttr||{buffer:e.positionBuffer,stride:8,offset:4}},xFract:function(t,e){return e.xAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:0}},yFract:function(t,e){return e.yAttr?{constant:[0,0]}:{buffer:e.positionFractBuffer,stride:8,offset:4}},size:function(t,e){return e.size.length?{buffer:e.sizeBuffer,stride:2,offset:0}:{constant:[Math.round(255*e.size/r.maxSize)]}},borderSize:function(t,e){return e.borderSize.length?{buffer:e.sizeBuffer,stride:2,offset:1}:{constant:[Math.round(255*e.borderSize/r.maxSize)]}},colorId:function(t,e){return e.color.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:0}:{constant:r.tooManyColors?i.slice(4*e.color,4*e.color+4):[e.color]}},borderColorId:function(t,e){return e.borderColor.length?{buffer:e.colorBuffer,stride:r.tooManyColors?8:4,offset:r.tooManyColors?4:2}:{constant:r.tooManyColors?i.slice(4*e.borderColor,4*e.borderColor+4):[e.borderColor]}},isActive:function(t,e){return!0===e.activation?{constant:[1]}:e.activation?e.activation:{constant:[0]}}},blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},scissor:{enable:!0,box:t.prop("viewport")},viewport:t.prop("viewport"),stencil:{enable:!1},depth:{enable:!1},elements:t.prop("elements"),count:t.prop("count"),offset:t.prop("offset"),primitive:"points"},s=c({},o);s.frag=u(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragWidth, fragBorderColorLevel, fragColorLevel;\n\nuniform sampler2D marker;\nuniform float pixelRatio, opacity;\n\nfloat smoothStep(float x, float y) {\n  return 1.0 / (1.0 + exp(50.0*(x - y)));\n}\n\nvoid main() {\n  float dist = texture2D(marker, gl_PointCoord).r, delta = fragWidth;\n\n  // max-distance alpha\n  if (dist < 0.003) discard;\n\n  // null-border case\n  if (fragBorderColorLevel == fragColorLevel || fragBorderColor.a == 0.) {\n    float colorAmt = smoothstep(.5 - delta, .5 + delta, dist);\n    gl_FragColor = vec4(fragColor.rgb, colorAmt * fragColor.a * opacity);\n  }\n  else {\n    float borderColorAmt = smoothstep(fragBorderColorLevel - delta, fragBorderColorLevel + delta, dist);\n    float colorAmt = smoothstep(fragColorLevel - delta, fragColorLevel + delta, dist);\n\n    vec4 color = fragBorderColor;\n    color.a *= borderColorAmt;\n    color = mix(color, fragColor, colorAmt);\n    color.a *= opacity;\n\n    gl_FragColor = color;\n  }\n\n}\n"]),s.vert=u(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract, paletteSize;\nuniform float pixelRatio;\nuniform sampler2D palette;\n\nconst float maxSize = 100.;\nconst float borderLevel = .5;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragPointSize, fragBorderRadius, fragWidth, fragBorderColorLevel, fragColorLevel;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = 2. * size * pixelRatio;\n  fragPointSize = size * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragColor = color;\n  fragBorderColor = borderColor;\n  fragWidth = 1. / gl_PointSize;\n\n  fragBorderColorLevel = clamp(borderLevel - borderLevel * borderSize / size, 0., 1.);\n  fragColorLevel = clamp(borderLevel + (1. - borderLevel) * borderSize / size, 0., 1.);\n}"]),this.drawMarker=t(s);var l=c({},o);l.frag=u(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor, fragBorderColor;\n\nuniform float opacity;\nvarying float fragBorderRadius, fragWidth;\n\nfloat smoothStep(float edge0, float edge1, float x) {\n\tfloat t;\n\tt = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);\n\treturn t * t * (3.0 - 2.0 * t);\n}\n\nvoid main() {\n\tfloat radius, alpha = 1.0, delta = fragWidth;\n\n\tradius = length(2.0 * gl_PointCoord.xy - 1.0);\n\n\tif (radius > 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=u(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio;\nuniform sampler2D palette;\nuniform vec2 paletteSize;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n  return isDirect ? id / 255. : texture2D(palette,\n    vec2(\n      (id.x + .5) / paletteSize.x,\n      (id.y + .5) / paletteSize.y\n    )\n  );\n}\n\nvoid main() {\n  // ignore inactive points\n  if (isActive == 0.) return;\n\n  vec2 position = vec2(x, y);\n  vec2 positionFract = vec2(xFract, yFract);\n\n  vec4 color = getColor(colorId);\n  vec4 borderColor = getColor(borderColorId);\n\n  float size = size * maxSize / 255.;\n  float borderSize = borderSize * maxSize / 255.;\n\n  gl_PointSize = (size + borderSize) * pixelRatio;\n\n  vec2 pos = (position + translate) * scale\n      + (positionFract + translateFract) * scale\n      + (position + translate) * scaleFract\n      + (positionFract + translateFract) * scaleFract;\n\n  gl_Position = vec4(pos * 2. - 1., 0, 1);\n\n  fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n  fragColor = color;\n  fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n  fragWidth = 1. / gl_PointSize;\n}\n"]),d&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}y.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},y.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},y.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];var a=this.groups;if(1===r.length&&Array.isArray(r[0])&&(null===r[0][0]||Array.isArray(r[0][0]))&&(r=r[0]),this.regl._refresh(),r.length)for(var i=0;i<r.length;i++)this.drawItem(i,r[i]);else a.forEach(function(e,r){t.drawItem(r)});return this},y.prototype.drawItem=function(t,e){var r=this.groups,n=r[t];if("number"==typeof e&&(t=e,n=r[e],e=null),n&&n.count&&n.opacity){n.activation[0]&&this.drawCircle(this.getMarkerDrawOptions(0,n,e));for(var i=[],o=1;o<n.activation.length;o++)n.activation[o]&&(!0===n.activation[o]||n.activation[o].data.length)&&i.push.apply(i,a(this.getMarkerDrawOptions(o,n,e)));i.length&&this.drawMarker(i)}},y.prototype.getMarkerDrawOptions=function(t,e,r){var a=e.range,i=e.tree,o=e.viewport,s=e.activation,l=e.selectionBuffer,u=e.count;this.regl;if(!i)return r?[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],count:r.length,elements:r,offset:0})]:[c({},e,{markerTexture:this.markerTextures[t],activation:s[t],offset:0})];var h=[],f=i.range(a,{lod:!0,px:[(a[2]-a[0])/o.width,(a[3]-a[1])/o.height]});if(r){for(var p=s[t].data,d=new Uint8Array(u),g=0;g<r.length;g++){var v=r[g];d[v]=p?p[v]:1}l.subdata(d)}for(var m=f.length;m--;){var y=n(f[m],2),x=y[0],b=y[1];h.push(c({},e,{markerTexture:this.markerTextures[t],activation:r?l:s[t],offset:x,count:b-x}))}return h},y.prototype.update=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];if(r.length){1===r.length&&Array.isArray(r[0])&&(r=r[0]);var a=this.groups,i=this.gl,s=this.regl,u=this.maxSize,d=this.maxColors,m=this.palette;this.groups=a=r.map(function(e,r){var n=a[r];if(void 0===e)return n;null===e?e={positions:null}:"function"==typeof e?e={ondraw:e}:"number"==typeof e[0]&&(e={positions:e}),null===(e=h(e,{positions:"positions data points",snap:"snap cluster lod tree",size:"sizes size radius",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",color:"colors color fill fill-color fillColor",borderColor:"borderColors borderColor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range dataBox databox",viewport:"viewport viewPort viewBox viewbox",opacity:"opacity alpha transparency",bounds:"bound bounds boundaries limits",tooManyColors:"tooManyColors palette paletteMode optimizePalette enablePalette"})).positions&&(e.positions=[]),null!=e.tooManyColors&&(t.tooManyColors=e.tooManyColors),n||(a[r]=n={id:r,scale:null,translate:null,scaleFract:null,translateFract:null,activation:[],selectionBuffer:s.buffer({data:new Uint8Array(0),usage:"stream",type:"uint8"}),sizeBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),colorBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"uint8"}),positionBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"}),positionFractBuffer:s.buffer({data:new Uint8Array(0),usage:"dynamic",type:"float"})},e=c({},y.defaults,e)),!e.positions||"marker"in e||(e.marker=n.marker,delete n.marker),!e.marker||"positions"in e||(e.positions=n.positions,delete n.positions);var x=0,b=0;if(f(n,e,[{snap:!0,size:function(t,e){return null==t&&(t=y.defaults.size),x+=t&&t.length?1:0,t},borderSize:function(t,e){return null==t&&(t=y.defaults.borderSize),x+=t&&t.length?1:0,t},opacity:parseFloat,color:function(e,r){return null==e&&(e=y.defaults.color),e=t.updateColor(e),b++,e},borderColor:function(e,r){return null==e&&(e=y.defaults.borderColor),e=t.updateColor(e),b++,e},bounds:function(t,e,r){return"range"in r||(r.range=null),t},positions:function(t,e,r){var n=e.snap,a=e.positionBuffer,i=e.positionFractBuffer,c=e.selectionBuffer;if(t.x||t.y)return t.x.length?e.xAttr={buffer:s.buffer(t.x),offset:0,stride:4,count:t.x.length}:e.xAttr={buffer:t.x.buffer,offset:4*t.x.offset||0,stride:4*(t.x.stride||1),count:t.x.count},t.y.length?e.yAttr={buffer:s.buffer(t.y),offset:0,stride:4,count:t.y.length}:e.yAttr={buffer:t.y.buffer,offset:4*t.y.offset||0,stride:4*(t.y.stride||1),count:t.y.count},e.count=Math.max(e.xAttr.count,e.yAttr.count),t;t=p(t,"float64");var u=e.count=Math.floor(t.length/2),h=e.bounds=u?o(t,2):null;if(r.range||e.range||(delete e.range,r.range=h),r.marker||e.marker||(delete e.marker,r.marker=null),n&&(!0===n||u>n)?e.tree=l(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(f):e.elements=s.elements(f)}return a({data:g.float(t),usage:"dynamic"}),i({data:g.fract(t),usage:"dynamic"}),c({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var a=r.activation;if(a.forEach(function(t){return t&&t.destroy&&t.destroy()}),a.length=0,e&&"number"!=typeof e[0]){for(var i=[],o=0,l=Math.min(e.length,r.count);o<l;o++){var c=t.addMarker(e[o]);i[c]||(i[c]=new Uint8Array(r.count)),i[c][o]=1}for(var u=0;u<i.length;u++)if(i[u]){var h={data:i[u],type:"uint8",usage:"static"};a[u]?a[u](h):a[u]=s.buffer(h),a[u].data=i[u]}}else{a[t.addMarker(e)]=!0}return e},range:function(t,e,r){var n=e.bounds;if(n)return t||(t=n),e.scale=[1/(t[2]-t[0]),1/(t[3]-t[1])],e.translate=[-t[0],-t[1]],e.scaleFract=g.fract(e.scale),e.translateFract=g.fract(e.translate),t},viewport:function(t){return v(t||[i.drawingBufferWidth,i.drawingBufferHeight])}}]),x){var _=n,w=_.count,k=_.size,T=_.borderSize,A=_.sizeBuffer,M=new Uint8Array(2*w);if(k.length||T.length)for(var S=0;S<w;S++)M[2*S]=Math.round(255*(null==k[S]?k:k[S])/u),M[2*S+1]=Math.round(255*(null==T[S]?T:T[S])/u);A({data:M,usage:"dynamic"})}if(b){var E,L=n,C=L.count,P=L.color,O=L.borderColor,z=L.colorBuffer;if(t.tooManyColors){if(P.length||O.length){E=new Uint8Array(8*C);for(var I=0;I<C;I++){var D=P[I];E[8*I]=m[4*D],E[8*I+1]=m[4*D+1],E[8*I+2]=m[4*D+2],E[8*I+3]=m[4*D+3];var R=O[I];E[8*I+4]=m[4*R],E[8*I+5]=m[4*R+1],E[8*I+6]=m[4*R+2],E[8*I+7]=m[4*R+3]}}}else if(P.length||O.length){E=new Uint8Array(4*C+2);for(var F=0;F<C;F++)null!=P[F]&&(E[4*F]=P[F]%d,E[4*F+1]=Math.floor(P[F]/d)),null!=O[F]&&(E[4*F+2]=O[F]%d,E[4*F+3]=Math.floor(O[F]/d))}z({data:E||new Uint8Array(0),type:"uint8",usage:"dynamic"})}return n})}},y.prototype.addMarker=function(t){var e,r=this.markerTextures,n=this.regl,a=this.markerCache,i=null==t?0:a.indexOf(t);if(i>=0)return i;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o<s;o++)e[o]=255*t[o]}var l=Math.floor(Math.sqrt(e.length));return i=r.length,a.push(t),r.push(n.texture({channels:1,data:e,radius:l,mag:"linear",min:"linear"})),i},y.prototype.updateColor=function(t){var e=this.paletteIds,r=this.palette,n=this.maxColors;Array.isArray(t)||(t=[t]);var a=[];if("number"==typeof t[0]){var o=[];if(Array.isArray(t))for(var l=0;l<t.length;l+=4)o.push(t.slice(l,l+4));else for(var c=0;c<t.length;c+=4)o.push(t.subarray(c,c+4));t=o}for(var u=0;u<t.length;u++){var h=t[u];h=i(h,"uint8");var f=s(h,!1);if(null==e[f]){var p=r.length;e[f]=Math.floor(p/4),r[p]=h[0],r[p+1]=h[1],r[p+2]=h[2],r[p+3]=h[3]}a[u]=e[f]}return!this.tooManyColors&&r.length>4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===a.length?a[0]:a},y.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var a=.25*(t=t.slice()).length%e;a<n*e;a++)t.push(0,0,0,0);r.height<n&&r.resize(e,n),r.subimage({width:Math.min(.25*t.length,e),height:n,data:t},0,0)}},y.prototype.destroy=function(){return this.groups.forEach(function(t){t.sizeBuffer.destroy(),t.positionBuffer.destroy(),t.positionFractBuffer.destroy(),t.colorBuffer.destroy(),t.activation.forEach(function(t){return t&&t.destroy&&t.destroy()}),t.selectionBuffer.destroy(),t.elements&&t.elements.destroy()}),this.groups.length=0,this.paletteTexture.destroy(),this.markerTextures.forEach(function(t){return t&&t.destroy&&t.destroy()}),this};var x=t("object-assign");e.exports=function(t,e){var r=new m(t,e),n=r.render.bind(r);return x(n,{render:n,update:r.update.bind(r),draw:r.draw.bind(r),destroy:r.destroy.bind(r),regl:r.regl,gl:r.gl,canvas:r.gl.canvas,groups:r.groups,markers:r.markerCache,palette:r.palette}),n}},{"array-bounds":67,"color-id":119,"color-normalize":121,"flatten-vertex-data":229,glslify:410,"is-iexplorer":420,"object-assign":455,"parse-rect":460,"pick-by-alias":466,"point-cluster":470,"to-float32":536,"update-diff":547}],499:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),a=t("pick-by-alias"),i=t("array-bounds"),o=t("raf"),s=t("array-range"),l=t("parse-rect"),c=t("flatten-vertex-data");function u(t,e){if(!(this instanceof u))return new u(t,e);this.traces=[],this.passes={},this.regl=t,this.scatter=n(t),this.canvas=this.scatter.canvas}function h(t,e,r){return(null!=t.id?t.id:t)<<16|(255&e)<<8|255&r}function f(t,e,r){var n,a,i,o,s=t[e],l=t[r];return s.length>2?(s[0],s[2],n=s[1],a=s[3]):s.length?(n=s[0],a=s[1]):(s.x,n=s.y,s.x+s.width,a=s.y+s.height),l.length>2?(i=l[0],o=l[2],l[1],l[3]):l.length?(i=l[0],o=l[1]):(i=l.x,l.y,o=l.x+l.width,l.y+l.height),[i,n,o,a]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}e.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o(function(){e.draw(),e.dirty=!0,e.planned=null})):(this.draw(),this.dirty=!0,o(function(){e.dirty=!1})),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;n<e.length;n++)this.updateItem(n,e[n]);this.traces=this.traces.filter(Boolean);for(var a=[],i=0,o=0;o<this.traces.length;o++){for(var s=this.traces[o],l=this.traces[o].passes,c=0;c<l.length;c++)a.push(this.passes[l[c]]);s.passOffset=i,i+=s.passes.length}return(t=this.scatter).update.apply(t,a),this}},u.prototype.updateItem=function(t,e){var r=this.regl;if(null===e)return this.traces[t]=null,this;if(!e)return this;var n,o=a(e,{data:"data items columns rows values dimensions samples x",snap:"snap cluster",size:"sizes size radius",color:"colors color fill fill-color fillColor",opacity:"opacity alpha transparency opaque",borderSize:"borderSizes borderSize border-size bordersize borderWidth borderWidths border-width borderwidth stroke-width strokeWidth strokewidth outline",borderColor:"borderColors borderColor bordercolor stroke stroke-color strokeColor",marker:"markers marker shape",range:"range ranges databox dataBox",viewport:"viewport viewBox viewbox",domain:"domain domains area areas",padding:"pad padding paddings pads margin margins",transpose:"transpose transposed",diagonal:"diagonal diag showDiagonal",upper:"upper up top upperhalf upperHalf showupperhalf showUpper showUpperHalf",lower:"lower low bottom lowerhalf lowerHalf showlowerhalf showLowerHalf showLower"}),s=this.traces[t]||(this.traces[t]={id:t,buffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),color:"black",marker:null,size:12,borderColor:"transparent",borderSize:1,viewport:l([r._gl.drawingBufferWidth,r._gl.drawingBufferHeight]),padding:[0,0,0,0],opacity:1,diagonal:!0,upper:!0,lower:!0});if(null!=o.color&&(s.color=o.color),null!=o.size&&(s.size=o.size),null!=o.marker&&(s.marker=o.marker),null!=o.borderColor&&(s.borderColor=o.borderColor),null!=o.borderSize&&(s.borderSize=o.borderSize),null!=o.opacity&&(s.opacity=o.opacity),o.viewport&&(s.viewport=l(o.viewport)),null!=o.diagonal&&(s.diagonal=o.diagonal),null!=o.upper&&(s.upper=o.upper),null!=o.lower&&(s.lower=o.lower),o.data){s.buffer(c(o.data)),s.columns=o.data.length,s.count=o.data[0].length,s.bounds=[];for(var u=0;u<s.columns;u++)s.bounds[u]=i(o.data[u],1)}o.range&&(s.range=o.range,n=s.range&&"number"!=typeof s.range[0]),o.domain&&(s.domain=o.domain);var d=!1;null!=o.padding&&(Array.isArray(o.padding)&&o.padding.length===s.columns&&"number"==typeof o.padding[o.padding.length-1]?(s.padding=o.padding.map(p),d=!0):s.padding=p(o.padding));var g=s.columns,v=s.count,m=s.viewport.width,y=s.viewport.height,x=s.viewport.x,b=s.viewport.y,_=m/g,w=y/g;s.passes=[];for(var k=0;k<g;k++)for(var T=0;T<g;T++)if((s.diagonal||T!==k)&&(s.upper||!(k>T))&&(s.lower||!(k<T))){var A=h(s.id,k,T),M=this.passes[A]||(this.passes[A]={});if(o.data&&(o.transpose?M.positions={x:{buffer:s.buffer,offset:T,count:v,stride:g},y:{buffer:s.buffer,offset:k,count:v,stride:g}}:M.positions={x:{buffer:s.buffer,offset:T*v,count:v},y:{buffer:s.buffer,offset:k*v,count:v}},M.bounds=f(s.bounds,k,T)),o.domain||o.viewport||o.data){var S=d?f(s.padding,k,T):s.padding;if(s.domain){var E=f(s.domain,k,T),L=E[0],C=E[1],P=E[2],O=E[3];M.viewport=[x+L*m+S[0],b+C*y+S[1],x+P*m-S[2],b+O*y-S[3]]}else M.viewport=[x+T*_+_*S[0],b+k*w+w*S[1],x+(T+1)*_-_*S[2],b+(k+1)*w-w*S[3]]}o.color&&(M.color=s.color),o.size&&(M.size=s.size),o.marker&&(M.marker=s.marker),o.borderSize&&(M.borderSize=s.borderSize),o.borderColor&&(M.borderColor=s.borderColor),o.opacity&&(M.opacity=s.opacity),o.range&&(M.range=n?f(s.range,k,T):s.range||M.bounds),s.passes.push(A)}return this},u.prototype.draw=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=[],a=0;a<e.length;a++)if("number"==typeof e[a]){var i=this.traces[e[a]],o=i.passes,l=i.passOffset;n.push.apply(n,s(l,l+o.length))}else if(e[a].length){var c=e[a],u=this.traces[a],h=u.passes,f=u.passOffset;h=h.map(function(t,e){n[f+e]=c})}(t=this.scatter).draw.apply(t,n)}else this.scatter.draw();return this},u.prototype.destroy=function(){return this.traces.forEach(function(t){t.buffer&&t.buffer.destroy&&t.buffer.destroy()}),this.traces=null,this.passes=null,this.scatter.destroy(),this}},{"array-bounds":67,"array-range":68,"flatten-vertex-data":229,"parse-rect":460,"pick-by-alias":466,raf:485,"regl-scatter2d":498}],500:[function(t,e,r){var n,a;n=this,a=function(){function t(t,e){this.id=V++,this.type=t,this.data=e}function e(t){return"["+function t(e){if(0===e.length)return[];var r=e.charAt(0),n=e.charAt(e.length-1);if(1<e.length&&r===n&&('"'===r||"'"===r))return['"'+e.substr(1,e.length-2).replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];if(r=/\[(false|true|null|\d+|'[^']*'|"[^"]*")\]/.exec(e))return t(e.substr(0,r.index)).concat(t(r[1])).concat(t(e.substr(r.index+r[0].length)));if(1===(r=e.split(".")).length)return['"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')+'"'];for(e=[],n=0;n<r.length;++n)e=e.concat(t(r[n]));return e}(t).join("][")+"]"}function r(t){return"string"==typeof t?t.split():t}function n(t){return"string"==typeof t?document.querySelector(t):t}function a(t){var e,a,i,o,s=t||{};t={};var l=[],c=[],u="undefined"==typeof window?1:window.devicePixelRatio,h=!1,f=function(t){},p=function(){};if("string"==typeof s?e=document.querySelector(s):"object"==typeof s&&("string"==typeof s.nodeName&&"function"==typeof s.appendChild&&"function"==typeof s.getBoundingClientRect?e=s:"function"==typeof s.drawArrays||"function"==typeof s.drawElements?i=(o=s).canvas:("gl"in s?o=s.gl:"canvas"in s?i=n(s.canvas):"container"in s&&(a=n(s.container)),"attributes"in s&&(t=s.attributes),"extensions"in s&&(l=r(s.extensions)),"optionalExtensions"in s&&(c=r(s.optionalExtensions)),"onDone"in s&&(f=s.onDone),"profile"in s&&(h=!!s.profile),"pixelRatio"in s&&(u=+s.pixelRatio))),e&&("canvas"===e.nodeName.toLowerCase()?i=e:a=e),!o){if(!i){if(!(e=function(t,e,r){function n(){var e=window.innerWidth,n=window.innerHeight;t!==document.body&&(e=(n=t.getBoundingClientRect()).right-n.left,n=n.bottom-n.top),a.width=r*e,a.height=r*n,j(a.style,{width:e+"px",height:n+"px"})}var a=document.createElement("canvas");return j(a.style,{border:0,margin:0,padding:0,top:0,left:0}),t.appendChild(a),t===document.body&&(a.style.position="absolute",j(t.style,{margin:0,padding:0})),window.addEventListener("resize",n,!1),n(),{canvas:a,onDestroy:function(){window.removeEventListener("resize",n),t.removeChild(a)}}}(a||document.body,0,u)))return null;i=e.canvas,p=e.onDestroy}o=function(t,e){function r(r){try{return t.getContext(r,e)}catch(t){return null}}return r("webgl")||r("experimental-webgl")||r("webgl-experimental")}(i,t)}return o?{gl:o,canvas:i,container:a,extensions:l,optionalExtensions:c,pixelRatio:u,profile:h,onDone:f,onDestroy:p}:(p(),f("webgl not supported, try upgrading your browser or graphics drivers http://get.webgl.org"),null)}function i(t,e){for(var r=Array(t),n=0;n<t;++n)r[n]=e(n);return r}function o(t){var e,r;return e=(65535<t)<<4,e|=r=(255<(t>>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function s(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[o(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[o(t.byteLength)>>2].push(t)}var r=i(8,function(){return[]});return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function l(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||W(t.data))}function c(t,e,r,n,a,i){for(var o=0;o<e;++o)for(var s=t[o],l=0;l<r;++l)for(var c=s[l],u=0;u<n;++u)a[i++]=c[u]}function u(t){return 0|J[Object.prototype.toString.call(t)]}function h(t,e){for(var r=0;r<e.length;++r)t[r]=e[r]}function f(t,e,r,n,a,i,o){for(var s=0,l=0;l<r;++l)for(var c=0;c<n;++c)t[s++]=e[a*l+i*c+o]}function p(t,e,r,n){function a(e){this.id=c++,this.buffer=t.createBuffer(),this.type=e,this.usage=35044,this.byteLength=0,this.dimension=1,this.dtype=5121,this.persistentData=null,r.profile&&(this.stats={size:0})}function i(e,r,n){e.byteLength=r.byteLength,t.bufferData(e.type,r,n)}function o(t,e,r,n,a,o){if(t.usage=r,Array.isArray(e)){if(t.dtype=n||5126,0<e.length)if(Array.isArray(e[0])){a=tt(e);for(var s=n=1;s<a.length;++s)n*=a[s];t.dimension=n,i(t,e=$(e,a,t.dtype),r),o?t.persistentData=e:G.freeType(e)}else"number"==typeof e[0]?(t.dimension=a,h(a=G.allocType(t.dtype,e.length),e),i(t,a,r),o?t.persistentData=a:G.freeType(a)):W(e[0])&&(t.dimension=e[0].length,t.dtype=n||u(e[0])||5126,i(t,e=$(e,[e.length,e[0].length],t.dtype),r),o?t.persistentData=e:G.freeType(e))}else if(W(e))t.dtype=n||u(e),t.dimension=a,i(t,e,r),o&&(t.persistentData=new Uint8Array(new Uint8Array(e.buffer)));else if(l(e)){a=e.shape;var c=e.stride,p=(s=e.offset,0),d=0,g=0,v=0;1===a.length?(p=a[0],d=1,g=c[0],v=0):2===a.length&&(p=a[0],d=a[1],g=c[0],v=c[1]),t.dtype=n||u(e.data)||5126,t.dimension=d,f(a=G.allocType(t.dtype,p*d),e.data,p,d,g,v,s),i(t,a,r),o?t.persistentData=a:G.freeType(a)}}function s(r){e.bufferCount--;for(var a=0;a<n.state.length;++a){var i=n.state[a];i.buffer===r&&(t.disableVertexAttribArray(a),i.buffer=null)}t.deleteBuffer(r.buffer),r.buffer=null,delete p[r.id]}var c=0,p={};a.prototype.bind=function(){t.bindBuffer(this.type,this.buffer)},a.prototype.destroy=function(){s(this)};var d=[];return r.profile&&(e.getTotalBufferSize=function(){var t=0;return Object.keys(p).forEach(function(e){t+=p[e].stats.size}),t}),{create:function(n,i,c,d){function g(e){var n=35044,a=null,i=0,s=0,c=1;return Array.isArray(e)||W(e)||l(e)?a=e:"number"==typeof e?i=0|e:e&&("data"in e&&(a=e.data),"usage"in e&&(n=Q[e.usage]),"type"in e&&(s=K[e.type]),"dimension"in e&&(c=0|e.dimension),"length"in e&&(i=0|e.length)),v.bind(),a?o(v,a,n,s,c,d):(i&&t.bufferData(v.type,i,n),v.dtype=s||5121,v.usage=n,v.dimension=c,v.byteLength=i),r.profile&&(v.stats.size=v.byteLength*et[v.dtype]),g}e.bufferCount++;var v=new a(i);return p[v.id]=v,c||g(n),g._reglType="buffer",g._buffer=v,g.subdata=function(e,r){var n,a=0|(r||0);if(v.bind(),W(e))t.bufferSubData(v.type,a,e);else if(Array.isArray(e)){if(0<e.length)if("number"==typeof e[0]){var i=G.allocType(v.dtype,e.length);h(i,e),t.bufferSubData(v.type,a,i),G.freeType(i)}else(Array.isArray(e[0])||W(e[0]))&&(n=tt(e),i=$(e,n,v.dtype),t.bufferSubData(v.type,a,i),G.freeType(i))}else if(l(e)){n=e.shape;var o=e.stride,s=i=0,c=0,p=0;1===n.length?(i=n[0],s=1,c=o[0],p=0):2===n.length&&(i=n[0],s=n[1],c=o[0],p=o[1]),n=Array.isArray(e.data)?v.dtype:u(e.data),f(n=G.allocType(n,i*s),e.data,i,s,c,p,e.offset),t.bufferSubData(v.type,a,n),G.freeType(n)}return g},r.profile&&(g.stats=v.stats),g.destroy=function(){s(v)},g},createStream:function(t,e){var r=d.pop();return r||(r=new a(t)),r.bind(),o(r,e,35040,0,1,!1),r},destroyStream:function(t){d.push(t)},clear:function(){X(p).forEach(s),d.forEach(s)},getBuffer:function(t){return t&&t._buffer instanceof a?t._buffer:null},restore:function(){X(p).forEach(function(e){e.buffer=t.createBuffer(),t.bindBuffer(e.type,e.buffer),t.bufferData(e.type,e.persistentData||e.byteLength,e.usage)})},_initBuffer:o}}function d(t,e,r,n){function a(t){this.id=c++,s[this.id]=this,this.buffer=t,this.primType=4,this.type=this.vertCount=0}function i(n,a,i,o,s,c,u){if(n.buffer.bind(),a){var h=u;u||W(a)&&(!l(a)||W(a.data))||(h=e.oes_element_index_uint?5125:5123),r._initBuffer(n.buffer,a,i,h,3)}else t.bufferData(34963,c,i),n.buffer.dtype=h||5121,n.buffer.usage=i,n.buffer.dimension=3,n.buffer.byteLength=c;if(h=u,!u){switch(n.buffer.dtype){case 5121:case 5120:h=5121;break;case 5123:case 5122:h=5123;break;case 5125:case 5124:h=5125}n.buffer.dtype=h}n.type=h,0>(a=s)&&(a=n.buffer.byteLength,5123===h?a>>=1:5125===h&&(a>>=2)),n.vertCount=a,a=o,0>o&&(a=4,1===(o=n.buffer.dimension)&&(a=0),2===o&&(a=1),3===o&&(a=4)),n.primType=a}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},c=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),a.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)c(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,a=-1,o=0,f=0;Array.isArray(t)||W(t)||l(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=Q[t.usage]),"primitive"in t&&(n=rt[t.primitive]),"count"in t&&(a=0|t.count),"type"in t&&(f=u[t.type]),"length"in t?o=0|t.length:(o=a,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),i(h,e,r,n,a,o,f)}else c(),h.primType=4,h.vertCount=0,h.type=5121;return s}var c=r.create(null,34963,!0),h=new a(c._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=h,s.subdata=function(t,e){return c.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new a(r.create(null,34963,!0,!1)._buffer)),i(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof a?t._elements:null},clear:function(){X(s).forEach(o)}}}function g(t){for(var e=G.allocType(5123,t.length),r=0;r<t.length;++r)if(isNaN(t[r]))e[r]=65535;else if(1/0===t[r])e[r]=31744;else if(-1/0===t[r])e[r]=64512;else{nt[0]=t[r];var n=(i=at[0])>>>31<<15,a=(i<<1>>>24)-127,i=i>>13&1023;e[r]=-24>a?n:-14>a?n+(i+1024>>-14-a):15<a?n+31744:n+(a+15<<10)+i}return e}function v(t){return Array.isArray(t)||W(t)}function m(t){return"[object "+t+"]"}function y(t){return Array.isArray(t)&&(0===t.length||"number"==typeof t[0])}function x(t){return!(!Array.isArray(t)||0===t.length||!v(t[0]))}function b(t){return Object.prototype.toString.call(t)}function _(t){if(!t)return!1;var e=b(t);return 0<=pt.indexOf(e)||(y(t)||x(t)||l(t))}function w(t,e){36193===t.type?(t.data=g(e),G.freeType(e)):t.data=e}function k(t,e,r,n,a,i){if(t="undefined"!=typeof gt[t]?gt[t]:st[t]*dt[e],i&&(t*=6),a){for(n=0;1<=r;)n+=t*r*r,r/=2;return n}return t*r*n}function T(t,e,r,n,a,i,o){function s(){this.format=this.internalformat=6408,this.type=5121,this.flipY=this.premultiplyAlpha=this.compressed=!1,this.unpackAlignment=1,this.colorSpace=37444,this.channels=this.height=this.width=0}function c(t,e){t.internalformat=e.internalformat,t.format=e.format,t.type=e.type,t.compressed=e.compressed,t.premultiplyAlpha=e.premultiplyAlpha,t.flipY=e.flipY,t.unpackAlignment=e.unpackAlignment,t.colorSpace=e.colorSpace,t.width=e.width,t.height=e.height,t.channels=e.channels}function u(t,e){if("object"==typeof e&&e){"premultiplyAlpha"in e&&(t.premultiplyAlpha=e.premultiplyAlpha),"flipY"in e&&(t.flipY=e.flipY),"alignment"in e&&(t.unpackAlignment=e.alignment),"colorSpace"in e&&(t.colorSpace=q[e.colorSpace]),"type"in e&&(t.type=H[e.type]);var r=t.width,n=t.height,a=t.channels,i=!1;"shape"in e?(r=e.shape[0],n=e.shape[1],3===e.shape.length&&(a=e.shape[2],i=!0)):("radius"in e&&(r=n=e.radius),"width"in e&&(r=e.width),"height"in e&&(n=e.height),"channels"in e&&(a=e.channels,i=!0)),t.width=0|r,t.height=0|n,t.channels=0|a,r=!1,"format"in e&&(r=e.format,n=t.internalformat=Y[r],t.format=pt[n],r in H&&!("type"in e)&&(t.type=H[r]),r in K&&(t.compressed=!0),r=!0),!i&&r?t.channels=st[t.format]:i&&!r&&t.channels!==ot[t.format]&&(t.format=t.internalformat=ot[t.channels])}}function h(e){t.pixelStorei(37440,e.flipY),t.pixelStorei(37441,e.premultiplyAlpha),t.pixelStorei(37443,e.colorSpace),t.pixelStorei(3317,e.unpackAlignment)}function f(){s.call(this),this.yOffset=this.xOffset=0,this.data=null,this.needsFree=!1,this.element=null,this.needsCopy=!1}function p(t,e){var r=null;if(_(e)?r=e:e&&(u(t,e),"x"in e&&(t.xOffset=0|e.x),"y"in e&&(t.yOffset=0|e.y),_(e.data)&&(r=e.data)),e.copy){var n=a.viewportWidth,i=a.viewportHeight;t.width=t.width||n-t.xOffset,t.height=t.height||i-t.yOffset,t.needsCopy=!0}else if(r){if(W(r))t.channels=t.channels||4,t.data=r,"type"in e||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(r)]);else if(y(r)){switch(t.channels=t.channels||4,i=(n=r).length,t.type){case 5121:case 5123:case 5125:case 5126:(i=G.allocType(t.type,i)).set(n),t.data=i;break;case 36193:t.data=g(n)}t.alignment=1,t.needsFree=!0}else if(l(r)){n=r.data,Array.isArray(n)||5121!==t.type||(t.type=0|J[Object.prototype.toString.call(n)]);i=r.shape;var o,s,c,h,f=r.stride;3===i.length?(c=i[2],h=f[2]):h=c=1,o=i[0],s=i[1],i=f[0],f=f[1],t.alignment=1,t.width=o,t.height=s,t.channels=c,t.format=t.internalformat=ot[c],t.needsFree=!0,o=h,r=r.offset,c=t.width,h=t.height,s=t.channels;for(var p=G.allocType(36193===t.type?5126:t.type,c*h*s),d=0,m=0;m<h;++m)for(var k=0;k<c;++k)for(var T=0;T<s;++T)p[d++]=n[i*k+f*m+o*T+r];w(t,p)}else if(b(r)===lt||b(r)===ct)b(r)===lt?t.element=r:t.element=r.canvas,t.width=t.element.width,t.height=t.element.height,t.channels=4;else if(b(r)===ut)t.element=r,t.width=r.width,t.height=r.height,t.channels=4;else if(b(r)===ht)t.element=r,t.width=r.naturalWidth,t.height=r.naturalHeight,t.channels=4;else if(b(r)===ft)t.element=r,t.width=r.videoWidth,t.height=r.videoHeight,t.channels=4;else if(x(r)){for(n=t.width||r[0].length,i=t.height||r.length,f=t.channels,f=v(r[0][0])?f||r[0][0].length:f||1,o=Z.shape(r),c=1,h=0;h<o.length;++h)c*=o[h];c=G.allocType(36193===t.type?5126:t.type,c),Z.flatten(r,o,"",c),w(t,c),t.alignment=1,t.width=n,t.height=i,t.channels=f,t.format=t.internalformat=ot[f],t.needsFree=!0}}else t.width=t.width||1,t.height=t.height||1,t.channels=t.channels||4}function d(e,r,a,i,o){var s=e.element,l=e.data,c=e.internalformat,u=e.format,f=e.type,p=e.width,d=e.height;h(e),s?t.texSubImage2D(r,o,a,i,u,f,s):e.compressed?t.compressedTexSubImage2D(r,o,a,i,c,p,d,l):e.needsCopy?(n(),t.copyTexSubImage2D(r,o,a,i,e.xOffset,e.yOffset,p,d)):t.texSubImage2D(r,o,a,i,p,d,u,f,l)}function m(){return dt.pop()||new f}function T(t){t.needsFree&&G.freeType(t.data),f.call(t),dt.push(t)}function A(){s.call(this),this.genMipmaps=!1,this.mipmapHint=4352,this.mipmask=0,this.images=Array(16)}function M(t,e,r){var n=t.images[0]=m();t.mipmask=1,n.width=t.width=e,n.height=t.height=r,n.channels=t.channels=4}function S(t,e){var r=null;if(_(e))c(r=t.images[0]=m(),t),p(r,e),t.mipmask=1;else if(u(t,e),Array.isArray(e.mipmap))for(var n=e.mipmap,a=0;a<n.length;++a)c(r=t.images[a]=m(),t),r.width>>=a,r.height>>=a,p(r,n[a]),t.mipmask|=1<<a;else c(r=t.images[0]=m(),t),p(r,e),t.mipmask=1;c(t,t.images[0])}function E(e,r){for(var a=e.images,i=0;i<a.length&&a[i];++i){var o=a[i],s=r,l=i,c=o.element,u=o.data,f=o.internalformat,p=o.format,d=o.type,g=o.width,v=o.height,m=o.channels;h(o),c?t.texImage2D(s,l,p,p,d,c):o.compressed?t.compressedTexImage2D(s,l,f,g,v,0,u):o.needsCopy?(n(),t.copyTexImage2D(s,l,p,o.xOffset,o.yOffset,g,v,0)):((o=!u)&&(u=G.zero.allocType(d,g*v*m)),t.texImage2D(s,l,p,g,v,0,p,d,u),o&&u&&G.zero.freeType(u))}}function L(){var t=gt.pop()||new A;s.call(t);for(var e=t.mipmask=0;16>e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;r<e.length;++r)e[r]&&T(e[r]),e[r]=null;gt.push(t)}function P(){this.magFilter=this.minFilter=9728,this.wrapT=this.wrapS=33071,this.anisotropic=1,this.genMipmaps=!1,this.mipmapHint=4352}function O(t,e){"min"in e&&(t.minFilter=U[e.min],0<=it.indexOf(t.minFilter)&&!("faces"in e)&&(t.genMipmaps=!0)),"mag"in e&&(t.magFilter=V[e.mag]);var r=t.wrapS,n=t.wrapT;if("wrap"in e){var a=e.wrap;"string"==typeof a?r=n=N[a]:Array.isArray(a)&&(r=N[a[0]],n=N[a[1]])}else"wrapS"in e&&(r=N[e.wrapS]),"wrapT"in e&&(n=N[e.wrapT]);if(t.wrapS=r,t.wrapT=n,"anisotropic"in e&&(t.anisotropic=e.anisotropic),"mipmap"in e){switch(r=!1,typeof e.mipmap){case"string":t.mipmapHint=B[e.mipmap],r=t.genMipmaps=!0;break;case"boolean":r=t.genMipmaps=e.mipmap;break;case"object":t.genMipmaps=!1,r=!0}!r||"min"in e||(t.minFilter=9984)}}function z(r,n){t.texParameteri(n,10241,r.minFilter),t.texParameteri(n,10240,r.magFilter),t.texParameteri(n,10242,r.wrapS),t.texParameteri(n,10243,r.wrapT),e.ext_texture_filter_anisotropic&&t.texParameteri(n,34046,r.anisotropic),r.genMipmaps&&(t.hint(33170,r.mipmapHint),t.generateMipmap(n))}function I(e){s.call(this),this.mipmask=0,this.internalformat=6408,this.id=vt++,this.refCount=1,this.target=e,this.texture=t.createTexture(),this.unit=-1,this.bindCount=0,this.texInfo=new P,o.profile&&(this.stats={size:0})}function D(e){t.activeTexture(33984),t.bindTexture(e.target,e.texture)}function R(){var e=xt[0];e?t.bindTexture(e.target,e.texture):t.bindTexture(3553,null)}function F(e){var r=e.texture,n=e.unit,a=e.target;0<=n&&(t.activeTexture(33984+n),t.bindTexture(a,null),xt[n]=null),t.deleteTexture(r),e.texture=null,e.params=null,e.pixels=null,e.refCount=0,delete mt[e.id],i.textureCount--}var B={"don't care":4352,"dont care":4352,nice:4354,fast:4353},N={repeat:10497,clamp:33071,mirror:33648},V={nearest:9728,linear:9729},U=j({mipmap:9987,"nearest mipmap nearest":9984,"linear mipmap nearest":9985,"nearest mipmap linear":9986,"linear mipmap linear":9987},V),q={none:0,browser:37444},H={uint8:5121,rgba4:32819,rgb565:33635,"rgb5 a1":32820},Y={alpha:6406,luminance:6409,"luminance alpha":6410,rgb:6407,rgba:6408,rgba4:32854,"rgb5 a1":32855,rgb565:36194},K={};e.ext_srgb&&(Y.srgb=35904,Y.srgba=35906),e.oes_texture_float&&(H.float32=H.float=5126),e.oes_texture_half_float&&(H.float16=H["half float"]=36193),e.webgl_depth_texture&&(j(Y,{depth:6402,"depth stencil":34041}),j(H,{uint16:5123,uint32:5125,"depth stencil":34042})),e.webgl_compressed_texture_s3tc&&j(K,{"rgb s3tc dxt1":33776,"rgba s3tc dxt1":33777,"rgba s3tc dxt3":33778,"rgba s3tc dxt5":33779}),e.webgl_compressed_texture_atc&&j(K,{"rgb atc":35986,"rgba atc explicit alpha":35987,"rgba atc interpolated alpha":34798}),e.webgl_compressed_texture_pvrtc&&j(K,{"rgb pvrtc 4bppv1":35840,"rgb pvrtc 2bppv1":35841,"rgba pvrtc 4bppv1":35842,"rgba pvrtc 2bppv1":35843}),e.webgl_compressed_texture_etc1&&(K["rgb etc1"]=36196);var Q=Array.prototype.slice.call(t.getParameter(34467));Object.keys(K).forEach(function(t){var e=K[t];0<=Q.indexOf(e)&&(Y[t]=e)});var $=Object.keys(Y);r.textureFormats=$;var tt=[];Object.keys(Y).forEach(function(t){tt[Y[t]]=t});var et=[];Object.keys(H).forEach(function(t){et[H[t]]=t});var rt=[];Object.keys(V).forEach(function(t){rt[V[t]]=t});var nt=[];Object.keys(U).forEach(function(t){nt[U[t]]=t});var at=[];Object.keys(N).forEach(function(t){at[N[t]]=t});var pt=$.reduce(function(t,e){var r=Y[e];return 6409===r||6406===r||6409===r||6410===r||6402===r||34041===r?t[r]=r:32855===r||0<=e.indexOf("rgba")?t[r]=6408:t[r]=6407,t},{}),dt=[],gt=[],vt=0,mt={},yt=r.maxTextureUnits,xt=Array(yt).map(function(){return null});return j(I.prototype,{bind:function(){this.bindCount+=1;var e=this.unit;if(0>e){for(var r=0;r<yt;++r){var n=xt[r];if(n){if(0<n.bindCount)continue;n.unit=-1}xt[r]=this,e=r;break}o.profile&&i.maxTextureUnits<e+1&&(i.maxTextureUnits=e+1),this.unit=e,t.activeTexture(33984+e),t.bindTexture(this.target,this.texture)}return e},unbind:function(){--this.bindCount},decRef:function(){0>=--this.refCount&&F(this)}}),o.profile&&(i.getTotalTextureSize=function(){var t=0;return Object.keys(mt).forEach(function(e){t+=mt[e].stats.size}),t}),{create2D:function(e,r){function n(t,e){var r=a.texInfo;P.call(r);var i=L();return"number"==typeof t?M(i,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(i,t)):M(i,1,1),r.genMipmaps&&(i.mipmask=(i.width<<1)-1),a.mipmask=i.mipmask,c(a,i),a.internalformat=i.internalformat,n.width=i.width,n.height=i.height,D(a),E(i,3553),z(r,3553),R(),C(i),o.profile&&(a.stats.size=k(a.internalformat,a.type,i.width,i.height,r.genMipmaps,!1)),n.format=tt[a.internalformat],n.type=et[a.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=at[r.wrapS],n.wrapT=at[r.wrapT],n}var a=new I(3553);return mt[a.id]=a,i.textureCount++,n(e,r),n.subimage=function(t,e,r,i){e|=0,r|=0,i|=0;var o=m();return c(o,a),o.width=0,o.height=0,p(o,t),o.width=o.width||(a.width>>i)-e,o.height=o.height||(a.height>>i)-r,D(a),d(o,3553,e,r,i),R(),T(o),n},n.resize=function(e,r){var i=0|e,s=0|r||i;if(i===a.width&&s===a.height)return n;n.width=a.width=i,n.height=a.height=s,D(a);for(var l,c=a.channels,u=a.type,h=0;a.mipmask>>h;++h){var f=i>>h,p=s>>h;if(!f||!p)break;l=G.zero.allocType(u,f*p*c),t.texImage2D(3553,h,a.format,f,p,0,a.format,a.type,l),l&&G.zero.freeType(l)}return R(),o.profile&&(a.stats.size=k(a.internalformat,a.type,i,s,!1,!1)),n},n._reglType="texture2d",n._texture=a,o.profile&&(n.stats=a.stats),n.destroy=function(){a.decRef()},n},createCube:function(e,r,n,a,s,l){function h(t,e,r,n,a,i){var s,l=f.texInfo;for(P.call(l),s=0;6>s;++s)g[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(g[0],t),S(g[1],e),S(g[2],r),S(g[3],n),S(g[4],a),S(g[5],i);else if(O(l,t),u(f,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)c(g[s],f),S(g[s],t[s]);else for(s=0;6>s;++s)S(g[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(g[s],t,t);for(c(f,g[0]),f.mipmask=l.genMipmaps?(g[0].width<<1)-1:g[0].mipmask,f.internalformat=g[0].internalformat,h.width=g[0].width,h.height=g[0].height,D(f),s=0;6>s;++s)E(g[s],34069+s);for(z(l,34067),R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,l.genMipmaps,!0)),h.format=tt[f.internalformat],h.type=et[f.type],h.mag=rt[l.magFilter],h.min=nt[l.minFilter],h.wrapS=at[l.wrapS],h.wrapT=at[l.wrapT],s=0;6>s;++s)C(g[s]);return h}var f=new I(34067);mt[f.id]=f,i.cubeCount++;var g=Array(6);return h(e,r,n,a,s,l),h.subimage=function(t,e,r,n,a){r|=0,n|=0,a|=0;var i=m();return c(i,f),i.width=0,i.height=0,p(i,e),i.width=i.width||(f.width>>a)-r,i.height=i.height||(f.height>>a)-n,D(f),d(i,34069+t,r,n,a),R(),T(i),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=k(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;e<yt;++e)t.activeTexture(33984+e),t.bindTexture(3553,null),xt[e]=null;X(mt).forEach(F),i.cubeCount=0,i.textureCount=0},getTexture:function(t){return null},restore:function(){for(var e=0;e<yt;++e){var r=xt[e];r&&(r.bindCount=0,r.unit=-1,xt[e]=null)}X(mt).forEach(function(e){e.texture=t.createTexture(),t.bindTexture(e.target,e.texture);for(var r=0;32>r;++r)if(0!=(e.mipmask&1<<r))if(3553===e.target)t.texImage2D(3553,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)})}}}function A(t,e,r,n,a,i){function o(t,e,r){this.target=t,this.texture=e,this.renderbuffer=r;var n=t=0;e?(t=e.width,n=e.height):r&&(t=r.width,n=r.height),this.width=t,this.height=n}function s(t){t&&(t.texture&&t.texture._texture.decRef(),t.renderbuffer&&t.renderbuffer._renderbuffer.decRef())}function l(t,e,r){t&&(t.texture?t.texture._texture.refCount+=1:t.renderbuffer._renderbuffer.refCount+=1)}function c(e,r){r&&(r.texture?t.framebufferTexture2D(36160,e,r.target,r.texture._texture.texture,0):t.framebufferRenderbuffer(36160,e,36161,r.renderbuffer._renderbuffer.renderbuffer))}function u(t){var e=3553,r=null,n=null,a=t;return"object"==typeof t&&(a=t.data,"target"in t&&(e=0|t.target)),"texture2d"===(t=a._reglType)?r=a:"textureCube"===t?r=a:"renderbuffer"===t&&(n=a,e=36161),new o(e,r,n)}function h(t,e,r,i,s){return r?((t=n.create2D({width:t,height:e,format:i,type:s}))._texture.refCount=0,new o(3553,t,null)):((t=a.create({width:t,height:e,format:i}))._renderbuffer.refCount=0,new o(36161,null,t))}function f(t){return t&&(t.texture||t.renderbuffer)}function p(t,e,r){t&&(t.texture?t.texture.resize(e,r):t.renderbuffer&&t.renderbuffer.resize(e,r),t.width=e,t.height=r)}function d(){this.id=k++,T[this.id]=this,this.framebuffer=t.createFramebuffer(),this.height=this.width=0,this.colorAttachments=[],this.depthStencilAttachment=this.stencilAttachment=this.depthAttachment=null}function g(t){t.colorAttachments.forEach(s),s(t.depthAttachment),s(t.stencilAttachment),s(t.depthStencilAttachment)}function v(e){t.deleteFramebuffer(e.framebuffer),e.framebuffer=null,i.framebufferCount--,delete T[e.id]}function m(e){var n;t.bindFramebuffer(36160,e.framebuffer);var a=e.colorAttachments;for(n=0;n<a.length;++n)c(36064+n,a[n]);for(n=a.length;n<r.maxColorAttachments;++n)t.framebufferTexture2D(36160,36064+n,3553,null,0);t.framebufferTexture2D(36160,33306,3553,null,0),t.framebufferTexture2D(36160,36096,3553,null,0),t.framebufferTexture2D(36160,36128,3553,null,0),c(36096,e.depthAttachment),c(36128,e.stencilAttachment),c(33306,e.depthStencilAttachment),t.checkFramebufferStatus(36160),t.isContextLost(),t.bindFramebuffer(36160,x.next?x.next.framebuffer:null),x.cur=x.next,t.getError()}function y(t,e){function r(t,e){var a,i=0,o=0,s=!0,c=!0;a=null;var p=!0,d="rgba",v="uint8",y=1,x=null,w=null,k=null,T=!1;"number"==typeof t?(i=0|t,o=0|e||i):t?("shape"in t?(i=(o=t.shape)[0],o=o[1]):("radius"in t&&(i=o=t.radius),"width"in t&&(i=t.width),"height"in t&&(o=t.height)),("color"in t||"colors"in t)&&(a=t.color||t.colors,Array.isArray(a)),a||("colorCount"in t&&(y=0|t.colorCount),"colorTexture"in t&&(p=!!t.colorTexture,d="rgba4"),"colorType"in t&&(v=t.colorType,!p)&&("half float"===v||"float16"===v?d="rgba16f":"float"!==v&&"float32"!==v||(d="rgba32f")),"colorFormat"in t&&(d=t.colorFormat,0<=b.indexOf(d)?p=!0:0<=_.indexOf(d)&&(p=!1))),("depthTexture"in t||"depthStencilTexture"in t)&&(T=!(!t.depthTexture&&!t.depthStencilTexture)),"depth"in t&&("boolean"==typeof t.depth?s=t.depth:(x=t.depth,c=!1)),"stencil"in t&&("boolean"==typeof t.stencil?c=t.stencil:(w=t.stencil,s=!1)),"depthStencil"in t&&("boolean"==typeof t.depthStencil?s=c=t.depthStencil:(k=t.depthStencil,c=s=!1))):i=o=1;var A=null,M=null,S=null,E=null;if(Array.isArray(a))A=a.map(u);else if(a)A=[u(a)];else for(A=Array(y),a=0;a<y;++a)A[a]=h(i,o,p,d,v);for(i=i||A[0].width,o=o||A[0].height,x?M=u(x):s&&!c&&(M=h(i,o,T,"depth","uint32")),w?S=u(w):c&&!s&&(S=h(i,o,!1,"stencil","uint8")),k?E=u(k):!x&&!w&&c&&s&&(E=h(i,o,T,"depth stencil","depth stencil")),s=null,a=0;a<A.length;++a)l(A[a]),A[a]&&A[a].texture&&(c=yt[A[a].texture._texture.format]*xt[A[a].texture._texture.type],null===s&&(s=c));return l(M),l(S),l(E),g(n),n.width=i,n.height=o,n.colorAttachments=A,n.depthAttachment=M,n.stencilAttachment=S,n.depthStencilAttachment=E,r.color=A.map(f),r.depth=f(M),r.stencil=f(S),r.depthStencil=f(E),r.width=n.width,r.height=n.height,m(n),r}var n=new d;return i.framebufferCount++,r(t,e),j(r,{resize:function(t,e){var a=Math.max(0|t,1),i=Math.max(0|e||a,1);if(a===n.width&&i===n.height)return r;for(var o=n.colorAttachments,s=0;s<o.length;++s)p(o[s],a,i);return p(n.depthAttachment,a,i),p(n.stencilAttachment,a,i),p(n.depthStencilAttachment,a,i),n.width=r.width=a,n.height=r.height=i,m(n),r},_reglType:"framebuffer",_framebuffer:n,destroy:function(){v(n),g(n)},use:function(t){x.setFBO({framebuffer:r},t)}})}var x={cur:null,next:null,dirty:!1,setFBO:null},b=["rgba"],_=["rgba4","rgb565","rgb5 a1"];e.ext_srgb&&_.push("srgba"),e.ext_color_buffer_half_float&&_.push("rgba16f","rgb16f"),e.webgl_color_buffer_float&&_.push("rgba32f");var w=["uint8"];e.oes_texture_half_float&&w.push("half float","float16"),e.oes_texture_float&&w.push("float","float32");var k=0,T={};return j(x,{getFramebuffer:function(t){return"function"==typeof t&&"framebuffer"===t._reglType&&(t=t._framebuffer)instanceof d?t:null},create:y,createCube:function(t){function e(t){var a,i={color:null},o=0,s=null;a="rgba";var l="uint8",c=1;if("number"==typeof t?o=0|t:t?("shape"in t?o=t.shape[0]:("radius"in t&&(o=0|t.radius),"width"in t?o=0|t.width:"height"in t&&(o=0|t.height)),("color"in t||"colors"in t)&&(s=t.color||t.colors,Array.isArray(s)),s||("colorCount"in t&&(c=0|t.colorCount),"colorType"in t&&(l=t.colorType),"colorFormat"in t&&(a=t.colorFormat)),"depth"in t&&(i.depth=t.depth),"stencil"in t&&(i.stencil=t.stencil),"depthStencil"in t&&(i.depthStencil=t.depthStencil)):o=1,s)if(Array.isArray(s))for(t=[],a=0;a<s.length;++a)t[a]=s[a];else t=[s];else for(t=Array(c),s={radius:o,format:a,type:l},a=0;a<c;++a)t[a]=n.createCube(s);for(i.color=Array(t.length),a=0;a<t.length;++a)c=t[a],o=o||c.width,i.color[a]={target:34069,data:t[a]};for(a=0;6>a;++a){for(c=0;c<t.length;++c)i.color[c].target=34069+a;0<a&&(i.depth=r[0].depth,i.stencil=r[0].stencil,i.depthStencil=r[0].depthStencil),r[a]?r[a](i):r[a]=y(i)}return j(e,{width:o,height:o,color:t})}var r=Array(6);return e(t),j(e,{faces:r,resize:function(t){var n=0|t;if(n===e.width)return e;var a=e.color;for(t=0;t<a.length;++t)a[t].resize(n);for(t=0;6>t;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach(function(t){t.destroy()})}})},clear:function(){X(T).forEach(v)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,X(T).forEach(function(e){e.framebuffer=t.createFramebuffer(),m(e)})}})}function M(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function S(t,e,r,n){function a(t,e,r,n){this.name=t,this.id=e,this.location=r,this.info=n}function i(t,e){for(var r=0;r<t.length;++r)if(t[r].id===e.id)return void(t[r].location=e.location);t.push(e)}function o(r,n,a){if(!(o=(a=35632===r?c:u)[n])){var i=e.str(n),o=t.createShader(r);t.shaderSource(o,i),t.compileShader(o),a[n]=o}return o}function s(t,e){this.id=p++,this.fragId=t,this.vertId=e,this.program=null,this.uniforms=[],this.attributes=[],n.profile&&(this.stats={uniformsCount:0,attributesCount:0})}function l(r,s){var l,c;l=o(35632,r.fragId),c=o(35633,r.vertId);var u=r.program=t.createProgram();t.attachShader(u,l),t.attachShader(u,c),t.linkProgram(u);var h=t.getProgramParameter(u,35718);n.profile&&(r.stats.uniformsCount=h);var f=r.uniforms;for(l=0;l<h;++l)if(c=t.getActiveUniform(u,l))if(1<c.size)for(var p=0;p<c.size;++p){var d=c.name.replace("[0]","["+p+"]");i(f,new a(d,e.id(d),t.getUniformLocation(u,d),c))}else i(f,new a(c.name,e.id(c.name),t.getUniformLocation(u,c.name),c));for(h=t.getProgramParameter(u,35721),n.profile&&(r.stats.attributesCount=h),f=r.attributes,l=0;l<h;++l)(c=t.getActiveAttrib(u,l))&&i(f,new a(c.name,e.id(c.name),t.getAttribLocation(u,c.name),c))}var c={},u={},h={},f=[],p=0;return n.profile&&(r.getMaxUniformsCount=function(){var t=0;return f.forEach(function(e){e.stats.uniformsCount>t&&(t=e.stats.uniformsCount)}),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach(function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)}),t}),{clear:function(){var e=t.deleteShader.bind(t);X(c).forEach(e),c={},X(u).forEach(e),u={},f.forEach(function(e){t.deleteProgram(e.program)}),f.length=0,h={},r.shaderCount=0},program:function(t,e,n){var a=h[e];a||(a=h[e]={});var i=a[t];return i||(i=new s(e,t),r.shaderCount++,l(i),a[t]=i,f.push(i)),i},restore:function(){c={},u={};for(var t=0;t<f.length;++t)l(f[t])},shader:o,frag:-1,vert:-1}}function E(t,e,r,n,a,i,o){function s(a){var i;i=null===e.next?5121:e.next.colorAttachments[0].texture._texture.type;var o=0,s=0,l=n.framebufferWidth,c=n.framebufferHeight,u=null;return W(a)?u=a:a&&(o=0|a.x,s=0|a.y,l=0|(a.width||n.framebufferWidth-o),c=0|(a.height||n.framebufferHeight-s),u=a.data||null),r(),a=l*c*4,u||(5121===i?u=new Uint8Array(a):5126===i&&(u=u||new Float32Array(a))),t.pixelStorei(3333,4),t.readPixels(o,s,l,c,6408,i,u),u}return function(t){return t&&"framebuffer"in t?function(t){var r;return e.setFBO({framebuffer:t.framebuffer},function(){r=s(t)}),r}(t):s(t)}}function L(t){return Array.prototype.slice.call(t)}function C(t){return L(t).join("")}function P(){function t(){var t=[],e=[];return j(function(){t.push.apply(t,L(arguments))},{def:function(){var n="v"+r++;return e.push(n),0<arguments.length&&(t.push(n,"="),t.push.apply(t,L(arguments)),t.push(";")),n},toString:function(){return C([0<e.length?"var "+e+";":"",C(t)])}})}function e(){function e(t,e){n(t,e,"=",r.def(t,e),";")}var r=t(),n=t(),a=r.toString,i=n.toString;return j(function(){r.apply(r,L(arguments))},{def:r.def,entry:r,exit:n,save:e,set:function(t,n,a){e(t,n),r(t,n,"=",a,";")},toString:function(){return a()+i()}})}var r=0,n=[],a=[],i=t(),o={};return{global:i,link:function(t){for(var e=0;e<a.length;++e)if(a[e]===t)return n[e];return e="g"+r++,n.push(e),a.push(t),e},block:t,proc:function(t,r){function n(){var t="a"+a.length;return a.push(t),t}var a=[];r=r||0;for(var i=0;i<r;++i)n();var s=(i=e()).toString;return o[t]=j(i,{arg:n,toString:function(){return C(["function(",a.join(),"){",s(),"}"])}})},scope:e,cond:function(){var t=C(arguments),r=e(),n=e(),a=r.toString,i=n.toString;return j(r,{then:function(){return r.apply(r,L(arguments)),this},else:function(){return n.apply(n,L(arguments)),this},toString:function(){var e=i();return e&&(e="else{"+e+"}"),C(["if(",t,"){",a(),"}",e])}})},compile:function(){var t=['"use strict";',i,"return {"];Object.keys(o).forEach(function(e){t.push('"',e,'":',o[e].toString(),",")}),t.push("}");var e=C(t).replace(/;/g,";\n").replace(/}/g,"}\n").replace(/{/g,"{\n");return Function.apply(null,n.concat(e)).apply(null,a)}}}function O(t){return Array.isArray(t)||W(t)||l(t)}function z(t){return t.sort(function(t,e){return"viewport"===t?-1:"viewport"===e?1:t<e?-1:1})}function I(t,e,r,n){this.thisDep=t,this.contextDep=e,this.propDep=r,this.append=n}function D(t){return t&&!(t.thisDep||t.contextDep||t.propDep)}function R(t){return new I(!1,!1,!1,t)}function F(t,e){var r=t.type;return 0===r?new I(!0,1<=(r=t.data.length),2<=r,e):4===r?new I((r=t.data).thisDep,r.contextDep,r.propDep,e):new I(3===r,2===r,1===r,e)}function B(t,e,r,n,a,o,s,l,c,u,h,f,p,d,g){function m(t){return t.replace(".","_")}function y(t,e,r){var n=m(t);nt.push(t),et[n]=tt[n]=!!r,at[n]=e}function x(t,e,r){var n=m(t);nt.push(t),Array.isArray(r)?(tt[n]=r.slice(),et[n]=r.slice()):tt[n]=et[n]=r,it[n]=e}function b(){var t=P(),r=t.link,n=t.global;t.id=lt++,t.batchId="0";var a=r(ot),i=t.shared={props:"a0"};Object.keys(ot).forEach(function(t){i[t]=n.def(a,".",t)});var o=t.next={},s=t.current={};Object.keys(it).forEach(function(t){Array.isArray(tt[t])&&(o[t]=n.def(i.next,".",t),s[t]=n.def(i.current,".",t))});var l=t.constants={};Object.keys(st).forEach(function(t){l[t]=n.def(JSON.stringify(st[t]))}),t.invoke=function(e,n){switch(n.type){case 0:var a=["this",i.context,i.props,t.batchId];return e.def(r(n.data),".call(",a.slice(0,Math.max(n.data.length+1,4)),")");case 1:return e.def(i.props,n.data);case 2:return e.def(i.context,n.data);case 3:return e.def("this",n.data);case 4:return n.data.append(t,e),n.data.ref}},t.attribCache={};var c={};return t.scopeAttrib=function(t){if((t=e.id(t))in c)return c[t];var n=u.scope[t];return n||(n=u.scope[t]=new Z),c[t]=r(n)},t}function _(t,e){var r=t.static,n=t.dynamic;if("framebuffer"in r){var a=r.framebuffer;return a?(a=l.getFramebuffer(a),R(function(t,e){var r=t.link(a),n=t.shared;return e.set(n.framebuffer,".next",r),n=n.context,e.set(n,".framebufferWidth",r+".width"),e.set(n,".framebufferHeight",r+".height"),r})):R(function(t,e){var r=t.shared;return e.set(r.framebuffer,".next","null"),r=r.context,e.set(r,".framebufferWidth",r+".drawingBufferWidth"),e.set(r,".framebufferHeight",r+".drawingBufferHeight"),"null"})}if("framebuffer"in n){var i=n.framebuffer;return F(i,function(t,e){var r=t.invoke(e,i),n=t.shared,a=n.framebuffer;r=e.def(a,".getFramebuffer(",r,")");return e.set(a,".next",r),n=n.context,e.set(n,".framebufferWidth",r+"?"+r+".width:"+n+".drawingBufferWidth"),e.set(n,".framebufferHeight",r+"?"+r+".height:"+n+".drawingBufferHeight"),r})}return null}function w(t){function r(t){if(t in n){var r=e.id(n[t]);return(t=R(function(){return r})).id=r,t}if(t in a){var i=a[t];return F(i,function(t,e){var r=t.invoke(e,i);return e.def(t.shared.strings,".id(",r,")")})}return null}var n=t.static,a=t.dynamic,i=r("frag"),o=r("vert"),s=null;return D(i)&&D(o)?(s=h.program(o.id,i.id),t=R(function(t,e){return t.link(s)})):t=new I(i&&i.thisDep||o&&o.thisDep,i&&i.contextDep||o&&o.contextDep,i&&i.propDep||o&&o.propDep,function(t,e){var r,n,a=t.shared.shader;return r=i?i.append(t,e):e.def(a,".","frag"),n=o?o.append(t,e):e.def(a,".","vert"),e.def(a+".program("+n+","+r+")")}),{frag:i,vert:o,progVar:t,program:s}}function k(t,e){function r(t,e){if(t in n){var r=0|n[t];return R(function(t,n){return e&&(t.OFFSET=r),r})}if(t in a){var o=a[t];return F(o,function(t,r){var n=t.invoke(r,o);return e&&(t.OFFSET=n),n})}return e&&i?R(function(t,e){return t.OFFSET="0",0}):null}var n=t.static,a=t.dynamic,i=function(){if("elements"in n){var t=n.elements;O(t)?t=o.getElements(o.create(t,!0)):t&&(t=o.getElements(t));var e=R(function(e,r){if(t){var n=e.link(t);return e.ELEMENTS=n}return e.ELEMENTS=null});return e.value=t,e}if("elements"in a){var r=a.elements;return F(r,function(t,e){var n=(a=t.shared).isBufferArgs,a=a.elements,i=t.invoke(e,r),o=e.def("null");n=e.def(n,"(",i,")"),i=t.cond(n).then(o,"=",a,".createStream(",i,");").else(o,"=",a,".getElements(",i,");");return e.entry(i),e.exit(t.cond(n).then(a,".destroyStream(",o,");")),t.ELEMENTS=o})}return null}(),s=r("offset",!0);return{elements:i,primitive:function(){if("primitive"in n){var t=n.primitive;return R(function(e,r){return rt[t]})}if("primitive"in a){var e=a.primitive;return F(e,function(t,r){var n=t.constants.primTypes,a=t.invoke(r,e);return r.def(n,"[",a,"]")})}return i?D(i)?i.value?R(function(t,e){return e.def(t.ELEMENTS,".primType")}):R(function(){return 4}):new I(i.thisDep,i.contextDep,i.propDep,function(t,e){var r=t.ELEMENTS;return e.def(r,"?",r,".primType:",4)}):null}(),count:function(){if("count"in n){var t=0|n.count;return R(function(){return t})}if("count"in a){var e=a.count;return F(e,function(t,r){return t.invoke(r,e)})}return i?D(i)?i?s?new I(s.thisDep,s.contextDep,s.propDep,function(t,e){return e.def(t.ELEMENTS,".vertCount-",t.OFFSET)}):R(function(t,e){return e.def(t.ELEMENTS,".vertCount")}):R(function(){return-1}):new I(i.thisDep||s.thisDep,i.contextDep||s.contextDep,i.propDep||s.propDep,function(t,e){var r=t.ELEMENTS;return t.OFFSET?e.def(r,"?",r,".vertCount-",t.OFFSET,":-1"):e.def(r,"?",r,".vertCount:-1")}):null}(),instances:r("instances",!1),offset:s}}function T(t,r){var n=t.static,i=t.dynamic,o={};return Object.keys(n).forEach(function(t){var r=n[t],i=e.id(t),s=new Z;if(O(r))s.state=1,s.buffer=a.getBuffer(a.create(r,34962,!1,!0)),s.type=0;else if(c=a.getBuffer(r))s.state=1,s.buffer=c,s.type=0;else if("constant"in r){var l=r.constant;s.buffer="null",s.state=2,"number"==typeof l?s.x=l:bt.forEach(function(t,e){e<l.length&&(s[t]=l[e])})}else{var c=O(r.buffer)?a.getBuffer(a.create(r.buffer,34962,!1,!0)):a.getBuffer(r.buffer),u=0|r.offset,h=0|r.stride,f=0|r.size,p=!!r.normalized,d=0;"type"in r&&(d=K[r.type]),r=0|r.divisor,s.buffer=c,s.state=1,s.size=f,s.normalized=p,s.type=d||c.dtype,s.offset=u,s.stride=h,s.divisor=r}o[t]=R(function(t,e){var r=t.attribCache;if(i in r)return r[i];var n={isStream:!1};return Object.keys(s).forEach(function(t){n[t]=s[t]}),s.buffer&&(n.buffer=t.link(s.buffer),n.type=n.type||n.buffer+".dtype"),r[i]=n})}),Object.keys(i).forEach(function(t){var e=i[t];o[t]=F(e,function(t,r){function n(t){r(l[t],"=",a,".",t,"|0;")}var a=t.invoke(r,e),i=t.shared,o=i.isBufferArgs,s=i.buffer,l={isStream:r.def(!1)},c=new Z;c.state=1,Object.keys(c).forEach(function(t){l[t]=r.def(""+c[t])});var u=l.buffer,h=l.type;return r("if(",o,"(",a,")){",l.isStream,"=true;",u,"=",s,".createStream(",34962,",",a,");",h,"=",u,".dtype;","}else{",u,"=",s,".getBuffer(",a,");","if(",u,"){",h,"=",u,".dtype;",'}else if("constant" in ',a,"){",l.state,"=",2,";","if(typeof "+a+'.constant === "number"){',l[bt[0]],"=",a,".constant;",bt.slice(1).map(function(t){return l[t]}).join("="),"=0;","}else{",bt.map(function(t,e){return l[t]+"="+a+".constant.length>"+e+"?"+a+".constant["+e+"]:0;"}).join(""),"}}else{","if(",o,"(",a,".buffer)){",u,"=",s,".createStream(",34962,",",a,".buffer);","}else{",u,"=",s,".getBuffer(",a,".buffer);","}",h,'="type" in ',a,"?",i.glTypes,"[",a,".type]:",u,".dtype;",l.normalized,"=!!",a,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",s,".destroyStream(",u,");","}"),l})}),o}function A(t,e,r,n,a){var o=_(t),s=function(t,e,r){function n(t){if(t in a){var r=a[t];t=!0;var n,o,s=0|r.x,l=0|r.y;return"width"in r?n=0|r.width:t=!1,"height"in r?o=0|r.height:t=!1,new I(!t&&e&&e.thisDep,!t&&e&&e.contextDep,!t&&e&&e.propDep,function(t,e){var a=t.shared.context,i=n;"width"in r||(i=e.def(a,".","framebufferWidth","-",s));var c=o;return"height"in r||(c=e.def(a,".","framebufferHeight","-",l)),[s,l,i,c]})}if(t in i){var c=i[t];return t=F(c,function(t,e){var r=t.invoke(e,c),n=t.shared.context,a=e.def(r,".x|0"),i=e.def(r,".y|0");return[a,i,e.def('"width" in ',r,"?",r,".width|0:","(",n,".","framebufferWidth","-",a,")"),r=e.def('"height" in ',r,"?",r,".height|0:","(",n,".","framebufferHeight","-",i,")")]}),e&&(t.thisDep=t.thisDep||e.thisDep,t.contextDep=t.contextDep||e.contextDep,t.propDep=t.propDep||e.propDep),t}return e?new I(e.thisDep,e.contextDep,e.propDep,function(t,e){var r=t.shared.context;return[0,0,e.def(r,".","framebufferWidth"),e.def(r,".","framebufferHeight")]}):null}var a=t.static,i=t.dynamic;if(t=n("viewport")){var o=t;t=new I(t.thisDep,t.contextDep,t.propDep,function(t,e){var r=o.append(t,e),n=t.shared.context;return e.set(n,".viewportWidth",r[2]),e.set(n,".viewportHeight",r[3]),r})}return{viewport:t,scissor_box:n("scissor.box")}}(t,o),l=k(t),c=function(t,e){var r=t.static,n=t.dynamic,a={};return nt.forEach(function(t){function e(e,i){if(t in r){var s=e(r[t]);a[o]=R(function(){return s})}else if(t in n){var l=n[t];a[o]=F(l,function(t,e){return i(t,e,t.invoke(e,l))})}}var o=m(t);switch(t){case"cull.enable":case"blend.enable":case"dither":case"stencil.enable":case"depth.enable":case"scissor.enable":case"polygonOffset.enable":case"sample.alpha":case"sample.enable":case"depth.mask":return e(function(t){return t},function(t,e,r){return r});case"depth.func":return e(function(t){return kt[t]},function(t,e,r){return e.def(t.constants.compareFuncs,"[",r,"]")});case"depth.range":return e(function(t){return t},function(t,e,r){return[e.def("+",r,"[0]"),e=e.def("+",r,"[1]")]});case"blend.func":return e(function(t){return[wt["srcRGB"in t?t.srcRGB:t.src],wt["dstRGB"in t?t.dstRGB:t.dst],wt["srcAlpha"in t?t.srcAlpha:t.src],wt["dstAlpha"in t?t.dstAlpha:t.dst]]},function(t,e,r){function n(t,n){return e.def('"',t,n,'" in ',r,"?",r,".",t,n,":",r,".",t)}t=t.constants.blendFuncs;var a=n("src","RGB"),i=n("dst","RGB"),o=(a=e.def(t,"[",a,"]"),e.def(t,"[",n("src","Alpha"),"]"));return[a,i=e.def(t,"[",i,"]"),o,t=e.def(t,"[",n("dst","Alpha"),"]")]});case"blend.equation":return e(function(t){return"string"==typeof t?[J[t],J[t]]:"object"==typeof t?[J[t.rgb],J[t.alpha]]:void 0},function(t,e,r){var n=t.constants.blendEquations,a=e.def(),i=e.def();return(t=t.cond("typeof ",r,'==="string"')).then(a,"=",i,"=",n,"[",r,"];"),t.else(a,"=",n,"[",r,".rgb];",i,"=",n,"[",r,".alpha];"),e(t),[a,i]});case"blend.color":return e(function(t){return i(4,function(e){return+t[e]})},function(t,e,r){return i(4,function(t){return e.def("+",r,"[",t,"]")})});case"stencil.mask":return e(function(t){return 0|t},function(t,e,r){return e.def(r,"|0")});case"stencil.func":return e(function(t){return[kt[t.cmp||"keep"],t.ref||0,"mask"in t?t.mask:-1]},function(t,e,r){return[t=e.def('"cmp" in ',r,"?",t.constants.compareFuncs,"[",r,".cmp]",":",7680),e.def(r,".ref|0"),e=e.def('"mask" in ',r,"?",r,".mask|0:-1")]});case"stencil.opFront":case"stencil.opBack":return e(function(e){return["stencil.opBack"===t?1029:1028,Tt[e.fail||"keep"],Tt[e.zfail||"keep"],Tt[e.zpass||"keep"]]},function(e,r,n){function a(t){return r.def('"',t,'" in ',n,"?",i,"[",n,".",t,"]:",7680)}var i=e.constants.stencilOps;return["stencil.opBack"===t?1029:1028,a("fail"),a("zfail"),a("zpass")]});case"polygonOffset.offset":return e(function(t){return[0|t.factor,0|t.units]},function(t,e,r){return[e.def(r,".factor|0"),e=e.def(r,".units|0")]});case"cull.face":return e(function(t){var e=0;return"front"===t?e=1028:"back"===t&&(e=1029),e},function(t,e,r){return e.def(r,'==="front"?',1028,":",1029)});case"lineWidth":return e(function(t){return t},function(t,e,r){return r});case"frontFace":return e(function(t){return At[t]},function(t,e,r){return e.def(r+'==="cw"?2304:2305')});case"colorMask":return e(function(t){return t.map(function(t){return!!t})},function(t,e,r){return i(4,function(t){return"!!"+r+"["+t+"]"})});case"sample.coverage":return e(function(t){return["value"in t?t.value:1,!!t.invert]},function(t,e,r){return[e.def('"value" in ',r,"?+",r,".value:1"),e=e.def("!!",r,".invert")]})}}),a}(t),u=w(t),h=s.viewport;return h&&(c.viewport=h),(s=s[h=m("scissor.box")])&&(c[h]=s),(o={framebuffer:o,draw:l,shader:u,state:c,dirty:s=0<Object.keys(c).length}).profile=function(t){var e,r=t.static;if(t=t.dynamic,"profile"in r){var n=!!r.profile;(e=R(function(t,e){return n})).enable=n}else if("profile"in t){var a=t.profile;e=F(a,function(t,e){return t.invoke(e,a)})}return e}(t),o.uniforms=function(t,e){var r=t.static,n=t.dynamic,a={};return Object.keys(r).forEach(function(t){var e,n=r[t];if("number"==typeof n||"boolean"==typeof n)e=R(function(){return n});else if("function"==typeof n){var o=n._reglType;"texture2d"===o||"textureCube"===o?e=R(function(t){return t.link(n)}):"framebuffer"!==o&&"framebufferCube"!==o||(e=R(function(t){return t.link(n.color[0])}))}else v(n)&&(e=R(function(t){return t.global.def("[",i(n.length,function(t){return n[t]}),"]")}));e.value=n,a[t]=e}),Object.keys(n).forEach(function(t){var e=n[t];a[t]=F(e,function(t,r){return t.invoke(r,e)})}),a}(r),o.attributes=T(e),o.context=function(t){var e=t.static,r=t.dynamic,n={};return Object.keys(e).forEach(function(t){var r=e[t];n[t]=R(function(t,e){return"number"==typeof r||"boolean"==typeof r?""+r:t.link(r)})}),Object.keys(r).forEach(function(t){var e=r[t];n[t]=F(e,function(t,r){return t.invoke(r,e)})}),n}(n),o}function M(t,e,r){var n=t.shared.context,a=t.scope();Object.keys(r).forEach(function(i){e.save(n,"."+i),a(n,".",i,"=",r[i].append(t,e),";")}),e(a)}function S(t,e,r,n){var a,i=(s=t.shared).gl,o=s.framebuffer;$&&(a=e.def(s.extensions,".webgl_draw_buffers"));var s=(l=t.constants).drawBuffer,l=l.backBuffer;t=r?r.append(t,e):e.def(o,".next"),n||e("if(",t,"!==",o,".cur){"),e("if(",t,"){",i,".bindFramebuffer(",36160,",",t,".framebuffer);"),$&&e(a,".drawBuffersWEBGL(",s,"[",t,".colorAttachments.length]);"),e("}else{",i,".bindFramebuffer(",36160,",null);"),$&&e(a,".drawBuffersWEBGL(",l,");"),e("}",o,".cur=",t,";"),n||e("}")}function E(t,e,r){var n=t.shared,a=n.gl,o=t.current,s=t.next,l=n.current,c=n.next,u=t.cond(l,".dirty");nt.forEach(function(e){var n,h;if(!((e=m(e))in r.state))if(e in s){n=s[e],h=o[e];var f=i(tt[e].length,function(t){return u.def(n,"[",t,"]")});u(t.cond(f.map(function(t,e){return t+"!=="+h+"["+e+"]"}).join("||")).then(a,".",it[e],"(",f,");",f.map(function(t,e){return h+"["+e+"]="+t}).join(";"),";"))}else n=u.def(c,".",e),f=t.cond(n,"!==",l,".",e),u(f),e in at?f(t.cond(n).then(a,".enable(",at[e],");").else(a,".disable(",at[e],");"),l,".",e,"=",n,";"):f(a,".",it[e],"(",n,");",l,".",e,"=",n,";")}),0===Object.keys(r.state).length&&u(l,".dirty=false;"),e(u)}function L(t,e,r,n){var a=t.shared,i=t.current,o=a.current,s=a.gl;z(Object.keys(r)).forEach(function(a){var l=r[a];if(!n||n(l)){var c=l.append(t,e);if(at[a]){var u=at[a];D(l)?e(s,c?".enable(":".disable(",u,");"):e(t.cond(c).then(s,".enable(",u,");").else(s,".disable(",u,");")),e(o,".",a,"=",c,";")}else if(v(c)){var h=i[a];e(s,".",it[a],"(",c,");",c.map(function(t,e){return h+"["+e+"]="+t}).join(";"),";")}else e(s,".",it[a],"(",c,");",o,".",a,"=",c,";")}})}function C(t,e){Q&&(t.instancing=e.def(t.shared.extensions,".angle_instanced_arrays"))}function B(t,e,r,n,a){function i(){return"undefined"==typeof performance?"Date.now()":"performance.now()"}function o(t){t(c=e.def(),"=",i(),";"),"string"==typeof a?t(f,".count+=",a,";"):t(f,".count++;"),d&&(n?t(u=e.def(),"=",g,".getNumPendingQueries();"):t(g,".beginQuery(",f,");"))}function s(t){t(f,".cpuTime+=",i(),"-",c,";"),d&&(n?t(g,".pushScopeStats(",u,",",g,".getNumPendingQueries(),",f,");"):t(g,".endQuery();"))}function l(t){var r=e.def(p,".profile");e(p,".profile=",t,";"),e.exit(p,".profile=",r,";")}var c,u,h=t.shared,f=t.stats,p=h.current,g=h.timer;if(r=r.profile){if(D(r))return void(r.enable?(o(e),s(e.exit),l("true")):l("false"));l(r=r.append(t,e))}else r=e.def(p,".profile");o(h=t.block()),e("if(",r,"){",h,"}"),s(t=t.block()),e.exit("if(",r,"){",t,"}")}function N(t,e,r,n,a){function i(r,n,a){function i(){e("if(!",u,".buffer){",l,".enableVertexAttribArray(",c,");}");var r,i=a.type;r=a.size?e.def(a.size,"||",n):n,e("if(",u,".type!==",i,"||",u,".size!==",r,"||",p.map(function(t){return u+"."+t+"!=="+a[t]}).join("||"),"){",l,".bindBuffer(",34962,",",h,".buffer);",l,".vertexAttribPointer(",[c,r,i,a.normalized,a.stride,a.offset],");",u,".type=",i,";",u,".size=",r,";",p.map(function(t){return u+"."+t+"="+a[t]+";"}).join(""),"}"),Q&&(i=a.divisor,e("if(",u,".divisor!==",i,"){",t.instancing,".vertexAttribDivisorANGLE(",[c,i],");",u,".divisor=",i,";}"))}function s(){e("if(",u,".buffer){",l,".disableVertexAttribArray(",c,");","}if(",bt.map(function(t,e){return u+"."+t+"!=="+f[e]}).join("||"),"){",l,".vertexAttrib4f(",c,",",f,");",bt.map(function(t,e){return u+"."+t+"="+f[e]+";"}).join(""),"}")}var l=o.gl,c=e.def(r,".location"),u=e.def(o.attributes,"[",c,"]");r=a.state;var h=a.buffer,f=[a.x,a.y,a.z,a.w],p=["buffer","normalized","offset","stride"];1===r?i():2===r?s():(e("if(",r,"===",1,"){"),i(),e("}else{"),s(),e("}"))}var o=t.shared;n.forEach(function(n){var o,s=n.name,l=r.attributes[s];if(l){if(!a(l))return;o=l.append(t,e)}else{if(!a(Mt))return;var c=t.scopeAttrib(s);o={},Object.keys(new Z).forEach(function(t){o[t]=e.def(c,".",t)})}i(t.link(n),function(t){switch(t){case 35664:case 35667:case 35671:return 2;case 35665:case 35668:case 35672:return 3;case 35666:case 35669:case 35673:return 4;default:return 1}}(n.info.type),o)})}function j(t,r,n,a,o){for(var s,l=t.shared,c=l.gl,u=0;u<a.length;++u){var h,f=(g=a[u]).name,p=g.info.type,d=n.uniforms[f],g=t.link(g)+".location";if(d){if(!o(d))continue;if(D(d)){if(f=d.value,35678===p||35680===p)r(c,".uniform1i(",g,",",(p=t.link(f._texture||f.color[0]._texture))+".bind());"),r.exit(p,".unbind();");else if(35674===p||35675===p||35676===p)d=2,35675===p?d=3:35676===p&&(d=4),r(c,".uniformMatrix",d,"fv(",g,",false,",f=t.global.def("new Float32Array(["+Array.prototype.slice.call(f)+"])"),");");else{switch(p){case 5126:s="1f";break;case 35664:s="2f";break;case 35665:s="3f";break;case 35666:s="4f";break;case 35670:case 5124:s="1i";break;case 35671:case 35667:s="2i";break;case 35672:case 35668:s="3i";break;case 35673:s="4i";break;case 35669:s="4i"}r(c,".uniform",s,"(",g,",",v(f)?Array.prototype.slice.call(f):f,");")}continue}h=d.append(t,r)}else{if(!o(Mt))continue;h=r.def(l.uniforms,"[",e.id(f),"]")}switch(35678===p?r("if(",h,"&&",h,'._reglType==="framebuffer"){',h,"=",h,".color[0];","}"):35680===p&&r("if(",h,"&&",h,'._reglType==="framebufferCube"){',h,"=",h,".color[0];","}"),f=1,p){case 35678:case 35680:p=r.def(h,"._texture"),r(c,".uniform1i(",g,",",p,".bind());"),r.exit(p,".unbind();");continue;case 5124:case 35670:s="1i";break;case 35667:case 35671:s="2i",f=2;break;case 35668:case 35672:s="3i",f=3;break;case 35669:case 35673:s="4i",f=4;break;case 5126:s="1f";break;case 35664:s="2f",f=2;break;case 35665:s="3f",f=3;break;case 35666:s="4f",f=4;break;case 35674:s="Matrix2fv";break;case 35675:s="Matrix3fv";break;case 35676:s="Matrix4fv"}if(r(c,".uniform",s,"(",g,","),"M"===s.charAt(0)){g=Math.pow(p-35674+2,2);var m=t.global.def("new Float32Array(",g,")");r("false,(Array.isArray(",h,")||",h," instanceof Float32Array)?",h,":(",i(g,function(t){return m+"["+t+"]="+h+"["+t+"]"}),",",m,")")}else r(1<f?i(f,function(t){return h+"["+t+"]"}):h);r(");")}}function V(t,e,r,n){function a(a){var i=f[a];return i?i.contextDep&&n.contextDynamic||i.propDep?i.append(t,r):i.append(t,e):e.def(h,".",a)}function i(){function t(){r(l,".drawElementsInstancedANGLE(",[d,v,m,g+"<<(("+m+"-5121)>>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,g,v,s],");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,v,m,g+"<<(("+m+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,g,v]+");")}p?y?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var a=f.elements,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","elements"),a&&i("if("+a+")"+u+".bindBuffer(34963,"+a+".buffer.buffer);"),a}(),d=a("primitive"),g=a("offset"),v=function(){var a=f.count,i=e;return a?((a.contextDep&&n.contextDynamic||a.propDep)&&(i=r),a=a.append(t,i)):a=i.def(h,".","count"),a}();if("number"==typeof v){if(0===v)return}else r("if(",v,"){"),r.exit("}");Q&&(s=a("instances"),l=t.instancing);var m=p+".type",y=f.elements&&D(f.elements);Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),i(),r("}else if(",s,"<0){"),o(),r("}")):i():o()}function q(t,e,r,n,a){return a=(e=b()).proc("body",a),Q&&(e.instancing=a.def(e.shared.extensions,".angle_instanced_arrays")),t(e,a,r,n),e.compile().body}function H(t,e,r,n){C(t,e),N(t,e,r,n.attributes,function(){return!0}),j(t,e,r,n.uniforms,function(){return!0}),V(t,e,e,r)}function G(t,e,r,n){function a(){return!0}t.batchId="a1",C(t,e),N(t,e,r,n.attributes,a),j(t,e,r,n.uniforms,a),V(t,e,e,r)}function Y(t,e,r,n){function a(t){return t.contextDep&&o||t.propDep}function i(t){return!a(t)}C(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&M(t,u,r.context),r.needsFramebuffer&&S(t,u,r.framebuffer),L(t,u,r.state,a),r.profile&&a(r.profile)&&B(t,u,r,!1,!0),n?(N(t,c,r,n.attributes,i),N(t,u,r,n.attributes,a),j(t,c,r,n.uniforms,i),j(t,u,r,n.uniforms,a),V(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link(function(e){return q(G,t,r,e,2)}),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function W(t,r){function n(e){var n=r.shader[e];n&&a.set(i.shader,"."+e,n.append(t,a))}var a=t.proc("scope",3);t.batchId="a2";var i=t.shared,o=i.current;M(t,a,r.context),r.framebuffer&&r.framebuffer.append(t,a),z(Object.keys(r.state)).forEach(function(e){var n=r.state[e].append(t,a);v(n)?n.forEach(function(r,n){a.set(t.next[e],"["+n+"]",r)}):a.set(i.next,"."+e,n)}),B(t,a,r,!0,!0),["elements","offset","count","instances","primitive"].forEach(function(e){var n=r.draw[e];n&&a.set(i.draw,"."+e,""+n.append(t,a))}),Object.keys(r.uniforms).forEach(function(n){a.set(i.uniforms,"["+e.id(n)+"]",r.uniforms[n].append(t,a))}),Object.keys(r.attributes).forEach(function(e){var n=r.attributes[e].append(t,a),i=t.scopeAttrib(e);Object.keys(new Z).forEach(function(t){a.set(i,"."+t,n[t])})}),n("vert"),n("frag"),0<Object.keys(r.state).length&&(a(o,".dirty=true;"),a.exit(o,".dirty=true;")),a("a1(",t.shared.context,",a0,",t.batchId,");")}function X(t,e,r){var n=e.static[r];if(n&&function(t){if("object"==typeof t&&!v(t)){for(var e=Object.keys(t),r=0;r<e.length;++r)if(U.isDynamic(t[e[r]]))return!0;return!1}}(n)){var a=t.global,i=Object.keys(n),o=!1,s=!1,l=!1,c=t.global.def("{}");i.forEach(function(e){var r=n[e];if(U.isDynamic(r))"function"==typeof r&&(r=n[e]=U.unbox(r)),e=F(r,null),o=o||e.thisDep,l=l||e.propDep,s=s||e.contextDep;else{switch(a(c,".",e,"="),typeof r){case"number":a(r);break;case"string":a('"',r,'"');break;case"object":Array.isArray(r)&&a("[",r.join(),"]");break;default:a(t.link(r))}a(";")}}),e.dynamic[r]=new U.DynamicVariable(4,{thisDep:o,contextDep:s,propDep:l,ref:c,append:function(t,e){i.forEach(function(r){var a=n[r];U.isDynamic(a)&&(a=t.invoke(e,a),e(c,".",r,"=",a,";"))})}}),delete e.static[r]}}var Z=u.Record,J={add:32774,subtract:32778,"reverse subtract":32779};r.ext_blend_minmax&&(J.min=32775,J.max=32776);var Q=r.angle_instanced_arrays,$=r.webgl_draw_buffers,tt={dirty:!0,profile:g.profile},et={},nt=[],at={},it={};y("dither",3024),y("blend.enable",3042),x("blend.color","blendColor",[0,0,0,0]),x("blend.equation","blendEquationSeparate",[32774,32774]),x("blend.func","blendFuncSeparate",[1,0,1,0]),y("depth.enable",2929,!0),x("depth.func","depthFunc",513),x("depth.range","depthRange",[0,1]),x("depth.mask","depthMask",!0),x("colorMask","colorMask",[!0,!0,!0,!0]),y("cull.enable",2884),x("cull.face","cullFace",1029),x("frontFace","frontFace",2305),x("lineWidth","lineWidth",1),y("polygonOffset.enable",32823),x("polygonOffset.offset","polygonOffset",[0,0]),y("sample.alpha",32926),y("sample.enable",32928),x("sample.coverage","sampleCoverage",[1,!1]),y("stencil.enable",2960),x("stencil.mask","stencilMask",-1),x("stencil.func","stencilFunc",[519,0,-1]),x("stencil.opFront","stencilOpSeparate",[1028,7680,7680,7680]),x("stencil.opBack","stencilOpSeparate",[1029,7680,7680,7680]),y("scissor.enable",3089),x("scissor.box","scissor",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]),x("viewport","viewport",[0,0,t.drawingBufferWidth,t.drawingBufferHeight]);var ot={gl:t,context:p,strings:e,next:et,current:tt,draw:f,elements:o,buffer:a,shader:h,attributes:u.state,uniforms:c,framebuffer:l,extensions:r,timer:d,isBufferArgs:O},st={primTypes:rt,compareFuncs:kt,blendFuncs:wt,blendEquations:J,stencilOps:Tt,glTypes:K,orientationType:At};$&&(st.backBuffer=[1029],st.drawBuffer=i(n.maxDrawbuffers,function(t){return 0===t?[0]:i(t,function(t){return 36064+t})}));var lt=0;return{next:et,current:tt,procs:function(){var t=b(),e=t.proc("poll"),r=t.proc("refresh"),a=t.block();e(a),r(a);var o,s=t.shared,l=s.gl,c=s.next,u=s.current;a(u,".dirty=false;"),S(t,e),S(t,r,null,!0),Q&&(o=t.link(Q));for(var h=0;h<n.maxAttributes;++h){var f=r.def(s.attributes,"[",h,"]"),p=t.cond(f,".buffer");p.then(l,".enableVertexAttribArray(",h,");",l,".bindBuffer(",34962,",",f,".buffer.buffer);",l,".vertexAttribPointer(",h,",",f,".size,",f,".type,",f,".normalized,",f,".stride,",f,".offset);").else(l,".disableVertexAttribArray(",h,");",l,".vertexAttrib4f(",h,",",f,".x,",f,".y,",f,".z,",f,".w);",f,".buffer=null;"),r(p),Q&&r(o,".vertexAttribDivisorANGLE(",h,",",f,".divisor);")}return Object.keys(at).forEach(function(n){var i=at[n],o=a.def(c,".",n),s=t.block();s("if(",o,"){",l,".enable(",i,")}else{",l,".disable(",i,")}",u,".",n,"=",o,";"),r(s),e("if(",o,"!==",u,".",n,"){",s,"}")}),Object.keys(it).forEach(function(n){var o,s,h=it[n],f=tt[n],p=t.block();p(l,".",h,"("),v(f)?(h=f.length,o=t.global.def(c,".",n),s=t.global.def(u,".",n),p(i(h,function(t){return o+"["+t+"]"}),");",i(h,function(t){return s+"["+t+"]="+o+"["+t+"];"}).join("")),e("if(",i(h,function(t){return o+"["+t+"]!=="+s+"["+t+"]"}).join("||"),"){",p,"}")):(o=a.def(c,".",n),s=a.def(u,".",n),p(o,");",u,".",n,"=",o,";"),e("if(",o,"!==",s,"){",p,"}")),r(p)}),t.compile()}(),compile:function(t,e,r,n,a){var i=b();return i.stats=i.link(a),Object.keys(e.static).forEach(function(t){X(i,e,t)}),_t.forEach(function(e){X(i,t,e)}),r=A(t,e,r,n),function(t,e){var r=t.proc("draw",1);C(t,r),M(t,r,e.context),S(t,r,e.framebuffer),E(t,r,e),L(t,r,e.state),B(t,r,e,!1,!0);var n=e.shader.progVar.append(t,r);if(r(t.shared.gl,".useProgram(",n,".program);"),e.shader.program)H(t,r,e,e.shader.program);else{var a=t.global.def("{}"),i=r.def(n,".id"),o=r.def(a,"[",i,"]");r(t.cond(o).then(o,".call(this,a0);").else(o,"=",a,"[",i,"]=",t.link(function(r){return q(H,t,e,r,1)}),"(",n,");",o,".call(this,a0);"))}0<Object.keys(e.state).length&&r(t.shared.current,".dirty=true;")}(i,r),W(i,r),function(t,e){function r(t){return t.contextDep&&a||t.propDep}var n=t.proc("batch",2);t.batchId="0",C(t,n);var a=!1,i=!0;Object.keys(e.context).forEach(function(t){a=a||e.context[t].propDep}),a||(M(t,n,e.context),i=!1);var o=!1;if((s=e.framebuffer)?(s.propDep?a=o=!0:s.contextDep&&a&&(o=!0),o||S(t,n,s)):S(t,n,null),e.state.viewport&&e.state.viewport.propDep&&(a=!0),E(t,n,e),L(t,n,e.state,function(t){return!r(t)}),e.profile&&r(e.profile)||B(t,n,e,!1,"a1"),e.contextDep=a,e.needsContext=i,e.needsFramebuffer=o,(i=e.shader.progVar).contextDep&&a||i.propDep)Y(t,n,e,null);else if(i=i.append(t,n),n(t.shared.gl,".useProgram(",i,".program);"),e.shader.program)Y(t,n,e,e.shader.program);else{var s=t.global.def("{}"),l=(o=n.def(i,".id"),n.def(s,"[",o,"]"));n(t.cond(l).then(l,".call(this,a0,a1);").else(l,"=",s,"[",o,"]=",t.link(function(r){return q(Y,t,e,r,2)}),"(",i,");",l,".call(this,a0,a1);"))}0<Object.keys(e.state).length&&n(t.shared.current,".dirty=true;")}(i,r),i.compile()}}}function N(t,e){for(var r=0;r<t.length;++r)if(t[r]===e)return r;return-1}var j=function(t,e){for(var r=Object.keys(e),n=0;n<r.length;++n)t[r[n]]=e[r[n]];return t},V=0,U={DynamicVariable:t,define:function(r,n){return new t(r,e(n+""))},isDynamic:function(e){return"function"==typeof e&&!e._reglType||e instanceof t},unbox:function(e,r){return"function"==typeof e?new t(0,e):e},accessor:e},q={next:"function"==typeof requestAnimationFrame?function(t){return requestAnimationFrame(t)}:function(t){return setTimeout(t,16)},cancel:"function"==typeof cancelAnimationFrame?function(t){return cancelAnimationFrame(t)}:clearTimeout},H="undefined"!=typeof performance&&performance.now?function(){return performance.now()}:function(){return+new Date},G=s();G.zero=s();var Y=function(t,e){var r=1;e.ext_texture_filter_anisotropic&&(r=t.getParameter(34047));var n=1,a=1;e.webgl_draw_buffers&&(n=t.getParameter(34852),a=t.getParameter(36063));var i=!!e.oes_texture_float;if(i){i=t.createTexture(),t.bindTexture(3553,i),t.texImage2D(3553,0,6408,1,1,0,6408,5126,null);var o=t.createFramebuffer();if(t.bindFramebuffer(36160,o),t.framebufferTexture2D(36160,36064,3553,i,0),t.bindTexture(3553,null),36053!==t.checkFramebufferStatus(36160))i=!1;else{t.viewport(0,0,1,1),t.clearColor(1,0,0,1),t.clear(16384);var s=G.allocType(5126,4);t.readPixels(0,0,1,1,6408,5126,s),t.getError()?i=!1:(t.deleteFramebuffer(o),t.deleteTexture(i),i=1===s[0]),G.freeType(s)}}return s=!0,"undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion)||/Edge/.test(navigator.userAgent))||(s=t.createTexture(),o=G.allocType(5121,36),t.activeTexture(33984),t.bindTexture(34067,s),t.texImage2D(34069,0,6408,3,3,0,6408,5121,o),G.freeType(o),t.bindTexture(34067,null),t.deleteTexture(s),s=!t.getError()),{colorBits:[t.getParameter(3410),t.getParameter(3411),t.getParameter(3412),t.getParameter(3413)],depthBits:t.getParameter(3414),stencilBits:t.getParameter(3415),subpixelBits:t.getParameter(3408),extensions:Object.keys(e).filter(function(t){return!!e[t]}),maxAnisotropic:r,maxDrawbuffers:n,maxColorAttachments:a,pointSizeDims:t.getParameter(33901),lineWidthDims:t.getParameter(33902),maxViewportDims:t.getParameter(3386),maxCombinedTextureUnits:t.getParameter(35661),maxCubeMapSize:t.getParameter(34076),maxRenderbufferSize:t.getParameter(34024),maxTextureUnits:t.getParameter(34930),maxTextureSize:t.getParameter(3379),maxAttributes:t.getParameter(34921),maxVertexUniforms:t.getParameter(36347),maxVertexTextureUnits:t.getParameter(35660),maxVaryingVectors:t.getParameter(36348),maxFragmentUniforms:t.getParameter(36349),glsl:t.getParameter(35724),renderer:t.getParameter(7937),vendor:t.getParameter(7936),version:t.getParameter(7938),readFloat:i,npotTextureCube:s}},W=function(t){return t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Uint32Array||t instanceof Int8Array||t instanceof Int16Array||t instanceof Int32Array||t instanceof Float32Array||t instanceof Float64Array||t instanceof Uint8ClampedArray},X=function(t){return Object.keys(t).map(function(e){return t[e]})},Z={shape:function(t){for(var e=[];t.length;t=t[0])e.push(t.length);return e},flatten:function(t,e,r,n){var a=1;if(e.length)for(var i=0;i<e.length;++i)a*=e[i];else a=0;switch(r=n||G.allocType(r,a),e.length){case 0:break;case 1:for(n=e[0],e=0;e<n;++e)r[e]=t[e];break;case 2:for(n=e[0],e=e[1],i=a=0;i<n;++i)for(var o=t[i],s=0;s<e;++s)r[a++]=o[s];break;case 3:c(t,e[0],e[1],e[2],r,0);break;default:!function t(e,r,n,a,i){for(var o=1,s=n+1;s<r.length;++s)o*=r[s];var l=r[n];if(4==r.length-n){var u=r[n+1],h=r[n+2];for(r=r[n+3],s=0;s<l;++s)c(e[s],u,h,r,a,i),i+=o}else for(s=0;s<l;++s)t(e[s],r,n+1,a,i),i+=o}(t,e,0,r,0)}return r}},J={"[object Int8Array]":5120,"[object Int16Array]":5122,"[object Int32Array]":5124,"[object Uint8Array]":5121,"[object Uint8ClampedArray]":5121,"[object Uint16Array]":5123,"[object Uint32Array]":5125,"[object Float32Array]":5126,"[object Float64Array]":5121,"[object ArrayBuffer]":5121},K={int8:5120,int16:5122,int32:5124,uint8:5121,uint16:5123,uint32:5125,float:5126,float32:5126},Q={dynamic:35048,stream:35040,static:35044},$=Z.flatten,tt=Z.shape,et=[];et[5120]=1,et[5122]=2,et[5124]=4,et[5121]=1,et[5123]=2,et[5125]=4,et[5126]=4;var rt={points:0,point:0,lines:1,line:1,triangles:4,triangle:4,"line loop":2,"line strip":3,"triangle strip":5,"triangle fan":6},nt=new Float32Array(1),at=new Uint32Array(nt.buffer),it=[9984,9986,9985,9987],ot=[0,6409,6410,6407,6408],st={};st[6409]=st[6406]=st[6402]=1,st[34041]=st[6410]=2,st[6407]=st[35904]=3,st[6408]=st[35906]=4;var lt=m("HTMLCanvasElement"),ct=m("CanvasRenderingContext2D"),ut=m("ImageBitmap"),ht=m("HTMLImageElement"),ft=m("HTMLVideoElement"),pt=Object.keys(J).concat([lt,ct,ut,ht,ft]),dt=[];dt[5121]=1,dt[5126]=4,dt[36193]=2,dt[5123]=2,dt[5125]=4;var gt=[];gt[32854]=2,gt[32855]=2,gt[36194]=2,gt[34041]=4,gt[33776]=.5,gt[33777]=.5,gt[33778]=1,gt[33779]=1,gt[35986]=.5,gt[35987]=1,gt[34798]=1,gt[35840]=.5,gt[35841]=.25,gt[35842]=.5,gt[35843]=.25,gt[36196]=.5;var vt=[];vt[32854]=2,vt[32855]=2,vt[36194]=2,vt[33189]=2,vt[36168]=1,vt[34041]=4,vt[35907]=4,vt[34836]=16,vt[34842]=8,vt[34843]=6;var mt=function(t,e,r,n,a){function i(t){this.id=c++,this.refCount=1,this.renderbuffer=t,this.format=32854,this.height=this.width=0,a.profile&&(this.stats={size:0})}function o(e){var r=e.renderbuffer;t.bindRenderbuffer(36161,null),t.deleteRenderbuffer(r),e.renderbuffer=null,e.refCount=0,delete u[e.id],n.renderbufferCount--}var s={rgba4:32854,rgb565:36194,"rgb5 a1":32855,depth:33189,stencil:36168,"depth stencil":34041};e.ext_srgb&&(s.srgba=35907),e.ext_color_buffer_half_float&&(s.rgba16f=34842,s.rgb16f=34843),e.webgl_color_buffer_float&&(s.rgba32f=34836);var l=[];Object.keys(s).forEach(function(t){l[s[t]]=t});var c=0,u={};return i.prototype.decRef=function(){0>=--this.refCount&&o(this)},a.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach(function(e){t+=u[e].stats.size}),t}),{create:function(e,r){function o(e,r){var n=0,i=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(i=e.shape)[0],i=0|i[1]):("radius"in e&&(n=i=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(i=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,i="number"==typeof r?0|r:n):e||(n=i=1),n!==c.width||i!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=i,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new i(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,i=0|r||n;return n===c.width&&i===c.height?o:(o.width=c.width=n,o.height=c.height=i,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,i),a.profile&&(c.stats.size=vt[c.format]*c.width*c.height),o)},o._reglType="renderbuffer",o._renderbuffer=c,a.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){X(u).forEach(o)},restore:function(){X(u).forEach(function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)}),t.bindRenderbuffer(36161,null)}}},yt=[];yt[6408]=4,yt[6407]=3;var xt=[];xt[5121]=1,xt[5126]=4,xt[36193]=2;var bt=["x","y","z","w"],_t="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),wt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},kt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Tt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},At={cw:2304,ccw:2305},Mt=new I(!1,!1,!1,function(){});return function(t){function e(){if(0===Z.length)w&&w.update(),$=null;else{$=q.next(e),h();for(var t=Z.length-1;0<=t;--t){var r=Z[t];r&&r(P,null,0)}v.flush(),w&&w.update()}}function r(){!$&&0<Z.length&&($=q.next(e))}function n(){$&&(q.cancel(e),$=null)}function i(t){t.preventDefault(),n(),J.forEach(function(t){t()})}function o(t){v.getError(),y.restore(),D.restore(),z.restore(),R.restore(),F.restore(),V.restore(),w&&w.restore(),G.procs.refresh(),r(),K.forEach(function(t){t()})}function s(t){function e(t){var e={},r={};return Object.keys(t).forEach(function(n){var a=t[n];U.isDynamic(a)?r[n]=U.unbox(a,n):e[n]=a}),{dynamic:r,static:e}}var r=e(t.context||{}),n=e(t.uniforms||{}),a=e(t.attributes||{}),i=e(function(t){function e(t){if(t in r){var e=r[t];delete r[t],Object.keys(e).forEach(function(n){r[t+"."+n]=e[n]})}}var r=j({},t);return delete r.uniforms,delete r.attributes,delete r.context,"stencil"in r&&r.stencil.op&&(r.stencil.opBack=r.stencil.opFront=r.stencil.op,delete r.stencil.op),e("blend"),e("depth"),e("cull"),e("stencil"),e("polygonOffset"),e("scissor"),e("sample"),r}(t));t={gpuTime:0,cpuTime:0,count:0};var o=(r=G.compile(i,a,n,r,t)).draw,s=r.batch,l=r.scope,c=[];return j(function(t,e){var r;if("function"==typeof t)return l.call(this,null,t,0);if("function"==typeof e)if("number"==typeof t)for(r=0;r<t;++r)l.call(this,null,e,r);else{if(!Array.isArray(t))return l.call(this,t,e,0);for(r=0;r<t.length;++r)l.call(this,t[r],e,r)}else if("number"==typeof t){if(0<t)return s.call(this,function(t){for(;c.length<t;)c.push(null);return c}(0|t),0|t)}else{if(!Array.isArray(t))return o.call(this,t);if(t.length)return s.call(this,t,t.length)}},{stats:t})}function l(t,e){var r=0;G.procs.poll();var n=e.color;n&&(v.clearColor(+n[0]||0,+n[1]||0,+n[2]||0,+n[3]||0),r|=16384),"depth"in e&&(v.clearDepth(+e.depth),r|=256),"stencil"in e&&(v.clearStencil(0|e.stencil),r|=1024),v.clear(r)}function c(t){return Z.push(t),r(),{cancel:function(){var e=N(Z,t);Z[e]=function t(){var e=N(Z,t);Z[e]=Z[Z.length-1],--Z.length,0>=Z.length&&n()}}}}function u(){var t=W.viewport,e=W.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=v.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=v.drawingBufferHeight}function h(){P.tick+=1,P.time=g(),u(),G.procs.poll()}function f(){u(),G.procs.refresh(),w&&w.update()}function g(){return(H()-k)/1e3}if(!(t=a(t)))return null;var v=t.gl,m=v.getContextAttributes();v.isContextLost();var y=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},a=0;a<e.extensions.length;++a){var i=e.extensions[a];if(!r(i))return e.onDestroy(),e.onDone('"'+i+'" extension is not supported by the current WebGL context, try upgrading your system or a different browser'),null}return e.optionalExtensions.forEach(r),{extensions:n,restore:function(){Object.keys(n).forEach(function(t){if(n[t]&&!r(t))throw Error("(regl): error restoring extension "+t)})}}}(v,t);if(!y)return null;var x=function(){var t={"":0},e=[""];return{id:function(r){var n=t[r];return n||(n=t[r]=e.length,e.push(r),n)},str:function(t){return e[t]}}}(),b={bufferCount:0,elementsCount:0,framebufferCount:0,shaderCount:0,textureCount:0,cubeCount:0,renderbufferCount:0,maxTextureUnits:0},_=y.extensions,w=function(t,e){function r(){this.endQueryIndex=this.startQueryIndex=-1,this.sum=0,this.stats=null}function n(t,e,n){var a=o.pop()||new r;a.startQueryIndex=t,a.endQueryIndex=e,a.sum=0,a.stats=n,s.push(a)}if(!e.ext_disjoint_timer_query)return null;var a=[],i=[],o=[],s=[],l=[],c=[];return{beginQuery:function(t){var r=a.pop()||e.ext_disjoint_timer_query.createQueryEXT();e.ext_disjoint_timer_query.beginQueryEXT(35007,r),i.push(r),n(i.length-1,i.length,t)},endQuery:function(){e.ext_disjoint_timer_query.endQueryEXT(35007)},pushScopeStats:n,update:function(){var t,r;if(0!==(t=i.length)){c.length=Math.max(c.length,t+1),l.length=Math.max(l.length,t+1),l[0]=0;var n=c[0]=0;for(r=t=0;r<i.length;++r){var u=i[r];e.ext_disjoint_timer_query.getQueryObjectEXT(u,34919)?(n+=e.ext_disjoint_timer_query.getQueryObjectEXT(u,34918),a.push(u)):i[t++]=u,l[r+1]=n,c[r+1]=t}for(i.length=t,r=t=0;r<s.length;++r){var h=(n=s[r]).startQueryIndex;u=n.endQueryIndex,n.sum+=l[u]-l[h],h=c[h],(u=c[u])===h?(n.stats.gpuTime+=n.sum/1e6,o.push(n)):(n.startQueryIndex=h,n.endQueryIndex=u,s[t++]=n)}s.length=t}},getNumPendingQueries:function(){return i.length},clear:function(){a.push.apply(a,i);for(var t=0;t<a.length;t++)e.ext_disjoint_timer_query.deleteQueryEXT(a[t]);i.length=0,a.length=0},restore:function(){i.length=0,a.length=0}}}(0,_),k=H(),L=v.drawingBufferWidth,C=v.drawingBufferHeight,P={tick:0,time:0,viewportWidth:L,viewportHeight:C,framebufferWidth:L,framebufferHeight:C,drawingBufferWidth:L,drawingBufferHeight:C,pixelRatio:t.pixelRatio},O=Y(v,_),z=(L=function(t,e,r,n){for(t=r.maxAttributes,e=Array(t),r=0;r<t;++r)e[r]=new M;return{Record:M,scope:{},state:e}}(v,_,O),p(v,b,t,L)),I=d(v,_,z,b),D=S(v,x,b,t),R=T(v,_,O,function(){G.procs.poll()},P,b,t),F=mt(v,_,0,b,t),V=A(v,_,O,R,F,b),G=B(v,x,_,O,z,I,0,V,{},L,D,{elements:null,primitive:4,count:-1,offset:0,instances:-1},P,w,t),W=(x=E(v,V,G.procs.poll,P),G.next),X=v.canvas,Z=[],J=[],K=[],Q=[t.onDestroy],$=null;X&&(X.addEventListener("webglcontextlost",i,!1),X.addEventListener("webglcontextrestored",o,!1));var tt=V.setFBO=s({framebuffer:U.define.call(null,1,"framebuffer")});return f(),m=j(s,{clear:function(t){if("framebuffer"in t)if(t.framebuffer&&"framebufferCube"===t.framebuffer_reglType)for(var e=0;6>e;++e)tt(j({framebuffer:t.framebuffer.faces[e]},t),l);else tt(t,l);else l(0,t)},prop:U.define.bind(null,1),context:U.define.bind(null,2),this:U.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return I.create(t,!1)},texture:R.create2D,cube:R.createCube,renderbuffer:F.create,framebuffer:V.create,framebufferCube:V.createCube,attributes:m,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=J;break;case"restore":r=K;break;case"destroy":r=Q}return r.push(e),{cancel:function(){for(var t=0;t<r.length;++t)if(r[t]===e){r[t]=r[r.length-1],r.pop();break}}}},limits:O,hasExtension:function(t){return 0<=O.extensions.indexOf(t.toLowerCase())},read:x,destroy:function(){Z.length=0,n(),X&&(X.removeEventListener("webglcontextlost",i),X.removeEventListener("webglcontextrestored",o)),D.clear(),V.clear(),F.clear(),R.clear(),I.clear(),z.clear(),w&&w.clear(),Q.forEach(function(t){t()})},_gl:v,_refresh:f,poll:function(){h(),w&&w.update()},now:g,stats:b}),t.onDone(null,m),m}},"object"==typeof r&&"undefined"!=typeof e?e.exports=a():n.createREGL=a()},{}],501:[function(t,e,r){"use strict";var n,a="";e.exports=function(t,e){if("string"!=typeof t)throw new TypeError("expected a string");if(1===e)return t;if(2===e)return t+t;var r=t.length*e;if(n!==t||"undefined"==typeof n)n=t,a="";else if(a.length>=r)return a.substr(0,r);for(;r>a.length&&e>1;)1&e&&(a+=t),e>>=1,t+=t;return a=(a+=t).substr(0,r)}},{}],502:[function(t,e,r){(function(t){e.exports=t.performance&&t.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],503:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,a=e-2;a>=0;--a){var i=r,o=t[a],s=(r=i+o)-i,l=o-s;l&&(t[--n]=r,r=l)}for(var c=0,a=n;a<e;++a){var i=t[a],o=r,s=(r=i+o)-i,l=o-s;l&&(t[c++]=l)}return t[c++]=r,t.length=c,t}},{}],504:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-compress"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(2===t.length)return["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("");for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(l(t,r)),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return function t(e){if(1===e.length)return e[0];if(2===e.length)return["sum(",e[0],",",e[1],")"].join("");var r=e.length>>1;return["sum(",t(e.slice(0,r)),",",t(e.slice(r)),")"].join("")}(e);var n}function u(t){return new Function("sum","scale","prod","compress",["function robustDeterminant",t,"(m){return compress(",c(function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m[",r,"][",n,"]"].join("")}return e}(t)),")};return robustDeterminant",t].join(""))(a,i,n,o)}var h=[function(){return[0]},function(t){return[t[0][0]]}];!function(){for(;h.length<s;)h.push(u(h.length));for(var t=[],r=["function robustDeterminant(m){switch(m.length){"],n=0;n<s;++n)t.push("det"+n),r.push("case ",n,":return det",n,"(m);");r.push("}var det=CACHE[m.length];if(!det)det=CACHE[m.length]=gen(m.length);return det(m);}return robustDeterminant"),t.push("CACHE","gen",r.join(""));var a=Function.apply(void 0,t);for(e.exports=a.apply(void 0,h.concat([h,u])),n=0;n<h.length;++n)e.exports[n]=h[n]}()},{"robust-compress":503,"robust-scale":510,"robust-sum":513,"two-product":541}],505:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum");e.exports=function(t,e){for(var r=n(t[0],e[0]),i=1;i<t.length;++i)r=a(r,n(t[i],e[i]));return r}},{"robust-sum":513,"two-product":541}],506:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-subtract"),o=t("robust-scale"),s=6;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t,e){if("m"===t.charAt(0)){if("w"===e.charAt(0)){var r=t.split("[");return["w",e.substr(1),"m",r[0].substr(1)].join("")}return["prod(",t,",",e,")"].join("")}return u(e,t)}function h(t){if(2===t.length)return[["diff(",u(t[0][0],t[1][1]),",",u(t[1][0],t[0][1]),")"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(h(l(t,r))),",",(n=r,!0&n?"-":""),t[0][r],")"].join(""));return e;var n}function f(t,e){for(var r=[],n=0;n<e-2;++n)r.push(["prod(m",t,"[",n,"],m",t,"[",n,"])"].join(""));return c(r)}function p(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-2,"]"].join("")}return e}(t),u=0;u<t;++u)s[0][u]="1",s[t-1][u]="w"+u;for(u=0;u<t;++u)0==(1&u)?e.push.apply(e,h(l(s,u))):r.push.apply(r,h(l(s,u)));var p=c(e),d=c(r),g="exactInSphere"+t,v=[];for(u=0;u<t;++u)v.push("m"+u);var m=["function ",g,"(",v.join(),"){"];for(u=0;u<t;++u){m.push("var w",u,"=",f(u,t),";");for(var y=0;y<t;++y)y!==u&&m.push("var w",u,"m",y,"=scale(w",u,",m",y,"[0]);")}return m.push("var p=",p,",n=",d,",d=diff(p,n);return d[d.length-1];}return ",g),new Function("sum","diff","prod","scale",m.join(""))(a,i,n,o)}var d=[function(){return 0},function(){return 0},function(){return 0}];!function(){for(;d.length<=s;)d.push(p(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var a=["function testInSphere(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return testInSphere"),r.push(a.join(""));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=p(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":510,"robust-subtract":512,"robust-sum":513,"two-product":541}],507:[function(t,e,r){"use strict";var n=t("robust-determinant"),a=6;function i(t){for(var e="robustLinearSolve"+t+"d",r=["function ",e,"(A,b){return ["],a=0;a<t;++a){r.push("det([");for(var i=0;i<t;++i){i>0&&r.push(","),r.push("[");for(var o=0;o<t;++o)o>0&&r.push(","),o===a?r.push("+b[",i,"]"):r.push("+A[",i,"][",o,"]");r.push("]")}r.push("]),")}r.push("det(A)]}return ",e);var s=new Function("det",r.join(""));return s(t<6?n[t]:n)}var o=[function(){return[0]},function(t,e){return[[e[0]],[t[0][0]]]}];!function(){for(;o.length<a;)o.push(i(o.length));for(var t=[],r=["function dispatchLinearSolve(A,b){switch(A.length){"],n=0;n<a;++n)t.push("s"+n),r.push("case ",n,":return s",n,"(A,b);");r.push("}var s=CACHE[A.length];if(!s)s=CACHE[A.length]=g(A.length);return s(A,b)}return dispatchLinearSolve"),t.push("CACHE","g",r.join(""));var s=Function.apply(void 0,t);for(e.exports=s.apply(void 0,o.concat([o,i])),n=0;n<a;++n)e.exports[n]=o[n]}()},{"robust-determinant":504}],508:[function(t,e,r){"use strict";var n=t("two-product"),a=t("robust-sum"),i=t("robust-scale"),o=t("robust-subtract"),s=5;function l(t,e){for(var r=new Array(t.length-1),n=1;n<t.length;++n)for(var a=r[n-1]=new Array(t.length-1),i=0,o=0;i<t.length;++i)i!==e&&(a[o++]=t[n][i]);return r}function c(t){if(1===t.length)return t[0];if(2===t.length)return["sum(",t[0],",",t[1],")"].join("");var e=t.length>>1;return["sum(",c(t.slice(0,e)),",",c(t.slice(e)),")"].join("")}function u(t){if(2===t.length)return[["sum(prod(",t[0][0],",",t[1][1],"),prod(-",t[0][1],",",t[1][0],"))"].join("")];for(var e=[],r=0;r<t.length;++r)e.push(["scale(",c(u(l(t,r))),",",(n=r,1&n?"-":""),t[0][r],")"].join(""));return e;var n}function h(t){for(var e=[],r=[],s=function(t){for(var e=new Array(t),r=0;r<t;++r){e[r]=new Array(t);for(var n=0;n<t;++n)e[r][n]=["m",n,"[",t-r-1,"]"].join("")}return e}(t),h=[],f=0;f<t;++f)0==(1&f)?e.push.apply(e,u(l(s,f))):r.push.apply(r,u(l(s,f))),h.push("m"+f);var p=c(e),d=c(r),g="orientation"+t+"Exact",v=["function ",g,"(",h.join(),"){var p=",p,",n=",d,",d=sub(p,n);return d[d.length-1];};return ",g].join("");return new Function("sum","prod","scale","sub",v)(a,n,i,o)}var f=h(3),p=h(4),d=[function(){return 0},function(){return 0},function(t,e){return e[0]-t[0]},function(t,e,r){var n,a=(t[1]-r[1])*(e[0]-r[0]),i=(t[0]-r[0])*(e[1]-r[1]),o=a-i;if(a>0){if(i<=0)return o;n=a+i}else{if(!(a<0))return o;if(i>=0)return o;n=-(a+i)}var s=3.3306690738754716e-16*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var a=t[0]-n[0],i=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],f=r[2]-n[2],d=i*c,g=o*l,v=o*s,m=a*c,y=a*l,x=i*s,b=u*(d-g)+h*(v-m)+f*(y-x),_=7.771561172376103e-16*((Math.abs(d)+Math.abs(g))*Math.abs(u)+(Math.abs(v)+Math.abs(m))*Math.abs(h)+(Math.abs(y)+Math.abs(x))*Math.abs(f));return b>_||-b>_?b:p(t,e,r,n)}];!function(){for(;d.length<=s;)d.push(h(d.length));for(var t=[],r=["slow"],n=0;n<=s;++n)t.push("a"+n),r.push("o"+n);var a=["function getOrientation(",t.join(),"){switch(arguments.length){case 0:case 1:return 0;"];for(n=2;n<=s;++n)a.push("case ",n,":return o",n,"(",t.slice(0,n).join(),");");a.push("}var s=new Array(arguments.length);for(var i=0;i<arguments.length;++i){s[i]=arguments[i]};return slow(s);}return getOrientation"),r.push(a.join(""));var i=Function.apply(void 0,r);for(e.exports=i.apply(void 0,[function(t){var e=d[t.length];return e||(e=d[t.length]=h(t.length)),e.apply(void 0,t)}].concat(d)),n=0;n<=s;++n)e.exports[n]=d[n]}()},{"robust-scale":510,"robust-subtract":512,"robust-sum":513,"two-product":541}],509:[function(t,e,r){"use strict";var n=t("robust-sum"),a=t("robust-scale");e.exports=function(t,e){if(1===t.length)return a(e,t[0]);if(1===e.length)return a(t,e[0]);if(0===t.length||0===e.length)return[0];var r=[0];if(t.length<e.length)for(var i=0;i<t.length;++i)r=n(r,a(e,t[i]));else for(var i=0;i<e.length;++i)r=n(r,a(t,e[i]));return r}},{"robust-scale":510,"robust-sum":513}],510:[function(t,e,r){"use strict";var n=t("two-product"),a=t("two-sum");e.exports=function(t,e){var r=t.length;if(1===r){var i=n(t[0],e);return i[0]?i:[i[1]]}var o=new Array(2*r),s=[.1,.1],l=[.1,.1],c=0;n(t[0],e,s),s[0]&&(o[c++]=s[0]);for(var u=1;u<r;++u){n(t[u],e,l);var h=s[1];a(h,l[0],s),s[0]&&(o[c++]=s[0]);var f=l[1],p=s[1],d=f+p,g=d-f,v=p-g;s[1]=d,v&&(o[c++]=v)}s[1]&&(o[c++]=s[1]);0===c&&(o[c++]=0);return o.length=c,o}},{"two-product":541,"two-sum":542}],511:[function(t,e,r){"use strict";e.exports=function(t,e,r,a){var i=n(t,r,a),o=n(e,r,a);if(i>0&&o>0||i<0&&o<0)return!1;var s=n(r,t,e),l=n(a,t,e);if(s>0&&l>0||s<0&&l<0)return!1;if(0===i&&0===o&&0===s&&0===l)return function(t,e,r,n){for(var a=0;a<2;++a){var i=t[a],o=e[a],s=Math.min(i,o),l=Math.max(i,o),c=r[a],u=n[a],h=Math.min(c,u),f=Math.max(c,u);if(f<s||l<h)return!1}return!0}(t,e,r,a);return!0};var n=t("robust-orientation")[3]},{"robust-orientation":508}],512:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],-e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=-e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=-e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p)));var g,v,m=a+i,y=m-a,x=i-y,b=x,_=m;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=-e[c],d=u(p))),(x=(i=b)-(y=(m=a+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(i=b)-(y=(m=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(m=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(c+=1)<n&&(p=-e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],513:[function(t,e,r){"use strict";e.exports=function(t,e){var r=0|t.length,n=0|e.length;if(1===r&&1===n)return function(t,e){var r=t+e,n=r-t,a=t-(r-n)+(e-n);if(a)return[a,r];return[r]}(t[0],e[0]);var a,i,o=new Array(r+n),s=0,l=0,c=0,u=Math.abs,h=t[l],f=u(h),p=e[c],d=u(p);f<d?(i=h,(l+=1)<r&&(h=t[l],f=u(h))):(i=p,(c+=1)<n&&(p=e[c],d=u(p)));l<r&&f<d||c>=n?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p)));var g,v,m=a+i,y=m-a,x=i-y,b=x,_=m;for(;l<r&&c<n;)f<d?(a=h,(l+=1)<r&&(h=t[l],f=u(h))):(a=p,(c+=1)<n&&(p=e[c],d=u(p))),(x=(i=b)-(y=(m=a+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g;for(;l<r;)(x=(i=b)-(y=(m=(a=h)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(l+=1)<r&&(h=t[l]);for(;c<n;)(x=(i=b)-(y=(m=(a=p)+i)-a))&&(o[s++]=x),b=_-((g=_+m)-(v=g-_))+(m-v),_=g,(c+=1)<n&&(p=e[c]);b&&(o[s++]=b);_&&(o[s++]=_);s||(o[s++]=0);return o.length=s,o}},{}],514:[function(t,e,r){"use strict";e.exports=function(t){return t<0?-1:t>0?1:0}},{}],515:[function(t,e,r){"use strict";e.exports=function(t){return a(n(t))};var n=t("boundary-cells"),a=t("reduce-simplicial-complex")},{"boundary-cells":96,"reduce-simplicial-complex":490}],516:[function(t,e,r){"use strict";e.exports=function(t,e,r,s){r=r||0,"undefined"==typeof s&&(s=function(t){for(var e=t.length,r=0,n=0;n<e;++n)r=0|Math.max(r,t[n].length);return r-1}(t));if(0===t.length||s<1)return{cells:[],vertexIds:[],vertexWeights:[]};var l=function(t,e){for(var r=t.length,n=a.mallocUint8(r),i=0;i<r;++i)n[i]=t[i]<e|0;return n}(e,+r),c=function(t,e){for(var r=t.length,o=e*(e+1)/2*r|0,s=a.mallocUint32(2*o),l=0,c=0;c<r;++c)for(var u=t[c],e=u.length,h=0;h<e;++h)for(var f=0;f<h;++f){var p=u[f],d=u[h];s[l++]=0|Math.min(p,d),s[l++]=0|Math.max(p,d)}i(n(s,[l/2|0,2]));for(var g=2,c=2;c<l;c+=2)s[c-2]===s[c]&&s[c-1]===s[c+1]||(s[g++]=s[c],s[g++]=s[c+1]);return n(s,[g/2|0,2])}(t,s),u=function(t,e,r,i){for(var o=t.data,s=t.shape[0],l=a.mallocDouble(s),c=0,u=0;u<s;++u){var h=o[2*u],f=o[2*u+1];if(r[h]!==r[f]){var p=e[h],d=e[f];o[2*c]=h,o[2*c+1]=f,l[c++]=(d-i)/(d-p)}}return t.shape[0]=c,n(l,[c])}(c,e,l,+r),h=function(t,e){var r=a.mallocInt32(2*e),n=t.shape[0],i=t.data;r[0]=0;for(var o=0,s=0;s<n;++s){var l=i[2*s];if(l!==o){for(r[2*o+1]=s;++o<l;)r[2*o]=s,r[2*o+1]=s;r[2*o]=s}}r[2*o+1]=n;for(;++o<e;)r[2*o]=r[2*o+1]=n;return r}(c,0|e.length),f=o(s)(t,c.data,h,l),p=function(t){for(var e=0|t.shape[0],r=t.data,n=new Array(e),a=0;a<e;++a)n[a]=[r[2*a],r[2*a+1]];return n}(c),d=[].slice.call(u.data,0,u.shape[0]);return a.free(l),a.free(c.data),a.free(u.data),a.free(h),{cells:f,vertexIds:p,vertexWeights:d}};var n=t("ndarray"),a=t("typedarray-pool"),i=t("ndarray-sort"),o=t("./lib/codegen")},{"./lib/codegen":517,ndarray:451,"ndarray-sort":449,"typedarray-pool":543}],517:[function(t,e,r){"use strict";e.exports=function(t){var e=i[t];e||(e=i[t]=function(t){var e=0,r=new Array(t+1);r[0]=[[]];for(var i=1;i<=t;++i)for(var o=r[i]=a(i),s=0;s<o.length;++s)e=Math.max(e,o[i].length);var l=["function B(C,E,i,j){","var a=Math.min(i,j)|0,b=Math.max(i,j)|0,l=C[2*a],h=C[2*a+1];","while(l<h){","var m=(l+h)>>1,v=E[2*m+1];","if(v===b){return m}","if(b<v){h=m}else{l=m+1}","}","return l;","};","function getContour",t,"d(F,E,C,S){","var n=F.length,R=[];","for(var i=0;i<n;++i){var c=F[i],l=c.length;"];function c(t){if(!(t.length<=0)){l.push("R.push(");for(var e=0;e<t.length;++e){var r=t[e];e>0&&l.push(","),l.push("[");for(var n=0;n<r.length;++n){var a=r[n];n>0&&l.push(","),l.push("B(C,E,c[",a[0],"],c[",a[1],"])")}l.push("]")}l.push(");")}}for(var i=t+1;i>1;--i){i<t+1&&l.push("else "),l.push("if(l===",i,"){");for(var u=[],s=0;s<i;++s)u.push("(S[c["+s+"]]<<"+s+")");l.push("var M=",u.join("+"),";if(M===0||M===",(1<<i)-1,"){continue}switch(M){");for(var o=r[i-1],s=0;s<o.length;++s)l.push("case ",s,":"),c(o[s]),l.push("break;");l.push("}}")}return l.push("}return R;};return getContour",t,"d"),new Function("pool",l.join(""))(n)}(t));return e};var n=t("typedarray-pool"),a=t("marching-simplex-table"),i={}},{"marching-simplex-table":428,"typedarray-pool":543}],518:[function(t,e,r){"use strict";var n=t("bit-twiddle"),a=t("union-find");function i(t,e){var r=t.length,n=t.length-e.length,a=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||a(t[0],t[1])-a(e[0],e[1]);case 3:var i=t[0]+t[1],o=e[0]+e[1];if(s=i+t[2]-(o+e[2]))return s;var s,l=a(t[0],t[1]),c=a(e[0],e[1]);return(s=a(l,t[2])-a(c,e[2]))||a(l+t[2],i)-a(c+e[2],o);default:var u=t.slice(0);u.sort();var h=e.slice(0);h.sort();for(var f=0;f<r;++f)if(n=u[f]-h[f])return n;return 0}}function o(t,e){return i(t[0],e[0])}function s(t,e){if(e){for(var r=t.length,n=new Array(r),a=0;a<r;++a)n[a]=[t[a],e[a]];n.sort(o);for(a=0;a<r;++a)t[a]=n[a][0],e[a]=n[a][1];return t}return t.sort(i),t}function l(t){if(0===t.length)return[];for(var e=1,r=t.length,n=1;n<r;++n){var a=t[n];if(i(a,t[n-1])){if(n===e){e++;continue}t[e++]=a}}return t.length=e,t}function c(t,e){for(var r=0,n=t.length-1,a=-1;r<=n;){var o=r+n>>1,s=i(t[o],e);s<=0?(0===s&&(a=o),r=o+1):s>0&&(n=o-1)}return a}function u(t,e){for(var r=new Array(t.length),a=0,o=r.length;a<o;++a)r[a]=[];for(var s=[],l=(a=0,e.length);a<l;++a)for(var u=e[a],h=u.length,f=1,p=1<<h;f<p;++f){s.length=n.popCount(f);for(var d=0,g=0;g<h;++g)f&1<<g&&(s[d++]=u[g]);var v=c(t,s);if(!(v<0))for(;r[v++].push(a),!(v>=t.length||0!==i(t[v],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],a=(1<<e+1)-1,i=0;i<t.length;++i)for(var o=t[i],l=a;l<1<<o.length;l=n.nextCombination(l)){for(var c=new Array(e+1),u=0,h=0;h<o.length;++h)l&1<<h&&(c[u++]=o[h]);r.push(c)}return s(r)}r.dimension=function(t){for(var e=0,r=Math.max,n=0,a=t.length;n<a;++n)e=r(e,t[n].length);return e-1},r.countVertices=function(t){for(var e=-1,r=Math.max,n=0,a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)e=r(e,i[o]);return e+1},r.cloneCells=function(t){for(var e=new Array(t.length),r=0,n=t.length;r<n;++r)e[r]=t[r].slice(0);return e},r.compareCells=i,r.normalize=s,r.unique=l,r.findCell=c,r.incidence=u,r.dual=function(t,e){if(!e)return u(l(h(t,0)),t);for(var r=new Array(e),n=0;n<e;++n)r[n]=[];n=0;for(var a=t.length;n<a;++n)for(var i=t[n],o=0,s=i.length;o<s;++o)r[i[o]].push(n);return r},r.explode=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0|a.length,o=1,l=1<<i;o<l;++o){for(var c=[],u=0;u<i;++u)o>>>u&1&&c.push(a[u]);e.push(c)}return s(e)},r.skeleton=h,r.boundary=function(t){for(var e=[],r=0,n=t.length;r<n;++r)for(var a=t[r],i=0,o=a.length;i<o;++i){for(var l=new Array(a.length-1),c=0,u=0;c<o;++c)c!==i&&(l[u++]=a[c]);e.push(l)}return s(e)},r.connectedComponents=function(t,e){return e?function(t,e){for(var r=new a(e),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var s=o+1;s<i.length;++s)r.link(i[o],i[s]);var l=[],c=r.ranks;for(n=0;n<c.length;++n)c[n]=-1;for(n=0;n<t.length;++n){var u=r.find(t[n][0]);c[u]<0?(c[u]=l.length,l.push([t[n].slice(0)])):l[c[u]].push(t[n].slice(0))}return l}(t,e):function(t){for(var e=l(s(h(t,0))),r=new a(e.length),n=0;n<t.length;++n)for(var i=t[n],o=0;o<i.length;++o)for(var u=c(e,[i[o]]),f=o+1;f<i.length;++f)r.link(u,c(e,[i[f]]));var p=[],d=r.ranks;for(n=0;n<d.length;++n)d[n]=-1;for(n=0;n<t.length;++n){var g=r.find(c(e,[t[n][0]]));d[g]<0?(d[g]=p.length,p.push([t[n].slice(0)])):p[d[g]].push(t[n].slice(0))}return p}(t)}},{"bit-twiddle":93,"union-find":544}],519:[function(t,e,r){arguments[4][93][0].apply(r,arguments)},{dup:93}],520:[function(t,e,r){arguments[4][518][0].apply(r,arguments)},{"bit-twiddle":519,dup:518,"union-find":521}],521:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n,n.prototype.length=function(){return this.roots.length},n.prototype.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},n.prototype.find=function(t){for(var e=this.roots;e[t]!==t;){var r=e[t];e[t]=e[r],t=r}return t},n.prototype.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],522:[function(t,e,r){"use strict";e.exports=function(t,e,r){for(var i=e.length,o=t.length,s=new Array(i),l=new Array(i),c=new Array(i),u=new Array(i),h=0;h<i;++h)s[h]=l[h]=-1,c[h]=1/0,u[h]=!1;for(var h=0;h<o;++h){var f=t[h];if(2!==f.length)throw new Error("Input must be a graph");var p=f[1],d=f[0];-1!==l[d]?l[d]=-2:l[d]=p,-1!==s[p]?s[p]=-2:s[p]=d}function g(t){if(u[t])return 1/0;var r,a,i,o,c,h=s[t],f=l[t];return h<0||f<0?1/0:(r=e[t],a=e[h],i=e[f],o=Math.abs(n(r,a,i)),c=Math.sqrt(Math.pow(a[0]-i[0],2)+Math.pow(a[1]-i[1],2)),o/c)}function v(t,e){var r=T[t],n=T[e];T[t]=n,T[e]=r,A[r]=e,A[n]=t}function m(t){return c[T[t]]}function y(t){return 1&t?t-1>>1:(t>>1)-1}function x(t){for(var e=m(t);;){var r=e,n=2*t+1,a=2*(t+1),i=t;if(n<S){var o=m(n);o<r&&(i=n,r=o)}if(a<S){var s=m(a);s<r&&(i=a)}if(i===t)return t;v(t,i),t=i}}function b(t){for(var e=m(t);t>0;){var r=y(t);if(r>=0){var n=m(r);if(e<n){v(t,r),t=r;continue}}return t}}function _(){if(S>0){var t=T[0];return v(0,S-1),S-=1,x(0),t}return-1}function w(t,e){var r=T[t];return c[r]===e?t:(c[r]=-1/0,b(t),_(),c[r]=e,b((S+=1)-1))}function k(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],g(e)),A[r]>=0&&w(A[r],g(r))}}for(var T=[],A=new Array(i),h=0;h<i;++h){var M=c[h]=g(h);M<1/0?(A[h]=T.length,T.push(h)):A[h]=-1}for(var S=T.length,h=S>>1;h>=0;--h)x(h);for(;;){var E=_();if(E<0||c[E]>r)break;k(E)}for(var L=[],h=0;h<i;++h)u[h]||(A[h]=L.length,L.push(e[h].slice()));L.length;function C(t,e){if(t[e]<0)return e;var r=e,n=e;do{var a=t[n];if(!u[n]||a<0||a===n)break;if(a=t[n=a],!u[n]||a<0||a===n)break;n=a,r=t[r]}while(r!==n);for(var i=e;i!==n;i=t[i])t[i]=n;return n}var P=[];return t.forEach(function(t){var e=C(s,t[0]),r=C(l,t[1]);if(e>=0&&r>=0&&e!==r){var n=A[e],a=A[r];n!==a&&P.push([n,a])}}),a.unique(a.normalize(P)),{positions:L,edges:P}};var n=t("robust-orientation"),a=t("simplicial-complex")},{"robust-orientation":508,"simplicial-complex":520}],523:[function(t,e,r){"use strict";e.exports=function(t,e){var r,i,o,s;if(e[0][0]<e[1][0])r=e[0],i=e[1];else{if(!(e[0][0]>e[1][0]))return a(e,t);r=e[1],i=e[0]}if(t[0][0]<t[1][0])o=t[0],s=t[1];else{if(!(t[0][0]>t[1][0]))return-a(t,e);o=t[1],s=t[0]}var l=n(r,i,s),c=n(r,i,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,i),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return i[0]-s[0]};var n=t("robust-orientation");function a(t,e){var r,a,i,o;if(e[0][0]<e[1][0])r=e[0],a=e[1];else{if(!(e[0][0]>e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return l<c?l-c:s>u?s-u:l-u}r=e[1],a=e[0]}t[0][1]<t[1][1]?(i=t[0],o=t[1]):(i=t[1],o=t[0]);var h=n(a,r,i);return h||((h=n(a,r,o))||o-a)}},{"robust-orientation":508}],524:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=2*e,n=new Array(r),i=0;i<e;++i){var l=t[i],c=l[0][0]<l[1][0];n[2*i]=new h(l[0][0],l,c,i),n[2*i+1]=new h(l[1][0],l,!c,i)}n.sort(function(t,e){var r=t.x-e.x;return r||((r=t.create-e.create)||Math.min(t.segment[0][1],t.segment[1][1])-Math.min(e.segment[0][1],e.segment[1][1]))});for(var f=a(o),p=[],d=[],g=[],i=0;i<r;){for(var v=n[i].x,m=[];i<r;){var y=n[i];if(y.x!==v)break;i+=1,y.segment[0][0]===y.x&&y.segment[1][0]===y.x?y.create&&(y.segment[0][1]<y.segment[1][1]?(m.push(new u(y.segment[0][1],y.index,!0,!0)),m.push(new u(y.segment[1][1],y.index,!1,!1))):(m.push(new u(y.segment[1][1],y.index,!0,!1)),m.push(new u(y.segment[0][1],y.index,!1,!0)))):f=y.create?f.insert(y.segment,y.index):f.remove(y.segment)}p.push(f.root),d.push(v),g.push(m)}return new s(p,d,g)};var n=t("binary-search-bounds"),a=t("functional-red-black-tree"),i=t("robust-orientation"),o=t("./lib/order-segments");function s(t,e,r){this.slabs=t,this.coordinates=e,this.horizontal=r}function l(t,e){return t.y-e}function c(t,e){for(var r=null;t;){var n,a,o=t.key;o[0][0]<o[1][0]?(n=o[0],a=o[1]):(n=o[1],a=o[0]);var s=i(n,a,e);if(s<0)t=t.left;else if(s>0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),a=-1;if(r&&(a=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,a=u.value):(a=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f<h.length){var p=h[f];if(t[1]===p.y){if(p.closed)return p.index;for(;f<h.length-1&&h[f+1].y===t[1];)if((p=h[f+=1]).closed)return p.index;if(p.y===t[1]&&!p.start){if((f+=1)>=h.length)return a;p=h[f]}}if(p.start)if(s){var d=i(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(a=p.index)}else a=p.index;else p.y!==t[1]&&(a=p.index)}}}return a}},{"./lib/order-segments":523,"binary-search-bounds":92,"functional-red-black-tree":232,"robust-orientation":508}],525:[function(t,e,r){"use strict";var n=t("robust-dot-product"),a=t("robust-sum");function i(t,e){var r=a(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var a=-e/(n-e);a<0?a=0:a>1&&(a=1);for(var i=1-a,o=t.length,s=new Array(o),l=0;l<o;++l)s[l]=a*t[l]+i*r[l];return s}e.exports=function(t,e){for(var r=[],n=[],a=i(t[t.length-1],e),s=t[t.length-1],l=t[0],c=0;c<t.length;++c,s=l){var u=i(l=t[c],e);if(a<0&&u>0||a>0&&u<0){var h=o(s,u,l,a);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),a=u}return{positive:r,negative:n}},e.exports.positive=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},e.exports.negative=function(t,e){for(var r=[],n=i(t[t.length-1],e),a=t[t.length-1],s=t[0],l=0;l<t.length;++l,a=s){var c=i(s=t[l],e);(n<0&&c>0||n>0&&c<0)&&r.push(o(a,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},{"robust-dot-product":505,"robust-sum":513}],526:[function(t,e,r){!function(){"use strict";var t={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function e(r){return function(r,n){var a,i,o,s,l,c,u,h,f,p=1,d=r.length,g="";for(i=0;i<d;i++)if("string"==typeof r[i])g+=r[i];else if("object"==typeof r[i]){if((s=r[i]).keys)for(a=n[p],o=0;o<s.keys.length;o++){if(null==a)throw new Error(e('[sprintf] Cannot access property "%s" of undefined value "%s"',s.keys[o],s.keys[o-1]));a=a[s.keys[o]]}else a=s.param_no?n[s.param_no]:n[p++];if(t.not_type.test(s.type)&&t.not_primitive.test(s.type)&&a instanceof Function&&(a=a()),t.numeric_arg.test(s.type)&&"number"!=typeof a&&isNaN(a))throw new TypeError(e("[sprintf] expecting number but found %T",a));switch(t.number.test(s.type)&&(h=a>=0),s.type){case"b":a=parseInt(a,10).toString(2);break;case"c":a=String.fromCharCode(parseInt(a,10));break;case"d":case"i":a=parseInt(a,10);break;case"j":a=JSON.stringify(a,null,s.width?parseInt(s.width):0);break;case"e":a=s.precision?parseFloat(a).toExponential(s.precision):parseFloat(a).toExponential();break;case"f":a=s.precision?parseFloat(a).toFixed(s.precision):parseFloat(a);break;case"g":a=s.precision?String(Number(a.toPrecision(s.precision))):parseFloat(a);break;case"o":a=(parseInt(a,10)>>>0).toString(8);break;case"s":a=String(a),a=s.precision?a.substring(0,s.precision):a;break;case"t":a=String(!!a),a=s.precision?a.substring(0,s.precision):a;break;case"T":a=Object.prototype.toString.call(a).slice(8,-1).toLowerCase(),a=s.precision?a.substring(0,s.precision):a;break;case"u":a=parseInt(a,10)>>>0;break;case"v":a=a.valueOf(),a=s.precision?a.substring(0,s.precision):a;break;case"x":a=(parseInt(a,10)>>>0).toString(16);break;case"X":a=(parseInt(a,10)>>>0).toString(16).toUpperCase()}t.json.test(s.type)?g+=a:(!t.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",a=a.toString().replace(t.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+a).length,l=s.width&&u>0?c.repeat(u):"",g+=s.align?f+a+l:"0"===c?f+l+a:l+f+a)}return g}(function(e){if(a[e])return a[e];var r,n=e,i=[],o=0;for(;n;){if(null!==(r=t.text.exec(n)))i.push(r[0]);else if(null!==(r=t.modulo.exec(n)))i.push("%");else{if(null===(r=t.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(r[2]){o|=1;var s=[],l=r[2],c=[];if(null===(c=t.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=t.key_access.exec(l)))s.push(c[1]);else{if(null===(c=t.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(c[1])}r[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");i.push({placeholder:r[0],param_no:r[1],keys:r[2],sign:r[3],pad_char:r[4],align:r[5],width:r[6],precision:r[7],type:r[8]})}n=n.substring(r[0].length)}return a[e]=i}(r),arguments)}function n(t,r){return e.apply(null,[t].concat(r||[]))}var a=Object.create(null);"undefined"!=typeof r&&(r.sprintf=e,r.vsprintf=n),"undefined"!=typeof window&&(window.sprintf=e,window.vsprintf=n)}()},{}],527:[function(t,e,r){"use strict";var n=t("parenthesis");e.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","\u201c\u201d","\xab\xbb"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map(function(t){return 1===t.length&&(t+=t),t}));var a=n.parse(t,{flat:!0,brackets:r.ignore}),i=a[0].split(e);if(r.escape){for(var o=[],s=0;s<i.length;s++){var l=i[s],c=i[s+1];"\\"===l[l.length-1]&&"\\"!==l[l.length-2]?(o.push(l+e+c),s++):o.push(l)}i=o}for(s=0;s<i.length;s++)a[0]=i[s],i[s]=n.stringify(a,{flat:!0});return i}},{parenthesis:459}],528:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.length,r=new Array(e),n=new Array(e),a=new Array(e),i=new Array(e),o=new Array(e),s=new Array(e),l=0;l<e;++l)r[l]=-1,n[l]=0,a[l]=!1,i[l]=0,o[l]=-1,s[l]=[];var c,u=0,h=[],f=[];function p(e){var l=[e],c=[e];for(r[e]=n[e]=u,a[e]=!0,u+=1;c.length>0;){e=c[c.length-1];var p=t[e];if(i[e]<p.length){for(var d=i[e];d<p.length;++d){var g=p[d];if(r[g]<0){r[g]=n[g]=u,a[g]=!0,u+=1,l.push(g),c.push(g);break}a[g]&&(n[e]=0|Math.min(n[e],n[g])),o[g]>=0&&s[e].push(o[g])}i[e]=d}else{if(n[e]===r[e]){for(var v=[],m=[],y=0,d=l.length-1;d>=0;--d){var x=l[d];if(a[x]=!1,v.push(x),m.push(s[x]),y+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(v);for(var b=new Array(y),d=0;d<m.length;d++)for(var _=0;_<m[d].length;_++)b[--y]=m[d][_];f.push(b)}c.pop()}}}for(var l=0;l<e;++l)r[l]<0&&p(l);for(var l=0;l<f.length;l++){var d=f[l];if(0!==d.length){d.sort(function(t,e){return t-e}),c=[d[0]];for(var g=1;g<d.length;g++)d[g]!==d[g-1]&&c.push(d[g]);f[l]=c}}return{components:h,adjacencyList:f}}},{}],529:[function(t,e,r){"use strict";e.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;s<n;++s)a[s]=[r[s]],o[s]=[s];return{positions:a,cells:o}}(t,e);var r=t.order.join()+"-"+t.dtype,s=o[r],e=+e||0;s||(s=o[r]=function(t,e){var r=t.length,i=["'use strict';"],o="surfaceNets"+t.join("_")+"d"+e;i.push("var contour=genContour({","order:[",t.join(),"],","scalarArguments: 3,","phase:function phaseFunc(p,a,b,c) { return (p > c)|0 },"),"generic"===e&&i.push("getters:[0],");for(var s=[],l=[],c=0;c<r;++c)s.push("d"+c),l.push("d"+c);for(var c=0;c<1<<r;++c)s.push("v"+c),l.push("v"+c);for(var c=0;c<1<<r;++c)s.push("p"+c),l.push("p"+c);s.push("a","b","c"),l.push("a","c"),i.push("vertex:function vertexFunc(",s.join(),"){");for(var u=[],c=0;c<1<<r;++c)u.push("(p"+c+"<<"+c+")");i.push("var m=(",u.join("+"),")|0;if(m===0||m===",(1<<(1<<r))-1,"){return}");var h=[],f=[];1<<(1<<r)<=128?(i.push("switch(m){"),f=i):i.push("switch(m>>>7){");for(var c=0;c<1<<(1<<r);++c){if(1<<(1<<r)>128&&c%128==0){h.length>0&&f.push("}}");var p="vExtra"+h.length;i.push("case ",c>>>7,":",p,"(m&0x7f,",l.join(),");break;"),f=["function ",p,"(m,",l.join(),"){switch(m){"],h.push(f)}f.push("case ",127&c,":");for(var d=new Array(r),g=new Array(r),v=new Array(r),m=new Array(r),y=0,x=0;x<r;++x)d[x]=[],g[x]=[],v[x]=0,m[x]=0;for(var x=0;x<1<<r;++x)for(var b=0;b<r;++b){var _=x^1<<b;if(!(_>x)&&!(c&1<<_)!=!(c&1<<x)){var w=1;c&1<<_?g[b].push("v"+_+"-v"+x):(g[b].push("v"+x+"-v"+_),w=-w),w<0?(d[b].push("-v"+x+"-v"+_),v[b]+=2):(d[b].push("v"+x+"+v"+_),v[b]-=2),y+=1;for(var k=0;k<r;++k)k!==b&&(_&1<<k?m[k]+=1:m[k]-=1)}}for(var T=[],b=0;b<r;++b)if(0===d[b].length)T.push("d"+b+"-0.5");else{var A="";v[b]<0?A=v[b]+"*c":v[b]>0&&(A="+"+v[b]+"*c");var M=d[b].length/y*.5,S=.5+m[b]/y*.5;T.push("d"+b+"-"+S+"-"+M+"*("+d[b].join("+")+A+")/("+g[b].join("+")+")")}f.push("a.push([",T.join(),"]);","break;")}i.push("}},"),h.length>0&&f.push("}}");for(var E=[],c=0;c<1<<r-1;++c)E.push("v"+c);E.push("c0","c1","p0","p1","a","b","c"),i.push("cell:function cellFunc(",E.join(),"){");var L=a(r-1);i.push("if(p0){b.push(",L.map(function(t){return"["+t.map(function(t){return"v"+t})+"]"}).join(),")}else{b.push(",L.map(function(t){var e=t.slice();return e.reverse(),"["+e.map(function(t){return"v"+t})+"]"}).join(),")}}});function ",o,"(array,level){var verts=[],cells=[];contour(array,verts,cells,level);return {positions:verts,cells:cells};} return ",o,";");for(var c=0;c<h.length;++c)i.push(h[c].join(""));return new Function("genContour",i.join(""))(n)}(t.order,t.dtype));return s(t,e)};var n=t("ndarray-extract-contour"),a=t("triangulate-hypercube"),i=t("zero-crossings");var o={}},{"ndarray-extract-contour":440,"triangulate-hypercube":539,"zero-crossings":572}],530:[function(t,e,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n=function(){return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){a=!0,i=t}finally{try{!n&&s.return&&s.return()}finally{if(a)throw i}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=2*Math.PI,i=function(t,e,r,n,a,i,o){var s=t.x,l=t.y;return{x:n*(s*=e)-a*(l*=r)+i,y:a*s+n*l+o}},o=function(t,e){var r=.551915024494*(e<0?-1:1),n=Math.cos(t),a=Math.sin(t),i=Math.cos(t+e),o=Math.sin(t+e);return[{x:n-a*r,y:a+n*r},{x:i+o*r,y:o-i*r},{x:i,y:o}]},s=function(t,e,r,n){var a=t*n-e*r<0?-1:1,i=(t*r+e*n)/(Math.sqrt(t*t+e*e)*Math.sqrt(t*t+e*e));return i>1&&(i=1),i<-1&&(i=-1),a*Math.acos(i)};r.default=function(t){var e=t.px,r=t.py,l=t.cx,c=t.cy,u=t.rx,h=t.ry,f=t.xAxisRotation,p=void 0===f?0:f,d=t.largeArcFlag,g=void 0===d?0:d,v=t.sweepFlag,m=void 0===v?0:v,y=[];if(0===u||0===h)return[];var x=Math.sin(p*a/360),b=Math.cos(p*a/360),_=b*(e-l)/2+x*(r-c)/2,w=-x*(e-l)/2+b*(r-c)/2;if(0===_&&0===w)return[];u=Math.abs(u),h=Math.abs(h);var k=Math.pow(_,2)/Math.pow(u,2)+Math.pow(w,2)/Math.pow(h,2);k>1&&(u*=Math.sqrt(k),h*=Math.sqrt(k));var T=function(t,e,r,n,i,o,l,c,u,h,f,p){var d=Math.pow(i,2),g=Math.pow(o,2),v=Math.pow(f,2),m=Math.pow(p,2),y=d*g-d*m-g*v;y<0&&(y=0),y/=d*m+g*v;var x=(y=Math.sqrt(y)*(l===c?-1:1))*i/o*p,b=y*-o/i*f,_=h*x-u*b+(t+r)/2,w=u*x+h*b+(e+n)/2,k=(f-x)/i,T=(p-b)/o,A=(-f-x)/i,M=(-p-b)/o,S=s(1,0,k,T),E=s(k,T,A,M);return 0===c&&E>0&&(E-=a),1===c&&E<0&&(E+=a),[_,w,S,E]}(e,r,l,c,u,h,g,m,x,b,_,w),A=n(T,4),M=A[0],S=A[1],E=A[2],L=A[3],C=Math.abs(L)/(a/4);Math.abs(1-C)<1e-7&&(C=1);var P=Math.max(Math.ceil(C),1);L/=P;for(var O=0;O<P;O++)y.push(o(E,L)),E+=L;return y.map(function(t){var e=i(t[0],u,h,b,x,M,S),r=e.x,n=e.y,a=i(t[1],u,h,b,x,M,S),o=a.x,s=a.y,l=i(t[2],u,h,b,x,M,S);return{x1:r,y1:n,x2:o,y2:s,x:l.x,y:l.y}})},e.exports=r.default},{}],531:[function(t,e,r){"use strict";var n=t("parse-svg-path"),a=t("abs-svg-path"),i=t("normalize-svg-path"),o=t("is-svg-path"),s=t("assert");e.exports=function(t){Array.isArray(t)&&1===t.length&&"string"==typeof t[0]&&(t=t[0]);"string"==typeof t&&(s(o(t),"String is not an SVG path."),t=n(t));if(s(Array.isArray(t),"Argument should be a string or an array of path segments."),t=a(t),!(t=i(t)).length)return[0,0,0,0];for(var e=[1/0,1/0,-1/0,-1/0],r=0,l=t.length;r<l;r++)for(var c=t[r].slice(1),u=0;u<c.length;u+=2)c[u+0]<e[0]&&(e[0]=c[u+0]),c[u+1]<e[1]&&(e[1]=c[u+1]),c[u+0]>e[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},{"abs-svg-path":62,assert:69,"is-svg-path":425,"normalize-svg-path":532,"parse-svg-path":461}],532:[function(t,e,r){"use strict";e.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,g=t.length;d<g;d++){var v=t[d],m=v[0];switch(m){case"M":l=v[1],c=v[2];break;case"A":var y=n({px:f,py:p,cx:v[6],cy:v[7],rx:v[1],ry:v[2],xAxisRotation:v[3],largeArcFlag:v[4],sweepFlag:v[5]});if(!y.length)continue;for(var x,b=0;b<y.length;b++)x=y[b],v=["C",x.x1,x.y1,x.x2,x.y2,x.x,x.y],b<y.length-1&&r.push(v);break;case"S":var _=f,w=p;"C"!=e&&"S"!=e||(_+=_-o,w+=w-s),v=["C",_,w,v[1],v[2],v[3],v[4]];break;case"T":"Q"==e||"T"==e?(u=2*f-u,h=2*p-h):(u=f,h=p),v=i(f,p,u,h,v[1],v[2]);break;case"Q":u=v[1],h=v[2],v=i(f,p,v[1],v[2],v[3],v[4]);break;case"L":v=a(f,p,v[1],v[2]);break;case"H":v=a(f,p,v[1],p);break;case"V":v=a(f,p,f,v[1]);break;case"Z":v=a(f,p,l,c)}e=m,f=v[v.length-2],p=v[v.length-1],v.length>4?(o=v[v.length-4],s=v[v.length-3]):(o=f,s=p),r.push(v)}return r};var n=t("svg-arc-to-cubic-bezier");function a(t,e,r,n){return["C",t,e,r,n,r,n]}function i(t,e,r,n,a,i){return["C",t/3+2/3*r,e/3+2/3*n,a/3+2/3*r,i/3+2/3*n,a,i]}},{"svg-arc-to-cubic-bezier":530}],533:[function(t,e,r){"use strict";var n,a=t("svg-path-bounds"),i=t("parse-svg-path"),o=t("draw-svg-path"),s=t("is-svg-path"),l=t("bitmap-sdf"),c=document.createElement("canvas"),u=c.getContext("2d");e.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");e||(e={});var r,h;e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||a(t),g=[r/(d[2]-d[0]),h/(d[3]-d[1])],v=Math.min(g[0]||0,g[1]||0)/2;u.fillStyle="black",u.fillRect(0,0,r,h),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p));if(u.translate(.5*r,.5*h),u.scale(v,v),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var m=new Path2D(t);u.fill(m),p&&u.stroke(m)}else{var y=i(t);o(u,y),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},{"bitmap-sdf":94,"draw-svg-path":169,"is-svg-path":425,"parse-svg-path":461,"svg-path-bounds":531}],534:[function(t,e,r){(function(r){"use strict";e.exports=function t(e,r,a){var a=a||{};var o=i[e];o||(o=i[e]={" ":{data:new Float32Array(0),shape:.2}});var s=o[r];if(!s)if(r.length<=1||!/\d/.test(r))s=o[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),a=0,i=0,o=0;o<e.length;++o)for(var s=e[o],l=0;l<3;++l){var c=r[s[l]];n[a++]=c[0],n[a++]=c[1]+1.4,i=Math.max(c[0],i)}return{data:n,shape:i}}(n(r,{triangles:!0,font:e,textAlign:a.textAlign||"left",textBaseline:"alphabetic",styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0}}));else{for(var l=r.split(/(\d|\s)/),c=new Array(l.length),u=0,h=0,f=0;f<l.length;++f)c[f]=t(e,l[f]),u+=c[f].data.length,h+=c[f].shape,f>0&&(h+=.02);for(var p=new Float32Array(u),d=0,g=-.5*h,f=0;f<c.length;++f){for(var v=c[f].data,m=0;m<v.length;m+=2)p[d++]=v[m]+g,p[d++]=v[m+1];g+=c[f].shape+.02}s=o[r]={data:p,shape:h}}return s};var n=t("vectorize-text"),a=window||r.global||{},i=a.__TEXT_CACHE||{};a.__TEXT_CACHE={}}).call(this,t("_process"))},{_process:483,"vectorize-text":548}],535:[function(t,e,r){!function(t){var r=/^\s+/,n=/\s+$/,a=0,i=t.round,o=t.min,s=t.max,l=t.random;function c(e,l){if(l=l||{},(e=e||"")instanceof c)return e;if(!(this instanceof c))return new c(e,l);var u=function(e){var a={r:0,g:0,b:0},i=1,l=null,c=null,u=null,h=!1,f=!1;"string"==typeof e&&(e=function(t){t=t.replace(r,"").replace(n,"").toLowerCase();var e,a=!1;if(S[t])t=S[t],a=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};if(e=j.rgb.exec(t))return{r:e[1],g:e[2],b:e[3]};if(e=j.rgba.exec(t))return{r:e[1],g:e[2],b:e[3],a:e[4]};if(e=j.hsl.exec(t))return{h:e[1],s:e[2],l:e[3]};if(e=j.hsla.exec(t))return{h:e[1],s:e[2],l:e[3],a:e[4]};if(e=j.hsv.exec(t))return{h:e[1],s:e[2],v:e[3]};if(e=j.hsva.exec(t))return{h:e[1],s:e[2],v:e[3],a:e[4]};if(e=j.hex8.exec(t))return{r:O(e[1]),g:O(e[2]),b:O(e[3]),a:R(e[4]),format:a?"name":"hex8"};if(e=j.hex6.exec(t))return{r:O(e[1]),g:O(e[2]),b:O(e[3]),format:a?"name":"hex"};if(e=j.hex4.exec(t))return{r:O(e[1]+""+e[1]),g:O(e[2]+""+e[2]),b:O(e[3]+""+e[3]),a:R(e[4]+""+e[4]),format:a?"name":"hex8"};if(e=j.hex3.exec(t))return{r:O(e[1]+""+e[1]),g:O(e[2]+""+e[2]),b:O(e[3]+""+e[3]),format:a?"name":"hex"};return!1}(e));"object"==typeof e&&(V(e.r)&&V(e.g)&&V(e.b)?(p=e.r,d=e.g,g=e.b,a={r:255*C(p,255),g:255*C(d,255),b:255*C(g,255)},h=!0,f="%"===String(e.r).substr(-1)?"prgb":"rgb"):V(e.h)&&V(e.s)&&V(e.v)?(l=I(e.s),c=I(e.v),a=function(e,r,n){e=6*C(e,360),r=C(r,100),n=C(n,100);var a=t.floor(e),i=e-a,o=n*(1-r),s=n*(1-i*r),l=n*(1-(1-i)*r),c=a%6;return{r:255*[n,s,o,o,l,n][c],g:255*[l,n,n,s,o,o][c],b:255*[o,o,l,n,n,s][c]}}(e.h,l,c),h=!0,f="hsv"):V(e.h)&&V(e.s)&&V(e.l)&&(l=I(e.s),u=I(e.l),a=function(t,e,r){var n,a,i;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=C(t,360),e=C(e,100),r=C(r,100),0===e)n=a=i=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),a=o(l,s,t),i=o(l,s,t-1/3)}return{r:255*n,g:255*a,b:255*i}}(e.h,l,u),h=!0,f="hsl"),e.hasOwnProperty("a")&&(i=e.a));var p,d,g;return i=L(i),{ok:h,format:e.format||f,r:o(255,s(a.r,0)),g:o(255,s(a.g,0)),b:o(255,s(a.b,0)),a:i}}(e);this._originalInput=e,this._r=u.r,this._g=u.g,this._b=u.b,this._a=u.a,this._roundA=i(100*this._a)/100,this._format=l.format||u.format,this._gradientType=l.gradientType,this._r<1&&(this._r=i(this._r)),this._g<1&&(this._g=i(this._g)),this._b<1&&(this._b=i(this._b)),this._ok=u.ok,this._tc_id=a++}function u(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=(i+l)/2;if(i==l)n=a=0;else{var u=i-l;switch(a=c>.5?u/(2-i-l):u/(i+l),i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,l:c}}function h(t,e,r){t=C(t,255),e=C(e,255),r=C(r,255);var n,a,i=s(t,e,r),l=o(t,e,r),c=i,u=i-l;if(a=0===i?0:u/i,i==l)n=0;else{switch(i){case t:n=(e-r)/u+(e<r?6:0);break;case e:n=(r-t)/u+2;break;case r:n=(t-e)/u+4}n/=6}return{h:n,s:a,v:c}}function f(t,e,r,n){var a=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))];return n&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function p(t,e,r,n){return[z(D(n)),z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16))].join("")}function d(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s-=e/100,r.s=P(r.s),c(r)}function g(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.s+=e/100,r.s=P(r.s),c(r)}function v(t){return c(t).desaturate(100)}function m(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l+=e/100,r.l=P(r.l),c(r)}function y(t,e){e=0===e?0:e||10;var r=c(t).toRgb();return r.r=s(0,o(255,r.r-i(-e/100*255))),r.g=s(0,o(255,r.g-i(-e/100*255))),r.b=s(0,o(255,r.b-i(-e/100*255))),c(r)}function x(t,e){e=0===e?0:e||10;var r=c(t).toHsl();return r.l-=e/100,r.l=P(r.l),c(r)}function b(t,e){var r=c(t).toHsl(),n=(r.h+e)%360;return r.h=n<0?360+n:n,c(r)}function _(t){var e=c(t).toHsl();return e.h=(e.h+180)%360,c(e)}function w(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+120)%360,s:e.s,l:e.l}),c({h:(r+240)%360,s:e.s,l:e.l})]}function k(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+90)%360,s:e.s,l:e.l}),c({h:(r+180)%360,s:e.s,l:e.l}),c({h:(r+270)%360,s:e.s,l:e.l})]}function T(t){var e=c(t).toHsl(),r=e.h;return[c(t),c({h:(r+72)%360,s:e.s,l:e.l}),c({h:(r+216)%360,s:e.s,l:e.l})]}function A(t,e,r){e=e||6,r=r||30;var n=c(t).toHsl(),a=360/r,i=[c(t)];for(n.h=(n.h-(a*e>>1)+720)%360;--e;)n.h=(n.h+a)%360,i.push(c(n));return i}function M(t,e){e=e||6;for(var r=c(t).toHsv(),n=r.h,a=r.s,i=r.v,o=[],s=1/e;e--;)o.push(c({h:n,s:a,v:i})),i=(i+s)%1;return o}c.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var e,r,n,a=this.toRgb();return e=a.r/255,r=a.g/255,n=a.b/255,.2126*(e<=.03928?e/12.92:t.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:t.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:t.pow((n+.055)/1.055,2.4))},setAlpha:function(t){return this._a=L(t),this._roundA=i(100*this._a)/100,this},toHsv:function(){var t=h(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=h(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=u(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=u(this._r,this._g,this._b),e=i(360*t.h),r=i(100*t.s),n=i(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return f(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,a){var o=[z(i(t).toString(16)),z(i(e).toString(16)),z(i(r).toString(16)),z(D(n))];if(a&&o[0].charAt(0)==o[0].charAt(1)&&o[1].charAt(0)==o[1].charAt(1)&&o[2].charAt(0)==o[2].charAt(1)&&o[3].charAt(0)==o[3].charAt(1))return o[0].charAt(0)+o[1].charAt(0)+o[2].charAt(0)+o[3].charAt(0);return o.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:i(this._r),g:i(this._g),b:i(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+i(this._r)+", "+i(this._g)+", "+i(this._b)+")":"rgba("+i(this._r)+", "+i(this._g)+", "+i(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:i(100*C(this._r,255))+"%",g:i(100*C(this._g,255))+"%",b:i(100*C(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%)":"rgba("+i(100*C(this._r,255))+"%, "+i(100*C(this._g,255))+"%, "+i(100*C(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(E[f(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+p(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var a=c(t);r="#"+p(a._r,a._g,a._b,a._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return c(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(m,arguments)},brighten:function(){return this._applyModification(y,arguments)},darken:function(){return this._applyModification(x,arguments)},desaturate:function(){return this._applyModification(d,arguments)},saturate:function(){return this._applyModification(g,arguments)},greyscale:function(){return this._applyModification(v,arguments)},spin:function(){return this._applyModification(b,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(A,arguments)},complement:function(){return this._applyCombination(_,arguments)},monochromatic:function(){return this._applyCombination(M,arguments)},splitcomplement:function(){return this._applyCombination(T,arguments)},triad:function(){return this._applyCombination(w,arguments)},tetrad:function(){return this._applyCombination(k,arguments)}},c.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:I(t[n]));t=r}return c(t,e)},c.equals=function(t,e){return!(!t||!e)&&c(t).toRgbString()==c(e).toRgbString()},c.random=function(){return c.fromRatio({r:l(),g:l(),b:l()})},c.mix=function(t,e,r){r=0===r?0:r||50;var n=c(t).toRgb(),a=c(e).toRgb(),i=r/100;return c({r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a})},c.readability=function(e,r){var n=c(e),a=c(r);return(t.max(n.getLuminance(),a.getLuminance())+.05)/(t.min(n.getLuminance(),a.getLuminance())+.05)},c.isReadable=function(t,e,r){var n,a,i=c.readability(t,e);switch(a=!1,(n=function(t){var e,r;e=((t=t||{level:"AA",size:"small"}).level||"AA").toUpperCase(),r=(t.size||"small").toLowerCase(),"AA"!==e&&"AAA"!==e&&(e="AA");"small"!==r&&"large"!==r&&(r="small");return{level:e,size:r}}(r)).level+n.size){case"AAsmall":case"AAAlarge":a=i>=4.5;break;case"AAlarge":a=i>=3;break;case"AAAsmall":a=i>=7}return a},c.mostReadable=function(t,e,r){var n,a,i,o,s=null,l=0;a=(r=r||{}).includeFallbackColors,i=r.level,o=r.size;for(var u=0;u<e.length;u++)(n=c.readability(t,e[u]))>l&&(l=n,s=c(e[u]));return c.isReadable(t,s,{level:i,size:o})||!a?s:(r.includeFallbackColors=!1,c.mostReadable(t,["#fff","#000"],r))};var S=c.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},E=c.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(S);function L(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function C(e,r){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(e)&&(e="100%");var n=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(e);return e=o(r,s(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),t.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function P(t){return o(1,s(0,t))}function O(t){return parseInt(t,16)}function z(t){return 1==t.length?"0"+t:""+t}function I(t){return t<=1&&(t=100*t+"%"),t}function D(e){return t.round(255*parseFloat(e)).toString(16)}function R(t){return O(t)/255}var F,B,N,j=(B="[\\s|\\(]+("+(F="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",N="[\\s|\\(]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")[,|\\s]+("+F+")\\s*\\)?",{CSS_UNIT:new RegExp(F),rgb:new RegExp("rgb"+B),rgba:new RegExp("rgba"+N),hsl:new RegExp("hsl"+B),hsla:new RegExp("hsla"+N),hsv:new RegExp("hsv"+B),hsva:new RegExp("hsva"+N),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function V(t){return!!j.CSS_UNIT.exec(t)}"undefined"!=typeof e&&e.exports?e.exports=c:window.tinycolor=c}(Math)},{}],536:[function(t,e,r){"use strict";e.exports=a,e.exports.float32=e.exports.float=a,e.exports.fract32=e.exports.fract=function(t){if(t.length){for(var e=a(t),r=0,n=e.length;r<n;r++)e[r]=t[r]-e[r];return e}return a(t-a(t))};var n=new Float32Array(1);function a(t){if(t.length){if(t instanceof Float32Array)return t;var e=new Float32Array(t);return e.set(t),e}return n[0]=t,n[0]}},{}],537:[function(t,e,r){"use strict";var n=t("parse-unit");e.exports=o;var a=96;function i(t,e){var r=n(getComputedStyle(t).getPropertyValue(e));return r[0]*o(r[1],t)}function o(t,e){switch(e=e||document.body,t=(t||"px").trim().toLowerCase(),e!==window&&e!==document||(e=document.body),t){case"%":return e.clientHeight/100;case"ch":case"ex":return function(t,e){var r=document.createElement("div");r.style["font-size"]="128"+t,e.appendChild(r);var n=i(r,"font-size")/128;return e.removeChild(r),n}(t,e);case"em":return i(e,"font-size");case"rem":return i(document.body,"font-size");case"vw":return window.innerWidth/100;case"vh":return window.innerHeight/100;case"vmin":return Math.min(window.innerWidth,window.innerHeight)/100;case"vmax":return Math.max(window.innerWidth,window.innerHeight)/100;case"in":return a;case"cm":return a/2.54;case"mm":return a/25.4;case"pt":return a/72;case"pc":return a/6}return 1}},{"parse-unit":462}],538:[function(t,e,r){var n;n=this,function(t){"use strict";var e=function(t){return t},r=function(t){if(null==(r=t.transform))return e;var r,n,a,i=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){return e||(n=a=0),t[0]=(n+=t[0])*i+s,t[1]=(a+=t[1])*o+l,t}},n=function(t){var e=t.bbox;function n(t){l[0]=t[0],l[1]=t[1],s(l),l[0]<c&&(c=l[0]),l[0]>h&&(h=l[0]),l[1]<u&&(u=l[1]),l[1]>f&&(f=l[1])}function a(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(a);break;case"Point":n(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(n)}}if(!e){var i,o,s=r(t),l=new Array(2),c=1/0,u=c,h=-c,f=-c;for(o in t.arcs.forEach(function(t){for(var e=-1,r=t.length;++e<r;)i=t[e],l[0]=i[0],l[1]=i[1],s(l,e),l[0]<c&&(c=l[0]),l[0]>h&&(h=l[0]),l[1]<u&&(u=l[1]),l[1]>f&&(f=l[1])}),t.objects)a(t.objects[o]);e=t.bbox=[c,u,h,f]}return e},a=function(t,e){for(var r,n=t.length,a=n-e;a<--n;)r=t[a],t[a++]=t[n],t[n]=r};function i(t,e){var r=e.id,n=e.bbox,a=null==e.properties?{}:e.properties,i=o(t,e);return null==r&&null==n?{type:"Feature",properties:a,geometry:i}:null==n?{type:"Feature",id:r,properties:a,geometry:i}:{type:"Feature",id:r,bbox:n,properties:a,geometry:i}}function o(t,e){var n=r(t),i=t.arcs;function o(t,e){e.length&&e.pop();for(var r=i[t<0?~t:t],o=0,s=r.length;o<s;++o)e.push(n(r[o].slice(),o));t<0&&a(e,s)}function s(t){return n(t.slice())}function l(t){for(var e=[],r=0,n=t.length;r<n;++r)o(t[r],e);return e.length<2&&e.push(e[0].slice()),e}function c(t){for(var e=l(t);e.length<4;)e.push(e[0].slice());return e}function u(t){return t.map(c)}return function t(e){var r,n=e.type;switch(n){case"GeometryCollection":return{type:n,geometries:e.geometries.map(t)};case"Point":r=s(e.coordinates);break;case"MultiPoint":r=e.coordinates.map(s);break;case"LineString":r=l(e.arcs);break;case"MultiLineString":r=e.arcs.map(l);break;case"Polygon":r=u(e.arcs);break;case"MultiPolygon":r=e.arcs.map(u);break;default:return null}return{type:n,coordinates:r}}(e)}var s=function(t,e){var r={},n={},a={},i=[],o=-1;function s(t,e){for(var n in t){var a=t[n];delete e[a.start],delete a.start,delete a.end,a.forEach(function(t){r[t<0?~t:t]=1}),i.push(a)}}return e.forEach(function(r,n){var a,i=t.arcs[r<0?~r:r];i.length<3&&!i[1][0]&&!i[1][1]&&(a=e[++o],e[o]=r,e[n]=a)}),e.forEach(function(e){var r,i,o=function(e){var r,n=t.arcs[e<0?~e:e],a=n[0];t.transform?(r=[0,0],n.forEach(function(t){r[0]+=t[0],r[1]+=t[1]})):r=n[n.length-1];return e<0?[r,a]:[a,r]}(e),s=o[0],l=o[1];if(r=a[s])if(delete a[r.end],r.push(e),r.end=l,i=n[l]){delete n[i.start];var c=i===r?r:r.concat(i);n[c.start=r.start]=a[c.end=i.end]=c}else n[r.start]=a[r.end]=r;else if(r=n[l])if(delete n[r.start],r.unshift(e),r.start=s,i=a[s]){delete a[i.end];var u=i===r?r:i.concat(r);n[u.start=i.start]=a[u.end=r.end]=u}else n[r.start]=a[r.end]=r;else n[(r=[e]).start=s]=a[r.end=l]=r}),s(a,n),s(n,a),e.forEach(function(t){r[t<0?~t:t]||i.push([t])}),i};function l(t,e,r){var n,a,i;if(arguments.length>1)n=function(t,e,r){var n,a=[],i=[];function o(t){var e=t<0?~t:t;(i[e]||(i[e]=[])).push({i:t,g:n})}function s(t){t.forEach(o)}function l(t){t.forEach(s)}return function t(e){switch(n=e,e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"LineString":s(e.arcs);break;case"MultiLineString":case"Polygon":l(e.arcs);break;case"MultiPolygon":e.arcs.forEach(l)}}(e),i.forEach(null==r?function(t){a.push(t[0].i)}:function(t){r(t[0].g,t[t.length-1].g)&&a.push(t[0].i)}),a}(0,e,r);else for(a=0,n=new Array(i=t.arcs.length);a<i;++a)n[a]=a;return{type:"MultiLineString",arcs:s(t,n)}}function c(t,e){var r={},n=[],a=[];function i(t){t.forEach(function(e){e.forEach(function(e){(r[e=e<0?~e:e]||(r[e]=[])).push(t)})}),n.push(t)}function l(e){return function(t){for(var e,r=-1,n=t.length,a=t[n-1],i=0;++r<n;)e=a,a=t[r],i+=e[0]*a[1]-e[1]*a[0];return Math.abs(i)}(o(t,{type:"Polygon",arcs:[e]}).coordinates[0])}return e.forEach(function t(e){switch(e.type){case"GeometryCollection":e.geometries.forEach(t);break;case"Polygon":i(e.arcs);break;case"MultiPolygon":e.arcs.forEach(i)}}),n.forEach(function(t){if(!t._){var e=[],n=[t];for(t._=1,a.push(e);t=n.pop();)e.push(t),t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].forEach(function(t){t._||(t._=1,n.push(t))})})})}}),n.forEach(function(t){delete t._}),{type:"MultiPolygon",arcs:a.map(function(e){var n,a=[];if(e.forEach(function(t){t.forEach(function(t){t.forEach(function(t){r[t<0?~t:t].length<2&&a.push(t)})})}),(n=(a=s(t,a)).length)>1)for(var i,o,c=1,u=l(a[0]);c<n;++c)(i=l(a[c]))>u&&(o=a[0],a[0]=a[c],a[c]=o,u=i);return a})}}var u=function(t,e){for(var r=0,n=t.length;r<n;){var a=r+n>>>1;t[a]<e?r=a+1:n=a}return r};t.bbox=n,t.feature=function(t,e){return"GeometryCollection"===e.type?{type:"FeatureCollection",features:e.geometries.map(function(e){return i(t,e)})}:i(t,e)},t.mesh=function(t){return o(t,l.apply(this,arguments))},t.meshArcs=l,t.merge=function(t){return o(t,c.apply(this,arguments))},t.mergeArcs=c,t.neighbors=function(t){var e={},r=t.map(function(){return[]});function n(t,r){t.forEach(function(t){t<0&&(t=~t);var n=e[t];n?n.push(r):e[t]=[r]})}function a(t,e){t.forEach(function(t){n(t,e)})}var i={LineString:n,MultiLineString:a,Polygon:a,MultiPolygon:function(t,e){t.forEach(function(t){a(t,e)})}};for(var o in t.forEach(function t(e,r){"GeometryCollection"===e.type?e.geometries.forEach(function(e){t(e,r)}):e.type in i&&i[e.type](e.arcs,r)}),e)for(var s=e[o],l=s.length,c=0;c<l;++c)for(var h=c+1;h<l;++h){var f,p=s[c],d=s[h];(f=r[p])[o=u(f,d)]!==d&&f.splice(o,0,d),(f=r[d])[o=u(f,p)]!==p&&f.splice(o,0,p)}return r},t.quantize=function(t,e){if(!((e=Math.floor(e))>=2))throw new Error("n must be \u22652");if(t.transform)throw new Error("already quantized");var r,a=n(t),i=a[0],o=(a[2]-i)/(e-1)||1,s=a[1],l=(a[3]-s)/(e-1)||1;function c(t){t[0]=Math.round((t[0]-i)/o),t[1]=Math.round((t[1]-s)/l)}function u(t){switch(t.type){case"GeometryCollection":t.geometries.forEach(u);break;case"Point":c(t.coordinates);break;case"MultiPoint":t.coordinates.forEach(c)}}for(r in t.arcs.forEach(function(t){for(var e,r,n,a=1,c=1,u=t.length,h=t[0],f=h[0]=Math.round((h[0]-i)/o),p=h[1]=Math.round((h[1]-s)/l);a<u;++a)h=t[a],r=Math.round((h[0]-i)/o),n=Math.round((h[1]-s)/l),r===f&&n===p||((e=t[c++])[0]=r-f,f=r,e[1]=n-p,p=n);c<2&&((e=t[c++])[0]=0,e[1]=0),t.length=c}),t.objects)u(t.objects[r]);return t.transform={scale:[o,l],translate:[i,s]},t},t.transform=r,t.untransform=function(t){if(null==(r=t.transform))return e;var r,n,a,i=r.scale[0],o=r.scale[1],s=r.translate[0],l=r.translate[1];return function(t,e){e||(n=a=0);var r=Math.round((t[0]-s)/i),c=Math.round((t[1]-l)/o);return t[0]=r-n,n=r,t[1]=c-a,a=c,t}},Object.defineProperty(t,"__esModule",{value:!0})}("object"==typeof r&&"undefined"!=typeof e?r:n.topojson=n.topojson||{})},{}],539:[function(t,e,r){"use strict";e.exports=function(t){if(t<0)return[];if(0===t)return[[0]];for(var e=0|Math.round(i(t+1)),r=[],o=0;o<e;++o){for(var s=n.unrank(t,o),l=[0],c=0,u=0;u<s.length;++u)c+=1<<s[u],l.push(c);a(s)<1&&(l[0]=c,l[t]=0),r.push(l)}return r};var n=t("permutation-rank"),a=t("permutation-parity"),i=t("gamma")},{gamma:233,"permutation-parity":464,"permutation-rank":465}],540:[function(t,e,r){"use strict";e.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.up||[0,1,0],n=t.right||h(r),a=t.radius||1,i=t.theta||0,u=t.phi||0;if(e=[].slice.call(e,0,3),r=[].slice.call(r,0,3),s(r,r),n=[].slice.call(n,0,3),s(n,n),"eye"in t){var p=t.eye,d=[p[0]-e[0],p[1]-e[1],p[2]-e[2]];o(n,d,r),c(n[0],n[1],n[2])<1e-6?n=h(r):s(n,n),a=c(d[0],d[1],d[2]);var g=l(r,d)/a,v=l(n,d)/a;u=Math.acos(g),i=Math.acos(v)}return a=Math.log(a),new f(t.zoomMin,t.zoomMax,e,r,n,a,i,u)};var n=t("filtered-vector"),a=t("gl-mat4/invert"),i=t("gl-mat4/rotate"),o=t("gl-vec3/cross"),s=t("gl-vec3/normalize"),l=t("gl-vec3/dot");function c(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t){return Math.min(1,Math.max(-1,t))}function h(t){var e=Math.abs(t[0]),r=Math.abs(t[1]),n=Math.abs(t[2]),a=[0,0,0];e>Math.max(r,n)?a[2]=1:r>Math.max(e,n)?a[0]=1:a[1]=1;for(var i=0,o=0,l=0;l<3;++l)i+=t[l]*t[l],o+=a[l]*t[l];for(l=0;l<3;++l)a[l]-=o/i*t[l];return s(a,a),a}function f(t,e,r,a,i,o,s,l){this.center=n(r),this.up=n(a),this.right=n(i),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,a=0,i=0;i<3;++i)a+=e[i]*r[i],n+=e[i]*e[i];var l=Math.sqrt(n),u=0;for(i=0;i<3;++i)r[i]-=e[i]*a/n,u+=r[i]*r[i],e[i]/=l;var h=Math.sqrt(u);for(i=0;i<3;++i)r[i]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],g=this.computedAngle[1],v=Math.cos(d),m=Math.sin(d),y=Math.cos(g),x=Math.sin(g),b=this.computedCenter,_=v*y,w=m*y,k=x,T=-v*x,A=-m*x,M=y,S=this.computedEye,E=this.computedMatrix;for(i=0;i<3;++i){var L=_*r[i]+w*f[i]+k*e[i];E[4*i+1]=T*r[i]+A*f[i]+M*e[i],E[4*i+2]=L,E[4*i+3]=0}var C=E[1],P=E[5],O=E[9],z=E[2],I=E[6],D=E[10],R=P*D-O*I,F=O*z-C*D,B=C*I-P*z,N=c(R,F,B);R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B;for(i=0;i<3;++i)S[i]=b[i]+E[2+4*i]*p;for(i=0;i<3;++i){u=0;for(var j=0;j<3;++j)u+=E[i+4*j]*S[j];E[12+i]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var a=this.computedMatrix;d[0]=a[2],d[1]=a[6],d[2]=a[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)a[4*c]=o[c],a[4*c+1]=s[c],a[4*c+2]=l[c];i(a,a,n,d);for(c=0;c<3;++c)o[c]=a[4*c],s[c]=a[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var a=this.computedMatrix,i=(Math.exp(this.computedRadius[0]),a[1]),o=a[5],s=a[9],l=c(i,o,s);i/=l,o/=l,s/=l;var u=a[0],h=a[4],f=a[8],p=u*i+h*o+f*s,d=c(u-=i*p,h-=o*p,f-=s*p),g=(u/=d)*e+i*r,v=(h/=d)*e+o*r,m=(f/=d)*e+s*r;this.center.move(t,g,v,m);var y=Math.exp(this.computedRadius[0]);y=Math.max(1e-4,y+n),this.radius.set(t,Math.log(y))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var i=1;"number"==typeof r&&(i=0|r),(i<0||i>3)&&(i=1);var o=(i+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[i],l=e[i+4],h=e[i+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),g=Math.max(f,p,d);f===g?(s=s<0?-1:1,l=h=0):d===g?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var v=c(s,l,h);s/=v,l/=v,h/=v}var m,y,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*h,k=c(x-=s*w,b-=l*w,_-=h*w),T=l*(_/=k)-h*(b/=k),A=h*(x/=k)-s*_,M=s*b-l*x,S=c(T,A,M);if(T/=S,A/=S,M/=S,this.center.jump(t,H,G,Y),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,b,_),2===i){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*T+L*A+C*M;m=R<0?-Math.PI/2:Math.PI/2,y=Math.atan2(O,P)}else{var z=e[2],I=e[6],D=e[10],R=z*s+I*l+D*h,F=z*x+I*b+D*_,B=z*T+I*A+D*M;m=Math.asin(u(R)),y=Math.atan2(B,F)}this.angle.jump(t,y,m),this.recalcMatrix(t);var N=e[2],j=e[6],V=e[10],U=this.computedMatrix;a(U,e);var q=U[15],H=U[12]/q,G=U[13]/q,Y=U[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Y-V*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var a=(n=n||this.computedUp)[0],i=n[1],o=n[2],s=c(a,i,o);if(!(s<1e-6)){a/=s,i/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,g=d[0],v=d[1],m=d[2],y=a*g+i*v+o*m,x=c(g-=y*a,v-=y*i,m-=y*o);if(!(x<.01&&(x=c(g=i*f-o*h,v=o*l-a*f,m=a*h-i*l))<1e-6)){g/=x,v/=x,m/=x,this.up.set(t,a,i,o),this.right.set(t,g,v,m),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=i*m-o*v,_=o*g-a*m,w=a*v-i*g,k=c(b,_,w),T=a*l+i*h+o*f,A=g*l+v*h+m*f,M=(b/=k)*l+(_/=k)*h+(w/=k)*f,S=Math.asin(u(T)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),z=Math.abs(C-E),I=Math.abs(C-2*Math.PI-E);O<z&&(C+=2*Math.PI),I<z&&(C-=2*Math.PI),this.angle.jump(this.angle.lastT(),C,P),this.angle.set(t,E,S)}}}}},{"filtered-vector":228,"gl-mat4/invert":267,"gl-mat4/rotate":272,"gl-vec3/cross":335,"gl-vec3/dot":340,"gl-vec3/normalize":357}],541:[function(t,e,r){"use strict";e.exports=function(t,e,r){var a=t*e,i=n*t,o=i-(i-t),s=t-o,l=n*e,c=l-(l-e),u=e-c,h=s*u-(a-o*c-s*c-o*u);if(r)return r[0]=h,r[1]=a,r;return[h,a]};var n=+(Math.pow(2,27)+1)},{}],542:[function(t,e,r){"use strict";e.exports=function(t,e,r){var n=t+e,a=n-t,i=e-a,o=t-(n-a);if(r)return r[0]=o+i,r[1]=n,r;return[o+i,n]}},{}],543:[function(t,e,r){(function(e,n){"use strict";var a=t("bit-twiddle"),i=t("dup");e.__TYPEDARRAY_POOL||(e.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s=e.__TYPEDARRAY_POOL;s.UINT8C||(s.UINT8C=i([32,0])),s.BUFFER||(s.BUFFER=i([32,0]));var l=s.DATA,c=s.BUFFER;function u(t){if(t){var e=t.length||t.byteLength,r=a.log2(e);l[r].push(t)}}function h(t){t=a.nextPow2(t);var e=a.log2(t),r=l[e];return r.length>0?r.pop():new ArrayBuffer(t)}function f(t){return new Uint8Array(h(t),0,t)}function p(t){return new Uint16Array(h(2*t),0,t)}function d(t){return new Uint32Array(h(4*t),0,t)}function g(t){return new Int8Array(h(t),0,t)}function v(t){return new Int16Array(h(2*t),0,t)}function m(t){return new Int32Array(h(4*t),0,t)}function y(t){return new Float32Array(h(4*t),0,t)}function x(t){return new Float64Array(h(8*t),0,t)}function b(t){return o?new Uint8ClampedArray(h(t),0,t):f(t)}function _(t){return new DataView(h(t),0,t)}function w(t){t=a.nextPow2(t);var e=a.log2(t),r=c[e];return r.length>0?r.pop():new n(t)}r.free=function(t){if(n.isBuffer(t))c[a.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|a.log2(e);l[r].push(t)}},r.freeUint8=r.freeUint16=r.freeUint32=r.freeInt8=r.freeInt16=r.freeInt32=r.freeFloat32=r.freeFloat=r.freeFloat64=r.freeDouble=r.freeUint8Clamped=r.freeDataView=function(t){u(t.buffer)},r.freeArrayBuffer=u,r.freeBuffer=function(t){c[a.log2(t.length)].push(t)},r.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return h(t);switch(e){case"uint8":return f(t);case"uint16":return p(t);case"uint32":return d(t);case"int8":return g(t);case"int16":return v(t);case"int32":return m(t);case"float":case"float32":return y(t);case"double":case"float64":return x(t);case"uint8_clamped":return b(t);case"buffer":return w(t);case"data":case"dataview":return _(t);default:return null}return null},r.mallocArrayBuffer=h,r.mallocUint8=f,r.mallocUint16=p,r.mallocUint32=d,r.mallocInt8=g,r.mallocInt16=v,r.mallocInt32=m,r.mallocFloat32=r.mallocFloat=y,r.mallocFloat64=r.mallocDouble=x,r.mallocUint8Clamped=b,r.mallocDataView=_,r.mallocBuffer=w,r.clearCache=function(){for(var t=0;t<32;++t)s.UINT8[t].length=0,s.UINT16[t].length=0,s.UINT32[t].length=0,s.INT8[t].length=0,s.INT16[t].length=0,s.INT32[t].length=0,s.FLOAT[t].length=0,s.DOUBLE[t].length=0,s.UINT8C[t].length=0,l[t].length=0,c[t].length=0}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},t("buffer").Buffer)},{"bit-twiddle":93,buffer:106,dup:171}],544:[function(t,e,r){"use strict";function n(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e<t;++e)this.roots[e]=e,this.ranks[e]=0}e.exports=n;var a=n.prototype;Object.defineProperty(a,"length",{get:function(){return this.roots.length}}),a.makeSet=function(){var t=this.roots.length;return this.roots.push(t),this.ranks.push(0),t},a.find=function(t){for(var e=t,r=this.roots;r[t]!==t;)t=r[t];for(;r[e]!==t;){var n=r[e];r[e]=t,e=n}return t},a.link=function(t,e){var r=this.find(t),n=this.find(e);if(r!==n){var a=this.ranks,i=this.roots,o=a[r],s=a[n];o<s?i[r]=n:s<o?i[n]=r:(i[n]=r,++a[r])}}},{}],545:[function(t,e,r){"use strict";e.exports=function(t,e,r){return 0===t.length?t:e?(r||t.sort(e),function(t,e){for(var r=1,n=t.length,a=t[0],i=t[0],o=1;o<n;++o)if(i=a,e(a=t[o],i)){if(o===r){r++;continue}t[r++]=a}return t.length=r,t}(t,e)):(r||t.sort(),function(t){for(var e=1,r=t.length,n=t[0],a=t[0],i=1;i<r;++i,a=n)if(a=n,(n=t[i])!==a){if(i===e){e++;continue}t[e++]=n}return t.length=e,t}(t))}},{}],546:[function(t,e,r){var n=/[\'\"]/;e.exports=function(t){return t?(n.test(t.charAt(0))&&(t=t.substr(1)),n.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},{}],547:[function(t,e,r){"use strict";e.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,a=r.length;n<a;n++){var i=r[n];for(var o in i)if((void 0===e[o]||Array.isArray(e[o])||t[o]!==e[o])&&o in e){var s;if(!0===i[o])s=e[o];else{if(!1===i[o])continue;if("function"==typeof i[o]&&void 0===(s=i[o](e[o],t,e)))continue}t[o]=s}}return t}},{}],548:[function(t,e,r){"use strict";e.exports=function(t,e){"object"==typeof e&&null!==e||(e={});return n(t,e.canvas||a,e.context||i,e)};var n=t("./lib/vtext"),a=null,i=null;"undefined"!=typeof document&&((a=document.createElement("canvas")).width=8192,a.height=1024,i=a.getContext("2d"))},{"./lib/vtext":549}],549:[function(t,e,r){e.exports=function(t,e,r,n){var i=64,o=1.25,s={breaklines:!1,bolds:!1,italics:!1,subscripts:!1,superscripts:!1};n&&(n.size&&n.size>0&&(i=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts));return r.font=[n.fontStyle,n.fontVariant,n.fontWeight,i+"px",n.font].filter(function(t){return t}).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,i,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\<br\>/g,"\n"):r.replace(/\<br\>/g," ");var s="",l=[];for(k=0;k<r.length;++k)l[k]=s;!0===o.bolds&&(l=x(c,u,r,l)),!0===o.italics&&(l=x(h,f,r,l)),!0===o.superscripts&&(l=x(p,g,r,l)),!0===o.subscripts&&(l=x(v,y,r,l));var b=[],_="";for(k=0;k<r.length;++k)null!==l[k]&&(_+=r[k],b.push(l[k]));var w,k,T,A,M,S=_.split("\n"),E=S.length,L=Math.round(i*n),C=n,P=2*n,O=0,z=E*L+P;t.height<z&&(t.height=z),e.fillStyle="#000",e.fillRect(0,0,t.width,t.height),e.fillStyle="#fff";var I=0,D="";function R(){if(""!==D){var t=e.measureText(D).width;e.fillText(D,C+T,P+A),T+=t}}function F(){return Math.round(M)+"px "}function B(t,r){var n=""+e.font;if(!0===o.subscripts){var a=t.indexOf(m),i=r.indexOf(m),s=a>-1?parseInt(t[1+a]):0,l=i>-1?parseInt(r[1+i]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,g=h>-1?parseInt(r[1+h]):0;p!==g&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,g-p),n=n.replace("?px ",F())),A-=.25*L*(g-p)}if(!0===o.bolds){var v=t.indexOf(u)>-1,y=r.indexOf(u)>-1;!v&&y&&(n=x?n.replace("italic ","italic bold "):"bold "+n),v&&!y&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(f)>-1,b=r.indexOf(f)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w<E;++w){var N=S[w]+"\n";for(T=0,A=w*L,M=n,D="",k=0;k<N.length;++k){var j=k+I<b.length?b[k+I]:b[b.length-1];s===j?D+=N[k]:(R(),D=N[k],void 0!==j&&(B(s,j),s=j))}R(),I+=N.length;var V=0|Math.round(T+2*C);O<V&&(O=V)}var U=O,q=P+L*E;return a(e.getImageData(0,0,U,q).data,[q,U,4]).pick(-1,-1,0).transpose(1,0)}(e,r,t,i,o,s),n,i)},e.exports.processPixels=w;var n=t("surface-nets"),a=t("ndarray"),i=t("simplify-planar-graph"),o=t("clean-pslg"),s=t("cdt2d"),l=t("planar-graph-to-polyline"),c="b",u="b|",h="i",f="i|",p="sup",d="+",g="+1",v="sub",m="-",y="-1";function x(t,e,r,n){for(var a="<"+t+">",i="</"+t+">",o=a.length,s=i.length,l=e[0]===d||e[0]===m,c=0,u=-s;c>-1&&-1!==(c=r.indexOf(a,c))&&-1!==(u=r.indexOf(i,c+o))&&!(u<=c);){for(var h=c;h<u+s;++h)if(h<c+o||h>=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,g=r.substr(p,u-p).indexOf(a);c=-1!==g?g:u+s}return n}function b(t,e){var r=n(t,128);return e?i(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var a=b(t,n),i=function(t,e,r){for(var n=e.textAlign||"start",a=e.textBaseline||"alphabetic",i=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l<s;++l)for(var c=t[l],u=0;u<2;++u)i[u]=0|Math.min(i[u],c[u]),o[u]=0|Math.max(o[u],c[u]);var h=0;switch(n){case"center":h=-.5*(i[0]+o[0]);break;case"right":case"end":h=-o[0];break;case"left":case"start":h=-i[0];break;default:throw new Error("vectorize-text: Unrecognized textAlign: '"+n+"'")}var f=0;switch(a){case"hanging":case"top":f=-i[1];break;case"middle":f=-.5*(i[1]+o[1]);break;case"alphabetic":case"ideographic":f=-3*r;break;case"bottom":f=-o[1];break;default:throw new Error("vectorize-text: Unrecoginized textBaseline: '"+a+"'")}var p=1/r;return"lineHeight"in e?p*=+e.lineHeight:"width"in e?p=e.width/(o[0]-i[0]):"height"in e&&(p=e.height/(o[1]-i[1])),t.map(function(t){return[p*(t[0]+h),p*(t[1]+f)]})}(a.positions,e,r),c=a.edges,u="ccw"===e.orientation;if(o(i,c),e.polygons||e.polygon||e.polyline){for(var h=l(c,i),f=new Array(h.length),p=0;p<h.length;++p){for(var d=h[p],g=new Array(d.length),v=0;v<d.length;++v){for(var m=d[v],y=new Array(m.length),x=0;x<m.length;++x)y[x]=i[m[x]].slice();u&&y.reverse(),g[v]=y}f[p]=g}return f}return e.triangles||e.triangulate||e.triangle?{cells:s(i,c,{delaunay:!1,exterior:!1,interior:!0}),positions:i}:{edges:c,positions:i}}function w(t,e,r){try{return _(t,e,r,!0)}catch(t){}try{return _(t,e,r,!1)}catch(t){}return e.polygons||e.polyline||e.polygon?[]:e.triangles||e.triangulate||e.triangle?{cells:[],positions:[]}:{edges:[],positions:[]}}},{cdt2d:107,"clean-pslg":117,ndarray:451,"planar-graph-to-polyline":469,"simplify-planar-graph":522,"surface-nets":529}],550:[function(t,e,r){!function(){"use strict";if("undefined"==typeof ses||!ses.ok||ses.ok()){"undefined"!=typeof ses&&(ses.weakMapPermitHostObjects=v);var t=!1;if("function"==typeof WeakMap){var r=WeakMap;if("undefined"!=typeof navigator&&/Firefox/.test(navigator.userAgent));else{var n=new r,a=Object.freeze({});if(n.set(a,1),1===n.get(a))return void(e.exports=WeakMap);t=!0}}Object.prototype.hasOwnProperty;var i=Object.getOwnPropertyNames,o=Object.defineProperty,s=Object.isExtensible,l="weakmap:",c=l+"ident:"+Math.random()+"___";if("undefined"!=typeof crypto&&"function"==typeof crypto.getRandomValues&&"function"==typeof ArrayBuffer&&"function"==typeof Uint8Array){var u=new ArrayBuffer(25),h=new Uint8Array(u);crypto.getRandomValues(h),c=l+"rand:"+Array.prototype.map.call(h,function(t){return(t%36).toString(36)}).join("")+"___"}if(o(Object,"getOwnPropertyNames",{value:function(t){return i(t).filter(m)}}),"getPropertyNames"in Object){var f=Object.getPropertyNames;o(Object,"getPropertyNames",{value:function(t){return f(t).filter(m)}})}!function(){var t=Object.freeze;o(Object,"freeze",{value:function(e){return y(e),t(e)}});var e=Object.seal;o(Object,"seal",{value:function(t){return y(t),e(t)}});var r=Object.preventExtensions;o(Object,"preventExtensions",{value:function(t){return y(t),r(t)}})}();var p=!1,d=0,g=function(){this instanceof g||b();var t=[],e=[],r=d++;return Object.create(g.prototype,{get___:{value:x(function(n,a){var i,o=y(n);return o?r in o?o[r]:a:(i=t.indexOf(n))>=0?e[i]:a})},has___:{value:x(function(e){var n=y(e);return n?r in n:t.indexOf(e)>=0})},set___:{value:x(function(n,a){var i,o=y(n);return o?o[r]=a:(i=t.indexOf(n))>=0?e[i]=a:(i=t.length,e[i]=a,t[i]=n),this})},delete___:{value:x(function(n){var a,i,o=y(n);return o?r in o&&delete o[r]:!((a=t.indexOf(n))<0||(i=t.length-1,t[a]=void 0,e[a]=e[i],t[a]=t[i],t.length=i,e.length=i,0))})}})};g.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof g||b();var e,n=new r,a=void 0,i=!1;return e=t?function(t,e){return n.set(t,e),n.has(t)||(a||(a=new g),a.set(t,e)),this}:function(t,e){if(i)try{n.set(t,e)}catch(r){a||(a=new g),a.set___(t,e)}else n.set(t,e);return this},Object.create(g.prototype,{get___:{value:x(function(t,e){return a?n.has(t)?n.get(t):a.get___(t,e):n.get(t,e)})},has___:{value:x(function(t){return n.has(t)||!!a&&a.has___(t)})},set___:{value:x(e)},delete___:{value:x(function(t){var e=!!n.delete(t);return a&&a.delete___(t)||e})},permitHostObjects___:{value:x(function(t){if(t!==v)throw new Error("bogus call to permitHostObjects___");i=!0})}})}t&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=g.prototype,e.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),e.exports=g)}function v(t){t.permitHostObjects___&&t.permitHostObjects___(v)}function m(t){return!(t.substr(0,l.length)==l&&"___"===t.substr(t.length-3))}function y(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},{}],551:[function(t,e,r){var n=t("./hidden-store.js");e.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},{"./hidden-store.js":552}],552:[function(t,e,r){e.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},{}],553:[function(t,e,r){var n=t("./create-store.js");e.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},{"./create-store.js":551}],554:[function(t,e,r){var n=t("get-canvas-context");e.exports=function(t){return n("webgl",t)}},{"get-canvas-context":234}],555:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),a=t.month(),i=""+this.toChineseMonth(n,a);return e&&i.length<2&&(i="0"+i),this.isIntercalaryMonth(n,a)&&(i+="i"),i},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00\u6708","\u4e8c\u6708","\u4e09\u6708","\u56db\u6708","\u4e94\u6708","\u516d\u6708","\u4e03\u6708","\u516b\u6708","\u4e5d\u6708","\u5341\u6708","\u5341\u4e00\u6708","\u5341\u4e8c\u6708"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),a=["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(a="\u95f0"+a),a},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"\u95f0"===e[0]&&(r=!0,e=e.substring(1)),"\u6708"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"].indexOf(e);else{var a=e[e.length-1];r="i"===a||"I"===a}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var a=this.intercalaryMonth(t);if(r&&e!==a||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return a?!r&&e<=a?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e<r?e+1:e:e+1},intercalaryMonth:function(t){return t=this._validateYear(t),h[t-h[0]]>>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var a,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(a=i.newDate(l,c,u)).add(4-(a.dayOfWeek()||7),"d");var h=this.toJD(t,e,r)-a.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(a.year()),e=a.month(),r=a.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,a){var i,o,s;if("object"==typeof t)o=t,i=e||{};else{var l="number"==typeof t&&t>=1888&&t<=2111;if(!l)throw new Error("Lunar year outside range 1888-2111");var c="number"==typeof e&&e>=1&&e<=12;if(!c)throw new Error("Lunar month outside range 1 - 12");var u,p="number"==typeof r&&r>=1&&r<=30;if(!p)throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(u=!1,i=n):(u=!!n,i=a||{}),o={year:t,month:e,day:r,isIntercalary:u}}s=o.day-1;var d,g=h[o.year-h[0]],v=g>>13;d=v?o.month>v?o.month:o.isIntercalary?o.month:o.month-1:o.month-1;for(var m=0;m<d;m++){var y=g&1<<12-m?30:29;s+=y}var x=f[o.year-f[0]],b=new Date(x>>9&4095,(x>>5&15)-1,(31&x)+s);return i.year=b.getFullYear(),i.month=1+b.getMonth(),i.day=b.getDate(),i}(t,s,r,o);return i.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=i.fromJD(t),r=function(t,e,r,n){var a,i;if("object"==typeof t)a=t,i=e||{};else{var o="number"==typeof t&&t>=1888&&t<=2111;if(!o)throw new Error("Solar year outside range 1888-2111");var s="number"==typeof e&&e>=1&&e<=12;if(!s)throw new Error("Solar month outside range 1 - 12");var l="number"==typeof r&&r>=1&&r<=31;if(!l)throw new Error("Solar day outside range 1 - 31");a={year:t,month:e,day:r},i=n||{}}var c=f[a.year-f[0]],u=a.year<<9|a.month<<5|a.day;i.year=u>=c?a.year:a.year-1,c=f[i.year-f[0]];var p,d=new Date(c>>9&4095,(c>>5&15)-1,31&c),g=new Date(a.year,a.month-1,a.day);p=Math.round((g-d)/864e5);var v,m=h[i.year-h[0]];for(v=0;v<13;v++){var y=m&1<<12-v?30:29;if(p<y)break;p-=y}var x=m>>13;!x||v<x?(i.isIntercalary=!1,i.month=1+v):v===x?(i.isIntercalary=!0,i.month=v):(i.isIntercalary=!1,i.month=v);return i.day=1+p,i}(e.year(),e.month(),e.day()),n=this.toMonthIndex(r.year,r.month,r.isIntercalary);return this.newDate(r.year,n,r.day)},fromString:function(t){var e=t.match(s),r=this._validateYear(+e[1]),n=+e[2],a=!!e[3],i=this.toMonthIndex(r,n,a),o=+e[4];return this.newDate(r,i,o)},add:function(t,e,r){var n=t.year(),a=t.month(),i=this.isIntercalaryMonth(n,a),s=this.toChineseMonth(n,a),l=Object.getPrototypeOf(o.prototype).add.call(this,t,e,r);if("y"===r){var c=l.year(),u=l.month(),h=this.isIntercalaryMonth(c,s),f=i&&h?this.toMonthIndex(c,s,!0):this.toMonthIndex(c,s,!1);f!==u&&l.month(f)}return l}});var s=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,l=/^\d?\d[iI]?/m,c=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?\u6708/m,u=/^\u95f0?\u5341?[\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]?/m;n.calendars.chinese=o;var h=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],f=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904]},{"../main":569,"object-assign":455}],556:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Coptic",jdEpoch:1825029.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.coptic=i},{"../main":569,"object-assign":455}],557:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Discworld",jdEpoch:1721425.5,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),13},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),400},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/8)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(t,e,r){return(this._validate(t,e,r,n.local.invalidDate).day()+1)%8},weekDay:function(t,e,r){var n=this.dayOfWeek(t,e,r);return n>=2&&n<=6},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((a.year()-1)/100)+1]||""}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year()+(a.year()<0?1:0),e=a.month(),(r=a.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=i},{"../main":569,"object-assign":455}],558:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return(t=a.year())<0&&t++,a.day()+30*(a.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,a=e-30*(n-1)+1;return this.newDate(r,n,a)}}),n.calendars.ethiopian=i},{"../main":569,"object-assign":455}],559:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)?30:8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(a)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(a)%10-3]}},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t<=0?t+1:t,o=this.jdEpoch+this._delay1(i)+this._delay2(i)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s<e;s++)o+=this.daysInMonth(t,s)}else for(s=7;s<e;s++)o+=this.daysInMonth(t,s);return o},_delay1:function(t){var e=Math.floor((235*t-234)/19),r=12084+13753*e,n=29*e+Math.floor(r/25920);return o(3*(n+1),7)<3&&n++,n},_delay2:function(t){var e=this._delay1(t-1),r=this._delay1(t);return this._delay1(t+1)-r==356?2:r-e==382?1:0},fromJD:function(t){t=Math.floor(t)+.5;for(var e=Math.floor(98496*(t-this.jdEpoch)/35975351)-1;t>=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=t<this.toJD(e,1,1)?7:1;t>this.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=i},{"../main":569,"object-assign":455}],560:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-kham\u012bs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),t=t<=0?t+1:t,(r=a.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=i},{"../main":569,"object-assign":455}],561:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return t=a.year(),e=a.month(),r=a.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),a=Math.floor((e-n)/30.6001),i=a-Math.floor(a<14?1:13),o=r-Math.floor(i>2?4716:4715),s=e-n-Math.floor(30.6001*a);return o<=0&&o--,this.newDate(o,i,s)}}),n.calendars.julian=i},{"../main":569,"object-assign":455}],562:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r<t.length;r++){var n=parseInt(t[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate).toJD(),i=this._toHaab(a),o=this._toTzolkin(a);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o((t-=this.jdEpoch)+8+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s((t-=this.jdEpoch)+20,20),s(t+4,13)]},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);return a.day()+20*a.month()+360*a.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=i},{"../main":569,"object-assign":455}],563:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar;var o=n.instance("gregorian");a(i.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidMonth);(t=a.year())<0&&t++;for(var i=a.day(),s=1;s<a.month();s++)i+=this.daysPerMonth[s-1];return i+o.toJD(t+1468,3,13)},fromJD:function(t){t=Math.floor(t+.5);for(var e=Math.floor((t-(this.jdEpoch-1))/366);t>=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=i},{"../main":569,"object-assign":455}],564:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),"undefined"==typeof this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=i.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],i.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),a=e.dayOfYear(),i=r+56;this._createMissingCalendarData(i);for(var o=9,s=this.NEPALI_CALENDAR_DATA[i][0],l=this.NEPALI_CALENDAR_DATA[i][o]-s+1;a>l;)++o>12&&(o=1,i++),l+=this.NEPALI_CALENDAR_DATA[i][o];var c=this.NEPALI_CALENDAR_DATA[i][o]-(l-a);return this.newDate(i,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r<t+2;r++)"undefined"==typeof this.NEPALI_CALENDAR_DATA[r]&&(this.NEPALI_CALENDAR_DATA[r]=e)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2000:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29,30,29,30,30],2061:[17,31,32,31,32,31,30,30,30,29,29,30,31],2062:[17,30,32,31,32,31,31,29,30,29,30,29,31],2063:[17,31,31,32,31,31,31,30,29,30,29,30,30],2064:[17,31,31,32,32,31,30,30,29,30,29,30,30],2065:[17,31,32,31,32,31,30,30,30,29,29,30,31],2066:[17,31,31,31,32,31,31,29,30,30,29,29,31],2067:[17,31,31,32,31,31,31,30,29,30,29,30,30],2068:[17,31,31,32,32,31,30,30,29,30,29,30,30],2069:[17,31,32,31,32,31,30,30,30,29,29,30,31],2070:[17,31,31,31,32,31,31,29,30,30,29,30,30],2071:[17,31,31,32,31,31,31,30,29,30,29,30,30],2072:[17,31,32,31,32,31,30,30,29,30,29,30,30],2073:[17,31,32,31,32,31,30,30,30,29,29,30,31],2074:[17,31,31,31,32,31,31,30,29,30,29,30,30],2075:[17,31,31,32,31,31,31,30,29,30,29,30,30],2076:[16,31,32,31,32,31,30,30,30,29,29,30,30],2077:[17,31,32,31,32,31,30,30,30,29,30,29,31],2078:[17,31,31,31,32,31,31,30,29,30,29,30,30],2079:[17,31,31,32,31,31,31,30,29,30,29,30,30],2080:[16,31,32,31,32,31,30,30,30,29,29,30,30],2081:[17,31,31,32,32,31,30,30,30,29,30,30,30],2082:[17,31,32,31,32,31,30,30,30,29,30,30,30],2083:[17,31,31,32,31,31,30,30,30,29,30,30,30],2084:[17,31,31,32,31,31,30,30,30,29,30,30,30],2085:[17,31,32,31,32,31,31,30,30,29,30,30,30],2086:[17,31,32,31,32,31,30,30,30,29,30,30,30],2087:[16,31,31,32,31,31,31,30,30,29,30,30,30],2088:[16,30,31,32,32,30,31,30,30,29,30,30,30],2089:[17,31,32,31,32,31,30,30,30,29,30,30,30],2090:[17,31,32,31,32,31,30,30,30,29,30,30,30],2091:[16,31,31,32,31,31,31,30,30,29,30,30,30],2092:[16,31,31,32,32,31,30,30,30,29,30,30,30],2093:[17,31,32,31,32,31,30,30,30,29,30,30,30],2094:[17,31,31,32,31,31,30,30,30,29,30,30,30],2095:[17,31,31,32,31,31,31,30,29,30,30,30,30],2096:[17,30,31,32,32,31,30,30,29,30,29,30,30],2097:[17,31,32,31,32,31,30,30,30,29,30,30,30],2098:[17,31,31,32,31,31,31,29,30,29,30,30,31],2099:[17,31,31,32,31,31,31,30,29,29,30,30,30],2100:[17,31,32,31,32,30,31,30,29,30,29,30,30]}}),n.calendars.nepali=i},{"../main":569,"object-assign":455}],565:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}i.prototype=new n.baseCalendar,a(i.prototype,{name:"Persian",jdEpoch:1948320.5,daysPerMonth:[31,31,31,31,31,31,30,30,30,30,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Persian",epochs:["BP","AP"],monthNames:["Farvardin","Ordibehesht","Khordad","Tir","Mordad","Shahrivar","Mehr","Aban","Azar","Day","Bahman","Esfand"],monthNamesShort:["Far","Ord","Kho","Tir","Mor","Sha","Meh","Aba","Aza","Day","Bah","Esf"],dayNames:["Yekshambe","Doshambe","Seshambe","Ch\xe6harshambe","Panjshambe","Jom'e","Shambe"],dayNamesShort:["Yek","Do","Se","Ch\xe6","Panj","Jom","Sha"],dayNamesMin:["Ye","Do","Se","Ch","Pa","Jo","Sh"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 682*((e.year()-(e.year()>0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=a.year(),e=a.month(),r=a.day();var i=t-(t>=0?474:473),s=474+o(i,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(i/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),a=2820;if(1029982!==n){var i=Math.floor(n/366),s=o(n,366);a=Math.floor((2134*i+2816*s+2815)/1028522)+i+1}var l=a+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=i,n.calendars.jalali=i},{"../main":569,"object-assign":455}],566:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},{"../main":569,"object-assign":455}],567:[function(t,e,r){var n=t("../main"),a=t("object-assign"),i=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,a(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(e.year());return i.leapYear(t)},weekOfYear:function(t,e,r){var a=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);t=this._t2gYear(a.year());return i.weekOfYear(t,a.month(),a.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate);t=this._t2gYear(a.year());return i.toJD(t,a.month(),a.day())},fromJD:function(t){var e=i.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},{"../main":569,"object-assign":455}],568:[function(t,e,r){var n=t("../main"),a=t("object-assign");function i(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}i.prototype=new n.baseCalendar,a(i.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thal\u0101th\u0101\u2019","Yawm al-Arba\u2018\u0101\u2019","Yawm al-Kham\u012bs","Yawm al-Jum\u2018a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,a=0,i=0;i<o.length;i++){if(o[i]>r)return o[a]-o[a-1];a++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var a=this._validate(t,e,r,n.local.invalidDate),i=12*(a.year()-1)+a.month()-15292;return a.day()+o[i-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;n<o.length&&!(o[n]>e);n++)r++;var a=r+15292,i=Math.floor((a-1)/12),s=i+1,l=a-12*i,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var a=n.baseCalendar.prototype.isValid.apply(this,arguments);return a&&(a=(t=null!=t.year?t.year:t)>=1276&&t<=1500),a},_validate:function(t,e,r,a){var i=n.baseCalendar.prototype._validate.apply(this,arguments);if(i.year<1276||i.year>1500)throw a.replace(/\{0\}/,this.local.name);return i}}),n.calendars.ummalqura=i;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},{"../main":569,"object-assign":455}],569:[function(t,e,r){var n=t("object-assign");function a(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function i(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(a.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,a){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,a):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,function(e){return t[e]})}},substituteChineseDigits:function(t,e){return function(r){for(var n="",a=0;r>0;){var i=r%10;n=(0===i?"":t[i]+e[a])+n,a++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(i.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new i(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),a=t.calendar().fromJD(n);return this._validateLevel--,[a.year(),a.month(),a.day()]}try{var i=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);a=t.day();"y"===r?(t.month()!==this.fromMonthOfYear(i,o)&&(o=this.newDate(i,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(i)),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o)))):"m"===r&&(!function(t){for(;o<t.minMonth;)i--,o+=t.monthsInYear(i);for(var e=t.monthsInYear(i);o>e-1+t.minMonth;)i++,o-=e,e=t.monthsInYear(i)}(this),a=Math.min(a,this.daysInMonth(i,this.fromMonthOfYear(i,o))));var s=[i,this.fromMonthOfYear(i,o),a];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var a={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],i=r<0?-1:1;e=this._add(t,r*a[0]+i*a[1],a[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),a="m"===r?e:t.month(),i="d"===r?e:t.day();return"y"!==r&&"m"!==r||(i=Math.min(i,this.daysInMonth(n,a))),t.date(n,a,i)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var a=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth<this.monthsInYear(a)&&r>=this.minDay&&r-this.minDay<this.daysInMonth(a)}return this._validateLevel--,n},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return c.instance().fromJD(this.toJD(n)).toJSDate()},fromJSDate:function(t){return this.fromJD(c.instance().fromJSDate(t).toJD())},_validate:function(t,e,r,n){if(t.year){if(0===this._validateLevel&&this.name!==t.calendar().name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this.local.name).replace(/\{1\}/,t.calendar().local.name);return t}try{if(this._validateLevel++,1===this._validateLevel&&!this.isValid(t,e,r))throw n.replace(/\{0\}/,this.local.name);var a=this.newDate(t,e,r);return this._validateLevel--,a}catch(t){throw this._validateLevel--,t}}}),l.prototype=new s,n(l.prototype,{name:"Gregorian",jdEpoch:1721425.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Gregorian",epochs:["BCE","CE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==0&&(t%100!=0||t%400==0)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);t=n.year(),e=n.month(),r=n.day(),t<0&&t++,e<3&&(e+=12,t--);var a=Math.floor(t/100),i=2-a+Math.floor(a/4);return Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r+i-1524.5},fromJD:function(t){var e=Math.floor(t+.5),r=Math.floor((e-1867216.25)/36524.25),n=(r=e+1+r-Math.floor(r/4))+1524,a=Math.floor((n-122.1)/365.25),i=Math.floor(365.25*a),o=Math.floor((n-i)/30.6001),s=n-i-Math.floor(30.6001*o),l=o-(o>13.5?13:1),c=a-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),a=new Date(n.year(),n.month()-1,n.day());return a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0),a.setHours(a.getHours()>12?a.getHours()+2:0),a},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=e.exports=new a;c.cdate=i,c.baseCalendar=s,c.calendars.gregorian=l},{"object-assign":455}],570:[function(t,e,r){var n=t("object-assign"),a=t("./main");n(a.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),a.local=a.regionalOptions[""],n(a.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(a.baseCalendar.prototype,{UNIX_EPOCH:a.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:a.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw a.local.invalidFormat||a.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,i,o,s,l=(r=r||{}).dayNamesShort||this.local.dayNamesShort,c=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,h=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,p=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;w+n<t.length&&t.charAt(w+n)===e;)n++;return w+=n-1,Math.floor(n/(r||1))>1}),d=function(t,e,r,n){var a=""+e;if(p(t,n))for(;a.length<r;)a="0"+a;return a},g=this,v=function(t){return"function"==typeof u?u.call(g,t,p("m")):x(d("m",t.month(),2))},m=function(t,e){return e?"function"==typeof f?f.call(g,t):f[t.month()-g.minMonth]:"function"==typeof h?h.call(g,t):h[t.month()-g.minMonth]},y=this.local.digits,x=function(t){return r.localNumbers&&y?y(t):t},b="",_=!1,w=0;w<t.length;w++)if(_)"'"!==t.charAt(w)||p("'")?b+=t.charAt(w):_=!1;else switch(t.charAt(w)){case"d":b+=x(d("d",e.day(),2));break;case"D":b+=(n="D",i=e.dayOfWeek(),o=l,s=c,p(n)?s[i]:o[i]);break;case"o":b+=d("o",e.dayOfYear(),3);break;case"w":b+=d("w",e.weekOfYear(),2);break;case"m":b+=v(e);break;case"M":b+=m(e,p("M"));break;case"y":b+=p("y",2)?e.year():(e.year()%100<10?"0":"")+e.year()%100;break;case"Y":p("Y",2),b+=e.formatYear();break;case"J":b+=e.toJD();break;case"@":b+=(e.toJD()-this.UNIX_EPOCH)*this.SECS_PER_DAY;break;case"!":b+=(e.toJD()-this.TICKS_EPOCH)*this.TICKS_PER_DAY;break;case"'":p("'")?b+="'":_=!0;break;default:b+=t.charAt(w)}return b},parseDate:function(t,e,r){if(null==e)throw a.local.invalidArguments||a.regionalOptions[""].invalidArguments;if(""===(e="object"==typeof e?e.toString():e+""))return null;t=t||this.local.dateFormat;var n=(r=r||{}).shortYearCutoff||this.shortYearCutoff;n="string"!=typeof n?n:this.today().year()%100+parseInt(n,10);for(var i=r.dayNamesShort||this.local.dayNamesShort,o=r.dayNames||this.local.dayNames,s=r.parseMonth||this.local.parseMonth,l=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,u=r.monthNames||this.local.monthNames,h=-1,f=-1,p=-1,d=-1,g=-1,v=!1,m=!1,y=function(e,r){for(var n=1;M+n<t.length&&t.charAt(M+n)===e;)n++;return M+=n-1,Math.floor(n/(r||1))>1},x=function(t,r){var n=y(t,r),i=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+i+"}"),s=e.substring(A).match(o);if(!s)throw(a.local.missingNumberAt||a.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){y("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,i){for(var o=y(t,i)?n:r,s=0;s<o.length;s++)if(e.substr(A,o[s].length).toLowerCase()===o[s].toLowerCase())return A+=o[s].length,s+b.minMonth;throw(a.local.unknownNameAt||a.regionalOptions[""].unknownNameAt).replace(/\{0\}/,A)},k=function(){if("function"==typeof u){var t=y("M")?u.call(b,e.substring(A)):c.call(b,e.substring(A));return A+=t.length,t}return w("M",c,u)},T=function(){if(e.charAt(A)!==t.charAt(M))throw(a.local.unexpectedLiteralAt||a.regionalOptions[""].unexpectedLiteralAt).replace(/\{0\}/,A);A++},A=0,M=0;M<t.length;M++)if(m)"'"!==t.charAt(M)||y("'")?T():m=!1;else switch(t.charAt(M)){case"d":d=x("d");break;case"D":w("D",i,o);break;case"o":g=x("o");break;case"w":x("w");break;case"m":p=_();break;case"M":p=k();break;case"y":var S=M;v=!y("y",2),M=S,f=x("y",2);break;case"Y":f=x("Y",2);break;case"J":h=x("J")+.5,"."===e.charAt(A)&&(A++,x("J"));break;case"@":h=x("@")/this.SECS_PER_DAY+this.UNIX_EPOCH;break;case"!":h=x("!")/this.TICKS_PER_DAY+this.TICKS_EPOCH;break;case"*":A=e.length;break;case"'":y("'")?T():m=!0;break;default:T()}if(A<e.length)throw a.local.unexpectedText||a.regionalOptions[""].unexpectedText;if(-1===f?f=this.today().year():f<100&&v&&(f+=-1===n?1900:this.today().year()-this.today().year()%100-(f<=n?0:100)),"string"==typeof p&&(p=s.call(this,f,p)),g>-1){p=1,d=g;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,a){r&&"object"!=typeof r&&(a=n,n=r,r=null),"string"!=typeof n&&(a=n,n="");var i=this;return e=e?e.newDate():null,t=null==t?e:"string"==typeof t?function(t){try{return i.parseDate(n,t,a)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||i.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:i.today().add(t,"d"):i.newDate(t)}})},{"./main":569,"object-assign":455}],571:[function(t,e,r){e.exports=t("cwise-compiler")({args:["array",{offset:[1],array:0},"scalar","scalar","index"],pre:{body:"{}",args:[],thisVars:[],localVars:[]},post:{body:"{}",args:[],thisVars:[],localVars:[]},body:{body:"{\n        var _inline_1_da = _inline_1_arg0_ - _inline_1_arg3_\n        var _inline_1_db = _inline_1_arg1_ - _inline_1_arg3_\n        if((_inline_1_da >= 0) !== (_inline_1_db >= 0)) {\n          _inline_1_arg2_.push(_inline_1_arg4_[0] + 0.5 + 0.5 * (_inline_1_da + _inline_1_db) / (_inline_1_da - _inline_1_db))\n        }\n      }",args:[{name:"_inline_1_arg0_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg1_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg2_",lvalue:!1,rvalue:!0,count:1},{name:"_inline_1_arg3_",lvalue:!1,rvalue:!0,count:2},{name:"_inline_1_arg4_",lvalue:!1,rvalue:!0,count:1}],thisVars:[],localVars:["_inline_1_da","_inline_1_db"]},funcName:"zeroCrossings"})},{"cwise-compiler":147}],572:[function(t,e,r){"use strict";e.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=t("./lib/zc-core")},{"./lib/zc-core":571}],573:[function(t,e,r){"use strict";e.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},{}],574:[function(t,e,r){"use strict";var n=t("./arrow_paths"),a=t("../../plots/font_attributes"),i=t("../../plots/cartesian/constants"),o=t("../../plot_api/plot_template").templatedArray;e.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:a({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",i.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",i.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",i.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:a({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},{"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/font_attributes":790,"./arrow_paths":573}],575:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./draw").draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach(function(e){var r=a.getFromId(t,e.xref),n=a.getFromId(t,e.yref);e._extremes={},r&&s(e,r),n&&s(e,n)})}function s(t,e){var r,n=e._id,i=n.charAt(0),o=t[i],s=t["a"+i],l=t[i+"ref"],c=t["a"+i+"ref"],u=t["_"+i+"padplus"],h=t["_"+i+"padminus"],f={x:1,y:-1}[i]*t[i+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,g=p-f,v=3*t.startarrowsize*t.arrowwidth||0,m=v+f,y=v-f;if(c===l){var x=a.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:g}),b=a.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,m),ppadminus:Math.max(h,y)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else m=s?m+s:m,y=s?y-s:y,r=a.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,m),ppadminus:Math.max(h,g,y)});t._extremes[n]=r}e.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([i,o],t)}},{"../../lib":716,"../../plots/cartesian/axes":764,"./draw":580}],576:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../plot_api/plot_template").arrayEditor;function o(t,e){var r,n,a,i,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r<u.length;r++)if(i=(a=u[r]).clicktoshow){for(n=0;n<d;n++)if(l=(o=e[n]).xaxis,c=o.yaxis,l._id===a.xref&&c._id===a.yref&&l.d2r(o.x)===s(a._xclick,l)&&c.d2r(o.y)===s(a._yclick,c)){(a.visible?"onout"===i?f:p:h).push(r);break}n===d&&a.visible&&"onout"===i&&f.push(r)}return{on:h,off:f,explicitOff:p}}function s(t,e){return"log"===e.type?e.l2r(t):e.d2r(t)}e.exports={hasClickToShow:function(t,e){var r=o(t,e);return r.on.length>0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(!c.length&&!u.length)return;for(r=0;r<c.length;r++)(s=i(t.layout,"annotations",f[c[r]])).modifyItem("visible",!0),n.extendFlat(h,s.getUpdateObj());for(r=0;r<u.length;r++)(s=i(t.layout,"annotations",f[u[r]])).modifyItem("visible",!1),n.extendFlat(h,s.getUpdateObj());return a.call("update",t,{},h)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845}],577:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color");e.exports=function(t,e,r,i){i("opacity");var o=i("bgcolor"),s=i("bordercolor"),l=a.opacity(s);i("borderpad");var c=i("borderwidth"),u=i("showarrow");if(i("text",u?" ":r._dfltTitle.annotation),i("textangle"),n.coerceFont(i,"font",r.font),i("width"),i("align"),i("height")&&i("valign"),u){var h,f,p=i("arrowside");-1!==p.indexOf("end")&&(h=i("arrowhead"),f=i("arrowsize")),-1!==p.indexOf("start")&&(i("startarrowhead",h),i("startarrowsize",f)),i("arrowcolor",l?e.bordercolor:a.defaultLine),i("arrowwidth",2*(l&&c||1)),i("standoff"),i("startstandoff")}var d=i("hovertext"),g=r.hoverlabel||{};if(d){var v=i("hoverlabel.bgcolor",g.bgcolor||(a.opacity(o)?a.rgb(o):a.defaultLine)),m=i("hoverlabel.bordercolor",g.bordercolor||a.contrast(v));n.coerceFont(i,"hoverlabel.font",{family:g.font.family,size:g.font.size,color:g.font.color||m})}i("captureevents",!!d)}},{"../../lib":716,"../color":591}],578:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib/to_log_range");e.exports=function(t,e,r,i){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.annotations,h=e._id.charAt(0),f=0;f<u.length;f++)l=u[f],c="annotations["+f+"].",l[h+"ref"]===e._id&&p(h),l["a"+h+"ref"]===e._id&&p("a"+h);function p(t){var r=l[t],s=null;s=o?a(r,e.range):Math.pow(10,r),n(s)||(s=null),i(c+t,s)}}},{"../../lib/to_log_range":742,"fast-isnumeric":227}],579:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./common_defaults"),s=t("./attributes");function l(t,e,r){function i(r,a){return n.coerce(t,e,s,r,a)}var l=i("visible"),c=i("clicktoshow");if(l||c){o(t,e,r,i);for(var u=e.showarrow,h=["x","y"],f=[-10,-30],p={_fullLayout:r},d=0;d<2;d++){var g=h[d],v=a.coerceRef(t,e,p,g,"","paper");if("paper"!==v)a.getFromId(p,v)._annIndices.push(e._index);if(a.coercePosition(e,p,i,v,g,.5),u){var m="a"+g,y=a.coerceRef(t,e,p,m,"pixel");"pixel"!==y&&y!==v&&(y=e[m]="pixel");var x="pixel"===y?f[d]:.4;a.coercePosition(e,p,i,y,m,x)}i(g+"anchor"),i(g+"shift")}if(n.noneOrAll(t,e,["x","y"]),u&&n.noneOrAll(t,e,["ax","ay"]),c){var b=i("xclick"),_=i("yclick");e._xclick=void 0===b?e.x:a.cleanPosition(b,p,e.xref),e._yclick=void 0===_?e.y:a.cleanPosition(_,p,e.yref)}}}e.exports=function(t,e){i(t,e,{name:"annotations",handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":574,"./common_defaults":577}],580:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../../lib"),s=t("../../plots/cartesian/axes"),l=t("../color"),c=t("../drawing"),u=t("../fx"),h=t("../../lib/svg_text_utils"),f=t("../../lib/setcursor"),p=t("../dragelement"),d=t("../../plot_api/plot_template").arrayEditor,g=t("./draw_arrow_head");function v(t,e){var r=t._fullLayout.annotations[e]||{},n=s.getFromId(t,r.xref),a=s.getFromId(t,r.yref);n&&n.setScale(),a&&a.setScale(),m(t,r,e,!1,n,a)}function m(t,e,r,i,s,v){var m,y,x=t._fullLayout,b=t._fullLayout._size,_=t._context.edits;i?(m="annotation-"+i,y=i+".annotations"):(m="annotation",y="annotations");var w=d(t.layout,y,e),k=w.modifyBase,T=w.modifyItem,A=w.getUpdateObj;x._infolayer.selectAll("."+m+'[data-index="'+r+'"]').remove();var M="clip"+x._uid+"_ann"+r;if(e._input&&!1!==e.visible){var S={x:{},y:{}},E=+e.textangle||0,L=x._infolayer.append("g").classed(m,!0).attr("data-index",String(r)).style("opacity",e.opacity),C=L.append("g").classed("annotation-text-g",!0),P=_[e.showarrow?"annotationTail":"annotationPosition"],O=e.captureevents||_.annotationText||P,z=C.append("g").style("pointer-events",O?"all":null).call(f,"pointer").on("click",function(){t._dragging=!1,t.emit("plotly_clickannotation",q(n.event))});e.hovertext&&z.on("mouseover",function(){var r=e.hoverlabel,n=r.font,a=this.getBoundingClientRect(),i=t.getBoundingClientRect();u.loneHover({x0:a.left-i.left,x1:a.right-i.left,y:(a.top+a.bottom)/2-i.top,text:e.hovertext,color:r.bgcolor,borderColor:r.bordercolor,fontFamily:n.family,fontSize:n.size,fontColor:n.color},{container:x._hoverlayer.node(),outerContainer:x._paper.node(),gd:t})}).on("mouseout",function(){u.loneUnhover(x._hoverlayer.node())});var I=e.borderwidth,D=e.borderpad,R=I+D,F=z.append("rect").attr("class","bg").style("stroke-width",I+"px").call(l.stroke,e.bordercolor).call(l.fill,e.bgcolor),B=e.width||e.height,N=x._topclips.selectAll("#"+M).data(B?[0]:[]);N.enter().append("clipPath").classed("annclip",!0).attr("id",M).append("rect"),N.exit().remove();var j=e.font,V=x._meta?o.templateString(e.text,x._meta):e.text,U=z.append("text").classed("annotation-text",!0).text(V);_.annotationText?U.call(h.makeEditable,{delegate:z,gd:t}).call(H).on("edit",function(r){e.text=r,this.call(H),T("text",r),s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0),a.call("_guiRelayout",t,A())}):U.call(H)}else n.selectAll("#"+M).remove();function q(t){var n={index:r,annotation:e._input,fullAnnotation:e,event:t};return i&&(n.subplotId=i),n}function H(r){return r.call(c.font,j).attr({"text-anchor":{left:"start",right:"end"}[e.align]||"middle"}),h.convertToTspans(r,t,G),r}function G(){var r=U.selectAll("a");1===r.size()&&r.text()===U.text()&&z.insert("a",":first-child").attr({"xlink:xlink:href":r.attr("xlink:href"),"xlink:xlink:show":r.attr("xlink:show")}).style({cursor:"pointer"}).node().appendChild(F.node());var n=z.select(".annotation-text-math-group"),u=!n.empty(),d=c.bBox((u?n:U).node()),m=d.width,y=d.height,w=e.width||m,O=e.height||y,D=Math.round(w+2*R),j=Math.round(O+2*R);function V(t,e){return"auto"===e&&(e=t<1/3?"left":t>2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var H=!1,G=["x","y"],Y=0;Y<G.length;Y++){var W,X,Z,J,K,Q=G[Y],$=e[Q+"ref"]||Q,tt=e["a"+Q+"ref"],et={x:s,y:v}[Q],rt=(E+("x"===Q?0:-90))*Math.PI/180,nt=D*Math.cos(rt),at=j*Math.sin(rt),it=Math.abs(nt)+Math.abs(at),ot=e[Q+"anchor"],st=e[Q+"shift"]*("x"===Q?1:-1),lt=S[Q];if(et){var ct=et.r2fraction(e[Q]);(ct<0||ct>1)&&(tt===$?((ct=et.r2fraction(e["a"+Q]))<0||ct>1)&&(H=!0):H=!0),W=et._offset+et.r2p(e[Q]),J=.5}else"x"===Q?(Z=e[Q],W=b.l+b.w*Z):(Z=1-e[Q],W=b.t+b.h*Z),J=e.showarrow?.5:Z;if(e.showarrow){lt.head=W;var ut=e["a"+Q];K=nt*V(.5,e.xanchor)-at*V(.5,e.yanchor),tt===$?(lt.tail=et._offset+et.r2p(ut),X=K):(lt.tail=W+ut,X=K+ut),lt.text=lt.tail+K;var ht=x["x"===Q?"width":"height"];if("paper"===$&&(lt.head=o.constrain(lt.head,1,ht-1)),"pixel"===tt){var ft=-Math.max(lt.tail-3,lt.text),pt=Math.min(lt.tail+3,lt.text)-ht;ft>0?(lt.tail+=ft,lt.text+=ft):pt>0&&(lt.tail-=pt,lt.text-=pt)}lt.tail+=st,lt.head+=st}else X=K=it*V(J,ot),lt.text=W+K;lt.text+=st,K+=st,X+=st,e["_"+Q+"padplus"]=it/2+X,e["_"+Q+"padminus"]=it/2-X,e["_"+Q+"size"]=it,e["_"+Q+"shift"]=K}if(H)z.remove();else{var dt=0,gt=0;if("left"!==e.align&&(dt=(w-m)*("center"===e.align?.5:1)),"top"!==e.valign&&(gt=(O-y)*("middle"===e.valign?.5:1)),u)n.select("svg").attr({x:R+dt-1,y:R+gt}).call(c.setClipUrl,B?M:null,t);else{var vt=R+gt-d.top,mt=R+dt-d.left;U.call(h.positionText,mt,vt).call(c.setClipUrl,B?M:null,t)}N.select("rect").call(c.setRect,R,R,w,O),F.call(c.setRect,I/2,I/2,D-I,j-I),z.call(c.setTranslate,Math.round(S.x.text-D/2),Math.round(S.y.text-j/2)),C.attr({transform:"rotate("+E+","+S.x.text+","+S.y.text+")"});var yt,xt=function(r,n){L.selectAll(".annotation-arrow-g").remove();var u=S.x.head,h=S.y.head,f=S.x.tail+r,d=S.y.tail+n,m=S.x.text+r,y=S.y.text+n,x=o.rotationXYMatrix(E,m,y),w=o.apply2DTransform(x),M=o.apply2DTransform2(x),P=+F.attr("width"),O=+F.attr("height"),I=m-.5*P,D=I+P,R=y-.5*O,B=R+O,N=[[I,R,I,B],[I,B,D,B],[D,B,D,R],[D,R,I,R]].map(M);if(!N.reduce(function(t,e){return t^!!o.segmentsIntersect(u,h,u+1e6,h+1e6,e[0],e[1],e[2],e[3])},!1)){N.forEach(function(t){var e=o.segmentsIntersect(f,d,u,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,d=e.y)});var j=e.arrowwidth,V=e.arrowcolor,U=e.arrowside,q=L.append("g").style({opacity:l.opacity(V)}).classed("annotation-arrow-g",!0),H=q.append("path").attr("d","M"+f+","+d+"L"+u+","+h).style("stroke-width",j+"px").call(l.stroke,l.rgb(V));if(g(H,U,e),_.annotationPosition&&H.node().parentNode&&!i){var G=u,Y=h;if(e.standoff){var W=Math.sqrt(Math.pow(u-f,2)+Math.pow(h-d,2));G+=e.standoff*(f-u)/W,Y+=e.standoff*(d-h)/W}var X,Z,J=q.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(f-G)+","+(d-Y),transform:"translate("+G+","+Y+")"}).style("stroke-width",j+6+"px").call(l.stroke,"rgba(0,0,0,0)").call(l.fill,"rgba(0,0,0,0)");p.init({element:J.node(),gd:t,prepFn:function(){var t=c.getTranslate(z);X=t.x,Z=t.y,s&&s.autorange&&k(s._name+".autorange",!0),v&&v.autorange&&k(v._name+".autorange",!0)},moveFn:function(t,r){var n=w(X,Z),a=n[0]+t,i=n[1]+r;z.call(c.setTranslate,a,i),T("x",s?s.p2r(s.r2p(e.x)+t):e.x+t/b.w),T("y",v?v.p2r(v.r2p(e.y)+r):e.y-r/b.h),e.axref===e.xref&&T("ax",s.p2r(s.r2p(e.ax)+t)),e.ayref===e.yref&&T("ay",v.p2r(v.r2p(e.ay)+r)),q.attr("transform","translate("+t+","+r+")"),C.attr({transform:"rotate("+E+","+a+","+i+")"})},doneFn:function(){a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};if(e.showarrow&&xt(0,0),P)p.init({element:z.node(),gd:t,prepFn:function(){yt=C.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?T("ax",s.p2r(s.r2p(e.ax)+t)):T("ax",e.ax+t),e.ayref===e.yref?T("ay",v.p2r(v.r2p(e.ay)+r)):T("ay",e.ay+r),xt(t,r);else{if(i)return;var a,o;if(s)a=s.p2r(s.r2p(e.x)+t);else{var l=e._xsize/b.w,c=e.x+(e._xshift-e.xshift)/b.w-l/2;a=p.align(c+t/b.w,l,0,1,e.xanchor)}if(v)o=v.p2r(v.r2p(e.y)+r);else{var u=e._ysize/b.h,h=e.y-(e._yshift+e.yshift)/b.h-u/2;o=p.align(h-r/b.h,u,0,1,e.yanchor)}T("x",a),T("y",o),s&&v||(n=p.getCursor(s?.5:a,v?.5:o,e.xanchor,e.yanchor))}C.attr({transform:"translate("+t+","+r+")"+yt}),f(z,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",q(n))},doneFn:function(){f(z),a.call("_guiRelayout",t,A());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}e.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r<e.annotations.length;r++)e.annotations[r].visible&&v(t,r);return i.previousPromises(t)},drawOne:v,drawRaw:m}},{"../../lib":716,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/cartesian/axes":764,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"../fx":629,"./draw_arrow_head":581,d3:164}],581:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color"),i=t("./arrow_paths");e.exports=function(t,e,r){var o,s,l,c,u=t.node(),h=i[r.arrowhead||0],f=i[r.startarrowhead||0],p=(r.arrowwidth||1)*(r.arrowsize||1),d=(r.arrowwidth||1)*(r.startarrowsize||1),g=e.indexOf("start")>=0,v=e.indexOf("end")>=0,m=h.backoff*p+r.standoff,y=f.backoff*d+r.startstandoff;if("line"===u.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},s={x:+t.attr("x2"),y:+t.attr("y2")};var x=o.x-s.x,b=o.y-s.y;if(c=(l=Math.atan2(b,x))+Math.PI,m&&y&&m+y>Math.sqrt(x*x+b*b))return void P();if(m){if(m*m>x*x+b*b)return void P();var _=m*Math.cos(l),w=m*Math.sin(l);s.x+=_,s.y+=w,t.attr({x2:s.x,y2:s.y})}if(y){if(y*y>x*x+b*b)return void P();var k=y*Math.cos(l),T=y*Math.sin(l);o.x-=k,o.y-=T,t.attr({x1:o.x,y1:o.y})}}else if("path"===u.nodeName){var A=u.getTotalLength(),M="";if(A<m+y)return void P();var S=u.getPointAtLength(0),E=u.getPointAtLength(.1);l=Math.atan2(S.y-E.y,S.x-E.x),o=u.getPointAtLength(Math.min(y,A)),M="0px,"+y+"px,";var L=u.getPointAtLength(A),C=u.getPointAtLength(A-.1);c=Math.atan2(L.y-C.y,L.x-C.x),s=u.getPointAtLength(Math.max(0,A-m)),M+=A-(M?y+m:m)+"px,"+A+"px",t.style("stroke-dasharray",M)}function P(){t.style("stroke-dasharray","0px,100px")}function O(e,i,o,s){e.path&&(e.noRotate&&(o=0),n.select(u.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:"translate("+i.x+","+i.y+")"+(o?"rotate("+180*o/Math.PI+")":"")+"scale("+s+")"}).style({fill:a.rgb(r.arrowcolor),"stroke-width":0}))}g&&O(f,o,l,d),v&&O(h,s,c,p)}},{"../color":591,"./arrow_paths":573,d3:164}],582:[function(t,e,r){"use strict";var n=t("./draw"),a=t("./click");e.exports={moduleType:"component",name:"annotations",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("annotations"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:a.hasClickToShow,onClick:a.onClick,convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":774,"./attributes":574,"./calc_autorange":575,"./click":576,"./convert_coords":578,"./defaults":579,"./draw":580}],583:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),a=t("../../plot_api/edit_types").overrideAll,i=t("../../plot_api/plot_template").templatedArray;e.exports=a(i("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},{"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../annotations/attributes":574}],584:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes");function i(t,e){var r=e.fullSceneLayout.domain,i=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),a.setConvert(t._xa),t._xa._offset=i.l+r.x[0]*i.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*i.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),a.setConvert(t._ya),t._ya._offset=i.t+(1-r.y[1])*i.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*i.h*(r.y[1]-r.y[0])}}e.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r<e.length;r++)i(e[r],t);t.fullLayout._infolayer.selectAll(".annotation-"+t.id).remove()}},{"../../lib":716,"../../plots/cartesian/axes":764}],585:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("../annotations/common_defaults"),s=t("./attributes");function l(t,e,r,i){function l(r,a){return n.coerce(t,e,s,r,a)}function c(t){var n=t+"axis",i={_fullLayout:{}};return i._fullLayout[n]=r[n],a.coercePosition(e,i,l,t,t,.5)}l("visible")&&(o(t,e,i.fullLayout,l),c("x"),c("y"),c("z"),n.noneOrAll(t,e,["x","y","z"]),e.xref="x",e.yref="y",e.zref="z",l("xanchor"),l("yanchor"),l("xshift"),l("yshift"),e.showarrow&&(e.axref="pixel",e.ayref="pixel",l("ax",-10),l("ay",-30),n.noneOrAll(t,e,["ax","ay"])))}e.exports=function(t,e,r){i(t,e,{name:"annotations",handleItemDefaults:l,fullLayout:r.fullLayout})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"../annotations/common_defaults":577,"./attributes":583}],586:[function(t,e,r){"use strict";var n=t("../annotations/draw").drawRaw,a=t("../../plots/gl3d/project"),i=["x","y","z"];e.exports=function(t){for(var e=t.fullSceneLayout,r=t.dataScale,o=e.annotations,s=0;s<o.length;s++){for(var l=o[s],c=!1,u=0;u<3;u++){var h=i[u],f=l[h],p=e[h+"axis"].r2fraction(f);if(p<0||p>1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=a(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},{"../../plots/gl3d/project":813,"../annotations/draw":580}],587:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(!r)return;for(var i=r.attrRegex,o=Object.keys(t),s=0;s<o.length;s++){var l=o[s];i.test(l)&&(t[l].annotations||[]).length&&(a.pushUnique(e._basePlotModules,r),a.pushUnique(e._subplots.gl3d,l))}},convert:t("./convert"),draw:t("./draw")}},{"../../lib":716,"../../registry":845,"./attributes":583,"./convert":584,"./defaults":585,"./draw":586}],588:[function(t,e,r){"use strict";e.exports=t("world-calendars/dist/main"),t("world-calendars/dist/plus"),t("world-calendars/dist/calendars/chinese"),t("world-calendars/dist/calendars/coptic"),t("world-calendars/dist/calendars/discworld"),t("world-calendars/dist/calendars/ethiopian"),t("world-calendars/dist/calendars/hebrew"),t("world-calendars/dist/calendars/islamic"),t("world-calendars/dist/calendars/julian"),t("world-calendars/dist/calendars/mayan"),t("world-calendars/dist/calendars/nanakshahi"),t("world-calendars/dist/calendars/nepali"),t("world-calendars/dist/calendars/persian"),t("world-calendars/dist/calendars/taiwan"),t("world-calendars/dist/calendars/thai"),t("world-calendars/dist/calendars/ummalqura")},{"world-calendars/dist/calendars/chinese":555,"world-calendars/dist/calendars/coptic":556,"world-calendars/dist/calendars/discworld":557,"world-calendars/dist/calendars/ethiopian":558,"world-calendars/dist/calendars/hebrew":559,"world-calendars/dist/calendars/islamic":560,"world-calendars/dist/calendars/julian":561,"world-calendars/dist/calendars/mayan":562,"world-calendars/dist/calendars/nanakshahi":563,"world-calendars/dist/calendars/nepali":564,"world-calendars/dist/calendars/persian":565,"world-calendars/dist/calendars/taiwan":566,"world-calendars/dist/calendars/thai":567,"world-calendars/dist/calendars/ummalqura":568,"world-calendars/dist/main":569,"world-calendars/dist/plus":570}],589:[function(t,e,r){"use strict";var n=t("./calendars"),a=t("../../lib"),i=t("../../constants/numerical"),o=i.EPOCHJD,s=i.ONEDAY,l={valType:"enumerated",values:Object.keys(n.calendars),editType:"calc",dflt:"gregorian"},c=function(t,e,r,n){var i={};return i[r]=l,a.coerce(t,e,i,r,n)},u="##",h={d:{0:"dd","-":"d"},e:{0:"d","-":"d"},a:{0:"D","-":"D"},A:{0:"DD","-":"DD"},j:{0:"oo","-":"o"},W:{0:"ww","-":"w"},m:{0:"mm","-":"m"},b:{0:"M","-":"M"},B:{0:"MM","-":"MM"},y:{0:"yy","-":"yy"},Y:{0:"yyyy","-":"yyyy"},U:u,w:u,c:{0:"D M d %X yyyy","-":"D M d %X yyyy"},x:{0:"mm/dd/yyyy","-":"mm/dd/yyyy"}};var f={};function p(t){var e=f[t];return e||(e=f[t]=n.instance(t))}function d(t){return a.extendFlat({},l,{description:t})}function g(t){return"Sets the calendar system to use with `"+t+"` date data."}var v={xcalendar:d(g("x"))},m=a.extendFlat({},v,{ycalendar:d(g("y"))}),y=a.extendFlat({},m,{zcalendar:d(g("z"))}),x=d(["Sets the calendar system to use for `range` and `tick0`","if this is a date axis. This does not set the calendar for","interpreting data on this axis, that's specified in the trace","or via the global `layout.calendar`"].join(" "));e.exports={moduleType:"component",name:"calendars",schema:{traces:{scatter:m,bar:m,box:m,heatmap:m,contour:m,histogram:m,histogram2d:m,histogram2dcontour:m,scatter3d:y,surface:y,mesh3d:y,scattergl:m,ohlc:v,candlestick:v},layout:{calendar:d(["Sets the default calendar system to use for interpreting and","displaying dates throughout the plot."].join(" "))},subplots:{xaxis:{calendar:x},yaxis:{calendar:x},scene:{xaxis:{calendar:x},yaxis:{calendar:x},zaxis:{calendar:x}},polar:{radialaxis:{calendar:x}}},transforms:{filter:{valuecalendar:d(["Sets the calendar system to use for `value`, if it is a date."].join(" ")),targetcalendar:d(["Sets the calendar system to use for `target`, if it is an","array of dates. If `target` is a string (eg *x*) we use the","corresponding trace attribute (eg `xcalendar`) if it exists,","even if `targetcalendar` is provided."].join(" "))}}},layoutAttributes:l,handleDefaults:c,handleTraceDefaults:function(t,e,r,n){for(var a=0;a<r.length;a++)c(t,e,r[a]+"calendar",n.calendar)},CANONICAL_SUNDAY:{chinese:"2000-01-02",coptic:"2000-01-03",discworld:"2000-01-03",ethiopian:"2000-01-05",hebrew:"5000-01-01",islamic:"1000-01-02",julian:"2000-01-03",mayan:"5000-01-01",nanakshahi:"1000-01-05",nepali:"2000-01-05",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-04",thai:"2000-01-04",ummalqura:"1400-01-06"},CANONICAL_TICK:{chinese:"2000-01-01",coptic:"2000-01-01",discworld:"2000-01-01",ethiopian:"2000-01-01",hebrew:"5000-01-01",islamic:"1000-01-01",julian:"2000-01-01",mayan:"5000-01-01",nanakshahi:"1000-01-01",nepali:"2000-01-01",persian:"1000-01-01",jalali:"1000-01-01",taiwan:"1000-01-01",thai:"2000-01-01",ummalqura:"1400-01-01"},DFLTRANGE:{chinese:["2000-01-01","2001-01-01"],coptic:["1700-01-01","1701-01-01"],discworld:["1800-01-01","1801-01-01"],ethiopian:["2000-01-01","2001-01-01"],hebrew:["5700-01-01","5701-01-01"],islamic:["1400-01-01","1401-01-01"],julian:["2000-01-01","2001-01-01"],mayan:["5200-01-01","5201-01-01"],nanakshahi:["0500-01-01","0501-01-01"],nepali:["2000-01-01","2001-01-01"],persian:["1400-01-01","1401-01-01"],jalali:["1400-01-01","1401-01-01"],taiwan:["0100-01-01","0101-01-01"],thai:["2500-01-01","2501-01-01"],ummalqura:["1400-01-01","1401-01-01"]},getCal:p,worldCalFmt:function(t,e,r){for(var n,a,i,l,c,f=Math.floor((e+.05)/s)+o,d=p(r).fromJD(f),g=0;-1!==(g=t.indexOf("%",g));)"0"===(n=t.charAt(g+1))||"-"===n||"_"===n?(i=3,a=t.charAt(g+2),"_"===n&&(n="-")):(a=n,n="0",i=2),(l=h[a])?(c=l===u?u:d.formatDate(l[n]),t=t.substr(0,g)+c+t.substr(g+i),g+=c.length):g+=i;return t}}},{"../../constants/numerical":692,"../../lib":716,"./calendars":588}],590:[function(t,e,r){"use strict";r.defaults=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],r.defaultLine="#444",r.lightLine="#eee",r.background="#fff",r.borderLine="#BEC8D9",r.lightFraction=1e3/11},{}],591:[function(t,e,r){"use strict";var n=t("tinycolor2"),a=t("fast-isnumeric"),i=e.exports={},o=t("./attributes");i.defaults=o.defaults;var s=i.defaultLine=o.defaultLine;i.lightLine=o.lightLine;var l=i.background=o.background;function c(t){if(a(t)||"string"!=typeof t)return t;var e=t.trim();if("rgb"!==e.substr(0,3))return t;var r=e.match(/^rgba?\s*\(([^()]*)\)$/);if(!r)return t;var n=r[1].trim().split(/\s*[\s,]\s*/),i="a"===e.charAt(3)&&4===n.length;if(!i&&3!==n.length)return t;for(var o=0;o<n.length;o++){if(!n[o].length)return t;if(n[o]=Number(n[o]),!(n[o]>=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return i?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}i.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},i.rgb=function(t){return i.tinyRGB(n(t))},i.opacity=function(t){return t?n(t).getAlpha():0},i.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},i.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var a=n(e||l).toRgb(),i=1===a.a?a:{r:255*(1-a.a)+a.r*a.a,g:255*(1-a.a)+a.g*a.a,b:255*(1-a.a)+a.b*a.a},o={r:i.r*(1-r.a)+r.r*r.a,g:i.g*(1-r.a)+r.g*r.a,b:i.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},i.contrast=function(t,e,r){var a=n(t);return 1!==a.getAlpha()&&(a=n(i.combine(t,l))),(a.isDark()?e?a.lighten(e):l:r?a.darken(r):s).toString()},i.stroke=function(t,e){var r=n(e);t.style({stroke:i.tinyRGB(r),"stroke-opacity":r.getAlpha()})},i.fill=function(t,e){var r=n(e);t.style({fill:i.tinyRGB(r),"fill-opacity":r.getAlpha()})},i.clean=function(t){if(t&&"object"==typeof t){var e,r,n,a,o=Object.keys(t);for(e=0;e<o.length;e++)if(a=t[n=o[e]],"color"===n.substr(n.length-5))if(Array.isArray(a))for(r=0;r<a.length;r++)a[r]=c(a[r]);else t[n]=c(a);else if("colorscale"===n.substr(n.length-10)&&Array.isArray(a))for(r=0;r<a.length;r++)Array.isArray(a[r])&&(a[r][1]=c(a[r][1]));else if(Array.isArray(a)){var s=a[0];if(!Array.isArray(s)&&s&&"object"==typeof s)for(r=0;r<a.length;r++)i.clean(a[r])}else a&&"object"==typeof a&&i.clean(a)}}},{"./attributes":590,"fast-isnumeric":227,tinycolor2:535}],592:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/layout_attributes"),a=t("../../plots/font_attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll;e.exports=o({thicknessmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"pixels"},thickness:{valType:"number",min:0,dflt:30},lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",dflt:1.02,min:-2,max:3},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},xpad:{valType:"number",min:0,dflt:10},y:{valType:"number",dflt:.5,min:-2,max:3},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle"},ypad:{valType:"number",min:0,dflt:10},outlinecolor:n.linecolor,outlinewidth:n.linewidth,bordercolor:n.linecolor,borderwidth:{valType:"number",min:0,dflt:0},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},tickmode:n.tickmode,nticks:n.nticks,tick0:n.tick0,dtick:n.dtick,tickvals:n.tickvals,ticktext:n.ticktext,ticks:i({},n.ticks,{dflt:""}),ticklen:n.ticklen,tickwidth:n.tickwidth,tickcolor:n.tickcolor,showticklabels:n.showticklabels,tickfont:a({}),tickangle:n.tickangle,tickformat:n.tickformat,tickformatstops:n.tickformatstops,tickprefix:n.tickprefix,showtickprefix:n.showtickprefix,ticksuffix:n.ticksuffix,showticksuffix:n.showticksuffix,separatethousands:n.separatethousands,exponentformat:n.exponentformat,showexponent:n.showexponent,title:{text:{valType:"string"},font:a({}),side:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}},_deprecated:{title:{valType:"string"},titlefont:a({}),titleside:{valType:"enumerated",values:["right","top","bottom"],dflt:"top"}}},"colorbars","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/cartesian/layout_attributes":776,"../../plots/font_attributes":790}],593:[function(t,e,r){"use strict";e.exports={cn:{colorbar:"colorbar",cbbg:"cbbg",cbfill:"cbfill",cbfills:"cbfills",cbline:"cbline",cblines:"cblines",cbaxis:"cbaxis",cbtitleunshift:"cbtitleunshift",cbtitle:"cbtitle",cboutline:"cboutline",crisp:"crisp",jsPlaceholder:"js-placeholder"}}},{}],594:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("../../plots/cartesian/tick_value_defaults"),o=t("../../plots/cartesian/tick_mark_defaults"),s=t("../../plots/cartesian/tick_label_defaults"),l=t("./attributes");e.exports=function(t,e,r){var c=a.newContainer(e,"colorbar"),u=t.colorbar||{};function h(t,e){return n.coerce(u,c,l,t,e)}var f=h("thicknessmode");h("thickness","fraction"===f?30/(r.width-r.margin.l-r.margin.r):30);var p=h("lenmode");h("len","fraction"===p?1:r.height-r.margin.t-r.margin.b),h("x"),h("xanchor"),h("xpad"),h("y"),h("yanchor"),h("ypad"),n.noneOrAll(u,c,["x","y"]),h("outlinecolor"),h("outlinewidth"),h("bordercolor"),h("borderwidth"),h("bgcolor"),i(u,c,h,"linear");var d={outerTicks:!1,font:r.font};s(u,c,h,"linear",d),o(u,c,h,"linear",d),h("title.text",r._dfltTitle.colorbar),n.coerceFont(h,"title.font",r.font),h("title.side")}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_mark_defaults":784,"../../plots/cartesian/tick_value_defaults":785,"./attributes":592}],595:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../dragelement"),c=t("../../lib"),u=t("../../lib/extend").extendFlat,h=t("../../lib/setcursor"),f=t("../drawing"),p=t("../color"),d=t("../titles"),g=t("../../lib/svg_text_utils"),v=t("../colorscale/helpers").flipScale,m=t("../../plots/cartesian/axis_defaults"),y=t("../../plots/cartesian/position_defaults"),x=t("../../plots/cartesian/layout_attributes"),b=t("../../constants/alignment"),_=b.LINE_SPACING,w=b.FROM_TL,k=b.FROM_BR,T=t("./constants").cn;e.exports={draw:function(t){var e=t._fullLayout._infolayer.selectAll("g."+T.colorbar).data(function(t){var e,r,n,a,i=t._fullLayout,o=t.calcdata,s=[];function l(t){return u(t,{_fillcolor:null,_line:{color:null,width:null,dash:null},_levels:{start:null,end:null,size:null},_filllevels:null,_fillgradient:null,_zrange:null})}function c(){"function"==typeof a.calc?a.calc(t,n,e):(e._fillgradient=r.reversescale?v(r.colorscale):r.colorscale,e._zrange=[r[a.min],r[a.max]])}for(var h=0;h<o.length;h++){var f=o[h],p=(n=f[0].trace)._module.colorbar;if(!0===n.visible&&p)for(var d=Array.isArray(p),g=d?p:[p],m=0;m<g.length;m++){var y=(a=g[m]).container;(r=y?n[y]:n)&&r.showscale&&((e=l(r.colorbar))._id="cb"+n.uid+(d&&y?"-"+y:""),e._traceIndex=n.index,e._propPrefix=(y?y+".":"")+"colorbar.",e._meta=n._meta,c(),s.push(e))}}for(var x in i._colorAxes)if((r=i[x]).showscale){var b=i._colorAxes[x];(e=l(r.colorbar))._id="cb"+x,e._propPrefix=x+".colorbar.",e._meta=i._meta,a={min:"cmin",max:"cmax"},"heatmap"!==b[0]&&(n=b[1],a.calc=n._module.colorbar.calc),c(),s.push(e)}return s}(t),function(t){return t._id});e.enter().append("g").attr("class",function(t){return t._id}).classed(T.colorbar,!0),e.each(function(e){var r=n.select(this);c.ensureSingle(r,"rect",T.cbbg),c.ensureSingle(r,"g",T.cbfills),c.ensureSingle(r,"g",T.cblines),c.ensureSingle(r,"g",T.cbaxis,function(t){t.classed(T.crisp,!0)}),c.ensureSingle(r,"g",T.cbtitleunshift,function(t){t.append("g").classed(T.cbtitle,!0)}),c.ensureSingle(r,"rect",T.cboutline);var v=function(t,e,r){var o=r._fullLayout,l=o._size,h=e._fillcolor,v=e._line,b=e.title,A=b.side,M=e._zrange||n.extent(("function"==typeof h?h:v.color).domain()),S="function"==typeof v.color?v.color:function(){return v.color},E="function"==typeof h?h:function(){return h},L=e._levels,C=function(t,e,r){var n,a,i=e._levels,o=[],s=[],l=i.end+i.size/100,c=i.size,u=1.001*r[0]-.001*r[1],h=1.001*r[1]-.001*r[0];for(a=0;a<1e5&&(n=i.start+a*c,!(c>0?n>=l:n<=l));a++)n>u&&n<h&&o.push(n);if(e._fillgradient)s=[0];else if("function"==typeof e._fillcolor){var f=e._filllevels;if(f)for(l=f.end+f.size/100,c=f.size,a=0;a<1e5&&(n=f.start+a*c,!(c>0?n>=l:n<=l));a++)n>r[0]&&n<r[1]&&s.push(n);else(s=o.map(function(t){return t-i.size/2})).push(s[s.length-1]+i.size)}else e._fillcolor&&"string"==typeof e._fillcolor&&(s=[0]);return i.size<0&&(o.reverse(),s.reverse()),{line:o,fill:s}}(0,e,M),P=C.fill,O=C.line,z=Math.round(e.thickness*("fraction"===e.thicknessmode?l.w:1)),I=z/l.w,D=Math.round(e.len*("fraction"===e.lenmode?l.h:1)),R=D/l.h,F=e.xpad/l.w,B=(e.borderwidth+e.outlinewidth)/2,N=e.ypad/l.h,j=Math.round(e.x*l.w+e.xpad),V=e.x-I*({middle:.5,right:1}[e.xanchor]||0),U=e.y+R*(({top:-.5,bottom:.5}[e.yanchor]||0)-.5),q=Math.round(l.h*(1-U)),H=q-D;e._lenFrac=R,e._thickFrac=I,e._xLeftFrac=V,e._yBottomFrac=U;var G=e._axis=function(t,e,r){var n=t._fullLayout,a={type:"linear",range:r,tickmode:e.tickmode,nticks:e.nticks,tick0:e.tick0,dtick:e.dtick,tickvals:e.tickvals,ticktext:e.ticktext,ticks:e.ticks,ticklen:e.ticklen,tickwidth:e.tickwidth,tickcolor:e.tickcolor,showticklabels:e.showticklabels,tickfont:e.tickfont,tickangle:e.tickangle,tickformat:e.tickformat,exponentformat:e.exponentformat,separatethousands:e.separatethousands,showexponent:e.showexponent,showtickprefix:e.showtickprefix,tickprefix:e.tickprefix,showticksuffix:e.showticksuffix,ticksuffix:e.ticksuffix,title:e.title,showline:!0,anchor:"free",side:"right",position:1},i={type:"linear",_id:"y"+e._id},o={letter:"y",font:n.font,noHover:!0,noTickson:!0,calendar:n.calendar};function s(t,e){return c.coerce(a,i,x,t,e)}return m(a,i,s,o,n),y(a,i,s,o),i}(r,e,M);if(G.position=e.x+F+I,-1!==["top","bottom"].indexOf(A)&&(G.title.side=A,G.titlex=e.x+F,G.titley=U+("top"===b.side?R-N:N)),v.color&&"auto"===e.tickmode){G.tickmode="linear",G.tick0=L.start;var Y=L.size,W=c.constrain((q-H)/50,4,15)+1,X=(M[1]-M[0])/((e.nticks||W)*Y);if(X>1){var Z=Math.pow(10,Math.floor(Math.log(X)/Math.LN10));Y*=Z*c.roundUp(X/Z,[2,5,10]),(Math.abs(L.start)/L.size+1e-6)%1<2e-6&&(G.tick0=0)}G.dtick=Y}G.domain=[U+N,U+R-N],G.setScale(),t.attr("transform","translate("+Math.round(l.l)+","+Math.round(l.t)+")");var J,K=t.select("."+T.cbtitleunshift).attr("transform","translate(-"+Math.round(l.l)+",-"+Math.round(l.t)+")"),Q=t.select("."+T.cbaxis),$=0;function tt(n,a){var i={propContainer:G,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:o._dfltTitle.colorbar,containerGroup:t.select("."+T.cbtitle)},s="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+s+",."+s+"-math-group").remove(),d.draw(r,n,u(i,a||{}))}return c.syncOrAsync([i.previousPromises,function(){if(-1!==["top","bottom"].indexOf(A)){var t,r=l.l+(e.x+F)*l.w,n=G.title.font.size;t="top"===A?(1-(U+R-N))*l.h+l.t+3+.75*n:(1-(U+N))*l.h+l.t-3-.25*n,tt(G._id+"title",{attributes:{x:r,y:t,"text-anchor":"start"}})}},function(){if(-1!==["top","bottom"].indexOf(A)){var i=t.select("."+T.cbtitle),o=i.select("text"),u=[-e.outlinewidth/2,e.outlinewidth/2],h=i.select(".h"+G._id+"title-math-group").node(),p=15.6;if(o.node()&&(p=parseInt(o.node().style.fontSize,10)*_),h?($=f.bBox(h).height)>p&&(u[1]-=($-p)/2):o.node()&&!o.classed(T.jsPlaceholder)&&($=f.bBox(o.node()).height),$){if($+=5,"top"===A)G.domain[1]-=$/l.h,u[1]*=-1;else{G.domain[0]+=$/l.h;var d=g.lineCount(o);u[1]+=(1-d)*p}i.attr("transform","translate("+u+")"),G.setScale()}}t.selectAll("."+T.cbfills+",."+T.cblines).attr("transform","translate(0,"+Math.round(l.h*(1-G.domain[1]))+")"),Q.attr("transform","translate(0,"+Math.round(-l.t)+")");var m=t.select("."+T.cbfills).selectAll("rect."+T.cbfill).data(P);m.enter().append("rect").classed(T.cbfill,!0).style("stroke","none"),m.exit().remove();var y=M.map(G.c2p).map(Math.round).sort(function(t,e){return t-e});m.each(function(t,i){var o=[0===i?M[0]:(P[i]+P[i-1])/2,i===P.length-1?M[1]:(P[i]+P[i+1])/2].map(G.c2p).map(Math.round);o[1]=c.constrain(o[1]+(o[1]>o[0])?1:-1,y[0],y[1]);var s=n.select(this).attr({x:j,width:Math.max(z,2),y:n.min(o),height:Math.max(n.max(o)-n.min(o),2)});if(e._fillgradient)f.gradient(s,r,e._id,"vertical",e._fillgradient,"fill");else{var l=E(t).replace("e-","");s.attr("fill",a(l).toHexString())}});var x=t.select("."+T.cblines).selectAll("path."+T.cbline).data(v.color&&v.width?O:[]);x.enter().append("path").classed(T.cbline,!0),x.exit().remove(),x.each(function(t){n.select(this).attr("d","M"+j+","+(Math.round(G.c2p(t))+v.width/2%1)+"h"+z).call(f.lineGroupStyle,v.width,S(t),v.dash)}),Q.selectAll("g."+G._id+"tick,path").remove();var b=j+z+(e.outlinewidth||0)/2-("outside"===e.ticks?1:0),w=s.calcTicks(G),k=s.makeTransFn(G),L=s.getTickSigns(G)[2];return s.drawTicks(r,G,{vals:"inside"===G.ticks?s.clipEnds(G,w):w,layer:Q,path:s.makeTickPath(G,b,L),transFn:k}),s.drawLabels(r,G,{vals:w,layer:Q,transFn:k,labelFns:s.makeLabelFns(G,b)})},function(){if(-1===["top","bottom"].indexOf(A)){var t=G.title.font.size,e=G._offset+G._length/2,a=l.l+(G.position||0)*l.w+("right"===G.side?10+t*(G.showticklabels?1:.5):-10-t*(G.showticklabels?.5:0));tt("h"+G._id+"title",{avoid:{selection:n.select(r).selectAll("g."+G._id+"tick"),side:A,offsetLeft:l.l,offsetTop:0,maxShift:o.width},attributes:{x:a,y:e,"text-anchor":"middle"},transform:{rotate:"-90",offset:0}})}},i.previousPromises,function(){var n=z+e.outlinewidth/2+f.bBox(Q.node()).width;if((J=K.select("text")).node()&&!J.classed(T.jsPlaceholder)){var a,o=K.select(".h"+G._id+"title-math-group").node();a=o&&-1!==["top","bottom"].indexOf(A)?f.bBox(o).width:f.bBox(K.node()).right-j-l.l,n=Math.max(n,a)}var s=2*e.xpad+n+e.borderwidth+e.outlinewidth/2,c=q-H;t.select("."+T.cbbg).attr({x:j-e.xpad-(e.borderwidth+e.outlinewidth)/2,y:H-B,width:Math.max(s,2),height:Math.max(c+2*B,2)}).call(p.fill,e.bgcolor).call(p.stroke,e.bordercolor).style("stroke-width",e.borderwidth),t.selectAll("."+T.cboutline).attr({x:j,y:H+e.ypad+("top"===A?$:0),width:Math.max(z,2),height:Math.max(c-2*e.ypad-$,2)}).call(p.stroke,e.outlinecolor).style({fill:"none","stroke-width":e.outlinewidth});var u=({center:.5,right:1}[e.xanchor]||0)*s;t.attr("transform","translate("+(l.l-u)+","+l.t+")");var h={},d=w[e.yanchor],g=k[e.yanchor];"pixels"===e.lenmode?(h.y=e.y,h.t=c*d,h.b=c*g):(h.t=h.b=0,h.yt=e.y+e.len*d,h.yb=e.y-e.len*g);var v=w[e.xanchor],m=k[e.xanchor];if("pixels"===e.thicknessmode)h.x=e.x,h.l=s*v,h.r=s*m;else{var y=s-z;h.l=y*v,h.r=y*m,h.xl=e.x-e.thickness*v,h.xr=e.x+e.thickness*m}i.autoMargin(r,e._id,h)}],r)}(r,e,t);v&&v.then&&(t._promises||[]).push(v),t._context.edits.colorbarPosition&&function(t,e,r){var n,a,i,s=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+" translate("+r+","+o+")"),a=l.align(e._xLeftFrac+r/s.w,e._thickFrac,0,1,e.xanchor),i=l.align(e._yBottomFrac-o/s.h,e._lenFrac,0,1,e.yanchor);var c=l.getCursor(a,i,e.xanchor,e.yanchor);h(t,c)},doneFn:function(){if(h(t),void 0!==a&&void 0!==i){var n={};n[e._propPrefix+"x"]=a,n[e._propPrefix+"y"]=i,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)}),e.exit().each(function(e){i.autoMargin(t,e._id)}).remove(),e.order()}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/extend":707,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"../../plots/plots":825,"../../registry":845,"../color":591,"../colorscale/helpers":602,"../dragelement":609,"../drawing":612,"../titles":678,"./constants":593,d3:164,tinycolor2:535}],596:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t){return n.isPlainObject(t.colorbar)}},{"../../lib":716}],597:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"colorbar",attributes:t("./attributes"),supplyDefaults:t("./defaults"),draw:t("./draw").draw,hasColorbar:t("./has_colorbar")}},{"./attributes":592,"./defaults":594,"./draw":595,"./has_colorbar":596}],598:[function(t,e,r){"use strict";var n=t("../colorbar/attributes"),a=t("../../lib/regex").counter,i=t("./scales.js").scales;Object.keys(i);function o(t){return"`"+t+"`"}e.exports=function(t,e){t=t||"";var r,s=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===s,u="string"==typeof e.colorscaleDflt?i[e.colorscaleDflt]:null,h=e.editTypeOverride||"",f=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):o(f+(r={z:"z",c:"color"}[s]));var p=s+"auto",d=s+"min",g=s+"max",v=s+"mid",m=(o(f+p),o(f+d),o(f+g),{});m[d]=m[g]=void 0;var y={};y[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:h||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:m},x[d]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[g]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:y},x[v]={valType:"number",dflt:null,editType:"calc",impliedEdits:m},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:a("coloraxis"),dflt:null,editType:"calc"}),x}},{"../../lib/regex":732,"../colorbar/attributes":592,"./scales.js":606}],599:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("./helpers").extractOpts;e.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?a.nestedProperty(e,c).get():e,h=i(u),f=!1!==h.auto,p=h.min,d=h.max,g=h.mid,v=function(){return a.aggNums(Math.min,null,l)},m=function(){return a.aggNums(Math.max,null,l)};(void 0===p?p=v():f&&(p=u._colorAx&&n(p)?Math.min(p,v()):v()),void 0===d?d=m():f&&(d=u._colorAx&&n(d)?Math.max(d,m()):m()),f&&void 0!==g&&(d-g>g-p?p=g-(d-g):d-g<g-p&&(d=g+(g-p))),p===d&&(p-=.5,d+=.5),h._sync("min",p),h._sync("max",d),h.autocolorscale)&&(o=p*d<0?s.colorscale.diverging:p>=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}},{"../../lib":716,"./helpers":602,"fast-isnumeric":227}],600:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./helpers").hasColorscale,i=t("./helpers").extractOpts;e.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,a){var o=a.container?n.nestedProperty(t,a.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=i(o),l=s.auto;(l||void 0===s.min)&&r(o,a.min),(l||void 0===s.max)&&r(o,a.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s<t.length;s++){var l=t[s],c=l._module.colorbar;if(c)if(Array.isArray(c))for(var u=0;u<c.length;u++)o(l,c[u]);else o(l,c);a(l,"marker.line")&&o(l,{container:"marker.line",min:"cmin",max:"cmax"})}for(var h in e._colorAxes)o(e[h],{min:"cmin",max:"cmax"})}},{"../../lib":716,"./helpers":602}],601:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../colorbar/has_colorbar"),o=t("../colorbar/defaults"),s=t("./scales").isValid,l=t("../../registry").traceIs;function c(t,e){var r=e.slice(0,e.length-1);return e?a.nestedProperty(t,r).get()||{}:t}e.exports=function t(e,r,u,h,f){var p=f.prefix,d=f.cLetter,g="_module"in r,v=c(e,p),m=c(r,p),y=c(r._template||{},p)||{},x=function(){return delete e.coloraxis,delete r.coloraxis,t(e,r,u,h,f)};if(g){var b=u._colorAxes||{},_=h(p+"coloraxis");if(_){var w=l(r,"contour")&&a.nestedProperty(r,"contours.coloring").get()||"heatmap",k=b[_];return void(k?(k[2].push(x),k[0]!==w&&(k[0]=!1,a.warn(["Ignoring coloraxis:",_,"setting","as it is linked to incompatible colorscales."].join(" ")))):b[_]=[w,r,[x]])}}var T=v[d+"min"],A=v[d+"max"],M=n(T)&&n(A)&&T<A;h(p+d+"auto",!M)?h(p+d+"mid"):(h(p+d+"min"),h(p+d+"max"));var S,E,L=v.colorscale,C=y.colorscale;(void 0!==L&&(S=!s(L)),void 0!==C&&(S=!s(C)),h(p+"autocolorscale",S),h(p+"colorscale"),h(p+"reversescale"),"marker.line."!==p)&&(p&&g&&(E=i(v)),h(p+"showscale",E)&&o(v,m,u))}},{"../../lib":716,"../../registry":845,"../colorbar/defaults":594,"../colorbar/has_colorbar":596,"./scales":606,"fast-isnumeric":227}],602:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("fast-isnumeric"),o=t("../../lib"),s=t("../color"),l=t("./scales").isValid;var c=["showscale","autocolorscale","colorscale","reversescale","colorbar"],u=["min","max","mid","auto"];function h(t){var e,r,n,a=t._colorAx,i=a||t,o={};for(r=0;r<c.length;r++)o[n=c[r]]=i[n];if(a)for(e="c",r=0;r<u.length;r++)o[n=u[r]]=i["c"+n];else{var s;for(r=0;r<u.length;r++)(s="c"+(n=u[r]))in i?o[n]=i[s]:(s="z"+n)in i&&(o[n]=i[s]);e=s.charAt(0)}return o._sync=function(t,r){var n=-1!==u.indexOf(t)?e+t:t;i[n]=i["_"+n]=r},o}function f(t){for(var e=h(t),r=e.min,n=e.max,a=e.reversescale?p(e.colorscale):e.colorscale,i=a.length,o=new Array(i),s=new Array(i),l=0;l<i;l++){var c=a[l];o[l]=r+c[0]*(n-r),s[l]=c[1]}return{domain:o,range:s}}function p(t){for(var e=t.length,r=new Array(e),n=e-1,a=0;n>=0;n--,a++){var i=t[n];r[a]=[1-i[0],i[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u<l;u++){var h=a(o[u]).toRgb();c[u]=[h.r,h.g,h.b,h.a]}var f,p=n.scale.linear().domain(r).range(c).clamp(!0),d=e.noNumericCheck,v=e.returnArray;return(f=d&&v?p:d?function(t){return g(p(t))}:v?function(t){return i(t)?p(t):a(t).isValid()?t:s.defaultLine}:function(t){return i(t)?g(p(t)):a(t).isValid()?t:s.defaultLine}).domain=p.domain,f.range=function(){return o},f}function g(t){var e={r:t[0],g:t[1],b:t[2],a:t[3]};return a(e).toRgbString()}e.exports={hasColorscale:function(t,e,r){var n=e?o.nestedProperty(t,e).get()||{}:t,a=n[r||"color"],s=!1;if(o.isArrayOrTypedArray(a))for(var c=0;c<a.length;c++)if(i(a[c])){s=!0;break}return o.isPlainObject(n)&&(s||!0===n.showscale||i(n.cmin)&&i(n.cmax)||l(n.colorscale)||o.isPlainObject(n.colorbar))},extractOpts:h,extractScale:f,flipScale:p,makeColorScaleFunc:d,makeColorScaleFuncFromTrace:function(t,e){return d(f(t),e)}}},{"../../lib":716,"../color":591,"./scales":606,d3:164,"fast-isnumeric":227,tinycolor2:535}],603:[function(t,e,r){"use strict";var n=t("./scales"),a=t("./helpers");e.exports={moduleType:"component",name:"colorscale",attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),handleDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc"),scales:n.scales,defaultScale:n.defaultScale,getScale:n.get,isValidScale:n.isValid,hasColorscale:a.hasColorscale,extractOpts:a.extractOpts,extractScale:a.extractScale,flipScale:a.flipScale,makeColorScaleFunc:a.makeColorScaleFunc,makeColorScaleFuncFromTrace:a.makeColorScaleFuncFromTrace}},{"./attributes":598,"./calc":599,"./cross_trace_defaults":600,"./defaults":601,"./helpers":602,"./layout_attributes":604,"./layout_defaults":605,"./scales":606}],604:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("./attributes"),i=t("./scales").scales;e.exports={editType:"calc",colorscale:{editType:"calc",sequential:{valType:"colorscale",dflt:i.Reds,editType:"calc"},sequentialminus:{valType:"colorscale",dflt:i.Blues,editType:"calc"},diverging:{valType:"colorscale",dflt:i.RdBu,editType:"calc"}},coloraxis:n({_isSubplotObj:!0,editType:"calc"},a("",{colorAttr:"corresponding trace color array(s)",noColorAxis:!0,showScaleDflt:!0}))}},{"../../lib/extend":707,"./attributes":598,"./scales":606}],605:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("./layout_attributes"),o=t("./defaults");e.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("colorscale.sequential"),r("colorscale.sequentialminus"),r("colorscale.diverging");var s,l,c=e._colorAxes;function u(t,e){return n.coerce(s,l,i.coloraxis,t,e)}for(var h in c){var f=c[h];if(f[0])s=t[h]||{},(l=a.newContainer(e,h,"coloraxis"))._name=h,o(s,l,e,u,{prefix:"",cLetter:"c"});else{for(var p=0;p<f[2].length;p++)f[2][p]();delete e._colorAxes[h]}}}},{"../../lib":716,"../../plot_api/plot_template":754,"./defaults":601,"./layout_attributes":604}],606:[function(t,e,r){"use strict";var n=t("tinycolor2"),a={Greys:[[0,"rgb(0,0,0)"],[1,"rgb(255,255,255)"]],YlGnBu:[[0,"rgb(8,29,88)"],[.125,"rgb(37,52,148)"],[.25,"rgb(34,94,168)"],[.375,"rgb(29,145,192)"],[.5,"rgb(65,182,196)"],[.625,"rgb(127,205,187)"],[.75,"rgb(199,233,180)"],[.875,"rgb(237,248,217)"],[1,"rgb(255,255,217)"]],Greens:[[0,"rgb(0,68,27)"],[.125,"rgb(0,109,44)"],[.25,"rgb(35,139,69)"],[.375,"rgb(65,171,93)"],[.5,"rgb(116,196,118)"],[.625,"rgb(161,217,155)"],[.75,"rgb(199,233,192)"],[.875,"rgb(229,245,224)"],[1,"rgb(247,252,245)"]],YlOrRd:[[0,"rgb(128,0,38)"],[.125,"rgb(189,0,38)"],[.25,"rgb(227,26,28)"],[.375,"rgb(252,78,42)"],[.5,"rgb(253,141,60)"],[.625,"rgb(254,178,76)"],[.75,"rgb(254,217,118)"],[.875,"rgb(255,237,160)"],[1,"rgb(255,255,204)"]],Bluered:[[0,"rgb(0,0,255)"],[1,"rgb(255,0,0)"]],RdBu:[[0,"rgb(5,10,172)"],[.35,"rgb(106,137,247)"],[.5,"rgb(190,190,190)"],[.6,"rgb(220,170,132)"],[.7,"rgb(230,145,90)"],[1,"rgb(178,10,28)"]],Reds:[[0,"rgb(220,220,220)"],[.2,"rgb(245,195,157)"],[.4,"rgb(245,160,105)"],[1,"rgb(178,10,28)"]],Blues:[[0,"rgb(5,10,172)"],[.35,"rgb(40,60,190)"],[.5,"rgb(70,100,245)"],[.6,"rgb(90,120,245)"],[.7,"rgb(106,137,247)"],[1,"rgb(220,220,220)"]],Picnic:[[0,"rgb(0,0,255)"],[.1,"rgb(51,153,255)"],[.2,"rgb(102,204,255)"],[.3,"rgb(153,204,255)"],[.4,"rgb(204,204,255)"],[.5,"rgb(255,255,255)"],[.6,"rgb(255,204,255)"],[.7,"rgb(255,153,255)"],[.8,"rgb(255,102,204)"],[.9,"rgb(255,102,102)"],[1,"rgb(255,0,0)"]],Rainbow:[[0,"rgb(150,0,90)"],[.125,"rgb(0,0,200)"],[.25,"rgb(0,25,255)"],[.375,"rgb(0,152,255)"],[.5,"rgb(44,255,150)"],[.625,"rgb(151,255,0)"],[.75,"rgb(255,234,0)"],[.875,"rgb(255,111,0)"],[1,"rgb(255,0,0)"]],Portland:[[0,"rgb(12,51,131)"],[.25,"rgb(10,136,186)"],[.5,"rgb(242,211,56)"],[.75,"rgb(242,143,56)"],[1,"rgb(217,30,30)"]],Jet:[[0,"rgb(0,0,131)"],[.125,"rgb(0,60,170)"],[.375,"rgb(5,255,255)"],[.625,"rgb(255,255,0)"],[.875,"rgb(250,0,0)"],[1,"rgb(128,0,0)"]],Hot:[[0,"rgb(0,0,0)"],[.3,"rgb(230,0,0)"],[.6,"rgb(255,210,0)"],[1,"rgb(255,255,255)"]],Blackbody:[[0,"rgb(0,0,0)"],[.2,"rgb(230,0,0)"],[.4,"rgb(230,210,0)"],[.7,"rgb(255,255,255)"],[1,"rgb(160,200,255)"]],Earth:[[0,"rgb(0,0,130)"],[.1,"rgb(0,180,180)"],[.2,"rgb(40,210,40)"],[.4,"rgb(230,230,50)"],[.6,"rgb(120,70,20)"],[1,"rgb(255,255,255)"]],Electric:[[0,"rgb(0,0,0)"],[.15,"rgb(30,0,100)"],[.4,"rgb(120,0,100)"],[.6,"rgb(160,90,0)"],[.8,"rgb(230,200,0)"],[1,"rgb(255,250,220)"]],Viridis:[[0,"#440154"],[.06274509803921569,"#48186a"],[.12549019607843137,"#472d7b"],[.18823529411764706,"#424086"],[.25098039215686274,"#3b528b"],[.3137254901960784,"#33638d"],[.3764705882352941,"#2c728e"],[.4392156862745098,"#26828e"],[.5019607843137255,"#21918c"],[.5647058823529412,"#1fa088"],[.6274509803921569,"#28ae80"],[.6901960784313725,"#3fbc73"],[.7529411764705882,"#5ec962"],[.8156862745098039,"#84d44b"],[.8784313725490196,"#addc30"],[.9411764705882353,"#d8e219"],[1,"#fde725"]],Cividis:[[0,"rgb(0,32,76)"],[.058824,"rgb(0,42,102)"],[.117647,"rgb(0,52,110)"],[.176471,"rgb(39,63,108)"],[.235294,"rgb(60,74,107)"],[.294118,"rgb(76,85,107)"],[.352941,"rgb(91,95,109)"],[.411765,"rgb(104,106,112)"],[.470588,"rgb(117,117,117)"],[.529412,"rgb(131,129,120)"],[.588235,"rgb(146,140,120)"],[.647059,"rgb(161,152,118)"],[.705882,"rgb(176,165,114)"],[.764706,"rgb(192,177,109)"],[.823529,"rgb(209,191,102)"],[.882353,"rgb(225,204,92)"],[.941176,"rgb(243,219,79)"],[1,"rgb(255,233,69)"]]},i=a.RdBu;function o(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var a=t[r];if(2!==a.length||+a[0]<e||!n(a[1]).isValid())return!1;e=+a[0]}return!0}e.exports={scales:a,defaultScale:i,get:function(t,e){if(e||(e=i),!t)return e;function r(){try{t=a[t]||JSON.parse(t)}catch(r){t=e}}return"string"==typeof t&&(r(),"string"==typeof t&&r()),o(t)?t:e},isValid:function(t){return void 0!==a[t]||o(t)}}},{tinycolor2:535}],607:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=(t-r)/(n-r),o=i+e/(n-r),s=(i+o)/2;return"left"===a||"bottom"===a?i:"center"===a||"middle"===a?s:"right"===a||"top"===a?o:i<2/3-s?i:o>4/3-s?o:s}},{}],608:[function(t,e,r){"use strict";var n=t("../../lib"),a=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];e.exports=function(t,e,r,i){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===i?0:"middle"===i?1:"top"===i?2:n.constrain(Math.floor(3*e),0,2),a[e][t]}},{"../../lib":716}],609:[function(t,e,r){"use strict";var n=t("mouse-event-offset"),a=t("has-hover"),i=t("has-passive-events"),o=t("../../lib").removeElement,s=t("../../plots/cartesian/constants"),l=e.exports={};l.align=t("./align"),l.getCursor=t("./cursor");var c=t("./unhover");function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,g,v=t.gd,m=1,y=v._context.doubleClickDelay,x=t.element;v._mouseDownTime||(v._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,i?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)<r&&(t=0),Math.abs(e)<r&&(e=0),[t,e]};function _(i){v._dragged=!1,v._dragging=!0;var o=h(i);e=o[0],r=o[1],d=i.target,p=i,g=2===i.buttons||i.ctrlKey,"undefined"==typeof i.clientX&&"undefined"==typeof i.clientY&&(i.clientX=e,i.clientY=r),(n=(new Date).getTime())-v._mouseDownTime<y?m+=1:(m=1,v._mouseDownTime=n),t.prepFn&&t.prepFn(i,e,r),a&&!g?(f=u()).style.cursor=window.getComputedStyle(x).cursor:a||(f=document,c=window.getComputedStyle(document.documentElement).cursor,document.documentElement.style.cursor=window.getComputedStyle(x).cursor),document.addEventListener("mouseup",k),document.addEventListener("touchend",k),!1!==t.dragmode&&(i.preventDefault(),document.addEventListener("mousemove",w),document.addEventListener("touchmove",w,{passive:!1}))}function w(n){n.preventDefault();var a=h(n),i=t.minDrag||s.MINDRAG,o=b(a[0]-e,a[1]-r,i),c=o[0],u=o[1];(c||u)&&(v._dragged=!0,l.unhover(v)),v._dragged&&t.moveFn&&!g&&(v._dragdata={element:x,dx:c,dy:u},t.moveFn(c,u))}function k(e){if(delete v._dragdata,!1!==t.dragmode&&(e.preventDefault(),document.removeEventListener("mousemove",w),document.removeEventListener("touchmove",w)),document.removeEventListener("mouseup",k),document.removeEventListener("touchend",k),a?o(f):c&&(f.documentElement.style.cursor=c,c=null),v._dragging){if(v._dragging=!1,(new Date).getTime()-v._mouseDownTime>y&&(m=Math.max(m-1,1)),v._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(m,p),!g){var r;try{r=new MouseEvent("click",e)}catch(t){var n=h(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}v._dragging=!1,v._dragged=!1}else v._dragged=!1}},l.coverSlip=u},{"../../lib":716,"../../plots/cartesian/constants":770,"./align":607,"./cursor":608,"./unhover":610,"has-hover":411,"has-passive-events":412,"mouse-event-offset":437}],610:[function(t,e,r){"use strict";var n=t("../../lib/events"),a=t("../../lib/throttle"),i=t("../../lib/dom").getGraphDiv,o=t("../fx/constants"),s=e.exports={};s.wrapped=function(t,e,r){(t=i(t))._fullLayout&&a.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,a=t._hoverdata;e||(e={}),e.target&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&a&&t.emit("plotly_unhover",{event:e,points:a}))}},{"../../lib/dom":705,"../../lib/events":706,"../../lib/throttle":741,"../fx/constants":624}],611:[function(t,e,r){"use strict";r.dash={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"}},{}],612:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../registry"),s=t("../color"),l=t("../colorscale"),c=t("../../lib"),u=t("../../lib/svg_text_utils"),h=t("../../constants/xmlns_namespaces"),f=t("../../constants/alignment").LINE_SPACING,p=t("../../constants/interactions").DESELECTDIM,d=t("../../traces/scatter/subtypes"),g=t("../../traces/scatter/make_bubble_size_func"),v=t("../../components/fx/helpers").appendArrayPointValue,m=e.exports={};m.font=function(t,e,r,n){c.isPlainObject(e)&&(n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(s.fill,n)},m.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},m.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},m.setRect=function(t,e,r,n,a){t.call(m.setPosition,e,r).call(m.setSize,n,a)},m.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),o=n.c2p(t.y);return!!(a(i)&&a(o)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",o):e.attr("transform","translate("+i+","+o+")"),!0)},m.translatePoints=function(t,e,r){t.each(function(t){var a=n.select(this);m.translatePoint(t,a,e,r)})},m.hideOutsideRangePoint=function(t,e,r,n,a,i){e.attr("display",r.isPtWithinRange(t,a)&&n.isPtWithinRange(t,i)?null:"none")},m.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,a=e.yaxis;t.each(function(e){var i=e[0].trace,s=i.xcalendar,l=i.ycalendar,c=o.traceIs(i,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each(function(t){m.hideOutsideRangePoint(t,n.select(this),r,a,s,l)})})}},m.crispRound=function(t,e,r){return e&&a(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},m.singleLineStyle=function(t,e,r,n,a){e.style("fill","none");var i=(((t||[])[0]||{}).trace||{}).line||{},o=r||i.width||0,l=a||i.dash||"";s.stroke(e,n||i.color),m.dashLine(e,l,o)},m.lineGroupStyle=function(t,e,r,a){t.style("fill","none").each(function(t){var i=(((t||[])[0]||{}).trace||{}).line||{},o=e||i.width||0,l=a||i.dash||"";n.select(this).call(s.stroke,r||i.color).call(m.dashLine,l,o)})},m.dashLine=function(t,e,r){r=+r||0,e=m.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},m.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},m.singleFillStyle=function(t){var e=(((n.select(t.node()).data()[0]||[])[0]||{}).trace||{}).fillcolor;e&&t.call(s.fill,e)},m.fillGroupStyle=function(t){t.style("stroke-width",0).each(function(t){var e=n.select(this);t[0].trace&&e.call(s.fill,t[0].trace.fillcolor)})};var y=t("./symbol_defs");m.symbolNames=[],m.symbolFuncs=[],m.symbolNeedLines={},m.symbolNoDot={},m.symbolNoFill={},m.symbolList=[],Object.keys(y).forEach(function(t){var e=y[t];m.symbolList=m.symbolList.concat([e.n,t,e.n+100,t+"-open"]),m.symbolNames[e.n]=t,m.symbolFuncs[e.n]=e.f,e.needLine&&(m.symbolNeedLines[e.n]=!0),e.noDot?m.symbolNoDot[e.n]=!0:m.symbolList=m.symbolList.concat([e.n+200,t+"-dot",e.n+300,t+"-open-dot"]),e.noFill&&(m.symbolNoFill[e.n]=!0)});var x=m.symbolNames.length,b="M0,0.5L0.5,0L0,-0.5L-0.5,0Z";function _(t,e){var r=t%100;return m.symbolFuncs[r](e)+(t>=200?b:"")}m.symbolNumber=function(t){if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=m.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=x||t>=400?0:Math.floor(Math.max(t,0))};var w={x1:1,x2:0,y1:0,y2:0},k={x1:0,x2:0,y1:1,y2:0},T=n.format("~.1f"),A={radial:{node:"radialGradient"},radialreversed:{node:"radialGradient",reversed:!0},horizontal:{node:"linearGradient",attrs:w},horizontalreversed:{node:"linearGradient",attrs:w,reversed:!0},vertical:{node:"linearGradient",attrs:k},verticalreversed:{node:"linearGradient",attrs:k,reversed:!0}};m.gradient=function(t,e,r,a,o,l){for(var u=o.length,h=A[a],f=new Array(u),p=0;p<u;p++)h.reversed?f[u-1-p]=[T(100*(1-o[p][0])),o[p][1]]:f[p]=[T(100*o[p][0]),o[p][1]];var d="g"+e._fullLayout._uid+"-"+r,g=e._fullLayout._defs.select(".gradients").selectAll("#"+d).data([a+f.join(";")],c.identity);g.exit().remove(),g.enter().append(h.node).each(function(){var t=n.select(this);h.attrs&&t.attr(h.attrs),t.attr("id",d);var e=t.selectAll("stop").data(f);e.exit().remove(),e.enter().append("stop"),e.each(function(t){var e=i(t[1]);n.select(this).attr({offset:t[0]+"%","stop-color":s.tinyRGB(e),"stop-opacity":e.getAlpha()})})}),t.style(l,D(d,e)).style(l+"-opacity",null)},m.initGradients=function(t){c.ensureSingle(t._fullLayout._defs,"g","gradients").selectAll("linearGradient,radialGradient").remove()},m.pointStyle=function(t,e,r){if(t.size()){var a=m.makePointStyleFns(e);t.each(function(t){m.singlePointStyle(t,n.select(this),e,a,r)})}},m.singlePointStyle=function(t,e,r,n,a){var i=r.marker,o=i.line;if(e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?i.opacity:t.mo),n.ms2mrc){var l;l="various"===t.ms||"various"===i.size?3:n.ms2mrc(t.ms),t.mrc=l,n.selectedSizeFn&&(l=t.mrc=n.selectedSizeFn(t));var u=m.symbolNumber(t.mx||i.symbol)||0;t.om=u%200>=100,e.attr("d",_(u,l))}var h,f,p,d=!1;if(t.so)p=o.outlierwidth,f=o.outliercolor,h=i.outliercolor;else{var g=(o||{}).width;p=(t.mlw+1||g+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,f="mlc"in t?t.mlcc=n.lineScale(t.mlc):c.isArrayOrTypedArray(o.color)?s.defaultLine:o.color,c.isArrayOrTypedArray(i.color)&&(h=s.defaultLine,d=!0),h="mc"in t?t.mcc=n.markerScale(t.mc):i.color||"rgba(0,0,0,0)",n.selectedColorFn&&(h=n.selectedColorFn(t))}if(t.om)e.call(s.stroke,h).style({"stroke-width":(p||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:p)+"px");var v=i.gradient,y=t.mgt;if(y?d=!0:y=v&&v.type,Array.isArray(y)&&(y=y[0],A[y]||(y=0)),y&&"none"!==y){var x=t.mgc;x?d=!0:x=v.color;var b=r.uid;d&&(b+="-"+t.i),m.gradient(e,a,b,y,[[0,x],[1,h]],"fill")}else s.fill(e,h);p&&s.stroke(e,f)}},m.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=m.tryColorscale(r,""),e.lineScale=m.tryColorscale(r,"line"),o.traceIs(t,"symbols")&&(e.ms2mrc=d.isBubble(t)?g(t):function(){return(r.size||6)/2}),t.selectedpoints&&c.extendFlat(e,m.makeSelectedPointStyleFns(t)),e},m.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},i=r.marker||{},s=n.marker||{},l=a.opacity,u=i.opacity,h=s.opacity,f=void 0!==u,d=void 0!==h;(c.isArrayOrTypedArray(l)||f||d)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:d?h:p*e});var g=a.color,v=i.color,m=s.color;(v||m)&&(e.selectedColorFn=function(t){var e=t.mcc||g;return t.selected?v||e:m||e});var y=a.size,x=i.size,b=s.size,_=void 0!==x,w=void 0!==b;return o.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||y/2;return t.selected?_?x/2:e:w?b/2:e}),e},m.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.textfont||{},i=r.textfont||{},o=n.textfont||{},l=a.color,c=i.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||l;return t.selected?c||e:u||(c?e:s.addOpacity(e,p))},e},m.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedPointStyleFns(e),a=e.marker||{},i=[];r.selectedOpacityFn&&i.push(function(t,e){t.style("opacity",r.selectedOpacityFn(e))}),r.selectedColorFn&&i.push(function(t,e){s.fill(t,r.selectedColorFn(e))}),r.selectedSizeFn&&i.push(function(t,e){var n=e.mx||a.symbol||0,i=r.selectedSizeFn(e);t.attr("d",_(m.symbolNumber(n),i)),e.mrc2=i}),i.length&&t.each(function(t){for(var e=n.select(this),r=0;r<i.length;r++)i[r](e,t)})}},m.tryColorscale=function(t,e){var r=e?c.nestedProperty(t,e).get():t;if(r){var n=r.color;if((r.colorscale||r._colorAx)&&c.isArrayOrTypedArray(n))return l.makeColorScaleFuncFromTrace(r)}return c.identity};var M={start:1,end:-1,middle:0,bottom:1,top:-1};function S(t,e,r,a){var i=n.select(t.node().parentNode),o=-1!==e.indexOf("top")?"top":-1!==e.indexOf("bottom")?"bottom":"middle",s=-1!==e.indexOf("left")?"end":-1!==e.indexOf("right")?"start":"middle",l=a?a/.8+1:0,c=(u.lineCount(t)-1)*f+1,h=M[s]*l,p=.75*r+M[o]*l+(M[o]-1)*c*r/2;t.attr("text-anchor",s),i.attr("transform","translate("+h+","+p+")")}function E(t,e){var r=t.ts||e.textfont.size;return a(r)&&r>0?r:0}m.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var i=m.makeSelectedTextStyleFns(e);a=i.selectedTextColorFn}var o=e.texttemplate,s=r._fullLayout;t.each(function(t){var i=n.select(this),l=o?c.extractOption(t,e,"txt","texttemplate"):c.extractOption(t,e,"tx","text");if(l||0===l){if(o){var h=e._module.formatLabels?e._module.formatLabels(t,e,s):{},f={};v(f,e,t.i);var p=e._meta||{};l=c.texttemplateString(l,h,s._d3locale,f,t,p)}var d=t.tp||e.textposition,g=E(t,e),y=a?a(t):t.tc||e.textfont.color;i.call(m.font,t.tf||e.textfont.family,g,y).text(l).call(u.convertToTspans,r).call(S,d,g,t.mrc)}else i.remove()})}},m.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=m.makeSelectedTextStyleFns(e);t.each(function(t){var a=n.select(this),i=r.selectedTextColorFn(t),o=t.tp||e.textposition,l=E(t,e);s.fill(a,i),S(a,o,l,t.mrc2||t.mrc)})}};var L=.5;function C(t,e,r,a){var i=t[0]-e[0],o=t[1]-e[1],s=r[0]-e[0],l=r[1]-e[1],c=Math.pow(i*i+o*o,L/2),u=Math.pow(s*s+l*l,L/2),h=(u*u*i-c*c*s)*a,f=(u*u*o-c*c*l)*a,p=3*u*(c+u),d=3*c*(c+u);return[[n.round(e[0]+(p&&h/p),2),n.round(e[1]+(p&&f/p),2)],[n.round(e[0]-(d&&h/d),2),n.round(e[1]-(d&&f/d),2)]]}m.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],a=[];for(r=1;r<t.length-1;r++)a.push(C(t[r-1],t[r],t[r+1],e));for(n+="Q"+a[0][0]+" "+t[1],r=2;r<t.length-1;r++)n+="C"+a[r-2][1]+" "+a[r-1][0]+" "+t[r];return n+="Q"+a[t.length-3][1]+" "+t[t.length-1]},m.smoothclosed=function(t,e){if(t.length<3)return"M"+t.join("L")+"Z";var r,n="M"+t[0],a=t.length-1,i=[C(t[a],t[0],t[1],e)];for(r=1;r<a;r++)i.push(C(t[r-1],t[r],t[r+1],e));for(i.push(C(t[a-1],t[a],t[0],e)),r=1;r<=a;r++)n+="C"+i[r-1][1]+" "+i[r][0]+" "+t[r];return n+="C"+i[a][1]+" "+i[0][0]+" "+t[0]+"Z"};var P={hv:function(t,e){return"H"+n.round(e[0],2)+"V"+n.round(e[1],2)},vh:function(t,e){return"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},hvh:function(t,e){return"H"+n.round((t[0]+e[0])/2,2)+"V"+n.round(e[1],2)+"H"+n.round(e[0],2)},vhv:function(t,e){return"V"+n.round((t[1]+e[1])/2,2)+"H"+n.round(e[0],2)+"V"+n.round(e[1],2)}},O=function(t,e){return"L"+n.round(e[0],2)+","+n.round(e[1],2)};m.steps=function(t){var e=P[t]||O;return function(t){for(var r="M"+n.round(t[0][0],2)+","+n.round(t[0][1],2),a=1;a<t.length;a++)r+=e(t[a-1],t[a]);return r}},m.makeTester=function(){var t=c.ensureSingleById(n.select("body"),"svg","js-plotly-tester",function(t){t.attr(h.svgAttrs).style({position:"absolute",left:"-10000px",top:"-10000px",width:"9000px",height:"9000px","z-index":"1"})}),e=c.ensureSingle(t,"path","js-reference-point",function(t){t.attr("d","M0,0H1V1H0Z").style({"stroke-width":0,fill:"black"})});m.tester=t,m.testref=e},m.savedBBoxes={};var z=0;function I(t){var e=t.getAttribute("data-unformatted");if(null!==e)return e+t.getAttribute("data-math")+t.getAttribute("text-anchor")+t.getAttribute("style")}function D(t,e){if(!t)return null;var r=e._context;return"url('"+(r._exportedPlot?"":r._baseUrl||"")+"#"+t+"')"}m.bBox=function(t,e,r){var a,i,o;if(r||(r=I(t)),r){if(a=m.savedBBoxes[r])return c.extendFlat({},a)}else if(1===t.childNodes.length){var s=t.childNodes[0];if(r=I(s)){var l=+s.getAttribute("x")||0,h=+s.getAttribute("y")||0,f=s.getAttribute("transform");if(!f){var p=m.bBox(s,!1,r);return l&&(p.left+=l,p.right+=l),h&&(p.top+=h,p.bottom+=h),p}if(r+="~"+l+"~"+h+"~"+f,a=m.savedBBoxes[r])return c.extendFlat({},a)}}e?i=t:(o=m.tester.node(),i=t.cloneNode(!0),o.appendChild(i)),n.select(i).attr("transform",null).call(u.positionText,0,0);var d=i.getBoundingClientRect(),g=m.testref.node().getBoundingClientRect();e||o.removeChild(i);var v={height:d.height,width:d.width,left:d.left-g.left,top:d.top-g.top,right:d.right-g.left,bottom:d.bottom-g.top};return z>=1e4&&(m.savedBBoxes={},z=0),r&&(m.savedBBoxes[r]=v),z++,c.extendFlat({},v)},m.setClipUrl=function(t,e,r){t.attr("clip-path",D(e,r))},m.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||0,y:+e[1]||0}},m.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||0,r=r||0,i=i.replace(/(\btranslate\(.*?\);?)/,"").trim(),i=(i+=" translate("+e+", "+r+")").trim(),t[a]("transform",i),i},m.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,function(t,e,r){return[e,r].join(" ")}).split(" ");return{x:+e[0]||1,y:+e[1]||1}},m.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",a=t.attr?"attr":"setAttribute",i=t[n]("transform")||"";return e=e||1,r=r||1,i=i.replace(/(\bscale\(.*?\);?)/,"").trim(),i=(i+=" scale("+e+", "+r+")").trim(),t[a]("transform",i),i};var R=/\s*sc.*/;m.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":" scale("+e+","+r+")";t.each(function(){var t=(this.getAttribute("transform")||"").replace(R,"");t=(t+=n).trim(),this.setAttribute("transform",t)})}};var F=/translate\([^)]*\)\s*$/;m.setTextPointsScale=function(t,e,r){t&&t.each(function(){var t,a=n.select(this),i=a.select("text");if(i.node()){var o=parseFloat(i.attr("x")||0),s=parseFloat(i.attr("y")||0),l=(a.attr("transform")||"").match(F);t=1===e&&1===r?[]:["translate("+o+","+s+")","scale("+e+","+r+")","translate("+-o+","+-s+")"],l&&t.push(l),a.attr("transform",t.join(" "))}})}},{"../../components/fx/helpers":626,"../../constants/alignment":685,"../../constants/interactions":691,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../lib/svg_text_utils":740,"../../registry":845,"../../traces/scatter/make_bubble_size_func":1135,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale":603,"./symbol_defs":613,d3:164,"fast-isnumeric":227,tinycolor2:535}],613:[function(t,e,r){"use strict";var n=t("d3");e.exports={circle:{n:0,f:function(t){var e=n.round(t,2);return"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"}},square:{n:1,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"}},diamond:{n:2,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"Z"}},cross:{n:3,f:function(t){var e=n.round(.4*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H"+e+"V"+r+"H-"+e+"V"+e+"H-"+r+"V-"+e+"H-"+e+"V-"+r+"H"+e+"V-"+e+"H"+r+"Z"}},x:{n:4,f:function(t){var e=n.round(.8*t/Math.sqrt(2),2),r="l"+e+","+e,a="l"+e+",-"+e,i="l-"+e+",-"+e,o="l-"+e+","+e;return"M0,"+e+r+a+i+a+i+o+i+o+r+o+r+"Z"}},"triangle-up":{n:5,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+","+n.round(t/2,2)+"H"+e+"L0,-"+n.round(t,2)+"Z"}},"triangle-down":{n:6,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+e+",-"+n.round(t/2,2)+"H"+e+"L0,"+n.round(t,2)+"Z"}},"triangle-left":{n:7,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M"+n.round(t/2,2)+",-"+e+"V"+e+"L-"+n.round(t,2)+",0Z"}},"triangle-right":{n:8,f:function(t){var e=n.round(2*t/Math.sqrt(3),2);return"M-"+n.round(t/2,2)+",-"+e+"V"+e+"L"+n.round(t,2)+",0Z"}},"triangle-ne":{n:9,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+r+",-"+e+"H"+e+"V"+r+"Z"}},"triangle-se":{n:10,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+e+",-"+r+"V"+e+"H-"+r+"Z"}},"triangle-sw":{n:11,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M"+r+","+e+"H-"+e+"V-"+r+"Z"}},"triangle-nw":{n:12,f:function(t){var e=n.round(.6*t,2),r=n.round(1.2*t,2);return"M-"+e+","+r+"V-"+e+"H"+r+"Z"}},pentagon:{n:13,f:function(t){var e=n.round(.951*t,2),r=n.round(.588*t,2),a=n.round(-t,2),i=n.round(-.309*t,2);return"M"+e+","+i+"L"+r+","+n.round(.809*t,2)+"H-"+r+"L-"+e+","+i+"L0,"+a+"Z"}},hexagon:{n:14,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M"+a+",-"+r+"V"+r+"L0,"+e+"L-"+a+","+r+"V-"+r+"L0,-"+e+"Z"}},hexagon2:{n:15,f:function(t){var e=n.round(t,2),r=n.round(t/2,2),a=n.round(t*Math.sqrt(3)/2,2);return"M-"+r+","+a+"H"+r+"L"+e+",0L"+r+",-"+a+"H-"+r+"L-"+e+",0Z"}},octagon:{n:16,f:function(t){var e=n.round(.924*t,2),r=n.round(.383*t,2);return"M-"+r+",-"+e+"H"+r+"L"+e+",-"+r+"V"+r+"L"+r+","+e+"H-"+r+"L-"+e+","+r+"V-"+r+"Z"}},star:{n:17,f:function(t){var e=1.4*t,r=n.round(.225*e,2),a=n.round(.951*e,2),i=n.round(.363*e,2),o=n.round(.588*e,2),s=n.round(-e,2),l=n.round(-.309*e,2),c=n.round(.118*e,2),u=n.round(.809*e,2);return"M"+r+","+l+"H"+a+"L"+i+","+c+"L"+o+","+u+"L0,"+n.round(.382*e,2)+"L-"+o+","+u+"L-"+i+","+c+"L-"+a+","+l+"H-"+r+"L0,"+s+"Z"}},hexagram:{n:18,f:function(t){var e=n.round(.66*t,2),r=n.round(.38*t,2),a=n.round(.76*t,2);return"M-"+a+",0l-"+r+",-"+e+"h"+a+"l"+r+",-"+e+"l"+r+","+e+"h"+a+"l-"+r+","+e+"l"+r+","+e+"h-"+a+"l-"+r+","+e+"l-"+r+",-"+e+"h-"+a+"Z"}},"star-triangle-up":{n:19,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M-"+e+","+r+o+e+","+r+o+"0,-"+a+o+"-"+e+","+r+"Z"}},"star-triangle-down":{n:20,f:function(t){var e=n.round(t*Math.sqrt(3)*.8,2),r=n.round(.8*t,2),a=n.round(1.6*t,2),i=n.round(4*t,2),o="A "+i+","+i+" 0 0 1 ";return"M"+e+",-"+r+o+"-"+e+",-"+r+o+"0,"+a+o+e+",-"+r+"Z"}},"star-square":{n:21,f:function(t){var e=n.round(1.1*t,2),r=n.round(2*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",-"+e+a+"-"+e+","+e+a+e+","+e+a+e+",-"+e+a+"-"+e+",-"+e+"Z"}},"star-diamond":{n:22,f:function(t){var e=n.round(1.4*t,2),r=n.round(1.9*t,2),a="A "+r+","+r+" 0 0 1 ";return"M-"+e+",0"+a+"0,"+e+a+e+",0"+a+"0,-"+e+a+"-"+e+",0Z"}},"diamond-tall":{n:23,f:function(t){var e=n.round(.7*t,2),r=n.round(1.4*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},"diamond-wide":{n:24,f:function(t){var e=n.round(1.4*t,2),r=n.round(.7*t,2);return"M0,"+r+"L"+e+",0L0,-"+r+"L-"+e+",0Z"}},hourglass:{n:25,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"H-"+e+"L"+e+",-"+e+"H-"+e+"Z"},noDot:!0},bowtie:{n:26,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"V-"+e+"L-"+e+","+e+"V-"+e+"Z"},noDot:!0},"circle-cross":{n:27,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"circle-x":{n:28,f:function(t){var e=n.round(t,2),r=n.round(t/Math.sqrt(2),2);return"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r+"M"+e+",0A"+e+","+e+" 0 1,1 0,-"+e+"A"+e+","+e+" 0 0,1 "+e+",0Z"},needLine:!0,noDot:!0},"square-cross":{n:29,f:function(t){var e=n.round(t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"square-x":{n:30,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e+"M"+e+","+e+"H-"+e+"V-"+e+"H"+e+"Z"},needLine:!0,noDot:!0},"diamond-cross":{n:31,f:function(t){var e=n.round(1.3*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM0,-"+e+"V"+e+"M-"+e+",0H"+e},needLine:!0,noDot:!0},"diamond-x":{n:32,f:function(t){var e=n.round(1.3*t,2),r=n.round(.65*t,2);return"M"+e+",0L0,"+e+"L-"+e+",0L0,-"+e+"ZM-"+r+",-"+r+"L"+r+","+r+"M-"+r+","+r+"L"+r+",-"+r},needLine:!0,noDot:!0},"cross-thin":{n:33,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"x-thin":{n:34,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e+"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},asterisk:{n:35,f:function(t){var e=n.round(1.2*t,2),r=n.round(.85*t,2);return"M0,"+e+"V-"+e+"M"+e+",0H-"+e+"M"+r+","+r+"L-"+r+",-"+r+"M"+r+",-"+r+"L-"+r+","+r},needLine:!0,noDot:!0,noFill:!0},hash:{n:36,f:function(t){var e=n.round(t/2,2),r=n.round(t,2);return"M"+e+","+r+"V-"+r+"m-"+r+",0V"+r+"M"+r+","+e+"H-"+r+"m0,-"+r+"H"+r},needLine:!0,noFill:!0},"y-up":{n:37,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+","+a+"L0,0M"+e+","+a+"L0,0M0,-"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-down":{n:38,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+e+",-"+a+"L0,0M"+e+",-"+a+"L0,0M0,"+r+"L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-left":{n:39,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M"+a+","+e+"L0,0M"+a+",-"+e+"L0,0M-"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"y-right":{n:40,f:function(t){var e=n.round(1.2*t,2),r=n.round(1.6*t,2),a=n.round(.8*t,2);return"M-"+a+","+e+"L0,0M-"+a+",-"+e+"L0,0M"+r+",0L0,0"},needLine:!0,noDot:!0,noFill:!0},"line-ew":{n:41,f:function(t){var e=n.round(1.4*t,2);return"M"+e+",0H-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ns":{n:42,f:function(t){var e=n.round(1.4*t,2);return"M0,"+e+"V-"+e},needLine:!0,noDot:!0,noFill:!0},"line-ne":{n:43,f:function(t){var e=n.round(t,2);return"M"+e+",-"+e+"L-"+e+","+e},needLine:!0,noDot:!0,noFill:!0},"line-nw":{n:44,f:function(t){var e=n.round(t,2);return"M"+e+","+e+"L-"+e+",-"+e},needLine:!0,noDot:!0,noFill:!0}}},{d3:164}],614:[function(t,e,r){"use strict";e.exports={visible:{valType:"boolean",editType:"calc"},type:{valType:"enumerated",values:["percent","constant","sqrt","data"],editType:"calc"},symmetric:{valType:"boolean",editType:"calc"},array:{valType:"data_array",editType:"calc"},arrayminus:{valType:"data_array",editType:"calc"},value:{valType:"number",min:0,dflt:10,editType:"calc"},valueminus:{valType:"number",min:0,dflt:10,editType:"calc"},traceref:{valType:"integer",min:0,dflt:0,editType:"style"},tracerefminus:{valType:"integer",min:0,dflt:0,editType:"style"},copy_ystyle:{valType:"boolean",editType:"plot"},copy_zstyle:{valType:"boolean",editType:"style"},color:{valType:"color",editType:"style"},thickness:{valType:"number",min:0,dflt:2,editType:"style"},width:{valType:"number",min:0,editType:"plot"},editType:"calc",_deprecated:{opacity:{valType:"number",editType:"style"}}}},{}],615:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("./compute_error");function l(t,e,r,a){var l=e["error_"+a]||{},c=[];if(l.visible&&-1!==["linear","log"].indexOf(r.type)){for(var u=s(l),h=0;h<t.length;h++){var f=t[h],p=f.i;if(void 0===p)p=h;else if(null===p)continue;var d=f[a];if(n(r.c2l(d))){var g=u(d,p);if(n(g[0])&&n(g[1])){var v=f[a+"s"]=d-g[0],m=f[a+"h"]=d+g[1];c.push(v,m)}}}var y=r._id,x=e._extremes[y],b=i.findExtremes(r,c,o.extendFlat({tozero:x.opts.tozero},{padded:!0}));x.min=x.min.concat(b.min),x.max=x.max.concat(b.max)}}e.exports=function(t){for(var e=t.calcdata,r=0;r<e.length;r++){var n=e[r],o=n[0].trace;if(!0===o.visible&&a.traceIs(o,"errorBarsOK")){var s=i.getFromId(t,o.xaxis),c=i.getFromId(t,o.yaxis);l(n,o,s,"x"),l(n,o,c,"y")}}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./compute_error":616,"fast-isnumeric":227}],616:[function(t,e,r){"use strict";function n(t,e){return"percent"===t?function(t){return Math.abs(t*e/100)}:"constant"===t?function(){return Math.abs(e)}:"sqrt"===t?function(t){return Math.sqrt(Math.abs(t))}:void 0}e.exports=function(t){var e=t.type,r=t.symmetric;if("data"===e){var a=t.array||[];if(r)return function(t,e){var r=+a[e];return[r,r]};var i=t.arrayminus||[];return function(t,e){var r=+a[e],n=+i[e];return isNaN(r)&&isNaN(n)?[NaN,NaN]:[n||0,r||0]}}var o=n(e,t.value),s=n(e,t.valueminus);return r||void 0===t.valueminus?function(t){var e=o(t);return[e,e]}:function(t){return[s(t),o(t)]}}},{}],617:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../registry"),i=t("../../lib"),o=t("../../plot_api/plot_template"),s=t("./attributes");e.exports=function(t,e,r,l){var c="error_"+l.axis,u=o.newContainer(e,c),h=t[c]||{};function f(t,e){return i.coerce(h,u,s,t,e)}if(!1!==f("visible",void 0!==h.array||void 0!==h.value||"sqrt"===h.type)){var p=f("type","array"in h?"data":"percent"),d=!0;"sqrt"!==p&&(d=f("symmetric",!(("data"===p?"arrayminus":"valueminus")in h))),"data"===p?(f("array"),f("traceref"),d||(f("arrayminus"),f("tracerefminus"))):"percent"!==p&&"constant"!==p||(f("value"),d||f("valueminus"));var g="copy_"+l.inherit+"style";if(l.inherit)(e["error_"+l.inherit]||{}).visible&&f(g,!(h.color||n(h.thickness)||n(h.width)));l.inherit&&u[g]||(f("color",r),f("thickness"),f("width",a.traceIs(e,"gl3d")?0:4))}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845,"./attributes":614,"fast-isnumeric":227}],618:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/edit_types").overrideAll,i=t("./attributes"),o={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i)};delete o.error_x.copy_zstyle,delete o.error_y.copy_zstyle,delete o.error_y.copy_ystyle;var s={error_x:n.extendFlat({},i),error_y:n.extendFlat({},i),error_z:n.extendFlat({},i)};delete s.error_x.copy_ystyle,delete s.error_y.copy_ystyle,delete s.error_z.copy_ystyle,delete s.error_z.copy_zstyle,e.exports={moduleType:"component",name:"errorbars",schema:{traces:{scatter:o,bar:o,histogram:o,scatter3d:a(s,"calc","nested"),scattergl:a(o,"calc","nested")}},supplyDefaults:t("./defaults"),calc:t("./calc"),makeComputeError:t("./compute_error"),plot:t("./plot"),style:t("./style"),hoverInfo:function(t,e,r){(e.error_y||{}).visible&&(r.yerr=t.yh-t.y,e.error_y.symmetric||(r.yerrneg=t.y-t.ys));(e.error_x||{}).visible&&(r.xerr=t.xh-t.x,e.error_x.symmetric||(r.xerrneg=t.x-t.xs))}}},{"../../lib":716,"../../plot_api/edit_types":747,"./attributes":614,"./calc":615,"./compute_error":616,"./defaults":617,"./plot":619,"./style":620}],619:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../drawing"),o=t("../../traces/scatter/subtypes");e.exports=function(t,e,r,s){var l=r.xaxis,c=r.yaxis,u=s&&s.duration>0;e.each(function(e){var h,f=e[0].trace,p=f.error_x||{},d=f.error_y||{};f.ids&&(h=function(t){return t.id});var g=o.hasMarkers(f)&&f.marker.maxdisplayed>0;d.visible||p.visible||(e=[]);var v=n.select(this).selectAll("g.errorbar").data(e,h);if(v.exit().remove(),e.length){p.visible||v.selectAll("path.xerror").remove(),d.visible||v.selectAll("path.yerror").remove(),v.style("opacity",1);var m=v.enter().append("g").classed("errorbar",!0);u&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),i.setClipUrl(v,r.layerClipId,t),v.each(function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),a(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0)));void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),a(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0)));return n}(t,l,c);if(!g||t.vis){var i,o=e.select("path.yerror");if(d.visible&&a(r.x)&&a(r.yh)&&a(r.ys)){var h=d.width;i="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(i+="m-"+h+",0h"+2*h),!o.size()?o=e.append("path").style("vector-effect","non-scaling-stroke").classed("yerror",!0):u&&(o=o.transition().duration(s.duration).ease(s.easing)),o.attr("d",i)}else o.remove();var f=e.select("path.xerror");if(p.visible&&a(r.y)&&a(r.xh)&&a(r.xs)){var v=(p.copy_ystyle?d:p).width;i="M"+r.xh+","+(r.y-v)+"v"+2*v+"m0,-"+v+"H"+r.xs,r.noXS||(i+="m0,-"+v+"v"+2*v),!f.size()?f=e.append("path").style("vector-effect","non-scaling-stroke").classed("xerror",!0):u&&(f=f.transition().duration(s.duration).ease(s.easing)),f.attr("d",i)}else f.remove()}})}})}},{"../../traces/scatter/subtypes":1142,"../drawing":612,d3:164,"fast-isnumeric":227}],620:[function(t,e,r){"use strict";var n=t("d3"),a=t("../color");e.exports=function(t){t.each(function(t){var e=t[0].trace,r=e.error_y||{},i=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(a.stroke,r.color),i.copy_ystyle&&(i=r),o.selectAll("path.xerror").style("stroke-width",i.thickness+"px").call(a.stroke,i.color)})}},{"../color":591,d3:164}],621:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./layout_attributes").hoverlabel,i=t("../../lib/extend").extendFlat;e.exports={hoverlabel:{bgcolor:i({},a.bgcolor,{arrayOk:!0}),bordercolor:i({},a.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:i({},a.align,{arrayOk:!0}),namelength:i({},a.namelength,{arrayOk:!0}),editType:"none"}}},{"../../lib/extend":707,"../../plots/font_attributes":790,"./layout_attributes":630}],622:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");function i(t,e,r,a){a=a||n.identity,Array.isArray(t)&&(e[0][r]=a(t))}e.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s<e.length;s++){var l=e[s],c=l[0].trace;if(!a.traceIs(c,"pie-like")){var u=a.traceIs(c,"2dMap")?i:n.fillArray;u(c.hoverinfo,l,"hi",o(c)),c.hovertemplate&&u(c.hovertemplate,l,"ht"),c.hoverlabel&&(u(c.hoverlabel.bgcolor,l,"hbg"),u(c.hoverlabel.bordercolor,l,"hbc"),u(c.hoverlabel.font.size,l,"hts"),u(c.hoverlabel.font.color,l,"htc"),u(c.hoverlabel.font.family,l,"htf"),u(c.hoverlabel.namelength,l,"hnl"),u(c.hoverlabel.align,l,"hta"))}}}},{"../../lib":716,"../../registry":845}],623:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./hover").hover;e.exports=function(t,e,r){var i=n.getComponentMethod("annotations","onClick")(t,t._hoverdata);function o(){t.emit("plotly_click",{points:t._hoverdata,event:e})}void 0!==r&&a(t,e,r,!0),t._hoverdata&&e&&e.target&&(i&&i.then?i.then(o):o(),e.stopImmediatePropagation&&e.stopImmediatePropagation())}},{"../../registry":845,"./hover":627}],624:[function(t,e,r){"use strict";e.exports={YANGLE:60,HOVERARROWSIZE:6,HOVERTEXTPAD:3,HOVERFONTSIZE:13,HOVERFONT:"Arial, sans-serif",HOVERMINTIME:50,HOVERID:"-hover"}},{}],625:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./hoverlabel_defaults");e.exports=function(t,e,r,o){var s=n.extendFlat({},o.hoverlabel);e.hovertemplate&&(s.namelength=-1),i(t,e,function(r,i){return n.coerce(t,e,a,r,i)},s)}},{"../../lib":716,"./attributes":621,"./hoverlabel_defaults":628}],626:[function(t,e,r){"use strict";var n=t("../../lib");r.getSubplot=function(t){return t.subplot||t.xaxis+t.yaxis||t.geo},r.isTraceInSubplots=function(t,e){if("splom"===t.type){for(var n=t.xaxes||[],a=t.yaxes||[],i=0;i<n.length;i++)for(var o=0;o<a.length;o++)if(-1!==e.indexOf(n[i]+a[o]))return!0;return!1}return-1!==e.indexOf(r.getSubplot(t))},r.flat=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=e;return r},r.p2c=function(t,e){for(var r=new Array(t.length),n=0;n<t.length;n++)r[n]=t[n].p2c(e);return r},r.getDistanceFunction=function(t,e,n,a){return"closest"===t?a||r.quadrature(e,n):"x"===t?e:n},r.getClosest=function(t,e,r){if(!1!==r.index)r.index>=0&&r.index<t.length?r.distance=0:r.index=!1;else for(var n=0;n<t.length;n++){var a=e(t[n]);a<=r.distance&&(r.index=n,r.distance=a)}return r},r.inbox=function(t,e,r){return t*e<0||0===t?r:1/0},r.quadrature=function(t,e){return function(r){var n=t(r),a=e(r);return Math.sqrt(n*n+a*a)}},r.makeEventData=function(t,e,n){var a="index"in t?t.index:t.pointNumber,i={data:e._input,fullData:e,curveNumber:e.index,pointNumber:a};if(e._indexToPoints){var o=e._indexToPoints[a];1===o.length?i.pointIndex=o[0]:i.pointIndices=o}else i.pointIndex=a;return e._module.eventData?i=e._module.eventData(i,t,e,n,a):("xVal"in t?i.x=t.xVal:"x"in t&&(i.x=t.x),"yVal"in t?i.y=t.yVal:"y"in t&&(i.y=t.y),t.xa&&(i.xaxis=t.xa),t.ya&&(i.yaxis=t.ya),void 0!==t.zLabelVal&&(i.z=t.zLabelVal)),r.appendArrayPointValue(i,e,a),i},r.appendArrayPointValue=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){var u=o(n.nestedProperty(e,l).get(),r);void 0!==u&&(t[c]=u)}}},r.appendArrayMultiPointValues=function(t,e,r){var a=e._arrayAttrs;if(a)for(var s=0;s<a.length;s++){var l=a[s],c=i(l);if(void 0===t[c]){for(var u=n.nestedProperty(e,l).get(),h=new Array(r.length),f=0;f<r.length;f++)h[f]=o(u,r[f]);t[c]=h}}};var a={ids:"id",locations:"location",labels:"label",values:"value","marker.colors":"color",parents:"parent"};function i(t){return a[t]||t}function o(t,e){return Array.isArray(e)?Array.isArray(t)&&Array.isArray(t[e[0]])?t[e[0]][e[1]]:void 0:t[e]}},{"../../lib":716}],627:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("tinycolor2"),o=t("../../lib"),s=t("../../lib/events"),l=t("../../lib/svg_text_utils"),c=t("../../lib/override_cursor"),u=t("../drawing"),h=t("../color"),f=t("../dragelement"),p=t("../../plots/cartesian/axes"),d=t("../../registry"),g=t("./helpers"),v=t("./constants"),m=v.YANGLE,y=Math.PI*m/180,x=1/Math.sin(y),b=Math.cos(y),_=Math.sin(y),w=v.HOVERARROWSIZE,k=v.HOVERTEXTPAD;r.hover=function(t,e,r,i){t=o.getGraphDiv(t),o.throttle(t._fullLayout._uid+v.HOVERID,v.HOVERMINTIME,function(){!function(t,e,r,i){r||(r="xy");var l=Array.isArray(r)?r:[r],u=t._fullLayout,p=u._plots||[],v=p[r],m=u._has("cartesian");if(v){var y=v.overlays.map(function(t){return t.id});l=l.concat(y)}for(var b=l.length,_=new Array(b),w=new Array(b),k=!1,T=0;T<b;T++){var C=l[T];if(p[C])k=!0,_[T]=p[C].xaxis,w[T]=p[C].yaxis;else{if(!u[C]||!u[C]._subplot)return void o.warn("Unrecognized subplot: "+C);var P=u[C]._subplot;_[T]=P.xaxis,w[T]=P.yaxis}}var O=e.hovermode||u.hovermode;O&&!k&&(O="closest");if(-1===["x","y","closest"].indexOf(O)||!t.calcdata||t.querySelector(".zoombox")||t._dragging)return f.unhoverRaw(t,e);var z,I,D,R,F,B,N,j,V,U,q,H,G,Y=-1===u.hoverdistance?1/0:u.hoverdistance,W=-1===u.spikedistance?1/0:u.spikedistance,X=[],Z=[],J={hLinePoint:null,vLinePoint:null},K=!1;if(Array.isArray(e))for(O="array",D=0;D<e.length;D++)(F=t.calcdata[e[D].curveNumber||0])&&(B=F[0].trace,"skip"!==F[0].trace.hoverinfo&&(Z.push(F),"h"===B.orientation&&(K=!0)));else{for(R=0;R<t.calcdata.length;R++)F=t.calcdata[R],"skip"!==(B=F[0].trace).hoverinfo&&g.isTraceInSubplots(B,l)&&(Z.push(F),"h"===B.orientation&&(K=!0));var Q,$,tt=!e.target;if(tt)Q="xpx"in e?e.xpx:_[0]._length/2,$="ypx"in e?e.ypx:w[0]._length/2;else{if(!1===s.triggerHandler(t,"plotly_beforehover",e))return;var et=e.target.getBoundingClientRect();if(Q=e.clientX-et.left,$=e.clientY-et.top,Q<0||Q>_[0]._length||$<0||$>w[0]._length)return f.unhoverRaw(t,e)}if(e.pointerX=Q+_[0]._offset,e.pointerY=$+w[0]._offset,z="xval"in e?g.flat(l,e.xval):g.p2c(_,Q),I="yval"in e?g.flat(l,e.yval):g.p2c(w,$),!a(z[0])||!a(I[0]))return o.warn("Fx.hover failed",e,t),f.unhoverRaw(t,e)}var rt=1/0;for(R=0;R<Z.length;R++)if((F=Z[R])&&F[0]&&F[0].trace&&!0===(B=F[0].trace).visible&&0!==B._length&&-1===["carpet","contourcarpet"].indexOf(B._module.name)){if("splom"===B.type?N=l[j=0]:(N=g.getSubplot(B),j=l.indexOf(N)),V=O,H={cd:F,trace:B,xa:_[j],ya:w[j],maxHoverDistance:Y,maxSpikeDistance:W,index:!1,distance:Math.min(rt,Y),spikeDistance:1/0,xSpike:void 0,ySpike:void 0,color:h.defaultLine,name:B.name,x0:void 0,x1:void 0,y0:void 0,y1:void 0,xLabelVal:void 0,yLabelVal:void 0,zLabelVal:void 0,text:void 0},u[N]&&(H.subplot=u[N]._subplot),u._splomScenes&&u._splomScenes[B.uid]&&(H.scene=u._splomScenes[B.uid]),G=X.length,"array"===V){var nt=e[R];"pointNumber"in nt?(H.index=nt.pointNumber,V="closest"):(V="","xval"in nt&&(U=nt.xval,V="x"),"yval"in nt&&(q=nt.yval,V=V?"closest":"y"))}else U=z[j],q=I[j];if(0!==Y)if(B._module&&B._module.hoverPoints){var at=B._module.hoverPoints(H,U,q,V,u._hoverlayer);if(at)for(var it,ot=0;ot<at.length;ot++)it=at[ot],a(it.x0)&&a(it.y0)&&X.push(S(it,O))}else o.log("Unrecognized trace type in hover:",B);if("closest"===O&&X.length>G&&(X.splice(0,G),rt=X[0].distance),m&&0!==W&&0===X.length){H.distance=W,H.index=!1;var st=B._module.hoverPoints(H,U,q,"closest",u._hoverlayer);if(st&&(st=st.filter(function(t){return t.spikeDistance<=W})),st&&st.length){var lt,ct=st.filter(function(t){return t.xa.showspikes});if(ct.length){var ut=ct[0];a(ut.x0)&&a(ut.y0)&&(lt=dt(ut),(!J.vLinePoint||J.vLinePoint.spikeDistance>lt.spikeDistance)&&(J.vLinePoint=lt))}var ht=st.filter(function(t){return t.ya.showspikes});if(ht.length){var ft=ht[0];a(ft.x0)&&a(ft.y0)&&(lt=dt(ft),(!J.hLinePoint||J.hLinePoint.spikeDistance>lt.spikeDistance)&&(J.hLinePoint=lt))}}}}function pt(t,e){for(var r,n=null,a=1/0,i=0;i<t.length;i++)(r=t[i].spikeDistance)<a&&r<=e&&(n=t[i],a=r);return n}function dt(t){return t?{xa:t.xa,ya:t.ya,x:void 0!==t.xSpike?t.xSpike:(t.x0+t.x1)/2,y:void 0!==t.ySpike?t.ySpike:(t.y0+t.y1)/2,distance:t.distance,spikeDistance:t.spikeDistance,curveNumber:t.trace.index,color:t.color,pointNumber:t.index}:null}var gt={fullLayout:u,container:u._hoverlayer,outerContainer:u._paperdiv,event:e},vt=t._spikepoints,mt={vLinePoint:J.vLinePoint,hLinePoint:J.hLinePoint};if(t._spikepoints=mt,m&&0!==W&&0!==X.length){var yt=X.filter(function(t){return t.ya.showspikes}),xt=pt(yt,W);J.hLinePoint=dt(xt);var bt=X.filter(function(t){return t.xa.showspikes}),_t=pt(bt,W);J.vLinePoint=dt(_t)}if(0===X.length){var wt=f.unhoverRaw(t,e);return!m||null===J.hLinePoint&&null===J.vLinePoint||L(vt)&&E(t,J,gt),wt}m&&L(vt)&&E(t,J,gt);X.sort(function(t,e){return t.distance-e.distance});var kt=t._hoverdata,Tt=[];for(D=0;D<X.length;D++){var At=X[D],Mt=g.makeEventData(At,At.trace,At.cd);if(!1!==At.hovertemplate){var St=!1;At.cd[At.index]&&At.cd[At.index].ht&&(St=At.cd[At.index].ht),At.hovertemplate=St||At.trace.hovertemplate||!1}At.eventData=[Mt],Tt.push(Mt)}t._hoverdata=Tt;var Et="y"===O&&(Z.length>1||X.length>1)||"closest"===O&&K&&X.length>1,Lt=h.combine(u.plot_bgcolor||h.background,u.paper_bgcolor),Ct={hovermode:O,rotateLabels:Et,bgColor:Lt,container:u._hoverlayer,outerContainer:u._paperdiv,commonLabelOpts:u.hoverlabel,hoverdistance:u.hoverdistance},Pt=A(X,Ct,t);if(function(t,e,r){var n,a,i,o,s,l,c,u=0,h=1,f=t.size(),p=new Array(f),d=0;function g(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,i=r.pos+r.dp+r.size-e.pmax,a>.01){for(s=t.length-1;s>=0;s--)t[s].dp+=a;n=!1}if(!(i<.01)){if(a<-.01){for(s=t.length-1;s>=0;s--)t[s].dp-=i;n=!1}if(n){var c=0;for(o=0;o<t.length;o++)(l=t[o]).pos+l.dp+l.size>e.pmax&&c++;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos>e.pmax-1&&(l.del=!0,c--);for(o=0;o<t.length&&!(c<=0);o++)if((l=t[o]).pos<e.pmin+1)for(l.del=!0,c--,i=2*l.size,s=t.length-1;s>=0;s--)t[s].dp-=i;for(o=t.length-1;o>=0&&!(c<=0);o--)(l=t[o]).pos+l.dp+l.size>e.pmax&&(l.del=!0,c--)}}}for(t.each(function(t){var n=t[e],a="x"===n._id.charAt(0),i=n.range;0===d&&i&&i[0]>i[1]!==a&&(h=-1),p[d++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?x:1)/2,pmin:0,pmax:a?r.width:r.height}]}),p.sort(function(t,e){return t[0].posref-e[0].posref||h*(e[0].traceIndex-t[0].traceIndex)});!n&&u<=f;){for(u++,n=!0,o=0;o<p.length-1;){var v=p[o],m=p[o+1],y=v[v.length-1],b=m[0];if((a=y.pos+y.dp+y.size-b.pos-b.dp+b.size)>.01&&y.pmin===b.pmin&&y.pmax===b.pmax){for(s=m.length-1;s>=0;s--)m[s].dp+=a;for(v.push.apply(v,m),p.splice(o+1,1),c=0,s=v.length-1;s>=0;s--)c+=v[s].dp;for(i=c/v.length,s=v.length-1;s>=0;s--)v[s].dp-=i;n=!1}else o++}p.forEach(g)}for(o=p.length-1;o>=0;o--){var _=p[o];for(s=_.length-1;s>=0;s--){var w=_[s],k=w.datum;k.offset=w.dp,k.del=w.del}}}(Pt,Et?"xa":"ya",u),M(Pt,Et),e.target&&e.target.tagName){var Ot=d.getComponentMethod("annotations","hasClickToShow")(t,Tt);c(n.select(e.target),Ot?"pointer":"")}if(!e.target||i||!function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var a=r[n],i=t._hoverdata[n];if(a.curveNumber!==i.curveNumber||String(a.pointNumber)!==String(i.pointNumber)||String(a.pointNumbers)!==String(i.pointNumbers))return!0}return!1}(t,0,kt))return;kt&&t.emit("plotly_unhover",{event:e,points:kt});t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:_,yaxes:w,xvals:z,yvals:I})}(t,e,r,i)})},r.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var a=t.map(function(t){return{color:t.color||h.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,eventData:t.eventData||!1,hovertemplateLabels:t.hovertemplateLabels||!1}}),i=n.select(e.container),o=e.outerContainer?n.select(e.outerContainer):i,s={hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||h.background,container:i,outerContainer:o},l=A(a,s,e.gd),c=0,u=0;return l.sort(function(t,e){return t.y0-e.y0}).each(function(t,r){var n=t.y0-t.by/2;t.offset=n-5<c?c-n+5:0,c=n+t.by+t.offset,r===e.anchorIndex&&(u=t.offset)}).each(function(t){t.offset-=u}),M(l,s.rotateLabels),r?l:l.node()};var T=/<extra>([\s\S]*)<\/extra>/;function A(t,e,r){var a=r._fullLayout,i=e.hovermode,s=e.rotateLabels,c=e.bgColor,f=e.container,p=e.outerContainer,d=e.commonLabelOpts||{},g=e.fontFamily||v.HOVERFONT,y=e.fontSize||v.HOVERFONTSIZE,x=t[0],b=x.xa,_=x.ya,A="y"===i?"yLabel":"xLabel",M=x[A],S=(String(M)||"").split(" ")[0],E=p.node().getBoundingClientRect(),L=E.top,P=E.width,O=E.height,z=void 0!==M&&x.distance<=e.hoverdistance&&("x"===i||"y"===i);if(z){var I,D,R=!0;for(I=0;I<t.length;I++)if(R&&void 0===t[I].zLabel&&(R=!1),D=t[I].hoverinfo||t[I].trace.hoverinfo){var F=Array.isArray(D)?D:D.split("+");if(-1===F.indexOf("all")&&-1===F.indexOf(i)){z=!1;break}}R&&(z=!1)}var B=f.selectAll("g.axistext").data(z?[0]:[]);B.enter().append("g").classed("axistext",!0),B.exit().remove(),B.each(function(){var e=n.select(this),s=o.ensureSingle(e,"path","",function(t){t.style({"stroke-width":"1px"})}),c=o.ensureSingle(e,"text","",function(t){t.attr("data-notex",1)}),f=d.bgcolor||h.defaultLine,p=d.bordercolor||h.contrast(f),v=h.contrast(f),m={family:d.font.family||g,size:d.font.size||y,color:d.font.color||v};s.style({fill:f,stroke:p}),c.text(M).call(u.font,m).call(l.positionText,0,0).call(l.convertToTspans,r),e.attr("transform","");var T,E,C=c.node().getBoundingClientRect();if("x"===i){var P="top"===b.side?"-":"";c.attr("text-anchor","middle").call(l.positionText,0,"top"===b.side?L-C.bottom-w-k:L-C.top+w+k),T=b._offset+(x.x0+x.x1)/2,E=_._offset+("top"===b.side?0:_._length);var O=C.width/2+k;T<O?(T=O,s.attr("d","M-"+(O-w)+",0L-"+(O-2*w)+","+P+w+"H"+(k+C.width/2)+"v"+P+(2*k+C.height)+"H-"+O+"V"+P+w+"Z")):T>a.width-O?(T=a.width-O,s.attr("d","M"+(O-w)+",0L"+O+","+P+w+"v"+P+(2*k+C.height)+"H-"+O+"V"+P+w+"H"+(O-2*w)+"Z")):s.attr("d","M0,0L"+w+","+P+w+"H"+(k+C.width/2)+"v"+P+(2*k+C.height)+"H-"+(k+C.width/2)+"V"+P+w+"H-"+w+"Z")}else{var z,I,D;"right"===_.side?(z="start",I=1,D="",T=b._offset+b._length):(z="end",I=-1,D="-",T=b._offset),E=_._offset+(x.y0+x.y1)/2,c.attr("text-anchor",z),s.attr("d","M0,0L"+D+w+","+w+"V"+(k+C.height/2)+"h"+D+(2*k+C.width)+"V-"+(k+C.height/2)+"H"+D+w+"V-"+w+"Z");var R,F=C.height/2,B=L-C.top-F,N="clip"+a._uid+"commonlabel"+_._id;if(T<C.width+2*k+w){R="M-"+(w+k)+"-"+F+"h-"+(C.width-k)+"V"+F+"h"+(C.width-k)+"Z";var j=C.width-T+k;l.positionText(c,j,B),"end"===z&&c.selectAll("tspan").each(function(){var t=n.select(this),e=u.tester.append("text").text(t.text()).call(u.font,m),r=e.node().getBoundingClientRect();Math.round(r.width)<Math.round(C.width)&&t.attr("x",j-r.width),e.remove()})}else l.positionText(c,I*(k+w),B),R=null;var V=a._topclips.selectAll("#"+N).data(R?[0]:[]);V.enter().append("clipPath").attr("id",N).append("path"),V.exit().remove(),V.select("path").attr("d",R),u.setClipUrl(c,R?N:null,r)}e.attr("transform","translate("+T+","+E+")"),t=t.filter(function(t){return void 0!==t.zLabelVal||(t[A]||"").split(" ")[0]===S})});var N=f.selectAll("g.hovertext").data(t,function(t){return[t.trace.index,t.index,t.x0,t.y0,t.name,t.attr,t.xa,t.ya||""].join(",")});return N.enter().append("g").classed("hovertext",!0).each(function(){var t=n.select(this);t.append("rect").call(h.fill,h.addOpacity(c,.8)),t.append("text").classed("name",!0),t.append("path").style("stroke-width","1px"),t.append("text").classed("nums",!0).call(u.font,g,y)}),N.exit().remove(),N.each(function(t){var e=n.select(this).attr("transform",""),f="",p="",d=t.bgcolor||t.color,v=h.combine(h.opacity(d)?d:h.defaultLine,c),x=h.combine(h.opacity(t.color)?t.color:h.defaultLine,c),b=t.borderColor||h.contrast(v);void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),f=C(t.name,t.nameLength)),void 0!==t.zLabel?(void 0!==t.xLabel&&(p+="x: "+t.xLabel+"<br>"),void 0!==t.yLabel&&(p+="y: "+t.yLabel+"<br>"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(p+=(p?"z: ":"")+t.zLabel)):z&&t[i+"Label"]===M?p=t[("x"===i?"y":"x")+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(p=t.yLabel):p=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(p+=(p?"<br>":"")+t.text),void 0!==t.extraText&&(p+=(p?"<br>":"")+t.extraText),""!==p||t.hovertemplate||(""===f&&e.remove(),p=f);var _=a._d3locale,A=t.hovertemplate||!1,S=t.hovertemplateLabels||t,E=t.eventData[0]||{};A&&(p=(p=o.hovertemplateString(A,S,_,E,t.trace._meta)).replace(T,function(e,r){return f=C(r,t.nameLength),""}));var I=e.select("text.nums").call(u.font,t.fontFamily||g,t.fontSize||y,t.fontColor||b).text(p).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r),D=e.select("text.name"),R=0,F=0;if(f&&f!==p){D.call(u.font,t.fontFamily||g,t.fontSize||y,x).text(f).attr("data-notex",1).call(l.positionText,0,0).call(l.convertToTspans,r);var B=D.node().getBoundingClientRect();R=B.width+2*k,F=B.height+2*k}else D.remove(),e.select("rect").remove();e.select("path").style({fill:v,stroke:b});var N,j,V=I.node().getBoundingClientRect(),U=t.xa._offset+(t.x0+t.x1)/2,q=t.ya._offset+(t.y0+t.y1)/2,H=Math.abs(t.x1-t.x0),G=Math.abs(t.y1-t.y0),Y=V.width+w+k+R;if(t.ty0=L-V.top,t.bx=V.width+2*k,t.by=Math.max(V.height+2*k,F),t.anchor="start",t.txwidth=V.width,t.tx2width=R,t.offset=0,s)t.pos=U,N=q+G/2+Y<=O,j=q-G/2-Y>=0,"top"!==t.idealAlign&&N||!j?N?(q+=G/2,t.anchor="start"):t.anchor="middle":(q-=G/2,t.anchor="end");else if(t.pos=q,N=U+H/2+Y<=P,j=U-H/2-Y>=0,"left"!==t.idealAlign&&N||!j)if(N)U+=H/2,t.anchor="start";else{t.anchor="middle";var W=Y/2,X=U+W-P,Z=U-W;X>0&&(U-=X),Z<0&&(U+=-Z)}else U-=H/2,t.anchor="end";I.attr("text-anchor",t.anchor),R&&D.attr("text-anchor",t.anchor),e.attr("transform","translate("+U+","+q+")"+(s?"rotate("+m+")":""))}),N}function M(t,e){t.each(function(t){var r=n.select(this);if(t.del)return r.remove();var a=r.select("text.nums"),i=t.anchor,o="end"===i?-1:1,s={start:1,end:-1,middle:0}[i],c=s*(w+k),h=c+s*(t.txwidth+k),f=0,p=t.offset;"middle"===i&&(c-=t.tx2width/2,h+=t.txwidth/2+k),e&&(p*=-_,f=t.offset*b),r.select("path").attr("d","middle"===i?"M-"+(t.bx/2+t.tx2width/2)+","+(p-t.by/2)+"h"+t.bx+"v"+t.by+"h-"+t.bx+"Z":"M0,0L"+(o*w+f)+","+(w+p)+"v"+(t.by/2-w)+"h"+o*t.bx+"v-"+t.by+"H"+(o*w+f)+"V"+(p-w)+"Z");var d=c+f,g=p+t.ty0-t.by/2+k,v=t.textAlign||"auto";"auto"!==v&&("left"===v&&"start"!==i?(a.attr("text-anchor","start"),d="middle"===i?-t.bx/2-t.tx2width/2+k:-t.bx-k):"right"===v&&"end"!==i&&(a.attr("text-anchor","end"),d="middle"===i?t.bx/2-t.tx2width/2-k:t.bx+k)),a.call(l.positionText,d,g),t.tx2width&&(r.select("text.name").call(l.positionText,h+s*k+f,p+t.ty0-t.by/2+k),r.select("rect").call(u.setRect,h+(s-1)*t.tx2width/2+f,p-t.by/2-1,t.tx2width,t.by+2))})}function S(t,e){var r=t.index,n=t.trace||{},i=t.cd[0],s=t.cd[r]||{};function l(t){return t||a(t)&&0===t}var c=Array.isArray(r)?function(t,e){var a=o.castOption(i,r,t);return l(a)?a:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var a=c(r,n);l(a)&&(t[e]=a)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:p.hoverLabelText(t.xa,t.xLabelVal),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:p.hoverLabelText(t.ya,t.yLabelVal),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var h=p.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+h+" / -"+p.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" \xb1 "+h,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var f=p.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+f+" / -"+p.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" \xb1 "+f,"y"===e&&(t.distance+=1)}var d=t.hoverinfo||t.trace.hoverinfo;return d&&"all"!==d&&(-1===(d=Array.isArray(d)?d:d.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===d.indexOf("y")&&(t.yLabel=void 0),-1===d.indexOf("z")&&(t.zLabel=void 0),-1===d.indexOf("text")&&(t.text=void 0),-1===d.indexOf("name")&&(t.name=void 0)),t}function E(t,e,r){var n,a,o=r.container,s=r.fullLayout,l=s._size,c=r.event,f=!!e.hLinePoint,d=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),d||f){var g=h.combine(s.plot_bgcolor,s.paper_bgcolor);if(f){var v,m,y=e.hLinePoint;n=y&&y.xa,"cursor"===(a=y&&y.ya).spikesnap?(v=c.pointerX,m=c.pointerY):(v=n._offset+y.x,m=a._offset+y.y);var x,b,_=i.readability(y.color,g)<1.5?h.contrast(g):y.color,w=a.spikemode,k=a.spikethickness,T=a.spikecolor||_,A=p.getPxPosition(t,a);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=a._counterDomainMin,S=a._counterDomainMax;"free"===a.anchor&&(M=Math.min(M,a.position),S=Math.max(S,a.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k,stroke:T,"stroke-dasharray":u.dashStyle(a.spikedash,k)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:m,y2:m,"stroke-width":k+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==a.side?k:-k),cy:m,r:k,fill:T}).classed("spikeline",!0)}if(d){var E,L,C=e.vLinePoint;n=C&&C.xa,a=C&&C.ya,"cursor"===n.spikesnap?(E=c.pointerX,L=c.pointerY):(E=n._offset+C.x,L=a._offset+C.y);var P,O,z=i.readability(C.color,g)<1.5?h.contrast(g):C.color,I=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=p.getPxPosition(t,n);if(-1!==I.indexOf("toaxis")||-1!==I.indexOf("across")){if(-1!==I.indexOf("toaxis")&&(P=F,O=L),-1!==I.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D,stroke:R,"stroke-dasharray":u.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D+2,stroke:g}).classed("spikeline",!0).classed("crisp",!0)}-1!==I.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function L(t,e){return!e||(e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint)}function C(t,e){return l.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}},{"../../lib":716,"../../lib/events":706,"../../lib/override_cursor":727,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":624,"./helpers":626,d3:164,"fast-isnumeric":227,tinycolor2:535}],628:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a){r("hoverlabel.bgcolor",(a=a||{}).bgcolor),r("hoverlabel.bordercolor",a.bordercolor),r("hoverlabel.namelength",a.namelength),n.coerceFont(r,"hoverlabel.font",a.font),r("hoverlabel.align",a.align)}},{"../../lib":716}],629:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../dragelement"),o=t("./helpers"),s=t("./layout_attributes"),l=t("./hover");e.exports={moduleType:"component",name:"fx",constants:t("./constants"),schema:{layout:s},attributes:t("./attributes"),layoutAttributes:s,supplyLayoutGlobalDefaults:t("./layout_global_defaults"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return a.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return a.castOption(t,r,"hoverinfo",function(r){return a.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)})},hover:l.hover,unhover:i.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=a.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:t("./click")}},{"../../lib":716,"../dragelement":609,"./attributes":621,"./calc":622,"./click":623,"./constants":624,"./defaults":625,"./helpers":626,"./hover":627,"./layout_attributes":630,"./layout_defaults":631,"./layout_global_defaults":632,d3:164}],630:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../plots/font_attributes")({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,e.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1],editType:"modebar"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:20,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},{"../../plots/font_attributes":790,"./constants":624}],631:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}var o,s=i("clickmode");"select"===i("dragmode")&&i("selectdirection"),e._has("cartesian")?s.indexOf("select")>-1?o="closest":(e._isHoriz=function(t,e){for(var r=e._scatterStackOpts||{},n=0;n<t.length;n++){var a=t[n],i=a.xaxis+a.yaxis,o=r[i]||{},s=o[a.stackgroup]||{};if("h"!==a.orientation&&"h"!==s.orientation)return!1}return!0}(r,e),o=e._isHoriz?"y":"x"):o="closest",i("hovermode",o)&&(i("hoverdistance"),i("spikedistance"));var l=e._has("mapbox"),c=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((l||c)&&1===u||l&&c&&2===u)&&(e.dragmode="pan")}},{"../../lib":716,"./layout_attributes":630}],632:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./hoverlabel_defaults"),i=t("./layout_attributes");e.exports=function(t,e){a(t,e,function(r,a){return n.coerce(t,e,i,r,a)})}},{"../../lib":716,"./hoverlabel_defaults":628,"./layout_attributes":630}],633:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../lib/regex").counter,i=t("../../plots/domain").attributes,o=t("../../plots/cartesian/constants").idRegex,s=t("../../plot_api/plot_template"),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[a("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:i({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],a=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:a.length?a:void 0}function u(t,e,r,n,a,i){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(a),c=s[0],u=(s[1]-c)/(a-o),h=u*(1-o),f=0;f<a;f++){var p=c+u*f;l[i?a-1-f:f]=[p,p+h]}return l}function h(t,e,r,n,a){var i,o=new Array(r);function s(t,r){-1!==e.indexOf(r)&&void 0===n[r]?(o[t]=r,n[r]=t):o[t]=""}if(Array.isArray(t))for(i=0;i<r;i++)s(i,t[i]);else for(s(0,a),i=1;i<r;i++)s(i,a+(i+1));return o}e.exports={moduleType:"component",name:"grid",schema:{layout:{grid:l}},layoutAttributes:l,sizeDefaults:function(t,e){var r=t.grid||{},a=c(e,r,"x"),i=c(e,r,"y");if(t.grid||a||i){var o,h,f=Array.isArray(r.subplots)&&Array.isArray(r.subplots[0]),p=Array.isArray(a),d=Array.isArray(i),g=p&&a!==r.xaxes&&d&&i!==r.yaxes;f?(o=r.subplots.length,h=r.subplots[0].length):(d&&(o=i.length),p&&(h=a.length));var v=s.newContainer(e,"grid"),m=T("rows",o),y=T("columns",h);if(m*y>1){f||p||d||"independent"===T("pattern")&&(f=!0),v._hasSubplotGrid=f;var x,b,_="top to bottom"===T("roworder"),w=f?.2:.1,k=f?.3:.1;g&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),v._domains={x:u("x",T,w,x,y),y:u("y",T,k,b,m,_)}}else delete e.grid}function T(t,e){return n.coerce(r,v,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,a,i,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,g=r.rows,v=r.columns,m="independent"===r.pattern,y=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(g);var b=1;for(n=0;n<g;n++){var _=l[n]=new Array(v),w=x[n]||[];for(a=0;a<v;a++)if(m?(s=1===b?"xy":"x"+b+"y"+b,b++):s=w[a],_[a]="",-1!==p.cartesian.indexOf(s)){if(u=s.indexOf("y"),i=s.slice(0,u),o=s.slice(u),void 0!==y[i]&&y[i]!==a||void 0!==y[o]&&y[o]!==n)continue;_[a]=s,y[i]=a,y[o]=n}}}else{var k=c(e,f,"x"),T=c(e,f,"y");r.xaxes=h(k,p.xaxis,v,y,"x"),r.yaxes=h(T,p.yaxis,g,y,"y")}var A=r._anchors={},M="top to bottom"===r.roworder;for(var S in y){var E,L,C,P=S.charAt(0),O=r[P+"side"];if(O.length<8)A[S]="free";else if("x"===P){if("t"===O.charAt(0)===M?(E=0,L=1,C=g):(E=g-1,L=-1,C=-1),d){var z=y[S];for(n=E;n!==C;n+=L)if((s=l[n][z])&&(u=s.indexOf("y"),s.slice(0,u)===S)){A[S]=s.slice(u);break}}else for(n=E;n!==C;n+=L)if(o=r.yaxes[n],-1!==p.cartesian.indexOf(S+o)){A[S]=o;break}}else if("l"===O.charAt(0)?(E=0,L=1,C=v):(E=v-1,L=-1,C=-1),d){var I=y[S];for(n=E;n!==C;n+=L)if((s=l[I][n])&&(u=s.indexOf("y"),s.slice(u)===S)){A[S]=s.slice(0,u);break}}else for(n=E;n!==C;n+=L)if(i=r.xaxes[n],-1!==p.cartesian.indexOf(i+S)){A[S]=i;break}}}}}},{"../../lib":716,"../../lib/regex":732,"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/domain":789}],634:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/constants"),a=t("../../plot_api/plot_template").templatedArray;e.exports=a("image",{visible:{valType:"boolean",dflt:!0,editType:"arraydraw"},source:{valType:"string",editType:"arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},sizex:{valType:"number",dflt:0,editType:"arraydraw"},sizey:{valType:"number",dflt:0,editType:"arraydraw"},sizing:{valType:"enumerated",values:["fill","contain","stretch"],dflt:"contain",editType:"arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},x:{valType:"any",dflt:0,editType:"arraydraw"},y:{valType:"any",dflt:0,editType:"arraydraw"},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left",editType:"arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],dflt:"top",editType:"arraydraw"},xref:{valType:"enumerated",values:["paper",n.idRegex.x.toString()],dflt:"paper",editType:"arraydraw"},yref:{valType:"enumerated",values:["paper",n.idRegex.y.toString()],dflt:"paper",editType:"arraydraw"},editType:"arraydraw"})},{"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770}],635:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib/to_log_range");e.exports=function(t,e,r,i){e=e||{};var o="log"===r&&"linear"===e.type,s="linear"===r&&"log"===e.type;if(o||s)for(var l,c,u=t._fullLayout.images,h=e._id.charAt(0),f=0;f<u.length;f++)if(c="images["+f+"].",(l=u[f])[h+"ref"]===e._id){var p=l[h],d=l["size"+h],g=null,v=null;if(o){g=a(p,e.range);var m=d/Math.pow(10,g)/2;v=2*Math.log(m+Math.sqrt(1+m*m))/Math.LN10}else v=(g=Math.pow(10,p))*(Math.pow(10,d/2)-Math.pow(10,-d/2));n(g)?n(v)||(v=null):(g=null,v=null),i(c+h,g),i(c+"size"+h,v)}}},{"../../lib/to_log_range":742,"fast-isnumeric":227}],636:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./attributes");function s(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}var s=i("source");if(!i("visible",!!s))return e;i("layer"),i("xanchor"),i("yanchor"),i("sizex"),i("sizey"),i("sizing"),i("opacity");for(var l={_fullLayout:r},c=["x","y"],u=0;u<2;u++){var h=c[u],f=a.coerceRef(t,e,l,h,"paper");if("paper"!==f)a.getFromId(l,f)._imgIndices.push(e._index);a.coercePosition(e,l,i,f,h,0)}return e}e.exports=function(t,e){i(t,e,{name:"images",handleItemDefaults:s})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":634}],637:[function(t,e,r){"use strict";var n=t("d3"),a=t("../drawing"),i=t("../../plots/cartesian/axes"),o=t("../../constants/xmlns_namespaces");e.exports=function(t){var e,r,s=t._fullLayout,l=[],c={},u=[];for(r=0;r<s.images.length;r++){var h=s.images[r];if(h.visible)if("below"===h.layer&&"paper"!==h.xref&&"paper"!==h.yref){e=h.xref+h.yref;var f=s._plots[e];if(!f){u.push(h);continue}f.mainplot&&(e=f.mainplot.id),c[e]||(c[e]=[]),c[e].push(h)}else"above"===h.layer?l.push(h):u.push(h)}var p={x:{left:{sizing:"xMin",offset:0},center:{sizing:"xMid",offset:-.5},right:{sizing:"xMax",offset:-1}},y:{top:{sizing:"YMin",offset:0},middle:{sizing:"YMid",offset:-.5},bottom:{sizing:"YMax",offset:-1}}};function d(e){var r=n.select(this);if(this._imgSrc!==e.source)if(r.attr("xmlns",o.svg),e.source&&"data:"===e.source.slice(0,5))r.attr("xlink:href",e.source),this._imgSrc=e.source;else{var a=new Promise(function(t){var n=new Image;function a(){r.remove(),t()}this.img=n,n.setAttribute("crossOrigin","anonymous"),n.onerror=a,n.onload=function(){var e=document.createElement("canvas");e.width=this.width,e.height=this.height,e.getContext("2d").drawImage(this,0,0);var n=e.toDataURL("image/png");r.attr("xlink:href",n),t()},r.on("error",a),n.src=e.source,this._imgSrc=e.source}.bind(this));t._promises.push(a)}}function g(e){var r=n.select(this),o=i.getFromId(t,e.xref),l=i.getFromId(t,e.yref),c=s._size,u=o?Math.abs(o.l2p(e.sizex)-o.l2p(0)):e.sizex*c.w,h=l?Math.abs(l.l2p(e.sizey)-l.l2p(0)):e.sizey*c.h,f=u*p.x[e.xanchor].offset,d=h*p.y[e.yanchor].offset,g=p.x[e.xanchor].sizing+p.y[e.yanchor].sizing,v=(o?o.r2p(e.x)+o._offset:e.x*c.w+c.l)+f,m=(l?l.r2p(e.y)+l._offset:c.h-e.y*c.h+c.t)+d;switch(e.sizing){case"fill":g+=" slice";break;case"stretch":g="none"}r.attr({x:v,y:m,width:u,height:h,preserveAspectRatio:g,opacity:e.opacity});var y=(o?o._id:"")+(l?l._id:"");a.setClipUrl(r,y?"clip"+s._uid+y:null,t)}var v=s._imageLowerLayer.selectAll("image").data(u),m=s._imageUpperLayer.selectAll("image").data(l);v.enter().append("image"),m.enter().append("image"),v.exit().remove(),m.exit().remove(),v.each(function(t){d.bind(this)(t),g.bind(this)(t)}),m.each(function(t){d.bind(this)(t),g.bind(this)(t)});var y=Object.keys(s._plots);for(r=0;r<y.length;r++){e=y[r];var x=s._plots[e];if(x.imagelayer){var b=x.imagelayer.selectAll("image").data(c[e]||[]);b.enter().append("image"),b.exit().remove(),b.each(function(t){d.bind(this)(t),g.bind(this)(t)})}}}},{"../../constants/xmlns_namespaces":693,"../../plots/cartesian/axes":764,"../drawing":612,d3:164}],638:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"images",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("images"),draw:t("./draw"),convertCoords:t("./convert_coords")}},{"../../plots/cartesian/include_components":774,"./attributes":634,"./convert_coords":635,"./defaults":636,"./draw":637}],639:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes");e.exports={bgcolor:{valType:"color",editType:"legend"},bordercolor:{valType:"color",dflt:a.defaultLine,editType:"legend"},borderwidth:{valType:"number",min:0,dflt:0,editType:"legend"},font:n({editType:"legend"}),orientation:{valType:"enumerated",values:["v","h"],dflt:"v",editType:"legend"},traceorder:{valType:"flaglist",flags:["reversed","grouped"],extras:["normal"],editType:"legend"},tracegroupgap:{valType:"number",min:0,dflt:10,editType:"legend"},itemsizing:{valType:"enumerated",values:["trace","constant"],dflt:"trace",editType:"legend"},itemclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggle",editType:"legend"},itemdoubleclick:{valType:"enumerated",values:["toggle","toggleothers",!1],dflt:"toggleothers",editType:"legend"},x:{valType:"number",min:-2,max:3,editType:"legend"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"legend"},y:{valType:"number",min:-2,max:3,editType:"legend"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],editType:"legend"},uirevision:{valType:"any",editType:"none"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"legend"},editType:"legend"}},{"../../plots/font_attributes":790,"../color/attributes":590}],640:[function(t,e,r){"use strict";e.exports={scrollBarWidth:6,scrollBarMinHeight:20,scrollBarColor:"#808BA4",scrollBarMargin:4,scrollBarEnterAttrs:{rx:20,ry:3,width:0,height:0},textGap:40,itemGap:5}},{}],641:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plot_api/plot_template"),o=t("./attributes"),s=t("../../plots/layout_attributes"),l=t("./helpers");e.exports=function(t,e,r){for(var c=t.legend||{},u=0,h=!1,f="normal",p=0;p<r.length;p++){var d=r[p];d.visible&&((d.showlegend||d._dfltShowLegend)&&(u++,d.showlegend&&(h=!0,(n.traceIs(d,"pie-like")||!0===d._input.showlegend)&&u++)),(n.traceIs(d,"bar")&&"stack"===e.barmode||-1!==["tonextx","tonexty"].indexOf(d.fill))&&(f=l.isGrouped({traceorder:f})?"grouped+reversed":"reversed"),void 0!==d.legendgroup&&""!==d.legendgroup&&(f=l.isReversed({traceorder:f})?"reversed+grouped":"grouped"))}var g=a.coerce(t,e,s,"showlegend",h&&u>1);if(!1!==g||c.uirevision){var v,m,y,x=i.newContainer(e,"legend");if(b("uirevision",e.uirevision),!1!==g)b("bgcolor",e.paper_bgcolor),b("bordercolor"),b("borderwidth"),a.coerceFont(b,"font",e.font),"h"===b("orientation")?(v=0,n.getComponentMethod("rangeslider","isVisible")(t.xaxis)?(m=1.1,y="bottom"):(m=-.1,y="top")):(v=1.02,m=1,y="auto"),b("traceorder",f),l.isGrouped(e.legend)&&b("tracegroupgap"),b("itemsizing"),b("itemclick"),b("itemdoubleclick"),b("x",v),b("xanchor"),b("y",m),b("yanchor",y),b("valign"),a.noneOrAll(c,x,["x","y"])}function b(t,e){return a.coerce(c,x,o,t,e)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/layout_attributes":816,"../../registry":845,"./attributes":639,"./helpers":645}],642:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib/events"),l=t("../dragelement"),c=t("../drawing"),u=t("../color"),h=t("../../lib/svg_text_utils"),f=t("./handle_click"),p=t("./constants"),d=t("../../constants/alignment"),g=d.LINE_SPACING,v=d.FROM_TL,m=d.FROM_BR,y=t("./get_legend_data"),x=t("./style"),b=t("./helpers");function _(t,e,r,n,a){var i=r.data()[0][0].trace,l={event:a,node:r.node(),curveNumber:i.index,expandedIndex:i._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};if(i._group&&(l.group=i._group),o.traceIs(i,"pie-like")&&(l.label=r.datum()[0].label),!1!==s.triggerHandler(t,"plotly_legendclick",l))if(1===n)e._clickTimeout=setTimeout(function(){f(r,t,n)},t._context.doubleClickDelay);else if(2===n){e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&f(r,t,n)}}function w(t,e){var r=t.data()[0][0],n=e._fullLayout,i=n.legend,s=r.trace,l=o.traceIs(s,"pie-like"),u=s.index,f=e._context.edits.legendText&&!l,d=i._maxNameLength,v=l?r.label:s.name;s._meta&&(v=a.templateString(v,s._meta));var m=a.ensureSingle(t,"text","legendtext");function y(r){h.convertToTspans(r,e,function(){!function(t,e){var r=t.data()[0][0];if(!r.trace.showlegend)return void t.remove();var n,a,i=t.select("g[class*=math-group]"),o=i.node(),s=e._fullLayout.legend.font.size*g;if(o){var l=c.bBox(o);n=l.height,a=l.width,c.setTranslate(i,0,n/4)}else{var u=t.select(".legendtext"),f=h.lineCount(u),d=u.node();n=s*f,a=d?c.bBox(d).width:0;var v=s*(.3+(1-f)/2);h.positionText(u,p.textGap,v)}r.lineHeight=s,r.height=Math.max(n,16)+3,r.width=a}(t,e)})}m.attr("text-anchor","start").classed("user-select-none",!0).call(c.font,n.legend.font).text(f?k(v,d):v),h.positionText(m,p.textGap,0),f?m.call(h.makeEditable,{gd:e,text:v}).call(y).on("edit",function(t){this.text(k(t,d)).call(y);var n=r.trace._fullInput||{},i={};if(o.hasTransform(n,"groupby")){var s=o.getTransformIndices(n,"groupby"),l=s[s.length-1],c=a.keyedContainer(n,"transforms["+l+"].styles","target","value.name");c.set(r.trace._group,t),i=c.constructUpdate()}else i.name=t;return o.call("_guiRestyle",e,i,u)}):y(m)}function k(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function T(t,e){var r,i=e._context.doubleClickDelay,o=1,s=a.ensureSingle(t,"rect","legendtoggle",function(t){t.style("cursor","pointer").attr("pointer-events","all").call(u.fill,"rgba(0,0,0,0)")});s.on("mousedown",function(){(r=(new Date).getTime())-e._legendMouseDownTime<i?o+=1:(o=1,e._legendMouseDownTime=r)}),s.on("mouseup",function(){if(!e._dragged&&!e._editing){var r=e._fullLayout.legend;(new Date).getTime()-e._legendMouseDownTime>i&&(o=Math.max(o-1,1)),_(e,r,t,o,n.event)}})}function A(t){return a.isRightAnchor(t)?"right":a.isCenterAnchor(t)?"center":"left"}function M(t){return a.isBottomAnchor(t)?"bottom":a.isMiddleAnchor(t)?"middle":"top"}e.exports=function(t){var e=t._fullLayout,r="legend"+e._uid;if(e._infolayer&&t.calcdata){t._legendMouseDownTime||(t._legendMouseDownTime=0);var s=e.legend,h=e.showlegend&&y(t.calcdata,s),f=e.hiddenlabels||[];if(!e.showlegend||!h.length)return e._infolayer.selectAll(".legend").remove(),e._topdefs.select("#"+r).remove(),i.autoMargin(t,"legend");var d=a.ensureSingle(e._infolayer,"g","legend",function(t){t.attr("pointer-events","all")}),g=a.ensureSingleById(e._topdefs,"clipPath",r,function(t){t.append("rect")}),k=a.ensureSingle(d,"rect","bg",function(t){t.attr("shape-rendering","crispEdges")});k.call(u.stroke,s.bordercolor).call(u.fill,s.bgcolor).style("stroke-width",s.borderwidth+"px");var S=a.ensureSingle(d,"g","scrollbox"),E=a.ensureSingle(d,"rect","scrollbar",function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)}),L=S.selectAll("g.groups").data(h);L.enter().append("g").attr("class","groups"),L.exit().remove();var C=L.selectAll("g.traces").data(a.identity);C.enter().append("g").attr("class","traces"),C.exit().remove(),C.style("opacity",function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==f.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1}).each(function(){n.select(this).call(w,t)}).call(x,t).each(function(){n.select(this).call(T,t)}),a.syncOrAsync([i.previousPromises,function(){return function(t,e,r){var a=t._fullLayout,i=a.legend,o=a._size,s=b.isVertical(i),l=b.isGrouped(i),u=i.borderwidth,h=2*u,f=p.textGap,d=p.itemGap,g=2*(u+d),v=M(i),m=i.y<0||0===i.y&&"top"===v,y=i.y>1||1===i.y&&"bottom"===v;i._maxHeight=Math.max(m||y?a.height/2:o.h,30);var x=0;if(i._width=0,i._height=0,s)r.each(function(t){var e=t[0].height;c.setTranslate(this,u,d+u+i._height+e/2),i._height+=e,i._width=Math.max(i._width,t[0].width)}),x=f+i._width,i._width+=d+f+h,i._height+=g,l&&(e.each(function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)}),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var _=A(i),w=i.x<0||0===i.x&&"right"===_,k=i.x>1||1===i.x&&"left"===_,T=y||m,S=a.width/2;i._maxWidth=Math.max(w?T&&"left"===_?o.l+o.w:S:k?T&&"right"===_?o.r+o.w:S:o.w,2*f);var E=0,L=0;r.each(function(t){var e=t[0].width+f;E=Math.max(E,e),L+=e}),x=null;var C=0;if(l){var P=0,O=0,z=0;e.each(function(){var t=0,e=0;n.select(this).selectAll("g.traces").each(function(r){var n=r[0].height;c.setTranslate(this,0,d+u+n/2+e),e+=n,t=Math.max(t,f+r[0].width)}),P=Math.max(P,e);var r=t+d;r+u+O>i._maxWidth&&(C=Math.max(C,O),O=0,z+=P+i.tracegroupgap,P=e),c.setTranslate(this,O,z),O+=r}),i._width=Math.max(C,O)+u,i._height=z+P+g}else{var I=r.size(),D=L+h+(I-1)*d<i._maxWidth,R=0,F=0,B=0,N=0;r.each(function(t){var e=t[0].height,r=f+t[0].width,n=(D?r:E)+d;n+u+F>i._maxWidth&&(C=Math.max(C,N),F=0,B+=R,i._height+=R,R=0),c.setTranslate(this,u+F,d+u+e/2+B),N=F+r+d,F+=n,R=Math.max(R,e)}),D?(i._width=F+h,i._height=R+g):(i._width=Math.max(C,N)+h,i._height+=R+g)}}i._width=Math.ceil(i._width),i._height=Math.ceil(i._height),i._effHeight=Math.min(i._height,i._maxHeight);var j=t._context.edits,V=j.legendText||j.legendPosition;r.each(function(t){var e=n.select(this).select(".legendtoggle"),r=t[0].height,a=V?f:x||f+t[0].width;s||(a+=d/2),c.setRect(e,0,-r/2,a,r)})}(t,L,C)},function(){if(!function(t){var e=t._fullLayout.legend,r=A(e),n=M(e);return i.autoMargin(t,"legend",{x:e.x,y:e.y,l:e._width*v[r],r:e._width*m[r],b:e._effHeight*m[n],t:e._effHeight*v[n]})}(t)){var u,h,f,y,x=e._size,b=s.borderwidth,w=x.l+x.w*s.x-v[A(s)]*s._width,T=x.t+x.h*(1-s.y)-v[M(s)]*s._effHeight;if(e.margin.autoexpand){var L=w,C=T;w=a.constrain(w,0,e.width-s._width),T=a.constrain(T,0,e.height-s._effHeight),w!==L&&a.log("Constrain legend.x to make legend fit inside graph"),T!==C&&a.log("Constrain legend.y to make legend fit inside graph")}if(c.setTranslate(d,w,T),E.on(".drag",null),d.on("wheel",null),s._height<=s._maxHeight||t._context.staticPlot)k.attr({width:s._width-b,height:s._effHeight-b,x:b/2,y:b/2}),c.setTranslate(S,0,0),g.select("rect").attr({width:s._width-2*b,height:s._effHeight-2*b,x:b,y:b}),c.setClipUrl(S,r,t),c.setRect(E,0,0,0,0),delete s._scrollY;else{var P,O,z,I=Math.max(p.scrollBarMinHeight,s._effHeight*s._effHeight/s._height),D=s._effHeight-I-2*p.scrollBarMargin,R=s._height-s._effHeight,F=D/R,B=Math.min(s._scrollY||0,R);k.attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-b,x:b/2,y:b/2}),g.select("rect").attr({width:s._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:s._effHeight-2*b,x:b,y:b+B}),c.setClipUrl(S,r,t),V(B,I,F),d.on("wheel",function(){V(B=a.constrain(s._scrollY+n.event.deltaY/D*R,0,R),I,F),0!==B&&B!==R&&n.event.preventDefault()});var N=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;P="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,z=B}).on("drag",function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(O="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,V(B=function(t,e,r){var n=(r-e)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});E.call(N);var j=n.behavior.drag().on("dragstart",function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(P=t.changedTouches[0].clientY,z=B)}).on("drag",function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(O=t.changedTouches[0].clientY,V(B=function(t,e,r){var n=(e-r)/F+t;return a.constrain(n,0,R)}(z,P,O),I,F))});S.call(j)}if(t._context.edits.legendPosition)d.classed("cursor-move",!0),l.init({element:d.node(),gd:t,prepFn:function(){var t=c.getTranslate(d);f=t.x,y=t.y},moveFn:function(t,e){var r=f+t,n=y+e;c.setTranslate(d,r,n),u=l.align(r,0,x.l,x.l+x.w,s.xanchor),h=l.align(n,0,x.t+x.h,x.t,s.yanchor)},doneFn:function(){void 0!==u&&void 0!==h&&o.call("_guiRelayout",t,{"legend.x":u,"legend.y":h})},clickFn:function(r,n){var a=e._infolayer.selectAll("g.traces").filter(function(){var t=this.getBoundingClientRect();return n.clientX>=t.left&&n.clientX<=t.right&&n.clientY>=t.top&&n.clientY<=t.bottom});a.size()>0&&_(t,d,a,r,n)}})}function V(e,r,n){s._scrollY=t._fullLayout.legend._scrollY=e,c.setTranslate(S,0,-e),c.setRect(E,s._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),g.select("rect").attr("y",b+e)}}],t)}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/events":706,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":640,"./get_legend_data":643,"./handle_click":644,"./helpers":645,"./style":647,d3:164}],643:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./helpers");e.exports=function(t,e){var r,i,o={},s=[],l=!1,c={},u=0,h=0;function f(t,r){if(""!==t&&a.isGrouped(e))-1===s.indexOf(t)?(s.push(t),l=!0,o[t]=[[r]]):o[t].push([r]);else{var n="~~i"+u;s.push(n),o[n]=[[r]],u++}}for(r=0;r<t.length;r++){var p=t[r],d=p[0],g=d.trace,v=g.legendgroup;if(g.visible&&g.showlegend)if(n.traceIs(g,"pie-like"))for(c[v]||(c[v]={}),i=0;i<p.length;i++){var m=p[i].label;c[v][m]||(f(v,{label:m,color:p[i].color,i:p[i].i,trace:g,pts:p[i].pts}),c[v][m]=!0,h=Math.max(h,(m||"").length))}else f(v,d),h=Math.max(h,(g.name||"").length)}if(!s.length)return[];var y,x,b=s.length;if(l&&a.isGrouped(e))for(x=new Array(b),r=0;r<b;r++)y=o[s[r]],x[r]=a.isReversed(e)?y.reverse():y;else{for(x=[new Array(b)],r=0;r<b;r++)y=o[s[r]][0],x[0][a.isReversed(e)?b-r-1:r]=y;b=1}return e._lgroupsLength=b,e._maxNameLength=h,x}},{"../../registry":845,"./helpers":645}],644:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=!0;e.exports=function(t,e,r){var o=e._fullLayout;if(!e._dragged&&!e._editing){var s,l=o.legend.itemclick,c=o.legend.itemdoubleclick;if(1===r&&"toggle"===l&&"toggleothers"===c&&i&&e.data&&e._context.showTips?(n.notifier(n._(e,"Double-click on legend to isolate one trace"),"long"),i=!1):i=!1,1===r?s=l:2===r&&(s=c),s){var u,h,f,p,d,g=o.hiddenlabels?o.hiddenlabels.slice():[],v=t.data()[0][0],m=e._fullData,y=v.trace,x=y.legendgroup,b={},_=[],w=[],k=[];if(a.traceIs(y,"pie-like")){var T=v.label,A=g.indexOf(T);"toggle"===s?-1===A?g.push(T):g.splice(A,1):"toggleothers"===s&&(g=[],e.calcdata[0].forEach(function(t){T!==t.label&&g.push(t.label)}),e._fullLayout.hiddenlabels&&e._fullLayout.hiddenlabels.length===g.length&&-1===A&&(g=[])),a.call("_guiRelayout",e,"hiddenlabels",g)}else{var M,S=x&&x.length,E=[];if(S)for(u=0;u<m.length;u++)(M=m[u]).visible&&M.legendgroup===x&&E.push(u);if("toggle"===s){var L;switch(y.visible){case!0:L="legendonly";break;case!1:L=!1;break;case"legendonly":L=!0}if(S)for(u=0;u<m.length;u++)!1!==m[u].visible&&m[u].legendgroup===x&&R(m[u],L);else R(y,L)}else if("toggleothers"===s){var C,P,O=!0;for(u=0;u<m.length;u++)if(!(m[u]===y)&&!(C=S&&m[u].legendgroup===x)&&!0===m[u].visible&&!a.traceIs(m[u],"notLegendIsolatable")){O=!1;break}for(u=0;u<m.length;u++)if(!1!==m[u].visible&&!a.traceIs(m[u],"notLegendIsolatable"))switch(y.visible){case"legendonly":R(m[u],!0);break;case!0:P=!!O||"legendonly",C=m[u]===y||S&&m[u].legendgroup===x,R(m[u],!!C||P)}}for(u=0;u<w.length;u++)if(f=w[u]){var z=f.constructUpdate(),I=Object.keys(z);for(h=0;h<I.length;h++)p=I[h],(b[p]=b[p]||[])[k[u]]=z[p]}for(d=Object.keys(b),u=0;u<d.length;u++)for(p=d[u],h=0;h<_.length;h++)b[p].hasOwnProperty(h)||(b[p][h]=void 0);a.call("_guiRestyle",e,b,_)}}}function D(t,e,r){var n=_.indexOf(t),a=b[e];return a||(a=b[e]=[]),-1===_.indexOf(t)&&(_.push(t),n=_.length-1),a[n]=r,n}function R(t,e){var r=t._fullInput;if(a.hasTransform(r,"groupby")){var i=w[r.index];if(!i){var o=a.getTransformIndices(r,"groupby"),s=o[o.length-1];i=n.keyedContainer(r,"transforms["+s+"].styles","target","value.visible"),w[r.index]=i}var l=i.get(t._group);void 0===l&&(l=!0),!1!==l&&i.set(t._group,e),k[r.index]=D(r.index,"visible",!1!==r.visible)}else{var c=!1!==r.visible&&e;D(r.index,"visible",c)}}}},{"../../lib":716,"../../registry":845}],645:[function(t,e,r){"use strict";r.isGrouped=function(t){return-1!==(t.traceorder||"").indexOf("grouped")},r.isVertical=function(t){return"h"!==t.orientation},r.isReversed=function(t){return-1!==(t.traceorder||"").indexOf("reversed")}},{}],646:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"legend",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw"),style:t("./style")}},{"./attributes":639,"./defaults":641,"./draw":642,"./style":647}],647:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../drawing"),s=t("../color"),l=t("../colorscale/helpers").extractOpts,c=t("../../traces/scatter/subtypes"),u=t("../../traces/pie/style_one"),h=t("../../traces/pie/helpers").castOption,f=12,p=5,d=2,g=10,v=5;function m(t){return t?"horizontal":"horizontalreversed"}e.exports=function(t,e){var r=e._fullLayout.legend,y="constant"===r.itemsizing,x=function(t,e,r,n){var a;if(t+1)a=t;else{if(!(e&&e.width>0))return 0;a=e.width}return y?n:Math.min(a,r)};function b(t,e,r){var i=t[0].trace,o=i.marker||{},l=o.line||{},c=r?i.visible&&i.type===r:a.traceIs(i,"bar"),u=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(c?[t]:[]);u.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),u.exit().remove(),u.each(function(t){var e=n.select(this),r=t[0],a=x(r.mlw,o.line,v,d);e.style("stroke-width",a+"px").call(s.fill,r.mc||o.color),a&&s.stroke(e,r.mlc||l.color)})}function _(t,e,r){var o=t[0],s=o.trace,l=r?s.visible&&s.type===r:a.traceIs(s,r),c=n.select(e).select("g.legendpoints").selectAll("path.legend"+r).data(l?[t]:[]);if(c.enter().append("path").classed("legend"+r,!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),c.exit().remove(),c.size()){var f=(s.marker||{}).line,p=x(h(f.width,o.pts),f,v,d),g=i.minExtend(s,{marker:{line:{width:p}}});g.marker.line.color=f.color;var m=i.minExtend(o,{trace:g});u(c,m,g)}}t.each(function(t){var e=n.select(this),a=i.ensureSingle(e,"g","layers");a.style("opacity",t[0].trace.opacity);var o=r.valign,s=t[0].lineHeight,l=t[0].height;if("middle"!==o&&s&&l){var c={top:1,bottom:-1}[o]*(.5*(s-l+3));a.attr("transform","translate(0,"+c+")")}else a.attr("transform",null);a.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),a.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var u=a.selectAll("g.legendsymbols").data([t]);u.enter().append("g").classed("legendsymbols",!0),u.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)}).each(function(t){var e=t[0].trace,r=[];e.visible&&"waterfall"===e.type&&(r=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var a=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(r);a.enter().append("path").classed("legendwaterfall",!0).attr("transform","translate(20,0)").style("stroke-miterlimit",1),a.exit().remove(),a.each(function(t){var r=n.select(this),a=e[t[0]].marker,i=x(void 0,a.line,v,d);r.attr("d",t[1]).style("stroke-width",i+"px").call(s.fill,a.color),i&&r.call(s.stroke,a.line.color)})}).each(function(t){b(t,this,"funnel")}).each(function(t){b(t,this)}).each(function(t){var r=t[0].trace,l=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&a.traceIs(r,"box-violin")?[t]:[]);l.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform","translate(20,0)"),l.exit().remove(),l.each(function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==s.opacity(r.fillcolor)||0!==s.opacity((r.line||{}).color)){var a=x(void 0,r.line,v,d);t.style("stroke-width",a+"px").call(s.fill,r.fillcolor),a&&s.stroke(t,r.line.color)}else{var c=i.minExtend(r,{marker:{size:y?f:i.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});l.call(o.pointStyle,c,e)}})}).each(function(t){_(t,this,"funnelarea")}).each(function(t){_(t,this,"pie")}).each(function(t){var r,a,s=t[0],u=s.trace,h=u.visible&&u.fill&&"none"!==u.fill,f=c.hasLines(u),d=u.contours,v=!1,y=!1,b=l(u),_=b.colorscale,w=b.reversescale;if(d){var k=d.coloring;"lines"===k?v=!0:f="none"===k||"heatmap"===k||d.showlines,"constraint"===d.type?h="="!==d._operation:"fill"!==k&&"heatmap"!==k||(y=!0)}var T=c.hasMarkers(u)||c.hasText(u),A=h||y,M=f||v,S=T||!A?"M5,0":M?"M5,-2":"M5,-3",E=n.select(this),L=E.select(".legendfill").selectAll("path").data(h||y?[t]:[]);if(L.enter().append("path").classed("js-fill",!0),L.exit().remove(),L.attr("d",S+"h30v6h-30z").call(h?o.fillGroupStyle:function(t){if(t.size()){var r="legendfill-"+u.uid;o.gradient(t,e,r,m(w),_,"fill")}}),f||v){var C=x(void 0,u.line,g,p);a=i.minExtend(u,{line:{width:C}}),r=[i.minExtend(s,{trace:a})]}var P=E.select(".legendlines").selectAll("path").data(f||v?[r]:[]);P.enter().append("path").classed("js-line",!0),P.exit().remove(),P.attr("d",S+(v?"l30,0.0001":"h30")).call(f?o.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+u.uid;o.lineGroupStyle(t),o.gradient(t,e,r,m(w),_,"stroke")}})}).each(function(t){var r,a,s=t[0],l=s.trace,u=c.hasMarkers(l),h=c.hasText(l),g=c.hasLines(l);function v(t,e,r,n){var a=i.nestedProperty(l,t).get(),o=i.isArrayOrTypedArray(a)&&e?e(a):a;if(y&&o&&void 0!==n&&(o=n),r){if(o<r[0])return r[0];if(o>r[1])return r[1]}return o}function m(t){return t[0]}if(u||h||g){var x={},b={};if(u){x.mc=v("marker.color",m),x.mx=v("marker.symbol",m),x.mo=v("marker.opacity",i.mean,[.2,1]),x.mlc=v("marker.line.color",m),x.mlw=v("marker.line.width",i.mean,[0,5],d),b.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var _=v("marker.size",i.mean,[2,16],f);x.ms=_,b.marker.size=_}g&&(b.line={width:v("line.width",m,[0,10],p)}),h&&(x.tx="Aa",x.tp=v("textposition",m),x.ts=10,x.tc=v("textfont.color",m),x.tf=v("textfont.family",m)),r=[i.minExtend(s,x)],(a=i.minExtend(l,b)).selectedpoints=null,a.texttemplate=null}var w=n.select(this).select("g.legendpoints"),k=w.selectAll("path.scatterpts").data(u?r:[]);k.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform","translate(20,0)"),k.exit().remove(),k.call(o.pointStyle,a,e),u&&(r[0].mrc=3);var T=w.selectAll("g.pointtext").data(h?r:[]);T.enter().append("g").classed("pointtext",!0).append("text").attr("transform","translate(20,0)"),T.exit().remove(),T.selectAll("text").call(o.textPointStyle,a,e)}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],o=x(void 0,i.line,v,d);a.style("stroke-width",o+"px").call(s.fill,i.fillcolor),o&&s.stroke(a,i.line.color)})}).each(function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"}).attr("transform","translate(20,0)").style("stroke-miterlimit",1),r.exit().remove(),r.each(function(t,r){var a=n.select(this),i=e[r?"increasing":"decreasing"],l=x(void 0,i.line,v,d);a.style("fill","none").call(o.dashLine,i.line.dash,l),l&&s.stroke(a,i.line.color)})})}},{"../../lib":716,"../../registry":845,"../../traces/pie/helpers":1097,"../../traces/pie/style_one":1103,"../../traces/scatter/subtypes":1142,"../color":591,"../colorscale/helpers":602,"../drawing":612,d3:164}],648:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/plots"),i=t("../../plots/cartesian/axis_ids"),o=t("../../lib"),s=t("../../fonts/ploticon"),l=o._,c=e.exports={};function u(t,e){var r,a,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},h=i.list(t,null,!0),f=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,g=(1+d)/2,v=(1-d)/2;for(a=0;a<h.length;a++)if(!(r=h[a]).fixedrange)if(p=r._name,"auto"===l)u[p+".autorange"]=!0;else if("reset"===l){if(void 0===r._rangeInitial)u[p+".autorange"]=!0;else{var m=r._rangeInitial.slice();u[p+".range[0]"]=m[0],u[p+".range[1]"]=m[1]}void 0!==r._showSpikeInitial&&(u[p+".showspikes"]=r._showSpikeInitial,"on"!==f||r._showSpikeInitial||(f="off"))}else{var y=[r.r2l(r.range[0]),r.r2l(r.range[1])],x=[g*y[0]+v*y[1],g*y[1]+v*y[0]];u[p+".range[0]"]=r.l2r(x[0]),u[p+".range[1]"]=r.l2r(x[1])}}else"hovermode"!==s||"x"!==l&&"y"!==l||(l=c._isHoriz?"y":"x",o.setAttribute("data-val",l)),u[s]=l;c._cartesianSpikesEnabled=f,n.call("_guiRelayout",t,u)}function h(t,e){for(var r=e.currentTarget,a=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,o=t._fullLayout._subplots.gl3d,s={},l=a.split("."),c=0;c<o.length;c++)s[o[c]+"."+l[1]]=i;var u="pan"===i?i:"zoom";s.dragmode=u,n.call("_guiRelayout",t,s)}function f(t,e){for(var r=e.currentTarget.getAttribute("data-attr"),a=t._fullLayout,i=a._subplots.gl3d||[],o={},s=0;s<i.length;s++){var l,c=i[s],u=c+".camera",h=c+".aspectratio",f=a[c]._scene;"resetLastSave"===r?(o[u+".up"]=f.viewInitial.up,o[u+".eye"]=f.viewInitial.eye,o[u+".center"]=f.viewInitial.center,l=!0):"resetDefault"===r&&(o[u+".up"]=null,o[u+".eye"]=null,o[u+".center"]=null,l=!0),l&&(o[h+".x"]=f.viewInitial.aspectratio.x,o[h+".y"]=f.viewInitial.aspectratio.y,o[h+".z"]=f.viewInitial.aspectratio.z)}n.call("_guiRelayout",t,o)}function p(t,e){var r=e.currentTarget,n=r._previousVal,a=t._fullLayout,i=a._subplots.gl3d||[],o=["xaxis","yaxis","zaxis"],s={},l={};if(n)l=n,r._previousVal=null;else{for(var c=0;c<i.length;c++){var u=i[c],h=a[u],f=u+".hovermode";s[f]=h.hovermode,l[f]=!1;for(var p=0;p<3;p++){var d=o[p],g=u+"."+d+".showspikes";l[g]=!1,s[g]=h[d].showspikes}}r._previousVal=s}return l}function d(t,e){for(var r=e.currentTarget,a=r.getAttribute("data-attr"),i=r.getAttribute("data-val")||!0,o=t._fullLayout,s=o._subplots.geo,l=0;l<s.length;l++){var c=s[l],u=o[c];if("zoom"===a){var h=u.projection.scale,f="in"===i?2*h:.5*h;n.call("_guiRelayout",t,c+".projection.scale",f)}else"reset"===a&&m(t,"geo")}}function g(t){var e=t._fullLayout;return!e.hovermode&&(e._has("cartesian")?e._isHoriz?"y":"x":"closest")}function v(t){var e=g(t);n.call("_guiRelayout",t,"hovermode",e)}function m(t,e){for(var r=t._fullLayout,a=r._subplots[e]||[],i={},o=0;o<a.length;o++)for(var s=a[o],l=r[s]._subplot.viewInitial,c=Object.keys(l),u=0;u<c.length;u++){var h=c[u];i[s+"."+h]=l[h]}n.call("_guiRelayout",t,i)}c.toImage={name:"toImage",title:function(t){var e=(t._context.toImageButtonOptions||{}).format||"png";return l(t,"png"===e?"Download plot as a png":"Download plot")},icon:s.camera,click:function(t){var e=t._context.toImageButtonOptions,r={format:e.format||"png"};o.notifier(l(t,"Taking snapshot - this may take a few seconds"),"long"),"svg"!==r.format&&o.isIE()&&(o.notifier(l(t,"IE only supports svg.  Changing format to svg."),"long"),r.format="svg"),["filename","width","height","scale"].forEach(function(t){t in e&&(r[t]=e[t])}),n.call("downloadImage",t,r).then(function(e){o.notifier(l(t,"Snapshot succeeded")+" - "+e,"long")}).catch(function(){o.notifier(l(t,"Sorry, there was a problem downloading your snapshot!"),"long")})}},c.sendDataToCloud={name:"sendDataToCloud",title:function(t){return l(t,"Edit in Chart Studio")},icon:s.disk,click:function(t){a.sendDataToCloud(t)}},c.editInChartStudio={name:"editInChartStudio",title:function(t){return l(t,"Edit in Chart Studio")},icon:s.pencil,click:function(t){a.sendDataToCloud(t)}},c.zoom2d={name:"zoom2d",title:function(t){return l(t,"Zoom")},attr:"dragmode",val:"zoom",icon:s.zoombox,click:u},c.pan2d={name:"pan2d",title:function(t){return l(t,"Pan")},attr:"dragmode",val:"pan",icon:s.pan,click:u},c.select2d={name:"select2d",title:function(t){return l(t,"Box Select")},attr:"dragmode",val:"select",icon:s.selectbox,click:u},c.lasso2d={name:"lasso2d",title:function(t){return l(t,"Lasso Select")},attr:"dragmode",val:"lasso",icon:s.lasso,click:u},c.zoomIn2d={name:"zoomIn2d",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:u},c.zoomOut2d={name:"zoomOut2d",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:u},c.autoScale2d={name:"autoScale2d",title:function(t){return l(t,"Autoscale")},attr:"zoom",val:"auto",icon:s.autoscale,click:u},c.resetScale2d={name:"resetScale2d",title:function(t){return l(t,"Reset axes")},attr:"zoom",val:"reset",icon:s.home,click:u},c.hoverClosestCartesian={name:"hoverClosestCartesian",title:function(t){return l(t,"Show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:u},c.hoverCompareCartesian={name:"hoverCompareCartesian",title:function(t){return l(t,"Compare data on hover")},attr:"hovermode",val:function(t){return t._fullLayout._isHoriz?"y":"x"},icon:s.tooltip_compare,gravity:"ne",click:u},c.zoom3d={name:"zoom3d",title:function(t){return l(t,"Zoom")},attr:"scene.dragmode",val:"zoom",icon:s.zoombox,click:h},c.pan3d={name:"pan3d",title:function(t){return l(t,"Pan")},attr:"scene.dragmode",val:"pan",icon:s.pan,click:h},c.orbitRotation={name:"orbitRotation",title:function(t){return l(t,"Orbital rotation")},attr:"scene.dragmode",val:"orbit",icon:s["3d_rotate"],click:h},c.tableRotation={name:"tableRotation",title:function(t){return l(t,"Turntable rotation")},attr:"scene.dragmode",val:"turntable",icon:s["z-axis"],click:h},c.resetCameraDefault3d={name:"resetCameraDefault3d",title:function(t){return l(t,"Reset camera to default")},attr:"resetDefault",icon:s.home,click:f},c.resetCameraLastSave3d={name:"resetCameraLastSave3d",title:function(t){return l(t,"Reset camera to last save")},attr:"resetLastSave",icon:s.movie,click:f},c.hoverClosest3d={name:"hoverClosest3d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:function(t,e){var r=p(t,e);n.call("_guiRelayout",t,r)}},c.zoomInGeo={name:"zoomInGeo",title:function(t){return l(t,"Zoom in")},attr:"zoom",val:"in",icon:s.zoom_plus,click:d},c.zoomOutGeo={name:"zoomOutGeo",title:function(t){return l(t,"Zoom out")},attr:"zoom",val:"out",icon:s.zoom_minus,click:d},c.resetGeo={name:"resetGeo",title:function(t){return l(t,"Reset")},attr:"reset",val:null,icon:s.autoscale,click:d},c.hoverClosestGeo={name:"hoverClosestGeo",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:v},c.hoverClosestGl2d={name:"hoverClosestGl2d",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:v},c.hoverClosestPie={name:"hoverClosestPie",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:"closest",icon:s.tooltip_basic,gravity:"ne",click:v},c.resetViewSankey={name:"resetSankeyGroup",title:function(t){return l(t,"Reset view")},icon:s.home,click:function(t){for(var e={"node.groups":[],"node.x":[],"node.y":[]},r=0;r<t._fullData.length;r++){var a=t._fullData[r]._viewInitial;e["node.groups"].push(a.node.groups.slice()),e["node.x"].push(a.node.x.slice()),e["node.y"].push(a.node.y.slice())}n.call("restyle",t,e)}},c.toggleHover={name:"toggleHover",title:function(t){return l(t,"Toggle show closest data on hover")},attr:"hovermode",val:null,toggle:!0,icon:s.tooltip_basic,gravity:"ne",click:function(t,e){var r=p(t,e);r.hovermode=g(t),n.call("_guiRelayout",t,r)}},c.resetViews={name:"resetViews",title:function(t){return l(t,"Reset views")},icon:s.home,click:function(t,e){var r=e.currentTarget;r.setAttribute("data-attr","zoom"),r.setAttribute("data-val","reset"),u(t,e),r.setAttribute("data-attr","resetLastSave"),f(t,e),m(t,"geo"),m(t,"mapbox")}},c.toggleSpikelines={name:"toggleSpikelines",title:function(t){return l(t,"Toggle Spike Lines")},icon:s.spikeline,attr:"_cartesianSpikesEnabled",val:"on",click:function(t){var e=t._fullLayout,r=e._cartesianSpikesEnabled;e._cartesianSpikesEnabled="on"===r?"off":"on",n.call("_guiRelayout",t,function(t){for(var e="on"===t._fullLayout._cartesianSpikesEnabled,r=i.list(t,null,!0),n={},a=0;a<r.length;a++){var o=r[a];n[o._name+".showspikes"]=!!e||o._showSpikeInitial}return n}(t))}},c.resetViewMapbox={name:"resetViewMapbox",title:function(t){return l(t,"Reset view")},attr:"reset",icon:s.home,click:function(t){m(t,"mapbox")}}},{"../../fonts/ploticon":696,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845}],649:[function(t,e,r){"use strict";r.manage=t("./manage")},{"./manage":650}],650:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),a=t("../../traces/scatter/subtypes"),i=t("../../registry"),o=t("./modebar"),s=t("./buttons");e.exports=function(t){var e=t._fullLayout,r=t._context,l=e._modeBar;if(r.displayModeBar||r.watermark){if(!Array.isArray(r.modeBarButtonsToRemove))throw new Error(["*modeBarButtonsToRemove* configuration options","must be an array."].join(" "));if(!Array.isArray(r.modeBarButtonsToAdd))throw new Error(["*modeBarButtonsToAdd* configuration options","must be an array."].join(" "));var c,u=r.modeBarButtons;c=Array.isArray(u)&&u.length?function(t){for(var e=0;e<t.length;e++)for(var r=t[e],n=0;n<r.length;n++){var a=r[n];if("string"==typeof a){if(void 0===s[a])throw new Error(["*modeBarButtons* configuration options","invalid button name"].join(" "));t[e][n]=s[a]}}return t}(u):!r.displayModeBar&&r.watermark?[]:function(t){var e=t._fullLayout,r=t._fullData,o=t._context,l=o.modeBarButtonsToRemove,c=o.modeBarButtonsToAdd,u=e._has("cartesian"),h=e._has("gl3d"),f=e._has("geo"),p=e._has("pie"),d=e._has("funnelarea"),g=e._has("gl2d"),v=e._has("ternary"),m=e._has("mapbox"),y=e._has("polar"),x=e._has("sankey"),b=function(t){for(var e=n.list({_fullLayout:t},null,!0),r=0;r<e.length;r++)if(!e[r].fixedrange)return!1;return!0}(e),_=[];function w(t){if(t.length){for(var e=[],r=0;r<t.length;r++){var n=t[r];-1===l.indexOf(n)&&e.push(s[n])}_.push(e)}}var k=["toImage"];o.showEditInChartStudio?k.push("editInChartStudio"):o.showSendToCloud&&k.push("sendDataToCloud");w(k);var T=[],A=[],M=[],S=[];(u||g||p||d||v)+f+h+m+y>1?(A=["toggleHover"],M=["resetViews"]):f?(T=["zoomInGeo","zoomOutGeo"],A=["hoverClosestGeo"],M=["resetGeo"]):h?(A=["hoverClosest3d"],M=["resetCameraDefault3d","resetCameraLastSave3d"]):m?(A=["toggleHover"],M=["resetViewMapbox"]):g?A=["hoverClosestGl2d"]:p?A=["hoverClosestPie"]:x?(A=["hoverClosestCartesian","hoverCompareCartesian"],M=["resetViewSankey"]):A=["toggleHover"];u&&(A=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]);(function(t){for(var e=0;e<t.length;e++)if(!i.traceIs(t[e],"noHover"))return!1;return!0})(r)&&(A=[]);!u&&!g||b||(T=["zoomIn2d","zoomOut2d","autoScale2d"],"resetViews"!==M[0]&&(M=["resetScale2d"]));h?S=["zoom3d","pan3d","orbitRotation","tableRotation"]:(u||g)&&!b||v?S=["zoom2d","pan2d"]:m||f?S=["pan2d"]:y&&(S=["zoom2d"]);(function(t){for(var e=!1,r=0;r<t.length&&!e;r++){var n=t[r];n._module&&n._module.selectPoints&&(i.traceIs(n,"scatter-like")?(a.hasMarkers(n)||a.hasText(n))&&(e=!0):i.traceIs(n,"box-violin")&&"all"!==n.boxpoints&&"all"!==n.points||(e=!0))}return e})(r)&&S.push("select2d","lasso2d");return w(S),w(T.concat(M)),w(A),function(t,e){if(e.length)if(Array.isArray(e[0]))for(var r=0;r<e.length;r++)t.push(e[r]);else t.push(e);return t}(_,c)}(t),l?l.update(t,c):e._modeBar=o(t,c)}else l&&(l.destroy(),delete e._modeBar)}},{"../../plots/cartesian/axis_ids":767,"../../registry":845,"../../traces/scatter/subtypes":1142,"./buttons":648,"./modebar":651}],651:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../fonts/ploticon"),s=new DOMParser;function l(t){this.container=t.container,this.element=document.createElement("div"),this.update(t.graphInfo,t.buttons),this.container.appendChild(this.element)}var c=l.prototype;c.update=function(t,e){this.graphInfo=t;var r=this.graphInfo._context,n=this.graphInfo._fullLayout,a="modebar-"+n._uid;this.element.setAttribute("id",a),this._uid=a,this.element.className="modebar","hover"===r.displayModeBar&&(this.element.className+=" modebar--hover ease-bg"),"v"===n.modebar.orientation&&(this.element.className+=" vertical",e=e.reverse());var o=n.modebar,s="hover"===r.displayModeBar?".js-plotly-plot .plotly:hover ":"";i.deleteRelatedStyleRule(a),i.addRelatedStyleRule(a,s+"#"+a+" .modebar-group","background-color: "+o.bgcolor),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn .icon path","fill: "+o.color),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn:hover .icon path","fill: "+o.activecolor),i.addRelatedStyleRule(a,"#"+a+" .modebar-btn.active .icon path","fill: "+o.activecolor);var l=!this.hasButtons(e),c=this.hasLogo!==r.displaylogo,u=this.locale!==r.locale;if(this.locale=r.locale,(l||c||u)&&(this.removeAllButtons(),this.updateButtons(e),r.watermark||r.displaylogo)){var h=this.getLogo();r.watermark&&(h.className=h.className+" watermark"),"v"===n.modebar.orientation?this.element.insertBefore(h,this.element.childNodes[0]):this.element.appendChild(h),this.hasLogo=!0}this.updateActiveButton()},c.updateButtons=function(t){var e=this;this.buttons=t,this.buttonElements=[],this.buttonsNames=[],this.buttons.forEach(function(t){var r=e.createGroup();t.forEach(function(t){var n=t.name;if(!n)throw new Error("must provide button 'name' in button config");if(-1!==e.buttonsNames.indexOf(n))throw new Error("button name '"+n+"' is taken");e.buttonsNames.push(n);var a=e.createButton(t);e.buttonElements.push(a),r.appendChild(a)}),e.element.appendChild(r)})},c.createGroup=function(){var t=document.createElement("div");return t.className="modebar-group",t},c.createButton=function(t){var e=this,r=document.createElement("a");r.setAttribute("rel","tooltip"),r.className="modebar-btn";var a=t.title;void 0===a?a=t.name:"function"==typeof a&&(a=a(this.graphInfo)),(a||0===a)&&r.setAttribute("data-title",a),void 0!==t.attr&&r.setAttribute("data-attr",t.attr);var i=t.val;if(void 0!==i&&("function"==typeof i&&(i=i(this.graphInfo)),r.setAttribute("data-val",i)),"function"!=typeof t.click)throw new Error("must provide button 'click' function in button config");r.addEventListener("click",function(r){t.click(e.graphInfo,r),e.updateActiveButton(r.currentTarget)}),r.setAttribute("data-toggle",t.toggle||!1),t.toggle&&n.select(r).classed("active",!0);var s=t.icon;return"function"==typeof s?r.appendChild(s()):r.appendChild(this.createIcon(s||o.question)),r.setAttribute("data-gravity",t.gravity||"n"),r},c.createIcon=function(t){var e,r=a(t.height)?Number(t.height):t.ascent-t.descent,n="http://www.w3.org/2000/svg";if(t.path){(e=document.createElementNS(n,"svg")).setAttribute("viewBox",[0,0,t.width,r].join(" ")),e.setAttribute("class","icon");var i=document.createElementNS(n,"path");i.setAttribute("d",t.path),t.transform?i.setAttribute("transform",t.transform):void 0!==t.ascent&&i.setAttribute("transform","matrix(1 0 0 -1 0 "+t.ascent+")"),e.appendChild(i)}t.svg&&(e=s.parseFromString(t.svg,"application/xml").childNodes[0]);return e.setAttribute("height","1em"),e.setAttribute("width","1em"),e},c.updateActiveButton=function(t){var e=this.graphInfo._fullLayout,r=void 0!==t?t.getAttribute("data-attr"):null;this.buttonElements.forEach(function(t){var a=t.getAttribute("data-val")||!0,o=t.getAttribute("data-attr"),s="true"===t.getAttribute("data-toggle"),l=n.select(t);if(s)o===r&&l.classed("active",!l.classed("active"));else{var c=null===o?o:i.nestedProperty(e,o).get();l.classed("active",c===a)}})},c.hasButtons=function(t){var e=this.buttons;if(!e)return!1;if(t.length!==e.length)return!1;for(var r=0;r<t.length;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;n<t[r].length;n++)if(t[r][n].name!==e[r][n].name)return!1}return!0},c.getLogo=function(){var t=this.createGroup(),e=document.createElement("a");return e.href="https://plot.ly/",e.target="_blank",e.setAttribute("data-title",i._(this.graphInfo,"Produced with Plotly")),e.className="modebar-btn plotlyjsicon modebar-btn--logo",e.appendChild(this.createIcon(o.newplotlylogo)),t.appendChild(e),t},c.removeAllButtons=function(){for(;this.element.firstChild;)this.element.removeChild(this.element.firstChild);this.hasLogo=!1},c.destroy=function(){i.removeElement(this.container.querySelector(".modebar")),i.deleteRelatedStyleRule(this._uid)},e.exports=function(t,e){var r=t._fullLayout,a=new l({graphInfo:t,container:r._modebardiv.node(),buttons:e});return r._privateplot&&n.select(a.element).append("span").classed("badge-private float--left",!0).text("PRIVATE"),a}},{"../../fonts/ploticon":696,"../../lib":716,d3:164,"fast-isnumeric":227}],652:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=(0,t("../../plot_api/plot_template").templatedArray)("button",{visible:{valType:"boolean",dflt:!0,editType:"plot"},step:{valType:"enumerated",values:["month","year","day","hour","minute","second","all"],dflt:"month",editType:"plot"},stepmode:{valType:"enumerated",values:["backward","todate"],dflt:"backward",editType:"plot"},count:{valType:"number",min:0,dflt:1,editType:"plot"},label:{valType:"string",editType:"plot"},editType:"plot"});e.exports={visible:{valType:"boolean",editType:"plot"},buttons:i,x:{valType:"number",min:-2,max:3,editType:"plot"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left",editType:"plot"},y:{valType:"number",min:-2,max:3,editType:"plot"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"bottom",editType:"plot"},font:n({editType:"plot"}),bgcolor:{valType:"color",dflt:a.lightLine,editType:"plot"},activecolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:a.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"}},{"../../plot_api/plot_template":754,"../../plots/font_attributes":790,"../color/attributes":590}],653:[function(t,e,r){"use strict";e.exports={yPad:.02,minButtonWidth:30,rx:3,ry:3,lightAmount:25,darkAmount:10}},{}],654:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../color"),i=t("../../plot_api/plot_template"),o=t("../../plots/array_container_defaults"),s=t("./attributes"),l=t("./constants");function c(t,e,r,a){var i=a.calendar;function o(r,a){return n.coerce(t,e,s.buttons,r,a)}if(o("visible")){var l=o("step");"all"!==l&&(!i||"gregorian"===i||"month"!==l&&"year"!==l?o("stepmode"):e.stepmode="backward",o("count")),o("label")}}e.exports=function(t,e,r,u,h){var f=t.rangeselector||{},p=i.newContainer(e,"rangeselector");function d(t,e){return n.coerce(f,p,s,t,e)}if(d("visible",o(f,p,{name:"buttons",handleItemDefaults:c,calendar:h}).length>0)){var g=function(t,e,r){for(var n=r.filter(function(r){return e[r].anchor===t._id}),a=0,i=0;i<n.length;i++){var o=e[n[i]].domain;o&&(a=Math.max(o[1],a))}return[t.domain[0],a+l.yPad]}(e,r,u);d("x",g[0]),d("y",g[1]),n.noneOrAll(t,e,["x","y"]),d("xanchor"),d("yanchor"),n.coerceFont(d,"font",r.font);var v=d("bgcolor");d("activecolor",a.contrast(v,l.lightAmount,l.darkAmount)),d("bordercolor"),d("borderwidth")}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../color":591,"./attributes":652,"./constants":653}],655:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../color"),s=t("../drawing"),l=t("../../lib"),c=t("../../lib/svg_text_utils"),u=t("../../plots/cartesian/axis_ids"),h=t("../../constants/alignment"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR,g=t("./constants"),v=t("./get_update_object");function m(t){return t._id}function y(t,e,r){var n=l.ensureSingle(t,"rect","selector-rect",function(t){t.attr("shape-rendering","crispEdges")});n.attr({rx:g.rx,ry:g.ry}),n.call(o.stroke,e.bordercolor).call(o.fill,function(t,e){return e._isActive||e._isHovered?t.activecolor:t.bgcolor}(e,r)).style("stroke-width",e.borderwidth+"px")}function x(t,e,r,n){l.ensureSingle(t,"text","selector-text",function(t){t.classed("user-select-none",!0).attr("text-anchor","middle")}).call(s.font,e.font).text(function(t,e){if(t.label)return e?l.templateString(t.label,e):t.label;return"all"===t.step?"all":t.count+t.step.charAt(0)}(r,n._fullLayout._meta)).call(function(t){c.convertToTspans(t,n)})}e.exports=function(t){var e=t._fullLayout._infolayer.selectAll(".rangeselector").data(function(t){for(var e=u.list(t,"x",!0),r=[],n=0;n<e.length;n++){var a=e[n];a.rangeselector&&a.rangeselector.visible&&r.push(a)}return r}(t),m);e.enter().append("g").classed("rangeselector",!0),e.exit().remove(),e.style({cursor:"pointer","pointer-events":"all"}),e.each(function(e){var r=n.select(this),o=e,u=o.rangeselector,h=r.selectAll("g.button").data(l.filterVisible(u.buttons));h.enter().append("g").classed("button",!0),h.exit().remove(),h.each(function(e){var r=n.select(this),i=v(o,e);e._isActive=function(t,e,r){if("all"===e.step)return!0===t.autorange;var n=Object.keys(r);return t.range[0]===r[n[0]]&&t.range[1]===r[n[1]]}(o,e,i),r.call(y,u,e),r.call(x,u,e,t),r.on("click",function(){t._dragged||a.call("_guiRelayout",t,i)}),r.on("mouseover",function(){e._isHovered=!0,r.call(y,u,e)}),r.on("mouseout",function(){e._isHovered=!1,r.call(y,u,e)})}),function(t,e,r,a,o){var u=0,h=0,v=r.borderwidth;e.each(function(){var t=n.select(this),e=t.select(".selector-text"),a=r.font.size*f,i=Math.max(a*c.lineCount(e),16)+3;h=Math.max(h,i)}),e.each(function(){var t=n.select(this),e=t.select(".selector-rect"),a=t.select(".selector-text"),i=a.node()&&s.bBox(a.node()).width,o=r.font.size*f,l=c.lineCount(a),p=Math.max(i+10,g.minButtonWidth);t.attr("transform","translate("+(v+u)+","+v+")"),e.attr({x:0,y:0,width:p,height:h}),c.positionText(a,p/2,h/2-(l-1)*o/2+3),u+=p+5});var m=t._fullLayout._size,y=m.l+m.w*r.x,x=m.t+m.h*(1-r.y),b="left";l.isRightAnchor(r)&&(y-=u,b="right");l.isCenterAnchor(r)&&(y-=u/2,b="center");var _="top";l.isBottomAnchor(r)&&(x-=h,_="bottom");l.isMiddleAnchor(r)&&(x-=h/2,_="middle");u=Math.ceil(u),h=Math.ceil(h),y=Math.round(y),x=Math.round(x),i.autoMargin(t,a+"-range-selector",{x:r.x,y:r.y,l:u*p[b],r:u*d[b],b:h*d[_],t:h*p[_]}),o.attr("transform","translate("+y+","+x+")")}(t,h,u,o._name,r)})}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845,"../color":591,"../drawing":612,"./constants":653,"./get_update_object":656,d3:164}],656:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e){var r=t._name,a={};if("all"===e.step)a[r+".autorange"]=!0;else{var i=function(t,e){var r,a=t.range,i=new Date(t.r2l(a[1])),o=e.step,s=e.count;switch(e.stepmode){case"backward":r=t.l2r(+n.time[o].utc.offset(i,-s));break;case"todate":var l=n.time[o].utc.offset(i,-s);r=t.l2r(+n.time[o].utc.ceil(l))}var c=a[1];return[r,c]}(t,e);a[r+".range[0]"]=i[0],a[r+".range[1]"]=i[1]}return a}},{d3:164}],657:[function(t,e,r){"use strict";e.exports={moduleType:"component",name:"rangeselector",schema:{subplots:{xaxis:{rangeselector:t("./attributes")}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":652,"./defaults":654,"./draw":655}],658:[function(t,e,r){"use strict";var n=t("../color/attributes");e.exports={bgcolor:{valType:"color",dflt:n.background,editType:"plot"},bordercolor:{valType:"color",dflt:n.defaultLine,editType:"plot"},borderwidth:{valType:"integer",dflt:0,min:0,editType:"plot"},autorange:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},range:{valType:"info_array",items:[{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"calc",impliedEdits:{"^autorange":!1}}],editType:"calc",impliedEdits:{autorange:!1}},thickness:{valType:"number",dflt:.15,min:0,max:1,editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"}},{"../color/attributes":590}],659:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids").list,a=t("../../plots/cartesian/autorange").getAutoRange,i=t("./constants");e.exports=function(t){for(var e=n(t,"x",!0),r=0;r<e.length;r++){var o=e[r],s=o[i.name];s&&s.visible&&s.autorange&&(s._input.autorange=!0,s._input.range=s.range=a(t,o))}}},{"../../plots/cartesian/autorange":763,"../../plots/cartesian/axis_ids":767,"./constants":660}],660:[function(t,e,r){"use strict";e.exports={name:"rangeslider",containerClassName:"rangeslider-container",bgClassName:"rangeslider-bg",rangePlotClassName:"rangeslider-rangeplot",maskMinClassName:"rangeslider-mask-min",maskMaxClassName:"rangeslider-mask-max",slideBoxClassName:"rangeslider-slidebox",grabberMinClassName:"rangeslider-grabber-min",grabAreaMinClassName:"rangeslider-grabarea-min",handleMinClassName:"rangeslider-handle-min",grabberMaxClassName:"rangeslider-grabber-max",grabAreaMaxClassName:"rangeslider-grabarea-max",handleMaxClassName:"rangeslider-handle-max",maskMinOppAxisClassName:"rangeslider-mask-min-opp-axis",maskMaxOppAxisClassName:"rangeslider-mask-max-opp-axis",maskColor:"rgba(0,0,0,0.4)",maskOppAxisColor:"rgba(0,0,0,0.2)",slideBoxFill:"transparent",slideBoxCursor:"ew-resize",grabAreaFill:"transparent",grabAreaCursor:"col-resize",grabAreaWidth:10,handleWidth:4,handleRadius:1,handleStrokeWidth:1,extraPad:15}},{}],661:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plot_api/plot_template"),i=t("../../plots/cartesian/axis_ids"),o=t("./attributes"),s=t("./oppaxis_attributes");e.exports=function(t,e,r){var l=t[r],c=e[r];if(l.rangeslider||e._requestRangeslider[c._id]){n.isPlainObject(l.rangeslider)||(l.rangeslider={});var u,h,f=l.rangeslider,p=a.newContainer(c,"rangeslider");if(_("visible")){_("bgcolor",e.plot_bgcolor),_("bordercolor"),_("borderwidth"),_("thickness"),_("autorange",!c.isValidRange(f.range)),_("range");var d=e._subplots;if(d)for(var g=d.cartesian.filter(function(t){return t.substr(0,t.indexOf("y"))===i.name2id(r)}).map(function(t){return t.substr(t.indexOf("y"),t.length)}),v=n.simpleMap(g,i.id2name),m=0;m<v.length;m++){var y=v[m];u=f[y]||{},h=a.newContainer(p,y,"yaxis");var x,b=e[y];u.range&&b.isValidRange(u.range)&&(x="fixed"),"match"!==w("rangemode",x)&&w("range",b.range.slice())}p._input=f}}function _(t,e){return n.coerce(f,p,o,t,e)}function w(t,e){return n.coerce(u,h,s,t,e)}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/cartesian/axis_ids":767,"./attributes":658,"./oppaxis_attributes":665}],662:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../plots/plots"),o=t("../../lib"),s=t("../drawing"),l=t("../color"),c=t("../titles"),u=t("../../plots/cartesian"),h=t("../../plots/cartesian/axis_ids"),f=t("../dragelement"),p=t("../../lib/setcursor"),d=t("./constants");function g(t,e,r,n){var a=o.ensureSingle(t,"rect",d.bgClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}),i=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,l=-n._offsetShift,c=s.crispRound(e,n.borderwidth);a.attr({width:n._width+i,height:n._height+i,transform:"translate("+l+","+l+")",fill:n.bgcolor,stroke:n.bordercolor,"stroke-width":c})}function v(t,e,r,n){var a=e._fullLayout;o.ensureSingleById(a._topdefs,"clipPath",n._clipId,function(t){t.append("rect").attr({x:0,y:0})}).select("rect").attr({width:n._width,height:n._height})}function m(t,e,r,a){var l,c=e.calcdata,f=t.selectAll("g."+d.rangePlotClassName).data(r._subplotsWith,o.identity);f.enter().append("g").attr("class",function(t){return d.rangePlotClassName+" "+t}).call(s.setClipUrl,a._clipId,e),f.order(),f.exit().remove(),f.each(function(t,o){var s=n.select(this),f=0===o,p=h.getFromId(e,t,"y"),d=p._name,g=a[d],v={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:a.range.slice(),calendar:r.calendar},width:a._width,height:a._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};v.layout[d]={type:p.type,domain:[0,1],range:"match"!==g.rangemode?g.range.slice():p.range.slice(),calendar:p.calendar},i.supplyDefaults(v);var m=v._fullLayout.xaxis,y=v._fullLayout[d];m.clearCalc(),m.setScale(),y.clearCalc(),y.setScale();var x={id:t,plotgroup:s,xaxis:m,yaxis:y,isRangePlot:!0};f?l=x:(x.mainplot="xy",x.mainplotinfo=l),u.rangePlot(e,x,function(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n],i=a[0].trace;i.xaxis+i.yaxis===e&&r.push(a)}return r}(c,t))})}function y(t,e,r,n,a){(o.ensureSingle(t,"rect",d.maskMinClassName,function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),o.ensureSingle(t,"rect",d.maskMaxClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("height",n._height).call(l.fill,d.maskColor),"match"!==a.rangemode)&&(o.ensureSingle(t,"rect",d.maskMinOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).call(l.fill,d.maskOppAxisColor),o.ensureSingle(t,"rect",d.maskMaxOppAxisClassName,function(t){t.attr({y:0,"shape-rendering":"crispEdges"})}).attr("width",n._width).style("border-top",d.maskOppBorder).call(l.fill,d.maskOppAxisColor))}function x(t,e,r,n){e._context.staticPlot||o.ensureSingle(t,"rect",d.slideBoxClassName,function(t){t.attr({y:0,cursor:d.slideBoxCursor,"shape-rendering":"crispEdges"})}).attr({height:n._height,fill:d.slideBoxFill})}function b(t,e,r,n){var a=o.ensureSingle(t,"g",d.grabberMinClassName),i=o.ensureSingle(t,"g",d.grabberMaxClassName),s={x:0,width:d.handleWidth,rx:d.handleRadius,fill:l.background,stroke:l.defaultLine,"stroke-width":d.handleStrokeWidth,"shape-rendering":"crispEdges"},c={y:Math.round(n._height/4),height:Math.round(n._height/2)};if(o.ensureSingle(a,"rect",d.handleMinClassName,function(t){t.attr(s)}).attr(c),o.ensureSingle(i,"rect",d.handleMaxClassName,function(t){t.attr(s)}).attr(c),!e._context.staticPlot){var u={width:d.grabAreaWidth,x:0,y:0,fill:d.grabAreaFill,cursor:d.grabAreaCursor};o.ensureSingle(a,"rect",d.grabAreaMinClassName,function(t){t.attr(u)}).attr("height",n._height),o.ensureSingle(i,"rect",d.grabAreaMaxClassName,function(t){t.attr(u)}).attr("height",n._height)}}e.exports=function(t){for(var e=t._fullLayout,r=e._rangeSliderData,i=0;i<r.length;i++){var s=r[i][d.name];s._clipId=s._id+"-"+e._uid}var l=e._infolayer.selectAll("g."+d.containerClassName).data(r,function(t){return t._name});l.exit().each(function(t){var r=t[d.name];e._topdefs.select("#"+r._clipId).remove()}).remove(),0!==r.length&&(l.enter().append("g").classed(d.containerClassName,!0).attr("pointer-events","all"),l.each(function(r){var i=n.select(this),s=r[d.name],l=e[h.id2name(r.anchor)],u=s[h.id2name(r.anchor)];if(s.range){var _,w=o.simpleMap(s.range,r.r2l),k=o.simpleMap(r.range,r.r2l);_=k[0]<k[1]?[Math.min(w[0],k[0]),Math.max(w[1],k[1])]:[Math.max(w[0],k[0]),Math.min(w[1],k[1])],s.range=s._input.range=o.simpleMap(_,r.l2r)}r.cleanRange("rangeslider.range");var T=e._size,A=r.domain;s._width=T.w*(A[1]-A[0]);var M=Math.round(T.l+T.w*A[0]),S=Math.round(T.t+T.h*(1-r._counterDomainMin)+("bottom"===r.side?r._depth:0)+s._offsetShift+d.extraPad);i.attr("transform","translate("+M+","+S+")");var E=r.r2l(s.range[0]),L=r.r2l(s.range[1]),C=L-E;if(s.p2d=function(t){return t/s._width*C+E},s.d2p=function(t){return(t-E)/C*s._width},s._rl=[E,L],"match"!==u.rangemode){var P=l.r2l(u.range[0]),O=l.r2l(u.range[1])-P;s.d2pOppAxis=function(t){return(t-P)/O*s._height}}i.call(g,t,r,s).call(v,t,r,s).call(m,t,r,s).call(y,t,r,s,u).call(x,t,r,s).call(b,t,r,s),function(t,e,r,i){var s=t.select("rect."+d.slideBoxClassName).node(),l=t.select("rect."+d.grabAreaMinClassName).node(),c=t.select("rect."+d.grabAreaMaxClassName).node();t.on("mousedown",function(){var u=n.event,h=u.target,d=u.clientX,g=d-t.node().getBoundingClientRect().left,v=i.d2p(r._rl[0]),m=i.d2p(r._rl[1]),y=f.coverSlip();function x(t){var u,f,x,b=+t.clientX-d;switch(h){case s:x="ew-resize",u=v+b,f=m+b;break;case l:x="col-resize",u=v+b,f=m;break;case c:x="col-resize",u=v,f=m+b;break;default:x="ew-resize",u=g,f=g+b}if(f<u){var _=f;f=u,u=_}i._pixelMin=u,i._pixelMax=f,p(n.select(y),x),function(t,e,r,n){function i(t){return r.l2r(o.constrain(t,n._rl[0],n._rl[1]))}var s=i(n.p2d(n._pixelMin)),l=i(n.p2d(n._pixelMax));window.requestAnimationFrame(function(){a.call("_guiRelayout",e,r._name+".range",[s,l])})}(0,e,r,i)}y.addEventListener("mousemove",x),y.addEventListener("mouseup",function t(){y.removeEventListener("mousemove",x);y.removeEventListener("mouseup",t);o.removeElement(y)})})}(i,t,r,s),function(t,e,r,n,a,i){var s=d.handleWidth/2;function l(t){return o.constrain(t,0,n._width)}function c(t){return o.constrain(t,0,n._height)}function u(t){return o.constrain(t,-s,n._width+s)}var h=l(n.d2p(r._rl[0])),f=l(n.d2p(r._rl[1]));if(t.select("rect."+d.slideBoxClassName).attr("x",h).attr("width",f-h),t.select("rect."+d.maskMinClassName).attr("width",h),t.select("rect."+d.maskMaxClassName).attr("x",f).attr("width",n._width-f),"match"!==i.rangemode){var p=n._height-c(n.d2pOppAxis(a._rl[1])),g=n._height-c(n.d2pOppAxis(a._rl[0]));t.select("rect."+d.maskMinOppAxisClassName).attr("x",h).attr("height",p).attr("width",f-h),t.select("rect."+d.maskMaxOppAxisClassName).attr("x",h).attr("y",g).attr("height",n._height-g).attr("width",f-h),t.select("rect."+d.slideBoxClassName).attr("y",p).attr("height",g-p)}var v=Math.round(u(h-s))-.5,m=Math.round(u(f-s))+.5;t.select("g."+d.grabberMinClassName).attr("transform","translate("+v+",0.5)"),t.select("g."+d.grabberMaxClassName).attr("transform","translate("+m+",0.5)")}(i,0,r,s,l,u),"bottom"===r.side&&c.draw(t,r._id+"title",{propContainer:r,propName:r._name+".title",placeholder:e._dfltTitle.x,attributes:{x:r._offset+r._length/2,y:S+s._height+s._offsetShift+10+1.5*r.title.font.size,"text-anchor":"middle"}})}))}},{"../../lib":716,"../../lib/setcursor":736,"../../plots/cartesian":775,"../../plots/cartesian/axis_ids":767,"../../plots/plots":825,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"../titles":678,"./constants":660,d3:164}],663:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axis_ids"),a=t("../../lib/svg_text_utils"),i=t("./constants"),o=t("../../constants/alignment").LINE_SPACING,s=i.name;function l(t){var e=t&&t[s];return e&&e.visible}r.isVisible=l,r.makeData=function(t){var e=n.list({_fullLayout:t},"x",!0),r=t.margin,a=[];if(!t._has("gl2d"))for(var i=0;i<e.length;i++){var o=e[i];if(l(o)){a.push(o);var c=o[s];c._id=s+o._id,c._height=(t.height-r.b-r.t)*c.thickness,c._offsetShift=Math.floor(c.borderwidth/2)}}t._rangeSliderData=a},r.autoMarginOpts=function(t,e){var r=t._fullLayout,n=e[s],l=e._id.charAt(0),c=0,u=0;"bottom"===e.side&&(c=e._depth,e.title.text!==r._dfltTitle[l]&&(u=1.5*e.title.font.size+10+n._offsetShift,u+=(e.title.text.match(a.BR_TAG_ALL)||[]).length*e.title.font.size*o));return{x:0,y:e._counterDomainMin,l:0,r:0,t:0,b:n._height+c+Math.max(r.margin.b,u),pad:i.extraPad+2*n._offsetShift}}},{"../../constants/alignment":685,"../../lib/svg_text_utils":740,"../../plots/cartesian/axis_ids":767,"./constants":660}],664:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./oppaxis_attributes"),o=t("./helpers");e.exports={moduleType:"component",name:"rangeslider",schema:{subplots:{xaxis:{rangeslider:n.extendFlat({},a,{yaxis:i})}}},layoutAttributes:t("./attributes"),handleDefaults:t("./defaults"),calcAutorange:t("./calc_autorange"),draw:t("./draw"),isVisible:o.isVisible,makeData:o.makeData,autoMarginOpts:o.autoMarginOpts}},{"../../lib":716,"./attributes":658,"./calc_autorange":659,"./defaults":661,"./draw":662,"./helpers":663,"./oppaxis_attributes":665}],665:[function(t,e,r){"use strict";e.exports={_isSubplotObj:!0,rangemode:{valType:"enumerated",values:["auto","fixed","match"],dflt:"match",editType:"calc"},range:{valType:"info_array",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},editType:"calc"}},{}],666:[function(t,e,r){"use strict";var n=t("../annotations/attributes"),a=t("../../traces/scatter/attributes").line,i=t("../drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray;e.exports=s("shape",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above"],dflt:"above",editType:"arraydraw"},xref:o({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:o({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:o({},a.color,{editType:"arraydraw"}),width:o({},a.width,{editType:"calc+arraydraw"}),dash:o({},i,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},editType:"arraydraw"})},{"../../lib/extend":707,"../../plot_api/plot_template":754,"../../traces/scatter/attributes":1118,"../annotations/attributes":574,"../drawing/attributes":611}],667:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("./constants"),o=t("./helpers");function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,a,s,l){var c=t/2,u=l;if("pixel"===e){var h=s?o.extractPathCoords(s,l?i.paramIsY:i.paramIsX):[r,a],f=n.aggNums(Math.max,null,h),p=n.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,g=f>0?f+c:c;return{ppad:c,ppadplus:u?d:g,ppadminus:u?g:d}}return{ppad:c}}function u(t,e,r,n,a){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,c,u,h,f=1/0,p=-1/0,d=n.match(i.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;l<d.length;l++)void 0!==(c=a[d[l].charAt(0)].drawn)&&(!(u=d[l].substr(1).match(i.paramRE))||u.length<c||((h=s(u[c]))<f&&(f=h),h>p&&(p=h)));return p>=f?[f,p]:void 0}}e.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o<r.length;o++){var c,h,f=r[o];if(f._extremes={},"paper"!==f.xref){var p="pixel"===f.xsizemode?f.xanchor:f.x0,d="pixel"===f.xsizemode?f.xanchor:f.x1;(h=u(c=a.getFromId(t,f.xref),p,d,f.path,i.paramIsX))&&(f._extremes[c._id]=a.findExtremes(c,h,s(f)))}if("paper"!==f.yref){var g="pixel"===f.ysizemode?f.yanchor:f.y0,v="pixel"===f.ysizemode?f.yanchor:f.y1;(h=u(c=a.getFromId(t,f.yref),g,v,f.path,i.paramIsY))&&(f._extremes[c._id]=a.findExtremes(c,h,l(f)))}}}},{"../../lib":716,"../../plots/cartesian/axes":764,"./constants":668,"./helpers":671}],668:[function(t,e,r){"use strict";e.exports={segmentRE:/[MLHVQCTSZ][^MLHVQCTSZ]*/g,paramRE:/[^\s,]+/g,paramIsX:{M:{0:!0,drawn:0},L:{0:!0,drawn:0},H:{0:!0,drawn:0},V:{},Q:{0:!0,2:!0,drawn:2},C:{0:!0,2:!0,4:!0,drawn:4},T:{0:!0,drawn:0},S:{0:!0,2:!0,drawn:2},Z:{}},paramIsY:{M:{1:!0,drawn:1},L:{1:!0,drawn:1},H:{},V:{0:!0,drawn:0},Q:{1:!0,3:!0,drawn:3},C:{1:!0,3:!0,5:!0,drawn:5},T:{1:!0,drawn:1},S:{1:!0,3:!0,drawn:5},Z:{}},numParams:{M:2,L:2,H:1,V:1,Q:4,C:6,T:2,S:4,Z:0}}},{}],669:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../../plots/array_container_defaults"),o=t("./attributes"),s=t("./helpers");function l(t,e,r){function i(r,a){return n.coerce(t,e,o,r,a)}if(i("visible")){i("layer"),i("opacity"),i("fillcolor"),i("line.color"),i("line.width"),i("line.dash");for(var l=i("type",t.path?"path":"rect"),c=i("xsizemode"),u=i("ysizemode"),h=["x","y"],f=0;f<2;f++){var p,d,g,v=h[f],m=v+"anchor",y="x"===v?c:u,x={_fullLayout:r},b=a.coerceRef(t,e,x,v,"","paper");if("paper"!==b?((p=a.getFromId(x,b))._shapeIndices.push(e._index),g=s.rangeToShapePosition(p),d=s.shapePositionToRange(p)):d=g=n.identity,"path"!==l){var _=v+"0",w=v+"1",k=t[_],T=t[w];t[_]=d(t[_],!0),t[w]=d(t[w],!0),"pixel"===y?(i(_,0),i(w,10)):(a.coercePosition(e,x,i,b,_,.25),a.coercePosition(e,x,i,b,w,.75)),e[_]=g(e[_]),e[w]=g(e[w]),t[_]=k,t[w]=T}if("pixel"===y){var A=t[m];t[m]=d(t[m],!0),a.coercePosition(e,x,i,b,m,.25),e[m]=g(e[m]),t[m]=A}}"path"===l?i("path"):n.noneOrAll(t,e,["x0","x1","y0","y1"])}}e.exports=function(t,e){i(t,e,{name:"shapes",handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"./attributes":666,"./helpers":671}],670:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../color"),s=t("../drawing"),l=t("../../plot_api/plot_template").arrayEditor,c=t("../dragelement"),u=t("../../lib/setcursor"),h=t("./constants"),f=t("./helpers");function p(t,e){t._fullLayout._paperdiv.selectAll('.shapelayer [data-index="'+e+'"]').remove();var r=t._fullLayout.shapes[e]||{};if(r._input&&!1!==r.visible)if("below"!==r.layer)m(t._fullLayout._shapeUpperLayer);else if("paper"===r.xref||"paper"===r.yref)m(t._fullLayout._shapeLowerLayer);else{var p=t._fullLayout._plots[r.xref+r.yref];if(p)m((p.mainplotinfo||p).shapelayer);else m(t._fullLayout._shapeLowerLayer)}function m(p){var m={"data-index":e,"fill-rule":"evenodd",d:g(t,r)},y=r.line.width?r.line.color:"rgba(0,0,0,0)",x=p.append("path").attr(m).style("opacity",r.opacity).call(o.stroke,y).call(o.fill,r.fillcolor).call(s.dashLine,r.line.dash,r.line.width);d(x,t,r),t._context.edits.shapePosition&&function(t,e,r,o,p){var m,y,x,b,_,w,k,T,A,M,S,E,L,C,P,O,z=10,I=10,D="pixel"===r.xsizemode,R="pixel"===r.ysizemode,F="line"===r.type,B="path"===r.type,N=l(t.layout,"shapes",r),j=N.modifyItem,V=i.getFromId(t,r.xref),U=i.getFromId(t,r.yref),q=f.getDataToPixel(t,V),H=f.getDataToPixel(t,U,!0),G=f.getPixelToData(t,V),Y=f.getPixelToData(t,U,!0),W=F?function(){var t=Math.max(r.line.width,10),n=p.append("g").attr("data-index",o);n.append("path").attr("d",e.attr("d")).style({cursor:"move","stroke-width":t,"stroke-opacity":"0"});var a={"fill-opacity":"0"},i=t/2>10?t/2:10;return n.append("circle").attr({"data-line-point":"start-point",cx:D?q(r.xanchor)+r.x0:q(r.x0),cy:R?H(r.yanchor)-r.y0:H(r.y0),r:i}).style(a).classed("cursor-grab",!0),n.append("circle").attr({"data-line-point":"end-point",cx:D?q(r.xanchor)+r.x1:q(r.x1),cy:R?H(r.yanchor)-r.y1:H(r.y1),r:i}).style(a).classed("cursor-grab",!0),n}():e,X={element:W.node(),gd:t,prepFn:function(n){D&&(_=q(r.xanchor));R&&(w=H(r.yanchor));"path"===r.type?P=r.path:(m=D?r.x0:q(r.x0),y=R?r.y0:H(r.y0),x=D?r.x1:q(r.x1),b=R?r.y1:H(r.y1));m<x?(A=m,L="x0",M=x,C="x1"):(A=x,L="x1",M=m,C="x0");!R&&y<b||R&&y>b?(k=y,S="y0",T=b,E="y1"):(k=b,S="y1",T=y,E="y0");Z(n),Q(p,r),function(t,e,r){var n=e.xref,a=e.yref,o=i.getFromId(r,n),l=i.getFromId(r,a),c="";"paper"===n||o.autorange||(c+=n);"paper"===a||l.autorange||(c+=a);s.setClipUrl(t,c?"clip"+r._fullLayout._uid+c:null,r)}(e,r,t),X.moveFn="move"===O?J:K},doneFn:function(){u(e),$(p),d(e,t,r),n.call("_guiRelayout",t,N.getUpdateObj())},clickFn:function(){$(p)}};function Z(t){if(F)O="path"===t.target.tagName?"move":"start-point"===t.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var r=X.element.getBoundingClientRect(),n=r.right-r.left,a=r.bottom-r.top,i=t.clientX-r.left,o=t.clientY-r.top,s=!B&&n>z&&a>I&&!t.shiftKey?c.getCursor(i/n,1-o/a):"move";u(e,s),O=s.split("-")[0]}}function J(n,a){if("path"===r.type){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else D?j("xanchor",r.xanchor=G(_+n)):(j("x0",r.x0=G(m+n)),j("x1",r.x1=G(x+n))),R?j("yanchor",r.yanchor=Y(w+a)):(j("y0",r.y0=Y(y+a)),j("y1",r.y1=Y(b+a)));e.attr("d",g(t,r)),Q(p,r)}function K(n,a){if(B){var i=function(t){return t},o=i,s=i;D?j("xanchor",r.xanchor=G(_+n)):(o=function(t){return G(q(t)+n)},V&&"date"===V.type&&(o=f.encodeDate(o))),R?j("yanchor",r.yanchor=Y(w+a)):(s=function(t){return Y(H(t)+a)},U&&"date"===U.type&&(s=f.encodeDate(s))),j("path",r.path=v(P,o,s))}else if(F){if("resize-over-start-point"===O){var l=m+n,c=R?y-a:y+a;j("x0",r.x0=D?l:G(l)),j("y0",r.y0=R?c:Y(c))}else if("resize-over-end-point"===O){var u=x+n,h=R?b-a:b+a;j("x1",r.x1=D?u:G(u)),j("y1",r.y1=R?h:Y(h))}}else{var d=~O.indexOf("n")?k+a:k,N=~O.indexOf("s")?T+a:T,W=~O.indexOf("w")?A+n:A,X=~O.indexOf("e")?M+n:M;~O.indexOf("n")&&R&&(d=k-a),~O.indexOf("s")&&R&&(N=T-a),(!R&&N-d>I||R&&d-N>I)&&(j(S,r[S]=R?d:Y(d)),j(E,r[E]=R?N:Y(N))),X-W>z&&(j(L,r[L]=D?W:G(W)),j(C,r[C]=D?X:G(X)))}e.attr("d",g(t,r)),Q(p,r)}function Q(t,e){(D||R)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=q(D?e.xanchor:a.midRange(r?[e.x0,e.x1]:f.extractPathCoords(e.path,h.paramIsX))),o=H(R?e.yanchor:a.midRange(r?[e.y0,e.y1]:f.extractPathCoords(e.path,h.paramIsY)));if(i=f.roundPositionForSharpStrokeRendering(i,1),o=f.roundPositionForSharpStrokeRendering(o,1),D&&R){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(D){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function $(t){t.selectAll(".visual-cue").remove()}c.init(X),W.node().onmousemove=Z}(t,x,r,e,p)}}function d(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"");s.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function g(t,e){var r,n,o,s,l,c,u,p,d=e.type,g=i.getFromId(t,e.xref),v=i.getFromId(t,e.yref),m=t._fullLayout._size;if(g?(r=f.shapePositionToRange(g),n=function(t){return g._offset+g.r2p(r(t,!0))}):n=function(t){return m.l+m.w*t},v?(o=f.shapePositionToRange(v),s=function(t){return v._offset+v.r2p(o(t,!0))}):s=function(t){return m.t+m.h*(1-t)},"path"===d)return g&&"date"===g.type&&(n=f.decodeDate(n)),v&&"date"===v.type&&(s=f.decodeDate(s)),function(t,e,r){var n=t.path,i=t.xsizemode,o=t.ysizemode,s=t.xanchor,l=t.yanchor;return n.replace(h.segmentRE,function(t){var n=0,c=t.charAt(0),u=h.paramIsX[c],f=h.paramIsY[c],p=h.numParams[c],d=t.substr(1).replace(h.paramRE,function(t){return u[n]?t="pixel"===i?e(s)+Number(t):e(t):f[n]&&(t="pixel"===o?r(l)-Number(t):r(t)),++n>p&&(t="X"),t});return n>p&&(d=d.replace(/[\s,]*X.*/,""),a.log("Ignoring extra params in segment "+t)),c+d})}(e,n,s);if("pixel"===e.xsizemode){var y=n(e.xanchor);l=y+e.x0,c=y+e.x1}else l=n(e.x0),c=n(e.x1);if("pixel"===e.ysizemode){var x=s(e.yanchor);u=x-e.y0,p=x-e.y1}else u=s(e.y0),p=s(e.y1);if("line"===d)return"M"+l+","+u+"L"+c+","+p;if("rect"===d)return"M"+l+","+u+"H"+c+"V"+p+"H"+l+"Z";var b=(l+c)/2,_=(u+p)/2,w=Math.abs(b-l),k=Math.abs(_-u),T="A"+w+","+k,A=b+w+","+_;return"M"+A+T+" 0 1,1 "+(b+","+(_-k))+T+" 0 0,1 "+A+"Z"}function v(t,e,r){return t.replace(h.segmentRE,function(t){var n=0,a=t.charAt(0),i=h.paramIsX[a],o=h.paramIsY[a],s=h.numParams[a];return a+t.substr(1).replace(h.paramRE,function(t){return n>=s?t:(i[n]?t=e(t):o[n]&&(t=r(t)),n++,t)})})}e.exports={draw:function(t){var e=t._fullLayout;for(var r in e._shapeUpperLayer.selectAll("path").remove(),e._shapeLowerLayer.selectAll("path").remove(),e._plots){var n=e._plots[r].shapelayer;n&&n.selectAll("path").remove()}for(var a=0;a<e.shapes.length;a++)e.shapes[a].visible&&p(t,a)},drawOne:p}},{"../../lib":716,"../../lib/setcursor":736,"../../plot_api/plot_template":754,"../../plots/cartesian/axes":764,"../../registry":845,"../color":591,"../dragelement":609,"../drawing":612,"./constants":668,"./helpers":671}],671:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib");r.rangeToShapePosition=function(t){return"log"===t.type?t.r2d:function(t){return t}},r.shapePositionToRange=function(t){return"log"===t.type?t.d2r:function(t){return t}},r.decodeDate=function(t){return function(e){return e.replace&&(e=e.replace("_"," ")),t(e)}},r.encodeDate=function(t){return function(e){return t(e).replace(" ","_")}},r.extractPathCoords=function(t,e){var r=[];return t.match(n.segmentRE).forEach(function(t){var i=e[t.charAt(0)].drawn;if(void 0!==i){var o=t.substr(1).match(n.paramRE);!o||o.length<i||r.push(a.cleanNumber(o[i]))}}),r},r.getDataToPixel=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.shapePositionToRange(e);a=function(t){return e._offset+e.r2p(o(t,!0))},"date"===e.type&&(a=r.decodeDate(a))}else a=n?function(t){return i.t+i.h*(1-t)}:function(t){return i.l+i.w*t};return a},r.getPixelToData=function(t,e,n){var a,i=t._fullLayout._size;if(e){var o=r.rangeToShapePosition(e);a=function(t){return o(e.p2r(t-e._offset))}}else a=n?function(t){return 1-(t-i.t)/i.h}:function(t){return(t-i.l)/i.w};return a},r.roundPositionForSharpStrokeRendering=function(t,e){var r=1===Math.round(e%2),n=Math.round(t);return r?n+.5:n}},{"../../lib":716,"./constants":668}],672:[function(t,e,r){"use strict";var n=t("./draw");e.exports={moduleType:"component",name:"shapes",layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),includeBasePlot:t("../../plots/cartesian/include_components")("shapes"),calcAutorange:t("./calc_autorange"),draw:n.draw,drawOne:n.drawOne}},{"../../plots/cartesian/include_components":774,"./attributes":666,"./calc_autorange":667,"./defaults":669,"./draw":670}],673:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/pad_attributes"),i=t("../../lib/extend").extendDeepAll,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/animation_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=t("./constants"),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:i(a({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/animation_attributes":759,"../../plots/font_attributes":790,"../../plots/pad_attributes":824,"./constants":674}],674:[function(t,e,r){"use strict";e.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},{}],675:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.steps;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=a(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u<s.length;u++)s[u].visible&&l++;if(l<2?e.visible=!1:o("visible")){e._stepCount=l;var h=e._visibleSteps=n.filterVisible(s);(s[o("active")]||{}).visible||(e.active=h[0]._index),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("len"),o("lenmode"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("currentvalue.visible")&&(o("currentvalue.xanchor"),o("currentvalue.prefix"),o("currentvalue.suffix"),o("currentvalue.offset"),n.coerceFont(o,"currentvalue.font",e.font)),o("transition.duration"),o("transition.easing"),o("bgcolor"),o("activebgcolor"),o("bordercolor"),o("borderwidth"),o("ticklen"),o("tickwidth"),o("tickcolor"),o("minorticklen")}}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}if("skip"===t.method||Array.isArray(t.args)?r("visible"):e.visible=!1){r("method"),r("args");var a=r("label","step-"+e._index);r("value",a),r("execute")}}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"./attributes":673,"./constants":674}],676:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("./constants"),h=t("../../constants/alignment"),f=h.LINE_SPACING,p=h.FROM_TL,d=h.FROM_BR;function g(t){return u.autoMarginIdRoot+t._index}function v(t){return t._index}function m(t,e){var r=o.tester.selectAll("g."+u.labelGroupClass).data(e._visibleSteps);r.enter().append("g").classed(u.labelGroupClass,!0);var i=0,c=0;r.each(function(t){var r=b(n.select(this),{step:t},e).node();if(r){var a=o.bBox(r);c=Math.max(c,a.height),i=Math.max(i,a.width)}}),r.remove();var h=e._dims={};h.inputAreaWidth=Math.max(u.railWidth,u.gripHeight);var f=t._fullLayout._size;h.lx=f.l+f.w*e.x,h.ly=f.t+f.h*(1-e.y),"fraction"===e.lenmode?h.outerLength=Math.round(f.w*e.len):h.outerLength=e.len,h.inputAreaStart=0,h.inputAreaLength=Math.round(h.outerLength-e.pad.l-e.pad.r);var v=(h.inputAreaLength-2*u.stepInset)/(e._stepCount-1),m=i+u.labelPadding;if(h.labelStride=Math.max(1,Math.ceil(m/v)),h.labelHeight=c,h.currentValueMaxWidth=0,h.currentValueHeight=0,h.currentValueTotalHeight=0,h.currentValueMaxLines=1,e.currentvalue.visible){var x=o.tester.append("g");r.each(function(t){var r=y(x,e,t.label),n=r.node()&&o.bBox(r.node())||{width:0,height:0},a=l.lineCount(r);h.currentValueMaxWidth=Math.max(h.currentValueMaxWidth,Math.ceil(n.width)),h.currentValueHeight=Math.max(h.currentValueHeight,Math.ceil(n.height)),h.currentValueMaxLines=Math.max(h.currentValueMaxLines,a)}),h.currentValueTotalHeight=h.currentValueHeight+e.currentvalue.offset,x.remove()}h.height=h.currentValueTotalHeight+u.tickOffset+e.ticklen+u.labelOffset+h.labelHeight+e.pad.t+e.pad.b;var _="left";s.isRightAnchor(e)&&(h.lx-=h.outerLength,_="right"),s.isCenterAnchor(e)&&(h.lx-=h.outerLength/2,_="center");var w="top";s.isBottomAnchor(e)&&(h.ly-=h.height,w="bottom"),s.isMiddleAnchor(e)&&(h.ly-=h.height/2,w="middle"),h.outerLength=Math.ceil(h.outerLength),h.height=Math.ceil(h.height),h.lx=Math.round(h.lx),h.ly=Math.round(h.ly);var k={y:e.y,b:h.height*d[w],t:h.height*p[w]};"fraction"===e.lenmode?(k.l=0,k.xl=e.x-e.len*p[_],k.r=0,k.xr=e.x+e.len*d[_]):(k.x=e.x,k.l=h.outerLength*p[_],k.r=h.outerLength*d[_]),a.autoMargin(t,g(e),k)}function y(t,e,r){if(e.currentvalue.visible){var n,a,i=e._dims;switch(e.currentvalue.xanchor){case"right":n=i.inputAreaLength-u.currentValueInset-i.currentValueMaxWidth,a="left";break;case"center":n=.5*i.inputAreaLength,a="middle";break;default:n=u.currentValueInset,a="left"}var c=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":a,"data-notex":1})}),h=e.currentvalue.prefix?e.currentvalue.prefix:"";if("string"==typeof r)h+=r;else{var p=e.steps[e.active].label,d=e._gd._fullLayout._meta;d&&(p=s.templateString(p,d)),h+=p}e.currentvalue.suffix&&(h+=e.currentvalue.suffix),c.call(o.font,e.currentvalue.font).text(h).call(l.convertToTspans,e._gd);var g=l.lineCount(c),v=(i.currentValueMaxLines+1-g)*e.currentvalue.font.size*f;return l.positionText(c,n,v),c}}function x(t,e,r){s.ensureSingle(t,"rect",u.gripRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")}).attr({width:u.gripWidth,height:u.gripHeight,rx:u.gripRadius,ry:u.gripRadius}).call(i.stroke,r.bordercolor).call(i.fill,r.bgcolor).style("stroke-width",r.borderwidth+"px")}function b(t,e,r){var n=s.ensureSingle(t,"text",u.labelClass,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"middle","data-notex":1})}),a=e.step.label,i=r._gd._fullLayout._meta;return i&&(a=s.templateString(a,i)),n.call(o.font,r.font).text(a).call(l.convertToTspans,r._gd),n}function _(t,e){var r=s.ensureSingle(t,"g",u.labelsClass),a=e._dims,i=r.selectAll("g."+u.labelGroupClass).data(a.labelSteps);i.enter().append("g").classed(u.labelGroupClass,!0),i.exit().remove(),i.each(function(t){var r=n.select(this);r.call(b,t,e),o.setTranslate(r,S(e,t.fraction),u.tickOffset+e.ticklen+e.font.size*f+u.labelOffset+a.currentValueTotalHeight)})}function w(t,e,r,n,a){var i=Math.round(n*(r._stepCount-1)),o=r._visibleSteps[i]._index;o!==r.active&&k(t,e,r,o,!0,a)}function k(t,e,r,n,i,o){var s=r.active;r.active=n,c(t.layout,u.name,r).applyUpdate("active",n);var l=r.steps[r.active];e.call(M,r,o),e.call(y,r),t.emit("plotly_sliderchange",{slider:r,step:r.steps[r.active],interaction:i,previousActive:s}),l&&l.method&&i&&(e._nextMethod?(e._nextMethod.step=l,e._nextMethod.doCallback=i,e._nextMethod.doTransition=o):(e._nextMethod={step:l,doCallback:i,doTransition:o},e._nextMethodRaf=window.requestAnimationFrame(function(){var r=e._nextMethod.step;r.method&&(r.execute&&a.executeAPICommand(t,r.method,r.args),e._nextMethod=null,e._nextMethodRaf=null)})))}function T(t,e,r){var a=r.node(),o=n.select(e);function s(){return r.data()[0]}t.on("mousedown",function(){var t=s();e.emit("plotly_sliderstart",{slider:t});var l=r.select("."+u.gripRectClass);n.event.stopPropagation(),n.event.preventDefault(),l.call(i.fill,t.activebgcolor);var c=E(t,n.mouse(a)[0]);w(e,r,t,c,!0),t._dragging=!0,o.on("mousemove",function(){var t=s(),i=E(t,n.mouse(a)[0]);w(e,r,t,i,!1)}),o.on("mouseup",function(){var t=s();t._dragging=!1,l.call(i.fill,t.bgcolor),o.on("mouseup",null),o.on("mousemove",null),e.emit("plotly_sliderend",{slider:t,step:t.steps[t.active]})})})}function A(t,e){var r=t.selectAll("rect."+u.tickRectClass).data(e._visibleSteps),a=e._dims;r.enter().append("rect").classed(u.tickRectClass,!0),r.exit().remove(),r.attr({width:e.tickwidth+"px","shape-rendering":"crispEdges"}),r.each(function(t,r){var s=r%a.labelStride==0,l=n.select(this);l.attr({height:s?e.ticklen:e.minorticklen}).call(i.fill,e.tickcolor),o.setTranslate(l,S(e,r/(e._stepCount-1))-.5*e.tickwidth,(s?u.tickOffset:u.minorTickOffset)+a.currentValueTotalHeight)})}function M(t,e,r){for(var n=t.select("rect."+u.gripRectClass),a=0,i=0;i<e._stepCount;i++)if(e._visibleSteps[i]._index===e.active){a=i;break}var o=S(e,a/(e._stepCount-1));if(!e._invokingCommand){var s=n;r&&e.transition.duration>0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform","translate("+(o-.5*u.gripWidth)+","+e._dims.currentValueTotalHeight+")")}}function S(t,e){var r=t._dims;return r.inputAreaStart+u.stepInset+(r.inputAreaLength-2*u.stepInset)*Math.min(1,Math.max(0,e))}function E(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-u.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*u.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,a=s.ensureSingle(t,"rect",u.railTouchRectClass,function(n){n.call(T,e,t,r).style("pointer-events","all")});a.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,u.tickOffset+r.ticklen+n.labelHeight)}).call(i.fill,r.bgcolor).attr("opacity",0),o.setTranslate(a,0,n.currentValueTotalHeight)}function C(t,e){var r=e._dims,n=r.inputAreaLength-2*u.railInset,a=s.ensureSingle(t,"rect",u.railRectClass);a.attr({width:n,height:u.railWidth,rx:u.railRadius,ry:u.railRadius,"shape-rendering":"crispEdges"}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(a,u.railInset,.5*(r.inputAreaWidth-u.railWidth)+r.currentValueTotalHeight)}e.exports=function(t){var e=t._fullLayout,r=function(t,e){for(var r=t[u.name],n=[],a=0;a<r.length;a++){var i=r[a];i.visible&&(i._gd=e,n.push(i))}return n}(e,t),i=e._infolayer.selectAll("g."+u.containerClassName).data(r.length>0?[0]:[]);function s(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),a.autoMargin(t,g(e))}if(i.enter().append("g").classed(u.containerClassName,!0).style("cursor","ew-resize"),i.exit().each(function(){n.select(this).selectAll("g."+u.groupClassName).each(s)}).remove(),0!==r.length){var l=i.selectAll("g."+u.groupClassName).data(r,v);l.enter().append("g").classed(u.groupClassName,!0),l.exit().each(s).remove();for(var c=0;c<r.length;c++){var h=r[c];m(t,h)}l.each(function(e){var r=n.select(this);!function(t){var e=t._dims;e.labelSteps=[];for(var r=t._stepCount,n=0;n<r;n+=e.labelStride)e.labelSteps.push({fraction:n/(r-1),step:t._visibleSteps[n]})}(e),a.manageCommandObserver(t,e,e._visibleSteps,function(e){var n=r.data()[0];n.active!==e.index&&(n._dragging||k(t,r,n,e.index,!1,!0))}),function(t,e,r){(r.steps[r.active]||{}).visible||(r.active=r._visibleSteps[0]._index);e.call(y,r).call(C,r).call(_,r).call(A,r).call(L,t,r).call(x,t,r);var n=r._dims;o.setTranslate(e,n.lx+r.pad.l,n.ly+r.pad.t),e.call(M,r,!1),e.call(y,r)}(t,n.select(this),e)})}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/plots":825,"../color":591,"../drawing":612,"./constants":674,d3:164}],677:[function(t,e,r){"use strict";var n=t("./constants");e.exports={moduleType:"component",name:n.name,layoutAttributes:t("./attributes"),supplyLayoutDefaults:t("./defaults"),draw:t("./draw")}},{"./attributes":673,"./constants":674,"./defaults":675,"./draw":676}],678:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../drawing"),c=t("../color"),u=t("../../lib/svg_text_utils"),h=t("../../constants/interactions"),f=t("../../constants/alignment").OPPOSITE_SIDE,p=/ [XY][0-9]* /;e.exports={draw:function(t,e,r){var d,g=r.propContainer,v=r.propName,m=r.placeholder,y=r.traceIndex,x=r.avoid||{},b=r.attributes,_=r.transform,w=r.containerGroup,k=t._fullLayout,T=1,A=!1,M=g.title,S=(M&&M.text?M.text:"").trim(),E=M&&M.font?M.font:{},L=E.family,C=E.size,P=E.color;"title.text"===v?d="titleText":-1!==v.indexOf("axis")?d="axisTitleText":v.indexOf(!0)&&(d="colorbarTitleText");var O=t._context.edits[d];""===S?T=0:S.replace(p," % ")===m.replace(p," % ")&&(T=.2,A=!0,O||(S="")),r._meta?S=s.templateString(S,r._meta):k._meta&&(S=s.templateString(S,k._meta));var z=S||O;w||(w=s.ensureSingle(k._infolayer,"g","g-"+e));var I=w.selectAll("text").data(z?[0]:[]);if(I.enter().append("text"),I.text(S).attr("class",e),I.exit().remove(),!z)return w;function D(t){s.syncOrAsync([R,F],t)}function R(e){var r;return _?(r="",_.rotate&&(r+="rotate("+[_.rotate,b.x,b.y]+")"),_.offset&&(r+="translate(0, "+_.offset+")")):r=null,e.attr("transform",r),e.style({"font-family":L,"font-size":n.round(C,2)+"px",fill:c.rgb(P),opacity:T*c.opacity(P),"font-weight":i.fontWeight}).attr(b).call(u.convertToTspans,t),i.previousPromises(t)}function F(t){var e=n.select(t.node().parentNode);if(x&&x.selection&&x.side&&S){e.attr("transform",null);var r=f[x.side],i="left"===x.side||"top"===x.side?-1:1,o=a(x.pad)?x.pad:2,c=l.bBox(e.node()),u={left:0,top:0,right:k.width,bottom:k.height},h=x.maxShift||i*(u[x.side]-c[x.side]),p=0;if(h<0)p=h;else{var d=x.offsetLeft||0,g=x.offsetTop||0;c.left-=d,c.right-=d,c.top-=g,c.bottom-=g,x.selection.each(function(){var t=l.bBox(this);s.bBoxIntersect(c,t,o)&&(p=Math.max(p,i*(t[x.side]-c[r])+o))}),p=Math.min(h,p)}if(p>0||h<0){var v={left:[-p,0],right:[p,0],top:[0,-p],bottom:[0,p]}[x.side];e.attr("transform","translate("+v+")")}}}return I.call(D),O&&(S?I.on(".opacity",null):(T=0,A=!0,I.text(m).on("mouseover.opacity",function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)})),I.call(u.makeEditable,{gd:t}).on("edit",function(e){void 0!==y?o.call("_guiRestyle",t,v,e,y):o.call("_guiRelayout",t,v,e)}).on("cancel",function(){this.text(this.attr("data-unformatted")).call(D)}).on("input",function(t){this.text(t||" ").call(u.positionText,b.x,b.y)})),I.classed("js-placeholder",A),w}}},{"../../constants/alignment":685,"../../constants/interactions":691,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"../color":591,"../drawing":612,d3:164,"fast-isnumeric":227}],679:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../color/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=t("../../plots/pad_attributes"),l=t("../../plot_api/plot_template").templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});e.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:i(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:a.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},{"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/font_attributes":790,"../../plots/pad_attributes":824,"../color/attributes":590}],680:[function(t,e,r){"use strict";e.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:"  "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"\u25c4",right:"\u25ba",up:"\u25b2",down:"\u25bc"}}},{}],681:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("./constants").name,s=i.buttons;function l(t,e,r){function o(r,a){return n.coerce(t,e,i,r,a)}o("visible",a(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,a){return n.coerce(t,e,s,r,a)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}e.exports=function(t,e){a(t,e,{name:o,handleItemDefaults:l})}},{"../../lib":716,"../../plots/array_container_defaults":760,"./attributes":679,"./constants":680}],682:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../color"),o=t("../drawing"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../plot_api/plot_template").arrayEditor,u=t("../../constants/alignment").LINE_SPACING,h=t("./constants"),f=t("./scrollbox");function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function g(t,e,r,n,a,i,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?m(t,n,null,null,e):"dropdown"===e.type&&(a.attr(h.menuIndexAttrName,"-1"),v(t,n,a,i,e),s||m(t,n,a,i,e))}function v(t,e,r,n,a){var i=s.ensureSingle(e,"g",h.headerClassName,function(t){t.style("pointer-events","all")}),l=a._dims,c=a.active,u=a.buttons[c]||h.blankHeaderOpts,f={y:a.pad.t,yPad:0,x:a.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};i.call(y,a,u,t).call(M,a,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,function(t){t.classed("user-select-none",!0).attr("text-anchor","end").call(o.font,a.font).text(h.arrowSymbol[a.direction])}).attr({x:l.headerWidth-h.arrowOffsetX+a.pad.l,y:l.headerHeight/2+h.textOffsetY+a.pad.t}),i.on("click",function(){r.call(S,String(d(r,a)?-1:a._index)),m(t,e,r,n,a)}),i.on("mouseover",function(){i.call(w)}),i.on("mouseout",function(){i.call(k,a)}),o.setTranslate(e,l.lx,l.ly)}function m(t,e,r,i,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,v=0,m=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?v=m.headerHeight+h.gapButtonHeader:d=m.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(v=-h.gapButtonHeader+h.gapButton-m.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-m.openWidth);var b={x:m.lx+d+o.pad.l,y:m.ly+v+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},T={l:b.x+o.borderwidth,t:b.y+o.borderwidth};u.each(function(s,l){var c=n.select(this);c.call(y,o,s,t).call(M,o,b),c.on("click",function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(g(t,o,0,e,r,i,-1),a.executeAPICommand(t,s.method,s.args2)):(g(t,o,0,e,r,i,l),a.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))}),c.on("mouseover",function(){c.call(w)}),c.on("mouseout",function(){c.call(k,o),u.call(_,o)})}),u.call(_,o),x?(T.w=Math.max(m.openWidth,m.headerWidth),T.h=b.y-T.t):(T.w=b.x-T.l,T.h=Math.max(m.openHeight,m.headerHeight)),T.direction=o.direction,i&&(u.size()?function(t,e,r,n,a,i){var o,s,l,c=a.direction,u="up"===c||"down"===c,f=a._dims,p=a.active;if(u)for(s=0,l=0;l<p;l++)s+=f.heights[l]+h.gapButton;else for(o=0,l=0;l<p;l++)o+=f.widths[l]+h.gapButton;n.enable(i,o,s),n.hbar&&n.hbar.attr("opacity","0").transition().attr("opacity","1");n.vbar&&n.vbar.attr("opacity","0").transition().attr("opacity","1")}(0,0,0,i,o,T):function(t){var e=!!t.hbar,r=!!t.vbar;e&&t.hbar.transition().attr("opacity","0").each("end",function(){e=!1,r||t.disable()});r&&t.vbar.transition().attr("opacity","0").each("end",function(){r=!1,e||t.disable()})}(i))}function y(t,e,r,n){t.call(x,e).call(b,e,r,n)}function x(t,e){s.ensureSingle(t,"rect",h.itemRectClassName,function(t){t.attr({rx:h.rx,ry:h.ry,"shape-rendering":"crispEdges"})}).call(i.stroke,e.bordercolor).call(i.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px")}function b(t,e,r,n){var a=s.ensureSingle(t,"text",h.itemTextClassName,function(t){t.classed("user-select-none",!0).attr({"text-anchor":"start","data-notex":1})}),i=r.label,c=n._fullLayout._meta;c&&(i=s.templateString(i,c)),a.call(o.font,e.font).text(i).call(l.convertToTspans,n)}function _(t,e){var r=e.active;t.each(function(t,a){var o=n.select(this);a===r&&e.showactive&&o.select("rect."+h.itemRectClassName).call(i.fill,h.activeColor)})}function w(t){t.select("rect."+h.itemRectClassName).call(i.fill,h.hoverColor)}function k(t,e){t.select("rect."+h.itemRectClassName).call(i.fill,e.bgcolor)}function T(t,e){var r=e._dims={width1:0,height1:0,heights:[],widths:[],totalWidth:0,totalHeight:0,openWidth:0,openHeight:0,lx:0,ly:0},i=o.tester.selectAll("g."+h.dropdownButtonClassName).data(s.filterVisible(e.buttons));i.enter().append("g").classed(h.dropdownButtonClassName,!0);var c=-1!==["up","down"].indexOf(e.direction);i.each(function(a,i){var s=n.select(this);s.call(y,e,a,t);var f=s.select("."+h.itemTextClassName),p=f.node()&&o.bBox(f.node()).width,d=Math.max(p+h.textPadX,h.minWidth),g=e.font.size*u,v=l.lineCount(f),m=Math.max(g*v,h.minHeight)+h.textOffsetY;m=Math.ceil(m),d=Math.ceil(d),r.widths[i]=d,r.heights[i]=m,r.height1=Math.max(r.height1,m),r.width1=Math.max(r.width1,d),c?(r.totalWidth=Math.max(r.totalWidth,d),r.openWidth=r.totalWidth,r.totalHeight+=m+h.gapButton,r.openHeight+=m+h.gapButton):(r.totalWidth+=d+h.gapButton,r.openWidth+=d+h.gapButton,r.totalHeight=Math.max(r.totalHeight,m),r.openHeight=r.totalHeight)}),c?r.totalHeight-=h.gapButton:r.totalWidth-=h.gapButton,r.headerWidth=r.width1+h.arrowPadX,r.headerHeight=r.height1,"dropdown"===e.type&&(c?(r.width1+=h.arrowPadX,r.totalHeight=r.height1):r.totalWidth=r.width1,r.totalWidth+=h.arrowPadX),i.remove();var f=r.totalWidth+e.pad.l+e.pad.r,p=r.totalHeight+e.pad.t+e.pad.b,d=t._fullLayout._size;r.lx=d.l+d.w*e.x,r.ly=d.t+d.h*(1-e.y);var g="left";s.isRightAnchor(e)&&(r.lx-=f,g="right"),s.isCenterAnchor(e)&&(r.lx-=f/2,g="center");var v="top";s.isBottomAnchor(e)&&(r.ly-=p,v="bottom"),s.isMiddleAnchor(e)&&(r.ly-=p/2,v="middle"),r.totalWidth=Math.ceil(r.totalWidth),r.totalHeight=Math.ceil(r.totalHeight),r.lx=Math.round(r.lx),r.ly=Math.round(r.ly),a.autoMargin(t,A(e),{x:e.x,y:e.y,l:f*({right:1,center:.5}[g]||0),r:f*({left:1,center:.5}[g]||0),b:p*({top:1,middle:.5}[v]||0),t:p*({bottom:1,middle:.5}[v]||0)})}function A(t){return h.autoMarginIdRoot+t._index}function M(t,e,r,n){n=n||{};var a=t.select("."+h.itemRectClassName),i=t.select("."+h.itemTextClassName),s=e.borderwidth,c=r.index,f=e._dims;o.setTranslate(t,s+r.x,s+r.y);var p=-1!==["up","down"].indexOf(e.direction),d=n.height||(p?f.heights[c]:f.height1);a.attr({x:0,y:0,width:n.width||(p?f.width1:f.widths[c]),height:d});var g=e.font.size*u,v=(l.lineCount(i)-1)*g/2;l.positionText(i,h.textOffsetX,d/2-v+h.textOffsetY),p?r.y+=f.heights[c]+r.yPad:r.x+=f.widths[c]+r.xPad,r.index++}function S(t,e){t.attr(h.menuIndexAttrName,e||"-1").selectAll("g."+h.dropdownButtonClassName).remove()}e.exports=function(t){var e=t._fullLayout,r=s.filterVisible(e[h.name]);function i(e){a.autoMargin(t,A(e))}var o=e._menulayer.selectAll("g."+h.containerClassName).data(r.length>0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each(function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(i)}).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,p);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,function(t){t.style("pointer-events","all")}),u=0;u<r.length;u++){var y=r[u];T(t,y)}var x="updatemenus"+e._uid,b=new f(t,c,x);l.enter().size()&&(c.node().parentNode.appendChild(c.node()),c.call(S)),l.exit().each(function(t){c.call(S),i(t)}).remove(),l.each(function(e){var r=n.select(this),i="dropdown"===e.type?c:null;a.manageCommandObserver(t,e,e.buttons,function(n){g(t,e,e.buttons[n.index],r,i,b,n.index,!0)}),"dropdown"===e.type?(v(t,r,c,b,e),d(c,e)&&m(t,r,c,b,e)):m(t,r,null,null,e)})}}},{"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_template":754,"../../plots/plots":825,"../color":591,"../drawing":612,"./constants":680,"./scrollbox":684,d3:164}],683:[function(t,e,r){arguments[4][677][0].apply(r,arguments)},{"./attributes":679,"./constants":680,"./defaults":681,"./draw":682,dup:677}],684:[function(t,e,r){"use strict";e.exports=s;var n=t("d3"),a=t("../color"),i=t("../drawing"),o=t("../../lib");function s(t,e,r){this.gd=t,this.container=e,this.id=r,this.position=null,this.translateX=null,this.translateY=null,this.hbar=null,this.vbar=null,this.bg=this.container.selectAll("rect.scrollbox-bg").data([0]),this.bg.exit().on(".drag",null).on("wheel",null).remove(),this.bg.enter().append("rect").classed("scrollbox-bg",!0).style("pointer-events","all").attr({opacity:0,x:0,y:0,width:0,height:0})}s.barWidth=2,s.barLength=20,s.barRadius=2,s.barPad=1,s.barColor="#808BA4",s.prototype.enable=function(t,e,r){var o=this.gd._fullLayout,l=o.width,c=o.height;this.position=t;var u,h,f,p,d=this.position.l,g=this.position.w,v=this.position.t,m=this.position.h,y=this.position.direction,x="down"===y,b="left"===y,_="up"===y,w=g,k=m;x||b||"right"===y||_||(this.position.direction="down",x=!0),x||_?(h=(u=d)+w,x?(f=v,k=(p=Math.min(f+k,c))-f):k=(p=v+k)-(f=Math.max(p-k,0))):(p=(f=v)+k,b?w=(h=d+w)-(u=Math.max(h-w,0)):(u=d,w=(h=Math.min(u+w,l))-u)),this._box={l:u,t:f,w:w,h:k};var T=g>w,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=v+m;E+M>c&&(E=c-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(T?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(a.fill,s.barColor),T?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=m>k,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,z=d+g,I=v;z+P>l&&(z=l-P);var D=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(a.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:I,width:P,height:O}),this._vbarYMin=I+O/2,this._vbarTranslateMax=k-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=C?h+P+.5:h+.5,N=f-.5,j=T?p+M+.5:p+.5,V=o._topdefs.selectAll("#"+R).data(T||C?[0]:[]);if(V.exit().remove(),V.enter().append("clipPath").attr("id",R).append("rect"),T||C?(this._clipRect=V.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(i.setClipUrl,R,this.gd),this.bg.attr({x:d,y:v,width:g,height:m})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),T||C){var U=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault()}).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(U);var q=n.behavior.drag().on("dragstart",function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()}).on("drag",this._onBarDrag.bind(this));T&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(i.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,a=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,a)-r)/(a-r)*(this.position.w-this._box.w)}if(this.vbar){var i=e+this._vbarYMin,s=i+this._vbarTranslateMax;e=(o.constrain(n.event.y,i,s)-i)/(s-i)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(i.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var a=t/r;this.hbar.call(i.setTranslate,t+a*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(i.setTranslate,t,e+s*this._vbarTranslateMax)}}},{"../../lib":716,"../color":591,"../drawing":612,d3:164}],685:[function(t,e,r){"use strict";e.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},{}],686:[function(t,e,r){"use strict";e.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"\u25b2"},DECREASING:{COLOR:"#FF4136",SYMBOL:"\u25bc"}}},{}],687:[function(t,e,r){"use strict";e.exports={FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Formatting.md#d3_format",DATE_FORMAT_LINK:"https://github.com/d3/d3-3.x-api-reference/blob/master/Time-Formatting.md#format"}},{}],688:[function(t,e,r){"use strict";e.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},{}],689:[function(t,e,r){"use strict";e.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},{}],690:[function(t,e,r){"use strict";e.exports={circle:"\u25cf","circle-open":"\u25cb",square:"\u25a0","square-open":"\u25a1",diamond:"\u25c6","diamond-open":"\u25c7",cross:"+",x:"\u274c"}},{}],691:[function(t,e,r){"use strict";e.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},{}],692:[function(t,e,r){"use strict";e.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE/1e4,ONEAVGYEAR:315576e5,ONEAVGMONTH:26298e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"\u2212"}},{}],693:[function(t,e,r){"use strict";r.xmlns="http://www.w3.org/2000/xmlns/",r.svg="http://www.w3.org/2000/svg",r.xlink="http://www.w3.org/1999/xlink",r.svgAttrs={xmlns:r.svg,"xmlns:xlink":r.xlink}},{}],694:[function(t,e,r){"use strict";r.version="1.51.2",t("es6-promise").polyfill(),t("../build/plotcss"),t("./fonts/mathjax_config")();for(var n=t("./registry"),a=r.register=n.register,i=t("./plot_api"),o=Object.keys(i),s=0;s<o.length;s++){var l=o[s];"_"!==l.charAt(0)&&(r[l]=i[l]),a({moduleType:"apiMethod",name:l,fn:i[l]})}a(t("./traces/scatter")),a([t("./components/fx"),t("./components/legend"),t("./components/annotations"),t("./components/annotations3d"),t("./components/shapes"),t("./components/images"),t("./components/updatemenus"),t("./components/sliders"),t("./components/rangeslider"),t("./components/rangeselector"),t("./components/grid"),t("./components/errorbars"),t("./components/colorscale"),t("./components/colorbar")]),a([t("./locale-en"),t("./locale-en-us")]),r.Icons=t("./fonts/ploticon"),r.Plots=t("./plots/plots"),r.Fx=t("./components/fx"),r.Snapshot=t("./snapshot"),r.PlotSchema=t("./plot_api/plot_schema"),r.Queue=t("./lib/queue"),r.d3=t("d3")},{"../build/plotcss":1,"./components/annotations":582,"./components/annotations3d":587,"./components/colorbar":597,"./components/colorscale":603,"./components/errorbars":618,"./components/fx":629,"./components/grid":633,"./components/images":638,"./components/legend":646,"./components/rangeselector":657,"./components/rangeslider":664,"./components/shapes":672,"./components/sliders":677,"./components/updatemenus":683,"./fonts/mathjax_config":695,"./fonts/ploticon":696,"./lib/queue":731,"./locale-en":745,"./locale-en-us":744,"./plot_api":749,"./plot_api/plot_schema":753,"./plots/plots":825,"./registry":845,"./snapshot":850,"./traces/scatter":1130,d3:164,"es6-promise":220}],695:[function(t,e,r){"use strict";e.exports=function(){"undefined"!=typeof MathJax&&("local"!==(window.PlotlyConfig||{}).MathJaxConfig&&(MathJax.Hub.Config({messageStyle:"none",skipStartupTypeset:!0,displayAlign:"left",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]}}),MathJax.Hub.Configured()))}},{}],696:[function(t,e,r){"use strict";e.exports={undo:{width:857.1,height:1e3,path:"m857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4 6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61 61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16 8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60 57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z",transform:"matrix(1 0 0 -1 0 850)"},home:{width:928.6,height:1e3,path:"m786 296v-267q0-15-11-26t-25-10h-214v214h-143v-214h-214q-15 0-25 10t-11 26v267q0 1 0 2t0 2l321 264 321-264q1-1 1-4z m124 39l-34-41q-5-5-12-6h-2q-7 0-12 3l-386 322-386-322q-7-4-13-4-7 2-12 7l-35 41q-4 5-3 13t6 12l401 334q18 15 42 15t43-15l136-114v109q0 8 5 13t13 5h107q8 0 13-5t5-13v-227l122-102q5-5 6-12t-4-13z",transform:"matrix(1 0 0 -1 0 850)"},"camera-retro":{width:1e3,height:1e3,path:"m518 386q0 8-5 13t-13 5q-37 0-63-27t-26-63q0-8 5-13t13-5 12 5 5 13q0 23 16 38t38 16q8 0 13 5t5 13z m125-73q0-59-42-101t-101-42-101 42-42 101 42 101 101 42 101-42 42-101z m-572-320h858v71h-858v-71z m643 320q0 89-62 152t-152 62-151-62-63-152 63-151 151-63 152 63 62 151z m-571 358h214v72h-214v-72z m-72-107h858v143h-462l-36-71h-360v-72z m929 143v-714q0-30-21-51t-50-21h-858q-29 0-50 21t-21 51v714q0 30 21 51t50 21h858q29 0 50-21t21-51z",transform:"matrix(1 0 0 -1 0 850)"},zoombox:{width:1e3,height:1e3,path:"m1000-25l-250 251c40 63 63 138 63 218 0 224-182 406-407 406-224 0-406-182-406-406s183-406 407-406c80 0 155 22 218 62l250-250 125 125z m-812 250l0 438 437 0 0-438-437 0z m62 375l313 0 0-312-313 0 0 312z",transform:"matrix(1 0 0 -1 0 850)"},pan:{width:1e3,height:1e3,path:"m1000 350l-187 188 0-125-250 0 0 250 125 0-188 187-187-187 125 0 0-250-250 0 0 125-188-188 186-187 0 125 252 0 0-250-125 0 187-188 188 188-125 0 0 250 250 0 0-126 187 188z",transform:"matrix(1 0 0 -1 0 850)"},zoom_plus:{width:875,height:1e3,path:"m1 787l0-875 875 0 0 875-875 0z m687-500l-187 0 0-187-125 0 0 187-188 0 0 125 188 0 0 187 125 0 0-187 187 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},zoom_minus:{width:875,height:1e3,path:"m0 788l0-876 875 0 0 876-875 0z m688-500l-500 0 0 125 500 0 0-125z",transform:"matrix(1 0 0 -1 0 850)"},autoscale:{width:1e3,height:1e3,path:"m250 850l-187 0-63 0 0-62 0-188 63 0 0 188 187 0 0 62z m688 0l-188 0 0-62 188 0 0-188 62 0 0 188 0 62-62 0z m-875-938l0 188-63 0 0-188 0-62 63 0 187 0 0 62-187 0z m875 188l0-188-188 0 0-62 188 0 62 0 0 62 0 188-62 0z m-125 188l-1 0-93-94-156 156 156 156 92-93 2 0 0 250-250 0 0-2 93-92-156-156-156 156 94 92 0 2-250 0 0-250 0 0 93 93 157-156-157-156-93 94 0 0 0-250 250 0 0 0-94 93 156 157 156-157-93-93 0 0 250 0 0 250z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_basic:{width:1500,height:1e3,path:"m375 725l0 0-375-375 375-374 0-1 1125 0 0 750-1125 0z",transform:"matrix(1 0 0 -1 0 850)"},tooltip_compare:{width:1125,height:1e3,path:"m187 786l0 2-187-188 188-187 0 0 937 0 0 373-938 0z m0-499l0 1-187-188 188-188 0 0 937 0 0 376-938-1z",transform:"matrix(1 0 0 -1 0 850)"},plotlylogo:{width:1542,height:1e3,path:"m0-10h182v-140h-182v140z m228 146h183v-286h-183v286z m225 714h182v-1000h-182v1000z m225-285h182v-715h-182v715z m225 142h183v-857h-183v857z m231-428h182v-429h-182v429z m225-291h183v-138h-183v138z",transform:"matrix(1 0 0 -1 0 850)"},"z-axis":{width:1e3,height:1e3,path:"m833 5l-17 108v41l-130-65 130-66c0 0 0 38 0 39 0-1 36-14 39-25 4-15-6-22-16-30-15-12-39-16-56-20-90-22-187-23-279-23-261 0-341 34-353 59 3 60 228 110 228 110-140-8-351-35-351-116 0-120 293-142 474-142 155 0 477 22 477 142 0 50-74 79-163 96z m-374 94c-58-5-99-21-99-40 0-24 65-43 144-43 79 0 143 19 143 43 0 19-42 34-98 40v216h87l-132 135-133-135h88v-216z m167 515h-136v1c16 16 31 34 46 52l84 109v54h-230v-71h124v-1c-16-17-28-32-44-51l-89-114v-51h245v72z",transform:"matrix(1 0 0 -1 0 850)"},"3d_rotate":{width:1e3,height:1e3,path:"m922 660c-5 4-9 7-14 11-359 263-580-31-580-31l-102 28 58-400c0 1 1 1 2 2 118 108 351 249 351 249s-62 27-100 42c88 83 222 183 347 122 16-8 30-17 44-27-2 1-4 2-6 4z m36-329c0 0 64 229-88 296-62 27-124 14-175-11 157-78 225-208 249-266 8-19 11-31 11-31 2 5 6 15 11 32-5-13-8-20-8-20z m-775-239c70-31 117-50 198-32-121 80-199 346-199 346l-96-15-58-12c0 0 55-226 155-287z m603 133l-317-139c0 0 4-4 19-14 7-5 24-15 24-15s-177-147-389 4c235-287 536-112 536-112l31-22 100 299-4-1z m-298-153c6-4 14-9 24-15 0 0-17 10-24 15z",transform:"matrix(1 0 0 -1 0 850)"},camera:{width:1e3,height:1e3,path:"m500 450c-83 0-150-67-150-150 0-83 67-150 150-150 83 0 150 67 150 150 0 83-67 150-150 150z m400 150h-120c-16 0-34 13-39 29l-31 93c-6 15-23 28-40 28h-340c-16 0-34-13-39-28l-31-94c-6-15-23-28-40-28h-120c-55 0-100-45-100-100v-450c0-55 45-100 100-100h800c55 0 100 45 100 100v450c0 55-45 100-100 100z m-400-550c-138 0-250 112-250 250 0 138 112 250 250 250 138 0 250-112 250-250 0-138-112-250-250-250z m365 380c-19 0-35 16-35 35 0 19 16 35 35 35 19 0 35-16 35-35 0-19-16-35-35-35z",transform:"matrix(1 0 0 -1 0 850)"},movie:{width:1e3,height:1e3,path:"m938 413l-188-125c0 37-17 71-44 94 64 38 107 107 107 187 0 121-98 219-219 219-121 0-219-98-219-219 0-61 25-117 66-156h-115c30 33 49 76 49 125 0 103-84 187-187 187s-188-84-188-187c0-57 26-107 65-141-38-22-65-62-65-109v-250c0-70 56-126 125-126h500c69 0 125 56 125 126l188-126c34 0 62 28 62 63v375c0 35-28 63-62 63z m-750 0c-69 0-125 56-125 125s56 125 125 125 125-56 125-125-56-125-125-125z m406-1c-87 0-157 70-157 157 0 86 70 156 157 156s156-70 156-156-70-157-156-157z",transform:"matrix(1 0 0 -1 0 850)"},question:{width:857.1,height:1e3,path:"m500 82v107q0 8-5 13t-13 5h-107q-8 0-13-5t-5-13v-107q0-8 5-13t13-5h107q8 0 13 5t5 13z m143 375q0 49-31 91t-77 65-95 23q-136 0-207-119-9-14 4-24l74-55q4-4 10-4 9 0 14 7 30 38 48 51 19 14 48 14 27 0 48-15t21-33q0-21-11-34t-38-25q-35-16-65-48t-29-70v-20q0-8 5-13t13-5h107q8 0 13 5t5 13q0 10 12 27t30 28q18 10 28 16t25 19 25 27 16 34 7 45z m214-107q0-117-57-215t-156-156-215-58-216 58-155 156-58 215 58 215 155 156 216 58 215-58 156-156 57-215z",transform:"matrix(1 0 0 -1 0 850)"},disk:{width:857.1,height:1e3,path:"m214-7h429v214h-429v-214z m500 0h72v500q0 8-6 21t-11 20l-157 156q-5 6-19 12t-22 5v-232q0-22-15-38t-38-16h-322q-22 0-37 16t-16 38v232h-72v-714h72v232q0 22 16 38t37 16h465q22 0 38-16t15-38v-232z m-214 518v178q0 8-5 13t-13 5h-107q-7 0-13-5t-5-13v-178q0-8 5-13t13-5h107q7 0 13 5t5 13z m357-18v-518q0-22-15-38t-38-16h-750q-23 0-38 16t-16 38v750q0 22 16 38t38 16h517q23 0 50-12t42-26l156-157q16-15 27-42t11-49z",transform:"matrix(1 0 0 -1 0 850)"},lasso:{width:1031,height:1e3,path:"m1018 538c-36 207-290 336-568 286-277-48-473-256-436-463 10-57 36-108 76-151-13-66 11-137 68-183 34-28 75-41 114-42l-55-70 0 0c-2-1-3-2-4-3-10-14-8-34 5-45 14-11 34-8 45 4 1 1 2 3 2 5l0 0 113 140c16 11 31 24 45 40 4 3 6 7 8 11 48-3 100 0 151 9 278 48 473 255 436 462z m-624-379c-80 14-149 48-197 96 42 42 109 47 156 9 33-26 47-66 41-105z m-187-74c-19 16-33 37-39 60 50-32 109-55 174-68-42-25-95-24-135 8z m360 75c-34-7-69-9-102-8 8 62-16 128-68 170-73 59-175 54-244-5-9 20-16 40-20 61-28 159 121 317 333 354s407-60 434-217c28-159-121-318-333-355z",transform:"matrix(1 0 0 -1 0 850)"},selectbox:{width:1e3,height:1e3,path:"m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z",transform:"matrix(1 0 0 -1 0 850)"},spikeline:{width:1e3,height:1e3,path:"M512 409c0-57-46-104-103-104-57 0-104 47-104 104 0 57 47 103 104 103 57 0 103-46 103-103z m-327-39l92 0 0 92-92 0z m-185 0l92 0 0 92-92 0z m370-186l92 0 0 93-92 0z m0-184l92 0 0 92-92 0z",transform:"matrix(1.5 0 0 -1.5 0 850)"},pencil:{width:1792,height:1792,path:"M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z",transform:"matrix(1 0 0 1 0 1)"},newplotlylogo:{name:"newplotlylogo",svg:"<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 132 132'><defs><style>.cls-1 {fill: #119dff;} .cls-2 {fill: #25fefd;} .cls-3 {fill: #fff;}</style></defs><title>plotly-logomark</title><g id='symbol'><rect class='cls-1' width='132' height='132' rx='6' ry='6'/><circle class='cls-2' cx='78' cy='54' r='6'/><circle class='cls-2' cx='102' cy='30' r='6'/><circle class='cls-2' cx='78' cy='30' r='6'/><circle class='cls-2' cx='54' cy='30' r='6'/><circle class='cls-2' cx='30' cy='30' r='6'/><circle class='cls-2' cx='30' cy='54' r='6'/><path class='cls-3' d='M30,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,30,72Z'/><path class='cls-3' d='M78,72a6,6,0,0,0-6,6v24a6,6,0,0,0,12,0V78A6,6,0,0,0,78,72Z'/><path class='cls-3' d='M54,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,54,48Z'/><path class='cls-3' d='M102,48a6,6,0,0,0-6,6v48a6,6,0,0,0,12,0V54A6,6,0,0,0,102,48Z'/></g></svg>"}}},{}],697:[function(t,e,r){"use strict";r.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},r.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},r.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},r.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},r.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},r.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},{}],698:[function(t,e,r){"use strict";var n=t("./mod"),a=n.mod,i=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return i(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0]<e[1]?(r=e[0],n=e[1]):(r=e[1],n=e[0]),(r=a(r,s))>(n=a(n,s))&&(n+=s);var i=a(t,s),o=i+s;return i>=r&&i<=n||o>=r&&o<=n}function h(t,e,r,n,a,i,c){a=a||0,i=i||0;var u,h,f,p,d,g=l([r,n]);function v(t,e){return[t*Math.cos(e)+a,i-t*Math.sin(e)]}g?(u=0,h=o,f=s):r<n?(u=r,f=n):(u=n,f=r),t<e?(p=t,d=e):(p=e,d=t);var m,y=Math.abs(f-u)<=o?0:1;function x(t,e,r){return"A"+[t,t]+" "+[0,y,r]+" "+v(t,e)}return g?m=null===p?"M"+v(d,u)+x(d,h,0)+x(d,f,0)+"Z":"M"+v(p,u)+x(p,h,0)+x(p,f,0)+"ZM"+v(d,u)+x(d,h,1)+x(d,f,1)+"Z":null===p?(m="M"+v(d,u)+x(d,f,0),c&&(m+="L0,0Z")):m="M"+v(p,u)+"L"+v(d,u)+x(d,f,0)+"L"+v(p,f)+x(p,u,1)+"Z",m}e.exports={deg2rad:function(t){return t/180*o},rad2deg:function(t){return t/o*180},angleDelta:c,angleDist:function(t,e){return Math.abs(c(t,e))},isFullCircle:l,isAngleInsideSector:u,isPtInsideSector:function(t,e,r,n){return!!u(e,n)&&(r[0]<r[1]?(a=r[0],i=r[1]):(a=r[1],i=r[0]),t>=a&&t<=i);var a,i},pathArc:function(t,e,r,n,a){return h(null,t,e,r,n,a,0)},pathSector:function(t,e,r,n,a){return h(null,t,e,r,n,a,1)},pathAnnulus:function(t,e,r,n,a,i){return h(t,e,r,n,a,i,1)}}},{"./mod":723}],699:[function(t,e,r){"use strict";var n=Array.isArray,a="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer:{isView:function(){return!1}},i="undefined"==typeof DataView?function(){}:DataView;function o(t){return a.isView(t)&&!(t instanceof i)}function s(t){return n(t)||o(t)}function l(t,e,r){if(s(t)){if(s(t[0])){for(var n=r,a=0;a<t.length;a++)n=e(n,t[a].length);return n}return t.length}return 0}r.isTypedArray=o,r.isArrayOrTypedArray=s,r.isArray1D=function(t){return!s(t[0])},r.ensureArray=function(t,e){return n(t)||(t=[]),t.length=e,t},r.concat=function(){var t,e,r,a,i,o,s,l,c=[],u=!0,h=0;for(r=0;r<arguments.length;r++)(o=(a=arguments[r]).length)&&(e?c.push(a):(e=a,i=o),n(a)?t=!1:(u=!1,h?t!==a.constructor&&(t=!1):t=a.constructor),h+=o);if(!h)return[];if(!c.length)return e;if(u)return e.concat.apply(e,c);if(t){for((s=new t(h)).set(e),r=0;r<c.length;r++)a=c[r],s.set(a,i),i+=a.length;return s}for(s=new Array(h),l=0;l<e.length;l++)s[l]=e[l];for(r=0;r<c.length;r++){for(a=c[r],l=0;l<a.length;l++)s[i+l]=a[l];i+=l}return s},r.maxRowLength=function(t){return l(t,Math.max,0)},r.minRowLength=function(t){return l(t,Math.min,1/0)}},{}],700:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../constants/numerical").BADNUM,i=/^['"%,$#\s']+|[, ]|['"%,$#\s']+$/g;e.exports=function(t){return"string"==typeof t&&(t=t.replace(i,"")),n(t)?Number(t):a}},{"../constants/numerical":692,"fast-isnumeric":227}],701:[function(t,e,r){"use strict";e.exports=function(t){var e=t._fullLayout;e._glcanvas&&e._glcanvas.size()&&e._glcanvas.each(function(t){t.regl&&t.regl.clear({color:!0,depth:!0})})}},{}],702:[function(t,e,r){"use strict";e.exports=function(t){t._responsiveChartHandler&&(window.removeEventListener("resize",t._responsiveChartHandler),delete t._responsiveChartHandler)}},{}],703:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("../plots/attributes"),o=t("../components/colorscale/scales"),s=t("../constants/interactions").DESELECTDIM,l=t("./nested_property"),c=t("./regex").counter,u=t("./mod").modHalf,h=t("./array").isArrayOrTypedArray;function f(t,e){var n=r.valObjectMeta[e.valType];if(e.arrayOk&&h(t))return!0;if(n.validateFunction)return n.validateFunction(t,e);var a={},i=a,o={set:function(t){i=t}};return n.coerceFunction(t,o,a,e),i!==a}r.valObjectMeta={data_array:{coerceFunction:function(t,e,r){h(t)?e.set(t):void 0!==r&&e.set(r)}},enumerated:{coerceFunction:function(t,e,r,n){n.coerceNumber&&(t=+t),-1===n.values.indexOf(t)?e.set(r):e.set(t)},validateFunction:function(t,e){e.coerceNumber&&(t=+t);for(var r=e.values,n=0;n<r.length;n++){var a=String(r[n]);if("/"===a.charAt(0)&&"/"===a.charAt(a.length-1)){if(new RegExp(a.substr(1,a.length-2)).test(t))return!0}else if(t===r[n])return!0}return!1}},boolean:{coerceFunction:function(t,e,r){!0===t||!1===t?e.set(t):e.set(r)}},number:{coerceFunction:function(t,e,r,a){!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,a){t%1||!n(t)||void 0!==a.min&&t<a.min||void 0!==a.max&&t>a.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var a="number"==typeof t;!0!==n.strict&&a?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){a(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every(function(t){return a(t).isValid()})?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(u(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var a=n.regex||c(r);"string"==typeof t&&a.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if("string"==typeof t)if(-1===(n.extras||[]).indexOf(t)){for(var a=t.split("+"),i=0;i<a.length;){var o=a[i];-1===n.flags.indexOf(o)||a.indexOf(o)<i?a.splice(i,1):i++}a.length?e.set(a.join("+")):e.set(r)}else e.set(t);else e.set(r)}},any:{coerceFunction:function(t,e,r){void 0===t?e.set(r):e.set(t)}},info_array:{coerceFunction:function(t,e,n,a){function i(t,e,n){var a,i={set:function(t){a=t}};return void 0===n&&(n=e.dflt),r.valObjectMeta[e.valType].coerceFunction(t,i,n,e),a}var o=2===a.dimensions||"1-2"===a.dimensions&&Array.isArray(t)&&Array.isArray(t[0]);if(Array.isArray(t)){var s,l,c,u,h,f,p=a.items,d=[],g=Array.isArray(p),v=g&&o&&Array.isArray(p[0]),m=o&&g&&!v,y=g&&!m?p.length:t.length;if(n=Array.isArray(n)?n:[],o)for(s=0;s<y;s++)for(d[s]=[],c=Array.isArray(t[s])?t[s]:[],h=m?p.length:g?p[s].length:c.length,l=0;l<h;l++)u=m?p[l]:g?p[s][l]:p,void 0!==(f=i(c[l],u,(n[s]||[])[l]))&&(d[s][l]=f);else for(s=0;s<y;s++)void 0!==(f=i(t[s],g?p[s]:p,n[s]))&&(d[s]=f);e.set(d)}else e.set(n)},validateFunction:function(t,e){if(!Array.isArray(t))return!1;var r=e.items,n=Array.isArray(r),a=2===e.dimensions;if(!e.freeLength&&t.length!==r.length)return!1;for(var i=0;i<t.length;i++)if(a){if(!Array.isArray(t[i])||!e.freeLength&&t[i].length!==r[i].length)return!1;for(var o=0;o<t[i].length;o++)if(!f(t[i][o],n?r[i][o]:r))return!1}else if(!f(t[i],n?r[i]:r))return!1;return!0}}},r.coerce=function(t,e,n,a,i){var o=l(n,a).get(),s=l(t,a),c=l(e,a),u=s.get(),p=e._template;if(void 0===u&&p&&(u=l(p,a).get(),p=0),void 0===i&&(i=o.dflt),o.arrayOk&&h(u))return c.set(u),u;var d=r.valObjectMeta[o.valType].coerceFunction;d(u,c,i,o);var g=c.get();return p&&g===i&&!f(u,o)&&(d(u=l(p,a).get(),c,i,o),g=c.get()),g},r.coerce2=function(t,e,n,a,i){var o=l(t,a),s=r.coerce(t,e,n,a,i),c=o.get();return null!=c&&s},r.coerceFont=function(t,e,r){var n={};return r=r||{},n.family=t(e+".family",r.family),n.size=t(e+".size",r.size),n.color=t(e+".color",r.color),n},r.coerceHoverinfo=function(t,e,n){var a,o=e._module.attributes,s=o.hoverinfo?o:i,l=s.hoverinfo;if(1===n._dataLength){var c="all"===l.dflt?l.flags.slice():l.dflt.split("+");c.splice(c.indexOf("name"),1),a=c.join("+")}return r.coerce(t,e,s,"hoverinfo",a)},r.coerceSelectionMarkerOpacity=function(t,e){if(t.marker){var r,n,a=t.marker.opacity;if(void 0!==a)h(a)||t.selected||t.unselected||(r=a,n=s*a),e("selected.marker.opacity",r),e("unselected.marker.opacity",n)}},r.validate=f},{"../components/colorscale/scales":606,"../constants/interactions":691,"../plots/attributes":761,"./array":699,"./mod":723,"./nested_property":724,"./regex":732,"fast-isnumeric":227,tinycolor2:535}],704:[function(t,e,r){"use strict";var n,a,i=t("d3"),o=t("fast-isnumeric"),s=t("./loggers"),l=t("./mod").mod,c=t("../constants/numerical"),u=c.BADNUM,h=c.ONEDAY,f=c.ONEHOUR,p=c.ONEMIN,d=c.ONESEC,g=c.EPOCHJD,v=t("../registry"),m=i.time.format.utc,y=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\d)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,x=/^\s*(-?\d\d\d\d|\d\d)(-(\d?\di?)(-(\d?\d)([ Tt]([01]?\d|2[0-3])(:([0-5]\d)(:([0-5]\d(\.\d+)?))?(Z|z|[+\-]\d\d:?\d\d)?)?)?)?)?\s*$/m,b=(new Date).getFullYear()-70;function _(t){return t&&v.componentsRegistry.calendars&&"string"==typeof t&&"gregorian"!==t}function w(t,e){return String(t+Math.pow(10,e)).substr(1)}r.dateTick0=function(t,e){return _(t)?e?v.getComponentMethod("calendars","CANONICAL_SUNDAY")[t]:v.getComponentMethod("calendars","CANONICAL_TICK")[t]:e?"2000-01-02":"2000-01-01"},r.dfltRange=function(t){return _(t)?v.getComponentMethod("calendars","DFLTRANGE")[t]:["2000-01-01","2001-01-01"]},r.isJSDate=function(t){return"object"==typeof t&&null!==t&&"function"==typeof t.getTime},r.dateTime2ms=function(t,e){if(r.isJSDate(t)){var i=t.getTimezoneOffset()*p,o=(t.getUTCMinutes()-t.getMinutes())*p+(t.getUTCSeconds()-t.getSeconds())*d+(t.getUTCMilliseconds()-t.getMilliseconds());if(o){var s=3*p;i=i-s/2+l(o-i+s/2,s)}return(t=Number(t)-i)>=n&&t<=a?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=_(e),m=t.charAt(0);!c||"G"!==m&&"g"!==m||(t=t.substr(1),e="");var w=c&&"chinese"===e.substr(0,7),k=t.match(w?x:y);if(!k)return u;var T=k[1],A=k[3]||"1",M=Number(k[5]||1),S=Number(k[7]||0),E=Number(k[9]||0),L=Number(k[11]||0);if(c){if(2===T.length)return u;var C;T=Number(T);try{var P=v.getComponentMethod("calendars","getCal")(e);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(T,P.toMonthIndex(T,A,O),M)}else C=P.newDate(T,Number(A),M)}catch(t){return u}return C?(C.toJD()-g)*h+S*f+E*p+L*d:u}T=2===T.length?(Number(T)+2e3-b)%100+b:Number(T),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(T),z.getUTCMonth()!==A?u:z.getUTCDate()!==M?u:z.getTime()+L*d},n=r.MIN_MS=r.dateTime2ms("-9999"),a=r.MAX_MS=r.dateTime2ms("9999-12-31 23:59:59.9999"),r.isDateTime=function(t,e){return r.dateTime2ms(t,e)!==u};var k=90*h,T=3*f,A=5*p;function M(t,e,r,n,a){if((e||r||n||a)&&(t+=" "+w(e,2)+":"+w(r,2),(n||a)&&(t+=":"+w(n,2),a))){for(var i=4;a%10==0;)i-=1,a/=10;t+="."+w(a,i)}return t}r.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=a))return u;e||(e=0);var i,o,s,c,y,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/h)+g,E=Math.floor(l(t,h));try{i=v.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){i=m("G%Y-%m-%d")(new Date(w))}if("-"===i.charAt(0))for(;i.length<11;)i="-0"+i.substr(1);else for(;i.length<10;)i="0"+i;o=e<k?Math.floor(E/f):0,s=e<k?Math.floor(E%f/p):0,c=e<T?Math.floor(E%p/d):0,y=e<A?E%d*10+b:0}else x=new Date(w),i=m("%Y-%m-%d")(x),o=e<k?x.getUTCHours():0,s=e<k?x.getUTCMinutes():0,c=e<T?x.getUTCSeconds():0,y=e<A?10*x.getUTCMilliseconds()+b:0;return M(i,o,s,c,y)},r.ms2DateTimeLocal=function(t){if(!(t>=n+h&&t<=a-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(i.time.format("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},r.cleanDate=function(t,e,n){if(t===u)return e;if(r.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),e;if(!(t=r.ms2DateTimeLocal(+t))&&void 0!==e)return e}else if(!r.isDateTime(t,n))return s.error("unrecognized date",t),e;return t};var S=/%\d?f/g;function E(t,e,r,n){t=t.replace(S,function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"});var a=new Date(Math.floor(e+.05));if(_(n))try{t=v.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(a)}var L=[59,59.9,59.99,59.999,59.9999];r.formatDate=function(t,e,r,n,a,i){if(a=_(a)&&a,!e)if("y"===r)e=i.year;else if("m"===r)e=i.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var a=(100+Math.min(l(t/d,60),L[e])).toFixed(e).substr(1);e>0&&(a=a.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+a}return n}(t,r)+"\n"+E(i.dayMonthYear,t,n,a);e=i.dayMonth+"\n"+i.year}return E(e,t,n,a)};var C=3*h;r.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var a=Math.round(t/h)+g,i=v.getComponentMethod("calendars","getCal")(r),o=i.fromJD(a);return e%12?i.add(o,e,"m"):i.add(o,e/12,"y"),(o.toJD()-g)*h+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+C);return c.setUTCMonth(c.getUTCMonth()+e)+n-C},r.findExactDates=function(t,e){for(var r,n,a=0,i=0,s=0,l=0,c=_(e)&&v.getComponentMethod("calendars","getCal")(e),u=0;u<t.length;u++)if(n=t[u],o(n)){if(!(n%h))if(c)try{1===(r=c.fromJD(n/h+g)).day()?1===r.month()?a++:i++:s++}catch(t){}else 1===(r=new Date(n)).getUTCDate()?0===r.getUTCMonth()?a++:i++:s++}else l++;s+=i+=a;var f=t.length-l;return{exactYears:a/f,exactMonths:i/f,exactDays:s/f}}},{"../constants/numerical":692,"../registry":845,"./loggers":720,"./mod":723,d3:164,"fast-isnumeric":227}],705:[function(t,e,r){"use strict";var n=t("d3"),a=t("./loggers");function i(t){var e=t&&t.parentNode;e&&e.removeChild(t)}function o(t,e,r){var n="plotly.js-style-"+t,i=document.getElementById(n);i||((i=document.createElement("style")).setAttribute("id",n),i.appendChild(document.createTextNode("")),document.head.appendChild(i));var o=i.sheet;o.insertRule?o.insertRule(e+"{"+r+"}",0):o.addRule?o.addRule(e,r,0):a.warn("addStyleRule failed")}e.exports={getGraphDiv:function(t){var e;if("string"==typeof t){if(null===(e=document.getElementById(t)))throw new Error("No DOM element with id '"+t+"' exists on the page.");return e}if(null==t)throw new Error("DOM element provided is null or undefined");return t},isPlotDiv:function(t){var e=n.select(t);return e.node()instanceof HTMLElement&&e.size()&&e.classed("js-plotly-plot")},removeElement:i,addStyleRule:function(t,e){o("global",t,e)},addRelatedStyleRule:o,deleteRelatedStyleRule:function(t){var e="plotly.js-style-"+t,r=document.getElementById(e);r&&i(r)}}},{"./loggers":720,d3:164}],706:[function(t,e,r){"use strict";var n=t("events").EventEmitter,a={init:function(t){if(t._ev instanceof n)return t;var e=new n,r=new n;return t._ev=e,t._internalEv=r,t.on=e.on.bind(e),t.once=e.once.bind(e),t.removeListener=e.removeListener.bind(e),t.removeAllListeners=e.removeAllListeners.bind(e),t._internalOn=r.on.bind(r),t._internalOnce=r.once.bind(r),t._removeInternalListener=r.removeListener.bind(r),t._removeAllInternalListeners=r.removeAllListeners.bind(r),t.emit=function(n,a){"undefined"!=typeof jQuery&&jQuery(t).trigger(n,a),e.emit(n,a),r.emit(n,a)},t},triggerHandler:function(t,e,r){var n,a;"undefined"!=typeof jQuery&&(n=jQuery(t).triggerHandler(e,r));var i=t._ev;if(!i)return n;var o,s=i._events[e];if(!s)return n;function l(t){return t.listener?(i.removeListener(e,t.listener),t.fired?void 0:(t.fired=!0,t.listener.apply(i,[r]))):t.apply(i,[r])}for(s=Array.isArray(s)?s:[s],o=0;o<s.length-1;o++)l(s[o]);return a=l(s[o]),void 0!==n?n:a},purge:function(t){return delete t._ev,delete t.on,delete t.once,delete t.removeListener,delete t.removeAllListeners,delete t.emit,delete t._ev,delete t._internalEv,delete t._internalOn,delete t._internalOnce,delete t._removeInternalListener,delete t._removeAllInternalListeners,t}};e.exports=a},{events:105}],707:[function(t,e,r){"use strict";var n=t("./is_plain_object.js"),a=Array.isArray;function i(t,e,r,o){var s,l,c,u,h,f,p=t[0],d=t.length;if(2===d&&a(p)&&a(t[1])&&0===p.length){if(function(t,e){var r,n;for(r=0;r<t.length;r++){if(null!==(n=t[r])&&"object"==typeof n)return!1;void 0!==n&&(e[r]=n)}return!0}(t[1],p))return p;p.splice(0,p.length)}for(var g=1;g<d;g++)for(l in s=t[g])c=p[l],u=s[l],o&&a(u)?p[l]=u:e&&u&&(n(u)||(h=a(u)))?(h?(h=!1,f=c&&a(c)?c:[]):f=c&&n(c)?c:{},p[l]=i([f,u],e,r,o)):("undefined"!=typeof u||r)&&(p[l]=u);return p}r.extendFlat=function(){return i(arguments,!1,!1,!1)},r.extendDeep=function(){return i(arguments,!0,!1,!1)},r.extendDeepAll=function(){return i(arguments,!0,!0,!1)},r.extendDeepNoArrays=function(){return i(arguments,!0,!1,!0)}},{"./is_plain_object.js":717}],708:[function(t,e,r){"use strict";e.exports=function(t){for(var e={},r=[],n=0,a=0;a<t.length;a++){var i=t[a];1!==e[i]&&(e[i]=1,r[n++]=i)}return r}},{}],709:[function(t,e,r){"use strict";function n(t){return!0===t.visible}function a(t){var e=t[0].trace;return!0===e.visible&&0!==e._length}e.exports=function(t){for(var e,r=(e=t,Array.isArray(e)&&Array.isArray(e[0])&&e[0][0]&&e[0][0].trace?a:n),i=[],o=0;o<t.length;o++){var s=t[o];r(s)&&i.push(s)}return i}},{}],710:[function(t,e,r){"use strict";var n=t("country-regex"),a=t("../lib"),i=Object.keys(n),o={"ISO-3":a.identity,"USA-states":a.identity,"country names":function(t){for(var e=0;e<i.length;e++){var r=i[e],o=new RegExp(n[r]);if(o.test(t.trim().toLowerCase()))return r}return a.log("Unrecognized country name: "+t+"."),!1}};e.exports={locationToFeature:function(t,e,r){if(!e||"string"!=typeof e)return!1;var n,i,s,l=o[t](e);if(l){if("USA-states"===t)for(n=[],s=0;s<r.length;s++)(i=r[s]).properties&&i.properties.gu&&"USA"===i.properties.gu&&n.push(i);else n=r;for(s=0;s<n.length;s++)if((i=n[s]).id===l)return i;a.log(["Location with id",l,"does not have a matching topojson feature at this resolution."].join(" "))}return!1}}},{"../lib":716,"country-regex":135}],711:[function(t,e,r){"use strict";var n=t("../constants/numerical").BADNUM;r.calcTraceToLineCoords=function(t){for(var e=t[0].trace.connectgaps,r=[],a=[],i=0;i<t.length;i++){var o=t[i].lonlat;o[0]!==n?a.push(o):!e&&a.length>0&&(r.push(a),a=[])}return a.length>0&&r.push(a),r},r.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},r.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r<t.length;r++)e[r]=[t[r]];return{type:"MultiPolygon",coordinates:e}},r.makeBlank=function(){return{type:"Point",coordinates:[]}}},{"../constants/numerical":692}],712:[function(t,e,r){"use strict";var n,a,i,o=t("./mod").mod;function s(t,e,r,n,a,i,o,s){var l=r-t,c=a-t,u=o-a,h=n-e,f=i-e,p=s-i,d=l*p-u*h;if(0===d)return null;var g=(c*p-u*f)/d,v=(c*h-l*f)/d;return v<0||v>1||g<0||g>1?null:{x:t+l*g,y:e+h*g}}function l(t,e,r,n,a){var i=n*t+a*e;if(i<0)return n*n+a*a;if(i>r){var o=n-t,s=a-e;return o*o+s*s}var l=n*e-a*t;return l*l/r}r.segmentsIntersect=s,r.segmentDistance=function(t,e,r,n,a,i,o,c){if(s(t,e,r,n,a,i,o,c))return 0;var u=r-t,h=n-e,f=o-a,p=c-i,d=u*u+h*h,g=f*f+p*p,v=Math.min(l(u,h,d,a-t,i-e),l(u,h,d,o-t,c-e),l(f,p,g,t-a,e-i),l(f,p,g,r-a,n-i));return Math.sqrt(v)},r.getTextLocation=function(t,e,r,s){if(t===a&&s===i||(n={},a=t,i=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},r.clearLocationCache=function(){a=null},r.getVisibleSegment=function(t,e,r){var n,a,i=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(a=r);var c=r.x<i?i-r.x:r.x>o?r.x-o:0,h=r.y<s?s-r.y:r.y>l?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-a.x)<.1&&Math.abs(n.y-a.y)<.1}},r.findPointOnPath=function(t,e,r,n){for(var a,i,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h<c;){if(a=(f+p)/2,o=(i=t.getPointAtLength(a))[r]-e,Math.abs(o)<l)return i;u*o>0?p=a:f=a,h++}return i}},{"./mod":723}],713:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("color-normalize"),o=t("../components/colorscale"),s=t("../components/color/attributes").defaultLine,l=t("./array").isArrayOrTypedArray,c=i(s),u=1;function h(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return c;var e=i(t);return e.length?e:c}function p(t){return n(t)?t:u}e.exports={formatColor:function(t,e,r){var n,a,s,d,g,v=t.color,m=l(v),y=l(e),x=o.extractOpts(t),b=[];if(n=void 0!==x.colorscale?o.makeColorScaleFuncFromTrace(t):f,a=m?function(t,e){return void 0===t[e]?c:i(n(t[e]))}:f,s=y?function(t,e){return void 0===t[e]?u:p(t[e])}:p,m||y)for(var _=0;_<r;_++)d=a(v,_),g=s(e,_),b[_]=h(d,g);else b=h(i(v),e);return b},parseColorScale:function(t,e){void 0===e&&(e=1);var r=o.extractOpts(t);return(r.reversescale?o.flipScale(r.colorscale):r.colorscale).map(function(t){var r=t[0],n=a(t[1]).toRgb();return{index:r,rgb:[n.r,n.g,n.b,e]}})}}},{"../components/color/attributes":590,"../components/colorscale":603,"./array":699,"color-normalize":121,"fast-isnumeric":227,tinycolor2:535}],714:[function(t,e,r){"use strict";var n=t("./identity");function a(t){return[t]}e.exports={keyFun:function(t){return t.key},repeat:a,descend:n,wrap:a,unwrap:function(t){return t[0]}}},{"./identity":715}],715:[function(t,e,r){"use strict";e.exports=function(t){return t}},{}],716:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../constants/numerical"),o=i.FP_SAFE,s=i.BADNUM,l=e.exports={};l.nestedProperty=t("./nested_property"),l.keyedContainer=t("./keyed_container"),l.relativeAttr=t("./relative_attr"),l.isPlainObject=t("./is_plain_object"),l.toLogRange=t("./to_log_range"),l.relinkPrivateKeys=t("./relink_private");var c=t("./array");l.isTypedArray=c.isTypedArray,l.isArrayOrTypedArray=c.isArrayOrTypedArray,l.isArray1D=c.isArray1D,l.ensureArray=c.ensureArray,l.concat=c.concat,l.maxRowLength=c.maxRowLength,l.minRowLength=c.minRowLength;var u=t("./mod");l.mod=u.mod,l.modHalf=u.modHalf;var h=t("./coerce");l.valObjectMeta=h.valObjectMeta,l.coerce=h.coerce,l.coerce2=h.coerce2,l.coerceFont=h.coerceFont,l.coerceHoverinfo=h.coerceHoverinfo,l.coerceSelectionMarkerOpacity=h.coerceSelectionMarkerOpacity,l.validate=h.validate;var f=t("./dates");l.dateTime2ms=f.dateTime2ms,l.isDateTime=f.isDateTime,l.ms2DateTime=f.ms2DateTime,l.ms2DateTimeLocal=f.ms2DateTimeLocal,l.cleanDate=f.cleanDate,l.isJSDate=f.isJSDate,l.formatDate=f.formatDate,l.incrementMonth=f.incrementMonth,l.dateTick0=f.dateTick0,l.dfltRange=f.dfltRange,l.findExactDates=f.findExactDates,l.MIN_MS=f.MIN_MS,l.MAX_MS=f.MAX_MS;var p=t("./search");l.findBin=p.findBin,l.sorterAsc=p.sorterAsc,l.sorterDes=p.sorterDes,l.distinctVals=p.distinctVals,l.roundUp=p.roundUp,l.sort=p.sort,l.findIndexOfMin=p.findIndexOfMin;var d=t("./stats");l.aggNums=d.aggNums,l.len=d.len,l.mean=d.mean,l.median=d.median,l.midRange=d.midRange,l.variance=d.variance,l.stdev=d.stdev,l.interp=d.interp;var g=t("./matrix");l.init2dArray=g.init2dArray,l.transposeRagged=g.transposeRagged,l.dot=g.dot,l.translationMatrix=g.translationMatrix,l.rotationMatrix=g.rotationMatrix,l.rotationXYMatrix=g.rotationXYMatrix,l.apply2DTransform=g.apply2DTransform,l.apply2DTransform2=g.apply2DTransform2;var v=t("./angles");l.deg2rad=v.deg2rad,l.rad2deg=v.rad2deg,l.angleDelta=v.angleDelta,l.angleDist=v.angleDist,l.isFullCircle=v.isFullCircle,l.isAngleInsideSector=v.isAngleInsideSector,l.isPtInsideSector=v.isPtInsideSector,l.pathArc=v.pathArc,l.pathSector=v.pathSector,l.pathAnnulus=v.pathAnnulus;var m=t("./anchor_utils");l.isLeftAnchor=m.isLeftAnchor,l.isCenterAnchor=m.isCenterAnchor,l.isRightAnchor=m.isRightAnchor,l.isTopAnchor=m.isTopAnchor,l.isMiddleAnchor=m.isMiddleAnchor,l.isBottomAnchor=m.isBottomAnchor;var y=t("./geometry2d");l.segmentsIntersect=y.segmentsIntersect,l.segmentDistance=y.segmentDistance,l.getTextLocation=y.getTextLocation,l.clearLocationCache=y.clearLocationCache,l.getVisibleSegment=y.getVisibleSegment,l.findPointOnPath=y.findPointOnPath;var x=t("./extend");l.extendFlat=x.extendFlat,l.extendDeep=x.extendDeep,l.extendDeepAll=x.extendDeepAll,l.extendDeepNoArrays=x.extendDeepNoArrays;var b=t("./loggers");l.log=b.log,l.warn=b.warn,l.error=b.error;var _=t("./regex");l.counterRegex=_.counter;var w=t("./throttle");l.throttle=w.throttle,l.throttleDone=w.done,l.clearThrottle=w.clear;var k=t("./dom");function T(t){var e={};for(var r in t)for(var n=t[r],a=0;a<n.length;a++)e[n[a]]=+r;return e}l.getGraphDiv=k.getGraphDiv,l.isPlotDiv=k.isPlotDiv,l.removeElement=k.removeElement,l.addStyleRule=k.addStyleRule,l.addRelatedStyleRule=k.addRelatedStyleRule,l.deleteRelatedStyleRule=k.deleteRelatedStyleRule,l.clearResponsive=t("./clear_responsive"),l.makeTraceGroups=t("./make_trace_groups"),l._=t("./localize"),l.notifier=t("./notifier"),l.filterUnique=t("./filter_unique"),l.filterVisible=t("./filter_visible"),l.pushUnique=t("./push_unique"),l.cleanNumber=t("./clean_number"),l.ensureNumber=function(t){return a(t)?(t=Number(t))<-o||t>o?s:a(t)?Number(t):s:s},l.isIndex=function(t,e){return!(void 0!==e&&t>=e)&&(a(t)&&t>=0&&t%1==0)},l.noop=t("./noop"),l.identity=t("./identity"),l.repeat=function(t,e){for(var r=new Array(e),n=0;n<e;n++)r[n]=t;return r},l.swapAttrs=function(t,e,r,n){r||(r="x"),n||(n="y");for(var a=0;a<e.length;a++){var i=e[a],o=l.nestedProperty(t,i.replace("?",r)),s=l.nestedProperty(t,i.replace("?",n)),c=o.get();o.set(s.get()),s.set(c)}},l.raiseToTop=function(t){t.parentNode.appendChild(t)},l.cancelTransition=function(t){return t.transition().duration(0)},l.constrain=function(t,e,r){return e>r?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},l.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},l.simpleMap=function(t,e,r,n){for(var a=t.length,i=new Array(a),o=0;o<a;o++)i[o]=e(t[o],r,n);return i},l.randstr=function t(e,r,n,a){if(n||(n=16),void 0===r&&(r=24),r<=0)return"0";var i,o,s=Math.log(Math.pow(2,r))/Math.log(n),c="";for(i=2;s===1/0;i*=2)s=Math.log(Math.pow(2,r/i))/Math.log(n)*i;var u=s-Math.floor(s);for(i=0;i<Math.floor(s);i++)c=Math.floor(Math.random()*n).toString(n)+c;u&&(o=Math.pow(n,u),c=Math.floor(Math.random()*o).toString(n)+c);var h=parseInt(c,n);return e&&e[c]||h!==1/0&&h>=Math.pow(2,r)?a>10?(l.warn("randstr failed uniqueness"),c):t(e,r,n,(a||0)+1):c},l.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},l.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,a,i,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r<l;r++)c[r]=(1-Math.cos(Math.PI*(r+1)/e))/(2*e);for(r=0;r<o;r++){for(i=0,n=0;n<l;n++)(a=r+n+1-e)<-o?a-=s*Math.round(a/s):a>=s&&(a-=s*Math.floor(a/s)),a<0?a=-1-a:a>=o&&(a=s-1-a),i+=t[a]*c[n];u[r]=i}return u},l.syncOrAsync=function(t,e,r){var n;function a(){return l.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(a).then(void 0,l.promiseError);return r&&r(e)},l.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},l.noneOrAll=function(t,e,r){if(t){var n,a=!1,i=!0;for(n=0;n<r.length;n++)null!=t[r[n]]?a=!0:i=!1;if(a&&!i)for(n=0;n<r.length;n++)t[r[n]]=e[r[n]]}},l.mergeArray=function(t,e,r,n){var a="function"==typeof n;if(l.isArrayOrTypedArray(t))for(var i=Math.min(t.length,e.length),o=0;o<i;o++){var s=t[o];e[o][r]=a?n(s):s}},l.mergeArrayCastPositive=function(t,e,r){return l.mergeArray(t,e,r,function(t){var e=+t;return isFinite(e)&&e>0?e:0})},l.fillArray=function(t,e,r,n){if(n=n||l.identity,l.isArrayOrTypedArray(t))for(var a=0;a<e.length;a++)e[a][r]=n(t[a])},l.castOption=function(t,e,r,n){n=n||l.identity;var a=l.nestedProperty(t,r).get();return l.isArrayOrTypedArray(a)?Array.isArray(e)&&l.isArrayOrTypedArray(a[e[0]])?n(a[e[0]][e[1]]):n(a[e]):a},l.extractOption=function(t,e,r,n){if(r in t)return t[r];var a=l.nestedProperty(e,n).get();return Array.isArray(a)?void 0:a},l.tagSelected=function(t,e,r){var n,a,i=e.selectedpoints,o=e._indexToPoints;o&&(n=T(o));for(var s=0;s<i.length;s++){var c=i[s];if(l.isIndex(c)){var u=n?n[c]:c,h=r?r[u]:u;void 0!==(a=h)&&a<t.length&&(t[h].selected=1)}}},l.selIndices2selPoints=function(t){var e=t.selectedpoints,r=t._indexToPoints;if(r){for(var n=T(r),a=[],i=0;i<e.length;i++){var o=e[i];if(l.isIndex(o)){var s=n[o];l.isIndex(s)&&a.push(s)}}return a}return e},l.getTargetArray=function(t,e){var r=e.target;if("string"==typeof r&&r){var n=l.nestedProperty(t,r).get();return!!Array.isArray(n)&&n}return!!Array.isArray(r)&&r},l.minExtend=function(t,e){var r={};"object"!=typeof e&&(e={});var n,a,i,o=Object.keys(t);for(n=0;n<o.length;n++)i=t[a=o[n]],"_"!==a.charAt(0)&&"function"!=typeof i&&("module"===a?r[a]=i:Array.isArray(i)?r[a]="colorscale"===a?i.slice():i.slice(0,3):l.isTypedArray(i)?r[a]=i.subarray(0,3):r[a]=i&&"object"==typeof i?l.minExtend(t[a],e[a]):i);for(o=Object.keys(e),n=0;n<o.length;n++)"object"==typeof(i=e[a=o[n]])&&a in r&&"object"==typeof r[a]||(r[a]=i);return r},l.titleCase=function(t){return t.charAt(0).toUpperCase()+t.substr(1)},l.containsAny=function(t,e){for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r]))return!0;return!1},l.isIE=function(){return"undefined"!=typeof window.navigator.msSaveBlob};var A=/MSIE [1-9]\./;l.isIE9orBelow=function(){return l.isIE()&&A.test(window.navigator.userAgent)};var M=/Version\/[\d\.]+.*Safari/;l.isSafari=function(){return M.test(window.navigator.userAgent)},l.isD3Selection=function(t){return t&&"function"==typeof t.classed},l.ensureSingle=function(t,e,r,n){var a=t.select(e+(r?"."+r:""));if(a.size())return a;var i=t.append(e);return r&&i.classed(r,!0),n&&i.call(n),i},l.ensureSingleById=function(t,e,r,n){var a=t.select(e+"#"+r);if(a.size())return a;var i=t.append(e).attr("id",r);return n&&i.call(n),i},l.objectFromPath=function(t,e){for(var r,n=t.split("."),a=r={},i=0;i<n.length;i++){var o=n[i],s=null,l=n[i].match(/(.*)\[([0-9]+)\]/);l?(o=l[1],s=l[2],r=r[o]=[],i===n.length-1?r[s]=e:r[s]={},r=r[s]):(i===n.length-1?r[o]=e:r[o]={},r=r[o])}return a};var S=/^([^\[\.]+)\.(.+)?/,E=/^([^\.]+)\[([0-9]+)\](\.)?(.+)?/;l.expandObjectPaths=function(t){var e,r,n,a,i,o,s;if("object"==typeof t&&!Array.isArray(t))for(r in t)t.hasOwnProperty(r)&&((e=r.match(S))?(a=t[r],n=e[1],delete t[r],t[n]=l.extendDeepNoArrays(t[n]||{},l.objectFromPath(r,l.expandObjectPaths(a))[n])):(e=r.match(E))?(a=t[r],n=e[1],i=parseInt(e[2]),delete t[r],t[n]=t[n]||[],"."===e[3]?(s=e[4],o=t[n][i]=t[n][i]||{},l.extendDeepNoArrays(o,l.objectFromPath(s,l.expandObjectPaths(a)))):t[n][i]=l.expandObjectPaths(a)):t[r]=l.expandObjectPaths(t[r]));return t},l.numSeparate=function(t,e,r){if(r||(r=!1),"string"!=typeof e||0===e.length)throw new Error("Separator string required for formatting!");"number"==typeof t&&(t=String(t));var n=/(\d+)(\d{3})/,a=e.charAt(0),i=e.charAt(1),o=t.split("."),s=o[0],l=o.length>1?a+o[1]:"";if(i&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+i+"$2");return s+l},l.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var L=/^\w*$/;l.templateString=function(t,e){var r={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,n){return L.test(n)?e[n]||"":(r[n]=r[n]||l.nestedProperty(e,n).get,r[n]()||"")})};var C={max:10,count:0,name:"hovertemplate"};l.hovertemplateString=function(){return z.apply(C,arguments)};var P={max:10,count:0,name:"texttemplate"};l.texttemplateString=function(){return z.apply(P,arguments)};var O=/^[:|\|]/;function z(t,e,r){var a=this,i=arguments;e||(e={});var o={};return t.replace(l.TEMPLATE_STRING_REGEX,function(t,s,c){var u,h,f,p;for(f=3;f<i.length;f++)if(u=i[f]){if(u.hasOwnProperty(s)){h=u[s];break}if(L.test(s)||(h=o[s]||l.nestedProperty(u,s).get())&&(o[s]=h),void 0!==h)break}if(void 0===h&&a)return a.count<a.max&&(l.warn("Variable '"+s+"' in "+a.name+" could not be found!"),h=t),a.count===a.max&&l.warn("Too many "+a.name+" warnings - additional warnings will be suppressed"),a.count++,t;if(c){if(":"===c[0]&&(h=(p=r?r.numberFormat:n.format)(c.replace(O,""))(h)),"|"===c[0]){p=r?r.timeFormat.utc:n.time.format.utc;var d=l.dateTime2ms(h);h=l.formatDate(d,c.replace(O,""),!1,p)}}else e.hasOwnProperty(s+"Label")&&(h=e[s+"Label"]);return h})}l.subplotSort=function(t,e){for(var r=Math.min(t.length,e.length)+1,n=0,a=0,i=0;i<r;i++){var o=t.charCodeAt(i)||0,s=e.charCodeAt(i)||0,l=o>=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(a=10*a+s-48),!l||!c){if(n!==a)return n-a;if(o!==s)return o-s}}return a-n};var I=2e9;l.seedPseudoRandom=function(){I=2e9},l.pseudoRandom=function(){var t=I;return I=(69069*I+1)%4294967296,Math.abs(I-t)<429496729?l.pseudoRandom():I/4294967296},l.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},a=l.extractOption(t,e,"htx","hovertext");if(l.isValidTextValue(a))return n(a);var i=l.extractOption(t,e,"tx","text");return l.isValidTextValue(i)?n(i):void 0},l.isValidTextValue=function(t){return t||0===t},l.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n<e;n++)-1!==r.indexOf(".")&&(r=(r=r.replace("0%","%")).replace(".%","%"));return r},l.isHidden=function(t){var e=window.getComputedStyle(t).display;return!e||"none"===e},l.getTextTransform=function(t){var e,r=t.textX,n=t.textY,a=t.targetX,i=t.targetY,o=t.scale,s=t.rotate;return o<1?e="scale("+o+") ":(o=1,e=""),"translate("+(a-o*r)+" "+(i-o*n)+")"+e+(s?"rotate("+s+" "+r+" "+n+") ":"")}},{"../constants/numerical":692,"./anchor_utils":697,"./angles":698,"./array":699,"./clean_number":700,"./clear_responsive":702,"./coerce":703,"./dates":704,"./dom":705,"./extend":707,"./filter_unique":708,"./filter_visible":709,"./geometry2d":712,"./identity":715,"./is_plain_object":717,"./keyed_container":718,"./localize":719,"./loggers":720,"./make_trace_groups":721,"./matrix":722,"./mod":723,"./nested_property":724,"./noop":725,"./notifier":726,"./push_unique":730,"./regex":732,"./relative_attr":733,"./relink_private":734,"./search":735,"./stats":738,"./throttle":741,"./to_log_range":742,d3:164,"fast-isnumeric":227}],717:[function(t,e,r){"use strict";e.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t)===Object.prototype}},{}],718:[function(t,e,r){"use strict";var n=t("./nested_property"),a=/^\w*$/;e.exports=function(t,e,r,i){var o,s,l;r=r||"name",i=i||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o<s.length;o++)u[s[o][r]]=o;var h=a.test(i),f={set:function(t,e){var a=null===e?4:0;if(!s){if(!l||4===a)return;s=[],l.set(s)}var o=u[t];if(void 0===o){if(4===a)return;a|=3,o=s.length,u[t]=o}else e!==(h?s[o][i]:n(s[o],i).get())&&(a|=2);var p=s[o]=s[o]||{};return p[r]=t,h?p[i]=e:n(p,i).set(e),null!==e&&(a&=-5),c[o]=c[o]|a,f},get:function(t){if(s){var e=u[t];return void 0===e?void 0:h?s[e][i]:n(s[e],i).get()}},rename:function(t,e){var n=u[t];return void 0===n?f:(c[n]=1|c[n],u[e]=n,delete u[t],s[n][r]=e,f)},remove:function(t){var e=u[t];if(void 0===e)return f;var a=s[e];if(Object.keys(a).length>2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o<s.length;o++)c[o]=3|c[o];for(o=e;o<s.length;o++)u[s[o][r]]--;s.splice(e,1),delete u[t]}else n(a,i).set(null),c[e]=6|c[e];return f},constructUpdate:function(){for(var t,a,o={},l=Object.keys(c),u=0;u<l.length;u++)a=l[u],t=e+"["+a+"]",s[a]?(1&c[a]&&(o[t+"."+r]=s[a][r]),2&c[a]&&(o[t+"."+i]=h?4&c[a]?null:s[a][i]:4&c[a]?null:n(s[a],i).get())):o[t]=null;return o}};return f}},{"./nested_property":724}],719:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t,e){for(var r=t._context.locale,a=0;a<2;a++){for(var i=t._context.locales,o=0;o<2;o++){var s=(i[r]||{}).dictionary;if(s){var l=s[e];if(l)return l}i=n.localeRegistry}var c=r.split("-")[0];if(c===r)break;r=c}return e}},{"../registry":845}],720:[function(t,e,r){"use strict";var n=t("../plot_api/plot_config").dfltConfig,a=e.exports={};function i(t,e){if(t&&t.apply)try{return void t.apply(console,e)}catch(t){}for(var r=0;r<e.length;r++)try{t(e[r])}catch(t){console.log(e[r])}}a.log=function(){if(n.logging>1){for(var t=["LOG:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.trace||console.log,t)}},a.warn=function(){if(n.logging>0){for(var t=["WARN:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.trace||console.log,t)}},a.error=function(){if(n.logging>0){for(var t=["ERROR:"],e=0;e<arguments.length;e++)t.push(arguments[e]);i(console.error,t)}}},{"../plot_api/plot_config":752}],721:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t,e,r){var a=t.selectAll("g."+r.replace(/\s/g,".")).data(e,function(t){return t[0].trace.uid});a.exit().remove(),a.enter().append("g").attr("class",r),a.order();var i=t.classed("rangeplot")?"nodeRangePlot3":"node3";return a.each(function(t){t[0][i]=n.select(this)}),a}},{d3:164}],722:[function(t,e,r){"use strict";r.init2dArray=function(t,e){for(var r=new Array(t),n=0;n<t;n++)r[n]=new Array(e);return r},r.transposeRagged=function(t){var e,r,n=0,a=t.length;for(e=0;e<a;e++)n=Math.max(n,t[e].length);var i=new Array(n);for(e=0;e<n;e++)for(i[e]=new Array(a),r=0;r<a;r++)i[e][r]=t[r][e];return i},r.dot=function(t,e){if(!t.length||!e.length||t.length!==e.length)return null;var n,a,i=t.length;if(t[0].length)for(n=new Array(i),a=0;a<i;a++)n[a]=r.dot(t[a],e);else if(e[0].length){var o=r.transposeRagged(e);for(n=new Array(o.length),a=0;a<o.length;a++)n[a]=r.dot(t,o[a])}else for(n=0,a=0;a<i;a++)n+=t[a]*e[a];return n},r.translationMatrix=function(t,e){return[[1,0,t],[0,1,e],[0,0,1]]},r.rotationMatrix=function(t){var e=t*Math.PI/180;return[[Math.cos(e),-Math.sin(e),0],[Math.sin(e),Math.cos(e),0],[0,0,1]]},r.rotationXYMatrix=function(t,e,n){return r.dot(r.dot(r.translationMatrix(e,n),r.rotationMatrix(t)),r.translationMatrix(-e,-n))},r.apply2DTransform=function(t){return function(){var e=arguments;3===e.length&&(e=e[0]);var n=1===arguments.length?e[0]:[e[0],e[1]];return r.dot(t,[n[0],n[1],1]).slice(0,2)}},r.apply2DTransform2=function(t){var e=r.apply2DTransform(t);return function(t){return e(t.slice(0,2)).concat(e(t.slice(2,4)))}}},{}],723:[function(t,e,r){"use strict";e.exports={mod:function(t,e){var r=t%e;return r<0?r+e:r},modHalf:function(t,e){return Math.abs(t)>e/2?t-Math.round(t/e)*e:t}}},{}],724:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;e.exports=function(t,e){if(n(e))e=String(e);else if("string"!=typeof e||"[-1]"===e.substr(e.length-4))throw"bad property string";for(var r,i,o,l=0,c=e.split(".");l<c.length;){if(r=String(c[l]).match(/^([^\[\]]*)((\[\-?[0-9]*\])+)$/)){if(r[1])c[l]=r[1];else{if(0!==l)throw"bad property string";c.splice(0,1)}for(i=r[2].substr(1,r[2].length-2).split("]["),o=0;o<i.length;o++)l++,c.splice(l,0,Number(i[o]))}l++}return"object"!=typeof t?function(t,e,r){return{set:function(){throw"bad container"},get:function(){},astr:e,parts:r,obj:t}}(t,e,c):{set:s(t,c,e),get:function t(e,r){return function(){var n,i,o,s,l,c=e;for(s=0;s<r.length-1;s++){if(-1===(n=r[s])){for(i=!0,o=[],l=0;l<c.length;l++)o[l]=t(c[l],r.slice(s+1))(),o[l]!==o[0]&&(i=!1);return i?o[0]:o}if("number"==typeof n&&!a(c))return;if("object"!=typeof(c=c[n])||null===c)return}if("object"==typeof c&&null!==c&&null!==(o=c[r[s]]))return o}}(t,c),astr:e,parts:c,obj:t}};var i=/(^|\.)args\[/;function o(t,e){return void 0===t||null===t&&!e.match(i)}function s(t,e,r){return function(n){var i,s,h=t,f="",p=[[t,f]],d=o(n,r);for(s=0;s<e.length-1;s++){if("number"==typeof(i=e[s])&&!a(h))throw"array index but container is not an array";if(-1===i){if(d=!c(h,e.slice(s+1),n,r))break;return}if(!u(h,i,e[s+1],d))break;if("object"!=typeof(h=h[i])||null===h)throw"container is not an object";f=l(f,i),p.push([h,f])}if(d){if(s===e.length-1&&(delete h[e[s]],Array.isArray(h)&&+e[s]==h.length-1))for(;h.length&&void 0===h[h.length-1];)h.pop()}else h[e[s]]=n}}function l(t,e){var r=e;return n(e)?r="["+e+"]":t&&(r="."+e),t+r}function c(t,e,r,n){var i,l=a(r),c=!0,h=r,f=n.replace("-1",0),p=!l&&o(r,f),d=e[0];for(i=0;i<t.length;i++)f=n.replace("-1",i),l&&(p=o(h=r[i%r.length],f)),p&&(c=!1),u(t,i,d,p)&&s(t[i],e,n.replace("-1",i))(h);return c}function u(t,e,r,n){if(void 0===t[e]){if(n)return!1;t[e]="number"==typeof r?[]:{}}return!0}},{"./array":699,"fast-isnumeric":227}],725:[function(t,e,r){"use strict";e.exports=function(){}},{}],726:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=[];e.exports=function(t,e){if(-1===i.indexOf(t)){i.push(t);var r=1e3;a(e)?r=e:"long"===e&&(r=3e3);var o=n.select("body").selectAll(".plotly-notifier").data([0]);o.enter().append("div").classed("plotly-notifier",!0),o.selectAll(".notifier-note").data(i).enter().append("div").classed("notifier-note",!0).style("opacity",0).each(function(t){var e=n.select(this);e.append("button").classed("notifier-close",!0).html("&times;").on("click",function(){e.transition().call(s)});for(var a=e.append("p"),i=t.split(/<br\s*\/?>/g),o=0;o<i.length;o++)o&&a.append("br"),a.append("span").text(i[o]);e.transition().duration(700).style("opacity",1).transition().delay(r).call(s)})}function s(t){t.duration(700).style("opacity",0).each("end",function(t){var e=i.indexOf(t);-1!==e&&i.splice(e,1),n.select(this).remove()})}}},{d3:164,"fast-isnumeric":227}],727:[function(t,e,r){"use strict";var n=t("./setcursor"),a="data-savedcursor";e.exports=function(t,e){var r=t.attr(a);if(e){if(!r){for(var i=(t.attr("class")||"").split(" "),o=0;o<i.length;o++){var s=i[o];0===s.indexOf("cursor-")&&t.attr(a,s.substr(7)).classed(s,!1)}t.attr(a)||t.attr(a,"!!")}n(t,e)}else r&&(t.attr(a,null),"!!"===r?n(t):n(t,r))}},{"./setcursor":736}],728:[function(t,e,r){"use strict";var n=t("./matrix").dot,a=t("../constants/numerical").BADNUM,i=e.exports={};i.tester=function(t){var e,r=t.slice(),n=r[0][0],i=n,o=r[0][1],s=o;for(r.push(r[0]),e=1;e<r.length;e++)n=Math.min(n,r[e][0]),i=Math.max(i,r[e][0]),o=Math.min(o,r[e][1]),s=Math.max(s,r[e][1]);var l,c=!1;5===r.length&&(r[0][0]===r[1][0]?r[2][0]===r[3][0]&&r[0][1]===r[3][1]&&r[1][1]===r[2][1]&&(c=!0,l=function(t){return t[0]===r[0][0]}):r[0][1]===r[1][1]&&r[2][1]===r[3][1]&&r[0][0]===r[3][0]&&r[1][0]===r[2][0]&&(c=!0,l=function(t){return t[1]===r[0][1]}));var u=!0,h=r[0];for(e=1;e<r.length;e++)if(h[0]!==r[e][0]||h[1]!==r[e][1]){u=!1;break}return{xmin:n,xmax:i,ymin:o,ymax:s,pts:r,contains:c?function(t,e){var r=t[0],c=t[1];return!(r===a||r<n||r>i||c===a||c<o||c>s||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===a||l<n||l>i||c===a||c<o||c>s)return!1;var u,h,f,p,d,g=r.length,v=r[0][0],m=r[0][1],y=0;for(u=1;u<g;u++)if(h=v,f=m,v=r[u][0],m=r[u][1],!(l<(p=Math.min(h,v))||l>Math.max(h,v)||c>Math.max(f,m)))if(c<Math.min(f,m))l!==p&&y++;else{if(c===(d=v===h?c:f+(l-h)*(m-f)/(v-h)))return 1!==u||!e;c<=d&&l!==p&&y++}return y%2==1},isRect:c,degenerate:u}},i.isSegmentBent=function(t,e,r,a){var i,o,s,l=t[e],c=[t[r][0]-l[0],t[r][1]-l[1]],u=n(c,c),h=Math.sqrt(u),f=[-c[1]/h,c[0]/h];for(i=e+1;i<r;i++)if(o=[t[i][0]-l[0],t[i][1]-l[1]],(s=n(o,c))<0||s>u||Math.abs(n(o,f))>a)return!0;return!1},i.filter=function(t,e){var r=[t[0]],n=0,a=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(a+1);for(var c=l+1;c<t.length;c++)(c===t.length-1||i.isSegmentBent(t,l,c+1,e))&&(r.push(t[c]),r.length<s-2&&(n=c,a=r.length-1),l=c)}t.length>1&&o(t.pop());return{addPt:o,raw:t,filtered:r}}},{"../constants/numerical":692,"./matrix":722}],729:[function(t,e,r){(function(r){"use strict";var n=t("./show_no_webgl_msg"),a=t("regl");e.exports=function(t,e){var i=t._fullLayout,o=!0;return i._glcanvas.each(function(n){if(!n.regl&&(!n.pick||i._has("parcoords"))){try{n.regl=a({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.devicePixelRatio,extensions:e||[]})}catch(t){o=!1}o&&this.addEventListener("webglcontextlost",function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})},!1)}}),o||n({container:i._glcontainer.node()}),o}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./show_no_webgl_msg":737,regl:500}],730:[function(t,e,r){"use strict";e.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;n<t.length;n++)if(t[n]instanceof RegExp&&t[n].toString()===r)return t;t.push(e)}else!e&&0!==e||-1!==t.indexOf(e)||t.push(e);return t}},{}],731:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_config").dfltConfig;var i={add:function(t,e,r,n,i){var o,s;t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},s=t.undoQueue.index,t.autoplay?t.undoQueue.inSequence||(t.autoplay=!1):(!t.undoQueue.sequence||t.undoQueue.beginSequence?(o={undo:{calls:[],args:[]},redo:{calls:[],args:[]}},t.undoQueue.queue.splice(s,t.undoQueue.queue.length-s,o),t.undoQueue.index+=1):o=t.undoQueue.queue[s-1],t.undoQueue.beginSequence=!1,o&&(o.undo.calls.unshift(e),o.undo.args.unshift(r),o.redo.calls.push(n),o.redo.args.push(i)),t.undoQueue.queue.length>a.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.undo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.undo.calls.length;r++)i.plotDo(t,e.undo.calls[r],e.undo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1}},redo:function(t){var e,r;if(t.framework&&t.framework.isPolar)t.framework.redo();else if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index>=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r<e.redo.calls.length;r++)i.plotDo(t,e.redo.calls[r],e.redo.args[r]);t.undoQueue.inSequence=!1,t.autoplay=!1,t.undoQueue.index++}}};i.plotDo=function(t,e,r){t.autoplay=!0,r=function(t,e){for(var r,a=[],i=0;i<e.length;i++)r=e[i],a[i]=r===t?r:"object"==typeof r?Array.isArray(r)?n.extendDeep([],r):n.extendDeepAll({},r):r;return a}(t,r),e.apply(null,r)},e.exports=i},{"../lib":716,"../plot_api/plot_config":752}],732:[function(t,e,r){"use strict";r.counter=function(t,e,r,n){var a=(e||"")+(r?"":"$"),i=!1===n?"":"^";return"xy"===t?new RegExp(i+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+a):new RegExp(i+t+"([2-9]|[1-9][0-9]+)?"+a)}},{}],733:[function(t,e,r){"use strict";var n=/^(.*)(\.[^\.\[\]]+|\[\d\])$/,a=/^[^\.\[\]]+$/;e.exports=function(t,e){for(;e;){var r=t.match(n);if(r)t=r[1];else{if(!t.match(a))throw new Error("bad relativeAttr call:"+[t,e]);t=""}if("^"!==e.charAt(0))break;e=e.slice(1)}return t&&"["!==e.charAt(0)?t+"."+e:t+e}},{}],734:[function(t,e,r){"use strict";var n=t("./array").isArrayOrTypedArray,a=t("./is_plain_object");e.exports=function t(e,r){for(var i in r){var o=r[i],s=e[i];if(s!==o)if("_"===i.charAt(0)||"function"==typeof o){if(i in e)continue;e[i]=o}else if(n(o)&&n(s)&&a(o[0])){if("customdata"===i||"ids"===i)continue;for(var l=Math.min(o.length,s.length),c=0;c<l;c++)s[c]!==o[c]&&a(o[c])&&a(s[c])&&t(s[c],o[c])}else a(o)&&a(s)&&(t(s,o),Object.keys(s).length||delete e[i])}}},{"./array":699,"./is_plain_object":717}],735:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./loggers"),i=t("./identity");function o(t,e){return t<e}function s(t,e){return t<=e}function l(t,e){return t>e}function c(t,e){return t>=e}r.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-1e-9)-1:Math.floor((t-e.start)/e.size+1e-9);var i,u,h=0,f=e.length,p=0,d=f>1?(e[f-1]-e[0])/(f-1):1;for(u=d>=0?r?o:s:r?c:l,t+=1e-9*d*(r?-1:1)*(d>=0?1:-1);h<f&&p++<100;)u(e[i=Math.floor((h+f)/2)],t)?h=i+1:f=i;return p>90&&a.log("Long binary search..."),h-1},r.sorterAsc=function(t,e){return t-e},r.sorterDes=function(t,e){return e-t},r.distinctVals=function(t){var e=t.slice();e.sort(r.sorterAsc);for(var n=e.length-1,a=e[n]-e[0]||1,i=a/(n||1)/1e4,o=[e[0]],s=0;s<n;s++)e[s+1]>e[s]+i&&(a=Math.min(a,e[s+1]-e[s]),o.push(e[s+1]));return{vals:o,minDiff:a}},r.roundUp=function(t,e,r){for(var n,a=0,i=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;a<i&&o++<100;)e[n=c((a+i)/2)]<=t?a=n+s:i=n-l;return e[a]},r.sort=function(t,e){for(var r=0,n=0,a=1;a<t.length;a++){var i=e(t[a],t[a-1]);if(i<0?r=1:i>0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},r.findIndexOfMin=function(t,e){e=e||i;for(var r,n=1/0,a=0;a<t.length;a++){var o=e(t[a]);o<n&&(n=o,r=a)}return r}},{"./identity":715,"./loggers":720,"fast-isnumeric":227}],736:[function(t,e,r){"use strict";e.exports=function(t,e){(t.attr("class")||"").split(" ").forEach(function(e){0===e.indexOf("cursor-")&&t.classed(e,!1)}),e&&t.classed("cursor-"+e,!0)}},{}],737:[function(t,e,r){"use strict";var n=t("../components/color"),a=function(){};e.exports=function(t){for(var e in t)"function"==typeof t[e]&&(t[e]=a);t.destroy=function(){t.container.parentNode.removeChild(t.container)};var r=document.createElement("div");r.className="no-webgl",r.style.cursor="pointer",r.style.fontSize="24px",r.style.color=n.defaults[0],r.style.position="absolute",r.style.left=r.style.top="0px",r.style.width=r.style.height="100%",r.style["background-color"]=n.lightLine,r.style["z-index"]=30;var i=document.createElement("p");return i.textContent="WebGL is not supported by your browser - visit https://get.webgl.org for more info",i.style.position="relative",i.style.top="50%",i.style.left="50%",i.style.height="30%",i.style.width="50%",i.style.margin="-15% 0 0 -25%",r.appendChild(i),t.container.appendChild(r),t.container.style.background="#FFFFFF",t.container.onclick=function(){window.open("https://get.webgl.org")},!1}},{"../components/color":591}],738:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./array").isArrayOrTypedArray;r.aggNums=function(t,e,i,o){var s,l;if((!o||o>i.length)&&(o=i.length),n(e)||(e=!1),a(i[0])){for(l=new Array(o),s=0;s<o;s++)l[s]=r.aggNums(t,e,i[s]);i=l}for(s=0;s<o;s++)n(e)?n(i[s])&&(e=t(+e,+i[s])):e=i[s];return e},r.len=function(t){return r.aggNums(function(t){return t+1},0,t)},r.mean=function(t,e){return e||(e=r.len(t)),r.aggNums(function(t,e){return t+e},0,t)/e},r.midRange=function(t){if(void 0!==t&&0!==t.length)return(r.aggNums(Math.max,null,t)+r.aggNums(Math.min,null,t))/2},r.variance=function(t,e,a){return e||(e=r.len(t)),n(a)||(a=r.mean(t,e)),r.aggNums(function(t,e){return t+Math.pow(e-a,2)},0,t)/e},r.stdev=function(t,e,n){return Math.sqrt(r.variance(t,e,n))},r.median=function(t){var e=t.slice().sort();return r.interp(e,.5)},r.interp=function(t,e){if(!n(e))throw"n should be a finite number";if((e=e*t.length-.5)<0)return t[0];if(e>t.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},{"./array":699,"fast-isnumeric":227}],739:[function(t,e,r){"use strict";var n=t("color-normalize");e.exports=function(t){return t?n(t):[0,0,0,1]}},{"color-normalize":121}],740:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../constants/xmlns_namespaces"),o=t("../constants/alignment").LINE_SPACING;function s(t,e){return t.node().getBoundingClientRect()[e]}var l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;r.convertToTspans=function(t,e,M){var S=t.text(),L=!t.attr("data-notex")&&"undefined"!=typeof MathJax&&S.match(l),C=n.select(t.node().parentNode);if(!C.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),L?(e&&e._promises||[]).push(new Promise(function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),i={fontSize:r};!function(t,e,r){var i,o,s,l;MathJax.Hub.Queue(function(){return o=a.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]]},displayAlign:"left"})},function(){if("SVG"!==(i=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")},function(){var r="math-output-"+a.randstr({},64);return l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute"}).style({"font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt ")),MathJax.Hub.Typeset(l.node())},function(){var e=n.select("body").select("#MathJax_SVG_glyphs");if(l.select(".MathJax_SVG").empty()||!l.select("svg").node())a.log("There was an error in the tex syntax.",t),r();else{var o=l.select("svg").node().getBoundingClientRect();r(l.select(".MathJax_SVG"),e,o)}if(l.remove(),"SVG"!==i)return MathJax.Hub.setRenderer(i)},function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})}(L[2],i,function(n,a,i){C.selectAll("svg."+P).remove(),C.selectAll("g."+P+"-group").remove();var o=n&&n.select("svg");if(!o||!o.node())return O(),void e();var l=C.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(o.node()),a&&a.node()&&o.node().insertBefore(a.node().cloneNode(!0),o.node().firstChild),o.attr({class:P,height:i.height,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var c=t.node().style.fill||"black",u=o.select("g");u.attr({fill:c,stroke:c});var h=s(u,"width"),f=s(u,"height"),p=+t.attr("x")-h*{start:0,middle:.5,end:1}[t.attr("text-anchor")||"start"],d=-(r||s(t,"height"))/4;"y"===P[0]?(l.attr({transform:"rotate("+[-90,+t.attr("x"),+t.attr("y")]+") translate("+[-h/2,d-f/2]+")"}),o.attr({x:+t.attr("x"),y:+t.attr("y")})):"l"===P[0]?o.attr({x:t.attr("x"),y:d-f/2}):"a"===P[0]&&0!==P.indexOf("atitle")?o.attr({x:0,y:d}):o.attr({x:p,y:+t.attr("y")+d-f/2}),M&&M.call(t,l),e(l)})})):O(),t}function O(){C.empty()||(P=t.attr("class")+"-math",C.select("svg."+P).remove()),t.text("").style("white-space","pre"),function(t,e){e=e.replace(v," ");var r,s=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(i.svg,"tspan");n.select(e).attr({class:"line",dy:c*o+"em"}),t.appendChild(e),r=e;var a=l;if(l=[{node:e}],a.length>1)for(var s=1;s<a.length;s++)M(a[s])}function M(t){var e,a=t.type,o={};if("a"===a){e="a";var s=t.target,c=t.href,u=t.popup;c&&(o={"xlink:xlink:show":"_blank"===s||"_"!==s.charAt(0)?"new":"replace",target:s,"xlink:xlink:href":c},u&&(o.onclick='window.open(this.href.baseVal,this.target.baseVal,"'+u+'");return false;'))}else e="tspan";t.style&&(o.style=t.style);var h=document.createElementNS(i.svg,e);if("sup"===a||"sub"===a){S(r,d),r.appendChild(h);var g=document.createElementNS(i.svg,"tspan");S(g,d),n.select(g).attr("dy",p[a]),o.dy=f[a],r.appendChild(h),r.appendChild(g)}else r.appendChild(h);n.select(h).attr(o),r=t.node=h,l.push(t)}function S(t,e){t.appendChild(document.createTextNode(e))}function L(t){if(1!==l.length){var n=l.pop();t!==n.type&&a.log("Start tag <"+n.type+"> doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else a.log("Ignoring unexpected end tag </"+t+">.",e)}x.test(e)?u():(r=t,l=[{node:t}]);for(var C=e.split(m),P=0;P<C.length;P++){var O=C[P],z=O.match(y),I=z&&z[2].toLowerCase(),D=h[I];if("br"===I)u();else if(void 0===D)S(r,E(O));else if(z[1])L(I);else{var R=z[4],F={type:I},B=T(R,b);if(B?(B=B.replace(A,"$1 fill:"),D&&(B+=";"+D)):D&&(B=D),B&&(F.style=B),"a"===I){s=!0;var N=T(R,_);if(N){var j=document.createElement("a");j.href=N,-1!==g.indexOf(j.protocol)&&(F.href=encodeURI(decodeURI(N)),F.target=T(R,w)||"_blank",F.popup=T(R,k))}}M(F)}}return s}(t.node(),S)&&t.style("pointer-events","all"),r.positionText(t),M&&M.call(t)}};var c=/(<|&lt;|&#60;)/g,u=/(>|&gt;|&#62;)/g;var h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},f={sub:"0.3em",sup:"-0.6em"},p={sub:"-0.21em",sup:"0.42em"},d="\u200b",g=["http:","https:","mailto:","",void 0,":"],v=r.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,y=/<(\/?)([^ >]*)(\s+(.*))?>/i,x=/<br(\s+.*)?>/i;r.BR_TAG_ALL=/<br(\s+.*)?>/gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,_=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,w=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function T(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&E(n)}var A=/(^|;)\s*color:/;r.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],a="...".length,i=t.split(m),o=[],s="",l=0,c=0;c<i.length;c++){var u=i[c],h=u.match(y),f=h&&h[2].toLowerCase();if(f)-1!==n.indexOf(f)&&(o.push(u),s=f);else{var p=u.length;if(l+p<r)o.push(u),l+=p;else if(l<r){var d=r-l;s&&("br"!==s||d<=a||p<=a)&&o.pop(),r>a?o.push(u.substr(0,d-a)+"..."):o.push(u.substr(0,d));break}s=""}}return o.join("")};var M={mu:"\u03bc",amp:"&",lt:"<",gt:">",nbsp:"\xa0",times:"\xd7",plusmn:"\xb1",deg:"\xb0"},S=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function E(t){return t.replace(S,function(t,e){return("#"===e.charAt(0)?function(t){if(t>1114111)return;var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):M[e])||t})}function L(t,e,r){var n,a,i,o=r.horizontalAlign,s=r.verticalAlign||"top",l=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===s?function(){return l.bottom-n.height}:"middle"===s?function(){return l.top+(l.height-n.height)/2}:function(){return l.top},i="right"===o?function(){return l.right-n.width}:"center"===o?function(){return l.left+(l.width-n.width)/2}:function(){return l.left},function(){return n=this.node().getBoundingClientRect(),this.style({top:a()-c.top+"px",left:i()-c.left+"px","z-index":1e3}),this}}r.convertEntities=E,r.lineCount=function(t){return t.selectAll("tspan.line").size()||1},r.positionText=function(t,e,r){return t.each(function(){var t=n.select(this);function a(e,r){return void 0===r?null===(r=t.attr(e))&&(t.attr(e,0),r=0):t.attr(e,r),r}var i=a("x",e),o=a("y",r);"text"===this.nodeName&&t.selectAll("tspan.line").attr({x:i,y:o})})},r.makeEditable=function(t,e){var r=e.gd,a=e.delegate,i=n.dispatch("edit","input","cancel"),o=a||t;if(t.style({"pointer-events":a?"none":"all"}),1!==t.size())throw new Error("boo");function s(){!function(){var a=n.select(r).select(".svg-container"),o=a.append("div"),s=t.node().style,c=parseFloat(s.fontSize||12),u=e.text;void 0===u&&(u=t.attr("data-unformatted"));o.classed("plugin-editable editable",!0).style({position:"absolute","font-family":s.fontFamily||"Arial","font-size":c,color:e.fill||s.fill||"black",opacity:1,"background-color":e.background||"transparent",outline:"#ffffff33 1px solid",margin:[-c/8+1,0,0,-1].join("px ")+"px",padding:"0","box-sizing":"border-box"}).attr({contenteditable:!0}).text(u).call(L(t,a,e)).on("blur",function(){r._editing=!1,t.text(this.textContent).style({opacity:1});var e,a=n.select(this).attr("class");(e=a?"."+a.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(e).style({opacity:0});var o=this.textContent;n.select(this).transition().duration(0).remove(),n.select(document).on("mouseup",null),i.edit.call(t,o)}).on("focus",function(){var t=this;r._editing=!0,n.select(document).on("mouseup",function(){if(n.event.target===t)return!1;document.activeElement===o.node()&&o.node().blur()})}).on("keyup",function(){27===n.event.which?(r._editing=!1,t.style({opacity:1}),n.select(this).style({opacity:0}).on("blur",function(){return!1}).transition().remove(),i.cancel.call(t,this.textContent)):(i.input.call(t,this.textContent),n.select(this).call(L(t,a,e)))}).on("keydown",function(){13===n.event.which&&this.blur()}).call(l)}(),t.style({opacity:0});var a,s=o.attr("class");(a=s?"."+s.split(" ")[0]+"-math-group":"[class*=-math-group]")&&n.select(t.node().parentNode).select(a).style({opacity:0})}function l(t){var e=t.node(),r=document.createRange();r.selectNodeContents(e);var n=window.getSelection();n.removeAllRanges(),n.addRange(r),e.focus()}return e.immediate?s():o.on("click",s),n.rebind(t,i,"on")}},{"../constants/alignment":685,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],741:[function(t,e,r){"use strict";var n={};function a(t){t&&null!==t.timer&&(clearTimeout(t.timer),t.timer=null)}r.throttle=function(t,e,r){var i=n[t],o=Date.now();if(!i){for(var s in n)n[s].ts<o-6e4&&delete n[s];i=n[t]={ts:0,timer:null}}function l(){r(),i.ts=Date.now(),i.onDone&&(i.onDone(),i.onDone=null)}a(i),o>i.ts+e?l():i.timer=setTimeout(function(){l(),i.timer=null},e)},r.done=function(t){var e=n[t];return e&&e.timer?new Promise(function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}}):Promise.resolve()},r.clear=function(t){if(t)a(n[t]),delete n[t];else for(var e in n)r.clear(e)}},{}],742:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},{"fast-isnumeric":227}],743:[function(t,e,r){"use strict";var n=e.exports={},a=t("../plots/geo/constants").locationmodeToLayer,i=t("topojson-client").feature;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=a[t.locationmode],n=e.objects[r];return i(e,n).features}},{"../plots/geo/constants":792,"topojson-client":538}],744:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},{}],745:[function(t,e,r){"use strict";e.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},{}],746:[function(t,e,r){"use strict";var n=t("../registry");e.exports=function(t){for(var e,r,a=n.layoutArrayContainers,i=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s<i.length;s++)if((r=t.match(i[s]))&&0===r.index){e=r[0];break}if(e||(e=a[a.indexOf(o)]),!e)return!1;var l=t.substr(e.length);return l?!!(r=l.match(/^\[(0|[1-9][0-9]*)\](\.(.+))?$/))&&{array:e,index:Number(r[1]),property:r[3]||""}:{array:e,index:"",property:""}}},{"../registry":845}],747:[function(t,e,r){"use strict";var n=t("../lib"),a=n.extendFlat,i=n.isPlainObject,o={valType:"flaglist",extras:["none"],flags:["calc","clearAxisTypes","plot","style","markerSize","colorbars"]},s={valType:"flaglist",extras:["none"],flags:["calc","plot","legend","ticks","axrange","layoutstyle","modebar","camera","arraydraw","colorbars"]},l=o.flags.slice().concat(["fullReplot"]),c=s.flags.slice().concat("layoutReplot");function u(t){for(var e={},r=0;r<t.length;r++)e[t[r]]=!1;return e}function h(t,e,r){var n=a({},t);for(var o in n){var s=n[o];i(s)&&(n[o]=f(s,e,r,o))}return"from-root"===r&&(n.editType=e),n}function f(t,e,r,n){if(t.valType){var i=a({},t);if(i.editType=e,Array.isArray(t.items)){i.items=new Array(t.items.length);for(var o=0;o<t.items.length;o++)i.items[o]=f(t.items[o],e,"from-root")}return i}return h(t,e,"_"===n.charAt(0)?"nested":"from-root")}e.exports={traces:o,layout:s,traceFlags:function(){return u(l)},layoutFlags:function(){return u(c)},update:function(t,e){var r=e.editType;if(r&&"none"!==r)for(var n=r.split("+"),a=0;a<n.length;a++)t[n[a]]=!0},overrideAll:h}},{"../lib":716}],748:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("gl-mat4/fromQuat"),i=t("../registry"),o=t("../lib"),s=t("../plots/plots"),l=t("../plots/cartesian/axis_ids"),c=t("../components/color"),u=l.cleanId,h=l.getFromTrace,f=i.traceIs;function p(t,e){var r=t[e],n=e.charAt(0);r&&"paper"!==r&&(t[e]=u(r,n))}function d(t){function e(e,r){var n=t[e],a=t.title&&t.title[r];n&&!a&&(t.title||(t.title={}),t.title[r]=t[e],delete t[e])}t&&("string"!=typeof t.title&&"number"!=typeof t.title||(t.title={text:t.title}),e("titlefont","font"),e("titleposition","position"),e("titleside","side"),e("titleoffset","offset"))}function g(t){if(!o.isPlainObject(t))return!1;var e=t.name;return delete t.name,delete t.showlegend,("string"==typeof e||"number"==typeof e)&&String(e)}function v(t,e,r,n){if(r&&!n)return t;if(n&&!r)return e;if(!t.trim())return e;if(!e.trim())return t;var a,i=Math.min(t.length,e.length);for(a=0;a<i&&t.charAt(a)===e.charAt(a);a++);return t.substr(0,a).trim()}function m(t){var e="middle",r="center";return"string"==typeof t&&(-1!==t.indexOf("top")?e="top":-1!==t.indexOf("bottom")&&(e="bottom"),-1!==t.indexOf("left")?r="left":-1!==t.indexOf("right")&&(r="right")),e+" "+r}function y(t,e){return e in t&&"object"==typeof t[e]&&0===Object.keys(t[e]).length}r.clearPromiseQueue=function(t){Array.isArray(t._promises)&&t._promises.length>0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},r.cleanLayout=function(t){var e,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var i=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,g=Object.keys(t);for(e=0;e<g.length;e++){var v=g[e];if(i&&i.test(v)){var m=t[v];m.anchor&&"free"!==m.anchor&&(m.anchor=u(m.anchor)),m.overlaying&&(m.overlaying=u(m.overlaying)),m.type||(m.isdate?m.type="date":m.islog?m.type="log":!1===m.isdate&&!1===m.islog&&(m.type="linear")),"withzero"!==m.autorange&&"tozero"!==m.autorange||(m.autorange=!0,m.rangemode="tozero"),delete m.islog,delete m.isdate,delete m.categories,y(m,"domain")&&delete m.domain,void 0!==m.autotick&&(void 0===m.tickmode&&(m.tickmode=m.autotick?"auto":"linear"),delete m.autotick),d(m)}else if(l&&l.test(v)){d(t[v].radialaxis)}else if(h&&h.test(v)){var x=t[v];d(x.aaxis),d(x.baxis),d(x.caxis)}else if(f&&f.test(v)){var b=t[v],_=b.cameraposition;if(Array.isArray(_)&&4===_[0].length){var w=_[0],k=_[1],T=_[2],A=a([],w),M=[];for(n=0;n<3;++n)M[n]=k[n]+T*A[2+4*n];b.camera={eye:{x:M[0],y:M[1],z:M[2]},center:{x:k[0],y:k[1],z:k[2]},up:{x:0,y:0,z:1}},delete b.cameraposition}d(b.xaxis),d(b.yaxis),d(b.zaxis)}}var S=Array.isArray(t.annotations)?t.annotations.length:0;for(e=0;e<S;e++){var E=t.annotations[e];o.isPlainObject(E)&&(E.ref&&("paper"===E.ref?(E.xref="paper",E.yref="paper"):"data"===E.ref&&(E.xref="x",E.yref="y"),delete E.ref),p(E,"xref"),p(E,"yref"))}var L=Array.isArray(t.shapes)?t.shapes.length:0;for(e=0;e<L;e++){var C=t.shapes[e];o.isPlainObject(C)&&(p(C,"xref"),p(C,"yref"))}var P=t.legend;return P&&(P.x>3?(P.x=1.02,P.xanchor="left"):P.x<-2&&(P.x=-.02,P.xanchor="right"),P.y>3?(P.y=1.02,P.yanchor="bottom"):P.y<-2&&(P.y=-.02,P.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&r.cleanLayout(t.template.layout),t},r.cleanData=function(t){for(var e=0;e<t.length;e++){var n,a=t[e];if("histogramy"===a.type&&"xbins"in a&&!("ybins"in a)&&(a.ybins=a.xbins,delete a.xbins),a.error_y&&"opacity"in a.error_y){var l=c.defaults,h=a.error_y.color||(f(a,"bar")?c.defaultLine:l[e%l.length]);a.error_y.color=c.addOpacity(c.rgb(h),c.opacity(h)*a.error_y.opacity),delete a.error_y.opacity}if("bardir"in a&&("h"!==a.bardir||!f(a,"bar")&&"histogram"!==a.type.substr(0,9)||(a.orientation="h",r.swapXYData(a)),delete a.bardir),"histogramy"===a.type&&r.swapXYData(a),"histogramx"!==a.type&&"histogramy"!==a.type||(a.type="histogram"),"scl"in a&&!("colorscale"in a)&&(a.colorscale=a.scl,delete a.scl),"reversescl"in a&&!("reversescale"in a)&&(a.reversescale=a.reversescl,delete a.reversescl),a.xaxis&&(a.xaxis=u(a.xaxis,"x")),a.yaxis&&(a.yaxis=u(a.yaxis,"y")),f(a,"gl3d")&&a.scene&&(a.scene=s.subplotsRegistry.gl3d.cleanId(a.scene)),!f(a,"pie-like")&&!f(a,"bar-like"))if(Array.isArray(a.textposition))for(n=0;n<a.textposition.length;n++)a.textposition[n]=m(a.textposition[n]);else a.textposition&&(a.textposition=m(a.textposition));var p=i.getModule(a);if(p&&p.colorbar){var x=p.colorbar.container,b=x?a[x]:a;b&&b.colorscale&&("YIGnBu"===b.colorscale&&(b.colorscale="YlGnBu"),"YIOrRd"===b.colorscale&&(b.colorscale="YlOrRd"))}if("surface"===a.type&&o.isPlainObject(a.contours)){var _=["x","y","z"];for(n=0;n<_.length;n++){var w=a.contours[_[n]];o.isPlainObject(w)&&(w.highlightColor&&(w.highlightcolor=w.highlightColor,delete w.highlightColor),w.highlightWidth&&(w.highlightwidth=w.highlightWidth,delete w.highlightWidth))}}if("candlestick"===a.type||"ohlc"===a.type){var k=!1!==(a.increasing||{}).showlegend,T=!1!==(a.decreasing||{}).showlegend,A=g(a.increasing),M=g(a.decreasing);if(!1!==A&&!1!==M){var S=v(A,M,k,T);S&&(a.name=S)}else!A&&!M||a.name||(a.name=A||M)}if(Array.isArray(a.transforms)){var E=a.transforms;for(n=0;n<E.length;n++){var L=E[n];if(o.isPlainObject(L))switch(L.type){case"filter":L.filtersrc&&(L.target=L.filtersrc,delete L.filtersrc),L.calendar&&(L.valuecalendar||(L.valuecalendar=L.calendar),delete L.calendar);break;case"groupby":if(L.styles=L.styles||L.style,L.styles&&!Array.isArray(L.styles)){var C=L.styles,P=Object.keys(C);L.styles=[];for(var O=0;O<P.length;O++)L.styles.push({target:P[O],value:C[P[O]]})}}}}y(a,"line")&&delete a.line,"marker"in a&&(y(a.marker,"line")&&delete a.marker.line,y(a,"marker")&&delete a.marker),c.clean(a),a.autobinx&&(delete a.autobinx,delete a.xbins),a.autobiny&&(delete a.autobiny,delete a.ybins),d(a),a.colorbar&&d(a.colorbar),a.marker&&a.marker.colorbar&&d(a.marker.colorbar),a.line&&a.line.colorbar&&d(a.line.colorbar),a.aaxis&&d(a.aaxis),a.baxis&&d(a.baxis)}},r.swapXYData=function(t){var e;if(o.swapAttrs(t,["?","?0","d?","?bins","nbins?","autobin?","?src","error_?"]),Array.isArray(t.z)&&Array.isArray(t.z[0])&&(t.transpose?delete t.transpose:t.transpose=!0),t.error_x&&t.error_y){var r=t.error_y,n="copy_ystyle"in r?r.copy_ystyle:!(r.color||r.thickness||r.width);o.swapAttrs(t,["error_?.copy_ystyle"]),n&&o.swapAttrs(t,["error_?.color","error_?.thickness","error_?.width"])}if("string"==typeof t.hoverinfo){var a=t.hoverinfo.split("+");for(e=0;e<a.length;e++)"x"===a[e]?a[e]="y":"y"===a[e]&&(a[e]="x");t.hoverinfo=a.join("+")}},r.coerceTraceIndices=function(t,e){if(n(e))return[e];if(!Array.isArray(e)||!e.length)return t.data.map(function(t,e){return e});if(Array.isArray(e)){for(var r=[],a=0;a<e.length;a++)o.isIndex(e[a],t.data.length)?r.push(e[a]):o.warn("trace index (",e[a],") is not a number or is out of bounds");return r}return e},r.manageArrayContainers=function(t,e,r){var a=t.obj,i=t.parts,s=i.length,l=i[s-1],c=n(l);if(c&&null===e){var u=i.slice(0,s-1).join(".");o.nestedProperty(a,u).get().splice(l,1)}else c&&void 0===t.get()?(void 0===t.get()&&(r[t.astr]=null),t.set(e)):t.set(e)};var x=/(\.[^\[\]\.]+|\[[^\[\]\.]+\])$/;function b(t){var e=t.search(x);if(e>0)return t.substr(0,e)}r.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];r.clearAxisTypes=function(t,e,r){for(var n=0;n<e.length;n++)for(var a=t._fullData[n],i=0;i<3;i++){var s=h(t,a,_[i]);if(s&&"log"!==s.type){var l=s._name,c=s._id.substr(1);if("scene"===c.substr(0,5)){if(void 0!==r[c])continue;l=c+"."+l}var u=l+".type";void 0===r[l]&&void 0===r[u]&&o.nestedProperty(t.layout,u).set(null)}}}},{"../components/color":591,"../lib":716,"../plots/cartesian/axis_ids":767,"../plots/plots":825,"../registry":845,"fast-isnumeric":227,"gl-mat4/fromQuat":264}],749:[function(t,e,r){"use strict";var n=t("./plot_api");r.plot=n.plot,r.newPlot=n.newPlot,r.restyle=n.restyle,r.relayout=n.relayout,r.redraw=n.redraw,r.update=n.update,r._guiRestyle=n._guiRestyle,r._guiRelayout=n._guiRelayout,r._guiUpdate=n._guiUpdate,r._storeDirectGUIEdit=n._storeDirectGUIEdit,r.react=n.react,r.extendTraces=n.extendTraces,r.prependTraces=n.prependTraces,r.addTraces=n.addTraces,r.deleteTraces=n.deleteTraces,r.moveTraces=n.moveTraces,r.purge=n.purge,r.addFrames=n.addFrames,r.deleteFrames=n.deleteFrames,r.animate=n.animate,r.setPlotConfig=n.setPlotConfig,r.toImage=t("./to_image"),r.validate=t("./validate"),r.downloadImage=t("../snapshot/download");var a=t("./template_api");r.makeTemplate=a.makeTemplate,r.validateTemplate=a.validateTemplate},{"../snapshot/download":847,"./plot_api":751,"./template_api":756,"./to_image":757,"./validate":758}],750:[function(t,e,r){"use strict";var n=t("../lib/is_plain_object"),a=t("../lib/noop"),i=t("../lib/loggers"),o=t("../lib/search").sorterAsc,s=t("../registry");r.containerArrayMatch=t("./container_array_match");var l=r.isAddVal=function(t){return"add"===t||n(t)},c=r.isRemoveVal=function(t){return null===t||"remove"===t};r.applyContainerArrayChanges=function(t,e,r,n,u){var h=e.astr,f=s.getComponentMethod(h,"supplyLayoutDefaults"),p=s.getComponentMethod(h,"draw"),d=s.getComponentMethod(h,"drawOne"),g=n.replot||n.recalc||f===a||p===a,v=t.layout,m=t._fullLayout;if(r[""]){Object.keys(r).length>1&&i.warn("Full array edits are incompatible with other edits",h);var y=r[""][""];if(c(y))e.set(null);else{if(!Array.isArray(y))return i.warn("Unrecognized full array edit value",h,y),!0;e.set(y)}return!g&&(f(v,m),p(t),!0)}var x,b,_,w,k,T,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=u(m,h).get(),P=[],O=-1,z=L.length;for(x=0;x<S.length;x++)if(w=r[_=S[x]],k=Object.keys(w),T=w[""],A=l(T),_<0||_>L.length-(A?0:1))i.warn("index out of range",h,_);else if(void 0!==T)k.length>1&&i.warn("Insertion & removal are incompatible with edits to the same index.",h,_),c(T)?P.push(_):A?("add"===T&&(T={}),L.splice(_,0,T),C&&C.splice(_,0,{})):i.warn("Unrecognized full object edit value",h,_,T),-1===O&&(O=_);else for(b=0;b<k.length;b++)M=h+"["+_+"].",u(L[_],k[b],M).set(w[k[b]]);for(x=P.length-1;x>=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),g)return!1;if(f(v,m),d!==a){var I;if(-1===O)I=S;else{for(z=Math.max(L.length,z),I=[],x=0;x<S.length&&!((_=S[x])>=O);x++)I.push(_);for(x=O;x<z;x++)I.push(x)}for(x=0;x<I.length;x++)d(t,I[x])}else p(t);return!0}},{"../lib/is_plain_object":717,"../lib/loggers":720,"../lib/noop":725,"../lib/search":735,"../registry":845,"./container_array_match":746}],751:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("has-hover"),o=t("../lib"),s=o.nestedProperty,l=t("../lib/events"),c=t("../lib/queue"),u=t("../registry"),h=t("./plot_schema"),f=t("../plots/plots"),p=t("../plots/polar/legacy"),d=t("../plots/cartesian/axes"),g=t("../components/drawing"),v=t("../components/color"),m=t("../plots/cartesian/graph_interact").initInteractions,y=t("../constants/xmlns_namespaces"),x=t("../lib/svg_text_utils"),b=t("../plots/cartesian/select").clearSelect,_=t("./plot_config").dfltConfig,w=t("./manage_arrays"),k=t("./helpers"),T=t("./subroutines"),A=t("./edit_types"),M=t("../plots/cartesian/constants").AX_NAME_PATTERN,S=0,E=5;function L(t){var e=t._fullLayout;e._redrawFromAutoMarginCount?e._redrawFromAutoMarginCount--:t.emit("plotly_afterplot")}function C(t,e){try{t._fullLayout._paper.style("background",e)}catch(t){o.error(t)}}function P(t,e){C(t,v.combine(e,"white"))}function O(t,e){if(!t._context){t._context=o.extendDeep({},_);var r=n.select("base");t._context._baseUrl=r.size()&&r.attr("href")?window.location.href.split("#")[0]:""}var a,s,l,c=t._context;if(e){for(s=Object.keys(e),a=0;a<s.length;a++)"editable"!==(l=s[a])&&"edits"!==l&&l in c&&("setBackground"===l&&"opaque"===e[l]?c[l]=P:c[l]=e[l]);e.plot3dPixelRatio&&!c.plotGlPixelRatio&&(c.plotGlPixelRatio=c.plot3dPixelRatio);var u=e.editable;if(void 0!==u)for(c.editable=u,s=Object.keys(c.edits),a=0;a<s.length;a++)c.edits[s[a]]=u;if(e.edits)for(s=Object.keys(e.edits),a=0;a<s.length;a++)(l=s[a])in c.edits&&(c.edits[l]=e.edits[l]);c._exportedPlot=e._exportedPlot}c.staticPlot&&(c.editable=!1,c.edits={},c.autosizable=!1,c.scrollZoom=!1,c.doubleClick=!1,c.showTips=!1,c.showLink=!1,c.displayModeBar=!1),"hover"!==c.displayModeBar||i||(c.displayModeBar=!0),"transparent"!==c.setBackground&&"function"==typeof c.setBackground||(c.setBackground=C),c._hasZeroHeight=c._hasZeroHeight||0===t.clientHeight,c._hasZeroWidth=c._hasZeroWidth||0===t.clientWidth;var h=c.scrollZoom,f=c._scrollZoom={};if(!0===h)f.cartesian=1,f.gl3d=1,f.geo=1,f.mapbox=1;else if("string"==typeof h){var p=h.split("+");for(a=0;a<p.length;a++)f[p[a]]=1}else!1!==h&&(f.gl3d=1,f.geo=1,f.mapbox=1)}function z(t,e){var r,n,a=e+1,i=[];for(r=0;r<t.length;r++)(n=t[r])<0?i.push(a+n):i.push(n);return i}function I(t,e,r){var n,a;for(n=0;n<e.length;n++){if((a=e[n])!==parseInt(a,10))throw new Error("all values in "+r+" must be integers");if(a>=t.data.length||a<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(a,n+1)>-1||a>=0&&e.indexOf(-t.data.length+a)>-1||a<0&&e.indexOf(t.data.length+a)>-1)throw new Error("each index in "+r+" must be unique.")}}function D(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),"undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&I(t,r,"newIndices"),"undefined"!=typeof r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function R(t,e,r,n,i){!function(t,e,r,n){var a=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if("undefined"==typeof r)throw new Error("indices must be an integer or array of integers");for(var i in I(t,r,"indices"),e){if(!Array.isArray(e[i])||e[i].length!==r.length)throw new Error("attribute "+i+" must be an array of length equal to indices array length");if(a&&(!(i in n)||!Array.isArray(n[i])||n[i].length!==e[i].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var i,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=z(r,t.data.length-1),e)for(var g=0;g<r.length;g++){if(i=t.data[r[g]],l=(c=s(i,d)).get(),u=e[d][g],!o.isArrayOrTypedArray(u))throw new Error("attribute: "+d+" index: "+g+" must be an array");if(!o.isArrayOrTypedArray(l))throw new Error("cannot extend missing or non-array attribute: "+d);if(l.constructor!==u.constructor)throw new Error("cannot extend array with an array of a different type: "+d);h=f?n[d][g]:n,a(h)||(h=-1),p.push({prop:c,target:l,insert:u,maxp:Math.floor(h)})}return p}(t,e,r,n),c={},u={},h=0;h<l.length;h++){var f=l[h].prop,p=l[h].maxp,d=i(l[h].target,l[h].insert,p);f.set(d[0]),Array.isArray(c[f.astr])||(c[f.astr]=[]),c[f.astr].push(d[1]),Array.isArray(u[f.astr])||(u[f.astr]=[]),u[f.astr].push(l[h].target.length)}return{update:c,maxPoints:u}}function F(t,e){var r=new t.constructor(t.length+e.length);return r.set(t),r.set(e,t.length),r}function B(t,e,n,a){t=o.getGraphDiv(t),k.clearPromiseQueue(t);var i={};if("string"==typeof e)i[e]=n;else{if(!o.isPlainObject(e))return o.warn("Restyle fail.",e,n,a),Promise.reject();i=o.extendFlat({},e),void 0===a&&(a=n)}Object.keys(i).length&&(t.changed=!0);var s=k.coerceTraceIndices(t,a),l=U(t,i,s),u=l.flags;u.calc&&(t.calcdata=void 0),u.clearAxisTypes&&k.clearAxisTypes(t,s,{});var h=[];u.fullReplot?h.push(r.plot):(h.push(f.previousPromises),f.supplyDefaults(t),u.markerSize&&(f.doCalcdata(t),Y(h)),u.style&&h.push(T.doTraceStyle),u.colorbars&&h.push(T.doColorBars),h.push(L)),h.push(f.rehover,f.redrag),c.add(t,B,[t,l.undoit,l.traces],B,[t,l.redoit,l.traces]);var p=o.syncOrAsync(h,t);return p&&p.then||(p=Promise.resolve()),p.then(function(){return t.emit("plotly_restyle",l.eventData),t})}function N(t){return void 0===t?null:t}function j(t,e){return e?function(e,r,n){var a=s(e,r),i=a.set;return a.set=function(e){V((n||"")+r,a.get(),e,t),i(e)},a}:s}function V(t,e,r,n){if(Array.isArray(e)||Array.isArray(r))for(var a=Array.isArray(e)?e:[],i=Array.isArray(r)?r:[],s=Math.max(a.length,i.length),l=0;l<s;l++)V(t+"["+l+"]",a[l],i[l],n);else if(o.isPlainObject(e)||o.isPlainObject(r)){var c=o.isPlainObject(e)?e:{},u=o.isPlainObject(r)?r:{},h=o.extendFlat({},c,u);for(var f in h)V(t+"."+f,c[f],u[f],n)}else void 0===n[t]&&(n[t]=N(e))}function U(t,e,r){var n,a=t._fullLayout,i=t._fullData,l=t.data,c=a._guiEditing,p=j(a._preGUI,c),g=o.extendDeepAll({},e);q(e);var v,m=A.traceFlags(),y={},x={};function b(){return r.map(function(){})}function _(t){var e=d.id2name(t);-1===v.indexOf(e)&&v.push(e)}function w(t){return"LAYOUT"+t+".autorange"}function T(t){return"LAYOUT"+t+".range"}function M(t){for(var e=t;e<i.length;e++)if(i[e]._input===l[t])return i[e]}function S(n,i,o){if(Array.isArray(n))n.forEach(function(t){S(t,i,o)});else if(!(n in e||k.hasParent(e,n))){var s;if("LAYOUT"===n.substr(0,6))s=p(t.layout,n.replace("LAYOUT",""));else{var u=r[o];s=j(a._tracePreGUI[M(u)._fullInput.uid],c)(l[u],n)}n in x||(x[n]=b()),void 0===x[n][o]&&(x[n][o]=N(s.get())),void 0!==i&&s.set(i)}}function E(t){return function(e){return i[e][t]}}function L(t){return function(e,n){return!1===e?i[r[n]][t]:null}}for(var C in e){if(k.hasParent(e,C))throw new Error("cannot set "+C+" and a parent attribute simultaneously");var P,O,z,I,D,R,F=e[C];if("autobinx"!==C&&"autobiny"!==C||(C=C.charAt(C.length-1)+"bins",F=Array.isArray(F)?F.map(L(C)):!1===F?r.map(E(C)):null),y[C]=F,"LAYOUT"!==C.substr(0,6)){for(x[C]=b(),n=0;n<r.length;n++){if(P=l[r[n]],O=M(r[n]),I=(z=j(a._tracePreGUI[O._fullInput.uid],c)(P,C)).get(),void 0!==(D=Array.isArray(F)?F[n%F.length]:F)){var B=z.parts[z.parts.length-1],V=C.substr(0,C.length-B.length-1),U=V?V+".":"",H=V?s(O,V).get():O;if((R=h.getTraceValObject(O,z.parts))&&R.impliedEdits&&null!==D)for(var G in R.impliedEdits)S(o.relativeAttr(C,G),R.impliedEdits[G],n);else if("thicknessmode"!==B&&"lenmode"!==B||I===D||"fraction"!==D&&"pixels"!==D||!H){if("type"===C&&("pie"===D!=("pie"===I)||"funnelarea"===D!=("funnelarea"===I))){var Y="x",W="y";"bar"!==D&&"bar"!==I||"h"!==P.orientation||(Y="y",W="x"),o.swapAttrs(P,["?","?src"],"labels",Y),o.swapAttrs(P,["d?","?0"],"label",Y),o.swapAttrs(P,["?","?src"],"values",W),"pie"===I||"funnelarea"===I?(s(P,"marker.color").set(s(P,"marker.colors").get()),a._pielayer.selectAll("g.trace").remove()):u.traceIs(P,"cartesian")&&s(P,"marker.colors").set(s(P,"marker.color").get())}}else{var X=a._size,Z=H.orient,J="top"===Z||"bottom"===Z;if("thicknessmode"===B){var K=J?X.h:X.w;S(U+"thickness",H.thickness*("fraction"===D?1/K:K),n)}else{var Q=J?X.w:X.h;S(U+"len",H.len*("fraction"===D?1/Q:Q),n)}}x[C][n]=N(I);if(-1!==["swapxy","swapxyaxes","orientation","orientationaxes"].indexOf(C)){if("orientation"===C){z.set(D);var $=P.x&&!P.y?"h":"v";if((z.get()||$)===O.orientation)continue}else"orientationaxes"===C&&(P.orientation={v:"h",h:"v"}[O.orientation]);k.swapXYData(P),m.calc=m.clearAxisTypes=!0}else-1!==f.dataArrayContainers.indexOf(z.parts[0])?(k.manageArrayContainers(z,D,x),m.calc=!0):(R?R.arrayOk&&!u.traceIs(O,"regl")&&(o.isArrayOrTypedArray(D)||o.isArrayOrTypedArray(I))?m.calc=!0:A.update(m,R):m.calc=!0,z.set(D))}}if(-1!==["swapxyaxes","orientationaxes"].indexOf(C)&&d.swap(t,r),"orientationaxes"===C){var tt=s(t.layout,"hovermode");"x"===tt.get()?tt.set("y"):"y"===tt.get()&&tt.set("x")}if(-1!==["orientation","type"].indexOf(C)){for(v=[],n=0;n<r.length;n++){var et=l[r[n]];u.traceIs(et,"cartesian")&&(_(et.xaxis||"x"),_(et.yaxis||"y"))}S(v.map(w),!0,0),S(v.map(T),[0,1],0)}}else z=p(t.layout,C.replace("LAYOUT","")),x[C]=[N(z.get())],z.set(Array.isArray(F)?F[0]:F),m.calc=!0}return(m.calc||m.plot)&&(m.fullReplot=!0),{flags:m,undoit:x,redoit:y,traces:r,eventData:o.extendDeepNoArrays([],[g,r])}}function q(t){var e,r,n,a=o.counterRegex("axis",".title",!1,!1),i=/colorbar\.title$/,s=Object.keys(t);for(e=0;e<s.length;e++)r=s[e],n=t[r],"title"!==r&&!a.test(r)&&!i.test(r)||"string"!=typeof n&&"number"!=typeof n?r.indexOf("titlefont")>-1?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function H(t,e,r){if(t=o.getGraphDiv(t),k.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var a=J(t,n),i=a.flags;i.calc&&(t.calcdata=void 0);var s=[f.previousPromises];i.layoutReplot?s.push(T.layoutReplot):Object.keys(n).length&&(G(t,i,a)||f.supplyDefaults(t),i.legend&&s.push(T.doLegend),i.layoutstyle&&s.push(T.layoutStyles),i.axrange&&Y(s,a.rangesAltered),i.ticks&&s.push(T.doTicksRelayout),i.modebar&&s.push(T.doModeBar),i.camera&&s.push(T.doCamera),i.colorbars&&s.push(T.doColorBars),s.push(L)),s.push(f.rehover,f.redrag),c.add(t,H,[t,a.undoit],H,[t,a.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then(function(){return t.emit("plotly_relayout",a.eventData),t})}function G(t,e,r){var n=t._fullLayout;if(!e.axrange)return!1;for(var a in e)if("axrange"!==a&&e[a])return!1;for(var i in r.rangesAltered){var o=d.id2name(i),s=t.layout[o],l=n[o];if(l.autorange=s.autorange,l.range=s.range.slice(),l.cleanRange(),l._matchGroup)for(var c in l._matchGroup)if(c!==i){var u=n[d.id2name(c)];u.autorange=l.autorange,u.range=l.range.slice(),u._input.range=l.range.slice()}}return!0}function Y(t,e){var r=e?function(t){var r=[],n=!0;for(var a in e){var i=d.getFromId(t,a);if(r.push(a),i._matchGroup)for(var o in i._matchGroup)e[o]||r.push(o);i.automargin&&(n=!1)}return d.draw(t,r,{skipTitle:n})}:function(t){return d.draw(t,"redraw")};t.push(b,T.doAutoRangeAndConstraints,r,T.drawData,T.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,X=/^[xyz]axis[0-9]*\.autorange$/,Z=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function J(t,e){var r,n,a,i=t.layout,l=t._fullLayout,c=l._guiEditing,f=j(l._preGUI,c),p=Object.keys(e),g=d.list(t),v=o.extendDeepAll({},e),m={};for(q(e),p=Object.keys(e),n=0;n<p.length;n++)if(0===p[n].indexOf("allaxes")){for(a=0;a<g.length;a++){var y=g[a]._id.substr(1),x=-1!==y.indexOf("scene")?y+".":"",b=p[n].replace("allaxes",x+g[a]._name);e[b]||(e[b]=e[p[n]])}delete e[p[n]]}var _=A.layoutFlags(),T={},S={};function E(t,r){if(Array.isArray(t))t.forEach(function(t){E(t,r)});else if(!(t in e||k.hasParent(e,t))){var n=f(i,t);t in S||(S[t]=N(n.get())),void 0!==r&&n.set(r)}}var L,C={};function P(t){var e=d.name2id(t.split(".")[0]);return C[e]=1,e}for(var O in e){if(k.hasParent(e,O))throw new Error("cannot set "+O+" and a parent attribute simultaneously");for(var z=f(i,O),I=e[O],D=z.parts.length-1;D>0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,B=z.parts.slice(0,D).join("."),V=s(t.layout,B).get(),U=s(l,B).get(),H=z.get();if(void 0!==I){T[O]=I,S[O]="reverse"===R?I:N(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==I)for(var Y in G.impliedEdits)E(o.relativeAttr(O,Y),G.impliedEdits[Y]);if(-1!==["width","height"].indexOf(O))if(I){E("autosize",null);var J="height"===O?"width":"height";E(J,l[J])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",I?null:l.width),E("height",I?null:l.height);else if(F.match(W))P(F),s(l,B+"._inputRange").set(null);else if(F.match(X)){P(F),s(l,B+"._inputRange").set(null);var Q=s(l,B).get();Q._inputDomain&&(Q._input.domain=Q._inputDomain.slice())}else F.match(Z)&&s(l,B+"._inputDomain").set(null);if("type"===R){var $=V,tt="linear"===U.type&&"log"===I,et="log"===U.type&&"linear"===I;if(tt||et){if($&&$.range)if(U.autorange)tt&&($.range=$.range[1]>$.range[0]?[1,2]:[2,1]);else{var rt=$.range[0],nt=$.range[1];tt?(rt<=0&&nt<=0&&E(B+".autorange",!0),rt<=0?rt=nt/1e6:nt<=0&&(nt=rt/1e6),E(B+".range[0]",Math.log(rt)/Math.LN10),E(B+".range[1]",Math.log(nt)/Math.LN10)):(E(B+".range[0]",Math.pow(10,rt)),E(B+".range[1]",Math.pow(10,nt)))}else E(B+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,U,I,E),u.getComponentMethod("images","convertCoords")(t,U,I,E)}else E(B+".autorange",!0),E(B+".range",null);s(l,B+"._inputRange").set(null)}else if(R.match(M)){var at=s(l,O).get(),it=(I||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,at,it,E),u.getComponentMethod("images","convertCoords")(t,at,it,E)}var ot=w.containerArrayMatch(O);if(ot){r=ot.array,n=ot.index;var st=ot.property,lt=G||{editType:"calc"};""!==n&&""===st&&(w.isAddVal(I)?S[O]=null:w.isRemoveVal(I)?S[O]=(s(i,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,lt),m[r]||(m[r]={});var ct=m[r][n];ct||(ct=m[r][n]={}),ct[st]=I,delete e[O]}else"reverse"===R?(V.range?V.range.reverse():(E(B+".autorange",!0),V.range=[1,0]),U.autorange?_.calc=!0:_.plot=!0):(l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===I||"select"===I)&&"lasso"!==H&&"select"!==H?_.plot=!0:l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,z.set(I))}}for(r in m){w.applyContainerArrayChanges(t,f(i,r),m[r],_,f)||(_.plot=!0)}var ut=l._axisConstraintGroups||[];for(L in C)for(n=0;n<ut.length;n++){var ht=ut[n];if(ht[L])for(var ft in _.calc=!0,ht)C[ft]||(d.getFromId(t,ft)._constraintShrinkable=!0)}return(K(t)||e.height||e.width)&&(_.plot=!0),(_.plot||_.calc)&&(_.layoutReplot=!0),{flags:_,rangesAltered:C,undoit:S,redoit:T,eventData:v}}function K(t){var e=t._fullLayout,r=e.width,n=e.height;return t.layout.autosize&&f.plotAutoSize(t,t.layout,e),e.width!==r||e.height!==n}function Q(t,e,n,a){if(t=o.getGraphDiv(t),k.clearPromiseQueue(t),t.framework&&t.framework.isPolar)return Promise.resolve(t);o.isPlainObject(e)||(e={}),o.isPlainObject(n)||(n={}),Object.keys(e).length&&(t.changed=!0),Object.keys(n).length&&(t.changed=!0);var i=k.coerceTraceIndices(t,a),s=U(t,o.extendFlat({},e),i),l=s.flags,u=J(t,o.extendFlat({},n)),h=u.flags;(l.calc||h.calc)&&(t.calcdata=void 0),l.clearAxisTypes&&k.clearAxisTypes(t,i,n);var p=[];h.layoutReplot?p.push(T.layoutReplot):l.fullReplot?p.push(r.plot):(p.push(f.previousPromises),G(t,h,u)||f.supplyDefaults(t),l.style&&p.push(T.doTraceStyle),(l.colorbars||h.colorbars)&&p.push(T.doColorBars),h.legend&&p.push(T.doLegend),h.layoutstyle&&p.push(T.layoutStyles),h.axrange&&Y(p,u.rangesAltered),h.ticks&&p.push(T.doTicksRelayout),h.modebar&&p.push(T.doModeBar),h.camera&&p.push(T.doCamera),p.push(L)),p.push(f.rehover,f.redrag),c.add(t,Q,[t,s.undoit,u.undoit,s.traces],Q,[t,s.redoit,u.redoit,s.traces]);var d=o.syncOrAsync(p,t);return d&&d.then||(d=Promise.resolve(t)),d.then(function(){return t.emit("plotly_update",{data:s.eventData,layout:u.eventData}),t})}function $(t){return function(e){e._fullLayout._guiEditing=!0;var r=t.apply(null,arguments);return e._fullLayout._guiEditing=!1,r}}var tt=[{pattern:/^hiddenlabels/,attr:"legend.uirevision"},{pattern:/^((x|y)axis\d*)\.((auto)?range|title\.text)/},{pattern:/axis\d*\.showspikes$/,attr:"modebar.uirevision"},{pattern:/(hover|drag)mode$/,attr:"modebar.uirevision"},{pattern:/^(scene\d*)\.camera/},{pattern:/^(geo\d*)\.(projection|center)/},{pattern:/^(ternary\d*\.[abc]axis)\.(min|title\.text)$/},{pattern:/^(polar\d*\.radialaxis)\.((auto)?range|angle|title\.text)/},{pattern:/^(polar\d*\.angularaxis)\.rotation/},{pattern:/^(mapbox\d*)\.(center|zoom|bearing|pitch)/},{pattern:/^legend\.(x|y)$/,attr:"editrevision"},{pattern:/^(shapes|annotations)/,attr:"editrevision"},{pattern:/^title\.text$/,attr:"editrevision"}],et=[{pattern:/^selectedpoints$/,attr:"selectionrevision"},{pattern:/(^|value\.)visible$/,attr:"legend.uirevision"},{pattern:/^dimensions\[\d+\]\.constraintrange/},{pattern:/^node\.(x|y|groups)/},{pattern:/^level$/},{pattern:/(^|value\.)name$/},{pattern:/colorbar\.title\.text$/},{pattern:/colorbar\.(x|y)$/,attr:"editrevision"}];function rt(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=t.match(n.pattern);if(a)return{head:a[1],attr:n.attr}}}function nt(t,e){var r=s(e,t).get();if(void 0!==r)return r;var n=t.split(".");for(n.pop();n.length>1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function at(t,e){for(var r=0;r<e.length;r++)if(e[r]._fullInput.uid===t)return r;return-1}function it(t,e,r){for(var n=0;n<e.length;n++)if(e[n].uid===t)return n;return!e[r]||e[r].uid?-1:r}function ot(t,e){var r=o.isPlainObject(t),n=Array.isArray(t);return r||n?(r&&o.isPlainObject(e)||n&&Array.isArray(e))&&JSON.stringify(t)===JSON.stringify(e):t===e}function st(t,e,r,n){var a,i,l,c=n.getValObject,u=n.flags,h=n.immutable,f=n.inArray,p=n.arrayIndex;function d(){var t=a.editType;f&&-1!==t.indexOf("arraydraw")?o.pushUnique(u.arrays[f],p):(A.update(u,a),"none"!==t&&u.nChanges++,n.transition&&a.anim&&u.nChangesAnim++,(W.test(l)||X.test(l))&&(u.rangesAltered[r[0]]=1),Z.test(l)&&s(e,"_inputDomain").set(null),"datarevision"===i&&(u.newDataRevision=1))}function g(t){return"data_array"===t.valType||t.arrayOk}for(i in t){if(u.calc&&!n.transition)return;var v=t[i],m=e[i],y=r.concat(i);if(l=y.join("."),"_"!==i.charAt(0)&&"function"!=typeof v&&v!==m){if(("tick0"===i||"dtick"===i)&&"geo"!==r[0]){var x=e.tickmode;if("auto"===x||"array"===x||!x)continue}if(("range"!==i||!e.autorange)&&("zmin"!==i&&"zmax"!==i||"contourcarpet"!==e.type)&&(a=c(y))&&(!a._compareAsJSON||JSON.stringify(v)!==JSON.stringify(m))){var b,_=a.valType,w=g(a),k=Array.isArray(v),T=Array.isArray(m);if(k&&T){var M="_input_"+i,S=t[M],E=e[M];if(Array.isArray(S)&&S===E)continue}if(void 0===m)w&&k?u.calc=!0:d();else if(a._isLinkedToArray){var L=[],C=!1;f||(u.arrays[i]=L);var P=Math.min(v.length,m.length),O=Math.max(v.length,m.length);if(P!==O){if("arraydraw"!==a.editType){d();continue}C=!0}for(b=0;b<P;b++)st(v[b],m[b],y.concat(b),o.extendFlat({inArray:i,arrayIndex:b},n));if(C)for(b=P;b<O;b++)L.push(b)}else!_&&o.isPlainObject(v)?st(v,m,y,n):w?k&&T?(h&&(u.calc=!0),(h||n.newDataRevision)&&d()):k!==T?u.calc=!0:d():k&&T&&v.length===m.length&&String(v)===String(m)||d()}}}for(i in e)if(!(i in t||"_"===i.charAt(0)||"function"==typeof e[i])){if(g(a=c(r.concat(i)))&&Array.isArray(e[i]))return void(u.calc=!0);d()}}function lt(t){var e=n.select(t),r=t._fullLayout;if(r._container=e.selectAll(".plot-container").data([0]),r._container.enter().insert("div",":first-child").classed("plot-container",!0).classed("plotly",!0),r._paperdiv=r._container.selectAll(".svg-container").data([0]),r._paperdiv.enter().append("div").classed("svg-container",!0).style("position","relative"),r._glcontainer=r._paperdiv.selectAll(".gl-container").data([{}]),r._glcontainer.enter().append("div").classed("gl-container",!0),r._paperdiv.selectAll(".main-svg").remove(),r._paperdiv.select(".modebar-container").remove(),r._paper=r._paperdiv.insert("svg",":first-child").classed("main-svg",!0),r._toppaper=r._paperdiv.append("svg").classed("main-svg",!0),r._modebardiv=r._paperdiv.append("div"),r._hoverpaper=r._paperdiv.append("svg").classed("main-svg",!0),!r._uid){var a={};n.selectAll("defs").each(function(){this.id&&(a[this.id.split("-")[1]]=1)}),r._uid=o.randstr(a)}r._paperdiv.selectAll(".main-svg").attr(y.svgAttrs),r._defs=r._paper.append("defs").attr("id","defs-"+r._uid),r._clips=r._defs.append("g").classed("clips",!0),r._topdefs=r._toppaper.append("defs").attr("id","topdefs-"+r._uid),r._topclips=r._topdefs.append("g").classed("clips",!0),r._bgLayer=r._paper.append("g").classed("bglayer",!0),r._draggers=r._paper.append("g").classed("draglayer",!0);var i=r._paper.append("g").classed("layer-below",!0);r._imageLowerLayer=i.append("g").classed("imagelayer",!0),r._shapeLowerLayer=i.append("g").classed("shapelayer",!0),r._cartesianlayer=r._paper.append("g").classed("cartesianlayer",!0),r._polarlayer=r._paper.append("g").classed("polarlayer",!0),r._ternarylayer=r._paper.append("g").classed("ternarylayer",!0),r._geolayer=r._paper.append("g").classed("geolayer",!0),r._funnelarealayer=r._paper.append("g").classed("funnelarealayer",!0),r._pielayer=r._paper.append("g").classed("pielayer",!0),r._treemaplayer=r._paper.append("g").classed("treemaplayer",!0),r._sunburstlayer=r._paper.append("g").classed("sunburstlayer",!0),r._indicatorlayer=r._toppaper.append("g").classed("indicatorlayer",!0),r._glimages=r._paper.append("g").classed("glimages",!0);var s=r._toppaper.append("g").classed("layer-above",!0);r._imageUpperLayer=s.append("g").classed("imagelayer",!0),r._shapeUpperLayer=s.append("g").classed("shapelayer",!0),r._infolayer=r._toppaper.append("g").classed("infolayer",!0),r._menulayer=r._toppaper.append("g").classed("menulayer",!0),r._zoomlayer=r._toppaper.append("g").classed("zoomlayer",!0),r._hoverlayer=r._hoverpaper.append("g").classed("hoverlayer",!0),r._modebardiv.classed("modebar-container",!0).style("position","absolute").style("top","0px").style("right","0px"),t.emit("plotly_framework")}r.animate=function(t,e,r){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before animating it. For more details, see https://plot.ly/javascript/animations/");var n=t._transitionData;n._frameQueue||(n._frameQueue=[]);var a=(r=f.supplyAnimationDefaults(r)).transition,i=r.frame;function s(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function l(t){return Array.isArray(i)?t>=i.length?i[0]:i[t]:i}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise(function(i,u){function h(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,k.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then(function(){e.onComplete&&e.onComplete()}),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}function p(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&h()};e()}var d,g,v=0;function m(t){return Array.isArray(a)?v>=a.length?t.transitionOpts=a[v]:t.transitionOpts=a[0]:t.transitionOpts=a,v++,t}var y=[],x=null==e,b=Array.isArray(e);if(x||b||!o.isPlainObject(e)){if(x||-1!==["string","number"].indexOf(typeof e))for(d=0;d<n._frames.length;d++)(g=n._frames[d])&&(x||String(g.group)===String(e))&&y.push({type:"byname",name:String(g.name),data:m({name:g.name})});else if(b)for(d=0;d<e.length;d++){var _=e[d];-1!==["number","string"].indexOf(typeof _)?(_=String(_),y.push({type:"byname",name:_,data:m({name:_})})):o.isPlainObject(_)&&y.push({type:"object",data:m(o.extendFlat({},_))})}}else y.push({type:"object",data:m(o.extendFlat({},e))});for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&!n._frameHash[g.data.name])return o.warn('animate failure: frame not found: "'+g.data.name+'"'),void u();-1!==["next","immediate"].indexOf(r.mode)&&function(){if(0!==n._frameQueue.length){for(;n._frameQueue.length;){var e=n._frameQueue.pop();e.onInterrupt&&e.onInterrupt()}t.emit("plotly_animationinterrupted",[])}}(),"reverse"===r.direction&&y.reverse();var w=t._fullLayout._currentFrame;if(w&&r.fromcurrent){var T=-1;for(d=0;d<y.length;d++)if("byname"===(g=y[d]).type&&g.name===w){T=d;break}if(T>0&&T<y.length-1){var A=[];for(d=0;d<y.length;d++)g=y[d],("byname"!==y[d].type||d>T)&&A.push(g);y=A}}y.length>0?function(e){if(0!==e.length){for(var a=0;a<e.length;a++){var o;o="byname"===e[a].type?f.computeFrame(t,e[a].name):e[a].data;var h=l(a),d=s(a);d.duration=Math.min(d.duration,h.duration);var g={frame:o,name:e[a].name,frameOpts:h,transitionOpts:d};a===e.length-1&&(g.onComplete=c(i,2),g.onInterrupt=u),n._frameQueue.push(g)}"immediate"===r.mode&&(n._lastFrameAt=-1/0),n._animationRaf||p()}}(y):(t.emit("plotly_animated"),i())})},r.addFrames=function(t,e,r){if(t=o.getGraphDiv(t),null==e)return Promise.resolve();if(!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t+". It's likely that you've failed to create a plot before adding frames. For more details, see https://plot.ly/javascript/animations/");var n,a,i,s,l=t._transitionData._frames,u=t._transitionData._frameHash;if(!Array.isArray(e))throw new Error("addFrames failure: frameList must be an Array of frame definitions"+e);var h=l.length+2*e.length,p=[],d={};for(n=e.length-1;n>=0;n--)if(o.isPlainObject(e[n])){var g=e[n].name,v=(u[g]||d[g]||{}).name,m=e[n].name,y=u[v]||d[v];v&&m&&"number"==typeof m&&y&&S<E&&(S++,o.warn('addFrames: overwriting frame "'+(u[v]||d[v]).name+'" with a frame whose name of type "number" also equates to "'+v+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),S===E&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[g]={name:g},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort(function(t,e){return t.index>e.index?-1:t.index<e.index?1:0});var x=[],b=[],_=l.length;for(n=p.length-1;n>=0;n--){if("number"==typeof(a=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!a.name)for(;u[a.name="frame "+t._transitionData._counter++];);if(u[a.name]){for(i=0;i<l.length&&(l[i]||{}).name!==a.name;i++);x.push({type:"replace",index:i,value:a}),b.unshift({type:"replace",index:i,value:l[i]})}else s=Math.max(0,Math.min(p[n].index,_)),x.push({type:"insert",index:s,value:a}),b.unshift({type:"delete",index:s}),_++}var w=f.modifyFrames,k=f.modifyFrames,T=[t,b],A=[t,x];return c&&c.add(t,w,T,k,A),f.modifyFrames(t,x)},r.deleteFrames=function(t,e){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);var r,n,a=t._transitionData._frames,i=[],s=[];if(!e)for(e=[],r=0;r<a.length;r++)e.push(r);for((e=e.slice()).sort(),r=e.length-1;r>=0;r--)n=e[r],i.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:a[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,i];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,i)},r.addTraces=function t(e,n,a){e=o.getGraphDiv(e);var i,s,l=[],u=r.deleteTraces,h=t,f=[e,l],p=[e,n];for(function(t,e,r){var n,a;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if("undefined"==typeof e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n<e.length;n++)if("object"!=typeof(a=e[n])||Array.isArray(a)||null===a)throw new Error("all values in traces array must be non-array objects");if("undefined"==typeof r||Array.isArray(r)||(r=[r]),"undefined"!=typeof r&&r.length!==e.length)throw new Error("if indices is specified, traces.length must equal indices.length")}(e,n,a),Array.isArray(n)||(n=[n]),n=n.map(function(t){return o.extendFlat({},t)}),k.cleanData(n),i=0;i<n.length;i++)e.data.push(n[i]);for(i=0;i<n.length;i++)l.push(-n.length+i);if("undefined"==typeof a)return s=r.redraw(e),c.add(e,u,f,h,p),s;Array.isArray(a)||(a=[a]);try{D(e,l,a)}catch(t){throw e.data.splice(e.data.length-n.length,n.length),t}return c.startSequence(e),c.add(e,u,f,h,p),s=r.moveTraces(e,l,a),c.stopSequence(e),s},r.deleteTraces=function t(e,n){e=o.getGraphDiv(e);var a,i,s=[],l=r.addTraces,u=t,h=[e,s,n],f=[e,n];if("undefined"==typeof n)throw new Error("indices must be an integer or array of integers.");for(Array.isArray(n)||(n=[n]),I(e,n,"indices"),(n=z(n,e.data.length-1)).sort(o.sorterDes),a=0;a<n.length;a+=1)i=e.data.splice(n[a],1)[0],s.push(i);var p=r.redraw(e);return c.add(e,l,h,u,f),p},r.extendTraces=function t(e,n,a,i){var s=R(e=o.getGraphDiv(e),n,a,i,function(t,e,r){var n,a;if(o.isTypedArray(t))if(r<0){var i=new t.constructor(0),s=F(t,e);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(l)),a.set(t),a.set(e.subarray(0,l),t.length)}else{var c=r-e.length,u=t.length-c;n.set(t.subarray(u)),n.set(e,c),a.set(t.subarray(0,u))}else n=t.concat(e),a=r>=0&&r<n.length?n.splice(0,n.length-r):[];return[n,a]}),l=r.redraw(e),u=[e,s.update,a,s.maxPoints];return c.add(e,r.prependTraces,u,t,arguments),l},r.moveTraces=function t(e,n,a){var i,s=[],l=[],u=t,h=t,f=[e=o.getGraphDiv(e),a,n],p=[e,n,a];if(D(e,n,a),n=Array.isArray(n)?n:[n],"undefined"==typeof a)for(a=[],i=0;i<n.length;i++)a.push(-n.length+i);for(a=Array.isArray(a)?a:[a],n=z(n,e.data.length-1),a=z(a,e.data.length-1),i=0;i<e.data.length;i++)-1===n.indexOf(i)&&s.push(e.data[i]);for(i=0;i<n.length;i++)l.push({newIndex:a[i],trace:e.data[n[i]]});for(l.sort(function(t,e){return t.newIndex-e.newIndex}),i=0;i<l.length;i+=1)s.splice(l[i].newIndex,0,l[i].trace);e.data=s;var d=r.redraw(e);return c.add(e,u,f,h,p),d},r.prependTraces=function t(e,n,a,i){var s=R(e=o.getGraphDiv(e),n,a,i,function(t,e,r){var n,a;if(o.isTypedArray(t))if(r<=0){var i=new t.constructor(0),s=F(e,t);r<0?(n=s,a=i):(n=i,a=s)}else if(n=new t.constructor(r),a=new t.constructor(t.length+e.length-r),r===e.length)n.set(e),a.set(t);else if(r<e.length){var l=e.length-r;n.set(e.subarray(0,l)),a.set(e.subarray(l)),a.set(t,l)}else{var c=r-e.length;n.set(e),n.set(t.subarray(0,c),e.length),a.set(t.subarray(c))}else n=e.concat(t),a=r>=0&&r<n.length?n.splice(r,n.length):[];return[n,a]}),l=r.redraw(e),u=[e,s.update,a,s.maxPoints];return c.add(e,r.extendTraces,u,t,arguments),l},r.newPlot=function(t,e,n,a){return t=o.getGraphDiv(t),f.cleanPlot([],{},t._fullData||[],t._fullLayout||{}),f.purge(t),r.plot(t,e,n,a)},r.plot=function(t,e,a,i){var s;if(t=o.getGraphDiv(t),l.init(t),o.isPlainObject(e)){var c=e;e=c.data,a=c.layout,i=c.config,s=c.frames}if(!1===l.triggerHandler(t,"plotly_beforeplot",[e,a,i]))return Promise.reject();e||a||o.isPlotDiv(t)||o.warn("Calling Plotly.plot as if redrawing but this container doesn't yet have a plot.",t),O(t,i),a||(a={}),n.select(t).classed("js-plotly-plot",!0),g.makeTester(),Array.isArray(t._promises)||(t._promises=[]);var h=0===(t.data||[]).length&&Array.isArray(e);Array.isArray(e)&&(k.cleanData(e),h?t.data=e:t.data.push.apply(t.data,e),t.empty=!1),t.layout&&!h||(t.layout=k.cleanLayout(a)),f.supplyDefaults(t);var v=t._fullLayout,y=v._has("cartesian");if(!v._has("polar")&&e&&e[0]&&e[0].r)return o.log("Legacy polar charts are deprecated!"),function(t,e,r){var a=n.select(t).selectAll(".plot-container").data([0]);a.enter().insert("div",":first-child").classed("plot-container plotly",!0);var i=a.selectAll(".svg-container").data([0]);i.enter().append("div").classed("svg-container",!0).style("position","relative"),i.html(""),e&&(t.data=e),r&&(t.layout=r),p.manager.fillLayout(t),i.style({width:t._fullLayout.width+"px",height:t._fullLayout.height+"px"}),t.framework=p.manager.framework(t),t.framework({data:t.data,layout:t.layout},i.node()),t.framework.setUndoPoint();var s=t.framework.svg(),l=1,c=t._fullLayout.title?t._fullLayout.title.text:"";""!==c&&c||(l=0);var u=function(){this.call(x.convertToTspans,t)},h=s.select(".title-group text").call(u);if(t._context.edits.titleText){var d=o._(t,"Click to enter Plot title");c&&c!==d||(l=.2,h.attr({"data-unformatted":d}).text(d).style({opacity:l}).on("mouseover.opacity",function(){n.select(this).transition().duration(100).style("opacity",1)}).on("mouseout.opacity",function(){n.select(this).transition().duration(1e3).style("opacity",0)}));var g=function(){this.call(x.makeEditable,{gd:t}).on("edit",function(e){t.framework({layout:{title:{text:e}}}),this.text(e).call(u),this.call(g)}).on("cancel",function(){var t=this.attr("data-unformatted");this.text(t).call(u)})};h.call(g)}return t._context.setBackground(t,t._fullLayout.paper_bgcolor),f.addLinks(t),Promise.resolve()}(t,e,a);v._replotting=!0,h&&lt(t),t.framework!==lt&&(t.framework=lt,lt(t)),g.initGradients(t),h&&d.saveShowSpikeInitial(t);var b=!t.calcdata||t.calcdata.length!==(t._fullData||[]).length;b&&f.doCalcdata(t);for(var _=0;_<t.calcdata.length;_++)t.calcdata[_][0].trace=t._fullData[_];t._context.responsive?t._responsiveChartHandler||(t._responsiveChartHandler=function(){o.isHidden(t)||f.resize(t)},window.addEventListener("resize",t._responsiveChartHandler)):o.clearResponsive(t);var w=o.extendFlat({},v._size),A=0;function M(){if(f.clearAutoMarginIds(t),T.drawMarginPushers(t),d.allowAutoMargin(t),v._has("pie"))for(var e=t._fullData,r=0;r<e.length;r++){var n=e[r];"pie"===n.type&&n.automargin&&f.allowAutoMargin(t,"pie."+n.uid+".automargin")}return f.doAutoMargin(t),f.previousPromises(t)}function S(){t._transitioning||(T.doAutoRangeAndConstraints(t),h&&d.saveRangeInitial(t),u.getComponentMethod("rangeslider","calcAutorange")(t))}var E=[f.previousPromises,function(){if(s)return r.addFrames(t,s)},function e(){for(var r=v._basePlotModules,n=0;n<r.length;n++)r[n].drawFramework&&r[n].drawFramework(t);if(!v._glcanvas&&v._has("gl")&&(v._glcanvas=v._glcontainer.selectAll(".gl-canvas").data([{key:"contextLayer",context:!0,pick:!1},{key:"focusLayer",context:!1,pick:!1},{key:"pickLayer",context:!1,pick:!0}],function(t){return t.key}),v._glcanvas.enter().append("canvas").attr("class",function(t){return"gl-canvas gl-canvas-"+t.key.replace("Layer","")}).style({position:"absolute",top:0,left:0,overflow:"visible","pointer-events":"none"})),v._glcanvas){v._glcanvas.attr("width",v.width).attr("height",v.height);var a=v._glcanvas.data()[0].regl;if(a&&(Math.floor(v.width)!==a._gl.drawingBufferWidth||Math.floor(v.height)!==a._gl.drawingBufferHeight)){var i="WebGL context buffer and canvas dimensions do not match due to browser/WebGL bug.";if(!A)return o.log(i+" Clearing graph and plotting again."),f.cleanPlot([],{},t._fullData,v),f.supplyDefaults(t),v=t._fullLayout,f.doCalcdata(t),A++,e();o.error(i)}}return"h"===v.modebar.orientation?v._modebardiv.style("height",null).style("width","100%"):v._modebardiv.style("width",null).style("height",v.height+"px"),f.previousPromises(t)},M,function(){if(f.didMarginChange(w,v._size))return o.syncOrAsync([M,T.layoutStyles],t)}];y&&E.push(function(){if(b)return o.syncOrAsync([u.getComponentMethod("shapes","calcAutorange"),u.getComponentMethod("annotations","calcAutorange"),S],t);S()}),E.push(T.layoutStyles),y&&E.push(function(){return d.draw(t,h?"":"redraw")}),E.push(T.drawData,T.finalDraw,m,f.addLinks,f.rehover,f.redrag,f.doAutoMargin,f.previousPromises);var C=o.syncOrAsync(E,t);return C&&C.then||(C=Promise.resolve()),C.then(function(){return L(t),t})},r.purge=function(t){var e=(t=o.getGraphDiv(t))._fullLayout||{},r=t._fullData||[];return f.cleanPlot([],{},r,e),f.purge(t),l.purge(t),e._container&&e._container.remove(),delete t._context,t},r.react=function(t,e,n,a){var i,l;t=o.getGraphDiv(t),k.clearPromiseQueue(t);var c=t._fullData,p=t._fullLayout;if(o.isPlotDiv(t)&&c&&p){if(o.isPlainObject(e)){var d=e;e=d.data,n=d.layout,a=d.config,i=d.frames}var g=!1;if(a){var v=o.extendDeep({},t._context);t._context=void 0,O(t,a),g=function t(e,r){var n;for(n in e)if("_"!==n.charAt(0)){var a=e[n],i=r[n];if(a!==i)if(o.isPlainObject(a)&&o.isPlainObject(i)){if(t(a,i))return!0}else{if(!Array.isArray(a)||!Array.isArray(i))return!0;if(a.length!==i.length)return!0;for(var s=0;s<a.length;s++)if(a[s]!==i[s]){if(!o.isPlainObject(a[s])||!o.isPlainObject(i[s]))return!0;if(t(a[s],i[s]))return!0}}}}(v,t._context)}t.data=e||[],k.cleanData(t.data),t.layout=n||{},k.cleanLayout(t.layout),function(t,e,r,n){var a,i,l,c,u,h,f,p,d=n._preGUI,g=[],v={};for(a in d){if(u=rt(a,tt)){if(i=u.attr||u.head+".uirevision",(c=(l=s(n,i).get())&&nt(i,e))&&c===l&&(null===(h=d[a])&&(h=void 0),ot(p=(f=s(e,a)).get(),h))){void 0===p&&"autorange"===a.substr(a.length-9)&&g.push(a.substr(0,a.length-10)),f.set(N(s(n,a).get()));continue}}else o.warn("unrecognized GUI edit: "+a);delete d[a],"range["===a.substr(a.length-8,6)&&(v[a.substr(0,a.length-9)]=1)}for(var m=0;m<g.length;m++){var y=g[m];if(v[y]){var x=s(e,y).get();x&&delete x.autorange}}var b=n._tracePreGUI;for(var _ in b){var w,k=b[_],T=null;for(a in k){if(!T){var A=at(_,r);if(A<0){delete b[_];break}var M=it(_,t,(w=r[A]._fullInput).index);if(M<0){delete b[_];break}T=t[M]}if(u=rt(a,et)){if(u.attr?c=(l=s(n,u.attr).get())&&nt(u.attr,e):(l=w.uirevision,void 0===(c=T.uirevision)&&(c=e.uirevision)),c&&c===l&&(null===(h=k[a])&&(h=void 0),ot(p=(f=s(T,a)).get(),h))){f.set(N(s(w,a).get()));continue}}else o.warn("unrecognized GUI edit: "+a+" in trace uid "+_);delete k[a]}}}(t.data,t.layout,c,p),f.supplyDefaults(t,{skipUpdateCalc:!0});var m=t._fullData,y=t._fullLayout,x=void 0===y.datarevision,b=y.transition,_=function(t,e,r,n,a){var i=A.layoutFlags();return i.arrays={},i.rangesAltered={},i.nChanges=0,i.nChangesAnim=0,st(e,r,[],{getValObject:function(t){return h.getLayoutValObject(r,t)},flags:i,immutable:n,transition:a,gd:t}),(i.plot||i.calc)&&(i.layoutReplot=!0),a&&i.nChanges&&i.nChangesAnim&&(i.anim=i.nChanges===i.nChangesAnim?"all":"some"),i}(t,p,y,x,b),w=_.newDataRevision,M=function(t,e,r,n,a,i){var o=e.length===r.length;if(!a&&!o)return{fullReplot:!0,calc:!0};var s,l,c=A.traceFlags();c.arrays={},c.nChanges=0,c.nChangesAnim=0;var u={getValObject:function(t){var e=h.getTraceValObject(l,t);return!l._module.animatable&&e.anim&&(e.anim=!1),e},flags:c,immutable:n,transition:a,newDataRevision:i,gd:t},p={};for(s=0;s<e.length;s++)if(r[s]){if(l=r[s]._fullInput,f.hasMakesDataTransform(l)&&(l=r[s]),p[l.uid])continue;p[l.uid]=1,st(e[s]._fullInput,l,[],u)}return(c.calc||c.plot)&&(c.fullReplot=!0),a&&c.nChanges&&c.nChangesAnim&&(c.anim=c.nChanges===c.nChangesAnim&&o?"all":"some"),c}(t,c,m,x,b,w);K(t)&&(_.layoutReplot=!0),M.calc||_.calc?t.calcdata=void 0:f.supplyDefaultsUpdateCalc(t.calcdata,m);var S=[];if(i&&(t._transitionData={},f.createTransitionData(t),S.push(function(){return r.addFrames(t,i)})),y.transition&&!g&&(M.anim||_.anim))f.doCalcdata(t),T.doAutoRangeAndConstraints(t),S.push(function(){return f.transitionFromReact(t,M,_,p)});else if(M.fullReplot||_.layoutReplot||g)t._fullLayout._skipDefaults=!0,S.push(r.plot);else{for(var E in _.arrays){var C=_.arrays[E];if(C.length){var P=u.getComponentMethod(E,"drawOne");if(P!==o.noop)for(var z=0;z<C.length;z++)P(t,C[z]);else{var I=u.getComponentMethod(E,"draw");if(I===o.noop)throw new Error("cannot draw components: "+E);I(t)}}}S.push(f.previousPromises),M.style&&S.push(T.doTraceStyle),(M.colorbars||_.colorbars)&&S.push(T.doColorBars),_.legend&&S.push(T.doLegend),_.layoutstyle&&S.push(T.layoutStyles),_.axrange&&Y(S),_.ticks&&S.push(T.doTicksRelayout),_.modebar&&S.push(T.doModeBar),_.camera&&S.push(T.doCamera),S.push(L)}S.push(f.rehover,f.redrag),(l=o.syncOrAsync(S,t))&&l.then||(l=Promise.resolve(t))}else l=r.newPlot(t,e,n,a);return l.then(function(){return t.emit("plotly_react",{data:e,layout:n}),t})},r.redraw=function(t){if(t=o.getGraphDiv(t),!o.isPlotDiv(t))throw new Error("This element is not a Plotly plot: "+t);return k.cleanData(t.data),k.cleanLayout(t.layout),t.calcdata=void 0,r.plot(t).then(function(){return t.emit("plotly_redraw"),t})},r.relayout=H,r.restyle=B,r.setPlotConfig=function(t){return o.extendFlat(_,t)},r.update=Q,r._guiRelayout=$(H),r._guiRestyle=$(B),r._guiUpdate=$(Q),r._storeDirectGUIEdit=function(t,e,r){for(var n in r)V(n,s(t,n).get(),r[n],e)}},{"../components/color":591,"../components/drawing":612,"../constants/xmlns_namespaces":693,"../lib":716,"../lib/events":706,"../lib/queue":731,"../lib/svg_text_utils":740,"../plots/cartesian/axes":764,"../plots/cartesian/constants":770,"../plots/cartesian/graph_interact":773,"../plots/cartesian/select":781,"../plots/plots":825,"../plots/polar/legacy":833,"../registry":845,"./edit_types":747,"./helpers":748,"./manage_arrays":750,"./plot_config":752,"./plot_schema":753,"./subroutines":755,d3:164,"fast-isnumeric":227,"has-hover":411}],752:[function(t,e,r){"use strict";var n={staticPlot:{valType:"boolean",dflt:!1},plotlyServerURL:{valType:"string",dflt:"https://plot.ly"},editable:{valType:"boolean",dflt:!1},edits:{annotationPosition:{valType:"boolean",dflt:!1},annotationTail:{valType:"boolean",dflt:!1},annotationText:{valType:"boolean",dflt:!1},axisTitleText:{valType:"boolean",dflt:!1},colorbarPosition:{valType:"boolean",dflt:!1},colorbarTitleText:{valType:"boolean",dflt:!1},legendPosition:{valType:"boolean",dflt:!1},legendText:{valType:"boolean",dflt:!1},shapePosition:{valType:"boolean",dflt:!1},titleText:{valType:"boolean",dflt:!1}},autosizable:{valType:"boolean",dflt:!1},responsive:{valType:"boolean",dflt:!1},fillFrame:{valType:"boolean",dflt:!1},frameMargins:{valType:"number",dflt:0,min:0,max:.5},scrollZoom:{valType:"flaglist",flags:["cartesian","gl3d","geo","mapbox"],extras:[!0,!1],dflt:"gl3d+geo+mapbox"},doubleClick:{valType:"enumerated",values:[!1,"reset","autosize","reset+autosize"],dflt:"reset+autosize"},doubleClickDelay:{valType:"number",dflt:300,min:0},showAxisDragHandles:{valType:"boolean",dflt:!0},showAxisRangeEntryBoxes:{valType:"boolean",dflt:!0},showTips:{valType:"boolean",dflt:!0},showLink:{valType:"boolean",dflt:!1},linkText:{valType:"string",dflt:"Edit chart",noBlank:!0},sendData:{valType:"boolean",dflt:!0},showSources:{valType:"any",dflt:!1},displayModeBar:{valType:"enumerated",values:["hover",!0,!1],dflt:"hover"},showSendToCloud:{valType:"boolean",dflt:!1},showEditInChartStudio:{valType:"boolean",dflt:!1},modeBarButtonsToRemove:{valType:"any",dflt:[]},modeBarButtonsToAdd:{valType:"any",dflt:[]},modeBarButtons:{valType:"any",dflt:!1},toImageButtonOptions:{valType:"any",dflt:{}},displaylogo:{valType:"boolean",dflt:!0},watermark:{valType:"boolean",dflt:!1},plotGlPixelRatio:{valType:"number",dflt:2,min:1,max:4},setBackground:{valType:"any",dflt:"transparent"},topojsonURL:{valType:"string",noBlank:!0,dflt:"https://cdn.plot.ly/"},mapboxAccessToken:{valType:"string",dflt:null},logging:{valType:"boolean",dflt:1},queueLength:{valType:"integer",min:0,dflt:0},globalTransforms:{valType:"any",dflt:[]},locale:{valType:"string",dflt:"en-US"},locales:{valType:"any",dflt:{}}},a={};!function t(e,r){for(var n in e){var a=e[n];a.valType?r[n]=a.dflt:(r[n]||(r[n]={}),t(a,r[n]))}}(n,a),e.exports={configAttributes:n,dfltConfig:a}},{}],753:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib"),i=t("../plots/attributes"),o=t("../plots/layout_attributes"),s=t("../plots/frame_attributes"),l=t("../plots/animation_attributes"),c=t("./plot_config").configAttributes,u=t("../plots/polar/legacy/area_attributes"),h=t("../plots/polar/legacy/axis_attributes"),f=t("./edit_types"),p=a.extendFlat,d=a.extendDeepAll,g=a.isPlainObject,v=a.isArrayOrTypedArray,m=a.nestedProperty,y=a.valObjectMeta,x="_isSubplotObj",b="_isLinkedToArray",_=[x,b,"_arrayAttrRegexps","_deprecated"];function w(t,e,r){if(!t)return!1;if(t._isLinkedToArray)if(k(e[r]))r++;else if(r<e.length)return!1;for(;r<e.length;r++){var n=t[e[r]];if(!g(n))break;if(t=n,r===e.length-1)break;if(t._isLinkedToArray){if(!k(e[++r]))return!1}else if("info_array"===t.valType){var a=e[++r];if(!k(a))return!1;var i=t.items;if(Array.isArray(i)){if(a>=i.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!k(o))return!1;t=i[a][o]}else t=i[a]}else t=i}}return t}function k(t){return t===Math.round(t)&&t>=0}function T(t){return function(t){r.crawl(t,function(t,e,n){r.isValObject(t)?"data_array"===t.valType?(t.role="data",n[e+"src"]={valType:"string",editType:"none"}):!0===t.arrayOk&&(n[e+"src"]={valType:"string",editType:"none"}):g(t)&&(t.role="object")})}(t),function(t){r.crawl(t,function(t,e,r){if(!t)return;var n=t[b];if(!n)return;delete t[b],r[e]={items:{}},r[e].items[n]=t,r[e].role="object"})}(t),function(t){!function t(e){for(var r in e)if(g(e[r]))t(e[r]);else if(Array.isArray(e[r]))for(var n=0;n<e[r].length;n++)t(e[r][n]);else e[r]instanceof RegExp&&(e[r]=e[r].toString())}(t)}(t),t}function A(t,e,r){var n=m(t,r),a=d({},e.layoutAttributes);a[x]=!0,n.set(a)}function M(t,e,r){var n=m(t,r);n.set(d(n.get()||{},e))}r.IS_SUBPLOT_OBJ=x,r.IS_LINKED_TO_ARRAY=b,r.DEPRECATED="_deprecated",r.UNDERSCORE_ATTRS=_,r.get=function(){var t={};n.allTypes.concat("area").forEach(function(e){t[e]=function(t){var e,a;"area"===t?(e={attributes:u},a={}):(e=n.modules[t]._module,a=e.basePlotModule);var o={type:null},s=d({},i),l=d({},e.attributes);r.crawl(l,function(t,e,r,n,a){m(s,a).set(void 0),void 0===t&&m(l,a).set(void 0)}),d(o,s),n.traceIs(t,"noOpacity")&&delete o.opacity;n.traceIs(t,"showLegend")||(delete o.showlegend,delete o.legendgroup);n.traceIs(t,"noHover")&&(delete o.hoverinfo,delete o.hoverlabel);e.selectPoints||delete o.selectedpoints;d(o,l),a.attributes&&d(o,a.attributes);o.type=t;var c={meta:e.meta||{},categories:e.categories||{},animatable:Boolean(e.animatable),type:t,attributes:T(o)};if(e.layoutAttributes){var h={};d(h,e.layoutAttributes),c.layoutAttributes=T(h)}e.animatable||r.crawl(c,function(t){r.isValObject(t)&&"anim"in t&&delete t.anim});return c}(e)});var e,a={};return Object.keys(n.transformsRegistry).forEach(function(t){a[t]=function(t){var e=n.transformsRegistry[t],r=d({},e.attributes);return Object.keys(n.componentsRegistry).forEach(function(e){var a=n.componentsRegistry[e];a.schema&&a.schema.transforms&&a.schema.transforms[t]&&Object.keys(a.schema.transforms[t]).forEach(function(e){M(r,a.schema.transforms[t][e],e)})}),{attributes:T(r)}}(t)}),{defs:{valObjects:y,metaKeys:_.concat(["description","role","editType","impliedEdits"]),editType:{traces:f.traces,layout:f.layout},impliedEdits:{}},traces:t,layout:function(){var t,e,r={};for(t in d(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var a=0;a<e.attr.length;a++)A(r,e,e.attr[a]);else{var i="subplot"===e.attr?e.name:e.attr;A(r,e,i)}for(t in r=function(t){return p(t,{radialaxis:h.radialaxis,angularaxis:h.angularaxis}),p(t,h.layout),t}(r),n.componentsRegistry){var s=(e=n.componentsRegistry[t]).schema;if(s&&(s.subplots||s.layout)){var l=s.subplots;if(l&&l.xaxis&&!l.yaxis)for(var c in l.xaxis)delete r.yaxis[c]}else"colorscale"===e.name?d(r,e.layoutAttributes):e.layoutAttributes&&M(r,e.layoutAttributes,e.name)}return{layoutAttributes:T(r)}}(),transforms:a,frames:(e={frames:d({},s)},T(e),e.frames),animation:T(l),config:T(c)}},r.crawl=function(t,e,n,a){var i=n||0;a=a||"",Object.keys(t).forEach(function(n){var o=t[n];if(-1===_.indexOf(n)){var s=(a?a+".":"")+n;e(o,n,t,i,s),r.isValObject(o)||g(o)&&"impliedEdits"!==n&&r.crawl(o,e,i+1,s)}})},r.isValObject=function(t){return t&&void 0!==t.valType},r.findArrayAttributes=function(t){var e,n,a=[],o=[],s=[];function l(t,r,i,l){o=o.slice(0,l).concat([r]),s=s.slice(0,l).concat([t&&t._isLinkedToArray]),t&&("data_array"===t.valType||!0===t.arrayOk)&&!("colorbar"===o[l-1]&&("ticktext"===r||"tickvals"===r))&&function t(e,r,i){var l=e[o[r]];var c=i+o[r];if(r===o.length-1)v(l)&&a.push(n+c);else if(s[r]){if(Array.isArray(l))for(var u=0;u<l.length;u++)g(l[u])&&t(l[u],r+1,c+"["+u+"].")}else g(l)&&t(l,r+1,c+".")}(e,0,"")}e=t,n="",r.crawl(i,l),t._module&&t._module.attributes&&r.crawl(t._module.attributes,l);var c=t.transforms;if(c)for(var u=0;u<c.length;u++){var h=c[u],f=h._module;f&&(n="transforms["+u+"].",e=h,r.crawl(f.attributes,l))}return a},r.getTraceValObject=function(t,e){var r,a,o=e[0],s=1;if("transforms"===o){if(1===e.length)return i.transforms;var l=t.transforms;if(!Array.isArray(l)||!l.length)return!1;var c=e[1];if(!k(c)||c>=l.length)return!1;a=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else if("area"===t.type)a=u[o];else{var h=t._module;if(h||(h=(n.modules[t.type||i.type.dflt]||{})._module),!h)return!1;if(!(a=(r=h.attributes)&&r[o])){var f=h.basePlotModule;f&&f.attributes&&(a=f.attributes[o])}a||(a=i[o])}return w(a,e,s)},r.getLayoutValObject=function(t,e){return w(function(t,e){var r,a,i,s,l=t._basePlotModules;if(l){var c;for(r=0;r<l.length;r++){if((i=l[r]).attrRegex&&i.attrRegex.test(e)){if(i.layoutAttrOverrides)return i.layoutAttrOverrides;!c&&i.layoutAttributes&&(c=i.layoutAttributes)}var u=i.baseLayoutAttrOverrides;if(u&&e in u)return u[e]}if(c)return c}var f=t._modules;if(f)for(r=0;r<f.length;r++)if((s=f[r].layoutAttributes)&&e in s)return s[e];for(a in n.componentsRegistry){if("colorscale"===(i=n.componentsRegistry[a]).name&&0===e.indexOf("coloraxis"))return i.layoutAttributes[e];if(!i.schema&&e===i.name)return i.layoutAttributes}if(e in o)return o[e];if("radialaxis"===e||"angularaxis"===e)return h[e];return h.layout[e]||!1}(t,e[0]),e,1)}},{"../lib":716,"../plots/animation_attributes":759,"../plots/attributes":761,"../plots/frame_attributes":791,"../plots/layout_attributes":816,"../plots/polar/legacy/area_attributes":831,"../plots/polar/legacy/axis_attributes":832,"../registry":845,"./edit_types":747,"./plot_config":752}],754:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/attributes"),i="templateitemname",o={name:{valType:"string",editType:"none"}};function s(t){return t&&"string"==typeof t}function l(t){var e=t.length-1;return"s"!==t.charAt(e)&&n.warn("bad argument to arrayDefaultKey: "+t),t.substr(0,t.length-1)+"defaults"}o[i]={valType:"string",editType:"calc"},r.templatedArray=function(t,e){return e._isLinkedToArray=t,e.name=o.name,e[i]=o[i],e},r.traceTemplater=function(t){var e,r,i={};for(e in t)r=t[e],Array.isArray(r)&&r.length&&(i[e]=0);return{newTrace:function(o){var s={type:e=n.coerce(o,{},a,"type"),_template:null};if(e in i){r=t[e];var l=i[e]%r.length;i[e]++,s._template=r[l]}return s}}},r.newContainer=function(t,e,r){var a=t._template,i=a&&(a[e]||r&&a[r]);return n.isPlainObject(i)||(i=null),t[e]={_template:i}},r.arrayTemplater=function(t,e,r){var n=t._template,a=n&&n[l(e)],o=n&&n[e];Array.isArray(o)&&o.length||(o=[]);var c={};return{newItem:function(t){var e={name:t.name,_input:t},n=e[i]=t[i];if(!s(n))return e._template=a,e;for(var l=0;l<o.length;l++){var u=o[l];if(u.name===n)return c[n]=1,e._template=u,e}return e[r]=t[r]||!1,e._template=!1,e},defaultItems:function(){for(var t=[],e=0;e<o.length;e++){var r=o[e],n=r.name;if(s(n)&&!c[n]){var a={_template:r,name:n,_input:{_templateitemname:n}};a[i]=r[i],t.push(a),c[n]=1}}return t}}},r.arrayDefaultKey=l,r.arrayEditor=function(t,e,r){var a=(n.nestedProperty(t,e).get()||[]).length,o=r._index,s=o>=a&&(r._input||{})._templateitemname;s&&(o=a);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][i]=s)}function h(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function f(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:h,getUpdateObj:f,applyUpdate:function(e,r){e&&h(e,r);var a=f();for(var i in a)n.nestedProperty(t,i).set(a[i])}}}},{"../lib":716,"../plots/attributes":761}],755:[function(t,e,r){"use strict";var n=t("d3"),a=t("../registry"),i=t("../plots/plots"),o=t("../lib"),s=t("../lib/clear_gl_canvases"),l=t("../components/color"),c=t("../components/drawing"),u=t("../components/titles"),h=t("../components/modebar"),f=t("../plots/cartesian/axes"),p=t("../constants/alignment"),d=t("../plots/cartesian/constraints"),g=d.enforce,v=d.clean,m=t("../plots/cartesian/autorange").doAutoRange,y="start",x="middle",b="end";function _(t,e,r){for(var n=0;n<r.length;n++){var a=r[n][0],i=r[n][1];if(!(a[0]>=t[1]||a[1]<=t[0])&&(i[0]<e[1]&&i[1]>e[0]))return!0}return!1}function w(t){var e,a,s,u,d,g,v=t._fullLayout,m=v._size,y=m.p,x=f.list(t,"",!0);if(v._paperdiv.style({width:t._context.responsive&&v.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":v.width+"px",height:t._context.responsive&&v.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":v.height+"px"}).selectAll(".main-svg").call(c.setSize,v.width,v.height),t._context.setBackground(t,v.paper_bgcolor),r.drawMainTitle(t),h.manage(t),!v._has("cartesian"))return i.previousPromises(t);function b(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-y-n:e._offset+e._length+y+n:m.t+m.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+y+n:e._offset-y-n:m.l+m.w*(t.position||0)+n%1}for(e=0;e<x.length;e++){var w=(u=x[e])._anchorAxis;u._linepositions={},u._lw=c.crispRound(t,u.linewidth,1),u._mainLinePosition=b(u,w,u.side),u._mainMirrorPosition=u.mirror&&w?b(u,w,p.OPPOSITE_SIDE[u.side]):null}var T=[],M=[],S=[],E=1===l.opacity(v.paper_bgcolor)&&1===l.opacity(v.plot_bgcolor)&&v.paper_bgcolor===v.plot_bgcolor;for(a in v._plots)if((s=v._plots[a]).mainplot)s.bg&&s.bg.remove(),s.bg=void 0;else{var L=s.xaxis.domain,C=s.yaxis.domain,P=s.plotgroup;if(_(L,C,S)){var O=P.node(),z=s.bg=o.ensureSingle(P,"rect","bg");O.insertBefore(z.node(),O.childNodes[0]),M.push(a)}else P.select("rect.bg").remove(),S.push([L,C]),E||(T.push(a),M.push(a))}var I,D,R,F,B,N,j,V,U,q,H,G,Y,W=v._bgLayer.selectAll(".bg").data(T);for(W.enter().append("rect").classed("bg",!0),W.exit().remove(),W.each(function(t){v._plots[t].bg=n.select(this)}),e=0;e<M.length;e++)s=v._plots[M[e]],d=s.xaxis,g=s.yaxis,s.bg&&s.bg.call(c.setRect,d._offset-y,g._offset-y,d._length+2*y,g._length+2*y).call(l.fill,v.plot_bgcolor).style("stroke-width",0);if(!v._hasOnlyLargeSploms)for(a in v._plots){s=v._plots[a],d=s.xaxis,g=s.yaxis;var X,Z,J=s.clipId="clip"+v._uid+a+"plot",K=o.ensureSingleById(v._clips,"clipPath",J,function(t){t.classed("plotclip",!0).append("rect")});s.clipRect=K.select("rect").attr({width:d._length,height:g._length}),c.setTranslate(s.plot,d._offset,g._offset),s._hasClipOnAxisFalse?(X=null,Z=J):(X=J,Z=null),c.setClipUrl(s.plot,X,t),s.layerClipId=Z}function Q(t){return"M"+I+","+t+"H"+D}function $(t){return"M"+d._offset+","+t+"h"+d._length}function tt(t){return"M"+t+","+V+"V"+j}function et(t){return"M"+t+","+g._offset+"v"+g._length}function rt(t,e,r){if(!t.showline||a!==t._mainSubplot)return"";if(!t._anchorAxis)return r(t._mainLinePosition);var n=e(t._mainLinePosition);return t.mirror&&(n+=e(t._mainMirrorPosition)),n}for(a in v._plots){s=v._plots[a],d=s.xaxis,g=s.yaxis;var nt="M0,0";k(d,a)&&(B=A(d,"left",g,x),I=d._offset-(B?y+B:0),N=A(d,"right",g,x),D=d._offset+d._length+(N?y+N:0),R=b(d,g,"bottom"),F=b(d,g,"top"),!(Y=!d._anchorAxis||a!==d._mainSubplot)||"allticks"!==d.mirror&&"all"!==d.mirror||(d._linepositions[a]=[R,F]),nt=rt(d,Q,$),Y&&d.showline&&("all"===d.mirror||"allticks"===d.mirror)&&(nt+=Q(R)+Q(F)),s.xlines.style("stroke-width",d._lw+"px").call(l.stroke,d.showline?d.linecolor:"rgba(0,0,0,0)")),s.xlines.attr("d",nt);var at="M0,0";k(g,a)&&(H=A(g,"bottom",d,x),j=g._offset+g._length+(H?y:0),G=A(g,"top",d,x),V=g._offset-(G?y:0),U=b(g,d,"left"),q=b(g,d,"right"),!(Y=!g._anchorAxis||a!==g._mainSubplot)||"allticks"!==g.mirror&&"all"!==g.mirror||(g._linepositions[a]=[U,q]),at=rt(g,tt,et),Y&&g.showline&&("all"===g.mirror||"allticks"===g.mirror)&&(at+=tt(U)+tt(q)),s.ylines.style("stroke-width",g._lw+"px").call(l.stroke,g.showline?g.linecolor:"rgba(0,0,0,0)")),s.ylines.attr("d",at)}return f.makeClipPaths(t),i.previousPromises(t)}function k(t,e){return(t.ticks||t.showline)&&(e===t._mainSubplot||"all"===t.mirror||"allticks"===t.mirror)}function T(t,e,r){if(!r.showline||!r._lw)return!1;if("all"===r.mirror||"allticks"===r.mirror)return!0;var n=r._anchorAxis;if(!n)return!1;var a=p.FROM_BL[e];return r.side===e?n.domain[a]===t.domain[a]:r.mirror&&n.domain[1-a]===t.domain[1-a]}function A(t,e,r,n){if(T(t,e,r))return r._lw;for(var a=0;a<n.length;a++){var i=n[a];if(i._mainAxis===r._mainAxis&&T(t,e,i))return i._lw}return 0}r.layoutStyles=function(t){return o.syncOrAsync([i.doAutoMargin,w],t)},r.drawMainTitle=function(t){var e=t._fullLayout,r=function(t){var e=t.title,r=x;o.isRightAnchor(e)?r=b:o.isLeftAnchor(e)&&(r=y);return r}(e),n=function(t){var e=t.title,r="0em";o.isTopAnchor(e)?r=p.CAP_SHIFT+"em":o.isMiddleAnchor(e)&&(r=p.MID_SHIFT+"em");return r}(e);u.draw(t,"gtitle",{propContainer:e,propName:"title.text",placeholder:e._dfltTitle.plot,attributes:{x:function(t,e){var r=t.title,n=t._size,a=0;e===y?a=r.pad.l:e===b&&(a=-r.pad.r);switch(r.xref){case"paper":return n.l+n.w*r.x+a;case"container":default:return t.width*r.x+a}}(e,r),y:function(t,e){var r=t.title,n=t._size,a=0;"0em"!==e&&e?e===p.CAP_SHIFT+"em"&&(a=r.pad.t):a=-r.pad.b;if("auto"===r.y)return n.t/2;switch(r.yref){case"paper":return n.t+n.h-n.h*r.y+a;case"container":default:return t.height-t.height*r.y+a}}(e,n),"text-anchor":r,dy:n}})},r.doTraceStyle=function(t){var e,n=t.calcdata,o=[];for(e=0;e<n.length;e++){var l=n[e],c=l[0]||{},u=c.trace||{},h=u._module||{},f=h.arraysToCalcdata;f&&f(l,u);var p=h.editStyle;p&&o.push({fn:p,cd0:c})}if(o.length){for(e=0;e<o.length;e++){var d=o[e];d.fn(t,d.cd0)}s(t),r.redrawReglTraces(t)}return i.style(t),a.getComponentMethod("legend","draw")(t),i.previousPromises(t)},r.doColorBars=function(t){return a.getComponentMethod("colorbar","draw")(t),i.previousPromises(t)},r.layoutReplot=function(t){var e=t.layout;return t.layout=void 0,a.call("plot",t,"",e)},r.doLegend=function(t){return a.getComponentMethod("legend","draw")(t),i.previousPromises(t)},r.doTicksRelayout=function(t){return f.draw(t,"redraw"),t._fullLayout._hasOnlyLargeSploms&&(a.subplotsRegistry.splom.updateGrid(t),s(t),r.redrawReglTraces(t)),r.drawMainTitle(t),i.previousPromises(t)},r.doModeBar=function(t){var e=t._fullLayout;h.manage(t);for(var r=0;r<e._basePlotModules.length;r++){var n=e._basePlotModules[r].updateFx;n&&n(t)}return i.previousPromises(t)},r.doCamera=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){var a=e[r[n]];a._scene.setViewport(a)}},r.drawData=function(t){var e=t._fullLayout;s(t);for(var n=e._basePlotModules,o=0;o<n.length;o++)n[o].plot(t);return r.redrawReglTraces(t),i.style(t),a.getComponentMethod("shapes","draw")(t),a.getComponentMethod("annotations","draw")(t),a.getComponentMethod("images","draw")(t),e._replotting=!1,i.previousPromises(t)},r.redrawReglTraces=function(t){var e=t._fullLayout;if(e._has("regl")){var r,n,a=t._fullData,i=[],s=[];for(e._hasOnlyLargeSploms&&e._splomGrid.draw(),r=0;r<a.length;r++){var l=a[r];!0===l.visible&&0!==l._length&&("splom"===l.type?e._splomScenes[l.uid].draw():"scattergl"===l.type?o.pushUnique(i,l.xaxis+l.yaxis):"scatterpolargl"===l.type&&o.pushUnique(s,l.subplot))}for(r=0;r<i.length;r++)(n=e._plots[i[r]])._scene&&n._scene.draw();for(r=0;r<s.length;r++)(n=e[s[r]]._subplot)._scene&&n._scene.draw()}},r.doAutoRangeAndConstraints=function(t){for(var e,r,n=t._fullLayout,a=f.list(t,"",!0),i=n._axisMatchGroups||[],s=0;s<a.length;s++)e=a[s],v(t,e),m(t,e);g(t);t:for(var l=0;l<i.length;l++){var c,u=i[l],h=null;for(c in u){if(!1===(e=f.getFromId(t,c)).autorange)continue t;r=o.simpleMap(e.range,e.r2l),h?h[0]<h[1]?(h[0]=Math.min(h[0],r[0]),h[1]=Math.max(h[1],r[1])):(h[0]=Math.max(h[0],r[0]),h[1]=Math.min(h[1],r[1])):h=r}for(c in u)(e=f.getFromId(t,c)).range=o.simpleMap(h,e.l2r),e._input.range=e.range.slice(),e.setScale()}},r.finalDraw=function(t){a.getComponentMethod("rangeslider","draw")(t),a.getComponentMethod("rangeselector","draw")(t)},r.drawMarginPushers=function(t){a.getComponentMethod("legend","draw")(t),a.getComponentMethod("rangeselector","draw")(t),a.getComponentMethod("sliders","draw")(t),a.getComponentMethod("updatemenus","draw")(t),a.getComponentMethod("colorbar","draw")(t)}},{"../components/color":591,"../components/drawing":612,"../components/modebar":649,"../components/titles":678,"../constants/alignment":685,"../lib":716,"../lib/clear_gl_canvases":701,"../plots/cartesian/autorange":763,"../plots/cartesian/axes":764,"../plots/cartesian/constraints":771,"../plots/plots":825,"../registry":845,d3:164}],756:[function(t,e,r){"use strict";var n=t("../lib"),a=n.isPlainObject,i=t("./plot_schema"),o=t("../plots/plots"),s=t("../plots/attributes"),l=t("./plot_template"),c=t("./plot_config").dfltConfig;function u(t,e){t=n.extendDeep({},t);var r,i,o=Object.keys(t).sort();function s(e,r,n){if(a(r)&&a(e))u(e,r);else if(Array.isArray(r)&&Array.isArray(e)){var o=l.arrayTemplater({_template:t},n);for(i=0;i<r.length;i++){var s=r[i],c=o.newItem(s)._template;c&&u(c,s)}var h=o.defaultItems();for(i=0;i<h.length;i++)r.push(h[i]._template);for(i=0;i<r.length;i++)delete r[i].templateitemname}}for(r=0;r<o.length;r++){var c=o[r],f=t[c];if(c in e?s(f,e[c],c):e[c]=f,h(c)===c)for(var p in e){var d=h(p);p===d||d!==c||p in t||s(f,e[p],c)}}}function h(t){return t.replace(/[0-9]+$/,"")}function f(t,e,r,i,o){var s=o&&r(o);for(var c in t){var u=t[c],d=p(t,c,i),g=p(t,c,o),v=r(g);if(!v){var m=h(c);m!==c&&(v=r(g=p(t,m,o)))}if((!s||s!==v)&&!(!v||v._noTemplating||"data_array"===v.valType||v.arrayOk&&Array.isArray(u)))if(!v.valType&&a(u))f(u,e,r,d,g);else if(v._isLinkedToArray&&Array.isArray(u))for(var y=!1,x=0,b={},_=0;_<u.length;_++){var w=u[_];if(a(w)){var k=w.name;if(k)b[k]||(f(w,e,r,p(u,x,d),p(u,x,g)),x++,b[k]=1);else if(!y){var T=p(t,l.arrayDefaultKey(c),i),A=p(u,x,d);f(w,e,r,A,p(u,x,g));var M=n.nestedProperty(e,A);n.nestedProperty(e,T).set(M.get()),M.set(null),y=!0}}}else{n.nestedProperty(e,d).set(u)}}}function p(t,e,r){return r?Array.isArray(t)?r+"["+e+"]":r+"."+e:e}function d(t){for(var e=0;e<t.length;e++)if(a(t[e]))return!0}function g(t){var e;switch(t.code){case"data":e="The template has no key data.";break;case"layout":e="The template has no key layout.";break;case"missing":e=t.path?"There are no templates for item "+t.path+" with name "+t.templateitemname:"There are no templates for trace "+t.index+", of type "+t.traceType+".";break;case"unused":e=t.path?"The template item at "+t.path+" was not used in constructing the plot.":t.dataCount?"Some of the templates of type "+t.traceType+" were not used. The template has "+t.templateCount+" traces, the data only has "+t.dataCount+" of this type.":"The template has "+t.templateCount+" traces of type "+t.traceType+" but there are none in the data.";break;case"reused":e="Some of the templates of type "+t.traceType+" were used more than once. The template has "+t.templateCount+" traces, the data has "+t.dataCount+" of this type."}return t.msg=e,t}r.makeTemplate=function(t){t=n.isPlainObject(t)?t:n.getGraphDiv(t),t=n.extendDeep({_context:c},{data:t.data,layout:t.layout}),o.supplyDefaults(t);var e=t.data||[],r=t.layout||{};r._basePlotModules=t._fullLayout._basePlotModules,r._modules=t._fullLayout._modules;var l={data:{},layout:{}};e.forEach(function(t){var e={};f(t,e,function(t,e){return i.getTraceValObject(t,n.nestedProperty({},e).parts)}.bind(null,t));var r=n.coerce(t,{},s,"type"),a=l.data[r];a||(a=l.data[r]=[]),a.push(e)}),f(r,l.layout,function(t,e){return i.getLayoutValObject(t,n.nestedProperty({},e).parts)}.bind(null,r)),delete l.layout.template;var h=r.template;if(a(h)){var p,d,g,v,m,y,x=h.layout;a(x)&&u(x,l.layout);var b=h.data;if(a(b)){for(d in l.data)if(g=b[d],Array.isArray(g)){for(y=(m=l.data[d]).length,v=g.length,p=0;p<y;p++)u(g[p%v],m[p]);for(p=y;p<v;p++)m.push(n.extendDeep({},g[p]))}for(d in b)d in l.data||(l.data[d]=n.extendDeep([],b[d]))}}return l},r.validateTemplate=function(t,e){var r=n.extendDeep({},{_context:c,data:t.data,layout:t.layout}),i=r.layout||{};a(e)||(e=i.template||{});var s=e.layout,l=e.data,u=[];r.layout=i,r.layout.template=e,o.supplyDefaults(r);var f=r._fullLayout,v=r._fullData,m={};if(a(s)?(!function t(e,r){for(var n in e)if("_"!==n.charAt(0)&&a(e[n])){var i,o=h(n),s=[];for(i=0;i<r.length;i++)s.push(p(e,n,r[i])),o!==n&&s.push(p(e,o,r[i]));for(i=0;i<s.length;i++)m[s[i]]=1;t(e[n],s)}}(f,["layout"]),function t(e,r){for(var n in e)if(-1===n.indexOf("defaults")&&a(e[n])){var i=p(e,n,r);m[i]?t(e[n],i):u.push({code:"unused",path:i})}}(s,"layout")):u.push({code:"layout"}),a(l)){for(var y,x={},b=0;b<v.length;b++){var _=v[b];x[y=_.type]=(x[y]||0)+1,_._fullInput._template||u.push({code:"missing",index:_._fullInput.index,traceType:y})}for(y in l){var w=l[y].length,k=x[y]||0;w>k?u.push({code:"unused",traceType:y,templateCount:w,dataCount:k}):k>w&&u.push({code:"reused",traceType:y,templateCount:w,dataCount:k})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var i=e[n],o=p(e,n,r);a(i)?(Array.isArray(e)&&!1===i._template&&i.templateitemname&&u.push({code:"missing",path:o,templateitemname:i.templateitemname}),t(i,o)):Array.isArray(i)&&d(i)&&t(i,o)}}({data:v,layout:f},""),u.length)return u.map(g)}},{"../lib":716,"../plots/attributes":761,"../plots/plots":825,"./plot_config":752,"./plot_schema":753,"./plot_template":754}],757:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./plot_api"),i=t("../lib"),o=t("../snapshot/helpers"),s=t("../snapshot/tosvg"),l=t("../snapshot/svgtoimg"),c={format:{valType:"enumerated",values:["png","jpeg","webp","svg"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};e.exports=function(t,e){var r,u,h,f;function p(t){return!(t in e)||i.validate(e[t],c[t])}if(e=e||{},i.isPlainObject(t)?(r=t.data||[],u=t.layout||{},h=t.config||{},f={}):(t=i.getGraphDiv(t),r=i.extendDeep([],t.data),u=i.extendDeep({},t.layout),h=t._context,f=t._fullLayout||{}),!p("width")&&null!==e.width||!p("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!p("format"))throw new Error("Image format is not jpeg, png, svg or webp.");var d={};function g(t,r){return i.coerce(e,d,c,t,r)}var v=g("format"),m=g("width"),y=g("height"),x=g("scale"),b=g("setBackground"),_=g("imageDataOnly"),w=document.createElement("div");w.style.position="absolute",w.style.left="-5000px",document.body.appendChild(w);var k=i.extendFlat({},u);m?k.width=m:null===e.width&&n(f.width)&&(k.width=f.width),y?k.height=y:null===e.height&&n(f.height)&&(k.height=f.height);var T=i.extendFlat({},h,{_exportedPlot:!0,staticPlot:!0,setBackground:b}),A=o.getRedrawFunc(w);function M(){return new Promise(function(t){setTimeout(t,o.getDelay(w._fullLayout))})}function S(){return new Promise(function(t,e){var r=s(w,v,x),n=w._fullLayout.width,c=w._fullLayout.height;if(a.purge(w),document.body.removeChild(w),"svg"===v)return t(_?r:o.encodeSVG(r));var u=document.createElement("canvas");u.id=i.randstr(),l({format:v,width:n,height:c,scale:x,canvas:u,svg:r,promise:!0}).then(t).catch(e)})}return new Promise(function(t,e){a.plot(w,r,k,T).then(A).then(M).then(S).then(function(e){t(function(t){return _?t.replace(o.IMAGE_URL_PREFIX,""):t}(e))}).catch(function(t){e(t)})})}},{"../lib":716,"../snapshot/helpers":849,"../snapshot/svgtoimg":851,"../snapshot/tosvg":853,"./plot_api":751,"fast-isnumeric":227}],758:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/plots"),i=t("./plot_schema"),o=t("./plot_config").dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,a,i,o){o=o||[];for(var h=Object.keys(t),f=0;f<h.length;f++){var v=h[f];if("transforms"!==v){var m=o.slice();m.push(v);var y=t[v],x=e[v],b=g(r,v),_="info_array"===(b||{}).valType,w="colorscale"===(b||{}).valType,k=(b||{}).items;if(d(r,v))if(s(y)&&s(x))u(y,x,b,a,i,m);else if(_&&l(y)){y.length>x.length&&a.push(p("unused",i,m.concat(x.length)));var T,A,M,S,E,L=x.length,C=Array.isArray(k);if(C&&(L=Math.min(L,k.length)),2===b.dimensions)for(A=0;A<L;A++)if(l(y[A])){y[A].length>x[A].length&&a.push(p("unused",i,m.concat(A,x[A].length)));var P=x[A].length;for(T=0;T<(C?Math.min(P,k[A].length):P);T++)M=C?k[A][T]:k,S=y[A][T],E=x[A][T],n.validate(S,M)?E!==S&&E!==+S&&a.push(p("dynamic",i,m.concat(A,T),S,E)):a.push(p("value",i,m.concat(A,T),S))}else a.push(p("array",i,m.concat(A),y[A]));else for(A=0;A<L;A++)M=C?k[A]:k,S=y[A],E=x[A],n.validate(S,M)?E!==S&&E!==+S&&a.push(p("dynamic",i,m.concat(A),S,E)):a.push(p("value",i,m.concat(A),S))}else if(b.items&&!_&&l(y)){var O,z,I=k[Object.keys(k)[0]],D=[];for(O=0;O<x.length;O++){var R=x[O]._index||O;if((z=m.slice()).push(R),s(y[R])&&s(x[O])){D.push(R);var F=y[R],B=x[O];s(F)&&!1!==F.visible&&!1===B.visible?a.push(p("invisible",i,z)):u(F,B,I,a,i,z)}}for(O=0;O<y.length;O++)(z=m.slice()).push(O),s(y[O])?-1===D.indexOf(O)&&a.push(p("unused",i,z)):a.push(p("object",i,z,y[O]))}else!s(y)&&s(x)?a.push(p("object",i,m,y)):c(y)||!c(x)||_||w?v in e?n.validate(y,b)?"enumerated"===b.valType&&(b.coerceNumber&&y!==+x||y!==x)&&a.push(p("dynamic",i,m,y,x)):a.push(p("value",i,m,y)):a.push(p("unused",i,m,y)):a.push(p("array",i,m,y));else a.push(p("schema",i,m))}}return a}e.exports=function(t,e){var r,c,h=i.get(),f=[],d={_context:n.extendFlat({},o)};l(t)?(d.data=n.extendDeep([],t),r=t):(d.data=[],r=[],f.push(p("array","data"))),s(e)?(d.layout=n.extendDeep({},e),c=e):(d.layout={},c={},arguments.length>1&&f.push(p("object","layout"))),a.supplyDefaults(d);for(var g=d._fullData,v=r.length,m=0;m<v;m++){var y=r[m],x=["data",m];if(s(y)){var b=g[m],_=b.type,w=h.traces[_].attributes;w.type={valType:"enumerated",values:[_]},!1===b.visible&&!1!==y.visible&&f.push(p("invisible",x)),u(y,b,w,f,x);var k=y.transforms,T=b.transforms;if(k){l(k)||f.push(p("array",x,["transforms"])),x.push("transforms");for(var A=0;A<k.length;A++){var M=["transforms",A],S=k[A].type;if(s(k[A])){var E=h.transforms[S]?h.transforms[S].attributes:{};E.type={valType:"enumerated",values:Object.keys(h.transforms)},u(k[A],T[A],E,f,x,M)}else f.push(p("object",x,M))}}}else f.push(p("object",x))}return u(c,d._fullLayout,function(t,e){for(var r=t.layout.layoutAttributes,a=0;a<e.length;a++){var i=e[a],o=t.traces[i.type],s=o.layoutAttributes;s&&(i.subplot?n.extendFlat(r[o.attributes.subplot.dflt],s):n.extendFlat(r,s))}return r}(h,g),f,"layout"),0===f.length?void 0:f};var h={object:function(t,e){return("layout"===t&&""===e?"The layout argument":"data"===t[0]&&""===e?"Trace "+t[1]+" in the data argument":f(t)+"key "+e)+" must be linked to an object container"},array:function(t,e){return("data"===t?"The data argument":f(t)+"key "+e)+" must be linked to an array container"},schema:function(t,e){return f(t)+"key "+e+" is not part of the schema"},unused:function(t,e,r){var n=s(r)?"container":"key";return f(t)+n+" "+e+" did not get coerced"},dynamic:function(t,e,r,n){return[f(t)+"key",e,"(set to '"+r+"')","got reset to","'"+n+"'","during defaults."].join(" ")},invisible:function(t,e){return(e?f(t)+"item "+e:"Trace "+t[1])+" got defaulted to be not visible"},value:function(t,e,r){return[f(t)+"key "+e,"is set to an invalid value ("+r+")"].join(" ")}};function f(t){return l(t)?"In data trace "+t[1]+", ":"In "+t+", "}function p(t,e,r,a,i){var o,s;r=r||"",l(e)?(o=e[0],s=e[1]):(o=e,s=null);var c=function(t){if(!l(t))return String(t);for(var e="",r=0;r<t.length;r++){var n=t[r];"number"==typeof n?e=e.substr(0,e.length-1)+"["+n+"]":e+=n,r<t.length-1&&(e+=".")}return e}(r),u=h[t](e,c,a,i);return n.log(u),{code:t,container:o,trace:s,path:r,astr:c,msg:u}}function d(t,e){var r=m(e),n=r.keyMinusId,a=r.id;return!!(n in t&&t[n]._isSubplotObj&&a)||e in t}function g(t,e){return e in t?t[e]:t[m(e).keyMinusId]}var v=n.counterRegex("([a-z]+)");function m(t){var e=t.match(v);return{keyMinusId:e&&e[1],id:e&&e[2]}}},{"../lib":716,"../plots/plots":825,"./plot_config":752,"./plot_schema":753}],759:[function(t,e,r){"use strict";e.exports={mode:{valType:"enumerated",dflt:"afterall",values:["immediate","next","afterall"]},direction:{valType:"enumerated",values:["forward","reverse"],dflt:"forward"},fromcurrent:{valType:"boolean",dflt:!1},frame:{duration:{valType:"number",min:0,dflt:500},redraw:{valType:"boolean",dflt:!0}},transition:{duration:{valType:"number",min:0,dflt:500,editType:"none"},easing:{valType:"enumerated",dflt:"cubic-in-out",values:["linear","quad","cubic","sin","exp","circle","elastic","back","bounce","linear-in","quad-in","cubic-in","sin-in","exp-in","circle-in","elastic-in","back-in","bounce-in","linear-out","quad-out","cubic-out","sin-out","exp-out","circle-out","elastic-out","back-out","bounce-out","linear-in-out","quad-in-out","cubic-in-out","sin-in-out","exp-in-out","circle-in-out","elastic-in-out","back-in-out","bounce-in-out"],editType:"none"},ordering:{valType:"enumerated",values:["layout first","traces first"],dflt:"layout first",editType:"none"}}}},{}],760:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_template");e.exports=function(t,e,r){var i,o,s=r.name,l=r.inclusionAttr||"visible",c=e[s],u=n.isArrayOrTypedArray(t[s])?t[s]:[],h=e[s]=[],f=a.arrayTemplater(e,s,l);for(i=0;i<u.length;i++){var p=u[i];n.isPlainObject(p)?o=f.newItem(p):(o=f.newItem({}))[l]=!1,o._index=i,!1!==o[l]&&r.handleItemDefaults(p,o,e,r),h.push(o)}var d=f.defaultItems();for(i=0;i<d.length;i++)(o=d[i])._index=h.length,r.handleItemDefaults({},o,e,r,{}),h.push(o);if(n.isArrayOrTypedArray(c)){var g=Math.min(c.length,h.length);for(i=0;i<g;i++)n.relinkPrivateKeys(h[i],c[i])}return h}},{"../lib":716,"../plot_api/plot_template":754}],761:[function(t,e,r){"use strict";var n=t("../components/fx/attributes");e.exports={type:{valType:"enumerated",values:[],dflt:"scatter",editType:"calc+clearAxisTypes",_noTemplating:!0},visible:{valType:"enumerated",values:[!0,!1,"legendonly"],dflt:!0,editType:"calc"},showlegend:{valType:"boolean",dflt:!0,editType:"style"},legendgroup:{valType:"string",dflt:"",editType:"style"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"style"},name:{valType:"string",editType:"style"},uid:{valType:"string",editType:"plot",anim:!0},ids:{valType:"data_array",editType:"calc",anim:!0},customdata:{valType:"data_array",editType:"calc"},meta:{valType:"any",arrayOk:!0,editType:"plot"},selectedpoints:{valType:"any",editType:"calc"},hoverinfo:{valType:"flaglist",flags:["x","y","z","text","name"],extras:["all","none","skip"],arrayOk:!0,dflt:"all",editType:"none"},hoverlabel:n.hoverlabel,stream:{token:{valType:"string",noBlank:!0,strict:!0,editType:"calc"},maxpoints:{valType:"number",min:0,max:1e4,dflt:500,editType:"calc"},editType:"calc"},transforms:{_isLinkedToArray:"transform",editType:"calc"},uirevision:{valType:"any",editType:"none"}}},{"../components/fx/attributes":621}],762:[function(t,e,r){"use strict";e.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},{}],763:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").FP_SAFE,o=t("../../registry");function s(t,e){var r,n,i=[],o=l(e),s=c(t,e),u=s.min,h=s.max;if(0===u.length||0===h.length)return a.simpleMap(e.range,e.r2l);var f=u[0].val,p=h[0].val;for(r=1;r<u.length&&f===p;r++)f=Math.min(f,u[r].val);for(r=1;r<h.length&&f===p;r++)p=Math.max(p,h[r].val);var d=!1;if(e.range){var g=a.simpleMap(e.range,e.r2l);d=g[1]<g[0]}"reversed"===e.autorange&&(d=!0,e.autorange=!0);var v,m,y,x,b,_,w=e.rangemode,k="tozero"===w,T="nonnegative"===w,A=e._length,M=A/10,S=0;for(r=0;r<u.length;r++)for(v=u[r],n=0;n<h.length;n++)(_=(m=h[n]).val-v.val)>0&&((b=A-o(v)-o(m))>M?_/b>S&&(y=v,x=m,S=_/b):_/A>S&&(y={val:v.val,pad:0},x={val:m.val,pad:0},S=_/A));if(f===p){var E=f-1,L=f+1;if(k)if(0===f)i=[0,1];else{var C=(f>0?h:u).reduce(function(t,e){return Math.max(t,o(e))},0),P=f/(1-Math.min(.5,C/A));i=f>0?[0,P]:[P,0]}else i=T?[Math.max(0,E),Math.max(1,L)]:[E,L]}else k?(y.val>=0&&(y={val:0,pad:0}),x.val<=0&&(x={val:0,pad:0})):T&&(y.val-S*o(y)<0&&(y={val:0,pad:0}),x.val<=0&&(x={val:1,pad:0})),S=(x.val-y.val)/(A-o(y)-o(x)),i=[y.val-S*o(y),x.val+S*o(x)];return d&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function l(t){var e=t._length/20;return"domain"===t.constrain&&t._inputDomain&&(e*=(t._inputDomain[1]-t._inputDomain[0])/(t.domain[1]-t.domain[0])),function(t){return t.pad+(t.extrapad?e:0)}}function c(t,e){var r,n,a,i=e._id,o=t._fullData,s=t._fullLayout,l=[],c=[];function f(t,e){for(r=0;r<e.length;r++){var o=t[e[r]],s=(o._extremes||{})[i];if(!0===o.visible&&s){for(n=0;n<s.min.length;n++)a=s.min[n],u(l,a.val,a.pad,{extrapad:a.extrapad});for(n=0;n<s.max.length;n++)a=s.max[n],h(c,a.val,a.pad,{extrapad:a.extrapad})}}}return f(o,e._traceIndices),f(s.annotations||[],e._annIndices||[]),f(s.shapes||[],e._shapeIndices||[]),{min:l,max:c}}function u(t,e,r,n){f(t,e,r,n,d)}function h(t,e,r,n){f(t,e,r,n,g)}function f(t,e,r,n,a){for(var i=n.tozero,o=n.extrapad,s=!0,l=0;l<t.length&&s;l++){var c=t[l];if(a(c.val,e)&&c.pad>=r&&(c.extrapad||!o)){s=!1;break}a(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=i&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function p(t){return n(t)&&Math.abs(t)<i}function d(t,e){return t<=e}function g(t,e){return t>=e}e.exports={getAutoRange:s,makePadFn:l,doAutoRange:function(t,e){if(e.setScale(),e.autorange){e.range=s(t,e),e._r=e.range.slice(),e._rl=a.simpleMap(e._r,e.r2l);var r=e._input,n={};n[e._attr+".range"]=e.range,n[e._attr+".autorange"]=e.autorange,o.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,n),r.range=e.range.slice(),r.autorange=e.autorange}var i=e._anchorAxis;if(i&&i.rangeslider){var l=i.rangeslider[e._name];l&&"auto"===l.rangemode&&(l.range=s(t,e)),i._input.rangeslider[e._name]=a.extendFlat({},l)}},findExtremes:function(t,e,r){r||(r={});t._m||t.setScale();var a,o,s,l,c,f,d,g,v,m=[],y=[],x=e.length,b=r.padded||!1,_=r.tozero&&("linear"===t.type||"-"===t.type),w="log"===t.type,k=!1,T=r.vpadLinearized||!1;function A(t){if(Array.isArray(t))return k=!0,function(e){return Math.max(Number(t[e]||0),0)};var e=Math.max(Number(t||0),0);return function(){return e}}var M=A((t._m>0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!k){if(g=1/0,v=-1/0,w)for(a=0;a<x;a++)(o=e[a])<g&&o>0&&(g=o),o>v&&o<i&&(v=o);else for(a=0;a<x;a++)(o=e[a])<g&&o>-i&&(g=o),o>v&&o<i&&(v=o);e=[g,v],x=2}var C={tozero:_,extrapad:b};function P(r){s=e[r],n(s)&&(f=M(r),d=S(r),T?(l=t.c2l(s)-L(r),c=t.c2l(s)+E(r)):(g=s-L(r),v=s+E(r),w&&g<v/10&&(g=v/10),l=t.c2l(g),c=t.c2l(v)),_&&(l=Math.min(0,l),c=Math.max(0,c)),p(l)&&u(m,l,d,C),p(c)&&h(y,c,f,C))}var O=Math.min(6,x);for(a=0;a<O;a++)P(a);for(a=x-1;a>=O;a--)P(a);return{min:m,max:y,opts:r}},concatExtremes:c}},{"../../constants/numerical":692,"../../lib":716,"../../registry":845,"fast-isnumeric":227}],764:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../plots/plots"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/titles"),u=t("../../components/color"),h=t("../../components/drawing"),f=t("./layout_attributes"),p=t("./clean_ticks"),d=t("../../constants/numerical"),g=d.ONEAVGYEAR,v=d.ONEAVGMONTH,m=d.ONEDAY,y=d.ONEHOUR,x=d.ONEMIN,b=d.ONESEC,_=d.MINUS_SIGN,w=d.BADNUM,k=t("../../constants/alignment"),T=k.MID_SHIFT,A=k.CAP_SHIFT,M=k.LINE_SPACING,S=k.OPPOSITE_SIDE,E=e.exports={};E.setConvert=t("./set_convert");var L=t("./axis_autotype"),C=t("./axis_ids");E.id2name=C.id2name,E.name2id=C.name2id,E.cleanId=C.cleanId,E.list=C.list,E.listIds=C.listIds,E.getFromId=C.getFromId,E.getFromTrace=C.getFromTrace;var P=t("./autorange");E.getAutoRange=P.getAutoRange,E.findExtremes=P.findExtremes,E.coerceRef=function(t,e,r,n,a,i){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return a||(a=l[0]||i),i||(i=a),u[c]={valType:"enumerated",values:l.concat(i?[i]:[]),dflt:a},s.coerce(t,e,u,c)},E.coercePosition=function(t,e,r,n,a,i){var o,l;if("paper"===n||"pixel"===n)o=s.ensureNumber,l=r(a,i);else{var c=E.getFromId(e,n);l=r(a,i=c.fraction2r(i)),o=c.cleanPos}t[a]=o(l)},E.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:E.getFromId(e,r).cleanPos)(t)},E.redrawComponents=function(t,e){e=e||E.listIds(t);var r=t._fullLayout;function n(n,a,i,s){for(var l=o.getComponentMethod(n,a),c={},u=0;u<e.length;u++)for(var h=r[E.id2name(e[u])][i],f=0;f<h.length;f++){var p=h[f];if(!c[p]&&(l(t,p),c[p]=1,s))return}}n("annotations","drawOne","_annIndices"),n("shapes","drawOne","_shapeIndices"),n("images","draw","_imgIndices",!0)};var O=E.getDataConversions=function(t,e,r,n){var a,i="x"===r||"y"===r||"z"===r?r:n;if(Array.isArray(i)){if(a={type:L(n),_categories:[]},E.setConvert(a),"category"===a.type)for(var o=0;o<n.length;o++)a.d2c(n[o])}else a=E.getFromTrace(t,e,i);return a?{d2c:a.d2c,c2d:a.c2d}:"ids"===i?{d2c:I,c2d:I}:{d2c:z,c2d:z}};function z(t){return+t}function I(t){return String(t)}E.getDataToCoordFunc=function(t,e,r,n){return O(t,e,r,n).d2c},E.counterLetter=function(t){var e=t.charAt(0);return"x"===e?"y":"y"===e?"x":void 0},E.minDtick=function(t,e,r,n){-1===["log","category","multicategory"].indexOf(t.type)&&n?void 0===t._minDtick?(t._minDtick=e,t._forceTick0=r):t._minDtick&&((t._minDtick/e+1e-6)%1<2e-6&&((r-t._forceTick0)/e%1+1.000001)%1<2e-6?(t._minDtick=e,t._forceTick0=r):((e/t._minDtick+1e-6)%1>2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},E.saveRangeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a=0;a<r.length;a++){var i=r[a],o=void 0===i._rangeInitial,s=o||!(i.range[0]===i._rangeInitial[0]&&i.range[1]===i._rangeInitial[1]);(o&&!1===i.autorange||e&&s)&&(i._rangeInitial=i.range.slice(),n=!0)}return n},E.saveShowSpikeInitial=function(t,e){for(var r=E.list(t,"",!0),n=!1,a="on",i=0;i<r.length;i++){var o=r[i],s=void 0===o._showSpikeInitial,l=s||!(o.showspikes===o._showspikes);(s||e&&l)&&(o._showSpikeInitial=o.showspikes,n=!0),"on"!==a||o.showspikes||(a="off")}return t._fullLayout._cartesianSpikesEnabled=a,n},E.autoBin=function(t,e,r,n,i,o){var l,c=s.aggNums(Math.min,null,t),u=s.aggNums(Math.max,null,t);if("category"===e.type||"multicategory"===e.type)return{start:c-.5,end:u+.5,size:Math.max(1,Math.round(o)||1),_dataSpan:u-c};if(i||(i=e.calendar),l="log"===e.type?{type:"linear",range:[c,u]}:{type:e.type,range:s.simpleMap([c,u],e.c2r,0,i),calendar:i},E.setConvert(l),o=o&&p.dtick(o,l.type))l.dtick=o,l.tick0=p.tick0(void 0,l.type,i);else{var h;if(r)h=(u-c)/r;else{var f=s.distinctVals(t),d=Math.pow(10,Math.floor(Math.log(f.minDiff)/Math.LN10)),g=d*s.roundUp(f.minDiff/d,[.9,1.9,4.9,9.9],!0);h=Math.max(g,2*s.stdev(t)/Math.pow(t.length,n?.25:.4)),a(h)||(h=1)}E.autoTicks(l,h)}var v,y=l.dtick,x=E.tickIncrement(E.tickFirst(l),y,"reverse",i);if("number"==typeof y)v=(x=function(t,e,r,n,i){var o=0,s=0,l=0,c=0;function u(e){return(1+100*(e-t)/r.dtick)%100<2}for(var h=0;h<e.length;h++)e[h]%1==0?l++:a(e[h])||c++,u(e[h])&&o++,u(e[h]+r.dtick/2)&&s++;var f=e.length-c;if(l===f&&"date"!==r.type)r.dtick<1?t=n-.5*r.dtick:(t-=.5)+r.dtick<n&&(t+=r.dtick);else if(s<.1*f&&(o>.3*f||u(n)||u(i))){var p=r.dtick/2;t+=t+p<n?p:-p}return t}(x,t,l,c,u))+(1+Math.floor((u-x)/y))*y;else for("M"===l.dtick.charAt(0)&&(x=function(t,e,r,n,a){var i=s.findExactDates(e,a);if(i.exactDays>.8){var o=Number(r.substr(1));i.exactYears>.8&&o%12==0?t=E.tickIncrement(t,"M6","reverse")+1.5*m:i.exactMonths>.8?t=E.tickIncrement(t,"M1","reverse")+15.5*m:t-=m/2;var l=E.tickIncrement(t,r);if(l<=n)return l}return t}(x,t,y,c,i)),v=x,0;v<=u;)v=E.tickIncrement(v,y,!1,i),0;return{start:e.c2r(x,0,i),end:e.c2r(v,0,i),size:y,_dataSpan:u-c}},E.prepTicks=function(t){var e=s.simpleMap(t.range,t.r2l);if("auto"===t.tickmode||!t.dtick){var r,n=t.nticks;n||("category"===t.type||"multicategory"===t.type?(r=t.tickfont?1.2*(t.tickfont.size||12):15,n=t._length/r):(r="y"===t._id.charAt(0)?40:80,n=s.constrain(t._length/r,4,9)+1),"radialaxis"===t._name&&(n*=2)),"array"===t.tickmode&&(n*=100),E.autoTicks(t,Math.abs(e[1]-e[0])/n),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}t.tick0||(t.tick0="date"===t.type?"2000-01-01":0),"date"===t.type&&t.dtick<.1&&(t.dtick=.1),q(t)},E.calcTicks=function(t){E.prepTicks(t);var e=s.simpleMap(t.range,t.r2l);if("array"===t.tickmode)return function(t){var e=t.tickvals,r=t.ticktext,n=new Array(e.length),a=s.simpleMap(t.range,t.r2l),i=1.0001*a[0]-1e-4*a[1],o=1.0001*a[1]-1e-4*a[0],l=Math.min(i,o),c=Math.max(i,o),u=0;Array.isArray(r)||(r=[]);var h="category"===t.type?t.d2l_noadd:t.d2l;"log"===t.type&&"L"!==String(t.dtick).charAt(0)&&(t.dtick="L"+Math.pow(10,Math.floor(Math.min(t.range[0],t.range[1]))-1));for(var f=0;f<e.length;f++){var p=h(e[f]);p>l&&p<c&&(void 0===r[f]?n[u]=E.tickText(t,p):n[u]=H(t,p,String(r[f])),u++)}u<e.length&&n.splice(u,e.length-u);return n}(t);t._tmin=E.tickFirst(t);var r=1.0001*e[0]-1e-4*e[1],n=1.0001*e[1]-1e-4*e[0],i=e[1]<e[0];if(t._tmin<r!==i)return[];var o=[];"category"!==t.type&&"multicategory"!==t.type||(n=i?Math.max(-.5,n):Math.min(t._categories.length-.5,n));for(var l="log"===t.type&&!(a(t.dtick)||"L"===t.dtick.charAt(0)),c=null,u=Math.max(1e3,t._length||0),h=t._tmin;(i?h>=n:h<=n)&&!(o.length>u||h===c);h=E.tickIncrement(h,t.dtick,i,t.calendar)){c=h;var f=!1;l&&h!==(0|h)&&(f=!0),o.push({minor:f,value:h})}it(t)&&360===Math.abs(e[1]-e[0])&&o.pop(),t._tmax=(o[o.length-1]||{}).value,t._prevDateHead="",t._inCalcTicks=!0;for(var p=new Array(o.length),d=0;d<o.length;d++)p[d]=E.tickText(t,o[d].value,!1,o[d].minor);return t._inCalcTicks=!1,p};var D=[2,5,10],R=[1,2,3,6,12],F=[1,2,5,10,15,30],B=[1,2,3,7,14],N=[-.046,0,.301,.477,.602,.699,.778,.845,.903,.954,1],j=[-.301,0,.301,.699,1],V=[15,30,45,90,180];function U(t,e,r){return e*s.roundUp(t/e,r)}function q(t){var e=t.dtick;if(t._tickexponent=0,a(e)||"string"==typeof e||(e=1),"category"!==t.type&&"multicategory"!==t.type||(t._tickround=null),"date"===t.type){var r=t.r2l(t.tick0),n=t.l2r(r).replace(/(^-|i)/g,""),i=n.length;if("M"===String(e).charAt(0))i>10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=m&&i<=10||e>=15*m)t._tickround="d";else if(e>=x&&i<=16||e>=y)t._tickround="M";else if(e>=b&&i<=19||e>=x)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(i,o)-20,t._tickround<0&&(t._tickround=4)}}else if(a(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);a(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01);Math.abs(c)>3&&(Y(t.exponentformat)&&!W(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function H(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontColor:n.color}}E.autoTicks=function(t,e){var r;function n(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar);var i=2*e;i>g?(e/=g,r=n(10),t.dtick="M"+12*U(e,r,D)):i>v?(e/=v,t.dtick="M"+U(e,1,R)):i>m?(t.dtick=U(e,m,B),t.tick0=s.dateTick0(t.calendar,!0)):i>y?t.dtick=U(e,y,R):i>x?t.dtick=U(e,x,F):i>b?t.dtick=U(e,b,F):(r=n(10),t.dtick=U(e,r,D))}else if("log"===t.type){t.tick0=0;var o=s.simpleMap(t.range,t.r2l);if(e>.7)t.dtick=Math.ceil(e);else if(Math.abs(o[1]-o[0])<1){var l=1.5*Math.abs((o[1]-o[0])/e);e=Math.abs(Math.pow(10,o[1])-Math.pow(10,o[0]))/l,r=n(10),t.dtick="L"+U(e,r,D)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):it(t)?(t.tick0=0,r=1,t.dtick=U(e,r,V)):(t.tick0=0,r=n(10),t.dtick=U(e,r,D));if(0===t.dtick&&(t.dtick=1),!a(t.dtick)&&"string"!=typeof t.dtick){var c=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(c)}},E.tickIncrement=function(t,e,r,i){var o=r?-1:1;if(a(e))return t+o*e;var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,i);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?j:N,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(e)},E.tickFirst=function(t){var e=t.r2l||Number,r=s.simpleMap(t.range,e),i=r[1]<r[0],o=i?Math.floor:Math.ceil,l=1.0001*r[0]-1e-4*r[1],c=t.dtick,u=e(t.tick0);if(a(c)){var h=o((l-u)/c)*c+u;return"category"!==t.type&&"multicategory"!==t.type||(h=s.constrain(h,0,t._categories.length-1)),h}var f=c.charAt(0),p=Number(c.substr(1));if("M"===f){for(var d,g,v,m=0,y=u;m<10;){if(((d=E.tickIncrement(y,c,i,t.calendar))-l)*(y-l)<=0)return i?Math.min(y,d):Math.max(y,d);g=(l-(y+d)/2)/(d-y),v=f+(Math.abs(Math.round(g))||1)*p,y=E.tickIncrement(y,v,g<0?!i:i,t.calendar),m++}return s.error("tickFirst did not converge",t),y}if("L"===f)return Math.log(o((Math.pow(10,l)-u)/p)*p+u)/Math.LN10;if("D"===f){var x="D2"===c?j:N,b=s.roundUp(s.mod(l,1),x,i);return Math.floor(l)+Math.log(n.round(Math.pow(10,b),1))/Math.LN10}throw"unrecognized dtick "+String(c)},E.tickText=function(t,e,r,n){var i,o=H(t,e),l="array"===t.tickmode,c=r||l,u=t.type,h="category"===u?t.d2l_noadd:t.d2l;if(l&&Array.isArray(t.ticktext)){var f=s.simpleMap(t.range,t.r2l),p=Math.abs(f[1]-f[0])/1e4;for(i=0;i<t.ticktext.length&&!(Math.abs(e-h(t.tickvals[i]))<p);i++);if(i<t.ticktext.length)return o.text=String(t.ticktext[i]),o}function d(n){if(void 0===n)return!0;if(r)return"none"===n;var a={first:t._tmin,last:t._tmax}[n];return"all"!==n&&e!==a}var g=r?"never":"none"!==t.exponentformat&&d(t.showexponent)?"hide":"";if("date"===u?function(t,e,r,n){var i=t._tickround,o=r&&t.hoverformat||E.getTickFormat(t);n&&(i=a(i)?4:{y:"m",m:"d",d:"M",M:"S",S:4}[i]);var l,c=s.formatDate(e.x,o,i,t._dateFormat,t.calendar,t._extraFormat),u=c.indexOf("\n");-1!==u&&(l=c.substr(u+1),c=c.substr(0,u));n&&("00:00:00"===c||"00:00"===c?(c=l,l=""):8===c.length&&(c=c.replace(/:00$/,"")));l&&(r?"d"===i?c+=", "+l:c=l+(c?", "+c:""):t._inCalcTicks&&l===t._prevDateHead||(c+="<br>"+l,t._prevDateHead=l));e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,i){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);"never"===i&&(i="");n&&"L"!==u&&(o="L3",u="L");if(c||"L"===u)e.text=X(Math.pow(10,l),t,i,n);else if(a(o)||"D"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;"power"===p||Y(p)&&W(h)?(e.text=0===h?1:1===h?"10":"10<sup>"+(h>1?"":_)+f+"</sup>",e.fontSize*=1.25):("e"===p||"E"===p)&&f>2?e.text="1"+p+(h>0?"+":_)+f:(e.text=X(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r="");e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),a=t._categories[n]||[],i=void 0===a[1]?"":String(a[1]),o=void 0===a[0]?"":String(a[0]);r?e.text=o+" - "+i:(e.text=i,e.text2=o)}(t,o,r):it(t)?function(t,e,r,n,a){if("radians"!==t.thetaunit||r)e.text=X(e.x,t,a,n);else{var i=e.x/180;if(0===i)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){var r=1;for(;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,a=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/a),Math.round(r/a)]}(i);if(o[1]>=100)e.text=X(s.deg2rad(e.x),t,a,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="\u03c0":e.text=o[0]+"\u03c0":e.text=["<sup>",o[0],"</sup>","\u2044","<sub>",o[1],"</sub>","\u03c0"].join(""),l&&(e.text=_+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,a){"never"===a?a="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(a="hide");e.text=X(e.x,t,a,n)}(t,o,0,c,g),n||(t.tickprefix&&!d(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!d(t.showticksuffix)&&(o.text+=t.ticksuffix)),"boundaries"===t.tickson||t.showdividers){var v=function(e){var r=t.l2p(e);return r>=0&&r<=t._length?e:null};o.xbnd=[v(o.x-.5),v(o.x+t.dtick-.5)]}return o},E.hoverLabelText=function(t,e,r){if(r!==w&&r!==e)return E.hoverLabelText(t,e)+" - "+E.hoverLabelText(t,r);var n="log"===t.type&&e<=0,a=E.tickText(t,t.c2l(n?-e:e),"hover").text;return n?0===e?"0":_+a:a};var G=["f","p","n","\u03bc","m","","k","M","G","T"];function Y(t){return"SI"===t||"B"===t}function W(t){return t>14||t<-15}function X(t,e,r,n){var i=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=E.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,dtick:"none"===e.showexponent?e.dtick:a(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};q(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,_);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))<d)t="0",i=!1;else{if(t+=d,c&&(t*=Math.pow(10,-c),o+=c),0===o)t=String(Math.floor(t));else if(o<0){t=(t=String(Math.round(t))).substr(0,t.length+o);for(var g=o;g<0;g++)t+="0"}else{var v=(t=String(t)).indexOf(".")+1;v&&(t=t.substr(0,v+o).replace(/\.?0+$/,""))}t=s.numSeparate(t,e._separators,h)}c&&"hide"!==l&&(Y(l)&&W(c)&&(l="power"),p=c<0?_+-c:"power"!==l?"+"+c:String(c),"e"===l||"E"===l?t+=l+p:"power"===l?t+="\xd710<sup>"+p+"</sup>":"B"===l&&9===c?t+="B":Y(l)&&(t+=G[c/3+5]));return i?_+t:t}function Z(t){return[t.text,t.x,t.axInfo,t.font,t.fontSize,t.fontColor].join("_")}function J(t){var e=t.title.font.size,r=(t.title.text.match(l.BR_TAG_ALL)||[]).length;return t.title.hasOwnProperty("standoff")?r?e*(A+r*M):e*A:r?e*(r+1)*M:e}function K(t,e){var r=t.l2p(e);return r>1&&r<t._length-1}function Q(t){var e=n.select(t),r=e.select(".text-math-group");return r.empty()?e.select("text"):r}function $(t){return t._id+".automargin"}function tt(t){return $(t)+".mirror"}function et(t){return t._id+".rangeslider"}function rt(t,e){for(var r=0;r<e.length;r++)-1===t.indexOf(e[r])&&t.push(e[r])}function nt(t,e,r){var n,a,i=[],o=[],l=t.layout;for(n=0;n<e.length;n++)i.push(E.getFromId(t,e[n]));for(n=0;n<r.length;n++)o.push(E.getFromId(t,r[n]));var c=Object.keys(f),u=["anchor","domain","overlaying","position","side","tickangle","editType"],h=["linear","log"];for(n=0;n<c.length;n++){var p=c[n],d=i[0][p],g=o[0][p],v=!0,m=!1,y=!1;if("_"!==p.charAt(0)&&"function"!=typeof d&&-1===u.indexOf(p)){for(a=1;a<i.length&&v;a++){var x=i[a][p];"type"===p&&-1!==h.indexOf(d)&&-1!==h.indexOf(x)&&d!==x?m=!0:x!==d&&(v=!1)}for(a=1;a<o.length&&v;a++){var b=o[a][p];"type"===p&&-1!==h.indexOf(g)&&-1!==h.indexOf(b)&&g!==b?y=!0:o[a][p]!==g&&(v=!1)}v&&(m&&(l[i[0]._name].type="linear"),y&&(l[o[0]._name].type="linear"),at(l,p,i,o,t._fullLayout._dfltTitle))}}for(n=0;n<t._fullLayout.annotations.length;n++){var _=t._fullLayout.annotations[n];-1!==e.indexOf(_.xref)&&-1!==r.indexOf(_.yref)&&s.swapAttrs(l.annotations[n],["?"])}}function at(t,e,r,n,a){var i,o=s.nestedProperty,l=o(t[r[0]._name],e).get(),c=o(t[n[0]._name],e).get();for("title"===e&&(l&&l.text===a.x&&(l.text=a.y),c&&c.text===a.y&&(c.text=a.x)),i=0;i<r.length;i++)o(t,r[i]._name+"."+e).set(c);for(i=0;i<n.length;i++)o(t,n[i]._name+"."+e).set(l)}function it(t){return"angularaxis"===t._id}E.getTickFormat=function(t){var e,r,n,a,i,o,s,l;function c(t){return"string"!=typeof t?t:Number(t.replace("M",""))*v}function u(t,e){var r=["L","D"];if(typeof t==typeof e){if("number"==typeof t)return t-e;var n=r.indexOf(t.charAt(0)),a=r.indexOf(e.charAt(0));return n===a?Number(t.replace(/(L|D)/g,""))-Number(e.replace(/(L|D)/g,"")):n-a}return"number"==typeof t?1:-1}function h(t,e){var r=null===e[0],n=null===e[1],a=u(t,e[0])>=0,i=u(t,e[1])<=0;return(r||a)&&(n||i)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&(a=t.dtick,i=n.dtickrange,o=void 0,void 0,void 0,o=c||function(t){return t},s=i[0],l=i[1],(!s&&"number"!=typeof s||o(s)<=o(a))&&(!l&&"number"!=typeof l||o(l)>=o(a)))){r=n;break}break;case"log":for(e=0;e<t.tickformatstops.length;e++)if((n=t.tickformatstops[e]).enabled&&h(t.dtick,n.dtickrange)){r=n;break}}return r?r.value:t.tickformat},E.getSubplots=function(t,e){var r=t._fullLayout._subplots,n=r.cartesian.concat(r.gl2d||[]),a=e?E.findSubplotsWithAxis(n,e):n;return a.sort(function(t,e){var r=t.substr(1).split("y"),n=e.substr(1).split("y");return r[0]===n[0]?+r[1]-+n[1]:+r[0]-+n[0]}),a},E.findSubplotsWithAxis=function(t,e){for(var r=new RegExp("x"===e._id.charAt(0)?"^"+e._id+"y":e._id+"$"),n=[],a=0;a<t.length;a++){var i=t[a];r.test(i)&&n.push(i)}return n},E.makeClipPaths=function(t){var e=t._fullLayout;if(!e._hasOnlyLargeSploms){var r,a,i={_offset:0,_length:e.width,_id:""},o={_offset:0,_length:e.height,_id:""},s=E.list(t,"x",!0),l=E.list(t,"y",!0),c=[];for(r=0;r<s.length;r++)for(c.push({x:s[r],y:o}),a=0;a<l.length;a++)0===r&&c.push({x:i,y:l[a]}),c.push({x:s[r],y:l[a]});var u=e._clips.selectAll(".axesclip").data(c,function(t){return t.x._id+t.y._id});u.enter().append("clipPath").classed("axesclip",!0).attr("id",function(t){return"clip"+e._uid+t.x._id+t.y._id}).append("rect"),u.exit().remove(),u.each(function(t){n.select(this).select("rect").attr({x:t.x._offset||0,y:t.y._offset||0,width:t.x._length||1,height:t.y._length||1})})}},E.draw=function(t,e,r){var n=t._fullLayout;"redraw"===e&&n._paper.selectAll("g.subplot").each(function(t){var e=t[0],r=n._plots[e],a=r.xaxis,i=r.yaxis;r.xaxislayer.selectAll("."+a._id+"tick").remove(),r.yaxislayer.selectAll("."+i._id+"tick").remove(),r.xaxislayer.selectAll("."+a._id+"tick2").remove(),r.yaxislayer.selectAll("."+i._id+"tick2").remove(),r.xaxislayer.selectAll("."+a._id+"divider").remove(),r.yaxislayer.selectAll("."+i._id+"divider").remove(),r.gridlayer&&r.gridlayer.selectAll("path").remove(),r.zerolinelayer&&r.zerolinelayer.selectAll("path").remove(),n._infolayer.select(".g-"+a._id+"title").remove(),n._infolayer.select(".g-"+i._id+"title").remove()});var a=e&&"redraw"!==e?e:E.listIds(t);return s.syncOrAsync(a.map(function(e){return function(){if(e){var n=E.getFromId(t,e),a=E.drawOne(t,n,r);return n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),a}}}))},E.drawOne=function(t,e,r){var n,a,l;r=r||{},e.setScale();var f=t._fullLayout,p=e._id,d=p.charAt(0),g=E.counterLetter(p),v=e._mainLinePosition,m=e._mainMirrorPosition,y=f._plots[e._mainSubplot][d+"axislayer"],x=e._vals=E.calcTicks(e),b=[e.mirror,v,m].join("_");for(n=0;n<x.length;n++)x[n].axInfo=b;e._selections={},e._tickAngles&&(e._prevTickAngles=e._tickAngles),e._tickAngles={},e._depth=null;var _={};function w(t){var r=p+(t||"tick");return _[r]||(_[r]=function(t,e){var r,n,a,i;t._selections[e].size()?(r=1/0,n=-1/0,a=1/0,i=-1/0,t._selections[e].each(function(){var t=Q(this),e=h.bBox(t.node().parentNode);r=Math.min(r,e.top),n=Math.max(n,e.bottom),a=Math.min(a,e.left),i=Math.max(i,e.right)})):(r=0,n=0,a=0,i=0);return{top:r,bottom:n,left:a,right:i,height:n-r,width:i-a}}(e,r)),_[r]}if(e.visible){var k,T,A=E.makeTransFn(e);if("boundaries"===e.tickson){var L=function(t,e){var r,n=[],a=function(t,e){var r=t.xbnd[e];null!==r&&n.push(s.extendFlat({},t,{x:r}))};if(e.length){for(r=0;r<e.length;r++)a(e[r],0);a(e[r-1],1)}return n}(0,x);T=E.clipEnds(e,L),k="inside"===e.ticks?T:L}else T=E.clipEnds(e,x),k="inside"===e.ticks?T:x;var C=e._gridVals=T,P=function(t,e){var r,n,a=[],i=function(t,e){var r=t.xbnd[e];null!==r&&a.push(s.extendFlat({},t,{x:r}))};if(t.showdividers&&e.length){for(r=0;r<e.length;r++){var o=e[r];o.text2!==n&&i(o,0),n=o.text2}i(e[r-1],1)}return a}(e,x);if(!f._hasOnlyLargeSploms){var O=e._subplotsWith,z={};for(n=0;n<O.length;n++){a=O[n];var I=(l=f._plots[a])[g+"axis"],D=I._mainAxis._id;if(!z[D]){z[D]=1;var R="x"===d?"M0,"+I._offset+"v"+I._length:"M"+I._offset+",0h"+I._length;E.drawGrid(t,e,{vals:C,counterAxis:I,layer:l.gridlayer.select("."+p),path:R,transFn:A}),E.drawZeroLine(t,e,{counterAxis:I,layer:l.zerolinelayer,path:R,transFn:A})}}}var F=E.getTickSigns(e),B=[];if(e.ticks){var N,j,V,U=E.makeTickPath(e,v,F[2]);if(e._anchorAxis&&e.mirror&&!0!==e.mirror?(N=E.makeTickPath(e,m,F[3]),j=U+N):(N="",j=U),e.showdividers&&"outside"===e.ticks&&"boundaries"===e.tickson){var q={};for(n=0;n<P.length;n++)q[P[n].x]=1;V=function(t){return q[t.x]?N:j}}else V=j;E.drawTicks(t,e,{vals:k,layer:y,path:V,transFn:A}),"allticks"===e.mirror&&(B=Object.keys(e._linepositions||{}))}for(n=0;n<B.length;n++){a=B[n],l=f._plots[a];var G=e._linepositions[a]||[],Y=E.makeTickPath(e,G[0],F[0])+E.makeTickPath(e,G[1],F[1]);E.drawTicks(t,e,{vals:k,layer:l[d+"axislayer"],path:Y,transFn:A})}var W=[];if(W.push(function(){return E.drawLabels(t,e,{vals:x,layer:y,transFn:A,labelFns:E.makeLabelFns(e,v)})}),"multicategory"===e.type){var X={x:2,y:10}[d];W.push(function(){var r={x:"height",y:"width"}[d],n=w()[r]+X+(e._tickAngles[p+"tick"]?e.tickfont.size*M:0);return E.drawLabels(t,e,{vals:function(t,e){for(var r=[],n={},a=0;a<e.length;a++){var i=e[a];n[i.text2]?n[i.text2].push(i.x):n[i.text2]=[i.x]}for(var o in n)r.push(H(t,s.interp(n[o],.5),o));return r}(e,x),layer:y,cls:p+"tick2",repositionOnUpdate:!0,secondary:!0,transFn:A,labelFns:E.makeLabelFns(e,v+n*F[4])})}),W.push(function(){return e._depth=F[4]*(w("tick2")[e.side]-v),function(t,e,r){var n=e._id+"divider",a=r.vals,i=r.layer.selectAll("path."+n).data(a,Z);i.exit().remove(),i.enter().insert("path",":first-child").classed(n,1).classed("crisp",1).call(u.stroke,e.dividercolor).style("stroke-width",h.crispRound(t,e.dividerwidth,1)+"px"),i.attr("transform",r.transFn).attr("d",r.path)}(t,e,{vals:P,layer:y,path:E.makeTickPath(e,v,F[4],e._depth),transFn:A})})}else e.title.hasOwnProperty("standoff")&&W.push(function(){e._depth=F[4]*(w()[e.side]-v)});var K=o.getComponentMethod("rangeslider","isVisible")(e);return W.push(function(){var r,n,a,s,l=e.side.charAt(0),c=S[e.side].charAt(0),u=E.getPxPosition(t,e),h="outside"===e.ticks?e.ticklen:0;if((e.automargin||K)&&("multicategory"===e.type?r=w("tick2"):(r=w(),"x"===d&&"b"===l&&(e._depth=Math.max(r.width>0?r.bottom-u:0,h)))),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var p=[0,1];if("x"===d){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),p.reverse()),r.width>0){var v=r.right-(e._offset+e._length);v>0&&(n.xr=1,n.r=v);var m=e._offset-r.left;m>0&&(n.xl=0,n.l=m)}}else if("l"===l?n[l]=e._depth=Math.max(r.height>0?u-r.left:0,h):(n[l]=e._depth=Math.max(r.height>0?r.right-u:0,h),p.reverse()),r.height>0){var y=r.bottom-(e._offset+e._length);y>0&&(n.yb=0,n.b=y);var x=e._offset-r.top;x>0&&(n.yt=1,n.t=x)}n[g]="free"===e.anchor?e.position:e._anchorAxis.domain[p[0]],e.title.text!==f._dfltTitle[d]&&(n[l]+=J(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((a={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(a[c]+=h),!0===e.mirror||"ticks"===e.mirror?a[g]=e._anchorAxis.domain[p[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(a[g]=[e._counterDomainMin,e._counterDomainMax][p[1]]))}K&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),i.autoMargin(t,$(e),n),i.autoMargin(t,tt(e),a),i.autoMargin(t,et(e),s)}),r.skipTitle||K&&"bottom"===e.side||W.push(function(){return function(t,e){var r,n=t._fullLayout,a=e._id,i=a.charAt(0),o=e.title.font.size;if(e.title.hasOwnProperty("standoff"))r=e._depth+e.title.standoff+J(e);else{if("multicategory"===e.type)r=e._depth;else{r=10+1.5*o+(e.linewidth?e.linewidth-1:0)}r+="x"===i?"top"===e.side?o*(e.showticklabels?1:0):o*(e.showticklabels?1.5:.5):"right"===e.side?o*(e.showticklabels?1:.5):o*(e.showticklabels?.5:0)}var s,l,u,f,p=E.getPxPosition(t,e);"x"===i?(l=e._offset+e._length/2,u="top"===e.side?p-r:p+r):(u=e._offset+e._length/2,l="right"===e.side?p+r:p-r,s={rotate:"-90",offset:0});if("multicategory"!==e.type){var d=e._selections[e._id+"tick"];if(f={selection:d,side:e.side},d&&d.node()&&d.node().parentNode){var g=h.getTranslate(d.node().parentNode);f.offsetLeft=g.x,f.offsetTop=g.y}e.title.hasOwnProperty("standoff")&&(f.pad=0)}return c.draw(t,a+"title",{propContainer:e,propName:e._name+".title.text",placeholder:n._dfltTitle[i],avoid:f,transform:s,attributes:{x:l,y:u,"text-anchor":"middle"}})}(t,e)}),s.syncOrAsync(W)}},E.getTickSigns=function(t){var e=t._id.charAt(0),r={x:"top",y:"right"}[e],n=t.side===r?1:-1,a=[-1,1,n,-n];return"inside"!==t.ticks==("x"===e)&&(a=a.map(function(t){return-t})),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},E.makeTransFn=function(t){var e=t._id.charAt(0),r=t._offset;return"x"===e?function(e){return"translate("+(r+t.l2p(e.x))+",0)"}:function(e){return"translate(0,"+(r+t.l2p(e.x))+")"}},E.makeTickPath=function(t,e,r,n){n=void 0!==n?n:t.ticklen;var a=t._id.charAt(0),i=(t.linewidth||1)/2;return"x"===a?"M0,"+(e+i*r)+"v"+n*r:"M"+(e+i*r)+",0h"+n*r},E.makeLabelFns=function(t,e,r){var n=t._id.charAt(0),i="boundaries"!==t.tickson&&"outside"===t.ticks,o=0,l=0;if(i&&(o+=t.ticklen),r&&"outside"===t.ticks){var c=s.deg2rad(r);o=t.ticklen*Math.cos(c)+1,l=t.ticklen*Math.sin(c)}t.showticklabels&&(i||t.showline)&&(o+=.2*t.tickfont.size);var u,h,f,p,d={labelStandoff:o+=(t.linewidth||1)/2,labelShift:l};return"x"===n?(p="bottom"===t.side?1:-1,u=l*p,h=e+o*p,f="bottom"===t.side?1:-.2,d.xFn=function(t){return t.dx+u},d.yFn=function(t){return t.dy+h+t.fontSize*f},d.anchorFn=function(t,e){return a(e)&&0!==e&&180!==e?e*p<0?"end":"start":"middle"},d.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side?-n:0}):"y"===n&&(p="right"===t.side?1:-1,u=o,h=-l*p,f=90===Math.abs(t.tickangle)?.5:0,d.xFn=function(t){return t.dx+e+(u+t.fontSize*f)*p},d.yFn=function(t){return t.dy+h+t.fontSize*T},d.anchorFn=function(e,r){return a(r)&&90===Math.abs(r)?"middle":"right"===t.side?"start":"end"},d.heightFn=function(e,r,n){return(r*="left"===t.side?1:-1)<-30?-n:r<30?-.5*n:0}),d},E.drawTicks=function(t,e,r){r=r||{};var n=e._id+"tick",a=r.layer.selectAll("path."+n).data(e.ticks?r.vals:[],Z);a.exit().remove(),a.enter().append("path").classed(n,1).classed("ticks",1).classed("crisp",!1!==r.crisp).call(u.stroke,e.tickcolor).style("stroke-width",h.crispRound(t,e.tickwidth,1)+"px").attr("d",r.path),a.attr("transform",r.transFn)},E.drawGrid=function(t,e,r){r=r||{};var n=e._id+"grid",a=r.vals,i=r.counterAxis;if(!1===e.showgrid)a=[];else if(i&&E.shouldShowZeroLine(t,e,i))for(var o="array"===e.tickmode,s=0;s<a.length;s++){var l=a[s].x;if(o?!l:Math.abs(l)<e.dtick/100){if(a=a.slice(0,s).concat(a.slice(s+1)),!o)break;s--}}var c=r.layer.selectAll("path."+n).data(a,Z);c.exit().remove(),c.enter().append("path").classed(n,1).classed("crisp",!1!==r.crisp),e._gw=h.crispRound(t,e.gridwidth,1),c.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,e.gridcolor||"#ddd").style("stroke-width",e._gw+"px"),"function"==typeof r.path&&c.attr("d",r.path)},E.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",a=E.shouldShowZeroLine(t,e,r.counterAxis),i=r.layer.selectAll("path."+n).data(a?[{x:0,id:e._id}]:[]);i.exit().remove(),i.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each(function(){r.layer.selectAll("path").sort(function(t,e){return C.idSort(t.id,e.id)})}),i.attr("transform",r.transFn).attr("d",r.path).call(u.stroke,e.zerolinecolor||u.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px")},E.drawLabels=function(t,e,r){r=r||{};var i=t._fullLayout,o=e._id,c=o.charAt(0),u=r.cls||o+"tick",f=r.vals,p=r.labelFns,d=r.secondary?0:e.tickangle,g=(e._prevTickAngles||{})[u],v=r.layer.selectAll("g."+u).data(e.showticklabels?f:[],Z),m=[];function y(t,e){t.each(function(t){var i=n.select(this),o=i.select(".text-math-group"),s=p.anchorFn(t,e),c=r.transFn.call(i.node(),t)+(a(e)&&0!=+e?" rotate("+e+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),u=l.lineCount(i),f=M*t.fontSize,d=p.heightFn(t,a(e)?+e:0,(u-1)*f);if(d&&(c+=" translate(0, "+d+")"),o.empty())i.select("text").attr({transform:c,"text-anchor":s});else{var g=h.bBox(o.node()).width*{end:-.5,start:.5}[s];o.attr("transform",c+(g?"translate("+g+",0)":""))}})}v.enter().append("g").classed(u,1).append("text").attr("text-anchor","middle").each(function(e){var r=n.select(this),a=t._promises.length;r.call(l.positionText,p.xFn(e),p.yFn(e)).call(h.font,e.font,e.fontSize,e.fontColor).text(e.text).call(l.convertToTspans,t),t._promises[a]?m.push(t._promises.pop().then(function(){y(r,d)})):y(r,d)}),v.exit().remove(),r.repositionOnUpdate&&v.each(function(t){n.select(this).select("text").call(l.positionText,p.xFn(t),p.yFn(t))}),y(v,g+1?g:d);var x=null;e._selections&&(e._selections[u]=v);var b=[function(){return m.length&&Promise.all(m)}];e.automargin&&i._redrawFromAutoMarginCount&&90===g?(x=90,b.push(function(){y(v,g)})):b.push(function(){if(y(v,d),f.length&&"x"===c&&!a(d)&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=0;var t,n=0,i=[];if(v.each(function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),a=Q(this),o=h.bBox(a.node());i.push({top:0,bottom:10,height:10,left:r-o.width/2,right:r+o.width/2+2,width:o.width+2})}),"boundaries"!==e.tickson&&!e.showdividers||r.secondary){var o=f.length,l=Math.abs((f[o-1].x-f[0].x)*e._m)/(o-1)<2.5*n||"multicategory"===e.type;for(t=0;t<i.length-1;t++)if(s.bBoxIntersect(i[t],i[t+1])){x=l?90:30;break}}else{var u=2;for(e.ticks&&(u+=e.tickwidth/2),t=0;t<i.length;t++){var p=f[t].xbnd,g=i[t];if(null!==p[0]&&g.left-e.l2p(p[0])<u||null!==p[1]&&e.l2p(p[1])-g.right<u){x=90;break}}}x&&y(v,x)}}),e._tickAngles&&b.push(function(){e._tickAngles[u]=null===x?a(d)?d:0:x});var _=s.syncOrAsync(b);return _&&_.then&&t._promises.push(_),_},E.getPxPosition=function(t,e){var r,n=t._fullLayout._size,a=e._id.charAt(0),i=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===a?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===a&&(r={_offset:n.l+(e.position||0)*n.w,_length:0}),"top"===i||"left"===i?r._offset:"bottom"===i||"right"===i?r._offset+r._length:void 0},E.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&(K(e,0)||!function(t,e,r,n){var a=r._mainAxis;if(!a)return;var i=t._fullLayout,o=e._id.charAt(0),s=E.counterLetter(e._id),l=e._offset+(Math.abs(n[0])<Math.abs(n[1])==("x"===o)?0:e._length);function c(t){if(!t.showline||!t.linewidth)return!1;var r=Math.max((t.linewidth+e.zerolinewidth)/2,1);function n(t){return"number"==typeof t&&Math.abs(t-l)<r}if(n(t._mainLinePosition)||n(t._mainMirrorPosition))return!0;var a=t._linepositions||{};for(var i in a)if(n(a[i][0])||n(a[i][1]))return!0}var u=i._plots[r._mainSubplot];if(!(u.mainplotinfo||u).overlays.length)return c(r);for(var h=E.list(t,s),f=0;f<h.length;f++){var p=h[f];if(p._mainAxis===a&&c(p))return!0}}(t,e,r,n)||function(t,e){for(var r=t._fullData,n=e._mainSubplot,a=e._id.charAt(0),i=0;i<r.length;i++){var s=r[i];if(!0===s.visible&&s.xaxis+s.yaxis===n){if(o.traceIs(s,"bar-like")&&s.orientation==={x:"h",y:"v"}[a])return!0;if(s.fill&&s.fill.charAt(s.fill.length-1)===a)return!0}}return!1}(t,e))},E.clipEnds=function(t,e){return e.filter(function(e){return K(t,e.x)})},E.allowAutoMargin=function(t){for(var e=E.list(t,"",!0),r=0;r<e.length;r++){var n=e[r];n.automargin&&(i.allowAutoMargin(t,$(n)),n.mirror&&i.allowAutoMargin(t,tt(n))),o.getComponentMethod("rangeslider","isVisible")(n)&&i.allowAutoMargin(t,et(n))}},E.swap=function(t,e){for(var r=function(t,e){var r,n,a=[];for(r=0;r<e.length;r++){var i=[],o=t._fullData[e[r]].xaxis,s=t._fullData[e[r]].yaxis;if(o&&s){for(n=0;n<a.length;n++)-1===a[n].x.indexOf(o)&&-1===a[n].y.indexOf(s)||i.push(n);if(i.length){var l,c=a[i[0]];if(i.length>1)for(n=1;n<i.length;n++)l=a[i[n]],rt(c.x,l.x),rt(c.y,l.y);rt(c.x,[o]),rt(c.y,[s])}else a.push({x:[o],y:[s]})}}return a}(t,e),n=0;n<r.length;n++)nt(t,r[n].x,r[n].y)}},{"../../components/color":591,"../../components/drawing":612,"../../components/titles":678,"../../constants/alignment":685,"../../constants/numerical":692,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"../../registry":845,"./autorange":763,"./axis_autotype":765,"./axis_ids":767,"./clean_ticks":769,"./layout_attributes":776,"./set_convert":782,d3:164,"fast-isnumeric":227}],765:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){return!(r=r||{}).noMultiCategory&&(o=t,a.isArrayOrTypedArray(o[0])&&a.isArrayOrTypedArray(o[1]))?"multicategory":function(t,e){for(var r=Math.max(1,(t.length-1)/1e3),i=0,o=0,s={},l=0;l<t.length;l+=r){var c=t[Math.round(l)],u=String(c);s[u]||(s[u]=1,a.isDateTime(c,e)&&(i+=1),n(c)&&(o+=1))}return i>2*o}(t,e)?"date":function(t){for(var e=Math.max(1,(t.length-1)/1e3),r=0,n=0,o={},s=0;s<t.length;s+=e){var l=t[Math.round(s)],c=String(l);o[c]||(o[c]=1,"boolean"==typeof l?n++:a.cleanNumber(l)!==i?r++:"string"==typeof l&&n++)}return n>2*r}(t)?"category":function(t){if(!t)return!1;for(var e=0;e<t.length;e++)if(n(t[e]))return!0;return!1}(t)?"linear":"-";var o}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],766:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("./layout_attributes"),o=t("./tick_value_defaults"),s=t("./tick_mark_defaults"),l=t("./tick_label_defaults"),c=t("./category_order_defaults"),u=t("./line_grid_defaults"),h=t("./set_convert");e.exports=function(t,e,r,f,p){var d=f.letter,g=f.font||{},v=f.splomStash||{},m=r("visible",!f.visibleDflt),y=e.type;"date"===y&&n.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",f.calendar);h(e,p);var x=!e.isValidRange(t.range);x&&f.reverseDflt&&(x="reversed"),!r("autorange",x)||"linear"!==y&&"-"!==y||r("rangemode"),r("range"),e.cleanRange(),c(t,e,r,f),"category"===y||f.noHover||r("hoverformat");var b=r("color"),_=b!==i.color.dflt?b:g.color,w=v.label||p._dfltTitle[d];if(l(t,e,r,y,f,{pass:1}),!m)return e;r("title.text",w),a.coerceFont(r,"title.font",{family:g.family,size:Math.round(1.2*g.size),color:_}),o(t,e,r,y),l(t,e,r,y,f,{pass:2}),s(t,e,r,f),u(t,e,r,{dfltColor:b,bgColor:f.bgColor,showGrid:f.showGrid,attributes:i}),(e.showline||e.ticks)&&r("mirror"),f.automargin&&r("automargin");var k,T="multicategory"===e.type;f.noTickson||"category"!==e.type&&!T||!e.ticks&&!e.showgrid||(T&&(k="boundaries"),r("tickson",k));T&&(r("showdividers")&&(r("dividercolor"),r("dividerwidth")));return e}},{"../../lib":716,"../../registry":845,"./category_order_defaults":768,"./layout_attributes":776,"./line_grid_defaults":778,"./set_convert":782,"./tick_label_defaults":783,"./tick_mark_defaults":784,"./tick_value_defaults":785}],767:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("./constants");r.id2name=function(t){if("string"==typeof t&&t.match(a.AX_ID_PATTERN)){var e=t.substr(1);return"1"===e&&(e=""),t.charAt(0)+"axis"+e}},r.name2id=function(t){if(t.match(a.AX_NAME_PATTERN)){var e=t.substr(5);return"1"===e&&(e=""),t.charAt(0)+e}},r.cleanId=function(t,e){if(t.match(a.AX_ID_PATTERN)&&(!e||t.charAt(0)===e)){var r=t.substr(1).replace(/^0+/,"");return"1"===r&&(r=""),t.charAt(0)+r}},r.list=function(t,e,n){var a=t._fullLayout;if(!a)return[];var i,o=r.listIds(t,e),s=new Array(o.length);for(i=0;i<o.length;i++){var l=o[i];s[i]=a[l.charAt(0)+"axis"+l.substr(1)]}if(!n){var c=a._subplots.gl3d||[];for(i=0;i<c.length;i++){var u=a[c[i]];e?s.push(u[e+"axis"]):s.push(u.xaxis,u.yaxis,u.zaxis)}}return s},r.listIds=function(t,e){var r=t._fullLayout;if(!r)return[];var n=r._subplots;return e?n[e+"axis"]:n.xaxis.concat(n.yaxis)},r.getFromId=function(t,e,n){var a=t._fullLayout;return"x"===n?e=e.replace(/y[0-9]*/,""):"y"===n&&(e=e.replace(/x[0-9]*/,"")),a[r.id2name(e)]},r.getFromTrace=function(t,e,a){var i=t._fullLayout,o=null;if(n.traceIs(e,"gl3d")){var s=e.scene;"scene"===s.substr(0,5)&&(o=i[s][a+"axis"])}else o=r.getFromId(t,e[a+"axis"]||a);return o},r.idSort=function(t,e){var r=t.charAt(0),n=e.charAt(0);return r!==n?r>n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},r.getAxisGroup=function(t,e){for(var r=t._axisMatchGroups,n=0;n<r.length;n++){if(r[n][e])return"g"+n}return e}},{"../../registry":845,"./constants":770}],768:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){if("category"===e.type){var a,i=t.categoryarray,o=Array.isArray(i)&&i.length>0;o&&(a="array");var s,l=r("categoryorder",a);"array"===l&&(s=r("categoryarray")),o||"array"!==l||(l=e.categoryorder="trace"),"trace"===l?e._initialCategories=[]:"array"===l?e._initialCategories=s.slice():(s=function(t,e){var r,n,a,i=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;n<e.data.length;n++){var s=e.data[n];s[i+"axis"]===t._id&&r.push(s)}for(n=0;n<r.length;n++){var l=r[n][i];for(a=0;a<l.length;a++){var c=l[a];null!=c&&(o[c]=1)}}return Object.keys(o)}(e,n).sort(),"category ascending"===l?e._initialCategories=s:"category descending"===l&&(e._initialCategories=s.reverse()))}}},{}],769:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").ONEDAY;r.dtick=function(t,e){var r="log"===e,a="date"===e,o="category"===e,s=a?i:1;if(!t)return s;if(n(t))return(t=Number(t))<=0?s:o?Math.max(1,Math.round(t)):a?Math.max(.1,t):t;if("string"!=typeof t||!a&&!r)return s;var l=t.charAt(0),c=t.substr(1);return(c=n(c)?Number(c):0)<=0||!(a&&"M"===l&&c===Math.round(c)||r&&"L"===l||r&&"D"===l&&(1===c||2===c))?s:t},r.tick0=function(t,e,r,i){return"date"===e?a.cleanDate(t,a.dateTick0(r)):"D1"!==i&&"D2"!==i?n(t)?Number(t):0:void 0}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],770:[function(t,e,r){"use strict";var n=t("../../lib/regex").counter;e.exports={idRegex:{x:n("x"),y:n("y")},attrRegex:n("[xy]axis"),xAxisMatch:n("xaxis"),yAxisMatch:n("yaxis"),AX_ID_PATTERN:/^[xyz][0-9]*$/,AX_NAME_PATTERN:/^[xyz]axis[0-9]*$/,SUBPLOT_PATTERN:/^x([0-9]*)y([0-9]*)$/,MINDRAG:8,MINSELECT:12,MINZOOM:20,DRAGGERSIZE:20,BENDPX:1.5,REDRAWDELAY:50,SELECTDELAY:100,SELECTID:"-select",DFLTRANGEX:[-1,6],DFLTRANGEY:[-1,4],traceLayerClasses:["imagelayer","heatmaplayer","contourcarpetlayer","contourlayer","funnellayer","waterfalllayer","barlayer","carpetlayer","violinlayer","boxlayer","ohlclayer","scattercarpetlayer","scatterlayer"],clipOnAxisFalseQuery:[".scatterlayer",".barlayer",".funnellayer",".waterfalllayer"],layerValue2layerClass:{"above traces":"above","below traces":"below"}}},{"../../lib/regex":732}],771:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./axis_ids").id2name,i=t("./scale_zoom"),o=t("./autorange").makePadFn,s=t("./autorange").concatExtremes,l=t("../../constants/numerical").ALMOST_EQUAL,c=t("../../constants/alignment").FROM_BL;function u(t,e,r,n,i){var o,s,l,c,u="range"!==i,h=n[a(e)].type,f=[];for(s=0;s<r.length;s++)if((l=r[s])!==e&&(c=n[a(l)]).type===h)if(c.fixedrange){if(u&&c.anchor){n[a(c.anchor)].fixedrange&&f.push(l)}}else f.push(l);for(o=0;o<t.length;o++)if(t[o][e]){var p=t[o],d=[];for(s=0;s<f.length;s++)p[l=f[s]]||d.push(l);return{linkableAxes:d,thisGroup:p}}return{linkableAxes:f,thisGroup:null}}function h(t,e,r,n,a){var i,o,s,l,c;null===e?((e={})[r]=1,c=t.length,t.push(e)):c=t.indexOf(e);var u=Object.keys(e);for(i=0;i<t.length;i++)if(s=t[i],i!==c&&s[n]){var h=s[n];for(o=0;o<u.length;o++)s[l=u[o]]=h*a*e[l];return void t.splice(c,1)}if(1!==a)for(o=0;o<u.length;o++)e[u[o]]*=a;e[n]=1}function f(t,e){var r=t._inputDomain,n=c[t.constraintoward],a=r[0]+(r[1]-r[0])*n;t.domain=t._input.domain=[a+(r[0]-a)/e,a+(r[1]-a)/e],t.setScale()}r.handleConstraintDefaults=function(t,e,r,a){var i,o,s,l,c=a.allAxisIds,f=a.layoutOut,p=a.scaleanchorDflt,d=a.constrainDflt,g=f._axisConstraintGroups,v=f._axisMatchGroups,m=e._id,y=m.charAt(0),x=((f._splomAxes||{})[y]||{})[m]||{},b=e._id,_=b.charAt(0),w=r("constrain",d);if(n.coerce(t,e,{constraintoward:{valType:"enumerated",values:"x"===_?["left","center","right"]:["bottom","middle","top"],dflt:"x"===_?"center":"middle"}},"constraintoward"),!t.matches&&!x.matches||e.fixedrange||(o=u(v,b,c,f),i=n.coerce(t,e,{matches:{valType:"enumerated",values:o.linkableAxes||[],dflt:x.matches}},"matches")),i||e.fixedrange&&"domain"!==w||!t.scaleanchor&&!p||(l=u(g,b,c,f,w),s=n.coerce(t,e,{scaleanchor:{valType:"enumerated",values:l.linkableAxes||[]}},"scaleanchor",p)),i?(delete e.constrain,h(v,o.thisGroup,b,i,1)):-1!==c.indexOf(t.matches)&&n.warn("ignored "+e._name+'.matches: "'+t.matches+'" to avoid either an infinite loop or because the target axis has fixed range.'),s){var k=r("scaleratio");k||(k=e.scaleratio=1),h(g,l.thisGroup,b,s,k)}else-1!==c.indexOf(t.scaleanchor)&&n.warn("ignored "+e._name+'.scaleanchor: "'+t.scaleanchor+'" to avoid either an infinite loop and possibly inconsistent scaleratios, or because the target axis has fixed range or this axis declares a *matches* constraint.')},r.enforce=function(t){var e,r,n,c,u,h,p,d=t._fullLayout,g=d._axisConstraintGroups||[];for(e=0;e<g.length;e++){var v=g[e],m=Object.keys(v),y=1/0,x=0,b=1/0,_={},w={},k=!1;for(r=0;r<m.length;r++)w[n=m[r]]=c=d[a(n)],c._inputDomain?c.domain=c._inputDomain.slice():c._inputDomain=c.domain.slice(),c._inputRange||(c._inputRange=c.range.slice()),c.setScale(),_[n]=u=Math.abs(c._m)/v[n],y=Math.min(y,u),"domain"!==c.constrain&&c._constraintShrinkable||(b=Math.min(b,u)),delete c._constraintShrinkable,x=Math.max(x,u),"domain"===c.constrain&&(k=!0);if(!(y>l*x)||k)for(r=0;r<m.length;r++)if(u=_[n=m[r]],h=(c=w[n]).constrain,u!==b||"domain"===h)if(p=u/b,"range"===h)i(c,p);else{var T=c._inputDomain,A=(c.domain[1]-c.domain[0])/(T[1]-T[0]),M=(c.r2l(c.range[1])-c.r2l(c.range[0]))/(c.r2l(c._inputRange[1])-c.r2l(c._inputRange[0]));if((p/=A)*M<1){c.domain=c._input.domain=T.slice(),i(c,p);continue}if(M<1&&(c.range=c._input.range=c._inputRange.slice(),p*=M),c.autorange){var S=c.r2l(c.range[0]),E=c.r2l(c.range[1]),L=(S+E)/2,C=L,P=L,O=Math.abs(E-L),z=L-O*p*1.0001,I=L+O*p*1.0001,D=o(c);f(c,p);var R,F,B=Math.abs(c._m),N=s(t,c),j=N.min,V=N.max;for(F=0;F<j.length;F++)(R=j[F].val-D(j[F])/B)>z&&R<C&&(C=R);for(F=0;F<V.length;F++)(R=V[F].val+D(V[F])/B)<I&&R>P&&(P=R);p/=(P-C)/(2*O),C=c.l2r(C),P=c.l2r(P),c.range=c._input.range=S<E?[C,P]:[P,C]}f(c,p)}}},r.clean=function(t,e){if(e._inputDomain){for(var r=!1,n=e._id,a=t._fullLayout._axisConstraintGroups,i=0;i<a.length;i++)if(a[i][n]){r=!0;break}r&&"domain"===e.constrain||(e._input.domain=e.domain=e._inputDomain,delete e._inputDomain)}}},{"../../constants/alignment":685,"../../constants/numerical":692,"../../lib":716,"./autorange":763,"./axis_ids":767,"./scale_zoom":780}],772:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("has-passive-events"),o=t("../../registry"),s=t("../../lib"),l=t("../../lib/svg_text_utils"),c=t("../../components/color"),u=t("../../components/drawing"),h=t("../../components/fx"),f=t("./axes"),p=t("../../lib/setcursor"),d=t("../../components/dragelement"),g=t("../../constants/alignment").FROM_TL,v=t("../../lib/clear_gl_canvases"),m=t("../../plot_api/subroutines").redrawReglTraces,y=t("../plots"),x=t("./axis_ids").getFromId,b=t("./select").prepSelect,_=t("./select").clearSelect,w=t("./select").selectOnClick,k=t("./scale_zoom"),T=t("./constants"),A=T.MINDRAG,M=T.MINZOOM,S=!0;function E(t,e,r,n){var a=s.ensureSingle(t.draglayer,e,r,function(e){e.classed("drag",!0).style({fill:"transparent","stroke-width":0}).attr("data-subplot",t.id)});return a.call(p,n),a.node()}function L(t,e,r,a,i,o,s){var l=E(t,"rect",e,r);return n.select(l).call(u.setRect,a,i,o,s),l}function C(t,e){for(var r=0;r<t.length;r++)if(!t[r].fixedrange)return e;return""}function P(t,e,r,n,a){for(var i=0;i<t.length;i++){var o=t[i];if(!o.fixedrange){var s=o._rl[0],l=o._rl[1]-s;n[o._name+".range[0]"]=o.l2r(s+l*e),n[o._name+".range[1]"]=o.l2r(s+l*r)}}if(a&&a.length){var c=(e+(1-r))/2;P(a,c,1-c,n,[])}}function O(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.fixedrange||(n.range=[n.l2r(n._rl[0]-e/n._m),n.l2r(n._rl[1]-e/n._m)])}}function z(t){return 1-(t>=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function I(t,e,r,n,a){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform","translate("+r+", "+n+")").attr("d",a+"Z")}function D(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("transform","translate("+e+", "+r+")").attr("d","M0,0Z")}function R(t,e,r,n,a,i){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),F(t,e,a,i)}function F(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function B(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function N(t){S&&t.data&&t._context.showTips&&(s.notifier(s._(t,"Double-click to zoom back out"),"long"),S=!1)}function j(t){return"lasso"===t||"select"===t}function V(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,M)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function U(t,e,r,n){for(var a,i,o,l,c=!1,u={},h={},f=0;f<e.length;f++){var p=e[f];for(a in r)if(p[a]){for(o in p)("x"===o.charAt(0)?r:n)[o]||(u[o]=a);for(i in n)p[i]&&(c=!0)}for(i in n)if(p[i])for(l in p)("x"===l.charAt(0)?r:n)[l]||(h[l]=i)}c&&(s.extendFlat(u,h),h={});var d={},g=[];for(o in u){var v=x(t,o);g.push(v),d[v._id]=v}var m={},y=[];for(l in h){var b=x(t,l);y.push(b),m[b._id]=b}return{xaHash:d,yaHash:m,xaxes:g,yaxes:y,xLinks:u,yLinks:h,isSubplotConstrained:c}}function q(t,e){if(i){var r=void 0!==t.onwheel?"wheel":"mousewheel";t._onwheel&&t.removeEventListener(r,t._onwheel),t._onwheel=e,t.addEventListener(r,e,{passive:!1})}else void 0!==t.onwheel?t.onwheel=e:void 0!==t.onmousewheel&&(t.onmousewheel=e)}function H(t){var e=[];for(var r in t)e.push(t[r]);return e}e.exports={makeDragBox:function(t,e,r,i,c,p,S,E){var F,G,Y,W,X,Z,J,K,Q,$,tt,et,rt,nt,at,it,ot,st,lt,ct,ut,ht=t._fullLayout._zoomlayer,ft=S+E==="nsew",pt=1===(S+E).length;function dt(){if(F=e.xaxis,G=e.yaxis,Q=F._length,$=G._length,J=F._offset,K=G._offset,(Y={})[F._id]=F,(W={})[G._id]=G,S&&E)for(var r=e.overlays,n=0;n<r.length;n++){var a=r[n].xaxis;Y[a._id]=a;var i=r[n].yaxis;W[i._id]=i}X=H(Y),Z=H(W),rt=C(X,E),nt=C(Z,S),at=!nt&&!rt,tt=U(t,t._fullLayout._axisConstraintGroups,Y,W),et=U(t,t._fullLayout._axisMatchGroups,Y,W),it=E||tt.isSubplotConstrained||et.isSubplotConstrained,ot=S||tt.isSubplotConstrained||et.isSubplotConstrained;var o=t._fullLayout;st=o._has("scattergl"),lt=o._has("splom"),ct=o._has("svg")}dt();var gt=function(t,e,r){return t?"nsew"===t?r?"":"pan"===e?"move":"crosshair":t.toLowerCase()+"-resize":"pointer"}(nt+rt,t._fullLayout.dragmode,ft),vt=L(e,S+E+"drag",gt,r,i,c,p);if(at&&!ft)return vt.onmousedown=null,vt.style.pointerEvents="none",vt;var mt,yt,xt,bt,_t,wt,kt,Tt,At,Mt,St={element:vt,gd:t,plotinfo:e};function Et(){St.plotinfo.selection=!1,_(t)}function Lt(r,a){var i=t._fullLayout.clickmode;if(B(t),2!==r||pt||function(){if(!t._transitioningWithDuration){var e=t._context.doubleClick,r=[];rt&&(r=r.concat(X)),nt&&(r=r.concat(Z)),et.xaxes&&(r=r.concat(et.xaxes)),et.yaxes&&(r=r.concat(et.yaxes));var n,a,i,s={};if("reset+autosize"===e)for(e="autosize",a=0;a<r.length;a++)if((n=r[a])._rangeInitial&&(n.range[0]!==n._rangeInitial[0]||n.range[1]!==n._rangeInitial[1])||!n._rangeInitial&&!n.autorange){e="reset";break}if("autosize"===e)for(a=0;a<r.length;a++)(n=r[a]).fixedrange||(s[n._name+".autorange"]=!0);else if("reset"===e)for((rt||tt.isSubplotConstrained)&&(r=r.concat(tt.xaxes)),nt&&!tt.isSubplotConstrained&&(r=r.concat(tt.yaxes)),tt.isSubplotConstrained&&(rt?nt||(r=r.concat(Z)):r=r.concat(X)),a=0;a<r.length;a++)(n=r[a]).fixedrange||(n._rangeInitial?(i=n._rangeInitial,s[n._name+".range[0]"]=i[0],s[n._name+".range[1]"]=i[1]):s[n._name+".autorange"]=!0);t.emit("plotly_doubleclick",null),o.call("_guiRelayout",t,s)}}(),ft)i.indexOf("select")>-1&&w(a,t,X,Z,e.id,St),i.indexOf("event")>-1&&h.click(t,a,e.id);else if(1===r&&pt){var s=S?G:F,c="s"===S||"w"===E?0:1,u=s._name+".range["+c+"]",f=function(t,e){var r,a=t.range[e],i=Math.abs(a-t.range[1-e]);return"date"===t.type?a:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,n.format("."+r+"g")(Math.pow(10,a))):(r=Math.floor(Math.log(Math.abs(a))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,n.format("."+String(r)+"g")(a))}(s,c),p="left",d="middle";if(s.fixedrange)return;S?(d="n"===S?"top":"bottom","right"===s.side&&(p="right")):"e"===E&&(p="right"),t._context.showAxisRangeEntryBoxes&&n.select(vt).call(l.makeEditable,{gd:t,immediate:!0,background:t._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:p,verticalAlign:d}).on("edit",function(e){var r=s.d2r(e);void 0!==r&&o.call("_guiRelayout",t,u,r)})}}function Ct(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(Q,e+mt)),a=Math.max(0,Math.min($,r+yt)),i=Math.abs(n-mt),o=Math.abs(a-yt);function s(){kt="",xt.r=xt.l,xt.t=xt.b,At.attr("d","M0,0Z")}if(xt.l=Math.min(mt,n),xt.r=Math.max(mt,n),xt.t=Math.min(yt,a),xt.b=Math.max(yt,a),tt.isSubplotConstrained)i>M||o>M?(kt="xy",i/Q>o/$?(o=i*$/Q,yt>a?xt.t=yt-o:xt.b=yt+o):(i=o*Q/$,mt>n?xt.l=mt-i:xt.r=mt+i),At.attr("d",V(xt))):s();else if(et.isSubplotConstrained)if(i>M||o>M){kt="xy";var l=Math.min(xt.l/Q,($-xt.b)/$),c=Math.max(xt.r/Q,($-xt.t)/$);xt.l=l*Q,xt.r=c*Q,xt.b=(1-l)*$,xt.t=(1-c)*$,At.attr("d",V(xt))}else s();else!nt||o<Math.min(Math.max(.6*i,A),M)?i<A||!rt?s():(xt.t=0,xt.b=$,kt="x",At.attr("d",function(t,e){return"M"+(t.l-.5)+","+(e-M-.5)+"h-3v"+(2*M+1)+"h3ZM"+(t.r+.5)+","+(e-M-.5)+"h3v"+(2*M+1)+"h-3Z"}(xt,yt))):!rt||i<Math.min(.6*o,M)?(xt.l=0,xt.r=Q,kt="y",At.attr("d",function(t,e){return"M"+(e-M-.5)+","+(t.t-.5)+"v-3h"+(2*M+1)+"v3ZM"+(e-M-.5)+","+(t.b+.5)+"v3h"+(2*M+1)+"v-3Z"}(xt,mt))):(kt="xy",At.attr("d",V(xt)));xt.w=xt.r-xt.l,xt.h=xt.b-xt.t,kt&&(Mt=!0),t._dragged=Mt,R(Tt,At,xt,_t,wt,bt),Pt(),t.emit("plotly_relayouting",ut),wt=!0}function Pt(){ut={},"xy"!==kt&&"x"!==kt||(P(X,xt.l/Q,xt.r/Q,ut,tt.xaxes),Bt("x",ut)),"xy"!==kt&&"y"!==kt||(P(Z,($-xt.b)/$,($-xt.t)/$,ut,tt.yaxes),Bt("y",ut))}function Ot(){Pt(),B(t),jt(),N(t)}St.prepFn=function(e,r,n){var i=St.dragmode,o=t._fullLayout.dragmode;o!==i&&(St.dragmode=o),dt(),at||(ft?e.shiftKey?"pan"===o?o="zoom":j(o)||(o="pan"):e.ctrlKey&&(o="pan"):o="pan"),St.minDrag="lasso"===o?1:void 0,j(o)?(St.xaxes=X,St.yaxes=Z,b(e,r,n,St,o)):(St.clickFn=Lt,j(i)&&Et(),at||("zoom"===o?(St.moveFn=Ct,St.doneFn=Ot,St.minDrag=1,function(e,r,n){var i=vt.getBoundingClientRect();mt=r-i.left,yt=n-i.top,xt={l:mt,r:mt,w:0,t:yt,b:yt,h:0},bt=t._hmpixcount?t._hmlumcount/t._hmpixcount:a(t._fullLayout.plot_bgcolor).getLuminance(),wt=!1,kt="xy",Mt=!1,Tt=I(ht,bt,J,K,_t="M0,0H"+Q+"V"+$+"H0V0"),At=D(ht,J,K)}(0,r,n)):"pan"===o&&(St.moveFn=Ft,St.doneFn=jt))),t._fullLayout._redrag=function(){var e=t._dragdata;e&&e.element===vt&&(j(t._fullLayout.dragmode)||(dt(),Vt([0,0,Q,$]),St.moveFn(e.dx,e.dy)))}},d.init(St);var zt=[0,0,Q,$],It=null,Dt=T.REDRAWDELAY,Rt=e.mainplot?t._fullLayout._plots[e.mainplot]:e;function Ft(e,r){if(!t._transitioningWithDuration){if(t._fullLayout._replotting=!0,"ew"===rt||"ns"===nt)return rt&&(O(X,e),Bt("x")),nt&&(O(Z,r),Bt("y")),Vt([rt?-e:0,nt?-r:0,Q,$]),Nt(),void t.emit("plotly_relayouting",ut);if(tt.isSubplotConstrained&&rt&&nt){var n="w"===rt==("n"===nt)?1:-1,a=(e/Q+n*r/$)/2;e=a*Q,r=n*a*$}"w"===rt?e=l(X,0,e):"e"===rt?e=l(X,1,-e):rt||(e=0),"n"===nt?r=l(Z,1,r):"s"===nt?r=l(Z,0,-r):nt||(r=0);var i="w"===rt?e:0,o="n"===nt?r:0;if(tt.isSubplotConstrained){var s;if(!rt&&1===nt.length){for(s=0;s<X.length;s++)X[s].range=X[s]._r.slice(),k(X[s],1-r/$);i=(e=r*Q/$)/2}if(!nt&&1===rt.length){for(s=0;s<Z.length;s++)Z[s].range=Z[s]._r.slice(),k(Z[s],1-e/Q);o=(r=e*$/Q)/2}}Bt("x"),Bt("y"),Vt([i,o,Q-e,$-r]),Nt(),t.emit("plotly_relayouting",ut)}function l(t,e,r){for(var n,a,i=1-e,o=0;o<t.length;o++){var s=t[o];if(!s.fixedrange){n=s,a=s._rl[i]+(s._rl[e]-s._rl[i])/z(r/s._length);var l=s.l2r(a);!1!==l&&void 0!==l&&(s.range[e]=l)}}return n._length*(n._rl[e]-a)/(n._rl[e]-n._rl[i])}}function Bt(t,e){for(var r=et.isSubplotConstrained?{x:Z,y:X}[t]:et[t+"axes"],n=et.isSubplotConstrained?{x:X,y:Z}[t]:[],a=0;a<r.length;a++){var i=r[a],o=i._id,s=et.xLinks[o]||et.yLinks[o],l=n[0]||Y[s]||W[s];l&&(e?(e[i._name+".range[0]"]=e[l._name+".range[0]"],e[i._name+".range[1]"]=e[l._name+".range[1]"]):i.range=l.range.slice())}}function Nt(){var e,r=[];function n(t){for(e=0;e<t.length;e++)t[e].fixedrange||r.push(t[e]._id)}for(it&&(n(X),n(tt.xaxes),n(et.xaxes)),ot&&(n(Z),n(tt.yaxes),n(et.yaxes)),ut={},e=0;e<r.length;e++){var a=r[e],i=x(t,a);f.drawOne(t,i,{skipTitle:!0}),ut[i._name+".range[0]"]=i.range[0],ut[i._name+".range[1]"]=i.range[1]}f.redrawComponents(t,r)}function jt(){Vt([0,0,Q,$]),s.syncOrAsync([y.previousPromises,function(){t._fullLayout._replotting=!1,o.call("_guiRelayout",t,ut)}],t)}function Vt(e){var r,n,a,i,l=t._fullLayout,c=l._plots,h=l._subplots.cartesian;if(lt&&o.subplotsRegistry.splom.drag(t),st)for(r=0;r<h.length;r++)if(a=(n=c[h[r]]).xaxis,i=n.yaxis,n._scene){var f=s.simpleMap(a.range,a.r2l),p=s.simpleMap(i.range,i.r2l);n._scene.update({range:[f[0],p[0],f[1],p[1]]})}if((lt||st)&&(v(t),m(t)),ct){var d=e[2]/F._length,g=e[3]/G._length;for(r=0;r<h.length;r++){a=(n=c[h[r]]).xaxis,i=n.yaxis;var y,x,b,_,w=it&&!a.fixedrange&&Y[a._id],k=ot&&!i.fixedrange&&W[i._id];if(w?(y=d,b=E?e[0]:Ht(a,y)):et.xaHash[a._id]?(y=d,b=e[0]*a._length/F._length):et.yaHash[a._id]?(y=g,b="ns"===nt?-e[1]*a._length/G._length:Ht(a,y,{n:"top",s:"bottom"}[nt])):b=qt(a,y=Ut(a,d,g)),k?(x=g,_=S?e[1]:Ht(i,x)):et.yaHash[i._id]?(x=g,_=e[1]*i._length/G._length):et.xaHash[i._id]?(x=d,_="ew"===rt?-e[0]*i._length/F._length:Ht(i,x,{e:"right",w:"left"}[rt])):_=qt(i,x=Ut(i,d,g)),y||x){y||(y=1),x||(x=1);var T=a._offset-b/y,A=i._offset-_/x;n.clipRect.call(u.setTranslate,b,_).call(u.setScale,y,x),n.plot.call(u.setTranslate,T,A).call(u.setScale,1/y,1/x),y===n.xScaleFactor&&x===n.yScaleFactor||(u.setPointGroupScale(n.zoomScalePts,y,x),u.setTextPointsScale(n.zoomScaleTxt,y,x)),u.hideOutsideRangePoints(n.clipOnAxisFalseTraces,n),n.xScaleFactor=y,n.yScaleFactor=x}}}}function Ut(t,e,r){return t.fixedrange?0:it&&tt.xaHash[t._id]?e:ot&&(tt.isSubplotConstrained?tt.xaHash:tt.yaHash)[t._id]?r:0}function qt(t,e){return e?(t.range=t._r.slice(),k(t,e),Ht(t,e)):0}function Ht(t,e,r){return t._length*(1-e)*g[r||t.constraintoward||"middle"]}return S.length*E.length!=1&&q(vt,function(e){if(t._context._scrollZoom.cartesian||t._fullLayout._enablescrollzoom){if(Et(),t._transitioningWithDuration)return e.preventDefault(),void e.stopPropagation();dt(),clearTimeout(It);var r=-e.deltaY;if(isFinite(r)||(r=e.wheelDelta/10),isFinite(r)){var n,a=Math.exp(-Math.min(Math.max(r,-20),20)/200),i=Rt.draglayer.select(".nsewdrag").node().getBoundingClientRect(),o=(e.clientX-i.left)/i.width,l=(i.bottom-e.clientY)/i.height;if(it){for(E||(o=.5),n=0;n<X.length;n++)c(X[n],o,a);Bt("x"),zt[2]*=a,zt[0]+=zt[2]*o*(1/a-1)}if(ot){for(S||(l=.5),n=0;n<Z.length;n++)c(Z[n],l,a);Bt("y"),zt[3]*=a,zt[1]+=zt[3]*(1-l)*(1/a-1)}Vt(zt),Nt(),t.emit("plotly_relayouting",ut),It=setTimeout(function(){zt=[0,0,Q,$],jt()},Dt),e.preventDefault()}else s.log("Did not find wheel motion attributes: ",e)}function c(t,e,r){if(!t.fixedrange){var n=s.simpleMap(t.range,t.r2l),a=n[0]+(n[1]-n[0])*e;t.range=n.map(function(e){return t.l2r(a+(e-a)*r)})}}}),vt},makeDragger:E,makeRectDragger:L,makeZoombox:I,makeCorners:D,updateZoombox:R,xyCorners:V,transitionZoombox:F,removeZoombox:B,showDoubleClickNotifier:N,attachWheelEventHandler:q}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../constants/alignment":685,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/setcursor":736,"../../lib/svg_text_utils":740,"../../plot_api/subroutines":755,"../../registry":845,"../plots":825,"./axes":764,"./axis_ids":767,"./constants":770,"./scale_zoom":780,"./select":781,d3:164,"has-passive-events":412,tinycolor2:535}],773:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/fx"),i=t("../../components/dragelement"),o=t("../../lib/setcursor"),s=t("./dragbox").makeDragBox,l=t("./constants").DRAGGERSIZE;r.initInteractions=function(t){var e=t._fullLayout;if(t._context.staticPlot)n.select(t).selectAll(".drag").remove();else if(e._has("cartesian")||e._has("splom")){Object.keys(e._plots||{}).sort(function(t,r){if((e._plots[t].mainplot&&!0)===(e._plots[r].mainplot&&!0)){var n=t.split("y"),a=r.split("y");return n[0]===a[0]?Number(n[1]||1)-Number(a[1]||1):Number(n[0]||1)-Number(a[0]||1)}return e._plots[t].mainplot?1:-1}).forEach(function(r){var n=e._plots[r],o=n.xaxis,c=n.yaxis;if(!n.mainplot){var u=s(t,n,o._offset,c._offset,o._length,c._length,"ns","ew");u.onmousemove=function(e){t._fullLayout._rehover=function(){t._fullLayout._hoversubplot===r&&t._fullLayout._plots[r]&&a.hover(t,e,r)},a.hover(t,e,r),t._fullLayout._lasthover=u,t._fullLayout._hoversubplot=r},u.onmouseout=function(e){t._dragging||(t._fullLayout._hoversubplot=null,i.unhover(t,e))},t._context.showAxisDragHandles&&(s(t,n,o._offset-l,c._offset-l,l,l,"n","w"),s(t,n,o._offset+o._length,c._offset-l,l,l,"n","e"),s(t,n,o._offset-l,c._offset+c._length,l,l,"s","w"),s(t,n,o._offset+o._length,c._offset+c._length,l,l,"s","e"))}if(t._context.showAxisDragHandles){if(r===o._mainSubplot){var h=o._mainLinePosition;"top"===o.side&&(h-=l),s(t,n,o._offset+.1*o._length,h,.8*o._length,l,"","ew"),s(t,n,o._offset,h,.1*o._length,l,"","w"),s(t,n,o._offset+.9*o._length,h,.1*o._length,l,"","e")}if(r===c._mainSubplot){var f=c._mainLinePosition;"right"!==c.side&&(f-=l),s(t,n,f,c._offset+.1*c._length,l,.8*c._length,"ns",""),s(t,n,f,c._offset+.9*c._length,l,.1*c._length,"s",""),s(t,n,f,c._offset,l,.1*c._length,"n","")}}});var o=e._hoverlayer.node();o.onmousemove=function(r){r.target=t._fullLayout._lasthover,a.hover(t,r,e._hoversubplot)},o.onclick=function(e){e.target=t._fullLayout._lasthover,a.click(t,e)},o.onmousedown=function(e){t._fullLayout._lasthover.onmousedown(e)},r.updateFx(t)}},r.updateFx=function(t){var e=t._fullLayout,r="pan"===e.dragmode?"move":"crosshair";o(e._draggers,r)}},{"../../components/dragelement":609,"../../components/fx":629,"../../lib/setcursor":736,"./constants":770,"./dragbox":772,d3:164}],774:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t){return function(e,r){var i=e[t];if(Array.isArray(i))for(var o=n.subplotsRegistry.cartesian,s=o.idRegex,l=r._subplots,c=l.xaxis,u=l.yaxis,h=l.cartesian,f=r._has("cartesian")||r._has("gl2d"),p=0;p<i.length;p++){var d=i[p];if(a.isPlainObject(d)){var g=d.xref,v=d.yref,m=s.x.test(g),y=s.y.test(v);if(m||y){f||a.pushUnique(r._basePlotModules,o);var x=!1;m&&-1===c.indexOf(g)&&(c.push(g),x=!0),y&&-1===u.indexOf(v)&&(u.push(v),x=!0),x&&m&&y&&h.push(g+v)}}}}}},{"../../lib":716,"../../registry":845}],775:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../plots"),s=t("../../components/drawing"),l=t("../get_data").getModuleCalcData,c=t("./axis_ids"),u=t("./constants"),h=t("../../constants/xmlns_namespaces"),f=i.ensureSingle;function p(t,e,r){return i.ensureSingle(t,e,r,function(t){t.datum(r)})}function d(t,e,r,i,o){for(var c,h,f,p=u.traceLayerClasses,d=t._fullLayout,g=d._modules,v=[],m=[],y=0;y<g.length;y++){var x=(c=g[y]).name,b=a.modules[x].categories;if(b.svg){var _=c.layerName||x+"layer",w=c.plot;f=(h=l(r,w))[0],r=h[1],f.length&&v.push({i:p.indexOf(_),className:_,plotMethod:w,cdModule:f}),b.zoomScale&&m.push("."+_)}}v.sort(function(t,e){return t.i-e.i});var k=e.plot.selectAll("g.mlayer").data(v,function(t){return t.className});if(k.enter().append("g").attr("class",function(t){return t.className}).classed("mlayer",!0).classed("rangeplot",e.isRangePlot),k.exit().remove(),k.order(),k.each(function(r){var a=n.select(this),l=r.className;r.plotMethod(t,e,r.cdModule,a,i,o),-1===u.clipOnAxisFalseQuery.indexOf("."+l)&&s.setClipUrl(a,e.layerClipId,t)}),d._has("scattergl")&&(c=a.getModule("scattergl"),f=l(r,c)[0],c.plot(t,e,f)),!t._context.staticPlot&&(e._hasClipOnAxisFalse&&(e.clipOnAxisFalseTraces=e.plot.selectAll(u.clipOnAxisFalseQuery.join(",")).selectAll(".trace")),m.length)){var T=e.plot.selectAll(m.join(",")).selectAll(".trace");e.zoomScalePts=T.selectAll("path.point"),e.zoomScaleTxt=T.selectAll(".textpoint")}}function g(t,e){var r=e.plotgroup,n=e.id,a=u.layerValue2layerClass[e.xaxis.layer],i=u.layerValue2layerClass[e.yaxis.layer],o=t._fullLayout._hasOnlyLargeSploms;if(e.mainplot){var s=e.mainplotinfo,l=s.plotgroup,h=n+"-x",d=n+"-y";e.gridlayer=s.gridlayer,e.zerolinelayer=s.zerolinelayer,f(s.overlinesBelow,"path",h),f(s.overlinesBelow,"path",d),f(s.overaxesBelow,"g",h),f(s.overaxesBelow,"g",d),e.plot=f(s.overplot,"g",n),f(s.overlinesAbove,"path",h),f(s.overlinesAbove,"path",d),f(s.overaxesAbove,"g",h),f(s.overaxesAbove,"g",d),e.xlines=l.select(".overlines-"+a).select("."+h),e.ylines=l.select(".overlines-"+i).select("."+d),e.xaxislayer=l.select(".overaxes-"+a).select("."+h),e.yaxislayer=l.select(".overaxes-"+i).select("."+d)}else if(o)e.xlines=f(r,"path","xlines-above"),e.ylines=f(r,"path","ylines-above"),e.xaxislayer=f(r,"g","xaxislayer-above"),e.yaxislayer=f(r,"g","yaxislayer-above");else{var g=f(r,"g","layer-subplot");e.shapelayer=f(g,"g","shapelayer"),e.imagelayer=f(g,"g","imagelayer"),e.gridlayer=f(r,"g","gridlayer"),e.zerolinelayer=f(r,"g","zerolinelayer"),f(r,"path","xlines-below"),f(r,"path","ylines-below"),e.overlinesBelow=f(r,"g","overlines-below"),f(r,"g","xaxislayer-below"),f(r,"g","yaxislayer-below"),e.overaxesBelow=f(r,"g","overaxes-below"),e.plot=f(r,"g","plot"),e.overplot=f(r,"g","overplot"),e.xlines=f(r,"path","xlines-above"),e.ylines=f(r,"path","ylines-above"),e.overlinesAbove=f(r,"g","overlines-above"),f(r,"g","xaxislayer-above"),f(r,"g","yaxislayer-above"),e.overaxesAbove=f(r,"g","overaxes-above"),e.xlines=r.select(".xlines-"+a),e.ylines=r.select(".ylines-"+i),e.xaxislayer=r.select(".xaxislayer-"+a),e.yaxislayer=r.select(".yaxislayer-"+i)}o||(p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map(function(t){return t[0]}).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0)}function v(t,e){if(t){var r={};for(var a in t.each(function(t){var a=t[0];n.select(this).remove(),m(a,e),r[a]=!0}),e._plots)for(var i=e._plots[a].overlays||[],o=0;o<i.length;o++){var s=i[o];r[s.id]&&s.plot.selectAll(".trace").remove()}}}function m(t,e){e._draggers.selectAll("g."+t).remove(),e._defs.select("#clip"+e._uid+t+"plot").remove()}r.name="cartesian",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=u.idRegex,r.attrRegex=u.attrRegex,r.attributes=t("./attributes"),r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.transitionAxes=t("./transition_axes"),r.finalizeSubplots=function(t,e){var r,n,a,o=e._subplots,s=o.xaxis,l=o.yaxis,h=o.cartesian,f=h.concat(o.gl2d||[]),p={},d={};for(r=0;r<f.length;r++){var g=f[r].split("y");p[g[0]]=1,d["y"+g[1]]=1}for(r=0;r<s.length;r++)p[n=s[r]]||(a=(t[c.id2name(n)]||{}).anchor,u.idRegex.y.test(a)||(a="y"),h.push(n+a),f.push(n+a),d[a]||(d[a]=1,i.pushUnique(l,a)));for(r=0;r<l.length;r++)d[a=l[r]]||(n=(t[c.id2name(a)]||{}).anchor,u.idRegex.x.test(n)||(n="x"),h.push(n+a),f.push(n+a),p[n]||(p[n]=1,i.pushUnique(s,n)));if(!f.length){for(var v in n="",a="",t){if(u.attrRegex.test(v))"x"===v.charAt(0)?(!n||+v.substr(5)<+n.substr(5))&&(n=v):(!a||+v.substr(5)<+a.substr(5))&&(a=v)}n=n?c.name2id(n):"x",a=a?c.name2id(a):"y",s.push(n),l.push(a),h.push(n+a)}},r.plot=function(t,e,r,n){var a,i=t._fullLayout,o=i._subplots.cartesian,s=t.calcdata;if(!Array.isArray(e))for(e=[],a=0;a<s.length;a++)e.push(a);for(a=0;a<o.length;a++){for(var l,c=o[a],u=i._plots[c],h=[],f=0;f<s.length;f++){var p=s[f],g=p[0].trace;g.xaxis+g.yaxis===c&&((-1!==e.indexOf(g.index)||g.carpet)&&(l&&l[0].trace.xaxis+l[0].trace.yaxis===c&&-1!==["tonextx","tonexty","tonext"].indexOf(g.fill)&&-1===h.indexOf(l)&&h.push(l),h.push(p)),l=p)}d(t,u,h,r,n)}},r.clean=function(t,e,r,n){var a,i,o,s=n._plots||{},l=e._plots||{},u=n._subplots||{};if(n._hasOnlyLargeSploms&&!e._hasOnlyLargeSploms)for(o in s)(a=s[o]).plotgroup&&a.plotgroup.remove();var h=n._has&&n._has("gl"),f=e._has&&e._has("gl");if(h&&!f)for(o in s)(a=s[o])._scene&&a._scene.destroy();if(u.xaxis&&u.yaxis){var p=c.listIds({_fullLayout:n});for(i=0;i<p.length;i++){var d=p[i];e[c.id2name(d)]||n._infolayer.selectAll(".g-"+d+"title").remove()}}var g=n._has&&n._has("cartesian"),y=e._has&&e._has("cartesian");if(g&&!y)v(n._cartesianlayer.selectAll(".subplot"),n),n._defs.selectAll(".axesclip").remove(),delete n._axisConstraintGroups;else if(u.cartesian)for(i=0;i<u.cartesian.length;i++){var x=u.cartesian[i];if(!l[x]){var b="."+x+",."+x+"-x,."+x+"-y";n._cartesianlayer.selectAll(b).remove(),m(x,n)}}},r.drawFramework=function(t){var e=t._fullLayout,r=function(t){var e,r,n,a,i,o,s=t._fullLayout,l=s._subplots.cartesian,c=l.length,u=[],h=[];for(e=0;e<c;e++){n=l[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var f=i._mainAxis,p=o._mainAxis,d=f._id+p._id,g=s._plots[d];a.overlays=[],d!==n&&g?(a.mainplot=d,a.mainplotinfo=g,h.push(n)):(a.mainplot=void 0,a.mainPlotinfo=void 0,u.push(n))}for(e=0;e<h.length;e++)n=h[e],(a=s._plots[n]).mainplotinfo.overlays.push(a);var v=u.concat(h),m=new Array(c);for(e=0;e<c;e++){n=v[e],a=s._plots[n],i=a.xaxis,o=a.yaxis;var y=[n,i.layer,o.layer,i.overlaying||"",o.overlaying||""];for(r=0;r<a.overlays.length;r++)y.push(a.overlays[r].id);m[e]=y}return m}(t),a=e._cartesianlayer.selectAll(".subplot").data(r,String);a.enter().append("g").attr("class",function(t){return"subplot "+t[0]}),a.order(),a.exit().call(v,e),a.each(function(r){var a=r[0],i=e._plots[a];i.plotgroup=n.select(this),g(t,i),i.draglayer=f(e._draggers,"g",a)})},r.rangePlot=function(t,e,r){g(t,e),d(t,e,r),o.style(t)},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:h.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})})},r.updateFx=t("./graph_interact").updateFx},{"../../components/drawing":612,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../registry":845,"../get_data":799,"../plots":825,"./attributes":762,"./axis_ids":767,"./constants":770,"./graph_interact":773,"./layout_attributes":776,"./layout_defaults":777,"./transition_axes":786,d3:164}],776:[function(t,e,r){"use strict";var n=t("../font_attributes"),a=t("../../components/color/attributes"),i=t("../../components/drawing/attributes").dash,o=t("../../lib/extend").extendFlat,s=t("../../plot_api/plot_template").templatedArray,l=(t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").DATE_FORMAT_LINK,t("./constants"));e.exports={visible:{valType:"boolean",editType:"plot"},color:{valType:"color",dflt:a.defaultLine,editType:"ticks"},title:{text:{valType:"string",editType:"ticks"},font:n({editType:"ticks"}),standoff:{valType:"number",min:0,editType:"ticks"},editType:"ticks"},type:{valType:"enumerated",values:["-","linear","log","date","category","multicategory"],dflt:"-",editType:"calc",_noTemplating:!0},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"axrange",impliedEdits:{"range[0]":void 0,"range[1]":void 0}},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"plot"},range:{valType:"info_array",items:[{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0},{valType:"any",editType:"axrange",impliedEdits:{"^autorange":!1},anim:!0}],editType:"axrange",impliedEdits:{autorange:!1},anim:!0},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},scaleanchor:{valType:"enumerated",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},scaleratio:{valType:"number",min:0,dflt:1,editType:"plot"},constrain:{valType:"enumerated",values:["range","domain"],dflt:"range",editType:"plot"},constraintoward:{valType:"enumerated",values:["left","center","right","top","middle","bottom"],editType:"plot"},matches:{valType:"enumerated",values:[l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"calc"},tickmode:{valType:"enumerated",values:["auto","linear","array"],editType:"ticks",impliedEdits:{tick0:void 0,dtick:void 0}},nticks:{valType:"integer",min:0,dflt:0,editType:"ticks"},tick0:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},dtick:{valType:"any",editType:"ticks",impliedEdits:{tickmode:"linear"}},tickvals:{valType:"data_array",editType:"ticks"},ticktext:{valType:"data_array",editType:"ticks"},ticks:{valType:"enumerated",values:["outside","inside",""],editType:"ticks"},tickson:{valType:"enumerated",values:["labels","boundaries"],dflt:"labels",editType:"ticks"},mirror:{valType:"enumerated",values:[!0,"ticks",!1,"all","allticks"],dflt:!1,editType:"ticks+layoutstyle"},ticklen:{valType:"number",min:0,dflt:5,editType:"ticks"},tickwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},tickcolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},showticklabels:{valType:"boolean",dflt:!0,editType:"ticks"},automargin:{valType:"boolean",dflt:!1,editType:"ticks"},showspikes:{valType:"boolean",dflt:!1,editType:"modebar"},spikecolor:{valType:"color",dflt:null,editType:"none"},spikethickness:{valType:"number",dflt:3,editType:"none"},spikedash:o({},i,{dflt:"dash",editType:"none"}),spikemode:{valType:"flaglist",flags:["toaxis","across","marker"],dflt:"toaxis",editType:"none"},spikesnap:{valType:"enumerated",values:["data","cursor"],dflt:"data",editType:"none"},tickfont:n({editType:"ticks"}),tickangle:{valType:"angle",dflt:"auto",editType:"ticks"},tickprefix:{valType:"string",dflt:"",editType:"ticks"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},ticksuffix:{valType:"string",dflt:"",editType:"ticks"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"ticks"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"ticks"},separatethousands:{valType:"boolean",dflt:!1,editType:"ticks"},tickformat:{valType:"string",dflt:"",editType:"ticks"},tickformatstops:s("tickformatstop",{enabled:{valType:"boolean",dflt:!0,editType:"ticks"},dtickrange:{valType:"info_array",items:[{valType:"any",editType:"ticks"},{valType:"any",editType:"ticks"}],editType:"ticks"},value:{valType:"string",dflt:"",editType:"ticks"},editType:"ticks"}),hoverformat:{valType:"string",dflt:"",editType:"none"},showline:{valType:"boolean",dflt:!1,editType:"ticks+layoutstyle"},linecolor:{valType:"color",dflt:a.defaultLine,editType:"layoutstyle"},linewidth:{valType:"number",min:0,dflt:1,editType:"ticks+layoutstyle"},showgrid:{valType:"boolean",editType:"ticks"},gridcolor:{valType:"color",dflt:a.lightLine,editType:"ticks"},gridwidth:{valType:"number",min:0,dflt:1,editType:"ticks"},zeroline:{valType:"boolean",editType:"ticks"},zerolinecolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},zerolinewidth:{valType:"number",dflt:1,editType:"ticks"},showdividers:{valType:"boolean",dflt:!0,editType:"ticks"},dividercolor:{valType:"color",dflt:a.defaultLine,editType:"ticks"},dividerwidth:{valType:"number",dflt:1,editType:"ticks"},anchor:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},side:{valType:"enumerated",values:["top","bottom","left","right"],editType:"plot"},overlaying:{valType:"enumerated",values:["free",l.idRegex.x.toString(),l.idRegex.y.toString()],editType:"plot"},layer:{valType:"enumerated",values:["above traces","below traces"],dflt:"above traces",editType:"plot"},domain:{valType:"info_array",items:[{valType:"number",min:0,max:1,editType:"plot"},{valType:"number",min:0,max:1,editType:"plot"}],dflt:[0,1],editType:"plot"},position:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array","total ascending","total descending","min ascending","min descending","max ascending","max descending","sum ascending","sum descending","mean ascending","mean descending","median ascending","median descending"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{autotick:{valType:"boolean",editType:"ticks"},title:{valType:"string",editType:"ticks"},titlefont:n({editType:"ticks"})}}},{"../../components/color/attributes":590,"../../components/drawing/attributes":611,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/plot_template":754,"../font_attributes":790,"./constants":770}],777:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../plot_api/plot_template"),o=t("../layout_attributes"),s=t("./layout_attributes"),l=t("./type_defaults"),c=t("./axis_defaults"),u=t("./constraints").handleConstraintDefaults,h=t("./position_defaults"),f=t("./axis_ids"),p=f.id2name,d=f.name2id,g=t("../../registry"),v=g.traceIs,m=g.getComponentMethod;function y(t,e,r){Array.isArray(t[e])?t[e].push(r):t[e]=[r]}e.exports=function(t,e,r){var f,g,x={},b={},_={},w={},k={},T={},A={},M={},S={},E={};for(f=0;f<r.length;f++){var L=r[f];if(v(L,"cartesian")||v(L,"gl2d")){var C,P;if(L.xaxis)y(x,C=p(L.xaxis),L);else if(L.xaxes)for(g=0;g<L.xaxes.length;g++)y(x,p(L.xaxes[g]),L);if(L.yaxis)y(x,P=p(L.yaxis),L);else if(L.yaxes)for(g=0;g<L.yaxes.length;g++)y(x,p(L.yaxes[g]),L);if("funnel"===L.type?"h"===L.orientation?(C&&(b[C]=!0),P&&(A[P]=!0)):P&&(_[P]=!0):"image"===L.type?(P&&(M[P]=!0),C&&(M[C]=!0)):(P&&(k[P]=!0,T[P]=!0),v(L,"carpet")&&("carpet"!==L.type||L._cheater)||C&&(w[C]=!0)),"carpet"===L.type&&L._cheater&&C&&(b[C]=!0),v(L,"2dMap")&&(S[C]=!0,S[P]=!0),v(L,"oriented"))E["h"===L.orientation?P:C]=!0}}var O=e._subplots,z=O.xaxis,I=O.yaxis,D=n.simpleMap(z,p),R=n.simpleMap(I,p),F=D.concat(R),B=a.background;z.length&&I.length&&(B=n.coerce(t,e,o,"plot_bgcolor"));var N,j,V,U,q=a.combine(B,e.paper_bgcolor);function H(t,e){return n.coerce(V,U,s,t,e)}function G(t,e){return n.coerce2(V,U,s,t,e)}function Y(t){return"x"===t?I:z}var W={x:Y("x"),y:Y("y")},X=W.x.concat(W.y);function Z(e,r){for(var n="x"===e?D:R,a=[],i=0;i<n.length;i++){var o=n[i];o===r||(t[o]||{}).overlaying||a.push(d(o))}return a}for(f=0;f<F.length;f++){j=(N=F[f]).charAt(0),n.isPlainObject(t[N])||(t[N]={}),V=t[N],U=i.newContainer(e,N,j+"axis");var J=x[N]||[];U._traceIndices=J.map(function(t){return t._expandedIndex}),U._annIndices=[],U._shapeIndices=[],U._imgIndices=[],U._subplotsWith=[],U._counterAxes=[],U._name=U._attr=N;var K=U._id=d(N),Q=Z(j,N),$="x"===j&&!w[N]&&b[N]||"y"===j&&!k[N]&&_[N],tt="y"===j&&(!T[N]&&A[N]||M[N]),et={letter:j,font:e.font,outerTicks:S[N],showGrid:!E[N],data:J,bgColor:q,calendar:e.calendar,automargin:!0,visibleDflt:$,reverseDflt:tt,splomStash:((e._splomAxes||{})[j]||{})[K]};H("uirevision",e.uirevision),l(V,U,H,et),c(V,U,H,et,e);var rt=G("spikecolor"),nt=G("spikethickness"),at=G("spikedash"),it=G("spikemode"),ot=G("spikesnap");H("showspikes",!!(rt||nt||at||it||ot))||(delete U.spikecolor,delete U.spikethickness,delete U.spikedash,delete U.spikemode,delete U.spikesnap),h(V,U,H,{letter:j,counterAxes:W[j],overlayableAxes:Q,grid:e.grid}),H("title.standoff"),U._input=V}var st=m("rangeslider","handleDefaults"),lt=m("rangeselector","handleDefaults");for(f=0;f<D.length;f++)N=D[f],V=t[N],U=e[N],st(t,e,N),"date"===U.type&&lt(V,U,e,R,U.calendar),H("fixedrange");for(f=0;f<R.length;f++){N=R[f],V=t[N],U=e[N];var ct=e[p(U.anchor)];H("fixedrange",m("rangeslider","isVisible")(ct))}var ut=e._axisConstraintGroups=[],ht=e._axisMatchGroups=[];for(f=0;f<F.length;f++){var ft,pt;j=(N=F[f]).charAt(0),V=t[N],U=e[N],ft="y"===j&&!V.hasOwnProperty("scaleanchor")&&M[N]?U.anchor:void 0,pt=!V.hasOwnProperty("constrain")&&M[N]?"domain":void 0,u(V,U,H,{allAxisIds:X,layoutOut:e,scaleanchorDflt:ft,constrainDflt:pt})}for(f=0;f<ht.length;f++){var dt,gt=ht[f],vt=null,mt=null;for(dt in gt)(U=e[p(dt)]).matches||(vt=U.range,mt=U.autorange);if(null===vt||null===mt)for(dt in gt){vt=(U=e[p(dt)]).range,mt=U.autorange;break}for(dt in gt)(U=e[p(dt)]).matches&&(U.range=vt.slice(),U.autorange=mt),U._matchGroup=gt;if(ut.length)for(dt in gt)for(g=0;g<ut.length;g++){var yt=ut[g];for(var xt in yt)dt===xt&&(n.warn("Axis "+xt+" is set with both a *scaleanchor* and *matches* constraint; ignoring the scale constraint."),delete yt[xt],Object.keys(yt).length<2&&ut.splice(g,1))}}}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../../registry":845,"../layout_attributes":816,"./axis_defaults":766,"./axis_ids":767,"./constraints":771,"./layout_attributes":776,"./position_defaults":779,"./type_defaults":787}],778:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,a=t("../../components/color/attributes").lightFraction,i=t("../../lib");e.exports=function(t,e,r,o){var s=(o=o||{}).dfltColor;function l(r,n){return i.coerce2(t,e,o.attributes,r,n)}var c=l("linecolor",s),u=l("linewidth");r("showline",o.showLine||!!c||!!u)||(delete e.linecolor,delete e.linewidth);var h=l("gridcolor",n(s,o.bgColor,o.blend||a).toRgbString()),f=l("gridwidth");if(r("showgrid",o.showGrid||!!h||!!f)||(delete e.gridcolor,delete e.gridwidth),!o.noZeroLine){var p=l("zerolinecolor",s),d=l("zerolinewidth");r("zeroline",o.showGrid||!!p||!!d)||(delete e.zerolinecolor,delete e.zerolinewidth)}}},{"../../components/color/attributes":590,"../../lib":716,tinycolor2:535}],779:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib");e.exports=function(t,e,r,i){var o,s,l,c,u=i.counterAxes||[],h=i.overlayableAxes||[],f=i.letter,p=i.grid;p&&(s=p._domains[f][p._axisMap[e._id]],o=p._anchors[e._id],s&&(l=p[f+"side"].split(" ")[0],c=p.domain[f]["right"===l||"top"===l?1:0])),s=s||[0,1],o=o||(n(t.position)?"free":u[0]||"free"),l=l||("x"===f?"bottom":"left"),c=c||0,"free"===a.coerce(t,e,{anchor:{valType:"enumerated",values:["free"].concat(u),dflt:o}},"anchor")&&r("position",c),a.coerce(t,e,{side:{valType:"enumerated",values:"x"===f?["bottom","top"]:["left","right"],dflt:l}},"side");var d=!1;if(h.length&&(d=a.coerce(t,e,{overlaying:{valType:"enumerated",values:[!1].concat(h),dflt:!1}},"overlaying")),!d){var g=r("domain",s);g[0]>g[1]-1/4096&&(e.domain=s),a.noneOrAll(t.domain,e.domain,s)}return r("layer"),e}},{"../../lib":716,"fast-isnumeric":227}],780:[function(t,e,r){"use strict";var n=t("../../constants/alignment").FROM_BL;e.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var a=[t.r2l(t.range[0]),t.r2l(t.range[1])],i=a[0]+(a[1]-a[0])*r;t.range=t._input.range=[t.l2r(i+(a[0]-i)*e),t.l2r(i+(a[1]-i)*e)]}},{"../../constants/alignment":685}],781:[function(t,e,r){"use strict";var n=t("polybooljs"),a=t("../../registry"),i=t("../../components/color"),o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/polygon"),c=t("../../lib/throttle"),u=t("../../components/fx/helpers").makeEventData,h=t("./axis_ids").getFromId,f=t("../../lib/clear_gl_canvases"),p=t("../../plot_api/subroutines").redrawReglTraces,d=t("./constants"),g=d.MINSELECT,v=l.filter,m=l.tester;function y(t){return t._id}function x(t,e,r,n,a,i,o){var s,l,c,u,h,f,p,d,g,v=e._hoverdata,m=e._fullLayout.clickmode.indexOf("event")>-1,y=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(v)){k(t,e,i);var x=function(t,e){var r,n,a=t[0],i=-1,o=[];for(n=0;n<e.length;n++)if(r=e[n],a.fullData._expandedIndex===r.cd[0].trace._expandedIndex){if(!0===a.hoverOnBox)break;void 0!==a.pointNumber?i=a.pointNumber:void 0!==a.binNumber&&(i=a.binNumber,o=a.pointNumbers);break}return{pointNumber:i,pointNumbers:o,searchInfo:r}}(v,s=A(e,r,n,a));if(x.pointNumbers.length>0?function(t,e){var r,n,a,i=[];for(a=0;a<t.length;a++)(r=t[a]).cd[0].trace.selectedpoints&&r.cd[0].trace.selectedpoints.length>0&&i.push(r);if(1===i.length&&i[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(a=0;a<e.pointNumbers.length;a++)if(n.selectedpoints.indexOf(e.pointNumbers[a])<0)return!1;return!0}return!1}(s,x):function(t){var e,r,n,a=0;for(n=0;n<t.length;n++)if(e=t[n],(r=e.cd[0].trace).selectedpoints){if(r.selectedpoints.length>1)return!1;if((a+=r.selectedpoints.length)>1)return!1}return 1===a}(s)&&(f=S(x))){for(o&&o.remove(),g=0;g<s.length;g++)(l=s[g])._module.selectPoints(l,!1);E(e,s),T(i),m&&e.emit("plotly_deselect",null)}else{for(p=t.shiftKey&&(void 0!==f?f:S(x)),c=function(t,e,r){return{pointNumber:t,searchInfo:e,subtract:r}}(x.pointNumber,x.searchInfo,p),u=w(i.selectionDefs.concat([c])),g=0;g<s.length;g++)if(h=L(s[g]._module.selectPoints(s[g],u),s[g]),y.length)for(var b=0;b<h.length;b++)y.push(h[b]);else y=h;E(e,s,d={points:y}),c&&i&&i.selectionDefs.push(c),o&&M(i.mergedPolygons,o),m&&e.emit("plotly_selected",d)}}}function b(t){return"pointNumber"in t&&"searchInfo"in t}function _(t){return{xmin:0,xmax:0,ymin:0,ymax:0,pts:[],contains:function(e,r,n,a){var i=t.searchInfo.cd[0].trace._expandedIndex;return a.cd[0].trace._expandedIndex===i&&n===t.pointNumber},isRect:!1,degenerate:!1,subtract:t.subtract}}function w(t){for(var e=[],r=b(t[0])?0:t[0][0][0],n=r,a=b(t[0])?0:t[0][0][1],i=a,o=0;o<t.length;o++)if(b(t[o]))e.push(_(t[o]));else{var s=l.tester(t[o]);s.subtract=t[o].subtract,e.push(s),r=Math.min(r,s.xmin),n=Math.max(n,s.xmax),a=Math.min(a,s.ymin),i=Math.max(i,s.ymax)}return{xmin:r,xmax:n,ymin:a,ymax:i,pts:[],contains:function(t,r,n,a){for(var i=!1,o=0;o<e.length;o++)e[o].contains(t,r,n,a)&&(i=!1===e[o].subtract);return i},isRect:!1,degenerate:!1}}function k(t,e,r){var n=e._fullLayout,a=r.plotinfo,i=n._lastSelectedSubplot&&n._lastSelectedSubplot===a.id,o=t.shiftKey||t.altKey;i&&o&&a.selection&&a.selection.selectionDefs&&!r.selectionDefs?(r.selectionDefs=a.selection.selectionDefs,r.mergedPolygons=a.selection.mergedPolygons):o&&a.selection||T(r),i||(C(e),n._lastSelectedSubplot=a.id)}function T(t){var e=t.plotinfo;e.selection={},e.selection.selectionDefs=t.selectionDefs=[],e.selection.mergedPolygons=t.mergedPolygons=[]}function A(t,e,r,n){var a,i,o,s=[],l=e.map(y),c=r.map(y);for(o=0;o<t.calcdata.length;o++)if(!0===(i=(a=t.calcdata[o])[0].trace).visible&&i._module&&i._module.selectPoints)if(!n||i.subplot!==n&&i.geo!==n)if("splom"===i.type&&i._xaxes[l[0]]&&i._yaxes[c[0]]){var u=p(i._module,a,e[0],r[0]);u.scene=t._fullLayout._splomScenes[i.uid],s.push(u)}else if("sankey"===i.type){var f=p(i._module,a,e[0],r[0]);s.push(f)}else{if(-1===l.indexOf(i.xaxis))continue;if(-1===c.indexOf(i.yaxis))continue;s.push(p(i._module,a,h(t,i.xaxis),h(t,i.yaxis)))}else s.push(p(i._module,a,e[0],r[0]));return s;function p(t,e,r,n){return{_module:t,cd:e,xaxis:r,yaxis:n}}}function M(t,e){var r,n,a=[];for(r=0;r<t.length;r++){var i=t[r];a.push(i.join("L")+"L"+i[0])}n=t.length>0?"M"+a.join("M")+"Z":"M0,0Z",e.attr("d",n)}function S(t){var e=t.searchInfo.cd[0].trace,r=t.pointNumber,n=t.pointNumbers,a=n.length>0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(a)>-1}function E(t,e,r){var n,i,o,s;for(n=0;n<e.length;n++){var l=e[n].cd[0].trace._fullInput,c=t._fullLayout._tracePreGUI[l.uid]||{};void 0===c.selectedpoints&&(c.selectedpoints=l._input.selectedpoints||null)}if(r){var u=r.points||[];for(n=0;n<e.length;n++)(s=e[n].cd[0].trace)._input.selectedpoints=s._fullInput.selectedpoints=[],s._fullInput!==s&&(s.selectedpoints=[]);for(n=0;n<u.length;n++){var h=u[n],d=h.data,g=h.fullData;h.pointIndices?([].push.apply(d.selectedpoints,h.pointIndices),s._fullInput!==s&&[].push.apply(g.selectedpoints,h.pointIndices)):(d.selectedpoints.push(h.pointIndex),s._fullInput!==s&&g.selectedpoints.push(h.pointIndex))}}else for(n=0;n<e.length;n++)delete(s=e[n].cd[0].trace).selectedpoints,delete s._input.selectedpoints,s._fullInput!==s&&delete s._fullInput.selectedpoints;var v=!1;for(n=0;n<e.length;n++){s=(o=(i=e[n]).cd)[0].trace,a.traceIs(s,"regl")&&(v=!0);var m=i._module,y=m.styleOnSelect||m.style;y&&(y(t,o,o[0].node3),o[0].nodeRangePlot3&&y(t,o,o[0].nodeRangePlot3))}v&&(f(t),p(t))}function L(t,e){if(Array.isArray(t))for(var r=e.cd,n=e.cd[0].trace,a=0;a<t.length;a++)t[a]=u(t[a],n,r);return t}function C(t){var e=(t._fullLayout||{})._zoomlayer;e&&e.selectAll(".select-outline").remove()}e.exports={prepSelect:function(t,e,r,a,l){var u,h,f,p,y,b,_,S=a.gd,C=S._fullLayout,P=C._zoomlayer,O=a.element.getBoundingClientRect(),z=a.plotinfo,I=z.xaxis._offset,D=z.yaxis._offset,R=e-O.left,F=r-O.top,B=R,N=F,j="M"+R+","+F,V=a.xaxes[0]._length,U=a.yaxes[0]._length,q=a.xaxes.concat(a.yaxes),H=t.altKey;k(t,S,a),"lasso"===l&&(u=v([[R,F]],d.BENDPX));var G=P.selectAll("path.select-outline-"+z.id).data([1,2]);G.enter().append("path").attr("class",function(t){return"select-outline select-outline-"+t+" select-outline-"+z.id}).attr("transform","translate("+I+", "+D+")").attr("d",j+"Z");var Y,W=P.append("path").attr("class","zoombox-corners").style({fill:i.background,stroke:i.defaultLine,"stroke-width":1}).attr("transform","translate("+I+", "+D+")").attr("d","M0,0Z"),X=C._uid+d.SELECTID,Z=[],J=A(S,a.xaxes,a.yaxes,a.subplot);function K(t,e){return"log"===t.type?t.p2d(e):t.p2r(e)}function Q(t){var e="y"===t._id.charAt(0)?1:0;return function(r){return K(t,r[e])}}function $(t,e){return t-e}Y=z.fillRangeItems?z.fillRangeItems:"select"===l?function(t,e){var r=t.range={};for(y=0;y<q.length;y++){var n=q[y],a=n._id.charAt(0);r[n._id]=[K(n,e[a+"min"]),K(n,e[a+"max"])].sort($)}}:function(t,e,r){var n=t.lassoPoints={};for(y=0;y<q.length;y++){var a=q[y];n[a._id]=r.filtered.map(Q(a))}},a.moveFn=function(t,e){B=Math.max(0,Math.min(V,t+R)),N=Math.max(0,Math.min(U,e+F));var r=Math.abs(B-R),i=Math.abs(N-F);if("select"===l){var o=C.selectdirection;"h"===(o="any"===C.selectdirection?i<Math.min(.6*r,g)?"h":r<Math.min(.6*i,g)?"v":"d":C.selectdirection)?((p=[[R,0],[R,U],[B,U],[B,0]]).xmin=Math.min(R,B),p.xmax=Math.max(R,B),p.ymin=Math.min(0,U),p.ymax=Math.max(0,U),W.attr("d","M"+p.xmin+","+(F-g)+"h-4v"+2*g+"h4ZM"+(p.xmax-1)+","+(F-g)+"h4v"+2*g+"h-4Z")):"v"===o?((p=[[0,F],[0,N],[V,N],[V,F]]).xmin=Math.min(0,V),p.xmax=Math.max(0,V),p.ymin=Math.min(F,N),p.ymax=Math.max(F,N),W.attr("d","M"+(R-g)+","+p.ymin+"v-4h"+2*g+"v4ZM"+(R-g)+","+(p.ymax-1)+"v4h"+2*g+"v-4Z")):"d"===o&&((p=[[R,F],[R,N],[B,N],[B,F]]).xmin=Math.min(R,B),p.xmax=Math.max(R,B),p.ymin=Math.min(F,N),p.ymax=Math.max(F,N),W.attr("d","M0,0Z"))}else"lasso"===l&&(u.addPt([B,N]),p=u.filtered);a.selectionDefs&&a.selectionDefs.length?(f=function(t,e,r){return r?n.difference({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions:n.union({regions:t,inverted:!1},{regions:[e],inverted:!1}).regions}(a.mergedPolygons,p,H),p.subtract=H,h=w(a.selectionDefs.concat([p]))):(f=[p],h=m(p)),M(f,G),c.throttle(X,d.SELECTDELAY,function(){var t;Z=[];var e,r=[];for(y=0;y<J.length;y++)if(e=(b=J[y])._module.selectPoints(b,h),r.push(e),t=L(e,b),Z.length)for(var n=0;n<t.length;n++)Z.push(t[n]);else Z=t;E(S,J,_={points:Z}),Y(_,p,u),a.gd.emit("plotly_selecting",_)})},a.clickFn=function(t,e){var r=C.clickmode;W.remove(),c.done(X).then(function(){if(c.clear(X),2===t){for(G.remove(),y=0;y<J.length;y++)(b=J[y])._module.selectPoints(b,!1);E(S,J),T(a),S.emit("plotly_deselect",null)}else r.indexOf("select")>-1&&x(e,S,a.xaxes,a.yaxes,a.subplot,a,G),"event"===r&&S.emit("plotly_selected",void 0);o.click(S,e)}).catch(s.error)},a.doneFn=function(){W.remove(),c.done(X).then(function(){c.clear(X),a.gd.emit("plotly_selected",_),p&&a.selectionDefs&&(p.subtract=H,a.selectionDefs.push(p),a.mergedPolygons.length=0,[].push.apply(a.mergedPolygons,f)),a.doneFnCompleted&&a.doneFnCompleted(Z)}).catch(s.error)}},clearSelect:C,selectOnClick:x}},{"../../components/color":591,"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/polygon":728,"../../lib/throttle":741,"../../plot_api/subroutines":755,"../../registry":845,"./axis_ids":767,"./constants":770,polybooljs:474}],782:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=i.cleanNumber,s=i.ms2DateTime,l=i.dateTime2ms,c=i.ensureNumber,u=i.isArrayOrTypedArray,h=t("../../constants/numerical"),f=h.FP_SAFE,p=h.BADNUM,d=h.LOG_CLIP,g=t("./constants"),v=t("./axis_ids");function m(t){return Math.pow(10,t)}function y(t){return null!=t}e.exports=function(t,e){e=e||{};var r=t._id||"x",h=r.charAt(0);function x(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],a=t.range[1];return.5*(n+a-2*d*Math.abs(n-a))}return p}function b(e,r,n){var o=l(e,n||t.calendar);if(o===p){if(!a(e))return p;e=+e;var s=Math.floor(10*i.mod(e+.05,1)),c=Math.round(e-s/10);o=l(new Date(c))+s/10}return o}function _(e,r,n){return s(e,r,n||t.calendar)}function w(e){return t._categories[Math.round(e)]}function k(e){if(y(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return p}function T(e){if(t._categoriesMap)return t._categoriesMap[e]}function A(t){var e=T(t);return void 0!==e?e:a(t)?+t:void 0}function M(e){return a(e)?n.round(t._b+t._m*e,2):p}function S(e){return(e-t._b)/t._m}t.c2l="log"===t.type?x:c,t.l2c="log"===t.type?m:c,t.l2p=M,t.p2l=S,t.c2p="log"===t.type?function(t,e){return M(x(t,e))}:M,t.p2c="log"===t.type?function(t){return m(S(t))}:S,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=o,t.c2d=t.c2r=t.l2d=t.l2r=c,t.d2p=t.r2p=function(e){return t.l2p(o(e))},t.p2d=t.p2r=S,t.cleanPos=c):"log"===t.type?(t.d2r=t.d2l=function(t,e){return x(o(t),e)},t.r2d=t.r2c=function(t){return m(o(t))},t.d2c=t.r2l=o,t.c2d=t.l2r=c,t.c2r=x,t.l2d=m,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return m(S(t))},t.r2p=function(e){return t.l2p(o(e))},t.p2r=S,t.cleanPos=c):"date"===t.type?(t.d2r=t.r2d=i.identity,t.d2c=t.r2c=t.d2l=t.r2l=b,t.c2d=t.c2r=t.l2d=t.l2r=_,t.d2p=t.r2p=function(e,r,n){return t.l2p(b(e,0,n))},t.p2d=t.p2r=function(t,e,r){return _(S(t),e,r)},t.cleanPos=function(e){return i.cleanDate(e,p,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=k,t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:c(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=w,t.d2r=t.d2l_noadd=A,t.r2c=function(e){var r=A(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=T,t.l2r=t.c2r=c,t.r2l=A,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return w(S(t))},t.r2p=t.d2p,t.p2r=S,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:c(t)},t.setupMultiCategory=function(n){var a,o,s=t._traceIndices,l=e._axisMatchGroups;if(l&&l.length&&0===t._categories.length)for(a=0;a<l.length;a++){var c=l[a];if(c[r])for(var f in c)if(f!==r){var p=e[v.id2name(f)];s=s.concat(p._traceIndices)}}var d=[[0,{}],[0,{}]],g=[];for(a=0;a<s.length;a++){var m=n[s[a]];if(h in m){var x=m[h],b=m._length||i.minRowLength(x);if(u(x[0])&&u(x[1]))for(o=0;o<b;o++){var _=x[0][o],w=x[1][o];y(_)&&y(w)&&(g.push([_,w]),_ in d[0][1]||(d[0][1][_]=d[0][0]++),w in d[1][1]||(d[1][1][w]=d[1][0]++))}}}for(g.sort(function(t,e){var r=d[0][1],n=r[t[0]]-r[e[0]];if(n)return n;var a=d[1][1];return a[t[1]]-a[e[1]]}),a=0;a<g.length;a++)k(g[a])}),t.fraction2r=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return t.l2r(r+e*(n-r))},t.r2fraction=function(e){var r=t.r2l(t.range[0]),n=t.r2l(t.range[1]);return(t.r2l(e)-r)/(n-r)},t.cleanRange=function(e,r){r||(r={}),e||(e="range");var n,o,s=i.nestedProperty(t,e).get();if(o=(o="date"===t.type?i.dfltRange(t.calendar):"y"===h?g.DFLTRANGEY:r.dfltRange||g.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(o[0]=0),s&&2===s.length)for("date"!==t.type||t.autorange||(s[0]=i.cleanDate(s[0],p,t.calendar),s[1]=i.cleanDate(s[1],p,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!i.isDateTime(s[n],t.calendar)){t[e]=o;break}if(t.r2l(s[0])===t.r2l(s[1])){var l=i.constrain(t.r2l(s[0]),i.MIN_MS+1e3,i.MAX_MS-1e3);s[0]=t.l2r(l-1e3),s[1]=t.l2r(l+1e3);break}}else{if(!a(s[n])){if(!a(s[1-n])){t[e]=o;break}s[n]=s[1-n]*(n?10:.1)}if(s[n]<-f?s[n]=-f:s[n]>f&&(s[n]=f),s[0]===s[1]){var c=Math.max(1,Math.abs(1e-6*s[0]));s[0]-=c,s[1]+=c}}else i.nestedProperty(t,e).set(o)},t.setScale=function(r){var n=e._size;if(t.overlaying){var a=v.getFromId({_fullLayout:e},t.overlaying);t.domain=a.domain}var i=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(i);var s=t.r2l(t[i][0],o),l=t.r2l(t[i][1],o);if("y"===h?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(s-l),t._b=-t._m*l):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(l-s),t._b=-t._m*s),!isFinite(t._m)||!isFinite(t._b)||t._length<0)throw e._replotting=!1,new Error("Something went wrong with axis scaling")},t.makeCalcdata=function(e,r){var n,a,o,s,l=t.type,c="date"===l&&e[r+"calendar"];if(r in e){if(n=e[r],s=e._length||i.minRowLength(n),i.isTypedArray(n)&&("linear"===l||"log"===l)){if(s===n.length)return n;if(n.subarray)return n.subarray(0,s)}if("multicategory"===l)return function(t,e){for(var r=new Array(e),n=0;n<e;n++){var a=(t[0]||[])[n],i=(t[1]||[])[n];r[n]=T([a,i])}return r}(n,s);for(a=new Array(s),o=0;o<s;o++)a[o]=t.d2c(n[o],0,c)}else{var u=r+"0"in e?t.d2c(e[r+"0"],0,c):0,h=e["d"+r]?Number(e["d"+r]):1;for(n=e[{x:"y",y:"x"}[r]],s=e._length||n.length,a=new Array(s),o=0;o<s;o++)a[o]=u+o*h}return a},t.isValidRange=function(e){return Array.isArray(e)&&2===e.length&&a(t.r2l(e[0]))&&a(t.r2l(e[1]))},t.isPtWithinRange=function(e,r){var n=t.c2l(e[h],null,r),a=t.r2l(t.range[0]),i=t.r2l(t.range[1]);return a<i?a<=n&&n<=i:i<=n&&n<=a},t.clearCalc=function(){var n=function(){t._categories=[],t._categoriesMap={}},a=e._axisMatchGroups;if(a&&a.length){for(var i=!1,o=0;o<a.length;o++){var s=a[o];if(s[r]){i=!0;var l=null,c=null;for(var u in s){var h=e[v.id2name(u)];if(h._categories){l=h._categories,c=h._categoriesMap;break}}l&&c?(t._categories=l,t._categoriesMap=c):n();break}}i||n()}else n();if(t._initialCategories)for(var f=0;f<t._initialCategories.length;f++)k(t._initialCategories[f])},t.sortByInitialCategories=function(){var n=[];if(t._categories=[],t._categoriesMap={},t._initialCategories)for(var a=0;a<t._initialCategories.length;a++)k(t._initialCategories[a]);n=n.concat(t._traceIndices);var i=t._matchGroup;for(var o in i)if(r!==o){var s=e[v.id2name(o)];s._categories=t._categories,s._categoriesMap=t._categoriesMap,n=n.concat(s._traceIndices)}return n};var E=e._d3locale;"date"===t.type&&(t._dateFormat=E?E.timeFormat.utc:n.time.format.utc,t._extraFormat=e._extraFormat),t._separators=e.separators,t._numFormat=E?E.numberFormat:n.format,delete t._minDtick,delete t._forceTick0}},{"../../constants/numerical":692,"../../lib":716,"./axis_ids":767,"./constants":770,d3:164,"fast-isnumeric":227}],783:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../array_container_defaults");function o(t){var e=["showexponent","showtickprefix","showticksuffix"].filter(function(e){return void 0!==t[e]});if(e.every(function(r){return t[r]===t[e[0]]})||1===e.length)return t[e[0]]}function s(t,e){function r(r,i){return n.coerce(t,e,a.tickformatstops,r,i)}r("enabled")&&(r("dtickrange"),r("value"))}e.exports=function(t,e,r,l,c,u){u&&1!==u.pass||function(t,e,r,n,a){var i=o(t);r("tickprefix")&&r("showtickprefix",i);r("ticksuffix",a.tickSuffixDflt)&&r("showticksuffix",i)}(t,0,r,0,c),u&&2!==u.pass||function(t,e,r,l,c){var u=o(t);r("tickprefix")&&r("showtickprefix",u);r("ticksuffix",c.tickSuffixDflt)&&r("showticksuffix",u);if(r("showticklabels")){var h=c.font||{},f=e.color,p=f&&f!==a.color.dflt?f:h.color;if(n.coerceFont(r,"tickfont",{family:h.family,size:h.size,color:p}),r("tickangle"),"category"!==l){var d=r("tickformat"),g=t.tickformatstops;Array.isArray(g)&&g.length&&i(t,e,{name:"tickformatstops",inclusionAttr:"enabled",handleItemDefaults:s}),d||"date"===l||(r("showexponent",u),r("exponentformat"),r("separatethousands"))}}}(t,e,r,l,c)}},{"../../lib":716,"../array_container_defaults":760,"./layout_attributes":776}],784:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r,i){var o=n.coerce2(t,e,a,"ticklen"),s=n.coerce2(t,e,a,"tickwidth"),l=n.coerce2(t,e,a,"tickcolor",e.color);r("ticks",i.outerTicks||o||s||l?"outside":"")||(delete e.ticklen,delete e.tickwidth,delete e.tickcolor)}},{"../../lib":716,"./layout_attributes":776}],785:[function(t,e,r){"use strict";var n=t("./clean_ticks");e.exports=function(t,e,r,a){var i;"array"!==t.tickmode||"log"!==a&&"date"!==a?i=r("tickmode",Array.isArray(t.tickvals)?"array":t.dtick?"linear":"auto"):i=e.tickmode="auto";if("auto"===i)r("nticks");else if("linear"===i){var o=e.dtick=n.dtick(t.dtick,a);e.tick0=n.tick0(t.tick0,a,e.calendar,o)}else if("multicategory"!==a){void 0===r("tickvals")?e.tickmode="auto":r("ticktext")}}},{"./clean_ticks":769}],786:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../../components/drawing"),s=t("./axes");e.exports=function(t,e,r,l){var c=t._fullLayout;if(0!==e.length){var u,h,f,p;l&&(u=l());var d=n.ease(r.easing);return t._transitionData._interruptCallbacks.push(function(){return window.cancelAnimationFrame(p),p=null,function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr0&&(r[o._name+".range"]=i.xr0.slice()),i.yr0&&(r[s._name+".range"]=i.yr0.slice())}return a.call("relayout",t,r).then(function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)})}()}),h=Date.now(),p=window.requestAnimationFrame(function n(){f=Date.now();for(var i=Math.min(1,(f-h)/r.duration),o=d(i),s=0;s<e.length;s++)v(e[s],o);f-h>r.duration?(function(){for(var r={},n=0;n<e.length;n++){var i=e[n],o=i.plotinfo.xaxis,s=i.plotinfo.yaxis;i.xr1&&(r[o._name+".range"]=i.xr1.slice()),i.yr1&&(r[s._name+".range"]=i.yr1.slice())}u&&u(),a.call("relayout",t,r).then(function(){for(var t=0;t<e.length;t++)g(e[t].plotinfo)})}(),p=window.cancelAnimationFrame(n)):p=window.requestAnimationFrame(n)}),Promise.resolve()}function g(t){var e=t.xaxis,r=t.yaxis;c._defs.select("#"+t.clipId+"> rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function v(e,r){var n=e.plotinfo,a=n.xaxis,l=n.yaxis,c=a._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=i.simpleMap(e.xr0,a.r2l),g=i.simpleMap(e.xr1,a.r2l),v=d[1]-d[0],m=g[1]-g[0];p[0]=(d[0]*(1-r)+r*g[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*m/v),a.range[0]=a.l2r(d[0]*(1-r)+r*g[0]),a.range[1]=a.l2r(d[1]*(1-r)+r*g[1])}else p[0]=0,p[2]=c;if(f){var y=i.simpleMap(e.yr0,l.r2l),x=i.simpleMap(e.yr1,l.r2l),b=y[1]-y[0],_=x[1]-x[0];p[1]=(y[1]*(1-r)+r*x[1]-y[1])/(y[0]-y[1])*u,p[3]=u*(1-r+r*_/b),l.range[0]=a.l2r(y[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(y[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,a,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[a._id,l._id]);var w=h?c/p[2]:1,k=f?u/p[3]:1,T=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=a._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,T,A).call(o.setScale,1/w,1/k),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,k),o.setPointGroupScale(n.zoomScalePts,1/w,1/k),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/k)}s.redrawComponents(t)}},{"../../components/drawing":612,"../../lib":716,"../../registry":845,"./axes":764,d3:164}],787:[function(t,e,r){"use strict";var n=t("../../registry").traceIs,a=t("./axis_autotype");function i(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=i(t),a=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return a&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}e.exports=function(t,e,r,s){"-"===r("type",(s.splomStash||{}).type)&&(!function(t,e){if("-"!==t.type)return;var r=t._id,s=r.charAt(0);-1!==r.indexOf("scene")&&(r=s);var l=function(t,e,r){for(var n=0;n<t.length;n++){var a=t[n];if("splom"===a.type&&a._length>0&&(a["_"+r+"axes"]||{})[e])return a;if((a[r+"axis"]||r)===e){if(o(a,r))return a;if((a[r]||[]).length||a[r+"0"])return a}}}(e,r,s);if(!l)return;if("histogram"===l.type&&s==={v:"y",h:"x"}[l.orientation||"v"])return void(t.type="linear");var c,u=s+"calendar",h=l[u],f={noMultiCategory:!n(l,"cartesian")||n(l,"noMultiCategory")};if(o(l,s)){var p=i(l),d=[];for(c=0;c<e.length;c++){var g=e[c];n(g,"box-violin")&&(g[s+"axis"]||s)===r&&(void 0!==g[p]?d.push(g[p][0]):void 0!==g.name?d.push(g.name):d.push("text"),g[u]!==h&&(h=void 0))}t.type=a(d,h,f)}else if("splom"===l.type){var v=l.dimensions,m=v[l._axesDim[r]];m.visible&&(t.type=a(m.values,h,f))}else t.type=a(l[s]||[l[s+"0"]],h,f)}(e,s.data),"-"===e.type?e.type="linear":t.type=e.type)}},{"../../registry":845,"./axis_autotype":765}],788:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib");function i(t,e,r){var n,i,o,s=!1;if("data"===e.type)n=t._fullData[null!==e.traces?e.traces[0]:0];else{if("layout"!==e.type)return!1;n=t._fullLayout}return i=a.nestedProperty(n,e.prop).get(),(o=r[e.type]=r[e.type]||{}).hasOwnProperty(e.prop)&&o[e.prop]!==i&&(s=!0),o[e.prop]=i,{changed:s,value:i}}function o(t,e){var r=[],n=e[0],i={};if("string"==typeof n)i[n]=e[1];else{if(!a.isPlainObject(n))return r;i=n}return l(i,function(t,e,n){r.push({type:"layout",prop:t,value:n})},"",0),r}function s(t,e){var r,n,i,o,s=[];if(n=e[0],i=e[1],r=e[2],o={},"string"==typeof n)o[n]=i;else{if(!a.isPlainObject(n))return s;o=n,void 0===r&&(r=i)}return void 0===r&&(r=null),l(o,function(e,n,a){var i,o;if(Array.isArray(a)){o=a.slice();var l=Math.min(o.length,t.data.length);r&&(l=Math.min(l,r.length)),i=[];for(var c=0;c<l;c++)i[c]=r?r[c]:c}else o=a,i=r?r.slice():null;if(null===i)Array.isArray(o)&&(o=o[0]);else if(Array.isArray(i)){if(!Array.isArray(o)){var u=o;o=[];for(var h=0;h<i.length;h++)o[h]=u}o.length=Math.min(i.length,o.length)}s.push({type:"data",prop:e,traces:i,value:o})},"",0),s}function l(t,e,r,n){Object.keys(t).forEach(function(i){var o=t[i];if("_"!==i[0]){var s=r+(n>0?".":"")+i;a.isPlainObject(o)?l(o,e,s,n+1):e(s,i,o)}})}r.manageCommandObserver=function(t,e,n,o){var s={},l=!0;e&&e._commandObserver&&(s=e._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=r.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(e&&e._commandObserver){if(c)return s;if(e._commandObserver.remove)return e._commandObserver.remove(),e._commandObserver=null,s}if(c){i(t,c,s.cache),s.check=function(){if(l){var e=i(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h<u.length;h++)t._internalOn(u[h],s.check);s.remove=function(){for(var e=0;e<u.length;e++)t._removeInternalListener(u[e],s.check)}}else a.log("Unable to automatically bind plot updates to API command"),s.lookupTable={},s.remove=function(){};return s.disable=function(){l=!1},s.enable=function(){l=!0},e&&(e._commandObserver=s),s},r.hasSimpleAPICommandBindings=function(t,e,n){var a,i,o=e.length;for(a=0;a<o;a++){var s,l=e[a],c=l.method,u=l.args;if(Array.isArray(u)||(u=[]),!c)return!1;var h=r.computeAPICommandBindings(t,c,u);if(1!==h.length)return!1;if(i){if((s=h[0]).type!==i.type)return!1;if(s.prop!==i.prop)return!1;if(Array.isArray(i.traces)){if(!Array.isArray(s.traces))return!1;s.traces.sort();for(var f=0;f<i.traces.length;f++)if(i.traces[f]!==s.traces[f])return!1}else if(s.prop!==i.prop)return!1}else i=h[0],Array.isArray(i.traces)&&i.traces.sort();var p=(s=h[0]).value;if(Array.isArray(p)){if(1!==p.length)return!1;p=p[0]}n&&(n[p]=a)}return i},r.executeAPICommand=function(t,e,r){if("skip"===e)return Promise.resolve();var i=n.apiMethodRegistry[e],o=[t];Array.isArray(r)||(r=[]);for(var s=0;s<r.length;s++)o.push(r[s]);return i.apply(null,o).catch(function(t){return a.warn("API call to Plotly."+e+" rejected.",t),Promise.reject(t)})},r.computeAPICommandBindings=function(t,e,r){var n;switch(Array.isArray(r)||(r=[]),e){case"restyle":n=s(t,r);break;case"relayout":n=o(t,r);break;case"update":n=s(t,[r[0],r[2]]).concat(o(t,[r[1]]));break;case"animate":n=function(t,e){return Array.isArray(e[0])&&1===e[0].length&&-1!==["string","number"].indexOf(typeof e[0][0])?[{type:"layout",prop:"_currentFrame",value:e[0][0].toString()}]:[]}(0,r);break;default:n=[]}return n}},{"../lib":716,"../registry":845}],789:[function(t,e,r){"use strict";var n=t("../lib/extend").extendFlat;r.attributes=function(t,e){e=e||{};var r={valType:"info_array",editType:(t=t||{}).editType,items:[{valType:"number",min:0,max:1,editType:t.editType},{valType:"number",min:0,max:1,editType:t.editType}],dflt:[0,1]},a=(t.name&&t.name,t.trace,e.description&&e.description,{x:n({},r,{}),y:n({},r,{}),editType:t.editType});return t.noGridCell||(a.row={valType:"integer",min:0,dflt:0,editType:t.editType},a.column={valType:"integer",min:0,dflt:0,editType:t.editType}),a},r.defaults=function(t,e,r,n){var a=n&&n.x||[0,1],i=n&&n.y||[0,1],o=e.grid;if(o){var s=r("domain.column");void 0!==s&&(s<o.columns?a=o._domains.x[s]:delete t.domain.column);var l=r("domain.row");void 0!==l&&(l<o.rows?i=o._domains.y[l]:delete t.domain.row)}var c=r("domain.x",a),u=r("domain.y",i);c[0]<c[1]||(t.domain.x=a.slice()),u[0]<u[1]||(t.domain.y=i.slice())}},{"../lib/extend":707}],790:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType,r=t.colorEditType;void 0===r&&(r=e);var n={family:{valType:"string",noBlank:!0,strict:!0,editType:e},size:{valType:"number",min:1,editType:e},color:{valType:"color",editType:r},editType:e};return t.arrayOk&&(n.family.arrayOk=!0,n.size.arrayOk=!0,n.color.arrayOk=!0),n}},{}],791:[function(t,e,r){"use strict";e.exports={_isLinkedToArray:"frames_entry",group:{valType:"string"},name:{valType:"string"},traces:{valType:"any"},baseframe:{valType:"string"},data:{valType:"any"},layout:{valType:"any"}}},{}],792:[function(t,e,r){"use strict";r.projNames={equirectangular:"equirectangular",mercator:"mercator",orthographic:"orthographic","natural earth":"naturalEarth",kavrayskiy7:"kavrayskiy7",miller:"miller",robinson:"robinson",eckert4:"eckert4","azimuthal equal area":"azimuthalEqualArea","azimuthal equidistant":"azimuthalEquidistant","conic equal area":"conicEqualArea","conic conformal":"conicConformal","conic equidistant":"conicEquidistant",gnomonic:"gnomonic",stereographic:"stereographic",mollweide:"mollweide",hammer:"hammer","transverse mercator":"transverseMercator","albers usa":"albersUsa","winkel tripel":"winkel3",aitoff:"aitoff",sinusoidal:"sinusoidal"},r.axesNames=["lonaxis","lataxis"],r.lonaxisSpan={orthographic:180,"azimuthal equal area":360,"azimuthal equidistant":360,"conic conformal":180,gnomonic:160,stereographic:180,"transverse mercator":180,"*":360},r.lataxisSpan={"conic conformal":150,stereographic:179.5,"*":180},r.scopeDefaults={world:{lonaxisRange:[-180,180],lataxisRange:[-90,90],projType:"equirectangular",projRotate:[0,0,0]},usa:{lonaxisRange:[-180,-50],lataxisRange:[15,80],projType:"albers usa"},europe:{lonaxisRange:[-30,60],lataxisRange:[30,85],projType:"conic conformal",projRotate:[15,0,0],projParallels:[0,60]},asia:{lonaxisRange:[22,160],lataxisRange:[-15,55],projType:"mercator",projRotate:[0,0,0]},africa:{lonaxisRange:[-30,60],lataxisRange:[-40,40],projType:"mercator",projRotate:[0,0,0]},"north america":{lonaxisRange:[-180,-45],lataxisRange:[5,85],projType:"conic conformal",projRotate:[-100,0,0],projParallels:[29.5,45.5]},"south america":{lonaxisRange:[-100,-30],lataxisRange:[-60,15],projType:"mercator",projRotate:[0,0,0]}},r.clipPad=.001,r.precision=.1,r.landColor="#F0DC82",r.waterColor="#3399FF",r.locationmodeToLayer={"ISO-3":"countries","USA-states":"subunits","country names":"countries"},r.sphereSVG={type:"Sphere"},r.fillLayers={ocean:1,land:1,lakes:1},r.lineLayers={subunits:1,countries:1,coastlines:1,rivers:1,frame:1},r.layers=["bg","ocean","land","lakes","subunits","countries","coastlines","rivers","lataxis","lonaxis","frame","backplot","frontplot"],r.layersForChoropleth=["bg","ocean","land","subunits","countries","coastlines","lataxis","lonaxis","frame","backplot","rivers","lakes","frontplot"],r.layerNameToAdjective={ocean:"ocean",land:"land",lakes:"lake",subunits:"subunit",countries:"country",coastlines:"coastline",rivers:"river",frame:"frame"}},{}],793:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../components/fx"),c=t("../plots"),u=t("../cartesian/axes"),h=t("../../components/dragelement"),f=t("../cartesian/select").prepSelect,p=t("../cartesian/select").selectOnClick,d=t("./zoom"),g=t("./constants"),v=t("../../lib/topojson_utils"),m=t("topojson-client").feature;function y(t){this.id=t.id,this.graphDiv=t.graphDiv,this.container=t.container,this.topojsonURL=t.topojsonURL,this.isStatic=t.staticPlot,this.topojsonName=null,this.topojson=null,this.projection=null,this.scope=null,this.viewInitial=null,this.fitScale=null,this.bounds=null,this.midPt=null,this.hasChoropleth=!1,this.traceHash={},this.layers={},this.basePaths={},this.dataPaths={},this.dataPoints={},this.clipDef=null,this.clipRect=null,this.bgRect=null,this.makeFramework()}t("./projections")(n);var x=y.prototype;e.exports=function(t){return new y(t)},x.plot=function(t,e,r){var n=this,a=e[this.id],i=!1;for(var o in g.layerNameToAdjective)if("frame"!==o&&a["show"+o]){i=!0;break}for(var s=0;s<t.length;s++)if(t[0][0].trace.locationmode){i=!0;break}if(!i)return n.update(t,e);var l=v.getTopojsonName(a);null===n.topojson||l!==n.topojsonName?(n.topojsonName=l,void 0===PlotlyGeoAssets.topojson[n.topojsonName]?r.push(n.fetchTopojson().then(function(r){PlotlyGeoAssets.topojson[n.topojsonName]=r,n.topojson=r,n.update(t,e)})):(n.topojson=PlotlyGeoAssets.topojson[n.topojsonName],n.update(t,e))):n.update(t,e)},x.fetchTopojson=function(){var t=v.getTopojsonPath(this.topojsonURL,this.topojsonName);return new Promise(function(e,r){n.json(t,function(n,a){if(n)return 404===n.status?r(new Error(["plotly.js could not find topojson file at",t,".","Make sure the *topojsonURL* plot config option","is set properly."].join(" "))):r(new Error(["unexpected error while fetching topojson file at",t].join(" ")));e(a)})})},x.update=function(t,e){var r=e[this.id];if(!this.updateProjection(e,r)){this.hasChoropleth=!1;for(var n=0;n<t.length;n++)if("choropleth"===t[n][0].trace.type){this.hasChoropleth=!0;break}this.viewInitial&&this.scope===r.scope||this.saveViewInitial(r),this.scope=r.scope,this.updateBaseLayers(e,r),this.updateDims(e,r),this.updateFx(e,r),c.generalUpdatePerTraceModule(this.graphDiv,this,t,r);var a=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=a.selectAll(".point"),this.dataPoints.text=a.selectAll("text"),this.dataPaths.line=a.selectAll(".js-line");var i=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=i.selectAll("path"),this.render()}},x.updateProjection=function(t,e){var r=t._size,o=e.domain,s=e.projection,l=s.rotation||{},c=e.center||{},u=this.projection=function(t){for(var e=t.projection.type,r=n.geo[g.projNames[e]](),a=t._isClipped?g.lonaxisSpan[e]/2:null,i=["center","rotate","parallels","clipExtent"],o=function(t){return t?r:[]},s=0;s<i.length;s++){var l=i[s];"function"!=typeof r[l]&&(r[l]=o)}r.isLonLatOverEdges=function(t){if(null===r(t))return!0;if(a){var e=r.rotate();return n.geo.distance(t,[-e[0],-e[1]])>a*Math.PI/180}return!1},r.getPath=function(){return n.geo.path().projection(r)},r.getBounds=function(t){return r.getPath().bounds(t)},r.fitExtent=function(t,e){var n=t[1][0]-t[0][0],a=t[1][1]-t[0][1],i=r.clipExtent&&r.clipExtent();r.scale(150).translate([0,0]),i&&r.clipExtent(null);var o=r.getBounds(e),s=Math.min(n/(o[1][0]-o[0][0]),a/(o[1][1]-o[0][1])),l=+t[0][0]+(n-s*(o[1][0]+o[0][0]))/2,c=+t[0][1]+(a-s*(o[1][1]+o[0][1]))/2;return i&&r.clipExtent(i),r.scale(150*s).translate([l,c])},r.precision(g.precision),a&&r.clipAngle(a-g.clipPad);return r}(e);u.center([c.lon-l.lon,c.lat-l.lat]).rotate([-l.lon,-l.lat,l.roll]).parallels(s.parallels);var h=[[r.l+r.w*o.x[0],r.t+r.h*(1-o.y[1])],[r.l+r.w*o.x[1],r.t+r.h*(1-o.y[0])]],f=e.lonaxis,p=e.lataxis,d=function(t,e){var r=g.clipPad,n=t[0]+r,a=t[1]-r,i=e[0]+r,o=e[1]-r;n>0&&a<0&&(a+=360);var s=(a-n)/4;return{type:"Polygon",coordinates:[[[n,i],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[a,o],[a,i],[a-s,i],[a-2*s,i],[a-3*s,i],[n,i]]]}}(f.range,p.range);u.fitExtent(h,d);var v=this.bounds=u.getBounds(d),m=this.fitScale=u.scale(),y=u.translate();if(!isFinite(v[0][0])||!isFinite(v[0][1])||!isFinite(v[1][0])||!isFinite(v[1][1])||isNaN(y[0])||isNaN(y[0])){for(var x=this.graphDiv,b=["projection.rotation","center","lonaxis.range","lataxis.range"],_="Invalid geo settings, relayout'ing to default view.",w={},k=0;k<b.length;k++)w[this.id+"."+b[k]]=null;return this.viewInitial=null,i.warn(_),x._promises.push(a.call("relayout",x,w)),_}var T=this.midPt=[(v[0][0]+v[1][0])/2,(v[0][1]+v[1][1])/2];if(u.scale(s.scale*m).translate([y[0]+(T[0]-y[0]),y[1]+(T[1]-y[1])]).clipExtent(v),e._isAlbersUsa){var A=u([c.lon,c.lat]),M=u.translate();u.translate([M[0]-(A[0]-M[0]),M[1]-(A[1]-M[1])])}},x.updateBaseLayers=function(t,e){var r=this,a=r.topojson,i=r.layers,l=r.basePaths;function c(t){return"lonaxis"===t||"lataxis"===t}function h(t){return Boolean(g.lineLayers[t])}function f(t){return Boolean(g.fillLayers[t])}var p=(this.hasChoropleth?g.layersForChoropleth:g.layers).filter(function(t){return h(t)||f(t)?e["show"+t]:!c(t)||e[t].showgrid}),d=r.framework.selectAll(".layer").data(p,String);d.exit().each(function(t){delete i[t],delete l[t],n.select(this).remove()}),d.enter().append("g").attr("class",function(t){return"layer "+t}).each(function(t){var e=i[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):c(t)?l[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):h(t)?l[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):f(t)&&(l[t]=e.append("path").style("stroke","none"))}),d.order(),d.each(function(r){var n=l[r],i=g.layerNameToAdjective[r];"frame"===r?n.datum(g.sphereSVG):h(r)||f(r)?n.datum(m(a,a.objects[r])):c(r)&&n.datum(function(t,e,r){var n,a,i,o=e[t],s=g.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,a=s.lataxisRange,i=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,a=s.lonaxisRange,i=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};u.setConvert(l,r);var c=u.calcTicks(l);e.isScoped||"lonaxis"!==t||c.pop();for(var h=c.length,f=new Array(h),p=0;p<h;p++)for(var d=c[p].x,v=f[p]=[],m=a[0];m<a[1]+2.5;m+=2.5)v.push(i(d,m));return{type:"MultiLineString",coordinates:f}}(r,e,t)).call(o.stroke,e[r].gridcolor).call(s.dashLine,"",e[r].gridwidth),h(r)?n.call(o.stroke,e[i+"color"]).call(s.dashLine,"",e[i+"width"]):f(r)&&n.call(o.fill,e[i+"color"])})},x.updateDims=function(t,e){var r=this.bounds,n=(e.framewidth||0)/2,a=r[0][0]-n,i=r[0][1]-n,l=r[1][0]-a+n,c=r[1][1]-i+n;s.setRect(this.clipRect,a,i,l,c),this.bgRect.call(s.setRect,a,i,l,c).call(o.fill,e.bgcolor),this.xaxis._offset=a,this.xaxis._length=l,this.yaxis._offset=i,this.yaxis._length=c},x.updateFx=function(t,e){var r=this,i=r.graphDiv,o=r.bgRect,s=t.dragmode,c=t.clickmode;if(!r.isStatic){var u;"select"===s?u=function(t,e){(t.range={})[r.id]=[v([e.xmin,e.ymin]),v([e.xmax,e.ymax])]}:"lasso"===s&&(u=function(t,e,n){(t.lassoPoints={})[r.id]=n.filtered.map(v)});var g={element:r.bgRect.node(),gd:i,plotinfo:{id:r.id,xaxis:r.xaxis,yaxis:r.yaxis,fillRangeItems:u},xaxes:[r.xaxis],yaxes:[r.yaxis],subplot:r.id,clickFn:function(e){2===e&&t._zoomlayer.selectAll(".select-outline").remove()}};"pan"===s?(o.node().onmousedown=null,o.call(d(r,e)),o.on("dblclick.zoom",function(){var t=r.viewInitial,e={};for(var n in t)e[r.id+"."+n]=t[n];a.call("_guiRelayout",i,e),i.emit("plotly_doubleclick",null)}),i._context._scrollZoom.geo||o.on("wheel.zoom",null)):"select"!==s&&"lasso"!==s||(o.on(".zoom",null),g.prepFn=function(t,e,r){f(t,e,r,g,s)},h.init(g)),o.on("mousemove",function(){var t=r.projection.invert(n.mouse(this));if(!t||isNaN(t[0])||isNaN(t[1]))return h.unhover(i,n.event);r.xaxis.p2c=function(){return t[0]},r.yaxis.p2c=function(){return t[1]},l.hover(i,n.event,r.id)}),o.on("mouseout",function(){i._dragging||h.unhover(i,n.event)}),o.on("click",function(){"select"!==s&&"lasso"!==s&&(c.indexOf("select")>-1&&p(n.event,i,[r.xaxis],[r.yaxis],r.id,g),c.indexOf("event")>-1&&l.click(i,n.event))})}function v(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},x.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,a="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",a),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(s.setClipUrl,a,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},u.setConvert(t.mockAxis,r)},x.saveViewInitial=function(t){var e=t.center||{},r=t.projection,n=r.rotation||{};t._isScoped?this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale}:t._isClipped?this.viewInitial={"projection.scale":r.scale,"projection.rotation.lon":n.lon,"projection.rotation.lat":n.lat}:this.viewInitial={"center.lon":e.lon,"center.lat":e.lat,"projection.scale":r.scale,"projection.rotation.lon":n.lon}},x.render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?"translate("+r[0]+","+r[1]+")":null}function a(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",function(t){return r(t.geojson)});for(t in this.dataPoints)this.dataPoints[t].attr("display",a).attr("transform",n)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/topojson_utils":743,"../../registry":845,"../cartesian/axes":764,"../cartesian/select":781,"../plots":825,"./constants":792,"./projections":797,"./zoom":798,d3:164,"topojson-client":538}],794:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./geo"),o="geo",s=a(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},e.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[o],s=0;s<a.length;s++){var l=a[s],c=n(r,o,l),u=e[l]._subplot;u||(u=i({id:l,graphDiv:t,container:e._geolayer.node(),topojsonURL:t._context.topojsonURL,staticPlot:t._context.staticPlot}),e[l]._subplot=u),u.plot(c,e,t._promises)}},updateFx:function(t){for(var e=t._fullLayout,r=e._subplots[o],n=0;n<r.length;n++){var a=e[r[n]];a._subplot.updateFx(e,a)}},clean:function(t,e,r,n){for(var a=n._subplots[o]||[],i=0;i<a.length;i++){var s=a[i],l=n[s]._subplot;!e[s]&&l&&(l.framework.remove(),l.clipDef.remove())}}}},{"../../lib":716,"../../plots/get_data":799,"./geo":793,"./layout_attributes":795,"./layout_defaults":796}],795:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../domain").attributes,i=t("./constants"),o=t("../../plot_api/edit_types").overrideAll,s={range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},showgrid:{valType:"boolean",dflt:!1},tick0:{valType:"number",dflt:0},dtick:{valType:"number"},gridcolor:{valType:"color",dflt:n.lightLine},gridwidth:{valType:"number",min:0,dflt:1}};(e.exports=o({domain:a({name:"geo"},{}),resolution:{valType:"enumerated",values:[110,50],dflt:110,coerceNumber:!0},scope:{valType:"enumerated",values:Object.keys(i.scopeDefaults),dflt:"world"},projection:{type:{valType:"enumerated",values:Object.keys(i.projNames)},rotation:{lon:{valType:"number"},lat:{valType:"number"},roll:{valType:"number"}},parallels:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},scale:{valType:"number",min:0,dflt:1}},center:{lon:{valType:"number"},lat:{valType:"number"}},showcoastlines:{valType:"boolean"},coastlinecolor:{valType:"color",dflt:n.defaultLine},coastlinewidth:{valType:"number",min:0,dflt:1},showland:{valType:"boolean",dflt:!1},landcolor:{valType:"color",dflt:i.landColor},showocean:{valType:"boolean",dflt:!1},oceancolor:{valType:"color",dflt:i.waterColor},showlakes:{valType:"boolean",dflt:!1},lakecolor:{valType:"color",dflt:i.waterColor},showrivers:{valType:"boolean",dflt:!1},rivercolor:{valType:"color",dflt:i.waterColor},riverwidth:{valType:"number",min:0,dflt:1},showcountries:{valType:"boolean"},countrycolor:{valType:"color",dflt:n.defaultLine},countrywidth:{valType:"number",min:0,dflt:1},showsubunits:{valType:"boolean"},subunitcolor:{valType:"color",dflt:n.defaultLine},subunitwidth:{valType:"number",min:0,dflt:1},showframe:{valType:"boolean"},framecolor:{valType:"color",dflt:n.defaultLine},framewidth:{valType:"number",min:0,dflt:1},bgcolor:{valType:"color",dflt:n.background},lonaxis:s,lataxis:s},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":590,"../../plot_api/edit_types":747,"../domain":789,"./constants":792}],796:[function(t,e,r){"use strict";var n=t("../subplot_defaults"),a=t("./constants"),i=t("./layout_attributes"),o=a.axesNames;function s(t,e,r){var n=r("resolution"),i=r("scope"),s=a.scopeDefaults[i],l=r("projection.type",s.projType),c=e._isAlbersUsa="albers usa"===l;c&&(i=e.scope="usa");var u=e._isScoped="world"!==i,h=e._isConic=-1!==l.indexOf("conic");e._isClipped=!!a.lonaxisSpan[l];for(var f=0;f<o.length;f++){var p,d=o[f],g=[30,10][f];if(u)p=s[d+"Range"];else{var v=a[d+"Span"],m=(v[l]||v["*"])/2,y=r("projection.rotation."+d.substr(0,3),s.projRotate[f]);p=[y-m,y+m]}r(d+".range",p),r(d+".tick0"),r(d+".dtick",g),r(d+".showgrid")&&(r(d+".gridcolor"),r(d+".gridwidth"))}var x=e.lonaxis.range,b=e.lataxis.range,_=x[0],w=x[1];_>0&&w<0&&(w+=360);var k,T,A,M=(_+w)/2;if(!c){var S=u?s.projRotate:[M,0,0];k=r("projection.rotation.lon",S[0]),r("projection.rotation.lat",S[1]),r("projection.rotation.roll",S[2]),r("showcoastlines",!u)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean")&&r("oceancolor")}(c?(T=-96.6,A=38.7):(T=u?M:k,A=(b[0]+b[1])/2),r("center.lon",T),r("center.lat",A),h)&&r("projection.parallels",s.projParallels||[0,60]);r("projection.scale"),r("showland")&&r("landcolor"),r("showlakes")&&r("lakecolor"),r("showrivers")&&(r("rivercolor"),r("riverwidth")),r("showcountries",u&&"usa"!==i)&&(r("countrycolor"),r("countrywidth")),("usa"===i||"north america"===i&&50===n)&&(r("showsubunits",!0),r("subunitcolor"),r("subunitwidth")),u||r("showframe",!0)&&(r("framecolor"),r("framewidth")),r("bgcolor")}e.exports=function(t,e,r){n(t,e,r,{type:"geo",attributes:i,handleDefaults:s,partition:"y"})}},{"../subplot_defaults":839,"./constants":792,"./layout_attributes":795}],797:[function(t,e,r){"use strict";e.exports=function(t){function e(t,e){return{type:"Feature",id:t.id,properties:t.properties,geometry:r(t.geometry,e)}}function r(e,n){if(!e)return null;if("GeometryCollection"===e.type)return{type:"GeometryCollection",geometries:object.geometries.map(function(t){return r(t,n)})};if(!c.hasOwnProperty(e.type))return null;var a=c[e.type];return t.geo.stream(e,n(a)),a.result()}t.geo.project=function(t,e){var a=e.stream;if(!a)throw new Error("not yet supported");return(t&&n.hasOwnProperty(t.type)?n[t.type]:r)(t,a)};var n={Feature:e,FeatureCollection:function(t,r){return{type:"FeatureCollection",features:t.features.map(function(t){return e(t,r)})}}},a=[],i=[],o={point:function(t,e){a.push([t,e])},result:function(){var t=a.length?a.length<2?{type:"Point",coordinates:a[0]}:{type:"MultiPoint",coordinates:a}:null;return a=[],t}},s={lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){a.length&&(i.push(a),a=[])},result:function(){var t=i.length?i.length<2?{type:"LineString",coordinates:i[0]}:{type:"MultiLineString",coordinates:i}:null;return i=[],t}},l={polygonStart:u,lineStart:u,point:function(t,e){a.push([t,e])},lineEnd:function(){var t=a.length;if(t){do{a.push(a[0].slice())}while(++t<4);i.push(a),a=[]}},polygonEnd:u,result:function(){if(!i.length)return null;var t=[],e=[];return i.forEach(function(r){!function(t){if((e=t.length)<4)return!1;for(var e,r=0,n=t[e-1][1]*t[0][0]-t[e-1][0]*t[0][1];++r<e;)n+=t[r-1][1]*t[r][0]-t[r-1][0]*t[r][1];return n<=0}(r)?e.push(r):t.push([r])}),e.forEach(function(e){var r=e[0];t.some(function(t){if(function(t,e){for(var r=e[0],n=e[1],a=!1,i=0,o=t.length,s=o-1;i<o;s=i++){var l=t[i],c=l[0],u=l[1],h=t[s],f=h[0],p=h[1];u>n^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(a=!a)}return a}(t[0],r))return t.push(e),!0})||t.push([e])}),i=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}},c={Point:o,MultiPoint:o,LineString:s,MultiLineString:s,Polygon:l,MultiPolygon:l,Sphere:l};function u(){}var h=1e-6,f=h*h,p=Math.PI,d=p/2,g=(Math.sqrt(p),p/180),v=180/p;function m(t){return t>1?d:t<-1?-d:Math.asin(t)}function y(t){return t>1?0:t<-1?p:Math.acos(t)}var x=t.geo.projection,b=t.geo.projectionMutator;function _(t,e){var r=(2+d)*Math.sin(e);e/=2;for(var n=0,a=1/0;n<10&&Math.abs(a)>h;n++){var i=Math.cos(e);e-=a=(e+Math.sin(e)*(i+2)-r)/(2*i*(1+i))}return[2/Math.sqrt(p*(4+p))*t*(1+Math.cos(e)),2*Math.sqrt(p/(4+p))*Math.sin(e)]}t.geo.interrupt=function(e){var r,n=[[[[-p,0],[0,d],[p,0]]],[[[-p,0],[0,-d],[p,0]]]];function a(t,r){for(var a=r<0?-1:1,i=n[+(r<0)],o=0,s=i.length-1;o<s&&t>i[o][2][0];++o);var l=e(t-i[o][1][0],r);return l[0]+=e(i[o][1][0],a*r>a*i[o][0][1]?i[o][0][1]:r)[0],l}e.invert&&(a.invert=function(t,i){for(var o=r[+(i<0)],s=n[+(i<0)],c=0,u=o.length;c<u;++c){var h=o[c];if(h[0][0]<=t&&t<h[1][0]&&h[0][1]<=i&&i<h[1][1]){var f=e.invert(t-e(s[c][1][0],0)[0],i);return f[0]+=s[c][1][0],l(a(f[0],f[1]),[t,i])?f:null}}});var i=t.geo.projection(a),o=i.stream;function s(t,e){for(var r,n,a,i=-1,o=t.length,s=t[0],l=[];++i<o;){n=((r=t[i])[0]-s[0])/e,a=(r[1]-s[1])/e;for(var c=0;c<e;++c)l.push([s[0]+c*n,s[1]+c*a]);s=r}return l.push(r),l}function l(t,e){return Math.abs(t[0]-e[0])<h&&Math.abs(t[1]-e[1])<h}return i.stream=function(e){var r=i.rotate(),a=o(e),l=(i.rotate([0,0]),o(e));return i.rotate(r),a.sphere=function(){t.geo.stream(function(){for(var e=1e-6,r=[],a=0,i=n[0].length;a<i;++a){var o=n[0][a],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[l+e,c+e],[l+e,u-e],[h-e,u-e],[h-e,f+e]],30))}for(var a=n[1].length-1;a>=0;--a){var o=n[1][a],l=180*o[0][0]/p,c=180*o[0][1]/p,u=180*o[1][1]/p,h=180*o[2][0]/p,f=180*o[2][1]/p;r.push(s([[h-e,f-e],[h-e,u+e],[l+e,u+e],[l+e,c-e]],30))}return{type:"Polygon",coordinates:[t.merge(r)]}}(),l)},a},i.lobes=function(t){return arguments.length?(n=t.map(function(t){return t.map(function(t){return[[t[0][0]*p/180,t[0][1]*p/180],[t[1][0]*p/180,t[1][1]*p/180],[t[2][0]*p/180,t[2][1]*p/180]]})}),r=n.map(function(t){return t.map(function(t){var r,n=e(t[0][0],t[0][1])[0],a=e(t[2][0],t[2][1])[0],i=e(t[1][0],t[0][1])[1],o=e(t[1][0],t[1][1])[1];return i>o&&(r=i,i=o,o=r),[[n,i],[a,o]]})}),i):n.map(function(t){return t.map(function(t){return[[180*t[0][0]/p,180*t[0][1]/p],[180*t[1][0]/p,180*t[1][1]/p],[180*t[2][0]/p,180*t[2][1]/p]]})})},i},_.invert=function(t,e){var r=.5*e*Math.sqrt((4+p)/p),n=m(r),a=Math.cos(n);return[t/(2/Math.sqrt(p*(4+p))*(1+a)),m((n+r*(a+2))/(2+d))]},(t.geo.eckert4=function(){return x(_)}).raw=_;var w=t.geo.azimuthalEqualArea.raw;function k(t,e){if(arguments.length<2&&(e=t),1===e)return w;if(e===1/0)return T;function r(r,n){var a=w(r/e,n);return a[0]*=t,a}return r.invert=function(r,n){var a=w.invert(r/t,n);return a[0]*=e,a},r}function T(t,e){return[t*Math.cos(e)/Math.cos(e/=2),2*Math.sin(e)]}function A(t,e){return[3*t/(2*p)*Math.sqrt(p*p/3-e*e),e]}function M(t,e){return[t,1.25*Math.log(Math.tan(p/4+.4*e))]}function S(t){return function(e){var r,n=t*Math.sin(e),a=30;do{e-=r=(e+Math.sin(e)-n)/(1+Math.cos(e))}while(Math.abs(r)>h&&--a>0);return e/2}}T.invert=function(t,e){var r=2*m(e/2);return[t*Math.cos(r/2)/Math.cos(r),r]},(t.geo.hammer=function(){var t=2,e=b(k),r=e(t);return r.coefficient=function(r){return arguments.length?e(t=+r):t},r}).raw=k,A.invert=function(t,e){return[2/3*p*t/Math.sqrt(p*p/3-e*e),e]},(t.geo.kavrayskiy7=function(){return x(A)}).raw=A,M.invert=function(t,e){return[t,2.5*Math.atan(Math.exp(.8*e))-.625*p]},(t.geo.miller=function(){return x(M)}).raw=M,S(p);var E=function(t,e,r){var n=S(r);function a(r,a){return[t*r*Math.cos(a=n(a)),e*Math.sin(a)]}return a.invert=function(n,a){var i=m(a/e);return[n/(t*Math.cos(i)),m((2*i+Math.sin(2*i))/r)]},a}(Math.SQRT2/d,Math.SQRT2,p);function L(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}(t.geo.mollweide=function(){return x(E)}).raw=E,L.invert=function(t,e){var r,n=e,a=25;do{var i=n*n,o=i*i;n-=r=(n*(1.007226+i*(.015085+o*(.028874*i-.044475-.005916*o)))-e)/(1.007226+i*(.045255+o*(.259866*i-.311325-.005916*11*o)))}while(Math.abs(r)>h&&--a>0);return[t/(.8707+(i=n*n)*(i*(i*i*i*(.003971-.001529*i)-.013791)-.131979)),n]},(t.geo.naturalEarth=function(){return x(L)}).raw=L;var C=[[.9986,-.062],[1,0],[.9986,.062],[.9954,.124],[.99,.186],[.9822,.248],[.973,.31],[.96,.372],[.9427,.434],[.9216,.4958],[.8962,.5571],[.8679,.6176],[.835,.6769],[.7986,.7346],[.7597,.7903],[.7186,.8435],[.6732,.8936],[.6213,.9394],[.5722,.9761],[.5322,1]];function P(t,e){var r,n=Math.min(18,36*Math.abs(e)/p),a=Math.floor(n),i=n-a,o=(r=C[a])[0],s=r[1],l=(r=C[++a])[0],c=r[1],u=(r=C[Math.min(19,++a)])[0],h=r[1];return[t*(l+i*(u-o)/2+i*i*(u-2*l+o)/2),(e>0?d:-d)*(c+i*(h-s)/2+i*i*(h-2*c+s)/2)]}function O(t,e){return[t*Math.cos(e),e]}function z(t,e){var r,n=Math.cos(e),a=(r=y(n*Math.cos(t/=2)))?r/Math.sin(r):1;return[2*n*Math.sin(t)*a,Math.sin(e)*a]}function I(t,e){var r=z(t,e);return[(r[0]+t/d)/2,(r[1]+e)/2]}C.forEach(function(t){t[1]*=1.0144}),P.invert=function(t,e){var r=e/d,n=90*r,a=Math.min(18,Math.abs(n/5)),i=Math.max(0,Math.floor(a));do{var o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],c=l-o,u=l-2*s+o,h=2*(Math.abs(r)-s)/c,p=u/c,m=h*(1-p*h*(1-2*p*h));if(m>=0||1===i){n=(e>=0?5:-5)*(m+a);var y,x=50;do{m=(a=Math.min(18,Math.abs(n)/5))-(i=Math.floor(a)),o=C[i][1],s=C[i+1][1],l=C[Math.min(19,i+2)][1],n-=(y=(e>=0?d:-d)*(s+m*(l-o)/2+m*m*(l-2*s+o)/2)-e)*v}while(Math.abs(y)>f&&--x>0);break}}while(--i>=0);var b=C[i][0],_=C[i+1][0],w=C[Math.min(19,i+2)][0];return[t/(_+m*(w-b)/2+m*m*(w-2*_+b)/2),n*g]},(t.geo.robinson=function(){return x(P)}).raw=P,O.invert=function(t,e){return[t/Math.cos(e),e]},(t.geo.sinusoidal=function(){return x(O)}).raw=O,z.invert=function(t,e){if(!(t*t+4*e*e>p*p+h)){var r=t,n=e,a=25;do{var i,o=Math.sin(r),s=Math.sin(r/2),l=Math.cos(r/2),c=Math.sin(n),u=Math.cos(n),f=Math.sin(2*n),d=c*c,g=u*u,v=s*s,m=1-g*l*l,x=m?y(u*l)*Math.sqrt(i=1/m):i=0,b=2*x*u*s-t,_=x*c-e,w=i*(g*v+x*u*l*d),k=i*(.5*o*f-2*x*c*s),T=.25*i*(f*s-x*c*g*o),A=i*(d*l+x*v*u),M=k*T-A*w;if(!M)break;var S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]}},(t.geo.aitoff=function(){return x(z)}).raw=z,I.invert=function(t,e){var r=t,n=e,a=25;do{var i,o=Math.cos(n),s=Math.sin(n),l=Math.sin(2*n),c=s*s,u=o*o,f=Math.sin(r),p=Math.cos(r/2),g=Math.sin(r/2),v=g*g,m=1-u*p*p,x=m?y(o*p)*Math.sqrt(i=1/m):i=0,b=.5*(2*x*o*g+r/d)-t,_=.5*(x*s+n)-e,w=.5*i*(u*v+x*o*p*c)+.5/d,k=i*(f*l/4-x*s*g),T=.125*i*(l*g-x*s*u*f),A=.5*i*(c*p+x*v*o)+.5,M=k*T-A*w,S=(_*k-b*A)/M,E=(b*T-_*w)/M;r-=S,n-=E}while((Math.abs(S)>h||Math.abs(E)>h)&&--a>0);return[r,n]},(t.geo.winkel3=function(){return x(I)}).raw=I}},{}],798:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../registry"),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+"."+t]=a.nestedProperty(l,t).get(),i.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=a.nestedProperty(u,t);r.get()!==e&&(r.set(e),a.nestedProperty(l,t).set(e),f[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),o.emit("plotly_relayout",f)}function f(t,e){var r=u(0,e);function a(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",function(){n.select(this).style(l)}).on("zoom",function(){e.scale(n.event.scale).translate(n.event.translate),t.render();var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})}).on("zoomend",function(){n.select(this).style(c),h(t,e,a)}),r}function p(t,e){var r,a,i,o,s,f,p,d,g,v=u(0,e),m=2;function y(t){return e.invert(t)}function x(r){var n=e.rotate(),a=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",a[0]),r("center.lat",a[1])}return v.on("zoomstart",function(){n.select(this).style(l),r=n.mouse(this),a=e.rotate(),i=e.translate(),o=a,s=y(r)}).on("zoom",function(){if(f=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>m||Math.abs(n[1]-t[1])>m}(r))return v.scale(e.scale()),void v.translate(e.translate());e.scale(n.event.scale),e.translate([i[0],n.event.translate[1]]),s?y(f)&&(d=y(f),p=[o[0]+(d[0]-s[0]),a[1],a[2]],e.rotate(p),o=p):s=y(r=f),g=!0,t.render();var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})}).on("zoomend",function(){n.select(this).style(c),g&&h(t,e,x)}),v}function d(t,e){var r,a={r:e.rotate(),k:e.scale()},i=u(0,e),f=function(t){var e=0,r=arguments.length,a=[];for(;++e<r;)a.push(arguments[e]);var i=n.dispatch.apply(null,a);return i.of=function(e,r){return function(a){var o;try{o=a.sourceEvent=n.event,a.target=t,n.event=a,i[a.type].apply(e,r)}finally{n.event=o}}},i}(i,"zoomstart","zoom","zoomend"),p=0,d=i.on;function m(t){var r=e.rotate();t("projection.rotation.lon",-r[0]),t("projection.rotation.lat",-r[1])}return i.on("zoomstart",function(){n.select(this).style(l);var t,c,u,h,m,b,_,w,k,T,A,M=n.mouse(this),S=e.rotate(),E=S,L=e.translate(),C=(c=.5*(t=S)[0]*o,u=.5*t[1]*o,h=.5*t[2]*o,m=Math.sin(c),b=Math.cos(c),_=Math.sin(u),w=Math.cos(u),k=Math.sin(h),T=Math.cos(h),[b*w*T+m*_*k,m*w*T-b*_*k,b*_*T+m*w*k,b*w*k-m*_*T]);r=g(e,M),d.call(i,"zoom",function(){var t,i,o,l,c,u,h,p,d,m,b=n.mouse(this);if(e.scale(a.k=n.event.scale),r){if(g(e,b)){e.rotate(S).translate(L);var _=g(e,b),w=function(t,e){if(!t||!e)return;var r=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}(t,e),n=Math.sqrt(x(r,r)),a=.5*Math.acos(Math.max(-1,Math.min(1,x(t,e)))),i=Math.sin(a)/n;return n&&[Math.cos(a),r[2]*i,-r[1]*i,r[0]*i]}(r,_),k=function(t){return[Math.atan2(2*(t[0]*t[1]+t[2]*t[3]),1-2*(t[1]*t[1]+t[2]*t[2]))*s,Math.asin(Math.max(-1,Math.min(1,2*(t[0]*t[2]-t[3]*t[1]))))*s,Math.atan2(2*(t[0]*t[3]+t[1]*t[2]),1-2*(t[2]*t[2]+t[3]*t[3]))*s]}((i=w,o=(t=C)[0],l=t[1],c=t[2],u=t[3],h=i[0],p=i[1],d=i[2],m=i[3],[o*h-l*p-c*d-u*m,o*p+l*h+c*m-u*d,o*d-l*m+c*h+u*p,o*m+l*d-c*p+u*h])),T=a.r=function(t,e,r){var n=y(e,2,t[0]);n=y(n,1,t[1]),n=y(n,0,t[2]-r[2]);var a,i,o=e[0],l=e[1],c=e[2],u=n[0],h=n[1],f=n[2],p=Math.atan2(l,o)*s,d=Math.sqrt(o*o+l*l);Math.abs(h)>d?(i=(h>0?90:-90)-p,a=0):(i=Math.asin(h/d)*s-p,a=Math.sqrt(d*d-h*h));var g=180-i-2*p,m=(Math.atan2(f,u)-Math.atan2(c,a))*s,x=(Math.atan2(f,u)-Math.atan2(c,-a))*s,b=v(r[0],r[1],i,m),_=v(r[0],r[1],g,x);return b<=_?[i,m,r[2]]:[g,x,r[2]]}(k,r,E);isFinite(T[0])&&isFinite(T[1])&&isFinite(T[2])||(T=E),e.rotate(T),E=T}}else r=g(e,M=b);f.of(this,arguments)({type:"zoom"})}),A=f.of(this,arguments),p++||A({type:"zoomstart"})}).on("zoomend",function(){var r;n.select(this).style(c),d.call(i,"zoom",null),r=f.of(this,arguments),--p||r({type:"zoomend"}),h(t,e,m)}).on("zoom.redraw",function(){t.render();var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})}),n.rebind(i,f,"on")}function g(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function v(t,e,r,n){var a=m(r-t),i=m(n-e);return Math.sqrt(a*a+i*i)}function m(t){return(t%360+540)%360-180}function y(t,e,r){var n=r*o,a=t.slice(),i=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return a[i]=t[i]*l-t[s]*c,a[s]=t[s]*l+t[i]*c,a}function x(t,e){for(var r=0,n=0,a=t.length;n<a;++n)r+=t[n]*e[n];return r}e.exports=function(t,e){var r=t.projection;return(e._isScoped?f:e._isClipped?d:p)(t,r)}},{"../../lib":716,"../../registry":845,d3:164}],799:[function(t,e,r){"use strict";var n=t("../registry"),a=t("./cartesian/constants").SUBPLOT_PATTERN;r.getSubplotCalcData=function(t,e,r){var a=n.subplotsRegistry[e];if(!a)return[];for(var i=a.attr,o=[],s=0;s<t.length;s++){var l=t[s];l[0].trace[i]===r&&o.push(l)}return o},r.getModuleCalcData=function(t,e){var r,a=[],i=[];if(!(r="string"==typeof e?n.getModule(e).plot:"function"==typeof e?e:e.plot))return[a,t];for(var o=0;o<t.length;o++){var s=t[o],l=s[0].trace;!0===l.visible&&0!==l._length&&(l._module.plot===r?a.push(s):i.push(s))}return[a,i]},r.getSubplotData=function(t,e,r){if(!n.subplotsRegistry[e])return[];var i,o,s,l=n.subplotsRegistry[e].attr,c=[];if("gl2d"===e){var u=r.match(a);o="x"+u[1],s="y"+u[2]}for(var h=0;h<t.length;h++)i=t[h],"gl2d"===e&&n.traceIs(i,"gl2d")?i[l[0]]===o&&i[l[1]]===s&&c.push(i):i[l]===r&&c.push(i);return c}},{"../registry":845,"./cartesian/constants":770}],800:[function(t,e,r){"use strict";var n=t("mouse-change"),a=t("mouse-wheel"),i=t("mouse-event-offset"),o=t("../cartesian/constants"),s=t("has-passive-events");function l(t,e){this.element=t,this.plot=e,this.mouseListener=null,this.wheelListener=null,this.lastInputTime=Date.now(),this.lastPos=[0,0],this.boxEnabled=!1,this.boxInited=!1,this.boxStart=[0,0],this.boxEnd=[0,0],this.dragStart=[0,0]}e.exports=function(t){var e=t.mouseContainer,r=t.glplot,c=new l(e,r);function u(){t.xaxis.autorange=!1,t.yaxis.autorange=!1}function h(e,n,a){var i,s,l=t.calcDataBox(),h=r.viewBox,f=c.lastPos[0],p=c.lastPos[1],d=o.MINDRAG*r.pixelRatio,g=o.MINZOOM*r.pixelRatio;function v(e,r,n){var a=Math.min(r,n),i=Math.max(r,n);a!==i?(l[e]=a,l[e+2]=i,c.dataBox=l,t.setRanges(l)):(t.selectBox.selectBox=[0,0,1,1],t.glplot.setDirty())}switch(n*=r.pixelRatio,a*=r.pixelRatio,a=h[3]-h[1]-a,t.fullLayout.dragmode){case"zoom":if(e){var m=n/(h[2]-h[0])*(l[2]-l[0])+l[0],y=a/(h[3]-h[1])*(l[3]-l[1])+l[1];c.boxInited||(c.boxStart[0]=m,c.boxStart[1]=y,c.dragStart[0]=n,c.dragStart[1]=a),c.boxEnd[0]=m,c.boxEnd[1]=y,c.boxInited=!0,c.boxEnabled||c.boxStart[0]===c.boxEnd[0]&&c.boxStart[1]===c.boxEnd[1]||(c.boxEnabled=!0);var x=Math.abs(c.dragStart[0]-n)<g,b=Math.abs(c.dragStart[1]-a)<g;if(!function(){for(var e=t.graphDiv._fullLayout._axisConstraintGroups,r=t.xaxis._id,n=t.yaxis._id,a=0;a<e.length;a++)if(-1!==e[a][r]){if(-1!==e[a][n])return!0;break}return!1}()||x&&b)x&&(c.boxEnd[0]=c.boxStart[0]),b&&(c.boxEnd[1]=c.boxStart[1]);else{i=c.boxEnd[0]-c.boxStart[0],s=c.boxEnd[1]-c.boxStart[1];var _=(l[3]-l[1])/(l[2]-l[0]);Math.abs(i*_)>Math.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(i)*_*(s>=0?1:-1),c.boxEnd[1]<l[1]?(c.boxEnd[1]=l[1],c.boxEnd[0]=c.boxStart[0]+(l[1]-c.boxStart[1])/Math.abs(_)):c.boxEnd[1]>l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(_))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/_*(i>=0?1:-1),c.boxEnd[0]<l[0]?(c.boxEnd[0]=l[0],c.boxEnd[1]=c.boxStart[1]+(l[0]-c.boxStart[0])*Math.abs(_)):c.boxEnd[0]>l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(_)))}}else c.boxEnabled?(i=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],i||s?(i&&(v(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(v(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=a),Math.abs(c.dragStart[0]-n)<d&&(n=c.dragStart[0]),Math.abs(c.dragStart[1]-a)<d&&(a=c.dragStart[1]),i=(f-n)*(l[2]-l[0])/(r.viewBox[2]-r.viewBox[0]),s=(p-a)*(l[3]-l[1])/(r.viewBox[3]-r.viewBox[1]),l[0]+=i,l[2]+=i,l[1]+=s,l[3]+=s,t.setRanges(l),c.panning=!0,c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations()):c.panning&&(c.panning=!1,t.relayoutCallback())}c.lastPos[0]=n,c.lastPos[1]=a}return c.mouseListener=n(e,h),e.addEventListener("touchstart",function(t){var r=i(t.changedTouches[0],e);h(0,r[0],r[1]),h(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchmove",function(t){t.preventDefault();var r=i(t.changedTouches[0],e);h(1,r[0],r[1]),t.preventDefault()},!!s&&{passive:!1}),e.addEventListener("touchend",function(t){h(0,c.lastPos[0],c.lastPos[1]),t.preventDefault()},!!s&&{passive:!1}),c.wheelListener=a(e,function(e,n){if(!t.scrollZoom)return!1;var a=t.calcDataBox(),i=r.viewBox,o=c.lastPos[0],s=c.lastPos[1],l=Math.exp(5*n/(i[3]-i[1])),h=o/(i[2]-i[0])*(a[2]-a[0])+a[0],f=s/(i[3]-i[1])*(a[3]-a[1])+a[1];return a[0]=(a[0]-h)*l+h,a[2]=(a[2]-h)*l+h,a[1]=(a[1]-f)*l+f,a[3]=(a[3]-f)*l+f,t.setRanges(a),c.lastInputTime=Date.now(),u(),t.cameraChanged(),t.handleAnnotations(),t.relayoutCallback(),!0},!0),c}},{"../cartesian/constants":770,"has-passive-events":412,"mouse-change":436,"mouse-event-offset":437,"mouse-wheel":439}],801:[function(t,e,r){"use strict";var n=t("../cartesian/axes"),a=t("../../lib/str2rgbarray");function i(t){this.scene=t,this.gl=t.gl,this.pixelRatio=t.pixelRatio,this.screenBox=[0,0,1,1],this.viewBox=[0,0,1,1],this.dataBox=[-1,-1,1,1],this.borderLineEnable=[!1,!1,!1,!1],this.borderLineWidth=[1,1,1,1],this.borderLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.ticks=[[],[]],this.tickEnable=[!0,!0,!1,!1],this.tickPad=[15,15,15,15],this.tickAngle=[0,0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickMarkLength=[0,0,0,0],this.tickMarkWidth=[0,0,0,0],this.tickMarkColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labels=["x","y"],this.labelEnable=[!0,!0,!1,!1],this.labelAngle=[0,Math.PI/2,0,3*Math.PI/2],this.labelPad=[15,15,15,15],this.labelSize=[12,12],this.labelFont=["sans-serif","sans-serif"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.title="",this.titleEnable=!0,this.titleCenter=[0,0,0,0],this.titleAngle=0,this.titleColor=[0,0,0,1],this.titleFont="sans-serif",this.titleSize=18,this.gridLineEnable=[!0,!0],this.gridLineColor=[[0,0,0,.5],[0,0,0,.5]],this.gridLineWidth=[1,1],this.zeroLineEnable=[!0,!0],this.zeroLineWidth=[1,1],this.zeroLineColor=[[0,0,0,1],[0,0,0,1]],this.borderColor=[0,0,0,0],this.backgroundColor=[0,0,0,0],this.static=this.scene.staticPlot}var o=i.prototype,s=["xaxis","yaxis"];o.merge=function(t){var e,r,n,i,o,l,c,u,h,f,p;for(this.titleEnable=!1,this.backgroundColor=a(t.plot_bgcolor),f=0;f<2;++f){var d=(e=s[f]).charAt(0);for(n=(r=t[this.scene[e]._name]).title.text===this.scene.fullLayout._dfltTitle[d]?"":r.title.text,p=0;p<=2;p+=2)this.labelEnable[f+p]=!1,this.labels[f+p]=n,this.labelColor[f+p]=a(r.title.font.color),this.labelFont[f+p]=r.title.font.family,this.labelSize[f+p]=r.title.font.size,this.labelPad[f+p]=this.getLabelPad(e,r),this.tickEnable[f+p]=!1,this.tickColor[f+p]=a((r.tickfont||{}).color),this.tickAngle[f+p]="auto"===r.tickangle?0:Math.PI*-r.tickangle/180,this.tickPad[f+p]=this.getTickPad(r),this.tickMarkLength[f+p]=0,this.tickMarkWidth[f+p]=r.tickwidth||0,this.tickMarkColor[f+p]=a(r.tickcolor),this.borderLineEnable[f+p]=!1,this.borderLineColor[f+p]=a(r.linecolor),this.borderLineWidth[f+p]=r.linewidth||0;c=this.hasSharedAxis(r),o=this.hasAxisInDfltPos(e,r)&&!c,l=this.hasAxisInAltrPos(e,r)&&!c,i=r.mirror||!1,u=c?-1!==String(i).indexOf("all"):!!i,h=c?"allticks"===i:-1!==String(i).indexOf("ticks"),o?this.labelEnable[f]=!0:l&&(this.labelEnable[f+2]=!0),o?this.tickEnable[f]=r.showticklabels:l&&(this.tickEnable[f+2]=r.showticklabels),(o||u)&&(this.borderLineEnable[f]=r.showline),(l||u)&&(this.borderLineEnable[f+2]=r.showline),(o||h)&&(this.tickMarkLength[f]=this.getTickMarkLength(r)),(l||h)&&(this.tickMarkLength[f+2]=this.getTickMarkLength(r)),this.gridLineEnable[f]=r.showgrid,this.gridLineColor[f]=a(r.gridcolor),this.gridLineWidth[f]=r.gridwidth,this.zeroLineEnable[f]=r.zeroline,this.zeroLineColor[f]=a(r.zerolinecolor),this.zeroLineWidth[f]=r.zerolinewidth}},o.hasSharedAxis=function(t){var e=this.scene,r=e.fullLayout._subplots.gl2d;return 0!==n.findSubplotsWithAxis(r,t).indexOf(e.id)},o.hasAxisInDfltPos=function(t,e){var r=e.side;return"xaxis"===t?"bottom"===r:"yaxis"===t?"left"===r:void 0},o.hasAxisInAltrPos=function(t,e){var r=e.side;return"xaxis"===t?"top"===r:"yaxis"===t?"right"===r:void 0},o.getLabelPad=function(t,e){var r=e.title.font.size,n=e.showticklabels;return"xaxis"===t?"top"===e.side?r*(1.5+(n?1:0))-10:r*(1.5+(n?.5:0))-10:"yaxis"===t?"right"===e.side?10+r*(1.5+(n?1:.5)):10+r*(1.5+(n?.5:0)):void 0},o.getTickPad=function(t){return"outside"===t.ticks?10+t.ticklen:15},o.getTickMarkLength=function(t){if(!t.ticks)return 0;var e=t.ticklen;return"inside"===t.ticks?-e:e},e.exports=function(t){return new i(t)}},{"../../lib/str2rgbarray":739,"../cartesian/axes":764}],802:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("./scene2d"),i=t("../layout_attributes"),o=t("../../constants/xmlns_namespaces"),s=t("../cartesian/constants"),l=t("../cartesian"),c=t("../../components/fx/layout_attributes"),u=t("../get_data").getSubplotData;r.name="gl2d",r.attr=["xaxis","yaxis"],r.idRoot=["x","y"],r.idRegex=s.idRegex,r.attrRegex=s.attrRegex,r.attributes=t("../cartesian/attributes"),r.supplyLayoutDefaults=function(t,e,r){e._has("cartesian")||l.supplyLayoutDefaults(t,e,r)},r.layoutAttrOverrides=n(l.layoutAttributes,"plot","from-root"),r.baseLayoutAttrOverrides=n({plot_bgcolor:i.plot_bgcolor,hoverlabel:c.hoverlabel},"plot","nested"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl2d,i=0;i<n.length;i++){var o=n[i],s=e._plots[o],l=u(r,"gl2d",o),c=s._scene2d;void 0===c&&(c=new a({id:o,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio},e),s._scene2d=c),c.plot(l,t.calcdata,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl2d||[],i=0;i<a.length;i++){var o=a[i],s=n._plots[o];if(s._scene2d)0===u(t,"gl2d",o).length&&(s._scene2d.destroy(),delete n._plots[o])}l.clean.apply(this,arguments)},r.drawFramework=function(t){t._context.staticPlot||l.drawFramework(t)},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){var a=e._plots[r[n]]._scene2d,i=a.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":i,x:0,y:0,width:"100%",height:"100%",preserveAspectRatio:"none"}),a.destroy()}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl2d,n=0;n<r.length;n++){e._plots[r[n]]._scene2d.updateFx(e.dragmode)}}},{"../../components/fx/layout_attributes":630,"../../constants/xmlns_namespaces":693,"../../plot_api/edit_types":747,"../cartesian":775,"../cartesian/attributes":762,"../cartesian/constants":770,"../get_data":799,"../layout_attributes":816,"./scene2d":803}],803:[function(t,e,r){"use strict";var n,a,i=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../../components/fx"),l=t("gl-plot2d"),c=t("gl-spikes2d"),u=t("gl-select-box"),h=t("webgl-context"),f=t("./convert"),p=t("./camera"),d=t("../../lib/show_no_webgl_msg"),g=t("../cartesian/constraints"),v=g.enforce,m=g.clean,y=t("../cartesian/autorange").doAutoRange,x=["xaxis","yaxis"],b=t("../cartesian/constants").SUBPLOT_PATTERN;function _(t,e){this.container=t.container,this.graphDiv=t.graphDiv,this.pixelRatio=t.plotGlPixelRatio||window.devicePixelRatio,this.id=t.id,this.staticPlot=!!t.staticPlot,this.scrollZoom=this.graphDiv._context._scrollZoom.cartesian,this.fullData=null,this.updateRefs(e),this.makeFramework(),this.stopped||(this.glplotOptions=f(this),this.glplotOptions.merge(e),this.glplot=l(this.glplotOptions),this.camera=p(this),this.traces={},this.spikes=c(this.glplot),this.selectBox=u(this.glplot,{innerFill:!1,outerFill:!0}),this.lastButtonState=0,this.pickResult=null,this.isMouseOver=!0,this.stopped=!1,this.redraw=this.draw.bind(this),this.redraw())}e.exports=_;var w=_.prototype;w.makeFramework=function(){if(this.staticPlot){if(!(a||(n=document.createElement("canvas"),a=h({canvas:n,preserveDrawingBuffer:!1,premultipliedAlpha:!0,antialias:!0}))))throw new Error("Error creating static canvas/context for image server");this.canvas=n,this.gl=a}else{var t=this.container.querySelector(".gl-canvas-focus"),e=h({canvas:t,preserveDrawingBuffer:!0,premultipliedAlpha:!0});if(!e)return d(this),void(this.stopped=!0);this.canvas=t,this.gl=e}var r=this.canvas;r.style.width="100%",r.style.height="100%",r.style.position="absolute",r.style.top="0px",r.style.left="0px",r.style["pointer-events"]="none",this.updateSize(r),r.className+=" user-select-none";var i=this.svgContainer=document.createElementNS("http://www.w3.org/2000/svg","svg");i.style.position="absolute",i.style.top=i.style.left="0px",i.style.width=i.style.height="100%",i.style["z-index"]=20,i.style["pointer-events"]="none";var o=this.mouseContainer=document.createElement("div");o.style.position="absolute",o.style["pointer-events"]="auto",this.pickCanvas=this.container.querySelector(".gl-canvas-pick");var s=this.container;s.appendChild(i),s.appendChild(o);var l=this;o.addEventListener("mouseout",function(){l.isMouseOver=!1,l.unhover()}),o.addEventListener("mouseover",function(){l.isMouseOver=!0})},w.toImage=function(t){t||(t="png"),this.stopped=!0,this.staticPlot&&this.container.appendChild(n),this.updateSize(this.canvas);var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.clearColor(1,1,1,0),e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT),this.glplot.setDirty(),this.glplot.draw(),e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=i[4*(r*o+l)+c];i[4*(r*o+l)+c]=i[4*(r*s+l)+c],i[4*(r*s+l)+c]=u}var h=document.createElement("canvas");h.width=r,h.height=a;var f,p=h.getContext("2d"),d=p.createImageData(r,a);switch(d.data.set(i),p.putImageData(d,0,0),t){case"jpeg":f=h.toDataURL("image/jpeg");break;case"webp":f=h.toDataURL("image/webp");break;default:f=h.toDataURL("image/png")}return this.staticPlot&&this.container.removeChild(n),f},w.updateSize=function(t){t||(t=this.canvas);var e=this.pixelRatio,r=this.fullLayout,n=r.width,a=r.height,i=0|Math.ceil(e*n),o=0|Math.ceil(e*a);return t.width===i&&t.height===o||(t.width=i,t.height=o),t},w.computeTickMarks=function(){this.xaxis.setScale(),this.yaxis.setScale();for(var t=[o.calcTicks(this.xaxis),o.calcTicks(this.yaxis)],e=0;e<2;++e)for(var r=0;r<t[e].length;++r)t[e][r].text=t[e][r].text+"";return t},w.updateRefs=function(t){this.fullLayout=t;var e=this.id.match(b),r="xaxis"+e[1],n="yaxis"+e[2];this.xaxis=this.fullLayout[r],this.yaxis=this.fullLayout[n]},w.relayoutCallback=function(){var t=this.graphDiv,e=this.xaxis,r=this.yaxis,n=t.layout,a={},o=a[e._name+".range"]=e.range.slice(),s=a[r._name+".range"]=r.range.slice();a[e._name+".autorange"]=e.autorange,a[r._name+".autorange"]=r.autorange,i.call("_storeDirectGUIEdit",t.layout,t._fullLayout._preGUI,a);var l=n[e._name];l.range=o,l.autorange=e.autorange;var c=n[r._name];c.range=s,c.autorange=r.autorange,a.lastInputTime=this.camera.lastInputTime,t.emit("plotly_relayout",a)},w.cameraChanged=function(){var t=this.camera;this.glplot.setDataBox(this.calcDataBox());var e=this.computeTickMarks();(function(t,e){for(var r=0;r<2;++r){var n=t[r],a=e[r];if(n.length!==a.length)return!0;for(var i=0;i<n.length;++i)if(n[i].x!==a[i].x)return!0}return!1})(e,this.glplotOptions.ticks)&&(this.glplotOptions.ticks=e,this.glplotOptions.dataBox=t.dataBox,this.glplot.update(this.glplotOptions),this.handleAnnotations())},w.handleAnnotations=function(){for(var t=this.graphDiv,e=this.fullLayout.annotations,r=0;r<e.length;r++){var n=e[r];n.xref===this.xaxis._id&&n.yref===this.yaxis._id&&i.getComponentMethod("annotations","drawOne")(t,r)}},w.destroy=function(){if(this.glplot){var t=this.traces;t&&Object.keys(t).map(function(e){t[e].dispose(),delete t[e]}),this.glplot.dispose(),this.container.removeChild(this.svgContainer),this.container.removeChild(this.mouseContainer),this.fullData=null,this.glplot=null,this.stopped=!0,this.camera.mouseListener.enabled=!1,this.mouseContainer.removeEventListener("wheel",this.camera.wheelListener),this.camera=null}},w.plot=function(t,e,r){var n=this.glplot;this.updateRefs(r),this.xaxis.clearCalc(),this.yaxis.clearCalc(),this.updateTraces(t,e),this.updateFx(r.dragmode);var a=r.width,i=r.height;this.updateSize(this.canvas);var o=this.glplotOptions;o.merge(r),o.screenBox=[0,0,a,i];var s={_fullLayout:{_axisConstraintGroups:this.graphDiv._fullLayout._axisConstraintGroups,xaxis:this.xaxis,yaxis:this.yaxis}};m(s,this.xaxis),m(s,this.yaxis);var l,c,u=r._size,h=this.xaxis.domain,f=this.yaxis.domain;for(o.viewBox=[u.l+h[0]*u.w,u.b+f[0]*u.h,a-u.r-(1-h[1])*u.w,i-u.t-(1-f[1])*u.h],this.mouseContainer.style.width=u.w*(h[1]-h[0])+"px",this.mouseContainer.style.height=u.h*(f[1]-f[0])+"px",this.mouseContainer.height=u.h*(f[1]-f[0]),this.mouseContainer.style.left=u.l+h[0]*u.w+"px",this.mouseContainer.style.top=u.t+(1-f[1])*u.h+"px",c=0;c<2;++c)(l=this[x[c]])._length=o.viewBox[c+2]-o.viewBox[c],y(this.graphDiv,l),l.setScale();v(s),o.ticks=this.computeTickMarks(),o.dataBox=this.calcDataBox(),o.merge(r),n.update(o),this.glplot.draw()},w.calcDataBox=function(){var t=this.xaxis,e=this.yaxis,r=t.range,n=e.range,a=t.r2l,i=e.r2l;return[a(r[0]),i(n[0]),a(r[1]),i(n[1])]},w.setRanges=function(t){var e=this.xaxis,r=this.yaxis,n=e.l2r,a=r.l2r;e.range=[n(t[0]),n(t[2])],r.range=[a(t[1]),a(t[3])]},w.updateTraces=function(t,e){var r,n,a,i=Object.keys(this.traces);this.fullData=t;t:for(r=0;r<i.length;r++){var o=i[r],s=this.traces[o];for(n=0;n<t.length;n++)if((a=t[n]).uid===o&&a.type===s.type)continue t;s.dispose(),delete this.traces[o]}for(r=0;r<t.length;r++){a=t[r];var l=e[r],c=this.traces[a.uid];c?c.update(a,l):(c=a._module.plot(this,a,l),this.traces[a.uid]=c)}this.glplot.objects.sort(function(t,e){return t._trace.index-e._trace.index})},w.updateFx=function(t){"lasso"===t||"select"===t?(this.pickCanvas.style["pointer-events"]="none",this.mouseContainer.style["pointer-events"]="none"):(this.pickCanvas.style["pointer-events"]="auto",this.mouseContainer.style["pointer-events"]="auto"),this.mouseContainer.style.cursor="pan"===t?"move":"zoom"===t?"crosshair":null},w.emitPointAction=function(t,e){for(var r,n=t.trace.uid,a=t.pointIndex,i=0;i<this.fullData.length;i++)this.fullData[i].uid===n&&(r=this.fullData[i]);var o={x:t.traceCoord[0],y:t.traceCoord[1],curveNumber:r.index,pointNumber:a,data:r._input,fullData:this.fullData,xaxis:this.xaxis,yaxis:this.yaxis};s.appendArrayPointValue(o,r,a),this.graphDiv.emit(e,{points:[o]})},w.draw=function(){if(!this.stopped){requestAnimationFrame(this.redraw);var t=this.glplot,e=this.camera,r=e.mouseListener,n=1===this.lastButtonState&&0===r.buttons,a=this.fullLayout;this.lastButtonState=r.buttons,this.cameraChanged();var i,o=r.x*t.pixelRatio,l=this.canvas.height-t.pixelRatio*r.y;if(e.boxEnabled&&"zoom"===a.dragmode){this.selectBox.enabled=!0;for(var c=this.selectBox.selectBox=[Math.min(e.boxStart[0],e.boxEnd[0]),Math.min(e.boxStart[1],e.boxEnd[1]),Math.max(e.boxStart[0],e.boxEnd[0]),Math.max(e.boxStart[1],e.boxEnd[1])],u=0;u<2;u++)e.boxStart[u]===e.boxEnd[u]&&(c[u]=t.dataBox[u],c[u+2]=t.dataBox[u+2]);t.setDirty()}else if(!e.panning&&this.isMouseOver){this.selectBox.enabled=!1;var h=a._size,f=this.xaxis.domain,p=this.yaxis.domain,d=(i=t.pick(o/t.pixelRatio+h.l+f[0]*h.w,l/t.pixelRatio-(h.t+(1-p[1])*h.h)))&&i.object._trace.handlePick(i);if(d&&n&&this.emitPointAction(d,"plotly_click"),i&&"skip"!==i.object._trace.hoverinfo&&a.hovermode&&d&&(!this.lastPickResult||this.lastPickResult.traceUid!==d.trace.uid||this.lastPickResult.dataCoord[0]!==d.dataCoord[0]||this.lastPickResult.dataCoord[1]!==d.dataCoord[1])){var g=d;this.lastPickResult={traceUid:d.trace?d.trace.uid:null,dataCoord:d.dataCoord.slice()},this.spikes.update({center:i.dataCoord}),g.screenCoord=[((t.viewBox[2]-t.viewBox[0])*(i.dataCoord[0]-t.dataBox[0])/(t.dataBox[2]-t.dataBox[0])+t.viewBox[0])/t.pixelRatio,(this.canvas.height-(t.viewBox[3]-t.viewBox[1])*(i.dataCoord[1]-t.dataBox[1])/(t.dataBox[3]-t.dataBox[1])-t.viewBox[1])/t.pixelRatio],this.emitPointAction(d,"plotly_hover");var v=this.fullData[g.trace.index]||{},m=g.pointIndex,y=s.castHoverinfo(v,a,m);if(y&&"all"!==y){var x=y.split("+");-1===x.indexOf("x")&&(g.traceCoord[0]=void 0),-1===x.indexOf("y")&&(g.traceCoord[1]=void 0),-1===x.indexOf("z")&&(g.traceCoord[2]=void 0),-1===x.indexOf("text")&&(g.textLabel=void 0),-1===x.indexOf("name")&&(g.name=void 0)}s.loneHover({x:g.screenCoord[0],y:g.screenCoord[1],xLabel:this.hoverFormatter("xaxis",g.traceCoord[0]),yLabel:this.hoverFormatter("yaxis",g.traceCoord[1]),zLabel:g.traceCoord[2],text:g.textLabel,name:g.name,color:s.castHoverOption(v,m,"bgcolor")||g.color,borderColor:s.castHoverOption(v,m,"bordercolor"),fontFamily:s.castHoverOption(v,m,"font.family"),fontSize:s.castHoverOption(v,m,"font.size"),fontColor:s.castHoverOption(v,m,"font.color"),nameLength:s.castHoverOption(v,m,"namelength"),textAlign:s.castHoverOption(v,m,"align")},{container:this.svgContainer,gd:this.graphDiv})}}i||this.unhover(),t.draw()}},w.unhover=function(){this.lastPickResult&&(this.spikes.update({}),this.lastPickResult=null,this.graphDiv.emit("plotly_unhover"),s.loneUnhover(this.svgContainer))},w.hoverFormatter=function(t,e){if(void 0!==e){var r=this[t];return o.tickText(r,r.c2l(e),"hover").text}}},{"../../components/fx":629,"../../lib/show_no_webgl_msg":737,"../../plots/cartesian/axes":764,"../../registry":845,"../cartesian/autorange":763,"../cartesian/constants":770,"../cartesian/constraints":771,"./camera":800,"./convert":801,"gl-plot2d":289,"gl-select-box":301,"gl-spikes2d":310,"webgl-context":554}],804:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../components/fx/layout_attributes"),i=t("./scene"),o=t("../get_data").getSubplotData,s=t("../../lib"),l=t("../../constants/xmlns_namespaces");r.name="gl3d",r.attr="scene",r.idRoot="scene",r.idRegex=r.attrRegex=s.counterRegex("scene"),r.attributes=t("./layout/attributes"),r.layoutAttributes=t("./layout/layout_attributes"),r.baseLayoutAttrOverrides=n({hoverlabel:a.hoverlabel},"plot","nested"),r.supplyLayoutDefaults=t("./layout/defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t._fullData,n=e._subplots.gl3d,a=0;a<n.length;a++){var s=n[a],l=o(r,"gl3d",s),c=e[s],u=c.camera,h=c._scene;h||(h=new i({id:s,graphDiv:t,container:t.querySelector(".gl-container"),staticPlot:t._context.staticPlot,plotGlPixelRatio:t._context.plotGlPixelRatio,camera:u},e),c._scene=h),h.viewInitial||(h.viewInitial={up:{x:u.up.x,y:u.up.y,z:u.up.z},eye:{x:u.eye.x,y:u.eye.y,z:u.eye.z},center:{x:u.center.x,y:u.center.y,z:u.center.z}}),h.plot(l,e,t.layout)}},r.clean=function(t,e,r,n){for(var a=n._subplots.gl3d||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._scene&&(n[o]._scene.destroy(),n._infolayer&&n._infolayer.selectAll(".annotation-"+o).remove())}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],o=i.domain,s=i._scene,c=s.toImage("png");e._glimages.append("svg:image").attr({xmlns:l.svg,"xlink:href":c,x:n.l+n.w*o.x[0],y:n.t+n.h*(1-o.y[1]),width:n.w*(o.x[1]-o.x[0]),height:n.h*(o.y[1]-o.y[0]),preserveAspectRatio:"none"}),s.destroy()}},r.cleanId=function(t){if(t.match(/^scene[0-9]*$/)){var e=t.substr(5);return"1"===e&&(e=""),"scene"+e}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.gl3d,n=0;n<r.length;n++){e[r[n]]._scene.updateFx(e.dragmode,e.hovermode)}}},{"../../components/fx/layout_attributes":630,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../plot_api/edit_types":747,"../get_data":799,"./layout/attributes":805,"./layout/defaults":809,"./layout/layout_attributes":810,"./scene":814}],805:[function(t,e,r){"use strict";e.exports={scene:{valType:"subplotid",dflt:"scene",editType:"calc+clearAxisTypes"}}},{}],806:[function(t,e,r){"use strict";var n=t("../../../components/color"),a=t("../../cartesian/layout_attributes"),i=t("../../../lib/extend").extendFlat,o=t("../../../plot_api/edit_types").overrideAll;e.exports=o({visible:a.visible,showspikes:{valType:"boolean",dflt:!0},spikesides:{valType:"boolean",dflt:!0},spikethickness:{valType:"number",min:0,dflt:2},spikecolor:{valType:"color",dflt:n.defaultLine},showbackground:{valType:"boolean",dflt:!1},backgroundcolor:{valType:"color",dflt:"rgba(204, 204, 204, 0.5)"},showaxeslabels:{valType:"boolean",dflt:!0},color:a.color,categoryorder:a.categoryorder,categoryarray:a.categoryarray,title:{text:a.title.text,font:a.title.font},type:i({},a.type,{values:["-","linear","log","date","category"]}),autorange:a.autorange,rangemode:a.rangemode,range:i({},a.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],anim:!1}),tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,mirror:a.mirror,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,tickfont:a.tickfont,tickangle:a.tickangle,tickprefix:a.tickprefix,showtickprefix:a.showtickprefix,ticksuffix:a.ticksuffix,showticksuffix:a.showticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickformat:a.tickformat,tickformatstops:a.tickformatstops,hoverformat:a.hoverformat,showline:a.showline,linecolor:a.linecolor,linewidth:a.linewidth,showgrid:a.showgrid,gridcolor:i({},a.gridcolor,{dflt:"rgb(204, 204, 204)"}),gridwidth:a.gridwidth,zeroline:a.zeroline,zerolinecolor:a.zerolinecolor,zerolinewidth:a.zerolinewidth,_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}},"plot","from-root")},{"../../../components/color":591,"../../../lib/extend":707,"../../../plot_api/edit_types":747,"../../cartesian/layout_attributes":776}],807:[function(t,e,r){"use strict";var n=t("tinycolor2").mix,a=t("../../../lib"),i=t("../../../plot_api/plot_template"),o=t("./axis_attributes"),s=t("../../cartesian/type_defaults"),l=t("../../cartesian/axis_defaults"),c=["xaxis","yaxis","zaxis"];e.exports=function(t,e,r){var u,h;function f(t,e){return a.coerce(u,h,o,t,e)}for(var p=0;p<c.length;p++){var d=c[p];u=t[d]||{},(h=i.newContainer(e,d))._id=d[0]+r.scene,h._name=d,s(u,h,f,r),l(u,h,f,{font:r.font,letter:d[0],data:r.data,showGrid:!0,noTickson:!0,bgColor:r.bgColor,calendar:r.calendar},r.fullLayout),f("gridcolor",n(h.color,r.bgColor,13600/187).toRgbString()),f("title.text",d[0]),h.setScale=a.noop,f("showspikes")&&(f("spikesides"),f("spikethickness"),f("spikecolor",h.color)),f("showaxeslabels"),f("showbackground")&&f("backgroundcolor")}}},{"../../../lib":716,"../../../plot_api/plot_template":754,"../../cartesian/axis_defaults":766,"../../cartesian/type_defaults":787,"./axis_attributes":806,tinycolor2:535}],808:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=t("../../../lib"),i=["xaxis","yaxis","zaxis"];function o(){this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[18,18,18],this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["Open Sans","Open Sans","Open Sans"],this.labelSize=[20,20,20],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[30,30,30],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[10,10,10],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!0,!0,!0],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._defaultTickPad=this.tickPad.slice(),this._defaultLabelPad=this.labelPad.slice(),this._defaultLineTickLength=this.lineTickLength.slice()}o.prototype.merge=function(t,e){for(var r=0;r<3;++r){var o=e[i[r]];o.visible?(this.labels[r]=t._meta?a.templateString(o.title.text,t._meta):o.title.text,"font"in o.title&&(o.title.font.color&&(this.labelColor[r]=n(o.title.font.color)),o.title.font.family&&(this.labelFont[r]=o.title.font.family),o.title.font.size&&(this.labelSize[r]=o.title.font.size)),"showline"in o&&(this.lineEnable[r]=o.showline),"linecolor"in o&&(this.lineColor[r]=n(o.linecolor)),"linewidth"in o&&(this.lineWidth[r]=o.linewidth),"showgrid"in o&&(this.gridEnable[r]=o.showgrid),"gridcolor"in o&&(this.gridColor[r]=n(o.gridcolor)),"gridwidth"in o&&(this.gridWidth[r]=o.gridwidth),"log"===o.type?this.zeroEnable[r]=!1:"zeroline"in o&&(this.zeroEnable[r]=o.zeroline),"zerolinecolor"in o&&(this.zeroLineColor[r]=n(o.zerolinecolor)),"zerolinewidth"in o&&(this.zeroLineWidth[r]=o.zerolinewidth),"ticks"in o&&o.ticks?this.lineTickEnable[r]=!0:this.lineTickEnable[r]=!1,"ticklen"in o&&(this.lineTickLength[r]=this._defaultLineTickLength[r]=o.ticklen),"tickcolor"in o&&(this.lineTickColor[r]=n(o.tickcolor)),"tickwidth"in o&&(this.lineTickWidth[r]=o.tickwidth),"tickangle"in o&&(this.tickAngle[r]="auto"===o.tickangle?-3600:Math.PI*-o.tickangle/180),"showticklabels"in o&&(this.tickEnable[r]=o.showticklabels),"tickfont"in o&&(o.tickfont.color&&(this.tickColor[r]=n(o.tickfont.color)),o.tickfont.family&&(this.tickFont[r]=o.tickfont.family),o.tickfont.size&&(this.tickSize[r]=o.tickfont.size)),"mirror"in o?-1!==["ticks","all","allticks"].indexOf(o.mirror)?(this.lineTickMirror[r]=!0,this.lineMirror[r]=!0):!0===o.mirror?(this.lineTickMirror[r]=!1,this.lineMirror[r]=!0):(this.lineTickMirror[r]=!1,this.lineMirror[r]=!1):this.lineMirror[r]=!1,"showbackground"in o&&!1!==o.showbackground?(this.backgroundEnable[r]=!0,this.backgroundColor[r]=n(o.backgroundcolor)):this.backgroundEnable[r]=!1):(this.tickEnable[r]=!1,this.labelEnable[r]=!1,this.lineEnable[r]=!1,this.lineTickEnable[r]=!1,this.gridEnable[r]=!1,this.zeroEnable[r]=!1,this.backgroundEnable[r]=!1)}},e.exports=function(t,e){var r=new o;return r.merge(t,e),r}},{"../../../lib":716,"../../../lib/str2rgbarray":739}],809:[function(t,e,r){"use strict";var n=t("../../../lib"),a=t("../../../components/color"),i=t("../../../registry"),o=t("../../subplot_defaults"),s=t("./axis_defaults"),l=t("./layout_attributes"),c=t("../../get_data").getSubplotData,u="gl3d";function h(t,e,r,n){for(var o=r("bgcolor"),l=a.combine(o,n.paper_bgcolor),h=["up","center","eye"],f=0;f<h.length;f++)r("camera."+h[f]+".x"),r("camera."+h[f]+".y"),r("camera."+h[f]+".z");r("camera.projection.type");var p=!!r("aspectratio.x")&&!!r("aspectratio.y")&&!!r("aspectratio.z"),d=r("aspectmode",p?"manual":"auto");p||(t.aspectratio=e.aspectratio={x:1,y:1,z:1},"manual"===d&&(e.aspectmode="auto"),t.aspectmode=e.aspectmode);var g=c(n.fullData,u,n.id);s(t,e,{font:n.font,scene:n.id,data:g,bgColor:l,calendar:n.calendar,fullLayout:n.fullLayout}),i.getComponentMethod("annotations3d","handleDefaults")(t,e,n);var v=n.getDfltFromLayout("dragmode");if(!1!==v&&!v)if(v="orbit",t.camera&&t.camera.up){var m=t.camera.up.x,y=t.camera.up.y,x=t.camera.up.z;0!==x&&(m&&y&&x?x/Math.sqrt(m*m+y*y+x*x)>.999&&(v="turntable"):v="turntable")}else v="turntable";r("dragmode",v),r("hovermode",n.getDfltFromLayout("hovermode"))}e.exports=function(t,e,r){var a=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:h,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!a)return n.validate(t[e],l[e])?t[e]:void 0},paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},{"../../../components/color":591,"../../../lib":716,"../../../registry":845,"../../get_data":799,"../../subplot_defaults":839,"./axis_defaults":807,"./layout_attributes":810}],810:[function(t,e,r){"use strict";var n=t("./axis_attributes"),a=t("../../domain").attributes,i=t("../../../lib/extend").extendFlat,o=t("../../../lib").counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}e.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:i(s(0,0,1),{}),center:i(s(0,0,0),{}),eye:i(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:a({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},{"../../../lib":716,"../../../lib/extend":707,"../../domain":789,"./axis_attributes":806}],811:[function(t,e,r){"use strict";var n=t("../../../lib/str2rgbarray"),a=["xaxis","yaxis","zaxis"];function i(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}i.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[a[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},e.exports=function(t){var e=new i;return e.merge(t),e}},{"../../../lib/str2rgbarray":739}],812:[function(t,e,r){"use strict";e.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[i[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var f=u.nticks||a.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u),d=0;d<p.length;++d)p[d].x=p[d].x*t.dataScale[c],"date"===u.type&&(p[d].text=p[d].text.replace(/\<br\>/g," "));l[c]=p,u.tickmode=h}}e.ticks=l;for(var c=0;c<3;++c){o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]);for(var d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c]}t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],a=new Array(n.length),i=0;i<n.length;++i)a[i]=n[i].x;e[r]=a}return e}(l)};var n=t("../../cartesian/axes"),a=t("../../../lib"),i=["xaxis","yaxis","zaxis"],o=[0,0,0]},{"../../../lib":716,"../../cartesian/axes":764}],813:[function(t,e,r){"use strict";function n(t,e){var r,n,a=[0,0,0,0];for(r=0;r<4;++r)for(n=0;n<4;++n)a[n]+=t[4*r+n]*e[r];return a}e.exports=function(t,e){return n(t.projection,n(t.view,n(t.model,[e[0],e[1],e[2],1])))}},{}],814:[function(t,e,r){"use strict";var n,a,i=t("gl-plot3d"),o=i.createCamera,s=i.createScene,l=t("webgl-context"),c=t("has-passive-events"),u=t("../../registry"),h=t("../../lib"),f=t("../../plots/cartesian/axes"),p=t("../../components/fx"),d=t("../../lib/str2rgbarray"),g=t("../../lib/show_no_webgl_msg"),v=t("./project"),m=t("./layout/convert"),y=t("./layout/spikes"),x=t("./layout/tick_marks");function b(t,e,r){if(t.initializeGLCamera(),!function(t,e,r,i,o){var c={canvas:i,gl:o,container:t.container,axes:t.axesOptions,spikes:t.spikeOptions,pickRadius:10,snapToData:!0,autoScale:!0,autoBounds:!1,cameraObject:e,pixelRatio:r};if(t.staticMode){if(!(a||(n=document.createElement("canvas"),a=l({canvas:n,preserveDrawingBuffer:!0,premultipliedAlpha:!0,antialias:!0}))))throw new Error("error creating static canvas/context for image server");c.pixelRatio=t.pixelRatio,c.gl=a,c.canvas=n}var u=0;try{t.glplot=s(c)}catch(e){u++;try{t.glplot=s(c)}catch(t){u++}}return u<2}(t,t.camera,t.pixelRatio,e,r))return g(t);var i=t.graphDiv,o=i.layout,u=function(){var e={};return t.isCameraChanged(o)&&(e[t.id+".camera"]=t.getCamera()),t.isAspectChanged(o)&&(e[t.id+".aspectratio"]=t.glplot.getAspectratio()),e},d=function(t){if(!1!==t.fullSceneLayout.dragmode){var e=u();t.saveLayout(o),t.graphDiv.emit("plotly_relayout",e)}};return t.glplot.canvas.addEventListener("mouseup",function(){d(t)}),t.glplot.canvas.addEventListener("wheel",function(e){if(i._context._scrollZoom.gl3d){if(t.glplot.camera._ortho){var r=e.deltaX>e.deltaY?1.1:1/1.1,n=t.glplot.getAspectratio();t.glplot.setAspectratio({x:r*n.x,y:r*n.y,z:r*n.z})}d(t)}},!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=u();t.graphDiv.emit("plotly_relayouting",e)}}),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",function(e){i&&i.emit&&i.emit("plotly_webglcontextlost",{event:e,layer:t.id})},!1),t.glplot.camera=t.camera,t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(t){var e,r=t.graphDiv,n=t.svgContainer,a=t.container.getBoundingClientRect(),i=a.width,o=a.height;n.setAttributeNS(null,"viewBox","0 0 "+i+" "+o),n.setAttributeNS(null,"width",i),n.setAttributeNS(null,"height",o),x(t),t.glplot.axes.update(t.axesOptions);for(var s,l=Object.keys(t.traces),c=null,u=t.glplot.selection,d=0;d<l.length;++d)"skip"!==(e=t.traces[l[d]]).data.hoverinfo&&e.handlePick(u)&&(c=e),e.setContourLevels&&e.setContourLevels();function g(e,r){var n=t.fullSceneLayout[e];return f.tickText(n,n.d2l(r),"hover").text}if(null!==c){var m=v(t.glplot.cameraParams,u.dataCoordinate);e=c.data;var y,b=r._fullData[e.index],_=u.index,w={xLabel:g("xaxis",u.traceCoordinate[0]),yLabel:g("yaxis",u.traceCoordinate[1]),zLabel:g("zaxis",u.traceCoordinate[2])},k=p.castHoverinfo(b,t.fullLayout,_),T=(k||"").split("+"),A=k&&"all"===k;b.hovertemplate||A||(-1===T.indexOf("x")&&(w.xLabel=void 0),-1===T.indexOf("y")&&(w.yLabel=void 0),-1===T.indexOf("z")&&(w.zLabel=void 0),-1===T.indexOf("text")&&(u.textLabel=void 0),-1===T.indexOf("name")&&(c.name=void 0));var M=[];"cone"===e.type||"streamtube"===e.type?(w.uLabel=g("xaxis",u.traceCoordinate[3]),(A||-1!==T.indexOf("u"))&&M.push("u: "+w.uLabel),w.vLabel=g("yaxis",u.traceCoordinate[4]),(A||-1!==T.indexOf("v"))&&M.push("v: "+w.vLabel),w.wLabel=g("zaxis",u.traceCoordinate[5]),(A||-1!==T.indexOf("w"))&&M.push("w: "+w.wLabel),w.normLabel=u.traceCoordinate[6].toPrecision(3),(A||-1!==T.indexOf("norm"))&&M.push("norm: "+w.normLabel),"streamtube"===e.type&&(w.divergenceLabel=u.traceCoordinate[7].toPrecision(3),(A||-1!==T.indexOf("divergence"))&&M.push("divergence: "+w.divergenceLabel)),u.textLabel&&M.push(u.textLabel),y=M.join("<br>")):"isosurface"===e.type||"volume"===e.type?(w.valueLabel=f.tickText(t.mockAxis,t.mockAxis.d2l(u.traceCoordinate[3]),"hover").text,M.push("value: "+w.valueLabel),u.textLabel&&M.push(u.textLabel),y=M.join("<br>")):y=u.textLabel;var S={x:u.traceCoordinate[0],y:u.traceCoordinate[1],z:u.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:_};p.appendArrayPointValue(S,b,_),e._module.eventData&&(S=b._module.eventData(S,u,b,{},_));var E={points:[S]};t.fullSceneLayout.hovermode&&p.loneHover({trace:b,x:(.5+.5*m[0]/m[3])*i,y:(.5-.5*m[1]/m[3])*o,xLabel:w.xLabel,yLabel:w.yLabel,zLabel:w.zLabel,text:y,name:c.name,color:p.castHoverOption(b,_,"bgcolor")||c.color,borderColor:p.castHoverOption(b,_,"bordercolor"),fontFamily:p.castHoverOption(b,_,"font.family"),fontSize:p.castHoverOption(b,_,"font.size"),fontColor:p.castHoverOption(b,_,"font.color"),nameLength:p.castHoverOption(b,_,"namelength"),textAlign:p.castHoverOption(b,_,"align"),hovertemplate:h.castOption(b,_,"hovertemplate"),hovertemplateLabels:h.extendFlat({},S,w),eventData:[S]},{container:n,gd:r}),u.buttons&&u.distance<5?r.emit("plotly_click",E):r.emit("plotly_hover",E),s=E}else p.loneUnhover(n),r.emit("plotly_unhover",s);t.drawAnnotations(t)}.bind(null,t),t.traces={},t.make4thDimension(),!0}function _(t,e){var r=document.createElement("div"),n=t.container;this.graphDiv=t.graphDiv;var a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.style.position="absolute",a.style.top=a.style.left="0px",a.style.width=a.style.height="100%",a.style["z-index"]=20,a.style["pointer-events"]="none",r.appendChild(a),this.svgContainer=a,r.id=t.id,r.style.position="absolute",r.style.top=r.style.left="0px",r.style.width=r.style.height="100%",n.appendChild(r),this.fullLayout=e,this.id=t.id||"scene",this.fullSceneLayout=e[this.id],this.plotArgs=[[],{},{}],this.axesOptions=m(e,e[this.id]),this.spikeOptions=y(e[this.id]),this.container=r,this.staticMode=!!t.staticPlot,this.pixelRatio=this.pixelRatio||t.plotGlPixelRatio||2,this.dataScale=[1,1,1],this.contourLevels=[[],[],[]],this.convertAnnotations=u.getComponentMethod("annotations3d","convert"),this.drawAnnotations=u.getComponentMethod("annotations3d","draw"),b(this)}var w=_.prototype;w.initializeGLCamera=function(){var t=this.fullSceneLayout.camera,e="orthographic"===t.projection.type;this.camera=o(this.container,{center:[t.center.x,t.center.y,t.center.z],eye:[t.eye.x,t.eye.y,t.eye.z],up:[t.up.x,t.up.y,t.up.z],_ortho:e,zoomMin:.01,zoomMax:100,mode:"orbit"})},w.recoverContext=function(){var t=this,e=this.glplot.gl,r=this.glplot.canvas;this.glplot.dispose(),requestAnimationFrame(function n(){e.isContextLost()?requestAnimationFrame(n):b(t,r,e)?t.plot.apply(t,t.plotArgs):h.error("Catastrophic and unrecoverable WebGL error. Context lost.")})};var k=["xaxis","yaxis","zaxis"];function T(t,e,r){for(var n=t.fullSceneLayout,a=0;a<3;a++){var i=k[a],o=i.charAt(0),s=n[i],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;d<l[p].length;++d)f=s.d2l(l[p][d],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else f=s.d2l(l[p],0,c),!isNaN(f)&&isFinite(f)&&(r[0][a]=Math.min(r[0][a],f),r[1][a]=Math.max(r[1][a],f));else r[0][a]=Math.min(r[0][a],0),r[1][a]=Math.max(r[1][a],u-1)}}w.plot=function(t,e,r){if(this.plotArgs=[t,e,r],!this.glplot.contextLost){var n,a,i,o,s,l,c=e[this.id],u=r[this.id];c.bgcolor?this.glplot.clearColor=d(c.bgcolor):this.glplot.clearColor=[0,0,0,0],this.glplot.snapToData=!0,this.fullLayout=e,this.fullSceneLayout=c,this.glplotLayout=c,this.axesOptions.merge(e,c),this.spikeOptions.merge(c),this.setViewport(c),this.updateFx(c.dragmode,c.hovermode),this.camera.enableWheel=this.graphDiv._context._scrollZoom.gl3d,this.glplot.update({}),this.setConvert(s),t?Array.isArray(t)||(t=[t]):t=[];var h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]];for(i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&T(this,n,h);!function(t,e){for(var r=t.fullSceneLayout,n=r.annotations||[],a=0;a<3;a++)for(var i=k[a],o=i.charAt(0),s=r[i],l=0;l<n.length;l++){var c=n[l];if(c.visible){var u=s.r2l(c[o]);!isNaN(u)&&isFinite(u)&&(e[0][a]=Math.min(e[0][a],u),e[1][a]=Math.max(e[1][a],u))}}}(this,h);var f=[1,1,1];for(o=0;o<3;++o)h[1][o]===h[0][o]?f[o]=1:f[o]=1/(h[1][o]-h[0][o]);for(this.dataScale=f,this.convertAnnotations(this),i=0;i<t.length;++i)!0===(n=t[i]).visible&&0!==n._length&&((a=this.traces[n.uid])?a.data.type===n.type?a.update(n):(a.dispose(),a=n._module.plot(this,n),this.traces[n.uid]=a):(a=n._module.plot(this,n),this.traces[n.uid]=a),a.name=n.name);var p=Object.keys(this.traces);t:for(i=0;i<p.length;++i){for(o=0;o<t.length;++o)if(t[o].uid===p[i]&&!0===t[o].visible&&0!==t[o]._length)continue t;(a=this.traces[p[i]]).dispose(),delete this.traces[p[i]]}this.glplot.objects.sort(function(t,e){return t._trace.data.index-e._trace.data.index});var g=[[0,0,0],[0,0,0]],v=[],m={};for(i=0;i<3;++i){if((l=(s=c[k[i]]).type)in m?(m[l].acc*=f[i],m[l].count+=1):m[l]={acc:f[i],count:1},s.autorange){g[0][i]=1/0,g[1][i]=-1/0;var y=this.glplot.objects,x=this.fullSceneLayout.annotations||[],b=s._name.charAt(0);for(o=0;o<y.length;o++){var _=y[o],w=_.bounds,A=_._trace.data._pad||0;"ErrorBars"===_.constructor.name&&s._lowerLogErrorBound?g[0][i]=Math.min(g[0][i],s._lowerLogErrorBound):g[0][i]=Math.min(g[0][i],w[0][i]/f[i]-A),g[1][i]=Math.max(g[1][i],w[1][i]/f[i]+A)}for(o=0;o<x.length;o++){var M=x[o];if(M.visible){var S=s.r2l(M[b]);g[0][i]=Math.min(g[0][i],S),g[1][i]=Math.max(g[1][i],S)}}if("rangemode"in s&&"tozero"===s.rangemode&&(g[0][i]=Math.min(g[0][i],0),g[1][i]=Math.max(g[1][i],0)),g[0][i]>g[1][i])g[0][i]=-1,g[1][i]=1;else{var E=g[1][i]-g[0][i];g[0][i]-=E/32,g[1][i]+=E/32}if("reversed"===s.autorange){var L=g[0][i];g[0][i]=g[1][i],g[1][i]=L}}else{var C=s.range;g[0][i]=s.r2l(C[0]),g[1][i]=s.r2l(C[1])}g[0][i]===g[1][i]&&(g[0][i]-=1,g[1][i]+=1),v[i]=g[1][i]-g[0][i],this.glplot.bounds[0][i]=g[0][i]*f[i],this.glplot.bounds[1][i]=g[1][i]*f[i]}var P=[1,1,1];for(i=0;i<3;++i){var O=m[l=(s=c[k[i]]).type];P[i]=Math.pow(O.acc,1/O.count)/f[i]}var z;if("auto"===c.aspectmode)z=Math.max.apply(null,P)/Math.min.apply(null,P)<=4?P:[1,1,1];else if("cube"===c.aspectmode)z=[1,1,1];else if("data"===c.aspectmode)z=P;else{if("manual"!==c.aspectmode)throw new Error("scene.js aspectRatio was not one of the enumerated types");var I=c.aspectratio;z=[I.x,I.y,I.z]}c.aspectratio.x=u.aspectratio.x=z[0],c.aspectratio.y=u.aspectratio.y=z[1],c.aspectratio.z=u.aspectratio.z=z[2],this.glplot.setAspectratio(c.aspectratio),this.viewInitial.aspectratio||(this.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z});var D=c.domain||null,R=e._size||null;if(D&&R){var F=this.container.style;F.position="absolute",F.left=R.l+D.x[0]*R.w+"px",F.top=R.t+(1-D.y[1])*R.h+"px",F.width=R.w*(D.x[1]-D.x[0])+"px",F.height=R.h*(D.y[1]-D.y[0])+"px"}this.glplot.redraw()}},w.destroy=function(){this.glplot&&(this.camera.mouseListener.enabled=!1,this.container.removeEventListener("wheel",this.camera.wheelListener),this.camera=this.glplot.camera=null,this.glplot.dispose(),this.container.parentNode.removeChild(this.container),this.glplot=null)},w.getCamera=function(){return this.glplot.camera.view.recalcMatrix(this.camera.view.lastT()),{up:{x:(t=this.glplot.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}};var t},w.setViewport=function(t){var e,r=t.camera;this.glplot.camera.lookAt.apply(this,[[(e=r).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),this.glplot.setAspectratio(t.aspectratio);var n="orthographic"===r.projection.type;if(n!==this.glplot.camera._ortho){this.glplot.redraw();var a=this.glplot.clearColor;this.glplot.gl.clearColor(a[0],a[1],a[2],a[3]),this.glplot.gl.clear(this.glplot.gl.DEPTH_BUFFER_BIT|this.glplot.gl.COLOR_BUFFER_BIT),this.glplot.dispose(),b(this),this.glplot.camera._ortho=n}},w.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var a=["up","center","eye"],i=["x","y","z"];return e[a[r]]&&t[a[r]][i[n]]===e[a[r]][i[n]]}var a=!1;if(void 0===r)a=!0;else{for(var i=0;i<3;i++)for(var o=0;o<3;o++)if(!n(e,r,i,o)){a=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(a=!0)}return a},w.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},w.saveLayout=function(t){var e,r,n,a,i,o,s=this.fullLayout,l=this.isCameraChanged(t),c=this.isAspectChanged(t),f=l||c;if(f){var p={};if(l&&(e=this.getCamera(),n=(r=h.nestedProperty(t,this.id+".camera")).get(),p[this.id+".camera"]=n),c&&(a=this.glplot.getAspectratio(),o=(i=h.nestedProperty(t,this.id+".aspectratio")).get(),p[this.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,s._preGUI,p),l)r.set(e),h.nestedProperty(s,this.id+".camera").set(e);if(c)i.set(a),h.nestedProperty(s,this.id+".aspectratio").set(a),this.glplot.redraw()}return f},w.updateFx=function(t,e){var r=this.camera;if(r)if("orbit"===t)r.mode="orbit",r.keyBindingMode="rotate";else if("turntable"===t){r.up=[0,0,1],r.mode="turntable",r.keyBindingMode="rotate";var n=this.graphDiv,a=n._fullLayout,i=this.fullSceneLayout.camera,o=i.up.x,s=i.up.y,l=i.up.z;if(l/Math.sqrt(o*o+s*s+l*l)<.999){var c=this.id+".camera.up",f={x:0,y:0,z:1},p={};p[c]=f;var d=n.layout;u.call("_storeDirectGUIEdit",d,a._preGUI,p),i.up=f,h.nestedProperty(d,c).set(f)}}else r.keyBindingMode=t;this.fullSceneLayout.hovermode=e},w.toImage=function(t){t||(t="png"),this.staticMode&&this.container.appendChild(n),this.glplot.redraw();var e=this.glplot.gl,r=e.drawingBufferWidth,a=e.drawingBufferHeight;e.bindFramebuffer(e.FRAMEBUFFER,null);var i=new Uint8Array(r*a*4);e.readPixels(0,0,r,a,e.RGBA,e.UNSIGNED_BYTE,i);for(var o=0,s=a-1;o<s;++o,--s)for(var l=0;l<r;++l)for(var c=0;c<4;++c){var u=i[4*(r*o+l)+c];i[4*(r*o+l)+c]=i[4*(r*s+l)+c],i[4*(r*s+l)+c]=u}var h=document.createElement("canvas");h.width=r,h.height=a;var f,p=h.getContext("2d"),d=p.createImageData(r,a);switch(d.data.set(i),p.putImageData(d,0,0),t){case"jpeg":f=h.toDataURL("image/jpeg");break;case"webp":f=h.toDataURL("image/webp");break;default:f=h.toDataURL("image/png")}return this.staticMode&&this.container.removeChild(n),f},w.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[k[t]];f.setConvert(e,this.fullLayout),e.setScale=h.noop}},w.make4thDimension=function(){var t=this.graphDiv._fullLayout;this.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},f.setConvert(this.mockAxis,t)},e.exports=_},{"../../components/fx":629,"../../lib":716,"../../lib/show_no_webgl_msg":737,"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"../../registry":845,"./layout/convert":808,"./layout/spikes":811,"./layout/tick_marks":812,"./project":813,"gl-plot3d":292,"has-passive-events":412,"webgl-context":554}],815:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){n=n||t.length;for(var a=new Array(n),i=0;i<n;i++)a[i]=[t[i],e[i],r[i]];return a}},{}],816:[function(t,e,r){"use strict";var n=t("./font_attributes"),a=t("./animation_attributes"),i=t("../components/color/attributes"),o=t("./pad_attributes"),s=t("../lib/extend").extendFlat,l=n({editType:"calc"});l.family.dflt='"Open Sans", verdana, arial, sans-serif',l.size.dflt=12,l.color.dflt=i.defaultLine,e.exports={font:l,title:{text:{valType:"string",editType:"layoutstyle"},font:n({editType:"layoutstyle"}),xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:s(o({editType:"layoutstyle"}),{}),editType:"layoutstyle"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},paper_bgcolor:{valType:"color",dflt:i.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:i.background,editType:"layoutstyle"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:i.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},modebar:{orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"modebar"},meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:s({},a.transition,{editType:"none"}),_deprecated:{title:{valType:"string",editType:"layoutstyle"},titlefont:n({editType:"layoutstyle"})}}},{"../components/color/attributes":590,"../lib/extend":707,"./animation_attributes":759,"./font_attributes":790,"./pad_attributes":824}],817:[function(t,e,r){"use strict";var n={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:'<a href="http://www.openstreetmap.org/about/" target="_blank">\xa9 OpenStreetMap</a>',tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}]},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}]},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}]},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:'<a href="https://carto.com/" target="_blank">\xa9 CARTO</a>',tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}]},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}]},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/toner/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}]},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> | Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://creativecommons.org/licenses/by-sa/3.0">CC BY SA</a>.',tiles:["https://stamen-tiles.a.ssl.fastly.net/watercolor/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}]}},a=Object.keys(n);e.exports={requiredVersion:"1.3.2",styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:n,styleValuesNonMapbox:a,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install mapbox-gl@1.3.2."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:","  Plotly.plot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",a.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},{}],818:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t.split(" "),a=r[0],i=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(a){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(i){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},{"../../lib":716}],819:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("../../lib"),i=t("../../plots/get_data").getSubplotCalcData,o=t("../../constants/xmlns_namespaces"),s=t("d3"),l=t("../../components/drawing"),c=t("../../lib/svg_text_utils"),u=t("./mapbox"),h=r.constants=t("./constants");function f(t){return"string"==typeof t&&(-1!==h.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://"))}r.name="mapbox",r.attr="subplot",r.idRoot="mapbox",r.idRegex=r.attrRegex=a.counterRegex("mapbox"),r.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){var e=t._fullLayout,r=t.calcdata,o=e._subplots.mapbox;if(n.version!==h.requiredVersion)throw new Error(h.wrongVersionErrorMsg);var s=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],i=[],o=!1,s=!1,l=0;l<e.length;l++){var c=r[e[l]],u=c.accesstoken;f(c.style)&&(u?a.pushUnique(n,u):(f(c._input.style)&&(a.error("Uses Mapbox map style, but did not set an access token."),o=!0),s=!0)),u&&a.pushUnique(i,u)}if(s){var p=o?h.noAccessTokenErrorMsg:h.missingStyleErrorMsg;throw new Error(p)}return n.length?(n.length>1&&a.warn(h.multipleTokensErrorMsg),n[0]):(i.length&&a.log(["Listed mapbox access token(s)",i.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,o);n.accessToken=s;for(var l=0;l<o.length;l++){var c=o[l],p=i(r,"mapbox",c),d=e[c],g=d._subplot;g||(g=new u(t,c),e[c]._subplot=g),g.viewInitial||(g.viewInitial={center:a.extendFlat({},d.center),zoom:d.zoom,bearing:d.bearing,pitch:d.pitch}),g.plot(p,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.mapbox||[],i=0;i<a.length;i++){var o=a[i];!e[o]&&n[o]._subplot&&n[o]._subplot.destroy()}},r.toSVG=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=e._size,a=0;a<r.length;a++){var i=e[r[a]],u=i.domain,f=i._subplot.toImage("png");e._glimages.append("svg:image").attr({xmlns:o.svg,"xlink:href":f,x:n.l+n.w*u.x[0],y:n.t+n.h*(1-u.y[1]),width:n.w*(u.x[1]-u.x[0]),height:n.h*(u.y[1]-u.y[0]),preserveAspectRatio:"none"});var p=s.select(i._subplot.div);if(!(null===p.select(".mapboxgl-ctrl-logo").node().offsetParent)){var d=e._glimages.append("g");d.attr("transform","translate("+(n.l+n.w*u.x[0]+10)+", "+(n.t+n.h*(1-u.y[0])-31)+")"),d.append("path").attr("d",h.mapboxLogo.path0).style({opacity:.9,fill:"#ffffff","enable-background":"new"}),d.append("path").attr("d",h.mapboxLogo.path1).style("opacity",.35).style("enable-background","new"),d.append("path").attr("d",h.mapboxLogo.path2).style("opacity",.35).style("enable-background","new"),d.append("polygon").attr("points",h.mapboxLogo.polygon).style({opacity:.9,fill:"#ffffff","enable-background":"new"})}var g=p.select(".mapboxgl-ctrl-attrib").text().replace("Improve this map",""),v=e._glimages.append("g"),m=v.append("text");m.text(g).classed("static-attribution",!0).attr({"font-size":12,"font-family":"Arial",color:"rgba(0, 0, 0, 0.75)","text-anchor":"end","data-unformatted":g});var y=l.bBox(m.node()),x=n.w*(u.x[1]-u.x[0]);if(y.width>x/2){var b=g.split("|").join("<br>");m.text(b).attr("data-unformatted",b).call(c.convertToTspans,t),y=l.bBox(m.node())}m.attr("transform","translate(-3, "+(8-y.height)+")"),v.insert("rect",".static-attribution").attr({x:-y.width-6,y:-y.height-3,width:y.width+6,height:y.height+3,fill:"rgba(255, 255, 255, 0.75)"});var _=1;y.width+6>x&&(_=x/(y.width+6));var w=[n.l+n.w*u.x[1],n.t+n.h*(1-u.y[0])];v.attr("transform","translate("+w[0]+","+w[1]+") scale("+_+")")}},r.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots.mapbox,n=0;n<r.length;n++){e[r[n]]._subplot.updateFx(e)}}},{"../../components/drawing":612,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/get_data":799,"./constants":817,"./layout_attributes":821,"./layout_defaults":822,"./mapbox":823,d3:164,"mapbox-gl":427}],820:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./convert_text_opts"),i=t("./constants");function o(t,e){this.subplot=t,this.uid=t.uid+"-"+e,this.index=e,this.idSource="source-"+this.uid,this.idLayer=i.layoutLayerPrefix+this.uid,this.sourceType=null,this.source=null,this.layerType=null,this.below=null,this.visible=!1}var s=o.prototype;function l(t){if(!t.visible)return!1;var e=t.source;if(Array.isArray(e)&&e.length>0){for(var r=0;r<e.length;r++)if("string"!=typeof e[r]||0===e[r].length)return!1;return!0}return n.isPlainObject(e)||"string"==typeof e&&e.length>0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity})}return{layout:e,paint:r}}s.update=function(t){this.visible?this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=l(t)},s.needsNewSource=function(t){return this.sourceType!==t.sourcetype||this.source!==t.source||this.layerType!==t.type},s.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},s.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,l(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates);a[e]=n,t.sourceattribution&&(a.attribution=t.sourceattribution);return a}(t);e.addSource(this.idSource,r)}},s.updateLayer=function(t){var e,r=this.subplot,n=c(t),a=this.subplot.belowLookup["layout-"+this.index];if("traces"===a)for(var o=r.getMapLayers(),s=0;s<o.length;s++){var u=o[s].id;if("string"==typeof u&&0===u.indexOf(i.traceLayerPrefix)){e=u;break}}else e=a;this.removeLayer(),l(t)&&r.addLayer({id:this.idLayer,source:this.idSource,"source-layer":t.sourcelayer||"",type:t.type,minzoom:t.minzoom,maxzoom:t.maxzoom,layout:n.layout,paint:n.paint},e),this.layerType=t.type,this.below=a},s.updateStyle=function(t){if(l(t)){var e=c(t);this.subplot.setOptions(this.idLayer,"setLayoutProperty",e.layout),this.subplot.setOptions(this.idLayer,"setPaintProperty",e.paint)}},s.removeLayer=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer)},s.dispose=function(){var t=this.subplot.map;t.getLayer(this.idLayer)&&t.removeLayer(this.idLayer),t.getSource(this.idSource)&&t.removeSource(this.idSource)},e.exports=function(t,e,r){var n=new o(t,e);return n.update(r),n}},{"../../lib":716,"./constants":817,"./convert_text_opts":818}],821:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color").defaultLine,i=t("../domain").attributes,o=t("../font_attributes"),s=t("../../traces/scatter/attributes").textposition,l=t("../../plot_api/edit_types").overrideAll,c=t("../../plot_api/plot_template").templatedArray,u=t("./constants"),h=o({});h.family.dflt="Open Sans Regular, Arial Unicode MS Regular",(e.exports=l({_arrayAttrRegexps:[n.counterRegex("mapbox",".layers",!0)],domain:i({name:"mapbox"}),accesstoken:{valType:"string",noBlank:!0,strict:!0},style:{valType:"any",values:u.styleValuesMapbox.concat(u.styleValuesNonMapbox),dflt:u.styleValueDflt},center:{lon:{valType:"number",dflt:0},lat:{valType:"number",dflt:0}},zoom:{valType:"number",dflt:1},bearing:{valType:"number",dflt:0},pitch:{valType:"number",dflt:0},layers:c("layer",{visible:{valType:"boolean",dflt:!0},sourcetype:{valType:"enumerated",values:["geojson","vector","raster","image"],dflt:"geojson"},source:{valType:"any"},sourcelayer:{valType:"string",dflt:""},sourceattribution:{valType:"string"},type:{valType:"enumerated",values:["circle","line","fill","symbol","raster"],dflt:"circle"},coordinates:{valType:"any"},below:{valType:"string"},color:{valType:"color",dflt:a},opacity:{valType:"number",min:0,max:1,dflt:1},minzoom:{valType:"number",min:0,max:24,dflt:0},maxzoom:{valType:"number",min:0,max:24,dflt:24},circle:{radius:{valType:"number",dflt:15}},line:{width:{valType:"number",dflt:2},dash:{valType:"data_array"}},fill:{outlinecolor:{valType:"color",dflt:a}},symbol:{icon:{valType:"string",dflt:"marker"},iconsize:{valType:"number",dflt:10},text:{valType:"string",dflt:""},placement:{valType:"enumerated",values:["point","line","line-center"],dflt:"point"},textfont:h,textposition:n.extendFlat({},s,{arrayOk:!1})}})},"plot","from-root")).uirevision={valType:"any",editType:"none"}},{"../../components/color":591,"../../lib":716,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../traces/scatter/attributes":1118,"../domain":789,"../font_attributes":790,"./constants":817}],822:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../subplot_defaults"),i=t("../array_container_defaults"),o=t("./layout_attributes");function s(t,e,r,n){r("accesstoken",n.accessToken),r("style"),r("center.lon"),r("center.lat"),r("zoom"),r("bearing"),r("pitch"),i(t,e,{name:"layers",handleItemDefaults:l}),e._input=t}function l(t,e){function r(r,a){return n.coerce(t,e,o.layers,r,a)}if(r("visible")){var a,i=r("sourcetype"),s="raster"===i||"image"===i;r("source"),r("sourceattribution"),"vector"===i&&r("sourcelayer"),"image"===i&&r("coordinates"),s&&(a="raster");var l=r("type",a);s&&"raster"!==l&&(l=e.type="raster",n.log("Source types *raster* and *image* must drawn *raster* layer type.")),r("below"),r("color"),r("opacity"),r("minzoom"),r("maxzoom"),"circle"===l&&r("circle.radius"),"line"===l&&(r("line.width"),r("line.dash")),"fill"===l&&r("fill.outlinecolor"),"symbol"===l&&(r("symbol.icon"),r("symbol.iconsize"),r("symbol.text"),n.coerceFont(r,"symbol.textfont"),r("symbol.textposition"),r("symbol.placement"))}}e.exports=function(t,e,r){a(t,e,r,{type:"mapbox",attributes:o,handleDefaults:s,partition:"y",accessToken:e._mapboxAccessToken})}},{"../../lib":716,"../array_container_defaults":760,"../subplot_defaults":839,"./layout_attributes":821}],823:[function(t,e,r){"use strict";var n=t("mapbox-gl"),a=t("d3"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../registry"),l=t("../cartesian/axes"),c=t("../../components/dragelement"),u=t("../cartesian/select").prepSelect,h=t("../cartesian/select").selectOnClick,f=t("./constants"),p=t("./layers");function d(t,e){this.id=e,this.gd=t;var r=t._fullLayout,n=t._context;this.container=r._glcontainer.node(),this.isStatic=n.staticPlot,this.uid=r._uid+"-"+this.id,this.div=null,this.xaxis=null,this.yaxis=null,this.createFramework(r),this.map=null,this.accessToken=null,this.styleObj=null,this.traceHash={},this.layerList=[],this.belowLookup={}}var g=d.prototype;g.plot=function(t,e,r){var n,a=this,i=e[a.id];a.map&&i.accesstoken!==a.accessToken&&(a.map.remove(),a.map=null,a.styleObj=null,a.traceHash=[],a.layerList={}),n=a.map?new Promise(function(r,n){a.updateMap(t,e,r,n)}):new Promise(function(r,n){a.createMap(t,e,r,n)}),r.push(n)},g.createMap=function(t,e,r,a){var i=this,o=e[i.id],s=i.styleObj=m(o.style);i.accessToken=o.accesstoken;var l=i.map=new n.Map({container:i.div,style:s.style,center:x(o.center),zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,interactive:!i.isStatic,preserveDrawingBuffer:i.isStatic,doubleClickZoom:!1,boxZoom:!1,attributionControl:!1}).addControl(new n.AttributionControl({compact:!0}));l._canvas.style.left="0px",l._canvas.style.top="0px",i.rejectOnError(a),i.isStatic||i.initFx(t,e);var c=[];c.push(new Promise(function(t){l.once("load",t)})),c=c.concat(i.fetchMapData(t,e)),Promise.all(c).then(function(){i.fillBelowLookup(t,e),i.updateData(t),i.updateLayout(e),i.resolveOnRender(r)}).catch(a)},g.fetchMapData=function(t){var e=[];function r(t){return new Promise(function(e,r){a.json(t,function(n,a){if(n){delete PlotlyGeoAssets[t];var i=404===n.status?'GeoJSON at URL "'+t+'" does not exist.':"Unexpected error while fetching from "+t;return r(new Error(i))}PlotlyGeoAssets[t]=a,e(a)})})}for(var n=0;n<t.length;n++){var i=t[n][0].trace.geojson;"string"!=typeof i||PlotlyGeoAssets[i]||(PlotlyGeoAssets[i]="pending",e.push(r(i)))}return e},g.updateMap=function(t,e,r,n){var a=this,i=a.map,o=e[this.id];a.rejectOnError(n);var s=[],l=m(o.style);a.styleObj.id!==l.id&&(a.styleObj=l,i.setStyle(l.style),a.traceHash={},s.push(new Promise(function(t){i.once("styledata",t)}))),s=s.concat(a.fetchMapData(t,e)),Promise.all(s).then(function(){a.fillBelowLookup(t,e),a.updateData(t),a.updateLayout(e),a.resolveOnRender(r)}).catch(n)},g.fillBelowLookup=function(t,e){var r,n,a=e[this.id].layers,i=this.belowLookup={},o=!1;for(r=0;r<t.length;r++){var s=t[r][0].trace,l=s._module;"string"==typeof s.below?n=s.below:l.getBelow&&(n=l.getBelow(s,this)),""===n&&(o=!0),i["trace-"+s.uid]=n||""}for(r=0;r<a.length;r++){var c=a[r];n="string"==typeof c.below?c.below:o?"traces":"",i["layout-"+r]=n}var u,h,f={};for(u in i)f[n=i[u]]?f[n].push(u):f[n]=[u];for(n in f){var p=f[n];if(p.length>1)for(r=0;r<p.length;r++)0===(u=p[r]).indexOf("trace-")?(h=u.split("trace-")[1],this.traceHash[h]&&(this.traceHash[h].below=null)):0===u.indexOf("layout-")&&(h=u.split("layout-")[1],this.layerList[h]&&(this.layerList[h].below=null))}};var v={choroplethmapbox:0,densitymapbox:1,scattermapbox:2};function m(t){var e={};return o.isPlainObject(t)?(e.id=t.id,e.style=t):"string"==typeof t?(e.id=t,-1!==f.styleValuesMapbox.indexOf(t)?e.style=y(t):f.stylesNonMapbox[t]?e.style=f.stylesNonMapbox[t]:e.style=t):(e.id=f.styleValueDflt,e.style=y(f.styleValueDflt)),e.transition={duration:0,delay:0},e}function y(t){return f.styleUrlPrefix+t+"-"+f.styleUrlSuffix}function x(t){return[t.lon,t.lat]}g.updateData=function(t){var e,r,n,a,i=this.traceHash,o=t.slice().sort(function(t,e){return v[t[0].trace.type]-v[e[0].trace.type]});for(n=0;n<o.length;n++){var s=o[n],l=!1;(e=i[(r=s[0].trace).uid])&&(e.type===r.type?(e.update(s),l=!0):e.dispose()),!l&&r._module&&(i[r.uid]=r._module.plot(this,s))}var c=Object.keys(i);t:for(n=0;n<c.length;n++){var u=c[n];for(a=0;a<t.length;a++)if(u===(r=t[a][0].trace).uid)continue t;(e=i[u]).dispose(),delete i[u]}},g.updateLayout=function(t){var e=this.map,r=t[this.id];e.setCenter(x(r.center)),e.setZoom(r.zoom),e.setBearing(r.bearing),e.setPitch(r.pitch),this.updateLayers(t),this.updateFramework(t),this.updateFx(t),this.map.resize(),this.gd._context._scrollZoom.mapbox?e.scrollZoom.enable():e.scrollZoom.disable()},g.resolveOnRender=function(t){var e=this.map;e.on("render",function r(){e.loaded()&&(e.off("render",r),setTimeout(t,10))})},g.rejectOnError=function(t){var e=this.map;function r(){t(new Error(f.mapOnErrorMsg))}e.once("error",r),e.once("style.error",r),e.once("source.error",r),e.once("tile.error",r),e.once("layer.error",r)},g.createFramework=function(t){var e=this,r=e.div=document.createElement("div");r.id=e.uid,r.style.position="absolute",e.container.appendChild(r),e.xaxis={_id:"x",c2p:function(t){return e.project(t).x}},e.yaxis={_id:"y",c2p:function(t){return e.project(t).y}},e.updateFramework(t),e.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},l.setConvert(e.mockAxis,t)},g.initFx=function(t,e){var r=this,n=r.gd,a=r.map,o=!1;function l(){i.loneUnhover(e._hoverlayer)}function c(){var t=r.getView();n.emit("plotly_relayouting",r.getViewEdits(t))}a.on("moveend",function(t){if(r.map){var e=n._fullLayout;if(t.originalEvent||o){var a=e[r.id];s.call("_storeDirectGUIEdit",n.layout,e._preGUI,r.getViewEdits(a));var i=r.getView();a._input.center=a.center=i.center,a._input.zoom=a.zoom=i.zoom,a._input.bearing=a.bearing=i.bearing,a._input.pitch=a.pitch=i.pitch,n.emit("plotly_relayout",r.getViewEdits(i))}o=!1,e._rehover&&e._rehover()}}),a.on("wheel",function(){o=!0}),a.on("mousemove",function(t){var e=r.div.getBoundingClientRect();t.clientX=t.point.x+e.left,t.clientY=t.point.y+e.top,t.target.getBoundingClientRect=function(){return e},r.xaxis.p2c=function(){return t.lngLat.lng},r.yaxis.p2c=function(){return t.lngLat.lat},n._fullLayout._rehover=function(){n._fullLayout._hoversubplot===r.id&&n._fullLayout[r.id]&&i.hover(n,t,r.id)},i.hover(n,t,r.id),n._fullLayout._hoversubplot=r.id}),a.on("dragstart",l),a.on("zoomstart",l),a.on("mouseout",function(){n._fullLayout._hoversubplot=null}),a.on("drag",c),a.on("zoom",c),a.on("dblclick",function(){var t=n._fullLayout[r.id];s.call("_storeDirectGUIEdit",n.layout,n._fullLayout._preGUI,r.getViewEdits(t));var e=r.viewInitial;a.setCenter(x(e.center)),a.setZoom(e.zoom),a.setBearing(e.bearing),a.setPitch(e.pitch);var i=r.getView();t._input.center=t.center=i.center,t._input.zoom=t.zoom=i.zoom,t._input.bearing=t.bearing=i.bearing,t._input.pitch=t.pitch=i.pitch,n.emit("plotly_doubleclick",null),n.emit("plotly_relayout",r.getViewEdits(i))}),r.clearSelect=function(){n._fullLayout._zoomlayer.selectAll(".select-outline").remove()},r.onClickInPanFn=function(t){return function(e){var a=n._fullLayout.clickmode;a.indexOf("select")>-1&&h(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),a.indexOf("event")>-1&&i.click(n,e.originalEvent)}}},g.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,i=t.dragmode;a="select"===i?function(t,r){(t.range={})[e.id]=[l([r.xmin,r.ymin]),l([r.xmax,r.ymax])]}:function(t,r,n){(t.lassoPoints={})[e.id]=n.filtered.map(l)};var s=e.dragOptions;e.dragOptions=o.extendDeep(s||{},{element:e.div,gd:n,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),"select"===i||"lasso"===i?(r.dragPan.disable(),r.on("zoomstart",e.clearSelect),e.dragOptions.prepFn=function(t,r,n){u(t,r,n,e.dragOptions,i)},c.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearSelect),e.div.onmousedown=null,e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function l(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},g.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},g.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e<n.length;e++)n[e].dispose();for(n=this.layerList=[],e=0;e<r.length;e++)n.push(p(this,e,r[e]))}else for(e=0;e<r.length;e++)n[e].update(r[e])},g.destroy=function(){this.map&&(this.map.remove(),this.map=null,this.container.removeChild(this.div))},g.toImage=function(){return this.map.stop(),this.map.getCanvas().toDataURL()},g.setOptions=function(t,e,r){for(var n in r)this.map[e](t,n,r[n])},g.getMapLayers=function(){return this.map.getStyle().layers},g.addLayer=function(t,e){var r=this.map;if("string"==typeof e){if(""===e)return void r.addLayer(t,e);for(var n=this.getMapLayers(),a=0;a<n.length;a++)if(e===n[a].id)return void r.addLayer(t,e);o.warn(["Trying to add layer with *below* value",e,"referencing a layer that does not exist","or that does not yet exist."].join(" "))}r.addLayer(t)},g.project=function(t){return this.map.project(new n.LngLat(t[0],t[1]))},g.getView=function(){var t=this.map,e=t.getCenter();return{center:{lon:e.lng,lat:e.lat},zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch()}},g.getViewEdits=function(t){for(var e=this.id,r=["center","zoom","bearing","pitch"],n={},a=0;a<r.length;a++){var i=r[a];n[e+"."+i]=t[i]}return n},e.exports=d},{"../../components/dragelement":609,"../../components/fx":629,"../../lib":716,"../../registry":845,"../cartesian/axes":764,"../cartesian/select":781,"./constants":817,"./layers":820,d3:164,"mapbox-gl":427}],824:[function(t,e,r){"use strict";e.exports=function(t){var e=t.editType;return{t:{valType:"number",dflt:0,editType:e},r:{valType:"number",dflt:0,editType:e},b:{valType:"number",dflt:0,editType:e},l:{valType:"number",dflt:0,editType:e},editType:e}}},{}],825:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../registry"),o=t("../plot_api/plot_schema"),s=t("../plot_api/plot_template"),l=t("../lib"),c=t("../components/color"),u=t("../constants/numerical").BADNUM,h=t("./cartesian/axis_ids"),f=t("./animation_attributes"),p=t("./frame_attributes"),d=t("../plots/get_data").getModuleCalcData,g=l.relinkPrivateKeys,v=l._,m=e.exports={};l.extendFlat(m,i),m.attributes=t("./attributes"),m.attributes.type.values=m.allTypes,m.fontAttrs=t("./font_attributes"),m.layoutAttributes=t("./layout_attributes"),m.fontWeight="normal";var y=m.transformsRegistry,x=t("./command");m.executeAPICommand=x.executeAPICommand,m.computeAPICommandBindings=x.computeAPICommandBindings,m.manageCommandObserver=x.manageCommandObserver,m.hasSimpleAPICommandBindings=x.hasSimpleAPICommandBindings,m.redrawText=function(t){var e=(t=l.getGraphDiv(t))._fullLayout||{};if(!(!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r))return new Promise(function(e){setTimeout(function(){i.getComponentMethod("annotations","draw")(t),i.getComponentMethod("legend","draw")(t),i.getComponentMethod("colorbar","draw")(t),e(m.previousPromises(t))},300)})},m.resize=function(t){return t=l.getGraphDiv(t),new Promise(function(e,r){t&&!l.isHidden(t)||r(new Error("Resize must be passed a displayed plot div element.")),t._redrawTimer&&clearTimeout(t._redrawTimer),t._redrawTimer=setTimeout(function(){if(!t.layout||t.layout.width&&t.layout.height||l.isHidden(t))e(t);else{delete t.layout.width,delete t.layout.height;var r=t.changed;t.autoplay=!0,i.call("relayout",t,{autosize:!0}).then(function(){t.changed=r,e(t)})}},100)})},m.previousPromises=function(t){if((t._promises||[]).length)return Promise.all(t._promises).then(function(){t._promises=[]})},m.addLinks=function(t){if(t._context.showLink||t._context.showSources){var e=t._fullLayout,r=l.ensureSingle(e._paper,"text","js-plot-link-container",function(t){t.style({"font-family":'"Open Sans", Arial, sans-serif',"font-size":"12px",fill:c.defaultLine,"pointer-events":"all"}).each(function(){var t=n.select(this);t.append("tspan").classed("js-link-to-tool",!0),t.append("tspan").classed("js-link-spacer",!0),t.append("tspan").classed("js-sourcelinks",!0)})}),a=r.node(),i={y:e._paper.attr("height")-9};document.body.contains(a)&&a.getComputedTextLength()>=e.width-20?(i["text-anchor"]="start",i.x=5):(i["text-anchor"]="end",i.x=e._paper.attr("width")-7),r.attr(i);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),u=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",function(){m.sendDataToCloud(t)});else{var n=window.location.pathname.split("/"),a=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+a})}}(t,o),s.text(o.text()&&u.text()?" - ":"")}},m.sendDataToCloud=function(t){t.emit("plotly_beforeexport");var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL,r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),a=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return a.append("input").attr({type:"text",name:"data"}).node().value=m.graphJson(t,!1,"keepdata"),a.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1};var b=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],_=["year","month","dayMonth","dayMonthYear"];function w(t,e){var r=t._context.locale,n=!1,a={};function o(t){for(var r=!0,i=0;i<e.length;i++){var o=e[i];a[o]||(t[o]?a[o]=t[o]:r=!1)}r&&(n=!0)}for(var s=0;s<2;s++){for(var l=t._context.locales,c=0;c<2;c++){var u=(l[r]||{}).format;if(u&&(o(u),n))break;l=i.localeRegistry}var h=r.split("-")[0];if(n||h===r)break;r=h}return n||o(i.localeRegistry.en.format),a}function k(t,e){var r={_fullLayout:e},n="x"===t._id.charAt(0),a=t._mainAxis._anchorAxis,i="",o="",s="";if(a&&(s=a._mainAxis._id,i=n?t._id+s:s+t._id),!i||!e._plots[i]){i="";for(var l=t._counterAxes,c=0;c<l.length;c++){var u=l[c],f=n?t._id+u:u+t._id;o||(o=f);var p=h.getFromId(r,u);if(s&&p.overlaying===s){i=f;break}}}return i||o}function T(t){var e=t.transforms;if(Array.isArray(e)&&e.length)for(var r=0;r<e.length;r++){var n=e[r],a=n._module||y[n.type];if(a&&a.makesData)return!0}return!1}function A(t,e,r,n){for(var a=t.transforms,i=[t],o=0;o<a.length;o++){var s=a[o],l=y[s.type];l&&l.transform&&(i=l.transform(i,{transform:s,fullTrace:t,fullData:e,layout:r,fullLayout:n,transformIndex:o}))}return i}function M(t){var e=t.margin;if(!t._size){var r=t._size={l:Math.round(e.l),r:Math.round(e.r),t:Math.round(e.t),b:Math.round(e.b),p:Math.round(e.pad)};r.w=Math.round(t.width)-r.l-r.r,r.h=Math.round(t.height)-r.t-r.b}t._pushmargin||(t._pushmargin={}),t._pushmarginIds||(t._pushmarginIds={})}m.supplyDefaults=function(t,e){var r=e&&e.skipUpdateCalc,a=t._fullLayout||{};if(a._skipDefaults)delete a._skipDefaults;else{var o,s=t._fullLayout={},c=t.layout||{},u=t._fullData||[],h=t._fullData=[],f=t.data||[],p=t.calcdata||[],d=t._context||{};t._transitionData||m.createTransitionData(t),s._dfltTitle={plot:v(t,"Click to enter Plot title"),x:v(t,"Click to enter X axis title"),y:v(t,"Click to enter Y axis title"),colorbar:v(t,"Click to enter Colorscale title"),annotation:v(t,"new text")},s._traceWord=v(t,"trace");var y=w(t,b);if(s._mapboxAccessToken=d.mapboxAccessToken,a._initialAutoSizeIsDone){var x=a.width,k=a.height;m.supplyLayoutGlobalDefaults(c,s,y),c.width||(s.width=x),c.height||(s.height=k),m.sanitizeMargins(s)}else{m.supplyLayoutGlobalDefaults(c,s,y);var T=!c.width||!c.height,A=s.autosize,S=d.autosizable;T&&(A||S)?m.plotAutoSize(t,c,s):T&&m.sanitizeMargins(s),!A&&T&&(c.width=s.width,c.height=s.height)}s._d3locale=function(t,e){return t.decimal=e.charAt(0),t.thousands=e.charAt(1),n.locale(t)}(y,s.separators),s._extraFormat=w(t,_),s._initialAutoSizeIsDone=!0,s._dataLength=f.length,s._modules=[],s._visibleModules=[],s._basePlotModules=[];var E=s._subplots=function(){var t,e,r=i.collectableSubplotTypes,n={};if(!r){r=[];var a=i.subplotsRegistry;for(var o in a){var s=a[o],c=s.attr;if(c&&(r.push(o),Array.isArray(c)))for(e=0;e<c.length;e++)l.pushUnique(r,c[e])}}for(t=0;t<r.length;t++)n[r[t]]=[];return n}(),L=s._splomAxes={x:{},y:{}},C=s._splomSubplots={};s._splomGridDflt={},s._scatterStackOpts={},s._firstScatter={},s._alignmentOpts={},s._colorAxes={},s._requestRangeslider={},s._traceUids=function(t,e){var r,n,a=e.length,i=[];for(r=0;r<t.length;r++){var o=t[r]._fullInput;o!==n&&i.push(o),n=o}var s=i.length,c=new Array(a),u={};function h(t,e){c[e]=t,u[t]=1}function f(t,e){if(t&&"string"==typeof t&&!u[t])return h(t,e),!0}for(r=0;r<a;r++){var p=e[r].uid;"number"==typeof p&&(p=String(p)),f(p,r)||(r<s&&f(i[r].uid,r)||h(l.randstr(u),r))}return c}(u,f),s._globalTransforms=(t._context||{}).globalTransforms,m.supplyDataDefaults(f,h,c,s);var P=Object.keys(L.x),O=Object.keys(L.y);if(P.length>1&&O.length>1){for(i.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o<P.length;o++)l.pushUnique(E.xaxis,P[o]);for(o=0;o<O.length;o++)l.pushUnique(E.yaxis,O[o]);for(var z in C)l.pushUnique(E.cartesian,z)}if(s._has=m._hasPlotType.bind(s),u.length===h.length)for(o=0;o<h.length;o++)g(h[o],u[o]);m.supplyLayoutModuleDefaults(c,s,h,t._transitionData);var I=s._visibleModules,D=[];for(o=0;o<I.length;o++){var R=I[o].crossTraceDefaults;R&&l.pushUnique(D,R)}for(o=0;o<D.length;o++)D[o](h,s);s._hasOnlyLargeSploms=1===s._basePlotModules.length&&"splom"===s._basePlotModules[0].name&&P.length>15&&O.length>15&&0===s.shapes.length&&0===s.images.length,s._hasCartesian=s._has("cartesian"),s._hasGeo=s._has("geo"),s._hasGL3D=s._has("gl3d"),s._hasGL2D=s._has("gl2d"),s._hasTernary=s._has("ternary"),s._hasPie=s._has("pie"),m.linkSubplots(h,s,u,a),m.cleanPlot(h,s,u,a),a._zoomlayer&&!t._dragging&&a._zoomlayer.selectAll(".select-outline").remove(),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var a=0;a<t.length;a++){var i=t[a];i.meta?n[i.index]=i._meta={meta:i.meta}:e.meta&&(i._meta={meta:e.meta}),e.meta&&(i._meta.layout={meta:e.meta})}n.length&&(r||(r=e._meta={}),r.data=n)}(h,s),g(s,a),i.getComponentMethod("colorscale","crossTraceDefaults")(h,s),s._preGUI||(s._preGUI={}),s._tracePreGUI||(s._tracePreGUI={});var F,B=s._tracePreGUI,N={};for(F in B)N[F]="old";for(o=0;o<h.length;o++)N[F=h[o]._fullInput.uid]||(B[F]={}),N[F]="new";for(F in N)"old"===N[F]&&delete B[F];M(s),i.getComponentMethod("rangeslider","makeData")(s),r||p.length!==h.length||m.supplyDefaultsUpdateCalc(p,h)}},m.supplyDefaultsUpdateCalc=function(t,e){for(var r=0;r<e.length;r++){var n=e[r],a=(t[r]||[])[0];if(a&&a.trace){var i=a.trace;if(i._hasCalcTransform){var o,s,c,u=i._arrayAttrs;for(o=0;o<u.length;o++)s=u[o],c=l.nestedProperty(i,s).get().slice(),l.nestedProperty(n,s).set(c)}a.trace=n}}},m.createTransitionData=function(t){t._transitionData||(t._transitionData={}),t._transitionData._frames||(t._transitionData._frames=[]),t._transitionData._frameHash||(t._transitionData._frameHash={}),t._transitionData._counter||(t._transitionData._counter=0),t._transitionData._interruptCallbacks||(t._transitionData._interruptCallbacks=[])},m._hasPlotType=function(t){var e,r=this._basePlotModules||[];for(e=0;e<r.length;e++)if(r[e].name===t)return!0;var n=this._modules||[];for(e=0;e<n.length;e++){var a=n[e].name;if(a===t)return!0;var o=i.modules[a];if(o&&o.categories[t])return!0}return!1},m.cleanPlot=function(t,e,r,n){var a,i,o=n._basePlotModules||[];for(a=0;a<o.length;a++){var s=o[a];s.clean&&s.clean(t,e,r,n)}var l=n._has&&n._has("gl"),c=e._has&&e._has("gl");l&&!c&&void 0!==n._glcontainer&&(n._glcontainer.selectAll(".gl-canvas").remove(),n._glcontainer.selectAll(".no-webgl").remove(),n._glcanvas=null);var u=!!n._infolayer;t:for(a=0;a<r.length;a++){var h=r[a].uid;for(i=0;i<t.length;i++){if(h===t[i].uid)continue t}u&&n._infolayer.select(".cb"+h).remove()}},m.linkSubplots=function(t,e,r,n){var a,o,s=n._plots||{},c=e._plots={},u=e._subplots,f={_fullData:t,_fullLayout:e},p=u.cartesian.concat(u.gl2d||[]);for(a=0;a<p.length;a++){var d,g=p[a],v=s[g],m=h.getFromId(f,g,"x"),y=h.getFromId(f,g,"y");for(v?d=c[g]=v:(d=c[g]={}).id=g,m._counterAxes.push(y._id),y._counterAxes.push(m._id),m._subplotsWith.push(g),y._subplotsWith.push(g),d.xaxis=m,d.yaxis=y,d._hasClipOnAxisFalse=!1,o=0;o<t.length;o++){var x=t[o];if(x.xaxis===d.xaxis._id&&x.yaxis===d.yaxis._id&&!1===x.cliponaxis){d._hasClipOnAxisFalse=!0;break}}}var b,_=h.list(f,null,!0);for(a=0;a<_.length;a++){var w=null;(b=_[a]).overlaying&&(w=h.getFromId(f,b.overlaying))&&w.overlaying&&(b.overlaying=!1,w=null),b._mainAxis=w||b,w&&(b.domain=w.domain.slice()),b._anchorAxis="free"===b.anchor?null:h.getFromId(f,b.anchor)}for(a=0;a<_.length;a++)if((b=_[a])._counterAxes.sort(h.idSort),b._subplotsWith.sort(l.subplotSort),b._mainSubplot=k(b,e),b._counterAxes.length&&(b.spikemode&&-1!==b.spikemode.indexOf("across")||b.automargin&&b.mirror&&"free"!==b.anchor||i.getComponentMethod("rangeslider","isVisible")(b))){var T=1,A=0;for(o=0;o<b._counterAxes.length;o++){var M=h.getFromId(f,b._counterAxes[o]);T=Math.min(T,M.domain[0]),A=Math.max(A,M.domain[1])}T<A&&(b._counterDomainMin=T,b._counterDomainMax=A)}},m.clearExpandedTraceDefaultColors=function(t){var e,r,n;for(r=[],(e=t._module._colorAttrs)||(t._module._colorAttrs=e=[],o.crawl(t._module.attributes,function(t,n,a,i){r[i]=n,r.length=i+1,"color"===t.valType&&void 0===t.dflt&&e.push(r.join("."))})),n=0;n<e.length;n++){l.nestedProperty(t,"_input."+e[n]).get()||l.nestedProperty(t,e[n]).set(null)}},m.supplyDataDefaults=function(t,e,r,n){var a,o,c,u=n._modules,h=n._visibleModules,f=n._basePlotModules,p=0,d=0;function v(t){e.push(t);var r=t._module;r&&(l.pushUnique(u,r),!0===t.visible&&l.pushUnique(h,r),l.pushUnique(f,t._module.basePlotModule),p++,!1!==t._input.visible&&d++)}n._transformModules=[];var y={},x=[],b=(r.template||{}).data||{},_=s.traceTemplater(b);for(a=0;a<t.length;a++){if(c=t[a],(o=_.newTrace(c)).uid=n._traceUids[a],m.supplyTraceDefaults(c,o,d,n,a),o.index=a,o._input=c,o._expandedIndex=p,o.transforms&&o.transforms.length)for(var w=!1!==c.visible&&!1===o.visible,k=A(o,e,r,n),T=0;T<k.length;T++){var M=k[T],S={_template:o._template,type:o.type,uid:o.uid+T};w&&!1===M.visible&&delete M.visible,m.supplyTraceDefaults(M,S,p,n,a),g(S,M),S.index=a,S._input=c,S._fullInput=o,S._expandedIndex=p,S._expandedInput=M,v(S)}else o._fullInput=o,o._expandedInput=o,v(o);i.traceIs(o,"carpetAxis")&&(y[o.carpet]=o),i.traceIs(o,"carpetDependent")&&x.push(a)}for(a=0;a<x.length;a++)if((o=e[x[a]]).visible){var E=y[o.carpet];o._carpet=E,E&&E.visible?(o.xaxis=E.xaxis,o.yaxis=E.yaxis):o.visible=!1}},m.supplyAnimationDefaults=function(t){var e;t=t||{};var r={};function n(e,n){return l.coerce(t||{},r,f,e,n)}if(n("mode"),n("direction"),n("fromcurrent"),Array.isArray(t.frame))for(r.frame=[],e=0;e<t.frame.length;e++)r.frame[e]=m.supplyAnimationFrameDefaults(t.frame[e]||{});else r.frame=m.supplyAnimationFrameDefaults(t.frame||{});if(Array.isArray(t.transition))for(r.transition=[],e=0;e<t.transition.length;e++)r.transition[e]=m.supplyAnimationTransitionDefaults(t.transition[e]||{});else r.transition=m.supplyAnimationTransitionDefaults(t.transition||{});return r},m.supplyAnimationFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,f.frame,r,n)}return r("duration"),r("redraw"),e},m.supplyAnimationTransitionDefaults=function(t){var e={};function r(r,n){return l.coerce(t||{},e,f.transition,r,n)}return r("duration"),r("easing"),e},m.supplyFrameDefaults=function(t){var e={};function r(r,n){return l.coerce(t,e,p,r,n)}return r("group"),r("name"),r("traces"),r("baseframe"),r("data"),r("layout"),e},m.supplyTraceDefaults=function(t,e,r,n,a){var o,s=n.colorway||c.defaults,u=s[r%s.length];function h(r,n){return l.coerce(t,e,m.attributes,r,n)}var f=h("visible");h("type"),h("name",n._traceWord+" "+a),h("uirevision",n.uirevision);var p=m.getModule(e);if(e._module=p,p){var d=p.basePlotModule,g=d.attr,v=d.attributes;if(g&&v){var y=n._subplots,x="";if("gl2d"!==d.name||f){if(Array.isArray(g))for(o=0;o<g.length;o++){var b=g[o],_=l.coerce(t,e,v,b);y[b]&&l.pushUnique(y[b],_),x+=_}else x=l.coerce(t,e,v,g);y[d.name]&&l.pushUnique(y[d.name],x)}}}return f&&(h("customdata"),h("ids"),h("meta"),i.traceIs(e,"showLegend")?(e._dfltShowLegend=!0,h("showlegend"),h("legendgroup")):e._dfltShowLegend=!1,p&&p.supplyDefaults(t,e,u,n),i.traceIs(e,"noOpacity")||h("opacity"),i.traceIs(e,"notLegendIsolatable")&&(e.visible=!!e.visible),i.traceIs(e,"noHover")||(e.hovertemplate||l.coerceHoverinfo(t,e,n),"parcats"!==e.type&&i.getComponentMethod("fx","supplyDefaults")(t,e,u,n)),p&&p.selectPoints&&h("selectedpoints"),m.supplyTransformDefaults(t,e,n)),e},m.hasMakesDataTransform=T,m.supplyTransformDefaults=function(t,e,r){if(e._length||T(t)){var n=r._globalTransforms||[],a=r._transformModules||[];if(Array.isArray(t.transforms)||0!==n.length)for(var i=t.transforms||[],o=n.concat(i),s=e.transforms=[],c=0;c<o.length;c++){var u,h=o[c],f=h.type,p=y[f],d=!(h._module&&h._module===p),g=p&&"function"==typeof p.transform;p||l.warn("Unrecognized transform type "+f+"."),p&&p.supplyDefaults&&(d||g)?((u=p.supplyDefaults(h,e,r,t)).type=f,u._module=p,l.pushUnique(a,p)):u=l.extendFlat({},h),s.push(u)}}},m.supplyLayoutGlobalDefaults=function(t,e,r){function n(r,n){return l.coerce(t,e,m.layoutAttributes,r,n)}var a=t.template;l.isPlainObject(a)&&(e.template=a,e._template=a.layout,e._dataTemplate=a.data);var o=l.coerceFont(n,"font");n("title.text",e._dfltTitle.plot),l.coerceFont(n,"title.font",{family:o.family,size:Math.round(1.4*o.size),color:o.color}),n("title.xref"),n("title.yref"),n("title.x"),n("title.y"),n("title.xanchor"),n("title.yanchor"),n("title.pad.t"),n("title.pad.r"),n("title.pad.b"),n("title.pad.l"),n("autosize",!(t.width&&t.height)),n("width"),n("height"),n("margin.l"),n("margin.r"),n("margin.t"),n("margin.b"),n("margin.pad"),n("margin.autoexpand"),t.width&&t.height&&m.sanitizeMargins(e),i.getComponentMethod("grid","sizeDefaults")(t,e),n("paper_bgcolor"),n("separators",r.decimal+r.thousands),n("hidesources"),n("colorway"),n("datarevision");var s=n("uirevision");n("editrevision",s),n("selectionrevision",s),n("modebar.orientation"),n("modebar.bgcolor",c.addOpacity(e.paper_bgcolor,.5));var u=c.contrast(c.rgb(e.modebar.bgcolor));n("modebar.color",c.addOpacity(u,.3)),n("modebar.activecolor",c.addOpacity(u,.7)),n("modebar.uirevision",s),n("meta"),l.isPlainObject(t.transition)&&(n("transition.duration"),n("transition.easing"),n("transition.ordering")),i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar"),i.getComponentMethod("fx","supplyLayoutGlobalDefaults")(t,e,n)},m.plotAutoSize=function(t,e,r){var n,i,o=t._context||{},s=o.frameMargins,c=l.isPlotDiv(t);if(c&&t.emit("plotly_autosize"),o.fillFrame)n=window.innerWidth,i=window.innerHeight,document.body.style.overflow="hidden";else{var u=c?window.getComputedStyle(t):{};if(n=parseFloat(u.width)||parseFloat(u.maxWidth)||r.width,i=parseFloat(u.height)||parseFloat(u.maxHeight)||r.height,a(s)&&s>0){var h=1-2*s;n=Math.round(h*n),i=Math.round(h*i)}}var f=m.layoutAttributes.width.min,p=m.layoutAttributes.height.min;n<f&&(n=f),i<p&&(i=p);var d=!e.width&&Math.abs(r.width-n)>1,g=!e.height&&Math.abs(r.height-i)>1;(g||d)&&(d&&(r.width=n),g&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),m.sanitizeMargins(r)},m.supplyLayoutModuleDefaults=function(t,e,r,n){var a,o,s,c=i.componentsRegistry,u=e._basePlotModules,h=i.subplotsRegistry.cartesian;for(a in c)(s=c[a]).includeBasePlot&&s.includeBasePlot(t,e);for(var f in u.length||u.push(h),e._has("cartesian")&&(i.getComponentMethod("grid","contentDefaults")(t,e),h.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(l.subplotSort);for(o=0;o<u.length;o++)(s=u[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var p=e._modules;for(o=0;o<p.length;o++)(s=p[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r);var d=e._transformModules;for(o=0;o<d.length;o++)(s=d[o]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r,n);for(a in c)(s=c[a]).supplyLayoutDefaults&&s.supplyLayoutDefaults(t,e,r)},m.purge=function(t){var e=t._fullLayout||{};void 0!==e._glcontainer&&(e._glcontainer.selectAll(".gl-canvas").remove(),e._glcontainer.remove(),e._glcanvas=null),e._modeBar&&e._modeBar.destroy(),t._transitionData&&(t._transitionData._interruptCallbacks&&(t._transitionData._interruptCallbacks.length=0),t._transitionData._animationRaf&&window.cancelAnimationFrame(t._transitionData._animationRaf)),l.clearThrottle(),l.clearResponsive(t),delete t.data,delete t.layout,delete t._fullData,delete t._fullLayout,delete t.calcdata,delete t.framework,delete t.empty,delete t.fid,delete t.undoqueue,delete t.undonum,delete t.autoplay,delete t.changed,delete t._promises,delete t._redrawTimer,delete t._hmlumcount,delete t._hmpixcount,delete t._transitionData,delete t._transitioning,delete t._initialAutoSize,delete t._transitioningWithDuration,delete t._dragging,delete t._dragged,delete t._dragdata,delete t._hoverdata,delete t._snapshotInProgress,delete t._editing,delete t._mouseDownTime,delete t._legendMouseDownTime,t.removeAllListeners&&t.removeAllListeners()},m.style=function(t){var e,r=t._fullLayout._visibleModules,n=[];for(e=0;e<r.length;e++){var a=r[e];a.style&&l.pushUnique(n,a.style)}for(e=0;e<n.length;e++)n[e](t)},m.sanitizeMargins=function(t){if(t&&t.margin){var e,r=t.width,n=t.height,a=t.margin,i=r-(a.l+a.r),o=n-(a.t+a.b);i<0&&(e=(r-1)/(a.l+a.r),a.l=Math.floor(e*a.l),a.r=Math.floor(e*a.r)),o<0&&(e=(n-1)/(a.t+a.b),a.t=Math.floor(e*a.t),a.b=Math.floor(e*a.b))}},m.clearAutoMarginIds=function(t){t._fullLayout._pushmarginIds={}},m.allowAutoMargin=function(t,e){t._fullLayout._pushmarginIds[e]=1},m.autoMargin=function(t,e,r){var n=t._fullLayout,a=n._pushmargin,i=n._pushmarginIds;if(!1!==n.margin.autoexpand){if(r){var o=r.pad;if(void 0===o){var s=n.margin;o=Math.min(12,s.l,s.r,s.t,s.b)}r.l+r.r>.5*n.width&&(l.log("Margin push",e,"is too big in x, dropping"),r.l=r.r=0),r.b+r.t>.5*n.height&&(l.log("Margin push",e,"is too big in y, dropping"),r.b=r.t=0);var c=void 0!==r.xl?r.xl:r.x,u=void 0!==r.xr?r.xr:r.x,h=void 0!==r.yt?r.yt:r.y,f=void 0!==r.yb?r.yb:r.y;a[e]={l:{val:c,size:r.l+o},r:{val:u,size:r.r+o},b:{val:f,size:r.b+o},t:{val:h,size:r.t+o}},i[e]=1}else delete a[e],delete i[e];if(!n._replotting)return m.doAutoMargin(t)}},m.doAutoMargin=function(t){var e=t._fullLayout;e._size||(e._size={}),M(e);var r=e._size,n=e.margin,o=l.extendFlat({},r),s=n.l,c=n.r,u=n.t,h=n.b,f=e.width,p=e.height,d=e._pushmargin,g=e._pushmarginIds;if(!1!==e.margin.autoexpand){for(var v in d)g[v]||delete d[v];for(var y in d.base={l:{val:0,size:s},r:{val:1,size:c},t:{val:1,size:u},b:{val:0,size:h}},d){var x=d[y].l||{},b=d[y].b||{},_=x.val,w=x.size,k=b.val,T=b.size;for(var A in d){if(a(w)&&d[A].r){var S=d[A].r.val,E=d[A].r.size;if(S>_){var L=(w*S+(E-f)*_)/(S-_),C=(E*(1-_)+(w-f)*(1-S))/(S-_);L>=0&&C>=0&&f-(L+C)>0&&L+C>s+c&&(s=L,c=C)}}if(a(T)&&d[A].t){var P=d[A].t.val,O=d[A].t.size;if(P>k){var z=(T*P+(O-p)*k)/(P-k),I=(O*(1-k)+(T-p)*(1-P))/(P-k);z>=0&&I>=0&&p-(I+z)>0&&z+I>h+u&&(h=z,u=I)}}}}}if(r.l=Math.round(s),r.r=Math.round(c),r.t=Math.round(u),r.b=Math.round(h),r.p=Math.round(n.pad),r.w=Math.round(f)-r.l-r.r,r.h=Math.round(p)-r.t-r.b,!e._replotting&&m.didMarginChange(o,r)){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var D=3*(1+Object.keys(g).length);if(e._redrawFromAutoMarginCount<D)return i.call("plot",t);l.warn("Too many auto-margin redraws.")}};var S=["l","r","t","b","p","w","h"];function E(t,e,r){var n=!1;var a=[m.previousPromises,function(){if(t._transitionData)return t._transitioning=!1,function(t){var e=Promise.resolve();if(!t)return e;for(;t.length;)e=e.then(t.shift());return e}(t._transitionData._interruptCallbacks)},r.prepareFn,m.rehover,function(){return t.emit("plotly_transitioning",[]),new Promise(function(a){t._transitioning=!0,e.duration>0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push(function(){n=!0}),r.redraw&&t._transitionData._interruptCallbacks.push(function(){return i.call("redraw",t)}),t._transitionData._interruptCallbacks.push(function(){t.emit("plotly_transitioninterrupted",[])});var o=0,s=0;function l(){return o++,function(){var e;s++,n||s!==o||(e=a,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then(function(){if(r.redraw)return i.call("redraw",t)}).then(function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])}).then(e)))}}r.runFn(l),setTimeout(l())})}],o=l.syncOrAsync(a,t);return o&&o.then||(o=Promise.resolve()),o.then(function(){return t})}m.didMarginChange=function(t,e){for(var r=0;r<S.length;r++){var n=S[r],i=t[n],o=e[n];if(!a(i)||Math.abs(o-i)>1)return!0}return!1},m.graphJson=function(t,e,r,n,a){(a&&e&&!t._fullData||a&&!e&&!t._fullLayout)&&m.supplyDefaults(t);var i=a?t._fullData:t.data,o=a?t._fullLayout:t.layout,s=(t._transitionData||{})._frames;function c(t){if("function"==typeof t)return null;if(l.isPlainObject(t)){var e,n,a={};for(e in t)if("function"!=typeof t[e]&&-1===["_","["].indexOf(e.charAt(0))){if("keepdata"===r){if("src"===e.substr(e.length-3))continue}else if("keepstream"===r){if("string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0&&!l.isPlainObject(t.stream))continue}else if("keepall"!==r&&"string"==typeof(n=t[e+"src"])&&n.indexOf(":")>0)continue;a[e]=c(t[e])}return a}return Array.isArray(t)?t.map(c):l.isTypedArray(t)?l.simpleMap(t,l.identity):l.isJSDate(t)?l.ms2DateTimeLocal(+t):t}var u={data:(i||[]).map(function(t){var r=c(t);return e&&delete r.fit,r})};return e||(u.layout=c(o)),t.framework&&t.framework.isPolar&&(u=t.framework.getConfig()),s&&(u.frames=c(s)),"object"===n?u:JSON.stringify(u)},m.modifyFrames=function(t,e){var r,n,a,i=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r<e.length;r++)switch((n=e[r]).type){case"replace":a=n.value;var s=(i[n.index]||{}).name,l=a.name;i[n.index]=o[l]=a,l!==s&&(delete o[s],o[l]=a);break;case"insert":o[(a=n.value).name]=a,i.splice(n.index,0,a);break;case"delete":delete o[(a=i[n.index]).name],i.splice(n.index,1)}return Promise.resolve()},m.computeFrame=function(t,e){var r,n,a,i,o=t._transitionData._frameHash;if(!e)throw new Error("computeFrame must be given a string frame name");var s=o[e.toString()];if(!s)return!1;for(var l=[s],c=[s.name];s.baseframe&&(s=o[s.baseframe.toString()])&&-1===c.indexOf(s.name);)l.push(s),c.push(s.name);for(var u={};s=l.pop();)if(s.layout&&(u.layout=m.extendLayout(u.layout,s.layout)),s.data){if(u.data||(u.data=[]),!(n=s.traces))for(n=[],r=0;r<s.data.length;r++)n[r]=r;for(u.traces||(u.traces=[]),r=0;r<s.data.length;r++)null!=(a=n[r])&&(-1===(i=u.traces.indexOf(a))&&(i=u.data.length,u.traces[i]=a),u.data[i]=m.extendTrace(u.data[i],s.data[r]))}return u},m.recomputeFrameHash=function(t){for(var e=t._transitionData._frameHash={},r=t._transitionData._frames,n=0;n<r.length;n++){var a=r[n];a&&a.name&&(e[a.name]=a)}},m.extendObjectWithContainers=function(t,e,r){var n,a,i,o,s,c,u,h=l.extendDeepNoArrays({},e||{}),f=l.expandObjectPaths(h),p={};if(r&&r.length)for(i=0;i<r.length;i++)void 0===(a=(n=l.nestedProperty(f,r[i])).get())?l.nestedProperty(p,r[i]).set(null):(n.set(null),l.nestedProperty(p,r[i]).set(a));if(t=l.extendDeepNoArrays(t||{},f),r&&r.length)for(i=0;i<r.length;i++)if(c=l.nestedProperty(p,r[i]).get()){for(u=(s=l.nestedProperty(t,r[i])).get(),Array.isArray(u)||(u=[],s.set(u)),o=0;o<c.length;o++){var d=c[o];u[o]=null===d?null:m.extendObjectWithContainers(u[o],d)}s.set(u)}return t},m.dataArrayContainers=["transforms","dimensions"],m.layoutArrayContainers=i.layoutArrayContainers,m.extendTrace=function(t,e){return m.extendObjectWithContainers(t,e,m.dataArrayContainers)},m.extendLayout=function(t,e){return m.extendObjectWithContainers(t,e,m.layoutArrayContainers)},m.transition=function(t,e,r,n,a,i){var o={redraw:a.redraw},s={},c=[];return o.prepareFn=function(){for(var a=Array.isArray(e)?e.length:0,i=n.slice(0,a),o=0;o<i.length;o++){var u=i[o],h=t._fullData[u]._module;if(h){if(h.animatable){var f=h.basePlotModule.name;s[f]||(s[f]=[]),s[f].push(u)}t.data[i[o]]=m.extendTrace(t.data[i[o]],e[o])}}var p=l.expandObjectPaths(l.extendDeepNoArrays({},r)),d=/^[xy]axis[0-9]*$/;for(var g in p)d.test(g)&&delete p[g].range;m.extendLayout(t.layout,p),delete t.calcdata,m.supplyDefaults(t),m.doCalcdata(t);var v=l.expandObjectPaths(r);if(v){var y=t._fullLayout._plots;for(var x in y){var b=y[x],_=b.xaxis,w=b.yaxis,k=_.range.slice(),T=w.range.slice(),A=null,M=null,S=null,E=null;Array.isArray(v[_._name+".range"])?A=v[_._name+".range"].slice():Array.isArray((v[_._name]||{}).range)&&(A=v[_._name].range.slice()),Array.isArray(v[w._name+".range"])?M=v[w._name+".range"].slice():Array.isArray((v[w._name]||{}).range)&&(M=v[w._name].range.slice()),k&&A&&(_.r2l(k[0])!==_.r2l(A[0])||_.r2l(k[1])!==_.r2l(A[1]))&&(S={xr0:k,xr1:A}),T&&M&&(w.r2l(T[0])!==w.r2l(M[0])||w.r2l(T[1])!==w.r2l(M[1]))&&(E={yr0:T,yr1:M}),(S||E)&&c.push(l.extendFlat({plotinfo:b},S,E))}}return Promise.resolve()},o.runFn=function(e){var n,a,o=t._fullLayout._basePlotModules,u=c.length;if(r)for(a=0;a<o.length;a++)o[a].transitionAxes&&o[a].transitionAxes(t,c,i,e);for(var h in u?((n=l.extendFlat({},i)).duration=0,delete s.cartesian):n=i,s){var f=s[h];t._fullData[f[0]]._module.basePlotModule.plot(t,f,n,e)}},E(t,i,o)},m.transitionFromReact=function(t,e,r,n){var a=t._fullLayout,i=a.transition,o={},s=[];return o.prepareFn=function(){var t=a._plots;for(var i in o.redraw=!1,"some"===e.anim&&(o.redraw=!0),"some"===r.anim&&(o.redraw=!0),t){var c=t[i],u=c.xaxis,h=c.yaxis,f=n[u._name].range.slice(),p=n[h._name].range.slice(),d=u.range.slice(),g=h.range.slice();u.setScale(),h.setScale();var v=null,m=null;u.r2l(f[0])===u.r2l(d[0])&&u.r2l(f[1])===u.r2l(d[1])||(v={xr0:f,xr1:d}),h.r2l(p[0])===h.r2l(g[0])&&h.r2l(p[1])===h.r2l(g[1])||(m={yr0:p,yr1:g}),(v||m)&&s.push(l.extendFlat({plotinfo:c},v,m))}return Promise.resolve()},o.runFn=function(r){for(var n,a,o,c=t._fullData,u=t._fullLayout._basePlotModules,h=[],f=0;f<c.length;f++)h.push(f);function p(){for(var e=0;e<u.length;e++)u[e].transitionAxes&&u[e].transitionAxes(t,s,n,r)}function d(){for(var e=0;e<u.length;e++)u[e].plot(t,o,a,r)}s.length&&e.anim?"traces first"===i.ordering?(n=l.extendFlat({},i,{duration:0}),o=h,a=i,setTimeout(p,i.duration),d()):(n=i,o=null,a=l.extendFlat({},i,{duration:0}),setTimeout(d,n.duration),p()):s.length?(n=i,p()):e.anim&&(o=h,a=i,d())},E(t,i,o)},m.doCalcdata=function(t,e){var r,n,a,s,c=h.list(t),f=t._fullData,p=t._fullLayout,d=new Array(f.length),g=(t.calcdata||[]).slice();for(t.calcdata=d,p._numBoxes=0,p._numViolins=0,p._violinScaleGroupStats={},t._hmpixcount=0,t._hmlumcount=0,p._piecolormap={},p._sunburstcolormap={},p._treemapcolormap={},p._funnelareacolormap={},a=0;a<f.length;a++)Array.isArray(e)&&-1===e.indexOf(a)&&(d[a]=g[a]);for(a=0;a<f.length;a++)(r=f[a])._arrayAttrs=o.findArrayAttributes(r),r._extremes={};var v=p._subplots.polar||[];for(a=0;a<v.length;a++)c.push(p[v[a]].radialaxis,p[v[a]].angularaxis);for(var m in p._colorAxes){var x=p[m];!1!==x.cauto&&(delete x.cmin,delete x.cmax)}var b=!1;function _(e){if(r=f[e],n=r._module,!0===r.visible&&r.transforms){if(n&&n.calc){var a=n.calc(t,r);a[0]&&a[0].t&&a[0].t._scene&&delete a[0].t._scene.dirty}for(s=0;s<r.transforms.length;s++){var i=r.transforms[s];(n=y[i.type])&&n.calcTransform&&(r._hasCalcTransform=!0,b=!0,n.calcTransform(t,r,i))}}}function w(e,a){if(r=f[e],!!(n=r._module).isContainer===a){var i=[];if(!0===r.visible&&0!==r._length){delete r._indexToPoints;var o=r.transforms||[];for(s=o.length-1;s>=0;s--)if(o[s].enabled){r._indexToPoints=o[s]._indexToPoints;break}n&&n.calc&&(i=n.calc(t,r))}Array.isArray(i)&&i[0]||(i=[{x:u,y:u}]),i[0].t||(i[0].t={}),i[0].trace=r,d[e]=i}}for(C(c,f),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)_(a);for(b&&C(c,f),a=0;a<f.length;a++)w(a,!0);for(a=0;a<f.length;a++)w(a,!1);P(t);var k=function(t,e){var r,n,a,o,s,c=[];function u(t,r,n){var a=r._id.charAt(0);if("histogram2dcontour"===t){var i=r._counterAxes[0],o=h.getFromId(e,i),s="x"===a||"x"===i&&"category"===o.type,l="y"===a||"y"===i&&"category"===o.type;return function(t,e){return 0===t||0===e?-1:s&&t===n[e].length-1?-1:l&&e===n.length-1?-1:("y"===a?e:t)-1}}return function(t,e){return"y"===a?e:t}}var f={min:function(t){return l.aggNums(Math.min,null,t)},max:function(t){return l.aggNums(Math.max,null,t)},sum:function(t){return l.aggNums(function(t,e){return t+e},null,t)},total:function(t){return l.aggNums(function(t,e){return t+e},null,t)},mean:function(t){return l.mean(t)},median:function(t){return l.median(t)}};for(r=0;r<t.length;r++){var p=t[r];if("category"===p.type){var d=p.categoryorder.match(L);if(d){var g=d[1],v=d[2],m=[];for(n=0;n<p._categories.length;n++)m.push([p._categories[n],[]]);for(n=0;n<p._traceIndices.length;n++){var y=p._traceIndices[n],x=e._fullData[y],b=p._id.charAt(0);if(!0===x.visible){var _=x.type;i.traceIs(x,"histogram")&&(delete x._xautoBinFinished,delete x._yautoBinFinished);var w=e.calcdata[y];for(a=0;a<w.length;a++){var k,T,A,M=w[a];if("splom"===_){var S=x._axesDim[p._id];if("y"===b){var E=x._diag[S][0];E&&(p=e._fullLayout[h.id2name(E)])}var C=M.trace.dimensions[S].values;for(o=0;o<C.length;o++)for(k=C[o],T=p._categoriesMap[k],s=0;s<M.trace.dimensions.length;s++)if(s!==S){var P=M.trace.dimensions[s];m[T][1].push(P.values[o])}}else if("scattergl"===_){for(o=0;o<M.t.x.length;o++)"x"===b&&(k=M.t.x[o],T=k,A=M.t.y[o]),"y"===b&&(k=M.t.y[o],T=k,A=M.t.x[o]),m[T][1].push(A);M.t&&M.t._scene&&delete M.t._scene.dirty}else if(M.hasOwnProperty("z")){A=M.z;var O=u(x.type,p,A);for(o=0;o<A.length;o++)for(s=0;s<A[o].length;s++)(T=O(s,o))+1&&m[T][1].push(A[o][s])}else for("x"===b?(k=M.p+1?M.p:M.x,A=M.s||M.v||M.y):"y"===b&&(k=M.p+1?M.p:M.y,A=M.s||M.v||M.x),Array.isArray(A)||(A=[A]),o=0;o<A.length;o++)m[k][1].push(A[o])}}}p._categoriesValue=m;var z=[];for(n=0;n<m.length;n++)z.push([m[n][0],f[g](m[n][1])]);z.sort(function(t,e){return t[1]-e[1]}),p._categoriesAggregatedValue=z,p._initialCategories=z.map(function(t){return t[0]}),"descending"===v&&p._initialCategories.reverse(),c=c.concat(p.sortByInitialCategories())}}}return c}(c,t);if(k.length){for(p._numBoxes=0,p._numViolins=0,a=0;a<k.length;a++)w(k[a],!0);for(a=0;a<k.length;a++)w(k[a],!1);P(t)}i.getComponentMethod("fx","calc")(t),i.getComponentMethod("errorbars","calc")(t)};var L=/(total|sum|min|max|mean|median) (ascending|descending)/;function C(t,e){for(var r=0;r<t.length;r++){var n=t[r];n.clearCalc(),"multicategory"===n.type&&n.setupMultiCategory(e)}}function P(t){var e,r,n,a=t._fullLayout,i=a._visibleModules,o={};for(r=0;r<i.length;r++){var s=i[r],c=s.crossTraceCalc;if(c){var u=s.basePlotModule.name;o[u]?l.pushUnique(o[u],c):o[u]=[c]}}for(n in o){var h=o[n],f=a._subplots[n];if(Array.isArray(f))for(e=0;e<f.length;e++){var p=f[e],d="cartesian"===n?a._plots[p]:a[p];for(r=0;r<h.length;r++)h[r](t,d,p)}else for(r=0;r<h.length;r++)h[r](t)}}m.rehover=function(t){t._fullLayout._rehover&&t._fullLayout._rehover()},m.redrag=function(t){t._fullLayout._redrag&&t._fullLayout._redrag()},m.generalUpdatePerTraceModule=function(t,e,r,n){var a,i=e.traceHash,o={};for(a=0;a<r.length;a++){var s=r[a],c=s[0].trace;c.visible&&(o[c.type]=o[c.type]||[],o[c.type].push(s))}for(var u in i)if(!o[u]){var h=i[u][0];h[0].trace.visible=!1,o[u]=[h]}for(var f in o){var p=o[f];p[0][0].trace._module.plot(t,e,l.filterVisible(p),n)}e.traceHash=o},m.plotBasePlot=function(t,e,r,n,a){var o=i.getModule(t),s=d(e.calcdata,o)[0];o.plot(e,s,n,a)},m.cleanBasePlot=function(t,e,r,n,a){var i=a._has&&a._has(t),o=r._has&&r._has(t);i&&!o&&a["_"+t+"layer"].selectAll("g.trace").remove()}},{"../components/color":591,"../constants/numerical":692,"../lib":716,"../plot_api/plot_schema":753,"../plot_api/plot_template":754,"../plots/get_data":799,"../registry":845,"./animation_attributes":759,"./attributes":761,"./cartesian/axis_ids":767,"./command":788,"./font_attributes":790,"./frame_attributes":791,"./layout_attributes":816,d3:164,"fast-isnumeric":227}],826:[function(t,e,r){"use strict";e.exports={attr:"subplot",name:"polar",axisNames:["angularaxis","radialaxis"],axisName2dataArray:{angularaxis:"theta",radialaxis:"r"},layerNames:["draglayer","plotbg","backplot","angular-grid","radial-grid","frontplot","angular-line","radial-line","angular-axis","radial-axis"],radialDragBoxSize:50,angularDragBoxSize:30,cornerLen:25,cornerHalfWidth:2,MINDRAG:8,MINZOOM:20,OFFEDGE:20}},{}],827:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../lib/polygon").tester,i=n.findIndexOfMin,o=n.isAngleInsideSector,s=n.angleDelta,l=n.angleDist;function c(t,e,r,n){var a,i,o=n[0],s=n[1],l=h(Math.sin(e)-Math.sin(t)),c=h(Math.cos(e)-Math.cos(t)),u=Math.tan(r),f=h(1/u),p=l/c,d=s-p*o;return f?l&&c?i=u*(a=d/(u-p)):c?(a=s*f,i=s):(a=o,i=o*u):l&&c?(a=0,i=d):c?(a=0,i=s):a=i=NaN,[a,i]}function u(t,e,r,a){return n.isFullCircle([e,r])?function(t,e){var r,n=e.length,a=new Array(n+1);for(r=0;r<n;r++){var i=e[r];a[r]=[t*Math.cos(i),t*Math.sin(i)]}return a[r]=a[0].slice(),a}(t,a):function(t,e,r,a){var s,u,h=a.length,f=[];function p(e){return[t*Math.cos(e),t*Math.sin(e)]}function d(t,e,r){return c(t,e,r,p(t))}function g(t){return n.mod(t,h)}function v(t){return o(t,[e,r])}var m=i(a,function(t){return v(t)?l(t,e):1/0}),y=d(a[m],a[g(m-1)],e);for(f.push(y),s=m,u=0;u<h;s++,u++){var x=a[g(s)];if(!v(x))break;f.push(p(x))}var b=i(a,function(t){return v(t)?l(t,r):1/0}),_=d(a[b],a[g(b+1)],r);return f.push(_),f.push([0,0]),f.push(f[0].slice()),f}(t,e,r,a)}function h(t){return Math.abs(t)>1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,a=new Array(n),i=0;i<n;i++){var o=t[i];a[i]=[e+o[0],r-o[1]]}return a}e.exports={isPtInsidePolygon:function(t,e,r,n,i){if(!o(e,n))return!1;var s,l;r[0]<r[1]?(s=r[0],l=r[1]):(s=r[1],l=r[0]);var c=a(u(s,n[0],n[1],i)),h=a(u(l,n[0],n[1],i)),f=[t*Math.cos(e),t*Math.sin(e)];return h.contains(f)&&!c.contains(f)},findPolygonOffset:function(t,e,r,n){for(var a=1/0,i=1/0,o=u(t,e,r,n),s=0;s<o.length;s++){var l=o[s];a=Math.min(a,l[0]),i=Math.min(i,-l[1])}return[a,i]},findEnclosingVertexAngles:function(t,e){var r=i(e,function(e){var r=s(e,t);return r>0?r:1/0}),a=n.mod(r+1,e.length);return[e[r],e[a]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var a=-e*r,i=e*e+1,o=2*(e*a-r),s=a*a+r*r-t*t,l=Math.sqrt(o*o-4*i*s),c=(-o+l)/(2*i),u=(-o-l)/(2*i);return[[c,e*c+a+n],[u,e*u+a+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,a,i){return"M"+f(u(t,e,r,n),a,i).join("L")},pathPolygonAnnulus:function(t,e,r,n,a,i,o){var s,l;t<e?(s=t,l=e):(s=e,l=t);var c=f(u(s,r,n,a),i,o);return"M"+f(u(l,r,n,a),i,o).reverse().join("L")+"M"+c.join("L")}}},{"../../lib":716,"../../lib/polygon":728}],828:[function(t,e,r){"use strict";var n=t("../get_data").getSubplotCalcData,a=t("../../lib").counterRegex,i=t("./polar"),o=t("./constants"),s=o.attr,l=o.name,c=a(l),u={};u[s]={valType:"subplotid",dflt:l,editType:"calc"},e.exports={attr:s,name:l,idRoot:l,idRegex:c,attrRegex:c,attributes:u,layoutAttributes:t("./layout_attributes"),supplyLayoutDefaults:t("./layout_defaults"),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,a=e._subplots[l],o=0;o<a.length;o++){var s=a[o],c=n(r,l,s),u=e[s]._subplot;u||(u=i(t,s),e[s]._subplot=u),u.plot(c,e,t._promises)}},clean:function(t,e,r,n){for(var a=n._subplots[l]||[],i=n._has&&n._has("gl"),o=e._has&&e._has("gl"),s=i&&!o,c=0;c<a.length;c++){var u=a[c],h=n[u]._subplot;if(!e[u]&&h)for(var f in h.framework.remove(),h.layers["radial-axis-title"].remove(),h.clipPaths)h.clipPaths[f].remove();s&&h._scene&&(h._scene.destroy(),h._scene=null)}},toSVG:t("../cartesian").toSVG}},{"../../lib":716,"../cartesian":775,"../get_data":799,"./constants":826,"./layout_attributes":829,"./layout_defaults":830,"./polar":837}],829:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../cartesian/layout_attributes"),i=t("../domain").attributes,o=t("../../lib").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=s({color:a.color,showline:o({},a.showline,{dflt:!0}),linecolor:a.linecolor,linewidth:a.linewidth,showgrid:o({},a.showgrid,{dflt:!0}),gridcolor:a.gridcolor,gridwidth:a.gridwidth},"plot","from-root"),c=s({tickmode:a.tickmode,nticks:a.nticks,tick0:a.tick0,dtick:a.dtick,tickvals:a.tickvals,ticktext:a.ticktext,ticks:a.ticks,ticklen:a.ticklen,tickwidth:a.tickwidth,tickcolor:a.tickcolor,showticklabels:a.showticklabels,showtickprefix:a.showtickprefix,tickprefix:a.tickprefix,showticksuffix:a.showticksuffix,ticksuffix:a.ticksuffix,showexponent:a.showexponent,exponentformat:a.exponentformat,separatethousands:a.separatethousands,tickfont:a.tickfont,tickangle:a.tickangle,tickformat:a.tickformat,tickformatstops:a.tickformatstops,layer:a.layer},"plot","from-root"),u={visible:o({},a.visible,{dflt:!0}),type:o({},a.type,{values:["-","linear","log","date","category"]}),autorange:o({},a.autorange,{editType:"plot"}),rangemode:{valType:"enumerated",values:["tozero","nonnegative","normal"],dflt:"tozero",editType:"calc"},range:o({},a.range,{items:[{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}},{valType:"any",editType:"plot",impliedEdits:{"^autorange":!1}}],editType:"plot"}),categoryorder:a.categoryorder,categoryarray:a.categoryarray,angle:{valType:"angle",editType:"plot"},side:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"clockwise",editType:"plot"},title:{text:o({},a.title.text,{editType:"plot",dflt:""}),font:o({},a.title.font,{editType:"plot"}),editType:"plot"},hoverformat:a.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc",_deprecated:{title:a._deprecated.title,titlefont:a._deprecated.titlefont}};o(u,l,c);var h={visible:o({},a.visible,{dflt:!0}),type:{valType:"enumerated",values:["-","linear","category"],dflt:"-",editType:"calc",_noTemplating:!0},categoryorder:a.categoryorder,categoryarray:a.categoryarray,thetaunit:{valType:"enumerated",values:["radians","degrees"],dflt:"degrees",editType:"calc"},period:{valType:"number",editType:"calc",min:0},direction:{valType:"enumerated",values:["counterclockwise","clockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",editType:"calc"},hoverformat:a.hoverformat,uirevision:{valType:"any",editType:"none"},editType:"calc"};o(h,l,c),e.exports={domain:i({name:"polar",editType:"plot"}),sector:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],dflt:[0,360],editType:"plot"},hole:{valType:"number",min:0,max:1,dflt:0,editType:"plot"},bgcolor:{valType:"color",editType:"plot",dflt:n.background},radialaxis:u,angularaxis:h,gridshape:{valType:"enumerated",values:["circular","linear"],dflt:"circular",editType:"plot"},uirevision:{valType:"any",editType:"none"},editType:"calc"}},{"../../components/color/attributes":590,"../../lib":716,"../../plot_api/edit_types":747,"../cartesian/layout_attributes":776,"../domain":789}],830:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../plot_api/plot_template"),o=t("../subplot_defaults"),s=t("../get_data").getSubplotData,l=t("../cartesian/tick_value_defaults"),c=t("../cartesian/tick_mark_defaults"),u=t("../cartesian/tick_label_defaults"),h=t("../cartesian/category_order_defaults"),f=t("../cartesian/line_grid_defaults"),p=t("../cartesian/axis_autotype"),d=t("./layout_attributes"),g=t("./set_convert"),v=t("./constants"),m=v.axisNames;function y(t,e,r,o){var p=r("bgcolor");o.bgColor=a.combine(p,o.paper_bgcolor);var y=r("sector");r("hole");var b,_=s(o.fullData,v.name,o.id),w=o.layoutOut;function k(t,e){return r(b+"."+t,e)}for(var T=0;T<m.length;T++){b=m[T],n.isPlainObject(t[b])||(t[b]={});var A=t[b],M=i.newContainer(e,b);M._id=M._name=b,M._attr=o.id+"."+b,M._traceIndices=_.map(function(t){return t._expandedIndex});var S=v.axisName2dataArray[b],E=x(A,M,k,_,S);h(A,M,k,{axData:_,dataAttr:S});var L,C,P=k("visible");switch(g(M,e,w),k("uirevision",e.uirevision),P&&(C=(L=k("color"))===A.color?L:o.font.color),M._m=1,b){case"radialaxis":var O=k("autorange",!M.isValidRange(A.range));A.autorange=O,!O||"linear"!==E&&"-"!==E||k("rangemode"),"reversed"===O&&(M._m=-1),k("range"),M.cleanRange("range",{dfltRange:[0,1]}),P&&(k("side"),k("angle",y[0]),k("title.text"),n.coerceFont(k,"title.font",{family:o.font.family,size:Math.round(1.2*o.font.size),color:C}));break;case"angularaxis":if("date"===E){n.log("Polar plots do not support date angular axes yet.");for(var z=0;z<_.length;z++)_[z].visible=!1;E=A.type=M.type="linear"}k("linear"===E?"thetaunit":"period");var I=k("direction");k("rotation",{counterclockwise:0,clockwise:90}[I])}if(P)l(A,M,k,M.type),u(A,M,k,M.type,{tickSuffixDflt:"degrees"===M.thetaunit?"\xb0":void 0}),c(A,M,k,{outerTicks:!0}),k("showticklabels")&&(n.coerceFont(k,"tickfont",{family:o.font.family,size:o.font.size,color:C}),k("tickangle"),k("tickformat")),f(A,M,k,{dfltColor:L,bgColor:o.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:d[b]}),k("layer");"category"!==E&&k("hoverformat"),M._input=A}"category"===e.angularaxis.type&&r("gridshape")}function x(t,e,r,n,a){if("-"===r("type")){for(var i,o=0;o<n.length;o++)if(n[o].visible){i=n[o];break}i&&i[a]&&(e.type=p(i[a],"gregorian")),"-"===e.type?e.type="linear":t.type=e.type}return e.type}e.exports=function(t,e,r){o(t,e,r,{type:v.name,attributes:d,handleDefaults:y,font:e.font,paper_bgcolor:e.paper_bgcolor,fullData:r,layoutOut:e})}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../cartesian/axis_autotype":765,"../cartesian/category_order_defaults":768,"../cartesian/line_grid_defaults":778,"../cartesian/tick_label_defaults":783,"../cartesian/tick_mark_defaults":784,"../cartesian/tick_value_defaults":785,"../get_data":799,"../subplot_defaults":839,"./constants":826,"./layout_attributes":829,"./set_convert":838}],831:[function(t,e,r){"use strict";var n=t("../../../traces/scatter/attributes"),a=n.marker,i=t("../../../lib/extend").extendFlat;["Area traces are deprecated!","Please switch to the *barpolar* trace type."].join(" ");e.exports={r:i({},n.r,{}),t:i({},n.t,{}),marker:{color:i({},a.color,{}),size:i({},a.size,{}),symbol:i({},a.symbol,{}),opacity:i({},a.opacity,{}),editType:"calc"}}},{"../../../lib/extend":707,"../../../traces/scatter/attributes":1118}],832:[function(t,e,r){"use strict";var n=t("../../cartesian/layout_attributes"),a=t("../../../lib/extend").extendFlat,i=t("../../../plot_api/edit_types").overrideAll,o=["Legacy polar charts are deprecated!","Please switch to *polar* subplots."].join(" "),s=a({},n.domain,{});function l(t,e){return a({},e,{showline:{valType:"boolean"},showticklabels:{valType:"boolean"},tickorientation:{valType:"enumerated",values:["horizontal","vertical"]},ticklen:{valType:"number",min:0},tickcolor:{valType:"color"},ticksuffix:{valType:"string"},endpadding:{valType:"number",description:o},visible:{valType:"boolean"}})}e.exports=i({radialaxis:l(0,{range:{valType:"info_array",items:[{valType:"number"},{valType:"number"}]},domain:s,orientation:{valType:"number"}}),angularaxis:l(0,{range:{valType:"info_array",items:[{valType:"number",dflt:0},{valType:"number",dflt:360}]},domain:s}),layout:{direction:{valType:"enumerated",values:["clockwise","counterclockwise"]},orientation:{valType:"angle"}}},"plot","nested")},{"../../../lib/extend":707,"../../../plot_api/edit_types":747,"../../cartesian/layout_attributes":776}],833:[function(t,e,r){"use strict";(e.exports=t("./micropolar")).manager=t("./micropolar_manager")},{"./micropolar":834,"./micropolar_manager":835}],834:[function(t,e,r){var n=t("d3"),a=t("../../../lib").extendDeepAll,i=t("../../../constants/alignment").MID_SHIFT,o=e.exports={version:"0.2.2"};o.Axis=function(){var t,e,r,s,l={data:[],layout:{}},c={},u={},h=n.dispatch("hover"),f={};return f.render=function(c){return function(c){e=c||e;var h=l.data,f=l.layout;("string"==typeof e||e.nodeName)&&(e=n.select(e)),e.datum(h).each(function(e,l){var c=e.slice();u={data:o.util.cloneJson(c),layout:o.util.cloneJson(f)};var h=0;c.forEach(function(t,e){t.color||(t.color=f.defaultColorRange[h],h=(h+1)%f.defaultColorRange.length),t.strokeColor||(t.strokeColor="LinePlot"===t.geometry?t.color:n.rgb(t.color).darker().toString()),u.data[e].color=t.color,u.data[e].strokeColor=t.strokeColor,u.data[e].strokeDash=t.strokeDash,u.data[e].strokeSize=t.strokeSize});var p=c.filter(function(t,e){var r=t.visible;return"undefined"==typeof r||!0===r}),d=!1,g=p.map(function(t,e){return d=d||"undefined"!=typeof t.groupId,t});if(d){var v=n.nest().key(function(t,e){return"undefined"!=typeof t.groupId?t.groupId:"unstacked"}).entries(g),m=[],y=v.map(function(t,e){if("unstacked"===t.key)return t.values;var r=t.values[0].r.map(function(t,e){return 0});return t.values.forEach(function(t,e,n){t.yStack=[r],m.push(r),r=o.util.sumArrays(t.r,r)}),t.values});p=n.merge(y)}p.forEach(function(t,e){t.t=Array.isArray(t.t[0])?t.t:[t.t],t.r=Array.isArray(t.r[0])?t.r:[t.r]});var x=Math.min(f.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2;x=Math.max(10,x);var b,_=[f.margin.left+x,f.margin.top+x];b=d?[0,n.max(o.util.sumArrays(o.util.arrayLast(p).r[0],o.util.arrayLast(m)))]:n.extent(o.util.flattenArray(p.map(function(t,e){return t.r}))),f.radialAxis.domain!=o.DATAEXTENT&&(b[0]=0),r=n.scale.linear().domain(f.radialAxis.domain!=o.DATAEXTENT&&f.radialAxis.domain?f.radialAxis.domain:b).range([0,x]),u.layout.radialAxis.domain=r.domain();var w,k=o.util.flattenArray(p.map(function(t,e){return t.t})),T="string"==typeof k[0];T&&(k=o.util.deduplicate(k),w=k.slice(),k=n.range(k.length),p=p.map(function(t,e){var r=t;return t.t=[k],d&&(r.yStack=t.yStack),r}));var A=p.filter(function(t,e){return"LinePlot"===t.geometry||"DotPlot"===t.geometry}).length===p.length,M=null===f.needsEndSpacing?T||!A:f.needsEndSpacing,S=f.angularAxis.domain&&f.angularAxis.domain!=o.DATAEXTENT&&!T&&f.angularAxis.domain[0]>=0?f.angularAxis.domain:n.extent(k),E=Math.abs(k[1]-k[0]);A&&!T&&(E=0);var L=S.slice();M&&T&&(L[1]+=E);var C=f.angularAxis.ticksCount||4;C>8&&(C=C/(C/8)+C%8),f.angularAxis.ticksStep&&(C=(L[1]-L[0])/C);var P=f.angularAxis.ticksStep||(L[1]-L[0])/(C*(f.minorTicks+1));w&&(P=Math.max(Math.round(P),1)),L[2]||(L[2]=P);var O=n.range.apply(this,L);if(O=O.map(function(t,e){return parseFloat(t.toPrecision(12))}),s=n.scale.linear().domain(L.slice(0,2)).range("clockwise"===f.direction?[0,360]:[360,0]),u.layout.angularAxis.domain=s.domain(),u.layout.angularAxis.endPadding=M?E:0,"undefined"==typeof(t=n.select(this).select("svg.chart-root"))||t.empty()){var z=(new DOMParser).parseFromString("<svg xmlns='http://www.w3.org/2000/svg' class='chart-root'>' + '<g class='outer-group'>' + '<g class='chart-group'>' + '<circle class='background-circle'></circle>' + '<g class='geometry-group'></g>' + '<g class='radial axis-group'>' + '<circle class='outside-circle'></circle>' + '</g>' + '<g class='angular axis-group'></g>' + '<g class='guides-group'><line></line><circle r='0'></circle></g>' + '</g>' + '<g class='legend-group'></g>' + '<g class='tooltips-group'></g>' + '<g class='title-group'><text></text></g>' + '</g>' + '</svg>","application/xml"),I=this.appendChild(this.ownerDocument.importNode(z.documentElement,!0));t=n.select(I)}t.select(".guides-group").style({"pointer-events":"none"}),t.select(".angular.axis-group").style({"pointer-events":"none"}),t.select(".radial.axis-group").style({"pointer-events":"none"});var D,R=t.select(".chart-group"),F={fill:"none",stroke:f.tickColor},B={"font-size":f.font.size,"font-family":f.font.family,fill:f.font.color,"text-shadow":["-1px 0px","1px -1px","-1px 1px","1px 1px"].map(function(t,e){return" "+t+" 0 "+f.font.outlineColor}).join(",")};if(f.showLegend){D=t.select(".legend-group").attr({transform:"translate("+[x,f.margin.top]+")"}).style({display:"block"});var N=p.map(function(t,e){var r=o.util.cloneJson(t);return r.symbol="DotPlot"===t.geometry?t.dotType||"circle":"LinePlot"!=t.geometry?"square":"line",r.visibleInLegend="undefined"==typeof t.visibleInLegend||t.visibleInLegend,r.color="LinePlot"===t.geometry?t.strokeColor:t.color,r});o.Legend().config({data:p.map(function(t,e){return t.name||"Element"+e}),legendConfig:a({},o.Legend.defaultConfig().legendConfig,{container:D,elements:N,reverseOrder:f.legend.reverseOrder})})();var j=D.node().getBBox();x=Math.min(f.width-j.width-f.margin.left-f.margin.right,f.height-f.margin.top-f.margin.bottom)/2,x=Math.max(10,x),_=[f.margin.left+x,f.margin.top+x],r.range([0,x]),u.layout.radialAxis.domain=r.domain(),D.attr("transform","translate("+[_[0]+x,_[1]-x]+")")}else D=t.select(".legend-group").style({display:"none"});t.attr({width:f.width,height:f.height}).style({opacity:f.opacity}),R.attr("transform","translate("+_+")").style({cursor:"crosshair"});var V=[(f.width-(f.margin.left+f.margin.right+2*x+(j?j.width:0)))/2,(f.height-(f.margin.top+f.margin.bottom+2*x))/2];if(V[0]=Math.max(0,V[0]),V[1]=Math.max(0,V[1]),t.select(".outer-group").attr("transform","translate("+V+")"),f.title&&f.title.text){var U=t.select("g.title-group text").style(B).text(f.title.text),q=U.node().getBBox();U.attr({x:_[0]-q.width/2,y:_[1]-x-20})}var H=t.select(".radial.axis-group");if(f.radialAxis.gridLinesVisible){var G=H.selectAll("circle.grid-circle").data(r.ticks(5));G.enter().append("circle").attr({class:"grid-circle"}).style(F),G.attr("r",r),G.exit().remove()}H.select("circle.outside-circle").attr({r:x}).style(F);var Y=t.select("circle.background-circle").attr({r:x}).style({fill:f.backgroundColor,stroke:f.stroke});function W(t,e){return s(t)%360+f.orientation}if(f.radialAxis.visible){var X=n.svg.axis().scale(r).ticks(5).tickSize(5);H.call(X).attr({transform:"rotate("+f.radialAxis.orientation+")"}),H.selectAll(".domain").style(F),H.selectAll("g>text").text(function(t,e){return this.textContent+f.radialAxis.ticksSuffix}).style(B).style({"text-anchor":"start"}).attr({x:0,y:0,dx:0,dy:0,transform:function(t,e){return"horizontal"===f.radialAxis.tickOrientation?"rotate("+-f.radialAxis.orientation+") translate("+[0,B["font-size"]]+")":"translate("+[0,B["font-size"]]+")"}}),H.selectAll("g>line").style({stroke:"black"})}var Z=t.select(".angular.axis-group").selectAll("g.angular-tick").data(O),J=Z.enter().append("g").classed("angular-tick",!0);Z.attr({transform:function(t,e){return"rotate("+W(t)+")"}}).style({display:f.angularAxis.visible?"block":"none"}),Z.exit().remove(),J.append("line").classed("grid-line",!0).classed("major",function(t,e){return e%(f.minorTicks+1)==0}).classed("minor",function(t,e){return!(e%(f.minorTicks+1)==0)}).style(F),J.selectAll(".minor").style({stroke:f.minorTickColor}),Z.select("line.grid-line").attr({x1:f.tickLength?x-f.tickLength:0,x2:x}).style({display:f.angularAxis.gridLinesVisible?"block":"none"}),J.append("text").classed("axis-text",!0).style(B);var K=Z.select("text.axis-text").attr({x:x+f.labelOffset,dy:i+"em",transform:function(t,e){var r=W(t),n=x+f.labelOffset,a=f.angularAxis.tickOrientation;return"horizontal"==a?"rotate("+-r+" "+n+" 0)":"radial"==a?r<270&&r>90?"rotate(180 "+n+" 0)":null:"rotate("+(r<=180&&r>0?-90:90)+" "+n+" 0)"}}).style({"text-anchor":"middle",display:f.angularAxis.labelsVisible?"block":"none"}).text(function(t,e){return e%(f.minorTicks+1)!=0?"":w?w[t]+f.angularAxis.ticksSuffix:t+f.angularAxis.ticksSuffix}).style(B);f.angularAxis.rewriteTicks&&K.text(function(t,e){return e%(f.minorTicks+1)!=0?"":f.angularAxis.rewriteTicks(this.textContent,e)});var Q=n.max(R.selectAll(".angular-tick text")[0].map(function(t,e){return t.getCTM().e+t.getBBox().width}));D.attr({transform:"translate("+[x+Q,f.margin.top]+")"});var $=t.select("g.geometry-group").selectAll("g").size()>0,tt=t.select("g.geometry-group").selectAll("g.geometry").data(p);if(tt.enter().append("g").attr({class:function(t,e){return"geometry geometry"+e}}),tt.exit().remove(),p[0]||$){var et=[];p.forEach(function(t,e){var n={};n.radialScale=r,n.angularScale=s,n.container=tt.filter(function(t,r){return r==e}),n.geometry=t.geometry,n.orientation=f.orientation,n.direction=f.direction,n.index=e,et.push({data:t,geometryConfig:n})});var rt=n.nest().key(function(t,e){return"undefined"!=typeof t.data.groupId||"unstacked"}).entries(et),nt=[];rt.forEach(function(t,e){"unstacked"===t.key?nt=nt.concat(t.values.map(function(t,e){return[t]})):nt.push(t.values)}),nt.forEach(function(t,e){var r;r=Array.isArray(t)?t[0].geometryConfig.geometry:t.geometryConfig.geometry;var n=t.map(function(t,e){return a(o[r].defaultConfig(),t)});o[r]().config(n)()})}var at,it,ot=t.select(".guides-group"),st=t.select(".tooltips-group"),lt=o.tooltipPanel().config({container:st,fontSize:8})(),ct=o.tooltipPanel().config({container:st,fontSize:8})(),ut=o.tooltipPanel().config({container:st,hasTick:!0})();if(!T){var ht=ot.select("line").attr({x1:0,y1:0,y2:0}).style({stroke:"grey","pointer-events":"none"});R.on("mousemove.angular-guide",function(t,e){var r=o.util.getMousePos(Y).angle;ht.attr({x2:-x,transform:"rotate("+r+")"}).style({opacity:.5});var n=(r+180+360-f.orientation)%360;at=s.invert(n);var a=o.util.convertToCartesian(x+12,r+180);lt.text(o.util.round(at)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.angular-guide",function(t,e){ot.select("line").style({opacity:0})})}var ft=ot.select("circle").style({stroke:"grey",fill:"none"});R.on("mousemove.radial-guide",function(t,e){var n=o.util.getMousePos(Y).radius;ft.attr({r:n}).style({opacity:.5}),it=r.invert(o.util.getMousePos(Y).radius);var a=o.util.convertToCartesian(n,f.radialAxis.orientation);ct.text(o.util.round(it)).move([a[0]+_[0],a[1]+_[1]])}).on("mouseout.radial-guide",function(t,e){ft.style({opacity:0}),ut.hide(),lt.hide(),ct.hide()}),t.selectAll(".geometry-group .mark").on("mouseover.tooltip",function(e,r){var a=n.select(this),i=this.style.fill,s="black",l=this.style.opacity||1;if(a.attr({"data-opacity":l}),i&&"none"!==i){a.attr({"data-fill":i}),s=n.hsl(i).darker().toString(),a.style({fill:s,opacity:1});var c={t:o.util.round(e[0]),r:o.util.round(e[1])};T&&(c.t=w[e[0]]);var u="t: "+c.t+", r: "+c.r,h=this.getBoundingClientRect(),f=t.node().getBoundingClientRect(),p=[h.left+h.width/2-V[0]-f.left,h.top+h.height/2-V[1]-f.top];ut.config({color:s}).text(u),ut.move(p)}else i=this.style.stroke||"black",a.attr({"data-stroke":i}),s=n.hsl(i).darker().toString(),a.style({stroke:s,opacity:1})}).on("mousemove.tooltip",function(t,e){if(0!=n.event.which)return!1;n.select(this).attr("data-fill")&&ut.show()}).on("mouseout.tooltip",function(t,e){ut.hide();var r=n.select(this),a=r.attr("data-fill");a?r.style({fill:a,opacity:r.attr("data-opacity")}):r.style({stroke:r.attr("data-stroke"),opacity:r.attr("data-opacity")})})})}(c),this},f.config=function(t){if(!arguments.length)return l;var e=o.util.cloneJson(t);return e.data.forEach(function(t,e){l.data[e]||(l.data[e]={}),a(l.data[e],o.Axis.defaultConfig().data[0]),a(l.data[e],t)}),a(l.layout,o.Axis.defaultConfig().layout),a(l.layout,e.layout),this},f.getLiveConfig=function(){return u},f.getinputConfig=function(){return c},f.radialScale=function(t){return r},f.angularScale=function(t){return s},f.svg=function(){return t},n.rebind(f,h,"on"),f},o.Axis.defaultConfig=function(t,e){return{data:[{t:[1,2,3,4],r:[10,11,12,13],name:"Line1",geometry:"LinePlot",color:null,strokeDash:"solid",strokeColor:null,strokeSize:"1",visibleInLegend:!0,opacity:1}],layout:{defaultColorRange:n.scale.category10().range(),title:null,height:450,width:500,margin:{top:40,right:40,bottom:40,left:40},font:{size:12,color:"gray",outlineColor:"white",family:"Tahoma, sans-serif"},direction:"clockwise",orientation:0,labelOffset:10,radialAxis:{domain:null,orientation:-45,ticksSuffix:"",visible:!0,gridLinesVisible:!0,tickOrientation:"horizontal",rewriteTicks:null},angularAxis:{domain:[0,360],ticksSuffix:"",visible:!0,gridLinesVisible:!0,labelsVisible:!0,tickOrientation:"horizontal",rewriteTicks:null,ticksCount:null,ticksStep:null},minorTicks:0,tickLength:null,tickColor:"silver",minorTickColor:"#eee",backgroundColor:"none",needsEndSpacing:null,showLegend:!0,legend:{reverseOrder:!1},opacity:1}}},o.util={},o.DATAEXTENT="dataExtent",o.AREA="AreaChart",o.LINE="LinePlot",o.DOT="DotPlot",o.BAR="BarChart",o.util._override=function(t,e){for(var r in t)r in e&&(e[r]=t[r])},o.util._extend=function(t,e){for(var r in t)e[r]=t[r]},o.util._rndSnd=function(){return 2*Math.random()-1+(2*Math.random()-1)+(2*Math.random()-1)},o.util.dataFromEquation2=function(t,e){var r=e||6;return n.range(0,360+r,r).map(function(e,r){var n=e*Math.PI/180;return[e,t(n)]})},o.util.dataFromEquation=function(t,e,r){var a=e||6,i=[],o=[];n.range(0,360+a,a).forEach(function(e,r){var n=e*Math.PI/180,a=t(n);i.push(e),o.push(a)});var s={t:i,r:o};return r&&(s.name=r),s},o.util.ensureArray=function(t,e){if("undefined"==typeof t)return null;var r=[].concat(t);return n.range(e).map(function(t,e){return r[e]||r[0]})},o.util.fillArrays=function(t,e,r){return e.forEach(function(e,n){t[e]=o.util.ensureArray(t[e],r)}),t},o.util.cloneJson=function(t){return JSON.parse(JSON.stringify(t))},o.util.validateKeys=function(t,e){"string"==typeof e&&(e=e.split("."));var r=e.shift();return t[r]&&(!e.length||objHasKeys(t[r],e))},o.util.sumArrays=function(t,e){return n.zip(t,e).map(function(t,e){return n.sum(t)})},o.util.arrayLast=function(t){return t[t.length-1]},o.util.arrayEqual=function(t,e){for(var r=Math.max(t.length,e.length,1);r-- >=0&&t[r]===e[r];);return-2===r},o.util.flattenArray=function(t){for(var e=[];!o.util.arrayEqual(e,t);)e=t,t=[].concat.apply([],t);return t},o.util.deduplicate=function(t){return t.filter(function(t,e,r){return r.indexOf(t)==e})},o.util.convertToCartesian=function(t,e){var r=e*Math.PI/180;return[t*Math.cos(r),t*Math.sin(r)]},o.util.round=function(t,e){var r=e||2,n=Math.pow(10,r);return Math.round(t*n)/n},o.util.getMousePos=function(t){var e=n.mouse(t.node()),r=e[0],a=e[1],i={};return i.x=r,i.y=a,i.pos=e,i.angle=180*(Math.atan2(a,r)+Math.PI)/Math.PI,i.radius=Math.sqrt(r*r+a*a),i},o.util.duplicatesCount=function(t){for(var e,r={},n={},a=0,i=t.length;a<i;a++)(e=t[a])in r?(r[e]++,n[e]=r[e]):r[e]=1;return n},o.util.duplicates=function(t){return Object.keys(o.util.duplicatesCount(t))},o.util.translator=function(t,e,r,n){if(n){var a=r.slice();r=e,e=a}var i=e.reduce(function(t,e){if("undefined"!=typeof t)return t[e]},t);"undefined"!=typeof i&&(e.reduce(function(t,r,n){if("undefined"!=typeof t)return n===e.length-1&&delete t[r],t[r]},t),r.reduce(function(t,e,n){return"undefined"==typeof t[e]&&(t[e]={}),n===r.length-1&&(t[e]=i),t[e]},t))},o.PolyChart=function(){var t=[o.PolyChart.defaultConfig()],e=n.dispatch("hover"),r={solid:"none",dash:[5,2],dot:[2,5]};function i(){var e=t[0].geometryConfig,a=e.container;"string"==typeof a&&(a=n.select(a)),a.datum(t).each(function(t,a){var i=!!t[0].data.yStack,o=t.map(function(t,e){return i?n.zip(t.data.t[0],t.data.r[0],t.data.yStack[0]):n.zip(t.data.t[0],t.data.r[0])}),s=e.angularScale,l=e.radialScale.domain()[0],c={bar:function(r,a,i){var o=t[i].data,l=e.radialScale(r[1])-e.radialScale(0),c=e.radialScale(r[2]||0),u=o.barWidth;n.select(this).attr({class:"mark bar",d:"M"+[[l+c,-u/2],[l+c,u/2],[c,u/2],[c,-u/2]].join("L")+"Z",transform:function(t,r){return"rotate("+(e.orientation+s(t[0]))+")"}})}};c.dot=function(r,a,i){var o=r[2]?[r[0],r[1]+r[2]]:r,s=n.svg.symbol().size(t[i].data.dotSize).type(t[i].data.dotType)(r,a);n.select(this).attr({class:"mark dot",d:s,transform:function(t,r){var n,a,i,s=(n=function(t,r){var n=e.radialScale(t[1]),a=(e.angularScale(t[0])+e.orientation)*Math.PI/180;return{r:n,t:a}}(o),a=n.r*Math.cos(n.t),i=n.r*Math.sin(n.t),{x:a,y:i});return"translate("+[s.x,s.y]+")"}})};var u=n.svg.line.radial().interpolate(t[0].data.lineInterpolation).radius(function(t){return e.radialScale(t[1])}).angle(function(t){return e.angularScale(t[0])*Math.PI/180});c.line=function(r,a,i){var s=r[2]?o[i].map(function(t,e){return[t[0],t[1]+t[2]]}):o[i];if(n.select(this).each(c.dot).style({opacity:function(e,r){return+t[i].data.dotVisible},fill:d.stroke(r,a,i)}).attr({class:"mark dot"}),!(a>0)){var l=n.select(this.parentNode).selectAll("path.line").data([0]);l.enter().insert("path"),l.attr({class:"line",d:u(s),transform:function(t,r){return"rotate("+(e.orientation+90)+")"},"pointer-events":"none"}).style({fill:function(t,e){return d.fill(r,a,i)},"fill-opacity":0,stroke:function(t,e){return d.stroke(r,a,i)},"stroke-width":function(t,e){return d["stroke-width"](r,a,i)},"stroke-dasharray":function(t,e){return d["stroke-dasharray"](r,a,i)},opacity:function(t,e){return d.opacity(r,a,i)},display:function(t,e){return d.display(r,a,i)}})}};var h=e.angularScale.range(),f=Math.abs(h[1]-h[0])/o[0].length*Math.PI/180,p=n.svg.arc().startAngle(function(t){return-f/2}).endAngle(function(t){return f/2}).innerRadius(function(t){return e.radialScale(l+(t[2]||0))}).outerRadius(function(t){return e.radialScale(l+(t[2]||0))+e.radialScale(t[1])});c.arc=function(t,r,a){n.select(this).attr({class:"mark arc",d:p,transform:function(t,r){return"rotate("+(e.orientation+s(t[0])+90)+")"}})};var d={fill:function(e,r,n){return t[n].data.color},stroke:function(e,r,n){return t[n].data.strokeColor},"stroke-width":function(e,r,n){return t[n].data.strokeSize+"px"},"stroke-dasharray":function(e,n,a){return r[t[a].data.strokeDash]},opacity:function(e,r,n){return t[n].data.opacity},display:function(e,r,n){return"undefined"==typeof t[n].data.visible||t[n].data.visible?"block":"none"}},g=n.select(this).selectAll("g.layer").data(o);g.enter().append("g").attr({class:"layer"});var v=g.selectAll("path.mark").data(function(t,e){return t});v.enter().append("path").attr({class:"mark"}),v.style(d).each(c[e.geometryType]),v.exit().remove(),g.exit().remove()})}return i.config=function(e){return arguments.length?(e.forEach(function(e,r){t[r]||(t[r]={}),a(t[r],o.PolyChart.defaultConfig()),a(t[r],e)}),this):t},i.getColorScale=function(){},n.rebind(i,e,"on"),i},o.PolyChart.defaultConfig=function(){return{data:{name:"geom1",t:[[1,2,3,4]],r:[[1,2,3,4]],dotType:"circle",dotSize:64,dotVisible:!1,barWidth:20,color:"#ffa500",strokeSize:1,strokeColor:"silver",strokeDash:"solid",opacity:1,index:0,visible:!0,visibleInLegend:!0},geometryConfig:{geometry:"LinePlot",geometryType:"arc",direction:"clockwise",orientation:0,container:"body",radialScale:null,angularScale:null,colorScale:n.scale.category20()}}},o.BarChart=function(){return o.PolyChart()},o.BarChart.defaultConfig=function(){return{geometryConfig:{geometryType:"bar"}}},o.AreaChart=function(){return o.PolyChart()},o.AreaChart.defaultConfig=function(){return{geometryConfig:{geometryType:"arc"}}},o.DotPlot=function(){return o.PolyChart()},o.DotPlot.defaultConfig=function(){return{geometryConfig:{geometryType:"dot",dotType:"circle"}}},o.LinePlot=function(){return o.PolyChart()},o.LinePlot.defaultConfig=function(){return{geometryConfig:{geometryType:"line"}}},o.Legend=function(){var t=o.Legend.defaultConfig(),e=n.dispatch("hover");function r(){var e=t.legendConfig,i=t.data.map(function(t,r){return[].concat(t).map(function(t,n){var i=a({},e.elements[r]);return i.name=t,i.color=[].concat(e.elements[r].color)[n],i})}),o=n.merge(i);o=o.filter(function(t,r){return e.elements[r]&&(e.elements[r].visibleInLegend||"undefined"==typeof e.elements[r].visibleInLegend)}),e.reverseOrder&&(o=o.reverse());var s=e.container;("string"==typeof s||s.nodeName)&&(s=n.select(s));var l=o.map(function(t,e){return t.color}),c=e.fontSize,u=null==e.isContinuous?"number"==typeof o[0]:e.isContinuous,h=u?e.height:c*o.length,f=s.classed("legend-group",!0).selectAll("svg").data([0]),p=f.enter().append("svg").attr({width:300,height:h+c,xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"});p.append("g").classed("legend-axis",!0),p.append("g").classed("legend-marks",!0);var d=n.range(o.length),g=n.scale[u?"linear":"ordinal"]().domain(d).range(l),v=n.scale[u?"linear":"ordinal"]().domain(d)[u?"range":"rangePoints"]([0,h]);if(u){var m=f.select(".legend-marks").append("defs").append("linearGradient").attr({id:"grad1",x1:"0%",y1:"0%",x2:"0%",y2:"100%"}).selectAll("stop").data(l);m.enter().append("stop"),m.attr({offset:function(t,e){return e/(l.length-1)*100+"%"}}).style({"stop-color":function(t,e){return t}}),f.append("rect").classed("legend-mark",!0).attr({height:e.height,width:e.colorBandWidth,fill:"url(#grad1)"})}else{var y=f.select(".legend-marks").selectAll("path.legend-mark").data(o);y.enter().append("path").classed("legend-mark",!0),y.attr({transform:function(t,e){return"translate("+[c/2,v(e)+c/2]+")"},d:function(t,e){var r,a,i,o=t.symbol;return i=3*(a=c),"line"===(r=o)?"M"+[[-a/2,-a/12],[a/2,-a/12],[a/2,a/12],[-a/2,a/12]]+"Z":-1!=n.svg.symbolTypes.indexOf(r)?n.svg.symbol().type(r).size(i)():n.svg.symbol().type("square").size(i)()},fill:function(t,e){return g(e)}}),y.exit().remove()}var x=n.svg.axis().scale(v).orient("right"),b=f.select("g.legend-axis").attr({transform:"translate("+[u?e.colorBandWidth:c,c/2]+")"}).call(x);return b.selectAll(".domain").style({fill:"none",stroke:"none"}),b.selectAll("line").style({fill:"none",stroke:u?e.textColor:"none"}),b.selectAll("text").style({fill:e.textColor,"font-size":e.fontSize}).text(function(t,e){return o[e].name}),r}return r.config=function(e){return arguments.length?(a(t,e),this):t},n.rebind(r,e,"on"),r},o.Legend.defaultConfig=function(t,e){return{data:["a","b","c"],legendConfig:{elements:[{symbol:"line",color:"red"},{symbol:"square",color:"yellow"},{symbol:"diamond",color:"limegreen"}],height:150,colorBandWidth:30,fontSize:12,container:"body",isContinuous:null,textColor:"grey",reverseOrder:!1}}},o.tooltipPanel=function(){var t,e,r,i={container:null,hasTick:!1,fontSize:12,color:"white",padding:5},s="tooltip-"+o.tooltipPanel.uid++,l=10,c=function(){var n=(t=i.container.selectAll("g."+s).data([0])).enter().append("g").classed(s,!0).style({"pointer-events":"none",display:"none"});return r=n.append("path").style({fill:"white","fill-opacity":.9}).attr({d:"M0 0"}),e=n.append("text").attr({dx:i.padding+l,dy:.3*+i.fontSize}),c};return c.text=function(a){var o=n.hsl(i.color).l,s=o>=.5?"#aaa":"white",u=o>=.5?"black":"white",h=a||"";e.style({fill:u,"font-size":i.fontSize+"px"}).text(h);var f=i.padding,p=e.node().getBBox(),d={fill:i.color,stroke:s,"stroke-width":"2px"},g=p.width+2*f+l,v=p.height+2*f;return r.attr({d:"M"+[[l,-v/2],[l,-v/4],[i.hasTick?0:l,0],[l,v/4],[l,v/2],[g,v/2],[g,-v/2]].join("L")+"Z"}).style(d),t.attr({transform:"translate("+[l,-v/2+2*f]+")"}),t.style({display:"block"}),c},c.move=function(e){if(t)return t.attr({transform:"translate("+[e[0],e[1]]+")"}).style({display:"block"}),c},c.hide=function(){if(t)return t.style({display:"none"}),c},c.show=function(){if(t)return t.style({display:"block"}),c},c.config=function(t){return a(i,t),c},c},o.tooltipPanel.uid=1,o.adapter={},o.adapter.plotly=function(){var t={convert:function(t,e){var r={};if(t.data&&(r.data=t.data.map(function(t,r){var n=a({},t);return[[n,["marker","color"],["color"]],[n,["marker","opacity"],["opacity"]],[n,["marker","line","color"],["strokeColor"]],[n,["marker","line","dash"],["strokeDash"]],[n,["marker","line","width"],["strokeSize"]],[n,["marker","symbol"],["dotType"]],[n,["marker","size"],["dotSize"]],[n,["marker","barWidth"],["barWidth"]],[n,["line","interpolation"],["lineInterpolation"]],[n,["showlegend"],["visibleInLegend"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e||delete n.marker,e&&delete n.groupId,e?("LinePlot"===n.geometry?(n.type="scatter",!0===n.dotVisible?(delete n.dotVisible,n.mode="lines+markers"):n.mode="lines"):"DotPlot"===n.geometry?(n.type="scatter",n.mode="markers"):"AreaChart"===n.geometry?n.type="area":"BarChart"===n.geometry&&(n.type="bar"),delete n.geometry):("scatter"===n.type?"lines"===n.mode?n.geometry="LinePlot":"markers"===n.mode?n.geometry="DotPlot":"lines+markers"===n.mode&&(n.geometry="LinePlot",n.dotVisible=!0):"area"===n.type?n.geometry="AreaChart":"bar"===n.type&&(n.geometry="BarChart"),delete n.mode,delete n.type),n}),!e&&t.layout&&"stack"===t.layout.barmode)){var i=o.util.duplicates(r.data.map(function(t,e){return t.geometry}));r.data.forEach(function(t,e){var n=i.indexOf(t.geometry);-1!=n&&(r.data[e].groupId=n)})}if(t.layout){var s=a({},t.layout);if([[s,["plot_bgcolor"],["backgroundColor"]],[s,["showlegend"],["showLegend"]],[s,["radialaxis"],["radialAxis"]],[s,["angularaxis"],["angularAxis"]],[s.angularaxis,["showline"],["gridLinesVisible"]],[s.angularaxis,["showticklabels"],["labelsVisible"]],[s.angularaxis,["nticks"],["ticksCount"]],[s.angularaxis,["tickorientation"],["tickOrientation"]],[s.angularaxis,["ticksuffix"],["ticksSuffix"]],[s.angularaxis,["range"],["domain"]],[s.angularaxis,["endpadding"],["endPadding"]],[s.radialaxis,["showline"],["gridLinesVisible"]],[s.radialaxis,["tickorientation"],["tickOrientation"]],[s.radialaxis,["ticksuffix"],["ticksSuffix"]],[s.radialaxis,["range"],["domain"]],[s.angularAxis,["showline"],["gridLinesVisible"]],[s.angularAxis,["showticklabels"],["labelsVisible"]],[s.angularAxis,["nticks"],["ticksCount"]],[s.angularAxis,["tickorientation"],["tickOrientation"]],[s.angularAxis,["ticksuffix"],["ticksSuffix"]],[s.angularAxis,["range"],["domain"]],[s.angularAxis,["endpadding"],["endPadding"]],[s.radialAxis,["showline"],["gridLinesVisible"]],[s.radialAxis,["tickorientation"],["tickOrientation"]],[s.radialAxis,["ticksuffix"],["ticksSuffix"]],[s.radialAxis,["range"],["domain"]],[s.font,["outlinecolor"],["outlineColor"]],[s.legend,["traceorder"],["reverseOrder"]],[s,["labeloffset"],["labelOffset"]],[s,["defaultcolorrange"],["defaultColorRange"]]].forEach(function(t,r){o.util.translator.apply(null,t.concat(e))}),e?("undefined"!=typeof s.tickLength&&(s.angularaxis.ticklen=s.tickLength,delete s.tickLength),s.tickColor&&(s.angularaxis.tickcolor=s.tickColor,delete s.tickColor)):(s.angularAxis&&"undefined"!=typeof s.angularAxis.ticklen&&(s.tickLength=s.angularAxis.ticklen),s.angularAxis&&"undefined"!=typeof s.angularAxis.tickcolor&&(s.tickColor=s.angularAxis.tickcolor)),s.legend&&"boolean"!=typeof s.legend.reverseOrder&&(s.legend.reverseOrder="normal"!=s.legend.reverseOrder),s.legend&&"boolean"==typeof s.legend.traceorder&&(s.legend.traceorder=s.legend.traceorder?"reversed":"normal",delete s.legend.reverseOrder),s.margin&&"undefined"!=typeof s.margin.t){var l=["t","r","b","l","pad"],c=["top","right","bottom","left","pad"],u={};n.entries(s.margin).forEach(function(t,e){u[c[l.indexOf(t.key)]]=t.value}),s.margin=u}e&&(delete s.needsEndSpacing,delete s.minorTickColor,delete s.minorTicks,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksCount,delete s.angularaxis.ticksStep,delete s.angularaxis.rewriteTicks,delete s.angularaxis.nticks,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksCount,delete s.radialaxis.ticksStep,delete s.radialaxis.rewriteTicks,delete s.radialaxis.nticks),r.layout=s}return r}};return t}},{"../../../constants/alignment":685,"../../../lib":716,d3:164}],835:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../../lib"),i=t("../../../components/color"),o=t("./micropolar"),s=t("./undo_manager"),l=a.extendDeepAll,c=e.exports={};c.framework=function(t){var e,r,a,i,u,h=new s;function f(r,s){return s&&(u=s),n.select(n.select(u).node().parentNode).selectAll(".svg-container>*:not(.chart-root)").remove(),e=e?l(e,r):r,a||(a=o.Axis()),i=o.adapter.plotly().convert(e),a.config(i).render(u),t.data=e.data,t.layout=e.layout,c.fillLayout(t),e}return f.isPolar=!0,f.svg=function(){return a.svg()},f.getConfig=function(){return e},f.getLiveConfig=function(){return o.adapter.plotly().convert(a.getLiveConfig(),!0)},f.getLiveScales=function(){return{t:a.angularScale(),r:a.radialScale()}},f.setUndoPoint=function(){var t,n,a=this,i=o.util.cloneJson(e);t=i,n=r,h.add({undo:function(){n&&a(n)},redo:function(){a(t)}}),r=o.util.cloneJson(i)},f.undo=function(){h.undo()},f.redo=function(){h.redo()},f},c.fillLayout=function(t){var e=n.select(t).selectAll(".plot-container"),r=e.selectAll(".svg-container"),a=t.framework&&t.framework.svg&&t.framework.svg(),o={width:800,height:600,paper_bgcolor:i.background,_container:e,_paperdiv:r,_paper:a};t._fullLayout=l(o,t.layout)}},{"../../../components/color":591,"../../../lib":716,"./micropolar":834,"./undo_manager":836,d3:164}],836:[function(t,e,r){"use strict";e.exports=function(){var t,e=[],r=-1,n=!1;function a(t,e){return t?(n=!0,t[e](),n=!1,this):this}return{add:function(t){return n?this:(e.splice(r+1,e.length-r),e.push(t),r=e.length-1,this)},setCallback:function(e){t=e},undo:function(){var n=e[r];return n?(a(n,"undo"),r-=1,t&&t(n.undo),this):this},redo:function(){var n=e[r+1];return n?(a(n,"redo"),r+=1,t&&t(n.redo),this):this},clear:function(){e=[],r=-1},hasUndo:function(){return-1!==r},hasRedo:function(){return r<e.length-1},getCommands:function(){return e},getPreviousCommand:function(){return e[r-1]},getIndex:function(){return r}}}},{}],837:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../plots"),u=t("../../plots/cartesian/axes"),h=t("../cartesian/set_convert"),f=t("./set_convert"),p=t("../cartesian/autorange").doAutoRange,d=t("../cartesian/dragbox"),g=t("../../components/dragelement"),v=t("../../components/fx"),m=t("../../components/titles"),y=t("../cartesian/select").prepSelect,x=t("../cartesian/select").selectOnClick,b=t("../cartesian/select").clearSelect,_=t("../../lib/setcursor"),w=t("../../lib/clear_gl_canvases"),k=t("../../plot_api/subroutines").redrawReglTraces,T=t("../../constants/alignment").MID_SHIFT,A=t("./constants"),M=t("./helpers"),S=o._,E=o.mod,L=o.deg2rad,C=o.rad2deg;function P(t,e){this.id=e,this.gd=t,this._hasClipOnAxisFalse=null,this.vangles=null,this.radialAxisAngle=null,this.traceHash={},this.layers={},this.clipPaths={},this.clipIds={},this.viewInitial={};var r=t._fullLayout,n="clip"+r._uid+e;this.clipIds.forTraces=n+"-for-traces",this.clipPaths.forTraces=r._clips.append("clipPath").attr("id",this.clipIds.forTraces),this.clipPaths.forTraces.append("path"),this.framework=r._polarlayer.append("g").attr("class",e),this.radialTickLayout=null,this.angularTickLayout=null}var O=P.prototype;function z(t){var e=t.ticks+String(t.ticklen)+String(t.showticklabels);return"side"in t&&(e+=t.side),e}function I(t,e){return e[o.findIndexOfMin(e,function(e){return o.angleDist(t,e)})]}function D(t,e,r){return e?(t.attr("display",null),t.attr(r)):t&&t.attr("display","none"),t}function R(t,e){return"translate("+t+","+e+")"}function F(t){return"rotate("+t+")"}e.exports=function(t,e){return new P(t,e)},O.plot=function(t,e){var r=e[this.id];this._hasClipOnAxisFalse=!1;for(var n=0;n<t.length;n++){if(!1===t[n][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(e,r),this.updateLayout(e,r),c.generalUpdatePerTraceModule(this.gd,this,t,r),this.updateFx(e,r)},O.updateLayers=function(t,e){var r=this.layers,a=e.radialaxis,i=e.angularaxis,o=A.layerNames,s=o.indexOf("frontplot"),l=o.slice(0,s),c="below traces"===i.layer,u="below traces"===a.layer;c&&l.push("angular-line"),u&&l.push("radial-line"),c&&l.push("angular-axis"),u&&l.push("radial-axis"),l.push("frontplot"),c||l.push("angular-line"),u||l.push("radial-line"),c||l.push("angular-axis"),u||l.push("radial-axis");var h=this.framework.selectAll(".polarsublayer").data(l,String);h.enter().append("g").attr("class",function(t){return"polarsublayer "+t}).each(function(t){var e=r[t]=n.select(this);switch(t){case"frontplot":e.append("g").classed("barlayer",!0),e.append("g").classed("scatterlayer",!0);break;case"backplot":e.append("g").classed("maplayer",!0);break;case"plotbg":r.bg=e.append("path");break;case"radial-grid":case"angular-grid":e.style("fill","none");break;case"radial-line":e.append("line").style("fill","none");break;case"angular-line":e.append("path").style("fill","none")}}),h.order()},O.updateLayout=function(t,e){var r=this.layers,n=t._size,a=e.radialaxis,i=e.angularaxis,o=e.domain.x,c=e.domain.y;this.xOffset=n.l+n.w*o[0],this.yOffset=n.t+n.h*(1-c[1]);var u=this.xLength=n.w*(o[1]-o[0]),h=this.yLength=n.h*(c[1]-c[0]),f=e.sector;this.sectorInRad=f.map(L);var p,d,g,v,m,y=this.sectorBBox=function(t){var e,r,n,a,i=t[0],o=t[1]-i,s=E(i,360),l=s+o,c=Math.cos(L(s)),u=Math.sin(L(s)),h=Math.cos(L(l)),f=Math.sin(L(l));a=s<=90&&l>=90||s>90&&l>=450?1:u<=0&&f<=0?0:Math.max(u,f);e=s<=180&&l>=180||s>180&&l>=540?-1:c>=0&&h>=0?0:Math.min(c,h);r=s<=270&&l>=270||s>270&&l>=630?-1:u>=0&&f>=0?0:Math.min(u,f);n=l>=360?1:c<=0&&h<=0?0:Math.max(c,h);return[e,r,n,a]}(f),x=y[2]-y[0],b=y[3]-y[1],_=h/u,w=Math.abs(b/x);_>w?(p=u,m=(h-(d=u*w))/n.h/2,g=[o[0],o[1]],v=[c[0]+m,c[1]-m]):(d=h,m=(u-(p=h/w))/n.w/2,g=[o[0]+m,o[1]-m],v=[c[0],c[1]]),this.xLength2=p,this.yLength2=d,this.xDomain2=g,this.yDomain2=v;var k=this.xOffset2=n.l+n.w*g[0],T=this.yOffset2=n.t+n.h*(1-v[1]),A=this.radius=p/x,M=this.innerRadius=e.hole*A,S=this.cx=k-A*y[0],C=this.cy=T+A*y[3],P=this.cxx=S-k,O=this.cyy=C-T;this.radialAxis=this.mockAxis(t,e,a,{_id:"x",side:{counterclockwise:"top",clockwise:"bottom"}[a.side],domain:[M/n.w,A/n.w]}),this.angularAxis=this.mockAxis(t,e,i,{side:"right",domain:[0,Math.PI],autorange:!1}),this.doAutoRange(t,e),this.updateAngularAxis(t,e),this.updateRadialAxis(t,e),this.updateRadialAxisTitle(t,e),this.xaxis=this.mockCartesianAxis(t,e,{_id:"x",domain:g}),this.yaxis=this.mockCartesianAxis(t,e,{_id:"y",domain:v});var z=this.pathSubplot();this.clipPaths.forTraces.select("path").attr("d",z).attr("transform",R(P,O)),r.frontplot.attr("transform",R(k,T)).call(l.setClipUrl,this._hasClipOnAxisFalse?null:this.clipIds.forTraces,this.gd),r.bg.attr("d",z).attr("transform",R(S,C)).call(s.fill,e.bgcolor)},O.mockAxis=function(t,e,r,n){var a=o.extendFlat({},r,n);return f(a,e,t),a},O.mockCartesianAxis=function(t,e,r){var n=this,a=r._id,i=o.extendFlat({type:"linear"},r);h(i,t);var s={x:[0,2],y:[1,3]};return i.setRange=function(){var t=n.sectorBBox,r=s[a],o=n.radialAxis._rl,l=(o[1]-o[0])/(1-e.hole);i.range=[t[r[0]]*l,t[r[1]]*l]},i.isPtWithinRange="x"===a?function(t){return n.isPtInside(t)}:function(){return!0},i.setRange(),i.setScale(),i},O.doAutoRange=function(t,e){var r=this.gd,n=this.radialAxis,a=e.radialaxis;n.setScale(),p(r,n);var i=n.range;a.range=i.slice(),a._input.range=i.slice(),n._rl=[n.r2l(i[0],null,"gregorian"),n.r2l(i[1],null,"gregorian")]},O.updateRadialAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.radialaxis,p=E(e.sector[0],360),d=r.radialAxis,g=l<i;r.fillViewInitialKey("radialaxis.angle",f.angle),r.fillViewInitialKey("radialaxis.range",d.range.slice()),d.setGeometry(),"auto"===d.tickangle&&p>90&&p<=270&&(d.tickangle=180);var v=function(t){return"translate("+(d.l2p(t.x)+l)+",0)"},m=z(f);if(r.radialTickLayout!==m&&(a["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=m),g){d.setScale();var y=u.calcTicks(d),x=u.clipEnds(d,y),b=u.getTickSigns(d)[2];u.drawTicks(n,d,{vals:y,layer:a["radial-axis"],path:u.makeTickPath(d,0,b),transFn:v,crisp:!1}),u.drawGrid(n,d,{vals:x,layer:a["radial-grid"],path:function(t){return r.pathArc(d.r2p(t.x)+l)},transFn:o.noop,crisp:!1}),u.drawLabels(n,d,{vals:y,layer:a["radial-axis"],transFn:v,labelFns:u.makeLabelFns(d,0)})}var _=r.radialAxisAngle=r.vangles?C(I(L(f.angle),r.vangles)):f.angle,w=R(c,h),k=w+F(-_);D(a["radial-axis"],g&&(f.showticklabels||f.ticks),{transform:k}),D(a["radial-grid"],g&&f.showgrid,{transform:w}),D(a["radial-line"].select("line"),g&&f.showline,{x1:l,y1:0,x2:i,y2:0,transform:k}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateRadialAxisTitle=function(t,e,r){var n=this.gd,a=this.radius,i=this.cx,o=this.cy,s=e.radialaxis,c=this.id+"title",u=void 0!==r?r:this.radialAxisAngle,h=L(u),f=Math.cos(h),p=Math.sin(h),d=0;if(s.title){var g=l.bBox(this.layers["radial-axis"].node()).height,v=s.title.font.size;d="counterclockwise"===s.side?-g-.4*v:g+.8*v}this.layers["radial-axis-title"]=m.draw(n,c,{propContainer:s,propName:this.id+".radialaxis.title",placeholder:S(n,"Click to enter radial axis title"),attributes:{x:i+a/2*f+d*p,y:o-a/2*p+d*f,"text-anchor":"middle"},transform:{rotate:-u}})},O.updateAngularAxis=function(t,e){var r=this,n=r.gd,a=r.layers,i=r.radius,l=r.innerRadius,c=r.cx,h=r.cy,f=e.angularaxis,p=r.angularAxis;r.fillViewInitialKey("angularaxis.rotation",f.rotation),p.setGeometry(),p.setScale();var d=function(t){return p.t2g(t.x)};"linear"===p.type&&"radians"===p.thetaunit&&(p.tick0=C(p.tick0),p.dtick=C(p.dtick));var g=function(t){return R(c+i*Math.cos(t),h-i*Math.sin(t))},v=u.makeLabelFns(p,0).labelStandoff,m={xFn:function(t){var e=d(t);return Math.cos(e)*v},yFn:function(t){var e=d(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(v+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*T)},anchorFn:function(t){var e=d(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=d(t);return-.5*(1+Math.sin(n))*r}},y=z(f);r.angularTickLayout!==y&&(a["angular-axis"].selectAll("."+p._id+"tick").remove(),r.angularTickLayout=y);var x,b=u.calcTicks(p);if("linear"===e.gridshape?(x=b.map(d),o.angleDelta(x[0],x[1])<0&&(x=x.slice().reverse())):x=null,r.vangles=x,"category"===p.type&&(b=b.filter(function(t){return o.isAngleInsideSector(d(t),r.sectorInRad)})),p.visible){var _="inside"===p.ticks?-1:1,w=(p.linewidth||1)/2;u.drawTicks(n,p,{vals:b,layer:a["angular-axis"],path:"M"+_*w+",0h"+_*p.ticklen,transFn:function(t){var e=d(t);return g(e)+F(-C(e))},crisp:!1}),u.drawGrid(n,p,{vals:b,layer:a["angular-grid"],path:function(t){var e=d(t),r=Math.cos(e),n=Math.sin(e);return"M"+[c+l*r,h-l*n]+"L"+[c+i*r,h-i*n]},transFn:o.noop,crisp:!1}),u.drawLabels(n,p,{vals:b,layer:a["angular-axis"],repositionOnUpdate:!0,transFn:function(t){return g(d(t))},labelFns:m})}D(a["angular-line"].select("path"),f.showline,{d:r.pathSubplot(),transform:R(c,h)}).attr("stroke-width",f.linewidth).call(s.stroke,f.linecolor)},O.updateFx=function(t,e){this.gd._context.staticPlot||(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1),this.updateMainDrag(t))},O.updateMainDrag=function(t){var e=this,r=e.gd,o=e.layers,s=t._zoomlayer,l=A.MINZOOM,c=A.OFFEDGE,u=e.radius,h=e.innerRadius,f=e.cx,p=e.cy,m=e.cxx,_=e.cyy,w=e.sectorInRad,k=e.vangles,T=e.radialAxis,S=M.clampTiny,E=M.findXYatLength,L=M.findEnclosingVertexAngles,C=A.cornerHalfWidth,P=A.cornerLen/2,O=d.makeDragger(o,"path","maindrag","crosshair");n.select(O).attr("d",e.pathSubplot()).attr("transform",R(f,p));var z,I,D,F,B,N,j,V,U,q={element:O,gd:r,subplot:e.id,plotinfo:{id:e.id,xaxis:e.xaxis,yaxis:e.yaxis},xaxes:[e.xaxis],yaxes:[e.yaxis]};function H(t,e){return Math.sqrt(t*t+e*e)}function G(t,e){return H(t-m,e-_)}function Y(t,e){return Math.atan2(_-e,t-m)}function W(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function X(t,r){if(0===t)return e.pathSector(2*C);var n=P/t,a=r-n,i=r+n,o=Math.max(0,Math.min(t,u)),s=o-C,l=o+C;return"M"+W(s,a)+"A"+[s,s]+" 0,0,0 "+W(s,i)+"L"+W(l,i)+"A"+[l,l]+" 0,0,1 "+W(l,a)+"Z"}function Z(t,r,n){if(0===t)return e.pathSector(2*C);var a,i,o=W(t,r),s=W(t,n),l=S((o[0]+s[0])/2),c=S((o[1]+s[1])/2);if(l&&c){var u=c/l,h=-1/u,f=E(C,u,l,c);a=E(P,h,f[0][0],f[0][1]),i=E(P,h,f[1][0],f[1][1])}else{var p,d;c?(p=P,d=C):(p=C,d=P),a=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+a.join("L")+"L"+i.reverse().join("L")+"Z"}function J(t,e){return e=Math.max(Math.min(e,u),h),t<c?t=0:u-t<c?t=u:e<c?e=0:u-e<c&&(e=u),Math.abs(e-t)>l?(t<e?(D=t,F=e):(D=e,F=t),!0):(D=null,F=null,!1)}function K(t,e){t=t||B,e=e||"M0,0Z",V.attr("d",t),U.attr("d",e),d.transitionZoombox(V,U,N,j),N=!0;var n={};rt(n),r.emit("plotly_relayouting",n)}function Q(t,r){var n,a,i=z+t,o=I+r,s=G(z,I),l=Math.min(G(i,o),u),c=Y(z,I);J(s,l)&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=X(D,c)+X(F,c)),K(n,a)}function $(t,e,r,n){var a=M.findIntersectionXY(r,n,r,[t-m,_-e]);return H(a[0],a[1])}function tt(t,r){var n,a,i=z+t,o=I+r,s=Y(z,I),l=Y(i,o),c=L(s,k),h=L(l,k);J($(z,I,c[0],c[1]),Math.min($(i,o,h[0],h[1]),u))&&(n=B+e.pathSector(F),D&&(n+=e.pathSector(D)),a=[Z(D,c[0],c[1]),Z(F,c[0],c[1])].join(" ")),K(n,a)}function et(){if(d.removeZoombox(r),null!==D&&null!==F){var t={};rt(t),d.showDoubleClickNotifier(r),i.call("_guiRelayout",r,t)}}function rt(t){var r=T._rl,n=(r[1]-r[0])/(1-h/u)/u,a=[r[0]+(D-h)*n,r[0]+(F-h)*n];t[e.id+".radialaxis.range"]=a}function nt(t,n){var a=r._fullLayout.clickmode;if(d.removeZoombox(r),2===t){var o={};for(var s in e.viewInitial)o[e.id+"."+s]=e.viewInitial[s];r.emit("plotly_doubleclick",null),i.call("_guiRelayout",r,o)}a.indexOf("select")>-1&&1===t&&x(n,r,[e.xaxis],[e.yaxis],e.id,q),a.indexOf("event")>-1&&v.click(r,n,e.id)}q.prepFn=function(t,n,i){var o=r._fullLayout.dragmode,l=O.getBoundingClientRect();if(z=n-l.left,I=i-l.top,k){var c=M.findPolygonOffset(u,w[0],w[1],k);z+=m+c[0],I+=_+c[1]}switch(o){case"zoom":q.moveFn=k?tt:Q,q.clickFn=nt,q.doneFn=et,function(){D=null,F=null,B=e.pathSubplot(),N=!1;var t=r._fullLayout[e.id];j=a(t.bgcolor).getLuminance(),(V=d.makeZoombox(s,j,f,p,B)).attr("fill-rule","evenodd"),U=d.makeCorners(s,f,p),b(r)}();break;case"select":case"lasso":y(t,n,i,q,o)}},O.onmousemove=function(t){v.hover(r,t,e.id),r._fullLayout._lasthover=O,r._fullLayout._hoversubplot=e.id},O.onmouseout=function(t){r._dragging||g.unhover(r,t)},g.init(q)},O.updateRadialDrag=function(t,e,r){var a=this,s=a.gd,l=a.layers,c=a.radius,u=a.innerRadius,h=a.cx,f=a.cy,p=a.radialAxis,v=A.radialDragBoxSize,m=v/2;if(p.visible){var y,x,_,T=L(a.radialAxisAngle),M=p._rl,S=M[0],E=M[1],P=M[r],O=.75*(M[1]-M[0])/(1-e.hole)/c;r?(y=h+(c+m)*Math.cos(T),x=f-(c+m)*Math.sin(T),_="radialdrag"):(y=h+(u-m)*Math.cos(T),x=f-(u-m)*Math.sin(T),_="radialdrag-inner");var z,B,N,j=d.makeRectDragger(l,_,"crosshair",-m,-m,v,v),V={element:j,gd:s};D(n.select(j),p.visible&&u<c,{transform:R(y,x)}),V.prepFn=function(){z=null,B=null,N=null,V.moveFn=U,V.doneFn=q,b(s)},V.clampFn=function(t,e){return Math.sqrt(t*t+e*e)<A.MINDRAG&&(t=0,e=0),[t,e]},g.init(V)}function U(t,e){if(z)z(t,e);else{var n=[t,-e],i=[Math.cos(T),Math.sin(T)],l=Math.abs(o.dot(n,i)/Math.sqrt(o.dot(n,n)));isNaN(l)||(z=l<.5?H:G)}var c={};!function(t){null!==B?t[a.id+".radialaxis.angle"]=B:null!==N&&(t[a.id+".radialaxis.range["+r+"]"]=N)}(c),s.emit("plotly_relayouting",c)}function q(){null!==B?i.call("_guiRelayout",s,a.id+".radialaxis.angle",B):null!==N&&i.call("_guiRelayout",s,a.id+".radialaxis.range["+r+"]",N)}function H(t,e){if(0!==r){var n=y+t,i=x+e;B=Math.atan2(f-i,n-h),a.vangles&&(B=I(B,a.vangles)),B=C(B);var o=R(h,f)+F(-B);l["radial-axis"].attr("transform",o),l["radial-line"].select("line").attr("transform",o);var s=a.gd._fullLayout,c=s[a.id];a.updateRadialAxisTitle(s,c,B)}}function G(t,e){var n=o.dot([t,-e],[Math.cos(T),Math.sin(T)]);if(N=P-O*n,O>0==(r?N>S:N<E)){var l=s._fullLayout,c=l[a.id];p.range[r]=N,p._rl[r]=N,a.updateRadialAxis(l,c),a.xaxis.setRange(),a.xaxis.setScale(),a.yaxis.setRange(),a.yaxis.setScale();var u=!1;for(var h in a.traceHash){var f=a.traceHash[h],d=o.filterVisible(f);f[0][0].trace._module.plot(s,a,d,c),i.traceIs(h,"gl")&&d.length&&(u=!0)}u&&(w(s),k(s))}else N=null}},O.updateAngularDrag=function(t){var e=this,r=e.gd,a=e.layers,s=e.radius,c=e.angularAxis,u=e.cx,h=e.cy,f=e.cxx,p=e.cyy,v=A.angularDragBoxSize,m=d.makeDragger(a,"path","angulardrag","move"),y={element:m,gd:r};function x(t,e){return Math.atan2(p+v-e,t-f-v)}n.select(m).attr("d",e.pathAnnulus(s,s+v)).attr("transform",R(u,h)).call(_,"move");var T,M,S,E,L,P,O=a.frontplot.select(".scatterlayer").selectAll(".trace"),z=O.selectAll(".point"),I=O.selectAll(".textpoint");function D(t,s){var d=e.gd._fullLayout,g=d[e.id],v=x(T+t,M+s),m=C(v-P);if(E=S+m,a.frontplot.attr("transform",R(e.xOffset2,e.yOffset2)+F([-m,f,p])),e.vangles){L=e.radialAxisAngle+m;var y=R(u,h)+F(-m),b=R(u,h)+F(-L);a.bg.attr("transform",y),a["radial-grid"].attr("transform",y),a["radial-axis"].attr("transform",b),a["radial-line"].select("line").attr("transform",b),e.updateRadialAxisTitle(d,g,L)}else e.clipPaths.forTraces.select("path").attr("transform",R(f,p)+F(m));z.each(function(){var t=n.select(this),e=l.getTranslate(t);t.attr("transform",R(e.x,e.y)+F([m]))}),I.each(function(){var t=n.select(this),e=t.select("text"),r=l.getTranslate(t);t.attr("transform",F([m,e.attr("x"),e.attr("y")])+R(r.x,r.y))}),c.rotation=o.modHalf(E,360),e.updateAngularAxis(d,g),e._hasClipOnAxisFalse&&!o.isFullCircle(e.sectorInRad)&&O.call(l.hideOutsideRangePoints,e);var _=!1;for(var A in e.traceHash)if(i.traceIs(A,"gl")){var D=e.traceHash[A],N=o.filterVisible(D);D[0][0].trace._module.plot(r,e,N,g),N.length&&(_=!0)}_&&(w(r),k(r));var j={};B(j),r.emit("plotly_relayouting",j)}function B(t){t[e.id+".angularaxis.rotation"]=E,e.vangles&&(t[e.id+".radialaxis.angle"]=L)}function N(){I.select("text").attr("transform",null);var t={};B(t),i.call("_guiRelayout",r,t)}y.prepFn=function(n,a,i){var o=t[e.id];S=o.angularaxis.rotation;var s=m.getBoundingClientRect();T=a-s.left,M=i-s.top,P=x(T,M),y.moveFn=D,y.doneFn=N,b(r)},e.vangles&&!o.isFullCircle(e.sectorInRad)&&(y.prepFn=o.noop,_(n.select(m),null)),g.init(y)},O.isPtInside=function(t){var e=this.sectorInRad,r=this.vangles,n=this.angularAxis.c2g(t.theta),a=this.radialAxis,i=a.c2l(t.r),s=a._rl;return(r?M.isPtInsidePolygon:o.isPtInsideSector)(i,n,s,e,r)},O.pathArc=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathArc)(t,e[0],e[1],r)},O.pathSector=function(t){var e=this.sectorInRad,r=this.vangles;return(r?M.pathPolygon:o.pathSector)(t,e[0],e[1],r)},O.pathAnnulus=function(t,e){var r=this.sectorInRad,n=this.vangles;return(n?M.pathPolygonAnnulus:o.pathAnnulus)(t,e,r[0],r[1],n)},O.pathSubplot=function(){var t=this.innerRadius,e=this.radius;return t?this.pathAnnulus(t,e):this.pathSector(e)},O.fillViewInitialKey=function(t,e){t in this.viewInitial||(this.viewInitial[t]=e)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../components/titles":678,"../../constants/alignment":685,"../../lib":716,"../../lib/clear_gl_canvases":701,"../../lib/setcursor":736,"../../plot_api/subroutines":755,"../../plots/cartesian/axes":764,"../../registry":845,"../cartesian/autorange":763,"../cartesian/dragbox":772,"../cartesian/select":781,"../cartesian/set_convert":782,"../plots":825,"./constants":826,"./helpers":827,"./set_convert":838,d3:164,tinycolor2:535}],838:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../cartesian/set_convert"),i=n.deg2rad,o=n.rad2deg;e.exports=function(t,e,r){switch(a(t,r),t._id){case"x":case"radialaxis":!function(t,e){var r=e._subplot;t.setGeometry=function(){var e=t._rl[0],n=t._rl[1],a=r.innerRadius,i=(r.radius-a)/(n-e),o=a/i,s=e>n?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*i},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var a=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?i(t):t}(a(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,a){var i,o,s=e[a],l=e._length,c=function(r){return t.d2c(r,e.thetaunit)};if(s){if(n.isTypedArray(s)&&"linear"===r){if(l===s.length)return s;if(s.subarray)return s.subarray(0,l)}for(i=new Array(l),o=0;o<l;o++)i[o]=c(s[o])}else{var u=a+"0",h="d"+a,f=u in e?c(e[u]):0,p=e[h]?c(e[h]):(t.period||2*Math.PI)/l;for(i=new Array(l),o=0;o<l;o++)i[o]=f+o*p}return i},t.setGeometry=function(){var a,s,l,c,u=e.sector,h=u.map(i),f={clockwise:-1,counterclockwise:1}[t.direction],p=i(t.rotation),d=function(t){return f*t+p},g=function(t){return(t-p)/f};switch(r){case"linear":s=a=n.identity,c=i,l=o,t.range=n.isFullCircle(h)?[u[0],u[0]+360]:h.map(g).map(o);break;case"category":var v=t._categories.length,m=t.period?Math.max(t.period,v):v;0===m&&(m=1),s=c=function(t){return 2*t*Math.PI/m},a=l=function(t){return t*m/Math.PI/2},t.range=[0,m]}t.c2g=function(t){return d(s(t))},t.g2c=function(t){return a(g(t))},t.t2g=function(t){return d(c(t))},t.g2t=function(t){return l(g(t))}}}(t,e)}}},{"../../lib":716,"../cartesian/set_convert":782}],839:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_template"),i=t("./domain").defaults;e.exports=function(t,e,r,o){var s,l,c=o.type,u=o.attributes,h=o.handleDefaults,f=o.partition||"x",p=e._subplots[c],d=p.length,g=d&&p[0].replace(/\d+$/,"");function v(t,e){return n.coerce(s,l,u,t,e)}for(var m=0;m<d;m++){var y=p[m];s=t[y]?t[y]:t[y]={},l=a.newContainer(e,y,g),v("uirevision",e.uirevision);var x={};x[f]=[m/d,(m+1)/d],i(l,e,v,x),o.id=y,h(s,l,v,o)}}},{"../lib":716,"../plot_api/plot_template":754,"./domain":789}],840:[function(t,e,r){"use strict";['Variables are inserted using %{variable}, for example "y: %{y}".','Numbers are formatted using d3-format\'s syntax %{variable:d3-format}, for example "Price: %{y:$.2f}".',t("../constants/docs").FORMAT_LINK,"for details on the formatting syntax.",'Dates are formatted using d3-time-format\'s syntax %{variable|d3-time-format}, for example "Day: %{2019-01-01|%A}".',t("../constants/docs").DATE_FORMAT_LINK,"for details on the date formatting syntax."].join(" ");function n(t){var e=t.description?" "+t.description:"",r=t.keys||[];if(r.length>0){for(var n=[],a=0;a<r.length;a++)n[a]="`"+r[a]+"`";e+="Finally, the template string has access to ",e=1===r.length?"variable "+n[0]:"variables "+n.slice(0,-1).join(", ")+" and "+n.slice(-1)+"."}return e}r.hovertemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"none"};return!1!==t.arrayOk&&(r.arrayOk=!0),r},r.texttemplateAttrs=function(t,e){t=t||{};n(e=e||{});var r={valType:"string",dflt:"",editType:t.editType||"calc"};return!1!==t.arrayOk&&(r.arrayOk=!0),r}},{"../constants/docs":687}],841:[function(t,e,r){"use strict";var n=t("./ternary"),a=t("../../plots/get_data").getSubplotCalcData,i=t("../../lib").counterRegex;r.name="ternary";var o=r.attr="subplot";r.idRoot="ternary",r.idRegex=r.attrRegex=i("ternary"),(r.attributes={})[o]={valType:"subplotid",dflt:"ternary",editType:"calc"},r.layoutAttributes=t("./layout_attributes"),r.supplyLayoutDefaults=t("./layout_defaults"),r.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots.ternary,o=0;o<i.length;o++){var s=i[o],l=a(r,"ternary",s),c=e[s]._subplot;c||(c=new n({id:s,graphDiv:t,container:e._ternarylayer.node()},e),e[s]._subplot=c),c.plot(l,e,t._promises)}},r.clean=function(t,e,r,n){for(var a=n._subplots.ternary||[],i=0;i<a.length;i++){var o=a[i],s=n[o]._subplot;!e[o]&&s&&(s.plotContainer.remove(),s.clipDef.remove(),s.clipDefRelative.remove(),s.layers["a-title"].remove(),s.layers["b-title"].remove(),s.layers["c-title"].remove())}}},{"../../lib":716,"../../plots/get_data":799,"./layout_attributes":842,"./layout_defaults":843,"./ternary":844}],842:[function(t,e,r){"use strict";var n=t("../../components/color/attributes"),a=t("../domain").attributes,i=t("../cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll,s=t("../../lib/extend").extendFlat,l={title:{text:i.title.text,font:i.title.font},color:i.color,tickmode:i.tickmode,nticks:s({},i.nticks,{dflt:6,min:1}),tick0:i.tick0,dtick:i.dtick,tickvals:i.tickvals,ticktext:i.ticktext,ticks:i.ticks,ticklen:i.ticklen,tickwidth:i.tickwidth,tickcolor:i.tickcolor,showticklabels:i.showticklabels,showtickprefix:i.showtickprefix,tickprefix:i.tickprefix,showticksuffix:i.showticksuffix,ticksuffix:i.ticksuffix,showexponent:i.showexponent,exponentformat:i.exponentformat,separatethousands:i.separatethousands,tickfont:i.tickfont,tickangle:i.tickangle,tickformat:i.tickformat,tickformatstops:i.tickformatstops,hoverformat:i.hoverformat,showline:s({},i.showline,{dflt:!0}),linecolor:i.linecolor,linewidth:i.linewidth,showgrid:s({},i.showgrid,{dflt:!0}),gridcolor:i.gridcolor,gridwidth:i.gridwidth,layer:i.layer,min:{valType:"number",dflt:0,min:0},_deprecated:{title:i._deprecated.title,titlefont:i._deprecated.titlefont}},c=e.exports=o({domain:a({name:"ternary"}),bgcolor:{valType:"color",dflt:n.background},sum:{valType:"number",dflt:1,min:0},aaxis:l,baxis:l,caxis:l},"plot","from-root");c.uirevision={valType:"any",editType:"none"},c.aaxis.uirevision=c.baxis.uirevision=c.caxis.uirevision={valType:"any",editType:"none"}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plot_api/edit_types":747,"../cartesian/layout_attributes":776,"../domain":789}],843:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../plot_api/plot_template"),i=t("../../lib"),o=t("../subplot_defaults"),s=t("../cartesian/tick_label_defaults"),l=t("../cartesian/tick_mark_defaults"),c=t("../cartesian/tick_value_defaults"),u=t("../cartesian/line_grid_defaults"),h=t("./layout_attributes"),f=["aaxis","baxis","caxis"];function p(t,e,r,i){var o,s,l,c=r("bgcolor"),u=r("sum");i.bgColor=n.combine(c,i.paper_bgcolor);for(var h=0;h<f.length;h++)s=t[o=f[h]]||{},(l=a.newContainer(e,o))._name=o,d(s,l,i,e);var p=e.aaxis,g=e.baxis,v=e.caxis;p.min+g.min+v.min>=u&&(p.min=0,g.min=0,v.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function d(t,e,r,n){var a=h[e._name];function o(r,n){return i.coerce(t,e,a,r,n)}o("uirevision",n.uirevision),e.type="linear";var f=o("color"),p=f!==a.color.dflt?f:r.font.color,d=e._name.charAt(0).toUpperCase(),g="Component "+d,v=o("title.text",g);e._hovertitle=v===g?v:d,i.coerceFont(o,"title.font",{family:r.font.family,size:Math.round(1.2*r.font.size),color:p}),o("min"),c(t,e,o,"linear"),s(t,e,o,"linear",{}),l(t,e,o,{outerTicks:!0}),o("showticklabels")&&(i.coerceFont(o,"tickfont",{family:r.font.family,size:r.font.size,color:p}),o("tickangle"),o("tickformat")),u(t,e,o,{dfltColor:f,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:a}),o("hoverformat"),o("layer")}e.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:p,font:e.font,paper_bgcolor:e.paper_bgcolor})}},{"../../components/color":591,"../../lib":716,"../../plot_api/plot_template":754,"../cartesian/line_grid_defaults":778,"../cartesian/tick_label_defaults":783,"../cartesian/tick_mark_defaults":784,"../cartesian/tick_value_defaults":785,"../subplot_defaults":839,"./layout_attributes":842}],844:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=o._,l=t("../../components/color"),c=t("../../components/drawing"),u=t("../cartesian/set_convert"),h=t("../../lib/extend").extendFlat,f=t("../plots"),p=t("../cartesian/axes"),d=t("../../components/dragelement"),g=t("../../components/fx"),v=t("../../components/titles"),m=t("../cartesian/select").prepSelect,y=t("../cartesian/select").selectOnClick,x=t("../cartesian/select").clearSelect,b=t("../cartesian/constants");function _(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}e.exports=_;var w=_.prototype;w.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},w.plot=function(t,e){var r=e[this.id],n=e._size;this._hasClipOnAxisFalse=!1;for(var a=0;a<t.length;a++){if(!1===t[a][0].trace.cliponaxis){this._hasClipOnAxisFalse=!0;break}}this.updateLayers(r),this.adjustLayout(r,n),f.generalUpdatePerTraceModule(this.graphDiv,this,t,r),this.layers.plotbg.select("path").call(l.fill,r.bgcolor)},w.makeFramework=function(t){var e=this.graphDiv,r=t[this.id],n=this.clipId="clip"+this.layoutId+this.id,a=this.clipIdRelative="clip-relative"+this.layoutId+this.id;this.clipDef=o.ensureSingleById(t._clips,"clipPath",n,function(t){t.append("path").attr("d","M0,0Z")}),this.clipDefRelative=o.ensureSingleById(t._clips,"clipPath",a,function(t){t.append("path").attr("d","M0,0Z")}),this.plotContainer=o.ensureSingle(this.container,"g",this.id),this.updateLayers(r),c.setClipUrl(this.layers.backplot,n,e),c.setClipUrl(this.layers.grids,n,e)},w.updateLayers=function(t){var e=this.layers,r=["draglayer","plotbg","backplot","grids"];"below traces"===t.aaxis.layer&&r.push("aaxis","aline"),"below traces"===t.baxis.layer&&r.push("baxis","bline"),"below traces"===t.caxis.layer&&r.push("caxis","cline"),r.push("frontplot"),"above traces"===t.aaxis.layer&&r.push("aaxis","aline"),"above traces"===t.baxis.layer&&r.push("baxis","bline"),"above traces"===t.caxis.layer&&r.push("caxis","cline");var a=this.plotContainer.selectAll("g.toplevel").data(r,String),i=["agrid","bgrid","cgrid"];a.enter().append("g").attr("class",function(t){return"toplevel "+t}).each(function(t){var r=n.select(this);e[t]=r,"frontplot"===t?r.append("g").classed("scatterlayer",!0):"backplot"===t?r.append("g").classed("maplayer",!0):"plotbg"===t?r.append("path").attr("d","M0,0Z"):"aline"===t||"bline"===t||"cline"===t?r.append("path"):"grids"===t&&i.forEach(function(t){e[t]=r.append("g").classed("grid "+t,!0)})}),a.order()};var k=Math.sqrt(4/3);w.adjustLayout=function(t,e){var r,n,a,i,o,s,f=this,p=t.domain,d=(p.x[0]+p.x[1])/2,g=(p.y[0]+p.y[1])/2,v=p.x[1]-p.x[0],m=p.y[1]-p.y[0],y=v*e.w,x=m*e.h,b=t.sum,_=t.aaxis.min,w=t.baxis.min,T=t.caxis.min;y>k*x?a=(i=x)*k:i=(a=y)/k,o=v*a/y,s=m*i/x,r=e.l+e.w*d-a/2,n=e.t+e.h*(1-g)-i/2,f.x0=r,f.y0=n,f.w=a,f.h=i,f.sum=b,f.xaxis={type:"linear",range:[_+2*T-b,b-_-2*w],domain:[d-o/2,d+o/2],_id:"x"},u(f.xaxis,f.graphDiv._fullLayout),f.xaxis.setScale(),f.xaxis.isPtWithinRange=function(t){return t.a>=f.aaxis.range[0]&&t.a<=f.aaxis.range[1]&&t.b>=f.baxis.range[1]&&t.b<=f.baxis.range[0]&&t.c>=f.caxis.range[1]&&t.c<=f.caxis.range[0]},f.yaxis={type:"linear",range:[_,b-w-T],domain:[g-s/2,g+s/2],_id:"y"},u(f.yaxis,f.graphDiv._fullLayout),f.yaxis.setScale(),f.yaxis.isPtWithinRange=function(){return!0};var A=f.yaxis.domain[0],M=f.aaxis=h({},t.aaxis,{range:[_,b-w-T],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(M,f.graphDiv._fullLayout),M.setScale();var S=f.baxis=h({},t.baxis,{range:[b-_-T,w],side:"bottom",domain:f.xaxis.domain,anchor:"free",position:0,_id:"x",_length:a});u(S,f.graphDiv._fullLayout),S.setScale();var E=f.caxis=h({},t.caxis,{range:[b-_-w,T],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+s*k],anchor:"free",position:0,_id:"y",_length:a});u(E,f.graphDiv._fullLayout),E.setScale();var L="M"+r+","+(n+i)+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDef.select("path").attr("d",L),f.layers.plotbg.select("path").attr("d",L);var C="M0,"+i+"h"+a+"l-"+a/2+",-"+i+"Z";f.clipDefRelative.select("path").attr("d",C);var P="translate("+r+","+n+")";f.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),f.clipDefRelative.select("path").attr("transform",null);var O="translate("+(r-S._offset)+","+(n+i)+")";f.layers.baxis.attr("transform",O),f.layers.bgrid.attr("transform",O);var z="translate("+(r+a/2)+","+n+")rotate(30)translate(0,"+-M._offset+")";f.layers.aaxis.attr("transform",z),f.layers.agrid.attr("transform",z);var I="translate("+(r+a/2)+","+n+")rotate(-30)translate(0,"+-E._offset+")";f.layers.caxis.attr("transform",I),f.layers.cgrid.attr("transform",I),f.drawAxes(!0),f.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+i)+"l"+a/2+",-"+i:"M0,0").call(l.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),f.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+i)+"h"+a:"M0,0").call(l.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),f.layers.cline.select("path").attr("d",E.showline?"M"+(r+a/2)+","+n+"l"+a/2+","+i:"M0,0").call(l.stroke,E.linecolor||"#000").style("stroke-width",(E.linewidth||0)+"px"),f.graphDiv._context.staticPlot||f.initInteractions(),c.setClipUrl(f.layers.frontplot,f._hasClipOnAxisFalse?null:f.clipId,f.graphDiv)},w.drawAxes=function(t){var e=this.graphDiv,r=this.id.substr(7)+"title",n=this.layers,a=this.aaxis,i=this.baxis,o=this.caxis;if(this.drawAx(a),this.drawAx(i),this.drawAx(o),t){var l=Math.max(a.showticklabels?a.tickfont.size/2:0,(o.showticklabels?.75*o.tickfont.size:0)+("outside"===o.ticks?.87*o.ticklen:0)),c=(i.showticklabels?i.tickfont.size:0)+("outside"===i.ticks?i.ticklen:0)+3;n["a-title"]=v.draw(e,"a"+r,{propContainer:a,propName:this.id+".aaxis.title",placeholder:s(e,"Click to enter Component A title"),attributes:{x:this.x0+this.w/2,y:this.y0-a.title.font.size/3-l,"text-anchor":"middle"}}),n["b-title"]=v.draw(e,"b"+r,{propContainer:i,propName:this.id+".baxis.title",placeholder:s(e,"Click to enter Component B title"),attributes:{x:this.x0-c,y:this.y0+this.h+.83*i.title.font.size+c,"text-anchor":"middle"}}),n["c-title"]=v.draw(e,"c"+r,{propContainer:o,propName:this.id+".caxis.title",placeholder:s(e,"Click to enter Component C title"),attributes:{x:this.x0+this.w+c,y:this.y0+this.h+.83*o.title.font.size+c,"text-anchor":"middle"}})}},w.drawAx=function(t){var e,r=this.graphDiv,n=t._name,a=n.charAt(0),i=t._id,s=this.layers[n],l=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);this[l]!==c&&(s.selectAll("."+i+"tick").remove(),this[l]=c),t.setScale();var u=p.calcTicks(t),h=p.clipEnds(t,u),f=p.makeTransFn(t),d=p.getTickSigns(t)[2],g=o.deg2rad(30),v=d*(t.linewidth||1)/2,m=d*t.ticklen,y=this.w,x=this.h,b="b"===a?"M0,"+v+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+v+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,_={a:"M0,0l"+x+",-"+y/2,b:"M0,0l-"+y/2+",-"+x,c:"M0,0l-"+x+","+y/2}[a];p.drawTicks(r,t,{vals:"inside"===t.ticks?h:u,layer:s,path:b,transFn:f,crisp:!1}),p.drawGrid(r,t,{vals:h,layer:this.layers[a+"grid"],path:_,transFn:f,crisp:!1}),p.drawLabels(r,t,{vals:u,layer:s,transFn:f,labelFns:p.makeLabelFns(t,0,30)})};var T=b.MINZOOM/2+.87,A="m-0.87,.5h"+T+"v3h-"+(T+5.2)+"l"+(T/2+2.6)+",-"+(.87*T+4.5)+"l2.6,1.5l-"+T/2+","+.87*T+"Z",M="m0.87,.5h-"+T+"v3h"+(T+5.2)+"l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-2.6,1.5l"+T/2+","+.87*T+"Z",S="m0,1l"+T/2+","+.87*T+"l2.6,-1.5l-"+(T/2+2.6)+",-"+(.87*T+4.5)+"l-"+(T/2+2.6)+","+(.87*T+4.5)+"l2.6,1.5l"+T/2+",-"+.87*T+"Z",E="m0.5,0.5h5v-2h-5v-5h-2v5h-5v2h5v5h2Z",L=!0;function C(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}w.initInteractions=function(){var t,e,r,n,u,h,f,p,v,_,w=this,T=w.layers.plotbg.select("path").node(),P=w.graphDiv,O=P._fullLayout._zoomlayer,z={element:T,gd:P,plotinfo:{id:w.id,xaxis:w.xaxis,yaxis:w.yaxis},subplot:w.id,prepFn:function(i,o,s){z.xaxes=[w.xaxis],z.yaxes=[w.yaxis];var c=P._fullLayout.dragmode;z.minDrag="lasso"===c?1:void 0,"zoom"===c?(z.moveFn=N,z.clickFn=D,z.doneFn=j,function(i,o,s){var c=T.getBoundingClientRect();t=o-c.left,e=s-c.top,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,n=w.aaxis.range[1]-r.a,h=a(w.graphDiv._fullLayout[w.id].bgcolor).getLuminance(),f="M0,"+w.h+"L"+w.w/2+", 0L"+w.w+","+w.h+"Z",p=!1,v=O.append("path").attr("class","zoombox").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:h>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",f),_=O.append("path").attr("class","zoombox-corners").attr("transform","translate("+w.x0+", "+w.y0+")").style({fill:l.background,stroke:l.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),x(P)}(0,o,s)):"pan"===c?(z.moveFn=V,z.clickFn=D,z.doneFn=U,r={a:w.aaxis.range[0],b:w.baxis.range[1],c:w.caxis.range[1]},u=r,x(P)):"select"!==c&&"lasso"!==c||m(i,o,s,z,c)}};function I(t){var e={};return e[w.id+".aaxis.min"]=t.a,e[w.id+".baxis.min"]=t.b,e[w.id+".caxis.min"]=t.c,e}function D(t,e){var r=P._fullLayout.clickmode;C(P),2===t&&(P.emit("plotly_doubleclick",null),i.call("_guiRelayout",P,I({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&y(e,P,[w.xaxis],[w.yaxis],w.id,z),r.indexOf("event")>-1&&g.click(P,e,w.id)}function R(t,e){return 1-e/w.h}function F(t,e){return 1-(t+(w.h-e)/Math.sqrt(3))/w.w}function B(t,e){return(t-(w.h-e)/Math.sqrt(3))/w.w}function N(a,i){var o=t+a,s=e+i,l=Math.max(0,Math.min(1,R(0,e),R(0,s))),c=Math.max(0,Math.min(1,F(t,e),F(o,s))),d=Math.max(0,Math.min(1,B(t,e),B(o,s))),g=(l/2+d)*w.w,m=(1-l/2-c)*w.w,y=(g+m)/2,x=m-g,T=(1-l)*w.h,L=T-x/k;x<b.MINZOOM?(u=r,v.attr("d",f),_.attr("d","M0,0Z")):(u={a:r.a+l*n,b:r.b+c*n,c:r.c+d*n},v.attr("d",f+"M"+g+","+T+"H"+m+"L"+y+","+L+"L"+g+","+T+"Z"),_.attr("d","M"+t+","+e+E+"M"+g+","+T+A+"M"+m+","+T+M+"M"+y+","+L+S)),p||(v.transition().style("fill",h>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),_.transition().style("opacity",1).duration(200),p=!0),P.emit("plotly_relayouting",I(u))}function j(){C(P),u!==r&&(i.call("_guiRelayout",P,I(u)),L&&P.data&&P._context.showTips&&(o.notifier(s(P,"Double-click to zoom back out"),"long"),L=!1))}function V(t,e){var n=t/w.xaxis._m,a=e/w.yaxis._m,i=[(u={a:r.a-a,b:r.b+(n+a)/2,c:r.c-(n-a)/2}).a,u.b,u.c].sort(),o=i.indexOf(u.a),s=i.indexOf(u.b),l=i.indexOf(u.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),u={a:i[o],b:i[s],c:i[l]},e=(r.a-u.a)*w.yaxis._m,t=(r.c-u.c-r.b+u.b)*w.xaxis._m);var h="translate("+(w.x0+t)+","+(w.y0+e)+")";w.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var f="translate("+-t+","+-e+")";w.clipDefRelative.select("path").attr("transform",f),w.aaxis.range=[u.a,w.sum-u.b-u.c],w.baxis.range=[w.sum-u.a-u.c,u.b],w.caxis.range=[w.sum-u.a-u.b,u.c],w.drawAxes(!1),w._hasClipOnAxisFalse&&w.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,w),P.emit("plotly_relayouting",I(u))}function U(){i.call("_guiRelayout",P,I(u))}T.onmousemove=function(t){g.hover(P,t,w.id),P._fullLayout._lasthover=T,P._fullLayout._hoversubplot=w.id},T.onmouseout=function(t){P._dragging||d.unhover(P,t)},d.init(z)}},{"../../components/color":591,"../../components/dragelement":609,"../../components/drawing":612,"../../components/fx":629,"../../components/titles":678,"../../lib":716,"../../lib/extend":707,"../../registry":845,"../cartesian/axes":764,"../cartesian/constants":770,"../cartesian/select":781,"../cartesian/set_convert":782,"../plots":825,d3:164,tinycolor2:535}],845:[function(t,e,r){"use strict";var n=t("./lib/loggers"),a=t("./lib/noop"),i=t("./lib/push_unique"),o=t("./lib/is_plain_object"),s=t("./lib/dom").addStyleRule,l=t("./lib/extend"),c=t("./plots/attributes"),u=t("./plots/layout_attributes"),h=l.extendFlat,f=l.extendDeepAll;function p(t){var e=t.name,a=t.categories,i=t.meta;if(r.modules[e])n.log("Type "+e+" already registered");else{r.subplotsRegistry[t.basePlotModule.name]||function(t){var e=t.name;if(r.subplotsRegistry[e])return void n.log("Plot type "+e+" already registered.");for(var a in m(t),r.subplotsRegistry[e]=t,r.componentsRegistry)b(a,t.name)}(t.basePlotModule);for(var o={},l=0;l<a.length;l++)o[a[l]]=!0,r.allCategories[a[l]]=!0;for(var c in r.modules[e]={_module:t,categories:o},i&&Object.keys(i).length&&(r.modules[e].meta=i),r.allTypes.push(e),r.componentsRegistry)y(c,e);t.layoutAttributes&&h(r.traceLayoutAttributes,t.layoutAttributes);var u=t.basePlotModule,f=u.name;if("mapbox"===f){var p=u.constants.styleRules;for(var d in p)s(".js-plotly-plot .plotly .mapboxgl-"+d,p[d])}"geo"!==f&&"mapbox"!==f||void 0===typeof window||void 0!==window.PlotlyGeoAssets||(window.PlotlyGeoAssets={topojson:{}})}}function d(t){if("string"!=typeof t.name)throw new Error("Component module *name* must be a string.");var e=t.name;for(var n in r.componentsRegistry[e]=t,t.layoutAttributes&&(t.layoutAttributes._isLinkedToArray&&i(r.layoutArrayContainers,e),m(t)),r.modules)y(e,n);for(var a in r.subplotsRegistry)b(e,a);for(var o in r.transformsRegistry)x(e,o);t.schema&&t.schema.layout&&f(u,t.schema.layout)}function g(t){if("string"!=typeof t.name)throw new Error("Transform module *name* must be a string.");var e="Transform module "+t.name,a="function"==typeof t.transform,i="function"==typeof t.calcTransform;if(!a&&!i)throw new Error(e+" is missing a *transform* or *calcTransform* method.");for(var s in a&&i&&n.log([e+" has both a *transform* and *calcTransform* methods.","Please note that all *transform* methods are executed","before all *calcTransform* methods."].join(" ")),o(t.attributes)||n.log(e+" registered without an *attributes* object."),"function"!=typeof t.supplyDefaults&&n.log(e+" registered without a *supplyDefaults* method."),r.transformsRegistry[t.name]=t,r.componentsRegistry)x(s,t.name)}function v(t){var e=t.name,n=e.split("-")[0],a=t.dictionary,i=t.format,o=a&&Object.keys(a).length,s=i&&Object.keys(i).length,l=r.localeRegistry,c=l[e];if(c||(l[e]=c={}),n!==e){var u=l[n];u||(l[n]=u={}),o&&u.dictionary===c.dictionary&&(u.dictionary=a),s&&u.format===c.format&&(u.format=i)}o&&(c.dictionary=a),s&&(c.format=i)}function m(t){if(t.layoutAttributes){var e=t.layoutAttributes._arrayAttrRegexps;if(e)for(var n=0;n<e.length;n++)i(r.layoutArrayRegexes,e[n])}}function y(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.traces){var a=n.traces[e];a&&f(r.modules[e]._module.attributes,a)}}function x(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.transforms){var a=n.transforms[e];a&&f(r.transformsRegistry[e].attributes,a)}}function b(t,e){var n=r.componentsRegistry[t].schema;if(n&&n.subplots){var a=r.subplotsRegistry[e],i=a.layoutAttributes,o="subplot"===a.attr?a.name:a.attr;Array.isArray(o)&&(o=o[0]);var s=n.subplots[o];i&&s&&f(i,s)}}function _(t){return"object"==typeof t&&(t=t.type),t}r.modules={},r.allCategories={},r.allTypes=[],r.subplotsRegistry={},r.transformsRegistry={},r.componentsRegistry={},r.layoutArrayContainers=[],r.layoutArrayRegexes=[],r.traceLayoutAttributes={},r.localeRegistry={},r.apiMethodRegistry={},r.collectableSubplotTypes=null,r.register=function(t){if(r.collectableSubplotTypes=null,!t)throw new Error("No argument passed to Plotly.register.");t&&!Array.isArray(t)&&(t=[t]);for(var e=0;e<t.length;e++){var n=t[e];if(!n)throw new Error("Invalid module was attempted to be registered!");switch(n.moduleType){case"trace":p(n);break;case"transform":g(n);break;case"component":d(n);break;case"locale":v(n);break;case"apiMethod":var a=n.name;r.apiMethodRegistry[a]=n.fn;break;default:throw new Error("Invalid module was attempted to be registered!")}}},r.getModule=function(t){var e=r.modules[_(t)];return!!e&&e._module},r.traceIs=function(t,e){if("various"===(t=_(t)))return!1;var a=r.modules[t];return a||(t&&"area"!==t&&n.log("Unrecognized trace type "+t+"."),a=r.modules[c.type.dflt]),!!a.categories[e]},r.getTransformIndices=function(t,e){for(var r=[],n=t.transforms||[],a=0;a<n.length;a++)n[a].type===e&&r.push(a);return r},r.hasTransform=function(t,e){for(var r=t.transforms||[],n=0;n<r.length;n++)if(r[n].type===e)return!0;return!1},r.getComponentMethod=function(t,e){var n=r.componentsRegistry[t];return n&&n[e]||a},r.call=function(){var t=arguments[0],e=[].slice.call(arguments,1);return r.apiMethodRegistry[t].apply(null,e)}},{"./lib/dom":705,"./lib/extend":707,"./lib/is_plain_object":717,"./lib/loggers":720,"./lib/noop":725,"./lib/push_unique":730,"./plots/attributes":761,"./plots/layout_attributes":816}],846:[function(t,e,r){"use strict";var n=t("../registry"),a=t("../lib"),i=a.extendFlat,o=a.extendDeep;function s(t){var e;switch(t){case"themes__thumb":e={autosize:!0,width:150,height:150,title:{text:""},showlegend:!1,margin:{l:5,r:5,t:5,b:5,pad:0},annotations:[]};break;case"thumbnail":e={title:{text:""},hidesources:!0,showlegend:!1,borderwidth:0,bordercolor:"",margin:{l:1,r:1,t:1,b:1,pad:0},annotations:[]};break;default:e={}}return e}e.exports=function(t,e){var r;t.framework&&t.framework.isPolar&&(t=t.framework.getConfig());var a,l=t.data,c=t.layout,u=o([],l),h=o({},c,s(e.tileClass)),f=t._context||{};if(e.width&&(h.width=e.width),e.height&&(h.height=e.height),"thumbnail"===e.tileClass||"themes__thumb"===e.tileClass){h.annotations=[];var p=Object.keys(h);for(r=0;r<p.length;r++)a=p[r],["xaxis","yaxis","zaxis"].indexOf(a.slice(0,5))>-1&&(h[p[r]].title={text:""});for(r=0;r<u.length;r++){var d=u[r];d.showscale=!1,d.marker&&(d.marker.showscale=!1),n.traceIs(d,"pie-like")&&(d.textposition="none")}}if(Array.isArray(e.annotations))for(r=0;r<e.annotations.length;r++)h.annotations.push(e.annotations[r]);var g=Object.keys(h).filter(function(t){return t.match(/^scene\d*$/)});if(g.length){var v={};for("thumbnail"===e.tileClass&&(v={title:{text:""},showaxeslabels:!1,showticklabels:!1,linetickenable:!1}),r=0;r<g.length;r++){var m=h[g[r]];m.xaxis||(m.xaxis={}),m.yaxis||(m.yaxis={}),m.zaxis||(m.zaxis={}),i(m.xaxis,v),i(m.yaxis,v),i(m.zaxis,v),m._scene=null}}var y=document.createElement("div");e.tileClass&&(y.className=e.tileClass);var x={gd:y,td:y,layout:h,data:u,config:{staticPlot:void 0===e.staticPlot||e.staticPlot,plotGlPixelRatio:void 0===e.plotGlPixelRatio?2:e.plotGlPixelRatio,displaylogo:e.displaylogo||!1,showLink:e.showLink||!1,showTips:e.showTips||!1,mapboxAccessToken:f.mapboxAccessToken}};return"transparent"!==e.setBackground&&(x.config.setBackground=e.setBackground||"opaque"),x.gd.defaultLayout=s(e.tileClass),x}},{"../lib":716,"../registry":845}],847:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/to_image"),i=t("./filesaver"),o=t("./helpers");e.exports=function(t,e){var r;return n.isPlainObject(t)||(r=n.getGraphDiv(t)),(e=e||{}).format=e.format||"png",e.imageDataOnly=!0,new Promise(function(s,l){r&&r._snapshotInProgress&&l(new Error("Snapshotting already in progress.")),n.isIE()&&"svg"!==e.format&&l(new Error(o.MSG_IE_BAD_FORMAT)),r&&(r._snapshotInProgress=!0);var c=a(t,e),u=e.filename||t.fn||"newplot";u+="."+e.format,c.then(function(t){return r&&(r._snapshotInProgress=!1),i(t,u,e.format)}).then(function(t){s(t)}).catch(function(t){r&&(r._snapshotInProgress=!1),l(t)})})}},{"../lib":716,"../plot_api/to_image":757,"./filesaver":848,"./helpers":849}],848:[function(t,e,r){"use strict";var n=t("../lib"),a=t("./helpers");e.exports=function(t,e,r){var i=document.createElement("a"),o="download"in i;return new Promise(function(s,l){var c,u;if(n.isIE9orBelow()&&l(new Error("IE < 10 unsupported")),n.isSafari()){var h="svg"===r?",":";base64,";return a.octetStream(h+encodeURIComponent(t)),s(e)}return n.isIE()?(c=a.createBlob(t,"svg"),window.navigator.msSaveBlob(c,e),c=null,s(e)):o?(c=a.createBlob(t,r),u=a.createObjectURL(c),i.href=u,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),a.revokeObjectURL(u),c=null,s(e)):void l(new Error("download error"))})}},{"../lib":716,"./helpers":849}],849:[function(t,e,r){"use strict";var n=t("../registry");r.getDelay=function(t){return t._has&&(t._has("gl3d")||t._has("gl2d")||t._has("mapbox"))?500:0},r.getRedrawFunc=function(t){return function(){var e=t._fullLayout||{};!(e._has&&e._has("polar"))&&t.data&&t.data[0]&&t.data[0].r||n.getComponentMethod("colorbar","draw")(t)}},r.encodeSVG=function(t){return"data:image/svg+xml,"+encodeURIComponent(t)};var a=window.URL||window.webkitURL;r.createObjectURL=function(t){return a.createObjectURL(t)},r.revokeObjectURL=function(t){return a.revokeObjectURL(t)},r.createBlob=function(t,e){if("svg"===e)return new window.Blob([t],{type:"image/svg+xml;charset=utf-8"});var r=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r),a=0;a<e;a++)n[a]=t.charCodeAt(a);return r}(window.atob(t));return new window.Blob([r],{type:"image/"+e})},r.octetStream=function(t){document.location.href="data:application/octet-stream"+t},r.IMAGE_URL_PREFIX=/^data:image\/\w+;base64,/,r.MSG_IE_BAD_FORMAT="Sorry IE does not support downloading from canvas. Try {format:'svg'} instead."},{"../registry":845}],850:[function(t,e,r){"use strict";var n=t("./helpers"),a={getDelay:n.getDelay,getRedrawFunc:n.getRedrawFunc,clone:t("./cloneplot"),toSVG:t("./tosvg"),svgToImg:t("./svgtoimg"),toImage:t("./toimage"),downloadImage:t("./download")};e.exports=a},{"./cloneplot":846,"./download":847,"./helpers":849,"./svgtoimg":851,"./toimage":852,"./tosvg":853}],851:[function(t,e,r){"use strict";var n=t("../lib"),a=t("events").EventEmitter,i=t("./helpers");e.exports=function(t){var e=t.emitter||new a,r=new Promise(function(a,o){var s=window.Image,l=t.svg,c=t.format||"png";if(n.isIE()&&"svg"!==c){var u=new Error(i.MSG_IE_BAD_FORMAT);return o(u),t.promise?r:e.emit("error",u)}var h,f,p=t.canvas,d=t.scale||1,g=t.width||300,v=t.height||150,m=d*g,y=d*v,x=p.getContext("2d"),b=new s;"svg"===c||n.isIE9orBelow()||n.isSafari()?f=i.encodeSVG(l):(h=i.createBlob(l,"svg"),f=i.createObjectURL(h)),p.width=m,p.height=y,b.onload=function(){var r;switch(h=null,i.revokeObjectURL(f),"svg"!==c&&x.drawImage(b,0,0,m,y),c){case"jpeg":r=p.toDataURL("image/jpeg");break;case"png":r=p.toDataURL("image/png");break;case"webp":r=p.toDataURL("image/webp");break;case"svg":r=f;break;default:var n="Image format is not jpeg, png, svg or webp.";if(o(new Error(n)),!t.promise)return e.emit("error",n)}a(r),t.promise||e.emit("success",r)},b.onerror=function(r){if(h=null,i.revokeObjectURL(f),o(r),!t.promise)return e.emit("error",r)},b.src=f});return t.promise?r:e}},{"../lib":716,"./helpers":849,events:105}],852:[function(t,e,r){"use strict";var n=t("events").EventEmitter,a=t("../registry"),i=t("../lib"),o=t("./helpers"),s=t("./cloneplot"),l=t("./tosvg"),c=t("./svgtoimg");e.exports=function(t,e){var r=new n,u=s(t,{format:"png"}),h=u.gd;h.style.position="absolute",h.style.left="-5000px",document.body.appendChild(h);var f=o.getRedrawFunc(h);return a.call("plot",h,u.data,u.layout,u.config).then(f).then(function(){var t=o.getDelay(h._fullLayout);setTimeout(function(){var t=l(h),n=document.createElement("canvas");n.id=i.randstr(),(r=c({format:e.format,width:h._fullLayout.width,height:h._fullLayout.height,canvas:n,emitter:r,svg:t})).clean=function(){h&&document.body.removeChild(h)}},t)}).catch(function(t){r.emit("error",t)}),r}},{"../lib":716,"../registry":845,"./cloneplot":846,"./helpers":849,"./svgtoimg":851,"./tosvg":853,events:105}],853:[function(t,e,r){"use strict";var n=t("d3"),a=t("../lib"),i=t("../components/drawing"),o=t("../components/color"),s=t("../constants/xmlns_namespaces"),l=/"/g,c=new RegExp('("TOBESTRIPPED)|(TOBESTRIPPED")',"g");e.exports=function(t,e,r){var u,h=t._fullLayout,f=h._paper,p=h._toppaper,d=h.width,g=h.height;f.insert("rect",":first-child").call(i.setRect,0,0,d,g).call(o.fill,h.paper_bgcolor);var v=h._basePlotModules||[];for(u=0;u<v.length;u++){var m=v[u];m.toSVG&&m.toSVG(t)}if(p){var y=p.node().childNodes,x=Array.prototype.slice.call(y);for(u=0;u<x.length;u++){var b=x[u];b.childNodes.length&&f.node().appendChild(b)}}h._draggers&&h._draggers.remove(),f.node().style.background="",f.selectAll("text").attr({"data-unformatted":null,"data-math":null}).each(function(){var t=n.select(this);if("hidden"!==this.style.visibility&&"none"!==this.style.display){t.style({visibility:null,display:null});var e=this.style.fontFamily;e&&-1!==e.indexOf('"')&&t.style("font-family",e.replace(l,"TOBESTRIPPED"))}else t.remove()}),f.selectAll(".point, .scatterpts, .legendfill>path, .legendlines>path, .cbfill").each(function(){var t=n.select(this),e=this.style.fill;e&&-1!==e.indexOf("url(")&&t.style("fill",e.replace(l,"TOBESTRIPPED"));var r=this.style.stroke;r&&-1!==r.indexOf("url(")&&t.style("stroke",r.replace(l,"TOBESTRIPPED"))}),"pdf"!==e&&"eps"!==e||f.selectAll("#MathJax_SVG_glyphs path").attr("stroke-width",0),f.node().setAttributeNS(s.xmlns,"xmlns",s.svg),f.node().setAttributeNS(s.xmlns,"xmlns:xlink",s.xlink),"svg"===e&&r&&(f.attr("width",r*d),f.attr("height",r*g),f.attr("viewBox","0 0 "+d+" "+g));var _=(new window.XMLSerializer).serializeToString(f.node());return _=function(t){var e=n.select("body").append("div").style({display:"none"}).html(""),r=t.replace(/(&[^;]*;)/gi,function(t){return"&lt;"===t?"&#60;":"&rt;"===t?"&#62;":-1!==t.indexOf("<")||-1!==t.indexOf(">")?"":e.html(t).text()});return e.remove(),r}(_),_=(_=_.replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&amp;")).replace(c,"'"),a.isIE()&&(_=(_=(_=_.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),_}},{"../components/color":591,"../components/drawing":612,"../constants/xmlns_namespaces":693,"../lib":716,d3:164}],854:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var a=e.marker;if(a){n.mergeArray(a.opacity,t,"mo",!0),n.mergeArray(a.color,t,"mc");var i=a.line;i&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"))}}},{"../../lib":716}],855:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/font_attributes"),l=t("./constants"),c=t("../../lib/extend").extendFlat,u=s({editType:"calc",arrayOk:!0,colorEditType:"style"}),h=c({},n.marker.line.width,{dflt:0}),f=c({width:h,editType:"calc"},o("marker.line")),p=c({line:f,editType:"calc"},o("marker"),{opacity:{valType:"number",arrayOk:!0,dflt:1,min:0,max:1,editType:"style"}});e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,texttemplate:i({editType:"plot"},{keys:l.eventDataKeys}),hovertext:n.hovertext,hovertemplate:a({},{keys:l.eventDataKeys}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"none",arrayOk:!0,editType:"calc"},insidetextanchor:{valType:"enumerated",values:["end","middle","start"],dflt:"end",editType:"plot"},textangle:{valType:"angle",dflt:"auto",editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),constraintext:{valType:"enumerated",values:["inside","outside","both","none"],dflt:"both",editType:"calc"},cliponaxis:c({},n.cliponaxis,{}),orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},base:{valType:"any",dflt:null,arrayOk:!0,editType:"calc"},offset:{valType:"number",dflt:null,arrayOk:!0,editType:"calc"},width:{valType:"number",dflt:null,min:0,arrayOk:!0,editType:"calc"},marker:p,offsetgroup:{valType:"string",dflt:"",editType:"calc"},alignmentgroup:{valType:"string",dflt:"",editType:"calc"},selected:{marker:{opacity:n.selected.marker.opacity,color:n.selected.marker.color,editType:"style"},textfont:n.selected.textfont,editType:"style"},unselected:{marker:{opacity:n.unselected.marker.opacity,color:n.unselected.marker.color,editType:"style"},textfont:n.unselected.textfont,editType:"style"},r:n.r,t:n.t,_deprecated:{bardir:{valType:"enumerated",editType:"calc",values:["v","h"]}}}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/font_attributes":790,"../../plots/template_attributes":840,"../scatter/attributes":1118,"./constants":857}],856:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),o=t("./arrays_to_calcdata"),s=t("../scatter/calc_selection");e.exports=function(t,e){var r,l,c=n.getFromId(t,e.xaxis||"x"),u=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=c.makeCalcdata(e,"x"),l=u.makeCalcdata(e,"y")):(r=u.makeCalcdata(e,"y"),l=c.makeCalcdata(e,"x"));for(var h=Math.min(l.length,r.length),f=new Array(h),p=0;p<h;p++)f[p]={p:l[p],s:r[p]},e.ids&&(f[p].id=String(e.ids[p]));return a(e,"marker")&&i(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),a(e,"marker.line")&&i(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),o(f,e),s(f,e),f}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120,"./arrays_to_calcdata":854}],857:[function(t,e,r){"use strict";e.exports={TEXTPAD:3,eventDataKeys:["value","label"]}},{}],858:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("../../constants/numerical").BADNUM,o=t("../../registry"),s=t("../../plots/cartesian/axes"),l=t("../../plots/cartesian/axis_ids").getAxisGroup,c=t("./sieve.js");function u(t,e,r,o,u){if(o.length){var b,_,w,k;switch(function(t,e){var r,i;for(r=0;r<e.length;r++){var o,s=e[r],l=s[0].trace,c="funnel"===l.type?l._base:l.base,u="h"===l.orientation?l.xcalendar:l.ycalendar,h="category"===t.type||"multicategory"===t.type?function(){return null}:t.d2c;if(a(c)){for(i=0;i<Math.min(c.length,s.length);i++)o=h(c[i],0,u),n(o)?(s[i].b=+o,s[i].hasB=1):s[i].b=0;for(;i<s.length;i++)s[i].b=0}else{o=h(c,0,u);var f=n(o);for(o=f?o:0,i=0;i<s.length;i++)s[i].b=o,f&&(s[i].hasB=1)}}}(r,o),u.mode){case"overlay":h(e,r,o,u);break;case"group":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.offset?_.push(k):b.push(k);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:!1,overlapNoMerge:!a.norm});(function(t,e,r,n){for(var a=t._fullLayout,i=r.positions,o=r.distinctPositions,s=r.minDiff,c=r.traces,u=c.length,h=i.length!==o.length,f=s*(1-n.gap),v=l(a,e._id)+c[0][0].trace.orientation,m=a._alignmentOpts[v]||{},y=0;y<u;y++){var x,b,_=c[y],w=_[0].trace,k=m[w.alignmentgroup]||{},T=Object.keys(k.offsetGroups||{}).length,A=(x=T?f/T:h?f/u:f)*(1-(n.groupgap||0));b=T?((2*w._offsetIndex+1-T)*x-A)/2:h?((2*y+1-u)*x-A)/2:-A/2;var M=_[0].t;M.barwidth=A,M.poffset=b,M.bargroupwidth=f,M.bardelta=s}r.binWidth=c[0][0].t.barwidth/100,p(r),d(e,r),g(e,r,h)})(t,e,o,a),function(t){for(var e=t.traces,r=0;r<e.length;r++){var n=e[r],a=n[0].trace;if(void 0===a.base)for(var o=new c([n],{sepNegVal:!0,overlapNoMerge:!0}),s=0;s<n.length;s++){var l=n[s];if(l.p!==i){var u=o.put(l.p,l.b+l.s);u&&(l.b=u)}}}}(o),a.norm?(m(o),y(r,o,a)):v(r,o)}(t,e,r,_,u),b.length&&h(e,r,b,u);break;case"stack":case"relative":for(b=[],_=[],w=0;w<o.length;w++)void 0===(k=o[w])[0].trace.base?_.push(k):b.push(k);_.length&&function(t,e,r,n,a){var o=new c(n,{sepNegVal:"relative"===a.mode,overlapNoMerge:!(a.norm||"stack"===a.mode||"relative"===a.mode)});f(e,o,a),function(t,e,r){var n,a,o,l,c,u,h=x(t),f=e.traces;for(l=0;l<f.length;l++)if(n=f[l],"funnel"===(a=n[0].trace).type)for(c=0;c<n.length;c++)(u=n[c]).s!==i&&e.put(u.p,-.5*u.s);for(l=0;l<f.length;l++){n=f[l],a=n[0].trace,o="funnel"===a.type;var p=[];for(c=0;c<n.length;c++)if((u=n[c]).s!==i){var d;d=o?u.s:u.s+u.b;var g=e.put(u.p,d),v=g+d;u.b=g,u[h]=v,r.norm||(p.push(v),u.hasB&&p.push(g))}r.norm||(a._extremes[t._id]=s.findExtremes(t,p,{tozero:!0,padded:!0}))}}(r,o,a);for(var l=0;l<n.length;l++)for(var u=n[l],h=0;h<u.length;h++){var p=u[h];if(p.s!==i){var d=p.b+p.s===o.get(p.p,p.s);d&&(p._outmost=!0)}}a.norm&&y(r,o,a)}(0,e,r,_,u),b.length&&h(e,r,b,u)}!function(t,e){var r,a,i,o=x(e),s={},l=1/0,c=-1/0;for(r=0;r<t.length;r++)for(i=t[r],a=0;a<i.length;a++){var u=i[a].p;n(u)&&(l=Math.min(l,u),c=Math.max(c,u))}var h=1e4/(c-l),f=s.round=function(t){return String(Math.round(h*(t-l)))};for(r=0;r<t.length;r++){(i=t[r])[0].t.extents=s;var p=i[0].t.poffset,d=Array.isArray(p);for(a=0;a<i.length;a++){var g=i[a],v=g[o]-g.w/2;if(n(v)){var m=g[o]+g.w/2,y=f(g.p);s[y]?s[y]=[Math.min(v,s[y][0]),Math.max(m,s[y][1])]:s[y]=[v,m]}g.p0=g.p+(d?p[a]:p),g.p1=g.p0+g.w,g.s0=g.b,g.s1=g.s0+g.s}}}(o,e)}}function h(t,e,r,n){for(var a=0;a<r.length;a++){var i=r[a],o=new c([i],{sepNegVal:!1,overlapNoMerge:!n.norm});f(t,o,n),n.norm?(m(o),y(e,o,n)):v(e,o)}}function f(t,e,r){for(var n=e.minDiff,a=e.traces,i=n*(1-r.gap),o=i*(1-(r.groupgap||0)),s=-o/2,l=0;l<a.length;l++){var c=a[l][0].t;c.barwidth=o,c.poffset=s,c.bargroupwidth=i,c.bardelta=n}e.binWidth=a[0][0].t.barwidth/100,p(e),d(t,e),g(t,e)}function p(t){var e,r,i=t.traces;for(e=0;e<i.length;e++){var o,s=i[e],l=s[0],c=l.trace,u=l.t,h=c._offset||c.offset,f=u.poffset;if(a(h)){for(o=Array.prototype.slice.call(h,0,s.length),r=0;r<o.length;r++)n(o[r])||(o[r]=f);for(r=o.length;r<s.length;r++)o.push(f);u.poffset=o}else void 0!==h&&(u.poffset=h);var p=c._width||c.width,d=u.barwidth;if(a(p)){var g=Array.prototype.slice.call(p,0,s.length);for(r=0;r<g.length;r++)n(g[r])||(g[r]=d);for(r=g.length;r<s.length;r++)g.push(d);if(u.barwidth=g,void 0===h){for(o=[],r=0;r<s.length;r++)o.push(f+(d-g[r])/2);u.poffset=o}}else void 0!==p&&(u.barwidth=p,void 0===h&&(u.poffset=f+(d-p)/2))}}function d(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++)for(var i=r[a],o=i[0].t,s=o.poffset,l=Array.isArray(s),c=o.barwidth,u=Array.isArray(c),h=0;h<i.length;h++){var f=i[h],p=f.w=u?c[h]:c;f[n]=f.p+(l?s[h]:s)+p/2}}function g(t,e,r){var n=e.traces,a=e.minDiff/2;s.minDtick(t,e.minDiff,e.distinctPositions[0],r);for(var i=0;i<n.length;i++){var o,l,c,u,h=n[i],f=h[0],p=f.trace,d=[];for(u=0;u<h.length;u++)l=(o=h[u]).p-a,c=o.p+a,d.push(l,c);if(p.width||p.offset){var g=f.t,v=g.poffset,m=g.barwidth,y=Array.isArray(v),x=Array.isArray(m);for(u=0;u<h.length;u++){o=h[u];var b=y?v[u]:v,_=x?m[u]:m;c=(l=o.p+b)+_,d.push(l,c)}}p._extremes[t._id]=s.findExtremes(t,d,{padded:!1})}}function v(t,e){for(var r=e.traces,n=x(t),a=0;a<r.length;a++){for(var i=r[a],o=i[0].trace,l=[],c=!0,u=0;u<i.length;u++){var h=i[u],f=h.b,p=f+h.s;h[n]=p,l.push(p),h.hasB&&l.push(f),h.hasB&&h.b>0&&h.s>0||(c=!1)}o._extremes[t._id]=s.findExtremes(t,l,{tozero:!c,padded:!0})}}function m(t){for(var e=t.traces,r=0;r<e.length;r++)for(var n=e[r],a=0;a<n.length;a++){var o=n[a];o.s!==i&&t.put(o.p,o.b+o.s)}}function y(t,e,r){var a=e.traces,o=x(t),l="fraction"===r.norm?1:100,c=l/1e9,u=t.l2c(t.c2l(0)),h="stack"===r.mode?l:u;function f(e){return n(t.c2l(e))&&(e<u-c||e>h+c||!n(u))}for(var p=0;p<a.length;p++){for(var d=a[p],g=d[0].trace,v=[],m=!0,y=!1,b=0;b<d.length;b++){var _=d[b];if(_.s!==i){var w=Math.abs(l/e.get(_.p,_.s));_.b*=w,_.s*=w;var k=_.b,T=k+_.s;_[o]=T,v.push(T),y=y||f(T),_.hasB&&(v.push(k),y=y||f(k)),_.hasB&&_.b>0&&_.s>0||(m=!1)}}g._extremes[t._id]=s.findExtremes(t,v,{tozero:!m,padded:y})}}function x(t){return t._id.charAt(0)}e.exports={crossTraceCalc:function(t,e){for(var r=e.xaxis,n=e.yaxis,a=t._fullLayout,i=t._fullData,s=t.calcdata,l=[],c=[],h=0;h<i.length;h++){var f=i[h];!0===f.visible&&o.traceIs(f,"bar")&&f.xaxis===r._id&&f.yaxis===n._id&&("h"===f.orientation?l.push(s[h]):c.push(s[h]))}var p={mode:a.barmode,norm:a.barnorm,gap:a.bargap,groupgap:a.bargroupgap};u(t,r,n,c,p),u(t,n,r,l,p)},setGroupPositions:u}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767,"../../registry":845,"./sieve.js":868,"fast-isnumeric":227}],859:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../registry"),o=t("../scatter/xy_defaults"),s=t("./style_defaults"),l=t("../../plots/cartesian/axis_ids").getAxisGroup,c=t("./attributes"),u=n.coerceFont;function h(t,e,r,n){var a=e.orientation,i=e[{v:"x",h:"y"}[a]+"axis"],o=l(r,i)+a,s=r._alignmentOpts||{},c=n("alignmentgroup"),u=s[o];u||(u=s[o]={});var h=u[c];h?h.traces.push(e):h=u[c]={traces:[e],alignmentIndex:Object.keys(u).length,offsetGroups:{}};var f=n("offsetgroup"),p=h.offsetGroups,d=p[f];f&&(d||(d=p[f]={offsetIndex:Object.keys(p).length}),e._offsetIndex=d.offsetIndex)}function f(t,e,r,a,i,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),h=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=Array.isArray(i)||"auto"===i,g=d||"inside"===i,v=d||"outside"===i;if(g||v){var m=u(a,"textfont",r.font),y=n.extendFlat({},m);!(t.textfont&&t.textfont.color)&&delete y.color,u(a,"insidetextfont",y),v&&u(a,"outsidetextfont",m),s&&a("selected.textfont.color"),l&&a("unselected.textfont.color"),c&&a("constraintext"),h&&a("cliponaxis"),f&&a("textangle"),a("texttemplate")}g&&p&&a("insidetextanchor")}e.exports={supplyDefaults:function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}if(o(t,e,l,u)){u("orientation",e.x&&!e.y?"h":"v"),u("base"),u("offset"),u("width"),u("text"),u("hovertext"),u("hovertemplate");var h=u("textposition");f(t,0,l,u,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),s(t,e,u,r,l);var p=(e.marker.line||{}).color,d=i.getComponentMethod("errorbars","supplyDefaults");d(t,e,p||a.defaultLine,{axis:"y"}),d(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1},crossTraceDefaults:function(t,e){var r;function a(t){return n.coerce(r._input,r,c,t)}if("group"===e.barmode)for(var i=0;i<t.length;i++)"bar"===(r=t[i]).type&&(r._input,h(0,r,e,a))},handleGroupingDefaults:h,handleText:f}},{"../../components/color":591,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../scatter/xy_defaults":1144,"./attributes":855,"./style_defaults":870}],860:[function(t,e,r){"use strict";e.exports=function(t,e,r){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),"h"===r.orientation?(t.label=t.y,t.value=t.x):(t.label=t.x,t.value=t.y),t}},{}],861:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("tinycolor2"),i=t("../../lib").isArrayOrTypedArray;r.coerceString=function(t,e,r){if("string"==typeof e){if(e||!t.noBlank)return e}else if(("number"==typeof e||!0===e)&&!t.strict)return String(e);return void 0!==r?r:t.dflt},r.coerceNumber=function(t,e,r){if(n(e)){e=+e;var a=t.min,i=t.max;if(!(void 0!==a&&e<a||void 0!==i&&e>i))return e}return void 0!==r?r:t.dflt},r.coerceColor=function(t,e,r){return a(e).isValid()?e:void 0!==r?r:t.dflt},r.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},r.getValue=function(t,e){var r;return Array.isArray(t)?e<t.length&&(r=t[e]):r=t,r},r.getLineWidth=function(t,e){return 0<e.mlw?e.mlw:i(t.marker.line.width)?0:t.marker.line.width}},{"../../lib":716,"fast-isnumeric":227,tinycolor2:535}],862:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../registry"),i=t("../../components/color"),o=t("../../lib").fillText,s=t("./helpers").getLineWidth,l=t("../../plots/cartesian/axes").hoverLabelText;function c(t,e,r,a){var i,s,c,u,h,f,p,d=t.cd,g=d[0].trace,v=d[0].t,m="closest"===a,y="waterfall"===g.type,x=t.maxHoverDistance,b=t.maxSpikeDistance;function _(t){return t[c]-t.w/2}function w(t){return t[c]+t.w/2}var k=m?_:function(t){return Math.min(_(t),t.p-v.bardelta/2)},T=m?w:function(t){return Math.max(w(t),t.p+v.bardelta/2)};function A(t,e){return n.inbox(t-i,e-i,x+Math.min(1,Math.abs(e-t)/p)-1)}function M(t){return A(k(t),T(t))}function S(t){var e=s,r=t.b,a=t[u];return y&&(a+=Math.abs(t.rawS||0)),n.inbox(r-e,a-e,x+(a-e)/(a-r)-1)}"h"===g.orientation?(i=r,s=e,c="y",u="x",h=S,f=M):(i=e,s=r,c="x",u="y",f=S,h=M);var E=t[c+"a"],L=t[u+"a"];p=Math.abs(E.r2c(E.range[1])-E.r2c(E.range[0]));var C=n.getDistanceFunction(a,h,f,function(t){return(h(t)+f(t))/2});if(n.getClosest(d,C,t),!1!==t.index){m||(k=function(t){return Math.min(_(t),t.p-v.bargroupwidth/2)},T=function(t){return Math.max(w(t),t.p+v.bargroupwidth/2)});var P=d[t.index],O=g.base?P.b+P.s:P.s;t[u+"0"]=t[u+"1"]=L.c2p(P[u],!0),t[u+"LabelVal"]=O;var z=v.extents[v.extents.round(P.p)];return t[c+"0"]=E.c2p(m?k(P):z[0],!0),t[c+"1"]=E.c2p(m?T(P):z[1],!0),t[c+"LabelVal"]=P.p,t.labelLabel=l(E,t[c+"LabelVal"]),t.valueLabel=l(L,t[u+"LabelVal"]),t.spikeDistance=(S(P)+function(t){return A(_(t),w(t))}(P))/2+b-x,t[c+"Spike"]=E.c2p(P.p,!0),o(P,g,t),t.hovertemplate=g.hovertemplate,t}}function u(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,a=s(t,e);return i.opacity(r)?r:i.opacity(n)&&a?n:void 0}e.exports={hoverPoints:function(t,e,r,n){var i=c(t,e,r,n);if(i){var o=i.cd,s=o[0].trace,l=o[i.index];return i.color=u(s,l),a.getComponentMethod("errorbars","hoverInfo")(l,s,i),[i]}},hoverOnBars:c,getTraceColor:u}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./helpers":861}],863:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,colorbar:t("../scatter/marker_colorbar"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"bar",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},{"../../plots/cartesian":775,"../scatter/marker_colorbar":1136,"./arrays_to_calcdata":854,"./attributes":855,"./calc":856,"./cross_trace_calc":858,"./defaults":859,"./event_data":860,"./hover":862,"./layout_attributes":864,"./layout_defaults":865,"./plot":866,"./select":867,"./style":869}],864:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],865:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../plots/cartesian/axes"),i=t("../../lib"),o=t("./layout_attributes");e.exports=function(t,e,r){function s(r,n){return i.coerce(t,e,o,r,n)}for(var l=!1,c=!1,u=!1,h={},f=s("barmode"),p=0;p<r.length;p++){var d=r[p];if(n.traceIs(d,"bar")&&d.visible){if(l=!0,"group"===f){var g=d.xaxis+d.yaxis;h[g]&&(u=!0),h[g]=!0}if(d.visible&&"histogram"===d.type)"category"!==a.getFromId({_fullLayout:e},d["v"===d.orientation?"xaxis":"yaxis"]).type&&(c=!0)}}l?("overlay"!==f&&s("barnorm"),s("bargap",c&&!u?0:.2),s("bargroupgap")):delete e.barmode}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"./layout_attributes":864}],866:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../../components/color"),l=t("../../components/drawing"),c=t("../../registry"),u=t("../../plots/cartesian/axes").tickText,h=t("./style"),f=t("./helpers"),p=t("./constants"),d=t("./attributes"),g=d.text,v=d.textposition,m=t("../../components/fx/helpers").appendArrayPointValue,y=p.TEXTPAD;function x(t){return t.id}function b(t){if(t.ids)return x}function _(t,e){return t<e?1:-1}function w(t,e,r){var n;return k(e)?(r&&(n=r()),t.transition().duration(e.duration).ease(e.easing).each("end",function(){n&&n()}).each("interrupt",function(){n&&n()})):t}function k(t){return t&&t.duration>0}function T(t){return"auto"===t?0:t}function A(t,e,r,n,a,i){var o=!!i.isHorizontal,s=!!i.constrained,l=i.angle||0,c=i.anchor||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r),d=f>2*y&&p>2*y?y:0;f-=2*d,p-=2*d;var g=!1;if(!("auto"===l)||u<=f&&h<=p||!(u>f||h>p)||(u>p||h>f)&&u<h==f<p||(g=!0),g){var v=p;p=f,f=v}var m=T(l),x=Math.abs(Math.sin(Math.PI/180*m)),b=Math.abs(Math.cos(Math.PI/180*m)),w=Math.max(f*b,p*x),k=Math.max(f*x,p*b),A=s?Math.min(w/u,k/h):Math.max(b,x);A=Math.min(1,A);var M=(t+e)/2,S=(r+n)/2;"middle"!==c&&(d+=.5*(A*(o!==g?h:u)*x+A*(o!==g?u:h)*b),o?(d*=_(t,e),M="start"===c?t+d:e-d):(d*=_(r,n),S="start"===c?r+d:n-d));return g&&(m+=90),{textX:(a.left+a.right)/2,textY:(a.top+a.bottom)/2,targetX:M,targetY:S,scale:A,rotate:m}}function M(t,e,r,n,a,i){var o,s=!!i.isHorizontal,l=!!i.constrained,c=i.angle||0,u=a.width,h=a.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*y?y:0:f>2*y?y:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var g=T(c);o+=.5*(d*(s?h:u)*Math.abs(Math.sin(Math.PI/180*g))+d*(s?u:h)*Math.abs(Math.cos(Math.PI/180*g)));var v=(t+e)/2,m=(r+n)/2;return s?v=e-o*_(e,t):m=n+o*_(r,n),{textX:(a.left+a.right)/2,textY:(a.top+a.bottom)/2,targetX:v,targetY:m,scale:d,rotate:g}}e.exports={plot:function(t,e,r,p,d,x){var T=e.xaxis,S=e.yaxis,E=t._fullLayout;d||(d={mode:E.barmode,norm:E.barmode,gap:E.bargap,groupgap:E.bargroupgap});var L=i.makeTraceGroups(p,r,"trace bars").each(function(r){var c=n.select(this),p=r[0].trace,E="waterfall"===p.type,L="funnel"===p.type,C="bar"===p.type||L,P=0;E&&p.connector.visible&&"between"===p.connector.mode&&(P=p.connector.line.width/2);var O="h"===p.orientation,z=i.ensureSingle(c,"g","points"),I=b(p),D=z.selectAll("g.point").data(i.identity,I);D.enter().append("g").classed("point",!0),D.exit().remove(),D.each(function(c,b){var E,L,z=n.select(this),I=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),n?[a,i]:[i,a]}(c,T,S,O),D=I[0][0],R=I[0][1],F=I[1][0],B=I[1][1],N=!(D!==R&&F!==B&&a(D)&&a(R)&&a(F)&&a(B));if(N&&C&&f.getLineWidth(p,c)&&(O?R-D==0:B-F==0)&&(N=!1),c.isBlank=N,N&&O&&(R=D),N&&!O&&(B=F),P&&!N&&(O?(D-=_(D,R)*P,R+=_(D,R)*P):(F-=_(F,B)*P,B+=_(F,B)*P)),"waterfall"===p.type){if(!N){var j=p[c.dir].marker;E=j.line.width,L=j.color}}else E=f.getLineWidth(p,c),L=c.mc||p.marker.color;var V=n.round(E/2%1,2);function U(t){return 0===d.gap&&0===d.groupgap?n.round(Math.round(t)-V,2):t}if(!t._context.staticPlot){var q=s.opacity(L)<1||E>.01?U:function(t,e){return Math.abs(t-e)>=2?U(t):t>e?Math.ceil(t):Math.floor(t)};D=q(D,R),R=q(R,D),F=q(F,B),B=q(B,F)}var H=w(i.ensureSingle(z,"path"),d,x);if(H.style("vector-effect","non-scaling-stroke").attr("d","M"+D+","+F+"V"+B+"H"+R+"V"+F+"Z").call(l.setClipUrl,e.layerClipId,t),k(d)){var G=l.makePointStyleFns(p);l.singlePointStyle(c,H,p,G,t)}!function(t,e,r,n,a,s,c,p,d,x,b){var _,k=e.xaxis,T=e.yaxis,S=t._fullLayout;function E(e,r,n){var a=i.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+_,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t);return a}var L=n[0].trace,C="h"===L.orientation,P=function(t,e,r,n,a){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,a){var o=e[0].trace,s=i.castOption(o,r,"texttemplate");if(!s)return"";var l,c,h,f,p="waterfall"===o.type,d="funnel"===o.type;function g(t){return u(f,+t,!0).text}"h"===o.orientation?(l="y",c=a,h="x",f=n):(l="x",c=n,h="y",f=a);var v,y=e[r],x={};x.label=y.p,x.labelLabel=x[l+"Label"]=(v=y.p,u(c,v,!0).text);var b=i.castOption(o,y.i,"text");(0===b||b)&&(x.text=b),x.value=y.s,x.valueLabel=x[h+"Label"]=g(y.s);var _={};m(_,o,y.i),p&&(x.delta=+y.rawS||y.s,x.deltaLabel=g(x.delta),x.final=y.v,x.finalLabel=g(x.final),x.initial=x.final-x.delta,x.initialLabel=g(x.initial)),d&&(x.value=y.s,x.valueLabel=g(x.value),x.percentInitial=y.begR,x.percentInitialLabel=i.formatPercent(y.begR),x.percentPrevious=y.difR,x.percentPreviousLabel=i.formatPercent(y.difR),x.percentTotal=y.sumR,x.percenTotalLabel=i.formatPercent(y.sumR));var w=i.castOption(o,y.i,"customdata");return w&&(x.customdata=w),i.texttemplateString(s,x,t._d3locale,_,x,o._meta||{})}(t,e,r,n,a):s.textinfo?function(t,e,r,n){var a=t[0].trace,o="h"===a.orientation,s="waterfall"===a.type,l="funnel"===a.type;function c(t){var e=o?r:n;return u(e,+t,!0).text}var h,f,p=a.textinfo,d=t[e],g=p.split("+"),v=[],m=function(t){return-1!==g.indexOf(t)};if(m("label")&&v.push((f=t[e].p,u(o?n:r,f,!0).text)),m("text")&&(0===(h=i.castOption(a,d.i,"text"))||h)&&v.push(h),s){var y=+d.rawS||d.s,x=d.v,b=x-y;m("initial")&&v.push(c(b)),m("delta")&&v.push(c(y)),m("final")&&v.push(c(x))}if(l){m("value")&&v.push(c(d.s));var _=0;m("percent initial")&&_++,m("percent previous")&&_++,m("percent total")&&_++;var w=_>1;m("percent initial")&&(h=i.formatPercent(d.begR),w&&(h+=" of initial"),v.push(h)),m("percent previous")&&(h=i.formatPercent(d.difR),w&&(h+=" of previous"),v.push(h)),m("percent total")&&(h=i.formatPercent(d.sumR),w&&(h+=" of total"),v.push(h))}return v.join("<br>")}(e,r,n,a):f.getValue(s.text,r),f.coerceString(g,o)}(S,n,a,k,T);_=function(t,e){var r=f.getValue(t.textposition,e);return f.coerceEnumerated(v,r)}(L,a);var O="stack"===x.mode||"relative"===x.mode,z=n[a],I=!O||z._outmost;if(P&&"none"!==_&&(!z.isBlank&&s!==c&&p!==d||"auto"!==_&&"inside"!==_)){var D=S.font,R=h.getBarColor(n[a],L),F=h.getInsideTextFont(L,a,D,R),B=h.getOutsideTextFont(L,a,D),N=r.datum();C?"log"===k.type&&N.s0<=0&&(s=k.range[0]<k.range[1]?0:k._length):"log"===T.type&&N.s0<=0&&(p=T.range[0]<T.range[1]?T._length:0);var j,V,U,q,H,G,Y=Math.abs(c-s)-2*y,W=Math.abs(d-p)-2*y;if("outside"===_&&(I||z.hasB||(_="inside")),"auto"===_)if(I){_="inside",j=E(r,P,F),V=l.bBox(j.node()),U=V.width,q=V.height;var X=U>0&&q>0,Z=U<=Y&&q<=W,J=U<=W&&q<=Y,K=C?Y>=U*(W/q):W>=q*(Y/U);X&&(Z||J||K)?_="inside":(_="outside",j.remove(),j=null)}else _="inside";if(!j){var Q=(j=E(r,P,"outside"===_?B:F)).attr("transform");if(j.attr("transform",""),V=l.bBox(j.node()),U=V.width,q=V.height,j.attr("transform",Q),U<=0||q<=0)return void j.remove()}"outside"===_?(G="both"===L.constraintext||"outside"===L.constraintext,H=i.getTextTransform(M(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle}))):(G="both"===L.constraintext||"inside"===L.constraintext,H=i.getTextTransform(A(s,c,p,d,V,{isHorizontal:C,constrained:G,angle:L.textangle,anchor:L.insidetextanchor}))),w(j,x,b).attr("transform",H)}else r.select("text").remove()}(t,e,z,r,b,D,R,F,B,d,x),e.layerClipId&&l.hideOutsideRangePoint(c,z.select("text"),T,S,p.xcalendar,p.ycalendar)});var R=!1===p.cliponaxis;l.setClipUrl(c,R?null:e.layerClipId,t)});c.getComponentMethod("errorbars","plot")(t,L,e,d)},toMoveInsideBar:A,toMoveOutsideBar:M}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx/helpers":626,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../registry":845,"./attributes":855,"./constants":857,"./helpers":861,"./style":869,d3:164,"fast-isnumeric":227}],867:[function(t,e,r){"use strict";function n(t,e,r,n,a){var i=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return a?[(i+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(i+o)/2,l]}e.exports=function(t,e){var r,a=t.cd,i=t.xaxis,o=t.yaxis,s=a[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===e)for(r=0;r<a.length;r++)a[r].selected=0;else for(r=0;r<a.length;r++){var h=a[r],f="ct"in h?h.ct:n(h,i,o,c,l);e.contains(f,!1,r,t)?(u.push({pointNumber:r,x:i.c2d(h.x),y:o.c2d(h.y)}),h.selected=1):h.selected=0}return u}},{}],868:[function(t,e,r){"use strict";e.exports=i;var n=t("../../lib").distinctVals,a=t("../../constants/numerical").BADNUM;function i(t,e){this.traces=t,this.sepNegVal=e.sepNegVal,this.overlapNoMerge=e.overlapNoMerge;for(var r=1/0,i=[],o=0;o<t.length;o++){for(var s=t[o],l=0;l<s.length;l++){var c=s[l];c.p!==a&&i.push(c.p)}s[0]&&s[0].width1&&(r=Math.min(s[0].width1,r))}this.positions=i;var u=n(i);this.distinctPositions=u.vals,1===u.vals.length&&r!==1/0?this.minDiff=r:this.minDiff=Math.min(u.minDiff,r),this.binWidth=this.minDiff,this.bins={}}i.prototype.put=function(t,e){var r=this.getLabel(t,e),n=this.bins[r]||0;return this.bins[r]=n+e,n},i.prototype.get=function(t,e){var r=this.getLabel(t,e);return this.bins[r]||0},i.prototype.getLabel=function(t,e){return(e<0&&this.sepNegVal?"v":"^")+(this.overlapNoMerge?t:Math.round(t/this.binWidth))}},{"../../constants/numerical":692,"../../lib":716}],869:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../registry"),l=t("./attributes"),c=l.textfont,u=l.insidetextfont,h=l.outsidetextfont,f=t("./helpers");function p(t,e,r){i.pointStyle(t.selectAll("path"),e,r),d(t,e,r)}function d(t,e,r){t.selectAll("text").each(function(t){var a=n.select(this),o=g(a,t,e,r);i.font(a,o)})}function g(t,e,r,n){var a=n._fullLayout.font,i=r.textfont;if(t.classed("bartext-inside")){var o=b(e,r);i=m(r,e.i,a,o)}else t.classed("bartext-outside")&&(i=y(r,e.i,a));return i}function v(t,e,r){return x(c,t.textfont,e,r)}function m(t,e,r,n){var i=v(t,e,r);return(void 0===t._input.textfont||void 0===t._input.textfont.color||Array.isArray(t.textfont.color)&&void 0===t.textfont.color[e])&&(i={color:a.contrast(n),family:i.family,size:i.size}),x(u,t.insidetextfont,e,i)}function y(t,e,r){var n=v(t,e,r);return x(h,t.outsidetextfont,e,n)}function x(t,e,r,n){e=e||{};var a=f.getValue(e.family,r),i=f.getValue(e.size,r),o=f.getValue(e.color,r);return{family:f.coerceString(t.family,a,n.family),size:f.coerceNumber(t.size,i,n.size),color:f.coerceColor(t.color,o,n.color)}}function b(t,e){return"waterfall"===e.type?e[t.dir].marker.color:t.mc||e.marker.color}e.exports={style:function(t){var e=n.select(t).selectAll("g.barlayer").selectAll("g.trace"),r=e.size(),a=t._fullLayout;e.style("opacity",function(t){return t[0].trace.opacity}).each(function(t){("stack"===a.barmode&&r>1||0===a.bargap&&0===a.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")}),e.selectAll("g.points").each(function(e){p(n.select(this),e[0].trace,t)}),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:d,styleOnSelect:function(t,e,r){var a=e[0].trace;a.selectedpoints?function(t,e,r){i.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each(function(t){var a,s=n.select(this);if(t.selected){a=o.extendFlat({},g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(a.color=l),i.font(s,a)}else i.selectedTextStyle(s,e)})}(t.selectAll("text"),e,r)}(r,a,t):(p(r,a,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:y,getBarColor:b}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../registry":845,"./attributes":855,"./helpers":861,d3:164}],870:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s){r("marker.color",o),a(t,"marker")&&i(t,e,s,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),a(t,"marker.line")&&i(t,e,s,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),r("selected.marker.color"),r("unselected.marker.color")}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602}],871:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../lib/extend").extendFlat,i=t("../scatterpolar/attributes"),o=t("../bar/attributes");e.exports={r:i.r,theta:i.theta,r0:i.r0,dr:i.dr,theta0:i.theta0,dtheta:i.dtheta,thetaunit:i.thetaunit,base:a({},o.base,{}),offset:a({},o.offset,{}),width:a({},o.width,{}),text:a({},o.text,{}),hovertext:a({},o.hovertext,{}),marker:o.marker,hoverinfo:i.hoverinfo,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatterpolar/attributes":1190}],872:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),i=t("../bar/arrays_to_calcdata"),o=t("../bar/cross_trace_calc").setGroupPositions,s=t("../scatter/calc_selection"),l=t("../../registry").traceIs,c=t("../../lib").extendFlat;e.exports={calc:function(t,e){for(var r=t._fullLayout,o=e.subplot,l=r[o].radialaxis,c=r[o].angularaxis,u=l.makeCalcdata(e,"r"),h=c.makeCalcdata(e,"theta"),f=e._length,p=new Array(f),d=u,g=h,v=0;v<f;v++)p[v]={p:g[v],s:d[v]};function m(t){var r=e[t];void 0!==r&&(e["_"+t]=Array.isArray(r)?c.makeCalcdata(e,t):c.d2c(r,e.thetaunit))}return"linear"===c.type&&(m("width"),m("offset")),n(e,"marker")&&a(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&a(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}),i(p,e),s(p,e),p},crossTraceCalc:function(t,e,r){for(var n=t.calcdata,a=[],i=0;i<n.length;i++){var s=n[i],u=s[0].trace;!0===u.visible&&l(u,"bar")&&u.subplot===r&&a.push(s)}var h=c({},e.radialaxis,{_id:"x"}),f=e.angularaxis;o(t,f,h,a,{mode:e.barmode,norm:e.barnorm,gap:e.bargap,groupgap:e.bargroupgap})}}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../lib":716,"../../registry":845,"../bar/arrays_to_calcdata":854,"../bar/cross_trace_calc":858,"../scatter/calc_selection":1120}],873:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatterpolar/defaults").handleRThetaDefaults,i=t("../bar/style_defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}a(t,e,s,l)?(l("thetaunit"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate"),i(t,e,l,r,s),n.coerceSelectionMarkerOpacity(e,l)):e.visible=!1}},{"../../lib":716,"../bar/style_defaults":870,"../scatterpolar/defaults":1192,"./attributes":871}],874:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../bar/hover").getTraceColor,o=a.fillText,s=t("../scatterpolar/hover").makeHoverPointText,l=t("../../plots/polar/helpers").isPtInsidePolygon;e.exports=function(t,e,r){var c=t.cd,u=c[0].trace,h=t.subplot,f=h.radialAxis,p=h.angularAxis,d=h.vangles,g=d?l:a.isPtInsideSector,v=t.maxHoverDistance,m=p._period||2*Math.PI,y=Math.abs(f.g2p(Math.sqrt(e*e+r*r))),x=Math.atan2(r,e);f.range[0]>f.range[1]&&(x+=Math.PI);if(n.getClosest(c,function(t){return g(y,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?v+Math.min(1,Math.abs(t.thetag1-t.thetag0)/m)-1+(t.rp1-y)/(t.rp1-t.rp0)-1:1/0},t),!1!==t.index){var b=c[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=a.extendFlat({},b,{r:b.s,theta:b.p});return o(b,u,t),s(_,u,h,t),t.hovertemplate=u.hovertemplate,t.color=i(u,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},{"../../components/fx":629,"../../lib":716,"../../plots/polar/helpers":827,"../bar/hover":862,"../scatterpolar/hover":1194}],875:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"barpolar",basePlotModule:t("../../plots/polar"),categories:["polar","bar","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("../scatterpolar/format_labels"),style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../bar/select"),meta:{}}},{"../../plots/polar":828,"../bar/select":867,"../bar/style":869,"../scatter/marker_colorbar":1136,"../scatterpolar/format_labels":1193,"./attributes":871,"./calc":872,"./defaults":873,"./hover":874,"./layout_attributes":876,"./layout_defaults":877,"./plot":878}],876:[function(t,e,r){"use strict";e.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},{}],877:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i,o={};function s(r,o){return n.coerce(t[i]||{},e[i],a,r,o)}for(var l=0;l<r.length;l++){var c=r[l];"barpolar"===c.type&&!0===c.visible&&(o[i=c.subplot]||(s("barmode"),s("bargap"),o[i]=1))}}},{"../../lib":716,"./layout_attributes":876}],878:[function(t,e,r){"use strict";var n=t("d3"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../components/drawing"),s=t("../../plots/polar/helpers");e.exports=function(t,e,r){var l=e.xaxis,c=e.yaxis,u=e.radialAxis,h=e.angularAxis,f=function(t){var e=t.cxx,r=t.cyy;if(t.vangles)return function(n,a,o,l){var c,u;i.angleDelta(o,l)>0?(c=o,u=l):(c=l,u=o);var h=s.findEnclosingVertexAngles(c,t.vangles)[0],f=s.findEnclosingVertexAngles(u,t.vangles)[1],p=[h,(c+u)/2,f];return s.pathPolygonAnnulus(n,a,c,u,p,e,r)};return function(t,n,a,o){return i.pathAnnulus(t,n,a,o,e,r)}}(e),p=e.layers.frontplot.select("g.barlayer");i.makeTraceGroups(p,r,"trace bars").each(function(){var r=n.select(this),s=i.ensureSingle(r,"g","points").selectAll("g.point").data(i.identity);s.enter().append("g").style("vector-effect","non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each(function(t){var e,r=n.select(this),o=t.rp0=u.c2p(t.s0),s=t.rp1=u.c2p(t.s1),p=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(a(o)&&a(s)&&a(p)&&a(d)&&o!==s&&p!==d){var g=u.c2g(t.s1),v=(p+d)/2;t.ct=[l.c2p(g*Math.cos(v)),c.c2p(g*Math.sin(v))],e=f(o,s,p,d)}else e="M0,0Z";i.ensureSingle(r,"path").attr("d",e)}),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)})}},{"../../components/drawing":612,"../../lib":716,"../../plots/polar/helpers":827,d3:164,"fast-isnumeric":227}],879:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../bar/attributes"),i=t("../../components/color/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../lib/extend").extendFlat,l=n.marker,c=l.line;e.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},name:{valType:"string",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),hovertemplate:o({}),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],dflt:"outliers",editType:"calc"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],dflt:!1,editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:s({},l.symbol,{arrayOk:!1,editType:"plot"}),opacity:s({},l.opacity,{arrayOk:!1,dflt:1,editType:"style"}),size:s({},l.size,{arrayOk:!1,editType:"calc"}),color:s({},l.color,{arrayOk:!1,editType:"style"}),line:{color:s({},c.color,{arrayOk:!1,dflt:i.defaultLine,editType:"style"}),width:s({},c.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:n.selected.marker,editType:"style"},unselected:{marker:n.unselected.marker,editType:"style"},hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118}],880:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=a._,o=t("../../plots/cartesian/axes");function s(t,e,r){var n={text:"tx",hovertext:"htx"};for(var a in n)Array.isArray(e[a])&&(t[n[a]]=e[a][r])}function l(t,e){return t.v-e.v}function c(t){return t.v}e.exports=function(t,e){var r,u,h,f,p,d=t._fullLayout,g=o.getFromId(t,e.xaxis||"x"),v=o.getFromId(t,e.yaxis||"y"),m=[],y="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(u=g,h="x",f=v,p="y"):(u=v,h="y",f=g,p="x");var x,b=u.makeCalcdata(e,h),_=function(t,e,r,i,o){if(e in t)return r.makeCalcdata(t,e);var s;s=e+"0"in t?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||a.isDateTime(t.name)&&"date"===r.type)?t.name:o;var l="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]);return i.map(function(){return l})}(e,p,f,b,d[y]),w=a.distinctVals(_),k=w.vals,T=w.minDiff/2,A=function(t,e){for(var r=t.length,n=new Array(r+1),a=0;a<r;a++)n[a]=t[a]-e;return n[r]=t[r-1]+e,n}(k,T),M=k.length,S=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=[];return e}(M);for(r=0;r<e._length;r++){var E=b[r];if(n(E)){var L=a.findBin(_[r],A);if(L>=0&&L<M){var C={v:E,i:r};s(C,e,r),S[L].push(C)}}}var P="all"===(e.boxpoints||e.points)?a.identity:function(t){return t.v<x.lf||t.v>x.uf};for(r=0;r<M;r++)if(S[r].length>0){var O=S[r].sort(l),z=O.map(c),I=z.length;(x={}).pos=k[r],x.pts=O,x[p]=x.pos,x[h]=x.pts.map(function(t){return t.v}),x.min=z[0],x.max=z[I-1],x.mean=a.mean(z,I),x.sd=a.stdev(z,I,x.mean),x.q1=a.interp(z,.25),x.med=a.interp(z,.5),x.q3=a.interp(z,.75),x.lf=Math.min(x.q1,z[Math.min(a.findBin(2.5*x.q1-1.5*x.q3,z,!0)+1,I-1)]),x.uf=Math.max(x.q3,z[Math.max(a.findBin(2.5*x.q3-1.5*x.q1,z),0)]),x.lo=4*x.q1-3*x.q3,x.uo=4*x.q3-3*x.q1;var D=1.57*(x.q3-x.q1)/Math.sqrt(I);x.ln=x.med-D,x.un=x.med+D,x.pts2=O.filter(P),m.push(x)}!function(t,e){if(a.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r<t.length;r++){for(var n=t[r].pts||[],i={},o=0;o<n.length;o++)i[n[o].i]=o;a.tagSelected(n,e,i)}}(m,e);var R=o.findExtremes(u,b,{padded:!0});return e._extremes[u._id]=R,m.length>0?(m[0].t={num:d[y],dPos:T,posLetter:p,valLetter:h,labels:{med:i(t,"median:"),min:i(t,"min:"),q1:i(t,"q1:"),q3:i(t,"q3:"),max:i(t,"max:"),mean:"sd"===e.boxmean?i(t,"mean \xb1 \u03c3:"):i(t,"mean:"),lf:i(t,"lower fence:"),uf:i(t,"upper fence:")}},d[y]++,m):[{t:{empty:!0}}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"fast-isnumeric":227}],881:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids").getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],g=0;for(s=0;s<r.length;s++)for(c=u[r[s]],l=0;l<c.length;l++)d.push(o.c2l(c[l].pos,!0)),g+=(c[l].pts2||[]).length;if(d.length){var v=a.distinctVals(d),m=v.minDiff/2;n.minDtick(o,v.minDiff,v.vals[0],!0);var y=h["violin"===t?"_numViolins":"_numBoxes"],x="group"===h[t+"mode"]&&y>1,b=1-h[t+"gap"],_=1-h[t+"groupgap"];for(s=0;s<r.length;s++){var w,k,T,A,M,S,E=(c=u[r[s]])[0].trace,L=c[0].t,C=E.width,P=E.side;if(C)w=k=A=C/2,T=0;else if(w=m,x){var O=i(h,o._id)+E.orientation,z=(h._alignmentOpts[O]||{})[E.alignmentgroup]||{},I=Object.keys(z.offsetGroups||{}).length,D=I||y;k=w*b*_/D,T=2*w*(((I?E._offsetIndex:L.num)+.5)/D-.5)*b,A=w*b/D}else k=w*b*_,T=0,A=w;L.dPos=w,L.bPos=T,L.bdPos=k,L.wHover=A;var R,F,B,N,j,V,U=T+k,q=Boolean(C);if("positive"===P?(M=w*(C?1:.5),R=U,S=R=T):"negative"===P?(M=R=T,S=w*(C?1:.5),F=U):(M=S=w,R=F=U),(E.boxpoints||E.points)&&g>0){var H=E.pointpos,G=E.jitter,Y=E.marker.size/2,W=0;H+G>=0&&((W=U*(H+G))>M?(q=!0,j=Y,B=W):W>R&&(j=Y,B=M)),W<=M&&(B=M);var X=0;H-G<=0&&((X=-U*(H-G))>S?(q=!0,V=Y,N=X):X>F&&(V=Y,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(c.length);for(l=0;l<c.length;l++)Z[l]=c[l].pos;E._extremes[f]=n.findExtremes(o,Z,{padded:q,vpadminus:N,vpadplus:B,vpadLinearized:!0,ppadminus:{x:V,y:j}[p],ppadplus:{x:j,y:V}[p]})}}}e.exports={crossTraceCalc:function(t,e){for(var r=t.calcdata,n=e.xaxis,a=e.yaxis,i=0;i<o.length;i++){for(var l=o[i],c="h"===l?a:n,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||"box"!==d.type&&"candlestick"!==d.type||p.empty||(d.orientation||"v")!==l||d.xaxis!==n._id||d.yaxis!==a._id||u.push(h)}s("box",t,u,c)}},setPositionOffset:s}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767}],882:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("../../components/color"),o=t("../bar/defaults").handleGroupingDefaults,s=t("./attributes");function l(t,e,r,i){var o,s,l=r("y"),c=r("x"),u=c&&c.length;if(l&&l.length)o="v",u?s=Math.min(n.minRowLength(c),n.minRowLength(l)):(r("x0"),s=n.minRowLength(l));else{if(!u)return void(e.visible=!1);o="h",r("y0"),s=n.minRowLength(c)}e._length=s,a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],i),r("orientation",o)}function c(t,e,r,a){var i=a.prefix,o=n.coerce2(t,e,s,"marker.outliercolor"),l=r("marker.line.outliercolor"),c=r(i+"points",o||l?"suspectedoutliers":void 0);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var u=r("hoveron");"all"!==u&&-1===u.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}e.exports={supplyDefaults:function(t,e,r,a){function o(r,a){return n.coerce(t,e,s,r,a)}l(t,e,o,a),!1!==e.visible&&(o("line.color",(t.marker||{}).color||r),o("line.width"),o("fillcolor",i.addOpacity(e.line.color,.5)),o("whiskerwidth"),o("boxmean"),o("width"),o("notched",void 0!==t.notchwidth)&&o("notchwidth"),c(t,e,o,{prefix:"box"}))},crossTraceDefaults:function(t,e){var r,a;function i(t){return n.coerce(a._input,a,s,t)}for(var l=0;l<t.length;l++){var c=(a=t[l]).type;"box"!==c&&"violin"!==c||(r=a._input,"group"===e[c+"mode"]&&o(r,a,e,i))}},handleSampleDefaults:l,handlePointsDefaults:c}},{"../../components/color":591,"../../lib":716,"../../registry":845,"../bar/defaults":859,"./attributes":879}],883:[function(t,e,r){"use strict";e.exports=function(t,e){return e.hoverOnBox&&(t.hoverOnBox=e.hoverOnBox),"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],884:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../components/fx"),o=t("../../components/color"),s=a.fillText;function l(t,e,r,s){var l,c,u,h,f,p,d,g,v,m,y,x,b,_,w=t.cd,k=t.xa,T=t.ya,A=w[0].trace,M=w[0].t,S="violin"===A.type,E=[],L=M.bdPos,C=M.wHover,P=function(t){return u.c2l(t.pos)+M.bPos-u.c2l(p)};S&&"both"!==A.side?("positive"===A.side&&(v=function(t){var e=P(t);return i.inbox(e,e+C,m)},x=L,b=0),"negative"===A.side&&(v=function(t){var e=P(t);return i.inbox(e-C,e,m)},x=0,b=L)):(v=function(t){var e=P(t);return i.inbox(e-C,e+C,m)},x=b=L),_=S?function(t){return i.inbox(t.span[0]-f,t.span[1]-f,m)}:function(t){return i.inbox(t.min-f,t.max-f,m)},"h"===A.orientation?(f=e,p=r,d=_,g=v,l="y",u=T,c="x",h=k):(f=r,p=e,d=v,g=_,l="x",u=k,c="y",h=T);var O=Math.min(1,L/Math.abs(u.r2c(u.range[1])-u.r2c(u.range[0])));function z(t){return(d(t)+g(t))/2}m=t.maxHoverDistance-O,y=t.maxSpikeDistance-O;var I=i.getDistanceFunction(s,d,g,z);if(i.getClosest(w,I,t),!1===t.index)return[];var D=w[t.index],R=A.line.color,F=(A.marker||{}).color;o.opacity(R)&&A.line.width?t.color=R:o.opacity(F)&&A.boxpoints?t.color=F:t.color=A.fillcolor,t[l+"0"]=u.c2p(D.pos+M.bPos-b,!0),t[l+"1"]=u.c2p(D.pos+M.bPos+x,!0),t[l+"LabelVal"]=D.pos;var B=l+"Spike";t.spikeDistance=z(D)*y/m,t[B]=u.c2p(D.pos,!0);var N={},j=["med","q1","q3","min","max"];(A.boxmean||(A.meanline||{}).visible)&&j.push("mean"),(A.boxpoints||A.points)&&j.push("lf","uf");for(var V=0;V<j.length;V++){var U=j[V];if(U in D&&!(D[U]in N)){N[D[U]]=!0;var q=D[U],H=h.c2p(q,!0),G=a.extendFlat({},t);G.attr=U,G[c+"0"]=G[c+"1"]=H,G[c+"LabelVal"]=q,G[c+"Label"]=(M.labels?M.labels[U]+" ":"")+n.hoverLabelText(h,q),G.hoverOnBox=!0,"mean"===U&&"sd"in D&&"sd"===A.boxmean&&(G[c+"err"]=D.sd),t.name="",t.spikeDistance=void 0,t[B]=void 0,G.hovertemplate=!1,E.push(G)}}return E}function c(t,e,r){for(var n,o,l,c=t.cd,u=t.xa,h=t.ya,f=c[0].trace,p=u.c2p(e),d=h.c2p(r),g=i.quadrature(function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(u.c2p(t.x)-p)-e,1-3/e)},function(t){var e=Math.max(3,t.mrc||0);return Math.max(Math.abs(h.c2p(t.y)-d)-e,1-3/e)}),v=!1,m=0;m<c.length;m++){o=c[m];for(var y=0;y<(o.pts||[]).length;y++){var x=g(l=o.pts[y]);x<=t.distance&&(t.distance=x,v=[m,y])}}if(!v)return!1;l=(o=c[v[0]]).pts[v[1]];var b,_=u.c2p(l.x,!0),w=h.c2p(l.y,!0),k=l.mrc||1;return n=a.extendFlat({},t,{index:l.i,color:(f.marker||{}).color,name:f.name,x0:_-k,x1:_+k,y0:w-k,y1:w+k,spikeDistance:t.distance,hovertemplate:f.hovertemplate}),"h"===f.orientation?(b=h,n.xLabelVal=l.x,n.yLabelVal=o.pos):(b=u,n.xLabelVal=o.pos,n.yLabelVal=l.y),n[b._id.charAt(0)+"Spike"]=b.c2p(o.pos,!0),s(l,f,n),n}e.exports={hoverPoints:function(t,e,r,n){var a,i=t.cd[0].trace.hoveron,o=[];return-1!==i.indexOf("boxes")&&(o=o.concat(l(t,e,r,n))),-1!==i.indexOf("points")&&(a=c(t,e,r)),"closest"===n?a?[a]:o:a?(o.push(a),o):o},hoverOnBoxes:l,hoverOnPoints:c}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764}],885:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults").supplyLayoutDefaults,calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"box",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","boxLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"./attributes":879,"./calc":880,"./cross_trace_calc":881,"./defaults":882,"./event_data":883,"./hover":884,"./layout_attributes":886,"./layout_defaults":887,"./plot":888,"./select":889,"./style":890}],886:[function(t,e,r){"use strict";e.exports={boxmode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},boxgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"},boxgroupgap:{valType:"number",min:0,max:1,dflt:.3,editType:"calc"}}},{}],887:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("./layout_attributes");function o(t,e,r,a,i){for(var o=i+"Layout",s=!1,l=0;l<r.length;l++){var c=r[l];if(n.traceIs(c,o)){s=!0;break}}s&&(a(i+"mode"),a(i+"gap"),a(i+"groupgap"))}e.exports={supplyLayoutDefaults:function(t,e,r){o(0,0,r,function(r,n){return a.coerce(t,e,i,r,n)},"box")},_supply:o}},{"../../lib":716,"../../registry":845,"./layout_attributes":886}],888:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=5,s=.01;function l(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.wdPos||0,f=i.bPosPxOffset||0,p=r.whiskerwidth||0,d=r.notched||!1,g=d?1-2*r.notchwidth:1;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var v=t.selectAll("path.box").data("violin"!==r.type||r.box.visible?a.identity:[]);v.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","box"),v.exit().remove(),v.each(function(t){if(t.empty)return"M0,0Z";var e=l.c2l(t.pos+u,!0),i=l.l2p(e)+f,v=l.l2p(e-o)+f,m=l.l2p(e+s)+f,y=l.l2p(e-h)+f,x=l.l2p(e+h)+f,b=l.l2p(e-o*g)+f,_=l.l2p(e+s*g)+f,w=c.c2p(t.q1,!0),k=c.c2p(t.q3,!0),T=a.constrain(c.c2p(t.med,!0),Math.min(w,k)+1,Math.max(w,k)-1),A=void 0===t.lf||!1===r.boxpoints,M=c.c2p(A?t.min:t.lf,!0),S=c.c2p(A?t.max:t.uf,!0),E=c.c2p(t.ln,!0),L=c.c2p(t.un,!0);"h"===r.orientation?n.select(this).attr("d","M"+T+","+b+"V"+_+"M"+w+","+v+"V"+m+(d?"H"+E+"L"+T+","+_+"L"+L+","+m:"")+"H"+k+"V"+v+(d?"H"+L+"L"+T+","+b+"L"+E+","+v:"")+"ZM"+w+","+i+"H"+M+"M"+k+","+i+"H"+S+(0===p?"":"M"+M+","+y+"V"+x+"M"+S+","+y+"V"+x)):n.select(this).attr("d","M"+b+","+T+"H"+_+"M"+v+","+w+"H"+m+(d?"V"+E+"L"+_+","+T+"L"+m+","+L:"")+"V"+k+"H"+v+(d?"V"+L+"L"+b+","+T+"L"+v+","+E:"")+"ZM"+i+","+w+"V"+M+"M"+i+","+k+"V"+S+(0===p?"":"M"+y+","+M+"H"+x+"M"+y+","+S+"H"+x))})}function c(t,e,r,n){var l=e.x,c=e.y,u=n.bdPos,h=n.bPos,f=r.boxpoints||r.points;a.seedPseudoRandom();var p=t.selectAll("g.points").data(f?function(t){return t.forEach(function(t){t.t=n,t.trace=r}),t}:[]);p.enter().append("g").attr("class","points"),p.exit().remove();var d=p.selectAll("path").data(function(t){var e,n,i=t.pts2,l=Math.max((t.max-t.min)/10,t.q3-t.q1),c=1e-9*l,p=l*s,d=[],g=0;if(r.jitter){if(0===l)for(g=1,d=new Array(i.length),e=0;e<i.length;e++)d[e]=1;else for(e=0;e<i.length;e++){var v=Math.max(0,e-o),m=i[v].v,y=Math.min(i.length-1,e+o),x=i[y].v;"all"!==f&&(i[e].v<t.lf?x=Math.min(x,t.lf):m=Math.max(m,t.uf));var b=Math.sqrt(p*(y-v)/(x-m+c))||0;b=a.constrain(Math.abs(b),0,1),d.push(b),g=Math.max(b,g)}n=2*r.jitter/(g||1)}for(e=0;e<i.length;e++){var _=i[e],w=_.v,k=r.jitter?n*d[e]*(a.pseudoRandom()-.5):0,T=t.pos+h+u*(r.pointpos+k);"h"===r.orientation?(_.y=T,_.x=w):(_.x=T,_.y=w),"suspectedoutliers"===f&&w<t.uo&&w>t.lo&&(_.so=!0)}return i});d.enter().append("path").classed("point",!0),d.exit().remove(),d.call(i.translatePoints,l,c)}function u(t,e,r,i){var o,s,l=e.pos,c=e.val,u=i.bPos,h=i.bPosPxOffset||0,f=r.boxmean||(r.meanline||{}).visible;Array.isArray(i.bdPos)?(o=i.bdPos[0],s=i.bdPos[1]):(o=i.bdPos,s=i.bdPos);var p=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?a.identity:[]);p.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),p.exit().remove(),p.each(function(t){var e=l.c2l(t.pos+u,!0),a=l.l2p(e)+h,i=l.l2p(e-o)+h,p=l.l2p(e+s)+h,d=c.c2p(t.mean,!0),g=c.c2p(t.mean-t.sd,!0),v=c.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+d+","+i+"V"+p+("sd"===f?"m0,0L"+g+","+a+"L"+d+","+i+"L"+v+","+a+"Z":"")):n.select(this).attr("d","M"+i+","+d+"H"+p+("sd"===f?"m0,0L"+a+","+g+"L"+i+","+d+"L"+a+","+v+"Z":""))})}e.exports={plot:function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace boxes").each(function(t){var e,r,a=n.select(this),i=t[0],h=i.t,f=i.trace;h.wdPos=h.bdPos*f.whiskerwidth,!0!==f.visible||h.empty?a.remove():("h"===f.orientation?(e=s,r=o):(e=o,r=s),l(a,{pos:e,val:r},f,h),c(a,{x:o,y:s},f,h),u(a,{pos:e,val:r},f,h))})},plotBoxAndWhiskers:l,plotPoints:c,plotBoxMean:u}},{"../../components/drawing":612,"../../lib":716,d3:164}],889:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a=t.cd,i=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++)a[r].pts[n].selected=0;else for(r=0;r<a.length;r++)for(n=0;n<(a[r].pts||[]).length;n++){var l=a[r].pts[n],c=i.c2p(l.x),u=o.c2p(l.y);e.contains([c,u],null,l.i,t)?(s.push({pointNumber:l.i,x:i.c2d(l.x),y:o.c2d(l.y)}),l.selected=1):l.selected=0}return s}},{}],890:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing");e.exports={style:function(t,e,r){var o=r||n.select(t).selectAll("g.trace.boxes");o.style("opacity",function(t){return t[0].trace.opacity}),o.each(function(e){var r=n.select(this),o=e[0].trace,s=o.line.width;function l(t,e,r,n){t.style("stroke-width",e+"px").call(a.stroke,r).call(a.fill,n)}var c=r.selectAll("path.box");if("candlestick"===o.type)c.each(function(t){if(!t.empty){var e=n.select(this),r=o[t.dir];l(e,r.line.width,r.line.color,r.fillcolor),e.style("opacity",o.selectedpoints&&!t.selected?.3:1)}});else{l(c,s,o.line.color,o.fillcolor),r.selectAll("path.mean").style({"stroke-width":s,"stroke-dasharray":2*s+"px,"+s+"px"}).call(a.stroke,o.line.color);var u=r.selectAll("path.point");i.pointStyle(u,o,t)}})},styleOnSelect:function(t,e,r){var n=e[0].trace,a=r.selectAll("path.point");n.selectedpoints?i.selectedPointStyle(a,n):i.pointStyle(a,n,t)}}},{"../../components/color":591,"../../components/drawing":612,d3:164}],891:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,a=t("../ohlc/attributes"),i=t("../box/attributes");function o(t){return{line:{color:n({},i.line.color,{dflt:t}),width:i.line.width,editType:"style"},fillcolor:i.fillcolor,editType:"style"}}e.exports={x:a.x,open:a.open,high:a.high,low:a.low,close:a.close,line:{width:n({},i.line.width,{}),editType:"style"},increasing:o(a.increasing.line.color.dflt),decreasing:o(a.decreasing.line.color.dflt),text:a.text,hovertext:a.hovertext,whiskerwidth:n({},i.whiskerwidth,{dflt:0}),hoverlabel:a.hoverlabel}},{"../../lib":716,"../box/attributes":879,"../ohlc/attributes":1064}],892:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../ohlc/calc").calcCommon;function o(t,e,r,n){return{min:r,q1:Math.min(t,n),med:n,q3:Math.max(t,n),max:e}}e.exports=function(t,e){var r=t._fullLayout,s=a.getFromId(t,e.xaxis),l=a.getFromId(t,e.yaxis),c=s.makeCalcdata(e,"x"),u=i(t,e,c,l,o);return u.length?(n.extendFlat(u[0].t,{num:r._numBoxes,dPos:n.distinctVals(c).minDiff/2,posLetter:"x",valLetter:"y"}),r._numBoxes++,u):[{t:{empty:!0}}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"../ohlc/calc":1065}],893:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../ohlc/ohlc_defaults"),o=t("./attributes");function s(t,e,r,n){var i=r(n+".line.color");r(n+".line.width",e.line.width),r(n+".fillcolor",a.addOpacity(i,.5))}e.exports=function(t,e,r,a){function l(r,a){return n.coerce(t,e,o,r,a)}i(t,e,l,a)?(l("line.width"),s(t,e,l,"increasing"),s(t,e,l,"decreasing"),l("text"),l("hovertext"),l("whiskerwidth"),a._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../components/color":591,"../../lib":716,"../ohlc/ohlc_defaults":1069,"./attributes":891}],894:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"candlestick",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend","candlestick","boxLayout"],meta:{},attributes:t("./attributes"),layoutAttributes:t("../box/layout_attributes"),supplyLayoutDefaults:t("../box/layout_defaults").supplyLayoutDefaults,crossTraceCalc:t("../box/cross_trace_calc").crossTraceCalc,supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("../box/plot").plot,layerName:"boxlayer",style:t("../box/style").style,hoverPoints:t("../ohlc/hover").hoverPoints,selectPoints:t("../ohlc/select")}},{"../../plots/cartesian":775,"../box/cross_trace_calc":881,"../box/layout_attributes":886,"../box/layout_defaults":887,"../box/plot":888,"../box/style":890,"../ohlc/hover":1067,"../ohlc/select":1071,"./attributes":891,"./calc":892,"./defaults":893}],895:[function(t,e,r){"use strict";var n=t("./axis_defaults"),a=t("../../plot_api/plot_template");e.exports=function(t,e,r,i,o){i("a")||(i("da"),i("a0")),i("b")||(i("db"),i("b0")),function(t,e,r,i){["aaxis","baxis"].forEach(function(o){var s=o.charAt(0),l=t[o]||{},c=a.newContainer(e,o),u={tickfont:"x",id:s+"axis",letter:s,font:e.font,name:o,data:t[s],calendar:e.calendar,dfltColor:i,bgColor:r.paper_bgcolor,fullLayout:r};n(l,c,u),c._categories=c._categories||[],t[o]||"-"===l.type||(t[o]={type:l.type})})}(t,e,r,o)}},{"../../plot_api/plot_template":754,"./axis_defaults":900}],896:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t){return function t(e,r){if(!n(e)||r>=10)return null;var a=1/0;var i=-1/0;var o=e.length;for(var s=0;s<o;s++){var l=e[s];if(n(l)){var c=t(l,r+1);c&&(a=Math.min(c[0],a),i=Math.max(c[1],i))}else a=Math.min(l,a),i=Math.max(l,i)}return[a,i]}(t,0)}},{"../../lib":716}],897:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("./axis_attributes"),i=t("../../components/color/attributes"),o=n({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=i.defaultLine,e.exports={carpet:{valType:"string",editType:"calc"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},a:{valType:"data_array",editType:"calc"},a0:{valType:"number",dflt:0,editType:"calc"},da:{valType:"number",dflt:1,editType:"calc"},b:{valType:"data_array",editType:"calc"},b0:{valType:"number",dflt:0,editType:"calc"},db:{valType:"number",dflt:1,editType:"calc"},cheaterslope:{valType:"number",dflt:1,editType:"calc"},aaxis:a,baxis:a,font:o,color:{valType:"color",dflt:i.defaultLine,editType:"plot"},transforms:void 0}},{"../../components/color/attributes":590,"../../plots/font_attributes":790,"./axis_attributes":899}],898:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,a){var i,o,s,l,c,u,h,f,p,d,g,v,m,y=n(r)?"a":"b",x=("a"===y?t.aaxis:t.baxis).smoothing,b="a"===y?t.a2i:t.b2j,_="a"===y?r:a,w="a"===y?a:r,k="a"===y?e.a.length:e.b.length,T="a"===y?e.b.length:e.a.length,A=Math.floor("a"===y?t.b2j(w):t.a2i(w)),M="a"===y?function(e){return t.evalxy([],e,A)}:function(e){return t.evalxy([],A,e)};x&&(s=Math.max(0,Math.min(T-2,A)),l=A-s,o="a"===y?function(e,r){return t.dxydi([],e,s,r,l)}:function(e,r){return t.dxydj([],s,e,l,r)});var S=b(_[0]),E=b(_[1]),L=S<E?1:-1,C=1e-8*(E-S),P=L>0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,z=L>0?Math.min:Math.max,I=L>0?Math.max:Math.min,D=P(S+C),R=O(E-C),F=[[h=M(S)]];for(i=D;i*L<R*L;i+=L)c=[],g=I(S,i),m=(v=z(E,i+L))-g,u=Math.max(0,Math.min(k-2,Math.floor(.5*(g+v)))),f=M(v),x&&(p=o(u,g-u),d=o(u,v-u),c.push([h[0]+p[0]/3*m,h[1]+p[1]/3*m]),c.push([f[0]-d[0]/3*m,f[1]-d[1]/3*m])),c.push(f),F.push(c),h=f;return F}},{"../../lib":716}],899:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../components/color/attributes"),i=t("../../plots/cartesian/layout_attributes"),o=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK,t("../../constants/docs").TIME_FORMAT_LINK;e.exports={color:{valType:"color",editType:"calc"},smoothing:{valType:"number",dflt:1,min:0,max:1.3,editType:"calc"},title:{text:{valType:"string",dflt:"",editType:"calc"},font:n({editType:"calc"}),offset:{valType:"number",dflt:10,editType:"calc"},editType:"calc"},type:{valType:"enumerated",values:["-","linear","date","category"],dflt:"-",editType:"calc"},autorange:{valType:"enumerated",values:[!0,!1,"reversed"],dflt:!0,editType:"calc"},rangemode:{valType:"enumerated",values:["normal","tozero","nonnegative"],dflt:"normal",editType:"calc"},range:{valType:"info_array",editType:"calc",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}]},fixedrange:{valType:"boolean",dflt:!1,editType:"calc"},cheatertype:{valType:"enumerated",values:["index","value"],dflt:"value",editType:"calc"},tickmode:{valType:"enumerated",values:["linear","array"],dflt:"array",editType:"calc"},nticks:{valType:"integer",min:0,dflt:0,editType:"calc"},tickvals:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},showticklabels:{valType:"enumerated",values:["start","end","both","none"],dflt:"start",editType:"calc"},tickfont:n({editType:"calc"}),tickangle:{valType:"angle",dflt:"auto",editType:"calc"},tickprefix:{valType:"string",dflt:"",editType:"calc"},showtickprefix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},ticksuffix:{valType:"string",dflt:"",editType:"calc"},showticksuffix:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},showexponent:{valType:"enumerated",values:["all","first","last","none"],dflt:"all",editType:"calc"},exponentformat:{valType:"enumerated",values:["none","e","E","power","SI","B"],dflt:"B",editType:"calc"},separatethousands:{valType:"boolean",dflt:!1,editType:"calc"},tickformat:{valType:"string",dflt:"",editType:"calc"},tickformatstops:o(i.tickformatstops,"calc","from-root"),categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},labelpadding:{valType:"integer",dflt:10,editType:"calc"},labelprefix:{valType:"string",editType:"calc"},labelsuffix:{valType:"string",dflt:"",editType:"calc"},showline:{valType:"boolean",dflt:!1,editType:"calc"},linecolor:{valType:"color",dflt:a.defaultLine,editType:"calc"},linewidth:{valType:"number",min:0,dflt:1,editType:"calc"},gridcolor:{valType:"color",editType:"calc"},gridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},showgrid:{valType:"boolean",dflt:!0,editType:"calc"},minorgridcount:{valType:"integer",min:0,dflt:0,editType:"calc"},minorgridwidth:{valType:"number",min:0,dflt:1,editType:"calc"},minorgridcolor:{valType:"color",dflt:a.lightLine,editType:"calc"},startline:{valType:"boolean",editType:"calc"},startlinecolor:{valType:"color",editType:"calc"},startlinewidth:{valType:"number",dflt:1,editType:"calc"},endline:{valType:"boolean",editType:"calc"},endlinewidth:{valType:"number",dflt:1,editType:"calc"},endlinecolor:{valType:"color",editType:"calc"},tick0:{valType:"number",min:0,dflt:0,editType:"calc"},dtick:{valType:"number",min:0,dflt:1,editType:"calc"},arraytick0:{valType:"integer",min:0,dflt:0,editType:"calc"},arraydtick:{valType:"integer",min:1,dflt:1,editType:"calc"},_deprecated:{title:{valType:"string",editType:"calc"},titlefont:n({editType:"calc"}),titleoffset:{valType:"number",dflt:10,editType:"calc"}},editType:"calc"}},{"../../components/color/attributes":590,"../../constants/docs":687,"../../plot_api/edit_types":747,"../../plots/cartesian/layout_attributes":776,"../../plots/font_attributes":790}],900:[function(t,e,r){"use strict";var n=t("./attributes"),a=t("../../components/color").addOpacity,i=t("../../registry"),o=t("../../lib"),s=t("../../plots/cartesian/tick_value_defaults"),l=t("../../plots/cartesian/tick_label_defaults"),c=t("../../plots/cartesian/category_order_defaults"),u=t("../../plots/cartesian/set_convert"),h=t("../../plots/cartesian/axis_autotype");e.exports=function(t,e,r){var f=r.letter,p=r.font||{},d=n[f+"axis"];function g(r,n){return o.coerce(t,e,d,r,n)}function v(r,n){return o.coerce2(t,e,d,r,n)}r.name&&(e._name=r.name,e._id=r.name);var m=g("type");("-"===m&&(r.data&&function(t,e){if("-"!==t.type)return;var r=t._id.charAt(0),n=t[r+"calendar"];t.type=h(e,n)}(e,r.data),"-"===e.type?e.type="linear":m=t.type=e.type),g("smoothing"),g("cheatertype"),g("showticklabels"),g("labelprefix",f+" = "),g("labelsuffix"),g("showtickprefix"),g("showticksuffix"),g("separatethousands"),g("tickformat"),g("exponentformat"),g("showexponent"),g("categoryorder"),g("tickmode"),g("tickvals"),g("ticktext"),g("tick0"),g("dtick"),"array"===e.tickmode&&(g("arraytick0"),g("arraydtick")),g("labelpadding"),e._hovertitle=f,"date"===m)&&i.getComponentMethod("calendars","handleDefaults")(t,e,"calendar",r.calendar);u(e,r.fullLayout),e.c2p=o.identity;var y=g("color",r.dfltColor),x=y===t.color?y:p.color;g("title.text")&&(o.coerceFont(g,"title.font",{family:p.family,size:Math.round(1.2*p.size),color:x}),g("title.offset")),g("tickangle"),g("autorange",!e.isValidRange(t.range))&&g("rangemode"),g("range"),e.cleanRange(),g("fixedrange"),s(t,e,g,m),l(t,e,g,m,r),c(t,e,g,{data:r.data,dataAttr:f});var b=v("gridcolor",a(y,.3)),_=v("gridwidth"),w=g("showgrid");w||(delete e.gridcolor,delete e.gridwidth);var k=v("startlinecolor",y),T=v("startlinewidth",_);g("startline",e.showgrid||!!k||!!T)||(delete e.startlinecolor,delete e.startlinewidth);var A=v("endlinecolor",y),M=v("endlinewidth",_);return g("endline",e.showgrid||!!A||!!M)||(delete e.endlinecolor,delete e.endlinewidth),w?(g("minorgridcount"),g("minorgridwidth",_),g("minorgridcolor",a(b,.06)),e.minorgridcount||(delete e.minorgridwidth,delete e.minorgridcolor)):(delete e.gridcolor,delete e.gridWidth),"none"===e.showticklabels&&(delete e.tickfont,delete e.tickangle,delete e.showexponent,delete e.exponentformat,delete e.tickformat,delete e.showticksuffix,delete e.showtickprefix),e.showticksuffix||delete e.ticksuffix,e.showtickprefix||delete e.tickprefix,g("tickmode"),e}},{"../../components/color":591,"../../lib":716,"../../plots/cartesian/axis_autotype":765,"../../plots/cartesian/category_order_defaults":768,"../../plots/cartesian/set_convert":782,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_value_defaults":785,"../../registry":845,"./attributes":897}],901:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib").isArray1D,i=t("./cheater_basis"),o=t("./array_minmax"),s=t("./calc_gridlines"),l=t("./calc_labels"),c=t("./calc_clippath"),u=t("../heatmap/clean_2d_array"),h=t("./smooth_fill_2d_array"),f=t("../heatmap/convert_column_xyz"),p=t("./set_convert");e.exports=function(t,e){var r=n.getFromId(t,e.xaxis),d=n.getFromId(t,e.yaxis),g=e.aaxis,v=e.baxis,m=e.x,y=e.y,x=[];m&&a(m)&&x.push("x"),y&&a(y)&&x.push("y"),x.length&&f(e,g,v,"a","b",x);var b=e._a=e._a||e.a,_=e._b=e._b||e.b;m=e._x||e.x,y=e._y||e.y;var w={};if(e._cheater){var k="index"===g.cheatertype?b.length:b,T="index"===v.cheatertype?_.length:_;m=i(k,T,e.cheaterslope)}e._x=m=u(m),e._y=y=u(y),h(m,b,_),h(y,b,_),p(e),e.setScale();var A=o(m),M=o(y),S=.5*(A[1]-A[0]),E=.5*(A[1]+A[0]),L=.5*(M[1]-M[0]),C=.5*(M[1]+M[0]);return A=[E-1.3*S,E+1.3*S],M=[C-1.3*L,C+1.3*L],e._extremes[r._id]=n.findExtremes(r,A,{padded:!0}),e._extremes[d._id]=n.findExtremes(d,M,{padded:!0}),s(e,"a","b"),s(e,"b","a"),l(e,g),l(e,v),w.clipsegments=c(e._xctrl,e._yctrl,g,v),w.x=m,w.y=y,w.a=b,w.b=_,[w]}},{"../../lib":716,"../../plots/cartesian/axes":764,"../heatmap/clean_2d_array":1e3,"../heatmap/convert_column_xyz":1002,"./array_minmax":896,"./calc_clippath":902,"./calc_gridlines":903,"./calc_labels":904,"./cheater_basis":906,"./set_convert":919,"./smooth_fill_2d_array":920}],902:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a,i,o,s=[],l=!!r.smoothing,c=!!n.smoothing,u=t[0].length-1,h=t.length-1;for(a=0,i=[],o=[];a<=u;a++)i[a]=t[0][a],o[a]=e[0][a];for(s.push({x:i,y:o,bicubic:l}),a=0,i=[],o=[];a<=h;a++)i[a]=t[a][u],o[a]=e[a][u];for(s.push({x:i,y:o,bicubic:c}),a=u,i=[],o=[];a>=0;a--)i[u-a]=t[h][a],o[u-a]=e[h][a];for(s.push({x:i,y:o,bicubic:l}),a=h,i=[],o=[];a>=0;a--)i[h-a]=t[a][0],o[h-a]=e[a][0];return s.push({x:i,y:o,bicubic:c}),s}},{}],903:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e,r){var i,o,s,l,c,u,h,f,p,d,g,v,m,y,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],k=b._boundarylines=[],T=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function z(n){var a,i,o,s,l,c,u,h,p,d,g,v,m=[],y=[],x={};if("b"===e)for(i=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,i))),s=i-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,i)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},a=0;a<C;a++)c=Math.min(C-2,a),u=a-c,h=t.evalxy([],a,i),A.smoothing&&a>0&&(p=t.dxydi([],a-1,o,0,s),m.push(l[0]+p[0]/3),y.push(l[1]+p[1]/3),d=t.dxydi([],a-1,o,1,s),m.push(h[0]-d[0]/3),y.push(h[1]-d[1]/3)),m.push(h[0]),y.push(h[1]),l=h;else for(a=t.a2i(n),c=Math.floor(Math.max(0,Math.min(C-2,a))),u=a-c,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],a,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},i=0;i<P;i++)o=Math.min(P-2,i),s=i-o,h=t.evalxy([],a,i),A.smoothing&&i>0&&(g=t.dxydj([],c,i-1,u,0),m.push(l[0]+g[0]/3),y.push(l[1]+g[1]/3),v=t.dxydj([],c,i-1,u,1),m.push(h[0]-v[0]/3),y.push(h[1]-v[1]/3)),m.push(h[0]),y.push(h[1]),l=h;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=m,x.y=y,x.smoothing=A.smoothing,x}function I(n){var a,i,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=T.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},a=0;a<E;a++)c[a]=M[n*O][a],u[a]=S[n*O][a];else for(i=Math.max(0,Math.min(C-2,n)),s=Math.min(1,Math.max(0,n-i)),h.xy=function(e){return t.evalxy([],n,e)},h.dxy=function(e,r){return t.dxydj([],i,e,s,r)},a=0;a<L;a++)c[a]=M[a][n*O],u[a]=S[a][n*O];return h.axisLetter=e,h.axis=b,h.crossAxis=A,h.value=x[n],h.constvar=r,h.index=n,h.x=c,h.y=u,h.smoothing=A.smoothing,h}if("array"===b.tickmode){for(l=5e-15,u=(c=[Math.floor((x.length-1-b.arraytick0)/b.arraydtick*(1+l)),Math.ceil(-b.arraytick0/b.arraydtick/(1+l))].sort(function(t,e){return t-e}))[0]-1,h=c[1]+1,f=u;f<h;f++)(o=b.arraytick0+b.arraydtick*f)<0||o>x.length-1||_.push(a(I(o),{color:b.gridcolor,width:b.gridwidth}));for(f=u;f<h;f++)if(s=b.arraytick0+b.arraydtick*f,g=Math.min(s+b.arraydtick,x.length-1),!(s<0||s>x.length-1||g<0||g>x.length-1))for(v=x[s],m=x[g],i=0;i<b.minorgridcount;i++)(y=g-s)<=0||(d=v+(m-v)*(i+1)/(b.minorgridcount+1)*(b.arraydtick/y))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(I(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(I(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort(function(t,e){return t-e}))[0],h=c[1],f=u;f<=h;f++)p=b.tick0+b.dtick*f,_.push(a(z(p),{color:b.gridcolor,width:b.gridwidth}));for(f=u-1;f<h+1;f++)for(p=b.tick0+b.dtick*f,i=0;i<b.minorgridcount;i++)(d=p+b.dtick*(i+1)/(b.minorgridcount+1))<x[0]||d>x[x.length-1]||w.push(a(z(d),{color:b.minorgridcolor,width:b.minorgridwidth}));b.startline&&k.push(a(z(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&k.push(a(z(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},{"../../lib/extend":707,"../../plots/cartesian/axes":764}],904:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib/extend").extendFlat;e.exports=function(t,e){var r,i,o,s=e._labels=[],l=e._gridlines;for(r=0;r<l.length;r++)o=l[r],-1!==["start","both"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{prefix:void 0,suffix:void 0,endAnchor:!0,xy:o.xy(0),dxy:o.dxy(0,0),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i)),-1!==["end","both"].indexOf(e.showticklabels)&&(i=n.tickText(e,o.value),a(i,{endAnchor:!1,xy:o.xy(o.crossLength-1),dxy:o.dxy(o.crossLength-2,1),axis:o.axis,length:o.crossAxis.length,font:o.axis.tickfont,isFirst:0===r,isLast:r===l.length-1}),s.push(i))}},{"../../lib/extend":707,"../../plots/cartesian/axes":764}],905:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=t[0]-e[0],i=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(a*a+i*i,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*a-l*l*o)*n,h=(c*c*i-l*l*s)*n,f=c*(l+c)*3,p=l*(l+c)*3;return[[e[0]+(f&&u/f),e[1]+(f&&h/f)],[e[0]-(p&&u/p),e[1]-(p&&h/p)]]}},{}],906:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var a,i,o,s,l,c,u=[],h=n(t)?t.length:t,f=n(e)?e.length:e,p=n(t)?t:null,d=n(e)?e:null;p&&(o=(p.length-1)/(p[p.length-1]-p[0])/(h-1)),d&&(s=(d.length-1)/(d[d.length-1]-d[0])/(f-1));var g=1/0,v=-1/0;for(i=0;i<f;i++)for(u[i]=[],l=d?(d[i]-d[0])*s:i/(f-1),a=0;a<h;a++)c=(p?(p[a]-p[0])*o:a/(h-1))-l*r,g=Math.min(c,g),v=Math.max(c,v),u[i][a]=c;var m=1/(v-g),y=-g*m;for(i=0;i<f;i++)for(a=0;a<h;a++)u[i][a]=m*u[i][a]+y;return u}},{"../../lib":716}],907:[function(t,e,r){"use strict";var n=t("./catmull_rom"),a=t("../../lib").ensureArray;function i(t,e,r){var n=-.5*r[0]+1.5*e[0],a=-.5*r[1]+1.5*e[1];return[(2*n+t[0])/3,(2*a+t[1])/3]}e.exports=function(t,e,r,o,s,l){var c,u,h,f,p,d,g,v,m,y,x=r[0].length,b=r.length,_=s?3*x-2:x,w=l?3*b-2:b;for(t=a(t,w),e=a(e,w),h=0;h<w;h++)t[h]=a(t[h],_),e[h]=a(e[h],_);for(u=0,f=0;u<b;u++,f+=l?3:1)for(p=t[f],d=e[f],g=r[u],v=o[u],c=0,h=0;c<x;c++,h+=s?3:1)p[h]=g[c],d[h]=v[c];if(s)for(u=0,f=0;u<b;u++,f+=l?3:1){for(c=1,h=3;c<x-1;c++,h+=3)m=n([r[u][c-1],o[u][c-1]],[r[u][c],o[u][c]],[r[u][c+1],o[u][c+1]],s),t[f][h-1]=m[0][0],e[f][h-1]=m[0][1],t[f][h+1]=m[1][0],e[f][h+1]=m[1][1];y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=y[0],e[f][1]=y[1],y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=y[0],e[f][_-2]=y[1]}if(l)for(h=0;h<_;h++){for(f=3;f<w-3;f+=3)m=n([t[f-3][h],e[f-3][h]],[t[f][h],e[f][h]],[t[f+3][h],e[f+3][h]],l),t[f-1][h]=m[0][0],e[f-1][h]=m[0][1],t[f+1][h]=m[1][0],e[f+1][h]=m[1][1];y=i([t[0][h],e[0][h]],[t[2][h],e[2][h]],[t[3][h],e[3][h]]),t[1][h]=y[0],e[1][h]=y[1],y=i([t[w-1][h],e[w-1][h]],[t[w-3][h],e[w-3][h]],[t[w-4][h],e[w-4][h]]),t[w-2][h]=y[0],e[w-2][h]=y[1]}if(s&&l)for(f=1;f<w;f+=(f+1)%3==0?2:1){for(h=3;h<_-3;h+=3)m=n([t[f][h-3],e[f][h-3]],[t[f][h],e[f][h]],[t[f][h+3],e[f][h+3]],s),t[f][h-1]=.5*(t[f][h-1]+m[0][0]),e[f][h-1]=.5*(e[f][h-1]+m[0][1]),t[f][h+1]=.5*(t[f][h+1]+m[1][0]),e[f][h+1]=.5*(e[f][h+1]+m[1][1]);y=i([t[f][0],e[f][0]],[t[f][2],e[f][2]],[t[f][3],e[f][3]]),t[f][1]=.5*(t[f][1]+y[0]),e[f][1]=.5*(e[f][1]+y[1]),y=i([t[f][_-1],e[f][_-1]],[t[f][_-3],e[f][_-3]],[t[f][_-4],e[f][_-4]]),t[f][_-2]=.5*(t[f][_-2]+y[0]),e[f][_-2]=.5*(e[f][_-2]+y[1])}return[t,e]}},{"../../lib":716,"./catmull_rom":905}],908:[function(t,e,r){"use strict";e.exports={RELATIVE_CULL_TOLERANCE:1e-6}},{}],909:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=1-a,d=p*p,g=p*a*2,v=-3*d,m=3*(d-g),y=3*(g-f),x=3*f,b=i*i,_=b*i,w=1-i,k=w*w,T=k*w;for(h=0;h<t.length;h++)o=v*(u=t[h])[n][r]+m*u[n][r+1]+y*u[n][r+2]+x*u[n][r+3],s=v*u[n+1][r]+m*u[n+1][r+1]+y*u[n+1][r+2]+x*u[n+1][r+3],l=v*u[n+2][r]+m*u[n+2][r+1]+y*u[n+2][r+2]+x*u[n+2][r+3],c=v*u[n+3][r]+m*u[n+3][r+1]+y*u[n+3][r+2]+x*u[n+3][r+3],e[h]=T*o+3*(k*i*s+w*b*l)+_*c;return e}:e?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),r*=3;var u=a*a,h=1-a,f=h*h,p=h*a*2,d=-3*f,g=3*(f-p),v=3*(p-u),m=3*u,y=1-i;for(l=0;l<t.length;l++)o=d*(c=t[l])[n][r]+g*c[n][r+1]+v*c[n][r+2]+m*c[n][r+3],s=d*c[n+1][r]+g*c[n+1][r+1]+v*c[n+1][r+2]+m*c[n+1][r+3],e[l]=y*o+i*s;return e}:r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),n*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n][r+1]-h[n][r],s=h[n+1][r+1]-h[n+1][r],l=h[n+2][r+1]-h[n+2][r],c=h[n+3][r+1]-h[n+3][r],e[u]=v*o+3*(g*i*s+d*f*l)+p*c;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-i;for(l=0;l<t.length;l++)o=(c=t[l])[n][r+1]-c[n][r],s=c[n+1][r+1]-c[n+1][r],e[l]=u*o+i*s;return e}}},{}],910:[function(t,e,r){"use strict";e.exports=function(t,e,r){return e&&r?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3,n*=3;var f=a*a,p=f*a,d=1-a,g=d*d,v=g*d,m=i*i,y=1-i,x=y*y,b=y*i*2,_=-3*x,w=3*(x-b),k=3*(b-m),T=3*m;for(h=0;h<t.length;h++)o=_*(u=t[h])[n][r]+w*u[n+1][r]+k*u[n+2][r]+T*u[n+3][r],s=_*u[n][r+1]+w*u[n+1][r+1]+k*u[n+2][r+1]+T*u[n+3][r+1],l=_*u[n][r+2]+w*u[n+1][r+2]+k*u[n+2][r+2]+T*u[n+3][r+2],c=_*u[n][r+3]+w*u[n+1][r+3]+k*u[n+2][r+3]+T*u[n+3][r+3],e[h]=v*o+3*(g*a*s+d*f*l)+p*c;return e}:e?function(e,r,n,a,i){var o,s,l,c,u,h;e||(e=[]),r*=3;var f=i*i,p=f*i,d=1-i,g=d*d,v=g*d;for(u=0;u<t.length;u++)o=(h=t[u])[n+1][r]-h[n][r],s=h[n+1][r+1]-h[n][r+1],l=h[n+1][r+2]-h[n][r+2],c=h[n+1][r+3]-h[n][r+3],e[u]=v*o+3*(g*i*s+d*f*l)+p*c;return e}:r?function(e,r,n,a,i){var o,s,l,c;e||(e=[]),n*=3;var u=1-a,h=i*i,f=1-i,p=f*f,d=f*i*2,g=-3*p,v=3*(p-d),m=3*(d-h),y=3*h;for(l=0;l<t.length;l++)o=g*(c=t[l])[n][r]+v*c[n+1][r]+m*c[n+2][r]+y*c[n+3][r],s=g*c[n][r+1]+v*c[n+1][r+1]+m*c[n+2][r+1]+y*c[n+3][r+1],e[l]=u*o+a*s;return e}:function(e,r,n,a,i){var o,s,l,c;e||(e=[]);var u=1-a;for(l=0;l<t.length;l++)o=(c=t[l])[n+1][r]-c[n][r],s=c[n+1][r+1]-c[n][r+1],e[l]=u*o+a*s;return e}}},{}],911:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=e-2,o=r-2;return n&&a?function(e,r,n){var a,s,l,c,u,h;e||(e=[]);var f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3,p*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=g*g,w=_*g,k=1-g,T=k*k,A=T*k;for(h=0;h<t.length;h++)a=b*(u=t[h])[p][f]+3*(x*d*u[p][f+1]+y*v*u[p][f+2])+m*u[p][f+3],s=b*u[p+1][f]+3*(x*d*u[p+1][f+1]+y*v*u[p+1][f+2])+m*u[p+1][f+3],l=b*u[p+2][f]+3*(x*d*u[p+2][f+1]+y*v*u[p+2][f+2])+m*u[p+2][f+3],c=b*u[p+3][f]+3*(x*d*u[p+3][f+1]+y*v*u[p+3][f+2])+m*u[p+3][f+3],e[h]=A*a+3*(T*g*s+k*_*l)+w*c;return e}:n?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));f*=3;var v=d*d,m=v*d,y=1-d,x=y*y,b=x*y,_=1-g;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+g*h[p+1][f],s=_*h[p][f+1]+g*h[p+1][f+1],l=_*h[p][f+2]+g*h[p+1][f+1],c=_*h[p][f+3]+g*h[p+1][f+1],e[u]=b*a+3*(x*d*s+y*v*l)+m*c;return e}:a?function(e,r,n){e||(e=[]);var a,s,l,c,u,h,f=Math.max(0,Math.min(Math.floor(r),i)),p=Math.max(0,Math.min(Math.floor(n),o)),d=Math.max(0,Math.min(1,r-f)),g=Math.max(0,Math.min(1,n-p));p*=3;var v=g*g,m=v*g,y=1-g,x=y*y,b=x*y,_=1-d;for(u=0;u<t.length;u++)a=_*(h=t[u])[p][f]+d*h[p][f+1],s=_*h[p+1][f]+d*h[p+1][f+1],l=_*h[p+2][f]+d*h[p+2][f+1],c=_*h[p+3][f]+d*h[p+3][f+1],e[u]=b*a+3*(x*g*s+y*v*l)+m*c;return e}:function(e,r,n){e||(e=[]);var a,s,l,c,u=Math.max(0,Math.min(Math.floor(r),i)),h=Math.max(0,Math.min(Math.floor(n),o)),f=Math.max(0,Math.min(1,r-u)),p=Math.max(0,Math.min(1,n-h)),d=1-p,g=1-f;for(l=0;l<t.length;l++)a=g*(c=t[l])[h][u]+f*c[h][u+1],s=g*c[h+1][u]+f*c[h+1][u+1],e[l]=d*a+p*s;return e}}},{}],912:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./xy_defaults"),i=t("./ab_defaults"),o=t("./attributes"),s=t("../../components/color/attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,o,r,a)}e._clipPathId="clip"+e.uid+"carpet";var u=c("color",s.defaultLine);(n.coerceFont(c,"font"),c("carpet"),i(t,e,l,c,u),e.a&&e.b)?(e.a.length<3&&(e.aaxis.smoothing=0),e.b.length<3&&(e.baxis.smoothing=0),a(t,e,c)||(e.visible=!1),e._cheater&&c("cheaterslope")):e.visible=!1}},{"../../components/color/attributes":590,"../../lib":716,"./ab_defaults":895,"./attributes":897,"./xy_defaults":921}],913:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),plot:t("./plot"),calc:t("./calc"),animatable:!0,isContainer:!0,moduleType:"trace",name:"carpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","carpetAxis","notLegendIsolatable","noMultiCategory","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":775,"./attributes":897,"./calc":901,"./defaults":912,"./plot":918}],914:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r,n=t._fullData.length,a=0;a<n;a++){var i=t._fullData[a];if(i.index!==e.index&&("carpet"===i.type&&(r||(r=i),i.carpet===e.carpet)))return i}return r}},{}],915:[function(t,e,r){"use strict";e.exports=function(t,e,r){if(0===t.length)return"";var n,a=[],i=r?3:1;for(n=0;n<t.length;n+=i)a.push(t[n]+","+e[n]),r&&n<t.length-i&&(a.push("C"),a.push([t[n+1]+","+e[n+1],t[n+2]+","+e[n+2]+" "].join(" ")));return a.join(r?"":"L")}},{}],916:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r){var a;for(n(t)?t.length>e.length&&(t=t.slice(0,e.length)):t=[],a=0;a<e.length;a++)t[a]=r(e[a]);return t}},{"../../lib":716}],917:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a,i){var o=a[0]*t.dpdx(e),s=a[1]*t.dpdy(r),l=1,c=1;if(i){var u=Math.sqrt(a[0]*a[0]+a[1]*a[1]),h=Math.sqrt(i[0]*i[0]+i[1]*i[1]),f=(a[0]*i[0]+a[1]*i[1])/u/h;c=Math.max(0,f)}var p=180*Math.atan2(s,o)/Math.PI;return p<-90?(p+=180,l=-l):p>90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},{}],918:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("./map_1d_array"),o=t("./makepath"),s=t("./orient_text"),l=t("../../lib/svg_text_utils"),c=t("../../lib"),u=t("../../constants/alignment");function h(t,e,r,a,s,l){var c="const-"+s+"-lines",u=r.selectAll("."+c).data(l);u.enter().append("path").classed(c,!0).style("vector-effect","non-scaling-stroke"),u.each(function(r){var a=r,s=a.x,l=a.y,c=i([],s,t.c2p),u=i([],l,e.c2p),h="M"+o(c,u,a.smoothing);n.select(this).attr("d",h).style("stroke-width",a.width).style("stroke",a.color).style("fill","none")}),u.exit().remove()}function f(t,e,r,i,o,c,u,h){var f=c.selectAll("text."+h).data(u);f.enter().append("text").classed(h,!0);var p=0,d={};return f.each(function(o,c){var u;if("auto"===o.axis.tickangle)u=s(i,e,r,o.xy,o.dxy);else{var h=(o.axis.tickangle+180)*Math.PI/180;u=s(i,e,r,o.xy,[Math.cos(h),Math.sin(h)])}c||(d={angle:u.angle,flip:u.flip});var f=(o.endAnchor?-1:1)*u.flip,g=n.select(this).attr({"text-anchor":f>0?"start":"end","data-notex":1}).call(a.font,o.font).text(o.text).call(l.convertToTspans,t),v=a.bBox(this);g.attr("transform","translate("+u.p[0]+","+u.p[1]+") rotate("+u.angle+")translate("+o.axis.labelpadding*f+","+.3*v.height+")"),p=Math.max(p,v.width+o.axis.labelpadding)}),f.exit().remove(),d.maxExtent=p,d}e.exports=function(t,e,r,a){var l=e.xaxis,u=e.yaxis,p=t._fullLayout._clips;c.makeTraceGroups(a,r,"trace").each(function(e){var r=n.select(this),a=e[0],d=a.trace,v=d.aaxis,m=d.baxis,y=c.ensureSingle(r,"g","minorlayer"),x=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),_=c.ensureSingle(r,"g","labellayer");r.style("opacity",d.opacity),h(l,u,x,v,"a",v._gridlines),h(l,u,x,m,"b",m._gridlines),h(l,u,y,v,"a",v._minorgridlines),h(l,u,y,m,"b",m._minorgridlines),h(l,u,b,v,"a-boundary",v._boundarylines),h(l,u,b,m,"b-boundary",m._boundarylines);var w=f(t,l,u,d,a,_,v._labels,"a-label"),k=f(t,l,u,d,a,_,m._labels,"b-label");!function(t,e,r,n,a,i,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),v=c.aggNums(Math.max,null,r.a),m=c.aggNums(Math.min,null,r.b),y=c.aggNums(Math.max,null,r.b);u=.5*(d+v),h=m,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,a,i,f,r.dxydb_rough(u,h)));g(t,e,r,n,f,p,r.aaxis,a,i,o,"a-title"),u=d,h=.5*(m+y),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,a,i,f,r.dxyda_rough(u,h)));g(t,e,r,n,f,p,r.baxis,a,i,l,"b-title")}(t,_,d,a,l,u,w,k),function(t,e,r,n,a){var s,l,u,h,f=r.select("#"+t._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(f,"path","carpetboundary"),d=e.clipsegments,g=[];for(h=0;h<d.length;h++)s=d[h],l=i([],s.x,n.c2p),u=i([],s.y,a.c2p),g.push(o(l,u,s.bicubic));var v="M"+g.join("L")+"Z";f.attr("id",t._clipPathId),p.attr("d",v)}(d,a,p,l,u)})};var p=u.LINE_SPACING,d=(1-u.MID_SHIFT)/p+1;function g(t,e,r,i,o,c,u,h,f,g,v){var m=[];u.title.text&&m.push(u.title.text);var y=e.selectAll("text."+v).data(m),x=g.maxExtent;y.enter().append("text").classed(v,!0),y.each(function(){var e=s(r,h,f,o,c);-1===["start","both"].indexOf(u.showticklabels)&&(x=0);var i=u.title.font.size;x+=i+u.title.offset;var v=(g.angle+(g.flip<0?180:0)-e.angle+450)%360,m=v>90&&v<270,y=n.select(this);y.text(u.title.text).call(l.convertToTspans,t),m&&(x=(-l.lineCount(y)+d)*p*i-x),y.attr("transform","translate("+e.p[0]+","+e.p[1]+") rotate("+e.angle+") translate(0,"+x+")").classed("user-select-none",!0).attr("text-anchor","middle").call(a.font,u.title.font)}),y.exit().remove()}},{"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"./makepath":915,"./map_1d_array":916,"./orient_text":917,d3:164}],919:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/search").findBin,i=t("./compute_control_points"),o=t("./create_spline_evaluator"),s=t("./create_i_derivative_evaluator"),l=t("./create_j_derivative_evaluator");e.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],g=r[0],v=r[u-1],m=e[e.length-1]-e[0],y=r[r.length-1]-r[0],x=m*n.RELATIVE_CULL_TOLERANCE,b=y*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,g-=b,v+=b,t.isVisible=function(t,e){return t>p&&t<d&&e>g&&e<v},t.isOccluded=function(t,e){return t<p||t>d||e<g||e>v},t.setScale=function(){var e=t._x,r=t._y,n=i(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(a(t,e),c-2)),n=e[r],i=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(i-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(a(t,r),u-2)),n=r[e],i=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(i-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,a,i){if(!i&&(n<e[0]||n>e[c-1]|a<r[0]||a>r[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(a),l=t.evalxy([],o,s);if(i){var h,f,p,d,g=0,v=0,m=[];n<e[0]?(h=0,f=0,g=(n-e[0])/(e[1]-e[0])):n>e[c-1]?(h=c-2,f=1,g=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),a<r[0]?(p=0,d=0,v=(a-r[0])/(r[1]-r[0])):a>r[u-1]?(p=u-2,d=1,v=(a-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),g&&(t.dxydi(m,h,p,f,d),l[0]+=m[0]*g,l[1]+=m[1]*g),v&&(t.dxydj(m,h,p,f,d),l[0]+=m[0]*v,l[1]+=m[1]*v)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,a){var i=t.dxydi(null,e,r,n,a),o=t.dadi(e,n);return[i[0]/o,i[1]/o]},t.dxydb=function(e,r,n,a){var i=t.dxydj(null,e,r,n,a),o=t.dbdj(r,a);return[i[0]/o,i[1]/o]},t.dxyda_rough=function(e,r,n){var a=m*(n||.1),i=t.ab2xy(e+a,r,!0),o=t.ab2xy(e-a,r,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dxydb_rough=function(e,r,n){var a=y*(n||.1),i=t.ab2xy(e,r+a,!0),o=t.ab2xy(e,r-a,!0);return[.5*(i[0]-o[0])/a,.5*(i[1]-o[1])/a]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},{"../../lib/search":735,"./compute_control_points":907,"./constants":908,"./create_i_derivative_evaluator":909,"./create_j_derivative_evaluator":910,"./create_spline_evaluator":911}],920:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r){var a,i,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,a=0,i=0;return e>0&&void 0!==(n=t[r][e-1])&&(i++,a+=n),e<c-1&&void 0!==(n=t[r][e+1])&&(i++,a+=n),r>0&&void 0!==(n=t[r-1][e])&&(i++,a+=n),r<u-1&&void 0!==(n=t[r+1][e])&&(i++,a+=n),a/Math.max(1,i)}var f,p,d,g,v,m,y,x,b,_,w,k=0;for(a=0;a<c;a++)for(i=0;i<u;i++)void 0===t[i][a]&&(s.push(a),l.push(i),t[i][a]=h(a,i)),k=Math.max(k,Math.abs(t[i][a]));if(!s.length)return t;var T=0,A=0,M=s.length;do{for(T=0,o=0;o<M;o++){a=s[o],i=l[o];var S,E,L,C,P,O,z=0,I=0;0===a?(L=e[P=Math.min(c-1,2)],C=e[1],S=t[i][P],I+=(E=t[i][1])+(E-S)*(e[0]-C)/(C-L),z++):a===c-1&&(L=e[P=Math.max(0,c-3)],C=e[c-2],S=t[i][P],I+=(E=t[i][c-2])+(E-S)*(e[c-1]-C)/(C-L),z++),(0===a||a===c-1)&&i>0&&i<u-1&&(f=r[i+1]-r[i],I+=((p=r[i]-r[i-1])*t[i+1][a]+f*t[i-1][a])/(p+f),z++),0===i?(L=r[O=Math.min(u-1,2)],C=r[1],S=t[O][a],I+=(E=t[1][a])+(E-S)*(r[0]-C)/(C-L),z++):i===u-1&&(L=r[O=Math.max(0,u-3)],C=r[u-2],S=t[O][a],I+=(E=t[u-2][a])+(E-S)*(r[u-1]-C)/(C-L),z++),(0===i||i===u-1)&&a>0&&a<c-1&&(f=e[a+1]-e[a],I+=((p=e[a]-e[a-1])*t[i][a+1]+f*t[i][a-1])/(p+f),z++),z?I/=z:(d=e[a+1]-e[a],g=e[a]-e[a-1],x=(v=r[i+1]-r[i])*(m=r[i]-r[i-1])*(v+m),I=((y=d*g*(d+g))*(m*t[i+1][a]+v*t[i-1][a])+x*(g*t[i][a+1]+d*t[i][a-1]))/(x*(g+d)+y*(m+v))),T+=(_=(b=I-t[i][a])/k)*_,w=z?0:.85,t[i][a]+=b*(1+w)}T=Math.sqrt(T)}while(A++<100&&T>1e-5);return n.log("Smoother converged to",T,"after",A,"iterations"),t}},{"../../lib":716}],921:[function(t,e,r){"use strict";var n=t("../../lib").isArray1D;e.exports=function(t,e,r){var a=r("x"),i=a&&a.length,o=r("y"),s=o&&o.length;if(!i&&!s)return!1;if(e._cheater=!a,i&&!n(a)||s&&!n(o))e._length=null;else{var l=i?a.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},{"../../lib":716}],922:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../scattergeo/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../plots/attributes"),s=t("../../components/color/attributes").defaultLine,l=t("../../lib/extend").extendFlat,c=a.marker.line;e.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:a.locationmode,z:{valType:"data_array",editType:"calc"},text:l({},a.text,{}),hovertext:l({},a.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:a.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:a.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n()},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scattergeo/attributes":1159}],923:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../components/colorscale/calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection");function l(t){return t&&"string"==typeof t}e.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h<c;h++){var f=u[h]={},p=e.locations[h],d=e.z[h];r(p)&&n(d)?(f.loc=p,f.z=d):(f.loc=null,f.z=a),f.index=h}return o(u,e),i(t,e,{vals:e.z,containerStr:"",cLetter:"z"}),s(u,e),u}},{"../../components/colorscale/calc":599,"../../constants/numerical":692,"../scatter/arrays_to_calcdata":1117,"../scatter/calc_selection":1120,"fast-isnumeric":227}],924:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("locations"),c=s("z");l&&l.length&&n.isArrayOrTypedArray(c)&&c.length?(e._length=Math.min(l.length,c.length),s("locationmode"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),a(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":922}],925:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){t.location=e.location,t.z=e.z;var i=n[a];return i.fIn&&(t.properties=i.fIn.properties),t}},{}],926:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("./attributes"),i=t("../../lib").fillText;e.exports=function(t,e,r){var o,s,l,c,u=t.cd,h=u[0].trace,f=t.subplot;for(s=0;s<u.length;s++)if(c=!1,(o=u[s])._polygons){for(l=0;l<o._polygons.length;l++)o._polygons[l].contains([e,r])&&(c=!c),o._polygons[l].contains([e+360,r])&&(c=!c);if(c)break}if(c&&o)return t.x0=t.x1=t.xa.c2p(o.ct),t.y0=t.y1=t.ya.c2p(o.ct),t.index=o.index,t.location=o.loc,t.z=o.z,t.zLabel=n.tickText(f.mockAxis,f.mockAxis.c2l(o.z),"hover").text,t.hovertemplate=o.hovertemplate,function(t,e,r){if(e.hovertemplate)return;var n=r.hi||e.hoverinfo,o=String(r.loc),s="all"===n?a.hoverinfo.flags:n.split("+"),l=-1!==s.indexOf("name"),c=-1!==s.indexOf("location"),u=-1!==s.indexOf("z"),h=-1!==s.indexOf("text"),f=[];!l&&c?t.nameOverride=o:(l&&(t.nameOverride=e.name),c&&f.push(o));u&&f.push(t.zLabel);h&&i(r,e,f);t.extraText=f.join("<br>")}(t,h,o,f.mockAxis),[t]}},{"../../lib":716,"../../plots/cartesian/axes":764,"./attributes":922}],927:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"choropleth",basePlotModule:t("../../plots/geo"),categories:["geo","noOpacity"],meta:{}}},{"../../plots/geo":794,"../heatmap/colorbar":1001,"./attributes":922,"./calc":923,"./defaults":924,"./event_data":925,"./hover":926,"./plot":928,"./select":929,"./style":930}],928:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../lib/polygon"),o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("./style").style;function c(t,e){for(var r=t[0].trace,n=t.length,a=o(r,e),i=0;i<n;i++){var l=t[i],c=s(r.locationmode,l.loc,a);c?(l.geojson=c,l.ct=c.properties.ct,l._polygons=u(c)):l.geojson=null}}function u(t){var e,r,n,a,o=t.geometry,s=o.coordinates,l=t.id,c=[];function u(t){for(var e=0;e<t.length-1;e++)if(t[e][0]>0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===l||"FJI"===l?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),a=0;a<t.length;a++)e[a]=[t[a][0]<0?t[a][0]+360:t[a][0],t[a][1]];c.push(i.tester(e))}:"ATA"===l?function(t){var e=u(t);if(null===e)return c.push(i.tester(t));var r=new Array(t.length+1),n=0;for(a=0;a<t.length;a++)a>e?r[n++]=[t[a][0]+360,t[a][1]]:a===e?(r[n++]=t[a],r[n++]=[t[a][0],-90]):r[n++]=t[a];var o=i.tester(r);o.pts.pop(),c.push(o)}:function(t){c.push(i.tester(t))},o.type){case"MultiPolygon":for(r=0;r<s.length;r++)for(n=0;n<s[r].length;n++)e(s[r][n]);break;case"Polygon":for(r=0;r<s.length;r++)e(s[r])}return c}e.exports={plot:function(t,e,r){for(var i=0;i<r.length;i++)c(r[i],e.topojson);var o=e.layers.backplot.select(".choroplethlayer");a.makeTraceGroups(o,r,"trace choropleth").each(function(e){var r=n.select(this).selectAll("path.choroplethlocation").data(a.identity);r.enter().append("path").classed("choroplethlocation",!0),r.exit().remove(),l(t,e)})},feature2polygons:u}},{"../../lib":716,"../../lib/geo_location_utils":710,"../../lib/polygon":728,"../../lib/topojson_utils":743,"./style":930,d3:164}],929:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)(a=(n=s[r]).ct)&&(i=l.c2p(a),o=c.c2p(a),e.contains([i,o],null,r,t)?(u.push({pointNumber:r,lon:a[0],lat:a[1]}),n.selected=1):n.selected=0);return u}},{}],930:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../components/drawing"),o=t("../../components/colorscale");function s(t,e){var r=e[0].trace,s=e[0].node3.selectAll(".choroplethlocation"),l=r.marker||{},c=l.line||{},u=o.makeColorScaleFuncFromTrace(r);s.each(function(t){n.select(this).attr("fill",u(t.z)).call(a.stroke,t.mlc||c.color).call(i.dashLine,"",t.mlw||c.width||0).style("opacity",l.opacity)}),i.selectedPointStyle(s,r,t)}e.exports={style:function(t,e){e&&s(t,e)},styleOnSelect:function(t,e){var r=e[0].node3,n=e[0].trace;n.selectedpoints?i.selectedPointStyle(r.selectAll(".choroplethlocation"),n,t):s(t,e)}}},{"../../components/color":591,"../../components/colorscale":603,"../../components/drawing":612,d3:164}],931:[function(t,e,r){"use strict";var n=t("../choropleth/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../lib/extend").extendFlat;e.exports=o({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:o({},n.marker.line.color,{editType:"plot"}),width:o({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:o({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:o({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:o({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:i({},{keys:["properties"]})},a("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/template_attributes":840,"../choropleth/attributes":922}],932:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("@turf/area"),i=t("@turf/centroid"),o=t("../../lib"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../../lib/geojson_utils").makeBlank,u=t("../choropleth/plot").feature2polygons;function h(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=l.makeSelectedPointStyleFns(r),i=0;i<t.length;i++){var s=t[i];s.fOut&&(s.fOut.properties.mo2=a.selectedOpacityFn(s))}e={type:"identity",property:"mo2"}}else e=o.isArrayOrTypedArray(r.marker.opacity)?{type:"identity",property:"mo"}:r.marker.opacity;return o.extendFlat(n.fill.paint,{"fill-opacity":e}),o.extendFlat(n.line.paint,{"line-opacity":e}),n}e.exports={convert:function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,l={layout:{visibility:"none"},paint:{}},f={layout:{visibility:"none"},paint:{}},p=e._opts={fill:l,line:f,geojson:c()};if(!r)return p;var d="string"==typeof e.geojson?(window.PlotlyGeoAssets||{})[e.geojson]:e.geojson;if(!o.isPlainObject(d))return o.error("Oops ... something when wrong when fetching "+e.geojson),p;var g,v={},m=[];for(g=0;g<t.length;g++){var y=t[g];y.loc&&(v[y.loc]=y)}var x,b,_,w=s.makeColorScaleFuncFromTrace(e),k=e.marker,T=k.line||{};function A(t){var e=v[t.id];if(e){var r=t.geometry;if("Polygon"===r.type||"MultiPolygon"===r.type){var n={fc:w(e.z)};x&&(n.mo=x(e)),b&&(n.mlc=b(e)),_&&(n.mlw=_(e));var s={type:"Feature",geometry:r,properties:n};e._polygons=u(s),e.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,o=0,s=0;s<n.length;s++){var l={type:"Polygon",coordinates:n[s]},c=a.default(l);c>o&&(o=c,e=l)}else e=r;return i.default(e).geometry.coordinates}(s),e.fIn=t,e.fOut=s,m.push(s)}else o.log(["Location with id",e.loc,"does not have a valid GeoJSON geometry,","choroplethmapbox traces only support *Polygon* and *MultiPolygon* geometries."].join(" "))}delete v[t.id]}switch(o.isArrayOrTypedArray(k.opacity)&&(x=function(t){var e=t.mo;return n(e)?+o.constrain(e,0,1):0}),o.isArrayOrTypedArray(T.color)&&(b=function(t){return t.mlc}),o.isArrayOrTypedArray(T.width)&&(_=function(t){return t.mlw}),d.type){case"FeatureCollection":var M=d.features;for(g=0;g<M.length;g++)A(M[g]);break;case"Feature":A(d);break;default:return o.warn(["Invalid GeoJSON type",(d.type||"none")+",","choroplethmapbox traces only support *FeatureCollection* and *Feature* types."].join(" ")),p}for(var S in v)o.log("Location with id "+S+" does not have a matching feature");var E=x?{type:"identity",property:"mo"}:k.opacity;return o.extendFlat(l.paint,{"fill-color":{type:"identity",property:"fc"},"fill-opacity":E}),o.extendFlat(f.paint,{"line-color":b?{type:"identity",property:"mlc"}:T.color,"line-width":_?{type:"identity",property:"mlw"}:T.width,"line-opacity":E}),l.layout.visibility="visible",f.layout.visibility="visible",p.geojson={type:"FeatureCollection",features:m},h(t),p},convertOnSelect:h}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/geojson_utils":711,"../choropleth/plot":928,"@turf/area":57,"@turf/centroid":58,"fast-isnumeric":227}],933:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("locations"),c=s("z"),u=s("geojson");n.isArrayOrTypedArray(l)&&l.length&&n.isArrayOrTypedArray(c)&&c.length&&("string"==typeof u&&""!==u||n.isPlainObject(u))?(e._length=Math.min(l.length,c.length),s("below"),s("text"),s("hovertext"),s("hovertemplate"),s("marker.line.width")&&s("marker.line.color"),s("marker.opacity"),a(t,e,o,s,{prefix:"",cLetter:"z"}),n.coerceSelectionMarkerOpacity(e,s)):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":931}],934:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../choropleth/calc"),plot:t("./plot"),hoverPoints:t("../choropleth/hover"),eventData:t("../choropleth/event_data"),selectPoints:t("../choropleth/select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.updateOnSelect(e)},getBelow:function(t,e){for(var r=e.getMapLayers(),n=r.length-2;n>=0;n--){var a=r[n].id;if("string"==typeof a&&0===a.indexOf("water"))for(var i=n+1;i<r.length;i++)if("string"==typeof(a=r[i].id)&&-1===a.indexOf("plotly-"))return a}},moduleType:"trace",name:"choroplethmapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","noOpacity"],meta:{hr_name:"choropleth_mapbox"}}},{"../../plots/mapbox":819,"../choropleth/calc":923,"../choropleth/event_data":925,"../choropleth/hover":926,"../choropleth/select":929,"../heatmap/colorbar":1001,"./attributes":931,"./defaults":933,"./plot":935}],935:[function(t,e,r){"use strict";var n=t("./convert").convert,a=t("./convert").convertOnSelect,i=t("../../plots/mapbox/constants").traceLayerPrefix;function o(t,e){this.type="choroplethmapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["fill",i+e+"-fill"],["line",i+e+"-line"]],this.below=null}var s=o.prototype;s.update=function(t){this._update(n(t))},s.updateOnSelect=function(t){this._update(a(t))},s._update=function(t){var e=this.subplot,r=this.layerList,n=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(t.geojson),n!==this.below&&(this._removeLayers(),this._addLayers(t,n),this.below=n);for(var a=0;a<r.length;a++){var i=r[a],o=i[0],s=i[1],l=t[o];e.setOptions(s,"setLayoutProperty",l.layout),"visible"===l.layout.visibility&&e.setOptions(s,"setPaintProperty",l.paint)}},s._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},s._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new o(t,r.uid),i=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(i,{type:"geojson",data:s.geojson}),a._addLayers(s,l),e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":817,"./convert":932}],936:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach(function(t){l[t]=i[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],937:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){for(var r=e.u,a=e.v,i=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,a.length,i.length),s=-1/0,l=1/0,c=0;c<o;c++){var u=r[c],h=a[c],f=i[c],p=Math.sqrt(u*u+h*h+f*f);s=Math.max(s,p),l=Math.min(l,p)}e._len=o,e._normMax=s,n(t,e,{vals:[l,s],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],938:[function(t,e,r){"use strict";var n=t("gl-cone3d"),a=t("gl-cone3d").createConeMesh,i=t("../../lib").simpleMap,o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var u=c.prototype;u.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index,r=this.data.x[e],n=this.data.y[e],a=this.data.z[e],i=this.data.u[e],o=this.data.v[e],s=this.data.w[e];t.traceCoordinate=[r,n,a,i,o,s,Math.sqrt(i*i+o*o+s*s)];var l=this.data.hovertext||this.data.text;return Array.isArray(l)&&void 0!==l[e]?t.textLabel=l[e]:l&&(t.textLabel=l),!0}};var h={xaxis:0,yaxis:1,zaxis:2},f={tip:1,tail:0,cm:.25,center:.5},p={tip:1,tail:1,cm:.75,center:.5};function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,c={};function u(t,e){var n=r[e],o=a[h[e]];return i(t,function(t){return n.d2l(t)*o})}c.vectors=l(u(e.u,"xaxis"),u(e.v,"yaxis"),u(e.w,"zaxis"),e._len),c.positions=l(u(e.x,"xaxis"),u(e.y,"yaxis"),u(e.z,"zaxis"),e._len);var d=s(e);c.colormap=o(e),c.vertexIntensityBounds=[d.min/e._normMax,d.max/e._normMax],c.coneOffset=f[e.anchor],"scaled"===e.sizemode?c.coneSize=e.sizeref||.5:c.coneSize=e.sizeref&&e._normMax?e.sizeref/e._normMax:.5;var g=n(c),v=e.lightposition;return g.lightPosition=[v.x,v.y,v.z],g.ambient=e.lighting.ambient,g.diffuse=e.lighting.diffuse,g.specular=e.lighting.specular,g.roughness=e.lighting.roughness,g.fresnel=e.lighting.fresnel,g.opacity=e.opacity,e._pad=p[e.anchor]*g.vectorScale*g.coneScale*e._normMax,g}u.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},u.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new c(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/gl3d/zip3":815,"gl-cone3d":244}],939:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("u"),c=s("v"),u=s("w"),h=s("x"),f=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s("sizeref"),s("sizemode"),s("anchor"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),a(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":936}],940:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"cone",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.norm=e.traceCoordinate[6],t},meta:{}}},{"../../plots/gl3d":804,"./attributes":936,"./calc":937,"./convert":938,"./defaults":939}],941:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../components/drawing/attributes").dash,s=t("../../plots/font_attributes"),l=t("../../lib/extend").extendFlat,c=t("../../constants/filter_ops"),u=c.COMPARISON_OPS2,h=c.INTERVAL_OPS,f=(t("../../constants/docs").FORMAT_LINK,a.line);e.exports=l({z:n.z,x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,xtype:n.xtype,ytype:n.ytype,zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate,hoverongaps:n.hoverongaps,connectgaps:l({},n.connectgaps,{}),fillcolor:{valType:"color",editType:"calc"},autocontour:{valType:"boolean",dflt:!0,editType:"calc",impliedEdits:{"contours.start":void 0,"contours.end":void 0,"contours.size":void 0}},ncontours:{valType:"integer",dflt:15,min:1,editType:"calc"},contours:{type:{valType:"enumerated",values:["levels","constraint"],dflt:"levels",editType:"calc"},start:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},end:{valType:"number",dflt:null,editType:"plot",impliedEdits:{"^autocontour":!1}},size:{valType:"number",dflt:null,min:0,editType:"plot",impliedEdits:{"^autocontour":!1}},coloring:{valType:"enumerated",values:["fill","heatmap","lines","none"],dflt:"fill",editType:"calc"},showlines:{valType:"boolean",dflt:!0,editType:"plot"},showlabels:{valType:"boolean",dflt:!1,editType:"plot"},labelfont:s({editType:"plot",colorEditType:"style"}),labelformat:{valType:"string",dflt:"",editType:"plot"},operation:{valType:"enumerated",values:[].concat(u).concat(h),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},editType:"calc",impliedEdits:{autocontour:!1}},line:{color:l({},f.color,{editType:"style+colorbars"}),width:{valType:"number",min:0,editType:"style+colorbars"},dash:o,smoothing:l({},f.smoothing,{}),editType:"plot"}},i("",{cLetter:"z",autoColorDflt:!1,editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../constants/docs":687,"../../constants/filter_ops":688,"../../lib/extend":707,"../../plots/font_attributes":790,"../heatmap/attributes":998,"../scatter/attributes":1118}],942:[function(t,e,r){"use strict";var n=t("../../components/colorscale"),a=t("../heatmap/calc"),i=t("./set_contours"),o=t("./end_plus");e.exports=function(t,e){var r=a(t,e),s=r[0].z;i(e,s);var l,c=e.contours,u=n.extractOpts(e);if("heatmap"===c.coloring&&u.auto&&!1===e.autocontour){var h=c.start,f=o(c),p=c.size||1,d=Math.floor((f-h)/p)+1;isFinite(p)||(p=1,d=1);var g=h-p/2;l=[g,g+d*p]}else l=s;return n.calc(t,e,{vals:l,cLetter:"z"}),r}},{"../../components/colorscale":603,"../heatmap/calc":999,"./end_plus":952,"./set_contours":960}],943:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t[0],a=n.z;switch(e.type){case"levels":var i=Math.min(a[0][0],a[0][1]);for(r=0;r<t.length;r++){var o=t[r];o.prefixBoundary=!o.edgepaths.length&&(i>o.level||o.starts.length&&i===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r<l;r++)u=Math.min(u,a[r][0]),u=Math.min(u,a[r][s-1]),c=Math.max(c,a[r][0]),c=Math.max(c,a[r][s-1]);for(r=1;r<s-1;r++)u=Math.min(u,a[0][r]),u=Math.min(u,a[l-1][r]),c=Math.max(c,a[0][r]),c=Math.max(c,a[l-1][r]);var h,f,p=e.value;switch(e._operation){case">":p>c&&(n.prefixBoundary=!0);break;case"<":(p<u||n.starts.length&&p===u)&&(n.prefixBoundary=!0);break;case"[]":h=Math.min(p[0],p[1]),((f=Math.max(p[0],p[1]))<u||h>c||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),h<u&&f>c&&(n.prefixBoundary=!0)}}}},{}],944:[function(t,e,r){"use strict";var n=t("../../components/colorscale").extractOpts,a=t("./make_color_map"),i=t("./end_plus");e.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=a(e,{isColorbar:!0});if("heatmap"===c){var h=n(e);r._fillgradient=e.colorscale,r._zrange=[h.min,h.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:i(o),size:l}}}},{"../../components/colorscale":603,"./end_plus":952,"./make_color_map":957}],945:[function(t,e,r){"use strict";e.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},{}],946:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("./label_defaults"),i=t("../../components/color"),o=i.addOpacity,s=i.opacity,l=t("../../constants/filter_ops"),c=l.CONSTRAINT_REDUCTION,u=l.COMPARISON_OPS2;e.exports=function(t,e,r,i,l,h){var f,p,d,g=e.contours,v=r("contours.operation");(g._operation=c[v],function(t,e){var r;-1===u.indexOf(e.operation)?(t("contours.value",[0,1]),Array.isArray(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(Array.isArray(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===v?f=g.showlines=!0:(f=r("contours.showlines"),d=r("fillcolor",o((t.line||{}).color||l,.5))),f)&&(p=r("line.color",d&&s(d)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash"));r("line.smoothing"),a(r,i,p,h)}},{"../../components/color":591,"../../constants/filter_ops":688,"./label_defaults":956,"fast-isnumeric":227}],947:[function(t,e,r){"use strict";var n=t("../../constants/filter_ops"),a=t("fast-isnumeric");function i(t,e){var r,i=Array.isArray(e);function o(t){return a(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(i?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=i?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=i?e.map(o):[o(e)]),r}function o(t){return function(e){e=i(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=i(t,e),end:1/0,size:1/0}}}e.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},{"../../constants/filter_ops":688,"fast-isnumeric":227}],948:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a=n("contours.start"),i=n("contours.end"),o=!1===a||!1===i,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},{}],949:[function(t,e,r){"use strict";var n=t("../../lib");function a(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}e.exports=function(t,e){var r,i,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),i=t[0],r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);return t;case"][":var c=s;s=l,l=c;case"[]":for(2!==t.length&&n.warn("Contour data invalid for the specified inequality range operation."),i=a(t[0]),o=a(t[1]),r=0;r<i.edgepaths.length;r++)i.edgepaths[r]=s(i.edgepaths[r]);for(r=0;r<i.paths.length;r++)i.paths[r]=s(i.paths[r]);for(r=0;r<i.starts.length;r++)i.starts[r]=s(i.starts[r]);for(;o.edgepaths.length;)i.edgepaths.push(l(o.edgepaths.shift()));for(;o.paths.length;)i.paths.push(l(o.paths.shift()));for(;o.starts.length;)i.starts.push(l(o.starts.shift()));return[i]}}},{"../../lib":716}],950:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./constraint_defaults"),o=t("./contours_defaults"),s=t("./style_defaults"),l=t("./attributes");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,l,r,a)}if(a(t,e,u,c)){u("text"),u("hovertext"),u("hovertemplate"),u("hoverongaps");var h="constraint"===u("contours.type");u("connectgaps",n.isArray1D(e.z)),h?i(t,e,u,c,r):(o(t,e,u,function(r){return n.coerce2(t,e,l,r)}),s(t,e,u,c))}else e.visible=!1}},{"../../lib":716,"../heatmap/xyz_defaults":1012,"./attributes":941,"./constraint_defaults":946,"./contours_defaults":948,"./style_defaults":962}],951:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constraint_mapping"),i=t("./end_plus");e.exports=function(t,e,r){for(var o="constraint"===t.type?a[t._operation](t.value):t,s=o.size,l=[],c=i(o),u=r.trace._carpetTrace,h=u?{xaxis:u.aaxis,yaxis:u.baxis,x:r.a,y:r.b}:{xaxis:e.xaxis,yaxis:e.yaxis,x:r.x,y:r.y},f=o.start;f<c;f+=s)if(l.push(n.extendFlat({level:f,crossings:{},starts:[],edgepaths:[],paths:[],z:r.z,smoothing:r.trace.line.smoothing},h)),l.length>1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},{"../../lib":716,"./constraint_mapping":947,"./end_plus":952}],952:[function(t,e,r){"use strict";e.exports=function(t){return t.end+t.size/1e6}},{}],953:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants");function i(t,e,r,n){return Math.abs(t[0]-e[0])<r&&Math.abs(t[1]-e[1])<n}function o(t,e,r,o,l){var c,u=e.join(","),h=t.crossings[u],f=function(t,e,r){var n=0,i=0;t>20&&e?208===t||1114===t?n=0===r[0]?1:-1:i=0===r[1]?1:-1:-1!==a.BOTTOMSTART.indexOf(t)?i=1:-1!==a.LEFTSTART.indexOf(t)?n=1:-1!==a.TOPSTART.indexOf(t)?i=-1:n=-1;return[n,i]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,g=t.z[0].length,v=e.slice(),m=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=a.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=a.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=a.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(","),i(p[p.length-1],p[p.length-2],o,l)&&p.pop();var y=f[0]&&(e[0]<0||e[0]>g-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===v[0]&&e[1]===v[1]&&f[0]===m[0]&&f[1]===m[1]||r&&y)break;h=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,b,_,w,k,T,A,M,S,E,L,C,P,O,z,I=i(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c<p.length;c++)C=p[c],P=p[c-1],void 0,void 0,O=C[2]-P[2],z=C[3]-P[3],D+=A=Math.sqrt(O*O+z*z),F.push(A);var N=D/F.length*R;function j(t){return p[t%p.length]}for(c=p.length-2;c>=B;c--)if((x=F[c])<N){for(_=0,b=c-1;b>=B&&x+F[b]<N;b--)x+=F[b];if(I&&c===p.length-2)for(_=0;_<b&&x+F[_]<N;_++)x+=F[_];k=c-b+_+1,T=Math.floor((c+b+_+2)/2),w=I||c!==p.length-2?I||-1!==b?k%2?j(T):[(j(T)[0]+j(T+1)[0])/2,(j(T)[1]+j(T+1)[1])/2]:p[0]:p[p.length-1],p.splice(b+1,c-b+1,w),c=b+1,_&&(B=_),I&&(c===p.length-2?p[_]=p[p.length-1]:0===c&&(p[p.length-1]=p[0]))}for(p.splice(0,B),c=0;c<p.length;c++)p[c].length=2;if(!(p.length<2))if(I)p.pop(),t.paths.push(p);else{r||n.log("Unclosed interior contour?",t.level,v.join(","),p.join("L"));var V=!1;for(M=0;M<t.edgepaths.length;M++)if(E=t.edgepaths[M],!V&&i(E[0],p[p.length-1],o,l)){p.pop(),V=!0;var U=!1;for(S=0;S<t.edgepaths.length;S++)if(i((L=t.edgepaths[S])[L.length-1],p[0],o,l)){U=!0,p.shift(),t.edgepaths.splice(M,1),S===M?t.paths.push(p.concat(L)):(S>M&&S--,t.edgepaths[S]=L.concat(p,E));break}U||(t.edgepaths[M]=p.concat(E))}for(M=0;M<t.edgepaths.length&&!V;M++)i((E=t.edgepaths[M])[E.length-1],p[0],o,l)&&(p.shift(),t.edgepaths[M]=E.concat(p),V=!0);V||t.edgepaths.push(p)}}function s(t,e,r){var n=e[0]+Math.max(r[0],0),a=e[1]+Math.max(r[1],0),i=t.z[a][n],o=t.xaxis,s=t.yaxis;if(r[1]){var l=(t.level-i)/(t.z[a][n+1]-i);return[o.c2p((1-l)*t.x[n]+l*t.x[n+1],!0),s.c2p(t.y[a],!0),n+l,a]}var c=(t.level-i)/(t.z[a+1][n]-i);return[o.c2p(t.x[n],!0),s.c2p((1-c)*t.y[a]+c*t.y[a+1],!0),n,a+c]}e.exports=function(t,e,r){var a,i,s,l;for(e=e||.01,r=r||.01,i=0;i<t.length;i++){for(s=t[i],l=0;l<s.starts.length;l++)o(s,s.starts[l],"edge",e,r);for(a=0;Object.keys(s.crossings).length&&a<1e4;)a++,o(s,Object.keys(s.crossings)[0].split(",").map(Number),void 0,e,r);1e4===a&&n.log("Infinite loop in contour?")}}},{"../../lib":716,"./constants":945}],954:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../heatmap/hover");e.exports=function(t,e,r,i,o){var s=a(t,e,r,i,o,!0);return s&&s.forEach(function(t){var e=t.trace;"constraint"===e.contours.type&&(e.fillcolor&&n.opacity(e.fillcolor)?t.color=n.addOpacity(e.fillcolor,1):e.contours.showlines&&n.opacity(e.line.color)&&(t.color=n.addOpacity(e.line.color,1)))}),s}},{"../../components/color":591,"../heatmap/hover":1005}],955:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot").plot,style:t("./style"),colorbar:t("./colorbar"),hoverPoints:t("./hover"),moduleType:"trace",name:"contour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","showLegend"],meta:{}}},{"../../plots/cartesian":775,"./attributes":941,"./calc":942,"./colorbar":944,"./defaults":950,"./hover":954,"./plot":959,"./style":961}],956:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a){if(a||(a={}),t("contours.showlabels")){var i=e.font;n.coerceFont(t,"contours.labelfont",{family:i.family,size:i.size,color:r}),t("contours.labelformat")}!1!==a.hasHover&&t("zhoverformat")}},{"../../lib":716}],957:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/colorscale"),i=t("./end_plus");e.exports=function(t){var e=t.contours,r=e.start,o=i(e),s=e.size||1,l=Math.floor((o-r)/s)+1,c="lines"===e.coloring?0:1,u=a.extractOpts(t);isFinite(s)||(s=1,l=1);var h,f,p=u.reversescale?a.flipScale(u.colorscale):u.colorscale,d=p.length,g=new Array(d),v=new Array(d);if("heatmap"===e.coloring){var m=u.min,y=u.max;for(f=0;f<d;f++)h=p[f],g[f]=h[0]*(y-m)+m,v[f]=h[1];var x=n.extent([m,y,e.start,e.start+s*(l-1)]),b=x[m<y?0:1],_=x[m<y?1:0];b!==m&&(g.splice(0,0,b),v.splice(0,0,v[0])),_!==y&&(g.push(_),v.push(v[v.length-1]))}else for(f=0;f<d;f++)h=p[f],g[f]=(h[0]*(l+c-1)-c/2)*s+r,v[f]=h[1];return a.makeColorScaleFunc({domain:g,range:v},{noNumericCheck:!0})}},{"../../components/colorscale":603,"./end_plus":952,d3:164}],958:[function(t,e,r){"use strict";var n=t("./constants");function a(t,e){var r=(e[0][0]>t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}e.exports=function(t){var e,r,i,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,g=2===p||2===d;for(r=0;r<p-1;r++)for(o=[],0===r&&(o=o.concat(n.BOTTOMSTART)),r===p-2&&(o=o.concat(n.TOPSTART)),e=0;e<d-1;e++)for(i=o.slice(),0===e&&(i=i.concat(n.LEFTSTART)),e===d-2&&(i=i.concat(n.RIGHTSTART)),s=e+","+r,l=[[f[r][e],f[r][e+1]],[f[r+1][e],f[r+1][e+1]]],h=0;h<t.length;h++)(c=a((u=t[h]).level,l))&&(u.crossings[s]=c,-1!==i.indexOf(c)&&(u.starts.push([e,r]),g&&-1!==i.indexOf(c,i.indexOf(c)+1)&&u.starts.push([e,r])))}},{"./constants":945}],959:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../components/colorscale"),s=t("../../lib/svg_text_utils"),l=t("../../plots/cartesian/axes"),c=t("../../plots/cartesian/set_convert"),u=t("../heatmap/plot"),h=t("./make_crossings"),f=t("./find_all_paths"),p=t("./empty_pathinfo"),d=t("./convert_to_constraints"),g=t("./close_boundaries"),v=t("./constants"),m=v.LABELOPTIMIZER;function y(t,e){var r,n,o,s,l,c,u,h="",f=0,p=t.edgepaths.map(function(t,e){return e}),d=!0;function g(t){return Math.abs(t[1]-e[2][1])<.01}function v(t){return Math.abs(t[0]-e[0][0])<.01}function m(t){return Math.abs(t[0]-e[2][0])<.01}for(;p.length;){for(c=i.smoothopen(t.edgepaths[f],t.smoothing),h+=d?c:c.replace(/^M/,"L"),p.splice(p.indexOf(f),1),r=t.edgepaths[f][t.edgepaths[f].length-1],s=-1,o=0;o<4;o++){if(!r){a.log("Missing end?",f,t);break}for(u=r,Math.abs(u[1]-e[0][1])<.01&&!m(r)?n=e[1]:v(r)?n=e[0]:g(r)?n=e[3]:m(r)&&(n=e[2]),l=0;l<t.edgepaths.length;l++){var y=t.edgepaths[l][0];Math.abs(r[0]-n[0])<.01?Math.abs(r[0]-y[0])<.01&&(y[1]-r[1])*(n[1]-y[1])>=0&&(n=y,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-y[1])<.01&&(y[0]-r[0])*(n[0]-y[0])>=0&&(n=y,s=l):a.log("endpt to newendpt is not vert. or horz.",r,n,y)}if(r=n,s>=0)break;h+="L"+n}if(s===t.edgepaths.length){a.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;f<t.paths.length;f++)h+=i.smoothclosed(t.paths[f],t.smoothing);return h}function x(t,e,r,n){var i=e.width/2,o=e.height/2,s=t.x,l=t.y,c=t.theta,u=Math.cos(c)*i,h=Math.sin(c)*i,f=(s>n.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=m.EDGECOST*(1/(f-1)+1/(p-1));d+=m.ANGLECOST*c*c;for(var g=s-u,v=l-h,y=s+u,x=l+h,b=0;b<r.length;b++){var _=r[b],w=Math.cos(_.theta)*_.width/2,k=Math.sin(_.theta)*_.width/2,T=2*a.segmentDistance(g,v,y,x,_.x-w,_.y-k,_.x+w,_.y+k)/(e.height+_.height),A=_.level===e.level,M=A?m.SAMELEVELDISTANCE:1;if(T<=M)return 1/0;d+=m.NEIGHBORCOST*(A?m.SAMELEVELFACTOR:1)/(T-M)}return d}r.plot=function(t,e,o,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,o,"contour").each(function(o){var s=n.select(this),m=o[0],x=m.trace,b=m.x,_=m.y,w=x.contours,k=p(w,e,m),T=a.ensureSingle(s,"g","heatmapcoloring"),A=[];"heatmap"===w.coloring&&(A=[o]),u(t,e,A,T),h(k),f(k);var M=l.c2p(b[0],!0),S=l.c2p(b[b.length-1],!0),E=c.c2p(_[0],!0),L=c.c2p(_[_.length-1],!0),C=[[M,L],[S,L],[S,E],[M,E]],P=k;"constraint"===w.type&&(P=d(k,w._operation)),function(t,e,r){var n=a.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"===r.coloring?[0]:[]);n.enter().append("path"),n.exit().remove(),n.attr("d","M"+e.join("L")+"Z").style("stroke","none")}(s,C,w),function(t,e,r,i){var o="fill"===i.coloring||"constraint"===i.type&&"="!==i._operation,s="M"+r.join("L")+"Z";o&&g(e,i);var l=a.ensureSingle(t,"g","contourfill").selectAll("path").data(o?e:[]);l.enter().append("path"),l.exit().remove(),l.each(function(t){var e=(t.prefixBoundary?s:"")+y(t,r);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()})}(s,P,C,w),function(t,e,o,s,l){var c=a.ensureSingle(t,"g","contourlines"),u=!1!==l.showlines,h=l.showlabels,f=u&&h,p=r.createLines(c,u||h,e),d=r.createLineClip(c,f,o,s.trace.uid),g=t.selectAll("g.contourlabels").data(h?[0]:[]);if(g.exit().remove(),g.enter().append("g").classed("contourlabels",!0),h){var m=[],y=[];a.clearLocationCache();var x=r.labelFormatter(o,s),b=i.tester.append("text").attr("data-notex",1).call(i.font,l.labelfont),_=e[0].xaxis,w=e[0].yaxis,k=_._length,T=w._length,A=_.range,M=w.range,S=a.aggNums(Math.min,null,s.x),E=a.aggNums(Math.max,null,s.x),L=a.aggNums(Math.min,null,s.y),C=a.aggNums(Math.max,null,s.y),P=Math.max(_.c2p(S,!0),0),O=Math.min(_.c2p(E,!0),k),z=Math.max(w.c2p(C,!0),0),I=Math.min(w.c2p(L,!0),T),D={};A[0]<A[1]?(D.left=P,D.right=O):(D.left=O,D.right=P),M[0]<M[1]?(D.top=z,D.bottom=I):(D.top=I,D.bottom=z),D.middle=(D.top+D.bottom)/2,D.center=(D.left+D.right)/2,m.push([[D.left,D.top],[D.right,D.top],[D.right,D.bottom],[D.left,D.bottom]]);var R=Math.sqrt(k*k+T*T),F=v.LABELDISTANCE*R/Math.max(1,e.length/v.LABELINCREASE);p.each(function(t){var e=r.calcTextOpts(t.level,x,b,o);n.select(this).selectAll("path").each(function(){var t=a.getVisibleSegment(this,D,e.height/2);if(t&&!(t.len<(e.width+e.height)*v.LABELMIN))for(var n=Math.min(Math.ceil(t.len/F),v.LABELMAX),i=0;i<n;i++){var o=r.findBestTextLocation(this,t,e,y,D);if(!o)break;r.addLabelData(o,e,y,m)}})}),b.remove(),r.drawLabels(g,y,o,d,f?m:null)}h&&!u&&p.remove()}(s,k,t,m,w),function(t,e,r,n,o){var s=n.trace,l=r._fullLayout._clips,c="clip"+s.uid,u=l.selectAll("#"+c).data(s.connectgaps?[]:[0]);if(u.enter().append("clipPath").classed("contourclip",!0).attr("id",c),u.exit().remove(),!1===s.connectgaps){var p={level:.9,crossings:{},starts:[],edgepaths:[],paths:[],xaxis:e.xaxis,yaxis:e.yaxis,x:n.x,y:n.y,z:function(t){var e,r,n=t.trace._emptypoints,a=[],i=t.z.length,o=t.z[0].length,s=[];for(e=0;e<o;e++)s.push(1);for(e=0;e<i;e++)a.push(s.slice());for(e=0;e<n.length;e++)r=n[e],a[r[0]][r[1]]=0;return t.zmask=a,a}(n),smoothing:0};h([p]),f([p]),g([p],{type:"levels"});var d=a.ensureSingle(u,"path","");d.attr("d",(p.prefixBoundary?"M"+o.join("L")+"Z":"")+y(p,o))}else c=null;i.setClipUrl(t,c,r)}(s,e,t,m,C)})},r.createLines=function(t,e,r){var n=r[0].smoothing,a=t.selectAll("g.contourlevel").data(e?r:[]);if(a.exit().remove(),a.enter().append("g").classed("contourlevel",!0),e){var o=a.selectAll("path.openline").data(function(t){return t.pedgepaths||t.edgepaths});o.exit().remove(),o.enter().append("path").classed("openline",!0),o.attr("d",function(t){return i.smoothopen(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke");var s=a.selectAll("path.closedline").data(function(t){return t.ppaths||t.paths});s.exit().remove(),s.enter().append("path").classed("closedline",!0),s.attr("d",function(t){return i.smoothclosed(t,n)}).style("stroke-miterlimit",1).style("vector-effect","non-scaling-stroke")}return a},r.createLineClip=function(t,e,r,n){var a=e?"clipline"+n:null,o=r._fullLayout._clips.selectAll("#"+a).data(e?[0]:[]);return o.exit().remove(),o.enter().append("clipPath").classed("contourlineclip",!0).attr("id",a),i.setClipUrl(t,a,r),o},r.labelFormatter=function(t,e){var r=t._fullLayout,n=e.trace,a=n.contours;if(a.labelformat)return r._d3locale.numberFormat(a.labelformat);var i,s=o.extractOpts(n);if(s&&s.colorbar&&s.colorbar._axis)i=s.colorbar._axis;else{if(i={type:"linear",_id:"ycontour",showexponent:"all",exponentformat:"B"},"constraint"===a.type){var u=a.value;Array.isArray(u)?i.range=[u[0],u[u.length-1]]:i.range=[u,u]}else i.range=[a.start,a.end],i.nticks=(a.end-a.start)/a.size;i.range[0]===i.range[1]&&(i.range[1]+=i.range[0]||1),i.nticks||(i.nticks=1e3),c(i,r),l.prepTicks(i),i._tmin=null,i._tmax=null}return function(t){return l.tickText(i,t).text}},r.calcTextOpts=function(t,e,r,n){var a=e(t);r.text(a).call(s.convertToTspans,n);var o=i.bBox(r.node(),!0);return{text:a,width:o.width,height:o.height,level:t,dy:(o.top+o.bottom)/2}},r.findBestTextLocation=function(t,e,r,n,i){var o,s,l,c,u,h=r.width;e.isClosed?(s=e.len/m.INITIALSEARCHPOINTS,o=e.min+s/2,l=e.max):(s=(e.len-h)/(m.INITIALSEARCHPOINTS+1),o=e.min+s+h/2,l=e.max-(s+h)/2);for(var f=1/0,p=0;p<m.ITERATIONS;p++){for(var d=o;d<l;d+=s){var g=a.getTextLocation(t,e.total,d,h),v=x(g,r,n,i);v<f&&(f=v,u=g,c=d)}if(f>2*m.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=m.MAXCOST)return u},r.addLabelData=function(t,e,r,n){var a=e.width/2,i=e.height/2,o=t.x,s=t.y,l=t.theta,c=Math.sin(l),u=Math.cos(l),h=a*u,f=i*c,p=a*c,d=-i*u,g=[[o-h-f,s-p-d],[o+h-f,s+p-d],[o+h+f,s+p+d],[o-h+f,s-p+d]];r.push({text:e.text,x:o,y:s,dy:e.dy,theta:l,level:e.level,width:e.width,height:e.height}),n.push(g)},r.drawLabels=function(t,e,r,i,o){var l=t.selectAll("text").data(e,function(t){return t.text+","+t.x+","+t.y+","+t.theta});if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each(function(t){var e=t.x+Math.sin(t.theta)*t.dy,a=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:a,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+a+")"}).call(s.convertToTspans,r)}),o){for(var c="",u=0;u<o.length;u++)c+="M"+o[u].join("L")+"Z";a.ensureSingle(i,"path","").attr("d",c)}}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/set_convert":782,"../heatmap/plot":1009,"./close_boundaries":943,"./constants":945,"./convert_to_constraints":949,"./empty_pathinfo":951,"./find_all_paths":953,"./make_crossings":958,d3:164}],960:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib");function i(t,e,r){var a={type:"linear",range:[t,e]};return n.autoTicks(a,(e-t)/(r||15)),a}e.exports=function(t,e){var r=t.contours;if(t.autocontour){var o=t.zmin,s=t.zmax;(t.zauto||void 0===o)&&(o=a.aggNums(Math.min,null,e)),(t.zauto||void 0===s)&&(s=a.aggNums(Math.max,null,e));var l=i(o,s,t.ncontours);r.size=l.dtick,r.start=n.tickFirst(l),l.range.reverse(),r.end=n.tickFirst(l),r.start===o&&(r.start+=r.size),r.end===s&&(r.end-=r.size),r.start>r.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),a.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;if(u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),!(r.size>0))c=u===h?1:i(u,h,t.ncontours).dtick,f.size=r.size=c}}},{"../../lib":716,"../../plots/cartesian/axes":764}],961:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../heatmap/style"),o=t("./make_color_map");e.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",function(t){return t[0].trace.opacity}),e.each(function(t){var e=n.select(this),r=t[0].trace,i=r.contours,s=r.line,l=i.size||1,c=i.start,u="constraint"===i.type,h=!u&&"lines"===i.coloring,f=!u&&"fill"===i.coloring,p=h||f?o(r):null;e.selectAll("g.contourlevel").each(function(t){n.select(this).selectAll("path").call(a.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)});var d=i.labelfont;if(e.selectAll("g.contourlabels text").each(function(t){a.font(n.select(this),{family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})}),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(f){var g;e.selectAll("g.contourfill path").style("fill",function(t){return void 0===g&&(g=t.level),p(t.level+.5*l)}),void 0===g&&(g=c),e.selectAll("g.contourbg path").style("fill",p(g-.5*l))}}),i(t)}},{"../../components/drawing":612,"../heatmap/style":1010,"./make_color_map":957,d3:164}],962:[function(t,e,r){"use strict";var n=t("../../components/colorscale/defaults"),a=t("./label_defaults");e.exports=function(t,e,r,i,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,i,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),a(r,i,c,o)}},{"../../components/colorscale/defaults":601,"./label_defaults":956}],963:[function(t,e,r){"use strict";var n=t("../heatmap/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=a.contours;e.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:a.fillcolor,autocontour:a.autocontour,ncontours:a.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:a.line.color,width:a.line.width,dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../contour/attributes":941,"../heatmap/attributes":998}],964:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc"),a=t("../../lib"),i=t("../heatmap/convert_column_xyz"),o=t("../heatmap/clean_2d_array"),s=t("../heatmap/interp2d"),l=t("../heatmap/find_empties"),c=t("../heatmap/make_bound_array"),u=t("./defaults"),h=t("../carpet/lookup_carpetid"),f=t("../contour/set_contours");e.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var g=function(t,e){var r,u,h,f,p,d,g,v=e._carpetTrace,m=v.aaxis,y=v.baxis;m._minDtick=0,y._minDtick=0,a.isArray1D(e.z)&&i(e,m,y,"a","b",["z"]);r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?m.makeCalcdata(e,"_a"):[],f=f?y.makeCalcdata(e,"_b"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,g=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(g),s(g,e._emptypoints);var x=a.maxRowLength(g),b="scaled"===e.xtype?"":r,_=c(e,b,u,h,x,m),w="scaled"===e.ytype?"":f,k=c(e,w,p,d,g.length,y),T={a:_,b:k,z:g};"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:g,containerStr:"",cLetter:"z"});return[T]}(t,e);return f(e,e._z),g}}},{"../../components/colorscale/calc":599,"../../lib":716,"../carpet/lookup_carpetid":914,"../contour/set_contours":960,"../heatmap/clean_2d_array":1e3,"../heatmap/convert_column_xyz":1002,"../heatmap/find_empties":1004,"../heatmap/interp2d":1007,"../heatmap/make_bound_array":1008,"./defaults":965}],965:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../heatmap/xyz_defaults"),i=t("./attributes"),o=t("../contour/constraint_defaults"),s=t("../contour/contours_defaults"),l=t("../contour/style_defaults");e.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}if(u("carpet"),t.a&&t.b){if(!a(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,function(r){return n.coerce2(t,e,i,r)}),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null}},{"../../lib":716,"../contour/constraint_defaults":946,"../contour/contours_defaults":948,"../contour/style_defaults":962,"../heatmap/xyz_defaults":1012,"./attributes":963}],966:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../contour/colorbar"),calc:t("./calc"),plot:t("./plot"),style:t("../contour/style"),moduleType:"trace",name:"contourcarpet",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},{"../../plots/cartesian":775,"../contour/colorbar":944,"../contour/style":961,"./attributes":963,"./calc":964,"./defaults":965,"./plot":967}],967:[function(t,e,r){"use strict";var n=t("d3"),a=t("../carpet/map_1d_array"),i=t("../carpet/makepath"),o=t("../../components/drawing"),s=t("../../lib"),l=t("../contour/make_crossings"),c=t("../contour/find_all_paths"),u=t("../contour/plot"),h=t("../contour/constants"),f=t("../contour/convert_to_constraints"),p=t("../contour/empty_pathinfo"),d=t("../contour/close_boundaries"),g=t("../carpet/lookup_carpetid"),v=t("../carpet/axis_aligned_line");function m(t,e,r){var n=t.getPointAtLength(e),a=t.getPointAtLength(r),i=a.x-n.x,o=a.y-n.y,s=Math.sqrt(i*i+o*o);return[i/s,o/s]}function y(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}e.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each(function(r){var b=n.select(this),k=r[0],T=k.trace,A=T._carpetTrace=g(t,T),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=k.a,E=k.b,L=T.contours,C=p(L,e,k),P="constraint"===L.type,O=L._operation,z=P?"="===O?"lines":"fill":L.coloring,I=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(C,D,R);var F,B,N,j,V=C;"constraint"===L.type&&(V=f(C,O)),function(t,e){var r,n,a,i,o,s,l,c,u;for(r=0;r<t.length;r++){for(i=t[r],o=i.pedgepaths=[],s=i.ppaths=[],n=0;n<i.edgepaths.length;n++){for(u=i.edgepaths[n],l=[],a=0;a<u.length;a++)l[a]=e(u[a]);o.push(l)}for(n=0;n<i.paths.length;n++){for(u=i.paths[n],c=[],a=0;a<u.length;a++)c[a]=e(u[a]);s.push(c)}}}(C,H);var U=[];for(j=M.clipsegments.length-1;j>=0;j--)F=M.clipsegments[j],B=a([],F.x,_.c2p),N=a([],F.y,w.c2p),B.reverse(),N.reverse(),U.push(i(B,N,F.bicubic));var q="M"+U.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f<e.length;f++)c=e[f],u=a([],c.x,r.c2p),h=a([],c.y,n.c2p),d.push(i(u,h,c.bicubic));p.attr("d","M"+d.join("L")+"Z").style("stroke","none")}(b,M.clipsegments,_,w,P,z),function(t,e,r,a,i,l,c,u,h,f,p){var g="fill"===f;g&&d(i,t.contours);var m=s.ensureSingle(e,"g","contourfill").selectAll("path").data(g?i:[]);m.enter().append("path"),m.exit().remove(),m.each(function(t){var e=(t.prefixBoundary?p:"")+function(t,e,r,n,a,i,l,c){var u,h,f,p,d,g,m,y="",x=e.edgepaths.map(function(t,e){return e}),b=!0,_=1e-4*Math.abs(r[0][0]-r[2][0]),w=1e-4*Math.abs(r[0][1]-r[2][1]);function k(t){return Math.abs(t[1]-r[0][1])<w}function T(t){return Math.abs(t[1]-r[2][1])<w}function A(t){return Math.abs(t[0]-r[0][0])<_}function M(t){return Math.abs(t[0]-r[2][0])<_}function S(t,e){var r,n,o,s,u="";for(k(t)&&!M(t)||T(t)&&!A(t)?(s=a.aaxis,o=v(a,i,[t[0],e[0]],.5*(t[1]+e[1]))):(s=a.baxis,o=v(a,i,.5*(t[0]+e[0]),[t[1],e[1]])),r=1;r<o.length;r++)for(u+=s.smoothing?"C":"L",n=0;n<o[r].length;n++){var h=o[r][n];u+=[l.c2p(h[0]),c.c2p(h[1])]+" "}return u}u=0,h=null;for(;x.length;){var E=e.edgepaths[u][0];for(h&&(y+=S(h,E)),m=o.smoothopen(e.edgepaths[u].map(n),e.smoothing),y+=b?m:m.replace(/^M/,"L"),x.splice(x.indexOf(u),1),h=e.edgepaths[u][e.edgepaths[u].length-1],d=-1,p=0;p<4;p++){if(!h){s.log("Missing end?",u,e);break}for(k(h)&&!M(h)?f=r[1]:A(h)?f=r[0]:T(h)?f=r[3]:M(h)&&(f=r[2]),g=0;g<e.edgepaths.length;g++){var L=e.edgepaths[g][0];Math.abs(h[0]-f[0])<_?Math.abs(h[0]-L[0])<_&&(L[1]-h[1])*(f[1]-L[1])>=0&&(f=L,d=g):Math.abs(h[1]-f[1])<w?Math.abs(h[1]-L[1])<w&&(L[0]-h[0])*(f[0]-L[0])>=0&&(f=L,d=g):s.log("endpt to newendpt is not vert. or horz.",h,f,L)}if(d>=0)break;y+=S(h,f),h=f}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(b=-1===x.indexOf(u))&&(u=x[0],y+=S(h,f)+"Z",h=null)}for(u=0;u<e.paths.length;u++)y+=o.smoothclosed(e.paths[u].map(n),e.smoothing);return y}(0,t,l,c,u,h,r,a);e?n.select(this).attr("d",e).style("stroke","none"):n.select(this).remove()})}(T,b,_,w,V,I,H,A,M,z,q),function(t,e,r,a,i,l,c){var f=s.ensureSingle(t,"g","contourlines"),p=!1!==i.showlines,d=i.showlabels,g=p&&d,v=u.createLines(f,p||d,e),b=u.createLineClip(f,g,r,a.trace.uid),_=t.selectAll("g.contourlabels").data(d?[0]:[]);if(_.exit().remove(),_.enter().append("g").classed("contourlabels",!0),d){var w=l.xaxis,k=l.yaxis,T=w._length,A=k._length,M=[[[0,0],[T,0],[T,A],[0,A]]],S=[];s.clearLocationCache();var E=u.labelFormatter(r,a),L=o.tester.append("text").attr("data-notex",1).call(o.font,i.labelfont),C={left:0,right:T,center:T/2,top:0,bottom:A,middle:A/2},P=Math.sqrt(T*T+A*A),O=h.LABELDISTANCE*P/Math.max(1,e.length/h.LABELINCREASE);v.each(function(t){var e=u.calcTextOpts(t.level,E,L,r);n.select(this).selectAll("path").each(function(r){var n=s.getVisibleSegment(this,C,e.height/2);if(n&&(function(t,e,r,n,a,i){for(var o,s=0;s<r.pedgepaths.length;s++)e===r.pedgepaths[s]&&(o=r.edgepaths[s]);if(!o)return;var l=a.a[0],c=a.a[a.a.length-1],u=a.b[0],h=a.b[a.b.length-1];function f(t,e){var r,n=0;return(Math.abs(t[0]-l)<.1||Math.abs(t[0]-c)<.1)&&(r=y(a.dxydb_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),(Math.abs(t[1]-u)<.1||Math.abs(t[1]-h)<.1)&&(r=y(a.dxyda_rough(t[0],t[1],.1)),n=Math.max(n,i*x(e,r)/2)),n}var p=m(t,0,1),d=m(t,n.total,n.total-1),g=f(o[0],p),v=n.total-f(o[o.length-1],d);n.min<g&&(n.min=g);n.max>v&&(n.max=v);n.len=n.max-n.min}(this,r,t,n,c,e.height),!(n.len<(e.width+e.height)*h.LABELMIN)))for(var a=Math.min(Math.ceil(n.len/O),h.LABELMAX),i=0;i<a;i++){var o=u.findBestTextLocation(this,n,e,S,C);if(!o)break;u.addLabelData(o,e,S,M)}})}),L.remove(),u.drawLabels(_,S,r,b,g?M:null)}d&&!p&&v.remove()}(b,C,t,k,L,e,A),o.setClipUrl(b,A._clipPathId,t)}function H(t){var e=A.ab2xy(t[0],t[1],!0);return[_.c2p(e[0]),w.c2p(e[1])]}})}},{"../../components/drawing":612,"../../lib":716,"../carpet/axis_aligned_line":898,"../carpet/lookup_carpetid":914,"../carpet/makepath":915,"../carpet/map_1d_array":916,"../contour/close_boundaries":943,"../contour/constants":945,"../contour/convert_to_constraints":949,"../contour/empty_pathinfo":951,"../contour/find_all_paths":953,"../contour/make_crossings":958,"../contour/plot":959,d3:164}],968:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/attributes"),o=t("../scattermapbox/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},i.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:a()},n("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scattermapbox/attributes":1181}],969:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("../../constants/numerical").BADNUM,o=t("../../components/colorscale/calc"),s=t("../../lib")._;e.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=a(c)&&c.length,h=0;h<r;h++){var f=l[h]={},p=e.lon[h],d=e.lat[h];if(f.lonlat=n(p)&&n(d)?[+p,+d]:[i,i],u){var g=c[h];f.z=n(g)?g:i}}return o(t,e,{vals:u?c:[0,1],containerStr:"",cLetter:"z"}),r&&(l[0].t={labels:{lat:s(t,"lat:")+" ",lon:s(t,"lon:")+" "}}),l}},{"../../components/colorscale/calc":599,"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],970:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../components/color"),o=t("../../components/colorscale"),s=t("../../constants/numerical").BADNUM,l=t("../../lib/geojson_utils").makeBlank;e.exports=function(t){var e=t[0].trace,r=!0===e.visible&&0!==e._length,c=e._opts={heatmap:{layout:{visibility:"none"},paint:{}},geojson:l()};if(!r)return c;var u,h=[],f=e.z,p=e.radius,d=a.isArrayOrTypedArray(f)&&f.length,g=a.isArrayOrTypedArray(p);for(u=0;u<t.length;u++){var v=t[u],m=v.lonlat;if(m[0]!==s){var y={};if(d){var x=v.z;y.z=x!==s?x:0}g&&(y.r=n(p[u])&&p[u]>0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:m},properties:y})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],k=["interpolate",["linear"],["heatmap-density"],0,i.opacity(w)<1?w:i.addOpacity(w,0)];for(u=1;u<_.length;u++)k.push(_[u][0],_[u][1]);var T=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return a.extendFlat(c.heatmap.paint,{"heatmap-weight":d?T:1/(b.max-b.min),"heatmap-color":k,"heatmap-radius":g?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),c.geojson={type:"FeatureCollection",features:h},c.heatmap.layout.visibility="visible",c}},{"../../components/color":591,"../../components/colorscale":603,"../../constants/numerical":692,"../../lib":716,"../../lib/geojson_utils":711,"fast-isnumeric":227}],971:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("lon")||[],c=s("lat")||[],u=Math.min(l.length,c.length);u?(e._length=u,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),a(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":968}],972:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},{}],973:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../scattermapbox/hover");e.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,c=l[0].trace,u=l[s.index];if(delete s.color,"z"in u){var h=s.subplot.mockAxis;s.z=u.z,s.zLabel=a.tickText(h,h.c2l(u.z),"hover").text}return s.extraText=function(t,e,r){if(t.hovertemplate)return;var a=(e.hi||t.hoverinfo).split("+"),i=-1!==a.indexOf("all"),o=-1!==a.indexOf("lon"),s=-1!==a.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}i||o&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):o?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(i||-1!==a.indexOf("text"))&&n.fillText(e,t,c);return c.join("<br>")}(c,u,l[0].t.labels),[s]}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../scattermapbox/hover":1186}],974:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../heatmap/colorbar"),formatLabels:t("../scattermapbox/format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n<r.length;n++){var a=r[n],i=a.id;if("symbol"===a.type&&"string"==typeof i&&-1===i.indexOf("plotly-"))return i}},moduleType:"trace",name:"densitymapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl"],meta:{hr_name:"density_mapbox"}}},{"../../plots/mapbox":819,"../heatmap/colorbar":1001,"../scattermapbox/format_labels":1185,"./attributes":968,"./calc":969,"./defaults":971,"./event_data":972,"./hover":973,"./plot":975}],975:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix;function i(t,e){this.type="densitymapbox",this.subplot=t,this.uid=e,this.sourceId="source-"+e,this.layerList=[["heatmap",a+e+"-heatmap"]],this.below=null}var o=i.prototype;o.update=function(t){var e=this.subplot,r=this.layerList,a=n(t),i=e.belowLookup["trace-"+this.uid];e.map.getSource(this.sourceId).setData(a.geojson),i!==this.below&&(this._removeLayers(),this._addLayers(a,i),this.below=i);for(var o=0;o<r.length;o++){var s=r[o],l=s[0],c=s[1],u=a[l];e.setOptions(c,"setLayoutProperty",u.layout),"visible"===u.layout.visibility&&e.setOptions(c,"setPaintProperty",u.paint)}},o._addLayers=function(t,e){for(var r=this.subplot,n=this.layerList,a=this.sourceId,i=0;i<n.length;i++){var o=n[i],s=o[0],l=t[s];r.addLayer({type:s,id:o[1],source:a,layout:l.layout,paint:l.paint},e)}},o._removeLayers=function(){for(var t=this.subplot.map,e=this.layerList,r=e.length-1;r>=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},e.exports=function(t,e){var r=e[0].trace,a=new i(t,r.uid),o=a.sourceId,s=n(e),l=a.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),a._addLayers(s,l),a}},{"../../plots/mapbox/constants":817,"./convert":970}],976:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.hovertext,t,"htx");var a=e.marker;if(a){n.mergeArray(a.opacity,t,"mo"),n.mergeArray(a.color,t,"mc");var i=a.line;i&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"))}}},{"../../lib":716}],977:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../scatter/attributes").line,i=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");e.exports={x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:["name","x","y","text","percent initial","percent previous","percent total"]}),textinfo:{valType:"flaglist",flags:["label","text","percent initial","percent previous","percent total","value"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label","value"])}),text:n.text,textposition:c({},n.textposition,{dflt:"auto"}),insidetextanchor:c({},n.insidetextanchor,{dflt:"middle"}),textangle:c({},n.textangle,{dflt:0}),textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:c({},n.orientation,{}),offset:c({},n.offset,{arrayOk:!1}),width:c({},n.width,{arrayOk:!1}),marker:n.marker,connector:{fillcolor:{valType:"color",editType:"style"},line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{dflt:0,editType:"plot"}),dash:a.dash,editType:"style"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":591,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118,"./constants":979}],978:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("./arrays_to_calcdata"),i=t("../scatter/calc_selection"),o=t("../../constants/numerical").BADNUM;function s(t){return t===o?0:t}e.exports=function(t,e){var r,l,c,u,h=n.getFromId(t,e.xaxis||"x"),f=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=h.makeCalcdata(e,"x"),l=f.makeCalcdata(e,"y")):(r=f.makeCalcdata(e,"y"),l=h.makeCalcdata(e,"x"));var p,d=Math.min(l.length,r.length),g=new Array(d);for(e._base=[],c=0;c<d;c++){r[c]<0&&(r[c]=o);var v=!1;r[c]!==o&&c+1<d&&r[c+1]!==o&&(v=!0),u=g[c]={p:l[c],s:r[c],cNext:v},e._base[c]=-.5*u.s,e.ids&&(u.id=String(e.ids[c])),0===c&&(g[0].vTotal=0),g[0].vTotal+=s(u.s),u.begR=s(u.s)/s(g[0].s)}for(c=0;c<d;c++)(u=g[c]).s!==o&&(u.sumR=u.s/g[0].vTotal,u.difR=void 0!==p?u.s/p:1,p=u.s);return a(g,e),i(g,e),g}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120,"./arrays_to_calcdata":976}],979:[function(t,e,r){"use strict";e.exports={eventDataKeys:["percentInitial","percentPrevious","percentTotal"]}},{}],980:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a],d="h"===p.orientation;!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"funnel"===p.type&&(r=s[a],d?f.push(r):h.push(r),u.push(r))}var g={mode:i.funnelmode,norm:i.funnelnorm,gap:i.funnelgap,groupgap:i.funnelgroupgap};for(n(t,l,c,h,g),n(t,c,l,f,g),a=0;a<u.length;a++){r=u[a];for(var v=0;v<r.length;v++)v+1<r.length&&(r[v].nextP0=r[v+1].p0,r[v].nextS0=r[v+1].s0,r[v].nextP1=r[v+1].p1,r[v].nextS1=r[v+1].s1)}}},{"../bar/cross_trace_calc":858}],981:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../bar/defaults").handleGroupingDefaults,i=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("./attributes"),l=t("../../components/color");e.exports={supplyDefaults:function(t,e,r,a){function c(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,c)){c("orientation",e.y&&!e.x?"v":"h"),c("offset"),c("width");var u=c("text");c("hovertext"),c("hovertemplate");var h=c("textposition");i(t,e,a,c,h,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"===e.textposition||e.texttemplate||c("textinfo",Array.isArray(u)?"text+value":"value");var f=c("marker.color",r);c("marker.line.color",l.defaultLine),c("marker.line.width"),c("connector.visible")&&(c("connector.fillcolor",function(t){var e=n.isArrayOrTypedArray(t)?"#000":t;return l.addOpacity(e,.5*l.opacity(e))}(f)),c("connector.line.width")&&(c("connector.line.color"),c("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if("group"===e.funnelmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{"../../components/color":591,"../../lib":716,"../bar/defaults":859,"../scatter/xy_defaults":1144,"./attributes":977}],982:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"percentInitial"in e&&(t.percentInitial=e.percentInitial),"percentPrevious"in e&&(t.percentPrevious=e.percentPrevious),"percentTotal"in e&&(t.percentTotal=e.percentTotal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],983:[function(t,e,r){"use strict";var n=t("../../components/color").opacity,a=t("../bar/hover").hoverOnBars,i=t("../../lib").formatPercent;e.exports=function(t,e,r,o){var s=a(t,e,r,o);if(s){var l=s.cd,c=l[0].trace,u="h"===c.orientation,h=l[s.index];s[(u?"x":"y")+"LabelVal"]=h.s,s.percentInitial=h.begR,s.percentInitialLabel=i(h.begR,1),s.percentPrevious=h.difR,s.percentPreviousLabel=i(h.difR,1),s.percentTotal=h.sumR,s.percentTotalLabel=i(h.sumR,1);var f=h.hi||c.hoverinfo,p=[];if(f&&"none"!==f&&"skip"!==f){var d="all"===f,g=f.split("+"),v=function(t){return d||-1!==g.indexOf(t)};v("percent initial")&&p.push(s.percentInitialLabel+" of initial"),v("percent previous")&&p.push(s.percentPreviousLabel+" of previous"),v("percent total")&&p.push(s.percentTotalLabel+" of total")}return s.extraText=p.join("<br>"),s.color=function(t,e){var r=t.marker,a=e.mc||r.color,i=e.mlc||r.line.color,o=e.mlw||r.line.width;if(n(a))return a;if(n(i)&&o)return i}(c,h),[s]}}},{"../../components/color":591,"../../lib":716,"../bar/hover":862}],984:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"funnel",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":977,"./calc":978,"./cross_trace_calc":980,"./defaults":981,"./event_data":982,"./hover":983,"./layout_attributes":985,"./layout_defaults":986,"./plot":987,"./style":988}],985:[function(t,e,r){"use strict";e.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],986:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"funnel"===l.type){i=!0;break}}i&&(o("funnelmode"),o("funnelgap",.2),o("funnelgroupgap"))}},{"../../lib":716,"./layout_attributes":985}],987:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../bar/plot").plot;function s(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),a[3]=o.c2p(t.nextS1,!0),i[3]=s.c2p(t.nextP1,!0),n?[a,i]:[i,a]}e.exports=function(t,e,r,l){var c=t._fullLayout;!function(t,e,r,o){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),u=r[0].trace,h=a.ensureSingle(o,"g","regions");if(u.connector&&u.connector.visible){var f="h"===u.orientation,p=h.selectAll("g.region").data(a.identity);p.enter().append("g").classed("region",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var u=s(r,l,c,f),h=u[0],p=u[1],g="";void 0!==h[3]&&void 0!==p[3]&&(g+=f?"M"+h[0]+","+p[1]+"L"+h[2]+","+p[2]+"H"+h[3]+"L"+h[1]+","+p[1]+"Z":"M"+h[1]+","+p[1]+"L"+h[2]+","+p[3]+"V"+p[2]+"L"+h[1]+","+p[0]+"Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else h.remove()})}(t,e,r,l),function(t,e,r,o){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),u=r[0].trace,h=a.ensureSingle(o,"g","lines");if(u.connector&&u.connector.visible&&u.connector.line.width){var f="h"===u.orientation,p=h.selectAll("g.line").data(a.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var u=s(r,l,c,f),h=u[0],p=u[1],g="";void 0!==h[3]&&void 0!==p[3]&&(f?(g+="M"+h[0]+","+p[1]+"L"+h[2]+","+p[2],g+="M"+h[1]+","+p[1]+"L"+h[3]+","+p[2]):(g+="M"+h[1]+","+p[1]+"L"+h[2]+","+p[3],g+="M"+h[1]+","+p[0]+"L"+h[2]+","+p[2])),""===g&&(g="M0,0Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else h.remove()})}(t,e,r,l),o(t,e,r,l,{mode:c.funnelmode,norm:c.funnelmode,gap:c.funnelgap,groupgap:c.funnelgroupgap})}},{"../../components/drawing":612,"../../lib":716,"../bar/plot":866,d3:164}],988:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style").styleTextPoints;e.exports={style:function(t,e,r){var l=r||n.select(t).selectAll("g.funnellayer").selectAll("g.trace");l.style("opacity",function(t){return t[0].trace.opacity}),l.each(function(e){var r=n.select(this),l=e[0].trace;r.selectAll(".point > path").each(function(t){if(!t.isBlank){var e=l.marker;n.select(this).call(i.fill,t.mc||e.color).call(i.stroke,t.mlc||e.line.color).call(a.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".regions").each(function(){n.select(this).selectAll("path").style("stroke-width",0).call(i.fill,l.connector.fillcolor)}),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],989:[function(t,e,r){"use strict";var n=t("../pie/attributes"),a=t("../../plots/attributes"),i=t("../../plots/domain").attributes,o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("../../lib/extend").extendFlat;e.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},a.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:i({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092}],990:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="funnelarea",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],991:[function(t,e,r){"use strict";var n=t("../pie/calc");e.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},{"../pie/calc":1094}],992:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}var c,u=l("values"),h=n.isArrayOrTypedArray(u),f=l("labels");if(Array.isArray(f)?(c=f.length,h&&(c=Math.min(c,u.length))):h&&(c=u.length,l("label0"),l("dlabel")),c){e._length=c,l("marker.line.width")&&l("marker.line.color",s.paper_bgcolor),l("marker.colors"),l("scalegroup");var p,d=l("text"),g=l("texttemplate");if(g||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),g||p&&"none"!==p){var v=l("textposition");o(t,e,s,l,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}i(e,s,l),l("title.text")&&(l("title.position"),n.coerceFont(l,"title.font",s.font)),l("aspectratio"),l("baseratio")}else e.visible=!1}},{"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":989}],993:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"funnelarea",basePlotModule:t("./base_plot"),categories:["pie-like","funnelarea","showLegend"],attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style"),styleOne:t("../pie/style_one"),meta:{}}},{"../pie/style_one":1103,"./attributes":989,"./base_plot":990,"./calc":991,"./defaults":992,"./layout_attributes":994,"./layout_defaults":995,"./plot":996,"./style":997}],994:[function(t,e,r){"use strict";var n=t("../pie/layout_attributes").hiddenlabels;e.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{"../pie/layout_attributes":1099}],995:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},{"../../lib":716,"./layout_attributes":994}],996:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../lib"),o=t("../../lib/svg_text_utils"),s=t("../bar/plot").toMoveInsideBar,l=t("../pie/helpers"),c=t("../pie/plot"),u=c.attachFxHandlers,h=c.determineInsideTextFont,f=c.layoutAreas,p=c.prerenderTitles,d=c.positionTitleOutside;function g(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}e.exports=function(t,e){var r=t._fullLayout;p(e,t),f(e,r._size),i.makeTraceGroups(r._funnelarealayer,e,"trace").each(function(e){var f=n.select(this),p=e[0],v=p.trace;!function(t){if(!t.length)return;var e=t[0],r=e.trace,n=r.aspectratio,a=r.baseratio;a>.999&&(a=.999);var i,o=Math.pow(a,2),s=e.vTotal,l=s,c=s*o/(1-o)/s;function u(){var t,e={x:t=Math.sqrt(c),y:-t};return[e.x,e.y]}var h,f,p=[];for(p.push(u()),h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var d=f.v/l;c+=d,p.push(u())}var g=1/0,v=-1/0;for(h=0;h<p.length;h++)i=p[h],g=Math.min(g,i[1]),v=Math.max(v,i[1]);for(h=0;h<p.length;h++)p[h][1]-=(v+g)/2;var m=p[p.length-1][0],y=e.r,x=(v-g)/2,b=y/m,_=y/x*n;for(e.r=_*x,h=0;h<p.length;h++)p[h][0]*=b,p[h][1]*=_;var w=[-(i=p[0])[0],i[1]],k=[i[0],i[1]],T=0;for(h=t.length-1;h>-1;h--)if(!(f=t[h]).hidden){var A=p[T+=1][0],M=p[T][1];f.TL=[-A,M],f.TR=[A,M],f.BL=w,f.BR=k,f.pxmid=(S=f.TR,E=f.BR,[.5*(S[0]+E[0]),.5*(S[1]+E[1])]),w=f.TL,k=f.TR}var S,E}(e),f.each(function(){var f=n.select(this).selectAll("g.slice").data(e);f.enter().append("g").classed("slice",!0),f.exit().remove(),f.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=v.index;var f=p.cx,d=p.cy,m=n.select(this),y=m.selectAll("path.surface").data([r]);y.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),m.call(u,t,e);var x="M"+(f+r.TR[0])+","+(d+r.TR[1])+g(r.TR,r.BR)+g(r.BR,r.BL)+g(r.BL,r.TL)+"Z";y.attr("d",x),c.formatSliceLabel(t,r,p);var b=l.castOption(v.textposition,r.pts),_=m.selectAll("g.slicetext").data(r.text&&"none"!==b?[0]:[]);_.enter().append("g").classed("slicetext",!0),_.exit().remove(),_.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(a.font,h(v,r,t._fullLayout.font)).call(o.convertToTspans,t);var l,c,u,p=a.bBox(e.node()),g=Math.min(r.BL[1],r.BR[1]),m=Math.max(r.TL[1],r.TR[1]);c=Math.max(r.TL[0],r.BL[0]),u=Math.min(r.TR[0],r.BR[0]),l=i.getTextTransform(s(c,u,g,m,p,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})),e.attr("transform","translate("+f+","+d+")"+l)})}});var m=n.select(this).selectAll("g.titletext").data(v.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each(function(){var e=i.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),s=v.title.text;v._meta&&(s=i.templateString(s,v._meta)),e.text(s).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(a.font,v.title.font).call(o.convertToTspans,t);var l=d(p,r._size);e.attr("transform","translate("+l.x+","+l.y+")"+(l.scale<1?"scale("+l.scale+")":"")+"translate("+l.tx+","+l.ty+")")})})})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../bar/plot":866,"../pie/helpers":1097,"../pie/plot":1101,d3:164}],997:[function(t,e,r){"use strict";var n=t("d3"),a=t("../pie/style_one");e.exports=function(t){t._fullLayout._funnelarealayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(a,t,e)})})}},{"../pie/style_one":1103,d3:164}],998:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../components/colorscale/attributes"),o=(t("../../constants/docs").FORMAT_LINK,t("../../lib/extend").extendFlat);e.exports=o({z:{valType:"data_array",editType:"calc"},x:o({},n.x,{impliedEdits:{xtype:"array"}}),x0:o({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:o({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:o({},n.y,{impliedEdits:{ytype:"array"}}),y0:o({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:o({},n.dy,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},zhoverformat:{valType:"string",dflt:"",editType:"none"},hovertemplate:a()},{transforms:void 0},i("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../constants/docs":687,"../../lib/extend":707,"../../plots/template_attributes":840,"../scatter/attributes":1118}],999:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../histogram2d/calc"),s=t("../../components/colorscale/calc"),l=t("./convert_column_xyz"),c=t("./clean_2d_array"),u=t("./interp2d"),h=t("./find_empties"),f=t("./make_bound_array");e.exports=function(t,e){var r,p,d,g,v,m,y,x,b,_=i.getFromId(t,e.xaxis||"x"),w=i.getFromId(t,e.yaxis||"y"),k=n.traceIs(e,"contour"),T=n.traceIs(e,"histogram"),A=n.traceIs(e,"gl2d"),M=k?"best":e.zsmooth;if(_._minDtick=0,w._minDtick=0,T)r=(b=o(t,e)).x,p=b.x0,d=b.dx,g=b.y,v=b.y0,m=b.dy,y=b.z;else{var S=e.z;a.isArray1D(S)?(l(e,_,w,"x","y",["z"]),r=e._x,g=e._y,S=e._z):(r=e._x=e.x?_.makeCalcdata(e,"x"):[],g=e._y=e.y?w.makeCalcdata(e,"y"):[]),p=e.x0,d=e.dx,v=e.y0,m=e.dy,y=c(S,e,_,w),(k||e.connectgaps)&&(e._emptypoints=h(y),u(y,e._emptypoints))}function E(t){M=e._input.zsmooth=e.zsmooth=!1,a.warn('cannot use zsmooth: "fast": '+t)}if("fast"===M)if("log"===_.type||"log"===w.type)E("log axis found");else if(!T){if(r.length){var L=(r[r.length-1]-r[0])/(r.length-1),C=Math.abs(L/100);for(x=0;x<r.length-1;x++)if(Math.abs(r[x+1]-r[x]-L)>C){E("x scale is not linear");break}}if(g.length&&"fast"===M){var P=(g[g.length-1]-g[0])/(g.length-1),O=Math.abs(P/100);for(x=0;x<g.length-1;x++)if(Math.abs(g[x+1]-g[x]-P)>O){E("y scale is not linear");break}}}var z=a.maxRowLength(y),I="scaled"===e.xtype?"":r,D=f(e,I,p,d,z,_),R="scaled"===e.ytype?"":g,F=f(e,R,v,m,y.length,w);A||(e._extremes[_._id]=i.findExtremes(_,D),e._extremes[w._id]=i.findExtremes(w,F));var B={x:D,y:F,z:y,text:e._text||e.text,hovertext:e._hovertext||e.hovertext};if(I&&I.length===D.length-1&&(B.xCenter=I),R&&R.length===F.length-1&&(B.yCenter=R),T&&(B.xRanges=b.xRanges,B.yRanges=b.yRanges,B.pts=b.pts),k||s(t,e,{vals:y,cLetter:"z"}),k&&e.contours&&"heatmap"===e.contours.coloring){var N={type:"contour"===e.type?"heatmap":"histogram2d",xcalendar:e.xcalendar,ycalendar:e.ycalendar};B.xfill=f(N,I,p,d,z,_),B.yfill=f(N,R,v,m,y.length,w)}return[B]}},{"../../components/colorscale/calc":599,"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../histogram2d/calc":1030,"./clean_2d_array":1e3,"./convert_column_xyz":1002,"./find_empties":1004,"./interp2d":1007,"./make_bound_array":1008}],1000:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,o){var s,l,c,u,h,f;function p(t){if(n(t))return+t}if(e&&e.transpose){for(s=0,h=0;h<t.length;h++)s=Math.max(s,t[h].length);if(0===s)return!1;c=function(t){return t.length},u=function(t,e,r){return(t[r]||[])[e]}}else s=t.length,c=function(t,e){return t[e].length},u=function(t,e,r){return(t[e]||[])[r]};var d=function(t,e,r){return e===i||r===i?i:u(t,e,r)};function g(t){if(e&&"carpet"!==e.type&&"contourcarpet"!==e.type&&t&&"category"===t.type&&e["_"+t._id.charAt(0)].length){var r=t._id.charAt(0),n={},o=e["_"+r+"CategoryMap"]||e[r];for(h=0;h<o.length;h++)n[o[h]]=h;return function(e){var r=n[t._categories[e]];return r+1?r:i}}return a.identity}var v=g(r),m=g(o);o&&"category"===o.type&&(s=o._categories.length);var y=new Array(s);for(h=0;h<s;h++)for(l=r&&"category"===r.type?r._categories.length:c(t,h),y[h]=new Array(l),f=0;f<l;f++)y[h][f]=p(d(t,m(h),v(f)));return y}},{"../../constants/numerical":692,"../../lib":716,"fast-isnumeric":227}],1001:[function(t,e,r){"use strict";e.exports={min:"zmin",max:"zmax"}},{}],1002:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r,i,o,s){var l,c,u,h,f=t._length,p=e.makeCalcdata(t,i),d=r.makeCalcdata(t,o),g=t.text,v=void 0!==g&&n.isArray1D(g),m=t.hovertext,y=void 0!==m&&n.isArray1D(m),x=n.distinctVals(p),b=x.vals,_=n.distinctVals(d),w=_.vals,k=[];for(l=0;l<s.length;l++)k[l]=n.init2dArray(w.length,b.length);for(v&&(u=n.init2dArray(w.length,b.length)),y&&(h=n.init2dArray(w.length,b.length)),l=0;l<f;l++)if(p[l]!==a&&d[l]!==a){var T=n.findBin(p[l]+x.minDiff/2,b),A=n.findBin(d[l]+_.minDiff/2,w);for(c=0;c<s.length;c++){var M=t[s[c]];k[c][A][T]=M[l]}v&&(u[A][T]=g[l]),y&&(h[A][T]=m[l])}for(t["_"+i]=b,t["_"+o]=w,c=0;c<s.length;c++)t["_"+s[c]]=k[c];v&&(t._text=u),y&&(t._hovertext=h),e&&"category"===e.type&&(t["_"+i+"CategoryMap"]=b.map(function(t){return e._categories[t]})),r&&"category"===r.type&&(t["_"+o+"CategoryMap"]=w.map(function(t){return r._categories[t]}))}},{"../../constants/numerical":692,"../../lib":716}],1003:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./xyz_defaults"),i=t("./style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l)?(c("text"),c("hovertext"),c("hovertemplate"),i(t,e,c,l),c("hoverongaps"),c("connectgaps",n.isArray1D(e.z)&&!1!==e.zsmooth),o(t,e,l,c,{prefix:"",cLetter:"z"})):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":998,"./style_defaults":1011,"./xyz_defaults":1012}],1004:[function(t,e,r){"use strict";var n=t("../../lib").maxRowLength;e.exports=function(t){var e,r,a,i,o,s,l,c,u=[],h={},f=[],p=t[0],d=[],g=[0,0,0],v=n(t);for(r=0;r<t.length;r++)for(e=d,d=p,p=t[r+1]||[],a=0;a<v;a++)void 0===d[a]&&((s=(void 0!==d[a-1]?1:0)+(void 0!==d[a+1]?1:0)+(void 0!==e[a]?1:0)+(void 0!==p[a]?1:0))?(0===r&&s++,0===a&&s++,r===t.length-1&&s++,a===d.length-1&&s++,s<4&&(h[[r,a]]=[r,a,s]),u.push([r,a,s])):f.push([r,a]));for(;f.length;){for(l={},c=!1,o=f.length-1;o>=0;o--)(s=((h[[(r=(i=f[o])[0])-1,a=i[1]]]||g)[2]+(h[[r+1,a]]||g)[2]+(h[[r,a-1]]||g)[2]+(h[[r,a+1]]||g)[2])/20)&&(l[i]=[r,a,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(i in l)h[i]=l[i],u.push(l[i])}return u.sort(function(t,e){return e[2]-t[2]})}},{"../../lib":716}],1005:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../components/colorscale").extractOpts;e.exports=function(t,e,r,s,l,c){var u,h,f,p,d=t.cd[0],g=d.trace,v=t.xa,m=t.ya,y=d.x,x=d.y,b=d.z,_=d.xCenter,w=d.yCenter,k=d.zmask,T=g.zhoverformat,A=y,M=x;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void a.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-y[0],e-y[y.length-1],0)>0||n.inbox(r-x[0],r-x[x.length-1],0)>0)return;if(c){var S;for(A=[2*y[0]-y[1]],S=1;S<y.length;S++)A.push((y[S]+y[S-1])/2);for(A.push([2*y[y.length-1]-y[y.length-2]]),M=[2*x[0]-x[1]],S=1;S<x.length;S++)M.push((x[S]+x[S-1])/2);M.push([2*x[x.length-1]-x[x.length-2]])}f=Math.max(0,Math.min(A.length-2,a.findBin(e,A))),p=Math.max(0,Math.min(M.length-2,a.findBin(r,M)))}var E=v.c2p(y[f]),L=v.c2p(y[f+1]),C=m.c2p(x[p]),P=m.c2p(x[p+1]);c?(L=E,u=y[f],P=C,h=x[p]):(u=_?_[f]:(y[f]+y[f+1])/2,h=w?w[p]:(x[p]+x[p+1])/2,v&&"category"===v.type&&(u=y[f]),m&&"category"===m.type&&(h=x[p]),g.zsmooth&&(E=L=v.c2p(u),C=P=m.c2p(h)));var O=b[p][f];if(k&&!k[p][f]&&(O=void 0),void 0!==O||g.hoverongaps){var z;Array.isArray(d.hovertext)&&Array.isArray(d.hovertext[p])?z=d.hovertext[p][f]:Array.isArray(d.text)&&Array.isArray(d.text[p])&&(z=d.text[p][f]);var I=o(g),D={type:"linear",range:[I.min,I.max],hoverformat:T,_separators:v._separators,_numFormat:v._numFormat},R=i.tickText(D,O,"hover").text;return[a.extendFlat(t,{index:[p,f],distance:t.maxHoverDistance,spikeDistance:t.maxSpikeDistance,x0:E,x1:L,y0:C,y1:P,xLabelVal:u,yLabelVal:h,zLabelVal:O,zLabel:R,text:z})]}}},{"../../components/colorscale":603,"../../components/fx":629,"../../lib":716,"../../plots/cartesian/axes":764}],1006:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:t("./colorbar"),style:t("./style"),hoverPoints:t("./hover"),moduleType:"trace",name:"heatmap",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap"],meta:{}}},{"../../plots/cartesian":775,"./attributes":998,"./calc":999,"./colorbar":1001,"./defaults":1003,"./hover":1005,"./plot":1009,"./style":1010}],1007:[function(t,e,r){"use strict";var n=t("../../lib"),a=[[-1,0],[1,0],[0,-1],[0,1]];function i(t){return.5-.25*Math.min(1,.5*t)}function o(t,e,r){var n,i,o,s,l,c,u,h,f,p,d,g,v,m=0;for(s=0;s<e.length;s++){for(i=(n=e[s])[0],o=n[1],d=t[i][o],p=0,f=0,l=0;l<4;l++)(u=t[i+(c=a[l])[0]])&&void 0!==(h=u[o+c[1]])&&(0===p?g=v=h:(g=Math.min(g,h),v=Math.max(v,h)),f++,p+=h);if(0===f)throw"iterateInterp2d order is wrong: no defined neighbors";t[i][o]=p/f,void 0===d?f<4&&(m=1):(t[i][o]=(1+r)*t[i][o]-r*d,v>g&&(m=Math.max(m,Math.abs(t[i][o]-d)/(v-g))))}return m}e.exports=function(t,e){var r,a=1;for(o(t,e),r=0;r<e.length&&!(e[r][2]<4);r++);for(e=e.slice(r),r=0;r<100&&a>.01;r++)a=o(t,e,i(a));return a>.01&&n.log("interp2d didn't converge quickly",a),t}},{"../../lib":716}],1008:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i,o,s){var l,c,u,h=[],f=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(a(e)&&e.length>1&&!p&&"category"!==s.type){var g=e.length;if(!(g<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=e.slice(0,o);else if(1===o)h=[e[0]-.5,e[0]+.5];else{for(h=[1.5*e[0]-.5*e[1]],u=1;u<g;u++)h.push(.5*(e[u-1]+e[u]));h.push(1.5*e[g-1]-.5*e[g-2])}if(g<o){var v=h[h.length-1],m=v-h[h.length-2];for(u=g;u<o;u++)v+=m,h.push(v)}}else{var y=t[s._id.charAt(0)+"calendar"];if(p)l=s.r2c(r,0,y);else if(a(e)&&1===e.length)l=e[0];else if(void 0===r)l=0;else{l=("log"===s.type?s.d2c:s.r2c)(r,0,y)}for(c=i||1,u=f||d?0:-.5;u<o;u++)h.push(l+c*u)}return h}},{"../../lib":716,"../../registry":845}],1009:[function(t,e,r){"use strict";var n=t("d3"),a=t("tinycolor2"),i=t("../../registry"),o=t("../../lib"),s=t("../../components/colorscale").makeColorScaleFuncFromTrace,l=t("../../constants/xmlns_namespaces");function c(t,e){var r=e.length-2,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=e[n+1],s=o.constrain(n+(t-a)/(i-a)-.5,0,r),l=Math.round(s),c=Math.abs(s-l);return s&&s!==r&&c?{bin0:l,frac:c,bin1:Math.round(l+c/(s-l))}:{bin0:l,bin1:l,frac:0}}function u(t,e){var r=e.length-1,n=o.constrain(o.findBin(t,e),0,r),a=e[n],i=(t-a)/(e[n+1]-a)||0;return i<=0?{bin0:n,bin1:n,frac:0}:i<.5?{bin0:n,bin1:n+1,frac:i}:{bin0:n+1,bin1:n,frac:1-i}}function h(t,e,r){t[e]=r[0],t[e+1]=r[1],t[e+2]=r[2],t[e+3]=Math.round(255*r[3])}e.exports=function(t,e,r,f){var p=e.xaxis,d=e.yaxis;o.makeTraceGroups(f,r,"hm").each(function(e){var r,f,g,v,m,y,x=n.select(this),b=e[0],_=b.trace,w=b.z,k=b.x,T=b.y,A=b.xCenter,M=b.yCenter,S=i.traceIs(_,"contour"),E=S?"best":_.zsmooth,L=w.length,C=o.maxRowLength(w),P=!1,O=!1;for(y=0;void 0===r&&y<k.length-1;)r=p.c2p(k[y]),y++;for(y=k.length-1;void 0===f&&y>0;)f=p.c2p(k[y]),y--;for(f<r&&(g=f,f=r,r=g,P=!0),y=0;void 0===v&&y<T.length-1;)v=d.c2p(T[y]),y++;for(y=T.length-1;void 0===m&&y>0;)m=d.c2p(T[y]),y--;if(m<v&&(g=v,v=m,m=g,O=!0),S&&(A=k,M=T,k=b.xfill,T=b.yfill),"fast"!==E){var z="best"===E?0:.5;r=Math.max(-z*p._length,r),f=Math.min((1+z)*p._length,f),v=Math.max(-z*d._length,v),m=Math.min((1+z)*d._length,m)}var I=Math.round(f-r),D=Math.round(m-v);if(I<=0||D<=0){x.selectAll("image").data([]).exit().remove()}else{var R,F;"fast"===E?(R=C,F=L):(R=I,F=D);var B=document.createElement("canvas");B.width=R,B.height=F;var N,j,V=B.getContext("2d"),U=s(_,{noNumericCheck:!0,returnArray:!0});"fast"===E?(N=P?function(t){return C-1-t}:o.identity,j=O?function(t){return L-1-t}:o.identity):(N=function(t){return o.constrain(Math.round(p.c2p(k[t])-r),0,I)},j=function(t){return o.constrain(Math.round(d.c2p(T[t])-v),0,D)});var q,H,G,Y,W,X=j(0),Z=[X,X],J=P?0:1,K=O?0:1,Q=0,$=0,tt=0,et=0;if(E){var rt,nt=0;try{rt=new Uint8Array(I*D*4)}catch(t){rt=new Array(I*D*4)}if("best"===E){var at,it,ot,st=A||k,lt=M||T,ct=new Array(st.length),ut=new Array(lt.length),ht=new Array(I),ft=A?u:c,pt=M?u:c;for(y=0;y<st.length;y++)ct[y]=Math.round(p.c2p(st[y])-r);for(y=0;y<lt.length;y++)ut[y]=Math.round(d.c2p(lt[y])-v);for(y=0;y<I;y++)ht[y]=ft(y,ct);for(H=0;H<D;H++)for(it=w[(at=pt(H,ut)).bin0],ot=w[at.bin1],y=0;y<I;y++,nt+=4)h(rt,nt,W=Tt(it,ot,ht[y],at))}else for(H=0;H<L;H++)for(Y=w[H],Z=j(H),y=0;y<I;y++)W=kt(Y[y],1),h(rt,nt=4*(Z*I+N(y)),W);var dt=V.createImageData(I,D);try{dt.data.set(rt)}catch(t){var gt=dt.data,vt=gt.length;for(H=0;H<vt;H++)gt[H]=rt[H]}V.putImageData(dt,0,0)}else{var mt=_.xgap,yt=_.ygap,xt=Math.floor(mt/2),bt=Math.floor(yt/2);for(H=0;H<L;H++)if(Y=w[H],Z.reverse(),Z[K]=j(H+1),Z[0]!==Z[1]&&void 0!==Z[0]&&void 0!==Z[1])for(q=[G=N(0),G],y=0;y<C;y++)q.reverse(),q[J]=N(y+1),q[0]!==q[1]&&void 0!==q[0]&&void 0!==q[1]&&(W=kt(Y[y],(q[1]-q[0])*(Z[1]-Z[0])),V.fillStyle="rgba("+W.join(",")+")",V.fillRect(q[0]+xt,Z[0]+bt,q[1]-q[0]-mt,Z[1]-Z[0]-yt))}$=Math.round($/Q),tt=Math.round(tt/Q),et=Math.round(et/Q);var _t=a("rgb("+$+","+tt+","+et+")");t._hmpixcount=(t._hmpixcount||0)+Q,t._hmlumcount=(t._hmlumcount||0)+Q*_t.getLuminance();var wt=x.selectAll("image").data(e);wt.enter().append("svg:image").attr({xmlns:l.svg,preserveAspectRatio:"none"}),wt.attr({height:D,width:I,x:r,y:v,"xlink:href":B.toDataURL("image/png")})}function kt(t,e){if(void 0!==t){var r=U(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),Q+=e,$+=r[0]*e,tt+=r[1]*e,et+=r[2]*e,r}return[0,0,0,0]}function Tt(t,e,r,n){var a=t[r.bin0];if(void 0===a)return kt(void 0,1);var i,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-a||0,u=s-a||0;return i=void 0===o?void 0===l?0:void 0===s?2*(l-a):2*(2*l-s-a)/3:void 0===l?void 0===s?0:2*(2*a-o-s)/3:void 0===s?2*(2*l-o-a)/3:l+a-o-s,kt(a+r.frac*c+n.frac*(u+r.frac*i))}})}},{"../../components/colorscale":603,"../../constants/xmlns_namespaces":693,"../../lib":716,"../../registry":845,d3:164,tinycolor2:535}],1010:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".hm image").style("opacity",function(t){return t.trace.opacity})}},{d3:164}],1011:[function(t,e,r){"use strict";e.exports=function(t,e,r){!1===r("zsmooth")&&(r("xgap"),r("ygap")),r("zhoverformat")}},{}],1012:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../registry");function o(t,e){var r=e(t);return"scaled"===(r?e(t+"type","array"):"scaled")&&(e(t+"0"),e("d"+t)),r}e.exports=function(t,e,r,s,l,c){var u,h,f=r("z");if(l=l||"x",c=c||"y",void 0===f||!f.length)return 0;if(a.isArray1D(t.z)){u=r(l),h=r(c);var p=a.minRowLength(u),d=a.minRowLength(h);if(0===p||0===d)return 0;e._length=Math.min(p,d,f.length)}else{if(u=o(l,r),h=o(c,r),!function(t){for(var e,r=!0,i=!1,o=!1,s=0;s<t.length;s++){if(e=t[s],!a.isArrayOrTypedArray(e)){r=!1;break}e.length>0&&(i=!0);for(var l=0;l<e.length;l++)if(n(e[l])){o=!0;break}}return r&&i&&o}(f))return 0;r("transpose"),e._length=null}return i.getComponentMethod("calendars","handleTraceDefaults")(t,e,[l,c],s),!0}},{"../../lib":716,"../../registry":845,"fast-isnumeric":227}],1013:[function(t,e,r){"use strict";for(var n=t("../heatmap/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../lib/extend").extendFlat,o=t("../../plot_api/edit_types").overrideAll,s=["z","x","x0","dx","y","y0","dy","text","transpose","xtype","ytype"],l={},c=0;c<s.length;c++){var u=s[c];l[u]=n[u]}i(l,a("",{cLetter:"z",autoColorDflt:!1})),e.exports=o(l,"calc","nested")},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../heatmap/attributes":998}],1014:[function(t,e,r){"use strict";var n=t("gl-heatmap2d"),a=t("../../plots/cartesian/axes"),i=t("../../lib/str2rgbarray");function o(t,e){this.scene=t,this.uid=e,this.type="heatmapgl",this.name="",this.hoverinfo="all",this.xData=[],this.yData=[],this.zData=[],this.textLabels=[],this.idToIndex=[],this.bounds=[0,0,0,0],this.options={z:[],x:[],y:[],shape:[0,0],colorLevels:[0],colorValues:[0,0,0,1]},this.heatmap=n(t.glplot,this.options),this.heatmap._trace=this}var s=o.prototype;s.handlePick=function(t){var e=this.options,r=e.shape,n=t.pointId,a=n%r[0],i=Math.floor(n/r[0]),o=n;return{trace:this,dataCoord:t.dataCoord,traceCoord:[e.x[a],e.y[i],e.z[o]],textLabel:this.textLabels[n],name:this.name,pointIndex:[i,a],hoverinfo:this.hoverinfo}},s.update=function(t,e){var r=e[0];this.index=t.index,this.name=t.name,this.hoverinfo=t.hoverinfo;var n=r.z;this.options.z=[].concat.apply([],n);var o=n[0].length,s=n.length;this.options.shape=[o,s],this.options.x=r.x,this.options.y=r.y;var l=function(t){for(var e=t.colorscale,r=t.zmin,n=t.zmax,a=e.length,o=new Array(a),s=new Array(4*a),l=0;l<a;l++){var c=e[l],u=i(c[1]);o[l]=r+c[0]*(n-r);for(var h=0;h<4;h++)s[4*l+h]=u[h]}return{colorLevels:o,colorValues:s}}(t);this.options.colorLevels=l.colorLevels,this.options.colorValues=l.colorValues,this.textLabels=[].concat.apply([],t.text),this.heatmap.update(this.options);var c=this.scene.xaxis,u=this.scene.yaxis;t._extremes[c._id]=a.findExtremes(c,r.x),t._extremes[u._id]=a.findExtremes(u,r.y)},s.dispose=function(){this.heatmap.dispose()},e.exports=function(t,e,r){var n=new o(t,e.uid);return n.update(e,r),n}},{"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"gl-heatmap2d":253}],1015:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("../heatmap/defaults"),colorbar:t("../heatmap/colorbar"),calc:t("../heatmap/calc"),plot:t("./convert"),moduleType:"trace",name:"heatmapgl",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","2dMap"],meta:{}}},{"../../plots/gl2d":802,"../heatmap/calc":999,"../heatmap/colorbar":1001,"../heatmap/defaults":1003,"./attributes":1013,"./convert":1014}],1016:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("./bin_attributes"),o=t("./constants"),s=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s({},n.text,{}),hovertext:s({},n.hovertext,{}),orientation:n.orientation,histfunc:{valType:"enumerated",values:["count","sum","avg","min","max"],dflt:"count",editType:"calc"},histnorm:{valType:"enumerated",values:["","percent","probability","density","probability density"],dflt:"",editType:"calc"},cumulative:{enabled:{valType:"boolean",dflt:!1,editType:"calc"},direction:{valType:"enumerated",values:["increasing","decreasing"],dflt:"increasing",editType:"calc"},currentbin:{valType:"enumerated",values:["include","exclude","half"],dflt:"include",editType:"calc"},editType:"calc"},nbinsx:{valType:"integer",min:0,dflt:0,editType:"calc"},xbins:i("x",!0),nbinsy:{valType:"integer",min:0,dflt:0,editType:"calc"},ybins:i("y",!0),autobinx:{valType:"boolean",dflt:null,editType:"calc"},autobiny:{valType:"boolean",dflt:null,editType:"calc"},bingroup:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({},{keys:o.eventDataKeys}),marker:n.marker,offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,_deprecated:{bardir:n._deprecated.bardir}}},{"../../lib/extend":707,"../../plots/template_attributes":840,"../bar/attributes":855,"./bin_attributes":1018,"./constants":1022}],1017:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=t.length,n=0,a=0;a<r;a++)e[a]?(t[a]/=e[a],n+=t[a]):t[a]=null;return n}},{}],1018:[function(t,e,r){"use strict";e.exports=function(t,e){return{start:{valType:"any",editType:"calc"},end:{valType:"any",editType:"calc"},size:{valType:"any",editType:"calc"},editType:"calc"}}},{}],1019:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports={count:function(t,e,r){return r[t]++,1},sum:function(t,e,r,a){var i=a[e];return n(i)?(i=Number(i),r[t]+=i,i):0},avg:function(t,e,r,a,i){var o=a[e];return n(o)&&(o=Number(o),r[t]+=o,i[t]++),0},min:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]>i){var o=i-r[t];return r[t]=i,o}}return 0},max:function(t,e,r,a){var i=a[e];if(n(i)){if(i=Number(i),!n(r[t]))return r[t]=i,i;if(r[t]<i){var o=i-r[t];return r[t]=i,o}}return 0}}},{"fast-isnumeric":227}],1020:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.ONEAVGYEAR,i=n.ONEAVGMONTH,o=n.ONEDAY,s=n.ONEHOUR,l=n.ONEMIN,c=n.ONESEC,u=t("../../plots/cartesian/axes").tickIncrement;function h(t,e,r,n){if(t*e<=0)return 1/0;for(var a=Math.abs(e-t),i="date"===r.type,o=f(a,i),s=0;s<10;s++){var l=f(80*o,i);if(o===l)break;if(!p(l,t,e,i,r,n))break;o=l}return o}function f(t,e){return e&&t>c?t>o?t>1.1*a?a:t>1.1*i?i:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,i,s){if(n&&t>o){var l=d(e,i,s),c=d(r,i,s),u=t===a?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,a,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}e.exports=function(t,e,r,n,i){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],g=r[1],v=Math.min(h(d+f,d+p,n,i),h(g+f,g+p,n,i)),m=Math.min(h(d+c,d+f,n,i),h(g+c,g+f,n,i));if(v>m&&m<Math.abs(g-d)/4e3?(s=v,l=!1):(s=Math.min(v,m),l=!0),"date"===n.type&&s>o){var y=s===a?1:6,x=s===a?"M12":"M1";return function(e,r){var o=n.c2d(e,a,i),s=o.indexOf("-",y);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,i);if(c<e){var h=u(c,x,!1,i);(c+h)/2<e+t&&(c=h)}return r&&l?u(c,x,!0,i):c}}return function(e,r){var n=s*Math.round(e/s);return n+s/10<e&&n+.9*s<e+t&&(n+=s),r&&l&&(n-=s),n}}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764}],1021:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../registry"),o=t("../../plots/cartesian/axes"),s=t("../bar/arrays_to_calcdata"),l=t("./bin_functions"),c=t("./norm_functions"),u=t("./average"),h=t("./bin_label_vals");function f(t,e,r,s,l){var c,u,h,p,d,g,v,m=s+"bins",y=t._fullLayout,x=e["_"+s+"bingroup"],b=y._histogramBinOpts[x],_="overlay"===y.barmode,w=function(t){return r.r2c(t,0,p)},k=function(t){return r.c2r(t,0,p)},T="date"===r.type?function(t){return t||0===t?a.cleanDate(t,null,p):null}:function(t){return n(t)?Number(t):null};function A(t,e,r){e[t+"Found"]?(e[t]=T(e[t]),null===e[t]&&(e[t]=r[t])):(g[t]=e[t]=r[t],a.nestedProperty(u[0],m+"."+t).set(r[t]))}if(e["_"+s+"autoBinFinished"])delete e["_"+s+"autoBinFinished"];else{u=b.traces;var M=[],S=!0,E=!1,L=!1;for(c=0;c<u.length;c++)if((h=u[c]).visible){var C=b.dirs[c];d=h["_"+C+"pos0"]=r.makeCalcdata(h,C),M=a.concat(M,d),delete h["_"+s+"autoBinFinished"],!0===e.visible&&(S?S=!1:(delete h._autoBin,h["_"+s+"autoBinFinished"]=1),i.traceIs(h,"2dMap")&&(E=!0),"histogram2dcontour"===h.type&&(L=!0))}p=u[0][s+"calendar"];var P=o.autoBin(M,r,b.nbins,E,p,b.sizeFound&&b.size),O=u[0]._autoBin={};if(g=O[b.dirs[0]]={},L&&(b.size||(P.start=k(o.tickIncrement(w(P.start),P.size,!0,p))),void 0===b.end&&(P.end=k(o.tickIncrement(w(P.end),P.size,!1,p)))),_&&!i.traceIs(e,"2dMap")&&0===P._dataSpan&&"category"!==r.type&&"multicategory"!==r.type){if(l)return[P,d,!0];P=function(t,e,r,n,i){var o,s,l,c=t._fullLayout,u=function(t,e){for(var r=e.xaxis,n=e.yaxis,a=e.orientation,i=[],o=t._fullData,s=0;s<o.length;s++){var l=o[s];"histogram"===l.type&&!0===l.visible&&l.orientation===a&&l.xaxis===r&&l.yaxis===n&&i.push(l)}return i}(t,e),h=!1,p=1/0,d=[e];for(o=0;o<u.length;o++)if((s=u[o])===e)h=!0;else if(h){var g=f(t,s,r,n,!0),v=g[0],m=g[2];s["_"+n+"autoBinFinished"]=1,s["_"+n+"pos0"]=g[1],m?d.push(s):p=Math.min(p,v.size)}else l=c._histogramBinOpts[s["_"+n+"bingroup"]],p=Math.min(p,l.size||s[i].size);var y=new Array(d.length);for(o=0;o<d.length;o++)for(var x=d[o]["_"+n+"pos0"],b=0;b<x.length;b++)if(void 0!==x[b]){y[o]=x[b];break}isFinite(p)||(p=a.distinctVals(y).minDiff);for(o=0;o<d.length;o++){var _=(s=d[o])[n+"calendar"],w={start:r.c2r(y[o]-p/2,0,_),end:r.c2r(y[o]+p/2,0,_),size:p};s._input[i]=s[i]=w,(l=c._histogramBinOpts[s["_"+n+"bingroup"]])&&a.extendFlat(l,w)}return e[i]}(t,e,r,s,m)}(v=h.cumulative||{}).enabled&&"include"!==v.currentbin&&("decreasing"===v.direction?P.start=k(o.tickIncrement(w(P.start),P.size,!0,p)):P.end=k(o.tickIncrement(w(P.end),P.size,!1,p))),b.size=P.size,b.sizeFound||(g.size=P.size,a.nestedProperty(u[0],m+".size").set(P.size)),A("start",b,P),A("end",b,P)}d=e["_"+s+"pos0"],delete e["_"+s+"pos0"];var z=e._input[m]||{},I=a.extendFlat({},b),D=b.start,R=r.r2l(z.start),F=void 0!==R;if((b.startFound||F)&&R!==r.r2l(D)){var B=F?R:a.aggNums(Math.min,null,d),N={type:"category"===r.type||"multicategory"===r.type?"linear":r.type,r2l:r.r2l,dtick:b.size,tick0:D,calendar:p,range:[B,o.tickIncrement(B,b.size,!1,p)].map(r.l2r)},j=o.tickFirst(N);j>r.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),I.start=r.l2r(j),F||a.nestedProperty(e,m+".start").set(I.start)}var V=b.end,U=r.r2l(z.end),q=void 0!==U;if((b.endFound||q)&&U!==r.r2l(V)){var H=q?U:a.aggNums(Math.max,null,d);I.end=r.l2r(H),q||a.nestedProperty(e,m+".start").set(I.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[m]=a.extendFlat({},e[m]||{}),delete e._input[G],delete e[G]),[I,d]}e.exports={calc:function(t,e){var r,i,p,d,g=[],v=[],m=o.getFromId(t,"h"===e.orientation?e.yaxis:e.xaxis),y="h"===e.orientation?"y":"x",x={x:"y",y:"x"}[y],b=e[y+"calendar"],_=e.cumulative,w=f(t,e,m,y),k=w[0],T=w[1],A="string"==typeof k.size,M=[],S=A?M:k,E=[],L=[],C=[],P=0,O=e.histnorm,z=e.histfunc,I=-1!==O.indexOf("density");_.enabled&&I&&(O=O.replace(/ ?density$/,""),I=!1);var D,R="max"===z||"min"===z?null:0,F=l.count,B=c[O],N=!1,j=function(t){return m.r2c(t,0,b)};for(a.isArrayOrTypedArray(e[x])&&"count"!==z&&(D=e[x],N="avg"===z,F=l[z]),r=j(k.start),p=j(k.end)+(r-o.tickIncrement(r,k.size,!1,b))/1e6;r<p&&g.length<1e6&&(i=o.tickIncrement(r,k.size,!1,b),g.push((r+i)/2),v.push(R),C.push([]),M.push(r),I&&E.push(1/(i-r)),N&&L.push(0),!(i<=r));)r=i;M.push(r),A||"date"!==m.type||(S={start:j(S.start),end:j(S.end),size:S.size});var V,U=v.length,q=!0,H=1/0,G=1/0,Y={};for(r=0;r<T.length;r++){var W=T[r];(d=a.findBin(W,S))>=0&&d<U&&(P+=F(d,r,v,D,L),q&&C[d].length&&W!==T[C[d][0]]&&(q=!1),C[d].push(r),Y[r]=d,H=Math.min(H,W-M[d]),G=Math.min(G,M[d+1]-W))}q||(V=h(H,G,M,m,b)),N&&(P=u(v,L)),B&&B(v,P,E),_.enabled&&function(t,e,r){var n,a,i;function o(e){i=t[e],t[e]/=2}function s(e){a=t[e],t[e]=i+a/2,i+=a}if("half"===r)if("increasing"===e)for(o(0),n=1;n<t.length;n++)s(n);else for(o(t.length-1),n=t.length-2;n>=0;n--)s(n);else if("increasing"===e){for(n=1;n<t.length;n++)t[n]+=t[n-1];"exclude"===r&&(t.unshift(0),t.pop())}else{for(n=t.length-2;n>=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(v,_.direction,_.currentbin);var X=Math.min(g.length,v.length),Z=[],J=0,K=X-1;for(r=0;r<X;r++)if(v[r]){J=r;break}for(r=X-1;r>=J;r--)if(v[r]){K=r;break}for(r=J;r<=K;r++)if(n(g[r])&&n(v[r])){var Q={p:g[r],s:v[r],b:0};_.enabled||(Q.pts=C[r],q?Q.ph0=Q.ph1=C[r].length?T[C[r][0]]:g[r]:(Q.ph0=V(M[r]),Q.ph1=V(M[r+1],!0))),Z.push(Q)}return 1===Z.length&&(Z[0].width1=o.tickIncrement(Z[0].p,k.size,!1,b)-Z[0].p),s(Z,e),a.isArrayOrTypedArray(e.selectedpoints)&&a.tagSelected(Z,e,Y),Z},calcAllAutoBins:f}},{"../../lib":716,"../../plots/cartesian/axes":764,"../../registry":845,"../bar/arrays_to_calcdata":854,"./average":1017,"./bin_functions":1019,"./bin_label_vals":1020,"./norm_functions":1028,"fast-isnumeric":227}],1022:[function(t,e,r){"use strict";e.exports={eventDataKeys:["binNumber"]}},{}],1023:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../../registry").traceIs,o=t("../bar/defaults").handleGroupingDefaults,s=n.nestedProperty,l=a.getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],u=["x","y"];e.exports=function(t,e){var r,h,f,p,d,g,v,m=e._histogramBinOpts={},y=[],x={},b=[];function _(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function w(t){return"v"===t.orientation?"x":"y"}function k(t,r,i){var o=t.uid+"__"+i;r||(r=o);var s=function(t,r){return a.getFromTrace({_fullLayout:e},t,r).type}(t,i),l=t[i+"calendar"],c=m[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(i)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(m[r]={traces:[t],dirs:[i],axType:s,calendar:t[i+"calendar"]||""}),t["_"+i+"bingroup"]=r}for(d=0;d<t.length;d++)r=t[d],i(r,"histogram")&&(y.push(r),delete r._xautoBinFinished,delete r._yautoBinFinished,i(r,"2dMap")||o(r._input,r,e,_));var T=e._alignmentOpts||{};for(d=0;d<y.length;d++){if(r=y[d],f="",!i(r,"2dMap")){if(p=w(r),"group"===e.barmode&&r.alignmentgroup){var A=r[p+"axis"],M=l(e,A)+r.orientation;(T[M]||{})[r.alignmentgroup]&&(f=M)}f||"overlay"===e.barmode||(f=l(e,r.xaxis)+l(e,r.yaxis)+w(r))}f?(x[f]||(x[f]=[]),x[f].push(r)):b.push(r)}for(f in x)if(1!==(h=x[f]).length){var S=!1;for(d=0;d<h.length;d++){r=h[d],S=_("bingroup");break}for(f=S||f,d=0;d<h.length;d++){var E=(r=h[d])._input.bingroup;E&&E!==f&&n.warn(["Trace",r.index,"must match","within bingroup",f+".","Ignoring its bingroup:",E,"setting."].join(" ")),r.bingroup=f,k(r,f,w(r))}}else b.push(h[0]);for(d=0;d<b.length;d++){r=b[d];var L=_("bingroup");if(i(r,"2dMap"))for(v=0;v<2;v++){var C=_((p=u[v])+"bingroup",L?L+"__"+p:null);k(r,C,p)}else k(r,L,w(r))}for(f in m){var P=m[f];for(h=P.traces,g=0;g<c.length;g++){var O,z,I=c[g],D=I.name;if("nbins"!==D||!P.sizeFound){for(d=0;d<h.length;d++){if(r=h[d],p=P.dirs[d],O=I.aStr[p],void 0!==s(r._input,O).get()){P[D]=_(O),P[D+"Found"]=!0;break}(z=(r._autoBin||{})[p]||{})[D]&&s(r,O).set(z[D])}if("start"===D||"end"===D)for(;d<h.length;d++)(r=h[d])["_"+p+"bingroup"]&&_(O,(z=(r._autoBin||{})[p]||{})[D]);"nbins"!==D||P.sizeFound||P.nbinsFound||(r=h[0],P[D]=_(O))}}}}},{"../../lib":716,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../bar/defaults":859}],1024:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/color"),o=t("../bar/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,n){return a.coerce(t,e,s,r,n)}var u=c("x"),h=c("y");c("cumulative.enabled")&&(c("cumulative.direction"),c("cumulative.currentbin")),c("text"),c("hovertext"),c("hovertemplate");var f=c("orientation",h&&!u?"h":"v"),p="v"===f?"x":"y",d="v"===f?"y":"x",g=u&&h?Math.min(a.minRowLength(u)&&a.minRowLength(h)):a.minRowLength(e[p]||[]);if(g){e._length=g,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],l),e[d]&&c("histfunc"),c("histnorm"),c("autobin"+p),o(t,e,c,r,l),a.coerceSelectionMarkerOpacity(e,c);var v=(e.marker.line||{}).color,m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,v||i.defaultLine,{axis:"y"}),m(t,e,v||i.defaultLine,{axis:"x",inherit:"y"})}else e.visible=!1}},{"../../components/color":591,"../../lib":716,"../../registry":845,"../bar/style_defaults":870,"./attributes":1016}],1025:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){if(t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"zLabelVal"in e&&(t.z=e.zLabelVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),!(r.cumulative||{}).enabled){var i,o=Array.isArray(a)?n[0].pts[a[0]][a[1]]:n[a].pts;if(t.pointNumbers=o,t.binNumber=t.pointNumber,delete t.pointNumber,delete t.pointIndex,r._indexToPoints){i=[];for(var s=0;s<o.length;s++)i=i.concat(r._indexToPoints[o[s]])}else i=o;t.pointIndices=i}return t}},{}],1026:[function(t,e,r){"use strict";var n=t("../bar/hover").hoverPoints,a=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o){var s=(t=o[0]).cd[t.index],l=t.cd[0].trace;if(!l.cumulative.enabled){var c="h"===l.orientation?"y":"x";t[c+"Label"]=a(t[c+"a"],s.ph0,s.ph1)}return l.hovermplate&&(t.hovertemplate=l.hovertemplate),o}}},{"../../plots/cartesian/axes":764,"../bar/hover":862}],1027:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("../bar/layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),supplyLayoutDefaults:t("../bar/layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("../bar/cross_trace_calc").crossTraceCalc,plot:t("../bar/plot").plot,layerName:"barlayer",style:t("../bar/style").style,styleOnSelect:t("../bar/style").styleOnSelect,colorbar:t("../scatter/marker_colorbar"),hoverPoints:t("./hover"),selectPoints:t("../bar/select"),eventData:t("./event_data"),moduleType:"trace",name:"histogram",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","bar","histogram","oriented","errorBarsOK","showLegend"],meta:{}}},{"../../plots/cartesian":775,"../bar/cross_trace_calc":858,"../bar/layout_attributes":864,"../bar/layout_defaults":865,"../bar/plot":866,"../bar/select":867,"../bar/style":869,"../scatter/marker_colorbar":1136,"./attributes":1016,"./calc":1021,"./cross_trace_defaults":1023,"./defaults":1024,"./event_data":1025,"./hover":1026}],1028:[function(t,e,r){"use strict";e.exports={percent:function(t,e){for(var r=t.length,n=100/e,a=0;a<r;a++)t[a]*=n},probability:function(t,e){for(var r=t.length,n=0;n<r;n++)t[n]/=e},density:function(t,e,r,n){var a=t.length;n=n||1;for(var i=0;i<a;i++)t[i]*=r[i]*n},"probability density":function(t,e,r,n){var a=t.length;n&&(e/=n);for(var i=0;i<a;i++)t[i]*=r[i]/e}}},{}],1029:[function(t,e,r){"use strict";var n=t("../histogram/attributes"),a=t("../histogram/bin_attributes"),i=t("../heatmap/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat;e.exports=l({x:n.x,y:n.y,z:{valType:"data_array",editType:"calc"},marker:{color:{valType:"data_array",editType:"calc"},editType:"calc"},histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:a("x"),nbinsy:n.nbinsy,ybins:a("y"),autobinx:n.autobinx,autobiny:n.autobiny,bingroup:l({},n.bingroup,{}),xbingroup:l({},n.bingroup,{}),ybingroup:l({},n.bingroup,{}),xgap:i.xgap,ygap:i.ygap,zsmooth:i.zsmooth,zhoverformat:i.zhoverformat,hovertemplate:o({},{keys:"z"})},s("",{cLetter:"z",autoColorDflt:!1}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/template_attributes":840,"../heatmap/attributes":998,"../histogram/attributes":1016,"../histogram/bin_attributes":1018}],1030:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../histogram/bin_functions"),o=t("../histogram/norm_functions"),s=t("../histogram/average"),l=t("../histogram/bin_label_vals"),c=t("../histogram/calc").calcAllAutoBins;function u(t,e,r,n){var a,i=new Array(t);if(n)for(a=0;a<t;a++)i[a]=1/(e[a+1]-e[a]);else{var o=1/r;for(a=0;a<t;a++)i[a]=o}return i}function h(t,e){return{start:t(e.start),end:t(e.end),size:e.size}}function f(t,e,r,n,a,i){var o,s=t.length-1,c=new Array(s),u=l(r,n,t,a,i);for(o=0;o<s;o++){var h=(e||[])[o];c[o]=void 0===h?[u(t[o]),u(t[o+1],!0)]:[h,h]}return c}e.exports=function(t,e){var r,l,p,d,g=a.getFromId(t,e.xaxis),v=a.getFromId(t,e.yaxis),m=e.xcalendar,y=e.ycalendar,x=function(t){return g.r2c(t,0,m)},b=function(t){return v.r2c(t,0,y)},_=c(t,e,g,"x"),w=_[0],k=_[1],T=c(t,e,v,"y"),A=T[0],M=T[1],S=e._length;k.length>S&&k.splice(S,k.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,z=[],I=[],D=P?z:w,R=O?I:A,F=0,B=[],N=[],j=e.histnorm,V=e.histfunc,U=-1!==j.indexOf("density"),q="max"===V||"min"===V?null:0,H=i.count,G=o[j],Y=!1,W=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==V&&(Y="avg"===V,H=i[V]);var J=w.size,K=x(w.start),Q=x(w.end)+(K-a.tickIncrement(K,J,!1,m))/1e6;for(r=K;r<Q;r=a.tickIncrement(r,J,!1,m))L.push(q),z.push(r),Y&&C.push(0);z.push(r);var $,tt=L.length,et=(r-K)/tt,rt=($=K+et/2,g.c2r($,0,m)),nt=A.size,at=b(A.start),it=b(A.end)+(at-a.tickIncrement(at,nt,!1,y))/1e6;for(r=at;r<it;r=a.tickIncrement(r,nt,!1,y)){E.push(L.slice()),I.push(r);var ot=new Array(tt);for(l=0;l<tt;l++)ot[l]=[];N.push(ot),Y&&B.push(C.slice())}I.push(r);var st=E.length,lt=(r-at)/st,ct=function(t){return v.c2r(t,0,y)}(at+lt/2);U&&(W=u(L.length,D,et,P),X=u(E.length,R,lt,O)),P||"date"!==g.type||(D=h(x,D)),O||"date"!==v.type||(R=h(b,R));var ut=!0,ht=!0,ft=new Array(tt),pt=new Array(st),dt=1/0,gt=1/0,vt=1/0,mt=1/0;for(r=0;r<S;r++){var yt=k[r],xt=M[r];p=n.findBin(yt,D),d=n.findBin(xt,R),p>=0&&p<tt&&d>=0&&d<st&&(F+=H(p,r,E[d],Z,B[d]),N[d][p].push(r),ut&&(void 0===ft[p]?ft[p]=yt:ft[p]!==yt&&(ut=!1)),ht&&(void 0===pt[d]?pt[d]=xt:pt[d]!==xt&&(ht=!1)),dt=Math.min(dt,yt-z[p]),gt=Math.min(gt,z[p+1]-yt),vt=Math.min(vt,xt-I[d]),mt=Math.min(mt,I[d+1]-xt))}if(Y)for(d=0;d<st;d++)F+=s(E[d],B[d]);if(G)for(d=0;d<st;d++)G(E[d],F,W,X[d]);return{x:k,xRanges:f(z,ut&&ft,dt,gt,g,m),x0:rt,dx:et,y:M,yRanges:f(I,ht&&pt,vt,mt,v,y),y0:ct,dy:lt,z:E,pts:N}}},{"../../lib":716,"../../plots/cartesian/axes":764,"../histogram/average":1017,"../histogram/bin_functions":1019,"../histogram/bin_label_vals":1020,"../histogram/calc":1021,"../histogram/norm_functions":1028}],1031:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./sample_defaults"),i=t("../heatmap/style_defaults"),o=t("../../components/colorscale/defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,l),o(t,e,l,c,{prefix:"",cLetter:"z"}),c("hovertemplate"))}},{"../../components/colorscale/defaults":601,"../../lib":716,"../heatmap/style_defaults":1011,"./attributes":1029,"./sample_defaults":1034}],1032:[function(t,e,r){"use strict";var n=t("../heatmap/hover"),a=t("../../plots/cartesian/axes").hoverLabelText;e.exports=function(t,e,r,i,o,s){var l=n(t,e,r,i,o,s);if(l){var c=(t=l[0]).index,u=c[0],h=c[1],f=t.cd[0],p=f.xRanges[h],d=f.yRanges[u];return t.xLabel=a(t.xa,p[0],p[1]),t.yLabel=a(t.ya,d[0],d[1]),l}}},{"../../plots/cartesian/axes":764,"../heatmap/hover":1005}],1033:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../heatmap/calc"),plot:t("../heatmap/plot"),layerName:"heatmaplayer",colorbar:t("../heatmap/colorbar"),style:t("../heatmap/style"),hoverPoints:t("./hover"),eventData:t("../histogram/event_data"),moduleType:"trace",name:"histogram2d",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","histogram"],meta:{}}},{"../../plots/cartesian":775,"../heatmap/calc":999,"../heatmap/colorbar":1001,"../heatmap/plot":1009,"../heatmap/style":1010,"../histogram/cross_trace_defaults":1023,"../histogram/event_data":1025,"./attributes":1029,"./defaults":1031,"./hover":1032}],1034:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("y"),l=a.minRowLength(o),c=a.minRowLength(s);l&&c?(e._length=Math.min(l,c),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],i),(r("z")||r("marker.color"))&&r("histfunc"),r("histnorm"),r("autobinx"),r("autobiny")):e.visible=!1}},{"../../lib":716,"../../registry":845}],1035:[function(t,e,r){"use strict";var n=t("../histogram2d/attributes"),a=t("../contour/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat;e.exports=o({x:n.x,y:n.y,z:n.z,marker:n.marker,histnorm:n.histnorm,histfunc:n.histfunc,nbinsx:n.nbinsx,xbins:n.xbins,nbinsy:n.nbinsy,ybins:n.ybins,autobinx:n.autobinx,autobiny:n.autobiny,bingroup:n.bingroup,xbingroup:n.xbingroup,ybingroup:n.ybingroup,autocontour:a.autocontour,ncontours:a.ncontours,contours:a.contours,line:{color:a.line.color,width:o({},a.line.width,{dflt:.5}),dash:a.line.dash,smoothing:a.line.smoothing,editType:"plot"},zhoverformat:n.zhoverformat,hovertemplate:n.hovertemplate},i("",{cLetter:"z",editTypeOverride:"calc"}))},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../contour/attributes":941,"../histogram2d/attributes":1029}],1036:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../histogram2d/sample_defaults"),i=t("../contour/contours_defaults"),o=t("../contour/style_defaults"),s=t("./attributes");e.exports=function(t,e,r,l){function c(r,a){return n.coerce(t,e,s,r,a)}a(t,e,c,l),!1!==e.visible&&(i(t,e,c,function(r){return n.coerce2(t,e,s,r)}),o(t,e,c,l),c("hovertemplate"))}},{"../../lib":716,"../contour/contours_defaults":948,"../contour/style_defaults":962,"../histogram2d/sample_defaults":1034,"./attributes":1035}],1037:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../histogram/cross_trace_defaults"),calc:t("../contour/calc"),plot:t("../contour/plot").plot,layerName:"contourlayer",style:t("../contour/style"),colorbar:t("../contour/colorbar"),hoverPoints:t("../contour/hover"),moduleType:"trace",name:"histogram2dcontour",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","contour","histogram","showLegend"],meta:{}}},{"../../plots/cartesian":775,"../contour/calc":942,"../contour/colorbar":944,"../contour/hover":954,"../contour/plot":959,"../contour/style":961,"../histogram/cross_trace_defaults":1023,"./attributes":1035,"./defaults":1036}],1038:[function(t,e,r){"use strict";for(var n=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../lib/extend").extendFlat,o=t("./constants").colormodel,s=["rgb","rgba","hsl","hsla"],l=[],c=[],u=0;u<s.length;u++)l.push("For the `"+s[u]+"` colormodel, it is ["+o[s[u]].min.join(", ")+"]."),c.push("For the `"+s[u]+"` colormodel, it is ["+o[s[u]].max.join(", ")+"].");e.exports=i({z:{valType:"data_array",editType:"calc"},colormodel:{valType:"enumerated",values:s,dflt:"rgb",editType:"calc"},zmin:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},zmax:{valType:"info_array",items:[{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"},{valType:"number",editType:"calc"}],editType:"calc"},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dx:{valType:"number",dflt:1,editType:"calc"},dy:{valType:"number",dflt:1,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"data_array",editType:"plot"},hoverinfo:i({},n.hoverinfo,{flags:["x","y","z","color","name","text"],dflt:"x+y+z+text+name"}),hovertemplate:a({},{keys:["z","color","colormodel"]}),transforms:void 0})},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"./constants":1040}],1039:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./constants"),i=t("fast-isnumeric"),o=t("../../plots/cartesian/axes"),s=t("../../lib").maxRowLength;function l(t,e,r,a){return function(i){return n.constrain((i-t)*e,r,a)}}function c(t,e){return function(r){return n.constrain(r,t,e)}}e.exports=function(t,e){var r,n=o.getFromId(t,e.xaxis||"x"),u=o.getFromId(t,e.yaxis||"y"),h=n.d2c(e.x0)-e.dx/2,f=u.d2c(e.y0)-e.dy/2,p=e.z.length,d=s(e.z),g=[h,h+d*e.dx],v=[f,f+p*e.dy];if(n&&"log"===n.type)for(r=0;r<d;r++)g.push(h+r*e.dx);if(u&&"log"===u.type)for(r=0;r<p;r++)v.push(f+r*e.dy);return e._extremes[n._id]=o.findExtremes(n,g),e._extremes[u._id]=o.findExtremes(u,v),e._scaler=function(t){var e=t.colormodel,r=e.length,n=a.colormodel[e];t._sArray=[];for(var o=0;o<r;o++)n.min[o]!==t.zmin[o]||n.max[o]!==t.zmax[o]?t._sArray.push(l(t.zmin[o],(n.max[o]-n.min[o])/(t.zmax[o]-t.zmin[o]),n.min[o],n.max[o])):t._sArray.push(c(n.min[o],n.max[o]));return function(e){for(var n=e.slice(0,r),a=0;a<r;a++){var o=n[a];if(!i(o))return!1;n[a]=t._sArray[a](o)}return n}}(e),[{x0:h,y0:f,z:e.z,w:d,h:p}]}},{"../../lib":716,"../../plots/cartesian/axes":764,"./constants":1040,"fast-isnumeric":227}],1040:[function(t,e,r){"use strict";e.exports={colormodel:{rgb:{min:[0,0,0],max:[255,255,255],fmt:function(t){return t.slice(0,3)},suffix:["","",""]},rgba:{min:[0,0,0,0],max:[255,255,255,1],fmt:function(t){return t.slice(0,4)},suffix:["","","",""]},hsl:{min:[0,0,0],max:[360,100,100],fmt:function(t){var e=t.slice(0,3);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%"]},hsla:{min:[0,0,0,0],max:[360,100,100,1],fmt:function(t){var e=t.slice(0,4);return e[1]=e[1]+"%",e[2]=e[2]+"%",e},suffix:["\xb0","%","%",""]}}}},{}],1041:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("./constants");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}var o=r("z");if(void 0!==o&&o.length&&o[0]&&o[0].length){r("x0"),r("y0"),r("dx"),r("dy");var s=r("colormodel");r("zmin",i.colormodel[s].min),r("zmax",i.colormodel[s].max),r("text"),r("hovertext"),r("hovertemplate"),e._length=null}else e.visible=!1}},{"../../lib":716,"./attributes":1038,"./constants":1040}],1042:[function(t,e,r){"use strict";e.exports=function(t,e){return"xVal"in e&&(t.x=e.xVal),"yVal"in e&&(t.y=e.yVal),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t.color=e.color,t.colormodel=e.trace.colormodel,t}},{}],1043:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("./constants");e.exports=function(t,e,r){var o=t.cd[0],s=o.trace,l=t.xa,c=t.ya;if(!(n.inbox(e-o.x0,e-(o.x0+o.w*s.dx),0)>0||n.inbox(r-o.y0,r-(o.y0+o.h*s.dy),0)>0)){var u=Math.floor((e-o.x0)/s.dx),h=Math.floor(Math.abs(r-o.y0)/s.dy);if(o.z[h][u]){var f,p=o.hi||s.hoverinfo;if(p){var d=p.split("+");-1!==d.indexOf("all")&&(d=["color"]),-1!==d.indexOf("color")&&(f=!0)}var g,v=s.colormodel,m=v.length,y=s._scaler(o.z[h][u]),x=i.colormodel[v].suffix,b=[];(s.hovertemplate||f)&&(b.push("["+[y[0]+x[0],y[1]+x[1],y[2]+x[2]].join(", ")),4===m&&b.push(", "+y[3]+x[3]),b.push("]"),b=b.join(""),t.extraText=v.toUpperCase()+": "+b),Array.isArray(s.hovertext)&&Array.isArray(s.hovertext[h])?g=s.hovertext[h][u]:Array.isArray(s.text)&&Array.isArray(s.text[h])&&(g=s.text[h][u]);var _=c.c2p(o.y0+(h+.5)*s.dy),w=o.x0+(u+.5)*s.dx,k=o.y0+(h+.5)*s.dy,T="["+o.z[h][u].slice(0,s.colormodel.length).join(", ")+"]";return[a.extendFlat(t,{index:[h,u],x0:l.c2p(o.x0+u*s.dx),x1:l.c2p(o.x0+(u+1)*s.dx),y0:_,y1:_,color:y,xVal:w,xLabelVal:w,yVal:k,yLabelVal:k,zLabelVal:T,text:g,hovertemplateLabels:{zLabel:T,colorLabel:b,"color[0]Label":y[0]+x[0],"color[1]Label":y[1]+x[1],"color[2]Label":y[2]+x[2],"color[3]Label":y[3]+x[3]}})]}}}},{"../../components/fx":629,"../../lib":716,"./constants":1040}],1044:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover"),eventData:t("./event_data"),moduleType:"trace",name:"image",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},{"../../plots/cartesian":775,"./attributes":1038,"./calc":1039,"./defaults":1041,"./event_data":1042,"./hover":1043,"./plot":1045,"./style":1046}],1045:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/xmlns_namespaces"),o=t("./constants");e.exports=function(t,e,r,s){var l=e.xaxis,c=e.yaxis;a.makeTraceGroups(s,r,"im").each(function(t){var e,r,s,u,h,f,p=n.select(this),d=t[0],g=d.trace,v=d.z,m=d.x0,y=d.y0,x=d.w,b=d.h,_=g.dx,w=g.dy;for(f=0;void 0===e&&f<x;)e=l.c2p(m+f*_),f++;for(f=x;void 0===r&&f>0;)r=l.c2p(m+f*_),f--;for(f=0;void 0===u&&f<b;)u=c.c2p(y+f*w),f++;for(f=b;void 0===h&&f>0;)h=c.c2p(y+f*w),f--;r<e&&(s=r,r=e,e=s),h<u&&(s=u,u=h,h=s);e=Math.max(-.5*l._length,e),r=Math.min(1.5*l._length,r),u=Math.max(-.5*c._length,u),h=Math.min(1.5*c._length,h);var k=Math.round(r-e),T=Math.round(h-u);if(k<=0||T<=0){p.selectAll("image").data([]).exit().remove()}else{var A=document.createElement("canvas");A.width=k,A.height=T;var M,S=A.getContext("2d"),E=function(t){return a.constrain(Math.round(l.c2p(m+t*_)-e),0,k)},L=function(t){return a.constrain(Math.round(c.c2p(y+t*w)-u),0,T)},C=o.colormodel[g.colormodel].fmt;for(f=0;f<d.w;f++){var P=E(f),O=E(f+1);if(O!==P&&!isNaN(O)&&!isNaN(P))for(var z=0;z<d.h;z++){var I=L(z),D=L(z+1);D===I||isNaN(D)||isNaN(I)||!v[z][f]||(M=g._scaler(v[z][f]),S.fillStyle=M?g.colormodel+"("+C(M).join(",")+")":"rgba(0,0,0,0)",S.fillRect(P,I,O-P,D-I))}}var R=p.selectAll("image").data(t);R.enter().append("svg:image").attr({xmlns:i.svg,preserveAspectRatio:"none"}),R.attr({height:T,width:k,x:e,y:u,"xlink:href":A.toDataURL("image/png")})}})}},{"../../constants/xmlns_namespaces":693,"../../lib":716,"./constants":1040,d3:164}],1046:[function(t,e,r){"use strict";var n=t("d3");e.exports=function(t){n.select(t).selectAll(".im image").style("opacity",function(t){return t.trace.opacity})}},{d3:164}],1047:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("../../lib/extend").extendDeep,i=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../components/color/attributes"),l=t("../../plots/domain").attributes,c=t("../../plots/cartesian/layout_attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../constants/delta.js"),f=(t("../../constants/docs").FORMAT_LINK,o({editType:"plot",colorEditType:"plot"})),p={color:{valType:"color",editType:"plot"},line:{color:{valType:"color",dflt:s.defaultLine,editType:"plot"},width:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"calc"},thickness:{valType:"number",min:0,max:1,dflt:1,editType:"plot"},editType:"calc"},d={valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},g=u("step",a({},p,{range:d}));e.exports={mode:{valType:"flaglist",editType:"calc",flags:["number","delta","gauge"],dflt:"number"},value:{valType:"number",editType:"calc",anim:!0},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},domain:l({name:"indicator",trace:!0,editType:"calc"}),title:{text:{valType:"string",editType:"plot"},align:{valType:"enumerated",values:["left","center","right"],editType:"plot"},font:n({},f,{}),editType:"plot"},number:{valueformat:{valType:"string",dflt:"",editType:"plot"},font:n({},f,{}),prefix:{valType:"string",dflt:"",editType:"plot"},suffix:{valType:"string",dflt:"",editType:"plot"},editType:"plot"},delta:{reference:{valType:"number",editType:"calc"},position:{valType:"enumerated",values:["top","bottom","left","right"],dflt:"bottom",editType:"plot"},relative:{valType:"boolean",editType:"plot",dflt:!1},valueformat:{valType:"string",editType:"plot"},increasing:{symbol:{valType:"string",dflt:h.INCREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:h.INCREASING.COLOR,editType:"plot"},editType:"plot"},decreasing:{symbol:{valType:"string",dflt:h.DECREASING.SYMBOL,editType:"plot"},color:{valType:"color",dflt:h.DECREASING.COLOR,editType:"plot"},editType:"plot"},font:n({},f,{}),editType:"calc"},gauge:{shape:{valType:"enumerated",editType:"plot",dflt:"angular",values:["angular","bullet"]},bar:a({},p,{color:{dflt:"green"}}),bgcolor:{valType:"color",editType:"plot"},bordercolor:{valType:"color",dflt:s.defaultLine,editType:"plot"},borderwidth:{valType:"number",min:0,dflt:1,editType:"plot"},axis:i({range:d,visible:n({},c.visible,{dflt:!0}),tickmode:c.tickmode,nticks:c.nticks,tick0:c.tick0,dtick:c.dtick,tickvals:c.tickvals,ticktext:c.ticktext,ticks:n({},c.ticks,{dflt:"outside"}),ticklen:c.ticklen,tickwidth:c.tickwidth,tickcolor:c.tickcolor,showticklabels:c.showticklabels,tickfont:o({}),tickangle:c.tickangle,tickformat:c.tickformat,tickformatstops:c.tickformatstops,tickprefix:c.tickprefix,showtickprefix:c.showtickprefix,ticksuffix:c.ticksuffix,showticksuffix:c.showticksuffix,separatethousands:c.separatethousands,exponentformat:c.exponentformat,showexponent:c.showexponent,editType:"plot"},"plot"),steps:g,threshold:{line:{color:n({},p.line.color,{}),width:n({},p.line.width,{dflt:1}),editType:"plot"},thickness:n({},p.thickness,{dflt:.85}),value:{valType:"number",editType:"calc",dflt:!1},editType:"plot"},editType:"plot"}}},{"../../components/color/attributes":590,"../../constants/delta.js":686,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/cartesian/layout_attributes":776,"../../plots/domain":789,"../../plots/font_attributes":790}],1048:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="indicator",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1049:[function(t,e,r){"use strict";e.exports={calc:function(t,e){var r=[],n=e.value;"number"!=typeof e._lastValue&&(e._lastValue=e.value);var a=e._lastValue,i=a;return e._hasDelta&&"number"==typeof e.delta.reference&&(i=e.delta.reference),r[0]={y:n,lastY:a,delta:n-i,relativeDelta:(n-i)/i},r}}},{}],1050:[function(t,e,r){"use strict";e.exports={defaultNumberFontSize:80,bulletNumberDomainSize:.25,bulletPadding:.025,innerRadius:.75,valueThickness:.5,titlePadding:5,horizontalPadding:10}},{}],1051:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../../plot_api/plot_template"),s=t("../../plots/array_container_defaults"),l=t("./constants.js"),c=t("../../plots/cartesian/tick_value_defaults"),u=t("../../plots/cartesian/tick_mark_defaults"),h=t("../../plots/cartesian/tick_label_defaults");function f(t,e){function r(r,i){return n.coerce(t,e,a.gauge.steps,r,i)}r("color"),r("line.color"),r("line.width"),r("range"),r("thickness")}e.exports={supplyDefaults:function(t,e,r,p){function d(r,i){return n.coerce(t,e,a,r,i)}i(e,p,d),d("mode"),e._hasNumber=-1!==e.mode.indexOf("number"),e._hasDelta=-1!==e.mode.indexOf("delta"),e._hasGauge=-1!==e.mode.indexOf("gauge");var g=d("value");e._range=[0,"number"==typeof g?1.5*g:1];var v,m,y,x,b,_,w=new Array(2);function k(t,e){return n.coerce(y,x,a.gauge,t,e)}function T(t,e){return n.coerce(b,_,a.gauge.axis,t,e)}if(e._hasNumber&&(d("number.valueformat"),d("number.font.color",p.font.color),d("number.font.family",p.font.family),d("number.font.size"),void 0===e.number.font.size&&(e.number.font.size=l.defaultNumberFontSize,w[0]=!0),d("number.prefix"),d("number.suffix"),v=e.number.font.size),e._hasDelta&&(d("delta.font.color",p.font.color),d("delta.font.family",p.font.family),d("delta.font.size"),void 0===e.delta.font.size&&(e.delta.font.size=(e._hasNumber?.5:1)*(v||l.defaultNumberFontSize),w[1]=!0),d("delta.reference",e.value),d("delta.relative"),d("delta.valueformat",e.delta.relative?"2%":""),d("delta.increasing.symbol"),d("delta.increasing.color"),d("delta.decreasing.symbol"),d("delta.decreasing.color"),d("delta.position"),m=e.delta.font.size),e._scaleNumbers=(!e._hasNumber||w[0])&&(!e._hasDelta||w[1])||!1,d("title.font.color",p.font.color),d("title.font.family",p.font.family),d("title.font.size",.25*(v||m||l.defaultNumberFontSize)),d("title.text"),e._hasGauge){(y=t.gauge)||(y={}),x=o.newContainer(e,"gauge"),k("shape"),(e._isBullet="bullet"===e.gauge.shape)||d("title.align","center"),(e._isAngular="angular"===e.gauge.shape)||d("align","center"),k("bgcolor",p.paper_bgcolor),k("borderwidth"),k("bordercolor"),k("bar.color"),k("bar.line.color"),k("bar.line.width"),k("bar.thickness",l.valueThickness*("bullet"===e.gauge.shape?.5:1)),s(y,x,{name:"steps",handleItemDefaults:f}),k("threshold.value"),k("threshold.thickness"),k("threshold.line.width"),k("threshold.line.color"),b={},y&&(b=y.axis||{}),_=o.newContainer(x,"axis"),T("visible"),e._range=T("range",e._range);var A={outerTicks:!0};c(b,_,T,"linear"),h(b,_,T,"linear",A),u(b,_,T,A)}else d("title.align","center"),d("align","center"),e._isAngular=e._isBullet=!1;e._length=null}}},{"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../../plots/cartesian/tick_label_defaults":783,"../../plots/cartesian/tick_mark_defaults":784,"../../plots/cartesian/tick_value_defaults":785,"../../plots/domain":789,"./attributes":1047,"./constants.js":1050}],1052:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"indicator",basePlotModule:t("./base_plot"),categories:["svg","noOpacity","noHover"],animatable:!0,attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc").calc,plot:t("./plot"),meta:{}}},{"./attributes":1047,"./base_plot":1048,"./calc":1049,"./defaults":1051,"./plot":1053}],1053:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=a.rad2deg,o=t("../../constants/alignment").MID_SHIFT,s=t("../../components/drawing"),l=t("./constants"),c=t("../../lib/svg_text_utils"),u=t("../../plots/cartesian/axes"),h=t("../../plots/cartesian/axis_defaults"),f=t("../../plots/cartesian/position_defaults"),p=t("../../plots/cartesian/layout_attributes"),d=t("../../components/color"),g={left:"start",center:"middle",right:"end"},v={left:0,center:.5,right:1},m=/[yzafpn\xb5mkMGTPEZY]/;function y(t){return t&&t.duration>0}function x(t){t.each(function(t){d.stroke(n.select(this),t.line.color)}).each(function(t){d.fill(n.select(this),t.color)}).style("stroke-width",function(t){return t.line.width})}function b(t,e,r){var n=t._fullLayout,i=a.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),o={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noHover:!0,noTickson:!0};function l(t,e){return a.coerce(i,o,p,t,e)}return h(i,o,l,s,n),f(i,o,l,s),o}function _(t,e){return"translate("+t+","+e+")"}function w(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function k(t,e,r,a){var i=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(i);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(c.convertToTspans,a).call(s.font,e),s.bBox(o.node())}function T(t,e,r,n,i,o){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=a.aggNums(o,null,[t[s].value,n],2);return t[s].value=l,l}e.exports=function(t,e,r,h){var f,p=t._fullLayout;y(r)&&h&&(f=h()),a.makeTraceGroups(p._indicatorlayer,e,"trace").each(function(e){var h,A,M,S,E,L=e[0].trace,C=n.select(this),P=L._hasGauge,O=L._isAngular,z=L._isBullet,I=L.domain,D={w:p._size.w*(I.x[1]-I.x[0]),h:p._size.h*(I.y[1]-I.y[0]),l:p._size.l+p._size.w*I.x[0],r:p._size.r+p._size.w*(1-I.x[1]),t:p._size.t+p._size.h*(1-I.y[1]),b:p._size.b+p._size.h*I.y[0]},R=D.l+D.w/2,F=D.t+D.h/2,B=Math.min(D.w/2,D.h),N=l.innerRadius*B,j=L.align||"center";if(A=F,P){if(O&&(h=R,A=F+B/2,M=function(t){return e=t,r=.9*N,n=Math.sqrt(e.width/2*(e.width/2)+e.height*e.height),[r/n,e,r];var e,r,n}),z){var V=l.bulletPadding,U=1-l.bulletNumberDomainSize+V;h=D.l+(U+(1-U)*v[j])*D.w,M=function(t){return w(t,(l.bulletNumberDomainSize-V)*D.w,D.h)}}}else h=D.l+v[j]*D.w,M=function(t){return w(t,D.w,D.h)};!function(t,e,r,i){var o,l,h,f=r[0].trace,p=i.numbersX,x=i.numbersY,w=f.align||"center",A=g[w],M=i.transitionOpts,S=i.onComplete,E=a.ensureSingle(e,"g","numbers"),L=[];f._hasNumber&&L.push("number");f._hasDelta&&(L.push("delta"),"left"===f.delta.position&&L.reverse());var C=E.selectAll("text").data(L);function P(e,r,n,a){if(!e.match("s")||n>=0==a>=0||r(n).slice(-1).match(m)||r(a).slice(-1).match(m))return r;var i=e.slice().replace("s","f").replace(/\d+/,function(t){return parseInt(t)-1}),o=b(t,{tickformat:i});return function(t){return Math.abs(t)<1?u.tickText(o,t).text:r(t)}}C.enter().append("text"),C.attr("text-anchor",function(){return A}).attr("class",function(t){return t}).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),C.exit().remove();var O,z=f.mode+f.align;f._hasDelta&&(O=function(){var e=b(t,{tickformat:f.delta.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=function(t){var e=f.delta.relative?t.relativeDelta:t.delta;return e},o=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?f.delta.increasing.symbol:f.delta.decreasing.symbol)+e(t)},h=function(t){return t.delta>=0?f.delta.increasing.color:f.delta.decreasing.color};void 0===f._deltaLastValue&&(f._deltaLastValue=i(r[0]));var p=E.select("text.delta");function g(){p.text(o(i(r[0]),a)).call(d.fill,h(r[0])).call(c.convertToTspans,t)}p.call(s.font,f.delta.font).call(d.fill,h({delta:f._deltaLastValue})),y(M)?p.transition().duration(M.duration).ease(M.easing).tween("text",function(){var t=n.select(this),e=i(r[0]),s=f._deltaLastValue,l=P(f.delta.valueformat,a,s,e),c=n.interpolateNumber(s,e);return f._deltaLastValue=e,function(e){t.text(o(c(e),l)),t.call(d.fill,h({delta:c(e)}))}}).each("end",function(){g(),S&&S()}).each("interrupt",function(){g(),S&&S()}):g();return l=k(o(i(r[0]),a),f.delta.font,A,t),p}(),z+=f.delta.position+f.delta.font.size+f.delta.font.family+f.delta.valueformat,z+=f.delta.increasing.symbol+f.delta.decreasing.symbol,h=l);f._hasNumber&&(!function(){var e=b(t,{tickformat:f.number.valueformat},f._range);e.setScale(),u.prepTicks(e);var a=function(t){return u.tickText(e,t).text},i=f.number.suffix,l=f.number.prefix,h=E.select("text.number");function p(){var e="number"==typeof r[0].y?l+a(r[0].y)+i:"-";h.text(e).call(s.font,f.number.font).call(c.convertToTspans,t)}y(M)?h.transition().duration(M.duration).ease(M.easing).each("end",function(){p(),S&&S()}).each("interrupt",function(){p(),S&&S()}).attrTween("text",function(){var t=n.select(this),e=n.interpolateNumber(r[0].lastY,r[0].y);f._lastValue=r[0].y;var o=P(f.number.valueformat,a,r[0].lastY,r[0].y);return function(r){t.text(l+o(e(r))+i)}}):p();o=k(l+a(r[0].y)+i,f.number.font,A,t)}(),z+=f.number.font.size+f.number.font.family+f.number.valueformat+f.number.suffix+f.number.prefix,h=o);if(f._hasDelta&&f._hasNumber){var I,D,R=[(o.left+o.right)/2,(o.top+o.bottom)/2],F=[(l.left+l.right)/2,(l.top+l.bottom)/2],B=.75*f.delta.font.size;"left"===f.delta.position&&(I=T(f,"deltaPos",0,-1*(o.width*v[f.align]+l.width*(1-v[f.align])+B),z,Math.min),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:l.left+I,right:o.right,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"right"===f.delta.position&&(I=T(f,"deltaPos",0,o.width*(1-v[f.align])+l.width*v[f.align]+B,z,Math.max),D=R[1]-F[1],h={width:o.width+l.width+B,height:Math.max(o.height,l.height),left:o.left,right:l.right+I,top:Math.min(o.top,l.top+D),bottom:Math.max(o.bottom,l.bottom+D)}),"bottom"===f.delta.position&&(I=null,D=l.height,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height,bottom:o.bottom+l.height}),"top"===f.delta.position&&(I=null,D=o.top,h={width:Math.max(o.width,l.width),height:o.height+l.height,left:Math.min(o.left,l.left),right:Math.max(o.right,l.right),top:o.bottom-o.height-l.height,bottom:o.bottom}),O.attr({dx:I,dy:D})}(f._hasNumber||f._hasDelta)&&E.attr("transform",function(){var t=i.numbersScaler(h);z+=t[2];var e,r=T(f,"numbersScale",1,t[0],z,Math.min);f._scaleNumbers||(r=1),e=f._isAngular?x-r*h.bottom:x-r*(h.top+h.bottom)/2,f._numbersTop=r*h.top+e;var n=h[w];"center"===w&&(n=(h.left+h.right)/2);var a=p-r*n;return _(a=T(f,"numbersTranslate",0,a,z,Math.max),e)+" scale("+r+")"})}(t,C,e,{numbersX:h,numbersY:A,numbersScaler:M,transitionOpts:r,onComplete:f}),P&&(S={range:L.gauge.axis.range,color:L.gauge.bgcolor,line:{color:L.gauge.bordercolor,width:0},thickness:1},E={range:L.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:L.gauge.bordercolor,width:L.gauge.borderwidth},thickness:1});var q=C.selectAll("g.angular").data(O?e:[]);q.exit().remove();var H=C.selectAll("g.angularaxis").data(O?e:[]);H.exit().remove(),O&&function(t,e,r,a){var s,l,c,h,f=r[0].trace,p=a.size,d=a.radius,g=a.innerRadius,v=a.gaugeBg,m=a.gaugeOutline,w=[p.l+p.w/2,p.t+p.h/2+d/2],k=a.gauge,T=a.layer,A=a.transitionOpts,M=a.onComplete,S=Math.PI/2;function E(t){var e=f.gauge.axis.range[0],r=f.gauge.axis.range[1],n=(t-e)/(r-e)*Math.PI-S;return n<-S?-S:n>S?S:n}function L(t){return n.svg.arc().innerRadius((g+d)/2-t/2*(d-g)).outerRadius((g+d)/2+t/2*(d-g)).startAngle(-S)}function C(t){t.attr("d",function(t){return L(t.thickness).startAngle(E(t.range[0])).endAngle(E(t.range[1]))()})}k.enter().append("g").classed("angular",!0),k.attr("transform",_(w[0],w[1])),T.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),T.selectAll("g.xangularaxistick,path,text").remove(),(s=b(t,f.gauge.axis)).type="linear",s.range=f.gauge.axis.range,s._id="xangularaxis",s.setScale();var P=function(t){return(s.range[0]-t.x)/(s.range[1]-s.range[0])*Math.PI+Math.PI},O={},z=u.makeLabelFns(s,0).labelStandoff;O.xFn=function(t){var e=P(t);return Math.cos(e)*z},O.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*o)},O.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},O.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var I=function(t){return _(w[0]+d*Math.cos(t),w[1]-d*Math.sin(t))};c=function(t){return I(P(t))};if(l=u.calcTicks(s),h=u.getTickSigns(s)[2],s.visible){h="inside"===s.ticks?-1:1;var D=(s.linewidth||1)/2;u.drawTicks(t,s,{vals:l,layer:T,path:"M"+h*D+",0h"+h*s.ticklen,transFn:function(t){var e=P(t);return I(e)+"rotate("+-i(e)+")"}}),u.drawLabels(t,s,{vals:l,layer:T,transFn:c,labelFns:O})}var R=[v].concat(f.gauge.steps),F=k.selectAll("g.bg-arc").data(R);F.enter().append("g").classed("bg-arc",!0).append("path"),F.select("path").call(C).call(x),F.exit().remove();var B=L(f.gauge.bar.thickness),N=k.selectAll("g.value-arc").data([f.gauge.bar]);N.enter().append("g").classed("value-arc",!0).append("path");var j=N.select("path");y(A)?(j.transition().duration(A.duration).ease(A.easing).each("end",function(){M&&M()}).each("interrupt",function(){M&&M()}).attrTween("d",(V=B,U=E(r[0].lastY),q=E(r[0].y),function(){var t=n.interpolate(U,q);return function(e){return V.endAngle(t(e))()}})),f._lastValue=r[0].y):j.attr("d","number"==typeof r[0].y?B.endAngle(E(r[0].y)):"M0,0Z");var V,U,q;j.call(x),N.exit().remove(),R=[];var H=f.gauge.threshold.value;H&&R.push({range:[H,H],color:f.gauge.threshold.color,line:{color:f.gauge.threshold.line.color,width:f.gauge.threshold.line.width},thickness:f.gauge.threshold.thickness});var G=k.selectAll("g.threshold-arc").data(R);G.enter().append("g").classed("threshold-arc",!0).append("path"),G.select("path").call(C).call(x),G.exit().remove();var Y=k.selectAll("g.gauge-outline").data([m]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(C).call(x),Y.exit().remove()}(t,0,e,{radius:B,innerRadius:N,gauge:q,layer:H,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var G=C.selectAll("g.bullet").data(z?e:[]);G.exit().remove();var Y=C.selectAll("g.bulletaxis").data(z?e:[]);Y.exit().remove(),z&&function(t,e,r,n){var a,i,o,s,c,h=r[0].trace,f=n.gauge,p=n.layer,g=n.gaugeBg,v=n.gaugeOutline,m=n.size,_=h.domain,w=n.transitionOpts,k=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform","translate("+m.l+", "+m.t+")"),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var T=m.h,A=h.gauge.bar.thickness*T,M=_.x[0],S=_.x[0]+(_.x[1]-_.x[0])*(h._hasNumber||h._hasDelta?1-l.bulletNumberDomainSize:1);(a=b(t,h.gauge.axis))._id="xbulletaxis",a.domain=[M,S],a.setScale(),i=u.calcTicks(a),o=u.makeTransFn(a),s=u.getTickSigns(a)[2],c=m.t+m.h,a.visible&&(u.drawTicks(t,a,{vals:"inside"===a.ticks?u.clipEnds(a,i):i,layer:p,path:u.makeTickPath(a,c,s),transFn:o}),u.drawLabels(t,a,{vals:i,layer:p,transFn:o,labelFns:u.makeLabelFns(a,c)}));function E(t){t.attr("width",function(t){return Math.max(0,a.c2p(t.range[1])-a.c2p(t.range[0]))}).attr("x",function(t){return a.c2p(t.range[0])}).attr("y",function(t){return.5*(1-t.thickness)*T}).attr("height",function(t){return t.thickness*T})}var L=[g].concat(h.gauge.steps),C=f.selectAll("g.bg-bullet").data(L);C.enter().append("g").classed("bg-bullet",!0).append("rect"),C.select("rect").call(E).call(x),C.exit().remove();var P=f.selectAll("g.value-bullet").data([h.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",A).attr("y",(T-A)/2).call(x),y(w)?P.select("rect").transition().duration(w.duration).ease(w.easing).each("end",function(){k&&k()}).each("interrupt",function(){k&&k()}).attr("width",Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,a.c2p(Math.min(h.gauge.axis.range[1],r[0].y))):0);P.exit().remove();var O=r.filter(function(){return h.gauge.threshold.value}),z=f.selectAll("g.threshold-bullet").data(O);z.enter().append("g").classed("threshold-bullet",!0).append("line"),z.select("line").attr("x1",a.c2p(h.gauge.threshold.value)).attr("x2",a.c2p(h.gauge.threshold.value)).attr("y1",(1-h.gauge.threshold.thickness)/2*T).attr("y2",(1-(1-h.gauge.threshold.thickness)/2)*T).call(d.stroke,h.gauge.threshold.line.color).style("stroke-width",h.gauge.threshold.line.width),z.exit().remove();var I=f.selectAll("g.gauge-outline").data([v]);I.enter().append("g").classed("gauge-outline",!0).append("rect"),I.select("rect").call(E).call(x),I.exit().remove()}(t,0,e,{gauge:G,layer:Y,size:D,gaugeBg:S,gaugeOutline:E,transitionOpts:r,onComplete:f});var W=C.selectAll("text.title").data(e);W.exit().remove(),W.enter().append("text").classed("title",!0),W.attr("text-anchor",function(){return z?g.right:g[L.title.align]}).text(L.title.text).call(s.font,L.title.font).call(c.convertToTspans,t),W.attr("transform",function(){var t,e=D.l+D.w*v[L.title.align],r=l.titlePadding,n=s.bBox(W.node());if(P){if(O)if(L.gauge.axis.visible)t=s.bBox(H.node()).top-r-n.bottom;else t=D.t+D.h/2-B/2-n.bottom-r;z&&(t=A-(n.top+n.bottom)/2,e=D.l-l.bulletPadding*D.w)}else t=L._numbersTop-r-n.bottom;return _(e,t)})})}},{"../../components/color":591,"../../components/drawing":612,"../../constants/alignment":685,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_defaults":766,"../../plots/cartesian/layout_attributes":776,"../../plots/cartesian/position_defaults":779,"./constants":1050,d3:164}],1054:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;var c=e.exports=l(s({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a()},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,lightposition:i.lightposition,lighting:i.lighting,flatshading:i.flatshading,contour:i.contour,hoverinfo:s({},o.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],1055:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length);for(var r=1/0,a=-1/0,i=e.value.length,o=0;o<i;o++){var s=e.value[o];r=Math.min(r,s),a=Math.max(a,s)}e._minValues=r,e._maxValues=a,e._vMin=void 0===e.isomin||null===e.isomin?r:e.isomin,e._vMax=void 0===e.isomax||null===e.isomin?a:e.isomax,n(t,e,{vals:[e._vMin,e._vMax],containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1056:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("../../lib"),i=t("../../lib/gl_format_color").parseColorScale,o=t("../../lib/str2rgbarray"),s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3");function c(t){return a.distinctVals(t).vals}var u=function(t,e){for(var r=e.length-1;r>0;r--){var n=Math.min(e[r],e[r-1]),a=Math.max(e[r],e[r-1]);if(a>n&&n<t&&t<=a)return{id:r,distRatio:(a-t)/(a-n)}}return{id:0,distRatio:0}};function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){t._i=[],t._j=[],t._k=[];var e,r,n=t.surface.show,a=t.spaceframe.show,i=t.surface.fill,o=t.spaceframe.fill,s=!1,l=!1,h=0,f=c(t.x.slice(0,t._len)),p=c(t.y.slice(0,t._len)),d=c(t.z.slice(0,t._len)),g=f.length,v=p.length,m=d.length;function y(t,e,r){return r+m*e+m*v*t}var x,b,_,w,k,T=t._minValues,A=t._maxValues,M=t._vMin,S=t._vMax;function E(t,e,n){for(var a=w.length,i=r;i<a;i++)if(t===x[i]&&e===b[i]&&n===_[i])return i;return-1}function L(){r=e}function C(){x=[],b=[],_=[],w=[],e=0,L()}function P(t,r,n,a){return x.push(t),b.push(r),_.push(n),w.push(a),++e-1}function O(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=t[a]*(1-r)+r*e[a];return n}function z(t){k=t}function I(t,e){return"all"===t||null===t||t.indexOf(e)>-1}function D(t,e){return null===t?e:t}function R(e,r,n){L();var a,i,o,s=[r],l=[n];if(k>=1)s=[r],l=[n];else if(k>0){var c=function(t,e){var r=t[0],n=t[1],a=t[2],i=function(t,e,r){for(var n=[],a=0;a<t.length;a++)n[a]=(t[a]+e[a]+r[a])/3;return n}(r,n,a),o=Math.sqrt(1-k),s=O(i,r,o),l=O(i,n,o),c=O(i,a,o),u=e[0],h=e[1],f=e[2];return{xyzv:[[r,n,l],[l,s,r],[n,a,c],[c,l,n],[a,r,s],[s,c,a]],abc:[[u,h,-1],[-1,-1,u],[h,f,-1],[-1,-1,h],[f,u,-1],[-1,-1,f]]}}(r,n);s=c.xyzv,l=c.abc}for(var u=0;u<s.length;u++){r=s[u],n=l[u];for(var f=[],p=0;p<3;p++){var d=r[p][0],g=r[p][1],v=r[p][2],m=r[p][3],y=n[p]>-1?n[p]:E(d,g,v);f[p]=y>-1?y:P(d,g,v,D(e,m))}a=f[0],i=f[1],o=f[2],t._i.push(a),t._j.push(i),t._k.push(o),++h}}function F(t,e,r,n){var a=t[3];a<r&&(a=r),a>n&&(a=n);for(var i=(t[3]-a)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-i)*t[s]+i*e[s];return o}function B(t,e,r){return t>=e&&t<=r}function N(t){var e=.001*(S-M);return t>=M-e&&t<=S+e}function j(e){for(var r=[],n=0;n<4;n++){var a=e[n];r.push([t.x[a],t.y[a],t.z[a],t.value[a]])}return r}var V=3;function U(t,e,r,n,a,i){i||(i=1),r=[-1,-1,-1];var o=!1,s=[B(e[0][3],n,a),B(e[1][3],n,a),B(e[2][3],n,a)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return N(e[0][3])&&N(e[1][3])&&N(e[2][3])?(R(t,e,r),!0):i<V&&U(t,e,r,M,S,++i)};if(s[0]&&s[1]&&s[2])return l(t,e,r)||o;var c=!1;return[[0,1,2],[2,0,1],[1,2,0]].forEach(function(i){if(s[i[0]]&&s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=F(f,u,n,a),d=F(f,h,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,o=l(t,[u,h,d],[r[i[0]],r[i[1]],-1])||o,c=!0}}),c?o:([[0,1,2],[1,2,0],[2,0,1]].forEach(function(i){if(s[i[0]]&&!s[i[1]]&&!s[i[2]]){var u=e[i[0]],h=e[i[1]],f=e[i[2]],p=F(h,u,n,a),d=F(f,u,n,a);o=l(t,[d,p,u],[-1,-1,r[i[0]]])||o,c=!0}}),o)}function q(t,e,r,n){var a=!1,i=j(e),o=[B(i[0][3],r,n),B(i[1][3],r,n),B(i[2][3],r,n),B(i[3][3],r,n)];if(!(o[0]||o[1]||o[2]||o[3]))return a;if(o[0]&&o[1]&&o[2]&&o[3])return l&&(a=function(t,e,r){var n=function(n,a,i){R(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(3,0,1),n(2,3,0),n(1,2,3)}(t,i,e)||a),a;var s=!1;return[[0,1,2,3],[3,0,1,2],[2,3,0,1],[1,2,3,0]].forEach(function(c){if(o[c[0]]&&o[c[1]]&&o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]];if(l)a=R(t,[u,h,f],[e[c[0]],e[c[1]],e[c[2]]])||a;else{var d=F(p,u,r,n),g=F(p,h,r,n),v=F(p,f,r,n);a=R(null,[d,g,v],[-1,-1,-1])||a}s=!0}}),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2],[0,2,3,1],[1,3,2,0]].forEach(function(c){if(o[c[0]]&&o[c[1]]&&!o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]],d=F(f,u,r,n),g=F(f,h,r,n),v=F(p,h,r,n),m=F(p,u,r,n);l?(a=R(t,[u,m,d],[e[c[0]],-1,-1])||a,a=R(t,[h,g,v],[e[c[1]],-1,-1])||a):a=function(t,e,r){var n=function(n,a,i){R(t,[e[n],e[a],e[i]],[r[n],r[a],r[i]])};n(0,1,2),n(2,3,0)}(null,[d,g,v,m],[-1,-1,-1,-1])||a,s=!0}}),s?a:([[0,1,2,3],[1,2,3,0],[2,3,0,1],[3,0,1,2]].forEach(function(c){if(o[c[0]]&&!o[c[1]]&&!o[c[2]]&&!o[c[3]]){var u=i[c[0]],h=i[c[1]],f=i[c[2]],p=i[c[3]],d=F(h,u,r,n),g=F(f,u,r,n),v=F(p,u,r,n);l?(a=R(t,[u,d,g],[e[c[0]],-1,-1])||a,a=R(t,[u,g,v],[e[c[0]],-1,-1])||a,a=R(t,[u,v,d],[e[c[0]],-1,-1])||a):a=R(null,[d,g,v],[-1,-1,-1])||a,s=!0}}),a))}function H(t,e,r,n,a,i,o,c,u,h,f){var p=!1;return s&&(I(t,"A")&&(p=q(null,[e,r,n,i],h,f)||p),I(t,"B")&&(p=q(null,[r,n,a,u],h,f)||p),I(t,"C")&&(p=q(null,[r,i,o,u],h,f)||p),I(t,"D")&&(p=q(null,[n,i,c,u],h,f)||p),I(t,"E")&&(p=q(null,[r,n,i,u],h,f)||p)),l&&(p=q(t,[r,n,i,u],h,f)||p),p}function G(t,e,r,n,a,i,o,s){return[!0===s[0]||U(t,j([e,r,n]),[e,r,n],i,o),!0===s[1]||U(t,j([n,a,e]),[n,a,e],i,o)]}function Y(t,e,r,n,a,i,o,s,l){return s?G(t,e,r,a,n,i,o,l):G(t,r,a,n,e,i,o,l)}function W(t,e,r,n,a,i,o){var s,l,c,u,h=!1,f=function(){h=U(t,[s,l,c],[-1,-1,-1],a,i)||h,h=U(t,[c,u,s],[-1,-1,-1],a,i)||h},p=o[0],d=o[1],g=o[2];return p&&(s=O(j([y(e,r-0,n-0)])[0],j([y(e-1,r-0,n-0)])[0],p),l=O(j([y(e,r-0,n-1)])[0],j([y(e-1,r-0,n-1)])[0],p),c=O(j([y(e,r-1,n-1)])[0],j([y(e-1,r-1,n-1)])[0],p),u=O(j([y(e,r-1,n-0)])[0],j([y(e-1,r-1,n-0)])[0],p),f()),d&&(s=O(j([y(e-0,r,n-0)])[0],j([y(e-0,r-1,n-0)])[0],d),l=O(j([y(e-0,r,n-1)])[0],j([y(e-0,r-1,n-1)])[0],d),c=O(j([y(e-1,r,n-1)])[0],j([y(e-1,r-1,n-1)])[0],d),u=O(j([y(e-1,r,n-0)])[0],j([y(e-1,r-1,n-0)])[0],d),f()),g&&(s=O(j([y(e-0,r-0,n)])[0],j([y(e-0,r-0,n-1)])[0],g),l=O(j([y(e-0,r-1,n)])[0],j([y(e-0,r-1,n-1)])[0],g),c=O(j([y(e-1,r-1,n)])[0],j([y(e-1,r-1,n-1)])[0],g),u=O(j([y(e-1,r-0,n)])[0],j([y(e-1,r-0,n-1)])[0],g),f()),h}function X(t,e,r,n,a,i,o,l,c,u,h,f){var p=t;return f?(s&&"even"===t&&(p=null),H(p,e,r,n,a,i,o,l,c,u,h)):(s&&"odd"===t&&(p=null),H(p,c,l,o,i,a,n,r,e,u,h))}function Z(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<m;c++)for(var u=1;u<v;u++)i.push(Y(t,y(l,u-1,c-1),y(l,u-1,c),y(l,u,c-1),y(l,u,c),r,n,(l+u+c)%2,a&&a[o]?a[o]:[])),o++;return i}function J(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<g;c++)for(var u=1;u<m;u++)i.push(Y(t,y(c-1,l,u-1),y(c,l,u-1),y(c-1,l,u),y(c,l,u),r,n,(c+l+u)%2,a&&a[o]?a[o]:[])),o++;return i}function K(t,e,r,n,a){for(var i=[],o=0,s=0;s<e.length;s++)for(var l=e[s],c=1;c<v;c++)for(var u=1;u<g;u++)i.push(Y(t,y(u-1,c-1,l),y(u-1,c,l),y(u,c-1,l),y(u,c,l),r,n,(u+c+l)%2,a&&a[o]?a[o]:[])),o++;return i}function Q(t,e,r){for(var n=1;n<m;n++)for(var a=1;a<v;a++)for(var i=1;i<g;i++)X(t,y(i-1,a-1,n-1),y(i-1,a-1,n),y(i-1,a,n-1),y(i-1,a,n),y(i,a-1,n-1),y(i,a-1,n),y(i,a,n-1),y(i,a,n),e,r,(i+a+n)%2)}function $(t,e,r){s=!0,Q(t,e,r),s=!1}function tt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<m;u++)for(var h=1;h<v;h++)o.push(W(t,c,h,u,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function et(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<g;u++)for(var h=1;h<m;h++)o.push(W(t,u,c,h,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function rt(t,e,r,n,a,i){for(var o=[],s=0,l=0;l<e.length;l++)for(var c=e[l],u=1;u<v;u++)for(var h=1;h<g;h++)o.push(W(t,h,u,c,r,n,a[l],i&&i[s]&&i[s])),s++;return o}function nt(t,e){for(var r=[],n=t;n<e;n++)r.push(n);return r}return function(){if(C(),function(){for(var e=0;e<g;e++)for(var r=0;r<v;r++)for(var n=0;n<m;n++){var a=y(e,r,n);P(t.x[a],t.y[a],t.z[a],t.value[a])}}(),a&&o&&(z(o),l=!0,Q(null,M,S),l=!1),n&&i){z(i);for(var e=t.surface.pattern,r=t.surface.count,s=0;s<r;s++){var c=1===r?.5:s/(r-1),k=(1-c)*M+c*S,E=Math.abs(k-T)>Math.abs(k-A)?[T,k]:[k,A];$(e,E[0],E[1])}}var L=[[Math.min(M,A),Math.max(M,A)],[Math.min(T,S),Math.max(T,S)]];["x","y","z"].forEach(function(e){for(var r=[],n=0;n<L.length;n++){var a=0,i=L[n][0],o=L[n][1],s=t.slices[e];if(s.show&&s.fill){z(s.fill);var l=[],c=[],h=[];if(s.locations.length)for(var y=0;y<s.locations.length;y++){var x=u(s.locations[y],"x"===e?f:"y"===e?p:d);0===x.distRatio?l.push(x.id):x.id>0&&(c.push(x.id),"x"===e?h.push([x.distRatio,0,0]):"y"===e?h.push([0,x.distRatio,0]):h.push([0,0,x.distRatio]))}else l=nt(1,"x"===e?g-1:"y"===e?v-1:m-1);c.length>0&&(r[a]="x"===e?tt(null,c,i,o,h,r[a]):"y"===e?et(null,c,i,o,h,r[a]):rt(null,c,i,o,h,r[a]),a++),l.length>0&&(r[a]="x"===e?Z(null,l,i,o,r[a]):"y"===e?J(null,l,i,o,r[a]):K(null,l,i,o,r[a]),a++)}var b=t.caps[e];b.show&&b.fill&&(z(b.fill),r[a]="x"===e?Z(null,[0,g-1],i,o,r[a]):"y"===e?J(null,[0,v-1],i,o,r[a]):K(null,[0,m-1],i,o,r[a]),a++)}}),0===h&&C(),t._x=x,t._y=b,t._z=_,t._intensity=w,t._Xs=f,t._Ys=p,t._Zs=d}(),t}f.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._x[e],n=this.data._y[e],a=this.data._z[e],i=this.data._Ys.length,o=this.data._Zs.length,s=u(r,this.data._Xs).id,l=u(n,this.data._Ys).id,c=u(a,this.data._Zs).id,h=t.index=c+o*l+o*i*s;t.traceCoordinate=[this.data._x[h],this.data._y[h],this.data._z[h],this.data.value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=p(t);var a={positions:l(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:l(t._i,t._j,t._k),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:o(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},c=s(t);a.vertexIntensity=t._intensity,a.vertexIntensityBounds=[c.min,c.max],a.colormap=i(t),this.mesh.update(a)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"gl-mesh3d":282}],1057:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../../components/colorscale/defaults");function s(t,e,r,n,i){var s=i("isomin"),l=i("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=i("x"),u=i("y"),h=i("z"),f=i("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),["x","y","z"].forEach(function(t){var e="caps."+t;i(e+".show")&&i(e+".fill");var r="slices."+t;i(r+".show")&&(i(r+".fill"),i(r+".locations"))}),i("spaceframe.show")&&i("spaceframe.fill"),i("surface.show")&&(i("surface.count"),i("surface.fill"),i("surface.pattern")),i("contour.show")&&(i("contour.color"),i("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach(function(t){i(t)}),o(t,e,n,i,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}e.exports={supplyDefaults:function(t,e,r,a){s(t,e,0,a,function(r,a){return n.coerce(t,e,i,r,a)})},supplyIsoDefaults:s}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1054}],1058:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert").createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1054,"./calc":1055,"./convert":1056,"./defaults":1057}],1059:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../surface/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat;e.exports=s({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:i.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:s({},i.contours.x.show,{}),color:i.contours.x.color,width:i.contours.x.width,editType:"calc"},lightposition:{x:s({},i.lightposition.x,{dflt:1e5}),y:s({},i.lightposition.y,{dflt:1e5}),z:s({},i.lightposition.z,{dflt:0}),editType:"calc"},lighting:s({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},i.lighting),hoverinfo:s({},o.hoverinfo,{editType:"calc"})})},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../surface/attributes":1240}],1060:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1061:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("delaunay-triangulate"),i=t("alpha-shape"),o=t("convex-hull"),s=t("../../lib/gl_format_color").parseColorScale,l=t("../../lib/str2rgbarray"),c=t("../../components/colorscale").extractOpts,u=t("../../plots/gl3d/zip3");function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var f=h.prototype;function p(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=l(t[n]);return e}function d(t,e,r,n){for(var a=[],i=e.length,o=0;o<i;o++)a[o]=t.d2l(e[o],0,n)*r;return a}function g(t){for(var e=[],r=t.length,n=0;n<r;n++)e[n]=Math.round(t[n]);return e}function v(t,e){for(var r=t.length,n=0;n<r;n++)if(t[n]<=-.5||t[n]>=e-.5)return!1;return!0}f.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return Array.isArray(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},f.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,h=t.x.length,f=u(d(r.xaxis,t.x,e.dataScale[0],t.xcalendar),d(r.yaxis,t.y,e.dataScale[1],t.ycalendar),d(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!v(t.i,h)||!v(t.j,h)||!v(t.k,h))return;n=u(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?i(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],i=e.length,o=0;o<i;o++)n[o]=[e[o][(r+1)%3],e[o][(r+2)%3]];return a(n)}(t.delaunayaxis,f);var m={positions:f,cells:n,lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,contourEnable:t.contour.show,contourColor:l(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading};if(t.intensity){var y=c(t);this.color="#fff",m.vertexIntensity=t.intensity,m.vertexIntensityBounds=[y.min,y.max],m.colormap=s(t)}else t.vertexcolor?(this.color=t.vertexcolor[0],m.vertexColors=p(t.vertexcolor)):t.facecolor?(this.color=t.facecolor[0],m.cellColors=p(t.facecolor)):(this.color=t.color,m.meshColor=l(t.color));this.mesh.update(m)},f.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new h(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"alpha-shape":66,"convex-hull":131,"delaunay-triangulate":166,"gl-mesh3d":282}],1062:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/colorscale/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,n){return a.coerce(t,e,o,r,n)}function c(t){var e=t.map(function(t){var e=l(t);return e&&a.isArrayOrTypedArray(e)?e:null});return e.every(function(t){return t&&t.length===e[0].length})&&e}c(["x","y","z"])?(c(["i","j","k"]),(!e.i||e.j&&e.k)&&(!e.j||e.k&&e.i)&&(!e.k||e.i&&e.j)?(n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],s),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","alphahull","delaunayaxis","opacity"].forEach(function(t){l(t)}),l("contour.show")&&(l("contour.color"),l("contour.width")),"intensity"in t?(l("intensity"),i(t,e,s,l,{prefix:"",cLetter:"c"})):(e.showscale=!1,"facecolor"in t?l("facecolor"):"vertexcolor"in t?l("vertexcolor"):l("color",r)),l("text"),l("hovertext"),l("hovertemplate"),e._length=null):e.visible=!1):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1059}],1063:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"mesh3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1059,"./calc":1060,"./convert":1061,"./defaults":1062}],1064:[function(t,e,r){"use strict";var n=t("../../lib").extendFlat,a=t("../scatter/attributes"),i=t("../../components/drawing/attributes").dash,o=t("../../components/fx/attributes"),s=t("../../constants/delta.js"),l=s.INCREASING.COLOR,c=s.DECREASING.COLOR,u=a.line;function h(t){return{line:{color:n({},u.color,{dflt:t}),width:u.width,dash:i,editType:"style"},editType:"style"}}e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes"},open:{valType:"data_array",editType:"calc"},high:{valType:"data_array",editType:"calc"},low:{valType:"data_array",editType:"calc"},close:{valType:"data_array",editType:"calc"},line:{width:n({},u.width,{}),dash:n({},i,{}),editType:"style"},increasing:h(l),decreasing:h(c),text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},tickwidth:{valType:"number",min:0,max:.5,dflt:.3,editType:"calc"},hoverlabel:n({},o.hoverlabel,{split:{valType:"boolean",dflt:!1,editType:"style"}})}},{"../../components/drawing/attributes":611,"../../components/fx/attributes":621,"../../constants/delta.js":686,"../../lib":716,"../scatter/attributes":1118}],1065:[function(t,e,r){"use strict";var n=t("../../lib"),a=n._,i=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM;function s(t,e,r,n){return{o:t,h:e,l:r,c:n}}function l(t,e,r,s,l){for(var c=s.makeCalcdata(e,"open"),u=s.makeCalcdata(e,"high"),h=s.makeCalcdata(e,"low"),f=s.makeCalcdata(e,"close"),p=Array.isArray(e.text),d=Array.isArray(e.hovertext),g=!0,v=null,m=[],y=0;y<r.length;y++){var x=r[y],b=c[y],_=u[y],w=h[y],k=f[y];if(x!==o&&b!==o&&_!==o&&w!==o&&k!==o){k===b?null!==v&&k!==v&&(g=k>v):g=k>b,v=k;var T=l(b,_,w,k);T.pos=x,T.yc=(b+k)/2,T.i=y,T.dir=g?"increasing":"decreasing",T.x=T.pos,T.y=[w,_],p&&(T.tx=e.text[y]),d&&(T.htx=e.hovertext[y]),m.push(T)}else m.push({pos:x,empty:!0})}return e._extremes[s._id]=i.findExtremes(s,n.concat(h,u),{padded:!0}),m.length&&(m[0].t={labels:{open:a(t,"open:")+" ",high:a(t,"high:")+" ",low:a(t,"low:")+" ",close:a(t,"close:")+" "}}),m}e.exports={calc:function(t,e){var r=i.getFromId(t,e.xaxis),a=i.getFromId(t,e.yaxis),o=function(t,e,r){var a=r._minDiff;if(!a){var i,o=t._fullData,s=[];for(a=1/0,i=0;i<o.length;i++){var l=o[i];if("ohlc"===l.type&&!0===l.visible&&l.xaxis===e._id){s.push(l);var c=e.makeCalcdata(l,"x");l._xcalc=c;var u=n.distinctVals(c).minDiff;u&&isFinite(u)&&(a=Math.min(a,u))}}for(a===1/0&&(a=1),i=0;i<s.length;i++)s[i]._minDiff=a}return a*r.tickwidth}(t,r,e),c=e._minDiff;e._minDiff=null;var u=e._xcalc;e._xcalc=null;var h=l(t,e,u,a,s);return e._extremes[r._id]=i.findExtremes(r,u,{vpad:c/2}),h.length?(n.extendFlat(h[0].t,{wHover:c/2,tickLen:o}),h):[{t:{empty:!0}}]},calcCommon:l}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764}],1066:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./ohlc_defaults"),i=t("./attributes");function o(t,e,r,n){r(n+".line.color"),r(n+".line.width",e.line.width),r(n+".line.dash",e.line.dash)}e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,i,r,a)}a(t,e,l,s)?(l("line.width"),l("line.dash"),o(t,e,l,"increasing"),o(t,e,l,"decreasing"),l("text"),l("hovertext"),l("tickwidth"),s._requestRangeslider[e.xaxis]=!0):e.visible=!1}},{"../../lib":716,"./attributes":1064,"./ohlc_defaults":1069}],1067:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib").fillText,l=t("../../constants/delta.js"),c={increasing:l.INCREASING.SYMBOL,decreasing:l.DECREASING.SYMBOL};function u(t,e,r,n){var a,s,l=t.cd,c=t.xa,u=l[0].trace,h=l[0].t,f=u.type,p="ohlc"===f?"l":"min",d="ohlc"===f?"h":"max",g=h.bPos||0,v=function(t){return t.pos+g-e},m=h.bdPos||h.tickLen,y=h.wHover,x=Math.min(1,m/Math.abs(c.r2c(c.range[1])-c.r2c(c.range[0])));function b(t){var e=v(t);return i.inbox(e-y,e+y,a)}function _(t){var e=t[p],n=t[d];return e===n||i.inbox(e-r,n-r,a)}function w(t){return(b(t)+_(t))/2}a=t.maxHoverDistance-x,s=t.maxSpikeDistance-x;var k=i.getDistanceFunction(n,b,_,w);if(i.getClosest(l,k,t),!1===t.index)return null;var T=l[t.index];if(T.empty)return null;var A=u[T.dir],M=A.line.color;return o.opacity(M)&&A.line.width?t.color=M:t.color=A.fillcolor,t.x0=c.c2p(T.pos+g-m,!0),t.x1=c.c2p(T.pos+g+m,!0),t.xLabelVal=T.pos,t.spikeDistance=w(T)*s/a,t.xSpike=c.c2p(T.pos,!0),t}function h(t,e,r,i){var o=t.cd,s=t.ya,l=o[0].trace,c=o[0].t,h=[],f=u(t,e,r,i);if(!f)return[];var p=o[f.index].hi||l.hoverinfo,d=p.split("+");if(!("all"===p||-1!==d.indexOf("y")))return[];for(var g=["high","open","close","low"],v={},m=0;m<g.length;m++){var y,x=g[m],b=l[x][f.index],_=s.c2p(b,!0);b in v?(y=v[b]).yLabel+="<br>"+c.labels[x]+n.hoverLabelText(s,b):((y=a.extendFlat({},f)).y0=y.y1=_,y.yLabelVal=b,y.yLabel=c.labels[x]+n.hoverLabelText(s,b),y.name="",h.push(y),v[b]=y)}return h}function f(t,e,r,a){var i=t.cd,o=t.ya,l=i[0].trace,h=i[0].t,f=u(t,e,r,a);if(!f)return[];var p=i[f.index],d=f.index=p.i,g=p.dir;function v(t){return h.labels[t]+n.hoverLabelText(o,l[t][d])}var m=p.hi||l.hoverinfo,y=m.split("+"),x="all"===m,b=x||-1!==y.indexOf("y"),_=x||-1!==y.indexOf("text"),w=b?[v("open"),v("high"),v("low"),v("close")+"  "+c[g]]:[];return _&&s(p,l,w),f.extraText=w.join("<br>"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}e.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},{"../../components/color":591,"../../components/fx":629,"../../constants/delta.js":686,"../../lib":716,"../../plots/cartesian/axes":764}],1068:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"ohlc",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","showLegend"],meta:{},attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc").calc,plot:t("./plot"),style:t("./style"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select")}},{"../../plots/cartesian":775,"./attributes":1064,"./calc":1065,"./defaults":1066,"./hover":1067,"./plot":1070,"./select":1071,"./style":1072}],1069:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib");e.exports=function(t,e,r,i){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],i),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,a.minRowLength(o))),e._length=h,h}}},{"../../lib":716,"../../registry":845}],1070:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib");e.exports=function(t,e,r,i){var o=e.xaxis,s=e.yaxis;a.makeTraceGroups(i,r,"trace ohlc").each(function(t){var e=n.select(this),r=t[0],i=r.t;if(!0!==r.trace.visible||i.empty)e.remove();else{var l=i.tickLen,c=e.selectAll("path").data(a.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",function(t){if(t.empty)return"M0,0Z";var e=o.c2p(t.pos,!0),r=o.c2p(t.pos-l,!0),n=o.c2p(t.pos+l,!0);return"M"+r+","+s.c2p(t.o,!0)+"H"+e+"M"+e+","+s.c2p(t.h,!0)+"V"+s.c2p(t.l,!0)+"M"+n+","+s.c2p(t.c,!0)+"H"+e})}})}},{"../../lib":716,d3:164}],1071:[function(t,e,r){"use strict";e.exports=function(t,e){var r,n=t.cd,a=t.xaxis,i=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r<n.length;r++)n[r].selected=0;else for(r=0;r<n.length;r++){var l=n[r];e.contains([a.c2p(l.pos+s),i.c2p(l.yc)],null,l.i,t)?(o.push({pointNumber:l.i,x:a.c2d(l.pos),y:i.c2d(l.yc)}),l.selected=1):l.selected=0}return o}},{}],1072:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color");e.exports=function(t,e,r){var o=r||n.select(t).selectAll("g.ohlclayer").selectAll("g.trace");o.style("opacity",function(t){return t[0].trace.opacity}),o.each(function(t){var e=t[0].trace;n.select(this).selectAll("path").each(function(t){if(!t.empty){var r=e[t.dir].line;n.select(this).style("fill","none").call(i.stroke,r.color).call(a.dashLine,r.dash,r.width).style("opacity",e.selectedpoints&&!t.selected?.3:1)}})})}},{"../../components/color":591,"../../components/drawing":612,d3:164}],1073:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat,a=t("../../plots/attributes"),i=t("../../plots/font_attributes"),o=t("../../components/colorscale/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/domain").attributes,c=n({editType:"calc"},o("line",{editTypeOverride:"calc"}),{shape:{valType:"enumerated",values:["linear","hspline"],dflt:"linear",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability"]})});e.exports={domain:l({name:"parcats",trace:!0,editType:"calc"}),hoverinfo:n({},a.hoverinfo,{flags:["count","probability"],editType:"plot",arrayOk:!1}),hoveron:{valType:"enumerated",values:["category","color","dimension"],dflt:"category",editType:"plot"},hovertemplate:s({editType:"plot",arrayOk:!1},{keys:["count","probability","category","categorycount","colorcount","bandcolorcount"]}),arrangement:{valType:"enumerated",values:["perpendicular","freeform","fixed"],dflt:"perpendicular",editType:"plot"},bundlecolors:{valType:"boolean",dflt:!0,editType:"plot"},sortpaths:{valType:"enumerated",values:["forward","backward"],dflt:"forward",editType:"plot"},labelfont:i({editType:"calc"}),tickfont:i({editType:"calc"}),dimensions:{_isLinkedToArray:"dimension",label:{valType:"string",editType:"calc"},categoryorder:{valType:"enumerated",values:["trace","category ascending","category descending","array"],dflt:"trace",editType:"calc"},categoryarray:{valType:"data_array",editType:"calc"},ticktext:{valType:"data_array",editType:"calc"},values:{valType:"data_array",dflt:[],editType:"calc"},displayindex:{valType:"integer",editType:"calc"},editType:"calc",visible:{valType:"boolean",dflt:!0,editType:"calc"}},line:c,counts:{valType:"number",min:0,dflt:1,arrayOk:!0,editType:"calc"},customdata:void 0,hoverlabel:void 0,ids:void 0,legendgroup:void 0,opacity:void 0,selectedpoints:void 0,showlegend:void 0}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1074:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,a=t("./plot");r.name="parcats",r.plot=function(t,e,r,i){var o=n(t.calcdata,"parcats");if(o.length){var s=o[0];a(t,s,r,i)}},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcats"),i=e._has&&e._has("parcats");a&&!i&&n._paperdiv.selectAll(".parcats").remove()}},{"../../plots/get_data":799,"./plot":1079}],1075:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/calc"),o=t("../../lib/filter_unique.js"),s=t("../../components/drawing"),l=t("../../lib");function c(t,e,r){t.valueInds.push(e),t.count+=r}function u(t,e,r){return{categoryInds:t,color:e,rawColor:r,valueInds:[],count:0}}function h(t,e,r){t.valueInds.push(e),t.count+=r}e.exports=function(t,e){var r=l.filterVisible(e.dimensions);if(0===r.length)return[];var f,p,d,g=r.map(function(t){var e;return"trace"===t.categoryorder?e=null:"array"===t.categoryorder?e=t.categoryarray:(e=o(t.values).sort(),"category descending"===t.categoryorder&&(e=e.reverse())),function(t,e){e=null==e?[]:e.map(function(t){return t});var r={},n={},a=[];e.forEach(function(t,e){r[t]=0,n[t]=e});for(var i=0;i<t.length;i++){var o,s=t[i];void 0===r[s]?(r[s]=1,o=e.push(s)-1,n[s]=o):(r[s]++,o=n[s]),a.push(o)}var l=e.map(function(t){return r[t]});return{uniqueValues:e,uniqueCounts:l,inds:a}}(t.values,e)});f=l.isArrayOrTypedArray(e.counts)?e.counts:[e.counts],function(t){var e;if(function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){if(t[r]<0||t[r]>=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(t.map(function(t){return t.displayindex})))for(e=0;e<t.length;e++)t[e]._displayindex=t[e].displayindex;else for(e=0;e<t.length;e++)t[e]._displayindex=e}(r),r.forEach(function(t,e){!function(t,e){t._categoryarray=e.uniqueValues,null===t.ticktext||void 0===t.ticktext?t._ticktext=[]:t._ticktext=t.ticktext.slice();for(var r=t._ticktext.length;r<e.uniqueValues.length;r++)t._ticktext.push(e.uniqueValues[r])}(t,g[e])});var v,m=e.line;m?(a(e,"line")&&i(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),v=s.tryColorscale(m)):v=l.identity;var y,x,b,_,w,k=r[0].values.length,T={},A=g.map(function(t){return t.inds});for(d=0,y=0;y<k;y++){var M=[];for(x=0;x<A.length;x++)M.push(A[x][y]);p=f[y%f.length],d+=p;var S=(b=y,_=void 0,w=void 0,l.isArrayOrTypedArray(m.color)?w=_=m.color[b%m.color.length]:_=m.color,{color:v(_),rawColor:w}),E=M+"-"+S.rawColor;void 0===T[E]&&(T[E]=u(M,S.color,S.rawColor)),h(T[E],y,p)}var L,C=r.map(function(t,e){return r=e,n=t._index,a=t._displayindex,i=t.label,{dimensionInd:r,containerInd:n,displayInd:a,dimensionLabel:i,count:d,categories:[],dragX:null};var r,n,a,i});for(y=0;y<k;y++)for(p=f[y%f.length],x=0;x<C.length;x++){var P=C[x].containerInd,O=g[x].inds[y],z=C[x].categories;if(void 0===z[O]){var I=e.dimensions[P]._categoryarray[O],D=e.dimensions[P]._ticktext[O];z[O]={dimensionInd:x,categoryInd:L=O,categoryValue:I,displayInd:L,categoryLabel:D,valueInds:[],count:0,dragY:null}}c(z[O],y,p)}return n(function(t,e,r){var n=t.map(function(t){return t.categories.length}).reduce(function(t,e){return Math.max(t,e)});return{dimensions:t,paths:e,trace:void 0,maxCats:n,count:r}}(C,T,d))}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"../../components/drawing":612,"../../lib":716,"../../lib/filter_unique.js":708,"../../lib/gup":714}],1076:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("./attributes"),c=t("../parcoords/merge_length");function u(t,e){function r(r,a){return n.coerce(t,e,l.dimensions,r,a)}var a=r("values"),i=r("visible");if(a&&a.length||(i=e.visible=!1),i){r("label"),r("displayindex",e._index);var o,s=t.categoryarray,c=Array.isArray(s)&&s.length>0;c&&(o="array");var u=r("categoryorder",o);"array"===u?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==u||(e.categoryorder="trace")}}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,l,r,a)}var p=s(t,e,{name:"dimensions",handleItemDefaults:u}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,h,f);o(e,h,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),f("hoveron"),f("hovertemplate"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var g={family:h.font.family,size:Math.round(h.font.size),color:h.font.color};n.coerceFont(f,"labelfont",g);var v={family:h.font.family,size:Math.round(h.font.size/1.2),color:h.font.color};n.coerceFont(f,"tickfont",v)}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/domain":789,"../parcoords/merge_length":1089,"./attributes":1073}],1077:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1073,"./base_plot":1074,"./calc":1075,"./defaults":1076,"./plot":1079}],1078:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plot_api/plot_api"),i=t("../../components/fx"),o=t("../../lib"),s=t("../../components/drawing"),l=t("tinycolor2"),c=t("../../lib/svg_text_utils");function u(t,e,r,a){var i=t.map(function(t,e,r){var n,a=r[0],i=e.margin||{l:80,r:80,t:100,b:80},o=a.trace,s=o.domain,l=e.width,c=e.height,u=Math.floor(l*(s.x[1]-s.x[0])),h=Math.floor(c*(s.y[1]-s.y[0])),f=s.x[0]*l+i.l,p=e.height-s.y[1]*e.height+i.t,d=o.line.shape;n="all"===o.hoverinfo?["count","probability"]:(o.hoverinfo||"").split("+");var g={trace:o,key:o.uid,model:a,x:f,y:p,width:u,height:h,hoveron:o.hoveron,hoverinfoItems:n,arrangement:o.arrangement,bundlecolors:o.bundlecolors,sortpaths:o.sortpaths,labelfont:o.labelfont,categorylabelfont:o.tickfont,pathShape:d,dragDimension:null,margin:i,paths:[],dimensions:[],graphDiv:t,traceSelection:null,pathSelection:null,dimensionSelection:null};a.dimensions&&(F(g),R(g));return g}.bind(0,e,r)),l=a.selectAll("g.parcatslayer").data([null]);l.enter().append("g").attr("class","parcatslayer").style("pointer-events","all");var u=l.selectAll("g.trace.parcats").data(i,h),v=u.enter().append("g").attr("class","trace parcats");u.attr("transform",function(t){return"translate("+t.x+", "+t.y+")"}),v.append("g").attr("class","paths");var m=u.select("g.paths").selectAll("path.path").data(function(t){return t.paths},h);m.attr("fill",function(t){return t.model.color});var b=m.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",function(t){return t.model.color}).attr("fill-opacity",0);x(b),m.attr("d",function(t){return t.svgD}),b.empty()||m.sort(p),m.exit().remove(),m.on("mouseover",d).on("mouseout",g).on("click",y),v.append("g").attr("class","dimensions");var k=u.select("g.dimensions").selectAll("g.dimension").data(function(t){return t.dimensions},h);k.enter().append("g").attr("class","dimension"),k.attr("transform",function(t){return"translate("+t.x+", 0)"}),k.exit().remove();var T=k.selectAll("g.category").data(function(t){return t.categories},h),A=T.enter().append("g").attr("class","category");T.attr("transform",function(t){return"translate(0, "+t.y+")"}),A.append("rect").attr("class","catrect").attr("pointer-events","none"),T.select("rect.catrect").attr("fill","none").attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),_(A);var M=T.selectAll("rect.bandrect").data(function(t){return t.bands},h);M.each(function(){o.raiseToTop(this)}),M.attr("fill",function(t){return t.color});var O=M.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);M.attr("fill",function(t){return t.color}).attr("width",function(t){return t.width}).attr("height",function(t){return t.height}).attr("y",function(t){return t.y}).attr("cursor",function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"}),w(O),M.exit().remove(),A.append("text").attr("class","catlabel").attr("pointer-events","none");var z=e._fullLayout.paper_bgcolor;T.select("text.catlabel").attr("text-anchor",function(t){return f(t)?"start":"end"}).attr("alignment-baseline","middle").style("text-shadow",z+" -1px  1px 2px, "+z+" 1px  1px 2px, "+z+"  1px -1px 2px, "+z+" -1px -1px 2px").style("fill","rgb(0, 0, 0)").attr("x",function(t){return f(t)?t.width+5:-5}).attr("y",function(t){return t.height/2}).text(function(t){return t.model.categoryLabel}).each(function(t){s.font(n.select(this),t.parcatsViewModel.categorylabelfont),c.convertToTspans(n.select(this),e)}),A.append("text").attr("class","dimlabel"),T.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"}).attr("x",function(t){return t.width/2}).attr("y",-5).text(function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null}).each(function(t){s.font(n.select(this),t.parcatsViewModel.labelfont)}),T.selectAll("rect.bandrect").on("mouseover",S).on("mouseout",E),T.exit().remove(),k.call(n.behavior.drag().origin(function(t){return{x:t.x,y:0}}).on("dragstart",L).on("drag",C).on("dragend",P)),u.each(function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")}),u.exit().remove()}function h(t){return t.key}function f(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function p(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor<e.model.rawColor?-1:0}function d(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){o.raiseToTop(this),b(n.select(this));var e=v(t),r=m(t);if(t.parcatsViewModel.graphDiv.emit("plotly_hover",{points:e,event:n.event,constraints:r}),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")){var a,s,c,u=n.mouse(this)[0],h=t.parcatsViewModel.graphDiv,f=t.parcatsViewModel.trace,p=h._fullLayout,d=p._paperdiv.node().getBoundingClientRect(),g=t.parcatsViewModel.graphDiv.getBoundingClientRect();for(c=0;c<t.leftXs.length-1;c++)if(t.leftXs[c]+t.dimWidths[c]-2<=u&&u<=t.leftXs[c+1]+2){var y=t.parcatsViewModel.dimensions[c],x=t.parcatsViewModel.dimensions[c+1];a=(y.x+y.width+x.x)/2,s=(t.topYs[c]+t.topYs[c+1]+t.height)/2;break}var _=t.parcatsViewModel.x+a,w=t.parcatsViewModel.y+s,k=l.mostReadable(t.model.color,["black","white"]),T=t.model.count,A=T/t.parcatsViewModel.model.count,M={countLabel:T,probabilityLabel:A.toFixed(3)},S=[];-1!==t.parcatsViewModel.hoverinfoItems.indexOf("count")&&S.push(["Count:",M.countLabel].join(" ")),-1!==t.parcatsViewModel.hoverinfoItems.indexOf("probability")&&S.push(["P:",M.probabilityLabel].join(" "));var E=S.join("<br>"),L=n.mouse(h)[0];i.loneHover({trace:f,x:_-d.left+g.left,y:w-d.top+g.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:k,idealAlign:L<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:T,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function g(t){if(!t.parcatsViewModel.dragDimension&&(x(n.select(this)),i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(p),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=m(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=O(t.parcatsViewModel),n=0;n<t.model.valueInds.length;n++){var a=t.model.valueInds[n];e.push({curveNumber:r,pointNumber:a})}return e}function m(t){for(var e={},r=t.parcatsViewModel.model.dimensions,n=0;n<r.length;n++){var a=r[n],i=a.categories[t.model.categoryInds[n]];e[a.containerInd]=i.categoryValue}return void 0!==t.model.rawColor&&(e.color=t.model.rawColor),e}function y(t){if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){var e=v(t),r=m(t);t.parcatsViewModel.graphDiv.emit("plotly_click",{points:e,event:n.event,constraints:r})}}function x(t){t.attr("fill",function(t){return t.model.color}).attr("fill-opacity",.6).attr("stroke","lightgray").attr("stroke-width",.2).attr("stroke-opacity",1)}function b(t){t.attr("fill-opacity",.8).attr("stroke",function(t){return l.mostReadable(t.model.color,["black","white"])}).attr("stroke-width",.3)}function _(t){t.select("rect.catrect").attr("stroke","black").attr("stroke-width",1).attr("stroke-opacity",1)}function w(t){t.attr("stroke","black").attr("stroke-width",.2).attr("stroke-opacity",1).attr("fill-opacity",1)}function k(t){var e=t.parcatsViewModel.pathSelection,r=t.categoryViewModel.model.dimensionInd,n=t.categoryViewModel.model.categoryInd;return e.filter(function(e){return e.model.categoryInds[r]===n&&e.model.color===t.color})}function T(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=n.select(t.parentNode).selectAll("rect.bandrect"),l=[];s.each(function(t){k(t).each(function(t){Array.prototype.push.apply(l,v(t))})});var c={};c[i.dimensionInd]=i.categoryValue,o.emit(e,{points:l,event:r,constraints:c})}function A(t,e,r){var a=n.select(t).datum(),i=a.categoryViewModel.model,o=a.parcatsViewModel.graphDiv,s=k(a),l=[];s.each(function(t){Array.prototype.push.apply(l,v(t))});var c={};c[i.dimensionInd]=i.categoryValue,void 0!==a.rawColor&&(c.color=a.rawColor),o.emit(e,{points:l,event:r,constraints:c})}function M(t,e){var r,a,i=n.select(e.parentNode).select("rect.catrect"),o=i.node().getBoundingClientRect(),s=i.datum(),l=s.parcatsViewModel,c=l.model.dimensions[s.model.dimensionInd],u=l.trace,h=o.top+o.height/2;l.dimensions.length>1&&c.displayInd===l.dimensions.length-1?(r=o.left,a="left"):(r=o.left+o.width,a="right");var f=s.model.count,p=s.model.categoryLabel,d=f/s.parcatsViewModel.model.count,g={countLabel:f,categoryLabel:p,probabilityLabel:d.toFixed(3)},v=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&v.push(["Count:",g.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&v.push(["P("+g.categoryLabel+"):",g.probabilityLabel].join(" "));var m=v.join("<br>");return{trace:u,x:r-t.left,y:h-t.top,text:m,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:u.hovertemplate,hovertemplateLabels:g,eventData:[{data:u._input,fullData:u,count:f,category:p,probability:d}]}}function S(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,a=r._fullLayout,s=a._paperdiv.node().getBoundingClientRect(),c=t.parcatsViewModel.hoveron;if("color"===c?(!function(t){var e=n.select(t).datum(),r=k(e);b(r),r.each(function(){o.raiseToTop(this)}),n.select(t.parentNode).selectAll("rect.bandrect").filter(function(t){return t.color===e.color}).each(function(){o.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)})}(this),A(this,"plotly_hover",n.event)):(!function(t){n.select(t.parentNode).selectAll("rect.bandrect").each(function(t){var e=k(t);b(e),e.each(function(){o.raiseToTop(this)})}),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(this),T(this,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none"))"category"===c?e=M(s,this):"color"===c?e=function(t,e){var r,a,i=e.getBoundingClientRect(),o=n.select(e).datum(),s=o.categoryViewModel,c=s.parcatsViewModel,u=c.model.dimensions[s.model.dimensionInd],h=c.trace,f=i.y+i.height/2;c.dimensions.length>1&&u.displayInd===c.dimensions.length-1?(r=i.left,a="left"):(r=i.left+i.width,a="right");var p=s.model.categoryLabel,d=o.parcatsViewModel.model.count,g=0;o.categoryViewModel.bands.forEach(function(t){t.color===o.color&&(g+=t.count)});var v=s.model.count,m=0;c.pathSelection.each(function(t){t.model.color===o.color&&(m+=t.model.count)});var y=g/d,x=g/m,b=g/v,_={countLabel:d,categoryLabel:p,probabilityLabel:y.toFixed(3)},w=[];-1!==s.parcatsViewModel.hoverinfoItems.indexOf("count")&&w.push(["Count:",_.countLabel].join(" ")),-1!==s.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(w.push("P(color \u2229 "+p+"): "+_.probabilityLabel),w.push("P("+p+" | color): "+x.toFixed(3)),w.push("P(color | "+p+"): "+b.toFixed(3)));var k=w.join("<br>"),T=l.mostReadable(o.color,["black","white"]);return{trace:h,x:r-t.left,y:f-t.top,text:k,color:o.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:T,fontSize:10,idealAlign:a,hovertemplate:h.hovertemplate,hovertemplateLabels:_,eventData:[{data:h._input,fullData:h,category:p,count:d,probability:y,categorycount:v,colorcount:m,bandcolorcount:g}]}}(s,this):"dimension"===c&&(e=function(t,e){var r=[];return n.select(e.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each(function(){r.push(M(t,this))}),r}(s,this)),e&&i.loneHover(e,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r})}}function E(t){var e=t.parcatsViewModel;if(!e.dragDimension&&(x(e.pathSelection),_(e.dimensionSelection.selectAll("g.category")),w(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),i.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(p),-1===e.hoverinfoItems.indexOf("skip"))){"color"===t.parcatsViewModel.hoveron?A(this,"plotly_unhover",n.event):T(this,"plotly_unhover",n.event)}}function L(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each(function(e){var r=n.mouse(this)[0],a=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=a&&a<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map(function(t){return t.displayInd}),e.model.dragY=e.y,o.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each(function(e){e.y<a&&a<=e.y+e.height&&(t.potentialClickBand=this)}))}),t.parcatsViewModel.dragDimension=t,i.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()))}function C(t){if("fixed"!==t.parcatsViewModel.arrangement&&(t.dragHasMoved=!0,null!==t.dragDimensionDisplayInd)){var e=t.dragDimensionDisplayInd,r=e-1,a=e+1,i=t.parcatsViewModel.dimensions[e];if(null!==t.dragCategoryDisplayInd){var o=i.categories[t.dragCategoryDisplayInd];o.model.dragY+=n.event.dy;var s=o.model.dragY,l=o.model.displayInd,c=i.categories,u=c[l-1],h=c[l+1];void 0!==u&&s<u.y+u.height/2&&(o.model.displayInd=u.model.displayInd,u.model.displayInd=l),void 0!==h&&s+o.height>h.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){i.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[a];void 0!==f&&i.model.dragX<f.x+f.width&&(i.model.displayInd=f.model.displayInd,f.model.displayInd=e),void 0!==p&&i.model.dragX+i.width>p.x&&(i.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=i.model.displayInd}F(t.parcatsViewModel),R(t.parcatsViewModel),I(t.parcatsViewModel),z(t.parcatsViewModel)}}function P(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=O(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map(function(t){return t.displayInd}),o=t.initialDragDimensionDisplayInds.some(function(t,e){return t!==i[e]});o&&i.forEach(function(r,n){var a=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+a+"].displayindex"]=r});var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map(function(t){return t.displayInd});if(s=t.initialDragCategoryDisplayInds.some(function(t,e){return t!==l[e]})){var c=t.model.categories.slice().sort(function(t,e){return t.displayInd-e.displayInd}),u=c.map(function(t){return t.categoryValue}),h=c.map(function(t){return t.categoryLabel});e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[h],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}if(-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?A(t.potentialClickBand,"plotly_click",n.event.sourceEvent):T(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd)t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null;t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,F(t.parcatsViewModel),R(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each(function(){I(t.parcatsViewModel,!0),z(t.parcatsViewModel,!0)}).each("end",function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])})}}function O(t){for(var e,r=t.graphDiv._fullData,n=0;n<r.length;n++)if(t.key===r[n].uid){e=n;break}return e}function z(t,e){var r;void 0===e&&(e=!1),t.pathSelection.data(function(t){return t.paths},h),(r=t.pathSelection,e?r.transition():r).attr("d",function(t){return t.svgD})}function I(t,e){function r(t){return e?t.transition():t}void 0===e&&(e=!1),t.dimensionSelection.data(function(t){return t.dimensions},h);var a=t.dimensionSelection.selectAll("g.category").data(function(t){return t.categories},h);r(t.dimensionSelection).attr("transform",function(t){return"translate("+t.x+", 0)"}),r(a).attr("transform",function(t){return"translate(0, "+t.y+")"}),a.select(".dimlabel").text(function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null}),a.select(".catlabel").attr("text-anchor",function(t){return f(t)?"start":"end"}).attr("x",function(t){return f(t)?t.width+5:-5}).each(function(t){var e,r;f(t)?(e=t.width+5,r="start"):(e=-5,r="end"),n.select(this).selectAll("tspan").attr("x",e).attr("text-anchor",r)});var i=a.selectAll("rect.bandrect").data(function(t){return t.bands},h),s=i.enter().append("rect").attr("class","bandrect").attr("cursor","move").attr("stroke-opacity",0).attr("fill",function(t){return t.color}).attr("fill-opacity",0);i.attr("fill",function(t){return t.color}).attr("width",function(t){return t.width}).attr("height",function(t){return t.height}).attr("y",function(t){return t.y}),w(s),i.each(function(){o.raiseToTop(this)}),i.exit().remove()}function D(t,e,r,a,i){var o,s,l=[],c=[];for(s=0;s<r.length-1;s++)o=n.interpolateNumber(r[s]+t[s],t[s+1]),l.push(o(i)),c.push(o(1-i));var u="M "+t[0]+","+e[0];for(u+="l"+r[0]+",0 ",s=1;s<r.length;s++)u+="C"+l[s-1]+","+e[s-1]+" "+c[s-1]+","+e[s]+" "+t[s]+","+e[s],u+="l"+r[s]+",0 ";for(u+="l0,"+a+" ",u+="l -"+r[r.length-1]+",0 ",s=r.length-2;s>=0;s--)u+="C"+c[s]+","+(e[s+1]+a)+" "+l[s]+","+(e[s]+a)+" "+(t[s]+r[s])+","+(e[s]+a),u+="l-"+r[s]+",0 ";return u+="Z"}function R(t){var e=t.dimensions,r=t.model,n=e.map(function(t){return t.categories.map(function(t){return t.y})}),a=t.model.dimensions.map(function(t){return t.categories.map(function(t){return t.displayInd})}),i=t.model.dimensions.map(function(t){return t.displayInd}),o=t.dimensions.map(function(t){return t.model.dimensionInd}),s=e.map(function(t){return t.x}),l=e.map(function(t){return t.width}),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map(function(t,e){return a[e][t]});return o.map(function(t){return e[t]})}c.sort(function(e,r){var n=h(e),a=h(r);return"backward"===t.sortpaths&&(n.reverse(),a.reverse()),n.push(e.valueInds[0]),a.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),a.unshift(r.rawColor)),n<a?-1:n>a?1:0});for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map(function(t){return t.height}).reduce(function(t,e){return t+e}),g=0;g<c.length;g++){var v,m=c[g];v=p>0?d*(m.count/p):0;for(var y,x=new Array(n.length),b=0;b<m.categoryInds.length;b++){var _=m.categoryInds[b],w=a[b][_],k=i[b];x[k]=n[k][w],n[k][w]+=v;var T=t.dimensions[k].categories[w],A=T.bands.length,M=T.bands[A-1];if(void 0===M||m.rawColor!==M.rawColor){var S=void 0===M?0:M.y+M.height;T.bands.push({key:S,color:m.color,rawColor:m.rawColor,height:v,width:T.width,count:m.count,y:S,categoryViewModel:T,parcatsViewModel:t})}else{var E=T.bands[A-1];E.height+=v,E.count+=m.count}}y="hspline"===t.pathShape?D(s,x,l,v,.5):D(s,x,l,v,0),f[g]={key:m.valueInds[0],model:m,height:v,leftXs:s,topYs:x,dimWidths:l,svgD:y,parcatsViewModel:t}}t.paths=f}function F(t){var e=t.model.dimensions.map(function(t){return{displayInd:t.displayInd,dimensionInd:t.dimensionInd}});e.sort(function(t,e){return t.displayInd-e.displayInd});var r=[];for(var n in e){var a=e[n].dimensionInd,i=t.model.dimensions[a];r.push(B(t,i))}t.dimensions=r}function B(t,e){var r,n=t.model.dimensions.length,a=e.displayInd;r=40+(n>1?(t.width-80-16)/(n-1):0)*a;var i,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),g=8*(h-f)/2,v=e.categories.map(function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}});for(v.sort(function(t,e){return t.displayInd-e.displayInd}),c=0;c<f;c++)l=v[c].categoryInd,o=e.categories[l],i=p>0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:i,y:null!==o.dragY?o.dragY:g,bands:[],parcatsViewModel:t},g=g+i+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}e.exports=function(t,e,r,n){u(r,t,n,e)}},{"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plot_api/plot_api":751,d3:164,tinycolor2:535}],1079:[function(t,e,r){"use strict";var n=t("./parcats");e.exports=function(t,e,r,a){var i=t._fullLayout,o=i._paper,s=i._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,a)}},{"./parcats":1078}],1080:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/cartesian/layout_attributes"),i=t("../../plots/font_attributes"),o=t("../../plots/domain").attributes,s=t("../../lib/extend").extendFlat,l=t("../../plot_api/plot_template").templatedArray;e.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:i({editType:"plot"}),tickfont:i({editType:"plot"}),rangefont:i({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},a.tickvals,{editType:"plot"}),ticktext:s({},a.ticktext,{editType:"plot"}),tickformat:s({},a.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"}))}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/layout_attributes":776,"../../plots/domain":789,"../../plots/font_attributes":790}],1081:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup").keyFun,o=t("../../lib/gup").repeat,s=t("../../lib").sorterAsc,l=n.bar.snapRatio;function c(t,e){return t*(1-l)+e*l}var u=n.bar.snapClose;function h(t,e){return t*(1-u)+e*u}function f(t,e,r,n){if(function(t,e){for(var r=0;r<e.length;r++)if(t>=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var a=t?-1:1,i=0,o=e.length-1;if(a<0){var s=i;i=o,o=s}for(var l=e[i],u=l,f=i;a*f<a*o;f+=a){var p=f+a,d=e[p];if(a*r<a*h(l,d))return c(l,u);if(a*r<a*d||p===o)return c(d,l);u=l,l=d}}function p(t){t.attr("x",-n.bar.captureWidth/2).attr("width",n.bar.captureWidth)}function d(t){t.attr("visibility","visible").style("visibility","visible").attr("fill","yellow").attr("opacity",0)}function g(t){if(!t.brush.filterSpecified)return"0,"+t.height;for(var e,r,n,a=v(t.brush.filter.getConsolidated(),t.height),i=[0],o=a.length?a[0][0]:null,s=0;s<a.length;s++)r=(e=a[s])[1]-e[0],i.push(o),i.push(r),(n=s+1)<a.length&&(o=a[n][0]-e[1]);return i.push(t.height),i}function v(t,e){return t.map(function(t){return t.map(function(t){return Math.max(0,t*e)}).sort(s)})}function m(){a.select(document.body).style("cursor",null)}function y(t){t.attr("stroke-dasharray",g)}function x(t,e){var r=a.select(t).selectAll(".highlight, .highlight-shadow");y(e?r.transition().duration(n.bar.snapDuration).each("end",e):r)}function b(t,e){var r,a=t.brush,i=NaN,o={};if(a.filterSpecified){var s=t.height,l=a.filter.getConsolidated(),c=v(l,s),u=NaN,h=NaN,f=NaN;for(r=0;r<=c.length;r++){var p=c[r];if(p&&p[0]<=e&&e<=p[1]){u=r;break}if(h=r?r-1:NaN,p&&p[0]>e){f=r;break}}if(i=u,isNaN(i)&&(i=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]<c[f][0]-e?h:f),!isNaN(i)){var d=c[i],g=function(t,e){var r=n.bar.handleHeight;if(!(e>t[1]+r||e<t[0]-r))return e>=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);g&&(o.interval=l[i],o.intervalPix=d,o.region=g)}}if(t.ordinal&&!o.region){var m=t.unitTickvals,y=t.unitToPaddedPx.invert(e);for(r=0;r<m.length;r++){var x=[.25*m[Math.max(r-1,0)]+.75*m[r],.25*m[Math.min(r+1,m.length-1)]+.75*m[r]];if(y>=x[0]&&y<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function _(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.brush.svgBrush;i.wasDragged=!0,i._dragging=!0,i.grabbingBar?i.newExtent=[r-i.grabPoint,r+i.barLength-i.grabPoint].map(e.unitToPaddedPx.invert):i.newExtent=[i.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,i.extent=i.stayingIntervals.concat([i.newExtent]),i.brushCallback(e),x(t.parentNode)}function w(t,e){var r=b(e,e.height-a.mouse(t)[1]-2*n.verticalPadding),i="crosshair";r.clickableOrdinalRange?i="pointer":r.region&&(i=r.region+"-resize"),a.select(document.body).style("cursor",i)}function k(t){t.on("mousemove",function(t){a.event.preventDefault(),t.parent.inBrushDrag||w(this,t)}).on("mouseleave",function(t){t.parent.inBrushDrag||m()}).call(a.behavior.drag().on("dragstart",function(t){!function(t,e){a.event.sourceEvent.stopPropagation();var r=e.height-a.mouse(t)[1]-2*n.verticalPadding,i=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter(function(t){return t[0]!==l[0]&&t[1]!==l[1]})),c.startExtent=s.region?l["s"===s.region?1:0]:i,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)}).on("drag",function(t){_(this,t)}).on("dragend",function(t){!function(t,e){var r=e.brush,n=r.filter,i=r.svgBrush;i._dragging||(w(t,e),_(t,e),e.brush.svgBrush.wasDragged=!1),i._dragging=!1,a.event.sourceEvent.stopPropagation();var o=i.grabbingBar;if(i.grabbingBar=!1,i.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!i.wasDragged)return i.wasDragged=void 0,i.clickableOrdinalRange?r.filterSpecified&&e.multiselect?i.extent.push(i.clickableOrdinalRange):(i.extent=[i.clickableOrdinalRange],r.filterSpecified=!0):o?(i.extent=i.stayingIntervals,0===i.extent.length&&A(r)):A(r),i.brushCallback(e),x(t.parentNode),void i.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]<l[0]&&l.reverse(),i.newExtent=[f(0,l,i.newExtent[0],i.stayingIntervals),f(1,l,i.newExtent[1],i.stayingIntervals)];var c=i.newExtent[1]>i.newExtent[0];i.extent=i.stayingIntervals.concat(c?[i.newExtent]:[]),i.extent.length||A(r),i.brushCallback(e),c?x(t.parentNode,s):(s(),x(t.parentNode))}else s();i.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)}))}function T(t,e){return t[0]-e[0]}function A(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function M(t){for(var e,r=t.slice(),n=[],a=r.shift();a;){for(e=a.slice();(a=r.shift())&&a[0]<=e[1];)e[1]=Math.max(e[1],a[1]);n.push(e)}return n}e.exports={makeBrush:function(t,e,r,n,a,i){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map(function(t){return t.slice().sort(s)}).sort(T)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=M(r),e=r.reduce(function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]},[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=a,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map(function(t){return t.slice()})}(e).slice();e.filter.set(r),o()}),brushEndCallback:i}}},ensureAxisBrush:function(t){var e=t.selectAll("."+n.cn.axisBrush).data(o,i);e.enter().append("g").classed(n.cn.axisBrush,!0),function(t){var e=t.selectAll(".background").data(o);e.enter().append("rect").classed("background",!0).call(p).call(d).style("pointer-events","auto").attr("transform","translate(0 "+n.verticalPadding+")"),e.call(k).attr("height",function(t){return t.height-n.verticalPadding});var r=t.selectAll(".highlight-shadow").data(o);r.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",n.bar.strokeColor).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),r.attr("y1",function(t){return t.height}).call(y);var a=t.selectAll(".highlight").data(o);a.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),a.attr("y1",function(t){return t.height}).call(y)}(e)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map(function(t){return t.sort(s)}),t=e.multiselect?M(t.sort(T)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map(function(t){var e=[f(0,r,t[0],[]),f(1,r,t[1],[])];if(e[1]>e[0])return e}).filter(function(t){return t})).length)return}return t.length>1?t:t[0]}}},{"../../lib":716,"../../lib/gup":714,"./constants":1084,d3:164}],1082:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../constants/xmlns_namespaces");r.name="parcoords",r.plot=function(t){var e=a(t.calcdata,"parcoords")[0];e.length&&i(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("parcoords"),i=e._has&&e._has("parcoords");a&&!i&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},r.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter(function(t,e){return e===r.size()-1}).selectAll(".gl-canvas-context, .gl-canvas-focus").each(function(){var t=this.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":t,preserveAspectRatio:"none",x:0,y:0,width:this.width,height:this.height})}),window.setTimeout(function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")},60)}},{"../../constants/xmlns_namespaces":693,"../../plots/get_data":799,"./plot":1091,d3:164}],1083:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale"),i=t("../../lib/gup").wrap;e.exports=function(t,e){var r,o;return a.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=a.extractOpts(e.line).colorscale,a.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=.5;return e}(e._length),o=[[0,e.line.color],[1,e.line.color]]),i({lineColor:r,cscale:o})}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gup":714}],1084:[function(t,e,r){"use strict";e.exports={maxDimensionCount:60,overdrag:45,verticalPadding:2,tickDistance:50,canvasPixelRatio:1,blockLineCount:5e3,layers:["contextLineLayer","focusLineLayer","pickLineLayer"],axisTitleOffset:28,axisExtentOffset:10,deselectedLineColor:"#777",bar:{width:4,captureWidth:10,fillColor:"magenta",fillOpacity:1,snapDuration:150,snapRatio:.25,snapClose:.01,strokeColor:"white",strokeOpacity:1,strokeWidth:1,handleHeight:8,handleOpacity:1,handleOverlap:0},cn:{axisExtentText:"axis-extent-text",parcoordsLineLayers:"parcoords-line-layers",parcoordsLineLayer:"parcoords-lines",parcoords:"parcoords",parcoordsControlView:"parcoords-control-view",yAxis:"y-axis",axisOverlays:"axis-overlays",axis:"axis",axisHeading:"axis-heading",axisTitle:"axis-title",axisExtent:"axis-extent",axisExtentTop:"axis-extent-top",axisExtentTopText:"axis-extent-top-text",axisExtentBottom:"axis-extent-bottom",axisExtentBottomText:"axis-extent-bottom-text",axisBrush:"axis-brush"},id:{filterBarPattern:"filter-bar-pattern"}}},{}],1085:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("../../plots/domain").defaults,s=t("../../plots/array_container_defaults"),l=t("../../plots/cartesian/axes"),c=t("./attributes"),u=t("./axisbrush"),h=t("./constants").maxDimensionCount,f=t("./merge_length");function p(t,e,r,a){function i(r,a){return n.coerce(t,e,c.dimensions,r,a)}var o=i("values"),s=i("visible");if(o&&o.length||(s=e.visible=!1),s){i("label"),i("tickvals"),i("ticktext"),i("tickformat");var h=i("range");e._ax={_id:"y",type:"linear",showexponent:"all",exponentformat:"B",range:h},l.setConvert(e._ax,a.layout),i("multiselect");var f=i("constraintrange");f&&(e.constraintrange=u.cleanRanges(f,e))}}e.exports=function(t,e,r,l){function u(r,a){return n.coerce(t,e,c,r,a)}var d=t.dimensions;Array.isArray(d)&&d.length>h&&(n.log("parcoords traces support up to "+h+" dimensions at the moment"),d.splice(h));var g=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),v=function(t,e,r,o,s){var l=s("line.color",r);if(a(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),i(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(g)&&g.length||(e.visible=!1),f(e,g,"values",v);var m={family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(u,"labelfont",m),n.coerceFont(u,"tickfont",m),n.coerceFont(u,"rangefont",m),u("labelangle"),u("labelside")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716,"../../plots/array_container_defaults":760,"../../plots/cartesian/axes":764,"../../plots/domain":789,"./attributes":1080,"./axisbrush":1081,"./constants":1084,"./merge_length":1089}],1086:[function(t,e,r){"use strict";var n=t("../../lib").isTypedArray;r.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},r.isOrdinal=function(t){return!!t.tickvals},r.isVisible=function(t){return t.visible||!("visible"in t)}},{"../../lib":716}],1087:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:t("./base_plot"),categories:["gl","regl","noOpacity","noHover"],meta:{}}},{"./attributes":1080,"./base_plot":1082,"./calc":1083,"./defaults":1085,"./plot":1091}],1088:[function(t,e,r){"use strict";var n=t("glslify"),a=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nattribute vec4 p01_04, p05_08, p09_12, p13_16,\n               p17_20, p21_24, p25_28, p29_32,\n               p33_36, p37_40, p41_44, p45_48,\n               p49_52, p53_56, p57_60, colors;\n\nuniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,\n             loA, hiA, loB, hiB, loC, hiC, loD, hiD;\n\nuniform vec2 resolution, viewBoxPos, viewBoxSize;\nuniform sampler2D mask, palette;\nuniform float maskHeight;\nuniform float drwLayer; // 0: context, 1: focus, 2: pick\nuniform vec4 contextColor;\n\nbool isPick    = (drwLayer > 1.5);\nbool isContext = (drwLayer < 0.5);\n\nconst vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);\nconst vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);\n\nfloat val(mat4 p, mat4 v) {\n    return dot(matrixCompMult(p, v) * UNITS, UNITS);\n}\n\nfloat axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);\n    float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);\n    return y1 * (1.0 - ratio) + y2 * ratio;\n}\n\nint iMod(int a, int b) {\n    return a - b * (a / b);\n}\n\nbool fOutside(float p, float lo, float hi) {\n    return (lo < hi) && (lo > p || p > hi);\n}\n\nbool vOutside(vec4 p, vec4 lo, vec4 hi) {\n    return (\n        fOutside(p[0], lo[0], hi[0]) ||\n        fOutside(p[1], lo[1], hi[1]) ||\n        fOutside(p[2], lo[2], hi[2]) ||\n        fOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool mOutside(mat4 p, mat4 lo, mat4 hi) {\n    return (\n        vOutside(p[0], lo[0], hi[0]) ||\n        vOutside(p[1], lo[1], hi[1]) ||\n        vOutside(p[2], lo[2], hi[2]) ||\n        vOutside(p[3], lo[3], hi[3])\n    );\n}\n\nbool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {\n    return mOutside(A, loA, hiA) ||\n           mOutside(B, loB, hiB) ||\n           mOutside(C, loC, hiC) ||\n           mOutside(D, loD, hiD);\n}\n\nbool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {\n    mat4 pnts[4];\n    pnts[0] = A;\n    pnts[1] = B;\n    pnts[2] = C;\n    pnts[3] = D;\n\n    for(int i = 0; i < 4; ++i) {\n        for(int j = 0; j < 4; ++j) {\n            for(int k = 0; k < 4; ++k) {\n                if(0 == iMod(\n                    int(255.0 * texture2D(mask,\n                        vec2(\n                            (float(i * 2 + j / 2) + 0.5) / 8.0,\n                            (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight\n                        ))[3]\n                    ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),\n                    2\n                )) return true;\n            }\n        }\n    }\n    return false;\n}\n\nvec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {\n    float x = 0.5 * sign(v) + 0.5;\n    float y = axisY(x, A, B, C, D);\n    float z = 1.0 - abs(v);\n\n    z += isContext ? 0.0 : 2.0 * float(\n        outsideBoundingBox(A, B, C, D) ||\n        outsideRasterMask(A, B, C, D)\n    );\n\n    return vec4(\n        2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,\n        z,\n        1.0\n    );\n}\n\nvoid main() {\n    mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);\n    mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);\n    mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);\n    mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);\n\n    float v = colors[3];\n\n    gl_Position = position(isContext, v, A, B, C, D);\n\n    fragColor =\n        isContext ? vec4(contextColor) :\n        isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));\n}\n"]),i=n(["precision highp float;\n#define GLSLIFY 1\n\nvarying vec4 fragColor;\n\nvoid main() {\n    gl_FragColor = fragColor;\n}\n"]),o=t("./constants").maxDimensionCount,s=t("../../lib"),l=1e-6,c=2048,u=new Uint8Array(4),h=new Uint8Array(4),f={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function p(t,e,r,n,a){var i=t._gl;i.enable(i.SCISSOR_TEST),i.scissor(e,r,n,a),t.clear({color:[0,0,0,0],depth:1})}function d(t,e,r,n,a,i){var o=i.key;r.drawCompleted||(!function(t){t.read({x:0,y:0,width:1,height:1,data:u})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,a-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],p(t,i.scissorX,i.scissorY,i.scissorWidth,i.viewBoxSize[1])),r.clearOnly||(i.count=2*c,i.offset=2*l*n,e(i),l*n+c<a&&(r.currentRafs[o]=window.requestAnimationFrame(function(){s(l+1)})),r.drawCompleted=!1)}(0)}function g(t,e){return(t>>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),a=0,i=0;i<e;i++)for(var o=0;o<2;o++)for(var s=0;s<4;s++){var l=4*t+s,c=r[64*i+l];63===l&&0===o&&(c*=-1),n[a++]=c}return n}function m(t){var e="0"+t;return e.substr(e.length-2)}function y(t){return t<o?"p"+m(t+1)+"_"+m(t+4):"colors"}function x(t,e,r,n,a,i,o,l,c,u,h,f,p){for(var d=[[],[]],g=0;g<64;g++)d[0][g]=g===a?1:0,d[1][g]=g===i?1:0;var v=t.lines.canvasOverdrag,m=t.domain,y=t.canvasWidth,x=t.canvasHeight,b=t.deselectedLines.color;return s.extendFlat({key:h,resolution:[y,x],viewBoxPos:[o+v,l],viewBoxSize:[c,u],i0:a,i1:i,dim0A:d[0].slice(0,16),dim0B:d[0].slice(16,32),dim0C:d[0].slice(32,48),dim0D:d[0].slice(48,64),dim1A:d[1].slice(0,16),dim1B:d[1].slice(16,32),dim1C:d[1].slice(32,48),dim1D:d[1].slice(48,64),drwLayer:f,contextColor:[b[0]/255,b[1]/255,b[2]/255,b[3]<1?b[3]:Math.max(1/255,Math.pow(1/t.lines.color.length,1/3))],scissorX:(n===e?0:o+v)+(t.pad.l-v)+t.layoutWidth*m.x[0],scissorWidth:(n===r?y-o+v:c+.5)+(n===e?o+v:0),scissorY:l+t.pad.b+t.layoutHeight*m.y[0],scissorHeight:u,viewportX:t.pad.l-v+t.layoutWidth*m.x[0],viewportY:t.pad.b+t.layoutHeight*m.y[0],viewportWidth:y,viewportHeight:x},p)}function b(t){var e=c-1,r=Math.max(0,Math.floor(t[0]*e),0),n=Math.min(e,Math.ceil(t[1]*e),e);return[Math.min(r,n),Math.max(r,n)]}e.exports=function(t,e){var r,n,u,m,_,w=e.context,k=e.pick,T=e.regl,A={currentRafs:{},drawCompleted:!0,clearOnly:!1},M=function(t){for(var e={},r=0;r<=o;r+=4)e[y(r)]=t.buffer({usage:"dynamic",type:"float",data:new Uint8Array(0)});return e}(T),S=T.texture(f),E=[];C(e);var L=T({profile:!1,blend:{enable:w,func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:1,dstAlpha:1},equation:{rgb:"add",alpha:"add"},color:[0,0,0,0]},depth:{enable:!w,mask:!0,func:"less",range:[0,1]},cull:{enable:!0,face:"back"},scissor:{enable:!0,box:{x:T.prop("scissorX"),y:T.prop("scissorY"),width:T.prop("scissorWidth"),height:T.prop("scissorHeight")}},viewport:{x:T.prop("viewportX"),y:T.prop("viewportY"),width:T.prop("viewportWidth"),height:T.prop("viewportHeight")},dither:!1,vert:a,frag:i,primitive:"lines",lineWidth:1,attributes:M,uniforms:{resolution:T.prop("resolution"),viewBoxPos:T.prop("viewBoxPos"),viewBoxSize:T.prop("viewBoxSize"),dim0A:T.prop("dim0A"),dim1A:T.prop("dim1A"),dim0B:T.prop("dim0B"),dim1B:T.prop("dim1B"),dim0C:T.prop("dim0C"),dim1C:T.prop("dim1C"),dim0D:T.prop("dim0D"),dim1D:T.prop("dim1D"),loA:T.prop("loA"),hiA:T.prop("hiA"),loB:T.prop("loB"),hiB:T.prop("hiB"),loC:T.prop("loC"),hiC:T.prop("hiC"),loD:T.prop("loD"),hiD:T.prop("hiD"),palette:S,contextColor:T.prop("contextColor"),mask:T.prop("maskTexture"),drwLayer:T.prop("drwLayer"),maskHeight:T.prop("maskHeight")},offset:T.prop("offset"),count:T.prop("count")});function C(t){r=t.model,n=t.viewModel,u=n.dimensions.slice(),m=u[0]?u[0].values.length:0;var e=r.lines,a=k?e.color.map(function(t,r){return r/e.color.length}):e.color,i=function(t,e,r){for(var n,a=new Array(t*(o+4)),i=0,s=0;s<t;s++){for(var c=0;c<o;c++)a[i++]=c<e.length?e[c].paddedUnitValues[s]:.5;a[i++]=g(s,2),a[i++]=g(s,1),a[i++]=g(s,0),a[i++]=(n=r[s],Math.max(l,Math.min(1-l,n)))}return a}(m,u,a);!function(t,e,r){for(var n=0;n<=o;n+=4)t[y(n)](v(n/4,e,r))}(M,m,i),w||k||(S=T.texture(s.extendFlat({data:function(t,e){for(var r=new Array(256),n=0;n<256;n++)r[n]=t(n/255).concat(e);return r}(r.unitToColor,255)},f)))}return{render:function(t,e,n){var a,i,o,s=t.length,l=1/0,h=-1/0;for(a=0;a<s;a++)t[a].dim0.canvasX<l&&(l=t[a].dim0.canvasX,i=a),t[a].dim1.canvasX>h&&(h=t[a].dim1.canvasX,o=a);0===s&&p(T,0,0,r.canvasWidth,r.canvasHeight);var f=function(t){var e,r,n,a=[[],[]];for(n=0;n<64;n++){var i=!t&&n<u.length?u[n].brush.filter.getBounds():[-1/0,1/0];a[0][n]=i[0],a[1][n]=i[1]}var o=8*c,s=new Array(o);for(e=0;e<o;e++)s[e]=255;if(!t)for(e=0;e<u.length;e++){var l=e%8,h=(e-l)/8,f=Math.pow(2,l),p=u[e].brush.filter.get();if(!(p.length<2)){var d=b(p[0])[1];for(r=1;r<p.length;r++){var g=b(p[r]);for(n=d+1;n<g[0];n++)s[8*n+h]&=~f;d=Math.max(d,g[1])}}}var v={shape:[8,c],format:"alpha",type:"uint8",mag:"nearest",min:"nearest",data:s};return _?_(v):_=T.texture(v),{maskTexture:_,maskHeight:c,loA:a[0].slice(0,16),loB:a[0].slice(16,32),loC:a[0].slice(32,48),loD:a[0].slice(48,64),hiA:a[1].slice(0,16),hiB:a[1].slice(16,32),hiC:a[1].slice(32,48),hiD:a[1].slice(48,64)}}(w);for(a=0;a<s;a++){var g=t[a],v=g.dim0.crossfilterDimensionIndex,y=g.dim1.crossfilterDimensionIndex,M=g.canvasX,S=g.canvasY,C=M+g.panelSizeX;if(e||!E[v]||E[v][0]!==M||E[v][1]!==C){E[v]=[M,C];var P=x(r,i,o,a,v,y,M,S,g.panelSizeX,g.panelSizeY,g.dim0.crossfilterDimensionIndex,w?0:k?2:1,f);A.clearOnly=n;var O=e?r.lines.blockLineCount:m;d(T,L,A,O,m,P)}}},readPixel:function(t,e){return T.read({x:t,y:e,width:1,height:1,data:h}),h},readPixels:function(t,e,r,n){var a=new Uint8Array(4*r*n);return T.read({x:t,y:e,width:r,height:n,data:a}),a},destroy:function(){for(var e in t.style["pointer-events"]="none",S.destroy(),_&&_.destroy(),M)M[e].destroy()},update:C}}},{"../../lib":716,"./constants":1084,glslify:410}],1089:[function(t,e,r){"use strict";e.exports=function(t,e,r,n){var a,i;for(n||(n=1/0),a=0;a<e.length;a++)(i=e[a]).visible&&(n=Math.min(n,i[r].length));for(n===1/0&&(n=0),t._length=n,a=0;a<e.length;a++)(i=e[a]).visible&&(i._length=n);return n}},{}],1090:[function(t,e,r){"use strict";var n=t("d3"),a=t("color-rgba"),i=t("../../plots/cartesian/axes"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../../components/drawing"),c=t("../../components/colorscale"),u=t("../../lib/gup"),h=u.keyFun,f=u.repeat,p=u.unwrap,d=t("./helpers"),g=t("./constants"),v=t("./axisbrush"),m=t("./lines");function y(t,e,r){return o.aggNums(t,null,e,r)}function x(t,e){return _(y(Math.min,t,e),y(Math.max,t,e))}function b(t){var e=t.range;return e?_(e[0],e[1]):x(t.values,t._length)}function _(t,e){return!isNaN(t)&&isFinite(t)||(t=0),!isNaN(e)&&isFinite(e)||(e=0),t===e&&(0===t?(t-=1,e+=1):(t*=.9,e*=1.1)),[t,e]}function w(t){return t.dimensions.some(function(t){return t.brush.filterSpecified})}function k(t,e,r){var i=p(e),s=i.trace,l=d.convertTypedArray(i.lineColor),u=s.line,h={color:a(g.deselectedLineColor)},f=c.extractOpts(u),v=f.reversescale?c.flipScale(i.cscale):i.cscale,m=s.domain,y=s.dimensions,x=t.width,_=s.labelangle,w=s.labelside,k=s.labelfont,T=s.tickfont,A=s.rangefont,M=o.extendDeepNoArrays({},u,{color:l.map(n.scale.linear().domain(b({values:l,range:[f.min,f.max],_length:s._length}))),blockLineCount:g.blockLineCount,canvasOverdrag:g.overdrag*g.canvasPixelRatio}),S=Math.floor(x*(m.x[1]-m.x[0])),E=Math.floor(t.height*(m.y[1]-m.y[0])),L=t.margin||{l:80,r:80,t:100,b:80},C=S,P=E;return{key:r,colCount:y.filter(d.isVisible).length,dimensions:y,tickDistance:g.tickDistance,unitToColor:function(t){var e=t.map(function(t){return t[0]}),r=t.map(function(t){var e=a(t[1]);return n.rgb("rgb("+e[0]+","+e[1]+","+e[2]+")")}),i="rgb".split("").map(function(t){return n.scale.linear().clamp(!0).domain(e).range(r.map((a=t,function(t){return t[a]})));var a});return function(t){return i.map(function(e){return e(t)})}}(v),lines:M,deselectedLines:h,labelAngle:_,labelSide:w,labelFont:k,tickFont:T,rangeFont:A,layoutWidth:x,layoutHeight:t.height,domain:m,translateX:m.x[0]*x,translateY:t.height-m.y[1]*t.height,pad:L,canvasWidth:C*g.canvasPixelRatio+2*M.canvasOverdrag,canvasHeight:P*g.canvasPixelRatio,width:C,height:P,canvasPixelRatio:g.canvasPixelRatio}}function T(t,e,r){var a=r.width,i=r.height,s=r.dimensions,l=r.canvasPixelRatio,c=function(t){return a*t/Math.max(1,r.colCount-1)},u=g.verticalPadding/i,h=function(t,e){return n.scale.linear().range([e,t-e])}(i,g.verticalPadding),f={key:r.key,xScale:c,model:r,inBrushDrag:!1},p={};return f.dimensions=s.filter(d.isVisible).map(function(a,s){var m=function(t,e){return n.scale.linear().domain(b(t)).range([e,1-e])}(a,u),y=p[a.label];p[a.label]=(y||0)+1;var x=a.label+(y?"__"+y:""),_=a.constraintrange,k=_&&_.length;k&&!Array.isArray(_[0])&&(_=[_]);var T=k?_.map(function(t){return t.map(m)}):[[-1/0,1/0]],A=a.values;A.length>a._length&&(A=A.slice(0,a._length));var M,S=a.tickvals;function E(t,e){return{val:t,text:M[e]}}function L(t,e){return t.val-e.val}if(Array.isArray(S)&&S.length){M=a.ticktext,Array.isArray(M)&&M.length?M.length>S.length?M=M.slice(0,S.length):S.length>M.length&&(S=S.slice(0,M.length)):M=S.map(n.format(a.tickformat));for(var C=1;C<S.length;C++)if(S[C]<S[C-1]){for(var P=S.map(E).sort(L),O=0;O<S.length;O++)S[O]=P[O].val,M[O]=P[O].text;break}}else S=void 0;return A=d.convertTypedArray(A),{key:x,label:a.label,tickFormat:a.tickformat,tickvals:S,ticktext:M,ordinal:d.isOrdinal(a),multiselect:a.multiselect,xIndex:s,crossfilterDimensionIndex:s,visibleIndex:a._index,height:i,values:A,paddedUnitValues:A.map(m),unitTickvals:S&&S.map(m),xScale:c,x:c(s),canvasX:c(s)*l,unitToPaddedPx:h,domainScale:function(t,e,r,a,i){var o,s,l=b(r);return a?n.scale.ordinal().domain(a.map((o=n.format(r.tickformat),s=i,s?function(t,e){var r=s[e];return null==r?o(t):r}:o))).range(a.map(function(r){var n=(r-l[0])/(l[1]-l[0]);return t-e+n*(2*e-t)})):n.scale.linear().domain(l).range([t-e,e])}(i,g.verticalPadding,a,S,M),ordinalScale:function(t){if(t.tickvals){var e=b(t);return n.scale.ordinal().domain(t.tickvals).range(t.tickvals.map(function(t){return(t-e[0])/(e[1]-e[0])}))}}(a),parent:f,model:r,brush:v.makeBrush(t,k,T,function(){t.linePickActive(!1)},function(){var e=f;e.focusLayer&&e.focusLayer.render(e.panels,!0);var r=w(e);!t.contextShown()&&r?(e.contextLayer&&e.contextLayer.render(e.panels,!0),t.contextShown(!0)):t.contextShown()&&!r&&(e.contextLayer&&e.contextLayer.render(e.panels,!0,!0),t.contextShown(!1))},function(r){if(f.focusLayer.render(f.panels,!0),f.pickLayer&&f.pickLayer.render(f.panels,!0),t.linePickActive(!0),e&&e.filterChanged){var n=m.invert,i=r.map(function(t){return t.map(n).sort(o.sorterAsc)}).sort(function(t,e){return t[0]-e[0]});e.filterChanged(f.key,a._index,i)}})}}),f}function A(t){t.classed(g.cn.axisExtentText,!0).attr("text-anchor","middle").style("cursor","default").style("user-select","none")}function M(t,e){var r="top"===e?1:-1,n=t*Math.PI/180;return{dir:r,dx:Math.sin(n),dy:Math.cos(n),degrees:t}}function S(t,e){for(var r=e.panels||(e.panels=[]),n=t.data(),a=0;a<n.length-1;a++){var i=r[a]||(r[a]={}),o=n[a],s=n[a+1];i.dim0=o,i.dim1=s,i.canvasX=o.canvasX,i.panelSizeX=s.canvasX-o.canvasX,i.panelSizeY=e.model.canvasHeight,i.y=0,i.canvasY=0}}function E(t,e){return i.tickText(t._ax,e,!1).text}function L(t,e){if(t.ordinal)return"";var r=t.domainScale.domain(),n=r[e?r.length-1:0];return E(t.model.dimensions[t.visibleIndex],n)}e.exports=function(t,e,r,a){var c=t._fullLayout,u=c._toppaper,y=c._glcontainer;!function(t){for(var e=0;e<t.length;e++)for(var r=0;r<t[e].length;r++)for(var n=t[e][r].trace,a=n.dimensions,o=0;o<a.length;o++){var s=a[o].values,l=a[o]._ax;l&&(l.range?l.range=_(l.range[0],l.range[1]):l.range=x(s,n._length),l.dtick||(l.dtick=.01*(Math.abs(l.range[1]-l.range[0])||1)),l.tickformat=a[o].tickformat,i.calcTicks(l),l.cleanRange())}}(e);var b,C,P=(b=!0,C=!1,{linePickActive:function(t){return arguments.length?b=!!t:b},contextShown:function(t){return arguments.length?C=!!t:C}}),O=e.filter(function(t){return p(t).trace.visible}).map(k.bind(0,r)).map(T.bind(0,P,a));y.each(function(t,e){return o.extendFlat(t,O[e])});var z=y.selectAll(".gl-canvas").each(function(t){t.viewModel=O[0],t.model=t.viewModel?t.viewModel.model:null}),I=null;z.filter(function(t){return t.pick}).style("pointer-events","auto").on("mousemove",function(t){if(P.linePickActive()&&t.lineLayer&&a&&a.hover){var e=n.event,r=this.width,i=this.height,o=n.mouse(this),s=o[0],l=o[1];if(s<0||l<0||s>=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==I&&(u?a.hover(f):a.unhover&&a.unhover(f),I=h)}}),z.style("opacity",function(t){return t.pick?0:1}),u.style("background","rgba(255, 255, 255, 0)");var D=u.selectAll("."+g.cn.parcoords).data(O,h);D.exit().remove(),D.enter().append("g").classed(g.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),D.attr("transform",function(t){return"translate("+t.model.translateX+","+t.model.translateY+")"});var R=D.selectAll("."+g.cn.parcoordsControlView).data(f,h);R.enter().append("g").classed(g.cn.parcoordsControlView,!0),R.attr("transform",function(t){return"translate("+t.model.pad.l+","+t.model.pad.t+")"});var F=R.selectAll("."+g.cn.yAxis).data(function(t){return t.dimensions},h);F.enter().append("g").classed(g.cn.yAxis,!0),R.each(function(t){S(F,t)}),z.each(function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=m(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}}),F.attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),F.call(n.behavior.drag().origin(function(t){return t}).on("drag",function(t){var e=t.parent;P.linePickActive(!1),t.x=Math.max(-g.overdrag,Math.min(t.model.width+g.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,F.sort(function(t,e){return t.x-e.x}).each(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio}),S(F,e),F.filter(function(e){return 0!==Math.abs(t.xIndex-e.xIndex)}).attr("transform",function(t){return"translate("+t.xScale(t.xIndex)+", 0)"}),n.select(this).attr("transform","translate("+t.x+", 0)"),F.each(function(r,n,a){a===t.parent.key&&(e.dimensions[n]=r)}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)}).on("dragend",function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,S(F,e),n.select(this).attr("transform",function(t){return"translate("+t.x+", 0)"}),e.contextLayer&&e.contextLayer.render(e.panels,!1,!w(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),P.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map(function(t){return t.crossfilterDimensionIndex}))})),F.exit().remove();var B=F.selectAll("."+g.cn.axisOverlays).data(f,h);B.enter().append("g").classed(g.cn.axisOverlays,!0),B.selectAll("."+g.cn.axis).remove();var N=B.selectAll("."+g.cn.axis).data(f,h);N.enter().append("g").classed(g.cn.axis,!0),N.each(function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,a=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?a:null).tickFormat(function(e){return d.isOrdinal(t)?e:E(t.model.dimensions[t.visibleIndex],e)}).scale(r)),l.font(N.selectAll("text"),t.model.tickFont)}),N.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),N.selectAll("text").style("text-shadow","1px 1px 1px #fff, -1px -1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff").style("cursor","default").style("user-select","none");var j=B.selectAll("."+g.cn.axisHeading).data(f,h);j.enter().append("g").classed(g.cn.axisHeading,!0);var V=j.selectAll("."+g.cn.axisTitle).data(f,h);V.enter().append("text").classed(g.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("user-select","none").style("pointer-events","auto"),V.text(function(t){return t.label}).each(function(e){var r=n.select(this);l.font(r,e.model.labelFont),s.convertToTspans(r,t)}).attr("transform",function(t){var e=M(t.model.labelAngle,t.model.labelSide),r=g.axisTitleOffset;return(e.dir>0?"":"translate(0,"+(2*r+t.model.height)+")")+"rotate("+e.degrees+")translate("+-r*e.dx+","+-r*e.dy+")"}).attr("text-anchor",function(t){var e=M(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"});var U=B.selectAll("."+g.cn.axisExtent).data(f,h);U.enter().append("g").classed(g.cn.axisExtent,!0);var q=U.selectAll("."+g.cn.axisExtentTop).data(f,h);q.enter().append("g").classed(g.cn.axisExtentTop,!0),q.attr("transform","translate(0,"+-g.axisExtentOffset+")");var H=q.selectAll("."+g.cn.axisExtentTopText).data(f,h);H.enter().append("text").classed(g.cn.axisExtentTopText,!0).call(A),H.text(function(t){return L(t,!0)}).each(function(t){l.font(n.select(this),t.model.rangeFont)});var G=U.selectAll("."+g.cn.axisExtentBottom).data(f,h);G.enter().append("g").classed(g.cn.axisExtentBottom,!0),G.attr("transform",function(t){return"translate(0,"+(t.model.height+g.axisExtentOffset)+")"});var Y=G.selectAll("."+g.cn.axisExtentBottomText).data(f,h);Y.enter().append("text").classed(g.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(A),Y.text(function(t){return L(t,!1)}).each(function(t){l.font(n.select(this),t.model.rangeFont)}),v.ensureAxisBrush(B)}},{"../../components/colorscale":603,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../lib/svg_text_utils":740,"../../plots/cartesian/axes":764,"./axisbrush":1081,"./constants":1084,"./helpers":1086,"./lines":1088,"color-rgba":123,d3:164}],1091:[function(t,e,r){"use strict";var n=t("./parcoords"),a=t("../../lib/prepare_regl"),i=t("./helpers").isVisible;function o(t,e,r){var n=e.indexOf(r),a=t.indexOf(n);return-1===a&&(a+=e.length),a}e.exports=function(t,e){var r=t._fullLayout;if(a(t)){var s={},l={},c={},u={},h=r._size;e.forEach(function(e,r){var n=e[0].trace;c[r]=n.index;var a=u[r]=n._fullInput.index;s[r]=t.data[a].dimensions,l[r]=t.data[a].dimensions.slice()});n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,a){var i=l[e][n],o=a.map(function(t){return t.slice()}),s="dimensions["+n+"].constraintrange",h=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===h[s]){var f=i.constraintrange;h[s]=f||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),i.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete i.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[u[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return o(t,e,r)-o(t,e,n)}}(r,l[e].filter(i));s[e].sort(n),l[e].filter(function(t){return!i(t)}).sort(function(t){return l[e].indexOf(t)}).forEach(function(t){s[e].splice(s[e].indexOf(t),1),s[e].splice(l[e].indexOf(t),0,t)}),t.emit("plotly_restyle",[{dimensions:[s[e]]},[u[e]]])}})}}},{"../../lib/prepare_regl":729,"./helpers":1086,"./parcoords":1090}],1092:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/domain").attributes,i=t("../../plots/font_attributes"),o=t("../../components/color/attributes"),s=t("../../plots/template_attributes").hovertemplateAttrs,l=t("../../plots/template_attributes").texttemplateAttrs,c=t("../../lib/extend").extendFlat,u=i({editType:"plot",arrayOk:!0,colorEditType:"plot"});e.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},u,{}),insidetextfont:c({},u,{}),outsidetextfont:c({},u,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},u,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:a({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"number",min:-360,max:360,dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},u,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},{"../../components/color/attributes":590,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1093:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="pie",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1094:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib").isArrayOrTypedArray,i=t("tinycolor2"),o=t("../../components/color"),s={};function l(t){return function(e,r){return!!e&&(!!(e=i(e)).isValid()&&(e=o.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e))}}function c(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r<t.length;r++)a.push(i(t[r]).lighten(20).toHexString());for(r=0;r<t.length;r++)a.push(i(t[r]).darken(20).toHexString());e[n]=a}return a}e.exports={calc:function(t,e){var r,i,o=[],s=t._fullLayout,c=s.hiddenlabels||[],u=e.labels,h=e.marker.colors||[],f=e.values,p=a(f)&&f.length;if(e.dlabel)for(u=new Array(f.length),r=0;r<f.length;r++)u[r]=String(e.label0+r*e.dlabel);var d={},g=l(s["_"+e.type+"colormap"]),v=(p?f:u).length,m=0,y=!1;for(r=0;r<v;r++){var x,b,_;if(p){if(x=f[r],!n(x))continue;if((x=+x)<0)continue}else x=1;void 0!==(b=u[r])&&""!==b||(b=r);var w=d[b=String(b)];void 0===w?(d[b]=o.length,(_=-1!==c.indexOf(b))||(m+=x),o.push({v:x,label:b,color:g(h[r],b),i:r,pts:[r],hidden:_})):(y=!0,(i=o[w]).v+=x,i.pts.push(r),i.hidden||(m+=x),!1===i.color&&h[r]&&(i.color=g(h[r],b)))}return("funnelarea"===e.type?y:e.sort)&&o.sort(function(t,e){return e.v-t.v}),o[0]&&(o[0].vTotal=m),o},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,a=t.calcdata,i=n[r+"colorway"],o=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(i=c(i,s));for(var l=0,u=0;u<a.length;u++){var h=a[u];if(h[0].trace.type===r)for(var f=0;f<h.length;f++){var p=h[f];!1===p.color&&(o[p.label]?p.color=o[p.label]:(o[p.label]=p.color=i[l%i.length],l++))}}},makePullColorFn:l,generateExtendedColors:c}},{"../../components/color":591,"../../lib":716,"fast-isnumeric":227,tinycolor2:535}],1095:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText;e.exports=function(t,e,r,s){function l(r,i){return n.coerce(t,e,a,r,i)}var c,u=l("values"),h=n.isArrayOrTypedArray(u),f=l("labels");if(Array.isArray(f)?(c=f.length,h&&(c=Math.min(c,u.length))):h&&(c=u.length,l("label0"),l("dlabel")),c){e._length=c,l("marker.line.width")&&l("marker.line.color"),l("marker.colors"),l("scalegroup");var p,d=l("text"),g=l("texttemplate");if(g||(p=l("textinfo",Array.isArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),g||p&&"none"!==p){var v=l("textposition");o(t,e,s,l,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(v)||"auto"===v||"outside"===v)&&l("automargin")}i(e,s,l);var m=l("hole");if(l("title.text")){var y=l("title.position",m?"middle center":"top center");m||"middle center"!==y||(e.title.position="top center"),n.coerceFont(l,"title.font",s.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}},{"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":1092}],1096:[function(t,e,r){"use strict";var n=t("../../components/fx/helpers").appendArrayMultiPointValues;e.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},{"../../components/fx/helpers":626}],1097:[function(t,e,r){"use strict";var n=t("../../lib");r.formatPiePercent=function(t,e){var r=(100*t).toPrecision(3);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)+"%"},r.formatPieValue=function(t,e){var r=t.toPrecision(10);return-1!==r.lastIndexOf(".")&&(r=r.replace(/[.]?0+$/,"")),n.numSeparate(r,e)},r.getFirstFilled=function(t,e){if(Array.isArray(t))for(var r=0;r<e.length;r++){var n=t[e[r]];if(n||0===n||""===n)return n}},r.castOption=function(t,e){return Array.isArray(t)?r.getFirstFilled(t,e):t||void 0}},{"../../lib":716}],1098:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),layoutAttributes:t("./layout_attributes"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style"),styleOne:t("./style_one"),moduleType:"trace",name:"pie",basePlotModule:t("./base_plot"),categories:["pie-like","pie","showLegend"],meta:{}}},{"./attributes":1092,"./base_plot":1093,"./calc":1094,"./defaults":1095,"./layout_attributes":1099,"./layout_defaults":1100,"./plot":1101,"./style":1102,"./style_one":1103}],1099:[function(t,e,r){"use strict";e.exports={hiddenlabels:{valType:"data_array",editType:"calc"},piecolorway:{valType:"colorlist",editType:"calc"},extendpiecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1100:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("hiddenlabels"),r("piecolorway",e.colorway),r("extendpiecolors")}},{"../../lib":716,"./layout_attributes":1099}],1101:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../plots/plots"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("../../lib"),c=t("../../lib/svg_text_utils"),u=t("./helpers"),h=t("./event_data"),f=t("../../lib").isValidTextValue;function p(t,e,r){var a=r[0],o=a.trace,s=a.cx,c=a.cy;"_hasHoverLabel"in o||(o._hasHoverLabel=!1),"_hasHoverEvent"in o||(o._hasHoverEvent=!1),t.on("mouseover",function(t){var r=e._fullLayout,f=e._fullData[o.index];if(!e._dragging&&!1!==r.hovermode){var p=f.hoverinfo;if(Array.isArray(p)&&(p=i.castHoverinfo({hoverinfo:[u.castOption(p,t.pts)],_module:o._module},r,0)),"all"===p&&(p="label+text+value+percent+name"),f.hovertemplate||"none"!==p&&"skip"!==p&&p){var d=t.rInscribed||0,g=s+t.pxmid[0]*(1-d),v=c+t.pxmid[1]*(1-d),m=r.separators,y=[];if(p&&-1!==p.indexOf("label")&&y.push(t.label),t.text=u.castOption(f.hovertext||f.text,t.pts),p&&-1!==p.indexOf("text")){var x=t.text;l.isValidTextValue(x)&&y.push(x)}t.value=t.v,t.valueLabel=u.formatPieValue(t.v,m),p&&-1!==p.indexOf("value")&&y.push(t.valueLabel),t.percent=t.v/a.vTotal,t.percentLabel=u.formatPiePercent(t.percent,m),p&&-1!==p.indexOf("percent")&&y.push(t.percentLabel);var b=f.hoverlabel,_=b.font;i.loneHover({trace:o,x0:g-d*a.r,x1:g+d*a.r,y:v,text:y.join("<br>"),name:f.hovertemplate||-1!==p.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:u.castOption(b.bgcolor,t.pts)||t.color,borderColor:u.castOption(b.bordercolor,t.pts),fontFamily:u.castOption(_.family,t.pts),fontSize:u.castOption(_.size,t.pts),fontColor:u.castOption(_.color,t.pts),nameLength:u.castOption(b.namelength,t.pts),textAlign:u.castOption(b.align,t.pts),hovertemplate:u.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[h(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e}),o._hasHoverLabel=!0}o._hasHoverEvent=!0,e.emit("plotly_hover",{points:[h(t,f)],event:n.event})}}),t.on("mouseout",function(t){var r=e._fullLayout,a=e._fullData[o.index],s=n.select(this).datum();o._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[h(s,a)],event:n.event}),o._hasHoverEvent=!1),o._hasHoverLabel&&(i.loneUnhover(r._hoverlayer.node()),o._hasHoverLabel=!1)}),t.on("click",function(t){var r=e._fullLayout,a=e._fullData[o.index];e._dragging||!1===r.hovermode||(e._hoverdata=[h(t,a)],i.click(e,n.event))})}function d(t,e,r){var n=u.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=u.castOption(t._input.textfont.color,e.pts));var a=u.castOption(t.insidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.insidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n||o.contrast(e.color),family:a,size:i}}function g(t,e){for(var r,n,a=0;a<t.length;a++)if((n=(r=t[a][0]).trace).title.text){var i=n.title.text;n._meta&&(i=l.templateString(i,n._meta));var o=s.tester.append("text").attr("data-notex",1).text(i).call(s.font,n.title.font).call(c.convertToTspans,e),u=s.bBox(o.node(),!0);r.titleBox={width:u.width,height:u.height},o.remove()}}function v(t,e,r){var n=Math.sqrt(t.width*t.width+t.height*t.height),a=t.width/t.height,i=e.halfangle,o=e.ring,s=e.rInscribed,l=r.r||e.rpx1,c={scale:s*l*2/n,rCenter:1-s,rotate:0};if(c.scale>=1)return c;var u=a+1/(2*Math.tan(i)),h=l*Math.min(1/(Math.sqrt(u*u+.5)+u),o/(Math.sqrt(a*a+o/2)+a)),f={scale:2*h/t.height,rCenter:Math.cos(h/l)-h*a/l,rotate:(180/Math.PI*e.midangle+720)%180-90},p=1/a,d=p+1/(2*Math.tan(i)),g=l*Math.min(1/(Math.sqrt(d*d+.5)+d),o/(Math.sqrt(p*p+o/2)+p)),v={scale:2*g/t.width,rCenter:Math.cos(g/l)-g/a/l,rotate:(180/Math.PI*e.midangle+810)%180-90},m=v.scale>f.scale?v:f;return c.scale<1&&m.scale>c.scale?m:c}function m(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function y(t,e){var r=e.pxmid[0],n=e.pxmid[1],a=t.width/2,i=t.height/2;return r<0&&(a*=-1),n<0&&(i*=-1),{scale:1,rCenter:1,rotate:0,x:a+Math.abs(i)*(a>0?1:-1)/2,y:i/(1+r*r/(n*n)),outside:!0}}function x(t,e){var r,n,a,i=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=i.title.font.size,a=_(i),-1!==i.title.position.indexOf("top")?(o.y-=(1+a)*t.r,s.ty-=t.titleBox.height):-1!==i.title.position.indexOf("bottom")&&(o.y+=(1+a)*t.r);var l,c,u=(l=t.r,c=t.trace.aspectratio,l/(void 0===c?1:c)),h=e.w*(i.domain.x[1]-i.domain.x[0])/2;return-1!==i.title.position.indexOf("left")?(h+=u,o.x-=(1+a)*u,s.tx+=t.titleBox.width/2):-1!==i.title.position.indexOf("center")?h*=2:-1!==i.title.position.indexOf("right")&&(h+=u,o.x+=(1+a)*u,s.tx-=t.titleBox.width/2),r=h/t.titleBox.width,n=b(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function b(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function _(t){var e,r=t.pull;if(!r)return 0;if(Array.isArray(r))for(r=0,e=0;e<t.pull.length;e++)t.pull[e]>r&&(r=t.pull[e]);return r}function w(t,e){for(var r=[],n=0;n<t.length;n++){var a=t[n][0],i=a.trace,o=i.domain,s=e.w*(o.x[1]-o.x[0]),l=e.h*(o.y[1]-o.y[0]);i.title.text&&"middle center"!==i.title.position&&(l-=b(a,e));var c=s/2,u=l/2;"funnelarea"!==i.type||i.scalegroup||(u/=i.aspectratio),a.r=Math.min(c,u)/(1+_(i)),a.cx=e.l+e.w*(i.domain.x[1]+i.domain.x[0])/2,a.cy=e.t+e.h*(1-i.domain.y[0])-l/2,i.title.text&&-1!==i.title.position.indexOf("bottom")&&(a.cy-=b(a,e)),i.scalegroup&&-1===r.indexOf(i.scalegroup)&&r.push(i.scalegroup)}!function(t,e){for(var r,n,a,i=0;i<e.length;i++){var o=1/0,s=e[i];for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var l;if("pie"===a.type)l=r.r*r.r;else if("funnelarea"===a.type){var c,u;a.aspectratio>1?(c=r.r,u=c/a.aspectratio):(u=r.r,c=u*a.aspectratio),c*=(1+a.baseratio)/2,l=c*u}o=Math.min(o,l/r.vTotal)}for(n=0;n<t.length;n++)if(r=t[n][0],(a=r.trace).scalegroup===s){var h=o*r.vTotal;"funnelarea"===a.type&&(h/=(1+a.baseratio)/2,h/=a.aspectratio),r.r=Math.sqrt(h)}}}(t,r)}function k(t,e,r){var n=t._fullLayout,a=r.trace,i=a.texttemplate,o=a.textinfo;if(!i&&o&&"none"!==o){var s,c=o.split("+"),h=function(t){return-1!==c.indexOf(t)},p=h("label"),d=h("text"),g=h("value"),v=h("percent"),m=n.separators;if(s=p?[e.label]:[],d){var y=u.getFirstFilled(a.text,e.pts);f(y)&&s.push(y)}g&&s.push(u.formatPieValue(e.v,m)),v&&s.push(u.formatPiePercent(e.v/r.vTotal,m)),e.text=s.join("<br>")}if(i){var x=l.castOption(a,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:u.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:u.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(a,t.i,"customdata")}}(e),_=u.getFirstFilled(a.text,e.pts);(f(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,a._meta||{})}else e.text=""}}e.exports={plot:function(t,e){var r=t._fullLayout,i=r._size;g(e,t),w(e,i);var h=l.makeTraceGroups(r._pielayer,e,"trace").each(function(e){var r=n.select(this),h=e[0],f=h.trace;!function(t){var e,r,n,a=t[0],i=a.trace,o=i.rotation*Math.PI/180,s=2*Math.PI/a.vTotal,l="px0",c="px1";if("counterclockwise"===i.direction){for(e=0;e<t.length&&t[e].hidden;e++);if(e===t.length)return;o+=s*t[e].v,s*=-1,l="px1",c="px0"}function u(t){return[a.r*Math.sin(t),-a.r*Math.cos(t)]}for(n=u(o),e=0;e<t.length;e++)(r=t[e]).hidden||(r[l]=n,o+=s*r.v/2,r.pxmid=u(o),r.midangle=o,o+=s*r.v/2,n=u(o),r[c]=n,r.largeArc=r.v>a.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/a.vTotal,.5),r.ring=1-i.hole,r.rInscribed=m(r,a))}(e),r.attr("stroke-linejoin","round"),r.each(function(){var g=n.select(this).selectAll("g.slice").data(e);g.enter().append("g").classed("slice",!0),g.exit().remove();var m=[[[],[]],[[],[]]],b=!1;g.each(function(r){if(r.hidden)n.select(this).selectAll("path,g").remove();else{r.pointNumber=r.i,r.curveNumber=f.index,m[r.pxmid[1]<0?0:1][r.pxmid[0]<0?0:1].push(r);var a=h.cx,i=h.cy,o=n.select(this),g=o.selectAll("path.surface").data([r]);if(g.enter().append("path").classed("surface",!0).style({"pointer-events":"all"}),o.call(p,t,e),f.pull){var x=+u.castOption(f.pull,r.pts)||0;x>0&&(a+=x*r.pxmid[0],i+=x*r.pxmid[1])}r.cxFinal=a,r.cyFinal=i;var _=f.hole;if(r.v===h.vTotal){var w="M"+(a+r.px0[0])+","+(i+r.px0[1])+E(r.px0,r.pxmid,!0,1)+E(r.pxmid,r.px0,!0,1)+"Z";_?g.attr("d","M"+(a+_*r.px0[0])+","+(i+_*r.px0[1])+E(r.px0,r.pxmid,!1,_)+E(r.pxmid,r.px0,!1,_)+"Z"+w):g.attr("d",w)}else{var T=E(r.px0,r.px1,!0,1);if(_){var A=1-_;g.attr("d","M"+(a+_*r.px1[0])+","+(i+_*r.px1[1])+E(r.px1,r.px0,!1,_)+"l"+A*r.px0[0]+","+A*r.px0[1]+T+"Z")}else g.attr("d","M"+a+","+i+"l"+r.px0[0]+","+r.px0[1]+T+"Z")}k(t,r,h);var M=u.castOption(f.textposition,r.pts),S=o.selectAll("g.slicetext").data(r.text&&"none"!==M?[0]:[]);S.enter().append("g").classed("slicetext",!0),S.exit().remove(),S.each(function(){var e=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)});e.text(r.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,"outside"===M?function(t,e,r){var n=u.castOption(t.outsidetextfont.color,e.pts)||u.castOption(t.textfont.color,e.pts)||r.color,a=u.castOption(t.outsidetextfont.family,e.pts)||u.castOption(t.textfont.family,e.pts)||r.family,i=u.castOption(t.outsidetextfont.size,e.pts)||u.castOption(t.textfont.size,e.pts)||r.size;return{color:n,family:a,size:i}}(f,r,t._fullLayout.font):d(f,r,t._fullLayout.font)).call(c.convertToTspans,t);var o,p=s.bBox(e.node());"outside"===M?o=y(p,r):(o=v(p,r,h),"auto"===M&&o.scale<1&&(e.call(s.font,f.outsidetextfont),f.outsidetextfont.family===f.insidetextfont.family&&f.outsidetextfont.size===f.insidetextfont.size||(p=s.bBox(e.node())),o=y(p,r)));var g=a+r.pxmid[0]*o.rCenter+(o.x||0),m=i+r.pxmid[1]*o.rCenter+(o.y||0);o.outside&&(r.yLabelMin=m-p.height/2,r.yLabelMid=m,r.yLabelMax=m+p.height/2,r.labelExtraX=0,r.labelExtraY=0,b=!0),e.attr("transform","translate("+g+","+m+")"+(o.scale<1?"scale("+o.scale+")":"")+(o.rotate?"rotate("+o.rotate+")":"")+"translate("+-(p.left+p.right)/2+","+-(p.top+p.bottom)/2+")")})}function E(t,e,n,a){var i=a*(e[0]-t[0]),o=a*(e[1]-t[1]);return"a"+a*h.r+","+a*h.r+" 0 "+r.largeArc+(n?" 1 ":" 0 ")+i+","+o}});var _=n.select(this).selectAll("g.titletext").data(f.title.text?[0]:[]);if(_.enter().append("g").classed("titletext",!0),_.exit().remove(),_.each(function(){var e,r=l.ensureSingle(n.select(this),"text","",function(t){t.attr("data-notex",1)}),a=f.title.text;f._meta&&(a=l.templateString(a,f._meta)),r.text(a).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,f.title.font).call(c.convertToTspans,t),e="middle center"===f.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(h):x(h,i),r.attr("transform","translate("+e.x+","+e.y+")"+(e.scale<1?"scale("+e.scale+")":"")+"translate("+e.tx+","+e.ty+")")}),b&&function(t,e){var r,n,a,i,o,s,l,c,h,f,p,d,g;function v(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function y(t,r){r||(r={});var a,c,h,p,d,g,v=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,x=t.cyFinal+o(t.px0[1],t.px1[1]),b=v-m;if(b*l>0&&(t.labelExtraY=b),Array.isArray(e.pull))for(c=0;c<f.length;c++)(h=f[c])===t||(u.castOption(e.pull,t.pts)||0)>=(u.castOption(e.pull,h.pts)||0)||((t.pxmid[1]-h.pxmid[1])*l>0?(p=h.cyFinal+o(h.px0[1],h.px1[1]),(b=p-m-t.labelExtraY)*l>0&&(t.labelExtraY+=b)):(y+t.labelExtraY-x)*l>0&&(a=3*s*Math.abs(c-f.indexOf(t)),d=h.cxFinal+i(h.px0[0],h.px1[0]),(g=d+a-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=g)))}for(n=0;n<2;n++)for(a=n?v:m,o=n?Math.max:Math.min,l=n?1:-1,r=0;r<2;r++){for(i=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(a),h=t[1-n][r],f=h.concat(c),d=[],p=0;p<c.length;p++)void 0!==c[p].yLabelMid&&d.push(c[p]);for(g=!1,p=0;n&&p<h.length;p++)if(void 0!==h[p].yLabelMid){g=h[p];break}for(p=0;p<d.length;p++){var x=p&&d[p-1];g&&!p&&(x=g),y(d[p],x)}}}(m,f),function(t,e){t.each(function(t){var r=n.select(this);if(t.labelExtraX||t.labelExtraY){var a=r.select("g.slicetext text");a.attr("transform","translate("+t.labelExtraX+","+t.labelExtraY+")"+a.attr("transform"));var i=t.cxFinal+t.pxmid[0],s=t.cyFinal+t.pxmid[1],c="M"+i+","+s,u=(t.yLabelMax-t.yLabelMin)*(t.pxmid[0]<0?-1:1)/4;if(t.labelExtraX){var h=t.labelExtraX*t.pxmid[1]/t.pxmid[0],f=t.yLabelMid+t.labelExtraY-(t.cyFinal+t.pxmid[1]);Math.abs(h)>Math.abs(f)?c+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(i+t.labelExtraX+u):c+="l"+t.labelExtraX+","+h+"v"+(f-h)+"h"+u}else c+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:c,fill:"none"})}else r.select("path.textline").remove()})}(g,f),b&&f.automargin){var w=s.bBox(r.node()),T=f.domain,A=i.w*(T.x[1]-T.x[0]),M=i.h*(T.y[1]-T.y[0]),S=(.5*A-h.r)/i.w,E=(.5*M-h.r)/i.h;a.autoMargin(t,"pie."+f.uid+".automargin",{xl:T.x[0]-S,xr:T.x[1]+S,yb:T.y[0]-E,yt:T.y[1]+E,l:Math.max(h.cx-h.r-w.left,0),r:Math.max(w.right-(h.cx+h.r),0),b:Math.max(w.bottom-(h.cy+h.r),0),t:Math.max(h.cy-h.r-w.top,0),pad:5})}})});setTimeout(function(){h.selectAll("tspan").each(function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))})},0)},formatSliceLabel:k,transformInsideText:v,determineInsideTextFont:d,positionTitleOutside:x,prerenderTitles:g,layoutAreas:w,attachFxHandlers:p}},{"../../components/color":591,"../../components/drawing":612,"../../components/fx":629,"../../lib":716,"../../lib/svg_text_utils":740,"../../plots/plots":825,"./event_data":1096,"./helpers":1097,d3:164}],1102:[function(t,e,r){"use strict";var n=t("d3"),a=t("./style_one");e.exports=function(t){t._fullLayout._pielayer.selectAll(".trace").each(function(t){var e=t[0].trace,r=n.select(this);r.style({opacity:e.opacity}),r.selectAll("path.surface").each(function(t){n.select(this).call(a,t,e)})})}},{"./style_one":1103,d3:164}],1103:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./helpers").castOption;e.exports=function(t,e,r){var i=r.marker.line,o=a(i.color,e.pts)||n.defaultLine,s=a(i.width,e.pts)||0;t.style("stroke-width",s).call(n.fill,e.color).call(n.stroke,o)}},{"../../components/color":591,"./helpers":1097}],1104:[function(t,e,r){"use strict";var n=t("../scatter/attributes");e.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},{"../scatter/attributes":1118}],1105:[function(t,e,r){"use strict";var n=t("gl-pointcloud2d"),a=t("../../lib/str2rgbarray"),i=t("../../plots/cartesian/autorange").findExtremes,o=t("../scatter/get_trace_color");function s(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var l=s.prototype;l.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:Array.isArray(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},l.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=o(t,{})},l.updateFast=function(t){var e,r,n,o,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;l<e;l++)o=n[2*l],s=n[2*l+1],o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;l<e;l++)r[l]=l}else for(e=c.length,n=new Float32Array(2*e),r=new Int32Array(e),l=0;l<e;l++)o=c[l],s=u[l],r[l]=l,n[2*l]=o,n[2*l+1]=s,o<d[0]&&(d[0]=o),o>d[2]&&(d[2]=o),s<d[1]&&(d[1]=s),s>d[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var g=a(t.marker.color),v=a(t.marker.border.color),m=t.opacity*t.marker.opacity;g[3]*=m,this.pointcloudOptions.color=g;var y=t.marker.blend;if(null===y){y=c.length<100||u.length<100}this.pointcloudOptions.blend=y,v[3]*=m,this.pointcloudOptions.borderColor=v;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,k=b/2||.5;t._extremes[_._id]=i(_,[d[0],d[2]],{ppad:k}),t._extremes[w._id]=i(w,[d[1],d[3]],{ppad:k})},l.dispose=function(){this.pointcloud.dispose()},e.exports=function(t,e){var r=new s(t,e.uid);return r.update(e),r}},{"../../lib/str2rgbarray":739,"../../plots/cartesian/autorange":763,"../scatter/get_trace_color":1128,"gl-pointcloud2d":294}],1106:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes");e.exports=function(t,e,r){function i(r,i){return n.coerce(t,e,a,r,i)}i("x"),i("y"),i("xbounds"),i("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),i("text"),i("marker.color",r),i("marker.opacity"),i("marker.blend"),i("marker.sizemin"),i("marker.sizemax"),i("marker.border.color",r),i("marker.border.arearatio"),e._length=null}},{"../../lib":716,"./attributes":1104}],1107:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../scatter3d/calc"),plot:t("./convert"),moduleType:"trace",name:"pointcloud",basePlotModule:t("../../plots/gl2d"),categories:["gl","gl2d","showLegend"],meta:{}}},{"../../plots/gl2d":802,"../scatter3d/calc":1146,"./attributes":1104,"./convert":1105,"./defaults":1106}],1108:[function(t,e,r){"use strict";var n=t("../../plots/font_attributes"),a=t("../../plots/attributes"),i=t("../../components/color/attributes"),o=t("../../components/fx/attributes"),s=t("../../plots/domain").attributes,l=t("../../plots/template_attributes").hovertemplateAttrs,c=t("../../components/colorscale/attributes"),u=t("../../plot_api/plot_template").templatedArray,h=t("../../lib/extend").extendFlat,f=t("../../plot_api/edit_types").overrideAll;t("../../constants/docs").FORMAT_LINK;(e.exports=f({hoverinfo:h({},a.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s"},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]})},link:{label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},line:{color:{valType:"color",dflt:i.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},{"../../components/color/attributes":590,"../../components/colorscale/attributes":598,"../../components/fx/attributes":621,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plot_api/plot_template":754,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/font_attributes":790,"../../plots/template_attributes":840}],1109:[function(t,e,r){"use strict";var n=t("../../plot_api/edit_types").overrideAll,a=t("../../plots/get_data").getModuleCalcData,i=t("./plot"),o=t("../../components/fx/layout_attributes"),s=t("../../lib/setcursor"),l=t("../../components/dragelement"),c=t("../../plots/cartesian/select").prepSelect,u=t("../../lib"),h=t("../../registry");function f(t,e){var r=t._fullData[e],n=t._fullLayout,a=n.dragmode,i="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if("pan"!==a&&"zoom"!==a){s(o,i);var f={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,a=t._fullData[e],i=a.node.groups.slice(),o=[];function s(t){for(var e=a._sankey.graph.nodes,r=0;r<e.length;r++)if(e[r].pointNumber===t)return e[r]}for(var l=0;l<r.length;l++){var c=s(r[l].pointNumber);if(c)if(c.group){for(var u=0;u<c.childrenNodes.length;u++)o.push(c.childrenNodes[u].pointNumber);i[c.pointNumber-a.node._count]=!1}else o.push(c.pointNumber)}n=i.filter(Boolean).concat([o]),h.call("_guiRestyle",t,{"node.groups":[n]},e)},prepFn:function(t,e,r){c(t,e,r,d,a)}};l.init(d)}}r.name="sankey",r.baseLayoutAttrOverrides=n({hoverlabel:o.hoverlabel},"plot","nested"),r.plot=function(t){var e=a(t.calcdata,"sankey")[0];i(t,e),r.updateFx(t)},r.clean=function(t,e,r,n){var a=n._has&&n._has("sankey"),i=e._has&&e._has("sankey");a&&!i&&(n._paperdiv.selectAll(".sankey").remove(),n._paperdiv.selectAll(".bgsankey").remove())},r.updateFx=function(t){for(var e=0;e<t._fullData.length;e++)f(t,e)}},{"../../components/dragelement":609,"../../components/fx/layout_attributes":630,"../../lib":716,"../../lib/setcursor":736,"../../plot_api/edit_types":747,"../../plots/cartesian/select":781,"../../plots/get_data":799,"../../registry":845,"./plot":1114}],1110:[function(t,e,r){"use strict";var n=t("strongly-connected-components"),a=t("../../lib"),i=t("../../lib/gup").wrap,o=a.isArrayOrTypedArray,s=a.isIndex,l=t("../../components/colorscale");function c(t){var e,r=t.node,i=t.link,c=[],u=o(i.color),h={},f={},p=i.colorscales.length;for(e=0;e<p;e++){var d=i.colorscales[e],g=l.extractScale(d,{cLetter:"c"}),v=l.makeColorScaleFunc(g);f[d.label]=v}var m=0;for(e=0;e<i.value.length;e++)i.source[e]>m&&(m=i.source[e]),i.target[e]>m&&(m=i.target[e]);var y,x=m+1;t.node._count=x;var b=t.node.groups,_={};for(e=0;e<b.length;e++){var w=b[e];for(y=0;y<w.length;y++){var k=w[y],T=x+e;_.hasOwnProperty(k)?a.warn("Node "+k+" is already part of a group."):_[k]=T}}var A={source:[],target:[]};for(e=0;e<i.value.length;e++){var M=i.value[e],S=i.source[e],E=i.target[e];if(M>0&&s(S,x)&&s(E,x)&&(!_.hasOwnProperty(S)||!_.hasOwnProperty(E)||_[S]!==_[E])){_.hasOwnProperty(E)&&(E=_[E]),_.hasOwnProperty(S)&&(S=_[S]),E=+E,h[S=+S]=h[E]=!0;var L="";i.label&&i.label[e]&&(L=i.label[e]);var C=null;L&&f.hasOwnProperty(L)&&(C=f[L]),c.push({pointNumber:e,label:L,color:u?i.color[e]:i.color,concentrationscale:C,source:S,target:E,value:+M}),A.source.push(S),A.target.push(E)}}var P=x+b.length,O=o(r.color),z=[];for(e=0;e<P;e++)if(h[e]){var I=r.label[e];z.push({group:e>x-1,childrenNodes:[],pointNumber:e,label:I,color:O?r.color[e]:r.color})}var D=!1;return function(t,e,r){for(var i=a.init2dArray(t,0),o=0;o<Math.min(e.length,r.length);o++)if(a.isIndex(e[o],t)&&a.isIndex(r[o],t)){if(e[o]===r[o])return!0;i[e[o]].push(r[o])}return n(i).components.some(function(t){return t.length>1})}(P,A.source,A.target)&&(D=!0),{circular:D,links:c,nodes:z,groups:b,groupLookup:_}}e.exports=function(t,e){var r=c(e);return i({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gup":714,"strongly-connected-components":528}],1111:[function(t,e,r){"use strict";e.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeCapture:"node-capture",nodeCentered:"node-entered",nodeLabelGuide:"node-label-guide",nodeLabel:"node-label",nodeLabelTextPath:"node-label-text-path"}}},{}],1112:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("tinycolor2"),s=t("../../plots/domain").defaults,l=t("../../components/fx/hoverlabel_defaults"),c=t("../../plot_api/plot_template"),u=t("../../plots/array_container_defaults");function h(t,e){function r(r,i){return n.coerce(t,e,a.link.colorscales,r,i)}r("label"),r("cmin"),r("cmax"),r("colorscale")}e.exports=function(t,e,r,f){function p(r,i){return n.coerce(t,e,a,r,i)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),g=t.node,v=c.newContainer(e,"node");function m(t,e){return n.coerce(g,v,a.node,t,e)}m("label"),m("groups"),m("x"),m("y"),m("pad"),m("thickness"),m("line.color"),m("line.width"),m("hoverinfo",t.hoverinfo),l(g,v,m,d),m("hovertemplate");var y=f.colorway;m("color",v.label.map(function(t,e){return i.addOpacity(function(t){return y[t%y.length]}(e),.8)}));var x=t.link||{},b=c.newContainer(e,"link");function _(t,e){return n.coerce(x,b,a.link,t,e)}_("label"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,k=o(f.paper_bgcolor).getLuminance()<.333?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)";_("color",n.repeat(k,b.value.length)),u(x,b,{name:"colorscales",handleItemDefaults:h}),s(e,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),v.x.length&&v.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},f.font)),e._length=null}},{"../../components/color":591,"../../components/fx/hoverlabel_defaults":628,"../../lib":716,"../../plot_api/plot_template":754,"../../plots/array_container_defaults":760,"../../plots/domain":789,"./attributes":1108,tinycolor2:535}],1113:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"sankey",basePlotModule:t("./base_plot"),selectPoints:t("./select.js"),categories:["noOpacity"],meta:{}}},{"./attributes":1108,"./base_plot":1109,"./calc":1110,"./defaults":1112,"./plot":1114,"./select.js":1116}],1114:[function(t,e,r){"use strict";var n=t("d3"),a=t("./render"),i=t("../../components/fx"),o=t("../../components/color"),s=t("../../lib"),l=t("./constants").cn,c=s._;function u(t){return""!==t}function h(t,e){return t.filter(function(t){return t.key===e.traceId})}function f(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function p(t){n.select(t).select("text.name").style("fill","black")}function d(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function v(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(y.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+l.sankeyLink).filter(d(e)).call(x.bind(0,e,r,!1))}function y(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){if(!t.link.concentrationscale)return.4}),r&&h(e,t).selectAll("."+l.sankeyNode).filter(g(t)).call(v)}function x(t,e,r,n){var a=n.datum().link.label;n.style("fill-opacity",function(t){return t.tinyColorAlpha}),a&&h(e,t).selectAll("."+l.sankeyLink).filter(function(t){return t.link.label===a}).style("fill-opacity",function(t){return t.tinyColorAlpha}),r&&h(e,t).selectAll(l.sankeyNode).filter(g(t)).call(m)}function b(t,e){var r=t.hoverlabel||{},n=s.nestedProperty(r,e).get();return!Array.isArray(n)&&n}e.exports=function(t,e){for(var r=t._fullLayout,s=r._paper,h=r._size,d=0;d<t._fullData.length;d++)if(t._fullData[d].visible&&t._fullData[d].type===l.sankey&&!t._fullData[d]._viewInitial){var g=t._fullData[d].node;t._fullData[d]._viewInitial={node:{groups:g.groups.slice(),x:g.x.slice(),y:g.y.slice()}}}var _=c(t,"source:")+" ",w=c(t,"target:")+" ",k=c(t,"concentration:")+" ",T=c(t,"incoming flow count:")+" ",A=c(t,"outgoing flow count:")+" ";a(t,s,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{linkEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(y.bind(0,r,a,!0)),"skip"!==r.link.trace.link.hoverinfo&&(r.link.fullData=r.link.trace,t.emit("plotly_hover",{event:n.event,points:[r.link]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var s=a.link.trace.link;if("none"!==s.hoverinfo&&"skip"!==s.hoverinfo){for(var l=[],c=0,h=0;h<a.flow.links.length;h++){var d=a.flow.links[h];if("closest"!==t._fullLayout.hovermode||a.link.pointNumber===d.pointNumber){a.link.pointNumber===d.pointNumber&&(c=h),d.fullData=d.trace,s=a.link.trace.link;var g=m(d),v={valueLabel:n.format(a.valueFormat)(d.value)+a.valueSuffix};l.push({x:g[0],y:g[1],name:v.valueLabel,text:[d.label||"",_+d.source.label,w+d.target.label,d.concentrationscale?k+n.format("%0.2f")(d.flow.labelConcentration):""].filter(u).join("<br>"),color:b(s,"bgcolor")||o.addOpacity(d.color,1),borderColor:b(s,"bordercolor"),fontFamily:b(s,"font.family"),fontSize:b(s,"font.size"),fontColor:b(s,"font.color"),nameLength:b(s,"namelength"),textAlign:b(s,"align"),idealAlign:n.event.x<g[0]?"right":"left",hovertemplate:s.hovertemplate,hovertemplateLabels:v,eventData:[d]})}}i.loneHover(l,{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t,anchorIndex:c}).each(function(){a.link.concentrationscale||f(this,.65),p(this)})}}function m(t){var e,r;return t.circular?(e=(t.circularPathData.leftInnerExtent+t.circularPathData.rightInnerExtent)/2+a.parent.translateX,r=t.circularPathData.verticalFullExtent+a.parent.translateY):(e=(t.source.x1+t.target.x0)/2+a.parent.translateX,r=(t.y0+t.y1)/2+a.parent.translateY),[e,r]}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(x.bind(0,a,o,!0)),"skip"!==a.link.trace.link.hoverinfo&&(a.link.fullData=a.link.trace,t.emit("plotly_unhover",{event:n.event,points:[a.link]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r){var a=r.link;a.originalEvent=n.event,t._hoverdata=[a],i.click(t,{target:!0})}},nodeEvents:{hover:function(e,r,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,r,a),"skip"!==r.node.trace.node.hoverinfo&&(r.node.fullData=r.node.trace,t.emit("plotly_hover",{event:n.event,points:[r.node]})))},follow:function(e,a){if(!1!==t._fullLayout.hovermode){var o=a.node.trace.node;if("none"!==o.hoverinfo&&"skip"!==o.hoverinfo){var s=n.select(e).select("."+l.nodeRect),c=t._fullLayout._paperdiv.node().getBoundingClientRect(),h=s.node().getBoundingClientRect(),d=h.left-2-c.left,g=h.right+2-c.left,v=h.top+h.height/4-c.top,m={valueLabel:n.format(a.valueFormat)(a.node.value)+a.valueSuffix};a.node.fullData=a.node.trace;var y=i.loneHover({x0:d,x1:g,y:v,name:n.format(a.valueFormat)(a.node.value)+a.valueSuffix,text:[a.node.label,T+a.node.targetLinks.length,A+a.node.sourceLinks.length].filter(u).join("<br>"),color:b(o,"bgcolor")||a.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[a.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});f(y,.85),p(y)}}},unhover:function(e,a,o){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,a,o),"skip"!==a.node.trace.node.hoverinfo&&(a.node.fullData=a.node.trace,t.emit("plotly_unhover",{event:n.event,points:[a.node]})),i.loneUnhover(r._hoverlayer.node()))},select:function(e,r,a){var o=r.node;o.originalEvent=n.event,t._hoverdata=[o],n.select(e).call(m,r,a),i.click(t,{target:!0})}}})}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"./constants":1111,"./render":1115,d3:164}],1115:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("tinycolor2"),o=t("../../components/color"),s=t("../../components/drawing"),l=t("@plotly/d3-sankey"),c=t("@plotly/d3-sankey-circular"),u=t("d3-force"),h=t("../../lib"),f=t("../../lib/gup"),p=f.keyFun,d=f.repeat,g=f.unwrap,v=t("d3-interpolate").interpolateNumber,m=t("../../registry");function y(){var t=.5;return function(e){if(e.link.circular)return r=e.link,n=r.width/2,a=r.circularPathData,"top"===r.circularLinkType?"M "+a.targetX+" "+(a.targetY+n)+" L"+a.rightInnerExtent+" "+(a.targetY+n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 1 "+(a.rightFullExtent-n)+" "+(a.targetY-a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 1 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY-a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.leftInnerExtent+" "+(a.sourceY-n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 0 "+(a.leftFullExtent-n)+" "+(a.sourceY-a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 0 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY-a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.targetY-n)+"L"+a.targetX+" "+(a.targetY-n)+"Z":"M "+a.targetX+" "+(a.targetY-n)+" L"+a.rightInnerExtent+" "+(a.targetY-n)+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightSmallArcRadius+n)+" 0 0 0 "+(a.rightFullExtent-n)+" "+(a.targetY+a.rightSmallArcRadius)+"L"+(a.rightFullExtent-n)+" "+a.verticalRightInnerExtent+"A"+(a.rightLargeArcRadius+n)+" "+(a.rightLargeArcRadius+n)+" 0 0 0 "+a.rightInnerExtent+" "+(a.verticalFullExtent+n)+"L"+a.leftInnerExtent+" "+(a.verticalFullExtent+n)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftLargeArcRadius+n)+" 0 0 0 "+(a.leftFullExtent+n)+" "+a.verticalLeftInnerExtent+"L"+(a.leftFullExtent+n)+" "+(a.sourceY+a.leftSmallArcRadius)+"A"+(a.leftLargeArcRadius+n)+" "+(a.leftSmallArcRadius+n)+" 0 0 0 "+a.leftInnerExtent+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY-n)+"L"+a.sourceX+" "+(a.sourceY+n)+"L"+a.leftInnerExtent+" "+(a.sourceY+n)+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftSmallArcRadius-n)+" 0 0 1 "+(a.leftFullExtent-n)+" "+(a.sourceY+a.leftSmallArcRadius)+"L"+(a.leftFullExtent-n)+" "+a.verticalLeftInnerExtent+"A"+(a.leftLargeArcRadius-n)+" "+(a.leftLargeArcRadius-n)+" 0 0 1 "+a.leftInnerExtent+" "+(a.verticalFullExtent-n)+"L"+a.rightInnerExtent+" "+(a.verticalFullExtent-n)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightLargeArcRadius-n)+" 0 0 1 "+(a.rightFullExtent+n)+" "+a.verticalRightInnerExtent+"L"+(a.rightFullExtent+n)+" "+(a.targetY+a.rightSmallArcRadius)+"A"+(a.rightLargeArcRadius-n)+" "+(a.rightSmallArcRadius-n)+" 0 0 1 "+a.rightInnerExtent+" "+(a.targetY+n)+"L"+a.targetX+" "+(a.targetY+n)+"Z";var r,n,a,i=e.link.source.x1,o=e.link.target.x0,s=v(i,o),l=s(t),c=s(1-t),u=e.link.y0-e.link.width/2,h=e.link.y0+e.link.width/2,f=e.link.y1-e.link.width/2,p=e.link.y1+e.link.width/2;return"M"+i+","+u+"C"+l+","+u+" "+c+","+f+" "+o+","+f+"L"+o+","+p+"C"+c+","+p+" "+l+","+h+" "+i+","+h+"Z"}}function x(t){t.attr("transform",function(t){return"translate("+t.node.x0.toFixed(3)+", "+t.node.y0.toFixed(3)+")"})}function b(t){t.call(x)}function _(t,e){t.call(b),e.attr("d",y())}function w(t){t.attr("width",function(t){return t.node.x1-t.node.x0}).attr("height",function(t){return t.visibleHeight})}function k(t){return t.link.width>1||t.linkLineWidth>0}function T(t){return"translate("+t.translateX+","+t.translateY+")"+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function A(t){return"translate("+(t.horizontal?0:t.labelY)+" "+(t.horizontal?t.labelY:0)+")"}function M(t){return a.svg.line()([[t.horizontal?t.left?-t.sizeAcross:t.visibleWidth+n.nodeTextOffsetHorizontal:n.nodeTextOffsetHorizontal,0],[t.horizontal?t.left?-n.nodeTextOffsetHorizontal:t.sizeAcross:t.visibleHeight-n.nodeTextOffsetHorizontal,0]])}function S(t){return t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)"}function E(t){return t.horizontal?"scale(1 1)":"scale(-1 1)"}function L(t){return t.darkBackground&&!t.horizontal?"rgb(255,255,255)":"rgb(0,0,0)"}function C(t){return t.horizontal&&t.left?"100%":"0%"}function P(t,e,r){t.on(".basic",null).on("mouseover.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])}).on("mousemove.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])}).on("mouseout.basic",function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)}).on("click.basic",function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)})}function O(t,e,r,i){var o=a.behavior.drag().origin(function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}}).on("dragstart",function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",function(t){i._fullLayout._dragCover=t}),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,I(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,a){!function(t){for(var e=0;e<t.length;e++)t[e].y=(t[e].y0+t[e].y1)/2,t[e].x=(t[e].x0+t[e].x1)/2}(r.graph.nodes);var i=r.graph.nodes.filter(function(t){return t.originalX===r.node.originalX}).filter(function(t){return!t.partOfGroup});r.forceLayouts[e]=u.forceSimulation(i).alphaDecay(0).force("collide",u.forceCollide().radius(function(t){return t.dy/2+r.nodePad/2}).strength(1).iterations(n.forceIterations)).force("constrain",function(t,e,r,a){return function(){for(var t=0,i=0;i<r.length;i++){var o=r[i];o===a.interactionState.dragInProgress?(o.x=o.lastDraggedX,o.y=o.lastDraggedY):(o.vx=(o.originalX-o.x)/n.forceTicksPerFrame,o.y=Math.min(a.size-o.dy/2,Math.max(o.dy/2,o.y))),t=Math.max(t,Math.abs(o.vx),Math.abs(o.vy))}!a.interactionState.dragInProgress&&t<.1&&a.forceLayouts[e].alpha()>0&&a.forceLayouts[e].alpha(0)}}(0,e,i,r)).stop()}(0,o,a),function(t,e,r,a,i){window.requestAnimationFrame(function o(){var s;for(s=0;s<n.forceTicksPerFrame;s++)r.forceLayouts[a].tick();var l=r.graph.nodes;if(function(t){for(var e=0;e<t.length;e++)t[e].y0=t[e].y-t[e].dy/2,t[e].y1=t[e].y0+t[e].dy,t[e].x0=t[e].x-t[e].dx/2,t[e].x1=t[e].x0+t[e].dx}(l),r.sankey.update(r.graph),_(t.filter(D(r)),e),r.forceLayouts[a].alpha()>0)window.requestAnimationFrame(o);else{var c=r.node.originalX;r.node.x0=c-r.visibleWidth/2,r.node.x1=c+r.visibleWidth/2,z(r,i)}})}(t,e,a,o,i)}}).on("drag",function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),I(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),_(t.filter(D(r)),e))}}).on("dragend",function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;e<t.node.childrenNodes.length;e++)t.node.childrenNodes[e].x=t.node.x,t.node.childrenNodes[e].y=t.node.y;"snap"!==t.arrangement&&z(t,i)}});t.on(".drag",null).call(o)}function z(t,e){for(var r=[],n=[],a=0;a<t.graph.nodes.length;a++){var i=(t.graph.nodes[a].x0+t.graph.nodes[a].x1)/2,o=(t.graph.nodes[a].y0+t.graph.nodes[a].y1)/2;r.push(i/t.figure.width),n.push(o/t.figure.height)}m.call("_guiRestyle",e,{"node.x":[r],"node.y":[n]},t.trace.index).then(function(){e._fullLayout._dragCover&&e._fullLayout._dragCover.remove()})}function I(t){t.lastDraggedX=t.x0+t.dx/2,t.lastDraggedY=t.y0+t.dy/2}function D(t){return function(e){return e.node.originalX===t.node.originalX}}e.exports=function(t,e,r,u,f){var v=!1;h.ensureSingle(t._fullLayout._infolayer,"g","first-render",function(){v=!0});var m=t._fullLayout._dragCover,b=r.filter(function(t){return g(t).trace.visible}).map(function(t,e,r){var a,o=g(e),s=o.trace,u=s.domain,f="h"===s.orientation,p=s.node.pad,d=s.node.thickness,v=t.width*(u.x[1]-u.x[0]),m=t.height*(u.y[1]-u.y[0]),y=o._nodes,x=o._links,b=o.circular;(a=b?c.sankeyCircular().circularLinkGap(0):l.sankey()).iterations(n.sankeyIterations).size(f?[v,m]:[m,v]).nodeWidth(d).nodePadding(p).nodeId(function(t){return t.pointNumber}).nodes(y).links(x);var _,w,k,T=a();for(var A in a.nodePadding()<p&&h.warn("node.pad was reduced to ",a.nodePadding()," to fit within the figure."),o._groupLookup){var M,S=parseInt(o._groupLookup[A]);for(_=0;_<T.nodes.length;_++)if(T.nodes[_].pointNumber===S){M=T.nodes[_];break}if(M){var E={pointNumber:parseInt(A),x0:M.x0,x1:M.x1,y0:M.y0,y1:M.y1,partOfGroup:!0,sourceLinks:[],targetLinks:[]};T.nodes.unshift(E),M.childrenNodes.unshift(E)}}if(function(){for(_=0;_<T.nodes.length;_++){var t,e,r=T.nodes[_],n={};for(w=0;w<r.targetLinks.length;w++)t=(e=r.targetLinks[w]).source.pointNumber+":"+e.target.pointNumber,n.hasOwnProperty(t)||(n[t]=[]),n[t].push(e);var a=Object.keys(n);for(w=0;w<a.length;w++){var o=n[t=a[w]],s=0,l={};for(k=0;k<o.length;k++)l[(e=o[k]).label]||(l[e.label]=0),l[e.label]+=e.value,s+=e.value;for(k=0;k<o.length;k++)(e=o[k]).flow={value:s,labelConcentration:l[e.label]/s,concentration:e.value/s,links:o},e.concentrationscale&&(e.color=i(e.concentrationscale(e.flow.labelConcentration)))}var c=0;for(w=0;w<r.sourceLinks.length;w++)c+=r.sourceLinks[w].value;for(w=0;w<r.sourceLinks.length;w++)(e=r.sourceLinks[w]).concentrationOut=e.value/c;var u=0;for(w=0;w<r.targetLinks.length;w++)u+=r.targetLinks[w].value;for(w=0;w<r.targetLinks.length;w++)(e=r.targetLinks[w]).concenrationIn=e.value/u}}(),s.node.x.length&&s.node.y.length){for(_=0;_<Math.min(s.node.x.length,s.node.y.length,T.nodes.length);_++)if(s.node.x[_]&&s.node.y[_]){var L=[s.node.x[_]*v,s.node.y[_]*m];T.nodes[_].x0=L[0]-d/2,T.nodes[_].x1=L[0]+d/2;var C=T.nodes[_].y1-T.nodes[_].y0;T.nodes[_].y0=L[1]-C/2,T.nodes[_].y1=L[1]+C/2}"snap"===s.arrangement&&function(t){t.forEach(function(t){var e,r,n,a=0,i=t.length;for(t.sort(function(t,e){return t.y0-e.y0}),n=0;n<i;++n)(e=t[n]).y0>=a||(r=a-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),a=e.y1+p})}(function(t){var e,r,n=t.map(function(t,e){return{x0:t.x0,index:e}}).sort(function(t,e){return t.x0-e.x0}),a=[],i=-1,o=-1/0;for(_=0;_<n.length;_++){var s=t[n[_].index];s.x0>o+d&&(i+=1,e=s.x0),o=s.x0,a[i]||(a[i]=[]),a[i].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return a}(y=T.nodes)),a.update(T)}return{circular:b,key:r,trace:s,guid:h.randstr(),horizontal:f,width:v,height:m,nodePad:s.node.pad,nodeLineColor:s.node.line.color,nodeLineWidth:s.node.line.width,linkLineColor:s.link.line.color,linkLineWidth:s.link.line.width,valueFormat:s.valueformat,valueSuffix:s.valuesuffix,textFont:s.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:f?m:v,dragPerpendicular:f?v:m,arrangement:s.arrangement,sankey:a,graph:T,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}.bind(null,u)),_=e.selectAll("."+n.cn.sankey).data(b,p);_.exit().remove(),_.enter().append("g").classed(n.cn.sankey,!0).style("box-sizing","content-box").style("position","absolute").style("left",0).style("shape-rendering","geometricPrecision").style("pointer-events","auto").attr("transform",T),_.each(function(e,r){t._fullData[r]._sankey=e;var n="bgsankey-"+e.trace.uid+"-"+r;h.ensureSingle(t._fullLayout._draggers,"rect",n),t._fullData[r]._bgRect=a.select("."+n),t._fullData[r]._bgRect.style("pointer-events","all").attr("width",e.width).attr("height",e.height).attr("x",e.translateX).attr("y",e.translateY).classed("bgsankey",!0).style({fill:"transparent","stroke-width":0})}),_.transition().ease(n.ease).duration(n.duration).attr("transform",T);var z=_.selectAll("."+n.cn.sankeyLinks).data(d,p);z.enter().append("g").classed(n.cn.sankeyLinks,!0).style("fill","none");var I=z.selectAll("."+n.cn.sankeyLink).data(function(t){return t.graph.links.filter(function(t){return t.value}).map(function(t,e,r){var n=i(e.color),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:o.tinyRGB(n),tinyColorAlpha:n.getAlpha(),linkPath:y,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}.bind(null,t))},p);I.enter().append("path").classed(n.cn.sankeyLink,!0).call(P,_,f.linkEvents),I.style("stroke",function(t){return k(t)?o.tinyRGB(i(t.linkLineColor)):t.tinyColorHue}).style("stroke-opacity",function(t){return k(t)?o.opacity(t.linkLineColor):t.tinyColorAlpha}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}).style("stroke-width",function(t){return k(t)?t.linkLineWidth:1}).attr("d",y()),I.style("opacity",function(){return t._context.staticPlot||v||m?1:0}).transition().ease(n.ease).duration(n.duration).style("opacity",1),I.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var D=_.selectAll("."+n.cn.sankeyNodeSet).data(d,p);D.enter().append("g").classed(n.cn.sankeyNodeSet,!0),D.style("cursor",function(t){switch(t.arrangement){case"fixed":return"default";case"perpendicular":return"ns-resize";default:return"move"}});var R=D.selectAll("."+n.cn.sankeyNode).data(function(t){var e=t.graph.nodes;return function(t){var e,r=[];for(e=0;e<t.length;e++)t[e].originalX=(t[e].x0+t[e].x1)/2,t[e].originalY=(t[e].y0+t[e].y1)/2,-1===r.indexOf(t[e].originalX)&&r.push(t[e].originalX);for(r.sort(function(t,e){return t-e}),e=0;e<t.length;e++)t[e].originalLayerIndex=r.indexOf(t[e].originalX),t[e].originalLayer=t[e].originalLayerIndex/(r.length-1)}(e),e.map(function(t,e){var r=i(e.color),a=n.nodePadAcross,s=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var l=e.dx,c=Math.max(.5,e.dy),u="node_"+e.pointNumber;return e.group&&(u=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:u,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(l),visibleHeight:c,zoneX:-a,zoneY:-s,zoneWidth:l+2*a,zoneHeight:c+2*s,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:o.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,u].join("_"),interactionState:t.interactionState,figure:t}}.bind(null,t))},p);R.enter().append("g").classed(n.cn.sankeyNode,!0).call(x).style("opacity",function(e){return!t._context.staticPlot&&!v||e.partOfGroup?0:1}),R.call(P,_,f.nodeEvents).call(O,I,f,t),R.transition().ease(n.ease).duration(n.duration).call(x).style("opacity",function(t){return t.partOfGroup?0:1}),R.exit().transition().ease(n.ease).duration(n.duration).style("opacity",0).remove();var F=R.selectAll("."+n.cn.nodeRect).data(d);F.enter().append("rect").classed(n.cn.nodeRect,!0).call(w),F.style("stroke-width",function(t){return t.nodeLineWidth}).style("stroke",function(t){return o.tinyRGB(i(t.nodeLineColor))}).style("stroke-opacity",function(t){return o.opacity(t.nodeLineColor)}).style("fill",function(t){return t.tinyColorHue}).style("fill-opacity",function(t){return t.tinyColorAlpha}),F.transition().ease(n.ease).duration(n.duration).call(w);var B=R.selectAll("."+n.cn.nodeCapture).data(d);B.enter().append("rect").classed(n.cn.nodeCapture,!0).style("fill-opacity",0),B.attr("x",function(t){return t.zoneX}).attr("y",function(t){return t.zoneY}).attr("width",function(t){return t.zoneWidth}).attr("height",function(t){return t.zoneHeight});var N=R.selectAll("."+n.cn.nodeCentered).data(d);N.enter().append("g").classed(n.cn.nodeCentered,!0).attr("transform",A),N.transition().ease(n.ease).duration(n.duration).attr("transform",A);var j=N.selectAll("."+n.cn.nodeLabelGuide).data(d);j.enter().append("path").classed(n.cn.nodeLabelGuide,!0).attr("id",function(t){return t.uniqueNodeLabelPathId}).attr("d",M).attr("transform",S),j.transition().ease(n.ease).duration(n.duration).attr("d",M).attr("transform",S);var V=N.selectAll("."+n.cn.nodeLabel).data(d);V.enter().append("text").classed(n.cn.nodeLabel,!0).attr("transform",E).style("user-select","none").style("cursor","default").style("fill","black"),V.style("text-shadow",function(t){return t.horizontal?"-1px 1px 1px #fff, 1px 1px 1px #fff, 1px -1px 1px #fff, -1px -1px 1px #fff":"none"}).each(function(t){s.font(V,t.textFont)}),V.transition().ease(n.ease).duration(n.duration).attr("transform",E);var U=V.selectAll("."+n.cn.nodeLabelTextPath).data(d);U.enter().append("textPath").classed(n.cn.nodeLabelTextPath,!0).attr("alignment-baseline","middle").attr("xlink:href",function(t){return"#"+t.uniqueNodeLabelPathId}).attr("startOffset",C).style("fill",L),U.text(function(t){return t.horizontal||t.node.dy>5?t.node.label:""}).attr("text-anchor",function(t){return t.horizontal&&t.left?"end":"start"}),U.transition().ease(n.ease).duration(n.duration).attr("startOffset",C).style("fill",L)}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../registry":845,"./constants":1111,"@plotly/d3-sankey":56,"@plotly/d3-sankey-circular":55,d3:164,"d3-force":157,"d3-interpolate":159,tinycolor2:535}],1116:[function(t,e,r){"use strict";e.exports=function(t,e){for(var r=[],n=t.cd[0].trace,a=n._sankey.graph.nodes,i=0;i<a.length;i++){var o=a[i];if(!o.partOfGroup){var s=[(o.x0+o.x1)/2,(o.y0+o.y1)/2];"v"===n.orientation&&s.reverse(),e&&e.contains(s,!1,i,t)&&r.push({pointNumber:o.pointNumber})}}return r}},{}],1117:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){for(var r=0;r<t.length;r++)t[r].i=r;n.mergeArray(e.text,t,"tx"),n.mergeArray(e.texttemplate,t,"txt"),n.mergeArray(e.hovertext,t,"htx"),n.mergeArray(e.customdata,t,"data"),n.mergeArray(e.textposition,t,"tp"),e.textfont&&(n.mergeArrayCastPositive(e.textfont.size,t,"ts"),n.mergeArray(e.textfont.color,t,"tc"),n.mergeArray(e.textfont.family,t,"tf"));var a=e.marker;if(a){n.mergeArrayCastPositive(a.size,t,"ms"),n.mergeArrayCastPositive(a.opacity,t,"mo"),n.mergeArray(a.symbol,t,"mx"),n.mergeArray(a.color,t,"mc");var i=a.line;a.line&&(n.mergeArray(i.color,t,"mlc"),n.mergeArrayCastPositive(i.width,t,"mlw"));var o=a.gradient;o&&"none"!==o.type&&(n.mergeArray(o.type,t,"mgt"),n.mergeArray(o.color,t,"mgc"))}}},{"../../lib":716}],1118:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").texttemplateAttrs,a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../components/colorscale/attributes"),o=t("../../plots/font_attributes"),s=t("../../components/drawing/attributes").dash,l=t("../../components/drawing"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={x:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},x0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dx:{valType:"number",dflt:1,editType:"calc",anim:!0},y:{valType:"data_array",editType:"calc+clearAxisTypes",anim:!0},y0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes",anim:!0},dy:{valType:"number",dflt:1,editType:"calc",anim:!0},stackgroup:{valType:"string",dflt:"",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc"},groupnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},stackgaps:{valType:"enumerated",values:["infer zero","interpolate"],dflt:"infer zero",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},texttemplate:n({},{}),hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"],editType:"calc"},hoveron:{valType:"flaglist",flags:["points","fills"],editType:"style"},hovertemplate:a({},{keys:c.eventDataKeys}),line:{color:{valType:"color",editType:"style",anim:!0},width:{valType:"number",min:0,dflt:2,editType:"style",anim:!0},shape:{valType:"enumerated",values:["linear","spline","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},smoothing:{valType:"number",min:0,max:1.3,dflt:1,editType:"plot"},dash:u({},s,{editType:"style"}),simplify:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},cliponaxis:{valType:"boolean",dflt:!0,editType:"plot"},fill:{valType:"enumerated",values:["none","tozeroy","tozerox","tonexty","tonextx","toself","tonext"],editType:"calc"},fillcolor:{valType:"color",editType:"style",anim:!0},marker:u({symbol:{valType:"enumerated",values:l.symbolList,dflt:"circle",arrayOk:!0,editType:"style"},opacity:{valType:"number",min:0,max:1,arrayOk:!0,editType:"style",anim:!0},size:{valType:"number",min:0,dflt:6,arrayOk:!0,editType:"calc",anim:!0},maxdisplayed:{valType:"number",min:0,dflt:0,editType:"plot"},sizeref:{valType:"number",dflt:1,editType:"calc"},sizemin:{valType:"number",min:0,dflt:0,editType:"calc"},sizemode:{valType:"enumerated",values:["diameter","area"],dflt:"diameter",editType:"calc"},line:u({width:{valType:"number",min:0,arrayOk:!0,editType:"style",anim:!0},editType:"calc"},i("marker.line",{anim:!0})),gradient:{type:{valType:"enumerated",values:["radial","horizontal","vertical","none"],arrayOk:!0,dflt:"none",editType:"calc"},color:{valType:"color",arrayOk:!0,editType:"calc"},editType:"calc"},editType:"calc"},i("marker",{anim:!0})),selected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},unselected:{marker:{opacity:{valType:"number",min:0,max:1,editType:"style"},color:{valType:"color",editType:"style"},size:{valType:"number",min:0,editType:"style"},editType:"style"},textfont:{color:{valType:"color",editType:"style"},editType:"style"},editType:"style"},textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"middle center",arrayOk:!0,editType:"calc"},textfont:o({editType:"calc",colorEditType:"style",arrayOk:!0}),r:{valType:"data_array",editType:"calc"},t:{valType:"data_array",editType:"calc"}}},{"../../components/colorscale/attributes":598,"../../components/drawing":612,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plots/font_attributes":790,"../../plots/template_attributes":840,"./constants":1122}],1119:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../plots/cartesian/axes"),o=t("../../constants/numerical").BADNUM,s=t("./subtypes"),l=t("./colorscale_calc"),c=t("./arrays_to_calcdata"),u=t("./calc_selection");function h(t,e,r,n,a,o,l){var c=e._length,u=t._fullLayout,h=r._id,f=n._id,p=u._firstScatter[d(e)]===e.uid,v=(g(e,u,r,n)||{}).orientation,m=e.fill;r._minDtick=0,n._minDtick=0;var y={padded:!0},x={padded:!0};l&&(y.ppad=x.ppad=l);var b=c<2||a[0]!==a[c-1]||o[0]!==o[c-1];b&&("tozerox"===m||"tonextx"===m&&(p||"h"===v))?y.tozero=!0:(e.error_y||{}).visible||"tonexty"!==m&&"tozeroy"!==m&&(s.hasMarkers(e)||s.hasText(e))||(y.padded=!1,y.ppad=0),b&&("tozeroy"===m||"tonexty"===m&&(p||"v"===v))?x.tozero=!0:"tonextx"!==m&&"tozerox"!==m||(x.padded=!1),h&&(e._extremes[h]=i.findExtremes(r,a,y)),f&&(e._extremes[f]=i.findExtremes(n,o,x))}function f(t,e){if(s.hasMarkers(t)){var r,n=t.marker,o=1.6*(t.marker.sizeref||1);if(r="area"===t.marker.sizemode?function(t){return Math.max(Math.sqrt((t||0)/o),3)}:function(t){return Math.max((t||0)/o,3)},a.isArrayOrTypedArray(n.size)){var l={type:"linear"};i.setConvert(l);for(var c=l.makeCalcdata(t.marker,"size"),u=new Array(e),h=0;h<e;h++)u[h]=r(c[h]);return u}return r(n.size)}}function p(t,e){var r=d(e),n=t._firstScatter;n[r]||(n[r]=e.uid)}function d(t){var e=t.stackgroup;return t.xaxis+t.yaxis+t.type+(e?"-"+e:"")}function g(t,e,r,n){var a=t.stackgroup;if(a){var i=e._scatterStackOpts[r._id+n._id][a],o="v"===i.orientation?n:r;return"linear"===o.type||"log"===o.type?i:void 0}}e.exports={calc:function(t,e){var r,s,d,v,m,y,x=t._fullLayout,b=i.getFromId(t,e.xaxis||"x"),_=i.getFromId(t,e.yaxis||"y"),w=b.makeCalcdata(e,"x"),k=_.makeCalcdata(e,"y"),T=e._length,A=new Array(T),M=e.ids,S=g(e,x,b,_),E=!1;p(x,e);var L,C="x",P="y";for(S?(a.pushUnique(S.traceIndices,e._expandedIndex),(r="v"===S.orientation)?(P="s",L="x"):(C="s",L="y"),m="interpolate"===S.stackgaps):h(t,e,b,_,w,k,f(e,T)),s=0;s<T;s++){var O=A[s]={},z=n(w[s]),I=n(k[s]);z&&I?(O[C]=w[s],O[P]=k[s]):S&&(r?z:I)?(O[L]=r?w[s]:k[s],O.gap=!0,m?(O.s=o,E=!0):O.s=0):O[C]=O[P]=o,M&&(O.id=String(M[s]))}if(c(A,e),l(t,e),u(A,e),S){for(s=0;s<A.length;)A[s][L]===o?A.splice(s,1):s++;if(a.sort(A,function(t,e){return t[L]-e[L]||t.i-e.i}),E){for(s=0;s<A.length-1&&A[s].gap;)s++;for((y=A[s].s)||(y=A[s].s=0),d=0;d<s;d++)A[d].s=y;for(v=A.length-1;v>s&&A[v].gap;)v--;for(y=A[v].s,d=A.length-1;d>v;d--)A[d].s=y;for(;s<v;)if(A[++s].gap){for(d=s+1;A[d].gap;)d++;for(var D=A[s-1][L],R=A[s-1].s,F=(A[d].s-R)/(A[d][L]-D);s<d;)A[s].s=R+(A[s][L]-D)*F,s++}}}return A},calcMarkerSize:f,calcAxisExpansion:h,setFirstScatter:p,getStackOpts:g}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"./arrays_to_calcdata":1117,"./calc_selection":1120,"./colorscale_calc":1121,"./subtypes":1142,"fast-isnumeric":227}],1120:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){n.isArrayOrTypedArray(e.selectedpoints)&&n.tagSelected(t,e)}},{"../../lib":716}],1121:[function(t,e,r){"use strict";var n=t("../../components/colorscale/helpers").hasColorscale,a=t("../../components/colorscale/calc"),i=t("./subtypes");e.exports=function(t,e){i.hasLines(e)&&n(e,"line")&&a(t,e,{vals:e.line.color,containerStr:"line",cLetter:"c"}),i.hasMarkers(e)&&(n(e,"marker")&&a(t,e,{vals:e.marker.color,containerStr:"marker",cLetter:"c"}),n(e,"marker.line")&&a(t,e,{vals:e.marker.line.color,containerStr:"marker.line",cLetter:"c"}))}},{"../../components/colorscale/calc":599,"../../components/colorscale/helpers":602,"./subtypes":1142}],1122:[function(t,e,r){"use strict";e.exports={PTS_LINESONLY:20,minTolerance:.2,toleranceGrowth:10,maxScreensAway:20,eventDataKeys:[]}},{}],1123:[function(t,e,r){"use strict";var n=t("./calc");function a(t,e,r,n,a,i,o){a[n]=!0;var s={i:null,gap:!0,s:0};if(s[o]=r,t.splice(e,0,s),e&&r===t[e-1][o]){var l=t[e-1];s.s=l.s,s.i=l.i,s.gap=l.gap}else i&&(s.s=function(t,e,r,n){var a=t[e-1],i=t[e+1];return i?a?a.s+(i.s-a.s)*(r-a[n])/(i[n]-a[n]):i.s:a.s}(t,e,r,o));e||(t[0].t=t[1].t,t[0].trace=t[1].trace,delete t[1].t,delete t[1].trace)}e.exports=function(t,e){var r=e.xaxis,i=e.yaxis,o=r._id+i._id,s=t._fullLayout._scatterStackOpts[o];if(s){var l,c,u,h,f,p,d,g,v,m,y,x,b,_,w,k=t.calcdata;for(var T in s){var A=(m=s[T]).traceIndices;if(A.length){for(y="interpolate"===m.stackgaps,x=m.groupnorm,"v"===m.orientation?(b="x",_="y"):(b="y",_="x"),w=new Array(A.length),l=0;l<w.length;l++)w[l]=!1;p=k[A[0]];var M=new Array(p.length);for(l=0;l<p.length;l++)M[l]=p[l][b];for(l=1;l<A.length;l++){for(f=k[A[l]],c=u=0;c<f.length;c++){for(d=f[c][b];d>M[u]&&u<M.length;u++)a(f,c,M[u],l,w,y,b),c++;if(d!==M[u]){for(h=0;h<l;h++)a(k[A[h]],u,d,h,w,y,b);M.splice(u,0,d)}u++}for(;u<M.length;u++)a(f,c,M[u],l,w,y,b),c++}var S=M.length;for(c=0;c<p.length;c++){for(g=p[c][_]=p[c].s,l=1;l<A.length;l++)(f=k[A[l]])[0].trace._rawLength=f[0].trace._length,f[0].trace._length=S,g+=f[c].s,f[c][_]=g;if(x)for(v=("fraction"===x?g:g/100)||1,l=0;l<A.length;l++){var E=k[A[l]][c];E[_]/=v,E.sNorm=E.s/v}}for(l=0;l<A.length;l++){var L=(f=k[A[l]])[0].trace,C=n.calcMarkerSize(L,L._rawLength),P=Array.isArray(C);if(C&&w[l]||P){var O=C;for(C=new Array(S),c=0;c<S;c++)C[c]=f[c].gap?0:P?O[f[c].i]:O}var z=new Array(S),I=new Array(S);for(c=0;c<S;c++)z[c]=f[c].x,I[c]=f[c].y;n.calcAxisExpansion(t,L,r,i,z,I,C),f[0].t.orientation=m.orientation}}}}}},{"./calc":1119}],1124:[function(t,e,r){"use strict";e.exports=function(t){for(var e=0;e<t.length;e++){var r=t[e];if("scatter"===r.type){var n=r.fill;if("none"!==n&&"toself"!==n&&(r.opacity=void 0,"tonexty"===n||"tonextx"===n))for(var a=e-1;a>=0;a--){var i=t[a];if("scatter"===i.type&&i.xaxis===r.xaxis&&i.yaxis===r.yaxis){i.opacity=void 0;break}}}}}},{}],1125:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("./constants"),s=t("./subtypes"),l=t("./xy_defaults"),c=t("./stack_defaults"),u=t("./marker_defaults"),h=t("./line_defaults"),f=t("./line_shape_defaults"),p=t("./text_defaults"),d=t("./fillcolor_defaults");e.exports=function(t,e,r,g){function v(r,a){return n.coerce(t,e,i,r,a)}var m=l(t,e,g,v);if(m||(e.visible=!1),e.visible){var y=c(t,e,g,v),x=!y&&m<o.PTS_LINESONLY?"lines+markers":"lines";v("text"),v("hovertext"),v("mode",x),s.hasLines(e)&&(h(t,e,r,g,v),f(t,e,v),v("connectgaps"),v("line.simplify")),s.hasMarkers(e)&&u(t,e,r,g,v,{gradient:!0}),s.hasText(e)&&(v("texttemplate"),p(t,e,g,v));var b=[];(s.hasMarkers(e)||s.hasText(e))&&(v("cliponaxis"),v("marker.maxdisplayed"),b.push("points")),v("fill",y?y.fillDflt:"none"),"none"!==e.fill&&(d(t,e,r,v),s.hasLines(e)||f(t,e,v));var _=(e.line||{}).color,w=(e.marker||{}).color;"tonext"!==e.fill&&"toself"!==e.fill||b.push("fills"),v("hoveron",b.join("+")||"points"),"fills"!==e.hoveron&&v("hovertemplate");var k=a.getComponentMethod("errorbars","supplyDefaults");k(t,e,_||w||r,{axis:"y"}),k(t,e,_||w||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,v)}}},{"../../lib":716,"../../registry":845,"./attributes":1118,"./constants":1122,"./fillcolor_defaults":1126,"./line_defaults":1131,"./line_shape_defaults":1133,"./marker_defaults":1137,"./stack_defaults":1140,"./subtypes":1142,"./text_defaults":1143,"./xy_defaults":1144}],1126:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../lib").isArrayOrTypedArray;e.exports=function(t,e,r,i){var o=!1;if(e.marker){var s=e.marker.color,l=(e.marker.line||{}).color;s&&!a(s)?o=s:l&&!a(l)&&(o=l)}i("fillcolor",n.addOpacity((e.line||{}).color||o||r,.5))}},{"../../components/color":591,"../../lib":716}],1127:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i={_fullLayout:r},o=n.getFromTrace(i,e,"x"),s=n.getFromTrace(i,e,"y");return a.xLabel=n.tickText(o,t.x,!0).text,a.yLabel=n.tickText(s,t.y,!0).text,a}},{"../../plots/cartesian/axes":764}],1128:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("./subtypes");e.exports=function(t,e){var r,i;if("lines"===t.mode)return(r=t.line.color)&&n.opacity(r)?r:t.fillcolor;if("none"===t.mode)return t.fill?t.fillcolor:"";var o=e.mcc||(t.marker||{}).color,s=e.mlcc||((t.marker||{}).line||{}).color;return(i=o&&n.opacity(o)?o:s&&n.opacity(s)&&(e.mlw||((t.marker||{}).line||{}).width)?s:"")?n.opacity(i)<.3?n.addOpacity(i,.3):i:(r=(t.line||{}).color)&&n.opacity(r)&&a.hasLines(t)&&t.line.width?r:t.fillcolor}},{"../../components/color":591,"./subtypes":1142}],1129:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/fx"),i=t("../../registry"),o=t("./get_trace_color"),s=t("../../components/color"),l=n.fillText;e.exports=function(t,e,r,c){var u=t.cd,h=u[0].trace,f=t.xa,p=t.ya,d=f.c2p(e),g=p.c2p(r),v=[d,g],m=h.hoveron||"",y=-1!==h.mode.indexOf("markers")?3:.5;if(-1!==m.indexOf("points")){var x=function(t){var e=Math.max(y,t.mrc||0),r=f.c2p(t.x)-d,n=p.c2p(t.y)-g;return Math.max(Math.sqrt(r*r+n*n)-e,1-y/e)},b=a.getDistanceFunction(c,function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(f.c2p(t.x)-d);return n<e?r*n/e:n-e+r},function(t){var e=Math.max(3,t.mrc||0),r=1-1/e,n=Math.abs(p.c2p(t.y)-g);return n<e?r*n/e:n-e+r},x);if(a.getClosest(u,b,t),!1!==t.index){var _=u[t.index],w=f.c2p(_.x,!0),k=p.c2p(_.y,!0),T=_.mrc||1;t.index=_.i;var A=u[0].t.orientation,M=A&&(_.sNorm||_.s),S="h"===A?M:_.x,E="v"===A?M:_.y;return n.extendFlat(t,{color:o(h,_),x0:w-T,x1:w+T,xLabelVal:S,y0:k-T,y1:k+T,yLabelVal:E,spikeDistance:x(_),hovertemplate:h.hovertemplate}),l(_,h,t),i.getComponentMethod("errorbars","hoverInfo")(_,h,t),[t]}}if(-1!==m.indexOf("fills")&&h._polygons){var L,C,P,O,z,I,D,R,F,B=h._polygons,N=[],j=!1,V=1/0,U=-1/0,q=1/0,H=-1/0;for(L=0;L<B.length;L++)(P=B[L]).contains(v)&&(j=!j,N.push(P),q=Math.min(q,P.ymin),H=Math.max(H,P.ymax));if(j){var G=((q=Math.max(q,0))+(H=Math.min(H,p._length)))/2;for(L=0;L<N.length;L++)for(O=N[L].pts,C=1;C<O.length;C++)(R=O[C-1][1])>G!=(F=O[C][1])>=G&&(I=O[C-1][0],D=O[C][0],F-R&&(z=I+(D-I)*(G-R)/(F-R),V=Math.min(V,z),U=Math.max(U,z)));V=Math.max(V,0),U=Math.min(U,f._length);var Y=s.defaultLine;return s.opacity(h.fillcolor)?Y=h.fillcolor:s.opacity((h.line||{}).color)&&(Y=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:V,x1:U,y0:G,y1:G,color:Y,hovertemplate:!1}),delete t.index,h.text&&!Array.isArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}}},{"../../components/color":591,"../../components/fx":629,"../../lib":716,"../../registry":845,"./get_trace_color":1128}],1130:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("./cross_trace_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./cross_trace_calc"),arraysToCalcdata:t("./arrays_to_calcdata"),plot:t("./plot"),colorbar:t("./marker_colorbar"),formatLabels:t("./format_labels"),style:t("./style").style,styleOnSelect:t("./style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("./select"),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"./arrays_to_calcdata":1117,"./attributes":1118,"./calc":1119,"./cross_trace_calc":1123,"./cross_trace_defaults":1124,"./defaults":1125,"./format_labels":1127,"./hover":1129,"./marker_colorbar":1136,"./plot":1138,"./select":1139,"./style":1141,"./subtypes":1142}],1131:[function(t,e,r){"use strict";var n=t("../../lib").isArrayOrTypedArray,a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults");e.exports=function(t,e,r,o,s,l){var c=(t.marker||{}).color;(s("line.color",r),a(t,"line"))?i(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r);s("line.width"),(l||{}).noDash||s("line.dash")}},{"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"../../lib":716}],1132:[function(t,e,r){"use strict";var n=t("../../constants/numerical"),a=n.BADNUM,i=n.LOG_CLIP,o=i+.5,s=i-.5,l=t("../../lib"),c=l.segmentsIntersect,u=l.constrain,h=t("./constants");e.exports=function(t,e){var r,n,i,f,p,d,g,v,m,y,x,b,_,w,k,T,A,M,S=e.xaxis,E=e.yaxis,L="log"===S.type,C="log"===E.type,P=S._length,O=E._length,z=e.connectGaps,I=e.baseTolerance,D=e.shape,R="linear"===D,F=e.fill&&"none"!==e.fill,B=[],N=h.minTolerance,j=t.length,V=new Array(j),U=0;function q(r){var n=t[r];if(!n)return!1;var i=e.linearized?S.l2p(n.x):S.c2p(n.x),l=e.linearized?E.l2p(n.y):E.c2p(n.y);if(i===a){if(L&&(i=S.c2p(n.x,!0)),i===a)return!1;C&&l===a&&(i*=Math.abs(S._m*O*(S._m>0?o:s)/(E._m*P*(E._m>0?o:s)))),i*=1e3}if(l===a){if(C&&(l=E.c2p(n.y,!0)),l===a)return!1;l*=1e3}return[i,l]}function H(t,e,r,n){var a=r-t,i=n-e,o=.5-t,s=.5-e,l=a*a+i*i,c=a*o+i*s;if(c>0&&c<l){var u=o*i-s*a;if(u*u<l)return!0}}function G(t,e){var r=t[0]/P,n=t[1]/O,a=Math.max(0,-r,r-1,-n,n-1);return a&&void 0!==A&&H(r,n,A,M)&&(a=0),a&&e&&H(r,n,e[0]/P,e[1]/O)&&(a=0),(1+h.toleranceGrowth*a)*I}function Y(t,e){var r=t[0]-e[0],n=t[1]-e[1];return Math.sqrt(r*r+n*n)}var W,X,Z,J,K,Q,$,tt=h.maxScreensAway,et=-P*tt,rt=P*(1+tt),nt=-O*tt,at=O*(1+tt),it=[[et,nt,rt,nt],[rt,nt,rt,at],[rt,at,et,at],[et,at,et,nt]];function ot(t){if(t[0]<et||t[0]>rt||t[1]<nt||t[1]>at)return[u(t[0],et,rt),u(t[1],nt,at)]}function st(t,e){return t[0]===e[0]&&(t[0]===et||t[0]===rt)||(t[1]===e[1]&&(t[1]===nt||t[1]===at)||void 0)}function lt(t,e,r){return function(n,a){var i=ot(n),o=ot(a),s=[];if(i&&o&&st(i,o))return s;i&&s.push(i),o&&s.push(o);var c=2*l.constrain((n[t]+a[t])/2,e,r)-((i||n)[t]+(o||a)[t]);c&&((i&&o?c>0==i[t]>o[t]?i:o:i||o)[t]+=c);return s}}function ct(t){var e=t[0],r=t[1],n=e===V[U-1][0],a=r===V[U-1][1];if(!n||!a)if(U>1){var i=e===V[U-2][0],o=r===V[U-2][1];n&&(e===et||e===rt)&&i?o?U--:V[U-1]=t:a&&(r===nt||r===at)&&o?i?U--:V[U-1]=t:V[U++]=t}else V[U++]=t}function ut(t){V[U-1][0]!==t[0]&&V[U-1][1]!==t[1]&&ct([Z,J]),ct(t),K=null,Z=J=0}function ht(t){if(A=t[0]/P,M=t[1]/O,W=t[0]<et?et:t[0]>rt?rt:0,X=t[1]<nt?nt:t[1]>at?at:0,W||X){if(U)if(K){var e=$(K,t);e.length>1&&(ut(e[0]),V[U++]=e[1])}else Q=$(V[U-1],t)[0],V[U++]=Q;else V[U++]=[W||t[0],X||t[1]];var r=V[U-1];W&&X&&(r[0]!==W||r[1]!==X)?(K&&(Z!==W&&J!==X?ct(Z&&J?(n=K,i=(a=t)[0]-n[0],o=(a[1]-n[1])/i,(n[1]*a[0]-a[1]*n[0])/i>0?[o>0?et:rt,at]:[o>0?rt:et,nt]):[Z||W,J||X]):Z&&J&&ct([Z,J])),ct([W,X])):Z-W&&J-X&&ct([W||Z,X||J]),K=t,Z=W,J=X}else K&&ut($(K,t)[0]),V[U++]=t;var n,a,i,o}for("linear"===D||"spline"===D?$=function(t,e){for(var r=[],n=0,a=0;a<4;a++){var i=it[a],o=c(t[0],t[1],e[0],e[1],i[0],i[1],i[2],i[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&Y(o,t)<Y(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===D||"vh"===D?$=function(t,e){var r=[],n=ot(t),a=ot(e);return n&&a&&st(n,a)?r:(n&&r.push(n),a&&r.push(a),r)}:"hvh"===D?$=lt(0,et,rt):"vhv"===D&&($=lt(1,nt,at)),r=0;r<j;r++)if(n=q(r)){for(U=0,K=null,ht(n),r++;r<j;r++){if(!(f=q(r))){if(z)continue;break}if(R&&e.simplify){var ft=q(r+1);if(y=Y(f,n),F&&(0===U||U===j-1)||!(y<G(f,ft)*N)){for(v=[(f[0]-n[0])/y,(f[1]-n[1])/y],p=n,x=y,b=w=k=0,g=!1,i=f,r++;r<t.length;r++){if(d=ft,ft=q(r+1),!d){if(z)continue;break}if(T=(m=[d[0]-n[0],d[1]-n[1]])[0]*v[1]-m[1]*v[0],w=Math.min(w,T),(k=Math.max(k,T))-w>G(d,ft))break;i=d,(_=m[0]*v[0]+m[1]*v[1])>x?(x=_,f=d,g=!1):_<b&&(b=_,p=d,g=!0)}if(g?(ht(f),i!==p&&ht(p)):(p!==n&&ht(p),i!==f&&ht(f)),ht(i),r>=t.length||!d)break;ht(d),n=d}}else ht(f)}K&&ct([Z||K[0],J||K[1]]),B.push(V.slice(0,U))}return B}},{"../../constants/numerical":692,"../../lib":716,"./constants":1122}],1133:[function(t,e,r){"use strict";e.exports=function(t,e,r){"spline"===r("line.shape")&&r("line.smoothing")}},{}],1134:[function(t,e,r){"use strict";var n={tonextx:1,tonexty:1,tonext:1};e.exports=function(t,e,r){var a,i,o,s,l,c={},u=!1,h=-1,f=0,p=-1;for(i=0;i<r.length;i++)(o=(a=r[i][0].trace).stackgroup||"")?o in c?l=c[o]:(l=c[o]=f,f++):a.fill in n&&p>=0?l=p:(l=p=f,f++),l<h&&(u=!0),a._groupIndex=h=l;var d=r.slice();u&&d.sort(function(t,e){var r=t[0].trace,n=e[0].trace;return r._groupIndex-n._groupIndex||r.index-n.index});var g={};for(i=0;i<d.length;i++)o=(a=d[i][0].trace).stackgroup||"",!0===a.visible?(a._nexttrace=null,a.fill in n&&(s=g[o],a._prevtrace=s||null,s&&(s._nexttrace=a)),a._ownfill=a.fill&&("tozero"===a.fill.substr(0,6)||"toself"===a.fill||"to"===a.fill.substr(0,2)&&!a._prevtrace),g[o]=a):a._prevtrace=a._nexttrace=a._ownfill=null;return d}},{}],1135:[function(t,e,r){"use strict";var n=t("fast-isnumeric");e.exports=function(t){var e=t.marker,r=e.sizeref||1,a=e.sizemin||0,i="area"===e.sizemode?function(t){return Math.sqrt(t/r)}:function(t){return t/r};return function(t){var e=i(t/2);return n(e)&&e>0?Math.max(e,a):0}}},{"fast-isnumeric":227}],1136:[function(t,e,r){"use strict";e.exports={container:"marker",min:"cmin",max:"cmax"}},{}],1137:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/helpers").hasColorscale,i=t("../../components/colorscale/defaults"),o=t("./subtypes");e.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;(c=c||{},h&&(r=h),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),l("marker.color",r),a(t,"marker")&&i(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),a(t,"marker.line")&&i(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient)&&("none"!==l("marker.gradient.type")&&l("marker.gradient.color"))}},{"../../components/color":591,"../../components/colorscale/defaults":601,"../../components/colorscale/helpers":602,"./subtypes":1142}],1138:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../lib"),o=i.ensureSingle,s=i.identity,l=t("../../components/drawing"),c=t("./subtypes"),u=t("./line_points"),h=t("./link_traces"),f=t("../../lib/polygon").tester;function p(t,e,r,h,p,d,g){var v;!function(t,e,r,a,o){var s=r.xaxis,l=r.yaxis,u=n.extent(i.simpleMap(s.range,s.r2c)),h=n.extent(i.simpleMap(l.range,l.r2c)),f=a[0].trace;if(!c.hasMarkers(f))return;var p=f.marker.maxdisplayed;if(0===p)return;var d=a.filter(function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]}),g=Math.ceil(d.length/p),v=0;o.forEach(function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r<e&&v++});var m=Math.round(v*g/3+Math.floor(v/3)*g/7.1);a.forEach(function(t){delete t.vis}),d.forEach(function(t,e){0===Math.round((e+m)%g)&&(t.vis=!0)})}(0,e,r,h,p);var m=!!g&&g.duration>0;function y(t){return m?t.transition():t}var x=r.xaxis,b=r.yaxis,_=h[0].trace,w=_.line,k=n.select(d),T=o(k,"g","errorbars"),A=o(k,"g","lines"),M=o(k,"g","points"),S=o(k,"g","text");if(a.getComponentMethod("errorbars","plot")(t,T,r,g),!0===_.visible){var E,L;y(k).style("opacity",_.opacity);var C=_.fill.charAt(_.fill.length-1);"x"!==C&&"y"!==C&&(C=""),h[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var P,O,z="",I=[],D=_._prevtrace;D&&(z=D._prevRevpath||"",L=D._nextFill,I=D._polygons);var R,F,B,N,j,V,U,q="",H="",G=[],Y=i.noop;if(E=_._ownFill,c.hasLines(_)||"none"!==_.fill){for(L&&L.datum(h),-1!==["hv","vh","hvh","vhv"].indexOf(w.shape)?(R=l.steps(w.shape),F=l.steps(w.shape.split("").reverse().join(""))):R=F="spline"===w.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),w.smoothing):l.smoothopen(t,w.smoothing)}:function(t){return"M"+t.join("L")},B=function(t){return F(t.reverse())},G=u(h,{xaxis:x,yaxis:b,connectGaps:_.connectgaps,baseTolerance:Math.max(w.width||1,3)/4,shape:w.shape,simplify:w.simplify,fill:_.fill}),U=_._polygons=new Array(G.length),v=0;v<G.length;v++)_._polygons[v]=f(G[v]);G.length&&(N=G[0][0],V=(j=G[G.length-1])[j.length-1]),Y=function(t){return function(e){if(P=R(e),O=B(e),q?C?(q+="L"+P.substr(1),H=O+"L"+H.substr(1)):(q+="Z"+P,H=O+"Z"+H):(q=P,H=O),c.hasLines(_)&&e.length>1){var r=n.select(this);if(r.datum(h),t)y(r.style("opacity",0).attr("d",P).call(l.lineGroupStyle)).style("opacity",1);else{var a=y(r);a.attr("d",P),l.singleLineStyle(h,a)}}}}}var W=A.selectAll(".js-line").data(G);y(W.exit()).style("opacity",0).remove(),W.each(Y(!1)),W.enter().append("path").classed("js-line",!0).style("vector-effect","non-scaling-stroke").call(l.lineGroupStyle).each(Y(!0)),l.setClipUrl(W,r.layerClipId,t),G.length?(E?(E.datum(h),N&&V&&(C?("y"===C?N[1]=V[1]=b.c2p(0,!0):"x"===C&&(N[0]=V[0]=x.c2p(0,!0)),y(E).attr("d","M"+V+"L"+N+"L"+q.substr(1)).call(l.singleFillStyle)):y(E).attr("d",q+"Z").call(l.singleFillStyle))):L&&("tonext"===_.fill.substr(0,6)&&q&&z?("tonext"===_.fill?y(L).attr("d",q+"Z"+z+"Z").call(l.singleFillStyle):y(L).attr("d",q+"L"+z.substr(1)+"Z").call(l.singleFillStyle),_._polygons=_._polygons.concat(I)):(Z(L),_._polygons=null)),_._prevRevpath=H,_._prevPolygons=U):(E?Z(E):L&&Z(L),_._polygons=_._prevRevpath=_._prevPolygons=null),M.datum(h),S.datum(h),function(e,a,i){var o,u=i[0].trace,h=c.hasMarkers(u),f=c.hasText(u),p=tt(u),d=et,g=et;if(h||f){var v=s,_=u.stackgroup,w=_&&"infer zero"===t._fullLayout._scatterStackOpts[x._id+b._id][_].stackgaps;u.marker.maxdisplayed||u._needsCull?v=w?K:J:_&&!w&&(v=Q),h&&(d=v),f&&(g=v)}var k,T=(o=e.selectAll("path.point").data(d,p)).enter().append("path").classed("point",!0);m&&T.call(l.pointStyle,u,t).call(l.translatePoints,x,b).style("opacity",0).transition().style("opacity",1),o.order(),h&&(k=l.makePointStyleFns(u)),o.each(function(e){var a=n.select(this),i=y(a);l.translatePoint(e,i,x,b)?(l.singlePointStyle(e,i,u,k,t),r.layerClipId&&l.hideOutsideRangePoint(e,i,x,b,u.xcalendar,u.ycalendar),u.customdata&&a.classed("plotly-customdata",null!==e.data&&void 0!==e.data)):i.remove()}),m?o.exit().transition().style("opacity",0).remove():o.exit().remove(),(o=a.selectAll("g").data(g,p)).enter().append("g").classed("textpoint",!0).append("text"),o.order(),o.each(function(t){var e=n.select(this),a=y(e.select("text"));l.translatePoint(t,a,x,b)?r.layerClipId&&l.hideOutsideRangePoint(t,e,x,b,u.xcalendar,u.ycalendar):e.remove()}),o.selectAll("text").call(l.textPointStyle,u,t).each(function(t){var e=x.c2p(t.x),r=b.c2p(t.y);n.select(this).selectAll("tspan.line").each(function(){y(n.select(this)).attr({x:e,y:r})})}),o.exit().remove()}(M,S,h);var X=!1===_.cliponaxis?null:r.layerClipId;l.setClipUrl(M,X,t),l.setClipUrl(S,X,t)}function Z(t){y(t).attr("d","M0,0Z")}function J(t){return t.filter(function(t){return!t.gap&&t.vis})}function K(t){return t.filter(function(t){return t.vis})}function Q(t){return t.filter(function(t){return!t.gap})}function $(t){return t.id}function tt(t){if(t.ids)return $}function et(){return!1}}e.exports=function(t,e,r,a,i,c){var u,f,d=!i,g=!!i&&i.duration>0,v=h(t,e,r);((u=a.selectAll("g.trace").data(v,function(t){return t[0].trace.uid})).enter().append("g").attr("class",function(t){return"trace scatter trace"+t[0].trace.uid}).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each(function(e){var a=o(n.select(this),"g","fills");l.setClipUrl(a,r.layerClipId,t);var i=e[0].trace,c=[];i._ownfill&&c.push("_ownFill"),i._nexttrace&&c.push("_nextFill");var u=a.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each(function(t){i[t]=null}).remove(),u.order().each(function(t){i[t]=o(n.select(this),"path","js-fill")})})}(t,u,e),g)?(c&&(f=c()),n.transition().duration(i.duration).ease(i.easing).each("end",function(){f&&f()}).each("interrupt",function(){f&&f()}).each(function(){a.selectAll("g.trace").each(function(r,n){p(t,n,e,r,v,this,i)})})):u.each(function(r,n){p(t,n,e,r,v,this,i)});d&&u.exit().remove(),a.selectAll("path:not([d])").remove()}},{"../../components/drawing":612,"../../lib":716,"../../lib/polygon":728,"../../registry":845,"./line_points":1132,"./link_traces":1134,"./subtypes":1142,d3:164}],1139:[function(t,e,r){"use strict";var n=t("./subtypes");e.exports=function(t,e){var r,a,i,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r<s.length;r++)s[r].selected=0;else for(r=0;r<s.length;r++)a=s[r],i=l.c2p(a.x),o=c.c2p(a.y),null!==a.i&&e.contains([i,o],!1,r,t)?(u.push({pointNumber:a.i,x:l.c2d(a.x),y:c.c2d(a.y)}),a.selected=1):a.selected=0;return u}},{"./subtypes":1142}],1140:[function(t,e,r){"use strict";var n=["orientation","groupnorm","stackgaps"];e.exports=function(t,e,r,a){var i=r._scatterStackOpts,o=a("stackgroup");if(o){var s=e.xaxis+e.yaxis,l=i[s];l||(l=i[s]={});var c=l[o],u=!1;c?c.traces.push(e):(c=l[o]={traceIndices:[],traces:[e]},u=!0);for(var h={orientation:e.x&&!e.y?"h":"v"},f=0;f<n.length;f++){var p=n[f],d=p+"Found";if(!c[d]){var g=void 0!==t[p],v="orientation"===p;if((g||u)&&(c[p]=a(p,h[p]),v&&(c.fillDflt="h"===c[p]?"tonextx":"tonexty"),g&&(c[d]=!0,!u&&(delete c.traces[0][p],v))))for(var m=0;m<c.traces.length-1;m++){var y=c.traces[m];y._input.fill!==y.fill&&(y.fill=c.fillDflt)}}}return c}}},{}],1141:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../registry");function o(t,e,r){a.pointStyle(t.selectAll("path.point"),e,r)}function s(t,e,r){a.textPointStyle(t.selectAll("text"),e,r)}e.exports={style:function(t){var e=n.select(t).selectAll("g.trace.scatter");e.style("opacity",function(t){return t[0].trace.opacity}),e.selectAll("g.points").each(function(e){o(n.select(this),e.trace||e[0].trace,t)}),e.selectAll("g.text").each(function(e){s(n.select(this),e.trace||e[0].trace,t)}),e.selectAll("g.trace path.js-line").call(a.lineGroupStyle),e.selectAll("g.trace path.js-fill").call(a.fillGroupStyle),i.getComponentMethod("errorbars","style")(e)},stylePoints:o,styleText:s,styleOnSelect:function(t,e,r){var n=e[0].trace;n.selectedpoints?(a.selectedPointStyle(r.selectAll("path.point"),n),a.selectedTextStyle(r.selectAll("text"),n)):(o(r,n,t),s(r,n,t))}}},{"../../components/drawing":612,"../../registry":845,d3:164}],1142:[function(t,e,r){"use strict";var n=t("../../lib");e.exports={hasLines:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("lines")},hasMarkers:function(t){return t.visible&&(t.mode&&-1!==t.mode.indexOf("markers")||"splom"===t.type)},hasText:function(t){return t.visible&&t.mode&&-1!==t.mode.indexOf("text")},isBubble:function(t){return n.isPlainObject(t.marker)&&n.isArrayOrTypedArray(t.marker.size)}}},{"../../lib":716}],1143:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e,r,a,i){i=i||{},a("textposition"),n.coerceFont(a,"textfont",r.font),i.noSelect||(a("selected.textfont.color"),a("unselected.textfont.color"))}},{"../../lib":716}],1144:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry");e.exports=function(t,e,r,i){var o,s=i("x"),l=i("y");if(a.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],r),s){var c=n.minRowLength(s);l?o=Math.min(c,n.minRowLength(l)):(o=c,i("y0"),i("dy"))}else{if(!l)return 0;o=n.minRowLength(l),i("x0"),i("dx")}return e._length=o,o}},{"../../lib":716,"../../registry":845}],1145:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../plots/attributes"),l=t("../../constants/gl3d_dashes"),c=t("../../constants/gl3d_markers"),u=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll,f=n.line,p=n.marker,d=p.line,g=u({width:f.width,dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},a("line"));var v=e.exports=h({x:n.x,y:n.y,z:{valType:"data_array"},text:u({},n.text,{}),texttemplate:o({},{}),hovertext:u({},n.hovertext,{}),hovertemplate:i(),mode:u({},n.mode,{dflt:"lines+markers"}),surfaceaxis:{valType:"enumerated",values:[-1,0,1,2],dflt:-1},surfacecolor:{valType:"color"},projection:{x:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},y:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}},z:{show:{valType:"boolean",dflt:!1},opacity:{valType:"number",min:0,max:1,dflt:1},scale:{valType:"number",min:0,max:10,dflt:2/3}}},connectgaps:n.connectgaps,line:g,marker:u({symbol:{valType:"enumerated",values:Object.keys(c),dflt:"circle",arrayOk:!0},size:u({},p.size,{dflt:8}),sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode,opacity:u({},p.opacity,{arrayOk:!1}),colorbar:p.colorbar,line:u({width:u({},d.width,{arrayOk:!1})},a("marker.line"))},a("marker")),textposition:u({},n.textposition,{dflt:"top center"}),textfont:{color:n.textfont.color,size:n.textfont.size,family:u({},n.textfont.family,{arrayOk:!1})},hoverinfo:u({},s.hoverinfo)},"calc","nested");v.x.editType=v.y.editType=v.z.editType="calc+clearAxisTypes"},{"../../components/colorscale/attributes":598,"../../constants/gl3d_dashes":689,"../../constants/gl3d_markers":690,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1146:[function(t,e,r){"use strict";var n=t("../scatter/arrays_to_calcdata"),a=t("../scatter/colorscale_calc");e.exports=function(t,e){var r=[{x:!1,y:!1,trace:e,t:{}}];return n(r,e),a(t,e),r}},{"../scatter/arrays_to_calcdata":1117,"../scatter/colorscale_calc":1121}],1147:[function(t,e,r){"use strict";var n=t("../../registry");function a(t,e,r,a){if(!e||!e.visible)return null;for(var i=n.getComponentMethod("errorbars","makeComputeError")(e),o=new Array(t.length),s=0;s<t.length;s++){var l=i(+t[s],s);if("log"===a.type){var c=a.c2l(t[s]),u=t[s]-l[0],h=t[s]+l[1];if(o[s]=[(a.c2l(u,!0)-c)*r,(a.c2l(h,!0)-c)*r],u>0){var f=a.c2l(u);a._lowerLogErrorBound||(a._lowerLogErrorBound=f),a._lowerErrorBound=Math.min(a._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}e.exports=function(t,e,r){var n=[a(t.x,t.error_x,e[0],r.xaxis),a(t.y,t.error_y,e[1],r.yaxis),a(t.z,t.error_z,e[2],r.zaxis)],i=function(t){for(var e=0;e<t.length;e++)if(t[e])return t[e].length;return 0}(n);if(0===i)return null;for(var o=new Array(i),s=0;s<i;s++){for(var l=[[0,0,0],[0,0,0]],c=0;c<3;c++)if(n[c])for(var u=0;u<2;u++)l[u][c]=n[c][s][u];o[s]=l}return o}},{"../../registry":845}],1148:[function(t,e,r){"use strict";var n=t("gl-line3d"),a=t("gl-scatter3d"),i=t("gl-error3d"),o=t("gl-mesh3d"),s=t("delaunay-triangulate"),l=t("../../lib"),c=t("../../lib/str2rgbarray"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/make_bubble_size_func"),f=t("../../constants/gl3d_dashes"),p=t("../../constants/gl3d_markers"),d=t("../../plots/cartesian/axes"),g=t("../../components/fx/helpers").appendArrayPointValue,v=t("./calc_errors");function m(t,e){this.scene=t,this.uid=e,this.linePlot=null,this.scatterPlot=null,this.errorBars=null,this.textMarkers=null,this.delaunayMesh=null,this.color=null,this.mode="",this.dataPoints=[],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.textLabels=null,this.data=null}var y=m.prototype;function x(t){return null==t?0:t.indexOf("left")>-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function k(t,e,r,n,a){var i=null;if(l.isArrayOrTypedArray(t)){i=[];for(var o=0;o<e;o++)void 0===t[o]?i[o]=n:i[o]=r(t[o],a)}else i=r(t,l.identity);return i}function T(t,e){var r,n,a,i,o,s,f=[],p=t.fullSceneLayout,m=t.dataScale,y=p.xaxis,T=p.yaxis,A=p.zaxis,M=e.marker,S=e.line,E=e.x||[],L=e.y||[],C=e.z||[],P=E.length,O=e.xcalendar,z=e.ycalendar,I=e.zcalendar;for(o=0;o<P;o++)r=y.d2l(E[o],0,O)*m[0],n=T.d2l(L[o],0,z)*m[1],a=A.d2l(C[o],0,I)*m[2],f[o]=[r,n,a];if(Array.isArray(e.text))s=e.text;else if(void 0!==e.text)for(s=new Array(P),o=0;o<P;o++)s[o]=e.text;function D(t,e){var r=p[t];return d.tickText(r,r.d2l(e),!0).text}var R=e.texttemplate;if(R){var F=t.fullLayout._d3locale,B=Array.isArray(R),N=B?Math.min(R.length,P):P,j=B?function(t){return R[t]}:function(){return R};for(s=new Array(N),o=0;o<N;o++){var V={x:E[o],y:L[o],z:C[o]},U={xLabel:D("xaxis",E[o]),yLabel:D("yaxis",L[o]),zLabel:D("zaxis",C[o])},q={};g(q,e,o);var H=e._meta||{};s[o]=l.texttemplateString(j(o),U,F,q,V,H)}}if(i={position:f,mode:e.mode,text:s},"line"in e&&(i.lineColor=u(S,1,P),i.lineWidth=S.width,i.lineDashes=S.dash),"marker"in e){var G=h(e);i.scatterColor=u(M,1,P),i.scatterSize=k(M.size,P,_,20,G),i.scatterMarker=k(M.symbol,P,w,"\u25cf"),i.scatterLineWidth=M.line.width,i.scatterLineColor=u(M.line,1,P),i.scatterAngle=0}"textposition"in e&&(i.textOffset=function(t){var e=[0,0];if(Array.isArray(t))for(var r=0;r<t.length;r++)e[r]=[0,0],t[r]&&(e[r][0]=x(t[r]),e[r][1]=b(t[r]));else e[0]=x(t),e[1]=b(t);return e}(e.textposition),i.textColor=u(e.textfont,1,P),i.textSize=k(e.textfont.size,P,l.identity,12),i.textFont=e.textfont.family,i.textAngle=0);var Y=["x","y","z"];for(i.project=[!1,!1,!1],i.projectScale=[1,1,1],i.projectOpacity=[1,1,1],o=0;o<3;++o){var W=e.projection[Y[o]];(i.project[o]=W.show)&&(i.projectOpacity[o]=W.opacity,i.projectScale[o]=W.scale)}i.errorBounds=v(e,m,p);var X=function(t){for(var e=[0,0,0],r=[[0,0,0],[0,0,0],[0,0,0]],n=[1,1,1],a=0;a<3;a++){var i=t[a];i&&!1!==i.copy_zstyle&&!1!==t[2].visible&&(i=t[2]),i&&i.visible&&(e[a]=i.width/2,r[a]=c(i.color),n[a]=i.thickness)}return{capSize:e,color:r,lineWidth:n}}([e.error_x,e.error_y,e.error_z]);return i.errorColor=X.color,i.errorLineWidth=X.lineWidth,i.errorCapSize=X.capSize,i.delaunayAxis=e.surfaceaxis,i.delaunayColor=c(e.surfacecolor),i}function A(t){if(Array.isArray(t)){var e=t[0];return Array.isArray(e)&&(t=e),"rgb("+t.slice(0,3).map(function(t){return Math.round(255*t)})+")"}return null}y.handlePick=function(t){if(t.object&&(t.object===this.linePlot||t.object===this.delaunayMesh||t.object===this.textMarkers||t.object===this.scatterPlot)){var e=t.index=t.data.index;return t.object.highlight&&t.object.highlight(null),this.scatterPlot&&(t.object=this.scatterPlot,this.scatterPlot.highlight(t.data)),t.textLabel="",this.textLabels&&(Array.isArray(this.textLabels)?(this.textLabels[e]||0===this.textLabels[e])&&(t.textLabel=this.textLabels[e]):t.textLabel=this.textLabels),t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]],!0}},y.update=function(t){var e,r,l,c,u=this.scene.glplot.gl,h=f.solid;this.data=t;var p=T(this.scene,t);"mode"in p&&(this.mode=p.mode),"lineDashes"in p&&p.lineDashes in f&&(h=f[p.lineDashes]),this.color=A(p.scatterColor)||A(p.lineColor),this.dataPoints=p.position,e={gl:this.scene.glplot.gl,position:p.position,color:p.lineColor,lineWidth:p.lineWidth||1,dashes:h[0],dashScale:h[1],opacity:t.opacity,connectGaps:t.connectgaps},-1!==this.mode.indexOf("lines")?this.linePlot?this.linePlot.update(e):(this.linePlot=n(e),this.linePlot._trace=this,this.scene.glplot.add(this.linePlot)):this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose(),this.linePlot=null);var d=t.opacity;if(t.marker&&t.marker.opacity&&(d*=t.marker.opacity),r={gl:this.scene.glplot.gl,position:p.position,color:p.scatterColor,size:p.scatterSize,glyph:p.scatterMarker,opacity:d,orthographic:!0,lineWidth:p.scatterLineWidth,lineColor:p.scatterLineColor,project:p.project,projectScale:p.projectScale,projectOpacity:p.projectOpacity},-1!==this.mode.indexOf("markers")?this.scatterPlot?this.scatterPlot.update(r):(this.scatterPlot=a(r),this.scatterPlot._trace=this,this.scatterPlot.highlightScale=1,this.scene.glplot.add(this.scatterPlot)):this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose(),this.scatterPlot=null),c={gl:this.scene.glplot.gl,position:p.position,glyph:p.text,color:p.textColor,size:p.textSize,angle:p.textAngle,alignment:p.textOffset,font:p.textFont,orthographic:!0,lineWidth:0,project:!1,opacity:t.opacity},this.textLabels=t.hovertext||t.text,-1!==this.mode.indexOf("text")?this.textMarkers?this.textMarkers.update(c):(this.textMarkers=a(c),this.textMarkers._trace=this,this.textMarkers.highlightScale=1,this.scene.glplot.add(this.textMarkers)):this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose(),this.textMarkers=null),l={gl:this.scene.glplot.gl,position:p.position,color:p.errorColor,error:p.errorBounds,lineWidth:p.errorLineWidth,capSize:p.errorCapSize,opacity:t.opacity},this.errorBars?p.errorBounds?this.errorBars.update(l):(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose(),this.errorBars=null):p.errorBounds&&(this.errorBars=i(l),this.errorBars._trace=this,this.scene.glplot.add(this.errorBars)),p.delaunayAxis>=0){var g=function(t,e,r){var n,a=(r+1)%3,i=(r+2)%3,o=[],l=[];for(n=0;n<t.length;++n){var c=t[n];!isNaN(c[a])&&isFinite(c[a])&&!isNaN(c[i])&&isFinite(c[i])&&(o.push([c[a],c[i]]),l.push(n))}var u=s(o);for(n=0;n<u.length;++n)for(var h=u[n],f=0;f<h.length;++f)h[f]=l[h[f]];return{positions:t,cells:u,meshColor:e}}(p.position,p.delaunayColor,p.delaunayAxis);g.opacity=t.opacity,this.delaunayMesh?this.delaunayMesh.update(g):(g.gl=u,this.delaunayMesh=o(g),this.delaunayMesh._trace=this,this.scene.glplot.add(this.delaunayMesh))}else this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose(),this.delaunayMesh=null)},y.dispose=function(){this.linePlot&&(this.scene.glplot.remove(this.linePlot),this.linePlot.dispose()),this.scatterPlot&&(this.scene.glplot.remove(this.scatterPlot),this.scatterPlot.dispose()),this.errorBars&&(this.scene.glplot.remove(this.errorBars),this.errorBars.dispose()),this.textMarkers&&(this.scene.glplot.remove(this.textMarkers),this.textMarkers.dispose()),this.delaunayMesh&&(this.scene.glplot.remove(this.delaunayMesh),this.delaunayMesh.dispose())},e.exports=function(t,e){var r=new m(t,e.uid);return r.update(e),r}},{"../../components/fx/helpers":626,"../../constants/gl3d_dashes":689,"../../constants/gl3d_markers":690,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/cartesian/axes":764,"../scatter/make_bubble_size_func":1135,"./calc_errors":1147,"delaunay-triangulate":166,"gl-error3d":249,"gl-line3d":257,"gl-mesh3d":282,"gl-scatter3d":299}],1149:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,n){return a.coerce(t,e,c,r,n)}if(function(t,e,r,a){var i=0,o=r("x"),s=r("y"),l=r("z");n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],a),o&&s&&l&&(i=Math.min(o.length,s.length,l.length),e._length=e._xlength=e._ylength=e._zlength=i);return i}(t,e,h,u)){h("text"),h("hovertext"),h("hovertemplate"),h("mode"),i.hasLines(e)&&(h("connectgaps"),s(t,e,r,u,h)),i.hasMarkers(e)&&o(t,e,r,u,h,{noSelect:!0}),i.hasText(e)&&(h("texttemplate"),l(t,e,u,h,{noSelect:!0}));var f=(e.line||{}).color,p=(e.marker||{}).color;h("surfaceaxis")>=0&&h("surfacecolor",f||p);for(var d=["x","y","z"],g=0;g<3;++g){var v="projection."+d[g];h(v+".show")&&(h(v+".opacity"),h(v+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,f||p||r,{axis:"z"}),m(t,e,f||p||r,{axis:"y",inherit:"z"}),m(t,e,f||p||r,{axis:"x",inherit:"z"})}else e.visible=!1}},{"../../lib":716,"../../registry":845,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1145}],1150:[function(t,e,r){"use strict";e.exports={plot:t("./convert"),attributes:t("./attributes"),markerSymbols:t("../../constants/gl3d_markers"),supplyDefaults:t("./defaults"),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:t("./calc"),moduleType:"trace",name:"scatter3d",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},{"../../constants/gl3d_markers":690,"../../plots/gl3d":804,"./attributes":1145,"./calc":1146,"./convert":1148,"./defaults":1149}],1151:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../plots/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/template_attributes").texttemplateAttrs,s=t("../../components/colorscale/attributes"),l=t("../../lib/extend").extendFlat,c=n.marker,u=n.line,h=c.line;e.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:l({},n.mode,{dflt:"markers"}),text:l({},n.text,{}),texttemplate:o({editType:"plot"},{keys:["a","b","text"]}),hovertext:l({},n.hovertext,{}),line:{color:u.color,width:u.width,dash:u.dash,shape:l({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:n.connectgaps,fill:l({},n.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n.fillcolor,marker:l({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:l({width:h.width,editType:"calc"},s("marker.line")),gradient:c.gradient,editType:"calc"},s("marker")),textfont:n.textfont,textposition:n.textposition,selected:n.selected,unselected:n.unselected,hoverinfo:l({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:n.hoveron,hovertemplate:i()}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1152:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=t("../carpet/lookup_carpetid");e.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c<f;c++)if(u=e.a[c],h=e.b[c],n(u)&&n(h)){var g=r.ab2xy(+u,+h,!0),v=r.isVisible(+u,+h);v||(d=!0),p[c]={x:g[0],y:g[1],a:u,b:h,vis:v}}else p[c]={x:!1,y:!1};return e._needsCull=d,p[0].carpet=r,p[0].trace=e,s(e,f),a(t,e),i(p,e),o(p,e),p}}},{"../carpet/lookup_carpetid":914,"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1153:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/constants"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}p("carpet"),e.xaxis="x",e.yaxis="y";var d=p("a"),g=p("b"),v=Math.min(d.length,g.length);if(v){e._length=v,p("text"),p("texttemplate"),p("hovertext"),p("mode",v<a.PTS_LINESONLY?"lines+markers":"lines"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&c(t,e,f,p);var m=[];(i.hasMarkers(e)||i.hasText(e))&&(p("marker.maxdisplayed"),m.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||m.push("fills"),"fills"!==p("hoveron",m.join("+")||"points")&&p("hovertemplate"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1151}],1154:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){var i=n[a];return t.a=i.a,t.b=i.b,t.y=i.y,t}},{}],1155:[function(t,e,r){"use strict";e.exports=function(t,e){var r={},n=e._carpet,a=n.ab2ij([t.a,t.b]),i=Math.floor(a[0]),o=a[0]-i,s=Math.floor(a[1]),l=a[1]-s,c=n.evalxy([],i,s,o,l);return r.yLabel=c[1].toFixed(3),r}},{}],1156:[function(t,e,r){"use strict";var n=t("../scatter/hover"),a=t("../../lib").fillText;e.exports=function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index){var l=1-s.y0/t.ya._length,c=t.xa._length,u=c*l/2,h=c-u;return s.x0=Math.max(Math.min(s.x0,h),u),s.x1=Math.max(Math.min(s.x1,h),u),o}var f=s.cd[s.index];s.a=f.a,s.b=f.b,s.xLabelVal=void 0,s.yLabelVal=void 0;var p=s.trace,d=p._carpet,g=p._module.formatLabels(f,p);s.yLabel=g.yLabel,delete s.text;var v=[];if(!p.hovertemplate){var m=(f.hi||p.hoverinfo).split("+");-1!==m.indexOf("all")&&(m=["a","b","text"]),-1!==m.indexOf("a")&&y(d.aaxis,f.a),-1!==m.indexOf("b")&&y(d.baxis,f.b),v.push("y: "+s.yLabel),-1!==m.indexOf("text")&&a(f,p,v),s.extraText=v.join("<br>")}return o}function y(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,v.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},{"../../lib":716,"../scatter/hover":1129}],1157:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scattercarpet",basePlotModule:t("../../plots/cartesian"),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1151,"./calc":1152,"./defaults":1153,"./event_data":1154,"./format_labels":1155,"./hover":1156,"./plot":1158}],1158:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../plots/cartesian/axes"),i=t("../../components/drawing");e.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h={xaxis:a.getFromId(t,u.xaxis||"x"),yaxis:a.getFromId(t,u.yaxis||"y"),plot:e.plot};for(n(t,h,r,o),s=0;s<r.length;s++)l=r[s][0].trace,c=o.selectAll("g.trace"+l.uid+" .js-line"),i.setClipUrl(c,r[s][0].carpet._clipPathId,t)}},{"../../components/drawing":612,"../../plots/cartesian/axes":764,"../scatter/plot":1138}],1159:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=t("../../plot_api/edit_types").overrideAll,h=i.marker,f=i.line,p=h.line;e.exports=u({lon:{valType:"data_array"},lat:{valType:"data_array"},locations:{valType:"data_array"},locationmode:{valType:"enumerated",values:["ISO-3","USA-states","country names"],dflt:"ISO-3"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["lat","lon","location","text"]}),hovertext:c({},i.hovertext,{}),textfont:i.textfont,textposition:i.textposition,line:{color:f.color,width:f.width,dash:l},connectgaps:i.connectgaps,marker:c({symbol:h.symbol,opacity:h.opacity,size:h.size,sizeref:h.sizeref,sizemin:h.sizemin,sizemode:h.sizemode,colorbar:h.colorbar,line:c({width:p.width},s("marker.line")),gradient:h.gradient},s("marker")),fill:{valType:"enumerated",values:["none","toself"],dflt:"none"},fillcolor:i.fillcolor,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["lon","lat","location","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1160:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../scatter/colorscale_calc"),o=t("../scatter/arrays_to_calcdata"),s=t("../scatter/calc_selection"),l=t("../../lib")._;e.exports=function(t,e){for(var r=Array.isArray(e.locations),c=r?e.locations.length:e._length,u=new Array(c),h=0;h<c;h++){var f=u[h]={};if(r){var p=e.locations[h];f.loc="string"==typeof p?p:null}else{var d=e.lon[h],g=e.lat[h];n(d)&&n(g)?f.lonlat=[+d,+g]:f.lonlat=[a,a]}}return o(u,e),i(t,e),s(u,e),c&&(u[0].t={labels:{lat:l(t,"lat:")+" ",lon:l(t,"lon:")+" "}}),u}},{"../../constants/numerical":692,"../../lib":716,"../scatter/arrays_to_calcdata":1117,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1161:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}!function(t,e,r){var n,a,i=0,o=r("locations");if(o)return r("locationmode"),i=o.length;return n=r("lon")||[],a=r("lat")||[],i=Math.min(n.length,a.length),e._length=i,i}(0,e,h)?e.visible=!1:(h("text"),h("hovertext"),h("hovertemplate"),h("mode"),a.hasLines(e)&&(o(t,e,r,u,h),h("connectgaps")),a.hasMarkers(e)&&i(t,e,r,u,h,{gradient:!0}),a.hasText(e)&&(h("texttemplate"),s(t,e,u,h)),h("fill"),"none"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h))}},{"../../lib":716,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1159}],1162:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.location=e.loc?e.loc:null,t}},{}],1163:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.geo]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{"../../plots/cartesian/axes":764}],1164:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../constants/numerical").BADNUM,i=t("../scatter/get_trace_color"),o=t("../../lib").fillText,s=t("./attributes");e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=f.projection.isLonLatOverEdges,d=f.project;if(n.getClosest(l,function(t){var n=t.lonlat;if(n[0]===a)return 1/0;if(p(n))return 1/0;var i=d(n),o=d([e,r]),s=Math.abs(i[0]-o[0]),l=Math.abs(i[1]-o[1]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(s*s+l*l)-c,1-3/c)},t),!1!==t.index){var g=l[t.index],v=g.lonlat,m=[u.c2p(v),h.c2p(v)],y=g.mrc||1;t.x0=m[0]-y,t.x1=m[0]+y,t.y0=m[1]-y,t.y1=m[1]+y,t.loc=g.loc,t.lon=v[0],t.lat=v[1];var x={};x[c.geo]={_subplot:f};var b=c._module.formatLabels(g,c,x);return t.lonLabel=b.lonLabel,t.latLabel=b.latLabel,t.color=i(c,g),t.extraText=function(t,e,r,n){if(t.hovertemplate)return;var a=e.hi||t.hoverinfo,i="all"===a?s.hoverinfo.flags:a.split("+"),l=-1!==i.indexOf("location")&&Array.isArray(t.locations),c=-1!==i.indexOf("lon"),u=-1!==i.indexOf("lat"),h=-1!==i.indexOf("text"),f=[];function p(t){return t+"\xb0"}l?f.push(e.loc):c&&u?f.push("("+p(r.lonLabel)+", "+p(r.latLabel)+")"):c?f.push(n.lon+p(r.lonLabel)):u&&f.push(n.lat+p(r.latLabel));h&&o(e,t,f);return f.join("<br>")}(c,g,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128,"./attributes":1159}],1165:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),moduleType:"trace",name:"scattergeo",basePlotModule:t("../../plots/geo"),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/geo":794,"../scatter/marker_colorbar":1136,"../scatter/style":1141,"./attributes":1159,"./calc":1160,"./defaults":1161,"./event_data":1162,"./format_labels":1163,"./hover":1164,"./plot":1166,"./select":1167,"./style":1168}],1166:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM,o=t("../../lib/topojson_utils").getTopojsonFeatures,s=t("../../lib/geo_location_utils").locationToFeature,l=t("../../lib/geojson_utils"),c=t("../scatter/subtypes"),u=t("./style");function h(t,e){var r=t[0].trace;if(Array.isArray(r.locations))for(var n=o(r,e),a=r.locationmode,l=0;l<t.length;l++){var c=t[l],u=s(a,c.loc,n);c.lonlat=u?u.properties.ct:[i,i]}}e.exports=function(t,e,r){for(var o=0;o<r.length;o++)h(r[o],e.topojson);function s(t,e){t.lonlat[0]===i&&n.select(e).remove()}var f=e.layers.frontplot.select(".scatterlayer"),p=a.makeTraceGroups(f,r,"trace scattergeo");p.selectAll("*").remove(),p.each(function(e){var r=n.select(this),i=e[0].trace;if(c.hasLines(i)||"none"!==i.fill){var o=l.calcTraceToLineCoords(e),h="none"!==i.fill?l.makePolygon(o):l.makeLine(o);r.selectAll("path.js-line").data([{geojson:h,trace:i}]).enter().append("path").classed("js-line",!0).style("stroke-miterlimit",2)}c.hasMarkers(i)&&r.selectAll("path.point").data(a.identity).enter().append("path").classed("point",!0).each(function(t){s(t,this)}),c.hasText(i)&&r.selectAll("g").data(a.identity).enter().append("g").append("text").each(function(t){s(t,this)}),u(t,e)})}},{"../../constants/numerical":692,"../../lib":716,"../../lib/geo_location_utils":710,"../../lib/geojson_utils":711,"../../lib/topojson_utils":743,"../scatter/subtypes":1142,"./style":1168,d3:164}],1167:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,i,o,s,l,c=t.cd,u=t.xaxis,h=t.yaxis,f=[],p=c[0].trace;if(!n.hasMarkers(p)&&!n.hasText(p))return[];if(!1===e)for(l=0;l<c.length;l++)c[l].selected=0;else for(l=0;l<c.length;l++)(i=(r=c[l]).lonlat)[0]!==a&&(o=u.c2p(i),s=h.c2p(i),e.contains([o,s],null,l,t)?(f.push({pointNumber:l,lon:i[0],lat:i[1]}),r.selected=1):r.selected=0);return f}},{"../../constants/numerical":692,"../scatter/subtypes":1142}],1168:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../scatter/style"),s=o.stylePoints,l=o.styleText;e.exports=function(t,e){e&&function(t,e){var r=e[0].trace,o=e[0].node3;o.style("opacity",e[0].trace.opacity),s(o,r,t),l(o,r,t),o.selectAll("path.js-line").style("fill","none").each(function(t){var e=n.select(this),r=t.trace,o=r.line||{};e.call(i.stroke,o.color).call(a.dashLine,o.dash||"",o.width||0),"none"!==r.fill&&e.call(i.fill,r.fillcolor)})}(t,e)}},{"../../components/color":591,"../../components/drawing":612,"../scatter/style":1141,d3:164}],1169:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../scatter/attributes"),i=t("../../components/colorscale/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=t("./constants").DASHES,c=a.line,u=a.marker,h=u.line,f=e.exports=s({x:a.x,x0:a.x0,dx:a.dx,y:a.y,y0:a.y0,dy:a.dy,text:a.text,hovertext:a.hovertext,textposition:a.textposition,textfont:a.textfont,mode:{valType:"flaglist",flags:["lines","markers","text"],extras:["none"]},line:{color:c.color,width:c.width,shape:{valType:"enumerated",values:["linear","hv","vh","hvh","vhv"],dflt:"linear",editType:"plot"},dash:{valType:"enumerated",values:Object.keys(l),dflt:"solid"}},marker:o({},i("marker"),{symbol:u.symbol,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:o({},i("marker.line"),{width:h.width})}),connectgaps:a.connectgaps,fill:o({},a.fill,{dflt:"none"}),fillcolor:a.fillcolor,selected:{marker:a.selected.marker,textfont:a.selected.textfont},unselected:{marker:a.unselected.marker,textfont:a.unselected.textfont},opacity:n.opacity},"calc","nested");f.x.editType=f.y.editType=f.x0.editType=f.y0.editType="calc+clearAxisTypes",f.hovertemplate=a.hovertemplate,f.texttemplate=a.texttemplate},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../scatter/attributes":1118,"./constants":1171}],1170:[function(t,e,r){"use strict";var n=t("point-cluster"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids"),o=t("../../plots/cartesian/autorange").findExtremes,s=t("../scatter/calc"),l=s.calcMarkerSize,c=s.calcAxisExpansion,u=s.setFirstScatter,h=t("../scatter/colorscale_calc"),f=t("./convert"),p=t("./scene_update"),d=t("../../constants/numerical").BADNUM,g=t("./constants").TOO_MANY_POINTS;function v(t,e,r){var n=t._extremes[e._id],a=o(e,r._bnds,{padded:!0});n.min=n.min.concat(a.min),n.max=n.max.concat(a.max)}e.exports=function(t,e){var r,o,s,m=t._fullLayout,y=i.getFromId(t,e.xaxis),x=i.getFromId(t,e.yaxis),b=m._plots[e.xaxis+e.yaxis],_=e._length,w=_>=g,k=2*_,T={},A=e._x=y.makeCalcdata(e,"x"),M=e._y=x.makeCalcdata(e,"y"),S=new Array(k);for(r=0;r<_;r++)o=A[r],s=M[r],S[2*r]=o===d?NaN:o,S[2*r+1]=s===d?NaN:s;if("log"===y.type)for(r=0;r<k;r+=2)S[r]=y.c2l(S[r]);if("log"===x.type)for(r=1;r<k;r+=2)S[r]=x.c2l(S[r]);if(w&&"log"!==y.type&&"log"!==x.type)T.tree=n(S);else{var E=T.ids=new Array(_);for(r=0;r<_;r++)E[r]=r}h(t,e);var L,C=function(t,e,r,n,i,o){var s=f.style(t,r);s.marker&&(s.marker.positions=n);s.line&&n.length>1&&a.extendFlat(s.line,f.linePositions(t,r,n));if(s.errorX||s.errorY){var l=f.errorBarPositions(t,r,n,i,o);s.errorX&&a.extendFlat(s.errorX,l.x),s.errorY&&a.extendFlat(s.errorY,l.y)}s.text&&(a.extendFlat(s.text,{positions:n},f.textPosition(t,r,s.text,s.marker)),a.extendFlat(s.textSel,{positions:n},f.textPosition(t,r,s.text,s.markerSel)),a.extendFlat(s.textUnsel,{positions:n},f.textPosition(t,r,s.text,s.markerUnsel)));return s}(t,0,e,S,A,M),P=p(t,b);return u(m,e),w?C.marker&&(L=2*(C.marker.sizeAvg||Math.max(C.marker.size,3))):L=l(e,_),c(t,e,y,x,A,M,L),C.errorX&&v(e,y,C.errorX),C.errorY&&v(e,x,C.errorY),C.fill&&!P.fill2d&&(P.fill2d=!0),C.marker&&!P.scatter2d&&(P.scatter2d=!0),C.line&&!P.line2d&&(P.line2d=!0),!C.errorX&&!C.errorY||P.error2d||(P.error2d=!0),C.text&&!P.glText&&(P.glText=!0),C.marker&&(C.marker.snap=_),P.lineOptions.push(C.line),P.errorXOptions.push(C.errorX),P.errorYOptions.push(C.errorY),P.fillOptions.push(C.fill),P.markerOptions.push(C.marker),P.markerSelectedOptions.push(C.markerSel),P.markerUnselectedOptions.push(C.markerUnsel),P.textOptions.push(C.text),P.textSelectedOptions.push(C.textSel),P.textUnselectedOptions.push(C.textUnsel),P.selectBatch.push([]),P.unselectBatch.push([]),T._scene=P,T.index=P.count,T.x=A,T.y=M,T.positions=S,P.count++,[{x:!1,y:!1,t:T,trace:e}]}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/autorange":763,"../../plots/cartesian/axis_ids":767,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"./constants":1171,"./convert":1172,"./scene_update":1179,"point-cluster":470}],1171:[function(t,e,r){"use strict";e.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},{}],1172:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("svg-path-sdf"),i=t("color-normalize"),o=t("../../registry"),s=t("../../lib"),l=t("../../components/drawing"),c=t("../../plots/cartesian/axis_ids"),u=t("../../lib/gl_format_color").formatColor,h=t("../scatter/subtypes"),f=t("../scatter/make_bubble_size_func"),p=t("./constants"),d=t("../../constants/interactions").DESELECTDIM,g={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=t("../../components/fx/helpers").appendArrayPointValue;function m(t,e){var r,a=t._fullLayout,i=e._length,o=e.textfont,l=e.textposition,c=Array.isArray(l)?l:[l],u=o.color,h=o.size,f=o.family,p={},d=e.texttemplate;if(d){p.text=[];var g=a._d3locale,m=Array.isArray(d),y=m?Math.min(d.length,i):i,x=m?function(t){return d[t]}:function(){return d};for(r=0;r<y;r++){var b={i:r},_=e._module.formatLabels(b,e,a),w={};v(w,e,r);var k=e._meta||{};p.text.push(s.texttemplateString(x(r),_,g,w,b,k))}}else Array.isArray(e.text)&&e.text.length<i?p.text=e.text.slice():p.text=e.text;if(Array.isArray(p.text))for(r=p.text.length;r<i;r++)p.text[r]="";for(p.opacity=e.opacity,p.font={},p.align=[],p.baseline=[],r=0;r<c.length;r++){var T=c[r].split(/\s+/);switch(T[1]){case"left":p.align.push("right");break;case"right":p.align.push("left");break;default:p.align.push(T[1])}switch(T[0]){case"top":p.baseline.push("bottom");break;case"bottom":p.baseline.push("top");break;default:p.baseline.push(T[0])}}if(Array.isArray(u))for(p.color=new Array(i),r=0;r<i;r++)p.color[r]=u[r];else p.color=u;if(Array.isArray(h)||Array.isArray(f))for(p.font=new Array(i),r=0;r<i;r++){var A=p.font[r]={};A.size=Array.isArray(h)?n(h[r])?h[r]:0:h,A.family=Array.isArray(f)?f[r]:f}else p.font={size:h,family:f};return p}function y(t){var e,r,n=t._length,a=t.marker,o={},l=Array.isArray(a.symbol),c=s.isArrayOrTypedArray(a.color),h=s.isArrayOrTypedArray(a.line.color),d=s.isArrayOrTypedArray(a.opacity),g=s.isArrayOrTypedArray(a.size),v=s.isArrayOrTypedArray(a.line.width);if(l||(r=p.OPEN_RE.test(a.symbol)),l||c||h||d){o.colors=new Array(n),o.borderColors=new Array(n);var m=u(a,a.opacity,n),y=u(a.line,a.opacity,n);if(!Array.isArray(y[0])){var x=y;for(y=Array(n),e=0;e<n;e++)y[e]=x}if(!Array.isArray(m[0])){var b=m;for(m=Array(n),e=0;e<n;e++)m[e]=b}for(o.colors=m,o.borderColors=y,e=0;e<n;e++){if(l){var _=a.symbol[e];r=p.OPEN_RE.test(_)}r&&(y[e]=m[e].slice(),m[e]=m[e].slice(),m[e][3]=0)}o.opacity=t.opacity}else r?(o.color=i(a.color,"uint8"),o.color[3]=0,o.borderColor=i(a.color,"uint8")):(o.color=i(a.color,"uint8"),o.borderColor=i(a.line.color,"uint8")),o.opacity=t.opacity*a.opacity;if(l)for(o.markers=new Array(n),e=0;e<n;e++)o.markers[e]=S(a.symbol[e]);else o.marker=S(a.symbol);var w,k=f(t);if(g||v){var T,A=o.sizes=new Array(n),M=o.borderSizes=new Array(n),E=0;if(g){for(e=0;e<n;e++)A[e]=k(a.size[e]),E+=A[e];T=E/n}else for(w=k(a.size),e=0;e<n;e++)A[e]=w;if(v)for(e=0;e<n;e++)M[e]=a.line.width[e]/2;else for(w=a.line.width/2,e=0;e<n;e++)M[e]=w;o.sizeAvg=T}else o.size=k(a&&a.size||10),o.borderSizes=k(a.line.width);return o}function x(t,e){var r=t.marker,n={};return e?(e.marker&&e.marker.symbol?n=y(s.extendFlat({},r,e.marker)):e.marker&&(e.marker.size&&(n.size=e.marker.size/2),e.marker.color&&(n.colors=e.marker.color),void 0!==e.marker.opacity&&(n.opacity=e.marker.opacity)),n):n}function b(t,e,r){var n={};if(!r)return n;if(r.textfont){var a={opacity:1,text:e.text,texttemplate:e.texttemplate,textposition:e.textposition,textfont:s.extendFlat({},e.textfont)};r.textfont&&s.extendFlat(a.textfont,r.textfont),n=m(t,a)}return n}function _(t,e){var r={capSize:2*e.width,lineWidth:e.thickness,color:e.color};return e.copy_ystyle&&(r=t.error_y),r}var w=p.SYMBOL_SDF_SIZE,k=p.SYMBOL_SIZE,T=p.SYMBOL_STROKE,A={},M=l.symbolFuncs[0](.05*k);function S(t){if("circle"===t)return null;var e,r,n=l.symbolNumber(t),i=l.symbolFuncs[n%100],o=!!l.symbolNoDot[n%100],s=!!l.symbolNoFill[n%100],c=p.DOT_RE.test(t);return A[t]?A[t]:(e=c&&!o?i(1.1*k)+M:i(k),r=a(e,{w:w,h:w,viewBox:[-k,-k,k,k],stroke:s?T:-T}),A[t]=r,r||null)}e.exports={style:function(t,e){var r,n={marker:void 0,markerSel:void 0,markerUnsel:void 0,line:void 0,fill:void 0,errorX:void 0,errorY:void 0,text:void 0,textSel:void 0,textUnsel:void 0};if(!0!==e.visible)return n;if(h.hasText(e)&&(n.text=m(t,e),n.textSel=b(t,e,e.selected),n.textUnsel=b(t,e,e.unselected)),h.hasMarkers(e)&&(n.marker=y(e),n.markerSel=x(e,e.selected),n.markerUnsel=x(e,e.unselected),!e.unselected&&Array.isArray(e.marker.opacity))){var a=e.marker.opacity;for(n.markerUnsel.opacity=new Array(a.length),r=0;r<a.length;r++)n.markerUnsel.opacity[r]=d*a[r]}if(h.hasLines(e)){n.line={overlay:!0,thickness:e.line.width,color:e.line.color,opacity:e.opacity};var i=(p.DASHES[e.line.dash]||[1]).slice();for(r=0;r<i.length;++r)i[r]*=e.line.width;n.line.dashes=i}return e.error_x&&e.error_x.visible&&(n.errorX=_(e,e.error_x)),e.error_y&&e.error_y.visible&&(n.errorY=_(e,e.error_y)),e.fill&&"none"!==e.fill&&(n.fill={closed:!0,fill:e.fillcolor,thickness:0}),n},markerStyle:y,markerSelection:x,linePositions:function(t,e,r){var n,a,i=r.length,o=i/2;if(h.hasLines(e)&&o)if("hv"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a+2],r[2*a+1]));n.push(r[i-2],r[i-1])}else if("hvh"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var s=(r[2*a]+r[2*a+2])/2;n.push(r[2*a],r[2*a+1],s,r[2*a+1],s,r[2*a+3])}n.push(r[i-2],r[i-1])}else if("vhv"===e.line.shape){for(n=[],a=0;a<o-1;a++)if(isNaN(r[2*a])||isNaN(r[2*a+1])||isNaN(r[2*a+2])||isNaN(r[2*a+3]))isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+1]),n.push(NaN,NaN);else{var l=(r[2*a+1]+r[2*a+3])/2;n.push(r[2*a],r[2*a+1],r[2*a],l,r[2*a+2],l)}n.push(r[i-2],r[i-1])}else if("vh"===e.line.shape){for(n=[],a=0;a<o-1;a++)isNaN(r[2*a])||isNaN(r[2*a+1])?n.push(NaN,NaN,NaN,NaN):(n.push(r[2*a],r[2*a+1]),isNaN(r[2*a+2])||isNaN(r[2*a+3])?n.push(NaN,NaN):n.push(r[2*a],r[2*a+3]));n.push(r[i-2],r[i-1])}else n=r;var c=!1;for(a=0;a<n.length;a++)if(isNaN(n[a])){c=!0;break}var u=c||n.length>p.TOO_MANY_POINTS?"rect":h.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var f=n[0],d=n[1];for(a=0;a<n.length;a+=2)isNaN(n[a])||isNaN(n[a+1])?(n[a]=f,n[a+1]=d):(f=n[a],d=n[a+1])}return{join:u,positions:n}},errorBarPositions:function(t,e,r,a,i){var s=o.getComponentMethod("errorbars","makeComputeError"),l=c.getFromId(t,e.xaxis),u=c.getFromId(t,e.yaxis),h=r.length/2,f={};function p(t,a){var i=a._id.charAt(0),o=e["error_"+i];if(o&&o.visible&&("linear"===a.type||"log"===a.type)){for(var l=s(o),c={x:0,y:1}[i],u={x:[0,1,2,3],y:[2,3,0,1]}[i],p=new Float64Array(4*h),d=1/0,g=-1/0,v=0,m=0;v<h;v++,m+=4){var y=t[v];if(n(y)){var x=r[2*v+c],b=l(y,v),_=b[0],w=b[1];if(n(_)&&n(w)){var k=y-_,T=y+w;p[m+u[0]]=x-a.c2l(k),p[m+u[1]]=a.c2l(T)-x,p[m+u[2]]=0,p[m+u[3]]=0,d=Math.min(d,y-_),g=Math.max(g,y+w)}}}f[i]={positions:r,errors:p,_bnds:[d,g]}}}return p(a,l),p(i,u),f},textPosition:function(t,e,r,n){var a,i=e._length,o={};if(h.hasMarkers(e)){var s=r.font,l=r.align,c=r.baseline;for(o.offset=new Array(i),a=0;a<i;a++){var u=n.sizes?n.sizes[a]:n.size,f=Array.isArray(s)?s[a].size:s.size,p=Array.isArray(l)?l.length>1?l[a]:l[0]:l,d=Array.isArray(c)?c.length>1?c[a]:c[0]:c,v=g[p],m=g[d],y=u?u/.8+1:0,x=-m*y-.5*m;o.offset[a]=[v*y/f,x/f]}}return o}}},{"../../components/drawing":612,"../../components/fx/helpers":626,"../../constants/interactions":691,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/cartesian/axis_ids":767,"../../registry":845,"../scatter/make_bubble_size_func":1135,"../scatter/subtypes":1142,"./constants":1171,"color-normalize":121,"fast-isnumeric":227,"svg-path-sdf":533}],1173:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../registry"),i=t("./attributes"),o=t("../scatter/constants"),s=t("../scatter/subtypes"),l=t("../scatter/xy_defaults"),c=t("../scatter/marker_defaults"),u=t("../scatter/line_defaults"),h=t("../scatter/fillcolor_defaults"),f=t("../scatter/text_defaults");e.exports=function(t,e,r,p){function d(r,a){return n.coerce(t,e,i,r,a)}var g=!!t.marker&&/-open/.test(t.marker.symbol),v=s.isBubble(t),m=l(t,e,p,d);if(m){var y=m<o.PTS_LINESONLY?"lines+markers":"lines";d("text"),d("hovertext"),d("hovertemplate"),d("mode",y),s.hasLines(e)&&(d("connectgaps"),u(t,e,r,p,d),d("line.shape")),s.hasMarkers(e)&&(c(t,e,r,p,d),d("marker.line.width",g||v?1:0)),s.hasText(e)&&(d("texttemplate"),f(t,e,p,d));var x=(e.line||{}).color,b=(e.marker||{}).color;d("fill"),"none"!==e.fill&&h(t,e,r,d);var _=a.getComponentMethod("errorbars","supplyDefaults");_(t,e,x||b||r,{axis:"y"}),_(t,e,x||b||r,{axis:"x",inherit:"y"}),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}},{"../../lib":716,"../../registry":845,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"../scatter/xy_defaults":1144,"./attributes":1169}],1174:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../constants/interactions").DESELECTDIM;e.exports={styleTextSelection:function(t){var e,r,o=t[0],s=o.trace,l=o.t,c=l._scene,u=l.index,h=c.selectBatch[u],f=c.unselectBatch[u],p=c.textOptions[u],d=c.textSelectedOptions[u]||{},g=c.textUnselectedOptions[u]||{},v=n.extendFlat({},p);if(h.length||f.length){var m=d.color,y=g.color,x=p.color,b=Array.isArray(x);for(v.color=new Array(s._length),e=0;e<h.length;e++)r=h[e],v.color[r]=m||(b?x[r]:x);for(e=0;e<f.length;e++){r=f[e];var _=b?x[r]:x;v.color[r]=y||(m?_:a.addOpacity(_,i))}}c.glText[u].update(v)}}},{"../../components/color":591,"../../constants/interactions":691,"../../lib":716}],1175:[function(t,e,r){"use strict";var n=t("../scatter/format_labels");e.exports=function(t,e,r){var a=t.i;return"x"in t||(t.x=e._x[a]),"y"in t||(t.y=e._y[a]),n(t,e,r)}},{"../scatter/format_labels":1127}],1176:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../scatter/get_trace_color");function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=Array.isArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=Array.isArray(p.size)?p.size[h]:p.size,f.tc=Array.isArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family);var d=o.marker;d&&(f.ms=a.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=a.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=Array.isArray(d.symbol)?d.symbol[h]:d.symbol,f.mc=a.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var g=d&&d.line;g&&(f.mlc=Array.isArray(g.color)?g.color[h]:g.color,f.mlw=a.isArrayOrTypedArray(g.width)?g.width[h]:g.width);var v=d&&d.gradient;v&&"none"!==v.type&&(f.mgt=Array.isArray(v.type)?v.type[h]:v.type,f.mgc=Array.isArray(v.color)?v.color[h]:v.color);var m=s.c2p(f.x,!0),y=l.c2p(f.y,!0),x=f.mrc||1,b=o.hoverlabel;b&&(f.hbg=Array.isArray(b.bgcolor)?b.bgcolor[h]:b.bgcolor,f.hbc=Array.isArray(b.bordercolor)?b.bordercolor[h]:b.bordercolor,f.hts=Array.isArray(b.font.size)?b.font.size[h]:b.font.size,f.htc=Array.isArray(b.font.color)?b.font.color[h]:b.font.color,f.htf=Array.isArray(b.font.family)?b.font.family[h]:b.font.family,f.hnl=Array.isArray(b.namelength)?b.namelength[h]:b.namelength);var _=o.hoverinfo;_&&(f.hi=Array.isArray(_)?_[h]:_);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var k={};k[t.index]=f;var T=a.extendFlat({},t,{color:i(o,f),x0:m-x,x1:m+x,xLabelVal:f.x,y0:y-x,y1:y+x,yLabelVal:f.y,cd:k,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?T.text=f.htx:f.tx?T.text=f.tx:o.text&&(T.text=o.text),a.fillText(f,o,T),n.getComponentMethod("errorbars","hoverInfo")(f,o,T),T}e.exports={hoverPoints:function(t,e,r,n){var a,i,s,l,c,u,h,f,p,d=t.cd,g=d[0].t,v=d[0].trace,m=t.xa,y=t.ya,x=g.x,b=g.y,_=m.c2p(e),w=y.c2p(r),k=t.distance;if(g.tree){var T=m.p2c(_-k),A=m.p2c(_+k),M=y.p2c(w-k),S=y.p2c(w+k);a="x"===n?g.tree.range(Math.min(T,A),Math.min(y._rl[0],y._rl[1]),Math.max(T,A),Math.max(y._rl[0],y._rl[1])):g.tree.range(Math.min(T,A),Math.min(M,S),Math.max(T,A),Math.max(M,S))}else a=g.ids;var E=k;if("x"===n)for(c=0;c<a.length;c++)s=x[a[c]],(u=Math.abs(m.c2p(s)-_))<E&&(E=u,h=y.c2p(b[a[c]])-w,p=Math.sqrt(u*u+h*h),i=a[c]);else for(c=a.length-1;c>-1;c--)s=x[a[c]],l=b[a[c]],u=m.c2p(s)-_,h=y.c2p(l)-w,(f=Math.sqrt(u*u+h*h))<E&&(E=p=f,i=a[c]);return t.index=i,t.distance=E,t.dxy=p,void 0===i?[t]:[o(t,x,b,v)]},calcHover:o}},{"../../lib":716,"../../registry":845,"../scatter/get_trace_color":1128}],1177:[function(t,e,r){"use strict";var n=t("./hover");e.exports={moduleType:"trace",name:"scattergl",basePlotModule:t("../../plots/cartesian"),categories:["gl","regl","cartesian","symbols","errorBarsOK","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../scatter/cross_trace_defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:n.hoverPoints,selectPoints:t("./select"),meta:{}}},{"../../plots/cartesian":775,"../scatter/cross_trace_defaults":1124,"../scatter/marker_colorbar":1136,"./attributes":1169,"./calc":1170,"./defaults":1173,"./format_labels":1175,"./hover":1176,"./plot":1178,"./select":1180}],1178:[function(t,e,r){"use strict";var n=t("regl-scatter2d"),a=t("regl-line2d"),i=t("regl-error2d"),o=t("gl-text"),s=t("../../lib"),l=t("../../lib/prepare_regl"),c=t("../scatter/subtypes"),u=t("../scatter/link_traces"),h=t("./edit_style").styleTextSelection;e.exports=function(t,e,r){if(r.length){var f,p,d=t._fullLayout,g=e._scene,v=e.xaxis,m=e.yaxis;if(g)if(l(t,["ANGLE_instanced_arrays","OES_element_index_uint"])){var y=g.count,x=d._glcanvas.data()[0].regl;if(u(t,e,r),g.dirty){if(!0===g.error2d&&(g.error2d=i(x)),!0===g.line2d&&(g.line2d=a(x)),!0===g.scatter2d&&(g.scatter2d=n(x)),!0===g.fill2d&&(g.fill2d=a(x)),!0===g.glText)for(g.glText=new Array(y),f=0;f<y;f++)g.glText[f]=new o(x);if(g.glText){if(y>g.glText.length){var b=y-g.glText.length;for(f=0;f<b;f++)g.glText.push(new o(x))}else if(y<g.glText.length){var _=g.glText.length-y;g.glText.splice(y,_).forEach(function(t){t.destroy()})}for(f=0;f<y;f++)g.glText[f].update(g.textOptions[f])}if(g.line2d&&(g.line2d.update(g.lineOptions),g.lineOptions=g.lineOptions.map(function(t){if(t&&t.positions){for(var e=t.positions,r=0;r<e.length&&(isNaN(e[r])||isNaN(e[r+1]));)r+=2;for(var n=e.length-2;n>r&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t}),g.line2d.update(g.lineOptions)),g.error2d){var w=(g.errorXOptions||[]).concat(g.errorYOptions||[]);g.error2d.update(w)}g.scatter2d&&g.scatter2d.update(g.markerOptions),g.fillOrder=s.repeat(null,y),g.fill2d&&(g.fillOptions=g.fillOptions.map(function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var a,i,o=n[0],s=o.trace,l=o.t,c=g.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(g.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(h=0;h<d.length&&isNaN(d[h+1]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if("tozerox"===s.fill){for(h=0;h<d.length&&isNaN(d[h]);)h+=2;for(f=d.length-2;f>h&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],a=0,i=0;i<d.length;i+=2)(isNaN(d[i])||isNaN(d[i+1]))&&((p=p.concat(d.slice(a,i))).push(d[a],d[a+1]),a=i+2);p=p.concat(d.slice(a)),a&&p.push(d[a],d[a+1])}else{var v=s._nexttrace;if(v){var m=g.lineOptions[e+1];if(m){var y=m.positions;if("tonexty"===s.fill){for(p=d.slice(),e=Math.floor(y.length/2);e--;){var x=y[2*e],b=y[2*e+1];isNaN(x)||isNaN(b)||p.push(x,b)}t.fill=v.fillcolor}}}}if(s._prevtrace&&"tonext"===s._prevtrace.fill){var _=g.lineOptions[e-1].positions,w=p.length/2,k=[a=w];for(i=0;i<_.length;i+=2)(isNaN(_[i])||isNaN(_[i+1]))&&(k.push(i/2+w+1),a=i+2);p=p.concat(_),t.hole=k}return t.fillmode=s.fill,t.opacity=s.opacity,t.positions=p,t}}),g.fill2d.update(g.fillOptions))}var k=d.dragmode,T="lasso"===k||"select"===k,A=d.clickmode.indexOf("select")>-1;for(f=0;f<y;f++){var M=r[f][0],S=M.trace,E=M.t,L=E.index,C=S._length,P=E.x,O=E.y;if(S.selectedpoints||T||A){if(T||(T=!0),S.selectedpoints){var z=g.selectBatch[L]=s.selIndices2selPoints(S),I={};for(p=0;p<z.length;p++)I[z[p]]=1;var D=[];for(p=0;p<C;p++)I[p]||D.push(p);g.unselectBatch[L]=D}var R=E.xpx=new Array(C),F=E.ypx=new Array(C);for(p=0;p<C;p++)R[p]=v.c2p(P[p]),F[p]=m.c2p(O[p])}else E.xpx=E.ypx=null}if(T){if(g.select2d||(g.select2d=n(d._glcanvas.data()[1].regl)),g.scatter2d){var B=new Array(y);for(f=0;f<y;f++)B[f]=g.selectBatch[f].length||g.unselectBatch[f].length?g.markerUnselectedOptions[f]:{};g.scatter2d.update(B)}g.select2d&&(g.select2d.update(g.markerOptions),g.select2d.update(g.markerSelectedOptions)),g.glText&&r.forEach(function(t){var e=((t||[])[0]||{}).trace||{};c.hasText(e)&&h(t)})}else g.scatter2d&&g.scatter2d.update(g.markerOptions);var N={viewport:function(t,e,r){var n=t._size,a=t.width,i=t.height;return[n.l+e.domain[0]*n.w,n.b+r.domain[0]*n.h,a-n.r-(1-e.domain[1])*n.w,i-n.t-(1-r.domain[1])*n.h]}(d,v,m),range:[(v._rl||v.range)[0],(m._rl||m.range)[0],(v._rl||v.range)[1],(m._rl||m.range)[1]]},j=s.repeat(N,g.count);g.fill2d&&g.fill2d.update(j),g.line2d&&g.line2d.update(j),g.error2d&&g.error2d.update(j.concat(j)),g.scatter2d&&g.scatter2d.update(j),g.select2d&&g.select2d.update(j),g.glText&&g.glText.forEach(function(t){t.update(N)})}else g.init()}}},{"../../lib":716,"../../lib/prepare_regl":729,"../scatter/link_traces":1134,"../scatter/subtypes":1142,"./edit_style":1174,"gl-text":318,"regl-error2d":491,"regl-line2d":492,"regl-scatter2d":498}],1179:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=e._scene,a={count:0,dirty:!0,lineOptions:[],fillOptions:[],markerOptions:[],markerSelectedOptions:[],markerUnselectedOptions:[],errorXOptions:[],errorYOptions:[],textOptions:[],textSelectedOptions:[],textUnselectedOptions:[],selectBatch:[],unselectBatch:[]},i={fill2d:!1,scatter2d:!1,error2d:!1,line2d:!1,glText:!1,select2d:!1};return e._scene||((r=e._scene={}).init=function(){n.extendFlat(r,i,a)},r.init(),r.update=function(t){var e=n.repeat(t,r.count);if(r.fill2d&&r.fill2d.update(e),r.scatter2d&&r.scatter2d.update(e),r.line2d&&r.line2d.update(e),r.error2d&&r.error2d.update(e.concat(e)),r.select2d&&r.select2d.update(e),r.glText)for(var a=0;a<r.count;a++)r.glText[a].update(t)},r.draw=function(){for(var t=r.count,e=r.fill2d,a=r.error2d,i=r.line2d,o=r.scatter2d,s=r.glText,l=r.select2d,c=r.selectBatch,u=r.unselectBatch,h=0;h<t;h++){if(e&&r.fillOrder[h]&&e.draw(r.fillOrder[h]),i&&r.lineOptions[h]&&i.draw(h),a&&(r.errorXOptions[h]&&a.draw(h),r.errorYOptions[h]&&a.draw(h+t)),o&&r.markerOptions[h])if(u[h].length){var f=n.repeat([],r.count);f[h]=u[h],o.draw(f)}else c[h].length||o.draw(h);s[h]&&r.textOptions[h]&&s[h].render()}l&&l.draw(c),r.dirty=!1},r.destroy=function(){r.fill2d&&r.fill2d.destroy&&r.fill2d.destroy(),r.scatter2d&&r.scatter2d.destroy&&r.scatter2d.destroy(),r.error2d&&r.error2d.destroy&&r.error2d.destroy(),r.line2d&&r.line2d.destroy&&r.line2d.destroy(),r.select2d&&r.select2d.destroy&&r.select2d.destroy(),r.glText&&r.glText.forEach(function(t){t.destroy&&t.destroy()}),r.lineOptions=null,r.fillOptions=null,r.markerOptions=null,r.markerSelectedOptions=null,r.markerUnselectedOptions=null,r.errorXOptions=null,r.errorYOptions=null,r.textOptions=null,r.textSelectedOptions=null,r.textUnselectedOptions=null,r.selectBatch=null,r.unselectBatch=null,e._scene=null}),r.dirty||n.extendFlat(r,a),r}},{"../../lib":716}],1180:[function(t,e,r){"use strict";var n=t("../scatter/subtypes"),a=t("./edit_style").styleTextSelection;e.exports=function(t,e){var r=t.cd,i=[],o=r[0].trace,s=r[0].t,l=o._length,c=s.x,u=s.y,h=s._scene,f=s.index;if(!h)return i;var p=n.hasText(o),d=n.hasMarkers(o),g=!d&&!p;if(!0!==o.visible||g)return i;var v=[],m=[];if(!1!==e&&!e.degenerate)for(var y=0;y<l;y++)e.contains([s.xpx[y],s.ypx[y]],!1,y,t)?(v.push(y),i.push({pointNumber:y,x:c[y],y:u[y]})):m.push(y);if(d){var x=h.scatter2d;if(v.length||m.length){if(!h.selectBatch[f].length&&!h.unselectBatch[f].length){var b=new Array(h.count);b[f]=h.markerUnselectedOptions[f],x.update.apply(x,b)}}else{var _=new Array(h.count);_[f]=h.markerOptions[f],x.update.apply(x,_)}}return h.selectBatch[f]=v,h.unselectBatch[f]=m,p&&a(r),i}},{"../scatter/subtypes":1142,"./edit_style":1174}],1181:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scattergeo/attributes"),o=t("../scatter/attributes"),s=t("../../plots/mapbox/layout_attributes"),l=t("../../plots/attributes"),c=t("../../components/colorscale/attributes"),u=t("../../lib/extend").extendFlat,h=t("../../plot_api/edit_types").overrideAll,f=i.line,p=i.marker;e.exports=h({lon:i.lon,lat:i.lat,mode:u({},o.mode,{dflt:"markers"}),text:u({},o.text,{}),texttemplate:a({editType:"plot"},{keys:["lat","lon","text"]}),hovertext:u({},o.hovertext,{}),line:{color:f.color,width:f.width},connectgaps:o.connectgaps,marker:u({symbol:{valType:"string",dflt:"circle",arrayOk:!0},opacity:p.opacity,size:p.size,sizeref:p.sizeref,sizemin:p.sizemin,sizemode:p.sizemode},c("marker")),fill:i.fill,fillcolor:o.fillcolor,textfont:s.layers.symbol.textfont,textposition:s.layers.symbol.textposition,below:{valType:"string"},selected:{marker:o.selected.marker},unselected:{marker:o.unselected.marker},hoverinfo:u({},l.hoverinfo,{flags:["lon","lat","text","name"]}),hovertemplate:n()},"calc","nested")},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/mapbox/layout_attributes":821,"../../plots/template_attributes":840,"../scatter/attributes":1118,"../scattergeo/attributes":1159}],1182:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../lib"),i=t("../../constants/numerical").BADNUM,o=t("../../lib/geojson_utils"),s=t("../../components/colorscale"),l=t("../../components/drawing"),c=t("../scatter/make_bubble_size_func"),u=t("../scatter/subtypes"),h=t("../../plots/mapbox/convert_text_opts"),f=t("../../components/fx/helpers").appendArrayPointValue,p=t("../../lib/svg_text_utils").NEWLINES,d=t("../../lib/svg_text_utils").BR_TAG_ALL;function g(){return{geojson:o.makeBlank(),layout:{visibility:"none"},paint:{}}}function v(t){return a.isArrayOrTypedArray(t)?function(t){return t}:t?function(){return t}:m}function m(){return""}function y(t){return t[0]===i}e.exports=function(t,e){var r,i=e[0].trace,x=!0===i.visible&&0!==i._length,b="none"!==i.fill,_=u.hasLines(i),w=u.hasMarkers(i),k=u.hasText(i),T=w&&"circle"===i.marker.symbol,A=w&&"circle"!==i.marker.symbol,M=g(),S=g(),E=g(),L=g(),C={fill:M,line:S,circle:E,symbol:L};if(!x)return C;if((b||_)&&(r=o.calcTraceToLineCoords(e)),b&&(M.geojson=o.makePolygon(r),M.layout.visibility="visible",a.extendFlat(M.paint,{"fill-color":i.fillcolor})),_&&(S.geojson=o.makeLine(r),S.layout.visibility="visible",a.extendFlat(S.paint,{"line-width":i.line.width,"line-color":i.line.color,"line-opacity":i.opacity})),T){var P=function(t){var e,r,i,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=a.isArrayOrTypedArray(h.color),d=a.isArrayOrTypedArray(h.size),g=a.isArrayOrTypedArray(h.opacity);function v(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(h):a.identity);d&&(i=c(u));g&&(o=function(t){var e=n(t)?+a.constrain(t,0,1):0;return v(e)});var m,x=[];for(e=0;e<t.length;e++){var b=t[e],_=b.lonlat;if(!y(_)){var w={};r&&(w.mcc=b.mcc=r(b.mc)),i&&(w.mrc=b.mrc=i(b.ms)),o&&(w.mo=o(b.mo)),f&&(w.selected=b.selected||0),x.push({type:"Feature",geometry:{type:"Point",coordinates:_},properties:w})}}if(f)for(m=l.makeSelectedPointStyleFns(u),e=0;e<x.length;e++){var k=x[e].properties;m.selectedOpacityFn&&(k.mo=v(m.selectedOpacityFn(k))),m.selectedColorFn&&(k.mcc=m.selectedColorFn(k)),m.selectedSizeFn&&(k.mrc=m.selectedSizeFn(k))}return{geojson:{type:"FeatureCollection",features:x},mcc:p||m&&m.selectedColorFn?{type:"identity",property:"mcc"}:h.color,mrc:d||m&&m.selectedSizeFn?{type:"identity",property:"mrc"}:(T=h.size,T/2),mo:g||m&&m.selectedOpacityFn?{type:"identity",property:"mo"}:v(h.opacity)};var T}(e);E.geojson=P.geojson,E.layout.visibility="visible",a.extendFlat(E.paint,{"circle-color":P.mcc,"circle-radius":P.mrc,"circle-opacity":P.mo})}if((A||k)&&(L.geojson=function(t,e){for(var r=e._fullLayout,n=t[0].trace,i=(n.marker||{}).symbol,o="circle"!==i?v(i):m,s=u.hasText(n)?v(n.text):m,l=[],c=0;c<t.length;c++){var h=t[c];if(!y(h.lonlat)){var g,x=n.texttemplate;if(x){var b=Array.isArray(x)?x[c]||"":x,_=n._module.formatLabels(h,n,r),w={};f(w,n,h.i);var k=n._meta||{};g=a.texttemplateString(b,_,r._d3locale,w,h,k)}else g=s(h.tx);g&&(g=g.replace(p,"").replace(d,"\n")),l.push({type:"Feature",geometry:{type:"Point",coordinates:h.lonlat},properties:{symbol:o(h.mx),text:g}})}}return{type:"FeatureCollection",features:l}}(e,t),a.extendFlat(L.layout,{visibility:"visible","icon-image":"{symbol}-15","text-field":"{text}"}),A&&(a.extendFlat(L.layout,{"icon-size":i.marker.size/10}),a.extendFlat(L.paint,{"icon-opacity":i.opacity*i.marker.opacity,"icon-color":i.marker.color})),k)){var O=(i.marker||{}).size,z=h(i.textposition,O);a.extendFlat(L.layout,{"text-size":i.textfont.size,"text-anchor":z.anchor,"text-offset":z.offset}),a.extendFlat(L.paint,{"text-color":i.textfont.color,"text-opacity":i.opacity})}return C}},{"../../components/colorscale":603,"../../components/drawing":612,"../../components/fx/helpers":626,"../../constants/numerical":692,"../../lib":716,"../../lib/geojson_utils":711,"../../lib/svg_text_utils":740,"../../plots/mapbox/convert_text_opts":818,"../scatter/make_bubble_size_func":1135,"../scatter/subtypes":1142,"fast-isnumeric":227}],1183:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/text_defaults"),l=t("../scatter/fillcolor_defaults"),c=t("./attributes");e.exports=function(t,e,r,u){function h(r,a){return n.coerce(t,e,c,r,a)}if(function(t,e,r){var n=r("lon")||[],a=r("lat")||[],i=Math.min(n.length,a.length);return e._length=i,i}(0,e,h)){if(h("text"),h("texttemplate"),h("hovertext"),h("hovertemplate"),h("mode"),h("below"),a.hasLines(e)&&(o(t,e,r,u,h,{noDash:!0}),h("connectgaps")),a.hasMarkers(e)){i(t,e,r,u,h,{noLine:!0});var f=e.marker;"circle"!==f.symbol&&(n.isArrayOrTypedArray(f.size)&&(f.size=f.size[0]),n.isArrayOrTypedArray(f.color)&&(f.color=f.color[0]))}a.hasText(e)&&s(t,e,u,h,{noSelect:!0}),h("fill"),"none"!==e.fill&&l(t,e,r,h),n.coerceSelectionMarkerOpacity(e,h)}else e.visible=!1}},{"../../lib":716,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1181}],1184:[function(t,e,r){"use strict";e.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t}},{}],1185:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot.mockAxis,o=t.lonlat;return a.lonLabel=n.tickText(i,i.c2l(o[0]),!0).text,a.latLabel=n.tickText(i,i.c2l(o[1]),!0).text,a}},{"../../plots/cartesian/axes":764}],1186:[function(t,e,r){"use strict";var n=t("../../components/fx"),a=t("../../lib"),i=t("../scatter/get_trace_color"),o=a.fillText,s=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){var l=t.cd,c=l[0].trace,u=t.xa,h=t.ya,f=t.subplot,p=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),d=e-p;if(n.getClosest(l,function(t){var e=t.lonlat;if(e[0]===s)return 1/0;var n=a.modHalf(e[0],360),i=e[1],o=f.project([n,i]),l=o.x-u.c2p([d,i]),c=o.y-h.c2p([n,r]),p=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-p,1-3/p)},t),!1!==t.index){var g=l[t.index],v=g.lonlat,m=[a.modHalf(v[0],360)+p,v[1]],y=u.c2p(m),x=h.c2p(m),b=g.mrc||1;t.x0=y-b,t.x1=y+b,t.y0=x-b,t.y1=x+b;var _={};_[c.subplot]={_subplot:f};var w=c._module.formatLabels(g,c,_);return t.lonLabel=w.lonLabel,t.latLabel=w.latLabel,t.color=i(c,g),t.extraText=function(t,e,r){if(t.hovertemplate)return;var n=(e.hi||t.hoverinfo).split("+"),a=-1!==n.indexOf("all"),i=-1!==n.indexOf("lon"),s=-1!==n.indexOf("lat"),l=e.lonlat,c=[];function u(t){return t+"\xb0"}a||i&&s?c.push("("+u(l[0])+", "+u(l[1])+")"):i?c.push(r.lon+u(l[0])):s&&c.push(r.lat+u(l[1]));(a||-1!==n.indexOf("text"))&&o(e,t,c);return c.join("<br>")}(c,g,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},{"../../components/fx":629,"../../constants/numerical":692,"../../lib":716,"../scatter/get_trace_color":1128}],1187:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("../scattergeo/calc"),plot:t("./plot"),hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("./select"),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:t("../../plots/mapbox"),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/mapbox":819,"../scatter/marker_colorbar":1136,"../scattergeo/calc":1160,"./attributes":1181,"./defaults":1183,"./event_data":1184,"./format_labels":1185,"./hover":1186,"./plot":1188,"./select":1189}],1188:[function(t,e,r){"use strict";var n=t("./convert"),a=t("../../plots/mapbox/constants").traceLayerPrefix,i=["fill","line","circle","symbol"];function o(t,e){this.type="scattermapbox",this.subplot=t,this.uid=e,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol"},this.below=null}var s=o.prototype;s.addSource=function(t,e){this.subplot.map.addSource(this.sourceIds[t],{type:"geojson",data:e.geojson})},s.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},s.addLayer=function(t,e,r){this.subplot.addLayer({type:t,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint},r)},s.update=function(t){var e,r,a,o=this.subplot,s=o.map,l=n(o.gd,t),c=o.belowLookup["trace-"+this.uid];if(c!==this.below){for(e=i.length-1;e>=0;e--)r=i[e],s.removeLayer(this.layerIds[r]);for(e=0;e<i.length;e++)a=l[r=i[e]],this.addLayer(r,a,c);this.below=c}for(e=0;e<i.length;e++)a=l[r=i[e]],o.setOptions(this.layerIds[r],"setLayoutProperty",a.layout),"visible"===a.layout.visibility&&(this.setSourceData(r,a),o.setOptions(this.layerIds[r],"setPaintProperty",a.paint));t[0].trace._glTrace=this},s.dispose=function(){for(var t=this.subplot.map,e=i.length-1;e>=0;e--){var r=i[e];t.removeLayer(this.layerIds[r]),t.removeSource(this.sourceIds[r])}},e.exports=function(t,e){for(var r=e[0].trace,a=new o(t,r.uid),s=n(t.gd,e),l=a.below=t.belowLookup["trace-"+r.uid],c=0;c<i.length;c++){var u=i[c],h=s[u];a.addSource(u,h),a.addLayer(u,h,l)}return e[0].trace._glTrace=a,a}},{"../../plots/mapbox/constants":817,"./convert":1182}],1189:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../../constants/numerical").BADNUM;e.exports=function(t,e){var r,o=t.cd,s=t.xaxis,l=t.yaxis,c=[],u=o[0].trace;if(!a.hasMarkers(u))return[];if(!1===e)for(r=0;r<o.length;r++)o[r].selected=0;else for(r=0;r<o.length;r++){var h=o[r],f=h.lonlat;if(f[0]!==i){var p=[n.modHalf(f[0],360),f[1]],d=[s.c2p(p),l.c2p(p)];e.contains(d,null,r,t)?(c.push({pointNumber:r,lon:f[0],lat:f[1]}),h.selected=1):h.selected=0}}return c}},{"../../constants/numerical":692,"../../lib":716,"../scatter/subtypes":1142}],1190:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../lib/extend").extendFlat,o=t("../scatter/attributes"),s=t("../../plots/attributes"),l=o.line;e.exports={mode:o.mode,r:{valType:"data_array",editType:"calc+clearAxisTypes"},theta:{valType:"data_array",editType:"calc+clearAxisTypes"},r0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dr:{valType:"number",dflt:1,editType:"calc"},theta0:{valType:"any",dflt:0,editType:"calc+clearAxisTypes"},dtheta:{valType:"number",editType:"calc"},thetaunit:{valType:"enumerated",values:["radians","degrees","gradians"],dflt:"degrees",editType:"calc+clearAxisTypes"},text:o.text,texttemplate:a({editType:"plot"},{keys:["r","theta","text"]}),hovertext:o.hovertext,line:{color:l.color,width:l.width,dash:l.dash,shape:i({},l.shape,{values:["linear","spline"]}),smoothing:l.smoothing,editType:"calc"},connectgaps:o.connectgaps,marker:o.marker,cliponaxis:i({},o.cliponaxis,{dflt:!1}),textposition:o.textposition,textfont:o.textfont,fill:i({},o.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o.fillcolor,hoverinfo:i({},s.hoverinfo,{flags:["r","theta","text","name"]}),hoveron:o.hoveron,hovertemplate:n(),selected:o.selected,unselected:o.unselected}},{"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1191:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../../constants/numerical").BADNUM,i=t("../../plots/cartesian/axes"),o=t("../scatter/colorscale_calc"),s=t("../scatter/arrays_to_calcdata"),l=t("../scatter/calc_selection"),c=t("../scatter/calc").calcMarkerSize;e.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,h=r[u].radialaxis,f=r[u].angularaxis,p=h.makeCalcdata(e,"r"),d=f.makeCalcdata(e,"theta"),g=e._length,v=new Array(g),m=0;m<g;m++){var y=p[m],x=d[m],b=v[m]={};n(y)&&n(x)?(b.r=y,b.theta=x):b.r=a}var _=c(e,g);return e._extremes.x=i.findExtremes(h,p,{ppad:_}),o(t,e),s(v,e),l(v,e),v}},{"../../constants/numerical":692,"../../plots/cartesian/axes":764,"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1192:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatter/marker_defaults"),o=t("../scatter/line_defaults"),s=t("../scatter/line_shape_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,h=t("./attributes");function f(t,e,r,n){var a,i=n("r"),o=n("theta");if(i)o?a=Math.min(i.length,o.length):(a=i.length,n("theta0"),n("dtheta"));else{if(!o)return 0;a=e.theta.length,n("r0"),n("dr")}return e._length=a,a}e.exports={handleRThetaDefaults:f,supplyDefaults:function(t,e,r,p){function d(r,a){return n.coerce(t,e,h,r,a)}var g=f(0,e,0,d);if(g){d("thetaunit"),d("mode",g<u?"lines+markers":"lines"),d("text"),d("hovertext"),"fills"!==e.hoveron&&d("hovertemplate"),a.hasLines(e)&&(o(t,e,r,p,d),s(t,e,d),d("connectgaps")),a.hasMarkers(e)&&i(t,e,r,p,d,{gradient:!0}),a.hasText(e)&&(d("texttemplate"),l(t,e,p,d));var v=[];(a.hasMarkers(e)||a.hasText(e))&&(d("cliponaxis"),d("marker.maxdisplayed"),v.push("points")),d("fill"),"none"!==e.fill&&(c(t,e,r,d),a.hasLines(e)||s(t,e,d)),"tonext"!==e.fill&&"toself"!==e.fill||v.push("fills"),d("hoveron",v.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,d)}else e.visible=!1}}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1190}],1193:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var i,o,s={},l=r[e.subplot]._subplot;l?(i=l.radialAxis,o=l.angularAxis):(i=(l=r[e.subplot]).radialaxis,o=l.angularaxis);var c=i.c2l(t.r);s.rLabel=a.tickText(i,c,!0).text;var u="degrees"===o.thetaunit?n.rad2deg(t.theta):t.theta;return s.thetaLabel=a.tickText(o,u,!0).text,s}},{"../../lib":716,"../../plots/cartesian/axes":764}],1194:[function(t,e,r){"use strict";var n=t("../scatter/hover");function a(t,e,r,n){var a=r.radialAxis,i=r.angularAxis;a._hovertitle="r",i._hovertitle="\u03b8";var o={};o[e.subplot]={_subplot:r};var s=e._module.formatLabels(t,e,o);n.rLabel=s.rLabel,n.thetaLabel=s.thetaLabel;var l=t.hi||e.hoverinfo,c=[];function u(t,e){c.push(t._hovertitle+": "+e)}if(!e.hovertemplate){var h=l.split("+");-1!==h.indexOf("all")&&(h=["r","theta","text"]),-1!==h.indexOf("r")&&u(a,n.rLabel),-1!==h.indexOf("theta")&&u(i,n.thetaLabel),-1!==h.indexOf("text")&&n.text&&(c.push(n.text),delete n.text),n.extraText=c.join("<br>")}}e.exports={hoverPoints:function(t,e,r,i){var o=n(t,e,r,i);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,a(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:a}},{"../scatter/hover":1129}],1195:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:t("../../plots/polar"),categories:["polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults").supplyDefaults,colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scatter/select"),meta:{}}},{"../../plots/polar":828,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1190,"./calc":1191,"./defaults":1192,"./format_labels":1193,"./hover":1194,"./plot":1196}],1196:[function(t,e,r){"use strict";var n=t("../scatter/plot"),a=t("../../constants/numerical").BADNUM;e.exports=function(t,e,r){for(var i=e.layers.frontplot.select("g.scatterlayer"),o={xaxis:e.xaxis,yaxis:e.yaxis,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},s=e.radialAxis,l=e.angularAxis,c=0;c<r.length;c++)for(var u=r[c],h=0;h<u.length;h++){var f=u[h],p=f.r;if(p===a)f.x=f.y=a;else{var d=s.c2g(p),g=l.c2g(f.theta);f.x=d*Math.cos(g),f.y=d*Math.sin(g)}}n(t,o,r,i)}},{"../../constants/numerical":692,"../scatter/plot":1138}],1197:[function(t,e,r){"use strict";var n=t("../scatterpolar/attributes"),a=t("../scattergl/attributes"),i=t("../../plots/template_attributes").texttemplateAttrs;e.exports={mode:n.mode,r:n.r,theta:n.theta,r0:n.r0,dr:n.dr,theta0:n.theta0,dtheta:n.dtheta,thetaunit:n.thetaunit,text:n.text,texttemplate:i({editType:"plot"},{keys:["r","theta","text"]}),hovertext:n.hovertext,hovertemplate:n.hovertemplate,line:a.line,connectgaps:a.connectgaps,marker:a.marker,fill:a.fill,fillcolor:a.fillcolor,textposition:a.textposition,textfont:a.textfont,hoverinfo:n.hoverinfo,selected:n.selected,unselected:n.unselected}},{"../../plots/template_attributes":840,"../scattergl/attributes":1169,"../scatterpolar/attributes":1190}],1198:[function(t,e,r){"use strict";var n=t("../scatter/colorscale_calc"),a=t("../scatter/calc").calcMarkerSize,i=t("../scattergl/convert"),o=t("../../plots/cartesian/axes"),s=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r=t._fullLayout,l=e.subplot,c=r[l].radialaxis,u=r[l].angularaxis,h=e._r=c.makeCalcdata(e,"r"),f=e._theta=u.makeCalcdata(e,"theta"),p=e._length,d={};p<h.length&&(h=h.slice(0,p)),p<f.length&&(f=f.slice(0,p)),d.r=h,d.theta=f,n(t,e);var g,v=d.opts=i.style(t,e);return p<s?g=a(e,p):v.marker&&(g=2*(v.marker.sizeAvg||Math.max(v.marker.size,3))),e._extremes.x=o.findExtremes(c,h,{ppad:g}),[{x:!1,y:!1,t:d,trace:e}]}},{"../../plots/cartesian/axes":764,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"../scattergl/constants":1171,"../scattergl/convert":1172}],1199:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("../scatterpolar/defaults").handleRThetaDefaults,o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/text_defaults"),c=t("../scatter/fillcolor_defaults"),u=t("../scatter/constants").PTS_LINESONLY,h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d=i(t,e,f,p);d?(p("thetaunit"),p("mode",d<u?"lines+markers":"lines"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),a.hasLines(e)&&(s(t,e,r,f,p),p("connectgaps")),a.hasMarkers(e)&&o(t,e,r,f,p),a.hasText(e)&&(p("texttemplate"),l(t,e,f,p)),p("fill"),"none"!==e.fill&&c(t,e,r,p),n.coerceSelectionMarkerOpacity(e,p)):e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"../scatterpolar/defaults":1192,"./attributes":1197}],1200:[function(t,e,r){"use strict";var n=t("../scatterpolar/format_labels");e.exports=function(t,e,r){var a=t.i;return"r"in t||(t.r=e._r[a]),"theta"in t||(t.theta=e._theta[a]),n(t,e,r)}},{"../scatterpolar/format_labels":1193}],1201:[function(t,e,r){"use strict";var n=t("../scattergl/hover"),a=t("../scatterpolar/hover").makeHoverPointText;e.exports={hoverPoints:function(t,e,r,i){var o=t.cd[0].t,s=o.r,l=o.theta,c=n.hoverPoints(t,e,r,i);if(c&&!1!==c[0].index){var u=c[0];if(void 0===u.index)return c;var h=t.subplot,f=u.cd[u.index],p=u.trace;if(f.r=s[u.index],f.theta=l[u.index],h.isPtInside(f))return u.xLabelVal=void 0,u.yLabelVal=void 0,a(f,p,h,u),c}}}},{"../scattergl/hover":1176,"../scatterpolar/hover":1194}],1202:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"scatterpolargl",basePlotModule:t("../../plots/polar"),categories:["gl","regl","polar","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("../scattergl/select"),meta:{}}},{"../../plots/polar":828,"../scatter/marker_colorbar":1136,"../scattergl/select":1180,"./attributes":1197,"./calc":1198,"./defaults":1199,"./format_labels":1200,"./hover":1201,"./plot":1203}],1203:[function(t,e,r){"use strict";var n=t("point-cluster"),a=t("fast-isnumeric"),i=t("../scattergl/plot"),o=t("../scattergl/scene_update"),s=t("../scattergl/convert"),l=t("../../lib"),c=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e,r){if(r.length){var u=e.radialAxis,h=e.angularAxis,f=o(t,e);return r.forEach(function(r){if(r&&r[0]&&r[0].trace){var i,o=r[0],p=o.trace,d=o.t,g=p._length,v=d.r,m=d.theta,y=d.opts,x=v.slice(),b=m.slice();for(i=0;i<v.length;i++)e.isPtInside({r:v[i],theta:m[i]})||(x[i]=NaN,b[i]=NaN);var _=new Array(2*g),w=Array(g),k=Array(g);for(i=0;i<g;i++){var T,A,M=x[i];if(a(M)){var S=u.c2g(M),E=h.c2g(b[i],p.thetaunit);T=S*Math.cos(E),A=S*Math.sin(E)}else T=A=NaN;w[i]=_[2*i]=T,k[i]=_[2*i+1]=A}d.tree=n(_),y.marker&&g>=c&&(y.marker.cluster=d.tree),y.marker&&(y.markerSel.positions=y.markerUnsel.positions=y.marker.positions=_),y.line&&_.length>1&&l.extendFlat(y.line,s.linePositions(t,p,_)),y.text&&(l.extendFlat(y.text,{positions:_},s.textPosition(t,p,y.text,y.marker)),l.extendFlat(y.textSel,{positions:_},s.textPosition(t,p,y.text,y.markerSel)),l.extendFlat(y.textUnsel,{positions:_},s.textPosition(t,p,y.text,y.markerUnsel))),y.fill&&!f.fill2d&&(f.fill2d=!0),y.marker&&!f.scatter2d&&(f.scatter2d=!0),y.line&&!f.line2d&&(f.line2d=!0),y.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(y.line),f.fillOptions.push(y.fill),f.markerOptions.push(y.marker),f.markerSelectedOptions.push(y.markerSel),f.markerUnselectedOptions.push(y.markerUnsel),f.textOptions.push(y.text),f.textSelectedOptions.push(y.textSel),f.textUnselectedOptions.push(y.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=k,d.rawx=w,d.rawy=k,d.r=v,d.theta=m,d.positions=_,d._scene=f,d.index=f.count,f.count++}}),i(t,e,r)}}},{"../../lib":716,"../scattergl/constants":1171,"../scattergl/convert":1172,"../scattergl/plot":1178,"../scattergl/scene_update":1179,"fast-isnumeric":227,"point-cluster":470}],1204:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../scatter/attributes"),o=t("../../plots/attributes"),s=t("../../components/colorscale/attributes"),l=t("../../components/drawing/attributes").dash,c=t("../../lib/extend").extendFlat,u=i.marker,h=i.line,f=u.line;e.exports={a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},c:{valType:"data_array",editType:"calc"},sum:{valType:"number",dflt:0,min:0,editType:"calc"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:a({editType:"plot"},{keys:["a","b","c","text"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:l,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:i.connectgaps,cliponaxis:i.cliponaxis,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:i.fillcolor,marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:"calc"},s("marker.line")),gradient:u.gradient,editType:"calc"},s("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},o.hoverinfo,{flags:["a","b","c","text","name"]}),hoveron:i.hoveron,hovertemplate:n()}},{"../../components/colorscale/attributes":598,"../../components/drawing/attributes":611,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../scatter/attributes":1118}],1205:[function(t,e,r){"use strict";var n=t("fast-isnumeric"),a=t("../scatter/colorscale_calc"),i=t("../scatter/arrays_to_calcdata"),o=t("../scatter/calc_selection"),s=t("../scatter/calc").calcMarkerSize,l=["a","b","c"],c={a:["b","c"],b:["a","c"],c:["a","b"]};e.exports=function(t,e){var r,u,h,f,p,d,g=t._fullLayout[e.subplot].sum,v=e.sum||g,m={a:e.a,b:e.b,c:e.c};for(r=0;r<l.length;r++)if(!m[h=l[r]]){for(p=m[c[h][0]],d=m[c[h][1]],f=new Array(p.length),u=0;u<p.length;u++)f[u]=v-p[u]-d[u];m[h]=f}var y,x,b,_,w,k,T=e._length,A=new Array(T);for(r=0;r<T;r++)y=m.a[r],x=m.b[r],b=m.c[r],n(y)&&n(x)&&n(b)?(1!==(_=g/((y=+y)+(x=+x)+(b=+b)))&&(y*=_,x*=_,b*=_),k=y,w=b-x,A[r]={x:w,y:k,a:y,b:x,c:b}):A[r]={x:!1,y:!1};return s(e,T),a(t,e),i(A,e),o(A,e),A}},{"../scatter/arrays_to_calcdata":1117,"../scatter/calc":1119,"../scatter/calc_selection":1120,"../scatter/colorscale_calc":1121,"fast-isnumeric":227}],1206:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/constants"),i=t("../scatter/subtypes"),o=t("../scatter/marker_defaults"),s=t("../scatter/line_defaults"),l=t("../scatter/line_shape_defaults"),c=t("../scatter/text_defaults"),u=t("../scatter/fillcolor_defaults"),h=t("./attributes");e.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,h,r,a)}var d,g=p("a"),v=p("b"),m=p("c");if(g?(d=g.length,v?(d=Math.min(d,v.length),m&&(d=Math.min(d,m.length))):d=m?Math.min(d,m.length):0):v&&m&&(d=Math.min(v.length,m.length)),d){e._length=d,p("sum"),p("text"),p("hovertext"),"fills"!==e.hoveron&&p("hovertemplate"),p("mode",d<a.PTS_LINESONLY?"lines+markers":"lines"),i.hasLines(e)&&(s(t,e,r,f,p),l(t,e,p),p("connectgaps")),i.hasMarkers(e)&&o(t,e,r,f,p,{gradient:!0}),i.hasText(e)&&(p("texttemplate"),c(t,e,f,p));var y=[];(i.hasMarkers(e)||i.hasText(e))&&(p("cliponaxis"),p("marker.maxdisplayed"),y.push("points")),p("fill"),"none"!==e.fill&&(u(t,e,r,p),i.hasLines(e)||l(t,e,p)),"tonext"!==e.fill&&"toself"!==e.fill||y.push("fills"),p("hoveron",y.join("+")||"points"),n.coerceSelectionMarkerOpacity(e,p)}else e.visible=!1}},{"../../lib":716,"../scatter/constants":1122,"../scatter/fillcolor_defaults":1126,"../scatter/line_defaults":1131,"../scatter/line_shape_defaults":1133,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"../scatter/text_defaults":1143,"./attributes":1204}],1207:[function(t,e,r){"use strict";e.exports=function(t,e,r,n,a){if(e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),n[a]){var i=n[a];t.a=i.a,t.b=i.b,t.c=i.c}else t.a=e.a,t.b=e.b,t.c=e.c;return t}},{}],1208:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes");e.exports=function(t,e,r){var a={},i=r[e.subplot]._subplot;return a.aLabel=n.tickText(i.aaxis,t.a,!0).text,a.bLabel=n.tickText(i.baxis,t.b,!0).text,a.cLabel=n.tickText(i.caxis,t.c,!0).text,a}},{"../../plots/cartesian/axes":764}],1209:[function(t,e,r){"use strict";var n=t("../scatter/hover");e.exports=function(t,e,r,a){var i=n(t,e,r,a);if(i&&!1!==i[0].index){var o=i[0];if(void 0===o.index){var s=1-o.y0/t.ya._length,l=t.xa._length,c=l*s/2,u=l-c;return o.x0=Math.max(Math.min(o.x0,u),c),o.x1=Math.max(Math.min(o.x1,u),c),i}var h=o.cd[o.index],f=o.trace,p=o.subplot;o.a=h.a,o.b=h.b,o.c=h.c,o.xLabelVal=void 0,o.yLabelVal=void 0;var d={};d[f.subplot]={_subplot:p};var g=f._module.formatLabels(h,f,d);o.aLabel=g.aLabel,o.bLabel=g.bLabel,o.cLabel=g.cLabel;var v=h.hi||f.hoverinfo,m=[];if(!f.hovertemplate){var y=v.split("+");-1!==y.indexOf("all")&&(y=["a","b","c"]),-1!==y.indexOf("a")&&x(p.aaxis,o.aLabel),-1!==y.indexOf("b")&&x(p.baxis,o.bLabel),-1!==y.indexOf("c")&&x(p.caxis,o.cLabel)}return o.extraText=m.join("<br>"),o.hovertemplate=f.hovertemplate,i}function x(t,e){m.push(t._hovertitle+": "+e)}}},{"../scatter/hover":1129}],1210:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),formatLabels:t("./format_labels"),calc:t("./calc"),plot:t("./plot"),style:t("../scatter/style").style,styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../scatter/select"),eventData:t("./event_data"),moduleType:"trace",name:"scatterternary",basePlotModule:t("../../plots/ternary"),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},{"../../plots/ternary":841,"../scatter/marker_colorbar":1136,"../scatter/select":1139,"../scatter/style":1141,"./attributes":1204,"./calc":1205,"./defaults":1206,"./event_data":1207,"./format_labels":1208,"./hover":1209,"./plot":1211}],1211:[function(t,e,r){"use strict";var n=t("../scatter/plot");e.exports=function(t,e,r){var a=e.plotContainer;a.select(".scatterlayer").selectAll("*").remove();var i={xaxis:e.xaxis,yaxis:e.yaxis,plot:a,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},o=e.layers.frontplot.select("g.scatterlayer");n(t,i,r,o)}},{"../scatter/plot":1138}],1212:[function(t,e,r){"use strict";var n=t("../scatter/attributes"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../scattergl/attributes"),s=t("../../plots/cartesian/constants").idRegex,l=t("../../plot_api/plot_template").templatedArray,c=t("../../lib/extend").extendFlat,u=n.marker,h=u.line,f=c(a("marker.line",{editTypeOverride:"calc"}),{width:c({},h.width,{editType:"calc"}),editType:"calc"}),p=c(a("marker"),{symbol:u.symbol,size:c({},u.size,{editType:"markerSize"}),sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,opacity:u.opacity,colorbar:u.colorbar,line:f,editType:"calc"});function d(t){return{valType:"info_array",freeLength:!0,editType:"calc",items:{valType:"subplotid",regex:s[t],editType:"plot"}}}p.color.editType=p.cmin.editType=p.cmax.editType="style",e.exports={dimensions:l("dimension",{visible:{valType:"boolean",dflt:!0,editType:"calc"},label:{valType:"string",editType:"calc"},values:{valType:"data_array",editType:"calc+clearAxisTypes"},axis:{type:{valType:"enumerated",values:["linear","log","date","category"],editType:"calc+clearAxisTypes"},matches:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc+clearAxisTypes"},editType:"calc+clearAxisTypes"}),text:c({},o.text,{}),hovertext:c({},o.hovertext,{}),hovertemplate:i(),marker:p,xaxes:d("x"),yaxes:d("y"),diagonal:{visible:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},showupperhalf:{valType:"boolean",dflt:!0,editType:"calc"},showlowerhalf:{valType:"boolean",dflt:!0,editType:"calc"},selected:{marker:o.selected.marker,editType:"calc"},unselected:{marker:o.unselected.marker,editType:"calc"},opacity:o.opacity}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/plot_template":754,"../../plots/cartesian/constants":770,"../../plots/template_attributes":840,"../scatter/attributes":1118,"../scattergl/attributes":1169}],1213:[function(t,e,r){"use strict";var n=t("regl-line2d"),a=t("../../registry"),i=t("../../lib/prepare_regl"),o=t("../../plots/get_data").getModuleCalcData,s=t("../../plots/cartesian"),l=t("../../plots/cartesian/axis_ids").getFromId,c=t("../../plots/cartesian/axes").shouldShowZeroLine,u="splom";function h(t,e,r){for(var n=r.matrixOptions.data.length,a=e._visibleDims,i=r.viewOpts.ranges=new Array(n),o=0;o<a.length;o++){var s=a[o],c=i[o]=new Array(4),u=l(t,e._diag[s][0]);u&&(c[0]=u.r2l(u.range[0]),c[2]=u.r2l(u.range[1]));var h=l(t,e._diag[s][1]);h&&(c[1]=h.r2l(h.range[0]),c[3]=h.r2l(h.range[1]))}r.selectBatch.length||r.unselectBatch.length?r.matrix.update({ranges:i},{ranges:i}):r.matrix.update({ranges:i})}function f(t){var e=t._fullLayout,r=e._glcanvas.data()[0].regl,a=e._splomGrid;a||(a=e._splomGrid=n(r)),a.update(function(t){var e,r=t._fullLayout,n=r._size,a=[0,0,r.width,r.height],i={};function o(t,e,r,n,o,s){var l=e[t+"color"],c=e[t+"width"],u=String(l+c);u in i?i[u].data.push(NaN,NaN,r,n,o,s):i[u]={data:[r,n,o,s],join:"rect",thickness:c,color:l,viewport:a,range:a,overlay:!1}}for(e in r._splomSubplots){var s,l,u=r._plots[e],h=u.xaxis,f=u.yaxis,p=h._gridVals,d=f._gridVals,g=n.b+f.domain[0]*n.h,v=-f._m,m=-v*f.r2l(f.range[0],f.calendar);if(h.showgrid)for(e=0;e<p.length;e++)s=h._offset+h.l2p(p[e].x),o("grid",h,s,g,s,g+f._length);if(f.showgrid)for(e=0;e<d.length;e++)l=g+m+v*d[e].x,o("grid",f,h._offset,l,h._offset+h._length,l);c(t,h,f)&&(s=h._offset+h.l2p(0),o("zeroline",h,s,g,s,g+f._length)),c(t,f,h)&&(l=g+m+0,o("zeroline",f,h._offset,l,h._offset+h._length,l))}var y=[];for(e in i)y.push(i[e]);return y}(t))}e.exports={name:u,attr:s.attr,attrRegex:s.attrRegex,layoutAttributes:s.layoutAttributes,supplyLayoutDefaults:s.supplyLayoutDefaults,drawFramework:s.drawFramework,plot:function(t){var e=t._fullLayout,r=a.getModule(u),n=o(t.calcdata,r)[0];i(t,["ANGLE_instanced_arrays","OES_element_index_uint"])&&(e._hasOnlyLargeSploms&&f(t),r.plot(t,{},n))},drag:function(t){var e=t.calcdata,r=t._fullLayout;r._hasOnlyLargeSploms&&f(t);for(var n=0;n<e.length;n++){var a=e[n][0].trace,i=r._splomScenes[a.uid];"splom"===a.type&&i&&i.matrix&&h(t,a,i)}},updateGrid:f,clean:function(t,e,r,n){var a,i={};if(n._splomScenes){for(a=0;a<t.length;a++){var o=t[a];"splom"===o.type&&(i[o.uid]=1)}for(a=0;a<r.length;a++){var l=r[a];if(!i[l.uid]){var c=n._splomScenes[l.uid];c&&c.destroy&&c.destroy(),n._splomScenes[l.uid]=null,delete n._splomScenes[l.uid]}}}0===Object.keys(n._splomScenes||{}).length&&delete n._splomScenes,n._splomGrid&&!e._hasOnlyLargeSploms&&n._hasOnlyLargeSploms&&(n._splomGrid.destroy(),n._splomGrid=null,delete n._splomGrid),s.clean(t,e,r,n)},updateFx:s.updateFx,toSVG:s.toSVG}},{"../../lib/prepare_regl":729,"../../plots/cartesian":775,"../../plots/cartesian/axes":764,"../../plots/cartesian/axis_ids":767,"../../plots/get_data":799,"../../registry":845,"regl-line2d":492}],1214:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axis_ids"),i=t("../scatter/calc").calcMarkerSize,o=t("../scatter/calc").calcAxisExpansion,s=t("../scatter/colorscale_calc"),l=t("../scattergl/convert").markerSelection,c=t("../scattergl/convert").markerStyle,u=t("./scene_update"),h=t("../../constants/numerical").BADNUM,f=t("../scattergl/constants").TOO_MANY_POINTS;e.exports=function(t,e){var r,p,d,g,v,m,y=e.dimensions,x=e._length,b={},_=b.cdata=[],w=b.data=[],k=e._visibleDims=[];function T(t,r){for(var a=t.makeCalcdata({v:r.values,vcalendar:e.calendar},"v"),i=0;i<a.length;i++)a[i]=a[i]===h?NaN:a[i];_.push(a),w.push("log"===t.type?n.simpleMap(a,t.c2l):a)}for(r=0;r<y.length;r++)if((d=y[r]).visible){if(g=a.getFromId(t,e._diag[r][0]),v=a.getFromId(t,e._diag[r][1]),g&&v&&g.type!==v.type){n.log("Skipping splom dimension "+r+" with conflicting axis types");continue}g?(T(g,d),v&&"category"===v.type&&(v._categories=g._categories.slice())):T(v,d),k.push(r)}for(s(t,e),n.extendFlat(b,c(e)),m=_.length*x>f?2*(b.sizeAvg||Math.max(b.size,3)):i(e,x),p=0;p<k.length;p++)d=y[r=k[p]],g=a.getFromId(t,e._diag[r][0])||{},v=a.getFromId(t,e._diag[r][1])||{},o(t,e,g,v,_[p],_[p],m);var A=u(t,e);return A.matrix||(A.matrix=!0),A.matrixOptions=b,A.selectedOptions=l(e,e.selected),A.unselectedOptions=l(e,e.unselected),[{x:!1,y:!1,t:{},trace:e}]}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axis_ids":767,"../scatter/calc":1119,"../scatter/colorscale_calc":1121,"../scattergl/constants":1171,"../scattergl/convert":1172,"./scene_update":1221}],1215:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/array_container_defaults"),i=t("./attributes"),o=t("../scatter/subtypes"),s=t("../scatter/marker_defaults"),l=t("../parcoords/merge_length"),c=/-open/;function u(t,e){function r(r,a){return n.coerce(t,e,i.dimensions,r,a)}r("label");var a=r("values");a&&a.length?r("visible"):e.visible=!1,r("axis.type"),r("axis.matches")}e.exports=function(t,e,r,h){function f(r,a){return n.coerce(t,e,i,r,a)}var p=a(t,e,{name:"dimensions",handleItemDefaults:u}),d=f("diagonal.visible"),g=f("showupperhalf"),v=f("showlowerhalf");if(l(e,p,"values")&&(d||g||v)){f("text"),f("hovertext"),f("hovertemplate"),s(t,e,r,h,f);var m=c.test(e.marker.symbol),y=o.isBubble(e);f("marker.line.width",m||y?1:0),function(t,e,r,n){var a,i,o=e.dimensions,s=o.length,l=e.showupperhalf,c=e.showlowerhalf,u=e.diagonal.visible,h=new Array(s),f=new Array(s);for(a=0;a<s;a++){var p=a?a+1:"";h[a]="x"+p,f[a]="y"+p}var d=n("xaxes",h),g=n("yaxes",f),v=e._diag=new Array(s);e._xaxes={},e._yaxes={};var m=[],y=[];function x(t,n,a,i){if(t){var o=t.charAt(0),s=r._splomAxes[o];if(e["_"+o+"axes"][t]=1,i.push(t),!(t in s)){var l=s[t]={};a&&(l.label=a.label||"",a.visible&&a.axis&&(a.axis.type&&(l.type=a.axis.type),a.axis.matches&&(l.matches=n)))}}}var b=!u&&!c,_=!u&&!l;for(e._axesDim={},a=0;a<s;a++){var w=o[a],k=0===a,T=a===s-1,A=k&&b||T&&_?void 0:d[a],M=k&&_||T&&b?void 0:g[a];x(A,M,w,m),x(M,A,w,y),v[a]=[A,M],e._axesDim[A]=a,e._axesDim[M]=a}for(a=0;a<m.length;a++)for(i=0;i<y.length;i++){var S=m[a]+y[i];a>i&&l?r._splomSubplots[S]=1:a<i&&c?r._splomSubplots[S]=1:a!==i||!u&&c&&l||(r._splomSubplots[S]=1)}(!c||!u&&l&&c)&&(r._splomGridDflt.xside="bottom",r._splomGridDflt.yside="left")}(0,e,h,f),n.coerceSelectionMarkerOpacity(e,f)}else e.visible=!1}},{"../../lib":716,"../../plots/array_container_defaults":760,"../parcoords/merge_length":1089,"../scatter/marker_defaults":1137,"../scatter/subtypes":1142,"./attributes":1212}],1216:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/colorscale_calc"),i=t("../scattergl/convert").markerStyle;e.exports=function(t,e){var r=e.trace,o=t._fullLayout._splomScenes[r.uid];if(o){a(t,r),n.extendFlat(o.matrixOptions,i(r));var s=n.extendFlat({},o.matrixOptions,o.viewOpts);o.matrix.update(s,null)}}},{"../../lib":716,"../scatter/colorscale_calc":1121,"../scattergl/convert":1172}],1217:[function(t,e,r){"use strict";r.getDimIndex=function(t,e){for(var r=e._id,n={x:0,y:1}[r.charAt(0)],a=t._visibleDims,i=0;i<a.length;i++){var o=a[i];if(t._diag[o][n]===r)return i}return!1}},{}],1218:[function(t,e,r){"use strict";var n=t("./helpers"),a=t("../scattergl/hover").calcHover;e.exports={hoverPoints:function(t,e,r){var i=t.cd[0].trace,o=t.scene.matrixOptions.cdata,s=t.xa,l=t.ya,c=s.c2p(e),u=l.c2p(r),h=t.distance,f=n.getDimIndex(i,s),p=n.getDimIndex(i,l);if(!1===f||!1===p)return[t];for(var d,g,v=o[f],m=o[p],y=h,x=0;x<v.length;x++){var b=v[x],_=m[x],w=s.c2p(b)-c,k=l.c2p(_)-u,T=Math.sqrt(w*w+k*k);T<y&&(y=g=T,d=x)}return t.index=d,t.distance=y,t.dxy=g,void 0===d?[t]:[a(t,v,m,i)]}}},{"../scattergl/hover":1176,"./helpers":1217}],1219:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../components/grid");e.exports={moduleType:"trace",name:"splom",basePlotModule:t("./base_plot"),categories:["gl","regl","cartesian","symbols","showLegend","scatter-like"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:t("../scatter/marker_colorbar"),calc:t("./calc"),plot:t("./plot"),hoverPoints:t("./hover").hoverPoints,selectPoints:t("./select"),editStyle:t("./edit_style"),meta:{}},n.register(a)},{"../../components/grid":633,"../../registry":845,"../scatter/marker_colorbar":1136,"./attributes":1212,"./base_plot":1213,"./calc":1214,"./defaults":1215,"./edit_style":1216,"./hover":1218,"./plot":1220,"./select":1222}],1220:[function(t,e,r){"use strict";var n=t("regl-splom"),a=t("../../lib"),i=t("../../plots/cartesian/axis_ids");function o(t,e){var r,o,s,l,c,u=t._fullLayout,h=u._size,f=e.trace,p=e.t,d=u._splomScenes[f.uid],g=d.matrixOptions,v=g.cdata,m=u._glcanvas.data()[0].regl,y=u.dragmode;if(0!==v.length){g.lower=f.showupperhalf,g.upper=f.showlowerhalf,g.diagonal=f.diagonal.visible;var x=f._visibleDims,b=v.length,_=d.viewOpts={};for(_.ranges=new Array(b),_.domains=new Array(b),c=0;c<x.length;c++){s=x[c];var w=_.ranges[c]=new Array(4),k=_.domains[c]=new Array(4);(r=i.getFromId(t,f._diag[s][0]))&&(w[0]=r._rl[0],w[2]=r._rl[1],k[0]=r.domain[0],k[2]=r.domain[1]),(o=i.getFromId(t,f._diag[s][1]))&&(w[1]=o._rl[0],w[3]=o._rl[1],k[1]=o.domain[0],k[3]=o.domain[1])}_.viewport=[h.l,h.b,h.w+h.l,h.h+h.b],!0===d.matrix&&(d.matrix=n(m));var T=u.clickmode.indexOf("select")>-1,A=!0;if("lasso"===y||"select"===y||!!f.selectedpoints||T){var M=f._length;if(f.selectedpoints){d.selectBatch=f.selectedpoints;var S=f.selectedpoints,E={};for(s=0;s<S.length;s++)E[S[s]]=!0;var L=[];for(s=0;s<M;s++)E[s]||L.push(s);d.unselectBatch=L}var C=p.xpx=new Array(b),P=p.ypx=new Array(b);for(c=0;c<x.length;c++){if(s=x[c],r=i.getFromId(t,f._diag[s][0]))for(C[c]=new Array(M),l=0;l<M;l++)C[c][l]=r.c2p(v[c][l]);if(o=i.getFromId(t,f._diag[s][1]))for(P[c]=new Array(M),l=0;l<M;l++)P[c][l]=o.c2p(v[c][l])}if(d.selectBatch.length||d.unselectBatch.length){var O=a.extendFlat({},g,d.unselectedOptions,_),z=a.extendFlat({},g,d.selectedOptions,_);d.matrix.update(O,z),A=!1}}else p.xpx=p.ypx=null;if(A){var I=a.extendFlat({},g,_);d.matrix.update(I,null)}}}e.exports=function(t,e,r){if(r.length)for(var n=0;n<r.length;n++)o(t,r[n][0])}},{"../../lib":716,"../../plots/cartesian/axis_ids":767,"regl-splom":499}],1221:[function(t,e,r){"use strict";var n=t("../../lib");e.exports=function(t,e){var r=t._fullLayout,a=e.uid,i=r._splomScenes;i||(i=r._splomScenes={});var o={dirty:!0},s=i[e.uid];return s||((s=i[a]=n.extendFlat({},o,{matrix:!1,selectBatch:[],unselectBatch:[]})).draw=function(){s.matrix&&s.matrix.draw&&(s.selectBatch.length||s.unselectBatch.length?s.matrix.draw(s.unselectBatch,s.selectBatch):s.matrix.draw()),s.dirty=!1},s.destroy=function(){s.matrix&&s.matrix.destroy&&s.matrix.destroy(),s.matrixOptions=null,s.selectBatch=null,s.unselectBatch=null,s=null}),s.dirty||n.extendFlat(s,o),s}},{"../../lib":716}],1222:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../scatter/subtypes"),i=t("./helpers");e.exports=function(t,e){var r=t.cd,o=r[0].trace,s=r[0].t,l=t.scene,c=l.matrixOptions.cdata,u=t.xaxis,h=t.yaxis,f=[];if(!l)return f;var p=!a.hasMarkers(o)&&!a.hasText(o);if(!0!==o.visible||p)return f;var d=i.getDimIndex(o,u),g=i.getDimIndex(o,h);if(!1===d||!1===g)return f;var v=s.xpx[d],m=s.ypx[g],y=c[d],x=c[g],b=[],_=[];if(!1!==e&&!e.degenerate)for(var w=0;w<y.length;w++)e.contains([v[w],m[w]],null,w,t)?(b.push(w),f.push({pointNumber:w,x:y[w],y:x[w]})):_.push(w);var k=l.matrixOptions;return b.length||_.length?l.selectBatch.length||l.unselectBatch.length||l.matrix.update(l.unselectedOptions,n.extendFlat({},k,l.selectedOptions,l.viewOpts)):l.matrix.update(k,null),l.selectBatch=b,l.unselectBatch=_,f}},{"../../lib":716,"../scatter/subtypes":1142,"./helpers":1217}],1223:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../mesh3d/attributes"),o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},starts:{x:{valType:"data_array",editType:"calc"},y:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},editType:"calc"},maxdisplayed:{valType:"integer",min:0,dflt:1e3,editType:"calc"},sizeref:{valType:"number",editType:"calc",min:0,dflt:1},text:{valType:"string",dflt:"",editType:"calc"},hovertext:{valType:"string",dflt:"",editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["tubex","tubey","tubez","tubeu","tubev","tubew","norm","divergence"]})};s(l,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"}));["opacity","lightposition","lighting"].forEach(function(t){l[t]=i[t]}),l.hoverinfo=s({},o.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","divergence","text","name"],dflt:"x+y+z+norm+text+name"}),l.transforms=void 0,e.exports=l},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../mesh3d/attributes":1059}],1224:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/calc");function i(t){return n.distinctVals(t).vals}e.exports=function(t,e){var r,o,s,l,c,u,h=e.u,f=e.v,p=e.w,d=e.x,g=e.y,v=e.z,m=Math.min(d.length,g.length,v.length,h.length,f.length,p.length),y=0;e.starts&&(l=e.starts.x||[],c=e.starts.y||[],u=e.starts.z||[],y=Math.min(l.length,c.length,u.length));var x=0,b=1/0;for(r=0;r<m;r++){var _=h[r],w=f[r],k=p[r],T=Math.sqrt(_*_+w*w+k*k);x=Math.max(x,T),b=Math.min(b,T)}a(t,e,{vals:[b,x],containerStr:"",cLetter:"c"});var A,M,S,E,L,C,P=-1/0,O=1/0,z=-1/0,I=1/0,D=-1/0,R=1/0,F="";for(m&&(E=d[0],L=g[0],C=v[0]),r=0;r<m;r++)P=Math.max(P,d[r]),O=Math.min(O,d[r]),z=Math.max(z,g[r]),I=Math.min(I,g[r]),D=Math.max(D,v[r]),R=Math.min(R,v[r]),A||d[r]===E||(A=!0,F+="x"),M||g[r]===L||(M=!0,F+="y"),S||v[r]===C||(S=!0,F+="z");A||(F+="x"),M||(F+="y"),S||(F+="z");var B=i(e.x.slice(0,m)),N=i(e.y.slice(0,m)),j=i(e.z.slice(0,m));F=(F=(F=F.replace("x",(d[0]>d[m-1]?"-":"+")+"x")).replace("y",(g[0]>g[m-1]?"-":"+")+"y")).replace("z",(v[0]>v[m-1]?"-":"+")+"z");var V=function(){m=0,B=[],N=[],j=[]};(!m||m<B.length*N.length*j.length)&&V();var U=function(t){return"x"===t?d:"y"===t?g:v},q=function(t){return"x"===t?B:"y"===t?N:j},H=function(t){return t[m-1]<t[0]?-1:1},G=U(F[1]),Y=U(F[3]),W=U(F[5]),X=q(F[1]).length,Z=q(F[3]).length,J=q(F[5]).length,K=!1,Q=function(t,e,r){return X*(Z*t+e)+r},$=H(U(F[1])),tt=H(U(F[3])),et=H(U(F[5]));for(r=0;r<J-1;r++){for(o=0;o<Z-1;o++){for(s=0;s<X-1;s++){var rt=Q(r,o,s),nt=Q(r,o,s+1),at=Q(r,o+1,s),it=Q(r+1,o,s);if(G[rt]*$<G[nt]*$&&Y[rt]*tt<Y[at]*tt&&W[rt]*et<W[it]*et||(K=!0),K)break}if(K)break}if(K)break}for(K&&(n.warn("Encountered arbitrary coordinates! Unable to input data grid."),V()),r=0;r<y;r++){var ot=l[r];P=Math.max(P,ot),O=Math.min(O,ot);var st=c[r];z=Math.max(z,st),I=Math.min(I,st);var lt=u[r];D=Math.max(D,lt),R=Math.min(R,lt)}e._len=m,e._slen=y,e._normMax=x,e._xbnds=[O,P],e._ybnds=[I,z],e._zbnds=[R,D],e._Xs=B,e._Ys=N,e._Zs=j,e._gridFill=F}},{"../../components/colorscale/calc":599,"../../lib":716}],1225:[function(t,e,r){"use strict";var n=t("gl-streamtube3d"),a=n.createTubeMesh,i=t("../../lib"),o=t("../../lib/gl_format_color").parseColorScale,s=t("../../components/colorscale").extractOpts,l=t("../../plots/gl3d/zip3"),c={xaxis:0,yaxis:1,zaxis:2};function u(t,e){this.scene=t,this.uid=e,this.mesh=null,this.data=null}var h=u.prototype;function f(t){var e=t.length;return e>2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,a=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=a[c[e]];return i.simpleMap(t,function(t){return n.d2l(t)*o})}if(h.vectors=l(d(e.u,"xaxis"),d(e.v,"yaxis"),d(e.w,"zaxis"),u),!u)return{positions:[],cells:[]};var g=d(e._Xs,"xaxis"),v=d(e._Ys,"yaxis"),m=d(e._Zs,"zaxis");h.meshgrid=[g,v,m],h.gridFill=e._gridFill;var y=e._slen;if(y)h.startingPositions=l(d(e.starts.x.slice(0,y),"xaxis"),d(e.starts.y.slice(0,y),"yaxis"),d(e.starts.z.slice(0,y),"zaxis"));else{for(var x=v[0],b=f(g),_=f(m),w=new Array(b.length*_.length),k=0,T=0;T<b.length;T++)for(var A=0;A<_.length;A++)w[k++]=[b[T],x,_[A]];h.startingPositions=w}h.colormap=o(e),h.tubeSize=e.sizeref,h.maxLength=e.maxdisplayed;var M=d(e._xbnds,"xaxis"),S=d(e._ybnds,"yaxis"),E=d(e._zbnds,"zaxis"),L=p(g),C=p(v),P=p(m),O=[[M[0]-L[0],S[0]-C[0],E[0]-P[0]],[M[1]+L[1],S[1]+C[1],E[1]+P[1]]],z=n(h,O),I=s(e);z.vertexIntensityBounds=[I.min/e._normMax,I.max/e._normMax];var D=e.lightposition;return z.lightPosition=[D.x,D.y,D.z],z.ambient=e.lighting.ambient,z.diffuse=e.lighting.diffuse,z.specular=e.lighting.specular,z.roughness=e.lighting.roughness,z.fresnel=e.lighting.fresnel,z.opacity=e.opacity,e._pad=z.tubeScale*e.sizeref*2,z}h.handlePick=function(t){var e=this.scene.fullSceneLayout,r=this.scene.dataScale;function n(t,n){var a=e[n],i=r[c[n]];return a.l2c(t)/i}if(t.object===this.mesh){var a=t.data.position,i=t.data.velocity;return t.traceCoordinate=[n(a[0],"xaxis"),n(a[1],"yaxis"),n(a[2],"zaxis"),n(i[0],"xaxis"),n(i[1],"yaxis"),n(i[2],"zaxis"),t.data.intensity*this.data._normMax,t.data.divergence],t.textLabel=this.data.hovertext||this.data.text,!0}},h.update=function(t){this.data=t;var e=d(this.scene,t);this.mesh.update(e)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,n=d(t,e),i=a(r,n),o=new u(t,e.uid);return o.mesh=i,o.data=e,i._trace=o,t.glplot.add(i),o}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../plots/gl3d/zip3":815,"gl-streamtube3d":314}],1226:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/colorscale/defaults"),i=t("./attributes");e.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}var l=s("u"),c=s("v"),u=s("w"),h=s("x"),f=s("y"),p=s("z");l&&l.length&&c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length&&p&&p.length?(s("starts.x"),s("starts.y"),s("starts.z"),s("maxdisplayed"),s("sizeref"),s("lighting.ambient"),s("lighting.diffuse"),s("lighting.specular"),s("lighting.roughness"),s("lighting.fresnel"),s("lightposition.x"),s("lightposition.y"),s("lightposition.z"),a(t,e,o,s,{prefix:"",cLetter:"c"}),s("text"),s("hovertext"),s("hovertemplate"),e._length=null):e.visible=!1}},{"../../components/colorscale/defaults":601,"../../lib":716,"./attributes":1223}],1227:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"streamtube",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),eventData:function(t,e){return t.tubex=t.x,t.tubey=t.y,t.tubez=t.z,t.tubeu=e.traceCoordinate[3],t.tubev=e.traceCoordinate[4],t.tubew=e.traceCoordinate[5],t.norm=e.traceCoordinate[6],t.divergence=e.traceCoordinate[7],delete t.x,delete t.y,delete t.z,t},meta:{}}},{"../../plots/gl3d":804,"./attributes":1223,"./calc":1224,"./convert":1225,"./defaults":1226}],1228:[function(t,e,r){"use strict";var n=t("../../plots/attributes"),a=t("../../plots/template_attributes").hovertemplateAttrs,i=t("../../plots/template_attributes").texttemplateAttrs,o=t("../../components/colorscale/attributes"),s=t("../../plots/domain").attributes,l=t("../pie/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:{valType:"data_array",editType:"calc"},parents:{valType:"data_array",editType:"calc"},values:{valType:"data_array",editType:"calc"},branchvalues:{valType:"enumerated",values:["remainder","total"],dflt:"remainder",editType:"calc"},count:{valType:"flaglist",flags:["branches","leaves"],dflt:"leaves",editType:"calc"},level:{valType:"any",editType:"plot",anim:!0},maxdepth:{valType:"integer",editType:"plot",dflt:-1},marker:u({colors:{valType:"data_array",editType:"calc"},line:{color:u({},l.marker.line.color,{dflt:null}),width:u({},l.marker.line.width,{dflt:1}),editType:"calc"},editType:"calc"},o("marker",{colorAttr:"colors",anim:!1})),leaf:{opacity:{valType:"number",editType:"style",min:0,max:1},editType:"plot"},text:l.text,textinfo:{valType:"flaglist",flags:["label","text","value","current path","percent root","percent entry","percent parent"],extras:["none"],editType:"plot"},texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:l.hovertext,hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","name","current path","percent root","percent entry","percent parent"],dflt:"label+text+value+name"}),hovertemplate:a({},{keys:c.eventDataKeys}),textfont:l.textfont,insidetextfont:l.insidetextfont,outsidetextfont:l.outsidetextfont,domain:s({name:"sunburst",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092,"./constants":1231}],1229:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="sunburst",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1230:[function(t,e,r){"use strict";var n=t("d3-hierarchy"),a=t("fast-isnumeric"),i=t("../../lib"),o=t("../../components/colorscale").makeColorScaleFuncFromTrace,s=t("../pie/calc").makePullColorFn,l=t("../pie/calc").generateExtendedColors,c=t("../../components/colorscale").calc,u={},h={};r.calc=function(t,e){var r,l,u,h,f,p,d=t._fullLayout,g=e.ids,v=i.isArrayOrTypedArray(g),m=e.labels,y=e.parents,x=e.values,b=i.isArrayOrTypedArray(x),_=[],w={},k={},T=function(t){return t||"number"==typeof t},A=function(t){return!b||a(x[t])&&x[t]>=0};v?(r=Math.min(g.length,y.length),l=function(t){return T(g[t])&&A(t)},u=function(t){return String(g[t])}):(r=Math.min(m.length,y.length),l=function(t){return T(m[t])&&A(t)},u=function(t){return String(m[t])}),b&&(r=Math.min(r,x.length));for(var M=0;M<r;M++)if(l(M)){var S=u(M),E=T(y[M])?String(y[M]):"",L={i:M,id:S,pid:E,label:T(m[M])?String(m[M]):""};b&&(L.v=+x[M]),_.push(L),f=S,w[h=E]?w[h].push(f):w[h]=[f],k[f]=1}if(w[""]){if(w[""].length>1){for(var C=i.randstr(),P=0;P<_.length;P++)""===_[P].pid&&(_[P].pid=C);_.unshift({hasMultipleRoots:!0,id:C,pid:"",label:""})}}else{var O,z=[];for(O in w)k[O]||z.push(O);if(1!==z.length)return i.warn("Multiple implied roots, cannot build "+e.type+" hierarchy.");O=z[0],_.unshift({hasImpliedRoot:!0,id:O,pid:"",label:O})}try{p=n.stratify().id(function(t){return t.id}).parentId(function(t){return t.pid})(_)}catch(t){return i.warn("Failed to build "+e.type+" hierarchy. Error: "+t.message)}var I=n.hierarchy(p),D=!1;if(b)switch(e.branchvalues){case"remainder":I.sum(function(t){return t.data.v});break;case"total":I.each(function(t){var e=t.data.data,r=e.v;if(t.children){var n=t.children.reduce(function(t,e){return t+e.data.data.v},0);if((e.hasImpliedRoot||e.hasMultipleRoots)&&(r=n),r<n)return D=!0,i.warn(["Total value for node",t.data.data.id,"is smaller than the sum of its children.","\nparent value =",r,"\nchildren sum =",n].join(" "))}t.value=r})}else!function t(e,r,n){var a=0;var i=e.children;if(i){for(var o=i.length,s=0;s<o;s++)a+=t(i[s],r,n);n.branches&&a++}else n.leaves&&a++;e.value=e.data.data.value=a;r._values||(r._values=[]);r._values[e.data.data.i]=a;return a}(I,e,{branches:-1!==e.count.indexOf("branches"),leaves:-1!==e.count.indexOf("leaves")});if(!D){var R,F;I.sort(function(t,e){return e.value-t.value});var B=e.marker.colors||[],N=!!B.length;return e._hasColorscale?(N||(B=b?e.values:e._values),c(t,e,{vals:B,containerStr:"marker",cLetter:"c"}),F=o(e.marker)):R=s(d["_"+e.type+"colormap"]),I.each(function(t){var r=t.data.data;r.color=e._hasColorscale?F(B[r.i]):R(B[r.i],r.id)}),_[0].hierarchy=I,_}},r._runCrossTraceCalc=function(t,e){var r=e._fullLayout,n=e.calcdata,a=r[t+"colorway"],i=r["_"+t+"colormap"];r["extend"+t+"colors"]&&(a=l(a,"treemap"===t?h:u));var o=0;function s(t){var e=t.data.data,r=e.id;!1===e.color&&(i[r]?e.color=i[r]:t.parent?t.parent.parent?e.color=t.parent.data.data.color:(i[r]=e.color=a[o%a.length],o++):e.color="rgba(0,0,0,0)")}for(var c=0;c<n.length;c++){var f=n[c][0];f.trace.type===t&&f.hierarchy&&f.hierarchy.each(s)}},r.crossTraceCalc=function(t){return r._runCrossTraceCalc("sunburst",t)}},{"../../components/colorscale":603,"../../lib":716,"../pie/calc":1094,"d3-hierarchy":158,"fast-isnumeric":227}],1231:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"linear",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"]}},{}],1232:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults,o=t("../bar/defaults").handleText,s=t("../../components/colorscale"),l=s.hasColorscale,c=s.handleDefaults;e.exports=function(t,e,r,s){function u(r,i){return n.coerce(t,e,a,r,i)}var h=u("labels"),f=u("parents");if(h&&h.length&&f&&f.length){var p=u("values");p&&p.length?u("branchvalues"):u("count"),u("level"),u("maxdepth"),u("marker.line.width")&&u("marker.line.color",s.paper_bgcolor),u("marker.colors");var d=e._hasColorscale=l(t,"marker","colors");d&&c(t,e,s,u,{prefix:"marker.",cLetter:"c"}),u("leaf.opacity",d?1:.7);var g=u("text");u("texttemplate"),e.texttemplate||u("textinfo",Array.isArray(g)?"text+label":"label"),u("hovertext"),u("hovertemplate");o(t,e,s,u,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),i(e,s,u),e._length=null}else e.visible=!1}},{"../../components/colorscale":603,"../../lib":716,"../../plots/domain":789,"../bar/defaults":859,"./attributes":1228}],1233:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../registry"),i=t("../../components/fx/helpers").appendArrayPointValue,o=t("../../components/fx"),s=t("../../lib"),l=t("../../lib/events"),c=t("./helpers"),u=t("../pie/helpers").formatPieValue;function h(t,e,r){for(var n=t.data.data,a={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o<r.length;o++){var s=r[o];s in t&&(a[s]=t[s])}return"parentString"in t&&!c.isHierarchyRoot(t)&&(a.parent=t.parentString),i(a,e,n.i),a}e.exports=function(t,e,r,i,f){var p=i[0],d=p.trace,g=p.hierarchy,v="sunburst"===d.type,m="treemap"===d.type;"_hasHoverLabel"in d||(d._hasHoverLabel=!1),"_hasHoverEvent"in d||(d._hasHoverEvent=!1);t.on("mouseover",function(a){var i=r._fullLayout;if(!r._dragging&&!1!==i.hovermode){var l=r._fullData[d.index],y=a.data.data,x=y.i,b=c.isHierarchyRoot(a),_=c.getParent(g,a),w=c.getValue(a),k=function(t){return s.castOption(l,x,t)},T=k("hovertemplate"),A=o.castHoverinfo(l,i,x),M=i.separators;if(T||A&&"none"!==A&&"skip"!==A){var S,E;v&&(S=p.cx+a.pxmid[0]*(1-a.rInscribed),E=p.cy+a.pxmid[1]*(1-a.rInscribed)),m&&(S=a._hoverX,E=a._hoverY);var L,C={},P=[],O=[],z=function(t){return-1!==P.indexOf(t)};A&&(P="all"===A?l._module.attributes.hoverinfo.flags:A.split("+")),C.label=y.label,z("label")&&C.label&&O.push(C.label),y.hasOwnProperty("v")&&(C.value=y.v,C.valueLabel=u(C.value,M),z("value")&&O.push(C.valueLabel)),C.currentPath=a.currentPath=c.getPath(a.data),z("current path")&&!b&&O.push(C.currentPath);var I=[],D=function(){-1===I.indexOf(L)&&(O.push(L),I.push(L))};C.percentParent=a.percentParent=w/c.getValue(_),C.parent=a.parentString=c.getPtLabel(_),z("percent parent")&&(L=c.formatPercent(C.percentParent,M)+" of "+C.parent,D()),C.percentEntry=a.percentEntry=w/c.getValue(e),C.entry=a.entry=c.getPtLabel(e),!z("percent entry")||b||a.onPathbar||(L=c.formatPercent(C.percentEntry,M)+" of "+C.entry,D()),C.percentRoot=a.percentRoot=w/c.getValue(g),C.root=a.root=c.getPtLabel(g),z("percent root")&&!b&&(L=c.formatPercent(C.percentRoot,M)+" of "+C.root,D()),C.text=k("hovertext")||k("text"),z("text")&&(L=C.text,s.isValidTextValue(L)&&O.push(L));var R={trace:l,y:E,text:O.join("<br>"),name:T||z("name")?l.name:void 0,color:k("hoverlabel.bgcolor")||y.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:T,hovertemplateLabels:C,eventData:[h(a,l,f.eventDataKeys)]};v&&(R.x0=S-a.rInscribed*a.rpx1,R.x1=S+a.rInscribed*a.rpx1,R.idealAlign=a.pxmid[0]<0?"left":"right"),m&&(R.x=S,R.idealAlign=S<0?"left":"right"),o.loneHover(R,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}),d._hasHoverLabel=!0}if(m){var F=t.select("path.surface");f.styleOne(F,a,l,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:[h(a,l,f.eventDataKeys)],event:n.event})}}),t.on("mouseout",function(e){var a=r._fullLayout,i=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[h(s,i,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(a._hoverlayer.node()),d._hasHoverLabel=!1),m){var l=t.select("path.surface");f.styleOne(l,s,i,{hovered:!1})}}),t.on("click",function(t){var e=r._fullLayout,i=r._fullData[d.index];if(!1===l.triggerHandler(r,"plotly_"+d.type+"click",{points:[h(t,i,f.eventDataKeys)],event:n.event})||v&&(c.isHierarchyRoot(t)||c.isLeaf(t)))e.hovermode&&(r._hoverdata=[h(t,i,f.eventDataKeys)],o.click(r,n.event));else if(!r._dragging&&!r._transitioning){a.call("_storeDirectGUIEdit",i,e._tracePreGUI[i.uid],{level:i.level});var s=c.getPtId(t),u=c.isEntry(t)?c.findEntryWithChild(g,s):c.findEntryWithLevel(g,s),p={data:[{level:c.getPtId(u)}],traces:[d.index]},m={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),a.call("animate",r,p,m)}})}},{"../../components/fx":629,"../../components/fx/helpers":626,"../../lib":716,"../../lib/events":706,"../../registry":845,"../pie/helpers":1097,"./helpers":1234,d3:164}],1234:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../../lib/setcursor"),o=t("../pie/helpers");function s(t){return t.data.data.pid}r.findEntryWithLevel=function(t,e){var n;return e&&t.eachAfter(function(t){if(r.getPtId(t)===e)return n=t.copy()}),n||t},r.findEntryWithChild=function(t,e){var n;return t.eachAfter(function(t){for(var a=t.children||[],i=0;i<a.length;i++){var o=a[i];if(r.getPtId(o)===e)return n=t.copy()}}),n||t},r.isEntry=function(t){return!t.parent},r.isLeaf=function(t){return!t.children},r.getPtId=function(t){return t.data.data.id},r.getPtLabel=function(t){return t.data.data.label},r.getValue=function(t){return t.value},r.isHierarchyRoot=function(t){return""===s(t)},r.setSliceCursor=function(t,e,n){var a=n.isTransitioning;if(!a){var o=t.datum();a=n.hideOnRoot&&r.isHierarchyRoot(o)||n.hideOnLeaves&&r.isLeaf(o)}i(t,a?null:"pointer")},r.getInsideTextFontKey=function(t,e,r,a){var i=r.data.data.i;return n.castOption(e,i,"insidetextfont."+t)||n.castOption(e,i,"textfont."+t)||a.size},r.getOutsideTextFontKey=function(t,e,r,a){var i=r.data.data.i;return n.castOption(e,i,"outsidetextfont."+t)||n.castOption(e,i,"textfont."+t)||a.size},r.isOutsideText=function(t,e){return!t._hasColorscale&&r.isHierarchyRoot(e)},r.determineTextFont=function(t,e,i,o){return r.isOutsideText(t,e)?function(t,e,n){return{color:r.getOutsideTextFontKey("color",t,e,n),family:r.getOutsideTextFontKey("family",t,e,n),size:r.getOutsideTextFontKey("size",t,e,n)}}(t,e,i):function(t,e,i,o){var s=e.data.data,l=s.i,c=n.castOption(t,l,"insidetextfont.color");return!c&&t._input.textfont&&(c=n.castOption(t._input,l,"textfont.color")),{color:c||a.contrast(s.color),family:r.getInsideTextFontKey("family",o||t,e,i),size:r.getInsideTextFontKey("size",o||t,e,i)}}(t,e,i,o)},r.hasTransition=function(t){return!!(t&&t.duration>0)},r.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},r.isHeader=function(t,e){return!(r.isLeaf(t)||t.depth===e._maxDepth-1)},r.getParent=function(t,e){return r.findEntryWithLevel(t,s(e))},r.listPath=function(t,e){var n=t.parent;if(!n)return[];var a=e?[n.data[e]]:[n];return r.listPath(n,e).concat(a)},r.getPath=function(t){return r.listPath(t,"label").join("/")+"/"},r.formatValue=o.formatPieValue,r.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},{"../../components/color":591,"../../lib":716,"../../lib/setcursor":736,"../pie/helpers":1097}],1235:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"sunburst",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot").plot,style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1228,"./base_plot":1229,"./calc":1230,"./defaults":1232,"./layout_attributes":1236,"./layout_defaults":1237,"./plot":1238,"./style":1239}],1236:[function(t,e,r){"use strict";e.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1237:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},{"../../lib":716,"./layout_attributes":1236}],1238:[function(t,e,r){"use strict";var n=t("d3"),a=t("d3-hierarchy"),i=t("../../components/drawing"),o=t("../../lib"),s=t("../../lib/svg_text_utils"),l=t("../pie/plot").transformInsideText,c=t("./style").styleOne,u=t("./fx"),h=t("./constants"),f=t("./helpers");function p(t,e,p,d){var g=t._fullLayout,v=f.hasTransition(d),m=n.select(p).selectAll("g.slice"),y=e[0],x=y.trace,b=y.hierarchy,_=f.findEntryWithLevel(b,x.level),w=f.getMaxDepth(x),k=g._size,T=x.domain,A=k.w*(T.x[1]-T.x[0]),M=k.h*(T.y[1]-T.y[0]),S=.5*Math.min(A,M),E=y.cx=k.l+k.w*(T.x[1]+T.x[0])/2,L=y.cy=k.t+k.h*(1-T.y[0])-M/2;if(!_)return m.remove();var C=null,P={};v&&m.each(function(t){P[f.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!C&&f.isEntry(t)&&(C=t)});var O=function(t){return a.partition().size([2*Math.PI,t.height+1])(t)}(_).descendants(),z=_.height+1,I=0,D=w;y.hasMultipleRoots&&f.isHierarchyRoot(_)&&(O=O.slice(1),z-=1,I=1,D+=1),O=O.filter(function(t){return t.y1<=D});var R=Math.min(z,w),F=function(t){return(t-I)/R*S},B=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},N=function(t){return o.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,E,L)},j=function(t){return E+t.pxmid[0]*t.transform.rCenter+(t.transform.x||0)},V=function(t){return L+t.pxmid[1]*t.transform.rCenter+(t.transform.y||0)};(m=m.data(O,f.getPtId)).enter().append("g").classed("slice",!0),v?m.exit().transition().each(function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",function(t){var e=function(t){var e,r=f.getPtId(t),a=P[r],i=P[f.getPtId(_)];if(i){var o=t.x1>i.x1?2*Math.PI:0;e=t.rpx1<i.rpx1?{rpx0:0,rpx1:0}:{x0:o,x1:o}}else{var s,l=f.getPtId(t.parent);m.each(function(t){if(f.getPtId(t)===l)return s=t});var c,u=s.children;u.forEach(function(t,e){if(f.getPtId(t)===r)return c=e});var h=u.length,p=n.interpolate(s.x0,s.x1);e={rpx0:S,rpx1:S,x0:p(c/h),x1:p((c+1)/h)}}return n.interpolate(a,e)}(t);return function(t){return N(e(t))}}),t.select("g.slicetext").attr("opacity",0)}).remove():m.exit().remove(),m.order();var U=null;if(v&&C){var q=f.getPtId(C);m.each(function(t){null===U&&f.getPtId(t)===q&&(U=t.x1)})}var H=m;function G(t){var e=t.parent,r=P[f.getPtId(e)],a={};if(r){var i=e.children,o=i.indexOf(t),s=i.length,l=n.interpolate(r.x0,r.x1);a.x0=l(o/s),a.x1=l(o/s)}else a.x0=a.x1=0;return a}v&&(H=H.transition().each("end",function(){var e=n.select(this);f.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:!1})})),H.each(function(a){var p=n.select(this),d=o.ensureSingle(p,"path","surface",function(t){t.style("pointer-events","all")});a.rpx0=F(a.y0),a.rpx1=F(a.y1),a.xmid=(a.x0+a.x1)/2,a.pxmid=B(a.rpx1,a.xmid),a.midangle=-(a.xmid-Math.PI/2),a.halfangle=.5*Math.min(o.angleDelta(a.x0,a.x1)||Math.PI,Math.PI),a.ring=1-a.rpx0/a.rpx1,a.rInscribed=function(t){return 0===t.rpx0&&o.isFullCircle([t.x0,t.x1])?1:Math.max(0,Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2))}(a),v?d.transition().attrTween("d",function(t){var e=function(t){var e,r=P[f.getPtId(t)],a={x0:t.x0,x1:t.x1,rpx0:t.rpx0,rpx1:t.rpx1};if(r)e=r;else if(C)if(t.parent)if(U){var i=t.x1>U?2*Math.PI:0;e={x0:i,x1:i}}else e={rpx0:S,rpx1:S},o.extendFlat(e,G(t));else e={rpx0:0,rpx1:0};else e={x0:0,x1:0};return n.interpolate(e,a)}(t);return function(t){return N(e(t))}}):d.attr("d",N),p.call(u,_,t,e,{eventDataKeys:h.eventDataKeys,transitionTime:h.CLICK_TRANSITION_TIME,transitionEasing:h.CLICK_TRANSITION_EASING}).call(f.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),d.call(c,a,x);var m=o.ensureSingle(p,"g","slicetext"),b=o.ensureSingle(m,"text","",function(t){t.attr("data-notex",1)});b.text(r.formatSliceLabel(a,_,x,e,g)).classed("slicetext",!0).attr("text-anchor","middle").call(i.font,f.determineTextFont(x,a,g.font)).call(s.convertToTspans,t);var w=i.bBox(b.node());a.transform=l(w,a,y),a.translateX=j(a),a.translateY=V(a);var k=function(t,e){return"translate("+t.translateX+","+t.translateY+")"+(t.transform.scale<1?"scale("+t.transform.scale+")":"")+(t.transform.rotate?"rotate("+t.transform.rotate+")":"")+"translate("+-(e.left+e.right)/2+","+-(e.top+e.bottom)/2+")"};v?b.transition().attrTween("transform",function(t){var e=function(t){var e,r=P[f.getPtId(t)],a=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{scale:0,rotate:a.rotate,rCenter:a.rCenter,x:a.x,y:a.y}},C)if(t.parent)if(U){var i=t.x1>U?2*Math.PI:0;e.x0=e.x1=i}else o.extendFlat(e,G(t));else e.x0=e.x1=0;else e.x0=e.x1=0;var s=n.interpolate(e.rpx1,t.rpx1),l=n.interpolate(e.x0,t.x0),c=n.interpolate(e.x1,t.x1),u=n.interpolate(e.transform.scale,a.scale),h=n.interpolate(e.transform.rotate,a.rotate),p=0===a.rCenter?3:0===e.transform.rCenter?1/3:1,d=n.interpolate(e.transform.rCenter,a.rCenter);return function(t){var e=s(t),r=l(t),n=c(t),i=function(t){return d(Math.pow(t,p))}(t),o={pxmid:B(e,(r+n)/2),transform:{rCenter:i,x:a.x,y:a.y}},f={rpx1:s(t),translateX:j(o),translateY:V(o),transform:{scale:u(t),rotate:h(t),rCenter:i}};return f}}(t);return function(t){return k(e(t),w)}}):b.attr("transform",k(a,w))})}r.plot=function(t,e,r,a){var i,o,s=t._fullLayout._sunburstlayer,l=!r,c=f.hasTransition(r);((i=s.selectAll("g.trace.sunburst").data(e,function(t){return t[0].trace.uid})).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),i.order(),c)?(a&&(o=a()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){o&&o()}).each("interrupt",function(){o&&o()}).each(function(){s.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):i.each(function(e){p(t,e,this,r)});l&&i.exit().remove()},r.formatSliceLabel=function(t,e,r,n,a){var i=r.texttemplate,s=r.textinfo;if(!(i||s&&"none"!==s))return"";var l=a.separators,c=n[0],u=t.data.data,h=c.hierarchy,p=f.isHierarchyRoot(t),d=f.getParent(h,t),g=f.getValue(t);if(!i){var v,m=s.split("+"),y=function(t){return-1!==m.indexOf(t)},x=[];if(y("label")&&u.label&&x.push(u.label),u.hasOwnProperty("v")&&y("value")&&x.push(f.formatValue(u.v,l)),!p){y("current path")&&x.push(f.getPath(t.data));var b=0;y("percent parent")&&b++,y("percent entry")&&b++,y("percent root")&&b++;var _=b>1;if(b){var w,k=function(t){v=f.formatPercent(w,l),_&&(v+=" of "+t),x.push(v)};y("percent parent")&&!p&&(w=g/f.getValue(d),k("parent")),y("percent entry")&&(w=g/f.getValue(e),k("entry")),y("percent root")&&(w=g/f.getValue(h),k("root"))}}return y("text")&&(v=o.castOption(r,u.i,"text"),o.isValidTextValue(v)&&x.push(v)),x.join("<br>")}var T=o.castOption(r,u.i,"texttemplate");if(!T)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=f.formatValue(u.v,l)),A.currentPath=f.getPath(t.data),p||(A.percentParent=g/f.getValue(d),A.percentParentLabel=f.formatPercent(A.percentParent,l),A.parent=f.getPtLabel(d)),A.percentEntry=g/f.getValue(e),A.percentEntryLabel=f.formatPercent(A.percentEntry,l),A.entry=f.getPtLabel(e),A.percentRoot=g/f.getValue(h),A.percentRootLabel=f.formatPercent(A.percentRoot,l),A.root=f.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=o.castOption(r,u.i,"text");return(o.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=o.castOption(r,u.i,"customdata"),o.texttemplateString(T,A,a._d3locale,A,r._meta||{})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../pie/plot":1101,"./constants":1231,"./fx":1233,"./helpers":1234,"./style":1239,d3:164,"d3-hierarchy":158}],1239:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib");function o(t,e,r){var n=e.data.data,o=!e.children,s=n.i,l=i.castOption(r,s,"marker.line.color")||a.defaultLine,c=i.castOption(r,s,"marker.line.width")||0;t.style("stroke-width",c).call(a.fill,n.color).call(a.stroke,l).style("opacity",o?r.leaf.opacity:null)}e.exports={style:function(t){t._fullLayout._sunburstlayer.selectAll(".trace").each(function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each(function(t){n.select(this).call(o,t,r)})})},styleOne:o}},{"../../components/color":591,"../../lib":716,d3:164}],1240:[function(t,e,r){"use strict";var n=t("../../components/color"),a=t("../../components/colorscale/attributes"),i=t("../../plots/template_attributes").hovertemplateAttrs,o=t("../../plots/attributes"),s=t("../../lib/extend").extendFlat,l=t("../../plot_api/edit_types").overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var u=e.exports=l(s({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:i(),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},a("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},_deprecated:{zauto:s({},a.zauto,{}),zmin:s({},a.zmin,{}),zmax:s({},a.zmax,{})},hoverinfo:s({},o.hoverinfo)}),"calc","nested");u.x.editType=u.y.editType=u.z.editType="calc+clearAxisTypes",u.transforms=void 0},{"../../components/color":591,"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../../plots/template_attributes":840}],1241:[function(t,e,r){"use strict";var n=t("../../components/colorscale/calc");e.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},{"../../components/colorscale/calc":599}],1242:[function(t,e,r){"use strict";var n=t("gl-surface3d"),a=t("ndarray"),i=t("ndarray-homography"),o=t("ndarray-fill"),s=t("../../lib").isArrayOrTypedArray,l=t("../../lib/gl_format_color").parseColorScale,c=t("../../lib/str2rgbarray"),u=t("../../components/colorscale").extractOpts,h=t("../heatmap/interp2d"),f=t("../heatmap/find_empties");function p(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var d=p.prototype;d.getXat=function(t,e,r,n){var a=s(this.data.x)?s(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?a:n.d2l(a,0,r)},d.getYat=function(t,e,r,n){var a=s(this.data.y)?s(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?a:n.d2l(a,0,r)},d.getZat=function(t,e,r,n){var a=this.data.z[e][t];return null===a&&this.data.connectgaps&&this.data._interpolatedZ&&(a=this.data._interpolatedZ[e][t]),void 0===r?a:n.d2l(a,0,r)},d.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),a=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,a],t.traceCoordinate=[this.getXat(n,a),this.getYat(n,a),this.getZat(n,a)],t.dataCoordinate=[this.getXat(n,a,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,a,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,a,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var i=0;i<3;i++){var o=t.dataCoordinate[i];null!=o&&(t.dataCoordinate[i]*=this.scene.dataScale[i])}var s=this.data.hovertext||this.data.text;return Array.isArray(s)&&s[a]&&void 0!==s[a][n]?t.textLabel=s[a][n]:t.textLabel=s||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var g=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t<e)return 0;for(var r=0;0===Math.floor(t%e);)t/=e,r++;return r}function m(t){for(var e=[],r=0;r<g.length;r++){var n=g[r];e.push(v(t,n))}return e}function y(t){for(var e=m(t),r=t,n=0;n<g.length;n++)if(e[n]>0){r=g[n];break}return r}function x(t,e){if(!(t<1||e<1)){for(var r=m(t),n=m(e),a=1,i=0;i<g.length;i++)a*=Math.pow(g[i],Math.max(r[i],n[i]));return a}}d.calcXnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getXat(e-1,0),a=this.getXat(e,0);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r},d.calcYnums=function(t){var e,r=[];for(e=1;e<t;e++){var n=this.getYat(0,e-1),a=this.getYat(0,e);r[e-1]=a!==n&&null!=n&&null!=a?Math.abs(a-n):0}var i=0;for(e=1;e<t;e++)i+=r[e-1];for(e=1;e<t;e++)0===r[e-1]?r[e-1]=1:r[e-1]=Math.round(i/r[e-1]);return r};var b=[1,2,4,6,12,24,36,48,60,120,180,240,360,720,840,1260],_=b[9],w=b[13];function k(t,e){for(var r=!1,n=0;n<t.length;n++)if(e===t[n]){r=!0;break}!1===r&&t.push(e)}d.estimateScale=function(t,e){for(var r=1+function(t){if(0!==t.length){for(var e=1,r=0;r<t.length;r++)e=x(e,t[r]);return e}}(0===e?this.calcXnums(t):this.calcYnums(t));r<_;)r*=2;for(;r>w;)r--,r/=y(r),++r<_&&(r=w);var n=Math.round(r/t);return n>1?n:1},d.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],o=t[0].shape[1],s=0|Math.floor(t[0].shape[0]*e+1),l=0|Math.floor(t[0].shape[1]*r+1),c=1+n+1,u=1+o+1,h=a(new Float32Array(c*u),[c,u]),f=0;f<t.length;++f){this.surface.padField(h,t[f]);var p=a(new Float32Array(s*l),[s,l]);i(p,h,[e,0,0,0,r,0,0,0,1]),t[f]=p}},d.setContourLevels=function(){var t,e,r,n=[[],[],[]],a=[!1,!1,!1],i=!1;for(t=0;t<3;++t)if(this.showContour[t]&&(i=!0,this.contourSize[t]>0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(a[t]=!0,e=this.contourStart[t];e<this.contourEnd[t];e+=this.contourSize[t])r=e*this.scene.dataScale[t],k(n[t],r);if(i){var o=[[],[],[]];for(t=0;t<3;++t)this.showContour[t]&&(o[t]=a[t]?n[t]:this.scene.contourLevels[t]);this.surface.update({levels:o})}},d.update=function(t){var e,r,n,i,s=this.scene,p=s.fullSceneLayout,d=this.surface,g=t.opacity,v=l(t,g),m=s.dataScale,y=t.z[0].length,x=t._ylength,b=s.contourLevels;this.data=t;var _=[];for(e=0;e<3;e++)for(_[e]=[],r=0;r<y;r++)_[e][r]=[];for(r=0;r<y;r++)for(n=0;n<x;n++)_[0][r][n]=this.getXat(r,n,t.xcalendar,p.xaxis),_[1][r][n]=this.getYat(r,n,t.ycalendar,p.yaxis),_[2][r][n]=this.getZat(r,n,t.zcalendar,p.zaxis);if(t.connectgaps)for(t._emptypoints=f(_[2]),h(_[2],t._emptypoints),t._interpolatedZ=[],r=0;r<y;r++)for(t._interpolatedZ[r]=[],n=0;n<x;n++)t._interpolatedZ[r][n]=_[2][r][n];for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null==(i=_[e][r][n])?_[e][r][n]=NaN:i=_[e][r][n]*=m[e];for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null!=(i=_[e][r][n])&&(this.minValues[e]>i&&(this.minValues[e]=i),this.maxValues[e]<i&&(this.maxValues[e]=i));for(e=0;e<3;e++)this.objectOffset[e]=.5*(this.minValues[e]+this.maxValues[e]);for(e=0;e<3;e++)for(r=0;r<y;r++)for(n=0;n<x;n++)null!=(i=_[e][r][n])&&(_[e][r][n]-=this.objectOffset[e]);var k=[a(new Float32Array(y*x),[y,x]),a(new Float32Array(y*x),[y,x]),a(new Float32Array(y*x),[y,x])];o(k[0],function(t,e){return _[0][t][e]}),o(k[1],function(t,e){return _[1][t][e]}),o(k[2],function(t,e){return _[2][t][e]}),_=[];var T={colormap:v,levels:[[],[],[]],showContour:[!0,!0,!0],showSurface:!t.hidesurface,contourProject:[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],contourWidth:[1,1,1],contourColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],contourTint:[1,1,1],dynamicColor:[[1,1,1,1],[1,1,1,1],[1,1,1,1]],dynamicWidth:[1,1,1],dynamicTint:[1,1,1],opacity:t.opacity},A=u(t);if(T.intensityBounds=[A.min,A.max],t.surfacecolor){var M=a(new Float32Array(y*x),[y,x]);o(M,function(e,r){return t.surfacecolor[r][e]}),k.push(M)}else T.intensityBounds[0]*=m[2],T.intensityBounds[1]*=m[2];(w<k[0].shape[0]||w<k[0].shape[1])&&(this.refineData=!1),!0===this.refineData&&(this.dataScaleX=this.estimateScale(k[0].shape[0],0),this.dataScaleY=this.estimateScale(k[0].shape[1],1),1===this.dataScaleX&&1===this.dataScaleY||this.refineCoords(k)),t.surfacecolor&&(T.intensity=k.pop());var S=[!0,!0,!0],E=["x","y","z"];for(e=0;e<3;++e){var L=t.contours[E[e]];S[e]=L.highlight,T.showContour[e]=L.show||L.highlight,T.showContour[e]&&(T.contourProject[e]=[L.project.x,L.project.y,L.project.z],L.show?(this.showContour[e]=!0,T.levels[e]=b[e],d.highlightColor[e]=T.contourColor[e]=c(L.color),L.usecolormap?d.highlightTint[e]=T.contourTint[e]=0:d.highlightTint[e]=T.contourTint[e]=1,T.contourWidth[e]=L.width,this.contourStart[e]=L.start,this.contourEnd[e]=L.end,this.contourSize[e]=L.size):(this.showContour[e]=!1,this.contourStart[e]=null,this.contourEnd[e]=null,this.contourSize[e]=0),L.highlight&&(T.dynamicColor[e]=c(L.highlightcolor),T.dynamicWidth[e]=L.highlightwidth))}(function(t){var e=t[0].rgb,r=t[t.length-1].rgb;return e[0]===r[0]&&e[1]===r[1]&&e[2]===r[2]&&e[3]===r[3]})(v)&&(T.vertexColor=!0),T.objectOffset=this.objectOffset,T.coords=k,d.update(T),d.visible=t.visible,d.enableDynamic=S,d.enableHighlight=S,d.snapToData=!0,"lighting"in t&&(d.ambientLight=t.lighting.ambient,d.diffuseLight=t.lighting.diffuse,d.specularLight=t.lighting.specular,d.roughness=t.lighting.roughness,d.fresnel=t.lighting.fresnel),"lightposition"in t&&(d.lightPosition=[t.lightposition.x,t.lightposition.y,t.lightposition.z]),g&&g<1&&(d.supportsTransparency=!0)},d.dispose=function(){this.scene.glplot.remove(this.surface),this.surface.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new p(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib":716,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../heatmap/find_empties":1004,"../heatmap/interp2d":1007,"gl-surface3d":317,ndarray:451,"ndarray-fill":441,"ndarray-homography":443}],1243:[function(t,e,r){"use strict";var n=t("../../registry"),a=t("../../lib"),i=t("../../components/colorscale/defaults"),o=t("./attributes");function s(t,e,r){e in t&&!(r in t)&&(t[r]=t[e])}e.exports=function(t,e,r,l){var c,u;function h(r,n){return a.coerce(t,e,o,r,n)}var f=h("x"),p=h("y"),d=h("z");if(!d||!d.length||f&&f.length<1||p&&p.length<1)e.visible=!1;else{e._xlength=Array.isArray(f)&&a.isArrayOrTypedArray(f[0])?d.length:d[0].length,e._ylength=d.length,n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],l),h("text"),h("hovertext"),h("hovertemplate"),["lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lightposition.x","lightposition.y","lightposition.z","hidesurface","connectgaps","opacity"].forEach(function(t){h(t)});var g=h("surfacecolor"),v=["x","y","z"];for(c=0;c<3;++c){var m="contours."+v[c],y=h(m+".show"),x=h(m+".highlight");if(y||x)for(u=0;u<3;++u)h(m+".project."+v[u]);y&&(h(m+".color"),h(m+".width"),h(m+".usecolormap")),x&&(h(m+".highlightcolor"),h(m+".highlightwidth")),h(m+".start"),h(m+".end"),h(m+".size")}g||(s(t,"zmin","cmin"),s(t,"zmax","cmax"),s(t,"zauto","cauto")),i(t,e,l,h,{prefix:"",cLetter:"c"}),e._length=null}}},{"../../components/colorscale/defaults":601,"../../lib":716,"../../registry":845,"./attributes":1240}],1244:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),colorbar:{min:"cmin",max:"cmax"},calc:t("./calc"),plot:t("./convert"),moduleType:"trace",name:"surface",basePlotModule:t("../../plots/gl3d"),categories:["gl3d","2dMap"],meta:{}}},{"../../plots/gl3d":804,"./attributes":1240,"./calc":1241,"./convert":1242,"./defaults":1243}],1245:[function(t,e,r){"use strict";var n=t("../../components/annotations/attributes"),a=t("../../lib/extend").extendFlat,i=t("../../plot_api/edit_types").overrideAll,o=t("../../plots/font_attributes"),s=t("../../plots/domain").attributes;t("../../constants/docs").FORMAT_LINK;(e.exports=i({domain:s({name:"table",trace:!0}),columnwidth:{valType:"number",arrayOk:!0,dflt:null},columnorder:{valType:"data_array"},header:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:28},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:a({},o({arrayOk:!0}))},cells:{values:{valType:"data_array",dflt:[]},format:{valType:"data_array",dflt:[]},prefix:{valType:"string",arrayOk:!0,dflt:null},suffix:{valType:"string",arrayOk:!0,dflt:null},height:{valType:"number",dflt:20},align:a({},n.align,{arrayOk:!0}),line:{width:{valType:"number",arrayOk:!0,dflt:1},color:{valType:"color",arrayOk:!0,dflt:"grey"}},fill:{color:{valType:"color",arrayOk:!0,dflt:"white"}},font:a({},o({arrayOk:!0}))}},"calc","from-root")).transforms=void 0},{"../../components/annotations/attributes":574,"../../constants/docs":687,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/domain":789,"../../plots/font_attributes":790}],1246:[function(t,e,r){"use strict";var n=t("../../plots/get_data").getModuleCalcData,a=t("./plot");r.name="table",r.plot=function(t){var e=n(t.calcdata,"table")[0];e.length&&a(t,e)},r.clean=function(t,e,r,n){var a=n._has&&n._has("table"),i=e._has&&e._has("table");a&&!i&&n._paperdiv.selectAll(".table").remove()}},{"../../plots/get_data":799,"./plot":1253}],1247:[function(t,e,r){"use strict";var n=t("../../lib/gup").wrap;e.exports=function(){return n({})}},{"../../lib/gup":714}],1248:[function(t,e,r){"use strict";e.exports={cellPad:8,columnExtentOffset:10,columnTitleOffset:28,emptyHeaderHeight:16,latexCheck:/^\$.*\$$/,goldenRatio:1.618,lineBreaker:"<br>",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},{}],1249:[function(t,e,r){"use strict";var n=t("./constants"),a=t("../../lib/extend").extendFlat,i=t("fast-isnumeric");function o(t){if(Array.isArray(t)){for(var e=0,r=0;r<t.length;r++)e=Math.max(e,o(t[r]));return e}return t}function s(t,e){return t+e}function l(t){var e,r=t.slice(),n=1/0,a=0;for(e=0;e<r.length;e++)Array.isArray(r[e])||(r[e]=[r[e]]),n=Math.min(n,r[e].length),a=Math.max(a,r[e].length);if(n!==a)for(e=0;e<r.length;e++){var i=a-r[e].length;i&&(r[e]=r[e].concat(c(i)))}return r}function c(t){for(var e=new Array(t),r=0;r<t;r++)e[r]="";return e}function u(t){return t.calcdata.columns.reduce(function(e,r){return r.xIndex<t.xIndex?e+r.columnWidth:e},0)}function h(t,e){return Object.keys(t).map(function(r){return a({},t[r],{auxiliaryBlocks:e})})}function f(t,e){for(var r,n={},a=0,i=0,o={firstRowIndex:null,lastRowIndex:null,rows:[]},s=0,l=0,c=0;c<t.length;c++)r=t[c],o.rows.push({rowIndex:c,rowHeight:r}),((i+=r)>=e||c===t.length-1)&&(n[a]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},a+=i,s=c+1,i=0);return n}e.exports=function(t,e){var r=l(e.cells.values),p=function(t){return t.slice(e.header.values.length,t.length)},d=l(e.header.values);d.length&&!d[0].length&&(d[0]=[""],d=l(d));var g=d.concat(p(r).map(function(){return c((d[0]||[""]).length)})),v=e.domain,m=Math.floor(t._fullLayout._size.w*(v.x[1]-v.x[0])),y=Math.floor(t._fullLayout._size.h*(v.y[1]-v.y[0])),x=e.header.values.length?g[0].map(function(){return e.header.height}):[n.emptyHeaderHeight],b=r.length?r[0].map(function(){return e.cells.height}):[],_=x.reduce(s,0),w=f(b,y-_+n.uplift),k=h(f(x,_),[]),T=h(w,k),A={},M=e._fullInput.columnorder.concat(p(r.map(function(t,e){return e}))),S=g.map(function(t,r){var n=Array.isArray(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return i(n)?Number(n):1}),E=S.reduce(s,0);S=S.map(function(t){return t/E*m});var L=Math.max(o(e.header.line.width),o(e.cells.line.width)),C={key:e.uid+t._context.staticPlot,translateX:v.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-v.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:L,height:y,columnOrder:M,groupHeight:y,rowBlocks:T,headerRowBlocks:k,scrollY:0,cells:a({},e.cells,{values:r}),headerCells:a({},e.header,{values:g}),gdColumns:g.map(function(t){return t[0]}),gdColumnsOriginalOrder:g.map(function(t){return t[0]}),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map(function(t,e){var r=A[t];return A[t]=(r||0)+1,{key:t+"__"+A[t],label:t,specIndex:e,xIndex:M[e],xScale:u,x:void 0,calcdata:void 0,columnWidth:S[e]}})};return C.columns.forEach(function(t){t.calcdata=C,t.x=u(t)}),C}},{"../../lib/extend":707,"./constants":1248,"fast-isnumeric":227}],1250:[function(t,e,r){"use strict";var n=t("../../lib/extend").extendFlat;r.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},r.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0,n=e?r+e.rows.length:0;return[r,n]}(t);return(t.values||[]).slice(e[0],e[1]).map(function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}})}},{"../../lib/extend":707}],1251:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../plots/domain").defaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,a=r.slice(0,n),i=a.slice().sort(function(t,e){return t-e}),o=a.map(function(t){return i.indexOf(t)}),s=o.length;s<n;s++)o.push(s);e("columnorder",o)}(e,s),s("cells.values"),s("cells.format"),s("cells.align"),s("cells.prefix"),s("cells.suffix"),s("cells.height"),s("cells.line.width"),s("cells.line.color"),s("cells.fill.color"),n.coerceFont(s,"cells.font",n.extendFlat({},o.font)),e._length=null}},{"../../lib":716,"../../plots/domain":789,"./attributes":1245}],1252:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("./calc"),plot:t("./plot"),moduleType:"trace",name:"table",basePlotModule:t("./base_plot"),categories:["noOpacity"],meta:{}}},{"./attributes":1245,"./base_plot":1246,"./calc":1247,"./defaults":1251,"./plot":1253}],1253:[function(t,e,r){"use strict";var n=t("./constants"),a=t("d3"),i=t("../../lib/gup"),o=t("../../components/drawing"),s=t("../../lib/svg_text_utils"),l=t("../../lib").raiseToTop,c=t("../../lib").cancelTransition,u=t("./data_preparation_helper"),h=t("./data_split_helpers"),f=t("../../components/color");function p(t){return Math.ceil(t.calcdata.maxLineWidth/2)}function d(t,e){return"clip"+t._fullLayout._uid+"_scrollAreaBottomClip_"+e.key}function g(t,e){return"clip"+t._fullLayout._uid+"_columnBoundaryClippath_"+e.calcdata.key+"_"+e.specIndex}function v(t){return[].concat.apply([],t.map(function(t){return t})).map(function(t){return t.__data__})}function m(t,e,r){var o=t.selectAll("."+n.cn.scrollbarKit).data(i.repeat,i.keyFun);o.enter().append("g").classed(n.cn.scrollbarKit,!0).style("shape-rendering","geometricPrecision"),o.each(function(t){var e=t.scrollbarState;e.totalHeight=function(t){var e=t.rowBlocks;return z(e,e.length-1)+(e.length?I(e[e.length-1],1/0):1)}(t),e.scrollableAreaHeight=t.groupHeight-A(t),e.currentlyVisibleHeight=Math.min(e.totalHeight,e.scrollableAreaHeight),e.ratio=e.currentlyVisibleHeight/e.totalHeight,e.barLength=Math.max(e.ratio*e.currentlyVisibleHeight,n.goldenRatio*n.scrollbarWidth),e.barWiggleRoom=e.currentlyVisibleHeight-e.barLength,e.wiggleRoom=Math.max(0,e.totalHeight-e.scrollableAreaHeight),e.topY=0===e.barWiggleRoom?0:t.scrollY/e.wiggleRoom*e.barWiggleRoom,e.bottomY=e.topY+e.barLength,e.dragMultiplier=e.wiggleRoom/e.barWiggleRoom}).attr("transform",function(t){return"translate("+(t.width+n.scrollbarWidth/2+n.scrollbarOffset)+" "+A(t)+")"});var s=o.selectAll("."+n.cn.scrollbar).data(i.repeat,i.keyFun);s.enter().append("g").classed(n.cn.scrollbar,!0);var l=s.selectAll("."+n.cn.scrollbarSlider).data(i.repeat,i.keyFun);l.enter().append("g").classed(n.cn.scrollbarSlider,!0),l.attr("transform",function(t){return"translate(0 "+(t.scrollbarState.topY||0)+")"});var c=l.selectAll("."+n.cn.scrollbarGlyph).data(i.repeat,i.keyFun);c.enter().append("line").classed(n.cn.scrollbarGlyph,!0).attr("stroke","black").attr("stroke-width",n.scrollbarWidth).attr("stroke-linecap","round").attr("y1",n.scrollbarWidth/2),c.attr("y2",function(t){return t.scrollbarState.barLength-n.scrollbarWidth/2}).attr("stroke-opacity",function(t){return t.columnDragInProgress||!t.scrollbarState.barWiggleRoom||r?0:.4}),c.transition().delay(0).duration(0),c.transition().delay(n.scrollbarHideDelay).duration(n.scrollbarHideDuration).attr("stroke-opacity",0);var u=s.selectAll("."+n.cn.scrollbarCaptureZone).data(i.repeat,i.keyFun);u.enter().append("line").classed(n.cn.scrollbarCaptureZone,!0).attr("stroke","white").attr("stroke-opacity",.01).attr("stroke-width",n.scrollbarCaptureWidth).attr("stroke-linecap","butt").attr("y1",0).on("mousedown",function(r){var n=a.event.y,i=this.getBoundingClientRect(),o=r.scrollbarState,s=n-i.top,l=a.scale.linear().domain([0,o.scrollableAreaHeight]).range([0,o.totalHeight]).clamp(!0);o.topY<=s&&s<=o.bottomY||S(e,t,null,l(s-o.barLength/2))(r)}).call(a.behavior.drag().origin(function(t){return a.event.stopPropagation(),t.scrollbarState.scrollbarScrollInProgress=!0,t}).on("drag",S(e,t)).on("dragend",function(){})),u.attr("y2",function(t){return t.scrollbarState.scrollableAreaHeight}),e._context.staticPlot&&(c.remove(),u.remove())}function y(t,e,r,s){var l=function(t){var e=t.selectAll("."+n.cn.columnCell).data(h.splitToCells,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.columnCell,!0),e.exit().remove(),e}(function(t){var e=t.selectAll("."+n.cn.columnCells).data(i.repeat,i.keyFun);return e.enter().append("g").classed(n.cn.columnCells,!0),e.exit().remove(),e}(r));!function(t){t.each(function(t,e){var r=t.calcdata.cells.font,n=t.column.specIndex,a={size:_(r.size,n,e),color:_(r.color,n,e),family:_(r.family,n,e)};t.rowNumber=t.key,t.align=_(t.calcdata.cells.align,n,e),t.cellBorderWidth=_(t.calcdata.cells.line.width,n,e),t.font=a})}(l),function(t){t.attr("width",function(t){return t.column.columnWidth}).attr("stroke-width",function(t){return t.cellBorderWidth}).each(function(t){var e=a.select(this);f.stroke(e,_(t.calcdata.cells.line.color,t.column.specIndex,t.rowNumber)),f.fill(e,_(t.calcdata.cells.fill.color,t.column.specIndex,t.rowNumber))})}(function(t){var e=t.selectAll("."+n.cn.cellRect).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("rect").classed(n.cn.cellRect,!0),e}(l));var c=function(t){var e=t.selectAll("."+n.cn.cellText).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("text").classed(n.cn.cellText,!0).style("cursor",function(){return"auto"}).on("mousedown",function(){a.event.stopPropagation()}),e}(function(t){var e=t.selectAll("."+n.cn.cellTextHolder).data(i.repeat,function(t){return t.keyWithinBlock});return e.enter().append("g").classed(n.cn.cellTextHolder,!0).style("shape-rendering","geometricPrecision"),e}(l));!function(t){t.each(function(t){o.font(a.select(this),t.font)})}(c),x(c,e,s,t),O(l)}function x(t,e,r,i){t.text(function(t){var e=t.column.specIndex,r=t.rowNumber,i=t.value,o="string"==typeof i,s=o&&i.match(/<br>/i),l=!o||s;t.mayHaveMarkup=o&&i.match(/[<&>]/);var c,u="string"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?"":_(t.calcdata.cells.prefix,e,r)||"",d=u?"":_(t.calcdata.cells.suffix,e,r)||"",g=u?null:_(t.calcdata.cells.format,e,r)||null,v=p+(g?a.format(g)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=b(v)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?b(v):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var m=(" "===n.wrapSplitCharacter?v.replace(/<a href=/gi,"<a_href="):v).split(n.wrapSplitCharacter),y=" "===n.wrapSplitCharacter?m.map(function(t){return t.replace(/<a_href=/gi,"<a href=")}):m;t.fragments=y.map(function(t){return{text:t,width:null}}),t.fragments.push({fragment:n.wrapSpacer,width:null}),f=y.join(n.lineBreaker)+n.lineBreaker+n.wrapSpacer}else delete t.fragments,f=v;return f}).attr("dy",function(t){return t.needsConvertToTspans?0:"0.75em"}).each(function(t){var o=a.select(this),l=t.wrappingNeeded?L:C;t.needsConvertToTspans?s.convertToTspans(o,i,l(r,this,e,i,t)):a.select(this.parentNode).attr("transform",function(t){return"translate("+P(t)+" "+n.cellPad+")"}).attr("text-anchor",function(t){return{left:"start",center:"middle",right:"end"}[t.align]})})}function b(t){return-1!==t.indexOf(n.wrapSplitCharacter)}function _(t,e,r){if(Array.isArray(t)){var n=t[Math.min(e,t.length-1)];return Array.isArray(n)?n[Math.min(r,n.length-1)]:n}return t}function w(t,e,r){t.transition().ease(n.releaseTransitionEase).duration(n.releaseTransitionDuration).attr("transform","translate("+e.x+" "+r+")")}function k(t){return"cells"===t.type}function T(t){return"header"===t.type}function A(t){return(t.rowBlocks.length?t.rowBlocks[0].auxiliaryBlocks:[]).reduce(function(t,e){return t+I(e,1/0)},0)}function M(t,e,r){var n=v(e)[0];if(void 0!==n){var a=n.rowBlocks,i=n.calcdata,o=z(a,a.length),s=n.calcdata.groupHeight-A(n),l=i.scrollY=Math.max(0,Math.min(o-s,i.scrollY)),c=function(t,e,r){for(var n=[],a=0,i=0;i<t.length;i++){for(var o=t[i],s=o.rows,l=0,c=0;c<s.length;c++)l+=s[c].rowHeight;o.allRowsHeight=l,e<a+l&&e+r>a&&n.push(i),a+=l}return n}(a,l,s);1===c.length&&(c[0]===a.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each(function(t,e){t.page=c[e],t.scrollY=l}),e.attr("transform",function(t){return"translate(0 "+(z(t.rowBlocks,t.page)-t.scrollY)+")"}),t&&(E(t,r,e,c,n.prevPages,n,0),E(t,r,e,c,n.prevPages,n,1),m(r,t))}}function S(t,e,r,i){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter(function(t){return s.key===t.key}),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===i?s.scrollY+c*a.event.dy:i;var h=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(k);return M(t,h,l),s.scrollY===u}}function E(t,e,r,n,a,i,o){n[o]!==a[o]&&(clearTimeout(i.currentRepaint[o]),i.currentRepaint[o]=setTimeout(function(){var i=r.filter(function(t,e){return e===o&&n[e]!==a[e]});y(t,e,i,r),a[o]=n[o]}))}function L(t,e,r,i){return function(){var o=a.select(e.parentNode);o.each(function(t){var e=t.fragments;o.selectAll("tspan.line").each(function(t,r){e[r].width=this.getComputedTextLength()});var r,a,i=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(a=(r=s.shift()).width+i)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=a;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0}),o.selectAll("tspan.line").remove(),x(o.select("."+n.cn.cellText),r,t,i),a.select(e.parentNode.parentNode).call(O)}}function C(t,e,r,i,o){return function(){if(!o.settledY){var s=a.select(e.parentNode),l=R(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,f=Math.max(h,u);f-l.rows[c].rowHeight&&(l.rows[c].rowHeight=f,t.selectAll("."+n.cn.columnCell).call(O),M(null,t.filter(k),0),m(r,i,!0)),s.attr("transform",function(){var t=this.parentNode.getBoundingClientRect(),e=a.select(this.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),r=this.transform.baseVal.consolidate(),i=e.top-t.top+(r?r.matrix.f:n.cellPad);return"translate("+P(o,a.select(this.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width)+" "+i+")"}),o.settledY=!0}}}function P(t,e){switch(t.align){case"left":return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2;default:return n.cellPad}}function O(t){t.attr("transform",function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce(function(t,e){return t+I(e,1/0)},0);return"translate(0 "+(I(R(t),t.key)+e)+")"}).selectAll("."+n.cn.cellRect).attr("height",function(t){return(e=R(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r})}function z(t,e){for(var r=0,n=e-1;n>=0;n--)r+=D(t[n]);return r}function I(t,e){for(var r=0,n=0;n<t.rows.length&&t.rows[n].rowIndex<e;n++)r+=t.rows[n].rowHeight;return r}function D(t){var e=t.allRowsHeight;if(void 0!==e)return e;for(var r=0,n=0;n<t.rows.length;n++)r+=t.rows[n].rowHeight;return t.allRowsHeight=r,r}function R(t){return t.rowBlocks[t.page]}e.exports=function(t,e){var r=!t._context.staticPlot,s=t._fullLayout._paper.selectAll("."+n.cn.table).data(e.map(function(e){var r=i.unwrap(e).trace;return u(t,r)}),i.keyFun);s.exit().remove(),s.enter().append("g").classed(n.cn.table,!0).attr("overflow","visible").style("box-sizing","content-box").style("position","absolute").style("left",0).style("overflow","visible").style("shape-rendering","crispEdges").style("pointer-events","all"),s.attr("width",function(t){return t.width+t.size.l+t.size.r}).attr("height",function(t){return t.height+t.size.t+t.size.b}).attr("transform",function(t){return"translate("+t.translateX+","+t.translateY+")"});var f=s.selectAll("."+n.cn.tableControlView).data(i.repeat,i.keyFun),x=f.enter().append("g").classed(n.cn.tableControlView,!0).style("box-sizing","content-box");r&&x.on("mousemove",function(e){f.filter(function(t){return e===t}).call(m,t)}).on("mousewheel",function(e){if(!e.scrollbarState.wheeling){e.scrollbarState.wheeling=!0;var r=e.scrollY+a.event.deltaY;S(t,f,null,r)(e)||(a.event.stopPropagation(),a.event.preventDefault()),e.scrollbarState.wheeling=!1}}).call(m,t,!0),f.attr("transform",function(t){return"translate("+t.size.l+" "+t.size.t+")"});var b=f.selectAll("."+n.cn.scrollBackground).data(i.repeat,i.keyFun);b.enter().append("rect").classed(n.cn.scrollBackground,!0).attr("fill","none"),b.attr("width",function(t){return t.width}).attr("height",function(t){return t.height}),f.each(function(e){o.setClipUrl(a.select(this),d(t,e),t)});var _=f.selectAll("."+n.cn.yColumn).data(function(t){return t.columns},i.keyFun);_.enter().append("g").classed(n.cn.yColumn,!0),_.exit().remove(),_.attr("transform",function(t){return"translate("+t.x+" 0)"}),r&&_.call(a.behavior.drag().origin(function(e){return w(a.select(this),e,-n.uplift),l(this),e.calcdata.columnDragInProgress=!0,m(f.filter(function(t){return e.calcdata.key===t.key}),t),e}).on("drag",function(t){var e=a.select(this),r=function(e){return(t===e?a.event.x:e.x)+e.columnWidth/2};t.x=Math.max(-n.overdrag,Math.min(t.calcdata.width+n.overdrag-t.columnWidth,a.event.x)),v(_).filter(function(e){return e.calcdata.key===t.calcdata.key}).sort(function(t,e){return r(t)-r(e)}).forEach(function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e)}),_.filter(function(e){return t!==e}).transition().ease(n.transitionEase).duration(n.transitionDuration).attr("transform",function(t){return"translate("+t.x+" 0)"}),e.call(c).attr("transform","translate("+t.x+" -"+n.uplift+" )")}).on("dragend",function(e){var r=a.select(this),n=e.calcdata;e.x=e.xScale(e),e.calcdata.columnDragInProgress=!1,w(r,e,0),function(t,e,r){var n=e.gdColumnsOriginalOrder;e.gdColumns.sort(function(t,e){return r[n.indexOf(t)]-r[n.indexOf(e)]}),e.columnorder=r,t.emit("plotly_restyle")}(t,n,n.columns.map(function(t){return t.xIndex}))})),_.each(function(e){o.setClipUrl(a.select(this),g(t,e),t)});var A=_.selectAll("."+n.cn.columnBlock).data(h.splitToPanels,i.keyFun);A.enter().append("g").classed(n.cn.columnBlock,!0).attr("id",function(t){return t.key}),A.style("cursor",function(t){return t.dragHandle?"ew-resize":t.calcdata.scrollbarState.barWiggleRoom?"ns-resize":"default"});var E=A.filter(T),L=A.filter(k);r&&L.call(a.behavior.drag().origin(function(t){return a.event.stopPropagation(),t}).on("drag",S(t,f,-1)).on("dragend",function(){})),y(t,f,E,A),y(t,f,L,A);var C=f.selectAll("."+n.cn.scrollAreaClip).data(i.repeat,i.keyFun);C.enter().append("clipPath").classed(n.cn.scrollAreaClip,!0).attr("id",function(e){return d(t,e)});var P=C.selectAll("."+n.cn.scrollAreaClipRect).data(i.repeat,i.keyFun);P.enter().append("rect").classed(n.cn.scrollAreaClipRect,!0).attr("x",-n.overdrag).attr("y",-n.uplift).attr("fill","none"),P.attr("width",function(t){return t.width+2*n.overdrag}).attr("height",function(t){return t.height+n.uplift}),_.selectAll("."+n.cn.columnBoundary).data(i.repeat,i.keyFun).enter().append("g").classed(n.cn.columnBoundary,!0);var O=_.selectAll("."+n.cn.columnBoundaryClippath).data(i.repeat,i.keyFun);O.enter().append("clipPath").classed(n.cn.columnBoundaryClippath,!0),O.attr("id",function(e){return g(t,e)});var z=O.selectAll("."+n.cn.columnBoundaryRect).data(i.repeat,i.keyFun);z.enter().append("rect").classed(n.cn.columnBoundaryRect,!0).attr("fill","none"),z.attr("width",function(t){return t.columnWidth+2*p(t)}).attr("height",function(t){return t.calcdata.height+2*p(t)+n.uplift}).attr("x",function(t){return-p(t)}).attr("y",function(t){return-p(t)}),M(null,L,f)}},{"../../components/color":591,"../../components/drawing":612,"../../lib":716,"../../lib/gup":714,"../../lib/svg_text_utils":740,"./constants":1248,"./data_preparation_helper":1249,"./data_split_helpers":1250,d3:164}],1254:[function(t,e,r){"use strict";var n=t("../../plots/template_attributes").hovertemplateAttrs,a=t("../../plots/template_attributes").texttemplateAttrs,i=t("../../components/colorscale/attributes"),o=t("../../plots/domain").attributes,s=t("../pie/attributes"),l=t("../sunburst/attributes"),c=t("./constants"),u=t("../../lib/extend").extendFlat;e.exports={labels:l.labels,parents:l.parents,values:l.values,branchvalues:l.branchvalues,count:l.count,level:l.level,maxdepth:l.maxdepth,tiling:{packing:{valType:"enumerated",values:["squarify","binary","dice","slice","slice-dice","dice-slice"],dflt:"squarify",editType:"plot"},squarifyratio:{valType:"number",min:1,dflt:1,editType:"plot"},flip:{valType:"flaglist",flags:["x","y"],dflt:"",editType:"plot"},pad:{valType:"number",min:0,dflt:3,editType:"plot"},editType:"calc"},marker:u({pad:{t:{valType:"number",min:0,editType:"plot"},l:{valType:"number",min:0,editType:"plot"},r:{valType:"number",min:0,editType:"plot"},b:{valType:"number",min:0,editType:"plot"},editType:"calc"},colors:l.marker.colors,depthfade:{valType:"enumerated",values:[!0,!1,"reversed"],editType:"style"},line:l.marker.line,editType:"calc"},i("marker",{colorAttr:"colors",anim:!1})),pathbar:{visible:{valType:"boolean",dflt:!0,editType:"plot"},side:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},edgeshape:{valType:"enumerated",values:[">","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:a({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:s.outsidetextfont,textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},domain:o({name:"treemap",trace:!0,editType:"calc"})}},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plots/domain":789,"../../plots/template_attributes":840,"../pie/attributes":1092,"../sunburst/attributes":1228,"./constants":1257}],1255:[function(t,e,r){"use strict";var n=t("../../plots/plots");r.name="treemap",r.plot=function(t,e,a,i){n.plotBasePlot(r.name,t,e,a,i)},r.clean=function(t,e,a,i){n.cleanBasePlot(r.name,t,e,a,i)}},{"../../plots/plots":825}],1256:[function(t,e,r){"use strict";var n=t("../sunburst/calc");r.calc=function(t,e){return n.calc(t,e)},r.crossTraceCalc=function(t){return n._runCrossTraceCalc("treemap",t)}},{"../sunburst/calc":1230}],1257:[function(t,e,r){"use strict";e.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},{}],1258:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../../components/color"),o=t("../../plots/domain").defaults,s=t("../bar/defaults").handleText,l=t("../bar/constants").TEXTPAD,c=t("../../components/colorscale"),u=c.hasColorscale,h=c.handleDefaults;e.exports=function(t,e,r,c){function f(r,i){return n.coerce(t,e,a,r,i)}var p=f("labels"),d=f("parents");if(p&&p.length&&d&&d.length){var g=f("values");g&&g.length?f("branchvalues"):f("count"),f("level"),f("maxdepth"),"squarify"===f("tiling.packing")&&f("tiling.squarifyratio"),f("tiling.flip"),f("tiling.pad");var v=f("text");f("texttemplate"),e.texttemplate||f("textinfo",Array.isArray(v)?"text+label":"label"),f("hovertext"),f("hovertemplate");s(t,e,c,f,"auto",{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),f("textposition");var m=-1!==e.textposition.indexOf("bottom");f("marker.line.width")&&f("marker.line.color",c.paper_bgcolor);var y=f("marker.colors"),x=e._hasColorscale=u(t,"marker","colors");x?h(t,e,c,f,{prefix:"marker.",cLetter:"c"}):f("marker.depthfade",!(y||[]).length);var b=2*e.textfont.size;f("marker.pad.t",m?b/4:b),f("marker.pad.l",b/4),f("marker.pad.r",b/4),f("marker.pad.b",m?b:b/4),x&&h(t,e,c,f,{prefix:"marker.",cLetter:"c"}),e._hovered={marker:{line:{width:2,color:i.contrast(c.paper_bgcolor)}}},f("pathbar.visible")&&(n.coerceFont(f,"pathbar.textfont",c.font),f("pathbar.thickness",e.pathbar.textfont.size+2*l),f("pathbar.side"),f("pathbar.edgeshape")),o(e,c,f),e._length=null}else e.visible=!1}},{"../../components/color":591,"../../components/colorscale":603,"../../lib":716,"../../plots/domain":789,"../bar/constants":857,"../bar/defaults":859,"./attributes":1254}],1259:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx");e.exports=function(t,e,r,f,p){var d=p.barDifY,g=p.width,v=p.height,m=p.viewX,y=p.viewY,x=p.pathSlice,b=p.toMoveInsideSlice,_=p.strTransform,w=p.hasTransition,k=p.handleSlicesExit,T=p.makeUpdateSliceInterpolator,A=p.makeUpdateTextInterpolator,M={},S=t._fullLayout,E=e[0],L=E.trace,C=E.hierarchy,P=g/L._entryDepth,O=u.listPath(r.data,"id"),z=s(C.copy(),[g,v],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(z=z.filter(function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=P*e,t.x1=P*(e+1),t.y0=d,t.y1=d+v,t.onPathbar=!0,!0)})).reverse(),(f=f.data(z,u.getPtId)).enter().append("g").classed("pathbar",!0),k(f,!0,M,[g,v],x),f.order();var I=f;w&&(I=I.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})})),I.each(function(s){s._hoverX=m(s.x1-v/2),s._hoverY=y(s.y1-v/2);var f=n.select(this),p=a.ensureSingle(f,"path","surface",function(t){t.style("pointer-events","all")});w?p.transition().attrTween("d",function(t){var e=T(t,!0,M,[g,v]);return function(t){return x(e(t))}}):p.attr("d",x),f.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),p.call(l,s,L,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("<br>").join(" ")||"";var d=a.ensureSingle(f,"g","slicetext"),k=a.ensureSingle(d,"text","",function(t){t.attr("data-notex",1)});k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(i.font,u.determineTextFont(L,s,S.font,L.pathdir)).call(o.convertToTspans,t),s.textBB=i.bBox(k.node()),s.transform=b(s,{onPathbar:!0}),u.isOutsideText(L,s)&&(s.transform.targetY-=u.getOutsideTextFontKey("size",L,s,S.font)-u.getInsideTextFontKey("size",L,s,S.font)),w?k.transition().attrTween("transform",function(t){var e=A(t,!0,M,[g,v]);return function(t){return _(e(t))}}):k.attr("transform",_(s))})}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1260:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../../lib/svg_text_utils"),s=t("./partition"),l=t("./style").styleOne,c=t("./constants"),u=t("../sunburst/helpers"),h=t("../sunburst/fx"),f=t("../sunburst/plot").formatSliceLabel;e.exports=function(t,e,r,p,d){var g=d.width,v=d.height,m=d.viewX,y=d.viewY,x=d.pathSlice,b=d.toMoveInsideSlice,_=d.strTransform,w=d.hasTransition,k=d.handleSlicesExit,T=d.makeUpdateSliceInterpolator,A=d.makeUpdateTextInterpolator,M=d.prevEntry,S=t._fullLayout,E=e[0].trace,L=-1!==E.textposition.indexOf("left"),C=-1!==E.textposition.indexOf("right"),P=-1!==E.textposition.indexOf("bottom"),O=!P&&!E.marker.pad.t||P&&!E.marker.pad.b,z=s(r,[g,v],{packing:E.tiling.packing,squarifyratio:E.tiling.squarifyratio,flipX:E.tiling.flip.indexOf("x")>-1,flipY:E.tiling.flip.indexOf("y")>-1,pad:{inner:E.tiling.pad,top:E.marker.pad.t,left:E.marker.pad.l,right:E.marker.pad.r,bottom:E.marker.pad.b}}).descendants(),I=1/0,D=-1/0;z.forEach(function(t){var e=t.depth;e>=E._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(I=Math.min(I,e),D=Math.max(D,e))}),p=p.data(z,u.getPtId),E._maxVisibleLayers=isFinite(D)?D-I+1:0,p.enter().append("g").classed("slice",!0),k(p,!1,{},[g,v],x),p.order();var R=null;if(w&&M){var F=u.getPtId(M);p.each(function(t){null===R&&u.getPtId(t)===F&&(R={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})})}var B=function(){return R||{x0:0,x1:g,y0:0,y1:v}},N=p;return w&&(N=N.transition().each("end",function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})})),N.each(function(s){var p=u.isHeader(s,E);s._hoverX=m(s.x1-E.marker.pad.r),s._hoverY=y(P?s.y1-E.marker.pad.b/2:s.y0+E.marker.pad.t/2);var d=n.select(this),k=a.ensureSingle(d,"path","surface",function(t){t.style("pointer-events","all")});w?k.transition().attrTween("d",function(t){var e=T(t,!1,B(),[g,v]);return function(t){return x(e(t))}}):k.attr("d",x),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,E,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=p?O?"":u.getPtLabel(s)||"":f(s,r,E,e,S)||"";var M=a.ensureSingle(d,"g","slicetext"),z=a.ensureSingle(M,"text","",function(t){t.attr("data-notex",1)});z.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",C?"end":L||p?"start":"middle").call(i.font,u.determineTextFont(E,s,S.font)).call(o.convertToTspans,t),s.textBB=i.bBox(z.node()),s.transform=b(s,{isHeader:p}),w?z.transition().attrTween("transform",function(t){var e=A(t,!1,B(),[g,v]);return function(t){return _(e(t))}}):z.attr("transform",_(s))}),R}},{"../../components/drawing":612,"../../lib":716,"../../lib/svg_text_utils":740,"../sunburst/fx":1233,"../sunburst/helpers":1234,"../sunburst/plot":1238,"./constants":1257,"./partition":1264,"./style":1266,d3:164}],1261:[function(t,e,r){"use strict";e.exports={moduleType:"trace",name:"treemap",basePlotModule:t("./base_plot"),categories:[],animatable:!0,attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc").calc,crossTraceCalc:t("./calc").crossTraceCalc,plot:t("./plot"),style:t("./style").style,colorbar:t("../scatter/marker_colorbar"),meta:{}}},{"../scatter/marker_colorbar":1136,"./attributes":1254,"./base_plot":1255,"./calc":1256,"./defaults":1258,"./layout_attributes":1262,"./layout_defaults":1263,"./plot":1265,"./style":1266}],1262:[function(t,e,r){"use strict";e.exports={treemapcolorway:{valType:"colorlist",editType:"calc"},extendtreemapcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},{}],1263:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e){function r(r,i){return n.coerce(t,e,a,r,i)}r("treemapcolorway",e.colorway),r("extendtreemapcolors")}},{"../../lib":716,"./layout_attributes":1262}],1264:[function(t,e,r){"use strict";var n=t("d3-hierarchy");e.exports=function(t,e,r){var a,i=r.flipX,o=r.flipY,s="dice-slice"===r.packing,l=r.pad[o?"bottom":"top"],c=r.pad[i?"right":"left"],u=r.pad[i?"left":"right"],h=r.pad[o?"top":"bottom"];s&&(a=c,c=l,l=a,a=u,u=h,h=a);var f=n.treemap().tile(function(t,e){switch(t){case"squarify":return n.treemapSquarify.ratio(e);case"binary":return n.treemapBinary;case"dice":return n.treemapDice;case"slice":return n.treemapSlice;default:return n.treemapSliceDice}}(r.packing,r.squarifyratio)).paddingInner(r.pad.inner).paddingLeft(c).paddingRight(u).paddingTop(l).paddingBottom(h).size(s?[e[1],e[0]]:e)(t);return(s||i||o)&&function t(e,r,n){var a;n.swapXY&&(a=e.x0,e.x0=e.y0,e.y0=a,a=e.x1,e.x1=e.y1,e.y1=a);n.flipX&&(a=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-a);n.flipY&&(a=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-a);var i=e.children;if(i)for(var o=0;o<i.length;o++)t(i[o],r,n)}(f,e,{swapXY:s,flipX:i,flipY:o}),f}},{"d3-hierarchy":158}],1265:[function(t,e,r){"use strict";var n=t("d3"),a=t("../sunburst/helpers").hasTransition,i=t("../sunburst/helpers"),o=t("../../lib"),s=t("../bar/constants").TEXTPAD,l=t("../bar/plot").toMoveInsideBar,c=t("./constants"),u=t("./draw_descendants"),h=t("./draw_ancestors");function f(t){return i.isHierarchyRoot(t)?"":i.getPtId(t)}function p(t,e,r,a){var p=t._fullLayout,d=e[0],g=d.trace,v=d.hierarchy,m=i.findEntryWithLevel(v,g.level),y=n.select(r),x=y.selectAll("g.pathbar"),b=y.selectAll("g.slice");if(!m)return x.remove(),void b.remove();var _=i.isHierarchyRoot(m),w=i.hasTransition(a),k=i.getMaxDepth(g),T=p._size,A=g.domain,M=T.w*(A.x[1]-A.x[0]),S=T.h*(A.y[1]-A.y[0]),E=M,L=g.pathbar.thickness,C=g.marker.line.width+c.gapWithPathbar,P=g.pathbar.visible?g.pathbar.side.indexOf("bottom")>-1?S+C:-(L+C):0,O={x0:E,x1:E,y0:P,y1:P+L},z=function(t,e,r){var n=g.tiling.pad,a=function(t){return t-n<=e.x0},i=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return{x0:a(t.x0-n)?0:i(t.x0-n)?r[0]:t.x0,x1:a(t.x1+n)?0:i(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},I=null,D={},R={},F=null,B=function(t,e){return e?D[f(t)]:R[f(t)]},N=function(t,e,r,n){if(e)return D[f(v)]||O;var a=R[g.level]||r;return function(t){return t.data.depth-m.data.depth<k}(t)?z(t,a,n):{}};d.hasMultipleRoots&&_&&k++,g._maxDepth=k,g._backgroundColor=p.paper_bgcolor,g._entryDepth=m.data.depth,g._atRootLevel=_;var j=-M/2+T.l+T.w*(A.x[1]+A.x[0])/2,V=-S/2+T.t+T.h*(1-(A.y[1]+A.y[0])/2),U=function(t){return j+t},q=function(t){return V+t},H=q(0),G=U(0),Y=function(t){return G+t},W=function(t){return H+t};function X(t,e){return t+","+e}var Z=Y(0),J=function(t){t.x=Math.max(Z,t.x)},K=g.pathbar.edgeshape,Q=function(t,e){var r=t.x0,n=t.x1,a=t.y0,i=t.y1,o=t.textBB;r===n&&(r-=s,n+=s),a===i&&(a-=s,i+=s);var c=function(t){return-1!==g.textposition.indexOf(t)},u=c("bottom"),h=c("top")||e.isHeader&&!u?"start":u?"end":"middle",f=c("right"),p=c("left")||e.onPathbar,d=p?"left":f?"right":"center";!e.onPathbar&&e.isHeader||(r+=p?s:0,n-=f?s:0);var v=g.marker.pad;if(e.isHeader){if((r+=v.l-s)>=(n-=v.r-s)){var m=(r+n)/2;r=m-s,n=m+s}var y;u?a<(y=i-v.b)&&y<i&&(a=y):a<(y=a+v.t)&&y<i&&(i=y)}var x=l(r,n,a,i,o,{isHorizontal:!1,constrained:!0,angle:0,anchor:h});if("center"!==d){var b=(n-r)/2-x.scale*(o.right-o.left)/2;e.isHeader&&(b-=s),"left"===d?x.targetX-=b:"right"===d&&(x.targetX+=b)}return x.targetX=U(x.targetX),x.targetY=q(x.targetY),isNaN(x.targetX)||isNaN(x.targetY)?{}:{scale:x.scale,rotate:x.rotate,textX:x.textX,textY:x.textY,targetX:x.targetX,targetY:x.targetY}},$=function(t,e){for(var r,n=0,a=t;!r&&n<k;)n++,(a=a.parent)?r=B(a,e):n=k;return r||{}},tt=function(t,e,r,a){var i,s=B(t,e);if(s)i=s;else if(e)i=O;else if(I)if(t.parent){var l=F||r;l&&!e?i=z(t,l,a):(i={},o.extendFlat(i,$(t,e)))}else i=t;else i={};return n.interpolate(i,{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})},et=function(t,e,r,a){var s=B(t,e),l={},c=N(t,e,r,a);return o.extendFlat(l,{transform:Q({x0:c.x0,x1:c.x1,y0:c.y0,y1:c.y1,textBB:t.textBB,_text:t._text},{isHeader:i.isHeader(t,g)})}),s?l=s:t.parent&&o.extendFlat(l,$(t,e)),n.interpolate(l,{transform:{scale:t.transform.scale,rotate:t.transform.rotate,textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY}})},rt=function(t,e,r,a,i){var o=a[0],s=a[1];w?t.exit().transition().each(function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",function(t){var r=function(t,e,r,a){var i,o=B(t,e);if(e)i=O;else{var s=B(m,e);i=s?z(t,s,a):{}}return n.interpolate(o,i)}(t,e,0,[o,s]);return function(t){return i(r(t))}}),t.select("g.slicetext").attr("opacity",0)}).remove():t.exit().remove()},nt=function(t){return o.getTextTransform({textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})};w&&(x.each(function(t){D[f(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(D[f(t)].transform={textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate})}),b.each(function(t){R[f(t)]={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1},t.transform&&(R[f(t)].transform={textX:t.transform.textX,textY:t.transform.textY,targetX:t.transform.targetX,targetY:t.transform.targetY,scale:t.transform.scale,rotate:t.transform.rotate}),!I&&i.isEntry(t)&&(I=t)})),F=u(t,e,m,b,{width:M,height:S,viewX:U,viewY:q,pathSlice:function(t){var e=U(t.x0),r=U(t.x1),n=q(t.y0),a=q(t.y1),i=r-e,o=a-n;if(!i||!o)return"";return"M"+X(e,n+0)+"L"+X(r-0,n)+"L"+X(r,a-0)+"L"+X(e+0,a)+"Z"},toMoveInsideSlice:Q,prevEntry:I,makeUpdateSliceInterpolator:tt,makeUpdateTextInterpolator:et,handleSlicesExit:rt,hasTransition:w,strTransform:nt}),g.pathbar.visible&&h(t,e,m,x,{barDifY:P,width:E,height:L,viewX:Y,viewY:W,pathSlice:function(t){var e=Y(Math.max(Math.min(t.x0,t.x0),0)),r=Y(Math.min(Math.max(t.x1,t.x1),E)),n=W(t.y0),a=W(t.y1),i=L/2,o={},s={};o.x=e,s.x=r,o.y=s.y=(n+a)/2;var l={x:e,y:n},c={x:r,y:n},u={x:r,y:a},h={x:e,y:a};return">"===K?(l.x-=i,c.x-=i,u.x-=i,h.x-=i):"/"===K?(u.x-=i,h.x-=i,o.x-=i/2,s.x-=i/2):"\\"===K?(l.x-=i,c.x-=i,o.x-=i/2,s.x-=i/2):"<"===K&&(o.x-=i,s.x-=i),J(l),J(h),J(o),J(c),J(u),J(s),"M"+X(l.x,l.y)+"L"+X(c.x,c.y)+"L"+X(s.x,s.y)+"L"+X(u.x,u.y)+"L"+X(h.x,h.y)+"L"+X(o.x,o.y)+"Z"},toMoveInsideSlice:Q,makeUpdateSliceInterpolator:tt,makeUpdateTextInterpolator:et,handleSlicesExit:rt,hasTransition:w,strTransform:nt})}e.exports=function(t,e,r,i){var o,s,l=t._fullLayout._treemaplayer,c=!r;((o=l.selectAll("g.trace.treemap").data(e,function(t){return t[0].trace.uid})).enter().append("g").classed("trace",!0).classed("treemap",!0),o.order(),a(r))?(i&&(s=i()),n.transition().duration(r.duration).ease(r.easing).each("end",function(){s&&s()}).each("interrupt",function(){s&&s()}).each(function(){l.selectAll("g.trace").each(function(e){p(t,e,this,r)})})):o.each(function(e){p(t,e,this,r)});c&&o.exit().remove()}},{"../../lib":716,"../bar/constants":857,"../bar/plot":866,"../sunburst/helpers":1234,"./constants":1257,"./draw_ancestors":1259,"./draw_descendants":1260,d3:164}],1266:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../../lib"),o=t("../sunburst/helpers");function s(t,e,r,n){var s,l,c=(n||{}).hovered,u=e.data.data,h=u.i,f=u.color,p=o.isHierarchyRoot(e),d=1;if(c)s=r._hovered.marker.line.color,l=r._hovered.marker.line.width;else if(p&&"rgba(0,0,0,0)"===f)d=0,s="rgba(0,0,0,0)",l=0;else if(s=i.castOption(r,h,"marker.line.color")||a.defaultLine,l=i.castOption(r,h,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var g=r.marker.depthfade;if(g){var v,m=a.combine(a.addOpacity(r._backgroundColor,.75),f);if(!0===g){var y=o.getMaxDepth(r);v=isFinite(y)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else v=e.data.depth-r._entryDepth,r._atRootLevel||v++;if(v>0)for(var x=0;x<v;x++){var b=.5*x/v;f=a.combine(a.addOpacity(m,b),f)}}}t.style("stroke-width",l).call(a.fill,f).call(a.stroke,s).style("opacity",d)}e.exports={style:function(t){t._fullLayout._treemaplayer.selectAll(".trace").each(function(t){var e=n.select(this),r=t[0].trace;e.style("opacity",r.opacity),e.selectAll("path.surface").each(function(t){n.select(this).call(s,t,r,{hovered:!1})})})},styleOne:s}},{"../../components/color":591,"../../lib":716,"../sunburst/helpers":1234,d3:164}],1267:[function(t,e,r){"use strict";var n=t("../box/attributes"),a=t("../../lib/extend").extendFlat;e.exports={y:n.y,x:n.x,x0:n.x0,y0:n.y0,name:a({},n.name,{}),orientation:a({},n.orientation,{}),bandwidth:{valType:"number",min:0,editType:"calc"},scalegroup:{valType:"string",dflt:"",editType:"calc"},scalemode:{valType:"enumerated",values:["width","count"],dflt:"width",editType:"calc"},spanmode:{valType:"enumerated",values:["soft","hard","manual"],dflt:"soft",editType:"calc"},span:{valType:"info_array",items:[{valType:"any",editType:"calc"},{valType:"any",editType:"calc"}],editType:"calc"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n.fillcolor,points:a({},n.boxpoints,{}),jitter:a({},n.jitter,{}),pointpos:a({},n.pointpos,{}),width:a({},n.width,{}),marker:n.marker,text:n.text,hovertext:n.hovertext,hovertemplate:n.hovertemplate,box:{visible:{valType:"boolean",dflt:!1,editType:"plot"},width:{valType:"number",min:0,max:1,dflt:.25,editType:"plot"},fillcolor:{valType:"color",editType:"style"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"style"},editType:"plot"},meanline:{visible:{valType:"boolean",dflt:!1,editType:"plot"},color:{valType:"color",editType:"style"},width:{valType:"number",min:0,editType:"style"},editType:"plot"},side:{valType:"enumerated",values:["both","positive","negative"],dflt:"both",editType:"calc"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup,selected:n.selected,unselected:n.unselected,hoveron:{valType:"flaglist",flags:["violins","points","kde"],dflt:"violins+points+kde",extras:["all"],editType:"style"}}},{"../../lib/extend":707,"../box/attributes":879}],1268:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../box/calc"),o=t("./helpers"),s=t("../../constants/numerical").BADNUM;function l(t,e,r){var a=e.max-e.min;if(!a)return t.bandwidth?t.bandwidth:0;if(t.bandwidth)return Math.max(t.bandwidth,a/1e4);var i=r.length,o=n.stdev(r,i-1,e.mean);return Math.max(function(t,e,r){return 1.059*Math.min(e,r/1.349)*Math.pow(t,-.2)}(i,o,e.q3-e.q1),a/100)}function c(t,e,r,n){var i,o=t.spanmode,l=t.span||[],c=[e.min,e.max],u=[e.min-2*n,e.max+2*n];function h(n){var a=l[n],i="multicategory"===r.type?r.r2c(a):r.d2c(a,0,t[e.valLetter+"calendar"]);return i===s?u[n]:i}var f={type:"linear",range:i="soft"===o?u:"hard"===o?c:[h(0),h(1)]};return a.setConvert(f),f.cleanRange(),i}e.exports=function(t,e){var r=i(t,e);if(r[0].t.empty)return r;for(var s=t._fullLayout,u=a.getFromId(t,e["h"===e.orientation?"xaxis":"yaxis"]),h=1/0,f=-1/0,p=0,d=0,g=0;g<r.length;g++){var v=r[g],m=v.pts.map(o.extractVal),y=v.bandwidth=l(e,v,m),x=v.span=c(e,v,u,y);if(v.min===v.max&&0===y)x=v.span=[v.min,v.max],v.density=[{v:1,t:x[0]}],v.bandwidth=y,p=Math.max(p,1);else{var b=x[1]-x[0],_=Math.ceil(b/(y/3)),w=b/_;if(!isFinite(w)||!isFinite(_))return n.error("Something went wrong with computing the violin span"),r[0].t.empty=!0,r;var k=o.makeKDE(v,e,m);v.density=new Array(_);for(var T=0,A=x[0];A<x[1]+w/2;T++,A+=w){var M=k(A);v.density[T]={v:M,t:A},p=Math.max(p,M)}}d=Math.max(d,m.length),h=Math.min(h,x[0]),f=Math.max(f,x[1])}var S=a.findExtremes(u,[h,f],{padded:!0});if(e._extremes[u._id]=S,e.width)r[0].t.maxKDE=p;else{var E=s._violinScaleGroupStats,L=e.scalegroup,C=E[L];C?(C.maxKDE=Math.max(C.maxKDE,p),C.maxCount=Math.max(C.maxCount,d)):E[L]={maxKDE:p,maxCount:d}}return r[0].t.labels.kde=n._(t,"kde:"),r}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../box/calc":880,"./helpers":1271}],1269:[function(t,e,r){"use strict";var n=t("../box/cross_trace_calc").setPositionOffset,a=["v","h"];e.exports=function(t,e){for(var r=t.calcdata,i=e.xaxis,o=e.yaxis,s=0;s<a.length;s++){for(var l=a[s],c="h"===l?o:i,u=[],h=0;h<r.length;h++){var f=r[h],p=f[0].t,d=f[0].trace;!0!==d.visible||"violin"!==d.type||p.empty||d.orientation!==l||d.xaxis!==i._id||d.yaxis!==o._id||u.push(h)}n("violin",t,u,c)}}},{"../box/cross_trace_calc":881}],1270:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../components/color"),i=t("../box/defaults"),o=t("./attributes");e.exports=function(t,e,r,s){function l(r,a){return n.coerce(t,e,o,r,a)}function c(r,a){return n.coerce2(t,e,o,r,a)}if(i.handleSampleDefaults(t,e,l,s),!1!==e.visible){l("bandwidth"),l("side"),l("width")||(l("scalegroup",e.name),l("scalemode"));var u,h=l("span");Array.isArray(h)&&(u="manual"),l("spanmode",u);var f=l("line.color",(t.marker||{}).color||r),p=l("line.width"),d=l("fillcolor",a.addOpacity(e.line.color,.5));i.handlePointsDefaults(t,e,l,{prefix:""});var g=c("box.width"),v=c("box.fillcolor",d),m=c("box.line.color",f),y=c("box.line.width",p);l("box.visible",Boolean(g||v||m||y))||(e.box={visible:!1});var x=c("meanline.color",f),b=c("meanline.width",p);l("meanline.visible",Boolean(x||b))||(e.meanline={visible:!1})}}},{"../../components/color":591,"../../lib":716,"../box/defaults":882,"./attributes":1267}],1271:[function(t,e,r){"use strict";var n=t("../../lib"),a=function(t){return 1/Math.sqrt(2*Math.PI)*Math.exp(-.5*t*t)};r.makeKDE=function(t,e,r){var n=r.length,i=a,o=t.bandwidth,s=1/(n*o);return function(t){for(var e=0,a=0;a<n;a++)e+=i((t-r[a])/o);return s*e}},r.getPositionOnKdePath=function(t,e,r){var a,i;"h"===e.orientation?(a="y",i="x"):(a="x",i="y");var o=n.findPointOnPath(t.path,r,i,{pathLength:t.pathLength}),s=t.posCenterPx,l=o[a];return[l,"both"===e.side?2*s-l:s]},r.getKdeValue=function(t,e,n){var a=t.pts.map(r.extractVal);return r.makeKDE(t,e,a)(n)/t.posDensityScale},r.extractVal=function(t){return t.v}},{"../../lib":716}],1272:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../../plots/cartesian/axes"),i=t("../box/hover"),o=t("./helpers");e.exports=function(t,e,r,s,l){var c,u,h=t.cd,f=h[0].trace,p=f.hoveron,d=-1!==p.indexOf("violins"),g=-1!==p.indexOf("kde"),v=[];if(d||g){var m=i.hoverOnBoxes(t,e,r,s);if(g&&m.length>0){var y,x,b,_,w,k=t.xa,T=t.ya;"h"===f.orientation?(w=e,y="y",b=T,x="x",_=k):(w=r,y="x",b=k,x="y",_=T);var A=h[t.index];if(w>=A.span[0]&&w<=A.span[1]){var M=n.extendFlat({},t),S=_.c2p(w,!0),E=o.getKdeValue(A,f,w),L=o.getPositionOnKdePath(A,f,S),C=b._offset,P=b._length;M[y+"0"]=L[0],M[y+"1"]=L[1],M[x+"0"]=M[x+"1"]=S,M[x+"Label"]=x+": "+a.hoverLabelText(_,w)+", "+h[0].t.labels.kde+" "+E.toFixed(3),M.spikeDistance=m[0].spikeDistance;var O=y+"Spike";M[O]=m[0][O],m[0].spikeDistance=void 0,m[0][O]=void 0,M.hovertemplate=!1,v.push(M),(u={stroke:t.color})[y+"1"]=n.constrain(C+L[0],C,C+P),u[y+"2"]=n.constrain(C+L[1],C,C+P),u[x+"1"]=u[x+"2"]=_._offset+S}}d&&(v=v.concat(m))}-1!==p.indexOf("points")&&(c=i.hoverOnPoints(t,e,r));var z=l.selectAll(".violinline-"+f.uid).data(u?[0]:[]);return z.enter().append("line").classed("violinline-"+f.uid,!0).attr("stroke-width",1.5),z.exit().remove(),z.attr(u),"closest"===s?c?[c]:v:c?(v.push(c),v):v}},{"../../lib":716,"../../plots/cartesian/axes":764,"../box/hover":884,"./helpers":1271}],1273:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults"),crossTraceDefaults:t("../box/defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style"),styleOnSelect:t("../scatter/style").styleOnSelect,hoverPoints:t("./hover"),selectPoints:t("../box/select"),moduleType:"trace",name:"violin",basePlotModule:t("../../plots/cartesian"),categories:["cartesian","svg","symbols","oriented","box-violin","showLegend","violinLayout","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../box/defaults":882,"../box/select":889,"../scatter/style":1141,"./attributes":1267,"./calc":1268,"./cross_trace_calc":1269,"./defaults":1270,"./hover":1272,"./layout_attributes":1274,"./layout_defaults":1275,"./plot":1276,"./style":1277}],1274:[function(t,e,r){"use strict";var n=t("../box/layout_attributes"),a=t("../../lib").extendFlat;e.exports={violinmode:a({},n.boxmode,{}),violingap:a({},n.boxgap,{}),violingroupgap:a({},n.boxgroupgap,{})}},{"../../lib":716,"../box/layout_attributes":886}],1275:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes"),i=t("../box/layout_defaults");e.exports=function(t,e,r){i._supply(t,e,r,function(r,i){return n.coerce(t,e,a,r,i)},"violin")}},{"../../lib":716,"../box/layout_defaults":887,"./layout_attributes":1274}],1276:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../box/plot"),s=t("../scatter/line_points"),l=t("./helpers");e.exports=function(t,e,r,c){var u=t._fullLayout,h=e.xaxis,f=e.yaxis;function p(t){var e=s(t,{xaxis:h,yaxis:f,connectGaps:!0,baseTolerance:.75,shape:"spline",simplify:!0,linearized:!0});return i.smoothopen(e[0],1)}a.makeTraceGroups(c,r,"trace violins").each(function(t){var r=n.select(this),i=t[0],s=i.t,c=i.trace;if(!0!==c.visible||s.empty)r.remove();else{var d=s.bPos,g=s.bdPos,v=e[s.valLetter+"axis"],m=e[s.posLetter+"axis"],y="both"===c.side,x=y||"positive"===c.side,b=y||"negative"===c.side,_=r.selectAll("path.violin").data(a.identity);_.enter().append("path").style("vector-effect","non-scaling-stroke").attr("class","violin"),_.exit().remove(),_.each(function(t){var e,r,a,i,o,l,h,f,_=n.select(this),w=t.density,k=w.length,T=m.c2l(t.pos+d,!0),A=m.l2p(T);if(c.width)e=s.maxKDE/g;else{var M=u._violinScaleGroupStats[c.scalegroup];e="count"===c.scalemode?M.maxKDE/g*(M.maxCount/t.pts.length):M.maxKDE/g}if(x){for(h=new Array(k),o=0;o<k;o++)(f=h[o]={})[s.posLetter]=T+w[o].v/e,f[s.valLetter]=v.c2l(w[o].t,!0);r=p(h)}if(b){for(h=new Array(k),l=0,o=k-1;l<k;l++,o--)(f=h[l]={})[s.posLetter]=T-w[o].v/e,f[s.valLetter]=v.c2l(w[o].t,!0);a=p(h)}if(y)i=r+"L"+a.substr(1)+"Z";else{var S=[A,v.c2p(w[0].t)],E=[A,v.c2p(w[k-1].t)];"h"===c.orientation&&(S.reverse(),E.reverse()),i=x?"M"+S+"L"+r.substr(1)+"L"+E:"M"+E+"L"+a.substr(1)+"L"+S}_.attr("d",i),t.posCenterPx=A,t.posDensityScale=e*g,t.path=_.node(),t.pathLength=t.path.getTotalLength()/(y?2:1)});var w,k,T,A=c.box,M=A.width,S=(A.line||{}).width;y?(w=g*M,k=0):x?(w=[0,g*M/2],k=S*{x:1,y:-1}[s.posLetter]):(w=[g*M/2,0],k=S*{x:-1,y:1}[s.posLetter]),o.plotBoxAndWhiskers(r,{pos:m,val:v},c,{bPos:d,bdPos:w,bPosPxOffset:k}),o.plotBoxMean(r,{pos:m,val:v},c,{bPos:d,bdPos:w,bPosPxOffset:k}),!c.box.visible&&c.meanline.visible&&(T=a.identity);var E=r.selectAll("path.meanline").data(T||[]);E.enter().append("path").attr("class","meanline").style("fill","none").style("vector-effect","non-scaling-stroke"),E.exit().remove(),E.each(function(t){var e=v.c2p(t.mean,!0),r=l.getPositionOnKdePath(t,c,e);n.select(this).attr("d","h"===c.orientation?"M"+e+","+r[0]+"V"+r[1]:"M"+r[0]+","+e+"H"+r[1])}),o.plotPoints(r,{x:h,y:f},c,s)}})}},{"../../components/drawing":612,"../../lib":716,"../box/plot":888,"../scatter/line_points":1132,"./helpers":1271,d3:164}],1277:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/color"),i=t("../scatter/style").stylePoints;e.exports=function(t){var e=n.select(t).selectAll("g.trace.violins");e.style("opacity",function(t){return t[0].trace.opacity}),e.each(function(e){var r=e[0].trace,o=n.select(this),s=r.box||{},l=s.line||{},c=r.meanline||{},u=c.width;o.selectAll("path.violin").style("stroke-width",r.line.width+"px").call(a.stroke,r.line.color).call(a.fill,r.fillcolor),o.selectAll("path.box").style("stroke-width",l.width+"px").call(a.stroke,l.color).call(a.fill,s.fillcolor);var h={"stroke-width":u+"px","stroke-dasharray":2*u+"px,"+u+"px"};o.selectAll("path.mean").style(h).call(a.stroke,c.color),o.selectAll("path.meanline").style(h).call(a.stroke,c.color),i(o,r,t)})}},{"../../components/color":591,"../scatter/style":1141,d3:164}],1278:[function(t,e,r){"use strict";var n=t("../../components/colorscale/attributes"),a=t("../isosurface/attributes"),i=t("../../plots/attributes"),o=t("../../lib/extend").extendFlat,s=t("../../plot_api/edit_types").overrideAll,l=e.exports=s(o({x:a.x,y:a.y,z:a.z,value:a.value,isomin:a.isomin,isomax:a.isomax,surface:a.surface,spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:1}},slices:a.slices,caps:a.caps,text:a.text,hovertext:a.hovertext,hovertemplate:a.hovertemplate},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{colorbar:a.colorbar,opacity:a.opacity,opacityscale:{valType:"any",editType:"calc"},lightposition:a.lightposition,lighting:a.lighting,flatshading:a.flatshading,contour:a.contour,hoverinfo:o({},i.hoverinfo)}),"calc","nested");l.x.editType=l.y.editType=l.z.editType=l.value.editType="calc+clearAxisTypes",l.transforms=void 0},{"../../components/colorscale/attributes":598,"../../lib/extend":707,"../../plot_api/edit_types":747,"../../plots/attributes":761,"../isosurface/attributes":1054}],1279:[function(t,e,r){"use strict";var n=t("gl-mesh3d"),a=t("../../lib/gl_format_color").parseColorScale,i=t("../../lib/str2rgbarray"),o=t("../../components/colorscale").extractOpts,s=t("../../plots/gl3d/zip3"),l=t("../isosurface/convert").findNearestOnAxis,c=t("../isosurface/convert").generateIsoMeshes;function u(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.data=null,this.showContour=!1}var h=u.prototype;h.handlePick=function(t){if(t.object===this.mesh){var e=t.data.index,r=this.data._x[e],n=this.data._y[e],a=this.data._z[e],i=this.data._Ys.length,o=this.data._Zs.length,s=l(r,this.data._Xs).id,c=l(n,this.data._Ys).id,u=l(a,this.data._Zs).id,h=t.index=u+o*c+o*i*s;t.traceCoordinate=[this.data._x[h],this.data._y[h],this.data._z[h],this.data.value[h]];var f=this.data.hovertext||this.data.text;return Array.isArray(f)&&void 0!==f[h]?t.textLabel=f[h]:f&&(t.textLabel=f),!0}},h.update=function(t){var e=this.scene,r=e.fullSceneLayout;function n(t,e,r,n){return e.map(function(e){return t.d2l(e,0,n)*r})}this.data=c(t);var l={positions:s(n(r.xaxis,t._x,e.dataScale[0],t.xcalendar),n(r.yaxis,t._y,e.dataScale[1],t.ycalendar),n(r.zaxis,t._z,e.dataScale[2],t.zcalendar)),cells:s(t._i,t._j,t._k),lightPosition:[t.lightposition.x,t.lightposition.y,t.lightposition.z],ambient:t.lighting.ambient,diffuse:t.lighting.diffuse,specular:t.lighting.specular,roughness:t.lighting.roughness,fresnel:t.lighting.fresnel,vertexNormalsEpsilon:t.lighting.vertexnormalsepsilon,faceNormalsEpsilon:t.lighting.facenormalsepsilon,opacity:t.opacity,opacityscale:t.opacityscale,contourEnable:t.contour.show,contourColor:i(t.contour.color).slice(0,3),contourWidth:t.contour.width,useFacetNormals:t.flatshading},u=o(t);l.vertexIntensity=t._intensity,l.vertexIntensityBounds=[u.min,u.max],l.colormap=a(t),this.mesh.update(l)},h.dispose=function(){this.scene.glplot.remove(this.mesh),this.mesh.dispose()},e.exports=function(t,e){var r=t.glplot.gl,a=n({gl:r}),i=new u(t,a,e.uid);return a._trace=i,i.update(e),t.glplot.add(a),i}},{"../../components/colorscale":603,"../../lib/gl_format_color":713,"../../lib/str2rgbarray":739,"../../plots/gl3d/zip3":815,"../isosurface/convert":1056,"gl-mesh3d":282}],1280:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./attributes"),i=t("../isosurface/defaults").supplyIsoDefaults;e.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}i(t,e,r,o,s);var l=s("opacityscale");"max"===l?e.opacityscale=[[0,.1],[1,1]]:"min"===l?e.opacityscale=[[0,1],[1,.1]]:"extremes"===l?e.opacityscale=function(t,e){for(var r=[],n=0;n<32;n++){var a=n/31,i=e+(1-e)*(1-Math.pow(Math.sin(t*a*Math.PI),2));r.push([a,Math.max(1,Math.min(0,i))])}return r}(1,.1):function(t){var e=0;if(!Array.isArray(t)||t.length<2)return!1;if(!t[0]||!t[t.length-1])return!1;if(0!=+t[0][0]||1!=+t[t.length-1][0])return!1;for(var r=0;r<t.length;r++){var n=t[r];if(2!==n.length||+n[0]<e)return!1;e=+n[0]}return!0}(l)||(e.opacityscale=void 0)}},{"../../lib":716,"../isosurface/defaults":1057,"./attributes":1278}],1281:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),supplyDefaults:t("./defaults"),calc:t("../isosurface/calc"),colorbar:{min:"cmin",max:"cmax"},plot:t("./convert"),moduleType:"trace",name:"volume",basePlotModule:t("../../plots/gl3d"),categories:["gl3d"],meta:{}}},{"../../plots/gl3d":804,"../isosurface/calc":1055,"./attributes":1278,"./convert":1279,"./defaults":1280}],1282:[function(t,e,r){"use strict";var n=t("../bar/attributes"),a=t("../scatter/attributes").line,i=t("../../plots/attributes"),o=t("../../plots/template_attributes").hovertemplateAttrs,s=t("../../plots/template_attributes").texttemplateAttrs,l=t("./constants"),c=t("../../lib/extend").extendFlat,u=t("../../components/color");function h(t){return{marker:{color:c({},n.marker.color,{arrayOk:!1,editType:"style"}),line:{color:c({},n.marker.line.color,{arrayOk:!1,editType:"style"}),width:c({},n.marker.line.width,{arrayOk:!1,editType:"style"}),editType:"style"},editType:"style"},editType:"style"}}e.exports={measure:{valType:"data_array",dflt:[],editType:"calc"},base:{valType:"number",dflt:null,arrayOk:!1,editType:"calc"},x:n.x,x0:n.x0,dx:n.dx,y:n.y,y0:n.y0,dy:n.dy,hovertext:n.hovertext,hovertemplate:o({},{keys:l.eventDataKeys}),hoverinfo:c({},i.hoverinfo,{flags:["name","x","y","text","initial","delta","final"]}),textinfo:{valType:"flaglist",flags:["label","text","initial","delta","final"],extras:["none"],editType:"plot",arrayOk:!1},texttemplate:s({editType:"plot"},{keys:l.eventDataKeys.concat(["label"])}),text:n.text,textposition:n.textposition,insidetextanchor:n.insidetextanchor,textangle:n.textangle,textfont:n.textfont,insidetextfont:n.insidetextfont,outsidetextfont:n.outsidetextfont,constraintext:n.constraintext,cliponaxis:n.cliponaxis,orientation:n.orientation,offset:n.offset,width:n.width,increasing:h(),decreasing:h(),totals:h(),connector:{line:{color:c({},a.color,{dflt:u.defaultLine}),width:c({},a.width,{editType:"plot"}),dash:a.dash,editType:"plot"},mode:{valType:"enumerated",values:["spanning","between"],dflt:"between",editType:"plot"},visible:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},offsetgroup:n.offsetgroup,alignmentgroup:n.alignmentgroup}},{"../../components/color":591,"../../lib/extend":707,"../../plots/attributes":761,"../../plots/template_attributes":840,"../bar/attributes":855,"../scatter/attributes":1118,"./constants":1284}],1283:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes"),a=t("../../lib").mergeArray,i=t("../scatter/calc_selection"),o=t("../../constants/numerical").BADNUM;function s(t){return"a"===t||"absolute"===t}function l(t){return"t"===t||"total"===t}e.exports=function(t,e){var r,c,u=n.getFromId(t,e.xaxis||"x"),h=n.getFromId(t,e.yaxis||"y");"h"===e.orientation?(r=u.makeCalcdata(e,"x"),c=h.makeCalcdata(e,"y")):(r=h.makeCalcdata(e,"y"),c=u.makeCalcdata(e,"x"));for(var f,p=Math.min(c.length,r.length),d=new Array(p),g=0,v=!1,m=0;m<p;m++){var y=r[m]||0,x=!1;(r[m]!==o||l(e.measure[m])||s(e.measure[m]))&&m+1<p&&(r[m+1]!==o||l(e.measure[m+1])||s(e.measure[m+1]))&&(x=!0);var b=d[m]={i:m,p:c[m],s:y,rawS:y,cNext:x};s(e.measure[m])?(g=b.s,b.isSum=!0,b.dir="totals",b.s=g):l(e.measure[m])?(b.isSum=!0,b.dir="totals",b.s=g):(b.isSum=!1,b.dir=b.rawS<0?"decreasing":"increasing",f=b.s,b.s=g+f,g+=f),"totals"===b.dir&&(v=!0),e.ids&&(b.id=String(e.ids[m])),b.v=(e.base||0)+g}return d.length&&(d[0].hasTotals=v),a(e.text,d,"tx"),a(e.hovertext,d,"htx"),i(d,e),d}},{"../../constants/numerical":692,"../../lib":716,"../../plots/cartesian/axes":764,"../scatter/calc_selection":1120}],1284:[function(t,e,r){"use strict";e.exports={eventDataKeys:["initial","delta","final"]}},{}],1285:[function(t,e,r){"use strict";var n=t("../bar/cross_trace_calc").setGroupPositions;e.exports=function(t,e){var r,a,i=t._fullLayout,o=t._fullData,s=t.calcdata,l=e.xaxis,c=e.yaxis,u=[],h=[],f=[];for(a=0;a<o.length;a++){var p=o[a];!0===p.visible&&p.xaxis===l._id&&p.yaxis===c._id&&"waterfall"===p.type&&(r=s[a],"h"===p.orientation?f.push(r):h.push(r),u.push(r))}var d={mode:i.waterfallmode,norm:i.waterfallnorm,gap:i.waterfallgap,groupgap:i.waterfallgroupgap};for(n(t,l,c,h,d),n(t,c,l,f,d),a=0;a<u.length;a++){r=u[a];for(var g=0;g<r.length;g++){var v=r[g];!1===v.isSum&&(v.s0+=0===g?0:r[g-1].s),g+1<r.length&&(r[g].nextP0=r[g+1].p0,r[g].nextS0=r[g+1].s0)}}}},{"../bar/cross_trace_calc":858}],1286:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("../bar/defaults").handleGroupingDefaults,i=t("../bar/defaults").handleText,o=t("../scatter/xy_defaults"),s=t("./attributes"),l=t("../../components/color"),c=t("../../constants/delta.js"),u=c.INCREASING.COLOR,h=c.DECREASING.COLOR,f="#4499FF";function p(t,e,r){t(e+".marker.color",r),t(e+".marker.line.color",l.defaultLine),t(e+".marker.line.width")}e.exports={supplyDefaults:function(t,e,r,a){function l(r,a){return n.coerce(t,e,s,r,a)}if(o(t,e,a,l)){l("measure"),l("orientation",e.x&&!e.y?"h":"v"),l("base"),l("offset"),l("width"),l("text"),l("hovertext"),l("hovertemplate");var c=l("textposition");i(t,e,a,l,c,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),"none"!==e.textposition&&(l("texttemplate"),e.texttemplate||l("textinfo")),p(l,"increasing",u),p(l,"decreasing",h),p(l,"totals",f),l("connector.visible")&&(l("connector.mode"),l("connector.line.width")&&(l("connector.line.color"),l("connector.line.dash")))}else e.visible=!1},crossTraceDefaults:function(t,e){var r,i;function o(t){return n.coerce(i._input,i,s,t)}if("group"===e.waterfallmode)for(var l=0;l<t.length;l++)r=(i=t[l])._input,a(r,i,e,o)}}},{"../../components/color":591,"../../constants/delta.js":686,"../../lib":716,"../bar/defaults":859,"../scatter/xy_defaults":1144,"./attributes":1282}],1287:[function(t,e,r){"use strict";e.exports=function(t,e){return t.x="xVal"in e?e.xVal:e.x,t.y="yVal"in e?e.yVal:e.y,"initial"in e&&(t.initial=e.initial),"delta"in e&&(t.delta=e.delta),"final"in e&&(t.final=e.final),e.xa&&(t.xaxis=e.xa),e.ya&&(t.yaxis=e.ya),t}},{}],1288:[function(t,e,r){"use strict";var n=t("../../plots/cartesian/axes").hoverLabelText,a=t("../../components/color").opacity,i=t("../bar/hover").hoverOnBars,o=t("../../constants/delta.js"),s=o.INCREASING.SYMBOL,l=o.DECREASING.SYMBOL;e.exports=function(t,e,r,o){var c=i(t,e,r,o);if(c){var u=c.cd,h=u[0].trace,f="h"===h.orientation,p=f?t.xa:t.ya,d=u[c.index],g=d.isSum?d.b+d.s:d.rawS;if(!d.isSum){c.initial=d.b+d.s-g,c.delta=g,c.final=c.initial+c.delta;var v=w(Math.abs(c.delta));c.deltaLabel=g<0?"("+v+")":v,c.finalLabel=w(c.final),c.initialLabel=w(c.initial)}var m=d.hi||h.hoverinfo,y=[];if(m&&"none"!==m&&"skip"!==m){var x="all"===m,b=m.split("+"),_=function(t){return x||-1!==b.indexOf(t)};d.isSum||(!_("final")||_(f?"x":"y")||y.push(c.finalLabel),_("delta")&&(g<0?y.push(c.deltaLabel+" "+l):y.push(c.deltaLabel+" "+s)),_("initial")&&y.push("Initial: "+c.initialLabel))}return y.length&&(c.extraText=y.join("<br>")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,i=r.line.color,o=r.line.width;if(a(n))return n;if(a(i)&&o)return i}(h,d),[c]}function w(t){return n(p,t)}}},{"../../components/color":591,"../../constants/delta.js":686,"../../plots/cartesian/axes":764,"../bar/hover":862}],1289:[function(t,e,r){"use strict";e.exports={attributes:t("./attributes"),layoutAttributes:t("./layout_attributes"),supplyDefaults:t("./defaults").supplyDefaults,crossTraceDefaults:t("./defaults").crossTraceDefaults,supplyLayoutDefaults:t("./layout_defaults"),calc:t("./calc"),crossTraceCalc:t("./cross_trace_calc"),plot:t("./plot"),style:t("./style").style,hoverPoints:t("./hover"),eventData:t("./event_data"),selectPoints:t("../bar/select"),moduleType:"trace",name:"waterfall",basePlotModule:t("../../plots/cartesian"),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},{"../../plots/cartesian":775,"../bar/select":867,"./attributes":1282,"./calc":1283,"./cross_trace_calc":1285,"./defaults":1286,"./event_data":1287,"./hover":1288,"./layout_attributes":1290,"./layout_defaults":1291,"./plot":1292,"./style":1293}],1290:[function(t,e,r){"use strict";e.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},{}],1291:[function(t,e,r){"use strict";var n=t("../../lib"),a=t("./layout_attributes");e.exports=function(t,e,r){var i=!1;function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=0;s<r.length;s++){var l=r[s];if(l.visible&&"waterfall"===l.type){i=!0;break}}i&&(o("waterfallmode"),o("waterfallgap",.2),o("waterfallgroupgap"))}},{"../../lib":716,"./layout_attributes":1290}],1292:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../lib"),i=t("../../components/drawing"),o=t("../bar/plot").plot;e.exports=function(t,e,r,s){var l=t._fullLayout;o(t,e,r,s,{mode:l.waterfallmode,norm:l.waterfallmode,gap:l.waterfallgap,groupgap:l.waterfallgroupgap}),function(t,e,r,o){var s=e.xaxis,l=e.yaxis;a.makeTraceGroups(o,r,"trace bars").each(function(r){var o=n.select(this),c=r[0].trace,u=a.ensureSingle(o,"g","lines");if(c.connector&&c.connector.visible){var h="h"===c.orientation,f=c.connector.mode,p=u.selectAll("g.line").data(a.identity);p.enter().append("g").classed("line",!0),p.exit().remove();var d=p.size();p.each(function(r,o){if(o===d-1||r.cNext){var c=function(t,e,r,n){var a=[],i=[],o=n?e:r,s=n?r:e;return a[0]=o.c2p(t.s0,!0),i[0]=s.c2p(t.p0,!0),a[1]=o.c2p(t.s1,!0),i[1]=s.c2p(t.p1,!0),a[2]=o.c2p(t.nextS0,!0),i[2]=s.c2p(t.nextP0,!0),n?[a,i]:[i,a]}(r,s,l,h),u=c[0],p=c[1],g="";"spanning"===f&&!r.isSum&&o>0&&(g+=h?"M"+u[0]+","+p[1]+"V"+p[0]:"M"+u[1]+","+p[0]+"H"+u[0]),"between"!==f&&(r.isSum||o<d-1)&&(g+=h?"M"+u[1]+","+p[0]+"V"+p[1]:"M"+u[0]+","+p[1]+"H"+u[1]),void 0!==u[2]&&void 0!==p[2]&&(g+=h?"M"+u[1]+","+p[1]+"V"+p[2]:"M"+u[1]+","+p[1]+"H"+u[2]),""===g&&(g="M0,0Z"),a.ensureSingle(n.select(this),"path").attr("d",g).call(i.setClipUrl,e.layerClipId,t)}})}else u.remove()})}(t,e,r,s)}},{"../../components/drawing":612,"../../lib":716,"../bar/plot":866,d3:164}],1293:[function(t,e,r){"use strict";var n=t("d3"),a=t("../../components/drawing"),i=t("../../components/color"),o=t("../../constants/interactions").DESELECTDIM,s=t("../bar/style").styleTextPoints;e.exports={style:function(t,e,r){var l=r||n.select(t).selectAll("g.waterfalllayer").selectAll("g.trace");l.style("opacity",function(t){return t[0].trace.opacity}),l.each(function(e){var r=n.select(this),l=e[0].trace;r.selectAll(".point > path").each(function(t){if(!t.isBlank){var e=l[t.dir].marker;n.select(this).call(i.fill,e.color).call(i.stroke,e.line.color).call(a.dashLine,e.line.dash,e.line.width).style("opacity",l.selectedpoints&&!t.selected?o:1)}}),s(r,l,t),r.selectAll(".lines").each(function(){var t=l.connector.line;a.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)})})}}},{"../../components/color":591,"../../components/drawing":612,"../../constants/interactions":691,"../bar/style":869,d3:164}],1294:[function(t,e,r){"use strict";var n=t("../plots/cartesian/axes"),a=t("../lib"),i=t("../plot_api/plot_schema"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/numerical").BADNUM;r.moduleType="transform",r.name="aggregate";var l=r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,i){if(i.enabled){for(var o=i.target,l=a.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return h;case"first":return f;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r+=o)}return a(r)};case"avg":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l,i++)}return i?a(r/i):s};case"min":return function(t,e){for(var r=1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.min(r,o))}return r===1/0?s:a(r)};case"max":return function(t,e){for(var r=-1/0,i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&(r=Math.max(r,o))}return r===-1/0?s:a(r)};case"range":return function(t,e){for(var r=1/0,i=-1/0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r=Math.min(r,l),i=Math.max(i,l))}return i===-1/0||r===1/0?s:a(i-r)};case"change":return function(t,e){var r=n(t[e[0]]),i=n(t[e[e.length-1]]);return r===s||i===s?s:a(i-r)};case"median":return function(t,e){for(var r=[],i=0;i<e.length;i++){var o=n(t[e[i]]);o!==s&&r.push(o)}if(!r.length)return s;r.sort();var l=(r.length-1)/2;return a((r[Math.floor(l)]+r[Math.ceil(l)])/2)};case"mode":return function(t,e){for(var r={},i=0,o=s,l=0;l<e.length;l++){var c=n(t[e[l]]);if(c!==s){var u=r[c]=(r[c]||0)+1;u>i&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o<e.length;o++){var l=n(t[e[o]]);l!==s&&(r+=l*l,i++)}return i?a(Math.sqrt(r/i)):s};case"stddev":return function(e,r){var a,i=0,o=0,l=1,c=s;for(a=0;a<r.length&&c===s;a++)c=n(e[r[a]]);if(c===s)return s;for(;a<r.length;a++){var u=n(e[r[a]]);if(u!==s){var h=u-c;i+=h,o+=h*h,l++}}var f="sample"===t.funcmode?l-1:l;return f?Math.sqrt((o-i*i/l)/f):0}}}(i,n.getDataConversions(t,e,o,c)),d=new Array(r.length),g=0;g<r.length;g++)d[g]=u(c,r[g]);l.set(d),"count"===i.func&&a.pushUnique(e._arrayAttrs,o)}}function h(t,e){return e.length}function f(t,e){return t[e[0]]}function p(t,e){return t[e[e.length-1]]}r.supplyDefaults=function(t,e){var r,n={};function o(e,r){return a.coerce(t,n,l,e,r)}if(!o("enabled"))return n;var s=i.findArrayAttributes(e),u={};for(r=0;r<s.length;r++)u[s[r]]=1;var h=o("groups");if(!Array.isArray(h)){if(!u[h])return n.enabled=!1,n;u[h]=0}var f,p=t.aggregations||[],d=n.aggregations=new Array(p.length);function g(t,e){return a.coerce(p[r],f,c,t,e)}for(r=0;r<p.length;r++){f={_index:r};var v=g("target"),m=g("func");g("enabled")&&v&&(u[v]||"count"===m&&void 0===u[v])?("stddev"===m&&g("funcmode"),u[v]=0,d[r]=f):d[r]={enabled:!1,_index:r}}for(r=0;r<s.length;r++)u[s[r]]&&d.push({target:s[r],func:c.func.dflt,enabled:!0,_index:-1});return n},r.calcTransform=function(t,e,r){if(r.enabled){var n=r.groups,i=a.getTargetArray(e,{target:n});if(i){var s,l,c,h,f={},p={},d=[],g=o(e.transforms,r),v=i.length;for(e._length&&(v=Math.min(v,e._length)),s=0;s<v;s++)void 0===(c=f[l=i[s]])?(f[l]=d.length,h=[s],d.push(h),p[f[l]]=g(s)):(d[c].push(s),p[f[l]]=(p[f[l]]||[]).concat(g(s)));r._indexToPoints=p;var m=r.aggregations;for(s=0;s<m.length;s++)u(t,e,d,m[s]);"string"==typeof n&&u(t,e,d,{target:n,func:"first",enabled:!0}),e._length=d.length}}}},{"../constants/numerical":692,"../lib":716,"../plot_api/plot_schema":753,"../plots/cartesian/axes":764,"./helpers":1297}],1295:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../registry"),i=t("../plots/cartesian/axes"),o=t("./helpers").pointsAccessorFunction,s=t("../constants/filter_ops"),l=s.COMPARISON_OPS,c=s.INTERVAL_OPS,u=s.SET_OPS;r.moduleType="transform",r.name="filter",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},operation:{valType:"enumerated",values:[].concat(l).concat(c).concat(u),dflt:"=",editType:"calc"},value:{valType:"any",dflt:0,editType:"calc"},preservegaps:{valType:"boolean",dflt:!1,editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function i(a,i){return n.coerce(t,e,r.attributes,a,i)}if(i("enabled")){var o=i("target");if(n.isArrayOrTypedArray(o)&&0===o.length)return e.enabled=!1,e;i("preservegaps"),i("operation"),i("value");var s=a.getComponentMethod("calendars","handleDefaults");s(t,e,"valuecalendar",null),s(t,e,"targetcalendar",null)}return e},r.calcTransform=function(t,e,r){if(r.enabled){var a=n.getTargetArray(e,r);if(a){var s=r.target,h=a.length;e._length&&(h=Math.min(h,e._length));var f=r.targetcalendar,p=e._arrayAttrs,d=r.preservegaps;if("string"==typeof s){var g=n.nestedProperty(e,s+"calendar").get();g&&(f=g)}var v,m,y=function(t,e,r){var n=t.operation,a=t.value,i=Array.isArray(a);function o(t){return-1!==t.indexOf(n)}var s,h=function(r){return e(r,0,t.valuecalendar)},f=function(t){return e(t,0,r)};o(l)?s=h(i?a[0]:a):o(c)?s=i?[h(a[0]),h(a[1])]:[h(a),h(a)]:o(u)&&(s=i?a.map(h):[h(a)]);switch(n){case"=":return function(t){return f(t)===s};case"!=":return function(t){return f(t)!==s};case"<":return function(t){return f(t)<s};case"<=":return function(t){return f(t)<=s};case">":return function(t){return f(t)>s};case">=":return function(t){return f(t)>=s};case"[]":return function(t){var e=f(t);return e>=s[0]&&e<=s[1]};case"()":return function(t){var e=f(t);return e>s[0]&&e<s[1]};case"[)":return function(t){var e=f(t);return e>=s[0]&&e<s[1]};case"(]":return function(t){var e=f(t);return e>s[0]&&e<=s[1]};case"][":return function(t){var e=f(t);return e<=s[0]||e>=s[1]};case")(":return function(t){var e=f(t);return e<s[0]||e>s[1]};case"](":return function(t){var e=f(t);return e<=s[0]||e>s[1]};case")[":return function(t){var e=f(t);return e<s[0]||e>=s[1]};case"{}":return function(t){return-1!==s.indexOf(f(t))};case"}{":return function(t){return-1===s.indexOf(f(t))}}}(r,i.getDataToCoordFunc(t,e,s,a),f),x={},b={},_=0;d?(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},m=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(v=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},m=function(t,e){var r=x[t.astr][e];t.get().push(r)}),T(v);for(var w=o(e.transforms,r),k=0;k<h;k++){y(a[k])?(T(m,k),b[_++]=w(k)):d&&_++}r._indexToPoints=b,e._length=_}}function T(t,r){for(var a=0;a<p.length;a++){t(n.nestedProperty(e,p[a]),r)}}}},{"../constants/filter_ops":688,"../lib":716,"../plots/cartesian/axes":764,"../registry":845,"./helpers":1297}],1296:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plot_api/plot_schema"),i=t("../plots/plots"),o=t("./helpers").pointsAccessorFunction;function s(t,e){var r,s,l,c,u,h,f,p,d,g,v=e.transform,m=e.transformIndex,y=t.transforms[m].groups,x=o(t.transforms,v);if(!Array.isArray(y)||0===y.length)return[t];var b=n.filterUnique(y),_=new Array(b.length),w=y.length,k=a.findArrayAttributes(t),T=v.styles||[],A={};for(r=0;r<T.length;r++)A[T[r].target]=T[r].value;v.styles&&(g=n.keyedContainer(v,"styles","target","value.name"));var M={},S={};for(r=0;r<b.length;r++){M[h=b[r]]=r,S[h]=0,(f=_[r]=n.extendDeepNoArrays({},t))._group=h,f.transforms[m]._indexToPoints={};var E=null;for(g&&(E=g.get(h)),f.name=E||""===E?E:n.templateString(v.nameformat,{trace:t.name,group:h}),p=f.transforms,f.transforms=[],s=0;s<p.length;s++)f.transforms[s]=n.extendDeepNoArrays({},p[s]);for(s=0;s<k.length;s++)n.nestedProperty(f,k[s]).set([])}for(l=0;l<k.length;l++){for(c=k[l],s=0,d=[];s<b.length;s++)d[s]=n.nestedProperty(_[s],c).get();for(u=n.nestedProperty(t,c).get(),s=0;s<w;s++)d[M[y[s]]].push(u[s])}for(s=0;s<w;s++){(f=_[M[y[s]]]).transforms[m]._indexToPoints[S[y[s]]]=x(s),S[y[s]]++}for(r=0;r<b.length;r++)h=b[r],f=_[r],i.clearExpandedTraceDefaultColors(f),f=n.extendDeepNoArrays(f,A[h]||{});return _}r.moduleType="transform",r.name="groupby",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"data_array",dflt:[],editType:"calc"},nameformat:{valType:"string",editType:"calc"},styles:{_isLinkedToArray:"style",target:{valType:"string",editType:"calc"},value:{valType:"any",dflt:{},editType:"calc",_compareAsJSON:!0},editType:"calc"},editType:"calc"},r.supplyDefaults=function(t,e,a){var i,o={};function s(e,a){return n.coerce(t,o,r.attributes,e,a)}if(!s("enabled"))return o;s("groups"),s("nameformat",a._dataLength>1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(i=0;i<l.length;i++){var u=c[i]={};n.coerce(l[i],c[i],r.attributes.styles,"target");var h=n.coerce(l[i],c[i],r.attributes.styles,"value");n.isPlainObject(h)?u.value=n.extendDeep({},h):h&&delete u.value}return o},r.transform=function(t,e){var r,n,a,i=[];for(n=0;n<t.length;n++)for(r=s(t[n],e),a=0;a<r.length;a++)i.push(r[a]);return i}},{"../lib":716,"../plot_api/plot_schema":753,"../plots/plots":825,"./helpers":1297}],1297:[function(t,e,r){"use strict";r.pointsAccessorFunction=function(t,e){for(var r,n,a=0;a<t.length&&(r=t[a])!==e;a++)r._indexToPoints&&!1!==r.enabled&&(n=r._indexToPoints);return n?function(t){return n[t]}:function(t){return[t]}}},{}],1298:[function(t,e,r){"use strict";var n=t("../lib"),a=t("../plots/cartesian/axes"),i=t("./helpers").pointsAccessorFunction;r.moduleType="transform",r.name="sort",r.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},target:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},order:{valType:"enumerated",values:["ascending","descending"],dflt:"ascending",editType:"calc"},editType:"calc"},r.supplyDefaults=function(t){var e={};function a(a,i){return n.coerce(t,e,r.attributes,a,i)}return a("enabled")&&(a("target"),a("order")),e},r.calcTransform=function(t,e,r){if(r.enabled){var o=n.getTargetArray(e,r);if(o){var s=r.target,l=o.length;e._length&&(l=Math.min(l,e._length));var c,u,h=e._arrayAttrs,f=function(t,e,r,n){var a,i=new Array(n),o=new Array(n);for(a=0;a<n;a++)i[a]={v:e[a],i:a};for(i.sort(function(t,e){switch(t.order){case"ascending":return function(t,r){return e(t.v)-e(r.v)};case"descending":return function(t,r){return e(r.v)-e(t.v)}}}(t,r)),a=0;a<n;a++)o[a]=i[a].i;return o}(r,o,a.getDataToCoordFunc(t,e,s,o),l),p=i(e.transforms,r),d={};for(c=0;c<h.length;c++){var g=n.nestedProperty(e,h[c]),v=g.get(),m=new Array(l);for(u=0;u<l;u++)m[u]=v[f[u]];g.set(m)}for(u=0;u<l;u++)d[u]=p(f[u]);r._indexToPoints=d,e._length=l}}}},{"../lib":716,"../plots/cartesian/axes":764,"./helpers":1297}]},{},[26])(26)});</script>    
+            <div id="054d3958-ee5c-4fcf-a660-33b3e2c5bea2" class="plotly-graph-div" style="height:100%; width:100%;"></div>
+            <script type="text/javascript">
+                
+                    window.PLOTLYENV=window.PLOTLYENV || {};
+                    
+                if (document.getElementById("054d3958-ee5c-4fcf-a660-33b3e2c5bea2")) {
+                    Plotly.newPlot(
+                        '054d3958-ee5c-4fcf-a660-33b3e2c5bea2',
+                        [{"marker": {"color": "yellow"}, "opacity": 0.4, "type": "histogram", "x": [91.11111450195312, 87.6261215209961, 89.3143539428711, 81.48748016357422, 78.2682876586914, 88.36742401123047, 79.27631378173828, 88.41853332519531, 91.67132568359375, 88.53211212158203, 86.85762786865234, 84.34268951416016, 85.59664154052734, 87.97648620605469, 90.83333587646484, 74.86585235595703, 88.73269653320312, 79.68197631835938, 84.92201232910156, 89.60198974609375, 87.19397735595703, 89.85702514648438, 78.08161926269531, 82.96687316894531, 87.0206527709961, 88.26241302490234, 90.5989990234375, 83.82502746582031, 86.30705261230469, 81.56111907958984, 90.86469268798828, 90.83912658691406, 90.26931762695312, 88.26487731933594, 88.34364318847656, 87.96327209472656, 82.35621643066406, 86.95257568359375, 85.14918518066406, 77.9891128540039, 88.64942169189453, 83.09382629394531, 91.1795883178711, 85.16129302978516, 90.65817260742188, 89.97106170654297, 89.08650207519531, 88.61544799804688, 91.76618194580078, 87.58478546142578, 83.83704376220703, 81.13301086425781, 83.17756652832031, 86.95341491699219, 79.2975845336914, 88.92545318603516, 84.85958862304688, 90.5387954711914, 87.53620910644531, 90.1470947265625, 86.29391479492188, 91.32075500488281, 82.22138214111328, 78.9260482788086, 83.57320404052734, 88.72464752197266, 80.98175811767578, 88.5893325805664, 83.42133331298828, 90.3542251586914, 89.77237701416016, 84.52410125732422, 86.42417907714844, 86.74698638916016, 88.7060317993164, 87.54986572265625, 90.53347778320312, 91.43968963623047, 88.35963439941406, 88.3890151977539, 89.66475677490234, 82.41985321044922, 84.82906341552734, 89.52935028076172, 90.62745666503906, 89.62355041503906, 86.72945404052734, 84.04452514648438, 88.11325073242188, 89.3733901977539, 89.479736328125, 90.51834106445312, 74.10633850097656, 78.55072784423828, 90.10016632080078, 83.30034637451172, 59.44025421142578, 89.34010314941406, 90.14739990234375, 75.70008850097656, 89.16714477539062, 74.6925048828125, 89.53331756591797, 86.37310028076172, 80.54570770263672, 82.51303100585938, 80.98106384277344, 90.9035873413086, 84.97468566894531, 87.68292999267578, 84.1830062866211, 80.79061126708984, 90.66783142089844, 86.1131591796875, 90.80091094970703, 90.2291259765625, 88.0952377319336, 79.60799407958984, 80.60924530029297, 89.18144226074219, 89.02498626708984, 70.18286895751953, 71.95443725585938, 80.69075012207031, 86.45484924316406, 72.30070495605469, 88.01399993896484, 87.52728271484375, 89.24568176269531, 88.24906158447266, 89.5136947631836, 85.1795425415039, 87.27830505371094, 82.75076293945312, 77.37104797363281, 89.8414306640625, 59.79643630981445, 91.88494873046875, 86.95164489746094, 88.97792053222656, 80.31774139404297, 90.18630981445312, 86.66666412353516, 91.63858795166016, 88.14989471435547, 90.12638092041016, 81.91531372070312, 90.57996368408203, 87.73284149169922, 85.96831512451172, 90.52894592285156, 85.60010528564453, 86.50955200195312, 90.11848449707031, 89.3854751586914, 85.70254516601562, 88.88280487060547, 86.79947662353516, 91.21285247802734, 89.56556701660156, 85.22272491455078, 91.43521881103516, 90.81346893310547, 89.43025970458984, 72.57997131347656, 87.79509735107422, 90.17481994628906, 90.70724487304688, 91.73553466796875, 90.11975860595703, 84.38558959960938, 79.15690612792969, 90.9670181274414, 92.19120025634766, 87.07662200927734, 89.50141143798828, 81.0020751953125, 81.310791015625, 87.05962371826172, 89.87480926513672, 90.54914093017578, 86.50666809082031, 90.90426635742188, 90.60277557373047, 84.3663101196289, 85.57691955566406, 90.59182739257812, 87.37113189697266, 88.48101043701172, 87.88957977294922, 87.82378387451172, 91.4827880859375, 91.14424896240234, 89.83341979980469, 84.67256927490234, 88.81536102294922, 83.7970199584961, 83.84207916259766, 89.16924285888672, 83.86986541748047, 89.33717346191406, 87.93103790283203, 88.01873016357422, 76.82848358154297, 88.59737396240234, 89.66716003417969, 89.79107666015625, 86.4232406616211, 88.30778503417969, 84.53766632080078, 90.16466522216797, 67.90141296386719, 78.4135513305664, 83.18522644042969, 88.07579803466797, 90.65185546875, 90.83526611328125, 87.76527404785156, 91.35802459716797, 84.35321807861328, 90.56196594238281, 86.91099548339844, 78.23529052734375, 88.03775024414062, 84.12335968017578, 89.9190444946289, 90.76923370361328, 86.35952758789062, 89.60267639160156, 63.429874420166016, 83.61528778076172, 89.95873260498047, 86.49601745605469, 86.17951965332031, 90.64986419677734, 90.99190521240234, 82.69895935058594, 86.7584228515625, 90.54132843017578, 78.2841796875, 86.25980377197266, 78.23129272460938, 88.87483978271484, 82.35294342041016, 88.6860122680664, 88.62635040283203, 86.72044372558594, 85.07413482666016, 80.54298400878906, 62.70653533935547, 84.65360260009766, 87.97308349609375, 89.54591369628906, 82.50233459472656, 89.9842300415039, 74.45887756347656, 90.36322021484375, 87.80557250976562, 89.68058776855469, 84.15020751953125, 81.28750610351562, 90.23090362548828, 91.81451416015625, 91.64250183105469, 75.33644104003906, 88.87017822265625, 84.4010238647461, 89.82807922363281, 88.87963104248047, 91.35932922363281, 90.05847930908203, 90.72611236572266, 88.23143005371094, 87.70220184326172, 87.03137969970703, 90.07481384277344, 89.11392211914062, 89.776123046875, 88.53376007080078, 88.86245727539062, 91.94029998779297, 91.47209930419922, 89.36062622070312, 81.50106048583984, 90.36483001708984, 81.54875946044922, 89.90089416503906, 90.33627319335938, 89.4554443359375, 83.59303283691406, 89.1496810913086, 83.02139282226562, 86.23762512207031, 87.27615356445312, 87.0091552734375, 90.58950805664062, 82.8366470336914, 85.3392562866211, 84.53936004638672, 86.4338150024414, 84.54130554199219, 84.50641632080078, 87.34417724609375, 92.27780151367188, 83.51648712158203, 88.48921203613281, 84.3410873413086, 70.02146911621094, 86.69528198242188, 85.06708526611328, 85.4063720703125, 84.06175231933594, 87.38367462158203, 85.29735565185547, 88.06224060058594, 88.69477844238281, 90.50248718261719, 82.46208953857422, 79.37667083740234, 87.04730224609375, 87.55204010009766, 86.42112731933594, 89.96825408935547, 84.13682556152344, 83.5435791015625, 91.86691284179688, 88.85779571533203, 90.21340942382812, 91.0618896484375, 91.99533081054688, 89.04373168945312, 90.12714385986328, 74.06108093261719, 86.09603881835938, 88.69047546386719, 86.00804901123047, 86.2591552734375, 85.16787719726562, 83.48403930664062, 81.96347045898438, 84.48567962646484, 85.92054748535156, 90.77156066894531, 88.14087677001953, 89.82201385498047, 86.41261291503906, 90.40675354003906, 86.9087905883789, 83.60275268554688, 75.05339813232422, 91.27579498291016, 84.28390502929688, 86.1060791015625, 90.15113067626953, 88.17056274414062, 87.56281280517578, 85.35281372070312, 87.6142807006836, 92.04025268554688, 75.06160736083984, 84.34066009521484, 76.85208129882812, 88.20646667480469, 91.17108917236328, 75.36661529541016, 88.1589126586914, 91.11175537109375, 77.93631744384766, 89.52938079833984, 87.60923767089844, 78.39012145996094, 76.10977935791016, 90.79239654541016, 91.11713409423828, 88.0434799194336, 80.24156951904297, 88.84488677978516, 93.80355834960938, 91.73827362060547, 87.09677124023438, 89.39344024658203, 90.21250915527344, 83.40971374511719, 90.13545227050781, 85.24930572509766, 87.879150390625, 91.31006622314453, 87.07865142822266, 86.25405883789062, 88.1474838256836, 89.21578216552734, 89.31947326660156, 89.4682846069336, 83.96884155273438, 91.29367065429688, 88.12998962402344, 89.34972381591797, 79.6597900390625, 74.01620483398438, 88.71662139892578, 82.24657440185547, 89.5418701171875, 87.58236694335938, 88.98001098632812, 88.32636260986328, 90.28056335449219, 90.13408660888672, 89.39000701904297, 88.41161346435547, 91.85667419433594, 90.31631469726562, 90.24302673339844, 87.4264907836914, 85.79792785644531, 90.76634216308594, 84.78329467773438, 88.49494171142578, 89.74248504638672, 86.97486877441406, 86.09371948242188, 84.2530288696289, 85.61650848388672, 89.25129699707031, 90.0715560913086, 86.3069076538086, 89.88497924804688, 90.47618865966797, 89.13525390625, 74.8116455078125, 89.34782409667969, 75.069091796875, 87.65969848632812, 90.9036865234375, 90.0474853515625, 89.2837142944336, 92.86821746826172, 82.7171630859375, 89.61031341552734, 78.14181518554688, 92.58814239501953, 85.54945373535156, 86.76304626464844, 86.30157470703125, 88.71809387207031, 89.71052551269531, 90.22445678710938, 90.67488861083984, 87.39248657226562, 88.7022933959961, 89.52105712890625, 87.04850006103516, 88.4908676147461, 89.7959213256836, 89.78102111816406, 88.16756439208984, 68.48646545410156, 85.49468231201172, 89.46188354492188, 88.95010375976562, 88.91004180908203, 88.0489273071289, 77.8118896484375, 86.50530242919922, 89.67350006103516, 87.71929931640625, 90.3775863647461, 87.6425552368164, 89.85321044921875, 86.2606201171875, 87.67928314208984, 92.40670776367188, 88.80623626708984, 89.5813980102539, 87.58064270019531, 75.16059875488281, 89.37098693847656, 89.46266174316406, 88.74002075195312, 82.5018081665039, 86.15850067138672, 80.85192108154297, 89.43805694580078, 88.88888549804688, 83.93208312988281, 80.0978775024414, 90.2743148803711, 90.35087585449219, 72.70307922363281, 85.7995834350586, 72.92308044433594, 90.87105560302734, 78.75912475585938, 87.34207153320312, 83.60442352294922, 91.7893295288086, 84.91661834716797, 90.55187225341797, 90.45346069335938, 89.71014404296875, 86.11111450195312, 87.53424835205078, 92.23363494873047, 85.52367401123047, 90.54854583740234, 83.5216064453125, 80.95773315429688, 81.60720825195312, 89.16541290283203, 88.41310119628906, 83.31802368164062, 90.0965576171875, 86.1280517578125, 71.41613006591797, 79.8131332397461, 85.32130432128906, 90.56735229492188, 85.53559875488281, 89.49324798583984, 81.03474426269531, 83.77937316894531, 86.95748138427734, 90.36686706542969, 90.55624389648438, 89.22660827636719, 87.4713363647461, 89.51954650878906, 88.39506530761719, 90.06365203857422, 90.44586181640625, 91.87477111816406, 89.33179473876953, 90.64593505859375, 83.33333587646484, 89.80988311767578, 88.35942077636719, 86.87110137939453, 85.92953491210938, 87.42874145507812, 85.19493103027344, 90.07137298583984, 81.06024169921875, 86.80777740478516, 89.54517364501953, 87.40242004394531, 86.2549819946289, 90.35469818115234, 90.93340301513672, 90.1541519165039, 81.38318634033203, 83.15581512451172, 87.62495422363281, 88.20176696777344, 88.65821075439453, 90.72897338867188, 90.27703094482422, 88.91288757324219, 84.2005386352539, 87.43740844726562, 90.33221435546875, 84.8180923461914, 87.2403564453125, 88.04796600341797, 82.15613555908203, 80.13937377929688, 73.00885009765625, 88.63949584960938, 89.45301818847656, 84.69017791748047, 85.62860107421875, 85.9199447631836, 87.70216369628906, 85.98456573486328, 89.83140563964844, 90.49882507324219, 86.03556823730469, 84.6715316772461, 88.16939544677734, 90.04467010498047, 89.28407287597656, 80.05899810791016, 90.67505645751953, 87.4585189819336, 91.36508178710938, 81.73571014404297, 89.759033203125, 86.06180572509766, 84.00520324707031, 81.38468170166016, 87.56930541992188, 90.48384857177734, 87.19512176513672, 78.22754669189453, 85.32189178466797, 81.62272644042969, 89.52734375, 83.5616455078125, 89.87010955810547, 90.18811798095703, 90.50554656982422, 87.4050064086914, 88.03382873535156, 86.73076629638672, 84.48709869384766, 78.65025329589844, 82.72476196289062, 75.14620208740234, 86.80245208740234, 86.08695983886719, 85.57098388671875, 89.09306335449219, 82.74628448486328, 90.89655303955078, 88.06474304199219, 92.24798583984375, 90.14146423339844, 77.74834442138672, 91.21734619140625, 89.54389190673828, 89.72193908691406, 83.6956558227539, 83.04410552978516, 89.84214782714844, 81.26219940185547, 85.5438232421875, 89.33843994140625, 77.47252655029297, 87.25205993652344, 75.56147003173828, 78.8921890258789, 82.07008361816406, 90.02032470703125, 90.91441345214844, 73.7357406616211, 92.1433334350586, 84.02237701416016, 69.04196166992188, 82.29869079589844, 88.29499053955078, 86.88581085205078, 64.67127990722656, 91.2534408569336, 90.94979095458984, 87.72966003417969, 80.303955078125, 88.10651397705078, 89.83287048339844, 89.06255340576172, 79.36396026611328, 83.98876190185547, 83.1834487915039, 84.0033950805664, 78.64090728759766, 88.62579345703125, 88.00413513183594, 81.53326416015625, 83.07691955566406, 84.32862091064453, 73.5803451538086, 90.98969268798828, 86.62308502197266, 89.24361419677734, 89.51265716552734, 88.9932861328125, 87.21751403808594, 86.81233978271484, 87.5116958618164, 89.28539276123047, 92.48554992675781, 83.72352600097656, 89.01482391357422, 89.96339416503906, 87.74259185791016, 91.4443588256836, 89.2215576171875, 91.6377182006836, 87.25090789794922, 91.16278839111328, 81.5929183959961, 71.86286926269531, 79.44794464111328, 92.2256088256836, 89.92483520507812, 89.8569564819336, 70.77777862548828, 88.46622467041016, 88.94774627685547, 84.58882904052734, 88.99821472167969, 59.10904312133789, 88.44149780273438, 89.9667739868164, 87.97084045410156, 89.89361572265625, 83.68175506591797, 89.3824462890625, 85.90238189697266, 90.32257843017578, 50.826446533203125, 86.29377746582031, 83.28343963623047, 87.9554672241211, 92.89036560058594, 86.58255767822266, 89.59394836425781, 89.85824584960938, 91.60079193115234, 84.81481170654297, 85.41266632080078, 71.73249816894531, 91.07635498046875, 68.92644500732422, 90.25146484375, 83.86035919189453, 89.22530364990234, 91.5975570678711, 91.0474624633789, 90.54054260253906, 85.97383880615234, 88.11487579345703, 88.81472778320312, 87.7551040649414, 90.4566879272461, 85.98477172851562, 86.0816650390625, 89.6057357788086, 89.76126098632812, 89.23706817626953, 91.14730834960938, 90.44125366210938, 84.33734893798828, 87.13116455078125, 90.9941177368164, 86.80516815185547, 85.94196319580078, 84.975341796875, 85.32720184326172, 90.76591491699219, 86.0493392944336, 89.53900909423828, 85.13432312011719, 83.82176208496094, 89.75090789794922, 86.90835571289062, 89.4446792602539, 87.23428344726562, 89.53607940673828, 84.39366149902344, 90.59268188476562, 86.30615234375, 86.28257751464844, 85.67994689941406, 87.87628936767578, 88.04421997070312, 89.62950134277344, 89.71189880371094, 87.6109390258789, 88.78018188476562, 90.4371566772461, 87.59884643554688, 86.10530090332031, 89.40582275390625, 88.7247314453125, 87.2912826538086, 86.72596740722656, 82.69525146484375, 86.45240783691406, 90.68375396728516, 88.34254455566406, 88.10206604003906, 89.53221130371094, 80.90362548828125, 85.53054809570312, 92.16131591796875, 86.527099609375, 88.4696044921875, 84.78504180908203, 89.5958251953125, 90.46269989013672, 82.34941864013672, 89.95930480957031, 89.2466049194336, 89.67904663085938, 89.72154235839844, 87.75688934326172, 89.58197021484375, 87.34673309326172, 79.4449234008789, 91.28787994384766, 86.1446762084961, 89.70185852050781, 87.6067123413086, 90.61522674560547, 87.47459411621094, 87.25348663330078, 89.93769836425781, 91.3535385131836, 90.02188110351562, 87.43712615966797, 84.44527435302734, 87.61829376220703, 80.01215362548828, 80.50587463378906, 88.7003402709961, 82.52098083496094, 75.51001739501953, 72.76628112792969, 91.98397064208984, 88.6685562133789, 85.15806579589844, 90.44966125488281, 89.68427276611328, 90.63168334960938, 86.06036376953125, 82.89241790771484, 90.33232879638672, 67.56135559082031, 81.72936248779297, 88.70294952392578, 83.82208251953125, 90.62210083007812, 87.63653564453125, 91.03448486328125, 89.75204467773438, 89.82933044433594, 83.9830322265625, 90.34354400634766, 87.96561431884766, 73.81786346435547, 88.72295379638672, 89.07474517822266, 91.5102767944336, 89.17762756347656, 80.56693267822266, 87.70171356201172, 90.94922637939453, 77.95442199707031, 86.91719818115234, 89.01862335205078, 82.25163269042969, 89.42507934570312, 84.66046905517578, 89.2586441040039, 81.32911682128906, 91.08245849609375, 85.51327514648438, 81.79881286621094, 89.51971435546875, 89.70255279541016, 89.53292083740234, 88.50109100341797, 89.56834411621094, 88.26732635498047, 92.01349639892578, 86.55400085449219, 90.91327667236328, 91.2435073852539, 84.78179931640625, 68.79454040527344, 85.96687316894531, 85.8704605102539, 90.12796783447266, 88.03193664550781, 82.2035140991211, 88.7207260131836, 89.4356918334961, 92.42424011230469, 85.30928802490234, 91.09417724609375, 90.0704116821289, 87.25276184082031, 88.25090026855469, 88.56139373779297, 87.8455581665039, 90.27870178222656, 78.1257553100586, 85.38555908203125, 87.14089965820312, 91.65481567382812, 75.18518829345703, 90.74996948242188, 90.78936767578125, 83.9346694946289, 83.40884399414062, 87.28602600097656, 90.9648666381836, 88.58202362060547, 86.0, 78.96343231201172, 87.76884460449219, 90.03719329833984, 70.77249908447266, 82.31230163574219, 87.37185668945312, 86.80464172363281, 83.90021514892578, 88.813232421875, 88.85302734375, 89.72793579101562, 87.38799285888672, 73.40015411376953, 88.44451141357422, 92.71602630615234, 69.02604675292969, 89.53288269042969, 62.7896614074707, 66.68836975097656, 91.98274230957031, 88.20230102539062, 89.14598083496094, 87.97455596923828, 89.95331573486328, 76.41040802001953, 82.9429931640625, 90.42487335205078, 90.07228088378906, 86.5398941040039, 90.32122802734375, 87.35684204101562, 75.1301498413086, 91.03042602539062, 78.5531234741211, 90.14794158935547, 90.55005645751953, 85.46609497070312, 82.17586517333984, 89.18775939941406, 88.8508071899414, 92.09486389160156, 85.66885375976562, 90.7240219116211, 86.90839385986328, 89.64049530029297, 89.42857360839844, 90.87389373779297, 89.00680541992188, 84.77259826660156, 89.42393493652344, 80.03772735595703, 90.52420806884766, 88.21011352539062, 86.50150299072266, 89.56087493896484, 85.36627197265625, 83.60220336914062, 84.0, 90.30107879638672, 84.79166412353516, 88.08025360107422, 72.80111694335938, 80.11005401611328, 91.67927551269531, 87.09441375732422, 87.86549377441406, 87.84244537353516, 91.55899047851562, 90.68204498291016, 81.62450408935547, 88.17330169677734, 88.52082824707031, 85.01741790771484, 84.07079315185547, 85.89680480957031, 78.52672576904297, 81.73912811279297, 87.4564437866211, 83.0040283203125, 91.22925567626953, 85.9368896484375, 91.16666412353516, 85.35489654541016, 83.52230072021484, 90.29531860351562, 90.88924407958984, 86.04691314697266, 90.18731689453125, 89.67742156982422, 91.2886962890625, 86.60523223876953, 79.28185272216797, 91.72323608398438, 83.24449157714844, 90.1531982421875, 83.6815185546875, 86.51863861083984, 87.69123840332031, 88.558349609375, 86.92938232421875, 90.00985717773438, 79.89915466308594, 85.21929931640625, 85.0, 89.55158996582031, 90.1408462524414, 91.02947235107422, 85.39659118652344, 86.1598129272461, 82.5715560913086, 88.52490234375, 90.5576171875, 77.82296752929688, 87.10392761230469, 89.22230529785156, 90.1240005493164, 88.58241271972656, 91.57034301757812, 85.66107940673828, 91.13433074951172, 90.51083374023438, 87.30740356445312, 80.01311492919922, 49.0893440246582, 91.0578842163086, 81.82614135742188, 86.01522064208984, 88.30191802978516, 82.6481704711914, 82.12269592285156, 88.07923126220703, 81.7289810180664, 89.34455871582031, 83.25242614746094, 90.32225799560547, 88.91656494140625, 92.95266723632812, 90.95408630371094, 77.30372619628906, 90.59103393554688, 81.30673217773438, 88.43782043457031, 87.09677124023438, 87.59036254882812, 91.06896209716797, 78.07870483398438, 87.83467864990234, 88.08426666259766, 56.607276916503906, 91.0938491821289, 90.89298248291016, 85.89065551757812, 87.23181915283203, 89.1426010131836, 81.37931060791016, 84.05265808105469, 91.01217651367188, 89.177978515625, 93.80482482910156, 81.00623321533203, 79.10884094238281, 89.54396057128906, 73.61705017089844, 89.40357208251953, 84.01432037353516, 89.88420104980469, 84.91812896728516, 89.91645050048828, 88.90692901611328, 90.03687286376953, 90.4030532836914, 88.73626708984375, 87.18810272216797, 88.35978698730469, 89.59119415283203, 88.63636016845703, 88.34674072265625, 88.25259399414062, 87.22554779052734, 89.93873596191406, 89.3084945678711, 64.74433898925781, 89.96199798583984, 91.25065612792969, 78.95301818847656, 78.63321685791016, 90.00979614257812, 90.52523040771484, 89.6783447265625, 84.36500549316406, 81.52173614501953, 87.02784729003906, 78.81415557861328, 86.26332092285156, 88.79154968261719, 87.69510650634766, 79.47711944580078, 82.00975036621094, 89.45659637451172, 87.50205993652344, 90.34443664550781, 82.10250091552734, 90.98036193847656, 80.66546630859375, 86.36888885498047, 85.60836791992188, 89.52461242675781, 89.85598754882812, 92.27197265625, 89.927978515625, 89.59518432617188, 91.1076431274414, 88.87023162841797, 88.1144027709961, 90.75247192382812, 81.83839416503906, 88.34964752197266, 82.25019073486328, 90.51181030273438, 84.46009063720703, 87.07865142822266, 70.74665069580078, 85.07022857666016, 90.52190399169922, 85.64253997802734, 85.95928192138672, 86.45425415039062, 73.88204956054688]}],
+                        {"barmode": "overlay", "template": {"data": {"bar": [{"error_x": {"color": "#2a3f5f"}, "error_y": {"color": "#2a3f5f"}, "marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "bar"}], "barpolar": [{"marker": {"line": {"color": "#E5ECF6", "width": 0.5}}, "type": "barpolar"}], "carpet": [{"aaxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "baxis": {"endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f"}, "type": "carpet"}], "choropleth": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "choropleth"}], "contour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "contour"}], "contourcarpet": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "contourcarpet"}], "heatmap": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmap"}], "heatmapgl": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "heatmapgl"}], "histogram": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "histogram"}], "histogram2d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2d"}], "histogram2dcontour": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "histogram2dcontour"}], "mesh3d": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "type": "mesh3d"}], "parcoords": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "parcoords"}], "pie": [{"automargin": true, "type": "pie"}], "scatter": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter"}], "scatter3d": [{"line": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatter3d"}], "scattercarpet": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattercarpet"}], "scattergeo": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergeo"}], "scattergl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattergl"}], "scattermapbox": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scattermapbox"}], "scatterpolar": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolar"}], "scatterpolargl": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterpolargl"}], "scatterternary": [{"marker": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "type": "scatterternary"}], "surface": [{"colorbar": {"outlinewidth": 0, "ticks": ""}, "colorscale": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "type": "surface"}], "table": [{"cells": {"fill": {"color": "#EBF0F8"}, "line": {"color": "white"}}, "header": {"fill": {"color": "#C8D4E3"}, "line": {"color": "white"}}, "type": "table"}]}, "layout": {"annotationdefaults": {"arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1}, "coloraxis": {"colorbar": {"outlinewidth": 0, "ticks": ""}}, "colorscale": {"diverging": [[0, "#8e0152"], [0.1, "#c51b7d"], [0.2, "#de77ae"], [0.3, "#f1b6da"], [0.4, "#fde0ef"], [0.5, "#f7f7f7"], [0.6, "#e6f5d0"], [0.7, "#b8e186"], [0.8, "#7fbc41"], [0.9, "#4d9221"], [1, "#276419"]], "sequential": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]], "sequentialminus": [[0.0, "#0d0887"], [0.1111111111111111, "#46039f"], [0.2222222222222222, "#7201a8"], [0.3333333333333333, "#9c179e"], [0.4444444444444444, "#bd3786"], [0.5555555555555556, "#d8576b"], [0.6666666666666666, "#ed7953"], [0.7777777777777778, "#fb9f3a"], [0.8888888888888888, "#fdca26"], [1.0, "#f0f921"]]}, "colorway": ["#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52"], "font": {"color": "#2a3f5f"}, "geo": {"bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white"}, "hoverlabel": {"align": "left"}, "hovermode": "closest", "mapbox": {"style": "light"}, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": {"angularaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "radialaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "scene": {"xaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "yaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}, "zaxis": {"backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white"}}, "shapedefaults": {"line": {"color": "#2a3f5f"}}, "ternary": {"aaxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "baxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}, "bgcolor": "#E5ECF6", "caxis": {"gridcolor": "white", "linecolor": "white", "ticks": ""}}, "title": {"x": 0.05}, "xaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}, "yaxis": {"automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": {"standoff": 15}, "zerolinecolor": "white", "zerolinewidth": 2}}}, "title": {"text": "Dynamic histogram of percent identity"}, "xaxis": {"title": {"text": "percent identity"}}, "yaxis": {"title": {"text": "Number of reads"}}},
+                        {"responsive": true}
+                    )
+                };
+                
+            </script>
+        </div>
 
 <br>
 <br>